Coverage Report

Created: 2026-06-02 06:36

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_parser.c
Line
Count
Source
1
/* A Bison parser, made by GNU Bison 3.5.1.  */
2
3
/* Bison implementation for Yacc-like parsers in C
4
5
   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6
   Inc.
7
8
   This program is free software: you can redistribute it and/or modify
9
   it under the terms of the GNU General Public License as published by
10
   the Free Software Foundation, either version 3 of the License, or
11
   (at your option) any later version.
12
13
   This program is distributed in the hope that it will be useful,
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
   GNU General Public License for more details.
17
18
   You should have received a copy of the GNU General Public License
19
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21
/* As a special exception, you may create a larger work that contains
22
   part or all of the Bison parser skeleton and distribute that work
23
   under terms of your choice, so long as that work isn't itself a
24
   parser generator using the skeleton or a modified version thereof
25
   as a parser skeleton.  Alternatively, if you modify or redistribute
26
   the parser skeleton itself, you may (at your option) remove this
27
   special exception, which will cause the skeleton and the resulting
28
   Bison output files to be licensed under the GNU General Public
29
   License without this special exception.
30
31
   This special exception was added by the Free Software Foundation in
32
   version 2.2 of Bison.  */
33
34
/* C LALR(1) parser skeleton written by Richard Stallman, by
35
   simplifying the original so-called "semantic" parser.  */
36
37
/* All symbols defined below should begin with yy or YY, to avoid
38
   infringing on user name space.  This should be done even for local
39
   variables, as they might otherwise be expanded by user macros.
40
   There are some unavoidable exceptions within include files to
41
   define necessary library symbols; they are noted "INFRINGES ON
42
   USER NAME SPACE" below.  */
43
44
/* Undocumented macros, especially those whose name start with YY_,
45
   are private implementation details.  Do not rely on them.  */
46
47
/* Identify Bison output.  */
48
#define YYBISON 1
49
50
/* Bison version.  */
51
#define YYBISON_VERSION "3.5.1"
52
53
/* Skeleton name.  */
54
#define YYSKELETON_NAME "yacc.c"
55
56
/* Pure parsers.  */
57
#define YYPURE 2
58
59
/* Push parsers.  */
60
#define YYPUSH 0
61
62
/* Pull parsers.  */
63
#define YYPULL 1
64
65
/* "%code top" blocks.  */
66
#line 21 "/src/php-src/Zend/zend_language_parser.y"
67
68
#include "zend.h"
69
#include "zend_list.h"
70
#include "zend_globals.h"
71
#include "zend_API.h"
72
#include "zend_constants.h"
73
#include "zend_language_scanner.h"
74
#include "zend_exceptions.h"
75
76
888
#define YYSIZE_T size_t
77
12.4k
#define yytnamerr zend_yytnamerr
78
static YYSIZE_T zend_yytnamerr(char*, const char*);
79
80
#ifdef _MSC_VER
81
#define YYMALLOC malloc
82
#define YYFREE free
83
#endif
84
85
#line 86 "/src/php-src/Zend/zend_language_parser.c"
86
/* Substitute the type names.  */
87
35.3k
#define YYSTYPE         ZENDSTYPE
88
/* Substitute the variable and function names.  */
89
#define yyparse         zendparse
90
142k
#define yylex           zendlex
91
2.09k
#define yyerror         zenderror
92
#define yydebug         zenddebug
93
9.16k
#define yynerrs         zendnerrs
94
95
96
# ifndef YY_CAST
97
#  ifdef __cplusplus
98
#   define YY_CAST(Type, Val) static_cast<Type> (Val)
99
#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
100
#  else
101
465k
#   define YY_CAST(Type, Val) ((Type) (Val))
102
#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
103
#  endif
104
# endif
105
# ifndef YY_NULLPTR
106
#  if defined __cplusplus
107
#   if 201103L <= __cplusplus
108
#    define YY_NULLPTR nullptr
109
#   else
110
#    define YY_NULLPTR 0
111
#   endif
112
#  else
113
11.5k
#   define YY_NULLPTR ((void*)0)
114
#  endif
115
# endif
116
117
/* Enabling verbose error messages.  */
118
#ifdef YYERROR_VERBOSE
119
# undef YYERROR_VERBOSE
120
# define YYERROR_VERBOSE 1
121
#else
122
# define YYERROR_VERBOSE 1
123
#endif
124
125
/* Use api.header.include to #include this header
126
   instead of duplicating it here.  */
127
#ifndef YY_ZEND_SRC_PHP_SRC_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED
128
# define YY_ZEND_SRC_PHP_SRC_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED
129
/* Debug traces.  */
130
#ifndef ZENDDEBUG
131
# if defined YYDEBUG
132
#if YYDEBUG
133
#   define ZENDDEBUG 1
134
#  else
135
#   define ZENDDEBUG 0
136
#  endif
137
# else /* ! defined YYDEBUG */
138
#  define ZENDDEBUG 0
139
# endif /* ! defined YYDEBUG */
140
#endif  /* ! defined ZENDDEBUG */
141
#if ZENDDEBUG
142
extern int zenddebug;
143
#endif
144
/* "%code requires" blocks.  */
145
#line 40 "/src/php-src/Zend/zend_language_parser.y"
146
147
#include "zend_compile.h"
148
149
#line 150 "/src/php-src/Zend/zend_language_parser.c"
150
151
/* Token type.  */
152
#ifndef ZENDTOKENTYPE
153
# define ZENDTOKENTYPE
154
  enum zendtokentype
155
  {
156
    END = 0,
157
    T_THROW = 258,
158
    PREC_ARROW_FUNCTION = 259,
159
    T_INCLUDE = 260,
160
    T_INCLUDE_ONCE = 261,
161
    T_REQUIRE = 262,
162
    T_REQUIRE_ONCE = 263,
163
    T_LOGICAL_OR = 264,
164
    T_LOGICAL_XOR = 265,
165
    T_LOGICAL_AND = 266,
166
    T_PRINT = 267,
167
    T_YIELD = 268,
168
    T_DOUBLE_ARROW = 269,
169
    T_YIELD_FROM = 270,
170
    T_PLUS_EQUAL = 271,
171
    T_MINUS_EQUAL = 272,
172
    T_MUL_EQUAL = 273,
173
    T_DIV_EQUAL = 274,
174
    T_CONCAT_EQUAL = 275,
175
    T_MOD_EQUAL = 276,
176
    T_AND_EQUAL = 277,
177
    T_OR_EQUAL = 278,
178
    T_XOR_EQUAL = 279,
179
    T_SL_EQUAL = 280,
180
    T_SR_EQUAL = 281,
181
    T_POW_EQUAL = 282,
182
    T_COALESCE_EQUAL = 283,
183
    T_COALESCE = 284,
184
    T_BOOLEAN_OR = 285,
185
    T_BOOLEAN_AND = 286,
186
    T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 287,
187
    T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 288,
188
    T_IS_EQUAL = 289,
189
    T_IS_NOT_EQUAL = 290,
190
    T_IS_IDENTICAL = 291,
191
    T_IS_NOT_IDENTICAL = 292,
192
    T_SPACESHIP = 293,
193
    T_IS_SMALLER_OR_EQUAL = 294,
194
    T_IS_GREATER_OR_EQUAL = 295,
195
    T_PIPE = 296,
196
    T_SL = 297,
197
    T_SR = 298,
198
    T_INSTANCEOF = 299,
199
    T_INT_CAST = 300,
200
    T_DOUBLE_CAST = 301,
201
    T_STRING_CAST = 302,
202
    T_ARRAY_CAST = 303,
203
    T_OBJECT_CAST = 304,
204
    T_BOOL_CAST = 305,
205
    T_UNSET_CAST = 306,
206
    T_POW = 307,
207
    T_CLONE = 308,
208
    T_NOELSE = 309,
209
    T_ELSEIF = 310,
210
    T_ELSE = 311,
211
    T_LNUMBER = 312,
212
    T_DNUMBER = 313,
213
    T_STRING = 314,
214
    T_NAME_FULLY_QUALIFIED = 315,
215
    T_NAME_RELATIVE = 316,
216
    T_NAME_QUALIFIED = 317,
217
    T_VARIABLE = 318,
218
    T_INLINE_HTML = 319,
219
    T_ENCAPSED_AND_WHITESPACE = 320,
220
    T_CONSTANT_ENCAPSED_STRING = 321,
221
    T_STRING_VARNAME = 322,
222
    T_NUM_STRING = 323,
223
    T_EVAL = 324,
224
    T_NEW = 325,
225
    T_EXIT = 326,
226
    T_IF = 327,
227
    T_ENDIF = 328,
228
    T_ECHO = 329,
229
    T_DO = 330,
230
    T_WHILE = 331,
231
    T_ENDWHILE = 332,
232
    T_FOR = 333,
233
    T_ENDFOR = 334,
234
    T_FOREACH = 335,
235
    T_ENDFOREACH = 336,
236
    T_DECLARE = 337,
237
    T_ENDDECLARE = 338,
238
    T_AS = 339,
239
    T_SWITCH = 340,
240
    T_ENDSWITCH = 341,
241
    T_CASE = 342,
242
    T_DEFAULT = 343,
243
    T_MATCH = 344,
244
    T_BREAK = 345,
245
    T_CONTINUE = 346,
246
    T_GOTO = 347,
247
    T_FUNCTION = 348,
248
    T_FN = 349,
249
    T_CONST = 350,
250
    T_RETURN = 351,
251
    T_TRY = 352,
252
    T_CATCH = 353,
253
    T_FINALLY = 354,
254
    T_USE = 355,
255
    T_INSTEADOF = 356,
256
    T_GLOBAL = 357,
257
    T_STATIC = 358,
258
    T_ABSTRACT = 359,
259
    T_FINAL = 360,
260
    T_PRIVATE = 361,
261
    T_PROTECTED = 362,
262
    T_PUBLIC = 363,
263
    T_PRIVATE_SET = 364,
264
    T_PROTECTED_SET = 365,
265
    T_PUBLIC_SET = 366,
266
    T_READONLY = 367,
267
    T_VAR = 368,
268
    T_UNSET = 369,
269
    T_ISSET = 370,
270
    T_EMPTY = 371,
271
    T_HALT_COMPILER = 372,
272
    T_CLASS = 373,
273
    T_TRAIT = 374,
274
    T_INTERFACE = 375,
275
    T_ENUM = 376,
276
    T_EXTENDS = 377,
277
    T_IMPLEMENTS = 378,
278
    T_NAMESPACE = 379,
279
    T_LIST = 380,
280
    T_ARRAY = 381,
281
    T_CALLABLE = 382,
282
    T_LINE = 383,
283
    T_FILE = 384,
284
    T_DIR = 385,
285
    T_CLASS_C = 386,
286
    T_TRAIT_C = 387,
287
    T_METHOD_C = 388,
288
    T_FUNC_C = 389,
289
    T_PROPERTY_C = 390,
290
    T_NS_C = 391,
291
    T_ATTRIBUTE = 392,
292
    T_INC = 393,
293
    T_DEC = 394,
294
    T_VOID_CAST = 395,
295
    T_OBJECT_OPERATOR = 396,
296
    T_NULLSAFE_OBJECT_OPERATOR = 397,
297
    T_COMMENT = 398,
298
    T_DOC_COMMENT = 399,
299
    T_OPEN_TAG = 400,
300
    T_OPEN_TAG_WITH_ECHO = 401,
301
    T_CLOSE_TAG = 402,
302
    T_WHITESPACE = 403,
303
    T_START_HEREDOC = 404,
304
    T_END_HEREDOC = 405,
305
    T_DOLLAR_OPEN_CURLY_BRACES = 406,
306
    T_CURLY_OPEN = 407,
307
    T_PAAMAYIM_NEKUDOTAYIM = 408,
308
    T_NS_SEPARATOR = 409,
309
    T_ELLIPSIS = 410,
310
    T_BAD_CHARACTER = 411,
311
    T_ERROR = 412
312
  };
313
#endif
314
315
/* Value type.  */
316
#if ! defined ZENDSTYPE && ! defined ZENDSTYPE_IS_DECLARED
317
typedef zend_parser_stack_elem ZENDSTYPE;
318
# define ZENDSTYPE_IS_TRIVIAL 1
319
# define ZENDSTYPE_IS_DECLARED 1
320
#endif
321
322
323
324
ZEND_API int zendparse (void);
325
326
#endif /* !YY_ZEND_SRC_PHP_SRC_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED  */
327
328
329
330
#ifdef short
331
# undef short
332
#endif
333
334
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
335
   <limits.h> and (if available) <stdint.h> are included
336
   so that the code can choose integer types of a good width.  */
337
338
#ifndef __PTRDIFF_MAX__
339
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
340
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
341
#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
342
#  define YY_STDINT_H
343
# endif
344
#endif
345
346
/* Narrow types that promote to a signed type and that can represent a
347
   signed or unsigned integer of at least N bits.  In tables they can
348
   save space and decrease cache pressure.  Promoting to a signed type
349
   helps avoid bugs in integer arithmetic.  */
350
351
#ifdef __INT_LEAST8_MAX__
352
typedef __INT_LEAST8_TYPE__ yytype_int8;
353
#elif defined YY_STDINT_H
354
typedef int_least8_t yytype_int8;
355
#else
356
typedef signed char yytype_int8;
357
#endif
358
359
#ifdef __INT_LEAST16_MAX__
360
typedef __INT_LEAST16_TYPE__ yytype_int16;
361
#elif defined YY_STDINT_H
362
typedef int_least16_t yytype_int16;
363
#else
364
typedef short yytype_int16;
365
#endif
366
367
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
368
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
369
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
370
       && UINT_LEAST8_MAX <= INT_MAX)
371
typedef uint_least8_t yytype_uint8;
372
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
373
typedef unsigned char yytype_uint8;
374
#else
375
typedef short yytype_uint8;
376
#endif
377
378
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
379
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
380
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
381
       && UINT_LEAST16_MAX <= INT_MAX)
382
typedef uint_least16_t yytype_uint16;
383
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
384
typedef unsigned short yytype_uint16;
385
#else
386
typedef int yytype_uint16;
387
#endif
388
389
#ifndef YYPTRDIFF_T
390
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
391
27.7k
#  define YYPTRDIFF_T __PTRDIFF_TYPE__
392
#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
393
# elif defined PTRDIFF_MAX
394
#  ifndef ptrdiff_t
395
#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
396
#  endif
397
#  define YYPTRDIFF_T ptrdiff_t
398
#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
399
# else
400
#  define YYPTRDIFF_T long
401
#  define YYPTRDIFF_MAXIMUM LONG_MAX
402
# endif
403
#endif
404
405
#ifndef YYSIZE_T
406
# ifdef __SIZE_TYPE__
407
#  define YYSIZE_T __SIZE_TYPE__
408
# elif defined size_t
409
#  define YYSIZE_T size_t
410
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
411
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
412
#  define YYSIZE_T size_t
413
# else
414
#  define YYSIZE_T unsigned
415
# endif
416
#endif
417
418
#define YYSIZE_MAXIMUM                                  \
419
9.44k
  YY_CAST (YYPTRDIFF_T,                                 \
420
           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
421
            ? YYPTRDIFF_MAXIMUM                         \
422
            : YY_CAST (YYSIZE_T, -1)))
423
424
0
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
425
426
/* Stored state numbers (used for stacks). */
427
typedef yytype_int16 yy_state_t;
428
429
/* State numbers in computations.  */
430
typedef int yy_state_fast_t;
431
432
#ifndef YY_
433
# if defined YYENABLE_NLS && YYENABLE_NLS
434
#  if ENABLE_NLS
435
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
436
#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
437
#  endif
438
# endif
439
# ifndef YY_
440
2.09k
#  define YY_(Msgid) Msgid
441
# endif
442
#endif
443
444
#ifndef YY_ATTRIBUTE_PURE
445
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
446
#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
447
# else
448
#  define YY_ATTRIBUTE_PURE
449
# endif
450
#endif
451
452
#ifndef YY_ATTRIBUTE_UNUSED
453
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
454
#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
455
# else
456
#  define YY_ATTRIBUTE_UNUSED
457
# endif
458
#endif
459
460
/* Suppress unused-variable warnings by "using" E.  */
461
#if ! defined lint || defined __GNUC__
462
28.9k
# define YYUSE(E) ((void) (E))
463
#else
464
# define YYUSE(E) /* empty */
465
#endif
466
467
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
468
/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
469
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
470
    _Pragma ("GCC diagnostic push")                                     \
471
    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
472
    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
473
# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
474
    _Pragma ("GCC diagnostic pop")
475
#else
476
14.1k
# define YY_INITIAL_VALUE(Value) Value
477
#endif
478
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
479
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
480
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
481
#endif
482
#ifndef YY_INITIAL_VALUE
483
# define YY_INITIAL_VALUE(Value) /* Nothing. */
484
#endif
485
486
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
487
# define YY_IGNORE_USELESS_CAST_BEGIN                          \
488
    _Pragma ("GCC diagnostic push")                            \
489
    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
490
# define YY_IGNORE_USELESS_CAST_END            \
491
    _Pragma ("GCC diagnostic pop")
492
#endif
493
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
494
# define YY_IGNORE_USELESS_CAST_BEGIN
495
# define YY_IGNORE_USELESS_CAST_END
496
#endif
497
498
499
453k
#define YY_ASSERT(E) ((void) (0 && (E)))
500
501
#if ! defined yyoverflow || YYERROR_VERBOSE
502
503
/* The parser invokes alloca or malloc; define the necessary symbols.  */
504
505
# ifdef YYSTACK_USE_ALLOCA
506
#  if YYSTACK_USE_ALLOCA
507
#   ifdef __GNUC__
508
#    define YYSTACK_ALLOC __builtin_alloca
509
#   elif defined __BUILTIN_VA_ARG_INCR
510
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
511
#   elif defined _AIX
512
#    define YYSTACK_ALLOC __alloca
513
#   elif defined _MSC_VER
514
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
515
#    define alloca _alloca
516
#   else
517
#    define YYSTACK_ALLOC alloca
518
#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
519
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
520
      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
521
#     ifndef EXIT_SUCCESS
522
#      define EXIT_SUCCESS 0
523
#     endif
524
#    endif
525
#   endif
526
#  endif
527
# endif
528
529
# ifdef YYSTACK_ALLOC
530
   /* Pacify GCC's 'empty if-body' warning.  */
531
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
532
#  ifndef YYSTACK_ALLOC_MAXIMUM
533
    /* The OS might guarantee only one guard page at the bottom of the stack,
534
       and a page size can be as small as 4096 bytes.  So we cannot safely
535
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
536
       to allow for a few compiler-allocated temporary stack slots.  */
537
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
538
#  endif
539
# else
540
#  define YYSTACK_ALLOC YYMALLOC
541
0
#  define YYSTACK_FREE YYFREE
542
#  ifndef YYSTACK_ALLOC_MAXIMUM
543
9.44k
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
544
#  endif
545
#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
546
       && ! ((defined YYMALLOC || defined malloc) \
547
             && (defined YYFREE || defined free)))
548
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
549
#   ifndef EXIT_SUCCESS
550
#    define EXIT_SUCCESS 0
551
#   endif
552
#  endif
553
#  ifndef YYMALLOC
554
#   define YYMALLOC malloc
555
#   if ! defined malloc && ! defined EXIT_SUCCESS
556
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
557
#   endif
558
#  endif
559
#  ifndef YYFREE
560
0
#   define YYFREE free
561
#   if ! defined free && ! defined EXIT_SUCCESS
562
void free (void *); /* INFRINGES ON USER NAME SPACE */
563
#   endif
564
#  endif
565
# endif
566
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
567
568
569
#if (! defined yyoverflow \
570
     && (! defined __cplusplus \
571
         || (defined ZENDSTYPE_IS_TRIVIAL && ZENDSTYPE_IS_TRIVIAL)))
572
573
/* A type that is properly aligned for any stack member.  */
574
union yyalloc
575
{
576
  yy_state_t yyss_alloc;
577
  YYSTYPE yyvs_alloc;
578
};
579
580
/* The size of the maximum gap between one aligned stack and the next.  */
581
0
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
582
583
/* The size of an array large to enough to hold all stacks, each with
584
   N elements.  */
585
# define YYSTACK_BYTES(N) \
586
     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
587
      + YYSTACK_GAP_MAXIMUM)
588
589
# define YYCOPY_NEEDED 1
590
591
/* Relocate STACK from its old location to the new one.  The
592
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
593
   elements in the stack, and YYPTR gives the new location of the
594
   stack.  Advance YYPTR to a properly aligned location for the next
595
   stack.  */
596
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
597
0
    do                                                                  \
598
0
      {                                                                 \
599
0
        YYPTRDIFF_T yynewbytes;                                         \
600
0
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
601
0
        Stack = &yyptr->Stack_alloc;                                    \
602
0
        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
603
0
        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
604
0
      }                                                                 \
605
0
    while (0)
606
607
#endif
608
609
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
610
/* Copy COUNT objects from SRC to DST.  The source and destination do
611
   not overlap.  */
612
# ifndef YYCOPY
613
#  if defined __GNUC__ && 1 < __GNUC__
614
#   define YYCOPY(Dst, Src, Count) \
615
0
      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
616
#  else
617
#   define YYCOPY(Dst, Src, Count)              \
618
      do                                        \
619
        {                                       \
620
          YYPTRDIFF_T yyi;                      \
621
          for (yyi = 0; yyi < (Count); yyi++)   \
622
            (Dst)[yyi] = (Src)[yyi];            \
623
        }                                       \
624
      while (0)
625
#  endif
626
# endif
627
#endif /* !YYCOPY_NEEDED */
628
629
/* YYFINAL -- State number of the termination state.  */
630
453k
#define YYFINAL  3
631
/* YYLAST -- Last index in YYTABLE.  */
632
762k
#define YYLAST   10430
633
634
/* YYNTOKENS -- Number of terminals.  */
635
310k
#define YYNTOKENS  185
636
/* YYNNTS -- Number of nonterminals.  */
637
#define YYNNTS  189
638
/* YYNRULES -- Number of rules.  */
639
#define YYNRULES  636
640
/* YYNSTATES -- Number of states.  */
641
#define YYNSTATES  1204
642
643
0
#define YYUNDEFTOK  2
644
242k
#define YYMAXUTOK   412
645
646
647
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
648
   as returned by yylex, with out-of-bounds checking.  */
649
#define YYTRANSLATE(YYX)                                                \
650
244k
  (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
651
652
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
653
   as returned by yylex.  */
654
static const yytype_uint8 yytranslate[] =
655
{
656
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
657
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
658
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
659
       2,     2,     2,    57,   183,     2,   184,    56,     2,     2,
660
     177,   178,    54,    52,   174,    53,    49,    55,     2,     2,
661
       2,     2,     2,     2,     2,     2,     2,     2,    31,   176,
662
      44,    16,    46,    30,    67,     2,     2,     2,     2,     2,
663
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
664
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
665
       2,   181,     2,   175,    36,     2,   182,     2,     2,     2,
666
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
667
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
668
       2,     2,     2,   179,    35,   180,    59,     2,     2,     2,
669
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
670
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
671
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
672
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
673
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
674
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
675
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
676
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
677
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
678
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
679
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
680
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
681
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
682
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
683
      15,    17,    18,    19,    20,    21,    22,    23,    24,    25,
684
      26,    27,    28,    29,    32,    33,    34,    37,    38,    39,
685
      40,    41,    42,    43,    45,    47,    48,    50,    51,    58,
686
      60,    61,    62,    63,    64,    65,    66,    68,    69,    70,
687
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
688
      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
689
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
690
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
691
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
692
     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
693
     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
694
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
695
     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
696
     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
697
     171,   172,   173
698
};
699
700
#if ZENDDEBUG
701
  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
702
static const yytype_int16 yyrline[] =
703
{
704
       0,   303,   303,   307,   307,   307,   307,   307,   307,   307,
705
     307,   308,   308,   308,   308,   308,   308,   308,   308,   308,
706
     308,   308,   308,   309,   309,   309,   309,   309,   309,   309,
707
     309,   309,   309,   310,   310,   310,   310,   310,   310,   310,
708
     310,   310,   310,   311,   311,   311,   311,   311,   311,   311,
709
     311,   311,   311,   311,   312,   312,   312,   312,   312,   312,
710
     312,   312,   313,   313,   313,   313,   313,   313,   313,   313,
711
     313,   313,   313,   314,   318,   319,   319,   319,   319,   319,
712
     319,   319,   323,   324,   328,   329,   337,   338,   343,   344,
713
     349,   350,   355,   356,   360,   361,   362,   363,   367,   369,
714
     374,   376,   381,   385,   386,   390,   391,   392,   393,   394,
715
     398,   399,   403,   404,   405,   406,   410,   413,   413,   416,
716
     416,   419,   420,   421,   422,   426,   427,   431,   436,   441,
717
     442,   446,   448,   453,   455,   460,   462,   467,   468,   472,
718
     474,   479,   481,   486,   487,   491,   493,   499,   500,   501,
719
     502,   509,   510,   511,   512,   514,   516,   518,   520,   521,
720
     522,   523,   524,   525,   526,   527,   528,   529,   531,   535,
721
     534,   538,   539,   541,   542,   543,   547,   549,   554,   555,
722
     559,   560,   564,   565,   569,   570,   574,   578,   579,   587,
723
     594,   595,   599,   600,   604,   604,   607,   607,   613,   614,
724
     619,   621,   626,   627,   631,   632,   633,   637,   637,   643,
725
     643,   649,   649,   655,   656,   660,   665,   666,   670,   671,
726
     675,   676,   680,   681,   685,   686,   687,   688,   692,   693,
727
     697,   698,   702,   703,   707,   708,   709,   710,   714,   715,
728
     717,   719,   721,   727,   732,   733,   737,   738,   742,   744,
729
     749,   750,   755,   756,   761,   764,   770,   771,   776,   779,
730
     785,   786,   792,   793,   798,   800,   805,   806,   810,   812,
731
     818,   822,   829,   830,   834,   835,   836,   837,   841,   842,
732
     846,   847,   851,   853,   858,   859,   866,   867,   868,   869,
733
     873,   874,   875,   879,   880,   884,   886,   891,   893,   898,
734
     899,   903,   904,   908,   910,   924,   925,   926,   930,   932,
735
     934,   939,   941,   943,   945,   947,   952,   953,   957,   958,
736
     962,   968,   969,   973,   974,   978,   980,   986,   989,   992,
737
     995,   998,  1002,  1006,  1007,  1008,  1013,  1014,  1018,  1019,
738
    1020,  1024,  1026,  1031,  1032,  1036,  1041,  1043,  1047,  1052,
739
    1060,  1062,  1066,  1071,  1072,  1076,  1079,  1084,  1086,  1093,
740
    1095,  1102,  1104,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
741
    1116,  1117,  1118,  1122,  1123,  1127,  1129,  1134,  1136,  1141,
742
    1142,  1143,  1149,  1150,  1154,  1155,  1163,  1162,  1173,  1174,
743
    1175,  1180,  1181,  1185,  1186,  1190,  1191,  1199,  1203,  1204,
744
    1207,  1211,  1212,  1213,  1217,  1218,  1222,  1223,  1224,  1225,
745
    1229,  1229,  1239,  1241,  1243,  1248,  1253,  1255,  1257,  1259,
746
    1261,  1263,  1268,  1273,  1275,  1277,  1279,  1281,  1283,  1285,
747
    1287,  1289,  1291,  1293,  1295,  1297,  1299,  1300,  1301,  1302,
748
    1303,  1305,  1307,  1309,  1311,  1313,  1314,  1315,  1316,  1317,
749
    1318,  1319,  1320,  1321,  1322,  1323,  1324,  1325,  1326,  1327,
750
    1328,  1329,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
751
    1346,  1348,  1350,  1352,  1357,  1358,  1359,  1361,  1363,  1365,
752
    1366,  1367,  1368,  1369,  1370,  1371,  1372,  1373,  1378,  1379,
753
    1380,  1381,  1382,  1383,  1384,  1385,  1386,  1387,  1388,  1389,
754
    1390,  1392,  1397,  1402,  1410,  1414,  1418,  1422,  1426,  1430,
755
    1431,  1435,  1436,  1440,  1441,  1445,  1446,  1450,  1452,  1457,
756
    1459,  1461,  1461,  1468,  1471,  1475,  1476,  1477,  1481,  1483,
757
    1484,  1489,  1490,  1495,  1496,  1497,  1498,  1502,  1503,  1504,
758
    1505,  1507,  1508,  1509,  1510,  1514,  1515,  1516,  1517,  1518,
759
    1519,  1520,  1521,  1522,  1523,  1527,  1529,  1531,  1533,  1538,
760
    1539,  1543,  1547,  1548,  1552,  1553,  1554,  1558,  1559,  1563,
761
    1564,  1565,  1566,  1570,  1572,  1574,  1576,  1578,  1582,  1584,
762
    1586,  1588,  1593,  1594,  1595,  1599,  1601,  1606,  1608,  1610,
763
    1612,  1614,  1616,  1621,  1622,  1623,  1627,  1628,  1629,  1633,
764
    1638,  1639,  1643,  1645,  1650,  1652,  1654,  1656,  1658,  1660,
765
    1663,  1669,  1671,  1673,  1675,  1680,  1682,  1685,  1688,  1691,
766
    1693,  1695,  1698,  1702,  1703,  1704,  1705,  1710,  1711,  1712,
767
    1714,  1716,  1718,  1720,  1725,  1726,  1731
768
};
769
#endif
770
771
#if ZENDDEBUG || YYERROR_VERBOSE || 1
772
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
773
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
774
static const char *const yytname[] =
775
{
776
  "\"end of file\"", "error", "$undefined", "\"'throw'\"",
777
  "PREC_ARROW_FUNCTION", "\"'include'\"", "\"'include_once'\"",
778
  "\"'require'\"", "\"'require_once'\"", "\"'or'\"", "\"'xor'\"",
779
  "\"'and'\"", "\"'print'\"", "\"'yield'\"", "\"'=>'\"",
780
  "\"'yield from'\"", "'='", "\"'+='\"", "\"'-='\"", "\"'*='\"",
781
  "\"'/='\"", "\"'.='\"", "\"'%='\"", "\"'&='\"", "\"'|='\"", "\"'^='\"",
782
  "\"'<<='\"", "\"'>>='\"", "\"'**='\"", "\"'?""?='\"", "'?'", "':'",
783
  "\"'?""?'\"", "\"'||'\"", "\"'&&'\"", "'|'", "'^'", "\"amp\"", "\"'&'\"",
784
  "\"'=='\"", "\"'!='\"", "\"'==='\"", "\"'!=='\"", "\"'<=>'\"", "'<'",
785
  "\"'<='\"", "'>'", "\"'>='\"", "\"'|>'\"", "'.'", "\"'<<'\"", "\"'>>'\"",
786
  "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "\"'instanceof'\"", "'~'",
787
  "\"'(int)'\"", "\"'(float)'\"", "\"'(string)'\"", "\"'(array)'\"",
788
  "\"'(object)'\"", "\"'(bool)'\"", "\"'(unset)'\"", "'@'", "\"'**'\"",
789
  "\"'clone'\"", "T_NOELSE", "\"'elseif'\"", "\"'else'\"", "\"integer\"",
790
  "\"floating-point number\"", "\"identifier\"",
791
  "\"fully qualified name\"", "\"namespace-relative name\"",
792
  "\"namespaced name\"", "\"variable\"", "T_INLINE_HTML",
793
  "\"string content\"", "\"quoted string\"", "\"variable name\"",
794
  "\"number\"", "\"'eval'\"", "\"'new'\"", "\"'exit'\"", "\"'if'\"",
795
  "\"'endif'\"", "\"'echo'\"", "\"'do'\"", "\"'while'\"", "\"'endwhile'\"",
796
  "\"'for'\"", "\"'endfor'\"", "\"'foreach'\"", "\"'endforeach'\"",
797
  "\"'declare'\"", "\"'enddeclare'\"", "\"'as'\"", "\"'switch'\"",
798
  "\"'endswitch'\"", "\"'case'\"", "\"'default'\"", "\"'match'\"",
799
  "\"'break'\"", "\"'continue'\"", "\"'goto'\"", "\"'function'\"",
800
  "\"'fn'\"", "\"'const'\"", "\"'return'\"", "\"'try'\"", "\"'catch'\"",
801
  "\"'finally'\"", "\"'use'\"", "\"'insteadof'\"", "\"'global'\"",
802
  "\"'static'\"", "\"'abstract'\"", "\"'final'\"", "\"'private'\"",
803
  "\"'protected'\"", "\"'public'\"", "\"'private(set)'\"",
804
  "\"'protected(set)'\"", "\"'public(set)'\"", "\"'readonly'\"",
805
  "\"'var'\"", "\"'unset'\"", "\"'isset'\"", "\"'empty'\"",
806
  "\"'__halt_compiler'\"", "\"'class'\"", "\"'trait'\"", "\"'interface'\"",
807
  "\"'enum'\"", "\"'extends'\"", "\"'implements'\"", "\"'namespace'\"",
808
  "\"'list'\"", "\"'array'\"", "\"'callable'\"", "\"'__LINE__'\"",
809
  "\"'__FILE__'\"", "\"'__DIR__'\"", "\"'__CLASS__'\"", "\"'__TRAIT__'\"",
810
  "\"'__METHOD__'\"", "\"'__FUNCTION__'\"", "\"'__PROPERTY__'\"",
811
  "\"'__NAMESPACE__'\"", "\"'#['\"", "\"'++'\"", "\"'--'\"",
812
  "\"'(void)'\"", "\"'->'\"", "\"'?->'\"", "\"comment\"",
813
  "\"doc comment\"", "\"open tag\"", "\"'<?='\"", "\"'?>'\"",
814
  "\"whitespace\"", "\"heredoc start\"", "\"heredoc end\"", "\"'${'\"",
815
  "\"'{$'\"", "\"'::'\"", "\"'\\\\'\"", "\"'...'\"",
816
  "\"invalid character\"", "T_ERROR", "','", "']'", "';'", "'('", "')'",
817
  "'{'", "'}'", "'['", "'`'", "'\"'", "'$'", "$accept", "start",
818
  "reserved_non_modifiers", "semi_reserved", "ampersand", "identifier",
819
  "top_statement_list", "namespace_declaration_name", "namespace_name",
820
  "legacy_namespace_name", "name", "attribute_decl", "attribute_group",
821
  "attribute", "attributes", "attributed_statement",
822
  "attributed_top_statement", "top_statement", "$@1", "$@2", "use_type",
823
  "group_use_declaration", "mixed_group_use_declaration", "possible_comma",
824
  "inline_use_declarations", "unprefixed_use_declarations",
825
  "use_declarations", "inline_use_declaration",
826
  "unprefixed_use_declaration", "use_declaration", "const_list",
827
  "inner_statement_list", "inner_statement", "statement", "$@3",
828
  "catch_list", "catch_name_list", "optional_variable",
829
  "finally_statement", "unset_variables", "unset_variable",
830
  "function_name", "function_declaration_statement", "is_reference",
831
  "is_variadic", "class_declaration_statement", "@4", "@5",
832
  "class_modifiers", "anonymous_class_modifiers",
833
  "anonymous_class_modifiers_optional", "class_modifier",
834
  "trait_declaration_statement", "@6", "interface_declaration_statement",
835
  "@7", "enum_declaration_statement", "@8", "enum_backing_type",
836
  "enum_case", "enum_case_expr", "extends_from", "interface_extends_list",
837
  "implements_list", "foreach_variable", "for_statement",
838
  "foreach_statement", "declare_statement", "switch_case_list",
839
  "case_list", "match", "match_arm_list", "non_empty_match_arm_list",
840
  "match_arm", "match_arm_cond_list", "while_statement",
841
  "if_stmt_without_else", "if_stmt", "alt_if_stmt_without_else",
842
  "alt_if_stmt", "parameter_list", "non_empty_parameter_list",
843
  "attributed_parameter", "optional_cpp_modifiers", "parameter",
844
  "optional_type_without_static", "type_expr", "type",
845
  "union_type_element", "union_type", "intersection_type",
846
  "type_expr_without_static", "type_without_static",
847
  "union_type_without_static_element", "union_type_without_static",
848
  "intersection_type_without_static", "return_type", "argument_list",
849
  "non_empty_argument_list", "clone_argument_list",
850
  "non_empty_clone_argument_list", "argument_no_expr", "argument",
851
  "global_var_list", "global_var", "static_var_list", "static_var",
852
  "class_statement_list", "attributed_class_statement", "class_statement",
853
  "class_name_list", "trait_adaptations", "trait_adaptation_list",
854
  "trait_adaptation", "trait_precedence", "trait_alias",
855
  "trait_method_reference", "absolute_trait_method_reference",
856
  "method_body", "property_modifiers", "method_modifiers",
857
  "class_const_modifiers", "non_empty_member_modifiers", "member_modifier",
858
  "property_list", "property", "hooked_property", "property_hook_list",
859
  "optional_property_hook_list", "property_hook_modifiers",
860
  "property_hook", "@9", "property_hook_body", "optional_parameter_list",
861
  "class_const_list", "class_const_decl", "const_decl", "echo_expr_list",
862
  "echo_expr", "for_cond_exprs", "for_exprs", "non_empty_for_exprs",
863
  "anonymous_class", "@10", "new_dereferenceable",
864
  "new_non_dereferenceable", "expr", "inline_function", "fn", "function",
865
  "backup_doc_comment", "backup_fn_flags", "backup_lex_pos", "returns_ref",
866
  "lexical_vars", "lexical_var_list", "lexical_var", "function_call",
867
  "@11", "class_name", "class_name_reference", "backticks_expr",
868
  "ctor_arguments", "dereferenceable_scalar", "scalar", "constant",
869
  "class_constant", "optional_expr", "variable_class_name",
870
  "fully_dereferenceable", "array_object_dereferenceable", "callable_expr",
871
  "callable_variable", "variable", "simple_variable", "static_member",
872
  "new_variable", "member_name", "property_name", "array_pair_list",
873
  "possible_array_pair", "non_empty_array_pair_list", "array_pair",
874
  "encaps_list", "encaps_var", "encaps_var_offset",
875
  "internal_functions_in_yacc", "isset_variables", "isset_variable", YY_NULLPTR
876
};
877
#endif
878
879
# ifdef YYPRINT
880
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
881
   (internal) symbol number NUM (which must be that of a token).  */
882
static const yytype_int16 yytoknum[] =
883
{
884
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
885
     265,   266,   267,   268,   269,   270,    61,   271,   272,   273,
886
     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
887
      63,    58,   284,   285,   286,   124,    94,   287,   288,   289,
888
     290,   291,   292,   293,    60,   294,    62,   295,   296,    46,
889
     297,   298,    43,    45,    42,    47,    37,    33,   299,   126,
890
     300,   301,   302,   303,   304,   305,   306,    64,   307,   308,
891
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
892
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
893
     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
894
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
895
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
896
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
897
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
898
     379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
899
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
900
     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
901
     409,   410,   411,   412,    44,    93,    59,    40,    41,   123,
902
     125,    91,    96,    34,    36
903
};
904
# endif
905
906
470k
#define YYPACT_NINF (-1071)
907
908
#define yypact_value_is_default(Yyn) \
909
470k
  ((Yyn) == YYPACT_NINF)
910
911
14.5k
#define YYTABLE_NINF (-608)
912
913
#define yytable_value_is_error(Yyn) \
914
14.5k
  ((Yyn) == YYTABLE_NINF)
915
916
  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
917
     STATE-NUM.  */
918
static const yytype_int16 yypact[] =
919
{
920
   -1071,    62,  2252, -1071,  7334,  7334,  7334,  7334,  7334,  7334,
921
    7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
922
    7334,  7334,  7334,  7334,  7488, -1071, -1071,    52, -1071, -1071,
923
   -1071, -1071, -1071, -1071,   -75,  1041,   -50,   -23,  7334,  5639,
924
      13,    21,    43,    49,   103,   125,  7334,  7334,   108, -1071,
925
   -1071,   156,  7334,    73,   271,   -32,   -20, -1071, -1071,   -50,
926
     149,   157,   180,   186, -1071, -1071, -1071, -1071,  9538,   196,
927
     207, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
928
   -1071,  9916,  9916,  7334,   172, -1071,  7334, -1071,  5793,    -1,
929
     153,    -6,   -81, -1071,   836, -1071, -1071, -1071, -1071, -1071,
930
   -1071,   307, -1071, -1071, -1071, -1071, -1071,   461, -1071,   136,
931
   -1071,   214, -1071,  9048, -1071,   501,   501, -1071,   107,   384,
932
   -1071,   170,   390,   184,   220,   388, -1071,   215,  1808, -1071,
933
   -1071, -1071, -1071,   445,   -50,   250, 10240,   501, 10240, 10240,
934
   10240, 10240,  7643, 10332,  7643,   328,   328,     9,   328,   328,
935
     328,   328,   328,   328,   328,   328,   328,  1244, -1071, -1071,
936
   -1071,  7334, -1071, -1071,  7334, -1071,   117,   529,   284, -1071,
937
   -1071,   252,   -50, -1071,   427,  1426, -1071, -1071,  7334,   231,
938
   -1071, 10240,   348,  7334,  6255,  7334,   156,  7334,  7334, 10240,
939
     272,   319,   339,   510,   257, -1071,   367, -1071, -1071, -1071,
940
   -1071, -1071, -1071, -1071,     0,   292,   387,   263, -1071,   318,
941
   -1071, -1071,   556,   324, -1071, -1071, -1071,  9916,  7334,  7334,
942
     413,   508,   536,   539,   559, -1071, -1071, -1071, -1071, -1071,
943
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
944
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
945
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
946
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
947
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
948
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
949
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
950
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,   462,   473,
951
    5793,  5793,   323,  1041,  7334,  5793,   481,   485, -1071, -1071,
952
     435,   435,  9098,   417,    -8, -1071,  6409,  9916,   176, -1071,
953
    8398,  2406, -1071, -1071,   492,  7334,  9916, 10140,   502, -1071,
954
     505, -1071,   101,   498,   194,   101,    50,  7334, -1071, -1071,
955
     445, -1071, -1071, -1071, -1071, -1071,   504,  5639,   509,   651,
956
     511,  7334,  7334,  7334,  6563,  7334,  7334,  7334,  7334,  7334,
957
    7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
958
    7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
959
     135,  7334, -1071, -1071, -1071,   -29,  4569,  4719,    -7,    -7,
960
    7334,   -50,  5947,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
961
    7334,  7334,  7334,  7334,  7334,  7334, -1071, -1071, -1071,  7334,
962
    7334,  7334,  7334,  7334,  7334,  7334,  6717, -1071,  7488,    30,
963
     -75,  1036,    11,   125,   660,   663,    66,   -50,   157,   180,
964
     196,   207,   667,   668,   671,   672,   673,   680,   681,   683,
965
     685,  7334, -1071,   686,   545, -1071,  8347,  8448,  8498, -1071,
966
   -1071, -1071,   -32, -1071,    -7,    -7,   -32,  7334, -1071,   548,
967
   -1071, -1071, 10240,  8548,  7334, -1071,   547,  8598,  7334,   551,
968
     554, 10240, 10071,    28,  8648,  8698, -1071, -1071, -1071,  7334,
969
     156, -1071, -1071,  2560,   654,   558,    74,   555,   405, -1071,
970
     292, -1071,   -32, -1071,  7334,   656, -1071,   565, -1071,    84,
971
   10240,   566, -1071,  8748,   568,   608, -1071,   610,   719, -1071,
972
     572, -1071,   576,   577, -1071,   583,   -50,   -50,  8798,   589,
973
   -1071,   690,   691,   340, -1071, -1071,   440,  8096,   588, -1071,
974
   -1071, -1071,   399,   593, -1071,  4484, -1071, -1071, -1071,  5793,
975
   10240,   121,  6101,   759,  5793, -1071, -1071,  8146, -1071,   701,
976
    7334, -1071,  7334, -1071, -1071, 10289,  9531,  7643,  7334, 10190,
977
    7798,  7947,  9667,  4718,  9815,  9964,  9964, 10362, 10362, 10362,
978
   10362, 10362,  1595,  1595,  1595,  1595,  1156,   823,   834,   834,
979
     704,   704,     9,     9,     9, -1071,   328,   600, -1071, -1071,
980
   -1071,   602,  7334,   603,   604,   -50,  7334,   603,   604,   -50,
981
   -1071,  7334, -1071,   -50,   -50,   611, -1071,  9916,  7643,  7643,
982
    7643,  7643,  7643,  7643,  7643,  7643,  7643,  7643,  7643,  7643,
983
    7643,  7643,  7643, 10240,  6872,  1790,   607,  1608, -1071, -1071,
984
     -50, -1071, -1071, -1071, -1071,   612,  1790,   614,  4869, -1071,
985
    7334,  5023, 10240,  6255,  7026,  9285, -1071,    10,   609, 10240,
986
   -1071, -1071, -1071,   277,   615, -1071, -1071,   689, -1071, -1071,
987
   10240, -1071,  9916,   618,  7334,   619, -1071, -1071,   323,   659,
988
     621,   323, -1071,   189,   659, -1071,  1944,   774, -1071,   323,
989
     628, -1071,   629, -1071, -1071, -1071,   721, -1071, -1071, -1071,
990
     632, -1071,  7334, -1071, -1071,   630, -1071,   633,   638,  9916,
991
   10240,  7334, -1071, -1071,   608,  8848,  8898,  2714,  7798,  7334,
992
    1005,   639,  1005,  8196, -1071,  8247, -1071,  8297, -1071, -1071,
993
   -1071,   435, -1071, 10240, -1071, -1071, -1071, -1071,   608, -1071,
994
   -1071, -1071, -1071, -1071,  8948, -1071, -1071, -1071,   641,   645,
995
    9248,  7334, 10240,   644,  5793,  9916,     8,    14,  5177,   646,
996
     647, -1071,  7180, -1071,   531,   725,   232,   652, -1071, -1071,
997
     232, -1071,   655, -1071, -1071, -1071,   323, -1071, -1071,   653,
998
   -1071,   649,   301, -1071, -1071, -1071,   301, -1071, -1071,   523,
999
     798,   801,   805, -1071, -1071,  2098, -1071,  7334, -1071, -1071,
1000
   -1071, -1071,  9198,   662,   774,  5793,   248,  7643,   659,  5639,
1001
     813,   669,  7798, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
1002
   -1071, -1071, -1071,  1341,   670,   677, -1071,   564, -1071,  1687,
1003
   -1071,  1005,   674,   678,   678, -1071,   659,  4408,   682,  2868,
1004
    6255,  7026, 10240,  5793,   687,    17,  9285,  5331, -1071, -1071,
1005
   -1071, -1071,   355, -1071,   -46,   694,   705,   695, -1071,   696,
1006
   10240,   718,   684, -1071,   772, -1071,   277,   717,   724, -1071,
1007
   -1071,   653,   722,  2321,   323, -1071, -1071,   866,     6,   301,
1008
     171,   171,   301,   726, -1071,  7643,   727, -1071,   728, -1071,
1009
   -1071, -1071, -1071, -1071,   878,  1117, -1071,   459,   459,   872,
1010
   -1071,   552,   876,   877,   879, -1071,   735,   799, -1071, -1071,
1011
     738,   741,  9298,   742,    23,   744, -1071, -1071, -1071,  3022,
1012
     426,   748,  7334,    20,   -38, -1071, -1071,   911, -1071,  7180,
1013
   -1071,  7334,   912,   323, -1071, -1071, -1071, -1071,   232,   749,
1014
   -1071, -1071,   323, -1071, -1071,  1161, -1071, -1071, -1071,   564,
1015
     821,   820,  1859, -1071,  2783, -1071, -1071, -1071, -1071, -1071,
1016
   -1071, -1071, -1071,   774,   754,  4408,   189,   922, -1071, -1071,
1017
     900,    16, -1071,   767,   459,   374,   374,   459,   878,   764,
1018
     878,   770, -1071,  5485, -1071,  5331,  3176,   777,   782, -1071,
1019
    8998, -1071, -1071, -1071,  7334, -1071, 10240,  7334,    46, -1071,
1020
    3330, -1071, -1071,  2937,  9688,   -82, -1071,   864,   501,  7950,
1021
   -1071,  3091, -1071, -1071, -1071, -1071, -1071,   869, -1071, -1071,
1022
   -1071, -1071, -1071, -1071,   285, -1071, -1071, -1071, -1071, -1071,
1023
   -1071,   789, -1071, -1071, -1071, -1071,  4408,  4408, 10240, 10240,
1024
     323, -1071,   788, -1071, -1071,   934, -1071,  7649, -1071,   951,
1025
     423, -1071, -1071,  9688,   952,   958,   959,   960,   961,  9838,
1026
     433, -1071, -1071,  3245, -1071,   962,   800, -1071,   902,   808,
1027
   -1071,   804,  3553,  3484, -1071,  4408,  4408, -1071,   806,  7334,
1028
     810,   819, -1071, -1071,  7799, -1071,   815,   816,   895,   880,
1029
     830,  7334,   824,   921, -1071, -1071,  7334,  7334,   952,   436,
1030
    9838, -1071, -1071,  7334,  7334,   826, -1071, -1071,   285,   832,
1031
   -1071, -1071,   835, -1071, 10240, -1071, -1071, -1071, -1071, -1071,
1032
    9388,   323,  9688, 10240, -1071,   986, -1071,   831, 10240, 10240,
1033
   -1071, -1071, 10240, 10240, -1071, -1071,  3638, -1071, -1071,  3792,
1034
   -1071,  3946, -1071, -1071,  9688,   653, -1071,   833,   503,  7334,
1035
   -1071,  1005, -1071, -1071, -1071,   826,  1327, -1071, -1071, -1071,
1036
   -1071, -1071, -1071,  1341,  1687,   501, -1071, 10240,   837, -1071,
1037
   -1071, -1071, -1071,  1509, -1071,   939, -1071,   878, -1071, -1071,
1038
   -1071, -1071,   154,   839, -1071, -1071, -1071,  1005, -1071,  4100,
1039
   -1071,   840,    24, -1071, -1071,  7334, -1071, -1071, -1071,  9148,
1040
    4254, -1071, -1071, -1071
1041
};
1042
1043
  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1044
     Performed when YYTABLE does not specify something else to do.  Zero
1045
     means the default is an error.  */
1046
static const yytype_int16 yydefact[] =
1047
{
1048
      87,     0,     2,     1,     0,     0,     0,     0,     0,     0,
1049
     492,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1050
       0,     0,     0,     0,     0,   537,   538,    94,    96,    97,
1051
      95,   582,   164,   535,     0,   202,   531,     0,     0,     0,
1052
       0,     0,     0,     0,     0,     0,   559,   559,     0,   505,
1053
     504,     0,   559,     0,     0,     0,   523,   204,   205,   206,
1054
       0,     0,     0,     0,   196,   207,   209,   211,   119,     0,
1055
       0,   546,   547,   548,   554,   549,   550,   551,   552,   553,
1056
     506,     0,     0,     0,     0,   171,     0,   146,   600,   528,
1057
       0,     0,   545,   103,     0,   110,   113,    86,   112,   105,
1058
     106,     0,   198,   107,   108,   109,   501,   256,   152,     0,
1059
     153,   474,   475,     0,   497,   509,   509,   577,     0,   542,
1060
     489,   543,   544,     0,   567,     0,   521,   578,   416,   573,
1061
     579,   479,    94,   523,     0,     0,   496,   509,   629,   630,
1062
     632,   633,   491,   493,   495,   458,   459,   460,   461,   480,
1063
     481,   482,   483,   484,   485,   486,   488,     0,   421,   422,
1064
     174,     0,   523,   206,     0,   524,   202,   203,     0,   200,
1065
     413,   525,   415,   587,   526,     0,   532,   487,     0,     0,
1066
     399,   400,     0,     0,   404,     0,     0,     0,     0,   560,
1067
       0,     0,     0,     0,     0,   144,     0,   146,    90,    93,
1068
      91,   125,   126,    92,   141,     0,     0,     0,   136,     0,
1069
     319,   320,   323,     0,   322,   499,   518,     0,     0,     0,
1070
       0,     0,     0,     0,     0,    33,     3,     4,     6,     7,
1071
       8,     9,    10,    46,    47,    11,    13,    16,    17,    84,
1072
      89,     5,    12,    14,    15,    18,    19,    20,    21,    22,
1073
      23,    24,    25,    26,    27,    28,    29,    49,    50,    51,
1074
      52,    71,    53,    41,    42,    43,    70,    44,    45,    30,
1075
      31,    32,    34,    35,    36,    75,    76,    77,    78,    79,
1076
      80,    81,    37,    38,    39,    40,    61,    59,    60,    72,
1077
      56,    57,    58,    48,    54,    55,    66,    67,    68,    62,
1078
      63,    65,    64,    73,    69,    74,    85,    88,   117,     0,
1079
     600,   600,     0,   202,     0,   600,   566,   564,   568,   565,
1080
     437,   439,     0,   615,     0,   540,     0,     0,     0,   613,
1081
       0,     0,    83,    82,     0,     0,     0,   605,     0,   603,
1082
     599,   601,   529,     0,   530,     0,     0,     0,   584,   517,
1083
       0,   104,   114,   498,   194,   199,     0,     0,     0,     0,
1084
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1085
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1086
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1087
       0,     0,   165,   510,   506,   506,     0,     0,     0,     0,
1088
     559,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1089
       0,     0,     0,     0,     0,     0,   436,   438,   506,     0,
1090
      33,     3,     4,     6,     7,    46,   492,   313,    13,    94,
1091
       5,    12,   531,    71,   505,   504,    75,    81,    39,    40,
1092
      48,    54,   546,   547,   548,   554,   549,   550,   551,   552,
1093
     553,   312,   305,     0,   129,   309,     0,     0,     0,   414,
1094
     201,   410,     0,   412,     0,     0,     0,   559,   301,   129,
1095
     317,   303,   316,     0,     0,   163,     0,     0,     0,     0,
1096
     405,   409,     0,     0,     0,     0,   158,   159,   173,     0,
1097
       0,   111,   160,     0,     0,     0,   141,     0,     0,   121,
1098
       0,   123,     0,   161,     0,     0,   162,   129,   184,   562,
1099
     636,   129,   634,     0,     0,   218,   506,   220,   213,   116,
1100
       0,    87,     0,     0,   100,   129,    98,     0,     0,     0,
1101
     175,     0,     0,     0,   539,   614,     0,     0,   562,   612,
1102
     541,   611,   473,     0,   151,     0,   148,   145,   147,   600,
1103
     608,   562,     0,   534,   600,   490,   536,     0,   500,     0,
1104
       0,   257,     0,   146,   260,   442,   444,   443,     0,     0,
1105
     478,   440,   441,   445,   448,   446,   447,   464,   465,   462,
1106
     463,   471,   467,   468,   469,   470,   466,   449,   456,   457,
1107
     450,   451,   452,   454,   455,   472,   453,     0,   187,   188,
1108
     506,     0,     0,   555,   585,     0,     0,   556,   586,     0,
1109
     596,     0,   598,   580,   581,     0,   522,     0,   419,   423,
1110
     424,   425,   427,   428,   429,   430,   431,   432,   433,   434,
1111
     426,   435,   494,   315,     0,   130,     0,     0,   631,   527,
1112
     531,   591,   589,   590,   592,     0,   130,     0,     0,   398,
1113
       0,     0,   408,   401,     0,     0,   169,     0,     0,   506,
1114
     143,   176,   142,     0,     0,   122,   124,   141,   135,   318,
1115
     324,   321,   130,     0,   130,     0,   628,   115,     0,   222,
1116
       0,     0,   506,     0,   222,    87,     0,     0,   533,   130,
1117
       0,    99,   563,   534,   617,   618,     0,   623,   626,   624,
1118
       0,   620,     0,   619,   622,     0,   149,     0,     0,     0,
1119
     604,     0,   602,   583,   218,     0,     0,     0,   477,     0,
1120
     268,     0,   268,     0,   519,     0,   520,     0,   575,   576,
1121
     574,   420,   314,   311,   310,   306,   307,   308,   218,   588,
1122
     304,   302,   146,   254,     0,   146,   252,   154,     0,     0,
1123
     403,     0,   406,     0,   600,     0,     0,   562,     0,   238,
1124
     238,   157,   244,   397,   182,   139,     0,   129,   132,   137,
1125
       0,   185,     0,   635,   627,   219,     0,   506,   326,   221,
1126
     336,     0,     0,   279,   290,   291,     0,   292,   214,   274,
1127
       0,   276,   277,   278,   506,     0,   120,     0,   101,   102,
1128
     625,   616,     0,     0,   610,   600,   562,   418,   222,     0,
1129
       0,     0,   476,   369,   370,   371,   365,   364,   363,   368,
1130
     367,   366,   372,   268,     0,   129,   264,   272,   267,   269,
1131
     361,   268,     0,   557,   558,   597,   222,   258,     0,     0,
1132
     404,     0,   407,   600,     0,   562,     0,     0,   146,   232,
1133
     170,   238,     0,   238,     0,   129,     0,   129,   246,   129,
1134
     250,     0,     0,   172,     0,   138,   130,     0,   129,   134,
1135
     166,   223,     0,   357,     0,   326,   275,     0,     0,     0,
1136
       0,     0,     0,     0,   118,   417,     0,   150,     0,   506,
1137
     255,   146,   261,   266,   299,   268,   262,     0,     0,   190,
1138
     273,   286,     0,   288,   289,   362,     0,   511,   506,   155,
1139
       0,     0,   402,     0,   534,     0,   146,   230,   167,     0,
1140
       0,     0,     0,     0,     0,   234,   130,     0,   243,   130,
1141
     245,   130,     0,     0,   146,   140,   131,   128,   130,     0,
1142
     326,   506,     0,   356,   208,   357,   332,   333,   325,   272,
1143
       0,     0,   355,   337,   357,   281,   284,   280,   282,   283,
1144
     285,   326,   621,   609,     0,   259,     0,     0,   265,   287,
1145
       0,     0,   191,   192,     0,     0,     0,     0,   299,     0,
1146
     299,     0,   253,     0,   226,     0,     0,     0,     0,   236,
1147
       0,   146,   146,   235,     0,   247,   251,     0,   180,   178,
1148
       0,   133,   127,   357,     0,     0,   334,     0,   509,     0,
1149
     210,   357,   326,   300,   507,   294,   193,     0,   297,   293,
1150
     295,   296,   298,   507,     0,   507,   326,   146,   228,   156,
1151
     168,     0,   233,   237,   146,   146,   241,   242,   249,   248,
1152
       0,   181,     0,   183,   197,   216,   338,     0,   335,   506,
1153
       0,   374,   328,     0,    94,   279,   290,   291,     0,     0,
1154
       0,   394,   212,   357,   508,   506,     0,   515,     0,   129,
1155
     514,     0,   357,     0,   231,   239,   240,   179,     0,     0,
1156
       0,    75,   339,   350,     0,   341,     0,     0,     0,   351,
1157
       0,     0,   375,     0,   327,   506,     0,     0,     0,     0,
1158
       0,   329,   195,     0,     0,   382,   146,   516,   130,     0,
1159
     146,   411,     0,   146,   217,   215,   340,   342,   343,   344,
1160
       0,     0,     0,   506,   379,   506,   373,     0,   506,   506,
1161
     330,   393,   507,   506,   379,   270,     0,   513,   512,     0,
1162
     229,     0,   346,   347,   349,   345,   352,   376,   384,     0,
1163
     375,   268,   395,   396,   503,   382,   384,   507,   507,   177,
1164
     348,   379,   377,   384,   385,   509,   380,   506,     0,   271,
1165
     383,   189,   502,   384,   381,     0,   376,   299,   378,   506,
1166
     507,   386,     0,   391,   353,   146,   507,   268,   507,     0,
1167
     331,     0,     0,   354,   392,     0,   388,   146,   507,     0,
1168
       0,   387,   390,   389
1169
};
1170
1171
  /* YYPGOTO[NTERM-NUM].  */
1172
static const yytype_int16 yypgoto[] =
1173
{
1174
   -1071, -1071,  -103,  -974,    34,   -60,  -481, -1071,   -44,  -191,
1175
     -15,   334, -1071,   -91,    -2,     7,   933, -1071, -1071, -1071,
1176
     975, -1071, -1071,  -451, -1071, -1071,   828,   165,  -745,   537,
1177
     850,  -178, -1071,    37, -1071, -1071, -1071, -1071, -1071, -1071,
1178
     366, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
1179
   -1071,   -19, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
1180
   -1071,  -651, -1071,  -655,   193, -1071,    58, -1071, -1071,  -712,
1181
   -1071, -1071, -1071,   115, -1071, -1071, -1071, -1071, -1071, -1071,
1182
    -698, -1071,   150, -1071,   223,    98,  -914,  -658,  -216, -1071,
1183
     262, -1071,  -734,  -303, -1071,   151,  -948,   169, -1071, -1071,
1184
   -1071,   896,  -346, -1071,   550, -1071,   560,  -796,   110, -1071,
1185
    -763, -1071, -1071,   -27, -1071, -1071, -1071, -1071, -1071, -1071,
1186
   -1071, -1071,  -718,  -814, -1071,   -30, -1071, -1070,   -89, -1071,
1187
     -96, -1071, -1071, -1071,    19,   -25,   578, -1071,   616, -1071,
1188
     236,   428,   917, -1071,   -77, -1071,    99,   -49, -1071,     4,
1189
     -69,  -989, -1071,  -114, -1071, -1071,   -22, -1071, -1071,   -34,
1190
    -258, -1071,   448,   -55, -1071,   -12,    54,   -35, -1071, -1071,
1191
   -1071, -1071, -1071,    75,   769, -1071, -1071,   688,  -160,  -261,
1192
     535, -1071, -1071,   586,   291, -1071, -1071, -1071,   418
1193
};
1194
1195
  /* YYDEFGOTO[NTERM-NUM].  */
1196
static const yytype_int16 yydefgoto[] =
1197
{
1198
      -1,     1,   305,   306,   336,   453,     2,   308,   765,   204,
1199
      92,   524,   525,    93,   135,   546,    96,    97,   520,   309,
1200
     766,   497,   206,   636,   767,   868,   207,   768,   769,   208,
1201
     194,   331,   547,   548,   758,   764,   998,  1042,   863,   507,
1202
     508,   600,    99,   973,  1017,   100,   559,   221,   101,   167,
1203
     168,   102,   103,   222,   104,   223,   105,   224,   684,   946,
1204
    1080,   679,   682,   777,   756,  1029,   918,   850,   761,   852,
1205
     106,   856,   857,   858,   859,   747,   107,   108,   109,   110,
1206
     824,   825,   826,   827,   828,   899,   788,   789,   790,   791,
1207
     792,   900,   793,   902,   903,   904,   967,   176,   469,   158,
1208
     454,   470,   471,   209,   210,   213,   214,   873,   947,   948,
1209
     779,  1048,  1084,  1085,  1086,  1087,  1088,  1089,  1186,   949,
1210
     950,   951,   829,   830,  1050,  1051,  1052,  1148,  1135,  1165,
1211
    1166,  1183,  1198,  1188,  1060,  1061,   195,   179,   180,   748,
1212
     479,   480,   170,   640,   111,   112,   113,   114,   115,   137,
1213
     601,  1064,  1103,   394,   980,  1069,  1070,   117,   401,   118,
1214
     172,   343,   177,   119,   120,   121,   122,   190,   123,   124,
1215
     125,   126,   127,   128,   129,   130,   174,   605,   613,   338,
1216
     339,   340,   341,   328,   329,   700,   131,   511,   512
1217
};
1218
1219
  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1220
     positive, shift that token.  If negative, reduce the rule whose
1221
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1222
static const yytype_int16 yytable[] =
1223
{
1224
      94,   171,   395,   351,   316,   316,   116,   215,   307,    95,
1225
     203,   312,   191,   871,   496,   905,   169,   196,   647,   493,
1226
     165,   865,   846,   418,   832,   869,   317,   317,  -224,   794,
1227
    1023,  -225,  1025,   166,  1066,  1058,  1071,  -227,  1195,    98,
1228
     686,   759,   -14,   882,   351,   353,   598,    31,   854,   522,
1229
     523,   991,  1013,   977,   529,   527,   673,   922,   923,   212,
1230
     675,   -84,     3,   808,  1156,   922,   923,   390,   610,   318,
1231
     318,   323,    31,    31,   690,   351,   182,   391,   323,   954,
1232
     342,  1040,   355,   160,   215,  1058,   353,   836,  -524,    49,
1233
      50,  1173,   874,   901,  1046,  1059,   175,  1047,   116,   599,
1234
     494,    95,   161,   136,   138,   139,   140,   141,   142,   143,
1235
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1236
     154,   155,   156,   159,   876,  1041,  1058,   175,   877,   323,
1237
     -84,   539,   595,   906,   925,   319,   319,   181,   905,   920,
1238
     316,   924,   993,  1154,  1003,   189,   189,   169,   460,   393,
1239
     393,   189,    91,   889,   178,   952,   320,   321,   534,   326,
1240
     327,   203,   317,   969,   970,  1011,   326,   327,  1171,  1172,
1241
     495,   393,   611,   347,   494,    49,    50,    91,    91,  1005,
1242
     323,   908,   322,   192,   955,   330,   847,   337,   175,   760,
1243
     183,  1182,  -224,  1001,  1015,  -225,   992,  1190,   184,  1192,
1244
    1196,  -227,   490,  1197,   795,   318,   656,   358,   359,  1201,
1245
     132,    28,    29,    30,    31,   901,  1063,   326,   327,   782,
1246
     185,   956,   957,   957,   960,   360,   186,   952,   216,  1180,
1247
    1072,   193,   323,   556,   345,  -523,   952,    57,    58,   614,
1248
    1018,  1019,  1019,  1022,   664,   163,   132,    28,    29,    30,
1249
     316,   323,   197,   324,   162,   323,   456,   539,  -186,   316,
1250
     457,   349,  -186,   458,   132,    28,    29,    30,   326,   327,
1251
      80,   319,   317,   323,   472,   539,   396,   473,   526,   171,
1252
     187,   317,   477,   481,   482,   952,   484,   485,   707,   734,
1253
     783,   737,   509,   952,   169,  -607,  -607,   165,   165,  -607,
1254
     740,   558,   188,   216,   642,   643,  1144,   198,   783,   667,
1255
     200,   166,   164,   784,   785,   318,   867,   510,   513,    91,
1256
     326,   327,   332,   333,   318,   597,   217,  -568,  -568,   545,
1257
    1184,   784,   785,  1185,   218,   116,   603,   607,   325,   326,
1258
     327,   463,   540,   326,   327,   952,   198,   199,   786,   200,
1259
     905,  -568,   198,   397,   952,   200,   171,   219,  1145,    49,
1260
      50,   326,   327,   220,  1067,   615,   786,   198,   199,   350,
1261
     200,  -566,  -566,   310,   896,   165,   132,    28,    29,    30,
1262
     201,   319,   202,  -566,   311,   717,   201,   215,   202,  -561,
1263
     319,  -572,  -569,   696,   561,  -566,   391,   171,   132,    28,
1264
      29,    30,   538,    80,   927,   474,   930,   475,   932,   337,
1265
     337,   551,   169,   528,   337,   697,   165,   939,   461,   698,
1266
     783,   462,  -606,  -606,   699,   537,  -606,    57,    58,   166,
1267
    1164,   490,   645,   491,   550,   163,   617,   500,  1164,   501,
1268
     476,   354,   162,   784,   785,  1164,   557,   680,   486,   132,
1269
      28,    29,    30,  1168,   351,  1164,   203,   921,   922,   923,
1270
     565,   566,   567,   569,   570,   571,   572,   573,   574,   575,
1271
     576,   577,   578,   579,   580,   581,   582,   583,   584,   585,
1272
     586,   587,   588,   589,   590,   591,   592,   593,   594,  1191,
1273
     596,   545,   502,   844,   503,   487,   353,   116,   505,   189,
1274
     506,   618,   619,   620,   621,   622,   623,   624,   625,   626,
1275
     627,   628,   629,   630,   631,   488,   784,   785,   632,   136,
1276
     138,   139,   140,   141,   142,   143,   489,   159,   988,   922,
1277
     923,   721,   356,   357,   132,    28,    29,    30,   332,   333,
1278
     316,  -564,  -564,   492,   888,   398,   399,  -565,  -565,   116,
1279
     633,   898,   706,  -564,    49,    50,  -563,  -563,  -280,  -565,
1280
     879,  -571,   317,   499,   837,  -564,   189,   839,  -563,   400,
1281
     616,  -565,   504,   181,   531,   532,  -570,   652,   316,   500,
1282
    -563,   666,   913,   515,   464,   465,   709,  -293,   659,   974,
1283
     763,   514,  -562,  -562,   897,   316,   466,  1093,   533,  1094,
1284
     317,   784,   785,   670,  -562,   318,   216,  1100,   467,  1101,
1285
    1100,   516,  1130,   781,   517,   535,  -562,   317,  1109,   541,
1286
     701,   702,   813,   814,   815,   816,   817,   818,   819,   820,
1287
     821,   822,   316,   535,   518,   541,   535,   541,   519,   132,
1288
      28,    29,    30,   318,   775,   861,   862,   780,   337,    57,
1289
      58,   710,   521,   337,   317,   526,    80,   163,  -572,   715,
1290
     318,   716,  -571,   165,   958,   959,   165,   718,   787,   549,
1291
     919,   319,  1020,  1021,   165,   344,   346,   553,   316,   554,
1292
     555,   560,   563,  1162,    94,   743,   562,   564,   746,   755,
1293
     116,   -43,   731,    95,   -70,   691,   463,   318,   -66,   -67,
1294
     317,   723,   -68,   -62,   -63,   725,   784,   785,   872,   319,
1295
     727,   -65,   -64,   965,   -73,   545,   -69,   634,   823,   635,
1296
     823,   116,   646,    98,   650,   883,   319,   653,   654,   662,
1297
     757,   665,   351,   733,   472,   212,   472,   663,   986,   672,
1298
     674,   898,   780,   318,   677,   472,   678,   509,   681,   744,
1299
     683,   685,   750,   752,   687,   688,  1000,   689,   387,   388,
1300
     389,   165,   390,   319,   693,   694,   695,   787,   704,   316,
1301
     705,   787,   391,   510,   724,   711,   714,   720,   726,   722,
1302
    -593,  -595,   728,   729,   806,   735,   730,   739,   762,   494,
1303
     797,   317,   741,    94,   770,   849,   772,   774,   776,   116,
1304
     778,   802,    95,   799,   173,   800,  -570,   801,   803,   319,
1305
     807,   804,   787,  1036,  1037,   805,   831,   840,   812,   841,
1306
     964,   843,   851,   853,   211,   864,   866,   874,   875,   823,
1307
     845,   870,    98,   880,   318,   545,   881,   545,   887,   981,
1308
     953,   116,   882,   116,   891,   892,   890,   935,   894,  1073,
1309
     842,   895,   907,   337,   351,  -594,  1075,  1076,   909,   165,
1310
     348,   860,   914,   934,   787,   787,   787,   787,   926,   929,
1311
     931,   945,  1004,   383,   384,   385,   386,   387,   388,   389,
1312
     755,   390,   787,   787,   917,   928,   385,   386,   387,   388,
1313
     389,   391,   390,   823,  1053,   933,   885,   937,   938,   999,
1314
     319,   940,   391,   879,   337,   961,   963,   962,   780,   966,
1315
     972,   975,   976,   978,   982,   979,   977,   545,   165,   983,
1316
     984,   757,   985,   116,   989,   994,   997,   165,  1136,  1002,
1317
      49,  1009,  1139,  1012,   787,  1141,  1014,   974,  1016,   481,
1318
     912,  1024,   337,  1049,  1045,    49,    50,    51,  1065,  1026,
1319
    1079,   787,   945,  1032,  1008,   350,    57,    58,  1033,   787,
1320
     787,   787,   787,   545,   163,  1074,  1078,  1091,  1096,   116,
1321
      64,    65,    66,    67,   -75,   -54,   -55,  1097,  1104,  1106,
1322
    1092,  1107,  1108,  1110,   545,  1113,  1115,  1083,  -523,    80,
1323
     116,  1118,  1119,  1095,   787,  1120,  1105,  1121,   545,  1122,
1324
    1125,   945,  1149,  1124,   116,  1134,  1077,  1189,  1151,   945,
1325
    1138,  1140,  1161,  1090,  1179,  1177,  1187,  1143,  1194,  1200,
1326
    1028,   990,   917,   798,  1083,   165,  1127,   352,   860,   205,
1327
     996,   936,   165,   498,   545,   545,   483,   668,   771,   915,
1328
     116,   116,   393,  1030,   995,   968,   893,  1007,   878,   971,
1329
    1090,  1175,   669,   455,  1147,  1006,  1150,  1117,  1068,  1152,
1330
    1153,   945,  1146,  1126,  1155,   671,  1169,  1174,   660,   165,
1331
     945,   545,   351,   545,   545,  1131,   911,   116,  1099,   116,
1332
     116,   749,   173,   459,  1160,   609,  1137,   780,   738,   712,
1333
     649,     0,   773,  1038,     0,     0,  1039,     0,  1176,     0,
1334
       0,     0,     0,     0,     0,     0,   165,     0,     0,     0,
1335
    1181,   132,    28,    29,    30,    31,   132,    28,    29,    30,
1336
      31,     0,     0,     0,   813,   814,   815,   816,   817,   818,
1337
     819,   820,   821,   822,   545,     0,     0,   545,     0,   545,
1338
     116,     0,  1068,   116,     0,   116,  1163,     0,     0,   823,
1339
       0,     0,     0,     0,  1163,   162,    57,    58,    80,   173,
1340
     162,    57,    58,     0,   163,   604,   608,   612,   612,   163,
1341
    -202,  1163,     0,     0,     0,     0,     0,     0,  1114,     0,
1342
       0,     0,     0,  -263,     0,   823,     0,   545,     0,    80,
1343
    1123,     0,     0,   116,    80,  1128,  1129,     0,   545,   393,
1344
     173,     0,  1132,  1133,   116,   382,   383,   384,   385,   386,
1345
     387,   388,   389,   164,   390,     0,     0,     0,   164,     0,
1346
      91,     0,     0,     0,   391,    91,     0,     0,     0,     0,
1347
       0,   641,     0,   612,   612,   644,   813,   814,   815,   816,
1348
     817,   818,   819,   820,   821,   822,     0,   420,  1167,   421,
1349
     422,   423,   424,   230,   231,   232,   425,   426,     0,    11,
1350
       0,     0,     0,     0,   941,     0,     0,     0,     0,     0,
1351
      80,   211,  -359,     0,   427,     0,     0,     0,     0,     0,
1352
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1353
     943,     0,     0,     0,  1199,  -130,    12,    13,     0,     0,
1354
       0,    14,   235,    15,    16,    17,    18,    19,    20,    21,
1355
      22,    23,     0,   428,    80,   237,   238,    25,    26,   429,
1356
      28,    29,    30,    31,     0,     0,    33,     0,     0,   430,
1357
     431,   432,   244,   245,   246,   247,   248,   249,   250,   251,
1358
     252,   253,   254,   255,   256,   257,   258,   259,   260,   433,
1359
     262,   263,   264,   434,   435,   267,   268,   269,   270,   271,
1360
     272,   273,   274,   436,   276,   277,   278,   279,   280,     0,
1361
       0,     0,   437,   282,   283,   438,   439,     0,   286,   287,
1362
     288,   289,   290,   291,   292,   440,   441,   295,   442,   443,
1363
     444,   445,   446,   447,   448,   449,   450,    80,    81,    82,
1364
       0,     0,     0,     0,     0,     0,     0,     0,     0,    84,
1365
       0,     0,     0,     0,     0,   451,     0,     0,     0,     0,
1366
       0,    86,   452,     0,     0,    88,    89,    90,    91,   420,
1367
       0,   421,   422,   423,   424,   230,   231,   232,   425,   426,
1368
       0,    11,     0,     0,     0,     0,   813,   814,   815,   816,
1369
     817,   818,   819,   820,   821,   822,   427,     0,     0,     0,
1370
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1371
       0,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1372
      80,     0,     0,    14,   235,    15,    16,    17,    18,    19,
1373
      20,    21,    22,    23,    80,   428,     0,   237,   238,    25,
1374
      26,   429,    28,    29,    30,    31,     0,  1170,    33,     0,
1375
       0,   430,   431,   432,   244,   245,   246,   247,   248,   249,
1376
     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1377
     260,   433,   262,   263,   264,   434,   435,   267,   268,   269,
1378
     270,   271,   272,   273,   274,   436,   276,   277,   278,   279,
1379
     280,     0,     0,     0,   437,   282,   283,   438,   439,     0,
1380
     286,   287,   288,   289,   290,   291,   292,   440,   441,   295,
1381
     442,   443,   444,   445,   446,   447,   448,   449,   450,    80,
1382
      81,    82,     0,     0,     0,     0,     0,     0,     0,     0,
1383
       0,    84,     0,     0,     0,     0,     0,   451,     0,     0,
1384
       0,     0,     0,    86,   468,     0,     0,    88,    89,    90,
1385
      91,   420,     0,   421,   422,   423,   424,   230,   231,   232,
1386
     425,   426,     0,    11,     0,     0,     0,     0,   813,   814,
1387
     815,   816,   817,   818,   819,   820,   821,   822,   427,  -608,
1388
    -608,  -608,  -608,   381,   382,   383,   384,   385,   386,   387,
1389
     388,   389,     0,   390,     0,     0,     0,     0,     0,     0,
1390
      12,    13,    80,   391,     0,    14,   235,    15,    16,    17,
1391
      18,    19,    20,    21,    22,    23,     0,   428,     0,   237,
1392
     238,    25,    26,   429,    28,    29,    30,    31,     0,  1178,
1393
      33,     0,     0,   430,   431,   432,   244,   245,   246,   247,
1394
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1395
     258,   259,   260,   433,   262,   263,   264,   434,   435,   267,
1396
     268,   269,   270,   271,   272,   273,   274,   436,   276,   277,
1397
     278,   279,   280,     0,     0,     0,   437,   282,   283,   438,
1398
     439,     0,   286,   287,   288,   289,   290,   291,   292,   440,
1399
     441,   295,   442,   443,   444,   445,   446,   447,   448,   449,
1400
     450,    80,    81,    82,     0,     0,     0,     0,     0,     0,
1401
       0,     0,     0,    84,     0,     0,     0,     0,     0,   451,
1402
       0,     0,     0,     0,     0,    86,   736,     0,     0,    88,
1403
      89,    90,    91,   420,     0,   421,   422,   423,   424,   230,
1404
     231,   232,   425,   426,     0,    11,   813,   814,   815,   816,
1405
     817,   818,   819,   820,   821,   822,     0,     0,     0,     0,
1406
     427,     0,     0,     0,   402,   403,   404,   405,   406,   407,
1407
     408,   409,   410,   411,   412,   413,   414,   415,     0,     0,
1408
       0,     0,    12,    13,     0,     0,     0,    14,   235,    15,
1409
      16,    17,    18,    19,    20,    21,    22,    23,     0,   428,
1410
       0,   237,   238,    25,    26,   429,    28,    29,    30,    31,
1411
       0,     0,    33,     0,     0,   430,   431,   432,   244,   245,
1412
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1413
     256,   257,   258,   259,   260,   433,   262,   263,   264,   434,
1414
     435,   267,   268,   269,   270,   271,   272,   273,   274,   436,
1415
     276,   277,   278,   279,   280,     0,     0,     0,   437,   282,
1416
     283,   438,   439,     0,   286,   287,   288,   289,   290,   291,
1417
     292,   440,   441,   295,   442,   443,   444,   445,   446,   447,
1418
     448,   449,   450,    80,    81,    82,     0,     4,     0,     5,
1419
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1420
       0,   451,   416,   417,     0,  -562,  -562,    86,  -358,     0,
1421
    -360,    88,    89,    90,    91,     0,     0,  -562,   813,   814,
1422
     815,   816,   817,   818,   819,   820,   821,   822,     0,  -562,
1423
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1424
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1425
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1426
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1427
      35,    36,    37,     0,    38,    39,    40,     0,    41,     0,
1428
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1429
      46,    47,    48,    49,    50,    51,    52,    53,     0,     0,
1430
      54,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1431
       0,     0,    59,     0,    60,    61,    62,    63,    64,    65,
1432
      66,    67,     0,     0,    68,    69,    70,     0,    71,    72,
1433
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1434
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1435
       9,    10,     0,    11,     0,     0,     0,     0,     0,     0,
1436
      85,    86,     0,    87,   796,    88,    89,    90,    91,     0,
1437
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1438
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1439
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1440
      18,    19,    20,    21,    22,    23,     0,    24,     0,     0,
1441
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1442
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1443
      40,     0,    41,     0,    42,     0,    43,     0,     0,    44,
1444
       0,     0,     0,    45,    46,    47,    48,    49,    50,    51,
1445
      52,    53,     0,     0,    54,     0,    55,    56,    57,    58,
1446
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1447
      62,    63,    64,    65,    66,    67,     0,     0,    68,    69,
1448
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1449
      79,    80,    81,    82,    83,     4,     0,     5,     6,     7,
1450
       8,     0,     0,    84,     9,    10,     0,    11,     0,     0,
1451
       0,     0,     0,     0,    85,    86,     0,    87,   884,    88,
1452
      89,    90,    91,     0,     0,     0,     0,     0,     0,     0,
1453
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1454
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1455
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1456
       0,    24,     0,     0,     0,    25,    26,    27,    28,    29,
1457
      30,    31,    32,     0,    33,     0,     0,    34,    35,    36,
1458
      37,     0,    38,    39,    40,     0,    41,     0,    42,     0,
1459
      43,     0,     0,    44,     0,     0,     0,    45,    46,    47,
1460
      48,    49,    50,    51,    52,    53,     0,     0,    54,     0,
1461
      55,    56,    57,    58,     0,     0,     0,     0,     0,     0,
1462
      59,     0,    60,    61,    62,    63,    64,    65,    66,    67,
1463
       0,     0,    68,    69,    70,     0,    71,    72,    73,    74,
1464
      75,    76,    77,    78,    79,    80,    81,    82,    83,     4,
1465
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1466
       0,    11,     0,     0,   941,     0,     0,     0,    85,    86,
1467
       0,    87,  -359,    88,    89,    90,    91,   942,     0,     0,
1468
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1469
     943,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1470
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1471
      20,    21,    22,    23,    80,    24,     0,     0,     0,    25,
1472
      26,    27,    28,    29,    30,    31,    32,     0,    33,     0,
1473
       0,    34,    35,    36,    37,     0,    38,    39,    40,     0,
1474
      41,   944,    42,     0,    43,     0,     0,    44,     0,     0,
1475
       0,    45,    46,    47,    48,    49,    50,     0,    52,    53,
1476
       0,     0,     0,     0,    55,    56,    57,    58,     0,     0,
1477
       0,     0,     0,     0,    59,     0,    60,    61,    62,   543,
1478
      64,    65,    66,    67,     0,     0,     0,    69,    70,     0,
1479
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1480
      81,    82,    83,     4,     0,     5,     6,     7,     8,     0,
1481
       0,    84,     9,    10,     0,    11,     0,     0,     0,     0,
1482
       0,     0,    85,    86,     0,    87,   544,    88,    89,    90,
1483
      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1485
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1486
      16,    17,    18,    19,    20,    21,    22,    23,     0,    24,
1487
       0,     0,     0,    25,    26,    27,    28,    29,    30,    31,
1488
      32,     0,    33,     0,     0,    34,    35,    36,    37,     0,
1489
      38,    39,    40,     0,    41,     0,    42,     0,    43,     0,
1490
       0,    44,     0,     0,     0,    45,    46,    47,    48,    49,
1491
      50,     0,    52,    53,     0,     0,     0,     0,    55,    56,
1492
      57,    58,     0,     0,     0,     0,     0,     0,    59,     0,
1493
      60,    61,    62,   543,    64,    65,    66,    67,     0,     0,
1494
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1495
      77,    78,    79,    80,    81,    82,    83,     4,     0,     5,
1496
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1497
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1498
     661,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1499
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1501
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1502
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1503
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1504
      35,    36,    37,   811,    38,    39,    40,     0,    41,     0,
1505
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1506
      46,    47,    48,    49,    50,     0,    52,    53,     0,     0,
1507
       0,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1508
       0,     0,    59,     0,    60,    61,    62,   543,    64,    65,
1509
      66,    67,     0,     0,     0,    69,    70,     0,    71,    72,
1510
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1511
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1512
       9,    10,     0,    11,     0,     0,   941,     0,     0,     0,
1513
      85,    86,     0,    87,  -359,    88,    89,    90,    91,   942,
1514
       0,     0,   813,   814,   815,   816,   817,   818,   819,   820,
1515
     821,   822,   943,     0,     0,     0,     0,     0,     0,     0,
1516
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1517
      18,    19,    20,    21,    22,    23,    80,    24,     0,     0,
1518
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1519
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1520
      40,   910,    41,  1010,    42,     0,    43,     0,     0,    44,
1521
       0,     0,     0,    45,    46,    47,    48,    49,    50,     0,
1522
      52,    53,     0,     0,     0,     0,    55,    56,    57,    58,
1523
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1524
      62,   543,    64,    65,    66,    67,     0,     0,     0,    69,
1525
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1526
      79,    80,    81,    82,    83,     4,     0,     5,     6,     7,
1527
       8,     0,     0,    84,     9,    10,     0,    11,     0,     0,
1528
     941,     0,     0,     0,    85,    86,     0,    87,  -359,    88,
1529
      89,    90,    91,   942,     0,     0,   813,   814,   815,   816,
1530
     817,   818,   819,   820,   821,   822,   943,     0,     0,     0,
1531
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1532
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1533
      80,    24,     0,     0,     0,    25,    26,    27,    28,    29,
1534
      30,    31,    32,     0,    33,     0,     0,    34,    35,    36,
1535
      37,     0,    38,    39,    40,     0,    41,  1044,    42,     0,
1536
      43,   987,     0,    44,     0,     0,     0,    45,    46,    47,
1537
      48,    49,    50,     0,    52,    53,     0,     0,     0,     0,
1538
      55,    56,    57,    58,     0,     0,     0,     0,     0,     0,
1539
      59,     0,    60,    61,    62,   543,    64,    65,    66,    67,
1540
       0,     0,     0,    69,    70,     0,    71,    72,    73,    74,
1541
      75,    76,    77,    78,    79,    80,    81,    82,    83,     4,
1542
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1543
       0,    11,     0,     0,   941,     0,     0,     0,    85,    86,
1544
       0,    87,  -359,    88,    89,    90,    91,   942,     0,     0,
1545
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1546
     943,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1547
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1548
      20,    21,    22,    23,    80,    24,     0,     0,     0,    25,
1549
      26,    27,    28,    29,    30,    31,    32,     0,    33,     0,
1550
       0,    34,    35,    36,    37,     0,    38,    39,    40,     0,
1551
      41,  1062,    42,  1031,    43,     0,     0,    44,     0,     0,
1552
       0,    45,    46,    47,    48,    49,    50,     0,    52,    53,
1553
       0,     0,     0,     0,    55,    56,    57,    58,     0,     0,
1554
       0,     0,     0,     0,    59,     0,    60,    61,    62,   543,
1555
      64,    65,    66,    67,     0,     0,     0,    69,    70,     0,
1556
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1557
      81,    82,    83,     4,     0,     5,     6,     7,     8,     0,
1558
       0,    84,     9,    10,     0,    11,     0,     0,   941,     0,
1559
       0,     0,    85,    86,     0,    87,  -359,    88,    89,    90,
1560
      91,   942,     0,     0,   813,   814,   815,   816,   817,   818,
1561
     819,   820,   821,   822,   943,     0,     0,     0,     0,     0,
1562
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1563
      16,    17,    18,    19,    20,    21,    22,    23,    80,    24,
1564
       0,     0,     0,    25,    26,    27,    28,    29,    30,    31,
1565
      32,     0,    33,     0,     0,    34,    35,    36,    37,     0,
1566
      38,    39,    40,     0,    41,  1102,    42,     0,    43,     0,
1567
       0,    44,     0,     0,     0,    45,    46,    47,    48,    49,
1568
      50,     0,    52,    53,     0,     0,     0,     0,    55,    56,
1569
      57,    58,     0,     0,     0,     0,     0,     0,    59,     0,
1570
      60,    61,    62,   543,    64,    65,    66,    67,     0,     0,
1571
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1572
      77,    78,    79,    80,    81,    82,    83,     4,     0,     5,
1573
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1574
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1575
    1043,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1576
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1577
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1578
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1579
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1580
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1581
      35,    36,    37,     0,    38,    39,    40,     0,    41,  1112,
1582
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1583
      46,    47,    48,    49,    50,     0,    52,    53,     0,     0,
1584
       0,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1585
       0,     0,    59,     0,    60,    61,    62,   543,    64,    65,
1586
      66,    67,     0,     0,     0,    69,    70,     0,    71,    72,
1587
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1588
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1589
       9,    10,     0,    11,     0,     0,   941,     0,     0,     0,
1590
      85,    86,     0,    87,  -359,    88,    89,    90,    91,   942,
1591
       0,     0,   813,   814,   815,   816,   817,   818,   819,   820,
1592
     821,   822,   943,     0,     0,     0,     0,     0,     0,     0,
1593
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1594
      18,    19,    20,    21,    22,    23,    80,    24,     0,     0,
1595
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1596
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1597
      40,     0,    41,  1111,    42,     0,    43,     0,     0,    44,
1598
       0,     0,     0,    45,    46,    47,    48,    49,    50,     0,
1599
      52,    53,     0,     0,     0,     0,    55,    56,    57,    58,
1600
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1601
      62,   543,    64,    65,    66,    67,     0,     0,     0,    69,
1602
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1603
      79,    80,    81,    82,    83,     4,     0,     5,     6,     7,
1604
       8,     0,     0,    84,     9,    10,     0,    11,     0,     0,
1605
       0,     0,     0,     0,    85,    86,     0,    87,  1157,    88,
1606
      89,    90,    91,     0,     0,     0,     0,     0,     0,     0,
1607
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1608
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1609
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1610
       0,    24,     0,     0,     0,    25,    26,    27,    28,    29,
1611
      30,    31,    32,     0,    33,     0,     0,    34,    35,    36,
1612
      37,     0,    38,    39,    40,     0,    41,     0,    42,     0,
1613
      43,     0,     0,    44,     0,     0,     0,    45,    46,    47,
1614
      48,    49,    50,     0,    52,    53,     0,     0,     0,     0,
1615
      55,    56,    57,    58,     0,     0,     0,     0,     0,     0,
1616
      59,     0,    60,    61,    62,   543,    64,    65,    66,    67,
1617
       0,     0,     0,    69,    70,     0,    71,    72,    73,    74,
1618
      75,    76,    77,    78,    79,    80,    81,    82,    83,     4,
1619
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1620
       0,    11,     0,     0,     0,     0,     0,     0,    85,    86,
1621
       0,    87,  1158,    88,    89,    90,    91,     0,     0,     0,
1622
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623
       0,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1624
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1625
      20,    21,    22,    23,     0,    24,     0,     0,     0,    25,
1626
      26,    27,    28,    29,    30,    31,    32,     0,    33,     0,
1627
       0,    34,    35,    36,    37,     0,    38,    39,    40,     0,
1628
      41,     0,    42,     0,    43,     0,     0,    44,     0,     0,
1629
       0,    45,    46,    47,    48,    49,    50,     0,    52,    53,
1630
       0,     0,     0,     0,    55,    56,    57,    58,     0,     0,
1631
       0,     0,     0,     0,    59,     0,    60,    61,    62,   543,
1632
      64,    65,    66,    67,     0,     0,     0,    69,    70,     0,
1633
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1634
      81,    82,    83,     4,     0,     5,     6,     7,     8,     0,
1635
       0,    84,     9,    10,     0,    11,     0,     0,     0,     0,
1636
       0,     0,    85,    86,     0,    87,  1159,    88,    89,    90,
1637
      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1638
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1639
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1640
      16,    17,    18,    19,    20,    21,    22,    23,     0,    24,
1641
       0,     0,     0,    25,    26,    27,    28,    29,    30,    31,
1642
      32,     0,    33,     0,     0,    34,    35,    36,    37,     0,
1643
      38,    39,    40,     0,    41,     0,    42,     0,    43,     0,
1644
       0,    44,     0,     0,     0,    45,    46,    47,    48,    49,
1645
      50,     0,    52,    53,     0,     0,     0,     0,    55,    56,
1646
      57,    58,     0,     0,     0,     0,     0,     0,    59,     0,
1647
      60,    61,    62,   543,    64,    65,    66,    67,     0,     0,
1648
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1649
      77,    78,    79,    80,    81,    82,    83,     4,     0,     5,
1650
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1651
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1652
    1193,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1653
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1654
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1655
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1656
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1657
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1658
      35,    36,    37,     0,    38,    39,    40,     0,    41,     0,
1659
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1660
      46,    47,    48,    49,    50,     0,    52,    53,     0,     0,
1661
       0,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1662
       0,     0,    59,     0,    60,    61,    62,   543,    64,    65,
1663
      66,    67,     0,     0,     0,    69,    70,     0,    71,    72,
1664
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1665
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1666
       9,    10,     0,    11,     0,     0,     0,     0,     0,     0,
1667
      85,    86,     0,    87,  1203,    88,    89,    90,    91,     0,
1668
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1669
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1670
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1671
      18,    19,    20,    21,    22,    23,     0,    24,     0,     0,
1672
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1673
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1674
      40,     0,    41,     0,    42,     0,    43,     0,     0,    44,
1675
       0,     0,     0,    45,    46,    47,    48,    49,    50,     0,
1676
      52,    53,     0,     0,     0,     0,    55,    56,    57,    58,
1677
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1678
      62,   543,    64,    65,    66,    67,     0,     0,     0,    69,
1679
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1680
      79,    80,    81,    82,    83,     0,     0,     0,     0,     0,
1681
       0,     0,   225,    84,   226,   227,   228,   229,   230,   231,
1682
     232,   233,   234,     0,    85,    86,     0,    87,     0,    88,
1683
      89,    90,    91,    49,    50,     0,     0,     0,     0,     0,
1684
       0,     0,     0,   350,    57,    58,     0,     0,     0,     0,
1685
       0,     0,   163,     0,     0,     0,     0,     0,    64,    65,
1686
      66,    67,     0,     0,     0,     0,     0,   235,     0,     0,
1687
       0,     0,     0,     0,     0,     0,     0,    80,   236,     0,
1688
     237,   238,     0,     0,   239,     0,     0,     0,    31,     0,
1689
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
1690
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1691
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1692
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
1693
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
1694
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
1695
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
1696
     303,   304,   225,     0,   226,   227,   228,   229,   230,   231,
1697
     232,   233,   234,     0,     0,     0,     0,     0,     0,     0,
1698
       0,     0,     0,     0,     0,     0,     0,     0,   602,     0,
1699
       0,     0,     0,    91,   369,   370,   371,   372,   373,   374,
1700
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1701
     385,   386,   387,   388,   389,     0,   390,   235,     0,     0,
1702
       0,     0,     0,     0,     0,     0,   391,     0,   236,     0,
1703
     237,   238,     0,     0,   239,     0,     0,     0,    31,     0,
1704
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
1705
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1706
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1707
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
1708
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
1709
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
1710
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
1711
     303,   304,     4,     0,     5,     6,     7,     8,     0,     0,
1712
       0,     9,    10,     0,    11,     0,     0,     0,     0,     0,
1713
       0,     0,     0,     0,     0,     0,     0,     0,   606,     0,
1714
     742,     0,     0,    91,     0,     0,     0,     0,     0,     0,
1715
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716
       0,    12,    13,     0,     0,     0,    14,     0,    15,    16,
1717
      17,    18,    19,    20,    21,    22,    23,     0,    24,     0,
1718
       0,     0,    25,    26,    27,    28,    29,    30,    31,    32,
1719
       0,    33,     0,     0,    34,    35,    36,    37,     0,    38,
1720
      39,    40,     0,    41,     0,    42,     0,    43,     0,     0,
1721
      44,     0,     0,     0,    45,    46,    47,    48,    49,    50,
1722
       0,    52,    53,     0,     0,     0,     0,    55,    56,     0,
1723
       0,     0,     0,     0,     0,     0,     0,   134,     0,    60,
1724
      61,    62,     0,     0,     0,     0,     0,     0,     0,     0,
1725
      69,    70,     0,    71,    72,    73,    74,    75,    76,    77,
1726
      78,    79,    80,    81,    82,    83,     4,     0,     5,     6,
1727
       7,     8,     0,     0,    84,     9,    10,     0,    11,     0,
1728
       0,     0,     0,     0,     0,    85,    86,     0,    87,     0,
1729
      88,    89,    90,    91,   745,     0,     0,     0,     0,     0,
1730
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731
       0,     0,     0,     0,     0,    12,    13,     0,     0,     0,
1732
      14,     0,    15,    16,    17,    18,    19,    20,    21,    22,
1733
      23,     0,    24,     0,     0,     0,    25,    26,    27,    28,
1734
      29,    30,    31,    32,     0,    33,     0,     0,    34,    35,
1735
      36,    37,     0,    38,    39,    40,     0,    41,     0,    42,
1736
       0,    43,     0,     0,    44,     0,     0,     0,    45,    46,
1737
      47,    48,    49,    50,     0,    52,    53,     0,     0,     0,
1738
       0,    55,    56,     0,     0,     0,     0,     0,     0,     0,
1739
       0,   134,     0,    60,    61,    62,     0,     0,     0,     0,
1740
       0,     0,     0,     0,    69,    70,     0,    71,    72,    73,
1741
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1742
       4,     0,     5,     6,     7,     8,     0,     0,    84,     9,
1743
      10,     0,    11,     0,     0,     0,     0,     0,     0,    85,
1744
      86,     0,    87,     0,    88,    89,    90,    91,   848,     0,
1745
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1746
       0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
1747
      13,     0,     0,     0,    14,     0,    15,    16,    17,    18,
1748
      19,    20,    21,    22,    23,     0,    24,     0,     0,     0,
1749
      25,    26,    27,    28,    29,    30,    31,    32,     0,    33,
1750
       0,     0,    34,    35,    36,    37,     0,    38,    39,    40,
1751
       0,    41,     0,    42,     0,    43,     0,     0,    44,     0,
1752
       0,     0,    45,    46,    47,    48,    49,    50,     0,    52,
1753
      53,     0,     0,     0,     0,    55,    56,     0,     0,     0,
1754
       0,     0,     0,     0,     0,   134,     0,    60,    61,    62,
1755
       0,     0,     0,     0,     0,     0,     0,     0,    69,    70,
1756
       0,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1757
      80,    81,    82,    83,     4,     0,     5,     6,     7,     8,
1758
       0,     0,    84,     9,    10,     0,    11,     0,     0,     0,
1759
       0,     0,     0,    85,    86,     0,    87,     0,    88,    89,
1760
      90,    91,   916,     0,     0,     0,     0,     0,     0,     0,
1761
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1762
       0,     0,     0,    12,    13,     0,     0,     0,    14,     0,
1763
      15,    16,    17,    18,    19,    20,    21,    22,    23,     0,
1764
      24,     0,     0,     0,    25,    26,    27,    28,    29,    30,
1765
      31,    32,     0,    33,     0,     0,    34,    35,    36,    37,
1766
       0,    38,    39,    40,     0,    41,     0,    42,     0,    43,
1767
       0,     0,    44,     0,     0,     0,    45,    46,    47,    48,
1768
      49,    50,     0,    52,    53,     0,     0,     0,     0,    55,
1769
      56,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1770
       0,    60,    61,    62,     0,     0,     0,     0,     0,     0,
1771
       0,     0,    69,    70,     0,    71,    72,    73,    74,    75,
1772
      76,    77,    78,    79,    80,    81,    82,    83,     4,     0,
1773
       5,     6,     7,     8,     0,     0,    84,     9,    10,     0,
1774
      11,     0,     0,     0,     0,     0,     0,    85,    86,     0,
1775
      87,     0,    88,    89,    90,    91,  1027,     0,     0,     0,
1776
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1777
       0,     0,     0,     0,     0,     0,     0,    12,    13,     0,
1778
       0,     0,    14,     0,    15,    16,    17,    18,    19,    20,
1779
      21,    22,    23,     0,    24,     0,     0,     0,    25,    26,
1780
      27,    28,    29,    30,    31,    32,     0,    33,     0,     0,
1781
      34,    35,    36,    37,     0,    38,    39,    40,     0,    41,
1782
       0,    42,     0,    43,     0,     0,    44,     0,     0,     0,
1783
      45,    46,    47,    48,    49,    50,     0,    52,    53,     0,
1784
       0,     0,     0,    55,    56,     0,     0,     0,     0,     0,
1785
       0,     0,     0,   134,     0,    60,    61,    62,     0,     0,
1786
       0,     0,     0,     0,     0,     0,    69,    70,     0,    71,
1787
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1788
      82,    83,     4,     0,     5,     6,     7,     8,     0,     0,
1789
      84,     9,    10,     0,    11,     0,     0,     0,     0,     0,
1790
       0,    85,    86,     0,    87,     0,    88,    89,    90,    91,
1791
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1792
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793
       0,    12,    13,     0,     0,     0,    14,     0,    15,    16,
1794
      17,    18,    19,    20,    21,    22,    23,     0,    24,     0,
1795
       0,     0,    25,    26,    27,    28,    29,    30,    31,    32,
1796
       0,    33,     0,     0,    34,    35,    36,    37,     0,    38,
1797
      39,    40,     0,    41,     0,    42,     0,    43,     0,     0,
1798
      44,     0,     0,     0,    45,    46,    47,    48,    49,    50,
1799
       0,    52,    53,     0,     0,     0,     0,    55,    56,     0,
1800
       0,     0,     0,     0,     0,     0,     0,   134,     0,    60,
1801
      61,    62,     0,     0,     0,     0,     0,     0,     0,     0,
1802
      69,    70,     0,    71,    72,    73,    74,    75,    76,    77,
1803
      78,    79,    80,    81,    82,    83,     4,     0,     5,     6,
1804
       7,     8,     0,     0,    84,     9,    10,     0,    11,     0,
1805
       0,     0,     0,     0,     0,    85,    86,     0,    87,     0,
1806
      88,    89,    90,    91,     0,     0,     0,     0,     0,     0,
1807
     332,   333,     0,     0,     0,     0,     0,     0,     0,     0,
1808
       0,     0,     0,     0,     0,    12,    13,     0,     0,     0,
1809
      14,     0,    15,    16,    17,    18,    19,    20,    21,    22,
1810
      23,     0,    24,     0,     0,     0,    25,    26,   132,    28,
1811
      29,    30,    31,     0,     0,    33,     0,     0,    34,    35,
1812
      36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1813
       0,     0,     0,     0,     0,     0,     0,     0,    45,     0,
1814
       0,     0,    49,    50,     0,     0,     0,     0,     0,     0,
1815
       0,     0,   133,     0,     0,     0,     0,     0,     0,     0,
1816
       0,   134,     0,     0,    61,    62,     0,     0,     0,     0,
1817
       0,     0,     0,     0,   334,    70,     0,    71,    72,    73,
1818
      74,    75,    76,    77,    78,    79,    80,    81,    82,     0,
1819
       4,     0,     5,     6,     7,     8,     0,     0,    84,     9,
1820
      10,     0,    11,     0,   335,     0,     0,     0,     0,     0,
1821
      86,     0,     0,     0,    88,    89,    90,    91,     0,     0,
1822
       0,     0,     0,     0,   332,   333,     0,     0,     0,     0,
1823
       0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
1824
      13,     0,     0,     0,    14,     0,    15,    16,    17,    18,
1825
      19,    20,    21,    22,    23,     0,    24,     0,     0,     0,
1826
      25,    26,   132,    28,    29,    30,    31,     0,     0,    33,
1827
       0,     0,    34,    35,    36,     0,     0,     0,     0,     0,
1828
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1829
       0,     0,    45,     0,     0,     0,    49,    50,     0,     0,
1830
       0,     0,     0,     0,     0,     0,   133,     0,     0,     0,
1831
       0,     0,     0,     0,     0,   134,     0,     0,    61,    62,
1832
       0,     0,     0,     0,     0,     0,     0,     0,    69,    70,
1833
       0,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1834
      80,    81,    82,     0,     4,     0,     5,     6,     7,     8,
1835
       0,     0,    84,     9,    10,     0,    11,     0,     0,     0,
1836
       0,     0,     0,     0,    86,     0,     0,     0,    88,    89,
1837
      90,    91,     0,     0,     0,     0,     0,     0,   332,   333,
1838
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1839
       0,     0,     0,    12,    13,     0,     0,     0,    14,     0,
1840
      15,    16,    17,    18,    19,    20,    21,    22,    23,     0,
1841
      24,     0,     0,     0,    25,    26,   132,    28,    29,    30,
1842
      31,     0,     0,    33,     0,     0,    34,    35,    36,     0,
1843
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1844
       0,     0,     0,     0,     0,     0,    45,     0,     0,     0,
1845
      49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
1846
     133,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1847
       0,     0,    61,    62,     0,     0,     0,     0,     0,     0,
1848
       0,     0,   708,    70,     0,    71,    72,    73,    74,    75,
1849
      76,    77,    78,    79,    80,    81,    82,     0,     4,     0,
1850
       5,     6,     7,     8,     0,     0,    84,     9,    10,     0,
1851
      11,     0,     0,     0,     0,     0,     0,     0,    86,     0,
1852
       0,     0,    88,    89,    90,    91,     0,     0,     0,     0,
1853
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1854
       0,     0,     0,     0,     0,     0,     0,    12,    13,     0,
1855
       0,     0,    14,     0,    15,    16,    17,    18,    19,    20,
1856
      21,    22,    23,     0,    24,     0,     0,     0,    25,    26,
1857
     132,    28,    29,    30,    31,     0,     0,    33,     0,     0,
1858
      34,    35,    36,     0,     0,     0,     0,     0,     0,     0,
1859
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1860
      45,     0,     0,     0,    49,    50,     0,     0,     0,     0,
1861
       0,     0,     0,     0,   133,     0,     0,     0,     0,     0,
1862
       0,     0,     0,   134,     0,     0,    61,    62,     0,     0,
1863
       0,     0,     0,     0,     0,     0,    69,    70,     0,    71,
1864
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1865
      82,   478,     4,     0,     5,     6,     7,     8,     0,     0,
1866
      84,     9,    10,     0,    11,     0,     0,     0,     0,     0,
1867
       0,     0,    86,     0,     0,     0,    88,    89,    90,    91,
1868
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1869
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1870
       0,    12,    13,     0,     0,     0,    14,     0,    15,    16,
1871
      17,    18,    19,    20,    21,    22,    23,     0,    24,     0,
1872
       0,     0,    25,    26,   132,    28,    29,    30,    31,     0,
1873
       0,    33,   536,     0,    34,    35,    36,     0,     0,     0,
1874
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1875
       0,     0,     0,     0,    45,     0,     0,     0,    49,    50,
1876
       0,     0,     0,     0,     0,     0,     0,     0,   133,     0,
1877
       0,     0,     0,     0,     0,     0,     0,   134,     0,     0,
1878
      61,    62,     0,     0,     0,     0,     0,     0,     0,     0,
1879
      69,    70,     0,    71,    72,    73,    74,    75,    76,    77,
1880
      78,    79,    80,    81,    82,     0,     4,     0,     5,     6,
1881
       7,     8,     0,     0,    84,     9,    10,     0,    11,     0,
1882
       0,     0,     0,     0,     0,     0,    86,     0,     0,     0,
1883
      88,    89,    90,    91,   568,     0,     0,     0,     0,     0,
1884
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1885
       0,     0,     0,     0,     0,    12,    13,     0,     0,     0,
1886
      14,     0,    15,    16,    17,    18,    19,    20,    21,    22,
1887
      23,     0,    24,     0,     0,     0,    25,    26,   132,    28,
1888
      29,    30,    31,     0,     0,    33,     0,     0,    34,    35,
1889
      36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1890
       0,     0,     0,     0,     0,     0,     0,     0,    45,     0,
1891
       0,     0,    49,    50,     0,     0,     0,     0,     0,     0,
1892
       0,     0,   133,     0,     0,     0,     0,     0,     0,     0,
1893
       0,   134,     0,     0,    61,    62,     0,     0,     0,     0,
1894
       0,     0,     0,     0,    69,    70,     0,    71,    72,    73,
1895
      74,    75,    76,    77,    78,    79,    80,    81,    82,     0,
1896
       4,     0,     5,     6,     7,     8,     0,     0,    84,     9,
1897
      10,     0,    11,     0,     0,     0,     0,     0,     0,     0,
1898
      86,     0,     0,     0,    88,    89,    90,    91,   -47,     0,
1899
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1900
       0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
1901
      13,     0,     0,     0,    14,     0,    15,    16,    17,    18,
1902
      19,    20,    21,    22,    23,     0,    24,     0,     0,     0,
1903
      25,    26,   132,    28,    29,    30,    31,     0,     0,    33,
1904
       0,     0,    34,    35,    36,     0,     0,     0,     0,     0,
1905
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1906
       0,     0,    45,     0,     0,     0,    49,    50,     0,     0,
1907
       0,     0,     0,     0,     0,     0,   133,     0,     0,     0,
1908
       0,     0,     0,     0,     0,   134,     0,     0,    61,    62,
1909
       0,     0,     0,     0,     0,     0,     0,     0,    69,    70,
1910
       0,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1911
      80,    81,    82,     0,     0,     4,     0,     5,     6,     7,
1912
       8,     0,    84,     0,     9,    10,     0,    11,     0,     0,
1913
       0,     0,     0,     0,    86,     0,     0,     0,    88,    89,
1914
      90,    91,   732,     0,     0,     0,     0,     0,     0,     0,
1915
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1916
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1917
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1918
       0,    24,     0,     0,     0,    25,    26,   132,    28,    29,
1919
      30,    31,     0,     0,    33,     0,     0,    34,    35,    36,
1920
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1921
       0,     0,     0,     0,     0,     0,     0,    45,     0,     0,
1922
       0,    49,    50,     0,     0,     0,     0,     0,     0,     0,
1923
       0,   133,     0,     0,     0,     0,     0,     0,     0,     0,
1924
     134,     0,     0,    61,    62,     0,     0,     0,     0,     0,
1925
       0,     0,     0,    69,    70,     0,    71,    72,    73,    74,
1926
      75,    76,    77,    78,    79,    80,    81,    82,     0,     4,
1927
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1928
       0,    11,     0,     0,     0,     0,     0,     0,     0,    86,
1929
       0,     0,     0,    88,    89,    90,    91,     0,     0,     0,
1930
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1931
       0,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1932
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1933
      20,    21,    22,    23,     0,    24,     0,     0,     0,    25,
1934
      26,   132,    28,    29,    30,    31,     0,     0,    33,     0,
1935
       0,    34,    35,    36,     0,     0,     0,     0,     0,     0,
1936
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1937
       0,    45,     0,     0,     0,    49,    50,     0,     0,     0,
1938
       0,     0,     0,     0,     0,   133,     0,     0,     0,     0,
1939
       0,     0,     0,     0,   134,     0,     0,    61,    62,     0,
1940
       0,     0,     0,     0,     0,     0,     0,    69,    70,     0,
1941
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1942
      81,    82,   751,     4,     0,     5,     6,     7,     8,     0,
1943
       0,    84,     9,    10,     0,    11,     0,     0,     0,     0,
1944
       0,     0,     0,    86,     0,     0,     0,    88,    89,    90,
1945
      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1946
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1947
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1948
      16,    17,    18,    19,    20,    21,    22,    23,     0,    24,
1949
       0,     0,     0,    25,    26,   132,    28,    29,    30,    31,
1950
       0,     0,    33,     0,     0,    34,    35,    36,     0,     0,
1951
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1952
       0,     0,     0,     0,   855,    45,     0,     0,     0,    49,
1953
      50,     0,     0,     0,     0,     0,     0,     0,     0,   133,
1954
       0,     0,     0,     0,     0,     0,     0,     0,   134,     0,
1955
       0,    61,    62,     0,     0,     0,     0,     0,     0,     0,
1956
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1957
      77,    78,    79,    80,    81,    82,     0,     4,     0,     5,
1958
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1959
       0,     0,     0,     0,     0,     0,     0,    86,     0,     0,
1960
       0,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1961
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1962
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1963
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1964
      22,    23,     0,    24,     0,     0,     0,    25,    26,   132,
1965
      28,    29,    30,    31,     0,     0,    33,     0,     0,    34,
1966
      35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
1967
       0,     0,     0,     0,     0,     0,     0,     0,     0,    45,
1968
       0,     0,     0,    49,    50,     0,     0,     0,     0,     0,
1969
       0,     0,     0,   133,     0,     0,     0,     0,     0,     0,
1970
       0,     0,   134,     0,     0,    61,    62,     0,     0,     0,
1971
       0,     0,     0,     0,     0,    69,    70,     0,    71,    72,
1972
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1973
       0,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1974
       9,    10,     0,    11,     0,     0,     0,     0,     0,     0,
1975
       0,    86,     0,     0,     0,    88,    89,    90,    91,     0,
1976
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1977
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1978
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1979
      18,    19,    20,    21,    22,    23,     0,    24,     0,     0,
1980
       0,    25,    26,   132,    28,    29,    30,    31,     0,     0,
1981
      33,     0,     0,    34,    35,    36,     0,     0,     0,     0,
1982
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1983
       0,     0,     0,    45,     0,     0,     0,    49,    50,     0,
1984
       0,     0,     0,     0,     0,     0,     0,   133,     0,     0,
1985
       0,     0,     0,     0,     0,     0,   134,     0,     0,    61,
1986
      62,     0,     0,     0,     0,     0,     0,     0,     0,    69,
1987
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1988
      79,    80,    81,    82,     0,     0,     0,     0,     0,     0,
1989
       0,     0,   225,    84,   226,   227,   228,   229,   230,   231,
1990
     232,   233,   234,     0,     0,   157,     0,     0,     0,    88,
1991
      89,    90,    91,   364,     0,   365,   366,   367,   368,   369,
1992
     370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
1993
     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1994
       0,   390,     0,     0,     0,     0,     0,   235,     0,     0,
1995
       0,   391,     0,     0,     0,     0,     0,     0,   236,     0,
1996
     237,   238,     0,     0,   429,    28,    29,    30,     0,     0,
1997
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
1998
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1999
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2000
     267,   268,   269,   270,   271,   272,   273,   274,  1081,   276,
2001
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
2002
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
2003
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
2004
     303,   304,   225,     0,   226,   227,   228,   229,   230,   231,
2005
     232,   233,   234,     0,     0,     0,     0,     0,     0,     0,
2006
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1082,
2007
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2008
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2009
     385,   386,   387,   388,   389,     0,   390,   235,     0,     0,
2010
       0,     0,     0,     0,     0,     0,   391,     0,   236,     0,
2011
     237,   238,     0,     0,   429,    28,    29,    30,     0,     0,
2012
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
2013
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2014
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2015
     267,   268,   269,   270,   271,   272,   273,   274,  1081,   276,
2016
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
2017
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
2018
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
2019
     303,   304,     0,   225,     0,   226,   227,   228,   229,   230,
2020
     231,   232,   233,   234,     0,     0,     0,     0,     0,     0,
2021
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1116,
2022
     782,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2023
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2024
     386,   387,   388,   389,     0,   390,     0,     0,   235,     0,
2025
       0,     0,     0,     0,     0,   391,     0,     0,     0,   236,
2026
       0,   237,   238,     0,     0,  1054,    28,    29,    30,     0,
2027
       0,     0,     0,     0,     0,   241,   242,   243,   244,   245,
2028
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2029
     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2030
     266,   267,   268,   269,   270,   271,   272,   273,   274,  1055,
2031
     276,   277,   278,   279,   280,     0,     0,     0,   281,   282,
2032
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
2033
     292,   293,  1056,  1057,   296,   297,   298,   299,   300,   301,
2034
     302,   303,   304,     0,     0,   361,   362,   363,     0,     0,
2035
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2036
       0,     0,     0,     0,     0,     0,   364,   786,   365,   366,
2037
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
2038
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2039
     387,   388,   389,     0,   390,   361,   362,   363,     0,     0,
2040
       0,     0,     0,     0,   391,     0,     0,     0,     0,     0,
2041
       0,     0,     0,     0,     0,     0,   364,     0,   365,   366,
2042
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
2043
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2044
     387,   388,   389,     0,   390,   361,   362,   363,     0,     0,
2045
       0,     0,     0,     0,   391,     0,     0,     0,     0,     0,
2046
       0,     0,     0,     0,     0,     0,   364,     0,   365,   366,
2047
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
2048
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2049
     387,   388,   389,     0,   390,     0,   361,   362,   363,     0,
2050
       0,     0,     0,     0,   391,     0,     0,     0,     0,     0,
2051
       0,     0,     0,     0,     0,     0,   703,   364,     0,   365,
2052
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2053
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2054
     386,   387,   388,   389,     0,   390,   361,   362,   363,     0,
2055
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2056
       0,     0,     0,     0,     0,     0,   713,   364,     0,   365,
2057
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2058
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2059
     386,   387,   388,   389,     0,   390,   361,   362,   363,     0,
2060
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2061
       0,     0,     0,     0,     0,     0,   833,   364,     0,   365,
2062
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2063
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2064
     386,   387,   388,   389,     0,   390,     0,   361,   362,   363,
2065
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2066
       0,     0,     0,     0,     0,     0,     0,   834,   364,     0,
2067
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2068
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2069
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2070
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2071
       0,     0,     0,     0,     0,     0,     0,   835,   364,     0,
2072
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2073
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2074
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2075
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2076
       0,   637,     0,     0,     0,   542,     0,     0,   364,     0,
2077
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2078
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2079
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2080
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2081
       0,     0,     0,     0,     0,     0,   542,     0,   364,     0,
2082
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2083
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2084
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2085
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2086
       0,     0,     0,     0,     0,     0,   638,     0,   364,     0,
2087
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2088
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2089
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2090
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2091
       0,     0,     0,     0,     0,     0,   639,     0,   364,     0,
2092
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2093
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2094
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2095
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2096
       0,     0,     0,     0,     0,     0,   648,     0,   364,     0,
2097
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2098
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2099
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2100
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2101
       0,     0,     0,     0,     0,     0,   651,     0,   364,     0,
2102
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2103
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2104
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2105
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2106
       0,     0,     0,     0,     0,     0,   657,     0,   364,     0,
2107
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2108
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2109
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2110
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2111
       0,     0,     0,     0,     0,     0,   658,     0,   364,     0,
2112
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2113
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2114
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2115
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2116
       0,     0,     0,     0,     0,     0,   676,     0,   364,     0,
2117
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2118
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2119
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2120
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2121
       0,     0,     0,     0,     0,     0,   692,     0,   364,     0,
2122
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2123
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2124
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2125
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2126
       0,     0,     0,     0,     0,     0,   809,     0,   364,  1034,
2127
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2128
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2129
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2130
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2131
       0,     0,     0,     0,     0,     0,   810,     0,   364,     0,
2132
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2133
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2134
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2135
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2136
       0,     0,     0,     0,     0,     0,   838,     0,   364,     0,
2137
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2138
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2139
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2140
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2141
       0,     0,     0,     0,  1035,     0,     0,     0,   364,     0,
2142
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2143
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2144
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2145
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2146
       0,     0,     0,     0,   392,     0,     0,     0,   364,     0,
2147
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2148
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2149
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2150
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2151
       0,     0,     0,     0,   530,     0,     0,     0,   364,     0,
2152
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2153
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2154
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2155
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2156
       0,     0,   332,   333,  1202,     0,     0,     0,   364,     0,
2157
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2158
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2159
     385,   386,   387,   388,   389,     0,   390,     0,     0,     0,
2160
     132,    28,    29,    30,    31,     0,   391,    33,     0,     0,
2161
       0,   313,     0,   886,     0,     0,     0,     0,     0,     0,
2162
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2163
       0,   225,     0,   226,   227,   228,   229,   230,   231,   232,
2164
     233,   234,     0,     0,   162,     0,     0,     0,     0,     0,
2165
       0,     0,     0,   134,     0,     0,     0,     0,     0,     0,
2166
       0,     0,  -409,     0,     0,     0,   753,    70,     0,    71,
2167
      72,    73,    74,    75,    76,    77,    78,    79,     0,     0,
2168
       0,     0,     0,     0,     0,     0,   235,     0,     0,     0,
2169
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2170
     238,     0,   314,  1142,     0,     0,   754,     0,    90,    91,
2171
       0,     0,  -406,   241,   242,   243,   244,   245,   246,   247,
2172
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2173
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2174
     268,   269,   270,   271,   272,   273,   274,   813,   814,   815,
2175
     816,   817,   818,   819,   820,   821,   822,   282,   283,   284,
2176
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2177
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2178
     304,   225,   363,   226,   227,   228,   229,   230,   231,   232,
2179
     233,   234,     0,     0,     0,     0,     0,     0,     0,     0,
2180
       0,   364,     0,   365,   366,   367,   368,   369,   370,   371,
2181
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
2182
     382,   383,   384,   385,   386,   387,   388,   389,     0,   390,
2183
       0,     0,     0,     0,     0,     0,   235,     0,     0,   391,
2184
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2185
     238,     0,     0,   239,     0,     0,   240,     0,     0,     0,
2186
       0,     0,     0,   241,   242,   243,   244,   245,   246,   247,
2187
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2188
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2189
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2190
     278,   279,   280,     0,     0,     0,   281,   282,   283,   284,
2191
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2192
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2193
     304,   225,     0,   226,   227,   228,   229,   230,   231,   232,
2194
     233,   234,   368,   369,   370,   371,   372,   373,   374,   375,
2195
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2196
     386,   387,   388,   389,     0,   390,     0,     0,     0,     0,
2197
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2198
       0,     0,     0,     0,     0,     0,   235,     0,     0,     0,
2199
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2200
     238,     0,     0,   239,     0,     0,     0,     0,     0,     0,
2201
       0,     0,     0,   241,   242,   243,   244,   245,   246,   247,
2202
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2203
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2204
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2205
     278,   279,   280,     0,     0,     0,   281,   282,   283,   284,
2206
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2207
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2208
     304,   225,     0,   226,   227,   228,   229,   230,   231,   232,
2209
     233,   234,   370,   371,   372,   373,   374,   375,   376,   377,
2210
     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
2211
     388,   389,     0,   390,     0,     0,     0,     0,     0,     0,
2212
       0,     0,     0,   391,     0,     0,     0,     0,     0,     0,
2213
       0,     0,     0,     0,     0,     0,   235,     0,     0,     0,
2214
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2215
     238,     0,     0,  1098,     0,     0,     0,     0,     0,     0,
2216
       0,     0,     0,   241,   242,   243,   244,   245,   246,   247,
2217
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2218
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2219
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2220
     278,   279,   280,     0,     0,     0,   281,   282,   283,   284,
2221
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2222
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2223
     304,   132,    28,    29,    30,    31,     0,     0,    33,     0,
2224
       0,     0,   313,   372,   373,   374,   375,   376,   377,   378,
2225
     379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
2226
     389,     0,   390,     0,     0,     0,     0,     0,     0,     0,
2227
       0,     0,   391,     0,     0,   162,     0,     0,     0,     0,
2228
       0,     0,     0,     0,   134,     0,     0,     0,     0,     0,
2229
       0,     0,     0,     0,     0,     0,     0,     0,    70,     0,
2230
      71,    72,    73,    74,    75,    76,    77,    78,    79,     0,
2231
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2232
     361,   362,   363,     0,     0,     0,     0,     0,     0,     0,
2233
       0,     0,     0,   314,     0,     0,     0,   315,     0,    90,
2234
      91,   364,     0,   365,   366,   367,   368,   369,   370,   371,
2235
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
2236
     382,   383,   384,   385,   386,   387,   388,   389,     0,   390,
2237
       0,     0,     0,     0,     0,     0,     0,     0,     0,   391,
2238
       0,     0,     0,     0,     0,     0,     0,     0,     0,   361,
2239
     362,   363,     0,     0,   552,     0,     0,     0,     0,     0,
2240
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2241
     364,   655,   365,   366,   367,   368,   369,   370,   371,   372,
2242
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
2243
     383,   384,   385,   386,   387,   388,   389,     0,   390,   361,
2244
     362,   363,     0,     0,     0,     0,     0,     0,   391,     0,
2245
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2246
     364,   719,   365,   366,   367,   368,   369,   370,   371,   372,
2247
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
2248
     383,   384,   385,   386,   387,   388,   389,     0,   390,   361,
2249
     362,   363,     0,     0,     0,     0,     0,     0,   391,     0,
2250
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2251
     364,     0,   365,   366,   367,   368,   369,   370,   371,   372,
2252
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
2253
     383,   384,   385,   386,   387,   388,   389,     0,   390,   362,
2254
     363,     0,     0,     0,     0,     0,     0,     0,   391,     0,
2255
       0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
2256
       0,   365,   366,   367,   368,   369,   370,   371,   372,   373,
2257
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
2258
     384,   385,   386,   387,   388,   389,   419,   390,     0,     0,
2259
       0,     0,     0,     0,     0,     0,     0,   391,     0,     0,
2260
       0,     0,   364,     0,   365,   366,   367,   368,   369,   370,
2261
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
2262
     381,   382,   383,   384,   385,   386,   387,   388,   389,     0,
2263
     390,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2264
     391,  -608,  -608,  -608,  -608,  -608,   377,   378,   379,   380,
2265
     381,   382,   383,   384,   385,   386,   387,   388,   389,     0,
2266
     390,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2267
     391
2268
};
2269
2270
static const yytype_int16 yycheck[] =
2271
{
2272
       2,    35,   116,    94,    81,    82,     2,    56,    68,     2,
2273
      54,    80,    47,   776,   205,   829,    35,    52,   469,   197,
2274
      35,   766,    14,   137,   722,   770,    81,    82,    14,   684,
2275
     978,    14,   980,    35,  1023,  1009,  1025,    14,    14,     2,
2276
     521,    31,    31,    37,   135,    94,    75,    79,   760,   310,
2277
     311,    31,   966,    37,   315,   313,   507,   103,   104,    79,
2278
     511,    31,     0,   714,  1134,   103,   104,    58,    75,    81,
2279
      82,    79,    79,    79,   525,   166,    39,    68,    79,   875,
2280
      81,    35,   101,    31,   133,  1059,   135,   738,   169,   109,
2281
     110,  1161,   174,   827,   176,  1009,   177,   179,    94,   128,
2282
     100,    94,   177,     4,     5,     6,     7,     8,     9,    10,
2283
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2284
      21,    22,    23,    24,   782,    79,  1100,   177,   786,    79,
2285
     100,    81,   390,   831,   180,    81,    82,    38,   952,   851,
2286
     217,   853,   180,  1132,   940,    46,    47,   166,   167,   115,
2287
     116,    52,   184,   808,   177,   873,    81,    82,   166,   167,
2288
     168,   205,   217,   897,   898,   961,   167,   168,  1157,  1158,
2289
     170,   137,   179,   179,   100,   109,   110,   184,   184,   942,
2290
      79,   836,    83,    75,   178,    86,   178,    88,   177,   179,
2291
     177,  1180,   178,   938,   178,   178,   176,  1186,   177,  1188,
2292
     176,   178,   174,   179,   685,   217,   178,    71,    72,  1198,
2293
      75,    76,    77,    78,    79,   949,  1012,   167,   168,    30,
2294
     177,   879,   880,   881,   882,    89,   177,   945,    59,  1177,
2295
    1026,    75,    79,   183,    81,   169,   954,   120,   121,   399,
2296
     974,   975,   976,   977,   170,   128,    75,    76,    77,    78,
2297
     327,    79,   179,    81,   119,    79,   157,    81,   174,   336,
2298
     161,    92,   178,   164,    75,    76,    77,    78,   167,   168,
2299
     153,   217,   327,    79,   175,    81,   169,   178,   312,   313,
2300
     177,   336,   183,   184,   185,  1003,   187,   188,   549,   635,
2301
     119,   637,   217,  1011,   313,   174,   175,   312,   313,   178,
2302
     646,   350,   177,   134,   464,   465,  1120,    75,   119,   500,
2303
      78,   313,   177,   142,   143,   327,   767,   218,   219,   184,
2304
     167,   168,    37,    38,   336,   394,   177,   157,   158,   331,
2305
     176,   142,   143,   179,   177,   331,   396,   397,   166,   167,
2306
     168,   172,   166,   167,   168,  1063,    75,    76,   177,    78,
2307
    1164,   181,    75,   169,  1072,    78,   390,   177,  1121,   109,
2308
     110,   167,   168,   177,    79,   400,   177,    75,    76,   119,
2309
      78,   157,   158,   177,   825,   390,    75,    76,    77,    78,
2310
     109,   327,   111,   169,   177,   563,   109,   436,   111,   169,
2311
     336,   177,   177,    53,   357,   181,    68,   431,    75,    76,
2312
      77,    78,   327,   153,   855,   174,   857,   176,   859,   310,
2313
     311,   336,   431,   314,   315,    75,   431,   868,   134,    79,
2314
     119,   169,   174,   175,    84,   326,   178,   120,   121,   431,
2315
    1148,   174,   467,   176,   335,   128,   402,   174,  1156,   176,
2316
      92,   134,   119,   142,   143,  1163,   347,   516,   176,    75,
2317
      76,    77,    78,  1151,   545,  1173,   500,   102,   103,   104,
2318
     361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
2319
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
2320
     381,   382,   383,   384,   385,   386,   387,   388,   389,  1187,
2321
     391,   493,   174,   754,   176,   176,   545,   493,   174,   400,
2322
     176,   402,   403,   404,   405,   406,   407,   408,   409,   410,
2323
     411,   412,   413,   414,   415,   176,   142,   143,   419,   420,
2324
     421,   422,   423,   424,   425,   426,    16,   428,   102,   103,
2325
     104,   600,    71,    72,    75,    76,    77,    78,    37,    38,
2326
     617,   157,   158,   176,   805,   157,   158,   157,   158,   545,
2327
     451,   177,   545,   169,   109,   110,   157,   158,    35,   169,
2328
      37,   177,   617,   176,   742,   181,   467,   745,   169,   181,
2329
     401,   181,    16,   474,   157,   158,   177,   478,   655,   174,
2330
     181,   176,   843,    75,   157,   158,   552,    35,   489,    37,
2331
     659,   178,   157,   158,    30,   672,   169,   174,   181,   176,
2332
     655,   142,   143,   504,   169,   617,   437,   174,   181,   176,
2333
     174,    75,   176,   682,    75,   324,   181,   672,  1069,   328,
2334
     180,   181,   119,   120,   121,   122,   123,   124,   125,   126,
2335
     127,   128,   709,   342,    75,   344,   345,   346,   176,    75,
2336
      76,    77,    78,   655,   678,   114,   115,   681,   549,   120,
2337
     121,   552,   179,   554,   709,   689,   153,   128,   177,   560,
2338
     672,   562,   177,   678,   880,   881,   681,   568,   683,   177,
2339
     848,   617,   975,   976,   689,    89,    90,   175,   755,   174,
2340
     182,   177,    31,   180,   686,   648,   177,   176,   651,   655,
2341
     686,    31,   617,   686,    31,   526,   527,   709,    31,    31,
2342
     755,   602,    31,    31,    31,   606,   142,   143,   777,   655,
2343
     611,    31,    31,   891,    31,   717,    31,    31,   720,   174,
2344
     722,   717,   174,   686,   177,   794,   672,   176,   174,    75,
2345
     655,   176,   823,   634,   635,    79,   637,   179,   916,   174,
2346
     174,   177,   776,   755,   176,   646,   138,   672,   138,   650,
2347
      31,   179,   653,   654,   178,   178,   934,   174,    54,    55,
2348
      56,   776,    58,   709,   175,    75,    75,   782,   180,   846,
2349
     177,   786,    68,   674,   605,    16,    75,   177,   609,   177,
2350
     177,   177,   613,   614,   709,   178,   175,   175,   179,   100,
2351
      16,   846,   178,   795,   179,   758,   178,   178,   139,   795,
2352
     179,   702,   795,   175,    35,    84,   177,   175,   178,   755,
2353
     711,   178,   827,   991,   992,   177,   177,   176,   719,   174,
2354
     889,   177,   176,   176,    55,   100,   174,   174,   179,   831,
2355
     755,   176,   795,    35,   846,   837,    35,   839,   176,   908,
2356
     874,   837,    37,   839,    31,   176,   809,    75,   178,  1027,
2357
     751,   174,   178,   754,   945,   177,  1034,  1035,   176,   874,
2358
      91,   762,   175,   179,   879,   880,   881,   882,   174,   174,
2359
     174,   873,   941,    50,    51,    52,    53,    54,    55,    56,
2360
     846,    58,   897,   898,   847,   180,    52,    53,    54,    55,
2361
      56,    68,    58,   895,  1008,   177,   797,   180,   174,   933,
2362
     846,   179,    68,    37,   805,   179,   178,   180,   942,    31,
2363
      38,    35,    35,   178,   176,   116,    37,   919,   933,   178,
2364
     178,   846,   178,   919,   176,    14,    14,   942,  1106,   180,
2365
     109,   111,  1110,   179,   949,  1113,    14,    37,   171,   840,
2366
     841,   177,   843,    79,  1004,   109,   110,   111,    79,   179,
2367
      16,   966,   954,   176,   950,   119,   120,   121,   176,   974,
2368
     975,   976,   977,   965,   128,   176,   178,    16,    16,   965,
2369
     134,   135,   136,   137,    16,    16,    16,    16,    16,   179,
2370
    1049,    79,   174,   179,   986,   179,   176,  1047,   169,   153,
2371
     986,   176,   176,  1053,  1009,   100,  1065,   117,  1000,   169,
2372
      79,  1003,    16,   179,  1000,   179,  1040,  1185,   177,  1011,
2373
     178,   176,   179,  1047,    75,   178,   177,  1120,   178,  1197,
2374
     983,   922,   985,   689,  1084,  1040,  1095,    94,   929,    54,
2375
     931,   866,  1047,   205,  1036,  1037,   186,   500,   672,   846,
2376
    1036,  1037,  1008,   985,   929,   895,   823,   949,   786,   898,
2377
    1084,  1165,   502,   157,  1123,   945,  1125,  1084,  1024,  1128,
2378
    1129,  1063,  1122,  1093,  1133,   505,  1155,  1163,   490,  1084,
2379
    1072,  1073,  1163,  1075,  1076,  1100,   840,  1073,  1059,  1075,
2380
    1076,   653,   313,   166,  1144,   397,  1108,  1121,   640,   554,
2381
     474,    -1,   674,   994,    -1,    -1,   997,    -1,  1167,    -1,
2382
      -1,    -1,    -1,    -1,    -1,    -1,  1121,    -1,    -1,    -1,
2383
    1179,    75,    76,    77,    78,    79,    75,    76,    77,    78,
2384
      79,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
2385
     125,   126,   127,   128,  1136,    -1,    -1,  1139,    -1,  1141,
2386
    1136,    -1,  1108,  1139,    -1,  1141,  1148,    -1,    -1,  1151,
2387
      -1,    -1,    -1,    -1,  1156,   119,   120,   121,   153,   390,
2388
     119,   120,   121,    -1,   128,   396,   397,   398,   399,   128,
2389
     134,  1173,    -1,    -1,    -1,    -1,    -1,    -1,  1079,    -1,
2390
      -1,    -1,    -1,   178,    -1,  1187,    -1,  1189,    -1,   153,
2391
    1091,    -1,    -1,  1189,   153,  1096,  1097,    -1,  1200,  1165,
2392
     431,    -1,  1103,  1104,  1200,    49,    50,    51,    52,    53,
2393
      54,    55,    56,   177,    58,    -1,    -1,    -1,   177,    -1,
2394
     184,    -1,    -1,    -1,    68,   184,    -1,    -1,    -1,    -1,
2395
      -1,   462,    -1,   464,   465,   466,   119,   120,   121,   122,
2396
     123,   124,   125,   126,   127,   128,    -1,     3,  1149,     5,
2397
       6,     7,     8,     9,    10,    11,    12,    13,    -1,    15,
2398
      -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
2399
     153,   502,   111,    -1,    30,    -1,    -1,    -1,    -1,    -1,
2400
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2401
     129,    -1,    -1,    -1,  1195,   178,    52,    53,    -1,    -1,
2402
      -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2403
      66,    67,    -1,    69,   153,    71,    72,    73,    74,    75,
2404
      76,    77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,
2405
      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2406
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2407
     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2408
     116,   117,   118,   119,   120,   121,   122,   123,   124,    -1,
2409
      -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
2410
     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2411
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2412
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   165,
2413
      -1,    -1,    -1,    -1,    -1,   171,    -1,    -1,    -1,    -1,
2414
      -1,   177,   178,    -1,    -1,   181,   182,   183,   184,     3,
2415
      -1,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2416
      -1,    15,    -1,    -1,    -1,    -1,   119,   120,   121,   122,
2417
     123,   124,   125,   126,   127,   128,    30,    -1,    -1,    -1,
2418
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2419
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2420
     153,    -1,    -1,    57,    58,    59,    60,    61,    62,    63,
2421
      64,    65,    66,    67,   153,    69,    -1,    71,    72,    73,
2422
      74,    75,    76,    77,    78,    79,    -1,   180,    82,    -1,
2423
      -1,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2424
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2425
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2426
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2427
     124,    -1,    -1,    -1,   128,   129,   130,   131,   132,    -1,
2428
     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2429
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2430
     154,   155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2431
      -1,   165,    -1,    -1,    -1,    -1,    -1,   171,    -1,    -1,
2432
      -1,    -1,    -1,   177,   178,    -1,    -1,   181,   182,   183,
2433
     184,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
2434
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,   119,   120,
2435
     121,   122,   123,   124,   125,   126,   127,   128,    30,    44,
2436
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2437
      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
2438
      52,    53,   153,    68,    -1,    57,    58,    59,    60,    61,
2439
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    71,
2440
      72,    73,    74,    75,    76,    77,    78,    79,    -1,   180,
2441
      82,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
2442
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2443
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2444
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2445
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
2446
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
2447
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2448
     152,   153,   154,   155,    -1,    -1,    -1,    -1,    -1,    -1,
2449
      -1,    -1,    -1,   165,    -1,    -1,    -1,    -1,    -1,   171,
2450
      -1,    -1,    -1,    -1,    -1,   177,   178,    -1,    -1,   181,
2451
     182,   183,   184,     3,    -1,     5,     6,     7,     8,     9,
2452
      10,    11,    12,    13,    -1,    15,   119,   120,   121,   122,
2453
     123,   124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
2454
      30,    -1,    -1,    -1,    16,    17,    18,    19,    20,    21,
2455
      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
2456
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    58,    59,
2457
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2458
      -1,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2459
      -1,    -1,    82,    -1,    -1,    85,    86,    87,    88,    89,
2460
      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2461
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2462
     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2463
     120,   121,   122,   123,   124,    -1,    -1,    -1,   128,   129,
2464
     130,   131,   132,    -1,   134,   135,   136,   137,   138,   139,
2465
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2466
     150,   151,   152,   153,   154,   155,    -1,     3,    -1,     5,
2467
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2468
      -1,   171,   154,   155,    -1,   157,   158,   177,   109,    -1,
2469
     111,   181,   182,   183,   184,    -1,    -1,   169,   119,   120,
2470
     121,   122,   123,   124,   125,   126,   127,   128,    -1,   181,
2471
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2472
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2473
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2474
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2475
      86,    87,    88,    -1,    90,    91,    92,    -1,    94,    -1,
2476
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2477
     106,   107,   108,   109,   110,   111,   112,   113,    -1,    -1,
2478
     116,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2479
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2480
     136,   137,    -1,    -1,   140,   141,   142,    -1,   144,   145,
2481
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2482
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2483
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,
2484
     176,   177,    -1,   179,   180,   181,   182,   183,   184,    -1,
2485
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2486
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2487
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2488
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
2489
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2490
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2491
      92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,   101,
2492
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
2493
     112,   113,    -1,    -1,   116,    -1,   118,   119,   120,   121,
2494
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2495
     132,   133,   134,   135,   136,   137,    -1,    -1,   140,   141,
2496
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2497
     152,   153,   154,   155,   156,     3,    -1,     5,     6,     7,
2498
       8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,
2499
      -1,    -1,    -1,    -1,   176,   177,    -1,   179,   180,   181,
2500
     182,   183,   184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2501
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2502
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2503
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2504
      -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2505
      78,    79,    80,    -1,    82,    -1,    -1,    85,    86,    87,
2506
      88,    -1,    90,    91,    92,    -1,    94,    -1,    96,    -1,
2507
      98,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
2508
     108,   109,   110,   111,   112,   113,    -1,    -1,   116,    -1,
2509
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
2510
     128,    -1,   130,   131,   132,   133,   134,   135,   136,   137,
2511
      -1,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
2512
     148,   149,   150,   151,   152,   153,   154,   155,   156,     3,
2513
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2514
      -1,    15,    -1,    -1,   103,    -1,    -1,    -1,   176,   177,
2515
      -1,   179,   111,   181,   182,   183,   184,   116,    -1,    -1,
2516
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2517
     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2518
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2519
      64,    65,    66,    67,   153,    69,    -1,    -1,    -1,    73,
2520
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    -1,
2521
      -1,    85,    86,    87,    88,    -1,    90,    91,    92,    -1,
2522
      94,   180,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,
2523
      -1,   105,   106,   107,   108,   109,   110,    -1,   112,   113,
2524
      -1,    -1,    -1,    -1,   118,   119,   120,   121,    -1,    -1,
2525
      -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
2526
     134,   135,   136,   137,    -1,    -1,    -1,   141,   142,    -1,
2527
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2528
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2529
      -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,
2530
      -1,    -1,   176,   177,    -1,   179,   180,   181,   182,   183,
2531
     184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2532
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2533
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2534
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2535
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2536
      80,    -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,
2537
      90,    91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,
2538
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
2539
     110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,
2540
     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
2541
     130,   131,   132,   133,   134,   135,   136,   137,    -1,    -1,
2542
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
2543
     150,   151,   152,   153,   154,   155,   156,     3,    -1,     5,
2544
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2545
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
2546
     180,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
2547
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2548
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2549
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2550
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2551
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2552
      86,    87,    88,    89,    90,    91,    92,    -1,    94,    -1,
2553
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2554
     106,   107,   108,   109,   110,    -1,   112,   113,    -1,    -1,
2555
      -1,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2556
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2557
     136,   137,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
2558
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2559
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2560
      12,    13,    -1,    15,    -1,    -1,   103,    -1,    -1,    -1,
2561
     176,   177,    -1,   179,   111,   181,   182,   183,   184,   116,
2562
      -1,    -1,   119,   120,   121,   122,   123,   124,   125,   126,
2563
     127,   128,   129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2564
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2565
      62,    63,    64,    65,    66,    67,   153,    69,    -1,    -1,
2566
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2567
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2568
      92,    93,    94,   180,    96,    -1,    98,    -1,    -1,   101,
2569
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,    -1,
2570
     112,   113,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
2571
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2572
     132,   133,   134,   135,   136,   137,    -1,    -1,    -1,   141,
2573
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2574
     152,   153,   154,   155,   156,     3,    -1,     5,     6,     7,
2575
       8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,
2576
     103,    -1,    -1,    -1,   176,   177,    -1,   179,   111,   181,
2577
     182,   183,   184,   116,    -1,    -1,   119,   120,   121,   122,
2578
     123,   124,   125,   126,   127,   128,   129,    -1,    -1,    -1,
2579
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2580
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2581
     153,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2582
      78,    79,    80,    -1,    82,    -1,    -1,    85,    86,    87,
2583
      88,    -1,    90,    91,    92,    -1,    94,   180,    96,    -1,
2584
      98,    99,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
2585
     108,   109,   110,    -1,   112,   113,    -1,    -1,    -1,    -1,
2586
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
2587
     128,    -1,   130,   131,   132,   133,   134,   135,   136,   137,
2588
      -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,   147,
2589
     148,   149,   150,   151,   152,   153,   154,   155,   156,     3,
2590
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2591
      -1,    15,    -1,    -1,   103,    -1,    -1,    -1,   176,   177,
2592
      -1,   179,   111,   181,   182,   183,   184,   116,    -1,    -1,
2593
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2594
     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2595
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2596
      64,    65,    66,    67,   153,    69,    -1,    -1,    -1,    73,
2597
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    -1,
2598
      -1,    85,    86,    87,    88,    -1,    90,    91,    92,    -1,
2599
      94,   180,    96,    97,    98,    -1,    -1,   101,    -1,    -1,
2600
      -1,   105,   106,   107,   108,   109,   110,    -1,   112,   113,
2601
      -1,    -1,    -1,    -1,   118,   119,   120,   121,    -1,    -1,
2602
      -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
2603
     134,   135,   136,   137,    -1,    -1,    -1,   141,   142,    -1,
2604
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2605
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2606
      -1,   165,    12,    13,    -1,    15,    -1,    -1,   103,    -1,
2607
      -1,    -1,   176,   177,    -1,   179,   111,   181,   182,   183,
2608
     184,   116,    -1,    -1,   119,   120,   121,   122,   123,   124,
2609
     125,   126,   127,   128,   129,    -1,    -1,    -1,    -1,    -1,
2610
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2611
      60,    61,    62,    63,    64,    65,    66,    67,   153,    69,
2612
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2613
      80,    -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,
2614
      90,    91,    92,    -1,    94,   180,    96,    -1,    98,    -1,
2615
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
2616
     110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,
2617
     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
2618
     130,   131,   132,   133,   134,   135,   136,   137,    -1,    -1,
2619
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
2620
     150,   151,   152,   153,   154,   155,   156,     3,    -1,     5,
2621
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2622
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
2623
     180,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
2624
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2625
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2626
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2627
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2628
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2629
      86,    87,    88,    -1,    90,    91,    92,    -1,    94,    95,
2630
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2631
     106,   107,   108,   109,   110,    -1,   112,   113,    -1,    -1,
2632
      -1,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2633
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2634
     136,   137,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
2635
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2636
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2637
      12,    13,    -1,    15,    -1,    -1,   103,    -1,    -1,    -1,
2638
     176,   177,    -1,   179,   111,   181,   182,   183,   184,   116,
2639
      -1,    -1,   119,   120,   121,   122,   123,   124,   125,   126,
2640
     127,   128,   129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2641
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2642
      62,    63,    64,    65,    66,    67,   153,    69,    -1,    -1,
2643
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2644
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2645
      92,    -1,    94,   180,    96,    -1,    98,    -1,    -1,   101,
2646
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,    -1,
2647
     112,   113,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
2648
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2649
     132,   133,   134,   135,   136,   137,    -1,    -1,    -1,   141,
2650
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2651
     152,   153,   154,   155,   156,     3,    -1,     5,     6,     7,
2652
       8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,
2653
      -1,    -1,    -1,    -1,   176,   177,    -1,   179,   180,   181,
2654
     182,   183,   184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2655
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2656
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2657
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2658
      -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2659
      78,    79,    80,    -1,    82,    -1,    -1,    85,    86,    87,
2660
      88,    -1,    90,    91,    92,    -1,    94,    -1,    96,    -1,
2661
      98,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
2662
     108,   109,   110,    -1,   112,   113,    -1,    -1,    -1,    -1,
2663
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
2664
     128,    -1,   130,   131,   132,   133,   134,   135,   136,   137,
2665
      -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,   147,
2666
     148,   149,   150,   151,   152,   153,   154,   155,   156,     3,
2667
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2668
      -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,
2669
      -1,   179,   180,   181,   182,   183,   184,    -1,    -1,    -1,
2670
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2671
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2672
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2673
      64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,
2674
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    -1,
2675
      -1,    85,    86,    87,    88,    -1,    90,    91,    92,    -1,
2676
      94,    -1,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,
2677
      -1,   105,   106,   107,   108,   109,   110,    -1,   112,   113,
2678
      -1,    -1,    -1,    -1,   118,   119,   120,   121,    -1,    -1,
2679
      -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
2680
     134,   135,   136,   137,    -1,    -1,    -1,   141,   142,    -1,
2681
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2682
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2683
      -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,
2684
      -1,    -1,   176,   177,    -1,   179,   180,   181,   182,   183,
2685
     184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2686
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2687
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2688
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2689
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2690
      80,    -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,
2691
      90,    91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,
2692
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
2693
     110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,
2694
     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
2695
     130,   131,   132,   133,   134,   135,   136,   137,    -1,    -1,
2696
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
2697
     150,   151,   152,   153,   154,   155,   156,     3,    -1,     5,
2698
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2699
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
2700
     180,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
2701
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2702
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2703
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2704
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2705
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2706
      86,    87,    88,    -1,    90,    91,    92,    -1,    94,    -1,
2707
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2708
     106,   107,   108,   109,   110,    -1,   112,   113,    -1,    -1,
2709
      -1,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2710
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2711
     136,   137,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
2712
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2713
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2714
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,
2715
     176,   177,    -1,   179,   180,   181,   182,   183,   184,    -1,
2716
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2717
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2718
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2719
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
2720
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2721
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2722
      92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,   101,
2723
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,    -1,
2724
     112,   113,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
2725
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2726
     132,   133,   134,   135,   136,   137,    -1,    -1,    -1,   141,
2727
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2728
     152,   153,   154,   155,   156,    -1,    -1,    -1,    -1,    -1,
2729
      -1,    -1,     3,   165,     5,     6,     7,     8,     9,    10,
2730
      11,    12,    13,    -1,   176,   177,    -1,   179,    -1,   181,
2731
     182,   183,   184,   109,   110,    -1,    -1,    -1,    -1,    -1,
2732
      -1,    -1,    -1,   119,   120,   121,    -1,    -1,    -1,    -1,
2733
      -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,   134,   135,
2734
     136,   137,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
2735
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   153,    69,    -1,
2736
      71,    72,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
2737
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
2738
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2739
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2740
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2741
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
2742
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
2743
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2744
     151,   152,     3,    -1,     5,     6,     7,     8,     9,    10,
2745
      11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2746
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   179,    -1,
2747
      -1,    -1,    -1,   184,    36,    37,    38,    39,    40,    41,
2748
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2749
      52,    53,    54,    55,    56,    -1,    58,    58,    -1,    -1,
2750
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    69,    -1,
2751
      71,    72,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
2752
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
2753
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2754
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2755
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2756
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
2757
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
2758
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2759
     151,   152,     3,    -1,     5,     6,     7,     8,    -1,    -1,
2760
      -1,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,
2761
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   179,    -1,
2762
      31,    -1,    -1,   184,    -1,    -1,    -1,    -1,    -1,    -1,
2763
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2764
      -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,
2765
      61,    62,    63,    64,    65,    66,    67,    -1,    69,    -1,
2766
      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
2767
      -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,    90,
2768
      91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,
2769
     101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
2770
      -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,    -1,
2771
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,
2772
     131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2773
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
2774
     151,   152,   153,   154,   155,   156,     3,    -1,     5,     6,
2775
       7,     8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,
2776
      -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,    -1,
2777
     181,   182,   183,   184,    31,    -1,    -1,    -1,    -1,    -1,
2778
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2779
      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,
2780
      57,    -1,    59,    60,    61,    62,    63,    64,    65,    66,
2781
      67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,
2782
      77,    78,    79,    80,    -1,    82,    -1,    -1,    85,    86,
2783
      87,    88,    -1,    90,    91,    92,    -1,    94,    -1,    96,
2784
      -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
2785
     107,   108,   109,   110,    -1,   112,   113,    -1,    -1,    -1,
2786
      -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2787
      -1,   128,    -1,   130,   131,   132,    -1,    -1,    -1,    -1,
2788
      -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,
2789
     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2790
       3,    -1,     5,     6,     7,     8,    -1,    -1,   165,    12,
2791
      13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,   176,
2792
     177,    -1,   179,    -1,   181,   182,   183,   184,    31,    -1,
2793
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2794
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
2795
      53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,
2796
      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,
2797
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
2798
      -1,    -1,    85,    86,    87,    88,    -1,    90,    91,    92,
2799
      -1,    94,    -1,    96,    -1,    98,    -1,    -1,   101,    -1,
2800
      -1,    -1,   105,   106,   107,   108,   109,   110,    -1,   112,
2801
     113,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,
2802
      -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,
2803
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
2804
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2805
     153,   154,   155,   156,     3,    -1,     5,     6,     7,     8,
2806
      -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,
2807
      -1,    -1,    -1,   176,   177,    -1,   179,    -1,   181,   182,
2808
     183,   184,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2809
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2810
      -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,
2811
      59,    60,    61,    62,    63,    64,    65,    66,    67,    -1,
2812
      69,    -1,    -1,    -1,    73,    74,    75,    76,    77,    78,
2813
      79,    80,    -1,    82,    -1,    -1,    85,    86,    87,    88,
2814
      -1,    90,    91,    92,    -1,    94,    -1,    96,    -1,    98,
2815
      -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
2816
     109,   110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,
2817
     119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
2818
      -1,   130,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,
2819
      -1,    -1,   141,   142,    -1,   144,   145,   146,   147,   148,
2820
     149,   150,   151,   152,   153,   154,   155,   156,     3,    -1,
2821
       5,     6,     7,     8,    -1,    -1,   165,    12,    13,    -1,
2822
      15,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,
2823
     179,    -1,   181,   182,   183,   184,    31,    -1,    -1,    -1,
2824
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2825
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,
2826
      -1,    -1,    57,    -1,    59,    60,    61,    62,    63,    64,
2827
      65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,
2828
      75,    76,    77,    78,    79,    80,    -1,    82,    -1,    -1,
2829
      85,    86,    87,    88,    -1,    90,    91,    92,    -1,    94,
2830
      -1,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,
2831
     105,   106,   107,   108,   109,   110,    -1,   112,   113,    -1,
2832
      -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    -1,
2833
      -1,    -1,    -1,   128,    -1,   130,   131,   132,    -1,    -1,
2834
      -1,    -1,    -1,    -1,    -1,    -1,   141,   142,    -1,   144,
2835
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2836
     155,   156,     3,    -1,     5,     6,     7,     8,    -1,    -1,
2837
     165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,
2838
      -1,   176,   177,    -1,   179,    -1,   181,   182,   183,   184,
2839
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2840
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2841
      -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,
2842
      61,    62,    63,    64,    65,    66,    67,    -1,    69,    -1,
2843
      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
2844
      -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,    90,
2845
      91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,
2846
     101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
2847
      -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,    -1,
2848
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,
2849
     131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2850
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
2851
     151,   152,   153,   154,   155,   156,     3,    -1,     5,     6,
2852
       7,     8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,
2853
      -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,    -1,
2854
     181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,    -1,
2855
      37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2856
      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,
2857
      57,    -1,    59,    60,    61,    62,    63,    64,    65,    66,
2858
      67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,
2859
      77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,    86,
2860
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2861
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,
2862
      -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,
2863
      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2864
      -1,   128,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,
2865
      -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,
2866
     147,   148,   149,   150,   151,   152,   153,   154,   155,    -1,
2867
       3,    -1,     5,     6,     7,     8,    -1,    -1,   165,    12,
2868
      13,    -1,    15,    -1,   171,    -1,    -1,    -1,    -1,    -1,
2869
     177,    -1,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
2870
      -1,    -1,    -1,    -1,    37,    38,    -1,    -1,    -1,    -1,
2871
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
2872
      53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,
2873
      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,
2874
      73,    74,    75,    76,    77,    78,    79,    -1,    -1,    82,
2875
      -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
2876
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2877
      -1,    -1,   105,    -1,    -1,    -1,   109,   110,    -1,    -1,
2878
      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
2879
      -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
2880
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
2881
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2882
     153,   154,   155,    -1,     3,    -1,     5,     6,     7,     8,
2883
      -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,
2884
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,   181,   182,
2885
     183,   184,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
2886
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2887
      -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,
2888
      59,    60,    61,    62,    63,    64,    65,    66,    67,    -1,
2889
      69,    -1,    -1,    -1,    73,    74,    75,    76,    77,    78,
2890
      79,    -1,    -1,    82,    -1,    -1,    85,    86,    87,    -1,
2891
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2892
      -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,    -1,    -1,
2893
     109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2894
     119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
2895
      -1,    -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,
2896
      -1,    -1,   141,   142,    -1,   144,   145,   146,   147,   148,
2897
     149,   150,   151,   152,   153,   154,   155,    -1,     3,    -1,
2898
       5,     6,     7,     8,    -1,    -1,   165,    12,    13,    -1,
2899
      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
2900
      -1,    -1,   181,   182,   183,   184,    -1,    -1,    -1,    -1,
2901
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2902
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,
2903
      -1,    -1,    57,    -1,    59,    60,    61,    62,    63,    64,
2904
      65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,
2905
      75,    76,    77,    78,    79,    -1,    -1,    82,    -1,    -1,
2906
      85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2907
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2908
     105,    -1,    -1,    -1,   109,   110,    -1,    -1,    -1,    -1,
2909
      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
2910
      -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,    -1,
2911
      -1,    -1,    -1,    -1,    -1,    -1,   141,   142,    -1,   144,
2912
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2913
     155,   156,     3,    -1,     5,     6,     7,     8,    -1,    -1,
2914
     165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,
2915
      -1,    -1,   177,    -1,    -1,    -1,   181,   182,   183,   184,
2916
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2917
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2918
      -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,
2919
      61,    62,    63,    64,    65,    66,    67,    -1,    69,    -1,
2920
      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    -1,
2921
      -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
2922
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2923
      -1,    -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,
2924
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
2925
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,
2926
     131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2927
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
2928
     151,   152,   153,   154,   155,    -1,     3,    -1,     5,     6,
2929
       7,     8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,
2930
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,
2931
     181,   182,   183,   184,    31,    -1,    -1,    -1,    -1,    -1,
2932
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2933
      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,
2934
      57,    -1,    59,    60,    61,    62,    63,    64,    65,    66,
2935
      67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,
2936
      77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,    86,
2937
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2938
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,
2939
      -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,
2940
      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2941
      -1,   128,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,
2942
      -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,
2943
     147,   148,   149,   150,   151,   152,   153,   154,   155,    -1,
2944
       3,    -1,     5,     6,     7,     8,    -1,    -1,   165,    12,
2945
      13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2946
     177,    -1,    -1,    -1,   181,   182,   183,   184,    31,    -1,
2947
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2948
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
2949
      53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,
2950
      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,
2951
      73,    74,    75,    76,    77,    78,    79,    -1,    -1,    82,
2952
      -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
2953
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2954
      -1,    -1,   105,    -1,    -1,    -1,   109,   110,    -1,    -1,
2955
      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
2956
      -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
2957
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
2958
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2959
     153,   154,   155,    -1,    -1,     3,    -1,     5,     6,     7,
2960
       8,    -1,   165,    -1,    12,    13,    -1,    15,    -1,    -1,
2961
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,   181,   182,
2962
     183,   184,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2963
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2964
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2965
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2966
      -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2967
      78,    79,    -1,    -1,    82,    -1,    -1,    85,    86,    87,
2968
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2969
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,    -1,
2970
      -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2971
      -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2972
     128,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,    -1,
2973
      -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,   147,
2974
     148,   149,   150,   151,   152,   153,   154,   155,    -1,     3,
2975
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2976
      -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
2977
      -1,    -1,    -1,   181,   182,   183,   184,    -1,    -1,    -1,
2978
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2979
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2980
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2981
      64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,
2982
      74,    75,    76,    77,    78,    79,    -1,    -1,    82,    -1,
2983
      -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
2984
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2985
      -1,   105,    -1,    -1,    -1,   109,   110,    -1,    -1,    -1,
2986
      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
2987
      -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,
2988
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,    -1,
2989
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2990
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2991
      -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,
2992
      -1,    -1,    -1,   177,    -1,    -1,    -1,   181,   182,   183,
2993
     184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2994
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2995
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2996
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2997
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2998
      -1,    -1,    82,    -1,    -1,    85,    86,    87,    -1,    -1,
2999
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3000
      -1,    -1,    -1,    -1,   104,   105,    -1,    -1,    -1,   109,
3001
     110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
3002
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
3003
      -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3004
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
3005
     150,   151,   152,   153,   154,   155,    -1,     3,    -1,     5,
3006
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
3007
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,
3008
      -1,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
3009
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3010
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
3011
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
3012
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
3013
      76,    77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,
3014
      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3015
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
3016
      -1,    -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,
3017
      -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,
3018
      -1,    -1,   128,    -1,    -1,   131,   132,    -1,    -1,    -1,
3019
      -1,    -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
3020
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
3021
      -1,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
3022
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,
3023
      -1,   177,    -1,    -1,    -1,   181,   182,   183,   184,    -1,
3024
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3025
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3026
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
3027
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
3028
      -1,    73,    74,    75,    76,    77,    78,    79,    -1,    -1,
3029
      82,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
3030
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3031
      -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,    -1,
3032
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
3033
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,
3034
     132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,
3035
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
3036
     152,   153,   154,   155,    -1,    -1,    -1,    -1,    -1,    -1,
3037
      -1,    -1,     3,   165,     5,     6,     7,     8,     9,    10,
3038
      11,    12,    13,    -1,    -1,   177,    -1,    -1,    -1,   181,
3039
     182,   183,   184,    30,    -1,    32,    33,    34,    35,    36,
3040
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
3041
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
3042
      -1,    58,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
3043
      -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
3044
      71,    72,    -1,    -1,    75,    76,    77,    78,    -1,    -1,
3045
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
3046
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
3047
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
3048
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
3049
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
3050
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
3051
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
3052
     151,   152,     3,    -1,     5,     6,     7,     8,     9,    10,
3053
      11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3054
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,
3055
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3056
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3057
      52,    53,    54,    55,    56,    -1,    58,    58,    -1,    -1,
3058
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    69,    -1,
3059
      71,    72,    -1,    -1,    75,    76,    77,    78,    -1,    -1,
3060
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
3061
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
3062
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
3063
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
3064
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
3065
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
3066
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
3067
     151,   152,    -1,     3,    -1,     5,     6,     7,     8,     9,
3068
      10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
3069
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,
3070
      30,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3071
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3072
      53,    54,    55,    56,    -1,    58,    -1,    -1,    58,    -1,
3073
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    69,
3074
      -1,    71,    72,    -1,    -1,    75,    76,    77,    78,    -1,
3075
      -1,    -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,
3076
      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
3077
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
3078
     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
3079
     120,   121,   122,   123,   124,    -1,    -1,    -1,   128,   129,
3080
     130,   131,   132,    -1,   134,   135,   136,   137,   138,   139,
3081
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
3082
     150,   151,   152,    -1,    -1,     9,    10,    11,    -1,    -1,
3083
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3084
      -1,    -1,    -1,    -1,    -1,    -1,    30,   177,    32,    33,
3085
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
3086
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3087
      54,    55,    56,    -1,    58,     9,    10,    11,    -1,    -1,
3088
      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
3089
      -1,    -1,    -1,    -1,    -1,    -1,    30,    -1,    32,    33,
3090
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
3091
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3092
      54,    55,    56,    -1,    58,     9,    10,    11,    -1,    -1,
3093
      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
3094
      -1,    -1,    -1,    -1,    -1,    -1,    30,    -1,    32,    33,
3095
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
3096
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3097
      54,    55,    56,    -1,    58,    -1,     9,    10,    11,    -1,
3098
      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
3099
      -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,    32,
3100
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3101
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3102
      53,    54,    55,    56,    -1,    58,     9,    10,    11,    -1,
3103
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3104
      -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,    32,
3105
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3106
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3107
      53,    54,    55,    56,    -1,    58,     9,    10,    11,    -1,
3108
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3109
      -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,    32,
3110
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3111
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3112
      53,    54,    55,    56,    -1,    58,    -1,     9,    10,    11,
3113
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3114
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,
3115
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3116
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3117
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3118
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3119
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,
3120
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3121
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3122
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3123
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3124
      -1,   174,    -1,    -1,    -1,   178,    -1,    -1,    30,    -1,
3125
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3126
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3127
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3128
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3129
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3130
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3131
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3132
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3133
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3134
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3135
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3136
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3137
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3138
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3139
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3140
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3141
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3142
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3143
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3144
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3145
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3146
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3147
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3148
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3149
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3150
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3151
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3152
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3153
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3154
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3155
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3156
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3157
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3158
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3159
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3160
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3161
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3162
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3163
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3164
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3165
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3166
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3167
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3168
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3169
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3170
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3171
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3172
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3173
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3174
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    31,
3175
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3176
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3177
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3178
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3179
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3180
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3181
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3182
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3183
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3184
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3185
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3186
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3187
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3188
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3189
      -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    30,    -1,
3190
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3191
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3192
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3193
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3194
      -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    30,    -1,
3195
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3196
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3197
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3198
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3199
      -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    30,    -1,
3200
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3201
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3202
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3203
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3204
      -1,    -1,    37,    38,   176,    -1,    -1,    -1,    30,    -1,
3205
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3206
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3207
      52,    53,    54,    55,    56,    -1,    58,    -1,    -1,    -1,
3208
      75,    76,    77,    78,    79,    -1,    68,    82,    -1,    -1,
3209
      -1,    86,    -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,
3210
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3211
      -1,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
3212
      12,    13,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
3213
      -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,
3214
      -1,    -1,   174,    -1,    -1,    -1,   141,   142,    -1,   144,
3215
     145,   146,   147,   148,   149,   150,   151,   152,    -1,    -1,
3216
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
3217
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3218
      72,    -1,   177,    75,    -1,    -1,   181,    -1,   183,   184,
3219
      -1,    -1,   174,    85,    86,    87,    88,    89,    90,    91,
3220
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3221
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3222
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3223
     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
3224
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3225
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3226
     152,     3,    11,     5,     6,     7,     8,     9,    10,    11,
3227
      12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3228
      -1,    30,    -1,    32,    33,    34,    35,    36,    37,    38,
3229
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
3230
      49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
3231
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    68,
3232
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3233
      72,    -1,    -1,    75,    -1,    -1,    78,    -1,    -1,    -1,
3234
      -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
3235
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3236
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3237
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3238
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
3239
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3240
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3241
     152,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
3242
      12,    13,    35,    36,    37,    38,    39,    40,    41,    42,
3243
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3244
      53,    54,    55,    56,    -1,    58,    -1,    -1,    -1,    -1,
3245
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3246
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
3247
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3248
      72,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
3249
      -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
3250
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3251
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3252
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3253
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
3254
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3255
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3256
     152,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
3257
      12,    13,    37,    38,    39,    40,    41,    42,    43,    44,
3258
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
3259
      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
3260
      -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
3261
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
3262
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3263
      72,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
3264
      -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
3265
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3266
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3267
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3268
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
3269
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3270
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3271
     152,    75,    76,    77,    78,    79,    -1,    -1,    82,    -1,
3272
      -1,    -1,    86,    39,    40,    41,    42,    43,    44,    45,
3273
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
3274
      56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3275
      -1,    -1,    68,    -1,    -1,   119,    -1,    -1,    -1,    -1,
3276
      -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,
3277
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,    -1,
3278
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
3279
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3280
       9,    10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3281
      -1,    -1,    -1,   177,    -1,    -1,    -1,   181,    -1,   183,
3282
     184,    30,    -1,    32,    33,    34,    35,    36,    37,    38,
3283
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
3284
      49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
3285
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
3286
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
3287
      10,    11,    -1,    -1,    14,    -1,    -1,    -1,    -1,    -1,
3288
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3289
      30,   100,    32,    33,    34,    35,    36,    37,    38,    39,
3290
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
3291
      50,    51,    52,    53,    54,    55,    56,    -1,    58,     9,
3292
      10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
3293
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3294
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
3295
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
3296
      50,    51,    52,    53,    54,    55,    56,    -1,    58,     9,
3297
      10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
3298
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3299
      30,    -1,    32,    33,    34,    35,    36,    37,    38,    39,
3300
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
3301
      50,    51,    52,    53,    54,    55,    56,    -1,    58,    10,
3302
      11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
3303
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,
3304
      -1,    32,    33,    34,    35,    36,    37,    38,    39,    40,
3305
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
3306
      51,    52,    53,    54,    55,    56,    14,    58,    -1,    -1,
3307
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,
3308
      -1,    -1,    30,    -1,    32,    33,    34,    35,    36,    37,
3309
      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
3310
      48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
3311
      58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3312
      68,    39,    40,    41,    42,    43,    44,    45,    46,    47,
3313
      48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
3314
      58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3315
      68
3316
};
3317
3318
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3319
     symbol of state STATE-NUM.  */
3320
static const yytype_int16 yystos[] =
3321
{
3322
       0,   186,   191,     0,     3,     5,     6,     7,     8,    12,
3323
      13,    15,    52,    53,    57,    59,    60,    61,    62,    63,
3324
      64,    65,    66,    67,    69,    73,    74,    75,    76,    77,
3325
      78,    79,    80,    82,    85,    86,    87,    88,    90,    91,
3326
      92,    94,    96,    98,   101,   105,   106,   107,   108,   109,
3327
     110,   111,   112,   113,   116,   118,   119,   120,   121,   128,
3328
     130,   131,   132,   133,   134,   135,   136,   137,   140,   141,
3329
     142,   144,   145,   146,   147,   148,   149,   150,   151,   152,
3330
     153,   154,   155,   156,   165,   176,   177,   179,   181,   182,
3331
     183,   184,   195,   198,   199,   200,   201,   202,   218,   227,
3332
     230,   233,   236,   237,   239,   241,   255,   261,   262,   263,
3333
     264,   329,   330,   331,   332,   333,   334,   342,   344,   348,
3334
     349,   350,   351,   353,   354,   355,   356,   357,   358,   359,
3335
     360,   371,    75,   119,   128,   199,   331,   334,   331,   331,
3336
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3337
     331,   331,   331,   331,   331,   331,   331,   177,   284,   331,
3338
      31,   177,   119,   128,   177,   195,   199,   234,   235,   236,
3339
     327,   344,   345,   359,   361,   177,   282,   347,   177,   322,
3340
     323,   331,   218,   177,   177,   177,   177,   177,   177,   331,
3341
     352,   352,    75,    75,   215,   321,   352,   179,    75,    76,
3342
      78,   109,   111,   193,   194,   205,   207,   211,   214,   288,
3343
     289,   359,    79,   290,   291,   332,   282,   177,   177,   177,
3344
     177,   232,   238,   240,   242,     3,     5,     6,     7,     8,
3345
       9,    10,    11,    12,    13,    58,    69,    71,    72,    75,
3346
      78,    85,    86,    87,    88,    89,    90,    91,    92,    93,
3347
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
3348
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
3349
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
3350
     124,   128,   129,   130,   131,   132,   134,   135,   136,   137,
3351
     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
3352
     148,   149,   150,   151,   152,   187,   188,   190,   192,   204,
3353
     177,   177,   335,    86,   177,   181,   329,   348,   350,   351,
3354
     358,   358,   331,    79,    81,   166,   167,   168,   368,   369,
3355
     331,   216,    37,    38,   141,   171,   189,   331,   364,   365,
3356
     366,   367,    81,   346,   368,    81,   368,   179,   359,   282,
3357
     119,   198,   201,   332,   134,   236,    71,    72,    71,    72,
3358
      89,     9,    10,    11,    30,    32,    33,    34,    35,    36,
3359
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
3360
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
3361
      58,    68,   176,   189,   338,   338,   169,   169,   157,   158,
3362
     181,   343,    16,    17,    18,    19,    20,    21,    22,    23,
3363
      24,    25,    26,    27,    28,    29,   154,   155,   338,    14,
3364
       3,     5,     6,     7,     8,    12,    13,    30,    69,    75,
3365
      85,    86,    87,   105,   109,   110,   119,   128,   131,   132,
3366
     141,   142,   144,   145,   146,   147,   148,   149,   150,   151,
3367
     152,   171,   178,   190,   285,   286,   331,   331,   331,   327,
3368
     236,   134,   169,   282,   157,   158,   169,   181,   178,   283,
3369
     286,   287,   331,   331,   174,   176,    92,   331,   156,   325,
3370
     326,   331,   331,   215,   331,   331,   176,   176,   176,    16,
3371
     174,   176,   176,   216,   100,   170,   194,   206,   211,   176,
3372
     174,   176,   174,   176,    16,   174,   176,   224,   225,   358,
3373
     331,   372,   373,   331,   178,    75,    75,    75,    75,   176,
3374
     203,   179,   364,   364,   196,   197,   344,   345,   331,   364,
3375
     176,   157,   158,   181,   166,   369,    83,   331,   358,    81,
3376
     166,   369,   178,   133,   180,   199,   200,   217,   218,   177,
3377
     331,   358,    14,   175,   174,   182,   183,   331,   332,   231,
3378
     177,   218,   177,    31,   176,   331,   331,   331,    31,   331,
3379
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3380
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3381
     331,   331,   331,   331,   331,   345,   331,   335,    75,   128,
3382
     226,   335,   179,   190,   359,   362,   179,   190,   359,   362,
3383
      75,   179,   359,   363,   363,   352,   282,   189,   331,   331,
3384
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3385
     331,   331,   331,   331,    31,   174,   208,   174,   178,   178,
3386
     328,   359,   363,   363,   359,   352,   174,   208,   178,   323,
3387
     177,   178,   331,   176,   174,   100,   178,   178,   178,   331,
3388
     321,   180,    75,   179,   170,   176,   176,   194,   214,   289,
3389
     331,   291,   174,   208,   174,   208,   178,   176,   138,   246,
3390
     335,   138,   247,    31,   243,   179,   191,   178,   178,   174,
3391
     208,   282,   178,   175,    75,    75,    53,    75,    79,    84,
3392
     370,   180,   181,   180,   180,   177,   200,   364,   141,   189,
3393
     331,    16,   365,   180,    75,   331,   331,   216,   331,    31,
3394
     177,   335,   177,   331,   282,   331,   282,   331,   282,   282,
3395
     175,   358,    30,   331,   287,   178,   178,   287,   347,   175,
3396
     287,   178,    31,   218,   331,    31,   218,   260,   324,   326,
3397
     331,   156,   331,   141,   181,   189,   249,   358,   219,    31,
3398
     179,   253,   179,   335,   220,   193,   205,   209,   212,   213,
3399
     179,   225,   178,   373,   178,   344,   139,   248,   179,   295,
3400
     344,   335,    30,   119,   142,   143,   177,   195,   271,   272,
3401
     273,   274,   275,   277,   248,   191,   180,    16,   196,   175,
3402
      84,   175,   331,   178,   178,   177,   358,   331,   246,   178,
3403
     178,    89,   331,   119,   120,   121,   122,   123,   124,   125,
3404
     126,   127,   128,   199,   265,   266,   267,   268,   269,   307,
3405
     308,   177,   265,   180,   180,   180,   246,   216,   178,   216,
3406
     176,   174,   331,   177,   364,   358,    14,   178,    31,   218,
3407
     252,   176,   254,   176,   254,   104,   256,   257,   258,   259,
3408
     331,   114,   115,   223,   100,   213,   174,   208,   210,   213,
3409
     176,   295,   335,   292,   174,   179,   272,   272,   275,    37,
3410
      35,    35,    37,   335,   180,   331,   175,   176,   364,   248,
3411
     218,    31,   176,   269,   178,   174,   208,    30,   177,   270,
3412
     276,   277,   278,   279,   280,   308,   265,   178,   248,   176,
3413
      93,   325,   331,   364,   175,   249,    31,   218,   251,   216,
3414
     254,   102,   103,   104,   254,   180,   174,   208,   180,   174,
3415
     208,   174,   208,   177,   179,    75,   212,   180,   174,   208,
3416
     179,   103,   116,   129,   180,   199,   244,   293,   294,   304,
3417
     305,   306,   307,   344,   292,   178,   272,   272,   273,   273,
3418
     272,   179,   180,   178,   335,   216,    31,   281,   267,   277,
3419
     277,   280,    38,   228,    37,    35,    35,    37,   178,   116,
3420
     339,   335,   176,   178,   178,   178,   216,    99,   102,   176,
3421
     331,    31,   176,   180,    14,   258,   331,    14,   221,   344,
3422
     216,   213,   180,   292,   335,   295,   293,   270,   334,   111,
3423
     180,   292,   179,   271,    14,   178,   171,   229,   277,   277,
3424
     278,   278,   277,   281,   177,   281,   179,    31,   218,   250,
3425
     251,    97,   176,   176,    31,   176,   216,   216,   331,   331,
3426
      35,    79,   222,   180,   180,   190,   176,   179,   296,    79,
3427
     309,   310,   311,   338,    75,   119,   142,   143,   188,   271,
3428
     319,   320,   180,   292,   336,    79,   336,    79,   189,   340,
3429
     341,   336,   292,   216,   176,   216,   216,   344,   178,    16,
3430
     245,   119,   180,   190,   297,   298,   299,   300,   301,   302,
3431
     344,    16,   335,   174,   176,   190,    16,    16,    75,   319,
3432
     174,   176,   180,   337,    16,   335,   179,    79,   174,   208,
3433
     179,   180,    95,   179,   331,   176,   180,   298,   176,   176,
3434
     100,   117,   169,   331,   179,    79,   310,   335,   331,   331,
3435
     176,   320,   331,   331,   179,   313,   216,   341,   178,   216,
3436
     176,   216,    75,   187,   308,   295,   190,   335,   312,    16,
3437
     335,   177,   335,   335,   336,   335,   312,   180,   180,   180,
3438
     190,   179,   180,   199,   307,   314,   315,   331,   265,   313,
3439
     180,   336,   336,   312,   315,   338,   335,   178,   180,    75,
3440
     281,   335,   336,   316,   176,   179,   303,   177,   318,   216,
3441
     336,   265,   336,   180,   178,    14,   176,   179,   317,   331,
3442
     216,   336,   176,   180
3443
};
3444
3445
  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
3446
static const yytype_int16 yyr1[] =
3447
{
3448
       0,   185,   186,   187,   187,   187,   187,   187,   187,   187,
3449
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3450
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3451
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3452
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3453
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3454
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3455
     187,   187,   187,   187,   188,   188,   188,   188,   188,   188,
3456
     188,   188,   189,   189,   190,   190,   191,   191,   192,   192,
3457
     193,   193,   194,   194,   195,   195,   195,   195,   196,   196,
3458
     197,   197,   198,   199,   199,   200,   200,   200,   200,   200,
3459
     201,   201,   202,   202,   202,   202,   202,   203,   202,   204,
3460
     202,   202,   202,   202,   202,   205,   205,   206,   207,   208,
3461
     208,   209,   209,   210,   210,   211,   211,   212,   212,   213,
3462
     213,   214,   214,   215,   215,   216,   216,   217,   217,   217,
3463
     217,   218,   218,   218,   218,   218,   218,   218,   218,   218,
3464
     218,   218,   218,   218,   218,   218,   218,   218,   218,   219,
3465
     218,   218,   218,   218,   218,   218,   220,   220,   221,   221,
3466
     222,   222,   223,   223,   224,   224,   225,   226,   226,   227,
3467
     228,   228,   229,   229,   231,   230,   232,   230,   233,   233,
3468
     234,   234,   235,   235,   236,   236,   236,   238,   237,   240,
3469
     239,   242,   241,   243,   243,   244,   245,   245,   246,   246,
3470
     247,   247,   248,   248,   249,   249,   249,   249,   250,   250,
3471
     251,   251,   252,   252,   253,   253,   253,   253,   254,   254,
3472
     254,   254,   254,   255,   256,   256,   257,   257,   258,   258,
3473
     259,   259,   260,   260,   261,   261,   262,   262,   263,   263,
3474
     264,   264,   265,   265,   266,   266,   267,   267,   268,   268,
3475
     269,   269,   270,   270,   271,   271,   271,   271,   272,   272,
3476
     273,   273,   274,   274,   275,   275,   276,   276,   276,   276,
3477
     277,   277,   277,   278,   278,   279,   279,   280,   280,   281,
3478
     281,   282,   282,   283,   283,   284,   284,   284,   285,   285,
3479
     285,   286,   286,   286,   286,   286,   287,   287,   288,   288,
3480
     289,   290,   290,   291,   291,   292,   292,   293,   293,   293,
3481
     293,   293,   293,   294,   294,   294,   295,   295,   296,   296,
3482
     296,   297,   297,   298,   298,   299,   300,   300,   300,   300,
3483
     301,   301,   302,   303,   303,   304,   304,   305,   305,   306,
3484
     306,   307,   307,   308,   308,   308,   308,   308,   308,   308,
3485
     308,   308,   308,   309,   309,   310,   310,   311,   311,   312,
3486
     312,   312,   313,   313,   314,   314,   316,   315,   317,   317,
3487
     317,   318,   318,   319,   319,   320,   320,   321,   322,   322,
3488
     323,   324,   324,   324,   325,   325,   326,   326,   326,   326,
3489
     328,   327,   329,   329,   329,   330,   331,   331,   331,   331,
3490
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3491
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3492
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3493
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3494
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3495
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3496
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3497
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3498
     331,   331,   332,   332,   333,   334,   335,   336,   337,   338,
3499
     338,   339,   339,   340,   340,   341,   341,   342,   342,   342,
3500
     342,   343,   342,   344,   344,   345,   345,   345,   346,   346,
3501
     346,   347,   347,   348,   348,   348,   348,   349,   349,   349,
3502
     349,   349,   349,   349,   349,   350,   350,   350,   350,   350,
3503
     350,   350,   350,   350,   350,   351,   351,   351,   351,   352,
3504
     352,   353,   354,   354,   354,   354,   354,   355,   355,   356,
3505
     356,   356,   356,   357,   357,   357,   357,   357,   358,   358,
3506
     358,   358,   359,   359,   359,   360,   360,   361,   361,   361,
3507
     361,   361,   361,   362,   362,   362,   363,   363,   363,   364,
3508
     365,   365,   366,   366,   367,   367,   367,   367,   367,   367,
3509
     367,   368,   368,   368,   368,   369,   369,   369,   369,   369,
3510
     369,   369,   369,   370,   370,   370,   370,   371,   371,   371,
3511
     371,   371,   371,   371,   372,   372,   373
3512
};
3513
3514
  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
3515
static const yytype_int8 yyr2[] =
3516
{
3517
       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
3518
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3519
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3520
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3521
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3522
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3523
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3524
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3525
       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
3526
       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
3527
       1,     3,     5,     1,     2,     1,     1,     1,     1,     1,
3528
       1,     3,     1,     1,     2,     4,     3,     0,     6,     0,
3529
       5,     3,     4,     3,     4,     1,     1,     6,     6,     0,
3530
       1,     3,     1,     3,     1,     3,     1,     1,     2,     1,
3531
       3,     1,     3,     3,     1,     2,     0,     1,     1,     2,
3532
       4,     3,     1,     1,     5,     7,     9,     5,     3,     3,
3533
       3,     3,     3,     3,     1,     2,     6,     7,     9,     0,
3534
       6,     1,     6,     3,     2,     3,     0,     9,     1,     3,
3535
       0,     1,     0,     4,     1,     3,     1,     1,     1,    13,
3536
       0,     1,     0,     1,     0,    10,     0,     9,     1,     2,
3537
       1,     2,     0,     1,     1,     1,     1,     0,     7,     0,
3538
       8,     0,     9,     0,     2,     5,     0,     2,     0,     2,
3539
       0,     2,     0,     2,     1,     2,     4,     3,     1,     4,
3540
       1,     4,     1,     4,     3,     4,     4,     5,     0,     5,
3541
       5,     4,     4,     7,     0,     2,     1,     3,     4,     4,
3542
       1,     3,     1,     4,     5,     6,     1,     3,     6,     7,
3543
       3,     6,     2,     0,     1,     3,     2,     1,     0,     1,
3544
       7,     9,     0,     1,     1,     2,     1,     1,     1,     1,
3545
       1,     3,     3,     3,     3,     3,     1,     2,     1,     1,
3546
       1,     1,     1,     1,     3,     3,     3,     3,     3,     0,
3547
       2,     2,     4,     1,     3,     2,     4,     4,     3,     1,
3548
       3,     3,     1,     1,     3,     2,     1,     1,     3,     1,
3549
       1,     3,     1,     1,     3,     2,     0,     4,     3,     4,
3550
       5,    12,     1,     1,     2,     3,     1,     3,     1,     2,
3551
       3,     1,     2,     2,     2,     3,     3,     3,     4,     3,
3552
       1,     1,     3,     1,     3,     1,     1,     0,     1,     0,
3553
       1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
3554
       1,     1,     1,     3,     1,     2,     4,     5,     7,     0,
3555
       2,     3,     0,     3,     0,     1,     0,     9,     1,     3,
3556
       3,     0,     3,     3,     1,     4,     4,     4,     3,     1,
3557
       1,     0,     3,     1,     0,     1,     3,     4,     2,     1,
3558
       0,    10,     3,     2,     3,     2,     1,     6,     5,     3,
3559
       4,     2,     2,     3,     3,     3,     3,     3,     3,     3,
3560
       3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
3561
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
3562
       3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
3563
       2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
3564
       3,     3,     3,     3,     1,     1,     5,     4,     3,     1,
3565
       2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
3566
       3,     2,     1,     2,     4,     2,     2,     1,     2,     2,
3567
       3,     1,    13,    12,     1,     1,     0,     0,     0,     0,
3568
       1,     0,     5,     3,     1,     1,     2,     2,     2,     4,
3569
       4,     0,     3,     1,     1,     1,     1,     3,     0,     1,
3570
       1,     0,     1,     4,     3,     1,     3,     1,     1,     3,
3571
       2,     3,     1,     1,     1,     1,     1,     1,     1,     1,
3572
       1,     1,     1,     1,     1,     3,     3,     5,     5,     0,
3573
       1,     1,     1,     3,     1,     1,     1,     1,     1,     1,
3574
       3,     1,     1,     1,     4,     4,     4,     1,     1,     1,
3575
       3,     3,     1,     4,     2,     3,     3,     1,     4,     3,
3576
       3,     3,     3,     1,     3,     1,     1,     3,     1,     1,
3577
       0,     1,     3,     1,     3,     1,     4,     2,     2,     6,
3578
       4,     2,     2,     1,     2,     1,     4,     3,     3,     3,
3579
       3,     6,     3,     1,     1,     2,     1,     5,     4,     2,
3580
       2,     4,     2,     2,     1,     3,     1
3581
};
3582
3583
3584
#define yyerrok         (yyerrstatus = 0)
3585
#define yyclearin       (yychar = YYEMPTY)
3586
408k
#define YYEMPTY         (-2)
3587
259k
#define YYEOF           0
3588
3589
4.94k
#define YYACCEPT        goto yyacceptlab
3590
2.12k
#define YYABORT         goto yyabortlab
3591
28
#define YYERROR         goto yyerrorlab
3592
3593
3594
#define YYRECOVERING()  (!!yyerrstatus)
3595
3596
#define YYBACKUP(Token, Value)                                    \
3597
  do                                                              \
3598
    if (yychar == YYEMPTY)                                        \
3599
      {                                                           \
3600
        yychar = (Token);                                         \
3601
        yylval = (Value);                                         \
3602
        YYPOPSTACK (yylen);                                       \
3603
        yystate = *yyssp;                                         \
3604
        goto yybackup;                                            \
3605
      }                                                           \
3606
    else                                                          \
3607
      {                                                           \
3608
        yyerror (YY_("syntax error: cannot back up")); \
3609
        YYERROR;                                                  \
3610
      }                                                           \
3611
  while (0)
3612
3613
/* Error token number */
3614
170k
#define YYTERROR        1
3615
#define YYERRCODE       256
3616
3617
3618
3619
/* Enable debugging if requested.  */
3620
#if ZENDDEBUG
3621
3622
# ifndef YYFPRINTF
3623
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3624
#  define YYFPRINTF fprintf
3625
# endif
3626
3627
# define YYDPRINTF(Args)                        \
3628
do {                                            \
3629
  if (yydebug)                                  \
3630
    YYFPRINTF Args;                             \
3631
} while (0)
3632
3633
/* This macro is provided for backward compatibility. */
3634
#ifndef YY_LOCATION_PRINT
3635
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3636
#endif
3637
3638
3639
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
3640
do {                                                                      \
3641
  if (yydebug)                                                            \
3642
    {                                                                     \
3643
      YYFPRINTF (stderr, "%s ", Title);                                   \
3644
      yy_symbol_print (stderr,                                            \
3645
                  Type, Value); \
3646
      YYFPRINTF (stderr, "\n");                                           \
3647
    }                                                                     \
3648
} while (0)
3649
3650
3651
/*-----------------------------------.
3652
| Print this symbol's value on YYO.  |
3653
`-----------------------------------*/
3654
3655
static void
3656
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
3657
{
3658
  FILE *yyoutput = yyo;
3659
  YYUSE (yyoutput);
3660
  if (!yyvaluep)
3661
    return;
3662
# ifdef YYPRINT
3663
  if (yytype < YYNTOKENS)
3664
    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
3665
# endif
3666
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3667
  YYUSE (yytype);
3668
  YY_IGNORE_MAYBE_UNINITIALIZED_END
3669
}
3670
3671
3672
/*---------------------------.
3673
| Print this symbol on YYO.  |
3674
`---------------------------*/
3675
3676
static void
3677
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
3678
{
3679
  YYFPRINTF (yyo, "%s %s (",
3680
             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3681
3682
  yy_symbol_value_print (yyo, yytype, yyvaluep);
3683
  YYFPRINTF (yyo, ")");
3684
}
3685
3686
/*------------------------------------------------------------------.
3687
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
3688
| TOP (included).                                                   |
3689
`------------------------------------------------------------------*/
3690
3691
static void
3692
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
3693
{
3694
  YYFPRINTF (stderr, "Stack now");
3695
  for (; yybottom <= yytop; yybottom++)
3696
    {
3697
      int yybot = *yybottom;
3698
      YYFPRINTF (stderr, " %d", yybot);
3699
    }
3700
  YYFPRINTF (stderr, "\n");
3701
}
3702
3703
# define YY_STACK_PRINT(Bottom, Top)                            \
3704
do {                                                            \
3705
  if (yydebug)                                                  \
3706
    yy_stack_print ((Bottom), (Top));                           \
3707
} while (0)
3708
3709
3710
/*------------------------------------------------.
3711
| Report that the YYRULE is going to be reduced.  |
3712
`------------------------------------------------*/
3713
3714
static void
3715
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
3716
{
3717
  int yylno = yyrline[yyrule];
3718
  int yynrhs = yyr2[yyrule];
3719
  int yyi;
3720
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
3721
             yyrule - 1, yylno);
3722
  /* The symbols being reduced.  */
3723
  for (yyi = 0; yyi < yynrhs; yyi++)
3724
    {
3725
      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
3726
      yy_symbol_print (stderr,
3727
                       yystos[+yyssp[yyi + 1 - yynrhs]],
3728
                       &yyvsp[(yyi + 1) - (yynrhs)]
3729
                                              );
3730
      YYFPRINTF (stderr, "\n");
3731
    }
3732
}
3733
3734
# define YY_REDUCE_PRINT(Rule)          \
3735
do {                                    \
3736
  if (yydebug)                          \
3737
    yy_reduce_print (yyssp, yyvsp, Rule); \
3738
} while (0)
3739
3740
/* Nonzero means print parse trace.  It is left uninitialized so that
3741
   multiple parsers can coexist.  */
3742
int yydebug;
3743
#else /* !ZENDDEBUG */
3744
# define YYDPRINTF(Args)
3745
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3746
# define YY_STACK_PRINT(Bottom, Top)
3747
# define YY_REDUCE_PRINT(Rule)
3748
#endif /* !ZENDDEBUG */
3749
3750
3751
/* YYINITDEPTH -- initial size of the parser's stacks.  */
3752
#ifndef YYINITDEPTH
3753
7.07k
# define YYINITDEPTH 200
3754
#endif
3755
3756
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3757
   if the built-in stack extension method is used).
3758
3759
   Do not make this value too large; the results are undefined if
3760
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3761
   evaluated with infinite-precision integer arithmetic.  */
3762
3763
#ifndef YYMAXDEPTH
3764
0
# define YYMAXDEPTH 10000
3765
#endif
3766
3767
3768
#if YYERROR_VERBOSE
3769
3770
# ifndef yystrlen
3771
#  if defined __GLIBC__ && defined _STRING_H
3772
2.09k
#   define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
3773
#  else
3774
/* Return the length of YYSTR.  */
3775
static YYPTRDIFF_T
3776
yystrlen (const char *yystr)
3777
{
3778
  YYPTRDIFF_T yylen;
3779
  for (yylen = 0; yystr[yylen]; yylen++)
3780
    continue;
3781
  return yylen;
3782
}
3783
#  endif
3784
# endif
3785
3786
# ifndef yystpcpy
3787
#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3788
2.09k
#   define yystpcpy stpcpy
3789
#  else
3790
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3791
   YYDEST.  */
3792
static char *
3793
yystpcpy (char *yydest, const char *yysrc)
3794
{
3795
  char *yyd = yydest;
3796
  const char *yys = yysrc;
3797
3798
  while ((*yyd++ = *yys++) != '\0')
3799
    continue;
3800
3801
  return yyd - 1;
3802
}
3803
#  endif
3804
# endif
3805
3806
# ifndef yytnamerr
3807
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3808
   quotes and backslashes, so that it's suitable for yyerror.  The
3809
   heuristic is that double-quoting is unnecessary unless the string
3810
   contains an apostrophe, a comma, or backslash (other than
3811
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3812
   null, do not copy; instead, return the length of what the result
3813
   would have been.  */
3814
static YYPTRDIFF_T
3815
yytnamerr (char *yyres, const char *yystr)
3816
{
3817
  if (*yystr == '"')
3818
    {
3819
      YYPTRDIFF_T yyn = 0;
3820
      char const *yyp = yystr;
3821
3822
      for (;;)
3823
        switch (*++yyp)
3824
          {
3825
          case '\'':
3826
          case ',':
3827
            goto do_not_strip_quotes;
3828
3829
          case '\\':
3830
            if (*++yyp != '\\')
3831
              goto do_not_strip_quotes;
3832
            else
3833
              goto append;
3834
3835
          append:
3836
          default:
3837
            if (yyres)
3838
              yyres[yyn] = *yyp;
3839
            yyn++;
3840
            break;
3841
3842
          case '"':
3843
            if (yyres)
3844
              yyres[yyn] = '\0';
3845
            return yyn;
3846
          }
3847
    do_not_strip_quotes: ;
3848
    }
3849
3850
  if (yyres)
3851
    return yystpcpy (yyres, yystr) - yyres;
3852
  else
3853
    return yystrlen (yystr);
3854
}
3855
# endif
3856
3857
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
3858
   about the unexpected token YYTOKEN for the state stack whose top is
3859
   YYSSP.
3860
3861
   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
3862
   not large enough to hold the message.  In that case, also set
3863
   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
3864
   required number of bytes is too large to store.  */
3865
static int
3866
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
3867
                yy_state_t *yyssp, int yytoken)
3868
2.09k
{
3869
2.09k
  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3870
  /* Internationalized format string. */
3871
2.09k
  const char *yyformat = YY_NULLPTR;
3872
  /* Arguments of yyformat: reported tokens (one for the "unexpected",
3873
     one per "expected"). */
3874
2.09k
  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3875
  /* Actual size of YYARG. */
3876
2.09k
  int yycount = 0;
3877
  /* Cumulated lengths of YYARG.  */
3878
2.09k
  YYPTRDIFF_T yysize = 0;
3879
3880
  /* There are many possibilities here to consider:
3881
     - If this state is a consistent state with a default action, then
3882
       the only way this function was invoked is if the default action
3883
       is an error action.  In that case, don't check for expected
3884
       tokens because there are none.
3885
     - The only way there can be no lookahead present (in yychar) is if
3886
       this state is a consistent state with a default action.  Thus,
3887
       detecting the absence of a lookahead is sufficient to determine
3888
       that there is no unexpected or expected token to report.  In that
3889
       case, just report a simple "syntax error".
3890
     - Don't assume there isn't a lookahead just because this state is a
3891
       consistent state with a default action.  There might have been a
3892
       previous inconsistent state, consistent state with a non-default
3893
       action, or user semantic action that manipulated yychar.
3894
     - Of course, the expected token list depends on states to have
3895
       correct lookahead information, and it depends on the parser not
3896
       to perform extra reductions after fetching a lookahead from the
3897
       scanner and before detecting a syntax error.  Thus, state merging
3898
       (from LALR or IELR) and default reductions corrupt the expected
3899
       token list.  However, the list is correct for canonical LR with
3900
       one exception: it will still contain any token that will not be
3901
       accepted due to an error action in a later state.
3902
  */
3903
2.09k
  if (yytoken != YYEMPTY)
3904
2.09k
    {
3905
2.09k
      int yyn = yypact[+*yyssp];
3906
2.09k
      YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
3907
2.09k
      yysize = yysize0;
3908
2.09k
      yyarg[yycount++] = yytname[yytoken];
3909
2.09k
      if (!yypact_value_is_default (yyn))
3910
2.09k
        {
3911
          /* Start YYX at -YYN if negative to avoid negative indexes in
3912
             YYCHECK.  In other words, skip the first -YYN actions for
3913
             this state because they are default actions.  */
3914
2.09k
          int yyxbegin = yyn < 0 ? -yyn : 0;
3915
          /* Stay within bounds of both yycheck and yytname.  */
3916
2.09k
          int yychecklim = YYLAST - yyn + 1;
3917
2.09k
          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3918
2.09k
          int yyx;
3919
3920
130k
          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3921
130k
            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
3922
8.97k
                && !yytable_value_is_error (yytable[yyx + yyn]))
3923
8.96k
              {
3924
8.96k
                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3925
1.61k
                  {
3926
1.61k
                    yycount = 1;
3927
1.61k
                    yysize = yysize0;
3928
1.61k
                    break;
3929
1.61k
                  }
3930
7.34k
                yyarg[yycount++] = yytname[yyx];
3931
7.34k
                {
3932
7.34k
                  YYPTRDIFF_T yysize1
3933
7.34k
                    = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
3934
7.34k
                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
3935
7.34k
                    yysize = yysize1;
3936
0
                  else
3937
0
                    return 2;
3938
7.34k
                }
3939
7.34k
              }
3940
2.09k
        }
3941
2.09k
    }
3942
3943
2.09k
  switch (yycount)
3944
2.09k
    {
3945
0
# define YYCASE_(N, S)                      \
3946
2.09k
      case N:                               \
3947
2.09k
        yyformat = S;                       \
3948
2.09k
      break
3949
0
    default: /* Avoid compiler warnings. */
3950
0
      YYCASE_(0, YY_("syntax error"));
3951
1.61k
      YYCASE_(1, YY_("syntax error, unexpected %s"));
3952
309
      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
3953
22
      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
3954
66
      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
3955
2.09k
      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3956
2.09k
# undef YYCASE_
3957
2.09k
    }
3958
3959
2.09k
  {
3960
    /* Don't count the "%s"s in the final size, but reserve room for
3961
       the terminator.  */
3962
2.09k
    YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1;
3963
2.09k
    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
3964
2.09k
      yysize = yysize1;
3965
0
    else
3966
0
      return 2;
3967
2.09k
  }
3968
3969
2.09k
  if (*yymsg_alloc < yysize)
3970
0
    {
3971
0
      *yymsg_alloc = 2 * yysize;
3972
0
      if (! (yysize <= *yymsg_alloc
3973
0
             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
3974
0
        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
3975
0
      return 1;
3976
0
    }
3977
3978
  /* Avoid sprintf, as that infringes on the user's name space.
3979
     Don't have undefined behavior even if the translation
3980
     produced a string with the wrong number of "%s"s.  */
3981
2.09k
  {
3982
2.09k
    char *yyp = *yymsg;
3983
2.09k
    int yyi = 0;
3984
64.9k
    while ((*yyp = *yyformat) != '\0')
3985
62.8k
      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
3986
2.98k
        {
3987
2.98k
          yyp += yytnamerr (yyp, yyarg[yyi++]);
3988
2.98k
          yyformat += 2;
3989
2.98k
        }
3990
59.8k
      else
3991
59.8k
        {
3992
59.8k
          ++yyp;
3993
59.8k
          ++yyformat;
3994
59.8k
        }
3995
2.09k
  }
3996
2.09k
  return 0;
3997
2.09k
}
3998
#endif /* YYERROR_VERBOSE */
3999
4000
/*-----------------------------------------------.
4001
| Release the memory associated to this symbol.  |
4002
`-----------------------------------------------*/
4003
4004
static void
4005
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
4006
28.9k
{
4007
28.9k
  YYUSE (yyvaluep);
4008
28.9k
  if (!yymsg)
4009
0
    yymsg = "Deleting";
4010
28.9k
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
4011
4012
28.9k
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4013
28.9k
  switch (yytype)
4014
28.9k
    {
4015
6
    case 73: /* "integer"  */
4016
6
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4017
6
            { zend_ast_destroy(((*yyvaluep).ast)); }
4018
6
#line 4019 "/src/php-src/Zend/zend_language_parser.c"
4019
6
        break;
4020
4021
17
    case 74: /* "floating-point number"  */
4022
17
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4023
17
            { zend_ast_destroy(((*yyvaluep).ast)); }
4024
17
#line 4025 "/src/php-src/Zend/zend_language_parser.c"
4025
17
        break;
4026
4027
312
    case 75: /* "identifier"  */
4028
312
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4029
312
            { zend_ast_destroy(((*yyvaluep).ast)); }
4030
312
#line 4031 "/src/php-src/Zend/zend_language_parser.c"
4031
312
        break;
4032
4033
6
    case 76: /* "fully qualified name"  */
4034
6
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4035
6
            { zend_ast_destroy(((*yyvaluep).ast)); }
4036
6
#line 4037 "/src/php-src/Zend/zend_language_parser.c"
4037
6
        break;
4038
4039
10
    case 77: /* "namespace-relative name"  */
4040
10
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4041
10
            { zend_ast_destroy(((*yyvaluep).ast)); }
4042
10
#line 4043 "/src/php-src/Zend/zend_language_parser.c"
4043
10
        break;
4044
4045
4
    case 78: /* "namespaced name"  */
4046
4
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4047
4
            { zend_ast_destroy(((*yyvaluep).ast)); }
4048
4
#line 4049 "/src/php-src/Zend/zend_language_parser.c"
4049
4
        break;
4050
4051
86
    case 79: /* "variable"  */
4052
86
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4053
86
            { zend_ast_destroy(((*yyvaluep).ast)); }
4054
86
#line 4055 "/src/php-src/Zend/zend_language_parser.c"
4055
86
        break;
4056
4057
0
    case 80: /* T_INLINE_HTML  */
4058
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4059
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4060
0
#line 4061 "/src/php-src/Zend/zend_language_parser.c"
4061
0
        break;
4062
4063
1.16k
    case 81: /* "string content"  */
4064
1.16k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4065
1.16k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4066
1.16k
#line 4067 "/src/php-src/Zend/zend_language_parser.c"
4067
1.16k
        break;
4068
4069
11
    case 82: /* "quoted string"  */
4070
11
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4071
11
            { zend_ast_destroy(((*yyvaluep).ast)); }
4072
11
#line 4073 "/src/php-src/Zend/zend_language_parser.c"
4073
11
        break;
4074
4075
2
    case 83: /* "variable name"  */
4076
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4077
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4078
2
#line 4079 "/src/php-src/Zend/zend_language_parser.c"
4079
2
        break;
4080
4081
1
    case 84: /* "number"  */
4082
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4083
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4084
1
#line 4085 "/src/php-src/Zend/zend_language_parser.c"
4085
1
        break;
4086
4087
19
    case 190: /* identifier  */
4088
19
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4089
19
            { zend_ast_destroy(((*yyvaluep).ast)); }
4090
19
#line 4091 "/src/php-src/Zend/zend_language_parser.c"
4091
19
        break;
4092
4093
2.09k
    case 191: /* top_statement_list  */
4094
2.09k
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4095
2.09k
            { zend_ast_destroy(((*yyvaluep).ast)); }
4096
2.09k
#line 4097 "/src/php-src/Zend/zend_language_parser.c"
4097
2.09k
        break;
4098
4099
4
    case 192: /* namespace_declaration_name  */
4100
4
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4101
4
            { zend_ast_destroy(((*yyvaluep).ast)); }
4102
4
#line 4103 "/src/php-src/Zend/zend_language_parser.c"
4103
4
        break;
4104
4105
0
    case 193: /* namespace_name  */
4106
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4107
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4108
0
#line 4109 "/src/php-src/Zend/zend_language_parser.c"
4109
0
        break;
4110
4111
6
    case 194: /* legacy_namespace_name  */
4112
6
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4113
6
            { zend_ast_destroy(((*yyvaluep).ast)); }
4114
6
#line 4115 "/src/php-src/Zend/zend_language_parser.c"
4115
6
        break;
4116
4117
217
    case 195: /* name  */
4118
217
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4119
217
            { zend_ast_destroy(((*yyvaluep).ast)); }
4120
217
#line 4121 "/src/php-src/Zend/zend_language_parser.c"
4121
217
        break;
4122
4123
0
    case 196: /* attribute_decl  */
4124
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4125
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4126
0
#line 4127 "/src/php-src/Zend/zend_language_parser.c"
4127
0
        break;
4128
4129
4
    case 197: /* attribute_group  */
4130
4
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4131
4
            { zend_ast_destroy(((*yyvaluep).ast)); }
4132
4
#line 4133 "/src/php-src/Zend/zend_language_parser.c"
4133
4
        break;
4134
4135
0
    case 198: /* attribute  */
4136
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4137
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4138
0
#line 4139 "/src/php-src/Zend/zend_language_parser.c"
4139
0
        break;
4140
4141
4
    case 199: /* attributes  */
4142
4
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4143
4
            { zend_ast_destroy(((*yyvaluep).ast)); }
4144
4
#line 4145 "/src/php-src/Zend/zend_language_parser.c"
4145
4
        break;
4146
4147
0
    case 200: /* attributed_statement  */
4148
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4149
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4150
0
#line 4151 "/src/php-src/Zend/zend_language_parser.c"
4151
0
        break;
4152
4153
0
    case 201: /* attributed_top_statement  */
4154
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4155
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4156
0
#line 4157 "/src/php-src/Zend/zend_language_parser.c"
4157
0
        break;
4158
4159
0
    case 202: /* top_statement  */
4160
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4161
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4162
0
#line 4163 "/src/php-src/Zend/zend_language_parser.c"
4163
0
        break;
4164
4165
0
    case 206: /* group_use_declaration  */
4166
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4167
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4168
0
#line 4169 "/src/php-src/Zend/zend_language_parser.c"
4169
0
        break;
4170
4171
0
    case 207: /* mixed_group_use_declaration  */
4172
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4173
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4174
0
#line 4175 "/src/php-src/Zend/zend_language_parser.c"
4175
0
        break;
4176
4177
2
    case 209: /* inline_use_declarations  */
4178
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4179
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4180
2
#line 4181 "/src/php-src/Zend/zend_language_parser.c"
4181
2
        break;
4182
4183
1
    case 210: /* unprefixed_use_declarations  */
4184
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4185
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4186
1
#line 4187 "/src/php-src/Zend/zend_language_parser.c"
4187
1
        break;
4188
4189
1
    case 211: /* use_declarations  */
4190
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4191
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4192
1
#line 4193 "/src/php-src/Zend/zend_language_parser.c"
4193
1
        break;
4194
4195
0
    case 212: /* inline_use_declaration  */
4196
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4197
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4198
0
#line 4199 "/src/php-src/Zend/zend_language_parser.c"
4199
0
        break;
4200
4201
0
    case 213: /* unprefixed_use_declaration  */
4202
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4203
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4204
0
#line 4205 "/src/php-src/Zend/zend_language_parser.c"
4205
0
        break;
4206
4207
0
    case 214: /* use_declaration  */
4208
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4209
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4210
0
#line 4211 "/src/php-src/Zend/zend_language_parser.c"
4211
0
        break;
4212
4213
7
    case 215: /* const_list  */
4214
7
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4215
7
            { zend_ast_destroy(((*yyvaluep).ast)); }
4216
7
#line 4217 "/src/php-src/Zend/zend_language_parser.c"
4217
7
        break;
4218
4219
135
    case 216: /* inner_statement_list  */
4220
135
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4221
135
            { zend_ast_destroy(((*yyvaluep).ast)); }
4222
135
#line 4223 "/src/php-src/Zend/zend_language_parser.c"
4223
135
        break;
4224
4225
0
    case 217: /* inner_statement  */
4226
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4227
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4228
0
#line 4229 "/src/php-src/Zend/zend_language_parser.c"
4229
0
        break;
4230
4231
0
    case 218: /* statement  */
4232
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4233
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4234
0
#line 4235 "/src/php-src/Zend/zend_language_parser.c"
4235
0
        break;
4236
4237
3
    case 220: /* catch_list  */
4238
3
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4239
3
            { zend_ast_destroy(((*yyvaluep).ast)); }
4240
3
#line 4241 "/src/php-src/Zend/zend_language_parser.c"
4241
3
        break;
4242
4243
1
    case 221: /* catch_name_list  */
4244
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4245
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4246
1
#line 4247 "/src/php-src/Zend/zend_language_parser.c"
4247
1
        break;
4248
4249
1
    case 222: /* optional_variable  */
4250
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4251
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4252
1
#line 4253 "/src/php-src/Zend/zend_language_parser.c"
4253
1
        break;
4254
4255
0
    case 223: /* finally_statement  */
4256
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4257
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4258
0
#line 4259 "/src/php-src/Zend/zend_language_parser.c"
4259
0
        break;
4260
4261
0
    case 224: /* unset_variables  */
4262
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4263
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4264
0
#line 4265 "/src/php-src/Zend/zend_language_parser.c"
4265
0
        break;
4266
4267
0
    case 225: /* unset_variable  */
4268
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4269
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4270
0
#line 4271 "/src/php-src/Zend/zend_language_parser.c"
4271
0
        break;
4272
4273
31
    case 226: /* function_name  */
4274
31
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4275
31
            { zend_ast_destroy(((*yyvaluep).ast)); }
4276
31
#line 4277 "/src/php-src/Zend/zend_language_parser.c"
4277
31
        break;
4278
4279
0
    case 227: /* function_declaration_statement  */
4280
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4281
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4282
0
#line 4283 "/src/php-src/Zend/zend_language_parser.c"
4283
0
        break;
4284
4285
0
    case 230: /* class_declaration_statement  */
4286
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4287
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4288
0
#line 4289 "/src/php-src/Zend/zend_language_parser.c"
4289
0
        break;
4290
4291
0
    case 237: /* trait_declaration_statement  */
4292
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4293
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4294
0
#line 4295 "/src/php-src/Zend/zend_language_parser.c"
4295
0
        break;
4296
4297
0
    case 239: /* interface_declaration_statement  */
4298
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4299
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4300
0
#line 4301 "/src/php-src/Zend/zend_language_parser.c"
4301
0
        break;
4302
4303
0
    case 241: /* enum_declaration_statement  */
4304
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4305
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4306
0
#line 4307 "/src/php-src/Zend/zend_language_parser.c"
4307
0
        break;
4308
4309
20
    case 243: /* enum_backing_type  */
4310
20
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4311
20
            { zend_ast_destroy(((*yyvaluep).ast)); }
4312
20
#line 4313 "/src/php-src/Zend/zend_language_parser.c"
4313
20
        break;
4314
4315
0
    case 244: /* enum_case  */
4316
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4317
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4318
0
#line 4319 "/src/php-src/Zend/zend_language_parser.c"
4319
0
        break;
4320
4321
0
    case 245: /* enum_case_expr  */
4322
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4323
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4324
0
#line 4325 "/src/php-src/Zend/zend_language_parser.c"
4325
0
        break;
4326
4327
82
    case 246: /* extends_from  */
4328
82
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4329
82
            { zend_ast_destroy(((*yyvaluep).ast)); }
4330
82
#line 4331 "/src/php-src/Zend/zend_language_parser.c"
4331
82
        break;
4332
4333
1
    case 247: /* interface_extends_list  */
4334
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4335
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4336
1
#line 4337 "/src/php-src/Zend/zend_language_parser.c"
4337
1
        break;
4338
4339
102
    case 248: /* implements_list  */
4340
102
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4341
102
            { zend_ast_destroy(((*yyvaluep).ast)); }
4342
102
#line 4343 "/src/php-src/Zend/zend_language_parser.c"
4343
102
        break;
4344
4345
4
    case 249: /* foreach_variable  */
4346
4
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4347
4
            { zend_ast_destroy(((*yyvaluep).ast)); }
4348
4
#line 4349 "/src/php-src/Zend/zend_language_parser.c"
4349
4
        break;
4350
4351
0
    case 250: /* for_statement  */
4352
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4353
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4354
0
#line 4355 "/src/php-src/Zend/zend_language_parser.c"
4355
0
        break;
4356
4357
0
    case 251: /* foreach_statement  */
4358
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4359
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4360
0
#line 4361 "/src/php-src/Zend/zend_language_parser.c"
4361
0
        break;
4362
4363
0
    case 252: /* declare_statement  */
4364
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4365
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4366
0
#line 4367 "/src/php-src/Zend/zend_language_parser.c"
4367
0
        break;
4368
4369
0
    case 253: /* switch_case_list  */
4370
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4371
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4372
0
#line 4373 "/src/php-src/Zend/zend_language_parser.c"
4373
0
        break;
4374
4375
3
    case 254: /* case_list  */
4376
3
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4377
3
            { zend_ast_destroy(((*yyvaluep).ast)); }
4378
3
#line 4379 "/src/php-src/Zend/zend_language_parser.c"
4379
3
        break;
4380
4381
0
    case 255: /* match  */
4382
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4383
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4384
0
#line 4385 "/src/php-src/Zend/zend_language_parser.c"
4385
0
        break;
4386
4387
0
    case 256: /* match_arm_list  */
4388
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4389
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4390
0
#line 4391 "/src/php-src/Zend/zend_language_parser.c"
4391
0
        break;
4392
4393
1
    case 257: /* non_empty_match_arm_list  */
4394
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4395
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4396
1
#line 4397 "/src/php-src/Zend/zend_language_parser.c"
4397
1
        break;
4398
4399
0
    case 258: /* match_arm  */
4400
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4401
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4402
0
#line 4403 "/src/php-src/Zend/zend_language_parser.c"
4403
0
        break;
4404
4405
3
    case 259: /* match_arm_cond_list  */
4406
3
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4407
3
            { zend_ast_destroy(((*yyvaluep).ast)); }
4408
3
#line 4409 "/src/php-src/Zend/zend_language_parser.c"
4409
3
        break;
4410
4411
0
    case 260: /* while_statement  */
4412
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4413
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4414
0
#line 4415 "/src/php-src/Zend/zend_language_parser.c"
4415
0
        break;
4416
4417
0
    case 261: /* if_stmt_without_else  */
4418
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4419
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4420
0
#line 4421 "/src/php-src/Zend/zend_language_parser.c"
4421
0
        break;
4422
4423
0
    case 262: /* if_stmt  */
4424
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4425
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4426
0
#line 4427 "/src/php-src/Zend/zend_language_parser.c"
4427
0
        break;
4428
4429
1
    case 263: /* alt_if_stmt_without_else  */
4430
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4431
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4432
1
#line 4433 "/src/php-src/Zend/zend_language_parser.c"
4433
1
        break;
4434
4435
0
    case 264: /* alt_if_stmt  */
4436
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4437
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4438
0
#line 4439 "/src/php-src/Zend/zend_language_parser.c"
4439
0
        break;
4440
4441
42
    case 265: /* parameter_list  */
4442
42
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4443
42
            { zend_ast_destroy(((*yyvaluep).ast)); }
4444
42
#line 4445 "/src/php-src/Zend/zend_language_parser.c"
4445
42
        break;
4446
4447
1
    case 266: /* non_empty_parameter_list  */
4448
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4449
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4450
1
#line 4451 "/src/php-src/Zend/zend_language_parser.c"
4451
1
        break;
4452
4453
0
    case 267: /* attributed_parameter  */
4454
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4455
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4456
0
#line 4457 "/src/php-src/Zend/zend_language_parser.c"
4457
0
        break;
4458
4459
0
    case 269: /* parameter  */
4460
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4461
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4462
0
#line 4463 "/src/php-src/Zend/zend_language_parser.c"
4463
0
        break;
4464
4465
32
    case 270: /* optional_type_without_static  */
4466
32
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4467
32
            { zend_ast_destroy(((*yyvaluep).ast)); }
4468
32
#line 4469 "/src/php-src/Zend/zend_language_parser.c"
4469
32
        break;
4470
4471
2
    case 271: /* type_expr  */
4472
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4473
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4474
2
#line 4475 "/src/php-src/Zend/zend_language_parser.c"
4475
2
        break;
4476
4477
1
    case 272: /* type  */
4478
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4479
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4480
1
#line 4481 "/src/php-src/Zend/zend_language_parser.c"
4481
1
        break;
4482
4483
1
    case 273: /* union_type_element  */
4484
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4485
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4486
1
#line 4487 "/src/php-src/Zend/zend_language_parser.c"
4487
1
        break;
4488
4489
0
    case 274: /* union_type  */
4490
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4491
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4492
0
#line 4493 "/src/php-src/Zend/zend_language_parser.c"
4493
0
        break;
4494
4495
1
    case 275: /* intersection_type  */
4496
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4497
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4498
1
#line 4499 "/src/php-src/Zend/zend_language_parser.c"
4499
1
        break;
4500
4501
0
    case 276: /* type_expr_without_static  */
4502
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4503
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4504
0
#line 4505 "/src/php-src/Zend/zend_language_parser.c"
4505
0
        break;
4506
4507
2
    case 277: /* type_without_static  */
4508
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4509
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4510
2
#line 4511 "/src/php-src/Zend/zend_language_parser.c"
4511
2
        break;
4512
4513
2
    case 278: /* union_type_without_static_element  */
4514
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4515
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4516
2
#line 4517 "/src/php-src/Zend/zend_language_parser.c"
4517
2
        break;
4518
4519
1
    case 279: /* union_type_without_static  */
4520
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4521
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4522
1
#line 4523 "/src/php-src/Zend/zend_language_parser.c"
4523
1
        break;
4524
4525
1
    case 280: /* intersection_type_without_static  */
4526
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4527
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4528
1
#line 4529 "/src/php-src/Zend/zend_language_parser.c"
4529
1
        break;
4530
4531
39
    case 281: /* return_type  */
4532
39
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4533
39
            { zend_ast_destroy(((*yyvaluep).ast)); }
4534
39
#line 4535 "/src/php-src/Zend/zend_language_parser.c"
4535
39
        break;
4536
4537
0
    case 282: /* argument_list  */
4538
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4539
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4540
0
#line 4541 "/src/php-src/Zend/zend_language_parser.c"
4541
0
        break;
4542
4543
72
    case 283: /* non_empty_argument_list  */
4544
72
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4545
72
            { zend_ast_destroy(((*yyvaluep).ast)); }
4546
72
#line 4547 "/src/php-src/Zend/zend_language_parser.c"
4547
72
        break;
4548
4549
0
    case 284: /* clone_argument_list  */
4550
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4551
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4552
0
#line 4553 "/src/php-src/Zend/zend_language_parser.c"
4553
0
        break;
4554
4555
0
    case 285: /* non_empty_clone_argument_list  */
4556
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4557
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4558
0
#line 4559 "/src/php-src/Zend/zend_language_parser.c"
4559
0
        break;
4560
4561
0
    case 286: /* argument_no_expr  */
4562
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4563
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4564
0
#line 4565 "/src/php-src/Zend/zend_language_parser.c"
4565
0
        break;
4566
4567
0
    case 287: /* argument  */
4568
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4569
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4570
0
#line 4571 "/src/php-src/Zend/zend_language_parser.c"
4571
0
        break;
4572
4573
1
    case 288: /* global_var_list  */
4574
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4575
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4576
1
#line 4577 "/src/php-src/Zend/zend_language_parser.c"
4577
1
        break;
4578
4579
0
    case 289: /* global_var  */
4580
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4581
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4582
0
#line 4583 "/src/php-src/Zend/zend_language_parser.c"
4583
0
        break;
4584
4585
0
    case 290: /* static_var_list  */
4586
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4587
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4588
0
#line 4589 "/src/php-src/Zend/zend_language_parser.c"
4589
0
        break;
4590
4591
0
    case 291: /* static_var  */
4592
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4593
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4594
0
#line 4595 "/src/php-src/Zend/zend_language_parser.c"
4595
0
        break;
4596
4597
82
    case 292: /* class_statement_list  */
4598
82
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4599
82
            { zend_ast_destroy(((*yyvaluep).ast)); }
4600
82
#line 4601 "/src/php-src/Zend/zend_language_parser.c"
4601
82
        break;
4602
4603
0
    case 293: /* attributed_class_statement  */
4604
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4605
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4606
0
#line 4607 "/src/php-src/Zend/zend_language_parser.c"
4607
0
        break;
4608
4609
0
    case 294: /* class_statement  */
4610
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4611
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4612
0
#line 4613 "/src/php-src/Zend/zend_language_parser.c"
4613
0
        break;
4614
4615
5
    case 295: /* class_name_list  */
4616
5
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4617
5
            { zend_ast_destroy(((*yyvaluep).ast)); }
4618
5
#line 4619 "/src/php-src/Zend/zend_language_parser.c"
4619
5
        break;
4620
4621
0
    case 296: /* trait_adaptations  */
4622
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4623
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4624
0
#line 4625 "/src/php-src/Zend/zend_language_parser.c"
4625
0
        break;
4626
4627
1
    case 297: /* trait_adaptation_list  */
4628
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4629
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4630
1
#line 4631 "/src/php-src/Zend/zend_language_parser.c"
4631
1
        break;
4632
4633
0
    case 298: /* trait_adaptation  */
4634
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4635
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4636
0
#line 4637 "/src/php-src/Zend/zend_language_parser.c"
4637
0
        break;
4638
4639
0
    case 299: /* trait_precedence  */
4640
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4641
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4642
0
#line 4643 "/src/php-src/Zend/zend_language_parser.c"
4643
0
        break;
4644
4645
0
    case 300: /* trait_alias  */
4646
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4647
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4648
0
#line 4649 "/src/php-src/Zend/zend_language_parser.c"
4649
0
        break;
4650
4651
1
    case 301: /* trait_method_reference  */
4652
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4653
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4654
1
#line 4655 "/src/php-src/Zend/zend_language_parser.c"
4655
1
        break;
4656
4657
1
    case 302: /* absolute_trait_method_reference  */
4658
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4659
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4660
1
#line 4661 "/src/php-src/Zend/zend_language_parser.c"
4661
1
        break;
4662
4663
0
    case 303: /* method_body  */
4664
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4665
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4666
0
#line 4667 "/src/php-src/Zend/zend_language_parser.c"
4667
0
        break;
4668
4669
0
    case 307: /* non_empty_member_modifiers  */
4670
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4671
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4672
0
#line 4673 "/src/php-src/Zend/zend_language_parser.c"
4673
0
        break;
4674
4675
4
    case 309: /* property_list  */
4676
4
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4677
4
            { zend_ast_destroy(((*yyvaluep).ast)); }
4678
4
#line 4679 "/src/php-src/Zend/zend_language_parser.c"
4679
4
        break;
4680
4681
0
    case 310: /* property  */
4682
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4683
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4684
0
#line 4685 "/src/php-src/Zend/zend_language_parser.c"
4685
0
        break;
4686
4687
0
    case 311: /* hooked_property  */
4688
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4689
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4690
0
#line 4691 "/src/php-src/Zend/zend_language_parser.c"
4691
0
        break;
4692
4693
11
    case 312: /* property_hook_list  */
4694
11
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4695
11
            { zend_ast_destroy(((*yyvaluep).ast)); }
4696
11
#line 4697 "/src/php-src/Zend/zend_language_parser.c"
4697
11
        break;
4698
4699
0
    case 313: /* optional_property_hook_list  */
4700
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4701
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4702
0
#line 4703 "/src/php-src/Zend/zend_language_parser.c"
4703
0
        break;
4704
4705
0
    case 315: /* property_hook  */
4706
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4707
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4708
0
#line 4709 "/src/php-src/Zend/zend_language_parser.c"
4709
0
        break;
4710
4711
0
    case 317: /* property_hook_body  */
4712
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4713
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4714
0
#line 4715 "/src/php-src/Zend/zend_language_parser.c"
4715
0
        break;
4716
4717
6
    case 318: /* optional_parameter_list  */
4718
6
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4719
6
            { zend_ast_destroy(((*yyvaluep).ast)); }
4720
6
#line 4721 "/src/php-src/Zend/zend_language_parser.c"
4721
6
        break;
4722
4723
0
    case 319: /* class_const_list  */
4724
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4725
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4726
0
#line 4727 "/src/php-src/Zend/zend_language_parser.c"
4727
0
        break;
4728
4729
0
    case 320: /* class_const_decl  */
4730
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4731
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4732
0
#line 4733 "/src/php-src/Zend/zend_language_parser.c"
4733
0
        break;
4734
4735
0
    case 321: /* const_decl  */
4736
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4737
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4738
0
#line 4739 "/src/php-src/Zend/zend_language_parser.c"
4739
0
        break;
4740
4741
12
    case 322: /* echo_expr_list  */
4742
12
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4743
12
            { zend_ast_destroy(((*yyvaluep).ast)); }
4744
12
#line 4745 "/src/php-src/Zend/zend_language_parser.c"
4745
12
        break;
4746
4747
0
    case 323: /* echo_expr  */
4748
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4749
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4750
0
#line 4751 "/src/php-src/Zend/zend_language_parser.c"
4751
0
        break;
4752
4753
8
    case 324: /* for_cond_exprs  */
4754
8
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4755
8
            { zend_ast_destroy(((*yyvaluep).ast)); }
4756
8
#line 4757 "/src/php-src/Zend/zend_language_parser.c"
4757
8
        break;
4758
4759
15
    case 325: /* for_exprs  */
4760
15
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4761
15
            { zend_ast_destroy(((*yyvaluep).ast)); }
4762
15
#line 4763 "/src/php-src/Zend/zend_language_parser.c"
4763
15
        break;
4764
4765
2
    case 326: /* non_empty_for_exprs  */
4766
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4767
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4768
2
#line 4769 "/src/php-src/Zend/zend_language_parser.c"
4769
2
        break;
4770
4771
0
    case 327: /* anonymous_class  */
4772
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4773
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4774
0
#line 4775 "/src/php-src/Zend/zend_language_parser.c"
4775
0
        break;
4776
4777
0
    case 329: /* new_dereferenceable  */
4778
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4779
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4780
0
#line 4781 "/src/php-src/Zend/zend_language_parser.c"
4781
0
        break;
4782
4783
0
    case 330: /* new_non_dereferenceable  */
4784
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4785
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4786
0
#line 4787 "/src/php-src/Zend/zend_language_parser.c"
4787
0
        break;
4788
4789
977
    case 331: /* expr  */
4790
977
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4791
977
            { zend_ast_destroy(((*yyvaluep).ast)); }
4792
977
#line 4793 "/src/php-src/Zend/zend_language_parser.c"
4793
977
        break;
4794
4795
0
    case 332: /* inline_function  */
4796
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4797
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4798
0
#line 4799 "/src/php-src/Zend/zend_language_parser.c"
4799
0
        break;
4800
4801
193
    case 335: /* backup_doc_comment  */
4802
193
#line 51 "/src/php-src/Zend/zend_language_parser.y"
4803
193
            { if (((*yyvaluep).str)) zend_string_release_ex(((*yyvaluep).str), 0); }
4804
193
#line 4805 "/src/php-src/Zend/zend_language_parser.c"
4805
193
        break;
4806
4807
11
    case 339: /* lexical_vars  */
4808
11
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4809
11
            { zend_ast_destroy(((*yyvaluep).ast)); }
4810
11
#line 4811 "/src/php-src/Zend/zend_language_parser.c"
4811
11
        break;
4812
4813
0
    case 340: /* lexical_var_list  */
4814
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4815
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4816
0
#line 4817 "/src/php-src/Zend/zend_language_parser.c"
4817
0
        break;
4818
4819
0
    case 341: /* lexical_var  */
4820
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4821
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4822
0
#line 4823 "/src/php-src/Zend/zend_language_parser.c"
4823
0
        break;
4824
4825
0
    case 342: /* function_call  */
4826
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4827
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4828
0
#line 4829 "/src/php-src/Zend/zend_language_parser.c"
4829
0
        break;
4830
4831
2
    case 344: /* class_name  */
4832
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4833
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4834
2
#line 4835 "/src/php-src/Zend/zend_language_parser.c"
4835
2
        break;
4836
4837
1
    case 345: /* class_name_reference  */
4838
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4839
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4840
1
#line 4841 "/src/php-src/Zend/zend_language_parser.c"
4841
1
        break;
4842
4843
17
    case 346: /* backticks_expr  */
4844
17
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4845
17
            { zend_ast_destroy(((*yyvaluep).ast)); }
4846
17
#line 4847 "/src/php-src/Zend/zend_language_parser.c"
4847
17
        break;
4848
4849
1
    case 347: /* ctor_arguments  */
4850
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4851
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
4852
1
#line 4853 "/src/php-src/Zend/zend_language_parser.c"
4853
1
        break;
4854
4855
0
    case 348: /* dereferenceable_scalar  */
4856
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4857
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4858
0
#line 4859 "/src/php-src/Zend/zend_language_parser.c"
4859
0
        break;
4860
4861
0
    case 349: /* scalar  */
4862
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4863
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4864
0
#line 4865 "/src/php-src/Zend/zend_language_parser.c"
4865
0
        break;
4866
4867
0
    case 350: /* constant  */
4868
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4869
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4870
0
#line 4871 "/src/php-src/Zend/zend_language_parser.c"
4871
0
        break;
4872
4873
0
    case 351: /* class_constant  */
4874
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4875
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4876
0
#line 4877 "/src/php-src/Zend/zend_language_parser.c"
4877
0
        break;
4878
4879
24
    case 352: /* optional_expr  */
4880
24
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4881
24
            { zend_ast_destroy(((*yyvaluep).ast)); }
4882
24
#line 4883 "/src/php-src/Zend/zend_language_parser.c"
4883
24
        break;
4884
4885
0
    case 353: /* variable_class_name  */
4886
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4887
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4888
0
#line 4889 "/src/php-src/Zend/zend_language_parser.c"
4889
0
        break;
4890
4891
0
    case 354: /* fully_dereferenceable  */
4892
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4893
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4894
0
#line 4895 "/src/php-src/Zend/zend_language_parser.c"
4895
0
        break;
4896
4897
63
    case 355: /* array_object_dereferenceable  */
4898
63
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4899
63
            { zend_ast_destroy(((*yyvaluep).ast)); }
4900
63
#line 4901 "/src/php-src/Zend/zend_language_parser.c"
4901
63
        break;
4902
4903
27
    case 356: /* callable_expr  */
4904
27
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4905
27
            { zend_ast_destroy(((*yyvaluep).ast)); }
4906
27
#line 4907 "/src/php-src/Zend/zend_language_parser.c"
4907
27
        break;
4908
4909
0
    case 357: /* callable_variable  */
4910
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4911
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4912
0
#line 4913 "/src/php-src/Zend/zend_language_parser.c"
4913
0
        break;
4914
4915
85
    case 358: /* variable  */
4916
85
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4917
85
            { zend_ast_destroy(((*yyvaluep).ast)); }
4918
85
#line 4919 "/src/php-src/Zend/zend_language_parser.c"
4919
85
        break;
4920
4921
0
    case 359: /* simple_variable  */
4922
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4923
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4924
0
#line 4925 "/src/php-src/Zend/zend_language_parser.c"
4925
0
        break;
4926
4927
0
    case 360: /* static_member  */
4928
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4929
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4930
0
#line 4931 "/src/php-src/Zend/zend_language_parser.c"
4931
0
        break;
4932
4933
2
    case 361: /* new_variable  */
4934
2
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4935
2
            { zend_ast_destroy(((*yyvaluep).ast)); }
4936
2
#line 4937 "/src/php-src/Zend/zend_language_parser.c"
4937
2
        break;
4938
4939
0
    case 362: /* member_name  */
4940
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4941
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4942
0
#line 4943 "/src/php-src/Zend/zend_language_parser.c"
4943
0
        break;
4944
4945
0
    case 363: /* property_name  */
4946
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4947
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4948
0
#line 4949 "/src/php-src/Zend/zend_language_parser.c"
4949
0
        break;
4950
4951
24
    case 364: /* array_pair_list  */
4952
24
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4953
24
            { zend_ast_destroy(((*yyvaluep).ast)); }
4954
24
#line 4955 "/src/php-src/Zend/zend_language_parser.c"
4955
24
        break;
4956
4957
0
    case 365: /* possible_array_pair  */
4958
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4959
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4960
0
#line 4961 "/src/php-src/Zend/zend_language_parser.c"
4961
0
        break;
4962
4963
5
    case 366: /* non_empty_array_pair_list  */
4964
5
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4965
5
            { zend_ast_destroy(((*yyvaluep).ast)); }
4966
5
#line 4967 "/src/php-src/Zend/zend_language_parser.c"
4967
5
        break;
4968
4969
0
    case 367: /* array_pair  */
4970
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4971
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4972
0
#line 4973 "/src/php-src/Zend/zend_language_parser.c"
4973
0
        break;
4974
4975
372
    case 368: /* encaps_list  */
4976
372
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4977
372
            { zend_ast_destroy(((*yyvaluep).ast)); }
4978
372
#line 4979 "/src/php-src/Zend/zend_language_parser.c"
4979
372
        break;
4980
4981
0
    case 369: /* encaps_var  */
4982
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4983
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4984
0
#line 4985 "/src/php-src/Zend/zend_language_parser.c"
4985
0
        break;
4986
4987
30
    case 370: /* encaps_var_offset  */
4988
30
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4989
30
            { zend_ast_destroy(((*yyvaluep).ast)); }
4990
30
#line 4991 "/src/php-src/Zend/zend_language_parser.c"
4991
30
        break;
4992
4993
0
    case 371: /* internal_functions_in_yacc  */
4994
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4995
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4996
0
#line 4997 "/src/php-src/Zend/zend_language_parser.c"
4997
0
        break;
4998
4999
1
    case 372: /* isset_variables  */
5000
1
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5001
1
            { zend_ast_destroy(((*yyvaluep).ast)); }
5002
1
#line 5003 "/src/php-src/Zend/zend_language_parser.c"
5003
1
        break;
5004
5005
0
    case 373: /* isset_variable  */
5006
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5007
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5008
0
#line 5009 "/src/php-src/Zend/zend_language_parser.c"
5009
0
        break;
5010
5011
22.4k
      default:
5012
22.4k
        break;
5013
28.9k
    }
5014
28.9k
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5015
28.9k
}
5016
5017
5018
5019
5020
/*----------.
5021
| yyparse.  |
5022
`----------*/
5023
5024
int
5025
yyparse (void)
5026
7.07k
{
5027
/* The lookahead symbol.  */
5028
7.07k
int yychar;
5029
5030
5031
/* The semantic value of the lookahead symbol.  */
5032
/* Default value used for initialization, for pacifying older GCCs
5033
   or non-GCC compilers.  */
5034
7.07k
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
5035
7.07k
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
5036
5037
    /* Number of syntax errors so far.  */
5038
7.07k
    int yynerrs;
5039
5040
7.07k
    yy_state_fast_t yystate;
5041
    /* Number of tokens to shift before error messages enabled.  */
5042
7.07k
    int yyerrstatus;
5043
5044
    /* The stacks and their tools:
5045
       'yyss': related to states.
5046
       'yyvs': related to semantic values.
5047
5048
       Refer to the stacks through separate pointers, to allow yyoverflow
5049
       to reallocate them elsewhere.  */
5050
5051
    /* The state stack.  */
5052
7.07k
    yy_state_t yyssa[YYINITDEPTH];
5053
7.07k
    yy_state_t *yyss;
5054
7.07k
    yy_state_t *yyssp;
5055
5056
    /* The semantic value stack.  */
5057
7.07k
    YYSTYPE yyvsa[YYINITDEPTH];
5058
7.07k
    YYSTYPE *yyvs;
5059
7.07k
    YYSTYPE *yyvsp;
5060
5061
7.07k
    YYPTRDIFF_T yystacksize;
5062
5063
7.07k
  int yyn;
5064
7.07k
  int yyresult;
5065
  /* Lookahead token as an internal (translated) token number.  */
5066
7.07k
  int yytoken = 0;
5067
  /* The variables used to return semantic value and location from the
5068
     action routines.  */
5069
7.07k
  YYSTYPE yyval;
5070
5071
7.07k
#if YYERROR_VERBOSE
5072
  /* Buffer for error messages, and its allocated size.  */
5073
7.07k
  char yymsgbuf[128];
5074
7.07k
  char *yymsg = yymsgbuf;
5075
7.07k
  YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
5076
7.07k
#endif
5077
5078
339k
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
5079
5080
  /* The number of symbols on the RHS of the reduced rule.
5081
     Keep to zero when no symbol should be popped.  */
5082
7.07k
  int yylen = 0;
5083
5084
7.07k
  yyssp = yyss = yyssa;
5085
7.07k
  yyvsp = yyvs = yyvsa;
5086
7.07k
  yystacksize = YYINITDEPTH;
5087
5088
7.07k
  YYDPRINTF ((stderr, "Starting parse\n"));
5089
5090
7.07k
  yystate = 0;
5091
7.07k
  yyerrstatus = 0;
5092
7.07k
  yynerrs = 0;
5093
7.07k
  yychar = YYEMPTY; /* Cause a token to be read.  */
5094
7.07k
  goto yysetstate;
5095
5096
5097
/*------------------------------------------------------------.
5098
| yynewstate -- push a new state, which is found in yystate.  |
5099
`------------------------------------------------------------*/
5100
446k
yynewstate:
5101
  /* In all cases, when you get here, the value and location stacks
5102
     have just been pushed.  So pushing a state here evens the stacks.  */
5103
446k
  yyssp++;
5104
5105
5106
/*--------------------------------------------------------------------.
5107
| yysetstate -- set current state (the top of the stack) to yystate.  |
5108
`--------------------------------------------------------------------*/
5109
453k
yysetstate:
5110
453k
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
5111
453k
  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
5112
453k
  YY_IGNORE_USELESS_CAST_BEGIN
5113
453k
  *yyssp = YY_CAST (yy_state_t, yystate);
5114
453k
  YY_IGNORE_USELESS_CAST_END
5115
5116
453k
  if (yyss + yystacksize - 1 <= yyssp)
5117
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
5118
    goto yyexhaustedlab;
5119
#else
5120
0
    {
5121
      /* Get the current used size of the three stacks, in elements.  */
5122
0
      YYPTRDIFF_T yysize = yyssp - yyss + 1;
5123
5124
# if defined yyoverflow
5125
      {
5126
        /* Give user a chance to reallocate the stack.  Use copies of
5127
           these so that the &'s don't force the real ones into
5128
           memory.  */
5129
        yy_state_t *yyss1 = yyss;
5130
        YYSTYPE *yyvs1 = yyvs;
5131
5132
        /* Each stack pointer address is followed by the size of the
5133
           data in use in that stack, in bytes.  This used to be a
5134
           conditional around just the two extra args, but that might
5135
           be undefined if yyoverflow is a macro.  */
5136
        yyoverflow (YY_("memory exhausted"),
5137
                    &yyss1, yysize * YYSIZEOF (*yyssp),
5138
                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
5139
                    &yystacksize);
5140
        yyss = yyss1;
5141
        yyvs = yyvs1;
5142
      }
5143
# else /* defined YYSTACK_RELOCATE */
5144
      /* Extend the stack our own way.  */
5145
0
      if (YYMAXDEPTH <= yystacksize)
5146
0
        goto yyexhaustedlab;
5147
0
      yystacksize *= 2;
5148
0
      if (YYMAXDEPTH < yystacksize)
5149
0
        yystacksize = YYMAXDEPTH;
5150
5151
0
      {
5152
0
        yy_state_t *yyss1 = yyss;
5153
0
        union yyalloc *yyptr =
5154
0
          YY_CAST (union yyalloc *,
5155
0
                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
5156
0
        if (! yyptr)
5157
0
          goto yyexhaustedlab;
5158
0
        YYSTACK_RELOCATE (yyss_alloc, yyss);
5159
0
        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
5160
0
# undef YYSTACK_RELOCATE
5161
0
        if (yyss1 != yyssa)
5162
0
          YYSTACK_FREE (yyss1);
5163
0
      }
5164
0
# endif
5165
5166
0
      yyssp = yyss + yysize - 1;
5167
0
      yyvsp = yyvs + yysize - 1;
5168
5169
0
      YY_IGNORE_USELESS_CAST_BEGIN
5170
0
      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
5171
0
                  YY_CAST (long, yystacksize)));
5172
0
      YY_IGNORE_USELESS_CAST_END
5173
5174
0
      if (yyss + yystacksize - 1 <= yyssp)
5175
0
        YYABORT;
5176
0
    }
5177
453k
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
5178
5179
453k
  if (yystate == YYFINAL)
5180
4.94k
    YYACCEPT;
5181
5182
448k
  goto yybackup;
5183
5184
5185
/*-----------.
5186
| yybackup.  |
5187
`-----------*/
5188
448k
yybackup:
5189
  /* Do appropriate processing given the current state.  Read a
5190
     lookahead token if we need one and don't already have one.  */
5191
5192
  /* First try to decide what to do without reference to lookahead token.  */
5193
448k
  yyn = yypact[yystate];
5194
448k
  if (yypact_value_is_default (yyn))
5195
199k
    goto yydefault;
5196
5197
  /* Not known => get a lookahead token if don't already have one.  */
5198
5199
  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
5200
249k
  if (yychar == YYEMPTY)
5201
142k
    {
5202
142k
      YYDPRINTF ((stderr, "Reading a token: "));
5203
142k
      yychar = yylex (&yylval);
5204
142k
    }
5205
5206
249k
  if (yychar <= YYEOF)
5207
10.3k
    {
5208
10.3k
      yychar = yytoken = YYEOF;
5209
10.3k
      YYDPRINTF ((stderr, "Now at end of input.\n"));
5210
10.3k
    }
5211
238k
  else
5212
238k
    {
5213
238k
      yytoken = YYTRANSLATE (yychar);
5214
238k
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
5215
238k
    }
5216
5217
  /* If the proper action on seeing token YYTOKEN is to reduce or to
5218
     detect an error, take that action.  */
5219
249k
  yyn += yytoken;
5220
249k
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
5221
102k
    goto yydefault;
5222
146k
  yyn = yytable[yyn];
5223
146k
  if (yyn <= 0)
5224
5.60k
    {
5225
5.60k
      if (yytable_value_is_error (yyn))
5226
4
        goto yyerrlab;
5227
5.60k
      yyn = -yyn;
5228
5.60k
      goto yyreduce;
5229
5.60k
    }
5230
5231
  /* Count tokens shifted since error; after three, turn off error
5232
     status.  */
5233
140k
  if (yyerrstatus)
5234
0
    yyerrstatus--;
5235
5236
  /* Shift the lookahead token.  */
5237
140k
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
5238
140k
  yystate = yyn;
5239
140k
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5240
140k
  *++yyvsp = yylval;
5241
140k
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5242
5243
  /* Discard the shifted token.  */
5244
140k
  yychar = YYEMPTY;
5245
140k
  goto yynewstate;
5246
5247
5248
/*-----------------------------------------------------------.
5249
| yydefault -- do the default action for the current state.  |
5250
`-----------------------------------------------------------*/
5251
302k
yydefault:
5252
302k
  yyn = yydefact[yystate];
5253
302k
  if (yyn == 0)
5254
2.09k
    goto yyerrlab;
5255
300k
  goto yyreduce;
5256
5257
5258
/*-----------------------------.
5259
| yyreduce -- do a reduction.  |
5260
`-----------------------------*/
5261
305k
yyreduce:
5262
  /* yyn is the number of a rule to reduce with.  */
5263
305k
  yylen = yyr2[yyn];
5264
5265
  /* If YYLEN is nonzero, implement the default value of the action:
5266
     '$$ = $1'.
5267
5268
     Otherwise, the following line sets YYVAL to garbage.
5269
     This behavior is undocumented and Bison
5270
     users should not rely upon it.  Assigning to YYVAL
5271
     unconditionally makes the parser a bit smaller, and it avoids a
5272
     GCC warning that YYVAL may be used uninitialized.  */
5273
305k
  yyval = yyvsp[1-yylen];
5274
5275
5276
305k
  YY_REDUCE_PRINT (yyn);
5277
305k
  switch (yyn)
5278
305k
    {
5279
4.97k
  case 2:
5280
4.97k
#line 303 "/src/php-src/Zend/zend_language_parser.y"
5281
4.97k
                                { CG(ast) = (yyvsp[0].ast); (void) zendnerrs; }
5282
4.97k
#line 5283 "/src/php-src/Zend/zend_language_parser.c"
5283
4.97k
    break;
5284
5285
1.43k
  case 84:
5286
1.43k
#line 328 "/src/php-src/Zend/zend_language_parser.y"
5287
1.43k
                         { (yyval.ast) = (yyvsp[0].ast); }
5288
1.43k
#line 5289 "/src/php-src/Zend/zend_language_parser.c"
5289
1.43k
    break;
5290
5291
139
  case 85:
5292
139
#line 329 "/src/php-src/Zend/zend_language_parser.y"
5293
139
                               {
5294
139
      zval zv;
5295
139
      if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
5296
138
      (yyval.ast) = zend_ast_create_zval(&zv);
5297
138
    }
5298
0
#line 5299 "/src/php-src/Zend/zend_language_parser.c"
5299
0
    break;
5300
5301
16.7k
  case 86:
5302
16.7k
#line 337 "/src/php-src/Zend/zend_language_parser.y"
5303
16.7k
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5304
16.7k
#line 5305 "/src/php-src/Zend/zend_language_parser.c"
5305
16.7k
    break;
5306
5307
7.11k
  case 87:
5308
7.11k
#line 338 "/src/php-src/Zend/zend_language_parser.y"
5309
7.11k
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
5310
7.11k
#line 5311 "/src/php-src/Zend/zend_language_parser.c"
5311
7.11k
    break;
5312
5313
149
  case 88:
5314
149
#line 343 "/src/php-src/Zend/zend_language_parser.y"
5315
149
                                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5316
149
#line 5317 "/src/php-src/Zend/zend_language_parser.c"
5317
149
    break;
5318
5319
29
  case 89:
5320
29
#line 344 "/src/php-src/Zend/zend_language_parser.y"
5321
29
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5322
29
#line 5323 "/src/php-src/Zend/zend_language_parser.c"
5323
29
    break;
5324
5325
50
  case 90:
5326
50
#line 349 "/src/php-src/Zend/zend_language_parser.y"
5327
50
                                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5328
50
#line 5329 "/src/php-src/Zend/zend_language_parser.c"
5329
50
    break;
5330
5331
43
  case 91:
5332
43
#line 350 "/src/php-src/Zend/zend_language_parser.y"
5333
43
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5334
43
#line 5335 "/src/php-src/Zend/zend_language_parser.c"
5335
43
    break;
5336
5337
83
  case 92:
5338
83
#line 355 "/src/php-src/Zend/zend_language_parser.y"
5339
83
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5340
83
#line 5341 "/src/php-src/Zend/zend_language_parser.c"
5341
83
    break;
5342
5343
13
  case 93:
5344
13
#line 356 "/src/php-src/Zend/zend_language_parser.y"
5345
13
                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5346
13
#line 5347 "/src/php-src/Zend/zend_language_parser.c"
5347
13
    break;
5348
5349
10.9k
  case 94:
5350
10.9k
#line 360 "/src/php-src/Zend/zend_language_parser.y"
5351
10.9k
                                                                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_NOT_FQ; }
5352
10.9k
#line 5353 "/src/php-src/Zend/zend_language_parser.c"
5353
10.9k
    break;
5354
5355
43
  case 95:
5356
43
#line 361 "/src/php-src/Zend/zend_language_parser.y"
5357
43
                                                                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_NOT_FQ; }
5358
43
#line 5359 "/src/php-src/Zend/zend_language_parser.c"
5359
43
    break;
5360
5361
198
  case 96:
5362
198
#line 362 "/src/php-src/Zend/zend_language_parser.y"
5363
198
                                                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_FQ; }
5364
198
#line 5365 "/src/php-src/Zend/zend_language_parser.c"
5365
198
    break;
5366
5367
19
  case 97:
5368
19
#line 363 "/src/php-src/Zend/zend_language_parser.y"
5369
19
                                                                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_RELATIVE; }
5370
19
#line 5371 "/src/php-src/Zend/zend_language_parser.c"
5371
19
    break;
5372
5373
122
  case 98:
5374
122
#line 368 "/src/php-src/Zend/zend_language_parser.y"
5375
122
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ATTRIBUTE, (yyvsp[0].ast), NULL); }
5376
122
#line 5377 "/src/php-src/Zend/zend_language_parser.c"
5377
122
    break;
5378
5379
46
  case 99:
5380
46
#line 370 "/src/php-src/Zend/zend_language_parser.y"
5381
46
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ATTRIBUTE, (yyvsp[-1].ast), (yyvsp[0].ast)); }
5382
46
#line 5383 "/src/php-src/Zend/zend_language_parser.c"
5383
46
    break;
5384
5385
159
  case 100:
5386
159
#line 375 "/src/php-src/Zend/zend_language_parser.y"
5387
159
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ATTRIBUTE_GROUP, (yyvsp[0].ast)); }
5388
159
#line 5389 "/src/php-src/Zend/zend_language_parser.c"
5389
159
    break;
5390
5391
9
  case 101:
5392
9
#line 377 "/src/php-src/Zend/zend_language_parser.y"
5393
9
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5394
9
#line 5395 "/src/php-src/Zend/zend_language_parser.c"
5395
9
    break;
5396
5397
155
  case 102:
5398
155
#line 381 "/src/php-src/Zend/zend_language_parser.y"
5399
155
                                                                                        { (yyval.ast) = (yyvsp[-2].ast); CG(doc_comment) = (yyvsp[-3].str); }
5400
155
#line 5401 "/src/php-src/Zend/zend_language_parser.c"
5401
155
    break;
5402
5403
146
  case 103:
5404
146
#line 385 "/src/php-src/Zend/zend_language_parser.y"
5405
146
                                                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ATTRIBUTE_LIST, (yyvsp[0].ast)); }
5406
146
#line 5407 "/src/php-src/Zend/zend_language_parser.c"
5407
146
    break;
5408
5409
9
  case 104:
5410
9
#line 386 "/src/php-src/Zend/zend_language_parser.y"
5411
9
                                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5412
9
#line 5413 "/src/php-src/Zend/zend_language_parser.c"
5413
9
    break;
5414
5415
560
  case 105:
5416
560
#line 390 "/src/php-src/Zend/zend_language_parser.y"
5417
560
                                                        { (yyval.ast) = (yyvsp[0].ast); }
5418
560
#line 5419 "/src/php-src/Zend/zend_language_parser.c"
5419
560
    break;
5420
5421
1.29k
  case 106:
5422
1.29k
#line 391 "/src/php-src/Zend/zend_language_parser.y"
5423
1.29k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5424
1.29k
#line 5425 "/src/php-src/Zend/zend_language_parser.c"
5425
1.29k
    break;
5426
5427
146
  case 107:
5428
146
#line 392 "/src/php-src/Zend/zend_language_parser.y"
5429
146
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5430
146
#line 5431 "/src/php-src/Zend/zend_language_parser.c"
5431
146
    break;
5432
5433
173
  case 108:
5434
173
#line 393 "/src/php-src/Zend/zend_language_parser.y"
5435
173
                                                        { (yyval.ast) = (yyvsp[0].ast); }
5436
173
#line 5437 "/src/php-src/Zend/zend_language_parser.c"
5437
173
    break;
5438
5439
152
  case 109:
5440
152
#line 394 "/src/php-src/Zend/zend_language_parser.y"
5441
152
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5442
152
#line 5443 "/src/php-src/Zend/zend_language_parser.c"
5443
152
    break;
5444
5445
2.29k
  case 110:
5446
2.29k
#line 398 "/src/php-src/Zend/zend_language_parser.y"
5447
2.29k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5448
2.29k
#line 5449 "/src/php-src/Zend/zend_language_parser.c"
5449
2.29k
    break;
5450
5451
163
  case 111:
5452
163
#line 399 "/src/php-src/Zend/zend_language_parser.y"
5453
163
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
5454
163
#line 5455 "/src/php-src/Zend/zend_language_parser.c"
5455
163
    break;
5456
5457
14.0k
  case 112:
5458
14.0k
#line 403 "/src/php-src/Zend/zend_language_parser.y"
5459
14.0k
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5460
14.0k
#line 5461 "/src/php-src/Zend/zend_language_parser.c"
5461
14.0k
    break;
5462
5463
2.36k
  case 113:
5464
2.36k
#line 404 "/src/php-src/Zend/zend_language_parser.y"
5465
2.36k
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5466
2.36k
#line 5467 "/src/php-src/Zend/zend_language_parser.c"
5467
2.36k
    break;
5468
5469
95
  case 114:
5470
95
#line 405 "/src/php-src/Zend/zend_language_parser.y"
5471
95
                                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
5472
95
#line 5473 "/src/php-src/Zend/zend_language_parser.c"
5473
95
    break;
5474
5475
7
  case 115:
5476
7
#line 407 "/src/php-src/Zend/zend_language_parser.y"
5477
7
                        { (yyval.ast) = zend_ast_create(ZEND_AST_HALT_COMPILER,
5478
7
            zend_ast_create_zval_from_long(zend_get_scanned_file_offset()));
5479
7
        zend_stop_lexing(); }
5480
7
#line 5481 "/src/php-src/Zend/zend_language_parser.c"
5481
7
    break;
5482
5483
149
  case 116:
5484
149
#line 411 "/src/php-src/Zend/zend_language_parser.y"
5485
149
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-1].ast), NULL);
5486
149
        RESET_DOC_COMMENT(); }
5487
149
#line 5488 "/src/php-src/Zend/zend_language_parser.c"
5488
149
    break;
5489
5490
29
  case 117:
5491
29
#line 413 "/src/php-src/Zend/zend_language_parser.y"
5492
29
                                                       { RESET_DOC_COMMENT(); }
5493
29
#line 5494 "/src/php-src/Zend/zend_language_parser.c"
5494
29
    break;
5495
5496
25
  case 118:
5497
25
#line 415 "/src/php-src/Zend/zend_language_parser.y"
5498
25
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
5499
25
#line 5500 "/src/php-src/Zend/zend_language_parser.c"
5500
25
    break;
5501
5502
20
  case 119:
5503
20
#line 416 "/src/php-src/Zend/zend_language_parser.y"
5504
20
                            { RESET_DOC_COMMENT(); }
5505
20
#line 5506 "/src/php-src/Zend/zend_language_parser.c"
5506
20
    break;
5507
5508
16
  case 120:
5509
16
#line 418 "/src/php-src/Zend/zend_language_parser.y"
5510
16
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, NULL, (yyvsp[-1].ast)); }
5511
16
#line 5512 "/src/php-src/Zend/zend_language_parser.c"
5512
16
    break;
5513
5514
5
  case 121:
5515
5
#line 419 "/src/php-src/Zend/zend_language_parser.y"
5516
5
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
5517
5
#line 5518 "/src/php-src/Zend/zend_language_parser.c"
5518
5
    break;
5519
5520
1
  case 122:
5521
1
#line 420 "/src/php-src/Zend/zend_language_parser.y"
5522
1
                                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
5523
1
#line 5524 "/src/php-src/Zend/zend_language_parser.c"
5524
1
    break;
5525
5526
50
  case 123:
5527
50
#line 421 "/src/php-src/Zend/zend_language_parser.y"
5528
50
                                                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
5529
50
#line 5530 "/src/php-src/Zend/zend_language_parser.c"
5530
50
    break;
5531
5532
26
  case 124:
5533
26
#line 422 "/src/php-src/Zend/zend_language_parser.y"
5534
26
                                                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
5535
26
#line 5536 "/src/php-src/Zend/zend_language_parser.c"
5536
26
    break;
5537
5538
13
  case 125:
5539
13
#line 426 "/src/php-src/Zend/zend_language_parser.y"
5540
13
                                        { (yyval.num) = ZEND_SYMBOL_FUNCTION; }
5541
13
#line 5542 "/src/php-src/Zend/zend_language_parser.c"
5542
13
    break;
5543
5544
15
  case 126:
5545
15
#line 427 "/src/php-src/Zend/zend_language_parser.y"
5546
15
                                        { (yyval.num) = ZEND_SYMBOL_CONST; }
5547
15
#line 5548 "/src/php-src/Zend/zend_language_parser.c"
5548
15
    break;
5549
5550
1
  case 127:
5551
1
#line 432 "/src/php-src/Zend/zend_language_parser.y"
5552
1
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
5553
1
#line 5554 "/src/php-src/Zend/zend_language_parser.c"
5554
1
    break;
5555
5556
5
  case 128:
5557
5
#line 437 "/src/php-src/Zend/zend_language_parser.y"
5558
5
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast));}
5559
5
#line 5560 "/src/php-src/Zend/zend_language_parser.c"
5560
5
    break;
5561
5562
1
  case 131:
5563
1
#line 447 "/src/php-src/Zend/zend_language_parser.y"
5564
1
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5565
1
#line 5566 "/src/php-src/Zend/zend_language_parser.c"
5566
1
    break;
5567
5568
7
  case 132:
5569
7
#line 449 "/src/php-src/Zend/zend_language_parser.y"
5570
7
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5571
7
#line 5572 "/src/php-src/Zend/zend_language_parser.c"
5572
7
    break;
5573
5574
0
  case 133:
5575
0
#line 454 "/src/php-src/Zend/zend_language_parser.y"
5576
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5577
0
#line 5578 "/src/php-src/Zend/zend_language_parser.c"
5578
0
    break;
5579
5580
2
  case 134:
5581
2
#line 456 "/src/php-src/Zend/zend_language_parser.y"
5582
2
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5583
2
#line 5584 "/src/php-src/Zend/zend_language_parser.c"
5584
2
    break;
5585
5586
7
  case 135:
5587
7
#line 461 "/src/php-src/Zend/zend_language_parser.y"
5588
7
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5589
7
#line 5590 "/src/php-src/Zend/zend_language_parser.c"
5590
7
    break;
5591
5592
77
  case 136:
5593
77
#line 463 "/src/php-src/Zend/zend_language_parser.y"
5594
77
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5595
77
#line 5596 "/src/php-src/Zend/zend_language_parser.c"
5596
77
    break;
5597
5598
8
  case 137:
5599
8
#line 467 "/src/php-src/Zend/zend_language_parser.y"
5600
8
                                           { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
5601
8
#line 5602 "/src/php-src/Zend/zend_language_parser.c"
5602
8
    break;
5603
5604
0
  case 138:
5605
0
#line 468 "/src/php-src/Zend/zend_language_parser.y"
5606
0
                                                    { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = (yyvsp[-1].num); }
5607
0
#line 5608 "/src/php-src/Zend/zend_language_parser.c"
5608
0
    break;
5609
5610
10
  case 139:
5611
10
#line 473 "/src/php-src/Zend/zend_language_parser.y"
5612
10
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[0].ast), NULL); }
5613
10
#line 5614 "/src/php-src/Zend/zend_language_parser.c"
5614
10
    break;
5615
5616
0
  case 140:
5617
0
#line 475 "/src/php-src/Zend/zend_language_parser.y"
5618
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5619
0
#line 5620 "/src/php-src/Zend/zend_language_parser.c"
5620
0
    break;
5621
5622
51
  case 141:
5623
51
#line 480 "/src/php-src/Zend/zend_language_parser.y"
5624
51
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[0].ast), NULL); }
5625
51
#line 5626 "/src/php-src/Zend/zend_language_parser.c"
5626
51
    break;
5627
5628
33
  case 142:
5629
33
#line 482 "/src/php-src/Zend/zend_language_parser.y"
5630
33
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5631
33
#line 5632 "/src/php-src/Zend/zend_language_parser.c"
5632
33
    break;
5633
5634
3
  case 143:
5635
3
#line 486 "/src/php-src/Zend/zend_language_parser.y"
5636
3
                                          { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5637
3
#line 5638 "/src/php-src/Zend/zend_language_parser.c"
5638
3
    break;
5639
5640
225
  case 144:
5641
225
#line 487 "/src/php-src/Zend/zend_language_parser.y"
5642
225
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CONST_DECL, (yyvsp[0].ast)); }
5643
225
#line 5644 "/src/php-src/Zend/zend_language_parser.c"
5644
225
    break;
5645
5646
2.41k
  case 145:
5647
2.41k
#line 492 "/src/php-src/Zend/zend_language_parser.y"
5648
2.41k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5649
2.41k
#line 5650 "/src/php-src/Zend/zend_language_parser.c"
5650
2.41k
    break;
5651
5652
2.70k
  case 146:
5653
2.70k
#line 494 "/src/php-src/Zend/zend_language_parser.y"
5654
2.70k
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
5655
2.70k
#line 5656 "/src/php-src/Zend/zend_language_parser.c"
5656
2.70k
    break;
5657
5658
2.38k
  case 147:
5659
2.38k
#line 499 "/src/php-src/Zend/zend_language_parser.y"
5660
2.38k
                          { (yyval.ast) = (yyvsp[0].ast); }
5661
2.38k
#line 5662 "/src/php-src/Zend/zend_language_parser.c"
5662
2.38k
    break;
5663
5664
29
  case 148:
5665
29
#line 500 "/src/php-src/Zend/zend_language_parser.y"
5666
29
                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5667
29
#line 5668 "/src/php-src/Zend/zend_language_parser.c"
5668
29
    break;
5669
5670
1
  case 149:
5671
1
#line 501 "/src/php-src/Zend/zend_language_parser.y"
5672
1
                                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
5673
1
#line 5674 "/src/php-src/Zend/zend_language_parser.c"
5674
1
    break;
5675
5676
1
  case 150:
5677
1
#line 503 "/src/php-src/Zend/zend_language_parser.y"
5678
1
                        { (yyval.ast) = NULL; zend_throw_exception(zend_ce_compile_error,
5679
1
            "__HALT_COMPILER() can only be used from the outermost scope", 0); YYERROR; }
5680
0
#line 5681 "/src/php-src/Zend/zend_language_parser.c"
5681
0
    break;
5682
5683
554
  case 151:
5684
554
#line 509 "/src/php-src/Zend/zend_language_parser.y"
5685
554
                                             { (yyval.ast) = (yyvsp[-1].ast); }
5686
554
#line 5687 "/src/php-src/Zend/zend_language_parser.c"
5687
554
    break;
5688
5689
85
  case 152:
5690
85
#line 510 "/src/php-src/Zend/zend_language_parser.y"
5691
85
                        { (yyval.ast) = (yyvsp[0].ast); }
5692
85
#line 5693 "/src/php-src/Zend/zend_language_parser.c"
5693
85
    break;
5694
5695
4
  case 153:
5696
4
#line 511 "/src/php-src/Zend/zend_language_parser.y"
5697
4
                            { (yyval.ast) = (yyvsp[0].ast); }
5698
4
#line 5699 "/src/php-src/Zend/zend_language_parser.c"
5699
4
    break;
5700
5701
16
  case 154:
5702
16
#line 513 "/src/php-src/Zend/zend_language_parser.y"
5703
16
                        { (yyval.ast) = zend_ast_create(ZEND_AST_WHILE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5704
16
#line 5705 "/src/php-src/Zend/zend_language_parser.c"
5705
16
    break;
5706
5707
3
  case 155:
5708
3
#line 515 "/src/php-src/Zend/zend_language_parser.y"
5709
3
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DO_WHILE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
5710
3
#line 5711 "/src/php-src/Zend/zend_language_parser.c"
5711
3
    break;
5712
5713
250
  case 156:
5714
250
#line 517 "/src/php-src/Zend/zend_language_parser.y"
5715
250
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOR, (yyvsp[-6].ast), (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
5716
250
#line 5717 "/src/php-src/Zend/zend_language_parser.c"
5717
250
    break;
5718
5719
17
  case 157:
5720
17
#line 519 "/src/php-src/Zend/zend_language_parser.y"
5721
17
                        { (yyval.ast) = zend_ast_create(ZEND_AST_SWITCH, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5722
17
#line 5723 "/src/php-src/Zend/zend_language_parser.c"
5723
17
    break;
5724
5725
30
  case 158:
5726
30
#line 520 "/src/php-src/Zend/zend_language_parser.y"
5727
30
                                                        { (yyval.ast) = zend_ast_create(ZEND_AST_BREAK, (yyvsp[-1].ast)); }
5728
30
#line 5729 "/src/php-src/Zend/zend_language_parser.c"
5729
30
    break;
5730
5731
2
  case 159:
5732
2
#line 521 "/src/php-src/Zend/zend_language_parser.y"
5733
2
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_CONTINUE, (yyvsp[-1].ast)); }
5734
2
#line 5735 "/src/php-src/Zend/zend_language_parser.c"
5735
2
    break;
5736
5737
294
  case 160:
5738
294
#line 522 "/src/php-src/Zend/zend_language_parser.y"
5739
294
                                                        { (yyval.ast) = zend_ast_create(ZEND_AST_RETURN, (yyvsp[-1].ast)); }
5740
294
#line 5741 "/src/php-src/Zend/zend_language_parser.c"
5741
294
    break;
5742
5743
27
  case 161:
5744
27
#line 523 "/src/php-src/Zend/zend_language_parser.y"
5745
27
                                                { (yyval.ast) = (yyvsp[-1].ast); }
5746
27
#line 5747 "/src/php-src/Zend/zend_language_parser.c"
5747
27
    break;
5748
5749
42
  case 162:
5750
42
#line 524 "/src/php-src/Zend/zend_language_parser.y"
5751
42
                                                { (yyval.ast) = (yyvsp[-1].ast); }
5752
42
#line 5753 "/src/php-src/Zend/zend_language_parser.c"
5753
42
    break;
5754
5755
997
  case 163:
5756
997
#line 525 "/src/php-src/Zend/zend_language_parser.y"
5757
997
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
5758
997
#line 5759 "/src/php-src/Zend/zend_language_parser.c"
5759
997
    break;
5760
5761
1.57k
  case 164:
5762
1.57k
#line 526 "/src/php-src/Zend/zend_language_parser.y"
5763
1.57k
                              { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
5764
1.57k
#line 5765 "/src/php-src/Zend/zend_language_parser.c"
5765
1.57k
    break;
5766
5767
8.73k
  case 165:
5768
8.73k
#line 527 "/src/php-src/Zend/zend_language_parser.y"
5769
8.73k
                         { (yyval.ast) = (yyvsp[-1].ast); }
5770
8.73k
#line 5771 "/src/php-src/Zend/zend_language_parser.c"
5771
8.73k
    break;
5772
5773
156
  case 166:
5774
156
#line 528 "/src/php-src/Zend/zend_language_parser.y"
5775
156
                                                                   { (yyval.ast) = (yyvsp[-3].ast); }
5776
156
#line 5777 "/src/php-src/Zend/zend_language_parser.c"
5777
156
    break;
5778
5779
164
  case 167:
5780
164
#line 530 "/src/php-src/Zend/zend_language_parser.y"
5781
164
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-4].ast), (yyvsp[-2].ast), NULL, (yyvsp[0].ast)); }
5782
164
#line 5783 "/src/php-src/Zend/zend_language_parser.c"
5783
164
    break;
5784
5785
35
  case 168:
5786
35
#line 533 "/src/php-src/Zend/zend_language_parser.y"
5787
35
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-4].ast), (yyvsp[0].ast)); }
5788
35
#line 5789 "/src/php-src/Zend/zend_language_parser.c"
5789
35
    break;
5790
5791
60
  case 169:
5792
60
#line 535 "/src/php-src/Zend/zend_language_parser.y"
5793
60
                        { if (!zend_handle_encoding_declaration((yyvsp[-1].ast))) { YYERROR; } }
5794
58
#line 5795 "/src/php-src/Zend/zend_language_parser.c"
5795
58
    break;
5796
5797
58
  case 170:
5798
55
#line 537 "/src/php-src/Zend/zend_language_parser.y"
5799
55
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DECLARE, (yyvsp[-3].ast), (yyvsp[0].ast)); }
5800
55
#line 5801 "/src/php-src/Zend/zend_language_parser.c"
5801
55
    break;
5802
5803
3.60k
  case 171:
5804
3.60k
#line 538 "/src/php-src/Zend/zend_language_parser.y"
5805
3.60k
                                              { (yyval.ast) = NULL; }
5806
3.60k
#line 5807 "/src/php-src/Zend/zend_language_parser.c"
5807
3.60k
    break;
5808
5809
234
  case 172:
5810
234
#line 540 "/src/php-src/Zend/zend_language_parser.y"
5811
234
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRY, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
5812
234
#line 5813 "/src/php-src/Zend/zend_language_parser.c"
5813
234
    break;
5814
5815
49
  case 173:
5816
49
#line 541 "/src/php-src/Zend/zend_language_parser.y"
5817
49
                                    { (yyval.ast) = zend_ast_create(ZEND_AST_GOTO, (yyvsp[-1].ast)); }
5818
49
#line 5819 "/src/php-src/Zend/zend_language_parser.c"
5819
49
    break;
5820
5821
76
  case 174:
5822
76
#line 542 "/src/php-src/Zend/zend_language_parser.y"
5823
76
                             { (yyval.ast) = zend_ast_create(ZEND_AST_LABEL, (yyvsp[-1].ast)); }
5824
76
#line 5825 "/src/php-src/Zend/zend_language_parser.c"
5825
76
    break;
5826
5827
2
  case 175:
5828
2
#line 543 "/src/php-src/Zend/zend_language_parser.y"
5829
2
                                     { (yyval.ast) = zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[-1].ast)); }
5830
2
#line 5831 "/src/php-src/Zend/zend_language_parser.c"
5831
2
    break;
5832
5833
237
  case 176:
5834
237
#line 548 "/src/php-src/Zend/zend_language_parser.y"
5835
237
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_CATCH_LIST); }
5836
237
#line 5837 "/src/php-src/Zend/zend_language_parser.c"
5837
237
    break;
5838
5839
194
  case 177:
5840
194
#line 550 "/src/php-src/Zend/zend_language_parser.y"
5841
194
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-8].ast), zend_ast_create(ZEND_AST_CATCH, (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast))); }
5842
194
#line 5843 "/src/php-src/Zend/zend_language_parser.c"
5843
194
    break;
5844
5845
195
  case 178:
5846
195
#line 554 "/src/php-src/Zend/zend_language_parser.y"
5847
195
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
5848
195
#line 5849 "/src/php-src/Zend/zend_language_parser.c"
5849
195
    break;
5850
5851
1
  case 179:
5852
1
#line 555 "/src/php-src/Zend/zend_language_parser.y"
5853
1
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5854
1
#line 5855 "/src/php-src/Zend/zend_language_parser.c"
5855
1
    break;
5856
5857
34
  case 180:
5858
34
#line 559 "/src/php-src/Zend/zend_language_parser.y"
5859
34
                       { (yyval.ast) = NULL; }
5860
34
#line 5861 "/src/php-src/Zend/zend_language_parser.c"
5861
34
    break;
5862
5863
161
  case 181:
5864
161
#line 560 "/src/php-src/Zend/zend_language_parser.y"
5865
161
                           { (yyval.ast) = (yyvsp[0].ast); }
5866
161
#line 5867 "/src/php-src/Zend/zend_language_parser.c"
5867
161
    break;
5868
5869
196
  case 182:
5870
196
#line 564 "/src/php-src/Zend/zend_language_parser.y"
5871
196
                       { (yyval.ast) = NULL; }
5872
196
#line 5873 "/src/php-src/Zend/zend_language_parser.c"
5873
196
    break;
5874
5875
38
  case 183:
5876
38
#line 565 "/src/php-src/Zend/zend_language_parser.y"
5877
38
                                                       { (yyval.ast) = (yyvsp[-1].ast); }
5878
38
#line 5879 "/src/php-src/Zend/zend_language_parser.c"
5879
38
    break;
5880
5881
156
  case 184:
5882
156
#line 569 "/src/php-src/Zend/zend_language_parser.y"
5883
156
                               { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
5884
156
#line 5885 "/src/php-src/Zend/zend_language_parser.c"
5885
156
    break;
5886
5887
24
  case 185:
5888
24
#line 570 "/src/php-src/Zend/zend_language_parser.y"
5889
24
                                                   { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5890
24
#line 5891 "/src/php-src/Zend/zend_language_parser.c"
5891
24
    break;
5892
5893
180
  case 186:
5894
180
#line 574 "/src/php-src/Zend/zend_language_parser.y"
5895
180
                         { (yyval.ast) = zend_ast_create(ZEND_AST_UNSET, (yyvsp[0].ast)); }
5896
180
#line 5897 "/src/php-src/Zend/zend_language_parser.c"
5897
180
    break;
5898
5899
590
  case 187:
5900
590
#line 578 "/src/php-src/Zend/zend_language_parser.y"
5901
590
                         { (yyval.ast) = (yyvsp[0].ast); }
5902
590
#line 5903 "/src/php-src/Zend/zend_language_parser.c"
5903
590
    break;
5904
5905
1
  case 188:
5906
1
#line 579 "/src/php-src/Zend/zend_language_parser.y"
5907
1
                           {
5908
1
      zval zv;
5909
1
      if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
5910
1
      (yyval.ast) = zend_ast_create_zval(&zv);
5911
1
    }
5912
0
#line 5913 "/src/php-src/Zend/zend_language_parser.c"
5913
0
    break;
5914
5915
560
  case 189:
5916
560
#line 589 "/src/php-src/Zend/zend_language_parser.y"
5917
560
                { (yyval.ast) = zend_ast_create_decl(ZEND_AST_FUNC_DECL, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-9].str),
5918
560
          zend_ast_get_str((yyvsp[-10].ast)), (yyvsp[-7].ast), NULL, (yyvsp[-2].ast), (yyvsp[-5].ast), NULL); CG(extra_fn_flags) = (yyvsp[-4].num); }
5919
560
#line 5920 "/src/php-src/Zend/zend_language_parser.c"
5920
560
    break;
5921
5922
731
  case 190:
5923
731
#line 594 "/src/php-src/Zend/zend_language_parser.y"
5924
731
                        { (yyval.num) = 0; }
5925
731
#line 5926 "/src/php-src/Zend/zend_language_parser.c"
5926
731
    break;
5927
5928
75
  case 191:
5929
75
#line 595 "/src/php-src/Zend/zend_language_parser.y"
5930
75
                                                        { (yyval.num) = ZEND_PARAM_REF; }
5931
75
#line 5932 "/src/php-src/Zend/zend_language_parser.c"
5932
75
    break;
5933
5934
765
  case 192:
5935
765
#line 599 "/src/php-src/Zend/zend_language_parser.y"
5936
765
                       { (yyval.num) = 0; }
5937
765
#line 5938 "/src/php-src/Zend/zend_language_parser.c"
5938
765
    break;
5939
5940
41
  case 193:
5941
41
#line 600 "/src/php-src/Zend/zend_language_parser.y"
5942
41
                            { (yyval.num) = ZEND_PARAM_VARIADIC; }
5943
41
#line 5944 "/src/php-src/Zend/zend_language_parser.c"
5944
41
    break;
5945
5946
68
  case 194:
5947
68
#line 604 "/src/php-src/Zend/zend_language_parser.y"
5948
68
                                        { (yyval.num) = CG(zend_lineno); }
5949
68
#line 5950 "/src/php-src/Zend/zend_language_parser.c"
5950
68
    break;
5951
5952
66
  case 195:
5953
66
#line 606 "/src/php-src/Zend/zend_language_parser.y"
5954
66
                        { (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, NULL); }
5955
66
#line 5956 "/src/php-src/Zend/zend_language_parser.c"
5956
66
    break;
5957
5958
1.31k
  case 196:
5959
1.31k
#line 607 "/src/php-src/Zend/zend_language_parser.y"
5960
1.31k
                        { (yyval.num) = CG(zend_lineno); }
5961
1.31k
#line 5962 "/src/php-src/Zend/zend_language_parser.c"
5962
1.31k
    break;
5963
5964
1.23k
  case 197:
5965
1.23k
#line 609 "/src/php-src/Zend/zend_language_parser.y"
5966
1.23k
                        { (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, NULL); }
5967
1.23k
#line 5968 "/src/php-src/Zend/zend_language_parser.c"
5968
1.23k
    break;
5969
5970
76
  case 198:
5971
76
#line 613 "/src/php-src/Zend/zend_language_parser.y"
5972
76
                                                                { (yyval.num) = (yyvsp[0].num); }
5973
76
#line 5974 "/src/php-src/Zend/zend_language_parser.c"
5974
76
    break;
5975
5976
5
  case 199:
5977
5
#line 615 "/src/php-src/Zend/zend_language_parser.y"
5978
5
                        { (yyval.num) = zend_add_class_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
5979
1
#line 5980 "/src/php-src/Zend/zend_language_parser.c"
5980
1
    break;
5981
5982
4
  case 200:
5983
4
#line 620 "/src/php-src/Zend/zend_language_parser.y"
5984
4
                        { (yyval.num) = zend_add_anonymous_class_modifier(0, (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
5985
2
#line 5986 "/src/php-src/Zend/zend_language_parser.c"
5986
2
    break;
5987
5988
2
  case 201:
5989
1
#line 622 "/src/php-src/Zend/zend_language_parser.y"
5990
1
                        { (yyval.num) = zend_add_anonymous_class_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
5991
0
#line 5992 "/src/php-src/Zend/zend_language_parser.c"
5992
0
    break;
5993
5994
49
  case 202:
5995
49
#line 626 "/src/php-src/Zend/zend_language_parser.y"
5996
49
                                                { (yyval.num) = 0; }
5997
49
#line 5998 "/src/php-src/Zend/zend_language_parser.c"
5998
49
    break;
5999
6000
1
  case 203:
6001
1
#line 627 "/src/php-src/Zend/zend_language_parser.y"
6002
1
                                                { (yyval.num) = (yyvsp[0].num); }
6003
1
#line 6004 "/src/php-src/Zend/zend_language_parser.c"
6004
1
    break;
6005
6006
48
  case 204:
6007
48
#line 631 "/src/php-src/Zend/zend_language_parser.y"
6008
48
                                        { (yyval.num) = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; }
6009
48
#line 6010 "/src/php-src/Zend/zend_language_parser.c"
6010
48
    break;
6011
6012
16
  case 205:
6013
16
#line 632 "/src/php-src/Zend/zend_language_parser.y"
6014
16
                                        { (yyval.num) = ZEND_ACC_FINAL; }
6015
16
#line 6016 "/src/php-src/Zend/zend_language_parser.c"
6016
16
    break;
6017
6018
22
  case 206:
6019
22
#line 633 "/src/php-src/Zend/zend_language_parser.y"
6020
22
                                        { (yyval.num) = ZEND_ACC_READONLY_CLASS|ZEND_ACC_NO_DYNAMIC_PROPERTIES; }
6021
22
#line 6022 "/src/php-src/Zend/zend_language_parser.c"
6022
22
    break;
6023
6024
152
  case 207:
6025
152
#line 637 "/src/php-src/Zend/zend_language_parser.y"
6026
152
                        { (yyval.num) = CG(zend_lineno); }
6027
152
#line 6028 "/src/php-src/Zend/zend_language_parser.c"
6028
152
    break;
6029
6030
146
  case 208:
6031
146
#line 639 "/src/php-src/Zend/zend_language_parser.y"
6032
146
                        { (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, NULL); }
6033
146
#line 6034 "/src/php-src/Zend/zend_language_parser.c"
6034
146
    break;
6035
6036
176
  case 209:
6037
176
#line 643 "/src/php-src/Zend/zend_language_parser.y"
6038
176
                            { (yyval.num) = CG(zend_lineno); }
6039
176
#line 6040 "/src/php-src/Zend/zend_language_parser.c"
6040
176
    break;
6041
6042
173
  case 210:
6043
173
#line 645 "/src/php-src/Zend/zend_language_parser.y"
6044
173
                        { (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, NULL); }
6045
173
#line 6046 "/src/php-src/Zend/zend_language_parser.c"
6046
173
    break;
6047
6048
174
  case 211:
6049
174
#line 649 "/src/php-src/Zend/zend_language_parser.y"
6050
174
                       { (yyval.num) = CG(zend_lineno); }
6051
174
#line 6052 "/src/php-src/Zend/zend_language_parser.c"
6052
174
    break;
6053
6054
152
  case 212:
6055
152
#line 651 "/src/php-src/Zend/zend_language_parser.y"
6056
152
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_ENUM|ZEND_ACC_FINAL, (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), NULL, (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, (yyvsp[-5].ast)); }
6057
152
#line 6058 "/src/php-src/Zend/zend_language_parser.c"
6058
152
    break;
6059
6060
134
  case 213:
6061
134
#line 655 "/src/php-src/Zend/zend_language_parser.y"
6062
134
                        { (yyval.ast) = NULL; }
6063
134
#line 6064 "/src/php-src/Zend/zend_language_parser.c"
6064
134
    break;
6065
6066
38
  case 214:
6067
38
#line 656 "/src/php-src/Zend/zend_language_parser.y"
6068
38
                              { (yyval.ast) = (yyvsp[0].ast); }
6069
38
#line 6070 "/src/php-src/Zend/zend_language_parser.c"
6070
38
    break;
6071
6072
135
  case 215:
6073
135
#line 661 "/src/php-src/Zend/zend_language_parser.y"
6074
135
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ENUM_CASE, (yyvsp[-2].ast), (yyvsp[-1].ast), ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), NULL); }
6075
135
#line 6076 "/src/php-src/Zend/zend_language_parser.c"
6076
135
    break;
6077
6078
93
  case 216:
6079
93
#line 665 "/src/php-src/Zend/zend_language_parser.y"
6080
93
                        { (yyval.ast) = NULL; }
6081
93
#line 6082 "/src/php-src/Zend/zend_language_parser.c"
6082
93
    break;
6083
6084
42
  case 217:
6085
42
#line 666 "/src/php-src/Zend/zend_language_parser.y"
6086
42
                         { (yyval.ast) = (yyvsp[0].ast); }
6087
42
#line 6088 "/src/php-src/Zend/zend_language_parser.c"
6088
42
    break;
6089
6090
1.16k
  case 218:
6091
1.16k
#line 670 "/src/php-src/Zend/zend_language_parser.y"
6092
1.16k
                                                { (yyval.ast) = NULL; }
6093
1.16k
#line 6094 "/src/php-src/Zend/zend_language_parser.c"
6094
1.16k
    break;
6095
6096
264
  case 219:
6097
264
#line 671 "/src/php-src/Zend/zend_language_parser.y"
6098
264
                                        { (yyval.ast) = (yyvsp[0].ast); }
6099
264
#line 6100 "/src/php-src/Zend/zend_language_parser.c"
6100
264
    break;
6101
6102
155
  case 220:
6103
155
#line 675 "/src/php-src/Zend/zend_language_parser.y"
6104
155
                                                { (yyval.ast) = NULL; }
6105
155
#line 6106 "/src/php-src/Zend/zend_language_parser.c"
6106
155
    break;
6107
6108
19
  case 221:
6109
19
#line 676 "/src/php-src/Zend/zend_language_parser.y"
6110
19
                                                { (yyval.ast) = (yyvsp[0].ast); }
6111
19
#line 6112 "/src/php-src/Zend/zend_language_parser.c"
6112
19
    break;
6113
6114
1.53k
  case 222:
6115
1.53k
#line 680 "/src/php-src/Zend/zend_language_parser.y"
6116
1.53k
                                                        { (yyval.ast) = NULL; }
6117
1.53k
#line 6118 "/src/php-src/Zend/zend_language_parser.c"
6118
1.53k
    break;
6119
6120
67
  case 223:
6121
67
#line 681 "/src/php-src/Zend/zend_language_parser.y"
6122
67
                                                { (yyval.ast) = (yyvsp[0].ast); }
6123
67
#line 6124 "/src/php-src/Zend/zend_language_parser.c"
6124
67
    break;
6125
6126
153
  case 224:
6127
153
#line 685 "/src/php-src/Zend/zend_language_parser.y"
6128
153
                                                { (yyval.ast) = (yyvsp[0].ast); }
6129
153
#line 6130 "/src/php-src/Zend/zend_language_parser.c"
6130
153
    break;
6131
6132
77
  case 225:
6133
77
#line 686 "/src/php-src/Zend/zend_language_parser.y"
6134
77
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_REF, (yyvsp[0].ast)); }
6135
77
#line 6136 "/src/php-src/Zend/zend_language_parser.c"
6136
77
    break;
6137
6138
7
  case 226:
6139
7
#line 687 "/src/php-src/Zend/zend_language_parser.y"
6140
7
                                               { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LIST; }
6141
7
#line 6142 "/src/php-src/Zend/zend_language_parser.c"
6142
7
    break;
6143
6144
1
  case 227:
6145
1
#line 688 "/src/php-src/Zend/zend_language_parser.y"
6146
1
                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
6147
1
#line 6148 "/src/php-src/Zend/zend_language_parser.c"
6148
1
    break;
6149
6150
248
  case 228:
6151
248
#line 692 "/src/php-src/Zend/zend_language_parser.y"
6152
248
                          { (yyval.ast) = (yyvsp[0].ast); }
6153
248
#line 6154 "/src/php-src/Zend/zend_language_parser.c"
6154
248
    break;
6155
6156
2
  case 229:
6157
2
#line 693 "/src/php-src/Zend/zend_language_parser.y"
6158
2
                                                      { (yyval.ast) = (yyvsp[-2].ast); }
6159
2
#line 6160 "/src/php-src/Zend/zend_language_parser.c"
6160
2
    break;
6161
6162
199
  case 230:
6163
199
#line 697 "/src/php-src/Zend/zend_language_parser.y"
6164
199
                          { (yyval.ast) = (yyvsp[0].ast); }
6165
199
#line 6166 "/src/php-src/Zend/zend_language_parser.c"
6166
199
    break;
6167
6168
0
  case 231:
6169
0
#line 698 "/src/php-src/Zend/zend_language_parser.y"
6170
0
                                                          { (yyval.ast) = (yyvsp[-2].ast); }
6171
0
#line 6172 "/src/php-src/Zend/zend_language_parser.c"
6172
0
    break;
6173
6174
55
  case 232:
6175
55
#line 702 "/src/php-src/Zend/zend_language_parser.y"
6176
55
                          { (yyval.ast) = (yyvsp[0].ast); }
6177
55
#line 6178 "/src/php-src/Zend/zend_language_parser.c"
6178
55
    break;
6179
6180
0
  case 233:
6181
0
#line 703 "/src/php-src/Zend/zend_language_parser.y"
6182
0
                                                          { (yyval.ast) = (yyvsp[-2].ast); }
6183
0
#line 6184 "/src/php-src/Zend/zend_language_parser.c"
6184
0
    break;
6185
6186
16
  case 234:
6187
16
#line 707 "/src/php-src/Zend/zend_language_parser.y"
6188
16
                                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6189
16
#line 6190 "/src/php-src/Zend/zend_language_parser.c"
6190
16
    break;
6191
6192
1
  case 235:
6193
1
#line 708 "/src/php-src/Zend/zend_language_parser.y"
6194
1
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
6195
1
#line 6196 "/src/php-src/Zend/zend_language_parser.c"
6196
1
    break;
6197
6198
0
  case 236:
6199
0
#line 709 "/src/php-src/Zend/zend_language_parser.y"
6200
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6201
0
#line 6202 "/src/php-src/Zend/zend_language_parser.c"
6202
0
    break;
6203
6204
0
  case 237:
6205
0
#line 710 "/src/php-src/Zend/zend_language_parser.y"
6206
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6207
0
#line 6208 "/src/php-src/Zend/zend_language_parser.c"
6208
0
    break;
6209
6210
20
  case 238:
6211
20
#line 714 "/src/php-src/Zend/zend_language_parser.y"
6212
20
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_SWITCH_LIST); }
6213
20
#line 6214 "/src/php-src/Zend/zend_language_parser.c"
6214
20
    break;
6215
6216
19
  case 239:
6217
19
#line 716 "/src/php-src/Zend/zend_language_parser.y"
6218
19
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-4].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6219
19
#line 6220 "/src/php-src/Zend/zend_language_parser.c"
6220
19
    break;
6221
6222
6
  case 240:
6223
6
#line 718 "/src/php-src/Zend/zend_language_parser.y"
6224
6
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-4].ast), zend_ast_create_ex(ZEND_AST_SWITCH_CASE, ZEND_ALT_CASE_SYNTAX, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6225
6
#line 6226 "/src/php-src/Zend/zend_language_parser.c"
6226
6
    break;
6227
6228
2
  case 241:
6229
2
#line 720 "/src/php-src/Zend/zend_language_parser.y"
6230
2
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, NULL, (yyvsp[0].ast))); }
6231
2
#line 6232 "/src/php-src/Zend/zend_language_parser.c"
6232
2
    break;
6233
6234
0
  case 242:
6235
0
#line 722 "/src/php-src/Zend/zend_language_parser.y"
6236
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create_ex(ZEND_AST_SWITCH_CASE, ZEND_ALT_CASE_SYNTAX, NULL, (yyvsp[0].ast))); }
6237
0
#line 6238 "/src/php-src/Zend/zend_language_parser.c"
6238
0
    break;
6239
6240
33
  case 243:
6241
33
#line 728 "/src/php-src/Zend/zend_language_parser.y"
6242
33
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
6243
33
#line 6244 "/src/php-src/Zend/zend_language_parser.c"
6244
33
    break;
6245
6246
2
  case 244:
6247
2
#line 732 "/src/php-src/Zend/zend_language_parser.y"
6248
2
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_MATCH_ARM_LIST); }
6249
2
#line 6250 "/src/php-src/Zend/zend_language_parser.c"
6250
2
    break;
6251
6252
31
  case 245:
6253
31
#line 733 "/src/php-src/Zend/zend_language_parser.y"
6254
31
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6255
31
#line 6256 "/src/php-src/Zend/zend_language_parser.c"
6256
31
    break;
6257
6258
32
  case 246:
6259
32
#line 737 "/src/php-src/Zend/zend_language_parser.y"
6260
32
                          { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_MATCH_ARM_LIST, (yyvsp[0].ast)); }
6261
32
#line 6262 "/src/php-src/Zend/zend_language_parser.c"
6262
32
    break;
6263
6264
23
  case 247:
6265
23
#line 738 "/src/php-src/Zend/zend_language_parser.y"
6266
23
                                                       { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6267
23
#line 6268 "/src/php-src/Zend/zend_language_parser.c"
6268
23
    break;
6269
6270
45
  case 248:
6271
45
#line 743 "/src/php-src/Zend/zend_language_parser.y"
6272
45
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH_ARM, (yyvsp[-3].ast), (yyvsp[0].ast)); }
6273
45
#line 6274 "/src/php-src/Zend/zend_language_parser.c"
6274
45
    break;
6275
6276
10
  case 249:
6277
10
#line 745 "/src/php-src/Zend/zend_language_parser.y"
6278
10
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH_ARM, NULL, (yyvsp[0].ast)); }
6279
10
#line 6280 "/src/php-src/Zend/zend_language_parser.c"
6280
10
    break;
6281
6282
48
  case 250:
6283
48
#line 749 "/src/php-src/Zend/zend_language_parser.y"
6284
48
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
6285
48
#line 6286 "/src/php-src/Zend/zend_language_parser.c"
6286
48
    break;
6287
6288
30
  case 251:
6289
30
#line 750 "/src/php-src/Zend/zend_language_parser.y"
6290
30
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6291
30
#line 6292 "/src/php-src/Zend/zend_language_parser.c"
6292
30
    break;
6293
6294
16
  case 252:
6295
16
#line 755 "/src/php-src/Zend/zend_language_parser.y"
6296
16
                          { (yyval.ast) = (yyvsp[0].ast); }
6297
16
#line 6298 "/src/php-src/Zend/zend_language_parser.c"
6298
16
    break;
6299
6300
0
  case 253:
6301
0
#line 756 "/src/php-src/Zend/zend_language_parser.y"
6302
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6303
0
#line 6304 "/src/php-src/Zend/zend_language_parser.c"
6304
0
    break;
6305
6306
85
  case 254:
6307
85
#line 762 "/src/php-src/Zend/zend_language_parser.y"
6308
85
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
6309
85
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6310
85
#line 6311 "/src/php-src/Zend/zend_language_parser.c"
6311
85
    break;
6312
6313
2
  case 255:
6314
2
#line 765 "/src/php-src/Zend/zend_language_parser.y"
6315
2
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
6316
2
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6317
2
#line 6318 "/src/php-src/Zend/zend_language_parser.c"
6318
2
    break;
6319
6320
82
  case 256:
6321
82
#line 770 "/src/php-src/Zend/zend_language_parser.y"
6322
82
                                                    { (yyval.ast) = (yyvsp[0].ast); }
6323
82
#line 6324 "/src/php-src/Zend/zend_language_parser.c"
6324
82
    break;
6325
6326
3
  case 257:
6327
3
#line 772 "/src/php-src/Zend/zend_language_parser.y"
6328
3
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[0].ast))); }
6329
3
#line 6330 "/src/php-src/Zend/zend_language_parser.c"
6330
3
    break;
6331
6332
5
  case 258:
6333
5
#line 777 "/src/php-src/Zend/zend_language_parser.y"
6334
5
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
6335
5
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
6336
5
#line 6337 "/src/php-src/Zend/zend_language_parser.c"
6337
5
    break;
6338
6339
1
  case 259:
6340
1
#line 780 "/src/php-src/Zend/zend_language_parser.y"
6341
1
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-6].ast),
6342
1
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
6343
1
#line 6344 "/src/php-src/Zend/zend_language_parser.c"
6344
1
    break;
6345
6346
2
  case 260:
6347
2
#line 785 "/src/php-src/Zend/zend_language_parser.y"
6348
2
                                                     { (yyval.ast) = (yyvsp[-2].ast); }
6349
2
#line 6350 "/src/php-src/Zend/zend_language_parser.c"
6350
2
    break;
6351
6352
2
  case 261:
6353
2
#line 787 "/src/php-src/Zend/zend_language_parser.y"
6354
2
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
6355
2
            zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[-2].ast))); }
6356
2
#line 6357 "/src/php-src/Zend/zend_language_parser.c"
6357
2
    break;
6358
6359
594
  case 262:
6360
594
#line 792 "/src/php-src/Zend/zend_language_parser.y"
6361
594
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6362
594
#line 6363 "/src/php-src/Zend/zend_language_parser.c"
6363
594
    break;
6364
6365
998
  case 263:
6366
998
#line 793 "/src/php-src/Zend/zend_language_parser.y"
6367
998
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_PARAM_LIST); }
6368
998
#line 6369 "/src/php-src/Zend/zend_language_parser.c"
6369
998
    break;
6370
6371
595
  case 264:
6372
595
#line 799 "/src/php-src/Zend/zend_language_parser.y"
6373
595
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PARAM_LIST, (yyvsp[0].ast)); }
6374
595
#line 6375 "/src/php-src/Zend/zend_language_parser.c"
6375
595
    break;
6376
6377
201
  case 265:
6378
201
#line 801 "/src/php-src/Zend/zend_language_parser.y"
6379
201
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6380
201
#line 6381 "/src/php-src/Zend/zend_language_parser.c"
6381
201
    break;
6382
6383
9
  case 266:
6384
9
#line 805 "/src/php-src/Zend/zend_language_parser.y"
6385
9
                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
6386
9
#line 6387 "/src/php-src/Zend/zend_language_parser.c"
6387
9
    break;
6388
6389
787
  case 267:
6390
787
#line 806 "/src/php-src/Zend/zend_language_parser.y"
6391
787
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6392
787
#line 6393 "/src/php-src/Zend/zend_language_parser.c"
6393
787
    break;
6394
6395
777
  case 268:
6396
777
#line 811 "/src/php-src/Zend/zend_language_parser.y"
6397
777
                        { (yyval.num) = 0; }
6398
777
#line 6399 "/src/php-src/Zend/zend_language_parser.c"
6399
777
    break;
6400
6401
31
  case 269:
6402
31
#line 813 "/src/php-src/Zend/zend_language_parser.y"
6403
31
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_CPP, (yyvsp[0].ast));
6404
31
        if (!(yyval.num)) { YYERROR; } }
6405
30
#line 6406 "/src/php-src/Zend/zend_language_parser.c"
6406
30
    break;
6407
6408
662
  case 270:
6409
662
#line 820 "/src/php-src/Zend/zend_language_parser.y"
6410
662
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-6].num) | (yyvsp[-4].num) | (yyvsp[-3].num), (yyvsp[-5].ast), (yyvsp[-2].ast), NULL,
6411
662
          NULL, (yyvsp[-1].str) ? zend_ast_create_zval_from_str((yyvsp[-1].str)) : NULL, (yyvsp[0].ast)); }
6412
662
#line 6413 "/src/php-src/Zend/zend_language_parser.c"
6413
662
    break;
6414
6415
134
  case 271:
6416
134
#line 824 "/src/php-src/Zend/zend_language_parser.y"
6417
134
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-8].num) | (yyvsp[-6].num) | (yyvsp[-5].num), (yyvsp[-7].ast), (yyvsp[-4].ast), (yyvsp[-2].ast),
6418
134
          NULL, (yyvsp[-1].str) ? zend_ast_create_zval_from_str((yyvsp[-1].str)) : NULL, (yyvsp[0].ast)); }
6419
134
#line 6420 "/src/php-src/Zend/zend_language_parser.c"
6420
134
    break;
6421
6422
842
  case 272:
6423
842
#line 829 "/src/php-src/Zend/zend_language_parser.y"
6424
842
                        { (yyval.ast) = NULL; }
6425
842
#line 6426 "/src/php-src/Zend/zend_language_parser.c"
6426
842
    break;
6427
6428
538
  case 273:
6429
538
#line 830 "/src/php-src/Zend/zend_language_parser.y"
6430
538
                                                { (yyval.ast) = (yyvsp[0].ast); }
6431
538
#line 6432 "/src/php-src/Zend/zend_language_parser.c"
6432
538
    break;
6433
6434
241
  case 274:
6435
241
#line 834 "/src/php-src/Zend/zend_language_parser.y"
6436
241
                                                { (yyval.ast) = (yyvsp[0].ast); }
6437
241
#line 6438 "/src/php-src/Zend/zend_language_parser.c"
6438
241
    break;
6439
6440
21
  case 275:
6441
21
#line 835 "/src/php-src/Zend/zend_language_parser.y"
6442
21
                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr |= ZEND_TYPE_NULLABLE; }
6443
21
#line 6444 "/src/php-src/Zend/zend_language_parser.c"
6444
21
    break;
6445
6446
53
  case 276:
6447
53
#line 836 "/src/php-src/Zend/zend_language_parser.y"
6448
53
                                                { (yyval.ast) = (yyvsp[0].ast); }
6449
53
#line 6450 "/src/php-src/Zend/zend_language_parser.c"
6450
53
    break;
6451
6452
30
  case 277:
6453
30
#line 837 "/src/php-src/Zend/zend_language_parser.y"
6454
30
                                        { (yyval.ast) = (yyvsp[0].ast); }
6455
30
#line 6456 "/src/php-src/Zend/zend_language_parser.c"
6456
30
    break;
6457
6458
455
  case 278:
6459
455
#line 841 "/src/php-src/Zend/zend_language_parser.y"
6460
455
                                        { (yyval.ast) = (yyvsp[0].ast); }
6461
455
#line 6462 "/src/php-src/Zend/zend_language_parser.c"
6462
455
    break;
6463
6464
11
  case 279:
6465
11
#line 842 "/src/php-src/Zend/zend_language_parser.y"
6466
11
                                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_STATIC); }
6467
11
#line 6468 "/src/php-src/Zend/zend_language_parser.c"
6468
11
    break;
6469
6470
104
  case 280:
6471
104
#line 846 "/src/php-src/Zend/zend_language_parser.y"
6472
104
                     { (yyval.ast) = (yyvsp[0].ast); }
6473
104
#line 6474 "/src/php-src/Zend/zend_language_parser.c"
6474
104
    break;
6475
6476
17
  case 281:
6477
17
#line 847 "/src/php-src/Zend/zend_language_parser.y"
6478
17
                                           { (yyval.ast) = (yyvsp[-1].ast); }
6479
17
#line 6480 "/src/php-src/Zend/zend_language_parser.c"
6480
17
    break;
6481
6482
53
  case 282:
6483
53
#line 852 "/src/php-src/Zend/zend_language_parser.y"
6484
53
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_UNION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6485
53
#line 6486 "/src/php-src/Zend/zend_language_parser.c"
6486
53
    break;
6487
6488
14
  case 283:
6489
14
#line 854 "/src/php-src/Zend/zend_language_parser.y"
6490
14
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6491
14
#line 6492 "/src/php-src/Zend/zend_language_parser.c"
6492
14
    break;
6493
6494
48
  case 284:
6495
48
#line 858 "/src/php-src/Zend/zend_language_parser.y"
6496
48
                                                                          { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_INTERSECTION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6497
48
#line 6498 "/src/php-src/Zend/zend_language_parser.c"
6498
48
    break;
6499
6500
3
  case 285:
6501
3
#line 859 "/src/php-src/Zend/zend_language_parser.y"
6502
3
                                                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6503
3
#line 6504 "/src/php-src/Zend/zend_language_parser.c"
6504
3
    break;
6505
6506
440
  case 286:
6507
440
#line 866 "/src/php-src/Zend/zend_language_parser.y"
6508
440
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6509
440
#line 6510 "/src/php-src/Zend/zend_language_parser.c"
6510
440
    break;
6511
6512
32
  case 287:
6513
32
#line 867 "/src/php-src/Zend/zend_language_parser.y"
6514
32
                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr |= ZEND_TYPE_NULLABLE; }
6515
32
#line 6516 "/src/php-src/Zend/zend_language_parser.c"
6516
32
    break;
6517
6518
56
  case 288:
6519
56
#line 868 "/src/php-src/Zend/zend_language_parser.y"
6520
56
                                                { (yyval.ast) = (yyvsp[0].ast); }
6521
56
#line 6522 "/src/php-src/Zend/zend_language_parser.c"
6522
56
    break;
6523
6524
10
  case 289:
6525
10
#line 869 "/src/php-src/Zend/zend_language_parser.y"
6526
10
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6527
10
#line 6528 "/src/php-src/Zend/zend_language_parser.c"
6528
10
    break;
6529
6530
94
  case 290:
6531
94
#line 873 "/src/php-src/Zend/zend_language_parser.y"
6532
94
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_ARRAY); }
6533
94
#line 6534 "/src/php-src/Zend/zend_language_parser.c"
6534
94
    break;
6535
6536
17
  case 291:
6537
17
#line 874 "/src/php-src/Zend/zend_language_parser.y"
6538
17
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_CALLABLE); }
6539
17
#line 6540 "/src/php-src/Zend/zend_language_parser.c"
6540
17
    break;
6541
6542
994
  case 292:
6543
994
#line 875 "/src/php-src/Zend/zend_language_parser.y"
6544
994
                                { (yyval.ast) = (yyvsp[0].ast); }
6545
994
#line 6546 "/src/php-src/Zend/zend_language_parser.c"
6546
994
    break;
6547
6548
118
  case 293:
6549
118
#line 879 "/src/php-src/Zend/zend_language_parser.y"
6550
118
                                    { (yyval.ast) = (yyvsp[0].ast); }
6551
118
#line 6552 "/src/php-src/Zend/zend_language_parser.c"
6552
118
    break;
6553
6554
17
  case 294:
6555
17
#line 880 "/src/php-src/Zend/zend_language_parser.y"
6556
17
                                                          { (yyval.ast) = (yyvsp[-1].ast); }
6557
17
#line 6558 "/src/php-src/Zend/zend_language_parser.c"
6558
17
    break;
6559
6560
57
  case 295:
6561
57
#line 885 "/src/php-src/Zend/zend_language_parser.y"
6562
57
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_UNION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6563
57
#line 6564 "/src/php-src/Zend/zend_language_parser.c"
6564
57
    break;
6565
6566
19
  case 296:
6567
19
#line 887 "/src/php-src/Zend/zend_language_parser.y"
6568
19
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6569
19
#line 6570 "/src/php-src/Zend/zend_language_parser.c"
6570
19
    break;
6571
6572
28
  case 297:
6573
28
#line 892 "/src/php-src/Zend/zend_language_parser.y"
6574
28
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_INTERSECTION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6575
28
#line 6576 "/src/php-src/Zend/zend_language_parser.c"
6576
28
    break;
6577
6578
2
  case 298:
6579
2
#line 894 "/src/php-src/Zend/zend_language_parser.y"
6580
2
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6581
2
#line 6582 "/src/php-src/Zend/zend_language_parser.c"
6582
2
    break;
6583
6584
1.29k
  case 299:
6585
1.29k
#line 898 "/src/php-src/Zend/zend_language_parser.y"
6586
1.29k
                        { (yyval.ast) = NULL; }
6587
1.29k
#line 6588 "/src/php-src/Zend/zend_language_parser.c"
6588
1.29k
    break;
6589
6590
283
  case 300:
6591
283
#line 899 "/src/php-src/Zend/zend_language_parser.y"
6592
283
                                { (yyval.ast) = (yyvsp[0].ast); }
6593
283
#line 6594 "/src/php-src/Zend/zend_language_parser.c"
6594
283
    break;
6595
6596
1.35k
  case 301:
6597
1.35k
#line 903 "/src/php-src/Zend/zend_language_parser.y"
6598
1.35k
                        { (yyval.ast) = zend_ast_create_arg_list(0, ZEND_AST_ARG_LIST); }
6599
1.35k
#line 6600 "/src/php-src/Zend/zend_language_parser.c"
6600
1.35k
    break;
6601
6602
5.24k
  case 302:
6603
5.24k
#line 904 "/src/php-src/Zend/zend_language_parser.y"
6604
5.24k
                                                               { (yyval.ast) = (yyvsp[-2].ast); }
6605
5.24k
#line 6606 "/src/php-src/Zend/zend_language_parser.c"
6606
5.24k
    break;
6607
6608
5.31k
  case 303:
6609
5.31k
#line 909 "/src/php-src/Zend/zend_language_parser.y"
6610
5.31k
                        { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)); }
6611
5.31k
#line 6612 "/src/php-src/Zend/zend_language_parser.c"
6612
5.31k
    break;
6613
6614
1.53k
  case 304:
6615
1.53k
#line 911 "/src/php-src/Zend/zend_language_parser.y"
6616
1.53k
                        { (yyval.ast) = zend_ast_arg_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6617
1.53k
#line 6618 "/src/php-src/Zend/zend_language_parser.c"
6618
1.53k
    break;
6619
6620
0
  case 305:
6621
0
#line 924 "/src/php-src/Zend/zend_language_parser.y"
6622
0
                        { (yyval.ast) = zend_ast_create_arg_list(0, ZEND_AST_ARG_LIST); }
6623
0
#line 6624 "/src/php-src/Zend/zend_language_parser.c"
6624
0
    break;
6625
6626
4
  case 306:
6627
4
#line 925 "/src/php-src/Zend/zend_language_parser.y"
6628
4
                                                                     { (yyval.ast) = (yyvsp[-2].ast); }
6629
4
#line 6630 "/src/php-src/Zend/zend_language_parser.c"
6630
4
    break;
6631
6632
0
  case 307:
6633
0
#line 926 "/src/php-src/Zend/zend_language_parser.y"
6634
0
                                 { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[-2].ast)); }
6635
0
#line 6636 "/src/php-src/Zend/zend_language_parser.c"
6636
0
    break;
6637
6638
4
  case 308:
6639
4
#line 931 "/src/php-src/Zend/zend_language_parser.y"
6640
4
                        { (yyval.ast) = zend_ast_create_arg_list(2, ZEND_AST_ARG_LIST, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6641
4
#line 6642 "/src/php-src/Zend/zend_language_parser.c"
6642
4
    break;
6643
6644
0
  case 309:
6645
0
#line 933 "/src/php-src/Zend/zend_language_parser.y"
6646
0
                        { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)); }
6647
0
#line 6648 "/src/php-src/Zend/zend_language_parser.c"
6648
0
    break;
6649
6650
0
  case 310:
6651
0
#line 935 "/src/php-src/Zend/zend_language_parser.y"
6652
0
                        { (yyval.ast) = zend_ast_arg_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6653
0
#line 6654 "/src/php-src/Zend/zend_language_parser.c"
6654
0
    break;
6655
6656
52
  case 311:
6657
52
#line 940 "/src/php-src/Zend/zend_language_parser.y"
6658
52
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMED_ARG, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6659
52
#line 6660 "/src/php-src/Zend/zend_language_parser.c"
6660
52
    break;
6661
6662
72
  case 312:
6663
72
#line 942 "/src/php-src/Zend/zend_language_parser.y"
6664
72
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PLACEHOLDER_ARG, ZEND_PLACEHOLDER_VARIADIC); }
6665
72
#line 6666 "/src/php-src/Zend/zend_language_parser.c"
6666
72
    break;
6667
6668
5
  case 313:
6669
5
#line 944 "/src/php-src/Zend/zend_language_parser.y"
6670
5
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PLACEHOLDER_ARG); }
6671
5
#line 6672 "/src/php-src/Zend/zend_language_parser.c"
6672
5
    break;
6673
6674
0
  case 314:
6675
0
#line 946 "/src/php-src/Zend/zend_language_parser.y"
6676
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMED_ARG, (yyvsp[-2].ast), zend_ast_create(ZEND_AST_PLACEHOLDER_ARG)); }
6677
0
#line 6678 "/src/php-src/Zend/zend_language_parser.c"
6678
0
    break;
6679
6680
45
  case 315:
6681
45
#line 948 "/src/php-src/Zend/zend_language_parser.y"
6682
45
                        { (yyval.ast) = zend_ast_create(ZEND_AST_UNPACK, (yyvsp[0].ast)); }
6683
45
#line 6684 "/src/php-src/Zend/zend_language_parser.c"
6684
45
    break;
6685
6686
6.68k
  case 316:
6687
6.68k
#line 952 "/src/php-src/Zend/zend_language_parser.y"
6688
6.68k
                     { (yyval.ast) = (yyvsp[0].ast); }
6689
6.68k
#line 6690 "/src/php-src/Zend/zend_language_parser.c"
6690
6.68k
    break;
6691
6692
174
  case 317:
6693
174
#line 953 "/src/php-src/Zend/zend_language_parser.y"
6694
174
                                 { (yyval.ast) = (yyvsp[0].ast); }
6695
174
#line 6696 "/src/php-src/Zend/zend_language_parser.c"
6696
174
    break;
6697
6698
2
  case 318:
6699
2
#line 957 "/src/php-src/Zend/zend_language_parser.y"
6700
2
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6701
2
#line 6702 "/src/php-src/Zend/zend_language_parser.c"
6702
2
    break;
6703
6704
28
  case 319:
6705
28
#line 958 "/src/php-src/Zend/zend_language_parser.y"
6706
28
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
6707
28
#line 6708 "/src/php-src/Zend/zend_language_parser.c"
6708
28
    break;
6709
6710
30
  case 320:
6711
30
#line 963 "/src/php-src/Zend/zend_language_parser.y"
6712
30
                { (yyval.ast) = zend_ast_create(ZEND_AST_GLOBAL, zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast))); }
6713
30
#line 6714 "/src/php-src/Zend/zend_language_parser.c"
6714
30
    break;
6715
6716
0
  case 321:
6717
0
#line 968 "/src/php-src/Zend/zend_language_parser.y"
6718
0
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6719
0
#line 6720 "/src/php-src/Zend/zend_language_parser.c"
6720
0
    break;
6721
6722
42
  case 322:
6723
42
#line 969 "/src/php-src/Zend/zend_language_parser.y"
6724
42
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
6725
42
#line 6726 "/src/php-src/Zend/zend_language_parser.c"
6726
42
    break;
6727
6728
12
  case 323:
6729
12
#line 973 "/src/php-src/Zend/zend_language_parser.y"
6730
12
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[0].ast), NULL); }
6731
12
#line 6732 "/src/php-src/Zend/zend_language_parser.c"
6732
12
    break;
6733
6734
30
  case 324:
6735
30
#line 974 "/src/php-src/Zend/zend_language_parser.y"
6736
30
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6737
30
#line 6738 "/src/php-src/Zend/zend_language_parser.c"
6738
30
    break;
6739
6740
1.63k
  case 325:
6741
1.63k
#line 979 "/src/php-src/Zend/zend_language_parser.y"
6742
1.63k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
6743
1.63k
#line 6744 "/src/php-src/Zend/zend_language_parser.c"
6744
1.63k
    break;
6745
6746
1.90k
  case 326:
6747
1.90k
#line 981 "/src/php-src/Zend/zend_language_parser.y"
6748
1.90k
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
6749
1.90k
#line 6750 "/src/php-src/Zend/zend_language_parser.c"
6750
1.90k
    break;
6751
6752
409
  case 327:
6753
409
#line 987 "/src/php-src/Zend/zend_language_parser.y"
6754
409
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_GROUP, (yyvsp[-2].ast), (yyvsp[-1].ast), NULL);
6755
409
        (yyval.ast)->attr = (yyvsp[-3].num); }
6756
409
#line 6757 "/src/php-src/Zend/zend_language_parser.c"
6757
409
    break;
6758
6759
143
  case 328:
6760
143
#line 990 "/src/php-src/Zend/zend_language_parser.y"
6761
143
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_GROUP, (yyvsp[-1].ast), zend_ast_create_list(1, ZEND_AST_PROP_DECL, (yyvsp[0].ast)), NULL);
6762
143
        (yyval.ast)->attr = (yyvsp[-2].num); }
6763
143
#line 6764 "/src/php-src/Zend/zend_language_parser.c"
6764
143
    break;
6765
6766
131
  case 329:
6767
131
#line 993 "/src/php-src/Zend/zend_language_parser.y"
6768
131
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST_GROUP, (yyvsp[-1].ast), NULL, NULL);
6769
131
        (yyval.ast)->attr = (yyvsp[-3].num); }
6770
131
#line 6771 "/src/php-src/Zend/zend_language_parser.c"
6771
131
    break;
6772
6773
22
  case 330:
6774
22
#line 996 "/src/php-src/Zend/zend_language_parser.y"
6775
22
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST_GROUP, (yyvsp[-1].ast), NULL, (yyvsp[-2].ast));
6776
22
        (yyval.ast)->attr = (yyvsp[-4].num); }
6777
22
#line 6778 "/src/php-src/Zend/zend_language_parser.c"
6778
22
    break;
6779
6780
689
  case 331:
6781
689
#line 1000 "/src/php-src/Zend/zend_language_parser.y"
6782
689
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_METHOD, (yyvsp[-9].num) | (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-10].num), (yyvsp[-7].str),
6783
689
          zend_ast_get_str((yyvsp[-8].ast)), (yyvsp[-5].ast), NULL, (yyvsp[-1].ast), (yyvsp[-3].ast), NULL); CG(extra_fn_flags) = (yyvsp[-2].num); }
6784
689
#line 6785 "/src/php-src/Zend/zend_language_parser.c"
6785
689
    break;
6786
6787
135
  case 332:
6788
135
#line 1002 "/src/php-src/Zend/zend_language_parser.y"
6789
135
                          { (yyval.ast) = (yyvsp[0].ast); }
6790
135
#line 6791 "/src/php-src/Zend/zend_language_parser.c"
6791
135
    break;
6792
6793
1.49k
  case 333:
6794
1.49k
#line 1006 "/src/php-src/Zend/zend_language_parser.y"
6795
1.49k
                                           { (yyval.ast) = (yyvsp[0].ast); }
6796
1.49k
#line 6797 "/src/php-src/Zend/zend_language_parser.c"
6797
1.49k
    break;
6798
6799
31
  case 334:
6800
31
#line 1007 "/src/php-src/Zend/zend_language_parser.y"
6801
31
                                                      { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
6802
31
#line 6803 "/src/php-src/Zend/zend_language_parser.c"
6803
31
    break;
6804
6805
106
  case 335:
6806
106
#line 1009 "/src/php-src/Zend/zend_language_parser.y"
6807
106
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_TRAIT, (yyvsp[-1].ast), (yyvsp[0].ast)); }
6808
106
#line 6809 "/src/php-src/Zend/zend_language_parser.c"
6809
106
    break;
6810
6811
208
  case 336:
6812
208
#line 1013 "/src/php-src/Zend/zend_language_parser.y"
6813
208
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
6814
208
#line 6815 "/src/php-src/Zend/zend_language_parser.c"
6815
208
    break;
6816
6817
32
  case 337:
6818
32
#line 1014 "/src/php-src/Zend/zend_language_parser.y"
6819
32
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6820
32
#line 6821 "/src/php-src/Zend/zend_language_parser.c"
6821
32
    break;
6822
6823
79
  case 338:
6824
79
#line 1018 "/src/php-src/Zend/zend_language_parser.y"
6825
79
                                                                                { (yyval.ast) = NULL; }
6826
79
#line 6827 "/src/php-src/Zend/zend_language_parser.c"
6827
79
    break;
6828
6829
0
  case 339:
6830
0
#line 1019 "/src/php-src/Zend/zend_language_parser.y"
6831
0
                                                                        { (yyval.ast) = NULL; }
6832
0
#line 6833 "/src/php-src/Zend/zend_language_parser.c"
6833
0
    break;
6834
6835
27
  case 340:
6836
27
#line 1020 "/src/php-src/Zend/zend_language_parser.y"
6837
27
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6838
27
#line 6839 "/src/php-src/Zend/zend_language_parser.c"
6839
27
    break;
6840
6841
28
  case 341:
6842
28
#line 1025 "/src/php-src/Zend/zend_language_parser.y"
6843
28
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_TRAIT_ADAPTATIONS, (yyvsp[0].ast)); }
6844
28
#line 6845 "/src/php-src/Zend/zend_language_parser.c"
6845
28
    break;
6846
6847
3
  case 342:
6848
3
#line 1027 "/src/php-src/Zend/zend_language_parser.y"
6849
3
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
6850
3
#line 6851 "/src/php-src/Zend/zend_language_parser.c"
6851
3
    break;
6852
6853
11
  case 343:
6854
11
#line 1031 "/src/php-src/Zend/zend_language_parser.y"
6855
11
                                        { (yyval.ast) = (yyvsp[-1].ast); }
6856
11
#line 6857 "/src/php-src/Zend/zend_language_parser.c"
6857
11
    break;
6858
6859
20
  case 344:
6860
20
#line 1032 "/src/php-src/Zend/zend_language_parser.y"
6861
20
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6862
20
#line 6863 "/src/php-src/Zend/zend_language_parser.c"
6863
20
    break;
6864
6865
11
  case 345:
6866
11
#line 1037 "/src/php-src/Zend/zend_language_parser.y"
6867
11
                { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_PRECEDENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6868
11
#line 6869 "/src/php-src/Zend/zend_language_parser.c"
6869
11
    break;
6870
6871
12
  case 346:
6872
12
#line 1042 "/src/php-src/Zend/zend_language_parser.y"
6873
12
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6874
12
#line 6875 "/src/php-src/Zend/zend_language_parser.c"
6875
12
    break;
6876
6877
1
  case 347:
6878
1
#line 1044 "/src/php-src/Zend/zend_language_parser.y"
6879
1
                        { zval zv;
6880
1
        if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
6881
1
        (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), zend_ast_create_zval(&zv)); }
6882
0
#line 6883 "/src/php-src/Zend/zend_language_parser.c"
6883
0
    break;
6884
6885
0
  case 348:
6886
0
#line 1048 "/src/php-src/Zend/zend_language_parser.y"
6887
0
                        { uint32_t modifiers = zend_modifier_token_to_flag(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[-1].num));
6888
0
        (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, modifiers, (yyvsp[-3].ast), (yyvsp[0].ast));
6889
        /* identifier nonterminal can cause allocations, so we need to free the node */
6890
0
        if (!modifiers) { zend_ast_destroy((yyval.ast)); YYERROR; } }
6891
0
#line 6892 "/src/php-src/Zend/zend_language_parser.c"
6892
0
    break;
6893
6894
8
  case 349:
6895
8
#line 1053 "/src/php-src/Zend/zend_language_parser.y"
6896
8
                        { uint32_t modifiers = zend_modifier_token_to_flag(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[0].num));
6897
8
        (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, modifiers, (yyvsp[-2].ast), NULL);
6898
        /* identifier nonterminal can cause allocations, so we need to free the node */
6899
8
        if (!modifiers) { zend_ast_destroy((yyval.ast)); YYERROR; } }
6900
7
#line 6901 "/src/php-src/Zend/zend_language_parser.c"
6901
7
    break;
6902
6903
17
  case 350:
6904
17
#line 1061 "/src/php-src/Zend/zend_language_parser.y"
6905
17
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_METHOD_REFERENCE, NULL, (yyvsp[0].ast)); }
6906
17
#line 6907 "/src/php-src/Zend/zend_language_parser.c"
6907
17
    break;
6908
6909
5
  case 351:
6910
5
#line 1062 "/src/php-src/Zend/zend_language_parser.y"
6911
5
                                                { (yyval.ast) = (yyvsp[0].ast); }
6912
5
#line 6913 "/src/php-src/Zend/zend_language_parser.c"
6913
5
    break;
6914
6915
17
  case 352:
6916
17
#line 1067 "/src/php-src/Zend/zend_language_parser.y"
6917
17
                { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_METHOD_REFERENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6918
17
#line 6919 "/src/php-src/Zend/zend_language_parser.c"
6919
17
    break;
6920
6921
71
  case 353:
6922
71
#line 1071 "/src/php-src/Zend/zend_language_parser.y"
6923
71
                                                        { (yyval.ast) = NULL; }
6924
71
#line 6925 "/src/php-src/Zend/zend_language_parser.c"
6925
71
    break;
6926
6927
618
  case 354:
6928
618
#line 1072 "/src/php-src/Zend/zend_language_parser.y"
6929
618
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6930
618
#line 6931 "/src/php-src/Zend/zend_language_parser.c"
6931
618
    break;
6932
6933
578
  case 355:
6934
578
#line 1077 "/src/php-src/Zend/zend_language_parser.y"
6935
578
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_PROPERTY, (yyvsp[0].ast));
6936
578
        if (!(yyval.num)) { YYERROR; } }
6937
572
#line 6938 "/src/php-src/Zend/zend_language_parser.c"
6938
572
    break;
6939
6940
572
  case 356:
6941
7
#line 1080 "/src/php-src/Zend/zend_language_parser.y"
6942
7
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
6943
7
#line 6944 "/src/php-src/Zend/zend_language_parser.c"
6944
7
    break;
6945
6946
323
  case 357:
6947
323
#line 1085 "/src/php-src/Zend/zend_language_parser.y"
6948
323
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
6949
323
#line 6950 "/src/php-src/Zend/zend_language_parser.c"
6950
323
    break;
6951
6952
403
  case 358:
6953
403
#line 1087 "/src/php-src/Zend/zend_language_parser.y"
6954
403
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[0].ast));
6955
403
        if (!(yyval.num)) { YYERROR; }
6956
397
        if (!((yyval.num) & ZEND_ACC_PPP_MASK)) { (yyval.num) |= ZEND_ACC_PUBLIC; } }
6957
0
#line 6958 "/src/php-src/Zend/zend_language_parser.c"
6958
0
    break;
6959
6960
116
  case 359:
6961
116
#line 1094 "/src/php-src/Zend/zend_language_parser.y"
6962
116
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
6963
116
#line 6964 "/src/php-src/Zend/zend_language_parser.c"
6964
116
    break;
6965
6966
44
  case 360:
6967
44
#line 1096 "/src/php-src/Zend/zend_language_parser.y"
6968
44
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_CONSTANT, (yyvsp[0].ast));
6969
44
        if (!(yyval.num)) { YYERROR; }
6970
43
        if (!((yyval.num) & ZEND_ACC_PPP_MASK)) { (yyval.num) |= ZEND_ACC_PUBLIC; } }
6971
0
#line 6972 "/src/php-src/Zend/zend_language_parser.c"
6972
0
    break;
6973
6974
1.06k
  case 361:
6975
1.06k
#line 1103 "/src/php-src/Zend/zend_language_parser.y"
6976
1.06k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_MODIFIER_LIST, zend_ast_create_zval_from_long((yyvsp[0].num))); }
6977
1.06k
#line 6978 "/src/php-src/Zend/zend_language_parser.c"
6978
1.06k
    break;
6979
6980
180
  case 362:
6981
180
#line 1105 "/src/php-src/Zend/zend_language_parser.y"
6982
180
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), zend_ast_create_zval_from_long((yyvsp[0].num))); }
6983
180
#line 6984 "/src/php-src/Zend/zend_language_parser.c"
6984
180
    break;
6985
6986
821
  case 363:
6987
821
#line 1109 "/src/php-src/Zend/zend_language_parser.y"
6988
821
                                                        { (yyval.num) = T_PUBLIC; }
6989
821
#line 6990 "/src/php-src/Zend/zend_language_parser.c"
6990
821
    break;
6991
6992
46
  case 364:
6993
46
#line 1110 "/src/php-src/Zend/zend_language_parser.y"
6994
46
                                                        { (yyval.num) = T_PROTECTED; }
6995
46
#line 6996 "/src/php-src/Zend/zend_language_parser.c"
6996
46
    break;
6997
6998
88
  case 365:
6999
88
#line 1111 "/src/php-src/Zend/zend_language_parser.y"
7000
88
                                                        { (yyval.num) = T_PRIVATE; }
7001
88
#line 7002 "/src/php-src/Zend/zend_language_parser.c"
7002
88
    break;
7003
7004
3
  case 366:
7005
3
#line 1112 "/src/php-src/Zend/zend_language_parser.y"
7006
3
                                                { (yyval.num) = T_PUBLIC_SET; }
7007
3
#line 7008 "/src/php-src/Zend/zend_language_parser.c"
7008
3
    break;
7009
7010
8
  case 367:
7011
8
#line 1113 "/src/php-src/Zend/zend_language_parser.y"
7012
8
                                                { (yyval.num) = T_PROTECTED_SET; }
7013
8
#line 7014 "/src/php-src/Zend/zend_language_parser.c"
7014
8
    break;
7015
7016
10
  case 368:
7017
10
#line 1114 "/src/php-src/Zend/zend_language_parser.y"
7018
10
                                                { (yyval.num) = T_PRIVATE_SET; }
7019
10
#line 7020 "/src/php-src/Zend/zend_language_parser.c"
7020
10
    break;
7021
7022
169
  case 369:
7023
169
#line 1115 "/src/php-src/Zend/zend_language_parser.y"
7024
169
                                                        { (yyval.num) = T_STATIC; }
7025
169
#line 7026 "/src/php-src/Zend/zend_language_parser.c"
7026
169
    break;
7027
7028
54
  case 370:
7029
54
#line 1116 "/src/php-src/Zend/zend_language_parser.y"
7030
54
                                                        { (yyval.num) = T_ABSTRACT; }
7031
54
#line 7032 "/src/php-src/Zend/zend_language_parser.c"
7032
54
    break;
7033
7034
30
  case 371:
7035
30
#line 1117 "/src/php-src/Zend/zend_language_parser.y"
7036
30
                                                        { (yyval.num) = T_FINAL; }
7037
30
#line 7038 "/src/php-src/Zend/zend_language_parser.c"
7038
30
    break;
7039
7040
22
  case 372:
7041
22
#line 1118 "/src/php-src/Zend/zend_language_parser.y"
7042
22
                                                        { (yyval.num) = T_READONLY; }
7043
22
#line 7044 "/src/php-src/Zend/zend_language_parser.c"
7044
22
    break;
7045
7046
5
  case 373:
7047
5
#line 1122 "/src/php-src/Zend/zend_language_parser.y"
7048
5
                                           { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7049
5
#line 7050 "/src/php-src/Zend/zend_language_parser.c"
7050
5
    break;
7051
7052
413
  case 374:
7053
413
#line 1123 "/src/php-src/Zend/zend_language_parser.y"
7054
413
                         { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PROP_DECL, (yyvsp[0].ast)); }
7055
413
#line 7056 "/src/php-src/Zend/zend_language_parser.c"
7056
413
    break;
7057
7058
268
  case 375:
7059
268
#line 1128 "/src/php-src/Zend/zend_language_parser.y"
7060
268
                        { (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), NULL); }
7061
268
#line 7062 "/src/php-src/Zend/zend_language_parser.c"
7062
268
    break;
7063
7064
150
  case 376:
7065
150
#line 1130 "/src/php-src/Zend/zend_language_parser.y"
7066
150
                        { (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), NULL); }
7067
150
#line 7068 "/src/php-src/Zend/zend_language_parser.c"
7068
150
    break;
7069
7070
127
  case 377:
7071
127
#line 1135 "/src/php-src/Zend/zend_language_parser.y"
7072
127
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-4].ast), NULL, ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), (yyvsp[-1].ast)); }
7073
127
#line 7074 "/src/php-src/Zend/zend_language_parser.c"
7074
127
    break;
7075
7076
16
  case 378:
7077
16
#line 1137 "/src/php-src/Zend/zend_language_parser.y"
7078
16
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-6].ast), (yyvsp[-4].ast), ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), (yyvsp[-1].ast)); }
7079
16
#line 7080 "/src/php-src/Zend/zend_language_parser.c"
7080
16
    break;
7081
7082
157
  case 379:
7083
157
#line 1141 "/src/php-src/Zend/zend_language_parser.y"
7084
157
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
7085
157
#line 7086 "/src/php-src/Zend/zend_language_parser.c"
7086
157
    break;
7087
7088
175
  case 380:
7089
175
#line 1142 "/src/php-src/Zend/zend_language_parser.y"
7090
175
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
7091
175
#line 7092 "/src/php-src/Zend/zend_language_parser.c"
7092
175
    break;
7093
7094
5
  case 381:
7095
5
#line 1143 "/src/php-src/Zend/zend_language_parser.y"
7096
5
                                                            {
7097
5
      (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)));
7098
5
    }
7099
5
#line 7100 "/src/php-src/Zend/zend_language_parser.c"
7100
5
    break;
7101
7102
793
  case 382:
7103
793
#line 1149 "/src/php-src/Zend/zend_language_parser.y"
7104
793
                        { (yyval.ast) = NULL; }
7105
793
#line 7106 "/src/php-src/Zend/zend_language_parser.c"
7106
793
    break;
7107
7108
3
  case 383:
7109
3
#line 1150 "/src/php-src/Zend/zend_language_parser.y"
7110
3
                                                { (yyval.ast) = (yyvsp[-1].ast); }
7111
3
#line 7112 "/src/php-src/Zend/zend_language_parser.c"
7112
3
    break;
7113
7114
184
  case 384:
7115
184
#line 1154 "/src/php-src/Zend/zend_language_parser.y"
7116
184
                       { (yyval.num) = 0; }
7117
184
#line 7118 "/src/php-src/Zend/zend_language_parser.c"
7118
184
    break;
7119
7120
7
  case 385:
7121
7
#line 1155 "/src/php-src/Zend/zend_language_parser.y"
7122
7
                                           {
7123
7
      (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_PROPERTY_HOOK, (yyvsp[0].ast));
7124
7
      if (!(yyval.num)) { YYERROR; }
7125
7
    }
7126
4
#line 7127 "/src/php-src/Zend/zend_language_parser.c"
7127
4
    break;
7128
7129
188
  case 386:
7130
188
#line 1163 "/src/php-src/Zend/zend_language_parser.y"
7131
188
                                   { (yyval.num) = CG(zend_lineno); }
7132
188
#line 7133 "/src/php-src/Zend/zend_language_parser.c"
7133
188
    break;
7134
7135
180
  case 387:
7136
180
#line 1164 "/src/php-src/Zend/zend_language_parser.y"
7137
180
                                                                                           {
7138
180
      (yyval.ast) = zend_ast_create_decl(
7139
180
        ZEND_AST_PROPERTY_HOOK, (yyvsp[-8].num) | (yyvsp[-7].num) | (yyvsp[0].num), (yyvsp[-4].num), (yyvsp[-5].str), zend_ast_get_str((yyvsp[-6].ast)),
7140
180
        (yyvsp[-3].ast), NULL, (yyvsp[-1].ast), NULL, NULL);
7141
180
      CG(extra_fn_flags) = (yyvsp[-2].num);
7142
180
    }
7143
180
#line 7144 "/src/php-src/Zend/zend_language_parser.c"
7144
180
    break;
7145
7146
41
  case 388:
7147
41
#line 1173 "/src/php-src/Zend/zend_language_parser.y"
7148
41
                    { (yyval.ast) = NULL; }
7149
41
#line 7150 "/src/php-src/Zend/zend_language_parser.c"
7150
41
    break;
7151
7152
87
  case 389:
7153
87
#line 1174 "/src/php-src/Zend/zend_language_parser.y"
7154
87
                                             { (yyval.ast) = (yyvsp[-1].ast); }
7155
87
#line 7156 "/src/php-src/Zend/zend_language_parser.c"
7156
87
    break;
7157
7158
52
  case 390:
7159
52
#line 1176 "/src/php-src/Zend/zend_language_parser.y"
7160
52
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROPERTY_HOOK_SHORT_BODY, (yyvsp[-1].ast)); }
7161
52
#line 7162 "/src/php-src/Zend/zend_language_parser.c"
7162
52
    break;
7163
7164
173
  case 391:
7165
173
#line 1180 "/src/php-src/Zend/zend_language_parser.y"
7166
173
                       { (yyval.ast) = NULL; }
7167
173
#line 7168 "/src/php-src/Zend/zend_language_parser.c"
7168
173
    break;
7169
7170
13
  case 392:
7171
13
#line 1181 "/src/php-src/Zend/zend_language_parser.y"
7172
13
                                       { (yyval.ast) = (yyvsp[-1].ast); }
7173
13
#line 7174 "/src/php-src/Zend/zend_language_parser.c"
7174
13
    break;
7175
7176
2
  case 393:
7177
2
#line 1185 "/src/php-src/Zend/zend_language_parser.y"
7178
2
                                                      { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7179
2
#line 7180 "/src/php-src/Zend/zend_language_parser.c"
7180
2
    break;
7181
7182
153
  case 394:
7183
153
#line 1186 "/src/php-src/Zend/zend_language_parser.y"
7184
153
                                 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLASS_CONST_DECL, (yyvsp[0].ast)); }
7185
153
#line 7186 "/src/php-src/Zend/zend_language_parser.c"
7186
153
    break;
7187
7188
150
  case 395:
7189
150
#line 1190 "/src/php-src/Zend/zend_language_parser.y"
7190
150
                                                     { (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)); }
7191
150
#line 7192 "/src/php-src/Zend/zend_language_parser.c"
7192
150
    break;
7193
7194
5
  case 396:
7195
5
#line 1191 "/src/php-src/Zend/zend_language_parser.y"
7196
5
                                                          {
7197
5
      zval zv;
7198
5
      if (zend_lex_tstring(&zv, (yyvsp[-3].ident)) == FAILURE) { YYABORT; }
7199
5
      (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, zend_ast_create_zval(&zv), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL));
7200
5
    }
7201
0
#line 7202 "/src/php-src/Zend/zend_language_parser.c"
7202
0
    break;
7203
7204
228
  case 397:
7205
228
#line 1199 "/src/php-src/Zend/zend_language_parser.y"
7206
228
                                             { (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)); }
7207
228
#line 7208 "/src/php-src/Zend/zend_language_parser.c"
7208
228
    break;
7209
7210
219
  case 398:
7211
219
#line 1203 "/src/php-src/Zend/zend_language_parser.y"
7212
219
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7213
219
#line 7214 "/src/php-src/Zend/zend_language_parser.c"
7214
219
    break;
7215
7216
1.00k
  case 399:
7217
1.00k
#line 1204 "/src/php-src/Zend/zend_language_parser.y"
7218
1.00k
                          { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
7219
1.00k
#line 7220 "/src/php-src/Zend/zend_language_parser.c"
7220
1.00k
    break;
7221
7222
1.22k
  case 400:
7223
1.22k
#line 1207 "/src/php-src/Zend/zend_language_parser.y"
7224
1.22k
             { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
7225
1.22k
#line 7226 "/src/php-src/Zend/zend_language_parser.c"
7226
1.22k
    break;
7227
7228
18
  case 401:
7229
18
#line 1211 "/src/php-src/Zend/zend_language_parser.y"
7230
18
                                        { (yyval.ast) = NULL; }
7231
18
#line 7232 "/src/php-src/Zend/zend_language_parser.c"
7232
18
    break;
7233
7234
6
  case 402:
7235
6
#line 1212 "/src/php-src/Zend/zend_language_parser.y"
7236
6
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7237
6
#line 7238 "/src/php-src/Zend/zend_language_parser.c"
7238
6
    break;
7239
7240
234
  case 403:
7241
234
#line 1213 "/src/php-src/Zend/zend_language_parser.y"
7242
234
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
7243
234
#line 7244 "/src/php-src/Zend/zend_language_parser.c"
7244
234
    break;
7245
7246
101
  case 404:
7247
101
#line 1217 "/src/php-src/Zend/zend_language_parser.y"
7248
101
                                        { (yyval.ast) = NULL; }
7249
101
#line 7250 "/src/php-src/Zend/zend_language_parser.c"
7250
101
    break;
7251
7252
414
  case 405:
7253
414
#line 1218 "/src/php-src/Zend/zend_language_parser.y"
7254
414
                                        { (yyval.ast) = (yyvsp[0].ast); }
7255
414
#line 7256 "/src/php-src/Zend/zend_language_parser.c"
7256
414
    break;
7257
7258
1
  case 406:
7259
1
#line 1222 "/src/php-src/Zend/zend_language_parser.y"
7260
1
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7261
1
#line 7262 "/src/php-src/Zend/zend_language_parser.c"
7262
1
    break;
7263
7264
0
  case 407:
7265
0
#line 1223 "/src/php-src/Zend/zend_language_parser.y"
7266
0
                                                         { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[0].ast))); }
7267
0
#line 7268 "/src/php-src/Zend/zend_language_parser.c"
7268
0
    break;
7269
7270
1
  case 408:
7271
1
#line 1224 "/src/php-src/Zend/zend_language_parser.y"
7272
1
                                 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[0].ast))); }
7273
1
#line 7274 "/src/php-src/Zend/zend_language_parser.c"
7274
1
    break;
7275
7276
421
  case 409:
7277
421
#line 1225 "/src/php-src/Zend/zend_language_parser.y"
7278
421
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
7279
421
#line 7280 "/src/php-src/Zend/zend_language_parser.c"
7280
421
    break;
7281
7282
50
  case 410:
7283
50
#line 1229 "/src/php-src/Zend/zend_language_parser.y"
7284
50
                                                           { (yyval.num) = CG(zend_lineno); }
7285
50
#line 7286 "/src/php-src/Zend/zend_language_parser.c"
7286
50
    break;
7287
7288
49
  case 411:
7289
49
#line 1230 "/src/php-src/Zend/zend_language_parser.y"
7290
49
                                                                                             {
7291
49
      zend_ast *decl = zend_ast_create_decl(
7292
49
        ZEND_AST_CLASS, ZEND_ACC_ANON_CLASS | (yyvsp[-9].num), (yyvsp[-7].num), (yyvsp[-3].str), NULL,
7293
49
        (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL);
7294
49
      (yyval.ast) = zend_ast_create(ZEND_AST_NEW, decl, (yyvsp[-6].ast));
7295
49
    }
7296
49
#line 7297 "/src/php-src/Zend/zend_language_parser.c"
7297
49
    break;
7298
7299
1.17k
  case 412:
7300
1.17k
#line 1240 "/src/php-src/Zend/zend_language_parser.y"
7301
1.17k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NEW, (yyvsp[-1].ast), (yyvsp[0].ast)); }
7302
1.17k
#line 7303 "/src/php-src/Zend/zend_language_parser.c"
7303
1.17k
    break;
7304
7305
48
  case 413:
7306
48
#line 1242 "/src/php-src/Zend/zend_language_parser.y"
7307
48
                        { (yyval.ast) = (yyvsp[0].ast); }
7308
48
#line 7309 "/src/php-src/Zend/zend_language_parser.c"
7309
48
    break;
7310
7311
1
  case 414:
7312
1
#line 1244 "/src/php-src/Zend/zend_language_parser.y"
7313
1
                        { zend_ast_with_attributes((yyvsp[0].ast)->child[0], (yyvsp[-1].ast)); (yyval.ast) = (yyvsp[0].ast); }
7314
1
#line 7315 "/src/php-src/Zend/zend_language_parser.c"
7315
1
    break;
7316
7317
516
  case 415:
7318
516
#line 1249 "/src/php-src/Zend/zend_language_parser.y"
7319
516
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NEW, (yyvsp[0].ast), zend_ast_create_list(0, ZEND_AST_ARG_LIST)); }
7320
516
#line 7321 "/src/php-src/Zend/zend_language_parser.c"
7321
516
    break;
7322
7323
9.08k
  case 416:
7324
9.08k
#line 1254 "/src/php-src/Zend/zend_language_parser.y"
7325
9.08k
                        { (yyval.ast) = (yyvsp[0].ast); }
7326
9.08k
#line 7327 "/src/php-src/Zend/zend_language_parser.c"
7327
9.08k
    break;
7328
7329
63
  case 417:
7330
63
#line 1256 "/src/php-src/Zend/zend_language_parser.y"
7331
63
                        { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_LIST; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7332
63
#line 7333 "/src/php-src/Zend/zend_language_parser.c"
7333
63
    break;
7334
7335
32
  case 418:
7336
32
#line 1258 "/src/php-src/Zend/zend_language_parser.y"
7337
32
                        { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7338
32
#line 7339 "/src/php-src/Zend/zend_language_parser.c"
7339
32
    break;
7340
7341
3.35k
  case 419:
7342
3.35k
#line 1260 "/src/php-src/Zend/zend_language_parser.y"
7343
3.35k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7344
3.35k
#line 7345 "/src/php-src/Zend/zend_language_parser.c"
7345
3.35k
    break;
7346
7347
247
  case 420:
7348
247
#line 1262 "/src/php-src/Zend/zend_language_parser.y"
7349
247
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN_REF, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7350
247
#line 7351 "/src/php-src/Zend/zend_language_parser.c"
7351
247
    break;
7352
7353
4
  case 421:
7354
4
#line 1263 "/src/php-src/Zend/zend_language_parser.y"
7355
4
                                            {
7356
4
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_CLONE));
7357
4
      name->attr = ZEND_NAME_FQ;
7358
4
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, (yyvsp[0].ast));
7359
4
    }
7360
4
#line 7361 "/src/php-src/Zend/zend_language_parser.c"
7361
4
    break;
7362
7363
33
  case 422:
7364
33
#line 1268 "/src/php-src/Zend/zend_language_parser.y"
7365
33
                             {
7366
33
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_CLONE));
7367
33
      name->attr = ZEND_NAME_FQ;
7368
33
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, zend_ast_create_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)));
7369
33
    }
7370
33
#line 7371 "/src/php-src/Zend/zend_language_parser.c"
7371
33
    break;
7372
7373
108
  case 423:
7374
108
#line 1274 "/src/php-src/Zend/zend_language_parser.y"
7375
108
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7376
108
#line 7377 "/src/php-src/Zend/zend_language_parser.c"
7377
108
    break;
7378
7379
6
  case 424:
7380
6
#line 1276 "/src/php-src/Zend/zend_language_parser.y"
7381
6
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7382
6
#line 7383 "/src/php-src/Zend/zend_language_parser.c"
7383
6
    break;
7384
7385
16
  case 425:
7386
16
#line 1278 "/src/php-src/Zend/zend_language_parser.y"
7387
16
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7388
16
#line 7389 "/src/php-src/Zend/zend_language_parser.c"
7389
16
    break;
7390
7391
12
  case 426:
7392
12
#line 1280 "/src/php-src/Zend/zend_language_parser.y"
7393
12
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7394
12
#line 7395 "/src/php-src/Zend/zend_language_parser.c"
7395
12
    break;
7396
7397
16
  case 427:
7398
16
#line 1282 "/src/php-src/Zend/zend_language_parser.y"
7399
16
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7400
16
#line 7401 "/src/php-src/Zend/zend_language_parser.c"
7401
16
    break;
7402
7403
141
  case 428:
7404
141
#line 1284 "/src/php-src/Zend/zend_language_parser.y"
7405
141
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_CONCAT, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7406
141
#line 7407 "/src/php-src/Zend/zend_language_parser.c"
7407
141
    break;
7408
7409
6
  case 429:
7410
6
#line 1286 "/src/php-src/Zend/zend_language_parser.y"
7411
6
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7412
6
#line 7413 "/src/php-src/Zend/zend_language_parser.c"
7413
6
    break;
7414
7415
13
  case 430:
7416
13
#line 1288 "/src/php-src/Zend/zend_language_parser.y"
7417
13
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7418
13
#line 7419 "/src/php-src/Zend/zend_language_parser.c"
7419
13
    break;
7420
7421
8
  case 431:
7422
8
#line 1290 "/src/php-src/Zend/zend_language_parser.y"
7423
8
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7424
8
#line 7425 "/src/php-src/Zend/zend_language_parser.c"
7425
8
    break;
7426
7427
0
  case 432:
7428
0
#line 1292 "/src/php-src/Zend/zend_language_parser.y"
7429
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7430
0
#line 7431 "/src/php-src/Zend/zend_language_parser.c"
7431
0
    break;
7432
7433
1
  case 433:
7434
1
#line 1294 "/src/php-src/Zend/zend_language_parser.y"
7435
1
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7436
1
#line 7437 "/src/php-src/Zend/zend_language_parser.c"
7437
1
    break;
7438
7439
3
  case 434:
7440
3
#line 1296 "/src/php-src/Zend/zend_language_parser.y"
7441
3
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7442
3
#line 7443 "/src/php-src/Zend/zend_language_parser.c"
7443
3
    break;
7444
7445
24
  case 435:
7446
24
#line 1298 "/src/php-src/Zend/zend_language_parser.y"
7447
24
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN_COALESCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7448
24
#line 7449 "/src/php-src/Zend/zend_language_parser.c"
7449
24
    break;
7450
7451
195
  case 436:
7452
195
#line 1299 "/src/php-src/Zend/zend_language_parser.y"
7453
195
                               { (yyval.ast) = zend_ast_create(ZEND_AST_POST_INC, (yyvsp[-1].ast)); }
7454
195
#line 7455 "/src/php-src/Zend/zend_language_parser.c"
7455
195
    break;
7456
7457
23
  case 437:
7458
23
#line 1300 "/src/php-src/Zend/zend_language_parser.y"
7459
23
                               { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_INC, (yyvsp[0].ast)); }
7460
23
#line 7461 "/src/php-src/Zend/zend_language_parser.c"
7461
23
    break;
7462
7463
26
  case 438:
7464
26
#line 1301 "/src/php-src/Zend/zend_language_parser.y"
7465
26
                               { (yyval.ast) = zend_ast_create(ZEND_AST_POST_DEC, (yyvsp[-1].ast)); }
7466
26
#line 7467 "/src/php-src/Zend/zend_language_parser.c"
7467
26
    break;
7468
7469
8
  case 439:
7470
8
#line 1302 "/src/php-src/Zend/zend_language_parser.y"
7471
8
                               { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_DEC, (yyvsp[0].ast)); }
7472
8
#line 7473 "/src/php-src/Zend/zend_language_parser.c"
7473
8
    break;
7474
7475
6
  case 440:
7476
6
#line 1304 "/src/php-src/Zend/zend_language_parser.y"
7477
6
                        { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7478
6
#line 7479 "/src/php-src/Zend/zend_language_parser.c"
7479
6
    break;
7480
7481
65
  case 441:
7482
65
#line 1306 "/src/php-src/Zend/zend_language_parser.y"
7483
65
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7484
65
#line 7485 "/src/php-src/Zend/zend_language_parser.c"
7485
65
    break;
7486
7487
13
  case 442:
7488
13
#line 1308 "/src/php-src/Zend/zend_language_parser.y"
7489
13
                        { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7490
13
#line 7491 "/src/php-src/Zend/zend_language_parser.c"
7491
13
    break;
7492
7493
13
  case 443:
7494
13
#line 1310 "/src/php-src/Zend/zend_language_parser.y"
7495
13
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7496
13
#line 7497 "/src/php-src/Zend/zend_language_parser.c"
7497
13
    break;
7498
7499
1
  case 444:
7500
1
#line 1312 "/src/php-src/Zend/zend_language_parser.y"
7501
1
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_BOOL_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7502
1
#line 7503 "/src/php-src/Zend/zend_language_parser.c"
7503
1
    break;
7504
7505
65
  case 445:
7506
65
#line 1313 "/src/php-src/Zend/zend_language_parser.y"
7507
65
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7508
65
#line 7509 "/src/php-src/Zend/zend_language_parser.c"
7509
65
    break;
7510
7511
199
  case 446:
7512
199
#line 1314 "/src/php-src/Zend/zend_language_parser.y"
7513
199
                                                                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7514
199
#line 7515 "/src/php-src/Zend/zend_language_parser.c"
7515
199
    break;
7516
7517
14
  case 447:
7518
14
#line 1315 "/src/php-src/Zend/zend_language_parser.y"
7519
14
                                                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7520
14
#line 7521 "/src/php-src/Zend/zend_language_parser.c"
7521
14
    break;
7522
7523
170
  case 448:
7524
170
#line 1316 "/src/php-src/Zend/zend_language_parser.y"
7525
170
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7526
170
#line 7527 "/src/php-src/Zend/zend_language_parser.c"
7527
170
    break;
7528
7529
383
  case 449:
7530
383
#line 1317 "/src/php-src/Zend/zend_language_parser.y"
7531
383
                                { (yyval.ast) = zend_ast_create_concat_op((yyvsp[-2].ast), (yyvsp[0].ast)); }
7532
383
#line 7533 "/src/php-src/Zend/zend_language_parser.c"
7533
383
    break;
7534
7535
183
  case 450:
7536
183
#line 1318 "/src/php-src/Zend/zend_language_parser.y"
7537
183
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7538
183
#line 7539 "/src/php-src/Zend/zend_language_parser.c"
7539
183
    break;
7540
7541
307
  case 451:
7542
307
#line 1319 "/src/php-src/Zend/zend_language_parser.y"
7543
307
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7544
307
#line 7545 "/src/php-src/Zend/zend_language_parser.c"
7545
307
    break;
7546
7547
346
  case 452:
7548
346
#line 1320 "/src/php-src/Zend/zend_language_parser.y"
7549
346
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7550
346
#line 7551 "/src/php-src/Zend/zend_language_parser.c"
7551
346
    break;
7552
7553
100
  case 453:
7554
100
#line 1321 "/src/php-src/Zend/zend_language_parser.y"
7555
100
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7556
100
#line 7557 "/src/php-src/Zend/zend_language_parser.c"
7557
100
    break;
7558
7559
229
  case 454:
7560
229
#line 1322 "/src/php-src/Zend/zend_language_parser.y"
7561
229
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7562
229
#line 7563 "/src/php-src/Zend/zend_language_parser.c"
7563
229
    break;
7564
7565
195
  case 455:
7566
195
#line 1323 "/src/php-src/Zend/zend_language_parser.y"
7567
195
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7568
195
#line 7569 "/src/php-src/Zend/zend_language_parser.c"
7569
195
    break;
7570
7571
150
  case 456:
7572
150
#line 1324 "/src/php-src/Zend/zend_language_parser.y"
7573
150
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7574
150
#line 7575 "/src/php-src/Zend/zend_language_parser.c"
7575
150
    break;
7576
7577
23
  case 457:
7578
23
#line 1325 "/src/php-src/Zend/zend_language_parser.y"
7579
23
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7580
23
#line 7581 "/src/php-src/Zend/zend_language_parser.c"
7581
23
    break;
7582
7583
94
  case 458:
7584
94
#line 1326 "/src/php-src/Zend/zend_language_parser.y"
7585
94
                                   { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_PLUS, (yyvsp[0].ast)); }
7586
94
#line 7587 "/src/php-src/Zend/zend_language_parser.c"
7587
94
    break;
7588
7589
263
  case 459:
7590
263
#line 1327 "/src/php-src/Zend/zend_language_parser.y"
7591
263
                                   { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_MINUS, (yyvsp[0].ast)); }
7592
263
#line 7593 "/src/php-src/Zend/zend_language_parser.c"
7593
263
    break;
7594
7595
364
  case 460:
7596
364
#line 1328 "/src/php-src/Zend/zend_language_parser.y"
7597
364
                         { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BOOL_NOT, (yyvsp[0].ast)); }
7598
364
#line 7599 "/src/php-src/Zend/zend_language_parser.c"
7599
364
    break;
7600
7601
399
  case 461:
7602
399
#line 1329 "/src/php-src/Zend/zend_language_parser.y"
7603
399
                         { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BW_NOT, (yyvsp[0].ast)); }
7604
399
#line 7605 "/src/php-src/Zend/zend_language_parser.c"
7605
399
    break;
7606
7607
56
  case 462:
7608
56
#line 1331 "/src/php-src/Zend/zend_language_parser.y"
7609
56
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7610
56
#line 7611 "/src/php-src/Zend/zend_language_parser.c"
7611
56
    break;
7612
7613
5
  case 463:
7614
5
#line 1333 "/src/php-src/Zend/zend_language_parser.y"
7615
5
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7616
5
#line 7617 "/src/php-src/Zend/zend_language_parser.c"
7617
5
    break;
7618
7619
95
  case 464:
7620
95
#line 1335 "/src/php-src/Zend/zend_language_parser.y"
7621
95
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7622
95
#line 7623 "/src/php-src/Zend/zend_language_parser.c"
7623
95
    break;
7624
7625
43
  case 465:
7626
43
#line 1337 "/src/php-src/Zend/zend_language_parser.y"
7627
43
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7628
43
#line 7629 "/src/php-src/Zend/zend_language_parser.c"
7629
43
    break;
7630
7631
28
  case 466:
7632
28
#line 1339 "/src/php-src/Zend/zend_language_parser.y"
7633
28
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PIPE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7634
28
#line 7635 "/src/php-src/Zend/zend_language_parser.c"
7635
28
    break;
7636
7637
266
  case 467:
7638
266
#line 1341 "/src/php-src/Zend/zend_language_parser.y"
7639
266
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7640
266
#line 7641 "/src/php-src/Zend/zend_language_parser.c"
7641
266
    break;
7642
7643
16
  case 468:
7644
16
#line 1343 "/src/php-src/Zend/zend_language_parser.y"
7645
16
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER_OR_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7646
16
#line 7647 "/src/php-src/Zend/zend_language_parser.c"
7647
16
    break;
7648
7649
132
  case 469:
7650
132
#line 1345 "/src/php-src/Zend/zend_language_parser.y"
7651
132
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7652
132
#line 7653 "/src/php-src/Zend/zend_language_parser.c"
7653
132
    break;
7654
7655
15
  case 470:
7656
15
#line 1347 "/src/php-src/Zend/zend_language_parser.y"
7657
15
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7658
15
#line 7659 "/src/php-src/Zend/zend_language_parser.c"
7659
15
    break;
7660
7661
10
  case 471:
7662
10
#line 1349 "/src/php-src/Zend/zend_language_parser.y"
7663
10
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_SPACESHIP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7664
10
#line 7665 "/src/php-src/Zend/zend_language_parser.c"
7665
10
    break;
7666
7667
24
  case 472:
7668
24
#line 1351 "/src/php-src/Zend/zend_language_parser.y"
7669
24
                        { (yyval.ast) = zend_ast_create(ZEND_AST_INSTANCEOF, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7670
24
#line 7671 "/src/php-src/Zend/zend_language_parser.c"
7671
24
    break;
7672
7673
685
  case 473:
7674
685
#line 1352 "/src/php-src/Zend/zend_language_parser.y"
7675
685
                             {
7676
685
      (yyval.ast) = (yyvsp[-1].ast);
7677
685
      if ((yyval.ast)->kind == ZEND_AST_CONDITIONAL) (yyval.ast)->attr = ZEND_PARENTHESIZED_CONDITIONAL;
7678
685
      if ((yyval.ast)->kind == ZEND_AST_ARROW_FUNC) (yyval.ast)->attr = ZEND_PARENTHESIZED_ARROW_FUNC;
7679
685
    }
7680
685
#line 7681 "/src/php-src/Zend/zend_language_parser.c"
7681
685
    break;
7682
7683
1.21k
  case 474:
7684
1.21k
#line 1357 "/src/php-src/Zend/zend_language_parser.y"
7685
1.21k
                                    { (yyval.ast) = (yyvsp[0].ast); }
7686
1.21k
#line 7687 "/src/php-src/Zend/zend_language_parser.c"
7687
1.21k
    break;
7688
7689
516
  case 475:
7690
516
#line 1358 "/src/php-src/Zend/zend_language_parser.y"
7691
516
                                        { (yyval.ast) = (yyvsp[0].ast); }
7692
516
#line 7693 "/src/php-src/Zend/zend_language_parser.c"
7693
516
    break;
7694
7695
28
  case 476:
7696
28
#line 1360 "/src/php-src/Zend/zend_language_parser.y"
7697
28
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
7698
28
#line 7699 "/src/php-src/Zend/zend_language_parser.c"
7699
28
    break;
7700
7701
21
  case 477:
7702
21
#line 1362 "/src/php-src/Zend/zend_language_parser.y"
7703
21
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-3].ast), NULL, (yyvsp[0].ast)); }
7704
21
#line 7705 "/src/php-src/Zend/zend_language_parser.c"
7705
21
    break;
7706
7707
27
  case 478:
7708
27
#line 1364 "/src/php-src/Zend/zend_language_parser.y"
7709
27
                        { (yyval.ast) = zend_ast_create(ZEND_AST_COALESCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7710
27
#line 7711 "/src/php-src/Zend/zend_language_parser.c"
7711
27
    break;
7712
7713
195
  case 479:
7714
195
#line 1365 "/src/php-src/Zend/zend_language_parser.y"
7715
195
                                           { (yyval.ast) = (yyvsp[0].ast); }
7716
195
#line 7717 "/src/php-src/Zend/zend_language_parser.c"
7717
195
    break;
7718
7719
15
  case 480:
7720
15
#line 1366 "/src/php-src/Zend/zend_language_parser.y"
7721
15
                                        { (yyval.ast) = zend_ast_create_cast(IS_LONG, (yyvsp[0].ast)); }
7722
15
#line 7723 "/src/php-src/Zend/zend_language_parser.c"
7723
15
    break;
7724
7725
11
  case 481:
7726
11
#line 1367 "/src/php-src/Zend/zend_language_parser.y"
7727
11
                                        { (yyval.ast) = zend_ast_create_cast(IS_DOUBLE, (yyvsp[0].ast)); }
7728
11
#line 7729 "/src/php-src/Zend/zend_language_parser.c"
7729
11
    break;
7730
7731
31
  case 482:
7732
31
#line 1368 "/src/php-src/Zend/zend_language_parser.y"
7733
31
                                        { (yyval.ast) = zend_ast_create_cast(IS_STRING, (yyvsp[0].ast)); }
7734
31
#line 7735 "/src/php-src/Zend/zend_language_parser.c"
7735
31
    break;
7736
7737
14
  case 483:
7738
14
#line 1369 "/src/php-src/Zend/zend_language_parser.y"
7739
14
                                        { (yyval.ast) = zend_ast_create_cast(IS_ARRAY, (yyvsp[0].ast)); }
7740
14
#line 7741 "/src/php-src/Zend/zend_language_parser.c"
7741
14
    break;
7742
7743
30
  case 484:
7744
30
#line 1370 "/src/php-src/Zend/zend_language_parser.y"
7745
30
                                        { (yyval.ast) = zend_ast_create_cast(IS_OBJECT, (yyvsp[0].ast)); }
7746
30
#line 7747 "/src/php-src/Zend/zend_language_parser.c"
7747
30
    break;
7748
7749
1
  case 485:
7750
1
#line 1371 "/src/php-src/Zend/zend_language_parser.y"
7751
1
                                        { (yyval.ast) = zend_ast_create_cast(_IS_BOOL, (yyvsp[0].ast)); }
7752
1
#line 7753 "/src/php-src/Zend/zend_language_parser.c"
7753
1
    break;
7754
7755
9
  case 486:
7756
9
#line 1372 "/src/php-src/Zend/zend_language_parser.y"
7757
9
                                        { (yyval.ast) = zend_ast_create_cast(IS_NULL, (yyvsp[0].ast)); }
7758
9
#line 7759 "/src/php-src/Zend/zend_language_parser.c"
7759
9
    break;
7760
7761
19
  case 487:
7762
19
#line 1373 "/src/php-src/Zend/zend_language_parser.y"
7763
19
                                      {
7764
19
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_EXIT));
7765
19
      name->attr = ZEND_NAME_FQ;
7766
19
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, (yyvsp[0].ast));
7767
19
    }
7768
19
#line 7769 "/src/php-src/Zend/zend_language_parser.c"
7769
19
    break;
7770
7771
317
  case 488:
7772
317
#line 1378 "/src/php-src/Zend/zend_language_parser.y"
7773
317
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_SILENCE, (yyvsp[0].ast)); }
7774
317
#line 7775 "/src/php-src/Zend/zend_language_parser.c"
7775
317
    break;
7776
7777
14.6k
  case 489:
7778
14.6k
#line 1379 "/src/php-src/Zend/zend_language_parser.y"
7779
14.6k
                       { (yyval.ast) = (yyvsp[0].ast); }
7780
14.6k
#line 7781 "/src/php-src/Zend/zend_language_parser.c"
7781
14.6k
    break;
7782
7783
25
  case 490:
7784
25
#line 1380 "/src/php-src/Zend/zend_language_parser.y"
7785
25
                                       { (yyval.ast) = zend_ast_create(ZEND_AST_SHELL_EXEC, (yyvsp[-1].ast)); }
7786
25
#line 7787 "/src/php-src/Zend/zend_language_parser.c"
7787
25
    break;
7788
7789
60
  case 491:
7790
60
#line 1381 "/src/php-src/Zend/zend_language_parser.y"
7791
60
                             { (yyval.ast) = zend_ast_create(ZEND_AST_PRINT, (yyvsp[0].ast)); }
7792
60
#line 7793 "/src/php-src/Zend/zend_language_parser.c"
7793
60
    break;
7794
7795
90
  case 492:
7796
90
#line 1382 "/src/php-src/Zend/zend_language_parser.y"
7797
90
                        { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, NULL, NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7798
90
#line 7799 "/src/php-src/Zend/zend_language_parser.c"
7799
90
    break;
7800
7801
121
  case 493:
7802
121
#line 1383 "/src/php-src/Zend/zend_language_parser.y"
7803
121
                             { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7804
121
#line 7805 "/src/php-src/Zend/zend_language_parser.c"
7805
121
    break;
7806
7807
10
  case 494:
7808
10
#line 1384 "/src/php-src/Zend/zend_language_parser.y"
7809
10
                                                 { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), (yyvsp[-2].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7810
10
#line 7811 "/src/php-src/Zend/zend_language_parser.c"
7811
10
    break;
7812
7813
19
  case 495:
7814
19
#line 1385 "/src/php-src/Zend/zend_language_parser.y"
7815
19
                                  { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD_FROM, (yyvsp[0].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7816
19
#line 7817 "/src/php-src/Zend/zend_language_parser.c"
7817
19
    break;
7818
7819
69
  case 496:
7820
69
#line 1386 "/src/php-src/Zend/zend_language_parser.y"
7821
69
                             { (yyval.ast) = zend_ast_create(ZEND_AST_THROW, (yyvsp[0].ast)); }
7822
69
#line 7823 "/src/php-src/Zend/zend_language_parser.c"
7823
69
    break;
7824
7825
283
  case 497:
7826
283
#line 1387 "/src/php-src/Zend/zend_language_parser.y"
7827
283
                                { (yyval.ast) = (yyvsp[0].ast); }
7828
283
#line 7829 "/src/php-src/Zend/zend_language_parser.c"
7829
283
    break;
7830
7831
0
  case 498:
7832
0
#line 1388 "/src/php-src/Zend/zend_language_parser.y"
7833
0
                                           { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
7834
0
#line 7835 "/src/php-src/Zend/zend_language_parser.c"
7835
0
    break;
7836
7837
5
  case 499:
7838
5
#line 1389 "/src/php-src/Zend/zend_language_parser.y"
7839
5
                                         { (yyval.ast) = (yyvsp[0].ast); ((zend_ast_decl *) (yyval.ast))->flags |= ZEND_ACC_STATIC; }
7840
5
#line 7841 "/src/php-src/Zend/zend_language_parser.c"
7841
5
    break;
7842
7843
0
  case 500:
7844
0
#line 1391 "/src/php-src/Zend/zend_language_parser.y"
7845
0
                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-2].ast)); ((zend_ast_decl *) (yyval.ast))->flags |= ZEND_ACC_STATIC; }
7846
0
#line 7847 "/src/php-src/Zend/zend_language_parser.c"
7847
0
    break;
7848
7849
33
  case 501:
7850
33
#line 1392 "/src/php-src/Zend/zend_language_parser.y"
7851
33
                      { (yyval.ast) = (yyvsp[0].ast); }
7852
33
#line 7853 "/src/php-src/Zend/zend_language_parser.c"
7853
33
    break;
7854
7855
252
  case 502:
7856
252
#line 1399 "/src/php-src/Zend/zend_language_parser.y"
7857
252
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLOSURE, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-10].str),
7858
252
          NULL,
7859
252
          (yyvsp[-8].ast), (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-5].ast), NULL); CG(extra_fn_flags) = (yyvsp[-4].num); }
7860
252
#line 7861 "/src/php-src/Zend/zend_language_parser.c"
7861
252
    break;
7862
7863
36
  case 503:
7864
36
#line 1404 "/src/php-src/Zend/zend_language_parser.y"
7865
36
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_ARROW_FUNC, (yyvsp[-10].num) | (yyvsp[0].num), (yyvsp[-11].num), (yyvsp[-9].str),
7866
36
          NULL, (yyvsp[-7].ast), NULL, (yyvsp[-1].ast), (yyvsp[-5].ast), NULL);
7867
36
          CG(extra_fn_flags) = (yyvsp[-3].num); }
7868
36
#line 7869 "/src/php-src/Zend/zend_language_parser.c"
7869
36
    break;
7870
7871
38
  case 504:
7872
38
#line 1410 "/src/php-src/Zend/zend_language_parser.y"
7873
38
             { (yyval.num) = CG(zend_lineno); }
7874
38
#line 7875 "/src/php-src/Zend/zend_language_parser.c"
7875
38
    break;
7876
7877
1.55k
  case 505:
7878
1.55k
#line 1414 "/src/php-src/Zend/zend_language_parser.y"
7879
1.55k
                   { (yyval.num) = CG(zend_lineno); }
7880
1.55k
#line 7881 "/src/php-src/Zend/zend_language_parser.c"
7881
1.55k
    break;
7882
7883
5.75k
  case 506:
7884
5.75k
#line 1418 "/src/php-src/Zend/zend_language_parser.y"
7885
5.75k
               { (yyval.str) = CG(doc_comment); CG(doc_comment) = NULL; }
7886
5.75k
#line 7887 "/src/php-src/Zend/zend_language_parser.c"
7887
5.75k
    break;
7888
7889
3.47k
  case 507:
7890
3.47k
#line 1422 "/src/php-src/Zend/zend_language_parser.y"
7891
3.47k
                                         { (yyval.num) = CG(extra_fn_flags); CG(extra_fn_flags) = 0; }
7892
3.47k
#line 7893 "/src/php-src/Zend/zend_language_parser.c"
7893
3.47k
    break;
7894
7895
38
  case 508:
7896
38
#line 1426 "/src/php-src/Zend/zend_language_parser.y"
7897
38
               { (yyval.ptr) = LANG_SCNG(yy_text); }
7898
38
#line 7899 "/src/php-src/Zend/zend_language_parser.c"
7899
38
    break;
7900
7901
1.71k
  case 509:
7902
1.71k
#line 1430 "/src/php-src/Zend/zend_language_parser.y"
7903
1.71k
                        { (yyval.num) = 0; }
7904
1.71k
#line 7905 "/src/php-src/Zend/zend_language_parser.c"
7905
1.71k
    break;
7906
7907
73
  case 510:
7908
73
#line 1431 "/src/php-src/Zend/zend_language_parser.y"
7909
73
                                { (yyval.num) = ZEND_ACC_RETURN_REFERENCE; }
7910
73
#line 7911 "/src/php-src/Zend/zend_language_parser.c"
7911
73
    break;
7912
7913
227
  case 511:
7914
227
#line 1435 "/src/php-src/Zend/zend_language_parser.y"
7915
227
                       { (yyval.ast) = NULL; }
7916
227
#line 7917 "/src/php-src/Zend/zend_language_parser.c"
7917
227
    break;
7918
7919
36
  case 512:
7920
36
#line 1436 "/src/php-src/Zend/zend_language_parser.y"
7921
36
                                                              { (yyval.ast) = (yyvsp[-2].ast); }
7922
36
#line 7923 "/src/php-src/Zend/zend_language_parser.c"
7923
36
    break;
7924
7925
6
  case 513:
7926
6
#line 1440 "/src/php-src/Zend/zend_language_parser.y"
7927
6
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7928
6
#line 7929 "/src/php-src/Zend/zend_language_parser.c"
7929
6
    break;
7930
7931
36
  case 514:
7932
36
#line 1441 "/src/php-src/Zend/zend_language_parser.y"
7933
36
                            { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLOSURE_USES, (yyvsp[0].ast)); }
7934
36
#line 7935 "/src/php-src/Zend/zend_language_parser.c"
7935
36
    break;
7936
7937
23
  case 515:
7938
23
#line 1445 "/src/php-src/Zend/zend_language_parser.y"
7939
23
                                        { (yyval.ast) = (yyvsp[0].ast); }
7940
23
#line 7941 "/src/php-src/Zend/zend_language_parser.c"
7941
23
    break;
7942
7943
19
  case 516:
7944
19
#line 1446 "/src/php-src/Zend/zend_language_parser.y"
7945
19
                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_BIND_REF; }
7946
19
#line 7947 "/src/php-src/Zend/zend_language_parser.c"
7947
19
    break;
7948
7949
4.39k
  case 517:
7950
4.39k
#line 1451 "/src/php-src/Zend/zend_language_parser.y"
7951
4.39k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-1].ast), (yyvsp[0].ast)); }
7952
4.39k
#line 7953 "/src/php-src/Zend/zend_language_parser.c"
7953
4.39k
    break;
7954
7955
0
  case 518:
7956
0
#line 1452 "/src/php-src/Zend/zend_language_parser.y"
7957
0
                                         {
7958
0
      zval zv;
7959
0
      if (zend_lex_tstring(&zv, (yyvsp[-1].ident)) == FAILURE) { YYABORT; }
7960
0
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, zend_ast_create_zval(&zv), (yyvsp[0].ast));
7961
0
    }
7962
0
#line 7963 "/src/php-src/Zend/zend_language_parser.c"
7963
0
    break;
7964
7965
136
  case 519:
7966
136
#line 1458 "/src/php-src/Zend/zend_language_parser.y"
7967
136
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
7968
136
#line 7969 "/src/php-src/Zend/zend_language_parser.c"
7969
136
    break;
7970
7971
31
  case 520:
7972
31
#line 1460 "/src/php-src/Zend/zend_language_parser.y"
7973
31
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
7974
31
#line 7975 "/src/php-src/Zend/zend_language_parser.c"
7975
31
    break;
7976
7977
233
  case 521:
7978
233
#line 1461 "/src/php-src/Zend/zend_language_parser.y"
7979
233
                              { (yyval.num) = CG(zend_lineno); }
7980
233
#line 7981 "/src/php-src/Zend/zend_language_parser.c"
7981
233
    break;
7982
7983
206
  case 522:
7984
206
#line 1461 "/src/php-src/Zend/zend_language_parser.y"
7985
206
                                                                           {
7986
206
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-2].ast), (yyvsp[0].ast));
7987
206
      (yyval.ast)->lineno = (yyvsp[-1].num);
7988
206
    }
7989
206
#line 7990 "/src/php-src/Zend/zend_language_parser.c"
7990
206
    break;
7991
7992
15
  case 523:
7993
15
#line 1469 "/src/php-src/Zend/zend_language_parser.y"
7994
15
                        { zval zv; ZVAL_INTERNED_STR(&zv, ZSTR_KNOWN(ZEND_STR_STATIC));
7995
15
        (yyval.ast) = zend_ast_create_zval_ex(&zv, ZEND_NAME_NOT_FQ); }
7996
15
#line 7997 "/src/php-src/Zend/zend_language_parser.c"
7997
15
    break;
7998
7999
3.09k
  case 524:
8000
3.09k
#line 1471 "/src/php-src/Zend/zend_language_parser.y"
8001
3.09k
                     { (yyval.ast) = (yyvsp[0].ast); }
8002
3.09k
#line 8003 "/src/php-src/Zend/zend_language_parser.c"
8003
3.09k
    break;
8004
8005
1.68k
  case 525:
8006
1.68k
#line 1475 "/src/php-src/Zend/zend_language_parser.y"
8007
1.68k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8008
1.68k
#line 8009 "/src/php-src/Zend/zend_language_parser.c"
8009
1.68k
    break;
8010
8011
20
  case 526:
8012
20
#line 1476 "/src/php-src/Zend/zend_language_parser.y"
8013
20
                                { (yyval.ast) = (yyvsp[0].ast); }
8014
20
#line 8015 "/src/php-src/Zend/zend_language_parser.c"
8015
20
    break;
8016
8017
8
  case 527:
8018
8
#line 1477 "/src/php-src/Zend/zend_language_parser.y"
8019
8
                                { (yyval.ast) = (yyvsp[-1].ast); }
8020
8
#line 8021 "/src/php-src/Zend/zend_language_parser.c"
8021
8
    break;
8022
8023
6
  case 528:
8024
6
#line 1482 "/src/php-src/Zend/zend_language_parser.y"
8025
6
                        { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
8026
6
#line 8027 "/src/php-src/Zend/zend_language_parser.c"
8027
6
    break;
8028
8029
26
  case 529:
8030
26
#line 1483 "/src/php-src/Zend/zend_language_parser.y"
8031
26
                                          { (yyval.ast) = (yyvsp[0].ast); }
8032
26
#line 8033 "/src/php-src/Zend/zend_language_parser.c"
8033
26
    break;
8034
8035
10
  case 530:
8036
10
#line 1484 "/src/php-src/Zend/zend_language_parser.y"
8037
10
                            { (yyval.ast) = (yyvsp[0].ast); }
8038
10
#line 8039 "/src/php-src/Zend/zend_language_parser.c"
8039
10
    break;
8040
8041
38
  case 531:
8042
38
#line 1489 "/src/php-src/Zend/zend_language_parser.y"
8043
38
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_ARG_LIST); }
8044
38
#line 8045 "/src/php-src/Zend/zend_language_parser.c"
8045
38
    break;
8046
8047
31
  case 532:
8048
31
#line 1490 "/src/php-src/Zend/zend_language_parser.y"
8049
31
                              { (yyval.ast) = (yyvsp[0].ast); }
8050
31
#line 8051 "/src/php-src/Zend/zend_language_parser.c"
8051
31
    break;
8052
8053
279
  case 533:
8054
279
#line 1495 "/src/php-src/Zend/zend_language_parser.y"
8055
279
                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LONG; }
8056
279
#line 8057 "/src/php-src/Zend/zend_language_parser.c"
8057
279
    break;
8058
8059
752
  case 534:
8060
752
#line 1496 "/src/php-src/Zend/zend_language_parser.y"
8061
752
                                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
8062
752
#line 8063 "/src/php-src/Zend/zend_language_parser.c"
8063
752
    break;
8064
8065
4.74k
  case 535:
8066
4.74k
#line 1497 "/src/php-src/Zend/zend_language_parser.y"
8067
4.74k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8068
4.74k
#line 8069 "/src/php-src/Zend/zend_language_parser.c"
8069
4.74k
    break;
8070
8071
330
  case 536:
8072
330
#line 1498 "/src/php-src/Zend/zend_language_parser.y"
8073
330
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
8074
330
#line 8075 "/src/php-src/Zend/zend_language_parser.c"
8075
330
    break;
8076
8077
4.89k
  case 537:
8078
4.89k
#line 1502 "/src/php-src/Zend/zend_language_parser.y"
8079
4.89k
                                { (yyval.ast) = (yyvsp[0].ast); }
8080
4.89k
#line 8081 "/src/php-src/Zend/zend_language_parser.c"
8081
4.89k
    break;
8082
8083
560
  case 538:
8084
560
#line 1503 "/src/php-src/Zend/zend_language_parser.y"
8085
560
                                { (yyval.ast) = (yyvsp[0].ast); }
8086
560
#line 8087 "/src/php-src/Zend/zend_language_parser.c"
8087
560
    break;
8088
8089
133
  case 539:
8090
133
#line 1504 "/src/php-src/Zend/zend_language_parser.y"
8091
133
                                                                        { (yyval.ast) = (yyvsp[-1].ast); }
8092
133
#line 8093 "/src/php-src/Zend/zend_language_parser.c"
8093
133
    break;
8094
8095
8
  case 540:
8096
8
#line 1506 "/src/php-src/Zend/zend_language_parser.y"
8097
8
                        { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
8098
8
#line 8099 "/src/php-src/Zend/zend_language_parser.c"
8099
8
    break;
8100
8101
102
  case 541:
8102
102
#line 1507 "/src/php-src/Zend/zend_language_parser.y"
8103
102
                                                          { (yyval.ast) = (yyvsp[-1].ast); }
8104
102
#line 8105 "/src/php-src/Zend/zend_language_parser.c"
8105
102
    break;
8106
8107
6.03k
  case 542:
8108
6.03k
#line 1508 "/src/php-src/Zend/zend_language_parser.y"
8109
6.03k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8110
6.03k
#line 8111 "/src/php-src/Zend/zend_language_parser.c"
8111
6.03k
    break;
8112
8113
2.58k
  case 543:
8114
2.58k
#line 1509 "/src/php-src/Zend/zend_language_parser.y"
8115
2.58k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8116
2.58k
#line 8117 "/src/php-src/Zend/zend_language_parser.c"
8117
2.58k
    break;
8118
8119
311
  case 544:
8120
311
#line 1510 "/src/php-src/Zend/zend_language_parser.y"
8121
311
                                                { (yyval.ast) = (yyvsp[0].ast); }
8122
311
#line 8123 "/src/php-src/Zend/zend_language_parser.c"
8123
311
    break;
8124
8125
2.49k
  case 545:
8126
2.49k
#line 1514 "/src/php-src/Zend/zend_language_parser.y"
8127
2.49k
                                { (yyval.ast) = zend_ast_create(ZEND_AST_CONST, (yyvsp[0].ast)); }
8128
2.49k
#line 8129 "/src/php-src/Zend/zend_language_parser.c"
8129
2.49k
    break;
8130
8131
12
  case 546:
8132
12
#line 1515 "/src/php-src/Zend/zend_language_parser.y"
8133
12
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_LINE); }
8134
12
#line 8135 "/src/php-src/Zend/zend_language_parser.c"
8135
12
    break;
8136
8137
33
  case 547:
8138
33
#line 1516 "/src/php-src/Zend/zend_language_parser.y"
8139
33
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FILE); }
8140
33
#line 8141 "/src/php-src/Zend/zend_language_parser.c"
8141
33
    break;
8142
8143
40
  case 548:
8144
40
#line 1517 "/src/php-src/Zend/zend_language_parser.y"
8145
40
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_DIR); }
8146
40
#line 8147 "/src/php-src/Zend/zend_language_parser.c"
8147
40
    break;
8148
8149
1
  case 549:
8150
1
#line 1518 "/src/php-src/Zend/zend_language_parser.y"
8151
1
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_TRAIT_C); }
8152
1
#line 8153 "/src/php-src/Zend/zend_language_parser.c"
8153
1
    break;
8154
8155
18
  case 550:
8156
18
#line 1519 "/src/php-src/Zend/zend_language_parser.y"
8157
18
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_METHOD_C); }
8158
18
#line 8159 "/src/php-src/Zend/zend_language_parser.c"
8159
18
    break;
8160
8161
9
  case 551:
8162
9
#line 1520 "/src/php-src/Zend/zend_language_parser.y"
8163
9
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FUNC_C); }
8164
9
#line 8165 "/src/php-src/Zend/zend_language_parser.c"
8165
9
    break;
8166
8167
8
  case 552:
8168
8
#line 1521 "/src/php-src/Zend/zend_language_parser.y"
8169
8
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_PROPERTY_C); }
8170
8
#line 8171 "/src/php-src/Zend/zend_language_parser.c"
8171
8
    break;
8172
8173
21
  case 553:
8174
21
#line 1522 "/src/php-src/Zend/zend_language_parser.y"
8175
21
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_NS_C); }
8176
21
#line 8177 "/src/php-src/Zend/zend_language_parser.c"
8177
21
    break;
8178
8179
9
  case 554:
8180
9
#line 1523 "/src/php-src/Zend/zend_language_parser.y"
8181
9
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_CLASS_C); }
8182
9
#line 8183 "/src/php-src/Zend/zend_language_parser.c"
8183
9
    break;
8184
8185
300
  case 555:
8186
300
#line 1528 "/src/php-src/Zend/zend_language_parser.y"
8187
300
                        { (yyval.ast) = zend_ast_create_class_const_or_name((yyvsp[-2].ast), (yyvsp[0].ast)); }
8188
300
#line 8189 "/src/php-src/Zend/zend_language_parser.c"
8189
300
    break;
8190
8191
51
  case 556:
8192
51
#line 1530 "/src/php-src/Zend/zend_language_parser.y"
8193
51
                        { (yyval.ast) = zend_ast_create_class_const_or_name((yyvsp[-2].ast), (yyvsp[0].ast)); }
8194
51
#line 8195 "/src/php-src/Zend/zend_language_parser.c"
8195
51
    break;
8196
8197
6
  case 557:
8198
6
#line 1532 "/src/php-src/Zend/zend_language_parser.y"
8199
6
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
8200
6
#line 8201 "/src/php-src/Zend/zend_language_parser.c"
8201
6
    break;
8202
8203
3
  case 558:
8204
3
#line 1534 "/src/php-src/Zend/zend_language_parser.y"
8205
3
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
8206
3
#line 8207 "/src/php-src/Zend/zend_language_parser.c"
8207
3
    break;
8208
8209
170
  case 559:
8210
170
#line 1538 "/src/php-src/Zend/zend_language_parser.y"
8211
170
                        { (yyval.ast) = NULL; }
8212
170
#line 8213 "/src/php-src/Zend/zend_language_parser.c"
8213
170
    break;
8214
8215
1.15k
  case 560:
8216
1.15k
#line 1539 "/src/php-src/Zend/zend_language_parser.y"
8217
1.15k
                                { (yyval.ast) = (yyvsp[0].ast); }
8218
1.15k
#line 8219 "/src/php-src/Zend/zend_language_parser.c"
8219
1.15k
    break;
8220
8221
124
  case 561:
8222
124
#line 1543 "/src/php-src/Zend/zend_language_parser.y"
8223
124
                                      { (yyval.ast) = (yyvsp[0].ast); }
8224
124
#line 8225 "/src/php-src/Zend/zend_language_parser.c"
8225
124
    break;
8226
8227
2.19k
  case 562:
8228
2.19k
#line 1547 "/src/php-src/Zend/zend_language_parser.y"
8229
2.19k
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8230
2.19k
#line 8231 "/src/php-src/Zend/zend_language_parser.c"
8231
2.19k
    break;
8232
8233
85
  case 563:
8234
85
#line 1548 "/src/php-src/Zend/zend_language_parser.y"
8235
85
                             {
8236
85
      (yyval.ast) = (yyvsp[-1].ast);
8237
85
      if ((yyval.ast)->kind == ZEND_AST_STATIC_PROP) (yyval.ast)->attr = ZEND_PARENTHESIZED_STATIC_PROP;
8238
85
    }
8239
85
#line 8240 "/src/php-src/Zend/zend_language_parser.c"
8240
85
    break;
8241
8242
64
  case 564:
8243
64
#line 1552 "/src/php-src/Zend/zend_language_parser.y"
8244
64
                                        { (yyval.ast) = (yyvsp[0].ast); }
8245
64
#line 8246 "/src/php-src/Zend/zend_language_parser.c"
8246
64
    break;
8247
8248
49
  case 565:
8249
49
#line 1553 "/src/php-src/Zend/zend_language_parser.y"
8250
49
                                                { (yyval.ast) = (yyvsp[0].ast); }
8251
49
#line 8252 "/src/php-src/Zend/zend_language_parser.c"
8252
49
    break;
8253
8254
4
  case 566:
8255
4
#line 1554 "/src/php-src/Zend/zend_language_parser.y"
8256
4
                                                { (yyval.ast) = (yyvsp[0].ast); }
8257
4
#line 8258 "/src/php-src/Zend/zend_language_parser.c"
8258
4
    break;
8259
8260
2.26k
  case 567:
8261
2.26k
#line 1558 "/src/php-src/Zend/zend_language_parser.y"
8262
2.26k
                                        { (yyval.ast) = (yyvsp[0].ast); }
8263
2.26k
#line 8264 "/src/php-src/Zend/zend_language_parser.c"
8264
2.26k
    break;
8265
8266
67
  case 568:
8267
67
#line 1559 "/src/php-src/Zend/zend_language_parser.y"
8268
67
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8269
67
#line 8270 "/src/php-src/Zend/zend_language_parser.c"
8270
67
    break;
8271
8272
179
  case 569:
8273
179
#line 1563 "/src/php-src/Zend/zend_language_parser.y"
8274
179
                                                { (yyval.ast) = (yyvsp[0].ast); }
8275
179
#line 8276 "/src/php-src/Zend/zend_language_parser.c"
8276
179
    break;
8277
8278
45
  case 570:
8279
45
#line 1564 "/src/php-src/Zend/zend_language_parser.y"
8280
45
                                                { (yyval.ast) = (yyvsp[-1].ast); }
8281
45
#line 8282 "/src/php-src/Zend/zend_language_parser.c"
8282
45
    break;
8283
8284
7
  case 571:
8285
7
#line 1565 "/src/php-src/Zend/zend_language_parser.y"
8286
7
                                        { (yyval.ast) = (yyvsp[0].ast); }
8287
7
#line 8288 "/src/php-src/Zend/zend_language_parser.c"
8288
7
    break;
8289
8290
2
  case 572:
8291
2
#line 1566 "/src/php-src/Zend/zend_language_parser.y"
8292
2
                                                { (yyval.ast) = (yyvsp[0].ast); }
8293
2
#line 8294 "/src/php-src/Zend/zend_language_parser.c"
8294
2
    break;
8295
8296
9.30k
  case 573:
8297
9.30k
#line 1571 "/src/php-src/Zend/zend_language_parser.y"
8298
9.30k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8299
9.30k
#line 8300 "/src/php-src/Zend/zend_language_parser.c"
8300
9.30k
    break;
8301
8302
971
  case 574:
8303
971
#line 1573 "/src/php-src/Zend/zend_language_parser.y"
8304
971
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
8305
971
#line 8306 "/src/php-src/Zend/zend_language_parser.c"
8306
971
    break;
8307
8308
574
  case 575:
8309
574
#line 1575 "/src/php-src/Zend/zend_language_parser.y"
8310
574
                        { (yyval.ast) = zend_ast_create(ZEND_AST_METHOD_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8311
574
#line 8312 "/src/php-src/Zend/zend_language_parser.c"
8312
574
    break;
8313
8314
7
  case 576:
8315
7
#line 1577 "/src/php-src/Zend/zend_language_parser.y"
8316
7
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_METHOD_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8317
7
#line 8318 "/src/php-src/Zend/zend_language_parser.c"
8318
7
    break;
8319
8320
4.76k
  case 577:
8321
4.76k
#line 1578 "/src/php-src/Zend/zend_language_parser.y"
8322
4.76k
                              { (yyval.ast) = (yyvsp[0].ast); }
8323
4.76k
#line 8324 "/src/php-src/Zend/zend_language_parser.c"
8324
4.76k
    break;
8325
8326
15.4k
  case 578:
8327
15.4k
#line 1583 "/src/php-src/Zend/zend_language_parser.y"
8328
15.4k
                        { (yyval.ast) = (yyvsp[0].ast); }
8329
15.4k
#line 8330 "/src/php-src/Zend/zend_language_parser.c"
8330
15.4k
    break;
8331
8332
138
  case 579:
8333
138
#line 1585 "/src/php-src/Zend/zend_language_parser.y"
8334
138
                        { (yyval.ast) = (yyvsp[0].ast); }
8335
138
#line 8336 "/src/php-src/Zend/zend_language_parser.c"
8336
138
    break;
8337
8338
648
  case 580:
8339
648
#line 1587 "/src/php-src/Zend/zend_language_parser.y"
8340
648
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8341
648
#line 8342 "/src/php-src/Zend/zend_language_parser.c"
8342
648
    break;
8343
8344
72
  case 581:
8345
72
#line 1589 "/src/php-src/Zend/zend_language_parser.y"
8346
72
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8347
72
#line 8348 "/src/php-src/Zend/zend_language_parser.c"
8348
72
    break;
8349
8350
9.52k
  case 582:
8351
9.52k
#line 1593 "/src/php-src/Zend/zend_language_parser.y"
8352
9.52k
                                                { (yyval.ast) = (yyvsp[0].ast); }
8353
9.52k
#line 8354 "/src/php-src/Zend/zend_language_parser.c"
8354
9.52k
    break;
8355
8356
61
  case 583:
8357
61
#line 1594 "/src/php-src/Zend/zend_language_parser.y"
8358
61
                                        { (yyval.ast) = (yyvsp[-1].ast); }
8359
61
#line 8360 "/src/php-src/Zend/zend_language_parser.c"
8360
61
    break;
8361
8362
776
  case 584:
8363
776
#line 1595 "/src/php-src/Zend/zend_language_parser.y"
8364
776
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8365
776
#line 8366 "/src/php-src/Zend/zend_language_parser.c"
8366
776
    break;
8367
8368
99
  case 585:
8369
99
#line 1600 "/src/php-src/Zend/zend_language_parser.y"
8370
99
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8371
99
#line 8372 "/src/php-src/Zend/zend_language_parser.c"
8372
99
    break;
8373
8374
39
  case 586:
8375
39
#line 1602 "/src/php-src/Zend/zend_language_parser.y"
8376
39
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8377
39
#line 8378 "/src/php-src/Zend/zend_language_parser.c"
8378
39
    break;
8379
8380
21
  case 587:
8381
21
#line 1607 "/src/php-src/Zend/zend_language_parser.y"
8382
21
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8383
21
#line 8384 "/src/php-src/Zend/zend_language_parser.c"
8384
21
    break;
8385
8386
5
  case 588:
8387
5
#line 1609 "/src/php-src/Zend/zend_language_parser.y"
8388
5
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
8389
5
#line 8390 "/src/php-src/Zend/zend_language_parser.c"
8390
5
    break;
8391
8392
2
  case 589:
8393
2
#line 1611 "/src/php-src/Zend/zend_language_parser.y"
8394
2
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8395
2
#line 8396 "/src/php-src/Zend/zend_language_parser.c"
8396
2
    break;
8397
8398
3
  case 590:
8399
3
#line 1613 "/src/php-src/Zend/zend_language_parser.y"
8400
3
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8401
3
#line 8402 "/src/php-src/Zend/zend_language_parser.c"
8402
3
    break;
8403
8404
1
  case 591:
8405
1
#line 1615 "/src/php-src/Zend/zend_language_parser.y"
8406
1
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8407
1
#line 8408 "/src/php-src/Zend/zend_language_parser.c"
8408
1
    break;
8409
8410
0
  case 592:
8411
0
#line 1617 "/src/php-src/Zend/zend_language_parser.y"
8412
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8413
0
#line 8414 "/src/php-src/Zend/zend_language_parser.c"
8414
0
    break;
8415
8416
144
  case 593:
8417
144
#line 1621 "/src/php-src/Zend/zend_language_parser.y"
8418
144
                           { (yyval.ast) = (yyvsp[0].ast); }
8419
144
#line 8420 "/src/php-src/Zend/zend_language_parser.c"
8420
144
    break;
8421
8422
7
  case 594:
8423
7
#line 1622 "/src/php-src/Zend/zend_language_parser.y"
8424
7
                                { (yyval.ast) = (yyvsp[-1].ast); }
8425
7
#line 8426 "/src/php-src/Zend/zend_language_parser.c"
8426
7
    break;
8427
8428
16
  case 595:
8429
16
#line 1623 "/src/php-src/Zend/zend_language_parser.y"
8430
16
                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8431
16
#line 8432 "/src/php-src/Zend/zend_language_parser.c"
8432
16
    break;
8433
8434
1.19k
  case 596:
8435
1.19k
#line 1627 "/src/php-src/Zend/zend_language_parser.y"
8436
1.19k
                         { (yyval.ast) = (yyvsp[0].ast); }
8437
1.19k
#line 8438 "/src/php-src/Zend/zend_language_parser.c"
8438
1.19k
    break;
8439
8440
32
  case 597:
8441
32
#line 1628 "/src/php-src/Zend/zend_language_parser.y"
8442
32
                                { (yyval.ast) = (yyvsp[-1].ast); }
8443
32
#line 8444 "/src/php-src/Zend/zend_language_parser.c"
8444
32
    break;
8445
8446
80
  case 598:
8447
80
#line 1629 "/src/php-src/Zend/zend_language_parser.y"
8448
80
                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8449
80
#line 8450 "/src/php-src/Zend/zend_language_parser.c"
8450
80
    break;
8451
8452
1.17k
  case 599:
8453
1.17k
#line 1634 "/src/php-src/Zend/zend_language_parser.y"
8454
1.17k
                        { /* allow single trailing comma */ (yyval.ast) = zend_ast_list_rtrim((yyvsp[0].ast)); }
8455
1.17k
#line 8456 "/src/php-src/Zend/zend_language_parser.c"
8456
1.17k
    break;
8457
8458
295
  case 600:
8459
295
#line 1638 "/src/php-src/Zend/zend_language_parser.y"
8460
295
                       { (yyval.ast) = NULL; }
8461
295
#line 8462 "/src/php-src/Zend/zend_language_parser.c"
8462
295
    break;
8463
8464
1.79k
  case 601:
8465
1.79k
#line 1639 "/src/php-src/Zend/zend_language_parser.y"
8466
1.79k
                            { (yyval.ast) = (yyvsp[0].ast); }
8467
1.79k
#line 8468 "/src/php-src/Zend/zend_language_parser.c"
8468
1.79k
    break;
8469
8470
914
  case 602:
8471
914
#line 1644 "/src/php-src/Zend/zend_language_parser.y"
8472
914
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
8473
914
#line 8474 "/src/php-src/Zend/zend_language_parser.c"
8474
914
    break;
8475
8476
1.17k
  case 603:
8477
1.17k
#line 1646 "/src/php-src/Zend/zend_language_parser.y"
8478
1.17k
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ARRAY, (yyvsp[0].ast)); }
8479
1.17k
#line 8480 "/src/php-src/Zend/zend_language_parser.c"
8480
1.17k
    break;
8481
8482
234
  case 604:
8483
234
#line 1651 "/src/php-src/Zend/zend_language_parser.y"
8484
234
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), (yyvsp[-2].ast)); }
8485
234
#line 8486 "/src/php-src/Zend/zend_language_parser.c"
8486
234
    break;
8487
8488
1.46k
  case 605:
8489
1.46k
#line 1653 "/src/php-src/Zend/zend_language_parser.y"
8490
1.46k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), NULL); }
8491
1.46k
#line 8492 "/src/php-src/Zend/zend_language_parser.c"
8492
1.46k
    break;
8493
8494
19
  case 606:
8495
19
#line 1655 "/src/php-src/Zend/zend_language_parser.y"
8496
19
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), (yyvsp[-3].ast)); }
8497
19
#line 8498 "/src/php-src/Zend/zend_language_parser.c"
8498
19
    break;
8499
8500
34
  case 607:
8501
34
#line 1657 "/src/php-src/Zend/zend_language_parser.y"
8502
34
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), NULL); }
8503
34
#line 8504 "/src/php-src/Zend/zend_language_parser.c"
8504
34
    break;
8505
8506
33
  case 608:
8507
33
#line 1659 "/src/php-src/Zend/zend_language_parser.y"
8508
33
                        { (yyval.ast) = zend_ast_create(ZEND_AST_UNPACK, (yyvsp[0].ast)); }
8509
33
#line 8510 "/src/php-src/Zend/zend_language_parser.c"
8510
33
    break;
8511
8512
1
  case 609:
8513
1
#line 1661 "/src/php-src/Zend/zend_language_parser.y"
8514
1
                        { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
8515
1
        (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), (yyvsp[-5].ast)); }
8516
1
#line 8517 "/src/php-src/Zend/zend_language_parser.c"
8517
1
    break;
8518
8519
11
  case 610:
8520
11
#line 1664 "/src/php-src/Zend/zend_language_parser.y"
8521
11
                        { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
8522
11
        (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), NULL); }
8523
11
#line 8524 "/src/php-src/Zend/zend_language_parser.c"
8524
11
    break;
8525
8526
331
  case 611:
8527
331
#line 1670 "/src/php-src/Zend/zend_language_parser.y"
8528
331
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
8529
331
#line 8530 "/src/php-src/Zend/zend_language_parser.c"
8530
331
    break;
8531
8532
1.07k
  case 612:
8533
1.07k
#line 1672 "/src/php-src/Zend/zend_language_parser.y"
8534
1.07k
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
8535
1.07k
#line 8536 "/src/php-src/Zend/zend_language_parser.c"
8536
1.07k
    break;
8537
8538
299
  case 613:
8539
299
#line 1674 "/src/php-src/Zend/zend_language_parser.y"
8540
299
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ENCAPS_LIST, (yyvsp[0].ast)); }
8541
299
#line 8542 "/src/php-src/Zend/zend_language_parser.c"
8542
299
    break;
8543
8544
515
  case 614:
8545
515
#line 1676 "/src/php-src/Zend/zend_language_parser.y"
8546
515
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_ENCAPS_LIST, (yyvsp[-1].ast), (yyvsp[0].ast)); }
8547
515
#line 8548 "/src/php-src/Zend/zend_language_parser.c"
8548
515
    break;
8549
8550
1.04k
  case 615:
8551
1.04k
#line 1681 "/src/php-src/Zend/zend_language_parser.y"
8552
1.04k
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8553
1.04k
#line 8554 "/src/php-src/Zend/zend_language_parser.c"
8554
1.04k
    break;
8555
8556
29
  case 616:
8557
29
#line 1683 "/src/php-src/Zend/zend_language_parser.y"
8558
29
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM,
8559
29
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-3].ast)), (yyvsp[-1].ast)); }
8560
29
#line 8561 "/src/php-src/Zend/zend_language_parser.c"
8561
29
    break;
8562
8563
18
  case 617:
8564
18
#line 1686 "/src/php-src/Zend/zend_language_parser.y"
8565
18
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP,
8566
18
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-2].ast)), (yyvsp[0].ast)); }
8567
18
#line 8568 "/src/php-src/Zend/zend_language_parser.c"
8568
18
    break;
8569
8570
13
  case 618:
8571
13
#line 1689 "/src/php-src/Zend/zend_language_parser.y"
8572
13
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP,
8573
13
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-2].ast)), (yyvsp[0].ast)); }
8574
13
#line 8575 "/src/php-src/Zend/zend_language_parser.c"
8575
13
    break;
8576
8577
13
  case 619:
8578
13
#line 1692 "/src/php-src/Zend/zend_language_parser.y"
8579
13
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_VAR, ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR, (yyvsp[-1].ast)); }
8580
13
#line 8581 "/src/php-src/Zend/zend_language_parser.c"
8581
13
    break;
8582
8583
7
  case 620:
8584
7
#line 1694 "/src/php-src/Zend/zend_language_parser.y"
8585
7
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_VAR, ZEND_ENCAPS_VAR_DOLLAR_CURLY, (yyvsp[-1].ast)); }
8586
7
#line 8587 "/src/php-src/Zend/zend_language_parser.c"
8587
7
    break;
8588
8589
0
  case 621:
8590
0
#line 1696 "/src/php-src/Zend/zend_language_parser.y"
8591
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_DIM, ZEND_ENCAPS_VAR_DOLLAR_CURLY,
8592
0
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-4].ast)), (yyvsp[-2].ast)); }
8593
0
#line 8594 "/src/php-src/Zend/zend_language_parser.c"
8594
0
    break;
8595
8596
20
  case 622:
8597
20
#line 1698 "/src/php-src/Zend/zend_language_parser.y"
8598
20
                                          { (yyval.ast) = (yyvsp[-1].ast); }
8599
20
#line 8600 "/src/php-src/Zend/zend_language_parser.c"
8600
20
    break;
8601
8602
16
  case 623:
8603
16
#line 1702 "/src/php-src/Zend/zend_language_parser.y"
8604
16
                                                { (yyval.ast) = (yyvsp[0].ast); }
8605
16
#line 8606 "/src/php-src/Zend/zend_language_parser.c"
8606
16
    break;
8607
8608
30
  case 624:
8609
30
#line 1703 "/src/php-src/Zend/zend_language_parser.y"
8610
30
                                        { (yyval.ast) = (yyvsp[0].ast); }
8611
30
#line 8612 "/src/php-src/Zend/zend_language_parser.c"
8612
30
    break;
8613
8614
7
  case 625:
8615
7
#line 1704 "/src/php-src/Zend/zend_language_parser.y"
8616
7
                                        { (yyval.ast) = zend_negate_num_string((yyvsp[0].ast)); }
8617
7
#line 8618 "/src/php-src/Zend/zend_language_parser.c"
8618
7
    break;
8619
8620
6
  case 626:
8621
6
#line 1705 "/src/php-src/Zend/zend_language_parser.y"
8622
6
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8623
6
#line 8624 "/src/php-src/Zend/zend_language_parser.c"
8624
6
    break;
8625
8626
60
  case 627:
8627
60
#line 1710 "/src/php-src/Zend/zend_language_parser.y"
8628
60
                                                               { (yyval.ast) = (yyvsp[-2].ast); }
8629
60
#line 8630 "/src/php-src/Zend/zend_language_parser.c"
8630
60
    break;
8631
8632
3
  case 628:
8633
3
#line 1711 "/src/php-src/Zend/zend_language_parser.y"
8634
3
                                     { (yyval.ast) = zend_ast_create(ZEND_AST_EMPTY, (yyvsp[-1].ast)); }
8635
3
#line 8636 "/src/php-src/Zend/zend_language_parser.c"
8636
3
    break;
8637
8638
24
  case 629:
8639
24
#line 1713 "/src/php-src/Zend/zend_language_parser.y"
8640
24
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE, (yyvsp[0].ast)); }
8641
24
#line 8642 "/src/php-src/Zend/zend_language_parser.c"
8642
24
    break;
8643
8644
0
  case 630:
8645
0
#line 1715 "/src/php-src/Zend/zend_language_parser.y"
8646
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE_ONCE, (yyvsp[0].ast)); }
8647
0
#line 8648 "/src/php-src/Zend/zend_language_parser.c"
8648
0
    break;
8649
8650
40
  case 631:
8651
40
#line 1717 "/src/php-src/Zend/zend_language_parser.y"
8652
40
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_EVAL, (yyvsp[-1].ast)); }
8653
40
#line 8654 "/src/php-src/Zend/zend_language_parser.c"
8654
40
    break;
8655
8656
53
  case 632:
8657
53
#line 1719 "/src/php-src/Zend/zend_language_parser.y"
8658
53
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE, (yyvsp[0].ast)); }
8659
53
#line 8660 "/src/php-src/Zend/zend_language_parser.c"
8660
53
    break;
8661
8662
15
  case 633:
8663
15
#line 1721 "/src/php-src/Zend/zend_language_parser.y"
8664
15
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE_ONCE, (yyvsp[0].ast)); }
8665
15
#line 8666 "/src/php-src/Zend/zend_language_parser.c"
8666
15
    break;
8667
8668
61
  case 634:
8669
61
#line 1725 "/src/php-src/Zend/zend_language_parser.y"
8670
61
                               { (yyval.ast) = (yyvsp[0].ast); }
8671
61
#line 8672 "/src/php-src/Zend/zend_language_parser.c"
8672
61
    break;
8673
8674
6
  case 635:
8675
6
#line 1727 "/src/php-src/Zend/zend_language_parser.y"
8676
6
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8677
6
#line 8678 "/src/php-src/Zend/zend_language_parser.c"
8678
6
    break;
8679
8680
67
  case 636:
8681
67
#line 1731 "/src/php-src/Zend/zend_language_parser.y"
8682
67
                     { (yyval.ast) = zend_ast_create(ZEND_AST_ISSET, (yyvsp[0].ast)); }
8683
67
#line 8684 "/src/php-src/Zend/zend_language_parser.c"
8684
67
    break;
8685
8686
8687
0
#line 8688 "/src/php-src/Zend/zend_language_parser.c"
8688
8689
7.18k
      default: break;
8690
305k
    }
8691
  /* User semantic actions sometimes alter yychar, and that requires
8692
     that yytoken be updated with the new translation.  We take the
8693
     approach of translating immediately before every use of yytoken.
8694
     One alternative is translating here after every semantic action,
8695
     but that translation would be missed if the semantic action invokes
8696
     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
8697
     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
8698
     incorrect destructor might then be invoked immediately.  In the
8699
     case of YYERROR or YYBACKUP, subsequent parser actions might lead
8700
     to an incorrect destructor call or verbose syntax error message
8701
     before the lookahead is translated.  */
8702
305k
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
8703
8704
305k
  YYPOPSTACK (yylen);
8705
305k
  yylen = 0;
8706
305k
  YY_STACK_PRINT (yyss, yyssp);
8707
8708
305k
  *++yyvsp = yyval;
8709
8710
  /* Now 'shift' the result of the reduction.  Determine what state
8711
     that goes to, based on the state we popped back to and the rule
8712
     number reduced by.  */
8713
305k
  {
8714
305k
    const int yylhs = yyr1[yyn] - YYNTOKENS;
8715
305k
    const int yyi = yypgoto[yylhs] + *yyssp;
8716
305k
    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
8717
305k
               ? yytable[yyi]
8718
305k
               : yydefgoto[yylhs]);
8719
305k
  }
8720
8721
305k
  goto yynewstate;
8722
8723
8724
/*--------------------------------------.
8725
| yyerrlab -- here on detecting error.  |
8726
`--------------------------------------*/
8727
2.09k
yyerrlab:
8728
  /* Make sure we have latest lookahead translation.  See comments at
8729
     user semantic actions for why this is necessary.  */
8730
2.09k
  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8731
8732
  /* If not already recovering from an error, report this error.  */
8733
2.09k
  if (!yyerrstatus)
8734
2.09k
    {
8735
2.09k
      ++yynerrs;
8736
#if ! YYERROR_VERBOSE
8737
      yyerror (YY_("syntax error"));
8738
#else
8739
2.09k
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
8740
2.09k
                                        yyssp, yytoken)
8741
2.09k
      {
8742
2.09k
        char const *yymsgp = YY_("syntax error");
8743
2.09k
        int yysyntax_error_status;
8744
2.09k
        yysyntax_error_status = YYSYNTAX_ERROR;
8745
2.09k
        if (yysyntax_error_status == 0)
8746
2.09k
          yymsgp = yymsg;
8747
0
        else if (yysyntax_error_status == 1)
8748
0
          {
8749
0
            if (yymsg != yymsgbuf)
8750
0
              YYSTACK_FREE (yymsg);
8751
0
            yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
8752
0
            if (!yymsg)
8753
0
              {
8754
0
                yymsg = yymsgbuf;
8755
0
                yymsg_alloc = sizeof yymsgbuf;
8756
0
                yysyntax_error_status = 2;
8757
0
              }
8758
0
            else
8759
0
              {
8760
0
                yysyntax_error_status = YYSYNTAX_ERROR;
8761
0
                yymsgp = yymsg;
8762
0
              }
8763
0
          }
8764
2.09k
        yyerror (yymsgp);
8765
2.09k
        if (yysyntax_error_status == 2)
8766
0
          goto yyexhaustedlab;
8767
2.09k
      }
8768
2.09k
# undef YYSYNTAX_ERROR
8769
2.09k
#endif
8770
2.09k
    }
8771
8772
8773
8774
2.09k
  if (yyerrstatus == 3)
8775
0
    {
8776
      /* If just tried and failed to reuse lookahead token after an
8777
         error, discard it.  */
8778
8779
0
      if (yychar <= YYEOF)
8780
0
        {
8781
          /* Return failure if at end of input.  */
8782
0
          if (yychar == YYEOF)
8783
0
            YYABORT;
8784
0
        }
8785
0
      else
8786
0
        {
8787
0
          yydestruct ("Error: discarding",
8788
0
                      yytoken, &yylval);
8789
0
          yychar = YYEMPTY;
8790
0
        }
8791
0
    }
8792
8793
  /* Else will try to reuse lookahead token after shifting the error
8794
     token.  */
8795
2.09k
  goto yyerrlab1;
8796
8797
8798
/*---------------------------------------------------.
8799
| yyerrorlab -- error raised explicitly by YYERROR.  |
8800
`---------------------------------------------------*/
8801
2.09k
yyerrorlab:
8802
  /* Pacify compilers when the user code never invokes YYERROR and the
8803
     label yyerrorlab therefore never appears in user code.  */
8804
28
  if (0)
8805
0
    YYERROR;
8806
8807
  /* Do not reclaim the symbols of the rule whose action triggered
8808
     this YYERROR.  */
8809
28
  YYPOPSTACK (yylen);
8810
28
  yylen = 0;
8811
28
  YY_STACK_PRINT (yyss, yyssp);
8812
28
  yystate = *yyssp;
8813
28
  goto yyerrlab1;
8814
8815
8816
/*-------------------------------------------------------------.
8817
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
8818
`-------------------------------------------------------------*/
8819
2.12k
yyerrlab1:
8820
2.12k
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
8821
8822
2.12k
  for (;;)
8823
19.0k
    {
8824
19.0k
      yyn = yypact[yystate];
8825
19.0k
      if (!yypact_value_is_default (yyn))
8826
16.3k
        {
8827
16.3k
          yyn += YYTERROR;
8828
16.3k
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
8829
0
            {
8830
0
              yyn = yytable[yyn];
8831
0
              if (0 < yyn)
8832
0
                break;
8833
0
            }
8834
16.3k
        }
8835
8836
      /* Pop the current state because it cannot handle the error token.  */
8837
19.0k
      if (yyssp == yyss)
8838
2.12k
        YYABORT;
8839
8840
8841
16.9k
      yydestruct ("Error: popping",
8842
16.9k
                  yystos[yystate], yyvsp);
8843
16.9k
      YYPOPSTACK (1);
8844
16.9k
      yystate = *yyssp;
8845
16.9k
      YY_STACK_PRINT (yyss, yyssp);
8846
16.9k
    }
8847
8848
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
8849
0
  *++yyvsp = yylval;
8850
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
8851
8852
8853
  /* Shift the error token.  */
8854
0
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
8855
8856
0
  yystate = yyn;
8857
0
  goto yynewstate;
8858
8859
8860
/*-------------------------------------.
8861
| yyacceptlab -- YYACCEPT comes here.  |
8862
`-------------------------------------*/
8863
4.94k
yyacceptlab:
8864
4.94k
  yyresult = 0;
8865
4.94k
  goto yyreturn;
8866
8867
8868
/*-----------------------------------.
8869
| yyabortlab -- YYABORT comes here.  |
8870
`-----------------------------------*/
8871
2.12k
yyabortlab:
8872
2.12k
  yyresult = 1;
8873
2.12k
  goto yyreturn;
8874
8875
8876
0
#if !defined yyoverflow || YYERROR_VERBOSE
8877
/*-------------------------------------------------.
8878
| yyexhaustedlab -- memory exhaustion comes here.  |
8879
`-------------------------------------------------*/
8880
0
yyexhaustedlab:
8881
0
  yyerror (YY_("memory exhausted"));
8882
0
  yyresult = 2;
8883
  /* Fall through.  */
8884
0
#endif
8885
8886
8887
/*-----------------------------------------------------.
8888
| yyreturn -- parsing is finished, return the result.  |
8889
`-----------------------------------------------------*/
8890
7.07k
yyreturn:
8891
7.07k
  if (yychar != YYEMPTY)
8892
2.11k
    {
8893
      /* Make sure we have latest lookahead translation.  See comments at
8894
         user semantic actions for why this is necessary.  */
8895
2.11k
      yytoken = YYTRANSLATE (yychar);
8896
2.11k
      yydestruct ("Cleanup: discarding lookahead",
8897
2.11k
                  yytoken, &yylval);
8898
2.11k
    }
8899
  /* Do not reclaim the symbols of the rule whose action triggered
8900
     this YYABORT or YYACCEPT.  */
8901
7.07k
  YYPOPSTACK (yylen);
8902
7.07k
  YY_STACK_PRINT (yyss, yyssp);
8903
16.9k
  while (yyssp != yyss)
8904
9.90k
    {
8905
9.90k
      yydestruct ("Cleanup: popping",
8906
9.90k
                  yystos[+*yyssp], yyvsp);
8907
9.90k
      YYPOPSTACK (1);
8908
9.90k
    }
8909
7.07k
#ifndef yyoverflow
8910
7.07k
  if (yyss != yyssa)
8911
0
    YYSTACK_FREE (yyss);
8912
7.07k
#endif
8913
7.07k
#if YYERROR_VERBOSE
8914
7.07k
  if (yymsg != yymsgbuf)
8915
0
    YYSTACK_FREE (yymsg);
8916
7.07k
#endif
8917
7.07k
  return yyresult;
8918
0
}
8919
#line 1734 "/src/php-src/Zend/zend_language_parser.y"
8920
8921
8922
/* Over-ride Bison formatting routine to give better token descriptions.
8923
   Copy to YYRES the contents of YYSTR for use in yyerror.
8924
   YYSTR is taken from yytname, from the %token declaration.
8925
   If YYRES is null, do not copy; instead, return the length of what
8926
   the result would have been.  */
8927
static YYSIZE_T zend_yytnamerr(char *yyres, const char *yystr)
8928
12.4k
{
8929
12.4k
  const char *toktype = yystr;
8930
12.4k
  size_t toktype_len = strlen(toktype);
8931
8932
  /* CG(parse_error) states:
8933
   * 0 => yyres = NULL, yystr is the unexpected token
8934
   * 1 => yyres = NULL, yystr is one of the expected tokens
8935
   * 2 => yyres != NULL, yystr is the unexpected token
8936
   * 3 => yyres != NULL, yystr is one of the expected tokens
8937
   */
8938
12.4k
  if (yyres && CG(parse_error) < 2) {
8939
2.09k
    CG(parse_error) = 2;
8940
2.09k
  }
8941
8942
12.4k
  if (CG(parse_error) % 2 == 0) {
8943
    /* The unexpected token */
8944
4.19k
    char buffer[120];
8945
4.19k
    const unsigned char *tokcontent, *tokcontent_end;
8946
4.19k
    size_t tokcontent_len;
8947
8948
4.19k
    CG(parse_error)++;
8949
8950
4.19k
    if (LANG_SCNG(yy_text)[0] == 0 &&
8951
862
      LANG_SCNG(yy_leng) == 1 &&
8952
862
      strcmp(toktype, "\"end of file\"") == 0) {
8953
322
      if (yyres) {
8954
161
        yystpcpy(yyres, "end of file");
8955
161
      }
8956
322
      return sizeof("end of file")-1;
8957
322
    }
8958
8959
    /* Prevent the backslash getting doubled in the output (eugh) */
8960
3.87k
    if (strcmp(toktype, "\"'\\\\'\"") == 0) {
8961
42
      if (yyres) {
8962
21
        yystpcpy(yyres, "token \"\\\"");
8963
21
      }
8964
42
      return sizeof("token \"\\\"")-1;
8965
42
    }
8966
8967
    /* We used "amp" as a dummy label to avoid a duplicate token literal warning. */
8968
3.82k
    if (strcmp(toktype, "\"amp\"") == 0) {
8969
56
      if (yyres) {
8970
28
        yystpcpy(yyres, "token \"&\"");
8971
28
      }
8972
56
      return sizeof("token \"&\"")-1;
8973
56
    }
8974
8975
    /* Avoid unreadable """ */
8976
    /* "'" would theoretically be just as bad, but is never currently parsed as a separate token */
8977
3.77k
    if (strcmp(toktype, "'\"'") == 0) {
8978
32
      if (yyres) {
8979
16
        yystpcpy(yyres, "double-quote mark");
8980
16
      }
8981
32
      return sizeof("double-quote mark")-1;
8982
32
    }
8983
8984
    /* Strip off the outer quote marks */
8985
3.74k
    if (toktype_len >= 2 && *toktype == '"') {
8986
2.18k
      toktype++;
8987
2.18k
      toktype_len -= 2;
8988
2.18k
    }
8989
8990
    /* If the token always has one form, the %token line should have a single-quoted name */
8991
    /* The parser rules also include single-character un-named tokens which will be single-quoted here */
8992
    /* We re-format this with double quotes here to ensure everything's consistent */
8993
3.74k
    if (toktype_len > 0 && *toktype == '\'') {
8994
2.11k
      if (yyres) {
8995
1.05k
        snprintf(buffer, sizeof(buffer), "token \"%.*s\"", (int)toktype_len-2, toktype+1);
8996
1.05k
        yystpcpy(yyres, buffer);
8997
1.05k
      }
8998
2.11k
      return toktype_len + sizeof("token ")-1;
8999
2.11k
    }
9000
9001
    /* Fetch the content of the last seen token from global lexer state */
9002
1.62k
    tokcontent = LANG_SCNG(yy_text);
9003
1.62k
    tokcontent_len = LANG_SCNG(yy_leng);
9004
9005
    /* For T_BAD_CHARACTER, the content probably won't be a printable char */
9006
    /* Also, "unexpected invalid character" sounds a bit redundant */
9007
1.62k
    if (tokcontent_len == 1 && strcmp(yystr, "\"invalid character\"") == 0) {
9008
380
      if (yyres) {
9009
190
        snprintf(buffer, sizeof(buffer), "character 0x%02hhX", *tokcontent);
9010
190
        yystpcpy(yyres, buffer);
9011
190
      }
9012
380
      return sizeof("character 0x00")-1;
9013
380
    }
9014
9015
    /* Truncate at line end to avoid messing up log formats */
9016
1.24k
    tokcontent_end = memchr(tokcontent, '\n', tokcontent_len);
9017
1.24k
    if (tokcontent_end != NULL) {
9018
136
      tokcontent_len = (tokcontent_end - tokcontent);
9019
136
    }
9020
9021
    /* Try to be helpful about what kind of string was found, before stripping the quotes */
9022
1.24k
    if (tokcontent_len > 0 && strcmp(yystr, "\"quoted string\"") == 0) {
9023
22
      if (*tokcontent == '"') {
9024
6
        toktype = "double-quoted string";
9025
6
        toktype_len = sizeof("double-quoted string")-1;
9026
6
      }
9027
16
      else if (*tokcontent == '\'') {
9028
16
        toktype = "single-quoted string";
9029
16
        toktype_len = sizeof("single-quoted string")-1;
9030
16
      }
9031
22
    }
9032
9033
    /* For quoted strings, strip off another layer of quotes to avoid putting quotes inside quotes */
9034
1.24k
    if (tokcontent_len > 0 && (*tokcontent == '\'' || *tokcontent=='"'))  {
9035
54
      tokcontent++;
9036
54
      tokcontent_len--;
9037
54
    }
9038
1.24k
    if (tokcontent_len > 0 && (tokcontent[tokcontent_len-1] == '\'' || tokcontent[tokcontent_len-1] == '"'))  {
9039
28
      tokcontent_len--;
9040
28
    }
9041
9042
    /* Truncate to 30 characters and add a ... */
9043
1.24k
    if (tokcontent_len > 30 + sizeof("...")-1) {
9044
18
      if (yyres) {
9045
9
        snprintf(buffer, sizeof(buffer), "%.*s \"%.*s...\"", (int)toktype_len, toktype, 30, tokcontent);
9046
9
        yystpcpy(yyres, buffer);
9047
9
      }
9048
18
      return toktype_len + 30 + sizeof(" \"...\"")-1;
9049
18
    }
9050
9051
1.22k
    if (yyres) {
9052
613
      snprintf(buffer, sizeof(buffer), "%.*s \"%.*s\"", (int)toktype_len, toktype, (int)tokcontent_len, tokcontent);
9053
613
      yystpcpy(yyres, buffer);
9054
613
    }
9055
1.22k
    return toktype_len + tokcontent_len + sizeof(" \"\"")-1;
9056
1.24k
  }
9057
9058
  /* One of the expected tokens */
9059
9060
  /* Prevent the backslash getting doubled in the output (eugh) */
9061
8.23k
  if (strcmp(toktype, "\"'\\\\'\"") == 0) {
9062
0
    if (yyres) {
9063
0
      yystpcpy(yyres, "\"\\\"");
9064
0
    }
9065
0
    return sizeof("\"\\\"")-1;
9066
0
  }
9067
9068
  /* We used "amp" as a dummy label to avoid a duplicate token literal warning. */
9069
8.23k
  if (strcmp(toktype, "\"amp\"") == 0) {
9070
6
    if (yyres) {
9071
3
      yystpcpy(yyres, "token \"&\"");
9072
3
    }
9073
6
    return sizeof("token \"&\"")-1;
9074
6
  }
9075
9076
  /* Strip off the outer quote marks */
9077
8.23k
  if (toktype_len >= 2 && *toktype == '"') {
9078
6.87k
    toktype++;
9079
6.87k
    toktype_len -= 2;
9080
6.87k
  }
9081
9082
8.23k
  if (yyres) {
9083
888
    YYSIZE_T yyn = 0;
9084
9085
5.70k
    for (; yyn < toktype_len; ++yyn) {
9086
      /* Replace single quotes with double for consistency */
9087
4.81k
      if (toktype[yyn] == '\'') {
9088
1.21k
        yyres[yyn] = '"';
9089
1.21k
      }
9090
3.60k
      else {
9091
3.60k
        yyres[yyn] = toktype[yyn];
9092
3.60k
      }
9093
4.81k
    }
9094
888
    yyres[toktype_len] = '\0';
9095
888
  }
9096
9097
8.23k
  return toktype_len;
9098
8.23k
}