diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index 183a9457d4c9a8c2666e8b61940bbbaabf314549..c05e6c2b8d50d4cf78a468c1c0bfa5f956bb4693 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -1,4 +1,4 @@ -// $Id: Geo.cpp,v 1.109 2008-03-20 11:44:05 geuzaine Exp $ +// $Id: Geo.cpp,v 1.110 2008-04-24 17:29:47 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -608,6 +608,7 @@ Surface *Create_Surface(int Num, int Typ) pS->Visible = 1; pS->Num = Num; pS->geometry = 0; + pS->RuledSurfaceOptions = 0; GModel::current()->getGEOInternals()->MaxSurfaceNum = IMAX(GModel::current()->getGEOInternals()->MaxSurfaceNum, Num); diff --git a/Geo/Geo.h b/Geo/Geo.h index bf2fa979828ca842add89f9a028ba68d1705f298..d753c0136371beaeaf815489e485d9f0ec1fb1b0 100644 --- a/Geo/Geo.h +++ b/Geo/Geo.h @@ -161,6 +161,7 @@ typedef struct{ List_T *EmbeddedPoints; List_T *Control_Points; List_T *TrsfPoints; + List_T *RuledSurfaceOptions; double plan[3][3]; double a, b, c, d; ExtrudeParams *Extrude; diff --git a/Geo/GeoInterpolation.cpp b/Geo/GeoInterpolation.cpp index 2da67eb3ca9930ff192f8ad8ae584bd3cfb4cc43..c4ddf01ebfbc35fdda734ee9ca586f897c296c54 100644 --- a/Geo/GeoInterpolation.cpp +++ b/Geo/GeoInterpolation.cpp @@ -1,4 +1,4 @@ -// $Id: GeoInterpolation.cpp,v 1.34 2008-03-20 11:44:05 geuzaine Exp $ +// $Id: GeoInterpolation.cpp,v 1.35 2008-04-24 17:29:47 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -458,37 +458,52 @@ void TransfiniteSph(Vertex S, Vertex center, Vertex *T) Vertex InterpolateRuledSurface(Surface *s, double u, double v) { Curve *C[4] = {0, 0, 0, 0}; - Vertex *O = 0; - bool isSphere = true; - for(int i = 0; i < std::min(List_Nbr(s->Generatrices), 4); i++) { + + for(int i = 0; i < std::min(List_Nbr(s->Generatrices), 4); i++) List_Read(s->Generatrices, i, &C[i]); - if(C[i]->Typ != MSH_SEGM_CIRC && C[i]->Typ != MSH_SEGM_CIRC_INV){ - isSphere = false; - } - else if(isSphere){ - if(!i){ - List_Read(C[i]->Control_Points, 1, &O); + + Vertex *O = 0, OO; + bool isSphere = true; + + // Ugly hack: "fix" transfinite interpolation if we have a sphere + // patch + if(List_Nbr(s->RuledSurfaceOptions) == 3) { + // it's on a sphere: get the center + List_Read(s->RuledSurfaceOptions, 0, &OO.Pos.X); + List_Read(s->RuledSurfaceOptions, 1, &OO.Pos.Y); + List_Read(s->RuledSurfaceOptions, 2, &OO.Pos.Z); + O = &OO; + } + else{ + // try to be intelligent (hum) + for(int i = 0; i < std::min(List_Nbr(s->Generatrices), 4); i++) { + if(C[i]->Typ != MSH_SEGM_CIRC && C[i]->Typ != MSH_SEGM_CIRC_INV){ + isSphere = false; } - else{ - Vertex *tmp; - List_Read(C[i]->Control_Points, 1, &tmp); - if(compareVertex(&O, &tmp)) - isSphere = false; + else if(isSphere){ + if(!i){ + List_Read(C[i]->Control_Points, 1, &O); + } + else{ + Vertex *tmp; + List_Read(C[i]->Control_Points, 1, &tmp); + if(compareVertex(&O, &tmp)) + isSphere = false; + } } } - } - - if(isSphere){ - double n[3] = {C[0]->Circle.invmat[0][2], - C[0]->Circle.invmat[1][2], - C[0]->Circle.invmat[2][2]}; - bool isPlane = true; - for(int i = 1; i < std::min(List_Nbr(s->Generatrices), 4); i++) - isPlane &= (n[0] == C[i]->Circle.invmat[0][2] && - n[1] == C[i]->Circle.invmat[1][2] && - n[2] == C[i]->Circle.invmat[2][2]); - if(isPlane) - isSphere = false; + if(isSphere){ + double n[3] = {C[0]->Circle.invmat[0][2], + C[0]->Circle.invmat[1][2], + C[0]->Circle.invmat[2][2]}; + bool isPlane = true; + for(int i = 1; i < std::min(List_Nbr(s->Generatrices), 4); i++) + isPlane &= (n[0] == C[i]->Circle.invmat[0][2] && + n[1] == C[i]->Circle.invmat[1][2] && + n[2] == C[i]->Circle.invmat[2][2]); + if(isPlane) + isSphere = false; + } } Vertex *S[4], V[4], T; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index a3d08057ed0c7a80c84d7aca495228d80964161a..b45d6b10520efb32403b9e0092fdc97d2a9f9b74 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -324,7 +324,7 @@ /* Copy the first part of user declarations. */ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.359 2008-04-22 07:37:10 geuzaine Exp $ +// $Id: Gmsh.tab.cpp,v 1.360 2008-04-24 17:29:47 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -660,16 +660,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 6241 +#define YYLAST 6214 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 143 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 68 +#define YYNNTS 69 /* YYNRULES -- Number of rules. */ -#define YYNRULES 350 +#define YYNRULES 352 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1244 +#define YYNSTATES 1250 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -734,246 +734,247 @@ static const yytype_uint16 yyprhs[] = 183, 192, 207, 208, 215, 217, 219, 221, 223, 225, 227, 229, 234, 242, 252, 259, 266, 270, 277, 282, 289, 299, 306, 316, 322, 331, 340, 352, 359, 369, - 375, 383, 393, 403, 415, 425, 435, 437, 439, 447, - 456, 463, 471, 479, 487, 497, 505, 515, 533, 541, - 549, 561, 570, 579, 588, 597, 601, 606, 617, 625, - 633, 642, 651, 660, 668, 677, 683, 695, 701, 711, - 716, 726, 731, 733, 735, 736, 739, 746, 753, 760, - 767, 772, 779, 786, 790, 795, 801, 805, 809, 814, - 819, 823, 831, 839, 843, 851, 855, 858, 861, 877, - 880, 887, 896, 905, 916, 918, 921, 923, 927, 932, - 934, 940, 952, 966, 967, 975, 976, 990, 991, 1007, - 1008, 1015, 1016, 1027, 1036, 1045, 1054, 1067, 1080, 1093, - 1108, 1123, 1138, 1139, 1152, 1153, 1166, 1167, 1180, 1181, - 1198, 1199, 1216, 1217, 1234, 1235, 1254, 1255, 1274, 1275, - 1294, 1296, 1299, 1305, 1313, 1323, 1326, 1336, 1343, 1353, - 1363, 1372, 1382, 1391, 1400, 1407, 1412, 1419, 1430, 1441, - 1452, 1463, 1466, 1468, 1472, 1475, 1478, 1481, 1485, 1489, + 375, 383, 393, 403, 415, 425, 435, 437, 439, 440, + 446, 454, 463, 470, 478, 486, 494, 504, 512, 522, + 540, 548, 556, 568, 577, 586, 595, 605, 609, 614, + 625, 633, 641, 650, 659, 668, 676, 685, 691, 703, + 709, 719, 724, 734, 739, 741, 743, 744, 747, 754, + 761, 768, 775, 780, 787, 794, 798, 803, 809, 813, + 817, 822, 827, 831, 839, 847, 851, 859, 863, 866, + 869, 885, 888, 895, 904, 913, 924, 926, 929, 931, + 935, 940, 942, 948, 960, 974, 975, 983, 984, 998, + 999, 1015, 1016, 1023, 1024, 1035, 1044, 1053, 1062, 1075, + 1088, 1101, 1116, 1131, 1146, 1147, 1160, 1161, 1174, 1175, + 1188, 1189, 1206, 1207, 1224, 1225, 1242, 1243, 1262, 1263, + 1282, 1283, 1302, 1304, 1307, 1313, 1321, 1331, 1334, 1344, + 1351, 1361, 1371, 1380, 1390, 1399, 1408, 1415, 1420, 1427, + 1438, 1449, 1460, 1471, 1474, 1476, 1480, 1483, 1486, 1489, 1493, 1497, 1501, 1505, 1509, 1513, 1517, 1521, 1525, 1529, - 1533, 1537, 1543, 1548, 1553, 1558, 1563, 1568, 1573, 1578, - 1583, 1588, 1593, 1600, 1605, 1610, 1615, 1620, 1625, 1630, - 1637, 1644, 1651, 1656, 1661, 1666, 1671, 1676, 1681, 1686, - 1691, 1696, 1701, 1706, 1713, 1718, 1723, 1728, 1733, 1738, - 1743, 1750, 1757, 1764, 1769, 1771, 1773, 1775, 1777, 1779, - 1781, 1783, 1785, 1791, 1796, 1801, 1804, 1810, 1814, 1821, - 1826, 1834, 1841, 1843, 1846, 1849, 1853, 1857, 1869, 1879, - 1887, 1895, 1897, 1901, 1903, 1905, 1908, 1912, 1917, 1923, - 1926, 1930, 1934, 1940, 1945, 1947, 1949, 1953, 1960, 1962, - 1964, 1968, 1972, 1982, 1990, 1992, 1998, 2002, 2009, 2011, - 2015, 2017, 2019, 2021, 2023, 2030, 2035, 2040, 2045, 2052, - 2059 + 1533, 1537, 1541, 1545, 1551, 1556, 1561, 1566, 1571, 1576, + 1581, 1586, 1591, 1596, 1601, 1608, 1613, 1618, 1623, 1628, + 1633, 1638, 1645, 1652, 1659, 1664, 1669, 1674, 1679, 1684, + 1689, 1694, 1699, 1704, 1709, 1714, 1721, 1726, 1731, 1736, + 1741, 1746, 1751, 1758, 1765, 1772, 1777, 1779, 1781, 1783, + 1785, 1787, 1789, 1791, 1793, 1799, 1804, 1809, 1812, 1818, + 1822, 1829, 1834, 1842, 1849, 1851, 1854, 1857, 1861, 1865, + 1877, 1887, 1895, 1903, 1905, 1909, 1911, 1913, 1916, 1920, + 1925, 1931, 1934, 1938, 1942, 1948, 1953, 1955, 1957, 1961, + 1968, 1970, 1972, 1976, 1980, 1990, 1998, 2000, 2006, 2010, + 2017, 2019, 2023, 2025, 2027, 2029, 2031, 2038, 2043, 2048, + 2053, 2060, 2067 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 144, 0, -1, 145, -1, 1, 6, -1, -1, 145, - 146, -1, 149, -1, 148, -1, 167, -1, 169, -1, - 170, -1, 173, -1, 174, -1, 175, -1, 178, -1, - 195, -1, 196, -1, 197, -1, 177, -1, 176, -1, + 146, -1, 149, -1, 148, -1, 167, -1, 170, -1, + 171, -1, 174, -1, 175, -1, 176, -1, 179, -1, + 196, -1, 197, -1, 198, -1, 178, -1, 177, -1, 120, -1, 120, 120, -1, 35, 133, 5, 134, 6, - -1, 35, 133, 5, 134, 147, 209, 6, -1, 35, - 133, 5, 139, 205, 134, 6, -1, 35, 133, 5, - 139, 205, 134, 147, 209, 6, -1, 4, 5, 140, - 150, 141, 6, -1, 80, 4, 135, 198, 136, 6, - -1, 81, 4, 135, 198, 136, 6, -1, -1, 150, + -1, 35, 133, 5, 134, 147, 210, 6, -1, 35, + 133, 5, 139, 206, 134, 6, -1, 35, 133, 5, + 139, 206, 134, 147, 210, 6, -1, 4, 5, 140, + 150, 141, 6, -1, 80, 4, 135, 199, 136, 6, + -1, 81, 4, 135, 199, 136, 6, -1, -1, 150, 153, -1, 150, 157, -1, 150, 160, -1, 150, 162, - -1, 150, 163, -1, 198, -1, 151, 139, 198, -1, - 198, -1, 152, 139, 198, -1, -1, -1, 4, 154, - 133, 151, 134, 155, 140, 152, 141, 6, -1, 209, - -1, 156, 139, 209, -1, -1, 82, 133, 198, 139, - 198, 139, 198, 134, 158, 140, 156, 141, 6, -1, - 209, -1, 159, 139, 209, -1, -1, 83, 133, 198, - 139, 198, 139, 198, 139, 198, 134, 161, 140, 159, - 141, 6, -1, 84, 140, 202, 141, 140, 202, 141, - 6, -1, 84, 140, 202, 141, 140, 202, 141, 140, - 202, 141, 140, 202, 141, 6, -1, -1, 85, 164, + -1, 150, 163, -1, 199, -1, 151, 139, 199, -1, + 199, -1, 152, 139, 199, -1, -1, -1, 4, 154, + 133, 151, 134, 155, 140, 152, 141, 6, -1, 210, + -1, 156, 139, 210, -1, -1, 82, 133, 199, 139, + 199, 139, 199, 134, 158, 140, 156, 141, 6, -1, + 210, -1, 159, 139, 210, -1, -1, 83, 133, 199, + 139, 199, 139, 199, 139, 199, 134, 161, 140, 159, + 141, 6, -1, 84, 140, 203, 141, 140, 203, 141, + 6, -1, 84, 140, 203, 141, 140, 203, 141, 140, + 203, 141, 140, 203, 141, 6, -1, -1, 85, 164, 140, 152, 141, 6, -1, 7, -1, 113, -1, 112, -1, 111, -1, 110, -1, 131, -1, 130, -1, 4, - 165, 198, 6, -1, 4, 135, 198, 136, 165, 198, - 6, -1, 4, 135, 140, 205, 141, 136, 165, 203, - 6, -1, 4, 135, 136, 7, 203, 6, -1, 4, - 135, 136, 113, 203, 6, -1, 4, 166, 6, -1, - 4, 135, 198, 136, 166, 6, -1, 4, 7, 210, - 6, -1, 4, 137, 4, 7, 210, 6, -1, 4, - 135, 198, 136, 137, 4, 7, 210, 6, -1, 4, - 137, 4, 165, 198, 6, -1, 4, 135, 198, 136, - 137, 4, 165, 198, 6, -1, 4, 137, 4, 166, - 6, -1, 4, 135, 198, 136, 137, 4, 166, 6, - -1, 4, 137, 92, 137, 4, 7, 206, 6, -1, - 4, 135, 198, 136, 137, 92, 137, 4, 7, 206, - 6, -1, 4, 137, 93, 7, 207, 6, -1, 4, - 135, 198, 136, 137, 93, 7, 207, 6, -1, 4, - 100, 7, 198, 6, -1, 100, 135, 198, 136, 7, - 4, 6, -1, 100, 135, 198, 136, 137, 4, 7, - 198, 6, -1, 100, 135, 198, 136, 137, 4, 7, - 210, 6, -1, 100, 135, 198, 136, 137, 4, 7, - 140, 205, 141, 6, -1, 64, 133, 4, 134, 137, - 4, 7, 198, 6, -1, 64, 133, 4, 134, 137, - 4, 7, 210, 6, -1, 198, -1, 210, -1, 43, - 133, 198, 134, 7, 200, 6, -1, 60, 43, 133, - 168, 134, 7, 203, 6, -1, 52, 53, 203, 7, - 198, 6, -1, 46, 133, 198, 134, 7, 203, 6, - -1, 50, 133, 198, 134, 7, 203, 6, -1, 44, - 133, 198, 134, 7, 203, 6, -1, 44, 133, 198, - 134, 7, 203, 56, 200, 6, -1, 45, 133, 198, - 134, 7, 203, 6, -1, 45, 133, 198, 134, 7, - 203, 56, 200, 6, -1, 54, 133, 198, 134, 7, - 140, 198, 139, 198, 139, 5, 139, 5, 139, 5, - 141, 6, -1, 87, 133, 198, 134, 7, 203, 6, - -1, 88, 133, 198, 134, 7, 203, 6, -1, 89, - 133, 198, 134, 7, 203, 91, 203, 90, 198, 6, - -1, 46, 71, 133, 198, 134, 7, 203, 6, -1, - 60, 46, 133, 168, 134, 7, 203, 6, -1, 56, - 49, 133, 198, 134, 7, 203, 6, -1, 57, 49, - 133, 198, 134, 7, 203, 6, -1, 12, 13, 6, - -1, 13, 49, 198, 6, -1, 54, 49, 133, 198, - 134, 7, 5, 5, 5, 6, -1, 47, 133, 198, - 134, 7, 203, 6, -1, 48, 133, 198, 134, 7, - 203, 6, -1, 49, 71, 133, 198, 134, 7, 203, - 6, -1, 60, 49, 133, 168, 134, 7, 203, 6, - -1, 59, 51, 133, 198, 134, 7, 203, 6, -1, - 51, 133, 198, 134, 7, 203, 6, -1, 60, 51, - 133, 168, 134, 7, 203, 6, -1, 66, 200, 140, - 171, 141, -1, 65, 140, 200, 139, 200, 139, 198, - 141, 140, 171, 141, -1, 67, 200, 140, 171, 141, - -1, 68, 140, 200, 139, 198, 141, 140, 171, 141, - -1, 70, 140, 171, 141, -1, 76, 46, 140, 205, - 141, 49, 140, 198, 141, -1, 77, 140, 171, 141, - -1, 172, -1, 170, -1, -1, 172, 169, -1, 172, - 43, 140, 205, 141, 6, -1, 172, 46, 140, 205, - 141, 6, -1, 172, 49, 140, 205, 141, 6, -1, - 172, 51, 140, 205, 141, 6, -1, 74, 140, 172, - 141, -1, 74, 100, 135, 198, 136, 6, -1, 74, - 4, 135, 198, 136, 6, -1, 74, 4, 6, -1, - 74, 4, 4, 6, -1, 92, 206, 140, 172, 141, - -1, 104, 209, 6, -1, 105, 209, 6, -1, 104, - 140, 172, 141, -1, 105, 140, 172, 141, -1, 4, - 210, 6, -1, 4, 4, 135, 198, 136, 209, 6, - -1, 4, 4, 4, 135, 198, 136, 6, -1, 4, - 198, 6, -1, 64, 133, 4, 134, 137, 4, 6, - -1, 86, 4, 6, -1, 99, 6, -1, 40, 6, - -1, 40, 140, 198, 139, 198, 139, 198, 139, 198, - 139, 198, 139, 198, 141, 6, -1, 41, 6, -1, - 94, 133, 198, 8, 198, 134, -1, 94, 133, 198, - 8, 198, 8, 198, 134, -1, 94, 4, 95, 140, - 198, 8, 198, 141, -1, 94, 4, 95, 140, 198, - 8, 198, 8, 198, 141, -1, 96, -1, 103, 4, - -1, 101, -1, 102, 4, 6, -1, 97, 133, 198, - 134, -1, 98, -1, 69, 200, 140, 172, 141, -1, - 69, 140, 200, 139, 200, 139, 198, 141, 140, 172, - 141, -1, 69, 140, 200, 139, 200, 139, 200, 139, - 198, 141, 140, 172, 141, -1, -1, 69, 200, 140, - 172, 179, 193, 141, -1, -1, 69, 140, 200, 139, - 200, 139, 198, 141, 140, 172, 180, 193, 141, -1, - -1, 69, 140, 200, 139, 200, 139, 200, 139, 198, - 141, 140, 172, 181, 193, 141, -1, -1, 69, 140, - 172, 182, 193, 141, -1, -1, 69, 4, 135, 198, - 136, 140, 172, 183, 193, 141, -1, 69, 43, 140, - 198, 139, 200, 141, 6, -1, 69, 46, 140, 198, - 139, 200, 141, 6, -1, 69, 49, 140, 198, 139, - 200, 141, 6, -1, 69, 43, 140, 198, 139, 200, - 139, 200, 139, 198, 141, 6, -1, 69, 46, 140, - 198, 139, 200, 139, 200, 139, 198, 141, 6, -1, - 69, 49, 140, 198, 139, 200, 139, 200, 139, 198, - 141, 6, -1, 69, 43, 140, 198, 139, 200, 139, - 200, 139, 200, 139, 198, 141, 6, -1, 69, 46, - 140, 198, 139, 200, 139, 200, 139, 200, 139, 198, - 141, 6, -1, 69, 49, 140, 198, 139, 200, 139, - 200, 139, 200, 139, 198, 141, 6, -1, -1, 69, - 43, 140, 198, 139, 200, 141, 184, 140, 193, 141, - 6, -1, -1, 69, 46, 140, 198, 139, 200, 141, - 185, 140, 193, 141, 6, -1, -1, 69, 49, 140, - 198, 139, 200, 141, 186, 140, 193, 141, 6, -1, - -1, 69, 43, 140, 198, 139, 200, 139, 200, 139, - 198, 141, 187, 140, 193, 141, 6, -1, -1, 69, - 46, 140, 198, 139, 200, 139, 200, 139, 198, 141, - 188, 140, 193, 141, 6, -1, -1, 69, 49, 140, - 198, 139, 200, 139, 200, 139, 198, 141, 189, 140, - 193, 141, 6, -1, -1, 69, 43, 140, 198, 139, - 200, 139, 200, 139, 200, 139, 198, 141, 190, 140, - 193, 141, 6, -1, -1, 69, 46, 140, 198, 139, - 200, 139, 200, 139, 200, 139, 198, 141, 191, 140, - 193, 141, 6, -1, -1, 69, 49, 140, 198, 139, - 200, 139, 200, 139, 200, 139, 198, 141, 192, 140, - 193, 141, 6, -1, 194, -1, 193, 194, -1, 78, - 140, 198, 141, 6, -1, 78, 140, 203, 139, 203, - 141, 6, -1, 78, 140, 203, 139, 203, 139, 203, - 141, 6, -1, 72, 6, -1, 79, 133, 198, 134, - 7, 203, 61, 198, 6, -1, 58, 46, 203, 7, - 198, 6, -1, 58, 46, 203, 7, 198, 61, 63, - 198, 6, -1, 58, 46, 203, 7, 198, 61, 62, - 198, 6, -1, 58, 49, 140, 198, 141, 7, 203, - 6, -1, 58, 49, 140, 198, 141, 7, 203, 4, - 6, -1, 55, 49, 140, 198, 141, 7, 203, 6, - -1, 58, 51, 140, 198, 141, 7, 203, 6, -1, - 72, 49, 203, 7, 198, 6, -1, 72, 49, 203, - 6, -1, 73, 49, 203, 7, 198, 6, -1, 43, - 140, 205, 141, 95, 49, 140, 198, 141, 6, -1, - 46, 140, 205, 141, 95, 49, 140, 198, 141, 6, - -1, 46, 140, 205, 141, 95, 51, 140, 198, 141, - 6, -1, 49, 140, 205, 141, 95, 51, 140, 198, - 141, 6, -1, 75, 6, -1, 199, -1, 133, 198, - 134, -1, 124, 198, -1, 123, 198, -1, 128, 198, - -1, 198, 124, 198, -1, 198, 123, 198, -1, 198, - 125, 198, -1, 198, 126, 198, -1, 198, 127, 198, - -1, 198, 132, 198, -1, 198, 119, 198, -1, 198, - 120, 198, -1, 198, 122, 198, -1, 198, 121, 198, - -1, 198, 118, 198, -1, 198, 117, 198, -1, 198, - 116, 198, -1, 198, 115, 198, -1, 198, 114, 198, - 8, 198, -1, 14, 133, 198, 134, -1, 15, 133, - 198, 134, -1, 16, 133, 198, 134, -1, 17, 133, - 198, 134, -1, 18, 133, 198, 134, -1, 19, 133, - 198, 134, -1, 20, 133, 198, 134, -1, 21, 133, - 198, 134, -1, 22, 133, 198, 134, -1, 24, 133, - 198, 134, -1, 25, 133, 198, 139, 198, 134, -1, - 26, 133, 198, 134, -1, 27, 133, 198, 134, -1, - 28, 133, 198, 134, -1, 29, 133, 198, 134, -1, - 30, 133, 198, 134, -1, 31, 133, 198, 134, -1, - 32, 133, 198, 139, 198, 134, -1, 33, 133, 198, - 139, 198, 134, -1, 34, 133, 198, 139, 198, 134, - -1, 23, 133, 198, 134, -1, 14, 135, 198, 136, - -1, 15, 135, 198, 136, -1, 16, 135, 198, 136, - -1, 17, 135, 198, 136, -1, 18, 135, 198, 136, - -1, 19, 135, 198, 136, -1, 20, 135, 198, 136, - -1, 21, 135, 198, 136, -1, 22, 135, 198, 136, - -1, 24, 135, 198, 136, -1, 25, 135, 198, 139, - 198, 136, -1, 26, 135, 198, 136, -1, 27, 135, - 198, 136, -1, 28, 135, 198, 136, -1, 29, 135, - 198, 136, -1, 30, 135, 198, 136, -1, 31, 135, - 198, 136, -1, 32, 135, 198, 139, 198, 136, -1, - 33, 135, 198, 139, 198, 136, -1, 34, 135, 198, - 139, 198, 136, -1, 23, 135, 198, 136, -1, 3, - -1, 9, -1, 10, -1, 11, -1, 107, -1, 108, - -1, 109, -1, 4, -1, 4, 142, 140, 198, 141, - -1, 4, 135, 198, 136, -1, 138, 4, 135, 136, - -1, 4, 166, -1, 4, 135, 198, 136, 166, -1, - 4, 137, 4, -1, 4, 135, 198, 136, 137, 4, - -1, 4, 137, 4, 166, -1, 4, 135, 198, 136, - 137, 4, 166, -1, 106, 133, 5, 139, 198, 134, - -1, 201, -1, 124, 200, -1, 123, 200, -1, 200, - 124, 200, -1, 200, 123, 200, -1, 140, 198, 139, - 198, 139, 198, 139, 198, 139, 198, 141, -1, 140, - 198, 139, 198, 139, 198, 139, 198, 141, -1, 140, - 198, 139, 198, 139, 198, 141, -1, 133, 198, 139, - 198, 139, 198, 134, -1, 203, -1, 202, 139, 203, - -1, 198, -1, 204, -1, 140, 141, -1, 140, 205, - 141, -1, 124, 140, 205, 141, -1, 198, 125, 140, - 205, 141, -1, 124, 204, -1, 198, 125, 204, -1, - 198, 8, 198, -1, 198, 8, 198, 8, 198, -1, - 43, 140, 198, 141, -1, 170, -1, 178, -1, 4, - 135, 136, -1, 4, 135, 140, 205, 141, 136, -1, - 198, -1, 204, -1, 205, 139, 198, -1, 205, 139, - 204, -1, 140, 198, 139, 198, 139, 198, 139, 198, - 141, -1, 140, 198, 139, 198, 139, 198, 141, -1, - 4, -1, 4, 137, 92, 137, 4, -1, 140, 208, - 141, -1, 4, 135, 198, 136, 137, 93, -1, 206, - -1, 208, 139, 206, -1, 210, -1, 4, -1, 5, - -1, 42, -1, 37, 133, 209, 139, 209, 134, -1, - 38, 133, 209, 134, -1, 39, 133, 209, 134, -1, - 36, 133, 209, 134, -1, 36, 133, 209, 139, 205, - 134, -1, 36, 133, 4, 137, 4, 134, -1, 36, - 133, 4, 135, 198, 136, 137, 4, 134, -1 + 165, 199, 6, -1, 4, 135, 199, 136, 165, 199, + 6, -1, 4, 135, 140, 206, 141, 136, 165, 204, + 6, -1, 4, 135, 136, 7, 204, 6, -1, 4, + 135, 136, 113, 204, 6, -1, 4, 166, 6, -1, + 4, 135, 199, 136, 166, 6, -1, 4, 7, 211, + 6, -1, 4, 137, 4, 7, 211, 6, -1, 4, + 135, 199, 136, 137, 4, 7, 211, 6, -1, 4, + 137, 4, 165, 199, 6, -1, 4, 135, 199, 136, + 137, 4, 165, 199, 6, -1, 4, 137, 4, 166, + 6, -1, 4, 135, 199, 136, 137, 4, 166, 6, + -1, 4, 137, 92, 137, 4, 7, 207, 6, -1, + 4, 135, 199, 136, 137, 92, 137, 4, 7, 207, + 6, -1, 4, 137, 93, 7, 208, 6, -1, 4, + 135, 199, 136, 137, 93, 7, 208, 6, -1, 4, + 100, 7, 199, 6, -1, 100, 135, 199, 136, 7, + 4, 6, -1, 100, 135, 199, 136, 137, 4, 7, + 199, 6, -1, 100, 135, 199, 136, 137, 4, 7, + 211, 6, -1, 100, 135, 199, 136, 137, 4, 7, + 140, 206, 141, 6, -1, 64, 133, 4, 134, 137, + 4, 7, 199, 6, -1, 64, 133, 4, 134, 137, + 4, 7, 211, 6, -1, 199, -1, 211, -1, -1, + 95, 47, 140, 199, 141, -1, 43, 133, 199, 134, + 7, 201, 6, -1, 60, 43, 133, 168, 134, 7, + 204, 6, -1, 52, 53, 204, 7, 199, 6, -1, + 46, 133, 199, 134, 7, 204, 6, -1, 50, 133, + 199, 134, 7, 204, 6, -1, 44, 133, 199, 134, + 7, 204, 6, -1, 44, 133, 199, 134, 7, 204, + 56, 201, 6, -1, 45, 133, 199, 134, 7, 204, + 6, -1, 45, 133, 199, 134, 7, 204, 56, 201, + 6, -1, 54, 133, 199, 134, 7, 140, 199, 139, + 199, 139, 5, 139, 5, 139, 5, 141, 6, -1, + 87, 133, 199, 134, 7, 204, 6, -1, 88, 133, + 199, 134, 7, 204, 6, -1, 89, 133, 199, 134, + 7, 204, 91, 204, 90, 199, 6, -1, 46, 71, + 133, 199, 134, 7, 204, 6, -1, 60, 46, 133, + 168, 134, 7, 204, 6, -1, 56, 49, 133, 199, + 134, 7, 204, 6, -1, 57, 49, 133, 199, 134, + 7, 204, 169, 6, -1, 12, 13, 6, -1, 13, + 49, 199, 6, -1, 54, 49, 133, 199, 134, 7, + 5, 5, 5, 6, -1, 47, 133, 199, 134, 7, + 204, 6, -1, 48, 133, 199, 134, 7, 204, 6, + -1, 49, 71, 133, 199, 134, 7, 204, 6, -1, + 60, 49, 133, 168, 134, 7, 204, 6, -1, 59, + 51, 133, 199, 134, 7, 204, 6, -1, 51, 133, + 199, 134, 7, 204, 6, -1, 60, 51, 133, 168, + 134, 7, 204, 6, -1, 66, 201, 140, 172, 141, + -1, 65, 140, 201, 139, 201, 139, 199, 141, 140, + 172, 141, -1, 67, 201, 140, 172, 141, -1, 68, + 140, 201, 139, 199, 141, 140, 172, 141, -1, 70, + 140, 172, 141, -1, 76, 46, 140, 206, 141, 49, + 140, 199, 141, -1, 77, 140, 172, 141, -1, 173, + -1, 171, -1, -1, 173, 170, -1, 173, 43, 140, + 206, 141, 6, -1, 173, 46, 140, 206, 141, 6, + -1, 173, 49, 140, 206, 141, 6, -1, 173, 51, + 140, 206, 141, 6, -1, 74, 140, 173, 141, -1, + 74, 100, 135, 199, 136, 6, -1, 74, 4, 135, + 199, 136, 6, -1, 74, 4, 6, -1, 74, 4, + 4, 6, -1, 92, 207, 140, 173, 141, -1, 104, + 210, 6, -1, 105, 210, 6, -1, 104, 140, 173, + 141, -1, 105, 140, 173, 141, -1, 4, 211, 6, + -1, 4, 4, 135, 199, 136, 210, 6, -1, 4, + 4, 4, 135, 199, 136, 6, -1, 4, 199, 6, + -1, 64, 133, 4, 134, 137, 4, 6, -1, 86, + 4, 6, -1, 99, 6, -1, 40, 6, -1, 40, + 140, 199, 139, 199, 139, 199, 139, 199, 139, 199, + 139, 199, 141, 6, -1, 41, 6, -1, 94, 133, + 199, 8, 199, 134, -1, 94, 133, 199, 8, 199, + 8, 199, 134, -1, 94, 4, 95, 140, 199, 8, + 199, 141, -1, 94, 4, 95, 140, 199, 8, 199, + 8, 199, 141, -1, 96, -1, 103, 4, -1, 101, + -1, 102, 4, 6, -1, 97, 133, 199, 134, -1, + 98, -1, 69, 201, 140, 173, 141, -1, 69, 140, + 201, 139, 201, 139, 199, 141, 140, 173, 141, -1, + 69, 140, 201, 139, 201, 139, 201, 139, 199, 141, + 140, 173, 141, -1, -1, 69, 201, 140, 173, 180, + 194, 141, -1, -1, 69, 140, 201, 139, 201, 139, + 199, 141, 140, 173, 181, 194, 141, -1, -1, 69, + 140, 201, 139, 201, 139, 201, 139, 199, 141, 140, + 173, 182, 194, 141, -1, -1, 69, 140, 173, 183, + 194, 141, -1, -1, 69, 4, 135, 199, 136, 140, + 173, 184, 194, 141, -1, 69, 43, 140, 199, 139, + 201, 141, 6, -1, 69, 46, 140, 199, 139, 201, + 141, 6, -1, 69, 49, 140, 199, 139, 201, 141, + 6, -1, 69, 43, 140, 199, 139, 201, 139, 201, + 139, 199, 141, 6, -1, 69, 46, 140, 199, 139, + 201, 139, 201, 139, 199, 141, 6, -1, 69, 49, + 140, 199, 139, 201, 139, 201, 139, 199, 141, 6, + -1, 69, 43, 140, 199, 139, 201, 139, 201, 139, + 201, 139, 199, 141, 6, -1, 69, 46, 140, 199, + 139, 201, 139, 201, 139, 201, 139, 199, 141, 6, + -1, 69, 49, 140, 199, 139, 201, 139, 201, 139, + 201, 139, 199, 141, 6, -1, -1, 69, 43, 140, + 199, 139, 201, 141, 185, 140, 194, 141, 6, -1, + -1, 69, 46, 140, 199, 139, 201, 141, 186, 140, + 194, 141, 6, -1, -1, 69, 49, 140, 199, 139, + 201, 141, 187, 140, 194, 141, 6, -1, -1, 69, + 43, 140, 199, 139, 201, 139, 201, 139, 199, 141, + 188, 140, 194, 141, 6, -1, -1, 69, 46, 140, + 199, 139, 201, 139, 201, 139, 199, 141, 189, 140, + 194, 141, 6, -1, -1, 69, 49, 140, 199, 139, + 201, 139, 201, 139, 199, 141, 190, 140, 194, 141, + 6, -1, -1, 69, 43, 140, 199, 139, 201, 139, + 201, 139, 201, 139, 199, 141, 191, 140, 194, 141, + 6, -1, -1, 69, 46, 140, 199, 139, 201, 139, + 201, 139, 201, 139, 199, 141, 192, 140, 194, 141, + 6, -1, -1, 69, 49, 140, 199, 139, 201, 139, + 201, 139, 201, 139, 199, 141, 193, 140, 194, 141, + 6, -1, 195, -1, 194, 195, -1, 78, 140, 199, + 141, 6, -1, 78, 140, 204, 139, 204, 141, 6, + -1, 78, 140, 204, 139, 204, 139, 204, 141, 6, + -1, 72, 6, -1, 79, 133, 199, 134, 7, 204, + 61, 199, 6, -1, 58, 46, 204, 7, 199, 6, + -1, 58, 46, 204, 7, 199, 61, 63, 199, 6, + -1, 58, 46, 204, 7, 199, 61, 62, 199, 6, + -1, 58, 49, 140, 199, 141, 7, 204, 6, -1, + 58, 49, 140, 199, 141, 7, 204, 4, 6, -1, + 55, 49, 140, 199, 141, 7, 204, 6, -1, 58, + 51, 140, 199, 141, 7, 204, 6, -1, 72, 49, + 204, 7, 199, 6, -1, 72, 49, 204, 6, -1, + 73, 49, 204, 7, 199, 6, -1, 43, 140, 206, + 141, 95, 49, 140, 199, 141, 6, -1, 46, 140, + 206, 141, 95, 49, 140, 199, 141, 6, -1, 46, + 140, 206, 141, 95, 51, 140, 199, 141, 6, -1, + 49, 140, 206, 141, 95, 51, 140, 199, 141, 6, + -1, 75, 6, -1, 200, -1, 133, 199, 134, -1, + 124, 199, -1, 123, 199, -1, 128, 199, -1, 199, + 124, 199, -1, 199, 123, 199, -1, 199, 125, 199, + -1, 199, 126, 199, -1, 199, 127, 199, -1, 199, + 132, 199, -1, 199, 119, 199, -1, 199, 120, 199, + -1, 199, 122, 199, -1, 199, 121, 199, -1, 199, + 118, 199, -1, 199, 117, 199, -1, 199, 116, 199, + -1, 199, 115, 199, -1, 199, 114, 199, 8, 199, + -1, 14, 133, 199, 134, -1, 15, 133, 199, 134, + -1, 16, 133, 199, 134, -1, 17, 133, 199, 134, + -1, 18, 133, 199, 134, -1, 19, 133, 199, 134, + -1, 20, 133, 199, 134, -1, 21, 133, 199, 134, + -1, 22, 133, 199, 134, -1, 24, 133, 199, 134, + -1, 25, 133, 199, 139, 199, 134, -1, 26, 133, + 199, 134, -1, 27, 133, 199, 134, -1, 28, 133, + 199, 134, -1, 29, 133, 199, 134, -1, 30, 133, + 199, 134, -1, 31, 133, 199, 134, -1, 32, 133, + 199, 139, 199, 134, -1, 33, 133, 199, 139, 199, + 134, -1, 34, 133, 199, 139, 199, 134, -1, 23, + 133, 199, 134, -1, 14, 135, 199, 136, -1, 15, + 135, 199, 136, -1, 16, 135, 199, 136, -1, 17, + 135, 199, 136, -1, 18, 135, 199, 136, -1, 19, + 135, 199, 136, -1, 20, 135, 199, 136, -1, 21, + 135, 199, 136, -1, 22, 135, 199, 136, -1, 24, + 135, 199, 136, -1, 25, 135, 199, 139, 199, 136, + -1, 26, 135, 199, 136, -1, 27, 135, 199, 136, + -1, 28, 135, 199, 136, -1, 29, 135, 199, 136, + -1, 30, 135, 199, 136, -1, 31, 135, 199, 136, + -1, 32, 135, 199, 139, 199, 136, -1, 33, 135, + 199, 139, 199, 136, -1, 34, 135, 199, 139, 199, + 136, -1, 23, 135, 199, 136, -1, 3, -1, 9, + -1, 10, -1, 11, -1, 107, -1, 108, -1, 109, + -1, 4, -1, 4, 142, 140, 199, 141, -1, 4, + 135, 199, 136, -1, 138, 4, 135, 136, -1, 4, + 166, -1, 4, 135, 199, 136, 166, -1, 4, 137, + 4, -1, 4, 135, 199, 136, 137, 4, -1, 4, + 137, 4, 166, -1, 4, 135, 199, 136, 137, 4, + 166, -1, 106, 133, 5, 139, 199, 134, -1, 202, + -1, 124, 201, -1, 123, 201, -1, 201, 124, 201, + -1, 201, 123, 201, -1, 140, 199, 139, 199, 139, + 199, 139, 199, 139, 199, 141, -1, 140, 199, 139, + 199, 139, 199, 139, 199, 141, -1, 140, 199, 139, + 199, 139, 199, 141, -1, 133, 199, 139, 199, 139, + 199, 134, -1, 204, -1, 203, 139, 204, -1, 199, + -1, 205, -1, 140, 141, -1, 140, 206, 141, -1, + 124, 140, 206, 141, -1, 199, 125, 140, 206, 141, + -1, 124, 205, -1, 199, 125, 205, -1, 199, 8, + 199, -1, 199, 8, 199, 8, 199, -1, 43, 140, + 199, 141, -1, 171, -1, 179, -1, 4, 135, 136, + -1, 4, 135, 140, 206, 141, 136, -1, 199, -1, + 205, -1, 206, 139, 199, -1, 206, 139, 205, -1, + 140, 199, 139, 199, 139, 199, 139, 199, 141, -1, + 140, 199, 139, 199, 139, 199, 141, -1, 4, -1, + 4, 137, 92, 137, 4, -1, 140, 209, 141, -1, + 4, 135, 199, 136, 137, 93, -1, 207, -1, 209, + 139, 207, -1, 211, -1, 4, -1, 5, -1, 42, + -1, 37, 133, 210, 139, 210, 134, -1, 38, 133, + 210, 134, -1, 39, 133, 210, 134, -1, 36, 133, + 210, 134, -1, 36, 133, 210, 139, 206, 134, -1, + 36, 133, 4, 137, 4, 134, -1, 36, 133, 4, + 135, 199, 136, 137, 4, 134, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -987,34 +988,34 @@ static const yytype_uint16 yyrline[] = 520, 532, 550, 549, 561, 562, 563, 564, 565, 569, 570, 577, 608, 647, 701, 718, 736, 747, 764, 771, 786, 804, 830, 857, 871, 888, 903, 921, 941, 964, - 973, 978, 997, 1016, 1040, 1050, 1065, 1069, 1082, 1104, - 1120, 1142, 1160, 1178, 1196, 1222, 1240, 1266, 1286, 1304, - 1322, 1348, 1365, 1384, 1402, 1440, 1446, 1452, 1459, 1484, - 1509, 1525, 1545, 1563, 1580, 1601, 1606, 1611, 1616, 1621, - 1632, 1638, 1647, 1648, 1653, 1656, 1660, 1683, 1706, 1729, - 1757, 1766, 1770, 1783, 1799, 1814, 1828, 1834, 1840, 1849, - 1863, 1911, 1927, 1940, 1959, 1969, 1991, 1995, 2000, 2005, - 2017, 2034, 2051, 2078, 2105, 2136, 2144, 2150, 2157, 2161, - 2170, 2178, 2186, 2195, 2194, 2207, 2206, 2219, 2218, 2231, - 2230, 2242, 2241, 2257, 2264, 2271, 2278, 2285, 2292, 2299, - 2306, 2313, 2321, 2320, 2332, 2331, 2343, 2342, 2354, 2353, - 2365, 2364, 2376, 2375, 2387, 2386, 2398, 2397, 2409, 2408, - 2423, 2426, 2432, 2441, 2461, 2484, 2488, 2512, 2530, 2548, - 2566, 2595, 2630, 2635, 2662, 2676, 2689, 2706, 2712, 2718, - 2721, 2730, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, - 2748, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, - 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, - 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, - 2784, 2785, 2786, 2788, 2789, 2790, 2791, 2792, 2793, 2794, - 2795, 2796, 2797, 2798, 2799, 2800, 2801, 2802, 2803, 2804, - 2805, 2806, 2807, 2808, 2817, 2818, 2819, 2820, 2821, 2822, - 2823, 2827, 2843, 2858, 2878, 2891, 2904, 2927, 2945, 2963, - 2981, 2999, 3007, 3011, 3015, 3019, 3023, 3030, 3034, 3038, - 3042, 3049, 3054, 3062, 3067, 3071, 3076, 3080, 3088, 3099, - 3107, 3115, 3121, 3132, 3152, 3162, 3172, 3189, 3216, 3221, - 3225, 3229, 3242, 3246, 3258, 3265, 3286, 3290, 3305, 3310, - 3317, 3321, 3328, 3332, 3340, 3348, 3362, 3376, 3380, 3399, - 3422 + 973, 978, 997, 1016, 1040, 1050, 1065, 1069, 1079, 1082, + 1100, 1122, 1138, 1160, 1178, 1196, 1214, 1240, 1258, 1284, + 1304, 1322, 1340, 1366, 1383, 1402, 1420, 1459, 1465, 1471, + 1478, 1503, 1528, 1544, 1564, 1582, 1599, 1620, 1625, 1630, + 1635, 1640, 1651, 1657, 1666, 1667, 1672, 1675, 1679, 1702, + 1725, 1748, 1776, 1785, 1789, 1802, 1818, 1833, 1847, 1853, + 1859, 1868, 1882, 1930, 1946, 1959, 1978, 1988, 2010, 2014, + 2019, 2024, 2036, 2053, 2070, 2097, 2124, 2155, 2163, 2169, + 2176, 2180, 2189, 2197, 2205, 2214, 2213, 2226, 2225, 2238, + 2237, 2250, 2249, 2261, 2260, 2276, 2283, 2290, 2297, 2304, + 2311, 2318, 2325, 2332, 2340, 2339, 2351, 2350, 2362, 2361, + 2373, 2372, 2384, 2383, 2395, 2394, 2406, 2405, 2417, 2416, + 2428, 2427, 2442, 2445, 2451, 2460, 2480, 2503, 2507, 2531, + 2549, 2567, 2585, 2614, 2649, 2654, 2681, 2695, 2708, 2725, + 2731, 2737, 2740, 2749, 2759, 2760, 2761, 2762, 2763, 2764, + 2765, 2766, 2767, 2774, 2775, 2776, 2777, 2778, 2779, 2780, + 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, + 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2800, + 2801, 2802, 2803, 2804, 2805, 2807, 2808, 2809, 2810, 2811, + 2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, + 2822, 2823, 2824, 2825, 2826, 2827, 2836, 2837, 2838, 2839, + 2840, 2841, 2842, 2846, 2862, 2877, 2897, 2910, 2923, 2946, + 2964, 2982, 3000, 3018, 3026, 3030, 3034, 3038, 3042, 3049, + 3053, 3057, 3061, 3068, 3073, 3081, 3086, 3090, 3095, 3099, + 3107, 3118, 3126, 3134, 3140, 3151, 3171, 3181, 3191, 3208, + 3235, 3240, 3244, 3248, 3261, 3265, 3277, 3284, 3305, 3309, + 3324, 3329, 3336, 3340, 3347, 3351, 3359, 3367, 3381, 3395, + 3399, 3418, 3441 }; #endif @@ -1051,14 +1052,14 @@ static const char *const yytname[] = "ElementValues", "Element", "@1", "@2", "Text2DValues", "Text2D", "@3", "Text3DValues", "Text3D", "@4", "InterpolationMatrix", "Time", "@5", "NumericAffectation", "NumericIncrement", "Affectation", "PhysicalId", - "Shape", "Transform", "MultipleShape", "ListOfShapes", "Delete", - "Colorify", "Visibility", "Command", "Loop", "Extrude", "@6", "@7", "@8", - "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", "@18", - "@19", "ExtrudeParameters", "ExtrudeParameter", "Transfinite", - "Embedding", "Coherence", "FExpr", "FExpr_Single", "VExpr", - "VExpr_Single", "RecursiveListOfListOfDouble", "ListOfDouble", - "FExpr_Multi", "RecursiveListOfDouble", "ColorExpr", "ListOfColor", - "RecursiveListOfColor", "StringExprVar", "StringExpr", 0 + "RuledSurfaceOptions", "Shape", "Transform", "MultipleShape", + "ListOfShapes", "Delete", "Colorify", "Visibility", "Command", "Loop", + "Extrude", "@6", "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", + "@15", "@16", "@17", "@18", "@19", "ExtrudeParameters", + "ExtrudeParameter", "Transfinite", "Embedding", "Coherence", "FExpr", + "FExpr_Single", "VExpr", "VExpr_Single", "RecursiveListOfListOfDouble", + "ListOfDouble", "FExpr_Multi", "RecursiveListOfDouble", "ColorExpr", + "ListOfColor", "RecursiveListOfColor", "StringExprVar", "StringExpr", 0 }; #endif @@ -1097,33 +1098,33 @@ static const yytype_uint8 yyr1[] = 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, 168, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, - 170, 170, 171, 171, 172, 172, 172, 172, 172, 172, - 173, 173, 173, 173, 173, 174, 175, 175, 175, 175, - 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 178, 178, 178, 179, 178, 180, 178, 181, 178, 182, - 178, 183, 178, 178, 178, 178, 178, 178, 178, 178, - 178, 178, 184, 178, 185, 178, 186, 178, 187, 178, - 188, 178, 189, 178, 190, 178, 191, 178, 192, 178, - 193, 193, 194, 194, 194, 194, 194, 195, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, - 196, 197, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 199, 199, 199, 199, 199, 199, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 171, 171, 171, + 171, 171, 171, 171, 172, 172, 173, 173, 173, 173, + 173, 173, 174, 174, 174, 174, 174, 175, 176, 176, + 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, + 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, + 178, 178, 179, 179, 179, 180, 179, 181, 179, 182, + 179, 183, 179, 184, 179, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 185, 179, 186, 179, 187, 179, + 188, 179, 189, 179, 190, 179, 191, 179, 192, 179, + 193, 179, 194, 194, 195, 195, 195, 195, 195, 196, + 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, + 197, 197, 197, 198, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, - 199, 199, 200, 200, 200, 200, 200, 201, 201, 201, - 201, 202, 202, 203, 203, 203, 203, 203, 203, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, - 205, 205, 206, 206, 206, 206, 207, 207, 208, 208, - 209, 209, 210, 210, 210, 210, 210, 210, 210, 210, - 210 + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 201, 201, 201, 201, 201, 202, + 202, 202, 202, 203, 203, 204, 204, 204, 204, 204, + 204, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 206, 206, 206, 206, 207, 207, 207, 207, 208, 208, + 209, 209, 210, 210, 211, 211, 211, 211, 211, 211, + 211, 211, 211 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1137,34 +1138,34 @@ static const yytype_uint8 yyr2[] = 8, 14, 0, 6, 1, 1, 1, 1, 1, 1, 1, 4, 7, 9, 6, 6, 3, 6, 4, 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, 5, - 7, 9, 9, 11, 9, 9, 1, 1, 7, 8, - 6, 7, 7, 7, 9, 7, 9, 17, 7, 7, - 11, 8, 8, 8, 8, 3, 4, 10, 7, 7, - 8, 8, 8, 7, 8, 5, 11, 5, 9, 4, - 9, 4, 1, 1, 0, 2, 6, 6, 6, 6, - 4, 6, 6, 3, 4, 5, 3, 3, 4, 4, - 3, 7, 7, 3, 7, 3, 2, 2, 15, 2, - 6, 8, 8, 10, 1, 2, 1, 3, 4, 1, - 5, 11, 13, 0, 7, 0, 13, 0, 15, 0, - 6, 0, 10, 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, 6, 9, 9, - 8, 9, 8, 8, 6, 4, 6, 10, 10, 10, - 10, 2, 1, 3, 2, 2, 2, 3, 3, 3, + 7, 9, 9, 11, 9, 9, 1, 1, 0, 5, + 7, 8, 6, 7, 7, 7, 9, 7, 9, 17, + 7, 7, 11, 8, 8, 8, 9, 3, 4, 10, + 7, 7, 8, 8, 8, 7, 8, 5, 11, 5, + 9, 4, 9, 4, 1, 1, 0, 2, 6, 6, + 6, 6, 4, 6, 6, 3, 4, 5, 3, 3, + 4, 4, 3, 7, 7, 3, 7, 3, 2, 2, + 15, 2, 6, 8, 8, 10, 1, 2, 1, 3, + 4, 1, 5, 11, 13, 0, 7, 0, 13, 0, + 15, 0, 6, 0, 10, 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, 6, + 9, 9, 8, 9, 8, 8, 6, 4, 6, 10, + 10, 10, 10, 2, 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, 2, - 3, 3, 5, 4, 1, 1, 3, 6, 1, 1, - 3, 3, 9, 7, 1, 5, 3, 6, 1, 3, - 1, 1, 1, 1, 6, 4, 4, 4, 6, 6, - 9 + 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, 2, 3, 3, 5, 4, 1, 1, 3, 6, + 1, 1, 3, 3, 9, 7, 1, 5, 3, 6, + 1, 3, 1, 1, 1, 1, 6, 4, 4, 4, + 6, 6, 9 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1177,282 +1178,282 @@ 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, - 154, 0, 159, 0, 0, 156, 0, 0, 0, 0, + 156, 0, 161, 0, 0, 158, 0, 0, 0, 0, 5, 7, 6, 8, 9, 10, 11, 12, 13, 19, - 18, 14, 15, 16, 17, 284, 291, 342, 54, 285, - 286, 287, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 14, 15, 16, 17, 286, 293, 344, 54, 287, + 288, 289, 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, 343, 0, 0, - 288, 289, 290, 58, 57, 56, 55, 0, 0, 0, - 60, 59, 0, 0, 0, 0, 0, 0, 0, 222, - 0, 0, 0, 0, 147, 0, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, + 290, 291, 292, 58, 57, 56, 55, 0, 0, 0, + 60, 59, 0, 0, 0, 0, 0, 0, 0, 224, + 0, 0, 0, 0, 149, 0, 151, 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, 302, 0, 0, 0, 0, 0, 0, 124, 0, - 124, 0, 0, 0, 0, 124, 221, 0, 124, 0, - 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, - 0, 146, 0, 0, 155, 341, 342, 124, 0, 340, - 124, 0, 0, 0, 0, 0, 295, 29, 0, 0, + 0, 304, 0, 0, 0, 0, 0, 0, 126, 0, + 126, 0, 0, 0, 0, 126, 223, 0, 126, 0, + 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, + 0, 148, 0, 0, 157, 343, 344, 126, 0, 342, + 126, 0, 0, 0, 0, 0, 297, 29, 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, 291, 225, 224, - 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 140, 105, 0, - 0, 0, 0, 291, 0, 0, 324, 325, 328, 329, + 0, 0, 0, 0, 0, 0, 0, 293, 227, 226, + 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 142, 107, 0, + 0, 0, 0, 293, 0, 0, 326, 327, 330, 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 313, 0, 314, 0, 0, 0, + 0, 0, 0, 0, 315, 0, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 304, 303, 0, 0, 0, 0, 124, 124, - 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, - 124, 123, 0, 122, 0, 0, 0, 133, 0, 0, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, - 0, 124, 0, 0, 0, 0, 157, 0, 136, 0, - 137, 0, 0, 297, 0, 0, 68, 0, 0, 0, + 0, 0, 306, 305, 0, 0, 0, 0, 126, 126, + 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, + 126, 125, 0, 124, 0, 0, 0, 135, 0, 0, + 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, + 0, 126, 0, 0, 0, 0, 159, 0, 138, 0, + 139, 0, 0, 299, 0, 0, 68, 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, 341, - 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, + 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 61, 0, - 240, 239, 238, 237, 233, 234, 236, 235, 228, 227, - 229, 230, 231, 232, 106, 0, 0, 0, 0, 0, - 0, 224, 319, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, + 242, 241, 240, 239, 235, 236, 238, 237, 230, 229, + 231, 232, 233, 234, 108, 0, 0, 0, 0, 0, + 0, 226, 321, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 87, 0, 0, 0, 0, 0, - 0, 0, 306, 305, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 125, 0, 0, 163, - 119, 215, 0, 0, 134, 0, 0, 130, 0, 121, + 0, 0, 308, 307, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 127, 0, 0, 165, + 121, 217, 0, 0, 136, 0, 0, 132, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 158, 0, 138, 139, 0, 293, 299, 0, 39, 0, - 0, 0, 52, 0, 30, 31, 32, 33, 34, 242, - 263, 243, 264, 244, 265, 245, 266, 246, 267, 247, - 268, 248, 269, 249, 270, 250, 271, 262, 283, 251, - 272, 0, 0, 253, 274, 254, 275, 255, 276, 256, - 277, 257, 278, 258, 279, 0, 0, 0, 0, 0, - 0, 0, 0, 347, 0, 0, 345, 346, 79, 0, + 160, 0, 140, 141, 0, 295, 301, 0, 39, 0, + 0, 0, 52, 0, 30, 31, 32, 33, 34, 244, + 265, 245, 266, 246, 267, 247, 268, 248, 269, 249, + 270, 250, 271, 251, 272, 252, 273, 264, 285, 253, + 274, 0, 0, 255, 276, 256, 277, 257, 278, 258, + 279, 259, 280, 260, 281, 0, 0, 0, 0, 0, + 0, 0, 0, 349, 0, 0, 347, 348, 79, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, - 73, 0, 0, 0, 0, 294, 0, 22, 20, 0, - 0, 0, 0, 326, 0, 0, 321, 229, 320, 330, - 331, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, + 73, 0, 0, 0, 0, 296, 0, 22, 20, 0, + 0, 0, 0, 328, 0, 0, 323, 231, 322, 332, + 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 115, 117, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, - 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, - 0, 0, 296, 0, 292, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 117, 119, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, + 0, 162, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, + 0, 0, 298, 0, 294, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 64, 65, 0, 0, 0, - 0, 0, 67, 69, 71, 0, 0, 338, 0, 77, - 241, 21, 0, 0, 0, 0, 0, 323, 0, 0, + 0, 0, 0, 0, 295, 64, 65, 0, 0, 0, + 0, 0, 67, 69, 71, 0, 0, 340, 0, 77, + 243, 21, 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 317, 0, 90, 0, 0, 0, 0, 0, - 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 0, 170, 201, 0, 0, 214, - 216, 132, 131, 0, 27, 28, 0, 0, 0, 335, - 0, 0, 0, 150, 0, 0, 142, 298, 141, 0, - 0, 0, 0, 311, 0, 252, 273, 259, 280, 260, - 281, 261, 282, 0, 349, 348, 344, 301, 0, 54, - 0, 0, 0, 0, 62, 0, 0, 0, 336, 23, - 24, 0, 0, 88, 0, 322, 0, 93, 0, 95, - 0, 0, 91, 0, 0, 108, 109, 0, 0, 92, - 113, 318, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, - 0, 124, 171, 0, 182, 0, 184, 0, 186, 0, - 0, 0, 0, 313, 0, 0, 0, 0, 164, 0, - 98, 99, 0, 0, 0, 0, 80, 0, 300, 0, + 0, 0, 319, 0, 92, 0, 0, 0, 0, 0, + 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, + 0, 0, 207, 0, 0, 172, 203, 0, 0, 216, + 218, 134, 133, 0, 27, 28, 0, 0, 0, 337, + 0, 0, 0, 152, 0, 0, 144, 300, 143, 0, + 0, 0, 0, 313, 0, 254, 275, 261, 282, 262, + 283, 263, 284, 0, 351, 350, 346, 303, 0, 54, + 0, 0, 0, 0, 62, 0, 0, 0, 338, 23, + 24, 0, 0, 90, 0, 324, 0, 95, 0, 97, + 0, 0, 93, 0, 0, 110, 111, 0, 0, 94, + 115, 320, 0, 0, 0, 0, 88, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, + 0, 126, 173, 0, 184, 0, 186, 0, 188, 0, + 0, 0, 0, 315, 0, 0, 0, 0, 166, 0, + 100, 101, 0, 0, 0, 0, 80, 0, 302, 0, 35, 0, 0, 0, 0, 0, 37, 0, 0, 0, - 0, 74, 0, 0, 75, 0, 339, 0, 0, 327, - 0, 0, 0, 101, 0, 0, 110, 0, 0, 0, - 212, 103, 104, 0, 0, 0, 210, 213, 112, 89, - 102, 111, 114, 0, 0, 0, 310, 0, 309, 0, - 0, 0, 173, 0, 0, 174, 0, 0, 175, 0, - 126, 127, 128, 129, 0, 0, 0, 0, 0, 0, - 0, 0, 333, 0, 152, 151, 0, 0, 0, 40, - 0, 0, 0, 312, 0, 0, 0, 0, 63, 70, - 72, 0, 78, 0, 25, 0, 0, 94, 96, 0, - 0, 0, 0, 0, 209, 208, 211, 84, 85, 124, - 0, 118, 0, 0, 0, 0, 0, 0, 0, 202, - 0, 0, 124, 0, 120, 0, 0, 0, 0, 81, - 82, 0, 36, 0, 0, 0, 38, 53, 350, 0, - 337, 0, 217, 218, 219, 220, 107, 0, 0, 0, - 308, 172, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 165, 0, 0, 332, 153, 0, - 0, 0, 0, 0, 76, 0, 0, 116, 0, 188, - 0, 0, 190, 0, 0, 192, 0, 0, 0, 203, - 0, 161, 0, 124, 100, 83, 0, 44, 0, 50, - 0, 0, 0, 307, 176, 0, 0, 183, 177, 0, - 0, 185, 178, 0, 0, 187, 0, 0, 0, 167, - 0, 0, 0, 0, 0, 0, 0, 194, 0, 196, - 0, 198, 204, 206, 166, 162, 0, 41, 0, 48, - 0, 0, 0, 0, 179, 0, 0, 180, 0, 0, - 181, 0, 0, 0, 42, 0, 0, 148, 0, 0, - 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, - 0, 189, 0, 191, 0, 193, 0, 43, 45, 0, - 46, 0, 97, 0, 0, 0, 0, 0, 51, 195, - 197, 199, 47, 49 + 0, 74, 0, 0, 75, 0, 341, 0, 0, 329, + 0, 0, 0, 103, 0, 0, 112, 0, 0, 0, + 214, 105, 0, 0, 0, 0, 0, 212, 215, 114, + 91, 104, 113, 116, 0, 0, 0, 312, 0, 311, + 0, 0, 0, 175, 0, 0, 176, 0, 0, 177, + 0, 128, 129, 130, 131, 0, 0, 0, 0, 0, + 0, 0, 0, 335, 0, 154, 153, 0, 0, 0, + 40, 0, 0, 0, 314, 0, 0, 0, 0, 63, + 70, 72, 0, 78, 0, 25, 0, 0, 96, 98, + 0, 0, 0, 0, 0, 0, 106, 211, 210, 213, + 84, 85, 126, 0, 120, 0, 0, 0, 0, 0, + 0, 0, 204, 0, 0, 126, 0, 122, 0, 0, + 0, 0, 81, 82, 0, 36, 0, 0, 0, 38, + 53, 352, 0, 339, 0, 219, 220, 221, 222, 109, + 0, 0, 0, 0, 310, 174, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, + 0, 334, 155, 0, 0, 0, 0, 0, 76, 0, + 0, 0, 118, 0, 190, 0, 0, 192, 0, 0, + 194, 0, 0, 0, 205, 0, 163, 0, 126, 102, + 83, 0, 44, 0, 50, 0, 0, 0, 89, 309, + 178, 0, 0, 185, 179, 0, 0, 187, 180, 0, + 0, 189, 0, 0, 0, 169, 0, 0, 0, 0, + 0, 0, 0, 196, 0, 198, 0, 200, 206, 208, + 168, 164, 0, 41, 0, 48, 0, 0, 0, 0, + 181, 0, 0, 182, 0, 0, 183, 0, 0, 0, + 42, 0, 0, 150, 0, 0, 0, 0, 0, 0, + 0, 170, 0, 0, 0, 0, 0, 191, 0, 193, + 0, 195, 0, 43, 45, 0, 46, 0, 99, 0, + 0, 0, 0, 0, 51, 197, 199, 201, 47, 49 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 2, 3, 60, 649, 61, 62, 395, 949, 955, - 574, 735, 1081, 1203, 575, 1171, 1229, 576, 1205, 577, - 578, 739, 126, 216, 63, 512, 536, 306, 362, 363, - 66, 67, 68, 69, 70, 307, 712, 1142, 1186, 537, - 1000, 1003, 1006, 1009, 1155, 1159, 1163, 1195, 1198, 1201, - 708, 709, 72, 73, 74, 324, 129, 342, 171, 852, - 853, 326, 310, 197, 644, 768, 208, 209 + 574, 735, 1084, 1209, 575, 1177, 1235, 576, 1211, 577, + 578, 739, 126, 216, 63, 512, 983, 536, 306, 362, + 363, 66, 67, 68, 69, 70, 307, 712, 1147, 1192, + 537, 1001, 1004, 1007, 1010, 1161, 1165, 1169, 1201, 1204, + 1207, 708, 709, 72, 73, 74, 324, 129, 342, 171, + 852, 853, 326, 310, 197, 644, 768, 208, 209 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1033 +#define YYPACT_NINF -1030 static const yytype_int16 yypact[] = { - 2779, 51, 22, 2857, -1033, -1033, 2026, 57, 45, -11, - 13, 124, -88, 46, 50, -27, 59, 65, -41, 79, - 82, 115, -28, 225, 247, 254, 310, 260, 26, 222, - 223, 185, 185, 227, 61, 232, 329, 334, 27, 381, - 349, 258, 401, 425, 435, 315, 333, 337, 14, 10, - -1033, 342, -1033, 477, 353, -1033, 480, 488, 12, 24, - -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, - -1033, -1033, -1033, -1033, -1033, -1033, 20, 360, 42, -1033, - -1033, -1033, 251, 259, 299, 325, 356, 424, 490, 499, - 511, 533, 553, 584, 602, 614, 618, 622, 626, 627, - 631, 639, 643, 394, 398, 404, 410, -1033, 486, 416, - -1033, -1033, -1033, -1033, -1033, -1033, -1033, 2238, 2238, 2238, - -1033, -1033, 2238, 1664, 19, 554, 2238, 556, 920, -1033, - 557, 566, 2238, 571, -1033, 2238, -1033, 2238, 2075, 2238, - 2238, 454, 2238, 2075, 2238, 2238, 460, 2075, 2238, 2238, - 1331, 461, 2238, 467, 468, 475, 1331, 487, 498, 520, - 524, 542, 543, 546, 596, 185, 185, 185, 2238, 2238, - -23, -1033, 137, 185, 513, 545, 549, 562, 1894, 177, - 515, 1331, 1331, 36, 561, -1033, -1033, 591, 515, 588, - 609, 691, 2238, 2238, 2238, 555, 2238, 612, 653, 2238, - 2238, -1033, 2238, 750, -1033, -1033, -1033, -1033, 759, -1033, - -1033, 767, 646, 2238, 776, 666, -1033, -1033, 813, 2238, - 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, - 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, - 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, - 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, - 2238, 645, 690, 690, 690, 2238, 824, 505, 698, 698, - 698, 5141, 8, 2075, 4382, 291, 707, 842, 715, 1837, - -1033, -1033, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, - 2238, 2238, 2238, 2238, 2238, 2238, 2238, -1033, -1033, 2179, - -6, 3628, 5162, 608, 731, 2075, -1033, -1033, 2549, -1033, - -65, 5183, 5204, 2238, 5225, 583, 5246, 5267, 2238, 638, - 5288, 5309, 1463, 1191, 2568, 871, -1033, 2238, 5330, 2238, - 2238, 2238, 874, 2238, 2238, 2238, 2201, 2201, 2201, 2201, - 755, -56, -1033, -1033, 3654, 3680, 185, 185, 515, 515, - -36, 2238, 2238, 2238, 2238, 1894, 1894, 2238, 2923, 190, - -1033, -1033, 752, 2923, 257, 890, 895, -1033, 2238, 2238, - 1055, 2075, 762, 2238, 2238, -1033, 5351, 5372, 5393, 814, - 3706, -1033, 768, 2587, 5414, 4405, -1033, 1229, -1033, 1369, - -1033, 2238, 4428, 207, 2238, 7, -1033, 5435, 4451, 5456, - 4474, 5477, 4497, 5498, 4520, 5519, 4543, 5540, 4566, 5561, - 4589, 5582, 4612, 5603, 4635, 5624, 4658, 5645, 4681, 3732, - 3758, 5666, 4704, 5687, 4727, 5708, 4750, 5729, 4773, 5750, - 4796, 5771, 4819, 3784, 3810, 3836, 3862, 3888, 3914, 657, - 72, 770, 773, 777, 2267, 771, 2238, -1033, 1331, 1331, - 656, 269, 42, 2238, 906, 909, 16, 780, -1033, 2606, - 887, 1526, 664, 664, 479, 479, 479, 479, 146, 146, - 698, 698, 698, 698, -1033, 40, 2075, 2238, 910, 1859, - 2238, 698, -1033, 2238, 2075, 2075, 823, 913, 915, 5792, - 916, 830, 922, 923, 5813, 832, 924, 925, 2075, -1033, - 659, 1595, 2238, 5834, 926, 2680, 5855, 5876, 2238, 2958, - 2986, 5897, 800, 2286, -1033, 801, 803, 804, 802, 185, - 2238, 2238, -1033, -1033, 799, 805, 2238, 4842, 3940, 3966, - 3992, 3602, 74, 55, 60, 125, -1033, 30, 185, 1501, - -1033, -1033, 2238, 2238, -1033, 4865, 4888, -1033, 663, -1033, - 4911, 4934, 934, 935, 936, 808, 2238, 1765, 2238, 2238, - -1033, 1, -1033, -1033, 4957, 372, -1033, 3014, -1033, 817, - 819, 807, -1033, 947, -1033, -1033, -1033, -1033, -1033, -1033, - -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, - -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, - -1033, 2238, 2238, -1033, -1033, -1033, -1033, -1033, -1033, -1033, - -1033, -1033, -1033, -1033, -1033, 2238, 2238, 2238, 2238, 2238, - 2238, 2238, 950, -1033, 2075, 690, -1033, -1033, -1033, 2238, - 4980, 949, 951, 820, -1033, 32, 2238, 952, 953, 2306, - -1033, 957, 825, 14, 960, -1033, 2238, -1033, 847, 690, - 165, 4018, 185, -1033, 2075, 3042, 2631, 698, -1033, 2549, - -1033, 942, 1331, 1331, 962, 1331, 754, 1331, 1331, 965, - 941, 1331, 1331, 672, -1033, 2075, 2325, 966, 834, 968, - 986, 989, 863, 990, 991, 992, 993, 995, 1009, 1010, - 1017, 292, 4044, 4070, -1033, -1033, 3070, 884, 185, 185, - 185, 2075, 2075, 2075, 2075, 1019, 886, 896, -46, -1033, - 294, -1033, 30, 2344, 2363, 1022, 1024, 982, 1027, 1047, - 1331, 1331, 1331, 1051, 4096, -1033, 2650, 1046, 1052, 1054, - 1053, 1057, -1033, 1059, -1033, 930, 2238, 2238, 1331, 929, - -1033, 5918, 5003, 5939, 5026, 5960, 5049, 5981, 5072, 5095, - 932, 173, 937, 6002, 384, -1033, -1033, 156, 314, 933, - 1066, 2389, -1033, -1033, -1033, 14, 2238, -1033, 673, -1033, - 2286, -1033, 1068, 52, 2238, 35, 676, -1033, 2238, 938, - 29, 37, 1331, 1069, 939, 943, 1070, 1071, 1331, 944, - 1076, 1079, -1033, 677, -1033, 1081, 2238, 1331, 1331, 1331, - -1033, 350, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 472, - 2238, 2238, 2238, 954, -1033, -68, 221, 234, 686, 687, - 694, 695, -1033, 1331, 2238, -1033, -1033, 1894, 244, -1033, - -1033, -1033, -1033, 955, -1033, -1033, 1083, 1085, 996, -1033, - 2238, 2238, 2238, -1033, 1087, 1090, -1033, 207, -1033, 2238, - 4122, 4148, 701, -1033, 2238, -1033, -1033, -1033, -1033, -1033, - -1033, -1033, -1033, 971, -1033, -1033, -1033, -1033, 1331, 42, - 2238, 1104, 1109, 16, -1033, 1110, 5118, 14, -1033, -1033, - -1033, 690, 4174, -1033, 983, 2286, 2238, -1033, 185, -1033, - 185, 1112, -1033, 2238, 2238, -1033, -1033, 1114, 2238, -1033, - -1033, -1033, 1116, 4200, 1117, 1118, 1119, 2238, 2238, 837, - 1120, 1122, 1125, 1126, 1128, 1129, -1033, 2201, 3098, 6023, - 2874, 515, 2923, 185, 1130, 185, 1132, 185, 1133, 1134, - 1135, 1140, 1141, 589, 1011, 6044, 3126, 296, -1033, 2238, - -1033, -1033, 1331, 2902, 738, 6065, -1033, 1727, -1033, 230, - 2286, 2238, 2238, 1331, 1012, 727, 2286, 1145, 1148, 1149, - 2408, -1033, 1115, 1150, -1033, 1021, -1033, 1168, 2238, -1033, - 3154, 53, 58, -1033, 3182, 3210, -1033, 3238, 1170, 2238, - -1033, -1033, -1033, 2428, 2447, 1173, -1033, -1033, -1033, -1033, - -1033, -1033, -1033, 2466, 1175, 1036, -1033, 2238, -1033, 1041, - 30, 323, -1033, 1043, 330, -1033, 1044, 373, -1033, 1045, - -1033, -1033, -1033, -1033, 1181, 1331, 1182, 1058, 2238, 3266, - 1101, 2238, -1033, 2238, -1033, -1033, 2075, 2485, 1186, -1033, - 2238, 4226, 4252, -1033, 1331, 2238, 1187, 1063, -1033, -1033, - -1033, 14, -1033, 1106, -1033, 4278, 1197, -1033, -1033, 1198, - 1220, 1221, 1222, 4304, -1033, -1033, -1033, -1033, -1033, 515, - 2930, -1033, 318, 1894, 30, 1894, 30, 1894, 30, -1033, - 735, 1331, -1033, 3294, -1033, 2238, 3322, 3350, 736, -1033, - -1033, 1089, 2286, 2238, 2238, 743, 2286, -1033, -1033, 1224, - -1033, 2238, -1033, -1033, -1033, -1033, -1033, 1226, 1091, 2238, - -1033, -1033, 3378, 409, 385, 3406, 412, 389, 3434, 422, - 393, 1331, 1227, 1174, 1887, 1096, 2511, -1033, -1033, 1231, - 2238, 6086, 4330, 21, -1033, 4356, 1099, -1033, 3462, 1233, - 2238, 1234, 1237, 2238, 1238, 1239, 2238, 1240, 1107, -1033, - 2238, -1033, 30, -1033, -1033, -1033, 746, -1033, 2238, -1033, - 1331, 2238, 1242, -1033, -1033, 1111, 3490, -1033, -1033, 1113, - 3518, -1033, -1033, 1123, 3546, -1033, 1243, 2530, 429, 2232, - 1244, 1124, 6107, 747, 3574, 1127, 30, 1246, 30, 1248, - 30, 1249, -1033, -1033, -1033, -1033, 30, -1033, 690, -1033, - 1131, 1256, 1260, 432, -1033, 1142, 496, -1033, 1144, 517, - -1033, 1147, 550, 753, -1033, 1151, 1331, -1033, 1152, 1263, - 30, 1264, 30, 1284, 30, -1033, 690, 1286, 690, 757, - 1288, -1033, 552, -1033, 595, -1033, 599, -1033, -1033, 761, - -1033, 1289, -1033, 1290, 1295, 1296, 690, 1297, -1033, -1033, - -1033, -1033, -1033, -1033 + 2752, 35, 67, 2830, -1030, -1030, 2044, 71, 58, -9, + 2, 115, -74, 40, 54, -38, 77, 139, -51, 143, + 195, 131, -27, 142, 151, 288, 74, 289, 29, 235, + 253, 298, 298, 259, 36, 277, 331, 363, 30, 424, + 395, 316, 443, 457, 470, 327, 359, 362, 13, 22, + -1030, 368, -1030, 490, 367, -1030, 505, 516, 10, 26, + -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, + -1030, -1030, -1030, -1030, -1030, -1030, 21, 393, 397, -1030, + -1030, -1030, -106, 64, 189, 203, 225, 256, 285, 320, + 355, 391, 411, 427, 456, 459, 486, 489, 514, 524, + 531, 535, 558, 420, 423, 430, 434, -1030, 569, 440, + -1030, -1030, -1030, -1030, -1030, -1030, -1030, 2256, 2256, 2256, + -1030, -1030, 2256, 1682, 12, 576, 2256, 577, 986, -1030, + 578, 602, 2256, 613, -1030, 2256, -1030, 2256, 2093, 2256, + 2256, 498, 2256, 2093, 2256, 2256, 510, 2093, 2256, 2256, + 1349, 527, 2256, 483, 539, 540, 1349, 515, 554, 570, + 574, 615, 616, 630, 622, 298, 298, 298, 2256, 2256, + -54, -1030, 222, 298, 629, 628, 654, 657, 1912, 248, + 735, 1349, 1349, 32, 645, -1030, -1030, 664, 735, 682, + 683, 766, 2256, 2256, 2256, 687, 2256, 685, 734, 2256, + 2256, -1030, 2256, 829, -1030, -1030, -1030, -1030, 838, -1030, + -1030, 842, 716, 2256, 864, 727, -1030, -1030, 871, 2256, + 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, + 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, + 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, + 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, + 2256, 565, 591, 591, 591, 2256, 883, 624, 770, 770, + 770, 5114, 16, 2093, 4355, 186, 755, 898, 771, 1053, + -1030, -1030, 2256, 2256, 2256, 2256, 2256, 2256, 2256, 2256, + 2256, 2256, 2256, 2256, 2256, 2256, 2256, -1030, -1030, 1130, + 161, 3601, 5135, 679, 767, 2093, -1030, -1030, 2527, -1030, + -65, 5156, 5177, 2256, 5198, 374, 5219, 5240, 2256, 563, + 5261, 5282, 1481, 1199, 2546, 901, -1030, 2256, 5303, 2256, + 2256, 2256, 904, 2256, 2256, 2256, 2219, 2219, 2219, 2219, + 782, -12, -1030, -1030, 3627, 3653, 298, 298, 735, 735, + -7, 2256, 2256, 2256, 2256, 1912, 1912, 2256, 2896, 361, + -1030, -1030, 776, 2896, 81, 913, 915, -1030, 2256, 2256, + 739, 2093, 784, 2256, 2256, -1030, 5324, 5345, 5366, 831, + 3679, -1030, 786, 2566, 5387, 4378, -1030, 953, -1030, 1387, + -1030, 2256, 4401, 163, 2256, 8, -1030, 5408, 4424, 5429, + 4447, 5450, 4470, 5471, 4493, 5492, 4516, 5513, 4539, 5534, + 4562, 5555, 4585, 5576, 4608, 5597, 4631, 5618, 4654, 3705, + 3731, 5639, 4677, 5660, 4700, 5681, 4723, 5702, 4746, 5723, + 4769, 5744, 4792, 3757, 3783, 3809, 3835, 3861, 3887, 571, + 181, 789, 798, 799, 1855, 795, 2256, -1030, 1349, 1349, + 590, 314, 397, 2256, 930, 933, 14, 802, -1030, 2585, + 1193, 1224, 1072, 1072, 707, 707, 707, 707, 141, 141, + 770, 770, 770, 770, -1030, 48, 2093, 2256, 932, 1877, + 2256, 770, -1030, 2256, 2093, 2093, 845, 934, 935, 5765, + 937, 850, 939, 942, 5786, 855, 944, 946, 2093, -1030, + 603, 1613, 2256, 5807, 947, 2653, 5828, 5849, 2256, 2903, + 2931, 5870, 821, 2304, -1030, 822, 823, 824, 825, 298, + 2256, 2256, -1030, -1030, 818, 819, 2256, 4815, 3913, 3939, + 3965, 3575, 42, -32, -43, 68, -1030, 192, 298, 1519, + -1030, -1030, 2256, 2256, -1030, 4838, 4861, -1030, 606, -1030, + 4884, 4907, 956, 963, 964, 835, 2256, 1783, 2256, 2256, + -1030, 0, -1030, -1030, 4930, 377, -1030, 2959, -1030, 841, + 858, 836, -1030, 987, -1030, -1030, -1030, -1030, -1030, -1030, + -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, + -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, + -1030, 2256, 2256, -1030, -1030, -1030, -1030, -1030, -1030, -1030, + -1030, -1030, -1030, -1030, -1030, 2256, 2256, 2256, 2256, 2256, + 2256, 2256, 1002, -1030, 2093, 591, -1030, -1030, -1030, 2256, + 4953, 1005, 1008, 872, -1030, 17, 2256, 1010, 1011, 2197, + -1030, 1012, 886, 13, 1016, -1030, 2256, -1030, 905, 591, + 227, 3991, 298, -1030, 2093, 2987, 2604, 770, -1030, 2527, + -1030, 975, 1349, 1349, 1019, 1349, 614, 1349, 1349, 1021, + 979, 1349, 1349, 619, -1030, 2093, 2285, 1024, 893, 1027, + 1029, 1030, 863, 1031, 1032, 1036, 1040, 1041, 1049, 1050, + 1056, 406, 4017, 4043, -1030, -1030, 3015, 923, 298, 298, + 298, 2093, 2093, 2093, 2093, 1059, 927, 936, 232, -1030, + 517, -1030, 192, 2324, 2343, 1065, 1066, 1026, 1067, 1070, + 1349, 1349, 1349, 1073, 4069, -1030, 2623, 738, 1074, 1075, + 1078, 1076, -1030, 1079, -1030, 948, 2256, 2256, 1349, 949, + -1030, 5891, 4976, 5912, 4999, 5933, 5022, 5954, 5045, 5068, + 952, 261, 954, 5975, -86, -1030, -1030, 356, 352, 950, + 1084, 2362, -1030, -1030, -1030, 13, 2256, -1030, 626, -1030, + 2304, -1030, 1086, 51, 2256, 55, 632, -1030, 2256, 955, + 44, 47, 1349, 1087, 958, 974, 1090, 1110, 1349, 977, + 1116, 1117, -1030, 636, -1030, 1119, 2256, 1349, 1349, 1349, + -1030, 240, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 92, + 2256, 2256, 2256, 985, -1030, -81, -68, 136, 637, 640, + 674, 701, -1030, 1349, 2256, -1030, -1030, 1912, 234, -1030, + -1030, -1030, -1030, 988, -1030, -1030, 1120, 1121, 1038, -1030, + 2256, 2256, 2256, -1030, 1124, 1125, -1030, 163, -1030, 2256, + 4095, 4121, 702, -1030, 2256, -1030, -1030, -1030, -1030, -1030, + -1030, -1030, -1030, 996, -1030, -1030, -1030, -1030, 1349, 397, + 2256, 1132, 1135, 14, -1030, 1134, 5091, 13, -1030, -1030, + -1030, 591, 4147, -1030, 1006, 2304, 2256, -1030, 298, -1030, + 298, 1137, -1030, 2256, 2256, -1030, -1030, 1138, 2256, -1030, + -1030, -1030, 1140, 4173, 1141, 1142, 1051, 2256, 2256, 843, + 1144, 1145, 1147, 1149, 1151, 1153, -1030, 2219, 3043, 5996, + 1163, 735, 2896, 298, 1154, 298, 1155, 298, 1156, 1158, + 1160, 1175, 1176, 560, 1045, 6017, 3071, 522, -1030, 2256, + -1030, -1030, 1349, 2847, 598, 6038, -1030, 1745, -1030, 272, + 2304, 2256, 2256, 1349, 1046, 732, 2304, 1183, 1182, 1184, + 2381, -1030, 1194, 1200, -1030, 1068, -1030, 1201, 2256, -1030, + 3099, 88, 90, -1030, 3127, 3155, -1030, 3183, 1206, 2256, + -1030, -1030, 1165, 1228, 2407, 2426, 1229, -1030, -1030, -1030, + -1030, -1030, -1030, -1030, 2446, 1230, 1097, -1030, 2256, -1030, + 1098, 192, 528, -1030, 1100, 530, -1030, 1101, 566, -1030, + 1103, -1030, -1030, -1030, -1030, 1232, 1349, 1251, 1131, 2256, + 3211, 1169, 2256, -1030, 2256, -1030, -1030, 2093, 2465, 1254, + -1030, 2256, 4199, 4225, -1030, 1349, 2256, 1255, 1136, -1030, + -1030, -1030, 13, -1030, 1179, -1030, 4251, 1267, -1030, -1030, + 1268, 1285, 1286, 1287, 4277, 1186, -1030, -1030, -1030, -1030, + -1030, -1030, 735, 2875, -1030, 305, 1912, 192, 1912, 192, + 1912, 192, -1030, 737, 1349, -1030, 3239, -1030, 2256, 3267, + 3295, 740, -1030, -1030, 1188, 2304, 2256, 2256, 745, 2304, + -1030, -1030, 1288, -1030, 2256, -1030, -1030, -1030, -1030, -1030, + 1291, 2256, 1157, 2256, -1030, -1030, 3323, 587, 307, 3351, + 604, 329, 3379, 617, 380, 1349, 1294, 1242, 1905, 1189, + 2484, -1030, -1030, 1318, 2256, 6059, 4303, 7, -1030, 4329, + 1191, 3407, -1030, 3435, 1325, 2256, 1327, 1328, 2256, 1329, + 1330, 2256, 1332, 1198, -1030, 2256, -1030, 192, -1030, -1030, + -1030, 746, -1030, 2256, -1030, 1349, 2256, 1350, -1030, -1030, + -1030, 1214, 3463, -1030, -1030, 1217, 3491, -1030, -1030, 1221, + 3519, -1030, 1378, 2503, 399, 2250, 1379, 1246, 6080, 752, + 3547, 1248, 192, 1382, 192, 1383, 192, 1384, -1030, -1030, + -1030, -1030, 192, -1030, 591, -1030, 1253, 1385, 1389, 433, + -1030, 1256, 464, -1030, 1257, 469, -1030, 1258, 493, 756, + -1030, 1261, 1349, -1030, 1262, 1396, 192, 1398, 192, 1399, + 192, -1030, 591, 1400, 591, 757, 1401, -1030, 503, -1030, + 507, -1030, 521, -1030, -1030, 760, -1030, 1402, -1030, 1403, + 1404, 1405, 591, 1406, -1030, -1030, -1030, -1030, -1030, -1030 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1033, -1033, -1033, -1033, 531, -1033, -1033, -1033, -1033, 186, - -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, - -1033, -1033, -271, 0, -1033, -241, 1302, -2, -179, -173, - -1033, -1033, -1033, -1033, -1033, 1304, -1033, -1033, -1033, -1033, - -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, - -626, -655, -1033, -1033, -1033, -3, -1033, 263, -1033, -1032, - -143, 347, 66, -618, 436, -1033, -59, 4 + -1030, -1030, -1030, -1030, 647, -1030, -1030, -1030, -1030, 271, + -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, + -1030, -1030, -271, -1, -1030, 212, -1030, 1410, 6, -187, + -175, -1030, -1030, -1030, -1030, -1030, 1418, -1030, -1030, -1030, + -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, -1030, + -1030, -693, -671, -1030, -1030, -1030, -4, -1030, 231, -1030, + -1029, 247, 34, -66, -619, 549, -1030, -59, 5 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1462,144 +1463,159 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -5 static const yytype_int16 yytable[] = { - 211, 65, 1085, 128, 453, 358, 127, 325, 728, 372, - 130, 568, 370, 332, 198, 448, 205, 206, 195, 134, - 642, 151, 5, 275, 212, 767, 705, 1149, 205, 206, - 146, 183, 706, 707, 387, 887, 758, 389, 364, 365, - 366, 883, 367, 889, 141, 137, 647, 206, 103, 104, - 105, 106, 138, 826, 107, 346, 347, 4, 880, 1047, - 103, 104, 105, 106, 1048, 174, 107, 346, 347, 160, - 131, 923, 161, 924, 485, 162, 486, 163, 103, 104, - 105, 106, 218, 519, 107, 888, 828, 346, 347, 569, - 570, 571, 572, 890, 132, 825, 515, 516, 517, 147, - 346, 347, 705, 526, 175, 152, 142, 176, 706, 707, - 177, 276, 277, 143, 268, 269, 270, 348, 1173, 271, - 274, 449, 133, 279, 759, 760, 141, 184, 475, 299, - 136, 146, 301, 476, 302, 308, 311, 312, 729, 314, - 308, 316, 317, 199, 308, 320, 321, 875, 573, 328, - 120, 121, 207, 135, 196, 213, 643, 214, 346, 347, - 648, 1150, 215, 634, 210, 344, 345, 185, 150, 524, - 525, 368, 648, 826, 1219, 345, 346, 347, 361, 139, - 636, 346, 347, 140, 166, 167, 361, 539, 142, 376, - 377, 378, 144, 380, 168, 702, 383, 384, 145, 385, - 703, 178, 440, 441, 442, 443, 623, 137, 557, 315, - 392, 624, 148, 319, 701, 149, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 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, 149, 966, - 346, 347, 444, 541, 542, 704, 113, 114, 115, 116, - 308, 293, 294, 295, 153, 454, 634, 349, 296, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 170, 172, 154, 179, 452, 773, - 346, 347, 481, 155, 485, 631, 632, 865, 166, 167, - 489, 159, 485, 346, 347, 494, 705, 360, 168, 481, - 308, 869, 706, 707, 503, 169, 505, 506, 507, 538, - 509, 510, 511, 513, 513, 513, 513, 120, 121, 450, - 514, 514, 514, 514, 346, 347, 361, 361, 527, 528, - 529, 530, 268, 269, 531, 164, 156, 346, 347, 157, - 925, 158, 926, 165, 1029, 545, 546, 173, 308, 1030, - 550, 551, 180, 927, 1062, 928, 205, 206, 181, 113, - 114, 115, 116, 182, 219, 938, 220, 186, 564, 500, - 705, 567, 221, 566, 222, 187, 706, 707, 188, 120, - 121, 113, 114, 115, 116, 189, 635, 826, 103, 104, - 105, 106, 907, 908, 107, 346, 347, 346, 347, 346, - 347, 120, 121, 1089, 113, 114, 115, 116, 341, 190, - 343, 810, 223, 827, 224, 1018, 350, 548, 1104, 191, - 1107, 359, 1110, 630, 120, 121, 346, 347, 192, 826, - 639, 637, 826, 346, 347, 826, 638, 705, 225, 1101, - 226, 705, 1063, 706, 707, 705, 193, 706, 707, 1065, - 194, 706, 707, 308, 651, 200, 630, 655, 916, 917, - 656, 657, 659, 201, 203, 309, 868, 870, 202, 227, - 309, 228, 204, 265, 309, 308, 346, 347, 657, 676, - 217, 705, 120, 121, 705, 682, 733, 706, 707, 731, - 706, 707, 1067, 826, 120, 121, 1168, 692, 693, 780, - 781, 731, 783, 696, 786, 787, 1131, 261, 790, 791, - 1134, 262, 346, 347, 1137, 346, 347, 263, 826, 713, - 714, 826, 650, 264, 826, 346, 347, 826, 1130, 266, - 1193, 1133, 1196, 724, 1199, 726, 727, 229, 278, 230, - 1202, 1136, 280, 297, 673, 732, 752, 826, 705, 826, - 1184, 826, 298, 1209, 706, 707, 300, 836, 837, 838, - 30, 31, 32, 33, 1222, 35, 1224, 313, 1226, 705, - 772, 40, 41, 318, 327, 706, 707, 483, 741, 742, - 340, 330, 291, 292, 293, 294, 295, 329, 331, 522, - 523, 296, 743, 744, 745, 746, 747, 748, 749, 343, - 309, 308, 705, 231, 705, 232, 753, 333, 706, 707, - 706, 707, 233, 761, 234, 120, 121, 1211, 334, 891, - 446, 922, 214, 770, 235, 897, 236, 215, 351, 439, - 206, 308, 482, 335, 904, 905, 906, 336, 1213, 909, - 910, 911, 912, 913, 914, 915, 237, 705, 238, 482, - 309, 705, 308, 706, 707, 337, 338, 706, 707, 339, - 934, 103, 104, 105, 106, 352, 239, 107, 240, 353, - 751, 1215, 379, 1233, 205, 206, 369, 375, 308, 308, - 308, 308, 354, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 501, 294, 295, 241, 309, 242, - 776, 296, 485, 373, 491, 958, 103, 104, 105, 106, - 1014, 371, 107, 850, 851, 243, 1234, 244, 120, 121, - 1235, 793, 999, 479, 374, 214, 1023, 245, 382, 246, - 215, 247, 381, 248, 732, 249, 386, 250, 871, 251, - 253, 252, 254, 876, 255, 388, 256, 818, 819, 820, - 821, 882, 257, 390, 258, 885, 259, 485, 260, 495, - 393, 391, 691, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 621, 903, 622, 485, 296, 633, 485, 1020, - 674, 710, 485, 784, 717, 785, 394, 918, 919, 920, - 1033, 485, 877, 792, 878, 485, 485, 884, 901, 396, - 933, 935, 967, 309, 936, 485, 485, 929, 930, 445, - 296, 658, 660, 485, 485, 931, 932, 943, 944, 945, - 953, 985, 954, 986, 455, 309, 950, 948, 658, 456, - 457, 956, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 1035, 960, 1036, 800, - 296, 480, 1070, 959, 1111, 485, 1112, 1119, 502, 1024, - 1098, 508, 953, 970, 1123, 1035, 953, 1170, 1190, 518, - 974, 975, 1216, 540, 1217, 977, 953, 543, 1231, 1114, - 1236, 544, 1237, 549, 983, 984, 555, 626, 558, 625, - 629, 627, 640, 641, 993, 775, 645, 652, 661, 361, - 662, 994, 663, 665, 801, 666, 281, 670, 1113, 667, - 668, 671, 672, 678, 686, 687, 1019, 688, 689, 690, - 694, 720, 721, 722, 1027, 723, 695, 738, 1031, 1032, - 736, 1028, 737, 740, 750, 755, 757, 756, 762, 763, - 766, 815, 816, 817, 765, 1045, 769, 771, 1138, 782, - 1169, 309, 788, 795, 796, 797, 1053, 282, 283, 284, + 211, 372, 128, 358, 453, 127, 1088, 728, 134, 65, + 370, 130, 568, 1154, 205, 206, 275, 195, 642, 828, + 146, 758, 151, 448, 767, 212, 198, 219, 146, 220, + 205, 206, 387, 141, 183, 389, 366, 826, 367, 141, + 174, 4, 346, 347, 120, 121, 103, 104, 105, 106, + 887, 731, 107, 889, 647, 346, 347, 880, 923, 137, + 924, 883, 103, 104, 105, 106, 138, 5, 107, 346, + 347, 925, 160, 926, 485, 161, 486, 315, 162, 175, + 163, 319, 176, 218, 131, 177, 348, 541, 542, 147, + 569, 570, 571, 572, 1048, 142, 1049, 703, 916, 917, + 888, 142, 143, 890, 276, 277, 152, 132, 702, 759, + 760, 346, 347, 268, 269, 270, 346, 347, 271, 274, + 156, 136, 279, 157, 133, 158, 1179, 519, 299, 449, + 184, 301, 526, 302, 308, 311, 312, 729, 314, 308, + 316, 317, 135, 308, 320, 321, 875, 1155, 328, 573, + 207, 120, 121, 196, 643, 199, 213, 826, 214, 166, + 167, 524, 525, 215, 344, 345, 210, 368, 648, 168, + 185, 648, 309, 139, 345, 137, 178, 309, 346, 347, + 636, 309, 701, 1225, 150, 539, 361, 140, 376, 377, + 378, 153, 380, 452, 361, 383, 384, 221, 385, 222, + 154, 149, 440, 441, 442, 443, 557, 450, 704, 392, + 144, 346, 347, 346, 347, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 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, 500, 966, 346, + 347, 444, 170, 172, 705, 179, 293, 294, 295, 308, + 706, 707, 145, 296, 454, 927, 148, 928, 459, 460, + 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, + 471, 472, 473, 120, 121, 475, 113, 114, 115, 116, + 476, 481, 907, 908, 705, 548, 705, 309, 1065, 489, + 706, 707, 706, 707, 494, 623, 120, 121, 481, 308, + 624, 634, 223, 503, 224, 505, 506, 507, 149, 509, + 510, 511, 513, 513, 513, 513, 225, 155, 226, 482, + 159, 514, 514, 514, 514, 346, 347, 527, 528, 529, + 530, 268, 269, 531, 361, 361, 482, 309, 227, 869, + 228, 773, 349, 634, 545, 546, 485, 308, 164, 550, + 551, 346, 347, 825, 1108, 938, 1111, 705, 1114, 705, + 181, 205, 206, 706, 707, 706, 707, 564, 360, 229, + 567, 230, 566, 165, 826, 865, 341, 325, 343, 173, + 485, 705, 206, 332, 350, 309, 1030, 706, 707, 359, + 650, 1031, 182, 103, 104, 105, 106, 180, 231, 107, + 232, 166, 167, 1092, 113, 114, 115, 116, 364, 365, + 186, 168, 673, 103, 104, 105, 106, 826, 169, 107, + 826, 187, 630, 826, 120, 121, 1105, 189, 1136, 639, + 637, 635, 705, 233, 1174, 234, 188, 638, 706, 707, + 192, 190, 113, 114, 115, 116, 113, 114, 115, 116, + 1139, 705, 308, 651, 191, 630, 655, 706, 707, 656, + 657, 659, 120, 121, 346, 347, 868, 870, 235, 1199, + 236, 1202, 193, 1205, 308, 194, 201, 657, 676, 1208, + 538, 200, 202, 826, 682, 705, 733, 120, 121, 203, + 309, 706, 707, 485, 731, 491, 692, 693, 658, 660, + 204, 1142, 696, 1228, 237, 1230, 238, 1232, 826, 346, + 347, 826, 309, 217, 826, 658, 705, 826, 713, 714, + 1190, 705, 706, 707, 239, 810, 240, 706, 707, 515, + 516, 517, 724, 261, 726, 727, 262, 826, 751, 826, + 241, 826, 242, 263, 732, 705, 752, 264, 483, 439, + 206, 706, 707, 266, 1215, 705, 265, 522, 523, 705, + 278, 706, 707, 280, 297, 706, 707, 343, 776, 243, + 772, 244, 245, 705, 246, 205, 206, 741, 742, 706, + 707, 103, 104, 105, 106, 1217, 1024, 107, 298, 793, + 1219, 743, 744, 745, 746, 747, 748, 749, 300, 247, + 308, 248, 249, 329, 250, 753, 340, 103, 104, 105, + 106, 313, 761, 107, 1221, 818, 819, 820, 821, 922, + 346, 347, 770, 318, 1239, 346, 347, 251, 1240, 252, + 308, 346, 347, 346, 347, 333, 827, 253, 309, 254, + 327, 1019, 1241, 784, 255, 785, 256, 1066, 257, 1068, + 258, 308, 330, 331, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 501, 294, 295, 309, 346, + 347, 259, 296, 260, 334, 631, 632, 308, 308, 308, + 308, 1015, 485, 335, 495, 1070, 621, 336, 622, 309, + 346, 347, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 1135, 346, 347, 485, + 296, 633, 850, 851, 1000, 309, 309, 309, 309, 1025, + 346, 347, 485, 1138, 674, 485, 842, 717, 337, 338, + 691, 7, 8, 732, 120, 121, 1141, 871, 485, 446, + 792, 214, 876, 339, 351, 877, 215, 878, 352, 710, + 882, 485, 375, 884, 885, 485, 485, 901, 929, 485, + 369, 930, 532, 13, 14, 533, 16, 17, 534, 19, + 535, 21, 903, 22, 353, 24, 25, 354, 27, 28, + 30, 31, 32, 33, 371, 35, 918, 919, 920, 120, + 121, 40, 41, 485, 479, 931, 214, 373, 374, 933, + 935, 215, 967, 936, 379, 381, 45, 46, 47, 382, + 291, 292, 293, 294, 295, 386, 943, 944, 945, 296, + 485, 953, 932, 954, 388, 950, 948, 986, 390, 987, + 956, 391, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 960, 394, 393, 800, + 296, 1036, 843, 1037, 959, 1102, 1115, 396, 1116, 485, + 547, 1123, 970, 775, 953, 1036, 1127, 1176, 445, 974, + 975, 953, 455, 1196, 977, 1222, 953, 1223, 1237, 1242, + 1118, 1243, 296, 984, 985, 456, 457, 480, 502, 780, + 781, 508, 783, 994, 786, 787, 518, 540, 790, 791, + 543, 544, 995, 555, 801, 549, 558, 361, 625, 815, + 816, 817, 626, 627, 629, 1020, 640, 641, 645, 652, + 661, 662, 663, 1028, 665, 666, 667, 1032, 1033, 668, + 670, 671, 1029, 672, 678, 686, 687, 688, 689, 694, + 695, 1081, 690, 720, 1046, 7, 8, 836, 837, 838, + 721, 722, 723, 1175, 736, 1054, 738, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 779, 789, 798, 1060, 296, 799, 802, 803, 804, - 805, 309, 806, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 1073, 807, 808, 1076, 296, - 1077, 809, 309, 308, 814, 822, 823, 1082, 831, 824, - 832, 833, 1086, 834, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 309, 309, - 309, 309, 296, 835, 842, 839, 844, 361, 845, 846, - 1102, 847, 1105, 849, 1108, 848, 864, 7, 8, 854, - 872, 866, 1116, 873, 879, 892, 895, 896, 886, 893, - 1121, 1122, 899, 894, 898, 900, 902, 942, 1125, 940, - 937, 941, 1078, 946, 921, 939, 1128, 947, 532, 13, - 14, 533, 16, 17, 534, 19, 535, 21, 957, 22, - 961, 24, 25, 962, 27, 28, 964, 956, 973, 969, - 976, 978, 1041, 980, 981, 982, 987, 1156, 988, 1204, - 1160, 989, 990, 1164, 991, 992, 1002, 1167, 1005, 1008, - 1010, 1011, 45, 46, 47, 1172, 1012, 1013, 1174, 1037, - 1015, 971, 1034, 972, 1038, 1039, 1042, 1227, 1043, 1230, + 295, 737, 281, 740, 1063, 296, 532, 13, 14, 533, + 16, 17, 534, 19, 535, 21, 750, 22, 757, 24, + 25, 755, 27, 28, 756, 1076, 762, 763, 1079, 765, + 1080, 766, 769, 308, 779, 771, 782, 1085, 788, 891, + 789, 795, 1089, 796, 797, 897, 798, 799, 802, 803, + 45, 46, 47, 804, 904, 905, 906, 805, 806, 909, + 910, 911, 912, 913, 914, 915, 807, 808, 937, 458, + 809, 309, 1106, 814, 1109, 822, 1112, 823, 361, 824, + 934, 831, 832, 834, 1120, 833, 835, 839, 844, 845, + 847, 849, 1125, 1126, 846, 848, 864, 872, 866, 854, + 1129, 873, 879, 892, 562, 886, 895, 1131, 893, 1133, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 1044, 1052, 1059, 1242, 296, 1056, - 843, 1058, 1061, 1064, 1066, 1068, 1001, 1069, 1004, 1071, - 1007, 1075, 1080, 1087, 75, 303, 547, 1088, 1072, 1090, - 79, 80, 81, 1092, 1093, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 1094, 1095, 1096, 1120, - 1124, 1126, 1127, 1139, 304, 1140, 1143, 1145, 1152, 1154, - 1157, 7, 8, 1158, 1161, 1162, 1165, 1175, 1166, 1182, - 1187, 1176, 1194, 1178, 1197, 1200, 30, 31, 32, 33, - 34, 35, 1207, 1180, 1188, 1208, 1192, 40, 41, 1221, - 1223, 1206, 532, 13, 14, 533, 16, 17, 534, 19, - 535, 21, 1210, 22, 1212, 24, 25, 1214, 27, 28, - 1225, 1218, 1228, 1220, 1232, 1238, 1239, 109, 110, 111, - 112, 1240, 1241, 1243, 881, 64, 1146, 71, 0, 963, - 0, 0, 0, 0, 117, 305, 45, 46, 47, 119, - 0, 0, 0, 0, 122, 0, 1103, 0, 1106, 125, - 1109, 0, 499, 0, 75, 303, 0, 0, 0, 0, + 292, 293, 294, 295, 894, 958, 896, 898, 296, 971, + 956, 972, 899, 900, 902, 921, 940, 941, 939, 942, + 946, 1162, 947, 957, 1166, 1210, 474, 1170, 961, 962, + 964, 1173, 969, 973, 976, 978, 982, 980, 981, 1178, + 988, 989, 1180, 990, 1002, 991, 1005, 992, 1008, 993, + 1003, 1006, 1009, 1233, 1011, 1236, 1012, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 1013, 1014, 1248, 1016, 296, 1035, 1038, 1039, 1021, + 1040, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 1034, 1042, 75, 303, 296, 1044, 1043, 1045, 79, 80, + 81, 1053, 1055, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 1056, 1059, 1061, 1062, 1072, 1064, + 1067, 1069, 304, 1071, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 1074, 1078, + 1083, 1090, 296, 1073, 30, 31, 32, 33, 34, 35, + 1091, 1075, 1093, 1095, 1096, 40, 41, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 1097, 1098, 1099, 1128, 296, 1130, 1107, 1132, 1110, + 1144, 1113, 998, 1145, 999, 109, 110, 111, 112, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 1117, 117, 305, 1150, 296, 1101, 119, 1124, 1148, + 1157, 1160, 122, 1163, 1164, 1167, 1168, 125, 1171, 1172, + 499, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 75, 303, 1182, 1181, 296, 1184, 79, 80, + 81, 1186, 1143, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 1188, 1193, 1194, 1198, 1200, 1203, + 1206, 1213, 304, 1212, 1214, 1151, 1216, 1218, 1220, 7, + 8, 1224, 1227, 1226, 1229, 1231, 1234, 1238, 1244, 1245, + 1246, 1247, 1249, 64, 30, 31, 32, 33, 34, 35, + 881, 71, 963, 0, 0, 40, 41, 0, 0, 0, + 532, 13, 14, 533, 16, 17, 534, 19, 535, 21, + 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, + 0, 0, 0, 0, 0, 109, 110, 111, 112, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 117, 322, 45, 46, 47, 119, 0, 0, + 0, 0, 122, 0, 75, 303, 0, 125, 0, 323, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 0, 0, 0, - 562, 0, 0, 309, 304, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 304, 0, 0, 0, 563, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 40, 41, 0, @@ -1607,628 +1623,625 @@ static const yytype_int16 yytable[] = 535, 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 117, 322, 45, 46, 47, 119, + 0, 0, 0, 0, 117, 305, 45, 46, 47, 119, 0, 0, 0, 0, 122, 0, 75, 303, 0, 125, - 0, 323, 79, 80, 81, 0, 0, 82, 83, 84, + 0, 498, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, - 563, 0, 0, 7, 8, 0, 0, 0, 0, 0, + 711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 40, - 41, 0, 0, 0, 532, 13, 14, 533, 16, 17, - 534, 19, 535, 21, 0, 22, 0, 24, 25, 0, - 27, 28, 0, 0, 0, 0, 0, 0, 0, 109, + 32, 33, 34, 35, 0, 75, 267, 0, 0, 40, + 41, 79, 80, 81, 0, 0, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 117, 305, 45, 46, - 47, 119, 0, 0, 0, 0, 122, 0, 75, 303, - 0, 125, 0, 498, 79, 80, 81, 0, 0, 82, + 0, 0, 0, 0, 0, 0, 117, 305, 0, 0, + 0, 119, 0, 0, 0, 0, 122, 0, 75, 267, + 206, 125, 0, 675, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, - 0, 0, 711, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 30, 31, 32, 33, 34, 35, 0, 75, 267, 0, - 0, 40, 41, 79, 80, 81, 0, 0, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, + 0, 103, 104, 105, 106, 0, 0, 107, 109, 110, + 111, 112, 0, 0, 0, 7, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 117, 118, 0, 0, 0, + 119, 0, 0, 0, 0, 122, 0, 0, 272, 0, + 125, 0, 273, 0, 0, 0, 532, 13, 14, 533, + 16, 17, 534, 19, 535, 21, 0, 22, 0, 24, + 25, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 117, 305, - 0, 0, 0, 119, 0, 0, 0, 0, 122, 0, - 75, 267, 206, 125, 0, 675, 79, 80, 81, 0, + 0, 628, 0, 0, 0, 0, 0, 0, 117, 118, + 45, 46, 47, 119, 0, 0, 0, 0, 122, 0, + 75, 267, 0, 125, 0, 1027, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 0, 103, 104, 105, 106, 0, 0, 107, - 109, 110, 111, 112, 0, 0, 0, 7, 8, 0, - 0, 0, 0, 0, 0, 0, 0, 117, 118, 0, - 0, 0, 119, 0, 0, 0, 0, 122, 0, 0, - 272, 0, 125, 0, 273, 0, 0, 0, 532, 13, + 101, 102, 0, 0, 0, 75, 267, 7, 8, 0, + 0, 79, 80, 81, 725, 0, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 0, 532, 13, 14, 533, 16, 17, 534, 19, 535, 21, 0, 22, - 0, 24, 25, 0, 27, 28, 0, 0, 0, 0, - 0, 0, 0, 109, 110, 111, 112, 0, 0, 0, - 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, - 117, 118, 45, 46, 47, 119, 0, 0, 0, 0, - 122, 0, 75, 267, 0, 125, 0, 1026, 79, 80, - 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 0, 0, 0, 75, 267, 7, - 8, 0, 0, 79, 80, 81, 725, 0, 82, 83, + 0, 24, 25, 0, 27, 28, 0, 0, 0, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 109, 110, 111, 112, 296, 0, 0, + 0, 0, 45, 46, 47, 0, 0, 0, 0, 0, + 117, 118, 0, 0, 0, 119, 0, 0, 0, 0, + 122, 0, 0, 653, 0, 125, 0, 654, 109, 110, + 111, 112, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 355, 356, 0, 0, 0, + 119, 0, 0, 0, 0, 357, 1146, 75, 76, 77, + 125, 78, 169, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, - 532, 13, 14, 533, 16, 17, 534, 19, 535, 21, - 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, - 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 109, 110, 111, 112, 296, - 0, 0, 0, 0, 45, 46, 47, 0, 0, 0, - 0, 0, 117, 118, 0, 0, 0, 119, 0, 0, - 0, 0, 122, 0, 0, 653, 0, 125, 0, 654, - 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 355, 356, 0, - 0, 0, 119, 0, 0, 0, 0, 357, 1141, 75, - 76, 77, 125, 78, 169, 79, 80, 81, 0, 0, + 103, 104, 105, 106, 0, 0, 107, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 303, 0, 0, + 0, 0, 79, 80, 81, 0, 0, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 0, 0, + 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, + 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, + 109, 110, 111, 112, 113, 114, 115, 116, 30, 31, + 32, 33, 34, 35, 0, 0, 0, 117, 118, 40, + 41, 0, 119, 0, 120, 121, 0, 122, 0, 123, + 0, 124, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, + 110, 111, 112, 764, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 117, 305, 0, 0, + 0, 119, 75, 267, 206, 0, 122, 0, 79, 80, + 81, 125, 0, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 0, 103, 104, 105, 106, 75, + 267, 107, 7, 8, 0, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 0, 103, 104, 105, 106, 0, 0, 107, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 75, 303, - 0, 0, 0, 0, 79, 80, 81, 0, 0, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, - 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, - 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, - 30, 31, 32, 33, 34, 35, 0, 0, 0, 117, - 118, 40, 41, 0, 119, 0, 120, 121, 0, 122, - 0, 123, 0, 124, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 109, 110, 111, 112, 474, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 117, 305, - 0, 0, 0, 119, 75, 267, 206, 0, 122, 0, - 79, 80, 81, 125, 0, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 0, 103, 104, 105, - 106, 75, 267, 107, 7, 8, 0, 79, 80, 81, - 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 628, 0, 532, 13, 14, 533, 16, - 17, 534, 19, 535, 21, 0, 22, 0, 24, 25, - 0, 27, 28, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 109, 110, 111, - 112, 296, 764, 0, 0, 0, 0, 0, 0, 45, - 46, 47, 0, 0, 117, 118, 0, 0, 0, 119, - 0, 794, 0, 0, 122, 0, 0, 0, 0, 125, - 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, - 829, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 117, 118, 0, 0, 0, 119, 0, 0, 830, - 0, 122, 0, 1185, 0, 0, 125, 0, 0, 0, - 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 874, 0, 0, 0, 296, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 1040, 0, 0, 0, 296, 0, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 1054, 0, 0, 0, 296, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 1055, 0, 0, 0, 296, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 1057, 0, 0, 0, 296, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 1079, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 1144, 0, 0, - 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 1183, 0, 0, 0, - 296, 0, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 483, 0, 0, - 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 483, 0, 0, 296, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 559, 0, 0, 296, 282, + 102, 794, 0, 532, 13, 14, 533, 16, 17, 534, + 19, 535, 21, 0, 22, 0, 24, 25, 0, 27, + 28, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 109, 110, 111, 112, 296, + 829, 0, 0, 0, 0, 0, 0, 45, 46, 47, + 0, 0, 117, 118, 0, 0, 0, 119, 0, 830, + 0, 0, 122, 0, 0, 0, 0, 125, 0, 0, + 0, 0, 109, 110, 111, 112, 0, 0, 874, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, + 118, 0, 0, 0, 119, 0, 0, 1041, 0, 122, + 0, 1191, 0, 0, 125, 0, 0, 0, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 646, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 778, - 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 841, 0, - 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 484, 294, 295, 0, 0, 0, - 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 501, 294, 295, 0, 0, 0, 0, - 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, -4, - 1, 0, 296, -4, 0, 0, 0, 0, 0, 0, - 0, -4, -4, 0, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, -4, 0, 0, 0, 0, -4, - -4, 679, -4, -4, -4, -4, -4, -4, -4, -4, - -4, -4, 0, -4, -4, -4, -4, -4, -4, -4, - 0, 0, 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, - 0, 22, 23, 24, 25, 26, 27, 28, 0, 0, - 0, 29, 30, 31, 32, 33, 34, 35, 0, 36, - 37, 38, 39, 40, 41, 7, 8, 42, 43, 0, - 0, 0, 0, 44, 45, 46, 47, 0, 0, 48, - 0, 49, 0, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 0, 0, 0, 532, 13, 14, 533, - 16, 17, 534, 19, 535, 21, 0, 22, 0, 24, - 25, 0, 27, 28, 0, 0, 0, 0, 282, 283, + 293, 294, 295, 1057, 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 45, 46, 47, 997, 0, 998, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 1021, 0, 1022, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 1099, - 0, 1100, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 0, 0, 683, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 0, 0, 684, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 0, 0, 734, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 0, 0, 777, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, - 0, 813, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 0, 0, 995, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 0, 0, 1017, 282, 283, + 294, 295, 1058, 0, 0, 0, 296, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 0, 0, 1046, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 0, 0, 1049, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, - 0, 1050, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 0, 0, 1051, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 0, 0, 1074, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 0, 0, 1115, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 0, 0, 1117, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, - 0, 1118, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 0, 0, 1129, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 0, 0, 1132, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 0, 0, 1135, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 0, 0, 1153, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, - 0, 1177, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 0, 0, 1179, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 0, 0, 1181, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 0, 0, 1191, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 447, 0, 0, 0, - 0, 520, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 477, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 520, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 521, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 556, 282, 283, 284, 285, + 294, 295, 1060, 0, 0, 0, 296, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 1082, 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 601, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 602, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 615, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 616, + 1149, 0, 0, 0, 296, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 1189, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 483, 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 617, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 618, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 619, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 620, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 698, + 292, 293, 294, 295, 483, 0, 0, 0, 296, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 699, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 700, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 774, 282, 283, + 292, 293, 294, 295, 559, 0, 0, 0, 296, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 646, 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 811, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 812, + 294, 295, 778, 0, 0, 0, 296, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 841, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 484, 294, 295, 0, 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 840, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 951, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 952, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 968, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 979, + 292, 501, 294, 295, 0, 0, 0, 0, 296, 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 1083, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 1084, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 1091, 282, 283, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 0, 0, 0, 1097, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 0, 0, 0, 1148, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 0, 0, 0, 1151, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 451, 282, + 294, 295, 0, 0, 0, 0, 296, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, -4, 1, 0, 296, -4, 0, 0, 0, + 0, 0, 0, 0, -4, -4, 0, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, -4, 0, 0, + 0, 0, -4, -4, 679, -4, -4, -4, -4, -4, + -4, -4, -4, -4, -4, 0, -4, -4, -4, -4, + -4, -4, -4, 0, 0, 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, 0, 22, 23, 24, 25, 26, 27, + 28, 0, 0, 0, 29, 30, 31, 32, 33, 34, + 35, 0, 36, 37, 38, 39, 40, 41, 7, 8, + 42, 43, 0, 0, 0, 0, 44, 45, 46, 47, + 0, 0, 48, 0, 49, 0, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 0, 0, 0, 532, + 13, 14, 533, 16, 17, 534, 19, 535, 21, 0, + 22, 0, 24, 25, 0, 27, 28, 0, 0, 0, + 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 45, 46, 47, 1022, 0, 1023, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 1103, 0, 1104, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 0, 0, 683, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 0, 0, 684, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, + 734, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 0, 0, 777, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 0, 0, 813, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 0, 0, 996, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 0, 0, 1018, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, + 1047, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 0, 0, 1050, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 0, 0, 1051, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 0, 0, 1052, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 0, 0, 1077, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, + 1119, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 0, 0, 1121, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 0, 0, 1122, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 0, 0, 1134, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 0, 0, 1137, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, + 1140, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 0, 0, 1158, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 0, 0, 1159, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 0, 0, 1183, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 0, 0, 1185, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, + 1187, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 0, 0, 1197, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 447, + 0, 0, 0, 0, 520, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 477, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 520, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 521, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 556, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 561, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 0, 0, 0, 601, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 602, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 615, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 616, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 617, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 618, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 619, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 620, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 698, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 699, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 700, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 774, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 811, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 812, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 840, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 951, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 952, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 968, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 979, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 1086, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 1087, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, + 1094, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 0, 0, 0, 0, 0, 0, 1100, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 1153, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 0, 1156, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 451, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 565, 282, 283, 284, 285, 286, + 296, 0, 0, 0, 561, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 580, 282, 283, + 0, 0, 0, 296, 0, 0, 0, 565, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 582, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 580, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 584, 282, 283, 284, 285, 286, 287, + 0, 0, 0, 582, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 586, 282, 283, 284, + 0, 0, 296, 0, 0, 0, 584, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 588, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 586, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 590, 282, 283, 284, 285, 286, 287, 288, + 0, 0, 588, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 592, 282, 283, 284, 285, + 0, 296, 0, 0, 0, 590, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 594, 282, + 0, 0, 0, 0, 296, 0, 0, 0, 592, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 596, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 594, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 598, 282, 283, 284, 285, 286, + 296, 0, 0, 0, 596, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 600, 282, 283, + 0, 0, 0, 296, 0, 0, 0, 598, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 604, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 600, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 606, 282, 283, 284, 285, 286, 287, + 0, 0, 0, 604, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 608, 282, 283, 284, + 0, 0, 296, 0, 0, 0, 606, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 610, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 608, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 612, 282, 283, 284, 285, 286, 287, 288, + 0, 0, 610, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 614, 282, 283, 284, 285, + 0, 296, 0, 0, 0, 612, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 697, 282, + 0, 0, 0, 0, 296, 0, 0, 0, 614, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 715, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 697, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 716, 282, 283, 284, 285, 286, + 296, 0, 0, 0, 715, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 718, 282, 283, + 0, 0, 0, 296, 0, 0, 0, 716, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 719, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 718, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 730, 282, 283, 284, 285, 286, 287, + 0, 0, 0, 719, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 754, 282, 283, 284, + 0, 0, 296, 0, 0, 0, 730, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 856, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 754, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 858, 282, 283, 284, 285, 286, 287, 288, + 0, 0, 856, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 860, 282, 283, 284, 285, + 0, 296, 0, 0, 0, 858, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 862, 282, + 0, 0, 0, 0, 296, 0, 0, 0, 860, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 863, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 862, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 965, 282, 283, 284, 285, 286, + 296, 0, 0, 0, 863, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 447, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 478, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 487, 282, 283, + 0, 0, 0, 296, 0, 0, 0, 965, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 488, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 447, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 490, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 478, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 492, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 487, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 493, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 488, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 496, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 490, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 497, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 492, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 504, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 493, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 552, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 496, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 553, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 497, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 554, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 504, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 560, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 552, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 579, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 553, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 581, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 554, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 583, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 560, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 585, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 579, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 587, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 581, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 589, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 583, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 591, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 585, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 593, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 587, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 595, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 589, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 597, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 591, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 599, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 593, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 603, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 595, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 605, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 597, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 607, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 599, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 609, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 603, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 611, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 605, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 613, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 607, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 664, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 609, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 669, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 611, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 677, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 613, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 680, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 664, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 681, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 669, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 685, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 677, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 855, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 680, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 857, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 681, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 859, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 685, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 861, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 855, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 867, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 857, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 996, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 859, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 1016, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 861, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 1025, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 867, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 1147, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 997, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 1189 + 0, 1017, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 1026, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, + 0, 296, 0, 1152, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 1195 }; static const yytype_int16 yycheck[] = { - 59, 3, 1034, 6, 275, 178, 6, 150, 7, 188, - 6, 4, 185, 156, 4, 7, 4, 5, 4, 6, - 4, 49, 0, 4, 4, 643, 72, 6, 4, 5, - 71, 4, 78, 79, 207, 6, 4, 210, 181, 182, - 4, 6, 6, 6, 71, 133, 6, 5, 36, 37, - 38, 39, 140, 708, 42, 123, 124, 6, 6, 6, - 36, 37, 38, 39, 6, 4, 42, 123, 124, 43, - 13, 139, 46, 141, 139, 49, 141, 51, 36, 37, - 38, 39, 78, 139, 42, 56, 712, 123, 124, 82, - 83, 84, 85, 56, 49, 141, 337, 338, 339, 140, - 123, 124, 72, 139, 43, 133, 133, 46, 78, 79, - 49, 92, 93, 140, 117, 118, 119, 140, 1150, 122, - 123, 113, 133, 126, 92, 93, 71, 100, 134, 132, - 6, 71, 135, 139, 137, 138, 139, 140, 137, 142, - 143, 144, 145, 133, 147, 148, 149, 765, 141, 152, - 130, 131, 140, 140, 140, 135, 140, 137, 123, 124, - 120, 140, 142, 7, 140, 168, 169, 140, 53, 348, - 349, 135, 120, 828, 1206, 178, 123, 124, 180, 133, - 451, 123, 124, 133, 123, 124, 188, 360, 133, 192, - 193, 194, 133, 196, 133, 140, 199, 200, 133, 202, - 140, 140, 261, 262, 263, 264, 134, 133, 381, 143, - 213, 139, 133, 147, 140, 133, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 133, 877, - 123, 124, 265, 6, 7, 140, 110, 111, 112, 113, - 273, 125, 126, 127, 49, 275, 7, 140, 132, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 31, 32, 49, 34, 7, 134, - 123, 124, 305, 49, 139, 448, 449, 134, 123, 124, - 313, 51, 139, 123, 124, 318, 72, 140, 133, 322, - 323, 7, 78, 79, 327, 140, 329, 330, 331, 139, - 333, 334, 335, 336, 337, 338, 339, 130, 131, 273, - 336, 337, 338, 339, 123, 124, 348, 349, 351, 352, - 353, 354, 355, 356, 357, 133, 46, 123, 124, 49, - 139, 51, 141, 140, 134, 368, 369, 140, 371, 139, - 373, 374, 140, 139, 1000, 141, 4, 5, 49, 110, - 111, 112, 113, 49, 133, 141, 135, 6, 391, 323, - 72, 394, 133, 393, 135, 46, 78, 79, 140, 130, - 131, 110, 111, 112, 113, 4, 137, 1062, 36, 37, - 38, 39, 62, 63, 42, 123, 124, 123, 124, 123, - 124, 130, 131, 1041, 110, 111, 112, 113, 165, 4, - 167, 139, 133, 139, 135, 139, 173, 371, 1064, 4, - 1066, 178, 1068, 446, 130, 131, 123, 124, 133, 1104, - 453, 451, 1107, 123, 124, 1110, 452, 72, 133, 141, - 135, 72, 139, 78, 79, 72, 133, 78, 79, 139, - 133, 78, 79, 476, 477, 133, 479, 480, 6, 7, - 483, 484, 485, 6, 4, 138, 757, 758, 135, 133, - 143, 135, 4, 7, 147, 498, 123, 124, 501, 502, - 140, 72, 130, 131, 72, 508, 565, 78, 79, 137, - 78, 79, 139, 1168, 130, 131, 1142, 520, 521, 662, - 663, 137, 665, 526, 667, 668, 141, 133, 671, 672, - 141, 133, 123, 124, 141, 123, 124, 133, 1193, 542, - 543, 1196, 476, 133, 1199, 123, 124, 1202, 139, 133, - 1176, 139, 1178, 556, 1180, 558, 559, 133, 4, 135, - 1186, 139, 6, 6, 498, 565, 625, 1222, 72, 1224, - 141, 1226, 6, 141, 78, 79, 5, 720, 721, 722, - 65, 66, 67, 68, 1210, 70, 1212, 133, 1214, 72, - 649, 76, 77, 133, 133, 78, 79, 8, 601, 602, - 4, 133, 123, 124, 125, 126, 127, 140, 133, 346, - 347, 132, 615, 616, 617, 618, 619, 620, 621, 356, - 273, 624, 72, 133, 72, 135, 629, 140, 78, 79, - 78, 79, 133, 636, 135, 130, 131, 141, 140, 782, - 135, 814, 137, 646, 133, 788, 135, 142, 135, 4, - 5, 654, 305, 133, 797, 798, 799, 133, 141, 802, - 803, 804, 805, 806, 807, 808, 133, 72, 135, 322, - 323, 72, 675, 78, 79, 133, 133, 78, 79, 133, - 823, 36, 37, 38, 39, 140, 133, 42, 135, 140, - 624, 141, 137, 141, 4, 5, 135, 6, 701, 702, - 703, 704, 140, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 133, 371, 135, - 654, 132, 139, 135, 141, 868, 36, 37, 38, 39, - 141, 140, 42, 736, 737, 133, 141, 135, 130, 131, - 141, 675, 921, 135, 135, 137, 8, 133, 95, 135, - 142, 133, 140, 135, 754, 133, 6, 135, 758, 133, - 133, 135, 135, 766, 133, 6, 135, 701, 702, 703, - 704, 774, 133, 6, 135, 778, 133, 139, 135, 141, - 4, 135, 519, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 135, 796, 137, 139, 132, 141, 139, 942, - 141, 538, 139, 49, 141, 51, 140, 810, 811, 812, - 953, 139, 139, 141, 141, 139, 139, 141, 141, 6, - 823, 824, 881, 476, 827, 139, 139, 141, 141, 5, - 132, 484, 485, 139, 139, 141, 141, 840, 841, 842, - 139, 4, 141, 6, 137, 498, 849, 847, 501, 7, - 135, 854, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 139, 870, 141, 6, - 132, 140, 1015, 869, 139, 139, 141, 141, 7, 141, - 1059, 7, 139, 886, 141, 139, 139, 141, 141, 134, - 893, 894, 139, 141, 141, 898, 139, 7, 141, 1072, - 139, 6, 141, 141, 907, 908, 92, 134, 140, 139, - 139, 134, 6, 4, 917, 652, 136, 7, 95, 921, - 7, 917, 7, 7, 61, 95, 6, 95, 1071, 7, - 7, 7, 7, 7, 134, 134, 939, 134, 134, 137, - 141, 7, 7, 7, 947, 137, 141, 140, 951, 952, - 133, 947, 133, 6, 4, 6, 136, 6, 6, 6, - 135, 698, 699, 700, 7, 968, 6, 120, 1111, 7, - 1143, 624, 7, 7, 140, 7, 979, 114, 115, 116, + 59, 188, 6, 178, 275, 6, 1035, 7, 6, 3, + 185, 6, 4, 6, 4, 5, 4, 4, 4, 712, + 71, 4, 49, 7, 643, 4, 4, 133, 71, 135, + 4, 5, 207, 71, 4, 210, 4, 708, 6, 71, + 4, 6, 123, 124, 130, 131, 36, 37, 38, 39, + 6, 137, 42, 6, 6, 123, 124, 6, 139, 133, + 141, 6, 36, 37, 38, 39, 140, 0, 42, 123, + 124, 139, 43, 141, 139, 46, 141, 143, 49, 43, + 51, 147, 46, 78, 13, 49, 140, 6, 7, 140, + 82, 83, 84, 85, 6, 133, 6, 140, 6, 7, + 56, 133, 140, 56, 92, 93, 133, 49, 140, 92, + 93, 123, 124, 117, 118, 119, 123, 124, 122, 123, + 46, 6, 126, 49, 133, 51, 1155, 139, 132, 113, + 100, 135, 139, 137, 138, 139, 140, 137, 142, 143, + 144, 145, 140, 147, 148, 149, 765, 140, 152, 141, + 140, 130, 131, 140, 140, 133, 135, 828, 137, 123, + 124, 348, 349, 142, 168, 169, 140, 135, 120, 133, + 140, 120, 138, 133, 178, 133, 140, 143, 123, 124, + 451, 147, 140, 1212, 53, 360, 180, 133, 192, 193, + 194, 49, 196, 7, 188, 199, 200, 133, 202, 135, + 49, 133, 261, 262, 263, 264, 381, 273, 140, 213, + 133, 123, 124, 123, 124, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 323, 877, 123, + 124, 265, 31, 32, 72, 34, 125, 126, 127, 273, + 78, 79, 133, 132, 275, 139, 133, 141, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 130, 131, 134, 110, 111, 112, 113, + 139, 305, 62, 63, 72, 371, 72, 273, 1001, 313, + 78, 79, 78, 79, 318, 134, 130, 131, 322, 323, + 139, 7, 133, 327, 135, 329, 330, 331, 133, 333, + 334, 335, 336, 337, 338, 339, 133, 49, 135, 305, + 51, 336, 337, 338, 339, 123, 124, 351, 352, 353, + 354, 355, 356, 357, 348, 349, 322, 323, 133, 7, + 135, 134, 140, 7, 368, 369, 139, 371, 133, 373, + 374, 123, 124, 141, 1067, 141, 1069, 72, 1071, 72, + 49, 4, 5, 78, 79, 78, 79, 391, 140, 133, + 394, 135, 393, 140, 1065, 134, 165, 150, 167, 140, + 139, 72, 5, 156, 173, 371, 134, 78, 79, 178, + 476, 139, 49, 36, 37, 38, 39, 140, 133, 42, + 135, 123, 124, 1042, 110, 111, 112, 113, 181, 182, + 6, 133, 498, 36, 37, 38, 39, 1108, 140, 42, + 1111, 46, 446, 1114, 130, 131, 141, 4, 141, 453, + 451, 137, 72, 133, 1147, 135, 140, 452, 78, 79, + 133, 4, 110, 111, 112, 113, 110, 111, 112, 113, + 141, 72, 476, 477, 4, 479, 480, 78, 79, 483, + 484, 485, 130, 131, 123, 124, 757, 758, 133, 1182, + 135, 1184, 133, 1186, 498, 133, 6, 501, 502, 1192, + 139, 133, 135, 1174, 508, 72, 565, 130, 131, 4, + 476, 78, 79, 139, 137, 141, 520, 521, 484, 485, + 4, 141, 526, 1216, 133, 1218, 135, 1220, 1199, 123, + 124, 1202, 498, 140, 1205, 501, 72, 1208, 542, 543, + 141, 72, 78, 79, 133, 139, 135, 78, 79, 337, + 338, 339, 556, 133, 558, 559, 133, 1228, 624, 1230, + 133, 1232, 135, 133, 565, 72, 625, 133, 8, 4, + 5, 78, 79, 133, 141, 72, 7, 346, 347, 72, + 4, 78, 79, 6, 6, 78, 79, 356, 654, 133, + 649, 135, 133, 72, 135, 4, 5, 601, 602, 78, + 79, 36, 37, 38, 39, 141, 8, 42, 6, 675, + 141, 615, 616, 617, 618, 619, 620, 621, 5, 133, + 624, 135, 133, 140, 135, 629, 4, 36, 37, 38, + 39, 133, 636, 42, 141, 701, 702, 703, 704, 814, + 123, 124, 646, 133, 141, 123, 124, 133, 141, 135, + 654, 123, 124, 123, 124, 140, 139, 133, 624, 135, + 133, 139, 141, 49, 133, 51, 135, 139, 133, 139, + 135, 675, 133, 133, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 654, 123, + 124, 133, 132, 135, 140, 448, 449, 701, 702, 703, + 704, 141, 139, 133, 141, 139, 135, 133, 137, 675, + 123, 124, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 139, 123, 124, 139, + 132, 141, 736, 737, 921, 701, 702, 703, 704, 141, + 123, 124, 139, 139, 141, 139, 8, 141, 133, 133, + 519, 12, 13, 754, 130, 131, 139, 758, 139, 135, + 141, 137, 766, 133, 135, 139, 142, 141, 140, 538, + 774, 139, 6, 141, 778, 139, 139, 141, 141, 139, + 135, 141, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 796, 54, 140, 56, 57, 140, 59, 60, + 65, 66, 67, 68, 140, 70, 810, 811, 812, 130, + 131, 76, 77, 139, 135, 141, 137, 135, 135, 823, + 824, 142, 881, 827, 137, 140, 87, 88, 89, 95, + 123, 124, 125, 126, 127, 6, 840, 841, 842, 132, + 139, 139, 141, 141, 6, 849, 847, 4, 6, 6, + 854, 135, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 870, 140, 4, 6, + 132, 139, 134, 141, 869, 1062, 139, 6, 141, 139, + 141, 141, 886, 652, 139, 139, 141, 141, 5, 893, + 894, 139, 137, 141, 898, 139, 139, 141, 141, 139, + 1075, 141, 132, 907, 908, 7, 135, 140, 7, 662, + 663, 7, 665, 917, 667, 668, 134, 141, 671, 672, + 7, 6, 917, 92, 61, 141, 140, 921, 139, 698, + 699, 700, 134, 134, 139, 939, 6, 4, 136, 7, + 95, 7, 7, 947, 7, 95, 7, 951, 952, 7, + 95, 7, 947, 7, 7, 134, 134, 134, 134, 141, + 141, 1027, 137, 7, 968, 12, 13, 720, 721, 722, + 7, 7, 137, 1148, 133, 979, 140, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 49, 51, 7, 997, 132, 7, 7, 7, 7, - 7, 654, 7, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 1018, 7, 7, 1021, 132, - 1023, 4, 675, 1026, 140, 6, 140, 1030, 6, 133, - 6, 49, 1035, 6, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 701, 702, - 703, 704, 132, 6, 8, 4, 4, 1059, 4, 6, - 1063, 4, 1065, 133, 1067, 6, 134, 12, 13, 140, - 137, 134, 1075, 7, 6, 6, 6, 6, 140, 140, - 1083, 1084, 6, 140, 140, 6, 5, 91, 1091, 6, - 827, 6, 1026, 6, 140, 140, 1099, 7, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 137, 54, - 6, 56, 57, 4, 59, 60, 6, 1120, 6, 136, - 6, 5, 7, 6, 6, 6, 6, 1130, 6, 1188, - 1133, 6, 6, 1136, 6, 6, 6, 1140, 6, 6, - 6, 6, 87, 88, 89, 1148, 6, 6, 1151, 4, - 139, 888, 140, 890, 6, 6, 6, 1216, 137, 1218, + 127, 133, 6, 6, 998, 132, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 4, 54, 136, 56, + 57, 6, 59, 60, 6, 1019, 6, 6, 1022, 7, + 1024, 135, 6, 1027, 49, 120, 7, 1031, 7, 782, + 51, 7, 1036, 140, 7, 788, 7, 7, 7, 7, + 87, 88, 89, 7, 797, 798, 799, 7, 7, 802, + 803, 804, 805, 806, 807, 808, 7, 7, 827, 6, + 4, 1027, 1066, 140, 1068, 6, 1070, 140, 1062, 133, + 823, 6, 6, 6, 1078, 49, 6, 4, 4, 4, + 4, 133, 1086, 1087, 6, 6, 134, 137, 134, 140, + 1094, 7, 6, 6, 141, 140, 6, 1101, 140, 1103, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 6, 5, 140, 1236, 132, 6, - 134, 6, 141, 140, 140, 140, 923, 6, 925, 7, - 927, 90, 6, 6, 3, 4, 141, 134, 140, 93, - 9, 10, 11, 6, 6, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 6, 6, 6, 140, - 6, 5, 141, 6, 43, 61, 140, 6, 139, 6, - 6, 12, 13, 6, 6, 6, 6, 5, 141, 6, - 6, 140, 6, 140, 6, 6, 65, 66, 67, 68, - 69, 70, 6, 140, 140, 5, 139, 76, 77, 6, - 6, 140, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 140, 54, 140, 56, 57, 140, 59, 60, - 6, 140, 6, 141, 6, 6, 6, 106, 107, 108, - 109, 6, 6, 6, 773, 3, 1120, 3, -1, 873, - -1, -1, -1, -1, 123, 124, 87, 88, 89, 128, - -1, -1, -1, -1, 133, -1, 1063, -1, 1065, 138, - 1067, -1, 141, -1, 3, 4, -1, -1, -1, -1, + 124, 125, 126, 127, 140, 868, 6, 140, 132, 888, + 1124, 890, 6, 6, 5, 140, 6, 6, 140, 91, + 6, 1135, 7, 137, 1138, 1194, 6, 1141, 6, 4, + 6, 1145, 136, 6, 6, 5, 95, 6, 6, 1153, + 6, 6, 1156, 6, 923, 6, 925, 6, 927, 6, + 6, 6, 6, 1222, 6, 1224, 6, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 6, 6, 1242, 139, 132, 140, 4, 6, 942, + 6, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 953, 7, 3, 4, 132, 137, 6, 6, 9, 10, + 11, 5, 47, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 6, 6, 6, 140, 6, 141, + 140, 140, 43, 140, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 7, 90, + 6, 6, 132, 1016, 65, 66, 67, 68, 69, 70, + 134, 140, 93, 6, 6, 76, 77, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 6, 6, 6, 6, 132, 5, 1066, 141, 1068, + 6, 1070, 139, 61, 141, 106, 107, 108, 109, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 1074, 123, 124, 6, 132, 140, 128, 140, 140, + 139, 6, 133, 6, 6, 6, 6, 138, 6, 141, + 141, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 3, 4, 140, 5, 132, 140, 9, 10, + 11, 140, 1115, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 6, 6, 140, 139, 6, 6, + 6, 6, 43, 140, 5, 1124, 140, 140, 140, 12, + 13, 140, 6, 141, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 3, 65, 66, 67, 68, 69, 70, + 773, 3, 873, -1, -1, 76, 77, -1, -1, -1, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + -1, 54, -1, 56, 57, -1, 59, 60, -1, -1, + -1, -1, -1, -1, -1, 106, 107, 108, 109, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 123, 124, 87, 88, 89, 128, -1, -1, + -1, -1, 133, -1, 3, 4, -1, 138, -1, 140, 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, - 141, -1, -1, 1026, 43, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 43, -1, -1, -1, 141, -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, 76, 77, -1, @@ -2242,307 +2255,287 @@ static const yytype_int16 yycheck[] = 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, 43, -1, -1, -1, - 141, -1, -1, 12, 13, -1, -1, -1, -1, -1, + 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, - 67, 68, 69, 70, -1, -1, -1, -1, -1, 76, - 77, -1, -1, -1, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, -1, 54, -1, 56, 57, -1, - 59, 60, -1, -1, -1, -1, -1, -1, -1, 106, + 67, 68, 69, 70, -1, 3, 4, -1, -1, 76, + 77, 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, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, 124, 87, 88, - 89, 128, -1, -1, -1, -1, 133, -1, 3, 4, - -1, 138, -1, 140, 9, 10, 11, -1, -1, 14, + -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, + -1, 128, -1, -1, -1, -1, 133, -1, 3, 4, + 5, 138, -1, 140, 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, 43, -1, - -1, -1, 141, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - 65, 66, 67, 68, 69, 70, -1, 3, 4, -1, - -1, 76, 77, 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, 36, 37, 38, 39, -1, -1, 42, 106, 107, + 108, 109, -1, -1, -1, 12, 13, -1, -1, -1, + -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, + 128, -1, -1, -1, -1, 133, -1, -1, 136, -1, + 138, -1, 140, -1, -1, -1, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, + 57, -1, 59, 60, -1, -1, -1, -1, -1, -1, -1, 106, 107, 108, 109, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - -1, -1, -1, 128, -1, -1, -1, -1, 133, -1, - 3, 4, 5, 138, -1, 140, 9, 10, 11, -1, + -1, 6, -1, -1, -1, -1, -1, -1, 123, 124, + 87, 88, 89, 128, -1, -1, -1, -1, 133, -1, + 3, 4, -1, 138, -1, 140, 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, - 106, 107, 108, 109, -1, -1, -1, 12, 13, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, - -1, -1, 128, -1, -1, -1, -1, 133, -1, -1, - 136, -1, 138, -1, 140, -1, -1, -1, 43, 44, + 33, 34, -1, -1, -1, 3, 4, 12, 13, -1, + -1, 9, 10, 11, 141, -1, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, - -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, - -1, -1, -1, 106, 107, 108, 109, -1, -1, -1, - -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, - 123, 124, 87, 88, 89, 128, -1, -1, -1, -1, - 133, -1, 3, 4, -1, 138, -1, 140, 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, 3, 4, 12, - 13, -1, -1, 9, 10, 11, 141, -1, 14, 15, + -1, 56, 57, -1, 59, 60, -1, -1, -1, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 106, 107, 108, 109, 132, -1, -1, + -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, + 123, 124, -1, -1, -1, 128, -1, -1, -1, -1, + 133, -1, -1, 136, -1, 138, -1, 140, 106, 107, + 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, + 128, -1, -1, -1, -1, 133, 141, 3, 4, 5, + 138, 7, 140, 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, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - -1, 54, -1, 56, 57, -1, 59, 60, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 106, 107, 108, 109, 132, - -1, -1, -1, -1, 87, 88, 89, -1, -1, -1, - -1, -1, 123, 124, -1, -1, -1, 128, -1, -1, - -1, -1, 133, -1, -1, 136, -1, 138, -1, 140, - 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, - -1, -1, 128, -1, -1, -1, -1, 133, 141, 3, - 4, 5, 138, 7, 140, 9, 10, 11, -1, -1, + 36, 37, 38, 39, -1, -1, 42, -1, -1, -1, + -1, -1, -1, -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, 43, -1, -1, -1, + -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, + 106, 107, 108, 109, 110, 111, 112, 113, 65, 66, + 67, 68, 69, 70, -1, -1, -1, 123, 124, 76, + 77, -1, 128, -1, 130, 131, -1, 133, -1, 135, + -1, 137, 138, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, + 107, 108, 109, 6, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, + -1, 128, 3, 4, 5, -1, 133, -1, 9, 10, + 11, 138, -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, 12, 13, -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, -1, -1, 42, -1, - -1, -1, -1, -1, -1, -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, 43, -1, - -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, - -1, -1, 106, 107, 108, 109, 110, 111, 112, 113, - 65, 66, 67, 68, 69, 70, -1, -1, -1, 123, - 124, 76, 77, -1, 128, -1, 130, 131, -1, 133, - -1, 135, -1, 137, 138, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 106, 107, 108, 109, 6, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - -1, -1, -1, 128, 3, 4, 5, -1, 133, -1, - 9, 10, 11, 138, -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, 12, 13, -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, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, - -1, 59, 60, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 106, 107, 108, - 109, 132, 6, -1, -1, -1, -1, -1, -1, 87, - 88, 89, -1, -1, 123, 124, -1, -1, -1, 128, - -1, 6, -1, -1, 133, -1, -1, -1, -1, 138, - -1, -1, -1, -1, 106, 107, 108, 109, -1, -1, - 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, 124, -1, -1, -1, 128, -1, -1, 6, - -1, 133, -1, 141, -1, -1, 138, -1, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 6, -1, -1, -1, 132, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 6, -1, -1, -1, 132, -1, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 6, -1, -1, -1, 132, 114, + 34, 6, -1, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, + 60, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 106, 107, 108, 109, 132, + 6, -1, -1, -1, -1, -1, -1, 87, 88, 89, + -1, -1, 123, 124, -1, -1, -1, 128, -1, 6, + -1, -1, 133, -1, -1, -1, -1, 138, -1, -1, + -1, -1, 106, 107, 108, 109, -1, -1, 6, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, + 124, -1, -1, -1, 128, -1, -1, 6, -1, 133, + -1, 141, -1, -1, 138, -1, -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 6, -1, -1, -1, 132, -1, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 6, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 6, -1, -1, - -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 6, -1, -1, -1, - 132, -1, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, 8, -1, -1, - 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, 8, -1, -1, 132, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, 8, -1, -1, 132, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, 8, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 8, - -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 8, -1, - -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, 0, - 1, -1, 132, 4, -1, -1, -1, -1, -1, -1, - -1, 12, 13, -1, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, 35, -1, -1, -1, -1, 40, - 41, 141, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, 58, 59, 60, - -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, - -1, 72, 73, 74, 75, 76, 77, -1, -1, 80, - 81, 4, -1, -1, -1, 86, 87, 88, 89, 12, - 13, 92, -1, 94, -1, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, -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, - -1, 54, 55, 56, 57, 58, 59, 60, -1, -1, - -1, 64, 65, 66, 67, 68, 69, 70, -1, 72, - 73, 74, 75, 76, 77, 12, 13, 80, 81, -1, - -1, -1, -1, 86, 87, 88, 89, -1, -1, 92, - -1, 94, -1, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, -1, -1, -1, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, - 57, -1, 59, 60, -1, -1, -1, -1, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - 87, 88, 89, 139, -1, 141, 114, 115, 116, 117, + 127, 6, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 6, -1, -1, -1, 132, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 8, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 124, 125, 126, 127, 8, -1, -1, -1, 132, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 124, 125, 126, 127, 8, -1, -1, -1, 132, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 8, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 126, 127, 8, -1, -1, -1, 132, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 8, -1, -1, -1, 132, -1, -1, -1, -1, + -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 124, 125, 126, 127, -1, -1, -1, -1, 132, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, - -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 126, 127, -1, -1, -1, -1, 132, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, 0, 1, -1, 132, 4, -1, -1, -1, + -1, -1, -1, -1, 12, 13, -1, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, 35, -1, -1, + -1, -1, 40, 41, 141, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, -1, 54, 55, 56, 57, + 58, 59, 60, -1, -1, -1, 64, 65, 66, 67, + 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, 4, -1, -1, -1, 86, 87, + 88, 89, 12, 13, 92, -1, 94, -1, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, -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, -1, 54, 55, 56, 57, 58, 59, + 60, -1, -1, -1, 64, 65, 66, 67, 68, 69, + 70, -1, 72, 73, 74, 75, 76, 77, 12, 13, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, 92, -1, 94, -1, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, -1, -1, -1, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, + 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, + -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, 87, 88, 89, 139, -1, 141, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, 139, -1, 141, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, + 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, + -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, + 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, @@ -2618,11 +2611,7 @@ static const yytype_int16 yycheck[] = 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, + -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, @@ -2715,7 +2704,13 @@ static const yytype_int16 yycheck[] = 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134 + -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, 134 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2728,125 +2723,125 @@ static const yytype_uint8 yystos[] = 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 80, 81, 86, 87, 88, 89, 92, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 146, 148, 149, 167, 169, 170, 173, 174, 175, 176, - 177, 178, 195, 196, 197, 3, 4, 5, 7, 9, + 146, 148, 149, 167, 170, 171, 174, 175, 176, 177, + 178, 179, 196, 197, 198, 3, 4, 5, 7, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 42, 100, 106, 107, 108, 109, 110, 111, 112, 113, 123, 124, 128, - 130, 131, 133, 135, 137, 138, 165, 166, 198, 199, - 210, 13, 49, 133, 6, 140, 6, 133, 140, 133, + 130, 131, 133, 135, 137, 138, 165, 166, 199, 200, + 211, 13, 49, 133, 6, 140, 6, 133, 140, 133, 133, 71, 133, 140, 133, 133, 71, 140, 133, 133, 53, 49, 133, 49, 49, 49, 46, 49, 51, 51, 43, 46, 49, 51, 133, 140, 123, 124, 133, 140, - 200, 201, 200, 140, 4, 43, 46, 49, 140, 200, + 201, 202, 201, 140, 4, 43, 46, 49, 140, 201, 140, 49, 49, 4, 100, 140, 6, 46, 140, 4, - 4, 4, 133, 133, 133, 4, 140, 206, 4, 133, - 133, 6, 135, 4, 4, 4, 5, 140, 209, 210, - 140, 209, 4, 135, 137, 142, 166, 140, 210, 133, + 4, 4, 133, 133, 133, 4, 140, 207, 4, 133, + 133, 6, 135, 4, 4, 4, 5, 140, 210, 211, + 140, 210, 4, 135, 137, 142, 166, 140, 211, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, 135, 133, - 135, 133, 133, 133, 133, 7, 133, 4, 198, 198, - 198, 198, 136, 140, 198, 4, 92, 93, 4, 198, + 135, 133, 133, 133, 133, 7, 133, 4, 199, 199, + 199, 199, 136, 140, 199, 4, 92, 93, 4, 199, 6, 6, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 132, 6, 6, 198, - 5, 198, 198, 4, 43, 124, 170, 178, 198, 204, - 205, 198, 198, 133, 198, 205, 198, 198, 133, 205, - 198, 198, 124, 140, 198, 203, 204, 133, 198, 140, - 133, 133, 203, 140, 140, 133, 133, 133, 133, 133, - 4, 200, 200, 200, 198, 198, 123, 124, 140, 140, - 200, 135, 140, 140, 140, 123, 124, 133, 172, 200, - 140, 170, 171, 172, 203, 203, 4, 6, 135, 135, - 172, 140, 171, 135, 135, 6, 198, 198, 198, 137, - 198, 140, 95, 198, 198, 198, 6, 172, 6, 172, - 6, 135, 198, 4, 140, 150, 6, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 4, - 209, 209, 209, 209, 198, 5, 135, 134, 7, 113, - 205, 136, 7, 165, 166, 137, 7, 135, 6, 198, - 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 198, 198, 198, 198, 6, 134, 139, 139, 134, 135, - 140, 198, 204, 8, 125, 139, 141, 134, 134, 198, - 134, 141, 134, 134, 198, 141, 134, 134, 140, 141, - 205, 125, 7, 198, 134, 198, 198, 198, 7, 198, - 198, 198, 168, 198, 210, 168, 168, 168, 134, 139, - 139, 139, 200, 200, 171, 171, 139, 198, 198, 198, - 198, 198, 43, 46, 49, 51, 169, 182, 139, 172, - 141, 6, 7, 7, 6, 198, 198, 141, 205, 141, - 198, 198, 134, 134, 134, 92, 139, 172, 140, 8, - 134, 136, 141, 141, 198, 136, 166, 198, 4, 82, + 122, 123, 124, 125, 126, 127, 132, 6, 6, 199, + 5, 199, 199, 4, 43, 124, 171, 179, 199, 205, + 206, 199, 199, 133, 199, 206, 199, 199, 133, 206, + 199, 199, 124, 140, 199, 204, 205, 133, 199, 140, + 133, 133, 204, 140, 140, 133, 133, 133, 133, 133, + 4, 201, 201, 201, 199, 199, 123, 124, 140, 140, + 201, 135, 140, 140, 140, 123, 124, 133, 173, 201, + 140, 171, 172, 173, 204, 204, 4, 6, 135, 135, + 173, 140, 172, 135, 135, 6, 199, 199, 199, 137, + 199, 140, 95, 199, 199, 199, 6, 173, 6, 173, + 6, 135, 199, 4, 140, 150, 6, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 4, + 210, 210, 210, 210, 199, 5, 135, 134, 7, 113, + 206, 136, 7, 165, 166, 137, 7, 135, 6, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 199, 199, 199, 199, 6, 134, 139, 139, 134, 135, + 140, 199, 205, 8, 125, 139, 141, 134, 134, 199, + 134, 141, 134, 134, 199, 141, 134, 134, 140, 141, + 206, 125, 7, 199, 134, 199, 199, 199, 7, 199, + 199, 199, 168, 199, 211, 168, 168, 168, 134, 139, + 139, 139, 201, 201, 172, 172, 139, 199, 199, 199, + 199, 199, 43, 46, 49, 51, 170, 183, 139, 173, + 141, 6, 7, 7, 6, 199, 199, 141, 206, 141, + 199, 199, 134, 134, 134, 92, 139, 173, 140, 8, + 134, 136, 141, 141, 199, 136, 166, 199, 4, 82, 83, 84, 85, 141, 153, 157, 160, 162, 163, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 139, 139, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 134, 136, 139, 139, 139, 139, 139, 139, 135, 137, 134, 139, 139, 134, 134, 6, 139, - 198, 203, 203, 141, 7, 137, 165, 166, 210, 198, - 6, 4, 4, 140, 207, 136, 8, 6, 120, 147, - 205, 198, 7, 136, 140, 198, 198, 198, 204, 198, - 204, 95, 7, 7, 134, 7, 95, 7, 7, 134, - 95, 7, 7, 205, 141, 140, 198, 134, 7, 141, - 134, 134, 198, 141, 141, 134, 134, 134, 134, 134, - 137, 200, 198, 198, 141, 141, 198, 136, 139, 139, - 139, 140, 140, 140, 140, 72, 78, 79, 193, 194, - 200, 141, 179, 198, 198, 136, 136, 141, 136, 136, - 7, 7, 7, 137, 198, 141, 198, 198, 7, 137, - 136, 137, 166, 209, 141, 154, 133, 133, 140, 164, - 6, 198, 198, 198, 198, 198, 198, 198, 198, 198, - 4, 205, 209, 198, 136, 6, 6, 136, 4, 92, - 93, 198, 6, 6, 6, 7, 135, 206, 208, 6, - 198, 120, 209, 134, 139, 200, 205, 141, 8, 49, - 203, 203, 7, 203, 49, 51, 203, 203, 7, 51, - 203, 203, 141, 205, 6, 7, 140, 7, 7, 7, + 199, 204, 204, 141, 7, 137, 165, 166, 211, 199, + 6, 4, 4, 140, 208, 136, 8, 6, 120, 147, + 206, 199, 7, 136, 140, 199, 199, 199, 205, 199, + 205, 95, 7, 7, 134, 7, 95, 7, 7, 134, + 95, 7, 7, 206, 141, 140, 199, 134, 7, 141, + 134, 134, 199, 141, 141, 134, 134, 134, 134, 134, + 137, 201, 199, 199, 141, 141, 199, 136, 139, 139, + 139, 140, 140, 140, 140, 72, 78, 79, 194, 195, + 201, 141, 180, 199, 199, 136, 136, 141, 136, 136, + 7, 7, 7, 137, 199, 141, 199, 199, 7, 137, + 136, 137, 166, 210, 141, 154, 133, 133, 140, 164, + 6, 199, 199, 199, 199, 199, 199, 199, 199, 199, + 4, 206, 210, 199, 136, 6, 6, 136, 4, 92, + 93, 199, 6, 6, 6, 7, 135, 207, 209, 6, + 199, 120, 210, 134, 139, 201, 206, 141, 8, 49, + 204, 204, 7, 204, 49, 51, 204, 204, 7, 51, + 204, 204, 141, 206, 6, 7, 140, 7, 7, 7, 6, 61, 7, 7, 7, 7, 7, 7, 7, 4, - 139, 139, 139, 141, 140, 200, 200, 200, 205, 205, - 205, 205, 6, 140, 133, 141, 194, 139, 193, 6, - 6, 6, 6, 49, 6, 6, 203, 203, 203, 4, + 139, 139, 139, 141, 140, 201, 201, 201, 206, 206, + 206, 206, 6, 140, 133, 141, 195, 139, 194, 6, + 6, 6, 6, 49, 6, 6, 204, 204, 204, 4, 139, 8, 8, 134, 4, 4, 6, 4, 6, 133, - 198, 198, 202, 203, 140, 134, 136, 134, 136, 134, + 199, 199, 203, 204, 140, 134, 136, 134, 136, 134, 136, 134, 136, 136, 134, 134, 134, 134, 165, 7, - 165, 166, 137, 7, 6, 206, 198, 139, 141, 6, - 6, 147, 198, 6, 141, 198, 140, 6, 56, 6, - 56, 203, 6, 140, 140, 6, 6, 203, 140, 6, - 6, 141, 5, 198, 203, 203, 203, 62, 63, 203, - 203, 203, 203, 203, 203, 203, 6, 7, 198, 198, - 198, 140, 172, 139, 141, 139, 141, 139, 141, 141, - 141, 141, 141, 198, 203, 198, 198, 200, 141, 140, - 6, 6, 91, 198, 198, 198, 6, 7, 166, 151, - 198, 139, 139, 139, 141, 152, 198, 137, 203, 210, - 198, 6, 4, 207, 6, 136, 206, 209, 139, 136, - 198, 200, 200, 6, 198, 198, 6, 198, 5, 139, - 6, 6, 6, 198, 198, 4, 6, 6, 6, 6, - 6, 6, 6, 198, 210, 141, 134, 139, 141, 171, - 183, 200, 6, 184, 200, 6, 185, 200, 6, 186, - 6, 6, 6, 6, 141, 139, 134, 141, 139, 198, - 203, 139, 141, 8, 141, 134, 140, 198, 210, 134, - 139, 198, 198, 203, 140, 139, 141, 4, 6, 6, - 6, 7, 6, 137, 6, 198, 141, 6, 6, 141, - 141, 141, 5, 198, 6, 6, 6, 6, 6, 140, - 198, 141, 193, 139, 140, 139, 140, 139, 140, 6, - 203, 7, 140, 198, 141, 90, 198, 198, 205, 6, - 6, 155, 198, 139, 139, 202, 198, 6, 134, 206, - 93, 139, 6, 6, 6, 6, 6, 139, 171, 139, - 141, 141, 198, 200, 193, 198, 200, 193, 198, 200, - 193, 139, 141, 203, 172, 141, 198, 141, 141, 141, - 140, 198, 198, 141, 6, 198, 5, 141, 198, 141, - 139, 141, 141, 139, 141, 141, 139, 141, 203, 6, - 61, 141, 180, 140, 6, 6, 152, 134, 139, 6, - 140, 139, 139, 141, 6, 187, 198, 6, 6, 188, - 198, 6, 6, 189, 198, 6, 141, 198, 193, 172, - 141, 158, 198, 202, 198, 5, 140, 141, 140, 141, - 140, 141, 6, 6, 141, 141, 181, 6, 140, 134, - 141, 141, 139, 193, 6, 190, 193, 6, 191, 193, - 6, 192, 193, 156, 209, 161, 140, 6, 5, 141, - 140, 141, 140, 141, 140, 141, 139, 141, 140, 202, - 141, 6, 193, 6, 193, 6, 193, 209, 6, 159, - 209, 141, 6, 141, 141, 141, 139, 141, 6, 6, - 6, 6, 209, 6 + 165, 166, 137, 7, 6, 207, 199, 139, 141, 6, + 6, 147, 199, 6, 141, 199, 140, 6, 56, 6, + 56, 204, 6, 140, 140, 6, 6, 204, 140, 6, + 6, 141, 5, 199, 204, 204, 204, 62, 63, 204, + 204, 204, 204, 204, 204, 204, 6, 7, 199, 199, + 199, 140, 173, 139, 141, 139, 141, 139, 141, 141, + 141, 141, 141, 199, 204, 199, 199, 201, 141, 140, + 6, 6, 91, 199, 199, 199, 6, 7, 166, 151, + 199, 139, 139, 139, 141, 152, 199, 137, 204, 211, + 199, 6, 4, 208, 6, 136, 207, 210, 139, 136, + 199, 201, 201, 6, 199, 199, 6, 199, 5, 139, + 6, 6, 95, 169, 199, 199, 4, 6, 6, 6, + 6, 6, 6, 6, 199, 211, 141, 134, 139, 141, + 172, 184, 201, 6, 185, 201, 6, 186, 201, 6, + 187, 6, 6, 6, 6, 141, 139, 134, 141, 139, + 199, 204, 139, 141, 8, 141, 134, 140, 199, 211, + 134, 139, 199, 199, 204, 140, 139, 141, 4, 6, + 6, 6, 7, 6, 137, 6, 199, 141, 6, 6, + 141, 141, 141, 5, 199, 47, 6, 6, 6, 6, + 6, 6, 140, 199, 141, 194, 139, 140, 139, 140, + 139, 140, 6, 204, 7, 140, 199, 141, 90, 199, + 199, 206, 6, 6, 155, 199, 139, 139, 203, 199, + 6, 134, 207, 93, 139, 6, 6, 6, 6, 6, + 139, 140, 172, 139, 141, 141, 199, 201, 194, 199, + 201, 194, 199, 201, 194, 139, 141, 204, 173, 141, + 199, 141, 141, 141, 140, 199, 199, 141, 6, 199, + 5, 199, 141, 199, 141, 139, 141, 141, 139, 141, + 141, 139, 141, 204, 6, 61, 141, 181, 140, 6, + 6, 152, 134, 139, 6, 140, 139, 139, 141, 141, + 6, 188, 199, 6, 6, 189, 199, 6, 6, 190, + 199, 6, 141, 199, 194, 173, 141, 158, 199, 203, + 199, 5, 140, 141, 140, 141, 140, 141, 6, 6, + 141, 141, 182, 6, 140, 134, 141, 141, 139, 194, + 6, 191, 194, 6, 192, 194, 6, 193, 194, 156, + 210, 161, 140, 6, 5, 141, 140, 141, 140, 141, + 140, 141, 139, 141, 140, 203, 141, 6, 194, 6, + 194, 6, 194, 210, 6, 159, 210, 141, 6, 141, + 141, 141, 139, 141, 6, 6, 6, 6, 210, 6 }; #define yyerrok (yyerrstatus = 0) @@ -4748,7 +4743,29 @@ yyreduce: break; case 88: +#line 1079 "Gmsh.y" + { + (yyval.l) = 0; + ;} + break; + + case 89: #line 1083 "Gmsh.y" + { + (yyval.l) = List_Create(4, 4, sizeof(double)); + Vertex *v = FindPoint((int)(yyvsp[(4) - (5)].d)); + if(!v) + yymsg(GERROR, "Unknown point %d", (int)(yyvsp[(4) - (5)].d)); + else{ + List_Add((yyval.l), &v->Pos.X); + List_Add((yyval.l), &v->Pos.Y); + List_Add((yyval.l), &v->Pos.Z); + } + ;} + break; + + case 90: +#line 1101 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindPoint(num)){ @@ -4772,8 +4789,8 @@ yyreduce: ;} break; - case 89: -#line 1105 "Gmsh.y" + case 91: +#line 1123 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ @@ -4791,8 +4808,8 @@ yyreduce: ;} break; - case 90: -#line 1121 "Gmsh.y" + case 92: +#line 1139 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -4813,8 +4830,8 @@ yyreduce: ;} break; - case 91: -#line 1143 "Gmsh.y" + case 93: +#line 1161 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4834,8 +4851,8 @@ yyreduce: ;} break; - case 92: -#line 1161 "Gmsh.y" + case 94: +#line 1179 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4855,8 +4872,8 @@ yyreduce: ;} break; - case 93: -#line 1179 "Gmsh.y" + case 95: +#line 1197 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4876,8 +4893,8 @@ yyreduce: ;} break; - case 94: -#line 1197 "Gmsh.y" + case 96: +#line 1215 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindCurve(num)){ @@ -4905,8 +4922,8 @@ yyreduce: ;} break; - case 95: -#line 1223 "Gmsh.y" + case 97: +#line 1241 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4926,8 +4943,8 @@ yyreduce: ;} break; - case 96: -#line 1241 "Gmsh.y" + case 98: +#line 1259 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindCurve(num)){ @@ -4955,8 +4972,8 @@ yyreduce: ;} break; - case 97: -#line 1268 "Gmsh.y" + case 99: +#line 1286 "Gmsh.y" { int num = (int)(yyvsp[(3) - (17)].d); if(FindCurve(num)){ @@ -4977,8 +4994,8 @@ yyreduce: ;} break; - case 98: -#line 1287 "Gmsh.y" + case 100: +#line 1305 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4998,8 +5015,8 @@ yyreduce: ;} break; - case 99: -#line 1305 "Gmsh.y" + case 101: +#line 1323 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5019,8 +5036,8 @@ yyreduce: ;} break; - case 100: -#line 1323 "Gmsh.y" + case 102: +#line 1341 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -5048,8 +5065,8 @@ yyreduce: ;} break; - case 101: -#line 1349 "Gmsh.y" + case 103: +#line 1367 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -5068,8 +5085,8 @@ yyreduce: ;} break; - case 102: -#line 1366 "Gmsh.y" + case 104: +#line 1384 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -5087,8 +5104,8 @@ yyreduce: ;} break; - case 103: -#line 1385 "Gmsh.y" + case 105: +#line 1403 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -5108,16 +5125,16 @@ yyreduce: ;} break; - case 104: -#line 1403 "Gmsh.y" + case 106: +#line 1421 "Gmsh.y" { - int num = (int)(yyvsp[(4) - (8)].d), type = 0; + int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ yymsg(GERROR, "Surface %d already exists", num); } else{ double d; - List_Read((yyvsp[(7) - (8)].l), 0, &d); + List_Read((yyvsp[(7) - (9)].l), 0, &d); EdgeLoop *el = FindEdgeLoop((int)fabs(d)); if(!el){ yymsg(GERROR, "Unknown line loop %d", (int)d); @@ -5136,21 +5153,22 @@ yyreduce: type = MSH_SURF_PLAN; } Surface *s = Create_Surface(num, type); - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); setSurfaceGeneratrices(s, temp); List_Delete(temp); End_Surface(s); + s->RuledSurfaceOptions = (yyvsp[(8) - (9)].l); Tree_Add(GModel::current()->getGEOInternals()->Surfaces, &s); } } - List_Delete((yyvsp[(7) - (8)].l)); + List_Delete((yyvsp[(7) - (9)].l)); (yyval.s).Type = type; (yyval.s).Num = num; ;} break; - case 105: -#line 1441 "Gmsh.y" + case 107: +#line 1460 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -5158,8 +5176,8 @@ yyreduce: ;} break; - case 106: -#line 1447 "Gmsh.y" + case 108: +#line 1466 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -5167,8 +5185,8 @@ yyreduce: ;} break; - case 107: -#line 1453 "Gmsh.y" + case 109: +#line 1472 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -5177,8 +5195,8 @@ yyreduce: ;} break; - case 108: -#line 1460 "Gmsh.y" + case 110: +#line 1479 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5205,8 +5223,8 @@ yyreduce: ;} break; - case 109: -#line 1485 "Gmsh.y" + case 111: +#line 1504 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5233,8 +5251,8 @@ yyreduce: ;} break; - case 110: -#line 1510 "Gmsh.y" + case 112: +#line 1529 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -5252,8 +5270,8 @@ yyreduce: ;} break; - case 111: -#line 1526 "Gmsh.y" + case 113: +#line 1545 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5271,8 +5289,8 @@ yyreduce: ;} break; - case 112: -#line 1546 "Gmsh.y" + case 114: +#line 1565 "Gmsh.y" { yymsg(GERROR, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -5292,8 +5310,8 @@ yyreduce: ;} break; - case 113: -#line 1564 "Gmsh.y" + case 115: +#line 1583 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -5312,8 +5330,8 @@ yyreduce: ;} break; - case 114: -#line 1581 "Gmsh.y" + case 116: +#line 1600 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5331,40 +5349,40 @@ yyreduce: ;} break; - case 115: -#line 1602 "Gmsh.y" + case 117: +#line 1621 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); ;} break; - case 116: -#line 1607 "Gmsh.y" + case 118: +#line 1626 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); ;} break; - case 117: -#line 1612 "Gmsh.y" + case 119: +#line 1631 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); ;} break; - case 118: -#line 1617 "Gmsh.y" + case 120: +#line 1636 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); ;} break; - case 119: -#line 1622 "Gmsh.y" + case 121: +#line 1641 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ @@ -5377,8 +5395,8 @@ yyreduce: ;} break; - case 120: -#line 1633 "Gmsh.y" + case 122: +#line 1652 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -5386,8 +5404,8 @@ yyreduce: ;} break; - case 121: -#line 1639 "Gmsh.y" + case 123: +#line 1658 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); BoundaryShapes((yyvsp[(3) - (4)].l), (yyval.l)); @@ -5395,32 +5413,32 @@ yyreduce: ;} break; - case 122: -#line 1647 "Gmsh.y" + case 124: +#line 1666 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 123: -#line 1648 "Gmsh.y" + case 125: +#line 1667 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 124: -#line 1653 "Gmsh.y" + case 126: +#line 1672 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; - case 125: -#line 1657 "Gmsh.y" + case 127: +#line 1676 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; - case 126: -#line 1661 "Gmsh.y" + case 128: +#line 1680 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5445,8 +5463,8 @@ yyreduce: ;} break; - case 127: -#line 1684 "Gmsh.y" + case 129: +#line 1703 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5471,8 +5489,8 @@ yyreduce: ;} break; - case 128: -#line 1707 "Gmsh.y" + case 130: +#line 1726 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5497,8 +5515,8 @@ yyreduce: ;} break; - case 129: -#line 1730 "Gmsh.y" + case 131: +#line 1749 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5523,8 +5541,8 @@ yyreduce: ;} break; - case 130: -#line 1758 "Gmsh.y" + case 132: +#line 1777 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5535,15 +5553,15 @@ yyreduce: ;} break; - case 131: -#line 1767 "Gmsh.y" + case 133: +#line 1786 "Gmsh.y" { GModel::current()->getFields()->delete_field((int)(yyvsp[(4) - (6)].d)); ;} break; - case 132: -#line 1771 "Gmsh.y" + case 134: +#line 1790 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "View")){ int index = (int)(yyvsp[(4) - (6)].d); @@ -5558,8 +5576,8 @@ yyreduce: ;} break; - case 133: -#line 1784 "Gmsh.y" + case 135: +#line 1803 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ GModel::current()->destroy(); @@ -5577,8 +5595,8 @@ yyreduce: ;} break; - case 134: -#line 1800 "Gmsh.y" + case 136: +#line 1819 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ for(int i = PView::list.size() - 1; i >= 0; i--) @@ -5590,8 +5608,8 @@ yyreduce: ;} break; - case 135: -#line 1815 "Gmsh.y" + case 137: +#line 1834 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5602,8 +5620,8 @@ yyreduce: ;} break; - case 136: -#line 1829 "Gmsh.y" + case 138: +#line 1848 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5611,8 +5629,8 @@ yyreduce: ;} break; - case 137: -#line 1835 "Gmsh.y" + case 139: +#line 1854 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5620,8 +5638,8 @@ yyreduce: ;} break; - case 138: -#line 1841 "Gmsh.y" + case 140: +#line 1860 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5632,8 +5650,8 @@ yyreduce: ;} break; - case 139: -#line 1850 "Gmsh.y" + case 141: +#line 1869 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5644,8 +5662,8 @@ yyreduce: ;} break; - case 140: -#line 1864 "Gmsh.y" + case 142: +#line 1883 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5695,8 +5713,8 @@ yyreduce: ;} break; - case 141: -#line 1912 "Gmsh.y" + case 143: +#line 1931 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ int index = (int)(yyvsp[(4) - (7)].d); @@ -5714,8 +5732,8 @@ yyreduce: ;} break; - case 142: -#line 1928 "Gmsh.y" + case 144: +#line 1947 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ int index = (int)(yyvsp[(5) - (7)].d); @@ -5730,8 +5748,8 @@ yyreduce: ;} break; - case 143: -#line 1941 "Gmsh.y" + case 145: +#line 1960 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5752,8 +5770,8 @@ yyreduce: ;} break; - case 144: -#line 1960 "Gmsh.y" + case 146: +#line 1979 "Gmsh.y" { try { GMSH_PluginManager::instance()->action((yyvsp[(3) - (7)].c), (yyvsp[(6) - (7)].c), 0); @@ -5765,8 +5783,8 @@ yyreduce: ;} break; - case 145: -#line 1970 "Gmsh.y" + case 147: +#line 1989 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) PView::combine(false, 1, CTX.post.combine_remove_orig); @@ -5790,31 +5808,31 @@ yyreduce: ;} break; - case 146: -#line 1992 "Gmsh.y" + case 148: +#line 2011 "Gmsh.y" { exit(0); ;} break; - case 147: -#line 1996 "Gmsh.y" + case 149: +#line 2015 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); ;} break; - case 148: -#line 2001 "Gmsh.y" + case 150: +#line 2020 "Gmsh.y" { CTX.forced_bbox = 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 149: -#line 2006 "Gmsh.y" + case 151: +#line 2025 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5822,8 +5840,8 @@ yyreduce: ;} break; - case 150: -#line 2018 "Gmsh.y" + case 152: +#line 2037 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5842,8 +5860,8 @@ yyreduce: ;} break; - case 151: -#line 2035 "Gmsh.y" + case 153: +#line 2054 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5862,8 +5880,8 @@ yyreduce: ;} break; - case 152: -#line 2052 "Gmsh.y" + case 154: +#line 2071 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5892,8 +5910,8 @@ yyreduce: ;} break; - case 153: -#line 2079 "Gmsh.y" + case 155: +#line 2098 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -5922,8 +5940,8 @@ yyreduce: ;} break; - case 154: -#line 2106 "Gmsh.y" + case 156: +#line 2125 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(GERROR, "Invalid For/EndFor loop"); @@ -5956,8 +5974,8 @@ yyreduce: ;} break; - case 155: -#line 2137 "Gmsh.y" + case 157: +#line 2156 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5967,8 +5985,8 @@ yyreduce: ;} break; - case 156: -#line 2145 "Gmsh.y" + case 158: +#line 2164 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5976,8 +5994,8 @@ yyreduce: ;} break; - case 157: -#line 2151 "Gmsh.y" + case 159: +#line 2170 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5986,21 +6004,21 @@ yyreduce: ;} break; - case 158: -#line 2158 "Gmsh.y" + case 160: +#line 2177 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; - case 159: -#line 2162 "Gmsh.y" + case 161: +#line 2181 "Gmsh.y" { ;} break; - case 160: -#line 2171 "Gmsh.y" + case 162: +#line 2190 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -6010,8 +6028,8 @@ yyreduce: ;} break; - case 161: -#line 2179 "Gmsh.y" + case 163: +#line 2198 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -6021,8 +6039,8 @@ yyreduce: ;} break; - case 162: -#line 2187 "Gmsh.y" + case 164: +#line 2206 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -6032,15 +6050,15 @@ yyreduce: ;} break; - case 163: -#line 2195 "Gmsh.y" + case 165: +#line 2214 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 164: -#line 2199 "Gmsh.y" + case 166: +#line 2218 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6050,15 +6068,15 @@ yyreduce: ;} break; - case 165: -#line 2207 "Gmsh.y" + case 167: +#line 2226 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 166: -#line 2211 "Gmsh.y" + case 168: +#line 2230 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6068,15 +6086,15 @@ yyreduce: ;} break; - case 167: -#line 2219 "Gmsh.y" + case 169: +#line 2238 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 168: -#line 2223 "Gmsh.y" + case 170: +#line 2242 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6086,15 +6104,15 @@ yyreduce: ;} break; - case 169: -#line 2231 "Gmsh.y" + case 171: +#line 2250 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 170: -#line 2235 "Gmsh.y" + case 172: +#line 2254 "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., @@ -6103,15 +6121,15 @@ yyreduce: ;} break; - case 171: -#line 2242 "Gmsh.y" + case 173: +#line 2261 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 172: -#line 2246 "Gmsh.y" + case 174: +#line 2265 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); extr.mesh.ViewIndex = (int)(yyvsp[(4) - (10)].d); @@ -6123,8 +6141,8 @@ yyreduce: ;} break; - case 173: -#line 2258 "Gmsh.y" + case 175: +#line 2277 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6133,8 +6151,8 @@ yyreduce: ;} break; - case 174: -#line 2265 "Gmsh.y" + case 176: +#line 2284 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6143,8 +6161,8 @@ yyreduce: ;} break; - case 175: -#line 2272 "Gmsh.y" + case 177: +#line 2291 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6153,8 +6171,8 @@ yyreduce: ;} break; - case 176: -#line 2279 "Gmsh.y" + case 178: +#line 2298 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6163,8 +6181,8 @@ yyreduce: ;} break; - case 177: -#line 2286 "Gmsh.y" + case 179: +#line 2305 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6173,8 +6191,8 @@ yyreduce: ;} break; - case 178: -#line 2293 "Gmsh.y" + case 180: +#line 2312 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6183,8 +6201,8 @@ yyreduce: ;} break; - case 179: -#line 2300 "Gmsh.y" + case 181: +#line 2319 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6193,8 +6211,8 @@ yyreduce: ;} break; - case 180: -#line 2307 "Gmsh.y" + case 182: +#line 2326 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6203,8 +6221,8 @@ yyreduce: ;} break; - case 181: -#line 2314 "Gmsh.y" + case 183: +#line 2333 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6213,15 +6231,15 @@ yyreduce: ;} break; - case 182: -#line 2321 "Gmsh.y" + case 184: +#line 2340 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 183: -#line 2325 "Gmsh.y" + case 185: +#line 2344 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6230,15 +6248,15 @@ yyreduce: ;} break; - case 184: -#line 2332 "Gmsh.y" + case 186: +#line 2351 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 185: -#line 2336 "Gmsh.y" + case 187: +#line 2355 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6247,15 +6265,15 @@ yyreduce: ;} break; - case 186: -#line 2343 "Gmsh.y" + case 188: +#line 2362 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 187: -#line 2347 "Gmsh.y" + case 189: +#line 2366 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6264,15 +6282,15 @@ yyreduce: ;} break; - case 188: -#line 2354 "Gmsh.y" + case 190: +#line 2373 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 189: -#line 2358 "Gmsh.y" + case 191: +#line 2377 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6281,15 +6299,15 @@ yyreduce: ;} break; - case 190: -#line 2365 "Gmsh.y" + case 192: +#line 2384 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 191: -#line 2369 "Gmsh.y" + case 193: +#line 2388 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6298,15 +6316,15 @@ yyreduce: ;} break; - case 192: -#line 2376 "Gmsh.y" + case 194: +#line 2395 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 193: -#line 2380 "Gmsh.y" + case 195: +#line 2399 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6315,15 +6333,15 @@ yyreduce: ;} break; - case 194: -#line 2387 "Gmsh.y" + case 196: +#line 2406 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 195: -#line 2391 "Gmsh.y" + case 197: +#line 2410 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6332,15 +6350,15 @@ yyreduce: ;} break; - case 196: -#line 2398 "Gmsh.y" + case 198: +#line 2417 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 197: -#line 2402 "Gmsh.y" + case 199: +#line 2421 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6349,15 +6367,15 @@ yyreduce: ;} break; - case 198: -#line 2409 "Gmsh.y" + case 200: +#line 2428 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; - case 199: -#line 2413 "Gmsh.y" + case 201: +#line 2432 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6366,20 +6384,20 @@ yyreduce: ;} break; - case 200: -#line 2424 "Gmsh.y" + case 202: +#line 2443 "Gmsh.y" { ;} break; - case 201: -#line 2427 "Gmsh.y" + case 203: +#line 2446 "Gmsh.y" { ;} break; - case 202: -#line 2433 "Gmsh.y" + case 204: +#line 2452 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6390,8 +6408,8 @@ yyreduce: ;} break; - case 203: -#line 2442 "Gmsh.y" + case 205: +#line 2461 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -6413,8 +6431,8 @@ yyreduce: ;} break; - case 204: -#line 2462 "Gmsh.y" + case 206: +#line 2481 "Gmsh.y" { yymsg(GERROR, "Explicit region numbers in layers are deprecated"); double d; @@ -6439,15 +6457,15 @@ yyreduce: ;} break; - case 205: -#line 2485 "Gmsh.y" + case 207: +#line 2504 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; - case 206: -#line 2489 "Gmsh.y" + case 208: +#line 2508 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6468,8 +6486,8 @@ yyreduce: ;} break; - case 207: -#line 2513 "Gmsh.y" + case 209: +#line 2532 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6489,8 +6507,8 @@ yyreduce: ;} break; - case 208: -#line 2531 "Gmsh.y" + case 210: +#line 2550 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6510,8 +6528,8 @@ yyreduce: ;} break; - case 209: -#line 2549 "Gmsh.y" + case 211: +#line 2568 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6531,8 +6549,8 @@ yyreduce: ;} break; - case 210: -#line 2567 "Gmsh.y" + case 212: +#line 2586 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (8)].d)); if(!s) @@ -6563,8 +6581,8 @@ yyreduce: ;} break; - case 211: -#line 2596 "Gmsh.y" + case 213: +#line 2615 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (9)].d)); if(!s) @@ -6601,16 +6619,16 @@ yyreduce: ;} break; - case 212: -#line 2631 "Gmsh.y" + case 214: +#line 2650 "Gmsh.y" { yymsg(WARNING, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); ;} break; - case 213: -#line 2636 "Gmsh.y" + case 215: +#line 2655 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(4) - (8)].d)); if(!v) @@ -6639,8 +6657,8 @@ yyreduce: ;} break; - case 214: -#line 2663 "Gmsh.y" + case 216: +#line 2682 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6656,8 +6674,8 @@ yyreduce: ;} break; - case 215: -#line 2677 "Gmsh.y" + case 217: +#line 2696 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double d; @@ -6672,8 +6690,8 @@ yyreduce: ;} break; - case 216: -#line 2690 "Gmsh.y" + case 218: +#line 2709 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6686,8 +6704,8 @@ yyreduce: ;} break; - case 217: -#line 2707 "Gmsh.y" + case 219: +#line 2726 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6695,8 +6713,8 @@ yyreduce: ;} break; - case 218: -#line 2713 "Gmsh.y" + case 220: +#line 2732 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6704,67 +6722,67 @@ yyreduce: ;} break; - case 219: -#line 2719 "Gmsh.y" + case 221: +#line 2738 "Gmsh.y" { ;} break; - case 220: -#line 2722 "Gmsh.y" + case 222: +#line 2741 "Gmsh.y" { ;} break; - case 221: -#line 2731 "Gmsh.y" + case 223: +#line 2750 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; - case 222: -#line 2740 "Gmsh.y" + case 224: +#line 2759 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 223: -#line 2741 "Gmsh.y" + case 225: +#line 2760 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; - case 224: -#line 2742 "Gmsh.y" + case 226: +#line 2761 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; - case 225: -#line 2743 "Gmsh.y" + case 227: +#line 2762 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; - case 226: -#line 2744 "Gmsh.y" + case 228: +#line 2763 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; - case 227: -#line 2745 "Gmsh.y" + case 229: +#line 2764 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; - case 228: -#line 2746 "Gmsh.y" + case 230: +#line 2765 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; - case 229: -#line 2747 "Gmsh.y" + case 231: +#line 2766 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; - case 230: -#line 2749 "Gmsh.y" + case 232: +#line 2768 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(GERROR, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -6773,308 +6791,308 @@ yyreduce: ;} break; - case 231: -#line 2755 "Gmsh.y" + case 233: +#line 2774 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; - case 232: -#line 2756 "Gmsh.y" + case 234: +#line 2775 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; - case 233: -#line 2757 "Gmsh.y" + case 235: +#line 2776 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; - case 234: -#line 2758 "Gmsh.y" + case 236: +#line 2777 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; - case 235: -#line 2759 "Gmsh.y" + case 237: +#line 2778 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; - case 236: -#line 2760 "Gmsh.y" + case 238: +#line 2779 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; - case 237: -#line 2761 "Gmsh.y" + case 239: +#line 2780 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; - case 238: -#line 2762 "Gmsh.y" + case 240: +#line 2781 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; - case 239: -#line 2763 "Gmsh.y" + case 241: +#line 2782 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; - case 240: -#line 2764 "Gmsh.y" + case 242: +#line 2783 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; - case 241: -#line 2765 "Gmsh.y" + case 243: +#line 2784 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d)? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; - case 242: -#line 2766 "Gmsh.y" + case 244: +#line 2785 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; - case 243: -#line 2767 "Gmsh.y" + case 245: +#line 2786 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; - case 244: -#line 2768 "Gmsh.y" + case 246: +#line 2787 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; - case 245: -#line 2769 "Gmsh.y" + case 247: +#line 2788 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; - case 246: -#line 2770 "Gmsh.y" + case 248: +#line 2789 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; - case 247: -#line 2771 "Gmsh.y" + case 249: +#line 2790 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; - case 248: -#line 2772 "Gmsh.y" + case 250: +#line 2791 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; - case 249: -#line 2773 "Gmsh.y" + case 251: +#line 2792 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; - case 250: -#line 2774 "Gmsh.y" + case 252: +#line 2793 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; - case 251: -#line 2775 "Gmsh.y" + case 253: +#line 2794 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; - case 252: -#line 2776 "Gmsh.y" + case 254: +#line 2795 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; - case 253: -#line 2777 "Gmsh.y" + case 255: +#line 2796 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; - case 254: -#line 2778 "Gmsh.y" + case 256: +#line 2797 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; - case 255: -#line 2779 "Gmsh.y" + case 257: +#line 2798 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; - case 256: -#line 2780 "Gmsh.y" + case 258: +#line 2799 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; - case 257: -#line 2781 "Gmsh.y" + case 259: +#line 2800 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; - case 258: -#line 2782 "Gmsh.y" + case 260: +#line 2801 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; - case 259: -#line 2783 "Gmsh.y" + case 261: +#line 2802 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 260: -#line 2784 "Gmsh.y" + case 262: +#line 2803 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 261: -#line 2785 "Gmsh.y" + case 263: +#line 2804 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;} break; - case 262: -#line 2786 "Gmsh.y" + case 264: +#line 2805 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;} break; - case 263: -#line 2788 "Gmsh.y" + case 265: +#line 2807 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; - case 264: -#line 2789 "Gmsh.y" + case 266: +#line 2808 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; - case 265: -#line 2790 "Gmsh.y" + case 267: +#line 2809 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; - case 266: -#line 2791 "Gmsh.y" + case 268: +#line 2810 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; - case 267: -#line 2792 "Gmsh.y" + case 269: +#line 2811 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; - case 268: -#line 2793 "Gmsh.y" + case 270: +#line 2812 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; - case 269: -#line 2794 "Gmsh.y" + case 271: +#line 2813 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; - case 270: -#line 2795 "Gmsh.y" + case 272: +#line 2814 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; - case 271: -#line 2796 "Gmsh.y" + case 273: +#line 2815 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; - case 272: -#line 2797 "Gmsh.y" + case 274: +#line 2816 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; - case 273: -#line 2798 "Gmsh.y" + case 275: +#line 2817 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; - case 274: -#line 2799 "Gmsh.y" + case 276: +#line 2818 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; - case 275: -#line 2800 "Gmsh.y" + case 277: +#line 2819 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; - case 276: -#line 2801 "Gmsh.y" + case 278: +#line 2820 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; - case 277: -#line 2802 "Gmsh.y" + case 279: +#line 2821 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; - case 278: -#line 2803 "Gmsh.y" + case 280: +#line 2822 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; - case 279: -#line 2804 "Gmsh.y" + case 281: +#line 2823 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; - case 280: -#line 2805 "Gmsh.y" + case 282: +#line 2824 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 281: -#line 2806 "Gmsh.y" + case 283: +#line 2825 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; - case 282: -#line 2807 "Gmsh.y" + case 284: +#line 2826 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;} break; - case 283: -#line 2808 "Gmsh.y" + case 285: +#line 2827 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;} break; - case 284: -#line 2817 "Gmsh.y" + case 286: +#line 2836 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; - case 285: -#line 2818 "Gmsh.y" + case 287: +#line 2837 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; - case 286: -#line 2819 "Gmsh.y" + case 288: +#line 2838 "Gmsh.y" { (yyval.d) = ParUtil::Instance()->rank(); ;} break; - case 287: -#line 2820 "Gmsh.y" + case 289: +#line 2839 "Gmsh.y" { (yyval.d) = ParUtil::Instance()->size(); ;} break; - case 288: -#line 2821 "Gmsh.y" + case 290: +#line 2840 "Gmsh.y" { (yyval.d) = Get_GmshMajorVersion(); ;} break; - case 289: -#line 2822 "Gmsh.y" + case 291: +#line 2841 "Gmsh.y" { (yyval.d) = Get_GmshMinorVersion(); ;} break; - case 290: -#line 2823 "Gmsh.y" + case 292: +#line 2842 "Gmsh.y" { (yyval.d) = Get_GmshPatchVersion(); ;} break; - case 291: -#line 2828 "Gmsh.y" + case 293: +#line 2847 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (1)].c); @@ -7089,8 +7107,8 @@ yyreduce: ;} break; - case 292: -#line 2844 "Gmsh.y" + case 294: +#line 2863 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7107,8 +7125,8 @@ yyreduce: ;} break; - case 293: -#line 2859 "Gmsh.y" + case 295: +#line 2878 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (4)].c); @@ -7130,8 +7148,8 @@ yyreduce: ;} break; - case 294: -#line 2879 "Gmsh.y" + case 296: +#line 2898 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(2) - (4)].c); @@ -7146,8 +7164,8 @@ yyreduce: ;} break; - case 295: -#line 2892 "Gmsh.y" + case 297: +#line 2911 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (2)].c); @@ -7162,8 +7180,8 @@ yyreduce: ;} break; - case 296: -#line 2905 "Gmsh.y" + case 298: +#line 2924 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (5)].c); @@ -7185,8 +7203,8 @@ yyreduce: ;} break; - case 297: -#line 2928 "Gmsh.y" + case 299: +#line 2947 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7206,8 +7224,8 @@ yyreduce: ;} break; - case 298: -#line 2946 "Gmsh.y" + case 300: +#line 2965 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7227,8 +7245,8 @@ yyreduce: ;} break; - case 299: -#line 2964 "Gmsh.y" + case 301: +#line 2983 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7248,8 +7266,8 @@ yyreduce: ;} break; - case 300: -#line 2982 "Gmsh.y" + case 302: +#line 3001 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7269,124 +7287,124 @@ yyreduce: ;} break; - case 301: -#line 3000 "Gmsh.y" + case 303: +#line 3019 "Gmsh.y" { (yyval.d) = GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); ;} break; - case 302: -#line 3008 "Gmsh.y" + case 304: +#line 3027 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; - case 303: -#line 3012 "Gmsh.y" + case 305: +#line 3031 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; - case 304: -#line 3016 "Gmsh.y" + case 306: +#line 3035 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; - case 305: -#line 3020 "Gmsh.y" + case 307: +#line 3039 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; - case 306: -#line 3024 "Gmsh.y" + case 308: +#line 3043 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; - case 307: -#line 3031 "Gmsh.y" + case 309: +#line 3050 "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 308: -#line 3035 "Gmsh.y" + case 310: +#line 3054 "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 309: -#line 3039 "Gmsh.y" + case 311: +#line 3058 "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 310: -#line 3043 "Gmsh.y" + case 312: +#line 3062 "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 311: -#line 3050 "Gmsh.y" + case 313: +#line 3069 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); ;} break; - case 312: -#line 3055 "Gmsh.y" + case 314: +#line 3074 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; - case 313: -#line 3063 "Gmsh.y" + case 315: +#line 3082 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 314: -#line 3068 "Gmsh.y" + case 316: +#line 3087 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 315: -#line 3072 "Gmsh.y" + case 317: +#line 3091 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); ;} break; - case 316: -#line 3077 "Gmsh.y" + case 318: +#line 3096 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 317: -#line 3081 "Gmsh.y" + case 319: +#line 3100 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7396,8 +7414,8 @@ yyreduce: ;} break; - case 318: -#line 3089 "Gmsh.y" + case 320: +#line 3108 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7407,8 +7425,8 @@ yyreduce: ;} break; - case 319: -#line 3100 "Gmsh.y" + case 321: +#line 3119 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7418,8 +7436,8 @@ yyreduce: ;} break; - case 320: -#line 3108 "Gmsh.y" + case 322: +#line 3127 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7429,8 +7447,8 @@ yyreduce: ;} break; - case 321: -#line 3116 "Gmsh.y" + case 323: +#line 3135 "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)); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.)) @@ -7438,8 +7456,8 @@ yyreduce: ;} break; - case 322: -#line 3122 "Gmsh.y" + case 324: +#line 3141 "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)){ @@ -7452,8 +7470,8 @@ yyreduce: ;} break; - case 323: -#line 3133 "Gmsh.y" + case 325: +#line 3152 "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 @@ -7475,8 +7493,8 @@ yyreduce: ;} break; - case 324: -#line 3153 "Gmsh.y" + case 326: +#line 3172 "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++){ @@ -7488,8 +7506,8 @@ yyreduce: ;} break; - case 325: -#line 3163 "Gmsh.y" + case 327: +#line 3182 "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++){ @@ -7501,8 +7519,8 @@ yyreduce: ;} break; - case 326: -#line 3173 "Gmsh.y" + case 328: +#line 3192 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -7521,8 +7539,8 @@ yyreduce: ;} break; - case 327: -#line 3190 "Gmsh.y" + case 329: +#line 3209 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -7548,30 +7566,30 @@ yyreduce: ;} break; - case 328: -#line 3217 "Gmsh.y" + case 330: +#line 3236 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); ;} break; - case 329: -#line 3222 "Gmsh.y" + case 331: +#line 3241 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; - case 330: -#line 3226 "Gmsh.y" + case 332: +#line 3245 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; - case 331: -#line 3230 "Gmsh.y" + case 333: +#line 3249 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7582,22 +7600,22 @@ yyreduce: ;} break; - case 332: -#line 3243 "Gmsh.y" + case 334: +#line 3262 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; - case 333: -#line 3247 "Gmsh.y" + case 335: +#line 3266 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; - case 334: -#line 3259 "Gmsh.y" + case 336: +#line 3278 "Gmsh.y" { int flag; (yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7606,8 +7624,8 @@ yyreduce: ;} break; - case 335: -#line 3266 "Gmsh.y" + case 337: +#line 3285 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -7627,15 +7645,15 @@ yyreduce: ;} break; - case 336: -#line 3287 "Gmsh.y" + case 338: +#line 3306 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; - case 337: -#line 3291 "Gmsh.y" + case 339: +#line 3310 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7649,44 +7667,44 @@ yyreduce: ;} break; - case 338: -#line 3306 "Gmsh.y" + case 340: +#line 3325 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); ;} break; - case 339: -#line 3311 "Gmsh.y" + case 341: +#line 3330 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; - case 340: -#line 3318 "Gmsh.y" + case 342: +#line 3337 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 341: -#line 3322 "Gmsh.y" + case 343: +#line 3341 "Gmsh.y" { Msg(WARNING, "Named string expressions not implemented yet"); ;} break; - case 342: -#line 3329 "Gmsh.y" + case 344: +#line 3348 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; - case 343: -#line 3333 "Gmsh.y" + case 345: +#line 3352 "Gmsh.y" { (yyval.c) = (char *)Malloc(32*sizeof(char)); time_t now; @@ -7696,8 +7714,8 @@ yyreduce: ;} break; - case 344: -#line 3341 "Gmsh.y" + case 346: +#line 3360 "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)); @@ -7707,8 +7725,8 @@ yyreduce: ;} break; - case 345: -#line 3349 "Gmsh.y" + case 347: +#line 3368 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7724,8 +7742,8 @@ yyreduce: ;} break; - case 346: -#line 3363 "Gmsh.y" + case 348: +#line 3382 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7741,15 +7759,15 @@ yyreduce: ;} break; - case 347: -#line 3377 "Gmsh.y" + case 349: +#line 3396 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; - case 348: -#line 3381 "Gmsh.y" + case 350: +#line 3400 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7770,8 +7788,8 @@ yyreduce: ;} break; - case 349: -#line 3400 "Gmsh.y" + case 351: +#line 3419 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -7796,8 +7814,8 @@ yyreduce: ;} break; - case 350: -#line 3423 "Gmsh.y" + case 352: +#line 3442 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -7824,7 +7842,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7828 "Gmsh.tab.cpp" +#line 7846 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8038,7 +8056,7 @@ yyreturn: } -#line 3447 "Gmsh.y" +#line 3466 "Gmsh.y" void DeleteSymbol(void *a, void *b) diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index ed647b572c43720f337beeafa50b459856620185..d2411e61399d8d53131887b26e5d1cb45f602735 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.309 2008-04-22 07:37:14 geuzaine Exp $ +// $Id: Gmsh.y,v 1.310 2008-04-24 17:29:53 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -116,7 +116,7 @@ int PrintListOfDouble(char *format, List_T *list, char *buffer); %type <l> FExpr_Multi ListOfDouble RecursiveListOfDouble %type <l> RecursiveListOfListOfDouble %type <l> ListOfColor RecursiveListOfColor -%type <l> ListOfShapes Transform Extrude MultipleShape +%type <l> ListOfShapes Transform Extrude MultipleShape RuledSurfaceOptions %type <s> Shape // Operators (with ascending priority): cf. C language @@ -1074,6 +1074,24 @@ PhysicalId : } ; +RuledSurfaceOptions : + // nothing + { + $$ = 0; + } + | tIn tSphere '{' FExpr '}' + { + $$ = List_Create(4, 4, sizeof(double)); + Vertex *v = FindPoint((int)$4); + if(!v) + yymsg(GERROR, "Unknown point %d", (int)$4); + else{ + List_Add($$, &v->Pos.X); + List_Add($$, &v->Pos.Y); + List_Add($$, &v->Pos.Z); + } + } +; Shape : @@ -1399,7 +1417,7 @@ Shape : $$.Type = MSH_SURF_PLAN; $$.Num = num; } - | tRuled tSurface '(' FExpr ')' tAFFECT ListOfDouble tEND + | tRuled tSurface '(' FExpr ')' tAFFECT ListOfDouble RuledSurfaceOptions tEND { int num = (int)$4, type = 0; if(FindSurface(num)){ @@ -1430,6 +1448,7 @@ Shape : setSurfaceGeneratrices(s, temp); List_Delete(temp); End_Surface(s); + s->RuledSurfaceOptions = $8; Tree_Add(GModel::current()->getGEOInternals()->Surfaces, &s); } } diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 04b9fc3db772603c5d802229942c5375c1140b61..378e992837c50fdc9e47694df17a192f0755c0ad 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -835,7 +835,7 @@ int gmsh_yy_flex_debug = 0; char *gmsh_yytext; #line 1 "Gmsh.l" #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.359 2008-04-22 07:37:15 geuzaine Exp $ +// $Id: Gmsh.yy.cpp,v 1.360 2008-04-24 17:29:53 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi index 754fb979544cfee8bb199af7590f312a25c5b748..5af207d60db35e0f46e6b328e9eb718e9d4ca7e8 100644 --- a/doc/texinfo/gmsh.texi +++ b/doc/texinfo/gmsh.texi @@ -1,5 +1,5 @@ \input texinfo.tex @c -*-texinfo-*- -@c $Id: gmsh.texi,v 1.248 2008-04-22 07:37:17 geuzaine Exp $ +@c $Id: gmsh.texi,v 1.249 2008-04-24 17:29:54 geuzaine Exp $ @c @c Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle @c @@ -1580,12 +1580,15 @@ should be defined separately). Likewise, a line loop defining a hole should not have any lines in common with another line loop defining a hole in the same surface (in which case the two line loops should be combined). -@item Ruled Surface ( @var{expression} ) = @{ @var{expression-list} @}; +@item Ruled Surface ( @var{expression} ) = @{ @var{expression-list} @} < In Sphere @{ @var{expression} @} >; Creates a ruled surface, i.e., a surface that can be interpolated using -transfinite interpolation. The @var{expression} inside the parentheses is -the ruled surface's identification number; the @var{expression-list} on the -right hand side should the identification number of a single line loop, -composed of either three or four elementary lines. +transfinite interpolation. The @var{expression} inside the parentheses +is the ruled surface's identification number; the first +@var{expression-list} on the right hand side should the identification +number of a line loop composed of either three or four elementary +lines. The optional @code{In Sphere} argument forces the surface to be a +spherical patch (the extra parameter gives the identification number of +the center of the sphere). @item Surface Loop ( @var{expression} ) = @{ @var{expression-list} @}; Creates a surface loop (a shell). The @var{expression} inside the