/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Contents of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1200 - (show annotations) (download)
Thu May 24 14:04:18 2007 UTC (16 years, 11 months ago) by iliev
File size: 268154 byte(s)
* Implemented instrument scanning in background
  and commands for monitoring the scan progress

1 /* A Bison parser, made by GNU Bison 2.3. */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
32
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
35
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
38
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
45
46 /* Identify Bison output. */
47 #define YYBISON 1
48
49 /* Bison version. */
50 #define YYBISON_VERSION "2.3"
51
52 /* Skeleton name. */
53 #define YYSKELETON_NAME "yacc.c"
54
55 /* Pure parsers. */
56 #define YYPURE 1
57
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
60
61
62
63
64
65
66
67 /* Copy the first part of user declarations. */
68 #line 31 "lscp.y"
69
70
71 #include "lscpparser.h"
72 #include "lscpserver.h"
73 #include "lscpevent.h"
74
75 // to save us typing work in the rules action definitions
76 #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer
77
78 // clears input buffer
79 void restart(yyparse_param_t* pparam, int& yychar);
80 #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)
81
82 // we provide our own version of yyerror() so we don't have to link against the yacc library
83 void yyerror(const char* s);
84
85 static char buf[1024]; // input buffer to feed the parser with new characters
86 static int bytes = 0; // current number of characters in the input buffer
87 static int ptr = 0; // current position in the input buffer
88
89 // external reference to the function which actually reads from the socket
90 extern int GetLSCPCommand( void *buf, int max_size);
91
92 // custom scanner function which reads from the socket
93 int yylex(YYSTYPE* yylval) {
94 // check if we have to read new characters
95 if (ptr >= bytes) {
96 bytes = GetLSCPCommand(buf, 1023);
97 ptr = 0;
98 if (bytes < 0) {
99 bytes = 0;
100 return 0;
101 }
102 }
103 return (int) buf[ptr++];
104 }
105
106
107
108 /* Enabling traces. */
109 #ifndef YYDEBUG
110 # define YYDEBUG 0
111 #endif
112
113 /* Enabling verbose error messages. */
114 #ifdef YYERROR_VERBOSE
115 # undef YYERROR_VERBOSE
116 # define YYERROR_VERBOSE 1
117 #else
118 # define YYERROR_VERBOSE 0
119 #endif
120
121 /* Enabling the token table. */
122 #ifndef YYTOKEN_TABLE
123 # define YYTOKEN_TABLE 0
124 #endif
125
126 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127 typedef int YYSTYPE;
128 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129 # define YYSTYPE_IS_DECLARED 1
130 # define YYSTYPE_IS_TRIVIAL 1
131 #endif
132
133
134
135 /* Copy the second part of user declarations. */
136
137
138 /* Line 216 of yacc.c. */
139 #line 140 "y.tab.c"
140
141 #ifdef short
142 # undef short
143 #endif
144
145 #ifdef YYTYPE_UINT8
146 typedef YYTYPE_UINT8 yytype_uint8;
147 #else
148 typedef unsigned char yytype_uint8;
149 #endif
150
151 #ifdef YYTYPE_INT8
152 typedef YYTYPE_INT8 yytype_int8;
153 #elif (defined __STDC__ || defined __C99__FUNC__ \
154 || defined __cplusplus || defined _MSC_VER)
155 typedef signed char yytype_int8;
156 #else
157 typedef short int yytype_int8;
158 #endif
159
160 #ifdef YYTYPE_UINT16
161 typedef YYTYPE_UINT16 yytype_uint16;
162 #else
163 typedef unsigned short int yytype_uint16;
164 #endif
165
166 #ifdef YYTYPE_INT16
167 typedef YYTYPE_INT16 yytype_int16;
168 #else
169 typedef short int yytype_int16;
170 #endif
171
172 #ifndef YYSIZE_T
173 # ifdef __SIZE_TYPE__
174 # define YYSIZE_T __SIZE_TYPE__
175 # elif defined size_t
176 # define YYSIZE_T size_t
177 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178 || defined __cplusplus || defined _MSC_VER)
179 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180 # define YYSIZE_T size_t
181 # else
182 # define YYSIZE_T unsigned int
183 # endif
184 #endif
185
186 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187
188 #ifndef YY_
189 # if YYENABLE_NLS
190 # if ENABLE_NLS
191 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192 # define YY_(msgid) dgettext ("bison-runtime", msgid)
193 # endif
194 # endif
195 # ifndef YY_
196 # define YY_(msgid) msgid
197 # endif
198 #endif
199
200 /* Suppress unused-variable warnings by "using" E. */
201 #if ! defined lint || defined __GNUC__
202 # define YYUSE(e) ((void) (e))
203 #else
204 # define YYUSE(e) /* empty */
205 #endif
206
207 /* Identity function, used to suppress warnings about constant conditions. */
208 #ifndef lint
209 # define YYID(n) (n)
210 #else
211 #if (defined __STDC__ || defined __C99__FUNC__ \
212 || defined __cplusplus || defined _MSC_VER)
213 static int
214 YYID (int i)
215 #else
216 static int
217 YYID (i)
218 int i;
219 #endif
220 {
221 return i;
222 }
223 #endif
224
225 #if ! defined yyoverflow || YYERROR_VERBOSE
226
227 /* The parser invokes alloca or malloc; define the necessary symbols. */
228
229 # ifdef YYSTACK_USE_ALLOCA
230 # if YYSTACK_USE_ALLOCA
231 # ifdef __GNUC__
232 # define YYSTACK_ALLOC __builtin_alloca
233 # elif defined __BUILTIN_VA_ARG_INCR
234 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235 # elif defined _AIX
236 # define YYSTACK_ALLOC __alloca
237 # elif defined _MSC_VER
238 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239 # define alloca _alloca
240 # else
241 # define YYSTACK_ALLOC alloca
242 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243 || defined __cplusplus || defined _MSC_VER)
244 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245 # ifndef _STDLIB_H
246 # define _STDLIB_H 1
247 # endif
248 # endif
249 # endif
250 # endif
251 # endif
252
253 # ifdef YYSTACK_ALLOC
254 /* Pacify GCC's `empty if-body' warning. */
255 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256 # ifndef YYSTACK_ALLOC_MAXIMUM
257 /* The OS might guarantee only one guard page at the bottom of the stack,
258 and a page size can be as small as 4096 bytes. So we cannot safely
259 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
260 to allow for a few compiler-allocated temporary stack slots. */
261 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262 # endif
263 # else
264 # define YYSTACK_ALLOC YYMALLOC
265 # define YYSTACK_FREE YYFREE
266 # ifndef YYSTACK_ALLOC_MAXIMUM
267 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268 # endif
269 # if (defined __cplusplus && ! defined _STDLIB_H \
270 && ! ((defined YYMALLOC || defined malloc) \
271 && (defined YYFREE || defined free)))
272 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273 # ifndef _STDLIB_H
274 # define _STDLIB_H 1
275 # endif
276 # endif
277 # ifndef YYMALLOC
278 # define YYMALLOC malloc
279 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280 || defined __cplusplus || defined _MSC_VER)
281 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282 # endif
283 # endif
284 # ifndef YYFREE
285 # define YYFREE free
286 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287 || defined __cplusplus || defined _MSC_VER)
288 void free (void *); /* INFRINGES ON USER NAME SPACE */
289 # endif
290 # endif
291 # endif
292 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293
294
295 #if (! defined yyoverflow \
296 && (! defined __cplusplus \
297 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298
299 /* A type that is properly aligned for any stack member. */
300 union yyalloc
301 {
302 yytype_int16 yyss;
303 YYSTYPE yyvs;
304 };
305
306 /* The size of the maximum gap between one aligned stack and the next. */
307 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
308
309 /* The size of an array large to enough to hold all stacks, each with
310 N elements. */
311 # define YYSTACK_BYTES(N) \
312 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313 + YYSTACK_GAP_MAXIMUM)
314
315 /* Copy COUNT objects from FROM to TO. The source and destination do
316 not overlap. */
317 # ifndef YYCOPY
318 # if defined __GNUC__ && 1 < __GNUC__
319 # define YYCOPY(To, From, Count) \
320 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321 # else
322 # define YYCOPY(To, From, Count) \
323 do \
324 { \
325 YYSIZE_T yyi; \
326 for (yyi = 0; yyi < (Count); yyi++) \
327 (To)[yyi] = (From)[yyi]; \
328 } \
329 while (YYID (0))
330 # endif
331 # endif
332
333 /* Relocate STACK from its old location to the new one. The
334 local variables YYSIZE and YYSTACKSIZE give the old and new number of
335 elements in the stack, and YYPTR gives the new location of the
336 stack. Advance YYPTR to a properly aligned location for the next
337 stack. */
338 # define YYSTACK_RELOCATE(Stack) \
339 do \
340 { \
341 YYSIZE_T yynewbytes; \
342 YYCOPY (&yyptr->Stack, Stack, yysize); \
343 Stack = &yyptr->Stack; \
344 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345 yyptr += yynewbytes / sizeof (*yyptr); \
346 } \
347 while (YYID (0))
348
349 #endif
350
351 /* YYFINAL -- State number of the termination state. */
352 #define YYFINAL 52
353 /* YYLAST -- Last index in YYTABLE. */
354 #define YYLAST 5505
355
356 /* YYNTOKENS -- Number of terminals. */
357 #define YYNTOKENS 227
358 /* YYNNTS -- Number of nonterminals. */
359 #define YYNNTS 168
360 /* YYNRULES -- Number of rules. */
361 #define YYNRULES 611
362 /* YYNRULES -- Number of states. */
363 #define YYNSTATES 2074
364
365 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
366 #define YYUNDEFTOK 2
367 #define YYMAXUTOK 257
368
369 #define YYTRANSLATE(YYX) \
370 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371
372 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
373 static const yytype_uint8 yytranslate[] =
374 {
375 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
376 225, 2, 2, 226, 2, 2, 2, 2, 2, 2,
377 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
378 2, 2, 224, 71, 223, 3, 72, 73, 74, 222,
379 75, 76, 77, 7, 5, 8, 6, 78, 9, 10,
380 11, 12, 13, 14, 15, 16, 17, 18, 79, 80,
381 81, 4, 82, 83, 84, 19, 20, 21, 22, 23,
382 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
383 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
384 44, 85, 86, 87, 88, 89, 2, 45, 46, 47,
385 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
386 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
387 68, 69, 70, 90, 91, 92, 93, 2, 94, 95,
388 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
389 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
390 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
391 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
392 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
393 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
394 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
395 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
396 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
397 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
398 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
399 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
400 216, 217, 218, 219, 220, 221, 1, 2
401 };
402
403 #if YYDEBUG
404 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405 YYRHS. */
406 static const yytype_uint16 yyprhs[] =
407 {
408 0, 0, 3, 6, 10, 11, 13, 15, 17, 19,
409 22, 25, 28, 31, 35, 39, 43, 47, 51, 55,
410 59, 63, 67, 71, 75, 79, 83, 87, 91, 95,
411 99, 101, 103, 105, 109, 119, 127, 135, 145, 151,
412 159, 161, 165, 167, 169, 171, 173, 175, 177, 179,
413 181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
414 201, 203, 205, 207, 209, 211, 213, 215, 217, 219,
415 221, 223, 225, 227, 229, 231, 233, 235, 237, 239,
416 241, 243, 245, 247, 249, 251, 253, 255, 257, 274,
417 293, 312, 333, 341, 345, 349, 353, 359, 363, 367,
418 369, 371, 377, 385, 395, 397, 403, 411, 421, 423,
419 425, 431, 437, 445, 455, 463, 473, 475, 481, 489,
420 495, 501, 507, 511, 513, 515, 519, 523, 533, 535,
421 541, 545, 553, 559, 563, 569, 575, 579, 585, 591,
422 593, 601, 611, 619, 629, 633, 641, 651, 663, 673,
423 683, 691, 699, 707, 715, 719, 723, 729, 733, 739,
424 743, 749, 757, 761, 765, 769, 777, 783, 791, 797,
425 803, 809, 815, 821, 825, 829, 835, 839, 843, 849,
426 857, 863, 873, 879, 885, 891, 897, 903, 909, 915,
427 921, 927, 933, 934, 937, 941, 947, 949, 951, 953,
428 955, 957, 959, 961, 963, 967, 971, 973, 977, 983,
429 987, 993, 997, 1003, 1011, 1015, 1017, 1019, 1021, 1023,
430 1025, 1027, 1029, 1031, 1033, 1035, 1037, 1039, 1041, 1043,
431 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059, 1061, 1063,
432 1065, 1067, 1069, 1073, 1075, 1077, 1079, 1081, 1085, 1091,
433 1093, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1110, 1114,
434 1119, 1124, 1126, 1129, 1131, 1133, 1135, 1137, 1139, 1141,
435 1143, 1145, 1147, 1149, 1151, 1154, 1157, 1160, 1163, 1166,
436 1169, 1172, 1175, 1178, 1180, 1182, 1184, 1186, 1188, 1190,
437 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1210,
438 1212, 1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230,
439 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250,
440 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268, 1270,
441 1272, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290,
442 1292, 1294, 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310,
443 1312, 1314, 1316, 1318, 1320, 1322, 1324, 1326, 1328, 1330,
444 1332, 1334, 1336, 1338, 1340, 1342, 1344, 1346, 1348, 1350,
445 1352, 1354, 1356, 1358, 1360, 1362, 1364, 1366, 1368, 1370,
446 1372, 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1388, 1390,
447 1392, 1394, 1396, 1398, 1400, 1402, 1404, 1406, 1408, 1410,
448 1412, 1414, 1416, 1418, 1420, 1422, 1424, 1426, 1428, 1430,
449 1432, 1434, 1436, 1438, 1440, 1442, 1444, 1446, 1448, 1450,
450 1452, 1454, 1456, 1458, 1460, 1462, 1464, 1466, 1468, 1470,
451 1472, 1474, 1476, 1478, 1480, 1482, 1484, 1486, 1488, 1490,
452 1492, 1494, 1496, 1498, 1500, 1502, 1504, 1506, 1508, 1510,
453 1512, 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528, 1530,
454 1532, 1534, 1536, 1538, 1540, 1542, 1544, 1546, 1548, 1550,
455 1552, 1554, 1556, 1558, 1560, 1562, 1564, 1566, 1568, 1570,
456 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1588, 1590,
457 1592, 1594, 1596, 1598, 1600, 1602, 1604, 1606, 1608, 1610,
458 1612, 1614, 1616, 1618, 1620, 1623, 1626, 1630, 1634, 1636,
459 1638, 1640, 1644, 1648, 1652, 1658, 1664, 1669, 1674, 1679,
460 1686, 1694, 1699, 1704, 1708, 1713, 1721, 1731, 1738, 1742,
461 1752, 1764, 1772, 1790, 1821, 1830, 1835, 1861, 1886, 1910,
462 1933, 1959, 1984, 2006, 2027, 2057, 2086, 2106, 2125, 2149,
463 2163, 2176, 2190, 2203, 2215, 2228, 2240, 2258, 2280, 2292,
464 2303, 2310, 2320, 2335, 2346, 2376, 2397, 2417, 2447, 2467,
465 2498, 2519, 2537, 2566, 2594, 2620, 2639, 2657, 2685, 2701,
466 2718, 2738, 2759, 2777, 2793, 2812, 2828, 2839, 2855, 2863,
467 2872, 2896, 2922, 2937, 2951, 2970, 2982, 2988, 2993, 3003,
468 3017, 3024, 3031, 3037, 3042, 3047, 3053, 3064, 3070, 3084,
469 3089, 3094
470 };
471
472 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
473 static const yytype_int16 yyrhs[] =
474 {
475 228, 0, -1, 229, 292, -1, 229, 293, 292, -1,
476 -1, 230, -1, 231, -1, 1, -1, 3, -1, 230,
477 3, -1, 230, 291, -1, 230, 287, -1, 230, 283,
478 -1, 294, 291, 232, -1, 296, 291, 235, -1, 297,
479 291, 236, -1, 295, 291, 238, -1, 302, 291, 240,
480 -1, 303, 291, 246, -1, 304, 291, 252, -1, 305,
481 291, 247, -1, 310, 291, 237, -1, 311, 291, 239,
482 -1, 312, 291, 233, -1, 313, 291, 234, -1, 390,
483 291, 241, -1, 298, 291, 242, -1, 299, 291, 243,
484 -1, 300, 291, 244, -1, 301, 291, 245, -1, 390,
485 -1, 394, -1, 314, -1, 373, 291, 271, -1, 375,
486 291, 309, 291, 281, 291, 271, 291, 271, -1, 375,
487 291, 281, 291, 271, 291, 271, -1, 375, 291, 309,
488 291, 271, 291, 271, -1, 375, 291, 309, 291, 271,
489 291, 271, 291, 268, -1, 375, 291, 271, 291, 271,
490 -1, 375, 291, 271, 291, 271, 291, 268, -1, 363,
491 -1, 363, 291, 274, -1, 319, -1, 320, -1, 321,
492 -1, 322, -1, 332, -1, 338, -1, 337, -1, 336,
493 -1, 333, -1, 334, -1, 335, -1, 323, -1, 324,
494 -1, 325, -1, 326, -1, 327, -1, 328, -1, 329,
495 -1, 330, -1, 331, -1, 391, -1, 339, -1, 341,
496 -1, 319, -1, 320, -1, 321, -1, 322, -1, 332,
497 -1, 338, -1, 337, -1, 336, -1, 333, -1, 334,
498 -1, 335, -1, 323, -1, 324, -1, 325, -1, 326,
499 -1, 327, -1, 328, -1, 329, -1, 330, -1, 331,
500 -1, 391, -1, 339, -1, 341, -1, 361, 291, 249,
501 262, 291, 263, 291, 264, 291, 270, 291, 273, 291,
502 268, 291, 266, -1, 361, 291, 249, 262, 291, 263,
503 291, 264, 291, 270, 291, 273, 291, 268, 291, 266,
504 291, 255, -1, 361, 291, 249, 262, 291, 263, 291,
505 264, 291, 270, 291, 273, 291, 268, 291, 266, 291,
506 275, -1, 361, 291, 249, 262, 291, 263, 291, 264,
507 291, 270, 291, 273, 291, 268, 291, 266, 291, 255,
508 291, 275, -1, 361, 291, 262, 291, 263, 291, 264,
509 -1, 314, 291, 267, -1, 363, 291, 262, -1, 363,
510 291, 306, -1, 373, 291, 379, 291, 271, -1, 373,
511 291, 271, -1, 376, 291, 271, -1, 315, -1, 355,
512 -1, 365, 291, 318, 291, 283, -1, 360, 291, 318,
513 291, 283, 291, 283, -1, 360, 291, 318, 291, 283,
514 291, 283, 291, 250, -1, 316, -1, 351, 291, 318,
515 291, 283, -1, 350, 291, 318, 291, 283, 291, 283,
516 -1, 350, 291, 318, 291, 283, 291, 283, 291, 250,
517 -1, 348, -1, 358, -1, 349, 291, 318, 291, 287,
518 -1, 359, 291, 318, 291, 287, -1, 366, 291, 318,
519 291, 287, 291, 287, -1, 357, 291, 318, 291, 287,
520 291, 287, 291, 283, -1, 353, 291, 318, 291, 287,
521 291, 287, -1, 352, 291, 318, 291, 287, 291, 287,
522 291, 283, -1, 317, -1, 314, 291, 318, 291, 267,
523 -1, 314, 291, 336, 291, 251, 291, 267, -1, 314,
524 291, 337, 291, 267, -1, 314, 291, 338, 291, 267,
525 -1, 343, 291, 318, 291, 270, -1, 383, 291, 318,
526 -1, 339, -1, 340, -1, 362, 291, 262, -1, 362,
527 291, 306, -1, 361, 291, 318, 291, 262, 291, 263,
528 291, 264, -1, 364, -1, 363, 291, 318, 291, 262,
529 -1, 372, 291, 267, -1, 371, 291, 318, 291, 267,
530 291, 269, -1, 374, 291, 381, 291, 271, -1, 374,
531 291, 271, -1, 373, 291, 318, 291, 271, -1, 375,
532 291, 381, 291, 271, -1, 375, 291, 271, -1, 376,
533 291, 318, 291, 271, -1, 377, 291, 318, 291, 287,
534 -1, 384, -1, 347, 291, 287, 291, 283, 4, 277,
535 -1, 352, 291, 287, 291, 287, 291, 283, 4, 277,
536 -1, 356, 291, 287, 291, 283, 4, 277, -1, 357,
537 291, 287, 291, 287, 291, 283, 4, 277, -1, 314,
538 291, 248, -1, 363, 291, 392, 291, 262, 291, 274,
539 -1, 371, 291, 392, 291, 267, 291, 269, 291, 276,
540 -1, 371, 291, 353, 291, 267, 291, 269, 291, 257,
541 291, 257, -1, 371, 291, 370, 291, 267, 291, 269,
542 291, 265, -1, 371, 291, 385, 291, 267, 291, 269,
543 291, 266, -1, 373, 291, 392, 291, 271, 291, 272,
544 -1, 373, 291, 378, 291, 271, 291, 290, -1, 376,
545 291, 392, 291, 271, 291, 272, -1, 376, 291, 378,
546 291, 271, 291, 290, -1, 393, 291, 282, -1, 384,
547 291, 266, -1, 349, 291, 283, 291, 250, -1, 349,
548 291, 283, -1, 359, 291, 283, 291, 250, -1, 359,
549 291, 283, -1, 371, 291, 267, 291, 265, -1, 371,
550 291, 267, 291, 265, 291, 276, -1, 314, 291, 267,
551 -1, 362, 291, 262, -1, 362, 291, 306, -1, 375,
552 291, 382, 291, 271, 291, 279, -1, 375, 291, 271,
553 291, 279, -1, 374, 291, 382, 291, 271, 291, 279,
554 -1, 374, 291, 271, 291, 279, -1, 373, 291, 271,
555 291, 271, -1, 376, 291, 271, 291, 271, -1, 373,
556 291, 271, 291, 271, -1, 376, 291, 271, 291, 271,
557 -1, 349, 291, 287, -1, 359, 291, 287, -1, 371,
558 291, 267, 291, 269, -1, 342, 291, 253, -1, 343,
559 291, 254, -1, 349, 291, 267, 291, 256, -1, 353,
560 291, 267, 291, 257, 291, 257, -1, 354, 291, 267,
561 291, 258, -1, 369, 291, 267, 291, 256, 291, 259,
562 291, 260, -1, 359, 291, 267, 291, 256, -1, 366,
563 291, 267, 291, 259, -1, 367, 291, 267, 291, 260,
564 -1, 368, 291, 267, 291, 261, -1, 384, 291, 267,
565 291, 266, -1, 386, 291, 267, 291, 282, -1, 387,
566 291, 267, 291, 282, -1, 363, 291, 267, 291, 262,
567 -1, 363, 291, 267, 291, 307, -1, 363, 291, 267,
568 291, 308, -1, -1, 309, 291, -1, 283, 4, 277,
569 -1, 250, 291, 283, 4, 277, -1, 388, -1, 389,
570 -1, 348, -1, 358, -1, 317, -1, 315, -1, 355,
571 -1, 316, -1, 362, 291, 262, -1, 362, 291, 306,
572 -1, 364, -1, 372, 291, 267, -1, 374, 291, 381,
573 291, 271, -1, 374, 291, 271, -1, 375, 291, 381,
574 291, 271, -1, 375, 291, 271, -1, 273, 291, 268,
575 291, 267, -1, 309, 291, 273, 291, 268, 291, 267,
576 -1, 270, 291, 267, -1, 344, -1, 345, -1, 346,
577 -1, 287, -1, 287, -1, 283, -1, 287, -1, 287,
578 -1, 306, -1, 283, -1, 287, -1, 287, -1, 287,
579 -1, 287, -1, 284, -1, 287, -1, 287, -1, 287,
580 -1, 287, -1, 283, -1, 290, -1, 290, -1, 290,
581 -1, 290, -1, 290, -1, 290, -1, 278, -1, 277,
582 5, 278, -1, 283, -1, 290, -1, 287, -1, 284,
583 -1, 283, 4, 280, -1, 279, 291, 283, 4, 280,
584 -1, 283, -1, 290, -1, 381, -1, 382, -1, 380,
585 -1, 287, -1, 283, -1, 288, -1, 283, 288, -1,
586 285, 6, 285, -1, 7, 285, 6, 285, -1, 8,
587 285, 6, 285, -1, 286, -1, 285, 286, -1, 9,
588 -1, 10, -1, 11, -1, 12, -1, 13, -1, 14,
589 -1, 15, -1, 16, -1, 17, -1, 18, -1, 286,
590 -1, 10, 285, -1, 11, 285, -1, 12, 285, -1,
591 13, 285, -1, 14, 285, -1, 15, 285, -1, 16,
592 285, -1, 17, 285, -1, 18, 285, -1, 19, -1,
593 20, -1, 21, -1, 22, -1, 23, -1, 24, -1,
594 25, -1, 26, -1, 27, -1, 28, -1, 29, -1,
595 30, -1, 31, -1, 32, -1, 33, -1, 34, -1,
596 35, -1, 36, -1, 37, -1, 38, -1, 39, -1,
597 40, -1, 41, -1, 42, -1, 43, -1, 44, -1,
598 45, -1, 46, -1, 47, -1, 48, -1, 49, -1,
599 50, -1, 51, -1, 52, -1, 53, -1, 54, -1,
600 55, -1, 56, -1, 57, -1, 58, -1, 59, -1,
601 60, -1, 61, -1, 62, -1, 63, -1, 64, -1,
602 65, -1, 66, -1, 67, -1, 68, -1, 69, -1,
603 70, -1, 9, -1, 10, -1, 11, -1, 12, -1,
604 13, -1, 14, -1, 15, -1, 16, -1, 17, -1,
605 18, -1, 71, -1, 3, -1, 72, -1, 73, -1,
606 74, -1, 75, -1, 76, -1, 77, -1, 7, -1,
607 8, -1, 6, -1, 5, -1, 78, -1, 79, -1,
608 80, -1, 81, -1, 4, -1, 82, -1, 83, -1,
609 84, -1, 85, -1, 86, -1, 87, -1, 88, -1,
610 89, -1, 90, -1, 91, -1, 92, -1, 93, -1,
611 94, -1, 95, -1, 96, -1, 97, -1, 98, -1,
612 99, -1, 100, -1, 101, -1, 102, -1, 103, -1,
613 104, -1, 105, -1, 106, -1, 107, -1, 108, -1,
614 109, -1, 110, -1, 111, -1, 112, -1, 113, -1,
615 114, -1, 115, -1, 116, -1, 117, -1, 118, -1,
616 119, -1, 120, -1, 121, -1, 122, -1, 123, -1,
617 124, -1, 125, -1, 126, -1, 127, -1, 128, -1,
618 129, -1, 130, -1, 131, -1, 132, -1, 133, -1,
619 134, -1, 135, -1, 136, -1, 137, -1, 138, -1,
620 139, -1, 140, -1, 141, -1, 142, -1, 143, -1,
621 144, -1, 145, -1, 146, -1, 147, -1, 148, -1,
622 149, -1, 150, -1, 151, -1, 152, -1, 153, -1,
623 154, -1, 155, -1, 156, -1, 157, -1, 158, -1,
624 159, -1, 160, -1, 161, -1, 162, -1, 163, -1,
625 164, -1, 165, -1, 166, -1, 167, -1, 168, -1,
626 169, -1, 170, -1, 171, -1, 172, -1, 173, -1,
627 174, -1, 175, -1, 176, -1, 177, -1, 178, -1,
628 179, -1, 180, -1, 181, -1, 182, -1, 183, -1,
629 184, -1, 185, -1, 186, -1, 187, -1, 188, -1,
630 189, -1, 190, -1, 191, -1, 192, -1, 193, -1,
631 194, -1, 195, -1, 196, -1, 197, -1, 198, -1,
632 199, -1, 200, -1, 201, -1, 202, -1, 203, -1,
633 204, -1, 205, -1, 206, -1, 207, -1, 208, -1,
634 209, -1, 210, -1, 211, -1, 212, -1, 213, -1,
635 214, -1, 215, -1, 216, -1, 217, -1, 218, -1,
636 219, -1, 220, -1, 221, -1, 291, -1, 283, -1,
637 289, 291, -1, 289, 283, -1, 222, 289, 222, -1,
638 223, 289, 223, -1, 224, -1, 225, -1, 226, -1,
639 19, 22, 22, -1, 25, 23, 38, -1, 31, 19,
640 34, -1, 39, 32, 31, 19, 34, -1, 21, 30,
641 23, 19, 36, -1, 24, 27, 32, 22, -1, 31,
642 33, 40, 23, -1, 21, 33, 34, 43, -1, 21,
643 36, 23, 19, 38, 23, -1, 22, 23, 37, 38,
644 36, 33, 43, -1, 30, 27, 37, 38, -1, 30,
645 33, 19, 22, -1, 19, 30, 30, -1, 32, 33,
646 32, 23, -1, 22, 23, 24, 19, 39, 30, 38,
647 -1, 32, 33, 32, 89, 31, 33, 22, 19, 30,
648 -1, 36, 23, 31, 33, 40, 23, -1, 37, 23,
649 38, -1, 37, 39, 20, 37, 21, 36, 27, 20,
650 23, -1, 39, 32, 37, 39, 20, 37, 21, 36,
651 27, 20, 23, -1, 21, 26, 19, 32, 32, 23,
652 30, -1, 19, 40, 19, 27, 30, 19, 20, 30,
653 23, 89, 23, 32, 25, 27, 32, 23, 37, -1,
654 19, 40, 19, 27, 30, 19, 20, 30, 23, 89,
655 19, 39, 22, 27, 33, 89, 33, 39, 38, 34,
656 39, 38, 89, 22, 36, 27, 40, 23, 36, 37,
657 -1, 21, 26, 19, 32, 32, 23, 30, 37, -1,
658 27, 32, 24, 33, -1, 19, 39, 22, 27, 33,
659 89, 33, 39, 38, 34, 39, 38, 89, 22, 23,
660 40, 27, 21, 23, 89, 21, 33, 39, 32, 38,
661 -1, 19, 39, 22, 27, 33, 89, 33, 39, 38,
662 34, 39, 38, 89, 22, 23, 40, 27, 21, 23,
663 89, 27, 32, 24, 33, -1, 31, 27, 22, 27,
664 89, 27, 32, 34, 39, 38, 89, 22, 23, 40,
665 27, 21, 23, 89, 21, 33, 39, 32, 38, -1,
666 31, 27, 22, 27, 89, 27, 32, 34, 39, 38,
667 89, 22, 23, 40, 27, 21, 23, 89, 27, 32,
668 24, 33, -1, 31, 27, 22, 27, 89, 27, 32,
669 37, 38, 36, 39, 31, 23, 32, 38, 89, 31,
670 19, 34, 89, 21, 33, 39, 32, 38, -1, 31,
671 27, 22, 27, 89, 27, 32, 37, 38, 36, 39,
672 31, 23, 32, 38, 89, 31, 19, 34, 89, 27,
673 32, 24, 33, -1, 31, 27, 22, 27, 89, 27,
674 32, 37, 38, 36, 39, 31, 23, 32, 38, 89,
675 21, 33, 39, 32, 38, -1, 31, 27, 22, 27,
676 89, 27, 32, 37, 38, 36, 39, 31, 23, 32,
677 38, 89, 27, 32, 24, 33, -1, 22, 20, 89,
678 27, 32, 37, 38, 36, 39, 31, 23, 32, 38,
679 89, 22, 27, 36, 23, 21, 38, 33, 36, 43,
680 89, 21, 33, 39, 32, 38, -1, 22, 20, 89,
681 27, 32, 37, 38, 36, 39, 31, 23, 32, 38,
682 89, 22, 27, 36, 23, 21, 38, 33, 36, 43,
683 89, 27, 32, 24, 33, -1, 22, 20, 89, 27,
684 32, 37, 38, 36, 39, 31, 23, 32, 38, 89,
685 21, 33, 39, 32, 38, -1, 22, 20, 89, 27,
686 32, 37, 38, 36, 39, 31, 23, 32, 38, 89,
687 27, 32, 24, 33, -1, 22, 20, 89, 27, 32,
688 37, 38, 36, 39, 31, 23, 32, 38, 37, 89,
689 28, 33, 20, 89, 27, 32, 24, 33, -1, 21,
690 26, 19, 32, 32, 23, 30, 89, 21, 33, 39,
691 32, 38, -1, 21, 26, 19, 32, 32, 23, 30,
692 89, 27, 32, 24, 33, -1, 24, 42, 89, 37,
693 23, 32, 22, 89, 21, 33, 39, 32, 38, -1,
694 24, 42, 89, 37, 23, 32, 22, 89, 27, 32,
695 24, 33, -1, 20, 39, 24, 24, 23, 36, 89,
696 24, 27, 30, 30, -1, 37, 38, 36, 23, 19,
697 31, 89, 21, 33, 39, 32, 38, -1, 40, 33,
698 27, 21, 23, 89, 21, 33, 39, 32, 38, -1,
699 38, 33, 38, 19, 30, 89, 40, 33, 27, 21,
700 23, 89, 21, 33, 39, 32, 38, -1, 38, 33,
701 38, 19, 30, 89, 40, 33, 27, 21, 23, 89,
702 21, 33, 39, 32, 38, 89, 31, 19, 42, -1,
703 25, 30, 33, 20, 19, 30, 89, 27, 32, 24,
704 33, -1, 27, 32, 37, 38, 36, 39, 31, 23,
705 32, 38, -1, 23, 32, 25, 27, 32, 23, -1,
706 33, 32, 89, 22, 23, 31, 19, 32, 22, -1,
707 33, 32, 89, 22, 23, 31, 19, 32, 22, 89,
708 26, 33, 30, 22, -1, 34, 23, 36, 37, 27,
709 37, 38, 23, 32, 38, -1, 19, 39, 22, 27,
710 33, 89, 33, 39, 38, 34, 39, 38, 89, 22,
711 23, 40, 27, 21, 23, 89, 34, 19, 36, 19,
712 31, 23, 38, 23, 36, -1, 19, 39, 22, 27,
713 33, 89, 33, 39, 38, 34, 39, 38, 89, 22,
714 23, 40, 27, 21, 23, 37, -1, 19, 39, 22,
715 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
716 22, 23, 40, 27, 21, 23, -1, 19, 39, 22,
717 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
718 22, 36, 27, 40, 23, 36, 89, 34, 19, 36,
719 19, 31, 23, 38, 23, 36, -1, 19, 39, 22,
720 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
721 22, 36, 27, 40, 23, 36, -1, 19, 39, 22,
722 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
723 21, 26, 19, 32, 32, 23, 30, 89, 34, 19,
724 36, 19, 31, 23, 38, 23, 36, -1, 19, 39,
725 22, 27, 33, 89, 33, 39, 38, 34, 39, 38,
726 89, 21, 26, 19, 32, 32, 23, 30, -1, 19,
727 39, 22, 27, 33, 89, 33, 39, 38, 34, 39,
728 38, 89, 38, 43, 34, 23, -1, 19, 40, 19,
729 27, 30, 19, 20, 30, 23, 89, 31, 27, 22,
730 27, 89, 27, 32, 34, 39, 38, 89, 22, 36,
731 27, 40, 23, 36, 37, -1, 31, 27, 22, 27,
732 89, 27, 32, 34, 39, 38, 89, 22, 23, 40,
733 27, 21, 23, 89, 34, 19, 36, 19, 31, 23,
734 38, 23, 36, -1, 31, 27, 22, 27, 89, 27,
735 32, 34, 39, 38, 89, 34, 33, 36, 38, 89,
736 34, 19, 36, 19, 31, 23, 38, 23, 36, -1,
737 31, 27, 22, 27, 89, 27, 32, 34, 39, 38,
738 89, 22, 23, 40, 27, 21, 23, 37, -1, 31,
739 27, 22, 27, 89, 27, 32, 34, 39, 38, 89,
740 22, 23, 40, 27, 21, 23, -1, 31, 27, 22,
741 27, 89, 27, 32, 34, 39, 38, 89, 22, 36,
742 27, 40, 23, 36, 89, 34, 19, 36, 19, 31,
743 23, 38, 23, 36, -1, 31, 27, 22, 27, 89,
744 27, 32, 37, 38, 36, 39, 31, 23, 32, 38,
745 -1, 31, 27, 22, 27, 89, 27, 32, 37, 38,
746 36, 39, 31, 23, 32, 38, 37, -1, 31, 27,
747 22, 27, 89, 27, 32, 37, 38, 36, 39, 31,
748 23, 32, 38, 89, 31, 19, 34, -1, 31, 27,
749 22, 27, 89, 27, 32, 37, 38, 36, 39, 31,
750 23, 32, 38, 89, 31, 19, 34, 37, -1, 31,
751 27, 22, 27, 89, 27, 32, 34, 39, 38, 89,
752 22, 36, 27, 40, 23, 36, -1, 31, 27, 22,
753 27, 89, 27, 32, 34, 39, 38, 89, 34, 33,
754 36, 38, -1, 31, 27, 22, 27, 89, 27, 32,
755 34, 39, 38, 89, 21, 26, 19, 32, 32, 23,
756 30, -1, 31, 27, 22, 27, 89, 27, 32, 34,
757 39, 38, 89, 38, 43, 34, 23, -1, 31, 27,
758 22, 27, 89, 27, 32, 34, 39, 38, -1, 31,
759 27, 22, 27, 89, 21, 33, 32, 38, 36, 33,
760 30, 30, 23, 36, -1, 24, 42, 89, 37, 23,
761 32, 22, -1, 24, 42, 89, 37, 23, 32, 22,
762 37, -1, 22, 20, 89, 27, 32, 37, 38, 36,
763 39, 31, 23, 32, 38, 89, 22, 27, 36, 23,
764 21, 38, 33, 36, 43, -1, 22, 20, 89, 27,
765 32, 37, 38, 36, 39, 31, 23, 32, 38, 89,
766 22, 27, 36, 23, 21, 38, 33, 36, 27, 23,
767 37, -1, 22, 20, 89, 27, 32, 37, 38, 36,
768 39, 31, 23, 32, 38, 37, -1, 22, 20, 89,
769 27, 32, 37, 38, 36, 39, 31, 23, 32, 38,
770 -1, 22, 20, 89, 27, 32, 37, 38, 36, 39,
771 31, 23, 32, 38, 37, 89, 28, 33, 20, -1,
772 22, 23, 37, 21, 36, 27, 34, 38, 27, 33,
773 32, -1, 24, 33, 36, 21, 23, -1, 24, 30,
774 19, 38, -1, 36, 23, 21, 39, 36, 37, 27,
775 40, 23, -1, 32, 33, 32, 89, 36, 23, 21,
776 39, 36, 37, 27, 40, 23, -1, 37, 23, 36,
777 40, 23, 36, -1, 40, 33, 30, 39, 31, 23,
778 -1, 30, 23, 40, 23, 30, -1, 31, 39, 38,
779 23, -1, 37, 33, 30, 33, -1, 20, 43, 38,
780 23, 37, -1, 34, 23, 36, 21, 23, 32, 38,
781 19, 25, 23, -1, 36, 23, 37, 23, 38, -1,
782 31, 27, 37, 21, 23, 30, 30, 19, 32, 23,
783 33, 39, 37, -1, 32, 19, 31, 23, -1, 23,
784 21, 26, 33, -1, 35, 39, 27, 38, -1
785 };
786
787 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
788 static const yytype_uint16 yyrline[] =
789 {
790 0, 97, 97, 98, 101, 102, 103, 104, 107, 108,
791 109, 110, 111, 114, 115, 116, 117, 118, 119, 120,
792 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
793 131, 132, 135, 136, 137, 138, 139, 140, 141, 142,
794 143, 144, 147, 148, 149, 150, 151, 152, 153, 154,
795 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
796 165, 166, 167, 168, 169, 172, 173, 174, 175, 176,
797 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
798 187, 188, 189, 190, 191, 192, 193, 194, 197, 198,
799 199, 200, 203, 206, 207, 208, 209, 210, 211, 214,
800 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
801 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
802 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
803 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
804 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
805 267, 268, 269, 270, 271, 272, 275, 276, 277, 278,
806 279, 280, 283, 286, 287, 290, 291, 292, 293, 296,
807 297, 300, 301, 304, 305, 306, 309, 310, 313, 314,
808 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
809 325, 326, 329, 330, 333, 334, 337, 338, 341, 342,
810 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
811 353, 354, 357, 358, 361, 364, 365, 366, 369, 372,
812 375, 378, 381, 382, 385, 388, 391, 394, 397, 400,
813 401, 404, 407, 410, 413, 416, 419, 422, 425, 428,
814 431, 434, 435, 438, 439, 440, 441, 444, 445, 448,
815 449, 452, 453, 454, 462, 463, 466, 467, 470, 471,
816 472, 476, 477, 480, 481, 482, 483, 484, 485, 486,
817 487, 488, 489, 492, 493, 494, 495, 496, 497, 498,
818 499, 500, 501, 503, 503, 503, 503, 503, 503, 503,
819 503, 503, 503, 503, 503, 503, 503, 503, 503, 503,
820 503, 503, 503, 503, 503, 503, 503, 503, 503, 504,
821 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
822 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
823 504, 504, 504, 504, 504, 505, 505, 505, 505, 505,
824 505, 505, 505, 505, 505, 506, 506, 506, 506, 506,
825 506, 506, 506, 506, 506, 506, 506, 506, 507, 507,
826 507, 507, 507, 507, 507, 508, 508, 508, 508, 508,
827 509, 509, 509, 509, 510, 510, 510, 511, 511, 511,
828 512, 512, 512, 513, 513, 513, 514, 514, 514, 515,
829 515, 515, 516, 516, 516, 517, 517, 517, 518, 518,
830 518, 519, 519, 519, 520, 520, 520, 521, 521, 521,
831 522, 522, 522, 523, 523, 523, 524, 524, 524, 525,
832 525, 525, 526, 526, 526, 527, 527, 527, 528, 528,
833 528, 529, 529, 529, 530, 530, 530, 531, 531, 531,
834 532, 532, 532, 533, 533, 533, 534, 534, 534, 535,
835 535, 535, 536, 536, 536, 537, 537, 537, 538, 538,
836 538, 539, 539, 539, 540, 540, 540, 541, 541, 541,
837 542, 542, 542, 543, 543, 543, 544, 544, 544, 545,
838 545, 545, 546, 546, 546, 547, 547, 547, 548, 548,
839 548, 549, 549, 549, 550, 550, 550, 551, 551, 551,
840 552, 552, 555, 556, 557, 558, 561, 562, 568, 571,
841 574, 577, 580, 583, 586, 589, 592, 595, 598, 601,
842 604, 607, 610, 613, 616, 619, 622, 625, 628, 631,
843 634, 637, 640, 643, 646, 649, 652, 655, 658, 661,
844 664, 667, 670, 673, 676, 679, 682, 685, 688, 691,
845 694, 697, 700, 703, 706, 709, 712, 715, 718, 721,
846 724, 727, 730, 733, 736, 739, 742, 745, 748, 751,
847 754, 757, 760, 763, 766, 769, 772, 775, 778, 781,
848 784, 787, 790, 793, 796, 799, 802, 805, 808, 811,
849 814, 817, 820, 823, 826, 829, 832, 835, 838, 841,
850 844, 847, 850, 853, 856, 859, 862, 865, 868, 871,
851 874, 877
852 };
853 #endif
854
855 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
856 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
857 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
858 static const char *const yytname[] =
859 {
860 "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
861 "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
862 "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
863 "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
864 "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
865 "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
866 "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
867 "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
868 "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
869 "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
870 "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
871 "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
872 "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
873 "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
874 "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
875 "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
876 "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
877 "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
878 "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
879 "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
880 "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
881 "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
882 "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
883 "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
884 "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
885 "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
886 "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
887 "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
888 "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
889 "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
890 "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
891 "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
892 "command", "add_instruction", "subscribe_event", "unsubscribe_event",
893 "map_instruction", "unmap_instruction", "remove_instruction",
894 "get_instruction", "set_instruction", "create_instruction",
895 "reset_instruction", "clear_instruction", "find_instruction",
896 "move_instruction", "copy_instruction", "destroy_instruction",
897 "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
898 "buffer_size_type", "list_instruction", "load_instr_args",
899 "load_engine_args", "instr_load_mode", "device_index",
900 "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
901 "midi_input_channel_index", "midi_input_type_name", "midi_map",
902 "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
903 "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
904 "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
905 "param_val", "query_val_list", "query_val", "scan_mode", "boolean",
906 "string", "dotnum", "digits", "digit", "number", "char", "text",
907 "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
908 "FIND", "MOVE", "COPY", "CREATE", "DESTROY", "LIST", "LOAD", "ALL",
909 "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
910 "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",
911 "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO",
912 "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
913 "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
914 "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
915 "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
916 "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
917 "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "DB_INSTRUMENTS_JOB_INFO",
918 "CHANNEL_COUNT", "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO",
919 "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
920 "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
921 "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
922 "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
923 "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
924 "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
925 "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
926 "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
927 "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
928 "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
929 "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
930 "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
931 "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
932 "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
933 "DB_INSTRUMENTS_JOB", "DESCRIPTION", "FORCE", "FLAT", "RECURSIVE",
934 "NON_RECURSIVE", "SERVER", "VOLUME", "LEVEL", "MUTE", "SOLO", "BYTES",
935 "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
936 };
937 #endif
938
939 # ifdef YYPRINT
940 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
941 token YYLEX-NUM. */
942 static const yytype_uint16 yytoknum[] =
943 {
944 0, 256, 257, 35, 61, 44, 46, 43, 45, 48,
945 49, 50, 51, 52, 53, 54, 55, 56, 57, 65,
946 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
947 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
948 86, 87, 88, 89, 90, 97, 98, 99, 100, 101,
949 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
950 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
951 122, 33, 36, 37, 38, 40, 41, 42, 47, 58,
952 59, 60, 62, 63, 64, 91, 92, 93, 94, 95,
953 123, 124, 125, 126, 128, 129, 130, 131, 132, 133,
954 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
955 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
956 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
957 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
958 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
959 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
960 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
961 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
962 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
963 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
964 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
965 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
966 254, 255, 39, 34, 32, 10, 13
967 };
968 # endif
969
970 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
971 static const yytype_uint16 yyr1[] =
972 {
973 0, 227, 228, 228, 229, 229, 229, 229, 230, 230,
974 230, 230, 230, 231, 231, 231, 231, 231, 231, 231,
975 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
976 231, 231, 232, 232, 232, 232, 232, 232, 232, 232,
977 232, 232, 233, 233, 233, 233, 233, 233, 233, 233,
978 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
979 233, 233, 233, 233, 233, 234, 234, 234, 234, 234,
980 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
981 234, 234, 234, 234, 234, 234, 234, 234, 235, 235,
982 235, 235, 236, 237, 237, 237, 237, 237, 237, 238,
983 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
984 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
985 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
986 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
987 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
988 239, 239, 239, 239, 239, 239, 240, 240, 240, 240,
989 240, 240, 241, 242, 242, 243, 243, 243, 243, 244,
990 244, 245, 245, 246, 246, 246, 247, 247, 248, 248,
991 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
992 248, 248, 249, 249, 250, 250, 251, 251, 252, 252,
993 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
994 252, 252, 253, 253, 254, 255, 255, 255, 256, 257,
995 258, 259, 260, 260, 261, 262, 263, 264, 265, 266,
996 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
997 276, 277, 277, 278, 278, 278, 278, 279, 279, 280,
998 280, 281, 281, 281, 282, 282, 283, 283, 284, 284,
999 284, 285, 285, 286, 286, 286, 286, 286, 286, 286,
1000 286, 286, 286, 287, 287, 287, 287, 287, 287, 287,
1001 287, 287, 287, 288, 288, 288, 288, 288, 288, 288,
1002 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1003 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1004 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1005 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1006 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1007 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1008 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1009 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1010 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1011 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1012 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1013 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1014 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1015 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1016 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1017 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1018 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1019 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1020 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1021 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1022 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1023 288, 288, 289, 289, 289, 289, 290, 290, 291, 292,
1024 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
1025 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
1026 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
1027 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
1028 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
1029 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
1030 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
1031 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
1032 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
1033 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
1034 393, 394
1035 };
1036
1037 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1038 static const yytype_uint8 yyr2[] =
1039 {
1040 0, 2, 2, 3, 0, 1, 1, 1, 1, 2,
1041 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
1042 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1043 1, 1, 1, 3, 9, 7, 7, 9, 5, 7,
1044 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1045 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1046 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1047 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1048 1, 1, 1, 1, 1, 1, 1, 1, 16, 18,
1049 18, 20, 7, 3, 3, 3, 5, 3, 3, 1,
1050 1, 5, 7, 9, 1, 5, 7, 9, 1, 1,
1051 5, 5, 7, 9, 7, 9, 1, 5, 7, 5,
1052 5, 5, 3, 1, 1, 3, 3, 9, 1, 5,
1053 3, 7, 5, 3, 5, 5, 3, 5, 5, 1,
1054 7, 9, 7, 9, 3, 7, 9, 11, 9, 9,
1055 7, 7, 7, 7, 3, 3, 5, 3, 5, 3,
1056 5, 7, 3, 3, 3, 7, 5, 7, 5, 5,
1057 5, 5, 5, 3, 3, 5, 3, 3, 5, 7,
1058 5, 9, 5, 5, 5, 5, 5, 5, 5, 5,
1059 5, 5, 0, 2, 3, 5, 1, 1, 1, 1,
1060 1, 1, 1, 1, 3, 3, 1, 3, 5, 3,
1061 5, 3, 5, 7, 3, 1, 1, 1, 1, 1,
1062 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1063 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1064 1, 1, 3, 1, 1, 1, 1, 3, 5, 1,
1065 1, 1, 1, 1, 1, 1, 1, 2, 3, 4,
1066 4, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1067 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
1068 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
1069 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1070 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1071 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1072 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1073 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1074 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1075 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1076 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1077 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1078 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1079 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1080 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1081 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1082 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1083 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1084 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1085 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1086 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1087 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1088 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1089 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1090 1, 1, 1, 1, 2, 2, 3, 3, 1, 1,
1091 1, 3, 3, 3, 5, 5, 4, 4, 4, 6,
1092 7, 4, 4, 3, 4, 7, 9, 6, 3, 9,
1093 11, 7, 17, 30, 8, 4, 25, 24, 23, 22,
1094 25, 24, 21, 20, 29, 28, 19, 18, 23, 13,
1095 12, 13, 12, 11, 12, 11, 17, 21, 11, 10,
1096 6, 9, 14, 10, 29, 20, 19, 29, 19, 30,
1097 20, 17, 28, 27, 25, 18, 17, 27, 15, 16,
1098 19, 20, 17, 15, 18, 15, 10, 15, 7, 8,
1099 23, 25, 14, 13, 18, 11, 5, 4, 9, 13,
1100 6, 6, 5, 4, 4, 5, 10, 5, 13, 4,
1101 4, 4
1102 };
1103
1104 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1105 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1106 means the default is an error. */
1107 static const yytype_uint16 yydefact[] =
1108 {
1109 0, 7, 8, 0, 0, 0, 0, 0, 0, 0,
1110 0, 0, 0, 0, 0, 0, 5, 6, 0, 0,
1111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, 0, 0, 30, 31, 0, 0, 0, 0,
1113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1114 0, 0, 1, 509, 510, 2, 0, 9, 361, 356,
1115 355, 353, 354, 263, 264, 265, 266, 267, 268, 269,
1116 270, 271, 272, 283, 284, 285, 286, 287, 288, 289,
1117 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1118 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
1119 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1120 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
1121 330, 331, 332, 333, 334, 345, 347, 348, 349, 350,
1122 351, 352, 357, 358, 359, 360, 362, 363, 364, 365,
1123 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1124 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1125 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
1126 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
1127 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1128 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
1129 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
1130 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1131 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
1132 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1133 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
1134 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
1135 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
1136 496, 497, 498, 499, 500, 501, 508, 12, 273, 11,
1137 256, 10, 0, 0, 0, 0, 0, 0, 0, 0,
1138 0, 0, 0, 0, 0, 0, 0, 0, 0, 511,
1139 0, 0, 0, 0, 0, 512, 0, 0, 513, 0,
1140 0, 0, 0, 528, 0, 0, 0, 3, 263, 264,
1141 265, 266, 267, 268, 269, 270, 271, 272, 274, 261,
1142 275, 276, 277, 278, 279, 280, 281, 282, 346, 335,
1143 336, 337, 338, 339, 340, 341, 342, 343, 344, 257,
1144 0, 0, 0, 13, 32, 40, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, 0, 16, 0, 99,
1146 104, 116, 123, 124, 0, 108, 0, 0, 0, 0,
1147 0, 100, 0, 109, 0, 0, 0, 0, 0, 128,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1149 139, 0, 14, 0, 15, 0, 0, 26, 0, 0,
1150 27, 0, 0, 0, 28, 0, 0, 29, 0, 0,
1151 0, 0, 0, 17, 0, 0, 0, 18, 0, 0,
1152 0, 0, 0, 0, 0, 19, 201, 203, 200, 198,
1153 202, 199, 0, 206, 0, 0, 0, 0, 20, 0,
1154 0, 21, 0, 0, 0, 0, 0, 0, 0, 22,
1155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1157 0, 23, 42, 43, 44, 45, 53, 54, 55, 56,
1158 57, 58, 59, 60, 61, 46, 50, 51, 52, 49,
1159 48, 47, 63, 64, 62, 24, 65, 66, 67, 68,
1160 76, 77, 78, 79, 80, 81, 82, 83, 84, 69,
1161 73, 74, 75, 72, 71, 70, 86, 87, 85, 25,
1162 0, 0, 518, 0, 0, 516, 521, 522, 517, 611,
1163 0, 0, 0, 0, 0, 262, 0, 0, 0, 0,
1164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1165 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, 0, 0, 192, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1173 0, 0, 0, 0, 0, 0, 0, 515, 0, 0,
1174 0, 607, 0, 514, 0, 0, 0, 0, 0, 0,
1175 41, 238, 33, 235, 0, 0, 0, 0, 0, 0,
1176 253, 251, 252, 0, 0, 0, 0, 0, 0, 0,
1177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, 0, 264, 265,
1179 266, 267, 268, 269, 270, 271, 272, 0, 125, 225,
1180 126, 0, 0, 0, 0, 130, 231, 0, 133, 0,
1181 136, 0, 0, 0, 122, 0, 0, 0, 0, 0,
1182 0, 163, 164, 0, 0, 0, 0, 0, 0, 0,
1183 0, 0, 0, 0, 0, 0, 0, 157, 159, 0,
1184 173, 174, 0, 0, 0, 0, 0, 204, 205, 207,
1185 209, 0, 211, 0, 0, 176, 0, 237, 0, 177,
1186 0, 234, 93, 94, 95, 0, 97, 0, 98, 0,
1187 0, 0, 0, 0, 0, 144, 0, 0, 0, 0,
1188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0, 155, 229,
1191 0, 261, 230, 154, 255, 254, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 162, 519, 0,
1193 527, 0, 0, 0, 0, 0, 503, 0, 502, 0,
1194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1198 0, 0, 0, 0, 193, 0, 0, 0, 0, 0,
1199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, 0, 0, 0, 0, 0, 610, 0,
1202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1206 0, 0, 0, 0, 0, 0, 0, 0, 520, 0,
1207 0, 0, 0, 0, 506, 505, 504, 507, 0, 0,
1208 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 117, 0, 0, 0,
1210 196, 197, 119, 120, 121, 110, 0, 105, 0, 0,
1211 0, 111, 0, 0, 523, 129, 101, 0, 0, 134,
1212 132, 135, 137, 138, 0, 0, 0, 0, 226, 0,
1213 0, 0, 168, 0, 0, 166, 0, 0, 169, 170,
1214 171, 172, 0, 0, 0, 156, 0, 158, 160, 228,
1215 175, 233, 0, 0, 0, 0, 208, 210, 0, 0,
1216 232, 0, 214, 0, 96, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1220 0, 0, 0, 258, 0, 0, 0, 0, 0, 0,
1221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1222 597, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 560, 0, 0, 600, 0, 601, 535, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1227 0, 0, 0, 0, 0, 0, 0, 0, 0, 603,
1228 604, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 609, 0, 0,
1230 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1231 0, 259, 260, 0, 0, 0, 0, 0, 0, 0,
1232 0, 0, 0, 0, 529, 0, 531, 0, 0, 0,
1233 0, 0, 39, 35, 36, 0, 0, 0, 531, 0,
1234 588, 0, 0, 0, 0, 118, 106, 0, 114, 0,
1235 102, 0, 112, 131, 0, 0, 92, 227, 0, 0,
1236 0, 247, 249, 250, 167, 165, 0, 0, 588, 0,
1237 0, 353, 354, 194, 241, 243, 246, 245, 244, 161,
1238 240, 0, 0, 0, 0, 0, 212, 0, 596, 0,
1239 0, 0, 0, 178, 218, 0, 219, 180, 220, 182,
1240 0, 0, 189, 190, 191, 183, 221, 184, 222, 223,
1241 185, 224, 0, 186, 187, 188, 140, 0, 142, 0,
1242 145, 0, 602, 0, 0, 0, 0, 0, 0, 151,
1243 150, 236, 153, 152, 0, 0, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 534, 0, 589, 0, 0,
1246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1251 0, 0, 530, 0, 0, 0, 0, 0, 37, 34,
1252 0, 0, 0, 0, 0, 0, 605, 0, 107, 115,
1253 113, 103, 127, 0, 0, 0, 0, 248, 0, 0,
1254 0, 195, 242, 0, 0, 0, 0, 213, 0, 0,
1255 0, 0, 179, 0, 0, 0, 141, 143, 0, 0,
1256 0, 148, 149, 146, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 559, 0, 0, 0, 0, 0, 524, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 0, 0, 0, 0, 0, 0, 0, 526,
1263 0, 598, 0, 0, 0, 0, 0, 0, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1265 0, 0, 0, 0, 0, 0, 181, 0, 0, 147,
1266 0, 0, 553, 0, 0, 0, 0, 0, 558, 0,
1267 0, 0, 0, 0, 555, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 586, 0, 0, 0, 0, 0, 0, 550,
1271 0, 0, 552, 0, 0, 0, 554, 0, 0, 0,
1272 0, 0, 0, 0, 0, 593, 0, 0, 0, 0,
1273 0, 0, 0, 0, 0, 0, 593, 0, 0, 0,
1274 0, 0, 0, 0, 0, 0, 0, 525, 0, 0,
1275 595, 0, 549, 0, 551, 0, 0, 608, 0, 592,
1276 0, 0, 0, 0, 0, 0, 0, 0, 592, 0,
1277 0, 0, 0, 0, 0, 606, 0, 0, 0, 0,
1278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1280 0, 0, 0, 599, 0, 0, 0, 0, 0, 0,
1281 0, 0, 0, 0, 583, 578, 0, 578, 0, 0,
1282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1285 0, 0, 0, 0, 0, 0, 0, 579, 0, 0,
1286 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1289 532, 0, 0, 0, 576, 582, 0, 0, 556, 0,
1290 0, 0, 576, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, 583, 585, 587, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 556, 0, 0, 0, 0, 0,
1293 0, 0, 594, 0, 575, 0, 0, 0, 0, 0,
1294 0, 89, 90, 239, 215, 216, 217, 0, 0, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1296 0, 547, 0, 0, 0, 0, 0, 580, 0, 566,
1297 568, 0, 0, 0, 0, 0, 580, 0, 0, 0,
1298 0, 0, 566, 0, 0, 0, 0, 0, 0, 571,
1299 0, 0, 0, 546, 0, 0, 0, 0, 0, 0,
1300 0, 570, 565, 0, 0, 0, 0, 0, 0, 581,
1301 0, 0, 0, 91, 0, 0, 0, 0, 0, 584,
1302 0, 0, 0, 0, 0, 0, 543, 0, 0, 0,
1303 0, 0, 0, 0, 0, 0, 557, 0, 0, 0,
1304 0, 0, 0, 0, 0, 0, 0, 0, 0, 542,
1305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1306 0, 0, 0, 0, 0, 570, 0, 0, 0, 0,
1307 0, 539, 0, 0, 590, 0, 0, 0, 0, 0,
1308 0, 0, 0, 0, 0, 0, 0, 0, 548, 0,
1309 538, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310 0, 0, 0, 0, 0, 537, 0, 0, 541, 0,
1311 0, 0, 0, 591, 0, 574, 0, 0, 0, 0,
1312 536, 0, 0, 540, 0, 0, 0, 0, 0, 561,
1313 0, 0, 0, 0, 0, 0, 0, 0, 0, 577,
1314 0, 563, 0, 573, 0, 0, 0, 0, 0, 572,
1315 0, 0, 0, 545, 0, 567, 0, 0, 564, 544,
1316 569, 533, 0, 562
1317 };
1318
1319 /* YYDEFGOTO[NTERM-NUM]. */
1320 static const yytype_int16 yydefgoto[] =
1321 {
1322 -1, 14, 15, 16, 17, 353, 481, 505, 402, 404,
1323 451, 367, 459, 423, 529, 407, 410, 414, 417, 427,
1324 448, 785, 727, 1055, 1009, 435, 765, 769, 1851, 1303,
1325 1305, 1307, 1315, 1317, 1320, 708, 1037, 1266, 1058, 818,
1326 715, 1069, 1060, 770, 662, 1340, 766, 660, 1852, 1289,
1327 1283, 1284, 1042, 1271, 668, 823, 1285, 1286, 820, 278,
1328 716, 280, 847, 663, 1166, 55, 56, 18, 19, 20,
1329 21, 22, 23, 24, 25, 26, 27, 28, 29, 1319,
1330 1313, 1314, 669, 30, 31, 32, 33, 354, 369, 370,
1331 371, 684, 482, 483, 484, 485, 486, 487, 488, 489,
1332 490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
1333 500, 501, 372, 373, 503, 449, 374, 1854, 1855, 1856,
1334 461, 375, 376, 377, 378, 379, 380, 788, 381, 463,
1335 382, 383, 384, 385, 386, 387, 355, 389, 390, 391,
1336 792, 793, 794, 808, 392, 393, 356, 395, 357, 397,
1337 398, 812, 777, 670, 671, 672, 399, 400, 809, 796,
1338 797, 1010, 1011, 34, 504, 803, 470, 35
1339 };
1340
1341 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1342 STATE-NUM. */
1343 #define YYPACT_NINF -1336
1344 static const yytype_int16 yypact[] =
1345 {
1346 44, -1336, -1336, 110, 317, 138, 158, 188, 106, 81,
1347 189, 229, 85, 230, 298, 130, 2405, -1336, 48, 48,
1348 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1349 48, 48, 48, 48, 48, -1336, 296, 311, 302, 325,
1350 336, 354, 360, 369, 412, 447, 400, 465, 125, 496,
1351 509, 195, -1336, -1336, -1336, -1336, 314, -1336, -1336, -1336,
1352 -1336, -1336, -1336, -1336, 495, 495, 495, 495, 495, 495,
1353 495, 495, 495, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1354 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1355 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1356 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1357 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1358 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1359 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1360 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1361 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1362 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1363 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1364 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1365 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1366 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1367 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1368 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1369 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1370 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1371 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1372 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1373 -1336, -1336, -1336, -1336, -1336, -1336, -1336, 3291, -1336, -1336,
1374 -1336, -1336, 183, 136, 516, 516, 529, 539, 540, 540,
1375 214, 214, 285, 370, 257, 242, 82, 82, 542, -1336,
1376 545, 523, 546, 530, 547, -1336, 532, 549, -1336, 544,
1377 535, 541, 552, -1336, 543, 553, 537, -1336, -1336, -1336,
1378 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, 495, -1336,
1379 495, 495, 495, 495, 495, 495, 495, 495, -1336, -1336,
1380 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1381 551, 558, 554, -1336, -1336, 48, 48, 48, 403, 556,
1382 559, 561, 548, 557, 562, 565, 568, -1336, 48, -1336,
1383 -1336, -1336, -1336, -1336, 48, -1336, 48, 48, 48, 48,
1384 48, -1336, 48, -1336, 48, 48, 48, 48, 48, -1336,
1385 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1386 -1336, 564, -1336, 48, -1336, 48, 567, -1336, 48, 575,
1387 -1336, 48, 48, 583, -1336, 48, 48, -1336, 48, 48,
1388 569, 570, 582, -1336, 48, 48, 48, -1336, 48, 48,
1389 48, 417, 584, 571, 589, -1336, -1336, -1336, -1336, -1336,
1390 -1336, -1336, 48, -1336, 48, 48, 48, 579, -1336, 48,
1391 48, -1336, 48, 48, 48, 48, 578, 597, 595, -1336,
1392 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1393 48, 585, 586, 601, 603, 590, 598, 604, 596, 600,
1394 602, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1395 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1396 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1397 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1398 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1399 48, 605, -1336, 608, 611, -1336, -1336, -1336, -1336, -1336,
1400 610, 616, 619, 621, 636, -1336, 638, 576, 637, 318,
1401 318, 7, 642, 639, 647, 593, 667, 613, 645, 657,
1402 656, 669, 72, 673, 673, 673, 673, 673, 673, 673,
1403 673, 673, 673, 406, 673, 673, 673, 673, 506, 673,
1404 31, 31, 673, 673, 673, 682, 676, 506, 687, 406,
1405 622, 12, 12, 625, 318, 318, 318, 318, 688, 626,
1406 694, 3291, 3291, 506, 506, 506, 506, 695, 699, 634,
1407 706, 406, 506, 31, 31, 692, 14, 3291, 506, 406,
1408 17, 318, 708, 709, 712, 144, 506, 506, 506, 506,
1409 707, 147, 228, 228, 461, 3510, 716, 717, 721, 653,
1410 654, 711, 101, 710, 713, 722, 506, -1336, 730, 723,
1411 732, -1336, 724, -1336, 720, 726, 735, 736, 2627, 2627,
1412 -1336, -1336, -1336, -1336, 729, 731, 742, 48, 48, 48,
1413 -1336, -1336, -1336, 739, 740, 737, 741, 761, 752, 763,
1414 755, 781, 765, 773, 48, 48, 48, 48, 48, 48,
1415 48, 48, 48, 48, 48, 48, 48, 48, 495, 495,
1416 495, 495, 495, 495, 495, 495, 495, 776, -1336, -1336,
1417 -1336, 48, 48, 48, 48, -1336, -1336, 48, -1336, 48,
1418 -1336, 48, 48, 48, -1336, 780, 775, 506, 48, 48,
1419 782, -1336, -1336, 783, 778, 48, 48, 48, 48, 785,
1420 48, 48, 48, 48, 786, 777, 788, 2627, 2627, 48,
1421 -1336, -1336, 48, 789, 787, 784, 790, -1336, -1336, -1336,
1422 -1336, 48, -1336, 48, 791, -1336, 48, -1336, 48, -1336,
1423 48, 3291, -1336, -1336, -1336, 792, -1336, 48, -1336, 793,
1424 794, 795, 779, 143, 797, -1336, 48, 48, 48, 48,
1425 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1426 48, 48, 804, 48, 798, 801, 799, 48, 48, 48,
1427 48, 805, 48, 48, 48, 48, 495, 495, -1336, -1336,
1428 313, 32, -1336, -1336, 3291, -1336, 811, 808, 807, 813,
1429 806, 821, 815, 823, 822, 827, 826, -1336, -1336, 816,
1430 -1336, 833, 828, 829, 830, 759, 3291, 1961, -1336, 2183,
1431 844, 832, 845, 318, 318, 54, 834, 835, 836, 837,
1432 838, 848, 800, 849, 843, 847, 850, 506, 117, 506,
1433 506, 3291, 506, 3291, 3291, 506, 506, 506, 506, 3291,
1434 506, 846, 506, 3291, 506, 506, 318, 318, 318, 318,
1435 506, 802, 851, 48, -1336, 506, 809, 852, 863, 3291,
1436 318, 3291, 318, 864, 318, 318, 318, 318, 842, 856,
1437 810, 3291, 3291, 506, 506, 870, 865, 857, 817, 318,
1438 318, 868, 506, 318, 506, 871, 318, 875, -1336, 820,
1439 859, 888, 873, 882, 506, 506, 506, 506, 506, 506,
1440 506, 506, 506, 506, 506, 506, 3291, 506, 3291, 506,
1441 883, 506, 891, 876, 893, 506, 506, 506, 506, 880,
1442 318, 318, 318, 318, 449, 485, 495, 885, 896, 889,
1443 890, 897, 906, 839, 903, 908, 900, 910, -1336, 915,
1444 901, 913, 902, 911, -1336, 3291, -1336, -1336, 904, 858,
1445 909, 48, 48, 48, 48, 860, 921, 918, 916, 927,
1446 920, 928, 922, 867, 931, 929, -1336, 917, 940, 48,
1447 -1336, -1336, -1336, -1336, -1336, -1336, 2627, 3291, 48, 48,
1448 48, -1336, 2627, 48, -1336, -1336, 3291, 48, 48, -1336,
1449 -1336, -1336, -1336, -1336, 937, 877, 506, 48, -1336, 938,
1450 930, 881, 48, 3729, 48, 48, 48, 934, -1336, -1336,
1451 -1336, -1336, 884, 942, 952, 48, 3948, 48, 48, -1336,
1452 -1336, -1336, 892, 957, 950, 956, -1336, -1336, 945, 48,
1453 -1336, 48, -1336, 964, -1336, 898, 959, 961, 962, 967,
1454 958, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1455 48, 48, 48, 4167, 48, 4386, 48, 969, 48, 968,
1456 971, 970, 48, 48, 48, 48, 975, 48, 48, 48,
1457 48, 495, 495, 495, 912, 963, 982, 972, 966, 978,
1458 983, 984, 985, 924, 926, 994, 991, 989, 986, 988,
1459 -1336, 279, 987, 506, 318, 318, 318, 992, 1002, 996,
1460 993, -1336, 1005, 997, -1336, 995, -1336, -1336, 998, 1001,
1461 506, 3291, 506, 506, 506, 3291, 506, 506, 506, 1000,
1462 1003, 48, 506, 1006, 1007, 1004, 3291, 2849, 3291, 3291,
1463 1009, 1010, 1011, 1012, 3291, 3070, 318, 1015, 1019, 1028,
1464 1020, 1023, 506, 506, 1033, 1018, 1025, 1026, 974, -1336,
1465 -1336, 506, 506, 3291, 506, 132, 506, 406, 3291, 506,
1466 461, 3510, 3510, 3070, 3291, 3070, 3291, -1336, 318, 1027,
1467 1031, 990, 506, 506, 506, 506, 1022, 318, 318, 318,
1468 318, 495, 495, 1044, 1013, 1034, 1043, 1061, 1014, 1052,
1469 1055, 1016, 1050, 1074, -1336, 1078, -1336, 1063, 1064, 1067,
1470 1081, 1069, -1336, -1336, 48, 48, 1068, 1079, 1073, 1075,
1471 1077, 59, 1082, 1096, 1101, -1336, 2627, 48, -1336, 48,
1472 2627, 48, -1336, -1336, 1086, 506, -1336, -1336, 1088, 1090,
1473 4605, -1336, 3291, -1336, 48, 48, 1093, 1091, -1336, 1097,
1474 4824, 495, 495, 1127, -1336, 3291, -1336, -1336, -1336, -1336,
1475 -1336, 1094, 1073, 1077, 175, 1112, -1336, 48, -1336, 1099,
1476 207, 1053, 1114, -1336, -1336, 48, -1336, -1336, 3291, -1336,
1477 1116, 1111, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1478 -1336, 3291, 48, -1336, -1336, -1336, 1127, 5043, 1127, 5262,
1479 -1336, 1058, -1336, 1128, 48, 48, 48, 48, 1121, -1336,
1480 -1336, -1336, -1336, -1336, 1117, 1126, 1062, 1119, 1070, 1130,
1481 237, 1134, 1137, 1132, 1136, 1138, 1131, 1122, 1149, 1152,
1482 1147, 506, 318, 1141, 1153, -1336, 1142, -1336, 1143, 1145,
1483 1148, 1150, 1161, 3291, 3291, 3291, 3291, 506, 1151, 48,
1484 1154, 1155, 2849, 1156, 1158, 1159, 3070, 3070, 1162, 1160,
1485 1165, 1176, 506, 1178, 1175, 1157, 1185, 506, 1164, 1188,
1486 506, 3070, 3070, 1193, 1194, 506, 506, 461, 318, 1163,
1487 1183, 1203, 290, 1192, 367, 1200, 1195, 1197, 1201, 1204,
1488 1209, 1199, -1336, 1208, 1210, 1167, 1211, 1207, -1336, -1336,
1489 1214, 1102, 1218, 1213, 1216, 1232, -1336, 1222, 48, 3291,
1490 3291, 48, -1336, 1219, 3291, 1220, 1226, -1336, 1227, 1225,
1491 1223, 1127, -1336, 1228, 1230, 1224, 1231, -1336, 1236, 1233,
1492 1234, 491, -1336, 1253, 1251, 48, 1127, 1127, 1237, 1245,
1493 48, -1336, -1336, -1336, 1241, 1246, 1252, 1250, 1254, 1256,
1494 1255, 1258, 1260, 1247, 1257, 1268, 1259, 1271, 1262, 1273,
1495 1261, 1267, 1263, 1278, 1264, 236, 1279, 1215, 1266, 1284,
1496 1270, 1272, 48, 1274, 1286, 1287, 1275, 1235, 1276, 1239,
1497 1277, -1336, 1283, 1240, 1285, 1291, 1292, -1336, 406, 1288,
1498 1294, 506, 1298, 1295, 1282, 1296, 1309, 1313, 1299, 1315,
1499 1304, 1265, 1301, 1308, 1310, 1320, 1306, 1314, 1316, -1336,
1500 1311, -1336, 1307, 1312, 1317, 1323, 1321, 149, 1325, 1269,
1501 1340, 1329, 318, 1330, 1332, 1333, 1324, 1345, 1331, 1348,
1502 1341, 1337, 191, 1342, 1339, 1349, -1336, 1344, 1346, -1336,
1503 1347, 1343, -1336, 1351, 1352, 1354, 1356, 1358, -1336, 1362,
1504 1363, 1350, 1357, 1319, -1336, 1361, 1377, 1378, 1334, 1384,
1505 1388, 1387, 1376, 174, 1391, 1398, 1405, 1402, 1406, 48,
1506 1409, 1390, 1397, 1353, 1413, 1355, 1414, 1415, 1359, 1416,
1507 1407, 1404, 1364, 1403, 1408, 1412, 1418, 1366, 1419, -1336,
1508 1421, 1422, -1336, 1423, 1428, 1424, -1336, 1431, 36, 1430,
1509 1426, 522, 1436, 1437, 1453, 39, 1441, 1455, 1447, 1452,
1510 1461, 1462, 1463, 506, 1464, 40, 1410, 1476, 1460, 1479,
1511 1465, 1470, 524, 1466, 1467, 1469, 131, -1336, 1471, 1474,
1512 -1336, 1486, -1336, 45, -1336, 1472, 1478, -1336, 1480, -1336,
1513 1489, 1477, 1493, 1491, 179, 1485, 1487, 1432, 1433, 1498,
1514 1496, 1484, 1488, 1492, 1490, -1336, 1494, 48, 1495, 1503,
1515 1511, 1509, 1514, 1513, 1504, 1515, 1520, 1517, 1507, 1457,
1516 1521, 1516, 1505, 1468, 1522, 1527, 1473, 278, 1524, 1518,
1517 1519, 1528, 1481, -1336, 1541, 1523, 1534, 1482, 1542, 1540,
1518 1544, 1546, 1547, 1551, 1497, 47, 1537, -1336, 461, 1538,
1519 1549, 1539, 1556, 1545, 1557, 51, 1561, 1548, 1560, 1497,
1520 73, 1563, 1553, 1550, 1566, 1567, 1552, 1565, 1558, 1568,
1521 1562, 1575, 1508, 1569, 1564, 1571, 1572, 1576, 1559, 1573,
1522 1570, 1577, 1578, 1574, 1582, 1579, 1580, -1336, 1581, 1583,
1523 48, 1584, 1586, 1585, 1590, 1595, 1588, 1591, 1597, 1599,
1524 1600, 1555, 1593, 1589, 1605, 1594, 1602, 1598, 1596, 1601,
1525 1608, 1610, 281, 1603, 1611, 1617, 1606, 1618, 1619, 1604,
1526 -1336, 1612, 1620, 1621, 1613, 1587, 1626, 1628, 1592, 25,
1527 1625, 1630, -1336, 1631, 1613, 1635, 1623, 1636, 1607, 1637,
1528 1615, 1627, -1336, -1336, -1336, 1639, 1638, 1629, 1640, 1632,
1529 1609, 1633, 1641, 1643, -1336, 1646, 1634, 1649, 1652, 1642,
1530 1644, 1650, -1336, 1648, -1336, 1645, 1647, 1656, 1660, 1662,
1531 1654, 48, -1336, -1336, -1336, -1336, -1336, 1659, 1669, 1672,
1532 1663, 1676, 1677, 1667, 1670, 1680, 1681, 1682, 1622, 1668,
1533 1686, -1336, 380, 1671, 1684, 1675, 1688, -1336, 1683, 1678,
1534 1651, 1685, 1690, 1691, 1695, 1699, 1687, 1703, 1653, 1694,
1535 318, 1696, -1336, 1678, 1687, 1702, 1655, 1714, 1704, -1336,
1536 1705, 1657, 1710, -1336, 1701, 1712, 1715, 1716, 1717, 1664,
1537 1719, 1666, -1336, 1723, 1720, 1673, 1725, 1713, 1729, -1336,
1538 1721, 1739, 1727, -1336, 1732, 1666, 1733, 1730, 1745, -1336,
1539 384, 1737, 1738, 1731, 1748, 1735, -1336, 414, 1740, 1741,
1540 1755, 1742, 1756, 1746, 1758, 1760, -1336, 1761, 1754, 1749,
1541 1767, 1768, 1759, 1757, 1762, 1764, 1763, 1765, 1769, -1336,
1542 1770, 1772, 1750, 1776, 1771, 1707, 1773, 83, 1774, 1753,
1543 1775, 1777, 1781, 1779, 1780, -1336, 1778, 1786, 1783, 1782,
1544 1784, -1336, 1785, 1788, -1336, 1787, 1794, 1796, 1792, 1797,
1545 1798, 1803, 1808, 1790, 1810, 1807, 1799, 1800, -1336, 1743,
1546 -1336, 1802, 1804, 1817, 1809, 1805, 1624, 1801, 1806, 1811,
1547 1813, 1816, 1812, 1814, 1815, -1336, 505, 1818, -1336, 1819,
1548 1823, 1821, 1826, -1336, 1828, -1336, 1820, 1822, 1832, 1834,
1549 -1336, 1825, 1827, -1336, 1837, 1824, 1829, 1830, 1831, 1789,
1550 1833, 1835, 1836, 1838, 1839, 1841, 1842, 1845, 1844, -1336,
1551 1848, -1336, 1847, -1336, 1843, 1849, 1853, 1850, 1851, -1336,
1552 1852, 1854, 1846, -1336, 1855, -1336, 1859, 1858, -1336, -1336,
1553 -1336, -1336, 1861, -1336
1554 };
1555
1556 /* YYPGOTO[NTERM-NUM]. */
1557 static const yytype_int16 yypgoto[] =
1558 {
1559 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1560 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1561 -1336, -1336, -1336, -883, -1336, -1336, -1336, -1336, -1336, -848,
1562 -1335, -1336, 401, 343, -1336, -547, -988, -1205, 458, -1180,
1563 534, -1112, -1097, -852, -300, 677, -922, 681, 8, 492,
1564 -1118, 512, -879, 520, 1048, -652, 519, -604, -15, 152,
1565 10, 471, 1248, -274, -16, 1856, -1336, -1336, -1336, -1336,
1566 -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -484,
1567 -1336, -1336, -495, -1336, -1336, -1336, -1336, -52, 1614, 1616,
1568 1658, -376, 1661, 1665, 1887, 2108, 2330, 2331, 2552, 2553,
1569 5187, 5188, 5189, 5190, 5191, 5192, 5193, 5194, 5195, -269,
1570 -261, -259, 255, -1336, 5196, -1336, 5201, -1336, -1336, -1336,
1571 -1336, 5203, -266, -1336, -1336, 5202, -98, -1336, 5204, -1336,
1572 5205, 5206, -258, -1336, 272, 244, -260, 5207, -1336, 1280,
1573 -1336, -1336, -1336, -1336, 247, 5209, 49, 140, 62, 96,
1574 -1336, 1281, -1336, -1336, -483, -33, -1336, -268, -1336, -1336,
1575 -1336, -1336, -1336, -1336, 5208, -346, -1336, -1336
1576 };
1577
1578 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1579 positive, shift that token. If negative, reduce the rule which
1580 number is the opposite. If zero, do what YYDEFACT says.
1581 If YYTABLE_NINF, syntax error. */
1582 #define YYTABLE_NINF -274
1583 static const yytype_int16 yytable[] =
1584 {
1585 281, 1071, 282, 283, 284, 285, 286, 287, 288, 289,
1586 290, 291, 292, 293, 294, 295, 296, 297, 298, 1014,
1587 1323, 1242, 1045, 388, 424, 428, 279, 469, 523, 1057,
1588 819, 664, 425, 429, 453, 465, 524, -273, 525, 665,
1589 729, 775, 731, 666, 734, 1, 726, 2, 1161, 328,
1590 330, 331, 332, 333, 334, 335, 336, 337, 1849, 1850,
1591 1379, 1263, 1462, 3, 757, 4, 5, 666, 6, 7,
1592 1470, 1297, 773, 1669, 8, 9, 1678, 1669, 664, 10,
1593 11, 12, 1706, 13, 1767, 1326, 734, 1328, 1767, 710,
1594 666, 728, 472, 1368, 1780, 1690, 1369, 719, 721, 683,
1595 45, 471, 472, 473, 474, 732, 475, 476, 49, 478,
1596 1989, 1781, 480, 477, 46, 1334, 1335, 1336, 1337, 478,
1597 479, 768, 480, 832, 50, 1670, 1984, 758, 1679, 1689,
1598 761, 763, 36, 43, 1707, 774, 1768, 1007, 833, 44,
1599 1776, 318, 698, 699, 700, 701, 702, 703, 704, 705,
1600 706, 1008, 1700, 1604, 1310, 358, 311, 359, 360, 361,
1601 362, 40, 312, 782, 1311, 1701, 804, 363, 1261, 1702,
1602 931, 1593, 1442, 364, 365, 783, 366, 805, 806, 802,
1603 893, 784, 932, 1594, 366, 41, 1569, 688, 689, 690,
1604 691, 692, 693, 694, 695, 696, 697, 1636, 711, 712,
1605 713, 714, 1715, 717, 350, 351, 722, 723, 724, 1389,
1606 1637, 42, 1390, 1609, 352, 1716, 329, 329, 329, 329,
1607 329, 329, 329, 329, 329, 1610, 315, 1472, 47, 658,
1608 659, 368, 316, 420, 658, 659, 658, 659, 421, 658,
1609 659, 1394, 452, 460, 1357, 422, 530, 658, 659, 1428,
1610 811, 667, 48, 658, 659, 1543, -273, -273, -273, 1544,
1611 802, 456, 51, 350, 413, 457, 421, 1545, 1451, -4,
1612 -4, 1416, 276, 458, 1417, 661, 658, 659, 350, 413,
1613 718, 720, 366, 1466, 1467, 810, 813, 815, 352, 1274,
1614 1275, 735, 737, 685, 740, 741, 742, 743, 52, 1748,
1615 1749, 686, 1831, 687, 431, 1750, 432, 409, 1832, 433,
1616 1239, 1477, 1833, 760, 762, 1240, 434, 1478, 299, 966,
1617 776, 778, 318, 319, 320, 321, 322, 323, 324, 325,
1618 326, 327, 394, 1023, 300, 1025, 301, 415, 418, 549,
1619 550, 551, 767, 454, 467, 396, 1309, 37, 302, 412,
1620 38, 1322, 562, 39, 446, 53, 54, 795, 563, 786,
1621 564, 565, 566, 567, 568, 790, 569, 789, 570, 571,
1622 572, 573, 574, 303, 575, 576, 577, 578, 579, 580,
1623 581, 582, 583, 584, 416, 419, 304, 586, 1480, 587,
1624 455, 468, 589, 361, 1481, 591, 592, 447, 305, 594,
1625 595, 1905, 596, 597, 1098, 1953, 306, 1906, 601, 602,
1626 603, 1954, 604, 605, 606, 318, 698, 699, 700, 701,
1627 702, 703, 704, 705, 706, 707, 611, 411, 612, 613,
1628 614, 307, 445, 616, 617, 1960, 618, 619, 620, 621,
1629 309, 1961, 552, 553, 625, 626, 627, 628, 629, 630,
1630 631, 632, 633, 634, 635, 1111, 607, 553, 318, 319,
1631 320, 321, 322, 323, 324, 325, 326, 327, 816, 817,
1632 318, 698, 699, 700, 701, 702, 703, 704, 705, 706,
1633 545, 308, 545, 545, 545, 545, 545, 545, 545, 545,
1634 1438, 1112, 310, 1441, 318, 319, 320, 321, 322, 323,
1635 324, 325, 326, 327, 318, 319, 320, 321, 322, 323,
1636 324, 325, 326, 327, 646, 318, 698, 699, 700, 701,
1637 702, 703, 704, 705, 706, 1515, 2031, 787, 1357, 314,
1638 408, 1687, 2032, 807, 313, 277, 442, 426, 430, 53,
1639 658, 659, 466, 1673, 1674, 1695, 1696, 401, 1770, 1324,
1640 1325, 502, 526, 991, 992, 993, 403, 405, 736, 738,
1641 406, 409, 413, 350, 531, 533, 532, 538, 534, 535,
1642 536, 537, 543, 539, 540, 541, 544, 546, 547, 555,
1643 542, 548, 554, 709, 558, 559, 1029, 1030, 1031, 1032,
1644 557, 585, 1502, 556, 588, 590, 819, 709, 560, 709,
1645 1044, 561, 1046, 593, 1048, 1049, 1050, 1051, 598, 600,
1646 608, 615, 599, 609, 750, 751, 610, 622, 623, 1066,
1647 1067, 709, 624, 639, 636, 637, 1074, 638, 641, 709,
1648 1599, 642, 640, 644, 643, 645, 798, 799, 800, 801,
1649 652, 647, 848, 848, 822, 825, 648, 649, 1312, 767,
1650 650, 853, 854, 855, 651, 653, 654, 655, 674, 657,
1651 1107, 1108, 1109, 1110, 673, 656, 675, 679, 867, 868,
1652 869, 870, 871, 872, 873, 874, 875, 876, 877, 878,
1653 879, 880, 676, 328, 330, 331, 332, 333, 334, 335,
1654 336, 337, 677, 680, 681, 882, 883, 884, 885, 682,
1655 683, 886, 678, 887, 725, 888, 889, 890, 726, 730,
1656 744, 733, 894, 895, 739, 745, 746, 753, 754, 899,
1657 900, 901, 902, 755, 904, 905, 906, 907, 756, 764,
1658 779, 911, 912, 913, 781, 780, 914, 709, 826, 802,
1659 828, 827, 829, 830, 831, 919, 834, 920, 349, 836,
1660 922, 835, 923, 838, 924, 840, 839, 842, 843, 850,
1661 841, 926, 844, 845, 851, 852, 856, 857, 859, 858,
1662 934, 935, 936, 937, 938, 939, 940, 941, 942, 943,
1663 944, 945, 946, 947, 948, 949, 821, 951, 860, 861,
1664 862, 955, 956, 957, 958, 863, 960, 961, 962, 963,
1665 864, 964, 965, 819, 865, 866, 881, 891, 892, 896,
1666 897, 898, 903, 908, 909, 910, 915, 918, 930, 916,
1667 927, 917, 929, 950, 953, 925, 954, 928, 959, 921,
1668 933, 986, 968, 986, 1243, 1244, 1245, 952, 967, 969,
1669 970, 972, 973, 971, 974, 975, 976, 977, 983, 980,
1670 329, 329, 329, 329, 329, 329, 329, 329, 329, 978,
1671 979, 981, 982, 988, 989, 996, 990, 995, 997, 998,
1672 999, 1000, 1002, 1003, 1005, 1052, 1024, 1036, 1004, 1053,
1673 1064, 1077, 1015, 1035, 1040, 1018, 1019, 1020, 1021, 1001,
1674 709, 1034, 709, 1273, 1027, 1041, 1047, 1063, 1039, 1054,
1675 1033, 1288, 1290, 1062, 1068, 1038, 1065, 1073, 1075, 1076,
1676 1078, 1079, 1080, 1099, 1097, 1101, 1100, 1106, 1114, 1115,
1677 1118, 1116, 1117, 1059, 1061, 1119, 1121, 1122, 1120, 1288,
1678 1123, 1288, 1070, 1124, 661, 1125, 1127, 1126, 1129, 1128,
1679 1138, 1139, 1130, 1339, 1341, 1342, 1341, 1131, 1132, 1137,
1680 1141, 1113, 1142, 1140, 1146, 1143, 1145, 1094, 1144, 1096,
1681 1148, 709, 1147, 1149, 1159, 1163, 1160, 1164, 329, 329,
1682 1165, 1170, 545, 1171, 1172, 1133, 1134, 1135, 1136, 1173,
1683 1178, 1177, 1179, 1180, 1181, 1184, 1186, 1185, 1187, 1188,
1684 1189, 1190, 1207, 1150, 1210, 1209, 1216, 1211, 1227, 1224,
1685 1151, 1223, 1152, 1153, 1154, 1225, 1155, 1156, 1228, 1226,
1686 1229, 1157, 1158, 1232, 1230, 1233, 1231, 1234, 1235, 1236,
1687 1238, 1162, 1247, 1241, 1237, 1246, 1248, 1250, 1168, 1251,
1688 1169, 1249, 1264, 1278, 1239, 1252, 1253, 1254, 1268, 1174,
1689 1240, 1174, 1176, 1277, 1279, 1269, 1038, 1276, 1291, 1292,
1690 1293, 1299, 1294, 1182, 1295, 1183, 1298, 1300, 1338, 1301,
1691 1331, 1332, 1429, 1302, 1346, 1191, 1192, 1193, 1194, 1195,
1692 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1344, 1204, 1333,
1693 1206, 1347, 1208, 1348, 1350, 1351, 1212, 1213, 1214, 1215,
1694 1353, 1217, 1218, 1219, 1220, 1354, 1221, 1222, 1355, 1356,
1695 1358, 1357, 1345, 1349, 1359, 1352, 1360, 1363, 1273, 1364,
1696 1365, 1366, 1288, 1288, 1367, 1370, 545, 545, 329, 1371,
1697 747, 748, 1372, 1378, 819, 1380, 1381, 1288, 1288, 1383,
1698 1384, 1385, 1387, 1388, 1290, 1391, 771, 749, 1393, 1398,
1699 752, 1396, 1395, 1070, 1399, 1265, 759, 1403, 1409, 1404,
1700 1411, 1412, 772, 1418, 824, 1413, 1410, 1415, 1419, 1414,
1701 1424, 1422, 1257, 1258, 1259, 1420, 1038, 1262, 1061, 1421,
1702 1423, 1425, 1267, 1426, 1427, 1435, 1431, 846, 846, 1430,
1703 837, 1432, 1433, 1434, 1437, 1287, 1491, 1436, 1463, 1443,
1704 1460, 1495, 1445, 1070, 1446, 1448, 1449, 1474, 1450, 1454,
1705 1453, 1304, 1306, 1455, 1304, 709, 1316, 1318, 1456, 1304,
1706 822, 825, 825, 1287, 1459, 1287, 1458, 1461, 349, 349,
1707 1464, 1475, 1061, 1061, 1061, 1061, 1468, 1469, 1361, 1362,
1708 1476, 1479, 1482, 1485, 1483, 1484, 1487, 1486, 1488, 1489,
1709 1373, 1374, 349, 1375, 1376, 1377, 1490, 1493, 1494, 1496,
1710 1492, 1497, 1498, 1499, 1500, 1501, 1503, 1504, 1505, 1506,
1711 1510, 1507, 1508, 329, 329, 545, 964, 965, 1509, 1511,
1712 1512, 1513, 1516, 1514, 1517, 1267, 1519, 1520, 767, 1522,
1713 1523, 1392, 1524, 1525, 1530, 1531, 1526, 1527, 1528, 1397,
1714 1529, 1533, 1535, 1532, 1536, 349, 1537, 1539, 1534, 1540,
1715 1538, 1541, 1546, 1542, 1547, 1548, 1400, 1549, 1550, 1554,
1716 1555, 1551, 1572, 1553, 1556, 1558, 1560, 349, 1405, 1406,
1717 1407, 1408, 1561, 1563, 1557, 1570, 1567, 821, 1559, 1562,
1718 1564, 1565, 1568, 1574, 1571, 1573, 1575, 1578, 1576, 1577,
1719 1580, 1581, 1582, 1583, 1584, 1588, 1585, 1586, 1587, 1590,
1720 1591, 1589, 821, 1592, 1579, 821, 1595, 821, 1596, 1597,
1721 1598, 1600, 1603, 1444, 1601, 1602, 985, 1604, 985, 1605,
1722 1606, 1070, 1607, 545, 545, 1608, 1611, 1612, 1614, 1613,
1723 1616, 1617, 1615, 1618, 1623, 1619, 1620, 1267, 1621, 1625,
1724 771, 1622, 1016, 1017, 1624, 1626, 1287, 1287, 1022, 1628,
1725 1629, 1006, 1026, 1012, 1013, 1630, 1632, 1306, 1627, 1634,
1726 1316, 1287, 1287, 1633, 1635, 1306, 1059, 822, 1043, 1028,
1727 1043, 1639, 1174, 1631, 1638, 1174, 1640, 1641, 1645, 1642,
1728 1056, 1056, 1644, 329, 329, 1646, 1648, 1650, 1651, 1653,
1729 1654, 1657, 1647, 1655, 1649, 1659, 1665, 1658, 1652, 1518,
1730 1660, 1666, 1668, 1656, 1521, 1661, 349, 1662, 1072, 1663,
1731 1664, 1667, 1671, 1675, 1676, 1093, 1672, 1095, 1081, 1082,
1732 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
1733 1677, 1680, 1681, 1682, 1683, 1685, 1552, 349, 349, 1102,
1734 1103, 1104, 1105, 349, 1684, 1686, 1688, 349, 1690, 1670,
1735 1691, 1692, 1694, 1698, 1704, 1693, 1697, 1699, 1705, 1703,
1736 1709, 1711, 1708, 1710, 349, 1712, 1713, 1714, 1717, 1718,
1737 1721, 1719, 1720, 1722, 1723, 1730, 1724, 349, 1318, 1726,
1738 1725, 1306, 1727, 1729, 1731, 1853, 1732, 1733, 821, 821,
1739 1734, 1736, 1735, 1737, 1738, 1739, 1740, 1741, 1743, 1742,
1740 1746, 1751, 1745, 821, 821, 1754, 1752, 1744, 1753, 821,
1741 1756, 1758, 1747, 1757, 349, 1760, 349, 1761, 1764, 1769,
1742 1755, 1759, 1762, 1763, 1765, 1767, 1771, 1773, 1775, 1772,
1743 1777, 1779, 1782, 1643, 1784, 1774, 1766, 1780, 1778, 1783,
1744 1785, 1788, 1786, 1787, 1790, 1789, 1791, 1792, 1820, 1798,
1745 1794, 1793, 1795, 1797, 1796, 1804, 1799, 1800, 1812, 1801,
1746 1803, 1802, 1807, 1811, 1806, 1805, 1853, 1813, 1814, 1815,
1747 1810, 1808, 1818, 1816, 1817, 1821, 1819, 1822, 1823, 1825,
1748 1824, 1826, 1829, 1830, 1835, 1827, 1836, 1828, 1837, 1838,
1749 1842, 1834, 1839, 1840, 1843, 1846, 1841, 1847, 1857, 1865,
1750 1844, 1858, 1859, 1070, 1860, 1861, 1864, 1862, 1868, 1866,
1751 1867, 1869, 1875, 1870, 2022, 1871, 1873, 1876, 1877, 1883,
1752 1256, 1728, 1878, 1874, 1260, 1879, 1845, 1889, 1880, 1884,
1753 1891, 1848, 1881, 1885, 1255, 1270, 1272, 1043, 1043, 1882,
1754 1886, 1887, 1892, 1280, 1888, 1893, 1863, 1894, 1872, 1895,
1755 1896, 1897, 1898, 1899, 1900, 1901, 1903, 1904, 1908, 1909,
1756 1907, 1902, 1308, 1911, 1917, 1912, 1296, 1321, 1918, 1914,
1757 824, 824, 1920, 1327, 1919, 1329, 1910, 349, 1915, 1916,
1758 1922, 349, 1925, 1927, 1924, 1929, 1928, 1931, 822, 1932,
1759 1913, 349, 1921, 349, 1926, 1933, 1930, 1934, 1935, 1944,
1760 1936, 349, 1938, 1937, 1809, 1939, 349, 1940, 1943, 1941,
1761 1945, 1947, 1942, 1946, 1948, 1949, 1951, 1950, 1952, 1955,
1762 1957, 1956, 1958, 1959, 1964, 1963, 1962, 1968, 1966, 349,
1763 1965, 1971, 1967, 1969, 1970, 1972, 1973, 1974, 1978, 1975,
1764 1976, 1991, 349, 1984, 1977, 1985, 1987, 1980, 349, 1979,
1765 349, 1465, 1981, 1982, 1983, 1990, 1992, 1986, 1989, 1988,
1766 1997, 1995, 2002, 2004, 1993, 1994, 1998, 1996, 2005, 2006,
1767 2007, 2008, 2000, 2003, 2001, 1999, 2009, 2010, 2011, 2012,
1768 2013, 2014, 2016, 2015, 2017, 1890, 2019, 2018, 2023, 2027,
1769 2020, 2021, 2039, 2028, 2024, 2026, 2035, 2025, 2036, 2037,
1770 2034, 2038, 2029, 2030, 2040, 2041, 2033, 2042, 2043, 2044,
1771 2045, 1566, 2046, 2055, 1471, 2057, 2048, 2049, 2058, 2047,
1772 2061, 2051, 2053, 2052, 2060, 2062, 2064, 2054, 2050, 2056,
1773 821, 2059, 2063, 2073, 2069, 2067, 2065, 2066, 2072, 1330,
1774 2068, 2070, 1056, 1439, 1440, 1056, 2071, 1343, 1923, 1452,
1775 1473, 1272, 1447, 994, 0, 791, 436, 849, 437, 0,
1776 349, 349, 317, 0, 814, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 1457, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 438, 0, 0, 0, 0, 0, 0, 0, 506, 0,
1781 0, 0, 507, 771, 338, 58, 59, 60, 61, 62,
1782 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
1783 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1784 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1785 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1786 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1787 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1788 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1789 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
1790 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
1791 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1792 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
1793 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1794 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1795 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
1796 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
1797 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
1798 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
1799 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
1800 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1801 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1802 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1803 273, 274, 275, 984, 508, 276, 338, 58, 59, 60,
1804 61, 62, 339, 340, 341, 342, 343, 344, 345, 346,
1805 347, 348, 73, 74, 75, 76, 77, 78, 79, 80,
1806 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1807 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1808 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1809 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1810 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1811 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1812 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1813 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
1814 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1815 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
1816 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
1817 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
1818 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
1819 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
1820 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
1821 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
1822 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1823 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1824 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
1825 271, 272, 273, 274, 275, 509, 987, 276, 57, 58,
1826 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1827 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1828 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1829 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1830 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1831 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1832 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1833 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1834 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1835 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1836 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1837 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1838 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1839 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
1840 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
1841 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
1842 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
1843 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
1844 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1845 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1846 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
1847 269, 270, 271, 272, 273, 274, 275, 510, 511, 276,
1848 338, 58, 59, 60, 61, 62, 339, 340, 341, 342,
1849 343, 344, 345, 346, 347, 348, 73, 74, 75, 76,
1850 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1851 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1852 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1853 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1854 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
1855 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1856 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1857 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
1858 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
1859 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1860 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
1861 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
1862 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
1863 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
1864 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
1865 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
1866 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
1867 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1868 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1869 267, 268, 269, 270, 271, 272, 273, 274, 275, 512,
1870 513, 276, 338, 58, 59, 60, 61, 62, 339, 340,
1871 341, 342, 343, 344, 345, 346, 347, 348, 73, 74,
1872 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1873 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1874 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1875 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1876 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1877 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1878 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1879 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1880 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1881 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1882 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1883 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1884 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1885 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1886 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1887 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1888 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1889 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1890 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1891 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1892 275, 658, 659, 338, 58, 59, 60, 1281, 1282, 63,
1893 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1894 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1895 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1896 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1897 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1898 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1899 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1900 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1901 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1902 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1903 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1904 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1905 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1906 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1907 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1908 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1909 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1910 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1911 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1912 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1913 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1914 274, 275, 658, 659, 338, 58, 59, 60, 61, 62,
1915 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
1916 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1917 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1918 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1919 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1920 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1921 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1922 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
1923 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
1924 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1925 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
1926 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1927 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1928 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
1929 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
1930 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
1931 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
1932 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
1933 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1934 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1935 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
1936 273, 274, 275, 338, 58, 59, 60, 61, 62, 63,
1937 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1938 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1939 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1940 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1941 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1942 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1943 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1944 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1945 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1946 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1947 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1948 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1949 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1950 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1951 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1952 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1953 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1954 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1955 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1956 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1957 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1958 274, 275, 338, 1167, 59, 60, 61, 62, 339, 340,
1959 341, 342, 343, 344, 345, 346, 347, 348, 73, 74,
1960 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1961 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1962 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1963 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1964 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1965 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1966 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1967 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1968 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1969 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1970 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1971 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1972 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1973 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1974 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1975 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1976 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1977 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1978 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1979 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1980 275, 338, 1175, 59, 60, 61, 62, 339, 340, 341,
1981 342, 343, 344, 345, 346, 347, 348, 73, 74, 75,
1982 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1983 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1984 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1985 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1986 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1987 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1988 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1989 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1990 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1991 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1992 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1993 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1994 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1995 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1996 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1997 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1998 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1999 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2000 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2001 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2002 338, 1203, 59, 60, 61, 62, 339, 340, 341, 342,
2003 343, 344, 345, 346, 347, 348, 73, 74, 75, 76,
2004 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2005 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2006 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2007 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2008 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2009 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2010 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2011 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2012 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2013 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2014 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2015 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2016 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2017 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2018 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
2019 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
2020 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
2021 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2022 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2023 267, 268, 269, 270, 271, 272, 273, 274, 275, 338,
2024 1205, 59, 60, 61, 62, 339, 340, 341, 342, 343,
2025 344, 345, 346, 347, 348, 73, 74, 75, 76, 77,
2026 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2027 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2028 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2029 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2030 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2031 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2032 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2033 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2034 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2035 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2036 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2037 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2038 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2039 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2040 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
2041 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
2042 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2043 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2044 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
2045 268, 269, 270, 271, 272, 273, 274, 275, 338, 1382,
2046 59, 60, 61, 62, 339, 340, 341, 342, 343, 344,
2047 345, 346, 347, 348, 73, 74, 75, 76, 77, 78,
2048 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2049 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2050 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2051 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2052 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2053 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2054 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2055 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2056 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2057 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2058 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2059 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2060 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2061 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2062 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
2063 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
2064 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2065 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2066 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
2067 269, 270, 271, 272, 273, 274, 275, 338, 1386, 59,
2068 60, 61, 62, 339, 340, 341, 342, 343, 344, 345,
2069 346, 347, 348, 73, 74, 75, 76, 77, 78, 79,
2070 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2071 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2072 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2073 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2074 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2075 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2076 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2077 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2078 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2079 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2080 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2081 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2082 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2083 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2084 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
2085 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
2086 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2087 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2088 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
2089 270, 271, 272, 273, 274, 275, 338, 1401, 59, 60,
2090 61, 62, 339, 340, 341, 342, 343, 344, 345, 346,
2091 347, 348, 73, 74, 75, 76, 77, 78, 79, 80,
2092 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2093 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2094 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2095 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2096 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2097 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2098 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2099 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2100 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2101 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2102 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2103 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2104 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2105 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2106 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
2107 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
2108 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2109 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2110 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
2111 271, 272, 273, 274, 275, 338, 1402, 59, 60, 61,
2112 62, 339, 340, 341, 342, 343, 344, 345, 346, 347,
2113 348, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2114 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2115 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2116 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2117 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2118 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2119 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2120 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2121 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2122 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2123 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2124 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2125 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2126 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2127 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2128 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
2129 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
2130 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2131 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2132 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2133 272, 273, 274, 275, 514, 515, 516, 517, 518, 519,
2134 520, 521, 522, 527, 450, 439, 440, 462, 441, 443,
2135 464, 444, 0, 0, 0, 528
2136 };
2137
2138 static const yytype_int16 yycheck[] =
2139 {
2140 16, 923, 18, 19, 20, 21, 22, 23, 24, 25,
2141 26, 27, 28, 29, 30, 31, 32, 33, 34, 871,
2142 1200, 1133, 901, 283, 290, 291, 16, 295, 297, 912,
2143 634, 24, 290, 291, 294, 295, 297, 5, 297, 32,
2144 587, 24, 589, 36, 32, 1, 32, 3, 1036, 64,
2145 65, 66, 67, 68, 69, 70, 71, 72, 33, 34,
2146 1265, 1158, 1397, 19, 611, 21, 22, 36, 24, 25,
2147 1405, 1183, 619, 37, 30, 31, 37, 37, 24, 35,
2148 36, 37, 37, 39, 37, 1203, 32, 1205, 37, 573,
2149 36, 586, 20, 34, 21, 22, 37, 580, 581, 27,
2150 19, 19, 20, 21, 22, 589, 24, 25, 23, 37,
2151 27, 38, 40, 31, 33, 1212, 1213, 1214, 1215, 37,
2152 38, 616, 40, 22, 39, 89, 43, 611, 89, 89,
2153 613, 614, 22, 27, 89, 619, 89, 20, 37, 33,
2154 89, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2155 18, 34, 21, 22, 22, 19, 31, 21, 22, 23,
2156 24, 23, 37, 19, 32, 34, 19, 31, 1156, 38,
2157 27, 22, 1377, 37, 38, 31, 40, 30, 31, 32,
2158 727, 37, 39, 34, 40, 27, 1521, 563, 564, 565,
2159 566, 567, 568, 569, 570, 571, 572, 23, 574, 575,
2160 576, 577, 23, 579, 21, 22, 582, 583, 584, 34,
2161 36, 23, 37, 22, 31, 36, 64, 65, 66, 67,
2162 68, 69, 70, 71, 72, 34, 31, 1407, 39, 222,
2163 223, 283, 37, 19, 222, 223, 222, 223, 24, 222,
2164 223, 34, 294, 295, 37, 31, 298, 222, 223, 1361,
2165 22, 551, 23, 222, 223, 19, 224, 225, 226, 23,
2166 32, 19, 32, 21, 22, 23, 24, 31, 1386, 225,
2167 226, 34, 224, 31, 37, 549, 222, 223, 21, 22,
2168 580, 581, 40, 1401, 1402, 631, 632, 633, 31, 1168,
2169 1169, 591, 592, 562, 594, 595, 596, 597, 0, 21,
2170 22, 562, 21, 562, 19, 27, 21, 22, 27, 24,
2171 31, 21, 31, 613, 614, 36, 31, 27, 22, 6,
2172 620, 621, 9, 10, 11, 12, 13, 14, 15, 16,
2173 17, 18, 283, 880, 23, 882, 34, 288, 289, 355,
2174 356, 357, 616, 294, 295, 283, 1194, 30, 23, 287,
2175 33, 1199, 368, 36, 292, 225, 226, 625, 374, 625,
2176 376, 377, 378, 379, 380, 625, 382, 625, 384, 385,
2177 386, 387, 388, 37, 390, 391, 392, 393, 394, 395,
2178 396, 397, 398, 399, 288, 289, 32, 403, 21, 405,
2179 294, 295, 408, 23, 27, 411, 412, 27, 38, 415,
2180 416, 21, 418, 419, 951, 21, 37, 27, 424, 425,
2181 426, 27, 428, 429, 430, 9, 10, 11, 12, 13,
2182 14, 15, 16, 17, 18, 19, 442, 287, 444, 445,
2183 446, 19, 292, 449, 450, 21, 452, 453, 454, 455,
2184 40, 27, 39, 40, 460, 461, 462, 463, 464, 465,
2185 466, 467, 468, 469, 470, 6, 39, 40, 9, 10,
2186 11, 12, 13, 14, 15, 16, 17, 18, 7, 8,
2187 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2188 328, 34, 330, 331, 332, 333, 334, 335, 336, 337,
2189 1373, 6, 27, 1376, 9, 10, 11, 12, 13, 14,
2190 15, 16, 17, 18, 9, 10, 11, 12, 13, 14,
2191 15, 16, 17, 18, 530, 9, 10, 11, 12, 13,
2192 14, 15, 16, 17, 18, 34, 21, 625, 37, 20,
2193 286, 1643, 27, 631, 38, 16, 292, 290, 291, 225,
2194 222, 223, 295, 21, 22, 21, 22, 31, 1728, 1201,
2195 1202, 296, 297, 853, 854, 855, 284, 285, 591, 592,
2196 31, 22, 22, 21, 19, 19, 43, 23, 38, 22,
2197 38, 22, 19, 38, 33, 23, 39, 26, 20, 20,
2198 37, 27, 26, 573, 27, 23, 886, 887, 888, 889,
2199 42, 27, 1444, 32, 27, 20, 1200, 587, 33, 589,
2200 900, 33, 902, 20, 904, 905, 906, 907, 39, 27,
2201 26, 32, 42, 42, 604, 605, 27, 39, 21, 919,
2202 920, 611, 27, 20, 39, 39, 926, 26, 30, 619,
2203 1552, 27, 42, 33, 38, 33, 626, 627, 628, 629,
2204 21, 36, 658, 659, 634, 635, 38, 36, 1195, 923,
2205 40, 667, 668, 669, 38, 34, 20, 19, 19, 22,
2206 960, 961, 962, 963, 22, 89, 19, 22, 684, 685,
2207 686, 687, 688, 689, 690, 691, 692, 693, 694, 695,
2208 696, 697, 89, 698, 699, 700, 701, 702, 703, 704,
2209 705, 706, 25, 36, 38, 711, 712, 713, 714, 30,
2210 27, 717, 89, 719, 22, 721, 722, 723, 32, 22,
2211 22, 89, 728, 729, 89, 89, 22, 22, 19, 735,
2212 736, 737, 738, 89, 740, 741, 742, 743, 22, 37,
2213 22, 747, 748, 749, 22, 26, 752, 727, 22, 32,
2214 19, 24, 89, 89, 33, 761, 36, 763, 277, 27,
2215 766, 38, 768, 23, 770, 23, 33, 37, 32, 30,
2216 36, 777, 27, 27, 33, 23, 27, 27, 27, 32,
2217 786, 787, 788, 789, 790, 791, 792, 793, 794, 795,
2218 796, 797, 798, 799, 800, 801, 634, 803, 27, 37,
2219 27, 807, 808, 809, 810, 40, 812, 813, 814, 815,
2220 19, 816, 817, 1407, 39, 32, 30, 27, 33, 27,
2221 27, 33, 27, 27, 37, 27, 27, 27, 39, 32,
2222 27, 37, 27, 19, 23, 33, 27, 33, 23, 38,
2223 33, 847, 24, 849, 1134, 1135, 1136, 39, 27, 32,
2224 27, 20, 27, 37, 21, 23, 19, 21, 89, 21,
2225 698, 699, 700, 701, 702, 703, 704, 705, 706, 43,
2226 27, 32, 32, 19, 32, 30, 21, 33, 32, 32,
2227 32, 23, 23, 30, 24, 33, 30, 893, 31, 23,
2228 23, 22, 872, 32, 32, 875, 876, 877, 878, 89,
2229 880, 89, 882, 1167, 884, 32, 32, 32, 89, 89,
2230 890, 1175, 1176, 33, 36, 895, 89, 36, 33, 89,
2231 22, 38, 30, 22, 31, 22, 40, 37, 33, 23,
2232 23, 32, 32, 913, 914, 19, 23, 19, 89, 1203,
2233 30, 1205, 922, 23, 1208, 20, 23, 36, 27, 37,
2234 19, 23, 38, 1217, 1218, 1219, 1220, 89, 39, 89,
2235 23, 966, 32, 37, 23, 27, 89, 947, 36, 949,
2236 43, 951, 33, 23, 27, 27, 89, 37, 816, 817,
2237 89, 37, 820, 89, 32, 991, 992, 993, 994, 27,
2238 23, 89, 32, 27, 39, 21, 27, 89, 27, 27,
2239 23, 33, 23, 1009, 23, 27, 21, 27, 32, 36,
2240 1016, 89, 1018, 1019, 1020, 23, 1022, 1023, 30, 37,
2241 27, 1027, 1028, 89, 30, 89, 31, 23, 27, 30,
2242 32, 1037, 20, 36, 38, 33, 30, 22, 1044, 32,
2243 1046, 38, 32, 22, 31, 40, 38, 36, 32, 1055,
2244 36, 1057, 1058, 33, 32, 38, 1036, 38, 33, 30,
2245 22, 33, 32, 1069, 31, 1071, 23, 32, 36, 33,
2246 33, 30, 1362, 89, 30, 1081, 1082, 1083, 1084, 1085,
2247 1086, 1087, 1088, 1089, 1090, 1091, 1092, 33, 1094, 89,
2248 1096, 38, 1098, 22, 32, 30, 1102, 1103, 1104, 1105,
2249 40, 1107, 1108, 1109, 1110, 21, 1111, 1112, 20, 36,
2250 33, 37, 89, 89, 23, 89, 37, 39, 1382, 30,
2251 37, 36, 1386, 1387, 37, 33, 964, 965, 966, 23,
2252 601, 602, 21, 37, 1728, 37, 36, 1401, 1402, 36,
2253 39, 34, 5, 39, 1408, 23, 617, 603, 39, 23,
2254 606, 27, 89, 1133, 33, 1161, 612, 89, 27, 21,
2255 24, 89, 618, 19, 635, 36, 39, 27, 21, 89,
2256 38, 23, 1152, 1153, 1154, 33, 1156, 1157, 1158, 33,
2257 39, 22, 1162, 21, 27, 27, 23, 658, 659, 38,
2258 646, 39, 39, 38, 23, 1175, 19, 37, 24, 38,
2259 33, 89, 38, 1183, 39, 39, 38, 34, 39, 39,
2260 38, 1191, 1192, 38, 1194, 1195, 1196, 1197, 32, 1199,
2261 1200, 1201, 1202, 1203, 39, 1205, 38, 32, 747, 748,
2262 32, 38, 1212, 1213, 1214, 1215, 33, 33, 1244, 1245,
2263 27, 39, 32, 32, 39, 38, 27, 33, 39, 31,
2264 1256, 1257, 771, 1259, 1260, 1261, 36, 40, 34, 31,
2265 39, 38, 36, 21, 32, 36, 36, 31, 31, 34,
2266 36, 38, 34, 1111, 1112, 1113, 1281, 1282, 38, 38,
2267 34, 38, 19, 39, 23, 1265, 39, 32, 1552, 38,
2268 34, 1297, 30, 33, 24, 38, 32, 31, 33, 1305,
2269 32, 23, 21, 36, 32, 824, 23, 30, 39, 36,
2270 39, 23, 23, 39, 89, 39, 1322, 23, 38, 23,
2271 23, 39, 30, 39, 39, 39, 39, 846, 1334, 1335,
2272 1336, 1337, 39, 38, 89, 27, 38, 1175, 89, 89,
2273 39, 39, 38, 24, 39, 39, 23, 33, 39, 24,
2274 39, 33, 32, 23, 38, 38, 32, 31, 37, 32,
2275 27, 39, 1200, 32, 89, 1203, 31, 1205, 89, 19,
2276 31, 31, 38, 1379, 32, 32, 847, 22, 849, 38,
2277 22, 1361, 31, 1221, 1222, 38, 34, 38, 34, 30,
2278 33, 38, 36, 32, 22, 33, 32, 1377, 32, 39,
2279 871, 33, 873, 874, 31, 38, 1386, 1387, 879, 38,
2280 23, 867, 883, 869, 870, 27, 22, 1397, 89, 22,
2281 1400, 1401, 1402, 25, 38, 1405, 1406, 1407, 899, 885,
2282 901, 23, 1438, 89, 33, 1441, 21, 25, 38, 23,
2283 911, 912, 23, 1281, 1282, 38, 23, 23, 23, 23,
2284 33, 38, 89, 39, 89, 33, 23, 39, 89, 1465,
2285 32, 23, 21, 89, 1470, 89, 985, 38, 924, 38,
2286 38, 37, 32, 27, 27, 946, 40, 948, 934, 935,
2287 936, 937, 938, 939, 940, 941, 942, 943, 944, 945,
2288 27, 40, 27, 36, 32, 23, 1502, 1016, 1017, 955,
2289 956, 957, 958, 1022, 33, 32, 32, 1026, 22, 89,
2290 40, 22, 32, 36, 30, 40, 40, 38, 22, 38,
2291 32, 22, 40, 33, 1043, 38, 23, 26, 33, 32,
2292 22, 89, 89, 27, 40, 22, 38, 1056, 1518, 39,
2293 38, 1521, 38, 38, 23, 1809, 27, 23, 1386, 1387,
2294 27, 26, 38, 23, 27, 38, 89, 26, 43, 33,
2295 23, 27, 30, 1401, 1402, 27, 38, 89, 39, 1407,
2296 19, 27, 89, 40, 1093, 23, 1095, 27, 21, 32,
2297 89, 89, 28, 27, 23, 37, 27, 21, 21, 40,
2298 19, 21, 19, 1599, 34, 40, 89, 21, 40, 36,
2299 23, 33, 40, 28, 32, 27, 21, 89, 43, 40,
2300 36, 32, 31, 27, 32, 23, 33, 37, 23, 32,
2301 36, 33, 31, 27, 34, 36, 1890, 27, 23, 31,
2302 36, 38, 23, 32, 27, 32, 26, 38, 23, 27,
2303 36, 33, 24, 23, 23, 39, 19, 36, 32, 21,
2304 20, 38, 23, 39, 23, 19, 34, 19, 23, 34,
2305 37, 21, 21, 1643, 19, 32, 19, 21, 20, 32,
2306 21, 32, 19, 23, 40, 33, 33, 21, 34, 21,
2307 1151, 1687, 23, 32, 1155, 23, 89, 23, 36, 34,
2308 21, 89, 38, 36, 1150, 1166, 1167, 1168, 1169, 39,
2309 34, 31, 23, 1174, 32, 23, 89, 34, 89, 23,
2310 23, 34, 32, 23, 23, 23, 38, 21, 24, 34,
2311 39, 89, 1193, 30, 19, 37, 1182, 1198, 19, 34,
2312 1201, 1202, 19, 1204, 37, 1206, 38, 1256, 38, 38,
2313 36, 1260, 30, 19, 38, 30, 32, 27, 1728, 38,
2314 89, 1270, 89, 1272, 89, 33, 89, 32, 32, 36,
2315 33, 1280, 33, 89, 1770, 89, 1285, 34, 33, 39,
2316 31, 22, 89, 42, 37, 33, 36, 34, 23, 32,
2317 39, 33, 24, 38, 19, 34, 36, 19, 22, 1308,
2318 38, 27, 36, 23, 23, 36, 19, 19, 24, 30,
2319 33, 38, 1321, 43, 32, 19, 89, 32, 1327, 36,
2320 1329, 1400, 33, 33, 32, 31, 31, 36, 27, 36,
2321 24, 31, 24, 19, 37, 36, 33, 39, 22, 27,
2322 23, 23, 38, 36, 39, 43, 23, 19, 38, 19,
2323 23, 32, 89, 33, 32, 1851, 19, 33, 37, 23,
2324 31, 36, 22, 31, 38, 32, 23, 36, 27, 23,
2325 31, 23, 38, 38, 32, 23, 38, 23, 33, 32,
2326 23, 1518, 38, 24, 1406, 23, 36, 36, 23, 40,
2327 23, 38, 36, 38, 26, 32, 23, 39, 89, 38,
2328 1728, 37, 33, 22, 38, 33, 36, 36, 30, 1208,
2329 36, 36, 1373, 1374, 1375, 1376, 37, 1220, 1890, 1387,
2330 1408, 1382, 1382, 855, -1, 625, 292, 659, 292, -1,
2331 1439, 1440, 56, -1, 633, -1, -1, -1, -1, -1,
2332 -1, -1, -1, -1, -1, -1, 1392, -1, -1, -1,
2333 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2335 292, -1, -1, -1, -1, -1, -1, -1, 297, -1,
2336 -1, -1, 297, 1444, 3, 4, 5, 6, 7, 8,
2337 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2338 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2339 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2340 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2341 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2342 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2343 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2344 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2345 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2346 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2347 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2348 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2349 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2350 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2351 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2352 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2353 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2354 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2355 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2356 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2357 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2358 219, 220, 221, 222, 297, 224, 3, 4, 5, 6,
2359 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2360 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2361 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2362 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2363 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2364 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2365 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2366 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2367 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2368 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2369 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2370 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2371 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2372 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2373 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2374 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2375 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2376 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2377 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2378 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2379 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2380 217, 218, 219, 220, 221, 297, 223, 224, 3, 4,
2381 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2382 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2383 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2384 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2385 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2386 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2387 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2388 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2389 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2390 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2391 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2392 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2393 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2394 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2395 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2396 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2397 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2398 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2399 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2400 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2401 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2402 215, 216, 217, 218, 219, 220, 221, 297, 297, 224,
2403 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2404 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2405 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2406 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2407 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2408 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2409 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2410 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2411 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2412 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2413 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2414 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2415 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2416 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2417 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2418 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2419 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2420 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2421 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2422 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2423 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2424 213, 214, 215, 216, 217, 218, 219, 220, 221, 297,
2425 297, 224, 3, 4, 5, 6, 7, 8, 9, 10,
2426 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2427 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2428 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2429 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2430 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2431 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2432 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2433 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2434 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2435 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2436 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2437 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2438 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2439 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2440 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2441 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2442 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2443 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2444 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2445 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2446 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2447 221, 222, 223, 3, 4, 5, 6, 7, 8, 9,
2448 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2449 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2450 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2451 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2452 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2453 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2454 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2455 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2456 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2457 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2458 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2459 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2460 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2461 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2462 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2463 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2464 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2465 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2466 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2467 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2468 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2469 220, 221, 222, 223, 3, 4, 5, 6, 7, 8,
2470 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2471 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2472 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2473 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2474 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2475 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2476 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2477 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2478 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2479 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2480 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2481 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
2482 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2483 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2484 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2485 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2486 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2487 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
2488 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2489 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
2490 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
2491 219, 220, 221, 3, 4, 5, 6, 7, 8, 9,
2492 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2493 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2494 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2495 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2496 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2497 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2498 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2499 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
2500 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2501 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2502 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2503 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
2504 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2505 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2506 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2507 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2508 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2509 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
2510 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
2511 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
2512 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
2513 220, 221, 3, 4, 5, 6, 7, 8, 9, 10,
2514 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2515 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2516 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2517 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2518 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2519 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2520 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2521 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2522 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2523 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2524 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2525 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
2526 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2527 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2528 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2529 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2530 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2531 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
2532 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
2533 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
2534 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
2535 221, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2536 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2537 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2538 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2539 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2540 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2541 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2542 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2543 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2544 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2545 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2546 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2547 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2548 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2549 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2550 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2551 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2552 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2553 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2554 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2555 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2556 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2557 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2558 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2559 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2560 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2561 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2562 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2563 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2564 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2565 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2566 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2567 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2568 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2569 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2570 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2571 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2572 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2573 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2574 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2575 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
2576 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
2577 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
2578 213, 214, 215, 216, 217, 218, 219, 220, 221, 3,
2579 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2580 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2581 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2582 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2583 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2584 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2585 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2586 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2587 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2588 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
2589 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2590 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
2591 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2592 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2593 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2594 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2595 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2596 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
2597 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
2598 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
2599 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
2600 214, 215, 216, 217, 218, 219, 220, 221, 3, 4,
2601 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2602 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2603 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2604 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2605 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2606 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2607 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2608 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2609 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2610 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2611 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2612 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2613 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2614 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2615 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2616 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2617 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2618 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2619 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2620 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2621 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2622 215, 216, 217, 218, 219, 220, 221, 3, 4, 5,
2623 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2624 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2625 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2626 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2627 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2628 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2629 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2630 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2631 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2632 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2633 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2634 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2635 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2636 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2637 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2638 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2639 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2640 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2641 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2642 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2643 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2644 216, 217, 218, 219, 220, 221, 3, 4, 5, 6,
2645 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2646 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2647 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2648 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2649 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2650 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2651 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2652 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2653 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2654 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2655 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2656 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2657 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2658 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2659 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2660 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2661 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2662 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2663 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2664 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2665 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2666 217, 218, 219, 220, 221, 3, 4, 5, 6, 7,
2667 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2668 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
2669 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2670 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2671 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2672 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2673 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2674 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2675 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2676 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2677 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2678 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2679 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2680 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2681 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2682 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2683 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2684 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2685 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2686 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2687 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2688 218, 219, 220, 221, 297, 297, 297, 297, 297, 297,
2689 297, 297, 297, 297, 293, 292, 292, 295, 292, 292,
2690 295, 292, -1, -1, -1, 297
2691 };
2692
2693 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2694 symbol of state STATE-NUM. */
2695 static const yytype_uint16 yystos[] =
2696 {
2697 0, 1, 3, 19, 21, 22, 24, 25, 30, 31,
2698 35, 36, 37, 39, 228, 229, 230, 231, 294, 295,
2699 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
2700 310, 311, 312, 313, 390, 394, 22, 30, 33, 36,
2701 23, 27, 23, 27, 33, 19, 33, 39, 23, 23,
2702 39, 32, 0, 225, 226, 292, 293, 3, 4, 5,
2703 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2704 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2705 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2706 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2707 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2708 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2709 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2710 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2711 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2712 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2713 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2714 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2715 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2716 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2717 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2718 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2719 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2720 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2721 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2722 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2723 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2724 216, 217, 218, 219, 220, 221, 224, 283, 286, 287,
2725 288, 291, 291, 291, 291, 291, 291, 291, 291, 291,
2726 291, 291, 291, 291, 291, 291, 291, 291, 291, 22,
2727 23, 34, 23, 37, 32, 38, 37, 19, 34, 40,
2728 27, 31, 37, 38, 20, 31, 37, 292, 9, 10,
2729 11, 12, 13, 14, 15, 16, 17, 18, 285, 286,
2730 285, 285, 285, 285, 285, 285, 285, 285, 3, 9,
2731 10, 11, 12, 13, 14, 15, 16, 17, 18, 288,
2732 21, 22, 31, 232, 314, 363, 373, 375, 19, 21,
2733 22, 23, 24, 31, 37, 38, 40, 238, 314, 315,
2734 316, 317, 339, 340, 343, 348, 349, 350, 351, 352,
2735 353, 355, 357, 358, 359, 360, 361, 362, 363, 364,
2736 365, 366, 371, 372, 373, 374, 375, 376, 377, 383,
2737 384, 31, 235, 361, 236, 361, 31, 242, 362, 22,
2738 243, 374, 375, 22, 244, 373, 376, 245, 373, 376,
2739 19, 24, 31, 240, 349, 359, 371, 246, 349, 359,
2740 371, 19, 21, 24, 31, 252, 315, 316, 317, 348,
2741 355, 358, 362, 364, 372, 374, 375, 27, 247, 342,
2742 343, 237, 314, 363, 373, 376, 19, 23, 31, 239,
2743 314, 347, 352, 356, 357, 363, 371, 373, 376, 384,
2744 393, 19, 20, 21, 22, 24, 25, 31, 37, 38,
2745 40, 233, 319, 320, 321, 322, 323, 324, 325, 326,
2746 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
2747 337, 338, 339, 341, 391, 234, 319, 320, 321, 322,
2748 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
2749 333, 334, 335, 336, 337, 338, 339, 341, 391, 241,
2750 314, 19, 43, 19, 38, 22, 38, 22, 23, 38,
2751 33, 23, 37, 19, 39, 286, 26, 20, 27, 291,
2752 291, 291, 39, 40, 26, 20, 32, 42, 27, 23,
2753 33, 33, 291, 291, 291, 291, 291, 291, 291, 291,
2754 291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
2755 291, 291, 291, 291, 291, 27, 291, 291, 27, 291,
2756 20, 291, 291, 20, 291, 291, 291, 291, 39, 42,
2757 27, 291, 291, 291, 291, 291, 291, 39, 26, 42,
2758 27, 291, 291, 291, 291, 32, 291, 291, 291, 291,
2759 291, 291, 39, 21, 27, 291, 291, 291, 291, 291,
2760 291, 291, 291, 291, 291, 291, 39, 39, 26, 20,
2761 42, 30, 27, 38, 33, 33, 291, 36, 38, 36,
2762 40, 38, 21, 34, 20, 19, 89, 22, 222, 223,
2763 274, 290, 271, 290, 24, 32, 36, 271, 281, 309,
2764 380, 381, 382, 22, 19, 19, 89, 25, 89, 22,
2765 36, 38, 30, 27, 318, 336, 337, 338, 318, 318,
2766 318, 318, 318, 318, 318, 318, 318, 318, 10, 11,
2767 12, 13, 14, 15, 16, 17, 18, 19, 262, 287,
2768 306, 318, 318, 318, 318, 267, 287, 318, 271, 381,
2769 271, 381, 318, 318, 318, 22, 32, 249, 309, 262,
2770 22, 262, 306, 89, 32, 271, 382, 271, 382, 89,
2771 271, 271, 271, 271, 22, 89, 22, 283, 283, 267,
2772 287, 287, 267, 22, 19, 89, 22, 262, 306, 267,
2773 271, 381, 271, 381, 37, 253, 273, 290, 309, 254,
2774 270, 283, 267, 262, 306, 24, 271, 379, 271, 22,
2775 26, 22, 19, 31, 37, 248, 349, 353, 354, 359,
2776 363, 366, 367, 368, 369, 384, 386, 387, 287, 287,
2777 287, 287, 32, 392, 19, 30, 31, 353, 370, 385,
2778 392, 22, 378, 392, 378, 392, 7, 8, 266, 284,
2779 285, 286, 287, 282, 283, 287, 22, 24, 19, 89,
2780 89, 33, 22, 37, 36, 38, 27, 267, 23, 33,
2781 23, 36, 37, 32, 27, 27, 283, 289, 291, 289,
2782 30, 33, 23, 291, 291, 291, 27, 27, 32, 27,
2783 27, 37, 27, 40, 19, 39, 32, 291, 291, 291,
2784 291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
2785 291, 30, 291, 291, 291, 291, 291, 291, 291, 291,
2786 291, 27, 33, 262, 291, 291, 27, 27, 33, 291,
2787 291, 291, 291, 27, 291, 291, 291, 291, 27, 37,
2788 27, 291, 291, 291, 291, 27, 32, 37, 27, 291,
2789 291, 38, 291, 291, 291, 33, 291, 27, 33, 27,
2790 39, 27, 39, 33, 291, 291, 291, 291, 291, 291,
2791 291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
2792 19, 291, 39, 23, 27, 291, 291, 291, 291, 23,
2793 291, 291, 291, 291, 285, 285, 6, 27, 24, 32,
2794 27, 37, 20, 27, 21, 23, 19, 21, 43, 27,
2795 21, 32, 32, 89, 222, 283, 291, 223, 19, 32,
2796 21, 271, 271, 271, 281, 33, 30, 32, 32, 32,
2797 23, 89, 23, 30, 31, 24, 267, 20, 34, 251,
2798 388, 389, 267, 267, 270, 287, 283, 283, 287, 287,
2799 287, 287, 283, 262, 30, 262, 283, 287, 267, 271,
2800 271, 271, 271, 287, 89, 32, 291, 263, 287, 89,
2801 32, 32, 279, 283, 271, 279, 271, 32, 271, 271,
2802 271, 271, 33, 23, 89, 250, 283, 250, 265, 287,
2803 269, 287, 33, 32, 23, 89, 271, 271, 36, 268,
2804 287, 273, 267, 36, 271, 33, 89, 22, 22, 38,
2805 30, 267, 267, 267, 267, 267, 267, 267, 267, 267,
2806 267, 267, 267, 283, 287, 283, 287, 31, 262, 22,
2807 40, 22, 267, 267, 267, 267, 37, 271, 271, 271,
2808 271, 6, 6, 285, 33, 23, 32, 32, 23, 19,
2809 89, 23, 19, 30, 23, 20, 36, 23, 37, 27,
2810 38, 89, 39, 291, 291, 291, 291, 89, 19, 23,
2811 37, 23, 32, 27, 36, 89, 23, 33, 43, 23,
2812 291, 291, 291, 291, 291, 291, 291, 291, 291, 27,
2813 89, 263, 291, 27, 37, 89, 291, 4, 291, 291,
2814 37, 89, 32, 27, 291, 4, 291, 89, 23, 32,
2815 27, 39, 291, 291, 21, 89, 27, 27, 27, 23,
2816 33, 291, 291, 291, 291, 291, 291, 291, 291, 291,
2817 291, 291, 291, 4, 291, 4, 291, 23, 291, 27,
2818 23, 27, 291, 291, 291, 291, 21, 291, 291, 291,
2819 291, 285, 285, 89, 36, 23, 37, 32, 30, 27,
2820 30, 31, 89, 89, 23, 27, 30, 38, 32, 31,
2821 36, 36, 268, 271, 271, 271, 33, 20, 30, 38,
2822 22, 32, 40, 38, 36, 267, 283, 287, 287, 287,
2823 283, 263, 287, 269, 32, 291, 264, 287, 32, 38,
2824 283, 280, 283, 290, 279, 279, 38, 33, 22, 32,
2825 283, 7, 8, 277, 278, 283, 284, 287, 290, 276,
2826 290, 33, 30, 22, 32, 31, 267, 268, 23, 33,
2827 32, 33, 89, 256, 287, 257, 287, 258, 283, 256,
2828 22, 32, 262, 307, 308, 259, 287, 260, 287, 306,
2829 261, 283, 256, 266, 282, 282, 277, 283, 277, 283,
2830 274, 33, 30, 89, 269, 269, 269, 269, 36, 290,
2831 272, 290, 290, 272, 33, 89, 30, 38, 22, 89,
2832 32, 30, 89, 40, 21, 20, 36, 37, 33, 23,
2833 37, 291, 291, 39, 30, 37, 36, 37, 34, 37,
2834 33, 23, 21, 291, 291, 291, 291, 291, 37, 264,
2835 37, 36, 4, 36, 39, 34, 4, 5, 39, 34,
2836 37, 23, 291, 39, 34, 89, 27, 291, 23, 33,
2837 291, 4, 4, 89, 21, 291, 291, 291, 291, 27,
2838 39, 24, 89, 36, 89, 27, 34, 37, 19, 21,
2839 33, 33, 23, 39, 38, 22, 21, 27, 268, 271,
2840 38, 23, 39, 39, 38, 27, 37, 23, 250, 283,
2841 283, 250, 264, 38, 291, 38, 39, 280, 39, 38,
2842 39, 277, 278, 38, 39, 38, 32, 267, 38, 39,
2843 33, 32, 257, 24, 32, 259, 277, 277, 33, 33,
2844 257, 265, 266, 276, 34, 38, 27, 21, 27, 39,
2845 21, 27, 32, 39, 38, 32, 33, 27, 39, 31,
2846 36, 19, 39, 40, 34, 89, 31, 38, 36, 21,
2847 32, 36, 270, 36, 31, 31, 34, 38, 34, 38,
2848 36, 38, 34, 38, 39, 34, 19, 23, 291, 39,
2849 32, 291, 38, 34, 30, 33, 32, 31, 33, 32,
2850 24, 38, 36, 23, 39, 21, 32, 23, 39, 30,
2851 36, 23, 39, 19, 23, 31, 23, 89, 39, 23,
2852 38, 39, 291, 39, 23, 23, 39, 89, 39, 89,
2853 39, 39, 89, 38, 39, 39, 260, 38, 38, 257,
2854 27, 39, 30, 39, 24, 23, 39, 24, 33, 89,
2855 39, 33, 32, 23, 38, 32, 31, 37, 38, 39,
2856 32, 27, 32, 22, 34, 31, 89, 19, 31, 273,
2857 31, 32, 32, 38, 22, 38, 22, 31, 38, 22,
2858 34, 34, 38, 30, 34, 36, 33, 38, 32, 33,
2859 32, 32, 33, 22, 31, 39, 38, 89, 38, 23,
2860 27, 89, 22, 25, 22, 38, 23, 36, 33, 23,
2861 21, 25, 23, 291, 23, 38, 38, 89, 23, 89,
2862 23, 23, 89, 23, 33, 39, 89, 38, 39, 33,
2863 32, 89, 38, 38, 38, 23, 23, 37, 21, 37,
2864 89, 32, 40, 21, 22, 27, 27, 27, 37, 89,
2865 40, 27, 36, 32, 33, 23, 32, 268, 32, 89,
2866 22, 40, 22, 40, 32, 21, 22, 40, 36, 38,
2867 21, 34, 38, 38, 30, 22, 37, 89, 40, 32,
2868 33, 22, 38, 23, 26, 23, 36, 33, 32, 89,
2869 89, 22, 27, 40, 38, 38, 39, 38, 291, 38,
2870 22, 23, 27, 23, 27, 38, 26, 23, 27, 38,
2871 89, 26, 33, 43, 89, 30, 23, 89, 21, 22,
2872 27, 27, 38, 39, 27, 89, 19, 40, 27, 89,
2873 23, 27, 28, 27, 21, 23, 89, 37, 89, 32,
2874 266, 27, 40, 21, 40, 21, 89, 19, 40, 21,
2875 21, 38, 19, 36, 34, 23, 40, 28, 33, 27,
2876 32, 21, 89, 32, 36, 31, 32, 27, 40, 33,
2877 37, 32, 33, 36, 23, 36, 34, 31, 38, 291,
2878 36, 27, 23, 27, 23, 31, 32, 27, 23, 26,
2879 43, 32, 38, 23, 36, 27, 33, 39, 36, 24,
2880 23, 21, 27, 31, 38, 23, 19, 32, 21, 23,
2881 39, 34, 20, 23, 37, 89, 19, 19, 89, 33,
2882 34, 255, 275, 290, 344, 345, 346, 23, 21, 21,
2883 19, 32, 21, 89, 19, 34, 32, 21, 20, 32,
2884 23, 33, 89, 33, 32, 19, 21, 34, 23, 23,
2885 36, 38, 39, 21, 34, 36, 34, 31, 32, 23,
2886 291, 21, 23, 23, 34, 23, 23, 34, 32, 23,
2887 23, 23, 89, 38, 21, 21, 27, 39, 24, 34,
2888 38, 30, 37, 89, 34, 38, 38, 19, 19, 37,
2889 19, 89, 36, 275, 38, 30, 89, 19, 32, 30,
2890 89, 27, 38, 33, 32, 32, 33, 89, 33, 89,
2891 34, 39, 89, 33, 36, 31, 42, 22, 37, 33,
2892 34, 36, 23, 21, 27, 32, 33, 39, 24, 38,
2893 21, 27, 36, 34, 19, 38, 22, 36, 19, 23,
2894 23, 27, 36, 19, 19, 30, 33, 32, 24, 36,
2895 32, 33, 33, 32, 43, 19, 36, 89, 36, 27,
2896 31, 38, 31, 37, 36, 31, 39, 24, 33, 43,
2897 38, 39, 24, 36, 19, 22, 27, 23, 23, 23,
2898 19, 38, 19, 23, 32, 33, 89, 32, 33, 19,
2899 31, 36, 40, 37, 38, 36, 32, 23, 31, 38,
2900 38, 21, 27, 38, 31, 23, 27, 23, 23, 22,
2901 32, 23, 23, 33, 32, 23, 38, 40, 36, 36,
2902 89, 38, 38, 36, 39, 24, 38, 23, 23, 37,
2903 26, 23, 32, 33, 23, 36, 36, 33, 36, 38,
2904 36, 37, 30, 22
2905 };
2906
2907 #define yyerrok (yyerrstatus = 0)
2908 #define yyclearin (yychar = YYEMPTY)
2909 #define YYEMPTY (-2)
2910 #define YYEOF 0
2911
2912 #define YYACCEPT goto yyacceptlab
2913 #define YYABORT goto yyabortlab
2914 #define YYERROR goto yyerrorlab
2915
2916
2917 /* Like YYERROR except do call yyerror. This remains here temporarily
2918 to ease the transition to the new meaning of YYERROR, for GCC.
2919 Once GCC version 2 has supplanted version 1, this can go. */
2920
2921 #define YYFAIL goto yyerrlab
2922
2923 #define YYRECOVERING() (!!yyerrstatus)
2924
2925 #define YYBACKUP(Token, Value) \
2926 do \
2927 if (yychar == YYEMPTY && yylen == 1) \
2928 { \
2929 yychar = (Token); \
2930 yylval = (Value); \
2931 yytoken = YYTRANSLATE (yychar); \
2932 YYPOPSTACK (1); \
2933 goto yybackup; \
2934 } \
2935 else \
2936 { \
2937 yyerror (YY_("syntax error: cannot back up")); \
2938 YYERROR; \
2939 } \
2940 while (YYID (0))
2941
2942
2943 #define YYTERROR 1
2944 #define YYERRCODE 256
2945
2946
2947 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2948 If N is 0, then set CURRENT to the empty location which ends
2949 the previous symbol: RHS[0] (always defined). */
2950
2951 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2952 #ifndef YYLLOC_DEFAULT
2953 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2954 do \
2955 if (YYID (N)) \
2956 { \
2957 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2958 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2959 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2960 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2961 } \
2962 else \
2963 { \
2964 (Current).first_line = (Current).last_line = \
2965 YYRHSLOC (Rhs, 0).last_line; \
2966 (Current).first_column = (Current).last_column = \
2967 YYRHSLOC (Rhs, 0).last_column; \
2968 } \
2969 while (YYID (0))
2970 #endif
2971
2972
2973 /* YY_LOCATION_PRINT -- Print the location on the stream.
2974 This macro was not mandated originally: define only if we know
2975 we won't break user code: when these are the locations we know. */
2976
2977 #ifndef YY_LOCATION_PRINT
2978 # if YYLTYPE_IS_TRIVIAL
2979 # define YY_LOCATION_PRINT(File, Loc) \
2980 fprintf (File, "%d.%d-%d.%d", \
2981 (Loc).first_line, (Loc).first_column, \
2982 (Loc).last_line, (Loc).last_column)
2983 # else
2984 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2985 # endif
2986 #endif
2987
2988
2989 /* YYLEX -- calling `yylex' with the right arguments. */
2990
2991 #ifdef YYLEX_PARAM
2992 # define YYLEX yylex (&yylval, YYLEX_PARAM)
2993 #else
2994 # define YYLEX yylex (&yylval)
2995 #endif
2996
2997 /* Enable debugging if requested. */
2998 #if YYDEBUG
2999
3000 # ifndef YYFPRINTF
3001 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3002 # define YYFPRINTF fprintf
3003 # endif
3004
3005 # define YYDPRINTF(Args) \
3006 do { \
3007 if (yydebug) \
3008 YYFPRINTF Args; \
3009 } while (YYID (0))
3010
3011 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3012 do { \
3013 if (yydebug) \
3014 { \
3015 YYFPRINTF (stderr, "%s ", Title); \
3016 yy_symbol_print (stderr, \
3017 Type, Value); \
3018 YYFPRINTF (stderr, "\n"); \
3019 } \
3020 } while (YYID (0))
3021
3022
3023 /*--------------------------------.
3024 | Print this symbol on YYOUTPUT. |
3025 `--------------------------------*/
3026
3027 /*ARGSUSED*/
3028 #if (defined __STDC__ || defined __C99__FUNC__ \
3029 || defined __cplusplus || defined _MSC_VER)
3030 static void
3031 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3032 #else
3033 static void
3034 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3035 FILE *yyoutput;
3036 int yytype;
3037 YYSTYPE const * const yyvaluep;
3038 #endif
3039 {
3040 if (!yyvaluep)
3041 return;
3042 # ifdef YYPRINT
3043 if (yytype < YYNTOKENS)
3044 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3045 # else
3046 YYUSE (yyoutput);
3047 # endif
3048 switch (yytype)
3049 {
3050 default:
3051 break;
3052 }
3053 }
3054
3055
3056 /*--------------------------------.
3057 | Print this symbol on YYOUTPUT. |
3058 `--------------------------------*/
3059
3060 #if (defined __STDC__ || defined __C99__FUNC__ \
3061 || defined __cplusplus || defined _MSC_VER)
3062 static void
3063 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3064 #else
3065 static void
3066 yy_symbol_print (yyoutput, yytype, yyvaluep)
3067 FILE *yyoutput;
3068 int yytype;
3069 YYSTYPE const * const yyvaluep;
3070 #endif
3071 {
3072 if (yytype < YYNTOKENS)
3073 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3074 else
3075 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3076
3077 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3078 YYFPRINTF (yyoutput, ")");
3079 }
3080
3081 /*------------------------------------------------------------------.
3082 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3083 | TOP (included). |
3084 `------------------------------------------------------------------*/
3085
3086 #if (defined __STDC__ || defined __C99__FUNC__ \
3087 || defined __cplusplus || defined _MSC_VER)
3088 static void
3089 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3090 #else
3091 static void
3092 yy_stack_print (bottom, top)
3093 yytype_int16 *bottom;
3094 yytype_int16 *top;
3095 #endif
3096 {
3097 YYFPRINTF (stderr, "Stack now");
3098 for (; bottom <= top; ++bottom)
3099 YYFPRINTF (stderr, " %d", *bottom);
3100 YYFPRINTF (stderr, "\n");
3101 }
3102
3103 # define YY_STACK_PRINT(Bottom, Top) \
3104 do { \
3105 if (yydebug) \
3106 yy_stack_print ((Bottom), (Top)); \
3107 } while (YYID (0))
3108
3109
3110 /*------------------------------------------------.
3111 | Report that the YYRULE is going to be reduced. |
3112 `------------------------------------------------*/
3113
3114 #if (defined __STDC__ || defined __C99__FUNC__ \
3115 || defined __cplusplus || defined _MSC_VER)
3116 static void
3117 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
3118 #else
3119 static void
3120 yy_reduce_print (yyvsp, yyrule)
3121 YYSTYPE *yyvsp;
3122 int yyrule;
3123 #endif
3124 {
3125 int yynrhs = yyr2[yyrule];
3126 int yyi;
3127 unsigned long int yylno = yyrline[yyrule];
3128 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3129 yyrule - 1, yylno);
3130 /* The symbols being reduced. */
3131 for (yyi = 0; yyi < yynrhs; yyi++)
3132 {
3133 fprintf (stderr, " $%d = ", yyi + 1);
3134 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3135 &(yyvsp[(yyi + 1) - (yynrhs)])
3136 );
3137 fprintf (stderr, "\n");
3138 }
3139 }
3140
3141 # define YY_REDUCE_PRINT(Rule) \
3142 do { \
3143 if (yydebug) \
3144 yy_reduce_print (yyvsp, Rule); \
3145 } while (YYID (0))
3146
3147 /* Nonzero means print parse trace. It is left uninitialized so that
3148 multiple parsers can coexist. */
3149 int yydebug;
3150 #else /* !YYDEBUG */
3151 # define YYDPRINTF(Args)
3152 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3153 # define YY_STACK_PRINT(Bottom, Top)
3154 # define YY_REDUCE_PRINT(Rule)
3155 #endif /* !YYDEBUG */
3156
3157
3158 /* YYINITDEPTH -- initial size of the parser's stacks. */
3159 #ifndef YYINITDEPTH
3160 # define YYINITDEPTH 200
3161 #endif
3162
3163 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3164 if the built-in stack extension method is used).
3165
3166 Do not make this value too large; the results are undefined if
3167 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3168 evaluated with infinite-precision integer arithmetic. */
3169
3170 #ifndef YYMAXDEPTH
3171 # define YYMAXDEPTH 10000
3172 #endif
3173
3174
3175
3176 #if YYERROR_VERBOSE
3177
3178 # ifndef yystrlen
3179 # if defined __GLIBC__ && defined _STRING_H
3180 # define yystrlen strlen
3181 # else
3182 /* Return the length of YYSTR. */
3183 #if (defined __STDC__ || defined __C99__FUNC__ \
3184 || defined __cplusplus || defined _MSC_VER)
3185 static YYSIZE_T
3186 yystrlen (const char *yystr)
3187 #else
3188 static YYSIZE_T
3189 yystrlen (yystr)
3190 const char *yystr;
3191 #endif
3192 {
3193 YYSIZE_T yylen;
3194 for (yylen = 0; yystr[yylen]; yylen++)
3195 continue;
3196 return yylen;
3197 }
3198 # endif
3199 # endif
3200
3201 # ifndef yystpcpy
3202 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3203 # define yystpcpy stpcpy
3204 # else
3205 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3206 YYDEST. */
3207 #if (defined __STDC__ || defined __C99__FUNC__ \
3208 || defined __cplusplus || defined _MSC_VER)
3209 static char *
3210 yystpcpy (char *yydest, const char *yysrc)
3211 #else
3212 static char *
3213 yystpcpy (yydest, yysrc)
3214 char *yydest;
3215 const char *yysrc;
3216 #endif
3217 {
3218 char *yyd = yydest;
3219 const char *yys = yysrc;
3220
3221 while ((*yyd++ = *yys++) != '\0')
3222 continue;
3223
3224 return yyd - 1;
3225 }
3226 # endif
3227 # endif
3228
3229 # ifndef yytnamerr
3230 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3231 quotes and backslashes, so that it's suitable for yyerror. The
3232 heuristic is that double-quoting is unnecessary unless the string
3233 contains an apostrophe, a comma, or backslash (other than
3234 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3235 null, do not copy; instead, return the length of what the result
3236 would have been. */
3237 static YYSIZE_T
3238 yytnamerr (char *yyres, const char *yystr)
3239 {
3240 if (*yystr == '"')
3241 {
3242 YYSIZE_T yyn = 0;
3243 char const *yyp = yystr;
3244
3245 for (;;)
3246 switch (*++yyp)
3247 {
3248 case '\'':
3249 case ',':
3250 goto do_not_strip_quotes;
3251
3252 case '\\':
3253 if (*++yyp != '\\')
3254 goto do_not_strip_quotes;
3255 /* Fall through. */
3256 default:
3257 if (yyres)
3258 yyres[yyn] = *yyp;
3259 yyn++;
3260 break;
3261
3262 case '"':
3263 if (yyres)
3264 yyres[yyn] = '\0';
3265 return yyn;
3266 }
3267 do_not_strip_quotes: ;
3268 }
3269
3270 if (! yyres)
3271 return yystrlen (yystr);
3272
3273 return yystpcpy (yyres, yystr) - yyres;
3274 }
3275 # endif
3276
3277 /* Copy into YYRESULT an error message about the unexpected token
3278 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3279 including the terminating null byte. If YYRESULT is null, do not
3280 copy anything; just return the number of bytes that would be
3281 copied. As a special case, return 0 if an ordinary "syntax error"
3282 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3283 size calculation. */
3284 static YYSIZE_T
3285 yysyntax_error (char *yyresult, int yystate, int yychar)
3286 {
3287 int yyn = yypact[yystate];
3288
3289 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3290 return 0;
3291 else
3292 {
3293 int yytype = YYTRANSLATE (yychar);
3294 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3295 YYSIZE_T yysize = yysize0;
3296 YYSIZE_T yysize1;
3297 int yysize_overflow = 0;
3298 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3299 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3300 int yyx;
3301
3302 # if 0
3303 /* This is so xgettext sees the translatable formats that are
3304 constructed on the fly. */
3305 YY_("syntax error, unexpected %s");
3306 YY_("syntax error, unexpected %s, expecting %s");
3307 YY_("syntax error, unexpected %s, expecting %s or %s");
3308 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3309 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3310 # endif
3311 char *yyfmt;
3312 char const *yyf;
3313 static char const yyunexpected[] = "syntax error, unexpected %s";
3314 static char const yyexpecting[] = ", expecting %s";
3315 static char const yyor[] = " or %s";
3316 char yyformat[sizeof yyunexpected
3317 + sizeof yyexpecting - 1
3318 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3319 * (sizeof yyor - 1))];
3320 char const *yyprefix = yyexpecting;
3321
3322 /* Start YYX at -YYN if negative to avoid negative indexes in
3323 YYCHECK. */
3324 int yyxbegin = yyn < 0 ? -yyn : 0;
3325
3326 /* Stay within bounds of both yycheck and yytname. */
3327 int yychecklim = YYLAST - yyn + 1;
3328 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3329 int yycount = 1;
3330
3331 yyarg[0] = yytname[yytype];
3332 yyfmt = yystpcpy (yyformat, yyunexpected);
3333
3334 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3335 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3336 {
3337 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3338 {
3339 yycount = 1;
3340 yysize = yysize0;
3341 yyformat[sizeof yyunexpected - 1] = '\0';
3342 break;
3343 }
3344 yyarg[yycount++] = yytname[yyx];
3345 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3346 yysize_overflow |= (yysize1 < yysize);
3347 yysize = yysize1;
3348 yyfmt = yystpcpy (yyfmt, yyprefix);
3349 yyprefix = yyor;
3350 }
3351
3352 yyf = YY_(yyformat);
3353 yysize1 = yysize + yystrlen (yyf);
3354 yysize_overflow |= (yysize1 < yysize);
3355 yysize = yysize1;
3356
3357 if (yysize_overflow)
3358 return YYSIZE_MAXIMUM;
3359
3360 if (yyresult)
3361 {
3362 /* Avoid sprintf, as that infringes on the user's name space.
3363 Don't have undefined behavior even if the translation
3364 produced a string with the wrong number of "%s"s. */
3365 char *yyp = yyresult;
3366 int yyi = 0;
3367 while ((*yyp = *yyf) != '\0')
3368 {
3369 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3370 {
3371 yyp += yytnamerr (yyp, yyarg[yyi++]);
3372 yyf += 2;
3373 }
3374 else
3375 {
3376 yyp++;
3377 yyf++;
3378 }
3379 }
3380 }
3381 return yysize;
3382 }
3383 }
3384 #endif /* YYERROR_VERBOSE */
3385
3386
3387 /*-----------------------------------------------.
3388 | Release the memory associated to this symbol. |
3389 `-----------------------------------------------*/
3390
3391 /*ARGSUSED*/
3392 #if (defined __STDC__ || defined __C99__FUNC__ \
3393 || defined __cplusplus || defined _MSC_VER)
3394 static void
3395 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3396 #else
3397 static void
3398 yydestruct (yymsg, yytype, yyvaluep)
3399 const char *yymsg;
3400 int yytype;
3401 YYSTYPE *yyvaluep;
3402 #endif
3403 {
3404 YYUSE (yyvaluep);
3405
3406 if (!yymsg)
3407 yymsg = "Deleting";
3408 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3409
3410 switch (yytype)
3411 {
3412
3413 default:
3414 break;
3415 }
3416 }
3417
3418
3419 /* Prevent warnings from -Wmissing-prototypes. */
3420
3421 #ifdef YYPARSE_PARAM
3422 #if defined __STDC__ || defined __cplusplus
3423 int yyparse (void *YYPARSE_PARAM);
3424 #else
3425 int yyparse ();
3426 #endif
3427 #else /* ! YYPARSE_PARAM */
3428 #if defined __STDC__ || defined __cplusplus
3429 int yyparse (void);
3430 #else
3431 int yyparse ();
3432 #endif
3433 #endif /* ! YYPARSE_PARAM */
3434
3435
3436
3437
3438
3439
3440 /*----------.
3441 | yyparse. |
3442 `----------*/
3443
3444 #ifdef YYPARSE_PARAM
3445 #if (defined __STDC__ || defined __C99__FUNC__ \
3446 || defined __cplusplus || defined _MSC_VER)
3447 int
3448 yyparse (void *YYPARSE_PARAM)
3449 #else
3450 int
3451 yyparse (YYPARSE_PARAM)
3452 void *YYPARSE_PARAM;
3453 #endif
3454 #else /* ! YYPARSE_PARAM */
3455 #if (defined __STDC__ || defined __C99__FUNC__ \
3456 || defined __cplusplus || defined _MSC_VER)
3457 int
3458 yyparse (void)
3459 #else
3460 int
3461 yyparse ()
3462
3463 #endif
3464 #endif
3465 {
3466 /* The look-ahead symbol. */
3467 int yychar;
3468
3469 /* The semantic value of the look-ahead symbol. */
3470 YYSTYPE yylval;
3471
3472 /* Number of syntax errors so far. */
3473 int yynerrs;
3474
3475 int yystate;
3476 int yyn;
3477 int yyresult;
3478 /* Number of tokens to shift before error messages enabled. */
3479 int yyerrstatus;
3480 /* Look-ahead token as an internal (translated) token number. */
3481 int yytoken = 0;
3482 #if YYERROR_VERBOSE
3483 /* Buffer for error messages, and its allocated size. */
3484 char yymsgbuf[128];
3485 char *yymsg = yymsgbuf;
3486 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3487 #endif
3488
3489 /* Three stacks and their tools:
3490 `yyss': related to states,
3491 `yyvs': related to semantic values,
3492 `yyls': related to locations.
3493
3494 Refer to the stacks thru separate pointers, to allow yyoverflow
3495 to reallocate them elsewhere. */
3496
3497 /* The state stack. */
3498 yytype_int16 yyssa[YYINITDEPTH];
3499 yytype_int16 *yyss = yyssa;
3500 yytype_int16 *yyssp;
3501
3502 /* The semantic value stack. */
3503 YYSTYPE yyvsa[YYINITDEPTH];
3504 YYSTYPE *yyvs = yyvsa;
3505 YYSTYPE *yyvsp;
3506
3507
3508
3509 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3510
3511 YYSIZE_T yystacksize = YYINITDEPTH;
3512
3513 /* The variables used to return semantic value and location from the
3514 action routines. */
3515 YYSTYPE yyval;
3516
3517
3518 /* The number of symbols on the RHS of the reduced rule.
3519 Keep to zero when no symbol should be popped. */
3520 int yylen = 0;
3521
3522 YYDPRINTF ((stderr, "Starting parse\n"));
3523
3524 yystate = 0;
3525 yyerrstatus = 0;
3526 yynerrs = 0;
3527 yychar = YYEMPTY; /* Cause a token to be read. */
3528
3529 /* Initialize stack pointers.
3530 Waste one element of value and location stack
3531 so that they stay on the same level as the state stack.
3532 The wasted elements are never initialized. */
3533
3534 yyssp = yyss;
3535 yyvsp = yyvs;
3536
3537 goto yysetstate;
3538
3539 /*------------------------------------------------------------.
3540 | yynewstate -- Push a new state, which is found in yystate. |
3541 `------------------------------------------------------------*/
3542 yynewstate:
3543 /* In all cases, when you get here, the value and location stacks
3544 have just been pushed. So pushing a state here evens the stacks. */
3545 yyssp++;
3546
3547 yysetstate:
3548 *yyssp = yystate;
3549
3550 if (yyss + yystacksize - 1 <= yyssp)
3551 {
3552 /* Get the current used size of the three stacks, in elements. */
3553 YYSIZE_T yysize = yyssp - yyss + 1;
3554
3555 #ifdef yyoverflow
3556 {
3557 /* Give user a chance to reallocate the stack. Use copies of
3558 these so that the &'s don't force the real ones into
3559 memory. */
3560 YYSTYPE *yyvs1 = yyvs;
3561 yytype_int16 *yyss1 = yyss;
3562
3563
3564 /* Each stack pointer address is followed by the size of the
3565 data in use in that stack, in bytes. This used to be a
3566 conditional around just the two extra args, but that might
3567 be undefined if yyoverflow is a macro. */
3568 yyoverflow (YY_("memory exhausted"),
3569 &yyss1, yysize * sizeof (*yyssp),
3570 &yyvs1, yysize * sizeof (*yyvsp),
3571
3572 &yystacksize);
3573
3574 yyss = yyss1;
3575 yyvs = yyvs1;
3576 }
3577 #else /* no yyoverflow */
3578 # ifndef YYSTACK_RELOCATE
3579 goto yyexhaustedlab;
3580 # else
3581 /* Extend the stack our own way. */
3582 if (YYMAXDEPTH <= yystacksize)
3583 goto yyexhaustedlab;
3584 yystacksize *= 2;
3585 if (YYMAXDEPTH < yystacksize)
3586 yystacksize = YYMAXDEPTH;
3587
3588 {
3589 yytype_int16 *yyss1 = yyss;
3590 union yyalloc *yyptr =
3591 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3592 if (! yyptr)
3593 goto yyexhaustedlab;
3594 YYSTACK_RELOCATE (yyss);
3595 YYSTACK_RELOCATE (yyvs);
3596
3597 # undef YYSTACK_RELOCATE
3598 if (yyss1 != yyssa)
3599 YYSTACK_FREE (yyss1);
3600 }
3601 # endif
3602 #endif /* no yyoverflow */
3603
3604 yyssp = yyss + yysize - 1;
3605 yyvsp = yyvs + yysize - 1;
3606
3607
3608 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3609 (unsigned long int) yystacksize));
3610
3611 if (yyss + yystacksize - 1 <= yyssp)
3612 YYABORT;
3613 }
3614
3615 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3616
3617 goto yybackup;
3618
3619 /*-----------.
3620 | yybackup. |
3621 `-----------*/
3622 yybackup:
3623
3624 /* Do appropriate processing given the current state. Read a
3625 look-ahead token if we need one and don't already have one. */
3626
3627 /* First try to decide what to do without reference to look-ahead token. */
3628 yyn = yypact[yystate];
3629 if (yyn == YYPACT_NINF)
3630 goto yydefault;
3631
3632 /* Not known => get a look-ahead token if don't already have one. */
3633
3634 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
3635 if (yychar == YYEMPTY)
3636 {
3637 YYDPRINTF ((stderr, "Reading a token: "));
3638 yychar = YYLEX;
3639 }
3640
3641 if (yychar <= YYEOF)
3642 {
3643 yychar = yytoken = YYEOF;
3644 YYDPRINTF ((stderr, "Now at end of input.\n"));
3645 }
3646 else
3647 {
3648 yytoken = YYTRANSLATE (yychar);
3649 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3650 }
3651
3652 /* If the proper action on seeing token YYTOKEN is to reduce or to
3653 detect an error, take that action. */
3654 yyn += yytoken;
3655 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3656 goto yydefault;
3657 yyn = yytable[yyn];
3658 if (yyn <= 0)
3659 {
3660 if (yyn == 0 || yyn == YYTABLE_NINF)
3661 goto yyerrlab;
3662 yyn = -yyn;
3663 goto yyreduce;
3664 }
3665
3666 if (yyn == YYFINAL)
3667 YYACCEPT;
3668
3669 /* Count tokens shifted since error; after three, turn off error
3670 status. */
3671 if (yyerrstatus)
3672 yyerrstatus--;
3673
3674 /* Shift the look-ahead token. */
3675 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3676
3677 /* Discard the shifted token unless it is eof. */
3678 if (yychar != YYEOF)
3679 yychar = YYEMPTY;
3680
3681 yystate = yyn;
3682 *++yyvsp = yylval;
3683
3684 goto yynewstate;
3685
3686
3687 /*-----------------------------------------------------------.
3688 | yydefault -- do the default action for the current state. |
3689 `-----------------------------------------------------------*/
3690 yydefault:
3691 yyn = yydefact[yystate];
3692 if (yyn == 0)
3693 goto yyerrlab;
3694 goto yyreduce;
3695
3696
3697 /*-----------------------------.
3698 | yyreduce -- Do a reduction. |
3699 `-----------------------------*/
3700 yyreduce:
3701 /* yyn is the number of a rule to reduce with. */
3702 yylen = yyr2[yyn];
3703
3704 /* If YYLEN is nonzero, implement the default value of the action:
3705 `$$ = $1'.
3706
3707 Otherwise, the following line sets YYVAL to garbage.
3708 This behavior is undocumented and Bison
3709 users should not rely upon it. Assigning to YYVAL
3710 unconditionally makes the parser a bit smaller, and it avoids a
3711 GCC warning that YYVAL may be used uninitialized. */
3712 yyval = yyvsp[1-yylen];
3713
3714
3715 YY_REDUCE_PRINT (yyn);
3716 switch (yyn)
3717 {
3718 case 4:
3719 #line 101 "lscp.y"
3720 { return LSCP_DONE; }
3721 break;
3722
3723 case 5:
3724 #line 102 "lscp.y"
3725 { return LSCP_DONE; }
3726 break;
3727
3728 case 6:
3729 #line 103 "lscp.y"
3730 { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3731 break;
3732
3733 case 7:
3734 #line 104 "lscp.y"
3735 { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3736 break;
3737
3738 case 13:
3739 #line 114 "lscp.y"
3740 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3741 break;
3742
3743 case 14:
3744 #line 115 "lscp.y"
3745 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3746 break;
3747
3748 case 15:
3749 #line 116 "lscp.y"
3750 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3751 break;
3752
3753 case 16:
3754 #line 117 "lscp.y"
3755 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3756 break;
3757
3758 case 17:
3759 #line 118 "lscp.y"
3760 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3761 break;
3762
3763 case 18:
3764 #line 119 "lscp.y"
3765 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3766 break;
3767
3768 case 19:
3769 #line 120 "lscp.y"
3770 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3771 break;
3772
3773 case 20:
3774 #line 121 "lscp.y"
3775 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3776 break;
3777
3778 case 21:
3779 #line 122 "lscp.y"
3780 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3781 break;
3782
3783 case 22:
3784 #line 123 "lscp.y"
3785 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3786 break;
3787
3788 case 23:
3789 #line 124 "lscp.y"
3790 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3791 break;
3792
3793 case 24:
3794 #line 125 "lscp.y"
3795 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3796 break;
3797
3798 case 25:
3799 #line 126 "lscp.y"
3800 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3801 break;
3802
3803 case 26:
3804 #line 127 "lscp.y"
3805 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3806 break;
3807
3808 case 27:
3809 #line 128 "lscp.y"
3810 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3811 break;
3812
3813 case 28:
3814 #line 129 "lscp.y"
3815 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3816 break;
3817
3818 case 29:
3819 #line 130 "lscp.y"
3820 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3821 break;
3822
3823 case 30:
3824 #line 131 "lscp.y"
3825 { (yyval.String) = LSCPSERVER->ResetSampler(); }
3826 break;
3827
3828 case 31:
3829 #line 132 "lscp.y"
3830 { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3831 break;
3832
3833 case 32:
3834 #line 135 "lscp.y"
3835 { (yyval.String) = LSCPSERVER->AddChannel(); }
3836 break;
3837
3838 case 33:
3839 #line 136 "lscp.y"
3840 { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String)); }
3841 break;
3842
3843 case 34:
3844 #line 137 "lscp.y"
3845 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (9)].String),(yyvsp[(7) - (9)].String),(yyvsp[(9) - (9)].String), true); }
3846 break;
3847
3848 case 35:
3849 #line 138 "lscp.y"
3850 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
3851 break;
3852
3853 case 36:
3854 #line 139 "lscp.y"
3855 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String), -1, true); }
3856 break;
3857
3858 case 37:
3859 #line 140 "lscp.y"
3860 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (9)].String),(yyvsp[(7) - (9)].String),(yyvsp[(9) - (9)].Number), true); }
3861 break;
3862
3863 case 38:
3864 #line 141 "lscp.y"
3865 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
3866 break;
3867
3868 case 39:
3869 #line 142 "lscp.y"
3870 { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number)); }
3871 break;
3872
3873 case 40:
3874 #line 143 "lscp.y"
3875 { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap(); }
3876 break;
3877
3878 case 41:
3879 #line 144 "lscp.y"
3880 { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String)); }
3881 break;
3882
3883 case 42:
3884 #line 147 "lscp.y"
3885 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count); }
3886 break;
3887
3888 case 43:
3889 #line 148 "lscp.y"
3890 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info); }
3891 break;
3892
3893 case 44:
3894 #line 149 "lscp.y"
3895 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count); }
3896 break;
3897
3898 case 45:
3899 #line 150 "lscp.y"
3900 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info); }
3901 break;
3902
3903 case 46:
3904 #line 151 "lscp.y"
3905 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }
3906 break;
3907
3908 case 47:
3909 #line 152 "lscp.y"
3910 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); }
3911 break;
3912
3913 case 48:
3914 #line 153 "lscp.y"
3915 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
3916 break;
3917
3918 case 49:
3919 #line 154 "lscp.y"
3920 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); }
3921 break;
3922
3923 case 50:
3924 #line 155 "lscp.y"
3925 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info); }
3926 break;
3927
3928 case 51:
3929 #line 156 "lscp.y"
3930 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count); }
3931 break;
3932
3933 case 52:
3934 #line 157 "lscp.y"
3935 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info); }
3936 break;
3937
3938 case 53:
3939 #line 158 "lscp.y"
3940 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3941 break;
3942
3943 case 54:
3944 #line 159 "lscp.y"
3945 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info); }
3946 break;
3947
3948 case 55:
3949 #line 160 "lscp.y"
3950 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count); }
3951 break;
3952
3953 case 56:
3954 #line 161 "lscp.y"
3955 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info); }
3956 break;
3957
3958 case 57:
3959 #line 162 "lscp.y"
3960 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count); }
3961 break;
3962
3963 case 58:
3964 #line 163 "lscp.y"
3965 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info); }
3966 break;
3967
3968 case 59:
3969 #line 164 "lscp.y"
3970 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count); }
3971 break;
3972
3973 case 60:
3974 #line 165 "lscp.y"
3975 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info); }
3976 break;
3977
3978 case 61:
3979 #line 166 "lscp.y"
3980 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instrs_job_info); }
3981 break;
3982
3983 case 62:
3984 #line 167 "lscp.y"
3985 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); }
3986 break;
3987
3988 case 63:
3989 #line 168 "lscp.y"
3990 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }
3991 break;
3992
3993 case 64:
3994 #line 169 "lscp.y"
3995 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info); }
3996 break;
3997
3998 case 65:
3999 #line 172 "lscp.y"
4000 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count); }
4001 break;
4002
4003 case 66:
4004 #line 173 "lscp.y"
4005 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info); }
4006 break;
4007
4008 case 67:
4009 #line 174 "lscp.y"
4010 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count); }
4011 break;
4012
4013 case 68:
4014 #line 175 "lscp.y"
4015 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info); }
4016 break;
4017
4018 case 69:
4019 #line 176 "lscp.y"
4020 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }
4021 break;
4022
4023 case 70:
4024 #line 177 "lscp.y"
4025 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); }
4026 break;
4027
4028 case 71:
4029 #line 178 "lscp.y"
4030 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
4031 break;
4032
4033 case 72:
4034 #line 179 "lscp.y"
4035 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); }
4036 break;
4037
4038 case 73:
4039 #line 180 "lscp.y"
4040 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info); }
4041 break;
4042
4043 case 74:
4044 #line 181 "lscp.y"
4045 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count); }
4046 break;
4047
4048 case 75:
4049 #line 182 "lscp.y"
4050 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info); }
4051 break;
4052
4053 case 76:
4054 #line 183 "lscp.y"
4055 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
4056 break;
4057
4058 case 77:
4059 #line 184 "lscp.y"
4060 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info); }
4061 break;
4062
4063 case 78:
4064 #line 185 "lscp.y"
4065 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count); }
4066 break;
4067
4068 case 79:
4069 #line 186 "lscp.y"
4070 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info); }
4071 break;
4072
4073 case 80:
4074 #line 187 "lscp.y"
4075 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count); }
4076 break;
4077
4078 case 81:
4079 #line 188 "lscp.y"
4080 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info); }
4081 break;
4082
4083 case 82:
4084 #line 189 "lscp.y"
4085 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count); }
4086 break;
4087
4088 case 83:
4089 #line 190 "lscp.y"
4090 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info); }
4091 break;
4092
4093 case 84:
4094 #line 191 "lscp.y"
4095 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instrs_job_info); }
4096 break;
4097
4098 case 85:
4099 #line 192 "lscp.y"
4100 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); }
4101 break;
4102
4103 case 86:
4104 #line 193 "lscp.y"
4105 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }
4106 break;
4107
4108 case 87:
4109 #line 194 "lscp.y"
4110 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info); }
4111 break;
4112
4113 case 88:
4114 #line 197 "lscp.y"
4115 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
4116 break;
4117
4118 case 89:
4119 #line 198 "lscp.y"
4120 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
4121 break;
4122
4123 case 90:
4124 #line 199 "lscp.y"
4125 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
4126 break;
4127
4128 case 91:
4129 #line 200 "lscp.y"
4130 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
4131 break;
4132
4133 case 92:
4134 #line 203 "lscp.y"
4135 { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
4136 break;
4137
4138 case 93:
4139 #line 206 "lscp.y"
4140 { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number)); }
4141 break;
4142
4143 case 94:
4144 #line 207 "lscp.y"
4145 { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number)); }
4146 break;
4147
4148 case 95:
4149 #line 208 "lscp.y"
4150 { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
4151 break;
4152
4153 case 96:
4154 #line 209 "lscp.y"
4155 { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
4156 break;
4157
4158 case 97:
4159 #line 210 "lscp.y"
4160 { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String)); }
4161 break;
4162
4163 case 98:
4164 #line 211 "lscp.y"
4165 { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String)); }
4166 break;
4167
4168 case 99:
4169 #line 214 "lscp.y"
4170 { (yyval.String) = LSCPSERVER->GetAvailableEngines(); }
4171 break;
4172
4173 case 100:
4174 #line 215 "lscp.y"
4175 { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers(); }
4176 break;
4177
4178 case 101:
4179 #line 216 "lscp.y"
4180 { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String)); }
4181 break;
4182
4183 case 102:
4184 #line 217 "lscp.y"
4185 { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
4186 break;
4187
4188 case 103:
4189 #line 218 "lscp.y"
4190 { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList)); }
4191 break;
4192
4193 case 104:
4194 #line 219 "lscp.y"
4195 { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers(); }
4196 break;
4197
4198 case 105:
4199 #line 220 "lscp.y"
4200 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String)); }
4201 break;
4202
4203 case 106:
4204 #line 221 "lscp.y"
4205 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
4206 break;
4207
4208 case 107:
4209 #line 222 "lscp.y"
4210 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList)); }
4211 break;
4212
4213 case 108:
4214 #line 223 "lscp.y"
4215 { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount(); }
4216 break;
4217
4218 case 109:
4219 #line 224 "lscp.y"
4220 { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount(); }
4221 break;
4222
4223 case 110:
4224 #line 225 "lscp.y"
4225 { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number)); }
4226 break;
4227
4228 case 111:
4229 #line 226 "lscp.y"
4230 { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number)); }
4231 break;
4232
4233 case 112:
4234 #line 227 "lscp.y"
4235 { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number)); }
4236 break;
4237
4238 case 113:
4239 #line 228 "lscp.y"
4240 { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4241 break;
4242
4243 case 114:
4244 #line 229 "lscp.y"
4245 { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number)); }
4246 break;
4247
4248 case 115:
4249 #line 230 "lscp.y"
4250 { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4251 break;
4252
4253 case 116:
4254 #line 231 "lscp.y"
4255 { (yyval.String) = LSCPSERVER->GetChannels(); }
4256 break;
4257
4258 case 117:
4259 #line 232 "lscp.y"
4260 { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number)); }
4261 break;
4262
4263 case 118:
4264 #line 233 "lscp.y"
4265 { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number)); }
4266 break;
4267
4268 case 119:
4269 #line 234 "lscp.y"
4270 { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number)); }
4271 break;
4272
4273 case 120:
4274 #line 235 "lscp.y"
4275 { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number)); }
4276 break;
4277
4278 case 121:
4279 #line 236 "lscp.y"
4280 { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String)); }
4281 break;
4282
4283 case 122:
4284 #line 237 "lscp.y"
4285 { (yyval.String) = LSCPSERVER->GetServerInfo(); }
4286 break;
4287
4288 case 123:
4289 #line 238 "lscp.y"
4290 { (yyval.String) = LSCPSERVER->GetTotalVoiceCount(); }
4291 break;
4292
4293 case 124:
4294 #line 239 "lscp.y"
4295 { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax(); }
4296 break;
4297
4298 case 125:
4299 #line 240 "lscp.y"
4300 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number)); }
4301 break;
4302
4303 case 126:
4304 #line 241 "lscp.y"
4305 { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings(); }
4306 break;
4307
4308 case 127:
4309 #line 242 "lscp.y"
4310 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number)); }
4311 break;
4312
4313 case 128:
4314 #line 243 "lscp.y"
4315 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps(); }
4316 break;
4317
4318 case 129:
4319 #line 244 "lscp.y"
4320 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number)); }
4321 break;
4322
4323 case 130:
4324 #line 245 "lscp.y"
4325 { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number)); }
4326 break;
4327
4328 case 131:
4329 #line 246 "lscp.y"
4330 { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
4331 break;
4332
4333 case 132:
4334 #line 247 "lscp.y"
4335 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(5) - (5)].String), true); }
4336 break;
4337
4338 case 133:
4339 #line 248 "lscp.y"
4340 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String), false); }
4341 break;
4342
4343 case 134:
4344 #line 249 "lscp.y"
4345 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String)); }
4346 break;
4347
4348 case 135:
4349 #line 250 "lscp.y"
4350 { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(5) - (5)].String), true); }
4351 break;
4352
4353 case 136:
4354 #line 251 "lscp.y"
4355 { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String), false); }
4356 break;
4357
4358 case 137:
4359 #line 252 "lscp.y"
4360 { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String)); }
4361 break;
4362
4363 case 138:
4364 #line 253 "lscp.y"
4365 { (yyval.String) = LSCPSERVER->GetDbInstrumentsJobInfo((yyvsp[(5) - (5)].Number)); }
4366 break;
4367
4368 case 139:
4369 #line 254 "lscp.y"
4370 { (yyval.String) = LSCPSERVER->GetGlobalVolume(); }
4371 break;
4372
4373 case 140:
4374 #line 257 "lscp.y"
4375 { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
4376 break;
4377
4378 case 141:
4379 #line 258 "lscp.y"
4380 { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4381 break;
4382
4383 case 142:
4384 #line 259 "lscp.y"
4385 { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
4386 break;
4387
4388 case 143:
4389 #line 260 "lscp.y"
4390 { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4391 break;
4392
4393 case 144:
4394 #line 261 "lscp.y"
4395 { (yyval.String) = (yyvsp[(3) - (3)].String); }
4396 break;
4397
4398 case 145:
4399 #line 262 "lscp.y"
4400 { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String)); }
4401 break;
4402
4403 case 146:
4404 #line 263 "lscp.y"
4405 { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String)); }
4406 break;
4407
4408 case 147:
4409 #line 264 "lscp.y"
4410 { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4411 break;
4412
4413 case 148:
4414 #line 265 "lscp.y"
4415 { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number)); }
4416 break;
4417
4418 case 149:
4419 #line 266 "lscp.y"
4420 { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum)); }
4421 break;
4422
4423 case 150:
4424 #line 267 "lscp.y"
4425 { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4426 break;
4427
4428 case 151:
4429 #line 268 "lscp.y"
4430 { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4431 break;
4432
4433 case 152:
4434 #line 269 "lscp.y"
4435 { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4436 break;
4437
4438 case 153:
4439 #line 270 "lscp.y"
4440 { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String)); }
4441 break;
4442
4443 case 154:
4444 #line 271 "lscp.y"
4445 { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum)); }
4446 break;
4447
4448 case 155:
4449 #line 272 "lscp.y"
4450 { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum)); }
4451 break;
4452
4453 case 156:
4454 #line 275 "lscp.y"
4455 { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4456 break;
4457
4458 case 157:
4459 #line 276 "lscp.y"
4460 { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String)); }
4461 break;
4462
4463 case 158:
4464 #line 277 "lscp.y"
4465 { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4466 break;
4467
4468 case 159:
4469 #line 278 "lscp.y"
4470 { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String)); }
4471 break;
4472
4473 case 160:
4474 #line 279 "lscp.y"
4475 { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4476 break;
4477
4478 case 161:
4479 #line 280 "lscp.y"
4480 { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4481 break;
4482
4483 case 162:
4484 #line 283 "lscp.y"
4485 { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4486 break;
4487
4488 case 163:
4489 #line 286 "lscp.y"
4490 { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number)); }
4491 break;
4492
4493 case 164:
4494 #line 287 "lscp.y"
4495 { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4496 break;
4497
4498 case 165:
4499 #line 290 "lscp.y"
4500 { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false); }
4501 break;
4502
4503 case 166:
4504 #line 291 "lscp.y"
4505 { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true); }
4506 break;
4507
4508 case 167:
4509 #line 292 "lscp.y"
4510 { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false); }
4511 break;
4512
4513 case 168:
4514 #line 293 "lscp.y"
4515 { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true); }
4516 break;
4517
4518 case 169:
4519 #line 296 "lscp.y"
4520 { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4521 break;
4522
4523 case 170:
4524 #line 297 "lscp.y"
4525 { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4526 break;
4527
4528 case 171:
4529 #line 300 "lscp.y"
4530 { (yyval.String) = LSCPSERVER->CopyDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4531 break;
4532
4533 case 172:
4534 #line 301 "lscp.y"
4535 { (yyval.String) = LSCPSERVER->CopyDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4536 break;
4537
4538 case 173:
4539 #line 304 "lscp.y"
4540 { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4541 break;
4542
4543 case 174:
4544 #line 305 "lscp.y"
4545 { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number)); }
4546 break;
4547
4548 case 175:
4549 #line 306 "lscp.y"
4550 { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4551 break;
4552
4553 case 176:
4554 #line 309 "lscp.y"
4555 { (yyval.String) = (yyvsp[(3) - (3)].String); }
4556 break;
4557
4558 case 177:
4559 #line 310 "lscp.y"
4560 { (yyval.String) = (yyvsp[(3) - (3)].String); }
4561 break;
4562
4563 case 178:
4564 #line 313 "lscp.y"
4565 { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4566 break;
4567
4568 case 179:
4569 #line 314 "lscp.y"
4570 { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4571 break;
4572
4573 case 180:
4574 #line 315 "lscp.y"
4575 { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number)); }
4576 break;
4577
4578 case 181:
4579 #line 316 "lscp.y"
4580 { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number)); }
4581 break;
4582
4583 case 182:
4584 #line 317 "lscp.y"
4585 { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4586 break;
4587
4588 case 183:
4589 #line 318 "lscp.y"
4590 { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4591 break;
4592
4593 case 184:
4594 #line 319 "lscp.y"
4595 { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
4596 break;
4597
4598 case 185:
4599 #line 320 "lscp.y"
4600 { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number)); }
4601 break;
4602
4603 case 186:
4604 #line 321 "lscp.y"
4605 { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
4606 break;
4607
4608 case 187:
4609 #line 322 "lscp.y"
4610 { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
4611 break;
4612
4613 case 188:
4614 #line 323 "lscp.y"
4615 { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
4616 break;
4617
4618 case 189:
4619 #line 324 "lscp.y"
4620 { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number)); }
4621 break;
4622
4623 case 190:
4624 #line 325 "lscp.y"
4625 { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1); }
4626 break;
4627
4628 case 191:
4629 #line 326 "lscp.y"
4630 { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2); }
4631 break;
4632
4633 case 192:
4634 #line 329 "lscp.y"
4635 { (yyval.Bool) = true; }
4636 break;
4637
4638 case 193:
4639 #line 330 "lscp.y"
4640 { (yyval.Bool) = false; }
4641 break;
4642
4643 case 194:
4644 #line 333 "lscp.y"
4645 { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String); }
4646 break;
4647
4648 case 195:
4649 #line 334 "lscp.y"
4650 { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4651 break;
4652
4653 case 196:
4654 #line 337 "lscp.y"
4655 { (yyval.FillResponse) = fill_response_bytes; }
4656 break;
4657
4658 case 197:
4659 #line 338 "lscp.y"
4660 { (yyval.FillResponse) = fill_response_percentage; }
4661 break;
4662
4663 case 198:
4664 #line 341 "lscp.y"
4665 { (yyval.String) = LSCPSERVER->GetAudioOutputDevices(); }
4666 break;
4667
4668 case 199:
4669 #line 342 "lscp.y"
4670 { (yyval.String) = LSCPSERVER->GetMidiInputDevices(); }
4671 break;
4672
4673 case 200:
4674 #line 343 "lscp.y"
4675 { (yyval.String) = LSCPSERVER->ListChannels(); }
4676 break;
4677
4678 case 201:
4679 #line 344 "lscp.y"
4680 { (yyval.String) = LSCPSERVER->ListAvailableEngines(); }
4681 break;
4682
4683 case 202:
4684 #line 345 "lscp.y"
4685 { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers(); }
4686 break;
4687
4688 case 203:
4689 #line 346 "lscp.y"
4690 { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4691 break;
4692
4693 case 204:
4694 #line 347 "lscp.y"
4695 { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number)); }
4696 break;
4697
4698 case 205:
4699 #line 348 "lscp.y"
4700 { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings(); }
4701 break;
4702
4703 case 206:
4704 #line 349 "lscp.y"
4705 { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps(); }
4706 break;
4707
4708 case 207:
4709 #line 350 "lscp.y"
4710 { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number)); }
4711 break;
4712
4713 case 208:
4714 #line 351 "lscp.y"
4715 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(5) - (5)].String), true); }
4716 break;
4717
4718 case 209:
4719 #line 352 "lscp.y"
4720 { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String)); }
4721 break;
4722
4723 case 210:
4724 #line 353 "lscp.y"
4725 { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(5) - (5)].String), true); }
4726 break;
4727
4728 case 211:
4729 #line 354 "lscp.y"
4730 { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String)); }
4731 break;
4732
4733 case 212:
4734 #line 357 "lscp.y"
4735 { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number)); }
4736 break;
4737
4738 case 213:
4739 #line 358 "lscp.y"
4740 { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4741 break;
4742
4743 case 214:
4744 #line 361 "lscp.y"
4745 { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4746 break;
4747
4748 case 215:
4749 #line 364 "lscp.y"
4750 { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND; }
4751 break;
4752
4753 case 216:
4754 #line 365 "lscp.y"
4755 { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4756 break;
4757
4758 case 217:
4759 #line 366 "lscp.y"
4760 { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT; }
4761 break;
4762
4763 case 223:
4764 #line 382 "lscp.y"
4765 { (yyval.Number) = 16; }
4766 break;
4767
4768 case 230:
4769 #line 401 "lscp.y"
4770 { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4771 break;
4772
4773 case 242:
4774 #line 435 "lscp.y"
4775 { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
4776 break;
4777
4778 case 245:
4779 #line 440 "lscp.y"
4780 { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4781 break;
4782
4783 case 246:
4784 #line 441 "lscp.y"
4785 { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4786 break;
4787
4788 case 247:
4789 #line 444 "lscp.y"
4790 { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String); }
4791 break;
4792
4793 case 248:
4794 #line 445 "lscp.y"
4795 { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4796 break;
4797
4798 case 251:
4799 #line 452 "lscp.y"
4800 { (yyval.String) = "RECURSIVE"; }
4801 break;
4802
4803 case 252:
4804 #line 453 "lscp.y"
4805 { (yyval.String) = "NON_RECURSIVE"; }
4806 break;
4807
4808 case 253:
4809 #line 454 "lscp.y"
4810 { (yyval.String) = "FLAT"; }
4811 break;
4812
4813 case 254:
4814 #line 462 "lscp.y"
4815 { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4816 break;
4817
4818 case 255:
4819 #line 463 "lscp.y"
4820 { (yyval.Dotnum) = -1; }
4821 break;
4822
4823 case 256:
4824 #line 466 "lscp.y"
4825 { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4826 break;
4827
4828 case 257:
4829 #line 467 "lscp.y"
4830 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4831 break;
4832
4833 case 258:
4834 #line 470 "lscp.y"
4835 { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str()); }
4836 break;
4837
4838 case 259:
4839 #line 471 "lscp.y"
4840 { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4841 break;
4842
4843 case 260:
4844 #line 472 "lscp.y"
4845 { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str()); }
4846 break;
4847
4848 case 261:
4849 #line 476 "lscp.y"
4850 { (yyval.String) = (yyvsp[(1) - (1)].Char); }
4851 break;
4852
4853 case 262:
4854 #line 477 "lscp.y"
4855 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4856 break;
4857
4858 case 263:
4859 #line 480 "lscp.y"
4860 { (yyval.Char) = '0'; }
4861 break;
4862
4863 case 264:
4864 #line 481 "lscp.y"
4865 { (yyval.Char) = '1'; }
4866 break;
4867
4868 case 265:
4869 #line 482 "lscp.y"
4870 { (yyval.Char) = '2'; }
4871 break;
4872
4873 case 266:
4874 #line 483 "lscp.y"
4875 { (yyval.Char) = '3'; }
4876 break;
4877
4878 case 267:
4879 #line 484 "lscp.y"
4880 { (yyval.Char) = '4'; }
4881 break;
4882
4883 case 268:
4884 #line 485 "lscp.y"
4885 { (yyval.Char) = '5'; }
4886 break;
4887
4888 case 269:
4889 #line 486 "lscp.y"
4890 { (yyval.Char) = '6'; }
4891 break;
4892
4893 case 270:
4894 #line 487 "lscp.y"
4895 { (yyval.Char) = '7'; }
4896 break;
4897
4898 case 271:
4899 #line 488 "lscp.y"
4900 { (yyval.Char) = '8'; }
4901 break;
4902
4903 case 272:
4904 #line 489 "lscp.y"
4905 { (yyval.Char) = '9'; }
4906 break;
4907
4908 case 273:
4909 #line 492 "lscp.y"
4910 { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str()); }
4911 break;
4912
4913 case 274:
4914 #line 493 "lscp.y"
4915 { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4916 break;
4917
4918 case 275:
4919 #line 494 "lscp.y"
4920 { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4921 break;
4922
4923 case 276:
4924 #line 495 "lscp.y"
4925 { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4926 break;
4927
4928 case 277:
4929 #line 496 "lscp.y"
4930 { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4931 break;
4932
4933 case 278:
4934 #line 497 "lscp.y"
4935 { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4936 break;
4937
4938 case 279:
4939 #line 498 "lscp.y"
4940 { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4941 break;
4942
4943 case 280:
4944 #line 499 "lscp.y"
4945 { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4946 break;
4947
4948 case 281:
4949 #line 500 "lscp.y"
4950 { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4951 break;
4952
4953 case 282:
4954 #line 501 "lscp.y"
4955 { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4956 break;
4957
4958 case 283:
4959 #line 503 "lscp.y"
4960 { (yyval.Char) = 'A'; }
4961 break;
4962
4963 case 284:
4964 #line 503 "lscp.y"
4965 { (yyval.Char) = 'B'; }
4966 break;
4967
4968 case 285:
4969 #line 503 "lscp.y"
4970 { (yyval.Char) = 'C'; }
4971 break;
4972
4973 case 286:
4974 #line 503 "lscp.y"
4975 { (yyval.Char) = 'D'; }
4976 break;
4977
4978 case 287:
4979 #line 503 "lscp.y"
4980 { (yyval.Char) = 'E'; }
4981 break;
4982
4983 case 288:
4984 #line 503 "lscp.y"
4985 { (yyval.Char) = 'F'; }
4986 break;
4987
4988 case 289:
4989 #line 503 "lscp.y"
4990 { (yyval.Char) = 'G'; }
4991 break;
4992
4993 case 290:
4994 #line 503 "lscp.y"
4995 { (yyval.Char) = 'H'; }
4996 break;
4997
4998 case 291:
4999 #line 503 "lscp.y"
5000 { (yyval.Char) = 'I'; }
5001 break;
5002
5003 case 292:
5004 #line 503 "lscp.y"
5005 { (yyval.Char) = 'J'; }
5006 break;
5007
5008 case 293:
5009 #line 503 "lscp.y"
5010 { (yyval.Char) = 'K'; }
5011 break;
5012
5013 case 294:
5014 #line 503 "lscp.y"
5015 { (yyval.Char) = 'L'; }
5016 break;
5017
5018 case 295:
5019 #line 503 "lscp.y"
5020 { (yyval.Char) = 'M'; }
5021 break;
5022
5023 case 296:
5024 #line 503 "lscp.y"
5025 { (yyval.Char) = 'N'; }
5026 break;
5027
5028 case 297:
5029 #line 503 "lscp.y"
5030 { (yyval.Char) = 'O'; }
5031 break;
5032
5033 case 298:
5034 #line 503 "lscp.y"
5035 { (yyval.Char) = 'P'; }
5036 break;
5037
5038 case 299:
5039 #line 503 "lscp.y"
5040 { (yyval.Char) = 'Q'; }
5041 break;
5042
5043 case 300:
5044 #line 503 "lscp.y"
5045 { (yyval.Char) = 'R'; }
5046 break;
5047
5048 case 301:
5049 #line 503 "lscp.y"
5050 { (yyval.Char) = 'S'; }
5051 break;
5052
5053 case 302:
5054 #line 503 "lscp.y"
5055 { (yyval.Char) = 'T'; }
5056 break;
5057
5058 case 303:
5059 #line 503 "lscp.y"
5060 { (yyval.Char) = 'U'; }
5061 break;
5062
5063 case 304:
5064 #line 503 "lscp.y"
5065 { (yyval.Char) = 'V'; }
5066 break;
5067
5068 case 305:
5069 #line 503 "lscp.y"
5070 { (yyval.Char) = 'W'; }
5071 break;
5072
5073 case 306:
5074 #line 503 "lscp.y"
5075 { (yyval.Char) = 'X'; }
5076 break;
5077
5078 case 307:
5079 #line 503 "lscp.y"
5080 { (yyval.Char) = 'Y'; }
5081 break;
5082
5083 case 308:
5084 #line 503 "lscp.y"
5085 { (yyval.Char) = 'Z'; }
5086 break;
5087
5088 case 309:
5089 #line 504 "lscp.y"
5090 { (yyval.Char) = 'a'; }
5091 break;
5092
5093 case 310:
5094 #line 504 "lscp.y"
5095 { (yyval.Char) = 'b'; }
5096 break;
5097
5098 case 311:
5099 #line 504 "lscp.y"
5100 { (yyval.Char) = 'c'; }
5101 break;
5102
5103 case 312:
5104 #line 504 "lscp.y"
5105 { (yyval.Char) = 'd'; }
5106 break;
5107
5108 case 313:
5109 #line 504 "lscp.y"
5110 { (yyval.Char) = 'e'; }
5111 break;
5112
5113 case 314:
5114 #line 504 "lscp.y"
5115 { (yyval.Char) = 'f'; }
5116 break;
5117
5118 case 315:
5119 #line 504 "lscp.y"
5120 { (yyval.Char) = 'g'; }
5121 break;
5122
5123 case 316:
5124 #line 504 "lscp.y"
5125 { (yyval.Char) = 'h'; }
5126 break;
5127
5128 case 317:
5129 #line 504 "lscp.y"
5130 { (yyval.Char) = 'i'; }
5131 break;
5132
5133 case 318:
5134 #line 504 "lscp.y"
5135 { (yyval.Char) = 'j'; }
5136 break;
5137
5138 case 319:
5139 #line 504 "lscp.y"
5140 { (yyval.Char) = 'k'; }
5141 break;
5142
5143 case 320:
5144 #line 504 "lscp.y"
5145 { (yyval.Char) = 'l'; }
5146 break;
5147
5148 case 321:
5149 #line 504 "lscp.y"
5150 { (yyval.Char) = 'm'; }
5151 break;
5152
5153 case 322:
5154 #line 504 "lscp.y"
5155 { (yyval.Char) = 'n'; }
5156 break;
5157
5158 case 323:
5159 #line 504 "lscp.y"
5160 { (yyval.Char) = 'o'; }
5161 break;
5162
5163 case 324:
5164 #line 504 "lscp.y"
5165 { (yyval.Char) = 'p'; }
5166 break;
5167
5168 case 325:
5169 #line 504 "lscp.y"
5170 { (yyval.Char) = 'q'; }
5171 break;
5172
5173 case 326:
5174 #line 504 "lscp.y"
5175 { (yyval.Char) = 'r'; }
5176 break;
5177
5178 case 327:
5179 #line 504 "lscp.y"
5180 { (yyval.Char) = 's'; }
5181 break;
5182
5183 case 328:
5184 #line 504 "lscp.y"
5185 { (yyval.Char) = 't'; }
5186 break;
5187
5188 case 329:
5189 #line 504 "lscp.y"
5190 { (yyval.Char) = 'u'; }
5191 break;
5192
5193 case 330:
5194 #line 504 "lscp.y"
5195 { (yyval.Char) = 'v'; }
5196 break;
5197
5198 case 331:
5199 #line 504 "lscp.y"
5200 { (yyval.Char) = 'w'; }
5201 break;
5202
5203 case 332:
5204 #line 504 "lscp.y"
5205 { (yyval.Char) = 'x'; }
5206 break;
5207
5208 case 333:
5209 #line 504 "lscp.y"
5210 { (yyval.Char) = 'y'; }
5211 break;
5212
5213 case 334:
5214 #line 504 "lscp.y"
5215 { (yyval.Char) = 'z'; }
5216 break;
5217
5218 case 335:
5219 #line 505 "lscp.y"
5220 { (yyval.Char) = '0'; }
5221 break;
5222
5223 case 336:
5224 #line 505 "lscp.y"
5225 { (yyval.Char) = '1'; }
5226 break;
5227
5228 case 337:
5229 #line 505 "lscp.y"
5230 { (yyval.Char) = '2'; }
5231 break;
5232
5233 case 338:
5234 #line 505 "lscp.y"
5235 { (yyval.Char) = '3'; }
5236 break;
5237
5238 case 339:
5239 #line 505 "lscp.y"
5240 { (yyval.Char) = '4'; }
5241 break;
5242
5243 case 340:
5244 #line 505 "lscp.y"
5245 { (yyval.Char) = '5'; }
5246 break;
5247
5248 case 341:
5249 #line 505 "lscp.y"
5250 { (yyval.Char) = '6'; }
5251 break;
5252
5253 case 342:
5254 #line 505 "lscp.y"
5255 { (yyval.Char) = '7'; }
5256 break;
5257
5258 case 343:
5259 #line 505 "lscp.y"
5260 { (yyval.Char) = '8'; }
5261 break;
5262
5263 case 344:
5264 #line 505 "lscp.y"
5265 { (yyval.Char) = '9'; }
5266 break;
5267
5268 case 345:
5269 #line 506 "lscp.y"
5270 { (yyval.Char) = '!'; }
5271 break;
5272
5273 case 346:
5274 #line 506 "lscp.y"
5275 { (yyval.Char) = '#'; }
5276 break;
5277
5278 case 347:
5279 #line 506 "lscp.y"
5280 { (yyval.Char) = '$'; }
5281 break;
5282
5283 case 348:
5284 #line 506 "lscp.y"
5285 { (yyval.Char) = '%'; }
5286 break;
5287
5288 case 349:
5289 #line 506 "lscp.y"
5290 { (yyval.Char) = '&'; }
5291 break;
5292
5293 case 350:
5294 #line 506 "lscp.y"
5295 { (yyval.Char) = '('; }
5296 break;
5297
5298 case 351:
5299 #line 506 "lscp.y"
5300 { (yyval.Char) = ')'; }
5301 break;
5302
5303 case 352:
5304 #line 506 "lscp.y"
5305 { (yyval.Char) = '*'; }
5306 break;
5307
5308 case 353:
5309 #line 506 "lscp.y"
5310 { (yyval.Char) = '+'; }
5311 break;
5312
5313 case 354:
5314 #line 506 "lscp.y"
5315 { (yyval.Char) = '-'; }
5316 break;
5317
5318 case 355:
5319 #line 506 "lscp.y"
5320 { (yyval.Char) = '.'; }
5321 break;
5322
5323 case 356:
5324 #line 506 "lscp.y"
5325 { (yyval.Char) = ','; }
5326 break;
5327
5328 case 357:
5329 #line 506 "lscp.y"
5330 { (yyval.Char) = '/'; }
5331 break;
5332
5333 case 358:
5334 #line 507 "lscp.y"
5335 { (yyval.Char) = ':'; }
5336 break;
5337
5338 case 359:
5339 #line 507 "lscp.y"
5340 { (yyval.Char) = ';'; }
5341 break;
5342
5343 case 360:
5344 #line 507 "lscp.y"
5345 { (yyval.Char) = '<'; }
5346 break;
5347
5348 case 361:
5349 #line 507 "lscp.y"
5350 { (yyval.Char) = '='; }
5351 break;
5352
5353 case 362:
5354 #line 507 "lscp.y"
5355 { (yyval.Char) = '>'; }
5356 break;
5357
5358 case 363:
5359 #line 507 "lscp.y"
5360 { (yyval.Char) = '?'; }
5361 break;
5362
5363 case 364:
5364 #line 507 "lscp.y"
5365 { (yyval.Char) = '@'; }
5366 break;
5367
5368 case 365:
5369 #line 508 "lscp.y"
5370 { (yyval.Char) = '['; }
5371 break;
5372
5373 case 366:
5374 #line 508 "lscp.y"
5375 { (yyval.Char) = '\\'; }
5376 break;
5377
5378 case 367:
5379 #line 508 "lscp.y"
5380 { (yyval.Char) = ']'; }
5381 break;
5382
5383 case 368:
5384 #line 508 "lscp.y"
5385 { (yyval.Char) = '^'; }
5386 break;
5387
5388 case 369:
5389 #line 508 "lscp.y"
5390 { (yyval.Char) = '_'; }
5391 break;
5392
5393 case 370:
5394 #line 509 "lscp.y"
5395 { (yyval.Char) = '{'; }
5396 break;
5397
5398 case 371:
5399 #line 509 "lscp.y"
5400 { (yyval.Char) = '|'; }
5401 break;
5402
5403 case 372:
5404 #line 509 "lscp.y"
5405 { (yyval.Char) = '}'; }
5406 break;
5407
5408 case 373:
5409 #line 509 "lscp.y"
5410 { (yyval.Char) = '~'; }
5411 break;
5412
5413 case 374:
5414 #line 510 "lscp.y"
5415 { (yyval.Char) = '\200'; }
5416 break;
5417
5418 case 375:
5419 #line 510 "lscp.y"
5420 { (yyval.Char) = '\201'; }
5421 break;
5422
5423 case 376:
5424 #line 510 "lscp.y"
5425 { (yyval.Char) = '\202'; }
5426 break;
5427
5428 case 377:
5429 #line 511 "lscp.y"
5430 { (yyval.Char) = '\203'; }
5431 break;
5432
5433 case 378:
5434 #line 511 "lscp.y"
5435 { (yyval.Char) = '\204'; }
5436 break;
5437
5438 case 379:
5439 #line 511 "lscp.y"
5440 { (yyval.Char) = '\205'; }
5441 break;
5442
5443 case 380:
5444 #line 512 "lscp.y"
5445 { (yyval.Char) = '\206'; }
5446 break;
5447
5448 case 381:
5449 #line 512 "lscp.y"
5450 { (yyval.Char) = '\207'; }
5451 break;
5452
5453 case 382:
5454 #line 512 "lscp.y"
5455 { (yyval.Char) = '\210'; }
5456 break;
5457
5458 case 383:
5459 #line 513 "lscp.y"
5460 { (yyval.Char) = '\211'; }
5461 break;
5462
5463 case 384:
5464 #line 513 "lscp.y"
5465 { (yyval.Char) = '\212'; }
5466 break;
5467
5468 case 385:
5469 #line 513 "lscp.y"
5470 { (yyval.Char) = '\213'; }
5471 break;
5472
5473 case 386:
5474 #line 514 "lscp.y"
5475 { (yyval.Char) = '\214'; }
5476 break;
5477
5478 case 387:
5479 #line 514 "lscp.y"
5480 { (yyval.Char) = '\215'; }
5481 break;
5482
5483 case 388:
5484 #line 514 "lscp.y"
5485 { (yyval.Char) = '\216'; }
5486 break;
5487
5488 case 389:
5489 #line 515 "lscp.y"
5490 { (yyval.Char) = '\217'; }
5491 break;
5492
5493 case 390:
5494 #line 515 "lscp.y"
5495 { (yyval.Char) = '\220'; }
5496 break;
5497
5498 case 391:
5499 #line 515 "lscp.y"
5500 { (yyval.Char) = '\221'; }
5501 break;
5502
5503 case 392:
5504 #line 516 "lscp.y"
5505 { (yyval.Char) = '\222'; }
5506 break;
5507
5508 case 393:
5509 #line 516 "lscp.y"
5510 { (yyval.Char) = '\223'; }
5511 break;
5512
5513 case 394:
5514 #line 516 "lscp.y"
5515 { (yyval.Char) = '\224'; }
5516 break;
5517
5518 case 395:
5519 #line 517 "lscp.y"
5520 { (yyval.Char) = '\225'; }
5521 break;
5522
5523 case 396:
5524 #line 517 "lscp.y"
5525 { (yyval.Char) = '\226'; }
5526 break;
5527
5528 case 397:
5529 #line 517 "lscp.y"
5530 { (yyval.Char) = '\227'; }
5531 break;
5532
5533 case 398:
5534 #line 518 "lscp.y"
5535 { (yyval.Char) = '\230'; }
5536 break;
5537
5538 case 399:
5539 #line 518 "lscp.y"
5540 { (yyval.Char) = '\231'; }
5541 break;
5542
5543 case 400:
5544 #line 518 "lscp.y"
5545 { (yyval.Char) = '\232'; }
5546 break;
5547
5548 case 401:
5549 #line 519 "lscp.y"
5550 { (yyval.Char) = '\233'; }
5551 break;
5552
5553 case 402:
5554 #line 519 "lscp.y"
5555 { (yyval.Char) = '\234'; }
5556 break;
5557
5558 case 403:
5559 #line 519 "lscp.y"
5560 { (yyval.Char) = '\235'; }
5561 break;
5562
5563 case 404:
5564 #line 520 "lscp.y"
5565 { (yyval.Char) = '\236'; }
5566 break;
5567
5568 case 405:
5569 #line 520 "lscp.y"
5570 { (yyval.Char) = '\237'; }
5571 break;
5572
5573 case 406:
5574 #line 520 "lscp.y"
5575 { (yyval.Char) = '\240'; }
5576 break;
5577
5578 case 407:
5579 #line 521 "lscp.y"
5580 { (yyval.Char) = '\241'; }
5581 break;
5582
5583 case 408:
5584 #line 521 "lscp.y"
5585 { (yyval.Char) = '\242'; }
5586 break;
5587
5588 case 409:
5589 #line 521 "lscp.y"
5590 { (yyval.Char) = '\243'; }
5591 break;
5592
5593 case 410:
5594 #line 522 "lscp.y"
5595 { (yyval.Char) = '\244'; }
5596 break;
5597
5598 case 411:
5599 #line 522 "lscp.y"
5600 { (yyval.Char) = '\245'; }
5601 break;
5602
5603 case 412:
5604 #line 522 "lscp.y"
5605 { (yyval.Char) = '\246'; }
5606 break;
5607
5608 case 413:
5609 #line 523 "lscp.y"
5610 { (yyval.Char) = '\247'; }
5611 break;
5612
5613 case 414:
5614 #line 523 "lscp.y"
5615 { (yyval.Char) = '\250'; }
5616 break;
5617
5618 case 415:
5619 #line 523 "lscp.y"
5620 { (yyval.Char) = '\251'; }
5621 break;
5622
5623 case 416:
5624 #line 524 "lscp.y"
5625 { (yyval.Char) = '\252'; }
5626 break;
5627
5628 case 417:
5629 #line 524 "lscp.y"
5630 { (yyval.Char) = '\253'; }
5631 break;
5632
5633 case 418:
5634 #line 524 "lscp.y"
5635 { (yyval.Char) = '\254'; }
5636 break;
5637
5638 case 419:
5639 #line 525 "lscp.y"
5640 { (yyval.Char) = '\255'; }
5641 break;
5642
5643 case 420:
5644 #line 525 "lscp.y"
5645 { (yyval.Char) = '\256'; }
5646 break;
5647
5648 case 421:
5649 #line 525 "lscp.y"
5650 { (yyval.Char) = '\257'; }
5651 break;
5652
5653 case 422:
5654 #line 526 "lscp.y"
5655 { (yyval.Char) = '\260'; }
5656 break;
5657
5658 case 423:
5659 #line 526 "lscp.y"
5660 { (yyval.Char) = '\261'; }
5661 break;
5662
5663 case 424:
5664 #line 526 "lscp.y"
5665 { (yyval.Char) = '\262'; }
5666 break;
5667
5668 case 425:
5669 #line 527 "lscp.y"
5670 { (yyval.Char) = '\263'; }
5671 break;
5672
5673 case 426:
5674 #line 527 "lscp.y"
5675 { (yyval.Char) = '\264'; }
5676 break;
5677
5678 case 427:
5679 #line 527 "lscp.y"
5680 { (yyval.Char) = '\265'; }
5681 break;
5682
5683 case 428:
5684 #line 528 "lscp.y"
5685 { (yyval.Char) = '\266'; }
5686 break;
5687
5688 case 429:
5689 #line 528 "lscp.y"
5690 { (yyval.Char) = '\267'; }
5691 break;
5692
5693 case 430:
5694 #line 528 "lscp.y"
5695 { (yyval.Char) = '\270'; }
5696 break;
5697
5698 case 431:
5699 #line 529 "lscp.y"
5700 { (yyval.Char) = '\271'; }
5701 break;
5702
5703 case 432:
5704 #line 529 "lscp.y"
5705 { (yyval.Char) = '\272'; }
5706 break;
5707
5708 case 433:
5709 #line 529 "lscp.y"
5710 { (yyval.Char) = '\273'; }
5711 break;
5712
5713 case 434:
5714 #line 530 "lscp.y"
5715 { (yyval.Char) = '\274'; }
5716 break;
5717
5718 case 435:
5719 #line 530 "lscp.y"
5720 { (yyval.Char) = '\275'; }
5721 break;
5722
5723 case 436:
5724 #line 530 "lscp.y"
5725 { (yyval.Char) = '\276'; }
5726 break;
5727
5728 case 437:
5729 #line 531 "lscp.y"
5730 { (yyval.Char) = '\277'; }
5731 break;
5732
5733 case 438:
5734 #line 531 "lscp.y"
5735 { (yyval.Char) = '\300'; }
5736 break;
5737
5738 case 439:
5739 #line 531 "lscp.y"
5740 { (yyval.Char) = '\301'; }
5741 break;
5742
5743 case 440:
5744 #line 532 "lscp.y"
5745 { (yyval.Char) = '\302'; }
5746 break;
5747
5748 case 441:
5749 #line 532 "lscp.y"
5750 { (yyval.Char) = '\303'; }
5751 break;
5752
5753 case 442:
5754 #line 532 "lscp.y"
5755 { (yyval.Char) = '\304'; }
5756 break;
5757
5758 case 443:
5759 #line 533 "lscp.y"
5760 { (yyval.Char) = '\305'; }
5761 break;
5762
5763 case 444:
5764 #line 533 "lscp.y"
5765 { (yyval.Char) = '\306'; }
5766 break;
5767
5768 case 445:
5769 #line 533 "lscp.y"
5770 { (yyval.Char) = '\307'; }
5771 break;
5772
5773 case 446:
5774 #line 534 "lscp.y"
5775 { (yyval.Char) = '\310'; }
5776 break;
5777
5778 case 447:
5779 #line 534 "lscp.y"
5780 { (yyval.Char) = '\311'; }
5781 break;
5782
5783 case 448:
5784 #line 534 "lscp.y"
5785 { (yyval.Char) = '\312'; }
5786 break;
5787
5788 case 449:
5789 #line 535 "lscp.y"
5790 { (yyval.Char) = '\313'; }
5791 break;
5792
5793 case 450:
5794 #line 535 "lscp.y"
5795 { (yyval.Char) = '\314'; }
5796 break;
5797
5798 case 451:
5799 #line 535 "lscp.y"
5800 { (yyval.Char) = '\315'; }
5801 break;
5802
5803 case 452:
5804 #line 536 "lscp.y"
5805 { (yyval.Char) = '\316'; }
5806 break;
5807
5808 case 453:
5809 #line 536 "lscp.y"
5810 { (yyval.Char) = '\317'; }
5811 break;
5812
5813 case 454:
5814 #line 536 "lscp.y"
5815 { (yyval.Char) = '\320'; }
5816 break;
5817
5818 case 455:
5819 #line 537 "lscp.y"
5820 { (yyval.Char) = '\321'; }
5821 break;
5822
5823 case 456:
5824 #line 537 "lscp.y"
5825 { (yyval.Char) = '\322'; }
5826 break;
5827
5828 case 457:
5829 #line 537 "lscp.y"
5830 { (yyval.Char) = '\323'; }
5831 break;
5832
5833 case 458:
5834 #line 538 "lscp.y"
5835 { (yyval.Char) = '\324'; }
5836 break;
5837
5838 case 459:
5839 #line 538 "lscp.y"
5840 { (yyval.Char) = '\325'; }
5841 break;
5842
5843 case 460:
5844 #line 538 "lscp.y"
5845 { (yyval.Char) = '\326'; }
5846 break;
5847
5848 case 461:
5849 #line 539 "lscp.y"
5850 { (yyval.Char) = '\327'; }
5851 break;
5852
5853 case 462:
5854 #line 539 "lscp.y"
5855 { (yyval.Char) = '\330'; }
5856 break;
5857
5858 case 463:
5859 #line 539 "lscp.y"
5860 { (yyval.Char) = '\331'; }
5861 break;
5862
5863 case 464:
5864 #line 540 "lscp.y"
5865 { (yyval.Char) = '\332'; }
5866 break;
5867
5868 case 465:
5869 #line 540 "lscp.y"
5870 { (yyval.Char) = '\333'; }
5871 break;
5872
5873 case 466:
5874 #line 540 "lscp.y"
5875 { (yyval.Char) = '\334'; }
5876 break;
5877
5878 case 467:
5879 #line 541 "lscp.y"
5880 { (yyval.Char) = '\335'; }
5881 break;
5882
5883 case 468:
5884 #line 541 "lscp.y"
5885 { (yyval.Char) = '\336'; }
5886 break;
5887
5888 case 469:
5889 #line 541 "lscp.y"
5890 { (yyval.Char) = '\337'; }
5891 break;
5892
5893 case 470:
5894 #line 542 "lscp.y"
5895 { (yyval.Char) = '\340'; }
5896 break;
5897
5898 case 471:
5899 #line 542 "lscp.y"
5900 { (yyval.Char) = '\341'; }
5901 break;
5902
5903 case 472:
5904 #line 542 "lscp.y"
5905 { (yyval.Char) = '\342'; }
5906 break;
5907
5908 case 473:
5909 #line 543 "lscp.y"
5910 { (yyval.Char) = '\343'; }
5911 break;
5912
5913 case 474:
5914 #line 543 "lscp.y"
5915 { (yyval.Char) = '\344'; }
5916 break;
5917
5918 case 475:
5919 #line 543 "lscp.y"
5920 { (yyval.Char) = '\345'; }
5921 break;
5922
5923 case 476:
5924 #line 544 "lscp.y"
5925 { (yyval.Char) = '\346'; }
5926 break;
5927
5928 case 477:
5929 #line 544 "lscp.y"
5930 { (yyval.Char) = '\347'; }
5931 break;
5932
5933 case 478:
5934 #line 544 "lscp.y"
5935 { (yyval.Char) = '\350'; }
5936 break;
5937
5938 case 479:
5939 #line 545 "lscp.y"
5940 { (yyval.Char) = '\351'; }
5941 break;
5942
5943 case 480:
5944 #line 545 "lscp.y"
5945 { (yyval.Char) = '\352'; }
5946 break;
5947
5948 case 481:
5949 #line 545 "lscp.y"
5950 { (yyval.Char) = '\353'; }
5951 break;
5952
5953 case 482:
5954 #line 546 "lscp.y"
5955 { (yyval.Char) = '\354'; }
5956 break;
5957
5958 case 483:
5959 #line 546 "lscp.y"
5960 { (yyval.Char) = '\355'; }
5961 break;
5962
5963 case 484:
5964 #line 546 "lscp.y"
5965 { (yyval.Char) = '\356'; }
5966 break;
5967
5968 case 485:
5969 #line 547 "lscp.y"
5970 { (yyval.Char) = '\357'; }
5971 break;
5972
5973 case 486:
5974 #line 547 "lscp.y"
5975 { (yyval.Char) = '\360'; }
5976 break;
5977
5978 case 487:
5979 #line 547 "lscp.y"
5980 { (yyval.Char) = '\361'; }
5981 break;
5982
5983 case 488:
5984 #line 548 "lscp.y"
5985 { (yyval.Char) = '\362'; }
5986 break;
5987
5988 case 489:
5989 #line 548 "lscp.y"
5990 { (yyval.Char) = '\363'; }
5991 break;
5992
5993 case 490:
5994 #line 548 "lscp.y"
5995 { (yyval.Char) = '\364'; }
5996 break;
5997
5998 case 491:
5999 #line 549 "lscp.y"
6000 { (yyval.Char) = '\365'; }
6001 break;
6002
6003 case 492:
6004 #line 549 "lscp.y"
6005 { (yyval.Char) = '\366'; }
6006 break;
6007
6008 case 493:
6009 #line 549 "lscp.y"
6010 { (yyval.Char) = '\367'; }
6011 break;
6012
6013 case 494:
6014 #line 550 "lscp.y"
6015 { (yyval.Char) = '\370'; }
6016 break;
6017
6018 case 495:
6019 #line 550 "lscp.y"
6020 { (yyval.Char) = '\371'; }
6021 break;
6022
6023 case 496:
6024 #line 550 "lscp.y"
6025 { (yyval.Char) = '\372'; }
6026 break;
6027
6028 case 497:
6029 #line 551 "lscp.y"
6030 { (yyval.Char) = '\373'; }
6031 break;
6032
6033 case 498:
6034 #line 551 "lscp.y"
6035 { (yyval.Char) = '\374'; }
6036 break;
6037
6038 case 499:
6039 #line 551 "lscp.y"
6040 { (yyval.Char) = '\375'; }
6041 break;
6042
6043 case 500:
6044 #line 552 "lscp.y"
6045 { (yyval.Char) = '\376'; }
6046 break;
6047
6048 case 501:
6049 #line 552 "lscp.y"
6050 { (yyval.Char) = '\377'; }
6051 break;
6052
6053 case 502:
6054 #line 555 "lscp.y"
6055 { (yyval.String) = " "; }
6056 break;
6057
6058 case 504:
6059 #line 557 "lscp.y"
6060 { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
6061 break;
6062
6063 case 505:
6064 #line 558 "lscp.y"
6065 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String); }
6066 break;
6067
6068 case 506:
6069 #line 561 "lscp.y"
6070 { (yyval.String) = (yyvsp[(2) - (3)].String); }
6071 break;
6072
6073 case 507:
6074 #line 562 "lscp.y"
6075 { (yyval.String) = (yyvsp[(2) - (3)].String); }
6076 break;
6077
6078
6079 /* Line 1267 of yacc.c. */
6080 #line 6081 "y.tab.c"
6081 default: break;
6082 }
6083 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6084
6085 YYPOPSTACK (yylen);
6086 yylen = 0;
6087 YY_STACK_PRINT (yyss, yyssp);
6088
6089 *++yyvsp = yyval;
6090
6091
6092 /* Now `shift' the result of the reduction. Determine what state
6093 that goes to, based on the state we popped back to and the rule
6094 number reduced by. */
6095
6096 yyn = yyr1[yyn];
6097
6098 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
6099 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
6100 yystate = yytable[yystate];
6101 else
6102 yystate = yydefgoto[yyn - YYNTOKENS];
6103
6104 goto yynewstate;
6105
6106
6107 /*------------------------------------.
6108 | yyerrlab -- here on detecting error |
6109 `------------------------------------*/
6110 yyerrlab:
6111 /* If not already recovering from an error, report this error. */
6112 if (!yyerrstatus)
6113 {
6114 ++yynerrs;
6115 #if ! YYERROR_VERBOSE
6116 yyerror (YY_("syntax error"));
6117 #else
6118 {
6119 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6120 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6121 {
6122 YYSIZE_T yyalloc = 2 * yysize;
6123 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6124 yyalloc = YYSTACK_ALLOC_MAXIMUM;
6125 if (yymsg != yymsgbuf)
6126 YYSTACK_FREE (yymsg);
6127 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6128 if (yymsg)
6129 yymsg_alloc = yyalloc;
6130 else
6131 {
6132 yymsg = yymsgbuf;
6133 yymsg_alloc = sizeof yymsgbuf;
6134 }
6135 }
6136
6137 if (0 < yysize && yysize <= yymsg_alloc)
6138 {
6139 (void) yysyntax_error (yymsg, yystate, yychar);
6140 yyerror (yymsg);
6141 }
6142 else
6143 {
6144 yyerror (YY_("syntax error"));
6145 if (yysize != 0)
6146 goto yyexhaustedlab;
6147 }
6148 }
6149 #endif
6150 }
6151
6152
6153
6154 if (yyerrstatus == 3)
6155 {
6156 /* If just tried and failed to reuse look-ahead token after an
6157 error, discard it. */
6158
6159 if (yychar <= YYEOF)
6160 {
6161 /* Return failure if at end of input. */
6162 if (yychar == YYEOF)
6163 YYABORT;
6164 }
6165 else
6166 {
6167 yydestruct ("Error: discarding",
6168 yytoken, &yylval);
6169 yychar = YYEMPTY;
6170 }
6171 }
6172
6173 /* Else will try to reuse look-ahead token after shifting the error
6174 token. */
6175 goto yyerrlab1;
6176
6177
6178 /*---------------------------------------------------.
6179 | yyerrorlab -- error raised explicitly by YYERROR. |
6180 `---------------------------------------------------*/
6181 yyerrorlab:
6182
6183 /* Pacify compilers like GCC when the user code never invokes
6184 YYERROR and the label yyerrorlab therefore never appears in user
6185 code. */
6186 if (/*CONSTCOND*/ 0)
6187 goto yyerrorlab;
6188
6189 /* Do not reclaim the symbols of the rule which action triggered
6190 this YYERROR. */
6191 YYPOPSTACK (yylen);
6192 yylen = 0;
6193 YY_STACK_PRINT (yyss, yyssp);
6194 yystate = *yyssp;
6195 goto yyerrlab1;
6196
6197
6198 /*-------------------------------------------------------------.
6199 | yyerrlab1 -- common code for both syntax error and YYERROR. |
6200 `-------------------------------------------------------------*/
6201 yyerrlab1:
6202 yyerrstatus = 3; /* Each real token shifted decrements this. */
6203
6204 for (;;)
6205 {
6206 yyn = yypact[yystate];
6207 if (yyn != YYPACT_NINF)
6208 {
6209 yyn += YYTERROR;
6210 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6211 {
6212 yyn = yytable[yyn];
6213 if (0 < yyn)
6214 break;
6215 }
6216 }
6217
6218 /* Pop the current state because it cannot handle the error token. */
6219 if (yyssp == yyss)
6220 YYABORT;
6221
6222
6223 yydestruct ("Error: popping",
6224 yystos[yystate], yyvsp);
6225 YYPOPSTACK (1);
6226 yystate = *yyssp;
6227 YY_STACK_PRINT (yyss, yyssp);
6228 }
6229
6230 if (yyn == YYFINAL)
6231 YYACCEPT;
6232
6233 *++yyvsp = yylval;
6234
6235
6236 /* Shift the error token. */
6237 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6238
6239 yystate = yyn;
6240 goto yynewstate;
6241
6242
6243 /*-------------------------------------.
6244 | yyacceptlab -- YYACCEPT comes here. |
6245 `-------------------------------------*/
6246 yyacceptlab:
6247 yyresult = 0;
6248 goto yyreturn;
6249
6250 /*-----------------------------------.
6251 | yyabortlab -- YYABORT comes here. |
6252 `-----------------------------------*/
6253 yyabortlab:
6254 yyresult = 1;
6255 goto yyreturn;
6256
6257 #ifndef yyoverflow
6258 /*-------------------------------------------------.
6259 | yyexhaustedlab -- memory exhaustion comes here. |
6260 `-------------------------------------------------*/
6261 yyexhaustedlab:
6262 yyerror (YY_("memory exhausted"));
6263 yyresult = 2;
6264 /* Fall through. */
6265 #endif
6266
6267 yyreturn:
6268 if (yychar != YYEOF && yychar != YYEMPTY)
6269 yydestruct ("Cleanup: discarding lookahead",
6270 yytoken, &yylval);
6271 /* Do not reclaim the symbols of the rule which action triggered
6272 this YYABORT or YYACCEPT. */
6273 YYPOPSTACK (yylen);
6274 YY_STACK_PRINT (yyss, yyssp);
6275 while (yyssp != yyss)
6276 {
6277 yydestruct ("Cleanup: popping",
6278 yystos[*yyssp], yyvsp);
6279 YYPOPSTACK (1);
6280 }
6281 #ifndef yyoverflow
6282 if (yyss != yyssa)
6283 YYSTACK_FREE (yyss);
6284 #endif
6285 #if YYERROR_VERBOSE
6286 if (yymsg != yymsgbuf)
6287 YYSTACK_FREE (yymsg);
6288 #endif
6289 /* Make sure YYID is used. */
6290 return YYID (yyresult);
6291 }
6292
6293
6294 #line 880 "lscp.y"
6295
6296
6297 /**
6298 * Will be called when an error occured (usually syntax error).
6299 */
6300 void yyerror(const char* s) {
6301 dmsg(2,("LSCPParser: %s\n", s));
6302 }
6303
6304 /**
6305 * Clears input buffer.
6306 */
6307 void restart(yyparse_param_t* pparam, int& yychar) {
6308 bytes = 0;
6309 ptr = 0;
6310 }
6311

  ViewVC Help
Powered by ViewVC