/[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 1187 - (show annotations) (download)
Wed May 16 14:22:26 2007 UTC (16 years, 11 months ago) by iliev
File size: 265367 byte(s)
* updated instruments db support
* added transactions for improving the db performance
* added commands for copying and finding instruments and directories

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

  ViewVC Help
Powered by ViewVC