3 /* A Bison parser, made by GNU Bison 2.4.1. */
5 /* Skeleton implementation for Bison's Yacc-like parsers in C
7 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
8 Free Software Foundation, Inc.
10 This program is free software: you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
46 /* Identify Bison output. */
50 #define YYBISON_VERSION "2.4.1"
53 #define YYSKELETON_NAME "yacc.c"
64 /* Using locations. */
65 #define YYLSP_NEEDED 1
67 /* Substitute the variable and function names. */
68 #define yyparse Compilerparse
69 #define yylex Compilerlex
70 #define yyerror Compilererror
71 #define yylval Compilerlval
72 #define yychar Compilerchar
73 #define yydebug Compilerdebug
74 #define yynerrs Compilernerrs
75 #define yylloc Compilerlloc
77 /* Copy the first part of user declarations. */
79 /* Line 189 of yacc.c */
83 #include "hphp/parser/xhpast2/parser.h"
85 #include "hphp/compiler/parser/parser.h"
87 #include <boost/lexical_cast.hpp>
88 #include "hphp/util/text-util.h"
89 #include "hphp/util/logger.h"
92 #define YYSTYPE HPHP::HPHP_PARSER_NS::Token
93 #define YYSTYPE_IS_TRIVIAL 1
94 #define YYLTYPE HPHP::Location
95 #define YYLTYPE_IS_TRIVIAL 1
96 #define YYERROR_VERBOSE
97 #define YYINITDEPTH 500
98 #define YYLEX_PARAM _p
103 #define yyerror(loc,p,msg) p->parseFatal(loc,msg)
105 #ifdef YYLLOC_DEFAULT
106 # undef YYLLOC_DEFAULT
108 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
109 #define YYLLOC_DEFAULT(Current, Rhs, N) \
112 (Current).first(YYRHSLOC (Rhs, 1)); \
113 (Current).last (YYRHSLOC (Rhs, N)); \
115 (Current).line0 = (Current).line1 = YYRHSLOC (Rhs, 0).line1; \
116 (Current).char0 = (Current).char1 = YYRHSLOC (Rhs, 0).char1; \
119 _p->setRuleLocation(&Current);
121 #define YYCOPY(To, From, Count) \
124 for (yyi = 0; yyi < (Count); yyi++) { \
125 (To)[yyi] = (From)[yyi]; \
127 if (From != From ## a) { \
128 YYSTACK_FREE (From); \
133 #define YYCOPY_RESET(To, From, Count) \
137 for (yyi = 0; yyi < (Count); yyi++) { \
138 (To)[yyi] = (From)[yyi]; \
139 (From)[yyi].reset(); \
141 if (From != From ## a) { \
142 YYSTACK_FREE (From); \
147 #define YYTOKEN_RESET(From, Count) \
151 for (yyi = 0; yyi < (Count); yyi++) { \
152 (From)[yyi].reset(); \
154 if (From != From ## a) { \
155 YYSTACK_FREE (From); \
160 # define YYSTACK_RELOCATE_RESET(Stack_alloc, Stack) \
163 YYSIZE_T yynewbytes; \
164 YYCOPY_RESET (&yyptr->Stack_alloc, Stack, yysize); \
165 Stack = &yyptr->Stack_alloc; \
166 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
167 yyptr += yynewbytes / sizeof (*yyptr); \
171 #define YYSTACK_CLEANUP \
172 YYTOKEN_RESET (yyvs, yystacksize); \
173 if (yyvs != yyvsa) { \
174 YYSTACK_FREE (yyvs); \
176 if (yyls != yylsa) { \
177 YYSTACK_FREE (yyls); \
182 #define BEXP(e...) _p->onBinaryOpExp(e);
183 #define UEXP(e...) _p->onUnaryOpExp(e);
185 using namespace HPHP::HPHP_PARSER_NS
;
187 typedef HPHP::ClosureType ClosureType
;
189 ///////////////////////////////////////////////////////////////////////////////
192 static void scalar_num(Parser
*_p
, Token
&out
, const char *num
) {
195 _p
->onScalar(out
, T_LNUMBER
, t
);
198 static void scalar_num(Parser
*_p
, Token
&out
, int num
) {
200 t
.setText(boost::lexical_cast
<std::string
>(num
));
201 _p
->onScalar(out
, T_LNUMBER
, t
);
204 static void scalar_null(Parser
*_p
, Token
&out
) {
205 Token tnull
; tnull
.setText("null");
206 _p
->onConstantValue(out
, tnull
);
209 static void scalar_file(Parser
*_p
, Token
&out
) {
210 Token file
; file
.setText("__FILE__");
211 _p
->onScalar(out
, T_FILE
, file
);
214 static void scalar_line(Parser
*_p
, Token
&out
) {
215 Token line
; line
.setText("__LINE__");
216 _p
->onScalar(out
, T_LINE
, line
);
219 ///////////////////////////////////////////////////////////////////////////////
220 // converting constant declaration to "define(name, value);"
221 // TODO: get rid of this, or pass in more info, task 3491019.
223 static void on_constant(Parser
*_p
, Token
&out
, Token
&name
, Token
&value
) {
224 Token sname
; _p
->onScalar(sname
, T_CONSTANT_ENCAPSED_STRING
, name
);
226 Token fname
; fname
.setText("define");
227 Token params1
; _p
->onCallParam(params1
, NULL
, sname
, 0);
228 Token params2
; _p
->onCallParam(params2
, ¶ms1
, value
, 0);
229 Token call
; _p
->onCall(call
, 0, fname
, params2
, 0);
231 _p
->onExpStatement(out
, call
);
234 ///////////////////////////////////////////////////////////////////////////////
236 static void constant_ae(Parser
*_p
, Token
&out
, Token
&value
) {
237 const std::string
& valueStr
= value
.text();
238 if (valueStr
.size() < 3 || valueStr
.size() > 5 ||
239 (strcasecmp("true", valueStr
.c_str()) != 0 &&
240 strcasecmp("false", valueStr
.c_str()) != 0 &&
241 strcasecmp("null", valueStr
.c_str()) != 0 &&
242 strcasecmp("inf", valueStr
.c_str()) != 0 &&
243 strcasecmp("nan", valueStr
.c_str()) != 0)) {
244 HPHP_PARSER_ERROR("User-defined constants are not allowed in user "
245 "attribute expressions", _p
);
247 _p
->onConstantValue(out
, value
);
250 ///////////////////////////////////////////////////////////////////////////////
253 * XHP functions: They are defined here, so different parsers don't have to
254 * handle XHP rules at all.
257 static void xhp_tag(Parser
*_p
, Token
&out
, Token
&label
, Token
&body
) {
258 if (!body
.text().empty() && body
.text() != label
.text()) {
259 HPHP_PARSER_ERROR("XHP: mismatched tag: '%s' not the same as '%s'",
260 _p
, body
.text().c_str(), label
.text().c_str());
264 Token name
; _p
->onName(name
, label
, Parser::StringName
);
265 _p
->onNewObject(out
, name
, body
);
268 static void xhp_attribute(Parser
*_p
, Token
&out
, Token
&type
, Token
&label
,
269 Token
&def
, Token
&req
) {
271 * The bool, int, float, and string typenames are not given any special
272 * treatment by the parser and are treated the same as regular class names
273 * (which initially gets marked as type code 5). However, XHP wants to use
274 * different type codes for bool, int, float, and string, so we need to fix
275 * up the type code here to make XHP happy.
277 if (type
.num() == 5) {
278 auto* str
= type
.text().c_str();
279 if (_p
->scanner().isHHSyntaxEnabled()) {
280 switch (type
.text().size()) {
282 if (!strcasecmp(str
, "HH\\int")) {
283 type
.reset(); type
.setNum(3);
287 if (!strcasecmp(str
, "HH\\bool")) {
288 type
.reset(); type
.setNum(2);
292 if (!strcasecmp(str
, "HH\\float")) {
293 type
.reset(); type
.setNum(8);
294 } else if (!strcasecmp(str
, "HH\\mixed")) {
295 type
.reset(); type
.setNum(6);
299 if (!strcasecmp(str
, "HH\\string")) {
300 type
.reset(); type
.setNum(1);
307 switch (type
.text().size()) {
309 if (!strcasecmp(str
, "int")) {
310 type
.reset(); type
.setNum(3);
314 if (!strcasecmp(str
, "bool")) {
315 type
.reset(); type
.setNum(2);
316 } else if (!strcasecmp(str
, "real")) {
317 type
.reset(); type
.setNum(8);
321 if (!strcasecmp(str
, "float")) {
322 type
.reset(); type
.setNum(8);
323 } else if (!strcasecmp(str
, "mixed")) {
324 type
.reset(); type
.setNum(6);
328 if (!strcasecmp(str
, "string")) {
329 type
.reset(); type
.setNum(1);
330 } else if (!strcasecmp(str
, "double")) {
331 type
.reset(); type
.setNum(8);
335 if (!strcasecmp(str
, "integer")) {
336 type
.reset(); type
.setNum(3);
337 } else if (!strcasecmp(str
, "boolean")) {
338 type
.reset(); type
.setNum(2);
347 Token num
; scalar_num(_p
, num
, type
.num());
348 Token arr1
; _p
->onArrayPair(arr1
, 0, 0, num
, 0);
351 switch (type
.num()) {
352 case 5: /* class */ {
353 Token cls
; _p
->onScalar(cls
, T_CONSTANT_ENCAPSED_STRING
, type
);
354 _p
->onArrayPair(arr2
, &arr1
, 0, cls
, 0);
358 Token arr
; _p
->onArray(arr
, type
);
359 _p
->onArrayPair(arr2
, &arr1
, 0, arr
, 0);
363 Token tnull
; scalar_null(_p
, tnull
);
364 _p
->onArrayPair(arr2
, &arr1
, 0, tnull
, 0);
369 Token arr3
; _p
->onArrayPair(arr3
, &arr2
, 0, def
, 0);
370 Token arr4
; _p
->onArrayPair(arr4
, &arr3
, 0, req
, 0);
371 _p
->onArray(out
, arr4
);
375 static void xhp_attribute_list(Parser
*_p
, Token
&out
, Token
*list
,
377 if (decl
.num() == 0) {
381 out
.setText(list
->text() + ":" + decl
.text()); // avoiding vector<string>
386 Token name
; _p
->onScalar(name
, T_CONSTANT_ENCAPSED_STRING
, decl
);
387 _p
->onArrayPair(out
, list
, &name
, decl
, 0);
389 out
.setText(list
->text());
396 static void xhp_attribute_stmt(Parser
*_p
, Token
&out
, Token
&attributes
) {
398 Token fname
; fname
.setText("__xhpAttributeDeclaration");
401 Token m1
; m1
.setNum(T_PROTECTED
); _p
->onMemberModifier(m
, NULL
, m1
);
402 Token m2
; m2
.setNum(T_STATIC
); _p
->onMemberModifier(modifiers
, &m
, m2
);
404 _p
->pushFuncLocation();
405 _p
->onMethodStart(fname
, modifiers
);
407 std::vector
<std::string
> classes
;
408 HPHP::split(':', attributes
.text().c_str(), classes
, true);
409 Token arrAttributes
; _p
->onArray(arrAttributes
, attributes
);
415 _p
->onStatementListStart(stmts0
);
420 Token one
; scalar_num(_p
, one
, "1");
421 Token mone
; UEXP(mone
, one
, '-', 1);
422 Token var
; var
.set(T_VARIABLE
, "_");
423 Token decl
; _p
->onStaticVariable(decl
, 0, var
, &mone
);
424 Token sdecl
; _p
->onStatic(sdecl
, decl
);
425 _p
->addStatement(stmts1
, stmts0
, sdecl
);
430 // $_ = array_merge(parent::__xhpAttributeDeclaration(),
433 Token parent
; parent
.set(T_STRING
, "parent");
434 Token cls
; _p
->onName(cls
, parent
, Parser::StringName
);
435 Token fname
; fname
.setText("__xhpAttributeDeclaration");
436 Token param1
; _p
->onCall(param1
, 0, fname
, dummy
, &cls
);
437 Token params1
; _p
->onCallParam(params1
, NULL
, param1
, 0);
439 for (unsigned int i
= 0; i
< classes
.size(); i
++) {
440 Token parent
; parent
.set(T_STRING
, classes
[i
]);
441 Token cls
; _p
->onName(cls
, parent
, Parser::StringName
);
442 Token fname
; fname
.setText("__xhpAttributeDeclaration");
443 Token param
; _p
->onCall(param
, 0, fname
, dummy
, &cls
);
445 Token params
; _p
->onCallParam(params
, ¶ms1
, param
, 0);
449 Token params2
; _p
->onCallParam(params2
, ¶ms1
, arrAttributes
, 0);
451 Token name
; name
.set(T_STRING
, "array_merge");
452 Token call
; _p
->onCall(call
, 0, name
, params2
, NULL
);
453 Token tvar
; tvar
.set(T_VARIABLE
, "_");
454 Token var
; _p
->onSimpleVariable(var
, tvar
);
455 Token assign
; _p
->onAssign(assign
, var
, call
, 0);
456 Token exp
; _p
->onExpStatement(exp
, assign
);
457 Token block
; _p
->onBlock(block
, exp
);
459 Token tvar2
; tvar2
.set(T_VARIABLE
, "_");
460 Token var2
; _p
->onSimpleVariable(var2
, tvar2
);
461 Token one
; scalar_num(_p
, one
, "1");
462 Token mone
; UEXP(mone
, one
, '-', 1);
463 Token cond
; BEXP(cond
, var2
, mone
, T_IS_IDENTICAL
);
464 Token dummy1
, dummy2
;
465 Token sif
; _p
->onIf(sif
, cond
, block
, dummy1
, dummy2
);
466 _p
->addStatement(stmts2
, stmts1
, sif
);
471 Token tvar
; tvar
.set(T_VARIABLE
, "_");
472 Token var
; _p
->onSimpleVariable(var
, tvar
);
473 Token ret
; _p
->onReturn(ret
, &var
);
474 _p
->addStatement(stmts3
, stmts2
, ret
);
478 _p
->finishStatement(stmt
, stmts3
);
482 Token params
, ret
, ref
; ref
= 1;
483 _p
->onMethod(out
, modifiers
, ret
, ref
, fname
, params
, stmt
, nullptr, false);
487 static void xhp_collect_attributes(Parser
*_p
, Token
&out
, Token
&stmts
) {
488 Token
*attr
= _p
->xhpGetAttributes();
491 xhp_attribute_stmt(_p
, stmt
, *attr
);
492 _p
->onClassStatement(out
, stmts
, stmt
);
498 static void xhp_category_stmt(Parser
*_p
, Token
&out
, Token
&categories
) {
499 Token fname
; fname
.setText("__xhpCategoryDeclaration");
500 Token m1
; m1
.setNum(T_PROTECTED
);
501 Token modifiers
; _p
->onMemberModifier(modifiers
, 0, m1
);
502 _p
->pushFuncLocation();
503 _p
->onMethodStart(fname
, modifiers
);
507 _p
->onStatementListStart(stmts0
);
511 // static $_ = categories;
512 Token arr
; _p
->onArray(arr
, categories
);
513 Token var
; var
.set(T_VARIABLE
, "_");
514 Token decl
; _p
->onStaticVariable(decl
, 0, var
, &arr
);
515 Token sdecl
; _p
->onStatic(sdecl
, decl
);
516 _p
->addStatement(stmts1
, stmts0
, sdecl
);
521 Token tvar
; tvar
.set(T_VARIABLE
, "_");
522 Token var
; _p
->onSimpleVariable(var
, tvar
);
523 Token ret
; _p
->onReturn(ret
, &var
);
524 _p
->addStatement(stmts2
, stmts1
, ret
);
528 _p
->finishStatement(stmt
, stmts2
);
532 Token params
, ret
, ref
; ref
= 1;
533 _p
->onMethod(out
, modifiers
, ret
, ref
, fname
, params
, stmt
, nullptr, false);
537 static void xhp_children_decl_tag(Parser
*_p
, Token
&arr
, Token
&tag
) {
538 Token num
; scalar_num(_p
, num
, tag
.num());
539 Token arr1
; _p
->onArrayPair(arr1
, &arr
, 0, num
, 0);
542 if (tag
.num() == 3 || tag
.num() == 4) {
543 _p
->onScalar(name
, T_CONSTANT_ENCAPSED_STRING
, tag
);
544 } else if (tag
.num() >= 0) {
545 scalar_null(_p
, name
);
547 HPHP_PARSER_ERROR("XHP: unknown children declaration", _p
);
549 Token arr2
; _p
->onArrayPair(arr2
, &arr1
, 0, name
, 0);
553 static void xhp_children_decl(Parser
*_p
, Token
&out
, Token
&op1
, int op
,
555 Token num
; scalar_num(_p
, num
, op
);
556 Token arr
; _p
->onArrayPair(arr
, 0, 0, num
, 0);
559 Token arr1
; _p
->onArrayPair(arr1
, &arr
, 0, op1
, 0);
560 Token arr2
; _p
->onArrayPair(arr2
, &arr1
, 0, *op2
, 0);
561 _p
->onArray(out
, arr2
);
563 xhp_children_decl_tag(_p
, arr
, op1
);
564 _p
->onArray(out
, arr
);
568 static void xhp_children_paren(Parser
*_p
, Token
&out
, Token exp
, int op
) {
569 Token num
; scalar_num(_p
, num
, op
);
570 Token arr1
; _p
->onArrayPair(arr1
, 0, 0, num
, 0);
572 Token num5
; scalar_num(_p
, num5
, 5);
573 Token arr2
; _p
->onArrayPair(arr2
, &arr1
, 0, num5
, 0);
575 Token arr3
; _p
->onArrayPair(arr3
, &arr2
, 0, exp
, 0);
576 _p
->onArray(out
, arr3
);
579 static void xhp_children_stmt(Parser
*_p
, Token
&out
, Token
&children
) {
580 Token fname
; fname
.setText("__xhpChildrenDeclaration");
581 Token m1
; m1
.setNum(T_PROTECTED
);
582 Token modifiers
; _p
->onMemberModifier(modifiers
, 0, m1
);
583 _p
->pushFuncLocation();
584 _p
->onMethodStart(fname
, modifiers
);
588 _p
->onStatementListStart(stmts0
);
592 // static $_ = children;
594 if (children
.num() == 2) {
596 } else if (children
.num() >= 0) {
597 scalar_num(_p
, arr
, children
.num());
599 HPHP_PARSER_ERROR("XHP: XHP unknown children declaration", _p
);
601 Token var
; var
.set(T_VARIABLE
, "_");
602 Token decl
; _p
->onStaticVariable(decl
, 0, var
, &arr
);
603 Token sdecl
; _p
->onStatic(sdecl
, decl
);
604 _p
->addStatement(stmts1
, stmts0
, sdecl
);
609 Token tvar
; tvar
.set(T_VARIABLE
, "_");
610 Token var
; _p
->onSimpleVariable(var
, tvar
);
611 Token ret
; _p
->onReturn(ret
, &var
);
612 _p
->addStatement(stmts2
, stmts1
, ret
);
616 _p
->finishStatement(stmt
, stmts2
);
620 Token params
, ret
, ref
; ref
= 1;
621 _p
->onMethod(out
, modifiers
, ret
, ref
, fname
, params
, stmt
, nullptr, false);
625 static void only_in_hh_syntax(Parser
*_p
) {
626 if (!_p
->scanner().isHHSyntaxEnabled()) {
628 "Syntax only allowed with -v Eval.EnableHipHopSyntax=true", _p
);
632 static void validate_hh_variadic_variant(Parser
* _p
,
633 Token
& userAttrs
, Token
& typehint
,
635 if (!userAttrs
.text().empty() || !typehint
.text().empty() ||
636 (mod
&& !mod
->text().empty())) {
637 HPHP_PARSER_ERROR("Variadic '...' should be followed by a '$variable'", _p
);
639 only_in_hh_syntax(_p
);
642 // Shapes may not have leading integers in key names, considered as a
643 // parse time error. This is because at runtime they are currently
644 // hphp arrays, which will treat leading integer keys as numbers.
645 static void validate_shape_keyname(Token
& tok
, Parser
* _p
) {
646 if (tok
.text().empty()) {
647 HPHP_PARSER_ERROR("Shape key names may not be empty", _p
);
649 if (isdigit(tok
.text()[0])) {
650 HPHP_PARSER_ERROR("Shape key names may not start with integers", _p
);
654 ///////////////////////////////////////////////////////////////////////////////
656 static int yylex(YYSTYPE
*token
, HPHP::Location
*loc
, Parser
*_p
) {
657 return _p
->scan(token
, loc
);
661 /* Line 189 of yacc.c */
662 #line 662 "hphp.tab.cpp"
664 /* Enabling traces. */
669 /* Enabling verbose error messages. */
670 #ifdef YYERROR_VERBOSE
671 # undef YYERROR_VERBOSE
672 # define YYERROR_VERBOSE 1
674 # define YYERROR_VERBOSE 0
677 /* Enabling the token table. */
678 #ifndef YYTOKEN_TABLE
679 # define YYTOKEN_TABLE 0
686 /* Put the tokens into the symbol table, so that GDB and other debuggers
689 T_REQUIRE_ONCE
= 258,
692 T_INCLUDE_ONCE
= 261,
694 T_LAMBDA_ARROW
= 263,
705 T_CONCAT_EQUAL
= 274,
712 T_IS_NOT_IDENTICAL
= 281,
713 T_IS_IDENTICAL
= 282,
714 T_IS_NOT_EQUAL
= 283,
716 T_IS_GREATER_OR_EQUAL
= 285,
717 T_IS_SMALLER_OR_EQUAL
= 286,
741 T_STRING_VARNAME
= 310,
746 T_BAD_CHARACTER
= 315,
747 T_ENCAPSED_AND_WHITESPACE
= 316,
748 T_CONSTANT_ENCAPSED_STRING
= 317,
785 T_HALT_COMPILER
= 354,
790 T_OBJECT_OPERATOR
= 359,
791 T_DOUBLE_ARROW
= 360,
803 T_OPEN_TAG_WITH_ECHO
= 372,
806 T_START_HEREDOC
= 375,
808 T_DOLLAR_OPEN_CURLY_BRACES
= 377,
810 T_DOUBLE_COLON
= 379,
814 T_NS_SEPARATOR
= 383,
818 T_XHP_ATTRIBUTE
= 387,
819 T_XHP_CATEGORY
= 388,
820 T_XHP_CATEGORY_LABEL
= 389,
821 T_XHP_CHILDREN
= 390,
823 T_XHP_REQUIRED
= 392,
834 T_UNRESOLVED_LT
= 403,
838 T_UNRESOLVED_TYPE
= 407,
840 T_UNRESOLVED_NEWTYPE
= 409,
841 T_COMPILER_HALT_OFFSET
= 410,
861 T_UNRESOLVED_OP
= 430
867 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
869 # define YYSTYPE_IS_TRIVIAL 1
870 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
871 # define YYSTYPE_IS_DECLARED 1
874 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
875 typedef struct YYLTYPE
882 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
883 # define YYLTYPE_IS_DECLARED 1
884 # define YYLTYPE_IS_TRIVIAL 1
888 /* Copy the second part of user declarations. */
891 /* Line 264 of yacc.c */
892 #line 892 "hphp.tab.cpp"
899 typedef YYTYPE_UINT8 yytype_uint8
;
901 typedef unsigned char yytype_uint8
;
905 typedef YYTYPE_INT8 yytype_int8
;
906 #elif (defined __STDC__ || defined __C99__FUNC__ \
907 || defined __cplusplus || defined _MSC_VER)
908 typedef signed char yytype_int8
;
910 typedef short int yytype_int8
;
914 typedef YYTYPE_UINT16 yytype_uint16
;
916 typedef unsigned short int yytype_uint16
;
920 typedef YYTYPE_INT16 yytype_int16
;
922 typedef short int yytype_int16
;
926 # ifdef __SIZE_TYPE__
927 # define YYSIZE_T __SIZE_TYPE__
928 # elif defined size_t
929 # define YYSIZE_T size_t
930 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
931 || defined __cplusplus || defined _MSC_VER)
932 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
933 # define YYSIZE_T size_t
935 # define YYSIZE_T unsigned int
939 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
944 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
945 # define YY_(msgid) dgettext ("bison-runtime", msgid)
949 # define YY_(msgid) msgid
953 /* Suppress unused-variable warnings by "using" E. */
954 #if ! defined lint || defined __GNUC__
955 # define YYUSE(e) ((void) (e))
957 # define YYUSE(e) /* empty */
960 /* Identity function, used to suppress warnings about constant conditions. */
964 #if (defined __STDC__ || defined __C99__FUNC__ \
965 || defined __cplusplus || defined _MSC_VER)
978 #if ! defined yyoverflow || YYERROR_VERBOSE
980 /* The parser invokes alloca or malloc; define the necessary symbols. */
982 # ifdef YYSTACK_USE_ALLOCA
983 # if YYSTACK_USE_ALLOCA
985 # define YYSTACK_ALLOC __builtin_alloca
986 # elif defined __BUILTIN_VA_ARG_INCR
987 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
989 # define YYSTACK_ALLOC __alloca
990 # elif defined _MSC_VER
991 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
992 # define alloca _alloca
994 # define YYSTACK_ALLOC alloca
995 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
996 || defined __cplusplus || defined _MSC_VER)
997 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1006 # ifdef YYSTACK_ALLOC
1007 /* Pacify GCC's `empty if-body' warning. */
1008 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
1009 # ifndef YYSTACK_ALLOC_MAXIMUM
1010 /* The OS might guarantee only one guard page at the bottom of the stack,
1011 and a page size can be as small as 4096 bytes. So we cannot safely
1012 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1013 to allow for a few compiler-allocated temporary stack slots. */
1014 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1017 # define YYSTACK_ALLOC YYMALLOC
1018 # define YYSTACK_FREE YYFREE
1019 # ifndef YYSTACK_ALLOC_MAXIMUM
1020 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1022 # if (defined __cplusplus && ! defined _STDLIB_H \
1023 && ! ((defined YYMALLOC || defined malloc) \
1024 && (defined YYFREE || defined free)))
1025 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1027 # define _STDLIB_H 1
1031 # define YYMALLOC malloc
1032 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1033 || defined __cplusplus || defined _MSC_VER)
1034 void *malloc (YYSIZE_T
); /* INFRINGES ON USER NAME SPACE */
1038 # define YYFREE free
1039 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1040 || defined __cplusplus || defined _MSC_VER)
1041 void free (void *); /* INFRINGES ON USER NAME SPACE */
1045 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1048 #if (! defined yyoverflow \
1049 && (! defined __cplusplus \
1050 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1051 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1053 /* A type that is properly aligned for any stack member. */
1056 yytype_int16 yyss_alloc
;
1061 /* The size of the maximum gap between one aligned stack and the next. */
1062 # define YYSTACK_GAP_MAXIMUM (sizeof (struct yyalloc) - 1)
1064 /* The size of an array large to enough to hold all stacks, each with
1066 # define YYSTACK_BYTES(N) \
1067 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1068 + 2 * YYSTACK_GAP_MAXIMUM)
1070 /* Copy COUNT objects from FROM to TO. The source and destination do
1073 # if defined __GNUC__ && 1 < __GNUC__
1074 # define YYCOPY(To, From, Count) \
1075 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1077 # define YYCOPY(To, From, Count) \
1081 for (yyi = 0; yyi < (Count); yyi++) \
1082 (To)[yyi] = (From)[yyi]; \
1088 /* Relocate STACK from its old location to the new one. The
1089 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1090 elements in the stack, and YYPTR gives the new location of the
1091 stack. Advance YYPTR to a properly aligned location for the next
1093 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1096 YYSIZE_T yynewbytes; \
1097 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1098 Stack = &yyptr->Stack_alloc; \
1099 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1100 yyptr += yynewbytes / sizeof (*yyptr); \
1106 /* YYFINAL -- State number of the termination state. */
1108 /* YYLAST -- Last index in YYTABLE. */
1109 #define YYLAST 14617
1111 /* YYNTOKENS -- Number of terminals. */
1112 #define YYNTOKENS 205
1113 /* YYNNTS -- Number of nonterminals. */
1115 /* YYNRULES -- Number of rules. */
1116 #define YYNRULES 827
1117 /* YYNRULES -- Number of states. */
1118 #define YYNSTATES 1537
1120 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1121 #define YYUNDEFTOK 2
1122 #define YYMAXUTOK 430
1124 #define YYTRANSLATE(YYX) \
1125 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1127 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1128 static const yytype_uint8 yytranslate
[] =
1130 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1131 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1133 2, 2, 2, 49, 203, 2, 200, 48, 32, 204,
1134 195, 196, 46, 43, 9, 44, 45, 47, 2, 2,
1135 2, 2, 2, 2, 2, 2, 2, 2, 27, 197,
1136 37, 14, 38, 26, 52, 2, 2, 2, 2, 2,
1137 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1138 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1139 2, 62, 2, 202, 31, 2, 201, 2, 2, 2,
1140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1142 2, 2, 2, 198, 30, 199, 51, 2, 2, 2,
1143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1149 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1155 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1156 5, 6, 7, 8, 10, 11, 12, 13, 15, 16,
1157 17, 18, 19, 20, 21, 22, 23, 24, 25, 28,
1158 29, 33, 34, 35, 36, 39, 40, 41, 42, 50,
1159 53, 54, 55, 56, 57, 58, 59, 60, 61, 63,
1160 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1161 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1162 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1163 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1164 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1165 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1166 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1167 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1168 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1169 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1170 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1171 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1172 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1177 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1179 static const yytype_uint16 yyprhs
[] =
1181 0, 0, 3, 4, 7, 10, 11, 13, 15, 17,
1182 19, 21, 26, 30, 31, 38, 39, 45, 49, 52,
1183 54, 56, 58, 60, 62, 64, 66, 68, 70, 72,
1184 74, 76, 78, 80, 82, 84, 86, 88, 90, 92,
1185 96, 98, 100, 103, 107, 112, 114, 118, 120, 124,
1186 127, 129, 132, 135, 141, 146, 149, 150, 152, 154,
1187 156, 158, 162, 168, 177, 178, 183, 184, 191, 192,
1188 203, 204, 209, 212, 216, 219, 223, 226, 230, 234,
1189 238, 242, 246, 252, 254, 256, 257, 267, 273, 274,
1190 288, 289, 295, 299, 303, 306, 309, 312, 315, 318,
1191 321, 325, 328, 331, 335, 338, 339, 344, 354, 355,
1192 356, 361, 364, 365, 367, 368, 370, 371, 381, 382,
1193 393, 394, 406, 407, 416, 417, 427, 428, 436, 437,
1194 446, 447, 455, 456, 465, 467, 469, 471, 473, 475,
1195 478, 481, 484, 485, 488, 489, 492, 493, 495, 499,
1196 501, 505, 508, 509, 511, 514, 519, 521, 526, 528,
1197 533, 535, 540, 542, 547, 551, 557, 561, 566, 571,
1198 577, 583, 588, 589, 591, 593, 598, 599, 605, 606,
1199 609, 610, 614, 615, 623, 630, 633, 639, 644, 645,
1200 650, 656, 664, 671, 678, 686, 696, 705, 712, 718,
1201 721, 726, 730, 731, 735, 740, 747, 753, 759, 766,
1202 775, 783, 786, 787, 789, 792, 796, 801, 805, 807,
1203 809, 812, 817, 821, 827, 829, 833, 836, 837, 838,
1204 843, 844, 850, 853, 854, 865, 866, 878, 882, 886,
1205 890, 895, 900, 904, 910, 913, 916, 917, 924, 930,
1206 935, 939, 941, 943, 947, 952, 954, 956, 958, 960,
1207 965, 967, 971, 974, 975, 978, 979, 981, 985, 987,
1208 989, 991, 993, 997, 1002, 1007, 1012, 1014, 1016, 1019,
1209 1022, 1025, 1029, 1033, 1035, 1037, 1039, 1041, 1045, 1047,
1210 1051, 1053, 1055, 1057, 1058, 1060, 1063, 1065, 1067, 1069,
1211 1071, 1073, 1075, 1077, 1079, 1080, 1082, 1084, 1086, 1090,
1212 1096, 1098, 1102, 1108, 1113, 1117, 1121, 1124, 1126, 1128,
1213 1132, 1136, 1138, 1140, 1141, 1144, 1149, 1153, 1160, 1163,
1214 1167, 1174, 1176, 1178, 1180, 1187, 1191, 1196, 1203, 1207,
1215 1211, 1215, 1219, 1223, 1227, 1231, 1235, 1239, 1243, 1247,
1216 1250, 1253, 1256, 1259, 1263, 1267, 1271, 1275, 1279, 1283,
1217 1287, 1291, 1295, 1299, 1303, 1307, 1311, 1315, 1319, 1323,
1218 1326, 1329, 1332, 1335, 1339, 1343, 1347, 1351, 1355, 1359,
1219 1363, 1367, 1371, 1375, 1381, 1386, 1388, 1391, 1394, 1397,
1220 1400, 1403, 1406, 1409, 1412, 1415, 1417, 1419, 1421, 1425,
1221 1428, 1430, 1432, 1434, 1440, 1441, 1442, 1454, 1455, 1468,
1222 1469, 1473, 1474, 1481, 1484, 1489, 1491, 1497, 1501, 1507,
1223 1511, 1514, 1515, 1518, 1519, 1524, 1529, 1533, 1538, 1543,
1224 1548, 1553, 1555, 1557, 1561, 1564, 1568, 1573, 1576, 1580,
1225 1582, 1585, 1587, 1590, 1592, 1594, 1596, 1598, 1600, 1602,
1226 1607, 1612, 1615, 1624, 1635, 1638, 1640, 1644, 1646, 1649,
1227 1651, 1653, 1655, 1657, 1660, 1665, 1669, 1673, 1678, 1680,
1228 1683, 1688, 1691, 1698, 1699, 1701, 1706, 1707, 1710, 1711,
1229 1713, 1715, 1719, 1721, 1725, 1727, 1729, 1733, 1737, 1739,
1230 1741, 1743, 1745, 1747, 1749, 1751, 1753, 1755, 1757, 1759,
1231 1761, 1763, 1765, 1767, 1769, 1771, 1773, 1775, 1777, 1779,
1232 1781, 1783, 1785, 1787, 1789, 1791, 1793, 1795, 1797, 1799,
1233 1801, 1803, 1805, 1807, 1809, 1811, 1813, 1815, 1817, 1819,
1234 1821, 1823, 1825, 1827, 1829, 1831, 1833, 1835, 1837, 1839,
1235 1841, 1843, 1845, 1847, 1849, 1851, 1853, 1855, 1857, 1859,
1236 1861, 1863, 1865, 1867, 1869, 1871, 1873, 1875, 1877, 1879,
1237 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1895, 1897, 1902,
1238 1904, 1906, 1908, 1910, 1912, 1914, 1916, 1918, 1921, 1923,
1239 1924, 1925, 1927, 1929, 1933, 1934, 1936, 1938, 1940, 1942,
1240 1944, 1946, 1948, 1950, 1952, 1954, 1956, 1958, 1960, 1964,
1241 1967, 1969, 1971, 1974, 1977, 1982, 1987, 1991, 1996, 1998,
1242 2000, 2004, 2008, 2012, 2014, 2016, 2018, 2020, 2024, 2028,
1243 2032, 2035, 2036, 2038, 2039, 2041, 2042, 2048, 2052, 2056,
1244 2058, 2060, 2062, 2064, 2066, 2070, 2073, 2075, 2077, 2079,
1245 2081, 2083, 2085, 2088, 2091, 2096, 2101, 2105, 2110, 2113,
1246 2114, 2120, 2124, 2128, 2130, 2134, 2136, 2139, 2140, 2146,
1247 2150, 2153, 2154, 2158, 2159, 2164, 2167, 2168, 2172, 2176,
1248 2178, 2179, 2181, 2184, 2187, 2192, 2196, 2200, 2203, 2208,
1249 2211, 2216, 2218, 2220, 2222, 2224, 2226, 2229, 2234, 2238,
1250 2243, 2247, 2249, 2251, 2253, 2255, 2258, 2263, 2268, 2272,
1251 2274, 2276, 2280, 2288, 2295, 2304, 2314, 2323, 2334, 2342,
1252 2349, 2358, 2360, 2363, 2368, 2373, 2375, 2377, 2382, 2384,
1253 2385, 2387, 2390, 2392, 2394, 2397, 2402, 2406, 2410, 2411,
1254 2413, 2416, 2421, 2425, 2428, 2432, 2439, 2440, 2442, 2447,
1255 2450, 2451, 2457, 2461, 2465, 2467, 2474, 2479, 2484, 2487,
1256 2490, 2491, 2497, 2501, 2505, 2507, 2510, 2511, 2517, 2521,
1257 2525, 2527, 2530, 2533, 2535, 2538, 2540, 2545, 2549, 2553,
1258 2560, 2564, 2566, 2568, 2570, 2575, 2580, 2585, 2590, 2593,
1259 2596, 2601, 2604, 2607, 2609, 2613, 2617, 2621, 2622, 2625,
1260 2631, 2638, 2640, 2643, 2645, 2650, 2654, 2655, 2657, 2661,
1261 2665, 2667, 2669, 2670, 2671, 2674, 2678, 2680, 2686, 2690,
1262 2694, 2698, 2700, 2703, 2704, 2709, 2712, 2715, 2717, 2719,
1263 2721, 2723, 2728, 2735, 2737, 2746, 2752, 2754
1266 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1267 static const yytype_int16 yyrhs
[] =
1269 206, 0, -1, -1, 207, 208, -1, 208, 209, -1,
1270 -1, 223, -1, 239, -1, 243, -1, 248, -1, 437,
1271 -1, 118, 195, 196, 197, -1, 144, 215, 197, -1,
1272 -1, 144, 215, 198, 210, 208, 199, -1, -1, 144,
1273 198, 211, 208, 199, -1, 106, 213, 197, -1, 220,
1274 197, -1, 73, -1, 151, -1, 152, -1, 154, -1,
1275 156, -1, 155, -1, 177, -1, 179, -1, 180, -1,
1276 182, -1, 181, -1, 183, -1, 184, -1, 185, -1,
1277 186, -1, 187, -1, 188, -1, 189, -1, 190, -1,
1278 191, -1, 213, 9, 214, -1, 214, -1, 215, -1,
1279 147, 215, -1, 215, 92, 212, -1, 147, 215, 92,
1280 212, -1, 212, -1, 215, 147, 212, -1, 215, -1,
1281 144, 147, 215, -1, 147, 215, -1, 216, -1, 216,
1282 440, -1, 216, 440, -1, 220, 9, 438, 14, 384,
1283 -1, 101, 438, 14, 384, -1, 221, 222, -1, -1,
1284 223, -1, 239, -1, 243, -1, 248, -1, 198, 221,
1285 199, -1, 66, 316, 223, 270, 272, -1, 66, 316,
1286 27, 221, 271, 273, 69, 197, -1, -1, 84, 316,
1287 224, 264, -1, -1, 83, 225, 223, 84, 316, 197,
1288 -1, -1, 86, 195, 318, 197, 318, 197, 318, 196,
1289 226, 262, -1, -1, 93, 316, 227, 267, -1, 97,
1290 197, -1, 97, 325, 197, -1, 99, 197, -1, 99,
1291 325, 197, -1, 102, 197, -1, 102, 325, 197, -1,
1292 148, 97, 197, -1, 107, 280, 197, -1, 113, 282,
1293 197, -1, 82, 317, 197, -1, 115, 195, 434, 196,
1294 197, -1, 197, -1, 77, -1, -1, 88, 195, 325,
1295 92, 261, 260, 196, 228, 263, -1, 90, 195, 266,
1296 196, 265, -1, -1, 103, 231, 104, 195, 377, 75,
1297 196, 198, 221, 199, 233, 229, 236, -1, -1, 103,
1298 231, 162, 230, 234, -1, 105, 325, 197, -1, 98,
1299 212, 197, -1, 325, 197, -1, 319, 197, -1, 320,
1300 197, -1, 321, 197, -1, 322, 197, -1, 323, 197,
1301 -1, 102, 322, 197, -1, 324, 197, -1, 347, 197,
1302 -1, 102, 346, 197, -1, 212, 27, -1, -1, 198,
1303 232, 221, 199, -1, 233, 104, 195, 377, 75, 196,
1304 198, 221, 199, -1, -1, -1, 198, 235, 221, 199,
1305 -1, 162, 234, -1, -1, 32, -1, -1, 100, -1,
1306 -1, 238, 237, 439, 240, 195, 276, 196, 443, 305,
1307 -1, -1, 309, 238, 237, 439, 241, 195, 276, 196,
1308 443, 305, -1, -1, 404, 308, 238, 237, 439, 242,
1309 195, 276, 196, 443, 305, -1, -1, 254, 251, 244,
1310 255, 256, 198, 283, 199, -1, -1, 404, 254, 251,
1311 245, 255, 256, 198, 283, 199, -1, -1, 120, 252,
1312 246, 257, 198, 283, 199, -1, -1, 404, 120, 252,
1313 247, 257, 198, 283, 199, -1, -1, 157, 253, 249,
1314 256, 198, 283, 199, -1, -1, 404, 157, 253, 250,
1315 256, 198, 283, 199, -1, 439, -1, 149, -1, 439,
1316 -1, 439, -1, 119, -1, 112, 119, -1, 111, 119,
1317 -1, 121, 377, -1, -1, 122, 258, -1, -1, 121,
1318 258, -1, -1, 377, -1, 258, 9, 377, -1, 377,
1319 -1, 259, 9, 377, -1, 124, 261, -1, -1, 411,
1320 -1, 32, 411, -1, 125, 195, 423, 196, -1, 223,
1321 -1, 27, 221, 87, 197, -1, 223, -1, 27, 221,
1322 89, 197, -1, 223, -1, 27, 221, 85, 197, -1,
1323 223, -1, 27, 221, 91, 197, -1, 212, 14, 384,
1324 -1, 266, 9, 212, 14, 384, -1, 198, 268, 199,
1325 -1, 198, 197, 268, 199, -1, 27, 268, 94, 197,
1326 -1, 27, 197, 268, 94, 197, -1, 268, 95, 325,
1327 269, 221, -1, 268, 96, 269, 221, -1, -1, 27,
1328 -1, 197, -1, 270, 67, 316, 223, -1, -1, 271,
1329 67, 316, 27, 221, -1, -1, 68, 223, -1, -1,
1330 68, 27, 221, -1, -1, 275, 9, 405, 311, 450,
1331 158, 75, -1, 275, 9, 405, 311, 450, 158, -1,
1332 275, 389, -1, 405, 311, 450, 158, 75, -1, 405,
1333 311, 450, 158, -1, -1, 405, 311, 450, 75, -1,
1334 405, 311, 450, 32, 75, -1, 405, 311, 450, 32,
1335 75, 14, 384, -1, 405, 311, 450, 75, 14, 384,
1336 -1, 275, 9, 405, 311, 450, 75, -1, 275, 9,
1337 405, 311, 450, 32, 75, -1, 275, 9, 405, 311,
1338 450, 32, 75, 14, 384, -1, 275, 9, 405, 311,
1339 450, 75, 14, 384, -1, 277, 9, 405, 450, 158,
1340 75, -1, 277, 9, 405, 450, 158, -1, 277, 389,
1341 -1, 405, 450, 158, 75, -1, 405, 450, 158, -1,
1342 -1, 405, 450, 75, -1, 405, 450, 32, 75, -1,
1343 405, 450, 32, 75, 14, 384, -1, 405, 450, 75,
1344 14, 384, -1, 277, 9, 405, 450, 75, -1, 277,
1345 9, 405, 450, 32, 75, -1, 277, 9, 405, 450,
1346 32, 75, 14, 384, -1, 277, 9, 405, 450, 75,
1347 14, 384, -1, 279, 389, -1, -1, 325, -1, 32,
1348 411, -1, 279, 9, 325, -1, 279, 9, 32, 411,
1349 -1, 280, 9, 281, -1, 281, -1, 75, -1, 200,
1350 411, -1, 200, 198, 325, 199, -1, 282, 9, 75,
1351 -1, 282, 9, 75, 14, 384, -1, 75, -1, 75,
1352 14, 384, -1, 283, 284, -1, -1, -1, 307, 285,
1353 313, 197, -1, -1, 309, 449, 286, 313, 197, -1,
1354 314, 197, -1, -1, 308, 238, 237, 439, 195, 287,
1355 274, 196, 443, 306, -1, -1, 404, 308, 238, 237,
1356 439, 195, 288, 274, 196, 443, 306, -1, 151, 293,
1357 197, -1, 152, 299, 197, -1, 154, 301, 197, -1,
1358 4, 121, 377, 197, -1, 4, 122, 377, 197, -1,
1359 106, 259, 197, -1, 106, 259, 198, 289, 199, -1,
1360 289, 290, -1, 289, 291, -1, -1, 219, 143, 212,
1361 159, 259, 197, -1, 292, 92, 308, 212, 197, -1,
1362 292, 92, 309, 197, -1, 219, 143, 212, -1, 212,
1363 -1, 294, -1, 293, 9, 294, -1, 295, 374, 297,
1364 298, -1, 149, -1, 126, -1, 377, -1, 114, -1,
1365 155, 198, 296, 199, -1, 383, -1, 296, 9, 383,
1366 -1, 14, 384, -1, -1, 52, 156, -1, -1, 300,
1367 -1, 299, 9, 300, -1, 153, -1, 302, -1, 212,
1368 -1, 117, -1, 195, 303, 196, -1, 195, 303, 196,
1369 46, -1, 195, 303, 196, 26, -1, 195, 303, 196,
1370 43, -1, 302, -1, 304, -1, 304, 46, -1, 304,
1371 26, -1, 304, 43, -1, 303, 9, 303, -1, 303,
1372 30, 303, -1, 212, -1, 149, -1, 153, -1, 197,
1373 -1, 198, 221, 199, -1, 197, -1, 198, 221, 199,
1374 -1, 309, -1, 114, -1, 309, -1, -1, 310, -1,
1375 309, 310, -1, 108, -1, 109, -1, 110, -1, 113,
1376 -1, 112, -1, 111, -1, 176, -1, 312, -1, -1,
1377 108, -1, 109, -1, 110, -1, 313, 9, 75, -1,
1378 313, 9, 75, 14, 384, -1, 75, -1, 75, 14,
1379 384, -1, 314, 9, 438, 14, 384, -1, 101, 438,
1380 14, 384, -1, 195, 315, 196, -1, 64, 379, 382,
1381 -1, 63, 325, -1, 366, -1, 342, -1, 195, 325,
1382 196, -1, 317, 9, 325, -1, 325, -1, 317, -1,
1383 -1, 148, 325, -1, 148, 325, 124, 325, -1, 411,
1384 14, 319, -1, 125, 195, 423, 196, 14, 319, -1,
1385 175, 325, -1, 411, 14, 322, -1, 125, 195, 423,
1386 196, 14, 322, -1, 326, -1, 411, -1, 315, -1,
1387 125, 195, 423, 196, 14, 325, -1, 411, 14, 325,
1388 -1, 411, 14, 32, 411, -1, 411, 14, 32, 64,
1389 379, 382, -1, 411, 25, 325, -1, 411, 24, 325,
1390 -1, 411, 23, 325, -1, 411, 22, 325, -1, 411,
1391 21, 325, -1, 411, 20, 325, -1, 411, 19, 325,
1392 -1, 411, 18, 325, -1, 411, 17, 325, -1, 411,
1393 16, 325, -1, 411, 15, 325, -1, 411, 61, -1,
1394 61, 411, -1, 411, 60, -1, 60, 411, -1, 325,
1395 28, 325, -1, 325, 29, 325, -1, 325, 10, 325,
1396 -1, 325, 12, 325, -1, 325, 11, 325, -1, 325,
1397 30, 325, -1, 325, 32, 325, -1, 325, 31, 325,
1398 -1, 325, 45, 325, -1, 325, 43, 325, -1, 325,
1399 44, 325, -1, 325, 46, 325, -1, 325, 47, 325,
1400 -1, 325, 48, 325, -1, 325, 42, 325, -1, 325,
1401 41, 325, -1, 43, 325, -1, 44, 325, -1, 49,
1402 325, -1, 51, 325, -1, 325, 34, 325, -1, 325,
1403 33, 325, -1, 325, 36, 325, -1, 325, 35, 325,
1404 -1, 325, 37, 325, -1, 325, 40, 325, -1, 325,
1405 38, 325, -1, 325, 39, 325, -1, 325, 50, 379,
1406 -1, 195, 326, 196, -1, 325, 26, 325, 27, 325,
1407 -1, 325, 26, 27, 325, -1, 433, -1, 59, 325,
1408 -1, 58, 325, -1, 57, 325, -1, 56, 325, -1,
1409 55, 325, -1, 54, 325, -1, 53, 325, -1, 65,
1410 380, -1, 52, 325, -1, 386, -1, 341, -1, 340,
1411 -1, 201, 381, 201, -1, 13, 325, -1, 328, -1,
1412 331, -1, 344, -1, 106, 195, 365, 389, 196, -1,
1413 -1, -1, 238, 237, 195, 329, 276, 196, 443, 327,
1414 198, 221, 199, -1, -1, 309, 238, 237, 195, 330,
1415 276, 196, 443, 327, 198, 221, 199, -1, -1, 75,
1416 332, 334, -1, -1, 192, 333, 276, 193, 443, 334,
1417 -1, 8, 325, -1, 8, 198, 221, 199, -1, 81,
1418 -1, 336, 9, 335, 124, 325, -1, 335, 124, 325,
1419 -1, 337, 9, 335, 124, 384, -1, 335, 124, 384,
1420 -1, 336, 388, -1, -1, 337, 388, -1, -1, 169,
1421 195, 338, 196, -1, 126, 195, 424, 196, -1, 62,
1422 424, 202, -1, 377, 198, 426, 199, -1, 377, 198,
1423 428, 199, -1, 344, 62, 419, 202, -1, 345, 62,
1424 419, 202, -1, 341, -1, 435, -1, 195, 326, 196,
1425 -1, 348, 349, -1, 411, 14, 346, -1, 178, 75,
1426 181, 325, -1, 350, 361, -1, 350, 361, 364, -1,
1427 361, -1, 361, 364, -1, 351, -1, 350, 351, -1,
1428 352, -1, 353, -1, 354, -1, 355, -1, 356, -1,
1429 357, -1, 178, 75, 181, 325, -1, 185, 75, 14,
1430 325, -1, 179, 325, -1, 180, 75, 181, 325, 182,
1431 325, 183, 325, -1, 180, 75, 181, 325, 182, 325,
1432 183, 325, 184, 75, -1, 186, 358, -1, 359, -1,
1433 358, 9, 359, -1, 325, -1, 325, 360, -1, 187,
1434 -1, 188, -1, 362, -1, 363, -1, 189, 325, -1,
1435 190, 325, 191, 325, -1, 184, 75, 349, -1, 365,
1436 9, 75, -1, 365, 9, 32, 75, -1, 75, -1,
1437 32, 75, -1, 163, 149, 367, 164, -1, 369, 47,
1438 -1, 369, 164, 370, 163, 47, 368, -1, -1, 149,
1439 -1, 369, 371, 14, 372, -1, -1, 370, 373, -1,
1440 -1, 149, -1, 150, -1, 198, 325, 199, -1, 150,
1441 -1, 198, 325, 199, -1, 366, -1, 375, -1, 374,
1442 27, 375, -1, 374, 44, 375, -1, 212, -1, 65,
1443 -1, 100, -1, 101, -1, 102, -1, 148, -1, 175,
1444 -1, 103, -1, 104, -1, 162, -1, 105, -1, 66,
1445 -1, 67, -1, 69, -1, 68, -1, 84, -1, 85,
1446 -1, 83, -1, 86, -1, 87, -1, 88, -1, 89,
1447 -1, 90, -1, 91, -1, 50, -1, 92, -1, 93,
1448 -1, 94, -1, 95, -1, 96, -1, 97, -1, 99,
1449 -1, 98, -1, 82, -1, 13, -1, 119, -1, 120,
1450 -1, 121, -1, 122, -1, 64, -1, 63, -1, 114,
1451 -1, 5, -1, 7, -1, 6, -1, 4, -1, 3,
1452 -1, 144, -1, 106, -1, 107, -1, 116, -1, 117,
1453 -1, 118, -1, 113, -1, 112, -1, 111, -1, 110,
1454 -1, 109, -1, 108, -1, 176, -1, 115, -1, 125,
1455 -1, 126, -1, 10, -1, 12, -1, 11, -1, 128,
1456 -1, 130, -1, 129, -1, 131, -1, 132, -1, 146,
1457 -1, 145, -1, 174, -1, 157, -1, 160, -1, 159,
1458 -1, 170, -1, 172, -1, 169, -1, 218, 195, 278,
1459 196, -1, 219, -1, 149, -1, 377, -1, 113, -1,
1460 417, -1, 377, -1, 113, -1, 421, -1, 195, 196,
1461 -1, 316, -1, -1, -1, 80, -1, 430, -1, 195,
1462 278, 196, -1, -1, 70, -1, 71, -1, 72, -1,
1463 81, -1, 131, -1, 132, -1, 146, -1, 128, -1,
1464 160, -1, 129, -1, 130, -1, 145, -1, 174, -1,
1465 139, 80, 140, -1, 139, 140, -1, 383, -1, 217,
1466 -1, 43, 384, -1, 44, 384, -1, 126, 195, 387,
1467 196, -1, 177, 195, 387, 196, -1, 62, 387, 202,
1468 -1, 169, 195, 339, 196, -1, 385, -1, 343, -1,
1469 219, 143, 212, -1, 149, 143, 212, -1, 219, 143,
1470 119, -1, 217, -1, 74, -1, 435, -1, 383, -1,
1471 203, 430, 203, -1, 204, 430, 204, -1, 139, 430,
1472 140, -1, 390, 388, -1, -1, 9, -1, -1, 9,
1473 -1, -1, 390, 9, 384, 124, 384, -1, 390, 9,
1474 384, -1, 384, 124, 384, -1, 384, -1, 70, -1,
1475 71, -1, 72, -1, 81, -1, 139, 80, 140, -1,
1476 139, 140, -1, 70, -1, 71, -1, 72, -1, 212,
1477 -1, 391, -1, 212, -1, 43, 392, -1, 44, 392,
1478 -1, 126, 195, 394, 196, -1, 177, 195, 394, 196,
1479 -1, 62, 394, 202, -1, 169, 195, 397, 196, -1,
1480 395, 388, -1, -1, 395, 9, 393, 124, 393, -1,
1481 395, 9, 393, -1, 393, 124, 393, -1, 393, -1,
1482 396, 9, 393, -1, 393, -1, 398, 388, -1, -1,
1483 398, 9, 335, 124, 393, -1, 335, 124, 393, -1,
1484 396, 388, -1, -1, 195, 399, 196, -1, -1, 401,
1485 9, 212, 400, -1, 212, 400, -1, -1, 403, 401,
1486 388, -1, 42, 402, 41, -1, 404, -1, -1, 407,
1487 -1, 123, 416, -1, 123, 212, -1, 123, 198, 325,
1488 199, -1, 62, 419, 202, -1, 198, 325, 199, -1,
1489 412, 408, -1, 195, 315, 196, 408, -1, 422, 408,
1490 -1, 195, 315, 196, 408, -1, 416, -1, 376, -1,
1491 414, -1, 415, -1, 409, -1, 411, 406, -1, 195,
1492 315, 196, 406, -1, 378, 143, 416, -1, 413, 195,
1493 278, 196, -1, 195, 411, 196, -1, 376, -1, 414,
1494 -1, 415, -1, 409, -1, 411, 407, -1, 195, 315,
1495 196, 407, -1, 413, 195, 278, 196, -1, 195, 411,
1496 196, -1, 416, -1, 409, -1, 195, 411, 196, -1,
1497 411, 123, 212, 440, 195, 278, 196, -1, 411, 123,
1498 416, 195, 278, 196, -1, 411, 123, 198, 325, 199,
1499 195, 278, 196, -1, 195, 315, 196, 123, 212, 440,
1500 195, 278, 196, -1, 195, 315, 196, 123, 416, 195,
1501 278, 196, -1, 195, 315, 196, 123, 198, 325, 199,
1502 195, 278, 196, -1, 378, 143, 212, 440, 195, 278,
1503 196, -1, 378, 143, 416, 195, 278, 196, -1, 378,
1504 143, 198, 325, 199, 195, 278, 196, -1, 417, -1,
1505 420, 417, -1, 417, 62, 419, 202, -1, 417, 198,
1506 325, 199, -1, 418, -1, 75, -1, 200, 198, 325,
1507 199, -1, 325, -1, -1, 200, -1, 420, 200, -1,
1508 416, -1, 410, -1, 421, 406, -1, 195, 315, 196,
1509 406, -1, 378, 143, 416, -1, 195, 411, 196, -1,
1510 -1, 410, -1, 421, 407, -1, 195, 315, 196, 407,
1511 -1, 195, 411, 196, -1, 423, 9, -1, 423, 9,
1512 411, -1, 423, 9, 125, 195, 423, 196, -1, -1,
1513 411, -1, 125, 195, 423, 196, -1, 425, 388, -1,
1514 -1, 425, 9, 325, 124, 325, -1, 425, 9, 325,
1515 -1, 325, 124, 325, -1, 325, -1, 425, 9, 325,
1516 124, 32, 411, -1, 425, 9, 32, 411, -1, 325,
1517 124, 32, 411, -1, 32, 411, -1, 427, 388, -1,
1518 -1, 427, 9, 325, 124, 325, -1, 427, 9, 325,
1519 -1, 325, 124, 325, -1, 325, -1, 429, 388, -1,
1520 -1, 429, 9, 384, 124, 384, -1, 429, 9, 384,
1521 -1, 384, 124, 384, -1, 384, -1, 430, 431, -1,
1522 430, 80, -1, 431, -1, 80, 431, -1, 75, -1,
1523 75, 62, 432, 202, -1, 75, 123, 212, -1, 141,
1524 325, 199, -1, 141, 74, 62, 325, 202, 199, -1,
1525 142, 411, 199, -1, 212, -1, 76, -1, 75, -1,
1526 116, 195, 434, 196, -1, 117, 195, 411, 196, -1,
1527 117, 195, 326, 196, -1, 117, 195, 315, 196, -1,
1528 7, 325, -1, 6, 325, -1, 5, 195, 325, 196,
1529 -1, 4, 325, -1, 3, 325, -1, 411, -1, 434,
1530 9, 411, -1, 378, 143, 212, -1, 378, 143, 119,
1531 -1, -1, 92, 449, -1, 170, 439, 14, 449, 197,
1532 -1, 172, 439, 436, 14, 449, 197, -1, 212, -1,
1533 449, 212, -1, 212, -1, 212, 165, 444, 166, -1,
1534 165, 441, 166, -1, -1, 449, -1, 441, 9, 449,
1535 -1, 441, 9, 158, -1, 441, -1, 158, -1, -1,
1536 -1, 27, 449, -1, 444, 9, 212, -1, 212, -1,
1537 444, 9, 212, 92, 449, -1, 212, 92, 449, -1,
1538 81, 124, 449, -1, 446, 9, 445, -1, 445, -1,
1539 446, 388, -1, -1, 169, 195, 447, 196, -1, 26,
1540 449, -1, 52, 449, -1, 219, -1, 126, -1, 127,
1541 -1, 448, -1, 126, 165, 449, 166, -1, 126, 165,
1542 449, 9, 449, 166, -1, 149, -1, 195, 100, 195,
1543 442, 196, 27, 449, 196, -1, 195, 441, 9, 449,
1544 196, -1, 449, -1, -1
1547 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1548 static const yytype_uint16 yyrline
[] =
1550 0, 749, 749, 749, 758, 760, 763, 764, 765, 766,
1551 767, 768, 771, 773, 773, 775, 775, 777, 778, 783,
1552 784, 785, 786, 787, 788, 789, 790, 791, 792, 793,
1553 794, 795, 796, 797, 798, 799, 800, 801, 802, 806,
1554 808, 811, 812, 813, 814, 819, 820, 824, 825, 827,
1555 830, 836, 843, 850, 854, 860, 862, 865, 866, 867,
1556 868, 871, 872, 876, 881, 881, 887, 887, 894, 893,
1557 899, 899, 904, 905, 906, 907, 908, 909, 910, 911,
1558 912, 913, 914, 915, 916, 919, 917, 924, 932, 926,
1559 936, 934, 938, 939, 943, 944, 945, 946, 947, 948,
1560 949, 950, 951, 952, 953, 961, 961, 966, 972, 976,
1561 976, 984, 985, 989, 990, 994, 999, 998, 1011, 1009,
1562 1023, 1021, 1037, 1036, 1055, 1053, 1072, 1071, 1080, 1078,
1563 1090, 1089, 1101, 1099, 1112, 1113, 1117, 1120, 1123, 1124,
1564 1125, 1128, 1130, 1133, 1134, 1137, 1138, 1141, 1142, 1146,
1565 1147, 1152, 1153, 1156, 1157, 1158, 1162, 1163, 1167, 1168,
1566 1172, 1173, 1177, 1178, 1183, 1184, 1189, 1190, 1191, 1192,
1567 1195, 1198, 1200, 1203, 1204, 1208, 1210, 1213, 1216, 1219,
1568 1220, 1223, 1224, 1228, 1234, 1241, 1243, 1248, 1254, 1258,
1569 1262, 1266, 1271, 1276, 1281, 1286, 1292, 1301, 1306, 1312,
1570 1314, 1318, 1323, 1327, 1330, 1333, 1337, 1341, 1345, 1349,
1571 1354, 1362, 1364, 1367, 1368, 1369, 1371, 1376, 1377, 1380,
1572 1381, 1382, 1386, 1387, 1389, 1390, 1394, 1396, 1399, 1399,
1573 1403, 1402, 1406, 1410, 1408, 1423, 1420, 1433, 1435, 1437,
1574 1439, 1441, 1443, 1445, 1449, 1450, 1451, 1454, 1460, 1463,
1575 1469, 1472, 1477, 1479, 1484, 1489, 1493, 1494, 1500, 1501,
1576 1506, 1507, 1512, 1513, 1517, 1518, 1522, 1524, 1530, 1535,
1577 1536, 1538, 1542, 1543, 1544, 1545, 1549, 1550, 1551, 1552,
1578 1553, 1554, 1556, 1561, 1564, 1565, 1569, 1570, 1574, 1575,
1579 1578, 1579, 1582, 1583, 1586, 1587, 1591, 1592, 1593, 1594,
1580 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1610, 1612,
1581 1614, 1615, 1618, 1620, 1624, 1625, 1627, 1628, 1629, 1632,
1582 1636, 1637, 1641, 1642, 1646, 1647, 1651, 1655, 1660, 1664,
1583 1668, 1673, 1674, 1675, 1678, 1680, 1681, 1682, 1685, 1686,
1584 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696,
1585 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706,
1586 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716,
1587 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1727,
1588 1728, 1730, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739,
1589 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749,
1590 1750, 1751, 1752, 1756, 1760, 1765, 1764, 1779, 1777, 1794,
1591 1794, 1809, 1809, 1827, 1828, 1833, 1838, 1842, 1848, 1852,
1592 1858, 1860, 1864, 1866, 1870, 1874, 1875, 1879, 1886, 1893,
1593 1895, 1900, 1901, 1902, 1906, 1910, 1914, 1918, 1920, 1922,
1594 1924, 1929, 1930, 1935, 1936, 1937, 1938, 1939, 1940, 1944,
1595 1948, 1952, 1956, 1961, 1966, 1970, 1971, 1975, 1976, 1980,
1596 1981, 1985, 1986, 1990, 1994, 1998, 2002, 2003, 2004, 2005,
1597 2009, 2015, 2024, 2037, 2038, 2041, 2044, 2047, 2048, 2051,
1598 2055, 2058, 2061, 2068, 2069, 2073, 2074, 2076, 2080, 2081,
1599 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091,
1600 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101,
1601 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111,
1602 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121,
1603 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131,
1604 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141,
1605 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151,
1606 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2163, 2168,
1607 2169, 2172, 2173, 2174, 2178, 2179, 2180, 2184, 2185, 2186,
1608 2190, 2191, 2192, 2195, 2197, 2201, 2202, 2203, 2204, 2206,
1609 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2218,
1610 2223, 2224, 2225, 2226, 2227, 2229, 2231, 2232, 2234, 2235,
1611 2239, 2242, 2245, 2251, 2252, 2253, 2254, 2255, 2256, 2257,
1612 2262, 2264, 2268, 2269, 2272, 2273, 2277, 2280, 2282, 2284,
1613 2288, 2289, 2290, 2291, 2293, 2296, 2300, 2301, 2302, 2303,
1614 2306, 2307, 2308, 2309, 2310, 2312, 2314, 2315, 2320, 2322,
1615 2325, 2328, 2330, 2332, 2335, 2337, 2341, 2343, 2346, 2349,
1616 2355, 2357, 2360, 2361, 2366, 2369, 2373, 2373, 2378, 2381,
1617 2382, 2386, 2387, 2392, 2393, 2397, 2398, 2402, 2403, 2408,
1618 2410, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2423, 2426,
1619 2428, 2432, 2433, 2434, 2435, 2436, 2438, 2440, 2442, 2446,
1620 2447, 2448, 2452, 2455, 2458, 2461, 2465, 2469, 2476, 2480,
1621 2484, 2491, 2492, 2497, 2499, 2500, 2503, 2504, 2507, 2508,
1622 2512, 2513, 2517, 2518, 2519, 2520, 2522, 2525, 2528, 2529,
1623 2530, 2532, 2534, 2538, 2539, 2540, 2542, 2543, 2544, 2548,
1624 2550, 2553, 2555, 2556, 2557, 2558, 2561, 2563, 2564, 2568,
1625 2570, 2573, 2575, 2576, 2577, 2581, 2583, 2586, 2589, 2591,
1626 2593, 2597, 2598, 2600, 2601, 2607, 2608, 2610, 2612, 2614,
1627 2616, 2619, 2620, 2621, 2625, 2626, 2627, 2628, 2629, 2630,
1628 2631, 2632, 2633, 2637, 2638, 2642, 2644, 2652, 2654, 2658,
1629 2662, 2669, 2670, 2676, 2677, 2684, 2687, 2691, 2694, 2699,
1630 2700, 2701, 2702, 2706, 2707, 2711, 2713, 2714, 2716, 2720,
1631 2726, 2728, 2732, 2735, 2738, 2746, 2749, 2752, 2753, 2756,
1632 2759, 2760, 2763, 2767, 2771, 2777, 2785, 2786
1636 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1637 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1638 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1639 static const char *const yytname
[] =
1641 "$end", "error", "$undefined", "T_REQUIRE_ONCE", "T_REQUIRE", "T_EVAL",
1642 "T_INCLUDE_ONCE", "T_INCLUDE", "T_LAMBDA_ARROW", "','", "T_LOGICAL_OR",
1643 "T_LOGICAL_XOR", "T_LOGICAL_AND", "T_PRINT", "'='", "T_SR_EQUAL",
1644 "T_SL_EQUAL", "T_XOR_EQUAL", "T_OR_EQUAL", "T_AND_EQUAL", "T_MOD_EQUAL",
1645 "T_CONCAT_EQUAL", "T_DIV_EQUAL", "T_MUL_EQUAL", "T_MINUS_EQUAL",
1646 "T_PLUS_EQUAL", "'?'", "':'", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'",
1647 "'^'", "'&'", "T_IS_NOT_IDENTICAL", "T_IS_IDENTICAL", "T_IS_NOT_EQUAL",
1648 "T_IS_EQUAL", "'<'", "'>'", "T_IS_GREATER_OR_EQUAL",
1649 "T_IS_SMALLER_OR_EQUAL", "T_SR", "T_SL", "'+'", "'-'", "'.'", "'*'",
1650 "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "'@'", "T_UNSET_CAST",
1651 "T_BOOL_CAST", "T_OBJECT_CAST", "T_ARRAY_CAST", "T_STRING_CAST",
1652 "T_DOUBLE_CAST", "T_INT_CAST", "T_DEC", "T_INC", "'['", "T_CLONE",
1653 "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER",
1654 "T_DNUMBER", "T_ONUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE",
1655 "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER", "T_BAD_CHARACTER",
1656 "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO",
1657 "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH",
1658 "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH",
1659 "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_GOTO", "T_CONTINUE",
1660 "T_FUNCTION", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_THROW",
1661 "T_USE", "T_GLOBAL", "T_PUBLIC", "T_PROTECTED", "T_PRIVATE", "T_FINAL",
1662 "T_ABSTRACT", "T_STATIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY",
1663 "T_HALT_COMPILER", "T_CLASS", "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS",
1664 "T_OBJECT_OPERATOR", "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CALLABLE",
1665 "T_CLASS_C", "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE", "T_COMMENT",
1666 "T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG",
1667 "T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC",
1668 "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_DOUBLE_COLON",
1669 "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "T_YIELD",
1670 "T_XHP_LABEL", "T_XHP_TEXT", "T_XHP_ATTRIBUTE", "T_XHP_CATEGORY",
1671 "T_XHP_CATEGORY_LABEL", "T_XHP_CHILDREN", "T_XHP_ENUM", "T_XHP_REQUIRED",
1672 "T_TRAIT", "\"...\"", "T_INSTEADOF", "T_TRAIT_C", "T_HH_ERROR",
1673 "T_FINALLY", "T_XHP_TAG_LT", "T_XHP_TAG_GT", "T_TYPELIST_LT",
1674 "T_TYPELIST_GT", "T_UNRESOLVED_LT", "T_COLLECTION", "T_SHAPE", "T_TYPE",
1675 "T_UNRESOLVED_TYPE", "T_NEWTYPE", "T_UNRESOLVED_NEWTYPE",
1676 "T_COMPILER_HALT_OFFSET", "T_AWAIT", "T_ASYNC", "T_TUPLE", "T_FROM",
1677 "T_WHERE", "T_JOIN", "T_IN", "T_ON", "T_EQUALS", "T_INTO", "T_LET",
1678 "T_ORDERBY", "T_ASCENDING", "T_DESCENDING", "T_SELECT", "T_GROUP",
1679 "T_BY", "T_LAMBDA_OP", "T_LAMBDA_CP", "T_UNRESOLVED_OP", "'('", "')'",
1680 "';'", "'{'", "'}'", "'$'", "'`'", "']'", "'\"'", "'\\''", "$accept",
1681 "start", "$@1", "top_statement_list", "top_statement", "$@2", "$@3",
1682 "ident", "use_declarations", "use_declaration", "namespace_name",
1683 "namespace_string_base", "namespace_string", "namespace_string_typeargs",
1684 "class_namespace_string_typeargs", "constant_declaration",
1685 "inner_statement_list", "inner_statement", "statement", "$@4", "$@5",
1686 "$@6", "$@7", "$@8", "$@9", "$@10", "try_statement_list", "$@11",
1687 "additional_catches", "finally_statement_list", "$@12",
1688 "optional_finally", "is_reference", "function_loc",
1689 "function_declaration_statement", "$@13", "$@14", "$@15",
1690 "class_declaration_statement", "$@16", "$@17", "$@18", "$@19",
1691 "trait_declaration_statement", "$@20", "$@21", "class_decl_name",
1692 "interface_decl_name", "trait_decl_name", "class_entry_type",
1693 "extends_from", "implements_list", "interface_extends_list",
1694 "interface_list", "trait_list", "foreach_optional_arg",
1695 "foreach_variable", "for_statement", "foreach_statement",
1696 "while_statement", "declare_statement", "declare_list",
1697 "switch_case_list", "case_list", "case_separator", "elseif_list",
1698 "new_elseif_list", "else_single", "new_else_single",
1699 "method_parameter_list", "non_empty_method_parameter_list",
1700 "parameter_list", "non_empty_parameter_list",
1701 "function_call_parameter_list", "non_empty_fcall_parameter_list",
1702 "global_var_list", "global_var", "static_var_list",
1703 "class_statement_list", "class_statement", "$@22", "$@23", "$@24",
1704 "$@25", "trait_rules", "trait_precedence_rule", "trait_alias_rule",
1705 "trait_alias_rule_method", "xhp_attribute_stmt", "xhp_attribute_decl",
1706 "xhp_attribute_decl_type", "xhp_attribute_enum", "xhp_attribute_default",
1707 "xhp_attribute_is_required", "xhp_category_stmt", "xhp_category_decl",
1708 "xhp_children_stmt", "xhp_children_paren_expr", "xhp_children_decl_expr",
1709 "xhp_children_decl_tag", "function_body", "method_body",
1710 "variable_modifiers", "method_modifiers", "non_empty_member_modifiers",
1711 "member_modifier", "parameter_modifiers", "parameter_modifier",
1712 "class_variable_declaration", "class_constant_declaration",
1713 "expr_with_parens", "parenthesis_expr", "expr_list", "for_expr",
1714 "yield_expr", "yield_assign_expr", "yield_list_assign_expr",
1715 "await_expr", "await_assign_expr", "await_list_assign_expr", "expr",
1716 "expr_no_variable", "lambda_use_vars", "closure_expression", "$@26",
1717 "$@27", "lambda_expression", "$@28", "$@29", "lambda_body",
1718 "shape_keyname", "non_empty_shape_pair_list",
1719 "non_empty_static_shape_pair_list", "shape_pair_list",
1720 "static_shape_pair_list", "shape_literal", "array_literal",
1721 "collection_literal", "static_collection_literal", "dim_expr",
1722 "dim_expr_base", "query_expr", "query_assign_expr", "query_head",
1723 "query_body", "query_body_clauses", "query_body_clause", "from_clause",
1724 "let_clause", "where_clause", "join_clause", "join_into_clause",
1725 "orderby_clause", "orderings", "ordering", "ordering_direction",
1726 "select_or_group_clause", "select_clause", "group_clause",
1727 "query_continuation", "lexical_var_list", "xhp_tag", "xhp_tag_body",
1728 "xhp_opt_end_label", "xhp_attributes", "xhp_children",
1729 "xhp_attribute_name", "xhp_attribute_value", "xhp_child", "xhp_label_ws",
1730 "xhp_bareword", "simple_function_call", "fully_qualified_class_name",
1731 "static_class_name", "class_name_reference", "exit_expr",
1732 "backticks_expr", "ctor_arguments", "common_scalar", "static_scalar",
1733 "static_class_constant", "scalar", "static_array_pair_list",
1734 "possible_comma", "hh_possible_comma",
1735 "non_empty_static_array_pair_list", "common_scalar_ae",
1736 "static_numeric_scalar_ae", "static_scalar_ae",
1737 "static_array_pair_list_ae", "non_empty_static_array_pair_list_ae",
1738 "non_empty_static_scalar_list_ae", "static_shape_pair_list_ae",
1739 "non_empty_static_shape_pair_list_ae", "static_scalar_list_ae",
1740 "attribute_static_scalar_list", "non_empty_user_attribute_list",
1741 "user_attribute_list", "$@30", "non_empty_user_attributes",
1742 "optional_user_attributes", "property_access",
1743 "property_access_without_variables", "array_access",
1744 "dimmable_variable_access", "dimmable_variable_no_calls_access",
1745 "variable", "dimmable_variable", "callable_variable",
1746 "object_method_call", "class_method_call", "variable_without_objects",
1747 "reference_variable", "compound_variable", "dim_offset",
1748 "simple_indirect_reference", "variable_no_calls",
1749 "dimmable_variable_no_calls", "assignment_list", "array_pair_list",
1750 "non_empty_array_pair_list", "collection_init",
1751 "non_empty_collection_init", "static_collection_init",
1752 "non_empty_static_collection_init", "encaps_list", "encaps_var",
1753 "encaps_var_offset", "internal_functions", "variable_list",
1754 "class_constant", "hh_opt_constraint", "hh_type_alias_statement",
1755 "hh_name_with_type", "hh_name_with_typevar", "hh_typeargs_opt",
1756 "hh_type_list", "hh_func_type_list", "hh_opt_return_type",
1757 "hh_typevar_list", "hh_shape_member_type",
1758 "hh_non_empty_shape_member_list", "hh_shape_member_list",
1759 "hh_shape_type", "hh_type", "hh_type_opt", 0
1764 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1766 static const yytype_uint16 yytoknum
[] =
1768 0, 256, 257, 258, 259, 260, 261, 262, 263, 44,
1769 264, 265, 266, 267, 61, 268, 269, 270, 271, 272,
1770 273, 274, 275, 276, 277, 278, 63, 58, 279, 280,
1771 124, 94, 38, 281, 282, 283, 284, 60, 62, 285,
1772 286, 287, 288, 43, 45, 46, 42, 47, 37, 33,
1773 289, 126, 64, 290, 291, 292, 293, 294, 295, 296,
1774 297, 298, 91, 299, 300, 301, 302, 303, 304, 305,
1775 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1776 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1777 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
1778 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1779 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
1780 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
1781 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1782 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1783 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
1784 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
1785 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1786 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
1787 426, 427, 428, 429, 430, 40, 41, 59, 123, 125,
1792 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1793 static const yytype_uint16 yyr1
[] =
1795 0, 205, 207, 206, 208, 208, 209, 209, 209, 209,
1796 209, 209, 209, 210, 209, 211, 209, 209, 209, 212,
1797 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1798 212, 212, 212, 212, 212, 212, 212, 212, 212, 213,
1799 213, 214, 214, 214, 214, 215, 215, 216, 216, 216,
1800 217, 218, 219, 220, 220, 221, 221, 222, 222, 222,
1801 222, 223, 223, 223, 224, 223, 225, 223, 226, 223,
1802 227, 223, 223, 223, 223, 223, 223, 223, 223, 223,
1803 223, 223, 223, 223, 223, 228, 223, 223, 229, 223,
1804 230, 223, 223, 223, 223, 223, 223, 223, 223, 223,
1805 223, 223, 223, 223, 223, 232, 231, 233, 233, 235,
1806 234, 236, 236, 237, 237, 238, 240, 239, 241, 239,
1807 242, 239, 244, 243, 245, 243, 246, 243, 247, 243,
1808 249, 248, 250, 248, 251, 251, 252, 253, 254, 254,
1809 254, 255, 255, 256, 256, 257, 257, 258, 258, 259,
1810 259, 260, 260, 261, 261, 261, 262, 262, 263, 263,
1811 264, 264, 265, 265, 266, 266, 267, 267, 267, 267,
1812 268, 268, 268, 269, 269, 270, 270, 271, 271, 272,
1813 272, 273, 273, 274, 274, 274, 274, 274, 274, 275,
1814 275, 275, 275, 275, 275, 275, 275, 276, 276, 276,
1815 276, 276, 276, 277, 277, 277, 277, 277, 277, 277,
1816 277, 278, 278, 279, 279, 279, 279, 280, 280, 281,
1817 281, 281, 282, 282, 282, 282, 283, 283, 285, 284,
1818 286, 284, 284, 287, 284, 288, 284, 284, 284, 284,
1819 284, 284, 284, 284, 289, 289, 289, 290, 291, 291,
1820 292, 292, 293, 293, 294, 294, 295, 295, 295, 295,
1821 296, 296, 297, 297, 298, 298, 299, 299, 300, 301,
1822 301, 301, 302, 302, 302, 302, 303, 303, 303, 303,
1823 303, 303, 303, 304, 304, 304, 305, 305, 306, 306,
1824 307, 307, 308, 308, 309, 309, 310, 310, 310, 310,
1825 310, 310, 310, 311, 311, 312, 312, 312, 313, 313,
1826 313, 313, 314, 314, 315, 315, 315, 315, 315, 316,
1827 317, 317, 318, 318, 319, 319, 320, 321, 322, 323,
1828 324, 325, 325, 325, 326, 326, 326, 326, 326, 326,
1829 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1830 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1831 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1832 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1833 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1834 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1835 326, 326, 326, 327, 327, 329, 328, 330, 328, 332,
1836 331, 333, 331, 334, 334, 335, 336, 336, 337, 337,
1837 338, 338, 339, 339, 340, 341, 341, 342, 343, 344,
1838 344, 345, 345, 345, 346, 347, 348, 349, 349, 349,
1839 349, 350, 350, 351, 351, 351, 351, 351, 351, 352,
1840 353, 354, 355, 356, 357, 358, 358, 359, 359, 360,
1841 360, 361, 361, 362, 363, 364, 365, 365, 365, 365,
1842 366, 367, 367, 368, 368, 369, 369, 370, 370, 371,
1843 372, 372, 373, 373, 373, 374, 374, 374, 375, 375,
1844 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1845 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1846 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1847 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1848 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1849 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1850 375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1851 375, 375, 375, 375, 375, 375, 375, 375, 376, 377,
1852 377, 378, 378, 378, 379, 379, 379, 380, 380, 380,
1853 381, 381, 381, 382, 382, 383, 383, 383, 383, 383,
1854 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
1855 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
1856 385, 385, 385, 386, 386, 386, 386, 386, 386, 386,
1857 387, 387, 388, 388, 389, 389, 390, 390, 390, 390,
1858 391, 391, 391, 391, 391, 391, 392, 392, 392, 392,
1859 393, 393, 393, 393, 393, 393, 393, 393, 394, 394,
1860 395, 395, 395, 395, 396, 396, 397, 397, 398, 398,
1861 399, 399, 400, 400, 401, 401, 403, 402, 404, 405,
1862 405, 406, 406, 407, 407, 408, 408, 409, 409, 410,
1863 410, 411, 411, 411, 411, 411, 411, 411, 411, 411,
1864 411, 412, 412, 412, 412, 412, 412, 412, 412, 413,
1865 413, 413, 414, 414, 414, 414, 414, 414, 415, 415,
1866 415, 416, 416, 417, 417, 417, 418, 418, 419, 419,
1867 420, 420, 421, 421, 421, 421, 421, 421, 422, 422,
1868 422, 422, 422, 423, 423, 423, 423, 423, 423, 424,
1869 424, 425, 425, 425, 425, 425, 425, 425, 425, 426,
1870 426, 427, 427, 427, 427, 428, 428, 429, 429, 429,
1871 429, 430, 430, 430, 430, 431, 431, 431, 431, 431,
1872 431, 432, 432, 432, 433, 433, 433, 433, 433, 433,
1873 433, 433, 433, 434, 434, 435, 435, 436, 436, 437,
1874 437, 438, 438, 439, 439, 440, 440, 441, 441, 442,
1875 442, 442, 442, 443, 443, 444, 444, 444, 444, 445,
1876 446, 446, 447, 447, 448, 449, 449, 449, 449, 449,
1877 449, 449, 449, 449, 449, 449, 450, 450
1880 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1881 static const yytype_uint8 yyr2
[] =
1883 0, 2, 0, 2, 2, 0, 1, 1, 1, 1,
1884 1, 4, 3, 0, 6, 0, 5, 3, 2, 1,
1885 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1886 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1887 1, 1, 2, 3, 4, 1, 3, 1, 3, 2,
1888 1, 2, 2, 5, 4, 2, 0, 1, 1, 1,
1889 1, 3, 5, 8, 0, 4, 0, 6, 0, 10,
1890 0, 4, 2, 3, 2, 3, 2, 3, 3, 3,
1891 3, 3, 5, 1, 1, 0, 9, 5, 0, 13,
1892 0, 5, 3, 3, 2, 2, 2, 2, 2, 2,
1893 3, 2, 2, 3, 2, 0, 4, 9, 0, 0,
1894 4, 2, 0, 1, 0, 1, 0, 9, 0, 10,
1895 0, 11, 0, 8, 0, 9, 0, 7, 0, 8,
1896 0, 7, 0, 8, 1, 1, 1, 1, 1, 2,
1897 2, 2, 0, 2, 0, 2, 0, 1, 3, 1,
1898 3, 2, 0, 1, 2, 4, 1, 4, 1, 4,
1899 1, 4, 1, 4, 3, 5, 3, 4, 4, 5,
1900 5, 4, 0, 1, 1, 4, 0, 5, 0, 2,
1901 0, 3, 0, 7, 6, 2, 5, 4, 0, 4,
1902 5, 7, 6, 6, 7, 9, 8, 6, 5, 2,
1903 4, 3, 0, 3, 4, 6, 5, 5, 6, 8,
1904 7, 2, 0, 1, 2, 3, 4, 3, 1, 1,
1905 2, 4, 3, 5, 1, 3, 2, 0, 0, 4,
1906 0, 5, 2, 0, 10, 0, 11, 3, 3, 3,
1907 4, 4, 3, 5, 2, 2, 0, 6, 5, 4,
1908 3, 1, 1, 3, 4, 1, 1, 1, 1, 4,
1909 1, 3, 2, 0, 2, 0, 1, 3, 1, 1,
1910 1, 1, 3, 4, 4, 4, 1, 1, 2, 2,
1911 2, 3, 3, 1, 1, 1, 1, 3, 1, 3,
1912 1, 1, 1, 0, 1, 2, 1, 1, 1, 1,
1913 1, 1, 1, 1, 0, 1, 1, 1, 3, 5,
1914 1, 3, 5, 4, 3, 3, 2, 1, 1, 3,
1915 3, 1, 1, 0, 2, 4, 3, 6, 2, 3,
1916 6, 1, 1, 1, 6, 3, 4, 6, 3, 3,
1917 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
1918 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
1919 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
1920 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
1921 3, 3, 3, 5, 4, 1, 2, 2, 2, 2,
1922 2, 2, 2, 2, 2, 1, 1, 1, 3, 2,
1923 1, 1, 1, 5, 0, 0, 11, 0, 12, 0,
1924 3, 0, 6, 2, 4, 1, 5, 3, 5, 3,
1925 2, 0, 2, 0, 4, 4, 3, 4, 4, 4,
1926 4, 1, 1, 3, 2, 3, 4, 2, 3, 1,
1927 2, 1, 2, 1, 1, 1, 1, 1, 1, 4,
1928 4, 2, 8, 10, 2, 1, 3, 1, 2, 1,
1929 1, 1, 1, 2, 4, 3, 3, 4, 1, 2,
1930 4, 2, 6, 0, 1, 4, 0, 2, 0, 1,
1931 1, 3, 1, 3, 1, 1, 3, 3, 1, 1,
1932 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1933 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1934 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1935 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1936 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1937 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1938 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1939 1, 1, 1, 1, 1, 1, 1, 1, 4, 1,
1940 1, 1, 1, 1, 1, 1, 1, 2, 1, 0,
1941 0, 1, 1, 3, 0, 1, 1, 1, 1, 1,
1942 1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
1943 1, 1, 2, 2, 4, 4, 3, 4, 1, 1,
1944 3, 3, 3, 1, 1, 1, 1, 3, 3, 3,
1945 2, 0, 1, 0, 1, 0, 5, 3, 3, 1,
1946 1, 1, 1, 1, 3, 2, 1, 1, 1, 1,
1947 1, 1, 2, 2, 4, 4, 3, 4, 2, 0,
1948 5, 3, 3, 1, 3, 1, 2, 0, 5, 3,
1949 2, 0, 3, 0, 4, 2, 0, 3, 3, 1,
1950 0, 1, 2, 2, 4, 3, 3, 2, 4, 2,
1951 4, 1, 1, 1, 1, 1, 2, 4, 3, 4,
1952 3, 1, 1, 1, 1, 2, 4, 4, 3, 1,
1953 1, 3, 7, 6, 8, 9, 8, 10, 7, 6,
1954 8, 1, 2, 4, 4, 1, 1, 4, 1, 0,
1955 1, 2, 1, 1, 2, 4, 3, 3, 0, 1,
1956 2, 4, 3, 2, 3, 6, 0, 1, 4, 2,
1957 0, 5, 3, 3, 1, 6, 4, 4, 2, 2,
1958 0, 5, 3, 3, 1, 2, 0, 5, 3, 3,
1959 1, 2, 2, 1, 2, 1, 4, 3, 3, 6,
1960 3, 1, 1, 1, 4, 4, 4, 4, 2, 2,
1961 4, 2, 2, 1, 3, 3, 3, 0, 2, 5,
1962 6, 1, 2, 1, 4, 3, 0, 1, 3, 3,
1963 1, 1, 0, 0, 2, 3, 1, 5, 3, 3,
1964 3, 1, 2, 0, 4, 2, 2, 1, 1, 1,
1965 1, 4, 6, 1, 8, 5, 1, 0
1968 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1969 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1970 means the default is an error. */
1971 static const yytype_uint16 yydefact
[] =
1973 2, 0, 5, 1, 3, 0, 0, 0, 0, 0,
1974 0, 666, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 740, 0, 728, 579,
1976 0, 585, 586, 587, 19, 614, 716, 84, 588, 0,
1977 66, 0, 0, 0, 0, 0, 0, 0, 0, 115,
1978 0, 0, 0, 0, 0, 0, 296, 297, 298, 301,
1979 300, 299, 0, 0, 0, 0, 138, 0, 0, 0,
1980 592, 594, 595, 589, 590, 0, 0, 596, 591, 0,
1981 0, 570, 20, 21, 22, 24, 23, 0, 593, 0,
1982 0, 0, 0, 597, 0, 302, 25, 26, 27, 29,
1983 28, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1984 411, 0, 83, 56, 720, 580, 0, 0, 4, 45,
1985 47, 50, 613, 0, 569, 0, 6, 114, 7, 8,
1986 9, 0, 0, 294, 333, 0, 0, 0, 0, 0,
1987 0, 0, 331, 400, 401, 397, 396, 318, 402, 0,
1988 0, 317, 682, 571, 0, 616, 395, 293, 685, 332,
1989 0, 0, 683, 684, 681, 711, 715, 0, 385, 615,
1990 10, 301, 300, 299, 0, 0, 45, 114, 0, 782,
1991 332, 781, 0, 779, 778, 399, 0, 0, 369, 370,
1992 371, 372, 394, 392, 391, 390, 389, 388, 387, 386,
1993 716, 572, 0, 796, 571, 0, 352, 350, 0, 744,
1994 0, 623, 316, 575, 0, 796, 574, 0, 584, 723,
1995 722, 576, 0, 0, 578, 393, 0, 0, 0, 0,
1996 321, 0, 64, 323, 0, 0, 70, 72, 0, 0,
1997 74, 0, 0, 0, 818, 819, 823, 0, 0, 45,
1998 817, 0, 820, 0, 0, 76, 0, 0, 0, 0,
1999 105, 0, 0, 0, 0, 40, 41, 219, 0, 0,
2000 218, 140, 139, 224, 0, 0, 0, 0, 0, 793,
2001 126, 136, 736, 740, 765, 0, 599, 0, 0, 0,
2002 763, 0, 15, 0, 49, 0, 324, 130, 137, 476,
2003 421, 0, 787, 328, 670, 333, 0, 331, 332, 0,
2004 0, 581, 0, 582, 0, 0, 0, 104, 0, 0,
2005 52, 212, 0, 18, 113, 0, 135, 122, 134, 299,
2006 114, 295, 95, 96, 97, 98, 99, 101, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 728, 94, 719, 719, 102, 750, 0,
2010 0, 0, 0, 0, 292, 0, 0, 0, 0, 0,
2011 0, 0, 0, 0, 0, 0, 0, 351, 349, 0,
2012 686, 671, 719, 0, 677, 212, 719, 0, 721, 712,
2013 736, 0, 114, 0, 0, 668, 663, 623, 0, 0,
2014 0, 0, 748, 0, 426, 622, 739, 0, 0, 52,
2015 0, 212, 315, 0, 724, 671, 679, 577, 0, 56,
2016 176, 0, 410, 0, 81, 0, 0, 322, 0, 0,
2017 0, 0, 0, 73, 93, 75, 815, 816, 0, 813,
2018 0, 0, 797, 0, 792, 0, 100, 77, 103, 0,
2019 0, 0, 0, 0, 0, 0, 434, 0, 441, 443,
2020 444, 445, 446, 447, 448, 439, 461, 462, 56, 0,
2021 90, 92, 42, 0, 17, 0, 0, 220, 0, 79,
2022 0, 0, 80, 783, 0, 0, 333, 331, 332, 0,
2023 0, 146, 0, 737, 0, 0, 0, 0, 598, 764,
2024 614, 0, 0, 762, 619, 761, 48, 5, 12, 13,
2025 78, 0, 144, 0, 0, 415, 0, 623, 0, 0,
2026 0, 0, 0, 625, 669, 827, 314, 382, 690, 61,
2027 55, 57, 58, 59, 60, 0, 398, 617, 618, 46,
2028 0, 0, 0, 625, 213, 0, 405, 116, 142, 0,
2029 355, 357, 356, 0, 0, 353, 354, 358, 360, 359,
2030 374, 373, 376, 375, 377, 379, 380, 378, 368, 367,
2031 362, 363, 361, 364, 365, 366, 381, 718, 0, 0,
2032 754, 0, 623, 786, 0, 785, 688, 711, 128, 132,
2033 124, 114, 0, 0, 326, 329, 335, 435, 348, 347,
2034 346, 345, 344, 343, 342, 341, 340, 339, 338, 0,
2035 673, 672, 0, 0, 0, 0, 0, 0, 0, 780,
2036 661, 665, 622, 667, 0, 0, 796, 0, 743, 0,
2037 742, 0, 727, 726, 0, 0, 673, 672, 319, 178,
2038 180, 56, 413, 320, 0, 56, 160, 65, 323, 0,
2039 0, 0, 0, 172, 172, 71, 0, 0, 811, 623,
2040 0, 802, 0, 0, 0, 621, 0, 0, 570, 0,
2041 25, 50, 601, 569, 609, 0, 600, 54, 608, 0,
2042 0, 451, 0, 0, 457, 454, 455, 463, 0, 442,
2043 437, 0, 440, 0, 0, 0, 0, 39, 43, 0,
2044 217, 225, 222, 0, 0, 774, 777, 776, 775, 11,
2045 806, 0, 0, 0, 736, 733, 0, 425, 773, 772,
2046 771, 0, 767, 0, 768, 770, 0, 5, 325, 0,
2047 0, 470, 471, 479, 478, 0, 0, 622, 420, 424,
2048 0, 788, 0, 803, 670, 199, 826, 0, 0, 687,
2049 671, 678, 717, 0, 795, 214, 568, 624, 211, 0,
2050 670, 0, 0, 144, 407, 118, 384, 0, 429, 430,
2051 0, 427, 622, 749, 0, 0, 212, 146, 144, 142,
2052 0, 728, 336, 0, 0, 212, 675, 676, 689, 713,
2053 714, 0, 0, 0, 649, 630, 631, 632, 633, 0,
2054 0, 0, 25, 641, 640, 655, 623, 0, 663, 747,
2055 746, 0, 725, 671, 680, 583, 0, 182, 0, 0,
2056 62, 0, 0, 0, 0, 0, 0, 152, 153, 164,
2057 0, 56, 162, 87, 172, 0, 172, 0, 0, 821,
2058 0, 622, 812, 814, 801, 800, 0, 798, 602, 603,
2059 629, 0, 623, 621, 0, 0, 423, 621, 0, 756,
2060 436, 0, 0, 0, 459, 460, 458, 0, 0, 438,
2061 0, 106, 0, 109, 91, 44, 221, 0, 784, 82,
2062 0, 0, 794, 145, 147, 227, 0, 0, 734, 0,
2063 766, 0, 16, 0, 143, 227, 0, 0, 417, 0,
2064 789, 0, 0, 0, 827, 0, 203, 201, 0, 673,
2065 672, 798, 0, 215, 53, 0, 670, 141, 0, 670,
2066 0, 383, 753, 752, 0, 212, 0, 0, 0, 144,
2067 120, 584, 674, 212, 0, 0, 636, 637, 638, 639,
2068 642, 643, 653, 0, 623, 649, 0, 635, 657, 649,
2069 622, 660, 662, 664, 0, 741, 674, 0, 0, 0,
2070 0, 179, 414, 67, 0, 323, 154, 736, 0, 0,
2071 0, 0, 0, 0, 0, 0, 0, 166, 0, 809,
2072 810, 0, 0, 825, 0, 606, 622, 620, 0, 611,
2073 0, 623, 0, 0, 612, 610, 760, 0, 623, 449,
2074 0, 450, 456, 464, 465, 0, 56, 223, 808, 805,
2075 0, 293, 738, 736, 327, 330, 334, 0, 14, 293,
2076 482, 0, 0, 484, 477, 480, 0, 475, 0, 790,
2077 804, 412, 0, 204, 0, 200, 0, 0, 212, 216,
2078 803, 0, 227, 0, 670, 0, 212, 0, 709, 227,
2079 227, 0, 0, 337, 212, 0, 703, 0, 646, 622,
2080 648, 0, 634, 0, 0, 623, 0, 654, 745, 0,
2081 56, 0, 175, 161, 0, 0, 151, 85, 165, 0,
2082 0, 168, 0, 173, 174, 56, 167, 822, 799, 0,
2083 628, 627, 604, 0, 622, 422, 607, 605, 0, 428,
2084 622, 755, 0, 0, 0, 0, 148, 0, 0, 0,
2085 291, 0, 0, 0, 127, 226, 228, 0, 290, 0,
2086 293, 0, 769, 131, 473, 0, 0, 416, 0, 207,
2087 198, 0, 206, 674, 212, 0, 404, 803, 293, 803,
2088 0, 751, 0, 708, 293, 293, 227, 670, 0, 702,
2089 652, 651, 644, 0, 647, 622, 656, 645, 56, 181,
2090 63, 68, 155, 0, 163, 169, 56, 171, 0, 0,
2091 419, 0, 759, 758, 0, 56, 110, 807, 0, 0,
2092 0, 0, 149, 258, 256, 570, 24, 0, 252, 0,
2093 257, 268, 0, 266, 271, 0, 270, 0, 269, 0,
2094 114, 230, 0, 232, 0, 735, 474, 472, 483, 481,
2095 208, 0, 197, 205, 212, 0, 706, 0, 0, 0,
2096 123, 404, 803, 710, 129, 133, 293, 0, 704, 0,
2097 659, 0, 177, 0, 56, 158, 86, 170, 824, 626,
2098 0, 0, 0, 0, 0, 0, 0, 0, 242, 246,
2099 0, 0, 237, 534, 533, 530, 532, 531, 551, 553,
2100 552, 522, 512, 528, 527, 489, 499, 500, 502, 501,
2101 521, 505, 503, 504, 506, 507, 508, 509, 510, 511,
2102 513, 514, 515, 516, 517, 518, 520, 519, 490, 491,
2103 492, 495, 496, 498, 536, 537, 546, 545, 544, 543,
2104 542, 541, 529, 548, 538, 539, 540, 523, 524, 525,
2105 526, 549, 550, 554, 556, 555, 557, 558, 535, 560,
2106 559, 493, 562, 564, 563, 497, 567, 565, 566, 561,
2107 494, 547, 488, 263, 485, 0, 238, 284, 285, 283,
2108 276, 0, 277, 239, 310, 0, 0, 0, 0, 114,
2109 0, 210, 0, 705, 0, 56, 286, 56, 117, 0,
2110 0, 125, 803, 650, 0, 56, 156, 69, 0, 418,
2111 757, 452, 108, 240, 241, 313, 150, 0, 0, 260,
2112 253, 0, 0, 0, 265, 267, 0, 0, 272, 279,
2113 280, 278, 0, 0, 229, 0, 0, 0, 0, 209,
2114 707, 0, 468, 625, 0, 0, 56, 119, 0, 658,
2115 0, 0, 0, 88, 243, 45, 0, 244, 245, 0,
2116 0, 259, 262, 486, 487, 0, 254, 281, 282, 274,
2117 275, 273, 311, 308, 233, 231, 312, 0, 469, 624,
2118 0, 406, 287, 0, 121, 0, 159, 453, 0, 112,
2119 0, 293, 261, 264, 0, 670, 235, 0, 466, 403,
2120 408, 157, 0, 0, 89, 250, 0, 292, 309, 0,
2121 625, 304, 670, 467, 0, 111, 0, 0, 249, 803,
2122 670, 185, 305, 306, 307, 827, 303, 0, 0, 0,
2123 248, 0, 304, 0, 803, 0, 247, 288, 56, 234,
2124 827, 0, 189, 187, 0, 56, 0, 0, 190, 0,
2125 186, 236, 0, 289, 0, 193, 184, 0, 192, 107,
2126 194, 0, 183, 191, 0, 196, 195
2129 /* YYDEFGOTO[NTERM-NUM]. */
2130 static const yytype_int16 yydefgoto
[] =
2132 -1, 1, 2, 4, 118, 737, 517, 176, 264, 265,
2133 120, 121, 122, 123, 124, 125, 309, 540, 541, 436,
2134 231, 1243, 442, 1173, 1459, 705, 261, 478, 1423, 884,
2135 1016, 1474, 325, 177, 542, 771, 930, 1062, 543, 558,
2136 789, 501, 787, 544, 522, 788, 327, 280, 297, 131,
2137 773, 740, 723, 893, 1191, 979, 837, 1377, 1246, 657,
2138 843, 441, 665, 845, 1095, 650, 827, 830, 969, 1479,
2139 1480, 532, 533, 552, 553, 269, 270, 274, 1021, 1125,
2140 1209, 1357, 1465, 1482, 1387, 1427, 1428, 1429, 1197, 1198,
2141 1199, 1388, 1394, 1436, 1202, 1203, 1207, 1350, 1351, 1352,
2142 1368, 1509, 1126, 1127, 178, 133, 1495, 1496, 1355, 1129,
2143 134, 224, 437, 438, 135, 136, 137, 138, 139, 140,
2144 141, 142, 1228, 143, 770, 929, 144, 228, 304, 432,
2145 526, 527, 1001, 528, 1002, 145, 146, 147, 684, 148,
2146 149, 258, 150, 259, 466, 467, 468, 469, 470, 471,
2147 472, 473, 474, 695, 696, 876, 475, 476, 477, 702,
2148 1413, 151, 523, 1217, 524, 906, 745, 1037, 1034, 1343,
2149 1344, 152, 153, 154, 218, 225, 312, 422, 155, 860,
2150 688, 156, 861, 416, 755, 862, 814, 950, 952, 953,
2151 954, 816, 1074, 1075, 817, 631, 407, 186, 187, 157,
2152 535, 390, 391, 761, 158, 219, 180, 160, 161, 162,
2153 163, 164, 165, 166, 588, 167, 221, 222, 504, 210,
2154 211, 591, 592, 1007, 1008, 289, 290, 731, 168, 494,
2155 169, 531, 170, 251, 281, 320, 451, 856, 913, 721,
2156 668, 669, 670, 252, 253, 757
2159 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2161 #define YYPACT_NINF -1219
2162 static const yytype_int16 yypact
[] =
2164 -1219, 161, -1219, -1219, 4161, 11635, 11635, 8, 11635, 11635,
2165 11635, -1219, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635,
2166 11635, 11635, 11635, 11635, 13475, 13475, 9009, 11635, 13540, 29,
2167 169, -1219, -1219, -1219, -1219, -1219, 200, -1219, -1219, 11635,
2168 -1219, 169, 174, 180, 206, 169, 9211, 10263, 9413, -1219,
2169 13059, 8605, 125, 11635, 14024, 93, -1219, -1219, -1219, 237,
2170 295, 43, 221, 226, 234, 270, -1219, 10263, 280, 282,
2171 -1219, -1219, -1219, -1219, -1219, 264, 13822, -1219, -1219, 10263,
2172 9615, -1219, -1219, -1219, -1219, -1219, -1219, 10263, -1219, 331,
2173 287, 10263, 10263, -1219, 11635, -1219, -1219, -1219, -1219, -1219,
2174 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2175 -1219, 11635, -1219, -1219, 300, 315, 337, 337, -1219, 467,
2176 359, 235, -1219, 309, -1219, 36, -1219, 482, -1219, -1219,
2177 -1219, 14067, 512, -1219, -1219, 319, 350, 352, 360, 367,
2178 369, 12108, -1219, -1219, -1219, -1219, 492, -1219, 507, 517,
2179 377, -1219, 94, 384, 441, -1219, -1219, 528, 92, 2322,
2180 96, 391, 112, 113, 392, 126, -1219, 101, -1219, 529,
2181 -1219, -1219, -1219, 447, 398, 448, -1219, 482, 512, 14527,
2182 3470, 14527, 11635, 14527, 14527, 4349, 553, 10263, -1219, -1219,
2183 547, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2184 -1219, -1219, 2494, 434, -1219, 457, 479, 479, 13475, 13311,
2185 401, 595, -1219, 447, 2494, 434, 462, 463, 413, 118,
2186 -1219, 486, 96, 9817, -1219, -1219, 11635, 3262, 602, 45,
2187 14527, 8201, -1219, 11635, 11635, 10263, -1219, -1219, 12364, 419,
2188 -1219, 12405, 13059, 13059, 454, -1219, -1219, 418, 12833, 604,
2189 -1219, 613, -1219, 10263, 555, -1219, 436, 12446, 438, 591,
2190 -1219, 35, 12487, 10263, 53, -1219, 49, -1219, 13287, 58,
2191 -1219, -1219, -1219, 629, 59, 13475, 13475, 11635, 464, 484,
2192 -1219, -1219, 13337, 9009, 84, 252, -1219, 11837, 13475, 304,
2193 -1219, 10263, -1219, -19, 359, 470, 14249, -1219, -1219, -1219,
2194 563, 636, 567, 14527, 79, 478, 14527, 481, 1865, 4363,
2195 11635, 351, 474, 348, 351, 296, 283, -1219, 10263, 13059,
2196 483, 10019, 13059, -1219, -1219, 8849, -1219, -1219, -1219, -1219,
2197 482, -1219, -1219, -1219, -1219, -1219, -1219, -1219, 11635, 11635,
2198 11635, 10221, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635,
2199 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635, 11635,
2200 11635, 11635, 11635, 13540, -1219, 11635, 11635, -1219, 11635, 12648,
2201 10263, 10263, 14067, 579, 543, 8403, 11635, 11635, 11635, 11635,
2202 11635, 11635, 11635, 11635, 11635, 11635, 11635, -1219, -1219, 13594,
2203 -1219, 119, 11635, 11635, -1219, 10019, 11635, 11635, 300, 127,
2204 13337, 485, 482, 10423, 12534, -1219, 487, 674, 2494, 488,
2205 17, 13635, 479, 10625, -1219, 10827, -1219, 491, 19, -1219,
2206 145, 10019, -1219, 13685, -1219, 128, -1219, -1219, 12575, -1219,
2207 -1219, 11029, -1219, 11635, -1219, 606, 7393, 682, 495, 14443,
2208 681, 44, 14, -1219, -1219, -1219, -1219, -1219, 13059, 615,
2209 502, 689, -1219, 13239, -1219, 519, -1219, -1219, -1219, 630,
2210 11635, 631, 632, 11635, 11635, 11635, -1219, 591, -1219, -1219,
2211 -1219, -1219, -1219, -1219, -1219, 530, -1219, -1219, -1219, 518,
2212 -1219, -1219, 263, 14024, -1219, 10263, 11635, 479, 93, -1219,
2213 13239, 637, -1219, 479, 51, 55, 524, 525, 2139, 527,
2214 10263, 601, 531, 479, 80, 532, 14008, 10263, -1219, -1219,
2215 667, 66, -48, -1219, -1219, -1219, 359, -1219, -1219, -1219,
2216 -1219, 11635, 609, 570, 170, -1219, 617, 728, 546, 13059,
2217 13059, 730, 552, 738, -1219, 13059, 86, 686, 102, -1219,
2218 -1219, -1219, -1219, -1219, -1219, 1781, -1219, -1219, -1219, -1219,
2219 48, 13475, 554, 744, 14527, 741, -1219, -1219, 640, 9051,
2220 14567, 4149, 4349, 11635, 14486, 4752, 4953, 5154, 5355, 3940,
2221 5556, 5556, 5556, 5556, 1319, 1319, 1319, 1319, 790, 790,
2222 473, 473, 473, 547, 547, 547, -1219, 14527, 560, 562,
2223 14290, 558, 756, -1219, 11635, -40, 571, 127, -1219, -1219,
2224 -1219, 482, 3443, 11635, -1219, -1219, 4349, -1219, 4349, 4349,
2225 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 4349, 11635,
2226 -40, 583, 572, 2280, 586, 581, 2849, 81, 589, -1219,
2227 2395, -1219, 10263, -1219, 478, 86, 434, 13475, 14527, 13475,
2228 14346, 88, 132, -1219, 592, 11635, -1219, -1219, -1219, 7191,
2229 104, -1219, 14527, 14527, 169, -1219, -1219, -1219, 11635, 13108,
2230 13239, 10263, 7595, 588, 590, -1219, 56, 668, -1219, 782,
2231 597, 12913, 13059, 13239, 13239, 13239, 599, 233, 652, 607,
2232 608, 253, -1219, 653, -1219, 603, -1219, -1219, -1219, 11635,
2233 616, 14527, 624, 792, 12657, 800, -1219, 14527, 12616, -1219,
2234 530, 736, -1219, 4565, 13967, 614, 10263, -1219, -1219, 2954,
2235 -1219, -1219, 799, 13475, 618, -1219, -1219, -1219, -1219, -1219,
2236 722, 114, 13967, 621, 13337, 13421, 802, -1219, -1219, -1219,
2237 -1219, 619, -1219, 11635, -1219, -1219, 3754, -1219, 14527, 13967,
2238 622, -1219, -1219, -1219, -1219, 809, 11635, 563, -1219, -1219,
2239 633, -1219, 13059, 801, 95, -1219, -1219, 150, 13726, -1219,
2240 133, -1219, -1219, 13059, -1219, 479, -1219, 11231, -1219, 13239,
2241 75, 644, 13967, 609, -1219, -1219, 4551, 11635, -1219, -1219,
2242 11635, -1219, 11635, -1219, 3198, 646, 10019, 601, 609, 640,
2243 10263, 13540, 479, 3531, 647, 10019, -1219, -1219, 137, -1219,
2244 -1219, 812, 2880, 2880, 2395, -1219, -1219, -1219, -1219, 650,
2245 240, 654, 655, -1219, -1219, -1219, 822, 651, 487, 479,
2246 479, 11433, -1219, 139, -1219, -1219, 3659, 293, 169, 8201,
2247 -1219, 4767, 657, 4969, 662, 13475, 671, 724, 479, -1219,
2248 838, -1219, -1219, -1219, -1219, 353, -1219, 64, 13059, -1219,
2249 13059, 615, -1219, -1219, -1219, 858, 676, 677, -1219, -1219,
2250 746, 672, 866, 13239, 737, 10263, 563, 13239, 9657, 13239,
2251 14527, 11635, 11635, 11635, -1219, -1219, -1219, 11635, 11635, -1219,
2252 591, -1219, 803, -1219, -1219, -1219, -1219, 13239, 479, -1219,
2253 13059, 10263, -1219, 867, -1219, -1219, 82, 684, 479, 8807,
2254 -1219, 2207, -1219, 3959, 867, -1219, 7, 199, 14527, 757,
2255 -1219, 685, 13059, 602, 13059, 808, 870, 810, 11635, -40,
2256 691, -1219, 13475, 14527, -1219, 692, 75, -1219, 693, 75,
2257 694, 4551, 14527, 14387, 695, 10019, 696, 697, 698, 609,
2258 -1219, 413, 699, 10019, 701, 11635, -1219, -1219, -1219, -1219,
2259 -1219, -1219, 774, 702, 891, 2395, 767, -1219, 563, 2395,
2260 2395, -1219, -1219, -1219, 13475, 14527, -1219, 169, 881, 840,
2261 8201, -1219, -1219, -1219, 713, 11635, 479, 13337, 13108, 715,
2262 13239, 5171, 444, 716, 11635, 46, 67, -1219, 748, -1219,
2263 -1219, 12979, 888, -1219, 13239, -1219, 13239, -1219, 721, -1219,
2264 794, 910, 729, 731, -1219, -1219, 805, 725, 917, 14527,
2265 12744, 14527, -1219, 14527, -1219, 740, -1219, -1219, -1219, 841,
2266 13967, 399, -1219, 13337, -1219, -1219, 4349, 735, -1219, 416,
2267 -1219, 179, 11635, -1219, -1219, -1219, 11635, -1219, 11635, -1219,
2268 -1219, -1219, 189, 924, 13239, -1219, 3705, 745, 10019, 479,
2269 801, 749, -1219, 752, 75, 11635, 10019, 754, -1219, -1219,
2270 -1219, 755, 747, -1219, 10019, 758, -1219, 2395, -1219, 2395,
2271 -1219, 761, -1219, 828, 762, 950, 764, -1219, 479, 934,
2272 -1219, 765, -1219, -1219, 771, 110, -1219, -1219, -1219, 766,
2273 772, -1219, 3145, -1219, -1219, -1219, -1219, -1219, -1219, 13059,
2274 -1219, 847, -1219, 13239, 563, -1219, -1219, -1219, 13239, -1219,
2275 13239, -1219, 11635, 777, 5373, 13059, -1219, 22, 13059, 13967,
2276 -1219, 13919, 819, 8445, -1219, -1219, -1219, 579, 12767, 60,
2277 543, 111, -1219, -1219, 834, 12023, 12064, 14527, 909, 971,
2278 912, 13239, -1219, 793, 10019, 796, 884, 801, 972, 801,
2279 797, 14527, 804, -1219, 1444, 1461, -1219, 75, 806, -1219,
2280 -1219, 875, -1219, 2395, -1219, 563, -1219, -1219, -1219, 7191,
2281 -1219, -1219, -1219, 7797, -1219, -1219, -1219, 7191, 807, 13239,
2282 -1219, 882, -1219, 883, 12703, -1219, -1219, -1219, 13967, 13967,
2283 995, 41, -1219, -1219, -1219, 62, 813, 63, -1219, 12182,
2284 -1219, -1219, 65, -1219, -1219, 13870, -1219, 815, -1219, 938,
2285 482, -1219, 13059, -1219, 579, -1219, -1219, -1219, -1219, -1219,
2286 1001, 13239, -1219, -1219, 10019, 820, -1219, 823, 821, 245,
2287 -1219, 884, 801, -1219, -1219, -1219, 1589, 824, -1219, 2395,
2288 -1219, 893, 7191, 7999, -1219, -1219, -1219, 7191, -1219, -1219,
2289 13239, 13239, 11635, 5575, 825, 826, 13239, 13967, -1219, -1219,
2290 850, 13919, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2291 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2292 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2293 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2294 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2295 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2296 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2297 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2298 -1219, -1219, -1219, 504, -1219, 819, -1219, -1219, -1219, -1219,
2299 -1219, 40, 123, -1219, 1007, 70, 10263, 938, 1012, 482,
2300 13239, -1219, 831, -1219, 338, -1219, -1219, -1219, -1219, 830,
2301 245, -1219, 801, -1219, 2395, -1219, -1219, -1219, 5777, -1219,
2302 -1219, 12171, -1219, -1219, -1219, -1219, -1219, 13776, 33, -1219,
2303 -1219, 13239, 12182, 12182, 977, -1219, 13870, 13870, 489, -1219,
2304 -1219, -1219, 13239, 955, -1219, 836, 76, 13239, 10263, -1219,
2305 -1219, 957, -1219, 1026, 5979, 6181, -1219, -1219, 245, -1219,
2306 6383, 839, 965, 939, -1219, 952, 903, -1219, -1219, 956,
2307 850, -1219, -1219, -1219, -1219, 895, -1219, 1017, -1219, -1219,
2308 -1219, -1219, -1219, 1038, -1219, -1219, -1219, 859, -1219, 422,
2309 857, -1219, -1219, 6585, -1219, 860, -1219, -1219, 861, 896,
2310 10263, 543, -1219, -1219, 13239, 87, -1219, 980, -1219, -1219,
2311 -1219, -1219, 13967, 614, -1219, 902, 10263, 361, -1219, 868,
2312 1057, 453, 87, -1219, 992, -1219, 13967, 871, -1219, 801,
2313 89, -1219, -1219, -1219, -1219, 13059, -1219, 873, 876, 77,
2314 -1219, 336, 453, 306, 801, 877, -1219, -1219, -1219, -1219,
2315 13059, 996, 1062, 1002, 336, -1219, 6787, 308, 1073, 13239,
2316 -1219, -1219, 6989, -1219, 1013, 1075, 1015, 13239, -1219, -1219,
2317 1077, 13239, -1219, -1219, 13239, -1219, -1219
2320 /* YYPGOTO[NTERM-NUM]. */
2321 static const yytype_int16 yypgoto
[] =
2323 -1219, -1219, -1219, -484, -1219, -1219, -1219, -4, -1219, 611,
2324 5, 1009, -286, -1219, 1511, -1219, -305, -1219, 3, -1219,
2325 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -381,
2326 -1219, -1219, -165, 13, -1, -1219, -1219, -1219, 0, -1219,
2327 -1219, -1219, -1219, 2, -1219, -1219, 726, 727, 732, 942,
2328 307, -658, 313, 362, -384, -1219, 129, -1219, -1219, -1219,
2329 -1219, -1219, -1219, -628, 12, -1219, -1219, -1219, -1219, -376,
2330 -1219, -742, -1219, -355, -1219, -1219, 620, -1219, -867, -1219,
2331 -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -152,
2332 -1219, -1219, -1219, -1219, -1219, -233, -1219, -10, -855, -1219,
2333 -1218, -399, -1219, -156, 20, -130, -385, -1219, -239, -1219,
2334 -67, -20, 1081, -623, -353, -1219, -1219, -42, -1219, -1219,
2335 2737, -31, -109, -1219, -1219, -1219, -1219, -1219, -1219, 212,
2336 -713, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2337 -1219, 753, -1219, -1219, 249, -1219, 663, -1219, -1219, -1219,
2338 -1219, -1219, -1219, -1219, 254, -1219, 665, -1219, -1219, 433,
2339 -1219, 229, -1219, -1219, -1219, -1219, -1219, -1219, -1219, -1219,
2340 -848, -1219, 1309, 1014, -336, -1219, -1219, 195, 1412, 99,
2341 -1219, -1219, -741, -394, -548, -1219, -1219, 334, -607, -753,
2342 -1219, -1219, -1219, -1219, -1219, 320, -1219, -1219, -1219, -211,
2343 -722, -182, -174, -140, -1219, -1219, 27, -1219, -1219, -1219,
2344 -1219, -12, -141, -1219, 6, -1219, -1219, -1219, -392, 856,
2345 -1219, -1219, -1219, -1219, -1219, 456, 357, -1219, -1219, 869,
2346 -1219, -1219, -1219, -311, -73, -186, -289, -1219, -1013, -1219,
2347 291, -1219, -1219, -1219, -187, -899
2350 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2351 positive, shift that token. If negative, reduce the rule which
2352 number is the opposite. If zero, do what YYDEFACT says.
2353 If YYTABLE_NINF, syntax error. */
2354 #define YYTABLE_NINF -797
2355 static const yytype_int16 yytable
[] =
2357 119, 373, 331, 128, 129, 768, 130, 126, 627, 256,
2358 227, 555, 401, 633, 298, 1042, 220, 127, 301, 302,
2359 394, 232, 604, 815, 132, 236, 399, 586, 925, 419,
2360 550, 159, 914, 736, 909, 834, 847, 1146, 1029, 424,
2361 624, 663, 1430, 239, 305, 322, 249, 425, 331, 1396,
2362 1257, 206, 207, 661, 433, 446, 447, 763, 328, 266,
2363 713, 452, 483, 279, 713, 848, 644, 488, 491, 1212,
2364 1397, -255, 1261, 1093, 1345, 389, 338, 339, 340, 1403,
2365 307, 293, 426, 279, 294, 1403, 1257, 279, 279, 725,
2366 725, 725, 341, 534, 342, 343, 344, 345, 346, 347,
2367 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
2368 358, 359, 360, 361, 362, 928, 363, 11, 273, 725,
2369 725, 11, 998, 891, 649, 319, 1003, 279, 318, 11,
2370 938, 11, 452, 748, 1229, 409, 1231, 11, 308, 479,
2371 389, 485, 389, 1188, 1189, 330, 506, 417, 392, 1399,
2372 392, 735, 1417, 1000, -694, -796, -691, 1030, 392, 984,
2373 985, 3, 984, 985, -698, 559, 1400, 682, 267, 1401,
2374 1031, 828, 829, 703, -692, -693, 200, 374, 518, 519,
2375 -729, -695, 915, 406, 1051, 1148, -572, 1053, 396, 396,
2376 -730, 402, 1154, 1155, -732, -696, 318, 480, 783, -697,
2377 1454, -731, 1071, 182, 682, 1032, 1076, 507, -409, 758,
2378 496, 423, 664, 538, 764, 642, 982, 742, 986, 1370,
2379 200, 1138, 849, 119, 223, 916, 1134, 119, 597, 410,
2380 430, 440, 1431, 323, 435, 412, 1398, 628, 1258, 1259,
2381 662, 418, 434, 1094, 331, 1073, 497, 714, 597, 454,
2382 484, 715, 557, 903, 159, 489, 492, 1213, 159, -255,
2383 1262, 666, 1346, 987, 1139, 734, 1096, 1404, 482, -573,
2384 597, -202, -202, 1445, 1506, 852, 726, 801, 1022, 597,
2385 892, 1061, 597, -188, 393, -624, 393, -700, -624, 1236,
2386 -694, -624, -691, 268, 393, 487, 516, -701, 298, 328,
2387 -698, 398, 493, 493, 498, 119, 1172, 1215, 917, 503,
2388 -692, -693, 1150, 864, 549, 512, -729, -695, 249, 743,
2389 956, 279, 127, 260, 397, 397, -730, 284, 299, 132,
2390 -732, -696, 896, 605, 744, -697, 159, -731, 1511, 284,
2391 1524, 634, 750, 751, 285, 114, 831, 1140, 756, 1035,
2392 833, 220, 1084, 1077, 759, 706, 271, 596, 284, 1418,
2393 967, 968, 760, 513, 226, 595, 279, 279, 279, 233,
2394 1411, 284, 589, 286, 682, 234, 513, 621, -796, 284,
2395 957, 1512, 855, 1525, 513, 620, 601, 682, 682, 682,
2396 284, 1181, 508, 287, 288, 311, -796, 1036, 622, 596,
2397 319, 235, 625, 1117, 286, 287, 288, 636, 643, 785,
2398 318, 647, 284, 1412, 272, 1237, 275, 314, 319, 646,
2399 1117, 276, 961, 284, 287, 288, 284, 503, 513, 277,
2400 -796, 936, 119, -796, 794, 410, 790, 287, 288, 656,
2401 944, 11, 1366, 1367, 514, 287, 288, 983, 984, 985,
2402 785, -796, 1241, 759, 1467, 941, 287, 288, 11, 822,
2403 1160, 760, 1161, 159, 1513, 278, 1526, 823, 997, 56,
2404 57, 58, 171, 172, 329, 282, 1501, 283, 287, 288,
2405 299, 708, 300, 682, 452, 857, 775, 548, 266, 287,
2406 288, 1514, 287, 288, 317, 419, 720, 1468, 310, 547,
2407 1118, 824, 730, 732, 321, 1119, 318, 56, 57, 58,
2408 171, 172, 329, 1120, 324, 1439, 332, 1118, 1391, 360,
2409 361, 362, 1119, 363, 56, 57, 58, 171, 172, 329,
2410 1120, 1392, 1440, 1507, 1508, 1441, 981, 95, 1090, 984,
2411 985, 1437, 1438, 534, 1433, 1434, 1024, 333, 1393, 334,
2412 1121, 1122, 687, 1123, -431, 279, 1240, 335, 1488, 534,
2413 1070, 1492, 1493, 1494, 336, 911, 337, 1121, 1122, 365,
2414 1123, 313, 315, 316, 367, 95, 921, 682, 765, 366,
2415 1057, 682, 368, 682, 369, 1085, 395, -699, 1065, 711,
2416 -572, -432, 95, 400, 405, 291, 1503, 363, 1124, 319,
2417 411, 682, 389, 414, 415, -571, 420, 1105, 421, 423,
2418 431, 1517, 49, 449, 1111, 1133, 444, 597, -791, 448,
2419 56, 57, 58, 171, 172, 329, 813, 453, 818, 792,
2420 455, 1131, 1373, 456, 832, 458, 56, 57, 58, 59,
2421 60, 329, 509, 490, 525, 119, 515, 66, 370, 500,
2422 529, 56, 57, 58, 171, 172, 329, 840, 119, 530,
2423 499, 988, 127, 989, 819, 842, 820, 520, 509, 132,
2424 515, 509, 515, 515, 536, 546, 159, 537, -51, 49,
2425 556, 1166, 630, 632, 635, 371, 838, 641, 95, 159,
2426 654, 433, 658, 1145, 682, 660, 667, 671, 672, 119,
2427 689, 1152, 885, 1018, 95, 690, 692, 693, 682, 1158,
2428 682, 1114, 712, 704, 701, 534, 127, 940, 534, 95,
2429 716, 717, 722, 132, 719, 1040, 724, 756, 727, 733,
2430 159, 739, 119, 1047, 741, 128, 129, 747, 130, 126,
2431 888, 746, 749, 1481, 752, 753, 920, 754, -433, 127,
2432 766, 503, 898, 767, 919, 769, 132, 781, 682, 839,
2433 1481, 772, 778, 159, 779, 782, 786, 1419, 1502, 459,
2434 460, 461, 858, 859, 796, 1169, 462, 463, 795, 220,
2435 464, 465, 798, 799, 774, 844, 279, 846, 825, 1225,
2436 1177, 851, 850, 853, 863, 865, 868, 871, 949, 949,
2437 813, 869, 866, 867, 921, 872, 873, 1190, 970, 877,
2438 1130, 880, 883, 887, 890, 889, 899, 682, 1130, 895,
2439 905, 900, 682, 907, 682, 119, 945, 119, 912, 119,
2440 910, 960, 971, 357, 358, 359, 360, 361, 362, 926,
2441 363, 935, 943, 534, 127, 955, 127, 962, 978, 958,
2442 959, 132, 980, 132, 973, 682, 159, 1025, 159, 975,
2443 159, 999, 976, 1242, 1005, 1450, 977, 991, 924, 1362,
2444 994, 1247, 992, 993, 995, 996, 1020, 508, 1015, 1023,
2445 1253, 1038, 1039, 1043, 1044, 1045, 1048, 1019, 1050, 1054,
2446 1056, 1052, 1058, 682, 1064, 1059, 1060, 1066, 1067, 119,
2447 1069, 1358, 128, 129, 1068, 130, 126, 1072, 1080, 1081,
2448 1083, 1087, 1178, 1091, 1097, 1099, 127, 1102, 1103, 1104,
2449 31, 32, 33, 132, 1109, 1106, 1110, 1107, 1187, 1108,
2450 159, 38, 1491, 1115, 1132, 682, 1113, 1130, 1141, 1378,
2451 1144, 1211, 1157, 1130, 1130, 1147, 534, 1079, 1149, 1049,
2452 1153, 813, 1163, 1156, 1159, 813, 813, 1162, 1164, 1165,
2453 1167, 1168, 1170, 1174, 682, 682, 119, 1171, 1006, 1175,
2454 682, 1179, 1201, 1082, 1214, 1185, 1117, 119, 70, 71,
2455 72, 73, 74, 1216, 1220, 1221, 1017, 1222, 1224, 677,
2456 1227, 1078, 1226, 1232, 127, 77, 78, 159, 331, 1239,
2457 1233, 132, 1238, 1248, 503, 838, 1250, 1251, 159, 1256,
2458 88, 1260, 1353, 1354, 11, 1360, 1363, 1374, 1364, 1365,
2459 1372, 1402, 1383, 1384, 93, 1130, 1407, 1410, 1416, 1435,
2460 1443, 1444, 1448, 203, 203, 1449, 1456, 215, 205, 205,
2461 1457, 1128, 217, 1458, -251, 1356, 1460, 1397, 1461, 1128,
2462 503, 1463, 1464, 1469, 1466, 1483, 1472, 1471, 1473, 215,
2463 1414, 1486, 1415, 813, 1489, 813, 1490, 1498, 1500, 1504,
2464 1420, 1518, 1505, 1118, 682, 1515, 1519, 1520, 1119, 1088,
2465 56, 57, 58, 171, 172, 329, 1120, 1527, 1530, 1531,
2466 1532, 1534, 1485, 1100, 707, 1101, 939, 598, 600, 372,
2467 937, 904, 1499, 599, 1176, 682, 1497, 1086, 710, 1390,
2468 119, 1453, 1395, 1208, 249, 1521, 682, 1510, 1406, 1206,
2469 229, 682, 1369, 1121, 1122, 1041, 1123, 127, 607, 1014,
2470 699, 1012, 700, 879, 132, 1033, 1063, 951, 963, 505,
2471 1210, 159, 990, 1142, 0, 495, 0, 0, 95, 0,
2472 374, 0, 0, 0, 0, 0, 0, 0, 0, 813,
2473 0, 0, 0, 0, 0, 119, 0, 0, 1128, 119,
2474 0, 1230, 0, 119, 1128, 1128, 1245, 0, 682, 0,
2475 0, 0, 127, 0, 0, 0, 0, 0, 0, 132,
2476 127, 0, 0, 0, 1408, 1342, 159, 132, 0, 0,
2477 159, 1349, 1180, 1516, 159, 0, 0, 1182, 249, 1183,
2478 1522, 203, 0, 0, 0, 0, 205, 203, 0, 0,
2479 0, 0, 205, 203, 0, 0, 0, 1359, 205, 0,
2480 0, 0, 0, 682, 0, 813, 0, 0, 119, 119,
2481 1223, 682, 0, 119, 0, 682, 1376, 0, 682, 119,
2482 0, 215, 215, 0, 534, 127, 1128, 215, 0, 0,
2483 127, 0, 132, 0, 0, 0, 127, 132, 0, 159,
2484 159, 534, 0, 132, 159, 0, 0, 203, 1249, 534,
2485 159, 0, 205, 1405, 203, 203, 0, 0, 0, 205,
2486 205, 203, 0, 0, 0, 0, 205, 203, 0, 0,
2487 0, 0, 205, 0, 0, 1476, 0, 0, 756, 0,
2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2489 1361, 0, 0, 756, 0, 0, 0, 0, 215, 0,
2490 0, 215, 0, 204, 204, 1447, 0, 216, 0, 0,
2491 0, 0, 0, 0, 0, 0, 0, 331, 0, 1379,
2492 1380, 0, 279, 0, 0, 1385, -797, -797, -797, -797,
2493 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2494 813, 0, 215, 0, 119, 0, 0, 217, 0, 0,
2495 0, 0, 0, 1425, 0, 0, 0, 0, 1342, 1342,
2496 0, 127, 1349, 1349, 0, 0, 0, 0, 132, 0,
2497 0, 0, 0, 0, 279, 159, 0, 0, 0, 203,
2498 119, 119, 0, 0, 205, 0, 119, 203, 0, 0,
2499 0, 0, 205, 0, 0, 0, 0, 127, 127, 0,
2500 0, 0, 0, 127, 132, 132, 0, 0, 0, 0,
2501 132, 159, 159, 0, 0, 0, 0, 159, 1117, 119,
2502 0, 0, 0, 0, 0, 0, 1475, 215, 0, 1409,
2503 0, 0, 681, 0, 0, 1117, 127, 0, 0, 0,
2504 0, 0, 1487, 132, 0, 0, 0, 0, 0, 0,
2505 159, 1477, 0, 0, 0, 0, 11, 0, 0, 0,
2506 1432, 0, 0, 0, 0, 0, 0, 0, 0, 681,
2507 0, 1442, 0, 11, 0, 0, 1446, 0, 0, 0,
2508 0, 0, 119, 0, 0, 0, 0, 204, 119, 0,
2509 0, 0, 0, 0, 0, 0, 0, 0, 0, 127,
2510 0, 0, 0, 0, 0, 127, 132, 0, 215, 215,
2511 0, 0, 132, 159, 215, 1118, 0, 0, 0, 159,
2512 1119, 0, 56, 57, 58, 171, 172, 329, 1120, 0,
2513 203, 250, 1118, 1478, 0, 205, 0, 1119, 0, 56,
2514 57, 58, 171, 172, 329, 1120, 0, 204, 0, 0,
2515 0, 0, 0, 0, 204, 204, 0, 0, 0, 0,
2516 0, 204, 0, 1117, 0, 1121, 1122, 204, 1123, 0,
2517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2518 0, 203, 1121, 1122, 0, 1123, 205, 0, 1528, 0,
2519 95, 0, 0, 0, 0, 0, 1533, 0, 0, 0,
2520 1535, 11, 0, 1536, 0, 0, 0, 95, 0, 0,
2521 0, 0, 0, 1234, 0, 0, 203, 0, 203, 0,
2522 0, 205, 0, 205, 0, 0, 0, 0, 0, 0,
2523 1235, 0, 0, 0, 0, 0, 0, 0, 203, 681,
2524 0, 0, 216, 205, 0, 0, 0, 0, 0, 0,
2525 215, 215, 681, 681, 681, 0, 0, 0, 0, 0,
2526 1118, 0, 0, 0, 0, 1119, 0, 56, 57, 58,
2527 171, 172, 329, 1120, 0, 0, 0, 0, 0, 204,
2528 0, 0, 0, 215, 0, 0, 0, 0, 0, 0,
2529 0, 0, 203, 0, 0, 0, 0, 205, 0, 0,
2530 0, 215, 0, 203, 203, 0, 0, 0, 205, 205,
2531 1121, 1122, 0, 1123, 0, 0, 0, 0, 215, 0,
2532 0, 0, 0, 250, 250, 0, 0, 0, 0, 250,
2533 0, 215, 685, 0, 0, 95, 0, 0, 0, 0,
2534 0, 0, 215, 0, 0, 0, 0, 0, 681, 0,
2535 0, 215, 0, 0, 0, 0, 0, 0, 1371, 0,
2536 0, 338, 339, 340, 0, 0, 0, 0, 0, 685,
2537 215, 0, 0, 0, 0, 217, 0, 341, 0, 342,
2538 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2539 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2540 250, 363, 0, 250, 0, 0, 0, 0, 0, 0,
2541 0, 0, 0, 0, 203, 0, 0, 0, 0, 205,
2542 0, 0, 0, 0, 0, 0, 0, 215, 0, 215,
2543 204, 0, 0, 0, 0, 686, 0, 0, 0, 0,
2544 0, 0, 681, 0, 0, 0, 681, 0, 681, 403,
2545 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
2546 386, 0, 0, 0, 0, 0, 681, 0, 0, 215,
2547 0, 0, 686, 0, 0, 0, 0, 0, 0, 0,
2548 0, 204, 0, 0, 0, 0, 0, 0, 0, 0,
2549 0, 215, 0, 215, 0, 387, 388, 0, 0, 0,
2550 0, 203, 0, 0, 0, 0, 205, 0, 0, 0,
2551 0, 0, 0, 0, 0, 0, 204, 0, 204, 0,
2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 250,
2553 0, 0, 0, 0, 683, 0, 0, 0, 204, 685,
2554 0, 0, 0, 203, 0, 0, 0, 0, 205, 0,
2555 762, 0, 685, 685, 685, 0, 203, 203, 389, 681,
2556 0, 205, 205, 0, 0, 0, 0, 0, 0, 0,
2557 215, 683, 0, 681, 0, 681, 0, 0, 0, 0,
2558 0, 0, 0, 882, 0, 0, 0, 0, 0, 0,
2559 0, 0, 204, 0, 0, 0, 0, 0, 0, 215,
2560 0, 894, 203, 204, 204, 0, 0, 205, 0, 0,
2561 250, 250, 0, 0, 0, 0, 250, 0, 894, 0,
2562 0, 0, 0, 681, 0, 0, 0, 0, 0, 0,
2563 0, 538, 0, 0, 0, 0, 0, 0, 0, 0,
2564 0, 0, 686, 0, 0, 0, 0, 0, 685, 0,
2565 0, 927, 0, 0, 0, 686, 686, 686, 0, 0,
2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2567 216, 0, 0, 0, 0, 0, 0, 0, 215, 0,
2568 0, 0, 681, 0, 0, 0, 0, 681, 0, 681,
2569 0, 0, 0, 0, 215, 0, 0, 215, 215, 0,
2570 215, 0, 0, 0, 0, 0, 0, 215, 0, 0,
2571 0, 0, 0, 0, 204, 0, 0, 0, 0, 0,
2572 681, 0, 0, 403, 376, 377, 378, 379, 380, 381,
2573 382, 383, 384, 385, 386, 0, 0, 0, 0, 0,
2574 0, 683, 685, 0, 0, 0, 685, 0, 685, 0,
2575 0, 686, 250, 250, 683, 683, 683, 0, 681, 0,
2576 0, 0, 0, 0, 0, 0, 685, 215, 215, 387,
2577 388, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 0, 0, 0, 338, 339, 340,
2579 0, 215, 0, 0, 0, 0, 0, 0, 0, 0,
2580 681, 204, 0, 341, 0, 342, 343, 344, 345, 346,
2581 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
2582 357, 358, 359, 360, 361, 362, 0, 363, 0, 681,
2583 681, 0, 389, 250, 0, 681, 215, 0, 0, 0,
2584 215, 0, 0, 204, 250, 686, 0, 0, 0, 686,
2585 683, 686, 0, 0, 0, 0, 204, 204, 0, 685,
2586 338, 339, 340, 0, 0, 0, 0, 0, 0, 686,
2587 0, 0, 0, 685, 0, 685, 341, 0, 342, 343,
2588 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
2589 354, 355, 356, 357, 358, 359, 360, 361, 362, 1116,
2590 363, 0, 204, 0, 0, 718, 375, 376, 377, 378,
2591 379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
2592 0, 0, 0, 685, 0, 0, 0, 0, 0, 250,
2593 0, 250, 0, 0, 0, 0, 0, 0, 0, 681,
2594 0, 0, 0, 0, 683, 0, 0, 0, 683, 0,
2595 683, 0, 387, 388, 0, 0, 0, 0, 0, 0,
2596 0, 0, 686, 0, 0, 0, 215, 0, 683, 0,
2597 681, 250, 0, 0, 0, 0, 686, 0, 686, 1027,
2598 0, 681, 685, 0, 0, 0, 681, 685, 0, 685,
2599 0, 0, 0, 250, 0, 250, 0, 0, 1192, 0,
2600 1200, 0, 0, 0, 0, 0, 0, 0, 802, 803,
2601 0, 0, 0, 0, 0, 389, 0, 0, 0, 0,
2602 685, 0, 0, 0, 0, 0, 686, 804, 0, 0,
2603 0, 0, 0, 0, 0, 805, 806, 807, 34, 0,
2604 0, 0, 0, 681, 0, 0, 808, 0, 0, 797,
2605 0, 215, 0, 0, 0, 0, 0, 0, 685, 0,
2606 0, 683, 0, 0, 0, 215, 0, 1254, 1255, 0,
2607 0, 0, 250, 0, 215, 683, 0, 683, 0, 0,
2608 0, 0, 0, 0, 0, 686, 0, 0, 0, 215,
2609 686, 809, 686, 0, 0, 0, 0, 0, 681, 0,
2610 685, 0, 0, 0, 810, 0, 681, 0, 0, 0,
2611 681, 0, 0, 681, 0, 0, 82, 83, 0, 84,
2612 85, 86, 0, 686, 0, 683, 0, 27, 28, 685,
2613 685, 0, 0, 0, 811, 685, 1386, 34, 0, 200,
2614 1200, 0, 812, 0, 97, 98, 99, 100, 101, 102,
2615 103, 104, 105, 106, 107, 108, 109, 0, 0, 0,
2616 0, 686, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 201, 0, 0,
2618 250, 0, 0, 0, 683, 0, 0, 0, 0, 683,
2619 0, 683, 0, 0, 0, 0, 250, 0, 0, 250,
2620 0, 0, 0, 686, 0, 0, 0, 0, 175, 250,
2621 0, 79, 0, 81, 0, 82, 83, 0, 84, 85,
2622 86, 0, 683, 0, 0, 0, 0, 89, 0, 0,
2623 0, 0, 686, 686, 0, 0, 0, 0, 686, 685,
2624 0, 96, 1389, 97, 98, 99, 100, 101, 102, 103,
2625 104, 105, 106, 107, 108, 109, 0, 0, 0, 408,
2626 683, 0, 0, 0, 114, 0, 0, 0, 0, 0,
2627 685, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 685, 0, 0, 0, 0, 685, 0, 0, 0,
2629 0, 0, 0, 250, 0, 0, 0, 0, 0, 0,
2630 0, 0, 683, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 179, 181, 0, 183, 184, 185, 0, 188,
2632 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
2633 199, 683, 683, 209, 212, 0, 0, 683, 0, 0,
2634 0, 0, 686, 685, 0, 0, 230, 0, 0, 0,
2635 0, 1484, 0, 238, 0, 241, 0, 0, 257, 0,
2636 262, 0, 0, 0, 0, 1192, 0, 0, 0, 0,
2637 0, 0, 0, 686, 0, 0, 0, 0, 0, 0,
2638 0, 0, 0, 0, 686, 0, 0, 296, 0, 686,
2639 0, 0, 0, 0, 0, 0, 0, 0, 685, 0,
2640 0, 303, 0, 0, 0, 0, 685, 0, 0, 0,
2641 685, 0, 1462, 685, 0, 0, 0, 0, 306, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 338,
2643 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
2644 0, 683, 0, 0, 0, 341, 686, 342, 343, 344,
2645 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2646 355, 356, 357, 358, 359, 360, 361, 362, 1426, 363,
2647 0, 0, 683, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 683, 0, 0, 0, 0, 683, 404,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 686, 0, 0, 0, 0, 0, 0, 0, 686,
2651 0, 0, 0, 686, 0, 0, 686, 0, 0, 0,
2652 946, 947, 948, 34, 0, 0, 0, 0, 0, 0,
2653 428, 0, 0, 428, 338, 339, 340, 0, 0, 0,
2654 230, 439, 0, 0, 0, 683, 0, 0, 0, 0,
2655 341, 0, 342, 343, 344, 345, 346, 347, 348, 349,
2656 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2657 360, 361, 362, 0, 363, 0, 250, 0, 0, 0,
2658 0, 0, 0, 0, 306, 0, 0, 0, 0, 0,
2659 209, 250, 0, 0, 511, 0, 0, 0, 0, 0,
2660 683, 82, 83, 0, 84, 85, 86, 0, 683, 0,
2661 0, 0, 683, 0, 0, 683, 0, 545, 800, 0,
2662 0, 0, 0, 0, 0, 0, 0, 96, 554, 97,
2663 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2664 108, 109, 0, 0, 0, 560, 561, 562, 564, 565,
2665 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2666 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2667 0, 0, 587, 587, 0, 590, 0, 0, 0, 0,
2668 0, 0, 606, 608, 609, 610, 611, 612, 613, 614,
2669 615, 616, 617, 618, 0, 0, 0, 0, 0, 587,
2670 623, 0, 554, 587, 626, 0, 0, 0, 0, 0,
2671 606, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 638, 0, 640, 886, 0, 338, 339, 340, 554, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 652, 0,
2674 653, 341, 1093, 342, 343, 344, 345, 346, 347, 348,
2675 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2676 359, 360, 361, 362, 0, 363, 0, 691, 0, 0,
2677 694, 697, 698, 0, 0, 0, 0, 0, 338, 339,
2678 340, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 709, 341, 0, 342, 343, 344, 345,
2680 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
2681 356, 357, 358, 359, 360, 361, 362, 0, 363, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 738, 0,
2683 0, 0, 0, 0, 0, 5, 6, 7, 8, 9,
2684 0, 0, 0, 0, 0, 10, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 429,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 776, 0, 0, 0, 0, 12, 13, 0, 0, 0,
2688 0, 14, 0, 15, 16, 17, 18, 19, 20, 21,
2689 22, 23, 24, 25, 26, 27, 28, 29, 30, 0,
2690 0, 784, 31, 32, 33, 34, 35, 36, 0, 37,
2691 296, 0, 1094, 38, 39, 40, 41, 0, 42, 0,
2692 43, 0, 44, 0, 0, 45, 793, 0, 0, 46,
2693 47, 48, 49, 0, 51, 52, 0, 53, 0, 55,
2694 56, 57, 58, 171, 172, 61, 0, 62, 63, 64,
2695 0, 0, 826, 0, 0, 0, 0, 68, 69, 0,
2696 70, 71, 72, 73, 74, 230, 0, 934, 0, 0,
2697 0, 75, 0, 0, 0, 0, 175, 77, 78, 79,
2698 80, 81, 0, 82, 83, 0, 84, 85, 86, 0,
2699 0, 0, 88, 0, 0, 89, 870, 0, 0, 0,
2700 0, 90, 0, 0, 0, 0, 93, 94, 95, 96,
2701 0, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2702 106, 107, 108, 109, 110, 0, 0, 111, 0, 112,
2703 113, 0, 114, 115, 0, 116, 117, 0, 0, 0,
2704 901, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 908, 403, 376, 377, 378, 379, 380,
2706 381, 382, 383, 384, 385, 386, 0, 0, 0, 0,
2707 0, 0, 0, 0, 923, 0, 0, 791, 0, 0,
2708 0, 0, 0, 0, 931, 0, 34, 932, 200, 933,
2709 0, 0, 0, 554, 0, 0, 0, 0, 0, 0,
2710 387, 388, 554, 0, 0, 0, 0, 0, 0, 0,
2711 0, 338, 339, 340, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 201, 341, 965, 342,
2713 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2714 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2715 0, 363, 0, 0, 0, 0, 0, 175, 0, 0,
2716 79, 0, 81, 389, 82, 83, 0, 84, 85, 86,
2717 0, 0, 0, 0, 0, 0, 0, 0, 1009, 1010,
2718 1011, 0, 0, 0, 694, 1013, 0, 0, 0, 0,
2719 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
2720 105, 106, 107, 108, 109, 0, 1026, 0, 202, 0,
2721 0, 0, 0, 114, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 1046, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 338,
2724 339, 340, 554, 0, 0, 0, 0, 0, 0, 0,
2725 554, 0, 1026, 0, 0, 341, 0, 342, 343, 344,
2726 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2727 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2728 0, 0, 230, 0, 0, 338, 339, 340, 0, 0,
2729 0, 1092, 0, 0, 0, 0, 0, 0, 0, 0,
2730 942, 341, 0, 342, 343, 344, 345, 346, 347, 348,
2731 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2732 359, 360, 361, 362, 0, 363, 0, 5, 6, 7,
2733 8, 9, 0, 0, 0, 0, 0, 10, 0, 1135,
2734 0, 0, 0, 1136, 0, 1137, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 554, 0, 0, 0, 0,
2736 0, 0, 1151, 554, 0, 0, 11, 12, 13, 0,
2737 0, 554, 0, 14, 0, 15, 16, 17, 18, 19,
2738 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2739 30, 0, 0, 0, 31, 32, 33, 34, 35, 36,
2740 0, 37, 0, 0, 0, 38, 39, 40, 41, 0,
2741 42, 0, 43, 0, 44, 0, 0, 45, 0, 1184,
2742 0, 46, 47, 48, 49, 50, 51, 52, 966, 53,
2743 54, 55, 56, 57, 58, 59, 60, 61, 0, 62,
2744 63, 64, 65, 66, 67, 0, 0, 0, 0, 68,
2745 69, 554, 70, 71, 72, 73, 74, 0, 0, 0,
2746 0, 0, 0, 75, 0, 0, 0, 0, 76, 77,
2747 78, 79, 80, 81, 1143, 82, 83, 0, 84, 85,
2748 86, 87, 0, 0, 88, 0, 0, 89, 0, 0,
2749 0, 0, 0, 90, 91, 0, 92, 0, 93, 94,
2750 95, 96, 0, 97, 98, 99, 100, 101, 102, 103,
2751 104, 105, 106, 107, 108, 109, 110, 0, 0, 111,
2752 0, 112, 113, 902, 114, 115, 0, 116, 117, 0,
2753 0, 554, 5, 6, 7, 8, 9, 0, 0, 0,
2754 0, 0, 10, 347, 348, 349, 350, 351, 352, 353,
2755 354, 355, 356, 357, 358, 359, 360, 361, 362, 1381,
2756 363, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2757 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
2758 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2759 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
2760 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
2761 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
2762 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
2763 50, 51, 52, 0, 53, 54, 55, 56, 57, 58,
2764 59, 60, 61, 0, 62, 63, 64, 65, 66, 67,
2765 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
2766 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
2767 0, 0, 0, 76, 77, 78, 79, 80, 81, 0,
2768 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
2769 0, 0, 89, 0, 0, 0, 0, 0, 90, 91,
2770 0, 92, 0, 93, 94, 95, 96, 0, 97, 98,
2771 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2772 109, 110, 0, 0, 111, 0, 112, 113, 1028, 114,
2773 115, 340, 116, 117, 5, 6, 7, 8, 9, 0,
2774 0, 0, 0, 0, 10, 341, 0, 342, 343, 344,
2775 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2776 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2777 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
2778 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
2779 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
2780 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
2781 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
2782 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
2783 48, 49, 50, 51, 52, 0, 53, 54, 55, 56,
2784 57, 58, 59, 60, 61, 0, 62, 63, 64, 65,
2785 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
2786 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
2787 75, 0, 0, 0, 0, 76, 77, 78, 79, 80,
2788 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
2789 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
2790 90, 91, 0, 92, 0, 93, 94, 95, 96, 0,
2791 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2792 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
2793 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
2794 9, 0, 0, 0, 0, 341, 10, 342, 343, 344,
2795 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2796 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
2797 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
2798 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
2799 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2800 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
2801 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
2802 0, 43, 0, 44, 0, 0, 45, 0, 0, 0,
2803 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
2804 55, 56, 57, 58, 59, 60, 61, 0, 62, 63,
2805 64, 0, 66, 67, 0, 0, 0, 0, 68, 69,
2806 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
2807 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
2808 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
2809 87, 0, 0, 88, 0, 0, 89, 0, 0, 0,
2810 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
2811 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
2812 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
2813 112, 113, 539, 114, 115, 0, 116, 117, 5, 6,
2814 7, 8, 9, 0, 0, 0, 0, 0, 10, 342,
2815 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
2816 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
2817 0, 363, 0, 0, 0, 0, 0, 11, 12, 13,
2818 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
2819 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2820 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
2821 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
2822 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
2823 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
2824 53, 0, 55, 56, 57, 58, 59, 60, 61, 0,
2825 62, 63, 64, 0, 66, 67, 0, 0, 0, 0,
2826 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
2827 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
2828 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
2829 85, 86, 87, 0, 0, 88, 0, 0, 89, 0,
2830 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
2831 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
2832 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
2833 111, 0, 112, 113, 881, 114, 115, 0, 116, 117,
2834 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
2835 10, 343, 344, 345, 346, 347, 348, 349, 350, 351,
2836 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
2837 362, 0, 363, 0, 0, 0, 0, 0, 0, 11,
2838 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
2839 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2840 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
2841 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
2842 40, 41, 0, 42, 0, 43, 0, 44, 0, 0,
2843 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
2844 52, 0, 53, 0, 55, 56, 57, 58, 59, 60,
2845 61, 0, 62, 63, 64, 0, 66, 67, 0, 0,
2846 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
2847 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
2848 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
2849 0, 84, 85, 86, 87, 0, 0, 88, 0, 0,
2850 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
2851 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
2852 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2853 0, 0, 111, 0, 112, 113, 972, 114, 115, 0,
2854 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
2855 0, 0, 10, 344, 345, 346, 347, 348, 349, 350,
2856 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
2857 361, 362, 0, 363, 0, 0, 0, 0, 0, 0,
2858 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
2859 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2860 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
2861 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
2862 38, 39, 40, 41, 974, 42, 0, 43, 0, 44,
2863 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
2864 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
2865 59, 60, 61, 0, 62, 63, 64, 0, 66, 67,
2866 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
2867 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
2868 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
2869 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
2870 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
2871 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
2872 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2873 109, 110, 0, 0, 111, 0, 112, 113, 0, 114,
2874 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
2875 0, 0, 0, 0, 10, 345, 346, 347, 348, 349,
2876 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2877 360, 361, 362, 0, 363, 0, 0, 0, 0, 0,
2878 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
2879 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
2880 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
2881 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
2882 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
2883 0, 44, 1089, 0, 45, 0, 0, 0, 46, 47,
2884 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
2885 57, 58, 59, 60, 61, 0, 62, 63, 64, 0,
2886 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
2887 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
2888 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
2889 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
2890 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
2891 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
2892 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2893 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
2894 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
2895 9, 0, 0, 0, 0, 0, 10, 346, 347, 348,
2896 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2897 359, 360, 361, 362, 0, 363, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
2899 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
2900 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2901 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
2902 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
2903 0, 43, 0, 44, 0, 0, 45, 0, 0, 0,
2904 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
2905 55, 56, 57, 58, 59, 60, 61, 0, 62, 63,
2906 64, 0, 66, 67, 0, 0, 0, 0, 68, 69,
2907 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
2908 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
2909 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
2910 87, 0, 0, 88, 0, 0, 89, 0, 0, 0,
2911 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
2912 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
2913 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
2914 112, 113, 1186, 114, 115, 0, 116, 117, 5, 6,
2915 7, 8, 9, 0, 0, 0, 0, 0, 10, -797,
2916 -797, -797, -797, 351, 352, 353, 354, 355, 356, 357,
2917 358, 359, 360, 361, 362, 0, 363, 0, 0, 0,
2918 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
2919 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
2920 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2921 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
2922 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
2923 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
2924 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
2925 53, 0, 55, 56, 57, 58, 59, 60, 61, 0,
2926 62, 63, 64, 0, 66, 67, 0, 0, 0, 0,
2927 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
2928 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
2929 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
2930 85, 86, 87, 0, 0, 88, 0, 0, 89, 0,
2931 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
2932 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
2933 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
2934 111, 0, 112, 113, 1382, 114, 115, 0, 116, 117,
2935 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
2936 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
2939 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
2940 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2941 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
2942 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
2943 40, 41, 0, 42, 0, 43, 1421, 44, 0, 0,
2944 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
2945 52, 0, 53, 0, 55, 56, 57, 58, 59, 60,
2946 61, 0, 62, 63, 64, 0, 66, 67, 0, 0,
2947 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
2948 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
2949 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
2950 0, 84, 85, 86, 87, 0, 0, 88, 0, 0,
2951 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
2952 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
2953 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2954 0, 0, 111, 0, 112, 113, 0, 114, 115, 0,
2955 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
2956 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
2957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2959 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
2960 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2961 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
2962 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
2963 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
2964 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
2965 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
2966 59, 60, 61, 0, 62, 63, 64, 0, 66, 67,
2967 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
2968 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
2969 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
2970 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
2971 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
2972 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
2973 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2974 109, 110, 0, 0, 111, 0, 112, 113, 1451, 114,
2975 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
2976 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
2977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2979 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
2980 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
2981 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
2982 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
2983 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
2984 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
2985 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
2986 57, 58, 59, 60, 61, 0, 62, 63, 64, 0,
2987 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
2988 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
2989 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
2990 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
2991 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
2992 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
2993 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2994 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
2995 1452, 114, 115, 0, 116, 117, 5, 6, 7, 8,
2996 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
2997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999 0, 0, 0, 0, 0, 11, 12, 13, 0, 0,
3000 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3001 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3002 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3003 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
3004 1455, 43, 0, 44, 0, 0, 45, 0, 0, 0,
3005 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
3006 55, 56, 57, 58, 59, 60, 61, 0, 62, 63,
3007 64, 0, 66, 67, 0, 0, 0, 0, 68, 69,
3008 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3009 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3010 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
3011 87, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3012 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
3013 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3014 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3015 112, 113, 0, 114, 115, 0, 116, 117, 5, 6,
3016 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3019 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
3020 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3021 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3022 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
3023 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
3024 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
3025 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
3026 53, 0, 55, 56, 57, 58, 59, 60, 61, 0,
3027 62, 63, 64, 0, 66, 67, 0, 0, 0, 0,
3028 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3029 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3030 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
3031 85, 86, 87, 0, 0, 88, 0, 0, 89, 0,
3032 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3033 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3034 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3035 111, 0, 112, 113, 1470, 114, 115, 0, 116, 117,
3036 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3037 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
3040 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3041 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3042 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
3043 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
3044 40, 41, 0, 42, 0, 43, 0, 44, 0, 0,
3045 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
3046 52, 0, 53, 0, 55, 56, 57, 58, 59, 60,
3047 61, 0, 62, 63, 64, 0, 66, 67, 0, 0,
3048 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
3049 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3050 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
3051 0, 84, 85, 86, 87, 0, 0, 88, 0, 0,
3052 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3053 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
3054 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3055 0, 0, 111, 0, 112, 113, 1523, 114, 115, 0,
3056 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3057 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3060 0, 11, 12, 13, 0, 0, 0, 0, 14, 0,
3061 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3062 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
3063 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
3064 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
3065 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
3066 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
3067 59, 60, 61, 0, 62, 63, 64, 0, 66, 67,
3068 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
3069 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3070 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
3071 82, 83, 0, 84, 85, 86, 87, 0, 0, 88,
3072 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3073 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
3074 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3075 109, 110, 0, 0, 111, 0, 112, 113, 1529, 114,
3076 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3077 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3079 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3080 0, 0, 0, 11, 12, 13, 0, 0, 0, 0,
3081 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3082 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
3083 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
3084 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
3085 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
3086 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
3087 57, 58, 59, 60, 61, 0, 62, 63, 64, 0,
3088 66, 67, 0, 0, 0, 0, 68, 69, 0, 70,
3089 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3090 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
3091 81, 0, 82, 83, 0, 84, 85, 86, 87, 0,
3092 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3093 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
3094 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3095 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
3096 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3097 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3099 655, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3100 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3101 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3102 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3103 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3104 37, 0, 0, 0, 38, 39, 40, 41, 0, 42,
3105 0, 43, 0, 44, 0, 0, 45, 0, 0, 0,
3106 46, 47, 48, 49, 0, 51, 52, 0, 53, 0,
3107 55, 56, 57, 58, 171, 172, 61, 0, 62, 63,
3108 64, 0, 0, 0, 0, 0, 0, 0, 68, 69,
3109 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3110 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3111 79, 80, 81, 0, 82, 83, 0, 84, 85, 86,
3112 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3113 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
3114 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3115 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3116 112, 113, 0, 114, 115, 0, 116, 117, 5, 6,
3117 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3119 0, 0, 841, 0, 0, 0, 0, 0, 0, 0,
3120 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3121 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3122 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3123 29, 30, 0, 0, 0, 31, 32, 33, 34, 35,
3124 36, 0, 37, 0, 0, 0, 38, 39, 40, 41,
3125 0, 42, 0, 43, 0, 44, 0, 0, 45, 0,
3126 0, 0, 46, 47, 48, 49, 0, 51, 52, 0,
3127 53, 0, 55, 56, 57, 58, 171, 172, 61, 0,
3128 62, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3129 68, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3130 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3131 77, 78, 79, 80, 81, 0, 82, 83, 0, 84,
3132 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3133 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3134 94, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3135 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3136 111, 0, 112, 113, 0, 114, 115, 0, 116, 117,
3137 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3138 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3139 0, 0, 0, 0, 1244, 0, 0, 0, 0, 0,
3140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3141 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3142 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3143 27, 28, 29, 30, 0, 0, 0, 31, 32, 33,
3144 34, 35, 36, 0, 37, 0, 0, 0, 38, 39,
3145 40, 41, 0, 42, 0, 43, 0, 44, 0, 0,
3146 45, 0, 0, 0, 46, 47, 48, 49, 0, 51,
3147 52, 0, 53, 0, 55, 56, 57, 58, 171, 172,
3148 61, 0, 62, 63, 64, 0, 0, 0, 0, 0,
3149 0, 0, 68, 69, 0, 70, 71, 72, 73, 74,
3150 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3151 0, 175, 77, 78, 79, 80, 81, 0, 82, 83,
3152 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3153 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3154 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
3155 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3156 0, 0, 111, 0, 112, 113, 0, 114, 115, 0,
3157 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3158 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3159 0, 0, 0, 0, 0, 0, 1375, 0, 0, 0,
3160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3161 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3162 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3163 25, 26, 27, 28, 29, 30, 0, 0, 0, 31,
3164 32, 33, 34, 35, 36, 0, 37, 0, 0, 0,
3165 38, 39, 40, 41, 0, 42, 0, 43, 0, 44,
3166 0, 0, 45, 0, 0, 0, 46, 47, 48, 49,
3167 0, 51, 52, 0, 53, 0, 55, 56, 57, 58,
3168 171, 172, 61, 0, 62, 63, 64, 0, 0, 0,
3169 0, 0, 0, 0, 68, 69, 0, 70, 71, 72,
3170 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3171 0, 0, 0, 175, 77, 78, 79, 80, 81, 0,
3172 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3173 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3174 0, 0, 0, 93, 94, 95, 96, 0, 97, 98,
3175 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3176 109, 110, 0, 0, 111, 0, 112, 113, 0, 114,
3177 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3178 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3181 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3182 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3183 23, 24, 25, 26, 27, 28, 29, 30, 0, 0,
3184 0, 31, 32, 33, 34, 35, 36, 0, 37, 0,
3185 0, 0, 38, 39, 40, 41, 0, 42, 0, 43,
3186 0, 44, 0, 0, 45, 0, 0, 0, 46, 47,
3187 48, 49, 0, 51, 52, 0, 53, 0, 55, 56,
3188 57, 58, 171, 172, 61, 0, 62, 63, 64, 0,
3189 0, 0, 0, 0, 0, 0, 68, 69, 0, 70,
3190 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3191 75, 0, 0, 0, 0, 175, 77, 78, 79, 80,
3192 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3193 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3194 90, 0, 0, 0, 0, 93, 94, 95, 96, 0,
3195 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3196 107, 108, 109, 110, 0, 0, 111, 0, 112, 113,
3197 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3198 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3200 0, 0, 0, 0, 0, 602, 0, 0, 0, 0,
3201 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3202 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3203 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3204 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3205 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3207 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3208 0, 56, 57, 58, 171, 172, 173, 0, 34, 63,
3209 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3210 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3211 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3212 79, 603, 81, 0, 82, 83, 0, 84, 85, 86,
3213 0, 0, 1204, 88, 0, 0, 89, 0, 0, 0,
3214 0, 0, 90, 0, 0, 0, 0, 93, 94, 95,
3215 96, 254, 97, 98, 99, 100, 101, 102, 103, 104,
3216 105, 106, 107, 108, 109, 110, 82, 83, 111, 84,
3217 85, 86, 0, 114, 115, 0, 116, 117, 5, 6,
3218 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3219 0, 0, 96, 0, 97, 98, 99, 100, 101, 102,
3220 103, 104, 105, 106, 107, 108, 109, 0, 0, 0,
3221 1205, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3222 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3223 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3224 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3225 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3227 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
3228 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3229 0, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3230 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3231 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3232 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3233 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3234 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3235 94, 95, 96, 254, 97, 98, 99, 100, 101, 102,
3236 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3237 111, 0, 255, 0, 0, 114, 115, 0, 116, 117,
3238 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3239 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3242 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3243 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3244 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3245 34, 35, 36, 0, 0, 0, 0, 0, 38, 0,
3246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3247 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3248 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3249 173, 0, 34, 63, 64, 0, 0, 0, 0, 0,
3250 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3251 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3252 0, 175, 77, 78, 79, 603, 81, 0, 82, 83,
3253 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3254 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3255 0, 93, 94, 95, 96, 0, 97, 98, 99, 100,
3256 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3257 82, 83, 111, 84, 85, 86, 0, 114, 115, 0,
3258 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3259 0, 0, 10, 0, 0, 0, 96, 0, 97, 98,
3260 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3261 109, 208, 0, 0, 556, 0, 0, 0, 0, 0,
3262 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3263 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3264 25, 26, 27, 28, 29, 0, 0, 0, 0, 31,
3265 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
3266 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3267 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
3268 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
3269 171, 172, 173, 0, 34, 63, 64, 0, 0, 0,
3270 0, 0, 0, 0, 174, 69, 0, 70, 71, 72,
3271 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3272 0, 0, 0, 175, 77, 78, 79, 0, 81, 0,
3273 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3274 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3275 0, 0, 0, 93, 0, 95, 96, 0, 97, 98,
3276 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3277 109, 110, 82, 83, 111, 84, 85, 86, 0, 114,
3278 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3279 0, 0, 0, 0, 10, 0, 0, 0, 96, 0,
3280 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3281 107, 108, 109, 0, 0, 0, 774, 0, 0, 0,
3282 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3283 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3284 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
3285 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
3286 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3288 0, 49, 0, 0, 0, 0, 0, 0, 0, 56,
3289 57, 58, 171, 172, 173, 0, 0, 63, 64, 0,
3290 0, 0, 0, 0, 0, 0, 174, 69, 0, 70,
3291 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3292 75, 0, 0, 0, 0, 175, 77, 78, 79, 0,
3293 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3294 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3295 90, 0, 0, 0, 0, 93, 0, 95, 96, 0,
3296 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3297 107, 108, 109, 110, 0, 0, 111, 0, 237, 0,
3298 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3299 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3302 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3303 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3304 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3305 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3306 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3309 0, 56, 57, 58, 171, 172, 173, 0, 0, 63,
3310 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3311 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3312 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3313 79, 0, 81, 0, 82, 83, 0, 84, 85, 86,
3314 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3315 0, 0, 90, 0, 0, 0, 0, 93, 0, 95,
3316 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3317 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3318 240, 0, 0, 114, 115, 0, 116, 117, 5, 6,
3319 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3322 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3323 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3324 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3325 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3326 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3328 0, 0, 295, 0, 0, 49, 0, 0, 0, 0,
3329 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3330 34, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3331 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3332 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3333 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3334 85, 86, 0, 0, 0, 88, 1004, 0, 89, 0,
3335 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3336 0, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3337 103, 104, 105, 106, 107, 108, 109, 110, 82, 83,
3338 111, 84, 85, 86, 0, 114, 115, 0, 116, 117,
3339 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3340 10, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3341 101, 102, 103, 104, 105, 106, 107, 108, 109, 0,
3342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3343 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3344 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3345 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3346 34, 35, 36, 0, 0, 0, 0, 0, 38, 0,
3347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3348 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3349 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3350 173, 0, 0, 63, 64, 0, 0, 0, 0, 0,
3351 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3352 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3353 0, 175, 77, 78, 79, 0, 81, 0, 82, 83,
3354 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3355 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3356 0, 93, 0, 95, 96, 0, 97, 98, 99, 100,
3357 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3358 0, 0, 111, 427, 0, 0, 0, 114, 115, 0,
3359 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3360 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 0, 551, 0, 0, 0, 0, 0, 0, 0, 0,
3363 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3364 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3365 25, 26, 27, 28, 29, 0, 0, 0, 0, 31,
3366 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
3367 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
3369 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
3370 171, 172, 173, 0, 0, 63, 64, 0, 0, 0,
3371 0, 0, 0, 0, 174, 69, 0, 70, 71, 72,
3372 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3373 0, 0, 0, 175, 77, 78, 79, 0, 81, 0,
3374 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3375 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3376 0, 0, 0, 93, 0, 95, 96, 0, 97, 98,
3377 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3378 109, 110, 0, 0, 111, 0, 0, 0, 0, 114,
3379 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3380 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3381 0, 0, 0, 0, 0, 0, 0, 0, 563, 0,
3382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3383 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3384 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3385 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
3386 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
3387 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3389 0, 49, 0, 0, 0, 0, 0, 0, 0, 56,
3390 57, 58, 171, 172, 173, 0, 34, 63, 64, 0,
3391 0, 0, 0, 0, 0, 0, 174, 69, 0, 70,
3392 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3393 75, 0, 0, 0, 0, 175, 77, 78, 79, 0,
3394 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3395 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3396 90, 0, 0, 0, 0, 93, 0, 95, 96, 0,
3397 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3398 107, 108, 109, 110, 82, 83, 111, 84, 85, 86,
3399 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3400 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3401 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3402 105, 106, 107, 108, 109, 602, 0, 0, 0, 0,
3403 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3404 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3405 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3406 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3407 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3410 0, 56, 57, 58, 171, 172, 173, 0, 0, 63,
3411 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3412 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3413 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3414 79, 0, 81, 0, 82, 83, 0, 84, 85, 86,
3415 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3416 0, 0, 90, 0, 0, 0, 0, 93, 0, 95,
3417 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3418 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3419 0, 0, 0, 114, 115, 0, 116, 117, 5, 6,
3420 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 0, 0, 637, 0, 0,
3423 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3424 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3425 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3426 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3427 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3429 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
3430 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3431 0, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3432 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3433 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3434 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3435 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3436 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3437 0, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3438 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3439 111, 0, 0, 0, 0, 114, 115, 0, 116, 117,
3440 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3441 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 639,
3443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3444 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3445 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3446 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3447 34, 35, 36, 0, 0, 0, 0, 0, 38, 0,
3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3449 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3450 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3451 173, 0, 0, 63, 64, 0, 0, 0, 0, 0,
3452 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3453 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3454 0, 175, 77, 78, 79, 0, 81, 0, 82, 83,
3455 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3456 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3457 0, 93, 0, 95, 96, 0, 97, 98, 99, 100,
3458 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3459 0, 0, 111, 0, 0, 0, 0, 114, 115, 0,
3460 116, 117, 5, 6, 7, 8, 9, 0, 0, 0,
3461 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 12, 13, 0, 0, 0, 0, 14, 0,
3465 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3466 25, 26, 27, 28, 29, 0, 0, 0, 0, 31,
3467 32, 33, 34, 35, 36, 0, 0, 0, 0, 0,
3468 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
3470 0, 0, 0, 0, 0, 0, 0, 56, 57, 58,
3471 171, 172, 173, 0, 0, 63, 64, 0, 0, 0,
3472 0, 0, 0, 0, 174, 69, 0, 70, 71, 72,
3473 73, 74, 0, 0, 0, 0, 0, 0, 75, 0,
3474 0, 0, 0, 175, 77, 78, 79, 0, 81, 0,
3475 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3476 0, 0, 89, 0, 0, 0, 0, 0, 90, 0,
3477 0, 0, 0, 93, 0, 95, 96, 0, 97, 98,
3478 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3479 109, 110, 0, 0, 111, 0, 0, 651, 0, 114,
3480 115, 0, 116, 117, 5, 6, 7, 8, 9, 0,
3481 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3483 0, 0, 0, 922, 0, 0, 0, 0, 0, 0,
3484 0, 0, 0, 0, 12, 13, 0, 0, 0, 0,
3485 14, 0, 15, 16, 17, 18, 19, 20, 21, 22,
3486 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
3487 0, 31, 32, 33, 34, 35, 36, 0, 0, 0,
3488 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 49, 0, 0, 0, 0, 0, 0, 0, 56,
3491 57, 58, 171, 172, 173, 0, 0, 63, 64, 0,
3492 0, 0, 0, 0, 0, 0, 174, 69, 0, 70,
3493 71, 72, 73, 74, 0, 0, 0, 0, 0, 0,
3494 75, 0, 0, 0, 0, 175, 77, 78, 79, 0,
3495 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3496 0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
3497 90, 0, 0, 0, 0, 93, 0, 95, 96, 0,
3498 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3499 107, 108, 109, 110, 0, 0, 111, 0, 0, 0,
3500 0, 114, 115, 0, 116, 117, 5, 6, 7, 8,
3501 9, 0, 0, 0, 0, 0, 10, 0, 0, 0,
3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3503 0, 0, 0, 0, 0, 964, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
3505 0, 0, 14, 0, 15, 16, 17, 18, 19, 20,
3506 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
3507 0, 0, 0, 31, 32, 33, 34, 35, 36, 0,
3508 0, 0, 0, 0, 38, 0, 0, 0, 0, 0,
3509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3510 0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
3511 0, 56, 57, 58, 171, 172, 173, 0, 0, 63,
3512 64, 0, 0, 0, 0, 0, 0, 0, 174, 69,
3513 0, 70, 71, 72, 73, 74, 0, 0, 0, 0,
3514 0, 0, 75, 0, 0, 0, 0, 175, 77, 78,
3515 79, 0, 81, 0, 82, 83, 0, 84, 85, 86,
3516 0, 0, 0, 88, 0, 0, 89, 0, 0, 0,
3517 0, 0, 90, 0, 0, 0, 0, 93, 0, 95,
3518 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3519 105, 106, 107, 108, 109, 110, 0, 0, 111, 0,
3520 0, 0, 0, 114, 115, 0, 116, 117, 5, 6,
3521 7, 8, 9, 0, 0, 0, 0, 0, 10, 0,
3522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
3525 0, 0, 0, 0, 14, 0, 15, 16, 17, 18,
3526 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3527 29, 0, 0, 0, 0, 31, 32, 33, 34, 35,
3528 36, 0, 0, 0, 0, 0, 38, 0, 0, 0,
3529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3530 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
3531 0, 0, 0, 56, 57, 58, 171, 172, 173, 0,
3532 0, 63, 64, 0, 0, 0, 0, 0, 0, 0,
3533 174, 69, 0, 70, 71, 72, 73, 74, 0, 0,
3534 0, 0, 0, 0, 75, 0, 0, 0, 0, 175,
3535 77, 78, 79, 0, 81, 0, 82, 83, 0, 84,
3536 85, 86, 0, 0, 0, 88, 0, 0, 89, 0,
3537 0, 0, 0, 0, 90, 0, 0, 0, 0, 93,
3538 0, 95, 96, 0, 97, 98, 99, 100, 101, 102,
3539 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
3540 111, 0, 0, 0, 0, 114, 115, 0, 116, 117,
3541 5, 6, 7, 8, 9, 0, 0, 0, 0, 0,
3542 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3545 12, 13, 0, 0, 0, 0, 14, 0, 15, 16,
3546 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3547 27, 28, 29, 0, 0, 0, 0, 31, 32, 33,
3548 34, 510, 36, 0, 0, 0, 0, 0, 38, 0,
3549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3550 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
3551 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3552 173, 0, 0, 63, 64, 0, 0, 0, 0, 0,
3553 0, 0, 174, 69, 0, 70, 71, 72, 73, 74,
3554 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
3555 0, 175, 77, 78, 79, 0, 81, 0, 82, 83,
3556 0, 84, 85, 86, 0, 0, 0, 88, 0, 0,
3557 89, 0, 0, 0, 0, 0, 90, 0, 0, 0,
3558 0, 93, 0, 95, 96, 0, 97, 98, 99, 100,
3559 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3560 0, 0, 111, 338, 339, 340, 0, 114, 115, 0,
3561 116, 117, 0, 0, 0, 0, 0, 0, 0, 341,
3562 0, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3563 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3564 361, 362, 0, 363, 338, 339, 340, 0, 0, 0,
3565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3566 341, 0, 342, 343, 344, 345, 346, 347, 348, 349,
3567 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3568 360, 361, 362, 0, 363, 0, 0, 0, 338, 339,
3569 340, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3570 0, 0, 0, 0, 341, 0, 342, 343, 344, 345,
3571 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
3572 356, 357, 358, 359, 360, 361, 362, 0, 363, 0,
3573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3575 0, 338, 339, 340, 0, 1263, 1264, 1265, 1266, 1267,
3576 0, 0, 1268, 1269, 1270, 1271, 0, 341, 0, 342,
3577 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3578 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
3579 0, 363, 1218, 0, 0, 0, 0, 0, 0, 0,
3580 0, 0, 1272, 0, 0, 0, 0, 0, 0, 0,
3581 0, 0, 0, 0, 0, 1273, 1274, 1275, 1276, 1277,
3582 1278, 1279, 0, 0, 0, 34, 0, 0, 0, 0,
3583 0, 0, 0, 1219, 1280, 1281, 1282, 1283, 1284, 1285,
3584 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
3585 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305,
3586 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315,
3587 1316, 1317, 1318, 1319, 1320, 364, 0, 1321, 1322, 0,
3588 1323, 1324, 1325, 1326, 1327, 0, 0, 0, 0, 0,
3589 0, 0, 0, 0, 0, 0, 1328, 1329, 1330, 0,
3590 1331, 0, 0, 82, 83, 0, 84, 85, 86, 1332,
3591 0, 1333, 1334, 0, 1335, 0, 0, 0, 0, 0,
3592 0, 1336, 1337, 0, 1338, 1422, 1339, 1340, 1341, 96,
3593 0, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3594 106, 107, 108, 109, 338, 339, 340, 0, 0, 0,
3595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3596 341, 0, 342, 343, 344, 345, 346, 347, 348, 349,
3597 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3598 360, 361, 362, 0, 363, 338, 339, 340, 0, 0,
3599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3600 0, 341, 0, 342, 343, 344, 345, 346, 347, 348,
3601 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3602 359, 360, 361, 362, 0, 363, 338, 339, 340, 0,
3603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3604 0, 0, 341, 0, 342, 343, 344, 345, 346, 347,
3605 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3606 358, 359, 360, 361, 362, 0, 363, 338, 339, 340,
3607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3608 0, 0, 0, 341, 0, 342, 343, 344, 345, 346,
3609 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3610 357, 358, 359, 360, 361, 362, 0, 363, 0, 0,
3611 0, 0, 0, 0, 338, 339, 340, 0, 0, 0,
3612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3613 341, 443, 342, 343, 344, 345, 346, 347, 348, 349,
3614 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3615 360, 361, 362, 0, 363, 338, 339, 340, 0, 0,
3616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3617 0, 341, 445, 342, 343, 344, 345, 346, 347, 348,
3618 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3619 359, 360, 361, 362, 0, 363, 338, 339, 340, 0,
3620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3621 0, 0, 341, 457, 342, 343, 344, 345, 346, 347,
3622 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3623 358, 359, 360, 361, 362, 0, 363, 338, 339, 340,
3624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3625 0, 0, 0, 341, 481, 342, 343, 344, 345, 346,
3626 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3627 357, 358, 359, 360, 361, 362, 0, 363, 0, 0,
3628 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
3629 0, 34, 0, 200, 0, 0, 0, 0, 0, 341,
3630 629, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3631 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3632 361, 362, 0, 363, 338, 339, 340, 0, 0, 0,
3633 0, 0, 0, 0, 0, 0, 0, 593, 0, 0,
3634 341, 648, 342, 343, 344, 345, 346, 347, 348, 349,
3635 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3636 360, 361, 362, 242, 363, 0, 0, 0, 0, 82,
3637 83, 0, 84, 85, 86, 0, 0, 878, 0, 0,
3638 0, 0, 0, 0, 0, 0, 0, 0, 0, 243,
3639 0, 0, 0, 0, 0, 96, 0, 97, 98, 99,
3640 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3641 34, 0, 0, 0, 874, 875, 594, 0, 114, 0,
3642 0, 0, 0, 0, 0, 0, 0, 0, 0, 242,
3643 0, 0, 0, 0, 0, 0, 0, -292, 0, 0,
3644 0, 0, 0, 0, 0, 56, 57, 58, 171, 172,
3645 329, 0, 0, 0, 0, 243, 1252, 0, 0, 0,
3646 0, 0, 0, 244, 245, 0, 0, 0, 0, 0,
3647 0, 0, 0, 0, 0, 0, 34, 0, 0, 0,
3648 0, 175, 0, 0, 79, 0, 246, 0, 82, 83,
3649 0, 84, 85, 86, 0, 0, 1112, 0, 0, 0,
3650 0, 0, 0, 450, 0, 0, 247, 0, 0, 242,
3651 0, 0, 0, 95, 96, 0, 97, 98, 99, 100,
3652 101, 102, 103, 104, 105, 106, 107, 108, 109, 244,
3653 245, 0, 248, 0, 0, 243, 0, 0, 0, 0,
3654 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
3655 79, 0, 246, 0, 82, 83, 34, 84, 85, 86,
3656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3657 0, 0, 247, 0, 0, 242, 0, 0, 0, 0,
3658 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3659 105, 106, 107, 108, 109, 0, 0, 0, 248, 0,
3660 0, 243, 0, 0, 0, 0, 0, 0, 0, 244,
3661 245, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3662 0, 0, 34, 0, 0, 0, 0, 175, 0, 0,
3663 79, 0, 246, 0, 82, 83, 0, 84, 85, 86,
3664 0, 854, 0, 0, 0, 0, 0, 0, 0, 0,
3665 0, 0, 247, 0, 0, 242, 0, 0, 0, 0,
3666 96, 0, 97, 98, 99, 100, 101, 102, 103, 104,
3667 105, 106, 107, 108, 109, 244, 245, 0, 248, 0,
3668 0, 243, 0, 0, 0, 0, 0, 0, 0, 0,
3669 0, 0, 0, 175, 0, 0, 79, 0, 246, 0,
3670 82, 83, 34, 84, 85, 86, 0, 1098, 0, 0,
3671 835, 0, 0, 0, 0, 0, 0, 0, 247, 0,
3672 0, 0, 0, 0, 0, 0, 96, 0, 97, 98,
3673 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3674 109, 0, 0, 0, 248, 0, 0, 0, 0, 0,
3675 0, 34, 0, 200, 0, 244, 245, 0, 0, 0,
3676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3677 0, 0, 0, 175, 0, 0, 79, 0, 246, 0,
3678 82, 83, 0, 84, 85, 86, 0, 0, 0, 0,
3679 0, 201, 0, 0, 0, 0, 0, 0, 247, 0,
3680 0, 0, 0, 836, 0, 0, 96, 0, 97, 98,
3681 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3682 109, 0, 175, 0, 248, 79, 0, 81, 0, 82,
3683 83, 0, 84, 85, 86, 0, 0, 0, 0, 0,
3684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3685 0, 0, 673, 674, 0, 96, 0, 97, 98, 99,
3686 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3687 0, 675, 0, 202, 0, 0, 0, 0, 114, 31,
3688 32, 33, 34, 0, 0, 0, 0, 0, 0, 0,
3689 38, 338, 339, 340, 0, 0, 0, 0, 0, 0,
3690 0, 0, 0, 0, 0, 0, 0, 341, 0, 342,
3691 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3692 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
3693 34, 363, 200, 0, 0, 676, 0, 70, 71, 72,
3694 73, 74, 0, 0, 0, 0, 0, 0, 677, 0,
3695 0, 0, 0, 175, 77, 78, 79, 0, 678, 0,
3696 82, 83, 0, 84, 85, 86, 0, 0, 0, 88,
3697 201, 0, 0, 0, 0, 0, 0, 0, 679, 0,
3698 34, 0, 200, 93, 0, 0, 680, 0, 97, 98,
3699 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3700 109, 175, 0, 0, 79, 413, 81, 0, 82, 83,
3701 0, 84, 85, 86, 0, 0, 0, 0, 0, 0,
3702 201, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3703 0, 0, 502, 0, 96, 0, 97, 98, 99, 100,
3704 101, 102, 103, 104, 105, 106, 107, 108, 109, 0,
3705 0, 175, 202, 0, 79, 486, 81, 114, 82, 83,
3706 0, 84, 85, 86, 34, 0, 200, 0, 0, 0,
3707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3708 0, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3709 101, 102, 103, 104, 105, 106, 107, 108, 109, 0,
3710 0, 0, 202, 0, 201, 0, 0, 114, 0, 0,
3711 0, 0, 0, 0, 0, 0, 897, 0, 34, 0,
3712 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3713 0, 0, 0, 0, 0, 175, 0, 0, 79, 0,
3714 81, 0, 82, 83, 0, 84, 85, 86, 0, 0,
3715 0, 0, 0, 0, 0, 0, 0, 0, 201, 0,
3716 0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
3717 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3718 107, 108, 109, 34, 0, 200, 202, 0, 0, 175,
3719 0, 114, 79, 0, 81, 0, 82, 83, 0, 84,
3720 85, 86, 0, 0, 0, 0, 0, 0, 0, 0,
3721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3722 0, 0, 96, 213, 97, 98, 99, 100, 101, 102,
3723 103, 104, 105, 106, 107, 108, 109, 34, 0, 200,
3724 202, 0, 0, 0, 0, 114, 0, 0, 0, 0,
3725 0, 0, 0, 0, 175, 0, 0, 79, 0, 81,
3726 0, 82, 83, 0, 84, 85, 86, 0, 0, 0,
3727 0, 0, 0, 0, 0, 0, 0, 0, 34, 0,
3728 200, 0, 0, 0, 0, 0, 0, 96, 0, 97,
3729 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3730 108, 109, 0, 0, 0, 214, 0, 0, 0, 0,
3731 114, 0, 0, 0, 0, 82, 83, 0, 84, 85,
3732 86, 0, 0, 0, 0, 0, 0, 0, 34, 0,
3733 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3734 0, 96, 0, 97, 98, 99, 100, 101, 102, 103,
3735 104, 105, 106, 107, 108, 109, 82, 83, 0, 84,
3736 85, 86, 619, 0, 114, 0, 0, 0, 0, 34,
3737 0, 200, 0, 0, 0, 0, 0, 0, 0, 0,
3738 0, 0, 96, 0, 97, 98, 99, 100, 101, 102,
3739 103, 104, 105, 106, 107, 108, 109, 0, 0, 0,
3740 0, 0, 0, 594, 0, 114, 82, 83, 0, 84,
3741 85, 86, 0, 0, 0, 0, 0, 0, 0, 34,
3742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3743 0, 0, 96, 0, 97, 98, 99, 100, 101, 102,
3744 103, 104, 105, 106, 107, 108, 109, 82, 83, 0,
3745 84, 85, 86, 645, 0, 114, 0, 0, 0, 0,
3746 0, 0, 0, 0, 0, 34, 0, 0, 0, 0,
3747 0, 0, 0, 96, 0, 97, 98, 99, 100, 101,
3748 102, 103, 104, 105, 106, 107, 108, 109, 0, 0,
3749 175, 0, 0, 79, 918, 0, 114, 82, 83, 0,
3750 84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
3751 0, 0, 0, 34, 0, 0, 0, 0, 0, 0,
3752 0, 0, 0, 96, 0, 97, 98, 99, 100, 101,
3753 102, 103, 104, 105, 106, 107, 108, 109, 0, 291,
3754 0, 0, 0, 82, 83, 1424, 84, 85, 86, 0,
3755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3756 0, 0, 34, 0, 0, 0, 0, 0, 0, 96,
3757 0, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3758 106, 107, 108, 109, 0, 0, 0, 0, 0, 1347,
3759 292, 82, 83, 1348, 84, 85, 86, 0, 0, 0,
3760 0, 0, 0, 1193, 0, 0, 0, 0, 0, 0,
3761 34, 0, 0, 0, 0, 1194, 0, 96, 0, 97,
3762 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3763 108, 109, 0, 175, 0, 1205, 79, 0, 1195, 0,
3764 82, 83, 0, 84, 1196, 86, 0, 0, 0, 0,
3765 0, 34, 0, 728, 729, 0, 0, 0, 0, 0,
3766 0, 0, 0, 0, 0, 0, 96, 34, 97, 98,
3767 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3768 109, 175, 0, 0, 79, 0, 81, 0, 82, 83,
3769 0, 84, 85, 86, 0, 0, 0, 0, 0, 0,
3770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3771 34, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3772 101, 102, 103, 104, 105, 106, 107, 108, 109, 82,
3773 83, 0, 84, 85, 86, 0, 0, 0, 0, 0,
3774 0, 263, 0, 0, 0, 82, 83, 0, 84, 85,
3775 86, 0, 0, 0, 0, 96, 0, 97, 98, 99,
3776 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3777 0, 96, 0, 97, 98, 99, 100, 101, 102, 103,
3778 104, 105, 106, 107, 108, 109, 326, 0, 82, 83,
3779 0, 84, 85, 86, 0, 0, 0, 0, 0, 0,
3780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3781 0, 0, 0, 0, 96, 0, 97, 98, 99, 100,
3782 101, 102, 103, 104, 105, 106, 107, 108, 109, 338,
3783 339, 340, 0, 0, 0, 0, 0, 0, 0, 0,
3784 0, 0, 0, 0, 0, 341, 0, 342, 343, 344,
3785 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
3786 355, 356, 357, 358, 359, 360, 361, 362, 0, 363,
3787 338, 339, 340, 0, 0, 0, 0, 0, 0, 0,
3788 0, 0, 0, 0, 0, 0, 341, 0, 342, 343,
3789 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
3790 354, 355, 356, 357, 358, 359, 360, 361, 362, 0,
3791 363, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3792 0, 0, 0, 0, 0, 0, 338, 339, 340, 0,
3793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3794 0, 0, 341, 521, 342, 343, 344, 345, 346, 347,
3795 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3796 358, 359, 360, 361, 362, 0, 363, 338, 339, 340,
3797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3798 0, 0, 0, 341, 780, 342, 343, 344, 345, 346,
3799 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3800 357, 358, 359, 360, 361, 362, 0, 363, 0, 0,
3801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3802 0, 0, 0, 338, 339, 340, 0, 0, 0, 0,
3803 0, 0, 0, 0, 0, 0, 0, 0, 0, 341,
3804 821, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3805 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3806 361, 362, 0, 363, 0, 0, 338, 339, 340, 0,
3807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3808 0, 1055, 341, 777, 342, 343, 344, 345, 346, 347,
3809 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3810 358, 359, 360, 361, 362, 659, 363, 338, 339, 340,
3811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3812 0, 0, 0, 341, 0, 342, 343, 344, 345, 346,
3813 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3814 357, 358, 359, 360, 361, 362, 0, 363, 339, 340,
3815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3816 0, 0, 0, 341, 0, 342, 343, 344, 345, 346,
3817 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3818 357, 358, 359, 360, 361, 362, 0, 363
3821 static const yytype_int16 yycheck
[] =
3823 4, 157, 132, 4, 4, 553, 4, 4, 400, 51,
3824 30, 322, 177, 407, 87, 914, 28, 4, 91, 92,
3825 160, 41, 375, 630, 4, 45, 167, 363, 770, 215,
3826 319, 4, 754, 517, 747, 658, 664, 1050, 905, 221,
3827 395, 27, 9, 47, 111, 9, 50, 221, 178, 9,
3828 9, 24, 25, 9, 9, 242, 243, 9, 131, 54,
3829 9, 248, 9, 67, 9, 9, 421, 9, 9, 9,
3830 30, 9, 9, 27, 9, 123, 10, 11, 12, 9,
3831 111, 76, 222, 87, 79, 9, 9, 91, 92, 9,
3832 9, 9, 26, 304, 28, 29, 30, 31, 32, 33,
3833 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3834 44, 45, 46, 47, 48, 773, 50, 42, 75, 9,
3835 9, 42, 863, 9, 429, 165, 867, 131, 147, 42,
3836 788, 42, 319, 527, 1147, 202, 1149, 42, 111, 104,
3837 123, 92, 123, 121, 122, 132, 62, 214, 62, 26,
3838 62, 199, 1370, 866, 62, 195, 62, 150, 62, 95,
3839 96, 0, 95, 96, 62, 330, 43, 453, 75, 46,
3840 163, 67, 68, 478, 62, 62, 75, 157, 197, 198,
3841 62, 62, 32, 187, 926, 1052, 143, 929, 62, 62,
3842 62, 178, 1059, 1060, 62, 62, 147, 162, 592, 62,
3843 1418, 62, 955, 195, 490, 198, 959, 123, 8, 123,
3844 277, 123, 198, 196, 166, 196, 844, 47, 846, 1232,
3845 75, 32, 166, 227, 195, 75, 47, 231, 369, 202,
3846 227, 235, 199, 197, 231, 208, 196, 402, 197, 198,
3847 196, 214, 197, 197, 374, 958, 277, 196, 389, 253,
3848 197, 196, 325, 737, 227, 197, 197, 197, 231, 197,
3849 197, 448, 197, 199, 75, 199, 199, 197, 263, 143,
3850 411, 196, 193, 197, 197, 669, 196, 196, 196, 420,
3851 166, 939, 423, 196, 198, 196, 198, 195, 193, 1156,
3852 198, 196, 198, 200, 198, 268, 291, 195, 371, 372,
3853 198, 200, 275, 276, 277, 309, 196, 196, 158, 282,
3854 198, 198, 1054, 80, 318, 288, 198, 198, 322, 149,
3855 80, 325, 309, 198, 198, 198, 198, 75, 149, 309,
3856 198, 198, 724, 375, 164, 198, 309, 198, 32, 75,
3857 32, 408, 529, 530, 80, 200, 651, 158, 535, 150,
3858 655, 363, 975, 960, 536, 92, 119, 369, 75, 1372,
3859 67, 68, 536, 80, 195, 369, 370, 371, 372, 195,
3860 32, 75, 366, 140, 660, 195, 80, 389, 143, 75,
3861 140, 75, 671, 75, 80, 389, 373, 673, 674, 675,
3862 75, 1104, 140, 141, 142, 80, 143, 198, 392, 411,
3863 165, 195, 396, 4, 140, 141, 142, 411, 420, 595,
3864 147, 423, 75, 75, 119, 1157, 195, 80, 165, 423,
3865 4, 195, 816, 75, 141, 142, 75, 400, 80, 195,
3866 195, 786, 436, 198, 620, 408, 601, 141, 142, 436,
3867 795, 42, 197, 198, 140, 141, 142, 94, 95, 96,
3868 636, 198, 1165, 635, 32, 791, 141, 142, 42, 641,
3869 1067, 635, 1069, 436, 158, 195, 158, 641, 862, 108,
3870 109, 110, 111, 112, 113, 195, 1489, 195, 141, 142,
3871 149, 485, 195, 769, 671, 672, 559, 204, 483, 141,
3872 142, 1504, 141, 142, 27, 681, 500, 75, 198, 203,
3873 101, 641, 506, 507, 195, 106, 147, 108, 109, 110,
3874 111, 112, 113, 114, 32, 26, 197, 101, 14, 46,
3875 47, 48, 106, 50, 108, 109, 110, 111, 112, 113,
3876 114, 27, 43, 197, 198, 46, 841, 176, 94, 95,
3877 96, 1396, 1397, 754, 1392, 1393, 899, 197, 44, 197,
3878 151, 152, 453, 154, 62, 559, 1163, 197, 197, 770,
3879 954, 108, 109, 110, 197, 752, 197, 151, 152, 62,
3880 154, 115, 116, 117, 197, 176, 763, 863, 551, 62,
3881 935, 867, 198, 869, 143, 977, 195, 195, 943, 490,
3882 143, 62, 176, 195, 41, 147, 1495, 50, 199, 165,
3883 143, 887, 123, 202, 9, 143, 143, 1001, 195, 123,
3884 8, 1510, 100, 195, 1008, 199, 197, 758, 14, 165,
3885 108, 109, 110, 111, 112, 113, 630, 14, 632, 602,
3886 75, 1023, 1239, 197, 654, 197, 108, 109, 110, 111,
3887 112, 113, 285, 14, 81, 649, 289, 119, 120, 165,
3888 14, 108, 109, 110, 111, 112, 113, 661, 662, 92,
3889 196, 848, 649, 850, 637, 662, 639, 197, 311, 649,
3890 313, 314, 315, 316, 196, 201, 649, 196, 195, 100,
3891 195, 1075, 195, 9, 196, 157, 659, 196, 176, 662,
3892 84, 9, 197, 1048, 980, 14, 81, 195, 9, 703,
3893 181, 1056, 706, 890, 176, 75, 75, 75, 994, 1064,
3894 996, 1016, 75, 195, 184, 926, 703, 790, 929, 176,
3895 196, 196, 121, 703, 197, 912, 195, 914, 196, 62,
3896 703, 122, 736, 919, 164, 736, 736, 9, 736, 736,
3897 713, 124, 196, 1465, 14, 193, 758, 9, 62, 736,
3898 196, 724, 725, 9, 758, 14, 736, 199, 1044, 660,
3899 1482, 121, 202, 736, 202, 9, 195, 1374, 1490, 178,
3900 179, 180, 673, 674, 202, 1080, 185, 186, 195, 791,
3901 189, 190, 196, 202, 195, 197, 790, 197, 196, 1144,
3902 1095, 9, 124, 196, 195, 143, 143, 181, 802, 803,
3903 804, 198, 195, 195, 991, 181, 14, 1118, 828, 9,
3904 1021, 75, 198, 14, 92, 197, 14, 1103, 1029, 198,
3905 198, 202, 1108, 14, 1110, 829, 14, 831, 27, 833,
3906 197, 9, 829, 43, 44, 45, 46, 47, 48, 195,
3907 50, 195, 195, 1054, 831, 195, 833, 196, 124, 195,
3908 195, 831, 14, 833, 197, 1141, 829, 899, 831, 197,
3909 833, 865, 835, 1168, 868, 1413, 195, 9, 769, 1224,
3910 124, 1176, 196, 196, 202, 9, 9, 140, 75, 195,
3911 1185, 124, 197, 75, 14, 75, 195, 891, 196, 195,
3912 195, 198, 196, 1179, 195, 198, 198, 196, 124, 903,
3913 9, 1212, 903, 903, 202, 903, 903, 140, 27, 69,
3914 197, 196, 1099, 197, 166, 27, 903, 196, 124, 9,
3915 70, 71, 72, 903, 199, 196, 9, 196, 1115, 124,
3916 903, 81, 1480, 92, 199, 1221, 196, 1148, 14, 1244,
3917 195, 1128, 195, 1154, 1155, 196, 1157, 967, 196, 922,
3918 196, 955, 124, 198, 196, 959, 960, 196, 196, 9,
3919 196, 27, 197, 197, 1250, 1251, 970, 196, 869, 197,
3920 1256, 124, 153, 970, 1130, 198, 4, 981, 128, 129,
3921 130, 131, 132, 149, 75, 14, 887, 75, 195, 139,
3922 106, 964, 196, 196, 981, 145, 146, 970, 1128, 124,
3923 196, 981, 196, 196, 977, 978, 124, 124, 981, 14,
3924 160, 198, 197, 75, 42, 14, 196, 124, 195, 198,
3925 196, 14, 197, 197, 174, 1236, 14, 196, 198, 52,
3926 75, 195, 75, 24, 25, 9, 197, 28, 24, 25,
3927 75, 1021, 28, 104, 92, 1210, 143, 30, 92, 1029,
3928 1023, 156, 14, 196, 195, 75, 195, 197, 162, 50,
3929 1365, 159, 1367, 1067, 196, 1069, 9, 75, 197, 196,
3930 1375, 75, 196, 101, 1360, 198, 14, 75, 106, 980,
3931 108, 109, 110, 111, 112, 113, 114, 14, 75, 14,
3932 75, 14, 1473, 994, 483, 996, 789, 370, 372, 157,
3933 787, 739, 1486, 371, 1092, 1391, 1482, 978, 488, 1261,
3934 1114, 1416, 1345, 1123, 1118, 1514, 1402, 1502, 1357, 1123,
3935 39, 1407, 1231, 151, 152, 913, 154, 1114, 375, 880,
3936 467, 877, 467, 700, 1114, 906, 941, 803, 818, 283,
3937 1127, 1114, 851, 1044, -1, 276, -1, -1, 176, -1,
3938 1130, -1, -1, -1, -1, -1, -1, -1, -1, 1163,
3939 -1, -1, -1, -1, -1, 1169, -1, -1, 1148, 1173,
3940 -1, 199, -1, 1177, 1154, 1155, 1173, -1, 1464, -1,
3941 -1, -1, 1169, -1, -1, -1, -1, -1, -1, 1169,
3942 1177, -1, -1, -1, 1359, 1199, 1169, 1177, -1, -1,
3943 1173, 1205, 1103, 1508, 1177, -1, -1, 1108, 1212, 1110,
3944 1515, 202, -1, -1, -1, -1, 202, 208, -1, -1,
3945 -1, -1, 208, 214, -1, -1, -1, 1214, 214, -1,
3946 -1, -1, -1, 1519, -1, 1239, -1, -1, 1242, 1243,
3947 1141, 1527, -1, 1247, -1, 1531, 1243, -1, 1534, 1253,
3948 -1, 242, 243, -1, 1465, 1242, 1236, 248, -1, -1,
3949 1247, -1, 1242, -1, -1, -1, 1253, 1247, -1, 1242,
3950 1243, 1482, -1, 1253, 1247, -1, -1, 268, 1179, 1490,
3951 1253, -1, 268, 1356, 275, 276, -1, -1, -1, 275,
3952 276, 282, -1, -1, -1, -1, 282, 288, -1, -1,
3953 -1, -1, 288, -1, -1, 1461, -1, -1, 1495, -1,
3954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3955 1221, -1, -1, 1510, -1, -1, -1, -1, 319, -1,
3956 -1, 322, -1, 24, 25, 1408, -1, 28, -1, -1,
3957 -1, -1, -1, -1, -1, -1, -1, 1477, -1, 1250,
3958 1251, -1, 1356, -1, -1, 1256, 37, 38, 39, 40,
3959 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
3960 1374, -1, 363, -1, 1378, -1, -1, 363, -1, -1,
3961 -1, -1, -1, 1387, -1, -1, -1, -1, 1392, 1393,
3962 -1, 1378, 1396, 1397, -1, -1, -1, -1, 1378, -1,
3963 -1, -1, -1, -1, 1408, 1378, -1, -1, -1, 400,
3964 1414, 1415, -1, -1, 400, -1, 1420, 408, -1, -1,
3965 -1, -1, 408, -1, -1, -1, -1, 1414, 1415, -1,
3966 -1, -1, -1, 1420, 1414, 1415, -1, -1, -1, -1,
3967 1420, 1414, 1415, -1, -1, -1, -1, 1420, 4, 1453,
3968 -1, -1, -1, -1, -1, -1, 1460, 448, -1, 1360,
3969 -1, -1, 453, -1, -1, 4, 1453, -1, -1, -1,
3970 -1, -1, 1476, 1453, -1, -1, -1, -1, -1, -1,
3971 1453, 1461, -1, -1, -1, -1, 42, -1, -1, -1,
3972 1391, -1, -1, -1, -1, -1, -1, -1, -1, 490,
3973 -1, 1402, -1, 42, -1, -1, 1407, -1, -1, -1,
3974 -1, -1, 1516, -1, -1, -1, -1, 208, 1522, -1,
3975 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1516,
3976 -1, -1, -1, -1, -1, 1522, 1516, -1, 529, 530,
3977 -1, -1, 1522, 1516, 535, 101, -1, -1, -1, 1522,
3978 106, -1, 108, 109, 110, 111, 112, 113, 114, -1,
3979 551, 50, 101, 1464, -1, 551, -1, 106, -1, 108,
3980 109, 110, 111, 112, 113, 114, -1, 268, -1, -1,
3981 -1, -1, -1, -1, 275, 276, -1, -1, -1, -1,
3982 -1, 282, -1, 4, -1, 151, 152, 288, 154, -1,
3983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3984 -1, 602, 151, 152, -1, 154, 602, -1, 1519, -1,
3985 176, -1, -1, -1, -1, -1, 1527, -1, -1, -1,
3986 1531, 42, -1, 1534, -1, -1, -1, 176, -1, -1,
3987 -1, -1, -1, 199, -1, -1, 637, -1, 639, -1,
3988 -1, 637, -1, 639, -1, -1, -1, -1, -1, -1,
3989 199, -1, -1, -1, -1, -1, -1, -1, 659, 660,
3990 -1, -1, 363, 659, -1, -1, -1, -1, -1, -1,
3991 671, 672, 673, 674, 675, -1, -1, -1, -1, -1,
3992 101, -1, -1, -1, -1, 106, -1, 108, 109, 110,
3993 111, 112, 113, 114, -1, -1, -1, -1, -1, 400,
3994 -1, -1, -1, 704, -1, -1, -1, -1, -1, -1,
3995 -1, -1, 713, -1, -1, -1, -1, 713, -1, -1,
3996 -1, 722, -1, 724, 725, -1, -1, -1, 724, 725,
3997 151, 152, -1, 154, -1, -1, -1, -1, 739, -1,
3998 -1, -1, -1, 242, 243, -1, -1, -1, -1, 248,
3999 -1, 752, 453, -1, -1, 176, -1, -1, -1, -1,
4000 -1, -1, 763, -1, -1, -1, -1, -1, 769, -1,
4001 -1, 772, -1, -1, -1, -1, -1, -1, 199, -1,
4002 -1, 10, 11, 12, -1, -1, -1, -1, -1, 490,
4003 791, -1, -1, -1, -1, 791, -1, 26, -1, 28,
4004 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
4005 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
4006 319, 50, -1, 322, -1, -1, -1, -1, -1, -1,
4007 -1, -1, -1, -1, 835, -1, -1, -1, -1, 835,
4008 -1, -1, -1, -1, -1, -1, -1, 848, -1, 850,
4009 551, -1, -1, -1, -1, 453, -1, -1, -1, -1,
4010 -1, -1, 863, -1, -1, -1, 867, -1, 869, 14,
4011 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
4012 25, -1, -1, -1, -1, -1, 887, -1, -1, 890,
4013 -1, -1, 490, -1, -1, -1, -1, -1, -1, -1,
4014 -1, 602, -1, -1, -1, -1, -1, -1, -1, -1,
4015 -1, 912, -1, 914, -1, 60, 61, -1, -1, -1,
4016 -1, 922, -1, -1, -1, -1, 922, -1, -1, -1,
4017 -1, -1, -1, -1, -1, -1, 637, -1, 639, -1,
4018 -1, -1, -1, -1, -1, -1, -1, -1, -1, 448,
4019 -1, -1, -1, -1, 453, -1, -1, -1, 659, 660,
4020 -1, -1, -1, 964, -1, -1, -1, -1, 964, -1,
4021 199, -1, 673, 674, 675, -1, 977, 978, 123, 980,
4022 -1, 977, 978, -1, -1, -1, -1, -1, -1, -1,
4023 991, 490, -1, 994, -1, 996, -1, -1, -1, -1,
4024 -1, -1, -1, 704, -1, -1, -1, -1, -1, -1,
4025 -1, -1, 713, -1, -1, -1, -1, -1, -1, 1020,
4026 -1, 722, 1023, 724, 725, -1, -1, 1023, -1, -1,
4027 529, 530, -1, -1, -1, -1, 535, -1, 739, -1,
4028 -1, -1, -1, 1044, -1, -1, -1, -1, -1, -1,
4029 -1, 196, -1, -1, -1, -1, -1, -1, -1, -1,
4030 -1, -1, 660, -1, -1, -1, -1, -1, 769, -1,
4031 -1, 772, -1, -1, -1, 673, 674, 675, -1, -1,
4032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4033 791, -1, -1, -1, -1, -1, -1, -1, 1099, -1,
4034 -1, -1, 1103, -1, -1, -1, -1, 1108, -1, 1110,
4035 -1, -1, -1, -1, 1115, -1, -1, 1118, 1119, -1,
4036 1121, -1, -1, -1, -1, -1, -1, 1128, -1, -1,
4037 -1, -1, -1, -1, 835, -1, -1, -1, -1, -1,
4038 1141, -1, -1, 14, 15, 16, 17, 18, 19, 20,
4039 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
4040 -1, 660, 863, -1, -1, -1, 867, -1, 869, -1,
4041 -1, 769, 671, 672, 673, 674, 675, -1, 1179, -1,
4042 -1, -1, -1, -1, -1, -1, 887, 1188, 1189, 60,
4043 61, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4044 -1, -1, -1, -1, -1, -1, -1, 10, 11, 12,
4045 -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1,
4046 1221, 922, -1, 26, -1, 28, 29, 30, 31, 32,
4047 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
4048 43, 44, 45, 46, 47, 48, -1, 50, -1, 1250,
4049 1251, -1, 123, 752, -1, 1256, 1257, -1, -1, -1,
4050 1261, -1, -1, 964, 763, 863, -1, -1, -1, 867,
4051 769, 869, -1, -1, -1, -1, 977, 978, -1, 980,
4052 10, 11, 12, -1, -1, -1, -1, -1, -1, 887,
4053 -1, -1, -1, 994, -1, 996, 26, -1, 28, 29,
4054 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
4055 40, 41, 42, 43, 44, 45, 46, 47, 48, 1020,
4056 50, -1, 1023, -1, -1, 196, 14, 15, 16, 17,
4057 18, 19, 20, 21, 22, 23, 24, 25, -1, -1,
4058 -1, -1, -1, 1044, -1, -1, -1, -1, -1, 848,
4059 -1, 850, -1, -1, -1, -1, -1, -1, -1, 1360,
4060 -1, -1, -1, -1, 863, -1, -1, -1, 867, -1,
4061 869, -1, 60, 61, -1, -1, -1, -1, -1, -1,
4062 -1, -1, 980, -1, -1, -1, 1387, -1, 887, -1,
4063 1391, 890, -1, -1, -1, -1, 994, -1, 996, 202,
4064 -1, 1402, 1103, -1, -1, -1, 1407, 1108, -1, 1110,
4065 -1, -1, -1, 912, -1, 914, -1, -1, 1119, -1,
4066 1121, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4067 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
4068 1141, -1, -1, -1, -1, -1, 1044, 62, -1, -1,
4069 -1, -1, -1, -1, -1, 70, 71, 72, 73, -1,
4070 -1, -1, -1, 1464, -1, -1, 81, -1, -1, 199,
4071 -1, 1472, -1, -1, -1, -1, -1, -1, 1179, -1,
4072 -1, 980, -1, -1, -1, 1486, -1, 1188, 1189, -1,
4073 -1, -1, 991, -1, 1495, 994, -1, 996, -1, -1,
4074 -1, -1, -1, -1, -1, 1103, -1, -1, -1, 1510,
4075 1108, 126, 1110, -1, -1, -1, -1, -1, 1519, -1,
4076 1221, -1, -1, -1, 139, -1, 1527, -1, -1, -1,
4077 1531, -1, -1, 1534, -1, -1, 151, 152, -1, 154,
4078 155, 156, -1, 1141, -1, 1044, -1, 63, 64, 1250,
4079 1251, -1, -1, -1, 169, 1256, 1257, 73, -1, 75,
4080 1261, -1, 177, -1, 179, 180, 181, 182, 183, 184,
4081 185, 186, 187, 188, 189, 190, 191, -1, -1, -1,
4082 -1, 1179, -1, -1, -1, -1, -1, -1, -1, -1,
4083 -1, -1, -1, -1, -1, -1, -1, 113, -1, -1,
4084 1099, -1, -1, -1, 1103, -1, -1, -1, -1, 1108,
4085 -1, 1110, -1, -1, -1, -1, 1115, -1, -1, 1118,
4086 -1, -1, -1, 1221, -1, -1, -1, -1, 144, 1128,
4087 -1, 147, -1, 149, -1, 151, 152, -1, 154, 155,
4088 156, -1, 1141, -1, -1, -1, -1, 163, -1, -1,
4089 -1, -1, 1250, 1251, -1, -1, -1, -1, 1256, 1360,
4090 -1, 177, 1260, 179, 180, 181, 182, 183, 184, 185,
4091 186, 187, 188, 189, 190, 191, -1, -1, -1, 195,
4092 1179, -1, -1, -1, 200, -1, -1, -1, -1, -1,
4093 1391, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4094 -1, 1402, -1, -1, -1, -1, 1407, -1, -1, -1,
4095 -1, -1, -1, 1212, -1, -1, -1, -1, -1, -1,
4096 -1, -1, 1221, -1, -1, -1, -1, -1, -1, -1,
4097 -1, -1, 5, 6, -1, 8, 9, 10, -1, 12,
4098 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
4099 23, 1250, 1251, 26, 27, -1, -1, 1256, -1, -1,
4100 -1, -1, 1360, 1464, -1, -1, 39, -1, -1, -1,
4101 -1, 1472, -1, 46, -1, 48, -1, -1, 51, -1,
4102 53, -1, -1, -1, -1, 1486, -1, -1, -1, -1,
4103 -1, -1, -1, 1391, -1, -1, -1, -1, -1, -1,
4104 -1, -1, -1, -1, 1402, -1, -1, 80, -1, 1407,
4105 -1, -1, -1, -1, -1, -1, -1, -1, 1519, -1,
4106 -1, 94, -1, -1, -1, -1, 1527, -1, -1, -1,
4107 1531, -1, 1430, 1534, -1, -1, -1, -1, 111, -1,
4108 -1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
4109 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
4110 -1, 1360, -1, -1, -1, 26, 1464, 28, 29, 30,
4111 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4112 41, 42, 43, 44, 45, 46, 47, 48, 1387, 50,
4113 -1, -1, 1391, -1, -1, -1, -1, -1, -1, -1,
4114 -1, -1, -1, 1402, -1, -1, -1, -1, 1407, 182,
4115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4116 -1, 1519, -1, -1, -1, -1, -1, -1, -1, 1527,
4117 -1, -1, -1, 1531, -1, -1, 1534, -1, -1, -1,
4118 70, 71, 72, 73, -1, -1, -1, -1, -1, -1,
4119 223, -1, -1, 226, 10, 11, 12, -1, -1, -1,
4120 233, 234, -1, -1, -1, 1464, -1, -1, -1, -1,
4121 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
4122 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
4123 46, 47, 48, -1, 50, -1, 1495, -1, -1, -1,
4124 -1, -1, -1, -1, 277, -1, -1, -1, -1, -1,
4125 283, 1510, -1, -1, 287, -1, -1, -1, -1, -1,
4126 1519, 151, 152, -1, 154, 155, 156, -1, 1527, -1,
4127 -1, -1, 1531, -1, -1, 1534, -1, 310, 199, -1,
4128 -1, -1, -1, -1, -1, -1, -1, 177, 321, 179,
4129 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4130 190, 191, -1, -1, -1, 338, 339, 340, 341, 342,
4131 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
4132 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
4133 -1, -1, 365, 366, -1, 368, -1, -1, -1, -1,
4134 -1, -1, 375, 376, 377, 378, 379, 380, 381, 382,
4135 383, 384, 385, 386, -1, -1, -1, -1, -1, 392,
4136 393, -1, 395, 396, 397, -1, -1, -1, -1, -1,
4137 403, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4138 413, -1, 415, 199, -1, 10, 11, 12, 421, -1,
4139 -1, -1, -1, -1, -1, -1, -1, -1, 431, -1,
4140 433, 26, 27, 28, 29, 30, 31, 32, 33, 34,
4141 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4142 45, 46, 47, 48, -1, 50, -1, 460, -1, -1,
4143 463, 464, 465, -1, -1, -1, -1, -1, 10, 11,
4144 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4145 -1, -1, -1, 486, 26, -1, 28, 29, 30, 31,
4146 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
4147 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
4148 -1, -1, -1, -1, -1, -1, -1, -1, 521, -1,
4149 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
4150 -1, -1, -1, -1, -1, 13, -1, -1, -1, -1,
4151 -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
4152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4153 563, -1, -1, -1, -1, 43, 44, -1, -1, -1,
4154 -1, 49, -1, 51, 52, 53, 54, 55, 56, 57,
4155 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
4156 -1, 594, 70, 71, 72, 73, 74, 75, -1, 77,
4157 603, -1, 197, 81, 82, 83, 84, -1, 86, -1,
4158 88, -1, 90, -1, -1, 93, 619, -1, -1, 97,
4159 98, 99, 100, -1, 102, 103, -1, 105, -1, 107,
4160 108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
4161 -1, -1, 645, -1, -1, -1, -1, 125, 126, -1,
4162 128, 129, 130, 131, 132, 658, -1, 199, -1, -1,
4163 -1, 139, -1, -1, -1, -1, 144, 145, 146, 147,
4164 148, 149, -1, 151, 152, -1, 154, 155, 156, -1,
4165 -1, -1, 160, -1, -1, 163, 689, -1, -1, -1,
4166 -1, 169, -1, -1, -1, -1, 174, 175, 176, 177,
4167 -1, 179, 180, 181, 182, 183, 184, 185, 186, 187,
4168 188, 189, 190, 191, 192, -1, -1, 195, -1, 197,
4169 198, -1, 200, 201, -1, 203, 204, -1, -1, -1,
4170 733, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4171 -1, -1, -1, 746, 14, 15, 16, 17, 18, 19,
4172 20, 21, 22, 23, 24, 25, -1, -1, -1, -1,
4173 -1, -1, -1, -1, 767, -1, -1, 64, -1, -1,
4174 -1, -1, -1, -1, 777, -1, 73, 780, 75, 782,
4175 -1, -1, -1, 786, -1, -1, -1, -1, -1, -1,
4176 60, 61, 795, -1, -1, -1, -1, -1, -1, -1,
4177 -1, 10, 11, 12, -1, -1, -1, -1, -1, -1,
4178 -1, -1, -1, -1, -1, -1, 113, 26, 821, 28,
4179 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
4180 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
4181 -1, 50, -1, -1, -1, -1, -1, 144, -1, -1,
4182 147, -1, 149, 123, 151, 152, -1, 154, 155, 156,
4183 -1, -1, -1, -1, -1, -1, -1, -1, 871, 872,
4184 873, -1, -1, -1, 877, 878, -1, -1, -1, -1,
4185 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4186 187, 188, 189, 190, 191, -1, 899, -1, 195, -1,
4187 -1, -1, -1, 200, -1, -1, -1, -1, -1, -1,
4188 -1, -1, -1, -1, -1, 918, -1, -1, -1, -1,
4189 -1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
4190 11, 12, 935, -1, -1, -1, -1, -1, -1, -1,
4191 943, -1, 945, -1, -1, 26, -1, 28, 29, 30,
4192 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4193 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
4194 -1, -1, 975, -1, -1, 10, 11, 12, -1, -1,
4195 -1, 984, -1, -1, -1, -1, -1, -1, -1, -1,
4196 199, 26, -1, 28, 29, 30, 31, 32, 33, 34,
4197 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4198 45, 46, 47, 48, -1, 50, -1, 3, 4, 5,
4199 6, 7, -1, -1, -1, -1, -1, 13, -1, 1032,
4200 -1, -1, -1, 1036, -1, 1038, -1, -1, -1, -1,
4201 -1, -1, -1, -1, -1, 1048, -1, -1, -1, -1,
4202 -1, -1, 1055, 1056, -1, -1, 42, 43, 44, -1,
4203 -1, 1064, -1, 49, -1, 51, 52, 53, 54, 55,
4204 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
4205 66, -1, -1, -1, 70, 71, 72, 73, 74, 75,
4206 -1, 77, -1, -1, -1, 81, 82, 83, 84, -1,
4207 86, -1, 88, -1, 90, -1, -1, 93, -1, 1112,
4208 -1, 97, 98, 99, 100, 101, 102, 103, 199, 105,
4209 106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
4210 116, 117, 118, 119, 120, -1, -1, -1, -1, 125,
4211 126, 1144, 128, 129, 130, 131, 132, -1, -1, -1,
4212 -1, -1, -1, 139, -1, -1, -1, -1, 144, 145,
4213 146, 147, 148, 149, 199, 151, 152, -1, 154, 155,
4214 156, 157, -1, -1, 160, -1, -1, 163, -1, -1,
4215 -1, -1, -1, 169, 170, -1, 172, -1, 174, 175,
4216 176, 177, -1, 179, 180, 181, 182, 183, 184, 185,
4217 186, 187, 188, 189, 190, 191, 192, -1, -1, 195,
4218 -1, 197, 198, 199, 200, 201, -1, 203, 204, -1,
4219 -1, 1224, 3, 4, 5, 6, 7, -1, -1, -1,
4220 -1, -1, 13, 33, 34, 35, 36, 37, 38, 39,
4221 40, 41, 42, 43, 44, 45, 46, 47, 48, 1252,
4222 50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4223 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4224 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4225 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4226 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4227 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4228 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4229 101, 102, 103, -1, 105, 106, 107, 108, 109, 110,
4230 111, 112, 113, -1, 115, 116, 117, 118, 119, 120,
4231 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4232 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4233 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4234 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4235 -1, -1, 163, -1, -1, -1, -1, -1, 169, 170,
4236 -1, 172, -1, 174, 175, 176, 177, -1, 179, 180,
4237 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4238 191, 192, -1, -1, 195, -1, 197, 198, 199, 200,
4239 201, 12, 203, 204, 3, 4, 5, 6, 7, -1,
4240 -1, -1, -1, -1, 13, 26, -1, 28, 29, 30,
4241 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4242 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
4243 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4244 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4245 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4246 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4247 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4248 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4249 99, 100, 101, 102, 103, -1, 105, 106, 107, 108,
4250 109, 110, 111, 112, 113, -1, 115, 116, 117, 118,
4251 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4252 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4253 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4254 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4255 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4256 169, 170, -1, 172, -1, 174, 175, 176, 177, -1,
4257 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4258 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4259 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4260 7, -1, -1, -1, -1, 26, 13, 28, 29, 30,
4261 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
4262 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
4263 -1, -1, -1, -1, -1, 42, 43, 44, -1, -1,
4264 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4265 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4266 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4267 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4268 -1, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4269 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4270 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4271 117, -1, 119, 120, -1, -1, -1, -1, 125, 126,
4272 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4273 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4274 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4275 157, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4276 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4277 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4278 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4279 197, 198, 199, 200, 201, -1, 203, 204, 3, 4,
4280 5, 6, 7, -1, -1, -1, -1, -1, 13, 28,
4281 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
4282 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
4283 -1, 50, -1, -1, -1, -1, -1, 42, 43, 44,
4284 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4285 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4286 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4287 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4288 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4289 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4290 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4291 115, 116, 117, -1, 119, 120, -1, -1, -1, -1,
4292 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4293 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4294 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4295 155, 156, 157, -1, -1, 160, -1, -1, 163, -1,
4296 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4297 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4298 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4299 195, -1, 197, 198, 199, 200, 201, -1, 203, 204,
4300 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4301 13, 29, 30, 31, 32, 33, 34, 35, 36, 37,
4302 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
4303 48, -1, 50, -1, -1, -1, -1, -1, -1, 42,
4304 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4305 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4306 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4307 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4308 83, 84, -1, 86, -1, 88, -1, 90, -1, -1,
4309 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4310 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4311 113, -1, 115, 116, 117, -1, 119, 120, -1, -1,
4312 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4313 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4314 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4315 -1, 154, 155, 156, 157, -1, -1, 160, -1, -1,
4316 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4317 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4318 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4319 -1, -1, 195, -1, 197, 198, 199, 200, 201, -1,
4320 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4321 -1, -1, 13, 30, 31, 32, 33, 34, 35, 36,
4322 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
4323 47, 48, -1, 50, -1, -1, -1, -1, -1, -1,
4324 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4325 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4326 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4327 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4328 81, 82, 83, 84, 85, 86, -1, 88, -1, 90,
4329 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4330 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4331 111, 112, 113, -1, 115, 116, 117, -1, 119, 120,
4332 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4333 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4334 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4335 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4336 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4337 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4338 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4339 191, 192, -1, -1, 195, -1, 197, 198, -1, 200,
4340 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4341 -1, -1, -1, -1, 13, 31, 32, 33, 34, 35,
4342 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
4343 46, 47, 48, -1, 50, -1, -1, -1, -1, -1,
4344 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4345 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4346 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4347 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4348 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4349 -1, 90, 91, -1, 93, -1, -1, -1, 97, 98,
4350 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4351 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4352 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4353 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4354 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4355 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4356 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4357 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4358 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4359 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4360 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4361 7, -1, -1, -1, -1, -1, 13, 32, 33, 34,
4362 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4363 45, 46, 47, 48, -1, 50, -1, -1, -1, -1,
4364 -1, -1, -1, -1, -1, 42, 43, 44, -1, -1,
4365 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4366 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4367 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4368 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4369 -1, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4370 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4371 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4372 117, -1, 119, 120, -1, -1, -1, -1, 125, 126,
4373 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4374 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4375 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4376 157, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4377 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4378 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4379 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4380 197, 198, 199, 200, 201, -1, 203, 204, 3, 4,
4381 5, 6, 7, -1, -1, -1, -1, -1, 13, 33,
4382 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
4383 44, 45, 46, 47, 48, -1, 50, -1, -1, -1,
4384 -1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
4385 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4386 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4387 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4388 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4389 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4390 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4391 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4392 115, 116, 117, -1, 119, 120, -1, -1, -1, -1,
4393 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4394 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4395 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4396 155, 156, 157, -1, -1, 160, -1, -1, 163, -1,
4397 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4398 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4399 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4400 195, -1, 197, 198, 199, 200, 201, -1, 203, 204,
4401 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4402 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4404 -1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
4405 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4406 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4407 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4408 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4409 83, 84, -1, 86, -1, 88, 89, 90, -1, -1,
4410 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4411 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4412 113, -1, 115, 116, 117, -1, 119, 120, -1, -1,
4413 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4414 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4415 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4416 -1, 154, 155, 156, 157, -1, -1, 160, -1, -1,
4417 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4418 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4419 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4420 -1, -1, 195, -1, 197, 198, -1, 200, 201, -1,
4421 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4422 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4424 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4425 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4426 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4427 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4428 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4429 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4430 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4431 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4432 111, 112, 113, -1, 115, 116, 117, -1, 119, 120,
4433 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4434 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4435 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4436 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4437 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4438 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4439 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4440 191, 192, -1, -1, 195, -1, 197, 198, 199, 200,
4441 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4442 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4443 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4444 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4445 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4446 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4447 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4448 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4449 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4450 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4451 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4452 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4453 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4454 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4455 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4456 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4457 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4458 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4459 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4460 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4461 199, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4462 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4463 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4464 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4465 -1, -1, -1, -1, -1, 42, 43, 44, -1, -1,
4466 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4467 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4468 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4469 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4470 87, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4471 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4472 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4473 117, -1, 119, 120, -1, -1, -1, -1, 125, 126,
4474 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4475 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4476 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4477 157, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4478 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4479 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4480 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4481 197, 198, -1, 200, 201, -1, 203, 204, 3, 4,
4482 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4485 -1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
4486 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4487 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4488 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4489 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4490 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4491 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4492 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4493 115, 116, 117, -1, 119, 120, -1, -1, -1, -1,
4494 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4495 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4496 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4497 155, 156, 157, -1, -1, 160, -1, -1, 163, -1,
4498 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4499 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4500 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4501 195, -1, 197, 198, 199, 200, 201, -1, 203, 204,
4502 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4503 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4505 -1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
4506 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4507 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4508 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4509 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4510 83, 84, -1, 86, -1, 88, -1, 90, -1, -1,
4511 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4512 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4513 113, -1, 115, 116, 117, -1, 119, 120, -1, -1,
4514 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4515 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4516 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4517 -1, 154, 155, 156, 157, -1, -1, 160, -1, -1,
4518 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4519 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4520 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4521 -1, -1, 195, -1, 197, 198, 199, 200, 201, -1,
4522 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4523 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4526 -1, 42, 43, 44, -1, -1, -1, -1, 49, -1,
4527 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4528 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4529 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4530 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4531 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4532 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4533 111, 112, 113, -1, 115, 116, 117, -1, 119, 120,
4534 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4535 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4536 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4537 151, 152, -1, 154, 155, 156, 157, -1, -1, 160,
4538 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4539 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4540 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4541 191, 192, -1, -1, 195, -1, 197, 198, 199, 200,
4542 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4543 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4544 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4545 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4546 -1, -1, -1, 42, 43, 44, -1, -1, -1, -1,
4547 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4548 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4549 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4550 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4551 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4552 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4553 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4554 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
4555 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4556 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4557 149, -1, 151, 152, -1, 154, 155, 156, 157, -1,
4558 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4559 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4560 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4561 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4562 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4563 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4565 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4566 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4567 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4568 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
4569 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4570 77, -1, -1, -1, 81, 82, 83, 84, -1, 86,
4571 -1, 88, -1, 90, -1, -1, 93, -1, -1, -1,
4572 97, 98, 99, 100, -1, 102, 103, -1, 105, -1,
4573 107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
4574 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4575 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4576 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4577 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4578 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4579 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4580 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4581 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4582 197, 198, -1, 200, 201, -1, 203, 204, 3, 4,
4583 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4584 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4585 -1, -1, 27, -1, -1, -1, -1, -1, -1, -1,
4586 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4587 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4588 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4589 65, 66, -1, -1, -1, 70, 71, 72, 73, 74,
4590 75, -1, 77, -1, -1, -1, 81, 82, 83, 84,
4591 -1, 86, -1, 88, -1, 90, -1, -1, 93, -1,
4592 -1, -1, 97, 98, 99, 100, -1, 102, 103, -1,
4593 105, -1, 107, 108, 109, 110, 111, 112, 113, -1,
4594 115, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4595 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4596 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4597 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
4598 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
4599 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4600 175, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4601 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4602 195, -1, 197, 198, -1, 200, 201, -1, 203, 204,
4603 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4604 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4605 -1, -1, -1, -1, 27, -1, -1, -1, -1, -1,
4606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4607 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4608 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4609 63, 64, 65, 66, -1, -1, -1, 70, 71, 72,
4610 73, 74, 75, -1, 77, -1, -1, -1, 81, 82,
4611 83, 84, -1, 86, -1, 88, -1, 90, -1, -1,
4612 93, -1, -1, -1, 97, 98, 99, 100, -1, 102,
4613 103, -1, 105, -1, 107, 108, 109, 110, 111, 112,
4614 113, -1, 115, 116, 117, -1, -1, -1, -1, -1,
4615 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4616 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4617 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4618 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4619 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4620 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4621 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4622 -1, -1, 195, -1, 197, 198, -1, 200, 201, -1,
4623 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4624 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4625 -1, -1, -1, -1, -1, -1, 27, -1, -1, -1,
4626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4627 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4628 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4629 61, 62, 63, 64, 65, 66, -1, -1, -1, 70,
4630 71, 72, 73, 74, 75, -1, 77, -1, -1, -1,
4631 81, 82, 83, 84, -1, 86, -1, 88, -1, 90,
4632 -1, -1, 93, -1, -1, -1, 97, 98, 99, 100,
4633 -1, 102, 103, -1, 105, -1, 107, 108, 109, 110,
4634 111, 112, 113, -1, 115, 116, 117, -1, -1, -1,
4635 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4636 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4637 -1, -1, -1, 144, 145, 146, 147, 148, 149, -1,
4638 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4639 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4640 -1, -1, -1, 174, 175, 176, 177, -1, 179, 180,
4641 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4642 191, 192, -1, -1, 195, -1, 197, 198, -1, 200,
4643 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4644 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4647 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4648 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4649 59, 60, 61, 62, 63, 64, 65, 66, -1, -1,
4650 -1, 70, 71, 72, 73, 74, 75, -1, 77, -1,
4651 -1, -1, 81, 82, 83, 84, -1, 86, -1, 88,
4652 -1, 90, -1, -1, 93, -1, -1, -1, 97, 98,
4653 99, 100, -1, 102, 103, -1, 105, -1, 107, 108,
4654 109, 110, 111, 112, 113, -1, 115, 116, 117, -1,
4655 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4656 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4657 139, -1, -1, -1, -1, 144, 145, 146, 147, 148,
4658 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4659 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4660 169, -1, -1, -1, -1, 174, 175, 176, 177, -1,
4661 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4662 189, 190, 191, 192, -1, -1, 195, -1, 197, 198,
4663 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4664 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4665 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4666 -1, -1, -1, -1, -1, 32, -1, -1, -1, -1,
4667 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4668 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4669 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4670 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4671 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4672 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4673 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4674 -1, 108, 109, 110, 111, 112, 113, -1, 73, 116,
4675 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4676 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4677 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4678 147, 148, 149, -1, 151, 152, -1, 154, 155, 156,
4679 -1, -1, 117, 160, -1, -1, 163, -1, -1, -1,
4680 -1, -1, 169, -1, -1, -1, -1, 174, 175, 176,
4681 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
4682 187, 188, 189, 190, 191, 192, 151, 152, 195, 154,
4683 155, 156, -1, 200, 201, -1, 203, 204, 3, 4,
4684 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4685 -1, -1, 177, -1, 179, 180, 181, 182, 183, 184,
4686 185, 186, 187, 188, 189, 190, 191, -1, -1, -1,
4687 195, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4688 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4689 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4690 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4691 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4693 -1, -1, -1, -1, -1, 100, -1, -1, -1, -1,
4694 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4695 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4696 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4697 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4698 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
4699 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
4700 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4701 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
4702 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4703 195, -1, 197, -1, -1, 200, 201, -1, 203, 204,
4704 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4705 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4706 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4707 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4708 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4709 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4710 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
4711 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
4712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4713 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
4714 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
4715 113, -1, 73, 116, 117, -1, -1, -1, -1, -1,
4716 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4717 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4718 -1, 144, 145, 146, 147, 148, 149, -1, 151, 152,
4719 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4720 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4721 -1, 174, 175, 176, 177, -1, 179, 180, 181, 182,
4722 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4723 151, 152, 195, 154, 155, 156, -1, 200, 201, -1,
4724 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4725 -1, -1, 13, -1, -1, -1, 177, -1, 179, 180,
4726 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4727 191, 32, -1, -1, 195, -1, -1, -1, -1, -1,
4728 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4729 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4730 61, 62, 63, 64, 65, -1, -1, -1, -1, 70,
4731 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
4732 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4733 -1, -1, -1, -1, -1, -1, -1, -1, -1, 100,
4734 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
4735 111, 112, 113, -1, 73, 116, 117, -1, -1, -1,
4736 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4737 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4738 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
4739 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4740 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4741 -1, -1, -1, 174, -1, 176, 177, -1, 179, 180,
4742 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4743 191, 192, 151, 152, 195, 154, 155, 156, -1, 200,
4744 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4745 -1, -1, -1, -1, 13, -1, -1, -1, 177, -1,
4746 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4747 189, 190, 191, -1, -1, -1, 195, -1, -1, -1,
4748 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4749 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4750 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
4751 -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
4752 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
4753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4754 -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
4755 109, 110, 111, 112, 113, -1, -1, 116, 117, -1,
4756 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4757 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4758 139, -1, -1, -1, -1, 144, 145, 146, 147, -1,
4759 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4760 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4761 169, -1, -1, -1, -1, 174, -1, 176, 177, -1,
4762 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4763 189, 190, 191, 192, -1, -1, 195, -1, 197, -1,
4764 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4765 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4766 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4767 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4768 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4769 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4770 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4771 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4772 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4773 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4774 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4775 -1, 108, 109, 110, 111, 112, 113, -1, -1, 116,
4776 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4777 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4778 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4779 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
4780 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4781 -1, -1, 169, -1, -1, -1, -1, 174, -1, 176,
4782 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4783 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4784 197, -1, -1, 200, 201, -1, 203, 204, 3, 4,
4785 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4788 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4789 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4790 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4791 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4792 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4793 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4794 -1, -1, 97, -1, -1, 100, -1, -1, -1, -1,
4795 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4796 73, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4797 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4798 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4799 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
4800 155, 156, -1, -1, -1, 160, 119, -1, 163, -1,
4801 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4802 -1, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4803 185, 186, 187, 188, 189, 190, 191, 192, 151, 152,
4804 195, 154, 155, 156, -1, 200, 201, -1, 203, 204,
4805 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4806 13, -1, -1, -1, 177, -1, 179, 180, 181, 182,
4807 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
4808 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4809 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4810 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4811 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
4812 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
4813 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4814 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
4815 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
4816 113, -1, -1, 116, 117, -1, -1, -1, -1, -1,
4817 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4818 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4819 -1, 144, 145, 146, 147, -1, 149, -1, 151, 152,
4820 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4821 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4822 -1, 174, -1, 176, 177, -1, 179, 180, 181, 182,
4823 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4824 -1, -1, 195, 196, -1, -1, -1, 200, 201, -1,
4825 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4826 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4827 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4828 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
4829 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4830 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4831 61, 62, 63, 64, 65, -1, -1, -1, -1, 70,
4832 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
4833 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4834 -1, -1, -1, -1, -1, -1, -1, -1, -1, 100,
4835 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
4836 111, 112, 113, -1, -1, 116, 117, -1, -1, -1,
4837 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4838 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4839 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
4840 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4841 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4842 -1, -1, -1, 174, -1, 176, 177, -1, 179, 180,
4843 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4844 191, 192, -1, -1, 195, -1, -1, -1, -1, 200,
4845 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4846 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4847 -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
4848 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4849 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4850 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4851 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
4852 -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
4853 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
4854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4855 -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
4856 109, 110, 111, 112, 113, -1, 73, 116, 117, -1,
4857 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4858 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4859 139, -1, -1, -1, -1, 144, 145, 146, 147, -1,
4860 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4861 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4862 169, -1, -1, -1, -1, 174, -1, 176, 177, -1,
4863 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4864 189, 190, 191, 192, 151, 152, 195, 154, 155, 156,
4865 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4866 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4867 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4868 187, 188, 189, 190, 191, 32, -1, -1, -1, -1,
4869 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4870 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4871 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4872 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4873 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4874 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4875 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4876 -1, 108, 109, 110, 111, 112, 113, -1, -1, 116,
4877 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4878 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4879 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4880 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
4881 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4882 -1, -1, 169, -1, -1, -1, -1, 174, -1, 176,
4883 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4884 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4885 -1, -1, -1, 200, 201, -1, 203, 204, 3, 4,
4886 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4887 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4888 -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
4889 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4890 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4891 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4892 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4893 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4895 -1, -1, -1, -1, -1, 100, -1, -1, -1, -1,
4896 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4897 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4898 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
4899 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
4900 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
4901 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
4902 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
4903 -1, 176, 177, -1, 179, 180, 181, 182, 183, 184,
4904 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
4905 195, -1, -1, -1, -1, 200, 201, -1, 203, 204,
4906 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
4907 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4908 -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
4909 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4910 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
4911 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
4912 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
4913 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
4914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4915 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
4916 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
4917 113, -1, -1, 116, 117, -1, -1, -1, -1, -1,
4918 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
4919 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
4920 -1, 144, 145, 146, 147, -1, 149, -1, 151, 152,
4921 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
4922 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
4923 -1, 174, -1, 176, 177, -1, 179, 180, 181, 182,
4924 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
4925 -1, -1, 195, -1, -1, -1, -1, 200, 201, -1,
4926 203, 204, 3, 4, 5, 6, 7, -1, -1, -1,
4927 -1, -1, 13, -1, -1, -1, -1, -1, -1, -1,
4928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4930 -1, -1, 43, 44, -1, -1, -1, -1, 49, -1,
4931 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
4932 61, 62, 63, 64, 65, -1, -1, -1, -1, 70,
4933 71, 72, 73, 74, 75, -1, -1, -1, -1, -1,
4934 81, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4935 -1, -1, -1, -1, -1, -1, -1, -1, -1, 100,
4936 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
4937 111, 112, 113, -1, -1, 116, 117, -1, -1, -1,
4938 -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
4939 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
4940 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
4941 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
4942 -1, -1, 163, -1, -1, -1, -1, -1, 169, -1,
4943 -1, -1, -1, 174, -1, 176, 177, -1, 179, 180,
4944 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
4945 191, 192, -1, -1, 195, -1, -1, 198, -1, 200,
4946 201, -1, 203, 204, 3, 4, 5, 6, 7, -1,
4947 -1, -1, -1, -1, 13, -1, -1, -1, -1, -1,
4948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4949 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
4950 -1, -1, -1, -1, 43, 44, -1, -1, -1, -1,
4951 49, -1, 51, 52, 53, 54, 55, 56, 57, 58,
4952 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
4953 -1, 70, 71, 72, 73, 74, 75, -1, -1, -1,
4954 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
4955 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4956 -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
4957 109, 110, 111, 112, 113, -1, -1, 116, 117, -1,
4958 -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
4959 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
4960 139, -1, -1, -1, -1, 144, 145, 146, 147, -1,
4961 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
4962 -1, 160, -1, -1, 163, -1, -1, -1, -1, -1,
4963 169, -1, -1, -1, -1, 174, -1, 176, 177, -1,
4964 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
4965 189, 190, 191, 192, -1, -1, 195, -1, -1, -1,
4966 -1, 200, 201, -1, 203, 204, 3, 4, 5, 6,
4967 7, -1, -1, -1, -1, -1, 13, -1, -1, -1,
4968 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4969 -1, -1, -1, -1, -1, 32, -1, -1, -1, -1,
4970 -1, -1, -1, -1, -1, -1, 43, 44, -1, -1,
4971 -1, -1, 49, -1, 51, 52, 53, 54, 55, 56,
4972 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
4973 -1, -1, -1, 70, 71, 72, 73, 74, 75, -1,
4974 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4976 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
4977 -1, 108, 109, 110, 111, 112, 113, -1, -1, 116,
4978 117, -1, -1, -1, -1, -1, -1, -1, 125, 126,
4979 -1, 128, 129, 130, 131, 132, -1, -1, -1, -1,
4980 -1, -1, 139, -1, -1, -1, -1, 144, 145, 146,
4981 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
4982 -1, -1, -1, 160, -1, -1, 163, -1, -1, -1,
4983 -1, -1, 169, -1, -1, -1, -1, 174, -1, 176,
4984 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
4985 187, 188, 189, 190, 191, 192, -1, -1, 195, -1,
4986 -1, -1, -1, 200, 201, -1, 203, 204, 3, 4,
4987 5, 6, 7, -1, -1, -1, -1, -1, 13, -1,
4988 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4990 -1, -1, -1, -1, -1, -1, -1, -1, 43, 44,
4991 -1, -1, -1, -1, 49, -1, 51, 52, 53, 54,
4992 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
4993 65, -1, -1, -1, -1, 70, 71, 72, 73, 74,
4994 75, -1, -1, -1, -1, -1, 81, -1, -1, -1,
4995 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4996 -1, -1, -1, -1, -1, 100, -1, -1, -1, -1,
4997 -1, -1, -1, 108, 109, 110, 111, 112, 113, -1,
4998 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
4999 125, 126, -1, 128, 129, 130, 131, 132, -1, -1,
5000 -1, -1, -1, -1, 139, -1, -1, -1, -1, 144,
5001 145, 146, 147, -1, 149, -1, 151, 152, -1, 154,
5002 155, 156, -1, -1, -1, 160, -1, -1, 163, -1,
5003 -1, -1, -1, -1, 169, -1, -1, -1, -1, 174,
5004 -1, 176, 177, -1, 179, 180, 181, 182, 183, 184,
5005 185, 186, 187, 188, 189, 190, 191, 192, -1, -1,
5006 195, -1, -1, -1, -1, 200, 201, -1, 203, 204,
5007 3, 4, 5, 6, 7, -1, -1, -1, -1, -1,
5008 13, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5011 43, 44, -1, -1, -1, -1, 49, -1, 51, 52,
5012 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
5013 63, 64, 65, -1, -1, -1, -1, 70, 71, 72,
5014 73, 74, 75, -1, -1, -1, -1, -1, 81, -1,
5015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5016 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
5017 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
5018 113, -1, -1, 116, 117, -1, -1, -1, -1, -1,
5019 -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
5020 -1, -1, -1, -1, -1, -1, 139, -1, -1, -1,
5021 -1, 144, 145, 146, 147, -1, 149, -1, 151, 152,
5022 -1, 154, 155, 156, -1, -1, -1, 160, -1, -1,
5023 163, -1, -1, -1, -1, -1, 169, -1, -1, -1,
5024 -1, 174, -1, 176, 177, -1, 179, 180, 181, 182,
5025 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
5026 -1, -1, 195, 10, 11, 12, -1, 200, 201, -1,
5027 203, 204, -1, -1, -1, -1, -1, -1, -1, 26,
5028 -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5029 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5030 47, 48, -1, 50, 10, 11, 12, -1, -1, -1,
5031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5032 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
5033 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5034 46, 47, 48, -1, 50, -1, -1, -1, 10, 11,
5035 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5036 -1, -1, -1, -1, 26, -1, 28, 29, 30, 31,
5037 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
5038 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
5039 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5040 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5041 -1, 10, 11, 12, -1, 3, 4, 5, 6, 7,
5042 -1, -1, 10, 11, 12, 13, -1, 26, -1, 28,
5043 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
5044 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
5045 -1, 50, 199, -1, -1, -1, -1, -1, -1, -1,
5046 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
5047 -1, -1, -1, -1, -1, 63, 64, 65, 66, 67,
5048 68, 69, -1, -1, -1, 73, -1, -1, -1, -1,
5049 -1, -1, -1, 199, 82, 83, 84, 85, 86, 87,
5050 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5051 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5052 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
5053 118, 119, 120, 121, 122, 197, -1, 125, 126, -1,
5054 128, 129, 130, 131, 132, -1, -1, -1, -1, -1,
5055 -1, -1, -1, -1, -1, -1, 144, 145, 146, -1,
5056 148, -1, -1, 151, 152, -1, 154, 155, 156, 157,
5057 -1, 159, 160, -1, 162, -1, -1, -1, -1, -1,
5058 -1, 169, 170, -1, 172, 184, 174, 175, 176, 177,
5059 -1, 179, 180, 181, 182, 183, 184, 185, 186, 187,
5060 188, 189, 190, 191, 10, 11, 12, -1, -1, -1,
5061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5062 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
5063 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5064 46, 47, 48, -1, 50, 10, 11, 12, -1, -1,
5065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5066 -1, 26, -1, 28, 29, 30, 31, 32, 33, 34,
5067 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5068 45, 46, 47, 48, -1, 50, 10, 11, 12, -1,
5069 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5070 -1, -1, 26, -1, 28, 29, 30, 31, 32, 33,
5071 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5072 44, 45, 46, 47, 48, -1, 50, 10, 11, 12,
5073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5074 -1, -1, -1, 26, -1, 28, 29, 30, 31, 32,
5075 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5076 43, 44, 45, 46, 47, 48, -1, 50, -1, -1,
5077 -1, -1, -1, -1, 10, 11, 12, -1, -1, -1,
5078 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5079 26, 197, 28, 29, 30, 31, 32, 33, 34, 35,
5080 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5081 46, 47, 48, -1, 50, 10, 11, 12, -1, -1,
5082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5083 -1, 26, 197, 28, 29, 30, 31, 32, 33, 34,
5084 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5085 45, 46, 47, 48, -1, 50, 10, 11, 12, -1,
5086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5087 -1, -1, 26, 197, 28, 29, 30, 31, 32, 33,
5088 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5089 44, 45, 46, 47, 48, -1, 50, 10, 11, 12,
5090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5091 -1, -1, -1, 26, 197, 28, 29, 30, 31, 32,
5092 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5093 43, 44, 45, 46, 47, 48, -1, 50, -1, -1,
5094 -1, -1, -1, 10, 11, 12, -1, -1, -1, -1,
5095 -1, 73, -1, 75, -1, -1, -1, -1, -1, 26,
5096 196, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5097 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5098 47, 48, -1, 50, 10, 11, 12, -1, -1, -1,
5099 -1, -1, -1, -1, -1, -1, -1, 119, -1, -1,
5100 26, 196, 28, 29, 30, 31, 32, 33, 34, 35,
5101 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5102 46, 47, 48, 26, 50, -1, -1, -1, -1, 151,
5103 152, -1, 154, 155, 156, -1, -1, 191, -1, -1,
5104 -1, -1, -1, -1, -1, -1, -1, -1, -1, 52,
5105 -1, -1, -1, -1, -1, 177, -1, 179, 180, 181,
5106 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5107 73, -1, -1, -1, 187, 188, 198, -1, 200, -1,
5108 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5109 -1, -1, -1, -1, -1, -1, -1, 100, -1, -1,
5110 -1, -1, -1, -1, -1, 108, 109, 110, 111, 112,
5111 113, -1, -1, -1, -1, 52, 183, -1, -1, -1,
5112 -1, -1, -1, 126, 127, -1, -1, -1, -1, -1,
5113 -1, -1, -1, -1, -1, -1, 73, -1, -1, -1,
5114 -1, 144, -1, -1, 147, -1, 149, -1, 151, 152,
5115 -1, 154, 155, 156, -1, -1, 182, -1, -1, -1,
5116 -1, -1, -1, 100, -1, -1, 169, -1, -1, 26,
5117 -1, -1, -1, 176, 177, -1, 179, 180, 181, 182,
5118 183, 184, 185, 186, 187, 188, 189, 190, 191, 126,
5119 127, -1, 195, -1, -1, 52, -1, -1, -1, -1,
5120 -1, -1, -1, -1, -1, -1, -1, 144, -1, -1,
5121 147, -1, 149, -1, 151, 152, 73, 154, 155, 156,
5122 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5123 -1, -1, 169, -1, -1, 26, -1, -1, -1, -1,
5124 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
5125 187, 188, 189, 190, 191, -1, -1, -1, 195, -1,
5126 -1, 52, -1, -1, -1, -1, -1, -1, -1, 126,
5127 127, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5128 -1, -1, 73, -1, -1, -1, -1, 144, -1, -1,
5129 147, -1, 149, -1, 151, 152, -1, 154, 155, 156,
5130 -1, 158, -1, -1, -1, -1, -1, -1, -1, -1,
5131 -1, -1, 169, -1, -1, 26, -1, -1, -1, -1,
5132 177, -1, 179, 180, 181, 182, 183, 184, 185, 186,
5133 187, 188, 189, 190, 191, 126, 127, -1, 195, -1,
5134 -1, 52, -1, -1, -1, -1, -1, -1, -1, -1,
5135 -1, -1, -1, 144, -1, -1, 147, -1, 149, -1,
5136 151, 152, 73, 154, 155, 156, -1, 158, -1, -1,
5137 32, -1, -1, -1, -1, -1, -1, -1, 169, -1,
5138 -1, -1, -1, -1, -1, -1, 177, -1, 179, 180,
5139 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5140 191, -1, -1, -1, 195, -1, -1, -1, -1, -1,
5141 -1, 73, -1, 75, -1, 126, 127, -1, -1, -1,
5142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5143 -1, -1, -1, 144, -1, -1, 147, -1, 149, -1,
5144 151, 152, -1, 154, 155, 156, -1, -1, -1, -1,
5145 -1, 113, -1, -1, -1, -1, -1, -1, 169, -1,
5146 -1, -1, -1, 125, -1, -1, 177, -1, 179, 180,
5147 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5148 191, -1, 144, -1, 195, 147, -1, 149, -1, 151,
5149 152, -1, 154, 155, 156, -1, -1, -1, -1, -1,
5150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5151 -1, -1, 43, 44, -1, 177, -1, 179, 180, 181,
5152 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5153 -1, 62, -1, 195, -1, -1, -1, -1, 200, 70,
5154 71, 72, 73, -1, -1, -1, -1, -1, -1, -1,
5155 81, 10, 11, 12, -1, -1, -1, -1, -1, -1,
5156 -1, -1, -1, -1, -1, -1, -1, 26, -1, 28,
5157 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
5158 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
5159 73, 50, 75, -1, -1, 126, -1, 128, 129, 130,
5160 131, 132, -1, -1, -1, -1, -1, -1, 139, -1,
5161 -1, -1, -1, 144, 145, 146, 147, -1, 149, -1,
5162 151, 152, -1, 154, 155, 156, -1, -1, -1, 160,
5163 113, -1, -1, -1, -1, -1, -1, -1, 169, -1,
5164 73, -1, 75, 174, -1, -1, 177, -1, 179, 180,
5165 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5166 191, 144, -1, -1, 147, 124, 149, -1, 151, 152,
5167 -1, 154, 155, 156, -1, -1, -1, -1, -1, -1,
5168 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5169 -1, -1, 125, -1, 177, -1, 179, 180, 181, 182,
5170 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
5171 -1, 144, 195, -1, 147, 198, 149, 200, 151, 152,
5172 -1, 154, 155, 156, 73, -1, 75, -1, -1, -1,
5173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5174 -1, -1, -1, -1, 177, -1, 179, 180, 181, 182,
5175 183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
5176 -1, -1, 195, -1, 113, -1, -1, 200, -1, -1,
5177 -1, -1, -1, -1, -1, -1, 125, -1, 73, -1,
5178 75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5179 -1, -1, -1, -1, -1, 144, -1, -1, 147, -1,
5180 149, -1, 151, 152, -1, 154, 155, 156, -1, -1,
5181 -1, -1, -1, -1, -1, -1, -1, -1, 113, -1,
5182 -1, -1, -1, -1, -1, -1, -1, -1, 177, -1,
5183 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
5184 189, 190, 191, 73, -1, 75, 195, -1, -1, 144,
5185 -1, 200, 147, -1, 149, -1, 151, 152, -1, 154,
5186 155, 156, -1, -1, -1, -1, -1, -1, -1, -1,
5187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5188 -1, -1, 177, 113, 179, 180, 181, 182, 183, 184,
5189 185, 186, 187, 188, 189, 190, 191, 73, -1, 75,
5190 195, -1, -1, -1, -1, 200, -1, -1, -1, -1,
5191 -1, -1, -1, -1, 144, -1, -1, 147, -1, 149,
5192 -1, 151, 152, -1, 154, 155, 156, -1, -1, -1,
5193 -1, -1, -1, -1, -1, -1, -1, -1, 73, -1,
5194 75, -1, -1, -1, -1, -1, -1, 177, -1, 179,
5195 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
5196 190, 191, -1, -1, -1, 195, -1, -1, -1, -1,
5197 200, -1, -1, -1, -1, 151, 152, -1, 154, 155,
5198 156, -1, -1, -1, -1, -1, -1, -1, 73, -1,
5199 75, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5200 -1, 177, -1, 179, 180, 181, 182, 183, 184, 185,
5201 186, 187, 188, 189, 190, 191, 151, 152, -1, 154,
5202 155, 156, 198, -1, 200, -1, -1, -1, -1, 73,
5203 -1, 75, -1, -1, -1, -1, -1, -1, -1, -1,
5204 -1, -1, 177, -1, 179, 180, 181, 182, 183, 184,
5205 185, 186, 187, 188, 189, 190, 191, -1, -1, -1,
5206 -1, -1, -1, 198, -1, 200, 151, 152, -1, 154,
5207 155, 156, -1, -1, -1, -1, -1, -1, -1, 73,
5208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5209 -1, -1, 177, -1, 179, 180, 181, 182, 183, 184,
5210 185, 186, 187, 188, 189, 190, 191, 151, 152, -1,
5211 154, 155, 156, 198, -1, 200, -1, -1, -1, -1,
5212 -1, -1, -1, -1, -1, 73, -1, -1, -1, -1,
5213 -1, -1, -1, 177, -1, 179, 180, 181, 182, 183,
5214 184, 185, 186, 187, 188, 189, 190, 191, -1, -1,
5215 144, -1, -1, 147, 198, -1, 200, 151, 152, -1,
5216 154, 155, 156, -1, -1, -1, -1, -1, -1, -1,
5217 -1, -1, -1, 73, -1, -1, -1, -1, -1, -1,
5218 -1, -1, -1, 177, -1, 179, 180, 181, 182, 183,
5219 184, 185, 186, 187, 188, 189, 190, 191, -1, 147,
5220 -1, -1, -1, 151, 152, 199, 154, 155, 156, -1,
5221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5222 -1, -1, 73, -1, -1, -1, -1, -1, -1, 177,
5223 -1, 179, 180, 181, 182, 183, 184, 185, 186, 187,
5224 188, 189, 190, 191, -1, -1, -1, -1, -1, 149,
5225 198, 151, 152, 153, 154, 155, 156, -1, -1, -1,
5226 -1, -1, -1, 114, -1, -1, -1, -1, -1, -1,
5227 73, -1, -1, -1, -1, 126, -1, 177, -1, 179,
5228 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
5229 190, 191, -1, 144, -1, 195, 147, -1, 149, -1,
5230 151, 152, -1, 154, 155, 156, -1, -1, -1, -1,
5231 -1, 73, -1, 75, 76, -1, -1, -1, -1, -1,
5232 -1, -1, -1, -1, -1, -1, 177, 73, 179, 180,
5233 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5234 191, 144, -1, -1, 147, -1, 149, -1, 151, 152,
5235 -1, 154, 155, 156, -1, -1, -1, -1, -1, -1,
5236 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5237 73, -1, -1, -1, 177, -1, 179, 180, 181, 182,
5238 183, 184, 185, 186, 187, 188, 189, 190, 191, 151,
5239 152, -1, 154, 155, 156, -1, -1, -1, -1, -1,
5240 -1, 147, -1, -1, -1, 151, 152, -1, 154, 155,
5241 156, -1, -1, -1, -1, 177, -1, 179, 180, 181,
5242 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5243 -1, 177, -1, 179, 180, 181, 182, 183, 184, 185,
5244 186, 187, 188, 189, 190, 191, 149, -1, 151, 152,
5245 -1, 154, 155, 156, -1, -1, -1, -1, -1, -1,
5246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5247 -1, -1, -1, -1, 177, -1, 179, 180, 181, 182,
5248 183, 184, 185, 186, 187, 188, 189, 190, 191, 10,
5249 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
5250 -1, -1, -1, -1, -1, 26, -1, 28, 29, 30,
5251 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
5252 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
5253 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
5254 -1, -1, -1, -1, -1, -1, 26, -1, 28, 29,
5255 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
5256 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
5257 50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5258 -1, -1, -1, -1, -1, -1, 10, 11, 12, -1,
5259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5260 -1, -1, 26, 124, 28, 29, 30, 31, 32, 33,
5261 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5262 44, 45, 46, 47, 48, -1, 50, 10, 11, 12,
5263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5264 -1, -1, -1, 26, 124, 28, 29, 30, 31, 32,
5265 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5266 43, 44, 45, 46, 47, 48, -1, 50, -1, -1,
5267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5268 -1, -1, -1, 10, 11, 12, -1, -1, -1, -1,
5269 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5270 124, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5271 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5272 47, 48, -1, 50, -1, -1, 10, 11, 12, -1,
5273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5274 -1, 124, 26, 27, 28, 29, 30, 31, 32, 33,
5275 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5276 44, 45, 46, 47, 48, 92, 50, 10, 11, 12,
5277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5278 -1, -1, -1, 26, -1, 28, 29, 30, 31, 32,
5279 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5280 43, 44, 45, 46, 47, 48, -1, 50, 11, 12,
5281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5282 -1, -1, -1, 26, -1, 28, 29, 30, 31, 32,
5283 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5284 43, 44, 45, 46, 47, 48, -1, 50
5287 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
5288 symbol of state STATE-NUM. */
5289 static const yytype_uint16 yystos
[] =
5291 0, 206, 207, 0, 208, 3, 4, 5, 6, 7,
5292 13, 42, 43, 44, 49, 51, 52, 53, 54, 55,
5293 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
5294 66, 70, 71, 72, 73, 74, 75, 77, 81, 82,
5295 83, 84, 86, 88, 90, 93, 97, 98, 99, 100,
5296 101, 102, 103, 105, 106, 107, 108, 109, 110, 111,
5297 112, 113, 115, 116, 117, 118, 119, 120, 125, 126,
5298 128, 129, 130, 131, 132, 139, 144, 145, 146, 147,
5299 148, 149, 151, 152, 154, 155, 156, 157, 160, 163,
5300 169, 170, 172, 174, 175, 176, 177, 179, 180, 181,
5301 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
5302 192, 195, 197, 198, 200, 201, 203, 204, 209, 212,
5303 215, 216, 217, 218, 219, 220, 223, 238, 239, 243,
5304 248, 254, 309, 310, 315, 319, 320, 321, 322, 323,
5305 324, 325, 326, 328, 331, 340, 341, 342, 344, 345,
5306 347, 366, 376, 377, 378, 383, 386, 404, 409, 411,
5307 412, 413, 414, 415, 416, 417, 418, 420, 433, 435,
5308 437, 111, 112, 113, 125, 144, 212, 238, 309, 325,
5309 411, 325, 195, 325, 325, 325, 402, 403, 325, 325,
5310 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
5311 75, 113, 195, 216, 377, 378, 411, 411, 32, 325,
5312 424, 425, 325, 113, 195, 216, 377, 378, 379, 410,
5313 416, 421, 422, 195, 316, 380, 195, 316, 332, 317,
5314 325, 225, 316, 195, 195, 195, 316, 197, 325, 212,
5315 197, 325, 26, 52, 126, 127, 149, 169, 195, 212,
5316 219, 438, 448, 449, 178, 197, 322, 325, 346, 348,
5317 198, 231, 325, 147, 213, 214, 215, 75, 200, 280,
5318 281, 119, 119, 75, 282, 195, 195, 195, 195, 212,
5319 252, 439, 195, 195, 75, 80, 140, 141, 142, 430,
5320 431, 147, 198, 215, 215, 97, 325, 253, 439, 149,
5321 195, 439, 439, 325, 333, 315, 325, 326, 411, 221,
5322 198, 80, 381, 430, 80, 430, 430, 27, 147, 165,
5323 440, 195, 9, 197, 32, 237, 149, 251, 439, 113,
5324 238, 310, 197, 197, 197, 197, 197, 197, 10, 11,
5325 12, 26, 28, 29, 30, 31, 32, 33, 34, 35,
5326 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5327 46, 47, 48, 50, 197, 62, 62, 197, 198, 143,
5328 120, 157, 254, 308, 309, 14, 15, 16, 17, 18,
5329 19, 20, 21, 22, 23, 24, 25, 60, 61, 123,
5330 406, 407, 62, 198, 408, 195, 62, 198, 200, 417,
5331 195, 237, 238, 14, 325, 41, 212, 401, 195, 315,
5332 411, 143, 411, 124, 202, 9, 388, 315, 411, 440,
5333 143, 195, 382, 123, 406, 407, 408, 196, 325, 27,
5334 223, 8, 334, 9, 197, 223, 224, 317, 318, 325,
5335 212, 266, 227, 197, 197, 197, 449, 449, 165, 195,
5336 100, 441, 449, 14, 212, 75, 197, 197, 197, 178,
5337 179, 180, 185, 186, 189, 190, 349, 350, 351, 352,
5338 353, 354, 355, 356, 357, 361, 362, 363, 232, 104,
5339 162, 197, 215, 9, 197, 92, 198, 411, 9, 197,
5340 14, 9, 197, 411, 434, 434, 315, 326, 411, 196,
5341 165, 246, 125, 411, 423, 424, 62, 123, 140, 431,
5342 74, 325, 411, 80, 140, 431, 215, 211, 197, 198,
5343 197, 124, 249, 367, 369, 81, 335, 336, 338, 14,
5344 92, 436, 276, 277, 404, 405, 196, 196, 196, 199,
5345 222, 223, 239, 243, 248, 325, 201, 203, 204, 212,
5346 441, 32, 278, 279, 325, 438, 195, 439, 244, 237,
5347 325, 325, 325, 27, 325, 325, 325, 325, 325, 325,
5348 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
5349 325, 325, 325, 325, 325, 325, 379, 325, 419, 419,
5350 325, 426, 427, 119, 198, 212, 416, 417, 252, 253,
5351 251, 238, 32, 148, 319, 322, 325, 346, 325, 325,
5352 325, 325, 325, 325, 325, 325, 325, 325, 325, 198,
5353 212, 416, 419, 325, 278, 419, 325, 423, 237, 196,
5354 195, 400, 9, 388, 315, 196, 212, 32, 325, 32,
5355 325, 196, 196, 416, 278, 198, 212, 416, 196, 221,
5356 270, 198, 325, 325, 84, 27, 223, 264, 197, 92,
5357 14, 9, 196, 27, 198, 267, 449, 81, 445, 446,
5358 447, 195, 9, 43, 44, 62, 126, 139, 149, 169,
5359 177, 216, 217, 219, 343, 377, 383, 384, 385, 181,
5360 75, 325, 75, 75, 325, 358, 359, 325, 325, 351,
5361 361, 184, 364, 221, 195, 230, 92, 214, 212, 325,
5362 281, 384, 75, 9, 196, 196, 196, 196, 196, 197,
5363 212, 444, 121, 257, 195, 9, 196, 196, 75, 76,
5364 212, 432, 212, 62, 199, 199, 208, 210, 325, 122,
5365 256, 164, 47, 149, 164, 371, 124, 9, 388, 196,
5366 449, 449, 14, 193, 9, 389, 449, 450, 123, 406,
5367 407, 408, 199, 9, 166, 411, 196, 9, 389, 14,
5368 329, 240, 121, 255, 195, 439, 325, 27, 202, 202,
5369 124, 199, 9, 388, 325, 440, 195, 247, 250, 245,
5370 237, 64, 411, 325, 440, 195, 202, 199, 196, 202,
5371 199, 196, 43, 44, 62, 70, 71, 72, 81, 126,
5372 139, 169, 177, 212, 391, 393, 396, 399, 212, 411,
5373 411, 124, 406, 407, 408, 196, 325, 271, 67, 68,
5374 272, 221, 316, 221, 318, 32, 125, 261, 411, 384,
5375 212, 27, 223, 265, 197, 268, 197, 268, 9, 166,
5376 124, 9, 388, 196, 158, 441, 442, 449, 384, 384,
5377 384, 387, 390, 195, 80, 143, 195, 195, 143, 198,
5378 325, 181, 181, 14, 187, 188, 360, 9, 191, 364,
5379 75, 199, 377, 198, 234, 212, 199, 14, 411, 197,
5380 92, 9, 166, 258, 377, 198, 423, 125, 411, 14,
5381 202, 325, 199, 208, 258, 198, 370, 14, 325, 335,
5382 197, 449, 27, 443, 405, 32, 75, 158, 198, 212,
5383 416, 449, 32, 325, 384, 276, 195, 377, 256, 330,
5384 241, 325, 325, 325, 199, 195, 278, 257, 256, 255,
5385 439, 379, 199, 195, 278, 14, 70, 71, 72, 212,
5386 392, 392, 393, 394, 395, 195, 80, 140, 195, 195,
5387 9, 388, 196, 400, 32, 325, 199, 67, 68, 273,
5388 316, 223, 199, 197, 85, 197, 411, 195, 124, 260,
5389 14, 221, 268, 94, 95, 96, 268, 199, 449, 449,
5390 445, 9, 196, 196, 124, 202, 9, 388, 387, 212,
5391 335, 337, 339, 387, 119, 212, 384, 428, 429, 325,
5392 325, 325, 359, 325, 349, 75, 235, 384, 449, 212,
5393 9, 283, 196, 195, 319, 322, 325, 202, 199, 283,
5394 150, 163, 198, 366, 373, 150, 198, 372, 124, 197,
5395 449, 334, 450, 75, 14, 75, 325, 440, 195, 411,
5396 196, 276, 198, 276, 195, 124, 195, 278, 196, 198,
5397 198, 256, 242, 382, 195, 278, 196, 124, 202, 9,
5398 388, 394, 140, 335, 397, 398, 394, 393, 411, 316,
5399 27, 69, 223, 197, 318, 423, 261, 196, 384, 91,
5400 94, 197, 325, 27, 197, 269, 199, 166, 158, 27,
5401 384, 384, 196, 124, 9, 388, 196, 196, 124, 199,
5402 9, 388, 182, 196, 221, 92, 377, 4, 101, 106,
5403 114, 151, 152, 154, 199, 284, 307, 308, 309, 314,
5404 404, 423, 199, 199, 47, 325, 325, 325, 32, 75,
5405 158, 14, 384, 199, 195, 278, 443, 196, 283, 196,
5406 276, 325, 278, 196, 283, 283, 198, 195, 278, 196,
5407 393, 393, 196, 124, 196, 9, 388, 196, 27, 221,
5408 197, 196, 196, 228, 197, 197, 269, 221, 449, 124,
5409 384, 335, 384, 384, 325, 198, 199, 449, 121, 122,
5410 438, 259, 377, 114, 126, 149, 155, 293, 294, 295,
5411 377, 153, 299, 300, 117, 195, 212, 301, 302, 285,
5412 238, 449, 9, 197, 308, 196, 149, 368, 199, 199,
5413 75, 14, 75, 384, 195, 278, 196, 106, 327, 443,
5414 199, 443, 196, 196, 199, 199, 283, 276, 196, 124,
5415 393, 335, 221, 226, 27, 223, 263, 221, 196, 384,
5416 124, 124, 183, 221, 377, 377, 14, 9, 197, 198,
5417 198, 9, 197, 3, 4, 5, 6, 7, 10, 11,
5418 12, 13, 50, 63, 64, 65, 66, 67, 68, 69,
5419 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
5420 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
5421 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
5422 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
5423 122, 125, 126, 128, 129, 130, 131, 132, 144, 145,
5424 146, 148, 157, 159, 160, 162, 169, 170, 172, 174,
5425 175, 176, 212, 374, 375, 9, 197, 149, 153, 212,
5426 302, 303, 304, 197, 75, 313, 237, 286, 438, 238,
5427 14, 384, 278, 196, 195, 198, 197, 198, 305, 327,
5428 443, 199, 196, 393, 124, 27, 223, 262, 221, 384,
5429 384, 325, 199, 197, 197, 384, 377, 289, 296, 383,
5430 294, 14, 27, 44, 297, 300, 9, 30, 196, 26,
5431 43, 46, 14, 9, 197, 439, 313, 14, 237, 384,
5432 196, 32, 75, 365, 221, 221, 198, 305, 443, 393,
5433 221, 89, 184, 233, 199, 212, 219, 290, 291, 292,
5434 9, 199, 384, 375, 375, 52, 298, 303, 303, 26,
5435 43, 46, 384, 75, 195, 197, 384, 439, 75, 9,
5436 389, 199, 199, 221, 305, 87, 197, 75, 104, 229,
5437 143, 92, 383, 156, 14, 287, 195, 32, 75, 196,
5438 199, 197, 195, 162, 236, 212, 308, 309, 384, 274,
5439 275, 405, 288, 75, 377, 234, 159, 212, 197, 196,
5440 9, 389, 108, 109, 110, 311, 312, 274, 75, 259,
5441 197, 443, 405, 450, 196, 196, 197, 197, 198, 306,
5442 311, 32, 75, 158, 443, 198, 221, 450, 75, 14,
5443 75, 306, 221, 199, 32, 75, 158, 14, 384, 199,
5444 75, 14, 75, 384, 14, 384, 384
5447 #define yyerrok (yyerrstatus = 0)
5448 #define yyclearin (yychar = YYEMPTY)
5449 #define YYEMPTY (-2)
5452 #define YYACCEPT goto yyacceptlab
5453 #define YYABORT goto yyabortlab
5454 #define YYERROR goto yyerrorlab
5457 /* Like YYERROR except do call yyerror. This remains here temporarily
5458 to ease the transition to the new meaning of YYERROR, for GCC.
5459 Once GCC version 2 has supplanted version 1, this can go. */
5461 #define YYFAIL goto yyerrlab
5463 #define YYRECOVERING() (!!yyerrstatus)
5465 #define YYBACKUP(Token, Value) \
5467 if (yychar == YYEMPTY && yylen == 1) \
5471 yytoken = YYTRANSLATE (yychar); \
5477 yyerror (&yylloc, _p, YY_("syntax error: cannot back up")); \
5484 #define YYERRCODE 256
5487 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
5488 If N is 0, then set CURRENT to the empty location which ends
5489 the previous symbol: RHS[0] (always defined). */
5491 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
5492 #ifndef YYLLOC_DEFAULT
5493 # define YYLLOC_DEFAULT(Current, Rhs, N) \
5497 (Current).line0 = YYRHSLOC (Rhs, 1).line0; \
5498 (Current).char0 = YYRHSLOC (Rhs, 1).char0; \
5499 (Current).line1 = YYRHSLOC (Rhs, N).line1; \
5500 (Current).char1 = YYRHSLOC (Rhs, N).char1; \
5504 (Current).line0 = (Current).line1 = \
5505 YYRHSLOC (Rhs, 0).line1; \
5506 (Current).char0 = (Current).char1 = \
5507 YYRHSLOC (Rhs, 0).char1; \
5513 /* YY_LOCATION_PRINT -- Print the location on the stream.
5514 This macro was not mandated originally: define only if we know
5515 we won't break user code: when these are the locations we know. */
5517 #ifndef YY_LOCATION_PRINT
5518 # if YYLTYPE_IS_TRIVIAL
5519 # define YY_LOCATION_PRINT(File, Loc) \
5520 fprintf (File, "%d.%d-%d.%d", \
5521 (Loc).line0, (Loc).char0, \
5522 (Loc).line1, (Loc).char1)
5524 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
5529 /* YYLEX -- calling `yylex' with the right arguments. */
5532 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
5534 # define YYLEX yylex (&yylval, &yylloc)
5537 /* Enable debugging if requested. */
5541 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
5542 # define YYFPRINTF fprintf
5545 # define YYDPRINTF(Args) \
5551 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
5555 YYFPRINTF (stderr, "%s ", Title); \
5556 yy_symbol_print (stderr, \
5557 Type, Value, Location, _p); \
5558 YYFPRINTF (stderr, "\n"); \
5563 /*--------------------------------.
5564 | Print this symbol on YYOUTPUT. |
5565 `--------------------------------*/
5568 #if (defined __STDC__ || defined __C99__FUNC__ \
5569 || defined __cplusplus || defined _MSC_VER)
5571 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, YYLTYPE
const * const yylocationp
, HPHP::HPHP_PARSER_NS::Parser
*_p
)
5574 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, _p
)
5577 YYSTYPE
const * const yyvaluep
;
5578 YYLTYPE
const * const yylocationp
;
5579 HPHP::HPHP_PARSER_NS::Parser
*_p
;
5584 YYUSE (yylocationp
);
5587 if (yytype
< YYNTOKENS
)
5588 YYPRINT (yyoutput
, yytoknum
[yytype
], *yyvaluep
);
5600 /*--------------------------------.
5601 | Print this symbol on YYOUTPUT. |
5602 `--------------------------------*/
5604 #if (defined __STDC__ || defined __C99__FUNC__ \
5605 || defined __cplusplus || defined _MSC_VER)
5607 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, YYLTYPE
const * const yylocationp
, HPHP::HPHP_PARSER_NS::Parser
*_p
)
5610 yy_symbol_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, _p
)
5613 YYSTYPE
const * const yyvaluep
;
5614 YYLTYPE
const * const yylocationp
;
5615 HPHP::HPHP_PARSER_NS::Parser
*_p
;
5618 if (yytype
< YYNTOKENS
)
5619 YYFPRINTF (yyoutput
, "token %s (", yytname
[yytype
]);
5621 YYFPRINTF (yyoutput
, "nterm %s (", yytname
[yytype
]);
5623 YY_LOCATION_PRINT (yyoutput
, *yylocationp
);
5624 YYFPRINTF (yyoutput
, ": ");
5625 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, _p
);
5626 YYFPRINTF (yyoutput
, ")");
5629 /*------------------------------------------------------------------.
5630 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
5632 `------------------------------------------------------------------*/
5634 #if (defined __STDC__ || defined __C99__FUNC__ \
5635 || defined __cplusplus || defined _MSC_VER)
5637 yy_stack_print (yytype_int16
*yybottom
, yytype_int16
*yytop
)
5640 yy_stack_print (yybottom
, yytop
)
5641 yytype_int16
*yybottom
;
5642 yytype_int16
*yytop
;
5645 YYFPRINTF (stderr
, "Stack now");
5646 for (; yybottom
<= yytop
; yybottom
++)
5648 int yybot
= *yybottom
;
5649 YYFPRINTF (stderr
, " %d", yybot
);
5651 YYFPRINTF (stderr
, "\n");
5654 # define YY_STACK_PRINT(Bottom, Top) \
5657 yy_stack_print ((Bottom), (Top)); \
5661 /*------------------------------------------------.
5662 | Report that the YYRULE is going to be reduced. |
5663 `------------------------------------------------*/
5665 #if (defined __STDC__ || defined __C99__FUNC__ \
5666 || defined __cplusplus || defined _MSC_VER)
5668 yy_reduce_print (YYSTYPE
*yyvsp
, YYLTYPE
*yylsp
, int yyrule
, HPHP::HPHP_PARSER_NS::Parser
*_p
)
5671 yy_reduce_print (yyvsp
, yylsp
, yyrule
, _p
)
5675 HPHP::HPHP_PARSER_NS::Parser
*_p
;
5678 int yynrhs
= yyr2
[yyrule
];
5680 unsigned long int yylno
= yyrline
[yyrule
];
5681 YYFPRINTF (stderr
, "Reducing stack by rule %d (line %lu):\n",
5683 /* The symbols being reduced. */
5684 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
5686 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
5687 yy_symbol_print (stderr
, yyrhs
[yyprhs
[yyrule
] + yyi
],
5688 &(yyvsp
[(yyi
+ 1) - (yynrhs
)])
5689 , &(yylsp
[(yyi
+ 1) - (yynrhs
)]) , _p
);
5690 YYFPRINTF (stderr
, "\n");
5694 # define YY_REDUCE_PRINT(Rule) \
5697 yy_reduce_print (yyvsp, yylsp, Rule, _p); \
5700 /* Nonzero means print parse trace. It is left uninitialized so that
5701 multiple parsers can coexist. */
5703 #else /* !YYDEBUG */
5704 # define YYDPRINTF(Args)
5705 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
5706 # define YY_STACK_PRINT(Bottom, Top)
5707 # define YY_REDUCE_PRINT(Rule)
5708 #endif /* !YYDEBUG */
5711 /* YYINITDEPTH -- initial size of the parser's stacks. */
5713 # define YYINITDEPTH 200
5716 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
5717 if the built-in stack extension method is used).
5719 Do not make this value too large; the results are undefined if
5720 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
5721 evaluated with infinite-precision integer arithmetic. */
5724 # define YYMAXDEPTH 10000
5732 # if defined __GLIBC__ && defined _STRING_H
5733 # define yystrlen strlen
5735 /* Return the length of YYSTR. */
5736 #if (defined __STDC__ || defined __C99__FUNC__ \
5737 || defined __cplusplus || defined _MSC_VER)
5739 yystrlen (const char *yystr
)
5747 for (yylen
= 0; yystr
[yylen
]; yylen
++)
5755 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
5756 # define yystpcpy stpcpy
5758 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
5760 #if (defined __STDC__ || defined __C99__FUNC__ \
5761 || defined __cplusplus || defined _MSC_VER)
5763 yystpcpy (char *yydest
, const char *yysrc
)
5766 yystpcpy (yydest
, yysrc
)
5772 const char *yys
= yysrc
;
5774 while ((*yyd
++ = *yys
++) != '\0')
5783 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
5784 quotes and backslashes, so that it's suitable for yyerror. The
5785 heuristic is that double-quoting is unnecessary unless the string
5786 contains an apostrophe, a comma, or backslash (other than
5787 backslash-backslash). YYSTR is taken from yytname. If YYRES is
5788 null, do not copy; instead, return the length of what the result
5791 yytnamerr (char *yyres
, const char *yystr
)
5796 char const *yyp
= yystr
;
5803 goto do_not_strip_quotes
;
5807 goto do_not_strip_quotes
;
5820 do_not_strip_quotes
: ;
5824 return yystrlen (yystr
);
5826 return yystpcpy (yyres
, yystr
) - yyres
;
5830 /* Copy into YYRESULT an error message about the unexpected token
5831 YYCHAR while in state YYSTATE. Return the number of bytes copied,
5832 including the terminating null byte. If YYRESULT is null, do not
5833 copy anything; just return the number of bytes that would be
5834 copied. As a special case, return 0 if an ordinary "syntax error"
5835 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
5836 size calculation. */
5838 yysyntax_error (char *yyresult
, int yystate
, int yychar
)
5840 int yyn
= yypact
[yystate
];
5842 if (! (YYPACT_NINF
< yyn
&& yyn
<= YYLAST
))
5846 int yytype
= YYTRANSLATE (yychar
);
5847 YYSIZE_T yysize0
= yytnamerr (0, yytname
[yytype
]);
5848 YYSIZE_T yysize
= yysize0
;
5850 int yysize_overflow
= 0;
5851 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
5852 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
5856 /* This is so xgettext sees the translatable formats that are
5857 constructed on the fly. */
5858 YY_("syntax error, unexpected %s");
5859 YY_("syntax error, unexpected %s, expecting %s");
5860 YY_("syntax error, unexpected %s, expecting %s or %s");
5861 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
5862 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
5866 static char const yyunexpected
[] = "syntax error, unexpected %s";
5867 static char const yyexpecting
[] = ", expecting %s";
5868 static char const yyor
[] = " or %s";
5869 char yyformat
[sizeof yyunexpected
5870 + sizeof yyexpecting
- 1
5871 + ((YYERROR_VERBOSE_ARGS_MAXIMUM
- 2)
5872 * (sizeof yyor
- 1))];
5873 char const *yyprefix
= yyexpecting
;
5875 /* Start YYX at -YYN if negative to avoid negative indexes in
5877 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
5879 /* Stay within bounds of both yycheck and yytname. */
5880 int yychecklim
= YYLAST
- yyn
+ 1;
5881 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
5884 yyarg
[0] = yytname
[yytype
];
5885 yyfmt
= yystpcpy (yyformat
, yyunexpected
);
5887 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
5888 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
)
5890 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
5894 yyformat
[sizeof yyunexpected
- 1] = '\0';
5897 yyarg
[yycount
++] = yytname
[yyx
];
5898 yysize1
= yysize
+ yytnamerr (0, yytname
[yyx
]);
5899 yysize_overflow
|= (yysize1
< yysize
);
5901 yyfmt
= yystpcpy (yyfmt
, yyprefix
);
5905 yyf
= YY_(yyformat
);
5906 yysize1
= yysize
+ yystrlen (yyf
);
5907 yysize_overflow
|= (yysize1
< yysize
);
5910 if (yysize_overflow
)
5911 return YYSIZE_MAXIMUM
;
5915 /* Avoid sprintf, as that infringes on the user's name space.
5916 Don't have undefined behavior even if the translation
5917 produced a string with the wrong number of "%s"s. */
5918 char *yyp
= yyresult
;
5920 while ((*yyp
= *yyf
) != '\0')
5922 if (*yyp
== '%' && yyf
[1] == 's' && yyi
< yycount
)
5924 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
5937 #endif /* YYERROR_VERBOSE */
5940 /*-----------------------------------------------.
5941 | Release the memory associated to this symbol. |
5942 `-----------------------------------------------*/
5945 #if (defined __STDC__ || defined __C99__FUNC__ \
5946 || defined __cplusplus || defined _MSC_VER)
5948 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, YYLTYPE
*yylocationp
, HPHP::HPHP_PARSER_NS::Parser
*_p
)
5951 yydestruct (yymsg
, yytype
, yyvaluep
, yylocationp
, _p
)
5955 YYLTYPE
*yylocationp
;
5956 HPHP::HPHP_PARSER_NS::Parser
*_p
;
5960 YYUSE (yylocationp
);
5965 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
5975 /* Prevent warnings from -Wmissing-prototypes. */
5976 #ifdef YYPARSE_PARAM
5977 #if defined __STDC__ || defined __cplusplus
5978 int yyparse (void *YYPARSE_PARAM
);
5982 #else /* ! YYPARSE_PARAM */
5983 #if defined __STDC__ || defined __cplusplus
5984 int yyparse (HPHP::HPHP_PARSER_NS::Parser
*_p
);
5988 #endif /* ! YYPARSE_PARAM */
5994 /*-------------------------.
5995 | yyparse or yypush_parse. |
5996 `-------------------------*/
5998 #ifdef YYPARSE_PARAM
5999 #if (defined __STDC__ || defined __C99__FUNC__ \
6000 || defined __cplusplus || defined _MSC_VER)
6002 yyparse (void *YYPARSE_PARAM
)
6005 yyparse (YYPARSE_PARAM
)
6006 void *YYPARSE_PARAM
;
6008 #else /* ! YYPARSE_PARAM */
6009 #if (defined __STDC__ || defined __C99__FUNC__ \
6010 || defined __cplusplus || defined _MSC_VER)
6012 yyparse (HPHP::HPHP_PARSER_NS::Parser
*_p
)
6016 HPHP::HPHP_PARSER_NS::Parser
*_p
;
6020 /* The lookahead symbol. */
6023 /* The semantic value of the lookahead symbol. */
6026 /* Location data for the lookahead symbol. */
6029 /* Number of syntax errors so far. */
6033 /* Number of tokens to shift before error messages enabled. */
6036 /* The stacks and their tools:
6037 `yyss': related to states.
6038 `yyvs': related to semantic values.
6039 `yyls': related to locations.
6041 Refer to the stacks thru separate pointers, to allow yyoverflow
6042 to reallocate them elsewhere. */
6044 /* The state stack. */
6045 yytype_int16 yyssa
[YYINITDEPTH
];
6047 yytype_int16
*yyssp
;
6049 /* The semantic value stack. */
6050 YYSTYPE yyvsa
[YYINITDEPTH
];
6054 /* The location stack. */
6055 YYLTYPE yylsa
[YYINITDEPTH
];
6059 /* The locations where the error started and ended. */
6060 YYLTYPE yyerror_range
[2];
6062 YYSIZE_T yystacksize
;
6066 /* Lookahead token as an internal (translated) token number. */
6068 /* The variables used to return semantic value and location from the
6074 /* Buffer for error messages, and its allocated size. */
6076 char *yymsg
= yymsgbuf
;
6077 YYSIZE_T yymsg_alloc
= sizeof yymsgbuf
;
6080 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
6082 /* The number of symbols on the RHS of the reduced rule.
6083 Keep to zero when no symbol should be popped. */
6090 yystacksize
= YYINITDEPTH
;
6092 YYDPRINTF ((stderr
, "Starting parse\n"));
6097 yychar
= YYEMPTY
; /* Cause a token to be read. */
6099 /* Initialize stack pointers.
6100 Waste one element of value and location stack
6101 so that they stay on the same level as the state stack.
6102 The wasted elements are never initialized. */
6107 #if YYLTYPE_IS_TRIVIAL
6108 /* Initialize the default location before parsing starts. */
6109 yylloc
.line0
= yylloc
.line1
= 1;
6110 yylloc
.char0
= yylloc
.char1
= 1;
6115 /*------------------------------------------------------------.
6116 | yynewstate -- Push a new state, which is found in yystate. |
6117 `------------------------------------------------------------*/
6119 /* In all cases, when you get here, the value and location stacks
6120 have just been pushed. So pushing a state here evens the stacks. */
6126 if (yyss
+ yystacksize
- 1 <= yyssp
)
6128 /* Get the current used size of the three stacks, in elements. */
6129 YYSIZE_T yysize
= yyssp
- yyss
+ 1;
6133 /* Give user a chance to reallocate the stack. Use copies of
6134 these so that the &'s don't force the real ones into
6136 YYSTYPE
*yyvs1
= yyvs
;
6137 yytype_int16
*yyss1
= yyss
;
6138 YYLTYPE
*yyls1
= yyls
;
6140 /* Each stack pointer address is followed by the size of the
6141 data in use in that stack, in bytes. This used to be a
6142 conditional around just the two extra args, but that might
6143 be undefined if yyoverflow is a macro. */
6144 yyoverflow (YY_("memory exhausted"),
6145 &yyss1
, yysize
* sizeof (*yyssp
),
6146 &yyvs1
, yysize
* sizeof (*yyvsp
),
6147 &yyls1
, yysize
* sizeof (*yylsp
),
6154 #else /* no yyoverflow */
6155 # ifndef YYSTACK_RELOCATE
6156 goto yyexhaustedlab
;
6158 /* Extend the stack our own way. */
6159 if (YYMAXDEPTH
<= yystacksize
)
6160 goto yyexhaustedlab
;
6162 if (YYMAXDEPTH
< yystacksize
)
6163 yystacksize
= YYMAXDEPTH
;
6166 yytype_int16
*yyss1
= yyss
;
6167 struct yyalloc
*yyptr
=
6168 (struct yyalloc
*) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize
));
6169 memset(yyptr
, 0, YYSTACK_BYTES (yystacksize
));
6171 goto yyexhaustedlab
;
6172 YYSTACK_RELOCATE (yyss_alloc
, yyss
);
6173 YYSTACK_RELOCATE_RESET (yyvs_alloc
, yyvs
);
6174 YYSTACK_RELOCATE (yyls_alloc
, yyls
);
6175 # undef YYSTACK_RELOCATE
6177 YYSTACK_FREE (yyss1
);
6180 #endif /* no yyoverflow */
6182 yyssp
= yyss
+ yysize
- 1;
6183 yyvsp
= yyvs
+ yysize
- 1;
6184 yylsp
= yyls
+ yysize
- 1;
6186 YYDPRINTF ((stderr
, "Stack size increased to %lu\n",
6187 (unsigned long int) yystacksize
));
6189 if (yyss
+ yystacksize
- 1 <= yyssp
)
6193 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
6195 if (yystate
== YYFINAL
)
6205 /* Do appropriate processing given the current state. Read a
6206 lookahead token if we need one and don't already have one. */
6208 /* First try to decide what to do without reference to lookahead token. */
6209 yyn
= yypact
[yystate
];
6210 if (yyn
== YYPACT_NINF
)
6213 /* Not known => get a lookahead token if don't already have one. */
6215 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
6216 if (yychar
== YYEMPTY
)
6218 YYDPRINTF ((stderr
, "Reading a token: "));
6222 if (yychar
<= YYEOF
)
6224 yychar
= yytoken
= YYEOF
;
6225 YYDPRINTF ((stderr
, "Now at end of input.\n"));
6229 yytoken
= YYTRANSLATE (yychar
);
6230 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
6233 /* If the proper action on seeing token YYTOKEN is to reduce or to
6234 detect an error, take that action. */
6236 if (yyn
< 0 || YYLAST
< yyn
|| yycheck
[yyn
] != yytoken
)
6241 if (yyn
== 0 || yyn
== YYTABLE_NINF
)
6247 /* Count tokens shifted since error; after three, turn off error
6252 /* Shift the lookahead token. */
6253 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
6255 /* Discard the shifted token. */
6264 /*-----------------------------------------------------------.
6265 | yydefault -- do the default action for the current state. |
6266 `-----------------------------------------------------------*/
6268 yyn
= yydefact
[yystate
];
6274 /*-----------------------------.
6275 | yyreduce -- Do a reduction. |
6276 `-----------------------------*/
6278 /* yyn is the number of a rule to reduce with. */
6281 /* If YYLEN is nonzero, implement the default value of the action:
6284 Otherwise, the following line sets YYVAL to garbage.
6285 This behavior is undocumented and Bison
6286 users should not rely upon it. Assigning to YYVAL
6287 unconditionally makes the parser a bit smaller, and it avoids a
6288 GCC warning that YYVAL may be used uninitialized. */
6289 yyval
= yyvsp
[1-yylen
];
6291 /* Default location. */
6292 YYLLOC_DEFAULT (yyloc
, (yylsp
- yylen
), yylen
);
6293 YY_REDUCE_PRINT (yyn
);
6298 /* Line 1455 of yacc.c */
6300 { _p
->onNewLabelScope(true);
6301 _p
->initParseTree();;}
6306 /* Line 1455 of yacc.c */
6308 { _p
->popLabelInfo();
6309 _p
->finiParseTree();
6310 _p
->onCompleteLabelScope(true);;}
6315 /* Line 1455 of yacc.c */
6317 { _p
->addTopStatement((yyvsp
[(2) - (2)]));;}
6322 /* Line 1455 of yacc.c */
6329 /* Line 1455 of yacc.c */
6331 { _p
->nns((yyvsp
[(1) - (1)]).num(), (yyvsp
[(1) - (1)]).text()); (yyval
) = (yyvsp
[(1) - (1)]);;}
6336 /* Line 1455 of yacc.c */
6338 { _p
->nns(); (yyval
) = (yyvsp
[(1) - (1)]);;}
6343 /* Line 1455 of yacc.c */
6345 { _p
->nns(); (yyval
) = (yyvsp
[(1) - (1)]);;}
6350 /* Line 1455 of yacc.c */
6352 { _p
->nns(); (yyval
) = (yyvsp
[(1) - (1)]);;}
6357 /* Line 1455 of yacc.c */
6359 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
6364 /* Line 1455 of yacc.c */
6366 { _p
->onHaltCompiler();
6367 _p
->finiParseTree();
6373 /* Line 1455 of yacc.c */
6375 { _p
->onNamespaceStart((yyvsp
[(2) - (3)]).text(), true);
6381 /* Line 1455 of yacc.c */
6383 { _p
->onNamespaceStart((yyvsp
[(2) - (3)]).text());;}
6388 /* Line 1455 of yacc.c */
6390 { _p
->onNamespaceEnd(); (yyval
) = (yyvsp
[(5) - (6)]);;}
6395 /* Line 1455 of yacc.c */
6397 { _p
->onNamespaceStart("");;}
6402 /* Line 1455 of yacc.c */
6404 { _p
->onNamespaceEnd(); (yyval
) = (yyvsp
[(4) - (5)]);;}
6409 /* Line 1455 of yacc.c */
6411 { _p
->nns(); (yyval
).reset();;}
6416 /* Line 1455 of yacc.c */
6419 _p
->finishStatement((yyval
), (yyvsp
[(1) - (2)])); (yyval
) = 1;;}
6424 /* Line 1455 of yacc.c */
6426 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6431 /* Line 1455 of yacc.c */
6433 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6438 /* Line 1455 of yacc.c */
6440 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6445 /* Line 1455 of yacc.c */
6447 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6452 /* Line 1455 of yacc.c */
6454 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6459 /* Line 1455 of yacc.c */
6461 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6466 /* Line 1455 of yacc.c */
6468 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6473 /* Line 1455 of yacc.c */
6475 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6480 /* Line 1455 of yacc.c */
6482 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6487 /* Line 1455 of yacc.c */
6489 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6494 /* Line 1455 of yacc.c */
6496 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6501 /* Line 1455 of yacc.c */
6503 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6508 /* Line 1455 of yacc.c */
6510 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6515 /* Line 1455 of yacc.c */
6517 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6522 /* Line 1455 of yacc.c */
6524 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6529 /* Line 1455 of yacc.c */
6531 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6536 /* Line 1455 of yacc.c */
6538 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6543 /* Line 1455 of yacc.c */
6545 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6550 /* Line 1455 of yacc.c */
6552 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6557 /* Line 1455 of yacc.c */
6559 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6564 /* Line 1455 of yacc.c */
6571 /* Line 1455 of yacc.c */
6578 /* Line 1455 of yacc.c */
6580 { _p
->onUse((yyvsp
[(1) - (1)]).text(),"");;}
6585 /* Line 1455 of yacc.c */
6587 { _p
->onUse((yyvsp
[(2) - (2)]).text(),"");;}
6592 /* Line 1455 of yacc.c */
6594 { _p
->onUse((yyvsp
[(1) - (3)]).text(),(yyvsp
[(3) - (3)]).text());;}
6599 /* Line 1455 of yacc.c */
6601 { _p
->onUse((yyvsp
[(2) - (4)]).text(),(yyvsp
[(4) - (4)]).text());;}
6606 /* Line 1455 of yacc.c */
6608 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6613 /* Line 1455 of yacc.c */
6615 { (yyval
) = (yyvsp
[(1) - (3)]) + (yyvsp
[(2) - (3)]) + (yyvsp
[(3) - (3)]); (yyval
) = (yyvsp
[(1) - (3)]).num() | 2;;}
6620 /* Line 1455 of yacc.c */
6622 { (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = (yyval
).num() | 1;;}
6627 /* Line 1455 of yacc.c */
6629 { (yyval
).set((yyvsp
[(3) - (3)]).num() | 2, _p
->nsDecl((yyvsp
[(3) - (3)]).text()));;}
6634 /* Line 1455 of yacc.c */
6636 { (yyval
) = (yyvsp
[(2) - (2)]); (yyval
) = (yyval
).num() | 2;;}
6641 /* Line 1455 of yacc.c */
6643 { if ((yyvsp
[(1) - (1)]).num() & 1) {
6644 (yyvsp
[(1) - (1)]).setText(_p
->resolve((yyvsp
[(1) - (1)]).text(),0));
6646 (yyval
) = (yyvsp
[(1) - (1)]);;}
6651 /* Line 1455 of yacc.c */
6653 { if ((yyvsp
[(1) - (2)]).num() & 1) {
6654 (yyvsp
[(1) - (2)]).setText(_p
->resolve((yyvsp
[(1) - (2)]).text(),0));
6656 (yyval
) = (yyvsp
[(1) - (2)]);;}
6661 /* Line 1455 of yacc.c */
6663 { if ((yyvsp
[(1) - (2)]).num() & 1) {
6664 (yyvsp
[(1) - (2)]).setText(_p
->resolve((yyvsp
[(1) - (2)]).text(),1));
6666 _p
->onTypeAnnotation((yyval
), (yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)]));;}
6671 /* Line 1455 of yacc.c */
6673 { (yyvsp
[(3) - (5)]).setText(_p
->nsDecl((yyvsp
[(3) - (5)]).text()));
6674 on_constant(_p
,(yyval
),(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]));;}
6679 /* Line 1455 of yacc.c */
6681 { (yyvsp
[(2) - (4)]).setText(_p
->nsDecl((yyvsp
[(2) - (4)]).text()));
6682 on_constant(_p
,(yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));;}
6687 /* Line 1455 of yacc.c */
6689 { _p
->addStatement((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
6694 /* Line 1455 of yacc.c */
6696 { _p
->onStatementListStart((yyval
));;}
6701 /* Line 1455 of yacc.c */
6703 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6708 /* Line 1455 of yacc.c */
6710 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6715 /* Line 1455 of yacc.c */
6717 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6722 /* Line 1455 of yacc.c */
6724 { (yyval
) = (yyvsp
[(1) - (1)]);;}
6729 /* Line 1455 of yacc.c */
6731 { _p
->onBlock((yyval
), (yyvsp
[(2) - (3)]));;}
6736 /* Line 1455 of yacc.c */
6738 { _p
->onIf((yyval
),(yyvsp
[(2) - (5)]),(yyvsp
[(3) - (5)]),(yyvsp
[(4) - (5)]),(yyvsp
[(5) - (5)]));;}
6743 /* Line 1455 of yacc.c */
6745 { _p
->onIf((yyval
),(yyvsp
[(2) - (8)]),(yyvsp
[(4) - (8)]),(yyvsp
[(5) - (8)]),(yyvsp
[(6) - (8)]));;}
6750 /* Line 1455 of yacc.c */
6752 { _p
->onNewLabelScope(false);
6753 _p
->pushLabelScope();;}
6758 /* Line 1455 of yacc.c */
6760 { _p
->popLabelScope();
6761 _p
->onWhile((yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));
6762 _p
->onCompleteLabelScope(false);;}
6767 /* Line 1455 of yacc.c */
6769 { _p
->onNewLabelScope(false);
6770 _p
->pushLabelScope();;}
6775 /* Line 1455 of yacc.c */
6777 { _p
->popLabelScope();
6778 _p
->onDo((yyval
),(yyvsp
[(3) - (6)]),(yyvsp
[(5) - (6)]));
6779 _p
->onCompleteLabelScope(false);;}
6784 /* Line 1455 of yacc.c */
6786 { _p
->onNewLabelScope(false);
6787 _p
->pushLabelScope();;}
6792 /* Line 1455 of yacc.c */
6794 { _p
->popLabelScope();
6795 _p
->onFor((yyval
),(yyvsp
[(3) - (10)]),(yyvsp
[(5) - (10)]),(yyvsp
[(7) - (10)]),(yyvsp
[(10) - (10)]));
6796 _p
->onCompleteLabelScope(false);;}
6801 /* Line 1455 of yacc.c */
6803 { _p
->onNewLabelScope(false);
6804 _p
->pushLabelScope();;}
6809 /* Line 1455 of yacc.c */
6811 { _p
->popLabelScope();
6812 _p
->onSwitch((yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));
6813 _p
->onCompleteLabelScope(false);;}
6818 /* Line 1455 of yacc.c */
6820 { _p
->onBreakContinue((yyval
), true, NULL
);;}
6825 /* Line 1455 of yacc.c */
6827 { _p
->onBreakContinue((yyval
), true, &(yyvsp
[(2) - (3)]));;}
6832 /* Line 1455 of yacc.c */
6834 { _p
->onBreakContinue((yyval
), false, NULL
);;}
6839 /* Line 1455 of yacc.c */
6841 { _p
->onBreakContinue((yyval
), false, &(yyvsp
[(2) - (3)]));;}
6846 /* Line 1455 of yacc.c */
6848 { _p
->onReturn((yyval
), NULL
);;}
6853 /* Line 1455 of yacc.c */
6855 { _p
->onReturn((yyval
), &(yyvsp
[(2) - (3)]));;}
6860 /* Line 1455 of yacc.c */
6862 { _p
->onYieldBreak((yyval
));;}
6867 /* Line 1455 of yacc.c */
6869 { _p
->onGlobal((yyval
), (yyvsp
[(2) - (3)]));;}
6874 /* Line 1455 of yacc.c */
6876 { _p
->onStatic((yyval
), (yyvsp
[(2) - (3)]));;}
6881 /* Line 1455 of yacc.c */
6883 { _p
->onEcho((yyval
), (yyvsp
[(2) - (3)]), 0);;}
6888 /* Line 1455 of yacc.c */
6890 { _p
->onUnset((yyval
), (yyvsp
[(3) - (5)]));;}
6895 /* Line 1455 of yacc.c */
6897 { (yyval
).reset(); (yyval
) = ';';;}
6902 /* Line 1455 of yacc.c */
6904 { _p
->onEcho((yyval
), (yyvsp
[(1) - (1)]), 1);;}
6909 /* Line 1455 of yacc.c */
6911 { _p
->onNewLabelScope(false);
6912 _p
->pushLabelScope();;}
6917 /* Line 1455 of yacc.c */
6919 { _p
->popLabelScope();
6920 _p
->onForEach((yyval
),(yyvsp
[(3) - (9)]),(yyvsp
[(5) - (9)]),(yyvsp
[(6) - (9)]),(yyvsp
[(9) - (9)]));
6921 _p
->onCompleteLabelScope(false);;}
6926 /* Line 1455 of yacc.c */
6928 { _p
->onBlock((yyval
), (yyvsp
[(5) - (5)])); (yyval
) = T_DECLARE
;;}
6933 /* Line 1455 of yacc.c */
6935 { _p
->onCompleteLabelScope(false);;}
6940 /* Line 1455 of yacc.c */
6942 { _p
->onTry((yyval
),(yyvsp
[(2) - (13)]),(yyvsp
[(5) - (13)]),(yyvsp
[(6) - (13)]),(yyvsp
[(9) - (13)]),(yyvsp
[(11) - (13)]),(yyvsp
[(13) - (13)]));;}
6947 /* Line 1455 of yacc.c */
6949 { _p
->onCompleteLabelScope(false);;}
6954 /* Line 1455 of yacc.c */
6956 { _p
->onTry((yyval
), (yyvsp
[(2) - (5)]), (yyvsp
[(5) - (5)]));;}
6961 /* Line 1455 of yacc.c */
6963 { _p
->onThrow((yyval
), (yyvsp
[(2) - (3)]));;}
6968 /* Line 1455 of yacc.c */
6970 { _p
->onGoto((yyval
), (yyvsp
[(2) - (3)]), true);
6971 _p
->addGoto((yyvsp
[(2) - (3)]).text(),
6978 /* Line 1455 of yacc.c */
6980 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
6985 /* Line 1455 of yacc.c */
6987 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
6992 /* Line 1455 of yacc.c */
6994 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
6999 /* Line 1455 of yacc.c */
7001 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
7006 /* Line 1455 of yacc.c */
7008 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
7013 /* Line 1455 of yacc.c */
7015 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
7020 /* Line 1455 of yacc.c */
7022 { _p
->onReturn((yyval
), &(yyvsp
[(2) - (3)])); ;}
7027 /* Line 1455 of yacc.c */
7029 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
7034 /* Line 1455 of yacc.c */
7036 { _p
->onExpStatement((yyval
), (yyvsp
[(1) - (2)]));;}
7041 /* Line 1455 of yacc.c */
7043 { _p
->onReturn((yyval
), &(yyvsp
[(2) - (3)])); ;}
7048 /* Line 1455 of yacc.c */
7050 { _p
->onLabel((yyval
), (yyvsp
[(1) - (2)]));
7051 _p
->addLabel((yyvsp
[(1) - (2)]).text(),
7054 _p
->onScopeLabel((yyval
), (yyvsp
[(1) - (2)]));;}
7059 /* Line 1455 of yacc.c */
7061 { _p
->onNewLabelScope(false);;}
7066 /* Line 1455 of yacc.c */
7068 { (yyval
) = (yyvsp
[(3) - (4)]);;}
7073 /* Line 1455 of yacc.c */
7075 { _p
->onCatch((yyval
), (yyvsp
[(1) - (9)]), (yyvsp
[(4) - (9)]), (yyvsp
[(5) - (9)]), (yyvsp
[(8) - (9)]));;}
7080 /* Line 1455 of yacc.c */
7082 { (yyval
).reset();;}
7087 /* Line 1455 of yacc.c */
7089 { _p
->onNewLabelScope(false);
7090 _p
->pushLabelScope();;}
7095 /* Line 1455 of yacc.c */
7097 { _p
->popLabelScope();
7098 _p
->onFinally((yyval
), (yyvsp
[(3) - (4)]));
7099 _p
->onCompleteLabelScope(false);;}
7104 /* Line 1455 of yacc.c */
7106 { (yyval
) = (yyvsp
[(2) - (2)]);;}
7111 /* Line 1455 of yacc.c */
7113 { (yyval
).reset();;}
7118 /* Line 1455 of yacc.c */
7125 /* Line 1455 of yacc.c */
7127 { (yyval
).reset();;}
7132 /* Line 1455 of yacc.c */
7134 { _p
->pushFuncLocation(); ;}
7139 /* Line 1455 of yacc.c */
7141 { (yyvsp
[(3) - (3)]).setText(_p
->nsDecl((yyvsp
[(3) - (3)]).text()));
7142 _p
->onNewLabelScope(true);
7143 _p
->onFunctionStart((yyvsp
[(3) - (3)]));
7144 _p
->pushLabelInfo();;}
7149 /* Line 1455 of yacc.c */
7151 { _p
->onFunction((yyval
),nullptr,(yyvsp
[(8) - (9)]),(yyvsp
[(2) - (9)]),(yyvsp
[(3) - (9)]),(yyvsp
[(6) - (9)]),(yyvsp
[(9) - (9)]),nullptr);
7154 _p
->onCompleteLabelScope(true);;}
7159 /* Line 1455 of yacc.c */
7161 { (yyvsp
[(4) - (4)]).setText(_p
->nsDecl((yyvsp
[(4) - (4)]).text()));
7162 _p
->onNewLabelScope(true);
7163 _p
->onFunctionStart((yyvsp
[(4) - (4)]));
7164 _p
->pushLabelInfo();;}
7169 /* Line 1455 of yacc.c */
7171 { _p
->onFunction((yyval
),&(yyvsp
[(1) - (10)]),(yyvsp
[(9) - (10)]),(yyvsp
[(3) - (10)]),(yyvsp
[(4) - (10)]),(yyvsp
[(7) - (10)]),(yyvsp
[(10) - (10)]),nullptr);
7174 _p
->onCompleteLabelScope(true);;}
7179 /* Line 1455 of yacc.c */
7181 { (yyvsp
[(5) - (5)]).setText(_p
->nsDecl((yyvsp
[(5) - (5)]).text()));
7182 _p
->onNewLabelScope(true);
7183 _p
->onFunctionStart((yyvsp
[(5) - (5)]));
7184 _p
->pushLabelInfo();;}
7189 /* Line 1455 of yacc.c */
7191 { _p
->onFunction((yyval
),&(yyvsp
[(2) - (11)]),(yyvsp
[(10) - (11)]),(yyvsp
[(4) - (11)]),(yyvsp
[(5) - (11)]),(yyvsp
[(8) - (11)]),(yyvsp
[(11) - (11)]),&(yyvsp
[(1) - (11)]));
7194 _p
->onCompleteLabelScope(true);;}
7199 /* Line 1455 of yacc.c */
7201 { (yyvsp
[(2) - (2)]).setText(_p
->nsDecl((yyvsp
[(2) - (2)]).text()));
7202 _p
->onClassStart((yyvsp
[(1) - (2)]).num(),(yyvsp
[(2) - (2)]));;}
7207 /* Line 1455 of yacc.c */
7210 if (_p
->peekClass()) {
7211 xhp_collect_attributes(_p
,stmts
,(yyvsp
[(7) - (8)]));
7213 stmts
= (yyvsp
[(7) - (8)]);
7215 _p
->onClass((yyval
),(yyvsp
[(1) - (8)]).num(),(yyvsp
[(2) - (8)]),(yyvsp
[(4) - (8)]),(yyvsp
[(5) - (8)]),
7217 if (_p
->peekClass()) {
7218 _p
->xhpResetAttributes();
7221 _p
->popTypeScope();;}
7226 /* Line 1455 of yacc.c */
7228 { (yyvsp
[(3) - (3)]).setText(_p
->nsDecl((yyvsp
[(3) - (3)]).text()));
7229 _p
->onClassStart((yyvsp
[(2) - (3)]).num(),(yyvsp
[(3) - (3)]));;}
7234 /* Line 1455 of yacc.c */
7237 if (_p
->peekClass()) {
7238 xhp_collect_attributes(_p
,stmts
,(yyvsp
[(8) - (9)]));
7240 stmts
= (yyvsp
[(8) - (9)]);
7242 _p
->onClass((yyval
),(yyvsp
[(2) - (9)]).num(),(yyvsp
[(3) - (9)]),(yyvsp
[(5) - (9)]),(yyvsp
[(6) - (9)]),
7243 stmts
,&(yyvsp
[(1) - (9)]));
7244 if (_p
->peekClass()) {
7245 _p
->xhpResetAttributes();
7248 _p
->popTypeScope();;}
7253 /* Line 1455 of yacc.c */
7255 { (yyvsp
[(2) - (2)]).setText(_p
->nsDecl((yyvsp
[(2) - (2)]).text()));
7256 _p
->onClassStart(T_INTERFACE
,(yyvsp
[(2) - (2)]));;}
7261 /* Line 1455 of yacc.c */
7263 { _p
->onInterface((yyval
),(yyvsp
[(2) - (7)]),(yyvsp
[(4) - (7)]),(yyvsp
[(6) - (7)]),0);
7265 _p
->popTypeScope();;}
7270 /* Line 1455 of yacc.c */
7272 { (yyvsp
[(3) - (3)]).setText(_p
->nsDecl((yyvsp
[(3) - (3)]).text()));
7273 _p
->onClassStart(T_INTERFACE
,(yyvsp
[(3) - (3)]));;}
7278 /* Line 1455 of yacc.c */
7280 { _p
->onInterface((yyval
),(yyvsp
[(3) - (8)]),(yyvsp
[(5) - (8)]),(yyvsp
[(7) - (8)]),&(yyvsp
[(1) - (8)]));
7282 _p
->popTypeScope();;}
7287 /* Line 1455 of yacc.c */
7289 { (yyvsp
[(2) - (2)]).setText(_p
->nsDecl((yyvsp
[(2) - (2)]).text()));
7290 _p
->onClassStart(T_TRAIT
, (yyvsp
[(2) - (2)]));;}
7295 /* Line 1455 of yacc.c */
7299 _p
->onClass((yyval
),T_TRAIT
,(yyvsp
[(2) - (7)]),t_ext
,(yyvsp
[(4) - (7)]),
7300 (yyvsp
[(6) - (7)]), 0);
7302 _p
->popTypeScope();;}
7307 /* Line 1455 of yacc.c */
7309 { (yyvsp
[(3) - (3)]).setText(_p
->nsDecl((yyvsp
[(3) - (3)]).text()));
7310 _p
->onClassStart(T_TRAIT
, (yyvsp
[(3) - (3)]));;}
7315 /* Line 1455 of yacc.c */
7319 _p
->onClass((yyval
),T_TRAIT
,(yyvsp
[(3) - (8)]),t_ext
,(yyvsp
[(5) - (8)]),
7320 (yyvsp
[(7) - (8)]), &(yyvsp
[(1) - (8)]));
7322 _p
->popTypeScope();;}
7327 /* Line 1455 of yacc.c */
7329 { _p
->pushClass(false); (yyval
) = (yyvsp
[(1) - (1)]);;}
7334 /* Line 1455 of yacc.c */
7336 { (yyvsp
[(1) - (1)]).xhpLabel(); _p
->pushTypeScope();
7337 _p
->pushClass(true); (yyval
) = (yyvsp
[(1) - (1)]);;}
7342 /* Line 1455 of yacc.c */
7344 { _p
->pushClass(false); (yyval
) = (yyvsp
[(1) - (1)]);;}
7349 /* Line 1455 of yacc.c */
7351 { _p
->pushClass(false); (yyval
) = (yyvsp
[(1) - (1)]);;}
7356 /* Line 1455 of yacc.c */
7358 { (yyval
) = T_CLASS
;;}
7363 /* Line 1455 of yacc.c */
7365 { (yyval
) = T_ABSTRACT
;;}
7370 /* Line 1455 of yacc.c */
7372 { (yyval
) = T_FINAL
;;}
7377 /* Line 1455 of yacc.c */
7379 { (yyval
) = (yyvsp
[(2) - (2)]);;}
7384 /* Line 1455 of yacc.c */
7386 { (yyval
).reset();;}
7391 /* Line 1455 of yacc.c */
7393 { (yyval
) = (yyvsp
[(2) - (2)]);;}
7398 /* Line 1455 of yacc.c */
7400 { (yyval
).reset();;}
7405 /* Line 1455 of yacc.c */
7407 { (yyval
) = (yyvsp
[(2) - (2)]);;}
7412 /* Line 1455 of yacc.c */
7414 { (yyval
).reset();;}
7419 /* Line 1455 of yacc.c */
7421 { _p
->onInterfaceName((yyval
), NULL
, (yyvsp
[(1) - (1)]));;}
7426 /* Line 1455 of yacc.c */
7428 { _p
->onInterfaceName((yyval
), &(yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]));;}
7433 /* Line 1455 of yacc.c */
7435 { _p
->onTraitName((yyval
), NULL
, (yyvsp
[(1) - (1)]));;}
7440 /* Line 1455 of yacc.c */
7442 { _p
->onTraitName((yyval
), &(yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]));;}
7447 /* Line 1455 of yacc.c */
7449 { (yyval
) = (yyvsp
[(2) - (2)]);;}
7454 /* Line 1455 of yacc.c */
7456 { (yyval
).reset();;}
7461 /* Line 1455 of yacc.c */
7463 { (yyval
) = (yyvsp
[(1) - (1)]);;}
7468 /* Line 1455 of yacc.c */
7470 { (yyval
) = (yyvsp
[(2) - (2)]); (yyval
) = 1;;}
7475 /* Line 1455 of yacc.c */
7477 { _p
->onListAssignment((yyval
), (yyvsp
[(3) - (4)]), NULL
);;}
7482 /* Line 1455 of yacc.c */
7484 { (yyval
) = (yyvsp
[(1) - (1)]);;}
7489 /* Line 1455 of yacc.c */
7491 { (yyval
) = (yyvsp
[(2) - (4)]);;}
7496 /* Line 1455 of yacc.c */
7498 { (yyval
) = (yyvsp
[(1) - (1)]);;}
7503 /* Line 1455 of yacc.c */
7505 { (yyval
) = (yyvsp
[(2) - (4)]);;}
7510 /* Line 1455 of yacc.c */
7512 { (yyval
) = (yyvsp
[(1) - (1)]);;}
7517 /* Line 1455 of yacc.c */
7519 { (yyval
) = (yyvsp
[(2) - (4)]);;}
7524 /* Line 1455 of yacc.c */
7526 { (yyval
) = (yyvsp
[(1) - (1)]);;}
7531 /* Line 1455 of yacc.c */
7533 { (yyval
) = (yyvsp
[(2) - (4)]);;}
7538 /* Line 1455 of yacc.c */
7540 { (yyval
) = (yyvsp
[(2) - (3)]);;}
7545 /* Line 1455 of yacc.c */
7547 { (yyval
) = (yyvsp
[(3) - (4)]);;}
7552 /* Line 1455 of yacc.c */
7554 { (yyval
) = (yyvsp
[(2) - (4)]);;}
7559 /* Line 1455 of yacc.c */
7561 { (yyval
) = (yyvsp
[(3) - (5)]);;}
7566 /* Line 1455 of yacc.c */
7568 { _p
->onCase((yyval
),(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]));;}
7573 /* Line 1455 of yacc.c */
7575 { _p
->onCase((yyval
),(yyvsp
[(1) - (4)]),NULL
,(yyvsp
[(4) - (4)]));;}
7580 /* Line 1455 of yacc.c */
7582 { (yyval
).reset();;}
7587 /* Line 1455 of yacc.c */
7589 { (yyval
).reset();;}
7594 /* Line 1455 of yacc.c */
7596 { (yyval
).reset();;}
7601 /* Line 1455 of yacc.c */
7603 { _p
->onElseIf((yyval
),(yyvsp
[(1) - (4)]),(yyvsp
[(3) - (4)]),(yyvsp
[(4) - (4)]));;}
7608 /* Line 1455 of yacc.c */
7610 { (yyval
).reset();;}
7615 /* Line 1455 of yacc.c */
7617 { _p
->onElseIf((yyval
),(yyvsp
[(1) - (5)]),(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]));;}
7622 /* Line 1455 of yacc.c */
7624 { (yyval
).reset();;}
7629 /* Line 1455 of yacc.c */
7631 { (yyval
) = (yyvsp
[(2) - (2)]);;}
7636 /* Line 1455 of yacc.c */
7638 { (yyval
).reset();;}
7643 /* Line 1455 of yacc.c */
7645 { (yyval
) = (yyvsp
[(3) - (3)]);;}
7650 /* Line 1455 of yacc.c */
7652 { (yyval
).reset();;}
7657 /* Line 1455 of yacc.c */
7659 { _p
->onVariadicParam((yyval
),&(yyvsp
[(1) - (7)]),(yyvsp
[(5) - (7)]),(yyvsp
[(7) - (7)]),false,
7660 &(yyvsp
[(3) - (7)]),&(yyvsp
[(4) - (7)])); ;}
7665 /* Line 1455 of yacc.c */
7667 { validate_hh_variadic_variant(
7668 _p
, (yyvsp
[(3) - (6)]), (yyvsp
[(5) - (6)]), &(yyvsp
[(4) - (6)]));
7669 (yyval
) = (yyvsp
[(1) - (6)]); ;}
7674 /* Line 1455 of yacc.c */
7676 { (yyval
) = (yyvsp
[(1) - (2)]);;}
7681 /* Line 1455 of yacc.c */
7683 { _p
->onVariadicParam((yyval
),NULL
,(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),false,
7684 &(yyvsp
[(1) - (5)]),&(yyvsp
[(2) - (5)])); ;}
7689 /* Line 1455 of yacc.c */
7691 { validate_hh_variadic_variant(
7692 _p
, (yyvsp
[(1) - (4)]), (yyvsp
[(3) - (4)]), &(yyvsp
[(2) - (4)]));
7698 /* Line 1455 of yacc.c */
7700 { (yyval
).reset(); ;}
7705 /* Line 1455 of yacc.c */
7707 { _p
->onParam((yyval
),NULL
,(yyvsp
[(3) - (4)]),(yyvsp
[(4) - (4)]),0,
7708 NULL
,&(yyvsp
[(1) - (4)]),&(yyvsp
[(2) - (4)]));;}
7713 /* Line 1455 of yacc.c */
7715 { _p
->onParam((yyval
),NULL
,(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),1,
7716 NULL
,&(yyvsp
[(1) - (5)]),&(yyvsp
[(2) - (5)]));;}
7721 /* Line 1455 of yacc.c */
7723 { _p
->onParam((yyval
),NULL
,(yyvsp
[(3) - (7)]),(yyvsp
[(5) - (7)]),1,
7724 &(yyvsp
[(7) - (7)]),&(yyvsp
[(1) - (7)]),&(yyvsp
[(2) - (7)]));;}
7729 /* Line 1455 of yacc.c */
7731 { _p
->onParam((yyval
),NULL
,(yyvsp
[(3) - (6)]),(yyvsp
[(4) - (6)]),0,
7732 &(yyvsp
[(6) - (6)]),&(yyvsp
[(1) - (6)]),&(yyvsp
[(2) - (6)]));;}
7737 /* Line 1455 of yacc.c */
7739 { _p
->onParam((yyval
),&(yyvsp
[(1) - (6)]),(yyvsp
[(5) - (6)]),(yyvsp
[(6) - (6)]),0,
7740 NULL
,&(yyvsp
[(3) - (6)]),&(yyvsp
[(4) - (6)]));;}
7745 /* Line 1455 of yacc.c */
7747 { _p
->onParam((yyval
),&(yyvsp
[(1) - (7)]),(yyvsp
[(5) - (7)]),(yyvsp
[(7) - (7)]),1,
7748 NULL
,&(yyvsp
[(3) - (7)]),&(yyvsp
[(4) - (7)]));;}
7753 /* Line 1455 of yacc.c */
7755 { _p
->onParam((yyval
),&(yyvsp
[(1) - (9)]),(yyvsp
[(5) - (9)]),(yyvsp
[(7) - (9)]),1,
7756 &(yyvsp
[(9) - (9)]),&(yyvsp
[(3) - (9)]),&(yyvsp
[(4) - (9)]));;}
7761 /* Line 1455 of yacc.c */
7763 { _p
->onParam((yyval
),&(yyvsp
[(1) - (8)]),(yyvsp
[(5) - (8)]),(yyvsp
[(6) - (8)]),0,
7764 &(yyvsp
[(8) - (8)]),&(yyvsp
[(3) - (8)]),&(yyvsp
[(4) - (8)]));;}
7769 /* Line 1455 of yacc.c */
7771 { _p
->onVariadicParam((yyval
),&(yyvsp
[(1) - (6)]),(yyvsp
[(4) - (6)]),(yyvsp
[(6) - (6)]),
7772 false,&(yyvsp
[(3) - (6)]),NULL
); ;}
7777 /* Line 1455 of yacc.c */
7779 { validate_hh_variadic_variant(
7780 _p
, (yyvsp
[(3) - (5)]), (yyvsp
[(4) - (5)]), NULL
);
7781 (yyval
) = (yyvsp
[(1) - (5)]); ;}
7786 /* Line 1455 of yacc.c */
7788 { (yyval
) = (yyvsp
[(1) - (2)]);;}
7793 /* Line 1455 of yacc.c */
7795 { _p
->onVariadicParam((yyval
),NULL
,(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]),
7796 false,&(yyvsp
[(1) - (4)]),NULL
); ;}
7801 /* Line 1455 of yacc.c */
7803 { validate_hh_variadic_variant(
7804 _p
, (yyvsp
[(1) - (3)]), (yyvsp
[(2) - (3)]), NULL
);
7810 /* Line 1455 of yacc.c */
7812 { (yyval
).reset();;}
7817 /* Line 1455 of yacc.c */
7819 { _p
->onParam((yyval
),NULL
,(yyvsp
[(2) - (3)]),(yyvsp
[(3) - (3)]),false,
7820 NULL
,&(yyvsp
[(1) - (3)]),NULL
); ;}
7825 /* Line 1455 of yacc.c */
7827 { _p
->onParam((yyval
),NULL
,(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]),true,
7828 NULL
,&(yyvsp
[(1) - (4)]),NULL
); ;}
7833 /* Line 1455 of yacc.c */
7835 { _p
->onParam((yyval
),NULL
,(yyvsp
[(2) - (6)]),(yyvsp
[(4) - (6)]),true,
7836 &(yyvsp
[(6) - (6)]),&(yyvsp
[(1) - (6)]),NULL
); ;}
7841 /* Line 1455 of yacc.c */
7843 { _p
->onParam((yyval
),NULL
,(yyvsp
[(2) - (5)]),(yyvsp
[(3) - (5)]),false,
7844 &(yyvsp
[(5) - (5)]),&(yyvsp
[(1) - (5)]),NULL
); ;}
7849 /* Line 1455 of yacc.c */
7851 { _p
->onParam((yyval
),&(yyvsp
[(1) - (5)]),(yyvsp
[(4) - (5)]),(yyvsp
[(5) - (5)]),false,
7852 NULL
,&(yyvsp
[(3) - (5)]),NULL
); ;}
7857 /* Line 1455 of yacc.c */
7859 { _p
->onParam((yyval
),&(yyvsp
[(1) - (6)]),(yyvsp
[(4) - (6)]),(yyvsp
[(6) - (6)]),true,
7860 NULL
,&(yyvsp
[(3) - (6)]),NULL
); ;}
7865 /* Line 1455 of yacc.c */
7867 { _p
->onParam((yyval
),&(yyvsp
[(1) - (8)]),(yyvsp
[(4) - (8)]),(yyvsp
[(6) - (8)]),true,
7868 &(yyvsp
[(8) - (8)]),&(yyvsp
[(3) - (8)]),NULL
); ;}
7873 /* Line 1455 of yacc.c */
7875 { _p
->onParam((yyval
),&(yyvsp
[(1) - (7)]),(yyvsp
[(4) - (7)]),(yyvsp
[(5) - (7)]),false,
7876 &(yyvsp
[(7) - (7)]),&(yyvsp
[(3) - (7)]),NULL
); ;}
7881 /* Line 1455 of yacc.c */
7883 { (yyval
) = (yyvsp
[(1) - (2)]);;}
7888 /* Line 1455 of yacc.c */
7890 { (yyval
).reset();;}
7895 /* Line 1455 of yacc.c */
7897 { _p
->onCallParam((yyval
),NULL
,(yyvsp
[(1) - (1)]),0);;}
7902 /* Line 1455 of yacc.c */
7904 { _p
->onCallParam((yyval
),NULL
,(yyvsp
[(2) - (2)]),1);;}
7909 /* Line 1455 of yacc.c */
7911 { _p
->onCallParam((yyval
),&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0);;}
7916 /* Line 1455 of yacc.c */
7918 { _p
->onCallParam((yyval
),&(yyvsp
[(1) - (4)]),(yyvsp
[(4) - (4)]),1);;}
7923 /* Line 1455 of yacc.c */
7925 { _p
->onGlobalVar((yyval
), &(yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]));;}
7930 /* Line 1455 of yacc.c */
7932 { _p
->onGlobalVar((yyval
), NULL
, (yyvsp
[(1) - (1)]));;}
7937 /* Line 1455 of yacc.c */
7939 { (yyval
) = (yyvsp
[(1) - (1)]);;}
7944 /* Line 1455 of yacc.c */
7946 { (yyval
) = (yyvsp
[(2) - (2)]); (yyval
) = 1;;}
7951 /* Line 1455 of yacc.c */
7953 { (yyval
) = (yyvsp
[(3) - (4)]); (yyval
) = 1;;}
7958 /* Line 1455 of yacc.c */
7960 { _p
->onStaticVariable((yyval
),&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0);;}
7965 /* Line 1455 of yacc.c */
7967 { _p
->onStaticVariable((yyval
),&(yyvsp
[(1) - (5)]),(yyvsp
[(3) - (5)]),&(yyvsp
[(5) - (5)]));;}
7972 /* Line 1455 of yacc.c */
7974 { _p
->onStaticVariable((yyval
),0,(yyvsp
[(1) - (1)]),0);;}
7979 /* Line 1455 of yacc.c */
7981 { _p
->onStaticVariable((yyval
),0,(yyvsp
[(1) - (3)]),&(yyvsp
[(3) - (3)]));;}
7986 /* Line 1455 of yacc.c */
7988 { _p
->onClassStatement((yyval
), (yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)]));;}
7993 /* Line 1455 of yacc.c */
7995 { (yyval
).reset();;}
8000 /* Line 1455 of yacc.c */
8002 { _p
->onClassVariableModifer((yyvsp
[(1) - (1)]));;}
8007 /* Line 1455 of yacc.c */
8009 { _p
->onClassVariableStart
8010 ((yyval
),&(yyvsp
[(1) - (4)]),(yyvsp
[(3) - (4)]),NULL
);;}
8015 /* Line 1455 of yacc.c */
8017 { _p
->onClassVariableModifer((yyvsp
[(1) - (2)]));;}
8022 /* Line 1455 of yacc.c */
8024 { _p
->onClassVariableStart
8025 ((yyval
),&(yyvsp
[(1) - (5)]),(yyvsp
[(4) - (5)]),&(yyvsp
[(2) - (5)]));;}
8030 /* Line 1455 of yacc.c */
8032 { _p
->onClassVariableStart
8033 ((yyval
),NULL
,(yyvsp
[(1) - (2)]),NULL
);;}
8038 /* Line 1455 of yacc.c */
8040 { _p
->onNewLabelScope(true);
8041 _p
->onMethodStart((yyvsp
[(4) - (5)]), (yyvsp
[(1) - (5)]));
8042 _p
->pushLabelInfo();;}
8047 /* Line 1455 of yacc.c */
8049 { _p
->onMethod((yyval
),(yyvsp
[(1) - (10)]),(yyvsp
[(9) - (10)]),(yyvsp
[(3) - (10)]),(yyvsp
[(4) - (10)]),(yyvsp
[(7) - (10)]),(yyvsp
[(10) - (10)]),nullptr);
8052 _p
->onCompleteLabelScope(true);;}
8057 /* Line 1455 of yacc.c */
8059 { _p
->onNewLabelScope(true);
8060 _p
->onMethodStart((yyvsp
[(5) - (6)]), (yyvsp
[(2) - (6)]));
8061 _p
->pushLabelInfo();;}
8066 /* Line 1455 of yacc.c */
8068 { _p
->onMethod((yyval
),(yyvsp
[(2) - (11)]),(yyvsp
[(10) - (11)]),(yyvsp
[(4) - (11)]),(yyvsp
[(5) - (11)]),(yyvsp
[(8) - (11)]),(yyvsp
[(11) - (11)]),&(yyvsp
[(1) - (11)]));
8071 _p
->onCompleteLabelScope(true);;}
8076 /* Line 1455 of yacc.c */
8078 { _p
->xhpSetAttributes((yyvsp
[(2) - (3)]));;}
8083 /* Line 1455 of yacc.c */
8085 { xhp_category_stmt(_p
,(yyval
),(yyvsp
[(2) - (3)]));;}
8090 /* Line 1455 of yacc.c */
8092 { xhp_children_stmt(_p
,(yyval
),(yyvsp
[(2) - (3)]));;}
8097 /* Line 1455 of yacc.c */
8099 { _p
->onTraitRequire((yyval
), (yyvsp
[(3) - (4)]), true); ;}
8104 /* Line 1455 of yacc.c */
8106 { _p
->onTraitRequire((yyval
), (yyvsp
[(3) - (4)]), false); ;}
8111 /* Line 1455 of yacc.c */
8113 { Token t
; t
.reset();
8114 _p
->onTraitUse((yyval
),(yyvsp
[(2) - (3)]),t
); ;}
8119 /* Line 1455 of yacc.c */
8121 { _p
->onTraitUse((yyval
),(yyvsp
[(2) - (5)]),(yyvsp
[(4) - (5)])); ;}
8126 /* Line 1455 of yacc.c */
8128 { _p
->onTraitRule((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)])); ;}
8133 /* Line 1455 of yacc.c */
8135 { _p
->onTraitRule((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)])); ;}
8140 /* Line 1455 of yacc.c */
8142 { (yyval
).reset(); ;}
8147 /* Line 1455 of yacc.c */
8149 { _p
->onTraitPrecRule((yyval
),(yyvsp
[(1) - (6)]),(yyvsp
[(3) - (6)]),(yyvsp
[(5) - (6)]));;}
8154 /* Line 1455 of yacc.c */
8156 { _p
->onTraitAliasRuleModify((yyval
),(yyvsp
[(1) - (5)]),(yyvsp
[(3) - (5)]),
8157 (yyvsp
[(4) - (5)]));;}
8162 /* Line 1455 of yacc.c */
8164 { Token t
; t
.reset();
8165 _p
->onTraitAliasRuleModify((yyval
),(yyvsp
[(1) - (4)]),(yyvsp
[(3) - (4)]),
8171 /* Line 1455 of yacc.c */
8173 { _p
->onTraitAliasRuleStart((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]));;}
8178 /* Line 1455 of yacc.c */
8180 { Token t
; t
.reset();
8181 _p
->onTraitAliasRuleStart((yyval
),t
,(yyvsp
[(1) - (1)]));;}
8186 /* Line 1455 of yacc.c */
8188 { xhp_attribute_list(_p
,(yyval
),
8189 _p
->xhpGetAttributes(),(yyvsp
[(1) - (1)]));;}
8194 /* Line 1455 of yacc.c */
8196 { xhp_attribute_list(_p
,(yyval
), &(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]));;}
8201 /* Line 1455 of yacc.c */
8203 { xhp_attribute(_p
,(yyval
),(yyvsp
[(1) - (4)]),(yyvsp
[(2) - (4)]),(yyvsp
[(3) - (4)]),(yyvsp
[(4) - (4)]));
8209 /* Line 1455 of yacc.c */
8211 { (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = 0;;}
8216 /* Line 1455 of yacc.c */
8223 /* Line 1455 of yacc.c */
8225 { /* This case handles all types other
8226 than "array", "var" and "enum".
8227 For now we just use type code 5;
8228 later xhp_attribute() will fix up
8229 the type code as appropriate. */
8230 (yyval
) = 5; (yyval
).setText((yyvsp
[(1) - (1)]));;}
8235 /* Line 1455 of yacc.c */
8242 /* Line 1455 of yacc.c */
8244 { (yyval
) = (yyvsp
[(3) - (4)]); (yyval
) = 7;;}
8249 /* Line 1455 of yacc.c */
8251 { _p
->onArrayPair((yyval
), 0,0,(yyvsp
[(1) - (1)]),0);;}
8256 /* Line 1455 of yacc.c */
8258 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (3)]),0,(yyvsp
[(3) - (3)]),0);;}
8263 /* Line 1455 of yacc.c */
8265 { (yyval
) = (yyvsp
[(2) - (2)]);;}
8270 /* Line 1455 of yacc.c */
8272 { scalar_null(_p
, (yyval
));;}
8277 /* Line 1455 of yacc.c */
8279 { scalar_num(_p
, (yyval
), "1");;}
8284 /* Line 1455 of yacc.c */
8286 { scalar_num(_p
, (yyval
), "0");;}
8291 /* Line 1455 of yacc.c */
8293 { Token t
; scalar_num(_p
, t
, "1");
8294 _p
->onArrayPair((yyval
),0,&(yyvsp
[(1) - (1)]),t
,0);;}
8299 /* Line 1455 of yacc.c */
8301 { Token t
; scalar_num(_p
, t
, "1");
8302 _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (3)]),&(yyvsp
[(3) - (3)]),t
,0);;}
8307 /* Line 1455 of yacc.c */
8309 { _p
->onScalar((yyval
),
8310 T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(1) - (1)]));;}
8315 /* Line 1455 of yacc.c */
8317 { (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = 2;;}
8322 /* Line 1455 of yacc.c */
8325 if ((yyvsp
[(1) - (1)]).same("any")) (yyval
) = 1;;}
8330 /* Line 1455 of yacc.c */
8337 /* Line 1455 of yacc.c */
8339 { xhp_children_paren(_p
, (yyval
), (yyvsp
[(2) - (3)]), 0);;}
8344 /* Line 1455 of yacc.c */
8346 { xhp_children_paren(_p
, (yyval
), (yyvsp
[(2) - (4)]), 1);;}
8351 /* Line 1455 of yacc.c */
8353 { xhp_children_paren(_p
, (yyval
), (yyvsp
[(2) - (4)]), 2);;}
8358 /* Line 1455 of yacc.c */
8360 { xhp_children_paren(_p
, (yyval
), (yyvsp
[(2) - (4)]), 3);;}
8365 /* Line 1455 of yacc.c */
8367 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8372 /* Line 1455 of yacc.c */
8374 { xhp_children_decl(_p
,(yyval
),(yyvsp
[(1) - (1)]),0, 0);;}
8379 /* Line 1455 of yacc.c */
8381 { xhp_children_decl(_p
,(yyval
),(yyvsp
[(1) - (2)]),1, 0);;}
8386 /* Line 1455 of yacc.c */
8388 { xhp_children_decl(_p
,(yyval
),(yyvsp
[(1) - (2)]),2, 0);;}
8393 /* Line 1455 of yacc.c */
8395 { xhp_children_decl(_p
,(yyval
),(yyvsp
[(1) - (2)]),3, 0);;}
8400 /* Line 1455 of yacc.c */
8402 { xhp_children_decl(_p
,(yyval
),(yyvsp
[(1) - (3)]),4,&(yyvsp
[(3) - (3)]));;}
8407 /* Line 1455 of yacc.c */
8409 { xhp_children_decl(_p
,(yyval
),(yyvsp
[(1) - (3)]),5,&(yyvsp
[(3) - (3)]));;}
8414 /* Line 1455 of yacc.c */
8417 if ((yyvsp
[(1) - (1)]).same("any")) (yyval
) = 1; else
8418 if ((yyvsp
[(1) - (1)]).same("pcdata")) (yyval
) = 2;;}
8423 /* Line 1455 of yacc.c */
8425 { (yyvsp
[(1) - (1)]).xhpLabel(); (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = 3;;}
8430 /* Line 1455 of yacc.c */
8432 { (yyvsp
[(1) - (1)]).xhpLabel(0); (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = 4;;}
8437 /* Line 1455 of yacc.c */
8439 { (yyval
).reset();;}
8444 /* Line 1455 of yacc.c */
8446 { _p
->finishStatement((yyval
), (yyvsp
[(2) - (3)])); (yyval
) = 1;;}
8451 /* Line 1455 of yacc.c */
8453 { (yyval
).reset();;}
8458 /* Line 1455 of yacc.c */
8460 { _p
->finishStatement((yyval
), (yyvsp
[(2) - (3)])); (yyval
) = 1;;}
8465 /* Line 1455 of yacc.c */
8467 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8472 /* Line 1455 of yacc.c */
8474 { (yyval
).reset();;}
8479 /* Line 1455 of yacc.c */
8481 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8486 /* Line 1455 of yacc.c */
8488 { (yyval
).reset();;}
8493 /* Line 1455 of yacc.c */
8495 { _p
->onMemberModifier((yyval
),NULL
,(yyvsp
[(1) - (1)]));;}
8500 /* Line 1455 of yacc.c */
8502 { _p
->onMemberModifier((yyval
),&(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
8507 /* Line 1455 of yacc.c */
8509 { (yyval
) = T_PUBLIC
;;}
8514 /* Line 1455 of yacc.c */
8516 { (yyval
) = T_PROTECTED
;;}
8521 /* Line 1455 of yacc.c */
8523 { (yyval
) = T_PRIVATE
;;}
8528 /* Line 1455 of yacc.c */
8530 { (yyval
) = T_STATIC
;;}
8535 /* Line 1455 of yacc.c */
8537 { (yyval
) = T_ABSTRACT
;;}
8542 /* Line 1455 of yacc.c */
8544 { (yyval
) = T_FINAL
;;}
8549 /* Line 1455 of yacc.c */
8551 { (yyval
) = T_ASYNC
;;}
8556 /* Line 1455 of yacc.c */
8558 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8563 /* Line 1455 of yacc.c */
8565 { (yyval
).reset();;}
8570 /* Line 1455 of yacc.c */
8572 { (yyval
) = T_PUBLIC
;;}
8577 /* Line 1455 of yacc.c */
8579 { (yyval
) = T_PROTECTED
;;}
8584 /* Line 1455 of yacc.c */
8586 { (yyval
) = T_PRIVATE
;;}
8591 /* Line 1455 of yacc.c */
8593 { _p
->onClassVariable((yyval
),&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0);;}
8598 /* Line 1455 of yacc.c */
8600 { _p
->onClassVariable((yyval
),&(yyvsp
[(1) - (5)]),(yyvsp
[(3) - (5)]),&(yyvsp
[(5) - (5)]));;}
8605 /* Line 1455 of yacc.c */
8607 { _p
->onClassVariable((yyval
),0,(yyvsp
[(1) - (1)]),0);;}
8612 /* Line 1455 of yacc.c */
8614 { _p
->onClassVariable((yyval
),0,(yyvsp
[(1) - (3)]),&(yyvsp
[(3) - (3)]));;}
8619 /* Line 1455 of yacc.c */
8621 { _p
->onClassConstant((yyval
),&(yyvsp
[(1) - (5)]),(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]));;}
8626 /* Line 1455 of yacc.c */
8628 { _p
->onClassConstant((yyval
),0,(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));;}
8633 /* Line 1455 of yacc.c */
8635 { (yyval
) = (yyvsp
[(2) - (3)]);;}
8640 /* Line 1455 of yacc.c */
8642 { _p
->onNewObject((yyval
), (yyvsp
[(2) - (3)]), (yyvsp
[(3) - (3)]));;}
8647 /* Line 1455 of yacc.c */
8649 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_CLONE
,1);;}
8654 /* Line 1455 of yacc.c */
8656 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8661 /* Line 1455 of yacc.c */
8663 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8668 /* Line 1455 of yacc.c */
8670 { (yyval
) = (yyvsp
[(2) - (3)]);;}
8675 /* Line 1455 of yacc.c */
8677 { _p
->onExprListElem((yyval
), &(yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]));;}
8682 /* Line 1455 of yacc.c */
8684 { _p
->onExprListElem((yyval
), NULL
, (yyvsp
[(1) - (1)]));;}
8689 /* Line 1455 of yacc.c */
8691 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8696 /* Line 1455 of yacc.c */
8698 { (yyval
).reset();;}
8703 /* Line 1455 of yacc.c */
8705 { _p
->onYield((yyval
), (yyvsp
[(2) - (2)]));;}
8710 /* Line 1455 of yacc.c */
8712 { _p
->onYieldPair((yyval
), (yyvsp
[(2) - (4)]), (yyvsp
[(4) - (4)]));;}
8717 /* Line 1455 of yacc.c */
8719 { _p
->onAssign((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 0, true);;}
8724 /* Line 1455 of yacc.c */
8726 { _p
->onListAssignment((yyval
), (yyvsp
[(3) - (6)]), &(yyvsp
[(6) - (6)]), true);;}
8731 /* Line 1455 of yacc.c */
8733 { _p
->onAwait((yyval
), (yyvsp
[(2) - (2)])); ;}
8738 /* Line 1455 of yacc.c */
8740 { _p
->onAssign((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 0, true);;}
8745 /* Line 1455 of yacc.c */
8747 { _p
->onListAssignment((yyval
), (yyvsp
[(3) - (6)]), &(yyvsp
[(6) - (6)]), true);;}
8752 /* Line 1455 of yacc.c */
8754 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8759 /* Line 1455 of yacc.c */
8761 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8766 /* Line 1455 of yacc.c */
8768 { (yyval
) = (yyvsp
[(1) - (1)]);;}
8773 /* Line 1455 of yacc.c */
8775 { _p
->onListAssignment((yyval
), (yyvsp
[(3) - (6)]), &(yyvsp
[(6) - (6)]));;}
8780 /* Line 1455 of yacc.c */
8782 { _p
->onAssign((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 0);;}
8787 /* Line 1455 of yacc.c */
8789 { _p
->onAssign((yyval
), (yyvsp
[(1) - (4)]), (yyvsp
[(4) - (4)]), 1);;}
8794 /* Line 1455 of yacc.c */
8796 { _p
->onAssignNew((yyval
),(yyvsp
[(1) - (6)]),(yyvsp
[(5) - (6)]),(yyvsp
[(6) - (6)]));;}
8801 /* Line 1455 of yacc.c */
8803 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_PLUS_EQUAL
);;}
8808 /* Line 1455 of yacc.c */
8810 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_MINUS_EQUAL
);;}
8815 /* Line 1455 of yacc.c */
8817 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_MUL_EQUAL
);;}
8822 /* Line 1455 of yacc.c */
8824 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_DIV_EQUAL
);;}
8829 /* Line 1455 of yacc.c */
8831 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_CONCAT_EQUAL
);;}
8836 /* Line 1455 of yacc.c */
8838 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_MOD_EQUAL
);;}
8843 /* Line 1455 of yacc.c */
8845 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_AND_EQUAL
);;}
8850 /* Line 1455 of yacc.c */
8852 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_OR_EQUAL
);;}
8857 /* Line 1455 of yacc.c */
8859 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_XOR_EQUAL
);;}
8864 /* Line 1455 of yacc.c */
8866 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_SL_EQUAL
);;}
8871 /* Line 1455 of yacc.c */
8873 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_SR_EQUAL
);;}
8878 /* Line 1455 of yacc.c */
8880 { UEXP((yyval
),(yyvsp
[(1) - (2)]),T_INC
,0);;}
8885 /* Line 1455 of yacc.c */
8887 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_INC
,1);;}
8892 /* Line 1455 of yacc.c */
8894 { UEXP((yyval
),(yyvsp
[(1) - (2)]),T_DEC
,0);;}
8899 /* Line 1455 of yacc.c */
8901 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_DEC
,1);;}
8906 /* Line 1455 of yacc.c */
8908 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_BOOLEAN_OR
);;}
8913 /* Line 1455 of yacc.c */
8915 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_BOOLEAN_AND
);;}
8920 /* Line 1455 of yacc.c */
8922 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_LOGICAL_OR
);;}
8927 /* Line 1455 of yacc.c */
8929 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_LOGICAL_AND
);;}
8934 /* Line 1455 of yacc.c */
8936 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_LOGICAL_XOR
);;}
8941 /* Line 1455 of yacc.c */
8943 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'|');;}
8948 /* Line 1455 of yacc.c */
8950 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'&');;}
8955 /* Line 1455 of yacc.c */
8957 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'^');;}
8962 /* Line 1455 of yacc.c */
8964 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'.');;}
8969 /* Line 1455 of yacc.c */
8971 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'+');;}
8976 /* Line 1455 of yacc.c */
8978 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'-');;}
8983 /* Line 1455 of yacc.c */
8985 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'*');;}
8990 /* Line 1455 of yacc.c */
8992 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'/');;}
8997 /* Line 1455 of yacc.c */
8999 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'%');;}
9004 /* Line 1455 of yacc.c */
9006 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_SL
);;}
9011 /* Line 1455 of yacc.c */
9013 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_SR
);;}
9018 /* Line 1455 of yacc.c */
9020 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'+',1);;}
9025 /* Line 1455 of yacc.c */
9027 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'-',1);;}
9032 /* Line 1455 of yacc.c */
9034 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'!',1);;}
9039 /* Line 1455 of yacc.c */
9041 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'~',1);;}
9046 /* Line 1455 of yacc.c */
9048 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_IS_IDENTICAL
);;}
9053 /* Line 1455 of yacc.c */
9055 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_IS_NOT_IDENTICAL
);;}
9060 /* Line 1455 of yacc.c */
9062 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_IS_EQUAL
);;}
9067 /* Line 1455 of yacc.c */
9069 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_IS_NOT_EQUAL
);;}
9074 /* Line 1455 of yacc.c */
9076 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'<');;}
9081 /* Line 1455 of yacc.c */
9083 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),
9084 T_IS_SMALLER_OR_EQUAL
);;}
9089 /* Line 1455 of yacc.c */
9091 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),'>');;}
9096 /* Line 1455 of yacc.c */
9098 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),
9099 T_IS_GREATER_OR_EQUAL
);;}
9104 /* Line 1455 of yacc.c */
9106 { BEXP((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),T_INSTANCEOF
);;}
9111 /* Line 1455 of yacc.c */
9113 { (yyval
) = (yyvsp
[(2) - (3)]);;}
9118 /* Line 1455 of yacc.c */
9120 { _p
->onQOp((yyval
), (yyvsp
[(1) - (5)]), &(yyvsp
[(3) - (5)]), (yyvsp
[(5) - (5)]));;}
9125 /* Line 1455 of yacc.c */
9127 { _p
->onQOp((yyval
), (yyvsp
[(1) - (4)]), 0, (yyvsp
[(4) - (4)]));;}
9132 /* Line 1455 of yacc.c */
9134 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9139 /* Line 1455 of yacc.c */
9141 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_INT_CAST
,1);;}
9146 /* Line 1455 of yacc.c */
9148 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_DOUBLE_CAST
,1);;}
9153 /* Line 1455 of yacc.c */
9155 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_STRING_CAST
,1);;}
9160 /* Line 1455 of yacc.c */
9162 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_ARRAY_CAST
,1);;}
9167 /* Line 1455 of yacc.c */
9169 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_OBJECT_CAST
,1);;}
9174 /* Line 1455 of yacc.c */
9176 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_BOOL_CAST
,1);;}
9181 /* Line 1455 of yacc.c */
9183 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_UNSET_CAST
,1);;}
9188 /* Line 1455 of yacc.c */
9190 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_EXIT
,1);;}
9195 /* Line 1455 of yacc.c */
9197 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'@',1);;}
9202 /* Line 1455 of yacc.c */
9204 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
9209 /* Line 1455 of yacc.c */
9211 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
9216 /* Line 1455 of yacc.c */
9218 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
9223 /* Line 1455 of yacc.c */
9225 { _p
->onEncapsList((yyval
),'`',(yyvsp
[(2) - (3)]));;}
9230 /* Line 1455 of yacc.c */
9232 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_PRINT
,1);;}
9237 /* Line 1455 of yacc.c */
9239 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9244 /* Line 1455 of yacc.c */
9246 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9251 /* Line 1455 of yacc.c */
9253 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9258 /* Line 1455 of yacc.c */
9260 { (yyval
) = (yyvsp
[(3) - (5)]);;}
9265 /* Line 1455 of yacc.c */
9267 { (yyval
).reset();;}
9272 /* Line 1455 of yacc.c */
9275 _p
->onNewLabelScope(true);
9276 _p
->onClosureStart(t
);
9277 _p
->pushLabelInfo(); ;}
9282 /* Line 1455 of yacc.c */
9284 { _p
->finishStatement((yyvsp
[(10) - (11)]), (yyvsp
[(10) - (11)])); (yyvsp
[(10) - (11)]) = 1;
9285 (yyval
) = _p
->onClosure(ClosureType::Long
,
9287 (yyvsp
[(2) - (11)]),(yyvsp
[(5) - (11)]),(yyvsp
[(8) - (11)]),(yyvsp
[(10) - (11)]));
9289 _p
->onCompleteLabelScope(true);;}
9294 /* Line 1455 of yacc.c */
9297 _p
->onNewLabelScope(true);
9298 _p
->onClosureStart(t
);
9299 _p
->pushLabelInfo(); ;}
9304 /* Line 1455 of yacc.c */
9306 { _p
->finishStatement((yyvsp
[(11) - (12)]), (yyvsp
[(11) - (12)])); (yyvsp
[(11) - (12)]) = 1;
9307 (yyval
) = _p
->onClosure(ClosureType::Long
,
9308 &(yyvsp
[(1) - (12)]),
9309 (yyvsp
[(3) - (12)]),(yyvsp
[(6) - (12)]),(yyvsp
[(9) - (12)]),(yyvsp
[(11) - (12)]));
9311 _p
->onCompleteLabelScope(true);;}
9316 /* Line 1455 of yacc.c */
9318 { _p
->pushFuncLocation();
9320 _p
->onNewLabelScope(true);
9321 _p
->onClosureStart(t
);
9322 _p
->pushLabelInfo();
9324 _p
->onParam((yyvsp
[(1) - (1)]),NULL
,u
,(yyvsp
[(1) - (1)]),0,
9330 /* Line 1455 of yacc.c */
9333 _p
->finishStatement((yyvsp
[(3) - (3)]), (yyvsp
[(3) - (3)])); (yyvsp
[(3) - (3)]) = 1;
9334 (yyval
) = _p
->onClosure(ClosureType::Short
,
9336 v
,(yyvsp
[(1) - (3)]),w
,(yyvsp
[(3) - (3)]));
9338 _p
->onCompleteLabelScope(true);;}
9343 /* Line 1455 of yacc.c */
9345 { _p
->pushFuncLocation();
9347 _p
->onNewLabelScope(true);
9348 _p
->onClosureStart(t
);
9349 _p
->pushLabelInfo();;}
9354 /* Line 1455 of yacc.c */
9357 _p
->finishStatement((yyvsp
[(6) - (6)]), (yyvsp
[(6) - (6)])); (yyvsp
[(6) - (6)]) = 1;
9358 (yyval
) = _p
->onClosure(ClosureType::Short
,
9360 u
,(yyvsp
[(3) - (6)]),v
,(yyvsp
[(6) - (6)]));
9362 _p
->onCompleteLabelScope(true);;}
9367 /* Line 1455 of yacc.c */
9369 { (yyval
) = _p
->onExprForLambda((yyvsp
[(2) - (2)]));;}
9374 /* Line 1455 of yacc.c */
9376 { (yyval
) = (yyvsp
[(3) - (4)]);;}
9381 /* Line 1455 of yacc.c */
9383 { validate_shape_keyname((yyvsp
[(1) - (1)]), _p
);
9384 _p
->onScalar((yyval
), T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(1) - (1)])); ;}
9389 /* Line 1455 of yacc.c */
9391 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),0); ;}
9396 /* Line 1455 of yacc.c */
9398 { _p
->onArrayPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0); ;}
9403 /* Line 1455 of yacc.c */
9405 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),0); ;}
9410 /* Line 1455 of yacc.c */
9412 { _p
->onArrayPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0); ;}
9417 /* Line 1455 of yacc.c */
9419 { (yyval
) = (yyvsp
[(1) - (2)]); ;}
9424 /* Line 1455 of yacc.c */
9426 { (yyval
).reset(); ;}
9431 /* Line 1455 of yacc.c */
9433 { (yyval
) = (yyvsp
[(1) - (2)]); ;}
9438 /* Line 1455 of yacc.c */
9440 { (yyval
).reset(); ;}
9445 /* Line 1455 of yacc.c */
9447 { _p
->onArray((yyval
), (yyvsp
[(3) - (4)]), T_ARRAY
);;}
9452 /* Line 1455 of yacc.c */
9454 { _p
->onArray((yyval
),(yyvsp
[(3) - (4)]),T_ARRAY
);;}
9459 /* Line 1455 of yacc.c */
9461 { _p
->onArray((yyval
),(yyvsp
[(2) - (3)]),T_ARRAY
);;}
9466 /* Line 1455 of yacc.c */
9469 _p
->onName(t
,(yyvsp
[(1) - (4)]),Parser::StringName
);
9470 BEXP((yyval
),t
,(yyvsp
[(3) - (4)]),T_COLLECTION
);;}
9475 /* Line 1455 of yacc.c */
9478 _p
->onName(t
,(yyvsp
[(1) - (4)]),Parser::StringName
);
9479 BEXP((yyval
),t
,(yyvsp
[(3) - (4)]),T_COLLECTION
);;}
9484 /* Line 1455 of yacc.c */
9486 { _p
->onRefDim((yyval
), (yyvsp
[(1) - (4)]), (yyvsp
[(3) - (4)]));;}
9491 /* Line 1455 of yacc.c */
9493 { _p
->onRefDim((yyval
), (yyvsp
[(1) - (4)]), (yyvsp
[(3) - (4)]));;}
9498 /* Line 1455 of yacc.c */
9500 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9505 /* Line 1455 of yacc.c */
9507 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9512 /* Line 1455 of yacc.c */
9514 { (yyval
) = (yyvsp
[(2) - (3)]);;}
9519 /* Line 1455 of yacc.c */
9521 { _p
->onQuery((yyval
), (yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)])); ;}
9526 /* Line 1455 of yacc.c */
9528 { _p
->onAssign((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 0, true);;}
9533 /* Line 1455 of yacc.c */
9535 { _p
->onFromClause((yyval
), (yyvsp
[(2) - (4)]), (yyvsp
[(4) - (4)])); ;}
9540 /* Line 1455 of yacc.c */
9542 { _p
->onQueryBody((yyval
), &(yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)]), NULL
); ;}
9547 /* Line 1455 of yacc.c */
9549 { _p
->onQueryBody((yyval
), &(yyvsp
[(1) - (3)]), (yyvsp
[(2) - (3)]), &(yyvsp
[(3) - (3)])); ;}
9554 /* Line 1455 of yacc.c */
9556 { _p
->onQueryBody((yyval
), NULL
, (yyvsp
[(1) - (1)]), NULL
); ;}
9561 /* Line 1455 of yacc.c */
9563 { _p
->onQueryBody((yyval
), NULL
, (yyvsp
[(1) - (2)]), &(yyvsp
[(2) - (2)])); ;}
9568 /* Line 1455 of yacc.c */
9570 { _p
->onQueryBodyClause((yyval
), NULL
, (yyvsp
[(1) - (1)])); ;}
9575 /* Line 1455 of yacc.c */
9577 { _p
->onQueryBodyClause((yyval
), &(yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)])); ;}
9582 /* Line 1455 of yacc.c */
9584 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9589 /* Line 1455 of yacc.c */
9591 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9596 /* Line 1455 of yacc.c */
9598 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9603 /* Line 1455 of yacc.c */
9605 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9610 /* Line 1455 of yacc.c */
9612 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9617 /* Line 1455 of yacc.c */
9619 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9624 /* Line 1455 of yacc.c */
9626 { _p
->onFromClause((yyval
), (yyvsp
[(2) - (4)]), (yyvsp
[(4) - (4)])); ;}
9631 /* Line 1455 of yacc.c */
9633 { _p
->onLetClause((yyval
), (yyvsp
[(2) - (4)]), (yyvsp
[(4) - (4)])); ;}
9638 /* Line 1455 of yacc.c */
9640 { _p
->onWhereClause((yyval
), (yyvsp
[(2) - (2)])); ;}
9645 /* Line 1455 of yacc.c */
9647 { _p
->onJoinClause((yyval
), (yyvsp
[(2) - (8)]), (yyvsp
[(4) - (8)]), (yyvsp
[(6) - (8)]), (yyvsp
[(8) - (8)])); ;}
9652 /* Line 1455 of yacc.c */
9654 { _p
->onJoinIntoClause((yyval
), (yyvsp
[(2) - (10)]), (yyvsp
[(4) - (10)]), (yyvsp
[(6) - (10)]), (yyvsp
[(8) - (10)]), (yyvsp
[(10) - (10)])); ;}
9659 /* Line 1455 of yacc.c */
9661 { _p
->onOrderbyClause((yyval
), (yyvsp
[(2) - (2)])); ;}
9666 /* Line 1455 of yacc.c */
9668 { _p
->onOrdering((yyval
), NULL
, (yyvsp
[(1) - (1)])); ;}
9673 /* Line 1455 of yacc.c */
9675 { _p
->onOrdering((yyval
), &(yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)])); ;}
9680 /* Line 1455 of yacc.c */
9682 { _p
->onOrderingExpr((yyval
), (yyvsp
[(1) - (1)]), NULL
); ;}
9687 /* Line 1455 of yacc.c */
9689 { _p
->onOrderingExpr((yyval
), (yyvsp
[(1) - (2)]), &(yyvsp
[(2) - (2)])); ;}
9694 /* Line 1455 of yacc.c */
9696 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9701 /* Line 1455 of yacc.c */
9703 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9708 /* Line 1455 of yacc.c */
9710 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9715 /* Line 1455 of yacc.c */
9717 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9722 /* Line 1455 of yacc.c */
9724 { _p
->onSelectClause((yyval
), (yyvsp
[(2) - (2)])); ;}
9729 /* Line 1455 of yacc.c */
9731 { _p
->onGroupClause((yyval
), (yyvsp
[(2) - (4)]), (yyvsp
[(4) - (4)])); ;}
9736 /* Line 1455 of yacc.c */
9738 { _p
->onIntoClause((yyval
), (yyvsp
[(2) - (3)]), (yyvsp
[(3) - (3)])); ;}
9743 /* Line 1455 of yacc.c */
9745 { _p
->onClosureParam((yyval
),&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0);;}
9750 /* Line 1455 of yacc.c */
9752 { _p
->onClosureParam((yyval
),&(yyvsp
[(1) - (4)]),(yyvsp
[(4) - (4)]),1);;}
9757 /* Line 1455 of yacc.c */
9759 { _p
->onClosureParam((yyval
), 0,(yyvsp
[(1) - (1)]),0);;}
9764 /* Line 1455 of yacc.c */
9766 { _p
->onClosureParam((yyval
), 0,(yyvsp
[(2) - (2)]),1);;}
9771 /* Line 1455 of yacc.c */
9773 { xhp_tag(_p
,(yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(3) - (4)]));;}
9778 /* Line 1455 of yacc.c */
9780 { Token t1
; _p
->onArray(t1
,(yyvsp
[(1) - (2)]));
9781 Token t2
; _p
->onArray(t2
,(yyvsp
[(2) - (2)]));
9782 Token file
; scalar_file(_p
, file
);
9783 Token line
; scalar_line(_p
, line
);
9784 _p
->onCallParam((yyvsp
[(1) - (2)]),NULL
,t1
,0);
9785 _p
->onCallParam((yyval
), &(yyvsp
[(1) - (2)]),t2
,0);
9786 _p
->onCallParam((yyvsp
[(1) - (2)]), &(yyvsp
[(1) - (2)]),file
,0);
9787 _p
->onCallParam((yyvsp
[(1) - (2)]), &(yyvsp
[(1) - (2)]),line
,0);
9788 (yyval
).setText("");;}
9793 /* Line 1455 of yacc.c */
9795 { Token file
; scalar_file(_p
, file
);
9796 Token line
; scalar_line(_p
, line
);
9797 _p
->onArray((yyvsp
[(4) - (6)]),(yyvsp
[(1) - (6)]));
9798 _p
->onArray((yyvsp
[(5) - (6)]),(yyvsp
[(3) - (6)]));
9799 _p
->onCallParam((yyvsp
[(2) - (6)]),NULL
,(yyvsp
[(4) - (6)]),0);
9800 _p
->onCallParam((yyval
), &(yyvsp
[(2) - (6)]),(yyvsp
[(5) - (6)]),0);
9801 _p
->onCallParam((yyvsp
[(2) - (6)]), &(yyvsp
[(2) - (6)]),file
,0);
9802 _p
->onCallParam((yyvsp
[(2) - (6)]), &(yyvsp
[(2) - (6)]),line
,0);
9803 (yyval
).setText((yyvsp
[(6) - (6)]).text());;}
9808 /* Line 1455 of yacc.c */
9810 { (yyval
).reset(); (yyval
).setText("");;}
9815 /* Line 1455 of yacc.c */
9817 { (yyval
).reset(); (yyval
).setText((yyvsp
[(1) - (1)]));;}
9822 /* Line 1455 of yacc.c */
9824 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (4)]),&(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]),0);;}
9829 /* Line 1455 of yacc.c */
9831 { (yyval
).reset();;}
9836 /* Line 1455 of yacc.c */
9838 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (2)]),0,(yyvsp
[(2) - (2)]),0);;}
9843 /* Line 1455 of yacc.c */
9845 { (yyval
).reset();;}
9850 /* Line 1455 of yacc.c */
9852 { _p
->onScalar((yyval
),
9853 T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(1) - (1)]));;}
9858 /* Line 1455 of yacc.c */
9860 { (yyvsp
[(1) - (1)]).xhpDecode();
9861 _p
->onScalar((yyval
),
9862 T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(1) - (1)]));;}
9867 /* Line 1455 of yacc.c */
9869 { (yyval
) = (yyvsp
[(2) - (3)]);;}
9874 /* Line 1455 of yacc.c */
9877 if ((yyvsp
[(1) - (1)]).htmlTrim()) {
9878 (yyvsp
[(1) - (1)]).xhpDecode();
9879 _p
->onScalar((yyval
),
9880 T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(1) - (1)]));
9887 /* Line 1455 of yacc.c */
9889 { (yyval
) = (yyvsp
[(2) - (3)]); ;}
9894 /* Line 1455 of yacc.c */
9896 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
9901 /* Line 1455 of yacc.c */
9903 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9908 /* Line 1455 of yacc.c */
9910 { (yyval
) = (yyvsp
[(1) - (3)]) + ":" + (yyvsp
[(3) - (3)]);;}
9915 /* Line 1455 of yacc.c */
9917 { (yyval
) = (yyvsp
[(1) - (3)]) + "-" + (yyvsp
[(3) - (3)]);;}
9922 /* Line 1455 of yacc.c */
9924 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9929 /* Line 1455 of yacc.c */
9931 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9936 /* Line 1455 of yacc.c */
9938 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9943 /* Line 1455 of yacc.c */
9945 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9950 /* Line 1455 of yacc.c */
9952 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9957 /* Line 1455 of yacc.c */
9959 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9964 /* Line 1455 of yacc.c */
9966 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9971 /* Line 1455 of yacc.c */
9973 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9978 /* Line 1455 of yacc.c */
9980 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9985 /* Line 1455 of yacc.c */
9987 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9992 /* Line 1455 of yacc.c */
9994 { (yyval
) = (yyvsp
[(1) - (1)]);;}
9999 /* Line 1455 of yacc.c */
10000 #line 2091 "hphp.y"
10001 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10006 /* Line 1455 of yacc.c */
10007 #line 2092 "hphp.y"
10008 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10013 /* Line 1455 of yacc.c */
10014 #line 2093 "hphp.y"
10015 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10020 /* Line 1455 of yacc.c */
10021 #line 2094 "hphp.y"
10022 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10027 /* Line 1455 of yacc.c */
10028 #line 2095 "hphp.y"
10029 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10034 /* Line 1455 of yacc.c */
10035 #line 2096 "hphp.y"
10036 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10041 /* Line 1455 of yacc.c */
10042 #line 2097 "hphp.y"
10043 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10048 /* Line 1455 of yacc.c */
10049 #line 2098 "hphp.y"
10050 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10055 /* Line 1455 of yacc.c */
10056 #line 2099 "hphp.y"
10057 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10062 /* Line 1455 of yacc.c */
10063 #line 2100 "hphp.y"
10064 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10069 /* Line 1455 of yacc.c */
10070 #line 2101 "hphp.y"
10071 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10076 /* Line 1455 of yacc.c */
10077 #line 2102 "hphp.y"
10078 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10083 /* Line 1455 of yacc.c */
10084 #line 2103 "hphp.y"
10085 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10090 /* Line 1455 of yacc.c */
10091 #line 2104 "hphp.y"
10092 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10097 /* Line 1455 of yacc.c */
10098 #line 2105 "hphp.y"
10099 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10104 /* Line 1455 of yacc.c */
10105 #line 2106 "hphp.y"
10106 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10111 /* Line 1455 of yacc.c */
10112 #line 2107 "hphp.y"
10113 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10118 /* Line 1455 of yacc.c */
10119 #line 2108 "hphp.y"
10120 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10125 /* Line 1455 of yacc.c */
10126 #line 2109 "hphp.y"
10127 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10132 /* Line 1455 of yacc.c */
10133 #line 2110 "hphp.y"
10134 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10139 /* Line 1455 of yacc.c */
10140 #line 2111 "hphp.y"
10141 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10146 /* Line 1455 of yacc.c */
10147 #line 2112 "hphp.y"
10148 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10153 /* Line 1455 of yacc.c */
10154 #line 2113 "hphp.y"
10155 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10160 /* Line 1455 of yacc.c */
10161 #line 2114 "hphp.y"
10162 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10167 /* Line 1455 of yacc.c */
10168 #line 2115 "hphp.y"
10169 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10174 /* Line 1455 of yacc.c */
10175 #line 2116 "hphp.y"
10176 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10181 /* Line 1455 of yacc.c */
10182 #line 2117 "hphp.y"
10183 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10188 /* Line 1455 of yacc.c */
10189 #line 2118 "hphp.y"
10190 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10195 /* Line 1455 of yacc.c */
10196 #line 2119 "hphp.y"
10197 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10202 /* Line 1455 of yacc.c */
10203 #line 2120 "hphp.y"
10204 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10209 /* Line 1455 of yacc.c */
10210 #line 2121 "hphp.y"
10211 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10216 /* Line 1455 of yacc.c */
10217 #line 2122 "hphp.y"
10218 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10223 /* Line 1455 of yacc.c */
10224 #line 2123 "hphp.y"
10225 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10230 /* Line 1455 of yacc.c */
10231 #line 2124 "hphp.y"
10232 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10237 /* Line 1455 of yacc.c */
10238 #line 2125 "hphp.y"
10239 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10244 /* Line 1455 of yacc.c */
10245 #line 2126 "hphp.y"
10246 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10251 /* Line 1455 of yacc.c */
10252 #line 2127 "hphp.y"
10253 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10258 /* Line 1455 of yacc.c */
10259 #line 2128 "hphp.y"
10260 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10265 /* Line 1455 of yacc.c */
10266 #line 2129 "hphp.y"
10267 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10272 /* Line 1455 of yacc.c */
10273 #line 2130 "hphp.y"
10274 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10279 /* Line 1455 of yacc.c */
10280 #line 2131 "hphp.y"
10281 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10286 /* Line 1455 of yacc.c */
10287 #line 2132 "hphp.y"
10288 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10293 /* Line 1455 of yacc.c */
10294 #line 2133 "hphp.y"
10295 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10300 /* Line 1455 of yacc.c */
10301 #line 2134 "hphp.y"
10302 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10307 /* Line 1455 of yacc.c */
10308 #line 2135 "hphp.y"
10309 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10314 /* Line 1455 of yacc.c */
10315 #line 2136 "hphp.y"
10316 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10321 /* Line 1455 of yacc.c */
10322 #line 2137 "hphp.y"
10323 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10328 /* Line 1455 of yacc.c */
10329 #line 2138 "hphp.y"
10330 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10335 /* Line 1455 of yacc.c */
10336 #line 2139 "hphp.y"
10337 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10342 /* Line 1455 of yacc.c */
10343 #line 2140 "hphp.y"
10344 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10349 /* Line 1455 of yacc.c */
10350 #line 2141 "hphp.y"
10351 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10356 /* Line 1455 of yacc.c */
10357 #line 2142 "hphp.y"
10358 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10363 /* Line 1455 of yacc.c */
10364 #line 2143 "hphp.y"
10365 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10370 /* Line 1455 of yacc.c */
10371 #line 2144 "hphp.y"
10372 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10377 /* Line 1455 of yacc.c */
10378 #line 2145 "hphp.y"
10379 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10384 /* Line 1455 of yacc.c */
10385 #line 2146 "hphp.y"
10386 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10391 /* Line 1455 of yacc.c */
10392 #line 2147 "hphp.y"
10393 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10398 /* Line 1455 of yacc.c */
10399 #line 2148 "hphp.y"
10400 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10405 /* Line 1455 of yacc.c */
10406 #line 2149 "hphp.y"
10407 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10412 /* Line 1455 of yacc.c */
10413 #line 2150 "hphp.y"
10414 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10419 /* Line 1455 of yacc.c */
10420 #line 2151 "hphp.y"
10421 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10426 /* Line 1455 of yacc.c */
10427 #line 2152 "hphp.y"
10428 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10433 /* Line 1455 of yacc.c */
10434 #line 2153 "hphp.y"
10435 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10440 /* Line 1455 of yacc.c */
10441 #line 2154 "hphp.y"
10442 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10447 /* Line 1455 of yacc.c */
10448 #line 2155 "hphp.y"
10449 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10454 /* Line 1455 of yacc.c */
10455 #line 2156 "hphp.y"
10456 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10461 /* Line 1455 of yacc.c */
10462 #line 2157 "hphp.y"
10463 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10468 /* Line 1455 of yacc.c */
10469 #line 2158 "hphp.y"
10470 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10475 /* Line 1455 of yacc.c */
10476 #line 2159 "hphp.y"
10477 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10482 /* Line 1455 of yacc.c */
10483 #line 2164 "hphp.y"
10484 { _p
->onCall((yyval
),0,(yyvsp
[(1) - (4)]),(yyvsp
[(3) - (4)]),NULL
);;}
10489 /* Line 1455 of yacc.c */
10490 #line 2168 "hphp.y"
10491 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10496 /* Line 1455 of yacc.c */
10497 #line 2169 "hphp.y"
10498 { (yyvsp
[(1) - (1)]).xhpLabel(); (yyval
) = (yyvsp
[(1) - (1)]);;}
10503 /* Line 1455 of yacc.c */
10504 #line 2172 "hphp.y"
10505 { _p
->onName((yyval
),(yyvsp
[(1) - (1)]),Parser::StringName
);;}
10510 /* Line 1455 of yacc.c */
10511 #line 2173 "hphp.y"
10512 { _p
->onName((yyval
),(yyvsp
[(1) - (1)]),Parser::StaticName
);;}
10517 /* Line 1455 of yacc.c */
10518 #line 2174 "hphp.y"
10519 { _p
->onName((yyval
),(yyvsp
[(1) - (1)]),
10520 Parser::StaticClassExprName
);;}
10525 /* Line 1455 of yacc.c */
10526 #line 2178 "hphp.y"
10527 { _p
->onName((yyval
),(yyvsp
[(1) - (1)]),Parser::StringName
);;}
10532 /* Line 1455 of yacc.c */
10533 #line 2179 "hphp.y"
10534 { _p
->onName((yyval
),(yyvsp
[(1) - (1)]),Parser::StaticName
);;}
10539 /* Line 1455 of yacc.c */
10540 #line 2180 "hphp.y"
10541 { _p
->onName((yyval
),(yyvsp
[(1) - (1)]),Parser::ExprName
);;}
10546 /* Line 1455 of yacc.c */
10547 #line 2184 "hphp.y"
10548 { (yyval
).reset();;}
10553 /* Line 1455 of yacc.c */
10554 #line 2185 "hphp.y"
10555 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10560 /* Line 1455 of yacc.c */
10561 #line 2186 "hphp.y"
10562 { (yyval
).reset();;}
10567 /* Line 1455 of yacc.c */
10568 #line 2190 "hphp.y"
10569 { (yyval
).reset();;}
10574 /* Line 1455 of yacc.c */
10575 #line 2191 "hphp.y"
10576 { _p
->addEncap((yyval
), NULL
, (yyvsp
[(1) - (1)]), 0);;}
10581 /* Line 1455 of yacc.c */
10582 #line 2192 "hphp.y"
10583 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10588 /* Line 1455 of yacc.c */
10589 #line 2196 "hphp.y"
10590 { (yyval
) = (yyvsp
[(2) - (3)]);;}
10595 /* Line 1455 of yacc.c */
10596 #line 2197 "hphp.y"
10597 { (yyval
).reset();;}
10602 /* Line 1455 of yacc.c */
10603 #line 2201 "hphp.y"
10604 { _p
->onScalar((yyval
), T_LNUMBER
, (yyvsp
[(1) - (1)]));;}
10609 /* Line 1455 of yacc.c */
10610 #line 2202 "hphp.y"
10611 { _p
->onScalar((yyval
), T_DNUMBER
, (yyvsp
[(1) - (1)]));;}
10616 /* Line 1455 of yacc.c */
10617 #line 2203 "hphp.y"
10618 { _p
->onScalar((yyval
), T_ONUMBER
, (yyvsp
[(1) - (1)]));;}
10623 /* Line 1455 of yacc.c */
10624 #line 2204 "hphp.y"
10625 { _p
->onScalar((yyval
),
10626 T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(1) - (1)]));;}
10631 /* Line 1455 of yacc.c */
10632 #line 2206 "hphp.y"
10633 { _p
->onScalar((yyval
), T_LINE
, (yyvsp
[(1) - (1)]));;}
10638 /* Line 1455 of yacc.c */
10639 #line 2207 "hphp.y"
10640 { _p
->onScalar((yyval
), T_FILE
, (yyvsp
[(1) - (1)]));;}
10645 /* Line 1455 of yacc.c */
10646 #line 2208 "hphp.y"
10647 { _p
->onScalar((yyval
), T_DIR
, (yyvsp
[(1) - (1)]));;}
10652 /* Line 1455 of yacc.c */
10653 #line 2209 "hphp.y"
10654 { _p
->onScalar((yyval
), T_CLASS_C
, (yyvsp
[(1) - (1)]));;}
10659 /* Line 1455 of yacc.c */
10660 #line 2210 "hphp.y"
10661 { _p
->onScalar((yyval
), T_TRAIT_C
, (yyvsp
[(1) - (1)]));;}
10666 /* Line 1455 of yacc.c */
10667 #line 2211 "hphp.y"
10668 { _p
->onScalar((yyval
), T_METHOD_C
, (yyvsp
[(1) - (1)]));;}
10673 /* Line 1455 of yacc.c */
10674 #line 2212 "hphp.y"
10675 { _p
->onScalar((yyval
), T_FUNC_C
, (yyvsp
[(1) - (1)]));;}
10680 /* Line 1455 of yacc.c */
10681 #line 2213 "hphp.y"
10682 { _p
->onScalar((yyval
), T_NS_C
, (yyvsp
[(1) - (1)]));;}
10687 /* Line 1455 of yacc.c */
10688 #line 2214 "hphp.y"
10689 { _p
->onScalar((yyval
), T_COMPILER_HALT_OFFSET
, (yyvsp
[(1) - (1)]));;}
10694 /* Line 1455 of yacc.c */
10695 #line 2217 "hphp.y"
10696 { _p
->onScalar((yyval
), T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(2) - (3)]));;}
10701 /* Line 1455 of yacc.c */
10702 #line 2219 "hphp.y"
10703 { (yyval
).setText(""); _p
->onScalar((yyval
), T_CONSTANT_ENCAPSED_STRING
, (yyval
));;}
10708 /* Line 1455 of yacc.c */
10709 #line 2223 "hphp.y"
10710 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10715 /* Line 1455 of yacc.c */
10716 #line 2224 "hphp.y"
10717 { _p
->onConstantValue((yyval
), (yyvsp
[(1) - (1)]));;}
10722 /* Line 1455 of yacc.c */
10723 #line 2225 "hphp.y"
10724 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'+',1);;}
10729 /* Line 1455 of yacc.c */
10730 #line 2226 "hphp.y"
10731 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'-',1);;}
10736 /* Line 1455 of yacc.c */
10737 #line 2228 "hphp.y"
10738 { _p
->onArray((yyval
),(yyvsp
[(3) - (4)]),T_ARRAY
); ;}
10743 /* Line 1455 of yacc.c */
10744 #line 2230 "hphp.y"
10745 { _p
->onArray((yyval
),(yyvsp
[(3) - (4)]),T_ARRAY
); ;}
10750 /* Line 1455 of yacc.c */
10751 #line 2231 "hphp.y"
10752 { _p
->onArray((yyval
),(yyvsp
[(2) - (3)]),T_ARRAY
); ;}
10757 /* Line 1455 of yacc.c */
10758 #line 2233 "hphp.y"
10759 { _p
->onArray((yyval
),(yyvsp
[(3) - (4)]),T_ARRAY
); ;}
10764 /* Line 1455 of yacc.c */
10765 #line 2234 "hphp.y"
10766 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10771 /* Line 1455 of yacc.c */
10772 #line 2235 "hphp.y"
10773 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10778 /* Line 1455 of yacc.c */
10779 #line 2241 "hphp.y"
10780 { _p
->onClassConst((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 1);;}
10785 /* Line 1455 of yacc.c */
10786 #line 2243 "hphp.y"
10787 { (yyvsp
[(1) - (3)]).xhpLabel();
10788 _p
->onClassConst((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 1);;}
10793 /* Line 1455 of yacc.c */
10794 #line 2247 "hphp.y"
10795 { _p
->onClassClass((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 1);;}
10800 /* Line 1455 of yacc.c */
10801 #line 2251 "hphp.y"
10802 { _p
->onConstantValue((yyval
), (yyvsp
[(1) - (1)]));;}
10807 /* Line 1455 of yacc.c */
10808 #line 2252 "hphp.y"
10809 { _p
->onConstantValue((yyval
), (yyvsp
[(1) - (1)]));;}
10814 /* Line 1455 of yacc.c */
10815 #line 2253 "hphp.y"
10816 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10821 /* Line 1455 of yacc.c */
10822 #line 2254 "hphp.y"
10823 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10828 /* Line 1455 of yacc.c */
10829 #line 2255 "hphp.y"
10830 { _p
->onEncapsList((yyval
),'"',(yyvsp
[(2) - (3)]));;}
10835 /* Line 1455 of yacc.c */
10836 #line 2256 "hphp.y"
10837 { _p
->onEncapsList((yyval
),'\'',(yyvsp
[(2) - (3)]));;}
10842 /* Line 1455 of yacc.c */
10843 #line 2258 "hphp.y"
10844 { _p
->onEncapsList((yyval
),T_START_HEREDOC
,
10845 (yyvsp
[(2) - (3)]));;}
10850 /* Line 1455 of yacc.c */
10851 #line 2263 "hphp.y"
10852 { (yyval
) = (yyvsp
[(1) - (2)]);;}
10857 /* Line 1455 of yacc.c */
10858 #line 2264 "hphp.y"
10859 { (yyval
).reset();;}
10864 /* Line 1455 of yacc.c */
10865 #line 2268 "hphp.y"
10866 { (yyval
).reset();;}
10871 /* Line 1455 of yacc.c */
10872 #line 2269 "hphp.y"
10873 { (yyval
).reset();;}
10878 /* Line 1455 of yacc.c */
10879 #line 2272 "hphp.y"
10880 { only_in_hh_syntax(_p
); (yyval
).reset();;}
10885 /* Line 1455 of yacc.c */
10886 #line 2273 "hphp.y"
10887 { (yyval
).reset();;}
10892 /* Line 1455 of yacc.c */
10893 #line 2279 "hphp.y"
10894 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),0);;}
10899 /* Line 1455 of yacc.c */
10900 #line 2281 "hphp.y"
10901 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (3)]), 0,(yyvsp
[(3) - (3)]),0);;}
10906 /* Line 1455 of yacc.c */
10907 #line 2283 "hphp.y"
10908 { _p
->onArrayPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0);;}
10913 /* Line 1455 of yacc.c */
10914 #line 2284 "hphp.y"
10915 { _p
->onArrayPair((yyval
), 0, 0,(yyvsp
[(1) - (1)]),0);;}
10920 /* Line 1455 of yacc.c */
10921 #line 2288 "hphp.y"
10922 { _p
->onScalar((yyval
), T_LNUMBER
, (yyvsp
[(1) - (1)]));;}
10927 /* Line 1455 of yacc.c */
10928 #line 2289 "hphp.y"
10929 { _p
->onScalar((yyval
), T_DNUMBER
, (yyvsp
[(1) - (1)]));;}
10934 /* Line 1455 of yacc.c */
10935 #line 2290 "hphp.y"
10936 { _p
->onScalar((yyval
), T_ONUMBER
, (yyvsp
[(1) - (1)]));;}
10941 /* Line 1455 of yacc.c */
10942 #line 2291 "hphp.y"
10943 { _p
->onScalar((yyval
),
10944 T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(1) - (1)]));;}
10949 /* Line 1455 of yacc.c */
10950 #line 2295 "hphp.y"
10951 { _p
->onScalar((yyval
), T_CONSTANT_ENCAPSED_STRING
, (yyvsp
[(2) - (3)]));;}
10956 /* Line 1455 of yacc.c */
10957 #line 2297 "hphp.y"
10958 { (yyval
).setText(""); _p
->onScalar((yyval
), T_CONSTANT_ENCAPSED_STRING
, (yyval
));;}
10963 /* Line 1455 of yacc.c */
10964 #line 2300 "hphp.y"
10965 { _p
->onScalar((yyval
),T_LNUMBER
,(yyvsp
[(1) - (1)]));;}
10970 /* Line 1455 of yacc.c */
10971 #line 2301 "hphp.y"
10972 { _p
->onScalar((yyval
),T_DNUMBER
,(yyvsp
[(1) - (1)]));;}
10977 /* Line 1455 of yacc.c */
10978 #line 2302 "hphp.y"
10979 { _p
->onScalar((yyval
),T_ONUMBER
,(yyvsp
[(1) - (1)]));;}
10984 /* Line 1455 of yacc.c */
10985 #line 2303 "hphp.y"
10986 { constant_ae(_p
,(yyval
),(yyvsp
[(1) - (1)]));;}
10991 /* Line 1455 of yacc.c */
10992 #line 2306 "hphp.y"
10993 { (yyval
) = (yyvsp
[(1) - (1)]);;}
10998 /* Line 1455 of yacc.c */
10999 #line 2307 "hphp.y"
11000 { constant_ae(_p
,(yyval
),(yyvsp
[(1) - (1)]));;}
11005 /* Line 1455 of yacc.c */
11006 #line 2308 "hphp.y"
11007 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'+',1);;}
11012 /* Line 1455 of yacc.c */
11013 #line 2309 "hphp.y"
11014 { UEXP((yyval
),(yyvsp
[(2) - (2)]),'-',1);;}
11019 /* Line 1455 of yacc.c */
11020 #line 2311 "hphp.y"
11021 { _p
->onArray((yyval
),(yyvsp
[(3) - (4)]),T_ARRAY
);;}
11026 /* Line 1455 of yacc.c */
11027 #line 2313 "hphp.y"
11028 { _p
->onArray((yyval
),(yyvsp
[(3) - (4)]),T_ARRAY
);;}
11033 /* Line 1455 of yacc.c */
11034 #line 2314 "hphp.y"
11035 { _p
->onArray((yyval
),(yyvsp
[(2) - (3)]),T_ARRAY
);;}
11040 /* Line 1455 of yacc.c */
11041 #line 2316 "hphp.y"
11042 { _p
->onArray((yyval
),(yyvsp
[(3) - (4)]),T_ARRAY
); ;}
11047 /* Line 1455 of yacc.c */
11048 #line 2321 "hphp.y"
11049 { (yyval
) = (yyvsp
[(1) - (2)]);;}
11054 /* Line 1455 of yacc.c */
11055 #line 2322 "hphp.y"
11056 { (yyval
).reset();;}
11061 /* Line 1455 of yacc.c */
11062 #line 2327 "hphp.y"
11063 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),0);;}
11068 /* Line 1455 of yacc.c */
11069 #line 2329 "hphp.y"
11070 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (3)]), 0,(yyvsp
[(3) - (3)]),0);;}
11075 /* Line 1455 of yacc.c */
11076 #line 2331 "hphp.y"
11077 { _p
->onArrayPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0);;}
11082 /* Line 1455 of yacc.c */
11083 #line 2332 "hphp.y"
11084 { _p
->onArrayPair((yyval
), 0, 0,(yyvsp
[(1) - (1)]),0);;}
11089 /* Line 1455 of yacc.c */
11090 #line 2336 "hphp.y"
11091 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (3)]), 0,(yyvsp
[(3) - (3)]),0);;}
11096 /* Line 1455 of yacc.c */
11097 #line 2337 "hphp.y"
11098 { _p
->onArrayPair((yyval
), 0, 0,(yyvsp
[(1) - (1)]),0);;}
11103 /* Line 1455 of yacc.c */
11104 #line 2342 "hphp.y"
11105 { (yyval
) = (yyvsp
[(1) - (2)]); ;}
11110 /* Line 1455 of yacc.c */
11111 #line 2343 "hphp.y"
11112 { (yyval
).reset(); ;}
11117 /* Line 1455 of yacc.c */
11118 #line 2348 "hphp.y"
11119 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),0); ;}
11124 /* Line 1455 of yacc.c */
11125 #line 2351 "hphp.y"
11126 { _p
->onArrayPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0); ;}
11131 /* Line 1455 of yacc.c */
11132 #line 2356 "hphp.y"
11133 { (yyval
) = (yyvsp
[(1) - (2)]);;}
11138 /* Line 1455 of yacc.c */
11139 #line 2357 "hphp.y"
11140 { (yyval
).reset();;}
11145 /* Line 1455 of yacc.c */
11146 #line 2360 "hphp.y"
11147 { _p
->onArray((yyval
),(yyvsp
[(2) - (3)]),T_ARRAY
);;}
11152 /* Line 1455 of yacc.c */
11153 #line 2361 "hphp.y"
11154 { Token t
; t
.reset();
11155 _p
->onArray((yyval
),t
,T_ARRAY
);;}
11160 /* Line 1455 of yacc.c */
11161 #line 2368 "hphp.y"
11162 { _p
->onUserAttribute((yyval
),&(yyvsp
[(1) - (4)]),(yyvsp
[(3) - (4)]),(yyvsp
[(4) - (4)]));;}
11167 /* Line 1455 of yacc.c */
11168 #line 2370 "hphp.y"
11169 { _p
->onUserAttribute((yyval
), 0,(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
11174 /* Line 1455 of yacc.c */
11175 #line 2373 "hphp.y"
11176 { only_in_hh_syntax(_p
);;}
11181 /* Line 1455 of yacc.c */
11182 #line 2375 "hphp.y"
11183 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11188 /* Line 1455 of yacc.c */
11189 #line 2378 "hphp.y"
11190 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11195 /* Line 1455 of yacc.c */
11196 #line 2381 "hphp.y"
11197 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11202 /* Line 1455 of yacc.c */
11203 #line 2382 "hphp.y"
11204 { (yyval
).reset();;}
11209 /* Line 1455 of yacc.c */
11210 #line 2386 "hphp.y"
11211 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11216 /* Line 1455 of yacc.c */
11217 #line 2388 "hphp.y"
11218 { (yyval
) = (yyvsp
[(2) - (2)]);;}
11223 /* Line 1455 of yacc.c */
11224 #line 2392 "hphp.y"
11225 { (yyval
) = (yyvsp
[(2) - (2)]);;}
11230 /* Line 1455 of yacc.c */
11231 #line 2393 "hphp.y"
11232 { (yyval
) = (yyvsp
[(3) - (4)]);;}
11237 /* Line 1455 of yacc.c */
11238 #line 2397 "hphp.y"
11239 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11244 /* Line 1455 of yacc.c */
11245 #line 2398 "hphp.y"
11246 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11251 /* Line 1455 of yacc.c */
11252 #line 2402 "hphp.y"
11253 { _p
->onRefDim((yyval
), (yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)]));;}
11258 /* Line 1455 of yacc.c */
11259 #line 2404 "hphp.y"
11260 { _p
->onRefDim((yyval
), (yyvsp
[(2) - (4)]), (yyvsp
[(4) - (4)]));;}
11265 /* Line 1455 of yacc.c */
11266 #line 2409 "hphp.y"
11267 { _p
->onRefDim((yyval
), (yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)]));;}
11272 /* Line 1455 of yacc.c */
11273 #line 2411 "hphp.y"
11274 { _p
->onRefDim((yyval
), (yyvsp
[(2) - (4)]), (yyvsp
[(4) - (4)]));;}
11279 /* Line 1455 of yacc.c */
11280 #line 2415 "hphp.y"
11281 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11286 /* Line 1455 of yacc.c */
11287 #line 2416 "hphp.y"
11288 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11293 /* Line 1455 of yacc.c */
11294 #line 2417 "hphp.y"
11295 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11300 /* Line 1455 of yacc.c */
11301 #line 2418 "hphp.y"
11302 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11307 /* Line 1455 of yacc.c */
11308 #line 2419 "hphp.y"
11309 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11314 /* Line 1455 of yacc.c */
11315 #line 2420 "hphp.y"
11316 { _p
->onObjectProperty((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
11321 /* Line 1455 of yacc.c */
11322 #line 2422 "hphp.y"
11323 { _p
->onObjectProperty((yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));;}
11328 /* Line 1455 of yacc.c */
11329 #line 2425 "hphp.y"
11330 { _p
->onStaticMember((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]));;}
11335 /* Line 1455 of yacc.c */
11336 #line 2427 "hphp.y"
11337 { _p
->onCall((yyval
),1,(yyvsp
[(1) - (4)]),(yyvsp
[(3) - (4)]),NULL
);;}
11342 /* Line 1455 of yacc.c */
11343 #line 2428 "hphp.y"
11344 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11349 /* Line 1455 of yacc.c */
11350 #line 2432 "hphp.y"
11351 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11356 /* Line 1455 of yacc.c */
11357 #line 2433 "hphp.y"
11358 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11363 /* Line 1455 of yacc.c */
11364 #line 2434 "hphp.y"
11365 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11370 /* Line 1455 of yacc.c */
11371 #line 2435 "hphp.y"
11372 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11377 /* Line 1455 of yacc.c */
11378 #line 2437 "hphp.y"
11379 { _p
->onObjectProperty((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
11384 /* Line 1455 of yacc.c */
11385 #line 2439 "hphp.y"
11386 { _p
->onObjectProperty((yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));;}
11391 /* Line 1455 of yacc.c */
11392 #line 2441 "hphp.y"
11393 { _p
->onCall((yyval
),1,(yyvsp
[(1) - (4)]),(yyvsp
[(3) - (4)]),NULL
);;}
11398 /* Line 1455 of yacc.c */
11399 #line 2442 "hphp.y"
11400 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11405 /* Line 1455 of yacc.c */
11406 #line 2446 "hphp.y"
11407 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11412 /* Line 1455 of yacc.c */
11413 #line 2447 "hphp.y"
11414 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11419 /* Line 1455 of yacc.c */
11420 #line 2448 "hphp.y"
11421 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11426 /* Line 1455 of yacc.c */
11427 #line 2454 "hphp.y"
11428 { _p
->onObjectMethodCall((yyval
),(yyvsp
[(1) - (7)]),(yyvsp
[(3) - (7)]),(yyvsp
[(6) - (7)]));;}
11433 /* Line 1455 of yacc.c */
11434 #line 2457 "hphp.y"
11435 { _p
->onObjectMethodCall((yyval
),(yyvsp
[(1) - (6)]),(yyvsp
[(3) - (6)]),(yyvsp
[(5) - (6)]));;}
11440 /* Line 1455 of yacc.c */
11441 #line 2460 "hphp.y"
11442 { _p
->onObjectMethodCall((yyval
),(yyvsp
[(1) - (8)]),(yyvsp
[(4) - (8)]),(yyvsp
[(7) - (8)]));;}
11447 /* Line 1455 of yacc.c */
11448 #line 2464 "hphp.y"
11449 { _p
->onObjectMethodCall((yyval
),(yyvsp
[(2) - (9)]),(yyvsp
[(5) - (9)]),(yyvsp
[(8) - (9)]));;}
11454 /* Line 1455 of yacc.c */
11455 #line 2468 "hphp.y"
11456 { _p
->onObjectMethodCall((yyval
),(yyvsp
[(2) - (8)]),(yyvsp
[(5) - (8)]),(yyvsp
[(7) - (8)]));;}
11461 /* Line 1455 of yacc.c */
11462 #line 2472 "hphp.y"
11463 { _p
->onObjectMethodCall((yyval
),(yyvsp
[(2) - (10)]),(yyvsp
[(6) - (10)]),(yyvsp
[(9) - (10)]));;}
11468 /* Line 1455 of yacc.c */
11469 #line 2479 "hphp.y"
11470 { _p
->onCall((yyval
),0,(yyvsp
[(3) - (7)]),(yyvsp
[(6) - (7)]),&(yyvsp
[(1) - (7)]));;}
11475 /* Line 1455 of yacc.c */
11476 #line 2483 "hphp.y"
11477 { _p
->onCall((yyval
),1,(yyvsp
[(3) - (6)]),(yyvsp
[(5) - (6)]),&(yyvsp
[(1) - (6)]));;}
11482 /* Line 1455 of yacc.c */
11483 #line 2487 "hphp.y"
11484 { _p
->onCall((yyval
),1,(yyvsp
[(4) - (8)]),(yyvsp
[(7) - (8)]),&(yyvsp
[(1) - (8)]));;}
11489 /* Line 1455 of yacc.c */
11490 #line 2491 "hphp.y"
11491 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11496 /* Line 1455 of yacc.c */
11497 #line 2493 "hphp.y"
11498 { _p
->onIndirectRef((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
11503 /* Line 1455 of yacc.c */
11504 #line 2498 "hphp.y"
11505 { _p
->onRefDim((yyval
), (yyvsp
[(1) - (4)]), (yyvsp
[(3) - (4)]));;}
11510 /* Line 1455 of yacc.c */
11511 #line 2499 "hphp.y"
11512 { _p
->onRefDim((yyval
), (yyvsp
[(1) - (4)]), (yyvsp
[(3) - (4)]));;}
11517 /* Line 1455 of yacc.c */
11518 #line 2500 "hphp.y"
11519 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11524 /* Line 1455 of yacc.c */
11525 #line 2503 "hphp.y"
11526 { _p
->onSimpleVariable((yyval
), (yyvsp
[(1) - (1)]));;}
11531 /* Line 1455 of yacc.c */
11532 #line 2504 "hphp.y"
11533 { _p
->onDynamicVariable((yyval
), (yyvsp
[(3) - (4)]), 0);;}
11538 /* Line 1455 of yacc.c */
11539 #line 2507 "hphp.y"
11540 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11545 /* Line 1455 of yacc.c */
11546 #line 2508 "hphp.y"
11547 { (yyval
).reset();;}
11552 /* Line 1455 of yacc.c */
11553 #line 2512 "hphp.y"
11559 /* Line 1455 of yacc.c */
11560 #line 2513 "hphp.y"
11566 /* Line 1455 of yacc.c */
11567 #line 2517 "hphp.y"
11568 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11573 /* Line 1455 of yacc.c */
11574 #line 2518 "hphp.y"
11575 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11580 /* Line 1455 of yacc.c */
11581 #line 2519 "hphp.y"
11582 { _p
->onObjectProperty((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
11587 /* Line 1455 of yacc.c */
11588 #line 2521 "hphp.y"
11589 { _p
->onObjectProperty((yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));;}
11594 /* Line 1455 of yacc.c */
11595 #line 2524 "hphp.y"
11596 { _p
->onStaticMember((yyval
),(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]));;}
11601 /* Line 1455 of yacc.c */
11602 #line 2525 "hphp.y"
11603 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11608 /* Line 1455 of yacc.c */
11609 #line 2529 "hphp.y"
11610 { (yyval
) = (yyvsp
[(1) - (1)]);;}
11615 /* Line 1455 of yacc.c */
11616 #line 2531 "hphp.y"
11617 { _p
->onObjectProperty((yyval
),(yyvsp
[(1) - (2)]),(yyvsp
[(2) - (2)]));;}
11622 /* Line 1455 of yacc.c */
11623 #line 2533 "hphp.y"
11624 { _p
->onObjectProperty((yyval
),(yyvsp
[(2) - (4)]),(yyvsp
[(4) - (4)]));;}
11629 /* Line 1455 of yacc.c */
11630 #line 2534 "hphp.y"
11631 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11636 /* Line 1455 of yacc.c */
11637 #line 2538 "hphp.y"
11638 { _p
->onAListVar((yyval
),&(yyvsp
[(1) - (2)]),NULL
);;}
11643 /* Line 1455 of yacc.c */
11644 #line 2539 "hphp.y"
11645 { _p
->onAListVar((yyval
),&(yyvsp
[(1) - (3)]),&(yyvsp
[(3) - (3)]));;}
11650 /* Line 1455 of yacc.c */
11651 #line 2541 "hphp.y"
11652 { _p
->onAListSub((yyval
),&(yyvsp
[(1) - (6)]),(yyvsp
[(5) - (6)]));;}
11657 /* Line 1455 of yacc.c */
11658 #line 2542 "hphp.y"
11659 { _p
->onAListVar((yyval
),NULL
,NULL
);;}
11664 /* Line 1455 of yacc.c */
11665 #line 2543 "hphp.y"
11666 { _p
->onAListVar((yyval
),NULL
,&(yyvsp
[(1) - (1)]));;}
11671 /* Line 1455 of yacc.c */
11672 #line 2544 "hphp.y"
11673 { _p
->onAListSub((yyval
),NULL
,(yyvsp
[(3) - (4)]));;}
11678 /* Line 1455 of yacc.c */
11679 #line 2549 "hphp.y"
11680 { (yyval
) = (yyvsp
[(1) - (2)]);;}
11685 /* Line 1455 of yacc.c */
11686 #line 2550 "hphp.y"
11687 { (yyval
).reset();;}
11692 /* Line 1455 of yacc.c */
11693 #line 2554 "hphp.y"
11694 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]),0);;}
11699 /* Line 1455 of yacc.c */
11700 #line 2555 "hphp.y"
11701 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (3)]), 0,(yyvsp
[(3) - (3)]),0);;}
11706 /* Line 1455 of yacc.c */
11707 #line 2556 "hphp.y"
11708 { _p
->onArrayPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]),0);;}
11713 /* Line 1455 of yacc.c */
11714 #line 2557 "hphp.y"
11715 { _p
->onArrayPair((yyval
), 0, 0,(yyvsp
[(1) - (1)]),0);;}
11720 /* Line 1455 of yacc.c */
11721 #line 2560 "hphp.y"
11722 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (6)]),&(yyvsp
[(3) - (6)]),(yyvsp
[(6) - (6)]),1);;}
11727 /* Line 1455 of yacc.c */
11728 #line 2562 "hphp.y"
11729 { _p
->onArrayPair((yyval
),&(yyvsp
[(1) - (4)]), 0,(yyvsp
[(4) - (4)]),1);;}
11734 /* Line 1455 of yacc.c */
11735 #line 2563 "hphp.y"
11736 { _p
->onArrayPair((yyval
), 0,&(yyvsp
[(1) - (4)]),(yyvsp
[(4) - (4)]),1);;}
11741 /* Line 1455 of yacc.c */
11742 #line 2564 "hphp.y"
11743 { _p
->onArrayPair((yyval
), 0, 0,(yyvsp
[(2) - (2)]),1);;}
11748 /* Line 1455 of yacc.c */
11749 #line 2569 "hphp.y"
11750 { (yyval
) = (yyvsp
[(1) - (2)]);;}
11755 /* Line 1455 of yacc.c */
11756 #line 2570 "hphp.y"
11757 { _p
->onEmptyCollection((yyval
));;}
11762 /* Line 1455 of yacc.c */
11763 #line 2574 "hphp.y"
11764 { _p
->onCollectionPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]));;}
11769 /* Line 1455 of yacc.c */
11770 #line 2575 "hphp.y"
11771 { _p
->onCollectionPair((yyval
),&(yyvsp
[(1) - (3)]), 0,(yyvsp
[(3) - (3)]));;}
11776 /* Line 1455 of yacc.c */
11777 #line 2576 "hphp.y"
11778 { _p
->onCollectionPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]));;}
11783 /* Line 1455 of yacc.c */
11784 #line 2577 "hphp.y"
11785 { _p
->onCollectionPair((yyval
), 0, 0,(yyvsp
[(1) - (1)]));;}
11790 /* Line 1455 of yacc.c */
11791 #line 2582 "hphp.y"
11792 { (yyval
) = (yyvsp
[(1) - (2)]);;}
11797 /* Line 1455 of yacc.c */
11798 #line 2583 "hphp.y"
11799 { _p
->onEmptyCollection((yyval
));;}
11804 /* Line 1455 of yacc.c */
11805 #line 2588 "hphp.y"
11806 { _p
->onCollectionPair((yyval
),&(yyvsp
[(1) - (5)]),&(yyvsp
[(3) - (5)]),(yyvsp
[(5) - (5)]));;}
11811 /* Line 1455 of yacc.c */
11812 #line 2590 "hphp.y"
11813 { _p
->onCollectionPair((yyval
),&(yyvsp
[(1) - (3)]), 0,(yyvsp
[(3) - (3)]));;}
11818 /* Line 1455 of yacc.c */
11819 #line 2592 "hphp.y"
11820 { _p
->onCollectionPair((yyval
), 0,&(yyvsp
[(1) - (3)]),(yyvsp
[(3) - (3)]));;}
11825 /* Line 1455 of yacc.c */
11826 #line 2593 "hphp.y"
11827 { _p
->onCollectionPair((yyval
), 0, 0,(yyvsp
[(1) - (1)]));;}
11832 /* Line 1455 of yacc.c */
11833 #line 2597 "hphp.y"
11834 { _p
->addEncap((yyval
), &(yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)]), -1);;}
11839 /* Line 1455 of yacc.c */
11840 #line 2599 "hphp.y"
11841 { _p
->addEncap((yyval
), &(yyvsp
[(1) - (2)]), (yyvsp
[(2) - (2)]), 0);;}
11846 /* Line 1455 of yacc.c */
11847 #line 2600 "hphp.y"
11848 { _p
->addEncap((yyval
), NULL
, (yyvsp
[(1) - (1)]), -1);;}
11853 /* Line 1455 of yacc.c */
11854 #line 2602 "hphp.y"
11855 { _p
->addEncap((yyval
), NULL
, (yyvsp
[(1) - (2)]), 0);
11856 _p
->addEncap((yyval
), &(yyval
), (yyvsp
[(2) - (2)]), -1); ;}
11861 /* Line 1455 of yacc.c */
11862 #line 2607 "hphp.y"
11863 { _p
->onSimpleVariable((yyval
), (yyvsp
[(1) - (1)]));;}
11868 /* Line 1455 of yacc.c */
11869 #line 2609 "hphp.y"
11870 { _p
->encapRefDim((yyval
), (yyvsp
[(1) - (4)]), (yyvsp
[(3) - (4)]));;}
11875 /* Line 1455 of yacc.c */
11876 #line 2611 "hphp.y"
11877 { _p
->encapObjProp((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]));;}
11882 /* Line 1455 of yacc.c */
11883 #line 2613 "hphp.y"
11884 { _p
->onDynamicVariable((yyval
), (yyvsp
[(2) - (3)]), 1);;}
11889 /* Line 1455 of yacc.c */
11890 #line 2615 "hphp.y"
11891 { _p
->encapArray((yyval
), (yyvsp
[(2) - (6)]), (yyvsp
[(4) - (6)]));;}
11896 /* Line 1455 of yacc.c */
11897 #line 2616 "hphp.y"
11898 { (yyval
) = (yyvsp
[(2) - (3)]);;}
11903 /* Line 1455 of yacc.c */
11904 #line 2619 "hphp.y"
11905 { (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = T_STRING
;;}
11910 /* Line 1455 of yacc.c */
11911 #line 2620 "hphp.y"
11912 { (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = T_NUM_STRING
;;}
11917 /* Line 1455 of yacc.c */
11918 #line 2621 "hphp.y"
11919 { (yyval
) = (yyvsp
[(1) - (1)]); (yyval
) = T_VARIABLE
;;}
11924 /* Line 1455 of yacc.c */
11925 #line 2625 "hphp.y"
11926 { UEXP((yyval
),(yyvsp
[(3) - (4)]),T_ISSET
,1);;}
11931 /* Line 1455 of yacc.c */
11932 #line 2626 "hphp.y"
11933 { UEXP((yyval
),(yyvsp
[(3) - (4)]),T_EMPTY
,1);;}
11938 /* Line 1455 of yacc.c */
11939 #line 2627 "hphp.y"
11940 { UEXP((yyval
),(yyvsp
[(3) - (4)]),'!',1);;}
11945 /* Line 1455 of yacc.c */
11946 #line 2628 "hphp.y"
11947 { UEXP((yyval
),(yyvsp
[(3) - (4)]),'!',1);;}
11952 /* Line 1455 of yacc.c */
11953 #line 2629 "hphp.y"
11954 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_INCLUDE
,1);;}
11959 /* Line 1455 of yacc.c */
11960 #line 2630 "hphp.y"
11961 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_INCLUDE_ONCE
,1);;}
11966 /* Line 1455 of yacc.c */
11967 #line 2631 "hphp.y"
11968 { UEXP((yyval
),(yyvsp
[(3) - (4)]),T_EVAL
,1);;}
11973 /* Line 1455 of yacc.c */
11974 #line 2632 "hphp.y"
11975 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_REQUIRE
,1);;}
11980 /* Line 1455 of yacc.c */
11981 #line 2633 "hphp.y"
11982 { UEXP((yyval
),(yyvsp
[(2) - (2)]),T_REQUIRE_ONCE
,1);;}
11987 /* Line 1455 of yacc.c */
11988 #line 2637 "hphp.y"
11989 { _p
->onExprListElem((yyval
), NULL
, (yyvsp
[(1) - (1)]));;}
11994 /* Line 1455 of yacc.c */
11995 #line 2638 "hphp.y"
11996 { _p
->onExprListElem((yyval
), &(yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]));;}
12001 /* Line 1455 of yacc.c */
12002 #line 2643 "hphp.y"
12003 { _p
->onClassConst((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 0);;}
12008 /* Line 1455 of yacc.c */
12009 #line 2645 "hphp.y"
12010 { _p
->onClassClass((yyval
), (yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]), 0);;}
12015 /* Line 1455 of yacc.c */
12016 #line 2659 "hphp.y"
12017 { (yyvsp
[(2) - (5)]).setText(_p
->nsDecl((yyvsp
[(2) - (5)]).text()));
12018 _p
->onTypedef((yyval
), (yyvsp
[(2) - (5)]), (yyvsp
[(4) - (5)]));
12019 _p
->popTypeScope(); ;}
12024 /* Line 1455 of yacc.c */
12025 #line 2663 "hphp.y"
12026 { (yyvsp
[(2) - (6)]).setText(_p
->nsDecl((yyvsp
[(2) - (6)]).text()));
12027 _p
->onTypedef((yyval
), (yyvsp
[(2) - (6)]), (yyvsp
[(5) - (6)]));
12028 _p
->popTypeScope(); ;}
12033 /* Line 1455 of yacc.c */
12034 #line 2669 "hphp.y"
12035 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
12040 /* Line 1455 of yacc.c */
12041 #line 2670 "hphp.y"
12042 { only_in_hh_syntax(_p
); (yyval
) = (yyvsp
[(2) - (2)]); ;}
12047 /* Line 1455 of yacc.c */
12048 #line 2676 "hphp.y"
12049 { _p
->pushTypeScope(); (yyval
) = (yyvsp
[(1) - (1)]); ;}
12054 /* Line 1455 of yacc.c */
12055 #line 2680 "hphp.y"
12056 { _p
->pushTypeScope(); (yyval
) = (yyvsp
[(1) - (4)]); ;}
12061 /* Line 1455 of yacc.c */
12062 #line 2686 "hphp.y"
12063 { (yyval
) = (yyvsp
[(2) - (3)]); ;}
12068 /* Line 1455 of yacc.c */
12069 #line 2687 "hphp.y"
12070 { (yyval
).reset(); ;}
12075 /* Line 1455 of yacc.c */
12076 #line 2691 "hphp.y"
12077 { Token t
; t
.reset();
12078 _p
->onTypeList((yyvsp
[(1) - (1)]), t
);
12079 (yyval
) = (yyvsp
[(1) - (1)]); ;}
12084 /* Line 1455 of yacc.c */
12085 #line 2694 "hphp.y"
12086 { _p
->onTypeList((yyvsp
[(1) - (3)]), (yyvsp
[(3) - (3)]));
12087 (yyval
) = (yyvsp
[(1) - (3)]); ;}
12092 /* Line 1455 of yacc.c */
12093 #line 2699 "hphp.y"
12094 { (yyval
) = (yyvsp
[(1) - (3)]); ;}
12099 /* Line 1455 of yacc.c */
12100 #line 2700 "hphp.y"
12101 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
12106 /* Line 1455 of yacc.c */
12107 #line 2701 "hphp.y"
12108 { (yyval
).reset(); ;}
12113 /* Line 1455 of yacc.c */
12114 #line 2702 "hphp.y"
12115 { (yyval
).reset(); ;}
12120 /* Line 1455 of yacc.c */
12121 #line 2706 "hphp.y"
12122 { (yyval
).reset(); ;}
12127 /* Line 1455 of yacc.c */
12128 #line 2707 "hphp.y"
12129 { only_in_hh_syntax(_p
); (yyval
) = (yyvsp
[(2) - (2)]); ;}
12134 /* Line 1455 of yacc.c */
12135 #line 2712 "hphp.y"
12136 { _p
->addTypeVar((yyvsp
[(3) - (3)]).text()); ;}
12141 /* Line 1455 of yacc.c */
12142 #line 2713 "hphp.y"
12143 { _p
->addTypeVar((yyvsp
[(1) - (1)]).text()); ;}
12148 /* Line 1455 of yacc.c */
12149 #line 2715 "hphp.y"
12150 { _p
->addTypeVar((yyvsp
[(3) - (5)]).text()); ;}
12155 /* Line 1455 of yacc.c */
12156 #line 2716 "hphp.y"
12157 { _p
->addTypeVar((yyvsp
[(1) - (3)]).text()); ;}
12162 /* Line 1455 of yacc.c */
12163 #line 2722 "hphp.y"
12164 { validate_shape_keyname((yyvsp
[(1) - (3)]), _p
); ;}
12169 /* Line 1455 of yacc.c */
12170 #line 2733 "hphp.y"
12171 { (yyval
) = (yyvsp
[(1) - (2)]); ;}
12176 /* Line 1455 of yacc.c */
12177 #line 2735 "hphp.y"
12183 /* Line 1455 of yacc.c */
12184 #line 2739 "hphp.y"
12185 { (yyval
).setText("array"); ;}
12190 /* Line 1455 of yacc.c */
12191 #line 2746 "hphp.y"
12192 { only_in_hh_syntax(_p
);
12193 _p
->onTypeSpecialization((yyvsp
[(2) - (2)]), '?');
12194 (yyval
) = (yyvsp
[(2) - (2)]); ;}
12199 /* Line 1455 of yacc.c */
12200 #line 2749 "hphp.y"
12201 { only_in_hh_syntax(_p
);
12202 _p
->onTypeSpecialization((yyvsp
[(2) - (2)]), '@');
12203 (yyval
) = (yyvsp
[(2) - (2)]); ;}
12208 /* Line 1455 of yacc.c */
12209 #line 2752 "hphp.y"
12210 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
12215 /* Line 1455 of yacc.c */
12216 #line 2753 "hphp.y"
12217 { Token t
; t
.reset();
12218 (yyvsp
[(1) - (1)]).setText("array");
12219 _p
->onTypeAnnotation((yyval
), (yyvsp
[(1) - (1)]), t
); ;}
12224 /* Line 1455 of yacc.c */
12225 #line 2756 "hphp.y"
12226 { Token t
; t
.reset();
12227 (yyvsp
[(1) - (1)]).setText("callable");
12228 _p
->onTypeAnnotation((yyval
), (yyvsp
[(1) - (1)]), t
); ;}
12233 /* Line 1455 of yacc.c */
12234 #line 2759 "hphp.y"
12235 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
12240 /* Line 1455 of yacc.c */
12241 #line 2761 "hphp.y"
12242 { (yyvsp
[(1) - (4)]).setText("array");
12243 _p
->onTypeAnnotation((yyval
), (yyvsp
[(1) - (4)]), (yyvsp
[(3) - (4)])); ;}
12248 /* Line 1455 of yacc.c */
12249 #line 2764 "hphp.y"
12250 { _p
->onTypeList((yyvsp
[(3) - (6)]), (yyvsp
[(5) - (6)]));
12251 (yyvsp
[(1) - (6)]).setText("array");
12252 _p
->onTypeAnnotation((yyval
), (yyvsp
[(1) - (6)]), (yyvsp
[(3) - (6)])); ;}
12257 /* Line 1455 of yacc.c */
12258 #line 2767 "hphp.y"
12259 { (yyvsp
[(1) - (1)]).xhpLabel();
12260 Token t
; t
.reset();
12261 _p
->onTypeAnnotation((yyval
), (yyvsp
[(1) - (1)]), t
);
12262 _p
->onTypeSpecialization((yyval
), 'x'); ;}
12267 /* Line 1455 of yacc.c */
12268 #line 2773 "hphp.y"
12269 { only_in_hh_syntax(_p
);
12270 _p
->onTypeList((yyvsp
[(7) - (8)]), (yyvsp
[(4) - (8)]));
12271 _p
->onTypeAnnotation((yyval
), (yyvsp
[(2) - (8)]), (yyvsp
[(7) - (8)]));
12272 _p
->onTypeSpecialization((yyval
), 'f'); ;}
12277 /* Line 1455 of yacc.c */
12278 #line 2777 "hphp.y"
12279 { only_in_hh_syntax(_p
);
12280 _p
->onTypeList((yyvsp
[(2) - (5)]), (yyvsp
[(4) - (5)]));
12281 Token t
; t
.reset(); t
.setText("array");
12282 _p
->onTypeAnnotation((yyval
), t
, (yyvsp
[(2) - (5)]));
12283 _p
->onTypeSpecialization((yyval
), 't'); ;}
12288 /* Line 1455 of yacc.c */
12289 #line 2785 "hphp.y"
12290 { (yyval
) = (yyvsp
[(1) - (1)]); ;}
12295 /* Line 1455 of yacc.c */
12296 #line 2786 "hphp.y"
12297 { (yyval
).reset(); ;}
12302 /* Line 1455 of yacc.c */
12303 #line 12302 "hphp.tab.cpp"
12306 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyn
], &yyval
, &yyloc
);
12308 YYPOPSTACK (yylen
);
12310 YY_STACK_PRINT (yyss
, yyssp
);
12315 /* Now `shift' the result of the reduction. Determine what state
12316 that goes to, based on the state we popped back to and the rule
12317 number reduced by. */
12321 yystate
= yypgoto
[yyn
- YYNTOKENS
] + *yyssp
;
12322 if (0 <= yystate
&& yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
12323 yystate
= yytable
[yystate
];
12325 yystate
= yydefgoto
[yyn
- YYNTOKENS
];
12330 /*------------------------------------.
12331 | yyerrlab -- here on detecting error |
12332 `------------------------------------*/
12334 /* If not already recovering from an error, report this error. */
12338 #if ! YYERROR_VERBOSE
12339 yyerror (&yylloc
, _p
, YY_("syntax error"));
12342 YYSIZE_T yysize
= yysyntax_error (0, yystate
, yychar
);
12343 if (yymsg_alloc
< yysize
&& yymsg_alloc
< YYSTACK_ALLOC_MAXIMUM
)
12345 YYSIZE_T yyalloc
= 2 * yysize
;
12346 if (! (yysize
<= yyalloc
&& yyalloc
<= YYSTACK_ALLOC_MAXIMUM
))
12347 yyalloc
= YYSTACK_ALLOC_MAXIMUM
;
12348 if (yymsg
!= yymsgbuf
)
12349 YYSTACK_FREE (yymsg
);
12350 yymsg
= (char *) YYSTACK_ALLOC (yyalloc
);
12352 yymsg_alloc
= yyalloc
;
12356 yymsg_alloc
= sizeof yymsgbuf
;
12360 if (0 < yysize
&& yysize
<= yymsg_alloc
)
12362 (void) yysyntax_error (yymsg
, yystate
, yychar
);
12363 yyerror (&yylloc
, _p
, yymsg
);
12367 yyerror (&yylloc
, _p
, YY_("syntax error"));
12369 goto yyexhaustedlab
;
12375 yyerror_range
[0] = yylloc
;
12377 if (yyerrstatus
== 3)
12379 /* If just tried and failed to reuse lookahead token after an
12380 error, discard it. */
12382 if (yychar
<= YYEOF
)
12384 /* Return failure if at end of input. */
12385 if (yychar
== YYEOF
)
12390 yydestruct ("Error: discarding",
12391 yytoken
, &yylval
, &yylloc
, _p
);
12396 /* Else will try to reuse lookahead token after shifting the error
12401 /*---------------------------------------------------.
12402 | yyerrorlab -- error raised explicitly by YYERROR. |
12403 `---------------------------------------------------*/
12406 /* Pacify compilers like GCC when the user code never invokes
12407 YYERROR and the label yyerrorlab therefore never appears in user
12409 if (/*CONSTCOND*/ 0)
12412 yyerror_range
[0] = yylsp
[1-yylen
];
12413 /* Do not reclaim the symbols of the rule which action triggered
12415 YYPOPSTACK (yylen
);
12417 YY_STACK_PRINT (yyss
, yyssp
);
12422 /*-------------------------------------------------------------.
12423 | yyerrlab1 -- common code for both syntax error and YYERROR. |
12424 `-------------------------------------------------------------*/
12426 yyerrstatus
= 3; /* Each real token shifted decrements this. */
12430 yyn
= yypact
[yystate
];
12431 if (yyn
!= YYPACT_NINF
)
12434 if (0 <= yyn
&& yyn
<= YYLAST
&& yycheck
[yyn
] == YYTERROR
)
12436 yyn
= yytable
[yyn
];
12442 /* Pop the current state because it cannot handle the error token. */
12446 yyerror_range
[0] = *yylsp
;
12447 yydestruct ("Error: popping",
12448 yystos
[yystate
], yyvsp
, yylsp
, _p
);
12451 YY_STACK_PRINT (yyss
, yyssp
);
12456 yyerror_range
[1] = yylloc
;
12457 /* Using YYLLOC is tempting, but would change the location of
12458 the lookahead. YYLOC is available though. */
12459 YYLLOC_DEFAULT (yyloc
, (yyerror_range
- 1), 2);
12462 /* Shift the error token. */
12463 YY_SYMBOL_PRINT ("Shifting", yystos
[yyn
], yyvsp
, yylsp
);
12469 /*-------------------------------------.
12470 | yyacceptlab -- YYACCEPT comes here. |
12471 `-------------------------------------*/
12476 /*-----------------------------------.
12477 | yyabortlab -- YYABORT comes here. |
12478 `-----------------------------------*/
12483 #if !defined(yyoverflow) || YYERROR_VERBOSE
12484 /*-------------------------------------------------.
12485 | yyexhaustedlab -- memory exhaustion comes here. |
12486 `-------------------------------------------------*/
12488 yyerror (&yylloc
, _p
, YY_("memory exhausted"));
12490 /* Fall through. */
12494 if (yychar
!= YYEMPTY
)
12495 yydestruct ("Cleanup: discarding lookahead",
12496 yytoken
, &yylval
, &yylloc
, _p
);
12497 /* Do not reclaim the symbols of the rule which action triggered
12498 this YYABORT or YYACCEPT. */
12499 YYPOPSTACK (yylen
);
12500 YY_STACK_PRINT (yyss
, yyssp
);
12501 while (yyssp
!= yyss
)
12503 yydestruct ("Cleanup: popping",
12504 yystos
[*yyssp
], yyvsp
, yylsp
, _p
);
12509 YYSTACK_FREE (yyss
);
12512 #if YYERROR_VERBOSE
12513 if (yymsg
!= yymsgbuf
)
12514 YYSTACK_FREE (yymsg
);
12516 /* Make sure YYID is used. */
12517 return YYID (yyresult
);
12522 /* Line 1675 of yacc.c */
12523 #line 2789 "hphp.y"
12525 bool Parser::parseImpl() {
12526 return yyparse(this) == 0;