diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2023-06-12 21:17:20 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2023-06-12 21:17:20 -0700 |
commit | 034799fc0288388d08dcfbcf6230cb698942ba69 (patch) | |
tree | f0f3b487ea4e41dc67e01ccce735ee17e9a322c6 /y.tab.c.shipped | |
parent | f2efe6c4cd019bea22717ac73734adb83e9176d5 (diff) | |
download | txr-034799fc0288388d08dcfbcf6230cb698942ba69.tar.gz txr-034799fc0288388d08dcfbcf6230cb698942ba69.tar.bz2 txr-034799fc0288388d08dcfbcf6230cb698942ba69.zip |
New @(push) directive.
@(push) is like @(output), but feeds back into input.
Use carefully.
* parser.y (PUSH): New token.
(output_push): New nonterminal symbol.
(output_clause): Handle OUTPUT or PUSH via output_push.
Some logic moved to output_helper.
(output_helper): New function. Transforms both @(output)
and @(push) directives. Checks both for valid keywords;
push has only :filter.
* parser.l (grammar): Recognize @(push similarly to other
directives.
* lib.[ch] (push_s): New symbol variable.
* match.c (v_output_keys): Internal linkage changes to external.
(v_push): New function.
(v_parallel): We must fix the max_line algorithm not to
use an initial value of zero, because lines can go negative
thanks to @(push). We end up rejecting the pushed data.
(v_collect): We can no longer assert that the data line
number doesn't retreat.
(dir_tables_init): Register push directive in table of
vertical directives.
* match.h (append_k, continue_k, finish_k): Existing symbol
variables declared.
(v_output_keys): Declared.
* y.tab.c.shipped,
* y.tab.h.shipped,
* lex.yy.c.shipped: Updated.
* txr.1: Documented.
* stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'y.tab.c.shipped')
-rw-r--r-- | y.tab.c.shipped | 5014 |
1 files changed, 2539 insertions, 2475 deletions
diff --git a/y.tab.c.shipped b/y.tab.c.shipped index 6a63e095..50fb9410 100644 --- a/y.tab.c.shipped +++ b/y.tab.c.shipped @@ -81,6 +81,7 @@ #include "unwind.h" #include "regex.h" #include "match.h" +#include "filter.h" #include "hash.h" #include "struct.h" #include "eval.h" @@ -107,6 +108,7 @@ static val uref_helper(parser_t *, val expr); static val uoref_helper(parser_t *, val expr); static val qref_helper(parser_t *, val lexpr, val rexpr); static val fname_helper(parser_t *, val name); +static val output_helper(parser_t *, val sym, val exprs, val clauses); #if YYBISON union YYSTYPE; @@ -139,7 +141,7 @@ INLINE val expand_form_ver(val form, int ver) /* Line 268 of yacc.c */ -#line 173 "y.tab.c" +#line 175 "y.tab.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -185,58 +187,59 @@ INLINE val expand_form_ver(val form, int ver) COLL = 274, OUTPUT = 275, REPEAT = 276, - REP = 277, - SINGLE = 278, - FIRST = 279, - LAST = 280, - EMPTY = 281, - MOD = 282, - MODLAST = 283, - DEFINE = 284, - TRY = 285, - CATCH = 286, - FINALLY = 287, - IF = 288, - ERRTOK = 289, - HASH_BACKSLASH = 290, - HASH_SLASH = 291, - DOTDOT = 292, - HASH_H = 293, - HASH_S = 294, - HASH_R = 295, - HASH_J = 296, - HASH_SEMI = 297, - HASH_B_QUOTE = 298, - HASH_N = 299, - HASH_T = 300, - WORDS = 301, - WSPLICE = 302, - QWORDS = 303, - QWSPLICE = 304, - SECRET_ESCAPE_R = 305, - SECRET_ESCAPE_E = 306, - SECRET_ESCAPE_I = 307, - SECRET_ESCAPE_J = 308, - OLD_DOTDOT = 309, - NUMBER = 310, - METANUM = 311, - JSKW = 312, - HASH_N_EQUALS = 313, - HASH_N_HASH = 314, - REGCHAR = 315, - REGTOKEN = 316, - LITCHAR = 317, - SPLICE = 318, - JSPLICE = 319, - OLD_AT = 320, - CONSDOT = 321, - LAMBDOT = 322, - UREFDOT = 323, - OREFDOT = 324, - UOREFDOT = 325, - LOW = 326, - ELSE = 327, - ELIF = 328 + PUSH = 277, + REP = 278, + SINGLE = 279, + FIRST = 280, + LAST = 281, + EMPTY = 282, + MOD = 283, + MODLAST = 284, + DEFINE = 285, + TRY = 286, + CATCH = 287, + FINALLY = 288, + IF = 289, + ERRTOK = 290, + HASH_BACKSLASH = 291, + HASH_SLASH = 292, + DOTDOT = 293, + HASH_H = 294, + HASH_S = 295, + HASH_R = 296, + HASH_J = 297, + HASH_SEMI = 298, + HASH_B_QUOTE = 299, + HASH_N = 300, + HASH_T = 301, + WORDS = 302, + WSPLICE = 303, + QWORDS = 304, + QWSPLICE = 305, + SECRET_ESCAPE_R = 306, + SECRET_ESCAPE_E = 307, + SECRET_ESCAPE_I = 308, + SECRET_ESCAPE_J = 309, + OLD_DOTDOT = 310, + NUMBER = 311, + METANUM = 312, + JSKW = 313, + HASH_N_EQUALS = 314, + HASH_N_HASH = 315, + REGCHAR = 316, + REGTOKEN = 317, + LITCHAR = 318, + SPLICE = 319, + JSPLICE = 320, + OLD_AT = 321, + CONSDOT = 322, + LAMBDOT = 323, + UREFDOT = 324, + OREFDOT = 325, + UOREFDOT = 326, + LOW = 327, + ELSE = 328, + ELIF = 329 }; #endif /* Tokens. */ @@ -259,58 +262,59 @@ INLINE val expand_form_ver(val form, int ver) #define COLL 274 #define OUTPUT 275 #define REPEAT 276 -#define REP 277 -#define SINGLE 278 -#define FIRST 279 -#define LAST 280 -#define EMPTY 281 -#define MOD 282 -#define MODLAST 283 -#define DEFINE 284 -#define TRY 285 -#define CATCH 286 -#define FINALLY 287 -#define IF 288 -#define ERRTOK 289 -#define HASH_BACKSLASH 290 -#define HASH_SLASH 291 -#define DOTDOT 292 -#define HASH_H 293 -#define HASH_S 294 -#define HASH_R 295 -#define HASH_J 296 -#define HASH_SEMI 297 -#define HASH_B_QUOTE 298 -#define HASH_N 299 -#define HASH_T 300 -#define WORDS 301 -#define WSPLICE 302 -#define QWORDS 303 -#define QWSPLICE 304 -#define SECRET_ESCAPE_R 305 -#define SECRET_ESCAPE_E 306 -#define SECRET_ESCAPE_I 307 -#define SECRET_ESCAPE_J 308 -#define OLD_DOTDOT 309 -#define NUMBER 310 -#define METANUM 311 -#define JSKW 312 -#define HASH_N_EQUALS 313 -#define HASH_N_HASH 314 -#define REGCHAR 315 -#define REGTOKEN 316 -#define LITCHAR 317 -#define SPLICE 318 -#define JSPLICE 319 -#define OLD_AT 320 -#define CONSDOT 321 -#define LAMBDOT 322 -#define UREFDOT 323 -#define OREFDOT 324 -#define UOREFDOT 325 -#define LOW 326 -#define ELSE 327 -#define ELIF 328 +#define PUSH 277 +#define REP 278 +#define SINGLE 279 +#define FIRST 280 +#define LAST 281 +#define EMPTY 282 +#define MOD 283 +#define MODLAST 284 +#define DEFINE 285 +#define TRY 286 +#define CATCH 287 +#define FINALLY 288 +#define IF 289 +#define ERRTOK 290 +#define HASH_BACKSLASH 291 +#define HASH_SLASH 292 +#define DOTDOT 293 +#define HASH_H 294 +#define HASH_S 295 +#define HASH_R 296 +#define HASH_J 297 +#define HASH_SEMI 298 +#define HASH_B_QUOTE 299 +#define HASH_N 300 +#define HASH_T 301 +#define WORDS 302 +#define WSPLICE 303 +#define QWORDS 304 +#define QWSPLICE 305 +#define SECRET_ESCAPE_R 306 +#define SECRET_ESCAPE_E 307 +#define SECRET_ESCAPE_I 308 +#define SECRET_ESCAPE_J 309 +#define OLD_DOTDOT 310 +#define NUMBER 311 +#define METANUM 312 +#define JSKW 313 +#define HASH_N_EQUALS 314 +#define HASH_N_HASH 315 +#define REGCHAR 316 +#define REGTOKEN 317 +#define LITCHAR 318 +#define SPLICE 319 +#define JSPLICE 320 +#define OLD_AT 321 +#define CONSDOT 322 +#define LAMBDOT 323 +#define UREFDOT 324 +#define OREFDOT 325 +#define UOREFDOT 326 +#define LOW 327 +#define ELSE 328 +#define ELIF 329 @@ -320,7 +324,7 @@ typedef union YYSTYPE { /* Line 293 of yacc.c */ -#line 107 "parser.y" +#line 109 "parser.y" wchar_t *lexeme; union obj *val; @@ -330,7 +334,7 @@ typedef union YYSTYPE /* Line 293 of yacc.c */ -#line 364 "y.tab.c" +#line 368 "y.tab.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -342,7 +346,7 @@ typedef union YYSTYPE /* Line 343 of yacc.c */ -#line 376 "y.tab.c" +#line 380 "y.tab.c" #ifdef short # undef short @@ -559,22 +563,22 @@ union yyalloc #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 214 +#define YYFINAL 213 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4939 +#define YYLAST 4920 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 100 +#define YYNTOKENS 101 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 131 +#define YYNNTS 132 /* YYNRULES -- Number of rules. */ -#define YYNRULES 470 +#define YYNRULES 473 /* YYNRULES -- Number of states. */ -#define YYNSTATES 835 +#define YYNSTATES 840 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 328 +#define YYMAXUTOK 329 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -583,18 +587,18 @@ union yyalloc static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 94, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 95, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 99, 2, 96, 95, 2, 92, 87, 83, - 71, 80, 89, 91, 82, 81, 93, 86, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 97, 2, - 2, 2, 2, 90, 73, 2, 2, 2, 2, 2, + 2, 2, 100, 2, 97, 96, 2, 93, 88, 84, + 72, 81, 90, 92, 83, 82, 94, 87, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 98, 2, + 2, 2, 2, 91, 74, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 72, 2, 79, 84, 2, 98, 2, 2, 2, + 2, 73, 2, 80, 85, 2, 99, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 75, 85, 76, 88, 2, 2, 2, + 2, 2, 2, 76, 86, 77, 89, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -614,7 +618,7 @@ static const yytype_uint8 yytranslate[] = 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 74, 77, 78 + 65, 66, 67, 68, 69, 70, 71, 75, 78, 79 }; #if YYDEBUG @@ -637,249 +641,250 @@ static const yytype_uint16 yyprhs[] = 418, 421, 423, 426, 429, 437, 444, 447, 453, 458, 465, 469, 475, 482, 486, 487, 492, 498, 502, 510, 516, 523, 531, 540, 543, 549, 554, 561, 567, 569, - 572, 574, 576, 578, 587, 591, 596, 601, 608, 613, - 620, 627, 628, 638, 641, 647, 654, 655, 659, 660, - 662, 663, 666, 668, 669, 671, 674, 676, 679, 681, - 683, 685, 687, 689, 696, 699, 703, 707, 713, 717, - 723, 729, 730, 732, 736, 741, 744, 749, 755, 761, - 764, 767, 769, 771, 773, 775, 777, 779, 784, 787, - 793, 797, 800, 803, 806, 809, 812, 815, 818, 821, - 824, 827, 830, 833, 836, 837, 842, 844, 846, 849, - 853, 856, 861, 864, 869, 870, 874, 875, 879, 880, - 884, 886, 889, 892, 895, 897, 898, 900, 904, 907, - 910, 914, 920, 923, 927, 930, 932, 934, 938, 943, - 946, 951, 956, 959, 962, 965, 968, 971, 976, 980, - 983, 988, 993, 996, 998, 1000, 1002, 1004, 1006, 1007, - 1009, 1013, 1015, 1016, 1020, 1021, 1026, 1027, 1032, 1033, - 1039, 1042, 1045, 1049, 1052, 1056, 1058, 1060, 1062, 1064, + 571, 573, 576, 578, 580, 582, 591, 595, 600, 605, + 612, 617, 624, 631, 632, 642, 645, 651, 658, 659, + 663, 664, 666, 667, 670, 672, 673, 675, 678, 680, + 683, 685, 687, 689, 691, 693, 700, 703, 707, 711, + 717, 721, 727, 733, 734, 736, 740, 745, 748, 753, + 759, 765, 768, 771, 773, 775, 777, 779, 781, 783, + 788, 791, 797, 801, 804, 807, 810, 813, 816, 819, + 822, 825, 828, 831, 834, 837, 840, 841, 846, 848, + 850, 853, 857, 860, 865, 868, 873, 874, 878, 879, + 883, 884, 888, 890, 893, 896, 899, 901, 902, 904, + 908, 911, 914, 918, 924, 927, 931, 934, 936, 938, + 942, 947, 950, 955, 960, 963, 966, 969, 972, 975, + 980, 984, 987, 992, 997, 1000, 1002, 1004, 1006, 1008, + 1010, 1011, 1013, 1017, 1019, 1020, 1024, 1025, 1030, 1031, + 1036, 1037, 1043, 1046, 1049, 1053, 1056, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, - 1086, 1089, 1092, 1094, 1097, 1098, 1102, 1103, 1107, 1108, - 1112, 1113, 1117, 1119, 1122, 1124, 1126, 1128, 1130, 1132, + 1086, 1088, 1090, 1093, 1096, 1098, 1101, 1102, 1106, 1107, + 1111, 1112, 1116, 1117, 1121, 1123, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, 1144, 1146, 1148, 1150, 1152, - 1154, 1157, 1160, 1162, 1165, 1166, 1170, 1171, 1175, 1176, - 1180, 1184, 1189, 1193, 1198, 1202, 1206, 1209, 1212, 1213, - 1217, 1219, 1221, 1222, 1225, 1228, 1230, 1234, 1237, 1241, - 1244, 1246, 1250, 1254, 1257, 1258, 1260, 1263, 1267, 1270, - 1273, 1276, 1280, 1284, 1287, 1290, 1292, 1294, 1296, 1298, - 1300, 1302, 1306, 1309, 1311, 1314, 1316, 1318, 1320, 1324, - 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1344, - 1346, 1348, 1350, 1352, 1355, 1358, 1362, 1365, 1368, 1371, - 1374, 1377, 1380, 1384, 1387, 1389, 1392, 1394, 1396, 1398, - 1401, 1403, 1406, 1408, 1411, 1413, 1416, 1418, 1421, 1423, - 1426, 1429, 1431, 1433, 1436, 1439, 1443, 1446, 1450, 1453, - 1456, 1458, 1461, 1464, 1466, 1468, 1470, 1472, 1474, 1476, - 1478, 1480, 1482, 1486, 1490, 1494, 1498, 1502, 1506, 1510, - 1516 + 1154, 1156, 1158, 1161, 1164, 1166, 1169, 1170, 1174, 1175, + 1179, 1180, 1184, 1188, 1193, 1197, 1202, 1206, 1210, 1213, + 1216, 1217, 1221, 1223, 1225, 1226, 1229, 1232, 1234, 1238, + 1241, 1245, 1248, 1250, 1254, 1258, 1261, 1262, 1264, 1267, + 1271, 1274, 1277, 1280, 1284, 1288, 1291, 1294, 1296, 1298, + 1300, 1302, 1304, 1306, 1310, 1313, 1315, 1318, 1320, 1322, + 1324, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1344, + 1346, 1348, 1350, 1352, 1354, 1356, 1359, 1362, 1366, 1369, + 1372, 1375, 1378, 1381, 1384, 1388, 1391, 1393, 1396, 1398, + 1400, 1402, 1405, 1407, 1410, 1412, 1415, 1417, 1420, 1422, + 1425, 1427, 1430, 1433, 1435, 1437, 1440, 1443, 1447, 1450, + 1454, 1457, 1460, 1462, 1465, 1468, 1470, 1472, 1474, 1476, + 1478, 1480, 1482, 1484, 1486, 1490, 1494, 1498, 1502, 1506, + 1510, 1514, 1520, 1524 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 101, 0, -1, 115, -1, 50, 209, -1, -1, 51, - 105, 102, 113, -1, -1, 52, 109, 103, 113, -1, - 51, -1, 52, -1, -1, 53, 174, 104, 113, -1, - 53, -1, 1, 94, -1, -1, 42, 106, 200, -1, - -1, 42, 93, 107, 200, -1, -1, 42, 69, 108, - 200, -1, 200, -1, 93, 200, -1, 69, 200, -1, - -1, 42, 110, 194, -1, -1, 42, 93, 111, 194, - -1, -1, 42, 69, 112, 194, -1, 194, -1, 93, - 194, -1, 69, 194, -1, 200, -1, 42, -1, -1, - 116, -1, 114, 116, -1, 114, -1, -1, 117, -1, - 118, -1, 119, -1, 120, -1, 121, -1, 122, -1, - 123, -1, 127, -1, 124, -1, 143, -1, 144, -1, - 132, -1, 146, -1, 135, -1, 6, 217, 130, -1, - 6, 217, 1, -1, 7, 187, 80, 217, 130, -1, - 7, 187, 80, 217, 1, -1, 8, 217, 130, -1, - 8, 217, 1, -1, 9, 217, 130, -1, 9, 217, - 1, -1, 10, 217, 130, -1, 10, 217, 1, -1, - 11, 187, 80, 217, 115, 16, 217, -1, 11, 187, - 80, 217, 1, -1, 12, 187, 80, 217, 130, -1, - 12, 187, 80, 217, 1, -1, 13, 187, 80, 217, - 125, 16, 217, -1, 13, 187, 80, 217, 125, 129, - 187, 80, 217, 115, 16, 217, -1, 13, 187, 80, - 217, 1, -1, 115, 126, -1, 14, 217, 125, -1, - 15, 217, 125, -1, -1, 128, 187, 80, 217, 115, - 16, 217, -1, 128, 187, 80, 217, 115, 129, 187, - 80, 217, 115, 16, 217, -1, 128, 187, 80, 217, - 1, -1, 17, -1, 21, -1, 18, -1, 25, -1, - 115, 131, -1, 16, 217, -1, 14, 217, 130, -1, - 15, 217, 130, -1, 33, 205, 80, 217, 115, 133, - 134, 16, 217, -1, 33, 205, 80, 217, 1, -1, - 78, 205, 80, 217, 115, 133, -1, -1, 77, 217, - 115, -1, -1, 136, 94, -1, 137, -1, -1, 140, - -1, 140, 137, -1, 4, -1, 3, -1, 207, -1, - 26, -1, 138, -1, 138, 139, -1, 139, -1, 161, - -1, 182, -1, 19, 187, 80, 136, 16, -1, 19, - 187, 80, 136, 129, 187, 80, 136, 16, -1, 22, - 187, 80, 137, 16, -1, 22, 187, 80, 137, 129, - 187, 80, 137, 16, -1, 11, 187, 80, 137, 16, - -1, 19, 1, -1, 22, 1, -1, 11, 1, -1, - 6, 141, -1, 7, 187, 80, 141, -1, 8, 141, - -1, 9, 141, -1, 10, 141, -1, 12, 187, 80, - 141, -1, 29, 186, 80, 137, 16, -1, 136, 142, - -1, 16, -1, 14, 141, -1, 15, 141, -1, 29, - 186, 80, 217, 115, 16, 217, -1, 29, 80, 217, - 115, 16, 217, -1, 29, 1, -1, 29, 186, 80, - 217, 1, -1, 29, 80, 217, 1, -1, 30, 217, - 115, 145, 16, 217, -1, 30, 217, 1, -1, 31, - 80, 217, 115, 145, -1, 31, 186, 80, 217, 115, - 145, -1, 32, 217, 115, -1, -1, 31, 80, 217, - 1, -1, 31, 186, 80, 217, 1, -1, 32, 217, - 1, -1, 20, 80, 157, 94, 147, 16, 217, -1, - 20, 80, 217, 16, 217, -1, 20, 80, 217, 147, - 16, 217, -1, 20, 186, 80, 217, 147, 16, 217, - -1, 20, 186, 80, 157, 94, 147, 16, 217, -1, - 20, 1, -1, 20, 80, 157, 94, 1, -1, 20, - 80, 217, 1, -1, 20, 186, 80, 157, 94, 1, - -1, 20, 186, 80, 217, 1, -1, 148, -1, 148, - 147, -1, 149, -1, 151, -1, 155, -1, 21, 205, - 80, 217, 154, 150, 16, 217, -1, 21, 217, 1, - -1, 23, 217, 154, 150, -1, 24, 217, 154, 150, - -1, 25, 187, 80, 217, 154, 150, -1, 26, 217, - 154, 150, -1, 27, 187, 80, 217, 154, 150, -1, - 28, 187, 80, 217, 154, 150, -1, -1, 33, 200, - 80, 217, 154, 152, 153, 16, 217, -1, 33, 80, - -1, 33, 200, 80, 217, 1, -1, 78, 205, 80, - 217, 154, 152, -1, -1, 77, 217, 154, -1, -1, - 147, -1, -1, 156, 94, -1, 157, -1, -1, 158, - -1, 158, 157, -1, 230, -1, 230, 157, -1, 4, - -1, 3, -1, 164, -1, 185, -1, 159, -1, 22, - 205, 80, 156, 160, 16, -1, 22, 1, -1, 23, - 156, 160, -1, 24, 156, 160, -1, 25, 187, 80, - 156, 160, -1, 26, 156, 160, -1, 27, 187, 80, - 156, 160, -1, 28, 187, 80, 156, 160, -1, -1, - 5, -1, 75, 5, 76, -1, 75, 5, 163, 76, - -1, 162, 5, -1, 162, 75, 5, 76, -1, 162, - 75, 5, 207, 76, -1, 162, 75, 5, 55, 76, - -1, 5, 1, -1, 162, 1, -1, 89, -1, 55, - -1, 207, -1, 185, -1, 5, -1, 5, -1, 75, - 200, 205, 76, -1, 5, 1, -1, 73, 75, 200, - 205, 76, -1, 73, 75, 1, -1, 95, 182, -1, - 95, 1, -1, 38, 182, -1, 38, 1, -1, 39, - 182, -1, 39, 1, -1, 40, 182, -1, 40, 1, - -1, 44, 182, -1, 44, 1, -1, 45, 182, -1, - 45, 1, -1, 41, 174, -1, -1, 41, 84, 173, - 174, -1, 55, -1, 57, -1, 96, 96, -1, 96, - 223, 96, -1, 72, 79, -1, 72, 179, 178, 79, - -1, 75, 76, -1, 75, 180, 178, 76, -1, -1, - 88, 175, 206, -1, -1, 64, 176, 206, -1, -1, - 58, 177, 174, -1, 59, -1, 96, 1, -1, 72, - 1, -1, 75, 1, -1, 82, -1, -1, 174, -1, - 179, 82, 174, -1, 179, 174, -1, 179, 1, -1, - 174, 181, 174, -1, 180, 82, 174, 181, 174, -1, - 174, 174, -1, 180, 174, 1, -1, 174, 1, -1, - 5, -1, 97, -1, 71, 188, 80, -1, 71, 93, - 188, 80, -1, 71, 80, -1, 71, 67, 200, 80, - -1, 71, 66, 200, 80, -1, 71, 1, -1, 73, - 200, -1, 73, 1, -1, 65, 200, -1, 65, 1, - -1, 72, 93, 188, 79, -1, 72, 188, 79, -1, - 72, 79, -1, 72, 67, 200, 79, -1, 72, 66, - 200, 79, -1, 72, 1, -1, 182, -1, 184, -1, - 183, -1, 188, -1, 186, -1, -1, 189, -1, 189, - 66, 200, -1, 200, -1, -1, 42, 190, 200, -1, - -1, 42, 93, 191, 200, -1, -1, 189, 42, 192, - 200, -1, -1, 189, 42, 93, 193, 200, -1, 189, - 200, -1, 47, 225, -1, 189, 47, 225, -1, 49, - 226, -1, 189, 49, 226, -1, 5, -1, 56, -1, - 55, -1, 185, -1, 166, -1, 167, -1, 168, -1, - 169, -1, 170, -1, 171, -1, 172, -1, 208, -1, - 219, -1, 218, -1, 220, -1, 46, 225, -1, 48, - 226, -1, 227, -1, 83, 199, -1, -1, 84, 195, - 199, -1, -1, 82, 196, 199, -1, -1, 63, 197, - 199, -1, -1, 58, 198, 199, -1, 59, -1, 93, - 194, -1, 194, -1, 5, -1, 56, -1, 55, -1, - 185, -1, 166, -1, 167, -1, 168, -1, 169, -1, - 170, -1, 171, -1, 172, -1, 208, -1, 219, -1, - 218, -1, 220, -1, 46, 225, -1, 48, 226, -1, - 227, -1, 83, 206, -1, -1, 84, 201, 206, -1, - -1, 82, 202, 206, -1, -1, 63, 203, 206, -1, - 200, 37, 200, -1, 200, 37, 93, 200, -1, 200, - 54, 200, -1, 200, 54, 93, 200, -1, 200, 93, - 200, -1, 200, 69, 200, -1, 68, 200, -1, 70, - 200, -1, -1, 58, 204, 206, -1, 59, -1, 188, - -1, -1, 93, 200, -1, 69, 200, -1, 200, -1, - 86, 209, 86, -1, 86, 1, -1, 36, 209, 86, - -1, 36, 1, -1, 210, -1, 209, 85, 209, -1, - 209, 87, 209, -1, 88, 209, -1, -1, 211, -1, - 211, 210, -1, 211, 88, 209, -1, 211, 89, -1, - 211, 91, -1, 211, 90, -1, 211, 92, 209, -1, - 72, 212, 79, -1, 72, 79, -1, 72, 1, -1, - 93, -1, 79, -1, 81, -1, 60, -1, 216, -1, - 4, -1, 71, 209, 80, -1, 71, 1, -1, 213, - -1, 213, 212, -1, 214, -1, 215, -1, 216, -1, - 215, 81, 215, -1, 90, -1, 93, -1, 89, -1, - 91, -1, 71, -1, 80, -1, 85, -1, 88, -1, - 87, -1, 92, -1, 86, -1, 60, -1, 61, -1, - 94, -1, 1, 94, -1, 96, 96, -1, 96, 223, - 96, -1, 96, 1, -1, 35, 5, -1, 35, 62, - -1, 35, 4, -1, 35, 1, -1, 98, 98, -1, - 98, 221, 98, -1, 98, 1, -1, 222, -1, 222, - 221, -1, 223, -1, 165, -1, 56, -1, 73, 200, - -1, 62, -1, 62, 224, -1, 4, -1, 4, 224, - -1, 62, -1, 224, 62, -1, 4, -1, 224, 4, - -1, 96, -1, 99, 225, -1, 223, 225, -1, 1, - -1, 98, -1, 99, 226, -1, 221, 98, -1, 221, - 99, 226, -1, 43, 83, -1, 43, 228, 83, -1, - 43, 1, -1, 228, 229, -1, 229, -1, 62, 62, - -1, 62, 1, -1, 6, -1, 7, -1, 8, -1, - 9, -1, 10, -1, 14, -1, 15, -1, 30, -1, - 32, -1, 11, 187, 80, -1, 12, 187, 80, -1, - 17, 187, 80, -1, 19, 187, 80, -1, 13, 187, - 80, -1, 29, 187, 80, -1, 31, 187, 80, -1, - 33, 200, 200, 187, 80, -1, 20, 187, 80, -1 + 102, 0, -1, 116, -1, 51, 211, -1, -1, 52, + 106, 103, 114, -1, -1, 53, 110, 104, 114, -1, + 52, -1, 53, -1, -1, 54, 176, 105, 114, -1, + 54, -1, 1, 95, -1, -1, 43, 107, 202, -1, + -1, 43, 94, 108, 202, -1, -1, 43, 70, 109, + 202, -1, 202, -1, 94, 202, -1, 70, 202, -1, + -1, 43, 111, 196, -1, -1, 43, 94, 112, 196, + -1, -1, 43, 70, 113, 196, -1, 196, -1, 94, + 196, -1, 70, 196, -1, 202, -1, 43, -1, -1, + 117, -1, 115, 117, -1, 115, -1, -1, 118, -1, + 119, -1, 120, -1, 121, -1, 122, -1, 123, -1, + 124, -1, 128, -1, 125, -1, 144, -1, 145, -1, + 133, -1, 147, -1, 136, -1, 6, 219, 131, -1, + 6, 219, 1, -1, 7, 189, 81, 219, 131, -1, + 7, 189, 81, 219, 1, -1, 8, 219, 131, -1, + 8, 219, 1, -1, 9, 219, 131, -1, 9, 219, + 1, -1, 10, 219, 131, -1, 10, 219, 1, -1, + 11, 189, 81, 219, 116, 16, 219, -1, 11, 189, + 81, 219, 1, -1, 12, 189, 81, 219, 131, -1, + 12, 189, 81, 219, 1, -1, 13, 189, 81, 219, + 126, 16, 219, -1, 13, 189, 81, 219, 126, 130, + 189, 81, 219, 116, 16, 219, -1, 13, 189, 81, + 219, 1, -1, 116, 127, -1, 14, 219, 126, -1, + 15, 219, 126, -1, -1, 129, 189, 81, 219, 116, + 16, 219, -1, 129, 189, 81, 219, 116, 130, 189, + 81, 219, 116, 16, 219, -1, 129, 189, 81, 219, + 1, -1, 17, -1, 21, -1, 18, -1, 26, -1, + 116, 132, -1, 16, 219, -1, 14, 219, 131, -1, + 15, 219, 131, -1, 34, 207, 81, 219, 116, 134, + 135, 16, 219, -1, 34, 207, 81, 219, 1, -1, + 79, 207, 81, 219, 116, 134, -1, -1, 78, 219, + 116, -1, -1, 137, 95, -1, 138, -1, -1, 141, + -1, 141, 138, -1, 4, -1, 3, -1, 209, -1, + 27, -1, 139, -1, 139, 140, -1, 140, -1, 163, + -1, 184, -1, 19, 189, 81, 137, 16, -1, 19, + 189, 81, 137, 130, 189, 81, 137, 16, -1, 23, + 189, 81, 138, 16, -1, 23, 189, 81, 138, 130, + 189, 81, 138, 16, -1, 11, 189, 81, 138, 16, + -1, 19, 1, -1, 23, 1, -1, 11, 1, -1, + 6, 142, -1, 7, 189, 81, 142, -1, 8, 142, + -1, 9, 142, -1, 10, 142, -1, 12, 189, 81, + 142, -1, 30, 188, 81, 138, 16, -1, 137, 143, + -1, 16, -1, 14, 142, -1, 15, 142, -1, 30, + 188, 81, 219, 116, 16, 219, -1, 30, 81, 219, + 116, 16, 219, -1, 30, 1, -1, 30, 188, 81, + 219, 1, -1, 30, 81, 219, 1, -1, 31, 219, + 116, 146, 16, 219, -1, 31, 219, 1, -1, 32, + 81, 219, 116, 146, -1, 32, 188, 81, 219, 116, + 146, -1, 33, 219, 116, -1, -1, 32, 81, 219, + 1, -1, 32, 188, 81, 219, 1, -1, 33, 219, + 1, -1, 148, 81, 159, 95, 149, 16, 219, -1, + 148, 81, 219, 16, 219, -1, 148, 81, 219, 149, + 16, 219, -1, 148, 188, 81, 219, 149, 16, 219, + -1, 148, 188, 81, 159, 95, 149, 16, 219, -1, + 148, 1, -1, 148, 81, 159, 95, 1, -1, 148, + 81, 219, 1, -1, 148, 188, 81, 159, 95, 1, + -1, 148, 188, 81, 219, 1, -1, 20, -1, 22, + -1, 150, -1, 150, 149, -1, 151, -1, 153, -1, + 157, -1, 21, 207, 81, 219, 156, 152, 16, 219, + -1, 21, 219, 1, -1, 24, 219, 156, 152, -1, + 25, 219, 156, 152, -1, 26, 189, 81, 219, 156, + 152, -1, 27, 219, 156, 152, -1, 28, 189, 81, + 219, 156, 152, -1, 29, 189, 81, 219, 156, 152, + -1, -1, 34, 202, 81, 219, 156, 154, 155, 16, + 219, -1, 34, 81, -1, 34, 202, 81, 219, 1, + -1, 79, 207, 81, 219, 156, 154, -1, -1, 78, + 219, 156, -1, -1, 149, -1, -1, 158, 95, -1, + 159, -1, -1, 160, -1, 160, 159, -1, 232, -1, + 232, 159, -1, 4, -1, 3, -1, 166, -1, 187, + -1, 161, -1, 23, 207, 81, 158, 162, 16, -1, + 23, 1, -1, 24, 158, 162, -1, 25, 158, 162, + -1, 26, 189, 81, 158, 162, -1, 27, 158, 162, + -1, 28, 189, 81, 158, 162, -1, 29, 189, 81, + 158, 162, -1, -1, 5, -1, 76, 5, 77, -1, + 76, 5, 165, 77, -1, 164, 5, -1, 164, 76, + 5, 77, -1, 164, 76, 5, 209, 77, -1, 164, + 76, 5, 56, 77, -1, 5, 1, -1, 164, 1, + -1, 90, -1, 56, -1, 209, -1, 187, -1, 5, + -1, 5, -1, 76, 202, 207, 77, -1, 5, 1, + -1, 74, 76, 202, 207, 77, -1, 74, 76, 1, + -1, 96, 184, -1, 96, 1, -1, 39, 184, -1, + 39, 1, -1, 40, 184, -1, 40, 1, -1, 41, + 184, -1, 41, 1, -1, 45, 184, -1, 45, 1, + -1, 46, 184, -1, 46, 1, -1, 42, 176, -1, + -1, 42, 85, 175, 176, -1, 56, -1, 58, -1, + 97, 97, -1, 97, 225, 97, -1, 73, 80, -1, + 73, 181, 180, 80, -1, 76, 77, -1, 76, 182, + 180, 77, -1, -1, 89, 177, 208, -1, -1, 65, + 178, 208, -1, -1, 59, 179, 176, -1, 60, -1, + 97, 1, -1, 73, 1, -1, 76, 1, -1, 83, + -1, -1, 176, -1, 181, 83, 176, -1, 181, 176, + -1, 181, 1, -1, 176, 183, 176, -1, 182, 83, + 176, 183, 176, -1, 176, 176, -1, 182, 176, 1, + -1, 176, 1, -1, 5, -1, 98, -1, 72, 190, + 81, -1, 72, 94, 190, 81, -1, 72, 81, -1, + 72, 68, 202, 81, -1, 72, 67, 202, 81, -1, + 72, 1, -1, 74, 202, -1, 74, 1, -1, 66, + 202, -1, 66, 1, -1, 73, 94, 190, 80, -1, + 73, 190, 80, -1, 73, 80, -1, 73, 68, 202, + 80, -1, 73, 67, 202, 80, -1, 73, 1, -1, + 184, -1, 186, -1, 185, -1, 190, -1, 188, -1, + -1, 191, -1, 191, 67, 202, -1, 202, -1, -1, + 43, 192, 202, -1, -1, 43, 94, 193, 202, -1, + -1, 191, 43, 194, 202, -1, -1, 191, 43, 94, + 195, 202, -1, 191, 202, -1, 48, 227, -1, 191, + 48, 227, -1, 50, 228, -1, 191, 50, 228, -1, + 5, -1, 57, -1, 56, -1, 187, -1, 168, -1, + 169, -1, 170, -1, 171, -1, 172, -1, 173, -1, + 174, -1, 210, -1, 221, -1, 220, -1, 222, -1, + 47, 227, -1, 49, 228, -1, 229, -1, 84, 201, + -1, -1, 85, 197, 201, -1, -1, 83, 198, 201, + -1, -1, 64, 199, 201, -1, -1, 59, 200, 201, + -1, 60, -1, 94, 196, -1, 196, -1, 5, -1, + 57, -1, 56, -1, 187, -1, 168, -1, 169, -1, + 170, -1, 171, -1, 172, -1, 173, -1, 174, -1, + 210, -1, 221, -1, 220, -1, 222, -1, 47, 227, + -1, 49, 228, -1, 229, -1, 84, 208, -1, -1, + 85, 203, 208, -1, -1, 83, 204, 208, -1, -1, + 64, 205, 208, -1, 202, 38, 202, -1, 202, 38, + 94, 202, -1, 202, 55, 202, -1, 202, 55, 94, + 202, -1, 202, 94, 202, -1, 202, 70, 202, -1, + 69, 202, -1, 71, 202, -1, -1, 59, 206, 208, + -1, 60, -1, 190, -1, -1, 94, 202, -1, 70, + 202, -1, 202, -1, 87, 211, 87, -1, 87, 1, + -1, 37, 211, 87, -1, 37, 1, -1, 212, -1, + 211, 86, 211, -1, 211, 88, 211, -1, 89, 211, + -1, -1, 213, -1, 213, 212, -1, 213, 89, 211, + -1, 213, 90, -1, 213, 92, -1, 213, 91, -1, + 213, 93, 211, -1, 73, 214, 80, -1, 73, 80, + -1, 73, 1, -1, 94, -1, 80, -1, 82, -1, + 61, -1, 218, -1, 4, -1, 72, 211, 81, -1, + 72, 1, -1, 215, -1, 215, 214, -1, 216, -1, + 217, -1, 218, -1, 217, 82, 217, -1, 91, -1, + 94, -1, 90, -1, 92, -1, 72, -1, 81, -1, + 86, -1, 89, -1, 88, -1, 93, -1, 87, -1, + 61, -1, 62, -1, 95, -1, 1, 95, -1, 97, + 97, -1, 97, 225, 97, -1, 97, 1, -1, 36, + 5, -1, 36, 63, -1, 36, 4, -1, 36, 1, + -1, 99, 99, -1, 99, 223, 99, -1, 99, 1, + -1, 224, -1, 224, 223, -1, 225, -1, 167, -1, + 57, -1, 74, 202, -1, 63, -1, 63, 226, -1, + 4, -1, 4, 226, -1, 63, -1, 226, 63, -1, + 4, -1, 226, 4, -1, 97, -1, 100, 227, -1, + 225, 227, -1, 1, -1, 99, -1, 100, 228, -1, + 223, 99, -1, 223, 100, 228, -1, 44, 84, -1, + 44, 230, 84, -1, 44, 1, -1, 230, 231, -1, + 231, -1, 63, 63, -1, 63, 1, -1, 6, -1, + 7, -1, 8, -1, 9, -1, 10, -1, 14, -1, + 15, -1, 31, -1, 33, -1, 11, 189, 81, -1, + 12, 189, 81, -1, 17, 189, 81, -1, 19, 189, + 81, -1, 13, 189, 81, -1, 30, 189, 81, -1, + 32, 189, 81, -1, 34, 202, 202, 189, 81, -1, + 20, 189, 81, -1, 22, 189, 81, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 175, 175, 176, 179, 178, 182, 181, 184, 191, - 198, 198, 201, 208, 217, 217, 220, 220, 223, 223, - 226, 227, 228, 231, 231, 234, 234, 237, 237, 240, - 241, 242, 247, 248, 249, 252, 253, 256, 257, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 272, - 273, 274, 275, 278, 280, 284, 287, 293, 295, 299, - 301, 305, 307, 311, 322, 327, 330, 335, 344, 356, - 361, 365, 366, 367, 370, 376, 388, 393, 394, 397, - 398, 401, 404, 405, 406, 409, 432, 436, 449, 452, - 457, 460, 463, 464, 467, 469, 474, 475, 483, 485, - 488, 489, 492, 494, 496, 507, 510, 518, 521, 530, - 533, 535, 537, 539, 540, 542, 543, 544, 545, 548, - 554, 557, 558, 559, 562, 567, 571, 573, 575, 580, - 588, 593, 598, 604, 609, 610, 613, 616, 622, 626, - 628, 631, 643, 648, 650, 653, 656, 659, 664, 665, - 668, 669, 670, 673, 679, 684, 688, 692, 701, 705, - 712, 719, 722, 734, 737, 741, 752, 755, 758, 761, - 762, 764, 767, 769, 772, 773, 774, 775, 778, 780, - 782, 783, 785, 788, 791, 795, 798, 801, 809, 812, - 818, 824, 831, 832, 833, 834, 835, 836, 840, 845, - 848, 852, 855, 856, 858, 860, 863, 868, 877, 882, - 885, 890, 895, 899, 907, 911, 921, 925, 929, 933, - 938, 942, 957, 961, 963, 963, 967, 968, 969, 970, - 972, 973, 979, 980, 986, 986, 991, 991, 996, 996, - 999, 1000, 1002, 1004, 1008, 1010, 1013, 1016, 1024, 1026, - 1030, 1035, 1044, 1045, 1047, 1050, 1054, 1058, 1059, 1065, - 1066, 1067, 1068, 1072, 1077, 1081, 1086, 1090, 1094, 1095, - 1096, 1097, 1098, 1102, 1103, 1104, 1107, 1110, 1111, 1114, - 1118, 1123, 1126, 1126, 1130, 1130, 1134, 1134, 1137, 1137, - 1140, 1143, 1145, 1149, 1151, 1157, 1158, 1160, 1161, 1162, - 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, - 1173, 1174, 1175, 1176, 1178, 1178, 1182, 1182, 1186, 1186, - 1190, 1190, 1193, 1196, 1197, 1199, 1200, 1202, 1203, 1204, - 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, - 1215, 1216, 1217, 1218, 1220, 1220, 1224, 1224, 1228, 1228, - 1232, 1235, 1241, 1245, 1251, 1252, 1255, 1256, 1257, 1257, - 1260, 1263, 1264, 1267, 1268, 1269, 1272, 1275, 1280, 1284, - 1290, 1293, 1294, 1295, 1296, 1299, 1300, 1301, 1304, 1305, - 1306, 1307, 1308, 1315, 1316, 1318, 1319, 1320, 1321, 1322, - 1323, 1324, 1325, 1329, 1330, 1333, 1334, 1335, 1338, 1340, - 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, - 1351, 1354, 1368, 1369, 1373, 1374, 1376, 1380, 1393, 1395, - 1399, 1404, 1405, 1408, 1412, 1414, 1418, 1419, 1420, 1422, - 1429, 1430, 1432, 1433, 1436, 1437, 1438, 1439, 1442, 1443, - 1444, 1446, 1450, 1451, 1452, 1454, 1460, 1462, 1465, 1470, - 1472, 1476, 1477, 1484, 1485, 1486, 1487, 1488, 1489, 1490, - 1491, 1492, 1493, 1495, 1497, 1499, 1501, 1503, 1505, 1507, - 1512 + 0, 177, 177, 178, 181, 180, 184, 183, 186, 193, + 200, 200, 203, 210, 219, 219, 222, 222, 225, 225, + 228, 229, 230, 233, 233, 236, 236, 239, 239, 242, + 243, 244, 249, 250, 251, 254, 255, 258, 259, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 274, + 275, 276, 277, 280, 282, 286, 289, 295, 297, 301, + 303, 307, 309, 313, 324, 329, 332, 337, 346, 358, + 363, 367, 368, 369, 372, 378, 390, 395, 396, 399, + 400, 403, 406, 407, 408, 411, 434, 438, 451, 454, + 459, 462, 465, 466, 469, 471, 476, 477, 485, 487, + 490, 491, 494, 496, 498, 509, 512, 520, 523, 532, + 535, 537, 539, 541, 542, 544, 545, 546, 547, 550, + 556, 559, 560, 561, 564, 569, 573, 575, 577, 582, + 590, 595, 600, 606, 611, 612, 615, 618, 624, 629, + 631, 634, 638, 643, 645, 648, 651, 654, 659, 660, + 663, 664, 667, 668, 669, 672, 678, 683, 687, 691, + 700, 704, 711, 718, 721, 733, 736, 740, 751, 754, + 757, 760, 761, 763, 766, 768, 771, 772, 773, 774, + 777, 779, 781, 782, 784, 787, 790, 794, 797, 800, + 808, 811, 817, 823, 830, 831, 832, 833, 834, 835, + 839, 844, 847, 851, 854, 855, 857, 859, 862, 867, + 876, 881, 884, 889, 894, 898, 906, 910, 920, 924, + 928, 932, 937, 941, 956, 960, 962, 962, 966, 967, + 968, 969, 971, 972, 978, 979, 985, 985, 990, 990, + 995, 995, 998, 999, 1001, 1003, 1007, 1009, 1012, 1015, + 1023, 1025, 1029, 1034, 1043, 1044, 1046, 1049, 1053, 1057, + 1058, 1064, 1065, 1066, 1067, 1071, 1076, 1080, 1085, 1089, + 1093, 1094, 1095, 1096, 1097, 1101, 1102, 1103, 1106, 1109, + 1110, 1113, 1117, 1122, 1125, 1125, 1129, 1129, 1133, 1133, + 1136, 1136, 1139, 1142, 1144, 1148, 1150, 1156, 1157, 1159, + 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, + 1170, 1171, 1172, 1173, 1174, 1175, 1177, 1177, 1181, 1181, + 1185, 1185, 1189, 1189, 1192, 1195, 1196, 1198, 1199, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 1216, 1217, 1219, 1219, 1223, 1223, + 1227, 1227, 1231, 1234, 1240, 1244, 1250, 1251, 1254, 1255, + 1256, 1256, 1259, 1262, 1263, 1266, 1267, 1268, 1271, 1274, + 1279, 1283, 1289, 1292, 1293, 1294, 1295, 1298, 1299, 1300, + 1303, 1304, 1305, 1306, 1307, 1314, 1315, 1317, 1318, 1319, + 1320, 1321, 1322, 1323, 1324, 1328, 1329, 1332, 1333, 1334, + 1337, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 1353, 1367, 1368, 1372, 1373, 1375, 1379, + 1392, 1394, 1398, 1403, 1404, 1407, 1411, 1413, 1417, 1418, + 1419, 1421, 1428, 1429, 1431, 1432, 1435, 1436, 1437, 1438, + 1441, 1442, 1443, 1445, 1449, 1450, 1451, 1453, 1459, 1461, + 1464, 1469, 1471, 1475, 1476, 1483, 1484, 1485, 1486, 1487, + 1488, 1489, 1490, 1491, 1492, 1494, 1496, 1498, 1500, 1502, + 1504, 1506, 1511, 1513 }; #endif @@ -890,12 +895,12 @@ static const char *const yytname[] = { "$end", "error", "$undefined", "SPACE", "TEXT", "SYMTOK", "ALL", "SOME", "NONE", "MAYBE", "CASES", "BLOCK", "CHOOSE", "GATHER", "AND", "OR", - "END", "COLLECT", "UNTIL", "COLL", "OUTPUT", "REPEAT", "REP", "SINGLE", - "FIRST", "LAST", "EMPTY", "MOD", "MODLAST", "DEFINE", "TRY", "CATCH", - "FINALLY", "IF", "ERRTOK", "HASH_BACKSLASH", "HASH_SLASH", "DOTDOT", - "HASH_H", "HASH_S", "HASH_R", "HASH_J", "HASH_SEMI", "HASH_B_QUOTE", - "HASH_N", "HASH_T", "WORDS", "WSPLICE", "QWORDS", "QWSPLICE", - "SECRET_ESCAPE_R", "SECRET_ESCAPE_E", "SECRET_ESCAPE_I", + "END", "COLLECT", "UNTIL", "COLL", "OUTPUT", "REPEAT", "PUSH", "REP", + "SINGLE", "FIRST", "LAST", "EMPTY", "MOD", "MODLAST", "DEFINE", "TRY", + "CATCH", "FINALLY", "IF", "ERRTOK", "HASH_BACKSLASH", "HASH_SLASH", + "DOTDOT", "HASH_H", "HASH_S", "HASH_R", "HASH_J", "HASH_SEMI", + "HASH_B_QUOTE", "HASH_N", "HASH_T", "WORDS", "WSPLICE", "QWORDS", + "QWSPLICE", "SECRET_ESCAPE_R", "SECRET_ESCAPE_E", "SECRET_ESCAPE_I", "SECRET_ESCAPE_J", "OLD_DOTDOT", "NUMBER", "METANUM", "JSKW", "HASH_N_EQUALS", "HASH_N_HASH", "REGCHAR", "REGTOKEN", "LITCHAR", "SPLICE", "JSPLICE", "OLD_AT", "CONSDOT", "LAMBDOT", "UREFDOT", @@ -912,19 +917,19 @@ static const char *const yytname[] = "if_clause", "elif_clauses_opt", "else_clause_opt", "line", "elems_opt", "elems", "text", "texts", "elem", "clause_parts_h", "additional_parts_h", "define_clause", "try_clause", "catch_clauses_opt", "output_clause", - "out_clauses", "out_clause", "repeat_clause", "repeat_parts_opt", - "out_if_clause", "out_elif_clauses_opt", "out_else_clause_opt", - "out_clauses_opt", "o_line", "o_elems_opt", "o_elems", "o_elem", - "rep_elem", "rep_parts_opt", "var", "var_op", "modifiers", "o_var", - "q_var", "vector", "hash", "struct", "range", "tnode", "tree", "json", - "$@10", "json_val", "$@11", "$@12", "$@13", "opt_comma", "json_vals", - "json_pairs", "json_col", "list", "meta", "dwim", "compound", "exprs", - "exprs_opt", "n_exprs", "listacc", "$@14", "$@15", "$@16", "$@17", - "i_expr", "$@18", "$@19", "$@20", "$@21", "i_dot_expr", "n_expr", "$@22", - "$@23", "$@24", "$@25", "n_exprs_opt", "n_dot_expr", "regex", - "lisp_regex", "regexpr", "regbranch", "regterm", "regclass", - "regclassterm", "regrange", "regchar", "regtoken", "newl", "strlit", - "chrlit", "quasilit", "quasi_items", "quasi_item", "litchars", + "output_push", "out_clauses", "out_clause", "repeat_clause", + "repeat_parts_opt", "out_if_clause", "out_elif_clauses_opt", + "out_else_clause_opt", "out_clauses_opt", "o_line", "o_elems_opt", + "o_elems", "o_elem", "rep_elem", "rep_parts_opt", "var", "var_op", + "modifiers", "o_var", "q_var", "vector", "hash", "struct", "range", + "tnode", "tree", "json", "$@10", "json_val", "$@11", "$@12", "$@13", + "opt_comma", "json_vals", "json_pairs", "json_col", "list", "meta", + "dwim", "compound", "exprs", "exprs_opt", "n_exprs", "listacc", "$@14", + "$@15", "$@16", "$@17", "i_expr", "$@18", "$@19", "$@20", "$@21", + "i_dot_expr", "n_expr", "$@22", "$@23", "$@24", "$@25", "n_exprs_opt", + "n_dot_expr", "regex", "lisp_regex", "regexpr", "regbranch", "regterm", + "regclass", "regclassterm", "regrange", "regchar", "regtoken", "newl", + "strlit", "chrlit", "quasilit", "quasi_items", "quasi_item", "litchars", "restlitchar", "wordslit", "wordsqlit", "buflit", "buflit_items", "buflit_item", "not_a_clause", 0 }; @@ -942,63 +947,64 @@ static const yytype_uint16 yytoknum[] = 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 40, 91, 64, 326, 123, 125, 327, 328, 93, - 41, 45, 44, 39, 94, 124, 47, 38, 126, 42, - 63, 43, 37, 46, 10, 35, 34, 58, 96, 32 + 325, 326, 40, 91, 64, 327, 123, 125, 328, 329, + 93, 41, 45, 44, 39, 94, 124, 47, 38, 126, + 42, 63, 43, 37, 46, 10, 35, 34, 58, 96, + 32 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 100, 101, 101, 102, 101, 103, 101, 101, 101, - 104, 101, 101, 101, 106, 105, 107, 105, 108, 105, - 105, 105, 105, 110, 109, 111, 109, 112, 109, 109, - 109, 109, 113, 113, 113, 114, 114, 115, 115, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 117, 117, 118, 118, 119, 119, 120, - 120, 121, 121, 122, 122, 123, 123, 124, 124, 124, - 125, 126, 126, 126, 127, 127, 127, 128, 128, 129, - 129, 130, 131, 131, 131, 132, 132, 133, 133, 134, - 134, 135, 136, 136, 137, 137, 138, 138, 138, 138, - 139, 139, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 141, 142, 142, 142, 143, 143, 143, 143, 143, 144, - 144, 145, 145, 145, 145, 145, 145, 145, 146, 146, - 146, 146, 146, 146, 146, 146, 146, 146, 147, 147, - 148, 148, 148, 149, 149, 150, 150, 150, 150, 150, - 150, 150, 151, 151, 151, 152, 152, 153, 153, 154, - 154, 155, 156, 156, 157, 157, 157, 157, 158, 158, - 158, 158, 158, 159, 159, 160, 160, 160, 160, 160, - 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 162, 163, 163, 163, 163, 164, 164, 164, 165, - 165, 166, 166, 167, 167, 168, 168, 169, 169, 170, - 170, 171, 171, 172, 173, 172, 174, 174, 174, 174, - 174, 174, 174, 174, 175, 174, 176, 174, 177, 174, - 174, 174, 174, 174, 178, 178, 179, 179, 179, 179, - 180, 180, 180, 180, 180, 181, 181, 182, 182, 182, - 182, 182, 182, 183, 183, 183, 183, 184, 184, 184, - 184, 184, 184, 185, 185, 185, 186, 187, 187, 188, - 188, 189, 190, 189, 191, 189, 192, 189, 193, 189, - 189, 189, 189, 189, 189, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 195, 194, 196, 194, 197, 194, - 198, 194, 194, 199, 199, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 201, 200, 202, 200, 203, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 204, 200, - 200, 205, 205, 206, 206, 206, 207, 207, 208, 208, - 209, 209, 209, 209, 209, 210, 210, 210, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 212, 212, 213, 213, 213, 214, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 216, 217, 217, 218, 218, 218, 219, 219, 219, - 219, 220, 220, 220, 221, 221, 222, 222, 222, 222, - 223, 223, 223, 223, 224, 224, 224, 224, 225, 225, - 225, 225, 226, 226, 226, 226, 227, 227, 227, 228, - 228, 229, 229, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230 + 0, 101, 102, 102, 103, 102, 104, 102, 102, 102, + 105, 102, 102, 102, 107, 106, 108, 106, 109, 106, + 106, 106, 106, 111, 110, 112, 110, 113, 110, 110, + 110, 110, 114, 114, 114, 115, 115, 116, 116, 117, + 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, + 117, 117, 117, 118, 118, 119, 119, 120, 120, 121, + 121, 122, 122, 123, 123, 124, 124, 125, 125, 125, + 126, 127, 127, 127, 128, 128, 128, 129, 129, 130, + 130, 131, 132, 132, 132, 133, 133, 134, 134, 135, + 135, 136, 137, 137, 138, 138, 139, 139, 139, 139, + 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, + 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, + 142, 143, 143, 143, 144, 144, 144, 144, 144, 145, + 145, 146, 146, 146, 146, 146, 146, 146, 147, 147, + 147, 147, 147, 147, 147, 147, 147, 147, 148, 148, + 149, 149, 150, 150, 150, 151, 151, 152, 152, 152, + 152, 152, 152, 152, 153, 153, 153, 154, 154, 155, + 155, 156, 156, 157, 158, 158, 159, 159, 159, 159, + 160, 160, 160, 160, 160, 161, 161, 162, 162, 162, + 162, 162, 162, 162, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 164, 165, 165, 165, 165, 166, 166, + 166, 167, 167, 168, 168, 169, 169, 170, 170, 171, + 171, 172, 172, 173, 173, 174, 175, 174, 176, 176, + 176, 176, 176, 176, 176, 176, 177, 176, 178, 176, + 179, 176, 176, 176, 176, 176, 180, 180, 181, 181, + 181, 181, 182, 182, 182, 182, 182, 183, 183, 184, + 184, 184, 184, 184, 184, 185, 185, 185, 185, 186, + 186, 186, 186, 186, 186, 187, 187, 187, 188, 189, + 189, 190, 190, 191, 192, 191, 193, 191, 194, 191, + 195, 191, 191, 191, 191, 191, 191, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, + 196, 196, 196, 196, 196, 196, 197, 196, 198, 196, + 199, 196, 200, 196, 196, 201, 201, 202, 202, 202, + 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 202, 202, 202, 202, 202, 202, 203, 202, 204, 202, + 205, 202, 202, 202, 202, 202, 202, 202, 202, 202, + 206, 202, 202, 207, 207, 208, 208, 208, 209, 209, + 210, 210, 211, 211, 211, 211, 211, 212, 212, 212, + 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 214, 214, 215, 215, 215, + 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 218, 219, 219, 220, 220, 220, 221, + 221, 221, 221, 222, 222, 222, 223, 223, 224, 224, + 224, 224, 225, 225, 225, 225, 226, 226, 226, 226, + 227, 227, 227, 227, 228, 228, 228, 228, 229, 229, + 229, 230, 230, 231, 231, 232, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 232, 232 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1018,40 +1024,40 @@ static const yytype_uint8 yyr2[] = 2, 2, 2, 2, 4, 2, 2, 2, 4, 5, 2, 1, 2, 2, 7, 6, 2, 5, 4, 6, 3, 5, 6, 3, 0, 4, 5, 3, 7, 5, - 6, 7, 8, 2, 5, 4, 6, 5, 1, 2, - 1, 1, 1, 8, 3, 4, 4, 6, 4, 6, - 6, 0, 9, 2, 5, 6, 0, 3, 0, 1, - 0, 2, 1, 0, 1, 2, 1, 2, 1, 1, - 1, 1, 1, 6, 2, 3, 3, 5, 3, 5, - 5, 0, 1, 3, 4, 2, 4, 5, 5, 2, - 2, 1, 1, 1, 1, 1, 1, 4, 2, 5, - 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 0, 4, 1, 1, 2, 3, - 2, 4, 2, 4, 0, 3, 0, 3, 0, 3, - 1, 2, 2, 2, 1, 0, 1, 3, 2, 2, - 3, 5, 2, 3, 2, 1, 1, 3, 4, 2, - 4, 4, 2, 2, 2, 2, 2, 4, 3, 2, - 4, 4, 2, 1, 1, 1, 1, 1, 0, 1, - 3, 1, 0, 3, 0, 4, 0, 4, 0, 5, - 2, 2, 3, 2, 3, 1, 1, 1, 1, 1, + 6, 7, 8, 2, 5, 4, 6, 5, 1, 1, + 1, 2, 1, 1, 1, 8, 3, 4, 4, 6, + 4, 6, 6, 0, 9, 2, 5, 6, 0, 3, + 0, 1, 0, 2, 1, 0, 1, 2, 1, 2, + 1, 1, 1, 1, 1, 6, 2, 3, 3, 5, + 3, 5, 5, 0, 1, 3, 4, 2, 4, 5, + 5, 2, 2, 1, 1, 1, 1, 1, 1, 4, + 2, 5, 3, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 0, 4, 1, 1, + 2, 3, 2, 4, 2, 4, 0, 3, 0, 3, + 0, 3, 1, 2, 2, 2, 1, 0, 1, 3, + 2, 2, 3, 5, 2, 3, 2, 1, 1, 3, + 4, 2, 4, 4, 2, 2, 2, 2, 2, 4, + 3, 2, 4, 4, 2, 1, 1, 1, 1, 1, + 0, 1, 3, 1, 0, 3, 0, 4, 0, 4, + 0, 5, 2, 2, 3, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 2, 0, 3, 0, 3, 0, 3, - 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 1, 2, 0, 3, 0, 3, + 0, 3, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 2, 0, 3, 0, 3, 0, 3, - 3, 4, 3, 4, 3, 3, 2, 2, 0, 3, - 1, 1, 0, 2, 2, 1, 3, 2, 3, 2, - 1, 3, 3, 2, 0, 1, 2, 3, 2, 2, - 2, 3, 3, 2, 2, 1, 1, 1, 1, 1, - 1, 3, 2, 1, 2, 1, 1, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, - 2, 2, 3, 2, 1, 2, 1, 1, 1, 2, + 1, 1, 2, 2, 1, 2, 0, 3, 0, 3, + 0, 3, 3, 4, 3, 4, 3, 3, 2, 2, + 0, 3, 1, 1, 0, 2, 2, 1, 3, 2, + 3, 2, 1, 3, 3, 2, 0, 1, 2, 3, + 2, 2, 2, 3, 3, 2, 2, 1, 1, 1, + 1, 1, 1, 3, 2, 1, 2, 1, 1, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 3, 2, 2, + 2, 2, 2, 2, 3, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, - 2, 1, 1, 2, 2, 3, 2, 3, 2, 2, - 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 3, 3, 3, 3, 3, 3, 5, - 3 + 1, 2, 2, 1, 1, 2, 2, 3, 2, 3, + 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 5, 3, 3 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -1059,1225 +1065,1223 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 0, 97, 96, 0, 0, 278, 0, 0, 0, - 0, 278, 278, 77, 0, 0, 78, 0, 99, 0, - 0, 362, 374, 8, 9, 12, 0, 0, 0, 201, - 0, 37, 2, 35, 39, 40, 41, 42, 43, 44, - 45, 47, 46, 278, 50, 52, 0, 92, 100, 102, - 94, 48, 49, 51, 103, 0, 104, 98, 13, 199, - 0, 93, 278, 93, 93, 93, 0, 278, 0, 412, - 0, 113, 0, 325, 0, 0, 0, 0, 0, 0, - 282, 0, 0, 0, 0, 0, 0, 0, 327, 326, - 358, 360, 348, 0, 0, 0, 0, 0, 346, 0, - 344, 0, 0, 0, 329, 330, 331, 332, 333, 334, - 335, 273, 275, 274, 328, 277, 0, 276, 279, 281, - 336, 338, 337, 339, 342, 115, 0, 116, 0, 117, - 0, 112, 0, 0, 0, 110, 0, 143, 0, 0, - 111, 0, 126, 0, 0, 0, 361, 0, 390, 388, - 411, 0, 0, 386, 387, 374, 385, 3, 370, 375, - 389, 14, 0, 0, 4, 20, 295, 23, 0, 0, - 297, 296, 320, 322, 318, 0, 316, 0, 314, 0, - 6, 299, 300, 301, 302, 303, 304, 305, 298, 29, - 306, 308, 307, 309, 312, 226, 227, 238, 240, 236, - 0, 0, 234, 0, 10, 262, 0, 0, 259, 0, - 0, 0, 367, 0, 1, 36, 0, 91, 101, 95, - 200, 195, 0, 413, 0, 0, 0, 0, 93, 93, - 121, 120, 54, 0, 53, 420, 419, 417, 418, 369, - 0, 214, 213, 216, 215, 218, 217, 224, 223, 284, - 0, 448, 0, 446, 0, 450, 220, 219, 222, 221, - 441, 432, 430, 438, 0, 0, 340, 291, 428, 0, - 442, 0, 427, 0, 424, 426, 341, 293, 0, 0, - 266, 265, 356, 357, 272, 0, 0, 269, 0, 0, - 264, 263, 0, 0, 0, 365, 343, 0, 212, 211, - 416, 414, 0, 423, 421, 0, 0, 286, 0, 0, - 0, 290, 0, 0, 0, 0, 58, 57, 60, 59, - 62, 61, 0, 0, 0, 93, 179, 178, 0, 453, - 454, 455, 456, 457, 278, 278, 278, 458, 459, 278, - 278, 278, 0, 278, 460, 278, 461, 0, 0, 0, - 174, 182, 180, 181, 0, 176, 0, 0, 0, 0, - 130, 134, 0, 392, 0, 384, 410, 403, 383, 404, - 405, 409, 407, 406, 401, 399, 402, 408, 400, 0, - 393, 395, 396, 397, 373, 374, 374, 374, 378, 380, - 379, 374, 376, 18, 16, 0, 22, 21, 34, 27, - 25, 0, 310, 311, 0, 0, 31, 0, 0, 324, - 313, 0, 30, 34, 0, 0, 242, 230, 246, 0, - 243, 232, 0, 245, 0, 241, 228, 0, 34, 0, - 0, 0, 257, 205, 202, 193, 0, 204, 203, 366, - 0, 0, 93, 0, 93, 0, 122, 123, 0, 0, - 0, 81, 368, 0, 0, 283, 452, 451, 447, 449, - 436, 434, 433, 431, 439, 440, 0, 429, 443, 444, - 0, 425, 359, 349, 0, 0, 0, 268, 347, 364, - 363, 345, 415, 422, 114, 0, 288, 0, 292, 294, - 280, 0, 350, 0, 352, 355, 354, 0, 0, 118, - 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, - 184, 0, 0, 0, 0, 362, 0, 175, 145, 0, - 0, 0, 0, 148, 150, 151, 152, 0, 172, 177, - 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 391, 382, 394, 0, 371, 372, 377, 381, 0, - 0, 15, 33, 5, 32, 0, 0, 24, 321, 319, - 317, 323, 315, 7, 239, 237, 249, 244, 248, 0, - 254, 255, 256, 252, 0, 244, 0, 0, 235, 229, - 11, 261, 260, 258, 194, 0, 0, 196, 0, 38, - 38, 82, 225, 285, 437, 435, 210, 362, 445, 271, - 270, 267, 56, 55, 0, 287, 351, 353, 109, 64, - 0, 66, 65, 69, 73, 0, 105, 79, 80, 278, - 462, 463, 466, 464, 465, 470, 173, 467, 468, 278, - 0, 144, 0, 139, 0, 0, 163, 0, 0, 149, - 171, 0, 147, 0, 107, 278, 0, 119, 127, 0, - 0, 0, 0, 0, 86, 88, 398, 19, 17, 28, - 26, 247, 231, 250, 0, 253, 233, 76, 0, 198, - 197, 83, 84, 0, 289, 0, 0, 0, 70, 0, - 278, 0, 191, 0, 207, 0, 0, 154, 0, 140, - 146, 0, 0, 0, 125, 0, 0, 0, 137, 133, - 129, 362, 90, 0, 0, 278, 209, 63, 38, 38, - 67, 0, 93, 173, 173, 278, 173, 278, 278, 0, - 469, 138, 170, 0, 0, 141, 0, 124, 135, 134, - 0, 0, 0, 0, 251, 74, 0, 71, 72, 0, - 0, 191, 191, 0, 191, 0, 0, 183, 169, 161, - 164, 166, 142, 0, 131, 136, 134, 0, 38, 0, - 0, 38, 106, 185, 186, 173, 188, 173, 173, 0, - 0, 278, 0, 278, 278, 0, 362, 168, 108, 132, - 38, 89, 85, 38, 0, 191, 191, 191, 170, 170, - 0, 170, 0, 0, 0, 0, 0, 0, 88, 0, - 0, 187, 189, 190, 161, 161, 0, 161, 0, 0, - 153, 0, 170, 0, 87, 0, 68, 155, 156, 170, - 158, 170, 170, 170, 167, 162, 75, 161, 161, 161, - 166, 157, 159, 160, 165 + 0, 0, 97, 96, 0, 0, 280, 0, 0, 0, + 0, 280, 280, 77, 0, 148, 78, 149, 0, 99, + 0, 0, 364, 376, 8, 9, 12, 0, 0, 0, + 203, 0, 37, 2, 35, 39, 40, 41, 42, 43, + 44, 45, 47, 46, 280, 50, 52, 0, 92, 100, + 102, 94, 48, 49, 51, 0, 103, 0, 104, 98, + 13, 201, 0, 93, 280, 93, 93, 93, 0, 280, + 0, 414, 0, 113, 0, 327, 0, 0, 0, 0, + 0, 0, 284, 0, 0, 0, 0, 0, 0, 0, + 329, 328, 360, 362, 350, 0, 0, 0, 0, 0, + 348, 0, 346, 0, 0, 0, 331, 332, 333, 334, + 335, 336, 337, 275, 277, 276, 330, 279, 0, 278, + 281, 283, 338, 340, 339, 341, 344, 115, 0, 116, + 0, 117, 0, 112, 0, 0, 0, 110, 0, 111, + 0, 126, 0, 0, 0, 363, 0, 392, 390, 413, + 0, 0, 388, 389, 376, 387, 3, 372, 377, 391, + 14, 0, 0, 4, 20, 297, 23, 0, 0, 299, + 298, 322, 324, 320, 0, 318, 0, 316, 0, 6, + 301, 302, 303, 304, 305, 306, 307, 300, 29, 308, + 310, 309, 311, 314, 228, 229, 240, 242, 238, 0, + 0, 236, 0, 10, 264, 0, 0, 261, 0, 0, + 0, 369, 0, 1, 36, 0, 91, 101, 95, 143, + 0, 0, 202, 197, 0, 415, 0, 0, 0, 0, + 93, 93, 121, 120, 54, 0, 53, 422, 421, 419, + 420, 371, 0, 216, 215, 218, 217, 220, 219, 226, + 225, 286, 0, 450, 0, 448, 0, 452, 222, 221, + 224, 223, 443, 434, 432, 440, 0, 0, 342, 293, + 430, 0, 444, 0, 429, 0, 426, 428, 343, 295, + 0, 0, 268, 267, 358, 359, 274, 0, 0, 271, + 0, 0, 266, 265, 0, 0, 0, 367, 345, 0, + 214, 213, 418, 416, 0, 425, 423, 0, 0, 288, + 0, 0, 0, 292, 0, 0, 0, 0, 58, 57, + 60, 59, 62, 61, 0, 0, 0, 93, 0, 0, + 0, 130, 134, 0, 394, 0, 386, 412, 405, 385, + 406, 407, 411, 409, 408, 403, 401, 404, 410, 402, + 0, 395, 397, 398, 399, 375, 376, 376, 376, 380, + 382, 381, 376, 378, 18, 16, 0, 22, 21, 34, + 27, 25, 0, 312, 313, 0, 0, 31, 0, 0, + 326, 315, 0, 30, 34, 0, 0, 244, 232, 248, + 0, 245, 234, 0, 247, 0, 243, 230, 0, 34, + 0, 0, 0, 259, 207, 204, 195, 0, 206, 205, + 368, 0, 181, 180, 0, 455, 456, 457, 458, 459, + 280, 280, 280, 460, 461, 280, 280, 280, 280, 0, + 280, 462, 280, 463, 0, 0, 0, 176, 184, 182, + 183, 0, 178, 0, 0, 93, 0, 93, 0, 122, + 123, 0, 0, 0, 81, 370, 0, 0, 285, 454, + 453, 449, 451, 438, 436, 435, 433, 441, 442, 0, + 431, 445, 446, 0, 427, 361, 351, 0, 0, 0, + 270, 349, 366, 365, 347, 417, 424, 114, 0, 290, + 0, 294, 296, 282, 0, 352, 0, 354, 357, 356, + 0, 0, 118, 0, 0, 0, 0, 128, 0, 0, + 0, 0, 0, 0, 0, 393, 384, 396, 0, 373, + 374, 379, 383, 0, 0, 15, 33, 5, 32, 0, + 0, 24, 323, 321, 319, 325, 317, 7, 241, 239, + 251, 246, 250, 0, 256, 257, 258, 254, 0, 246, + 0, 0, 237, 231, 11, 263, 262, 260, 196, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 186, 0, + 0, 0, 0, 364, 0, 177, 145, 0, 0, 0, + 0, 150, 152, 153, 154, 0, 174, 179, 0, 0, + 0, 198, 0, 38, 38, 82, 227, 287, 439, 437, + 212, 364, 447, 273, 272, 269, 56, 55, 0, 289, + 353, 355, 109, 64, 0, 66, 65, 69, 73, 0, + 105, 79, 80, 280, 107, 280, 0, 119, 127, 0, + 0, 0, 0, 0, 86, 88, 400, 19, 17, 28, + 26, 249, 233, 252, 0, 255, 235, 76, 0, 464, + 465, 468, 466, 467, 472, 473, 175, 469, 470, 280, + 0, 144, 0, 139, 0, 0, 165, 0, 0, 151, + 173, 0, 147, 0, 200, 199, 83, 84, 0, 291, + 0, 0, 0, 70, 0, 280, 0, 0, 125, 0, + 0, 0, 137, 133, 129, 364, 90, 0, 0, 280, + 193, 0, 209, 0, 0, 156, 0, 140, 146, 0, + 0, 211, 63, 38, 38, 67, 0, 93, 0, 124, + 135, 134, 0, 0, 0, 0, 253, 74, 0, 175, + 175, 280, 175, 280, 280, 0, 471, 138, 172, 0, + 0, 141, 71, 72, 0, 0, 0, 131, 136, 134, + 0, 38, 0, 0, 193, 193, 0, 193, 0, 0, + 185, 171, 163, 166, 168, 142, 38, 106, 108, 132, + 38, 89, 85, 38, 187, 188, 175, 190, 175, 175, + 0, 0, 280, 0, 280, 280, 0, 364, 170, 0, + 88, 0, 193, 193, 193, 172, 172, 0, 172, 0, + 0, 0, 0, 0, 0, 0, 87, 0, 189, 191, + 192, 163, 163, 0, 163, 0, 0, 155, 0, 172, + 0, 68, 75, 157, 158, 172, 160, 172, 172, 172, + 169, 164, 163, 163, 163, 168, 159, 161, 162, 167 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 30, 398, 413, 428, 164, 395, 550, 549, 180, - 401, 556, 555, 553, 31, 233, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 615, 678, 42, 43, 619, - 234, 451, 44, 702, 733, 45, 46, 47, 48, 49, - 50, 71, 231, 51, 52, 539, 53, 748, 523, 524, - 775, 525, 777, 797, 749, 526, 527, 528, 350, 351, - 719, 54, 55, 436, 352, 272, 104, 105, 106, 107, - 108, 109, 110, 453, 204, 424, 415, 414, 569, 419, - 423, 574, 111, 112, 113, 114, 115, 116, 117, 118, - 250, 454, 487, 604, 409, 411, 407, 405, 404, 410, - 119, 297, 292, 279, 278, 147, 296, 57, 120, 157, - 158, 159, 379, 380, 381, 382, 160, 72, 121, 122, - 123, 273, 274, 275, 462, 266, 276, 124, 254, 255, - 355 + -1, 31, 369, 384, 399, 163, 366, 524, 523, 179, + 372, 530, 529, 527, 32, 235, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 619, 683, 43, 44, 623, + 236, 454, 45, 696, 725, 46, 47, 48, 49, 50, + 51, 73, 233, 52, 53, 513, 54, 55, 761, 581, + 582, 786, 583, 788, 804, 762, 584, 585, 586, 437, + 438, 735, 56, 57, 407, 439, 274, 106, 107, 108, + 109, 110, 111, 112, 456, 203, 395, 386, 385, 543, + 390, 394, 548, 113, 114, 115, 116, 117, 118, 119, + 120, 252, 457, 490, 608, 380, 382, 378, 376, 375, + 381, 121, 299, 294, 281, 280, 146, 298, 59, 122, + 156, 157, 158, 350, 351, 352, 353, 159, 74, 123, + 124, 125, 275, 276, 277, 465, 268, 278, 126, 256, + 257, 442 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -610 +#define YYPACT_NINF -664 static const yytype_int16 yypact[] = { - 2060, -82, -610, -610, 2118, 4643, 2604, 4643, 4643, 4643, - 1377, 2604, 2604, -610, 1450, 1523, -610, 1596, -610, 1669, - 7, 2604, 978, 2668, 2923, 4037, 1133, 72, 3240, -610, - 51, 4746, -610, -610, -610, -610, -610, -610, -610, -610, - -610, -610, -610, 2604, -610, -610, -13, -610, 23, -610, - 4777, -610, -610, -610, -610, 62, -610, -610, -610, -610, - 2, 4777, 2604, 4777, 4777, 4777, 1377, 2604, 2604, -610, - 262, -610, 3526, -610, 213, 3792, 29, 35, 43, 3682, - 18, 36, 63, 70, 24, 24, 66, 66, -610, -610, - -610, -610, -610, 1815, 3578, 3578, 1220, 1888, -610, 2737, - -610, 74, 37, 65, -610, -610, -610, -610, -610, -610, - -610, -610, -610, -610, -610, -610, 45, -610, 2331, 156, - -610, -610, -610, -610, -610, -610, 3674, -610, 3705, -610, - 3797, -610, 75, 80, 94, -610, 101, -610, 3828, 109, - -610, 123, -610, 7, 139, 3904, -610, 172, -610, -610, - -610, 816, 1240, -610, -610, 978, -610, 154, -610, 2854, - -610, -21, 3578, 3578, -610, 156, -610, -10, 24, 66, - -610, -610, -610, -610, -610, 4301, -610, 4237, -610, 4301, - -610, -610, -610, -610, -610, -610, -610, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, -610, -610, -610, - 254, 1055, -610, 46, -610, -610, 3578, 3578, -610, 2604, - 186, 314, -610, 215, -610, -610, 193, -610, -610, -610, - -610, -610, 141, -610, 199, 211, 230, 234, 4777, 4777, - -610, -610, -610, 292, -610, -610, -610, -610, -610, -610, - 271, -610, -610, -610, -610, -610, -610, -610, -610, -610, - 3578, -610, 64, -610, 86, -610, -610, -610, -610, -610, - -610, 30, 162, -610, 24, 24, -610, -610, -610, 2988, - -610, 66, -610, 170, 150, -610, -610, -610, 2737, 2737, - -610, 156, -11, -11, -610, 3578, 3578, -610, 2604, 155, - -610, 241, 2737, 3578, 3578, 156, -610, 2737, -610, -610, - -610, -610, 227, -610, -610, 226, 4643, 237, 24, 66, - 3578, 156, 3052, 3116, 3578, 3578, -610, -610, -610, -610, - -610, -610, 2595, 4643, 7, 4777, -610, -610, 2152, -610, - -610, -610, -610, -610, 2604, 2604, 2604, -610, -610, 2604, - 2604, 2604, 1742, 2604, -610, 2604, -610, 3578, 3578, 238, - 4864, -610, -610, -610, 2833, 4864, 3828, 4777, 4397, 2595, - -610, 58, 7, -610, 93, -610, -610, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, -610, -610, 249, - 2014, -610, 253, -610, -610, 978, 978, 978, -610, -610, - -610, 978, -610, -610, -610, 3578, 156, 156, 3180, -610, - -610, 4301, -610, -610, 4237, 4237, -610, 4237, 4301, -610, - -610, 4237, -610, 3180, 4037, 2737, -610, -610, -610, 976, - -610, -610, 1010, 3914, 2737, -610, -610, 239, 3180, 251, - 285, 263, -610, -610, -610, -610, 275, -610, -610, -610, - 7, -2, 4777, 4777, 4777, 4777, -610, -610, 7, 7, - 7, -610, -610, 4037, 3578, 156, -610, -610, -610, -610, - -610, -610, 48, 286, -610, -610, 1961, 156, -610, -610, - 66, -610, -610, -610, 78, 356, 274, -610, -610, -11, - -11, -610, -610, -610, -610, 3937, -610, 3578, -610, -610, - 156, 3578, 156, 3578, 241, -11, -11, 344, 4428, -610, - 4029, 2866, 69, -610, 281, 282, 287, 290, 291, 294, - -610, 297, 301, 302, 2395, 2193, 3276, -610, -610, 7, - 1304, 3317, 373, 4670, -610, -610, -610, 307, -610, -610, - 312, 3413, 167, -610, 375, 392, 4520, 2464, 7, 393, - 4060, -610, -610, -610, 570, 330, -610, -610, -610, 3578, - 3578, 156, -610, -610, 156, 4301, 4301, -610, -610, -610, - -610, -610, -610, -610, -610, -610, -610, 4037, -610, 341, - -610, -610, -610, -610, 4037, 4037, 420, 348, -610, -610, - -610, -610, -610, -610, -610, 3569, 350, -610, 355, 4746, - 4746, -610, -610, 156, -610, -610, -610, 2193, -610, -610, - -610, -610, -610, -610, 3578, 156, -11, -11, -610, -610, - 416, -610, -610, -610, 272, 222, -610, -610, -610, 2604, - -610, -610, -610, -610, -610, -610, 4864, -610, -610, 2193, - 358, -610, 421, -610, 359, 435, -610, 2262, 7, -610, - -610, 3450, -610, 424, -610, 2604, 7, -610, -610, 432, - 7, 364, 4551, 7, -610, 376, -610, 156, 156, -610, - -610, -610, -610, -610, 27, -610, -610, -610, 235, -610, - -610, -610, -610, 377, 156, 7, 7, 7, -610, 7, - 2604, 378, 585, 382, -610, 7, 7, -610, 7, -610, - -610, 439, 7, 384, -610, 7, 4152, 7, -610, -610, - -610, 2604, 379, 4037, 7, 2604, -610, -610, 4746, 4746, - -610, 385, 4777, 4864, 4864, 2604, 4864, 2604, 2604, 452, - -610, -610, 4670, 2560, 7, -610, 4777, -610, -610, 58, - 4185, 390, 7, 455, -610, -610, 394, -610, -610, 7, - 457, 585, 585, 397, 585, 401, 405, -610, -610, 675, - -610, 410, -610, 473, -610, -610, 58, 7, 4746, 7, - 7, 4746, -610, -610, -610, 4864, -610, 4864, 4864, 7, - 7, 2604, 7, 2604, 2604, 475, 2604, 417, -610, -610, - 4746, -610, -610, 4746, 480, 585, 585, 585, 4670, 4670, - 419, 4670, 429, 431, 7, 436, 7, 484, 376, 492, - 7, -610, -610, -610, 675, 675, 7, 675, 7, 7, - -610, 7, 4670, 7, -610, 7, -610, -610, -610, 4670, - -610, 4670, 4670, 4670, -610, -610, -610, 675, 675, 675, - 410, -610, -610, -610, -610 + 2085, -55, -664, -664, 3053, 4597, 2630, 4597, 4597, 4597, + 1393, 2630, 2630, -664, 1467, -664, -664, -664, 1541, -664, + 1615, 19, 2630, 830, 2695, 3130, 3373, 1141, 55, 226, + -664, 63, 4751, -664, -664, -664, -664, -664, -664, -664, + -664, -664, -664, -664, 2630, -664, -664, -29, -664, 42, + -664, 4010, -664, -664, -664, 1689, -664, 71, -664, -664, + -664, -664, -6, 4010, 2630, 4010, 4010, 4010, 1393, 2630, + 2630, -664, 315, -664, 3227, -664, 176, 1079, 47, 48, + 50, 1034, 3, 31, 60, 72, 37, 37, 39, 39, + -664, -664, -664, -664, -664, 1837, 4204, 4204, 1222, 1911, + -664, 2878, -664, 86, 43, 27, -664, -664, -664, -664, + -664, -664, -664, -664, -664, -664, -664, -664, 22, -664, + 2430, 135, -664, -664, -664, -664, -664, -664, 3259, -664, + 3352, -664, 3384, -664, 52, 78, 83, -664, 85, -664, + 94, -664, 19, 110, 3477, -664, 115, -664, -664, -664, + 1242, 2350, -664, -664, 830, -664, -32, -664, 3247, -664, + 93, 4204, 4204, -664, 135, -664, 101, 37, 39, -664, + -664, -664, -664, -664, 4500, -664, 4269, -664, 4500, -664, + -664, -664, -664, -664, -664, -664, -664, -664, -664, -664, + -664, -664, -664, -664, -664, -664, -664, -664, -664, 915, + 961, -664, 58, -664, -664, 4204, 4204, -664, 2630, 133, + 995, -664, 308, -664, -664, 137, -664, -664, -664, -664, + 3511, 139, -664, -664, 131, -664, 141, 144, 166, 168, + 4010, 4010, -664, -664, -664, 427, -664, -664, -664, -664, + -664, -664, 480, -664, -664, -664, -664, -664, -664, -664, + -664, -664, 4204, -664, 49, -664, 4, -664, -664, -664, + -664, -664, -664, 11, 99, -664, 37, 37, -664, -664, + -664, 3552, -664, 39, -664, 18, 67, -664, -664, -664, + 2878, 2878, -664, 135, 113, 113, -664, 4204, 4204, -664, + 2630, 114, -664, 195, 2878, 4204, 4204, 135, -664, 2878, + -664, -664, -664, -664, 157, -664, -664, 159, 4597, 169, + 37, 39, 4204, 135, 3617, 3682, 4204, 4204, -664, -664, + -664, -664, -664, -664, 4625, 4597, 19, 4010, 4010, 2869, + 4625, -664, 167, 19, -664, 23, -664, -664, -664, -664, + -664, -664, -664, -664, -664, -664, -664, -664, -664, -664, + 180, 1324, -664, 179, -664, -664, 830, 830, 830, -664, + -664, -664, 830, -664, -664, -664, 4204, 135, 135, 3747, + -664, -664, 4500, -664, -664, 4269, 4269, -664, 4269, 4500, + -664, -664, 4269, -664, 3747, 3373, 2878, -664, -664, -664, + 562, -664, -664, 197, 3361, 2878, -664, -664, 175, 3747, + 230, 359, 185, -664, -664, -664, -664, 192, -664, -664, + -664, 19, -664, -664, 2178, -664, -664, -664, -664, -664, + 2630, 2630, 2630, -664, -664, 2630, 2630, 2630, 2630, 1763, + 2630, -664, 2630, -664, 4204, 4204, 183, 4844, -664, -664, + -664, 2792, 4844, 3511, 116, 4010, 4010, 4010, 4010, -664, + -664, 19, 19, 19, -664, -664, 3373, 4204, 135, -664, + -664, -664, -664, -664, -664, 35, 220, -664, -664, 1985, + 135, -664, -664, 39, -664, -664, -664, 255, 410, 204, + -664, -664, 113, 113, -664, -664, -664, -664, 3844, -664, + 4204, -664, -664, 135, 4204, 135, 4204, 195, 113, 113, + 259, 4366, -664, 3876, 2826, 208, 327, -664, 276, 280, + 4398, 2495, 19, 281, 2143, -664, -664, -664, 2039, 217, + -664, -664, -664, 4204, 4204, 135, -664, -664, 135, 4500, + 4500, -664, -664, -664, -664, -664, -664, -664, -664, -664, + -664, 3373, -664, 227, -664, -664, -664, -664, 3373, 3373, + 320, 232, -664, -664, -664, -664, -664, -664, -664, 3969, + -664, 235, 246, 251, 263, 266, 270, 271, -664, 283, + 290, 293, 2560, 2219, 2975, -664, -664, 19, 1307, 4021, + 341, 4718, -664, -664, -664, 267, -664, -664, 282, 3012, + 304, -664, 330, 4751, 4751, -664, -664, 135, -664, -664, + -664, 2219, -664, -664, -664, -664, -664, -664, 4204, 135, + 113, 113, -664, -664, 369, -664, -664, -664, 221, 385, + -664, -664, -664, 2630, -664, 2630, 19, -664, -664, 399, + 19, 337, 4491, 19, -664, 340, -664, 135, 135, -664, + -664, -664, -664, -664, 25, -664, -664, -664, 515, -664, + -664, -664, -664, -664, -664, -664, 4844, -664, -664, 2219, + 345, -664, 409, -664, 349, 430, -664, 2289, 19, -664, + -664, 3089, -664, 422, -664, -664, -664, -664, 362, 135, + 19, 19, 19, -664, 19, 2630, 371, 376, -664, 19, + 4118, 19, -664, -664, -664, 2630, 382, 3373, 19, 2630, + 581, 386, -664, 19, 19, -664, 19, -664, -664, 450, + 19, -664, -664, 4751, 4751, -664, 389, 4010, 4010, -664, + -664, 167, 4152, 390, 19, 456, -664, -664, 395, 4844, + 4844, 2630, 4844, 2630, 2630, 461, -664, -664, 4718, 2386, + 19, -664, -664, -664, 19, 467, 470, -664, -664, 167, + 19, 4751, 19, 19, 581, 581, 407, 581, 408, 414, + -664, -664, 628, -664, 420, -664, 4751, -664, -664, -664, + 4751, -664, -664, 4751, -664, -664, 4844, -664, 4844, 4844, + 19, 19, 2630, 19, 2630, 2630, 484, 2630, 432, 499, + 340, 502, 581, 581, 581, 4718, 4718, 438, 4718, 441, + 443, 19, 453, 19, 519, 19, -664, 19, -664, -664, + -664, 628, 628, 19, 628, 19, 19, -664, 19, 4718, + 19, -664, -664, -664, -664, 4718, -664, 4718, 4718, 4718, + -664, -664, 628, 628, 628, 420, -664, -664, -664, -664 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -610, -610, -610, -610, -610, -610, -610, -610, -610, -610, - -610, -610, -610, -371, -610, 39, 486, -610, -610, -610, - -610, -610, -610, -610, -610, -405, -610, -610, -610, -518, - -97, -610, -610, -280, -610, -610, 15, -32, -610, 471, - -610, 53, -610, -610, -610, -589, -610, -344, -610, -610, - -400, -610, -309, -610, 95, -610, -609, -93, -610, -610, - -281, -610, -610, -610, -610, -610, 11, 71, 79, 119, - 189, 428, 474, -610, -39, -610, -610, -610, 106, -610, - -610, -132, 144, -610, -610, -9, -12, 218, -5, -610, - -610, -610, -610, -610, 22, -610, -610, -610, -610, -140, - 731, -610, -610, -610, -610, -338, -224, -205, 541, 60, - 374, -610, 158, -610, -610, -3, -143, -7, 549, 561, - 597, -98, -610, 28, 277, -66, -76, 682, -610, 280, - -610 + -664, -664, -664, -664, -664, -664, -664, -664, -664, -664, + -664, -664, -664, -347, -664, 127, 513, -664, -664, -664, + -664, -664, -664, -664, -664, -472, -664, -664, -664, -488, + -120, -664, -664, -238, -664, -664, 14, -48, -664, 504, + -664, 224, -664, -664, -664, -663, -664, -664, -428, -664, + -664, -256, -664, -274, -664, -302, -664, -622, -191, -664, + -664, -490, -664, -664, -664, -664, -664, 0, 30, 45, + 103, 164, 172, 212, -664, -57, -664, -664, -664, 170, + -664, -664, -75, 384, -664, -664, -9, -13, 81, -16, + -664, -664, -664, -664, -664, 8, -664, -664, -664, -664, + -17, 761, -664, -664, -664, -664, -361, -216, -206, 472, + -2, 415, -664, 228, -664, -664, 64, -142, -7, 558, + 574, 579, -88, -664, -51, 317, -82, -63, 614, -664, + 333, -664 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -375 +#define YYTABLE_NINF -377 static const yytype_int16 yytable[] = { - 126, 128, 130, 139, 511, 305, 438, 144, 60, 383, - 522, 277, 58, 145, 645, 188, 146, 682, 219, 267, - 70, 210, 70, 70, 70, 260, 2, 3, 261, 317, - 241, 319, 571, 321, 460, 181, 243, 251, 300, 32, - 248, 261, 563, 313, 245, 349, 189, 425, 393, 18, - 261, 214, 594, 586, 472, 473, 227, 580, 314, 399, - 125, 127, 129, 220, 256, 456, 303, 221, 478, 261, - 261, 258, 394, 481, 587, 298, 70, 211, 70, 70, - 70, 217, 315, 400, 28, 616, 262, 617, 213, 537, - 538, 289, 461, 403, 618, 182, 223, 680, 252, 262, - 26, 69, 402, 183, 741, 742, 26, 744, 262, 28, - 595, 249, 265, 265, 26, 312, 125, 127, 129, 253, - 263, 268, 268, 264, 572, 306, 457, 262, 262, 353, - 302, 354, 313, 301, 26, 240, 358, 222, 269, 269, - 754, 26, 426, 184, 56, 26, 441, 314, 252, 56, - 705, 56, 56, 56, 261, 322, 785, 599, 786, 787, - 323, 418, 422, 304, 270, 271, 188, 779, 188, 458, - 188, 315, 632, 541, 324, 56, 471, 630, 385, 639, - 386, 325, 634, 644, 361, 617, 181, 643, 181, 356, - 181, 565, 618, 312, 56, 468, 265, 406, 464, 465, - 578, 412, 437, 357, 431, 56, 268, 56, 56, 56, - 313, 364, 262, 185, 235, 384, 56, 236, 237, 359, - 242, 244, 246, 269, 461, 314, 257, 259, 132, 133, - 134, 427, 136, 489, 477, 141, 588, 383, 679, 385, - 617, 386, 488, 70, 70, 299, 182, 618, 182, 315, - 182, 704, 362, 617, 183, 416, 183, 517, 183, 673, - 618, 216, 529, 530, 558, 559, 432, 560, 469, 470, - 56, 562, 56, 440, 56, 238, 228, 229, 230, 442, - 224, 446, 447, 476, 225, 226, 676, 677, 312, 56, - 497, 443, 265, 265, 184, 313, 184, 691, 184, 485, - 385, 439, 386, 737, 738, 313, 448, 449, 450, 195, - 444, 196, 197, 198, 445, 498, 500, 501, 199, 433, - 314, 70, 312, 482, 483, 532, 200, 535, 542, 201, - 486, 581, 516, 417, 544, 579, 265, 146, 70, 313, - 502, 353, 202, 583, 315, 353, 353, 353, 595, 531, - 203, 584, 536, 601, 314, 540, 385, 452, 386, 484, - 608, 620, 621, 731, 185, 582, 185, 622, 185, 434, - 623, 624, 56, 56, 625, 564, 499, 626, 315, 93, - 568, 627, 628, 573, 576, 26, 96, 97, 603, 638, - 435, 646, 188, 312, 598, 188, 188, 534, 188, 188, - 28, 640, 188, 612, 817, 818, 641, 820, 647, 653, - 313, 497, 181, 535, 592, 181, 181, 386, 181, 181, - 662, 665, 181, 557, 666, 314, 669, 831, 832, 833, - 561, 670, 675, 585, 684, 600, 687, 685, 795, 686, - 692, 589, 590, 591, 697, 545, 546, 547, 695, 315, - 56, 548, 186, 706, 701, 724, 732, 70, 712, 70, - 763, 764, 720, 766, 726, 739, 56, 56, 747, 56, - 757, 759, 182, 762, 760, 182, 182, 765, 182, 182, - 183, 767, 182, 183, 183, 768, 183, 183, 776, 778, - 183, 794, 671, 672, 796, 484, 800, 499, 187, 806, - 813, 56, 56, 56, 801, 802, 803, 353, 815, 808, - 146, 809, 633, 635, 353, 146, 811, 215, 814, 218, - 184, 834, 353, 184, 184, 651, 184, 184, 661, 577, - 184, 652, 703, 392, 459, 663, 664, 610, 543, 463, - 614, 656, 0, 0, 0, 0, 188, 188, 0, 0, - 0, 0, 504, 505, 506, 0, 0, 507, 508, 509, - 0, 512, 0, 513, 0, 190, 181, 181, 0, 0, - 0, 0, 0, 191, 0, 649, 0, 659, 660, 655, - 0, 0, 0, 0, 0, 192, 56, 56, 56, 56, - 185, 0, 146, 185, 185, 0, 185, 185, 0, 0, - 185, 0, 0, 186, 0, 186, 0, 186, 713, 714, - 715, 716, 717, 718, 0, 0, 0, 353, 0, 0, - 0, 193, 0, 0, 668, 0, 182, 182, 0, 56, - 366, 689, 353, 0, 183, 183, 0, 0, 0, 694, - 0, 367, 56, 696, 56, 56, 700, 0, 0, 187, - 369, 187, 0, 187, 0, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 734, 0, 0, 0, 707, 708, - 709, 0, 710, 0, 184, 184, 0, 0, 721, 722, - 56, 723, 0, 0, 56, 725, 0, 0, 727, 0, - 730, 699, 0, 0, 753, 0, 146, 735, 769, 770, - 771, 772, 773, 774, 353, 353, 194, 353, 0, 0, - 0, 0, 0, 353, 353, 0, 190, 752, 190, 0, - 190, 0, 0, 0, 191, 758, 191, 740, 191, 56, - 0, 0, 761, 56, 56, 729, 192, 0, 192, 0, - 192, 0, 0, 0, 185, 185, 0, 614, 614, 0, - 780, 0, 782, 783, 165, 0, 353, 0, 353, 353, - 0, 0, 788, 789, 0, 791, 0, 0, 0, 756, - 0, 146, 193, 0, 193, 0, 193, 0, 0, 353, - 353, 0, 353, 0, 0, 0, 0, 810, 0, 812, - 0, 0, 0, 816, 0, 0, 56, 781, 0, 819, - 784, 821, 822, 353, 823, 0, 825, 0, 826, 0, - 353, 0, 353, 353, 353, 0, 0, 363, 751, 798, - 148, 0, 799, 0, 281, 282, 283, 0, 291, 186, - 295, 0, 186, 186, 0, 186, 186, 681, 0, 186, - 56, 0, 0, 0, 0, 0, 0, 683, 0, 311, - 0, 0, 56, 56, 0, 0, 56, 194, 0, 194, - 0, 194, 0, 693, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 0, 56, 187, 149, 150, 187, 187, - 0, 187, 187, 804, 805, 187, 807, 151, 152, 0, - 0, 0, 0, 396, 397, 153, -374, 154, 711, 0, - 0, -374, 56, -374, 155, 56, 0, 824, 0, 156, - 0, 0, 0, 0, 827, 0, 828, 829, 830, 0, - 0, 0, 0, 736, 56, 0, 0, 56, 0, 0, - 0, 0, 0, 743, 0, 745, 746, 429, 430, 0, - 0, 0, 190, 0, 0, 190, 190, 0, 190, 190, - 191, 0, 190, 191, 191, 0, 191, 191, 0, 0, - 191, 0, 192, 0, 0, 192, 192, 0, 192, 192, - 0, 0, 192, 0, 0, 0, 0, 566, 0, 0, - 0, 455, 148, 186, 186, 0, 0, 0, 0, 790, - 0, 792, 793, 0, 0, 0, 0, 0, 193, 0, - 467, 193, 193, 0, 193, 193, 0, 0, 193, 295, - 295, 570, 0, 0, 0, 571, 474, 475, 0, 0, - 0, 0, 0, 295, 479, 480, 0, 0, 295, 187, - 187, 195, 0, 196, 197, 198, 0, 0, 149, 150, - 199, 490, 0, 492, 494, 495, 496, 0, 200, 151, - 152, 201, 0, 0, 0, -245, 420, 153, 567, 154, - 0, 0, 0, 0, 202, 195, 155, 196, 197, 198, - 0, 156, 203, 0, 199, 0, 0, 0, 514, 515, - 0, 0, 200, 194, 0, 201, 194, 194, 0, 194, - 194, 0, 0, 194, 0, 0, 190, 190, 202, 0, - 0, 0, 0, 0, 191, 191, 203, 572, 0, 0, - 195, 0, 196, 197, 198, 0, 192, 192, 0, 199, - 0, 0, 0, 0, 0, 0, 551, 200, 0, 554, - 201, 421, 0, 0, 205, 0, 0, 0, 73, 0, - 0, 0, 0, 202, 554, 0, 295, 0, 0, 0, - 0, 203, 193, 193, 0, 295, 0, 0, 0, 554, - 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, - 0, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 0, 0, 593, 0, 0, 88, 89, - 0, 90, 91, 0, 0, 0, 92, 597, 93, 206, - 207, 94, 0, 95, 26, 96, 97, 0, 0, 0, - 0, 0, 0, 208, 0, 98, 99, 100, 605, 0, - 0, 284, 606, 0, 607, 73, 209, 0, 101, 102, - 0, 103, 0, 0, 0, 0, 0, 194, 194, 0, - 0, 365, 0, 0, 0, 629, 0, 0, 0, 0, - 0, 0, 637, 0, 0, 74, 75, 0, 76, 77, + 128, 130, 132, 218, 409, 269, 145, 143, 319, 354, + 321, 209, 323, 580, 144, 463, 187, 307, 625, 72, + 62, 72, 72, 72, 250, 180, 279, 212, 305, 436, + 545, 263, 253, 188, 700, 267, 267, 537, 262, 598, + 60, 263, 221, 263, 302, 2, 3, 263, 243, 245, + 459, 247, 554, 304, 356, 181, 357, 229, 747, 396, + 210, 258, 263, 213, 475, 476, 216, 254, 569, 19, + 182, 263, 222, 260, 464, 242, 223, 72, 481, 72, + 72, 72, 291, 484, 270, 373, 769, 300, 461, 225, + 264, 134, 135, 136, 254, 138, 270, 251, 599, 140, + 264, 271, 264, 308, 515, 374, 264, 754, 755, 356, + 757, 357, 460, 271, 71, 255, 267, 472, 473, 27, + 27, 264, 27, 546, 270, 215, 306, 33, 183, 29, + 264, 685, 27, 324, 265, 329, 444, 266, 272, 273, + 303, 271, 389, 393, 27, 226, 662, 224, 335, 227, + 228, 398, 355, 669, 792, 397, 793, 794, 27, 325, + 699, 673, 464, 364, 326, 187, 327, 187, 315, 187, + 539, 370, 590, 314, 180, 328, 180, 237, 180, 552, + 238, 239, 377, 316, 467, 468, 383, 365, 474, 184, + 315, 330, 402, 591, 480, 371, 333, 185, 544, 511, + 512, 408, 545, 29, 181, 316, 181, 317, 181, 354, + 471, 440, 660, 441, 403, 267, 267, 664, 411, 182, + 443, 182, 445, 182, 620, 446, 621, 211, 491, 317, + 147, 127, 129, 131, 622, 681, 682, 186, 592, 240, + 678, 742, 743, 709, 72, 72, 575, 447, 492, 448, + 315, 587, 588, 194, 485, 195, 196, 197, 486, 267, + 516, 518, 198, 489, 774, 775, 557, 777, 314, 558, + 199, 332, 553, 200, 479, 612, 500, 183, 574, 183, + 506, 183, 509, 599, 605, 315, 201, 148, 149, 127, + 129, 131, 626, 314, 202, 546, 627, 633, 150, 151, + 316, 488, 808, 809, 810, 357, 152, 642, 153, 646, + 315, 555, -376, -376, -376, 154, 649, 501, 503, 504, + 155, 645, 72, 510, 317, 316, 514, 650, 538, 230, + 231, 232, 651, 542, 723, 603, 547, 550, 184, 72, + 184, 505, 184, 624, 652, 621, 185, 653, 185, 317, + 185, 654, 655, 622, 519, 520, 521, 668, 532, 533, + 522, 534, 670, 187, 656, 536, 187, 187, 607, 187, + 187, 657, 180, 187, 658, 180, 180, 671, 180, 180, + 531, 674, 180, 616, 58, 680, 186, 535, 186, 58, + 186, 58, 58, 58, 356, 410, 357, 314, 500, 596, + 509, 684, 181, 621, 559, 181, 181, 675, 181, 181, + 602, 622, 181, 145, 315, 689, 58, 182, 691, 695, + 182, 182, 702, 182, 182, 703, 802, 182, 440, 316, + 704, 705, 440, 440, 440, 58, 589, 764, 710, 711, + 556, 451, 452, 453, 593, 594, 595, 58, 314, 58, + 58, 58, 717, 317, 449, 450, 508, 718, 58, 72, + 724, 72, 244, 246, 248, 315, 740, 736, 259, 261, + 744, 750, 752, 676, 677, 183, 753, 760, 183, 183, + 316, 183, 183, 767, 641, 183, 768, 301, 776, 778, + 604, 643, 644, 811, 812, 779, 814, 189, 631, 787, + 801, 561, 562, 563, 317, 632, 564, 565, 566, 567, + 803, 570, 58, 571, 58, 805, 58, 830, 807, 813, + 187, 187, 815, 832, 816, 833, 834, 835, 58, 180, + 180, 698, 487, 621, 818, 820, 184, 639, 640, 184, + 184, 622, 184, 184, 185, 214, 184, 185, 185, 502, + 185, 185, 806, 217, 185, 823, 824, 145, 826, 181, + 181, 839, 145, 540, 551, 440, 356, 455, 357, 697, + 663, 665, 440, 363, 182, 182, 836, 837, 838, 517, + 440, 466, 636, 190, 186, 145, 0, 186, 186, 462, + 186, 186, 0, 0, 186, 0, 0, 0, 0, 191, + 0, 0, 0, 0, 192, 729, 730, 731, 732, 733, + 734, 0, 0, 0, 58, 58, 0, 0, 194, 688, + 195, 196, 197, 690, 0, 0, 694, 198, 614, 0, + 0, 618, 183, 183, 0, 199, 0, 629, 200, 193, + 726, 635, -247, 0, 0, 541, 189, 440, 189, 0, + 189, 201, 780, 781, 782, 783, 784, 785, 0, 202, + 0, 707, 440, 0, 0, 0, 0, 0, 0, 487, + 746, 502, 0, 712, 713, 714, 0, 715, 0, 145, + 0, 0, 719, 0, 722, 0, 648, 0, 0, 0, + 0, 727, 58, 184, 184, 0, 737, 738, 0, 739, + 0, 185, 185, 741, 686, 0, 687, 0, 58, 58, + 0, 58, 58, 58, 58, 0, 0, 751, 0, 0, + 440, 440, 0, 440, 0, 0, 0, 0, 0, 440, + 440, 745, 190, 765, 190, 0, 190, 766, 0, 0, + 701, 186, 186, 770, 0, 772, 773, 0, 191, 0, + 191, 0, 191, 192, 0, 192, 0, 192, 0, 693, + 0, 0, 0, 0, 0, 0, 716, 440, 0, 440, + 440, 145, 0, 795, 796, 0, 798, 0, 0, 0, + 728, 0, 0, 0, 0, 164, 440, 440, 193, 440, + 193, 0, 193, 0, 817, 0, 819, 0, 821, 0, + 822, 0, 0, 0, 0, 0, 825, 0, 827, 828, + 440, 829, 756, 831, 758, 759, 440, 721, 440, 440, + 440, 0, 0, 0, 0, 0, 0, 0, 0, 58, + 58, 58, 58, 0, 147, 0, 0, 0, 0, 0, + 618, 618, 0, 0, 189, 0, 0, 189, 189, 749, + 189, 189, 0, 0, 189, 0, 283, 284, 285, 0, + 293, 0, 297, 797, 0, 799, 800, 0, 0, 0, + 0, 0, 58, 0, 0, 0, 0, 0, 771, 0, + 0, 313, 0, 0, 0, 58, 0, 58, 58, 0, + 0, 148, 149, 789, 58, 0, 0, 790, 58, 0, + 791, 0, 150, 151, 0, 0, 0, 0, 0, 0, + 152, 0, 153, 0, 0, 0, 387, 0, 0, 154, + 0, 0, 367, 368, 155, 0, 0, 0, 0, 0, + 190, 0, 0, 190, 190, 0, 190, 190, 0, 0, + 190, 0, 0, 58, 0, 0, 191, 0, 0, 191, + 191, 192, 191, 191, 192, 192, 191, 192, 192, 0, + 0, 192, 391, 0, 0, 0, 400, 401, 0, 0, + 0, 194, 0, 195, 196, 197, 0, 58, 58, 0, + 198, 0, 0, 0, 0, 0, 193, 0, 199, 193, + 193, 200, 193, 193, 0, 388, 193, 0, 0, 0, + 404, 189, 189, 0, 201, 0, 0, 0, 0, 0, + 0, 0, 202, 458, 0, 0, 58, 194, 0, 195, + 196, 197, 0, 0, 0, 0, 198, 0, 0, 0, + 0, 0, 470, 0, 199, 0, 0, 200, 392, 0, + 0, 297, 297, 0, 0, 0, 0, 0, 477, 478, + 201, 405, 0, 0, 0, 297, 482, 483, 202, 0, + 297, 95, 0, 0, 0, 0, 0, 27, 98, 99, + 0, 0, 406, 493, 58, 495, 497, 498, 499, 0, + 241, 0, 29, 147, 0, 0, 0, 190, 190, 0, + 194, 0, 195, 196, 197, 0, 0, 58, 58, 198, + 0, 58, 58, 191, 191, 0, 58, 199, 192, 192, + 200, 0, 0, 0, 0, 0, 0, 0, 0, 249, + 0, 0, 0, 201, 0, 0, 0, 525, 0, 0, + 528, 202, 0, 0, 0, 58, 0, 0, 0, 0, + 148, 149, 204, 193, 193, 528, 75, 297, 0, 0, + 58, 150, 151, 0, 58, 0, 297, 58, 0, 152, + 528, 153, 0, 0, 0, -376, -376, -376, 154, 0, + 0, 0, 0, 155, 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 0, 0, 0, 0, 0, 88, 89, 0, 90, 91, - 657, 658, 0, 92, 0, 93, 285, 286, 94, 0, - 95, 26, 96, 97, 0, 0, 0, 0, 0, 287, - 366, 150, 98, 99, 100, 60, 0, 0, 0, 73, - 0, 367, 0, 288, 0, 101, 102, 0, 103, 368, - 369, 0, 0, 0, 0, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 0, 674, 0, 0, 0, 74, - 75, 0, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 0, 0, 0, 0, 0, 88, - 89, 0, 90, 91, 0, 0, 0, 92, 629, 93, - 0, 0, 94, 0, 95, 26, 96, 97, 131, 0, - 0, 0, 73, 0, -362, 0, 98, 99, 100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 69, 101, - 102, 0, 103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 75, 0, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 0, 0, 0, - 0, 0, 88, 89, 0, 90, 91, 0, 0, 0, - 92, 0, 93, 0, 0, 94, 0, 95, 26, 96, - 97, 135, 0, 0, 0, 73, 0, -278, 0, 98, - 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 102, 0, 103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 74, 75, 0, 76, 77, + 88, 89, 0, 0, 0, 572, 573, 90, 91, 0, + 92, 93, 0, 0, 0, 94, 0, 95, 205, 206, + 96, 0, 97, 27, 98, 99, 0, 0, 597, 0, + 0, 0, 207, 286, 100, 101, 102, 75, 0, 0, + 601, 0, 0, 0, 0, 208, 0, 103, 104, 0, + 105, 0, 0, 334, 0, 0, 147, 0, 0, 0, + 0, 609, 0, 0, 0, 610, 0, 611, 76, 77, + 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 0, 0, 0, 0, 0, 90, 91, + 0, 92, 93, 0, 637, 638, 94, 0, 95, 287, + 288, 96, 0, 97, 27, 98, 99, 0, 0, 0, + 0, 0, 289, 148, 149, 100, 101, 102, 62, 0, + 0, 0, 75, 0, 150, 151, 290, 0, 103, 104, + 0, 105, 152, -376, 153, 0, 0, 0, -376, 0, + -376, 154, 0, 659, 0, 0, 155, 0, 0, 0, + 667, 0, 0, 76, 77, 0, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 679, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 0, 0, 0, 337, 149, 0, -364, 0, + 100, 101, 102, 0, 133, 0, 338, 0, 75, 0, + 0, 0, 71, 103, 104, 340, 105, 0, 0, 0, + 341, 342, 343, 344, 345, 346, 347, 348, 349, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 659, 76, + 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 0, 0, 90, + 91, 0, 92, 93, 0, 0, 0, 94, 0, 95, + 0, 0, 96, 0, 97, 27, 98, 99, 137, 0, + 0, 0, 75, 0, -280, 0, 100, 101, 102, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, + 104, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 139, 0, 0, 0, 75, 0, -280, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 104, 0, 105, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 0, 0, 0, 0, 0, 88, 89, 0, 90, 91, - 0, 0, 0, 92, 0, 93, 0, 0, 94, 0, - 95, 26, 96, 97, 137, 0, 0, 0, 73, 0, - -278, 0, 98, 99, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 102, 0, 103, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, - 0, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 0, 0, 0, 0, 0, 88, 89, - 0, 90, 91, 0, 0, 0, 92, 0, 93, 0, - 0, 94, 0, 95, 26, 96, 97, 140, 0, 0, - 0, 73, 0, 138, 0, 98, 99, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 101, 102, - 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 74, 75, 0, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 0, 0, 0, 0, - 0, 88, 89, 0, 90, 91, 0, 0, 0, 92, - 0, 93, 0, 0, 94, 0, 95, 26, 96, 97, - 142, 0, 0, 0, 73, 0, -278, 0, 98, 99, - 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 101, 102, 0, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 74, 75, 0, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 0, - 0, 0, 0, 0, 88, 89, 0, 90, 91, 0, - 0, 0, 92, 0, 93, 0, 0, 94, 0, 95, - 26, 96, 97, 510, 0, 0, 0, 73, 0, 143, - 0, 98, 99, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 101, 102, 0, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 74, 75, 0, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 0, 0, 0, 0, 0, 88, 89, 0, - 90, 91, 0, 0, 0, 92, 0, 93, 0, 0, - 94, 0, 95, 26, 96, 97, 280, 0, 0, 0, - 73, 0, -362, 0, 98, 99, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 102, 0, - 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74, 75, 0, 76, 77, 78, 79, 0, 81, 82, - 83, 84, 0, 86, 0, 0, 0, 0, 0, 0, - 88, 89, 0, 90, 91, 0, 0, 0, 92, 0, - 93, 0, 0, 94, 0, 95, 26, 96, 97, 290, - 0, 0, 0, 73, 0, 0, 0, 98, 99, 100, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 102, 0, 103, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 75, 0, 76, 77, 78, 79, - 0, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 0, 92, 0, 93, 0, 0, 94, 0, 95, 26, - 96, 97, 596, 0, 0, 0, 73, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 102, 0, 103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 74, 75, 0, 76, - 77, 78, 79, 0, 81, 82, 83, 84, 0, 86, - 0, 0, 0, 0, 0, 0, 88, 89, 0, 90, - 91, 0, 0, 0, 92, 0, 93, 0, 0, 94, - 0, 95, 26, 96, 97, 0, 0, 0, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 102, 0, 103, - -38, 1, 0, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 366, 150, 0, 13, 0, 14, - 15, 16, 17, 0, 0, 367, 18, 0, 0, 19, - 20, 0, 0, 21, 369, 0, 0, 0, 0, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 0, 0, - 22, 23, 24, 25, 0, 0, 0, 0, 0, 59, - 0, -192, -192, -192, -192, -192, -192, -192, -192, -192, - -192, 26, -192, -192, -192, 27, -192, -192, 0, 0, - -192, 0, 0, -192, -192, 0, 28, -192, 0, 29, - 0, 0, 0, 503, -93, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, -206, -206, -206, -206, - 0, -206, -206, 0, -206, -206, -206, -206, -206, -206, - -206, -206, -206, -206, -206, -206, 0, 0, 0, -192, - 0, 0, 0, -192, 0, 0, 0, 0, 73, 0, - 0, 0, 0, 0, -192, 0, 0, -192, 0, 0, - 0, 0, -192, 0, 0, 0, 0, -206, 0, 0, - 0, 0, 0, -206, -206, -206, 0, -206, 74, 75, - 312, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 0, 0, 0, -206, 313, 88, 89, - 0, 90, 91, 0, 0, 0, 92, 0, 93, 0, - 0, 94, 314, 95, 26, 96, 97, 73, 0, 0, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 315, 0, 101, 102, - 0, 103, 0, 0, 0, 0, 0, 74, 75, 312, - 76, 77, 78, 79, 0, 81, 82, 83, 84, 0, - 86, 0, 0, 0, 0, 0, 313, 88, 89, 0, - 90, 91, 0, 0, 0, 92, 0, 93, 0, 0, - 94, 314, 95, 26, 96, 97, 73, 0, 0, 0, - 0, 0, 688, 0, 98, 99, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 315, 0, 101, 102, 0, - 103, 0, 0, 0, 0, 0, 74, 75, 0, 76, - 77, 78, 79, 307, 81, 82, 83, 84, 308, 86, - 309, 0, 0, 0, 0, 0, 88, 89, 0, 90, - 91, 0, 0, 0, 92, 0, 93, 310, 0, 94, - 73, 95, 26, 96, 97, 0, 0, 0, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 102, 0, 103, - 74, 75, 312, 76, 77, 78, 79, 0, 81, 82, - 83, 84, 0, 86, 0, 0, 0, 0, 0, 313, - 88, 89, 0, 90, 91, 0, 0, 0, 92, 0, - 93, 0, 0, 94, 314, 95, 26, 96, 97, 73, - 0, 0, 0, 0, 0, 0, 0, 98, 99, 100, - 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, - 101, 102, 0, 103, 0, 0, 0, 0, 0, 74, - 75, 0, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 0, 0, 0, 0, 0, 88, - 89, 0, 90, 91, 0, 0, 0, 92, 0, 93, - 0, 0, 94, 0, 95, 26, 96, 97, 0, 0, - 0, 0, 0, 0, 650, 0, 98, 99, 100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 102, 750, 103, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, -170, 339, 0, 340, - 341, 520, 342, 0, 0, 0, 0, 0, 0, 343, - 344, 345, 346, 521, 0, 0, 60, 0, 2, 3, - 4, 61, 62, 63, 64, 65, 66, 67, 0, 73, - 0, 0, 0, 0, 14, 0, 0, 17, 0, 0, - 0, 18, 0, 0, 68, 93, 0, 0, 0, 0, - 0, 26, 96, 97, 0, 348, 0, -170, -170, 74, - 75, 0, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, -173, 0, 0, 0, 0, 88, - 89, 0, 90, 91, 0, 0, 26, 92, 0, 93, - 27, 0, 94, 73, 95, 26, 96, 97, 0, 0, - 0, 28, 0, 0, 29, 0, 98, 99, 100, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, - 102, 0, 103, 74, 75, 0, 76, 77, 78, 79, - 161, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 0, 92, 0, 93, 0, 0, 94, 162, 95, 26, - 96, 97, 73, 0, 0, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 0, 101, 102, 0, 103, 0, 0, 0, - 0, 0, 74, 75, 0, 76, 77, 78, 79, 0, - 81, 82, 83, 84, 0, 86, 0, 0, 0, 0, - 0, 0, 88, 89, 0, 90, 91, 0, 0, 0, - 92, 0, 93, 0, 0, 94, 293, 95, 26, 96, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 98, - 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 294, 0, 101, 102, 518, 103, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 519, - 339, 0, 340, 341, 520, 342, 0, 0, 148, 0, - 0, 0, 343, 344, 345, 346, 521, 613, 0, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -38, -38, -38, 13, -38, 14, 15, 16, 17, 0, - 0, -38, 18, 0, 0, 19, 20, 0, 93, 21, - 0, 0, 0, 0, 26, 96, 97, 0, 348, 0, - 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 152, -173, 166, 0, - 0, 0, 0, 153, 0, 154, 0, 26, 0, 0, - 0, 27, 387, 388, 389, 390, 391, 156, 0, 0, - 0, 0, 28, 0, 0, 29, 0, 0, 74, 75, - -93, 76, 77, 78, 79, 167, 81, 82, 83, 168, - 0, 169, 0, 0, 0, 0, 0, 0, 170, 171, - 0, 172, 173, 0, 0, 0, 174, 0, 93, 0, - 0, 0, 175, 73, 26, 96, 97, 0, 0, 0, - 0, 0, 0, 0, 0, 176, 177, 178, 0, 0, - 0, 0, 0, 0, 0, 0, 179, 0, 101, 102, - 0, 103, 0, 74, 75, 0, 76, 77, 78, 79, - 0, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 0, 92, 0, 93, 0, 0, 94, 73, 95, 26, - 96, 97, 0, 466, 0, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 102, 0, 103, 74, 75, 0, - 76, 77, 78, 79, 0, 81, 82, 83, 84, 0, - 86, 0, 0, 0, 0, 0, 0, 88, 89, 0, - 90, 91, 0, 0, 0, 92, 0, 93, 0, 0, - 94, 73, 95, 26, 96, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 491, 0, 101, 102, 0, - 103, 74, 75, 0, 76, 77, 78, 79, 0, 81, - 82, 83, 84, 0, 86, 0, 0, 0, 0, 0, - 0, 88, 89, 0, 90, 91, 0, 0, 0, 92, - 0, 93, 0, 0, 94, 73, 95, 26, 96, 97, - 0, 0, 0, 0, 0, 0, 0, 0, 98, 99, - 100, 0, 0, 0, 0, 0, 0, 0, 0, 493, - 0, 101, 102, 0, 103, 74, 75, 0, 76, 77, - 78, 79, 552, 81, 82, 83, 84, 0, 86, 0, - 0, 0, 0, 0, 0, 88, 89, 0, 90, 91, - 0, 212, 0, 92, 148, 93, 0, 0, 94, 0, - 95, 26, 96, 97, 0, 0, 0, 0, 0, 0, - 0, 0, 98, 99, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 102, 631, 103, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 0, 339, 0, 340, 341, 520, 342, 0, - 149, 150, 0, 0, 0, 343, 344, 345, 346, 521, - 0, 151, 152, 0, 0, 0, 0, 0, 0, 153, - 0, 154, 73, 0, 0, -374, -374, -374, 155, 0, - 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 0, 0, 0, 26, 96, 97, - 0, 348, 74, 75, 0, 76, 77, 78, 79, 0, - 81, 82, 83, 84, 0, 86, 0, 0, 0, 0, - -173, 0, 88, 89, 0, 90, 91, 0, 0, 0, - 92, 0, 93, 0, 0, 94, 0, 95, 26, 96, - 97, 0, 0, 0, 0, 0, 0, 636, 0, 98, - 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 101, 102, 642, 103, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 0, - 339, 0, 340, 341, 520, 342, 0, 0, 0, 0, - 0, 0, 343, 344, 345, 346, 521, 0, 0, 0, - 0, 690, 0, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 0, 339, 0, 340, - 341, 520, 342, 0, 0, 0, 0, 0, 93, 343, - 344, 345, 346, 521, 26, 96, 97, 0, 348, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -173, 0, 0, - 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, - 0, 26, 96, 97, 0, 348, 0, 232, 0, 2, + 88, 89, 0, 0, 0, 0, 0, 90, 91, 0, + 92, 93, 0, 0, 0, 94, 0, 95, 0, 0, + 96, 0, 97, 27, 98, 99, 141, 0, 0, 0, + 75, 0, -280, 0, 100, 101, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 104, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 0, 97, 27, 98, 99, + 219, 0, 0, 0, 75, 0, 142, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 104, 0, 105, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 76, 77, 0, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 0, 0, 0, 0, 0, 90, 91, 0, 92, 93, + 0, 0, 0, 94, 0, 95, 0, 0, 96, 0, + 97, 27, 98, 99, 568, 0, 0, 0, 75, 0, + 220, 0, 100, 101, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 103, 104, 0, 105, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, + 77, 0, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 0, 0, 0, 0, 0, 90, + 91, 0, 92, 93, 0, 0, 0, 94, 0, 95, + 0, 0, 96, 0, 97, 27, 98, 99, 282, 0, + 0, 0, 75, 0, -364, 0, 100, 101, 102, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, + 104, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 76, 77, 0, 78, 79, 80, 81, + 0, 83, 84, 85, 86, 0, 88, 0, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 292, 0, 0, 0, 75, 0, 0, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 104, 0, 105, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 76, 77, 0, + 78, 79, 80, 81, 0, 83, 84, 85, 86, 0, + 88, 0, 0, 0, 0, 0, 0, 90, 91, 0, + 92, 93, 0, 0, 0, 94, 0, 95, 0, 0, + 96, 0, 97, 27, 98, 99, 600, 0, 0, 0, + 75, 0, 0, 0, 100, 101, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 104, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 76, 77, 0, 78, 79, 80, 81, 0, 83, + 84, 85, 86, 0, 88, 0, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 0, 97, 27, 98, 99, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 104, 0, 105, -38, 1, 0, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, + 337, 0, 13, 0, 14, 15, 16, 17, 18, 0, + 0, 338, 19, 0, 0, 20, 21, 0, 0, 22, + 340, 0, 0, 0, 0, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 0, 0, 23, 24, 25, 26, + 0, 0, 0, 0, 634, 0, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 27, 0, -38, + 13, 28, 14, 15, 16, 17, 18, 0, 0, 0, + 19, 0, 29, 20, 21, 30, 0, 22, 0, 560, + -93, -208, -208, -208, -208, -208, -208, -208, -208, -208, + -208, -208, -208, -208, -208, -208, 0, -208, -208, 0, + -208, -208, -208, -208, -208, -208, -208, -208, -208, -208, + -208, -208, -208, 0, 0, 27, 0, 0, 0, 28, + 0, -38, -38, 0, 75, 0, 0, 0, 0, 0, + 29, 0, 0, 30, 0, 0, 0, 0, -93, 0, + 0, 0, 0, 0, -208, 0, 0, 0, 0, 0, + -208, -208, -208, 0, -208, 76, 77, 314, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 0, 0, 0, -208, 315, 90, 91, 0, 92, 93, + 0, 0, 0, 94, 0, 95, 0, 0, 96, 316, + 97, 27, 98, 99, 75, 0, 0, 0, 0, 0, + 0, 0, 100, 101, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 317, 0, 103, 104, 0, 105, 0, + 0, 0, 0, 0, 0, 76, 77, 314, 78, 79, + 80, 81, 0, 83, 84, 85, 86, 0, 88, 0, + 0, 0, 0, 0, 315, 90, 91, 0, 92, 93, + 0, 336, 0, 94, 0, 95, 0, 0, 96, 316, + 97, 27, 98, 99, 0, 0, 0, 0, 0, 0, + 706, 0, 100, 101, 102, 0, 0, 0, 0, 0, + 0, 0, 0, 317, 0, 103, 104, 763, 105, 412, + 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, -172, 425, 0, 426, 427, 578, 428, 429, + 0, 337, 149, 0, 0, 0, 430, 431, 432, 433, + 579, 0, 338, 0, 0, 0, 0, 0, 0, 0, + 339, 340, 0, 0, 0, 75, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 0, 0, 0, 0, 0, + 0, 0, 95, 0, 0, 0, 0, 0, 27, 98, + 99, 0, 435, 0, -172, -172, 76, 77, 0, 78, + 79, 80, 81, 309, 83, 84, 85, 86, 310, 88, + 311, -175, 0, 0, 0, 0, 90, 91, 0, 92, + 93, 0, 0, 0, 94, 0, 95, 312, 0, 96, + 75, 97, 27, 98, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 104, 0, 105, + 0, 76, 77, 0, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 75, 97, 27, 98, 99, + 0, 0, 0, 0, 0, 0, 630, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 104, 0, 105, 0, 76, 77, 314, 78, + 79, 80, 81, 0, 83, 84, 85, 86, 0, 88, + 0, 0, 0, 0, 0, 315, 90, 91, 0, 92, + 93, 0, 0, 0, 94, 0, 95, 0, 0, 96, + 316, 97, 27, 98, 99, 75, 0, 0, 0, 0, + 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 317, 0, 103, 104, 0, 105, + 0, 0, 0, 0, 0, 0, 76, 77, 0, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 0, 0, 0, 0, 0, 90, 91, 0, 92, + 93, 0, 0, 0, 94, 0, 95, 0, 0, 96, + 75, 97, 27, 98, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 101, 102, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 104, 0, 105, + 0, 76, 77, 0, 78, 79, 80, 81, 160, 83, + 84, 85, 86, 0, 88, 0, 0, 0, 0, 0, + 0, 90, 91, 0, 92, 93, 0, 0, 0, 94, + 0, 95, 0, 0, 96, 161, 97, 27, 98, 99, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 162, + 0, 103, 104, 576, 105, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 577, 425, + 0, 426, 427, 578, 428, 429, 0, 0, 0, 0, + 0, 0, 430, 431, 432, 433, 579, 617, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -38, -38, -38, 13, -173, 14, 15, 16, 17, 0, - 0, 0, 18, 0, 0, 19, 20, 0, 0, 21, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 667, 0, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 73, 0, -38, 13, -38, 14, 15, - 16, 17, 0, 0, -38, 18, 0, 26, 19, 20, - 0, 27, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 74, 75, 29, 76, 77, 78, 79, - -93, 81, 82, 83, 84, 0, 86, 0, 0, 0, - 0, 0, 0, 88, 89, 0, 90, 91, 0, 0, - 26, 92, 0, 93, 27, 0, 94, 0, 95, 26, - 96, 97, 0, 0, 0, 28, 0, 0, 29, 0, - 98, 99, 100, -93, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 102, 316, 103, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, - -38, 13, 0, 14, 15, 16, 17, 0, 0, 0, - 18, 0, 0, 19, 20, 0, 318, 21, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -38, - -38, -38, 13, 0, 14, 15, 16, 17, 0, 0, - 0, 18, 0, 0, 19, 20, 0, 195, 21, 196, - 197, 198, 0, 0, 0, 26, 199, 0, 0, 27, - 0, 0, 0, 0, 200, 0, 0, 201, 0, 0, - 28, 0, 0, 29, 0, 0, 247, 0, -93, 0, - 202, 0, 0, 0, 0, 0, 26, 0, 203, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 239, 29, 0, 148, 0, 320, -93, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -38, -38, -38, 13, 0, 14, 15, 16, 17, - 0, 0, 0, 18, 0, 0, 19, 20, 0, 60, - 21, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 0, 339, 0, 340, 341, 0, - 342, 0, 149, 150, 0, 0, 0, 343, 344, 345, - 346, 347, 0, 151, 152, 0, 0, 0, 26, 0, - 0, 153, 27, 154, 0, 0, 0, -374, -374, -374, - 155, 0, 0, 28, 0, 156, 29, 0, 0, 0, - 0, -93, 0, 93, 0, 0, 0, 0, 0, 26, - 96, 97, 0, 348, 0, 360, 0, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - -38, 13, 69, 14, 15, 16, 17, 0, 0, 0, - 18, 0, 0, 19, 20, -38, -38, 21, 602, 0, + -38, -38, -38, 13, -38, 14, 15, 16, 17, 18, + 0, 0, -38, 19, 0, 0, 20, 21, 95, 0, + 22, 0, 0, 0, 27, 98, 99, 0, 435, 0, + 507, 0, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 75, 0, -38, 13, -175, 14, 15, + 16, 17, 18, 0, 0, 0, 19, 0, 27, 20, + 21, 0, 28, 22, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 76, 77, 30, 78, 79, 80, + 81, -93, 83, 84, 85, 86, 0, 88, 0, 0, + 0, 0, 0, 0, 90, 91, 0, 92, 93, 0, + 0, 27, 94, 0, 95, 28, 0, 96, 295, 97, + 27, 98, 99, 0, 0, 0, 29, 0, 0, 30, + 0, 100, 101, 102, -93, 0, 0, 0, 0, 0, + 0, 0, 296, 0, 103, 104, 661, 105, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 0, 425, 0, 426, 427, 578, 428, 429, 0, + 0, 0, 0, 0, 0, 430, 431, 432, 433, 579, + 0, 0, 0, 672, 0, 412, 413, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 0, 425, + 0, 426, 427, 578, 428, 429, 0, 0, 0, 0, + 0, 95, 430, 431, 432, 433, 579, 27, 98, 99, + 0, 435, 0, 0, 61, 0, -194, -194, -194, -194, + -194, -194, -194, -194, -194, -194, 0, -194, -194, -194, + -175, -194, -194, 0, 0, 0, -194, 0, 95, -194, + -194, 0, 0, -194, 27, 98, 99, 0, 435, 0, + 708, 0, 412, 413, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 0, 425, -175, 426, 427, + 578, 428, 429, 0, 0, 0, 0, 0, 0, 430, + 431, 432, 433, 579, 0, -194, 0, 0, 0, -194, + 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, + -194, 0, 0, -194, 0, 0, 0, 0, -194, 0, + 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, + 0, 27, 98, 99, 0, 435, 76, 77, 0, 78, + 79, 80, 81, 166, 83, 84, 85, 167, 0, 168, + 0, 0, 0, 0, -175, 0, 169, 170, 0, 171, + 172, 0, 0, 0, 173, 0, 95, 0, 0, 0, + 174, 0, 27, 98, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 175, 176, 177, 0, 0, 0, 0, + 0, 0, 0, 0, 178, 0, 103, 104, 234, 105, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, -38, 13, 0, 14, 15, 16, 17, - 0, 0, 0, 18, 0, 0, 19, 20, 0, 195, - 21, 196, 197, 198, 0, 26, 0, 0, 199, 27, - 0, 0, 0, 0, 0, 0, 200, 0, 0, 201, - 28, 0, 0, 29, 0, 0, 575, 0, -93, 0, - 0, 0, 202, 0, 0, 0, 0, 0, 26, 0, - 203, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 29, 0, 0, 0, - 611, -93, 2, 3, 4, 5, 6, 7, 8, 9, + 18, 147, 0, 0, 19, 0, 0, 20, 21, 0, + 318, 22, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, -38, 13, 0, 14, 15, - 16, 17, 0, 0, 0, 18, 0, 0, 19, 20, - 0, 654, 21, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, - 15, 16, 17, 0, 0, 0, 18, 0, 0, 19, - 20, 0, 195, 21, 196, 197, 198, 0, 0, 0, - 26, 199, 0, 0, 27, 0, 0, 0, 0, 200, - 0, 0, 201, 0, 0, 28, 0, 0, 29, 0, - 0, 0, 0, -93, 0, 202, 0, 0, 0, 0, - 0, 26, 0, 203, 0, 27, 0, -38, -38, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 29, - 0, 0, 0, 728, -93, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, - 0, 14, 15, 16, 17, 0, 0, 0, 18, 0, - 0, 19, 20, -38, -38, 21, 755, 0, 2, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, -38, 13, 0, 14, 15, 16, 17, 0, 0, - 0, 18, 0, 0, 19, 20, -38, -38, 21, 0, - 0, 0, 0, 26, 0, 0, 0, 27, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 29, 166, 0, 0, 0, -93, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 74, 75, 29, 76, 77, 78, 79, -93, - 81, 82, 83, 168, 0, 169, 0, 0, 0, 0, - 0, 0, 170, 171, 0, 172, 173, 0, 0, 0, - 174, 0, 93, 0, 0, 0, 166, 0, 26, 96, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 176, - 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 408, 0, 101, 102, 0, 103, 74, 75, 0, 76, - 77, 78, 79, 0, 81, 82, 83, 168, 0, 169, - 0, 0, 0, 0, 0, 0, 170, 171, 0, 172, - 173, 0, 0, 0, 174, 0, 93, 0, 0, 0, - 0, 0, 26, 96, 97, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 102, 533, 103, + 16, 17, 18, 0, 0, 0, 19, 0, 0, 20, + 21, 0, 0, 22, 0, 0, 0, 0, 0, 27, + 0, 0, 0, 28, 0, 0, 0, 0, 148, 149, + 0, 0, 0, 0, 29, 0, 0, 30, 0, 150, + 151, 0, -93, 0, 0, 0, 0, 152, 0, 153, + 0, 27, 0, 0, 0, 28, 358, 359, 360, 361, + 362, 155, 0, 0, 0, 0, 29, 0, 0, 30, + 0, 0, 0, 320, -93, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -38, -38, -38, 13, + 0, 14, 15, 16, 17, 18, 0, 0, 0, 19, + 0, 0, 20, 21, 0, 322, 22, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, + -38, 13, 0, 14, 15, 16, 17, 18, 0, 0, + 0, 19, 0, 0, 20, 21, 0, 194, 22, 195, + 196, 197, 0, 0, 27, 0, 198, 0, 28, 194, + 0, 195, 196, 197, 199, 0, 0, 200, 198, 29, + 0, 0, 30, 0, 549, 0, 199, -93, 0, 200, + 201, 0, 0, 0, 0, 0, 27, 0, 202, 0, + 28, 0, 201, 0, 0, 0, 0, 0, 0, 0, + 202, 29, 0, 0, 30, 0, 0, 0, 331, -93, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, 17, - 0, 0, 0, 18, 0, 0, 19, 20, 0, 609, - 21, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 18, 0, 0, 0, 19, 0, 0, 20, 21, -38, + -38, 22, 62, 0, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 0, 425, 0, + 426, 427, 0, 428, 429, 0, 0, 0, 0, 0, + 0, 430, 431, 432, 433, 434, 0, 0, 0, 27, + 0, 0, 0, 28, 0, 0, 0, 75, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, + 0, 0, -93, 0, 0, 0, 0, 95, 0, 0, + 0, 0, 0, 27, 98, 99, 0, 435, 76, 77, + 0, 78, 79, 80, 81, 0, 83, 84, 85, 86, + 0, 88, 0, 0, 0, 0, 71, 0, 90, 91, + 0, 92, 93, 0, 0, 0, 94, 0, 95, 0, + 0, 96, 75, 97, 27, 98, 99, 0, 469, 0, + 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 103, 104, + 0, 105, 0, 76, 77, 0, 78, 79, 80, 81, + 0, 83, 84, 85, 86, 0, 88, 0, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 75, 97, 27, + 98, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 494, 0, 103, 104, 0, 105, 0, 76, 77, + 0, 78, 79, 80, 81, 0, 83, 84, 85, 86, + 0, 88, 0, 0, 0, 0, 0, 0, 90, 91, + 0, 92, 93, 0, 0, 0, 94, 0, 95, 0, + 0, 96, 75, 97, 27, 98, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 100, 101, 102, 0, 0, + 0, 0, 0, 0, 0, 0, 496, 0, 103, 104, + 0, 105, 0, 76, 77, 0, 78, 79, 80, 81, + 526, 83, 84, 85, 86, 0, 88, 0, 0, 0, + 0, 0, 0, 90, 91, 0, 92, 93, 0, 0, + 0, 94, 0, 95, 0, 0, 96, 0, 97, 27, + 98, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 104, 606, 105, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -38, -38, + -38, 13, 0, 14, 15, 16, 17, 18, 0, 0, + 0, 19, 0, 0, 20, 21, 0, 615, 22, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + -38, -38, -38, 13, 0, 14, 15, 16, 17, 18, + 0, 0, 0, 19, 0, 0, 20, 21, 0, 0, + 22, 0, 0, 0, 0, 0, 27, 0, 0, 0, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 0, 30, 0, 0, 0, 0, -93, + 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, + 647, -93, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 0, 0, -38, 13, -38, 14, 15, + 16, 17, 18, 0, 0, -38, 19, 0, 0, 20, + 21, 0, 0, 22, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2, 3, 4, 63, 64, 65, 66, + 67, 68, 69, 0, 0, 0, 75, 0, 0, 14, + 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, + 70, 27, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 29, 76, 77, 30, + 78, 79, 80, 81, -93, 83, 84, 85, 86, 0, + 88, 0, 0, 0, 0, 0, 0, 90, 91, 0, + 92, 93, 27, 0, 0, 94, 28, 95, 0, 0, + 96, 0, 97, 27, 98, 99, 0, 29, 0, 0, + 30, 0, 666, 0, 100, 101, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 103, 104, 720, + 105, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, - 17, 0, 0, 0, 18, 0, 0, 19, 20, 0, - 0, 21, 0, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 29, 0, 0, 0, - 0, -93, 0, 0, 0, 0, 0, 0, 0, 26, - 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 29, 0, 0, - 0, 648, -93, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 0, 0, -38, 13, 0, 14, - 15, 16, 17, 0, 0, 0, 18, 0, 0, 19, - 20, 0, 698, 21, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, -38, 13, 0, - 14, 15, 16, 17, 0, 0, 0, 18, 0, 0, - 19, 20, 0, 0, 21, 0, 0, 0, 0, 0, - 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28, 0, 0, 29, - 0, 0, 0, 0, -93, 0, 0, 0, 0, 0, - 0, 0, 26, 0, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, - 29, 0, 0, 0, 60, -93, 2, 3, 4, 61, - 62, 63, 64, 65, 66, 67, 0, -93, -93, -93, - 0, 0, 14, 0, 0, 17, 0, 0, 0, 18, - 0, 0, 68, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 0, 339, 0, 340, - 341, 520, 342, 0, 0, 0, 0, 0, 0, 343, - 344, 345, 346, 521, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 26, 0, 0, 0, 27, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, - 0, 0, 29, 0, 0, 93, 0, 69, 0, 0, - 0, 26, 96, 97, 0, 348, 0, 0, 0, 2, + 17, 18, 0, 0, 0, 19, 0, 0, 20, 21, + -38, -38, 22, 748, 0, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 0, -38, 13, + 0, 14, 15, 16, 17, 18, 0, 0, 0, 19, + 0, 0, 20, 21, -38, -38, 22, 0, 0, 0, + 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 30, 75, + 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 27, 0, 0, 0, 28, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 76, 77, 30, 78, 79, 80, 81, -93, 83, 84, + 85, 86, 0, 88, 0, 0, 0, 0, 0, 0, + 90, 91, 0, 92, 93, 0, 0, 0, 94, 0, + 95, 0, 0, 96, 165, 97, 27, 98, 99, 0, + 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 104, 0, 105, 0, 76, 77, 0, 78, 79, + 80, 81, 0, 83, 84, 85, 167, 0, 168, 0, + 0, 0, 0, 0, 0, 169, 170, 0, 171, 172, + 0, 0, 0, 173, 0, 95, 0, 0, 0, 0, + 0, 27, 98, 99, 0, 0, 0, 0, 0, 0, + 0, 0, 175, 176, 177, 0, 0, 0, 0, 0, + 0, 0, 0, 379, 0, 103, 104, 613, 105, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 13, -173, 14, 15, 16, 17, 0, - 0, 0, 18, 0, 0, 19, 20, 0, 0, 21, - 2, 3, 4, 61, 62, 63, 64, 65, 66, 67, - 0, 0, 0, 0, 0, 0, 14, 0, 0, 17, - 0, 0, 0, 18, 0, 0, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, - 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 28, 0, 0, 29, 0, 0, 0, 0, - -93, 0, 0, 0, 0, 0, 0, 0, 26, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 29, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 0, 339, 0, 340, 341, 0, 342, 0, 0, 0, - 0, 0, 0, 343, 344, 345, 346, 347, 0, 0, + 0, 0, -38, 13, 0, 14, 15, 16, 17, 18, + 0, 0, 0, 19, 0, 0, 20, 21, 0, 628, + 22, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, -38, 13, 0, 14, 15, 16, + 17, 18, 0, 0, 0, 19, 0, 0, 20, 21, + 0, 0, 22, 0, 0, 0, 0, 0, 27, 0, + 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 30, 0, 0, 0, + 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, + 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 29, 0, 0, 30, 0, + 0, 0, 692, -93, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 165, 0, -38, 13, 0, + 14, 15, 16, 17, 18, 0, 0, 0, 19, 0, + 0, 20, 21, 0, 0, 22, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 76, 77, 0, 78, + 79, 80, 81, 0, 83, 84, 85, 167, 0, 168, + 0, 0, 0, 0, 0, 0, 169, 170, 0, 171, + 172, 0, 0, 27, 173, 0, 95, 28, 0, 0, + 0, 0, 27, 98, 99, 0, 0, 0, 29, 0, + 0, 30, 0, 175, 176, 177, -93, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 103, 104, 62, 105, + 2, 3, 4, 63, 64, 65, 66, 67, 68, 69, + 0, -93, -93, -93, 0, 0, 14, 0, 0, 0, + 18, 0, 0, 0, 19, 0, 62, 70, 2, 3, + 4, 63, 64, 65, 66, 67, 68, 69, 0, 0, + 0, 0, 0, 0, 14, 0, 0, 0, 18, 0, + 0, 0, 19, 0, 0, 70, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, + 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 29, 0, 0, 30, 0, 0, + 0, 0, 71, 0, 0, 0, 0, 27, 0, 0, + 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 29, 0, 0, 30, 0, 0, 0, 0, + 71, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 0, 425, 0, 426, 427, 578, + 428, 429, 0, 0, 0, 0, 0, 0, 430, 431, + 432, 433, 579, 0, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 0, 0, 0, 13, 0, + 14, 15, 16, 17, 18, 0, 0, 0, 19, 0, + 0, 20, 21, 0, 95, 22, 0, 0, 0, 0, + 27, 98, 99, 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -175, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, + 0, 30, 0, 0, 0, 0, -93, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 0, 425, 0, 426, 427, 0, 428, 429, 0, 0, + 0, 0, 0, 0, 430, 431, 432, 433, 434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 0, 0, 0, 26, 96, 97, 0, 348 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 95, 0, 0, 0, 0, 0, 27, 98, 99, 0, + 435 }; #define yypact_value_is_default(yystate) \ - ((yystate) == (-610)) + ((yystate) == (-664)) #define yytable_value_is_error(yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 7, 8, 9, 15, 342, 103, 211, 19, 1, 152, - 354, 87, 94, 20, 532, 24, 21, 626, 50, 85, - 5, 26, 7, 8, 9, 1, 3, 4, 4, 126, - 1, 128, 5, 130, 4, 24, 1, 1, 1, 0, - 79, 4, 413, 54, 1, 138, 24, 1, 69, 26, - 4, 0, 4, 55, 278, 279, 68, 428, 69, 69, - 7, 8, 9, 1, 1, 1, 1, 5, 292, 4, - 4, 1, 93, 297, 76, 1, 61, 5, 63, 64, - 65, 94, 93, 93, 86, 16, 62, 18, 28, 31, - 32, 96, 62, 169, 25, 24, 94, 615, 62, 62, - 71, 94, 168, 24, 713, 714, 71, 716, 62, 86, - 62, 93, 84, 85, 71, 37, 63, 64, 65, 83, - 96, 56, 56, 99, 97, 80, 62, 62, 62, 138, - 102, 138, 54, 96, 71, 75, 143, 75, 73, 73, - 729, 71, 96, 24, 0, 71, 5, 69, 62, 5, - 668, 7, 8, 9, 4, 80, 765, 79, 767, 768, - 80, 200, 201, 98, 98, 99, 175, 756, 177, 83, - 179, 93, 516, 80, 80, 31, 274, 515, 85, 523, - 87, 80, 520, 16, 145, 18, 175, 531, 177, 80, - 179, 415, 25, 37, 50, 271, 168, 175, 264, 265, - 424, 179, 211, 80, 209, 61, 56, 63, 64, 65, - 54, 151, 62, 24, 1, 155, 72, 4, 5, 80, - 76, 77, 78, 73, 62, 69, 82, 83, 10, 11, - 12, 203, 14, 309, 79, 17, 441, 380, 16, 85, - 18, 87, 308, 228, 229, 101, 175, 25, 177, 93, - 179, 16, 80, 18, 175, 1, 177, 350, 179, 597, - 25, 43, 355, 356, 404, 405, 80, 407, 98, 99, - 126, 411, 128, 80, 130, 62, 14, 15, 16, 80, - 62, 228, 229, 288, 66, 67, 14, 15, 37, 145, - 322, 80, 264, 265, 175, 54, 177, 641, 179, 306, - 85, 86, 87, 708, 709, 54, 14, 15, 16, 55, - 80, 57, 58, 59, 80, 322, 323, 324, 64, 5, - 69, 306, 37, 96, 98, 357, 72, 359, 79, 75, - 93, 80, 94, 79, 81, 96, 308, 342, 323, 54, - 325, 350, 88, 80, 93, 354, 355, 356, 62, 356, - 96, 76, 359, 79, 69, 362, 85, 86, 87, 306, - 16, 80, 80, 701, 175, 80, 177, 80, 179, 55, - 80, 80, 228, 229, 80, 414, 323, 80, 93, 65, - 419, 80, 80, 422, 423, 71, 72, 73, 485, 16, - 76, 16, 401, 37, 470, 404, 405, 358, 407, 408, - 86, 94, 411, 500, 804, 805, 94, 807, 16, 16, - 54, 443, 401, 445, 453, 404, 405, 87, 407, 408, - 79, 1, 411, 401, 76, 69, 76, 827, 828, 829, - 408, 76, 16, 440, 76, 79, 1, 16, 776, 80, - 16, 448, 449, 450, 80, 385, 386, 387, 16, 93, - 306, 391, 24, 76, 78, 16, 77, 442, 80, 444, - 741, 742, 80, 744, 80, 80, 322, 323, 16, 325, - 80, 16, 401, 16, 80, 404, 405, 80, 407, 408, - 401, 80, 411, 404, 405, 80, 407, 408, 78, 16, - 411, 16, 589, 590, 77, 442, 16, 444, 24, 80, - 16, 357, 358, 359, 785, 786, 787, 516, 16, 80, - 515, 80, 519, 520, 523, 520, 80, 31, 798, 48, - 401, 830, 531, 404, 405, 537, 407, 408, 567, 423, - 411, 538, 664, 159, 254, 574, 575, 498, 380, 262, - 501, 544, -1, -1, -1, -1, 555, 556, -1, -1, - -1, -1, 334, 335, 336, -1, -1, 339, 340, 341, - -1, 343, -1, 345, -1, 24, 555, 556, -1, -1, - -1, -1, -1, 24, -1, 536, -1, 555, 556, 540, - -1, -1, -1, -1, -1, 24, 442, 443, 444, 445, - 401, -1, 597, 404, 405, -1, 407, 408, -1, -1, - 411, -1, -1, 175, -1, 177, -1, 179, 23, 24, - 25, 26, 27, 28, -1, -1, -1, 626, -1, -1, - -1, 24, -1, -1, 585, -1, 555, 556, -1, 485, - 60, 638, 641, -1, 555, 556, -1, -1, -1, 646, - -1, 71, 498, 650, 500, 501, 653, -1, -1, 175, - 80, 177, -1, 179, -1, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 703, -1, -1, -1, 675, 676, - 677, -1, 679, -1, 555, 556, -1, -1, 685, 686, - 536, 688, -1, -1, 540, 692, -1, -1, 695, -1, - 697, 652, -1, -1, 726, -1, 701, 704, 23, 24, - 25, 26, 27, 28, 713, 714, 24, 716, -1, -1, - -1, -1, -1, 722, 723, -1, 175, 724, 177, -1, - 179, -1, -1, -1, 175, 732, 177, 712, 179, 585, - -1, -1, 739, 589, 590, 696, 175, -1, 177, -1, - 179, -1, -1, -1, 555, 556, -1, 708, 709, -1, - 757, -1, 759, 760, 23, -1, 765, -1, 767, 768, - -1, -1, 769, 770, -1, 772, -1, -1, -1, 730, - -1, 776, 175, -1, 177, -1, 179, -1, -1, 788, - 789, -1, 791, -1, -1, -1, -1, 794, -1, 796, - -1, -1, -1, 800, -1, -1, 652, 758, -1, 806, - 761, 808, 809, 812, 811, -1, 813, -1, 815, -1, - 819, -1, 821, 822, 823, -1, -1, 1, 723, 780, - 4, -1, 783, -1, 93, 94, 95, -1, 97, 401, - 99, -1, 404, 405, -1, 407, 408, 619, -1, 411, - 696, -1, -1, -1, -1, -1, -1, 629, -1, 118, - -1, -1, 708, 709, -1, -1, 712, 175, -1, 177, - -1, 179, -1, 645, -1, -1, -1, -1, -1, -1, - 726, -1, -1, -1, 730, 401, 60, 61, 404, 405, - -1, 407, 408, 788, 789, 411, 791, 71, 72, -1, - -1, -1, -1, 162, 163, 79, 80, 81, 680, -1, - -1, 85, 758, 87, 88, 761, -1, 812, -1, 93, - -1, -1, -1, -1, 819, -1, 821, 822, 823, -1, - -1, -1, -1, 705, 780, -1, -1, 783, -1, -1, - -1, -1, -1, 715, -1, 717, 718, 206, 207, -1, - -1, -1, 401, -1, -1, 404, 405, -1, 407, 408, - 401, -1, 411, 404, 405, -1, 407, 408, -1, -1, - 411, -1, 401, -1, -1, 404, 405, -1, 407, 408, - -1, -1, 411, -1, -1, -1, -1, 1, -1, -1, - -1, 250, 4, 555, 556, -1, -1, -1, -1, 771, - -1, 773, 774, -1, -1, -1, -1, -1, 401, -1, - 269, 404, 405, -1, 407, 408, -1, -1, 411, 278, - 279, 1, -1, -1, -1, 5, 285, 286, -1, -1, - -1, -1, -1, 292, 293, 294, -1, -1, 297, 555, - 556, 55, -1, 57, 58, 59, -1, -1, 60, 61, - 64, 310, -1, 312, 313, 314, 315, -1, 72, 71, - 72, 75, -1, -1, -1, 79, 1, 79, 82, 81, - -1, -1, -1, -1, 88, 55, 88, 57, 58, 59, - -1, 93, 96, -1, 64, -1, -1, -1, 347, 348, - -1, -1, 72, 401, -1, 75, 404, 405, -1, 407, - 408, -1, -1, 411, -1, -1, 555, 556, 88, -1, - -1, -1, -1, -1, 555, 556, 96, 97, -1, -1, - 55, -1, 57, 58, 59, -1, 555, 556, -1, 64, - -1, -1, -1, -1, -1, -1, 395, 72, -1, 398, - 75, 76, -1, -1, 1, -1, -1, -1, 5, -1, - -1, -1, -1, 88, 413, -1, 415, -1, -1, -1, - -1, 96, 555, 556, -1, 424, -1, -1, -1, 428, - -1, -1, -1, -1, -1, -1, -1, -1, 35, 36, - -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, 454, -1, -1, 55, 56, - -1, 58, 59, -1, -1, -1, 63, 466, 65, 66, - 67, 68, -1, 70, 71, 72, 73, -1, -1, -1, - -1, -1, -1, 80, -1, 82, 83, 84, 487, -1, - -1, 1, 491, -1, 493, 5, 93, -1, 95, 96, - -1, 98, -1, -1, -1, -1, -1, 555, 556, -1, - -1, 1, -1, -1, -1, 514, -1, -1, -1, -1, - -1, -1, 521, -1, -1, 35, 36, -1, 38, 39, + 7, 8, 9, 51, 210, 87, 22, 20, 128, 151, + 130, 27, 132, 441, 21, 4, 25, 105, 506, 5, + 1, 7, 8, 9, 81, 25, 89, 29, 1, 220, + 5, 4, 1, 25, 656, 86, 87, 384, 1, 4, + 95, 4, 55, 4, 1, 3, 4, 4, 1, 1, + 1, 1, 399, 104, 86, 25, 88, 70, 721, 1, + 5, 1, 4, 0, 280, 281, 95, 63, 429, 27, + 25, 4, 1, 1, 63, 77, 5, 63, 294, 65, + 66, 67, 98, 299, 57, 167, 749, 1, 84, 95, + 63, 10, 11, 12, 63, 14, 57, 94, 63, 18, + 63, 74, 63, 81, 81, 168, 63, 729, 730, 86, + 732, 88, 63, 74, 95, 84, 167, 99, 100, 72, + 72, 63, 72, 98, 57, 44, 99, 0, 25, 87, + 63, 619, 72, 81, 97, 142, 5, 100, 99, 100, + 97, 74, 199, 200, 72, 64, 574, 76, 150, 68, + 69, 202, 154, 581, 776, 97, 778, 779, 72, 81, + 648, 589, 63, 70, 81, 174, 81, 176, 55, 178, + 386, 70, 56, 38, 174, 81, 176, 1, 178, 395, + 4, 5, 174, 70, 266, 267, 178, 94, 276, 25, + 55, 81, 208, 77, 80, 94, 81, 25, 1, 32, + 33, 210, 5, 87, 174, 70, 176, 94, 178, 351, + 273, 220, 573, 220, 81, 266, 267, 578, 81, 174, + 81, 176, 81, 178, 16, 81, 18, 1, 310, 94, + 4, 7, 8, 9, 26, 14, 15, 25, 444, 63, + 601, 713, 714, 671, 230, 231, 437, 81, 311, 81, + 55, 442, 443, 56, 97, 58, 59, 60, 99, 310, + 80, 82, 65, 94, 754, 755, 81, 757, 38, 77, + 73, 144, 97, 76, 290, 16, 324, 174, 95, 176, + 328, 178, 330, 63, 80, 55, 89, 61, 62, 65, + 66, 67, 16, 38, 97, 98, 16, 16, 72, 73, + 70, 308, 792, 793, 794, 88, 80, 80, 82, 77, + 55, 81, 86, 87, 88, 89, 81, 324, 325, 326, + 94, 1, 308, 330, 94, 70, 333, 81, 385, 14, + 15, 16, 81, 390, 695, 80, 393, 394, 174, 325, + 176, 327, 178, 16, 81, 18, 174, 81, 176, 94, + 178, 81, 81, 26, 356, 357, 358, 16, 375, 376, + 362, 378, 95, 372, 81, 382, 375, 376, 488, 378, + 379, 81, 372, 382, 81, 375, 376, 95, 378, 379, + 372, 77, 382, 503, 0, 16, 174, 379, 176, 5, + 178, 7, 8, 9, 86, 87, 88, 38, 446, 456, + 448, 16, 372, 18, 411, 375, 376, 77, 378, 379, + 473, 26, 382, 429, 55, 16, 32, 372, 81, 79, + 375, 376, 77, 378, 379, 16, 787, 382, 437, 70, + 81, 1, 441, 442, 443, 51, 443, 739, 16, 77, + 81, 14, 15, 16, 451, 452, 453, 63, 38, 65, + 66, 67, 81, 94, 230, 231, 329, 81, 74, 445, + 78, 447, 78, 79, 80, 55, 16, 81, 84, 85, + 81, 81, 16, 593, 594, 372, 81, 16, 375, 376, + 70, 378, 379, 16, 541, 382, 16, 103, 81, 81, + 80, 548, 549, 795, 796, 81, 798, 25, 511, 79, + 16, 420, 421, 422, 94, 512, 425, 426, 427, 428, + 78, 430, 128, 432, 130, 16, 132, 819, 16, 81, + 529, 530, 81, 825, 81, 827, 828, 829, 144, 529, + 530, 16, 308, 18, 81, 16, 372, 529, 530, 375, + 376, 26, 378, 379, 372, 32, 382, 375, 376, 325, + 378, 379, 790, 49, 382, 811, 812, 573, 814, 529, + 530, 835, 578, 1, 394, 574, 86, 87, 88, 644, + 577, 578, 581, 158, 529, 530, 832, 833, 834, 351, + 589, 264, 518, 25, 372, 601, -1, 375, 376, 256, + 378, 379, -1, -1, 382, -1, -1, -1, -1, 25, + -1, -1, -1, -1, 25, 24, 25, 26, 27, 28, + 29, -1, -1, -1, 230, 231, -1, -1, 56, 626, + 58, 59, 60, 630, -1, -1, 633, 65, 501, -1, + -1, 504, 529, 530, -1, 73, -1, 510, 76, 25, + 697, 514, 80, -1, -1, 83, 174, 656, 176, -1, + 178, 89, 24, 25, 26, 27, 28, 29, -1, 97, + -1, 668, 671, -1, -1, -1, -1, -1, -1, 445, + 718, 447, -1, 680, 681, 682, -1, 684, -1, 695, + -1, -1, 689, -1, 691, -1, 559, -1, -1, -1, + -1, 698, 308, 529, 530, -1, 703, 704, -1, 706, + -1, 529, 530, 710, 623, -1, 625, -1, 324, 325, + -1, 327, 328, 329, 330, -1, -1, 724, -1, -1, + 729, 730, -1, 732, -1, -1, -1, -1, -1, 738, + 739, 717, 174, 740, 176, -1, 178, 744, -1, -1, + 659, 529, 530, 750, -1, 752, 753, -1, 174, -1, + 176, -1, 178, 174, -1, 176, -1, 178, -1, 632, + -1, -1, -1, -1, -1, -1, 685, 776, -1, 778, + 779, 787, -1, 780, 781, -1, 783, -1, -1, -1, + 699, -1, -1, -1, -1, 24, 795, 796, 174, 798, + 176, -1, 178, -1, 801, -1, 803, -1, 805, -1, + 807, -1, -1, -1, -1, -1, 813, -1, 815, 816, + 819, 818, 731, 820, 733, 734, 825, 690, 827, 828, + 829, -1, -1, -1, -1, -1, -1, -1, -1, 445, + 446, 447, 448, -1, 4, -1, -1, -1, -1, -1, + 713, 714, -1, -1, 372, -1, -1, 375, 376, 722, + 378, 379, -1, -1, 382, -1, 95, 96, 97, -1, + 99, -1, 101, 782, -1, 784, 785, -1, -1, -1, + -1, -1, 488, -1, -1, -1, -1, -1, 751, -1, + -1, 120, -1, -1, -1, 501, -1, 503, 504, -1, + -1, 61, 62, 766, 510, -1, -1, 770, 514, -1, + 773, -1, 72, 73, -1, -1, -1, -1, -1, -1, + 80, -1, 82, -1, -1, -1, 1, -1, -1, 89, + -1, -1, 161, 162, 94, -1, -1, -1, -1, -1, + 372, -1, -1, 375, 376, -1, 378, 379, -1, -1, + 382, -1, -1, 559, -1, -1, 372, -1, -1, 375, + 376, 372, 378, 379, 375, 376, 382, 378, 379, -1, + -1, 382, 1, -1, -1, -1, 205, 206, -1, -1, + -1, 56, -1, 58, 59, 60, -1, 593, 594, -1, + 65, -1, -1, -1, -1, -1, 372, -1, 73, 375, + 376, 76, 378, 379, -1, 80, 382, -1, -1, -1, + 5, 529, 530, -1, 89, -1, -1, -1, -1, -1, + -1, -1, 97, 252, -1, -1, 632, 56, -1, 58, + 59, 60, -1, -1, -1, -1, 65, -1, -1, -1, + -1, -1, 271, -1, 73, -1, -1, 76, 77, -1, + -1, 280, 281, -1, -1, -1, -1, -1, 287, 288, + 89, 56, -1, -1, -1, 294, 295, 296, 97, -1, + 299, 66, -1, -1, -1, -1, -1, 72, 73, 74, + -1, -1, 77, 312, 690, 314, 315, 316, 317, -1, + 1, -1, 87, 4, -1, -1, -1, 529, 530, -1, + 56, -1, 58, 59, 60, -1, -1, 713, 714, 65, + -1, 717, 718, 529, 530, -1, 722, 73, 529, 530, + 76, -1, -1, -1, -1, -1, -1, -1, -1, 85, + -1, -1, -1, 89, -1, -1, -1, 366, -1, -1, + 369, 97, -1, -1, -1, 751, -1, -1, -1, -1, + 61, 62, 1, 529, 530, 384, 5, 386, -1, -1, + 766, 72, 73, -1, 770, -1, 395, 773, -1, 80, + 399, 82, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, 94, -1, -1, -1, 36, 37, -1, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, -1, 434, 435, 56, 57, -1, + 59, 60, -1, -1, -1, 64, -1, 66, 67, 68, + 69, -1, 71, 72, 73, 74, -1, -1, 457, -1, + -1, -1, 81, 1, 83, 84, 85, 5, -1, -1, + 469, -1, -1, -1, -1, 94, -1, 96, 97, -1, + 99, -1, -1, 1, -1, -1, 4, -1, -1, -1, + -1, 490, -1, -1, -1, 494, -1, 496, 36, 37, + -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, -1, -1, -1, -1, -1, 56, 57, + -1, 59, 60, -1, 523, 524, 64, -1, 66, 67, + 68, 69, -1, 71, 72, 73, 74, -1, -1, -1, + -1, -1, 80, 61, 62, 83, 84, 85, 1, -1, + -1, -1, 5, -1, 72, 73, 94, -1, 96, 97, + -1, 99, 80, 81, 82, -1, -1, -1, 86, -1, + 88, 89, -1, 572, -1, -1, 94, -1, -1, -1, + 579, -1, -1, 36, 37, -1, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, 608, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, -1, -1, -1, 61, 62, -1, 81, -1, + 83, 84, 85, -1, 1, -1, 72, -1, 5, -1, + -1, -1, 95, 96, 97, 81, 99, -1, -1, -1, + 86, 87, 88, 89, 90, 91, 92, 93, 94, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 667, 36, + 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, -1, -1, -1, -1, -1, 56, + 57, -1, 59, 60, -1, -1, -1, 64, -1, 66, + -1, -1, 69, -1, 71, 72, 73, 74, 1, -1, + -1, -1, 5, -1, 81, -1, 83, 84, 85, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, + 97, -1, 99, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 36, 37, -1, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, 1, -1, -1, -1, 5, -1, 81, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, -1, 99, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 36, 37, -1, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, -1, -1, -1, -1, -1, 56, 57, -1, + 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, + 69, -1, 71, 72, 73, 74, 1, -1, -1, -1, + 5, -1, 81, -1, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 96, 97, -1, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, -1, 71, 72, 73, 74, + 1, -1, -1, -1, 5, -1, 81, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 96, 97, -1, 99, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 36, 37, -1, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + -1, -1, -1, -1, -1, 56, 57, -1, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, 69, -1, + 71, 72, 73, 74, 1, -1, -1, -1, 5, -1, + 81, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 96, 97, -1, 99, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, + 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, -1, -1, -1, -1, -1, 56, + 57, -1, 59, 60, -1, -1, -1, 64, -1, 66, + -1, -1, 69, -1, 71, 72, 73, 74, 1, -1, + -1, -1, 5, -1, 81, -1, 83, 84, 85, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, + 97, -1, 99, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 36, 37, -1, 39, 40, 41, 42, + -1, 44, 45, 46, 47, -1, 49, -1, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, 1, -1, -1, -1, 5, -1, -1, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, -1, 99, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 36, 37, -1, + 39, 40, 41, 42, -1, 44, 45, 46, 47, -1, + 49, -1, -1, -1, -1, -1, -1, 56, 57, -1, + 59, 60, -1, -1, -1, 64, -1, 66, -1, -1, + 69, -1, 71, 72, 73, 74, 1, -1, -1, -1, + 5, -1, -1, -1, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 96, 97, -1, + 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 36, 37, -1, 39, 40, 41, 42, -1, 44, + 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, -1, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 96, 97, -1, 99, 0, 1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, + 61, -1, 17, -1, 19, 20, 21, 22, 23, -1, + -1, 72, 27, -1, -1, 30, 31, -1, -1, 34, + 81, -1, -1, -1, -1, 86, 87, 88, 89, 90, + 91, 92, 93, 94, -1, -1, 51, 52, 53, 54, + -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 72, -1, 16, + 17, 76, 19, 20, 21, 22, 23, -1, -1, -1, + 27, -1, 87, 30, 31, 90, -1, 34, -1, 1, + 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, -1, 19, 20, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, -1, -1, 72, -1, -1, -1, 76, + -1, 78, 79, -1, 5, -1, -1, -1, -1, -1, + 87, -1, -1, 90, -1, -1, -1, -1, 95, -1, + -1, -1, -1, -1, 66, -1, -1, -1, -1, -1, + 72, 73, 74, -1, 76, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + -1, -1, -1, 95, 55, 56, 57, -1, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, 69, 70, + 71, 72, 73, 74, 5, -1, -1, -1, -1, -1, + -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, -1, 99, -1, + -1, -1, -1, -1, -1, 36, 37, 38, 39, 40, + 41, 42, -1, 44, 45, 46, 47, -1, 49, -1, + -1, -1, -1, -1, 55, 56, 57, -1, 59, 60, + -1, 1, -1, 64, -1, 66, -1, -1, 69, 70, + 71, 72, 73, 74, -1, -1, -1, -1, -1, -1, + 81, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, 1, 99, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, + -1, 61, 62, -1, -1, -1, 30, 31, 32, 33, + 34, -1, 72, -1, -1, -1, -1, -1, -1, -1, + 80, 81, -1, -1, -1, 5, 86, 87, 88, 89, + 90, 91, 92, 93, 94, -1, -1, -1, -1, -1, + -1, -1, 66, -1, -1, -1, -1, -1, 72, 73, + 74, -1, 76, -1, 78, 79, 36, 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - -1, -1, -1, -1, -1, 55, 56, -1, 58, 59, - 549, 550, -1, 63, -1, 65, 66, 67, 68, -1, - 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, - 60, 61, 82, 83, 84, 1, -1, -1, -1, 5, - -1, 71, -1, 93, -1, 95, 96, -1, 98, 79, - 80, -1, -1, -1, -1, 85, 86, 87, 88, 89, - 90, 91, 92, 93, -1, 604, -1, -1, -1, 35, - 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, - 56, -1, 58, 59, -1, -1, -1, 63, 637, 65, - -1, -1, 68, -1, 70, 71, 72, 73, 1, -1, - -1, -1, 5, -1, 80, -1, 82, 83, 84, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, 95, - 96, -1, 98, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 35, 36, -1, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, -1, -1, -1, - -1, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, 68, -1, 70, 71, 72, - 73, 1, -1, -1, -1, 5, -1, 80, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 95, 96, -1, 98, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 35, 36, -1, 38, 39, + 50, 95, -1, -1, -1, -1, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, 67, -1, 69, + 5, 71, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 96, 97, -1, 99, + -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, 5, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, 81, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 96, 97, -1, 99, -1, 36, 37, 38, 39, + 40, 41, 42, -1, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, 55, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, 69, + 70, 71, 72, 73, 74, 5, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, 94, -1, 96, 97, -1, 99, + -1, -1, -1, -1, -1, -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - -1, -1, -1, -1, -1, 55, 56, -1, 58, 59, - -1, -1, -1, 63, -1, 65, -1, -1, 68, -1, - 70, 71, 72, 73, 1, -1, -1, -1, 5, -1, - 80, -1, 82, 83, 84, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 35, 36, - -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, -1, -1, -1, 55, 56, - -1, 58, 59, -1, -1, -1, 63, -1, 65, -1, - -1, 68, -1, 70, 71, 72, 73, 1, -1, -1, - -1, 5, -1, 80, -1, 82, 83, 84, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 95, 96, - -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 35, 36, -1, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, -1, -1, -1, -1, - -1, 55, 56, -1, 58, 59, -1, -1, -1, 63, - -1, 65, -1, -1, 68, -1, 70, 71, 72, 73, - 1, -1, -1, -1, 5, -1, 80, -1, 82, 83, - 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 95, 96, -1, 98, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 35, 36, -1, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, - -1, -1, -1, -1, 55, 56, -1, 58, 59, -1, - -1, -1, 63, -1, 65, -1, -1, 68, -1, 70, - 71, 72, 73, 1, -1, -1, -1, 5, -1, 80, - -1, 82, 83, 84, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 95, 96, -1, 98, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 35, 36, -1, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, -1, -1, -1, -1, -1, 55, 56, -1, - 58, 59, -1, -1, -1, 63, -1, 65, -1, -1, - 68, -1, 70, 71, 72, 73, 1, -1, -1, -1, - 5, -1, 80, -1, 82, 83, 84, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, - 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 35, 36, -1, 38, 39, 40, 41, -1, 43, 44, - 45, 46, -1, 48, -1, -1, -1, -1, -1, -1, - 55, 56, -1, 58, 59, -1, -1, -1, 63, -1, - 65, -1, -1, 68, -1, 70, 71, 72, 73, 1, - -1, -1, -1, 5, -1, -1, -1, 82, 83, 84, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 95, 96, -1, 98, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 35, 36, -1, 38, 39, 40, 41, - -1, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - -1, 63, -1, 65, -1, -1, 68, -1, 70, 71, - 72, 73, 1, -1, -1, -1, 5, -1, -1, -1, - 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, 98, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 35, 36, -1, 38, - 39, 40, 41, -1, 43, 44, 45, 46, -1, 48, - -1, -1, -1, -1, -1, -1, 55, 56, -1, 58, - 59, -1, -1, -1, 63, -1, 65, -1, -1, 68, - -1, 70, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, - 0, 1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 60, 61, -1, 17, -1, 19, - 20, 21, 22, -1, -1, 71, 26, -1, -1, 29, - 30, -1, -1, 33, 80, -1, -1, -1, -1, 85, - 86, 87, 88, 89, 90, 91, 92, 93, -1, -1, - 50, 51, 52, 53, -1, -1, -1, -1, -1, 1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 71, 14, 15, 16, 75, 18, 19, -1, -1, - 22, -1, -1, 25, 26, -1, 86, 29, -1, 89, - -1, -1, -1, 1, 94, 3, 4, 5, 6, 7, + 50, -1, -1, -1, -1, -1, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, 69, + 5, 71, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 96, 97, -1, 99, + -1, 36, 37, -1, 39, 40, 41, 42, 43, 44, + 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 64, + -1, 66, -1, -1, 69, 70, 71, 72, 73, 74, + -1, -1, -1, -1, -1, -1, -1, -1, 83, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, 94, + -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, -1, -1, -1, 71, - -1, -1, -1, 75, -1, -1, -1, -1, 5, -1, - -1, -1, -1, -1, 86, -1, -1, 89, -1, -1, - -1, -1, 94, -1, -1, -1, -1, 65, -1, -1, - -1, -1, -1, 71, 72, 73, -1, 75, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, -1, -1, -1, 94, 54, 55, 56, - -1, 58, 59, -1, -1, -1, 63, -1, 65, -1, - -1, 68, 69, 70, 71, 72, 73, 5, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, - -1, -1, -1, -1, -1, -1, 93, -1, 95, 96, - -1, 98, -1, -1, -1, -1, -1, 35, 36, 37, - 38, 39, 40, 41, -1, 43, 44, 45, 46, -1, - 48, -1, -1, -1, -1, -1, 54, 55, 56, -1, - 58, 59, -1, -1, -1, 63, -1, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 5, -1, -1, -1, - -1, -1, 80, -1, 82, 83, 84, -1, -1, -1, - -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, - 98, -1, -1, -1, -1, -1, 35, 36, -1, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, -1, -1, -1, -1, -1, 55, 56, -1, 58, - 59, -1, -1, -1, 63, -1, 65, 66, -1, 68, - 5, 70, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, - 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, - 45, 46, -1, 48, -1, -1, -1, -1, -1, 54, - 55, 56, -1, 58, 59, -1, -1, -1, 63, -1, - 65, -1, -1, 68, 69, 70, 71, 72, 73, 5, - -1, -1, -1, -1, -1, -1, -1, 82, 83, 84, - -1, -1, -1, -1, -1, -1, -1, -1, 93, -1, - 95, 96, -1, 98, -1, -1, -1, -1, -1, 35, - 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, - 56, -1, 58, 59, -1, -1, -1, 63, -1, 65, - -1, -1, 68, -1, 70, 71, 72, 73, -1, -1, - -1, -1, -1, -1, 80, -1, 82, 83, 84, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, - 96, 1, 98, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, 33, -1, -1, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 5, - -1, -1, -1, -1, 19, -1, -1, 22, -1, -1, - -1, 26, -1, -1, 29, 65, -1, -1, -1, -1, - -1, 71, 72, 73, -1, 75, -1, 77, 78, 35, - 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 94, -1, -1, -1, -1, 55, - 56, -1, 58, 59, -1, -1, 71, 63, -1, 65, - 75, -1, 68, 5, 70, 71, 72, 73, -1, -1, - -1, 86, -1, -1, 89, -1, 82, 83, 84, 94, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 95, - 96, -1, 98, 35, 36, -1, 38, 39, 40, 41, - 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - -1, 63, -1, 65, -1, -1, 68, 69, 70, 71, - 72, 73, 5, -1, -1, -1, -1, -1, -1, -1, - 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, - -1, 93, -1, 95, 96, -1, 98, -1, -1, -1, - -1, -1, 35, 36, -1, 38, 39, 40, 41, -1, - 43, 44, 45, 46, -1, 48, -1, -1, -1, -1, - -1, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, 68, 69, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - 93, -1, 95, 96, 1, 98, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, 19, 20, 21, 22, -1, -1, 4, -1, - -1, -1, 29, 30, 31, 32, 33, 1, -1, 3, + -1, 19, 20, 21, 22, 23, -1, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, - -1, 25, 26, -1, -1, 29, 30, -1, 65, 33, - -1, -1, -1, -1, 71, 72, 73, -1, 75, -1, - -1, -1, -1, -1, 60, 61, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 71, 72, 94, 5, -1, - -1, -1, -1, 79, -1, 81, -1, 71, -1, -1, - -1, 75, 88, 89, 90, 91, 92, 93, -1, -1, - -1, -1, 86, -1, -1, 89, -1, -1, 35, 36, - 94, 38, 39, 40, 41, 42, 43, 44, 45, 46, - -1, 48, -1, -1, -1, -1, -1, -1, 55, 56, - -1, 58, 59, -1, -1, -1, 63, -1, 65, -1, - -1, -1, 69, 5, 71, 72, 73, -1, -1, -1, - -1, -1, -1, -1, -1, 82, 83, 84, -1, -1, - -1, -1, -1, -1, -1, -1, 93, -1, 95, 96, - -1, 98, -1, 35, 36, -1, 38, 39, 40, 41, - -1, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - -1, 63, -1, 65, -1, -1, 68, 5, 70, 71, - 72, 73, -1, 75, -1, -1, -1, -1, -1, -1, - 82, 83, 84, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 95, 96, -1, 98, 35, 36, -1, - 38, 39, 40, 41, -1, 43, 44, 45, 46, -1, - 48, -1, -1, -1, -1, -1, -1, 55, 56, -1, - 58, 59, -1, -1, -1, 63, -1, 65, -1, -1, - 68, 5, 70, 71, 72, 73, -1, -1, -1, -1, - -1, -1, -1, -1, 82, 83, 84, -1, -1, -1, - -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, - 98, 35, 36, -1, 38, 39, 40, 41, -1, 43, - 44, 45, 46, -1, 48, -1, -1, -1, -1, -1, - -1, 55, 56, -1, 58, 59, -1, -1, -1, 63, - -1, 65, -1, -1, 68, 5, 70, 71, 72, 73, - -1, -1, -1, -1, -1, -1, -1, -1, 82, 83, - 84, -1, -1, -1, -1, -1, -1, -1, -1, 93, - -1, 95, 96, -1, 98, 35, 36, -1, 38, 39, - 40, 41, 42, 43, 44, 45, 46, -1, 48, -1, - -1, -1, -1, -1, -1, 55, 56, -1, 58, 59, - -1, 1, -1, 63, 4, 65, -1, -1, 68, -1, - 70, 71, 72, 73, -1, -1, -1, -1, -1, -1, - -1, -1, 82, 83, 84, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 95, 96, 1, 98, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, -1, 17, -1, 19, 20, 21, 22, -1, - 60, 61, -1, -1, -1, 29, 30, 31, 32, 33, - -1, 71, 72, -1, -1, -1, -1, -1, -1, 79, - -1, 81, 5, -1, -1, 85, 86, 87, 88, -1, - -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, - -1, 65, -1, -1, -1, -1, -1, 71, 72, 73, - -1, 75, 35, 36, -1, 38, 39, 40, 41, -1, - 43, 44, 45, 46, -1, 48, -1, -1, -1, -1, - 94, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, 68, -1, 70, 71, 72, - 73, -1, -1, -1, -1, -1, -1, 80, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 95, 96, 1, 98, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, - 17, -1, 19, 20, 21, 22, -1, -1, -1, -1, - -1, -1, 29, 30, 31, 32, 33, -1, -1, -1, - -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, -1, 17, -1, 19, - 20, 21, 22, -1, -1, -1, -1, -1, 65, 29, - 30, 31, 32, 33, 71, 72, 73, -1, 75, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, - -1, 71, 72, 73, -1, 75, -1, 1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 94, 19, 20, 21, 22, -1, - -1, -1, 26, -1, -1, 29, 30, -1, -1, 33, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + -1, -1, 26, 27, -1, -1, 30, 31, 66, -1, + 34, -1, -1, -1, 72, 73, 74, -1, 76, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 5, -1, 16, 17, 18, 19, 20, - 21, 22, -1, -1, 25, 26, -1, 71, 29, 30, - -1, 75, 33, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 86, 35, 36, 89, 38, 39, 40, 41, - 94, 43, 44, 45, 46, -1, 48, -1, -1, -1, - -1, -1, -1, 55, 56, -1, 58, 59, -1, -1, - 71, 63, -1, 65, 75, -1, 68, -1, 70, 71, - 72, 73, -1, -1, -1, 86, -1, -1, 89, -1, - 82, 83, 84, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 95, 96, 1, 98, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, -1, 19, 20, 21, 22, -1, -1, -1, - 26, -1, -1, 29, 30, -1, 1, 33, 3, 4, + 11, 12, 13, 5, -1, 16, 17, 95, 19, 20, + 21, 22, 23, -1, -1, -1, 27, -1, 72, 30, + 31, -1, 76, 34, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 87, 36, 37, 90, 39, 40, 41, + 42, 95, 44, 45, 46, 47, -1, 49, -1, -1, + -1, -1, -1, -1, 56, 57, -1, 59, 60, -1, + -1, 72, 64, -1, 66, 76, -1, 69, 70, 71, + 72, 73, 74, -1, -1, -1, 87, -1, -1, 90, + -1, 83, 84, 85, 95, -1, -1, -1, -1, -1, + -1, -1, 94, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, 19, 20, 21, 22, -1, -1, - -1, 26, -1, -1, 29, 30, -1, 55, 33, 57, - 58, 59, -1, -1, -1, 71, 64, -1, -1, 75, - -1, -1, -1, -1, 72, -1, -1, 75, -1, -1, - 86, -1, -1, 89, -1, -1, 84, -1, 94, -1, - 88, -1, -1, -1, -1, -1, 71, -1, 96, -1, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 86, -1, 1, 89, -1, 4, -1, 1, 94, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, - -1, -1, -1, 26, -1, -1, 29, 30, -1, 1, - 33, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, -1, 17, -1, 19, 20, -1, - 22, -1, 60, 61, -1, -1, -1, 29, 30, 31, - 32, 33, -1, 71, 72, -1, -1, -1, 71, -1, - -1, 79, 75, 81, -1, -1, -1, 85, 86, 87, - 88, -1, -1, 86, -1, 93, 89, -1, -1, -1, - -1, 94, -1, 65, -1, -1, -1, -1, -1, 71, - 72, 73, -1, 75, -1, 1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, - 16, 17, 94, 19, 20, 21, 22, -1, -1, -1, - 26, -1, -1, 29, 30, 31, 32, 33, 1, -1, + 15, -1, 17, -1, 19, 20, 21, 22, 23, -1, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, -1, 17, + -1, 19, 20, 21, 22, 23, -1, -1, -1, -1, + -1, 66, 30, 31, 32, 33, 34, 72, 73, 74, + -1, 76, -1, -1, 1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, + 95, 18, 19, -1, -1, -1, 23, -1, 66, 26, + 27, -1, -1, 30, 72, 73, 74, -1, 76, -1, + 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, -1, 17, 95, 19, 20, + 21, 22, 23, -1, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, -1, 72, -1, -1, -1, 76, + -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, + 87, -1, -1, 90, -1, -1, -1, -1, 95, -1, + -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, + -1, 72, 73, 74, -1, 76, 36, 37, -1, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, 95, -1, 56, 57, -1, 59, + 60, -1, -1, -1, 64, -1, 66, -1, -1, -1, + 70, -1, 72, 73, 74, -1, -1, -1, -1, -1, + -1, -1, -1, 83, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, 94, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, - -1, -1, -1, 26, -1, -1, 29, 30, -1, 55, - 33, 57, 58, 59, -1, 71, -1, -1, 64, 75, - -1, -1, -1, -1, -1, -1, 72, -1, -1, 75, - 86, -1, -1, 89, -1, -1, 82, -1, 94, -1, - -1, -1, 88, -1, -1, -1, -1, -1, 71, -1, - 96, -1, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 86, -1, -1, 89, -1, -1, -1, - 1, 94, 3, 4, 5, 6, 7, 8, 9, 10, + 23, 4, -1, -1, 27, -1, -1, 30, 31, -1, + 1, 34, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, - 21, 22, -1, -1, -1, 26, -1, -1, 29, 30, - -1, 1, 33, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, - 20, 21, 22, -1, -1, -1, 26, -1, -1, 29, - 30, -1, 55, 33, 57, 58, 59, -1, -1, -1, - 71, 64, -1, -1, 75, -1, -1, -1, -1, 72, - -1, -1, 75, -1, -1, 86, -1, -1, 89, -1, - -1, -1, -1, 94, -1, 88, -1, -1, -1, -1, - -1, 71, -1, 96, -1, 75, -1, 77, 78, -1, - -1, -1, -1, -1, -1, -1, 86, -1, -1, 89, - -1, -1, -1, 1, 94, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, - -1, 19, 20, 21, 22, -1, -1, -1, 26, -1, - -1, 29, 30, 31, 32, 33, 1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, - -1, 16, 17, -1, 19, 20, 21, 22, -1, -1, - -1, 26, -1, -1, 29, 30, 31, 32, 33, -1, - -1, -1, -1, 71, -1, -1, -1, 75, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, - -1, 89, 5, -1, -1, -1, 94, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, - 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 86, 35, 36, 89, 38, 39, 40, 41, 94, - 43, 44, 45, 46, -1, 48, -1, -1, -1, -1, - -1, -1, 55, 56, -1, 58, 59, -1, -1, -1, - 63, -1, 65, -1, -1, -1, 5, -1, 71, 72, - 73, -1, -1, -1, -1, -1, -1, -1, -1, 82, - 83, 84, -1, -1, -1, -1, -1, -1, -1, -1, - 93, -1, 95, 96, -1, 98, 35, 36, -1, 38, - 39, 40, 41, -1, 43, 44, 45, 46, -1, 48, - -1, -1, -1, -1, -1, -1, 55, 56, -1, 58, - 59, -1, -1, -1, 63, -1, 65, -1, -1, -1, - -1, -1, 71, 72, 73, -1, -1, -1, -1, -1, - -1, -1, -1, 82, 83, 84, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 95, 96, 1, 98, + 21, 22, 23, -1, -1, -1, 27, -1, -1, 30, + 31, -1, -1, 34, -1, -1, -1, -1, -1, 72, + -1, -1, -1, 76, -1, -1, -1, -1, 61, 62, + -1, -1, -1, -1, 87, -1, -1, 90, -1, 72, + 73, -1, 95, -1, -1, -1, -1, 80, -1, 82, + -1, 72, -1, -1, -1, 76, 89, 90, 91, 92, + 93, 94, -1, -1, -1, -1, 87, -1, -1, 90, + -1, -1, -1, 1, 95, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + -1, 19, 20, 21, 22, 23, -1, -1, -1, 27, + -1, -1, 30, 31, -1, 1, 34, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, 21, 22, 23, -1, -1, + -1, 27, -1, -1, 30, 31, -1, 56, 34, 58, + 59, 60, -1, -1, 72, -1, 65, -1, 76, 56, + -1, 58, 59, 60, 73, -1, -1, 76, 65, 87, + -1, -1, 90, -1, 83, -1, 73, 95, -1, 76, + 89, -1, -1, -1, -1, -1, 72, -1, 97, -1, + 76, -1, 89, -1, -1, -1, -1, -1, -1, -1, + 97, 87, -1, -1, 90, -1, -1, -1, 1, 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, 20, 21, 22, - -1, -1, -1, 26, -1, -1, 29, 30, -1, 1, - 33, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 23, -1, -1, -1, 27, -1, -1, 30, 31, 32, + 33, 34, 1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, -1, 17, -1, + 19, 20, -1, 22, 23, -1, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, -1, -1, -1, 72, + -1, -1, -1, 76, -1, -1, -1, 5, -1, -1, + -1, -1, -1, -1, 87, -1, -1, 90, -1, -1, + -1, -1, 95, -1, -1, -1, -1, 66, -1, -1, + -1, -1, -1, 72, 73, 74, -1, 76, 36, 37, + -1, 39, 40, 41, 42, -1, 44, 45, 46, 47, + -1, 49, -1, -1, -1, -1, 95, -1, 56, 57, + -1, 59, 60, -1, -1, -1, 64, -1, 66, -1, + -1, 69, 5, 71, 72, 73, 74, -1, 76, -1, + -1, -1, -1, -1, -1, 83, 84, 85, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 96, 97, + -1, 99, -1, 36, 37, -1, 39, 40, 41, 42, + -1, 44, 45, 46, 47, -1, 49, -1, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, 5, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, 94, -1, 96, 97, -1, 99, -1, 36, 37, + -1, 39, 40, 41, 42, -1, 44, 45, 46, 47, + -1, 49, -1, -1, -1, -1, -1, -1, 56, 57, + -1, 59, 60, -1, -1, -1, 64, -1, 66, -1, + -1, 69, 5, 71, 72, 73, 74, -1, -1, -1, + -1, -1, -1, -1, -1, 83, 84, 85, -1, -1, + -1, -1, -1, -1, -1, -1, 94, -1, 96, 97, + -1, 99, -1, 36, 37, -1, 39, 40, 41, 42, + 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, + -1, -1, -1, 56, 57, -1, 59, 60, -1, -1, + -1, 64, -1, 66, -1, -1, 69, -1, 71, 72, + 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, + 83, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 96, 97, 1, 99, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, -1, 19, 20, 21, 22, 23, -1, -1, + -1, 27, -1, -1, 30, 31, -1, 1, 34, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, + -1, -1, -1, 27, -1, -1, 30, 31, -1, -1, + 34, -1, -1, -1, -1, -1, 72, -1, -1, -1, + 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 87, -1, -1, 90, -1, -1, -1, -1, 95, + -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, + -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 87, -1, -1, 90, -1, -1, -1, + 1, 95, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, -1, -1, 16, 17, 18, 19, 20, + 21, 22, 23, -1, -1, 26, 27, -1, -1, 30, + 31, -1, -1, 34, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, -1, -1, -1, 5, -1, -1, 19, + -1, -1, -1, 23, -1, -1, -1, 27, -1, -1, + 30, 72, -1, -1, -1, 76, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 87, 36, 37, 90, + 39, 40, 41, 42, 95, 44, 45, 46, 47, -1, + 49, -1, -1, -1, -1, -1, -1, 56, 57, -1, + 59, 60, 72, -1, -1, 64, 76, 66, -1, -1, + 69, -1, 71, 72, 73, 74, -1, 87, -1, -1, + 90, -1, 81, -1, 83, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 96, 97, 1, + 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, 20, 21, - 22, -1, -1, -1, 26, -1, -1, 29, 30, -1, - -1, 33, -1, -1, -1, -1, -1, -1, 71, -1, - -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 86, -1, -1, 89, -1, -1, -1, - -1, 94, -1, -1, -1, -1, -1, -1, -1, 71, - -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 86, -1, -1, 89, -1, -1, - -1, 1, 94, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, -1, -1, 16, 17, -1, 19, - 20, 21, 22, -1, -1, -1, 26, -1, -1, 29, - 30, -1, 1, 33, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, -1, -1, 16, 17, -1, - 19, 20, 21, 22, -1, -1, -1, 26, -1, -1, - 29, 30, -1, -1, 33, -1, -1, -1, -1, -1, - -1, 71, -1, -1, -1, 75, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 86, -1, -1, 89, - -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, - -1, -1, 71, -1, -1, -1, 75, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, - 89, -1, -1, -1, 1, 94, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, 15, 16, - -1, -1, 19, -1, -1, 22, -1, -1, -1, 26, - -1, -1, 29, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, -1, 17, -1, 19, - 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, - 30, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 71, -1, -1, -1, 75, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, - -1, -1, 89, -1, -1, 65, -1, 94, -1, -1, - -1, 71, 72, 73, -1, 75, -1, -1, -1, 3, + 22, 23, -1, -1, -1, 27, -1, -1, 30, 31, + 32, 33, 34, 1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, -1, -1, 16, 17, + -1, 19, 20, 21, 22, 23, -1, -1, -1, 27, + -1, -1, 30, 31, 32, 33, 34, -1, -1, -1, + 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 87, -1, -1, 90, 5, + -1, -1, -1, 95, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, + 36, 37, 90, 39, 40, 41, 42, 95, 44, 45, + 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, + 56, 57, -1, 59, 60, -1, -1, -1, 64, -1, + 66, -1, -1, 69, 5, 71, 72, 73, 74, -1, + -1, -1, -1, -1, -1, -1, -1, 83, 84, 85, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 96, 97, -1, 99, -1, 36, 37, -1, 39, 40, + 41, 42, -1, 44, 45, 46, 47, -1, 49, -1, + -1, -1, -1, -1, -1, 56, 57, -1, 59, 60, + -1, -1, -1, 64, -1, 66, -1, -1, -1, -1, + -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, + -1, -1, 83, 84, 85, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - -1, -1, -1, 17, 94, 19, 20, 21, 22, -1, - -1, -1, 26, -1, -1, 29, 30, -1, -1, 33, + -1, -1, 16, 17, -1, 19, 20, 21, 22, 23, + -1, -1, -1, 27, -1, -1, 30, 31, -1, 1, + 34, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, -1, -1, 16, 17, -1, 19, 20, 21, + 22, 23, -1, -1, -1, 27, -1, -1, 30, 31, + -1, -1, 34, -1, -1, -1, -1, -1, 72, -1, + -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 87, -1, -1, 90, -1, -1, -1, + -1, 95, -1, -1, -1, -1, -1, -1, -1, -1, + 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 87, -1, -1, 90, -1, + -1, -1, 1, 95, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 5, -1, 16, 17, -1, + 19, 20, 21, 22, 23, -1, -1, -1, 27, -1, + -1, 30, 31, -1, -1, 34, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 36, 37, -1, 39, + 40, 41, 42, -1, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, -1, 56, 57, -1, 59, + 60, -1, -1, 72, 64, -1, 66, 76, -1, -1, + -1, -1, 72, 73, 74, -1, -1, -1, 87, -1, + -1, 90, -1, 83, 84, 85, 95, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 96, 97, 1, 99, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, -1, -1, -1, -1, -1, 19, -1, -1, 22, - -1, -1, -1, 26, -1, -1, 29, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, - -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 86, -1, -1, 89, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, -1, 71, -1, - -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 86, -1, -1, 89, 3, 4, 5, + -1, 14, 15, 16, -1, -1, 19, -1, -1, -1, + 23, -1, -1, -1, 27, -1, 1, 30, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, 19, -1, -1, -1, 23, -1, + -1, -1, 27, -1, -1, 30, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, + -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 87, -1, -1, 90, -1, -1, + -1, -1, 95, -1, -1, -1, -1, 72, -1, -1, + -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 87, -1, -1, 90, -1, -1, -1, -1, + 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, -1, 17, -1, 19, 20, 21, + 22, 23, -1, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, -1, -1, -1, 17, -1, + 19, 20, 21, 22, 23, -1, -1, -1, 27, -1, + -1, 30, 31, -1, 66, 34, -1, -1, -1, -1, + 72, 73, 74, -1, 76, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 95, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, + -1, 90, -1, -1, -1, -1, 95, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - -1, 17, -1, 19, 20, -1, 22, -1, -1, -1, - -1, -1, -1, 29, 30, 31, 32, 33, -1, -1, + -1, 17, -1, 19, 20, -1, 22, 23, -1, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, - -1, -1, -1, -1, -1, 71, 72, 73, -1, 75 + 66, -1, -1, -1, -1, -1, 72, 73, 74, -1, + 76 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2285,89 +2289,89 @@ static const yytype_int16 yycheck[] = static const yytype_uint8 yystos[] = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 17, 19, 20, 21, 22, 26, 29, - 30, 33, 50, 51, 52, 53, 71, 75, 86, 89, - 101, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 127, 128, 132, 135, 136, 137, 138, 139, - 140, 143, 144, 146, 161, 162, 182, 207, 94, 1, - 1, 6, 7, 8, 9, 10, 11, 12, 29, 94, - 136, 141, 217, 5, 35, 36, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 55, 56, - 58, 59, 63, 65, 68, 70, 72, 73, 82, 83, - 84, 95, 96, 98, 166, 167, 168, 169, 170, 171, - 172, 182, 183, 184, 185, 186, 187, 188, 189, 200, - 208, 218, 219, 220, 227, 141, 217, 141, 217, 141, - 217, 1, 187, 187, 187, 1, 187, 1, 80, 186, - 1, 187, 1, 80, 186, 217, 188, 205, 4, 60, - 61, 71, 72, 79, 81, 88, 93, 209, 210, 211, - 216, 42, 69, 93, 105, 200, 5, 42, 46, 48, - 55, 56, 58, 59, 63, 69, 82, 83, 84, 93, - 109, 166, 167, 168, 169, 170, 171, 172, 185, 194, - 208, 218, 219, 220, 227, 55, 57, 58, 59, 64, - 72, 75, 88, 96, 174, 1, 66, 67, 80, 93, - 188, 5, 1, 209, 0, 116, 187, 94, 139, 137, - 1, 5, 75, 94, 187, 187, 187, 186, 14, 15, - 16, 142, 1, 115, 130, 1, 4, 5, 62, 1, - 209, 1, 182, 1, 182, 1, 182, 84, 174, 93, - 190, 1, 62, 83, 228, 229, 1, 182, 1, 182, - 1, 4, 62, 96, 99, 223, 225, 225, 56, 73, - 98, 99, 165, 221, 222, 223, 226, 226, 204, 203, - 1, 200, 200, 200, 1, 66, 67, 79, 93, 188, - 1, 200, 202, 69, 93, 200, 206, 201, 1, 182, - 1, 96, 223, 1, 98, 221, 80, 42, 47, 49, - 66, 200, 37, 54, 69, 93, 1, 130, 1, 130, - 1, 130, 80, 80, 80, 80, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, - 19, 20, 22, 29, 30, 31, 32, 33, 75, 157, - 158, 159, 164, 185, 217, 230, 80, 80, 217, 80, - 1, 115, 80, 1, 209, 1, 60, 71, 79, 80, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 212, - 213, 214, 215, 216, 209, 85, 87, 88, 89, 90, - 91, 92, 210, 69, 93, 106, 200, 200, 102, 69, - 93, 110, 225, 226, 198, 197, 194, 196, 93, 194, - 199, 195, 194, 103, 177, 176, 1, 79, 174, 179, - 1, 76, 174, 180, 175, 1, 96, 223, 104, 200, - 200, 188, 80, 5, 55, 76, 163, 185, 207, 86, - 80, 5, 80, 80, 80, 80, 141, 141, 14, 15, - 16, 131, 86, 173, 191, 200, 1, 62, 83, 229, - 4, 62, 224, 224, 225, 225, 75, 200, 226, 98, - 99, 221, 206, 206, 200, 200, 188, 79, 206, 200, - 200, 206, 96, 98, 141, 217, 93, 192, 225, 226, - 200, 93, 200, 93, 200, 200, 200, 137, 217, 141, - 217, 217, 136, 1, 187, 187, 187, 187, 187, 187, - 1, 205, 187, 187, 200, 200, 94, 157, 1, 16, - 21, 33, 147, 148, 149, 151, 155, 156, 157, 157, - 157, 217, 137, 1, 115, 137, 217, 31, 32, 145, - 217, 80, 79, 212, 81, 209, 209, 209, 209, 108, - 107, 200, 42, 113, 200, 112, 111, 194, 199, 199, - 199, 194, 199, 113, 174, 206, 1, 82, 174, 178, - 1, 5, 97, 174, 181, 82, 174, 178, 206, 96, - 113, 80, 80, 80, 76, 217, 55, 76, 207, 217, - 217, 217, 174, 200, 4, 62, 1, 200, 226, 79, - 79, 79, 1, 130, 193, 200, 200, 200, 16, 1, - 115, 1, 130, 1, 115, 125, 16, 18, 25, 129, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 200, - 205, 1, 147, 217, 205, 217, 80, 200, 16, 147, - 94, 94, 1, 147, 16, 129, 16, 16, 1, 115, - 80, 186, 217, 16, 1, 115, 215, 200, 200, 194, - 194, 174, 79, 174, 174, 1, 76, 1, 115, 76, - 76, 130, 130, 205, 200, 16, 14, 15, 126, 16, - 129, 187, 156, 187, 76, 16, 80, 1, 80, 217, - 1, 147, 16, 187, 217, 16, 217, 80, 1, 115, - 217, 78, 133, 181, 16, 129, 76, 217, 217, 217, - 217, 187, 80, 23, 24, 25, 26, 27, 28, 160, - 80, 217, 217, 217, 16, 217, 80, 217, 1, 115, - 217, 205, 77, 134, 174, 217, 187, 125, 125, 80, - 136, 156, 156, 187, 156, 187, 187, 16, 147, 154, - 1, 154, 217, 137, 145, 1, 115, 80, 217, 16, - 80, 217, 16, 160, 160, 80, 160, 80, 80, 23, - 24, 25, 26, 27, 28, 150, 78, 152, 16, 145, - 217, 115, 217, 217, 115, 156, 156, 156, 217, 217, - 187, 217, 187, 187, 16, 205, 77, 153, 115, 115, - 16, 160, 160, 160, 154, 154, 80, 154, 80, 80, - 217, 80, 217, 16, 133, 16, 217, 150, 150, 217, - 150, 217, 217, 217, 154, 217, 217, 154, 154, 154, - 154, 150, 150, 150, 152 + 11, 12, 13, 17, 19, 20, 21, 22, 23, 27, + 30, 31, 34, 51, 52, 53, 54, 72, 76, 87, + 90, 102, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 128, 129, 133, 136, 137, 138, 139, + 140, 141, 144, 145, 147, 148, 163, 164, 184, 209, + 95, 1, 1, 6, 7, 8, 9, 10, 11, 12, + 30, 95, 137, 142, 219, 5, 36, 37, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 56, 57, 59, 60, 64, 66, 69, 71, 73, 74, + 83, 84, 85, 96, 97, 99, 168, 169, 170, 171, + 172, 173, 174, 184, 185, 186, 187, 188, 189, 190, + 191, 202, 210, 220, 221, 222, 229, 142, 219, 142, + 219, 142, 219, 1, 189, 189, 189, 1, 189, 1, + 189, 1, 81, 188, 219, 190, 207, 4, 61, 62, + 72, 73, 80, 82, 89, 94, 211, 212, 213, 218, + 43, 70, 94, 106, 202, 5, 43, 47, 49, 56, + 57, 59, 60, 64, 70, 83, 84, 85, 94, 110, + 168, 169, 170, 171, 172, 173, 174, 187, 196, 210, + 220, 221, 222, 229, 56, 58, 59, 60, 65, 73, + 76, 89, 97, 176, 1, 67, 68, 81, 94, 190, + 5, 1, 211, 0, 117, 189, 95, 140, 138, 1, + 81, 188, 1, 5, 76, 95, 189, 189, 189, 188, + 14, 15, 16, 143, 1, 116, 131, 1, 4, 5, + 63, 1, 211, 1, 184, 1, 184, 1, 184, 85, + 176, 94, 192, 1, 63, 84, 230, 231, 1, 184, + 1, 184, 1, 4, 63, 97, 100, 225, 227, 227, + 57, 74, 99, 100, 167, 223, 224, 225, 228, 228, + 206, 205, 1, 202, 202, 202, 1, 67, 68, 80, + 94, 190, 1, 202, 204, 70, 94, 202, 208, 203, + 1, 184, 1, 97, 225, 1, 99, 223, 81, 43, + 48, 50, 67, 202, 38, 55, 70, 94, 1, 131, + 1, 131, 1, 131, 81, 81, 81, 81, 81, 219, + 81, 1, 116, 81, 1, 211, 1, 61, 72, 80, + 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 214, 215, 216, 217, 218, 211, 86, 88, 89, 90, + 91, 92, 93, 212, 70, 94, 107, 202, 202, 103, + 70, 94, 111, 227, 228, 200, 199, 196, 198, 94, + 196, 201, 197, 196, 104, 179, 178, 1, 80, 176, + 181, 1, 77, 176, 182, 177, 1, 97, 225, 105, + 202, 202, 190, 81, 5, 56, 77, 165, 187, 209, + 87, 81, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 17, 19, 20, 22, 23, + 30, 31, 32, 33, 34, 76, 159, 160, 161, 166, + 187, 219, 232, 81, 5, 81, 81, 81, 81, 142, + 142, 14, 15, 16, 132, 87, 175, 193, 202, 1, + 63, 84, 231, 4, 63, 226, 226, 227, 227, 76, + 202, 228, 99, 100, 223, 208, 208, 202, 202, 190, + 80, 208, 202, 202, 208, 97, 99, 142, 219, 94, + 194, 227, 228, 202, 94, 202, 94, 202, 202, 202, + 138, 219, 142, 219, 219, 137, 138, 1, 116, 138, + 219, 32, 33, 146, 219, 81, 80, 214, 82, 211, + 211, 211, 211, 109, 108, 202, 43, 114, 202, 113, + 112, 196, 201, 201, 201, 196, 201, 114, 176, 208, + 1, 83, 176, 180, 1, 5, 98, 176, 183, 83, + 176, 180, 208, 97, 114, 81, 81, 81, 77, 219, + 1, 189, 189, 189, 189, 189, 189, 189, 1, 207, + 189, 189, 202, 202, 95, 159, 1, 16, 21, 34, + 149, 150, 151, 153, 157, 158, 159, 159, 159, 219, + 56, 77, 209, 219, 219, 219, 176, 202, 4, 63, + 1, 202, 228, 80, 80, 80, 1, 131, 195, 202, + 202, 202, 16, 1, 116, 1, 131, 1, 116, 126, + 16, 18, 26, 130, 16, 130, 16, 16, 1, 116, + 81, 188, 219, 16, 1, 116, 217, 202, 202, 196, + 196, 176, 80, 176, 176, 1, 77, 1, 116, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 202, + 207, 1, 149, 219, 207, 219, 81, 202, 16, 149, + 95, 95, 1, 149, 77, 77, 131, 131, 207, 202, + 16, 14, 15, 127, 16, 130, 189, 189, 219, 16, + 219, 81, 1, 116, 219, 79, 134, 183, 16, 130, + 158, 189, 77, 16, 81, 1, 81, 219, 1, 149, + 16, 77, 219, 219, 219, 219, 189, 81, 81, 219, + 1, 116, 219, 207, 78, 135, 176, 219, 189, 24, + 25, 26, 27, 28, 29, 162, 81, 219, 219, 219, + 16, 219, 126, 126, 81, 137, 138, 146, 1, 116, + 81, 219, 16, 81, 158, 158, 189, 158, 189, 189, + 16, 149, 156, 1, 156, 219, 219, 16, 16, 146, + 219, 116, 219, 219, 162, 162, 81, 162, 81, 81, + 24, 25, 26, 27, 28, 29, 152, 79, 154, 116, + 116, 116, 158, 158, 158, 219, 219, 189, 219, 189, + 189, 16, 207, 78, 155, 16, 134, 16, 162, 162, + 162, 156, 156, 81, 156, 81, 81, 219, 81, 219, + 16, 219, 219, 152, 152, 219, 152, 219, 219, 219, + 156, 219, 156, 156, 156, 156, 152, 152, 152, 154 }; #define yyerrok (yyerrstatus = 0) @@ -3216,14 +3220,14 @@ yyreduce: case 2: /* Line 1806 of yacc.c */ -#line 175 "parser.y" +#line 177 "parser.y" { set_syntax_tree(parser, (yyvsp[(1) - (1)].val)); } break; case 3: /* Line 1806 of yacc.c */ -#line 176 "parser.y" +#line 178 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); end_of_regex(scnr); } break; @@ -3231,35 +3235,35 @@ yyreduce: case 4: /* Line 1806 of yacc.c */ -#line 179 "parser.y" +#line 181 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; case 5: /* Line 1806 of yacc.c */ -#line 180 "parser.y" +#line 182 "parser.y" { internal_error("notreached"); } break; case 6: /* Line 1806 of yacc.c */ -#line 182 "parser.y" +#line 184 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; case 7: /* Line 1806 of yacc.c */ -#line 183 "parser.y" +#line 185 "parser.y" { internal_error("notreached"); } break; case 8: /* Line 1806 of yacc.c */ -#line 184 "parser.y" +#line 186 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3272,7 +3276,7 @@ yyreduce: case 9: /* Line 1806 of yacc.c */ -#line 191 "parser.y" +#line 193 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3285,7 +3289,7 @@ yyreduce: case 10: /* Line 1806 of yacc.c */ -#line 198 "parser.y" +#line 200 "parser.y" { set_syntax_tree(parser, (yyvsp[(2) - (2)].val)); YYACCEPT; } break; @@ -3293,14 +3297,14 @@ yyreduce: case 11: /* Line 1806 of yacc.c */ -#line 200 "parser.y" +#line 202 "parser.y" { internal_error("notreached"); } break; case 12: /* Line 1806 of yacc.c */ -#line 201 "parser.y" +#line 203 "parser.y" { if (yychar == YYEOF) { parser->syntax_tree = nao; YYACCEPT; @@ -3313,7 +3317,7 @@ yyreduce: case 13: /* Line 1806 of yacc.c */ -#line 208 "parser.y" +#line 210 "parser.y" { parser->syntax_tree = nil; if (parser->errors >= 8) YYABORT; @@ -3324,14 +3328,14 @@ yyreduce: case 14: /* Line 1806 of yacc.c */ -#line 217 "parser.y" +#line 219 "parser.y" { parser->ignore = 1; } break; case 15: /* Line 1806 of yacc.c */ -#line 218 "parser.y" +#line 220 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3339,14 +3343,14 @@ yyreduce: case 16: /* Line 1806 of yacc.c */ -#line 220 "parser.y" +#line 222 "parser.y" { parser->ignore = 1; } break; case 17: /* Line 1806 of yacc.c */ -#line 221 "parser.y" +#line 223 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3354,14 +3358,14 @@ yyreduce: case 18: /* Line 1806 of yacc.c */ -#line 223 "parser.y" +#line 225 "parser.y" { parser->ignore = 1; } break; case 19: /* Line 1806 of yacc.c */ -#line 224 "parser.y" +#line 226 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3369,35 +3373,35 @@ yyreduce: case 20: /* Line 1806 of yacc.c */ -#line 226 "parser.y" +#line 228 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 21: /* Line 1806 of yacc.c */ -#line 227 "parser.y" +#line 229 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 22: /* Line 1806 of yacc.c */ -#line 228 "parser.y" +#line 230 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 23: /* Line 1806 of yacc.c */ -#line 231 "parser.y" +#line 233 "parser.y" { parser->ignore = 1; } break; case 24: /* Line 1806 of yacc.c */ -#line 232 "parser.y" +#line 234 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3405,14 +3409,14 @@ yyreduce: case 25: /* Line 1806 of yacc.c */ -#line 234 "parser.y" +#line 236 "parser.y" { parser->ignore = 1; } break; case 26: /* Line 1806 of yacc.c */ -#line 235 "parser.y" +#line 237 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3420,14 +3424,14 @@ yyreduce: case 27: /* Line 1806 of yacc.c */ -#line 237 "parser.y" +#line 239 "parser.y" { parser->ignore = 1; } break; case 28: /* Line 1806 of yacc.c */ -#line 238 "parser.y" +#line 240 "parser.y" { parser->ignore = 0; (yyval.val) = nao; } break; @@ -3435,140 +3439,140 @@ yyreduce: case 29: /* Line 1806 of yacc.c */ -#line 240 "parser.y" +#line 242 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 30: /* Line 1806 of yacc.c */ -#line 241 "parser.y" +#line 243 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 31: /* Line 1806 of yacc.c */ -#line 242 "parser.y" +#line 244 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; case 32: /* Line 1806 of yacc.c */ -#line 247 "parser.y" +#line 249 "parser.y" { internal_error("notreached"); } break; case 33: /* Line 1806 of yacc.c */ -#line 248 "parser.y" +#line 250 "parser.y" { internal_error("notreached"); } break; case 34: /* Line 1806 of yacc.c */ -#line 249 "parser.y" +#line 251 "parser.y" { internal_error("notreached"); } break; case 35: /* Line 1806 of yacc.c */ -#line 252 "parser.y" +#line 254 "parser.y" { (yyval.val) = check_parse_time_action(cons((yyvsp[(1) - (1)].val), nil)); } break; case 36: /* Line 1806 of yacc.c */ -#line 253 "parser.y" +#line 255 "parser.y" { (yyval.val) = check_parse_time_action(cons((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val))); } break; case 37: /* Line 1806 of yacc.c */ -#line 256 "parser.y" +#line 258 "parser.y" { (yyval.val) = us_nreverse((yyvsp[(1) - (1)].val)); } break; case 38: /* Line 1806 of yacc.c */ -#line 257 "parser.y" +#line 259 "parser.y" { (yyval.val) = nil; } break; case 39: /* Line 1806 of yacc.c */ -#line 260 "parser.y" +#line 262 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 40: /* Line 1806 of yacc.c */ -#line 261 "parser.y" +#line 263 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 41: /* Line 1806 of yacc.c */ -#line 262 "parser.y" +#line 264 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 42: /* Line 1806 of yacc.c */ -#line 263 "parser.y" +#line 265 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 43: /* Line 1806 of yacc.c */ -#line 264 "parser.y" +#line 266 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 44: /* Line 1806 of yacc.c */ -#line 265 "parser.y" +#line 267 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 45: /* Line 1806 of yacc.c */ -#line 266 "parser.y" +#line 268 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 46: /* Line 1806 of yacc.c */ -#line 267 "parser.y" +#line 269 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 47: /* Line 1806 of yacc.c */ -#line 268 "parser.y" +#line 270 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 48: /* Line 1806 of yacc.c */ -#line 269 "parser.y" +#line 271 "parser.y" { (yyval.val) = list(define_transform(parser, (yyvsp[(1) - (1)].val)), nao); rlc(car((yyval.val)), (yyvsp[(1) - (1)].val)); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } @@ -3577,35 +3581,35 @@ yyreduce: case 49: /* Line 1806 of yacc.c */ -#line 272 "parser.y" +#line 274 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 50: /* Line 1806 of yacc.c */ -#line 273 "parser.y" +#line 275 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 51: /* Line 1806 of yacc.c */ -#line 274 "parser.y" +#line 276 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; case 52: /* Line 1806 of yacc.c */ -#line 275 "parser.y" +#line 277 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 53: /* Line 1806 of yacc.c */ -#line 278 "parser.y" +#line 280 "parser.y" { (yyval.val) = list(all_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3613,7 +3617,7 @@ yyreduce: case 54: /* Line 1806 of yacc.c */ -#line 280 "parser.y" +#line 282 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("all clause")); } break; @@ -3621,7 +3625,7 @@ yyreduce: case 55: /* Line 1806 of yacc.c */ -#line 285 "parser.y" +#line 287 "parser.y" { (yyval.val) = list(some_s, (yyvsp[(5) - (5)].val), (yyvsp[(2) - (5)].val), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; @@ -3629,7 +3633,7 @@ yyreduce: case 56: /* Line 1806 of yacc.c */ -#line 289 "parser.y" +#line 291 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("some clause")); } break; @@ -3637,7 +3641,7 @@ yyreduce: case 57: /* Line 1806 of yacc.c */ -#line 293 "parser.y" +#line 295 "parser.y" { (yyval.val) = list(none_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3645,7 +3649,7 @@ yyreduce: case 58: /* Line 1806 of yacc.c */ -#line 295 "parser.y" +#line 297 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("none clause")); } break; @@ -3653,7 +3657,7 @@ yyreduce: case 59: /* Line 1806 of yacc.c */ -#line 299 "parser.y" +#line 301 "parser.y" { (yyval.val) = list(maybe_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3661,7 +3665,7 @@ yyreduce: case 60: /* Line 1806 of yacc.c */ -#line 301 "parser.y" +#line 303 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("maybe clause")); } break; @@ -3669,7 +3673,7 @@ yyreduce: case 61: /* Line 1806 of yacc.c */ -#line 305 "parser.y" +#line 307 "parser.y" { (yyval.val) = list(cases_s, (yyvsp[(3) - (3)].val), nao); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; @@ -3677,7 +3681,7 @@ yyreduce: case 62: /* Line 1806 of yacc.c */ -#line 307 "parser.y" +#line 309 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("cases clause")); } break; @@ -3685,7 +3689,7 @@ yyreduce: case 63: /* Line 1806 of yacc.c */ -#line 313 "parser.y" +#line 315 "parser.y" { val name = first((yyvsp[(2) - (7)].val)); if (gt(length((yyvsp[(2) - (7)].val)), one)) yyerr("block: takes zero or no arguments"); @@ -3700,7 +3704,7 @@ yyreduce: case 64: /* Line 1806 of yacc.c */ -#line 323 "parser.y" +#line 325 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("block clause")); } break; @@ -3708,7 +3712,7 @@ yyreduce: case 65: /* Line 1806 of yacc.c */ -#line 328 "parser.y" +#line 330 "parser.y" { (yyval.val) = list(choose_s, (yyvsp[(5) - (5)].val), (yyvsp[(2) - (5)].val), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; @@ -3716,7 +3720,7 @@ yyreduce: case 66: /* Line 1806 of yacc.c */ -#line 331 "parser.y" +#line 333 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("choose clause")); } break; @@ -3724,7 +3728,7 @@ yyreduce: case 67: /* Line 1806 of yacc.c */ -#line 337 "parser.y" +#line 339 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (7)].val)); (yyval.val) = list(gather_s, append2(mapcar(pa_12_1(func_n2(cons), nil), @@ -3736,7 +3740,7 @@ yyreduce: case 68: /* Line 1806 of yacc.c */ -#line 348 "parser.y" +#line 350 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (12)].val)); (yyval.val) = list(gather_s, append2(mapcar(pa_12_1(func_n2(cons), nil), @@ -3749,7 +3753,7 @@ yyreduce: case 69: /* Line 1806 of yacc.c */ -#line 357 "parser.y" +#line 359 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("gather clause")); } break; @@ -3757,35 +3761,35 @@ yyreduce: case 70: /* Line 1806 of yacc.c */ -#line 362 "parser.y" +#line 364 "parser.y" { (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); } break; case 71: /* Line 1806 of yacc.c */ -#line 365 "parser.y" +#line 367 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 72: /* Line 1806 of yacc.c */ -#line 366 "parser.y" +#line 368 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 73: /* Line 1806 of yacc.c */ -#line 367 "parser.y" +#line 369 "parser.y" { (yyval.val) = nil; } break; case 74: /* Line 1806 of yacc.c */ -#line 371 "parser.y" +#line 373 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (7)].val)); (yyval.val) = list(car((yyvsp[(1) - (7)].val)), (yyvsp[(5) - (7)].val), nil, args, @@ -3796,7 +3800,7 @@ yyreduce: case 75: /* Line 1806 of yacc.c */ -#line 379 "parser.y" +#line 381 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (12)].val)); if (nilp((yyvsp[(10) - (12)].val))) yyerr("empty until/last in collect"); @@ -3811,7 +3815,7 @@ yyreduce: case 76: /* Line 1806 of yacc.c */ -#line 389 "parser.y" +#line 391 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("collect clause")); } break; @@ -3819,63 +3823,63 @@ yyreduce: case 77: /* Line 1806 of yacc.c */ -#line 393 "parser.y" +#line 395 "parser.y" { (yyval.val) = cons(collect_s, num((yyvsp[(1) - (1)].lineno))); } break; case 78: /* Line 1806 of yacc.c */ -#line 394 "parser.y" +#line 396 "parser.y" { (yyval.val) = cons(repeat_s, num((yyvsp[(1) - (1)].lineno))); } break; case 79: /* Line 1806 of yacc.c */ -#line 397 "parser.y" +#line 399 "parser.y" { (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), until_s); } break; case 80: /* Line 1806 of yacc.c */ -#line 398 "parser.y" +#line 400 "parser.y" { (yyval.val) = cons(num((yyvsp[(1) - (1)].lineno)), last_s); } break; case 81: /* Line 1806 of yacc.c */ -#line 401 "parser.y" +#line 403 "parser.y" { (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); } break; case 82: /* Line 1806 of yacc.c */ -#line 404 "parser.y" +#line 406 "parser.y" { (yyval.val) = nil; } break; case 83: /* Line 1806 of yacc.c */ -#line 405 "parser.y" +#line 407 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 84: /* Line 1806 of yacc.c */ -#line 406 "parser.y" +#line 408 "parser.y" { (yyval.val) = (yyvsp[(3) - (3)].val); } break; case 85: /* Line 1806 of yacc.c */ -#line 413 "parser.y" +#line 415 "parser.y" { if (opt_compat && opt_compat <= 136) { val xexp = expand_meta((yyvsp[(2) - (9)].val), nil); val req = rlc(cons(require_s, xexp), (yyvsp[(2) - (9)].val)); @@ -3900,14 +3904,14 @@ yyreduce: case 86: /* Line 1806 of yacc.c */ -#line 433 "parser.y" +#line 435 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("if clause")); } break; case 87: /* Line 1806 of yacc.c */ -#line 438 "parser.y" +#line 440 "parser.y" { if (opt_compat && opt_compat <= 136) { val xexp = expand_meta((yyvsp[(2) - (6)].val), nil); val req = rlc(cons(require_s, xexp), (yyvsp[(2) - (6)].val)); @@ -3924,14 +3928,14 @@ yyreduce: case 88: /* Line 1806 of yacc.c */ -#line 449 "parser.y" +#line 451 "parser.y" { (yyval.val) = nil; } break; case 89: /* Line 1806 of yacc.c */ -#line 453 "parser.y" +#line 455 "parser.y" { if (opt_compat && opt_compat <= 136) { (yyval.val) = (yyvsp[(3) - (3)].val); } else @@ -3941,35 +3945,35 @@ yyreduce: case 90: /* Line 1806 of yacc.c */ -#line 457 "parser.y" +#line 459 "parser.y" { (yyval.val) = nil; } break; case 91: /* Line 1806 of yacc.c */ -#line 460 "parser.y" +#line 462 "parser.y" { (yyval.val) = (yyvsp[(1) - (2)].val); } break; case 92: /* Line 1806 of yacc.c */ -#line 463 "parser.y" +#line 465 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; case 93: /* Line 1806 of yacc.c */ -#line 464 "parser.y" +#line 466 "parser.y" { (yyval.val) = nil; } break; case 94: /* Line 1806 of yacc.c */ -#line 467 "parser.y" +#line 469 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; @@ -3977,7 +3981,7 @@ yyreduce: case 95: /* Line 1806 of yacc.c */ -#line 469 "parser.y" +#line 471 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); rlc((yyval.val), (yyvsp[(1) - (2)].val)); } break; @@ -3985,14 +3989,14 @@ yyreduce: case 96: /* Line 1806 of yacc.c */ -#line 474 "parser.y" +#line 476 "parser.y" { (yyval.val) = rl(string_own((yyvsp[(1) - (1)].lexeme)), num(parser->lineno)); } break; case 97: /* Line 1806 of yacc.c */ -#line 475 "parser.y" +#line 477 "parser.y" { if ((yyvsp[(1) - (1)].lexeme)[0] == ' ' && (yyvsp[(1) - (1)].lexeme)[1] == 0) { val spaces = list(oneplus_s, chr(' '), nao); @@ -4006,7 +4010,7 @@ yyreduce: case 98: /* Line 1806 of yacc.c */ -#line 483 "parser.y" +#line 485 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); rl((yyval.val), num(parser->lineno)); } break; @@ -4014,28 +4018,28 @@ yyreduce: case 99: /* Line 1806 of yacc.c */ -#line 485 "parser.y" +#line 487 "parser.y" { (yyval.val) = null_string; } break; case 100: /* Line 1806 of yacc.c */ -#line 488 "parser.y" +#line 490 "parser.y" { (yyval.val) = rlc(cons((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); } break; case 101: /* Line 1806 of yacc.c */ -#line 489 "parser.y" +#line 491 "parser.y" { (yyval.val) = rlc(cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)), (yyvsp[(2) - (2)].val)); } break; case 102: /* Line 1806 of yacc.c */ -#line 492 "parser.y" +#line 494 "parser.y" { (yyval.val) = rlc(cons(text_s, (yyvsp[(1) - (1)].val)), (yyvsp[(1) - (1)].val)); (yyval.val) = rlc(optimize_text((yyval.val)), (yyval.val)); } break; @@ -4043,7 +4047,7 @@ yyreduce: case 103: /* Line 1806 of yacc.c */ -#line 494 "parser.y" +#line 496 "parser.y" { (yyval.val) = rl((yyvsp[(1) - (1)].val), num(parser->lineno)); match_reg_elem((yyval.val)); } break; @@ -4051,7 +4055,7 @@ yyreduce: case 104: /* Line 1806 of yacc.c */ -#line 496 "parser.y" +#line 498 "parser.y" { val sym = first((yyvsp[(1) - (1)].val)); if (sym == do_s || sym == require_s) (yyval.val) = rlc(cons(sym, @@ -4068,7 +4072,7 @@ yyreduce: case 105: /* Line 1806 of yacc.c */ -#line 507 "parser.y" +#line 509 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (5)].val)); (yyval.val) = list(coll_s, (yyvsp[(4) - (5)].val), nil, args, nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4077,7 +4081,7 @@ yyreduce: case 106: /* Line 1806 of yacc.c */ -#line 512 "parser.y" +#line 514 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (9)].val)); (yyval.val) = list(coll_s, (yyvsp[(4) - (9)].val), cons(cdr((yyvsp[(5) - (9)].val)), cons((yyvsp[(6) - (9)].val), (yyvsp[(8) - (9)].val))), @@ -4089,7 +4093,7 @@ yyreduce: case 107: /* Line 1806 of yacc.c */ -#line 518 "parser.y" +#line 520 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (5)].val)); (yyval.val) = list(rep_s, (yyvsp[(4) - (5)].val), nil, args, nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4098,7 +4102,7 @@ yyreduce: case 108: /* Line 1806 of yacc.c */ -#line 524 "parser.y" +#line 526 "parser.y" { val args = match_expand_keyword_args((yyvsp[(2) - (9)].val)); (yyval.val) = list(rep_s, (yyvsp[(4) - (9)].val), cons(cdr((yyvsp[(5) - (9)].val)), cons((yyvsp[(6) - (9)].val), (yyvsp[(8) - (9)].val))), @@ -4110,7 +4114,7 @@ yyreduce: case 109: /* Line 1806 of yacc.c */ -#line 530 "parser.y" +#line 532 "parser.y" { (yyval.val) = list(block_s, car((yyvsp[(2) - (5)].val)), cons((yyvsp[(4) - (5)].val), nil), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4119,7 +4123,7 @@ yyreduce: case 110: /* Line 1806 of yacc.c */ -#line 533 "parser.y" +#line 535 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("coll clause")); } break; @@ -4127,7 +4131,7 @@ yyreduce: case 111: /* Line 1806 of yacc.c */ -#line 535 "parser.y" +#line 537 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; @@ -4135,7 +4139,7 @@ yyreduce: case 112: /* Line 1806 of yacc.c */ -#line 537 "parser.y" +#line 539 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; @@ -4143,42 +4147,42 @@ yyreduce: case 113: /* Line 1806 of yacc.c */ -#line 539 "parser.y" +#line 541 "parser.y" { (yyval.val) = rl(list(all_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 114: /* Line 1806 of yacc.c */ -#line 541 "parser.y" +#line 543 "parser.y" { (yyval.val) = rl(list(some_s, t, (yyvsp[(4) - (4)].val), (yyvsp[(2) - (4)].val), nao), num((yyvsp[(1) - (4)].lineno))); } break; case 115: /* Line 1806 of yacc.c */ -#line 542 "parser.y" +#line 544 "parser.y" { (yyval.val) = rl(list(none_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 116: /* Line 1806 of yacc.c */ -#line 543 "parser.y" +#line 545 "parser.y" { (yyval.val) = rl(list(maybe_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 117: /* Line 1806 of yacc.c */ -#line 544 "parser.y" +#line 546 "parser.y" { (yyval.val) = rl(list(cases_s, t, (yyvsp[(2) - (2)].val), nao), num((yyvsp[(1) - (2)].lineno))); } break; case 118: /* Line 1806 of yacc.c */ -#line 546 "parser.y" +#line 548 "parser.y" { (yyval.val) = list(choose_s, t, (yyvsp[(4) - (4)].val), (yyvsp[(2) - (4)].val), nao); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; @@ -4186,7 +4190,7 @@ yyreduce: case 119: /* Line 1806 of yacc.c */ -#line 549 "parser.y" +#line 551 "parser.y" { (yyval.val) = list(define_s, t, (yyvsp[(4) - (5)].val), (yyvsp[(2) - (5)].val), nao); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); match_reg_params(second((yyvsp[(2) - (5)].val))); } @@ -4195,35 +4199,35 @@ yyreduce: case 120: /* Line 1806 of yacc.c */ -#line 554 "parser.y" +#line 556 "parser.y" { (yyval.val) = if2((yyvsp[(1) - (2)].val), cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val))); } break; case 121: /* Line 1806 of yacc.c */ -#line 557 "parser.y" +#line 559 "parser.y" { (yyval.val) = nil; } break; case 122: /* Line 1806 of yacc.c */ -#line 558 "parser.y" +#line 560 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 123: /* Line 1806 of yacc.c */ -#line 559 "parser.y" +#line 561 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; case 124: /* Line 1806 of yacc.c */ -#line 564 "parser.y" +#line 566 "parser.y" { (yyval.val) = list(define_s, (yyvsp[(2) - (7)].val), (yyvsp[(5) - (7)].val), nao); rl((yyval.val), num((yyvsp[(1) - (7)].lineno))); match_reg_params(second((yyvsp[(2) - (7)].val))); } @@ -4232,7 +4236,7 @@ yyreduce: case 125: /* Line 1806 of yacc.c */ -#line 569 "parser.y" +#line 571 "parser.y" { (yyval.val) = list(define_s, nil, (yyvsp[(4) - (6)].val), nao); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; @@ -4240,7 +4244,7 @@ yyreduce: case 126: /* Line 1806 of yacc.c */ -#line 571 "parser.y" +#line 573 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define directive")); } break; @@ -4248,14 +4252,14 @@ yyreduce: case 127: /* Line 1806 of yacc.c */ -#line 574 "parser.y" +#line 576 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define")); } break; case 128: /* Line 1806 of yacc.c */ -#line 576 "parser.y" +#line 578 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("define")); } break; @@ -4263,7 +4267,7 @@ yyreduce: case 129: /* Line 1806 of yacc.c */ -#line 583 "parser.y" +#line 585 "parser.y" { (yyval.val) = list(try_s, flatten(mapcar(func_n1(second), (yyvsp[(4) - (6)].val))), @@ -4274,7 +4278,7 @@ yyreduce: case 130: /* Line 1806 of yacc.c */ -#line 589 "parser.y" +#line 591 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("try clause")); } break; @@ -4282,7 +4286,7 @@ yyreduce: case 131: /* Line 1806 of yacc.c */ -#line 595 "parser.y" +#line 597 "parser.y" { (yyval.val) = cons(list(catch_s, cons(t, nil), (yyvsp[(4) - (5)].val), nao), (yyvsp[(5) - (5)].val)); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } @@ -4291,7 +4295,7 @@ yyreduce: case 132: /* Line 1806 of yacc.c */ -#line 600 "parser.y" +#line 602 "parser.y" { (yyval.val) = cons(list(catch_s, (yyvsp[(2) - (6)].val), (yyvsp[(5) - (6)].val), nao), (yyvsp[(6) - (6)].val)); process_catch_exprs((yyvsp[(2) - (6)].val)); @@ -4301,7 +4305,7 @@ yyreduce: case 133: /* Line 1806 of yacc.c */ -#line 605 "parser.y" +#line 607 "parser.y" { (yyval.val) = cons(list(finally_s, nil, (yyvsp[(3) - (3)].val), nao), nil); @@ -4311,14 +4315,14 @@ yyreduce: case 134: /* Line 1806 of yacc.c */ -#line 609 "parser.y" +#line 611 "parser.y" { (yyval.val) = nil; } break; case 135: /* Line 1806 of yacc.c */ -#line 611 "parser.y" +#line 613 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("catch clause")); } break; @@ -4326,7 +4330,7 @@ yyreduce: case 136: /* Line 1806 of yacc.c */ -#line 614 "parser.y" +#line 616 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("catch clause")); } break; @@ -4334,7 +4338,7 @@ yyreduce: case 137: /* Line 1806 of yacc.c */ -#line 617 "parser.y" +#line 619 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("finally clause")); } break; @@ -4342,54 +4346,47 @@ yyreduce: case 138: /* Line 1806 of yacc.c */ -#line 624 "parser.y" +#line 626 "parser.y" { (yyval.val) = nil; - yyerr("obsolete output syntax: trailing material"); } + yyerrorf(scnr, lit("~a: traling material"), + car((yyvsp[(1) - (7)].val)), nao); } break; case 139: /* Line 1806 of yacc.c */ -#line 627 "parser.y" - { (yyval.val) = rl(list(output_s, nao), num((yyvsp[(1) - (5)].lineno))); } +#line 630 "parser.y" + { (yyval.val) = rl(list(car((yyvsp[(1) - (5)].val)), nao), (yyvsp[(1) - (5)].val)); } break; case 140: /* Line 1806 of yacc.c */ -#line 630 "parser.y" - { (yyval.val) = rl(list(output_s, (yyvsp[(4) - (6)].val), nao), num((yyvsp[(1) - (6)].lineno))); } +#line 633 "parser.y" + { (yyval.val) = rl(list(car((yyvsp[(1) - (6)].val)), (yyvsp[(4) - (6)].val), nao), (yyvsp[(1) - (6)].val)); } break; case 141: /* Line 1806 of yacc.c */ -#line 633 "parser.y" - { cons_bind (dest, rest, (yyvsp[(2) - (7)].val)); - val dest_ex = expand_form_ver(dest, 166); - val args = if3(dest_ex == dest, - (yyvsp[(2) - (7)].val), cons(dest_ex, rest)); - (yyval.val) = list(output_s, (yyvsp[(5) - (7)].val), args, nao); - rl((yyval.val), num((yyvsp[(1) - (7)].lineno))); - { val into_var = second(memql(into_k, args)); - val named_var = second(memql(named_k, args)); - match_reg_var(into_var); - match_reg_var(named_var); } } +#line 636 "parser.y" + { (yyval.val) = output_helper(parser, car((yyvsp[(1) - (7)].val)), (yyvsp[(2) - (7)].val), (yyvsp[(5) - (7)].val)); + rl((yyval.val), (yyvsp[(1) - (7)].val)); } break; case 142: /* Line 1806 of yacc.c */ -#line 645 "parser.y" +#line 640 "parser.y" { (yyval.val) = nil; yyerr("invalid combination of old and " - "new syntax in output directive"); } + "new syntax in output directive"); } break; case 143: /* Line 1806 of yacc.c */ -#line 648 "parser.y" +#line 643 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output directive")); } break; @@ -4397,7 +4394,7 @@ yyreduce: case 144: /* Line 1806 of yacc.c */ -#line 651 "parser.y" +#line 646 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4405,7 +4402,7 @@ yyreduce: case 145: /* Line 1806 of yacc.c */ -#line 654 "parser.y" +#line 649 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4413,7 +4410,7 @@ yyreduce: case 146: /* Line 1806 of yacc.c */ -#line 657 "parser.y" +#line 652 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4421,7 +4418,7 @@ yyreduce: case 147: /* Line 1806 of yacc.c */ -#line 660 "parser.y" +#line 655 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("output clause")); } break; @@ -4429,75 +4426,89 @@ yyreduce: case 148: /* Line 1806 of yacc.c */ -#line 664 "parser.y" - { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } +#line 659 "parser.y" + { (yyval.val) = cons(output_s, num((yyvsp[(1) - (1)].lineno))); } break; case 149: /* Line 1806 of yacc.c */ -#line 665 "parser.y" - { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } +#line 660 "parser.y" + { (yyval.val) = cons(push_s, num((yyvsp[(1) - (1)].lineno))); } break; case 150: /* Line 1806 of yacc.c */ -#line 668 "parser.y" +#line 663 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 151: /* Line 1806 of yacc.c */ -#line 669 "parser.y" - { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } +#line 664 "parser.y" + { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; case 152: /* Line 1806 of yacc.c */ -#line 670 "parser.y" - { (yyval.val) = (yyvsp[(1) - (1)].val); } +#line 667 "parser.y" + { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; case 153: /* Line 1806 of yacc.c */ -#line 676 "parser.y" +#line 668 "parser.y" + { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } + break; + + case 154: + +/* Line 1806 of yacc.c */ +#line 669 "parser.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 155: + +/* Line 1806 of yacc.c */ +#line 675 "parser.y" { (yyval.val) = repeat_rep_helper(repeat_s, (yyvsp[(2) - (8)].val), (yyvsp[(5) - (8)].val), (yyvsp[(6) - (8)].val)); rl((yyval.val), num((yyvsp[(1) - (8)].lineno))); } break; - case 154: + case 156: /* Line 1806 of yacc.c */ -#line 680 "parser.y" +#line 679 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("repeat clause")); } break; - case 155: + case 157: /* Line 1806 of yacc.c */ -#line 686 "parser.y" +#line 685 "parser.y" { (yyval.val) = cons(cons(single_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val)); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; - case 156: + case 158: /* Line 1806 of yacc.c */ -#line 690 "parser.y" +#line 689 "parser.y" { (yyval.val) = cons(cons(first_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val)); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; - case 157: + case 159: /* Line 1806 of yacc.c */ -#line 694 "parser.y" +#line 693 "parser.y" { if ((yyvsp[(2) - (6)].val)) yyerrorf(scnr, lit("last: in output, " @@ -4507,45 +4518,45 @@ yyreduce: rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 158: + case 160: /* Line 1806 of yacc.c */ -#line 703 "parser.y" +#line 702 "parser.y" { (yyval.val) = cons(cons(empty_s, (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val)); rl((yyval.val), num((yyvsp[(1) - (4)].lineno))); } break; - case 159: + case 161: /* Line 1806 of yacc.c */ -#line 708 "parser.y" +#line 707 "parser.y" { (yyval.val) = cons(cons(mod_s, cons(expand_forms_ver((yyvsp[(2) - (6)].val), 166), (yyvsp[(5) - (6)].val))), (yyvsp[(6) - (6)].val)); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 160: + case 162: /* Line 1806 of yacc.c */ -#line 715 "parser.y" +#line 714 "parser.y" { (yyval.val) = cons(cons(modlast_s, cons(expand_forms_ver((yyvsp[(2) - (6)].val), 166), (yyvsp[(5) - (6)].val))), (yyvsp[(6) - (6)].val)); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 161: + case 163: /* Line 1806 of yacc.c */ -#line 719 "parser.y" +#line 718 "parser.y" { (yyval.val) = nil; } break; - case 162: + case 164: /* Line 1806 of yacc.c */ -#line 726 "parser.y" +#line 725 "parser.y" { val expr = expand((yyvsp[(2) - (9)].val), nil); val ifs = (yyvsp[(5) - (9)].val); val branch = cons(cons(expr, ifs), nil); @@ -4556,25 +4567,25 @@ yyreduce: rl((yyval.val), num((yyvsp[(1) - (9)].lineno))); } break; - case 163: + case 165: /* Line 1806 of yacc.c */ -#line 735 "parser.y" +#line 734 "parser.y" { (yyval.val) = nil; yyerr("if requires expression"); } break; - case 164: + case 166: /* Line 1806 of yacc.c */ -#line 738 "parser.y" +#line 737 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("if clause")); } break; - case 165: + case 167: /* Line 1806 of yacc.c */ -#line 744 "parser.y" +#line 743 "parser.y" { val expr = expand(car((yyvsp[(2) - (6)].val)), nil); val elifs = (yyvsp[(5) - (6)].val); val branch = cons(cons(expr, elifs), nil); @@ -4585,165 +4596,165 @@ yyreduce: (yyval.val) = nappend2(branch, (yyvsp[(6) - (6)].val)); } break; - case 166: + case 168: /* Line 1806 of yacc.c */ -#line 752 "parser.y" +#line 751 "parser.y" { (yyval.val) = nil; } break; - case 167: + case 169: /* Line 1806 of yacc.c */ -#line 757 "parser.y" +#line 756 "parser.y" { (yyval.val) = cons(cons(t, (yyvsp[(3) - (3)].val)), nil); } break; - case 168: + case 170: /* Line 1806 of yacc.c */ -#line 758 "parser.y" +#line 757 "parser.y" { (yyval.val) = nil; } break; - case 169: + case 171: /* Line 1806 of yacc.c */ -#line 761 "parser.y" +#line 760 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 170: + case 172: /* Line 1806 of yacc.c */ -#line 762 "parser.y" +#line 761 "parser.y" { (yyval.val) = nil; } break; - case 171: + case 173: /* Line 1806 of yacc.c */ -#line 764 "parser.y" +#line 763 "parser.y" { (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 172: + case 174: /* Line 1806 of yacc.c */ -#line 767 "parser.y" +#line 766 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); rl((yyval.val), num(parser->lineno)); } break; - case 173: + case 175: /* Line 1806 of yacc.c */ -#line 769 "parser.y" +#line 768 "parser.y" { (yyval.val) = nil; } break; - case 174: + case 176: /* Line 1806 of yacc.c */ -#line 772 "parser.y" +#line 771 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 175: + case 177: /* Line 1806 of yacc.c */ -#line 773 "parser.y" +#line 772 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 176: + case 178: /* Line 1806 of yacc.c */ -#line 774 "parser.y" +#line 773 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 177: + case 179: /* Line 1806 of yacc.c */ -#line 775 "parser.y" +#line 774 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 178: + case 180: /* Line 1806 of yacc.c */ -#line 778 "parser.y" +#line 777 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); rl((yyval.val), num(parser->lineno)); } break; - case 179: + case 181: /* Line 1806 of yacc.c */ -#line 780 "parser.y" +#line 779 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); rl((yyval.val), num(parser->lineno)); } break; - case 180: + case 182: /* Line 1806 of yacc.c */ -#line 782 "parser.y" +#line 781 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 181: + case 183: /* Line 1806 of yacc.c */ -#line 783 "parser.y" +#line 782 "parser.y" { (yyval.val) = rlc(list(expr_s, expand((yyvsp[(1) - (1)].val), nil), nao), (yyvsp[(1) - (1)].val)); } break; - case 182: + case 184: /* Line 1806 of yacc.c */ -#line 785 "parser.y" +#line 784 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 183: + case 185: /* Line 1806 of yacc.c */ -#line 789 "parser.y" +#line 788 "parser.y" { (yyval.val) = repeat_rep_helper(rep_s, (yyvsp[(2) - (6)].val), (yyvsp[(4) - (6)].val), (yyvsp[(5) - (6)].val)); rl((yyval.val), num((yyvsp[(1) - (6)].lineno))); } break; - case 184: + case 186: /* Line 1806 of yacc.c */ -#line 791 "parser.y" +#line 790 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("rep clause")); } break; - case 185: + case 187: /* Line 1806 of yacc.c */ -#line 796 "parser.y" +#line 795 "parser.y" { (yyval.val) = cons(cons(single_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val)); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; - case 186: + case 188: /* Line 1806 of yacc.c */ -#line 799 "parser.y" +#line 798 "parser.y" { (yyval.val) = cons(cons(first_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val)); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; - case 187: + case 189: /* Line 1806 of yacc.c */ -#line 802 "parser.y" +#line 801 "parser.y" { if ((yyvsp[(2) - (5)].val)) yyerrorf(scnr, lit("last: in output, " @@ -4753,90 +4764,90 @@ yyreduce: rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; - case 188: + case 190: /* Line 1806 of yacc.c */ -#line 810 "parser.y" +#line 809 "parser.y" { (yyval.val) = cons(cons(empty_s, (yyvsp[(2) - (3)].val)), (yyvsp[(3) - (3)].val)); rl((yyval.val), num((yyvsp[(1) - (3)].lineno))); } break; - case 189: + case 191: /* Line 1806 of yacc.c */ -#line 814 "parser.y" +#line 813 "parser.y" { (yyval.val) = cons(cons(mod_s, cons(expand_forms_ver((yyvsp[(2) - (5)].val), 166), (yyvsp[(4) - (5)].val))), (yyvsp[(5) - (5)].val)); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; - case 190: + case 192: /* Line 1806 of yacc.c */ -#line 820 "parser.y" +#line 819 "parser.y" { (yyval.val) = cons(cons(modlast_s, cons(expand_forms_ver((yyvsp[(2) - (5)].val), 166), (yyvsp[(4) - (5)].val))), (yyvsp[(5) - (5)].val)); rl((yyval.val), num((yyvsp[(1) - (5)].lineno))); } break; - case 191: + case 193: /* Line 1806 of yacc.c */ -#line 824 "parser.y" +#line 823 "parser.y" { (yyval.val) = nil; } break; - case 192: + case 194: /* Line 1806 of yacc.c */ -#line 831 "parser.y" +#line 830 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(1) - (1)].lexeme), nil), nao); } break; - case 193: + case 195: /* Line 1806 of yacc.c */ -#line 832 "parser.y" +#line 831 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (3)].lexeme), nil), nao); } break; - case 194: + case 196: /* Line 1806 of yacc.c */ -#line 833 "parser.y" +#line 832 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (4)].lexeme), nil), (yyvsp[(3) - (4)].val), nao); } break; - case 195: + case 197: /* Line 1806 of yacc.c */ -#line 834 "parser.y" +#line 833 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(2) - (2)].lexeme), nil), (yyvsp[(1) - (2)].val), nao); } break; - case 196: + case 198: /* Line 1806 of yacc.c */ -#line 835 "parser.y" +#line 834 "parser.y" { (yyval.val) = list(var_s, symhlpr((yyvsp[(3) - (4)].lexeme), nil), (yyvsp[(1) - (4)].val), nao); } break; - case 197: + case 199: /* Line 1806 of yacc.c */ -#line 836 "parser.y" +#line 835 "parser.y" { (yyval.val) = nil; free((yyvsp[(3) - (5)].lexeme)); yyerr("longest match " "not useable with regex"); } break; - case 198: + case 200: /* Line 1806 of yacc.c */ -#line 840 "parser.y" +#line 839 "parser.y" { (yyval.val) = nil; free((yyvsp[(3) - (5)].lexeme)); yyerr("longest match " @@ -4844,64 +4855,64 @@ yyreduce: "fixed width match"); } break; - case 199: + case 201: /* Line 1806 of yacc.c */ -#line 845 "parser.y" +#line 844 "parser.y" { (yyval.val) = nil; free((yyvsp[(1) - (2)].lexeme)); yybadtok(yychar, lit("variable spec")); } break; - case 200: + case 202: /* Line 1806 of yacc.c */ -#line 848 "parser.y" +#line 847 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("variable spec")); } break; - case 201: + case 203: /* Line 1806 of yacc.c */ -#line 852 "parser.y" +#line 851 "parser.y" { (yyval.val) = list(t, nao); } break; - case 202: + case 204: /* Line 1806 of yacc.c */ -#line 855 "parser.y" +#line 854 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 203: + case 205: /* Line 1806 of yacc.c */ -#line 856 "parser.y" +#line 855 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); } break; - case 204: + case 206: /* Line 1806 of yacc.c */ -#line 858 "parser.y" +#line 857 "parser.y" { (yyval.val) = rlc(cons(expand_meta((yyvsp[(1) - (1)].val), nil), nil), (yyvsp[(1) - (1)].val)); } break; - case 205: + case 207: /* Line 1806 of yacc.c */ -#line 860 "parser.y" +#line 859 "parser.y" { (yyval.val) = cons(symhlpr((yyvsp[(1) - (1)].lexeme), nil), nil); } break; - case 206: + case 208: /* Line 1806 of yacc.c */ -#line 863 "parser.y" +#line 862 "parser.y" { val expr = symhlpr((yyvsp[(1) - (1)].lexeme), nil); if (!opt_compat || opt_compat > 128) expr = expand(expr, nil); @@ -4909,10 +4920,10 @@ yyreduce: rl((yyval.val), num(parser->lineno)); } break; - case 207: + case 209: /* Line 1806 of yacc.c */ -#line 869 "parser.y" +#line 868 "parser.y" { if (opt_compat && opt_compat <= 128) { (yyval.val) = list(var_s, expand_meta((yyvsp[(2) - (4)].val), nil), @@ -4923,35 +4934,35 @@ yyreduce: (yyval.val) = car(expand_quasi(quasi_items, nil)); } } break; - case 208: + case 210: /* Line 1806 of yacc.c */ -#line 877 "parser.y" +#line 876 "parser.y" { (yyval.val) = nil; free((yyvsp[(1) - (2)].lexeme)); yybadtok(yychar, lit("variable spec")); } break; - case 209: + case 211: /* Line 1806 of yacc.c */ -#line 883 "parser.y" +#line 882 "parser.y" { (yyval.val) = list(var_s, (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val), nao); rl((yyval.val), num(parser->lineno)); } break; - case 210: + case 212: /* Line 1806 of yacc.c */ -#line 885 "parser.y" +#line 884 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("variable spec")); } break; - case 211: + case 213: /* Line 1806 of yacc.c */ -#line 890 "parser.y" +#line 889 "parser.y" { if (parser->quasi_level > 0) (yyval.val) = rlc(cons(vector_lit_s, cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val)); @@ -4959,18 +4970,18 @@ yyreduce: (yyval.val) = rlc(vec_list((yyvsp[(2) - (2)].val)), (yyvsp[(2) - (2)].val)); } break; - case 212: + case 214: /* Line 1806 of yacc.c */ -#line 895 "parser.y" +#line 894 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("unassigned/reserved # notation")); } break; - case 213: + case 215: /* Line 1806 of yacc.c */ -#line 899 "parser.y" +#line 898 "parser.y" { if (parser->ignore) (yyval.val) = nil; else if (parser->quasi_level > 0) @@ -4981,18 +4992,18 @@ yyreduce: num((yyvsp[(1) - (2)].lineno))); } break; - case 214: + case 216: /* Line 1806 of yacc.c */ -#line 907 "parser.y" +#line 906 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("hash literal")); } break; - case 215: + case 217: /* Line 1806 of yacc.c */ -#line 911 "parser.y" +#line 910 "parser.y" { if (parser->ignore) { (yyval.val) = nil; } else if ((parser->quasi_level > 0) || @@ -5005,36 +5016,36 @@ yyreduce: (yyval.val) = rl(strct, num((yyvsp[(1) - (2)].lineno))); } } break; - case 216: + case 218: /* Line 1806 of yacc.c */ -#line 921 "parser.y" +#line 920 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("struct literal")); } break; - case 217: + case 219: /* Line 1806 of yacc.c */ -#line 925 "parser.y" +#line 924 "parser.y" { if (length((yyvsp[(2) - (2)].val)) != two) yyerr("range literal needs two elements"); { val range = rcons(first((yyvsp[(2) - (2)].val)), second((yyvsp[(2) - (2)].val))); (yyval.val) = rl(range, num((yyvsp[(1) - (2)].lineno))); } } break; - case 218: + case 220: /* Line 1806 of yacc.c */ -#line 929 "parser.y" +#line 928 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("range literal")); } break; - case 219: + case 221: /* Line 1806 of yacc.c */ -#line 933 "parser.y" +#line 932 "parser.y" { if (gt(length((yyvsp[(2) - (2)].val)), three)) yyerr("excess elements in tree node"); { val tn = tnode(first((yyvsp[(2) - (2)].val)), second((yyvsp[(2) - (2)].val)), @@ -5042,18 +5053,18 @@ yyreduce: (yyval.val) = rl(tn, num((yyvsp[(1) - (2)].lineno))); } } break; - case 220: + case 222: /* Line 1806 of yacc.c */ -#line 938 "parser.y" +#line 937 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("tree node literal")); } break; - case 221: + case 223: /* Line 1806 of yacc.c */ -#line 942 "parser.y" +#line 941 "parser.y" { if (parser->ignore) { (yyval.val) = nil; } else if (parser->quasi_level > 0) @@ -5071,78 +5082,78 @@ yyreduce: (yyval.val) = rl(tr, num((yyvsp[(1) - (2)].lineno))); } } break; - case 222: + case 224: /* Line 1806 of yacc.c */ -#line 957 "parser.y" +#line 956 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("tree node literal")); } break; - case 223: + case 225: /* Line 1806 of yacc.c */ -#line 961 "parser.y" +#line 960 "parser.y" { (yyval.val) = list(json_s, quote_s, (yyvsp[(2) - (2)].val), nao); end_of_json(scnr); } break; - case 224: + case 226: /* Line 1806 of yacc.c */ -#line 963 "parser.y" +#line 962 "parser.y" { parser->quasi_level++; } break; - case 225: + case 227: /* Line 1806 of yacc.c */ -#line 964 "parser.y" +#line 963 "parser.y" { parser->quasi_level--; end_of_json(scnr); (yyval.val) = list(json_s, sys_qquote_s, (yyvsp[(4) - (4)].val), nao); } break; - case 226: + case 228: /* Line 1806 of yacc.c */ -#line 967 "parser.y" +#line 966 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 227: + case 229: /* Line 1806 of yacc.c */ -#line 968 "parser.y" +#line 967 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 228: + case 230: /* Line 1806 of yacc.c */ -#line 969 "parser.y" +#line 968 "parser.y" { (yyval.val) = null_string; } break; - case 229: + case 231: /* Line 1806 of yacc.c */ -#line 970 "parser.y" +#line 969 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); rl((yyval.val), num(parser->lineno)); } break; - case 230: + case 232: /* Line 1806 of yacc.c */ -#line 972 "parser.y" +#line 971 "parser.y" { (yyval.val) = vector(zero, nil); } break; - case 231: + case 233: /* Line 1806 of yacc.c */ -#line 974 "parser.y" +#line 973 "parser.y" { (yyval.val) = if3(vectorp((yyvsp[(2) - (4)].val)), (yyvsp[(2) - (4)].val), rl(cons(vector_lit_s, @@ -5150,17 +5161,17 @@ yyreduce: (yyvsp[(2) - (4)].val))); } break; - case 232: + case 234: /* Line 1806 of yacc.c */ -#line 979 "parser.y" +#line 978 "parser.y" { (yyval.val) = make_hash(hash_weak_none, t); } break; - case 233: + case 235: /* Line 1806 of yacc.c */ -#line 981 "parser.y" +#line 980 "parser.y" { (yyval.val) = if3(hashp((yyvsp[(2) - (4)].val)), (yyvsp[(2) - (4)].val), rl(cons(hash_lit_s, @@ -5168,107 +5179,107 @@ yyreduce: (yyvsp[(2) - (4)].val))); } break; - case 234: + case 236: /* Line 1806 of yacc.c */ -#line 986 "parser.y" +#line 985 "parser.y" { parser->quasi_level--; } break; - case 235: + case 237: /* Line 1806 of yacc.c */ -#line 987 "parser.y" +#line 986 "parser.y" { parser->quasi_level++; end_of_json_unquote(scnr); (yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 236: + case 238: /* Line 1806 of yacc.c */ -#line 991 "parser.y" +#line 990 "parser.y" { parser->quasi_level--; } break; - case 237: + case 239: /* Line 1806 of yacc.c */ -#line 992 "parser.y" +#line 991 "parser.y" { parser->quasi_level++; end_of_json_unquote(scnr); (yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 238: + case 240: /* Line 1806 of yacc.c */ -#line 996 "parser.y" +#line 995 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; - case 239: + case 241: /* Line 1806 of yacc.c */ -#line 997 "parser.y" +#line 996 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; - case 240: + case 242: /* Line 1806 of yacc.c */ -#line 999 "parser.y" +#line 998 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; - case 241: + case 243: /* Line 1806 of yacc.c */ -#line 1000 "parser.y" +#line 999 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON string")); } break; - case 242: + case 244: /* Line 1806 of yacc.c */ -#line 1002 "parser.y" +#line 1001 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON array")); } break; - case 243: + case 245: /* Line 1806 of yacc.c */ -#line 1004 "parser.y" +#line 1003 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("JSON hash")); } break; - case 244: + case 246: /* Line 1806 of yacc.c */ -#line 1008 "parser.y" +#line 1007 "parser.y" { if (!parser->read_bad_json) yyerr("trailing comma in JSON array"); } break; - case 246: + case 248: /* Line 1806 of yacc.c */ -#line 1013 "parser.y" +#line 1012 "parser.y" { (yyval.val) = if3(parser->quasi_level > 0, cons((yyvsp[(1) - (1)].val), nil), vector(one, (yyvsp[(1) - (1)].val))); } break; - case 247: + case 249: /* Line 1806 of yacc.c */ -#line 1016 "parser.y" +#line 1015 "parser.y" { if (consp((yyvsp[(1) - (3)].val))) { (yyval.val) = cons((yyvsp[(3) - (3)].val), (yyvsp[(1) - (3)].val)); } else if (parser->quasi_level > 0) @@ -5279,26 +5290,26 @@ yyreduce: (yyval.val) = (yyvsp[(1) - (3)].val); } } break; - case 248: + case 250: /* Line 1806 of yacc.c */ -#line 1024 "parser.y" +#line 1023 "parser.y" { yyerr("missing comma in JSON array"); (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 249: + case 251: /* Line 1806 of yacc.c */ -#line 1026 "parser.y" +#line 1025 "parser.y" { yybadtok(yychar, lit("JSON array")); (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 250: + case 252: /* Line 1806 of yacc.c */ -#line 1030 "parser.y" +#line 1029 "parser.y" { if (parser->quasi_level > 0) { (yyval.val) = cons(list((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao), nil); } else @@ -5306,10 +5317,10 @@ yyreduce: sethash((yyval.val), (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); } } break; - case 251: + case 253: /* Line 1806 of yacc.c */ -#line 1036 "parser.y" +#line 1035 "parser.y" { if (consp((yyvsp[(1) - (5)].val))) { (yyval.val) = cons(list((yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val), nao), (yyvsp[(1) - (5)].val)); } else if (parser->quasi_level > 0) @@ -5320,55 +5331,55 @@ yyreduce: (yyval.val) = (yyvsp[(1) - (5)].val); } } break; - case 252: + case 254: /* Line 1806 of yacc.c */ -#line 1044 "parser.y" +#line 1043 "parser.y" { yyerr("missing colon in JSON hash"); } break; - case 253: + case 255: /* Line 1806 of yacc.c */ -#line 1046 "parser.y" +#line 1045 "parser.y" { yyerr("missing comma in JSON hash"); } break; - case 254: + case 256: /* Line 1806 of yacc.c */ -#line 1047 "parser.y" +#line 1046 "parser.y" { yybadtok(yychar, lit("JSON hash")); } break; - case 255: + case 257: /* Line 1806 of yacc.c */ -#line 1050 "parser.y" +#line 1049 "parser.y" { if ((yyvsp[(1) - (1)].lexeme)[0] == ':' && (yyvsp[(1) - (1)].lexeme)[1] == 0) { (yyval.val) = nil; } else { yybadtok(yychar, lit("JSON hash")); } } break; - case 256: + case 258: /* Line 1806 of yacc.c */ -#line 1054 "parser.y" +#line 1053 "parser.y" { (yyval.val) = nil; } break; - case 257: + case 259: /* Line 1806 of yacc.c */ -#line 1058 "parser.y" +#line 1057 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (3)].val), num((yyvsp[(1) - (3)].lineno))); } break; - case 258: + case 260: /* Line 1806 of yacc.c */ -#line 1059 "parser.y" +#line 1058 "parser.y" { val a = car((yyvsp[(3) - (4)].val)); val ur = uref_helper(parser, a); if (ur == a) @@ -5377,39 +5388,39 @@ yyreduce: (yyval.val) = rlc(cons(ur, cdr((yyvsp[(3) - (4)].val))), ur); } break; - case 259: + case 261: /* Line 1806 of yacc.c */ -#line 1065 "parser.y" +#line 1064 "parser.y" { (yyval.val) = nil; } break; - case 260: + case 262: /* Line 1806 of yacc.c */ -#line 1066 "parser.y" +#line 1065 "parser.y" { (yyval.val) = (yyvsp[(3) - (4)].val); } break; - case 261: + case 263: /* Line 1806 of yacc.c */ -#line 1067 "parser.y" +#line 1066 "parser.y" { (yyval.val) = (yyvsp[(3) - (4)].val); } break; - case 262: + case 264: /* Line 1806 of yacc.c */ -#line 1068 "parser.y" +#line 1067 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("expression")); } break; - case 263: + case 265: /* Line 1806 of yacc.c */ -#line 1072 "parser.y" +#line 1071 "parser.y" { if (consp((yyvsp[(2) - (2)].val))) (yyval.val) = rl(cons(expr_s, cons((yyvsp[(2) - (2)].val), nil)), num((yyvsp[(1) - (2)].lineno))); else @@ -5417,18 +5428,18 @@ yyreduce: num((yyvsp[(1) - (2)].lineno))); } break; - case 264: + case 266: /* Line 1806 of yacc.c */ -#line 1077 "parser.y" +#line 1076 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("meta expression")); } break; - case 265: + case 267: /* Line 1806 of yacc.c */ -#line 1081 "parser.y" +#line 1080 "parser.y" { if (consp((yyvsp[(2) - (2)].val))) (yyval.val) = rl(cons(expr_s, cons((yyvsp[(2) - (2)].val), nil)), num((yyvsp[(1) - (2)].chr))); else @@ -5436,628 +5447,628 @@ yyreduce: num((yyvsp[(1) - (2)].chr))); } break; - case 266: + case 268: /* Line 1806 of yacc.c */ -#line 1086 "parser.y" +#line 1085 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("meta expression")); } break; - case 267: + case 269: /* Line 1806 of yacc.c */ -#line 1090 "parser.y" +#line 1089 "parser.y" { val a = car((yyvsp[(3) - (4)].val)); val ur = uref_helper(parser, a); (yyval.val) = rlcp_tree(cons(dwim_s, cons(ur, cdr((yyvsp[(3) - (4)].val)))), ur); } break; - case 268: + case 270: /* Line 1806 of yacc.c */ -#line 1094 "parser.y" +#line 1093 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(2) - (3)].val)), num((yyvsp[(1) - (3)].lineno))); } break; - case 269: + case 271: /* Line 1806 of yacc.c */ -#line 1095 "parser.y" +#line 1094 "parser.y" { (yyval.val) = rl(cons(dwim_s, nil), num((yyvsp[(1) - (2)].lineno))); } break; - case 270: + case 272: /* Line 1806 of yacc.c */ -#line 1096 "parser.y" +#line 1095 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(3) - (4)].val)), num((yyvsp[(1) - (4)].lineno))); } break; - case 271: + case 273: /* Line 1806 of yacc.c */ -#line 1097 "parser.y" +#line 1096 "parser.y" { (yyval.val) = rl(cons(dwim_s, (yyvsp[(3) - (4)].val)), num((yyvsp[(1) - (4)].lineno))); } break; - case 272: + case 274: /* Line 1806 of yacc.c */ -#line 1098 "parser.y" +#line 1097 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("DWIM expression")); } break; - case 276: + case 278: /* Line 1806 of yacc.c */ -#line 1107 "parser.y" +#line 1106 "parser.y" { (yyval.val) = rlc(expand_meta((yyvsp[(1) - (1)].val), nil), (yyvsp[(1) - (1)].val)); } break; - case 277: + case 279: /* Line 1806 of yacc.c */ -#line 1110 "parser.y" +#line 1109 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 278: + case 280: /* Line 1806 of yacc.c */ -#line 1111 "parser.y" +#line 1110 "parser.y" { (yyval.val) = nil; } break; - case 279: + case 281: /* Line 1806 of yacc.c */ -#line 1114 "parser.y" +#line 1113 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val)->c.cdr; (yyvsp[(1) - (1)].val)->c.cdr = nil; if ((yyval.val)->c.car == nao) (yyval.val) = (yyval.val)->c.cdr; } break; - case 280: + case 282: /* Line 1806 of yacc.c */ -#line 1119 "parser.y" +#line 1118 "parser.y" { (yyval.val) = (yyvsp[(1) - (3)].val)->c.cdr; (yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); } break; - case 281: + case 283: /* Line 1806 of yacc.c */ -#line 1123 "parser.y" +#line 1122 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rlc((yyval.val), (yyvsp[(1) - (1)].val)); (yyval.val)->c.cdr = (yyval.val); } break; - case 282: + case 284: /* Line 1806 of yacc.c */ -#line 1126 "parser.y" +#line 1125 "parser.y" { parser->ignore = 1; } break; - case 283: + case 285: /* Line 1806 of yacc.c */ -#line 1127 "parser.y" +#line 1126 "parser.y" { parser->ignore = 0; (yyval.val) = cons(nao, nil); (yyval.val)->c.cdr = (yyval.val); } break; - case 284: + case 286: /* Line 1806 of yacc.c */ -#line 1130 "parser.y" +#line 1129 "parser.y" { parser->ignore = 1; } break; - case 285: + case 287: /* Line 1806 of yacc.c */ -#line 1131 "parser.y" +#line 1130 "parser.y" { parser->ignore = 0; (yyval.val) = cons(nao, nil); (yyval.val)->c.cdr = (yyval.val); } break; - case 286: + case 288: /* Line 1806 of yacc.c */ -#line 1134 "parser.y" +#line 1133 "parser.y" { parser->ignore = 1; } break; - case 287: + case 289: /* Line 1806 of yacc.c */ -#line 1135 "parser.y" +#line 1134 "parser.y" { parser->ignore = 0; (yyval.val) = (yyvsp[(1) - (4)].val); } break; - case 288: + case 290: /* Line 1806 of yacc.c */ -#line 1137 "parser.y" +#line 1136 "parser.y" { parser->ignore = 1; } break; - case 289: + case 291: /* Line 1806 of yacc.c */ -#line 1138 "parser.y" +#line 1137 "parser.y" { parser->ignore = 0; (yyval.val) = (yyvsp[(1) - (5)].val); } break; - case 290: + case 292: /* Line 1806 of yacc.c */ -#line 1140 "parser.y" +#line 1139 "parser.y" { uses_or2; (yyval.val) = rlc(cons((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val)->c.cdr), or2((yyvsp[(2) - (2)].val), (yyvsp[(1) - (2)].val)->c.cdr)); (yyvsp[(1) - (2)].val)->c.cdr = (yyval.val); } break; - case 291: + case 293: /* Line 1806 of yacc.c */ -#line 1143 "parser.y" +#line 1142 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); } break; - case 292: + case 294: /* Line 1806 of yacc.c */ -#line 1146 "parser.y" +#line 1145 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(3) - (3)].val), num((yyvsp[(2) - (3)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(1) - (3)].val)->c.cdr; (yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); } break; - case 293: + case 295: /* Line 1806 of yacc.c */ -#line 1149 "parser.y" +#line 1148 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(2) - (2)].val); } break; - case 294: + case 296: /* Line 1806 of yacc.c */ -#line 1152 "parser.y" +#line 1151 "parser.y" { (yyval.val) = lastcons(rl((yyvsp[(3) - (3)].val), num((yyvsp[(2) - (3)].lineno)))); (yyval.val)->c.cdr = (yyvsp[(1) - (3)].val)->c.cdr; (yyvsp[(1) - (3)].val)->c.cdr = (yyvsp[(3) - (3)].val); } break; - case 295: + case 297: /* Line 1806 of yacc.c */ -#line 1157 "parser.y" +#line 1156 "parser.y" { (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); } break; - case 296: + case 298: /* Line 1806 of yacc.c */ -#line 1158 "parser.y" +#line 1157 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; - case 297: + case 299: + +/* Line 1806 of yacc.c */ +#line 1159 "parser.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 300: /* Line 1806 of yacc.c */ #line 1160 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 298: + case 301: /* Line 1806 of yacc.c */ #line 1161 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 299: + case 302: /* Line 1806 of yacc.c */ #line 1162 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 300: + case 303: /* Line 1806 of yacc.c */ #line 1163 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 301: + case 304: /* Line 1806 of yacc.c */ #line 1164 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 302: + case 305: /* Line 1806 of yacc.c */ #line 1165 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 303: + case 306: /* Line 1806 of yacc.c */ #line 1166 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 304: + case 307: /* Line 1806 of yacc.c */ #line 1167 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 305: + case 308: /* Line 1806 of yacc.c */ #line 1168 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 306: + case 309: /* Line 1806 of yacc.c */ #line 1169 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 307: + case 310: /* Line 1806 of yacc.c */ #line 1170 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 308: + case 311: /* Line 1806 of yacc.c */ #line 1171 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 309: + case 312: /* Line 1806 of yacc.c */ #line 1172 "parser.y" - { (yyval.val) = (yyvsp[(1) - (1)].val); } - break; - - case 310: - -/* Line 1806 of yacc.c */ -#line 1173 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); } break; - case 311: + case 313: /* Line 1806 of yacc.c */ -#line 1174 "parser.y" +#line 1173 "parser.y" { (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); } break; - case 312: + case 314: /* Line 1806 of yacc.c */ -#line 1175 "parser.y" +#line 1174 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 313: + case 315: /* Line 1806 of yacc.c */ -#line 1176 "parser.y" +#line 1175 "parser.y" { (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)), num(parser->lineno)); } break; - case 314: + case 316: /* Line 1806 of yacc.c */ -#line 1178 "parser.y" +#line 1177 "parser.y" { parser->quasi_level++; } break; - case 315: + case 317: /* Line 1806 of yacc.c */ -#line 1179 "parser.y" +#line 1178 "parser.y" { parser->quasi_level--; (yyval.val) = rl(rlc(list(sys_qquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 316: + case 318: /* Line 1806 of yacc.c */ -#line 1182 "parser.y" +#line 1181 "parser.y" { parser->quasi_level--; } break; - case 317: + case 319: /* Line 1806 of yacc.c */ -#line 1183 "parser.y" +#line 1182 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 318: + case 320: /* Line 1806 of yacc.c */ -#line 1186 "parser.y" +#line 1185 "parser.y" { parser->quasi_level--; } break; - case 319: + case 321: /* Line 1806 of yacc.c */ -#line 1187 "parser.y" +#line 1186 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 320: + case 322: /* Line 1806 of yacc.c */ -#line 1190 "parser.y" +#line 1189 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; - case 321: + case 323: /* Line 1806 of yacc.c */ -#line 1191 "parser.y" +#line 1190 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; - case 322: + case 324: /* Line 1806 of yacc.c */ -#line 1193 "parser.y" +#line 1192 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; - case 323: + case 325: /* Line 1806 of yacc.c */ -#line 1196 "parser.y" +#line 1195 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 324: + case 326: /* Line 1806 of yacc.c */ -#line 1197 "parser.y" +#line 1196 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 325: + case 327: /* Line 1806 of yacc.c */ -#line 1199 "parser.y" +#line 1198 "parser.y" { (yyval.val) = ifnign(symhlpr((yyvsp[(1) - (1)].lexeme), t)); } break; - case 326: + case 328: /* Line 1806 of yacc.c */ -#line 1200 "parser.y" +#line 1199 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; - case 327: + case 329: + +/* Line 1806 of yacc.c */ +#line 1201 "parser.y" + { (yyval.val) = (yyvsp[(1) - (1)].val); } + break; + + case 330: /* Line 1806 of yacc.c */ #line 1202 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 328: + case 331: /* Line 1806 of yacc.c */ #line 1203 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 329: + case 332: /* Line 1806 of yacc.c */ #line 1204 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 330: + case 333: /* Line 1806 of yacc.c */ #line 1205 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 331: + case 334: /* Line 1806 of yacc.c */ #line 1206 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 332: + case 335: /* Line 1806 of yacc.c */ #line 1207 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 333: + case 336: /* Line 1806 of yacc.c */ #line 1208 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 334: + case 337: /* Line 1806 of yacc.c */ #line 1209 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 335: + case 338: /* Line 1806 of yacc.c */ #line 1210 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 336: + case 339: /* Line 1806 of yacc.c */ #line 1211 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 337: + case 340: /* Line 1806 of yacc.c */ #line 1212 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 338: + case 341: /* Line 1806 of yacc.c */ #line 1213 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 339: + case 342: /* Line 1806 of yacc.c */ #line 1214 "parser.y" - { (yyval.val) = (yyvsp[(1) - (1)].val); } - break; - - case 340: - -/* Line 1806 of yacc.c */ -#line 1215 "parser.y" { (yyval.val) = rl((yyvsp[(2) - (2)].val), num((yyvsp[(1) - (2)].lineno))); } break; - case 341: + case 343: /* Line 1806 of yacc.c */ -#line 1216 "parser.y" +#line 1215 "parser.y" { (yyval.val) = rl(cons(quasilist_s, (yyvsp[(2) - (2)].val)), num((yyvsp[(1) - (2)].lineno))); } break; - case 342: + case 344: /* Line 1806 of yacc.c */ -#line 1217 "parser.y" +#line 1216 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 343: + case 345: /* Line 1806 of yacc.c */ -#line 1218 "parser.y" +#line 1217 "parser.y" { (yyval.val) = rl(rlc(list(quote_s, (yyvsp[(2) - (2)].val), nao), (yyvsp[(2) - (2)].val)), num(parser->lineno)); } break; - case 344: + case 346: /* Line 1806 of yacc.c */ -#line 1220 "parser.y" +#line 1219 "parser.y" { parser->quasi_level++; } break; - case 345: + case 347: /* Line 1806 of yacc.c */ -#line 1221 "parser.y" +#line 1220 "parser.y" { parser->quasi_level--; (yyval.val) = rl(rlc(list(sys_qquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 346: + case 348: /* Line 1806 of yacc.c */ -#line 1224 "parser.y" +#line 1223 "parser.y" { parser->quasi_level--; } break; - case 347: + case 349: /* Line 1806 of yacc.c */ -#line 1225 "parser.y" +#line 1224 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_unquote_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 348: + case 350: /* Line 1806 of yacc.c */ -#line 1228 "parser.y" +#line 1227 "parser.y" { parser->quasi_level--; } break; - case 349: + case 351: /* Line 1806 of yacc.c */ -#line 1229 "parser.y" +#line 1228 "parser.y" { parser->quasi_level++; (yyval.val) = rl(rlc(list(sys_splice_s, (yyvsp[(3) - (3)].val), nao), (yyvsp[(3) - (3)].val)), num(parser->lineno)); } break; - case 350: + case 352: /* Line 1806 of yacc.c */ -#line 1232 "parser.y" +#line 1231 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao), or2((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val))); } break; - case 351: + case 353: /* Line 1806 of yacc.c */ -#line 1236 "parser.y" +#line 1235 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val), uref_helper(parser, (yyvsp[(4) - (4)].val)), @@ -6065,19 +6076,19 @@ yyreduce: or2((yyvsp[(1) - (4)].val), (yyvsp[(4) - (4)].val))); } break; - case 352: + case 354: /* Line 1806 of yacc.c */ -#line 1242 "parser.y" +#line 1241 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao), or2((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val))); } break; - case 353: + case 355: /* Line 1806 of yacc.c */ -#line 1246 "parser.y" +#line 1245 "parser.y" { uses_or2; (yyval.val) = rlc(list(rcons_s, (yyvsp[(1) - (4)].val), uref_helper(parser, (yyvsp[(4) - (4)].val)), @@ -6085,219 +6096,219 @@ yyreduce: or2((yyvsp[(1) - (4)].val), (yyvsp[(4) - (4)].val))); } break; - case 354: + case 356: /* Line 1806 of yacc.c */ -#line 1251 "parser.y" +#line 1250 "parser.y" { (yyval.val) = qref_helper(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); } break; - case 355: + case 357: /* Line 1806 of yacc.c */ -#line 1252 "parser.y" +#line 1251 "parser.y" { (yyval.val) = qref_helper(parser, cons(t, cons((yyvsp[(1) - (3)].val), nil)), (yyvsp[(3) - (3)].val)); } break; - case 356: + case 358: /* Line 1806 of yacc.c */ -#line 1255 "parser.y" +#line 1254 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 357: + case 359: /* Line 1806 of yacc.c */ -#line 1256 "parser.y" +#line 1255 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 358: + case 360: /* Line 1806 of yacc.c */ -#line 1257 "parser.y" +#line 1256 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (1)].val), unique_s); } break; - case 359: + case 361: /* Line 1806 of yacc.c */ -#line 1258 "parser.y" +#line 1257 "parser.y" { parser_circ_def(parser, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val)); (yyval.val) = (yyvsp[(3) - (3)].val); } break; - case 360: + case 362: /* Line 1806 of yacc.c */ -#line 1260 "parser.y" +#line 1259 "parser.y" { (yyval.val) = parser_circ_ref(parser, (yyvsp[(1) - (1)].val)); } break; - case 361: + case 363: /* Line 1806 of yacc.c */ -#line 1263 "parser.y" +#line 1262 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 362: + case 364: /* Line 1806 of yacc.c */ -#line 1264 "parser.y" +#line 1263 "parser.y" { (yyval.val) = nil; } break; - case 363: + case 365: /* Line 1806 of yacc.c */ -#line 1267 "parser.y" +#line 1266 "parser.y" { (yyval.val) = uref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 364: + case 366: /* Line 1806 of yacc.c */ -#line 1268 "parser.y" +#line 1267 "parser.y" { (yyval.val) = uoref_helper(parser, (yyvsp[(2) - (2)].val)); } break; - case 365: + case 367: /* Line 1806 of yacc.c */ -#line 1269 "parser.y" +#line 1268 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 366: + case 368: /* Line 1806 of yacc.c */ -#line 1272 "parser.y" +#line 1271 "parser.y" { (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil); end_of_regex(scnr); rl((yyval.val), num(parser->lineno)); } break; - case 367: + case 369: /* Line 1806 of yacc.c */ -#line 1275 "parser.y" +#line 1274 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex")); end_of_regex(scnr); } break; - case 368: + case 370: /* Line 1806 of yacc.c */ -#line 1281 "parser.y" +#line 1280 "parser.y" { (yyval.val) = regex_compile((yyvsp[(2) - (3)].val), nil); end_of_regex(scnr); rl((yyval.val), num(parser->lineno)); } break; - case 369: + case 371: /* Line 1806 of yacc.c */ -#line 1285 "parser.y" +#line 1284 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex")); end_of_regex(scnr); } break; - case 370: + case 372: /* Line 1806 of yacc.c */ -#line 1290 "parser.y" +#line 1289 "parser.y" { (yyval.val) = if3(cdr((yyvsp[(1) - (1)].val)), cons(compound_s, (yyvsp[(1) - (1)].val)), car((yyvsp[(1) - (1)].val))); } break; - case 371: + case 373: /* Line 1806 of yacc.c */ -#line 1293 "parser.y" +#line 1292 "parser.y" { (yyval.val) = list(or_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; - case 372: + case 374: /* Line 1806 of yacc.c */ -#line 1294 "parser.y" +#line 1293 "parser.y" { (yyval.val) = list(and_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; - case 373: + case 375: /* Line 1806 of yacc.c */ -#line 1295 "parser.y" +#line 1294 "parser.y" { (yyval.val) = list(compl_s, (yyvsp[(2) - (2)].val), nao); } break; - case 374: + case 376: /* Line 1806 of yacc.c */ -#line 1296 "parser.y" +#line 1295 "parser.y" { (yyval.val) = nil; } break; - case 375: + case 377: /* Line 1806 of yacc.c */ -#line 1299 "parser.y" +#line 1298 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 376: + case 378: /* Line 1806 of yacc.c */ -#line 1300 "parser.y" +#line 1299 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 377: + case 379: /* Line 1806 of yacc.c */ -#line 1301 "parser.y" +#line 1300 "parser.y" { (yyval.val) = list((yyvsp[(1) - (3)].val), list(compl_s, (yyvsp[(3) - (3)].val), nao), nao); } break; - case 378: + case 380: /* Line 1806 of yacc.c */ -#line 1304 "parser.y" +#line 1303 "parser.y" { (yyval.val) = list(zeroplus_s, (yyvsp[(1) - (2)].val), nao); } break; - case 379: + case 381: /* Line 1806 of yacc.c */ -#line 1305 "parser.y" +#line 1304 "parser.y" { (yyval.val) = list(oneplus_s, (yyvsp[(1) - (2)].val), nao); } break; - case 380: + case 382: /* Line 1806 of yacc.c */ -#line 1306 "parser.y" +#line 1305 "parser.y" { (yyval.val) = list(optional_s, (yyvsp[(1) - (2)].val), nao); } break; - case 381: + case 383: /* Line 1806 of yacc.c */ -#line 1307 "parser.y" +#line 1306 "parser.y" { (yyval.val) = list(nongreedy_s, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val), nao); } break; - case 382: + case 384: /* Line 1806 of yacc.c */ -#line 1308 "parser.y" +#line 1307 "parser.y" { if (first((yyvsp[(2) - (3)].val)) == chr('^')) { if (rest((yyvsp[(2) - (3)].val))) (yyval.val) = cons(cset_s, rest((yyvsp[(2) - (3)].val))); @@ -6307,208 +6318,208 @@ yyreduce: (yyval.val) = cons(set_s, (yyvsp[(2) - (3)].val)); } break; - case 383: + case 385: /* Line 1806 of yacc.c */ -#line 1315 "parser.y" +#line 1314 "parser.y" { (yyval.val) = cons(set_s, nil); } break; - case 384: + case 386: /* Line 1806 of yacc.c */ -#line 1316 "parser.y" +#line 1315 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex character class")); } break; - case 385: + case 387: /* Line 1806 of yacc.c */ -#line 1318 "parser.y" +#line 1317 "parser.y" { (yyval.val) = wild_s; } break; - case 386: + case 388: /* Line 1806 of yacc.c */ -#line 1319 "parser.y" +#line 1318 "parser.y" { (yyval.val) = chr(']'); } break; - case 387: + case 389: /* Line 1806 of yacc.c */ -#line 1320 "parser.y" +#line 1319 "parser.y" { (yyval.val) = chr('-'); } break; - case 388: + case 390: /* Line 1806 of yacc.c */ -#line 1321 "parser.y" +#line 1320 "parser.y" { (yyval.val) = chr((yyvsp[(1) - (1)].chr)); } break; - case 389: + case 391: /* Line 1806 of yacc.c */ -#line 1322 "parser.y" +#line 1321 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 390: + case 392: /* Line 1806 of yacc.c */ -#line 1323 "parser.y" +#line 1322 "parser.y" { (yyval.val) = list(compound_s, string_own((yyvsp[(1) - (1)].lexeme)), nao); } break; - case 391: + case 393: /* Line 1806 of yacc.c */ -#line 1324 "parser.y" +#line 1323 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); } break; - case 392: + case 394: /* Line 1806 of yacc.c */ -#line 1325 "parser.y" +#line 1324 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("regex subexpression")); } break; - case 393: + case 395: /* Line 1806 of yacc.c */ -#line 1329 "parser.y" +#line 1328 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); } break; - case 394: + case 396: /* Line 1806 of yacc.c */ -#line 1330 "parser.y" +#line 1329 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); } break; - case 395: + case 397: /* Line 1806 of yacc.c */ -#line 1333 "parser.y" +#line 1332 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 396: + case 398: /* Line 1806 of yacc.c */ -#line 1334 "parser.y" +#line 1333 "parser.y" { (yyval.val) = chr((yyvsp[(1) - (1)].chr)); } break; - case 397: + case 399: /* Line 1806 of yacc.c */ -#line 1335 "parser.y" +#line 1334 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 398: + case 400: /* Line 1806 of yacc.c */ -#line 1338 "parser.y" +#line 1337 "parser.y" { (yyval.val) = cons(chr((yyvsp[(1) - (3)].chr)), chr((yyvsp[(3) - (3)].chr))); } break; - case 399: + case 401: /* Line 1806 of yacc.c */ -#line 1340 "parser.y" +#line 1339 "parser.y" { (yyval.chr) = '?'; } break; - case 400: + case 402: /* Line 1806 of yacc.c */ -#line 1341 "parser.y" +#line 1340 "parser.y" { (yyval.chr) = '.'; } break; - case 401: + case 403: /* Line 1806 of yacc.c */ -#line 1342 "parser.y" +#line 1341 "parser.y" { (yyval.chr) = '*'; } break; - case 402: + case 404: /* Line 1806 of yacc.c */ -#line 1343 "parser.y" +#line 1342 "parser.y" { (yyval.chr) = '+'; } break; - case 403: + case 405: /* Line 1806 of yacc.c */ -#line 1344 "parser.y" +#line 1343 "parser.y" { (yyval.chr) = '('; } break; - case 404: + case 406: /* Line 1806 of yacc.c */ -#line 1345 "parser.y" +#line 1344 "parser.y" { (yyval.chr) = ')'; } break; - case 405: + case 407: /* Line 1806 of yacc.c */ -#line 1346 "parser.y" +#line 1345 "parser.y" { (yyval.chr) = '|'; } break; - case 406: + case 408: /* Line 1806 of yacc.c */ -#line 1347 "parser.y" +#line 1346 "parser.y" { (yyval.chr) = '~'; } break; - case 407: + case 409: /* Line 1806 of yacc.c */ -#line 1348 "parser.y" +#line 1347 "parser.y" { (yyval.chr) = '&'; } break; - case 408: + case 410: /* Line 1806 of yacc.c */ -#line 1349 "parser.y" +#line 1348 "parser.y" { (yyval.chr) = '%'; } break; - case 409: + case 411: /* Line 1806 of yacc.c */ -#line 1350 "parser.y" +#line 1349 "parser.y" { (yyval.chr) = '/'; } break; - case 410: + case 412: /* Line 1806 of yacc.c */ -#line 1351 "parser.y" +#line 1350 "parser.y" { (yyval.chr) = (yyvsp[(1) - (1)].chr); } break; - case 411: + case 413: /* Line 1806 of yacc.c */ -#line 1354 "parser.y" +#line 1353 "parser.y" { switch ((yyvsp[(1) - (1)].chr)) { case 's': (yyval.val) = space_k; break; @@ -6524,41 +6535,41 @@ yyreduce: (yyval.val) = cword_char_k; break; }} break; - case 413: + case 415: /* Line 1806 of yacc.c */ -#line 1369 "parser.y" +#line 1368 "parser.y" { yyerr("newline expected after directive"); yyerrok; } break; - case 414: + case 416: /* Line 1806 of yacc.c */ -#line 1373 "parser.y" +#line 1372 "parser.y" { (yyval.val) = null_string; } break; - case 415: + case 417: /* Line 1806 of yacc.c */ -#line 1374 "parser.y" +#line 1373 "parser.y" { (yyval.val) = (yyvsp[(2) - (3)].val); rl((yyval.val), num(parser->lineno)); } break; - case 416: + case 418: /* Line 1806 of yacc.c */ -#line 1376 "parser.y" +#line 1375 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("string literal")); } break; - case 417: + case 419: /* Line 1806 of yacc.c */ -#line 1380 "parser.y" +#line 1379 "parser.y" { wchar_t ch; val str = string_own((yyvsp[(2) - (2)].lexeme)); const wchar_t *cstr = c_str(str, nil); @@ -6574,99 +6585,99 @@ yyreduce: (yyval.val) = chr(ch); } break; - case 418: + case 420: /* Line 1806 of yacc.c */ -#line 1393 "parser.y" +#line 1392 "parser.y" { (yyval.val) = chr((yyvsp[(2) - (2)].chr)); end_of_char(scnr); } break; - case 419: + case 421: /* Line 1806 of yacc.c */ -#line 1395 "parser.y" +#line 1394 "parser.y" { free((yyvsp[(2) - (2)].lexeme)); yyerrorf(scnr, lit("invalid UTF-8 used as character name"), nao); } break; - case 420: + case 422: /* Line 1806 of yacc.c */ -#line 1399 "parser.y" +#line 1398 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("character literal")); } break; - case 421: + case 423: /* Line 1806 of yacc.c */ -#line 1404 "parser.y" +#line 1403 "parser.y" { (yyval.val) = null_string; } break; - case 422: + case 424: /* Line 1806 of yacc.c */ -#line 1405 "parser.y" +#line 1404 "parser.y" { (yyval.val) = cons(quasi_s, (yyvsp[(2) - (3)].val)); rlc((yyval.val), (yyvsp[(2) - (3)].val)); rl((yyval.val), num(parser->lineno)); } break; - case 423: + case 425: /* Line 1806 of yacc.c */ -#line 1408 "parser.y" +#line 1407 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("quasistring")); } break; - case 424: + case 426: /* Line 1806 of yacc.c */ -#line 1412 "parser.y" +#line 1411 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (1)].val), nil); rl((yyval.val), num(parser->lineno)); } break; - case 425: + case 427: /* Line 1806 of yacc.c */ -#line 1414 "parser.y" +#line 1413 "parser.y" { (yyval.val) = cons((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val)); rl((yyval.val), num(parser->lineno)); } break; - case 426: + case 428: /* Line 1806 of yacc.c */ -#line 1418 "parser.y" +#line 1417 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 427: + case 429: /* Line 1806 of yacc.c */ -#line 1419 "parser.y" +#line 1418 "parser.y" { (yyval.val) = (yyvsp[(1) - (1)].val); } break; - case 428: + case 430: /* Line 1806 of yacc.c */ -#line 1420 "parser.y" +#line 1419 "parser.y" { (yyval.val) = cons(var_s, cons((yyvsp[(1) - (1)].val), nil)); rl((yyval.val), num(parser->lineno)); } break; - case 429: + case 431: /* Line 1806 of yacc.c */ -#line 1422 "parser.y" +#line 1421 "parser.y" { if (integerp((yyvsp[(2) - (2)].val)) || symbolp((yyvsp[(2) - (2)].val))) (yyval.val) = rlcp_tree(cons(var_s, cons((yyvsp[(2) - (2)].val), nil)), (yyvsp[(2) - (2)].val)); @@ -6674,314 +6685,321 @@ yyreduce: (yyval.val) = (yyvsp[(2) - (2)].val); } break; - case 430: + case 432: /* Line 1806 of yacc.c */ -#line 1429 "parser.y" +#line 1428 "parser.y" { (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); } break; - case 431: + case 433: /* Line 1806 of yacc.c */ -#line 1430 "parser.y" +#line 1429 "parser.y" { val ch = mkstring(one, chr((yyvsp[(1) - (2)].chr))); (yyval.val) = string_extend(ch, (yyvsp[(2) - (2)].val), t); } break; - case 432: + case 434: /* Line 1806 of yacc.c */ -#line 1432 "parser.y" +#line 1431 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); } break; - case 433: + case 435: /* Line 1806 of yacc.c */ -#line 1433 "parser.y" +#line 1432 "parser.y" { (yyval.val) = string_extend(string_own((yyvsp[(1) - (2)].lexeme)), (yyvsp[(2) - (2)].val), t); } break; - case 434: + case 436: /* Line 1806 of yacc.c */ -#line 1436 "parser.y" +#line 1435 "parser.y" { (yyval.val) = mkstring(one, chr((yyvsp[(1) - (1)].chr))); } break; - case 435: + case 437: /* Line 1806 of yacc.c */ -#line 1437 "parser.y" +#line 1436 "parser.y" { (yyval.val) = string_extend((yyvsp[(1) - (2)].val), chr((yyvsp[(2) - (2)].chr)), nil); } break; - case 436: + case 438: /* Line 1806 of yacc.c */ -#line 1438 "parser.y" +#line 1437 "parser.y" { (yyval.val) = string_own((yyvsp[(1) - (1)].lexeme)); } break; - case 437: + case 439: /* Line 1806 of yacc.c */ -#line 1439 "parser.y" +#line 1438 "parser.y" { (yyval.val) = string_extend((yyvsp[(1) - (2)].val), string_own((yyvsp[(2) - (2)].lexeme)), nil); } break; - case 438: + case 440: /* Line 1806 of yacc.c */ -#line 1442 "parser.y" +#line 1441 "parser.y" { (yyval.val) = nil; } break; - case 439: + case 441: /* Line 1806 of yacc.c */ -#line 1443 "parser.y" +#line 1442 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; - case 440: + case 442: /* Line 1806 of yacc.c */ -#line 1444 "parser.y" +#line 1443 "parser.y" { val word = (yyvsp[(1) - (2)].val); (yyval.val) = rlc(cons(word, (yyvsp[(2) - (2)].val)), (yyvsp[(1) - (2)].val)); } break; - case 441: + case 443: /* Line 1806 of yacc.c */ -#line 1446 "parser.y" +#line 1445 "parser.y" { (yyval.val) = nil; yybadtok(yychar, lit("word list")); } break; - case 442: + case 444: /* Line 1806 of yacc.c */ -#line 1450 "parser.y" +#line 1449 "parser.y" { (yyval.val) = nil; } break; - case 443: + case 445: /* Line 1806 of yacc.c */ -#line 1451 "parser.y" +#line 1450 "parser.y" { (yyval.val) = (yyvsp[(2) - (2)].val); } break; - case 444: + case 446: /* Line 1806 of yacc.c */ -#line 1452 "parser.y" +#line 1451 "parser.y" { val qword = cons(quasi_s, (yyvsp[(1) - (2)].val)); (yyval.val) = rlc(cons(qword, nil), (yyvsp[(1) - (2)].val)); } break; - case 445: + case 447: /* Line 1806 of yacc.c */ -#line 1456 "parser.y" +#line 1455 "parser.y" { val qword = cons(quasi_s, (yyvsp[(1) - (3)].val)); (yyval.val) = rlc(cons(qword, (yyvsp[(3) - (3)].val)), (yyvsp[(1) - (3)].val)); } break; - case 446: + case 448: /* Line 1806 of yacc.c */ -#line 1460 "parser.y" +#line 1459 "parser.y" { (yyval.val) = make_buf(zero, nil, nil); end_of_buflit(scnr); } break; - case 447: + case 449: /* Line 1806 of yacc.c */ -#line 1462 "parser.y" +#line 1461 "parser.y" { end_of_buflit(scnr); buf_trim((yyvsp[(2) - (3)].val)); (yyval.val) = (yyvsp[(2) - (3)].val); } break; - case 448: + case 450: /* Line 1806 of yacc.c */ -#line 1465 "parser.y" +#line 1464 "parser.y" { yyerr("unterminated buffer literal"); end_of_buflit(scnr); yyerrok; } break; - case 449: + case 451: /* Line 1806 of yacc.c */ -#line 1470 "parser.y" +#line 1469 "parser.y" { buf_put_u8((yyvsp[(1) - (2)].val), length_buf((yyval.val)), (yyvsp[(2) - (2)].val)); (yyval.val) = (yyvsp[(1) - (2)].val); } break; - case 450: + case 452: /* Line 1806 of yacc.c */ -#line 1472 "parser.y" +#line 1471 "parser.y" { (yyval.val) = make_buf(zero, nil, num_fast(512)); buf_put_u8((yyval.val), zero, (yyvsp[(1) - (1)].val)); } break; - case 451: + case 453: /* Line 1806 of yacc.c */ -#line 1476 "parser.y" +#line 1475 "parser.y" { (yyval.val) = num((yyvsp[(1) - (2)].chr) << 4 | (yyvsp[(2) - (2)].chr)); } break; - case 452: + case 454: /* Line 1806 of yacc.c */ -#line 1477 "parser.y" +#line 1476 "parser.y" { (yyval.val) = zero; yyerr("unpaired digit in buffer literal"); yyerrok; } break; - case 453: + case 455: /* Line 1806 of yacc.c */ -#line 1484 "parser.y" +#line 1483 "parser.y" { (yyval.val) = mkexp(all_s, nil, num(parser->lineno)); } break; - case 454: + case 456: /* Line 1806 of yacc.c */ -#line 1485 "parser.y" +#line 1484 "parser.y" { (yyval.val) = mkexp(some_s, nil, num(parser->lineno)); } break; - case 455: + case 457: /* Line 1806 of yacc.c */ -#line 1486 "parser.y" +#line 1485 "parser.y" { (yyval.val) = mkexp(none_s, nil, num(parser->lineno)); } break; - case 456: + case 458: /* Line 1806 of yacc.c */ -#line 1487 "parser.y" +#line 1486 "parser.y" { (yyval.val) = mkexp(maybe_s, nil, num(parser->lineno)); } break; - case 457: + case 459: /* Line 1806 of yacc.c */ -#line 1488 "parser.y" +#line 1487 "parser.y" { (yyval.val) = mkexp(cases_s, nil, num(parser->lineno)); } break; - case 458: + case 460: /* Line 1806 of yacc.c */ -#line 1489 "parser.y" +#line 1488 "parser.y" { (yyval.val) = mkexp(and_s, nil, num(parser->lineno)); } break; - case 459: + case 461: /* Line 1806 of yacc.c */ -#line 1490 "parser.y" +#line 1489 "parser.y" { (yyval.val) = mkexp(or_s, nil, num(parser->lineno)); } break; - case 460: + case 462: /* Line 1806 of yacc.c */ -#line 1491 "parser.y" +#line 1490 "parser.y" { (yyval.val) = mkexp(try_s, nil, num(parser->lineno)); } break; - case 461: + case 463: /* Line 1806 of yacc.c */ -#line 1492 "parser.y" +#line 1491 "parser.y" { (yyval.val) = mkexp(finally_s, nil, num(parser->lineno)); } break; - case 462: + case 464: /* Line 1806 of yacc.c */ -#line 1494 "parser.y" +#line 1493 "parser.y" { (yyval.val) = mkexp(block_s, (yyvsp[(2) - (3)].val), nil); } break; - case 463: + case 465: /* Line 1806 of yacc.c */ -#line 1496 "parser.y" +#line 1495 "parser.y" { (yyval.val) = mkexp(choose_s, (yyvsp[(2) - (3)].val), nil); } break; - case 464: + case 466: /* Line 1806 of yacc.c */ -#line 1498 "parser.y" +#line 1497 "parser.y" { (yyval.val) = mkexp(collect_s, (yyvsp[(2) - (3)].val), nil); } break; - case 465: + case 467: /* Line 1806 of yacc.c */ -#line 1500 "parser.y" +#line 1499 "parser.y" { (yyval.val) = mkexp(coll_s, (yyvsp[(2) - (3)].val), nil); } break; - case 466: + case 468: /* Line 1806 of yacc.c */ -#line 1502 "parser.y" +#line 1501 "parser.y" { (yyval.val) = mkexp(gather_s, (yyvsp[(2) - (3)].val), nil); } break; - case 467: + case 469: /* Line 1806 of yacc.c */ -#line 1504 "parser.y" +#line 1503 "parser.y" { (yyval.val) = mkexp(define_s, (yyvsp[(2) - (3)].val), nil); } break; - case 468: + case 470: /* Line 1806 of yacc.c */ -#line 1506 "parser.y" +#line 1505 "parser.y" { (yyval.val) = mkexp(catch_s, (yyvsp[(2) - (3)].val), nil); } break; - case 469: + case 471: /* Line 1806 of yacc.c */ -#line 1508 "parser.y" +#line 1507 "parser.y" { (yyval.val) = mkexp(if_s, cons((yyvsp[(2) - (5)].val), cons((yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val))), nil); } break; - case 470: + case 472: /* Line 1806 of yacc.c */ -#line 1513 "parser.y" +#line 1512 "parser.y" { yyerr("@(output) doesn't nest"); } break; + case 473: + +/* Line 1806 of yacc.c */ +#line 1514 "parser.y" + { yyerr("@(push) doesn't nest"); } + break; + /* Line 1806 of yacc.c */ -#line 7015 "y.tab.c" +#line 7033 "y.tab.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -7756,6 +7774,52 @@ static val fname_helper(parser_t *parser, val name) return nil; } +static val output_helper(parser_t *parser, val sym, val exprs, val clauses) +{ + cons_bind (dest, rest, exprs); + + val dest_ex = expand_form_ver(dest, 166); + val args = if3(dest_ex == dest, exprs, cons(dest_ex, rest)); + val args_kw = keywordp(car(args)); + val alist = improper_plist_to_alist(if3(args_kw, args, cdr(args)), + v_output_keys); + + if (!args_kw && sym == push_s) + { + yyerrorf(parser->scanner, lit("~s: doesn't support destination argument"), + sym, nao); + } + + + while (alist) { + val key = car(pop(&alist)); + + if (key == filter_k) + continue; + + if (sym != push_s) { + if (key == nothrow_k || key == append_k || + key == named_k || key == continue_k || + key == finish_k || key == into_k) + { + continue; + } + } + + yyerrorf(parser->scanner, lit("~s: unsupported keyword ~s"), + sym, key, nao); + } + + if (sym != push_s) { + val into_var = second(memql(into_k, args)); + val named_var = second(memql(named_k, args)); + match_reg_var(into_var); + match_reg_var(named_var); + } + + return list(sym, clauses, args, nao); +} + #ifndef YYEOF #define YYEOF 0 #endif |