diff --git a/Geo/MElementCut.cpp b/Geo/MElementCut.cpp index 459ad4b5e5d4d4f753b3b1bf0bcde0d8658e4538..7331cb5862dac454567213d6973e58920ffd85cc 100644 --- a/Geo/MElementCut.cpp +++ b/Geo/MElementCut.cpp @@ -172,11 +172,30 @@ void MPolygon::_initVertices() } } - _vertices.push_back(edges.back().getVertex(0)); + /*_vertices.push_back(edges.back().getVertex(0)); _vertices.push_back(edges.back().getVertex(1)); - edges.pop_back(); + edges.pop_back();*/ + std::vector<MEdge>::iterator ite = edges.begin(); + MVertex *vINIT = ite->getVertex(0); + _vertices.push_back(ite->getVertex(0)); + _vertices.push_back(ite->getVertex(1)); + edges.erase(ite); + while(edges.size() > 1) { - for(int k = edges.size() - 1; k >= 0; k--) { + ite = edges.begin() ; + for(ite = edges.begin(); ite != edges.end(); ite++) { + if(ite->getVertex(0) == _vertices.back()) { + _vertices.push_back(ite->getVertex(1)); + edges.erase(ite); + break; + } + else if(ite->getVertex(1) == _vertices.back()) { + _vertices.push_back(ite->getVertex(0)); + edges.erase(ite); + break; + } + } + /*for(int k = edges.size() - 1; k >= 0; k--) { if(edges[k].getVertex(0) == _vertices.back()){ _vertices.push_back(edges[k].getVertex(1)); edges.erase(edges.begin() + k); @@ -186,8 +205,8 @@ void MPolygon::_initVertices() _vertices.push_back(edges[k].getVertex(0)); edges.erase(edges.begin() + k); break; - } - } + } printf("no common summit k=%d\n",k); + }*/ } for(unsigned int i = 0; i < _parts.size(); i++) { diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 53a69d7525c904847d1af3331cbf25b327f74c29..bb7f1a065aa037483d886c0bf65e66df7f98a034 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -657,16 +657,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 6858 +#define YYLAST 6976 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 144 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 79 /* YYNRULES -- Number of rules. */ -#define YYNRULES 372 +#define YYNRULES 374 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1291 +#define YYNSTATES 1310 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -737,30 +737,30 @@ static const yytype_uint16 yyprhs[] = 583, 588, 599, 607, 615, 624, 625, 635, 644, 657, 666, 675, 684, 692, 693, 703, 709, 721, 727, 737, 742, 752, 762, 764, 766, 767, 770, 777, 784, 791, - 798, 807, 814, 827, 842, 859, 864, 871, 878, 882, - 887, 893, 897, 901, 906, 911, 915, 923, 931, 935, - 943, 947, 950, 953, 956, 972, 975, 978, 985, 994, - 1003, 1014, 1016, 1019, 1021, 1025, 1030, 1032, 1038, 1050, - 1064, 1065, 1073, 1074, 1088, 1089, 1105, 1106, 1113, 1122, - 1131, 1140, 1153, 1166, 1179, 1194, 1209, 1224, 1225, 1238, - 1239, 1252, 1253, 1266, 1267, 1284, 1285, 1302, 1303, 1320, - 1321, 1340, 1341, 1360, 1361, 1380, 1382, 1385, 1391, 1399, - 1409, 1412, 1422, 1423, 1427, 1428, 1430, 1431, 1434, 1435, - 1438, 1446, 1453, 1462, 1468, 1474, 1481, 1492, 1503, 1514, - 1525, 1528, 1532, 1534, 1538, 1541, 1544, 1547, 1551, 1555, - 1559, 1563, 1567, 1571, 1575, 1579, 1583, 1587, 1591, 1595, - 1599, 1603, 1609, 1614, 1619, 1624, 1629, 1634, 1639, 1644, - 1649, 1654, 1659, 1666, 1671, 1676, 1681, 1686, 1691, 1696, - 1703, 1710, 1717, 1722, 1727, 1732, 1737, 1742, 1747, 1752, - 1757, 1762, 1767, 1772, 1779, 1784, 1789, 1794, 1799, 1804, - 1809, 1816, 1823, 1830, 1835, 1837, 1839, 1841, 1843, 1845, - 1847, 1849, 1851, 1857, 1862, 1867, 1870, 1876, 1880, 1887, - 1892, 1900, 1907, 1909, 1912, 1915, 1919, 1923, 1935, 1945, - 1953, 1961, 1963, 1967, 1969, 1971, 1974, 1978, 1983, 1989, - 1991, 1993, 1996, 2000, 2004, 2010, 2015, 2017, 2019, 2023, - 2030, 2032, 2034, 2038, 2042, 2052, 2060, 2062, 2068, 2072, - 2079, 2081, 2085, 2087, 2089, 2093, 2100, 2102, 2104, 2111, - 2116, 2121, 2126 + 798, 807, 822, 839, 852, 861, 868, 883, 888, 895, + 902, 906, 911, 917, 921, 925, 930, 935, 939, 947, + 955, 959, 967, 971, 974, 977, 980, 996, 999, 1002, + 1009, 1018, 1027, 1038, 1040, 1043, 1045, 1049, 1054, 1056, + 1062, 1074, 1088, 1089, 1097, 1098, 1112, 1113, 1129, 1130, + 1137, 1146, 1155, 1164, 1177, 1190, 1203, 1218, 1233, 1248, + 1249, 1262, 1263, 1276, 1277, 1290, 1291, 1308, 1309, 1326, + 1327, 1344, 1345, 1364, 1365, 1384, 1385, 1404, 1406, 1409, + 1415, 1423, 1433, 1436, 1446, 1447, 1451, 1452, 1454, 1455, + 1458, 1459, 1462, 1470, 1477, 1486, 1492, 1498, 1505, 1516, + 1527, 1538, 1549, 1552, 1556, 1558, 1562, 1565, 1568, 1571, + 1575, 1579, 1583, 1587, 1591, 1595, 1599, 1603, 1607, 1611, + 1615, 1619, 1623, 1627, 1633, 1638, 1643, 1648, 1653, 1658, + 1663, 1668, 1673, 1678, 1683, 1690, 1695, 1700, 1705, 1710, + 1715, 1720, 1727, 1734, 1741, 1746, 1751, 1756, 1761, 1766, + 1771, 1776, 1781, 1786, 1791, 1796, 1803, 1808, 1813, 1818, + 1823, 1828, 1833, 1840, 1847, 1854, 1859, 1861, 1863, 1865, + 1867, 1869, 1871, 1873, 1875, 1881, 1886, 1891, 1894, 1900, + 1904, 1911, 1916, 1924, 1931, 1933, 1936, 1939, 1943, 1947, + 1959, 1969, 1977, 1985, 1987, 1991, 1993, 1995, 1998, 2002, + 2007, 2013, 2015, 2017, 2020, 2024, 2028, 2034, 2039, 2041, + 2043, 2047, 2054, 2056, 2058, 2062, 2066, 2076, 2084, 2086, + 2092, 2096, 2103, 2105, 2109, 2111, 2113, 2117, 2124, 2126, + 2128, 2135, 2140, 2145, 2150 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -845,141 +845,143 @@ static const yytype_int16 yyrhs[] = 6, -1, 179, -1, 177, -1, -1, 179, 172, -1, 179, 45, 141, 217, 142, 6, -1, 179, 48, 141, 217, 142, 6, -1, 179, 51, 141, 217, 142, 6, - -1, 179, 53, 141, 217, 142, 6, -1, 71, 4, - 134, 209, 135, 7, 214, 6, -1, 71, 4, 141, - 209, 142, 6, -1, 71, 4, 134, 209, 135, 7, - 141, 211, 140, 214, 142, 6, -1, 71, 4, 134, - 209, 135, 7, 141, 211, 140, 211, 140, 214, 142, - 6, -1, 71, 4, 134, 209, 135, 7, 141, 211, - 140, 211, 140, 211, 140, 214, 142, 6, -1, 76, - 141, 179, 142, -1, 76, 101, 136, 209, 137, 6, - -1, 76, 4, 136, 209, 137, 6, -1, 76, 4, - 6, -1, 76, 4, 4, 6, -1, 93, 218, 141, - 179, 142, -1, 105, 5, 6, -1, 106, 5, 6, - -1, 105, 141, 179, 142, -1, 106, 141, 179, 142, - -1, 4, 222, 6, -1, 4, 4, 136, 209, 137, - 221, 6, -1, 4, 4, 4, 136, 209, 137, 6, - -1, 4, 209, 6, -1, 65, 134, 4, 135, 138, - 4, 6, -1, 87, 4, 6, -1, 100, 6, -1, - 43, 6, -1, 40, 6, -1, 40, 141, 209, 140, - 209, 140, 209, 140, 209, 140, 209, 140, 209, 142, - 6, -1, 41, 6, -1, 44, 6, -1, 95, 134, - 209, 8, 209, 135, -1, 95, 134, 209, 8, 209, - 8, 209, 135, -1, 95, 4, 96, 141, 209, 8, - 209, 142, -1, 95, 4, 96, 141, 209, 8, 209, - 8, 209, 142, -1, 97, -1, 104, 4, -1, 102, - -1, 103, 4, 6, -1, 98, 134, 209, 135, -1, - 99, -1, 70, 211, 141, 179, 142, -1, 70, 141, - 211, 140, 211, 140, 209, 142, 141, 179, 142, -1, - 70, 141, 211, 140, 211, 140, 211, 140, 209, 142, - 141, 179, 142, -1, -1, 70, 211, 141, 179, 187, - 200, 142, -1, -1, 70, 141, 211, 140, 211, 140, - 209, 142, 141, 179, 188, 200, 142, -1, -1, 70, - 141, 211, 140, 211, 140, 211, 140, 209, 142, 141, - 179, 189, 200, 142, -1, -1, 70, 141, 179, 190, - 200, 142, -1, 70, 45, 141, 209, 140, 211, 142, - 6, -1, 70, 48, 141, 209, 140, 211, 142, 6, - -1, 70, 51, 141, 209, 140, 211, 142, 6, -1, - 70, 45, 141, 209, 140, 211, 140, 211, 140, 209, - 142, 6, -1, 70, 48, 141, 209, 140, 211, 140, - 211, 140, 209, 142, 6, -1, 70, 51, 141, 209, - 140, 211, 140, 211, 140, 209, 142, 6, -1, 70, - 45, 141, 209, 140, 211, 140, 211, 140, 211, 140, - 209, 142, 6, -1, 70, 48, 141, 209, 140, 211, - 140, 211, 140, 211, 140, 209, 142, 6, -1, 70, - 51, 141, 209, 140, 211, 140, 211, 140, 211, 140, - 209, 142, 6, -1, -1, 70, 45, 141, 209, 140, - 211, 142, 191, 141, 200, 142, 6, -1, -1, 70, - 48, 141, 209, 140, 211, 142, 192, 141, 200, 142, - 6, -1, -1, 70, 51, 141, 209, 140, 211, 142, - 193, 141, 200, 142, 6, -1, -1, 70, 45, 141, - 209, 140, 211, 140, 211, 140, 209, 142, 194, 141, - 200, 142, 6, -1, -1, 70, 48, 141, 209, 140, - 211, 140, 211, 140, 209, 142, 195, 141, 200, 142, - 6, -1, -1, 70, 51, 141, 209, 140, 211, 140, - 211, 140, 209, 142, 196, 141, 200, 142, 6, -1, + -1, 179, 53, 141, 217, 142, 6, -1, 71, 58, + 134, 209, 135, 7, 214, 6, -1, 71, 58, 134, + 209, 135, 7, 141, 211, 140, 211, 140, 217, 142, + 6, -1, 71, 58, 134, 209, 135, 7, 141, 211, + 140, 211, 140, 211, 140, 217, 142, 6, -1, 71, + 49, 134, 209, 135, 7, 141, 211, 140, 217, 142, + 6, -1, 71, 4, 134, 209, 135, 7, 214, 6, + -1, 71, 4, 141, 209, 142, 6, -1, 71, 4, + 134, 209, 135, 7, 141, 211, 140, 211, 140, 214, + 142, 6, -1, 76, 141, 179, 142, -1, 76, 101, + 136, 209, 137, 6, -1, 76, 4, 136, 209, 137, + 6, -1, 76, 4, 6, -1, 76, 4, 4, 6, + -1, 93, 218, 141, 179, 142, -1, 105, 5, 6, + -1, 106, 5, 6, -1, 105, 141, 179, 142, -1, + 106, 141, 179, 142, -1, 4, 222, 6, -1, 4, + 4, 136, 209, 137, 221, 6, -1, 4, 4, 4, + 136, 209, 137, 6, -1, 4, 209, 6, -1, 65, + 134, 4, 135, 138, 4, 6, -1, 87, 4, 6, + -1, 100, 6, -1, 43, 6, -1, 40, 6, -1, + 40, 141, 209, 140, 209, 140, 209, 140, 209, 140, + 209, 140, 209, 142, 6, -1, 41, 6, -1, 44, + 6, -1, 95, 134, 209, 8, 209, 135, -1, 95, + 134, 209, 8, 209, 8, 209, 135, -1, 95, 4, + 96, 141, 209, 8, 209, 142, -1, 95, 4, 96, + 141, 209, 8, 209, 8, 209, 142, -1, 97, -1, + 104, 4, -1, 102, -1, 103, 4, 6, -1, 98, + 134, 209, 135, -1, 99, -1, 70, 211, 141, 179, + 142, -1, 70, 141, 211, 140, 211, 140, 209, 142, + 141, 179, 142, -1, 70, 141, 211, 140, 211, 140, + 211, 140, 209, 142, 141, 179, 142, -1, -1, 70, + 211, 141, 179, 187, 200, 142, -1, -1, 70, 141, + 211, 140, 211, 140, 209, 142, 141, 179, 188, 200, + 142, -1, -1, 70, 141, 211, 140, 211, 140, 211, + 140, 209, 142, 141, 179, 189, 200, 142, -1, -1, + 70, 141, 179, 190, 200, 142, -1, 70, 45, 141, + 209, 140, 211, 142, 6, -1, 70, 48, 141, 209, + 140, 211, 142, 6, -1, 70, 51, 141, 209, 140, + 211, 142, 6, -1, 70, 45, 141, 209, 140, 211, + 140, 211, 140, 209, 142, 6, -1, 70, 48, 141, + 209, 140, 211, 140, 211, 140, 209, 142, 6, -1, + 70, 51, 141, 209, 140, 211, 140, 211, 140, 209, + 142, 6, -1, 70, 45, 141, 209, 140, 211, 140, + 211, 140, 211, 140, 209, 142, 6, -1, 70, 48, + 141, 209, 140, 211, 140, 211, 140, 211, 140, 209, + 142, 6, -1, 70, 51, 141, 209, 140, 211, 140, + 211, 140, 211, 140, 209, 142, 6, -1, -1, 70, + 45, 141, 209, 140, 211, 142, 191, 141, 200, 142, + 6, -1, -1, 70, 48, 141, 209, 140, 211, 142, + 192, 141, 200, 142, 6, -1, -1, 70, 51, 141, + 209, 140, 211, 142, 193, 141, 200, 142, 6, -1, -1, 70, 45, 141, 209, 140, 211, 140, 211, 140, - 211, 140, 209, 142, 197, 141, 200, 142, 6, -1, - -1, 70, 48, 141, 209, 140, 211, 140, 211, 140, - 211, 140, 209, 142, 198, 141, 200, 142, 6, -1, - -1, 70, 51, 141, 209, 140, 211, 140, 211, 140, - 211, 140, 209, 142, 199, 141, 200, 142, 6, -1, - 201, -1, 200, 201, -1, 79, 141, 209, 142, 6, - -1, 79, 141, 214, 140, 214, 142, 6, -1, 79, - 141, 214, 140, 214, 140, 214, 142, 6, -1, 73, - 6, -1, 80, 134, 209, 135, 7, 214, 64, 209, - 6, -1, -1, 64, 4, 209, -1, -1, 4, -1, - -1, 7, 214, -1, -1, 7, 209, -1, 60, 48, - 215, 7, 209, 202, 6, -1, 60, 51, 215, 204, - 203, 6, -1, 57, 51, 141, 209, 142, 7, 214, - 6, -1, 60, 53, 215, 204, 6, -1, 73, 51, - 215, 205, 6, -1, 74, 51, 214, 7, 209, 6, - -1, 45, 141, 217, 142, 96, 51, 141, 209, 142, - 6, -1, 48, 141, 217, 142, 96, 51, 141, 209, - 142, 6, -1, 48, 141, 217, 142, 96, 53, 141, - 209, 142, 6, -1, 51, 141, 217, 142, 96, 53, - 141, 209, 142, 6, -1, 77, 6, -1, 77, 4, - 6, -1, 210, -1, 134, 209, 135, -1, 125, 209, - -1, 124, 209, -1, 129, 209, -1, 209, 125, 209, - -1, 209, 124, 209, -1, 209, 126, 209, -1, 209, - 127, 209, -1, 209, 128, 209, -1, 209, 133, 209, - -1, 209, 120, 209, -1, 209, 121, 209, -1, 209, - 123, 209, -1, 209, 122, 209, -1, 209, 119, 209, - -1, 209, 118, 209, -1, 209, 117, 209, -1, 209, - 116, 209, -1, 209, 115, 209, 8, 209, -1, 14, - 134, 209, 135, -1, 15, 134, 209, 135, -1, 16, - 134, 209, 135, -1, 17, 134, 209, 135, -1, 18, - 134, 209, 135, -1, 19, 134, 209, 135, -1, 20, - 134, 209, 135, -1, 21, 134, 209, 135, -1, 22, - 134, 209, 135, -1, 24, 134, 209, 135, -1, 25, - 134, 209, 140, 209, 135, -1, 26, 134, 209, 135, - -1, 27, 134, 209, 135, -1, 28, 134, 209, 135, - -1, 29, 134, 209, 135, -1, 30, 134, 209, 135, - -1, 31, 134, 209, 135, -1, 32, 134, 209, 140, - 209, 135, -1, 33, 134, 209, 140, 209, 135, -1, - 34, 134, 209, 140, 209, 135, -1, 23, 134, 209, - 135, -1, 14, 136, 209, 137, -1, 15, 136, 209, - 137, -1, 16, 136, 209, 137, -1, 17, 136, 209, - 137, -1, 18, 136, 209, 137, -1, 19, 136, 209, - 137, -1, 20, 136, 209, 137, -1, 21, 136, 209, - 137, -1, 22, 136, 209, 137, -1, 24, 136, 209, - 137, -1, 25, 136, 209, 140, 209, 137, -1, 26, - 136, 209, 137, -1, 27, 136, 209, 137, -1, 28, - 136, 209, 137, -1, 29, 136, 209, 137, -1, 30, - 136, 209, 137, -1, 31, 136, 209, 137, -1, 32, - 136, 209, 140, 209, 137, -1, 33, 136, 209, 140, - 209, 137, -1, 34, 136, 209, 140, 209, 137, -1, - 23, 136, 209, 137, -1, 3, -1, 9, -1, 10, - -1, 11, -1, 108, -1, 109, -1, 110, -1, 4, - -1, 4, 143, 141, 209, 142, -1, 4, 136, 209, - 137, -1, 139, 4, 136, 137, -1, 4, 167, -1, - 4, 136, 209, 137, 167, -1, 4, 138, 4, -1, - 4, 136, 209, 137, 138, 4, -1, 4, 138, 4, - 167, -1, 4, 136, 209, 137, 138, 4, 167, -1, - 107, 134, 5, 140, 209, 135, -1, 212, -1, 125, - 211, -1, 124, 211, -1, 211, 125, 211, -1, 211, - 124, 211, -1, 141, 209, 140, 209, 140, 209, 140, - 209, 140, 209, 142, -1, 141, 209, 140, 209, 140, - 209, 140, 209, 142, -1, 141, 209, 140, 209, 140, - 209, 142, -1, 134, 209, 140, 209, 140, 209, 135, - -1, 214, -1, 213, 140, 214, -1, 209, -1, 216, - -1, 141, 142, -1, 141, 217, 142, -1, 125, 141, - 217, 142, -1, 209, 126, 141, 217, 142, -1, 214, - -1, 5, -1, 125, 216, -1, 209, 126, 216, -1, - 209, 8, 209, -1, 209, 8, 209, 8, 209, -1, - 45, 141, 209, 142, -1, 177, -1, 186, -1, 4, - 136, 137, -1, 4, 136, 141, 217, 142, 137, -1, - 209, -1, 216, -1, 217, 140, 209, -1, 217, 140, - 216, -1, 141, 209, 140, 209, 140, 209, 140, 209, - 142, -1, 141, 209, 140, 209, 140, 209, 142, -1, - 4, -1, 4, 138, 93, 138, 4, -1, 141, 220, - 142, -1, 4, 136, 209, 137, 138, 94, -1, 218, - -1, 220, 140, 218, -1, 222, -1, 4, -1, 4, - 138, 4, -1, 4, 136, 209, 137, 138, 4, -1, - 5, -1, 42, -1, 37, 134, 221, 140, 221, 135, - -1, 38, 134, 221, 135, -1, 39, 134, 221, 135, - -1, 36, 134, 221, 135, -1, 36, 134, 221, 140, - 217, 135, -1 + 209, 142, 194, 141, 200, 142, 6, -1, -1, 70, + 48, 141, 209, 140, 211, 140, 211, 140, 209, 142, + 195, 141, 200, 142, 6, -1, -1, 70, 51, 141, + 209, 140, 211, 140, 211, 140, 209, 142, 196, 141, + 200, 142, 6, -1, -1, 70, 45, 141, 209, 140, + 211, 140, 211, 140, 211, 140, 209, 142, 197, 141, + 200, 142, 6, -1, -1, 70, 48, 141, 209, 140, + 211, 140, 211, 140, 211, 140, 209, 142, 198, 141, + 200, 142, 6, -1, -1, 70, 51, 141, 209, 140, + 211, 140, 211, 140, 211, 140, 209, 142, 199, 141, + 200, 142, 6, -1, 201, -1, 200, 201, -1, 79, + 141, 209, 142, 6, -1, 79, 141, 214, 140, 214, + 142, 6, -1, 79, 141, 214, 140, 214, 140, 214, + 142, 6, -1, 73, 6, -1, 80, 134, 209, 135, + 7, 214, 64, 209, 6, -1, -1, 64, 4, 209, + -1, -1, 4, -1, -1, 7, 214, -1, -1, 7, + 209, -1, 60, 48, 215, 7, 209, 202, 6, -1, + 60, 51, 215, 204, 203, 6, -1, 57, 51, 141, + 209, 142, 7, 214, 6, -1, 60, 53, 215, 204, + 6, -1, 73, 51, 215, 205, 6, -1, 74, 51, + 214, 7, 209, 6, -1, 45, 141, 217, 142, 96, + 51, 141, 209, 142, 6, -1, 48, 141, 217, 142, + 96, 51, 141, 209, 142, 6, -1, 48, 141, 217, + 142, 96, 53, 141, 209, 142, 6, -1, 51, 141, + 217, 142, 96, 53, 141, 209, 142, 6, -1, 77, + 6, -1, 77, 4, 6, -1, 210, -1, 134, 209, + 135, -1, 125, 209, -1, 124, 209, -1, 129, 209, + -1, 209, 125, 209, -1, 209, 124, 209, -1, 209, + 126, 209, -1, 209, 127, 209, -1, 209, 128, 209, + -1, 209, 133, 209, -1, 209, 120, 209, -1, 209, + 121, 209, -1, 209, 123, 209, -1, 209, 122, 209, + -1, 209, 119, 209, -1, 209, 118, 209, -1, 209, + 117, 209, -1, 209, 116, 209, -1, 209, 115, 209, + 8, 209, -1, 14, 134, 209, 135, -1, 15, 134, + 209, 135, -1, 16, 134, 209, 135, -1, 17, 134, + 209, 135, -1, 18, 134, 209, 135, -1, 19, 134, + 209, 135, -1, 20, 134, 209, 135, -1, 21, 134, + 209, 135, -1, 22, 134, 209, 135, -1, 24, 134, + 209, 135, -1, 25, 134, 209, 140, 209, 135, -1, + 26, 134, 209, 135, -1, 27, 134, 209, 135, -1, + 28, 134, 209, 135, -1, 29, 134, 209, 135, -1, + 30, 134, 209, 135, -1, 31, 134, 209, 135, -1, + 32, 134, 209, 140, 209, 135, -1, 33, 134, 209, + 140, 209, 135, -1, 34, 134, 209, 140, 209, 135, + -1, 23, 134, 209, 135, -1, 14, 136, 209, 137, + -1, 15, 136, 209, 137, -1, 16, 136, 209, 137, + -1, 17, 136, 209, 137, -1, 18, 136, 209, 137, + -1, 19, 136, 209, 137, -1, 20, 136, 209, 137, + -1, 21, 136, 209, 137, -1, 22, 136, 209, 137, + -1, 24, 136, 209, 137, -1, 25, 136, 209, 140, + 209, 137, -1, 26, 136, 209, 137, -1, 27, 136, + 209, 137, -1, 28, 136, 209, 137, -1, 29, 136, + 209, 137, -1, 30, 136, 209, 137, -1, 31, 136, + 209, 137, -1, 32, 136, 209, 140, 209, 137, -1, + 33, 136, 209, 140, 209, 137, -1, 34, 136, 209, + 140, 209, 137, -1, 23, 136, 209, 137, -1, 3, + -1, 9, -1, 10, -1, 11, -1, 108, -1, 109, + -1, 110, -1, 4, -1, 4, 143, 141, 209, 142, + -1, 4, 136, 209, 137, -1, 139, 4, 136, 137, + -1, 4, 167, -1, 4, 136, 209, 137, 167, -1, + 4, 138, 4, -1, 4, 136, 209, 137, 138, 4, + -1, 4, 138, 4, 167, -1, 4, 136, 209, 137, + 138, 4, 167, -1, 107, 134, 5, 140, 209, 135, + -1, 212, -1, 125, 211, -1, 124, 211, -1, 211, + 125, 211, -1, 211, 124, 211, -1, 141, 209, 140, + 209, 140, 209, 140, 209, 140, 209, 142, -1, 141, + 209, 140, 209, 140, 209, 140, 209, 142, -1, 141, + 209, 140, 209, 140, 209, 142, -1, 134, 209, 140, + 209, 140, 209, 135, -1, 214, -1, 213, 140, 214, + -1, 209, -1, 216, -1, 141, 142, -1, 141, 217, + 142, -1, 125, 141, 217, 142, -1, 209, 126, 141, + 217, 142, -1, 214, -1, 5, -1, 125, 216, -1, + 209, 126, 216, -1, 209, 8, 209, -1, 209, 8, + 209, 8, 209, -1, 45, 141, 209, 142, -1, 177, + -1, 186, -1, 4, 136, 137, -1, 4, 136, 141, + 217, 142, 137, -1, 209, -1, 216, -1, 217, 140, + 209, -1, 217, 140, 216, -1, 141, 209, 140, 209, + 140, 209, 140, 209, 142, -1, 141, 209, 140, 209, + 140, 209, 142, -1, 4, -1, 4, 138, 93, 138, + 4, -1, 141, 220, 142, -1, 4, 136, 209, 137, + 138, 94, -1, 218, -1, 220, 140, 218, -1, 222, + -1, 4, -1, 4, 138, 4, -1, 4, 136, 209, + 137, 138, 4, -1, 5, -1, 42, -1, 37, 134, + 221, 140, 221, 135, -1, 38, 134, 221, 135, -1, + 39, 134, 221, 135, -1, 36, 134, 221, 135, -1, + 36, 134, 221, 140, 217, 135, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -999,30 +1001,30 @@ static const yytype_uint16 yyrline[] = 1316, 1322, 1329, 1354, 1379, 1396, 1395, 1415, 1432, 1460, 1477, 1497, 1515, 1533, 1532, 1557, 1562, 1567, 1572, 1577, 1597, 1603, 1614, 1615, 1620, 1623, 1627, 1650, 1673, 1696, - 1724, 1816, 1828, 1847, 1960, 1985, 1994, 1998, 2013, 2040, - 2057, 2071, 2077, 2083, 2092, 2106, 2154, 2172, 2187, 2206, - 2218, 2242, 2246, 2253, 2259, 2264, 2270, 2279, 2296, 2313, - 2332, 2351, 2379, 2387, 2393, 2400, 2404, 2413, 2421, 2429, - 2438, 2437, 2450, 2449, 2462, 2461, 2474, 2473, 2486, 2493, - 2500, 2507, 2514, 2521, 2528, 2535, 2542, 2550, 2549, 2561, - 2560, 2572, 2571, 2583, 2582, 2594, 2593, 2605, 2604, 2616, - 2615, 2627, 2626, 2638, 2637, 2652, 2655, 2661, 2670, 2690, - 2713, 2717, 2741, 2744, 2760, 2763, 2776, 2779, 2785, 2788, - 2795, 2851, 2921, 2926, 2993, 3036, 3062, 3085, 3108, 3111, - 3120, 3124, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, - 3148, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, - 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, - 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, - 3184, 3185, 3186, 3188, 3189, 3190, 3191, 3192, 3193, 3194, - 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, - 3205, 3206, 3207, 3208, 3217, 3218, 3219, 3220, 3221, 3222, - 3223, 3227, 3240, 3252, 3267, 3277, 3287, 3305, 3310, 3315, - 3325, 3335, 3343, 3347, 3351, 3355, 3359, 3366, 3370, 3374, - 3378, 3385, 3390, 3397, 3402, 3406, 3411, 3415, 3423, 3434, - 3438, 3450, 3458, 3466, 3473, 3484, 3504, 3514, 3524, 3534, - 3554, 3559, 3563, 3567, 3579, 3583, 3595, 3602, 3612, 3616, - 3631, 3636, 3643, 3647, 3660, 3668, 3679, 3683, 3691, 3699, - 3713, 3727, 3731 + 1724, 1743, 1761, 1780, 1798, 1876, 1888, 1993, 2002, 2006, + 2021, 2048, 2065, 2079, 2085, 2091, 2100, 2114, 2162, 2180, + 2195, 2214, 2226, 2250, 2254, 2261, 2267, 2272, 2278, 2287, + 2304, 2321, 2340, 2359, 2387, 2395, 2401, 2408, 2412, 2421, + 2429, 2437, 2446, 2445, 2458, 2457, 2470, 2469, 2482, 2481, + 2494, 2501, 2508, 2515, 2522, 2529, 2536, 2543, 2550, 2558, + 2557, 2569, 2568, 2580, 2579, 2591, 2590, 2602, 2601, 2613, + 2612, 2624, 2623, 2635, 2634, 2646, 2645, 2660, 2663, 2669, + 2678, 2698, 2721, 2725, 2749, 2752, 2768, 2771, 2784, 2787, + 2793, 2796, 2803, 2859, 2929, 2934, 3001, 3044, 3070, 3093, + 3116, 3119, 3128, 3132, 3148, 3149, 3150, 3151, 3152, 3153, + 3154, 3155, 3156, 3163, 3164, 3165, 3166, 3167, 3168, 3169, + 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, + 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, + 3190, 3191, 3192, 3193, 3194, 3196, 3197, 3198, 3199, 3200, + 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, + 3211, 3212, 3213, 3214, 3215, 3216, 3225, 3226, 3227, 3228, + 3229, 3230, 3231, 3235, 3248, 3260, 3275, 3285, 3295, 3313, + 3318, 3323, 3333, 3343, 3351, 3355, 3359, 3363, 3367, 3374, + 3378, 3382, 3386, 3393, 3398, 3405, 3410, 3414, 3419, 3423, + 3431, 3442, 3446, 3458, 3466, 3474, 3481, 3492, 3512, 3522, + 3532, 3542, 3562, 3567, 3571, 3575, 3587, 3591, 3603, 3610, + 3620, 3624, 3639, 3644, 3651, 3655, 3668, 3676, 3687, 3691, + 3699, 3707, 3721, 3735, 3739 }; #endif @@ -1112,30 +1114,30 @@ static const yytype_uint8 yyr1[] = 172, 172, 172, 172, 172, 175, 172, 172, 172, 172, 172, 172, 172, 176, 172, 177, 177, 177, 177, 177, 177, 177, 178, 178, 179, 179, 179, 179, 179, 179, - 180, 180, 180, 180, 180, 181, 181, 181, 181, 181, - 182, 183, 183, 183, 183, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 184, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, - 187, 186, 188, 186, 189, 186, 190, 186, 186, 186, - 186, 186, 186, 186, 186, 186, 186, 191, 186, 192, - 186, 193, 186, 194, 186, 195, 186, 196, 186, 197, - 186, 198, 186, 199, 186, 200, 200, 201, 201, 201, - 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, - 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, - 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, + 180, 180, 180, 180, 180, 180, 180, 181, 181, 181, + 181, 181, 182, 183, 183, 183, 183, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 186, + 186, 186, 187, 186, 188, 186, 189, 186, 190, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 191, + 186, 192, 186, 193, 186, 194, 186, 195, 186, 196, + 186, 197, 186, 198, 186, 199, 186, 200, 200, 201, + 201, 201, 201, 201, 202, 202, 203, 203, 204, 204, + 205, 205, 206, 206, 206, 206, 206, 206, 207, 207, + 207, 207, 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, + 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 211, 211, 211, 211, 211, 212, 212, 212, - 212, 213, 213, 214, 214, 214, 214, 214, 214, 215, - 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 217, 217, 217, 217, 218, 218, 218, 218, 219, 219, - 220, 220, 221, 221, 221, 221, 222, 222, 222, 222, - 222, 222, 222 + 210, 210, 210, 210, 211, 211, 211, 211, 211, 212, + 212, 212, 212, 213, 213, 214, 214, 214, 214, 214, + 214, 215, 215, 216, 216, 216, 216, 216, 216, 216, + 216, 216, 217, 217, 217, 217, 218, 218, 218, 218, + 219, 219, 220, 220, 221, 221, 221, 221, 222, 222, + 222, 222, 222, 222, 222 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1155,30 +1157,30 @@ static const yytype_uint8 yyr2[] = 4, 10, 7, 7, 8, 0, 9, 8, 12, 8, 8, 8, 7, 0, 9, 5, 11, 5, 9, 4, 9, 9, 1, 1, 0, 2, 6, 6, 6, 6, - 8, 6, 12, 14, 16, 4, 6, 6, 3, 4, - 5, 3, 3, 4, 4, 3, 7, 7, 3, 7, - 3, 2, 2, 2, 15, 2, 2, 6, 8, 8, - 10, 1, 2, 1, 3, 4, 1, 5, 11, 13, - 0, 7, 0, 13, 0, 15, 0, 6, 8, 8, - 8, 12, 12, 12, 14, 14, 14, 0, 12, 0, - 12, 0, 12, 0, 16, 0, 16, 0, 16, 0, - 18, 0, 18, 0, 18, 1, 2, 5, 7, 9, - 2, 9, 0, 3, 0, 1, 0, 2, 0, 2, - 7, 6, 8, 5, 5, 6, 10, 10, 10, 10, - 2, 3, 1, 3, 2, 2, 2, 3, 3, 3, + 8, 14, 16, 12, 8, 6, 14, 4, 6, 6, + 3, 4, 5, 3, 3, 4, 4, 3, 7, 7, + 3, 7, 3, 2, 2, 2, 15, 2, 2, 6, + 8, 8, 10, 1, 2, 1, 3, 4, 1, 5, + 11, 13, 0, 7, 0, 13, 0, 15, 0, 6, + 8, 8, 8, 12, 12, 12, 14, 14, 14, 0, + 12, 0, 12, 0, 12, 0, 16, 0, 16, 0, + 16, 0, 18, 0, 18, 0, 18, 1, 2, 5, + 7, 9, 2, 9, 0, 3, 0, 1, 0, 2, + 0, 2, 7, 6, 8, 5, 5, 6, 10, 10, + 10, 10, 2, 3, 1, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 6, 4, 4, 4, 4, 4, 4, 6, - 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, - 6, 6, 6, 4, 1, 1, 1, 1, 1, 1, - 1, 1, 5, 4, 4, 2, 5, 3, 6, 4, - 7, 6, 1, 2, 2, 3, 3, 11, 9, 7, - 7, 1, 3, 1, 1, 2, 3, 4, 5, 1, - 1, 2, 3, 3, 5, 4, 1, 1, 3, 6, - 1, 1, 3, 3, 9, 7, 1, 5, 3, 6, - 1, 3, 1, 1, 3, 6, 1, 1, 6, 4, - 4, 4, 6 + 3, 3, 3, 5, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, + 4, 6, 6, 6, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, + 4, 4, 6, 6, 6, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 5, 4, 4, 2, 5, 3, + 6, 4, 7, 6, 1, 2, 2, 3, 3, 11, + 9, 7, 7, 1, 3, 1, 1, 2, 3, 4, + 5, 1, 1, 2, 3, 3, 5, 4, 1, 1, + 3, 6, 1, 1, 3, 3, 9, 7, 1, 5, + 3, 6, 1, 3, 1, 1, 3, 6, 1, 1, + 6, 4, 4, 4, 6 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1191,294 +1193,296 @@ static const yytype_uint16 yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 176, 0, 0, 173, 0, + 0, 0, 0, 173, 0, 178, 0, 0, 175, 0, 0, 0, 0, 5, 7, 6, 8, 9, 10, 20, - 11, 12, 13, 19, 18, 14, 15, 16, 17, 304, - 311, 366, 55, 305, 306, 307, 0, 0, 0, 0, + 11, 12, 13, 19, 18, 14, 15, 16, 17, 306, + 313, 368, 55, 307, 308, 309, 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, 367, 0, 0, 308, 309, 310, 59, 58, 57, + 0, 369, 0, 0, 310, 311, 312, 59, 58, 57, 56, 0, 0, 0, 61, 60, 0, 0, 0, 0, - 134, 0, 0, 0, 242, 0, 0, 0, 0, 163, - 0, 165, 162, 166, 0, 0, 0, 0, 0, 0, + 134, 0, 0, 0, 244, 0, 0, 0, 0, 165, + 0, 167, 164, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 105, 115, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 322, 0, 0, 0, 0, 0, 134, 0, 0, 0, - 0, 0, 0, 0, 134, 0, 240, 0, 0, 0, - 0, 0, 0, 0, 356, 0, 0, 0, 0, 0, - 161, 0, 0, 172, 0, 134, 0, 134, 0, 0, - 0, 0, 315, 30, 366, 0, 0, 0, 0, 0, + 324, 0, 0, 0, 0, 0, 134, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 134, 0, 242, 0, + 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, + 0, 0, 163, 0, 0, 174, 0, 134, 0, 134, + 0, 0, 0, 0, 317, 30, 368, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 313, 247, 246, 248, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 0, 132, 0, 67, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 157, 109, 0, 0, 0, 0, 313, 0, 0, 348, + 349, 352, 353, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 335, 0, 336, + 0, 0, 0, 0, 342, 341, 0, 228, 228, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, + 325, 0, 0, 0, 0, 134, 134, 0, 0, 0, + 0, 0, 0, 0, 188, 0, 134, 0, 0, 0, + 0, 230, 0, 0, 0, 150, 0, 0, 0, 243, + 0, 0, 0, 162, 0, 0, 0, 0, 0, 134, + 0, 0, 0, 0, 176, 153, 0, 154, 0, 0, + 0, 319, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 311, 245, 244, 246, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 133, 0, 132, - 0, 67, 158, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 155, 109, - 0, 0, 0, 0, 311, 0, 0, 346, 347, 350, - 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 333, 0, 334, 0, 0, - 0, 0, 340, 339, 0, 226, 226, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 324, 323, 0, - 0, 0, 0, 134, 134, 0, 0, 0, 0, 0, - 0, 0, 186, 0, 134, 0, 0, 228, 0, 0, - 0, 148, 0, 0, 0, 241, 0, 0, 0, 160, - 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, - 174, 151, 0, 152, 0, 0, 0, 317, 0, 0, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 365, 0, 364, + 0, 0, 0, 0, 0, 0, 245, 0, 0, 0, + 0, 55, 0, 0, 0, 0, 0, 129, 0, 0, + 0, 0, 135, 62, 0, 262, 261, 260, 259, 255, + 256, 258, 257, 250, 249, 251, 252, 253, 254, 110, + 0, 0, 0, 0, 0, 0, 246, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 363, 0, 362, 0, 0, 0, 0, - 0, 0, 243, 0, 0, 0, 0, 55, 0, 0, - 0, 0, 0, 129, 0, 0, 0, 0, 135, 62, - 0, 260, 259, 258, 257, 253, 254, 256, 255, 248, - 247, 249, 250, 251, 252, 110, 0, 0, 0, 0, - 0, 0, 244, 341, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 328, 327, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, + 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, + 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 0, 155, 156, 0, 315, 321, + 0, 40, 0, 0, 0, 53, 0, 31, 32, 33, + 34, 35, 264, 285, 265, 286, 266, 287, 267, 288, + 268, 289, 269, 290, 270, 291, 271, 292, 272, 293, + 284, 305, 273, 294, 0, 0, 275, 296, 276, 297, + 277, 298, 278, 299, 279, 300, 280, 301, 0, 0, + 0, 0, 0, 0, 0, 0, 373, 0, 0, 371, + 372, 80, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 0, 0, 74, 0, 0, 0, 0, 316, 0, + 0, 0, 0, 0, 23, 21, 0, 0, 0, 0, + 350, 0, 0, 345, 251, 344, 354, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 326, 325, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, - 0, 0, 149, 0, 0, 145, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 175, 0, 153, - 154, 0, 313, 319, 0, 40, 0, 0, 0, 53, - 0, 31, 32, 33, 34, 35, 262, 283, 263, 284, - 264, 285, 265, 286, 266, 287, 267, 288, 268, 289, - 269, 290, 270, 291, 282, 303, 271, 292, 0, 0, - 273, 294, 274, 295, 275, 296, 276, 297, 277, 298, - 278, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 371, 0, 0, 369, 370, 80, 0, 0, 0, 0, - 0, 55, 0, 0, 0, 0, 0, 74, 0, 0, - 0, 0, 314, 0, 0, 0, 0, 0, 23, 21, - 0, 0, 0, 0, 348, 0, 0, 343, 249, 342, - 352, 353, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 222, 227, 225, 0, 233, 0, 0, 87, - 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 127, 0, 0, 0, 0, 0, 0, 0, - 0, 215, 0, 177, 0, 0, 0, 229, 234, 0, + 0, 338, 0, 0, 0, 0, 0, 0, 224, 229, + 227, 0, 235, 0, 0, 87, 88, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 125, 127, 0, + 0, 0, 0, 0, 0, 0, 0, 217, 0, 179, + 0, 0, 0, 0, 0, 231, 236, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, + 0, 0, 0, 0, 0, 0, 318, 0, 314, 0, + 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 366, 0, 0, 0, 315, 65, + 66, 0, 0, 0, 0, 0, 68, 70, 72, 0, + 0, 362, 0, 78, 0, 0, 0, 0, 263, 22, + 0, 0, 0, 0, 0, 347, 0, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 150, 0, 0, 0, 0, 0, 0, 316, 0, - 312, 0, 0, 0, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, - 313, 65, 66, 0, 0, 0, 0, 0, 68, 70, - 72, 0, 0, 360, 0, 78, 0, 0, 0, 0, - 261, 22, 0, 0, 0, 0, 0, 345, 0, 0, - 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 337, 0, 96, 0, 0, 0, 0, 0, - 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, - 0, 187, 216, 0, 0, 0, 141, 235, 0, 147, - 146, 0, 28, 29, 0, 0, 0, 357, 0, 0, - 0, 167, 0, 0, 157, 318, 156, 0, 0, 0, - 0, 331, 0, 272, 293, 279, 300, 280, 301, 281, - 302, 0, 372, 368, 321, 0, 55, 0, 0, 0, - 0, 63, 0, 0, 0, 358, 0, 0, 0, 0, - 24, 25, 0, 0, 93, 0, 344, 0, 0, 0, + 339, 0, 96, 0, 0, 0, 0, 0, 0, 233, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 222, 0, 0, 189, + 218, 0, 0, 0, 145, 0, 0, 237, 0, 149, + 148, 0, 28, 29, 0, 0, 0, 359, 0, 0, + 0, 169, 0, 0, 159, 320, 158, 0, 0, 0, + 0, 333, 0, 274, 295, 281, 302, 282, 303, 283, + 304, 0, 374, 370, 323, 0, 55, 0, 0, 0, + 0, 63, 0, 0, 0, 360, 0, 0, 0, 0, + 24, 25, 0, 0, 93, 0, 346, 0, 0, 0, 0, 0, 97, 0, 0, 112, 113, 0, 0, 98, - 122, 338, 0, 0, 0, 89, 0, 230, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, - 0, 134, 0, 197, 0, 199, 0, 201, 333, 0, - 0, 0, 0, 181, 0, 0, 0, 0, 101, 102, - 0, 0, 0, 0, 81, 0, 320, 0, 36, 0, - 0, 0, 0, 0, 38, 0, 0, 0, 0, 75, - 0, 0, 76, 0, 361, 136, 137, 138, 139, 0, - 0, 349, 0, 92, 99, 100, 104, 0, 0, 114, - 0, 0, 232, 107, 0, 0, 223, 121, 0, 0, - 0, 0, 120, 0, 119, 117, 0, 0, 0, 330, - 0, 329, 0, 0, 188, 0, 0, 189, 0, 0, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 140, - 0, 0, 0, 0, 355, 0, 169, 168, 0, 0, - 0, 41, 0, 0, 0, 332, 0, 0, 0, 365, - 64, 71, 73, 0, 79, 0, 26, 0, 0, 0, - 0, 0, 0, 0, 108, 95, 106, 116, 124, 0, - 85, 86, 134, 0, 128, 0, 0, 0, 0, 0, - 0, 217, 0, 0, 134, 0, 0, 131, 130, 0, - 0, 0, 0, 82, 83, 0, 37, 0, 0, 0, - 39, 54, 0, 359, 0, 236, 237, 238, 239, 111, - 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, - 0, 0, 0, 0, 354, 170, 0, 0, 0, 0, - 0, 77, 0, 0, 0, 126, 0, 203, 0, 0, - 205, 0, 0, 207, 0, 0, 0, 218, 0, 178, - 0, 134, 0, 350, 0, 0, 103, 84, 0, 45, - 0, 51, 0, 0, 90, 118, 327, 191, 0, 0, - 198, 192, 0, 0, 200, 193, 0, 0, 202, 0, - 0, 0, 184, 0, 0, 142, 0, 0, 0, 0, - 0, 0, 209, 0, 211, 0, 213, 219, 221, 183, - 179, 0, 0, 0, 42, 0, 49, 0, 0, 0, - 194, 0, 0, 195, 0, 0, 196, 0, 0, 0, - 143, 0, 43, 0, 0, 164, 0, 0, 0, 0, - 0, 0, 185, 0, 0, 0, 0, 0, 204, 0, - 206, 0, 208, 0, 144, 44, 46, 0, 47, 0, - 0, 0, 0, 0, 0, 52, 210, 212, 214, 48, - 50 + 122, 340, 0, 0, 0, 89, 0, 232, 0, 0, + 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, + 0, 134, 0, 199, 0, 201, 0, 203, 335, 0, + 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, + 0, 101, 102, 0, 0, 0, 0, 81, 0, 322, + 0, 36, 0, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 75, 0, 0, 76, 0, 363, 136, 137, + 138, 139, 0, 0, 351, 0, 92, 99, 100, 104, + 0, 0, 114, 0, 0, 234, 107, 0, 0, 225, + 121, 0, 0, 0, 0, 120, 0, 119, 117, 0, + 0, 0, 332, 0, 331, 0, 0, 190, 0, 0, + 191, 0, 0, 192, 0, 0, 0, 0, 0, 0, + 0, 0, 144, 0, 0, 140, 0, 0, 0, 0, + 357, 0, 171, 170, 0, 0, 0, 41, 0, 0, + 0, 334, 0, 0, 0, 367, 64, 71, 73, 0, + 79, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 108, 95, 106, 116, 124, 0, 85, 86, 134, 0, + 128, 0, 0, 0, 0, 0, 0, 219, 0, 0, + 134, 0, 0, 0, 0, 131, 130, 0, 0, 0, + 0, 82, 83, 0, 37, 0, 0, 0, 39, 54, + 0, 361, 0, 238, 239, 240, 241, 111, 0, 0, + 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, + 0, 356, 172, 0, 0, 0, 0, 0, 77, 0, + 0, 0, 126, 0, 205, 0, 0, 207, 0, 0, + 209, 0, 0, 0, 220, 0, 180, 0, 134, 0, + 0, 0, 103, 84, 0, 45, 0, 51, 0, 0, + 90, 118, 329, 193, 0, 0, 200, 194, 0, 0, + 202, 195, 0, 0, 204, 0, 0, 0, 186, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 0, 211, + 0, 213, 0, 215, 221, 223, 185, 181, 0, 0, + 0, 0, 42, 0, 49, 0, 0, 0, 196, 0, + 0, 197, 0, 0, 198, 0, 0, 146, 0, 141, + 0, 43, 0, 0, 166, 0, 0, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 206, 0, 208, + 0, 210, 0, 142, 44, 46, 0, 47, 0, 0, + 0, 0, 0, 0, 52, 212, 214, 216, 48, 50 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 3, 63, 670, 64, 65, 409, 977, 983, - 591, 761, 1115, 1251, 592, 1217, 1277, 593, 1253, 594, - 595, 765, 131, 222, 66, 708, 1015, 919, 478, 348, - 349, 350, 351, 317, 288, 289, 69, 70, 71, 72, - 73, 74, 318, 734, 1180, 1231, 553, 1035, 1038, 1041, - 1198, 1202, 1206, 1241, 1244, 1247, 730, 731, 830, 705, - 530, 559, 76, 77, 78, 335, 134, 358, 180, 880, - 881, 344, 337, 521, 206, 661, 794, 454, 455 + -1, 2, 3, 63, 676, 64, 65, 413, 990, 996, + 597, 769, 1133, 1270, 598, 1234, 1296, 599, 1272, 600, + 601, 773, 131, 224, 66, 714, 1028, 929, 482, 350, + 351, 352, 353, 319, 290, 291, 69, 70, 71, 72, + 73, 74, 320, 740, 1197, 1248, 557, 1048, 1051, 1054, + 1214, 1218, 1222, 1259, 1262, 1265, 736, 737, 838, 711, + 534, 565, 76, 77, 78, 337, 134, 360, 180, 890, + 891, 346, 339, 525, 208, 667, 802, 458, 459 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1051 +#define YYPACT_NINF -1082 static const yytype_int16 yypact[] = { - 3365, 30, 28, 3444, -1051, -1051, 1490, 33, 41, -61, - 6, 48, 57, 95, 60, -5, 1, -39, 42, 45, - -31, 58, 64, 107, 216, 222, 235, 253, 335, 264, - 166, 347, 203, 209, -48, -48, 213, 260, 370, 340, - 358, 376, 17, 105, 383, 450, 457, 464, 355, 367, - 372, 15, 36, -1051, 380, -1051, 504, 384, -1051, 511, - 519, 22, 24, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - 21, 385, 569, -1051, -1051, -1051, 54, 82, 333, 371, - 463, 503, 507, 508, 512, 529, 592, 596, 602, 607, - 608, 611, 612, 624, 627, 632, 639, 397, 401, 412, - 413, -1051, 544, 424, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, 3026, 3026, 3026, -1051, -1051, 3026, 1427, 10, 578, - 202, 3026, 584, 325, -1051, 598, 603, 3026, 609, -1051, - 3026, -1051, -1051, -1051, 3026, 2862, 3026, 3026, 481, 3026, - 2862, 3026, 3026, 485, 2862, 3026, 3026, 1762, 490, 484, - 520, 533, 1629, 1629, 1629, 538, -1051, -1051, -1051, -1051, - 555, 562, 563, 688, -48, -48, -48, 3026, 3026, -66, - -1051, 138, -48, 582, 586, 593, 2826, 188, 131, 1629, - 1762, 615, 18, 619, -1051, 771, -1051, 626, 636, 644, - 778, 3026, 3026, 3026, 650, 3026, 655, 708, 3026, 3026, - -1051, 3026, 804, -1051, 805, -1051, 818, -1051, 691, 3026, - 824, 693, -1051, -1051, -1051, 839, 3026, 3026, 3026, 3026, - 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, - 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, - 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, - 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 52, 52, - 52, 52, 3026, 846, 669, 736, 736, 736, 5654, 8, - 2862, 4918, 171, 734, 902, 777, 775, -1051, 786, 3511, - 1172, -1051, -1051, 3026, 3026, 3026, 3026, 3026, 3026, 3026, - 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, -1051, -1051, - 1295, -91, 4216, 5675, 633, 779, 2862, -1051, -1051, 558, - -1051, 184, 5696, 5717, 3026, 5738, 522, 5759, 5780, 3026, - 591, 5801, 5822, 1895, 1241, 3153, 929, -1051, 3026, 3026, - 3026, 3026, -1051, -1051, 931, 932, 932, 3026, 808, 809, - 810, 811, 3026, 3026, 3026, 816, -53, -1051, -1051, 4242, - 4268, -48, -48, 202, 202, 268, 3026, 3026, 3026, 2826, - 2826, 3026, 3511, 297, -1051, 3026, 3026, 939, 945, 3026, - 947, -1051, 3026, 3026, 1667, -1051, 2862, 3026, 3026, -1051, - 5843, 5864, 5885, 862, 4294, -1051, 815, 3172, 5906, 4941, - -1051, -1051, 1800, -1051, 1933, 3026, 4964, 304, 3026, 13, - -1051, 5927, 4987, 5948, 5010, 5969, 5033, 5990, 5056, 6011, - 5079, 6032, 5102, 6053, 5125, 6074, 5148, 6095, 5171, 6116, - 5194, 6137, 5217, 4320, 4346, 6158, 5240, 6179, 5263, 6200, - 5286, 6221, 5309, 6242, 5332, 6263, 5355, 4372, 4398, 4424, - 4450, 4476, 4502, 649, -71, -1051, 817, 825, 827, 1352, - 823, 3026, -1051, 1762, 1762, 657, 55, 569, 3026, 958, - 966, 19, 834, -1051, 173, -29, -17, 175, -1051, -1051, - 3191, 1421, 2490, 733, 733, 705, 705, 705, 705, -20, - -20, 736, 736, 736, 736, -1051, 2, 2862, 3026, 965, - 2630, 3026, 736, -1051, 3026, 2862, 2862, 880, 970, 972, - 6284, 974, 886, 976, 977, 6305, 889, 979, 980, 2862, - -1051, 674, 2028, 3026, 6326, 3265, 6347, 6368, 3026, 1762, - 984, 983, 6389, 2989, 2989, 2989, 2989, 6410, 6431, 6452, - 852, -48, 3026, 3026, -1051, -1051, 850, 851, 3026, 4528, - 4554, 4580, 4190, 346, -48, 2066, 6473, 3546, 3026, 989, - 3026, 6494, -1051, 5378, 5401, -1051, 675, 5424, 5447, 991, - 1007, 1008, 879, 3026, 2199, 3026, 3026, -1051, 35, -1051, - -1051, 5470, 43, -1051, 3574, -1051, 887, 888, 882, -1051, - 1014, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, 3026, 3026, - -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, -1051, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 1038, - -1051, 2862, 52, -1051, -1051, -1051, 3026, 5493, 1037, 1039, - 909, -1051, 115, 3026, 1042, 1044, 1456, -1051, 1046, 915, - 15, 1048, -1051, 2862, 2862, 2862, 2862, 3026, -1051, 934, - 52, -8, 4606, -48, -1051, 2862, 3602, 3216, 736, -1051, - 558, -1051, 1006, 1762, 1762, 1051, 1762, 768, 1762, 1762, - 1052, 1009, 1762, 1762, 680, -1051, 2862, 2659, 1053, 1056, - 1057, 1058, 911, -1051, -1051, 1060, -1051, 1061, 936, 6725, - -1051, 938, 941, 942, 1073, 1074, 1075, 1063, 416, 4632, - 4658, -1051, -1051, 3630, -48, -48, -48, 1077, 943, 951, - -42, -1051, 420, -1051, 346, 1079, 1081, 6725, -1051, 2793, - 949, 1082, 1086, 1045, 1091, 1092, 1762, 1762, 1762, 1095, - 4684, -1051, 3235, 1269, 1096, 1097, 1098, 1101, -1051, 1100, - -1051, 973, 3026, 3026, 1762, 967, -1051, 6515, 5516, 6536, - 5539, 6557, 5562, 6578, 5585, 5608, -1051, 72, 975, 6599, - 221, -1051, -1051, 71, 208, 971, 1106, 2946, -1051, -1051, - -1051, 15, 3026, -1051, 699, -1051, 700, 706, 725, 728, - 6725, -1051, 1108, 7, 3026, 12, 752, -1051, 3026, 978, - 1059, 1059, 1762, 1109, 981, 982, 1110, 1114, 1762, 985, - 1115, 1119, -1051, 756, -1051, 1123, 1762, 1762, 1762, 1125, - 1124, -1051, 1762, 1128, 1129, 1130, 1131, 1762, 1762, 1762, - 77, 3026, 3026, 3026, 990, 247, 332, 379, -1051, 1762, - 3026, -1051, -1051, 2826, -28, 2161, -1051, -1051, 2862, -1051, - -1051, 998, -1051, -1051, 1134, 1135, 1054, -1051, 3026, 3026, - 3026, -1051, 1139, 1140, -1051, 304, -1051, 3026, 4710, 4736, - 757, -1051, 3026, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, 1010, -1051, -1051, -1051, 1762, 569, 3026, 1143, 1146, - 19, -1051, 1147, 5631, 15, -1051, 1148, 1149, 1150, 1151, - -1051, -1051, 52, 4762, -1051, 1015, 6725, 3026, -48, 1152, - 1154, 1155, -1051, 3026, 3026, -1051, -1051, 1157, 3026, -1051, - -1051, -1051, 1159, 1160, 1161, 1078, 3026, -1051, 1163, 1762, - 1762, 1762, 1762, 1164, 869, 1165, -1051, 2989, 3658, 6620, - 3462, 202, -48, 1167, -48, 1169, -48, 1171, 360, 1040, - 6641, 3686, 448, -1051, 684, 1173, 760, 3026, -1051, -1051, - 1762, 3490, 762, 6662, -1051, 2693, -1051, 190, 6725, 3026, - 3026, 1762, 1041, 761, 6725, 1177, 1179, 1180, 2967, -1051, - 1176, 1182, -1051, 1062, -1051, -1051, -1051, -1051, -1051, 1183, - 3026, -1051, 3714, 254, -1051, -1051, -1051, 3742, 3770, -1051, - 3798, 1185, -1051, -1051, 1142, 1186, 6725, -1051, 1188, 1190, - 1193, 1195, -1051, 1065, -1051, -1051, 3069, 1196, 1066, -1051, - 3026, -1051, 1067, 496, -1051, 1069, 498, -1051, 1070, 509, - -1051, 1076, 1197, 1762, 1201, 1080, 3026, 2294, 526, -1051, - 1209, 3826, 1136, 3026, -1051, 3026, -1051, -1051, 2862, 3095, - 1210, -1051, 3026, 4788, 4814, -1051, 1762, 3026, 1213, -1051, - -1051, -1051, -1051, 15, -1051, 1126, -1051, 4840, 1216, 1220, - 1222, 1223, 1224, 1090, -1051, -1051, -1051, -1051, -1051, 1762, - -1051, -1051, 202, 3518, -1051, 2826, 346, 2826, 346, 2826, - 346, -1051, 765, 1762, -1051, 3854, 2427, -1051, -1051, 3026, - 3882, 3910, 766, -1051, -1051, 1093, 6725, 3026, 3026, 770, - 6725, -1051, 1226, -1051, 3026, -1051, -1051, -1051, -1051, -1051, - 3026, 781, 1094, 3026, -1051, 3938, 528, -12, 3966, 531, - 263, 3994, 595, 265, 1762, 1227, 1174, 2332, 1099, 2560, - 1241, 597, 1104, 3114, -1051, -1051, 1231, 3026, 6683, 4866, - 20, -1051, 4892, 4022, 1233, -1051, 4050, 1236, 3026, 1237, - 1243, 3026, 1247, 1248, 3026, 1270, 1105, -1051, 3026, -1051, - 346, -1051, 2862, 885, 2427, 1272, -1051, -1051, 784, -1051, - 3026, -1051, 1762, 3026, -1051, -1051, -1051, -1051, 1138, 4078, - -1051, -1051, 1141, 4106, -1051, -1051, 1144, 4134, -1051, 1274, - 3133, 276, 2465, 600, 1162, -1051, 1277, 1181, 6704, 787, - 4162, 346, 1278, 346, 1296, 346, 1297, -1051, -1051, -1051, - -1051, 346, 1762, 1300, -1051, 52, -1051, 1189, 1306, 278, - -1051, 1191, 317, -1051, 1192, 331, -1051, 1194, 391, 1175, - -1051, 791, -1051, 1198, 1762, -1051, 1307, 346, 1308, 346, - 1309, 346, -1051, 1312, 52, 1314, 52, 792, -1051, 417, - -1051, 445, -1051, 459, -1051, -1051, -1051, 795, -1051, 1315, - 1317, 1318, 1323, 52, 1328, -1051, -1051, -1051, -1051, -1051, - -1051 + 3467, 50, 31, 3546, -1082, -1082, 1671, 57, -30, -72, + 14, 87, 94, 118, -54, 42, 52, 36, 66, 144, + -18, 150, 170, 73, 111, 140, 260, 267, 84, 228, + 672, 304, 173, 187, 302, 302, 190, 308, 45, 288, + 296, 310, 1, 44, 331, 379, 395, 407, 291, 313, + 348, 13, 33, -1082, 358, -1082, 428, 286, -1082, 493, + 497, 17, 22, -1082, -1082, -1082, -1082, -1082, -1082, -1082, + -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, + 21, 364, 416, -1082, -1082, -1082, -51, 85, 135, 256, + 266, 274, 333, 338, 339, 342, 394, 408, 409, 435, + 444, 466, 480, 492, 514, 526, 537, 381, 385, 391, + 449, -1082, 580, 458, -1082, -1082, -1082, -1082, -1082, -1082, + -1082, 3025, 3025, 3025, -1082, -1082, 3025, 2591, 19, 600, + 29, 3025, 589, 1488, -1082, 624, 625, 3025, 635, -1082, + 3025, -1082, -1082, -1082, 3025, 2955, 3025, 3025, 534, 3025, + 2955, 3025, 3025, 543, 2955, 3025, 3025, 1856, 544, 506, + 549, 564, 1723, 1723, 1723, 577, -1082, -1082, -1082, -1082, + 578, 628, 644, 648, 302, 302, 302, 3025, 3025, -59, + -1082, 65, 302, 531, 651, 652, 2822, 346, 61, 663, + 665, 1723, 1856, 666, 24, 667, -1082, 795, -1082, 661, + 668, 669, 801, 3025, 3025, 3025, 670, 3025, 671, 713, + 3025, 3025, -1082, 3025, 805, -1082, 807, -1082, 808, -1082, + 679, 3025, 812, 676, -1082, -1082, -1082, 814, 3025, 3025, + 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, + 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, + 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, + 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, + 452, 452, 452, 452, 3025, 813, 538, 689, 689, 689, + 5730, 51, 2955, 4994, 174, 686, 818, 690, 687, -1082, + 685, 3613, 2352, -1082, -1082, 3025, 3025, 3025, 3025, 3025, + 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, 3025, + -1082, -1082, 2453, 179, 2886, 5751, 513, 705, 2955, -1082, + -1082, 3235, -1082, 168, 5772, 5793, 3025, 5814, 376, 5835, + 5856, 3025, 540, 5877, 5898, 1989, 1523, 3254, 841, -1082, + 3025, 3025, 3025, 3025, -1082, -1082, 842, 843, 843, 3025, + 719, 720, 723, 724, 3025, 3025, 3025, 725, 289, -1082, + -1082, 4318, 4344, 302, 302, 29, 29, 360, 3025, 3025, + 3025, 2822, 2822, 3025, 3613, 382, -1082, 3025, 3025, 3025, + 3025, 852, 854, 3025, 857, -1082, 3025, 3025, 1034, -1082, + 2955, 3025, 3025, -1082, 5919, 5940, 5961, 771, 4370, -1082, + 726, 3273, 5982, 5017, -1082, -1082, 1178, -1082, 1234, 3025, + 5040, -21, 3025, 5, -1082, 6003, 5063, 6024, 5086, 6045, + 5109, 6066, 5132, 6087, 5155, 6108, 5178, 6129, 5201, 6150, + 5224, 6171, 5247, 6192, 5270, 6213, 5293, 4396, 4422, 6234, + 5316, 6255, 5339, 6276, 5362, 6297, 5385, 6318, 5408, 6339, + 5431, 4448, 4474, 4500, 4526, 4552, 4578, 561, 211, -1082, + 728, 730, 731, 2620, 729, 3025, -1082, 1856, 1856, 562, + 306, 416, 3025, 864, 867, 15, 738, -1082, 77, 138, + -5, 136, -1082, -1082, 3298, 1029, 1130, 567, 567, 582, + 582, 582, 582, 147, 147, 689, 689, 689, 689, -1082, + 8, 2955, 3025, 869, 2787, 3025, 689, -1082, 3025, 2955, + 2955, 781, 871, 872, 6360, 873, 786, 877, 878, 6381, + 806, 896, 897, 2955, -1082, 576, 2122, 3025, 6402, 3367, + 6423, 6444, 3025, 1856, 902, 901, 6465, 3082, 3082, 3082, + 3082, 6486, 6507, 6528, 770, 302, 3025, 3025, -1082, -1082, + 768, 769, 3025, 4604, 4630, 4656, 4292, 26, 302, 1894, + 6549, 3648, 6570, 6591, 3025, 906, 3025, 6612, -1082, 5454, + 5477, -1082, 579, 5500, 5523, 908, 910, 911, 775, 3025, + 2027, 3025, 3025, -1082, 28, -1082, -1082, 5546, 37, -1082, + 3676, -1082, 785, 788, 779, -1082, 917, -1082, -1082, -1082, + -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, + -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, + -1082, -1082, -1082, -1082, 3025, 3025, -1082, -1082, -1082, -1082, + -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, 3025, 3025, + 3025, 3025, 3025, 3025, 3025, 920, -1082, 2955, 452, -1082, + -1082, -1082, 3025, 5569, 919, 923, 793, -1082, 25, 3025, + 925, 927, 2743, -1082, 928, 798, 13, 930, -1082, 2955, + 2955, 2955, 2955, 3025, -1082, 817, 452, 235, 4682, 302, + -1082, 2955, 3704, 3317, 689, -1082, 3235, -1082, 888, 1856, + 1856, 934, 1856, 650, 1856, 1856, 935, 890, 1856, 1856, + 584, -1082, 2955, 2765, 937, 938, 939, 940, 1701, -1082, + -1082, 942, -1082, 943, 819, 6843, -1082, 820, 821, 822, + 945, 946, 951, 955, 387, 4708, 4734, -1082, -1082, 3732, + 302, 302, 302, 957, 824, 815, -41, -1082, 389, -1082, + 26, 959, 963, 965, 966, 6843, -1082, 3054, 829, 969, + 970, 926, 972, 973, 1856, 1856, 1856, 976, 4760, -1082, + 3337, 1211, 977, 979, 978, 981, -1082, 982, -1082, 859, + 3025, 3025, 1856, 850, -1082, 6633, 5592, 6654, 5615, 6675, + 5638, 6696, 5661, 5684, -1082, 261, 860, 6717, 82, -1082, + -1082, 71, 210, 856, 989, 3111, -1082, -1082, -1082, 13, + 3025, -1082, 591, -1082, 592, 595, 596, 601, 6843, -1082, + 991, 9, 3025, 49, 602, -1082, 3025, 858, 944, 944, + 1856, 994, 862, 863, 999, 1000, 1856, 868, 1002, 1004, + -1082, 605, -1082, 1006, 1856, 1856, 1856, 1008, 1007, -1082, + 1856, 1009, 1010, 1011, 1012, 1856, 1856, 1856, 559, 3025, + 3025, 3025, 879, -56, 54, 337, -1082, 1856, 3025, -1082, + -1082, 2822, -33, 2255, -1082, 880, 2388, -1082, 2955, -1082, + -1082, 882, -1082, -1082, 1019, 1020, 922, -1082, 3025, 3025, + 3025, -1082, 1021, 1022, -1082, -21, -1082, 3025, 4786, 4812, + 606, -1082, 3025, -1082, -1082, -1082, -1082, -1082, -1082, -1082, + -1082, 892, -1082, -1082, -1082, 1856, 416, 3025, 1025, 1024, + 15, -1082, 1027, 5707, 13, -1082, 1028, 1030, 1032, 1033, + -1082, -1082, 452, 4838, -1082, 903, 6843, 3025, 302, 1036, + 1037, 1038, -1082, 3025, 3025, -1082, -1082, 1039, 3025, -1082, + -1082, -1082, 1043, 1045, 1046, 953, 3025, -1082, 1050, 1856, + 1856, 1856, 1856, 1051, 745, 1052, -1082, 3082, 3760, 6738, + 3564, 29, 302, 1053, 302, 1054, 302, 1055, 714, 924, + 6759, 3788, 399, -1082, 1383, 1056, 302, 1383, 1060, 612, + 3025, -1082, -1082, 1856, 3592, 772, 6780, -1082, 2654, -1082, + 300, 6843, 3025, 3025, 1856, 929, 613, 6843, 1063, 1065, + 1067, 3130, -1082, 1062, 1068, -1082, 956, -1082, -1082, -1082, + -1082, -1082, 1069, 3025, -1082, 3816, 496, -1082, -1082, -1082, + 3844, 3872, -1082, 3900, 1071, -1082, -1082, 1040, 1072, 6843, + -1082, 1092, 1093, 1094, 1095, -1082, 961, -1082, -1082, 3149, + 1097, 967, -1082, 3025, -1082, 962, 411, -1082, 971, 413, + -1082, 974, 430, -1082, 975, 1100, 1856, 1103, 984, 3025, + 2521, 432, -1082, 437, 439, -1082, 1107, 3928, 1023, 3025, + -1082, 3025, -1082, -1082, 2955, 3177, 1113, -1082, 3025, 4864, + 4890, -1082, 1856, 3025, 1114, -1082, -1082, -1082, -1082, 13, + -1082, 1041, -1082, 4916, 1120, 1121, 1125, 1127, 1128, 996, + -1082, -1082, -1082, -1082, -1082, 1856, -1082, -1082, 29, 3620, + -1082, 2822, 26, 2822, 26, 2822, 26, -1082, 616, 1856, + -1082, 3956, 302, 2955, 302, -1082, -1082, 3025, 3984, 4012, + 617, -1082, -1082, 997, 6843, 3025, 3025, 621, 6843, -1082, + 1133, -1082, 3025, -1082, -1082, -1082, -1082, -1082, 3025, 626, + 998, 3025, -1082, 4040, 465, -28, 4068, 482, -20, 4096, + 485, -16, 1856, 1135, 1079, 2160, 1003, 487, 627, 499, + 3196, -1082, -1082, 1153, 3025, 6801, 4942, 20, -1082, 4968, + 4124, 1154, -1082, 4152, 1155, 3025, 1157, 1158, 3025, 1159, + 1160, 3025, 1161, 1031, -1082, 3025, -1082, 26, -1082, 1856, + 1163, 2521, -1082, -1082, 630, -1082, 3025, -1082, 1856, 3025, + -1082, -1082, -1082, -1082, 1042, 4180, -1082, -1082, 1047, 4208, + -1082, -1082, 1057, 4236, -1082, 1164, 3216, 236, 2293, 1044, + -1082, 518, 631, 1165, 1058, 6822, 634, 4264, 26, 1166, + 26, 1168, 26, 1169, -1082, -1082, -1082, -1082, 26, 1172, + 2955, 1174, -1082, 452, -1082, 1061, 1181, 253, -1082, 1064, + 265, -1082, 1074, 281, -1082, 1077, 309, -1082, 637, -1082, + 642, -1082, 1081, 1856, -1082, 1187, 26, 1191, 26, 1195, + 26, -1082, 1202, 452, 1203, 452, 647, -1082, 318, -1082, + 351, -1082, 366, -1082, -1082, -1082, 656, -1082, 1204, 1207, + 1227, 1229, 452, 1232, -1082, -1082, -1082, -1082, -1082, -1082 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1051, -1051, -1051, -1051, 534, -1051, -1051, -1051, -1051, 186, - -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, -1051, -275, -1, -1051, -122, -1051, 530, 1341, -1051, - -1051, -1051, -1051, 3, -353, -185, -1051, -1051, -1051, -1051, - -1051, -1051, 1342, -1051, -1051, -1051, -1051, -1051, -1051, -1051, - -1051, -1051, -1051, -1051, -1051, -1051, -668, -677, -1051, -1051, - 1000, -1051, -1051, -1051, -1051, -6, -1051, 241, -1051, -1050, - 386, -129, 284, -80, -640, 452, -1051, -267, 44 + -1082, -1082, -1082, -1082, 373, -1082, -1082, -1082, -1082, 68, + -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, -1082, + -1082, -1082, -282, -2, -1082, -75, -1082, 424, 1242, -1082, + -1082, -1082, -1082, 3, -358, -183, -1082, -1082, -1082, -1082, + -1082, -1082, 1257, -1082, -1082, -1082, -1082, -1082, -1082, -1082, + -1082, -1082, -1082, -1082, -1082, -1082, -457, -675, -1082, -1082, + 913, -1082, -1082, -1082, -1082, -6, -1082, 230, -1082, -1081, + 522, -120, 58, -73, -648, 352, -1082, -261, 10 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1488,864 +1492,912 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -5 static const yytype_int16 yytable[] = { - 133, 372, 456, 457, 458, 132, 68, 468, 668, 384, - 546, 547, 139, 911, 282, 463, 1119, 585, 914, 204, - 793, 192, 380, 659, 381, 218, 1191, 214, 5, 216, - 402, 727, 404, 148, 345, 346, 4, 728, 729, 1131, - 207, 153, 754, 148, 496, 727, 136, 453, 224, 497, - 135, 728, 729, 852, 141, 153, 453, 224, 361, 362, - 377, 727, 651, 142, 640, 321, 854, 728, 729, 641, - 326, 361, 362, 138, 330, 363, 175, 176, 651, 107, - 108, 109, 110, 946, 947, 111, 177, 541, 107, 108, - 109, 110, 137, 178, 111, 149, 586, 587, 588, 589, - 851, 143, 150, 283, 284, 149, 304, 305, 306, 195, - 154, 196, 664, 307, 963, 275, 276, 277, 193, 784, - 278, 281, 464, 669, 665, 290, 225, 803, 669, 146, - 1169, 310, 506, 287, 312, 147, 361, 362, 313, 319, - 322, 323, 1219, 325, 319, 327, 328, 140, 319, 331, - 332, 902, 124, 125, 382, 590, 205, 219, 194, 220, - 660, 1192, 157, 215, 221, 217, 117, 118, 119, 120, - 208, 359, 360, 755, 124, 125, 151, 852, 467, 152, - 360, 757, 117, 118, 119, 120, 124, 125, 226, 555, - 227, 653, 155, 652, 144, 390, 391, 392, 156, 394, - 465, 145, 397, 398, 1267, 399, 286, 892, 785, 786, - 574, 166, 506, 406, 167, 896, 228, 168, 229, 169, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, - 451, 452, 361, 362, 994, 375, 459, 158, 33, 34, - 35, 36, 376, 159, 319, 179, 181, 41, 187, 364, - 44, 469, 117, 118, 119, 120, 160, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 124, 125, 161, 183, 566, 144, 184, 156, - 502, 185, 361, 362, 663, 759, 666, 165, 510, 117, - 118, 119, 120, 515, 506, 1061, 507, 502, 319, 374, - 1062, 292, 524, 525, 526, 527, 727, 173, 727, 124, - 125, 532, 728, 729, 728, 729, 537, 538, 539, 727, - 174, 727, 124, 125, 182, 728, 729, 728, 729, 757, - 549, 550, 551, 275, 276, 552, 287, 287, 504, 556, - 557, 361, 362, 561, 188, 778, 563, 564, 361, 362, - 319, 567, 568, 162, 175, 176, 163, 952, 164, 953, - 727, 189, 361, 362, 177, 170, 728, 729, 171, 581, - 172, 186, 584, 802, 727, 1172, 583, 1175, 548, 190, - 728, 729, 711, 712, 713, 356, 357, 671, 1229, 727, - 1256, 361, 362, 365, 191, 728, 729, 373, 1137, 320, - 1140, 197, 1143, 1122, 320, 124, 125, 554, 320, 694, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 198, 647, 361, 362, 307, 1258, - 852, 199, 656, 852, 727, 654, 852, 230, 200, 231, - 728, 729, 954, 1260, 955, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 522, 305, 306, 201, - 727, 319, 672, 307, 647, 676, 728, 729, 677, 678, - 680, 202, 1042, 361, 362, 232, 203, 233, 895, 897, - 210, 655, 1211, 319, 209, 212, 678, 697, 727, 956, - 211, 957, 702, 213, 728, 729, 223, 709, 709, 709, - 709, 268, 727, 1262, 852, 269, 719, 720, 728, 729, - 361, 362, 723, 336, 361, 362, 270, 271, 343, 343, - 343, 272, 737, 1239, 739, 1242, 841, 1245, 273, 1280, - 853, 777, 852, 1248, 320, 852, 504, 750, 852, 752, - 753, 852, 361, 362, 224, 343, 378, 710, 710, 710, - 710, 758, 285, 796, 797, 798, 799, 1281, 1046, 1269, - 291, 1271, 852, 1273, 852, 806, 852, 234, 1032, 235, - 503, 1282, 544, 545, 308, 107, 108, 109, 110, 309, - 357, 111, 767, 768, 311, 324, 823, 503, 320, 329, - 361, 362, 361, 362, 338, 339, 769, 770, 771, 772, - 773, 774, 775, 361, 362, 319, 1095, 236, 1097, 237, - 779, 238, 240, 239, 241, 999, 242, 787, 243, 1099, - 361, 362, 361, 362, 340, 361, 362, 319, 319, 319, - 319, 800, 506, 244, 512, 245, 1106, 341, 1168, 319, - 320, 1171, 347, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 505, 305, 306, 79, 314, 352, - 319, 307, 355, 83, 84, 85, 353, 354, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 361, - 362, 361, 362, 366, 361, 362, 246, 367, 247, 315, - 248, 506, 249, 516, 368, 1174, 250, 1184, 251, 1132, - 1232, 252, 254, 253, 255, 256, 258, 257, 259, 379, - 33, 34, 35, 36, 37, 383, 878, 879, 260, 41, - 261, 262, 44, 263, 124, 125, 264, 386, 265, 500, - 1055, 220, 387, 266, 130, 267, 221, 385, 966, 758, - 388, 320, 718, 898, 389, 638, 903, 639, 393, 679, - 681, 113, 114, 115, 116, 732, 395, 506, 913, 650, - 124, 125, 916, 320, 396, 461, 679, 220, 369, 1047, - 400, 401, 221, 123, 506, 506, 695, 743, 371, 814, - 506, 815, 822, 129, 403, 178, 520, 405, 407, 302, - 303, 304, 305, 306, 408, 948, 949, 950, 307, 904, - 506, 905, 906, 958, 960, 410, 506, 961, 907, 648, - 649, 460, 319, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 971, 972, 973, 506, 307, 908, 506, 307, - 909, 978, 470, 1023, 976, 1024, 984, 293, 294, 295, + 133, 1137, 472, 374, 132, 194, 68, 550, 551, 591, + 460, 461, 462, 388, 674, 921, 135, 206, 801, 665, + 139, 137, 216, 284, 1149, 220, 1207, 218, 384, 792, + 385, 5, 733, 288, 406, 762, 408, 209, 734, 735, + 733, 457, 226, 347, 348, 733, 734, 735, 197, 188, + 198, 734, 735, 733, 153, 924, 4, 733, 467, 734, + 735, 860, 138, 734, 735, 363, 364, 153, 363, 364, + 136, 381, 323, 107, 108, 109, 110, 328, 657, 111, + 144, 332, 365, 228, 962, 229, 963, 145, 592, 593, + 594, 595, 227, 141, 189, 33, 34, 35, 36, 733, + 142, 859, 195, 190, 41, 734, 735, 44, 148, 973, + 124, 125, 285, 286, 1186, 277, 278, 279, 793, 794, + 280, 283, 1189, 154, 143, 292, 1192, 1236, 157, 675, + 675, 312, 162, 289, 314, 163, 671, 164, 315, 321, + 324, 325, 196, 327, 321, 329, 330, 596, 321, 333, + 334, 912, 124, 125, 207, 140, 666, 221, 217, 222, + 386, 1208, 158, 219, 223, 468, 763, 210, 124, 125, + 149, 361, 362, 363, 364, 765, 146, 150, 363, 364, + 362, 471, 117, 118, 119, 120, 147, 860, 659, 363, + 364, 159, 1286, 559, 964, 377, 965, 394, 395, 396, + 151, 398, 378, 322, 401, 402, 366, 403, 322, 469, + 148, 144, 322, 124, 125, 410, 580, 906, 669, 230, + 765, 231, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 179, 181, 1007, 187, 463, 232, + 156, 233, 149, 306, 307, 308, 321, 672, 152, 670, + 309, 165, 473, 862, 155, 117, 118, 119, 120, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 156, 124, 125, 173, 510, 733, + 511, 160, 506, 657, 500, 734, 735, 572, 161, 501, + 514, 117, 118, 119, 120, 519, 733, 767, 174, 506, + 321, 182, 734, 735, 528, 529, 530, 531, 733, 191, + 322, 124, 125, 536, 734, 735, 646, 192, 541, 542, + 543, 647, 170, 183, 733, 171, 184, 172, 193, 185, + 734, 735, 553, 554, 555, 277, 278, 556, 289, 289, + 811, 560, 561, 562, 563, 510, 507, 567, 1246, 199, + 569, 570, 733, 200, 321, 573, 574, 786, 734, 735, + 234, 733, 235, 507, 322, 1275, 902, 734, 735, 201, + 236, 510, 237, 587, 358, 359, 590, 1277, 238, 589, + 239, 202, 367, 363, 364, 810, 375, 117, 118, 119, + 120, 226, 213, 1279, 733, 203, 175, 176, 677, 545, + 734, 735, 175, 176, 212, 1077, 177, 124, 125, 733, + 1078, 1140, 177, 178, 658, 734, 735, 204, 322, 186, + 700, 1281, 107, 108, 109, 110, 457, 226, 111, 653, + 1299, 363, 364, 717, 718, 719, 662, 240, 660, 241, + 363, 364, 242, 244, 243, 245, 246, 966, 247, 967, + 860, 661, 205, 860, 363, 364, 860, 376, 107, 108, + 109, 110, 211, 1300, 111, 321, 678, 214, 653, 682, + 552, 215, 683, 684, 686, 225, 363, 364, 1301, 905, + 907, 363, 364, 363, 364, 270, 510, 321, 516, 271, + 684, 703, 558, 363, 364, 272, 708, 849, 248, 861, + 249, 715, 715, 715, 715, 363, 364, 363, 364, 1059, + 725, 726, 250, 252, 251, 253, 729, 716, 716, 716, + 716, 1111, 860, 1113, 363, 364, 363, 364, 745, 322, + 747, 363, 364, 363, 364, 956, 957, 685, 687, 254, + 1115, 255, 1122, 758, 785, 760, 761, 1123, 256, 1124, + 257, 322, 860, 273, 685, 860, 766, 274, 860, 363, + 364, 860, 275, 548, 549, 293, 804, 805, 806, 807, + 258, 359, 259, 1045, 287, 1185, 363, 364, 814, 363, + 364, 363, 364, 860, 260, 860, 261, 860, 775, 776, + 363, 364, 1188, 363, 364, 1191, 262, 1199, 263, 831, + 310, 311, 777, 778, 779, 780, 781, 782, 783, 1201, + 313, 321, 363, 364, 124, 125, 787, 341, 264, 504, + 265, 222, 357, 795, 130, 1155, 223, 1158, 1250, 1161, + 266, 1012, 267, 321, 321, 321, 321, 808, 326, 124, + 125, 268, 368, 269, 465, 321, 222, 331, 340, 338, + 510, 223, 520, 342, 345, 345, 345, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 321, 644, 343, 645, + 309, 822, 510, 823, 656, 322, 304, 305, 306, 307, + 308, 349, 354, 345, 382, 309, 510, 166, 701, 510, + 167, 751, 508, 168, 510, 169, 830, 322, 322, 322, + 322, 914, 510, 915, 916, 510, 510, 917, 918, 322, + 1227, 510, 510, 919, 925, 510, 994, 941, 995, 1036, + 1150, 1037, 510, 1083, 1066, 1084, 1162, 510, 1163, 1173, + 322, 994, 355, 1177, 888, 889, 994, 510, 1181, 1200, + 1083, 510, 1233, 1251, 994, 724, 1255, 510, 356, 1282, + 1071, 1257, 1283, 1260, 1284, 1263, 766, 994, 738, 1298, + 908, 1266, 369, 370, 913, 979, 1302, 379, 1303, 380, + 383, 389, 390, 387, 391, 392, 923, 393, 397, 400, + 926, 404, 399, 405, 407, 409, 411, 412, 464, 1288, + 414, 1290, 309, 1292, 474, 475, 476, 477, 130, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 988, 506, 504, 915, 307, 506, 981, 931, 982, - 506, 1067, 1050, 1068, 1056, 1144, 506, 1145, 1156, 471, - 981, 1002, 1160, 472, 805, 703, 130, 1007, 1008, 1147, - 501, 981, 1010, 1164, 1067, 320, 1216, 981, 473, 1237, - 1016, 1264, 981, 1265, 1279, 1283, 523, 1284, 528, 529, - 987, 1026, 533, 534, 535, 536, 558, 320, 320, 320, - 320, 540, 560, 562, 287, 572, 575, 642, 319, 320, - 643, 1051, 644, 646, 657, 845, 846, 847, 1252, 1059, - 658, 662, 673, 1063, 1064, 829, 682, 683, 1112, 684, - 320, 686, 687, 688, 689, 691, 692, 693, 704, 706, - 717, 1027, 721, 722, 1077, 738, 1212, 1275, 746, 1278, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 505, 305, 306, 747, 748, 1289, 749, 307, 1060, - 766, 762, 763, 764, 1093, 543, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 1105, 502, 776, 781, 307, 782, 783, 1110, 788, 1111, - 789, 792, 319, 791, 795, 801, 1116, 809, 812, 818, - 825, 1120, 819, 826, 827, 828, 831, 840, 832, 810, - 811, 833, 813, 834, 816, 817, 835, 836, 820, 821, - 837, 838, 839, 848, 849, 850, 855, 856, 859, 1135, - 858, 1138, 860, 1141, 962, 287, 861, 862, 863, 867, - 872, 873, 694, 1153, 874, 875, 876, 877, 882, 899, - 893, 1158, 1159, 900, 910, 922, 925, 918, 1162, 917, - 926, 929, 923, 924, 1163, 930, 928, 1166, 932, 936, - 937, 951, 864, 865, 866, 939, 940, 941, 942, 967, - 968, 969, 320, 502, 1183, 974, 970, 975, 985, 989, - 990, 984, 1001, 992, 995, 996, 997, 998, 1004, 1003, - 1005, 1006, 1199, 1009, 1011, 1203, 1012, 1013, 1207, 1017, - 1022, 1025, 1210, 1034, 1014, 1037, 1183, 1040, 479, 1049, - 1043, 1069, 1066, 1073, 1218, 1070, 1071, 1220, 1074, 1076, - 1082, 1083, 1084, 1033, 1085, 1036, 1086, 1039, 921, 1087, - 1075, 1088, 1091, 1101, 927, 1048, 1089, 1092, 1103, 1094, - 1096, 1098, 933, 934, 935, 1107, 1114, 1100, 938, 1121, - 1123, 1104, 1125, 943, 944, 945, 1126, 1109, 1127, 1128, - 1129, 1130, 1161, 1177, 1157, 959, 1165, 1187, 1178, 1195, - 1181, 965, 1197, 1200, 79, 314, 1185, 1209, 320, 1201, - 83, 84, 85, 1204, 1205, 86, 87, 88, 89, 90, + 526, 307, 308, 958, 959, 960, 505, 309, 527, 532, + 533, 968, 970, 537, 538, 971, 1055, 539, 540, 564, + 544, 566, 321, 568, 578, 649, 650, 581, 648, 652, + 663, 664, 984, 985, 986, 668, 679, 688, 689, 690, + 692, 991, 693, 989, 694, 695, 997, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 1001, 697, 698, 699, 309, 710, 712, 723, 813, + 727, 728, 746, 757, 1072, 754, 1000, 755, 756, 770, + 772, 1015, 771, 774, 784, 789, 322, 1020, 1021, 790, + 791, 796, 1023, 797, 800, 799, 803, 1165, 809, 817, + 1029, 820, 826, 827, 833, 834, 835, 836, 839, 858, + 840, 1039, 845, 846, 841, 842, 843, 844, 847, 848, + 853, 854, 855, 856, 289, 857, 863, 1040, 321, 864, + 868, 321, 865, 866, 1067, 869, 870, 871, 872, 873, + 877, 882, 1075, 883, 884, 885, 1079, 1080, 886, 654, + 655, 892, 1271, 887, 909, 903, 910, 920, 1076, 927, + 932, 1130, 928, 933, 934, 935, 936, 1093, 939, 938, + 940, 942, 946, 947, 983, 1228, 949, 950, 951, 952, + 961, 976, 1294, 980, 1297, 981, 982, 987, 1003, 988, + 998, 1002, 322, 1005, 1008, 322, 1009, 1109, 1010, 1011, + 1014, 1308, 1017, 1018, 1019, 1022, 7, 8, 1024, 1027, + 1168, 1025, 1026, 1121, 506, 709, 1030, 1035, 1038, 1047, + 1050, 1053, 1062, 1128, 1056, 1129, 1065, 1085, 321, 1089, + 1082, 1086, 1134, 1087, 1090, 1092, 1098, 1138, 1100, 478, + 15, 16, 479, 18, 19, 480, 21, 481, 23, 1099, + 24, 972, 26, 27, 1091, 29, 30, 31, 1101, 1102, + 1103, 1104, 1105, 1107, 1110, 1153, 1117, 1156, 1108, 1159, + 1119, 289, 1112, 1125, 1127, 1114, 1116, 321, 507, 1132, + 1139, 1170, 48, 49, 50, 1120, 1143, 1144, 1232, 1175, + 1176, 1145, 322, 1146, 1147, 1141, 1179, 1148, 1174, 1178, + 1182, 1194, 1180, 1195, 1198, 1183, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 1016, 1203, + 1211, 1213, 309, 1216, 1217, 1220, 1221, 1224, 997, 1230, + 1244, 1252, 1258, 1225, 1261, 1264, 571, 1268, 1267, 1215, + 1269, 322, 1219, 1238, 922, 1223, 1249, 1274, 1240, 1226, + 7, 8, 1046, 1287, 1049, 321, 1052, 1289, 1242, 1253, + 1235, 1291, 1273, 1237, 1061, 1276, 1063, 1064, 1293, 1295, + 1304, 818, 819, 1305, 821, 1278, 824, 825, 1280, 880, + 828, 829, 1285, 478, 15, 16, 479, 18, 19, 480, + 21, 481, 23, 1306, 24, 1307, 26, 27, 1309, 29, + 30, 31, 1204, 930, 321, 67, 7, 8, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 322, + 75, 535, 1004, 309, 0, 0, 48, 49, 50, 0, + 0, 0, 0, 0, 0, 0, 874, 875, 876, 478, + 15, 16, 479, 18, 19, 480, 21, 481, 23, 0, + 24, 0, 26, 27, 0, 29, 30, 31, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 585, 0, 48, 49, 50, 0, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 1154, 931, 1157, 309, 1160, 881, 0, 937, 0, + 0, 0, 1167, 0, 1169, 0, 943, 944, 945, 0, + 0, 0, 948, 0, 0, 0, 0, 953, 954, 955, + 0, 0, 0, 0, 0, 0, 586, 0, 0, 969, + 0, 0, 0, 0, 0, 975, 79, 316, 978, 0, + 0, 0, 83, 84, 85, 0, 0, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 999, 317, 0, + 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, + 34, 35, 36, 37, 0, 0, 0, 0, 41, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1031, 1032, 1033, 1034, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 113, 114, 115, 116, 294, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1068, 0, 371, 1060, 0, + 0, 0, 123, 0, 0, 0, 1081, 373, 0, 0, + 0, 0, 129, 0, 178, 524, 79, 316, 0, 0, + 0, 0, 83, 84, 85, 0, 0, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1118, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, + 34, 35, 36, 37, 0, 0, 0, 0, 41, 0, + 0, 44, 0, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, + 0, 1164, 0, 0, 0, 0, 0, 121, 318, 0, + 0, 0, 123, 0, 0, 0, 0, 126, 0, 0, + 0, 0, 129, 0, 0, 524, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 80, 81, 0, 82, 0, + 83, 84, 85, 0, 1193, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 1208, 870, 1215, 1221, - 1227, 986, 1223, 1234, 1240, 1225, 315, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 495, 1243, 1246, 1233, 307, 1250, 33, 34, 35, - 36, 37, 1255, 1268, 1270, 1272, 41, 1263, 1274, 44, - 1276, 1285, 1235, 1286, 1287, 1018, 1019, 1020, 1021, 1288, - 1254, 503, 1257, 1259, 1290, 1261, 1136, 912, 1139, 1266, - 1142, 920, 320, 1188, 67, 75, 531, 1151, 113, 114, - 115, 116, 991, 0, 0, 0, 1052, 0, 645, 0, - 0, 0, 0, 0, 0, 121, 316, 1065, 0, 0, - 123, 0, 0, 0, 0, 126, 0, 0, 0, 0, - 129, 0, 0, 520, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 871, 0, 0, 0, 0, 0, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 1213, 0, 0, 307, 1102, - 79, 274, 0, 503, 320, 0, 83, 84, 85, 0, - 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 790, 0, 0, 0, 320, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 1146, - 0, 0, 1152, 79, 80, 81, 0, 82, 0, 83, - 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 0, 107, 108, 109, 110, - 1176, 0, 111, 0, 113, 114, 115, 116, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 121, 122, 0, 307, 0, 123, 0, 0, 0, - 0, 126, 0, 0, 279, 0, 129, 0, 280, 0, - 1214, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 112, 0, 0, 0, 0, 0, 113, 114, 115, - 116, 117, 118, 119, 120, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 122, 0, 0, 1249, 123, - 0, 124, 125, 0, 126, 0, 127, 0, 128, 129, - 0, 130, 79, 314, 342, 0, 0, 0, 83, 84, + 101, 102, 103, 104, 105, 106, 0, 107, 108, 109, + 110, 0, 0, 111, 0, 0, 0, 0, 0, 0, + 0, 1229, 0, 0, 0, 0, 79, 316, 344, 0, + 0, 0, 83, 84, 85, 0, 0, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, + 0, 0, 0, 0, 0, 837, 0, 0, 317, 0, + 0, 0, 112, 0, 0, 0, 0, 0, 113, 114, + 115, 116, 117, 118, 119, 120, 0, 0, 0, 33, + 34, 35, 36, 37, 0, 121, 122, 0, 41, 0, + 123, 44, 124, 125, 0, 126, 0, 127, 0, 128, + 129, 0, 130, 0, 0, 0, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 113, 114, 115, 116, 309, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 121, 335, 0, + 0, 0, 123, 0, 0, 0, 0, 126, 0, 79, + 316, 0, 129, 0, 336, 83, 84, 85, 0, 0, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 317, 0, 0, 0, 0, 7, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 33, 34, 35, 36, 37, 0, 0, 0, + 0, 41, 0, 0, 44, 0, 0, 0, 0, 478, + 15, 16, 479, 18, 19, 480, 21, 481, 23, 0, + 24, 0, 26, 27, 0, 29, 30, 31, 0, 0, + 0, 0, 0, 113, 114, 115, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 121, 335, 48, 49, 50, 123, 0, 0, 0, 0, + 126, 0, 79, 316, 0, 129, 0, 336, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 315, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 317, 0, 739, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, 37, 0, 0, 0, 0, 41, 0, 0, 44, 0, 0, - 0, 0, 474, 15, 16, 475, 18, 19, 476, 21, - 477, 23, 0, 24, 0, 26, 27, 0, 29, 30, + 0, 0, 478, 15, 16, 479, 18, 19, 480, 21, + 481, 23, 0, 24, 0, 26, 27, 0, 29, 30, 31, 0, 0, 0, 0, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 121, 333, 48, 49, 50, 123, 0, - 0, 0, 0, 126, 0, 79, 314, 0, 129, 0, - 334, 83, 84, 85, 0, 0, 86, 87, 88, 89, + 0, 0, 0, 121, 318, 48, 49, 50, 123, 0, + 0, 0, 0, 126, 0, 79, 316, 0, 129, 0, + 523, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 315, 0, 565, + 0, 0, 0, 0, 0, 0, 0, 317, 0, 759, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, 37, 0, 0, 0, 0, 41, 0, 0, - 44, 0, 0, 0, 0, 474, 15, 16, 475, 18, - 19, 476, 21, 477, 23, 0, 24, 0, 26, 27, + 44, 0, 0, 0, 0, 478, 15, 16, 479, 18, + 19, 480, 21, 481, 23, 0, 24, 0, 26, 27, 0, 29, 30, 31, 0, 0, 0, 0, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 121, 333, 48, 49, - 50, 123, 0, 0, 0, 0, 126, 0, 79, 314, - 0, 129, 0, 334, 83, 84, 85, 0, 0, 86, + 0, 0, 0, 0, 0, 0, 121, 318, 48, 49, + 50, 123, 0, 0, 0, 0, 126, 0, 79, 316, + 0, 129, 0, 702, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 315, 0, 579, 0, 0, 7, 8, 0, 0, 0, + 317, 0, 1196, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, 36, 37, 0, 0, 0, 0, - 41, 0, 0, 44, 0, 0, 0, 0, 474, 15, - 16, 475, 18, 19, 476, 21, 477, 23, 0, 24, - 0, 26, 27, 0, 29, 30, 31, 0, 0, 0, + 41, 0, 0, 44, 0, 0, 0, 0, 478, 15, + 16, 479, 18, 19, 480, 21, 481, 23, 0, 24, + 0, 26, 27, 0, 29, 30, 31, 0, 483, 0, 0, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, - 316, 48, 49, 50, 123, 0, 0, 0, 0, 126, - 0, 79, 314, 0, 129, 0, 519, 83, 84, 85, + 335, 48, 49, 50, 123, 0, 0, 0, 0, 126, + 0, 79, 316, 0, 129, 0, 974, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 315, 0, 580, 0, 0, 7, 8, + 0, 0, 0, 317, 0, 1247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 34, 35, 36, 37, 0, - 0, 0, 0, 41, 0, 0, 44, 0, 0, 0, - 0, 474, 15, 16, 475, 18, 19, 476, 21, 477, - 23, 0, 24, 0, 26, 27, 0, 29, 30, 31, + 0, 0, 0, 0, 33, 34, 35, 36, 37, 499, + 0, 0, 0, 41, 0, 0, 44, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 121, 316, 48, 49, 50, 123, 0, 0, - 0, 0, 126, 0, 79, 314, 0, 129, 0, 696, + 0, 0, 121, 335, 0, 0, 0, 123, 0, 0, + 0, 0, 126, 0, 79, 316, 0, 129, 0, 977, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 315, 0, 733, 0, - 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 34, 35, - 36, 37, 0, 0, 0, 0, 41, 0, 0, 44, - 0, 0, 0, 0, 474, 15, 16, 475, 18, 19, - 476, 21, 477, 23, 0, 24, 0, 26, 27, 0, - 29, 30, 31, 0, 0, 0, 0, 0, 113, 114, + 0, 0, 0, 0, 0, 0, 317, 0, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 0, 0, 0, 0, 309, 33, 34, 35, + 36, 37, 0, 0, 79, 276, 41, 0, 0, 44, + 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 651, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 121, 333, 48, 49, 50, - 123, 0, 0, 0, 0, 126, 0, 79, 314, 0, - 129, 0, 964, 83, 84, 85, 0, 0, 86, 87, + 0, 0, 0, 0, 0, 371, 1060, 0, 0, 0, + 123, 0, 0, 0, 0, 373, 0, 79, 276, 226, + 129, 0, 178, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, - 0, 751, 0, 0, 7, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 33, 34, 35, 36, 37, 0, 0, 0, 0, 41, - 0, 0, 44, 0, 0, 0, 0, 474, 15, 16, - 475, 18, 19, 476, 21, 477, 23, 0, 24, 0, - 26, 27, 0, 29, 30, 31, 0, 0, 0, 0, + 107, 108, 109, 110, 0, 0, 111, 0, 113, 114, + 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 121, 122, 0, 0, 0, + 123, 0, 0, 0, 0, 126, 0, 0, 281, 0, + 129, 0, 282, 0, 0, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 798, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 369, 1047, - 48, 49, 50, 123, 0, 0, 0, 0, 371, 0, - 79, 314, 0, 129, 0, 178, 83, 84, 85, 0, + 0, 832, 0, 0, 0, 0, 0, 0, 121, 122, + 0, 0, 0, 123, 0, 0, 0, 0, 126, 0, + 79, 276, 0, 129, 0, 1074, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 315, 0, 1179, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 33, 34, 35, 36, 37, 0, 0, - 0, 0, 41, 0, 0, 44, 0, 0, 0, 0, - 474, 15, 16, 475, 18, 19, 476, 21, 477, 23, - 0, 24, 0, 26, 27, 0, 29, 30, 31, 0, - 0, 0, 0, 0, 113, 114, 115, 116, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 369, 1149, 48, 49, 50, 123, 0, 0, 0, - 0, 371, 0, 79, 314, 0, 129, 0, 1150, 83, - 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 315, 0, 1230, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 33, 34, 35, 36, - 37, 0, 0, 79, 274, 41, 0, 0, 44, 83, - 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 824, 0, 113, 114, 115, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 369, 1047, 0, 0, 0, 123, - 0, 0, 0, 0, 371, 0, 79, 274, 224, 129, - 0, 1182, 83, 84, 85, 0, 0, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 0, 107, - 108, 109, 110, 0, 0, 111, 0, 113, 114, 115, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 122, 0, 0, 0, 123, - 0, 0, 0, 0, 126, 0, 0, 674, 0, 129, - 0, 675, 0, 0, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 0, 0, 0, 0, 0, 857, - 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 121, 122, 0, - 0, 0, 123, 0, 0, 0, 0, 126, 0, 79, - 274, 0, 129, 0, 1058, 83, 84, 85, 0, 0, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 0, 0, 0, 0, 79, 314, 0, 0, 0, + 105, 106, 0, 0, 0, 79, 276, 0, 0, 0, 0, 83, 84, 85, 0, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 315, 293, 294, + 100, 101, 102, 103, 104, 105, 106, 0, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 0, 0, 0, 0, 309, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 33, 34, - 35, 36, 37, 113, 114, 115, 116, 41, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 369, 370, 901, 0, 0, 123, 0, 0, 0, 0, - 371, 0, 0, 0, 0, 129, 0, 178, 0, 113, - 114, 115, 116, 1072, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 121, 316, 0, 0, - 0, 123, 79, 274, 224, 0, 126, 0, 83, 84, - 85, 129, 0, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 0, 107, 108, 109, 110, 79, - 274, 111, 0, 0, 0, 83, 84, 85, 0, 0, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 1090, 0, 0, 0, 307, - 0, 0, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 113, 114, 115, 116, - 307, 1113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 121, 122, 0, 0, 0, 123, 0, - 1186, 0, 0, 126, 0, 0, 0, 0, 129, 0, - 0, 0, 0, 113, 114, 115, 116, 0, 0, 1228, + 305, 306, 307, 308, 113, 114, 115, 116, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 121, 122, 0, 0, 0, 123, 0, 0, 0, 0, - 126, 504, 0, 0, 0, 129, 0, 0, 0, 0, + 0, 121, 122, 0, 0, 0, 123, 0, 0, 0, + 0, 126, 0, 0, 680, 0, 129, 0, 681, 113, + 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 371, 372, 0, 0, + 0, 123, 0, 0, 0, 0, 373, 0, 79, 316, + 0, 129, 0, 178, 83, 84, 85, 0, 0, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 576, 0, 0, 0, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 667, - 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 808, 0, 0, 0, 307, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 869, 0, 0, 0, 307, 293, 294, + 317, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 33, 34, 35, 36, 37, 502, 0, 79, 276, + 41, 0, 0, 44, 83, 84, 85, 0, 0, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 867, 0, 113, 114, 115, 116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, + 318, 0, 0, 0, 123, 79, 276, 226, 0, 126, + 0, 83, 84, 85, 129, 0, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 911, 107, 108, + 109, 110, 0, 0, 111, 0, 0, 0, 0, 0, + 0, 0, 113, 114, 115, 116, 1088, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, + 122, 0, 0, 0, 123, 1106, 0, 0, 0, 126, + 0, 0, 0, 0, 129, 0, 0, 0, 0, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 1131, 0, 0, 0, 309, 0, 113, + 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1202, 0, 0, 0, 121, 122, 0, 0, + 0, 123, 0, 0, 0, 0, 126, 0, 0, 0, + 0, 129, 1245, 0, 0, 0, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 508, 309, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 508, 309, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 582, 309, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 673, 0, 0, 0, + 309, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 816, 0, 0, 0, 309, + 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 879, 0, 0, 0, 309, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 522, - 305, 306, 0, 0, 0, 0, 307, 293, 294, 295, + 305, 509, 307, 308, 0, 0, 0, 0, 309, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 293, 294, 295, 296, + 526, 307, 308, 0, 0, 0, 0, 309, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, - 0, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, -4, 1, 0, 307, -4, - 0, 0, 0, 0, 0, 0, 0, -4, -4, 0, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - -4, 0, 0, 0, 0, -4, -4, 699, -4, -4, + 307, 308, 0, 0, 0, 0, 309, 0, 0, 0, + 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, -4, 1, 0, + 309, -4, 0, 0, 0, 0, 0, 0, 0, -4, + -4, 0, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, -4, 0, 0, 0, 0, -4, -4, 705, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, - 0, -4, -4, -4, -4, -4, -4, -4, -4, 0, - -4, -4, -4, -4, -4, -4, -4, 0, -4, -4, - -4, -4, -4, -4, 0, 0, -4, -4, 6, 0, - 0, 0, -4, -4, -4, -4, 7, 8, -4, 0, - -4, 0, -4, -4, -4, -4, -4, -4, -4, -4, - -4, -4, 0, 0, 0, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 10, 11, 0, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, - 24, 25, 26, 27, 28, 29, 30, 31, 0, 32, - 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 42, 43, 44, 7, 8, 45, 46, 0, 0, 0, - 0, 47, 48, 49, 50, 0, 0, 51, 0, 52, - 0, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 0, 0, 0, 0, 0, 474, 15, 16, 475, - 18, 19, 476, 21, 477, 23, 0, 24, 0, 26, - 27, 0, 29, 30, 31, 0, 0, 293, 294, 295, + -4, -4, 0, -4, -4, -4, -4, -4, -4, -4, + -4, 0, -4, -4, -4, -4, -4, -4, -4, 0, + -4, -4, -4, -4, -4, -4, 0, 0, -4, -4, + 6, 0, 0, 0, -4, -4, -4, -4, 7, 8, + -4, 0, -4, 0, -4, -4, -4, -4, -4, -4, + -4, -4, -4, -4, 0, 0, 0, 0, 0, 0, + 0, 9, 0, 0, 0, 0, 10, 11, 0, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 0, 24, 25, 26, 27, 28, 29, 30, 31, + 0, 32, 33, 34, 35, 36, 37, 38, 0, 39, + 40, 41, 42, 43, 44, 7, 8, 45, 46, 0, + 0, 0, 0, 47, 48, 49, 50, 0, 0, 51, + 0, 52, 0, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 0, 0, 0, 0, 0, 478, 15, + 16, 479, 18, 19, 480, 21, 481, 23, 0, 24, + 0, 26, 27, 0, 29, 30, 31, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 48, - 49, 50, 1030, 0, 1031, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 1053, 0, 1054, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 1133, 0, - 1134, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 736, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 760, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 48, 49, 50, 1043, 0, 1044, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 1069, 0, 1070, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 1151, 0, 1152, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 742, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 0, 0, 768, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 807, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 844, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 1028, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 1045, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 1078, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 0, 0, 815, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 0, 0, 852, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 0, 0, 1041, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 1058, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 0, 0, 1094, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 1079, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 1080, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 1081, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 1108, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 1148, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 0, 0, 1095, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 0, 0, 1096, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 0, 0, 1097, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 1126, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 0, 0, 1166, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 1154, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 1155, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 1167, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 1170, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 1173, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 0, 0, 1171, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 0, 0, 1172, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 0, 0, 1184, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 1187, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 0, 0, 1190, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 1194, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 0, 0, 1196, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, - 1222, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 0, 0, 1224, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 0, 0, 1226, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 0, 0, 1210, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 0, 0, 1212, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 0, 0, 1239, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 1241, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 0, 0, 1243, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 0, 0, 1238, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 462, 0, 0, 0, 0, - 542, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 498, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 0, 0, 1256, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 466, 0, 0, + 0, 0, 546, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 546, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 542, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 543, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 573, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 618, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 619, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 547, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 579, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 624, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 625, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 638, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 632, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 633, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 634, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 635, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 636, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 639, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 640, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 641, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 642, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 643, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 637, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 724, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 725, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 726, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 804, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 730, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 731, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 732, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 812, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 850, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 842, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 843, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 868, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 979, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 980, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 851, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 878, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 992, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 993, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 1013, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 1000, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 0, 0, 0, 1117, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 0, 0, 0, 1118, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, - 1124, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 0, 0, 0, 1190, 293, 294, 295, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 0, 0, 0, 1135, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 1136, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 1142, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 1206, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 1209, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 0, - 0, 0, 1193, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 466, 293, 294, 295, 296, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 470, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 0, 0, 584, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 588, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 0, 0, 578, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 582, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 0, 0, 597, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 599, 293, 294, + 307, 308, 0, 0, 0, 0, 309, 0, 0, 0, + 603, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 605, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 0, 0, 607, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 609, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 0, 0, - 601, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 603, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 0, 0, 605, 293, 294, 295, + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 0, 0, 611, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 613, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 0, 0, 615, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 607, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 0, 0, 609, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 611, 293, 294, 295, 296, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 617, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 0, 0, 619, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 621, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 0, 0, 613, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 615, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 0, 0, 617, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 621, 293, 294, + 307, 308, 0, 0, 0, 0, 309, 0, 0, 0, + 623, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 627, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 0, 0, 629, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 631, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 0, 0, - 623, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 625, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 0, 0, 627, 293, 294, 295, + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 0, 0, 633, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 635, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 0, 0, 637, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 629, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 0, 0, 631, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 741, 293, 294, 295, 296, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 749, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 0, 0, 750, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 0, 0, 752, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 0, 0, 742, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 0, - 0, 744, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 0, 0, 745, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 0, 0, 756, 293, 294, + 307, 308, 0, 0, 0, 0, 309, 0, 0, 0, + 753, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 0, 0, 764, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 0, 0, 788, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 0, 0, 894, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 0, 0, - 780, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 0, 0, 884, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 0, 0, 886, 293, 294, 295, + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 0, 0, 896, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 0, 0, 898, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 0, 0, 900, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 0, 0, 888, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 0, 0, 890, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 0, 0, 891, 293, 294, 295, 296, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 0, + 0, 901, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 0, 0, 1006, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 466, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 503, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 512, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 0, 0, 993, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 462, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 499, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 508, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 509, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 511, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 513, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 514, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 517, 293, 294, 295, + 307, 308, 0, 0, 0, 0, 309, 0, 513, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 518, 293, 294, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 515, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 569, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 570, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 571, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 577, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 596, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 598, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 600, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 602, 293, 294, 295, 296, + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 517, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 518, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 521, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 522, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 575, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 576, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 577, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 583, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 604, 293, 294, 295, + 307, 308, 0, 0, 0, 0, 309, 0, 602, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 606, 293, 294, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 604, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 608, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 610, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 612, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 614, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 616, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 620, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 622, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 624, 293, 294, 295, 296, + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 606, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 608, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 610, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 612, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 614, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 616, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 618, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 620, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 626, 293, 294, 295, + 307, 308, 0, 0, 0, 0, 309, 0, 622, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 628, 293, 294, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 626, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 630, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 685, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 690, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 698, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 700, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 701, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 707, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 714, 293, 294, 295, 296, + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 628, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 630, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 632, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 634, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 636, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 691, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 696, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 704, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 715, 293, 294, 295, + 307, 308, 0, 0, 0, 0, 309, 0, 706, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 716, 293, 294, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 707, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 735, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 740, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307, 0, - 883, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 0, 0, 0, 0, 307, - 0, 885, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 0, 0, 0, 0, - 307, 0, 887, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 0, 0, 0, - 0, 307, 0, 889, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 0, 0, - 0, 0, 307, 0, 894, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 0, - 0, 0, 0, 307, 0, 1029, 293, 294, 295, 296, + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 713, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 720, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 721, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 722, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 741, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 743, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 744, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 748, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 0, 0, 0, 0, 307, 0, 1044, 293, 294, 295, + 307, 308, 0, 0, 0, 0, 309, 0, 893, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 0, 0, 0, 0, 307, 0, 1057, 293, 294, + 306, 307, 308, 0, 0, 0, 0, 309, 0, 895, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 0, 0, 0, 0, 307, 0, 1189, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 0, 0, 0, 0, 307, 0, 1236, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 0, 0, 0, 0, 307 + 305, 306, 307, 308, 0, 0, 0, 0, 309, 0, + 897, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 0, 0, 0, 0, 309, + 0, 899, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, 306, 307, 308, 0, 0, 0, 0, + 309, 0, 904, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, 306, 307, 308, 0, 0, 0, + 0, 309, 0, 1042, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, 306, 307, 308, 0, 0, + 0, 0, 309, 0, 1057, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 306, 307, 308, 0, + 0, 0, 0, 309, 0, 1073, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 0, 0, 0, 0, 309, 0, 1205, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, + 308, 0, 0, 0, 0, 309, 0, 1254, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 0, 0, 0, 0, 309 }; static const yytype_int16 yycheck[] = { - 6, 186, 269, 270, 271, 6, 3, 282, 6, 194, - 363, 364, 6, 6, 4, 7, 1066, 4, 6, 4, - 660, 4, 4, 4, 6, 4, 6, 5, 0, 5, - 215, 73, 217, 72, 163, 164, 6, 79, 80, 1089, - 4, 72, 7, 72, 135, 73, 13, 4, 5, 140, - 6, 79, 80, 730, 6, 72, 4, 5, 124, 125, - 189, 73, 7, 6, 135, 145, 734, 79, 80, 140, - 150, 124, 125, 134, 154, 141, 124, 125, 7, 36, - 37, 38, 39, 6, 7, 42, 134, 140, 36, 37, - 38, 39, 51, 141, 42, 134, 83, 84, 85, 86, - 142, 6, 141, 93, 94, 134, 126, 127, 128, 4, - 141, 6, 141, 133, 142, 121, 122, 123, 101, 4, - 126, 127, 114, 121, 141, 131, 82, 135, 121, 134, - 142, 137, 140, 130, 140, 134, 124, 125, 144, 145, - 146, 147, 1192, 149, 150, 151, 152, 141, 154, 155, - 156, 791, 131, 132, 136, 142, 141, 136, 141, 138, - 141, 141, 55, 141, 143, 141, 111, 112, 113, 114, - 134, 177, 178, 138, 131, 132, 134, 854, 7, 134, - 186, 138, 111, 112, 113, 114, 131, 132, 134, 374, - 136, 466, 134, 138, 134, 201, 202, 203, 134, 205, - 280, 141, 208, 209, 1254, 211, 4, 135, 93, 94, - 395, 45, 140, 219, 48, 7, 134, 51, 136, 53, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 6, 1082, 284, 186, 6, 4, 3, 365, 366, 4, + 271, 272, 273, 196, 6, 6, 6, 4, 666, 4, + 6, 51, 5, 4, 1105, 4, 6, 5, 4, 4, + 6, 0, 73, 4, 217, 7, 219, 4, 79, 80, + 73, 4, 5, 163, 164, 73, 79, 80, 4, 4, + 6, 79, 80, 73, 72, 6, 6, 73, 7, 79, + 80, 736, 134, 79, 80, 124, 125, 72, 124, 125, + 13, 191, 145, 36, 37, 38, 39, 150, 7, 42, + 134, 154, 141, 134, 140, 136, 142, 141, 83, 84, + 85, 86, 82, 6, 49, 66, 67, 68, 69, 73, + 6, 142, 101, 58, 75, 79, 80, 78, 72, 142, + 131, 132, 93, 94, 142, 121, 122, 123, 93, 94, + 126, 127, 142, 141, 6, 131, 142, 1208, 55, 121, + 121, 137, 48, 130, 140, 51, 141, 53, 144, 145, + 146, 147, 141, 149, 150, 151, 152, 142, 154, 155, + 156, 799, 131, 132, 141, 141, 141, 136, 141, 138, + 136, 141, 51, 141, 143, 114, 138, 134, 131, 132, + 134, 177, 178, 124, 125, 138, 134, 141, 124, 125, + 186, 7, 111, 112, 113, 114, 134, 862, 470, 124, + 125, 51, 1273, 376, 140, 134, 142, 203, 204, 205, + 134, 207, 141, 145, 210, 211, 141, 213, 150, 282, + 72, 134, 154, 131, 132, 221, 399, 7, 141, 134, + 138, 136, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 124, 125, 904, 134, 272, 51, 66, 67, - 68, 69, 141, 51, 280, 34, 35, 75, 37, 141, - 78, 282, 111, 112, 113, 114, 51, 293, 294, 295, + 266, 267, 268, 269, 34, 35, 914, 37, 274, 134, + 134, 136, 134, 126, 127, 128, 282, 141, 134, 141, + 133, 53, 284, 740, 134, 111, 112, 113, 114, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 131, 132, 51, 45, 386, 134, 48, 134, - 316, 51, 124, 125, 141, 582, 141, 53, 324, 111, - 112, 113, 114, 329, 140, 135, 142, 333, 334, 141, - 140, 6, 338, 339, 340, 341, 73, 134, 73, 131, - 132, 347, 79, 80, 79, 80, 352, 353, 354, 73, - 141, 73, 131, 132, 141, 79, 80, 79, 80, 138, - 366, 367, 368, 369, 370, 371, 363, 364, 8, 375, - 376, 124, 125, 379, 4, 642, 382, 383, 124, 125, - 386, 387, 388, 48, 124, 125, 51, 140, 53, 142, - 73, 51, 124, 125, 134, 48, 79, 80, 51, 405, - 53, 141, 408, 670, 73, 142, 407, 142, 140, 51, - 79, 80, 534, 535, 536, 174, 175, 497, 142, 73, - 142, 124, 125, 182, 48, 79, 80, 186, 1096, 145, - 1098, 48, 1100, 1073, 150, 131, 132, 140, 154, 519, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 4, 461, 124, 125, 133, 142, - 1137, 4, 468, 1140, 73, 466, 1143, 134, 4, 136, - 79, 80, 140, 142, 142, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 134, - 73, 497, 498, 133, 500, 501, 79, 80, 504, 505, - 506, 134, 142, 124, 125, 134, 134, 136, 783, 784, - 6, 467, 1180, 519, 134, 4, 522, 523, 73, 140, - 136, 142, 528, 4, 79, 80, 141, 533, 534, 535, - 536, 134, 73, 142, 1211, 134, 542, 543, 79, 80, - 124, 125, 548, 157, 124, 125, 134, 134, 162, 163, - 164, 7, 558, 1221, 560, 1223, 140, 1225, 134, 142, - 140, 641, 1239, 1231, 280, 1242, 8, 573, 1245, 575, - 576, 1248, 124, 125, 5, 189, 190, 533, 534, 535, - 536, 582, 4, 663, 664, 665, 666, 142, 140, 1257, - 6, 1259, 1269, 1261, 1271, 675, 1273, 134, 951, 136, - 316, 142, 361, 362, 6, 36, 37, 38, 39, 6, - 369, 42, 618, 619, 5, 134, 696, 333, 334, 134, - 124, 125, 124, 125, 134, 141, 632, 633, 634, 635, - 636, 637, 638, 124, 125, 641, 140, 134, 140, 136, - 646, 134, 134, 136, 136, 912, 134, 653, 136, 140, - 124, 125, 124, 125, 134, 124, 125, 663, 664, 665, - 666, 667, 140, 134, 142, 136, 140, 134, 140, 675, - 386, 140, 134, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 3, 4, 134, - 696, 133, 4, 9, 10, 11, 134, 134, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 124, - 125, 124, 125, 141, 124, 125, 134, 141, 136, 45, - 134, 140, 136, 142, 141, 140, 134, 140, 136, 1092, - 140, 134, 134, 136, 136, 134, 134, 136, 136, 134, - 66, 67, 68, 69, 70, 136, 762, 763, 134, 75, - 136, 134, 78, 136, 131, 132, 134, 141, 136, 136, - 8, 138, 136, 134, 141, 136, 143, 6, 858, 780, - 136, 497, 541, 784, 6, 136, 792, 138, 138, 505, - 506, 107, 108, 109, 110, 554, 141, 140, 804, 142, - 131, 132, 808, 519, 96, 136, 522, 138, 124, 125, - 6, 6, 143, 129, 140, 140, 142, 142, 134, 51, - 140, 53, 142, 139, 6, 141, 142, 136, 4, 124, - 125, 126, 127, 128, 141, 841, 842, 843, 133, 140, - 140, 142, 142, 849, 850, 6, 140, 853, 142, 463, - 464, 5, 858, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 868, 869, 870, 140, 133, 142, 140, 133, - 142, 877, 138, 4, 875, 6, 882, 115, 116, 117, + 306, 307, 308, 309, 134, 131, 132, 134, 140, 73, + 142, 51, 318, 7, 135, 79, 80, 390, 51, 140, + 326, 111, 112, 113, 114, 331, 73, 588, 141, 335, + 336, 141, 79, 80, 340, 341, 342, 343, 73, 51, + 282, 131, 132, 349, 79, 80, 135, 51, 354, 355, + 356, 140, 48, 45, 73, 51, 48, 53, 48, 51, + 79, 80, 368, 369, 370, 371, 372, 373, 365, 366, + 135, 377, 378, 379, 380, 140, 318, 383, 142, 48, + 386, 387, 73, 4, 390, 391, 392, 648, 79, 80, + 134, 73, 136, 335, 336, 142, 135, 79, 80, 4, + 134, 140, 136, 409, 174, 175, 412, 142, 134, 411, + 136, 4, 182, 124, 125, 676, 186, 111, 112, 113, + 114, 5, 136, 142, 73, 134, 124, 125, 501, 140, + 79, 80, 124, 125, 6, 135, 134, 131, 132, 73, + 140, 1089, 134, 141, 138, 79, 80, 134, 390, 141, + 523, 142, 36, 37, 38, 39, 4, 5, 42, 465, + 142, 124, 125, 538, 539, 540, 472, 134, 470, 136, + 124, 125, 134, 134, 136, 136, 134, 140, 136, 142, + 1155, 471, 134, 1158, 124, 125, 1161, 141, 36, 37, + 38, 39, 134, 142, 42, 501, 502, 4, 504, 505, + 140, 4, 508, 509, 510, 141, 124, 125, 142, 791, + 792, 124, 125, 124, 125, 134, 140, 523, 142, 134, + 526, 527, 140, 124, 125, 134, 532, 140, 134, 140, + 136, 537, 538, 539, 540, 124, 125, 124, 125, 140, + 546, 547, 134, 134, 136, 136, 552, 537, 538, 539, + 540, 140, 1227, 140, 124, 125, 124, 125, 564, 501, + 566, 124, 125, 124, 125, 6, 7, 509, 510, 134, + 140, 136, 140, 579, 647, 581, 582, 140, 134, 140, + 136, 523, 1257, 134, 526, 1260, 588, 7, 1263, 124, + 125, 1266, 134, 363, 364, 6, 669, 670, 671, 672, + 134, 371, 136, 961, 4, 140, 124, 125, 681, 124, + 125, 124, 125, 1288, 134, 1290, 136, 1292, 624, 625, + 124, 125, 140, 124, 125, 140, 134, 140, 136, 702, + 6, 6, 638, 639, 640, 641, 642, 643, 644, 140, + 5, 647, 124, 125, 131, 132, 652, 141, 134, 136, + 136, 138, 4, 659, 141, 1112, 143, 1114, 140, 1116, + 134, 922, 136, 669, 670, 671, 672, 673, 134, 131, + 132, 134, 141, 136, 136, 681, 138, 134, 134, 157, + 140, 143, 142, 134, 162, 163, 164, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 702, 136, 134, 138, + 133, 51, 140, 53, 142, 647, 124, 125, 126, 127, + 128, 134, 134, 191, 192, 133, 140, 45, 142, 140, + 48, 142, 8, 51, 140, 53, 142, 669, 670, 671, + 672, 140, 140, 142, 142, 140, 140, 142, 142, 681, + 1197, 140, 140, 142, 142, 140, 140, 142, 142, 4, + 1108, 6, 140, 140, 142, 142, 140, 140, 142, 142, + 702, 140, 134, 142, 770, 771, 140, 140, 142, 142, + 140, 140, 142, 142, 140, 545, 142, 140, 134, 142, + 8, 1238, 140, 1240, 142, 1242, 788, 140, 558, 142, + 792, 1248, 141, 141, 800, 868, 140, 134, 142, 134, + 134, 6, 141, 136, 136, 136, 812, 6, 138, 96, + 816, 6, 141, 6, 6, 136, 4, 141, 5, 1276, + 6, 1278, 133, 1280, 138, 7, 136, 142, 141, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 849, 850, 851, 141, 133, 7, 7, + 7, 857, 858, 134, 134, 861, 142, 134, 134, 7, + 135, 7, 868, 6, 93, 135, 135, 141, 140, 140, + 6, 4, 878, 879, 880, 137, 7, 96, 7, 7, + 7, 887, 96, 885, 7, 7, 892, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 897, 140, 8, 142, 133, 140, 140, 142, 142, - 140, 140, 142, 142, 142, 140, 140, 142, 142, 7, - 140, 917, 142, 136, 673, 529, 141, 923, 924, 1104, - 141, 140, 928, 142, 140, 641, 142, 140, 142, 142, - 936, 140, 140, 142, 142, 140, 7, 142, 7, 7, - 896, 947, 134, 134, 134, 134, 7, 663, 664, 665, - 666, 135, 7, 6, 951, 93, 141, 140, 964, 675, - 135, 967, 135, 140, 6, 724, 725, 726, 1235, 975, - 4, 137, 7, 979, 980, 64, 96, 7, 1058, 7, - 696, 7, 96, 7, 7, 96, 7, 7, 4, 6, - 138, 947, 142, 142, 1000, 6, 1181, 1264, 7, 1266, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 7, 7, 1283, 138, 133, 975, - 6, 134, 134, 141, 1030, 140, 115, 116, 117, 118, + 128, 907, 96, 7, 7, 133, 4, 6, 138, 679, + 142, 142, 6, 138, 142, 7, 906, 7, 7, 134, + 141, 927, 134, 6, 4, 6, 868, 933, 934, 6, + 137, 6, 938, 6, 136, 7, 6, 1120, 121, 51, + 946, 7, 7, 53, 7, 7, 7, 7, 6, 134, + 7, 957, 7, 7, 135, 135, 135, 135, 7, 4, + 730, 731, 732, 6, 961, 141, 7, 957, 974, 6, + 141, 977, 7, 7, 980, 6, 6, 51, 6, 6, + 4, 4, 988, 4, 6, 4, 992, 993, 6, 467, + 468, 141, 1253, 134, 138, 135, 7, 6, 988, 141, + 6, 1074, 58, 141, 141, 6, 6, 1013, 6, 141, + 6, 5, 4, 6, 92, 1198, 7, 7, 7, 7, + 141, 141, 1283, 141, 1285, 6, 6, 6, 4, 7, + 138, 6, 974, 6, 6, 977, 6, 1043, 6, 6, + 137, 1302, 6, 6, 6, 6, 12, 13, 5, 96, + 1123, 6, 6, 1059, 1060, 533, 6, 6, 6, 6, + 6, 6, 6, 1069, 140, 1071, 6, 4, 1074, 7, + 141, 6, 1078, 6, 6, 6, 5, 1083, 6, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 49, + 56, 861, 58, 59, 138, 61, 62, 63, 6, 6, + 6, 6, 141, 6, 142, 1111, 6, 1113, 141, 1115, + 7, 1108, 141, 6, 91, 141, 141, 1123, 1060, 6, + 6, 1127, 88, 89, 90, 141, 6, 6, 1201, 1135, + 1136, 6, 1074, 6, 6, 94, 1142, 141, 141, 6, + 142, 6, 1148, 64, 141, 1151, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 928, 6, + 6, 6, 133, 6, 6, 6, 6, 6, 1174, 6, + 6, 6, 6, 142, 6, 6, 142, 1250, 6, 1185, + 6, 1123, 1188, 141, 811, 1191, 142, 6, 141, 1195, + 12, 13, 962, 6, 964, 1201, 966, 6, 141, 141, + 1206, 6, 141, 1209, 974, 141, 976, 977, 6, 6, + 6, 689, 690, 6, 692, 141, 694, 695, 141, 8, + 698, 699, 141, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 6, 56, 6, 58, 59, 6, 61, + 62, 63, 1174, 819, 1250, 3, 12, 13, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 1201, + 3, 348, 910, 133, -1, -1, 88, 89, 90, -1, + -1, -1, -1, -1, -1, -1, 754, 755, 756, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, + 56, -1, 58, 59, -1, 61, 62, 63, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1250, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 142, -1, 88, 89, 90, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 1046, 1047, 4, 6, 133, 6, 137, 1053, 6, 1055, - 6, 136, 1058, 7, 6, 121, 1062, 51, 7, 7, - 7, 1067, 53, 7, 7, 7, 6, 4, 7, 683, - 684, 135, 686, 135, 688, 689, 135, 135, 692, 693, - 7, 7, 7, 6, 141, 134, 7, 6, 6, 1095, - 141, 1097, 6, 1099, 853, 1092, 51, 6, 6, 4, - 4, 4, 1182, 1109, 6, 4, 6, 134, 141, 138, - 135, 1117, 1118, 7, 6, 6, 6, 58, 1124, 141, - 6, 6, 141, 141, 1130, 6, 141, 1133, 5, 4, - 6, 141, 746, 747, 748, 7, 7, 7, 7, 141, - 6, 6, 858, 1149, 1150, 6, 92, 7, 138, 6, - 4, 1157, 137, 6, 6, 6, 6, 6, 6, 918, - 6, 6, 1168, 6, 5, 1171, 6, 6, 1174, 6, - 6, 6, 1178, 6, 96, 6, 1182, 6, 6, 6, - 140, 4, 141, 7, 1190, 6, 6, 1193, 6, 6, - 5, 49, 6, 952, 6, 954, 6, 956, 812, 6, - 138, 6, 6, 6, 818, 964, 141, 141, 7, 142, - 141, 141, 826, 827, 828, 6, 6, 141, 832, 6, - 94, 141, 6, 837, 838, 839, 6, 91, 6, 6, - 6, 141, 6, 6, 141, 849, 142, 6, 64, 6, - 141, 855, 6, 6, 3, 4, 142, 142, 964, 6, - 9, 10, 11, 6, 6, 14, 15, 16, 17, 18, + -1, 1111, 820, 1113, 133, 1115, 135, -1, 826, -1, + -1, -1, 1122, -1, 1124, -1, 834, 835, 836, -1, + -1, -1, 840, -1, -1, -1, -1, 845, 846, 847, + -1, -1, -1, -1, -1, -1, 142, -1, -1, 857, + -1, -1, -1, -1, -1, 863, 3, 4, 866, -1, + -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 905, 45, -1, + -1, 1201, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, + 67, 68, 69, 70, -1, -1, -1, -1, 75, -1, + -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 949, 950, 951, 952, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 107, 108, 109, 110, 6, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 983, -1, 124, 125, -1, + -1, -1, 129, -1, -1, -1, 994, 134, -1, -1, + -1, -1, 139, -1, 141, 142, 3, 4, -1, -1, + -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1056, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, + 67, 68, 69, 70, -1, -1, -1, -1, 75, -1, + -1, 78, -1, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, + -1, 1119, -1, -1, -1, -1, -1, 124, 125, -1, + -1, -1, 129, -1, -1, -1, -1, 134, -1, -1, + -1, -1, 139, -1, -1, 142, -1, -1, -1, -1, + -1, -1, -1, -1, 3, 4, 5, -1, 7, -1, + 9, 10, 11, -1, 1162, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 6, 8, 6, 141, - 6, 895, 141, 6, 6, 141, 45, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 6, 6, 6, 142, 133, 6, 66, 67, 68, - 69, 70, 6, 6, 6, 6, 75, 142, 6, 78, - 6, 6, 141, 6, 6, 939, 940, 941, 942, 6, - 141, 1047, 141, 141, 6, 141, 1095, 803, 1097, 141, - 1099, 811, 1058, 1157, 3, 3, 346, 1106, 107, 108, - 109, 110, 900, -1, -1, -1, 970, -1, 6, -1, - -1, -1, -1, -1, -1, 124, 125, 981, -1, -1, - 129, -1, -1, -1, -1, 134, -1, -1, -1, -1, - 139, -1, -1, 142, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, - -1, -1, 133, -1, 135, -1, -1, -1, -1, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, -1, 1184, -1, -1, 133, 1043, - 3, 4, -1, 1149, 1150, -1, 9, 10, 11, -1, - -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 6, -1, -1, -1, 1182, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, -1, -1, -1, -1, 133, -1, -1, -1, 1103, - -1, -1, 1106, 3, 4, 5, -1, 7, -1, 9, - 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, - 1144, -1, 42, -1, 107, 108, 109, 110, 117, 118, + 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, + 39, -1, -1, 42, -1, -1, -1, -1, -1, -1, + -1, 1199, -1, -1, -1, -1, 3, 4, 5, -1, + -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 64, -1, -1, 45, -1, + -1, -1, 101, -1, -1, -1, -1, -1, 107, 108, + 109, 110, 111, 112, 113, 114, -1, -1, -1, 66, + 67, 68, 69, 70, -1, 124, 125, -1, 75, -1, + 129, 78, 131, 132, -1, 134, -1, 136, -1, 138, + 139, -1, 141, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - -1, 124, 125, -1, 133, -1, 129, -1, -1, -1, - -1, 134, -1, -1, 137, -1, 139, -1, 141, -1, - 1184, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, - -1, 101, -1, -1, -1, -1, -1, 107, 108, 109, - 110, 111, 112, 113, 114, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, 1232, 129, - -1, 131, 132, -1, 134, -1, 136, -1, 138, 139, - -1, 141, 3, 4, 5, -1, -1, -1, 9, 10, + 107, 108, 109, 110, 133, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, + -1, -1, 129, -1, -1, -1, -1, 134, -1, 3, + 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 45, -1, -1, -1, -1, 12, 13, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 66, 67, 68, 69, 70, -1, -1, -1, + -1, 75, -1, -1, 78, -1, -1, -1, -1, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, + 56, -1, 58, 59, -1, 61, 62, 63, -1, -1, + -1, -1, -1, 107, 108, 109, 110, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 88, 89, 90, 129, -1, -1, -1, -1, + 134, -1, 3, 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 45, -1, -1, -1, -1, 12, + -1, -1, -1, -1, 45, -1, 142, -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, 67, 68, 69, 70, -1, -1, -1, -1, 75, -1, -1, 78, -1, -1, @@ -2377,7 +2429,7 @@ static const yytype_int16 yycheck[] = -1, 66, 67, 68, 69, 70, -1, -1, -1, -1, 75, -1, -1, 78, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, - -1, 58, 59, -1, 61, 62, 63, -1, -1, -1, + -1, 58, 59, -1, 61, 62, 63, -1, 6, -1, -1, -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 88, 89, 90, 129, -1, -1, -1, -1, 134, @@ -2385,165 +2437,142 @@ static const yytype_int16 yycheck[] = -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 45, -1, 142, -1, -1, 12, 13, + -1, -1, -1, 45, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 66, 67, 68, 69, 70, -1, - -1, -1, -1, 75, -1, -1, 78, -1, -1, -1, - -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, -1, 56, -1, 58, 59, -1, 61, 62, 63, + -1, -1, -1, -1, 66, 67, 68, 69, 70, 6, + -1, -1, -1, 75, -1, -1, 78, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 88, 89, 90, 129, -1, -1, + -1, -1, 124, 125, -1, -1, -1, 129, -1, -1, -1, -1, 134, -1, 3, 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 45, -1, 142, -1, - -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 66, 67, 68, - 69, 70, -1, -1, -1, -1, 75, -1, -1, 78, - -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, -1, 56, -1, 58, 59, -1, - 61, 62, 63, -1, -1, -1, -1, -1, 107, 108, + -1, -1, -1, -1, -1, -1, 45, -1, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, -1, -1, -1, -1, 133, 66, 67, 68, + 69, 70, -1, -1, 3, 4, 75, -1, -1, 78, + 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 6, -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 124, 125, 88, 89, 90, - 129, -1, -1, -1, -1, 134, -1, 3, 4, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, + 129, -1, -1, -1, -1, 134, -1, 3, 4, 5, 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, - -1, 142, -1, -1, 12, 13, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 66, 67, 68, 69, 70, -1, -1, -1, -1, 75, - -1, -1, 78, -1, -1, -1, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, -1, 56, -1, - 58, 59, -1, 61, 62, 63, -1, -1, -1, -1, + 36, 37, 38, 39, -1, -1, 42, -1, 107, 108, + 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, 125, -1, -1, -1, + 129, -1, -1, -1, -1, 134, -1, -1, 137, -1, + 139, -1, 141, -1, -1, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 6, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, 107, 108, 109, 110, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 88, 89, 90, 129, -1, -1, -1, -1, 134, -1, + -1, 6, -1, -1, -1, -1, -1, -1, 124, 125, + -1, -1, -1, 129, -1, -1, -1, -1, 134, -1, 3, 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 45, -1, 142, -1, -1, 12, 13, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 66, 67, 68, 69, 70, -1, -1, - -1, -1, 75, -1, -1, 78, -1, -1, -1, -1, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - -1, 56, -1, 58, 59, -1, 61, 62, 63, -1, - -1, -1, -1, -1, 107, 108, 109, 110, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 124, 125, 88, 89, 90, 129, -1, -1, -1, - -1, 134, -1, 3, 4, -1, 139, -1, 141, 9, - 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 45, -1, 142, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, - -1, -1, -1, 133, -1, -1, 66, 67, 68, 69, - 70, -1, -1, 3, 4, 75, -1, -1, 78, 9, - 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 6, -1, 107, 108, 109, - 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, -1, 129, - -1, -1, -1, -1, 134, -1, 3, 4, 5, 139, - -1, 141, 9, 10, 11, -1, -1, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, - 37, 38, 39, -1, -1, 42, -1, 107, 108, 109, - 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, -1, -1, -1, 129, - -1, -1, -1, -1, 134, -1, -1, 137, -1, 139, - -1, 141, -1, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, - -1, -1, 133, -1, -1, -1, -1, -1, -1, 6, - 107, 108, 109, 110, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, 125, -1, - -1, -1, 129, -1, -1, -1, -1, 134, -1, 3, - 4, -1, 139, -1, 141, 9, 10, 11, -1, -1, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, -1, -1, -1, -1, 3, 4, -1, -1, -1, + 33, 34, -1, -1, -1, 3, 4, -1, -1, -1, -1, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 45, 115, 116, + 28, 29, 30, 31, 32, 33, 34, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, -1, -1, -1, -1, 133, -1, 66, 67, - 68, 69, 70, 107, 108, 109, 110, 75, -1, -1, - 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 6, -1, -1, 129, -1, -1, -1, -1, - 134, -1, -1, -1, -1, 139, -1, 141, -1, 107, - 108, 109, 110, 6, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, - -1, 129, 3, 4, 5, -1, 134, -1, 9, 10, - 11, 139, -1, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, -1, 36, 37, 38, 39, 3, - 4, 42, -1, -1, -1, 9, 10, 11, -1, -1, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 6, -1, -1, -1, 133, - -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 107, 108, 109, 110, - 133, 6, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 124, 125, -1, -1, -1, 129, -1, - 6, -1, -1, 134, -1, -1, -1, -1, 139, -1, - -1, -1, -1, 107, 108, 109, 110, -1, -1, 6, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 107, 108, 109, 110, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, -1, -1, -1, 129, -1, -1, -1, -1, - 134, 8, -1, -1, -1, 139, -1, -1, -1, -1, + -1, 124, 125, -1, -1, -1, 129, -1, -1, -1, + -1, 134, -1, -1, 137, -1, 139, -1, 141, 107, + 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, -1, -1, + -1, 129, -1, -1, -1, -1, 134, -1, 3, 4, + -1, 139, -1, 141, 9, 10, 11, -1, -1, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 8, -1, -1, -1, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, -1, 8, - -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 8, -1, -1, -1, 133, 115, + 45, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + -1, 66, 67, 68, 69, 70, 140, -1, 3, 4, + 75, -1, -1, 78, 9, 10, 11, -1, -1, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 6, -1, 107, 108, 109, 110, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, 129, 3, 4, 5, -1, 134, + -1, 9, 10, 11, 139, -1, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 6, 36, 37, + 38, 39, -1, -1, 42, -1, -1, -1, -1, -1, + -1, -1, 107, 108, 109, 110, 6, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, + 125, -1, -1, -1, 129, 6, -1, -1, -1, 134, + -1, -1, -1, -1, 139, -1, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 8, -1, -1, -1, 133, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, -1, -1, -1, -1, 133, -1, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, -1, -1, -1, -1, 133, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, -1, -1, -1, -1, 133, 115, 116, 117, 118, + 126, 127, 128, 6, -1, -1, -1, 133, -1, 107, + 108, 109, 110, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6, -1, -1, -1, 124, 125, -1, -1, + -1, 129, -1, -1, -1, -1, 134, -1, -1, -1, + -1, 139, 6, -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, + -1, -1, -1, 8, 133, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, 8, 133, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, + -1, 8, 133, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 8, -1, -1, -1, + 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 8, -1, -1, -1, 133, -1, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, + 124, 125, 126, 127, 128, 8, -1, -1, -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, -1, 0, 1, -1, 133, 4, - -1, -1, -1, -1, -1, -1, -1, 12, 13, -1, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, - 35, -1, -1, -1, -1, 40, 41, 142, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - -1, 56, 57, 58, 59, 60, 61, 62, 63, -1, - 65, 66, 67, 68, 69, 70, 71, -1, 73, 74, - 75, 76, 77, 78, -1, -1, 81, 82, 4, -1, - -1, -1, 87, 88, 89, 90, 12, 13, 93, -1, - 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, -1, -1, -1, -1, -1, -1, -1, 35, - -1, -1, -1, -1, 40, 41, -1, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, - 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, - 66, 67, 68, 69, 70, 71, -1, 73, 74, 75, - 76, 77, 78, 12, 13, 81, 82, -1, -1, -1, - -1, 87, 88, 89, 90, -1, -1, 93, -1, 95, - -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, -1, -1, -1, -1, -1, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, -1, 56, -1, 58, - 59, -1, 61, 62, 63, -1, -1, 115, 116, 117, + 125, 126, 127, 128, -1, -1, -1, -1, 133, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, -1, -1, -1, -1, 133, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + -1, -1, -1, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, + -1, 133, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, 0, 1, -1, + 133, 4, -1, -1, -1, -1, -1, -1, -1, 12, + 13, -1, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, 35, -1, -1, -1, -1, 40, 41, 142, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, -1, 56, 57, 58, 59, 60, 61, 62, + 63, -1, 65, 66, 67, 68, 69, 70, 71, -1, + 73, 74, 75, 76, 77, 78, -1, -1, 81, 82, + 4, -1, -1, -1, 87, 88, 89, 90, 12, 13, + 93, -1, 95, -1, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, + -1, 35, -1, -1, -1, -1, 40, 41, -1, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, -1, 56, 57, 58, 59, 60, 61, 62, 63, + -1, 65, 66, 67, 68, 69, 70, 71, -1, 73, + 74, 75, 76, 77, 78, 12, 13, 81, 82, -1, + -1, -1, -1, 87, 88, 89, 90, -1, -1, 93, + -1, 95, -1, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, -1, -1, -1, -1, -1, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, -1, 56, + -1, 58, 59, -1, 61, 62, 63, -1, -1, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 88, 89, 90, 140, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, -1, -1, -1, -1, 133, -1, -1, -1, 88, - 89, 90, 140, -1, 142, 115, 116, 117, 118, 119, + 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + -1, -1, 140, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, 140, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, - -1, 133, -1, -1, -1, -1, -1, -1, 140, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, @@ -2607,15 +2636,7 @@ static const yytype_int16 yycheck[] = 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, - -1, -1, -1, -1, 142, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, - -1, -1, -1, 133, -1, 135, -1, -1, -1, -1, - 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, - -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, + 128, -1, -1, -1, -1, 133, -1, 135, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, @@ -2683,9 +2704,7 @@ static const yytype_int16 yycheck[] = 128, -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, - -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, @@ -2756,6 +2775,19 @@ static const yytype_int16 yycheck[] = 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, -1, -1, -1, -1, 133, -1, -1, + -1, 137, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, + 133, -1, -1, -1, 137, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, + -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, @@ -2859,11 +2891,7 @@ static const yytype_int16 yycheck[] = 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, -1, -1, -1, -1, 133, -1, 135, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, -1, -1, -1, -1, 133, -1, 135, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, -1, -1, -1, -1, 133 + 127, 128, -1, -1, -1, -1, 133 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2888,74 +2916,75 @@ static const yytype_uint8 yystos[] = 141, 134, 134, 72, 141, 134, 134, 55, 51, 51, 51, 51, 48, 51, 53, 53, 45, 48, 51, 53, 48, 51, 53, 134, 141, 124, 125, 134, 141, 211, - 212, 211, 141, 45, 48, 51, 141, 211, 4, 51, - 51, 48, 4, 101, 141, 4, 6, 48, 4, 4, - 4, 134, 134, 134, 4, 141, 218, 4, 134, 134, - 6, 136, 4, 4, 5, 141, 5, 141, 4, 136, - 138, 143, 167, 141, 5, 222, 134, 136, 134, 136, + 212, 211, 141, 45, 48, 51, 141, 211, 4, 49, + 58, 51, 51, 48, 4, 101, 141, 4, 6, 48, + 4, 4, 4, 134, 134, 134, 4, 141, 218, 4, + 134, 134, 6, 136, 4, 4, 5, 141, 5, 141, + 4, 136, 138, 143, 167, 141, 5, 222, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, - 134, 136, 134, 136, 134, 136, 134, 136, 134, 134, - 134, 134, 7, 134, 4, 209, 209, 209, 209, 137, - 141, 209, 4, 93, 94, 4, 4, 177, 178, 179, - 209, 6, 6, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 133, 6, 6, - 209, 5, 209, 209, 4, 45, 125, 177, 186, 209, - 216, 217, 209, 209, 134, 209, 217, 209, 209, 134, - 217, 209, 209, 125, 141, 209, 214, 216, 134, 141, - 134, 134, 5, 214, 215, 215, 215, 134, 173, 174, - 175, 176, 134, 134, 134, 4, 211, 211, 211, 209, - 209, 124, 125, 141, 141, 211, 141, 141, 141, 124, - 125, 134, 179, 211, 141, 134, 141, 215, 214, 134, - 4, 6, 136, 136, 179, 6, 141, 136, 136, 6, - 209, 209, 209, 138, 209, 141, 96, 209, 209, 209, - 6, 6, 179, 6, 179, 136, 209, 4, 141, 151, - 6, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, + 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, + 134, 134, 134, 134, 7, 134, 4, 209, 209, 209, + 209, 137, 141, 209, 4, 93, 94, 4, 4, 177, + 178, 179, 209, 6, 6, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 133, + 6, 6, 209, 5, 209, 209, 4, 45, 125, 177, + 186, 209, 216, 217, 209, 209, 134, 209, 217, 209, + 209, 134, 217, 209, 209, 125, 141, 209, 214, 216, + 134, 141, 134, 134, 5, 214, 215, 215, 215, 134, + 173, 174, 175, 176, 134, 134, 134, 4, 211, 211, + 211, 209, 209, 124, 125, 141, 141, 211, 141, 141, + 141, 124, 125, 134, 179, 211, 141, 134, 141, 134, + 134, 215, 214, 134, 4, 6, 136, 136, 179, 6, + 141, 136, 136, 6, 209, 209, 209, 138, 209, 141, + 96, 209, 209, 209, 6, 6, 179, 6, 179, 136, + 209, 4, 141, 151, 6, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 4, 221, 222, 221, 221, 221, 209, - 5, 136, 135, 7, 114, 217, 137, 7, 166, 167, - 138, 7, 136, 142, 45, 48, 51, 53, 172, 6, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 209, 209, 209, 209, 209, 6, 135, 140, 140, 135, - 136, 141, 209, 216, 8, 126, 140, 142, 135, 135, - 209, 135, 142, 135, 135, 209, 142, 135, 135, 141, - 142, 217, 126, 7, 209, 209, 209, 209, 7, 7, - 204, 204, 209, 134, 134, 134, 134, 209, 209, 209, - 135, 140, 140, 140, 211, 211, 178, 178, 140, 209, - 209, 209, 209, 190, 140, 179, 209, 209, 7, 205, - 7, 209, 6, 209, 209, 142, 217, 209, 209, 135, - 135, 135, 93, 140, 179, 141, 8, 135, 137, 142, - 142, 209, 137, 167, 209, 4, 83, 84, 85, 86, - 142, 154, 158, 161, 163, 164, 135, 137, 135, 137, + 209, 209, 209, 209, 209, 209, 209, 4, 221, 222, + 221, 221, 221, 209, 5, 136, 135, 7, 114, 217, + 137, 7, 166, 167, 138, 7, 136, 142, 45, 48, + 51, 53, 172, 6, 209, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 209, 209, 209, 209, 209, 6, + 135, 140, 140, 135, 136, 141, 209, 216, 8, 126, + 140, 142, 135, 135, 209, 135, 142, 135, 135, 209, + 142, 135, 135, 141, 142, 217, 126, 7, 209, 209, + 209, 209, 7, 7, 204, 204, 209, 134, 134, 134, + 134, 209, 209, 209, 135, 140, 140, 140, 211, 211, + 178, 178, 140, 209, 209, 209, 209, 190, 140, 179, + 209, 209, 209, 209, 7, 205, 7, 209, 6, 209, + 209, 142, 217, 209, 209, 135, 135, 135, 93, 140, + 179, 141, 8, 135, 137, 142, 142, 209, 137, 167, + 209, 4, 83, 84, 85, 86, 142, 154, 158, 161, + 163, 164, 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, + 135, 137, 135, 137, 140, 140, 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, 140, 140, - 135, 137, 135, 137, 135, 137, 135, 137, 135, 137, - 135, 137, 140, 140, 140, 140, 140, 140, 136, 138, - 135, 140, 140, 135, 135, 6, 140, 209, 214, 214, - 142, 7, 138, 166, 167, 222, 209, 6, 4, 4, - 141, 219, 137, 141, 141, 141, 141, 8, 6, 121, - 148, 217, 209, 7, 137, 141, 209, 209, 209, 216, - 209, 216, 96, 7, 7, 135, 7, 96, 7, 7, - 135, 96, 7, 7, 217, 142, 141, 209, 135, 142, - 135, 135, 209, 214, 4, 203, 6, 135, 169, 209, - 222, 169, 169, 169, 135, 135, 135, 138, 211, 209, - 209, 142, 142, 209, 140, 140, 140, 73, 79, 80, - 200, 201, 211, 142, 187, 135, 142, 209, 6, 209, - 135, 137, 137, 142, 137, 137, 7, 7, 7, 138, - 209, 142, 209, 209, 7, 138, 137, 138, 167, 221, - 142, 155, 134, 134, 141, 165, 6, 209, 209, 209, - 209, 209, 209, 209, 209, 209, 4, 217, 221, 209, - 137, 6, 6, 137, 4, 93, 94, 209, 6, 6, - 6, 7, 136, 218, 220, 6, 217, 217, 217, 217, - 209, 121, 221, 135, 140, 211, 217, 142, 8, 51, - 214, 214, 7, 214, 51, 53, 214, 214, 7, 53, - 214, 214, 142, 217, 6, 7, 7, 7, 7, 64, - 202, 6, 7, 135, 135, 135, 135, 7, 7, 7, - 4, 140, 140, 140, 142, 211, 211, 211, 6, 141, - 134, 142, 201, 140, 200, 7, 6, 6, 141, 6, + 140, 140, 140, 140, 136, 138, 135, 140, 140, 135, + 135, 6, 140, 209, 214, 214, 142, 7, 138, 166, + 167, 222, 209, 6, 4, 4, 141, 219, 137, 141, + 141, 141, 141, 8, 6, 121, 148, 217, 209, 7, + 137, 141, 209, 209, 209, 216, 209, 216, 96, 7, + 7, 135, 7, 96, 7, 7, 135, 96, 7, 7, + 217, 142, 141, 209, 135, 142, 135, 135, 209, 214, + 4, 203, 6, 135, 169, 209, 222, 169, 169, 169, + 135, 135, 135, 138, 211, 209, 209, 142, 142, 209, + 140, 140, 140, 73, 79, 80, 200, 201, 211, 142, + 187, 135, 142, 135, 135, 209, 6, 209, 135, 137, + 137, 142, 137, 137, 7, 7, 7, 138, 209, 142, + 209, 209, 7, 138, 137, 138, 167, 221, 142, 155, + 134, 134, 141, 165, 6, 209, 209, 209, 209, 209, + 209, 209, 209, 209, 4, 217, 221, 209, 137, 6, + 6, 137, 4, 93, 94, 209, 6, 6, 6, 7, + 136, 218, 220, 6, 217, 217, 217, 217, 209, 121, + 221, 135, 140, 211, 217, 142, 8, 51, 214, 214, + 7, 214, 51, 53, 214, 214, 7, 53, 214, 214, + 142, 217, 6, 7, 7, 7, 7, 64, 202, 6, + 7, 135, 135, 135, 135, 7, 7, 7, 4, 140, + 140, 140, 142, 211, 211, 211, 6, 141, 134, 142, + 201, 140, 200, 7, 6, 7, 7, 6, 141, 6, 6, 51, 6, 6, 214, 214, 214, 4, 140, 8, 8, 135, 4, 4, 6, 4, 6, 134, 209, 209, 213, 214, 141, 135, 137, 135, 137, 135, 137, 135, @@ -2966,40 +2995,40 @@ static const yytype_uint8 yystos[] = 6, 142, 5, 214, 214, 214, 4, 6, 214, 7, 7, 7, 7, 214, 214, 214, 6, 7, 209, 209, 209, 141, 140, 142, 140, 142, 140, 142, 209, 214, - 209, 209, 211, 142, 141, 214, 217, 141, 6, 6, - 92, 209, 209, 209, 6, 7, 167, 152, 209, 140, - 140, 140, 142, 153, 209, 138, 214, 222, 209, 6, - 4, 219, 6, 137, 218, 6, 6, 6, 6, 221, - 140, 137, 209, 211, 6, 6, 6, 209, 209, 6, - 209, 5, 6, 6, 96, 170, 209, 6, 214, 214, - 214, 214, 6, 4, 6, 6, 209, 222, 142, 135, - 140, 142, 178, 211, 6, 191, 211, 6, 192, 211, - 6, 193, 142, 140, 135, 142, 140, 125, 211, 6, - 142, 209, 214, 140, 142, 8, 142, 135, 141, 209, - 222, 135, 140, 209, 209, 214, 141, 140, 142, 4, - 6, 6, 6, 7, 6, 138, 6, 209, 142, 142, - 142, 142, 5, 49, 6, 6, 6, 6, 6, 141, - 6, 6, 141, 209, 142, 140, 141, 140, 141, 140, - 141, 6, 214, 7, 141, 209, 140, 6, 142, 91, - 209, 209, 217, 6, 6, 156, 209, 140, 140, 213, - 209, 6, 218, 94, 140, 6, 6, 6, 6, 6, - 141, 213, 178, 140, 142, 209, 211, 200, 209, 211, - 200, 209, 211, 200, 140, 142, 214, 179, 142, 125, - 141, 211, 214, 209, 142, 142, 142, 141, 209, 209, - 142, 6, 209, 209, 142, 142, 209, 142, 140, 142, - 142, 140, 142, 142, 140, 142, 214, 6, 64, 142, - 188, 141, 141, 209, 140, 142, 6, 6, 153, 135, - 140, 6, 141, 140, 142, 6, 142, 6, 194, 209, - 6, 6, 195, 209, 6, 6, 196, 209, 6, 142, - 209, 200, 179, 211, 214, 6, 142, 159, 209, 213, - 209, 141, 142, 141, 142, 141, 142, 6, 6, 142, - 142, 189, 140, 142, 6, 141, 135, 142, 142, 200, - 6, 197, 200, 6, 198, 200, 6, 199, 200, 214, - 6, 157, 221, 162, 141, 6, 142, 141, 142, 141, - 142, 141, 142, 142, 140, 142, 141, 213, 6, 200, - 6, 200, 6, 200, 6, 221, 6, 160, 221, 142, - 142, 142, 142, 140, 142, 6, 6, 6, 6, 221, - 6 + 209, 209, 211, 142, 141, 214, 141, 141, 214, 217, + 141, 6, 6, 92, 209, 209, 209, 6, 7, 167, + 152, 209, 140, 140, 140, 142, 153, 209, 138, 214, + 222, 209, 6, 4, 219, 6, 137, 218, 6, 6, + 6, 6, 221, 140, 137, 209, 211, 6, 6, 6, + 209, 209, 6, 209, 5, 6, 6, 96, 170, 209, + 6, 214, 214, 214, 214, 6, 4, 6, 6, 209, + 222, 142, 135, 140, 142, 178, 211, 6, 191, 211, + 6, 192, 211, 6, 193, 142, 140, 135, 142, 140, + 125, 211, 6, 211, 211, 6, 142, 209, 214, 140, + 142, 8, 142, 135, 141, 209, 222, 135, 140, 209, + 209, 214, 141, 140, 142, 4, 6, 6, 6, 7, + 6, 138, 6, 209, 142, 142, 142, 142, 5, 49, + 6, 6, 6, 6, 6, 141, 6, 6, 141, 209, + 142, 140, 141, 140, 141, 140, 141, 6, 214, 7, + 141, 209, 140, 140, 140, 6, 142, 91, 209, 209, + 217, 6, 6, 156, 209, 140, 140, 213, 209, 6, + 218, 94, 140, 6, 6, 6, 6, 6, 141, 213, + 178, 140, 142, 209, 211, 200, 209, 211, 200, 209, + 211, 200, 140, 142, 214, 179, 142, 211, 217, 211, + 209, 142, 142, 142, 141, 209, 209, 142, 6, 209, + 209, 142, 142, 209, 142, 140, 142, 142, 140, 142, + 142, 140, 142, 214, 6, 64, 142, 188, 141, 140, + 142, 140, 6, 6, 153, 135, 140, 6, 141, 140, + 142, 6, 142, 6, 194, 209, 6, 6, 195, 209, + 6, 6, 196, 209, 6, 142, 209, 200, 179, 214, + 6, 211, 217, 142, 159, 209, 213, 209, 141, 142, + 141, 142, 141, 142, 6, 6, 142, 142, 189, 142, + 140, 142, 6, 141, 135, 142, 142, 200, 6, 197, + 200, 6, 198, 200, 6, 199, 200, 6, 217, 6, + 157, 221, 162, 141, 6, 142, 141, 142, 141, 142, + 141, 142, 142, 140, 142, 141, 213, 6, 200, 6, + 200, 6, 200, 6, 221, 6, 160, 221, 142, 142, + 142, 142, 140, 142, 6, 6, 6, 6, 221, 6 }; #define yyerrok (yyerrstatus = 0) @@ -5678,7 +5707,7 @@ yyreduce: case 140: #line 1725 "Gmsh.y" { - if(!strcmp((yyvsp[(2) - (8)].c), "plane") && List_Nbr((yyvsp[(7) - (8)].l)) == 4){ + if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){ int t = (int)(yyvsp[(4) - (8)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5692,7 +5721,79 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp((yyvsp[(2) - (8)].c), "union")){ + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (8)].d)); + ;} + break; + + case 141: +#line 1744 "Gmsh.y" + { + if(List_Nbr((yyvsp[(12) - (14)].l)) == 0){ + int t = (int)(yyvsp[(4) - (14)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double n[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetPlane(pt, n, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (14)].d)); + ;} + break; + + case 142: +#line 1762 "Gmsh.y" + { + if(List_Nbr((yyvsp[(14) - (16)].l)) == 0){ + int t = (int)(yyvsp[(4) - (16)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt1[3] = {(yyvsp[(8) - (16)].v)[0], (yyvsp[(8) - (16)].v)[1], (yyvsp[(8) - (16)].v)[2]}; + double pt2[3] = {(yyvsp[(10) - (16)].v)[0], (yyvsp[(10) - (16)].v)[1], (yyvsp[(10) - (16)].v)[2]}; + double pt3[3] = {(yyvsp[(12) - (16)].v)[0], (yyvsp[(12) - (16)].v)[1], (yyvsp[(12) - (16)].v)[2]}; + gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (16)].d)); + ;} + break; + + case 143: +#line 1781 "Gmsh.y" + { + if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){ + int t = (int)(yyvsp[(4) - (12)].d); + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read((yyvsp[(10) - (12)].l), 0, &d); + gLevelset *ls = new gLevelsetSphere((yyvsp[(8) - (12)].v)[0], (yyvsp[(8) - (12)].v)[1], (yyvsp[(8) - (12)].v)[2], d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (12)].d)); + ;} + break; + + case 144: +#line 1799 "Gmsh.y" + { + if(!strcmp((yyvsp[(2) - (8)].c), "Union")){ int t = (int)(yyvsp[(4) - (8)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5710,7 +5811,7 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp((yyvsp[(2) - (8)].c), "intersection")){ + else if(!strcmp((yyvsp[(2) - (8)].c), "Intersection")){ int t = (int)(yyvsp[(4) - (8)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5728,7 +5829,7 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp((yyvsp[(2) - (8)].c), "cut")){ + else if(!strcmp((yyvsp[(2) - (8)].c), "Cut")){ int t = (int)(yyvsp[(4) - (8)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5746,7 +5847,7 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp((yyvsp[(2) - (8)].c), "crack")){ + else if(!strcmp((yyvsp[(2) - (8)].c), "Crack")){ int t = (int)(yyvsp[(4) - (8)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5770,10 +5871,10 @@ yyreduce: ;} break; - case 141: -#line 1817 "Gmsh.y" + case 145: +#line 1877 "Gmsh.y" { - if(!strcmp((yyvsp[(2) - (6)].c), "cutMesh")){ + if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){ int t = (int)(yyvsp[(4) - (6)].d); GModel *GM = GModel::current(); GM->buildCutGModel(FindLevelSet(t)->ls); @@ -5785,60 +5886,25 @@ yyreduce: ;} break; - case 142: -#line 1829 "Gmsh.y" + case 146: +#line 1889 "Gmsh.y" { - if(!strcmp((yyvsp[(2) - (12)].c), "sphere") && List_Nbr((yyvsp[(10) - (12)].l)) == 1){ - int t = (int)(yyvsp[(4) - (12)].d); + if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ + int t = (int)(yyvsp[(4) - (14)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); } else { double d; - List_Read((yyvsp[(10) - (12)].l), 0, &d); - gLevelset *ls = new gLevelsetSphere((yyvsp[(8) - (12)].v)[0], (yyvsp[(8) - (12)].v)[1], (yyvsp[(8) - (12)].v)[2], d, t); + List_Read((yyvsp[(12) - (14)].l), 0, &d); + double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; + double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; + gLevelset *ls = new gLevelsetGenCylinder(pt, dir, d, t); LevelSet *l = Create_LevelSet(ls->getTag(), ls); Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else - yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (12)].d)); - Free((yyvsp[(2) - (12)].c)); - ;} - break; - - case 143: -#line 1848 "Gmsh.y" - { - if(!strcmp((yyvsp[(2) - (14)].c), "Plane") && List_Nbr((yyvsp[(12) - (14)].l)) == 0){ - int t = (int)(yyvsp[(4) - (14)].d); - if(FindLevelSet(t)){ - yymsg(0, "Levelset %d already exists", t); - } - else { - double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; - double n[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; - gLevelset *ls = new gLevelsetPlane(pt, n, t); - LevelSet *l = Create_LevelSet(ls->getTag(), ls); - Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); - } - } - if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ - int t = (int)(yyvsp[(4) - (14)].d); - if(FindLevelSet(t)){ - yymsg(0, "Levelset %d already exists", t); - } - else { - double d; - List_Read((yyvsp[(12) - (14)].l), 0, &d); - double pt[3] = {(yyvsp[(8) - (14)].v)[0], (yyvsp[(8) - (14)].v)[1], (yyvsp[(8) - (14)].v)[2]}; - double dir[3] = {(yyvsp[(10) - (14)].v)[0], (yyvsp[(10) - (14)].v)[1], (yyvsp[(10) - (14)].v)[2]}; - gLevelset *ls = new gLevelsetGenCylinder(pt, dir, d, t); - LevelSet *l = Create_LevelSet(ls->getTag(), ls); - Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); - } - } - if(!strcmp((yyvsp[(2) - (14)].c), "Cone") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ + else if(!strcmp((yyvsp[(2) - (14)].c), "Cone") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ int t = (int)(yyvsp[(4) - (14)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5853,7 +5919,7 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 2){ + else if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 2){ int t = (int)(yyvsp[(4) - (14)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5869,7 +5935,7 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 3){ + else if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 3){ int t = (int)(yyvsp[(4) - (14)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5885,7 +5951,7 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp((yyvsp[(2) - (14)].c), "Ellips") && List_Nbr((yyvsp[(12) - (14)].l)) == 3){ + else if(!strcmp((yyvsp[(2) - (14)].c), "Ellipsoid") && List_Nbr((yyvsp[(12) - (14)].l)) == 3){ int t = (int)(yyvsp[(4) - (14)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5901,7 +5967,7 @@ yyreduce: Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp((yyvsp[(2) - (14)].c), "Quadric") && List_Nbr((yyvsp[(12) - (14)].l)) == 5){ + else if(!strcmp((yyvsp[(2) - (14)].c), "Quadric") && List_Nbr((yyvsp[(12) - (14)].l)) == 5){ int t = (int)(yyvsp[(4) - (14)].d); if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -5923,31 +5989,8 @@ yyreduce: ;} break; - case 144: -#line 1961 "Gmsh.y" - { - if(!strcmp((yyvsp[(2) - (16)].c), "Plane") && List_Nbr((yyvsp[(14) - (16)].l)) == 0){ - int t = (int)(yyvsp[(4) - (16)].d); - if(FindLevelSet(t)){ - yymsg(0, "Levelset %d already exists", t); - } - else { - double pt1[3] = {(yyvsp[(8) - (16)].v)[0], (yyvsp[(8) - (16)].v)[1], (yyvsp[(8) - (16)].v)[2]}; - double pt2[3] = {(yyvsp[(10) - (16)].v)[0], (yyvsp[(10) - (16)].v)[1], (yyvsp[(10) - (16)].v)[2]}; - double pt3[3] = {(yyvsp[(12) - (16)].v)[0], (yyvsp[(12) - (16)].v)[1], (yyvsp[(12) - (16)].v)[2]}; - gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t); - LevelSet *l = Create_LevelSet(ls->getTag(), ls); - Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); - } - } - else - yymsg(0, "Wrong levelset definition (%d)", (yyvsp[(4) - (16)].d)); - Free((yyvsp[(2) - (16)].c)); - ;} - break; - - case 145: -#line 1986 "Gmsh.y" + case 147: +#line 1994 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5958,15 +6001,15 @@ yyreduce: ;} break; - case 146: -#line 1995 "Gmsh.y" + case 148: +#line 2003 "Gmsh.y" { GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); ;} break; - case 147: -#line 1999 "Gmsh.y" + case 149: +#line 2007 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -5983,8 +6026,8 @@ yyreduce: ;} break; - case 148: -#line 2014 "Gmsh.y" + case 150: +#line 2022 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ for(unsigned int i = 0; i < GModel::list.size(); i++){ @@ -6013,8 +6056,8 @@ yyreduce: ;} break; - case 149: -#line 2041 "Gmsh.y" + case 151: +#line 2049 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -6028,8 +6071,8 @@ yyreduce: ;} break; - case 150: -#line 2058 "Gmsh.y" + case 152: +#line 2066 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -6040,8 +6083,8 @@ yyreduce: ;} break; - case 151: -#line 2072 "Gmsh.y" + case 153: +#line 2080 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -6049,8 +6092,8 @@ yyreduce: ;} break; - case 152: -#line 2078 "Gmsh.y" + case 154: +#line 2086 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -6058,8 +6101,8 @@ yyreduce: ;} break; - case 153: -#line 2084 "Gmsh.y" + case 155: +#line 2092 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -6070,8 +6113,8 @@ yyreduce: ;} break; - case 154: -#line 2093 "Gmsh.y" + case 156: +#line 2101 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -6082,8 +6125,8 @@ yyreduce: ;} break; - case 155: -#line 2107 "Gmsh.y" + case 157: +#line 2115 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -6133,8 +6176,8 @@ yyreduce: ;} break; - case 156: -#line 2155 "Gmsh.y" + case 158: +#line 2163 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -6154,8 +6197,8 @@ yyreduce: ;} break; - case 157: -#line 2173 "Gmsh.y" + case 159: +#line 2181 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -6172,8 +6215,8 @@ yyreduce: ;} break; - case 158: -#line 2188 "Gmsh.y" + case 160: +#line 2196 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -6194,8 +6237,8 @@ yyreduce: ;} break; - case 159: -#line 2207 "Gmsh.y" + case 161: +#line 2215 "Gmsh.y" { #if !defined(HAVE_NO_POST) try { @@ -6209,8 +6252,8 @@ yyreduce: ;} break; - case 160: -#line 2219 "Gmsh.y" + case 162: +#line 2227 "Gmsh.y" { #if !defined(HAVE_NO_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -6236,15 +6279,15 @@ yyreduce: ;} break; - case 161: -#line 2243 "Gmsh.y" + case 163: +#line 2251 "Gmsh.y" { exit(0); ;} break; - case 162: -#line 2247 "Gmsh.y" + case 164: +#line 2255 "Gmsh.y" { // FIXME: this is a hack to force a transfer from the old DB to // the new DB. This will become unnecessary if/when we fill the @@ -6253,8 +6296,8 @@ yyreduce: ;} break; - case 163: -#line 2254 "Gmsh.y" + case 165: +#line 2262 "Gmsh.y" { CTX::instance()->forcedBBox = 0; GModel::current()->importGEOInternals(); @@ -6262,16 +6305,16 @@ yyreduce: ;} break; - case 164: -#line 2260 "Gmsh.y" + case 166: +#line 2268 "Gmsh.y" { CTX::instance()->forcedBBox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); ;} break; - case 165: -#line 2265 "Gmsh.y" + case 167: +#line 2273 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -6279,15 +6322,15 @@ yyreduce: ;} break; - case 166: -#line 2271 "Gmsh.y" + case 168: +#line 2279 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); ;} break; - case 167: -#line 2280 "Gmsh.y" + case 169: +#line 2288 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -6306,8 +6349,8 @@ yyreduce: ;} break; - case 168: -#line 2297 "Gmsh.y" + case 170: +#line 2305 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -6326,8 +6369,8 @@ yyreduce: ;} break; - case 169: -#line 2314 "Gmsh.y" + case 171: +#line 2322 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -6348,8 +6391,8 @@ yyreduce: ;} break; - case 170: -#line 2333 "Gmsh.y" + case 172: +#line 2341 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -6370,8 +6413,8 @@ yyreduce: ;} break; - case 171: -#line 2352 "Gmsh.y" + case 173: +#line 2360 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -6401,8 +6444,8 @@ yyreduce: ;} break; - case 172: -#line 2380 "Gmsh.y" + case 174: +#line 2388 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction ((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6412,8 +6455,8 @@ yyreduce: ;} break; - case 173: -#line 2388 "Gmsh.y" + case 175: +#line 2396 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6421,8 +6464,8 @@ yyreduce: ;} break; - case 174: -#line 2394 "Gmsh.y" + case 176: +#line 2402 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction ((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -6431,21 +6474,21 @@ yyreduce: ;} break; - case 175: -#line 2401 "Gmsh.y" + case 177: +#line 2409 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; - case 176: -#line 2405 "Gmsh.y" + case 178: +#line 2413 "Gmsh.y" { ;} break; - case 177: -#line 2414 "Gmsh.y" + case 179: +#line 2422 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -6455,8 +6498,8 @@ yyreduce: ;} break; - case 178: -#line 2422 "Gmsh.y" + case 180: +#line 2430 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -6466,8 +6509,8 @@ yyreduce: ;} break; - case 179: -#line 2430 "Gmsh.y" + case 181: +#line 2438 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -6477,15 +6520,15 @@ yyreduce: ;} break; - case 180: -#line 2438 "Gmsh.y" + case 182: +#line 2446 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 181: -#line 2442 "Gmsh.y" + case 183: +#line 2450 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6495,15 +6538,15 @@ yyreduce: ;} break; - case 182: -#line 2450 "Gmsh.y" + case 184: +#line 2458 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 183: -#line 2454 "Gmsh.y" + case 185: +#line 2462 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6513,15 +6556,15 @@ yyreduce: ;} break; - case 184: -#line 2462 "Gmsh.y" + case 186: +#line 2470 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 185: -#line 2466 "Gmsh.y" + case 187: +#line 2474 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6531,15 +6574,15 @@ yyreduce: ;} break; - case 186: -#line 2474 "Gmsh.y" + case 188: +#line 2482 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 187: -#line 2478 "Gmsh.y" + case 189: +#line 2486 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -6548,8 +6591,8 @@ yyreduce: ;} break; - case 188: -#line 2487 "Gmsh.y" + case 190: +#line 2495 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6558,8 +6601,8 @@ yyreduce: ;} break; - case 189: -#line 2494 "Gmsh.y" + case 191: +#line 2502 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6568,8 +6611,8 @@ yyreduce: ;} break; - case 190: -#line 2501 "Gmsh.y" + case 192: +#line 2509 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6578,8 +6621,8 @@ yyreduce: ;} break; - case 191: -#line 2508 "Gmsh.y" + case 193: +#line 2516 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6588,8 +6631,8 @@ yyreduce: ;} break; - case 192: -#line 2515 "Gmsh.y" + case 194: +#line 2523 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6598,8 +6641,8 @@ yyreduce: ;} break; - case 193: -#line 2522 "Gmsh.y" + case 195: +#line 2530 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6608,8 +6651,8 @@ yyreduce: ;} break; - case 194: -#line 2529 "Gmsh.y" + case 196: +#line 2537 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6618,8 +6661,8 @@ yyreduce: ;} break; - case 195: -#line 2536 "Gmsh.y" + case 197: +#line 2544 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6628,8 +6671,8 @@ yyreduce: ;} break; - case 196: -#line 2543 "Gmsh.y" + case 198: +#line 2551 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6638,15 +6681,15 @@ yyreduce: ;} break; - case 197: -#line 2550 "Gmsh.y" + case 199: +#line 2558 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 198: -#line 2554 "Gmsh.y" + case 200: +#line 2562 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6655,15 +6698,15 @@ yyreduce: ;} break; - case 199: -#line 2561 "Gmsh.y" + case 201: +#line 2569 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 200: -#line 2565 "Gmsh.y" + case 202: +#line 2573 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6672,15 +6715,15 @@ yyreduce: ;} break; - case 201: -#line 2572 "Gmsh.y" + case 203: +#line 2580 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 202: -#line 2576 "Gmsh.y" + case 204: +#line 2584 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6689,15 +6732,15 @@ yyreduce: ;} break; - case 203: -#line 2583 "Gmsh.y" + case 205: +#line 2591 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 204: -#line 2587 "Gmsh.y" + case 206: +#line 2595 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6706,15 +6749,15 @@ yyreduce: ;} break; - case 205: -#line 2594 "Gmsh.y" + case 207: +#line 2602 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 206: -#line 2598 "Gmsh.y" + case 208: +#line 2606 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6723,15 +6766,15 @@ yyreduce: ;} break; - case 207: -#line 2605 "Gmsh.y" + case 209: +#line 2613 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 208: -#line 2609 "Gmsh.y" + case 210: +#line 2617 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6740,15 +6783,15 @@ yyreduce: ;} break; - case 209: -#line 2616 "Gmsh.y" + case 211: +#line 2624 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 210: -#line 2620 "Gmsh.y" + case 212: +#line 2628 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6757,15 +6800,15 @@ yyreduce: ;} break; - case 211: -#line 2627 "Gmsh.y" + case 213: +#line 2635 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 212: -#line 2631 "Gmsh.y" + case 214: +#line 2639 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6774,15 +6817,15 @@ yyreduce: ;} break; - case 213: -#line 2638 "Gmsh.y" + case 215: +#line 2646 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 214: -#line 2642 "Gmsh.y" + case 216: +#line 2650 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6791,20 +6834,20 @@ yyreduce: ;} break; - case 215: -#line 2653 "Gmsh.y" + case 217: +#line 2661 "Gmsh.y" { ;} break; - case 216: -#line 2656 "Gmsh.y" + case 218: +#line 2664 "Gmsh.y" { ;} break; - case 217: -#line 2662 "Gmsh.y" + case 219: +#line 2670 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6815,8 +6858,8 @@ yyreduce: ;} break; - case 218: -#line 2671 "Gmsh.y" + case 220: +#line 2679 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -6838,8 +6881,8 @@ yyreduce: ;} break; - case 219: -#line 2691 "Gmsh.y" + case 221: +#line 2699 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -6864,15 +6907,15 @@ yyreduce: ;} break; - case 220: -#line 2714 "Gmsh.y" + case 222: +#line 2722 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; - case 221: -#line 2718 "Gmsh.y" + case 223: +#line 2726 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6893,15 +6936,15 @@ yyreduce: ;} break; - case 222: -#line 2741 "Gmsh.y" + case 224: +#line 2749 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} break; - case 223: -#line 2745 "Gmsh.y" + case 225: +#line 2753 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -6916,15 +6959,15 @@ yyreduce: ;} break; - case 224: -#line 2760 "Gmsh.y" + case 226: +#line 2768 "Gmsh.y" { (yyval.i) = -1; // left ;} break; - case 225: -#line 2764 "Gmsh.y" + case 227: +#line 2772 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -6936,36 +6979,36 @@ yyreduce: ;} break; - case 226: -#line 2776 "Gmsh.y" + case 228: +#line 2784 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; - case 227: -#line 2780 "Gmsh.y" + case 229: +#line 2788 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; - case 228: -#line 2785 "Gmsh.y" + case 230: +#line 2793 "Gmsh.y" { (yyval.i) = 45; ;} break; - case 229: -#line 2789 "Gmsh.y" + case 231: +#line 2797 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} break; - case 230: -#line 2796 "Gmsh.y" + case 232: +#line 2804 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -7023,8 +7066,8 @@ yyreduce: ;} break; - case 231: -#line 2852 "Gmsh.y" + case 233: +#line 2860 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -7096,16 +7139,16 @@ yyreduce: ;} break; - case 232: -#line 2922 "Gmsh.y" + case 234: +#line 2930 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); ;} break; - case 233: -#line 2927 "Gmsh.y" + case 235: +#line 2935 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -7174,8 +7217,8 @@ yyreduce: ;} break; - case 234: -#line 2994 "Gmsh.y" + case 236: +#line 3002 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -7220,8 +7263,8 @@ yyreduce: ;} break; - case 235: -#line 3037 "Gmsh.y" + case 237: +#line 3045 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -7243,8 +7286,8 @@ yyreduce: ;} break; - case 236: -#line 3063 "Gmsh.y" + case 238: +#line 3071 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -7269,8 +7312,8 @@ yyreduce: ;} break; - case 237: -#line 3086 "Gmsh.y" + case 239: +#line 3094 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -7295,27 +7338,27 @@ yyreduce: ;} break; - case 238: -#line 3109 "Gmsh.y" + case 240: +#line 3117 "Gmsh.y" { ;} break; - case 239: -#line 3112 "Gmsh.y" + case 241: +#line 3120 "Gmsh.y" { ;} break; - case 240: -#line 3121 "Gmsh.y" + case 242: +#line 3129 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; - case 241: -#line 3125 "Gmsh.y" + case 243: +#line 3133 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -7327,48 +7370,48 @@ yyreduce: ;} break; - case 242: -#line 3140 "Gmsh.y" + case 244: +#line 3148 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 243: -#line 3141 "Gmsh.y" + case 245: +#line 3149 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; - case 244: -#line 3142 "Gmsh.y" + case 246: +#line 3150 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; - case 245: -#line 3143 "Gmsh.y" + case 247: +#line 3151 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; - case 246: -#line 3144 "Gmsh.y" + case 248: +#line 3152 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; - case 247: -#line 3145 "Gmsh.y" + case 249: +#line 3153 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; - case 248: -#line 3146 "Gmsh.y" + case 250: +#line 3154 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; - case 249: -#line 3147 "Gmsh.y" + case 251: +#line 3155 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; - case 250: -#line 3149 "Gmsh.y" + case 252: +#line 3157 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -7377,308 +7420,308 @@ yyreduce: ;} break; - case 251: -#line 3155 "Gmsh.y" + case 253: +#line 3163 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; - case 252: -#line 3156 "Gmsh.y" + case 254: +#line 3164 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; - case 253: -#line 3157 "Gmsh.y" + case 255: +#line 3165 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; - case 254: -#line 3158 "Gmsh.y" + case 256: +#line 3166 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; - case 255: -#line 3159 "Gmsh.y" + case 257: +#line 3167 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; - case 256: -#line 3160 "Gmsh.y" + case 258: +#line 3168 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; - case 257: -#line 3161 "Gmsh.y" + case 259: +#line 3169 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; - case 258: -#line 3162 "Gmsh.y" + case 260: +#line 3170 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; - case 259: -#line 3163 "Gmsh.y" + case 261: +#line 3171 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; - case 260: -#line 3164 "Gmsh.y" + case 262: +#line 3172 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; - case 261: -#line 3165 "Gmsh.y" + case 263: +#line 3173 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; - case 262: -#line 3166 "Gmsh.y" + case 264: +#line 3174 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; - case 263: -#line 3167 "Gmsh.y" + case 265: +#line 3175 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; - case 264: -#line 3168 "Gmsh.y" + case 266: +#line 3176 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; - case 265: -#line 3169 "Gmsh.y" + case 267: +#line 3177 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; - case 266: -#line 3170 "Gmsh.y" + case 268: +#line 3178 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; - case 267: -#line 3171 "Gmsh.y" + case 269: +#line 3179 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; - case 268: -#line 3172 "Gmsh.y" + case 270: +#line 3180 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; - case 269: -#line 3173 "Gmsh.y" + case 271: +#line 3181 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; - case 270: -#line 3174 "Gmsh.y" + case 272: +#line 3182 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; - case 271: -#line 3175 "Gmsh.y" + case 273: +#line 3183 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; - case 272: -#line 3176 "Gmsh.y" + case 274: +#line 3184 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; - case 273: -#line 3177 "Gmsh.y" + case 275: +#line 3185 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; - case 274: -#line 3178 "Gmsh.y" + case 276: +#line 3186 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; - case 275: -#line 3179 "Gmsh.y" + case 277: +#line 3187 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; - case 276: -#line 3180 "Gmsh.y" + case 278: +#line 3188 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; - case 277: -#line 3181 "Gmsh.y" + case 279: +#line 3189 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; - case 278: -#line 3182 "Gmsh.y" + case 280: +#line 3190 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; - case 279: -#line 3183 "Gmsh.y" + case 281: +#line 3191 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 280: -#line 3184 "Gmsh.y" + case 282: +#line 3192 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 281: -#line 3185 "Gmsh.y" + case 283: +#line 3193 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; - case 282: -#line 3186 "Gmsh.y" + case 284: +#line 3194 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; - case 283: -#line 3188 "Gmsh.y" + case 285: +#line 3196 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; - case 284: -#line 3189 "Gmsh.y" + case 286: +#line 3197 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; - case 285: -#line 3190 "Gmsh.y" + case 287: +#line 3198 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; - case 286: -#line 3191 "Gmsh.y" + case 288: +#line 3199 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; - case 287: -#line 3192 "Gmsh.y" + case 289: +#line 3200 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; - case 288: -#line 3193 "Gmsh.y" + case 290: +#line 3201 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; - case 289: -#line 3194 "Gmsh.y" + case 291: +#line 3202 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; - case 290: -#line 3195 "Gmsh.y" + case 292: +#line 3203 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; - case 291: -#line 3196 "Gmsh.y" + case 293: +#line 3204 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; - case 292: -#line 3197 "Gmsh.y" + case 294: +#line 3205 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; - case 293: -#line 3198 "Gmsh.y" + case 295: +#line 3206 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; - case 294: -#line 3199 "Gmsh.y" + case 296: +#line 3207 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; - case 295: -#line 3200 "Gmsh.y" + case 297: +#line 3208 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; - case 296: -#line 3201 "Gmsh.y" + case 298: +#line 3209 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; - case 297: -#line 3202 "Gmsh.y" + case 299: +#line 3210 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; - case 298: -#line 3203 "Gmsh.y" + case 300: +#line 3211 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; - case 299: -#line 3204 "Gmsh.y" + case 301: +#line 3212 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; - case 300: -#line 3205 "Gmsh.y" + case 302: +#line 3213 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 301: -#line 3206 "Gmsh.y" + case 303: +#line 3214 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 302: -#line 3207 "Gmsh.y" + case 304: +#line 3215 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; - case 303: -#line 3208 "Gmsh.y" + case 305: +#line 3216 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; - case 304: -#line 3217 "Gmsh.y" + case 306: +#line 3225 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 305: -#line 3218 "Gmsh.y" + case 307: +#line 3226 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; - case 306: -#line 3219 "Gmsh.y" + case 308: +#line 3227 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; - case 307: -#line 3220 "Gmsh.y" + case 309: +#line 3228 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; - case 308: -#line 3221 "Gmsh.y" + case 310: +#line 3229 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; - case 309: -#line 3222 "Gmsh.y" + case 311: +#line 3230 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; - case 310: -#line 3223 "Gmsh.y" + case 312: +#line 3231 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; - case 311: -#line 3228 "Gmsh.y" + case 313: +#line 3236 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -7690,8 +7733,8 @@ yyreduce: ;} break; - case 312: -#line 3241 "Gmsh.y" + case 314: +#line 3249 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7705,8 +7748,8 @@ yyreduce: ;} break; - case 313: -#line 3253 "Gmsh.y" + case 315: +#line 3261 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -7723,8 +7766,8 @@ yyreduce: ;} break; - case 314: -#line 3268 "Gmsh.y" + case 316: +#line 3276 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -7736,8 +7779,8 @@ yyreduce: ;} break; - case 315: -#line 3278 "Gmsh.y" + case 317: +#line 3286 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -7749,8 +7792,8 @@ yyreduce: ;} break; - case 316: -#line 3288 "Gmsh.y" + case 318: +#line 3296 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -7767,24 +7810,24 @@ yyreduce: ;} break; - case 317: -#line 3306 "Gmsh.y" + case 319: +#line 3314 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); ;} break; - case 318: -#line 3311 "Gmsh.y" + case 320: +#line 3319 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); ;} break; - case 319: -#line 3316 "Gmsh.y" + case 321: +#line 3324 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -7796,8 +7839,8 @@ yyreduce: ;} break; - case 320: -#line 3326 "Gmsh.y" + case 322: +#line 3334 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -7809,124 +7852,124 @@ yyreduce: ;} break; - case 321: -#line 3336 "Gmsh.y" + case 323: +#line 3344 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); ;} break; - case 322: -#line 3344 "Gmsh.y" + case 324: +#line 3352 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; - case 323: -#line 3348 "Gmsh.y" + case 325: +#line 3356 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; - case 324: -#line 3352 "Gmsh.y" + case 326: +#line 3360 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; - case 325: -#line 3356 "Gmsh.y" + case 327: +#line 3364 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; - case 326: -#line 3360 "Gmsh.y" + case 328: +#line 3368 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; - case 327: -#line 3367 "Gmsh.y" + case 329: +#line 3375 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); ;} break; - case 328: -#line 3371 "Gmsh.y" + case 330: +#line 3379 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; ;} break; - case 329: -#line 3375 "Gmsh.y" + case 331: +#line 3383 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 330: -#line 3379 "Gmsh.y" + case 332: +#line 3387 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; ;} break; - case 331: -#line 3386 "Gmsh.y" + case 333: +#line 3394 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); ;} break; - case 332: -#line 3391 "Gmsh.y" + case 334: +#line 3399 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; - case 333: -#line 3398 "Gmsh.y" + case 335: +#line 3406 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 334: -#line 3403 "Gmsh.y" + case 336: +#line 3411 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 335: -#line 3407 "Gmsh.y" + case 337: +#line 3415 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); ;} break; - case 336: -#line 3412 "Gmsh.y" + case 338: +#line 3420 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 337: -#line 3416 "Gmsh.y" + case 339: +#line 3424 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7936,8 +7979,8 @@ yyreduce: ;} break; - case 338: -#line 3424 "Gmsh.y" + case 340: +#line 3432 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7947,15 +7990,15 @@ yyreduce: ;} break; - case 339: -#line 3435 "Gmsh.y" + case 341: +#line 3443 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 340: -#line 3439 "Gmsh.y" + case 342: +#line 3447 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -7966,8 +8009,8 @@ yyreduce: ;} break; - case 341: -#line 3451 "Gmsh.y" + case 343: +#line 3459 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7977,8 +8020,8 @@ yyreduce: ;} break; - case 342: -#line 3459 "Gmsh.y" + case 344: +#line 3467 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7988,8 +8031,8 @@ yyreduce: ;} break; - case 343: -#line 3467 "Gmsh.y" + case 345: +#line 3475 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); @@ -7998,8 +8041,8 @@ yyreduce: ;} break; - case 344: -#line 3474 "Gmsh.y" + case 346: +#line 3482 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -8012,8 +8055,8 @@ yyreduce: ;} break; - case 345: -#line 3485 "Gmsh.y" + case 347: +#line 3493 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -8035,8 +8078,8 @@ yyreduce: ;} break; - case 346: -#line 3505 "Gmsh.y" + case 348: +#line 3513 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -8048,8 +8091,8 @@ yyreduce: ;} break; - case 347: -#line 3515 "Gmsh.y" + case 349: +#line 3523 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -8061,8 +8104,8 @@ yyreduce: ;} break; - case 348: -#line 3525 "Gmsh.y" + case 350: +#line 3533 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -8074,8 +8117,8 @@ yyreduce: ;} break; - case 349: -#line 3535 "Gmsh.y" + case 351: +#line 3543 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -8094,30 +8137,30 @@ yyreduce: ;} break; - case 350: -#line 3555 "Gmsh.y" + case 352: +#line 3563 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 351: -#line 3560 "Gmsh.y" + case 353: +#line 3568 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 352: -#line 3564 "Gmsh.y" + case 354: +#line 3572 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; - case 353: -#line 3568 "Gmsh.y" + case 355: +#line 3576 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -8128,22 +8171,22 @@ yyreduce: ;} break; - case 354: -#line 3580 "Gmsh.y" + case 356: +#line 3588 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; - case 355: -#line 3584 "Gmsh.y" + case 357: +#line 3592 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; - case 356: -#line 3596 "Gmsh.y" + case 358: +#line 3604 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -8152,8 +8195,8 @@ yyreduce: ;} break; - case 357: -#line 3603 "Gmsh.y" + case 359: +#line 3611 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -8162,15 +8205,15 @@ yyreduce: ;} break; - case 358: -#line 3613 "Gmsh.y" + case 360: +#line 3621 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 359: -#line 3617 "Gmsh.y" + case 361: +#line 3625 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -8184,30 +8227,30 @@ yyreduce: ;} break; - case 360: -#line 3632 "Gmsh.y" + case 362: +#line 3640 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); ;} break; - case 361: -#line 3637 "Gmsh.y" + case 363: +#line 3645 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; - case 362: -#line 3644 "Gmsh.y" + case 364: +#line 3652 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 363: -#line 3648 "Gmsh.y" + case 365: +#line 3656 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -8222,8 +8265,8 @@ yyreduce: ;} break; - case 364: -#line 3661 "Gmsh.y" + case 366: +#line 3669 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -8233,8 +8276,8 @@ yyreduce: ;} break; - case 365: -#line 3669 "Gmsh.y" + case 367: +#line 3677 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -8244,15 +8287,15 @@ yyreduce: ;} break; - case 366: -#line 3680 "Gmsh.y" + case 368: +#line 3688 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 367: -#line 3684 "Gmsh.y" + case 369: +#line 3692 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -8262,8 +8305,8 @@ yyreduce: ;} break; - case 368: -#line 3692 "Gmsh.y" + case 370: +#line 3700 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c)) + strlen((yyvsp[(5) - (6)].c)) + 1) * sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -8273,8 +8316,8 @@ yyreduce: ;} break; - case 369: -#line 3700 "Gmsh.y" + case 371: +#line 3708 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -8290,8 +8333,8 @@ yyreduce: ;} break; - case 370: -#line 3714 "Gmsh.y" + case 372: +#line 3722 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -8307,15 +8350,15 @@ yyreduce: ;} break; - case 371: -#line 3728 "Gmsh.y" + case 373: +#line 3736 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; - case 372: -#line 3732 "Gmsh.y" + case 374: +#line 3740 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -8338,7 +8381,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 8342 "Gmsh.tab.cpp" +#line 8385 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8552,7 +8595,7 @@ yyreturn: } -#line 3752 "Gmsh.y" +#line 3760 "Gmsh.y" int PrintListOfDouble(char *format, List_T *list, char *buffer) diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 80f7e46f9ba9080071b8c827036936c63d4dd303..5a8f91bead99fb9030442f74a53d2a93c63ca2e2 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1721,9 +1721,9 @@ ListOfShapes : // L E V E L S E T LevelSet : - tLevelset tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND + tLevelset tPlane '(' FExpr ')' tAFFECT ListOfDouble tEND { - if(!strcmp($2, "plane") && List_Nbr($7) == 4){ + if(List_Nbr($7) == 4){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1737,7 +1737,67 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp($2, "union")){ + else + yymsg(0, "Wrong levelset definition (%d)", $4); + } + | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND + { + if(List_Nbr($12) == 0){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt[3] = {$8[0], $8[1], $8[2]}; + double n[3] = {$10[0], $10[1], $10[2]}; + gLevelset *ls = new gLevelsetPlane(pt, n, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", $4); + } + | tLevelset tPlane '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' RecursiveListOfDouble '}' tEND + { + if(List_Nbr($14) == 0){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double pt1[3] = {$8[0], $8[1], $8[2]}; + double pt2[3] = {$10[0], $10[1], $10[2]}; + double pt3[3] = {$12[0], $12[1], $12[2]}; + gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", $4); + } + | tLevelset tSphere '(' FExpr ')' tAFFECT '{' VExpr ',' RecursiveListOfDouble '}' tEND + { + if(List_Nbr($10) == 1){ + int t = (int)$4; + if(FindLevelSet(t)){ + yymsg(0, "Levelset %d already exists", t); + } + else { + double d; + List_Read($10, 0, &d); + gLevelset *ls = new gLevelsetSphere($8[0], $8[1], $8[2], d, t); + LevelSet *l = Create_LevelSet(ls->getTag(), ls); + Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); + } + } + else + yymsg(0, "Wrong levelset definition (%d)", $4); + } + | tLevelset tSTRING '(' FExpr ')' tAFFECT ListOfDouble tEND + { + if(!strcmp($2, "Union")){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1755,7 +1815,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp($2, "intersection")){ + else if(!strcmp($2, "Intersection")){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1773,7 +1833,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp($2, "cut")){ + else if(!strcmp($2, "Cut")){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1791,7 +1851,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - else if(!strcmp($2, "crack")){ + else if(!strcmp($2, "Crack")){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1815,7 +1875,7 @@ LevelSet : } | tLevelset tSTRING '{' FExpr '}' tEND { - if(!strcmp($2, "cutMesh")){ + if(!strcmp($2, "CutMesh")){ int t = (int)$4; GModel *GM = GModel::current(); GM->buildCutGModel(FindLevelSet(t)->ls); @@ -1825,40 +1885,8 @@ LevelSet : yymsg(0, "Wrong levelset definition"); Free($2); } - | tLevelset tSTRING '(' FExpr ')' tAFFECT '{' VExpr ',' ListOfDouble '}' tEND - { - if(!strcmp($2, "sphere") && List_Nbr($10) == 1){ - int t = (int)$4; - if(FindLevelSet(t)){ - yymsg(0, "Levelset %d already exists", t); - } - else { - double d; - List_Read($10, 0, &d); - gLevelset *ls = new gLevelsetSphere($8[0], $8[1], $8[2], d, t); - LevelSet *l = Create_LevelSet(ls->getTag(), ls); - Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); - } - } - else - yymsg(0, "Wrong levelset definition (%d)", $4); - Free($2); - } | tLevelset tSTRING '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' ListOfDouble '}' tEND { - if(!strcmp($2, "Plane") && List_Nbr($12) == 0){ - int t = (int)$4; - if(FindLevelSet(t)){ - yymsg(0, "Levelset %d already exists", t); - } - else { - double pt[3] = {$8[0], $8[1], $8[2]}; - double n[3] = {$10[0], $10[1], $10[2]}; - gLevelset *ls = new gLevelsetPlane(pt, n, t); - LevelSet *l = Create_LevelSet(ls->getTag(), ls); - Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); - } - } if(!strcmp($2, "Cylinder") && List_Nbr($12) == 1){ int t = (int)$4; if(FindLevelSet(t)){ @@ -1874,7 +1902,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp($2, "Cone") && List_Nbr($12) == 1){ + else if(!strcmp($2, "Cone") && List_Nbr($12) == 1){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1889,7 +1917,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp($2, "Cylinder") && List_Nbr($12) == 2){ + else if(!strcmp($2, "Cylinder") && List_Nbr($12) == 2){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1905,7 +1933,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp($2, "Cylinder") && List_Nbr($12) == 3){ + else if(!strcmp($2, "Cylinder") && List_Nbr($12) == 3){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1921,7 +1949,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp($2, "Ellips") && List_Nbr($12) == 3){ + else if(!strcmp($2, "Ellipsoid") && List_Nbr($12) == 3){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1937,7 +1965,7 @@ LevelSet : Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); } } - if(!strcmp($2, "Quadric") && List_Nbr($12) == 5){ + else if(!strcmp($2, "Quadric") && List_Nbr($12) == 5){ int t = (int)$4; if(FindLevelSet(t)){ yymsg(0, "Levelset %d already exists", t); @@ -1957,26 +1985,6 @@ LevelSet : yymsg(0, "Wrong levelset definition (%d)", $4); Free($2); } - | tLevelset tSTRING '(' FExpr ')' tAFFECT '{' VExpr ',' VExpr ',' VExpr ',' ListOfDouble '}' tEND - { - if(!strcmp($2, "Plane") && List_Nbr($14) == 0){ - int t = (int)$4; - if(FindLevelSet(t)){ - yymsg(0, "Levelset %d already exists", t); - } - else { - double pt1[3] = {$8[0], $8[1], $8[2]}; - double pt2[3] = {$10[0], $10[1], $10[2]}; - double pt3[3] = {$12[0], $12[1], $12[2]}; - gLevelset *ls = new gLevelsetPlane(pt1, pt2, pt3, t); - LevelSet *l = Create_LevelSet(ls->getTag(), ls); - Tree_Add(GModel::current()->getGEOInternals()->LevelSets, &l); - } - } - else - yymsg(0, "Wrong levelset definition (%d)", $4); - Free($2); - } ; // D E L E T E