1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43 /* Identify Bison output. */
44 #define YYBISON 1
45
46 /* Bison version. */
47 #define YYBISON_VERSION "3.0.4"
48
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51
52 /* Pure parsers. */
53 #define YYPURE 1
54
55 /* Push parsers. */
56 #define YYPUSH 0
57
58 /* Pull parsers. */
59 #define YYPULL 1
60
61
62 /* Substitute the variable and function names. */
63 #define yyparse zendparse
64 #define yylex zendlex
65 #define yyerror zenderror
66 #define yydebug zenddebug
67 #define yynerrs zendnerrs
68
69
70 /* Copy the first part of user declarations. */
71
72
73 /*
74 +----------------------------------------------------------------------+
75 | Zend Engine |
76 +----------------------------------------------------------------------+
77 | Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
78 +----------------------------------------------------------------------+
79 | This source file is subject to version 2.00 of the Zend license, |
80 | that is bundled with this package in the file LICENSE, and is |
81 | available through the world-wide-web at the following url: |
82 | http://www.zend.com/license/2_00.txt. |
83 | If you did not receive a copy of the Zend license and are unable to |
84 | obtain it through the world-wide-web, please send a note to |
85 | license@zend.com so we can mail you a copy immediately. |
86 +----------------------------------------------------------------------+
87 | Authors: Andi Gutmans <andi@php.net> |
88 | Zeev Suraski <zeev@php.net> |
89 | Nikita Popov <nikic@php.net> |
90 +----------------------------------------------------------------------+
91 */
92
93 #include "zend_compile.h"
94 #include "zend.h"
95 #include "zend_list.h"
96 #include "zend_globals.h"
97 #include "zend_API.h"
98 #include "zend_constants.h"
99 #include "zend_language_scanner.h"
100 #include "zend_exceptions.h"
101
102 #define YYSIZE_T size_t
103 #define yytnamerr zend_yytnamerr
104 static YYSIZE_T zend_yytnamerr(char*, const char*);
105
106 #define YYERROR_VERBOSE
107 #define YYSTYPE zend_parser_stack_elem
108
109 #ifdef _MSC_VER
110 #define YYMALLOC malloc
111 #define YYFREE free
112 #endif
113
114
115
116
117 # ifndef YY_NULLPTR
118 # if defined __cplusplus && 201103L <= __cplusplus
119 # define YY_NULLPTR nullptr
120 # else
121 # define YY_NULLPTR 0
122 # endif
123 # endif
124
125 /* Enabling verbose error messages. */
126 #ifdef YYERROR_VERBOSE
127 # undef YYERROR_VERBOSE
128 # define YYERROR_VERBOSE 1
129 #else
130 # define YYERROR_VERBOSE 0
131 #endif
132
133 /* In a future release of Bison, this section will be replaced
134 by #include "zend_language_parser.h". */
135 #ifndef YY_ZEND_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED
136 # define YY_ZEND_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED
137 /* Debug traces. */
138 #ifndef YYDEBUG
139 # define YYDEBUG 0
140 #endif
141 #if YYDEBUG
142 extern int zenddebug;
143 #endif
144 /* "%code requires" blocks. */
145
146
147
148
149
150 /* Token type. */
151 #ifndef YYTOKENTYPE
152 # define YYTOKENTYPE
153 enum yytokentype
154 {
155 END = 0,
156 T_INCLUDE = 258,
157 T_INCLUDE_ONCE = 259,
158 T_EVAL = 260,
159 T_REQUIRE = 261,
160 T_REQUIRE_ONCE = 262,
161 T_LOGICAL_OR = 263,
162 T_LOGICAL_XOR = 264,
163 T_LOGICAL_AND = 265,
164 T_PRINT = 266,
165 T_YIELD = 267,
166 T_DOUBLE_ARROW = 268,
167 T_YIELD_FROM = 269,
168 T_PLUS_EQUAL = 270,
169 T_MINUS_EQUAL = 271,
170 T_MUL_EQUAL = 272,
171 T_DIV_EQUAL = 273,
172 T_CONCAT_EQUAL = 274,
173 T_MOD_EQUAL = 275,
174 T_AND_EQUAL = 276,
175 T_OR_EQUAL = 277,
176 T_XOR_EQUAL = 278,
177 T_SL_EQUAL = 279,
178 T_SR_EQUAL = 280,
179 T_POW_EQUAL = 281,
180 T_COALESCE = 282,
181 T_BOOLEAN_OR = 283,
182 T_BOOLEAN_AND = 284,
183 T_IS_EQUAL = 285,
184 T_IS_NOT_EQUAL = 286,
185 T_IS_IDENTICAL = 287,
186 T_IS_NOT_IDENTICAL = 288,
187 T_SPACESHIP = 289,
188 T_IS_SMALLER_OR_EQUAL = 290,
189 T_IS_GREATER_OR_EQUAL = 291,
190 T_SL = 292,
191 T_SR = 293,
192 T_INSTANCEOF = 294,
193 T_INC = 295,
194 T_DEC = 296,
195 T_INT_CAST = 297,
196 T_DOUBLE_CAST = 298,
197 T_STRING_CAST = 299,
198 T_ARRAY_CAST = 300,
199 T_OBJECT_CAST = 301,
200 T_BOOL_CAST = 302,
201 T_UNSET_CAST = 303,
202 T_POW = 304,
203 T_NEW = 305,
204 T_CLONE = 306,
205 T_NOELSE = 307,
206 T_ELSEIF = 308,
207 T_ELSE = 309,
208 T_ENDIF = 310,
209 T_STATIC = 311,
210 T_ABSTRACT = 312,
211 T_FINAL = 313,
212 T_PRIVATE = 314,
213 T_PROTECTED = 315,
214 T_PUBLIC = 316,
215 T_LNUMBER = 317,
216 T_DNUMBER = 318,
217 T_STRING = 319,
218 T_VARIABLE = 320,
219 T_INLINE_HTML = 321,
220 T_ENCAPSED_AND_WHITESPACE = 322,
221 T_CONSTANT_ENCAPSED_STRING = 323,
222 T_STRING_VARNAME = 324,
223 T_NUM_STRING = 325,
224 T_EXIT = 326,
225 T_IF = 327,
226 T_ECHO = 328,
227 T_DO = 329,
228 T_WHILE = 330,
229 T_ENDWHILE = 331,
230 T_FOR = 332,
231 T_ENDFOR = 333,
232 T_FOREACH = 334,
233 T_ENDFOREACH = 335,
234 T_DECLARE = 336,
235 T_ENDDECLARE = 337,
236 T_AS = 338,
237 T_SWITCH = 339,
238 T_ENDSWITCH = 340,
239 T_CASE = 341,
240 T_DEFAULT = 342,
241 T_BREAK = 343,
242 T_CONTINUE = 344,
243 T_GOTO = 345,
244 T_FUNCTION = 346,
245 T_CONST = 347,
246 T_RETURN = 348,
247 T_TRY = 349,
248 T_CATCH = 350,
249 T_FINALLY = 351,
250 T_THROW = 352,
251 T_USE = 353,
252 T_INSTEADOF = 354,
253 T_GLOBAL = 355,
254 T_VAR = 356,
255 T_UNSET = 357,
256 T_ISSET = 358,
257 T_EMPTY = 359,
258 T_HALT_COMPILER = 360,
259 T_CLASS = 361,
260 T_TRAIT = 362,
261 T_INTERFACE = 363,
262 T_EXTENDS = 364,
263 T_IMPLEMENTS = 365,
264 T_OBJECT_OPERATOR = 366,
265 T_LIST = 367,
266 T_ARRAY = 368,
267 T_CALLABLE = 369,
268 T_LINE = 370,
269 T_FILE = 371,
270 T_DIR = 372,
271 T_CLASS_C = 373,
272 T_TRAIT_C = 374,
273 T_METHOD_C = 375,
274 T_FUNC_C = 376,
275 T_COMMENT = 377,
276 T_DOC_COMMENT = 378,
277 T_OPEN_TAG = 379,
278 T_OPEN_TAG_WITH_ECHO = 380,
279 T_CLOSE_TAG = 381,
280 T_WHITESPACE = 382,
281 T_START_HEREDOC = 383,
282 T_END_HEREDOC = 384,
283 T_DOLLAR_OPEN_CURLY_BRACES = 385,
284 T_CURLY_OPEN = 386,
285 T_PAAMAYIM_NEKUDOTAYIM = 387,
286 T_NAMESPACE = 388,
287 T_NS_C = 389,
288 T_NS_SEPARATOR = 390,
289 T_ELLIPSIS = 391,
290 T_ERROR = 392
291 };
292 #endif
293 /* Tokens. */
294 #define END 0
295 #define T_INCLUDE 258
296 #define T_INCLUDE_ONCE 259
297 #define T_EVAL 260
298 #define T_REQUIRE 261
299 #define T_REQUIRE_ONCE 262
300 #define T_LOGICAL_OR 263
301 #define T_LOGICAL_XOR 264
302 #define T_LOGICAL_AND 265
303 #define T_PRINT 266
304 #define T_YIELD 267
305 #define T_DOUBLE_ARROW 268
306 #define T_YIELD_FROM 269
307 #define T_PLUS_EQUAL 270
308 #define T_MINUS_EQUAL 271
309 #define T_MUL_EQUAL 272
310 #define T_DIV_EQUAL 273
311 #define T_CONCAT_EQUAL 274
312 #define T_MOD_EQUAL 275
313 #define T_AND_EQUAL 276
314 #define T_OR_EQUAL 277
315 #define T_XOR_EQUAL 278
316 #define T_SL_EQUAL 279
317 #define T_SR_EQUAL 280
318 #define T_POW_EQUAL 281
319 #define T_COALESCE 282
320 #define T_BOOLEAN_OR 283
321 #define T_BOOLEAN_AND 284
322 #define T_IS_EQUAL 285
323 #define T_IS_NOT_EQUAL 286
324 #define T_IS_IDENTICAL 287
325 #define T_IS_NOT_IDENTICAL 288
326 #define T_SPACESHIP 289
327 #define T_IS_SMALLER_OR_EQUAL 290
328 #define T_IS_GREATER_OR_EQUAL 291
329 #define T_SL 292
330 #define T_SR 293
331 #define T_INSTANCEOF 294
332 #define T_INC 295
333 #define T_DEC 296
334 #define T_INT_CAST 297
335 #define T_DOUBLE_CAST 298
336 #define T_STRING_CAST 299
337 #define T_ARRAY_CAST 300
338 #define T_OBJECT_CAST 301
339 #define T_BOOL_CAST 302
340 #define T_UNSET_CAST 303
341 #define T_POW 304
342 #define T_NEW 305
343 #define T_CLONE 306
344 #define T_NOELSE 307
345 #define T_ELSEIF 308
346 #define T_ELSE 309
347 #define T_ENDIF 310
348 #define T_STATIC 311
349 #define T_ABSTRACT 312
350 #define T_FINAL 313
351 #define T_PRIVATE 314
352 #define T_PROTECTED 315
353 #define T_PUBLIC 316
354 #define T_LNUMBER 317
355 #define T_DNUMBER 318
356 #define T_STRING 319
357 #define T_VARIABLE 320
358 #define T_INLINE_HTML 321
359 #define T_ENCAPSED_AND_WHITESPACE 322
360 #define T_CONSTANT_ENCAPSED_STRING 323
361 #define T_STRING_VARNAME 324
362 #define T_NUM_STRING 325
363 #define T_EXIT 326
364 #define T_IF 327
365 #define T_ECHO 328
366 #define T_DO 329
367 #define T_WHILE 330
368 #define T_ENDWHILE 331
369 #define T_FOR 332
370 #define T_ENDFOR 333
371 #define T_FOREACH 334
372 #define T_ENDFOREACH 335
373 #define T_DECLARE 336
374 #define T_ENDDECLARE 337
375 #define T_AS 338
376 #define T_SWITCH 339
377 #define T_ENDSWITCH 340
378 #define T_CASE 341
379 #define T_DEFAULT 342
380 #define T_BREAK 343
381 #define T_CONTINUE 344
382 #define T_GOTO 345
383 #define T_FUNCTION 346
384 #define T_CONST 347
385 #define T_RETURN 348
386 #define T_TRY 349
387 #define T_CATCH 350
388 #define T_FINALLY 351
389 #define T_THROW 352
390 #define T_USE 353
391 #define T_INSTEADOF 354
392 #define T_GLOBAL 355
393 #define T_VAR 356
394 #define T_UNSET 357
395 #define T_ISSET 358
396 #define T_EMPTY 359
397 #define T_HALT_COMPILER 360
398 #define T_CLASS 361
399 #define T_TRAIT 362
400 #define T_INTERFACE 363
401 #define T_EXTENDS 364
402 #define T_IMPLEMENTS 365
403 #define T_OBJECT_OPERATOR 366
404 #define T_LIST 367
405 #define T_ARRAY 368
406 #define T_CALLABLE 369
407 #define T_LINE 370
408 #define T_FILE 371
409 #define T_DIR 372
410 #define T_CLASS_C 373
411 #define T_TRAIT_C 374
412 #define T_METHOD_C 375
413 #define T_FUNC_C 376
414 #define T_COMMENT 377
415 #define T_DOC_COMMENT 378
416 #define T_OPEN_TAG 379
417 #define T_OPEN_TAG_WITH_ECHO 380
418 #define T_CLOSE_TAG 381
419 #define T_WHITESPACE 382
420 #define T_START_HEREDOC 383
421 #define T_END_HEREDOC 384
422 #define T_DOLLAR_OPEN_CURLY_BRACES 385
423 #define T_CURLY_OPEN 386
424 #define T_PAAMAYIM_NEKUDOTAYIM 387
425 #define T_NAMESPACE 388
426 #define T_NS_C 389
427 #define T_NS_SEPARATOR 390
428 #define T_ELLIPSIS 391
429 #define T_ERROR 392
430
431 /* Value type. */
432
433
434
435 ZEND_API int zendparse (void);
436
437 #endif /* !YY_ZEND_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED */
438
439 /* Copy the second part of user declarations. */
440
441
442
443 #ifdef short
444 # undef short
445 #endif
446
447 #ifdef YYTYPE_UINT8
448 typedef YYTYPE_UINT8 yytype_uint8;
449 #else
450 typedef unsigned char yytype_uint8;
451 #endif
452
453 #ifdef YYTYPE_INT8
454 typedef YYTYPE_INT8 yytype_int8;
455 #else
456 typedef signed char yytype_int8;
457 #endif
458
459 #ifdef YYTYPE_UINT16
460 typedef YYTYPE_UINT16 yytype_uint16;
461 #else
462 typedef unsigned short int yytype_uint16;
463 #endif
464
465 #ifdef YYTYPE_INT16
466 typedef YYTYPE_INT16 yytype_int16;
467 #else
468 typedef short int yytype_int16;
469 #endif
470
471 #ifndef YYSIZE_T
472 # ifdef __SIZE_TYPE__
473 # define YYSIZE_T __SIZE_TYPE__
474 # elif defined size_t
475 # define YYSIZE_T size_t
476 # elif ! defined YYSIZE_T
477 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
478 # define YYSIZE_T size_t
479 # else
480 # define YYSIZE_T unsigned int
481 # endif
482 #endif
483
484 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
485
486 #ifndef YY_
487 # if defined YYENABLE_NLS && YYENABLE_NLS
488 # if ENABLE_NLS
489 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
490 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
491 # endif
492 # endif
493 # ifndef YY_
494 # define YY_(Msgid) Msgid
495 # endif
496 #endif
497
498 #ifndef YY_ATTRIBUTE
499 # if (defined __GNUC__ \
500 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
501 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
502 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
503 # else
504 # define YY_ATTRIBUTE(Spec) /* empty */
505 # endif
506 #endif
507
508 #ifndef YY_ATTRIBUTE_PURE
509 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
510 #endif
511
512 #ifndef YY_ATTRIBUTE_UNUSED
513 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
514 #endif
515
516 #if !defined _Noreturn \
517 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
518 # if defined _MSC_VER && 1200 <= _MSC_VER
519 # define _Noreturn __declspec (noreturn)
520 # else
521 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
522 # endif
523 #endif
524
525 /* Suppress unused-variable warnings by "using" E. */
526 #if ! defined lint || defined __GNUC__
527 # define YYUSE(E) ((void) (E))
528 #else
529 # define YYUSE(E) /* empty */
530 #endif
531
532 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
533 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
534 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
535 _Pragma ("GCC diagnostic push") \
536 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
537 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
538 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
539 _Pragma ("GCC diagnostic pop")
540 #else
541 # define YY_INITIAL_VALUE(Value) Value
542 #endif
543 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
544 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
545 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
546 #endif
547 #ifndef YY_INITIAL_VALUE
548 # define YY_INITIAL_VALUE(Value) /* Nothing. */
549 #endif
550
551
552 #if ! defined yyoverflow || YYERROR_VERBOSE
553
554 /* The parser invokes alloca or malloc; define the necessary symbols. */
555
556 # ifdef YYSTACK_USE_ALLOCA
557 # if YYSTACK_USE_ALLOCA
558 # ifdef __GNUC__
559 # define YYSTACK_ALLOC __builtin_alloca
560 # elif defined __BUILTIN_VA_ARG_INCR
561 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
562 # elif defined _AIX
563 # define YYSTACK_ALLOC __alloca
564 # elif defined _MSC_VER
565 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
566 # define alloca _alloca
567 # else
568 # define YYSTACK_ALLOC alloca
569 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
570 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
571 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
572 # ifndef EXIT_SUCCESS
573 # define EXIT_SUCCESS 0
574 # endif
575 # endif
576 # endif
577 # endif
578 # endif
579
580 # ifdef YYSTACK_ALLOC
581 /* Pacify GCC's 'empty if-body' warning. */
582 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
583 # ifndef YYSTACK_ALLOC_MAXIMUM
584 /* The OS might guarantee only one guard page at the bottom of the stack,
585 and a page size can be as small as 4096 bytes. So we cannot safely
586 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
587 to allow for a few compiler-allocated temporary stack slots. */
588 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
589 # endif
590 # else
591 # define YYSTACK_ALLOC YYMALLOC
592 # define YYSTACK_FREE YYFREE
593 # ifndef YYSTACK_ALLOC_MAXIMUM
594 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
595 # endif
596 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
597 && ! ((defined YYMALLOC || defined malloc) \
598 && (defined YYFREE || defined free)))
599 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
600 # ifndef EXIT_SUCCESS
601 # define EXIT_SUCCESS 0
602 # endif
603 # endif
604 # ifndef YYMALLOC
605 # define YYMALLOC malloc
606 # if ! defined malloc && ! defined EXIT_SUCCESS
607 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
608 # endif
609 # endif
610 # ifndef YYFREE
611 # define YYFREE free
612 # if ! defined free && ! defined EXIT_SUCCESS
613 void free (void *); /* INFRINGES ON USER NAME SPACE */
614 # endif
615 # endif
616 # endif
617 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
618
619
620 #if (! defined yyoverflow \
621 && (! defined __cplusplus \
622 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
623
624 /* A type that is properly aligned for any stack member. */
625 union yyalloc
626 {
627 yytype_int16 yyss_alloc;
628 YYSTYPE yyvs_alloc;
629 };
630
631 /* The size of the maximum gap between one aligned stack and the next. */
632 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
633
634 /* The size of an array large to enough to hold all stacks, each with
635 N elements. */
636 # define YYSTACK_BYTES(N) \
637 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
638 + YYSTACK_GAP_MAXIMUM)
639
640 # define YYCOPY_NEEDED 1
641
642 /* Relocate STACK from its old location to the new one. The
643 local variables YYSIZE and YYSTACKSIZE give the old and new number of
644 elements in the stack, and YYPTR gives the new location of the
645 stack. Advance YYPTR to a properly aligned location for the next
646 stack. */
647 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
648 do \
649 { \
650 YYSIZE_T yynewbytes; \
651 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
652 Stack = &yyptr->Stack_alloc; \
653 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
654 yyptr += yynewbytes / sizeof (*yyptr); \
655 } \
656 while (0)
657
658 #endif
659
660 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
661 /* Copy COUNT objects from SRC to DST. The source and destination do
662 not overlap. */
663 # ifndef YYCOPY
664 # if defined __GNUC__ && 1 < __GNUC__
665 # define YYCOPY(Dst, Src, Count) \
666 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
667 # else
668 # define YYCOPY(Dst, Src, Count) \
669 do \
670 { \
671 YYSIZE_T yyi; \
672 for (yyi = 0; yyi < (Count); yyi++) \
673 (Dst)[yyi] = (Src)[yyi]; \
674 } \
675 while (0)
676 # endif
677 # endif
678 #endif /* !YYCOPY_NEEDED */
679
680 /* YYFINAL -- State number of the termination state. */
681 #define YYFINAL 3
682 /* YYLAST -- Last index in YYTABLE. */
683 #define YYLAST 7353
684
685 /* YYNTOKENS -- Number of terminals. */
686 #define YYNTOKENS 166
687 /* YYNNTS -- Number of nonterminals. */
688 #define YYNNTS 137
689 /* YYNRULES -- Number of rules. */
690 #define YYNRULES 497
691 /* YYNSTATES -- Number of states. */
692 #define YYNSTATES 947
693
694 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
695 by yylex, with out-of-bounds checking. */
696 #define YYUNDEFTOK 2
697 #define YYMAXUTOK 392
698
699 #define YYTRANSLATE(YYX) \
700 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
701
702 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
703 as returned by yylex, without out-of-bounds checking. */
704 static const yytype_uint8 yytranslate[] =
705 {
706 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
707 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
708 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
709 2, 2, 2, 54, 164, 2, 165, 53, 36, 2,
710 157, 158, 51, 48, 8, 49, 50, 52, 2, 2,
711 2, 2, 2, 2, 2, 2, 2, 2, 30, 159,
712 42, 16, 44, 29, 66, 2, 2, 2, 2, 2,
713 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
714 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
715 2, 68, 2, 162, 35, 2, 163, 2, 2, 2,
716 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
717 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
718 2, 2, 2, 160, 34, 161, 56, 2, 2, 2,
719 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
720 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
721 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
722 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
723 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
724 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
725 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
726 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
727 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
728 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
729 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
730 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
731 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
732 5, 6, 7, 9, 10, 11, 12, 13, 14, 15,
733 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
734 27, 28, 31, 32, 33, 37, 38, 39, 40, 41,
735 43, 45, 46, 47, 55, 57, 58, 59, 60, 61,
736 62, 63, 64, 65, 67, 69, 70, 71, 72, 73,
737 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
738 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
739 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
740 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
741 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
742 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
743 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
744 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
745 154, 155, 156
746 };
747
748 #if YYDEBUG
749 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
750 static const yytype_uint16 yyrline[] =
751 {
752 0, 265, 265, 269, 269, 269, 269, 269, 269, 269,
753 269, 270, 270, 270, 270, 270, 270, 270, 270, 270,
754 270, 270, 270, 271, 271, 271, 271, 271, 271, 271,
755 271, 271, 271, 272, 272, 272, 272, 272, 272, 272,
756 272, 272, 272, 273, 273, 273, 273, 273, 273, 273,
757 273, 273, 273, 273, 274, 274, 274, 274, 274, 274,
758 274, 274, 275, 275, 275, 275, 275, 275, 275, 275,
759 279, 280, 280, 280, 280, 280, 280, 284, 285, 293,
760 294, 298, 299, 303, 304, 305, 309, 310, 311, 312,
761 313, 314, 318, 321, 321, 324, 324, 327, 328, 329,
762 330, 331, 335, 336, 340, 342, 347, 349, 353, 355,
763 359, 361, 366, 368, 373, 375, 380, 381, 385, 387,
764 392, 393, 397, 398, 402, 405, 410, 411, 412, 413,
765 414, 415, 422, 423, 424, 425, 427, 429, 431, 433,
766 434, 435, 436, 437, 438, 439, 440, 441, 442, 444,
767 448, 447, 451, 452, 454, 455, 456, 461, 462, 467,
768 468, 472, 473, 477, 478, 482, 486, 493, 494, 498,
769 499, 503, 503, 506, 506, 512, 513, 518, 519, 523,
770 523, 529, 529, 535, 536, 540, 541, 545, 546, 550,
771 551, 552, 553, 557, 558, 562, 563, 567, 568, 572,
772 573, 574, 575, 579, 580, 582, 587, 588, 593, 594,
773 599, 602, 608, 609, 614, 617, 623, 624, 630, 631,
774 636, 638, 643, 645, 651, 652, 656, 657, 661, 662,
775 663, 667, 668, 672, 673, 677, 679, 684, 685, 689,
776 690, 694, 700, 701, 705, 706, 711, 714, 719, 721,
777 723, 725, 732, 733, 737, 738, 739, 743, 745, 750,
778 751, 755, 760, 762, 764, 766, 771, 773, 777, 782,
779 783, 787, 788, 792, 793, 798, 799, 804, 805, 806,
780 807, 808, 809, 813, 814, 818, 820, 825, 826, 830,
781 834, 838, 839, 842, 846, 847, 851, 852, 856, 856,
782 866, 868, 873, 875, 877, 879, 881, 883, 884, 886,
783 888, 890, 892, 894, 896, 898, 900, 902, 904, 906,
784 908, 909, 910, 911, 912, 914, 916, 918, 920, 922,
785 923, 924, 925, 926, 927, 928, 929, 930, 931, 932,
786 933, 934, 935, 936, 937, 938, 940, 942, 944, 946,
787 948, 950, 952, 954, 956, 958, 959, 960, 962, 964,
788 966, 967, 968, 969, 970, 971, 972, 973, 974, 975,
789 976, 977, 978, 979, 980, 981, 982, 983, 988, 996,
790 1000, 1004, 1008, 1009, 1013, 1014, 1018, 1019, 1023, 1024,
791 1028, 1030, 1032, 1034, 1039, 1042, 1046, 1047, 1051, 1052,
792 1057, 1058, 1059, 1064, 1065, 1070, 1071, 1072, 1076, 1077,
793 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
794 1089, 1090, 1091, 1092, 1096, 1097, 1099, 1104, 1105, 1109,
795 1113, 1114, 1115, 1119, 1120, 1121, 1125, 1127, 1129, 1131,
796 1133, 1135, 1139, 1141, 1143, 1148, 1149, 1150, 1154, 1156,
797 1161, 1163, 1165, 1167, 1169, 1171, 1176, 1177, 1178, 1182,
798 1183, 1184, 1188, 1193, 1194, 1198, 1200, 1205, 1207, 1209,
799 1211, 1213, 1216, 1222, 1224, 1226, 1228, 1233, 1235, 1238,
800 1241, 1243, 1245, 1248, 1252, 1253, 1254, 1255, 1260, 1261,
801 1262, 1264, 1266, 1268, 1270, 1275, 1276, 1281
802 };
803 #endif
804
805 #if YYDEBUG || YYERROR_VERBOSE || 0
806 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
807 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
808 static const char *const yytname[] =
809 {
810 "\"end of file\"", "error", "$undefined", "\"include (T_INCLUDE)\"",
811 "\"include_once (T_INCLUDE_ONCE)\"", "\"eval (T_EVAL)\"",
812 "\"require (T_REQUIRE)\"", "\"require_once (T_REQUIRE_ONCE)\"", "','",
813 "\"or (T_LOGICAL_OR)\"", "\"xor (T_LOGICAL_XOR)\"",
814 "\"and (T_LOGICAL_AND)\"", "\"print (T_PRINT)\"", "\"yield (T_YIELD)\"",
815 "\"=> (T_DOUBLE_ARROW)\"", "\"yield from (T_YIELD_FROM)\"", "'='",
816 "\"+= (T_PLUS_EQUAL)\"", "\"-= (T_MINUS_EQUAL)\"",
817 "\"*= (T_MUL_EQUAL)\"", "\"/= (T_DIV_EQUAL)\"",
818 "\".= (T_CONCAT_EQUAL)\"", "\"%= (T_MOD_EQUAL)\"",
819 "\"&= (T_AND_EQUAL)\"", "\"|= (T_OR_EQUAL)\"", "\"^= (T_XOR_EQUAL)\"",
820 "\"<<= (T_SL_EQUAL)\"", "\">>= (T_SR_EQUAL)\"", "\"**= (T_POW_EQUAL)\"",
821 "'?'", "':'", "\"?? (T_COALESCE)\"", "\"|| (T_BOOLEAN_OR)\"",
822 "\"&& (T_BOOLEAN_AND)\"", "'|'", "'^'", "'&'", "\"== (T_IS_EQUAL)\"",
823 "\"!= (T_IS_NOT_EQUAL)\"", "\"=== (T_IS_IDENTICAL)\"",
824 "\"!== (T_IS_NOT_IDENTICAL)\"", "\"<=> (T_SPACESHIP)\"", "'<'",
825 "\"<= (T_IS_SMALLER_OR_EQUAL)\"", "'>'",
826 "\">= (T_IS_GREATER_OR_EQUAL)\"", "\"<< (T_SL)\"", "\">> (T_SR)\"",
827 "'+'", "'-'", "'.'", "'*'", "'/'", "'%'", "'!'",
828 "\"instanceof (T_INSTANCEOF)\"", "'~'", "\"++ (T_INC)\"",
829 "\"-- (T_DEC)\"", "\"(int) (T_INT_CAST)\"",
830 "\"(double) (T_DOUBLE_CAST)\"", "\"(string) (T_STRING_CAST)\"",
831 "\"(array) (T_ARRAY_CAST)\"", "\"(object) (T_OBJECT_CAST)\"",
832 "\"(bool) (T_BOOL_CAST)\"", "\"(unset) (T_UNSET_CAST)\"", "'@'",
833 "\"** (T_POW)\"", "'['", "\"new (T_NEW)\"", "\"clone (T_CLONE)\"",
834 "T_NOELSE", "\"elseif (T_ELSEIF)\"", "\"else (T_ELSE)\"",
835 "\"endif (T_ENDIF)\"", "\"static (T_STATIC)\"",
836 "\"abstract (T_ABSTRACT)\"", "\"final (T_FINAL)\"",
837 "\"private (T_PRIVATE)\"", "\"protected (T_PROTECTED)\"",
838 "\"public (T_PUBLIC)\"", "\"integer number (T_LNUMBER)\"",
839 "\"floating-point number (T_DNUMBER)\"", "\"identifier (T_STRING)\"",
840 "\"variable (T_VARIABLE)\"", "T_INLINE_HTML",
841 "\"quoted-string and whitespace (T_ENCAPSED_AND_WHITESPACE)\"",
842 "\"quoted-string (T_CONSTANT_ENCAPSED_STRING)\"",
843 "\"variable name (T_STRING_VARNAME)\"", "\"number (T_NUM_STRING)\"",
844 "\"exit (T_EXIT)\"", "\"if (T_IF)\"", "\"echo (T_ECHO)\"",
845 "\"do (T_DO)\"", "\"while (T_WHILE)\"", "\"endwhile (T_ENDWHILE)\"",
846 "\"for (T_FOR)\"", "\"endfor (T_ENDFOR)\"", "\"foreach (T_FOREACH)\"",
847 "\"endforeach (T_ENDFOREACH)\"", "\"declare (T_DECLARE)\"",
848 "\"enddeclare (T_ENDDECLARE)\"", "\"as (T_AS)\"",
849 "\"switch (T_SWITCH)\"", "\"endswitch (T_ENDSWITCH)\"",
850 "\"case (T_CASE)\"", "\"default (T_DEFAULT)\"", "\"break (T_BREAK)\"",
851 "\"continue (T_CONTINUE)\"", "\"goto (T_GOTO)\"",
852 "\"function (T_FUNCTION)\"", "\"const (T_CONST)\"",
853 "\"return (T_RETURN)\"", "\"try (T_TRY)\"", "\"catch (T_CATCH)\"",
854 "\"finally (T_FINALLY)\"", "\"throw (T_THROW)\"", "\"use (T_USE)\"",
855 "\"insteadof (T_INSTEADOF)\"", "\"global (T_GLOBAL)\"",
856 "\"var (T_VAR)\"", "\"unset (T_UNSET)\"", "\"isset (T_ISSET)\"",
857 "\"empty (T_EMPTY)\"", "\"__halt_compiler (T_HALT_COMPILER)\"",
858 "\"class (T_CLASS)\"", "\"trait (T_TRAIT)\"",
859 "\"interface (T_INTERFACE)\"", "\"extends (T_EXTENDS)\"",
860 "\"implements (T_IMPLEMENTS)\"", "\"-> (T_OBJECT_OPERATOR)\"",
861 "\"list (T_LIST)\"", "\"array (T_ARRAY)\"", "\"callable (T_CALLABLE)\"",
862 "\"__LINE__ (T_LINE)\"", "\"__FILE__ (T_FILE)\"", "\"__DIR__ (T_DIR)\"",
863 "\"__CLASS__ (T_CLASS_C)\"", "\"__TRAIT__ (T_TRAIT_C)\"",
864 "\"__METHOD__ (T_METHOD_C)\"", "\"__FUNCTION__ (T_FUNC_C)\"",
865 "\"comment (T_COMMENT)\"", "\"doc comment (T_DOC_COMMENT)\"",
866 "\"open tag (T_OPEN_TAG)\"",
867 "\"open tag with echo (T_OPEN_TAG_WITH_ECHO)\"",
868 "\"close tag (T_CLOSE_TAG)\"", "\"whitespace (T_WHITESPACE)\"",
869 "\"heredoc start (T_START_HEREDOC)\"", "\"heredoc end (T_END_HEREDOC)\"",
870 "\"${ (T_DOLLAR_OPEN_CURLY_BRACES)\"", "\"{$ (T_CURLY_OPEN)\"",
871 "\":: (T_PAAMAYIM_NEKUDOTAYIM)\"", "\"namespace (T_NAMESPACE)\"",
872 "\"__NAMESPACE__ (T_NS_C)\"", "\"\\\\ (T_NS_SEPARATOR)\"",
873 "\"... (T_ELLIPSIS)\"", "T_ERROR", "'('", "')'", "';'", "'{'", "'}'",
874 "']'", "'`'", "'\"'", "'$'", "$accept", "start",
875 "reserved_non_modifiers", "semi_reserved", "identifier",
876 "top_statement_list", "namespace_name", "name", "top_statement", "$@1",
877 "$@2", "use_type", "group_use_declaration",
878 "mixed_group_use_declaration", "possible_comma",
879 "inline_use_declarations", "unprefixed_use_declarations",
880 "use_declarations", "inline_use_declaration",
881 "unprefixed_use_declaration", "use_declaration", "const_list",
882 "inner_statement_list", "inner_statement", "statement", "$@3",
883 "catch_list", "catch_name_list", "finally_statement", "unset_variables",
884 "unset_variable", "function_declaration_statement", "is_reference",
885 "is_variadic", "class_declaration_statement", "@4", "@5",
886 "class_modifiers", "class_modifier", "trait_declaration_statement", "@6",
887 "interface_declaration_statement", "@7", "extends_from",
888 "interface_extends_list", "implements_list", "foreach_variable",
889 "for_statement", "foreach_statement", "declare_statement",
890 "switch_case_list", "case_list", "case_separator", "while_statement",
891 "if_stmt_without_else", "if_stmt", "alt_if_stmt_without_else",
892 "alt_if_stmt", "parameter_list", "non_empty_parameter_list", "parameter",
893 "optional_type", "type_expr", "type", "return_type", "argument_list",
894 "non_empty_argument_list", "argument", "global_var_list", "global_var",
895 "static_var_list", "static_var", "class_statement_list",
896 "class_statement", "name_list", "trait_adaptations",
897 "trait_adaptation_list", "trait_adaptation", "trait_precedence",
898 "trait_alias", "trait_method_reference",
899 "absolute_trait_method_reference", "method_body", "variable_modifiers",
900 "method_modifiers", "non_empty_member_modifiers", "member_modifier",
901 "property_list", "property", "class_const_list", "class_const_decl",
902 "const_decl", "echo_expr_list", "echo_expr", "for_exprs",
903 "non_empty_for_exprs", "anonymous_class", "@8", "new_expr", "expr",
904 "function", "backup_doc_comment", "backup_fn_flags", "returns_ref",
905 "lexical_vars", "lexical_var_list", "lexical_var", "function_call",
906 "class_name", "class_name_reference", "exit_expr", "backticks_expr",
907 "ctor_arguments", "dereferencable_scalar", "scalar", "constant",
908 "optional_expr", "variable_class_name", "dereferencable",
909 "callable_expr", "callable_variable", "variable", "simple_variable",
910 "static_member", "new_variable", "member_name", "property_name",
911 "array_pair_list", "possible_array_pair", "non_empty_array_pair_list",
912 "array_pair", "encaps_list", "encaps_var", "encaps_var_offset",
913 "internal_functions_in_yacc", "isset_variables", "isset_variable", YY_NULLPTR
914 };
915 #endif
916
917 # ifdef YYPRINT
918 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
919 (internal) symbol number NUM (which must be that of a token). */
920 static const yytype_uint16 yytoknum[] =
921 {
922 0, 256, 257, 258, 259, 260, 261, 262, 44, 263,
923 264, 265, 266, 267, 268, 269, 61, 270, 271, 272,
924 273, 274, 275, 276, 277, 278, 279, 280, 281, 63,
925 58, 282, 283, 284, 124, 94, 38, 285, 286, 287,
926 288, 289, 60, 290, 62, 291, 292, 293, 43, 45,
927 46, 42, 47, 37, 33, 294, 126, 295, 296, 297,
928 298, 299, 300, 301, 302, 303, 64, 304, 91, 305,
929 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
930 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
931 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
932 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
933 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
934 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
935 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
936 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
937 386, 387, 388, 389, 390, 391, 392, 40, 41, 59,
938 123, 125, 93, 96, 34, 36
939 };
940 # endif
941
942 #define YYPACT_NINF -713
943
944 #define yypact_value_is_default(Yystate) \
945 (!!((Yystate) == (-713)))
946
947 #define YYTABLE_NINF -471
948
949 #define yytable_value_is_error(Yytable_value) \
950 (!!((Yytable_value) == (-471)))
951
952 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
953 STATE-NUM. */
954 static const yytype_int16 yypact[] =
955 {
956 -713, 88, 1218, -713, 5567, 5567, -58, 5567, 5567, 5567,
957 5567, 5567, 5567, 5567, 5567, 5567, 593, 593, 5567, 5567,
958 5567, 5567, 5567, 5567, 5567, 5567, 4895, 469, 5567, 25,
959 -713, -713, -713, -713, 91, -713, -713, -713, -23, -20,
960 5567, 4620, -1, 6, 47, 82, 96, 5567, 5567, 56,
961 -713, 119, 5567, 65, 5567, 216, 21, 100, 171, 183,
962 186, -713, -713, -713, 189, 196, -713, -713, -713, -713,
963 -713, -713, -713, 427, -9, -713, 162, 5567, -713, -713,
964 475, 555, 75, 201, -54, -713, -713, -713, -713, 37,
965 -713, -713, -713, 51, -713, 46, -713, -713, 6580, 321,
966 -713, 211, 298, -713, 297, 217, 18, 214, 219, 382,
967 -713, -713, -713, 264, -713, 228, 7286, 321, 7286, 5567,
968 7286, 7286, 1529, 1203, 1529, 318, 318, 41, 318, 4895,
969 -713, 5567, 256, 297, 38, 38, 318, 318, 318, 318,
970 318, 318, 318, 318, 593, 269, 7192, 267, -713, 430,
971 -713, -713, -713, -713, 284, 214, -713, 165, -713, 425,
972 7, -713, 321, -713, 5567, -713, 5567, 52, -713, 7286,
973 352, 5567, 5567, 5567, 119, 5567, 7286, 289, 293, 303,
974 440, 53, -713, 305, -713, 6627, -713, -713, 162, 29,
975 78, 306, 55, -713, -713, 57, -713, -713, 593, 5567,
976 5567, 313, 391, 392, 397, 4895, 4895, 30, 328, -713,
977 5007, 593, 448, -713, 162, -44, 344, 201, 6674, 1381,
978 247, 343, 626, 247, 283, 5567, -713, 424, 4783, -713,
979 -713, -713, 357, 4620, 367, 479, 370, 5567, 5567, 5567,
980 5119, 5567, 5567, 5567, 5567, 5567, 5567, 5567, 5567, 5567,
981 5567, 5567, 5567, 5567, 5567, 5567, 5567, 5567, 5567, 5567,
982 5567, 5567, 5567, 5567, 544, 5567, -713, -713, 443, 3500,
983 5567, 3500, 5567, 258, 5567, -713, 5231, 5567, 5567, 5567,
984 5567, 5567, 5567, 5567, 5567, 5567, 5567, 5567, 5567, -713,
985 -713, -713, 6721, 5567, 369, 6768, 13, 4895, 5343, 523,
986 4895, 214, 21, -713, -713, 5567, 258, 21, 5567, 5567,
987 459, -713, -713, 393, 6815, 5567, -713, 398, 6862, 395,
988 550, 7286, 7144, 22, 6909, -713, -713, -713, 5567, 119,
989 -713, -713, 1544, -713, 190, -713, 480, -13, 162, 221,
990 408, 59, -713, 160, -713, 21, -713, 560, -713, 69,
991 7286, 563, -713, 6956, 419, 446, -713, 453, 442, 455,
992 481, 502, -713, -713, -17, 6001, 454, -713, -713, -713,
993 201, -713, 444, -713, 312, 457, -713, -713, -713, -713,
994 -713, -713, -713, -713, -713, 6048, -713, 5567, -713, 609,
995 -713, 7286, 535, 5567, -713, 5567, -713, -713, 1369, 1043,
996 1529, 5567, 7239, 1692, 1853, 2016, 2179, 2339, 2501, 2664,
997 2664, 2664, 2664, 2664, 878, 878, 878, 878, 812, 812,
998 326, 326, 326, 41, 41, 41, -713, 318, -713, 465,
999 -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
1000 -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
1001 -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
1002 -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
1003 -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
1004 -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
1005 -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
1006 -713, -713, -713, -713, 5567, -713, -713, 476, 478, 214,
1007 464, 476, 478, 214, 482, -713, 5567, -713, 214, 6096,
1008 593, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529,
1009 1529, 1529, 1529, 1529, -713, 1529, -713, 483, 474, 593,
1010 486, 7286, 5567, -713, 446, -713, 484, -713, -713, 6143,
1011 7286, -713, 488, -713, 3805, -713, 5567, 3968, 5567, 5567,
1012 90, -713, -10, 7286, -713, -713, 19, -713, 17, 261,
1013 33, -713, -713, 162, 270, -713, -713, 593, 490, 5567,
1014 491, -713, -713, 207, 522, 492, 207, -713, 637, -713,
1015 565, -713, -713, -713, 493, -713, 5567, -713, -713, -713,
1016 -713, 892, 501, -713, 7286, 5455, 506, 446, 7003, 7050,
1017 1707, 1692, 5567, 509, 262, 6191, -713, -713, -713, -713,
1018 6238, -713, -713, 38, 637, 14, 4895, 1529, 522, -713,
1019 -713, 262, -713, -713, 7097, -713, -713, -713, 515, 7286,
1020 593, 4895, 518, 26, 27, 4131, 520, 525, -713, -713,
1021 136, 17, 162, 677, -713, -713, 34, 162, -713, 528,
1022 -713, -713, -713, 207, -713, -713, -713, 681, 530, 5567,
1023 -713, -713, 450, 1055, -713, 541, -713, -713, 522, 4620,
1024 671, 543, 1692, 262, 383, -713, -713, -713, 548, 699,
1025 -713, 682, -713, -713, -713, -713, 566, -713, 570, 3642,
1026 573, 1870, 5567, 45, 571, 4895, 90, 4294, -713, -713,
1027 -713, -713, 415, -713, -12, 577, 576, -713, 677, -713,
1028 17, 579, 162, 729, -713, -713, 681, 584, 470, 207,
1029 -713, 1529, 585, -713, -713, -713, -713, -713, -713, 590,
1030 -713, 632, 104, -713, 596, 637, 594, 632, -713, 597,
1031 599, 48, 601, 602, -713, -713, -713, 2033, 487, 603,
1032 5567, 49, 229, -713, 207, -713, 616, -713, -713, 729,
1033 162, 617, -713, -713, -713, -713, -713, -713, -713, 207,
1034 -713, -713, -713, 695, 149, 859, -713, -713, 688, -713,
1035 620, 3642, 751, 628, 751, -713, -713, 702, -713, 751,
1036 -713, 4457, -713, 4294, 2196, 624, 629, -713, 5717, -713,
1037 -713, -713, -713, -713, 58, 2359, -713, 630, -713, -713,
1038 694, 50, 771, 60, -713, 6310, 321, -713, -713, -713,
1039 104, -713, 68, -713, 774, 719, -713, -713, -713, -713,
1040 -713, 633, -713, -713, -713, 3642, 207, 642, -713, -713,
1041 -713, -713, 5730, -713, 5567, -713, 695, -713, 785, 61,
1042 -713, 6310, 752, -713, 643, 722, -713, 73, -713, 647,
1043 5567, -713, 649, 2522, -713, 3642, -713, 650, 710, 228,
1044 -713, -713, 666, 5868, -713, 660, 662, 720, 705, 7286,
1045 -713, 5567, 6310, -713, -713, -713, -713, -713, 68, -713,
1046 -713, 7286, -713, 665, -713, 6310, -713, -713, -713, -713,
1047 6448, 207, -713, 7286, -713, 668, 2685, -713, 2848, 3011,
1048 -713, 3174, -713, -713, -713, 6310, 681, -713, 262, -713,
1049 -713, -713, -713, -713, 675, -713, -713, -713, 751, -713,
1050 178, -713, -713, -713, 3337, -713, -713
1051 };
1052
1053 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1054 Performed when YYTABLE does not specify something else to do. Zero
1055 means the default is an error. */
1056 static const yytype_uint16 yydefact[] =
1057 {
1058 80, 0, 2, 1, 0, 0, 0, 0, 0, 0,
1059 373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 0, 0, 0, 0, 0, 463, 0, 0, 394,
1061 177, 178, 408, 409, 81, 445, 145, 407, 398, 0,
1062 0, 0, 0, 0, 0, 0, 0, 427, 427, 0,
1063 379, 0, 427, 0, 0, 0, 0, 0, 0, 0,
1064 0, 173, 179, 181, 0, 0, 410, 411, 412, 417,
1065 413, 414, 415, 0, 95, 416, 0, 0, 152, 125,
1066 400, 0, 0, 83, 424, 79, 86, 87, 88, 0,
1067 175, 89, 90, 212, 133, 0, 134, 356, 0, 382,
1068 441, 0, 422, 370, 423, 0, 429, 0, 442, 302,
1069 436, 443, 360, 394, 81, 0, 490, 382, 491, 0,
1070 493, 494, 372, 374, 376, 341, 342, 343, 344, 463,
1071 394, 0, 432, 0, 321, 323, 361, 362, 363, 364,
1072 365, 366, 367, 369, 0, 0, 468, 0, 466, 462,
1073 464, 298, 395, 301, 396, 403, 450, 397, 307, 244,
1074 0, 243, 382, 156, 427, 368, 0, 0, 292, 293,
1075 0, 0, 294, 0, 0, 0, 428, 0, 0, 0,
1076 0, 0, 123, 0, 125, 0, 102, 103, 0, 118,
1077 0, 0, 0, 120, 115, 0, 240, 241, 0, 0,
1078 0, 0, 0, 0, 0, 463, 463, 477, 0, 419,
1079 0, 0, 0, 475, 0, 93, 0, 85, 0, 0,
1080 401, 0, 402, 0, 0, 0, 447, 0, 0, 390,
1081 171, 176, 0, 0, 0, 0, 0, 0, 0, 0,
1082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1084 0, 0, 0, 0, 0, 0, 146, 383, 380, 0,
1085 427, 0, 427, 0, 0, 393, 0, 0, 0, 0,
1086 0, 0, 0, 0, 0, 0, 0, 0, 0, 320,
1087 322, 380, 0, 0, 0, 0, 430, 463, 0, 406,
1088 463, 403, 0, 404, 300, 427, 0, 0, 0, 0,
1089 0, 143, 380, 0, 0, 0, 144, 0, 0, 0,
1090 295, 297, 0, 0, 0, 139, 140, 155, 0, 0,
1091 101, 141, 0, 154, 118, 121, 0, 0, 0, 118,
1092 0, 0, 97, 0, 99, 0, 142, 108, 163, 430,
1093 497, 108, 495, 0, 0, 183, 380, 185, 0, 0,
1094 0, 0, 418, 476, 0, 0, 430, 474, 421, 473,
1095 84, 92, 0, 80, 355, 0, 132, 124, 126, 127,
1096 128, 129, 130, 371, 420, 0, 82, 0, 233, 108,
1097 235, 237, 0, 0, 213, 0, 125, 216, 326, 328,
1098 327, 0, 0, 359, 324, 325, 329, 331, 330, 347,
1099 348, 345, 346, 353, 349, 350, 351, 352, 339, 340,
1100 333, 334, 332, 335, 337, 338, 354, 336, 380, 0,
1101 3, 4, 5, 6, 7, 8, 9, 10, 46, 47,
1102 11, 12, 13, 16, 17, 18, 71, 72, 73, 74,
1103 75, 76, 77, 14, 15, 19, 20, 21, 22, 23,
1104 24, 25, 26, 27, 28, 29, 49, 50, 51, 52,
1105 53, 41, 42, 43, 44, 45, 30, 31, 32, 33,
1106 34, 35, 36, 37, 38, 39, 40, 61, 59, 60,
1107 56, 57, 48, 54, 55, 66, 67, 68, 62, 63,
1108 65, 64, 58, 69, 0, 70, 78, 425, 448, 0,
1109 0, 426, 449, 0, 0, 459, 0, 461, 444, 0,
1110 0, 305, 308, 309, 310, 312, 313, 314, 315, 316,
1111 317, 318, 319, 311, 492, 375, 406, 431, 0, 0,
1112 0, 467, 0, 465, 183, 454, 0, 453, 455, 0,
1113 245, 242, 0, 399, 0, 291, 0, 0, 294, 0,
1114 0, 150, 0, 380, 122, 157, 0, 119, 0, 118,
1115 0, 98, 100, 0, 118, 114, 239, 109, 0, 109,
1116 0, 489, 91, 0, 187, 0, 0, 380, 0, 405,
1117 0, 484, 487, 485, 0, 479, 0, 481, 480, 483,
1118 80, 0, 0, 446, 238, 109, 0, 183, 0, 0,
1119 0, 358, 0, 0, 224, 0, 391, 438, 392, 437,
1120 0, 440, 439, 306, 472, 430, 463, 304, 187, 451,
1121 452, 224, 125, 210, 0, 125, 208, 135, 0, 296,
1122 0, 463, 0, 0, 430, 0, 203, 203, 138, 290,
1123 161, 0, 0, 108, 111, 116, 0, 0, 164, 0,
1124 496, 488, 184, 0, 380, 247, 252, 186, 0, 0,
1125 486, 478, 0, 0, 96, 0, 236, 234, 187, 0,
1126 0, 0, 357, 224, 0, 228, 229, 230, 0, 218,
1127 220, 167, 225, 226, 457, 460, 0, 380, 0, 214,
1128 0, 0, 294, 430, 0, 463, 0, 0, 125, 197,
1129 151, 203, 0, 203, 0, 0, 0, 153, 108, 117,
1130 109, 0, 0, 108, 113, 147, 188, 0, 273, 0,
1131 247, 303, 0, 94, 131, 380, 211, 125, 217, 0,
1132 227, 384, 224, 168, 169, 471, 0, 384, 136, 0,
1133 0, 406, 0, 0, 125, 195, 148, 0, 0, 0,
1134 0, 0, 0, 199, 0, 125, 0, 110, 106, 108,
1135 109, 0, 247, 280, 281, 282, 279, 278, 277, 0,
1136 272, 180, 246, 0, 0, 274, 275, 253, 273, 482,
1137 0, 215, 231, 0, 231, 221, 170, 0, 247, 231,
1138 209, 0, 191, 0, 0, 0, 0, 201, 0, 206,
1139 207, 125, 200, 159, 0, 0, 107, 0, 112, 104,
1140 273, 0, 380, 0, 284, 0, 382, 276, 182, 247,
1141 0, 381, 0, 381, 222, 273, 381, 125, 193, 137,
1142 149, 0, 198, 202, 125, 205, 0, 0, 162, 105,
1143 174, 254, 0, 250, 0, 285, 0, 248, 0, 0,
1144 288, 0, 273, 232, 0, 0, 388, 0, 387, 0,
1145 0, 299, 0, 0, 196, 204, 160, 0, 81, 58,
1146 255, 266, 0, 0, 257, 0, 0, 0, 267, 380,
1147 283, 0, 0, 249, 380, 172, 125, 389, 0, 385,
1148 125, 223, 125, 0, 125, 0, 256, 258, 259, 260,
1149 0, 0, 286, 380, 287, 0, 0, 386, 0, 0,
1150 194, 0, 268, 262, 263, 265, 261, 289, 224, 381,
1151 381, 381, 158, 264, 0, 166, 377, 378, 231, 381,
1152 0, 269, 125, 381, 0, 251, 270
1153 };
1154
1155 /* YYPGOTO[NTERM-NUM]. */
1156 static const yytype_int16 yypgoto[] =
1157 {
1158 -713, -713, -76, -713, -214, -359, -50, -26, -713, -713,
1159 -713, 780, -713, -713, -335, 187, 115, 651, 120, -184,
1160 499, 670, -181, -713, 15, -713, -713, -713, -713, -713,
1161 268, 5, -713, -713, 8, -713, -713, -713, 757, 9,
1162 -713, 10, -713, -471, -713, -521, 141, -713, 63, -713,
1163 -713, -581, 40, -713, -713, -713, -713, -713, -608, -713,
1164 108, -713, 23, 167, -712, -82, -713, 249, -713, 507,
1165 -713, 546, -647, -713, -657, -713, -713, -25, -713, -713,
1166 -713, -713, -713, -713, -713, -713, -705, -713, 12, -713,
1167 -22, 545, -713, 561, -474, -713, -713, -713, -713, 24,
1168 -2, -227, -486, -109, 128, -713, -21, -713, -18, 618,
1169 -713, -713, 582, 2, -713, 153, 43, -713, -713, -713,
1170 -713, 175, 85, -713, -713, 613, 580, -116, 587, -713,
1171 -713, 341, 519, -713, -713, -713, 309
1172 };
1173
1174 /* YYDEFGOTO[NTERM-NUM]. */
1175 static const yytype_int16 yydefgoto[] =
1176 {
1177 -1, 1, 505, 506, 858, 2, 83, 84, 85, 372,
1178 216, 652, 340, 191, 578, 653, 723, 192, 654, 193,
1179 194, 181, 219, 377, 378, 645, 650, 814, 717, 347,
1180 348, 379, 744, 797, 380, 392, 202, 89, 90, 381,
1181 203, 382, 204, 584, 587, 664, 643, 839, 756, 710,
1182 648, 712, 811, 637, 93, 94, 95, 96, 688, 689,
1183 690, 691, 692, 693, 831, 303, 389, 390, 195, 196,
1184 160, 161, 728, 782, 667, 853, 883, 884, 885, 886,
1185 887, 888, 943, 783, 784, 785, 786, 823, 824, 859,
1186 860, 182, 167, 168, 319, 320, 153, 301, 97, 98,
1187 117, 429, 864, 268, 794, 867, 868, 100, 101, 155,
1188 165, 221, 304, 102, 103, 104, 177, 105, 106, 107,
1189 108, 109, 110, 111, 157, 509, 518, 147, 148, 149,
1190 150, 212, 213, 594, 112, 351, 352
1191 };
1192
1193 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
1194 positive, shift that token. If negative, reduce the rule whose
1195 number is the opposite. If YYTABLE_NINF, syntax error. */
1196 static const yytype_int16 yytable[] =
1197 {
1198 99, 152, 229, 332, 335, 189, 726, 87, 291, 154,
1199 88, 91, 92, 294, 601, 310, 580, 86, 132, 132,
1200 646, -470, -469, 698, 215, 275, 217, 162, 116, 118,
1201 329, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1202 706, -189, 136, 137, 138, 139, 140, 141, 142, 143,
1203 146, 596, 158, 312, 606, 507, 170, 511, 729, -190,
1204 315, 329, -192, 343, 169, 345, 714, 343, 856, 892,
1205 386, 176, 176, 628, 114, 739, 176, -165, 185, 809,
1206 827, 898, 833, 788, 638, 552, 272, 836, 3, 358,
1207 359, 178, 846, 760, 761, 183, 264, -395, 360, 119,
1208 114, 218, 386, 228, 865, 35, -430, 697, 265, 159,
1209 227, 162, 156, 30, 31, 371, 386, 386, 234, 235,
1210 236, 163, 821, 232, 233, 820, 640, 186, 187, 585,
1211 758, 336, 762, 684, 164, 50, 678, 166, 334, 179,
1212 339, 197, 847, 292, 597, 214, 132, 568, 273, 763,
1213 647, 835, 866, 146, 335, 295, 171, 735, 641, 35,
1214 361, 114, 230, 172, 370, 130, 311, 226, -430, 133,
1215 133, -470, -469, 114, 35, -470, -469, 37, 274, 651,
1216 561, 538, 862, 337, 707, -189, 82, 114, 176, -430,
1217 314, 134, 135, 657, 722, 318, 321, 322, -430, 324,
1218 132, 613, 180, -190, 173, 925, -192, 313, 810, 851,
1219 852, 316, 330, 132, 344, 610, 346, 99, 572, 857,
1220 893, 642, 65, 350, 353, 184, 939, -165, 750, 146,
1221 146, 899, 338, 305, 365, 225, 685, 686, 152, 174,
1222 82, 673, 115, 114, 76, 114, 154, 131, 394, 385,
1223 715, 716, 391, 175, 926, 82, 115, 198, 76, 50,
1224 825, 398, 399, 400, 402, 403, 404, 405, 406, 407,
1225 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
1226 418, 419, 420, 421, 422, 423, 424, 425, 569, 427,
1227 114, 684, 336, 574, 176, 306, 176, 133, 519, 114,
1228 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
1229 531, 532, 533, 510, 573, 514, 307, 535, 721, 296,
1230 934, 146, 541, 336, 146, 308, 186, 187, 199, 176,
1231 99, 207, 549, 550, 760, 761, 649, 941, 942, 169,
1232 200, 515, 35, 201, 566, 114, 205, 869, 546, 156,
1233 872, 133, 563, 206, 508, 227, 512, 267, 517, 115,
1234 668, 76, 269, 336, 133, 270, -432, 207, 271, 367,
1235 188, 228, 336, 349, 50, 570, -433, 261, 262, 263,
1236 -431, 264, 214, 766, 655, 265, 366, 545, 771, 335,
1237 812, 517, 548, 265, 685, 686, 210, 211, 276, 277,
1238 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1239 288, 604, 207, -435, 115, 656, 76, 608, 516, 609,
1240 -219, 222, 224, 82, 227, 611, 297, 616, -432, 299,
1241 197, 618, 210, 211, 817, 302, 621, 727, 300, 289,
1242 290, 309, -431, 935, 936, 937, 317, 384, 325, -432,
1243 -430, 699, 326, 940, 701, -435, 328, 945, -432, 237,
1244 238, 239, 327, -431, 331, 342, 114, 655, 719, -434,
1245 746, 354, -431, 724, 355, 356, 362, 210, 211, 240,
1246 357, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1247 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1248 260, 261, 262, 263, 373, 264, 383, 386, 790, 396,
1249 696, 207, -430, 208, 393, 685, 686, 265, 574, 759,
1250 760, 761, 132, 574, 395, 704, 428, 757, 615, 397,
1251 590, 536, 207, -430, 367, 115, 655, 76, 724, 542,
1252 620, 132, -430, 159, 130, 773, 774, 775, 776, 777,
1253 778, 553, 114, 35, 558, 556, 791, 662, 559, 207,
1254 666, 220, 132, 567, 591, 592, 627, 571, 577, 633,
1255 593, 579, 636, 804, 583, 209, 210, 211, 582, 132,
1256 634, 586, 321, 639, 815, 595, 818, 779, 687, 752,
1257 780, 806, 760, 761, 151, 855, 368, 210, 211, 99,
1258 588, 574, 574, 350, 600, 687, 87, 574, 99, 88,
1259 91, 92, 732, 589, 602, 599, 86, 605, 607, 130,
1260 672, 115, 614, 76, 210, 211, 617, 114, 35, 391,
1261 845, 781, 624, -456, 82, -458, 682, 666, 881, 207,
1262 -434, 223, 132, 626, 619, 631, 629, 894, 659, 661,
1263 146, 663, 665, 669, 670, 671, 873, 687, 687, 675,
1264 709, 129, 912, 875, 677, 146, 683, 915, 130, 881,
1265 574, 99, 574, 133, 702, 705, 114, 35, 87, 711,
1266 37, 88, 91, 92, 713, 720, 927, 725, 86, 729,
1267 730, 922, 133, 731, 736, 623, 115, 99, 76, 99,
1268 734, 737, 738, 787, 210, 211, 741, 742, 132, 82,
1269 207, 933, 367, 133, 625, 916, 687, 861, 743, 918,
1270 574, 919, 755, 921, 745, 65, 321, 363, 747, 146,
1271 133, 369, 748, 751, 764, 644, 765, 770, 813, 363,
1272 768, 369, 363, 369, 772, 115, 789, 76, 792, 793,
1273 131, 796, 349, 666, 798, 99, 800, 801, 82, 802,
1274 803, 944, 807, 773, 774, 775, 776, 777, 778, 773,
1275 774, 775, 776, 777, 778, 210, 211, 816, 819, 822,
1276 829, 830, 826, 842, 808, 832, 834, 854, 843, 99,
1277 870, 849, 874, 133, 773, 774, 775, 776, 777, 778,
1278 877, 891, 99, 896, 687, 779, 897, 900, 780, 902,
1279 904, 779, -77, 99, 780, 703, 838, 905, 755, 908,
1280 876, 909, 910, 911, 920, 928, 882, 773, 774, 775,
1281 776, 777, 778, 938, 924, 190, 779, 769, 718, 780,
1282 767, 341, 575, 99, 323, 658, 231, 753, 844, 828,
1283 795, 740, 576, 863, 676, 850, 551, 882, 907, 133,
1284 258, 259, 260, 261, 262, 263, 840, 264, 890, 779,
1285 914, 99, 780, 99, 564, 799, 555, 917, 889, 265,
1286 871, 644, 426, 544, 513, 666, 547, 543, 660, 0,
1287 0, 0, 0, 0, 901, 4, 5, 6, 7, 8,
1288 0, 0, 687, 0, 9, 10, 0, 11, 0, 0,
1289 0, 0, 0, 895, 99, 913, 99, 99, 0, 99,
1290 -471, -471, -471, -471, 256, 257, 258, 259, 260, 261,
1291 262, 263, 0, 264, 773, 774, 775, 776, 777, 778,
1292 12, 13, 99, -271, 0, 265, 14, 0, 15, 16,
1293 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,
1294 26, 27, 28, 0, 0, 0, 0, 29, 30, 31,
1295 0, 0, 0, 32, 33, 34, 35, 36, 0, 37,
1296 0, 0, 38, 39, 40, 41, 42, 0, 43, 0,
1297 44, 0, 45, 0, 0, 46, 0, 0, 0, 47,
1298 48, 49, 50, 51, 52, 53, 0, 0, 54, 55,
1299 0, 56, 0, 57, 58, 59, 60, 61, 62, 63,
1300 0, 0, 0, 64, 65, 0, 66, 67, 68, 69,
1301 70, 71, 72, 0, 0, 0, 0, 0, 0, 73,
1302 0, 0, 0, 0, 74, 75, 76, 0, 0, 77,
1303 0, 78, 79, 674, 239, 80, 81, 82, 4, 5,
1304 6, 7, 8, 0, 0, 0, 0, 9, 10, 0,
1305 11, 0, 240, 0, 241, 242, 243, 244, 245, 246,
1306 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1307 257, 258, 259, 260, 261, 262, 263, 0, 264, 0,
1308 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
1309 265, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1310 24, 25, 0, 26, 27, 28, 0, 0, 0, 0,
1311 29, 30, 31, 0, 0, 0, 32, 33, 34, 35,
1312 36, 0, 37, 0, 0, 38, 39, 40, 41, 42,
1313 0, 43, 0, 44, 0, 45, 0, 0, 46, 0,
1314 0, 0, 47, 48, 49, 50, 51, 52, 53, 0,
1315 0, 54, 55, 0, 56, 0, 57, 58, 59, 60,
1316 61, 62, 63, 0, 0, 0, 64, 65, 0, 66,
1317 67, 68, 69, 70, 71, 72, 0, 0, 0, 0,
1318 0, 0, 73, 0, 0, 0, 0, 74, 75, 76,
1319 0, 0, 77, 0, 78, 79, 733, 293, 80, 81,
1320 82, 4, 5, 6, 7, 8, 0, 0, 0, 0,
1321 9, 10, 240, 11, 241, 242, 243, 244, 245, 246,
1322 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1323 257, 258, 259, 260, 261, 262, 263, 0, 264, 0,
1324 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
1325 265, 0, 14, 0, 15, 16, 17, 18, 19, 20,
1326 21, 22, 23, 24, 25, 0, 26, 27, 28, 0,
1327 0, 0, 0, 29, 30, 31, 0, 0, 0, 32,
1328 33, 34, 35, 36, 0, 37, 0, 0, 38, 39,
1329 40, 41, 42, 0, 43, 0, 44, 0, 45, 0,
1330 0, 46, 0, 0, 0, 47, 48, 49, 50, 51,
1331 52, 53, 0, 0, 54, 55, 0, 56, 0, 57,
1332 58, 59, 60, 61, 62, 63, 0, 0, 0, 64,
1333 65, 0, 66, 67, 68, 69, 70, 71, 72, 0,
1334 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
1335 74, 75, 76, 0, 0, 77, 0, 78, 79, 238,
1336 239, 80, 81, 82, 4, 5, 6, 7, 8, 0,
1337 0, 0, 0, 9, 10, 0, 11, 0, 240, 0,
1338 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1339 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1340 261, 262, 263, 0, 264, 0, 0, 0, 0, 12,
1341 13, 0, 0, 0, 0, 14, 265, 15, 16, 17,
1342 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
1343 27, 28, 0, 0, 0, 0, 29, 30, 31, 0,
1344 0, 0, 32, 33, 34, 35, 36, 0, 37, 0,
1345 0, 38, 39, 40, 41, 42, 0, 43, 0, 44,
1346 0, 45, 0, 0, 46, 0, 0, 0, 47, 48,
1347 49, 50, 0, 52, 53, 0, 0, 54, 0, 0,
1348 56, 0, 57, 58, 59, 375, 61, 62, 63, 0,
1349 0, 0, 64, 65, 0, 66, 67, 68, 69, 70,
1350 71, 72, 0, 0, 0, 0, 0, 0, 73, 0,
1351 0, 0, 0, 115, 75, 76, 0, 0, 77, 0,
1352 78, 79, 376, 0, 80, 81, 82, 4, 5, 6,
1353 7, 8, 0, 0, 0, 0, 9, 10, 240, 11,
1354 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1355 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1356 261, 262, 263, 0, 264, 0, 0, 0, 0, 0,
1357 0, 0, 12, 13, 0, 0, 265, 0, 14, 0,
1358 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1359 25, 0, 26, 27, 28, 0, 0, 0, 0, 29,
1360 30, 31, 0, 0, 0, 32, 33, 34, 35, 36,
1361 0, 37, 0, 0, 38, 39, 40, 41, 42, 0,
1362 43, 0, 44, 0, 45, 0, 0, 46, 0, 0,
1363 0, 47, 48, 49, 50, 0, 52, 53, 0, 0,
1364 54, 0, 0, 56, 0, 57, 58, 59, 375, 61,
1365 62, 63, 0, 0, 0, 64, 65, 0, 66, 67,
1366 68, 69, 70, 71, 72, 0, 0, 0, 0, 0,
1367 0, 73, 0, 0, 0, 0, 115, 75, 76, 0,
1368 0, 77, 0, 78, 79, 565, 0, 80, 81, 82,
1369 4, 5, 6, 7, 8, 0, 0, 0, 0, 9,
1370 10, 0, 11, 241, 242, 243, 244, 245, 246, 247,
1371 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1372 258, 259, 260, 261, 262, 263, 0, 264, 0, 0,
1373 0, 0, 0, 0, 0, 12, 13, 0, 0, 265,
1374 0, 14, 0, 15, 16, 17, 18, 19, 20, 21,
1375 22, 23, 24, 25, 0, 26, 27, 28, 0, 0,
1376 0, 681, 29, 30, 31, 0, 0, 0, 32, 33,
1377 34, 35, 36, 0, 37, 0, 0, 38, 39, 40,
1378 41, 42, 0, 43, 0, 44, 0, 45, 0, 0,
1379 46, 0, 0, 0, 47, 48, 49, 50, 0, 52,
1380 53, 0, 0, 54, 0, 0, 56, 0, 57, 58,
1381 59, 375, 61, 62, 63, 0, 0, 0, 64, 65,
1382 0, 66, 67, 68, 69, 70, 71, 72, 0, 0,
1383 0, 0, 0, 0, 73, 0, 0, 0, 0, 115,
1384 75, 76, 0, 0, 77, 0, 78, 79, 0, 0,
1385 80, 81, 82, 4, 5, 6, 7, 8, 0, 0,
1386 0, 0, 9, 10, 0, 11, 243, 244, 245, 246,
1387 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1388 257, 258, 259, 260, 261, 262, 263, 0, 264, 0,
1389 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
1390 265, 0, 0, 0, 14, 0, 15, 16, 17, 18,
1391 19, 20, 21, 22, 23, 24, 25, 0, 26, 27,
1392 28, 0, 0, 0, 0, 29, 30, 31, 0, 0,
1393 0, 32, 33, 34, 35, 36, 0, 37, 0, 0,
1394 38, 39, 40, 41, 42, 749, 43, 0, 44, 0,
1395 45, 0, 0, 46, 0, 0, 0, 47, 48, 49,
1396 50, 0, 52, 53, 0, 0, 54, 0, 0, 56,
1397 0, 57, 58, 59, 375, 61, 62, 63, 0, 0,
1398 0, 64, 65, 0, 66, 67, 68, 69, 70, 71,
1399 72, 0, 0, 0, 0, 0, 0, 73, 0, 0,
1400 0, 0, 115, 75, 76, 0, 0, 77, 0, 78,
1401 79, 0, 0, 80, 81, 82, 4, 5, 6, 7,
1402 8, 0, 0, 0, 0, 9, 10, 0, 11, 0,
1403 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1404 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1405 0, 264, 0, 0, 0, 0, 0, 0, 0, 0,
1406 0, 12, 13, 265, 0, 0, 0, 14, 0, 15,
1407 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1408 0, 26, 27, 28, 0, 0, 0, 0, 29, 30,
1409 31, 0, 0, 0, 32, 33, 34, 35, 36, 0,
1410 37, 0, 0, 38, 39, 40, 41, 42, 0, 43,
1411 0, 44, 0, 45, 805, 0, 46, 0, 0, 0,
1412 47, 48, 49, 50, 0, 52, 53, 0, 0, 54,
1413 0, 0, 56, 0, 57, 58, 59, 375, 61, 62,
1414 63, 0, 0, 0, 64, 65, 0, 66, 67, 68,
1415 69, 70, 71, 72, 0, 0, 0, 0, 0, 0,
1416 73, 0, 0, 0, 0, 115, 75, 76, 0, 0,
1417 77, 0, 78, 79, 0, 0, 80, 81, 82, 4,
1418 5, 6, 7, 8, 0, 0, 0, 0, 9, 10,
1419 0, 11, 0, 0, 245, 246, 247, 248, 249, 250,
1420 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1421 261, 262, 263, 0, 264, 0, 0, 0, 0, 0,
1422 0, 0, 0, 0, 12, 13, 265, 0, 0, 0,
1423 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
1424 23, 24, 25, 0, 26, 27, 28, 0, 0, 0,
1425 0, 29, 30, 31, 0, 0, 0, 32, 33, 34,
1426 35, 36, 0, 37, 0, 0, 38, 39, 40, 41,
1427 42, 0, 43, 0, 44, 841, 45, 0, 0, 46,
1428 0, 0, 0, 47, 48, 49, 50, 0, 52, 53,
1429 0, 0, 54, 0, 0, 56, 0, 57, 58, 59,
1430 375, 61, 62, 63, 0, 0, 0, 64, 65, 0,
1431 66, 67, 68, 69, 70, 71, 72, 0, 0, 0,
1432 0, 0, 0, 73, 0, 0, 0, 0, 115, 75,
1433 76, 0, 0, 77, 0, 78, 79, 0, 0, 80,
1434 81, 82, 4, 5, 6, 7, 8, 0, 0, 0,
1435 0, 9, 10, 0, 11, 246, 247, 248, 249, 250,
1436 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1437 261, 262, 263, 0, 264, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 265, 12, 13, 0,
1439 0, 0, 0, 14, 0, 15, 16, 17, 18, 19,
1440 20, 21, 22, 23, 24, 25, 0, 26, 27, 28,
1441 0, 0, 0, 0, 29, 30, 31, 0, 0, 0,
1442 32, 33, 34, 35, 36, 0, 37, 0, 0, 38,
1443 39, 40, 41, 42, 0, 43, 0, 44, 0, 45,
1444 0, 0, 46, 0, 0, 0, 47, 48, 49, 50,
1445 0, 52, 53, 0, 0, 54, 0, 0, 56, 0,
1446 57, 58, 59, 375, 61, 62, 63, 0, 0, 0,
1447 64, 65, 0, 66, 67, 68, 69, 70, 71, 72,
1448 0, 0, 0, 0, 0, 0, 73, 0, 0, 0,
1449 0, 115, 75, 76, 0, 0, 77, 0, 78, 79,
1450 848, 0, 80, 81, 82, 4, 5, 6, 7, 8,
1451 0, 0, 0, 0, 9, 10, 0, 11, 247, 248,
1452 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1453 259, 260, 261, 262, 263, 0, 264, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0, 265, 0,
1455 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
1456 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,
1457 26, 27, 28, 0, 0, 0, 0, 29, 30, 31,
1458 0, 0, 0, 32, 33, 34, 35, 36, 0, 37,
1459 0, 0, 38, 39, 40, 41, 42, 0, 43, 903,
1460 44, 0, 45, 0, 0, 46, 0, 0, 0, 47,
1461 48, 49, 50, 0, 52, 53, 0, 0, 54, 0,
1462 0, 56, 0, 57, 58, 59, 375, 61, 62, 63,
1463 0, 0, 0, 64, 65, 0, 66, 67, 68, 69,
1464 70, 71, 72, 0, 0, 0, 0, 0, 0, 73,
1465 0, 0, 0, 0, 115, 75, 76, 0, 0, 77,
1466 0, 78, 79, 0, 0, 80, 81, 82, 4, 5,
1467 6, 7, 8, 0, 0, 0, 0, 9, 10, 0,
1468 11, -471, -471, -471, -471, -471, 252, 253, 254, 255,
1469 256, 257, 258, 259, 260, 261, 262, 263, 0, 264,
1470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471 0, 265, 0, 12, 13, 0, 0, 0, 0, 14,
1472 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1473 24, 25, 0, 26, 27, 28, 0, 0, 0, 0,
1474 29, 30, 31, 0, 0, 0, 32, 33, 34, 35,
1475 36, 0, 37, 0, 0, 38, 39, 40, 41, 42,
1476 0, 43, 0, 44, 0, 45, 0, 0, 46, 0,
1477 0, 0, 47, 48, 49, 50, 0, 52, 53, 0,
1478 0, 54, 0, 0, 56, 0, 57, 58, 59, 375,
1479 61, 62, 63, 0, 0, 0, 64, 65, 0, 66,
1480 67, 68, 69, 70, 71, 72, 0, 0, 0, 0,
1481 0, 0, 73, 0, 0, 0, 0, 115, 75, 76,
1482 0, 0, 77, 0, 78, 79, 929, 0, 80, 81,
1483 82, 4, 5, 6, 7, 8, 0, 0, 0, 0,
1484 9, 10, 0, 11, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
1488 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
1489 21, 22, 23, 24, 25, 0, 26, 27, 28, 0,
1490 0, 0, 0, 29, 30, 31, 0, 0, 0, 32,
1491 33, 34, 35, 36, 0, 37, 0, 0, 38, 39,
1492 40, 41, 42, 0, 43, 0, 44, 0, 45, 0,
1493 0, 46, 0, 0, 0, 47, 48, 49, 50, 0,
1494 52, 53, 0, 0, 54, 0, 0, 56, 0, 57,
1495 58, 59, 375, 61, 62, 63, 0, 0, 0, 64,
1496 65, 0, 66, 67, 68, 69, 70, 71, 72, 0,
1497 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
1498 115, 75, 76, 0, 0, 77, 0, 78, 79, 930,
1499 0, 80, 81, 82, 4, 5, 6, 7, 8, 0,
1500 0, 0, 0, 9, 10, 0, 11, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
1504 13, 0, 0, 0, 0, 14, 0, 15, 16, 17,
1505 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
1506 27, 28, 0, 0, 0, 0, 29, 30, 31, 0,
1507 0, 0, 32, 33, 34, 35, 36, 0, 37, 0,
1508 0, 38, 39, 40, 41, 42, 0, 43, 0, 44,
1509 0, 45, 0, 0, 46, 0, 0, 0, 47, 48,
1510 49, 50, 0, 52, 53, 0, 0, 54, 0, 0,
1511 56, 0, 57, 58, 59, 375, 61, 62, 63, 0,
1512 0, 0, 64, 65, 0, 66, 67, 68, 69, 70,
1513 71, 72, 0, 0, 0, 0, 0, 0, 73, 0,
1514 0, 0, 0, 115, 75, 76, 0, 0, 77, 0,
1515 78, 79, 931, 0, 80, 81, 82, 4, 5, 6,
1516 7, 8, 0, 0, 0, 0, 9, 10, 0, 11,
1517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
1521 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1522 25, 0, 26, 27, 28, 0, 0, 0, 0, 29,
1523 30, 31, 0, 0, 0, 32, 33, 34, 35, 36,
1524 0, 37, 0, 0, 38, 39, 40, 41, 42, 0,
1525 43, 0, 44, 0, 45, 0, 0, 46, 0, 0,
1526 0, 47, 48, 49, 50, 0, 52, 53, 0, 0,
1527 54, 0, 0, 56, 0, 57, 58, 59, 375, 61,
1528 62, 63, 0, 0, 0, 64, 65, 0, 66, 67,
1529 68, 69, 70, 71, 72, 0, 0, 0, 0, 0,
1530 0, 73, 0, 0, 0, 0, 115, 75, 76, 0,
1531 0, 77, 0, 78, 79, 932, 0, 80, 81, 82,
1532 4, 5, 6, 7, 8, 0, 0, 0, 0, 9,
1533 10, 0, 11, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 12, 13, 0, 0, 0,
1537 0, 14, 0, 15, 16, 17, 18, 19, 20, 21,
1538 22, 23, 24, 25, 0, 26, 27, 28, 0, 0,
1539 0, 0, 29, 30, 31, 0, 0, 0, 32, 33,
1540 34, 35, 36, 0, 37, 0, 0, 38, 39, 40,
1541 41, 42, 0, 43, 0, 44, 0, 45, 0, 0,
1542 46, 0, 0, 0, 47, 48, 49, 50, 0, 52,
1543 53, 0, 0, 54, 0, 0, 56, 0, 57, 58,
1544 59, 375, 61, 62, 63, 0, 0, 0, 64, 65,
1545 0, 66, 67, 68, 69, 70, 71, 72, 0, 0,
1546 0, 0, 0, 0, 73, 0, 0, 0, 0, 115,
1547 75, 76, 0, 0, 77, 0, 78, 79, 946, 0,
1548 80, 81, 82, 430, 431, 432, 433, 434, 0, 435,
1549 436, 437, 438, 439, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1553 0, 0, 0, 0, 0, 440, 0, 0, 0, 0,
1554 0, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1555 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
1556 451, 0, 0, 452, 35, 0, 0, 0, 0, 0,
1557 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1558 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1559 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
1560 483, 484, 485, 486, 0, 487, 488, 489, 490, 491,
1561 0, 492, 493, 494, 495, 496, 497, 498, 499, 500,
1562 501, 0, 0, 0, 0, 4, 5, 6, 7, 8,
1563 0, 0, 502, 503, 9, 10, 0, 11, 0, 0,
1564 504, 0, 0, 0, 0, 82, 0, 0, 0, 0,
1565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
1568 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,
1569 26, 27, 28, 0, 0, 0, 0, 29, 30, 31,
1570 0, 0, 0, 32, 33, 34, 35, 36, 0, 37,
1571 0, 0, 38, 39, 40, 41, 42, 0, 43, 0,
1572 44, 0, 45, 0, 0, 46, 0, 0, 0, 47,
1573 48, 49, 50, 0, 52, 53, 0, 0, 54, 0,
1574 0, 56, 0, 57, 58, 59, 375, 61, 62, 63,
1575 0, 0, 0, 64, 65, 0, 66, 67, 68, 69,
1576 70, 71, 72, 0, 0, 0, 0, 0, 0, 73,
1577 0, 0, 0, 0, 115, 75, 76, 0, 0, 77,
1578 0, 78, 79, 0, 0, 80, 81, 82, 4, 5,
1579 6, 7, 8, 0, 0, 0, 0, 9, 10, 0,
1580 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 632, 0, 0, 0, 0,
1582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
1584 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1585 24, 25, 0, 26, 27, 28, 0, 0, 0, 0,
1586 29, 0, 0, 0, 0, 0, 32, 33, 34, 35,
1587 36, 0, 37, 0, 0, 38, 39, 40, 41, 42,
1588 0, 43, 0, 44, 0, 45, 0, 0, 46, 0,
1589 0, 0, 47, 48, 49, 50, 0, 52, 53, 0,
1590 0, 54, 0, 0, 56, 0, 57, 58, 59, 0,
1591 0, 0, 0, 0, 0, 0, 64, 65, 0, 66,
1592 67, 68, 69, 70, 71, 72, 0, 0, 0, 0,
1593 0, 0, 73, 0, 0, 0, 0, 115, 75, 76,
1594 0, 0, 77, 0, 78, 79, 0, 0, 80, 81,
1595 82, 4, 5, 6, 7, 8, 0, 0, 0, 0,
1596 9, 10, 0, 11, 0, 0, 0, 0, 0, 0,
1597 0, 0, 0, 0, 0, 0, 0, 0, 635, 0,
1598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
1600 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
1601 21, 22, 23, 24, 25, 0, 26, 27, 28, 0,
1602 0, 0, 0, 29, 0, 0, 0, 0, 0, 32,
1603 33, 34, 35, 36, 0, 37, 0, 0, 38, 39,
1604 40, 41, 42, 0, 43, 0, 44, 0, 45, 0,
1605 0, 46, 0, 0, 0, 47, 48, 49, 50, 0,
1606 52, 53, 0, 0, 54, 0, 0, 56, 0, 57,
1607 58, 59, 0, 0, 0, 0, 0, 0, 0, 64,
1608 65, 0, 66, 67, 68, 69, 70, 71, 72, 0,
1609 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
1610 115, 75, 76, 0, 0, 77, 0, 78, 79, 0,
1611 0, 80, 81, 82, 4, 5, 6, 7, 8, 0,
1612 0, 0, 0, 9, 10, 0, 11, 0, 0, 0,
1613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1614 0, 708, 0, 0, 0, 0, 0, 0, 0, 0,
1615 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
1616 13, 0, 0, 0, 0, 14, 0, 15, 16, 17,
1617 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
1618 27, 28, 0, 0, 0, 0, 29, 0, 0, 0,
1619 0, 0, 32, 33, 34, 35, 36, 0, 37, 0,
1620 0, 38, 39, 40, 41, 42, 0, 43, 0, 44,
1621 0, 45, 0, 0, 46, 0, 0, 0, 47, 48,
1622 49, 50, 0, 52, 53, 0, 0, 54, 0, 0,
1623 56, 0, 57, 58, 59, 0, 0, 0, 0, 0,
1624 0, 0, 64, 65, 0, 66, 67, 68, 69, 70,
1625 71, 72, 0, 0, 0, 0, 0, 0, 73, 0,
1626 0, 0, 0, 115, 75, 76, 0, 0, 77, 0,
1627 78, 79, 0, 0, 80, 81, 82, 4, 5, 6,
1628 7, 8, 0, 0, 0, 0, 9, 10, 0, 11,
1629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 754, 0, 0, 0, 0, 0,
1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1632 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
1633 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1634 25, 0, 26, 27, 28, 0, 0, 0, 0, 29,
1635 0, 0, 0, 0, 0, 32, 33, 34, 35, 36,
1636 0, 37, 0, 0, 38, 39, 40, 41, 42, 0,
1637 43, 0, 44, 0, 45, 0, 0, 46, 0, 0,
1638 0, 47, 48, 49, 50, 0, 52, 53, 0, 0,
1639 54, 0, 0, 56, 0, 57, 58, 59, 0, 0,
1640 0, 0, 0, 0, 0, 64, 65, 0, 66, 67,
1641 68, 69, 70, 71, 72, 0, 0, 0, 0, 0,
1642 0, 73, 0, 0, 0, 0, 115, 75, 76, 0,
1643 0, 77, 0, 78, 79, 0, 0, 80, 81, 82,
1644 4, 5, 6, 7, 8, 0, 0, 0, 0, 9,
1645 10, 0, 11, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 0, 0, 0, 837, 0, 0,
1647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 12, 13, 0, 0, 0,
1649 0, 14, 0, 15, 16, 17, 18, 19, 20, 21,
1650 22, 23, 24, 25, 0, 26, 27, 28, 0, 0,
1651 0, 0, 29, 0, 0, 0, 0, 0, 32, 33,
1652 34, 35, 36, 0, 37, 0, 0, 38, 39, 40,
1653 41, 42, 0, 43, 0, 44, 0, 45, 0, 0,
1654 46, 0, 0, 0, 47, 48, 49, 50, 0, 52,
1655 53, 0, 0, 54, 0, 0, 56, 0, 57, 58,
1656 59, 0, 0, 0, 0, 0, 0, 0, 64, 65,
1657 0, 66, 67, 68, 69, 70, 71, 72, 0, 0,
1658 0, 0, 0, 0, 73, 0, 0, 0, 0, 115,
1659 75, 76, 0, 0, 77, 0, 78, 79, 0, 0,
1660 80, 81, 82, 4, 5, 6, 7, 8, 0, 0,
1661 0, 0, 9, 10, 0, 11, 0, 0, 0, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
1665 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
1666 19, 20, 21, 22, 23, 24, 25, 0, 26, 27,
1667 28, 0, 0, 0, 0, 29, 0, 0, 0, 0,
1668 0, 32, 33, 34, 35, 36, 0, 37, 0, 0,
1669 38, 39, 40, 41, 42, 0, 43, 0, 44, 0,
1670 45, 0, 0, 46, 0, 0, 0, 47, 48, 49,
1671 50, 0, 52, 53, 0, 0, 54, 0, 0, 56,
1672 0, 57, 58, 59, 0, 0, 0, 0, 0, 0,
1673 0, 64, 65, 0, 66, 67, 68, 69, 70, 71,
1674 72, 0, 0, 0, 0, 0, 0, 73, 0, 0,
1675 0, 0, 115, 75, 76, 0, 0, 77, 0, 78,
1676 79, 0, 0, 80, 81, 82, 4, 5, 6, 7,
1677 8, 0, 0, 0, 0, 9, 10, 0, 11, 0,
1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681 0, 12, 13, 0, 0, 0, 0, 14, 0, 15,
1682 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1683 0, 26, 27, 28, 0, 0, 0, 0, 113, 0,
1684 0, 0, 0, 0, 32, 33, 114, 35, 0, 0,
1685 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 0, 0, 0, 50, 0, 0, 0, 0, 4, 5,
1688 6, 7, 8, 0, 0, 58, 59, 9, 10, 0,
1689 11, 0, 0, 0, 64, 65, 0, 66, 67, 68,
1690 69, 70, 71, 72, 0, 0, 0, 0, 0, 0,
1691 73, 144, 0, 0, 0, 115, 75, 76, 387, 0,
1692 77, 388, 0, 12, 13, 0, 80, 81, 82, 14,
1693 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1694 24, 25, 0, 26, 27, 28, 0, 0, 0, 0,
1695 113, 0, 0, 0, 0, 0, 32, 33, 114, 35,
1696 0, 0, 37, 0, 0, 38, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
1699 4, 5, 6, 7, 8, 0, 0, 58, 59, 9,
1700 10, 0, 11, 0, 0, 0, 145, 65, 0, 66,
1701 67, 68, 69, 70, 71, 72, 0, 0, 0, 0,
1702 0, 0, 73, 0, 0, 0, 0, 115, 75, 76,
1703 0, 0, 77, 0, 0, 12, 13, 0, 80, 81,
1704 82, 14, 0, 15, 16, 17, 18, 19, 20, 21,
1705 22, 23, 24, 25, 0, 26, 27, 28, 0, 0,
1706 0, 0, 113, 0, 0, 0, 0, 0, 32, 33,
1707 114, 35, 0, 0, 37, 364, 0, 38, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1710 0, 0, 4, 5, 6, 7, 8, 0, 0, 58,
1711 59, 9, 10, 0, 11, 0, 0, 0, 64, 65,
1712 0, 66, 67, 68, 69, 70, 71, 72, 0, 401,
1713 0, 0, 0, 0, 73, 0, 0, 0, 0, 115,
1714 75, 76, 0, 0, 77, 0, 0, 12, 13, 0,
1715 80, 81, 82, 14, 0, 15, 16, 17, 18, 19,
1716 20, 21, 22, 23, 24, 25, 0, 26, 27, 28,
1717 0, 0, 0, 0, 113, 0, 0, 0, 0, 0,
1718 32, 33, 114, 35, 0, 0, 37, 0, 0, 38,
1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1720 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
1721 0, 0, 0, 0, 4, 5, 6, 7, 8, 0,
1722 0, 58, 59, 9, 10, 0, 11, 0, 0, 0,
1723 64, 65, 0, 66, 67, 68, 69, 70, 71, 72,
1724 0, 0, 0, 0, 0, 0, 73, 520, 0, 0,
1725 0, 115, 75, 76, 0, 0, 77, 0, 0, 12,
1726 13, 0, 80, 81, 82, 14, 0, 15, 16, 17,
1727 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
1728 27, 28, 0, 0, 0, 0, 113, 0, 0, 0,
1729 0, 0, 32, 33, 114, 35, 0, 0, 37, 0,
1730 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
1731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1732 0, 50, 0, 0, 0, 0, 4, 5, 6, 7,
1733 8, 0, 0, 58, 59, 9, 10, 0, 11, 0,
1734 0, 0, 64, 65, 0, 66, 67, 68, 69, 70,
1735 71, 72, 0, 0, 0, 0, 0, 0, 73, 539,
1736 0, 0, 0, 115, 75, 76, 0, 0, 77, 0,
1737 0, 12, 13, 0, 80, 81, 82, 14, 0, 15,
1738 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1739 0, 26, 27, 28, 0, 0, 0, 0, 113, 0,
1740 0, 0, 0, 0, 32, 33, 114, 35, 0, 0,
1741 37, 0, 0, 38, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 50, 0, 0, 0, 0, 4, 5,
1744 6, 7, 8, 0, 0, 58, 59, 9, 10, 0,
1745 11, 0, 0, 0, 540, 65, 0, 66, 67, 68,
1746 69, 70, 71, 72, 0, 0, 0, 0, 0, 0,
1747 73, 0, 0, 0, 0, 115, 75, 76, 0, 0,
1748 77, 0, 0, 12, 13, 0, 80, 81, 82, 14,
1749 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1750 24, 25, 0, 26, 27, 28, 0, 0, 0, 0,
1751 113, 0, 0, 0, 0, 0, 32, 33, 114, 35,
1752 0, 0, 37, 0, 0, 38, 0, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
1755 4, 5, 6, 7, 8, 0, 0, 58, 59, 9,
1756 10, 0, 11, 0, 0, 0, 64, 65, 0, 66,
1757 67, 68, 69, 70, 71, 72, 0, 0, 0, 0,
1758 0, 0, 73, 0, 0, 0, 0, 115, 75, 76,
1759 387, 0, 77, 0, 0, 12, 13, 0, 80, 81,
1760 82, 14, 0, 15, 16, 17, 18, 19, 20, 21,
1761 22, 23, 24, 25, 0, 26, 27, 28, 0, 0,
1762 0, 0, 113, 0, 0, 0, 0, 0, 32, 33,
1763 114, 35, 0, 0, 37, 0, 0, 38, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,
1767 59, 0, 0, 0, 0, 0, 0, 0, 64, 65,
1768 0, 66, 67, 68, 69, 70, 71, 72, 0, 0,
1769 0, 0, 0, 0, 73, 0, 0, 0, 0, 115,
1770 75, 76, 0, 0, 77, 0, 237, 238, 239, 0,
1771 80, 81, 82, 430, 431, 432, 433, 434, 0, 435,
1772 436, 437, 438, 439, 0, 0, 240, 809, 241, 242,
1773 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1774 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1775 263, 0, 264, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 265, 440, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1778 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
1779 451, 0, 0, 878, 0, 0, 0, 0, 0, 0,
1780 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1781 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1782 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
1783 483, 484, 485, 486, 0, 487, 488, 489, 490, 491,
1784 0, 492, 493, 494, 495, 496, 497, 498, 499, 500,
1785 501, 430, 431, 432, 433, 434, 810, 435, 436, 437,
1786 438, 439, 879, 503, 76, 0, 0, 0, 0, 0,
1787 0, 880, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 440, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 441, 442, 0,
1792 443, 444, 445, 446, 447, 448, 449, 450, 451, 0,
1793 0, 878, 0, 0, 0, 0, 0, 0, 453, 454,
1794 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1795 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1796 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1797 485, 486, 0, 487, 488, 489, 490, 491, 0, 492,
1798 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
1799 237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
1800 879, 503, 76, 0, 0, 0, 0, 0, 0, 906,
1801 240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
1802 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1803 259, 260, 261, 262, 263, 0, 264, 237, 238, 239,
1804 0, 0, 0, 0, 0, 0, 0, 0, 265, 0,
1805 0, 0, 0, 0, 0, 0, 0, 240, 0, 241,
1806 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1807 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1808 262, 263, 0, 264, 0, 237, 238, 239, 0, 0,
1809 0, 0, 0, 0, 0, 265, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 240, 0, 241, 242, 243,
1811 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1812 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1813 0, 264, 237, 238, 239, 0, 0, 0, 0, 0,
1814 0, 0, 598, 265, 0, 0, 0, 0, 0, 0,
1815 0, 0, 240, 0, 241, 242, 243, 244, 245, 246,
1816 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1817 257, 258, 259, 260, 261, 262, 263, 0, 264, 0,
1818 237, 238, 239, 0, 0, 0, 0, 0, 0, 603,
1819 265, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1820 240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
1821 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1822 259, 260, 261, 262, 263, 0, 264, 237, 238, 239,
1823 0, 0, 0, 0, 0, 0, 0, 622, 265, 0,
1824 0, 0, 0, 0, 0, 0, 0, 240, 0, 241,
1825 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1826 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1827 262, 263, 0, 264, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 630, 265, 0, 0, 0, 0,
1829 0, 0, 0, 430, 431, 432, 433, 434, 0, 435,
1830 436, 437, 438, 439, 0, 0, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 694, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 440, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1836 442, 0, 443, 444, 445, 446, 447, 448, 449, 450,
1837 451, 0, 0, 452, 0, 0, 0, 0, 0, 695,
1838 453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
1839 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1840 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
1841 483, 484, 485, 486, 0, 487, 488, 489, 490, 491,
1842 0, 492, 493, 494, 495, 496, 497, 498, 499, 500,
1843 501, 430, 431, 432, 433, 434, 0, 435, 436, 437,
1844 438, 439, 502, 503, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1848 0, 0, 0, 440, 0, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 441, 442, 0,
1850 443, 444, 445, 773, 774, 775, 776, 777, 778, 0,
1851 0, 923, 0, 0, 0, 0, 0, 0, 453, 454,
1852 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1853 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1854 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1855 485, 486, 0, 487, 488, 489, 490, 491, 0, 492,
1856 493, 494, 495, 496, 497, 498, 499, 500, 501, 237,
1857 238, 239, 0, 0, 0, 0, 0, 0, 0, 0,
1858 502, 503, 0, 0, 0, 0, 0, 0, 0, 240,
1859 0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1860 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1861 260, 261, 262, 263, 0, 264, 237, 238, 239, 0,
1862 0, 0, 0, 0, 0, 0, 0, 265, 0, 0,
1863 0, 0, 0, 0, 0, 0, 240, 0, 241, 242,
1864 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1865 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1866 263, 0, 264, 237, 238, 239, 0, 0, 0, 0,
1867 0, 0, 0, 0, 265, 0, 0, 0, 0, 0,
1868 0, 0, 0, 240, 0, 241, 242, 243, 244, 245,
1869 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1870 256, 257, 258, 259, 260, 261, 262, 263, 0, 264,
1871 237, 238, 239, 0, 0, 0, 0, 0, 0, 266,
1872 0, 265, 0, 0, 0, 0, 0, 0, 0, 0,
1873 240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
1874 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1875 259, 260, 261, 262, 263, 0, 264, 237, 238, 239,
1876 0, 0, 0, 0, 0, 0, 333, 0, 265, 0,
1877 0, 0, 0, 0, 0, 0, 0, 240, 0, 241,
1878 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1879 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1880 262, 263, 0, 264, 237, 238, 239, 0, 0, 0,
1881 0, 0, 374, 0, 0, 265, 0, 0, 0, 0,
1882 0, 0, 0, 0, 240, 0, 241, 242, 243, 244,
1883 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1884 255, 256, 257, 258, 259, 260, 261, 262, 263, 0,
1885 264, 237, 238, 239, 0, 0, 0, 0, 0, 534,
1886 0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
1887 0, 240, 0, 241, 242, 243, 244, 245, 246, 247,
1888 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1889 258, 259, 260, 261, 262, 263, 0, 264, 237, 238,
1890 239, 0, 0, 0, 0, 0, 537, 0, 0, 265,
1891 0, 0, 0, 0, 0, 0, 0, 0, 240, 0,
1892 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1893 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1894 261, 262, 263, 0, 264, 237, 238, 239, 0, 0,
1895 0, 0, 0, 554, 0, 0, 265, 0, 0, 0,
1896 0, 0, 0, 0, 0, 240, 0, 241, 242, 243,
1897 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1898 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1899 0, 264, 237, 238, 239, 0, 0, 0, 0, 0,
1900 557, 0, 0, 265, 0, 0, 0, 0, 0, 0,
1901 0, 0, 240, 0, 241, 242, 243, 244, 245, 246,
1902 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1903 257, 258, 259, 260, 261, 262, 263, 0, 264, 237,
1904 238, 239, 0, 0, 0, 0, 0, 562, 0, 0,
1905 265, 0, 0, 0, 0, 0, 0, 0, 0, 240,
1906 0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1907 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1908 260, 261, 262, 263, 0, 264, 237, 238, 239, 0,
1909 0, 0, 0, 0, 581, 0, 0, 265, 0, 0,
1910 0, 0, 0, 0, 0, 0, 240, 0, 241, 242,
1911 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1912 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1913 263, 0, 264, 237, 238, 239, 0, 0, 0, 0,
1914 0, 679, 0, 0, 265, 0, 0, 0, 0, 0,
1915 0, 0, 0, 240, 0, 241, 242, 243, 244, 245,
1916 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1917 256, 257, 258, 259, 260, 261, 262, 263, 0, 264,
1918 0, 237, 238, 239, 0, 0, 298, 0, 680, 0,
1919 0, 265, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 240, 0, 241, 242, 243, 244, 245, 246, 247,
1921 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1922 258, 259, 260, 261, 262, 263, 560, 264, 237, 238,
1923 239, 0, 0, 0, 0, 700, 0, 0, 0, 265,
1924 0, 0, 0, 0, 0, 0, 0, 0, 240, 612,
1925 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1926 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1927 261, 262, 263, 0, 264, 237, 238, 239, 0, 0,
1928 0, 0, 0, 0, 0, 0, 265, 0, 0, 0,
1929 0, 0, 0, 0, 0, 240, 0, 241, 242, 243,
1930 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1931 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1932 0, 264, 0, 0, 0, 0, 0, 0, 0, 0,
1933 0, 0, 0, 265
1934 };
1935
1936 static const yytype_int16 yycheck[] =
1937 {
1938 2, 27, 84, 184, 188, 55, 663, 2, 117, 27,
1939 2, 2, 2, 129, 373, 8, 351, 2, 16, 17,
1940 30, 8, 8, 631, 74, 107, 76, 29, 4, 5,
1941 8, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1942 14, 14, 18, 19, 20, 21, 22, 23, 24, 25,
1943 26, 68, 28, 162, 389, 269, 41, 271, 8, 14,
1944 8, 8, 14, 8, 40, 8, 647, 8, 8, 8,
1945 83, 47, 48, 544, 83, 683, 52, 8, 54, 30,
1946 785, 8, 794, 730, 558, 312, 68, 799, 0, 205,
1947 206, 48, 34, 105, 106, 52, 55, 151, 68, 157,
1948 83, 77, 83, 157, 36, 84, 68, 628, 67, 84,
1949 154, 113, 27, 76, 77, 159, 83, 83, 72, 73,
1950 74, 30, 779, 72, 73, 772, 36, 110, 111, 356,
1951 711, 102, 713, 29, 157, 110, 607, 157, 188, 83,
1952 190, 56, 84, 119, 161, 154, 144, 160, 130, 161,
1953 160, 798, 84, 129, 338, 131, 157, 678, 68, 84,
1954 130, 83, 125, 157, 214, 75, 159, 82, 130, 16,
1955 17, 158, 158, 83, 84, 162, 162, 87, 160, 160,
1956 158, 297, 829, 154, 158, 158, 165, 83, 164, 151,
1957 166, 16, 17, 160, 160, 171, 172, 173, 160, 175,
1958 198, 428, 83, 158, 157, 910, 158, 164, 159, 159,
1959 160, 159, 159, 211, 159, 396, 159, 219, 159, 159,
1960 159, 131, 132, 199, 200, 160, 938, 158, 702, 205,
1961 206, 158, 154, 68, 210, 160, 132, 133, 264, 157,
1962 165, 600, 152, 83, 154, 83, 264, 157, 233, 225,
1963 114, 115, 228, 157, 911, 165, 152, 157, 154, 110,
1964 111, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1965 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1966 256, 257, 258, 259, 260, 261, 262, 263, 338, 265,
1967 83, 29, 102, 343, 270, 130, 272, 144, 274, 83,
1968 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1969 286, 287, 288, 270, 154, 272, 151, 293, 653, 144,
1970 928, 297, 298, 102, 300, 160, 110, 111, 157, 305,
1971 332, 84, 308, 309, 105, 106, 563, 159, 160, 315,
1972 157, 83, 84, 157, 154, 83, 157, 833, 305, 264,
1973 836, 198, 328, 157, 269, 154, 271, 36, 273, 152,
1974 587, 154, 151, 102, 211, 68, 68, 84, 151, 86,
1975 154, 157, 102, 198, 110, 154, 157, 51, 52, 53,
1976 68, 55, 154, 718, 568, 67, 211, 302, 723, 573,
1977 161, 306, 307, 67, 132, 133, 149, 150, 16, 17,
1978 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1979 28, 387, 84, 157, 152, 154, 154, 393, 160, 395,
1980 158, 80, 81, 165, 154, 401, 157, 509, 130, 162,
1981 345, 513, 149, 150, 769, 151, 518, 664, 8, 57,
1982 58, 16, 130, 929, 930, 931, 94, 164, 159, 151,
1983 68, 632, 159, 939, 635, 157, 16, 943, 160, 9,
1984 10, 11, 159, 151, 159, 159, 83, 651, 652, 157,
1985 697, 158, 160, 657, 83, 83, 148, 149, 150, 29,
1986 83, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1987 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1988 50, 51, 52, 53, 160, 55, 163, 83, 735, 30,
1989 626, 84, 130, 86, 157, 132, 133, 67, 568, 104,
1990 105, 106, 520, 573, 157, 641, 83, 708, 504, 159,
1991 49, 162, 84, 151, 86, 152, 720, 154, 722, 16,
1992 516, 539, 160, 84, 75, 75, 76, 77, 78, 79,
1993 80, 158, 83, 84, 159, 157, 737, 583, 8, 84,
1994 586, 86, 560, 83, 83, 84, 542, 159, 8, 554,
1995 89, 8, 557, 754, 128, 148, 149, 150, 159, 577,
1996 556, 128, 558, 559, 765, 83, 770, 117, 614, 705,
1997 120, 104, 105, 106, 125, 822, 148, 149, 150, 601,
1998 158, 651, 652, 579, 160, 631, 601, 657, 610, 601,
1999 601, 601, 162, 158, 157, 161, 601, 8, 83, 75,
2000 596, 152, 157, 154, 149, 150, 162, 83, 84, 605,
2001 811, 161, 158, 157, 165, 157, 612, 663, 852, 84,
2002 157, 86, 640, 157, 162, 157, 162, 861, 158, 158,
2003 626, 129, 160, 16, 89, 162, 837, 683, 684, 158,
2004 645, 68, 889, 844, 158, 641, 157, 894, 75, 883,
2005 720, 673, 722, 520, 159, 157, 83, 84, 673, 159,
2006 87, 673, 673, 673, 159, 8, 913, 159, 673, 8,
2007 160, 905, 539, 669, 679, 520, 152, 699, 154, 701,
2008 159, 30, 159, 729, 149, 150, 158, 8, 706, 165,
2009 84, 925, 86, 560, 539, 896, 742, 826, 36, 900,
2010 770, 902, 707, 904, 158, 132, 702, 208, 158, 705,
2011 577, 212, 159, 162, 157, 560, 160, 8, 764, 220,
2012 161, 222, 223, 224, 160, 152, 161, 154, 158, 117,
2013 157, 155, 577, 779, 160, 757, 159, 158, 165, 158,
2014 158, 942, 159, 75, 76, 77, 78, 79, 80, 75,
2015 76, 77, 78, 79, 80, 149, 150, 161, 161, 84,
2016 160, 30, 784, 159, 760, 157, 84, 16, 159, 791,
2017 16, 161, 159, 640, 75, 76, 77, 78, 79, 80,
2018 158, 16, 804, 160, 830, 117, 84, 160, 120, 160,
2019 160, 117, 102, 815, 120, 640, 801, 151, 803, 159,
2020 846, 159, 102, 118, 159, 157, 852, 75, 76, 77,
2021 78, 79, 80, 158, 910, 55, 117, 722, 651, 120,
2022 720, 190, 343, 845, 174, 577, 89, 706, 808, 161,
2023 742, 684, 345, 830, 605, 161, 310, 883, 883, 706,
2024 48, 49, 50, 51, 52, 53, 803, 55, 856, 117,
2025 892, 873, 120, 875, 329, 747, 315, 898, 854, 67,
2026 161, 706, 264, 301, 271, 911, 306, 300, 579, -1,
2027 -1, -1, -1, -1, 870, 3, 4, 5, 6, 7,
2028 -1, -1, 928, -1, 12, 13, -1, 15, -1, -1,
2029 -1, -1, -1, 161, 916, 891, 918, 919, -1, 921,
2030 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2031 52, 53, -1, 55, 75, 76, 77, 78, 79, 80,
2032 48, 49, 944, 84, -1, 67, 54, -1, 56, 57,
2033 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
2034 68, 69, 70, -1, -1, -1, -1, 75, 76, 77,
2035 -1, -1, -1, 81, 82, 83, 84, 85, -1, 87,
2036 -1, -1, 90, 91, 92, 93, 94, -1, 96, -1,
2037 98, -1, 100, -1, -1, 103, -1, -1, -1, 107,
2038 108, 109, 110, 111, 112, 113, -1, -1, 116, 117,
2039 -1, 119, -1, 121, 122, 123, 124, 125, 126, 127,
2040 -1, -1, -1, 131, 132, -1, 134, 135, 136, 137,
2041 138, 139, 140, -1, -1, -1, -1, -1, -1, 147,
2042 -1, -1, -1, -1, 152, 153, 154, -1, -1, 157,
2043 -1, 159, 160, 161, 11, 163, 164, 165, 3, 4,
2044 5, 6, 7, -1, -1, -1, -1, 12, 13, -1,
2045 15, -1, 29, -1, 31, 32, 33, 34, 35, 36,
2046 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2047 47, 48, 49, 50, 51, 52, 53, -1, 55, -1,
2048 -1, -1, -1, 48, 49, -1, -1, -1, -1, 54,
2049 67, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2050 65, 66, -1, 68, 69, 70, -1, -1, -1, -1,
2051 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
2052 85, -1, 87, -1, -1, 90, 91, 92, 93, 94,
2053 -1, 96, -1, 98, -1, 100, -1, -1, 103, -1,
2054 -1, -1, 107, 108, 109, 110, 111, 112, 113, -1,
2055 -1, 116, 117, -1, 119, -1, 121, 122, 123, 124,
2056 125, 126, 127, -1, -1, -1, 131, 132, -1, 134,
2057 135, 136, 137, 138, 139, 140, -1, -1, -1, -1,
2058 -1, -1, 147, -1, -1, -1, -1, 152, 153, 154,
2059 -1, -1, 157, -1, 159, 160, 161, 14, 163, 164,
2060 165, 3, 4, 5, 6, 7, -1, -1, -1, -1,
2061 12, 13, 29, 15, 31, 32, 33, 34, 35, 36,
2062 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2063 47, 48, 49, 50, 51, 52, 53, -1, 55, -1,
2064 -1, -1, -1, -1, -1, -1, 48, 49, -1, -1,
2065 67, -1, 54, -1, 56, 57, 58, 59, 60, 61,
2066 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
2067 -1, -1, -1, 75, 76, 77, -1, -1, -1, 81,
2068 82, 83, 84, 85, -1, 87, -1, -1, 90, 91,
2069 92, 93, 94, -1, 96, -1, 98, -1, 100, -1,
2070 -1, 103, -1, -1, -1, 107, 108, 109, 110, 111,
2071 112, 113, -1, -1, 116, 117, -1, 119, -1, 121,
2072 122, 123, 124, 125, 126, 127, -1, -1, -1, 131,
2073 132, -1, 134, 135, 136, 137, 138, 139, 140, -1,
2074 -1, -1, -1, -1, -1, 147, -1, -1, -1, -1,
2075 152, 153, 154, -1, -1, 157, -1, 159, 160, 10,
2076 11, 163, 164, 165, 3, 4, 5, 6, 7, -1,
2077 -1, -1, -1, 12, 13, -1, 15, -1, 29, -1,
2078 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2079 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2080 51, 52, 53, -1, 55, -1, -1, -1, -1, 48,
2081 49, -1, -1, -1, -1, 54, 67, 56, 57, 58,
2082 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
2083 69, 70, -1, -1, -1, -1, 75, 76, 77, -1,
2084 -1, -1, 81, 82, 83, 84, 85, -1, 87, -1,
2085 -1, 90, 91, 92, 93, 94, -1, 96, -1, 98,
2086 -1, 100, -1, -1, 103, -1, -1, -1, 107, 108,
2087 109, 110, -1, 112, 113, -1, -1, 116, -1, -1,
2088 119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
2089 -1, -1, 131, 132, -1, 134, 135, 136, 137, 138,
2090 139, 140, -1, -1, -1, -1, -1, -1, 147, -1,
2091 -1, -1, -1, 152, 153, 154, -1, -1, 157, -1,
2092 159, 160, 161, -1, 163, 164, 165, 3, 4, 5,
2093 6, 7, -1, -1, -1, -1, 12, 13, 29, 15,
2094 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2095 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2096 51, 52, 53, -1, 55, -1, -1, -1, -1, -1,
2097 -1, -1, 48, 49, -1, -1, 67, -1, 54, -1,
2098 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2099 66, -1, 68, 69, 70, -1, -1, -1, -1, 75,
2100 76, 77, -1, -1, -1, 81, 82, 83, 84, 85,
2101 -1, 87, -1, -1, 90, 91, 92, 93, 94, -1,
2102 96, -1, 98, -1, 100, -1, -1, 103, -1, -1,
2103 -1, 107, 108, 109, 110, -1, 112, 113, -1, -1,
2104 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
2105 126, 127, -1, -1, -1, 131, 132, -1, 134, 135,
2106 136, 137, 138, 139, 140, -1, -1, -1, -1, -1,
2107 -1, 147, -1, -1, -1, -1, 152, 153, 154, -1,
2108 -1, 157, -1, 159, 160, 161, -1, 163, 164, 165,
2109 3, 4, 5, 6, 7, -1, -1, -1, -1, 12,
2110 13, -1, 15, 31, 32, 33, 34, 35, 36, 37,
2111 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2112 48, 49, 50, 51, 52, 53, -1, 55, -1, -1,
2113 -1, -1, -1, -1, -1, 48, 49, -1, -1, 67,
2114 -1, 54, -1, 56, 57, 58, 59, 60, 61, 62,
2115 63, 64, 65, 66, -1, 68, 69, 70, -1, -1,
2116 -1, 74, 75, 76, 77, -1, -1, -1, 81, 82,
2117 83, 84, 85, -1, 87, -1, -1, 90, 91, 92,
2118 93, 94, -1, 96, -1, 98, -1, 100, -1, -1,
2119 103, -1, -1, -1, 107, 108, 109, 110, -1, 112,
2120 113, -1, -1, 116, -1, -1, 119, -1, 121, 122,
2121 123, 124, 125, 126, 127, -1, -1, -1, 131, 132,
2122 -1, 134, 135, 136, 137, 138, 139, 140, -1, -1,
2123 -1, -1, -1, -1, 147, -1, -1, -1, -1, 152,
2124 153, 154, -1, -1, 157, -1, 159, 160, -1, -1,
2125 163, 164, 165, 3, 4, 5, 6, 7, -1, -1,
2126 -1, -1, 12, 13, -1, 15, 33, 34, 35, 36,
2127 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2128 47, 48, 49, 50, 51, 52, 53, -1, 55, -1,
2129 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
2130 67, -1, -1, -1, 54, -1, 56, 57, 58, 59,
2131 60, 61, 62, 63, 64, 65, 66, -1, 68, 69,
2132 70, -1, -1, -1, -1, 75, 76, 77, -1, -1,
2133 -1, 81, 82, 83, 84, 85, -1, 87, -1, -1,
2134 90, 91, 92, 93, 94, 95, 96, -1, 98, -1,
2135 100, -1, -1, 103, -1, -1, -1, 107, 108, 109,
2136 110, -1, 112, 113, -1, -1, 116, -1, -1, 119,
2137 -1, 121, 122, 123, 124, 125, 126, 127, -1, -1,
2138 -1, 131, 132, -1, 134, 135, 136, 137, 138, 139,
2139 140, -1, -1, -1, -1, -1, -1, 147, -1, -1,
2140 -1, -1, 152, 153, 154, -1, -1, 157, -1, 159,
2141 160, -1, -1, 163, 164, 165, 3, 4, 5, 6,
2142 7, -1, -1, -1, -1, 12, 13, -1, 15, -1,
2143 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2144 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2145 -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
2146 -1, 48, 49, 67, -1, -1, -1, 54, -1, 56,
2147 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2148 -1, 68, 69, 70, -1, -1, -1, -1, 75, 76,
2149 77, -1, -1, -1, 81, 82, 83, 84, 85, -1,
2150 87, -1, -1, 90, 91, 92, 93, 94, -1, 96,
2151 -1, 98, -1, 100, 101, -1, 103, -1, -1, -1,
2152 107, 108, 109, 110, -1, 112, 113, -1, -1, 116,
2153 -1, -1, 119, -1, 121, 122, 123, 124, 125, 126,
2154 127, -1, -1, -1, 131, 132, -1, 134, 135, 136,
2155 137, 138, 139, 140, -1, -1, -1, -1, -1, -1,
2156 147, -1, -1, -1, -1, 152, 153, 154, -1, -1,
2157 157, -1, 159, 160, -1, -1, 163, 164, 165, 3,
2158 4, 5, 6, 7, -1, -1, -1, -1, 12, 13,
2159 -1, 15, -1, -1, 35, 36, 37, 38, 39, 40,
2160 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2161 51, 52, 53, -1, 55, -1, -1, -1, -1, -1,
2162 -1, -1, -1, -1, 48, 49, 67, -1, -1, -1,
2163 54, -1, 56, 57, 58, 59, 60, 61, 62, 63,
2164 64, 65, 66, -1, 68, 69, 70, -1, -1, -1,
2165 -1, 75, 76, 77, -1, -1, -1, 81, 82, 83,
2166 84, 85, -1, 87, -1, -1, 90, 91, 92, 93,
2167 94, -1, 96, -1, 98, 99, 100, -1, -1, 103,
2168 -1, -1, -1, 107, 108, 109, 110, -1, 112, 113,
2169 -1, -1, 116, -1, -1, 119, -1, 121, 122, 123,
2170 124, 125, 126, 127, -1, -1, -1, 131, 132, -1,
2171 134, 135, 136, 137, 138, 139, 140, -1, -1, -1,
2172 -1, -1, -1, 147, -1, -1, -1, -1, 152, 153,
2173 154, -1, -1, 157, -1, 159, 160, -1, -1, 163,
2174 164, 165, 3, 4, 5, 6, 7, -1, -1, -1,
2175 -1, 12, 13, -1, 15, 36, 37, 38, 39, 40,
2176 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2177 51, 52, 53, -1, 55, -1, -1, -1, -1, -1,
2178 -1, -1, -1, -1, -1, -1, 67, 48, 49, -1,
2179 -1, -1, -1, 54, -1, 56, 57, 58, 59, 60,
2180 61, 62, 63, 64, 65, 66, -1, 68, 69, 70,
2181 -1, -1, -1, -1, 75, 76, 77, -1, -1, -1,
2182 81, 82, 83, 84, 85, -1, 87, -1, -1, 90,
2183 91, 92, 93, 94, -1, 96, -1, 98, -1, 100,
2184 -1, -1, 103, -1, -1, -1, 107, 108, 109, 110,
2185 -1, 112, 113, -1, -1, 116, -1, -1, 119, -1,
2186 121, 122, 123, 124, 125, 126, 127, -1, -1, -1,
2187 131, 132, -1, 134, 135, 136, 137, 138, 139, 140,
2188 -1, -1, -1, -1, -1, -1, 147, -1, -1, -1,
2189 -1, 152, 153, 154, -1, -1, 157, -1, 159, 160,
2190 161, -1, 163, 164, 165, 3, 4, 5, 6, 7,
2191 -1, -1, -1, -1, 12, 13, -1, 15, 37, 38,
2192 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2193 49, 50, 51, 52, 53, -1, 55, -1, -1, -1,
2194 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
2195 48, 49, -1, -1, -1, -1, 54, -1, 56, 57,
2196 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
2197 68, 69, 70, -1, -1, -1, -1, 75, 76, 77,
2198 -1, -1, -1, 81, 82, 83, 84, 85, -1, 87,
2199 -1, -1, 90, 91, 92, 93, 94, -1, 96, 97,
2200 98, -1, 100, -1, -1, 103, -1, -1, -1, 107,
2201 108, 109, 110, -1, 112, 113, -1, -1, 116, -1,
2202 -1, 119, -1, 121, 122, 123, 124, 125, 126, 127,
2203 -1, -1, -1, 131, 132, -1, 134, 135, 136, 137,
2204 138, 139, 140, -1, -1, -1, -1, -1, -1, 147,
2205 -1, -1, -1, -1, 152, 153, 154, -1, -1, 157,
2206 -1, 159, 160, -1, -1, 163, 164, 165, 3, 4,
2207 5, 6, 7, -1, -1, -1, -1, 12, 13, -1,
2208 15, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2209 46, 47, 48, 49, 50, 51, 52, 53, -1, 55,
2210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2211 -1, 67, -1, 48, 49, -1, -1, -1, -1, 54,
2212 -1, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2213 65, 66, -1, 68, 69, 70, -1, -1, -1, -1,
2214 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
2215 85, -1, 87, -1, -1, 90, 91, 92, 93, 94,
2216 -1, 96, -1, 98, -1, 100, -1, -1, 103, -1,
2217 -1, -1, 107, 108, 109, 110, -1, 112, 113, -1,
2218 -1, 116, -1, -1, 119, -1, 121, 122, 123, 124,
2219 125, 126, 127, -1, -1, -1, 131, 132, -1, 134,
2220 135, 136, 137, 138, 139, 140, -1, -1, -1, -1,
2221 -1, -1, 147, -1, -1, -1, -1, 152, 153, 154,
2222 -1, -1, 157, -1, 159, 160, 161, -1, 163, 164,
2223 165, 3, 4, 5, 6, 7, -1, -1, -1, -1,
2224 12, 13, -1, 15, -1, -1, -1, -1, -1, -1,
2225 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2227 -1, -1, -1, -1, -1, -1, 48, 49, -1, -1,
2228 -1, -1, 54, -1, 56, 57, 58, 59, 60, 61,
2229 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
2230 -1, -1, -1, 75, 76, 77, -1, -1, -1, 81,
2231 82, 83, 84, 85, -1, 87, -1, -1, 90, 91,
2232 92, 93, 94, -1, 96, -1, 98, -1, 100, -1,
2233 -1, 103, -1, -1, -1, 107, 108, 109, 110, -1,
2234 112, 113, -1, -1, 116, -1, -1, 119, -1, 121,
2235 122, 123, 124, 125, 126, 127, -1, -1, -1, 131,
2236 132, -1, 134, 135, 136, 137, 138, 139, 140, -1,
2237 -1, -1, -1, -1, -1, 147, -1, -1, -1, -1,
2238 152, 153, 154, -1, -1, 157, -1, 159, 160, 161,
2239 -1, 163, 164, 165, 3, 4, 5, 6, 7, -1,
2240 -1, -1, -1, 12, 13, -1, 15, -1, -1, -1,
2241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2243 -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
2244 49, -1, -1, -1, -1, 54, -1, 56, 57, 58,
2245 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
2246 69, 70, -1, -1, -1, -1, 75, 76, 77, -1,
2247 -1, -1, 81, 82, 83, 84, 85, -1, 87, -1,
2248 -1, 90, 91, 92, 93, 94, -1, 96, -1, 98,
2249 -1, 100, -1, -1, 103, -1, -1, -1, 107, 108,
2250 109, 110, -1, 112, 113, -1, -1, 116, -1, -1,
2251 119, -1, 121, 122, 123, 124, 125, 126, 127, -1,
2252 -1, -1, 131, 132, -1, 134, 135, 136, 137, 138,
2253 139, 140, -1, -1, -1, -1, -1, -1, 147, -1,
2254 -1, -1, -1, 152, 153, 154, -1, -1, 157, -1,
2255 159, 160, 161, -1, 163, 164, 165, 3, 4, 5,
2256 6, 7, -1, -1, -1, -1, 12, 13, -1, 15,
2257 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2258 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2260 -1, -1, 48, 49, -1, -1, -1, -1, 54, -1,
2261 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2262 66, -1, 68, 69, 70, -1, -1, -1, -1, 75,
2263 76, 77, -1, -1, -1, 81, 82, 83, 84, 85,
2264 -1, 87, -1, -1, 90, 91, 92, 93, 94, -1,
2265 96, -1, 98, -1, 100, -1, -1, 103, -1, -1,
2266 -1, 107, 108, 109, 110, -1, 112, 113, -1, -1,
2267 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
2268 126, 127, -1, -1, -1, 131, 132, -1, 134, 135,
2269 136, 137, 138, 139, 140, -1, -1, -1, -1, -1,
2270 -1, 147, -1, -1, -1, -1, 152, 153, 154, -1,
2271 -1, 157, -1, 159, 160, 161, -1, 163, 164, 165,
2272 3, 4, 5, 6, 7, -1, -1, -1, -1, 12,
2273 13, -1, 15, -1, -1, -1, -1, -1, -1, -1,
2274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, -1, -1, 48, 49, -1, -1, -1,
2277 -1, 54, -1, 56, 57, 58, 59, 60, 61, 62,
2278 63, 64, 65, 66, -1, 68, 69, 70, -1, -1,
2279 -1, -1, 75, 76, 77, -1, -1, -1, 81, 82,
2280 83, 84, 85, -1, 87, -1, -1, 90, 91, 92,
2281 93, 94, -1, 96, -1, 98, -1, 100, -1, -1,
2282 103, -1, -1, -1, 107, 108, 109, 110, -1, 112,
2283 113, -1, -1, 116, -1, -1, 119, -1, 121, 122,
2284 123, 124, 125, 126, 127, -1, -1, -1, 131, 132,
2285 -1, 134, 135, 136, 137, 138, 139, 140, -1, -1,
2286 -1, -1, -1, -1, 147, -1, -1, -1, -1, 152,
2287 153, 154, -1, -1, 157, -1, 159, 160, 161, -1,
2288 163, 164, 165, 3, 4, 5, 6, 7, -1, 9,
2289 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
2290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2292 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2293 -1, -1, -1, -1, -1, 55, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
2295 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
2296 80, -1, -1, 83, 84, -1, -1, -1, -1, -1,
2297 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2298 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2299 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2300 120, 121, 122, 123, -1, 125, 126, 127, 128, 129,
2301 -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2302 140, -1, -1, -1, -1, 3, 4, 5, 6, 7,
2303 -1, -1, 152, 153, 12, 13, -1, 15, -1, -1,
2304 160, -1, -1, -1, -1, 165, -1, -1, -1, -1,
2305 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2306 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2307 48, 49, -1, -1, -1, -1, 54, -1, 56, 57,
2308 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
2309 68, 69, 70, -1, -1, -1, -1, 75, 76, 77,
2310 -1, -1, -1, 81, 82, 83, 84, 85, -1, 87,
2311 -1, -1, 90, 91, 92, 93, 94, -1, 96, -1,
2312 98, -1, 100, -1, -1, 103, -1, -1, -1, 107,
2313 108, 109, 110, -1, 112, 113, -1, -1, 116, -1,
2314 -1, 119, -1, 121, 122, 123, 124, 125, 126, 127,
2315 -1, -1, -1, 131, 132, -1, 134, 135, 136, 137,
2316 138, 139, 140, -1, -1, -1, -1, -1, -1, 147,
2317 -1, -1, -1, -1, 152, 153, 154, -1, -1, 157,
2318 -1, 159, 160, -1, -1, 163, 164, 165, 3, 4,
2319 5, 6, 7, -1, -1, -1, -1, 12, 13, -1,
2320 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2321 -1, -1, -1, -1, -1, 30, -1, -1, -1, -1,
2322 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2323 -1, -1, -1, 48, 49, -1, -1, -1, -1, 54,
2324 -1, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2325 65, 66, -1, 68, 69, 70, -1, -1, -1, -1,
2326 75, -1, -1, -1, -1, -1, 81, 82, 83, 84,
2327 85, -1, 87, -1, -1, 90, 91, 92, 93, 94,
2328 -1, 96, -1, 98, -1, 100, -1, -1, 103, -1,
2329 -1, -1, 107, 108, 109, 110, -1, 112, 113, -1,
2330 -1, 116, -1, -1, 119, -1, 121, 122, 123, -1,
2331 -1, -1, -1, -1, -1, -1, 131, 132, -1, 134,
2332 135, 136, 137, 138, 139, 140, -1, -1, -1, -1,
2333 -1, -1, 147, -1, -1, -1, -1, 152, 153, 154,
2334 -1, -1, 157, -1, 159, 160, -1, -1, 163, 164,
2335 165, 3, 4, 5, 6, 7, -1, -1, -1, -1,
2336 12, 13, -1, 15, -1, -1, -1, -1, -1, -1,
2337 -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
2338 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2339 -1, -1, -1, -1, -1, -1, 48, 49, -1, -1,
2340 -1, -1, 54, -1, 56, 57, 58, 59, 60, 61,
2341 62, 63, 64, 65, 66, -1, 68, 69, 70, -1,
2342 -1, -1, -1, 75, -1, -1, -1, -1, -1, 81,
2343 82, 83, 84, 85, -1, 87, -1, -1, 90, 91,
2344 92, 93, 94, -1, 96, -1, 98, -1, 100, -1,
2345 -1, 103, -1, -1, -1, 107, 108, 109, 110, -1,
2346 112, 113, -1, -1, 116, -1, -1, 119, -1, 121,
2347 122, 123, -1, -1, -1, -1, -1, -1, -1, 131,
2348 132, -1, 134, 135, 136, 137, 138, 139, 140, -1,
2349 -1, -1, -1, -1, -1, 147, -1, -1, -1, -1,
2350 152, 153, 154, -1, -1, 157, -1, 159, 160, -1,
2351 -1, 163, 164, 165, 3, 4, 5, 6, 7, -1,
2352 -1, -1, -1, 12, 13, -1, 15, -1, -1, -1,
2353 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2354 -1, 30, -1, -1, -1, -1, -1, -1, -1, -1,
2355 -1, -1, -1, -1, -1, -1, -1, -1, -1, 48,
2356 49, -1, -1, -1, -1, 54, -1, 56, 57, 58,
2357 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
2358 69, 70, -1, -1, -1, -1, 75, -1, -1, -1,
2359 -1, -1, 81, 82, 83, 84, 85, -1, 87, -1,
2360 -1, 90, 91, 92, 93, 94, -1, 96, -1, 98,
2361 -1, 100, -1, -1, 103, -1, -1, -1, 107, 108,
2362 109, 110, -1, 112, 113, -1, -1, 116, -1, -1,
2363 119, -1, 121, 122, 123, -1, -1, -1, -1, -1,
2364 -1, -1, 131, 132, -1, 134, 135, 136, 137, 138,
2365 139, 140, -1, -1, -1, -1, -1, -1, 147, -1,
2366 -1, -1, -1, 152, 153, 154, -1, -1, 157, -1,
2367 159, 160, -1, -1, 163, 164, 165, 3, 4, 5,
2368 6, 7, -1, -1, -1, -1, 12, 13, -1, 15,
2369 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2370 -1, -1, -1, -1, 30, -1, -1, -1, -1, -1,
2371 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2372 -1, -1, 48, 49, -1, -1, -1, -1, 54, -1,
2373 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2374 66, -1, 68, 69, 70, -1, -1, -1, -1, 75,
2375 -1, -1, -1, -1, -1, 81, 82, 83, 84, 85,
2376 -1, 87, -1, -1, 90, 91, 92, 93, 94, -1,
2377 96, -1, 98, -1, 100, -1, -1, 103, -1, -1,
2378 -1, 107, 108, 109, 110, -1, 112, 113, -1, -1,
2379 116, -1, -1, 119, -1, 121, 122, 123, -1, -1,
2380 -1, -1, -1, -1, -1, 131, 132, -1, 134, 135,
2381 136, 137, 138, 139, 140, -1, -1, -1, -1, -1,
2382 -1, 147, -1, -1, -1, -1, 152, 153, 154, -1,
2383 -1, 157, -1, 159, 160, -1, -1, 163, 164, 165,
2384 3, 4, 5, 6, 7, -1, -1, -1, -1, 12,
2385 13, -1, 15, -1, -1, -1, -1, -1, -1, -1,
2386 -1, -1, -1, -1, -1, -1, -1, 30, -1, -1,
2387 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2388 -1, -1, -1, -1, -1, 48, 49, -1, -1, -1,
2389 -1, 54, -1, 56, 57, 58, 59, 60, 61, 62,
2390 63, 64, 65, 66, -1, 68, 69, 70, -1, -1,
2391 -1, -1, 75, -1, -1, -1, -1, -1, 81, 82,
2392 83, 84, 85, -1, 87, -1, -1, 90, 91, 92,
2393 93, 94, -1, 96, -1, 98, -1, 100, -1, -1,
2394 103, -1, -1, -1, 107, 108, 109, 110, -1, 112,
2395 113, -1, -1, 116, -1, -1, 119, -1, 121, 122,
2396 123, -1, -1, -1, -1, -1, -1, -1, 131, 132,
2397 -1, 134, 135, 136, 137, 138, 139, 140, -1, -1,
2398 -1, -1, -1, -1, 147, -1, -1, -1, -1, 152,
2399 153, 154, -1, -1, 157, -1, 159, 160, -1, -1,
2400 163, 164, 165, 3, 4, 5, 6, 7, -1, -1,
2401 -1, -1, 12, 13, -1, 15, -1, -1, -1, -1,
2402 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2404 -1, -1, -1, -1, -1, -1, -1, -1, 48, 49,
2405 -1, -1, -1, -1, 54, -1, 56, 57, 58, 59,
2406 60, 61, 62, 63, 64, 65, 66, -1, 68, 69,
2407 70, -1, -1, -1, -1, 75, -1, -1, -1, -1,
2408 -1, 81, 82, 83, 84, 85, -1, 87, -1, -1,
2409 90, 91, 92, 93, 94, -1, 96, -1, 98, -1,
2410 100, -1, -1, 103, -1, -1, -1, 107, 108, 109,
2411 110, -1, 112, 113, -1, -1, 116, -1, -1, 119,
2412 -1, 121, 122, 123, -1, -1, -1, -1, -1, -1,
2413 -1, 131, 132, -1, 134, 135, 136, 137, 138, 139,
2414 140, -1, -1, -1, -1, -1, -1, 147, -1, -1,
2415 -1, -1, 152, 153, 154, -1, -1, 157, -1, 159,
2416 160, -1, -1, 163, 164, 165, 3, 4, 5, 6,
2417 7, -1, -1, -1, -1, 12, 13, -1, 15, -1,
2418 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2421 -1, 48, 49, -1, -1, -1, -1, 54, -1, 56,
2422 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2423 -1, 68, 69, 70, -1, -1, -1, -1, 75, -1,
2424 -1, -1, -1, -1, 81, 82, 83, 84, -1, -1,
2425 87, -1, -1, 90, -1, -1, -1, -1, -1, -1,
2426 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2427 -1, -1, -1, 110, -1, -1, -1, -1, 3, 4,
2428 5, 6, 7, -1, -1, 122, 123, 12, 13, -1,
2429 15, -1, -1, -1, 131, 132, -1, 134, 135, 136,
2430 137, 138, 139, 140, -1, -1, -1, -1, -1, -1,
2431 147, 36, -1, -1, -1, 152, 153, 154, 155, -1,
2432 157, 158, -1, 48, 49, -1, 163, 164, 165, 54,
2433 -1, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2434 65, 66, -1, 68, 69, 70, -1, -1, -1, -1,
2435 75, -1, -1, -1, -1, -1, 81, 82, 83, 84,
2436 -1, -1, 87, -1, -1, 90, -1, -1, -1, -1,
2437 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2438 -1, -1, -1, -1, -1, 110, -1, -1, -1, -1,
2439 3, 4, 5, 6, 7, -1, -1, 122, 123, 12,
2440 13, -1, 15, -1, -1, -1, 131, 132, -1, 134,
2441 135, 136, 137, 138, 139, 140, -1, -1, -1, -1,
2442 -1, -1, 147, -1, -1, -1, -1, 152, 153, 154,
2443 -1, -1, 157, -1, -1, 48, 49, -1, 163, 164,
2444 165, 54, -1, 56, 57, 58, 59, 60, 61, 62,
2445 63, 64, 65, 66, -1, 68, 69, 70, -1, -1,
2446 -1, -1, 75, -1, -1, -1, -1, -1, 81, 82,
2447 83, 84, -1, -1, 87, 88, -1, 90, -1, -1,
2448 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2449 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
2450 -1, -1, 3, 4, 5, 6, 7, -1, -1, 122,
2451 123, 12, 13, -1, 15, -1, -1, -1, 131, 132,
2452 -1, 134, 135, 136, 137, 138, 139, 140, -1, 30,
2453 -1, -1, -1, -1, 147, -1, -1, -1, -1, 152,
2454 153, 154, -1, -1, 157, -1, -1, 48, 49, -1,
2455 163, 164, 165, 54, -1, 56, 57, 58, 59, 60,
2456 61, 62, 63, 64, 65, 66, -1, 68, 69, 70,
2457 -1, -1, -1, -1, 75, -1, -1, -1, -1, -1,
2458 81, 82, 83, 84, -1, -1, 87, -1, -1, 90,
2459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2460 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
2461 -1, -1, -1, -1, 3, 4, 5, 6, 7, -1,
2462 -1, 122, 123, 12, 13, -1, 15, -1, -1, -1,
2463 131, 132, -1, 134, 135, 136, 137, 138, 139, 140,
2464 -1, -1, -1, -1, -1, -1, 147, 36, -1, -1,
2465 -1, 152, 153, 154, -1, -1, 157, -1, -1, 48,
2466 49, -1, 163, 164, 165, 54, -1, 56, 57, 58,
2467 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
2468 69, 70, -1, -1, -1, -1, 75, -1, -1, -1,
2469 -1, -1, 81, 82, 83, 84, -1, -1, 87, -1,
2470 -1, 90, -1, -1, -1, -1, -1, -1, -1, -1,
2471 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2472 -1, 110, -1, -1, -1, -1, 3, 4, 5, 6,
2473 7, -1, -1, 122, 123, 12, 13, -1, 15, -1,
2474 -1, -1, 131, 132, -1, 134, 135, 136, 137, 138,
2475 139, 140, -1, -1, -1, -1, -1, -1, 147, 36,
2476 -1, -1, -1, 152, 153, 154, -1, -1, 157, -1,
2477 -1, 48, 49, -1, 163, 164, 165, 54, -1, 56,
2478 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2479 -1, 68, 69, 70, -1, -1, -1, -1, 75, -1,
2480 -1, -1, -1, -1, 81, 82, 83, 84, -1, -1,
2481 87, -1, -1, 90, -1, -1, -1, -1, -1, -1,
2482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2483 -1, -1, -1, 110, -1, -1, -1, -1, 3, 4,
2484 5, 6, 7, -1, -1, 122, 123, 12, 13, -1,
2485 15, -1, -1, -1, 131, 132, -1, 134, 135, 136,
2486 137, 138, 139, 140, -1, -1, -1, -1, -1, -1,
2487 147, -1, -1, -1, -1, 152, 153, 154, -1, -1,
2488 157, -1, -1, 48, 49, -1, 163, 164, 165, 54,
2489 -1, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2490 65, 66, -1, 68, 69, 70, -1, -1, -1, -1,
2491 75, -1, -1, -1, -1, -1, 81, 82, 83, 84,
2492 -1, -1, 87, -1, -1, 90, -1, -1, -1, -1,
2493 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2494 -1, -1, -1, -1, -1, 110, -1, -1, -1, -1,
2495 3, 4, 5, 6, 7, -1, -1, 122, 123, 12,
2496 13, -1, 15, -1, -1, -1, 131, 132, -1, 134,
2497 135, 136, 137, 138, 139, 140, -1, -1, -1, -1,
2498 -1, -1, 147, -1, -1, -1, -1, 152, 153, 154,
2499 155, -1, 157, -1, -1, 48, 49, -1, 163, 164,
2500 165, 54, -1, 56, 57, 58, 59, 60, 61, 62,
2501 63, 64, 65, 66, -1, 68, 69, 70, -1, -1,
2502 -1, -1, 75, -1, -1, -1, -1, -1, 81, 82,
2503 83, 84, -1, -1, 87, -1, -1, 90, -1, -1,
2504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2505 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
2506 -1, -1, -1, -1, -1, -1, -1, -1, -1, 122,
2507 123, -1, -1, -1, -1, -1, -1, -1, 131, 132,
2508 -1, 134, 135, 136, 137, 138, 139, 140, -1, -1,
2509 -1, -1, -1, -1, 147, -1, -1, -1, -1, 152,
2510 153, 154, -1, -1, 157, -1, 9, 10, 11, -1,
2511 163, 164, 165, 3, 4, 5, 6, 7, -1, 9,
2512 10, 11, 12, 13, -1, -1, 29, 30, 31, 32,
2513 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2514 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2515 53, -1, 55, -1, -1, -1, -1, -1, -1, -1,
2516 -1, -1, -1, -1, 67, 55, -1, -1, -1, -1,
2517 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
2518 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
2519 80, -1, -1, 83, -1, -1, -1, -1, -1, -1,
2520 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2521 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2522 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2523 120, 121, 122, 123, -1, 125, 126, 127, 128, 129,
2524 -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2525 140, 3, 4, 5, 6, 7, 159, 9, 10, 11,
2526 12, 13, 152, 153, 154, -1, -1, -1, -1, -1,
2527 -1, 161, -1, -1, -1, -1, -1, -1, -1, -1,
2528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2529 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2530 -1, -1, -1, 55, -1, -1, -1, -1, -1, -1,
2531 -1, -1, -1, -1, -1, -1, -1, 69, 70, -1,
2532 72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
2533 -1, 83, -1, -1, -1, -1, -1, -1, 90, 91,
2534 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2535 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2536 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2537 122, 123, -1, 125, 126, 127, 128, 129, -1, 131,
2538 132, 133, 134, 135, 136, 137, 138, 139, 140, -1,
2539 9, 10, 11, -1, -1, -1, -1, -1, -1, -1,
2540 152, 153, 154, -1, -1, -1, -1, -1, -1, 161,
2541 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
2542 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2543 49, 50, 51, 52, 53, -1, 55, 9, 10, 11,
2544 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
2545 -1, -1, -1, -1, -1, -1, -1, 29, -1, 31,
2546 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2547 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2548 52, 53, -1, 55, -1, 9, 10, 11, -1, -1,
2549 -1, -1, -1, -1, -1, 67, -1, -1, -1, -1,
2550 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2551 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2552 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2553 -1, 55, 9, 10, 11, -1, -1, -1, -1, -1,
2554 -1, -1, 161, 67, -1, -1, -1, -1, -1, -1,
2555 -1, -1, 29, -1, 31, 32, 33, 34, 35, 36,
2556 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2557 47, 48, 49, 50, 51, 52, 53, -1, 55, -1,
2558 9, 10, 11, -1, -1, -1, -1, -1, -1, 161,
2559 67, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2560 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
2561 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2562 49, 50, 51, 52, 53, -1, 55, 9, 10, 11,
2563 -1, -1, -1, -1, -1, -1, -1, 161, 67, -1,
2564 -1, -1, -1, -1, -1, -1, -1, 29, -1, 31,
2565 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2566 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2567 52, 53, -1, 55, -1, -1, -1, -1, -1, -1,
2568 -1, -1, -1, -1, 161, 67, -1, -1, -1, -1,
2569 -1, -1, -1, 3, 4, 5, 6, 7, -1, 9,
2570 10, 11, 12, 13, -1, -1, -1, -1, -1, -1,
2571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2573 -1, -1, 161, -1, -1, -1, -1, -1, -1, -1,
2574 -1, -1, -1, -1, -1, 55, -1, -1, -1, -1,
2575 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
2576 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
2577 80, -1, -1, 83, -1, -1, -1, -1, -1, 161,
2578 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
2579 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2580 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2581 120, 121, 122, 123, -1, 125, 126, 127, 128, 129,
2582 -1, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2583 140, 3, 4, 5, 6, 7, -1, 9, 10, 11,
2584 12, 13, 152, 153, -1, -1, -1, -1, -1, -1,
2585 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2586 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2587 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2588 -1, -1, -1, 55, -1, -1, -1, -1, -1, -1,
2589 -1, -1, -1, -1, -1, -1, -1, 69, 70, -1,
2590 72, 73, 74, 75, 76, 77, 78, 79, 80, -1,
2591 -1, 83, -1, -1, -1, -1, -1, -1, 90, 91,
2592 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2593 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2594 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2595 122, 123, -1, 125, 126, 127, 128, 129, -1, 131,
2596 132, 133, 134, 135, 136, 137, 138, 139, 140, 9,
2597 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2598 152, 153, -1, -1, -1, -1, -1, -1, -1, 29,
2599 -1, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2600 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2601 50, 51, 52, 53, -1, 55, 9, 10, 11, -1,
2602 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
2603 -1, -1, -1, -1, -1, -1, 29, -1, 31, 32,
2604 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2605 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2606 53, -1, 55, 9, 10, 11, -1, -1, -1, -1,
2607 -1, -1, -1, -1, 67, -1, -1, -1, -1, -1,
2608 -1, -1, -1, 29, -1, 31, 32, 33, 34, 35,
2609 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2610 46, 47, 48, 49, 50, 51, 52, 53, -1, 55,
2611 9, 10, 11, -1, -1, -1, -1, -1, -1, 159,
2612 -1, 67, -1, -1, -1, -1, -1, -1, -1, -1,
2613 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
2614 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2615 49, 50, 51, 52, 53, -1, 55, 9, 10, 11,
2616 -1, -1, -1, -1, -1, -1, 159, -1, 67, -1,
2617 -1, -1, -1, -1, -1, -1, -1, 29, -1, 31,
2618 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2619 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2620 52, 53, -1, 55, 9, 10, 11, -1, -1, -1,
2621 -1, -1, 158, -1, -1, 67, -1, -1, -1, -1,
2622 -1, -1, -1, -1, 29, -1, 31, 32, 33, 34,
2623 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2624 45, 46, 47, 48, 49, 50, 51, 52, 53, -1,
2625 55, 9, 10, 11, -1, -1, -1, -1, -1, 158,
2626 -1, -1, 67, -1, -1, -1, -1, -1, -1, -1,
2627 -1, 29, -1, 31, 32, 33, 34, 35, 36, 37,
2628 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2629 48, 49, 50, 51, 52, 53, -1, 55, 9, 10,
2630 11, -1, -1, -1, -1, -1, 158, -1, -1, 67,
2631 -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
2632 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2633 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2634 51, 52, 53, -1, 55, 9, 10, 11, -1, -1,
2635 -1, -1, -1, 158, -1, -1, 67, -1, -1, -1,
2636 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2637 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2638 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2639 -1, 55, 9, 10, 11, -1, -1, -1, -1, -1,
2640 158, -1, -1, 67, -1, -1, -1, -1, -1, -1,
2641 -1, -1, 29, -1, 31, 32, 33, 34, 35, 36,
2642 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2643 47, 48, 49, 50, 51, 52, 53, -1, 55, 9,
2644 10, 11, -1, -1, -1, -1, -1, 158, -1, -1,
2645 67, -1, -1, -1, -1, -1, -1, -1, -1, 29,
2646 -1, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2647 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2648 50, 51, 52, 53, -1, 55, 9, 10, 11, -1,
2649 -1, -1, -1, -1, 158, -1, -1, 67, -1, -1,
2650 -1, -1, -1, -1, -1, -1, 29, -1, 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, -1, 55, 9, 10, 11, -1, -1, -1, -1,
2654 -1, 158, -1, -1, 67, -1, -1, -1, -1, -1,
2655 -1, -1, -1, 29, -1, 31, 32, 33, 34, 35,
2656 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2657 46, 47, 48, 49, 50, 51, 52, 53, -1, 55,
2658 -1, 9, 10, 11, -1, -1, 14, -1, 158, -1,
2659 -1, 67, -1, -1, -1, -1, -1, -1, -1, -1,
2660 -1, 29, -1, 31, 32, 33, 34, 35, 36, 37,
2661 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2662 48, 49, 50, 51, 52, 53, 102, 55, 9, 10,
2663 11, -1, -1, -1, -1, 158, -1, -1, -1, 67,
2664 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
2665 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2666 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2667 51, 52, 53, -1, 55, 9, 10, 11, -1, -1,
2668 -1, -1, -1, -1, -1, -1, 67, -1, -1, -1,
2669 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2670 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2671 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2672 -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
2673 -1, -1, -1, 67
2674 };
2675
2676 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2677 symbol of state STATE-NUM. */
2678 static const yytype_uint16 yystos[] =
2679 {
2680 0, 167, 171, 0, 3, 4, 5, 6, 7, 12,
2681 13, 15, 48, 49, 54, 56, 57, 58, 59, 60,
2682 61, 62, 63, 64, 65, 66, 68, 69, 70, 75,
2683 76, 77, 81, 82, 83, 84, 85, 87, 90, 91,
2684 92, 93, 94, 96, 98, 100, 103, 107, 108, 109,
2685 110, 111, 112, 113, 116, 117, 119, 121, 122, 123,
2686 124, 125, 126, 127, 131, 132, 134, 135, 136, 137,
2687 138, 139, 140, 147, 152, 153, 154, 157, 159, 160,
2688 163, 164, 165, 172, 173, 174, 190, 197, 200, 203,
2689 204, 205, 207, 220, 221, 222, 223, 264, 265, 266,
2690 273, 274, 279, 280, 281, 283, 284, 285, 286, 287,
2691 288, 289, 300, 75, 83, 152, 265, 266, 265, 157,
2692 265, 265, 265, 265, 265, 265, 265, 265, 265, 68,
2693 75, 157, 279, 281, 287, 287, 265, 265, 265, 265,
2694 265, 265, 265, 265, 36, 131, 265, 293, 294, 295,
2695 296, 125, 173, 262, 274, 275, 288, 290, 265, 84,
2696 236, 237, 266, 30, 157, 276, 157, 258, 259, 265,
2697 190, 157, 157, 157, 157, 157, 265, 282, 282, 83,
2698 83, 187, 257, 282, 160, 265, 110, 111, 154, 172,
2699 177, 179, 183, 185, 186, 234, 235, 288, 157, 157,
2700 157, 157, 202, 206, 208, 157, 157, 84, 86, 148,
2701 149, 150, 297, 298, 154, 172, 176, 172, 265, 188,
2702 86, 277, 297, 86, 297, 160, 288, 154, 157, 231,
2703 125, 204, 72, 73, 72, 73, 74, 9, 10, 11,
2704 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2705 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2706 50, 51, 52, 53, 55, 67, 159, 36, 269, 151,
2707 68, 151, 68, 130, 160, 231, 16, 17, 18, 19,
2708 20, 21, 22, 23, 24, 25, 26, 27, 28, 57,
2709 58, 269, 265, 14, 293, 265, 287, 157, 14, 162,
2710 8, 263, 151, 231, 278, 68, 130, 151, 160, 16,
2711 8, 159, 269, 282, 265, 8, 159, 94, 265, 260,
2712 261, 265, 265, 187, 265, 159, 159, 159, 16, 8,
2713 159, 159, 188, 159, 172, 185, 102, 154, 154, 172,
2714 178, 183, 159, 8, 159, 8, 159, 195, 196, 287,
2715 265, 301, 302, 265, 158, 83, 83, 83, 293, 293,
2716 68, 130, 148, 298, 88, 265, 287, 86, 148, 298,
2717 172, 159, 175, 160, 158, 124, 161, 189, 190, 197,
2718 200, 205, 207, 163, 164, 265, 83, 155, 158, 232,
2719 233, 265, 201, 157, 190, 157, 30, 159, 265, 265,
2720 265, 30, 265, 265, 265, 265, 265, 265, 265, 265,
2721 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2722 265, 265, 265, 265, 265, 265, 275, 265, 83, 267,
2723 3, 4, 5, 6, 7, 9, 10, 11, 12, 13,
2724 55, 69, 70, 72, 73, 74, 75, 76, 77, 78,
2725 79, 80, 83, 90, 91, 92, 93, 94, 95, 96,
2726 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2727 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2728 117, 118, 119, 120, 121, 122, 123, 125, 126, 127,
2729 128, 129, 131, 132, 133, 134, 135, 136, 137, 138,
2730 139, 140, 152, 153, 160, 168, 169, 170, 288, 291,
2731 282, 170, 288, 291, 282, 83, 160, 288, 292, 265,
2732 36, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2733 265, 265, 265, 265, 158, 265, 162, 158, 293, 36,
2734 131, 265, 16, 294, 278, 288, 282, 292, 288, 265,
2735 265, 237, 267, 158, 158, 259, 157, 158, 159, 8,
2736 102, 158, 158, 265, 257, 161, 154, 83, 160, 172,
2737 154, 159, 159, 154, 172, 186, 235, 8, 180, 8,
2738 180, 158, 159, 128, 209, 267, 128, 210, 158, 158,
2739 49, 83, 84, 89, 299, 83, 68, 161, 161, 161,
2740 160, 171, 157, 161, 265, 8, 180, 83, 265, 265,
2741 188, 265, 30, 267, 157, 265, 231, 162, 231, 162,
2742 265, 231, 161, 287, 158, 287, 157, 265, 209, 162,
2743 161, 157, 30, 190, 265, 30, 190, 219, 260, 265,
2744 36, 68, 131, 212, 287, 191, 30, 160, 216, 267,
2745 192, 160, 177, 181, 184, 185, 154, 160, 196, 158,
2746 302, 158, 173, 129, 211, 160, 173, 240, 267, 16,
2747 89, 162, 265, 171, 161, 158, 233, 158, 209, 158,
2748 158, 74, 265, 157, 29, 132, 133, 173, 224, 225,
2749 226, 227, 228, 229, 161, 161, 293, 211, 224, 188,
2750 158, 188, 159, 287, 293, 157, 14, 158, 30, 190,
2751 215, 159, 217, 159, 217, 114, 115, 194, 181, 185,
2752 8, 180, 160, 182, 185, 159, 240, 267, 238, 8,
2753 160, 265, 162, 161, 159, 211, 190, 30, 159, 224,
2754 229, 158, 8, 36, 198, 158, 267, 158, 159, 95,
2755 260, 162, 293, 212, 30, 190, 214, 188, 217, 104,
2756 105, 106, 217, 161, 157, 160, 180, 184, 161, 182,
2757 8, 180, 160, 75, 76, 77, 78, 79, 80, 117,
2758 120, 161, 239, 249, 250, 251, 252, 173, 238, 161,
2759 267, 188, 158, 117, 270, 226, 155, 199, 160, 270,
2760 159, 158, 158, 158, 188, 101, 104, 159, 265, 30,
2761 159, 218, 161, 173, 193, 188, 161, 180, 185, 161,
2762 238, 240, 84, 253, 254, 111, 266, 252, 161, 160,
2763 30, 230, 157, 230, 84, 238, 230, 30, 190, 213,
2764 214, 99, 159, 159, 218, 188, 34, 84, 161, 161,
2765 161, 159, 160, 241, 16, 267, 8, 159, 170, 255,
2766 256, 269, 238, 228, 268, 36, 84, 271, 272, 268,
2767 16, 161, 268, 188, 159, 188, 173, 158, 83, 152,
2768 161, 170, 173, 242, 243, 244, 245, 246, 247, 265,
2769 254, 16, 8, 159, 170, 161, 160, 84, 8, 158,
2770 160, 265, 160, 97, 160, 151, 161, 243, 159, 159,
2771 102, 118, 267, 265, 256, 267, 188, 272, 188, 188,
2772 159, 188, 170, 83, 168, 252, 240, 267, 157, 161,
2773 161, 161, 161, 170, 224, 268, 268, 268, 158, 230,
2774 268, 159, 160, 248, 188, 268, 161
2775 };
2776
2777 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2778 static const yytype_uint16 yyr1[] =
2779 {
2780 0, 166, 167, 168, 168, 168, 168, 168, 168, 168,
2781 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
2782 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
2783 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
2784 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
2785 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
2786 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
2787 169, 169, 169, 169, 169, 169, 169, 170, 170, 171,
2788 171, 172, 172, 173, 173, 173, 174, 174, 174, 174,
2789 174, 174, 174, 175, 174, 176, 174, 174, 174, 174,
2790 174, 174, 177, 177, 178, 178, 179, 179, 180, 180,
2791 181, 181, 182, 182, 183, 183, 184, 184, 185, 185,
2792 186, 186, 187, 187, 188, 188, 189, 189, 189, 189,
2793 189, 189, 190, 190, 190, 190, 190, 190, 190, 190,
2794 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
2795 191, 190, 190, 190, 190, 190, 190, 192, 192, 193,
2796 193, 194, 194, 195, 195, 196, 197, 198, 198, 199,
2797 199, 201, 200, 202, 200, 203, 203, 204, 204, 206,
2798 205, 208, 207, 209, 209, 210, 210, 211, 211, 212,
2799 212, 212, 212, 213, 213, 214, 214, 215, 215, 216,
2800 216, 216, 216, 217, 217, 217, 218, 218, 219, 219,
2801 220, 220, 221, 221, 222, 222, 223, 223, 224, 224,
2802 225, 225, 226, 226, 227, 227, 228, 228, 229, 229,
2803 229, 230, 230, 231, 231, 232, 232, 233, 233, 234,
2804 234, 235, 236, 236, 237, 237, 238, 238, 239, 239,
2805 239, 239, 240, 240, 241, 241, 241, 242, 242, 243,
2806 243, 244, 245, 245, 245, 245, 246, 246, 247, 248,
2807 248, 249, 249, 250, 250, 251, 251, 252, 252, 252,
2808 252, 252, 252, 253, 253, 254, 254, 255, 255, 256,
2809 257, 258, 258, 259, 260, 260, 261, 261, 263, 262,
2810 264, 264, 265, 265, 265, 265, 265, 265, 265, 265,
2811 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2812 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2813 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2814 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2815 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2816 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
2817 265, 265, 265, 265, 265, 265, 265, 265, 265, 266,
2818 267, 268, 269, 269, 270, 270, 271, 271, 272, 272,
2819 273, 273, 273, 273, 274, 274, 275, 275, 276, 276,
2820 277, 277, 277, 278, 278, 279, 279, 279, 280, 280,
2821 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
2822 280, 280, 280, 280, 281, 281, 281, 282, 282, 283,
2823 284, 284, 284, 285, 285, 285, 286, 286, 286, 286,
2824 286, 286, 287, 287, 287, 288, 288, 288, 289, 289,
2825 290, 290, 290, 290, 290, 290, 291, 291, 291, 292,
2826 292, 292, 293, 294, 294, 295, 295, 296, 296, 296,
2827 296, 296, 296, 297, 297, 297, 297, 298, 298, 298,
2828 298, 298, 298, 298, 299, 299, 299, 299, 300, 300,
2829 300, 300, 300, 300, 300, 301, 301, 302
2830 };
2831
2832 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2833 static const yytype_uint8 yyr2[] =
2834 {
2835 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2836 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2837 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2838 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2839 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2840 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2841 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2842 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
2843 0, 1, 3, 1, 3, 2, 1, 1, 1, 1,
2844 1, 4, 3, 0, 6, 0, 5, 3, 4, 3,
2845 4, 3, 1, 1, 6, 7, 6, 7, 0, 1,
2846 3, 1, 3, 1, 3, 1, 1, 2, 1, 3,
2847 1, 2, 3, 1, 2, 0, 1, 1, 1, 1,
2848 1, 4, 3, 1, 1, 5, 7, 9, 5, 3,
2849 3, 3, 3, 3, 3, 1, 2, 6, 7, 9,
2850 0, 6, 1, 6, 3, 3, 2, 0, 9, 1,
2851 3, 0, 4, 1, 3, 1, 13, 0, 1, 0,
2852 1, 0, 10, 0, 9, 1, 2, 1, 1, 0,
2853 7, 0, 8, 0, 2, 0, 2, 0, 2, 1,
2854 2, 4, 3, 1, 4, 1, 4, 1, 4, 3,
2855 4, 4, 5, 0, 5, 4, 1, 1, 1, 4,
2856 5, 6, 1, 3, 6, 7, 3, 6, 1, 0,
2857 1, 3, 4, 6, 0, 1, 1, 2, 1, 1,
2858 1, 0, 2, 2, 4, 1, 3, 1, 2, 3,
2859 1, 1, 3, 1, 1, 3, 2, 0, 3, 4,
2860 3, 12, 1, 3, 1, 2, 3, 1, 2, 2,
2861 2, 3, 3, 3, 4, 3, 1, 1, 3, 1,
2862 3, 1, 1, 0, 1, 1, 2, 1, 1, 1,
2863 1, 1, 1, 3, 1, 2, 4, 3, 1, 4,
2864 4, 3, 1, 1, 0, 1, 3, 1, 0, 9,
2865 3, 2, 1, 6, 5, 3, 4, 2, 3, 3,
2866 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2867 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
2868 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2869 3, 2, 2, 2, 2, 3, 3, 3, 3, 3,
2870 3, 3, 3, 3, 3, 3, 1, 5, 4, 3,
2871 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2872 1, 3, 2, 1, 2, 4, 2, 13, 14, 1,
2873 0, 0, 0, 1, 0, 4, 3, 1, 1, 2,
2874 2, 4, 4, 2, 1, 1, 1, 1, 0, 3,
2875 0, 1, 1, 0, 1, 4, 3, 1, 1, 1,
2876 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
2877 3, 3, 1, 1, 1, 3, 3, 0, 1, 1,
2878 1, 3, 1, 1, 3, 1, 1, 4, 4, 4,
2879 4, 1, 1, 1, 3, 1, 4, 2, 3, 3,
2880 1, 4, 4, 3, 3, 3, 1, 3, 1, 1,
2881 3, 1, 1, 0, 1, 3, 1, 3, 1, 4,
2882 2, 6, 4, 2, 2, 1, 2, 1, 4, 3,
2883 3, 3, 6, 3, 1, 1, 2, 1, 5, 4,
2884 2, 2, 4, 2, 2, 1, 3, 1
2885 };
2886
2887
2888 #define yyerrok (yyerrstatus = 0)
2889 #define yyclearin (yychar = YYEMPTY)
2890 #define YYEMPTY (-2)
2891 #define YYEOF 0
2892
2893 #define YYACCEPT goto yyacceptlab
2894 #define YYABORT goto yyabortlab
2895 #define YYERROR goto yyerrorlab
2896
2897
2898 #define YYRECOVERING() (!!yyerrstatus)
2899
2900 #define YYBACKUP(Token, Value) \
2901 do \
2902 if (yychar == YYEMPTY) \
2903 { \
2904 yychar = (Token); \
2905 yylval = (Value); \
2906 YYPOPSTACK (yylen); \
2907 yystate = *yyssp; \
2908 goto yybackup; \
2909 } \
2910 else \
2911 { \
2912 yyerror (YY_("syntax error: cannot back up")); \
2913 YYERROR; \
2914 } \
2915 while (0)
2916
2917 /* Error token number */
2918 #define YYTERROR 1
2919 #define YYERRCODE 256
2920
2921
2922
2923 /* Enable debugging if requested. */
2924 #if YYDEBUG
2925
2926 # ifndef YYFPRINTF
2927 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2928 # define YYFPRINTF fprintf
2929 # endif
2930
2931 # define YYDPRINTF(Args) \
2932 do { \
2933 if (yydebug) \
2934 YYFPRINTF Args; \
2935 } while (0)
2936
2937 /* This macro is provided for backward compatibility. */
2938 #ifndef YY_LOCATION_PRINT
2939 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2940 #endif
2941
2942
2943 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2944 do { \
2945 if (yydebug) \
2946 { \
2947 YYFPRINTF (stderr, "%s ", Title); \
2948 yy_symbol_print (stderr, \
2949 Type, Value); \
2950 YYFPRINTF (stderr, "\n"); \
2951 } \
2952 } while (0)
2953
2954
2955 /*----------------------------------------.
2956 | Print this symbol's value on YYOUTPUT. |
2957 `----------------------------------------*/
2958
2959 static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)2960 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2961 {
2962 FILE *yyo = yyoutput;
2963 YYUSE (yyo);
2964 if (!yyvaluep)
2965 return;
2966 # ifdef YYPRINT
2967 if (yytype < YYNTOKENS)
2968 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2969 # endif
2970 YYUSE (yytype);
2971 }
2972
2973
2974 /*--------------------------------.
2975 | Print this symbol on YYOUTPUT. |
2976 `--------------------------------*/
2977
2978 static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep)2979 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2980 {
2981 YYFPRINTF (yyoutput, "%s %s (",
2982 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2983
2984 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2985 YYFPRINTF (yyoutput, ")");
2986 }
2987
2988 /*------------------------------------------------------------------.
2989 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2990 | TOP (included). |
2991 `------------------------------------------------------------------*/
2992
2993 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)2994 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2995 {
2996 YYFPRINTF (stderr, "Stack now");
2997 for (; yybottom <= yytop; yybottom++)
2998 {
2999 int yybot = *yybottom;
3000 YYFPRINTF (stderr, " %d", yybot);
3001 }
3002 YYFPRINTF (stderr, "\n");
3003 }
3004
3005 # define YY_STACK_PRINT(Bottom, Top) \
3006 do { \
3007 if (yydebug) \
3008 yy_stack_print ((Bottom), (Top)); \
3009 } while (0)
3010
3011
3012 /*------------------------------------------------.
3013 | Report that the YYRULE is going to be reduced. |
3014 `------------------------------------------------*/
3015
3016 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,int yyrule)3017 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
3018 {
3019 unsigned long int yylno = yyrline[yyrule];
3020 int yynrhs = yyr2[yyrule];
3021 int yyi;
3022 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3023 yyrule - 1, yylno);
3024 /* The symbols being reduced. */
3025 for (yyi = 0; yyi < yynrhs; yyi++)
3026 {
3027 YYFPRINTF (stderr, " $%d = ", yyi + 1);
3028 yy_symbol_print (stderr,
3029 yystos[yyssp[yyi + 1 - yynrhs]],
3030 &(yyvsp[(yyi + 1) - (yynrhs)])
3031 );
3032 YYFPRINTF (stderr, "\n");
3033 }
3034 }
3035
3036 # define YY_REDUCE_PRINT(Rule) \
3037 do { \
3038 if (yydebug) \
3039 yy_reduce_print (yyssp, yyvsp, Rule); \
3040 } while (0)
3041
3042 /* Nonzero means print parse trace. It is left uninitialized so that
3043 multiple parsers can coexist. */
3044 int yydebug;
3045 #else /* !YYDEBUG */
3046 # define YYDPRINTF(Args)
3047 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3048 # define YY_STACK_PRINT(Bottom, Top)
3049 # define YY_REDUCE_PRINT(Rule)
3050 #endif /* !YYDEBUG */
3051
3052
3053 /* YYINITDEPTH -- initial size of the parser's stacks. */
3054 #ifndef YYINITDEPTH
3055 # define YYINITDEPTH 200
3056 #endif
3057
3058 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3059 if the built-in stack extension method is used).
3060
3061 Do not make this value too large; the results are undefined if
3062 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3063 evaluated with infinite-precision integer arithmetic. */
3064
3065 #ifndef YYMAXDEPTH
3066 # define YYMAXDEPTH 10000
3067 #endif
3068
3069
3070 #if YYERROR_VERBOSE
3071
3072 # ifndef yystrlen
3073 # if defined __GLIBC__ && defined _STRING_H
3074 # define yystrlen strlen
3075 # else
3076 /* Return the length of YYSTR. */
3077 static YYSIZE_T
yystrlen(const char * yystr)3078 yystrlen (const char *yystr)
3079 {
3080 YYSIZE_T yylen;
3081 for (yylen = 0; yystr[yylen]; yylen++)
3082 continue;
3083 return yylen;
3084 }
3085 # endif
3086 # endif
3087
3088 # ifndef yystpcpy
3089 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3090 # define yystpcpy stpcpy
3091 # else
3092 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3093 YYDEST. */
3094 static char *
yystpcpy(char * yydest,const char * yysrc)3095 yystpcpy (char *yydest, const char *yysrc)
3096 {
3097 char *yyd = yydest;
3098 const char *yys = yysrc;
3099
3100 while ((*yyd++ = *yys++) != '\0')
3101 continue;
3102
3103 return yyd - 1;
3104 }
3105 # endif
3106 # endif
3107
3108 # ifndef yytnamerr
3109 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3110 quotes and backslashes, so that it's suitable for yyerror. The
3111 heuristic is that double-quoting is unnecessary unless the string
3112 contains an apostrophe, a comma, or backslash (other than
3113 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3114 null, do not copy; instead, return the length of what the result
3115 would have been. */
3116 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)3117 yytnamerr (char *yyres, const char *yystr)
3118 {
3119 if (*yystr == '"')
3120 {
3121 YYSIZE_T yyn = 0;
3122 char const *yyp = yystr;
3123
3124 for (;;)
3125 switch (*++yyp)
3126 {
3127 case '\'':
3128 case ',':
3129 goto do_not_strip_quotes;
3130
3131 case '\\':
3132 if (*++yyp != '\\')
3133 goto do_not_strip_quotes;
3134 /* Fall through. */
3135 default:
3136 if (yyres)
3137 yyres[yyn] = *yyp;
3138 yyn++;
3139 break;
3140
3141 case '"':
3142 if (yyres)
3143 yyres[yyn] = '\0';
3144 return yyn;
3145 }
3146 do_not_strip_quotes: ;
3147 }
3148
3149 if (! yyres)
3150 return yystrlen (yystr);
3151
3152 return yystpcpy (yyres, yystr) - yyres;
3153 }
3154 # endif
3155
3156 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
3157 about the unexpected token YYTOKEN for the state stack whose top is
3158 YYSSP.
3159
3160 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
3161 not large enough to hold the message. In that case, also set
3162 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
3163 required number of bytes is too large to store. */
3164 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)3165 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
3166 yytype_int16 *yyssp, int yytoken)
3167 {
3168 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
3169 YYSIZE_T yysize = yysize0;
3170 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3171 /* Internationalized format string. */
3172 const char *yyformat = YY_NULLPTR;
3173 /* Arguments of yyformat. */
3174 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3175 /* Number of reported tokens (one for the "unexpected", one per
3176 "expected"). */
3177 int yycount = 0;
3178
3179 /* There are many possibilities here to consider:
3180 - If this state is a consistent state with a default action, then
3181 the only way this function was invoked is if the default action
3182 is an error action. In that case, don't check for expected
3183 tokens because there are none.
3184 - The only way there can be no lookahead present (in yychar) is if
3185 this state is a consistent state with a default action. Thus,
3186 detecting the absence of a lookahead is sufficient to determine
3187 that there is no unexpected or expected token to report. In that
3188 case, just report a simple "syntax error".
3189 - Don't assume there isn't a lookahead just because this state is a
3190 consistent state with a default action. There might have been a
3191 previous inconsistent state, consistent state with a non-default
3192 action, or user semantic action that manipulated yychar.
3193 - Of course, the expected token list depends on states to have
3194 correct lookahead information, and it depends on the parser not
3195 to perform extra reductions after fetching a lookahead from the
3196 scanner and before detecting a syntax error. Thus, state merging
3197 (from LALR or IELR) and default reductions corrupt the expected
3198 token list. However, the list is correct for canonical LR with
3199 one exception: it will still contain any token that will not be
3200 accepted due to an error action in a later state.
3201 */
3202 if (yytoken != YYEMPTY)
3203 {
3204 int yyn = yypact[*yyssp];
3205 yyarg[yycount++] = yytname[yytoken];
3206 if (!yypact_value_is_default (yyn))
3207 {
3208 /* Start YYX at -YYN if negative to avoid negative indexes in
3209 YYCHECK. In other words, skip the first -YYN actions for
3210 this state because they are default actions. */
3211 int yyxbegin = yyn < 0 ? -yyn : 0;
3212 /* Stay within bounds of both yycheck and yytname. */
3213 int yychecklim = YYLAST - yyn + 1;
3214 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3215 int yyx;
3216
3217 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3218 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
3219 && !yytable_value_is_error (yytable[yyx + yyn]))
3220 {
3221 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3222 {
3223 yycount = 1;
3224 yysize = yysize0;
3225 break;
3226 }
3227 yyarg[yycount++] = yytname[yyx];
3228 {
3229 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
3230 if (! (yysize <= yysize1
3231 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3232 return 2;
3233 yysize = yysize1;
3234 }
3235 }
3236 }
3237 }
3238
3239 switch (yycount)
3240 {
3241 # define YYCASE_(N, S) \
3242 case N: \
3243 yyformat = S; \
3244 break
3245 YYCASE_(0, YY_("syntax error"));
3246 YYCASE_(1, YY_("syntax error, unexpected %s"));
3247 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
3248 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
3249 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
3250 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3251 # undef YYCASE_
3252 }
3253
3254 {
3255 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
3256 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
3257 return 2;
3258 yysize = yysize1;
3259 }
3260
3261 if (*yymsg_alloc < yysize)
3262 {
3263 *yymsg_alloc = 2 * yysize;
3264 if (! (yysize <= *yymsg_alloc
3265 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
3266 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
3267 return 1;
3268 }
3269
3270 /* Avoid sprintf, as that infringes on the user's name space.
3271 Don't have undefined behavior even if the translation
3272 produced a string with the wrong number of "%s"s. */
3273 {
3274 char *yyp = *yymsg;
3275 int yyi = 0;
3276 while ((*yyp = *yyformat) != '\0')
3277 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
3278 {
3279 yyp += yytnamerr (yyp, yyarg[yyi++]);
3280 yyformat += 2;
3281 }
3282 else
3283 {
3284 yyp++;
3285 yyformat++;
3286 }
3287 }
3288 return 0;
3289 }
3290 #endif /* YYERROR_VERBOSE */
3291
3292 /*-----------------------------------------------.
3293 | Release the memory associated to this symbol. |
3294 `-----------------------------------------------*/
3295
3296 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep)3297 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3298 {
3299 YYUSE (yyvaluep);
3300 if (!yymsg)
3301 yymsg = "Deleting";
3302 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3303
3304 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3305 switch (yytype)
3306 {
3307 case 81: /* "integer number (T_LNUMBER)" */
3308
3309 { zend_ast_destroy(((*yyvaluep).ast)); }
3310
3311 break;
3312
3313 case 82: /* "floating-point number (T_DNUMBER)" */
3314
3315 { zend_ast_destroy(((*yyvaluep).ast)); }
3316
3317 break;
3318
3319 case 83: /* "identifier (T_STRING)" */
3320
3321 { zend_ast_destroy(((*yyvaluep).ast)); }
3322
3323 break;
3324
3325 case 84: /* "variable (T_VARIABLE)" */
3326
3327 { zend_ast_destroy(((*yyvaluep).ast)); }
3328
3329 break;
3330
3331 case 85: /* T_INLINE_HTML */
3332
3333 { zend_ast_destroy(((*yyvaluep).ast)); }
3334
3335 break;
3336
3337 case 86: /* "quoted-string and whitespace (T_ENCAPSED_AND_WHITESPACE)" */
3338
3339 { zend_ast_destroy(((*yyvaluep).ast)); }
3340
3341 break;
3342
3343 case 87: /* "quoted-string (T_CONSTANT_ENCAPSED_STRING)" */
3344
3345 { zend_ast_destroy(((*yyvaluep).ast)); }
3346
3347 break;
3348
3349 case 88: /* "variable name (T_STRING_VARNAME)" */
3350
3351 { zend_ast_destroy(((*yyvaluep).ast)); }
3352
3353 break;
3354
3355 case 89: /* "number (T_NUM_STRING)" */
3356
3357 { zend_ast_destroy(((*yyvaluep).ast)); }
3358
3359 break;
3360
3361 case 170: /* identifier */
3362
3363 { zend_ast_destroy(((*yyvaluep).ast)); }
3364
3365 break;
3366
3367 case 171: /* top_statement_list */
3368
3369 { zend_ast_destroy(((*yyvaluep).ast)); }
3370
3371 break;
3372
3373 case 172: /* namespace_name */
3374
3375 { zend_ast_destroy(((*yyvaluep).ast)); }
3376
3377 break;
3378
3379 case 173: /* name */
3380
3381 { zend_ast_destroy(((*yyvaluep).ast)); }
3382
3383 break;
3384
3385 case 174: /* top_statement */
3386
3387 { zend_ast_destroy(((*yyvaluep).ast)); }
3388
3389 break;
3390
3391 case 178: /* group_use_declaration */
3392
3393 { zend_ast_destroy(((*yyvaluep).ast)); }
3394
3395 break;
3396
3397 case 179: /* mixed_group_use_declaration */
3398
3399 { zend_ast_destroy(((*yyvaluep).ast)); }
3400
3401 break;
3402
3403 case 181: /* inline_use_declarations */
3404
3405 { zend_ast_destroy(((*yyvaluep).ast)); }
3406
3407 break;
3408
3409 case 182: /* unprefixed_use_declarations */
3410
3411 { zend_ast_destroy(((*yyvaluep).ast)); }
3412
3413 break;
3414
3415 case 183: /* use_declarations */
3416
3417 { zend_ast_destroy(((*yyvaluep).ast)); }
3418
3419 break;
3420
3421 case 184: /* inline_use_declaration */
3422
3423 { zend_ast_destroy(((*yyvaluep).ast)); }
3424
3425 break;
3426
3427 case 185: /* unprefixed_use_declaration */
3428
3429 { zend_ast_destroy(((*yyvaluep).ast)); }
3430
3431 break;
3432
3433 case 186: /* use_declaration */
3434
3435 { zend_ast_destroy(((*yyvaluep).ast)); }
3436
3437 break;
3438
3439 case 187: /* const_list */
3440
3441 { zend_ast_destroy(((*yyvaluep).ast)); }
3442
3443 break;
3444
3445 case 188: /* inner_statement_list */
3446
3447 { zend_ast_destroy(((*yyvaluep).ast)); }
3448
3449 break;
3450
3451 case 189: /* inner_statement */
3452
3453 { zend_ast_destroy(((*yyvaluep).ast)); }
3454
3455 break;
3456
3457 case 190: /* statement */
3458
3459 { zend_ast_destroy(((*yyvaluep).ast)); }
3460
3461 break;
3462
3463 case 192: /* catch_list */
3464
3465 { zend_ast_destroy(((*yyvaluep).ast)); }
3466
3467 break;
3468
3469 case 193: /* catch_name_list */
3470
3471 { zend_ast_destroy(((*yyvaluep).ast)); }
3472
3473 break;
3474
3475 case 194: /* finally_statement */
3476
3477 { zend_ast_destroy(((*yyvaluep).ast)); }
3478
3479 break;
3480
3481 case 195: /* unset_variables */
3482
3483 { zend_ast_destroy(((*yyvaluep).ast)); }
3484
3485 break;
3486
3487 case 196: /* unset_variable */
3488
3489 { zend_ast_destroy(((*yyvaluep).ast)); }
3490
3491 break;
3492
3493 case 197: /* function_declaration_statement */
3494
3495 { zend_ast_destroy(((*yyvaluep).ast)); }
3496
3497 break;
3498
3499 case 200: /* class_declaration_statement */
3500
3501 { zend_ast_destroy(((*yyvaluep).ast)); }
3502
3503 break;
3504
3505 case 205: /* trait_declaration_statement */
3506
3507 { zend_ast_destroy(((*yyvaluep).ast)); }
3508
3509 break;
3510
3511 case 207: /* interface_declaration_statement */
3512
3513 { zend_ast_destroy(((*yyvaluep).ast)); }
3514
3515 break;
3516
3517 case 209: /* extends_from */
3518
3519 { zend_ast_destroy(((*yyvaluep).ast)); }
3520
3521 break;
3522
3523 case 210: /* interface_extends_list */
3524
3525 { zend_ast_destroy(((*yyvaluep).ast)); }
3526
3527 break;
3528
3529 case 211: /* implements_list */
3530
3531 { zend_ast_destroy(((*yyvaluep).ast)); }
3532
3533 break;
3534
3535 case 212: /* foreach_variable */
3536
3537 { zend_ast_destroy(((*yyvaluep).ast)); }
3538
3539 break;
3540
3541 case 213: /* for_statement */
3542
3543 { zend_ast_destroy(((*yyvaluep).ast)); }
3544
3545 break;
3546
3547 case 214: /* foreach_statement */
3548
3549 { zend_ast_destroy(((*yyvaluep).ast)); }
3550
3551 break;
3552
3553 case 215: /* declare_statement */
3554
3555 { zend_ast_destroy(((*yyvaluep).ast)); }
3556
3557 break;
3558
3559 case 216: /* switch_case_list */
3560
3561 { zend_ast_destroy(((*yyvaluep).ast)); }
3562
3563 break;
3564
3565 case 217: /* case_list */
3566
3567 { zend_ast_destroy(((*yyvaluep).ast)); }
3568
3569 break;
3570
3571 case 219: /* while_statement */
3572
3573 { zend_ast_destroy(((*yyvaluep).ast)); }
3574
3575 break;
3576
3577 case 220: /* if_stmt_without_else */
3578
3579 { zend_ast_destroy(((*yyvaluep).ast)); }
3580
3581 break;
3582
3583 case 221: /* if_stmt */
3584
3585 { zend_ast_destroy(((*yyvaluep).ast)); }
3586
3587 break;
3588
3589 case 222: /* alt_if_stmt_without_else */
3590
3591 { zend_ast_destroy(((*yyvaluep).ast)); }
3592
3593 break;
3594
3595 case 223: /* alt_if_stmt */
3596
3597 { zend_ast_destroy(((*yyvaluep).ast)); }
3598
3599 break;
3600
3601 case 224: /* parameter_list */
3602
3603 { zend_ast_destroy(((*yyvaluep).ast)); }
3604
3605 break;
3606
3607 case 225: /* non_empty_parameter_list */
3608
3609 { zend_ast_destroy(((*yyvaluep).ast)); }
3610
3611 break;
3612
3613 case 226: /* parameter */
3614
3615 { zend_ast_destroy(((*yyvaluep).ast)); }
3616
3617 break;
3618
3619 case 227: /* optional_type */
3620
3621 { zend_ast_destroy(((*yyvaluep).ast)); }
3622
3623 break;
3624
3625 case 228: /* type_expr */
3626
3627 { zend_ast_destroy(((*yyvaluep).ast)); }
3628
3629 break;
3630
3631 case 229: /* type */
3632
3633 { zend_ast_destroy(((*yyvaluep).ast)); }
3634
3635 break;
3636
3637 case 230: /* return_type */
3638
3639 { zend_ast_destroy(((*yyvaluep).ast)); }
3640
3641 break;
3642
3643 case 231: /* argument_list */
3644
3645 { zend_ast_destroy(((*yyvaluep).ast)); }
3646
3647 break;
3648
3649 case 232: /* non_empty_argument_list */
3650
3651 { zend_ast_destroy(((*yyvaluep).ast)); }
3652
3653 break;
3654
3655 case 233: /* argument */
3656
3657 { zend_ast_destroy(((*yyvaluep).ast)); }
3658
3659 break;
3660
3661 case 234: /* global_var_list */
3662
3663 { zend_ast_destroy(((*yyvaluep).ast)); }
3664
3665 break;
3666
3667 case 235: /* global_var */
3668
3669 { zend_ast_destroy(((*yyvaluep).ast)); }
3670
3671 break;
3672
3673 case 236: /* static_var_list */
3674
3675 { zend_ast_destroy(((*yyvaluep).ast)); }
3676
3677 break;
3678
3679 case 237: /* static_var */
3680
3681 { zend_ast_destroy(((*yyvaluep).ast)); }
3682
3683 break;
3684
3685 case 238: /* class_statement_list */
3686
3687 { zend_ast_destroy(((*yyvaluep).ast)); }
3688
3689 break;
3690
3691 case 239: /* class_statement */
3692
3693 { zend_ast_destroy(((*yyvaluep).ast)); }
3694
3695 break;
3696
3697 case 240: /* name_list */
3698
3699 { zend_ast_destroy(((*yyvaluep).ast)); }
3700
3701 break;
3702
3703 case 241: /* trait_adaptations */
3704
3705 { zend_ast_destroy(((*yyvaluep).ast)); }
3706
3707 break;
3708
3709 case 242: /* trait_adaptation_list */
3710
3711 { zend_ast_destroy(((*yyvaluep).ast)); }
3712
3713 break;
3714
3715 case 243: /* trait_adaptation */
3716
3717 { zend_ast_destroy(((*yyvaluep).ast)); }
3718
3719 break;
3720
3721 case 244: /* trait_precedence */
3722
3723 { zend_ast_destroy(((*yyvaluep).ast)); }
3724
3725 break;
3726
3727 case 245: /* trait_alias */
3728
3729 { zend_ast_destroy(((*yyvaluep).ast)); }
3730
3731 break;
3732
3733 case 246: /* trait_method_reference */
3734
3735 { zend_ast_destroy(((*yyvaluep).ast)); }
3736
3737 break;
3738
3739 case 247: /* absolute_trait_method_reference */
3740
3741 { zend_ast_destroy(((*yyvaluep).ast)); }
3742
3743 break;
3744
3745 case 248: /* method_body */
3746
3747 { zend_ast_destroy(((*yyvaluep).ast)); }
3748
3749 break;
3750
3751 case 253: /* property_list */
3752
3753 { zend_ast_destroy(((*yyvaluep).ast)); }
3754
3755 break;
3756
3757 case 254: /* property */
3758
3759 { zend_ast_destroy(((*yyvaluep).ast)); }
3760
3761 break;
3762
3763 case 255: /* class_const_list */
3764
3765 { zend_ast_destroy(((*yyvaluep).ast)); }
3766
3767 break;
3768
3769 case 256: /* class_const_decl */
3770
3771 { zend_ast_destroy(((*yyvaluep).ast)); }
3772
3773 break;
3774
3775 case 257: /* const_decl */
3776
3777 { zend_ast_destroy(((*yyvaluep).ast)); }
3778
3779 break;
3780
3781 case 258: /* echo_expr_list */
3782
3783 { zend_ast_destroy(((*yyvaluep).ast)); }
3784
3785 break;
3786
3787 case 259: /* echo_expr */
3788
3789 { zend_ast_destroy(((*yyvaluep).ast)); }
3790
3791 break;
3792
3793 case 260: /* for_exprs */
3794
3795 { zend_ast_destroy(((*yyvaluep).ast)); }
3796
3797 break;
3798
3799 case 261: /* non_empty_for_exprs */
3800
3801 { zend_ast_destroy(((*yyvaluep).ast)); }
3802
3803 break;
3804
3805 case 262: /* anonymous_class */
3806
3807 { zend_ast_destroy(((*yyvaluep).ast)); }
3808
3809 break;
3810
3811 case 264: /* new_expr */
3812
3813 { zend_ast_destroy(((*yyvaluep).ast)); }
3814
3815 break;
3816
3817 case 265: /* expr */
3818
3819 { zend_ast_destroy(((*yyvaluep).ast)); }
3820
3821 break;
3822
3823 case 267: /* backup_doc_comment */
3824
3825 { if (((*yyvaluep).str)) zend_string_release_ex(((*yyvaluep).str), 0); }
3826
3827 break;
3828
3829 case 270: /* lexical_vars */
3830
3831 { zend_ast_destroy(((*yyvaluep).ast)); }
3832
3833 break;
3834
3835 case 271: /* lexical_var_list */
3836
3837 { zend_ast_destroy(((*yyvaluep).ast)); }
3838
3839 break;
3840
3841 case 272: /* lexical_var */
3842
3843 { zend_ast_destroy(((*yyvaluep).ast)); }
3844
3845 break;
3846
3847 case 273: /* function_call */
3848
3849 { zend_ast_destroy(((*yyvaluep).ast)); }
3850
3851 break;
3852
3853 case 274: /* class_name */
3854
3855 { zend_ast_destroy(((*yyvaluep).ast)); }
3856
3857 break;
3858
3859 case 275: /* class_name_reference */
3860
3861 { zend_ast_destroy(((*yyvaluep).ast)); }
3862
3863 break;
3864
3865 case 276: /* exit_expr */
3866
3867 { zend_ast_destroy(((*yyvaluep).ast)); }
3868
3869 break;
3870
3871 case 277: /* backticks_expr */
3872
3873 { zend_ast_destroy(((*yyvaluep).ast)); }
3874
3875 break;
3876
3877 case 278: /* ctor_arguments */
3878
3879 { zend_ast_destroy(((*yyvaluep).ast)); }
3880
3881 break;
3882
3883 case 279: /* dereferencable_scalar */
3884
3885 { zend_ast_destroy(((*yyvaluep).ast)); }
3886
3887 break;
3888
3889 case 280: /* scalar */
3890
3891 { zend_ast_destroy(((*yyvaluep).ast)); }
3892
3893 break;
3894
3895 case 281: /* constant */
3896
3897 { zend_ast_destroy(((*yyvaluep).ast)); }
3898
3899 break;
3900
3901 case 282: /* optional_expr */
3902
3903 { zend_ast_destroy(((*yyvaluep).ast)); }
3904
3905 break;
3906
3907 case 283: /* variable_class_name */
3908
3909 { zend_ast_destroy(((*yyvaluep).ast)); }
3910
3911 break;
3912
3913 case 284: /* dereferencable */
3914
3915 { zend_ast_destroy(((*yyvaluep).ast)); }
3916
3917 break;
3918
3919 case 285: /* callable_expr */
3920
3921 { zend_ast_destroy(((*yyvaluep).ast)); }
3922
3923 break;
3924
3925 case 286: /* callable_variable */
3926
3927 { zend_ast_destroy(((*yyvaluep).ast)); }
3928
3929 break;
3930
3931 case 287: /* variable */
3932
3933 { zend_ast_destroy(((*yyvaluep).ast)); }
3934
3935 break;
3936
3937 case 288: /* simple_variable */
3938
3939 { zend_ast_destroy(((*yyvaluep).ast)); }
3940
3941 break;
3942
3943 case 289: /* static_member */
3944
3945 { zend_ast_destroy(((*yyvaluep).ast)); }
3946
3947 break;
3948
3949 case 290: /* new_variable */
3950
3951 { zend_ast_destroy(((*yyvaluep).ast)); }
3952
3953 break;
3954
3955 case 291: /* member_name */
3956
3957 { zend_ast_destroy(((*yyvaluep).ast)); }
3958
3959 break;
3960
3961 case 292: /* property_name */
3962
3963 { zend_ast_destroy(((*yyvaluep).ast)); }
3964
3965 break;
3966
3967 case 293: /* array_pair_list */
3968
3969 { zend_ast_destroy(((*yyvaluep).ast)); }
3970
3971 break;
3972
3973 case 294: /* possible_array_pair */
3974
3975 { zend_ast_destroy(((*yyvaluep).ast)); }
3976
3977 break;
3978
3979 case 295: /* non_empty_array_pair_list */
3980
3981 { zend_ast_destroy(((*yyvaluep).ast)); }
3982
3983 break;
3984
3985 case 296: /* array_pair */
3986
3987 { zend_ast_destroy(((*yyvaluep).ast)); }
3988
3989 break;
3990
3991 case 297: /* encaps_list */
3992
3993 { zend_ast_destroy(((*yyvaluep).ast)); }
3994
3995 break;
3996
3997 case 298: /* encaps_var */
3998
3999 { zend_ast_destroy(((*yyvaluep).ast)); }
4000
4001 break;
4002
4003 case 299: /* encaps_var_offset */
4004
4005 { zend_ast_destroy(((*yyvaluep).ast)); }
4006
4007 break;
4008
4009 case 300: /* internal_functions_in_yacc */
4010
4011 { zend_ast_destroy(((*yyvaluep).ast)); }
4012
4013 break;
4014
4015 case 301: /* isset_variables */
4016
4017 { zend_ast_destroy(((*yyvaluep).ast)); }
4018
4019 break;
4020
4021 case 302: /* isset_variable */
4022
4023 { zend_ast_destroy(((*yyvaluep).ast)); }
4024
4025 break;
4026
4027
4028 default:
4029 break;
4030 }
4031 YY_IGNORE_MAYBE_UNINITIALIZED_END
4032 }
4033
4034
4035
4036
4037 /*----------.
4038 | yyparse. |
4039 `----------*/
4040
4041 int
yyparse(void)4042 yyparse (void)
4043 {
4044 /* The lookahead symbol. */
4045 int yychar;
4046
4047
4048 /* The semantic value of the lookahead symbol. */
4049 /* Default value used for initialization, for pacifying older GCCs
4050 or non-GCC compilers. */
4051 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
4052 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
4053
4054 /* Number of syntax errors so far. */
4055 int yynerrs;
4056
4057 int yystate;
4058 /* Number of tokens to shift before error messages enabled. */
4059 int yyerrstatus;
4060
4061 /* The stacks and their tools:
4062 'yyss': related to states.
4063 'yyvs': related to semantic values.
4064
4065 Refer to the stacks through separate pointers, to allow yyoverflow
4066 to reallocate them elsewhere. */
4067
4068 /* The state stack. */
4069 yytype_int16 yyssa[YYINITDEPTH];
4070 yytype_int16 *yyss;
4071 yytype_int16 *yyssp;
4072
4073 /* The semantic value stack. */
4074 YYSTYPE yyvsa[YYINITDEPTH];
4075 YYSTYPE *yyvs;
4076 YYSTYPE *yyvsp;
4077
4078 YYSIZE_T yystacksize;
4079
4080 int yyn;
4081 int yyresult;
4082 /* Lookahead token as an internal (translated) token number. */
4083 int yytoken = 0;
4084 /* The variables used to return semantic value and location from the
4085 action routines. */
4086 YYSTYPE yyval;
4087
4088 #if YYERROR_VERBOSE
4089 /* Buffer for error messages, and its allocated size. */
4090 char yymsgbuf[128];
4091 char *yymsg = yymsgbuf;
4092 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4093 #endif
4094
4095 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
4096
4097 /* The number of symbols on the RHS of the reduced rule.
4098 Keep to zero when no symbol should be popped. */
4099 int yylen = 0;
4100
4101 yyssp = yyss = yyssa;
4102 yyvsp = yyvs = yyvsa;
4103 yystacksize = YYINITDEPTH;
4104
4105 YYDPRINTF ((stderr, "Starting parse\n"));
4106
4107 yystate = 0;
4108 yyerrstatus = 0;
4109 yynerrs = 0;
4110 yychar = YYEMPTY; /* Cause a token to be read. */
4111 goto yysetstate;
4112
4113 /*------------------------------------------------------------.
4114 | yynewstate -- Push a new state, which is found in yystate. |
4115 `------------------------------------------------------------*/
4116 yynewstate:
4117 /* In all cases, when you get here, the value and location stacks
4118 have just been pushed. So pushing a state here evens the stacks. */
4119 yyssp++;
4120
4121 yysetstate:
4122 *yyssp = yystate;
4123
4124 if (yyss + yystacksize - 1 <= yyssp)
4125 {
4126 /* Get the current used size of the three stacks, in elements. */
4127 YYSIZE_T yysize = yyssp - yyss + 1;
4128
4129 #ifdef yyoverflow
4130 {
4131 /* Give user a chance to reallocate the stack. Use copies of
4132 these so that the &'s don't force the real ones into
4133 memory. */
4134 YYSTYPE *yyvs1 = yyvs;
4135 yytype_int16 *yyss1 = yyss;
4136
4137 /* Each stack pointer address is followed by the size of the
4138 data in use in that stack, in bytes. This used to be a
4139 conditional around just the two extra args, but that might
4140 be undefined if yyoverflow is a macro. */
4141 yyoverflow (YY_("memory exhausted"),
4142 &yyss1, yysize * sizeof (*yyssp),
4143 &yyvs1, yysize * sizeof (*yyvsp),
4144 &yystacksize);
4145
4146 yyss = yyss1;
4147 yyvs = yyvs1;
4148 }
4149 #else /* no yyoverflow */
4150 # ifndef YYSTACK_RELOCATE
4151 goto yyexhaustedlab;
4152 # else
4153 /* Extend the stack our own way. */
4154 if (YYMAXDEPTH <= yystacksize)
4155 goto yyexhaustedlab;
4156 yystacksize *= 2;
4157 if (YYMAXDEPTH < yystacksize)
4158 yystacksize = YYMAXDEPTH;
4159
4160 {
4161 yytype_int16 *yyss1 = yyss;
4162 union yyalloc *yyptr =
4163 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4164 if (! yyptr)
4165 goto yyexhaustedlab;
4166 YYSTACK_RELOCATE (yyss_alloc, yyss);
4167 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
4168 # undef YYSTACK_RELOCATE
4169 if (yyss1 != yyssa)
4170 YYSTACK_FREE (yyss1);
4171 }
4172 # endif
4173 #endif /* no yyoverflow */
4174
4175 yyssp = yyss + yysize - 1;
4176 yyvsp = yyvs + yysize - 1;
4177
4178 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4179 (unsigned long int) yystacksize));
4180
4181 if (yyss + yystacksize - 1 <= yyssp)
4182 YYABORT;
4183 }
4184
4185 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4186
4187 if (yystate == YYFINAL)
4188 YYACCEPT;
4189
4190 goto yybackup;
4191
4192 /*-----------.
4193 | yybackup. |
4194 `-----------*/
4195 yybackup:
4196
4197 /* Do appropriate processing given the current state. Read a
4198 lookahead token if we need one and don't already have one. */
4199
4200 /* First try to decide what to do without reference to lookahead token. */
4201 yyn = yypact[yystate];
4202 if (yypact_value_is_default (yyn))
4203 goto yydefault;
4204
4205 /* Not known => get a lookahead token if don't already have one. */
4206
4207 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
4208 if (yychar == YYEMPTY)
4209 {
4210 YYDPRINTF ((stderr, "Reading a token: "));
4211 yychar = yylex (&yylval);
4212 }
4213
4214 if (yychar <= YYEOF)
4215 {
4216 yychar = yytoken = YYEOF;
4217 YYDPRINTF ((stderr, "Now at end of input.\n"));
4218 }
4219 else
4220 {
4221 yytoken = YYTRANSLATE (yychar);
4222 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4223 }
4224
4225 /* If the proper action on seeing token YYTOKEN is to reduce or to
4226 detect an error, take that action. */
4227 yyn += yytoken;
4228 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4229 goto yydefault;
4230 yyn = yytable[yyn];
4231 if (yyn <= 0)
4232 {
4233 if (yytable_value_is_error (yyn))
4234 goto yyerrlab;
4235 yyn = -yyn;
4236 goto yyreduce;
4237 }
4238
4239 /* Count tokens shifted since error; after three, turn off error
4240 status. */
4241 if (yyerrstatus)
4242 yyerrstatus--;
4243
4244 /* Shift the lookahead token. */
4245 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4246
4247 /* Discard the shifted token. */
4248 yychar = YYEMPTY;
4249
4250 yystate = yyn;
4251 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4252 *++yyvsp = yylval;
4253 YY_IGNORE_MAYBE_UNINITIALIZED_END
4254
4255 goto yynewstate;
4256
4257
4258 /*-----------------------------------------------------------.
4259 | yydefault -- do the default action for the current state. |
4260 `-----------------------------------------------------------*/
4261 yydefault:
4262 yyn = yydefact[yystate];
4263 if (yyn == 0)
4264 goto yyerrlab;
4265 goto yyreduce;
4266
4267
4268 /*-----------------------------.
4269 | yyreduce -- Do a reduction. |
4270 `-----------------------------*/
4271 yyreduce:
4272 /* yyn is the number of a rule to reduce with. */
4273 yylen = yyr2[yyn];
4274
4275 /* If YYLEN is nonzero, implement the default value of the action:
4276 '$$ = $1'.
4277
4278 Otherwise, the following line sets YYVAL to garbage.
4279 This behavior is undocumented and Bison
4280 users should not rely upon it. Assigning to YYVAL
4281 unconditionally makes the parser a bit smaller, and it avoids a
4282 GCC warning that YYVAL may be used uninitialized. */
4283 yyval = yyvsp[1-yylen];
4284
4285
4286 YY_REDUCE_PRINT (yyn);
4287 switch (yyn)
4288 {
4289 case 2:
4290
4291 { CG(ast) = (yyvsp[0].ast); }
4292
4293 break;
4294
4295 case 77:
4296
4297 { (yyval.ast) = (yyvsp[0].ast); }
4298
4299 break;
4300
4301 case 78:
4302
4303 {
4304 zval zv;
4305 zend_lex_tstring(&zv);
4306 (yyval.ast) = zend_ast_create_zval(&zv);
4307 }
4308
4309 break;
4310
4311 case 79:
4312
4313 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
4314
4315 break;
4316
4317 case 80:
4318
4319 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
4320
4321 break;
4322
4323 case 81:
4324
4325 { (yyval.ast) = (yyvsp[0].ast); }
4326
4327 break;
4328
4329 case 82:
4330
4331 { (yyval.ast) = zend_ast_append_str((yyvsp[-2].ast), (yyvsp[0].ast)); }
4332
4333 break;
4334
4335 case 83:
4336
4337 { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_NOT_FQ; }
4338
4339 break;
4340
4341 case 84:
4342
4343 { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_RELATIVE; }
4344
4345 break;
4346
4347 case 85:
4348
4349 { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_FQ; }
4350
4351 break;
4352
4353 case 86:
4354
4355 { (yyval.ast) = (yyvsp[0].ast); }
4356
4357 break;
4358
4359 case 87:
4360
4361 { (yyval.ast) = (yyvsp[0].ast); }
4362
4363 break;
4364
4365 case 88:
4366
4367 { (yyval.ast) = (yyvsp[0].ast); }
4368
4369 break;
4370
4371 case 89:
4372
4373 { (yyval.ast) = (yyvsp[0].ast); }
4374
4375 break;
4376
4377 case 90:
4378
4379 { (yyval.ast) = (yyvsp[0].ast); }
4380
4381 break;
4382
4383 case 91:
4384
4385 { (yyval.ast) = zend_ast_create(ZEND_AST_HALT_COMPILER,
4386 zend_ast_create_zval_from_long(zend_get_scanned_file_offset()));
4387 zend_stop_lexing(); }
4388
4389 break;
4390
4391 case 92:
4392
4393 { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-1].ast), NULL);
4394 RESET_DOC_COMMENT(); }
4395
4396 break;
4397
4398 case 93:
4399
4400 { RESET_DOC_COMMENT(); }
4401
4402 break;
4403
4404 case 94:
4405
4406 { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
4407
4408 break;
4409
4410 case 95:
4411
4412 { RESET_DOC_COMMENT(); }
4413
4414 break;
4415
4416 case 96:
4417
4418 { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, NULL, (yyvsp[-1].ast)); }
4419
4420 break;
4421
4422 case 97:
4423
4424 { (yyval.ast) = (yyvsp[-1].ast); }
4425
4426 break;
4427
4428 case 98:
4429
4430 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
4431
4432 break;
4433
4434 case 99:
4435
4436 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
4437
4438 break;
4439
4440 case 100:
4441
4442 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
4443
4444 break;
4445
4446 case 101:
4447
4448 { (yyval.ast) = (yyvsp[-1].ast); }
4449
4450 break;
4451
4452 case 102:
4453
4454 { (yyval.num) = ZEND_SYMBOL_FUNCTION; }
4455
4456 break;
4457
4458 case 103:
4459
4460 { (yyval.num) = ZEND_SYMBOL_CONST; }
4461
4462 break;
4463
4464 case 104:
4465
4466 { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
4467
4468 break;
4469
4470 case 105:
4471
4472 { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
4473
4474 break;
4475
4476 case 106:
4477
4478 { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast));}
4479
4480 break;
4481
4482 case 107:
4483
4484 { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
4485
4486 break;
4487
4488 case 110:
4489
4490 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
4491
4492 break;
4493
4494 case 111:
4495
4496 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
4497
4498 break;
4499
4500 case 112:
4501
4502 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
4503
4504 break;
4505
4506 case 113:
4507
4508 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
4509
4510 break;
4511
4512 case 114:
4513
4514 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
4515
4516 break;
4517
4518 case 115:
4519
4520 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
4521
4522 break;
4523
4524 case 116:
4525
4526 { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
4527
4528 break;
4529
4530 case 117:
4531
4532 { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = (yyvsp[-1].num); }
4533
4534 break;
4535
4536 case 118:
4537
4538 { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[0].ast), NULL); }
4539
4540 break;
4541
4542 case 119:
4543
4544 { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast)); }
4545
4546 break;
4547
4548 case 120:
4549
4550 { (yyval.ast) = (yyvsp[0].ast); }
4551
4552 break;
4553
4554 case 121:
4555
4556 { (yyval.ast) = (yyvsp[0].ast); }
4557
4558 break;
4559
4560 case 122:
4561
4562 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
4563
4564 break;
4565
4566 case 123:
4567
4568 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CONST_DECL, (yyvsp[0].ast)); }
4569
4570 break;
4571
4572 case 124:
4573
4574 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
4575
4576 break;
4577
4578 case 125:
4579
4580 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
4581
4582 break;
4583
4584 case 126:
4585
4586 { (yyval.ast) = (yyvsp[0].ast); }
4587
4588 break;
4589
4590 case 127:
4591
4592 { (yyval.ast) = (yyvsp[0].ast); }
4593
4594 break;
4595
4596 case 128:
4597
4598 { (yyval.ast) = (yyvsp[0].ast); }
4599
4600 break;
4601
4602 case 129:
4603
4604 { (yyval.ast) = (yyvsp[0].ast); }
4605
4606 break;
4607
4608 case 130:
4609
4610 { (yyval.ast) = (yyvsp[0].ast); }
4611
4612 break;
4613
4614 case 131:
4615
4616 { (yyval.ast) = NULL; zend_throw_exception(zend_ce_compile_error,
4617 "__HALT_COMPILER() can only be used from the outermost scope", 0); YYERROR; }
4618
4619 break;
4620
4621 case 132:
4622
4623 { (yyval.ast) = (yyvsp[-1].ast); }
4624
4625 break;
4626
4627 case 133:
4628
4629 { (yyval.ast) = (yyvsp[0].ast); }
4630
4631 break;
4632
4633 case 134:
4634
4635 { (yyval.ast) = (yyvsp[0].ast); }
4636
4637 break;
4638
4639 case 135:
4640
4641 { (yyval.ast) = zend_ast_create(ZEND_AST_WHILE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
4642
4643 break;
4644
4645 case 136:
4646
4647 { (yyval.ast) = zend_ast_create(ZEND_AST_DO_WHILE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
4648
4649 break;
4650
4651 case 137:
4652
4653 { (yyval.ast) = zend_ast_create(ZEND_AST_FOR, (yyvsp[-6].ast), (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
4654
4655 break;
4656
4657 case 138:
4658
4659 { (yyval.ast) = zend_ast_create(ZEND_AST_SWITCH, (yyvsp[-2].ast), (yyvsp[0].ast)); }
4660
4661 break;
4662
4663 case 139:
4664
4665 { (yyval.ast) = zend_ast_create(ZEND_AST_BREAK, (yyvsp[-1].ast)); }
4666
4667 break;
4668
4669 case 140:
4670
4671 { (yyval.ast) = zend_ast_create(ZEND_AST_CONTINUE, (yyvsp[-1].ast)); }
4672
4673 break;
4674
4675 case 141:
4676
4677 { (yyval.ast) = zend_ast_create(ZEND_AST_RETURN, (yyvsp[-1].ast)); }
4678
4679 break;
4680
4681 case 142:
4682
4683 { (yyval.ast) = (yyvsp[-1].ast); }
4684
4685 break;
4686
4687 case 143:
4688
4689 { (yyval.ast) = (yyvsp[-1].ast); }
4690
4691 break;
4692
4693 case 144:
4694
4695 { (yyval.ast) = (yyvsp[-1].ast); }
4696
4697 break;
4698
4699 case 145:
4700
4701 { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
4702
4703 break;
4704
4705 case 146:
4706
4707 { (yyval.ast) = (yyvsp[-1].ast); }
4708
4709 break;
4710
4711 case 147:
4712
4713 { (yyval.ast) = (yyvsp[-3].ast); }
4714
4715 break;
4716
4717 case 148:
4718
4719 { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-4].ast), (yyvsp[-2].ast), NULL, (yyvsp[0].ast)); }
4720
4721 break;
4722
4723 case 149:
4724
4725 { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-4].ast), (yyvsp[0].ast)); }
4726
4727 break;
4728
4729 case 150:
4730
4731 { if (!zend_handle_encoding_declaration((yyvsp[-1].ast))) { YYERROR; } }
4732
4733 break;
4734
4735 case 151:
4736
4737 { (yyval.ast) = zend_ast_create(ZEND_AST_DECLARE, (yyvsp[-3].ast), (yyvsp[0].ast)); }
4738
4739 break;
4740
4741 case 152:
4742
4743 { (yyval.ast) = NULL; }
4744
4745 break;
4746
4747 case 153:
4748
4749 { (yyval.ast) = zend_ast_create(ZEND_AST_TRY, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
4750
4751 break;
4752
4753 case 154:
4754
4755 { (yyval.ast) = zend_ast_create(ZEND_AST_THROW, (yyvsp[-1].ast)); }
4756
4757 break;
4758
4759 case 155:
4760
4761 { (yyval.ast) = zend_ast_create(ZEND_AST_GOTO, (yyvsp[-1].ast)); }
4762
4763 break;
4764
4765 case 156:
4766
4767 { (yyval.ast) = zend_ast_create(ZEND_AST_LABEL, (yyvsp[-1].ast)); }
4768
4769 break;
4770
4771 case 157:
4772
4773 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_CATCH_LIST); }
4774
4775 break;
4776
4777 case 158:
4778
4779 { (yyval.ast) = zend_ast_list_add((yyvsp[-8].ast), zend_ast_create(ZEND_AST_CATCH, (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast))); }
4780
4781 break;
4782
4783 case 159:
4784
4785 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
4786
4787 break;
4788
4789 case 160:
4790
4791 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
4792
4793 break;
4794
4795 case 161:
4796
4797 { (yyval.ast) = NULL; }
4798
4799 break;
4800
4801 case 162:
4802
4803 { (yyval.ast) = (yyvsp[-1].ast); }
4804
4805 break;
4806
4807 case 163:
4808
4809 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
4810
4811 break;
4812
4813 case 164:
4814
4815 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
4816
4817 break;
4818
4819 case 165:
4820
4821 { (yyval.ast) = zend_ast_create(ZEND_AST_UNSET, (yyvsp[0].ast)); }
4822
4823 break;
4824
4825 case 166:
4826
4827 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_FUNC_DECL, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-9].str),
4828 zend_ast_get_str((yyvsp[-10].ast)), (yyvsp[-7].ast), NULL, (yyvsp[-2].ast), (yyvsp[-5].ast)); CG(extra_fn_flags) = (yyvsp[-4].num); }
4829
4830 break;
4831
4832 case 167:
4833
4834 { (yyval.num) = 0; }
4835
4836 break;
4837
4838 case 168:
4839
4840 { (yyval.num) = ZEND_PARAM_REF; }
4841
4842 break;
4843
4844 case 169:
4845
4846 { (yyval.num) = 0; }
4847
4848 break;
4849
4850 case 170:
4851
4852 { (yyval.num) = ZEND_PARAM_VARIADIC; }
4853
4854 break;
4855
4856 case 171:
4857
4858 { (yyval.num) = CG(zend_lineno); }
4859
4860 break;
4861
4862 case 172:
4863
4864 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, (yyvsp[-9].num), (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL); }
4865
4866 break;
4867
4868 case 173:
4869
4870 { (yyval.num) = CG(zend_lineno); }
4871
4872 break;
4873
4874 case 174:
4875
4876 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, 0, (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL); }
4877
4878 break;
4879
4880 case 175:
4881
4882 { (yyval.num) = (yyvsp[0].num); }
4883
4884 break;
4885
4886 case 176:
4887
4888 { (yyval.num) = zend_add_class_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
4889
4890 break;
4891
4892 case 177:
4893
4894 { (yyval.num) = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; }
4895
4896 break;
4897
4898 case 178:
4899
4900 { (yyval.num) = ZEND_ACC_FINAL; }
4901
4902 break;
4903
4904 case 179:
4905
4906 { (yyval.num) = CG(zend_lineno); }
4907
4908 break;
4909
4910 case 180:
4911
4912 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_TRAIT, (yyvsp[-5].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-4].ast)), NULL, NULL, (yyvsp[-1].ast), NULL); }
4913
4914 break;
4915
4916 case 181:
4917
4918 { (yyval.num) = CG(zend_lineno); }
4919
4920 break;
4921
4922 case 182:
4923
4924 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_INTERFACE, (yyvsp[-6].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-5].ast)), NULL, (yyvsp[-4].ast), (yyvsp[-1].ast), NULL); }
4925
4926 break;
4927
4928 case 183:
4929
4930 { (yyval.ast) = NULL; }
4931
4932 break;
4933
4934 case 184:
4935
4936 { (yyval.ast) = (yyvsp[0].ast); }
4937
4938 break;
4939
4940 case 185:
4941
4942 { (yyval.ast) = NULL; }
4943
4944 break;
4945
4946 case 186:
4947
4948 { (yyval.ast) = (yyvsp[0].ast); }
4949
4950 break;
4951
4952 case 187:
4953
4954 { (yyval.ast) = NULL; }
4955
4956 break;
4957
4958 case 188:
4959
4960 { (yyval.ast) = (yyvsp[0].ast); }
4961
4962 break;
4963
4964 case 189:
4965
4966 { (yyval.ast) = (yyvsp[0].ast); }
4967
4968 break;
4969
4970 case 190:
4971
4972 { (yyval.ast) = zend_ast_create(ZEND_AST_REF, (yyvsp[0].ast)); }
4973
4974 break;
4975
4976 case 191:
4977
4978 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LIST; }
4979
4980 break;
4981
4982 case 192:
4983
4984 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
4985
4986 break;
4987
4988 case 193:
4989
4990 { (yyval.ast) = (yyvsp[0].ast); }
4991
4992 break;
4993
4994 case 194:
4995
4996 { (yyval.ast) = (yyvsp[-2].ast); }
4997
4998 break;
4999
5000 case 195:
5001
5002 { (yyval.ast) = (yyvsp[0].ast); }
5003
5004 break;
5005
5006 case 196:
5007
5008 { (yyval.ast) = (yyvsp[-2].ast); }
5009
5010 break;
5011
5012 case 197:
5013
5014 { (yyval.ast) = (yyvsp[0].ast); }
5015
5016 break;
5017
5018 case 198:
5019
5020 { (yyval.ast) = (yyvsp[-2].ast); }
5021
5022 break;
5023
5024 case 199:
5025
5026 { (yyval.ast) = (yyvsp[-1].ast); }
5027
5028 break;
5029
5030 case 200:
5031
5032 { (yyval.ast) = (yyvsp[-1].ast); }
5033
5034 break;
5035
5036 case 201:
5037
5038 { (yyval.ast) = (yyvsp[-2].ast); }
5039
5040 break;
5041
5042 case 202:
5043
5044 { (yyval.ast) = (yyvsp[-2].ast); }
5045
5046 break;
5047
5048 case 203:
5049
5050 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_SWITCH_LIST); }
5051
5052 break;
5053
5054 case 204:
5055
5056 { (yyval.ast) = zend_ast_list_add((yyvsp[-4].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, (yyvsp[-2].ast), (yyvsp[0].ast))); }
5057
5058 break;
5059
5060 case 205:
5061
5062 { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, NULL, (yyvsp[0].ast))); }
5063
5064 break;
5065
5066 case 208:
5067
5068 { (yyval.ast) = (yyvsp[0].ast); }
5069
5070 break;
5071
5072 case 209:
5073
5074 { (yyval.ast) = (yyvsp[-2].ast); }
5075
5076 break;
5077
5078 case 210:
5079
5080 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
5081 zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
5082
5083 break;
5084
5085 case 211:
5086
5087 { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
5088 zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
5089
5090 break;
5091
5092 case 212:
5093
5094 { (yyval.ast) = (yyvsp[0].ast); }
5095
5096 break;
5097
5098 case 213:
5099
5100 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[0].ast))); }
5101
5102 break;
5103
5104 case 214:
5105
5106 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
5107 zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
5108
5109 break;
5110
5111 case 215:
5112
5113 { (yyval.ast) = zend_ast_list_add((yyvsp[-6].ast),
5114 zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
5115
5116 break;
5117
5118 case 216:
5119
5120 { (yyval.ast) = (yyvsp[-2].ast); }
5121
5122 break;
5123
5124 case 217:
5125
5126 { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
5127 zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[-2].ast))); }
5128
5129 break;
5130
5131 case 218:
5132
5133 { (yyval.ast) = (yyvsp[0].ast); }
5134
5135 break;
5136
5137 case 219:
5138
5139 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_PARAM_LIST); }
5140
5141 break;
5142
5143 case 220:
5144
5145 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PARAM_LIST, (yyvsp[0].ast)); }
5146
5147 break;
5148
5149 case 221:
5150
5151 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5152
5153 break;
5154
5155 case 222:
5156
5157 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-2].num) | (yyvsp[-1].num), (yyvsp[-3].ast), (yyvsp[0].ast), NULL); }
5158
5159 break;
5160
5161 case 223:
5162
5163 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-4].num) | (yyvsp[-3].num), (yyvsp[-5].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
5164
5165 break;
5166
5167 case 224:
5168
5169 { (yyval.ast) = NULL; }
5170
5171 break;
5172
5173 case 225:
5174
5175 { (yyval.ast) = (yyvsp[0].ast); }
5176
5177 break;
5178
5179 case 226:
5180
5181 { (yyval.ast) = (yyvsp[0].ast); }
5182
5183 break;
5184
5185 case 227:
5186
5187 { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr |= ZEND_TYPE_NULLABLE; }
5188
5189 break;
5190
5191 case 228:
5192
5193 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_ARRAY); }
5194
5195 break;
5196
5197 case 229:
5198
5199 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_CALLABLE); }
5200
5201 break;
5202
5203 case 230:
5204
5205 { (yyval.ast) = (yyvsp[0].ast); }
5206
5207 break;
5208
5209 case 231:
5210
5211 { (yyval.ast) = NULL; }
5212
5213 break;
5214
5215 case 232:
5216
5217 { (yyval.ast) = (yyvsp[0].ast); }
5218
5219 break;
5220
5221 case 233:
5222
5223 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_ARG_LIST); }
5224
5225 break;
5226
5227 case 234:
5228
5229 { (yyval.ast) = (yyvsp[-2].ast); }
5230
5231 break;
5232
5233 case 235:
5234
5235 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)); }
5236
5237 break;
5238
5239 case 236:
5240
5241 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5242
5243 break;
5244
5245 case 237:
5246
5247 { (yyval.ast) = (yyvsp[0].ast); }
5248
5249 break;
5250
5251 case 238:
5252
5253 { (yyval.ast) = zend_ast_create(ZEND_AST_UNPACK, (yyvsp[0].ast)); }
5254
5255 break;
5256
5257 case 239:
5258
5259 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5260
5261 break;
5262
5263 case 240:
5264
5265 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
5266
5267 break;
5268
5269 case 241:
5270
5271 { (yyval.ast) = zend_ast_create(ZEND_AST_GLOBAL, zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast))); }
5272
5273 break;
5274
5275 case 242:
5276
5277 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5278
5279 break;
5280
5281 case 243:
5282
5283 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
5284
5285 break;
5286
5287 case 244:
5288
5289 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[0].ast), NULL); }
5290
5291 break;
5292
5293 case 245:
5294
5295 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5296
5297 break;
5298
5299 case 246:
5300
5301 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5302
5303 break;
5304
5305 case 247:
5306
5307 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
5308
5309 break;
5310
5311 case 248:
5312
5313 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
5314
5315 break;
5316
5317 case 249:
5318
5319 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-3].num); }
5320
5321 break;
5322
5323 case 250:
5324
5325 { (yyval.ast) = zend_ast_create(ZEND_AST_USE_TRAIT, (yyvsp[-1].ast), (yyvsp[0].ast)); }
5326
5327 break;
5328
5329 case 251:
5330
5331 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_METHOD, (yyvsp[-9].num) | (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-10].num), (yyvsp[-7].str),
5332 zend_ast_get_str((yyvsp[-8].ast)), (yyvsp[-5].ast), NULL, (yyvsp[-1].ast), (yyvsp[-3].ast)); CG(extra_fn_flags) = (yyvsp[-2].num); }
5333
5334 break;
5335
5336 case 252:
5337
5338 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
5339
5340 break;
5341
5342 case 253:
5343
5344 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5345
5346 break;
5347
5348 case 254:
5349
5350 { (yyval.ast) = NULL; }
5351
5352 break;
5353
5354 case 255:
5355
5356 { (yyval.ast) = NULL; }
5357
5358 break;
5359
5360 case 256:
5361
5362 { (yyval.ast) = (yyvsp[-1].ast); }
5363
5364 break;
5365
5366 case 257:
5367
5368 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_TRAIT_ADAPTATIONS, (yyvsp[0].ast)); }
5369
5370 break;
5371
5372 case 258:
5373
5374 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5375
5376 break;
5377
5378 case 259:
5379
5380 { (yyval.ast) = (yyvsp[-1].ast); }
5381
5382 break;
5383
5384 case 260:
5385
5386 { (yyval.ast) = (yyvsp[-1].ast); }
5387
5388 break;
5389
5390 case 261:
5391
5392 { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_PRECEDENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5393
5394 break;
5395
5396 case 262:
5397
5398 { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5399
5400 break;
5401
5402 case 263:
5403
5404 { zval zv; zend_lex_tstring(&zv); (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), zend_ast_create_zval(&zv)); }
5405
5406 break;
5407
5408 case 264:
5409
5410 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, (yyvsp[-1].num), (yyvsp[-3].ast), (yyvsp[0].ast)); }
5411
5412 break;
5413
5414 case 265:
5415
5416 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, (yyvsp[0].num), (yyvsp[-2].ast), NULL); }
5417
5418 break;
5419
5420 case 266:
5421
5422 { (yyval.ast) = zend_ast_create(ZEND_AST_METHOD_REFERENCE, NULL, (yyvsp[0].ast)); }
5423
5424 break;
5425
5426 case 267:
5427
5428 { (yyval.ast) = (yyvsp[0].ast); }
5429
5430 break;
5431
5432 case 268:
5433
5434 { (yyval.ast) = zend_ast_create(ZEND_AST_METHOD_REFERENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5435
5436 break;
5437
5438 case 269:
5439
5440 { (yyval.ast) = NULL; }
5441
5442 break;
5443
5444 case 270:
5445
5446 { (yyval.ast) = (yyvsp[-1].ast); }
5447
5448 break;
5449
5450 case 271:
5451
5452 { (yyval.num) = (yyvsp[0].num); }
5453
5454 break;
5455
5456 case 272:
5457
5458 { (yyval.num) = ZEND_ACC_PUBLIC; }
5459
5460 break;
5461
5462 case 273:
5463
5464 { (yyval.num) = ZEND_ACC_PUBLIC; }
5465
5466 break;
5467
5468 case 274:
5469
5470 { (yyval.num) = (yyvsp[0].num); if (!((yyval.num) & ZEND_ACC_PPP_MASK)) { (yyval.num) |= ZEND_ACC_PUBLIC; } }
5471
5472 break;
5473
5474 case 275:
5475
5476 { (yyval.num) = (yyvsp[0].num); }
5477
5478 break;
5479
5480 case 276:
5481
5482 { (yyval.num) = zend_add_member_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
5483
5484 break;
5485
5486 case 277:
5487
5488 { (yyval.num) = ZEND_ACC_PUBLIC; }
5489
5490 break;
5491
5492 case 278:
5493
5494 { (yyval.num) = ZEND_ACC_PROTECTED; }
5495
5496 break;
5497
5498 case 279:
5499
5500 { (yyval.num) = ZEND_ACC_PRIVATE; }
5501
5502 break;
5503
5504 case 280:
5505
5506 { (yyval.num) = ZEND_ACC_STATIC; }
5507
5508 break;
5509
5510 case 281:
5511
5512 { (yyval.num) = ZEND_ACC_ABSTRACT; }
5513
5514 break;
5515
5516 case 282:
5517
5518 { (yyval.num) = ZEND_ACC_FINAL; }
5519
5520 break;
5521
5522 case 283:
5523
5524 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5525
5526 break;
5527
5528 case 284:
5529
5530 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PROP_DECL, (yyvsp[0].ast)); }
5531
5532 break;
5533
5534 case 285:
5535
5536 { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-1].ast), NULL, ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
5537
5538 break;
5539
5540 case 286:
5541
5542 { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
5543
5544 break;
5545
5546 case 287:
5547
5548 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5549
5550 break;
5551
5552 case 288:
5553
5554 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLASS_CONST_DECL, (yyvsp[0].ast)); }
5555
5556 break;
5557
5558 case 289:
5559
5560 { (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
5561
5562 break;
5563
5564 case 290:
5565
5566 { (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
5567
5568 break;
5569
5570 case 291:
5571
5572 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5573
5574 break;
5575
5576 case 292:
5577
5578 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
5579
5580 break;
5581
5582 case 293:
5583
5584 { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
5585
5586 break;
5587
5588 case 294:
5589
5590 { (yyval.ast) = NULL; }
5591
5592 break;
5593
5594 case 295:
5595
5596 { (yyval.ast) = (yyvsp[0].ast); }
5597
5598 break;
5599
5600 case 296:
5601
5602 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5603
5604 break;
5605
5606 case 297:
5607
5608 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
5609
5610 break;
5611
5612 case 298:
5613
5614 { (yyval.num) = CG(zend_lineno); }
5615
5616 break;
5617
5618 case 299:
5619
5620 {
5621 zend_ast *decl = zend_ast_create_decl(
5622 ZEND_AST_CLASS, ZEND_ACC_ANON_CLASS, (yyvsp[-7].num), (yyvsp[-3].str), NULL,
5623 (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL);
5624 (yyval.ast) = zend_ast_create(ZEND_AST_NEW, decl, (yyvsp[-6].ast));
5625 }
5626
5627 break;
5628
5629 case 300:
5630
5631 { (yyval.ast) = zend_ast_create(ZEND_AST_NEW, (yyvsp[-1].ast), (yyvsp[0].ast)); }
5632
5633 break;
5634
5635 case 301:
5636
5637 { (yyval.ast) = (yyvsp[0].ast); }
5638
5639 break;
5640
5641 case 302:
5642
5643 { (yyval.ast) = (yyvsp[0].ast); }
5644
5645 break;
5646
5647 case 303:
5648
5649 { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_LIST; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
5650
5651 break;
5652
5653 case 304:
5654
5655 { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
5656
5657 break;
5658
5659 case 305:
5660
5661 { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5662
5663 break;
5664
5665 case 306:
5666
5667 { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN_REF, (yyvsp[-3].ast), (yyvsp[0].ast)); }
5668
5669 break;
5670
5671 case 307:
5672
5673 { (yyval.ast) = zend_ast_create(ZEND_AST_CLONE, (yyvsp[0].ast)); }
5674
5675 break;
5676
5677 case 308:
5678
5679 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5680
5681 break;
5682
5683 case 309:
5684
5685 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5686
5687 break;
5688
5689 case 310:
5690
5691 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5692
5693 break;
5694
5695 case 311:
5696
5697 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5698
5699 break;
5700
5701 case 312:
5702
5703 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5704
5705 break;
5706
5707 case 313:
5708
5709 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_CONCAT, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5710
5711 break;
5712
5713 case 314:
5714
5715 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5716
5717 break;
5718
5719 case 315:
5720
5721 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5722
5723 break;
5724
5725 case 316:
5726
5727 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5728
5729 break;
5730
5731 case 317:
5732
5733 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5734
5735 break;
5736
5737 case 318:
5738
5739 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5740
5741 break;
5742
5743 case 319:
5744
5745 { (yyval.ast) = zend_ast_create_assign_op(ZEND_ASSIGN_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5746
5747 break;
5748
5749 case 320:
5750
5751 { (yyval.ast) = zend_ast_create(ZEND_AST_POST_INC, (yyvsp[-1].ast)); }
5752
5753 break;
5754
5755 case 321:
5756
5757 { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_INC, (yyvsp[0].ast)); }
5758
5759 break;
5760
5761 case 322:
5762
5763 { (yyval.ast) = zend_ast_create(ZEND_AST_POST_DEC, (yyvsp[-1].ast)); }
5764
5765 break;
5766
5767 case 323:
5768
5769 { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_DEC, (yyvsp[0].ast)); }
5770
5771 break;
5772
5773 case 324:
5774
5775 { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5776
5777 break;
5778
5779 case 325:
5780
5781 { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5782
5783 break;
5784
5785 case 326:
5786
5787 { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5788
5789 break;
5790
5791 case 327:
5792
5793 { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5794
5795 break;
5796
5797 case 328:
5798
5799 { (yyval.ast) = zend_ast_create_binary_op(ZEND_BOOL_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5800
5801 break;
5802
5803 case 329:
5804
5805 { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5806
5807 break;
5808
5809 case 330:
5810
5811 { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5812
5813 break;
5814
5815 case 331:
5816
5817 { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5818
5819 break;
5820
5821 case 332:
5822
5823 { (yyval.ast) = zend_ast_create_binary_op(ZEND_CONCAT, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5824
5825 break;
5826
5827 case 333:
5828
5829 { (yyval.ast) = zend_ast_create_binary_op(ZEND_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5830
5831 break;
5832
5833 case 334:
5834
5835 { (yyval.ast) = zend_ast_create_binary_op(ZEND_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5836
5837 break;
5838
5839 case 335:
5840
5841 { (yyval.ast) = zend_ast_create_binary_op(ZEND_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5842
5843 break;
5844
5845 case 336:
5846
5847 { (yyval.ast) = zend_ast_create_binary_op(ZEND_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5848
5849 break;
5850
5851 case 337:
5852
5853 { (yyval.ast) = zend_ast_create_binary_op(ZEND_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5854
5855 break;
5856
5857 case 338:
5858
5859 { (yyval.ast) = zend_ast_create_binary_op(ZEND_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5860
5861 break;
5862
5863 case 339:
5864
5865 { (yyval.ast) = zend_ast_create_binary_op(ZEND_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5866
5867 break;
5868
5869 case 340:
5870
5871 { (yyval.ast) = zend_ast_create_binary_op(ZEND_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5872
5873 break;
5874
5875 case 341:
5876
5877 { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_PLUS, (yyvsp[0].ast)); }
5878
5879 break;
5880
5881 case 342:
5882
5883 { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_MINUS, (yyvsp[0].ast)); }
5884
5885 break;
5886
5887 case 343:
5888
5889 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BOOL_NOT, (yyvsp[0].ast)); }
5890
5891 break;
5892
5893 case 344:
5894
5895 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BW_NOT, (yyvsp[0].ast)); }
5896
5897 break;
5898
5899 case 345:
5900
5901 { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5902
5903 break;
5904
5905 case 346:
5906
5907 { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5908
5909 break;
5910
5911 case 347:
5912
5913 { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5914
5915 break;
5916
5917 case 348:
5918
5919 { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5920
5921 break;
5922
5923 case 349:
5924
5925 { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5926
5927 break;
5928
5929 case 350:
5930
5931 { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER_OR_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5932
5933 break;
5934
5935 case 351:
5936
5937 { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5938
5939 break;
5940
5941 case 352:
5942
5943 { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5944
5945 break;
5946
5947 case 353:
5948
5949 { (yyval.ast) = zend_ast_create_binary_op(ZEND_SPACESHIP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5950
5951 break;
5952
5953 case 354:
5954
5955 { (yyval.ast) = zend_ast_create(ZEND_AST_INSTANCEOF, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5956
5957 break;
5958
5959 case 355:
5960
5961 { (yyval.ast) = (yyvsp[-1].ast); }
5962
5963 break;
5964
5965 case 356:
5966
5967 { (yyval.ast) = (yyvsp[0].ast); }
5968
5969 break;
5970
5971 case 357:
5972
5973 { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
5974
5975 break;
5976
5977 case 358:
5978
5979 { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-3].ast), NULL, (yyvsp[0].ast)); }
5980
5981 break;
5982
5983 case 359:
5984
5985 { (yyval.ast) = zend_ast_create(ZEND_AST_COALESCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5986
5987 break;
5988
5989 case 360:
5990
5991 { (yyval.ast) = (yyvsp[0].ast); }
5992
5993 break;
5994
5995 case 361:
5996
5997 { (yyval.ast) = zend_ast_create_cast(IS_LONG, (yyvsp[0].ast)); }
5998
5999 break;
6000
6001 case 362:
6002
6003 { (yyval.ast) = zend_ast_create_cast(IS_DOUBLE, (yyvsp[0].ast)); }
6004
6005 break;
6006
6007 case 363:
6008
6009 { (yyval.ast) = zend_ast_create_cast(IS_STRING, (yyvsp[0].ast)); }
6010
6011 break;
6012
6013 case 364:
6014
6015 { (yyval.ast) = zend_ast_create_cast(IS_ARRAY, (yyvsp[0].ast)); }
6016
6017 break;
6018
6019 case 365:
6020
6021 { (yyval.ast) = zend_ast_create_cast(IS_OBJECT, (yyvsp[0].ast)); }
6022
6023 break;
6024
6025 case 366:
6026
6027 { (yyval.ast) = zend_ast_create_cast(_IS_BOOL, (yyvsp[0].ast)); }
6028
6029 break;
6030
6031 case 367:
6032
6033 { (yyval.ast) = zend_ast_create_cast(IS_NULL, (yyvsp[0].ast)); }
6034
6035 break;
6036
6037 case 368:
6038
6039 { (yyval.ast) = zend_ast_create(ZEND_AST_EXIT, (yyvsp[0].ast)); }
6040
6041 break;
6042
6043 case 369:
6044
6045 { (yyval.ast) = zend_ast_create(ZEND_AST_SILENCE, (yyvsp[0].ast)); }
6046
6047 break;
6048
6049 case 370:
6050
6051 { (yyval.ast) = (yyvsp[0].ast); }
6052
6053 break;
6054
6055 case 371:
6056
6057 { (yyval.ast) = zend_ast_create(ZEND_AST_SHELL_EXEC, (yyvsp[-1].ast)); }
6058
6059 break;
6060
6061 case 372:
6062
6063 { (yyval.ast) = zend_ast_create(ZEND_AST_PRINT, (yyvsp[0].ast)); }
6064
6065 break;
6066
6067 case 373:
6068
6069 { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, NULL, NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
6070
6071 break;
6072
6073 case 374:
6074
6075 { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
6076
6077 break;
6078
6079 case 375:
6080
6081 { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), (yyvsp[-2].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
6082
6083 break;
6084
6085 case 376:
6086
6087 { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD_FROM, (yyvsp[0].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
6088
6089 break;
6090
6091 case 377:
6092
6093 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLOSURE, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-10].str),
6094 zend_string_init("{closure}", sizeof("{closure}") - 1, 0),
6095 (yyvsp[-8].ast), (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-5].ast)); CG(extra_fn_flags) = (yyvsp[-4].num); }
6096
6097 break;
6098
6099 case 378:
6100
6101 { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLOSURE, (yyvsp[-11].num) | (yyvsp[0].num) | ZEND_ACC_STATIC, (yyvsp[-12].num), (yyvsp[-10].str),
6102 zend_string_init("{closure}", sizeof("{closure}") - 1, 0),
6103 (yyvsp[-8].ast), (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-5].ast)); CG(extra_fn_flags) = (yyvsp[-4].num); }
6104
6105 break;
6106
6107 case 379:
6108
6109 { (yyval.num) = CG(zend_lineno); }
6110
6111 break;
6112
6113 case 380:
6114
6115 { (yyval.str) = CG(doc_comment); CG(doc_comment) = NULL; }
6116
6117 break;
6118
6119 case 381:
6120
6121 { (yyval.num) = CG(extra_fn_flags); CG(extra_fn_flags) = 0; }
6122
6123 break;
6124
6125 case 382:
6126
6127 { (yyval.num) = 0; }
6128
6129 break;
6130
6131 case 383:
6132
6133 { (yyval.num) = ZEND_ACC_RETURN_REFERENCE; }
6134
6135 break;
6136
6137 case 384:
6138
6139 { (yyval.ast) = NULL; }
6140
6141 break;
6142
6143 case 385:
6144
6145 { (yyval.ast) = (yyvsp[-1].ast); }
6146
6147 break;
6148
6149 case 386:
6150
6151 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6152
6153 break;
6154
6155 case 387:
6156
6157 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLOSURE_USES, (yyvsp[0].ast)); }
6158
6159 break;
6160
6161 case 388:
6162
6163 { (yyval.ast) = (yyvsp[0].ast); }
6164
6165 break;
6166
6167 case 389:
6168
6169 { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_BIND_REF; }
6170
6171 break;
6172
6173 case 390:
6174
6175 { (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-1].ast), (yyvsp[0].ast)); }
6176
6177 break;
6178
6179 case 391:
6180
6181 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
6182
6183 break;
6184
6185 case 392:
6186
6187 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
6188
6189 break;
6190
6191 case 393:
6192
6193 { (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-1].ast), (yyvsp[0].ast)); }
6194
6195 break;
6196
6197 case 394:
6198
6199 { zval zv; ZVAL_INTERNED_STR(&zv, ZSTR_KNOWN(ZEND_STR_STATIC));
6200 (yyval.ast) = zend_ast_create_zval_ex(&zv, ZEND_NAME_NOT_FQ); }
6201
6202 break;
6203
6204 case 395:
6205
6206 { (yyval.ast) = (yyvsp[0].ast); }
6207
6208 break;
6209
6210 case 396:
6211
6212 { (yyval.ast) = (yyvsp[0].ast); }
6213
6214 break;
6215
6216 case 397:
6217
6218 { (yyval.ast) = (yyvsp[0].ast); }
6219
6220 break;
6221
6222 case 398:
6223
6224 { (yyval.ast) = NULL; }
6225
6226 break;
6227
6228 case 399:
6229
6230 { (yyval.ast) = (yyvsp[-1].ast); }
6231
6232 break;
6233
6234 case 400:
6235
6236 { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
6237
6238 break;
6239
6240 case 401:
6241
6242 { (yyval.ast) = (yyvsp[0].ast); }
6243
6244 break;
6245
6246 case 402:
6247
6248 { (yyval.ast) = (yyvsp[0].ast); }
6249
6250 break;
6251
6252 case 403:
6253
6254 { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_ARG_LIST); }
6255
6256 break;
6257
6258 case 404:
6259
6260 { (yyval.ast) = (yyvsp[0].ast); }
6261
6262 break;
6263
6264 case 405:
6265
6266 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LONG; }
6267
6268 break;
6269
6270 case 406:
6271
6272 { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
6273
6274 break;
6275
6276 case 407:
6277
6278 { (yyval.ast) = (yyvsp[0].ast); }
6279
6280 break;
6281
6282 case 408:
6283
6284 { (yyval.ast) = (yyvsp[0].ast); }
6285
6286 break;
6287
6288 case 409:
6289
6290 { (yyval.ast) = (yyvsp[0].ast); }
6291
6292 break;
6293
6294 case 410:
6295
6296 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_LINE); }
6297
6298 break;
6299
6300 case 411:
6301
6302 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FILE); }
6303
6304 break;
6305
6306 case 412:
6307
6308 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_DIR); }
6309
6310 break;
6311
6312 case 413:
6313
6314 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_TRAIT_C); }
6315
6316 break;
6317
6318 case 414:
6319
6320 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_METHOD_C); }
6321
6322 break;
6323
6324 case 415:
6325
6326 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FUNC_C); }
6327
6328 break;
6329
6330 case 416:
6331
6332 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_NS_C); }
6333
6334 break;
6335
6336 case 417:
6337
6338 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_CLASS_C); }
6339
6340 break;
6341
6342 case 418:
6343
6344 { (yyval.ast) = (yyvsp[-1].ast); }
6345
6346 break;
6347
6348 case 419:
6349
6350 { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
6351
6352 break;
6353
6354 case 420:
6355
6356 { (yyval.ast) = (yyvsp[-1].ast); }
6357
6358 break;
6359
6360 case 421:
6361
6362 { (yyval.ast) = (yyvsp[-1].ast); }
6363
6364 break;
6365
6366 case 422:
6367
6368 { (yyval.ast) = (yyvsp[0].ast); }
6369
6370 break;
6371
6372 case 423:
6373
6374 { (yyval.ast) = (yyvsp[0].ast); }
6375
6376 break;
6377
6378 case 424:
6379
6380 { (yyval.ast) = zend_ast_create(ZEND_AST_CONST, (yyvsp[0].ast)); }
6381
6382 break;
6383
6384 case 425:
6385
6386 { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6387
6388 break;
6389
6390 case 426:
6391
6392 { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6393
6394 break;
6395
6396 case 427:
6397
6398 { (yyval.ast) = NULL; }
6399
6400 break;
6401
6402 case 428:
6403
6404 { (yyval.ast) = (yyvsp[0].ast); }
6405
6406 break;
6407
6408 case 429:
6409
6410 { (yyval.ast) = (yyvsp[0].ast); }
6411
6412 break;
6413
6414 case 430:
6415
6416 { (yyval.ast) = (yyvsp[0].ast); }
6417
6418 break;
6419
6420 case 431:
6421
6422 { (yyval.ast) = (yyvsp[-1].ast); }
6423
6424 break;
6425
6426 case 432:
6427
6428 { (yyval.ast) = (yyvsp[0].ast); }
6429
6430 break;
6431
6432 case 433:
6433
6434 { (yyval.ast) = (yyvsp[0].ast); }
6435
6436 break;
6437
6438 case 434:
6439
6440 { (yyval.ast) = (yyvsp[-1].ast); }
6441
6442 break;
6443
6444 case 435:
6445
6446 { (yyval.ast) = (yyvsp[0].ast); }
6447
6448 break;
6449
6450 case 436:
6451
6452 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
6453
6454 break;
6455
6456 case 437:
6457
6458 { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
6459
6460 break;
6461
6462 case 438:
6463
6464 { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
6465
6466 break;
6467
6468 case 439:
6469
6470 { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
6471
6472 break;
6473
6474 case 440:
6475
6476 { (yyval.ast) = zend_ast_create(ZEND_AST_METHOD_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
6477
6478 break;
6479
6480 case 441:
6481
6482 { (yyval.ast) = (yyvsp[0].ast); }
6483
6484 break;
6485
6486 case 442:
6487
6488 { (yyval.ast) = (yyvsp[0].ast); }
6489
6490 break;
6491
6492 case 443:
6493
6494 { (yyval.ast) = (yyvsp[0].ast); }
6495
6496 break;
6497
6498 case 444:
6499
6500 { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6501
6502 break;
6503
6504 case 445:
6505
6506 { (yyval.ast) = (yyvsp[0].ast); }
6507
6508 break;
6509
6510 case 446:
6511
6512 { (yyval.ast) = (yyvsp[-1].ast); }
6513
6514 break;
6515
6516 case 447:
6517
6518 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
6519
6520 break;
6521
6522 case 448:
6523
6524 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6525
6526 break;
6527
6528 case 449:
6529
6530 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6531
6532 break;
6533
6534 case 450:
6535
6536 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
6537
6538 break;
6539
6540 case 451:
6541
6542 { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
6543
6544 break;
6545
6546 case 452:
6547
6548 { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
6549
6550 break;
6551
6552 case 453:
6553
6554 { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6555
6556 break;
6557
6558 case 454:
6559
6560 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6561
6562 break;
6563
6564 case 455:
6565
6566 { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6567
6568 break;
6569
6570 case 456:
6571
6572 { (yyval.ast) = (yyvsp[0].ast); }
6573
6574 break;
6575
6576 case 457:
6577
6578 { (yyval.ast) = (yyvsp[-1].ast); }
6579
6580 break;
6581
6582 case 458:
6583
6584 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
6585
6586 break;
6587
6588 case 459:
6589
6590 { (yyval.ast) = (yyvsp[0].ast); }
6591
6592 break;
6593
6594 case 460:
6595
6596 { (yyval.ast) = (yyvsp[-1].ast); }
6597
6598 break;
6599
6600 case 461:
6601
6602 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
6603
6604 break;
6605
6606 case 462:
6607
6608 { /* allow single trailing comma */ (yyval.ast) = zend_ast_list_rtrim((yyvsp[0].ast)); }
6609
6610 break;
6611
6612 case 463:
6613
6614 { (yyval.ast) = NULL; }
6615
6616 break;
6617
6618 case 464:
6619
6620 { (yyval.ast) = (yyvsp[0].ast); }
6621
6622 break;
6623
6624 case 465:
6625
6626 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6627
6628 break;
6629
6630 case 466:
6631
6632 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ARRAY, (yyvsp[0].ast)); }
6633
6634 break;
6635
6636 case 467:
6637
6638 { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), (yyvsp[-2].ast)); }
6639
6640 break;
6641
6642 case 468:
6643
6644 { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), NULL); }
6645
6646 break;
6647
6648 case 469:
6649
6650 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), (yyvsp[-3].ast)); }
6651
6652 break;
6653
6654 case 470:
6655
6656 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), NULL); }
6657
6658 break;
6659
6660 case 471:
6661
6662 { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
6663 (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), (yyvsp[-5].ast)); }
6664
6665 break;
6666
6667 case 472:
6668
6669 { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
6670 (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), NULL); }
6671
6672 break;
6673
6674 case 473:
6675
6676 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
6677
6678 break;
6679
6680 case 474:
6681
6682 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
6683
6684 break;
6685
6686 case 475:
6687
6688 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ENCAPS_LIST, (yyvsp[0].ast)); }
6689
6690 break;
6691
6692 case 476:
6693
6694 { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_ENCAPS_LIST, (yyvsp[-1].ast), (yyvsp[0].ast)); }
6695
6696 break;
6697
6698 case 477:
6699
6700 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
6701
6702 break;
6703
6704 case 478:
6705
6706 { (yyval.ast) = zend_ast_create(ZEND_AST_DIM,
6707 zend_ast_create(ZEND_AST_VAR, (yyvsp[-3].ast)), (yyvsp[-1].ast)); }
6708
6709 break;
6710
6711 case 479:
6712
6713 { (yyval.ast) = zend_ast_create(ZEND_AST_PROP,
6714 zend_ast_create(ZEND_AST_VAR, (yyvsp[-2].ast)), (yyvsp[0].ast)); }
6715
6716 break;
6717
6718 case 480:
6719
6720 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[-1].ast)); }
6721
6722 break;
6723
6724 case 481:
6725
6726 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[-1].ast)); }
6727
6728 break;
6729
6730 case 482:
6731
6732 { (yyval.ast) = zend_ast_create(ZEND_AST_DIM,
6733 zend_ast_create(ZEND_AST_VAR, (yyvsp[-4].ast)), (yyvsp[-2].ast)); }
6734
6735 break;
6736
6737 case 483:
6738
6739 { (yyval.ast) = (yyvsp[-1].ast); }
6740
6741 break;
6742
6743 case 484:
6744
6745 { (yyval.ast) = (yyvsp[0].ast); }
6746
6747 break;
6748
6749 case 485:
6750
6751 { (yyval.ast) = (yyvsp[0].ast); }
6752
6753 break;
6754
6755 case 486:
6756
6757 { (yyval.ast) = zend_negate_num_string((yyvsp[0].ast)); }
6758
6759 break;
6760
6761 case 487:
6762
6763 { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
6764
6765 break;
6766
6767 case 488:
6768
6769 { (yyval.ast) = (yyvsp[-2].ast); }
6770
6771 break;
6772
6773 case 489:
6774
6775 { (yyval.ast) = zend_ast_create(ZEND_AST_EMPTY, (yyvsp[-1].ast)); }
6776
6777 break;
6778
6779 case 490:
6780
6781 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE, (yyvsp[0].ast)); }
6782
6783 break;
6784
6785 case 491:
6786
6787 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE_ONCE, (yyvsp[0].ast)); }
6788
6789 break;
6790
6791 case 492:
6792
6793 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_EVAL, (yyvsp[-1].ast)); }
6794
6795 break;
6796
6797 case 493:
6798
6799 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE, (yyvsp[0].ast)); }
6800
6801 break;
6802
6803 case 494:
6804
6805 { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE_ONCE, (yyvsp[0].ast)); }
6806
6807 break;
6808
6809 case 495:
6810
6811 { (yyval.ast) = (yyvsp[0].ast); }
6812
6813 break;
6814
6815 case 496:
6816
6817 { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6818
6819 break;
6820
6821 case 497:
6822
6823 { (yyval.ast) = zend_ast_create(ZEND_AST_ISSET, (yyvsp[0].ast)); }
6824
6825 break;
6826
6827
6828
6829 default: break;
6830 }
6831 /* User semantic actions sometimes alter yychar, and that requires
6832 that yytoken be updated with the new translation. We take the
6833 approach of translating immediately before every use of yytoken.
6834 One alternative is translating here after every semantic action,
6835 but that translation would be missed if the semantic action invokes
6836 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
6837 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
6838 incorrect destructor might then be invoked immediately. In the
6839 case of YYERROR or YYBACKUP, subsequent parser actions might lead
6840 to an incorrect destructor call or verbose syntax error message
6841 before the lookahead is translated. */
6842 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6843
6844 YYPOPSTACK (yylen);
6845 yylen = 0;
6846 YY_STACK_PRINT (yyss, yyssp);
6847
6848 *++yyvsp = yyval;
6849
6850 /* Now 'shift' the result of the reduction. Determine what state
6851 that goes to, based on the state we popped back to and the rule
6852 number reduced by. */
6853
6854 yyn = yyr1[yyn];
6855
6856 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
6857 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
6858 yystate = yytable[yystate];
6859 else
6860 yystate = yydefgoto[yyn - YYNTOKENS];
6861
6862 goto yynewstate;
6863
6864
6865 /*--------------------------------------.
6866 | yyerrlab -- here on detecting error. |
6867 `--------------------------------------*/
6868 yyerrlab:
6869 /* Make sure we have latest lookahead translation. See comments at
6870 user semantic actions for why this is necessary. */
6871 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
6872
6873 /* If not already recovering from an error, report this error. */
6874 if (!yyerrstatus)
6875 {
6876 ++yynerrs;
6877 #if ! YYERROR_VERBOSE
6878 yyerror (YY_("syntax error"));
6879 #else
6880 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
6881 yyssp, yytoken)
6882 {
6883 char const *yymsgp = YY_("syntax error");
6884 int yysyntax_error_status;
6885 yysyntax_error_status = YYSYNTAX_ERROR;
6886 if (yysyntax_error_status == 0)
6887 yymsgp = yymsg;
6888 else if (yysyntax_error_status == 1)
6889 {
6890 if (yymsg != yymsgbuf)
6891 YYSTACK_FREE (yymsg);
6892 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
6893 if (!yymsg)
6894 {
6895 yymsg = yymsgbuf;
6896 yymsg_alloc = sizeof yymsgbuf;
6897 yysyntax_error_status = 2;
6898 }
6899 else
6900 {
6901 yysyntax_error_status = YYSYNTAX_ERROR;
6902 yymsgp = yymsg;
6903 }
6904 }
6905 yyerror (yymsgp);
6906 if (yysyntax_error_status == 2)
6907 goto yyexhaustedlab;
6908 }
6909 # undef YYSYNTAX_ERROR
6910 #endif
6911 }
6912
6913
6914
6915 if (yyerrstatus == 3)
6916 {
6917 /* If just tried and failed to reuse lookahead token after an
6918 error, discard it. */
6919
6920 if (yychar <= YYEOF)
6921 {
6922 /* Return failure if at end of input. */
6923 if (yychar == YYEOF)
6924 YYABORT;
6925 }
6926 else
6927 {
6928 yydestruct ("Error: discarding",
6929 yytoken, &yylval);
6930 yychar = YYEMPTY;
6931 }
6932 }
6933
6934 /* Else will try to reuse lookahead token after shifting the error
6935 token. */
6936 goto yyerrlab1;
6937
6938
6939 /*---------------------------------------------------.
6940 | yyerrorlab -- error raised explicitly by YYERROR. |
6941 `---------------------------------------------------*/
6942 yyerrorlab:
6943
6944 /* Pacify compilers like GCC when the user code never invokes
6945 YYERROR and the label yyerrorlab therefore never appears in user
6946 code. */
6947 if (/*CONSTCOND*/ 0)
6948 goto yyerrorlab;
6949
6950 /* Do not reclaim the symbols of the rule whose action triggered
6951 this YYERROR. */
6952 YYPOPSTACK (yylen);
6953 yylen = 0;
6954 YY_STACK_PRINT (yyss, yyssp);
6955 yystate = *yyssp;
6956 goto yyerrlab1;
6957
6958
6959 /*-------------------------------------------------------------.
6960 | yyerrlab1 -- common code for both syntax error and YYERROR. |
6961 `-------------------------------------------------------------*/
6962 yyerrlab1:
6963 yyerrstatus = 3; /* Each real token shifted decrements this. */
6964
6965 for (;;)
6966 {
6967 yyn = yypact[yystate];
6968 if (!yypact_value_is_default (yyn))
6969 {
6970 yyn += YYTERROR;
6971 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6972 {
6973 yyn = yytable[yyn];
6974 if (0 < yyn)
6975 break;
6976 }
6977 }
6978
6979 /* Pop the current state because it cannot handle the error token. */
6980 if (yyssp == yyss)
6981 YYABORT;
6982
6983
6984 yydestruct ("Error: popping",
6985 yystos[yystate], yyvsp);
6986 YYPOPSTACK (1);
6987 yystate = *yyssp;
6988 YY_STACK_PRINT (yyss, yyssp);
6989 }
6990
6991 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6992 *++yyvsp = yylval;
6993 YY_IGNORE_MAYBE_UNINITIALIZED_END
6994
6995
6996 /* Shift the error token. */
6997 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6998
6999 yystate = yyn;
7000 goto yynewstate;
7001
7002
7003 /*-------------------------------------.
7004 | yyacceptlab -- YYACCEPT comes here. |
7005 `-------------------------------------*/
7006 yyacceptlab:
7007 yyresult = 0;
7008 goto yyreturn;
7009
7010 /*-----------------------------------.
7011 | yyabortlab -- YYABORT comes here. |
7012 `-----------------------------------*/
7013 yyabortlab:
7014 yyresult = 1;
7015 goto yyreturn;
7016
7017 #if !defined yyoverflow || YYERROR_VERBOSE
7018 /*-------------------------------------------------.
7019 | yyexhaustedlab -- memory exhaustion comes here. |
7020 `-------------------------------------------------*/
7021 yyexhaustedlab:
7022 yyerror (YY_("memory exhausted"));
7023 yyresult = 2;
7024 /* Fall through. */
7025 #endif
7026
7027 yyreturn:
7028 if (yychar != YYEMPTY)
7029 {
7030 /* Make sure we have latest lookahead translation. See comments at
7031 user semantic actions for why this is necessary. */
7032 yytoken = YYTRANSLATE (yychar);
7033 yydestruct ("Cleanup: discarding lookahead",
7034 yytoken, &yylval);
7035 }
7036 /* Do not reclaim the symbols of the rule whose action triggered
7037 this YYABORT or YYACCEPT. */
7038 YYPOPSTACK (yylen);
7039 YY_STACK_PRINT (yyss, yyssp);
7040 while (yyssp != yyss)
7041 {
7042 yydestruct ("Cleanup: popping",
7043 yystos[*yyssp], yyvsp);
7044 YYPOPSTACK (1);
7045 }
7046 #ifndef yyoverflow
7047 if (yyss != yyssa)
7048 YYSTACK_FREE (yyss);
7049 #endif
7050 #if YYERROR_VERBOSE
7051 if (yymsg != yymsgbuf)
7052 YYSTACK_FREE (yymsg);
7053 #endif
7054 return yyresult;
7055 }
7056
7057
7058
7059 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
7060 quotes and backslashes, so that it's suitable for yyerror. The
7061 heuristic is that double-quoting is unnecessary unless the string
7062 contains an apostrophe, a comma, or backslash (other than
7063 backslash-backslash). YYSTR is taken from yytname. If YYRES is
7064 null, do not copy; instead, return the length of what the result
7065 would have been. */
zend_yytnamerr(char * yyres,const char * yystr)7066 static YYSIZE_T zend_yytnamerr(char *yyres, const char *yystr)
7067 {
7068 /* CG(parse_error) states:
7069 * 0 => yyres = NULL, yystr is the unexpected token
7070 * 1 => yyres = NULL, yystr is one of the expected tokens
7071 * 2 => yyres != NULL, yystr is the unexpected token
7072 * 3 => yyres != NULL, yystr is one of the expected tokens
7073 */
7074 if (yyres && CG(parse_error) < 2) {
7075 CG(parse_error) = 2;
7076 }
7077
7078 if (CG(parse_error) % 2 == 0) {
7079 /* The unexpected token */
7080 char buffer[120];
7081 const unsigned char *end, *str, *tok1 = NULL, *tok2 = NULL;
7082 unsigned int len = 0, toklen = 0, yystr_len;
7083
7084 CG(parse_error)++;
7085
7086 if (LANG_SCNG(yy_text)[0] == 0 &&
7087 LANG_SCNG(yy_leng) == 1 &&
7088 strcmp(yystr, "\"end of file\"") == 0) {
7089 if (yyres) {
7090 yystpcpy(yyres, "end of file");
7091 }
7092 return sizeof("end of file")-1;
7093 }
7094
7095 str = LANG_SCNG(yy_text);
7096 end = memchr(str, '\n', LANG_SCNG(yy_leng));
7097 yystr_len = (unsigned int)yystrlen(yystr);
7098
7099 if ((tok1 = memchr(yystr, '(', yystr_len)) != NULL
7100 && (tok2 = zend_memrchr(yystr, ')', yystr_len)) != NULL) {
7101 toklen = (tok2 - tok1) + 1;
7102 } else {
7103 tok1 = tok2 = NULL;
7104 toklen = 0;
7105 }
7106
7107 if (end == NULL) {
7108 len = LANG_SCNG(yy_leng) > 30 ? 30 : LANG_SCNG(yy_leng);
7109 } else {
7110 len = (end - str) > 30 ? 30 : (end - str);
7111 }
7112 if (yyres) {
7113 if (toklen) {
7114 snprintf(buffer, sizeof(buffer), "'%.*s' %.*s", len, str, toklen, tok1);
7115 } else {
7116 snprintf(buffer, sizeof(buffer), "'%.*s'", len, str);
7117 }
7118 yystpcpy(yyres, buffer);
7119 }
7120 return len + (toklen ? toklen + 1 : 0) + 2;
7121 }
7122
7123 /* One of the expected tokens */
7124 if (!yyres) {
7125 return yystrlen(yystr) - (*yystr == '"' ? 2 : 0);
7126 }
7127
7128 if (*yystr == '"') {
7129 YYSIZE_T yyn = 0;
7130 const char *yyp = yystr;
7131
7132 for (; *++yyp != '"'; ++yyn) {
7133 yyres[yyn] = *yyp;
7134 }
7135 yyres[yyn] = '\0';
7136 return yyn;
7137 }
7138 yystpcpy(yyres, yystr);
7139 return strlen(yystr);
7140 }
7141
7142 /*
7143 * Local variables:
7144 * tab-width: 4
7145 * c-basic-offset: 4
7146 * indent-tabs-mode: t
7147 * End:
7148 * vim600: sw=4 ts=4 fdm=marker
7149 * vim<600: sw=4 ts=4
7150 */
7151