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