summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmanuele Torre <torreemanuele6@gmail.com>2023-08-04 01:21:25 +0200
committerGitHub <noreply@github.com>2023-08-04 08:21:25 +0900
commitdcaf701ef66dd0a9c27df49959e4eae9c45c73c4 (patch)
tree6b9a6b8c29730827b23da6e95cded66acc0b150d
parentd8327a90b86e0e066f2e04e9d5251a34ea4dea04 (diff)
Simplify String rule in parser (#2805)
Use a StringStart component that is either FORMAT QQSTRING_START or QQSTRING_START instead of having two similar rules for String. This is simpler and avoids having to use an untyped mid-rule action component to copy FORMAT at the top of the stack before QQString, and having to use jv_free($<literal>3) instead of jv_free($1) just to make bison not complain about the "unused" mid-rule component.
-rw-r--r--src/parser.c1359
-rw-r--r--src/parser.y22
2 files changed, 687 insertions, 694 deletions
diff --git a/src/parser.c b/src/parser.c
index a1987d34..429a4304 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -366,24 +366,23 @@ enum yysymbol_kind_t
YYSYMBOL_FuncDef = 79, /* FuncDef */
YYSYMBOL_Params = 80, /* Params */
YYSYMBOL_Param = 81, /* Param */
- YYSYMBOL_NoFormat = 82, /* NoFormat */
+ YYSYMBOL_StringStart = 82, /* StringStart */
YYSYMBOL_String = 83, /* String */
- YYSYMBOL_84_1 = 84, /* @1 */
- YYSYMBOL_QQString = 85, /* QQString */
- YYSYMBOL_ElseBody = 86, /* ElseBody */
- YYSYMBOL_ExpD = 87, /* ExpD */
- YYSYMBOL_Term = 88, /* Term */
- YYSYMBOL_Args = 89, /* Args */
- YYSYMBOL_Arg = 90, /* Arg */
- YYSYMBOL_RepPatterns = 91, /* RepPatterns */
- YYSYMBOL_Patterns = 92, /* Patterns */
- YYSYMBOL_Pattern = 93, /* Pattern */
- YYSYMBOL_ArrayPats = 94, /* ArrayPats */
- YYSYMBOL_ObjPats = 95, /* ObjPats */
- YYSYMBOL_ObjPat = 96, /* ObjPat */
- YYSYMBOL_Keyword = 97, /* Keyword */
- YYSYMBOL_MkDict = 98, /* MkDict */
- YYSYMBOL_MkDictPair = 99 /* MkDictPair */
+ YYSYMBOL_QQString = 84, /* QQString */
+ YYSYMBOL_ElseBody = 85, /* ElseBody */
+ YYSYMBOL_ExpD = 86, /* ExpD */
+ YYSYMBOL_Term = 87, /* Term */
+ YYSYMBOL_Args = 88, /* Args */
+ YYSYMBOL_Arg = 89, /* Arg */
+ YYSYMBOL_RepPatterns = 90, /* RepPatterns */
+ YYSYMBOL_Patterns = 91, /* Patterns */
+ YYSYMBOL_Pattern = 92, /* Pattern */
+ YYSYMBOL_ArrayPats = 93, /* ArrayPats */
+ YYSYMBOL_ObjPats = 94, /* ObjPats */
+ YYSYMBOL_ObjPat = 95, /* ObjPat */
+ YYSYMBOL_Keyword = 96, /* Keyword */
+ YYSYMBOL_MkDict = 97, /* MkDict */
+ YYSYMBOL_MkDictPair = 98 /* MkDictPair */
};
typedef enum yysymbol_kind_t yysymbol_kind_t;
@@ -583,7 +582,7 @@ static block gen_loc_object(location *loc, struct locfile *locations) {
}
-#line 587 "src/parser.c"
+#line 586 "src/parser.c"
#ifdef short
@@ -908,18 +907,18 @@ union yyalloc
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 29
+#define YYFINAL 30
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2039
+#define YYLAST 2051
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 70
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 30
+#define YYNNTS 29
/* YYNRULES -- Number of rules. */
-#define YYNRULES 170
+#define YYNRULES 169
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 318
+#define YYNSTATES 315
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 303
@@ -979,18 +978,17 @@ static const yytype_int16 yyrline[] =
445, 449, 453, 457, 461, 465, 469, 473, 477, 481,
485, 489, 493, 497, 501, 505, 509, 513, 518, 521,
538, 547, 554, 562, 573, 578, 584, 587, 592, 596,
- 603, 608, 612, 612, 619, 622, 625, 631, 634, 637,
- 642, 645, 648, 654, 657, 660, 668, 672, 675, 678,
- 681, 684, 687, 690, 693, 696, 700, 706, 709, 712,
- 715, 718, 721, 724, 727, 730, 733, 736, 739, 742,
- 745, 748, 751, 754, 757, 760, 763, 766, 788, 792,
- 796, 799, 811, 816, 817, 818, 819, 822, 825, 830,
- 835, 838, 843, 846, 851, 855, 858, 863, 866, 871,
- 874, 879, 882, 885, 888, 891, 894, 902, 908, 911,
- 914, 917, 920, 923, 926, 929, 932, 935, 938, 941,
- 944, 947, 950, 953, 956, 959, 964, 967, 968, 969,
- 972, 975, 978, 981, 985, 990, 994, 998, 1002, 1006,
- 1014
+ 603, 606, 612, 619, 622, 625, 631, 634, 637, 642,
+ 645, 648, 654, 657, 660, 668, 672, 675, 678, 681,
+ 684, 687, 690, 693, 696, 700, 706, 709, 712, 715,
+ 718, 721, 724, 727, 730, 733, 736, 739, 742, 745,
+ 748, 751, 754, 757, 760, 763, 766, 788, 792, 796,
+ 799, 811, 816, 817, 818, 819, 822, 825, 830, 835,
+ 838, 843, 846, 851, 855, 858, 863, 866, 871, 874,
+ 879, 882, 885, 888, 891, 894, 902, 908, 911, 914,
+ 917, 920, 923, 926, 929, 932, 935, 938, 941, 944,
+ 947, 950, 953, 956, 959, 964, 967, 968, 969, 972,
+ 975, 978, 981, 985, 990, 994, 998, 1002, 1006, 1014
};
#endif
@@ -1019,7 +1017,7 @@ static const char *const yytname[] =
"'%'", "NONOPT", "'?'", "';'", "'('", "')'", "':'", "'.'", "'['", "']'",
"'{'", "'}'", "'$'", "$accept", "TopLevel", "Module", "Imports",
"FuncDefs", "Exp", "Import", "ImportWhat", "ImportFrom", "FuncDef",
- "Params", "Param", "NoFormat", "String", "@1", "QQString", "ElseBody",
+ "Params", "Param", "StringStart", "String", "QQString", "ElseBody",
"ExpD", "Term", "Args", "Arg", "RepPatterns", "Patterns", "Pattern",
"ArrayPats", "ObjPats", "ObjPat", "Keyword", "MkDict", "MkDictPair", YY_NULLPTR
};
@@ -1031,12 +1029,12 @@ yysymbol_name (yysymbol_kind_t yysymbol)
}
#endif
-#define YYPACT_NINF (-159)
+#define YYPACT_NINF (-157)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
-#define YYTABLE_NINF (-157)
+#define YYTABLE_NINF (-156)
#define yytable_value_is_error(Yyn) \
((Yyn) == YYTABLE_NINF)
@@ -1045,38 +1043,38 @@ yysymbol_name (yysymbol_kind_t yysymbol)
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- -13, 868, 7, 41, -44, -30, -159, -159, -2, -159,
- 65, 868, 449, 449, 868, 66, 36, -159, -159, 868,
- 418, 285, 351, 582, 4, 1356, 868, -159, 10, -159,
- -4, -4, 868, 41, 670, 868, -159, -159, -18, 1712,
- 47, 51, 54, 32, -159, -159, -159, -6, 46, 1186,
- -159, 112, -2, 58, 52, -159, 997, -24, 64, 68,
- -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
- -159, -159, -159, -159, -159, -159, -159, -159, -159, 868,
- 69, 72, 60, 92, 75, 868, 868, 868, 868, 868,
- 868, 868, 868, 868, 868, 868, 868, 868, 868, 868,
- 868, 868, 868, 868, 868, 868, 868, 868, 868, -159,
- -159, 1880, 86, -5, 6, 166, 132, -159, -159, -159,
- 1880, 868, -159, -159, 1407, 1880, 63, -159, -159, 73,
- 868, 469, -5, -5, 520, 868, 11, -159, -159, -159,
- -159, -159, -159, 638, 207, -159, 207, 207, 1220, 207,
- 207, -159, 638, 146, 1948, 581, 581, 1914, 784, 1980,
- 1948, 1948, 1948, 1948, 1948, 1948, 581, 581, 1880, 1914,
- 1948, 581, 581, -6, -6, 95, 95, 95, -159, -159,
- -5, 930, 114, 110, 118, 736, 101, 96, 868, 102,
- 963, 120, -159, -159, 868, -159, 24, -159, -159, 76,
- -159, 1458, -159, 1662, 103, 104, -159, -159, 1880, -159,
- 868, -159, -47, -159, 207, 115, 17, 115, 115, 105,
- 115, 115, -159, -159, -159, -19, 106, 113, 116, 868,
- 117, -22, -159, 119, -5, 868, 107, 1031, -159, -159,
- 1065, -159, 802, 124, -159, -159, -159, -159, 73, 125,
- -159, 868, 868, -159, -159, 868, 868, 1746, -159, 207,
- 207, -5, -159, -5, -5, -5, 1254, -5, 930, -159,
- -5, 136, 1880, -159, 133, 140, 141, 1099, -159, -159,
- 868, 1796, 1846, 1509, 1560, -159, 115, 115, -159, -159,
- -159, -159, 138, -159, -159, -159, -159, -159, -159, 143,
- 1611, -159, 868, 868, 868, -5, -159, -159, 1662, 1288,
- 1133, -159, -159, -159, 868, -159, 1322, -159
+ -14, 881, 15, 62, -33, -23, -157, -157, -9, -157,
+ 37, 881, 912, 912, 881, 40, 2, -157, -157, 881,
+ 193, 282, 415, 595, -18, 1400, 881, -157, -157, 12,
+ -157, 1, 1, 881, 62, 683, 881, -157, -157, -11,
+ 1756, 17, 49, 26, 10, -157, -157, 14, 21, 1230,
+ -157, 74, -9, 53, 51, -157, 1041, -26, 63, 64,
+ -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
+ -157, -157, -157, -157, -157, -157, -157, -157, -157, 881,
+ 65, 69, 70, 82, 67, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881, 881, 881,
+ 881, 881, 881, 881, 881, 881, 881, 881, 881, -157,
+ -157, 1924, 13, 87, -5, -4, 348, 127, -157, -157,
+ -157, 1924, 881, -157, -157, 1451, 1924, 56, -157, 68,
+ 881, 482, -5, -5, 533, 881, -157, -157, -157, -157,
+ -157, -157, 651, 513, -157, 513, 513, 1264, 513, 513,
+ -157, 651, 144, 1992, 113, 113, 1958, 594, 913, 1992,
+ 1992, 1992, 1992, 1992, 1992, 113, 113, 1924, 1958, 1992,
+ 113, 113, 14, 14, 98, 98, 98, -157, 881, -157,
+ -157, -157, -5, 974, 117, 111, 119, 749, 102, 96,
+ 881, 104, 1007, 116, -157, -157, 881, -157, -157, -157,
+ 61, -157, 1502, -157, 1706, 110, 112, -157, -157, 1924,
+ -10, -157, 513, 126, 0, 126, 126, 115, 126, 126,
+ -157, -157, 1790, -157, -37, 118, 120, 121, 881, 122,
+ -38, -157, 124, -5, 881, 123, 1075, -157, -157, 1109,
+ -157, 815, 131, -157, -157, -157, 68, 128, -157, 881,
+ 881, -157, -157, 881, 881, -157, 513, 513, -157, -5,
+ -157, -5, -5, -5, 1298, -5, 974, -157, -5, 134,
+ 1924, -157, 133, 137, 145, 1143, -157, -157, 881, 1840,
+ 1890, 1553, 1604, 126, 126, -157, -157, -157, -157, 130,
+ -157, -157, -157, -157, -157, -157, 146, 1655, -157, 881,
+ 881, 881, -5, -157, -157, 1706, 1332, 1177, -157, -157,
+ -157, 881, -157, 1366, -157
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1084,54 +1082,54 @@ static const yytype_int16 yypact[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 4, 0, 0, 6, 111, 82, 109, 101, 103, 74,
- 0, 0, 0, 0, 0, 0, 0, 110, 60, 0,
- 0, 0, 0, 0, 0, 0, 0, 102, 47, 1,
- 0, 0, 8, 6, 0, 0, 78, 62, 0, 0,
- 0, 0, 18, 0, 76, 75, 64, 32, 0, 0,
- 85, 0, 0, 84, 0, 106, 0, 0, 166, 165,
- 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 167, 0,
- 163, 168, 0, 157, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 6, 110, 81, 108, 100, 102, 73,
+ 0, 0, 0, 0, 0, 0, 0, 109, 61, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 101, 47,
+ 1, 0, 0, 8, 6, 0, 0, 77, 60, 0,
+ 0, 0, 0, 18, 0, 75, 74, 32, 0, 0,
+ 84, 0, 0, 83, 0, 105, 0, 0, 165, 164,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149, 150, 151, 152, 153, 154, 166, 0,
+ 162, 167, 0, 156, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 21,
- 5, 10, 81, 0, 0, 0, 0, 53, 52, 3,
- 2, 8, 7, 48, 0, 119, 0, 117, 64, 0,
- 0, 0, 0, 0, 0, 0, 0, 113, 104, 86,
- 80, 114, 105, 0, 0, 116, 0, 0, 0, 0,
- 0, 107, 0, 0, 40, 41, 42, 25, 24, 23,
- 27, 31, 34, 36, 39, 26, 45, 46, 28, 29,
- 22, 43, 44, 30, 33, 35, 37, 38, 77, 124,
- 0, 0, 0, 0, 123, 0, 83, 0, 0, 92,
- 0, 0, 9, 49, 0, 112, 0, 59, 58, 0,
- 56, 0, 16, 0, 0, 0, 19, 17, 20, 65,
- 0, 61, 0, 159, 0, 170, 72, 160, 164, 0,
- 162, 161, 158, 108, 127, 0, 0, 0, 131, 0,
- 0, 0, 129, 0, 0, 0, 94, 0, 79, 115,
- 0, 91, 0, 88, 51, 50, 118, 63, 0, 0,
- 54, 0, 0, 69, 15, 0, 0, 0, 71, 0,
- 0, 0, 125, 0, 0, 0, 0, 0, 0, 126,
- 0, 122, 11, 93, 90, 100, 99, 0, 87, 57,
- 0, 0, 0, 0, 0, 66, 70, 169, 128, 137,
- 133, 132, 0, 135, 130, 134, 89, 97, 96, 98,
- 0, 68, 0, 0, 0, 0, 95, 55, 0, 0,
- 0, 136, 67, 12, 0, 14, 0, 13
+ 5, 10, 0, 80, 0, 0, 0, 0, 53, 52,
+ 3, 2, 8, 7, 48, 0, 118, 0, 116, 0,
+ 0, 0, 0, 0, 0, 0, 112, 103, 85, 79,
+ 113, 104, 0, 0, 115, 0, 0, 0, 0, 0,
+ 106, 0, 0, 40, 41, 42, 25, 24, 23, 27,
+ 31, 34, 36, 39, 26, 45, 46, 28, 29, 22,
+ 43, 44, 30, 33, 35, 37, 38, 64, 0, 62,
+ 76, 123, 0, 0, 0, 0, 122, 0, 82, 0,
+ 0, 91, 0, 0, 9, 49, 0, 111, 59, 58,
+ 0, 56, 0, 16, 0, 0, 0, 19, 17, 20,
+ 0, 158, 0, 169, 71, 159, 163, 0, 161, 160,
+ 157, 107, 0, 126, 0, 0, 0, 130, 0, 0,
+ 0, 128, 0, 0, 0, 93, 0, 78, 114, 0,
+ 90, 0, 87, 51, 50, 117, 0, 0, 54, 0,
+ 0, 68, 15, 0, 0, 70, 0, 0, 65, 0,
+ 124, 0, 0, 0, 0, 0, 0, 125, 0, 121,
+ 11, 92, 89, 99, 98, 0, 86, 57, 0, 0,
+ 0, 0, 0, 69, 168, 127, 136, 132, 131, 0,
+ 134, 129, 133, 88, 96, 95, 97, 0, 67, 0,
+ 0, 0, 0, 94, 55, 0, 0, 0, 135, 66,
+ 12, 0, 14, 0, 13
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -159, -159, -159, 145, 74, -1, -159, -159, 172, -12,
- -159, -43, -159, 5, -159, 78, -104, -138, -7, -159,
- 16, -159, -69, -114, -159, -159, -51, -158, -111, -159
+ -157, -157, -157, 169, 57, -1, -157, -157, 148, -13,
+ -157, -39, -157, -7, -157, -96, -101, -6, -157, 18,
+ -157, -66, -114, -157, -157, -56, -156, -102, -157
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_uint8 yydefgoto[] =
{
- 0, 2, 3, 32, 119, 111, 33, 34, 116, 26,
- 199, 200, 46, 27, 128, 136, 254, 215, 28, 126,
- 127, 182, 183, 184, 225, 231, 232, 81, 82, 83
+ 0, 2, 3, 33, 120, 111, 34, 35, 117, 26,
+ 200, 201, 27, 28, 112, 252, 213, 29, 127, 128,
+ 184, 185, 186, 224, 230, 231, 81, 82, 83
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
@@ -1139,321 +1137,324 @@ static const yytype_uint8 yydefgoto[] =
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 25, 179, 143, 1, 52, 40, 41, 29, 217, 218,
- 39, 220, 221, 42, 52, 112, 144, 35, 47, 49,
- 121, 56, 112, 233, 113, 143, 53, 268, 80, 36,
- 261, 120, 213, 124, 125, 117, 117, 44, 18, 144,
- 37, 222, 45, 129, 145, 130, 269, 262, 18, 106,
- 107, 108, 112, 109, 209, 210, 112, 211, 30, 31,
- 180, 132, 181, 204, 205, 133, 224, 209, 210, 38,
- 247, 185, 43, 84, 114, 115, 258, 197, 148, 198,
- 135, 114, 115, 134, 154, 155, 156, 157, 158, 159,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 137, 121,
- 233, 114, 115, 139, 190, 114, 115, 140, 141, 186,
- 271, 286, 287, 194, 244, 195, 245, 146, 151, 201,
- 203, 147, 149, 207, 208, 150, 248, 216, 249, 216,
- 216, 152, 216, 216, 153, 178, 191, 288, 80, 289,
- 290, 291, 223, 293, 109, 234, 295, 80, 235, -121,
- 238, 241, 239, 259, 255, 256, 273, 187, 260, 263,
- 4, 5, 6, 7, 8, 9, 264, -120, 122, 265,
- 267, 10, 270, 278, 237, 11, 230, 240, 280, 12,
- 13, 311, 296, 125, 14, 192, 15, 16, 17, 297,
- 298, 305, 306, 118, 312, 279, 196, 216, 18, 257,
- 246, 4, 5, 6, 7, 8, 9, 294, 0, 0,
- 19, 0, 0, 0, 0, 0, 0, 20, 266, 188,
- 21, 22, 189, 23, 272, 24, 0, 0, 16, 17,
- 0, 277, 0, 0, 0, 0, 0, 0, 0, 18,
- 281, 282, 216, 216, 283, 284, 0, 0, 0, 0,
- 0, 214, 0, 0, 0, 0, 0, 0, 20, 0,
- 0, 21, 22, 230, 23, 0, 24, 0, 0, 300,
- 0, 0, 0, 0, 0, -73, 50, 0, 0, 51,
- -73, 0, 0, 52, 0, -73, -73, -73, -73, -73,
- 0, 308, 309, 310, 0, -73, -73, -73, 0, 0,
- -73, -73, -73, 316, -73, 0, 0, 0, -73, -73,
- -73, -73, -73, -73, -73, -73, 0, 18, 0, 0,
- -73, 0, 0, -73, -73, -73, -73, -73, -73, -73,
- -73, -73, -73, 0, -73, -73, 0, -73, -73, -73,
- -73, -73, 54, -73, 0, 4, 5, 6, 7, 8,
- 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
- 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 0, 15, 16, 17, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 18, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
- 0, 0, 20, 0, 0, 21, 22, 55, 23, 48,
- 24, 0, 4, 5, 6, 7, 8, 9, 0, 0,
- 0, 0, 0, 10, 0, 0, 0, 11, 0, 0,
- 0, 12, 13, 0, 0, 0, 14, 0, 15, 16,
- 17, 0, 0, 4, 5, 6, 7, 8, 9, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 202, 0, 19, 4, 5, 6, 7, 8, 9, 20,
- 16, 17, 21, 22, 10, 23, 0, 24, 11, 0,
- 0, 18, 12, 13, 0, 0, 0, 14, 0, 15,
- 16, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 20, 18, 0, 21, 22, 0, 23, 0, 24, 0,
- 0, 206, 0, 19, 4, 5, 6, 7, 8, 9,
- 20, 0, 0, 21, 22, 10, 23, 0, 24, 11,
- 0, 0, 0, 12, 13, 0, 0, 0, 14, 0,
- 15, 16, 17, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 0, 20, 0, 57, 21, 22, 58, 23, 59, 24,
- 52, 0, -157, -157, 0, 0, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- 74, 75, 76, 77, 78, 0, 0, 0, 0, 0,
- -157, -157, 0, 0, 18, 0, 0, 0, 0, 0,
- 0, 0, -157, -157, 104, 105, 106, 107, 108, 212,
- 109, 0, 58, 79, 59, 0, 52, 0, 0, 0,
- -156, 0, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 0, 0, 0, 4, 5, 6, 7, 8, 9,
- 18, 0, 0, 0, 0, 10, 0, 0, 0, 11,
- 0, 0, 0, 12, 13, 0, 0, 0, 14, 79,
- 15, 16, 17, 0, 0, 0, -156, 0, 0, 0,
- 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
- 123, 20, 0, 0, 21, 22, 0, 23, 0, 24,
- 4, 5, 6, 7, 8, 9, 0, 0, 0, 0,
- 0, 10, 0, 0, 0, 11, 0, 0, 0, 12,
- 13, 0, 0, 0, 14, 0, 15, 16, 17, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 19, 0, 0, 0, 0, 86, 87, 20, 0, 0,
- 21, 22, 236, 23, 0, 24, 4, 5, 6, 7,
- 8, 9, 0, 0, 0, 0, 0, 10, 0, 0,
- 0, 11, 0, 97, 98, 12, 13, 0, 0, 0,
- 14, 0, 15, 16, 17, 102, 103, 104, 105, 106,
- 107, 108, 0, 109, 18, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
- 0, 0, 0, 20, 0, 0, 21, 22, 276, 23,
- 0, 24, 4, 5, 6, 7, 8, 9, 0, 0,
+ 25, 181, 1, 45, 52, 113, 41, 42, 46, 52,
+ 40, 266, 259, 43, 53, 30, 80, 113, 47, 49,
+ 122, 56, 113, 142, 118, 118, 114, 232, 36, 260,
+ 267, 132, 121, 38, 125, 126, 37, 143, 18, 142,
+ 211, 39, 144, 18, 215, 216, 44, 218, 219, 220,
+ 129, 84, 130, 143, 113, 134, 177, 178, 135, 179,
+ 182, 187, 183, 133, 115, 116, 205, 206, 223, 106,
+ 107, 108, 198, 109, 199, 138, 115, 116, 147, 31,
+ 32, 115, 116, 136, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 188, 122,
+ 232, 255, 139, 115, 116, 192, 196, 140, 197, 269,
+ 243, 246, 244, 247, -156, -156, 145, 146, 148, 202,
+ 204, 151, 149, 208, 209, 80, 152, 214, 150, 214,
+ 214, 193, 214, 214, 80, 285, 180, 286, 287, 288,
+ 221, 290, -156, -156, 292, 283, 284, 109, 233, 234,
+ -120, 237, 238, 240, -156, -156, 104, 105, 106, 107,
+ 108, 253, 109, 254, 256, -119, 229, 222, 257, 194,
+ 119, 261, 271, 262, 263, 265, 236, 268, 308, 239,
+ 276, 278, 293, 302, 48, 126, 294, 4, 5, 6,
+ 7, 8, 9, 123, 295, 303, 214, 277, 10, 309,
+ 291, 0, 11, 0, 245, 0, 12, 13, 0, 0,
+ 0, 14, 0, 15, 16, 17, 0, 264, 0, 0,
+ 0, 0, 0, 270, 0, 18, 0, 0, 0, 0,
+ 275, 0, 0, 0, 0, 0, 0, 19, 279, 280,
+ 214, 214, 281, 282, 20, 0, 0, 21, 22, 229,
+ 23, 0, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 297, 0, 0,
+ 0, 0, -72, 50, 0, 0, 51, -72, 0, 0,
+ 52, 0, -72, -72, -72, -72, -72, 0, 305, 306,
+ 307, 0, -72, -72, -72, 0, 0, -72, -72, -72,
+ 313, -72, 0, 0, 0, -72, -72, -72, -72, -72,
+ -72, -72, -72, 0, 18, 0, 0, -72, 0, 0,
+ -72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
+ 0, -72, -72, 0, -72, -72, -72, -72, -72, 189,
+ -72, 0, 4, 5, 6, 7, 8, 9, 0, 0,
0, 0, 0, 10, 0, 0, 0, 11, 0, 0,
0, 12, 13, 0, 0, 0, 14, 0, 15, 16,
17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 19, 0, 0, 0, 0, 0, 0, 20,
- 0, 226, 21, 22, 227, 23, 228, 24, 52, 0,
- 0, 0, 0, 0, 60, 61, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 18, 85, 86, 87, 88, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
- 90, 229, 0, 0, 0, 0, 91, 92, 93, 94,
- 95, 96, 97, 98, 0, 0, 0, 85, 86, 87,
- 88, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 0, 109, 89, 90, 0, 242, 0, 0, 243,
+ 0, 190, 21, 22, 191, 23, 54, 24, 0, 4,
+ 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 11, 0, 0, 0, 12, 13,
+ 0, 0, 0, 14, 0, 15, 16, 17, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
+ 0, 0, 0, 0, 0, 0, 20, 0, 0, 21,
+ 22, 55, 23, 203, 24, 0, 4, 5, 6, 7,
+ 8, 9, 0, 0, 0, 0, 0, 10, 0, 0,
+ 0, 11, 0, 0, 0, 12, 13, 0, 0, 0,
+ 14, 0, 15, 16, 17, 0, 0, 4, 5, 6,
+ 7, 8, 9, 0, 18, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 207, 0, 19, 4, 5, 6,
+ 7, 8, 9, 20, 16, 17, 21, 22, 10, 23,
+ 0, 24, 11, 0, 0, 18, 12, 13, 0, 0,
+ 0, 14, 0, 15, 16, 17, 0, 212, 0, 0,
+ 0, 0, 0, 0, 20, 18, 0, 21, 22, 0,
+ 23, 0, 24, 0, 0, 0, 0, 19, 0, 0,
+ 0, 0, 0, 0, 20, 0, 57, 21, 22, 58,
+ 23, 59, 24, 52, 0, 86, 87, 0, 0, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 0, 0,
+ 0, 0, 0, 97, 98, 0, 0, 18, 0, 0,
+ 0, 0, 0, 0, 0, 102, 103, 104, 105, 106,
+ 107, 108, 210, 109, 0, 58, 79, 59, 0, 52,
+ 0, 0, 0, -155, 0, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 0, 0, 0, 4, 5, 6,
+ 7, 8, 9, 18, 0, 0, 0, 0, 10, 0,
+ 0, 0, 11, 0, 0, 0, 12, 13, 0, 0,
+ 0, 14, 79, 15, 16, 17, 0, 0, 0, -155,
+ 0, 0, 0, 0, 0, 18, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 19, 0, 0,
+ 0, 0, 0, 124, 20, 0, 0, 21, 22, 0,
+ 23, 0, 24, 4, 5, 6, 7, 8, 9, 0,
+ 0, 0, 0, 0, 10, 0, 0, 0, 11, 0,
+ 0, 0, 12, 13, 0, 0, 0, 14, 0, 15,
+ 16, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
+ 20, 0, 0, 21, 22, 235, 23, 0, 24, 4,
+ 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 11, 0, 0, 0, 12, 13,
+ 0, 0, 0, 14, 0, 15, 16, 17, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 18, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
+ 0, 0, 0, 0, 0, 0, 20, 0, 0, 21,
+ 22, 274, 23, 0, 24, 4, 5, 6, 7, 8,
+ 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
+ 0, 15, 16, 17, 0, 0, 4, 5, 6, 7,
+ 8, 9, 0, 18, 86, 87, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 19, 0, 0, 0, 89,
+ 0, 0, 20, 16, 17, 21, 22, 0, 23, 0,
+ 24, 0, 97, 98, 18, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 20, 0, 225, 21, 22, 226, 23,
+ 227, 24, 52, 0, 0, 0, 0, 0, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 18, 85, 86, 87,
+ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 89, 90, 228, 0, 0, 0, 0,
91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
0, 85, 86, 87, 88, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 0, 109, 89, 90, 0,
- 0, 0, 0, 142, 91, 92, 93, 94, 95, 96,
+ 241, 0, 0, 242, 91, 92, 93, 94, 95, 96,
97, 98, 0, 0, 0, 85, 86, 87, 88, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
- 109, 89, 90, 0, 0, 0, 0, 274, 91, 92,
+ 109, 89, 90, 0, 0, 0, 0, 141, 91, 92,
93, 94, 95, 96, 97, 98, 0, 0, 0, 85,
86, 87, 88, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 0, 109, 89, 90, 0, 0, 0,
- 0, 275, 91, 92, 93, 94, 95, 96, 97, 98,
+ 0, 272, 91, 92, 93, 94, 95, 96, 97, 98,
0, 0, 0, 85, 86, 87, 88, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 0, 109, 89,
- 90, 0, 0, 0, 0, 299, 91, 92, 93, 94,
- 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
- 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
- 108, 0, 109, 314, 0, 315, 85, 86, 87, 88,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 89, 90, 0, 0, 0, 0, 0, 91,
- 92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
- 85, 86, 87, 88, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 0, 109, 89, 90, 138, 0,
+ 90, 0, 0, 0, 0, 273, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 85, 86, 87,
+ 88, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 89, 90, 0, 0, 0, 0, 296,
+ 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
+ 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 0, 109, 311, 0, 312,
+ 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 89, 90, 0, 0,
0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
98, 0, 0, 0, 85, 86, 87, 88, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 89, 90, 219, 0, 0, 0, 0, 91, 92, 93,
+ 89, 90, 137, 0, 0, 0, 0, 91, 92, 93,
94, 95, 96, 97, 98, 0, 0, 0, 85, 86,
87, 88, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 0, 109, 89, 90, 292, 0, 0, 0,
+ 107, 108, 0, 109, 89, 90, 217, 0, 0, 0,
0, 91, 92, 93, 94, 95, 96, 97, 98, 0,
0, 0, 85, 86, 87, 88, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 0, 109, 89, 90,
- 313, 0, 0, 0, 0, 91, 92, 93, 94, 95,
+ 289, 0, 0, 0, 0, 91, 92, 93, 94, 95,
96, 97, 98, 0, 0, 0, 85, 86, 87, 88,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 0, 109, 89, 90, 317, 0, 0, 0, 0, 91,
+ 0, 109, 89, 90, 310, 0, 0, 0, 0, 91,
92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
- 0, 0, 0, 0, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 0, 109, 110, 85, 86, 87,
- 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 89, 90, 0, 0, 0, 0, 0,
- 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 0, 109, 193, 85, 86,
- 87, 88, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 89, 90, 0, 0, 0, 0,
- 0, 91, 92, 93, 94, 95, 96, 97, 98, 0,
- 0, 0, 0, 0, 0, 0, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 0, 109, 250, 85,
- 86, 87, 88, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 89, 90, 0, 0, 0,
- 0, 0, 91, 92, 93, 94, 95, 96, 97, 98,
- 0, 0, 0, 0, 0, 0, 0, 99, 100, 101,
- 102, 103, 104, 105, 106, 107, 108, 0, 109, 303,
- 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 90, 0, 0,
+ 85, 86, 87, 88, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 0, 109, 89, 90, 314, 0,
0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
98, 0, 0, 0, 0, 0, 0, 0, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
- 304, 85, 86, 87, 88, 0, 0, 0, 0, 0,
+ 110, 85, 86, 87, 88, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 89, 90, 0,
0, 0, 0, 0, 91, 92, 93, 94, 95, 96,
97, 98, 0, 0, 0, 0, 0, 0, 0, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
- 109, 307, 85, 86, 87, 88, 0, 0, 0, 0,
- 0, 0, 0, 251, 252, 0, 0, 253, 89, 90,
+ 109, 195, 85, 86, 87, 88, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 89, 90,
0, 0, 0, 0, 0, 91, 92, 93, 94, 95,
96, 97, 98, 0, 0, 0, 0, 0, 0, 0,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 0, 109, 85, 86, 87, 88, 0, 0, 0, 0,
- 0, 0, 131, 0, 0, 0, 0, 0, 89, 90,
- 0, 0, 0, 0, 0, 91, 92, 93, 94, 95,
- 96, 97, 98, 0, 0, 0, 85, 86, 87, 88,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 0, 109, 89, 90, 0, 0, 0, 0, 0, 91,
- 92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
- 0, 285, 0, 0, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 0, 109, 85, 86, 87, 88,
+ 0, 109, 248, 85, 86, 87, 88, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,
+ 90, 0, 0, 0, 0, 0, 91, 92, 93, 94,
+ 95, 96, 97, 98, 0, 0, 0, 0, 0, 0,
+ 0, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 0, 109, 300, 85, 86, 87, 88, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 89, 90, 0, 0, 0, 0, 0, 91, 92, 93,
+ 94, 95, 96, 97, 98, 0, 0, 0, 0, 0,
+ 0, 0, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 0, 109, 301, 85, 86, 87, 88, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 301, 89, 90, 0, 0, 0, 0, 0, 91,
+ 0, 89, 90, 0, 0, 0, 0, 0, 91, 92,
+ 93, 94, 95, 96, 97, 98, 0, 0, 0, 0,
+ 0, 0, 0, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 0, 109, 304, 85, 86, 87, 88,
+ 0, 0, 0, 0, 0, 0, 0, 249, 250, 0,
+ 0, 251, 89, 90, 0, 0, 0, 0, 0, 91,
92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
0, 0, 0, 0, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 0, 109, 85, 86, 87, 88,
- 0, 0, 0, 0, 0, 0, 302, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 131, 0, 0, 0,
0, 0, 89, 90, 0, 0, 0, 0, 0, 91,
92, 93, 94, 95, 96, 97, 98, 0, 0, 0,
85, 86, 87, 88, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 0, 109, 89, 90, 0, 0,
0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
+ 98, 0, 0, 0, 0, 258, 0, 0, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
+ 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 298, 89, 90, 0, 0,
+ 0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
+ 98, 0, 0, 0, 0, 0, 0, 0, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
+ 85, 86, 87, 88, 0, 0, 0, 0, 0, 0,
+ 299, 0, 0, 0, 0, 0, 89, 90, 0, 0,
+ 0, 0, 0, 91, 92, 93, 94, 95, 96, 97,
98, 0, 0, 0, 85, 86, 87, 88, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 0, 109,
89, 90, 0, 0, 0, 0, 0, 91, 92, 93,
- 94, 95, 96, 97, 98, 0, 0, 0, -157, 86,
- 87, 0, 0, 0, 101, 102, 103, 104, 105, 106,
+ 94, 95, 96, 97, 98, 0, 0, 0, 85, 86,
+ 87, 88, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 0, 109, 89, 90, 0, 0, 0, 0,
- 0, -157, -157, -157, -157, -157, -157, 97, 98, 0,
- 0, 86, 87, 0, 0, 0, 0, 0, -157, 102,
- 103, 104, 105, 106, 107, 108, 89, 109, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
- 98, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 102, 103, 104, 105, 106, 107, 108, 0, 109
+ 0, 91, 92, 93, 94, 95, 96, 97, 98, 0,
+ 0, 0, -156, 86, 87, 0, 0, 0, 101, 102,