Fix an issue with empty async function closures---finishStatement off by one
[hiphop-php.git] / hphp / compiler / parser / hphp.tab.cpp
blob37c6f02896b9ee3619780c4823c7c7ace6536865
1 /* A Bison parser, made by GNU Bison 2.5. */
3 /* Bison implementation for Yacc-like parsers in C
5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
43 /* Identify Bison output. */
44 #define YYBISON 1
46 /* Bison version. */
47 #define YYBISON_VERSION "2.5"
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
52 /* Pure parsers. */
53 #define YYPURE 1
55 /* Push parsers. */
56 #define YYPUSH 0
58 /* Pull parsers. */
59 #define YYPULL 1
61 /* Using locations. */
62 #define YYLSP_NEEDED 1
64 /* Substitute the variable and function names. */
65 #define yyparse Compilerparse
66 #define yylex Compilerlex
67 #define yyerror Compilererror
68 #define yylval Compilerlval
69 #define yychar Compilerchar
70 #define yydebug Compilerdebug
71 #define yynerrs Compilernerrs
72 #define yylloc Compilerlloc
74 /* Copy the first part of user declarations. */
76 /* Line 268 of yacc.c */
77 #line 1 "hphp.y"
79 #ifdef XHPAST2_PARSER
80 #include "hphp/parser/xhpast2/parser.h"
81 #else
82 #include "hphp/compiler/parser/parser.h"
83 #endif
84 #include "hphp/util/util.h"
85 #include "hphp/util/logger.h"
87 // macros for bison
88 #define YYSTYPE HPHP::HPHP_PARSER_NS::Token
89 #define YYSTYPE_IS_TRIVIAL 1
90 #define YYLTYPE HPHP::Location
91 #define YYLTYPE_IS_TRIVIAL 1
92 #define YYERROR_VERBOSE
93 #define YYINITDEPTH 500
94 #define YYLEX_PARAM _p
96 #ifdef yyerror
97 #undef yyerror
98 #endif
99 #define yyerror(loc,p,msg) p->parseFatal(loc,msg)
101 #ifdef YYLLOC_DEFAULT
102 # undef YYLLOC_DEFAULT
103 #endif
104 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
105 #define YYLLOC_DEFAULT(Current, Rhs, N) \
106 do \
107 if (YYID (N)) { \
108 (Current).first(YYRHSLOC (Rhs, 1)); \
109 (Current).last (YYRHSLOC (Rhs, N)); \
110 } else { \
111 (Current).line0 = (Current).line1 = YYRHSLOC (Rhs, 0).line1; \
112 (Current).char0 = (Current).char1 = YYRHSLOC (Rhs, 0).char1; \
114 while (YYID (0)); \
115 _p->setRuleLocation(&Current);
117 #define YYCOPY(To, From, Count) \
118 do { \
119 YYSIZE_T yyi; \
120 for (yyi = 0; yyi < (Count); yyi++) { \
121 (To)[yyi] = (From)[yyi]; \
123 if (From != From ## a) { \
124 YYSTACK_FREE (From); \
127 while (YYID (0))
129 #define YYCOPY_RESET(To, From, Count) \
130 do \
132 YYSIZE_T yyi; \
133 for (yyi = 0; yyi < (Count); yyi++) { \
134 (To)[yyi] = (From)[yyi]; \
135 (From)[yyi].reset(); \
137 if (From != From ## a) { \
138 YYSTACK_FREE (From); \
141 while (YYID (0))
143 #define YYTOKEN_RESET(From, Count) \
144 do \
146 YYSIZE_T yyi; \
147 for (yyi = 0; yyi < (Count); yyi++) { \
148 (From)[yyi].reset(); \
150 if (From != From ## a) { \
151 YYSTACK_FREE (From); \
154 while (YYID (0))
156 # define YYSTACK_RELOCATE_RESET(Stack_alloc, Stack) \
157 do \
159 YYSIZE_T yynewbytes; \
160 YYCOPY_RESET (&yyptr->Stack_alloc, Stack, yysize); \
161 Stack = &yyptr->Stack_alloc; \
162 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
163 yyptr += yynewbytes / sizeof (*yyptr); \
165 while (YYID (0))
167 #define YYSTACK_CLEANUP \
168 YYTOKEN_RESET (yyvs, yystacksize); \
169 if (yyvs != yyvsa) { \
170 YYSTACK_FREE (yyvs); \
172 if (yyls != yylsa) { \
173 YYSTACK_FREE (yyls); \
177 // macros for rules
178 #define BEXP(e...) _p->onBinaryOpExp(e);
179 #define UEXP(e...) _p->onUnaryOpExp(e);
181 using namespace HPHP::HPHP_PARSER_NS;
183 typedef HPHP::ClosureType ClosureType;
185 ///////////////////////////////////////////////////////////////////////////////
186 // helpers
188 static void scalar_num(Parser *_p, Token &out, const char *num) {
189 Token t;
190 t.setText(num);
191 _p->onScalar(out, T_LNUMBER, t);
194 static void scalar_num(Parser *_p, Token &out, int num) {
195 Token t;
196 t.setText(boost::lexical_cast<std::string>(num));
197 _p->onScalar(out, T_LNUMBER, t);
200 static void scalar_null(Parser *_p, Token &out) {
201 Token tnull; tnull.setText("null");
202 _p->onConstantValue(out, tnull);
205 static void scalar_file(Parser *_p, Token &out) {
206 Token file; file.setText("__FILE__");
207 _p->onScalar(out, T_FILE, file);
210 static void scalar_line(Parser *_p, Token &out) {
211 Token line; line.setText("__LINE__");
212 _p->onScalar(out, T_LINE, line);
215 ///////////////////////////////////////////////////////////////////////////////
216 // converting constant declartion to "define(name, value);"
218 static void on_constant(Parser *_p, Token &out, Token &name, Token &value) {
219 Token sname; _p->onScalar(sname, T_CONSTANT_ENCAPSED_STRING, name);
221 Token fname; fname.setText("define");
222 Token params1; _p->onCallParam(params1, NULL, sname, 0);
223 Token params2; _p->onCallParam(params2, &params1, value, 0);
224 Token call; _p->onCall(call, 0, fname, params2, 0);
226 _p->onExpStatement(out, call);
229 ///////////////////////////////////////////////////////////////////////////////
231 static void constant_ae(Parser *_p, Token &out, Token &value) {
232 const std::string& valueStr = value.text();
233 if (valueStr.size() < 3 || valueStr.size() > 5 ||
234 (strcasecmp("true", valueStr.c_str()) != 0 &&
235 strcasecmp("false", valueStr.c_str()) != 0 &&
236 strcasecmp("null", valueStr.c_str()) != 0 &&
237 strcasecmp("inf", valueStr.c_str()) != 0 &&
238 strcasecmp("nan", valueStr.c_str()) != 0)) {
239 HPHP_PARSER_ERROR("User-defined constants are not allowed in user "
240 "attribute expressions", _p);
242 _p->onConstantValue(out, value);
245 ///////////////////////////////////////////////////////////////////////////////
248 * XHP functions: They are defined here, so different parsers don't have to
249 * handle XHP rules at all.
252 static void xhp_tag(Parser *_p, Token &out, Token &label, Token &body) {
253 if (!body.text().empty() && body.text() != label.text()) {
254 HPHP_PARSER_ERROR("XHP: mismatched tag: '%s' not the same as '%s'",
255 _p, body.text().c_str(), label.text().c_str());
258 label.xhpLabel();
259 Token name; _p->onName(name, label, Parser::StringName);
260 _p->onNewObject(out, name, body);
263 static void xhp_attribute(Parser *_p, Token &out, Token &type, Token &label,
264 Token &def, Token &req) {
266 * The basic builtin types "bool", "int", "double", and "string" all map to
267 * T_STRING in the parser, and the parser always uses type code 5 for
268 * T_STRING. However, XHP uses different type codes for these basic builtin
269 * types, so we need to fix up the type code here to make XHP happy.
271 if (type.num() == 5 && type.text().size() >= 3 && type.text().size() <= 7) {
272 switch (type.text()[0]) {
273 case 'b':
274 if ((type.text().size() == 4 &&
275 strcasecmp(type.text().c_str(), "bool") == 0) ||
276 (type.text().size() == 7 &&
277 strcasecmp(type.text().c_str(), "boolean") == 0)) {
278 type.reset();
279 type.setNum(2);
281 break;
282 case 'd':
283 if (type.text().size() == 6 &&
284 strcasecmp(type.text().c_str(), "double") == 0) {
285 type.reset();
286 type.setNum(8);
288 break;
289 case 'f':
290 if (type.text().size() == 5 &&
291 strcasecmp(type.text().c_str(), "float") == 0) {
292 type.reset();
293 type.setNum(8);
295 break;
296 case 'i':
297 if ((type.text().size() == 3 &&
298 strcasecmp(type.text().c_str(), "int") == 0) ||
299 (type.text().size() == 7 &&
300 strcasecmp(type.text().c_str(), "integer") == 0)) {
301 type.reset();
302 type.setNum(3);
304 break;
305 case 'm':
306 if ((type.text().size() == 5 &&
307 strcasecmp(type.text().c_str(), "mixed") == 0)) {
308 type.reset();
309 type.setNum(6);
311 break;
312 case 'r':
313 if (type.text().size() == 4 &&
314 strcasecmp(type.text().c_str(), "real") == 0) {
315 type.reset();
316 type.setNum(8);
318 break;
319 case 's':
320 if (type.text().size() == 6 &&
321 strcasecmp(type.text().c_str(), "string") == 0) {
322 type.reset();
323 type.setNum(1);
325 break;
326 default:
327 break;
331 Token num; scalar_num(_p, num, type.num());
332 Token arr1; _p->onArrayPair(arr1, 0, 0, num, 0);
334 Token arr2;
335 switch (type.num()) {
336 case 5: /* class */ {
337 Token cls; _p->onScalar(cls, T_CONSTANT_ENCAPSED_STRING, type);
338 _p->onArrayPair(arr2, &arr1, 0, cls, 0);
339 break;
341 case 7: /* enum */ {
342 Token arr; _p->onArray(arr, type);
343 _p->onArrayPair(arr2, &arr1, 0, arr, 0);
344 break;
346 default: {
347 Token tnull; scalar_null(_p, tnull);
348 _p->onArrayPair(arr2, &arr1, 0, tnull, 0);
349 break;
353 Token arr3; _p->onArrayPair(arr3, &arr2, 0, def, 0);
354 Token arr4; _p->onArrayPair(arr4, &arr3, 0, req, 0);
355 _p->onArray(out, arr4);
356 out.setText(label);
359 static void xhp_attribute_list(Parser *_p, Token &out, Token *list,
360 Token &decl) {
361 if (decl.num() == 0) {
362 decl.xhpLabel();
363 if (list) {
364 out = *list;
365 out.setText(list->text() + ":" + decl.text()); // avoiding vector<string>
366 } else {
367 out.setText(decl);
369 } else {
370 Token name; _p->onScalar(name, T_CONSTANT_ENCAPSED_STRING, decl);
371 _p->onArrayPair(out, list, &name, decl, 0);
372 if (list) {
373 out.setText(list->text());
374 } else {
375 out.setText("");
380 static void xhp_attribute_stmt(Parser *_p, Token &out, Token &attributes) {
381 Token modifiers;
382 Token fname; fname.setText("__xhpAttributeDeclaration");
384 Token m;
385 Token m1; m1.setNum(T_PROTECTED); _p->onMemberModifier(m, NULL, m1);
386 Token m2; m2.setNum(T_STATIC); _p->onMemberModifier(modifiers, &m, m2);
388 _p->pushFuncLocation();
389 _p->onMethodStart(fname, modifiers);
391 std::vector<std::string> classes;
392 HPHP::Util::split(':', attributes.text().c_str(), classes, true);
393 Token arrAttributes; _p->onArray(arrAttributes, attributes);
395 Token dummy;
397 Token stmts0;
399 _p->onStatementListStart(stmts0);
401 Token stmts1;
403 // static $_ = -1;
404 Token one; scalar_num(_p, one, "1");
405 Token mone; UEXP(mone, one, '-', 1);
406 Token var; var.set(T_VARIABLE, "_");
407 Token decl; _p->onStaticVariable(decl, 0, var, &mone);
408 Token sdecl; _p->onStatic(sdecl, decl);
409 _p->addStatement(stmts1, stmts0, sdecl);
411 Token stmts2;
413 // if ($_ === -1) {
414 // $_ = array_merge(parent::__xhpAttributeDeclaration(),
415 // attributes);
416 // }
417 Token parent; parent.set(T_STRING, "parent");
418 Token cls; _p->onName(cls, parent, Parser::StringName);
419 Token fname; fname.setText("__xhpAttributeDeclaration");
420 Token param1; _p->onCall(param1, 0, fname, dummy, &cls);
421 Token params1; _p->onCallParam(params1, NULL, param1, 0);
423 for (unsigned int i = 0; i < classes.size(); i++) {
424 Token parent; parent.set(T_STRING, classes[i]);
425 Token cls; _p->onName(cls, parent, Parser::StringName);
426 Token fname; fname.setText("__xhpAttributeDeclaration");
427 Token param; _p->onCall(param, 0, fname, dummy, &cls);
429 Token params; _p->onCallParam(params, &params1, param, 0);
430 params1 = params;
433 Token params2; _p->onCallParam(params2, &params1, arrAttributes, 0);
435 Token name; name.set(T_STRING, "array_merge");
436 Token call; _p->onCall(call, 0, name, params2, NULL);
437 Token tvar; tvar.set(T_VARIABLE, "_");
438 Token var; _p->onSimpleVariable(var, tvar);
439 Token assign; _p->onAssign(assign, var, call, 0);
440 Token exp; _p->onExpStatement(exp, assign);
441 Token block; _p->onBlock(block, exp);
443 Token tvar2; tvar2.set(T_VARIABLE, "_");
444 Token var2; _p->onSimpleVariable(var2, tvar2);
445 Token one; scalar_num(_p, one, "1");
446 Token mone; UEXP(mone, one, '-', 1);
447 Token cond; BEXP(cond, var2, mone, T_IS_IDENTICAL);
448 Token dummy1, dummy2;
449 Token sif; _p->onIf(sif, cond, block, dummy1, dummy2);
450 _p->addStatement(stmts2, stmts1, sif);
452 Token stmts3;
454 // return $_;
455 Token tvar; tvar.set(T_VARIABLE, "_");
456 Token var; _p->onSimpleVariable(var, tvar);
457 Token ret; _p->onReturn(ret, &var);
458 _p->addStatement(stmts3, stmts2, ret);
460 Token stmt;
462 _p->finishStatement(stmt, stmts3);
463 stmt = 1;
466 Token params, ret, ref; ref = 1;
467 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
471 static void xhp_collect_attributes(Parser *_p, Token &out, Token &stmts) {
472 Token *attr = _p->xhpGetAttributes();
473 if (attr) {
474 Token stmt;
475 xhp_attribute_stmt(_p, stmt, *attr);
476 _p->onClassStatement(out, stmts, stmt);
477 } else {
478 out = stmts;
482 static void xhp_category_stmt(Parser *_p, Token &out, Token &categories) {
483 Token fname; fname.setText("__xhpCategoryDeclaration");
484 Token m1; m1.setNum(T_PROTECTED);
485 Token modifiers; _p->onMemberModifier(modifiers, 0, m1);
486 _p->pushFuncLocation();
487 _p->onMethodStart(fname, modifiers);
489 Token stmts0;
491 _p->onStatementListStart(stmts0);
493 Token stmts1;
495 // static $_ = categories;
496 Token arr; _p->onArray(arr, categories);
497 Token var; var.set(T_VARIABLE, "_");
498 Token decl; _p->onStaticVariable(decl, 0, var, &arr);
499 Token sdecl; _p->onStatic(sdecl, decl);
500 _p->addStatement(stmts1, stmts0, sdecl);
502 Token stmts2;
504 // return $_;
505 Token tvar; tvar.set(T_VARIABLE, "_");
506 Token var; _p->onSimpleVariable(var, tvar);
507 Token ret; _p->onReturn(ret, &var);
508 _p->addStatement(stmts2, stmts1, ret);
510 Token stmt;
512 _p->finishStatement(stmt, stmts2);
513 stmt = 1;
516 Token params, ret, ref; ref = 1;
517 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
521 static void xhp_children_decl_tag(Parser *_p, Token &arr, Token &tag) {
522 Token num; scalar_num(_p, num, tag.num());
523 Token arr1; _p->onArrayPair(arr1, &arr, 0, num, 0);
525 Token name;
526 if (tag.num() == 3 || tag.num() == 4) {
527 _p->onScalar(name, T_CONSTANT_ENCAPSED_STRING, tag);
528 } else if (tag.num() >= 0) {
529 scalar_null(_p, name);
530 } else {
531 HPHP_PARSER_ERROR("XHP: unknown children declaration", _p);
533 Token arr2; _p->onArrayPair(arr2, &arr1, 0, name, 0);
534 arr = arr2;
537 static void xhp_children_decl(Parser *_p, Token &out, Token &op1, int op,
538 Token *op2) {
539 Token num; scalar_num(_p, num, op);
540 Token arr; _p->onArrayPair(arr, 0, 0, num, 0);
542 if (op2) {
543 Token arr1; _p->onArrayPair(arr1, &arr, 0, op1, 0);
544 Token arr2; _p->onArrayPair(arr2, &arr1, 0, *op2, 0);
545 _p->onArray(out, arr2);
546 } else {
547 xhp_children_decl_tag(_p, arr, op1);
548 _p->onArray(out, arr);
552 static void xhp_children_paren(Parser *_p, Token &out, Token exp, int op) {
553 Token num; scalar_num(_p, num, op);
554 Token arr1; _p->onArrayPair(arr1, 0, 0, num, 0);
556 Token num5; scalar_num(_p, num5, 5);
557 Token arr2; _p->onArrayPair(arr2, &arr1, 0, num5, 0);
559 Token arr3; _p->onArrayPair(arr3, &arr2, 0, exp, 0);
560 _p->onArray(out, arr3);
563 static void xhp_children_stmt(Parser *_p, Token &out, Token &children) {
564 Token fname; fname.setText("__xhpChildrenDeclaration");
565 Token m1; m1.setNum(T_PROTECTED);
566 Token modifiers; _p->onMemberModifier(modifiers, 0, m1);
567 _p->pushFuncLocation();
568 _p->onMethodStart(fname, modifiers);
570 Token stmts0;
572 _p->onStatementListStart(stmts0);
574 Token stmts1;
576 // static $_ = children;
577 Token arr;
578 if (children.num() == 2) {
579 arr = children;
580 } else if (children.num() >= 0) {
581 scalar_num(_p, arr, children.num());
582 } else {
583 HPHP_PARSER_ERROR("XHP: XHP unknown children declaration", _p);
585 Token var; var.set(T_VARIABLE, "_");
586 Token decl; _p->onStaticVariable(decl, 0, var, &arr);
587 Token sdecl; _p->onStatic(sdecl, decl);
588 _p->addStatement(stmts1, stmts0, sdecl);
590 Token stmts2;
592 // return $_;
593 Token tvar; tvar.set(T_VARIABLE, "_");
594 Token var; _p->onSimpleVariable(var, tvar);
595 Token ret; _p->onReturn(ret, &var);
596 _p->addStatement(stmts2, stmts1, ret);
598 Token stmt;
600 _p->finishStatement(stmt, stmts2);
601 stmt = 1;
604 Token params, ret, ref; ref = 1;
605 _p->onMethod(out, modifiers, ret, ref, fname, params, stmt, nullptr, false);
609 static void only_in_hh_syntax(Parser *_p) {
610 if (!_p->scanner().isHHSyntaxEnabled()) {
611 HPHP_PARSER_ERROR(
612 "Syntax only allowed with -v Eval.EnableHipHopSyntax=true", _p);
616 // Shapes may not have leading integers in key names, considered as a
617 // parse time error. This is because at runtime they are currently
618 // hphp arrays, which will treat leading integer keys as numbers.
619 static void validate_shape_keyname(Token& tok, Parser* _p) {
620 if (tok.text().empty()) {
621 HPHP_PARSER_ERROR("Shape key names may not be empty", _p);
623 if (isdigit(tok.text()[0])) {
624 HPHP_PARSER_ERROR("Shape key names may not start with integers", _p);
628 ///////////////////////////////////////////////////////////////////////////////
630 static int yylex(YYSTYPE *token, HPHP::Location *loc, Parser *_p) {
631 return _p->scan(token, loc);
635 /* Line 268 of yacc.c */
636 #line 637 "hphp.tab.cpp"
638 /* Enabling traces. */
639 #ifndef YYDEBUG
640 # define YYDEBUG 0
641 #endif
643 /* Enabling verbose error messages. */
644 #ifdef YYERROR_VERBOSE
645 # undef YYERROR_VERBOSE
646 # define YYERROR_VERBOSE 1
647 #else
648 # define YYERROR_VERBOSE 0
649 #endif
651 /* Enabling the token table. */
652 #ifndef YYTOKEN_TABLE
653 # define YYTOKEN_TABLE 0
654 #endif
657 /* Tokens. */
658 #ifndef YYTOKENTYPE
659 # define YYTOKENTYPE
660 /* Put the tokens into the symbol table, so that GDB and other debuggers
661 know about them. */
662 enum yytokentype {
663 T_REQUIRE_ONCE = 258,
664 T_REQUIRE = 259,
665 T_EVAL = 260,
666 T_INCLUDE_ONCE = 261,
667 T_INCLUDE = 262,
668 T_LAMBDA_ARROW = 263,
669 T_LOGICAL_OR = 264,
670 T_LOGICAL_XOR = 265,
671 T_LOGICAL_AND = 266,
672 T_PRINT = 267,
673 T_SR_EQUAL = 268,
674 T_SL_EQUAL = 269,
675 T_XOR_EQUAL = 270,
676 T_OR_EQUAL = 271,
677 T_AND_EQUAL = 272,
678 T_MOD_EQUAL = 273,
679 T_CONCAT_EQUAL = 274,
680 T_DIV_EQUAL = 275,
681 T_MUL_EQUAL = 276,
682 T_MINUS_EQUAL = 277,
683 T_PLUS_EQUAL = 278,
684 T_BOOLEAN_OR = 279,
685 T_BOOLEAN_AND = 280,
686 T_IS_NOT_IDENTICAL = 281,
687 T_IS_IDENTICAL = 282,
688 T_IS_NOT_EQUAL = 283,
689 T_IS_EQUAL = 284,
690 T_IS_GREATER_OR_EQUAL = 285,
691 T_IS_SMALLER_OR_EQUAL = 286,
692 T_SR = 287,
693 T_SL = 288,
694 T_INSTANCEOF = 289,
695 T_UNSET_CAST = 290,
696 T_BOOL_CAST = 291,
697 T_OBJECT_CAST = 292,
698 T_ARRAY_CAST = 293,
699 T_STRING_CAST = 294,
700 T_DOUBLE_CAST = 295,
701 T_INT_CAST = 296,
702 T_DEC = 297,
703 T_INC = 298,
704 T_CLONE = 299,
705 T_NEW = 300,
706 T_EXIT = 301,
707 T_IF = 302,
708 T_ELSEIF = 303,
709 T_ELSE = 304,
710 T_ENDIF = 305,
711 T_LNUMBER = 306,
712 T_DNUMBER = 307,
713 T_STRING = 308,
714 T_STRING_VARNAME = 309,
715 T_VARIABLE = 310,
716 T_NUM_STRING = 311,
717 T_INLINE_HTML = 312,
718 T_CHARACTER = 313,
719 T_BAD_CHARACTER = 314,
720 T_ENCAPSED_AND_WHITESPACE = 315,
721 T_CONSTANT_ENCAPSED_STRING = 316,
722 T_ECHO = 317,
723 T_DO = 318,
724 T_WHILE = 319,
725 T_ENDWHILE = 320,
726 T_FOR = 321,
727 T_ENDFOR = 322,
728 T_FOREACH = 323,
729 T_ENDFOREACH = 324,
730 T_DECLARE = 325,
731 T_ENDDECLARE = 326,
732 T_AS = 327,
733 T_SWITCH = 328,
734 T_ENDSWITCH = 329,
735 T_CASE = 330,
736 T_DEFAULT = 331,
737 T_BREAK = 332,
738 T_GOTO = 333,
739 T_CONTINUE = 334,
740 T_FUNCTION = 335,
741 T_CONST = 336,
742 T_RETURN = 337,
743 T_TRY = 338,
744 T_CATCH = 339,
745 T_THROW = 340,
746 T_USE = 341,
747 T_GLOBAL = 342,
748 T_PUBLIC = 343,
749 T_PROTECTED = 344,
750 T_PRIVATE = 345,
751 T_FINAL = 346,
752 T_ABSTRACT = 347,
753 T_STATIC = 348,
754 T_VAR = 349,
755 T_UNSET = 350,
756 T_ISSET = 351,
757 T_EMPTY = 352,
758 T_HALT_COMPILER = 353,
759 T_CLASS = 354,
760 T_INTERFACE = 355,
761 T_EXTENDS = 356,
762 T_IMPLEMENTS = 357,
763 T_OBJECT_OPERATOR = 358,
764 T_DOUBLE_ARROW = 359,
765 T_LIST = 360,
766 T_ARRAY = 361,
767 T_CLASS_C = 362,
768 T_METHOD_C = 363,
769 T_FUNC_C = 364,
770 T_LINE = 365,
771 T_FILE = 366,
772 T_COMMENT = 367,
773 T_DOC_COMMENT = 368,
774 T_OPEN_TAG = 369,
775 T_OPEN_TAG_WITH_ECHO = 370,
776 T_CLOSE_TAG = 371,
777 T_WHITESPACE = 372,
778 T_START_HEREDOC = 373,
779 T_END_HEREDOC = 374,
780 T_DOLLAR_OPEN_CURLY_BRACES = 375,
781 T_CURLY_OPEN = 376,
782 T_DOUBLE_COLON = 377,
783 T_NAMESPACE = 378,
784 T_NS_C = 379,
785 T_DIR = 380,
786 T_NS_SEPARATOR = 381,
787 T_YIELD = 382,
788 T_XHP_LABEL = 383,
789 T_XHP_TEXT = 384,
790 T_XHP_ATTRIBUTE = 385,
791 T_XHP_CATEGORY = 386,
792 T_XHP_CATEGORY_LABEL = 387,
793 T_XHP_CHILDREN = 388,
794 T_XHP_ENUM = 389,
795 T_XHP_REQUIRED = 390,
796 T_TRAIT = 391,
797 T_INSTEADOF = 392,
798 T_TRAIT_C = 393,
799 T_VARARG = 394,
800 T_HH_ERROR = 395,
801 T_FINALLY = 396,
802 T_XHP_TAG_LT = 397,
803 T_XHP_TAG_GT = 398,
804 T_TYPELIST_LT = 399,
805 T_TYPELIST_GT = 400,
806 T_UNRESOLVED_LT = 401,
807 T_COLLECTION = 402,
808 T_SHAPE = 403,
809 T_TYPE = 404,
810 T_UNRESOLVED_TYPE = 405,
811 T_NEWTYPE = 406,
812 T_UNRESOLVED_NEWTYPE = 407,
813 T_COMPILER_HALT_OFFSET = 408,
814 T_AWAIT = 409,
815 T_ASYNC = 410,
816 T_TUPLE = 411,
817 T_FROM = 412,
818 T_WHERE = 413,
819 T_JOIN = 414,
820 T_IN = 415,
821 T_ON = 416,
822 T_EQUALS = 417,
823 T_INTO = 418,
824 T_LET = 419,
825 T_ORDERBY = 420,
826 T_ASCENDING = 421,
827 T_DESCENDING = 422,
828 T_SELECT = 423,
829 T_GROUP = 424,
830 T_BY = 425,
831 T_LAMBDA_OP = 426,
832 T_LAMBDA_CP = 427,
833 T_UNRESOLVED_OP = 428
835 #endif
839 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
840 typedef int YYSTYPE;
841 # define YYSTYPE_IS_TRIVIAL 1
842 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
843 # define YYSTYPE_IS_DECLARED 1
844 #endif
846 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
847 typedef struct YYLTYPE
849 int line0;
850 int char0;
851 int line1;
852 int char1;
853 } YYLTYPE;
854 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
855 # define YYLTYPE_IS_DECLARED 1
856 # define YYLTYPE_IS_TRIVIAL 1
857 #endif
860 /* Copy the second part of user declarations. */
863 /* Line 343 of yacc.c */
864 #line 865 "hphp.tab.cpp"
866 #ifdef short
867 # undef short
868 #endif
870 #ifdef YYTYPE_UINT8
871 typedef YYTYPE_UINT8 yytype_uint8;
872 #else
873 typedef unsigned char yytype_uint8;
874 #endif
876 #ifdef YYTYPE_INT8
877 typedef YYTYPE_INT8 yytype_int8;
878 #elif (defined __STDC__ || defined __C99__FUNC__ \
879 || defined __cplusplus || defined _MSC_VER)
880 typedef signed char yytype_int8;
881 #else
882 typedef short int yytype_int8;
883 #endif
885 #ifdef YYTYPE_UINT16
886 typedef YYTYPE_UINT16 yytype_uint16;
887 #else
888 typedef unsigned short int yytype_uint16;
889 #endif
891 #ifdef YYTYPE_INT16
892 typedef YYTYPE_INT16 yytype_int16;
893 #else
894 typedef short int yytype_int16;
895 #endif
897 #ifndef YYSIZE_T
898 # ifdef __SIZE_TYPE__
899 # define YYSIZE_T __SIZE_TYPE__
900 # elif defined size_t
901 # define YYSIZE_T size_t
902 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
903 || defined __cplusplus || defined _MSC_VER)
904 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
905 # define YYSIZE_T size_t
906 # else
907 # define YYSIZE_T unsigned int
908 # endif
909 #endif
911 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
913 #ifndef YY_
914 # if defined YYENABLE_NLS && YYENABLE_NLS
915 # if ENABLE_NLS
916 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
917 # define YY_(msgid) dgettext ("bison-runtime", msgid)
918 # endif
919 # endif
920 # ifndef YY_
921 # define YY_(msgid) msgid
922 # endif
923 #endif
925 /* Suppress unused-variable warnings by "using" E. */
926 #if ! defined lint || defined __GNUC__
927 # define YYUSE(e) ((void) (e))
928 #else
929 # define YYUSE(e) /* empty */
930 #endif
932 /* Identity function, used to suppress warnings about constant conditions. */
933 #ifndef lint
934 # define YYID(n) (n)
935 #else
936 #if (defined __STDC__ || defined __C99__FUNC__ \
937 || defined __cplusplus || defined _MSC_VER)
938 static int
939 YYID (int yyi)
940 #else
941 static int
942 YYID (yyi)
943 int yyi;
944 #endif
946 return yyi;
948 #endif
950 #if ! defined yyoverflow || YYERROR_VERBOSE
952 /* The parser invokes alloca or malloc; define the necessary symbols. */
954 # ifdef YYSTACK_USE_ALLOCA
955 # if YYSTACK_USE_ALLOCA
956 # ifdef __GNUC__
957 # define YYSTACK_ALLOC __builtin_alloca
958 # elif defined __BUILTIN_VA_ARG_INCR
959 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
960 # elif defined _AIX
961 # define YYSTACK_ALLOC __alloca
962 # elif defined _MSC_VER
963 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
964 # define alloca _alloca
965 # else
966 # define YYSTACK_ALLOC alloca
967 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
968 || defined __cplusplus || defined _MSC_VER)
969 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
970 # ifndef EXIT_SUCCESS
971 # define EXIT_SUCCESS 0
972 # endif
973 # endif
974 # endif
975 # endif
976 # endif
978 # ifdef YYSTACK_ALLOC
979 /* Pacify GCC's `empty if-body' warning. */
980 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
981 # ifndef YYSTACK_ALLOC_MAXIMUM
982 /* The OS might guarantee only one guard page at the bottom of the stack,
983 and a page size can be as small as 4096 bytes. So we cannot safely
984 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
985 to allow for a few compiler-allocated temporary stack slots. */
986 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
987 # endif
988 # else
989 # define YYSTACK_ALLOC YYMALLOC
990 # define YYSTACK_FREE YYFREE
991 # ifndef YYSTACK_ALLOC_MAXIMUM
992 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
993 # endif
994 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
995 && ! ((defined YYMALLOC || defined malloc) \
996 && (defined YYFREE || defined free)))
997 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
998 # ifndef EXIT_SUCCESS
999 # define EXIT_SUCCESS 0
1000 # endif
1001 # endif
1002 # ifndef YYMALLOC
1003 # define YYMALLOC malloc
1004 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1005 || defined __cplusplus || defined _MSC_VER)
1006 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1007 # endif
1008 # endif
1009 # ifndef YYFREE
1010 # define YYFREE free
1011 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1012 || defined __cplusplus || defined _MSC_VER)
1013 void free (void *); /* INFRINGES ON USER NAME SPACE */
1014 # endif
1015 # endif
1016 # endif
1017 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1020 #if (! defined yyoverflow \
1021 && (! defined __cplusplus \
1022 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1023 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1025 /* A type that is properly aligned for any stack member. */
1026 struct yyalloc
1028 yytype_int16 yyss_alloc;
1029 YYSTYPE yyvs_alloc;
1030 YYLTYPE yyls_alloc;
1033 /* The size of the maximum gap between one aligned stack and the next. */
1034 # define YYSTACK_GAP_MAXIMUM (sizeof (struct yyalloc) - 1)
1036 /* The size of an array large to enough to hold all stacks, each with
1037 N elements. */
1038 # define YYSTACK_BYTES(N) \
1039 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1040 + 2 * YYSTACK_GAP_MAXIMUM)
1042 # define YYCOPY_NEEDED 1
1044 /* Relocate STACK from its old location to the new one. The
1045 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1046 elements in the stack, and YYPTR gives the new location of the
1047 stack. Advance YYPTR to a properly aligned location for the next
1048 stack. */
1049 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1050 do \
1052 YYSIZE_T yynewbytes; \
1053 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1054 Stack = &yyptr->Stack_alloc; \
1055 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1056 yyptr += yynewbytes / sizeof (*yyptr); \
1058 while (YYID (0))
1060 #endif
1062 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1063 /* Copy COUNT objects from FROM to TO. The source and destination do
1064 not overlap. */
1065 # ifndef YYCOPY
1066 # if defined __GNUC__ && 1 < __GNUC__
1067 # define YYCOPY(To, From, Count) \
1068 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1069 # else
1070 # define YYCOPY(To, From, Count) \
1071 do \
1073 YYSIZE_T yyi; \
1074 for (yyi = 0; yyi < (Count); yyi++) \
1075 (To)[yyi] = (From)[yyi]; \
1077 while (YYID (0))
1078 # endif
1079 # endif
1080 #endif /* !YYCOPY_NEEDED */
1082 /* YYFINAL -- State number of the termination state. */
1083 #define YYFINAL 3
1084 /* YYLAST -- Last index in YYTABLE. */
1085 #define YYLAST 14553
1087 /* YYNTOKENS -- Number of terminals. */
1088 #define YYNTOKENS 203
1089 /* YYNNTS -- Number of nonterminals. */
1090 #define YYNNTS 246
1091 /* YYNRULES -- Number of rules. */
1092 #define YYNRULES 817
1093 /* YYNRULES -- Number of states. */
1094 #define YYNSTATES 1527
1096 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1097 #define YYUNDEFTOK 2
1098 #define YYMAXUTOK 428
1100 #define YYTRANSLATE(YYX) \
1101 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1103 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1104 static const yytype_uint8 yytranslate[] =
1106 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1107 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1108 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1109 2, 2, 2, 49, 201, 2, 198, 48, 32, 202,
1110 193, 194, 46, 43, 9, 44, 45, 47, 2, 2,
1111 2, 2, 2, 2, 2, 2, 2, 2, 27, 195,
1112 37, 14, 38, 26, 52, 2, 2, 2, 2, 2,
1113 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1115 2, 62, 2, 200, 31, 2, 199, 2, 2, 2,
1116 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1117 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1118 2, 2, 2, 196, 30, 197, 51, 2, 2, 2,
1119 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1121 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1122 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1123 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1126 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1128 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1129 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1130 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1131 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1132 5, 6, 7, 8, 10, 11, 12, 13, 15, 16,
1133 17, 18, 19, 20, 21, 22, 23, 24, 25, 28,
1134 29, 33, 34, 35, 36, 39, 40, 41, 42, 50,
1135 53, 54, 55, 56, 57, 58, 59, 60, 61, 63,
1136 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1137 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1138 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1139 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1140 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1141 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1142 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1143 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1144 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1145 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1146 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1147 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1148 184, 185, 186, 187, 188, 189, 190, 191, 192
1151 #if YYDEBUG
1152 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1153 YYRHS. */
1154 static const yytype_uint16 yyprhs[] =
1156 0, 0, 3, 4, 7, 10, 11, 13, 15, 17,
1157 19, 21, 26, 30, 31, 38, 39, 45, 49, 52,
1158 54, 56, 58, 60, 62, 64, 66, 68, 70, 72,
1159 74, 76, 78, 80, 82, 84, 86, 88, 90, 92,
1160 96, 98, 100, 103, 107, 112, 114, 118, 120, 124,
1161 127, 129, 132, 135, 141, 146, 149, 150, 152, 154,
1162 156, 158, 162, 168, 177, 178, 183, 184, 191, 192,
1163 203, 204, 209, 212, 216, 219, 223, 226, 230, 234,
1164 238, 242, 246, 252, 254, 256, 257, 267, 273, 274,
1165 288, 289, 295, 299, 303, 306, 309, 312, 315, 318,
1166 321, 325, 328, 331, 335, 338, 339, 344, 354, 355,
1167 356, 361, 364, 365, 367, 368, 370, 371, 381, 382,
1168 393, 394, 406, 407, 416, 417, 427, 428, 436, 437,
1169 446, 447, 455, 456, 465, 467, 469, 471, 473, 475,
1170 478, 481, 484, 485, 488, 489, 492, 493, 495, 499,
1171 501, 505, 508, 509, 511, 514, 519, 521, 526, 528,
1172 533, 535, 540, 542, 547, 551, 557, 561, 566, 571,
1173 577, 583, 588, 589, 591, 593, 598, 599, 605, 606,
1174 609, 610, 614, 615, 619, 622, 624, 625, 630, 636,
1175 644, 651, 658, 666, 676, 685, 689, 692, 694, 695,
1176 699, 704, 711, 717, 723, 730, 739, 747, 750, 751,
1177 753, 756, 760, 765, 769, 771, 773, 776, 781, 785,
1178 791, 793, 797, 800, 801, 802, 807, 808, 814, 817,
1179 818, 829, 830, 842, 846, 850, 854, 859, 864, 868,
1180 874, 877, 880, 881, 888, 894, 899, 903, 905, 907,
1181 911, 916, 918, 920, 922, 924, 929, 931, 935, 938,
1182 939, 942, 943, 945, 949, 951, 953, 955, 957, 961,
1183 966, 971, 976, 978, 980, 983, 986, 989, 993, 997,
1184 999, 1001, 1003, 1005, 1009, 1011, 1015, 1017, 1019, 1021,
1185 1022, 1024, 1027, 1029, 1031, 1033, 1035, 1037, 1039, 1041,
1186 1043, 1044, 1046, 1048, 1050, 1054, 1060, 1062, 1066, 1072,
1187 1077, 1081, 1085, 1088, 1090, 1092, 1096, 1100, 1102, 1104,
1188 1105, 1108, 1113, 1117, 1124, 1127, 1131, 1138, 1140, 1142,
1189 1144, 1151, 1155, 1160, 1167, 1171, 1175, 1179, 1183, 1187,
1190 1191, 1195, 1199, 1203, 1207, 1211, 1214, 1217, 1220, 1223,
1191 1227, 1231, 1235, 1239, 1243, 1247, 1251, 1255, 1259, 1263,
1192 1267, 1271, 1275, 1279, 1283, 1287, 1290, 1293, 1296, 1299,
1193 1303, 1307, 1311, 1315, 1319, 1323, 1327, 1331, 1335, 1339,
1194 1345, 1350, 1352, 1355, 1358, 1361, 1364, 1367, 1370, 1373,
1195 1376, 1379, 1381, 1383, 1385, 1389, 1392, 1394, 1396, 1398,
1196 1404, 1405, 1406, 1418, 1419, 1432, 1433, 1437, 1438, 1445,
1197 1448, 1453, 1455, 1461, 1465, 1471, 1475, 1478, 1479, 1482,
1198 1483, 1488, 1493, 1497, 1502, 1507, 1512, 1517, 1519, 1521,
1199 1525, 1528, 1532, 1537, 1540, 1544, 1546, 1549, 1551, 1554,
1200 1556, 1558, 1560, 1562, 1564, 1566, 1571, 1576, 1579, 1588,
1201 1599, 1602, 1604, 1608, 1610, 1613, 1615, 1617, 1619, 1621,
1202 1624, 1629, 1633, 1637, 1642, 1644, 1647, 1652, 1655, 1662,
1203 1663, 1665, 1670, 1671, 1674, 1675, 1677, 1679, 1683, 1685,
1204 1689, 1691, 1693, 1697, 1701, 1703, 1705, 1707, 1709, 1711,
1205 1713, 1715, 1717, 1719, 1721, 1723, 1725, 1727, 1729, 1731,
1206 1733, 1735, 1737, 1739, 1741, 1743, 1745, 1747, 1749, 1751,
1207 1753, 1755, 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771,
1208 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, 1789, 1791,
1209 1793, 1795, 1797, 1799, 1801, 1803, 1805, 1807, 1809, 1811,
1210 1813, 1815, 1817, 1819, 1821, 1823, 1825, 1827, 1829, 1831,
1211 1833, 1835, 1837, 1839, 1841, 1843, 1845, 1847, 1849, 1851,
1212 1853, 1855, 1857, 1859, 1861, 1866, 1868, 1870, 1872, 1874,
1213 1876, 1878, 1880, 1882, 1885, 1887, 1888, 1889, 1891, 1893,
1214 1897, 1898, 1900, 1902, 1904, 1906, 1908, 1910, 1912, 1914,
1215 1916, 1918, 1920, 1922, 1926, 1929, 1931, 1933, 1936, 1939,
1216 1944, 1949, 1953, 1958, 1960, 1962, 1966, 1970, 1972, 1974,
1217 1976, 1978, 1982, 1986, 1990, 1993, 1994, 1996, 1997, 1999,
1218 2000, 2006, 2010, 2014, 2016, 2018, 2020, 2022, 2026, 2029,
1219 2031, 2033, 2035, 2037, 2039, 2042, 2045, 2050, 2055, 2059,
1220 2064, 2067, 2068, 2074, 2078, 2082, 2084, 2088, 2090, 2093,
1221 2094, 2100, 2104, 2107, 2108, 2112, 2113, 2118, 2121, 2122,
1222 2126, 2130, 2132, 2133, 2135, 2138, 2141, 2146, 2150, 2154,
1223 2157, 2162, 2165, 2170, 2172, 2174, 2176, 2178, 2180, 2183,
1224 2188, 2192, 2197, 2201, 2203, 2205, 2207, 2209, 2212, 2217,
1225 2222, 2226, 2228, 2230, 2234, 2242, 2249, 2258, 2268, 2277,
1226 2288, 2296, 2303, 2312, 2314, 2317, 2322, 2327, 2329, 2331,
1227 2336, 2338, 2339, 2341, 2344, 2346, 2348, 2351, 2356, 2360,
1228 2364, 2365, 2367, 2370, 2375, 2379, 2382, 2386, 2393, 2394,
1229 2396, 2401, 2404, 2405, 2411, 2415, 2419, 2421, 2428, 2433,
1230 2438, 2441, 2444, 2445, 2451, 2455, 2459, 2461, 2464, 2465,
1231 2471, 2475, 2479, 2481, 2484, 2487, 2489, 2492, 2494, 2499,
1232 2503, 2507, 2514, 2518, 2520, 2522, 2524, 2529, 2534, 2539,
1233 2544, 2547, 2550, 2555, 2558, 2561, 2563, 2567, 2571, 2572,
1234 2575, 2581, 2588, 2590, 2593, 2595, 2600, 2604, 2605, 2607,
1235 2611, 2615, 2617, 2619, 2620, 2621, 2624, 2628, 2630, 2636,
1236 2640, 2644, 2648, 2650, 2653, 2654, 2659, 2662, 2665, 2667,
1237 2669, 2671, 2676, 2683, 2685, 2694, 2700, 2702
1240 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1241 static const yytype_int16 yyrhs[] =
1243 204, 0, -1, -1, 205, 206, -1, 206, 207, -1,
1244 -1, 221, -1, 237, -1, 241, -1, 246, -1, 435,
1245 -1, 117, 193, 194, 195, -1, 142, 213, 195, -1,
1246 -1, 142, 213, 196, 208, 206, 197, -1, -1, 142,
1247 196, 209, 206, 197, -1, 105, 211, 195, -1, 218,
1248 195, -1, 72, -1, 149, -1, 150, -1, 152, -1,
1249 154, -1, 153, -1, 175, -1, 177, -1, 178, -1,
1250 180, -1, 179, -1, 181, -1, 182, -1, 183, -1,
1251 184, -1, 185, -1, 186, -1, 187, -1, 188, -1,
1252 189, -1, 211, 9, 212, -1, 212, -1, 213, -1,
1253 145, 213, -1, 213, 91, 210, -1, 145, 213, 91,
1254 210, -1, 210, -1, 213, 145, 210, -1, 213, -1,
1255 142, 145, 213, -1, 145, 213, -1, 214, -1, 214,
1256 438, -1, 214, 438, -1, 218, 9, 436, 14, 382,
1257 -1, 100, 436, 14, 382, -1, 219, 220, -1, -1,
1258 221, -1, 237, -1, 241, -1, 246, -1, 196, 219,
1259 197, -1, 66, 314, 221, 268, 270, -1, 66, 314,
1260 27, 219, 269, 271, 69, 195, -1, -1, 83, 314,
1261 222, 262, -1, -1, 82, 223, 221, 83, 314, 195,
1262 -1, -1, 85, 193, 316, 195, 316, 195, 316, 194,
1263 224, 260, -1, -1, 92, 314, 225, 265, -1, 96,
1264 195, -1, 96, 323, 195, -1, 98, 195, -1, 98,
1265 323, 195, -1, 101, 195, -1, 101, 323, 195, -1,
1266 146, 96, 195, -1, 106, 278, 195, -1, 112, 280,
1267 195, -1, 81, 315, 195, -1, 114, 193, 432, 194,
1268 195, -1, 195, -1, 76, -1, -1, 87, 193, 323,
1269 91, 259, 258, 194, 226, 261, -1, 89, 193, 264,
1270 194, 263, -1, -1, 102, 229, 103, 193, 375, 74,
1271 194, 196, 219, 197, 231, 227, 234, -1, -1, 102,
1272 229, 160, 228, 232, -1, 104, 323, 195, -1, 97,
1273 210, 195, -1, 323, 195, -1, 317, 195, -1, 318,
1274 195, -1, 319, 195, -1, 320, 195, -1, 321, 195,
1275 -1, 101, 320, 195, -1, 322, 195, -1, 345, 195,
1276 -1, 101, 344, 195, -1, 210, 27, -1, -1, 196,
1277 230, 219, 197, -1, 231, 103, 193, 375, 74, 194,
1278 196, 219, 197, -1, -1, -1, 196, 233, 219, 197,
1279 -1, 160, 232, -1, -1, 32, -1, -1, 99, -1,
1280 -1, 236, 235, 437, 238, 193, 274, 194, 441, 303,
1281 -1, -1, 307, 236, 235, 437, 239, 193, 274, 194,
1282 441, 303, -1, -1, 402, 306, 236, 235, 437, 240,
1283 193, 274, 194, 441, 303, -1, -1, 252, 249, 242,
1284 253, 254, 196, 281, 197, -1, -1, 402, 252, 249,
1285 243, 253, 254, 196, 281, 197, -1, -1, 119, 250,
1286 244, 255, 196, 281, 197, -1, -1, 402, 119, 250,
1287 245, 255, 196, 281, 197, -1, -1, 155, 251, 247,
1288 254, 196, 281, 197, -1, -1, 402, 155, 251, 248,
1289 254, 196, 281, 197, -1, 437, -1, 147, -1, 437,
1290 -1, 437, -1, 118, -1, 111, 118, -1, 110, 118,
1291 -1, 120, 375, -1, -1, 121, 256, -1, -1, 120,
1292 256, -1, -1, 375, -1, 256, 9, 375, -1, 375,
1293 -1, 257, 9, 375, -1, 123, 259, -1, -1, 409,
1294 -1, 32, 409, -1, 124, 193, 421, 194, -1, 221,
1295 -1, 27, 219, 86, 195, -1, 221, -1, 27, 219,
1296 88, 195, -1, 221, -1, 27, 219, 84, 195, -1,
1297 221, -1, 27, 219, 90, 195, -1, 210, 14, 382,
1298 -1, 264, 9, 210, 14, 382, -1, 196, 266, 197,
1299 -1, 196, 195, 266, 197, -1, 27, 266, 93, 195,
1300 -1, 27, 195, 266, 93, 195, -1, 266, 94, 323,
1301 267, 219, -1, 266, 95, 267, 219, -1, -1, 27,
1302 -1, 195, -1, 268, 67, 314, 221, -1, -1, 269,
1303 67, 314, 27, 219, -1, -1, 68, 221, -1, -1,
1304 68, 27, 219, -1, -1, 273, 9, 158, -1, 273,
1305 387, -1, 158, -1, -1, 403, 309, 448, 74, -1,
1306 403, 309, 448, 32, 74, -1, 403, 309, 448, 32,
1307 74, 14, 382, -1, 403, 309, 448, 74, 14, 382,
1308 -1, 273, 9, 403, 309, 448, 74, -1, 273, 9,
1309 403, 309, 448, 32, 74, -1, 273, 9, 403, 309,
1310 448, 32, 74, 14, 382, -1, 273, 9, 403, 309,
1311 448, 74, 14, 382, -1, 275, 9, 158, -1, 275,
1312 387, -1, 158, -1, -1, 403, 448, 74, -1, 403,
1313 448, 32, 74, -1, 403, 448, 32, 74, 14, 382,
1314 -1, 403, 448, 74, 14, 382, -1, 275, 9, 403,
1315 448, 74, -1, 275, 9, 403, 448, 32, 74, -1,
1316 275, 9, 403, 448, 32, 74, 14, 382, -1, 275,
1317 9, 403, 448, 74, 14, 382, -1, 277, 387, -1,
1318 -1, 323, -1, 32, 409, -1, 277, 9, 323, -1,
1319 277, 9, 32, 409, -1, 278, 9, 279, -1, 279,
1320 -1, 74, -1, 198, 409, -1, 198, 196, 323, 197,
1321 -1, 280, 9, 74, -1, 280, 9, 74, 14, 382,
1322 -1, 74, -1, 74, 14, 382, -1, 281, 282, -1,
1323 -1, -1, 305, 283, 311, 195, -1, -1, 307, 447,
1324 284, 311, 195, -1, 312, 195, -1, -1, 306, 236,
1325 235, 437, 193, 285, 272, 194, 441, 304, -1, -1,
1326 402, 306, 236, 235, 437, 193, 286, 272, 194, 441,
1327 304, -1, 149, 291, 195, -1, 150, 297, 195, -1,
1328 152, 299, 195, -1, 4, 120, 375, 195, -1, 4,
1329 121, 375, 195, -1, 105, 257, 195, -1, 105, 257,
1330 196, 287, 197, -1, 287, 288, -1, 287, 289, -1,
1331 -1, 217, 141, 210, 156, 257, 195, -1, 290, 91,
1332 306, 210, 195, -1, 290, 91, 307, 195, -1, 217,
1333 141, 210, -1, 210, -1, 292, -1, 291, 9, 292,
1334 -1, 293, 372, 295, 296, -1, 147, -1, 125, -1,
1335 375, -1, 113, -1, 153, 196, 294, 197, -1, 381,
1336 -1, 294, 9, 381, -1, 14, 382, -1, -1, 52,
1337 154, -1, -1, 298, -1, 297, 9, 298, -1, 151,
1338 -1, 300, -1, 210, -1, 116, -1, 193, 301, 194,
1339 -1, 193, 301, 194, 46, -1, 193, 301, 194, 26,
1340 -1, 193, 301, 194, 43, -1, 300, -1, 302, -1,
1341 302, 46, -1, 302, 26, -1, 302, 43, -1, 301,
1342 9, 301, -1, 301, 30, 301, -1, 210, -1, 147,
1343 -1, 151, -1, 195, -1, 196, 219, 197, -1, 195,
1344 -1, 196, 219, 197, -1, 307, -1, 113, -1, 307,
1345 -1, -1, 308, -1, 307, 308, -1, 107, -1, 108,
1346 -1, 109, -1, 112, -1, 111, -1, 110, -1, 174,
1347 -1, 310, -1, -1, 107, -1, 108, -1, 109, -1,
1348 311, 9, 74, -1, 311, 9, 74, 14, 382, -1,
1349 74, -1, 74, 14, 382, -1, 312, 9, 436, 14,
1350 382, -1, 100, 436, 14, 382, -1, 193, 313, 194,
1351 -1, 64, 377, 380, -1, 63, 323, -1, 364, -1,
1352 340, -1, 193, 323, 194, -1, 315, 9, 323, -1,
1353 323, -1, 315, -1, -1, 146, 323, -1, 146, 323,
1354 123, 323, -1, 409, 14, 317, -1, 124, 193, 421,
1355 194, 14, 317, -1, 173, 323, -1, 409, 14, 320,
1356 -1, 124, 193, 421, 194, 14, 320, -1, 324, -1,
1357 409, -1, 313, -1, 124, 193, 421, 194, 14, 323,
1358 -1, 409, 14, 323, -1, 409, 14, 32, 409, -1,
1359 409, 14, 32, 64, 377, 380, -1, 409, 25, 323,
1360 -1, 409, 24, 323, -1, 409, 23, 323, -1, 409,
1361 22, 323, -1, 409, 21, 323, -1, 409, 20, 323,
1362 -1, 409, 19, 323, -1, 409, 18, 323, -1, 409,
1363 17, 323, -1, 409, 16, 323, -1, 409, 15, 323,
1364 -1, 409, 61, -1, 61, 409, -1, 409, 60, -1,
1365 60, 409, -1, 323, 28, 323, -1, 323, 29, 323,
1366 -1, 323, 10, 323, -1, 323, 12, 323, -1, 323,
1367 11, 323, -1, 323, 30, 323, -1, 323, 32, 323,
1368 -1, 323, 31, 323, -1, 323, 45, 323, -1, 323,
1369 43, 323, -1, 323, 44, 323, -1, 323, 46, 323,
1370 -1, 323, 47, 323, -1, 323, 48, 323, -1, 323,
1371 42, 323, -1, 323, 41, 323, -1, 43, 323, -1,
1372 44, 323, -1, 49, 323, -1, 51, 323, -1, 323,
1373 34, 323, -1, 323, 33, 323, -1, 323, 36, 323,
1374 -1, 323, 35, 323, -1, 323, 37, 323, -1, 323,
1375 40, 323, -1, 323, 38, 323, -1, 323, 39, 323,
1376 -1, 323, 50, 377, -1, 193, 324, 194, -1, 323,
1377 26, 323, 27, 323, -1, 323, 26, 27, 323, -1,
1378 431, -1, 59, 323, -1, 58, 323, -1, 57, 323,
1379 -1, 56, 323, -1, 55, 323, -1, 54, 323, -1,
1380 53, 323, -1, 65, 378, -1, 52, 323, -1, 384,
1381 -1, 339, -1, 338, -1, 199, 379, 199, -1, 13,
1382 323, -1, 326, -1, 329, -1, 342, -1, 105, 193,
1383 363, 387, 194, -1, -1, -1, 236, 235, 193, 327,
1384 274, 194, 441, 325, 196, 219, 197, -1, -1, 307,
1385 236, 235, 193, 328, 274, 194, 441, 325, 196, 219,
1386 197, -1, -1, 74, 330, 332, -1, -1, 190, 331,
1387 274, 191, 441, 332, -1, 8, 323, -1, 8, 196,
1388 219, 197, -1, 80, -1, 334, 9, 333, 123, 323,
1389 -1, 333, 123, 323, -1, 335, 9, 333, 123, 382,
1390 -1, 333, 123, 382, -1, 334, 386, -1, -1, 335,
1391 386, -1, -1, 167, 193, 336, 194, -1, 125, 193,
1392 422, 194, -1, 62, 422, 200, -1, 375, 196, 424,
1393 197, -1, 375, 196, 426, 197, -1, 342, 62, 417,
1394 200, -1, 343, 62, 417, 200, -1, 339, -1, 433,
1395 -1, 193, 324, 194, -1, 346, 347, -1, 409, 14,
1396 344, -1, 176, 74, 179, 323, -1, 348, 359, -1,
1397 348, 359, 362, -1, 359, -1, 359, 362, -1, 349,
1398 -1, 348, 349, -1, 350, -1, 351, -1, 352, -1,
1399 353, -1, 354, -1, 355, -1, 176, 74, 179, 323,
1400 -1, 183, 74, 14, 323, -1, 177, 323, -1, 178,
1401 74, 179, 323, 180, 323, 181, 323, -1, 178, 74,
1402 179, 323, 180, 323, 181, 323, 182, 74, -1, 184,
1403 356, -1, 357, -1, 356, 9, 357, -1, 323, -1,
1404 323, 358, -1, 185, -1, 186, -1, 360, -1, 361,
1405 -1, 187, 323, -1, 188, 323, 189, 323, -1, 182,
1406 74, 347, -1, 363, 9, 74, -1, 363, 9, 32,
1407 74, -1, 74, -1, 32, 74, -1, 161, 147, 365,
1408 162, -1, 367, 47, -1, 367, 162, 368, 161, 47,
1409 366, -1, -1, 147, -1, 367, 369, 14, 370, -1,
1410 -1, 368, 371, -1, -1, 147, -1, 148, -1, 196,
1411 323, 197, -1, 148, -1, 196, 323, 197, -1, 364,
1412 -1, 373, -1, 372, 27, 373, -1, 372, 44, 373,
1413 -1, 210, -1, 65, -1, 99, -1, 100, -1, 101,
1414 -1, 146, -1, 173, -1, 102, -1, 103, -1, 160,
1415 -1, 104, -1, 66, -1, 67, -1, 69, -1, 68,
1416 -1, 83, -1, 84, -1, 82, -1, 85, -1, 86,
1417 -1, 87, -1, 88, -1, 89, -1, 90, -1, 50,
1418 -1, 91, -1, 92, -1, 93, -1, 94, -1, 95,
1419 -1, 96, -1, 98, -1, 97, -1, 81, -1, 13,
1420 -1, 118, -1, 119, -1, 120, -1, 121, -1, 64,
1421 -1, 63, -1, 113, -1, 5, -1, 7, -1, 6,
1422 -1, 4, -1, 3, -1, 142, -1, 105, -1, 106,
1423 -1, 115, -1, 116, -1, 117, -1, 112, -1, 111,
1424 -1, 110, -1, 109, -1, 108, -1, 107, -1, 174,
1425 -1, 114, -1, 124, -1, 125, -1, 10, -1, 12,
1426 -1, 11, -1, 126, -1, 128, -1, 127, -1, 129,
1427 -1, 130, -1, 144, -1, 143, -1, 172, -1, 155,
1428 -1, 157, -1, 156, -1, 168, -1, 170, -1, 167,
1429 -1, 216, 193, 276, 194, -1, 217, -1, 147, -1,
1430 375, -1, 112, -1, 415, -1, 375, -1, 112, -1,
1431 419, -1, 193, 194, -1, 314, -1, -1, -1, 79,
1432 -1, 428, -1, 193, 276, 194, -1, -1, 70, -1,
1433 71, -1, 80, -1, 129, -1, 130, -1, 144, -1,
1434 126, -1, 157, -1, 127, -1, 128, -1, 143, -1,
1435 172, -1, 137, 79, 138, -1, 137, 138, -1, 381,
1436 -1, 215, -1, 43, 382, -1, 44, 382, -1, 125,
1437 193, 385, 194, -1, 175, 193, 385, 194, -1, 62,
1438 385, 200, -1, 167, 193, 337, 194, -1, 383, -1,
1439 341, -1, 217, 141, 210, -1, 147, 141, 210, -1,
1440 215, -1, 73, -1, 433, -1, 381, -1, 201, 428,
1441 201, -1, 202, 428, 202, -1, 137, 428, 138, -1,
1442 388, 386, -1, -1, 9, -1, -1, 9, -1, -1,
1443 388, 9, 382, 123, 382, -1, 388, 9, 382, -1,
1444 382, 123, 382, -1, 382, -1, 70, -1, 71, -1,
1445 80, -1, 137, 79, 138, -1, 137, 138, -1, 70,
1446 -1, 71, -1, 210, -1, 389, -1, 210, -1, 43,
1447 390, -1, 44, 390, -1, 125, 193, 392, 194, -1,
1448 175, 193, 392, 194, -1, 62, 392, 200, -1, 167,
1449 193, 395, 194, -1, 393, 386, -1, -1, 393, 9,
1450 391, 123, 391, -1, 393, 9, 391, -1, 391, 123,
1451 391, -1, 391, -1, 394, 9, 391, -1, 391, -1,
1452 396, 386, -1, -1, 396, 9, 333, 123, 391, -1,
1453 333, 123, 391, -1, 394, 386, -1, -1, 193, 397,
1454 194, -1, -1, 399, 9, 210, 398, -1, 210, 398,
1455 -1, -1, 401, 399, 386, -1, 42, 400, 41, -1,
1456 402, -1, -1, 405, -1, 122, 414, -1, 122, 210,
1457 -1, 122, 196, 323, 197, -1, 62, 417, 200, -1,
1458 196, 323, 197, -1, 410, 406, -1, 193, 313, 194,
1459 406, -1, 420, 406, -1, 193, 313, 194, 406, -1,
1460 414, -1, 374, -1, 412, -1, 413, -1, 407, -1,
1461 409, 404, -1, 193, 313, 194, 404, -1, 376, 141,
1462 414, -1, 411, 193, 276, 194, -1, 193, 409, 194,
1463 -1, 374, -1, 412, -1, 413, -1, 407, -1, 409,
1464 405, -1, 193, 313, 194, 405, -1, 411, 193, 276,
1465 194, -1, 193, 409, 194, -1, 414, -1, 407, -1,
1466 193, 409, 194, -1, 409, 122, 210, 438, 193, 276,
1467 194, -1, 409, 122, 414, 193, 276, 194, -1, 409,
1468 122, 196, 323, 197, 193, 276, 194, -1, 193, 313,
1469 194, 122, 210, 438, 193, 276, 194, -1, 193, 313,
1470 194, 122, 414, 193, 276, 194, -1, 193, 313, 194,
1471 122, 196, 323, 197, 193, 276, 194, -1, 376, 141,
1472 210, 438, 193, 276, 194, -1, 376, 141, 414, 193,
1473 276, 194, -1, 376, 141, 196, 323, 197, 193, 276,
1474 194, -1, 415, -1, 418, 415, -1, 415, 62, 417,
1475 200, -1, 415, 196, 323, 197, -1, 416, -1, 74,
1476 -1, 198, 196, 323, 197, -1, 323, -1, -1, 198,
1477 -1, 418, 198, -1, 414, -1, 408, -1, 419, 404,
1478 -1, 193, 313, 194, 404, -1, 376, 141, 414, -1,
1479 193, 409, 194, -1, -1, 408, -1, 419, 405, -1,
1480 193, 313, 194, 405, -1, 193, 409, 194, -1, 421,
1481 9, -1, 421, 9, 409, -1, 421, 9, 124, 193,
1482 421, 194, -1, -1, 409, -1, 124, 193, 421, 194,
1483 -1, 423, 386, -1, -1, 423, 9, 323, 123, 323,
1484 -1, 423, 9, 323, -1, 323, 123, 323, -1, 323,
1485 -1, 423, 9, 323, 123, 32, 409, -1, 423, 9,
1486 32, 409, -1, 323, 123, 32, 409, -1, 32, 409,
1487 -1, 425, 386, -1, -1, 425, 9, 323, 123, 323,
1488 -1, 425, 9, 323, -1, 323, 123, 323, -1, 323,
1489 -1, 427, 386, -1, -1, 427, 9, 382, 123, 382,
1490 -1, 427, 9, 382, -1, 382, 123, 382, -1, 382,
1491 -1, 428, 429, -1, 428, 79, -1, 429, -1, 79,
1492 429, -1, 74, -1, 74, 62, 430, 200, -1, 74,
1493 122, 210, -1, 139, 323, 197, -1, 139, 73, 62,
1494 323, 200, 197, -1, 140, 409, 197, -1, 210, -1,
1495 75, -1, 74, -1, 115, 193, 432, 194, -1, 116,
1496 193, 409, 194, -1, 116, 193, 324, 194, -1, 116,
1497 193, 313, 194, -1, 7, 323, -1, 6, 323, -1,
1498 5, 193, 323, 194, -1, 4, 323, -1, 3, 323,
1499 -1, 409, -1, 432, 9, 409, -1, 376, 141, 210,
1500 -1, -1, 91, 447, -1, 168, 437, 14, 447, 195,
1501 -1, 170, 437, 434, 14, 447, 195, -1, 210, -1,
1502 447, 210, -1, 210, -1, 210, 163, 442, 164, -1,
1503 163, 439, 164, -1, -1, 447, -1, 439, 9, 447,
1504 -1, 439, 9, 158, -1, 439, -1, 158, -1, -1,
1505 -1, 27, 447, -1, 442, 9, 210, -1, 210, -1,
1506 442, 9, 210, 91, 447, -1, 210, 91, 447, -1,
1507 80, 123, 447, -1, 444, 9, 443, -1, 443, -1,
1508 444, 386, -1, -1, 167, 193, 445, 194, -1, 26,
1509 447, -1, 52, 447, -1, 217, -1, 125, -1, 446,
1510 -1, 125, 163, 447, 164, -1, 125, 163, 447, 9,
1511 447, 164, -1, 147, -1, 193, 99, 193, 440, 194,
1512 27, 447, 194, -1, 193, 439, 9, 447, 194, -1,
1513 447, -1, -1
1516 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1517 static const yytype_uint16 yyrline[] =
1519 0, 723, 723, 723, 732, 734, 737, 738, 739, 740,
1520 741, 742, 745, 747, 747, 749, 749, 751, 752, 757,
1521 758, 759, 760, 761, 762, 763, 764, 765, 766, 767,
1522 768, 769, 770, 771, 772, 773, 774, 775, 776, 780,
1523 782, 785, 786, 787, 788, 793, 794, 798, 799, 801,
1524 804, 810, 817, 824, 828, 834, 836, 839, 840, 841,
1525 842, 845, 846, 850, 855, 855, 861, 861, 868, 867,
1526 873, 873, 878, 879, 880, 881, 882, 883, 884, 885,
1527 886, 887, 888, 889, 890, 893, 891, 898, 906, 900,
1528 910, 908, 912, 913, 917, 918, 919, 920, 921, 922,
1529 923, 924, 925, 926, 927, 935, 935, 940, 946, 950,
1530 950, 958, 959, 963, 964, 968, 973, 972, 985, 983,
1531 997, 995, 1011, 1010, 1029, 1027, 1046, 1045, 1054, 1052,
1532 1064, 1063, 1075, 1073, 1086, 1087, 1091, 1094, 1097, 1098,
1533 1099, 1102, 1104, 1107, 1108, 1111, 1112, 1115, 1116, 1120,
1534 1121, 1126, 1127, 1130, 1131, 1132, 1136, 1137, 1141, 1142,
1535 1146, 1147, 1151, 1152, 1157, 1158, 1163, 1164, 1165, 1166,
1536 1169, 1172, 1174, 1177, 1178, 1182, 1184, 1187, 1190, 1193,
1537 1194, 1197, 1198, 1202, 1204, 1206, 1207, 1211, 1215, 1219,
1538 1224, 1229, 1234, 1239, 1245, 1254, 1256, 1258, 1259, 1263,
1539 1266, 1269, 1273, 1277, 1281, 1285, 1290, 1298, 1300, 1303,
1540 1304, 1305, 1307, 1312, 1313, 1316, 1317, 1318, 1322, 1323,
1541 1325, 1326, 1330, 1332, 1335, 1335, 1339, 1338, 1342, 1346,
1542 1344, 1359, 1356, 1369, 1371, 1373, 1375, 1377, 1379, 1381,
1543 1385, 1386, 1387, 1390, 1396, 1399, 1405, 1408, 1413, 1415,
1544 1420, 1425, 1429, 1430, 1436, 1437, 1442, 1443, 1448, 1449,
1545 1453, 1454, 1458, 1460, 1466, 1471, 1472, 1474, 1478, 1479,
1546 1480, 1481, 1485, 1486, 1487, 1488, 1489, 1490, 1492, 1497,
1547 1500, 1501, 1505, 1506, 1510, 1511, 1514, 1515, 1518, 1519,
1548 1522, 1523, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1537,
1549 1538, 1541, 1542, 1543, 1546, 1548, 1550, 1551, 1554, 1556,
1550 1560, 1561, 1563, 1564, 1565, 1568, 1572, 1573, 1577, 1578,
1551 1582, 1583, 1587, 1591, 1596, 1600, 1604, 1609, 1610, 1611,
1552 1614, 1616, 1617, 1618, 1621, 1622, 1623, 1624, 1625, 1626,
1553 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636,
1554 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646,
1555 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656,
1556 1657, 1658, 1659, 1660, 1661, 1663, 1664, 1666, 1668, 1669,
1557 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679,
1558 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1692,
1559 1696, 1701, 1700, 1715, 1713, 1730, 1730, 1745, 1745, 1763,
1560 1764, 1769, 1774, 1778, 1784, 1788, 1794, 1796, 1800, 1802,
1561 1806, 1810, 1811, 1815, 1822, 1829, 1831, 1836, 1837, 1838,
1562 1842, 1846, 1850, 1854, 1856, 1858, 1860, 1865, 1866, 1871,
1563 1872, 1873, 1874, 1875, 1876, 1880, 1884, 1888, 1892, 1897,
1564 1902, 1906, 1907, 1911, 1912, 1916, 1917, 1921, 1922, 1926,
1565 1930, 1934, 1938, 1939, 1940, 1941, 1945, 1951, 1960, 1973,
1566 1974, 1977, 1980, 1983, 1984, 1987, 1991, 1994, 1997, 2004,
1567 2005, 2009, 2010, 2012, 2016, 2017, 2018, 2019, 2020, 2021,
1568 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031,
1569 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2041,
1570 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051,
1571 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061,
1572 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071,
1573 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081,
1574 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091,
1575 2092, 2093, 2094, 2095, 2099, 2104, 2105, 2108, 2109, 2110,
1576 2114, 2115, 2116, 2120, 2121, 2122, 2126, 2127, 2128, 2131,
1577 2133, 2137, 2138, 2139, 2141, 2142, 2143, 2144, 2145, 2146,
1578 2147, 2148, 2149, 2150, 2153, 2158, 2159, 2160, 2161, 2162,
1579 2164, 2166, 2167, 2169, 2170, 2174, 2177, 2183, 2184, 2185,
1580 2186, 2187, 2188, 2189, 2194, 2196, 2200, 2201, 2204, 2205,
1581 2209, 2212, 2214, 2216, 2220, 2221, 2222, 2224, 2227, 2231,
1582 2232, 2233, 2236, 2237, 2238, 2239, 2240, 2242, 2244, 2245,
1583 2250, 2252, 2255, 2258, 2260, 2262, 2265, 2267, 2271, 2273,
1584 2276, 2279, 2285, 2287, 2290, 2291, 2296, 2299, 2303, 2303,
1585 2308, 2311, 2312, 2316, 2317, 2322, 2323, 2327, 2328, 2332,
1586 2333, 2338, 2340, 2345, 2346, 2347, 2348, 2349, 2350, 2351,
1587 2353, 2356, 2358, 2362, 2363, 2364, 2365, 2366, 2368, 2370,
1588 2372, 2376, 2377, 2378, 2382, 2385, 2388, 2391, 2395, 2399,
1589 2406, 2410, 2414, 2421, 2422, 2427, 2429, 2430, 2433, 2434,
1590 2437, 2438, 2442, 2443, 2447, 2448, 2449, 2450, 2452, 2455,
1591 2458, 2459, 2460, 2462, 2464, 2468, 2469, 2470, 2472, 2473,
1592 2474, 2478, 2480, 2483, 2485, 2486, 2487, 2488, 2491, 2493,
1593 2494, 2498, 2500, 2503, 2505, 2506, 2507, 2511, 2513, 2516,
1594 2519, 2521, 2523, 2527, 2528, 2530, 2531, 2537, 2538, 2540,
1595 2542, 2544, 2546, 2549, 2550, 2551, 2555, 2556, 2557, 2558,
1596 2559, 2560, 2561, 2562, 2563, 2567, 2568, 2572, 2580, 2582,
1597 2586, 2589, 2595, 2596, 2602, 2603, 2610, 2613, 2617, 2620,
1598 2625, 2626, 2627, 2628, 2632, 2633, 2637, 2639, 2640, 2642,
1599 2646, 2652, 2654, 2658, 2661, 2664, 2672, 2675, 2678, 2679,
1600 2682, 2683, 2686, 2690, 2694, 2700, 2708, 2709
1602 #endif
1604 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1605 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1606 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1607 static const char *const yytname[] =
1609 "$end", "error", "$undefined", "T_REQUIRE_ONCE", "T_REQUIRE", "T_EVAL",
1610 "T_INCLUDE_ONCE", "T_INCLUDE", "T_LAMBDA_ARROW", "','", "T_LOGICAL_OR",
1611 "T_LOGICAL_XOR", "T_LOGICAL_AND", "T_PRINT", "'='", "T_SR_EQUAL",
1612 "T_SL_EQUAL", "T_XOR_EQUAL", "T_OR_EQUAL", "T_AND_EQUAL", "T_MOD_EQUAL",
1613 "T_CONCAT_EQUAL", "T_DIV_EQUAL", "T_MUL_EQUAL", "T_MINUS_EQUAL",
1614 "T_PLUS_EQUAL", "'?'", "':'", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'",
1615 "'^'", "'&'", "T_IS_NOT_IDENTICAL", "T_IS_IDENTICAL", "T_IS_NOT_EQUAL",
1616 "T_IS_EQUAL", "'<'", "'>'", "T_IS_GREATER_OR_EQUAL",
1617 "T_IS_SMALLER_OR_EQUAL", "T_SR", "T_SL", "'+'", "'-'", "'.'", "'*'",
1618 "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "'@'", "T_UNSET_CAST",
1619 "T_BOOL_CAST", "T_OBJECT_CAST", "T_ARRAY_CAST", "T_STRING_CAST",
1620 "T_DOUBLE_CAST", "T_INT_CAST", "T_DEC", "T_INC", "'['", "T_CLONE",
1621 "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER",
1622 "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE",
1623 "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER", "T_BAD_CHARACTER",
1624 "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO",
1625 "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH",
1626 "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH",
1627 "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_GOTO", "T_CONTINUE",
1628 "T_FUNCTION", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_THROW",
1629 "T_USE", "T_GLOBAL", "T_PUBLIC", "T_PROTECTED", "T_PRIVATE", "T_FINAL",
1630 "T_ABSTRACT", "T_STATIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY",
1631 "T_HALT_COMPILER", "T_CLASS", "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS",
1632 "T_OBJECT_OPERATOR", "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CLASS_C",
1633 "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE", "T_COMMENT",
1634 "T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG",
1635 "T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC",
1636 "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_DOUBLE_COLON",
1637 "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "T_YIELD",
1638 "T_XHP_LABEL", "T_XHP_TEXT", "T_XHP_ATTRIBUTE", "T_XHP_CATEGORY",
1639 "T_XHP_CATEGORY_LABEL", "T_XHP_CHILDREN", "T_XHP_ENUM", "T_XHP_REQUIRED",
1640 "T_TRAIT", "T_INSTEADOF", "T_TRAIT_C", "T_VARARG", "T_HH_ERROR",
1641 "T_FINALLY", "T_XHP_TAG_LT", "T_XHP_TAG_GT", "T_TYPELIST_LT",
1642 "T_TYPELIST_GT", "T_UNRESOLVED_LT", "T_COLLECTION", "T_SHAPE", "T_TYPE",
1643 "T_UNRESOLVED_TYPE", "T_NEWTYPE", "T_UNRESOLVED_NEWTYPE",
1644 "T_COMPILER_HALT_OFFSET", "T_AWAIT", "T_ASYNC", "T_TUPLE", "T_FROM",
1645 "T_WHERE", "T_JOIN", "T_IN", "T_ON", "T_EQUALS", "T_INTO", "T_LET",
1646 "T_ORDERBY", "T_ASCENDING", "T_DESCENDING", "T_SELECT", "T_GROUP",
1647 "T_BY", "T_LAMBDA_OP", "T_LAMBDA_CP", "T_UNRESOLVED_OP", "'('", "')'",
1648 "';'", "'{'", "'}'", "'$'", "'`'", "']'", "'\"'", "'\\''", "$accept",
1649 "start", "$@1", "top_statement_list", "top_statement", "$@2", "$@3",
1650 "ident", "use_declarations", "use_declaration", "namespace_name",
1651 "namespace_string_base", "namespace_string", "namespace_string_typeargs",
1652 "class_namespace_string_typeargs", "constant_declaration",
1653 "inner_statement_list", "inner_statement", "statement", "$@4", "$@5",
1654 "$@6", "$@7", "$@8", "$@9", "$@10", "try_statement_list", "$@11",
1655 "additional_catches", "finally_statement_list", "$@12",
1656 "optional_finally", "is_reference", "function_loc",
1657 "function_declaration_statement", "$@13", "$@14", "$@15",
1658 "class_declaration_statement", "$@16", "$@17", "$@18", "$@19",
1659 "trait_declaration_statement", "$@20", "$@21", "class_decl_name",
1660 "interface_decl_name", "trait_decl_name", "class_entry_type",
1661 "extends_from", "implements_list", "interface_extends_list",
1662 "interface_list", "trait_list", "foreach_optional_arg",
1663 "foreach_variable", "for_statement", "foreach_statement",
1664 "while_statement", "declare_statement", "declare_list",
1665 "switch_case_list", "case_list", "case_separator", "elseif_list",
1666 "new_elseif_list", "else_single", "new_else_single",
1667 "method_parameter_list", "non_empty_method_parameter_list",
1668 "parameter_list", "non_empty_parameter_list",
1669 "function_call_parameter_list", "non_empty_fcall_parameter_list",
1670 "global_var_list", "global_var", "static_var_list",
1671 "class_statement_list", "class_statement", "$@22", "$@23", "$@24",
1672 "$@25", "trait_rules", "trait_precedence_rule", "trait_alias_rule",
1673 "trait_alias_rule_method", "xhp_attribute_stmt", "xhp_attribute_decl",
1674 "xhp_attribute_decl_type", "xhp_attribute_enum", "xhp_attribute_default",
1675 "xhp_attribute_is_required", "xhp_category_stmt", "xhp_category_decl",
1676 "xhp_children_stmt", "xhp_children_paren_expr", "xhp_children_decl_expr",
1677 "xhp_children_decl_tag", "function_body", "method_body",
1678 "variable_modifiers", "method_modifiers", "non_empty_member_modifiers",
1679 "member_modifier", "parameter_modifiers", "parameter_modifier",
1680 "class_variable_declaration", "class_constant_declaration",
1681 "expr_with_parens", "parenthesis_expr", "expr_list", "for_expr",
1682 "yield_expr", "yield_assign_expr", "yield_list_assign_expr",
1683 "await_expr", "await_assign_expr", "await_list_assign_expr", "expr",
1684 "expr_no_variable", "lambda_use_vars", "closure_expression", "$@26",
1685 "$@27", "lambda_expression", "$@28", "$@29", "lambda_body",
1686 "shape_keyname", "non_empty_shape_pair_list",
1687 "non_empty_static_shape_pair_list", "shape_pair_list",
1688 "static_shape_pair_list", "shape_literal", "array_literal",
1689 "collection_literal", "static_collection_literal", "dim_expr",
1690 "dim_expr_base", "query_expr", "query_assign_expr", "query_head",
1691 "query_body", "query_body_clauses", "query_body_clause", "from_clause",
1692 "let_clause", "where_clause", "join_clause", "join_into_clause",
1693 "orderby_clause", "orderings", "ordering", "ordering_direction",
1694 "select_or_group_clause", "select_clause", "group_clause",
1695 "query_continuation", "lexical_var_list", "xhp_tag", "xhp_tag_body",
1696 "xhp_opt_end_label", "xhp_attributes", "xhp_children",
1697 "xhp_attribute_name", "xhp_attribute_value", "xhp_child", "xhp_label_ws",
1698 "xhp_bareword", "simple_function_call", "fully_qualified_class_name",
1699 "static_class_name", "class_name_reference", "exit_expr",
1700 "backticks_expr", "ctor_arguments", "common_scalar", "static_scalar",
1701 "static_class_constant", "scalar", "static_array_pair_list",
1702 "possible_comma", "hh_possible_comma",
1703 "non_empty_static_array_pair_list", "common_scalar_ae",
1704 "static_numeric_scalar_ae", "static_scalar_ae",
1705 "static_array_pair_list_ae", "non_empty_static_array_pair_list_ae",
1706 "non_empty_static_scalar_list_ae", "static_shape_pair_list_ae",
1707 "non_empty_static_shape_pair_list_ae", "static_scalar_list_ae",
1708 "attribute_static_scalar_list", "non_empty_user_attribute_list",
1709 "user_attribute_list", "$@30", "non_empty_user_attributes",
1710 "optional_user_attributes", "property_access",
1711 "property_access_without_variables", "array_access",
1712 "dimmable_variable_access", "dimmable_variable_no_calls_access",
1713 "variable", "dimmable_variable", "callable_variable",
1714 "object_method_call", "class_method_call", "variable_without_objects",
1715 "reference_variable", "compound_variable", "dim_offset",
1716 "simple_indirect_reference", "variable_no_calls",
1717 "dimmable_variable_no_calls", "assignment_list", "array_pair_list",
1718 "non_empty_array_pair_list", "collection_init",
1719 "non_empty_collection_init", "static_collection_init",
1720 "non_empty_static_collection_init", "encaps_list", "encaps_var",
1721 "encaps_var_offset", "internal_functions", "variable_list",
1722 "class_constant", "hh_opt_constraint", "hh_type_alias_statement",
1723 "hh_name_with_type", "hh_name_with_typevar", "hh_typeargs_opt",
1724 "hh_type_list", "hh_func_type_list", "hh_opt_return_type",
1725 "hh_typevar_list", "hh_shape_member_type",
1726 "hh_non_empty_shape_member_list", "hh_shape_member_list",
1727 "hh_shape_type", "hh_type", "hh_type_opt", 0
1729 #endif
1731 # ifdef YYPRINT
1732 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1733 token YYLEX-NUM. */
1734 static const yytype_uint16 yytoknum[] =
1736 0, 256, 257, 258, 259, 260, 261, 262, 263, 44,
1737 264, 265, 266, 267, 61, 268, 269, 270, 271, 272,
1738 273, 274, 275, 276, 277, 278, 63, 58, 279, 280,
1739 124, 94, 38, 281, 282, 283, 284, 60, 62, 285,
1740 286, 287, 288, 43, 45, 46, 42, 47, 37, 33,
1741 289, 126, 64, 290, 291, 292, 293, 294, 295, 296,
1742 297, 298, 91, 299, 300, 301, 302, 303, 304, 305,
1743 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1744 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1745 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
1746 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1747 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
1748 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
1749 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1750 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1751 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
1752 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
1753 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1754 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
1755 426, 427, 428, 40, 41, 59, 123, 125, 36, 96,
1756 93, 34, 39
1758 # endif
1760 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1761 static const yytype_uint16 yyr1[] =
1763 0, 203, 205, 204, 206, 206, 207, 207, 207, 207,
1764 207, 207, 207, 208, 207, 209, 207, 207, 207, 210,
1765 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
1766 210, 210, 210, 210, 210, 210, 210, 210, 210, 211,
1767 211, 212, 212, 212, 212, 213, 213, 214, 214, 214,
1768 215, 216, 217, 218, 218, 219, 219, 220, 220, 220,
1769 220, 221, 221, 221, 222, 221, 223, 221, 224, 221,
1770 225, 221, 221, 221, 221, 221, 221, 221, 221, 221,
1771 221, 221, 221, 221, 221, 226, 221, 221, 227, 221,
1772 228, 221, 221, 221, 221, 221, 221, 221, 221, 221,
1773 221, 221, 221, 221, 221, 230, 229, 231, 231, 233,
1774 232, 234, 234, 235, 235, 236, 238, 237, 239, 237,
1775 240, 237, 242, 241, 243, 241, 244, 241, 245, 241,
1776 247, 246, 248, 246, 249, 249, 250, 251, 252, 252,
1777 252, 253, 253, 254, 254, 255, 255, 256, 256, 257,
1778 257, 258, 258, 259, 259, 259, 260, 260, 261, 261,
1779 262, 262, 263, 263, 264, 264, 265, 265, 265, 265,
1780 266, 266, 266, 267, 267, 268, 268, 269, 269, 270,
1781 270, 271, 271, 272, 272, 272, 272, 273, 273, 273,
1782 273, 273, 273, 273, 273, 274, 274, 274, 274, 275,
1783 275, 275, 275, 275, 275, 275, 275, 276, 276, 277,
1784 277, 277, 277, 278, 278, 279, 279, 279, 280, 280,
1785 280, 280, 281, 281, 283, 282, 284, 282, 282, 285,
1786 282, 286, 282, 282, 282, 282, 282, 282, 282, 282,
1787 287, 287, 287, 288, 289, 289, 290, 290, 291, 291,
1788 292, 292, 293, 293, 293, 293, 294, 294, 295, 295,
1789 296, 296, 297, 297, 298, 299, 299, 299, 300, 300,
1790 300, 300, 301, 301, 301, 301, 301, 301, 301, 302,
1791 302, 302, 303, 303, 304, 304, 305, 305, 306, 306,
1792 307, 307, 308, 308, 308, 308, 308, 308, 308, 309,
1793 309, 310, 310, 310, 311, 311, 311, 311, 312, 312,
1794 313, 313, 313, 313, 313, 314, 315, 315, 316, 316,
1795 317, 317, 318, 319, 320, 321, 322, 323, 323, 323,
1796 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1797 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1798 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1799 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1800 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1801 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1802 324, 324, 324, 324, 324, 324, 324, 324, 324, 325,
1803 325, 327, 326, 328, 326, 330, 329, 331, 329, 332,
1804 332, 333, 334, 334, 335, 335, 336, 336, 337, 337,
1805 338, 339, 339, 340, 341, 342, 342, 343, 343, 343,
1806 344, 345, 346, 347, 347, 347, 347, 348, 348, 349,
1807 349, 349, 349, 349, 349, 350, 351, 352, 353, 354,
1808 355, 356, 356, 357, 357, 358, 358, 359, 359, 360,
1809 361, 362, 363, 363, 363, 363, 364, 365, 365, 366,
1810 366, 367, 367, 368, 368, 369, 370, 370, 371, 371,
1811 371, 372, 372, 372, 373, 373, 373, 373, 373, 373,
1812 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1813 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1814 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1815 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1816 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1817 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1818 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
1819 373, 373, 373, 373, 374, 375, 375, 376, 376, 376,
1820 377, 377, 377, 378, 378, 378, 379, 379, 379, 380,
1821 380, 381, 381, 381, 381, 381, 381, 381, 381, 381,
1822 381, 381, 381, 381, 381, 382, 382, 382, 382, 382,
1823 382, 382, 382, 382, 382, 383, 383, 384, 384, 384,
1824 384, 384, 384, 384, 385, 385, 386, 386, 387, 387,
1825 388, 388, 388, 388, 389, 389, 389, 389, 389, 390,
1826 390, 390, 391, 391, 391, 391, 391, 391, 391, 391,
1827 392, 392, 393, 393, 393, 393, 394, 394, 395, 395,
1828 396, 396, 397, 397, 398, 398, 399, 399, 401, 400,
1829 402, 403, 403, 404, 404, 405, 405, 406, 406, 407,
1830 407, 408, 408, 409, 409, 409, 409, 409, 409, 409,
1831 409, 409, 409, 410, 410, 410, 410, 410, 410, 410,
1832 410, 411, 411, 411, 412, 412, 412, 412, 412, 412,
1833 413, 413, 413, 414, 414, 415, 415, 415, 416, 416,
1834 417, 417, 418, 418, 419, 419, 419, 419, 419, 419,
1835 420, 420, 420, 420, 420, 421, 421, 421, 421, 421,
1836 421, 422, 422, 423, 423, 423, 423, 423, 423, 423,
1837 423, 424, 424, 425, 425, 425, 425, 426, 426, 427,
1838 427, 427, 427, 428, 428, 428, 428, 429, 429, 429,
1839 429, 429, 429, 430, 430, 430, 431, 431, 431, 431,
1840 431, 431, 431, 431, 431, 432, 432, 433, 434, 434,
1841 435, 435, 436, 436, 437, 437, 438, 438, 439, 439,
1842 440, 440, 440, 440, 441, 441, 442, 442, 442, 442,
1843 443, 444, 444, 445, 445, 446, 447, 447, 447, 447,
1844 447, 447, 447, 447, 447, 447, 448, 448
1847 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1848 static const yytype_uint8 yyr2[] =
1850 0, 2, 0, 2, 2, 0, 1, 1, 1, 1,
1851 1, 4, 3, 0, 6, 0, 5, 3, 2, 1,
1852 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1853 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1854 1, 1, 2, 3, 4, 1, 3, 1, 3, 2,
1855 1, 2, 2, 5, 4, 2, 0, 1, 1, 1,
1856 1, 3, 5, 8, 0, 4, 0, 6, 0, 10,
1857 0, 4, 2, 3, 2, 3, 2, 3, 3, 3,
1858 3, 3, 5, 1, 1, 0, 9, 5, 0, 13,
1859 0, 5, 3, 3, 2, 2, 2, 2, 2, 2,
1860 3, 2, 2, 3, 2, 0, 4, 9, 0, 0,
1861 4, 2, 0, 1, 0, 1, 0, 9, 0, 10,
1862 0, 11, 0, 8, 0, 9, 0, 7, 0, 8,
1863 0, 7, 0, 8, 1, 1, 1, 1, 1, 2,
1864 2, 2, 0, 2, 0, 2, 0, 1, 3, 1,
1865 3, 2, 0, 1, 2, 4, 1, 4, 1, 4,
1866 1, 4, 1, 4, 3, 5, 3, 4, 4, 5,
1867 5, 4, 0, 1, 1, 4, 0, 5, 0, 2,
1868 0, 3, 0, 3, 2, 1, 0, 4, 5, 7,
1869 6, 6, 7, 9, 8, 3, 2, 1, 0, 3,
1870 4, 6, 5, 5, 6, 8, 7, 2, 0, 1,
1871 2, 3, 4, 3, 1, 1, 2, 4, 3, 5,
1872 1, 3, 2, 0, 0, 4, 0, 5, 2, 0,
1873 10, 0, 11, 3, 3, 3, 4, 4, 3, 5,
1874 2, 2, 0, 6, 5, 4, 3, 1, 1, 3,
1875 4, 1, 1, 1, 1, 4, 1, 3, 2, 0,
1876 2, 0, 1, 3, 1, 1, 1, 1, 3, 4,
1877 4, 4, 1, 1, 2, 2, 2, 3, 3, 1,
1878 1, 1, 1, 3, 1, 3, 1, 1, 1, 0,
1879 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1880 0, 1, 1, 1, 3, 5, 1, 3, 5, 4,
1881 3, 3, 2, 1, 1, 3, 3, 1, 1, 0,
1882 2, 4, 3, 6, 2, 3, 6, 1, 1, 1,
1883 6, 3, 4, 6, 3, 3, 3, 3, 3, 3,
1884 3, 3, 3, 3, 3, 2, 2, 2, 2, 3,
1885 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1886 3, 3, 3, 3, 3, 2, 2, 2, 2, 3,
1887 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
1888 4, 1, 2, 2, 2, 2, 2, 2, 2, 2,
1889 2, 1, 1, 1, 3, 2, 1, 1, 1, 5,
1890 0, 0, 11, 0, 12, 0, 3, 0, 6, 2,
1891 4, 1, 5, 3, 5, 3, 2, 0, 2, 0,
1892 4, 4, 3, 4, 4, 4, 4, 1, 1, 3,
1893 2, 3, 4, 2, 3, 1, 2, 1, 2, 1,
1894 1, 1, 1, 1, 1, 4, 4, 2, 8, 10,
1895 2, 1, 3, 1, 2, 1, 1, 1, 1, 2,
1896 4, 3, 3, 4, 1, 2, 4, 2, 6, 0,
1897 1, 4, 0, 2, 0, 1, 1, 3, 1, 3,
1898 1, 1, 3, 3, 1, 1, 1, 1, 1, 1,
1899 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1900 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1901 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1902 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1903 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1904 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1905 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1906 1, 1, 1, 1, 4, 1, 1, 1, 1, 1,
1907 1, 1, 1, 2, 1, 0, 0, 1, 1, 3,
1908 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1909 1, 1, 1, 3, 2, 1, 1, 2, 2, 4,
1910 4, 3, 4, 1, 1, 3, 3, 1, 1, 1,
1911 1, 3, 3, 3, 2, 0, 1, 0, 1, 0,
1912 5, 3, 3, 1, 1, 1, 1, 3, 2, 1,
1913 1, 1, 1, 1, 2, 2, 4, 4, 3, 4,
1914 2, 0, 5, 3, 3, 1, 3, 1, 2, 0,
1915 5, 3, 2, 0, 3, 0, 4, 2, 0, 3,
1916 3, 1, 0, 1, 2, 2, 4, 3, 3, 2,
1917 4, 2, 4, 1, 1, 1, 1, 1, 2, 4,
1918 3, 4, 3, 1, 1, 1, 1, 2, 4, 4,
1919 3, 1, 1, 3, 7, 6, 8, 9, 8, 10,
1920 7, 6, 8, 1, 2, 4, 4, 1, 1, 4,
1921 1, 0, 1, 2, 1, 1, 2, 4, 3, 3,
1922 0, 1, 2, 4, 3, 2, 3, 6, 0, 1,
1923 4, 2, 0, 5, 3, 3, 1, 6, 4, 4,
1924 2, 2, 0, 5, 3, 3, 1, 2, 0, 5,
1925 3, 3, 1, 2, 2, 1, 2, 1, 4, 3,
1926 3, 6, 3, 1, 1, 1, 4, 4, 4, 4,
1927 2, 2, 4, 2, 2, 1, 3, 3, 0, 2,
1928 5, 6, 1, 2, 1, 4, 3, 0, 1, 3,
1929 3, 1, 1, 0, 0, 2, 3, 1, 5, 3,
1930 3, 3, 1, 2, 0, 4, 2, 2, 1, 1,
1931 1, 4, 6, 1, 8, 5, 1, 0
1934 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1935 Performed when YYTABLE doesn't specify something else to do. Zero
1936 means the default is an error. */
1937 static const yytype_uint16 yydefact[] =
1939 2, 0, 5, 1, 3, 0, 0, 0, 0, 0,
1940 0, 658, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 732, 0, 720, 575,
1942 0, 581, 582, 19, 608, 708, 84, 583, 0, 66,
1943 0, 0, 0, 0, 0, 0, 0, 0, 115, 0,
1944 0, 0, 0, 0, 0, 292, 293, 294, 297, 296,
1945 295, 0, 0, 0, 0, 138, 0, 0, 0, 587,
1946 589, 590, 584, 585, 0, 0, 591, 586, 0, 0,
1947 566, 20, 21, 22, 24, 23, 0, 588, 0, 0,
1948 0, 0, 592, 0, 298, 25, 26, 27, 29, 28,
1949 30, 31, 32, 33, 34, 35, 36, 37, 38, 407,
1950 0, 83, 56, 712, 576, 0, 0, 4, 45, 47,
1951 50, 607, 0, 565, 0, 6, 114, 7, 8, 9,
1952 0, 0, 290, 329, 0, 0, 0, 0, 0, 0,
1953 0, 327, 396, 397, 393, 392, 314, 398, 0, 0,
1954 313, 674, 567, 0, 610, 391, 289, 677, 328, 0,
1955 0, 675, 676, 673, 703, 707, 0, 381, 609, 10,
1956 297, 296, 295, 0, 0, 45, 114, 0, 774, 328,
1957 773, 0, 771, 770, 395, 0, 0, 365, 366, 367,
1958 368, 390, 388, 387, 386, 385, 384, 383, 382, 708,
1959 568, 0, 787, 567, 0, 348, 346, 0, 736, 0,
1960 617, 312, 571, 0, 787, 570, 0, 580, 715, 714,
1961 572, 0, 0, 574, 389, 0, 0, 0, 0, 317,
1962 0, 64, 319, 0, 0, 70, 72, 0, 0, 74,
1963 0, 0, 0, 809, 813, 0, 0, 45, 808, 0,
1964 810, 0, 0, 76, 0, 0, 0, 0, 105, 0,
1965 0, 0, 0, 40, 41, 215, 0, 0, 214, 140,
1966 139, 220, 0, 0, 0, 0, 0, 784, 126, 136,
1967 728, 732, 757, 0, 594, 0, 0, 0, 755, 0,
1968 15, 0, 49, 0, 320, 130, 137, 472, 417, 0,
1969 778, 324, 662, 329, 0, 327, 328, 0, 0, 577,
1970 0, 578, 0, 0, 0, 104, 0, 0, 52, 208,
1971 0, 18, 113, 0, 135, 122, 134, 295, 114, 291,
1972 95, 96, 97, 98, 99, 101, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975 0, 720, 94, 711, 711, 102, 742, 0, 0, 0,
1976 0, 0, 288, 0, 0, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 347, 345, 0, 678, 663,
1978 711, 0, 669, 208, 711, 0, 713, 704, 728, 0,
1979 114, 0, 0, 660, 655, 617, 0, 0, 0, 0,
1980 740, 0, 422, 616, 731, 0, 0, 52, 0, 208,
1981 311, 0, 716, 663, 671, 573, 0, 56, 176, 0,
1982 406, 0, 81, 0, 0, 318, 0, 0, 0, 0,
1983 0, 73, 93, 75, 806, 807, 0, 804, 0, 0,
1984 788, 0, 783, 0, 100, 77, 103, 0, 0, 0,
1985 0, 0, 0, 0, 430, 0, 437, 439, 440, 441,
1986 442, 443, 444, 435, 457, 458, 56, 0, 90, 92,
1987 42, 0, 17, 0, 0, 216, 0, 79, 0, 0,
1988 80, 775, 0, 0, 329, 327, 328, 0, 0, 146,
1989 0, 729, 0, 0, 0, 0, 593, 756, 608, 0,
1990 0, 754, 613, 753, 48, 5, 12, 13, 78, 0,
1991 144, 0, 0, 411, 0, 617, 0, 0, 0, 0,
1992 197, 0, 619, 661, 817, 310, 378, 682, 61, 55,
1993 57, 58, 59, 60, 0, 394, 611, 612, 46, 0,
1994 0, 0, 619, 209, 0, 401, 116, 142, 0, 351,
1995 353, 352, 0, 0, 349, 350, 354, 356, 355, 370,
1996 369, 372, 371, 373, 375, 376, 374, 364, 363, 358,
1997 359, 357, 360, 361, 362, 377, 710, 0, 0, 746,
1998 0, 617, 0, 777, 680, 703, 128, 132, 124, 114,
1999 0, 0, 322, 325, 331, 431, 344, 343, 342, 341,
2000 340, 339, 338, 337, 336, 335, 334, 0, 665, 664,
2001 0, 0, 0, 0, 0, 0, 0, 772, 653, 657,
2002 616, 659, 0, 0, 787, 0, 735, 0, 734, 0,
2003 719, 718, 0, 0, 665, 664, 315, 178, 180, 56,
2004 409, 316, 0, 56, 160, 65, 319, 0, 0, 0,
2005 0, 172, 172, 71, 0, 0, 802, 617, 0, 793,
2006 0, 0, 0, 615, 0, 0, 566, 0, 25, 50,
2007 596, 565, 604, 0, 595, 54, 603, 0, 0, 447,
2008 0, 0, 453, 450, 451, 459, 0, 438, 433, 0,
2009 436, 0, 0, 0, 0, 39, 43, 0, 213, 221,
2010 218, 0, 0, 766, 769, 768, 767, 11, 797, 0,
2011 0, 0, 728, 725, 0, 421, 765, 764, 763, 0,
2012 759, 0, 760, 762, 0, 5, 321, 0, 0, 466,
2013 467, 475, 474, 0, 0, 616, 416, 420, 0, 779,
2014 0, 794, 662, 196, 816, 0, 0, 679, 663, 670,
2015 709, 0, 786, 210, 564, 618, 207, 0, 662, 0,
2016 0, 144, 403, 118, 380, 0, 425, 426, 0, 423,
2017 616, 741, 0, 0, 208, 146, 144, 142, 0, 720,
2018 332, 0, 0, 208, 667, 668, 681, 705, 706, 0,
2019 0, 0, 641, 624, 625, 626, 0, 0, 0, 25,
2020 633, 632, 647, 617, 0, 655, 739, 738, 0, 717,
2021 663, 672, 579, 0, 182, 0, 0, 62, 0, 0,
2022 0, 0, 0, 0, 152, 153, 164, 0, 56, 162,
2023 87, 172, 0, 172, 0, 0, 811, 0, 616, 803,
2024 805, 792, 791, 0, 789, 597, 598, 623, 0, 617,
2025 615, 0, 0, 419, 615, 0, 748, 432, 0, 0,
2026 0, 455, 456, 454, 0, 0, 434, 0, 106, 0,
2027 109, 91, 44, 217, 0, 776, 82, 0, 0, 785,
2028 145, 147, 223, 0, 0, 726, 0, 758, 0, 16,
2029 0, 143, 223, 0, 0, 413, 0, 780, 0, 0,
2030 0, 195, 817, 0, 199, 0, 665, 664, 789, 0,
2031 211, 53, 0, 662, 141, 0, 662, 0, 379, 745,
2032 744, 0, 208, 0, 0, 0, 144, 120, 580, 666,
2033 208, 0, 0, 629, 630, 631, 634, 635, 645, 0,
2034 617, 641, 0, 628, 649, 641, 616, 652, 654, 656,
2035 0, 733, 666, 0, 0, 0, 0, 179, 410, 67,
2036 0, 319, 154, 728, 0, 0, 0, 0, 0, 0,
2037 0, 0, 0, 166, 0, 800, 801, 0, 0, 815,
2038 0, 601, 616, 614, 0, 606, 0, 617, 0, 0,
2039 605, 752, 0, 617, 445, 0, 446, 452, 460, 461,
2040 0, 56, 219, 799, 796, 0, 289, 730, 728, 323,
2041 326, 330, 0, 14, 289, 478, 0, 0, 480, 473,
2042 476, 0, 471, 0, 781, 795, 408, 0, 200, 0,
2043 0, 0, 208, 212, 794, 0, 223, 0, 662, 0,
2044 208, 0, 701, 223, 223, 0, 0, 333, 208, 0,
2045 695, 0, 638, 616, 640, 0, 627, 0, 0, 617,
2046 0, 646, 737, 0, 56, 0, 175, 161, 0, 0,
2047 151, 85, 165, 0, 0, 168, 0, 173, 174, 56,
2048 167, 812, 790, 0, 622, 621, 599, 0, 616, 418,
2049 602, 600, 0, 424, 616, 747, 0, 0, 0, 0,
2050 148, 0, 0, 0, 287, 0, 0, 0, 127, 222,
2051 224, 0, 286, 0, 289, 0, 761, 131, 469, 0,
2052 0, 412, 0, 203, 0, 202, 666, 208, 0, 400,
2053 794, 289, 794, 0, 743, 0, 700, 289, 289, 223,
2054 662, 0, 694, 644, 643, 636, 0, 639, 616, 648,
2055 637, 56, 181, 63, 68, 155, 0, 163, 169, 56,
2056 171, 0, 0, 415, 0, 751, 750, 0, 56, 110,
2057 798, 0, 0, 0, 0, 149, 254, 252, 566, 24,
2058 0, 248, 0, 253, 264, 0, 262, 267, 0, 266,
2059 0, 265, 0, 114, 226, 0, 228, 0, 727, 470,
2060 468, 479, 477, 204, 0, 201, 208, 0, 698, 0,
2061 0, 0, 123, 400, 794, 702, 129, 133, 289, 0,
2062 696, 0, 651, 0, 177, 0, 56, 158, 86, 170,
2063 814, 620, 0, 0, 0, 0, 0, 0, 0, 0,
2064 238, 242, 0, 0, 233, 530, 529, 526, 528, 527,
2065 547, 549, 548, 518, 508, 524, 523, 485, 495, 496,
2066 498, 497, 517, 501, 499, 500, 502, 503, 504, 505,
2067 506, 507, 509, 510, 511, 512, 513, 514, 516, 515,
2068 486, 487, 488, 491, 492, 494, 532, 533, 542, 541,
2069 540, 539, 538, 537, 525, 544, 534, 535, 536, 519,
2070 520, 521, 522, 545, 546, 550, 552, 551, 553, 554,
2071 531, 556, 555, 489, 558, 560, 559, 493, 563, 561,
2072 562, 557, 490, 543, 484, 259, 481, 0, 234, 280,
2073 281, 279, 272, 0, 273, 235, 306, 0, 0, 0,
2074 0, 114, 0, 206, 0, 697, 0, 56, 282, 56,
2075 117, 0, 0, 125, 794, 642, 0, 56, 156, 69,
2076 0, 414, 749, 448, 108, 236, 237, 309, 150, 0,
2077 0, 256, 249, 0, 0, 0, 261, 263, 0, 0,
2078 268, 275, 276, 274, 0, 0, 225, 0, 0, 0,
2079 0, 205, 699, 0, 464, 619, 0, 0, 56, 119,
2080 0, 650, 0, 0, 0, 88, 239, 45, 0, 240,
2081 241, 0, 0, 255, 258, 482, 483, 0, 250, 277,
2082 278, 270, 271, 269, 307, 304, 229, 227, 308, 0,
2083 465, 618, 0, 402, 283, 0, 121, 0, 159, 449,
2084 0, 112, 0, 289, 257, 260, 0, 662, 231, 0,
2085 462, 399, 404, 157, 0, 0, 89, 246, 0, 288,
2086 305, 185, 0, 619, 300, 662, 463, 0, 111, 0,
2087 0, 245, 794, 662, 184, 301, 302, 303, 817, 299,
2088 0, 0, 0, 244, 0, 183, 300, 0, 794, 0,
2089 243, 284, 56, 230, 817, 0, 187, 0, 56, 0,
2090 0, 188, 0, 232, 0, 285, 0, 191, 0, 190,
2091 107, 192, 0, 189, 0, 194, 193
2094 /* YYDEFGOTO[NTERM-NUM]. */
2095 static const yytype_int16 yydefgoto[] =
2097 -1, 1, 2, 4, 117, 735, 515, 175, 262, 263,
2098 119, 120, 121, 122, 123, 124, 307, 539, 540, 434,
2099 230, 1235, 440, 1166, 1451, 703, 259, 476, 1415, 881,
2100 1011, 1466, 323, 176, 541, 769, 927, 1056, 542, 557,
2101 787, 499, 785, 543, 520, 786, 325, 278, 295, 130,
2102 771, 738, 721, 890, 1184, 975, 834, 1369, 1238, 655,
2103 840, 439, 663, 842, 1089, 648, 824, 827, 965, 1472,
2104 1473, 531, 532, 551, 552, 267, 268, 272, 1016, 1119,
2105 1202, 1349, 1457, 1475, 1379, 1419, 1420, 1421, 1190, 1191,
2106 1192, 1380, 1386, 1428, 1195, 1196, 1200, 1342, 1343, 1344,
2107 1360, 1503, 1120, 1121, 177, 132, 1488, 1489, 1347, 1123,
2108 133, 223, 435, 436, 134, 135, 136, 137, 138, 139,
2109 140, 141, 1220, 142, 768, 926, 143, 227, 302, 430,
2110 524, 525, 997, 526, 998, 144, 145, 146, 682, 147,
2111 148, 256, 149, 257, 464, 465, 466, 467, 468, 469,
2112 470, 471, 472, 693, 694, 873, 473, 474, 475, 700,
2113 1405, 150, 521, 1210, 522, 903, 743, 1032, 1029, 1335,
2114 1336, 151, 152, 153, 217, 224, 310, 420, 154, 857,
2115 686, 155, 858, 414, 753, 859, 811, 946, 948, 949,
2116 950, 813, 1068, 1069, 814, 629, 405, 185, 186, 156,
2117 534, 388, 389, 759, 157, 218, 179, 159, 160, 161,
2118 162, 163, 164, 165, 587, 166, 220, 221, 502, 209,
2119 210, 590, 591, 1002, 1003, 287, 288, 729, 167, 492,
2120 168, 529, 169, 249, 279, 318, 449, 853, 910, 719,
2121 666, 667, 668, 250, 251, 755
2124 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2125 STATE-NUM. */
2126 #define YYPACT_NINF -1217
2127 static const yytype_int16 yypact[] =
2129 -1217, 129, -1217, -1217, 4090, 11690, 11690, -59, 11690, 11690,
2130 11690, -1217, 11690, 11690, 11690, 11690, 11690, 11690, 11690, 11690,
2131 11690, 11690, 11690, 11690, 13661, 13661, 9090, 11690, 13725, -57,
2132 -37, -1217, -1217, -1217, -1217, 150, -1217, -1217, 11690, -1217,
2133 -37, -20, 105, 124, -37, 9290, 8932, 9490, -1217, 13089,
2134 8690, 112, 11690, 13928, 26, -1217, -1217, -1217, 243, 263,
2135 54, 193, 205, 207, 223, -1217, 8932, 245, 248, -1217,
2136 -1217, -1217, -1217, -1217, 332, 13779, -1217, -1217, 8932, 9690,
2137 -1217, -1217, -1217, -1217, -1217, -1217, 8932, -1217, 198, 292,
2138 8932, 8932, -1217, 11690, -1217, -1217, -1217, -1217, -1217, -1217,
2139 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2140 11690, -1217, -1217, 302, 320, 347, 347, -1217, 475, 299,
2141 396, -1217, 328, -1217, 32, -1217, 504, -1217, -1217, -1217,
2142 13943, 454, -1217, -1217, 363, 372, 385, 406, 414, 423,
2143 12582, -1217, -1217, -1217, -1217, 477, -1217, 480, 490, 427,
2144 -1217, 98, 433, 482, -1217, -1217, 768, 8, 510, 115,
2145 440, 118, 119, 444, 143, -1217, 33, -1217, 569, -1217,
2146 -1217, -1217, 506, 458, 507, -1217, 504, 454, 14463, 1331,
2147 14463, 11690, 14463, 14463, 4076, 612, 8932, -1217, -1217, 613,
2148 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2149 -1217, 13374, 502, -1217, 525, 547, 547, 13661, 14123, 472,
2150 666, -1217, 506, 13374, 502, 535, 538, 488, 127, -1217,
2151 560, 115, 9890, -1217, -1217, 11690, 7290, 675, 50, 14463,
2152 8290, -1217, 11690, 11690, 8932, -1217, -1217, 12623, 497, -1217,
2153 12664, 13089, 13089, 522, -1217, 500, 2137, 676, -1217, 681,
2154 -1217, 8932, 622, -1217, 503, 12705, 508, 462, -1217, 2,
2155 12750, 8932, 64, -1217, 62, -1217, 13474, 65, -1217, -1217,
2156 -1217, 685, 67, 13661, 13661, 11690, 511, 539, -1217, -1217,
2157 13524, 9090, 300, 251, -1217, 11890, 13661, 344, -1217, 8932,
2158 -1217, 309, 299, 512, 14164, -1217, -1217, -1217, 621, 692,
2159 617, 14463, 133, 515, 14463, 517, 94, 4290, 11690, 275,
2160 524, 357, 275, 268, 264, -1217, 8932, 13089, 519, 10090,
2161 13089, -1217, -1217, 2356, -1217, -1217, -1217, -1217, 504, -1217,
2162 -1217, -1217, -1217, -1217, -1217, -1217, 11690, 11690, 11690, 10290,
2163 11690, 11690, 11690, 11690, 11690, 11690, 11690, 11690, 11690, 11690,
2164 11690, 11690, 11690, 11690, 11690, 11690, 11690, 11690, 11690, 11690,
2165 11690, 13725, -1217, 11690, 11690, -1217, 11690, 885, 8932, 8932,
2166 13943, 614, 266, 8490, 11690, 11690, 11690, 11690, 11690, 11690,
2167 11690, 11690, 11690, 11690, 11690, -1217, -1217, 2260, -1217, 134,
2168 11690, 11690, -1217, 10090, 11690, 11690, 302, 135, 13524, 533,
2169 504, 10490, 12791, -1217, 534, 722, 13374, 542, -16, 885,
2170 547, 10690, -1217, 10890, -1217, 545, -1, -1217, 51, 10090,
2171 -1217, 3397, -1217, 136, -1217, -1217, 12832, -1217, -1217, 11090,
2172 -1217, 11690, -1217, 650, 7490, 733, 548, 14356, 730, 44,
2173 21, -1217, -1217, -1217, -1217, -1217, 13089, 673, 563, 737,
2174 -1217, 13237, -1217, 578, -1217, -1217, -1217, 684, 11690, 690,
2175 691, 11690, 11690, 11690, -1217, 462, -1217, -1217, -1217, -1217,
2176 -1217, -1217, -1217, 577, -1217, -1217, -1217, 574, -1217, -1217,
2177 237, 13928, -1217, 8932, 11690, 547, 26, -1217, 13237, 695,
2178 -1217, 547, 57, 79, 581, 582, 495, 576, 8932, 652,
2179 586, 547, 80, 588, 13172, 8932, -1217, -1217, 718, 2696,
2180 -54, -1217, -1217, -1217, 299, -1217, -1217, -1217, -1217, 11690,
2181 662, 623, 233, -1217, 663, 778, 594, 13089, 13089, 775,
2182 -1217, 599, 782, -1217, 13089, 10, 731, 103, -1217, -1217,
2183 -1217, -1217, -1217, -1217, 2785, -1217, -1217, -1217, -1217, 48,
2184 13661, 598, 785, 14463, 781, -1217, -1217, 679, 8532, 14503,
2185 3878, 4076, 11690, 14422, 4475, 4674, 1652, 2742, 2803, 3090,
2186 3090, 3090, 3090, 1456, 1456, 1456, 1456, 672, 672, 611,
2187 611, 611, 613, 613, 613, -1217, 14463, 600, 601, 14219,
2188 608, 797, 11690, 142, 615, 135, -1217, -1217, -1217, 504,
2189 13424, 11690, -1217, -1217, 4076, -1217, 4076, 4076, 4076, 4076,
2190 4076, 4076, 4076, 4076, 4076, 4076, 4076, 11690, 142, 616,
2191 607, 3072, 618, 619, 3370, 82, 620, -1217, 13326, -1217,
2192 8932, -1217, 515, 10, 502, 13661, 14463, 13661, 14260, 99,
2193 137, -1217, 624, 11690, -1217, -1217, -1217, 7090, 395, -1217,
2194 14463, 14463, -37, -1217, -1217, -1217, 11690, 13108, 13237, 8932,
2195 7690, 626, 628, -1217, 86, 688, -1217, 805, 640, 3023,
2196 13089, 13237, 13237, 13237, 643, 41, 674, 645, 646, 327,
2197 -1217, 699, -1217, 648, -1217, -1217, -1217, 11690, 637, 14463,
2198 638, 828, 12918, 836, -1217, 14463, 12873, -1217, 577, 772,
2199 -1217, 4490, 13864, 651, 8932, -1217, -1217, 3492, -1217, -1217,
2200 835, 13661, 656, -1217, -1217, -1217, -1217, -1217, 763, 90,
2201 13864, 660, 13524, 13607, 849, -1217, -1217, -1217, -1217, 664,
2202 -1217, 11690, -1217, -1217, 3690, -1217, 14463, 13864, 669, -1217,
2203 -1217, -1217, -1217, 852, 11690, 621, -1217, -1217, 678, -1217,
2204 13089, 840, 29, -1217, -1217, 272, 12903, -1217, 140, -1217,
2205 -1217, 13089, -1217, 547, -1217, 11290, -1217, 13237, 25, 689,
2206 13864, 662, -1217, -1217, 4276, 11690, -1217, -1217, 11690, -1217,
2207 11690, -1217, 12074, 696, 10090, 652, 662, 679, 8932, 13725,
2208 547, 12115, 697, 10090, -1217, -1217, 148, -1217, -1217, 854,
2209 13708, 13708, 13326, -1217, -1217, -1217, 698, 250, 700, 705,
2210 -1217, -1217, -1217, 862, 680, 534, 547, 547, 11490, -1217,
2211 152, -1217, -1217, 12156, 408, -37, 8290, -1217, 4690, 686,
2212 4890, 693, 13661, 706, 760, 547, -1217, 871, -1217, -1217,
2213 -1217, -1217, 55, -1217, 3, 13089, -1217, 13089, 673, -1217,
2214 -1217, -1217, 883, 709, 711, -1217, -1217, 786, 708, 903,
2215 13237, 776, 8932, 621, 13237, 8932, 13237, 14463, 11690, 11690,
2216 11690, -1217, -1217, -1217, 11690, 11690, -1217, 462, -1217, 841,
2217 -1217, -1217, -1217, -1217, 13237, 547, -1217, 13089, 8932, -1217,
2218 910, -1217, -1217, 83, 728, 547, 8890, -1217, 2028, -1217,
2219 3890, 910, -1217, 271, -10, 14463, 799, -1217, 729, 13089,
2220 675, -1217, 13089, 851, 914, 11690, 142, 736, -1217, 13661,
2221 14463, -1217, 732, 25, -1217, 735, 25, 740, 4276, 14463,
2222 14315, 741, 10090, 744, 739, 743, 662, -1217, 488, 750,
2223 10090, 755, 11690, -1217, -1217, -1217, -1217, -1217, 821, 753,
2224 941, 13326, 816, -1217, 621, 13326, 13326, -1217, -1217, -1217,
2225 13661, 14463, -1217, -37, 928, 891, 8290, -1217, -1217, -1217,
2226 766, 11690, 547, 13524, 13108, 769, 13237, 5090, 513, 770,
2227 11690, 23, 227, -1217, 800, -1217, -1217, 3489, 940, -1217,
2228 13237, -1217, 13237, -1217, 780, -1217, 846, 961, 784, 787,
2229 -1217, 853, 783, 963, 14463, 13001, 14463, -1217, 14463, -1217,
2230 789, -1217, -1217, -1217, 884, 13864, 59, -1217, 13524, -1217,
2231 -1217, 4076, 788, -1217, 438, -1217, 56, 11690, -1217, -1217,
2232 -1217, 11690, -1217, 11690, -1217, -1217, -1217, 286, 965, 13237,
2233 12197, 791, 10090, 547, 840, 792, -1217, 794, 25, 11690,
2234 10090, 795, -1217, -1217, -1217, 798, 802, -1217, 10090, 804,
2235 -1217, 13326, -1217, 13326, -1217, 808, -1217, 868, 814, 987,
2236 815, -1217, 547, 972, -1217, 817, -1217, -1217, 826, 84,
2237 -1217, -1217, -1217, 827, 829, -1217, 12329, -1217, -1217, -1217,
2238 -1217, -1217, -1217, 13089, -1217, 887, -1217, 13237, 621, -1217,
2239 -1217, -1217, 13237, -1217, 13237, -1217, 11690, 825, 5290, 13089,
2240 -1217, 465, 13089, 13864, -1217, 13883, 872, 3145, -1217, -1217,
2241 -1217, 614, 13024, 68, 266, 85, -1217, -1217, 879, 12244,
2242 12285, 14463, 955, 1016, 13237, -1217, 847, 10090, 839, 936,
2243 840, 720, 840, 848, 14463, 855, -1217, 906, 1369, -1217,
2244 25, 856, -1217, -1217, 920, -1217, 13326, -1217, 621, -1217,
2245 -1217, -1217, 7090, -1217, -1217, -1217, 7890, -1217, -1217, -1217,
2246 7090, 857, 13237, -1217, 923, -1217, 924, 12390, -1217, -1217,
2247 -1217, 13864, 13864, 1034, 40, -1217, -1217, -1217, 69, 858,
2248 70, -1217, 12402, -1217, -1217, 71, -1217, -1217, 13799, -1217,
2249 866, -1217, 979, 504, -1217, 13089, -1217, 614, -1217, -1217,
2250 -1217, -1217, -1217, 1061, 13237, -1217, 10090, 882, -1217, 889,
2251 881, 387, -1217, 936, 840, -1217, -1217, -1217, 1481, 890,
2252 -1217, 13326, -1217, 962, 7090, 8090, -1217, -1217, -1217, 7090,
2253 -1217, -1217, 13237, 13237, 11690, 5490, 892, 893, 13237, 13864,
2254 -1217, -1217, 1287, 13883, -1217, -1217, -1217, -1217, -1217, -1217,
2255 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2256 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2257 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2258 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2259 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2260 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2261 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2262 -1217, -1217, -1217, -1217, -1217, 451, -1217, 872, -1217, -1217,
2263 -1217, -1217, -1217, 74, 514, -1217, 1064, 72, 8932, 979,
2264 1072, 504, 13237, -1217, 895, -1217, 365, -1217, -1217, -1217,
2265 -1217, 896, 387, -1217, 840, -1217, 13326, -1217, -1217, -1217,
2266 5690, -1217, -1217, 12960, -1217, -1217, -1217, -1217, -1217, 3095,
2267 35, -1217, -1217, 13237, 12402, 12402, 1041, -1217, 13799, 13799,
2268 553, -1217, -1217, -1217, 13237, 1020, -1217, 902, 75, 13237,
2269 8932, -1217, -1217, 1022, -1217, 1088, 5890, 6090, -1217, -1217,
2270 387, -1217, 6290, 904, 1024, 997, -1217, 1011, 964, -1217,
2271 -1217, 1015, 1287, -1217, -1217, -1217, -1217, 956, -1217, 1079,
2272 -1217, -1217, -1217, -1217, -1217, 1097, -1217, -1217, -1217, 919,
2273 -1217, 377, 921, -1217, -1217, 6490, -1217, 922, -1217, -1217,
2274 925, 954, 8932, 266, -1217, -1217, 13237, 88, -1217, 1042,
2275 -1217, -1217, -1217, -1217, 13864, 651, -1217, 966, 8932, 260,
2276 -1217, -1217, 926, 1114, 15, 88, -1217, 1050, -1217, 13864,
2277 930, -1217, 840, 132, -1217, -1217, -1217, -1217, 13089, -1217,
2278 932, 933, 76, -1217, 398, -1217, 15, 417, 840, 934,
2279 -1217, -1217, -1217, -1217, 13089, 1055, 1117, 398, -1217, 6690,
2280 425, 1118, 13237, -1217, 6890, -1217, 1059, 1122, 13237, -1217,
2281 -1217, 1123, 13237, -1217, 13237, -1217, -1217
2284 /* YYPGOTO[NTERM-NUM]. */
2285 static const yytype_int16 yypgoto[] =
2287 -1217, -1217, -1217, -477, -1217, -1217, -1217, -4, -1217, 657,
2288 -17, 1003, 1907, -1217, 1509, -1217, -401, -1217, 11, -1217,
2289 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -326,
2290 -1217, -1217, -171, 13, 0, -1217, -1217, -1217, 6, -1217,
2291 -1217, -1217, -1217, 7, -1217, -1217, 771, 774, 777, 984,
2292 356, -644, 360, 410, -331, -1217, 175, -1217, -1217, -1217,
2293 -1217, -1217, -1217, -560, 73, -1217, -1217, -1217, -1217, -325,
2294 -1217, -738, -1217, -364, -1217, -1217, 665, -1217, -862, -1217,
2295 -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -100,
2296 -1217, -1217, -1217, -1217, -1217, -182, -1217, 37, -791, -1217,
2297 -1216, -351, -1217, -153, 20, -130, -333, -1217, -189, -1217,
2298 -50, -22, 1126, -613, -352, -1217, -1217, -36, -1217, -1217,
2299 2577, -14, -58, -1217, -1217, -1217, -1217, -1217, -1217, 259,
2300 -711, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2301 -1217, 801, -1217, -1217, 293, -1217, 707, -1217, -1217, -1217,
2302 -1217, -1217, -1217, -1217, 297, -1217, 714, -1217, -1217, 478,
2303 -1217, 270, -1217, -1217, -1217, -1217, -1217, -1217, -1217, -1217,
2304 -764, -1217, 912, 368, -336, -1217, -1217, 246, 948, 2207,
2305 -1217, -1217, -725, -378, -543, -1217, -1217, 380, -615, -810,
2306 -1217, -1217, -1217, -1217, -1217, 376, -1217, -1217, -1217, -246,
2307 -720, -183, -181, -131, -1217, -1217, 27, -1217, -1217, -1217,
2308 -1217, -8, -112, -1217, 113, -1217, -1217, -1217, -382, 915,
2309 -1217, -1217, -1217, -1217, -1217, 499, 291, -1217, -1217, 913,
2310 -1217, -1217, -1217, -308, -84, -191, -284, -1217, -1009, -1217,
2311 351, -1217, -1217, -1217, -177, -893
2314 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2315 positive, shift that token. If negative, reduce the rule which
2316 number is the opposite. If YYTABLE_NINF, syntax error. */
2317 #define YYTABLE_NINF -788
2318 static const yytype_int16 yytable[] =
2320 118, 329, 296, 371, 127, 399, 299, 300, 226, 766,
2321 128, 129, 554, 812, 254, 125, 625, 126, 231, 1037,
2322 219, 602, 235, 417, 131, 585, 647, 631, 392, 622,
2323 922, 158, 912, 549, 906, 1139, 264, 422, 734, 423,
2324 1024, 320, 238, 831, 1422, 247, 326, 329, 661, 1249,
2325 1087, 205, 206, 659, 397, 642, 533, 761, 291, 431,
2326 303, 292, 277, 1111, 444, 445, 711, 11, 387, 450,
2327 -686, 11, 390, 481, 486, 701, 489, 1205, -251, 1253,
2328 1337, 1395, 277, 1388, 1395, 1249, 277, 277, 711, 723,
2329 424, 723, 723, 723, 723, 845, 305, 980, 981, 888,
2330 265, 11, 844, 1128, 1389, 477, 387, 199, 401, 374,
2331 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2332 861, 387, 1485, 1486, 1487, 199, 277, 925, 271, 3,
2333 11, 1221, 756, 1223, 181, 994, 222, 306, 1030, 999,
2334 450, 1065, 935, 733, 328, 1070, 1409, 746, 979, 980,
2335 981, 407, 996, 483, 385, 386, 225, 558, -405, 1112,
2336 -683, 390, 478, 415, 1113, -690, 55, 56, 57, 170,
2337 171, 327, 1114, 232, 11, 11, 372, 390, 537, 284,
2338 -684, -685, 404, 530, 1141, 1045, 1031, 911, 1047, -721,
2339 400, 1147, 1148, 640, 1446, -568, -687, 394, -722, -724,
2340 983, -692, -688, 297, -686, 394, 391, 316, 1115, 1116,
2341 -689, 1117, 762, 781, -723, 1362, 387, 662, 1088, -198,
2342 -618, 421, 118, -618, 266, 494, 118, 321, 408, 626,
2343 438, 396, 1423, 94, 410, 1250, 1251, 428, 660, 556,
2344 416, 433, 329, 1067, 480, 432, 1471, 452, 828, 113,
2345 846, 712, 830, 158, 889, 595, 1118, 158, 900, 482,
2346 487, 495, 490, 1206, -251, 1254, 1338, 1396, 1390, 664,
2347 1437, 1500, 514, 713, 724, 595, 799, 1017, 1165, 1208,
2348 740, 978, -186, 982, -569, 296, 326, 1228, 537, 849,
2349 1495, 530, 1055, 485, -683, 391, -693, 595, 233, -690,
2350 491, 491, 496, 118, 913, 317, 595, 501, 258, 595,
2351 1143, 391, 548, 510, -684, -685, 247, 234, 1132, 277,
2352 126, 980, 981, -721, -198, 282, -618, 131, 704, 952,
2353 -687, 395, -722, -724, 158, -787, -688, 603, 282, 395,
2354 893, 1071, 282, 511, -689, 297, 914, 511, -723, 282,
2355 748, 749, 757, 219, 758, 1410, 632, 754, 1078, 594,
2356 1133, 269, 504, 593, 277, 277, 277, 55, 56, 57,
2357 170, 171, 327, 55, 56, 57, 170, 171, 327, 619,
2358 741, 270, 316, 618, 599, 852, 273, 1174, 953, 506,
2359 285, 286, 204, 204, 282, 742, 216, 1403, 274, 309,
2360 275, 594, 783, 285, 286, 634, 282, 285, 286, 1459,
2361 641, 283, 1229, 645, 285, 286, 276, 644, 282, 1025,
2362 933, 282, 505, 511, 1090, 501, 312, 792, 788, 941,
2363 118, 282, 1026, 408, 94, 957, 511, 977, 280, 1404,
2364 94, 281, 1111, 783, 316, 654, 1153, 1233, 1154, 1505,
2365 757, 1460, 758, 938, 316, 1481, 819, 1516, 820, 285,
2366 286, 158, 825, 826, 264, 1383, 547, 1027, -787, 546,
2367 284, 285, 286, 1494, 773, 963, 964, 588, 1384, 706,
2368 11, 993, 512, 285, 286, 298, 285, 286, 417, 1507,
2369 317, 1506, 450, 854, 718, 1385, 285, 286, 308, 1517,
2370 728, 730, 315, 620, 516, 517, 533, 623, 821, 401,
2371 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
2372 384, 319, 533, -787, 373, 374, 375, 376, 377, 378,
2373 379, 380, 381, 382, 383, 384, 322, -787, 1112, -427,
2374 1391, 1232, 363, 1113, 1019, 55, 56, 57, 170, 171,
2375 327, 1114, 364, 48, 277, 385, 386, 1392, 330, 317,
2376 1393, 55, 56, 57, 170, 171, 327, 331, 1051, 204,
2377 385, 386, 1064, 908, 507, 204, 1059, 763, 513, 1431,
2378 332, 204, 1358, 1359, 918, 1181, 1182, 1115, 1116, -787,
2379 1117, 1079, -787, 1501, 1502, 1497, 1432, 1429, 1430, 1433,
2380 507, 333, 513, 507, 513, 513, 1084, 980, 981, 334,
2381 1108, 1510, 94, 311, 313, 314, 1365, 387, 335, 1099,
2382 1425, 1426, 365, 367, 810, 1105, 815, 790, 94, 366,
2383 829, -428, 387, 393, 204, 1127, 1125, -691, 457, 458,
2384 459, 204, 204, 118, 595, 460, 461, -568, 204, 462,
2385 463, 398, 289, 403, 204, 837, 118, 358, 359, 360,
2386 126, 361, 816, 361, 817, 317, 409, 131, 984, 387,
2387 985, 839, 412, 1162, 158, 413, -567, 533, 1138, 418,
2388 533, 419, 421, 429, 835, 446, 1145, 158, 1170, 716,
2389 -782, 1159, 442, 447, 1151, 451, 453, 118, 454, 488,
2390 882, 523, 498, 456, 937, 497, 527, 518, 528, 535,
2391 1013, 536, -51, 48, 126, 355, 356, 357, 358, 359,
2392 360, 131, 361, 545, 1111, 1041, 555, 628, 158, 216,
2393 118, 630, 1035, 652, 127, 754, 633, 1474, 885, 639,
2394 128, 129, 431, 656, 658, 125, 670, 126, 917, 501,
2395 895, 1411, 916, 665, 131, 1474, 669, 687, 688, 699,
2396 1234, 158, 11, 1496, 690, 691, 204, 702, 1239, 710,
2397 1124, 717, 720, 1217, 204, 714, 715, 1245, 1124, 722,
2398 731, 219, 725, 737, 277, 739, 744, 745, 747, 750,
2399 751, 752, 764, -429, 765, 767, 945, 945, 810, 770,
2400 776, 777, 533, 966, 1183, 779, 780, 794, 784, 793,
2401 918, 847, 796, 772, 848, 862, 868, 869, 822, 797,
2402 1112, 841, 118, 843, 118, 1113, 118, 55, 56, 57,
2403 170, 171, 327, 1114, 850, 1370, 860, 967, 863, 864,
2404 865, 126, 870, 126, 866, 874, 877, 880, 131, 884,
2405 131, 886, 1354, 158, 887, 158, 892, 158, 995, 972,
2406 1020, 1000, 1442, 896, 897, 902, 904, 909, 942, 1115,
2407 1116, 956, 1117, 907, 958, 55, 56, 57, 58, 59,
2408 327, 969, 923, 974, 1014, 976, 65, 368, 971, 932,
2409 940, 951, 987, 954, 94, 1124, 118, 1350, 955, 973,
2410 127, 1124, 1124, 988, 533, 989, 128, 129, 991, 990,
2411 1111, 125, 992, 126, 506, 1010, 1171, 1222, 204, 1015,
2412 131, 1018, 1033, 369, 1034, 1038, 1044, 158, 1039, 1042,
2413 1484, 1046, 1180, 1048, 1050, 1053, 203, 203, 1052, 1054,
2414 215, 1073, 94, 1058, 1061, 1204, 1043, 810, 11, 1060,
2415 1063, 810, 810, 1062, 1066, 1074, 1406, 33, 1407, 199,
2416 1075, 1077, 118, 1081, 1091, 1085, 1412, 1093, 204, 1097,
2417 1098, 1207, 1104, 118, 1096, 1109, 1102, 1076, 1100, 1134,
2418 1103, 1101, 1124, 1107, 1137, 1126, 1140, 1072, 1142, 1146,
2419 126, 1156, 329, 158, 1149, 1150, 1158, 131, 1152, 1161,
2420 501, 835, 1155, 204, 158, 204, 1112, 1445, 1157, 1160,
2421 1172, 1113, 1163, 55, 56, 57, 170, 171, 327, 1114,
2422 1164, 1178, 1167, 1194, 1168, 204, 1209, 202, 202, 1213,
2423 1214, 214, 1348, 1218, 81, 82, 1122, 83, 84, 85,
2424 1216, 1219, 1224, 1231, 1122, 501, 1242, 1243, 1248, 1225,
2425 1230, 1240, 214, 1346, 1252, 1115, 1116, 810, 1117, 810,
2426 95, 1345, 96, 97, 98, 99, 100, 101, 102, 103,
2427 104, 105, 106, 107, 108, 1352, 1355, 1357, 1394, 204,
2428 94, 592, 1356, 113, 1364, 1366, 1399, 1375, 1376, 1402,
2429 204, 204, 1408, 1427, 1435, 1436, 1440, 1441, 1449, 1448,
2430 1450, 1509, -247, 1226, 118, 1452, 1453, 1514, 247, 1389,
2431 1455, 1456, 1458, 1199, 1465, 1461, 1476, 1463, 1464, 203,
2432 1482, 126, 1479, 1483, 1491, 1493, 1498, 1499, 131, 1511,
2433 1508, 1512, 1518, 1521, 1203, 158, 1522, 1524, 705, 1478,
2434 370, 598, 596, 936, 372, 934, 597, 901, 1492, 1080,
2435 1490, 708, 810, 1382, 1201, 1387, 1513, 216, 118, 1169,
2436 1398, 1122, 118, 1504, 228, 1361, 118, 1122, 1122, 1036,
2437 1009, 1007, 697, 1028, 605, 126, 876, 1237, 203, 698,
2438 1400, 947, 131, 126, 1057, 203, 203, 493, 1334, 158,
2439 131, 959, 203, 158, 1341, 0, 503, 158, 203, 986,
2440 204, 247, 0, 0, 202, 0, 0, 0, 0, 0,
2441 202, 533, 0, 0, 0, 0, 202, 0, 0, 0,
2442 1351, 0, 0, 0, 0, 0, 0, 810, 0, 533,
2443 118, 118, 0, 0, 0, 118, 0, 533, 0, 0,
2444 0, 118, 0, 0, 214, 214, 1368, 126, 1122, 214,
2445 0, 0, 126, 0, 131, 0, 0, 0, 126, 131,
2446 0, 158, 158, 0, 1397, 131, 158, 0, 0, 202,
2447 0, 0, 158, 215, 0, 0, 202, 202, 0, 0,
2448 0, 0, 0, 202, 0, 0, 0, 204, 0, 202,
2449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2450 1468, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2451 203, 754, 0, 0, 0, 0, 1439, 0, 0, 0,
2452 214, 0, 0, 214, 0, 0, 0, 754, 204, 0,
2453 0, 0, 0, 0, 0, 0, 0, 0, 0, 329,
2454 0, 204, 204, 0, 277, 401, 374, 375, 376, 377,
2455 378, 379, 380, 381, 382, 383, 384, 31, 32, 0,
2456 0, 0, 810, 683, 214, 0, 118, 37, 0, 0,
2457 0, 0, 0, 1111, 0, 1417, 0, 0, 0, 0,
2458 1334, 1334, 0, 126, 1341, 1341, 204, 0, 0, 0,
2459 131, 385, 386, 0, 0, 0, 277, 158, 0, 684,
2460 683, 202, 118, 118, 0, 0, 0, 0, 118, 202,
2461 0, 11, 0, 69, 70, 71, 72, 73, 0, 126,
2462 126, 0, 0, 0, 675, 126, 131, 131, 0, 0,
2463 76, 77, 131, 158, 158, 0, 684, 0, 0, 158,
2464 0, 118, 0, 0, 87, 0, 0, 0, 1467, 214,
2465 0, 0, 0, 387, 679, 0, 0, 0, 126, 92,
2466 0, 0, 203, 0, 1480, 131, 0, 0, 0, 1112,
2467 0, 0, 158, 1469, 1113, 0, 55, 56, 57, 170,
2468 171, 327, 1114, 0, 0, 1111, 0, 0, 0, 0,
2469 0, 679, 0, -788, -788, -788, -788, 353, 354, 355,
2470 356, 357, 358, 359, 360, 118, 361, 0, 0, 0,
2471 118, 0, 203, 0, 0, 0, 0, 0, 1115, 1116,
2472 0, 1117, 126, 11, 0, 0, 0, 126, 0, 131,
2473 214, 214, 0, 0, 131, 0, 158, 214, 0, 0,
2474 0, 158, 0, 94, 0, 0, 0, 203, 0, 203,
2475 0, 0, 0, 202, 0, 0, 0, 0, 248, 0,
2476 0, 0, 0, 0, 0, 0, 1227, 0, 0, 203,
2477 683, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 1112, 0, 683, 683, 683, 1113, 0, 55, 56,
2479 57, 170, 171, 327, 1114, 0, 0, 0, 0, 0,
2480 0, 0, 0, 202, 0, 0, 684, 0, 0, 0,
2481 0, 0, 0, 0, 879, 0, 0, 0, 0, 684,
2482 684, 684, 0, 203, 0, 0, 0, 0, 0, 0,
2483 1115, 1116, 891, 1117, 203, 203, 0, 0, 202, 0,
2484 202, 0, 0, 0, 0, 0, 0, 0, 0, 891,
2485 0, 0, 0, 0, 0, 94, 0, 0, 0, 0,
2486 202, 679, 0, 0, 0, 0, 0, 0, 0, 0,
2487 0, 0, 214, 214, 679, 679, 679, 0, 1363, 683,
2488 0, 0, 924, 343, 344, 345, 346, 347, 348, 349,
2489 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2490 360, 215, 361, 0, 0, 214, 0, 0, 0, 0,
2491 0, 0, 0, 0, 202, 684, 0, 0, 0, 0,
2492 0, 0, 0, 214, 0, 202, 202, 0, 0, 0,
2493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2494 214, 0, 0, 0, 203, 0, 0, 0, 0, 0,
2495 248, 248, 0, 214, 0, 248, 0, 0, 0, 0,
2496 0, 0, 0, 0, 214, 0, 0, 0, 0, 0,
2497 679, 0, 683, 214, 0, 0, 683, 0, 683, 0,
2498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2499 0, 0, 214, 0, 0, 0, 683, 0, 0, 0,
2500 0, 0, 0, 0, 0, 0, 0, 0, 684, 0,
2501 0, 0, 684, 0, 684, 0, 0, 0, 0, 0,
2502 0, 0, 0, 0, 0, 0, 248, 0, 0, 248,
2503 0, 203, 684, 0, 0, 202, 0, 0, 0, 0,
2504 0, 0, 0, 0, 0, 0, 0, 0, 214, 0,
2505 214, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2506 0, 0, 0, 679, 0, 0, 0, 679, 0, 679,
2507 0, 0, 203, 0, 0, 0, 0, 0, 0, 0,
2508 0, 0, 0, 0, 0, 203, 203, 679, 683, 0,
2509 214, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2510 0, 0, 683, 0, 683, 0, 0, 0, 0, 0,
2511 0, 0, 214, 0, 0, 214, 0, 0, 0, 0,
2512 0, 0, 202, 0, 684, 0, 0, 1110, 0, 0,
2513 203, 0, 0, 0, 0, 0, 0, 0, 684, 0,
2514 684, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2515 0, 683, 0, 0, 0, 248, 0, 0, 0, 0,
2516 681, 0, 0, 202, 0, 0, 0, 0, 0, 0,
2517 0, 0, 0, 0, 0, 0, 202, 202, 0, 679,
2518 0, 0, 0, 0, 0, 0, 0, 684, 0, 0,
2519 214, 0, 0, 679, 0, 679, 0, 681, 0, 0,
2520 0, 0, 0, 0, 0, 0, 0, 0, 0, 683,
2521 0, 0, 0, 0, 683, 0, 683, 0, 214, 0,
2522 0, 202, 0, 0, 0, 1185, 0, 1193, 0, 0,
2523 0, 0, 0, 0, 0, 0, 248, 248, 336, 337,
2524 338, 0, 679, 248, 0, 684, 683, 0, 0, 0,
2525 684, 0, 684, 0, 339, 0, 340, 341, 342, 343,
2526 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
2527 354, 355, 356, 357, 358, 359, 360, 0, 361, 0,
2528 0, 0, 684, 0, 683, 0, 0, 0, 0, 0,
2529 0, 0, 0, 1246, 1247, 0, 214, 0, 0, 0,
2530 679, 0, 0, 0, 0, 679, 0, 679, 0, 0,
2531 0, 0, 214, 0, 0, 214, 214, 0, 214, 0,
2532 684, 0, 0, 0, 0, 214, 683, 0, 0, 0,
2533 0, 0, 0, 0, 0, 0, 0, 679, 0, 0,
2534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2535 0, 0, 0, 0, 683, 683, 0, 0, 0, 0,
2536 683, 1378, 684, 241, 0, 1193, 0, 681, 0, 0,
2537 0, 0, 0, 0, 0, 679, 0, 0, 248, 248,
2538 681, 681, 681, 0, 214, 214, 0, 0, 0, 242,
2539 684, 684, 0, 0, 0, 0, 684, 0, 0, 0,
2540 1381, 0, 0, 0, 0, 0, 0, 0, 214, 33,
2541 0, 0, 0, 0, 0, 0, 0, 679, 0, 0,
2542 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0,
2543 0, 0, 0, 0, 0, 0, 448, 0, 0, 0,
2544 0, 0, 0, 0, 0, 679, 679, 0, 0, 0,
2545 0, 679, 214, 0, 0, 0, 214, 0, 0, 248,
2546 0, 0, 243, 0, 683, 0, 0, 0, 0, 0,
2547 248, 0, 0, 0, 0, 0, 681, 0, 0, 174,
2548 0, 0, 78, 0, 244, 0, 81, 82, 0, 83,
2549 84, 85, 0, 0, 0, 683, 0, 0, 0, 0,
2550 684, 0, 0, 0, 245, 0, 683, 0, 0, 0,
2551 0, 683, 95, 0, 96, 97, 98, 99, 100, 101,
2552 102, 103, 104, 105, 106, 107, 108, 0, 0, 0,
2553 246, 684, 33, 0, 199, 0, 0, 0, 0, 0,
2554 0, 0, 684, 0, 0, 0, 0, 684, 0, 0,
2555 0, 0, 0, 0, 248, 679, 248, 0, 680, 0,
2556 0, 0, 0, 0, 0, 0, 0, 0, 683, 681,
2557 1454, 0, 0, 681, 0, 681, 1477, 0, 0, 0,
2558 0, 0, 214, 0, 0, 0, 679, 0, 0, 0,
2559 0, 1185, 0, 681, 0, 680, 248, 679, 0, 0,
2560 0, 0, 679, 0, 684, 0, 0, 0, 0, 81,
2561 82, 0, 83, 84, 85, 0, 0, 0, 248, 0,
2562 0, 248, 0, 0, 683, 0, 0, 0, 33, 0,
2563 683, 0, 0, 0, 683, 95, 683, 96, 97, 98,
2564 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2565 0, 0, 0, 0, 0, 0, 617, 0, 113, 679,
2566 684, 0, 0, 0, 0, 0, 684, 214, 0, 0,
2567 684, 0, 684, 0, 0, 0, 0, 0, 0, 0,
2568 0, 0, 214, 0, 0, 681, 0, 0, 0, 0,
2569 0, 214, 0, 0, 0, 0, 248, 0, 0, 681,
2570 0, 681, 0, 0, 0, 81, 82, 214, 83, 84,
2571 85, 0, 0, 0, 0, 679, 0, 0, 0, 0,
2572 0, 679, 0, 0, 0, 679, 0, 679, 0, 0,
2573 0, 95, 0, 96, 97, 98, 99, 100, 101, 102,
2574 103, 104, 105, 106, 107, 108, 0, 0, 681, 555,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 680, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 680, 680,
2578 680, 0, 178, 180, 0, 182, 183, 184, 0, 187,
2579 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2580 198, 0, 248, 208, 211, 0, 681, 0, 0, 0,
2581 0, 681, 0, 681, 0, 229, 0, 0, 248, 0,
2582 0, 248, 237, 0, 240, 0, 0, 255, 0, 260,
2583 0, 248, 0, 0, 0, 0, 0, 0, 0, 0,
2584 0, 0, 0, 681, 0, 0, 0, 0, 0, 0,
2585 0, 0, 0, 0, 0, 0, 294, 0, 685, 0,
2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 301, 0, 0, 0, 680, 0, 0, 0, 0, 0,
2588 0, 681, 0, 0, 0, 0, 0, 304, 0, 0,
2589 0, 0, 0, 0, 0, 709, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 336, 337, 338, 0,
2591 0, 0, 0, 0, 248, 0, 0, 0, 0, 0,
2592 0, 0, 339, 681, 340, 341, 342, 343, 344, 345,
2593 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
2594 356, 357, 358, 359, 360, 0, 361, 0, 0, 0,
2595 0, 681, 681, 0, 0, 0, 0, 681, 402, 0,
2596 0, 0, 0, 0, 0, 0, 0, 680, 0, 0,
2597 0, 680, 0, 680, 344, 345, 346, 347, 348, 349,
2598 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2599 360, 680, 361, 0, 0, 336, 337, 338, 0, 426,
2600 0, 0, 426, 0, 0, 0, 0, 0, 0, 229,
2601 437, 339, 0, 340, 341, 342, 343, 344, 345, 346,
2602 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
2603 357, 358, 359, 360, 0, 361, 345, 346, 347, 348,
2604 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
2605 359, 360, 304, 361, 0, 0, 0, 0, 208, 0,
2606 0, 681, 509, 0, 0, 836, 0, 0, 0, 0,
2607 0, 0, 0, 0, 0, 0, 0, 0, 855, 856,
2608 0, 0, 0, 680, 0, 544, 0, 0, 1418, 0,
2609 0, 0, 681, 732, 0, 0, 553, 680, 0, 680,
2610 0, 0, 0, 681, 0, 0, 0, 0, 681, 0,
2611 0, 0, 0, 559, 560, 561, 563, 564, 565, 566,
2612 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
2613 577, 578, 579, 580, 581, 582, 583, 584, 0, 0,
2614 586, 586, 0, 589, 0, 0, 680, 0, 0, 0,
2615 604, 606, 607, 608, 609, 610, 611, 612, 613, 614,
2616 615, 616, 0, 0, 0, 681, 0, 586, 621, 0,
2617 553, 586, 624, 0, 921, 0, 0, 0, 604, 0,
2618 0, 0, 760, 0, 0, 0, 0, 0, 636, 0,
2619 638, 0, 0, 0, 0, 0, 553, 248, 0, 0,
2620 0, 0, 0, 0, 680, 0, 650, 0, 651, 680,
2621 0, 680, 0, 248, 0, 0, 0, 0, 0, 0,
2622 0, 681, 0, 0, 0, 0, 0, 681, 0, 0,
2623 0, 681, 0, 681, 0, 689, 0, 0, 692, 695,
2624 696, 680, 0, 0, 0, 0, 0, 0, 0, 241,
2625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 0, 707, 0, 0, 0, 0, 0, 0, 0, 0,
2627 0, 0, 0, 1001, 0, 242, 0, 0, 0, 680,
2628 0, 0, 336, 337, 338, 0, 0, 0, 0, 0,
2629 0, 1012, 0, 0, 0, 33, 736, 0, 339, 0,
2630 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
2631 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2632 360, 680, 361, -788, -788, -788, -788, 349, 350, 351,
2633 352, 353, 354, 355, 356, 357, 358, 359, 360, 774,
2634 361, 0, 0, 0, 0, 0, 0, 0, 243, 680,
2635 680, 0, 0, 0, 0, 680, 0, 0, 0, 0,
2636 0, 0, 0, 0, 0, 174, 0, 33, 78, 782,
2637 244, 0, 81, 82, 0, 83, 84, 85, 294, 0,
2638 0, 851, 0, 1082, 0, 0, 0, 0, 0, 0,
2639 245, 0, 0, 0, 791, 0, 0, 1094, 95, 1095,
2640 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2641 106, 107, 108, 0, 0, 0, 246, 33, 0, 0,
2642 823, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2643 0, 0, 0, 229, 0, 0, 0, 174, 0, 0,
2644 78, 0, 0, 0, 81, 82, 1135, 83, 84, 85,
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 680,
2646 0, 1197, 0, 0, 867, 0, 0, 0, 0, 795,
2647 95, 0, 96, 97, 98, 99, 100, 101, 102, 103,
2648 104, 105, 106, 107, 108, 0, 0, 0, 0, 0,
2649 680, 0, 1416, 0, 81, 82, 0, 83, 84, 85,
2650 0, 680, 0, 0, 1173, 0, 680, 0, 898, 1175,
2651 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0,
2652 95, 905, 96, 97, 98, 99, 100, 101, 102, 103,
2653 104, 105, 106, 107, 108, 0, 0, 0, 1198, 0,
2654 0, 1215, 920, 0, 0, 0, 0, 0, 0, 0,
2655 0, 0, 928, 0, 0, 929, 0, 930, 0, 0,
2656 0, 553, 0, 680, 0, 0, 0, 0, 0, 0,
2657 553, 0, 0, 0, 0, 0, 0, 0, 0, 1241,
2658 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
2659 0, 0, 0, 0, 0, 961, 339, 0, 340, 341,
2660 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
2661 352, 353, 354, 355, 356, 357, 358, 359, 360, 680,
2662 361, 1353, 0, 0, 0, 680, 0, 0, 0, 680,
2663 0, 680, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 1004, 1005, 1006, 0, 1371,
2665 1372, 692, 1008, 0, 0, 1377, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,
2667 0, 199, 0, 1021, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 1040, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 336, 337, 338, 0, 0, 0, 0, 553,
2671 0, 0, 0, 0, 0, 241, 0, 553, 339, 1021,
2672 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
2673 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2674 360, 242, 361, 0, 0, 0, 81, 82, 229, 83,
2675 84, 85, 0, 0, 0, 0, 0, 1086, 0, 1401,
2676 0, 33, 0, 0, 0, 0, 0, 798, 0, 0,
2677 0, 0, 95, 0, 96, 97, 98, 99, 100, 101,
2678 102, 103, 104, 105, 106, 107, 108, 0, 0, 0,
2679 1424, 0, 0, 643, 0, 113, 0, 0, 0, 0,
2680 0, 1434, 0, 0, 1129, 0, 1438, 0, 1130, 0,
2681 1131, 0, 0, 0, 243, 0, 0, 0, 0, 553,
2682 0, 0, 0, 0, 0, 0, 1144, 553, 0, 0,
2683 0, 174, 0, 0, 78, 553, 244, 0, 81, 82,
2684 0, 83, 84, 85, 0, 0, 0, 1092, 0, 0,
2685 0, 0, 0, 0, 0, 0, 245, 0, 0, 0,
2686 0, 0, 0, 1470, 95, 0, 96, 97, 98, 99,
2687 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
2688 0, 0, 246, 1177, 0, 0, 0, 0, 0, 883,
2689 0, 0, 0, 5, 6, 7, 8, 9, 0, 0,
2690 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2691 0, 0, 0, 0, 553, 0, 0, 0, 0, 1519,
2692 0, 0, 0, 0, 0, 1523, 0, 0, 0, 1525,
2693 0, 1526, 11, 12, 13, 0, 0, 0, 0, 14,
2694 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2695 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2696 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2697 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2698 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2699 49, 50, 51, 553, 52, 53, 54, 55, 56, 57,
2700 58, 59, 60, 0, 61, 62, 63, 64, 65, 66,
2701 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2702 73, 1373, 0, 0, 0, 0, 0, 74, 0, 0,
2703 0, 0, 75, 76, 77, 78, 79, 80, 0, 81,
2704 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2705 0, 88, 0, 0, 0, 0, 0, 89, 90, 0,
2706 91, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2707 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2708 109, 0, 0, 110, 0, 111, 112, 899, 113, 114,
2709 338, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2710 0, 0, 0, 10, 339, 0, 340, 341, 342, 343,
2711 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
2712 354, 355, 356, 357, 358, 359, 360, 0, 361, 0,
2713 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2714 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2715 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2716 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2717 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2718 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2719 49, 50, 51, 0, 52, 53, 54, 55, 56, 57,
2720 58, 59, 60, 0, 61, 62, 63, 64, 65, 66,
2721 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2722 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2723 0, 0, 75, 76, 77, 78, 79, 80, 0, 81,
2724 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2725 0, 88, 0, 0, 0, 0, 0, 89, 90, 0,
2726 91, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2727 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2728 109, 0, 0, 110, 0, 111, 112, 1023, 113, 114,
2729 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2730 0, 0, 339, 10, 340, 341, 342, 343, 344, 345,
2731 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
2732 356, 357, 358, 359, 360, 0, 361, 0, 0, 0,
2733 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2734 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2735 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2736 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2737 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2738 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2739 49, 50, 51, 0, 52, 53, 54, 55, 56, 57,
2740 58, 59, 60, 0, 61, 62, 63, 64, 65, 66,
2741 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2742 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2743 0, 0, 75, 76, 77, 78, 79, 80, 0, 81,
2744 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2745 0, 88, 0, 0, 0, 0, 0, 89, 90, 0,
2746 91, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2747 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2748 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
2749 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2750 0, 0, 0, 10, 340, 341, 342, 343, 344, 345,
2751 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
2752 356, 357, 358, 359, 360, 0, 361, 0, 0, 0,
2753 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2754 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2755 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2756 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2757 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2758 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2759 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2760 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2761 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2762 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2763 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2764 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2765 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2766 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2767 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2768 109, 0, 0, 110, 0, 111, 112, 538, 113, 114,
2769 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2770 0, 0, 0, 10, 341, 342, 343, 344, 345, 346,
2771 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
2772 357, 358, 359, 360, 0, 361, 0, 0, 0, 0,
2773 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2774 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2775 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2776 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2777 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2778 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2779 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2780 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2781 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2782 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2783 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2784 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2785 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2786 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2787 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2788 109, 0, 0, 110, 0, 111, 112, 878, 113, 114,
2789 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2790 0, 0, 0, 10, 342, 343, 344, 345, 346, 347,
2791 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
2792 358, 359, 360, 0, 361, 0, 0, 0, 0, 0,
2793 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2794 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2795 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2796 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2797 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2798 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2799 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2800 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2801 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2802 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2803 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2804 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2805 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2806 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2807 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2808 109, 0, 0, 110, 0, 111, 112, 968, 113, 114,
2809 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2810 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2814 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2815 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2816 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2817 37, 38, 39, 40, 970, 41, 0, 42, 0, 43,
2818 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2819 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2820 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2821 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2822 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2823 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2824 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2825 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2826 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2827 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2828 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
2829 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2830 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2834 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2835 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2836 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2837 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2838 1083, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2839 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2840 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2841 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2842 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2843 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2844 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2845 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2846 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2847 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2848 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
2849 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2850 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2854 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2855 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2856 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2857 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2858 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2859 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2860 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2861 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2862 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2863 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2864 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2865 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2866 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2867 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2868 109, 0, 0, 110, 0, 111, 112, 1179, 113, 114,
2869 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2870 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2874 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2875 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2876 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2877 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2878 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2879 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2880 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2881 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2882 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2883 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2884 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2885 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2886 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2887 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2888 109, 0, 0, 110, 0, 111, 112, 1374, 113, 114,
2889 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2890 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2894 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2895 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2896 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2897 37, 38, 39, 40, 0, 41, 0, 42, 1413, 43,
2898 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2899 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2900 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2901 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2902 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2903 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2904 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2905 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2906 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2907 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2908 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
2909 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2910 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2914 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2915 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2916 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2917 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2918 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2919 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2920 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2921 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2922 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2923 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2924 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2925 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2926 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2927 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2928 109, 0, 0, 110, 0, 111, 112, 1443, 113, 114,
2929 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2930 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2933 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2934 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2935 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2936 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2937 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2938 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2939 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2940 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2941 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2942 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2943 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2944 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2945 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2946 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2947 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2948 109, 0, 0, 110, 0, 111, 112, 1444, 113, 114,
2949 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2950 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2953 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2954 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2955 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2956 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2957 37, 38, 39, 40, 0, 41, 1447, 42, 0, 43,
2958 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2959 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2960 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2961 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2962 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2963 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2964 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2965 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2966 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2967 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2968 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
2969 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2970 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2973 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2974 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2975 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2976 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2977 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2978 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2979 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
2980 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
2981 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
2982 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
2983 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
2984 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
2985 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
2986 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
2987 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2988 109, 0, 0, 110, 0, 111, 112, 1462, 113, 114,
2989 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
2990 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
2991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2993 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
2994 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2995 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
2996 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
2997 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
2998 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
2999 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3000 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
3001 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3002 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3003 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3004 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
3005 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3006 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3007 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3008 109, 0, 0, 110, 0, 111, 112, 1515, 113, 114,
3009 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3010 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3013 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
3014 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3015 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3016 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3017 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3018 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3019 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3020 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
3021 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3022 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3023 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3024 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
3025 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3026 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3027 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3028 109, 0, 0, 110, 0, 111, 112, 1520, 113, 114,
3029 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3030 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3033 0, 0, 11, 12, 13, 0, 0, 0, 0, 14,
3034 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3035 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3036 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3037 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3038 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3039 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3040 58, 59, 60, 0, 61, 62, 63, 0, 65, 66,
3041 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3042 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3043 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3044 82, 0, 83, 84, 85, 86, 0, 87, 0, 0,
3045 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3046 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3047 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3048 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
3049 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3050 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3051 0, 0, 0, 0, 0, 0, 0, 427, 0, 0,
3052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3053 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3054 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3055 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3056 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3057 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3058 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3059 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3060 170, 171, 60, 0, 61, 62, 63, 0, 0, 0,
3061 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3062 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3063 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3064 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3065 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3066 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3067 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3068 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
3069 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3070 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3071 0, 0, 0, 0, 0, 0, 0, 653, 0, 0,
3072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3073 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3074 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3075 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3076 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3077 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3078 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3079 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3080 170, 171, 60, 0, 61, 62, 63, 0, 0, 0,
3081 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3082 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3083 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3084 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3085 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3086 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3087 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3088 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
3089 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3090 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3091 0, 0, 0, 0, 0, 0, 0, 838, 0, 0,
3092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3093 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3094 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3095 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3096 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3097 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3098 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3099 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3100 170, 171, 60, 0, 61, 62, 63, 0, 0, 0,
3101 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3102 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3103 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3104 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3105 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3106 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3107 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3108 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
3109 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3110 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3111 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0,
3112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3113 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3114 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3115 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3116 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3117 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3118 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3119 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3120 170, 171, 60, 0, 61, 62, 63, 0, 0, 0,
3121 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3122 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3123 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3124 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3125 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3126 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3127 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3128 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
3129 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3130 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3131 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0,
3132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3133 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3134 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3135 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3136 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3137 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3138 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3139 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3140 170, 171, 60, 0, 61, 62, 63, 0, 0, 0,
3141 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3142 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3143 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3144 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3145 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3146 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3147 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3148 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
3149 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3150 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3151 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3153 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3154 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3155 24, 25, 26, 27, 28, 29, 30, 0, 0, 0,
3156 31, 32, 33, 34, 35, 0, 36, 0, 0, 0,
3157 37, 38, 39, 40, 0, 41, 0, 42, 0, 43,
3158 0, 0, 44, 0, 0, 0, 45, 46, 47, 48,
3159 0, 50, 51, 0, 52, 0, 54, 55, 56, 57,
3160 170, 171, 60, 0, 61, 62, 63, 0, 0, 0,
3161 0, 0, 0, 0, 67, 68, 69, 70, 71, 72,
3162 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3163 0, 0, 174, 76, 77, 78, 79, 80, 0, 81,
3164 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3165 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3166 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3167 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3168 109, 0, 0, 110, 0, 111, 112, 0, 113, 114,
3169 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3170 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3172 0, 0, 600, 0, 0, 0, 0, 0, 0, 0,
3173 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3174 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3175 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3176 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3177 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3178 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3179 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3180 170, 171, 172, 0, 33, 62, 63, 0, 0, 0,
3181 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3182 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3183 0, 0, 174, 76, 77, 78, 601, 80, 0, 81,
3184 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3185 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3186 0, 0, 92, 93, 94, 95, 252, 96, 97, 98,
3187 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3188 109, 81, 82, 110, 83, 84, 85, 0, 113, 114,
3189 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3190 0, 0, 0, 10, 0, 0, 0, 95, 0, 96,
3191 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3192 107, 108, 0, 0, 0, 772, 0, 0, 0, 0,
3193 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3194 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3195 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3196 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3197 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3198 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3199 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3200 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3201 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3202 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3203 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3204 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3205 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3206 0, 0, 92, 93, 94, 95, 252, 96, 97, 98,
3207 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3208 109, 0, 0, 110, 0, 253, 0, 0, 113, 114,
3209 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3210 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3213 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3214 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3215 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3216 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3217 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3218 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3219 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3220 170, 171, 172, 0, 33, 62, 63, 0, 0, 0,
3221 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3222 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3223 0, 0, 174, 76, 77, 78, 601, 80, 0, 81,
3224 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3225 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3226 0, 0, 92, 93, 94, 95, 0, 96, 97, 98,
3227 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3228 109, 81, 82, 110, 83, 84, 85, 0, 113, 114,
3229 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3230 0, 0, 0, 10, 0, 0, 0, 95, 0, 96,
3231 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3232 107, 108, 207, 0, 0, 0, 0, 0, 0, 0,
3233 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3234 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3235 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3236 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3237 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3238 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3239 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3240 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3241 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3242 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3243 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3244 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3245 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3246 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3247 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3248 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3249 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3250 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3253 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3254 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3255 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3256 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3257 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3258 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3259 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3260 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3261 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3262 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3263 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3264 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3265 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3266 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3267 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3268 109, 0, 0, 110, 0, 236, 0, 0, 113, 114,
3269 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3270 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3273 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3274 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3275 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3276 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3277 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3278 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3279 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3280 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3281 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3282 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3283 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3284 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3285 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3286 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3287 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3288 109, 0, 0, 110, 0, 239, 0, 0, 113, 114,
3289 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3290 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3293 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3294 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3295 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3296 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3297 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3298 0, 0, 0, 0, 0, 0, 293, 0, 0, 48,
3299 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3300 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3301 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3302 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3303 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3304 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3305 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3306 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3307 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3308 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3309 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3310 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3313 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3314 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3315 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3316 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3317 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3318 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3319 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3320 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3321 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3322 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3323 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3324 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3325 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3326 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3327 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3328 109, 0, 0, 110, 425, 0, 0, 0, 113, 114,
3329 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3330 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 0, 550, 0, 0, 0, 0, 0, 0, 0,
3333 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3334 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3335 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3336 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3337 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3339 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3340 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3341 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3342 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3343 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3344 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3345 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3346 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3347 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3348 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3349 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3350 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3351 0, 0, 0, 0, 0, 0, 0, 562, 0, 0,
3352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3353 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3354 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3355 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3356 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3357 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3358 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3359 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3360 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3361 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3362 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3363 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3364 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3365 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3366 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3367 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3368 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3369 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3370 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3372 0, 0, 600, 0, 0, 0, 0, 0, 0, 0,
3373 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3374 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3375 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3376 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3377 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3378 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3379 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3380 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3381 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3382 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3383 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3384 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3385 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3386 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3387 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3388 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3389 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3390 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 635, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3394 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3395 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3396 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3397 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3398 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3399 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3400 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3401 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3402 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3403 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3404 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3405 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3406 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3407 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3408 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3409 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3410 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3412 0, 0, 637, 0, 0, 0, 0, 0, 0, 0,
3413 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3414 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3415 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3416 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3417 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3418 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3419 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3420 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3421 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3422 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3423 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3424 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3425 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3426 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3427 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3428 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3429 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3430 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3433 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3434 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3435 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3436 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3437 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3438 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3439 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3440 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3441 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3442 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3443 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3444 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3445 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3446 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3447 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3448 109, 0, 0, 110, 0, 0, 649, 0, 113, 114,
3449 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3450 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3452 0, 0, 919, 0, 0, 0, 0, 0, 0, 0,
3453 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3454 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3455 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3456 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3457 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3458 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3459 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3460 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3461 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3462 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3463 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3464 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3465 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3466 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3467 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3468 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3469 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3470 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3472 0, 0, 960, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3474 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3475 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3476 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3477 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3479 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3480 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3481 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3482 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3483 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3484 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3485 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3486 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3487 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3488 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3489 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3490 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3494 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3495 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3496 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
3497 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3498 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3499 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3500 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3501 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3502 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3503 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3504 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3505 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3506 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3507 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3508 109, 0, 0, 110, 0, 0, 0, 0, 113, 114,
3509 0, 115, 116, 5, 6, 7, 8, 9, 0, 0,
3510 0, 0, 0, 10, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 12, 13, 0, 0, 0, 0, 14,
3514 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3515 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
3516 31, 32, 33, 508, 35, 0, 0, 0, 0, 0,
3517 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3518 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
3519 0, 0, 0, 0, 0, 0, 0, 55, 56, 57,
3520 170, 171, 172, 0, 0, 62, 63, 0, 0, 0,
3521 0, 0, 0, 0, 173, 68, 69, 70, 71, 72,
3522 73, 0, 0, 0, 0, 0, 0, 74, 0, 0,
3523 0, 0, 174, 76, 77, 78, 0, 80, 0, 81,
3524 82, 0, 83, 84, 85, 0, 0, 87, 0, 0,
3525 0, 88, 0, 0, 0, 0, 0, 89, 0, 0,
3526 0, 0, 92, 0, 94, 95, 0, 96, 97, 98,
3527 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3528 109, 0, 0, 110, 336, 337, 338, 0, 113, 114,
3529 0, 115, 116, 0, 0, 0, 0, 0, 0, 0,
3530 339, 0, 340, 341, 342, 343, 344, 345, 346, 347,
3531 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3532 358, 359, 360, 0, 361, 336, 337, 338, 0, 0,
3533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3534 0, 339, 0, 340, 341, 342, 343, 344, 345, 346,
3535 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3536 357, 358, 359, 360, 0, 361, 336, 337, 338, 0,
3537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3538 0, 0, 339, 0, 340, 341, 342, 343, 344, 345,
3539 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
3540 356, 357, 358, 359, 360, 0, 361, 336, 337, 338,
3541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3542 0, 0, 0, 339, 0, 340, 341, 342, 343, 344,
3543 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
3544 355, 356, 357, 358, 359, 360, 0, 361, 0, 0,
3545 0, 0, 0, 0, 336, 337, 338, 0, 0, 0,
3546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3547 339, 931, 340, 341, 342, 343, 344, 345, 346, 347,
3548 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3549 358, 359, 360, 0, 361, 336, 337, 338, 0, 0,
3550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3551 0, 339, 939, 340, 341, 342, 343, 344, 345, 346,
3552 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3553 357, 358, 359, 360, 0, 361, 0, 0, 0, 336,
3554 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
3555 0, 0, 0, 962, 0, 339, 1087, 340, 341, 342,
3556 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3557 353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
3558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3559 0, 0, 0, 0, 1136, 0, 0, 0, 0, 0,
3560 336, 337, 338, 0, 0, 1255, 1256, 1257, 1258, 1259,
3561 0, 0, 1260, 1261, 1262, 1263, 339, 0, 340, 341,
3562 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
3563 352, 353, 354, 355, 356, 357, 358, 359, 360, 0,
3564 361, 1211, 0, 0, 0, 0, 0, 0, 0, 0,
3565 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0,
3566 0, 0, 0, 0, 0, 1265, 1266, 1267, 1268, 1269,
3567 1270, 1271, 0, 0, 33, 0, 0, 0, 0, 0,
3568 0, 0, 1212, 1272, 1273, 1274, 1275, 1276, 1277, 1278,
3569 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288,
3570 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
3571 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
3572 1309, 1310, 1311, 1312, 1088, 0, 1313, 1314, 1315, 1316,
3573 1317, 1318, 1319, 0, 0, 0, 0, 0, 0, 0,
3574 0, 0, 0, 0, 1320, 1321, 1322, 0, 1323, 0,
3575 0, 81, 82, 0, 83, 84, 85, 1324, 1325, 1326,
3576 0, 0, 1327, 0, 0, 0, 0, 0, 0, 1328,
3577 1329, 1244, 1330, 0, 1331, 1332, 1333, 95, 0, 96,
3578 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3579 107, 108, 336, 337, 338, 0, 0, 0, 0, 0,
3580 0, 0, 0, 0, 0, 0, 0, 0, 339, 0,
3581 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
3582 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3583 360, 0, 361, 336, 337, 338, 0, 0, 0, 0,
3584 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
3585 0, 340, 341, 342, 343, 344, 345, 346, 347, 348,
3586 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3587 359, 360, 0, 361, 336, 337, 338, 0, 0, 0,
3588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3589 339, 0, 340, 341, 342, 343, 344, 345, 346, 347,
3590 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3591 358, 359, 360, 0, 361, 336, 337, 338, 0, 0,
3592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3593 0, 339, 0, 340, 341, 342, 343, 344, 345, 346,
3594 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3595 357, 358, 359, 360, 0, 361, 0, 0, 0, 0,
3596 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
3597 0, 0, 0, 0, 0, 0, 339, 362, 340, 341,
3598 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
3599 352, 353, 354, 355, 356, 357, 358, 359, 360, 0,
3600 361, 336, 337, 338, 0, 0, 0, 0, 0, 0,
3601 0, 0, 0, 0, 0, 0, 0, 339, 441, 340,
3602 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3603 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3604 0, 361, 336, 337, 338, 0, 0, 0, 0, 0,
3605 0, 0, 0, 0, 0, 0, 0, 0, 339, 443,
3606 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
3607 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3608 360, 0, 361, 336, 337, 338, 0, 0, 0, 0,
3609 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
3610 455, 340, 341, 342, 343, 344, 345, 346, 347, 348,
3611 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3612 359, 360, 0, 361, 0, 0, 0, 0, 336, 337,
3613 338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3614 0, 0, 0, 0, 339, 479, 340, 341, 342, 343,
3615 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
3616 354, 355, 356, 357, 358, 359, 360, 0, 361, 0,
3617 336, 337, 338, 0, 0, 33, 0, 199, 0, 0,
3618 0, 0, 0, 0, 0, 627, 339, 0, 340, 341,
3619 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
3620 352, 353, 354, 355, 356, 357, 358, 359, 360, 0,
3621 361, 336, 337, 338, 0, 0, 0, 0, 0, 0,
3622 0, 0, 0, 0, 0, 0, 646, 339, 0, 340,
3623 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
3624 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
3625 241, 361, 81, 82, 0, 83, 84, 85, 0, 0,
3626 0, 0, 875, 0, 0, 0, 0, 0, 0, 0,
3627 0, 0, 0, 0, 0, 0, 242, 0, 95, 0,
3628 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3629 106, 107, 108, 0, 0, 0, 33, 0, 0, 915,
3630 0, 113, 0, 871, 872, 0, 0, 0, 0, 0,
3631 0, 0, 0, 0, 0, 241, 0, 0, 0, 0,
3632 0, 0, 0, -288, 0, 0, 0, 0, 0, 0,
3633 0, 55, 56, 57, 170, 171, 327, 0, 0, 0,
3634 832, 242, 1414, 0, 0, 0, 0, 0, 0, 243,
3635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3636 0, 33, 0, 0, 0, 0, 174, 0, 0, 78,
3637 0, 244, 0, 81, 82, 0, 83, 84, 85, 0,
3638 33, 1106, 199, 0, 0, 0, 0, 0, 0, 0,
3639 0, 245, 0, 0, 0, 0, 0, 0, 94, 95,
3640 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
3641 105, 106, 107, 108, 243, 0, 0, 246, 0, 0,
3642 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3643 0, 174, 833, 0, 78, 0, 244, 0, 81, 82,
3644 0, 83, 84, 85, 33, 0, 726, 727, 0, 0,
3645 174, 0, 0, 78, 0, 80, 245, 81, 82, 0,
3646 83, 84, 85, 0, 95, 0, 96, 97, 98, 99,
3647 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
3648 671, 672, 246, 95, 0, 96, 97, 98, 99, 100,
3649 101, 102, 103, 104, 105, 106, 107, 108, 0, 673,
3650 0, 201, 0, 0, 0, 0, 113, 31, 32, 33,
3651 0, 0, 0, 0, 0, 0, 0, 37, 0, 0,
3652 0, 81, 82, 0, 83, 84, 85, 0, 0, 0,
3653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3654 0, 0, 0, 0, 0, 0, 0, 95, 0, 96,
3655 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3656 107, 108, 674, 69, 70, 71, 72, 73, 0, 800,
3657 801, 0, 0, 0, 675, 0, 0, 0, 0, 174,
3658 76, 77, 78, 0, 676, 0, 81, 82, 802, 83,
3659 84, 85, 0, 0, 87, 0, 803, 804, 33, 0,
3660 0, 0, 0, 0, 677, 0, 805, 0, 0, 92,
3661 0, 0, 678, 0, 96, 97, 98, 99, 100, 101,
3662 102, 103, 104, 105, 106, 107, 108, 0, 0, 0,
3663 0, 0, 0, 0, 0, 0, 0, 27, 28, 0,
3664 0, 0, 0, 0, 0, 0, 33, 0, 199, 0,
3665 0, 806, 0, 0, 0, 0, 0, 0, 0, 0,
3666 0, 0, 0, 807, 0, 0, 0, 0, 0, 0,
3667 0, 0, 0, 0, 0, 81, 82, 0, 83, 84,
3668 85, 0, 0, 0, 0, 0, 200, 0, 789, 0,
3669 0, 0, 0, 808, 0, 0, 33, 0, 199, 0,
3670 0, 809, 0, 96, 97, 98, 99, 100, 101, 102,
3671 103, 104, 105, 106, 107, 108, 174, 0, 0, 78,
3672 0, 80, 0, 81, 82, 0, 83, 84, 85, 0,
3673 0, 0, 0, 0, 0, 88, 200, 0, 0, 0,
3674 0, 0, 0, 0, 0, 0, 33, 0, 199, 95,
3675 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
3676 105, 106, 107, 108, 0, 0, 174, 406, 0, 78,
3677 0, 80, 113, 81, 82, 0, 83, 84, 85, 0,
3678 0, 0, 0, 0, 0, 0, 200, 0, 0, 0,
3679 0, 0, 0, 0, 0, 0, 33, 0, 199, 95,
3680 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
3681 105, 106, 107, 108, 0, 0, 174, 201, 0, 78,
3682 0, 80, 113, 81, 82, 0, 83, 84, 85, 0,
3683 0, 0, 0, 0, 0, 0, 200, 0, 0, 0,
3684 0, 0, 0, 0, 0, 0, 0, 0, 500, 95,
3685 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
3686 105, 106, 107, 108, 0, 0, 174, 201, 0, 78,
3687 484, 80, 113, 81, 82, 0, 83, 84, 85, 33,
3688 0, 199, 0, 0, 0, 0, 0, 0, 0, 0,
3689 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
3690 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
3691 105, 106, 107, 108, 0, 0, 0, 201, 0, 200,
3692 0, 0, 113, 0, 0, 0, 0, 0, 0, 0,
3693 0, 894, 0, 33, 0, 199, 0, 0, 0, 0,
3694 0, 0, 0, 0, 0, 0, 0, 0, 0, 174,
3695 0, 0, 78, 0, 80, 0, 81, 82, 0, 83,
3696 84, 85, 0, 0, 0, 0, 0, 0, 0, 0,
3697 0, 0, 0, 200, 0, 0, 0, 0, 943, 944,
3698 33, 0, 95, 0, 96, 97, 98, 99, 100, 101,
3699 102, 103, 104, 105, 106, 107, 108, 33, 0, 199,
3700 201, 0, 0, 174, 0, 113, 78, 0, 80, 0,
3701 81, 82, 0, 83, 84, 85, 0, 0, 0, 0,
3702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3703 0, 0, 0, 0, 0, 0, 95, 212, 96, 97,
3704 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3705 108, 33, 0, 0, 201, 0, 0, 81, 82, 113,
3706 83, 84, 85, 0, 0, 0, 0, 174, 0, 0,
3707 78, 33, 80, 0, 81, 82, 0, 83, 84, 85,
3708 0, 0, 0, 95, 0, 96, 97, 98, 99, 100,
3709 101, 102, 103, 104, 105, 106, 107, 108, 0, 0,
3710 95, 0, 96, 97, 98, 99, 100, 101, 102, 103,
3711 104, 105, 106, 107, 108, 0, 0, 0, 213, 0,
3712 0, 0, 0, 113, 289, 0, 0, 0, 81, 82,
3713 0, 83, 84, 85, 0, 0, 33, 0, 0, 0,
3714 0, 0, 0, 0, 0, 0, 1339, 0, 81, 82,
3715 1340, 83, 84, 85, 95, 33, 96, 97, 98, 99,
3716 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
3717 0, 0, 0, 0, 95, 290, 96, 97, 98, 99,
3718 100, 101, 102, 103, 104, 105, 106, 107, 108, 0,
3719 0, 0, 1198, 0, 0, 0, 1186, 0, 0, 0,
3720 33, 0, 0, 0, 0, 0, 174, 0, 1187, 78,
3721 0, 80, 0, 81, 82, 33, 83, 84, 85, 0,
3722 0, 0, 0, 0, 0, 174, 0, 0, 78, 0,
3723 1188, 0, 81, 82, 0, 83, 1189, 85, 0, 95,
3724 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
3725 105, 106, 107, 108, 0, 0, 0, 0, 95, 0,
3726 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3727 106, 107, 108, 261, 0, 0, 0, 81, 82, 0,
3728 83, 84, 85, 0, 0, 0, 0, 0, 0, 0,
3729 324, 0, 81, 82, 0, 83, 84, 85, 0, 0,
3730 0, 0, 0, 95, 0, 96, 97, 98, 99, 100,
3731 101, 102, 103, 104, 105, 106, 107, 108, 95, 0,
3732 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3733 106, 107, 108, 336, 337, 338, 0, 0, 0, 0,
3734 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
3735 0, 340, 341, 342, 343, 344, 345, 346, 347, 348,
3736 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3737 359, 360, 0, 361, 336, 337, 338, 0, 0, 0,
3738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3739 339, 0, 340, 341, 342, 343, 344, 345, 346, 347,
3740 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
3741 358, 359, 360, 0, 361, 0, 0, 0, 0, 0,
3742 0, 0, 0, 0, 0, 0, 0, 0, 0, 336,
3743 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
3744 0, 0, 0, 0, 0, 339, 411, 340, 341, 342,
3745 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
3746 353, 354, 355, 356, 357, 358, 359, 360, 0, 361,
3747 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
3748 0, 0, 0, 0, 0, 0, 339, 519, 340, 341,
3749 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
3750 352, 353, 354, 355, 356, 357, 358, 359, 360, 0,
3751 361, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3752 0, 0, 0, 0, 0, 336, 337, 338, 0, 0,
3753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3754 0, 339, 778, 340, 341, 342, 343, 344, 345, 346,
3755 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
3756 357, 358, 359, 360, 0, 361, 336, 337, 338, 0,
3757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3758 0, 0, 339, 818, 340, 341, 342, 343, 344, 345,
3759 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
3760 356, 357, 358, 359, 360, 0, 361, 0, 0, 0,
3761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3763 0, 0, 336, 337, 338, 0, 0, 0, 1049, 0,
3764 0, 0, 0, 0, 0, 0, 0, 657, 339, 775,
3765 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
3766 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
3767 360, 0, 361, 336, 337, 338, 0, 0, 0, 0,
3768 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
3769 0, 340, 341, 342, 343, 344, 345, 346, 347, 348,
3770 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3771 359, 360, 0, 361, 337, 338, 0, 0, 0, 0,
3772 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
3773 0, 340, 341, 342, 343, 344, 345, 346, 347, 348,
3774 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
3775 359, 360, 0, 361
3778 #define yypact_value_is_default(yystate) \
3779 ((yystate) == (-1217))
3781 #define yytable_value_is_error(yytable_value) \
3782 ((yytable_value) == (-788))
3784 static const yytype_int16 yycheck[] =
3786 4, 131, 86, 156, 4, 176, 90, 91, 30, 552,
3787 4, 4, 320, 628, 50, 4, 398, 4, 40, 912,
3788 28, 373, 44, 214, 4, 361, 427, 405, 159, 393,
3789 768, 4, 752, 317, 745, 1044, 53, 220, 515, 220,
3790 902, 9, 46, 656, 9, 49, 130, 177, 27, 9,
3791 27, 24, 25, 9, 166, 419, 302, 9, 75, 9,
3792 110, 78, 66, 4, 241, 242, 9, 42, 122, 246,
3793 62, 42, 62, 9, 9, 476, 9, 9, 9, 9,
3794 9, 9, 86, 9, 9, 9, 90, 91, 9, 9,
3795 221, 9, 9, 9, 9, 9, 110, 94, 95, 9,
3796 74, 42, 662, 47, 30, 103, 122, 74, 14, 15,
3797 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3798 79, 122, 107, 108, 109, 74, 130, 771, 74, 0,
3799 42, 1140, 122, 1142, 193, 860, 193, 110, 148, 864,
3800 317, 951, 786, 197, 131, 955, 1362, 525, 93, 94,
3801 95, 201, 863, 91, 60, 61, 193, 328, 8, 100,
3802 62, 62, 160, 213, 105, 62, 107, 108, 109, 110,
3803 111, 112, 113, 193, 42, 42, 156, 62, 194, 138,
3804 62, 62, 186, 158, 1046, 923, 196, 158, 926, 62,
3805 177, 1053, 1054, 194, 1410, 141, 62, 62, 62, 62,
3806 197, 193, 62, 147, 196, 62, 196, 145, 149, 150,
3807 62, 152, 164, 591, 62, 1224, 122, 196, 195, 194,
3808 191, 122, 226, 194, 198, 275, 230, 195, 201, 400,
3809 234, 198, 197, 174, 207, 195, 196, 226, 194, 323,
3810 213, 230, 372, 954, 261, 195, 158, 251, 649, 198,
3811 164, 194, 653, 226, 164, 367, 197, 230, 735, 195,
3812 195, 275, 195, 195, 195, 195, 195, 195, 194, 446,
3813 195, 195, 289, 194, 194, 387, 194, 194, 194, 194,
3814 47, 841, 194, 843, 141, 369, 370, 1149, 194, 667,
3815 158, 158, 936, 266, 196, 196, 193, 409, 193, 196,
3816 273, 274, 275, 307, 32, 163, 418, 280, 196, 421,
3817 1048, 196, 316, 286, 196, 196, 320, 193, 32, 323,
3818 307, 94, 95, 196, 191, 74, 194, 307, 91, 79,
3819 196, 196, 196, 196, 307, 193, 196, 373, 74, 196,
3820 722, 956, 74, 79, 196, 147, 74, 79, 196, 74,
3821 527, 528, 535, 361, 535, 1364, 406, 534, 971, 367,
3822 74, 118, 62, 367, 368, 369, 370, 107, 108, 109,
3823 110, 111, 112, 107, 108, 109, 110, 111, 112, 387,
3824 147, 118, 145, 387, 371, 669, 193, 1098, 138, 138,
3825 139, 140, 24, 25, 74, 162, 28, 32, 193, 79,
3826 193, 409, 593, 139, 140, 409, 74, 139, 140, 32,
3827 418, 79, 1150, 421, 139, 140, 193, 421, 74, 148,
3828 784, 74, 122, 79, 197, 398, 79, 618, 599, 793,
3829 434, 74, 161, 406, 174, 813, 79, 838, 193, 74,
3830 174, 193, 4, 634, 145, 434, 1061, 1158, 1063, 32,
3831 633, 74, 633, 789, 145, 195, 639, 32, 639, 139,
3832 140, 434, 67, 68, 481, 14, 202, 196, 141, 201,
3833 138, 139, 140, 1482, 558, 67, 68, 364, 27, 483,
3834 42, 859, 138, 139, 140, 193, 139, 140, 679, 1498,
3835 163, 74, 669, 670, 498, 44, 139, 140, 196, 74,
3836 504, 505, 27, 390, 195, 196, 752, 394, 639, 14,
3837 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3838 25, 193, 768, 196, 14, 15, 16, 17, 18, 19,
3839 20, 21, 22, 23, 24, 25, 32, 141, 100, 62,
3840 26, 1156, 62, 105, 896, 107, 108, 109, 110, 111,
3841 112, 113, 62, 99, 558, 60, 61, 43, 195, 163,
3842 46, 107, 108, 109, 110, 111, 112, 195, 932, 201,
3843 60, 61, 950, 750, 283, 207, 940, 550, 287, 26,
3844 195, 213, 195, 196, 761, 120, 121, 149, 150, 193,
3845 152, 973, 196, 195, 196, 1488, 43, 1388, 1389, 46,
3846 309, 195, 311, 312, 313, 314, 93, 94, 95, 195,
3847 1011, 1504, 174, 114, 115, 116, 1231, 122, 195, 997,
3848 1384, 1385, 195, 141, 628, 1003, 630, 600, 174, 196,
3849 652, 62, 122, 193, 266, 197, 1018, 193, 176, 177,
3850 178, 273, 274, 647, 756, 183, 184, 141, 280, 187,
3851 188, 193, 145, 41, 286, 659, 660, 46, 47, 48,
3852 647, 50, 635, 50, 637, 163, 141, 647, 845, 122,
3853 847, 660, 200, 1074, 647, 9, 141, 923, 1042, 141,
3854 926, 193, 122, 8, 657, 163, 1050, 660, 1089, 194,
3855 14, 1069, 195, 193, 1058, 14, 74, 701, 195, 14,
3856 704, 80, 163, 195, 788, 194, 14, 195, 91, 194,
3857 887, 194, 193, 99, 701, 43, 44, 45, 46, 47,
3858 48, 701, 50, 199, 4, 916, 193, 193, 701, 361,
3859 734, 9, 909, 83, 734, 912, 194, 1457, 711, 194,
3860 734, 734, 9, 195, 14, 734, 9, 734, 756, 722,
3861 723, 1366, 756, 80, 734, 1475, 193, 179, 74, 182,
3862 1161, 734, 42, 1483, 74, 74, 398, 193, 1169, 74,
3863 1016, 195, 120, 1137, 406, 194, 194, 1178, 1024, 193,
3864 62, 789, 194, 121, 788, 162, 123, 9, 194, 14,
3865 191, 9, 194, 62, 9, 14, 800, 801, 802, 120,
3866 200, 200, 1048, 825, 1112, 197, 9, 200, 193, 193,
3867 987, 123, 194, 193, 9, 141, 179, 179, 194, 200,
3868 100, 195, 826, 195, 828, 105, 830, 107, 108, 109,
3869 110, 111, 112, 113, 194, 1236, 193, 826, 193, 193,
3870 141, 828, 14, 830, 196, 9, 74, 196, 828, 14,
3871 830, 195, 1216, 826, 91, 828, 196, 830, 862, 832,
3872 896, 865, 1405, 14, 200, 196, 14, 27, 14, 149,
3873 150, 9, 152, 195, 194, 107, 108, 109, 110, 111,
3874 112, 195, 193, 123, 888, 14, 118, 119, 195, 193,
3875 193, 193, 9, 193, 174, 1141, 900, 1205, 193, 193,
3876 900, 1147, 1148, 194, 1150, 194, 900, 900, 200, 123,
3877 4, 900, 9, 900, 138, 74, 1093, 197, 550, 9,
3878 900, 193, 123, 155, 195, 74, 194, 900, 14, 193,
3879 1473, 196, 1109, 193, 193, 196, 24, 25, 194, 196,
3880 28, 963, 174, 193, 123, 1122, 919, 951, 42, 194,
3881 9, 955, 956, 200, 138, 27, 1357, 72, 1359, 74,
3882 69, 195, 966, 194, 164, 195, 1367, 27, 600, 123,
3883 9, 1124, 9, 977, 194, 91, 123, 966, 194, 14,
3884 197, 194, 1228, 194, 193, 197, 194, 960, 194, 194,
3885 977, 123, 1122, 966, 196, 193, 9, 977, 194, 27,
3886 973, 974, 194, 635, 977, 637, 100, 1408, 194, 194,
3887 123, 105, 195, 107, 108, 109, 110, 111, 112, 113,
3888 194, 196, 195, 151, 195, 657, 147, 24, 25, 74,
3889 14, 28, 1203, 194, 149, 150, 1016, 152, 153, 154,
3890 193, 105, 194, 123, 1024, 1018, 123, 123, 14, 194,
3891 194, 194, 49, 74, 196, 149, 150, 1061, 152, 1063,
3892 175, 195, 177, 178, 179, 180, 181, 182, 183, 184,
3893 185, 186, 187, 188, 189, 14, 194, 196, 14, 711,
3894 174, 196, 193, 198, 194, 123, 14, 195, 195, 194,
3895 722, 723, 196, 52, 74, 193, 74, 9, 74, 195,
3896 103, 1502, 91, 197, 1108, 141, 91, 1508, 1112, 30,
3897 154, 14, 193, 1117, 160, 194, 74, 195, 193, 207,
3898 194, 1108, 156, 9, 74, 195, 194, 194, 1108, 74,
3899 196, 14, 14, 74, 1121, 1108, 14, 14, 481, 1465,
3900 156, 370, 368, 787, 1124, 785, 369, 737, 1479, 974,
3901 1475, 486, 1156, 1253, 1117, 1337, 1507, 789, 1162, 1086,
3902 1349, 1141, 1166, 1496, 38, 1223, 1170, 1147, 1148, 910,
3903 877, 874, 465, 903, 373, 1162, 698, 1166, 266, 465,
3904 1351, 801, 1162, 1170, 938, 273, 274, 274, 1192, 1162,
3905 1170, 815, 280, 1166, 1198, -1, 281, 1170, 286, 848,
3906 832, 1205, -1, -1, 201, -1, -1, -1, -1, -1,
3907 207, 1457, -1, -1, -1, -1, 213, -1, -1, -1,
3908 1207, -1, -1, -1, -1, -1, -1, 1231, -1, 1475,
3909 1234, 1235, -1, -1, -1, 1239, -1, 1483, -1, -1,
3910 -1, 1245, -1, -1, 241, 242, 1235, 1234, 1228, 246,
3911 -1, -1, 1239, -1, 1234, -1, -1, -1, 1245, 1239,
3912 -1, 1234, 1235, -1, 1348, 1245, 1239, -1, -1, 266,
3913 -1, -1, 1245, 361, -1, -1, 273, 274, -1, -1,
3914 -1, -1, -1, 280, -1, -1, -1, 919, -1, 286,
3915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3916 1453, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3917 398, 1488, -1, -1, -1, -1, 1400, -1, -1, -1,
3918 317, -1, -1, 320, -1, -1, -1, 1504, 960, -1,
3919 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1469,
3920 -1, 973, 974, -1, 1348, 14, 15, 16, 17, 18,
3921 19, 20, 21, 22, 23, 24, 25, 70, 71, -1,
3922 -1, -1, 1366, 451, 361, -1, 1370, 80, -1, -1,
3923 -1, -1, -1, 4, -1, 1379, -1, -1, -1, -1,
3924 1384, 1385, -1, 1370, 1388, 1389, 1018, -1, -1, -1,
3925 1370, 60, 61, -1, -1, -1, 1400, 1370, -1, 451,
3926 488, 398, 1406, 1407, -1, -1, -1, -1, 1412, 406,
3927 -1, 42, -1, 126, 127, 128, 129, 130, -1, 1406,
3928 1407, -1, -1, -1, 137, 1412, 1406, 1407, -1, -1,
3929 143, 144, 1412, 1406, 1407, -1, 488, -1, -1, 1412,
3930 -1, 1445, -1, -1, 157, -1, -1, -1, 1452, 446,
3931 -1, -1, -1, 122, 451, -1, -1, -1, 1445, 172,
3932 -1, -1, 550, -1, 1468, 1445, -1, -1, -1, 100,
3933 -1, -1, 1445, 1453, 105, -1, 107, 108, 109, 110,
3934 111, 112, 113, -1, -1, 4, -1, -1, -1, -1,
3935 -1, 488, -1, 37, 38, 39, 40, 41, 42, 43,
3936 44, 45, 46, 47, 48, 1509, 50, -1, -1, -1,
3937 1514, -1, 600, -1, -1, -1, -1, -1, 149, 150,
3938 -1, 152, 1509, 42, -1, -1, -1, 1514, -1, 1509,
3939 527, 528, -1, -1, 1514, -1, 1509, 534, -1, -1,
3940 -1, 1514, -1, 174, -1, -1, -1, 635, -1, 637,
3941 -1, -1, -1, 550, -1, -1, -1, -1, 49, -1,
3942 -1, -1, -1, -1, -1, -1, 197, -1, -1, 657,
3943 658, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3944 -1, 100, -1, 671, 672, 673, 105, -1, 107, 108,
3945 109, 110, 111, 112, 113, -1, -1, -1, -1, -1,
3946 -1, -1, -1, 600, -1, -1, 658, -1, -1, -1,
3947 -1, -1, -1, -1, 702, -1, -1, -1, -1, 671,
3948 672, 673, -1, 711, -1, -1, -1, -1, -1, -1,
3949 149, 150, 720, 152, 722, 723, -1, -1, 635, -1,
3950 637, -1, -1, -1, -1, -1, -1, -1, -1, 737,
3951 -1, -1, -1, -1, -1, 174, -1, -1, -1, -1,
3952 657, 658, -1, -1, -1, -1, -1, -1, -1, -1,
3953 -1, -1, 669, 670, 671, 672, 673, -1, 197, 767,
3954 -1, -1, 770, 31, 32, 33, 34, 35, 36, 37,
3955 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3956 48, 789, 50, -1, -1, 702, -1, -1, -1, -1,
3957 -1, -1, -1, -1, 711, 767, -1, -1, -1, -1,
3958 -1, -1, -1, 720, -1, 722, 723, -1, -1, -1,
3959 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3960 737, -1, -1, -1, 832, -1, -1, -1, -1, -1,
3961 241, 242, -1, 750, -1, 246, -1, -1, -1, -1,
3962 -1, -1, -1, -1, 761, -1, -1, -1, -1, -1,
3963 767, -1, 860, 770, -1, -1, 864, -1, 866, -1,
3964 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3965 -1, -1, 789, -1, -1, -1, 884, -1, -1, -1,
3966 -1, -1, -1, -1, -1, -1, -1, -1, 860, -1,
3967 -1, -1, 864, -1, 866, -1, -1, -1, -1, -1,
3968 -1, -1, -1, -1, -1, -1, 317, -1, -1, 320,
3969 -1, 919, 884, -1, -1, 832, -1, -1, -1, -1,
3970 -1, -1, -1, -1, -1, -1, -1, -1, 845, -1,
3971 847, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3972 -1, -1, -1, 860, -1, -1, -1, 864, -1, 866,
3973 -1, -1, 960, -1, -1, -1, -1, -1, -1, -1,
3974 -1, -1, -1, -1, -1, 973, 974, 884, 976, -1,
3975 887, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3976 -1, -1, 990, -1, 992, -1, -1, -1, -1, -1,
3977 -1, -1, 909, -1, -1, 912, -1, -1, -1, -1,
3978 -1, -1, 919, -1, 976, -1, -1, 1015, -1, -1,
3979 1018, -1, -1, -1, -1, -1, -1, -1, 990, -1,
3980 992, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3981 -1, 1039, -1, -1, -1, 446, -1, -1, -1, -1,
3982 451, -1, -1, 960, -1, -1, -1, -1, -1, -1,
3983 -1, -1, -1, -1, -1, -1, 973, 974, -1, 976,
3984 -1, -1, -1, -1, -1, -1, -1, 1039, -1, -1,
3985 987, -1, -1, 990, -1, 992, -1, 488, -1, -1,
3986 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1097,
3987 -1, -1, -1, -1, 1102, -1, 1104, -1, 1015, -1,
3988 -1, 1018, -1, -1, -1, 1113, -1, 1115, -1, -1,
3989 -1, -1, -1, -1, -1, -1, 527, 528, 10, 11,
3990 12, -1, 1039, 534, -1, 1097, 1134, -1, -1, -1,
3991 1102, -1, 1104, -1, 26, -1, 28, 29, 30, 31,
3992 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
3993 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
3994 -1, -1, 1134, -1, 1172, -1, -1, -1, -1, -1,
3995 -1, -1, -1, 1181, 1182, -1, 1093, -1, -1, -1,
3996 1097, -1, -1, -1, -1, 1102, -1, 1104, -1, -1,
3997 -1, -1, 1109, -1, -1, 1112, 1113, -1, 1115, -1,
3998 1172, -1, -1, -1, -1, 1122, 1214, -1, -1, -1,
3999 -1, -1, -1, -1, -1, -1, -1, 1134, -1, -1,
4000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4001 -1, -1, -1, -1, 1242, 1243, -1, -1, -1, -1,
4002 1248, 1249, 1214, 26, -1, 1253, -1, 658, -1, -1,
4003 -1, -1, -1, -1, -1, 1172, -1, -1, 669, 670,
4004 671, 672, 673, -1, 1181, 1182, -1, -1, -1, 52,
4005 1242, 1243, -1, -1, -1, -1, 1248, -1, -1, -1,
4006 1252, -1, -1, -1, -1, -1, -1, -1, 1205, 72,
4007 -1, -1, -1, -1, -1, -1, -1, 1214, -1, -1,
4008 -1, -1, -1, -1, -1, -1, -1, -1, 200, -1,
4009 -1, -1, -1, -1, -1, -1, 99, -1, -1, -1,
4010 -1, -1, -1, -1, -1, 1242, 1243, -1, -1, -1,
4011 -1, 1248, 1249, -1, -1, -1, 1253, -1, -1, 750,
4012 -1, -1, 125, -1, 1352, -1, -1, -1, -1, -1,
4013 761, -1, -1, -1, -1, -1, 767, -1, -1, 142,
4014 -1, -1, 145, -1, 147, -1, 149, 150, -1, 152,
4015 153, 154, -1, -1, -1, 1383, -1, -1, -1, -1,
4016 1352, -1, -1, -1, 167, -1, 1394, -1, -1, -1,
4017 -1, 1399, 175, -1, 177, 178, 179, 180, 181, 182,
4018 183, 184, 185, 186, 187, 188, 189, -1, -1, -1,
4019 193, 1383, 72, -1, 74, -1, -1, -1, -1, -1,
4020 -1, -1, 1394, -1, -1, -1, -1, 1399, -1, -1,
4021 -1, -1, -1, -1, 845, 1352, 847, -1, 451, -1,
4022 -1, -1, -1, -1, -1, -1, -1, -1, 1456, 860,
4023 1422, -1, -1, 864, -1, 866, 1464, -1, -1, -1,
4024 -1, -1, 1379, -1, -1, -1, 1383, -1, -1, -1,
4025 -1, 1479, -1, 884, -1, 488, 887, 1394, -1, -1,
4026 -1, -1, 1399, -1, 1456, -1, -1, -1, -1, 149,
4027 150, -1, 152, 153, 154, -1, -1, -1, 909, -1,
4028 -1, 912, -1, -1, 1512, -1, -1, -1, 72, -1,
4029 1518, -1, -1, -1, 1522, 175, 1524, 177, 178, 179,
4030 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4031 -1, -1, -1, -1, -1, -1, 196, -1, 198, 1456,
4032 1512, -1, -1, -1, -1, -1, 1518, 1464, -1, -1,
4033 1522, -1, 1524, -1, -1, -1, -1, -1, -1, -1,
4034 -1, -1, 1479, -1, -1, 976, -1, -1, -1, -1,
4035 -1, 1488, -1, -1, -1, -1, 987, -1, -1, 990,
4036 -1, 992, -1, -1, -1, 149, 150, 1504, 152, 153,
4037 154, -1, -1, -1, -1, 1512, -1, -1, -1, -1,
4038 -1, 1518, -1, -1, -1, 1522, -1, 1524, -1, -1,
4039 -1, 175, -1, 177, 178, 179, 180, 181, 182, 183,
4040 184, 185, 186, 187, 188, 189, -1, -1, 1039, 193,
4041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4042 -1, -1, -1, -1, -1, 658, -1, -1, -1, -1,
4043 -1, -1, -1, -1, -1, -1, -1, -1, 671, 672,
4044 673, -1, 5, 6, -1, 8, 9, 10, -1, 12,
4045 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
4046 23, -1, 1093, 26, 27, -1, 1097, -1, -1, -1,
4047 -1, 1102, -1, 1104, -1, 38, -1, -1, 1109, -1,
4048 -1, 1112, 45, -1, 47, -1, -1, 50, -1, 52,
4049 -1, 1122, -1, -1, -1, -1, -1, -1, -1, -1,
4050 -1, -1, -1, 1134, -1, -1, -1, -1, -1, -1,
4051 -1, -1, -1, -1, -1, -1, 79, -1, 451, -1,
4052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4053 93, -1, -1, -1, 767, -1, -1, -1, -1, -1,
4054 -1, 1172, -1, -1, -1, -1, -1, 110, -1, -1,
4055 -1, -1, -1, -1, -1, 488, -1, -1, -1, -1,
4056 -1, -1, -1, -1, -1, -1, 10, 11, 12, -1,
4057 -1, -1, -1, -1, 1205, -1, -1, -1, -1, -1,
4058 -1, -1, 26, 1214, 28, 29, 30, 31, 32, 33,
4059 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
4060 44, 45, 46, 47, 48, -1, 50, -1, -1, -1,
4061 -1, 1242, 1243, -1, -1, -1, -1, 1248, 181, -1,
4062 -1, -1, -1, -1, -1, -1, -1, 860, -1, -1,
4063 -1, 864, -1, 866, 32, 33, 34, 35, 36, 37,
4064 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
4065 48, 884, 50, -1, -1, 10, 11, 12, -1, 222,
4066 -1, -1, 225, -1, -1, -1, -1, -1, -1, 232,
4067 233, 26, -1, 28, 29, 30, 31, 32, 33, 34,
4068 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4069 45, 46, 47, 48, -1, 50, 33, 34, 35, 36,
4070 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
4071 47, 48, 275, 50, -1, -1, -1, -1, 281, -1,
4072 -1, 1352, 285, -1, -1, 658, -1, -1, -1, -1,
4073 -1, -1, -1, -1, -1, -1, -1, -1, 671, 672,
4074 -1, -1, -1, 976, -1, 308, -1, -1, 1379, -1,
4075 -1, -1, 1383, 197, -1, -1, 319, 990, -1, 992,
4076 -1, -1, -1, 1394, -1, -1, -1, -1, 1399, -1,
4077 -1, -1, -1, 336, 337, 338, 339, 340, 341, 342,
4078 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
4079 353, 354, 355, 356, 357, 358, 359, 360, -1, -1,
4080 363, 364, -1, 366, -1, -1, 1039, -1, -1, -1,
4081 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
4082 383, 384, -1, -1, -1, 1456, -1, 390, 391, -1,
4083 393, 394, 395, -1, 767, -1, -1, -1, 401, -1,
4084 -1, -1, 197, -1, -1, -1, -1, -1, 411, -1,
4085 413, -1, -1, -1, -1, -1, 419, 1488, -1, -1,
4086 -1, -1, -1, -1, 1097, -1, 429, -1, 431, 1102,
4087 -1, 1104, -1, 1504, -1, -1, -1, -1, -1, -1,
4088 -1, 1512, -1, -1, -1, -1, -1, 1518, -1, -1,
4089 -1, 1522, -1, 1524, -1, 458, -1, -1, 461, 462,
4090 463, 1134, -1, -1, -1, -1, -1, -1, -1, 26,
4091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4092 -1, 484, -1, -1, -1, -1, -1, -1, -1, -1,
4093 -1, -1, -1, 866, -1, 52, -1, -1, -1, 1172,
4094 -1, -1, 10, 11, 12, -1, -1, -1, -1, -1,
4095 -1, 884, -1, -1, -1, 72, 519, -1, 26, -1,
4096 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
4097 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
4098 48, 1214, 50, 33, 34, 35, 36, 37, 38, 39,
4099 40, 41, 42, 43, 44, 45, 46, 47, 48, 562,
4100 50, -1, -1, -1, -1, -1, -1, -1, 125, 1242,
4101 1243, -1, -1, -1, -1, 1248, -1, -1, -1, -1,
4102 -1, -1, -1, -1, -1, 142, -1, 72, 145, 592,
4103 147, -1, 149, 150, -1, 152, 153, 154, 601, -1,
4104 -1, 158, -1, 976, -1, -1, -1, -1, -1, -1,
4105 167, -1, -1, -1, 617, -1, -1, 990, 175, 992,
4106 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
4107 187, 188, 189, -1, -1, -1, 193, 72, -1, -1,
4108 643, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4109 -1, -1, -1, 656, -1, -1, -1, 142, -1, -1,
4110 145, -1, -1, -1, 149, 150, 1039, 152, 153, 154,
4111 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1352,
4112 -1, 116, -1, -1, 687, -1, -1, -1, -1, 197,
4113 175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
4114 185, 186, 187, 188, 189, -1, -1, -1, -1, -1,
4115 1383, -1, 197, -1, 149, 150, -1, 152, 153, 154,
4116 -1, 1394, -1, -1, 1097, -1, 1399, -1, 731, 1102,
4117 -1, 1104, -1, -1, -1, -1, -1, -1, -1, -1,
4118 175, 744, 177, 178, 179, 180, 181, 182, 183, 184,
4119 185, 186, 187, 188, 189, -1, -1, -1, 193, -1,
4120 -1, 1134, 765, -1, -1, -1, -1, -1, -1, -1,
4121 -1, -1, 775, -1, -1, 778, -1, 780, -1, -1,
4122 -1, 784, -1, 1456, -1, -1, -1, -1, -1, -1,
4123 793, -1, -1, -1, -1, -1, -1, -1, -1, 1172,
4124 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
4125 -1, -1, -1, -1, -1, 818, 26, -1, 28, 29,
4126 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
4127 40, 41, 42, 43, 44, 45, 46, 47, 48, 1512,
4128 50, 1214, -1, -1, -1, 1518, -1, -1, -1, 1522,
4129 -1, 1524, -1, -1, -1, -1, -1, -1, -1, -1,
4130 -1, -1, -1, -1, -1, 868, 869, 870, -1, 1242,
4131 1243, 874, 875, -1, -1, 1248, -1, -1, -1, -1,
4132 -1, -1, -1, -1, -1, -1, -1, -1, -1, 72,
4133 -1, 74, -1, 896, -1, -1, -1, -1, -1, -1,
4134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4135 -1, -1, 915, -1, -1, -1, -1, -1, -1, -1,
4136 -1, -1, 10, 11, 12, -1, -1, -1, -1, 932,
4137 -1, -1, -1, -1, -1, 26, -1, 940, 26, 942,
4138 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
4139 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
4140 48, 52, 50, -1, -1, -1, 149, 150, 971, 152,
4141 153, 154, -1, -1, -1, -1, -1, 980, -1, 1352,
4142 -1, 72, -1, -1, -1, -1, -1, 197, -1, -1,
4143 -1, -1, 175, -1, 177, 178, 179, 180, 181, 182,
4144 183, 184, 185, 186, 187, 188, 189, -1, -1, -1,
4145 1383, -1, -1, 196, -1, 198, -1, -1, -1, -1,
4146 -1, 1394, -1, -1, 1027, -1, 1399, -1, 1031, -1,
4147 1033, -1, -1, -1, 125, -1, -1, -1, -1, 1042,
4148 -1, -1, -1, -1, -1, -1, 1049, 1050, -1, -1,
4149 -1, 142, -1, -1, 145, 1058, 147, -1, 149, 150,
4150 -1, 152, 153, 154, -1, -1, -1, 158, -1, -1,
4151 -1, -1, -1, -1, -1, -1, 167, -1, -1, -1,
4152 -1, -1, -1, 1456, 175, -1, 177, 178, 179, 180,
4153 181, 182, 183, 184, 185, 186, 187, 188, 189, -1,
4154 -1, -1, 193, 1106, -1, -1, -1, -1, -1, 197,
4155 -1, -1, -1, 3, 4, 5, 6, 7, -1, -1,
4156 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4157 -1, -1, -1, -1, 1137, -1, -1, -1, -1, 1512,
4158 -1, -1, -1, -1, -1, 1518, -1, -1, -1, 1522,
4159 -1, 1524, 42, 43, 44, -1, -1, -1, -1, 49,
4160 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4161 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4162 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4163 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4164 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4165 100, 101, 102, 1216, 104, 105, 106, 107, 108, 109,
4166 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
4167 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4168 130, 1244, -1, -1, -1, -1, -1, 137, -1, -1,
4169 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4170 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4171 -1, 161, -1, -1, -1, -1, -1, 167, 168, -1,
4172 170, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4173 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4174 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4175 12, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4176 -1, -1, -1, 13, 26, -1, 28, 29, 30, 31,
4177 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
4178 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
4179 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4180 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4181 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4182 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4183 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4184 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4185 100, 101, 102, -1, 104, 105, 106, 107, 108, 109,
4186 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
4187 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4188 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4189 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4190 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4191 -1, 161, -1, -1, -1, -1, -1, 167, 168, -1,
4192 170, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4193 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4194 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4195 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4196 -1, -1, 26, 13, 28, 29, 30, 31, 32, 33,
4197 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
4198 44, 45, 46, 47, 48, -1, 50, -1, -1, -1,
4199 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4200 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4201 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4202 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4203 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4204 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4205 100, 101, 102, -1, 104, 105, 106, 107, 108, 109,
4206 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
4207 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4208 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4209 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4210 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4211 -1, 161, -1, -1, -1, -1, -1, 167, 168, -1,
4212 170, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4213 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4214 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4215 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4216 -1, -1, -1, 13, 28, 29, 30, 31, 32, 33,
4217 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
4218 44, 45, 46, 47, 48, -1, 50, -1, -1, -1,
4219 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4220 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4221 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4222 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4223 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4224 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4225 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4226 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4227 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4228 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4229 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4230 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4231 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4232 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4233 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4234 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4235 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4236 -1, -1, -1, 13, 29, 30, 31, 32, 33, 34,
4237 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
4238 45, 46, 47, 48, -1, 50, -1, -1, -1, -1,
4239 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4240 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4241 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4242 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4243 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4244 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4245 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4246 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4247 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4248 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4249 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4250 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4251 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4252 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4253 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4254 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4255 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4256 -1, -1, -1, 13, 30, 31, 32, 33, 34, 35,
4257 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
4258 46, 47, 48, -1, 50, -1, -1, -1, -1, -1,
4259 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4260 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4261 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4262 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4263 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4264 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4265 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4266 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4267 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4268 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4269 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4270 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4271 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4272 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4273 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4274 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4275 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4276 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4279 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4280 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4281 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4282 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4283 80, 81, 82, 83, 84, 85, -1, 87, -1, 89,
4284 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4285 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4286 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4287 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4288 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4289 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4290 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4291 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4292 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4293 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4294 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4295 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4296 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4298 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4299 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4300 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4301 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4302 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4303 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4304 90, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4305 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4306 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4307 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4308 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4309 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4310 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4311 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4312 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4313 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4314 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4315 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4316 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4318 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4319 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4320 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4321 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4322 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4323 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4324 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4325 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4326 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4327 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4328 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4329 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4330 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4331 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4332 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4333 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4334 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4335 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4336 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4337 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4338 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4339 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4340 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4341 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4342 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4343 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4344 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4345 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4346 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4347 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4348 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4349 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4350 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4351 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4352 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4353 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4354 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4355 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4356 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4357 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4358 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4359 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4360 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4361 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4362 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4363 80, 81, 82, 83, -1, 85, -1, 87, 88, 89,
4364 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4365 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4366 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4367 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4368 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4369 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4370 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4371 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4372 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4373 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4374 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4375 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4376 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4377 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4378 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4379 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4380 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4381 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4382 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4383 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4384 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4385 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4386 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4387 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4388 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4389 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4390 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4391 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4392 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4393 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4394 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4395 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4396 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4397 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4398 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4399 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4400 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4401 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4402 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4403 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4404 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4405 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4406 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4407 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4408 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4409 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4410 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4411 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4412 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4413 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4414 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4415 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4416 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4418 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4419 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4420 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4421 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4422 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4423 80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
4424 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4425 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4426 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4427 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4428 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4429 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4430 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4431 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4432 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4433 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4434 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4435 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4436 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4437 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4438 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4439 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4440 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4441 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4442 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4443 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4444 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4445 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4446 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4447 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4448 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4449 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4450 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4451 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4452 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4453 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4454 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4455 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4456 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4457 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4458 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4459 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4460 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4461 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4462 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4463 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4464 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4465 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4466 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4467 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4468 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4469 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4470 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4471 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4472 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4473 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4474 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4475 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4476 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4477 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4478 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4479 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4480 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4481 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4482 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4483 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4484 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4485 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4486 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4487 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4488 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4489 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4490 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4491 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4492 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4493 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4494 190, -1, -1, 193, -1, 195, 196, 197, 198, 199,
4495 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4496 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4497 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4498 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4499 -1, -1, 42, 43, 44, -1, -1, -1, -1, 49,
4500 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4501 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4502 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4503 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4504 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4505 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4506 110, 111, 112, -1, 114, 115, 116, -1, 118, 119,
4507 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4508 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4509 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4510 150, -1, 152, 153, 154, 155, -1, 157, -1, -1,
4511 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4512 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4513 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4514 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4515 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4516 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4517 -1, -1, -1, -1, -1, -1, -1, 27, -1, -1,
4518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4519 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4520 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4521 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4522 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4523 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4524 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4525 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4526 110, 111, 112, -1, 114, 115, 116, -1, -1, -1,
4527 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4528 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4529 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4530 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4531 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4532 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4533 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4534 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4535 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4536 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4537 -1, -1, -1, -1, -1, -1, -1, 27, -1, -1,
4538 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4539 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4540 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4541 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4542 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4543 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4544 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4545 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4546 110, 111, 112, -1, 114, 115, 116, -1, -1, -1,
4547 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4548 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4549 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4550 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4551 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4552 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4553 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4554 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4555 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4556 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4557 -1, -1, -1, -1, -1, -1, -1, 27, -1, -1,
4558 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4559 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4560 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4561 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4562 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4563 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4564 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4565 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4566 110, 111, 112, -1, 114, 115, 116, -1, -1, -1,
4567 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4568 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4569 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4570 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4571 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4572 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4573 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4574 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4575 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4576 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4577 -1, -1, -1, -1, -1, -1, -1, 27, -1, -1,
4578 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4579 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4580 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4581 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4582 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4583 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4584 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4585 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4586 110, 111, 112, -1, 114, 115, 116, -1, -1, -1,
4587 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4588 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4589 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4590 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4591 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4592 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4593 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4594 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4595 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4596 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4597 -1, -1, -1, -1, -1, -1, -1, 27, -1, -1,
4598 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4599 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4600 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4601 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4602 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4603 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4604 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4605 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4606 110, 111, 112, -1, 114, 115, 116, -1, -1, -1,
4607 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4608 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4609 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4610 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4611 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4612 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4613 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4614 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4615 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4616 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4617 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4618 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4619 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4620 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4621 60, 61, 62, 63, 64, 65, 66, -1, -1, -1,
4622 70, 71, 72, 73, 74, -1, 76, -1, -1, -1,
4623 80, 81, 82, 83, -1, 85, -1, 87, -1, 89,
4624 -1, -1, 92, -1, -1, -1, 96, 97, 98, 99,
4625 -1, 101, 102, -1, 104, -1, 106, 107, 108, 109,
4626 110, 111, 112, -1, 114, 115, 116, -1, -1, -1,
4627 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4628 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4629 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4630 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4631 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4632 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4633 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4634 190, -1, -1, 193, -1, 195, 196, -1, 198, 199,
4635 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4636 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4638 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
4639 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4640 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4641 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4642 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4643 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4644 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4645 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4646 110, 111, 112, -1, 72, 115, 116, -1, -1, -1,
4647 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4648 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4649 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4650 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4651 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4652 -1, -1, 172, 173, 174, 175, 176, 177, 178, 179,
4653 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4654 190, 149, 150, 193, 152, 153, 154, -1, 198, 199,
4655 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4656 -1, -1, -1, 13, -1, -1, -1, 175, -1, 177,
4657 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
4658 188, 189, -1, -1, -1, 193, -1, -1, -1, -1,
4659 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4660 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4661 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4662 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4663 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4664 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4665 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4666 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4667 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4668 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4669 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4670 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4671 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4672 -1, -1, 172, 173, 174, 175, 176, 177, 178, 179,
4673 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4674 190, -1, -1, 193, -1, 195, -1, -1, 198, 199,
4675 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4676 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4677 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4678 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4679 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4680 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4681 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4682 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4683 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4684 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4685 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4686 110, 111, 112, -1, 72, 115, 116, -1, -1, -1,
4687 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4688 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4689 -1, -1, 142, 143, 144, 145, 146, 147, -1, 149,
4690 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4691 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4692 -1, -1, 172, 173, 174, 175, -1, 177, 178, 179,
4693 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4694 190, 149, 150, 193, 152, 153, 154, -1, 198, 199,
4695 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4696 -1, -1, -1, 13, -1, -1, -1, 175, -1, 177,
4697 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
4698 188, 189, 32, -1, -1, -1, -1, -1, -1, -1,
4699 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4700 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4701 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4702 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4703 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4704 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4705 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4706 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4707 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4708 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4709 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4710 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4711 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4712 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4713 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4714 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4715 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4716 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4717 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4718 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4719 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4720 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4721 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4722 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4723 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4724 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4725 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4726 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4727 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4728 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4729 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4730 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4731 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4732 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4733 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4734 190, -1, -1, 193, -1, 195, -1, -1, 198, 199,
4735 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4736 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4739 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4740 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4741 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4742 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4743 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4744 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4745 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4746 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4747 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4748 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4749 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4750 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4751 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4752 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4753 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4754 190, -1, -1, 193, -1, 195, -1, -1, 198, 199,
4755 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4756 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4757 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4759 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4760 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4761 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4762 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4763 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4764 -1, -1, -1, -1, -1, -1, 96, -1, -1, 99,
4765 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4766 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4767 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4768 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4769 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4770 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4771 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4772 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4773 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4774 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4775 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4776 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4777 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4779 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4780 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4781 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4782 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4783 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4784 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4785 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4786 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4787 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4788 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4789 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4790 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4791 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4792 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4793 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4794 190, -1, -1, 193, 194, -1, -1, -1, 198, 199,
4795 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4796 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4797 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4798 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
4799 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4800 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4801 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4802 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4803 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4804 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4805 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4806 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4807 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4808 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4809 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4810 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4811 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4812 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4813 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4814 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4815 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4816 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4817 -1, -1, -1, -1, -1, -1, -1, 27, -1, -1,
4818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4819 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4820 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4821 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4822 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4823 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4824 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4825 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4826 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4827 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4828 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4829 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4830 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4831 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4832 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4833 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4834 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4835 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4836 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4837 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4838 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
4839 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4840 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4841 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4842 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4843 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4844 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4845 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4846 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4847 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4848 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4849 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4850 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4851 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4852 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4853 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4854 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4855 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4856 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4858 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
4859 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4860 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4861 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4862 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4863 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4864 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4865 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4866 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4867 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4868 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4869 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4870 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4871 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4872 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4873 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4874 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4875 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4876 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4878 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
4879 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4880 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4881 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4882 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4883 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4884 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4885 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4886 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4887 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4888 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4889 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4890 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4891 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4892 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4893 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4894 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4895 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4896 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4897 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4899 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4900 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4901 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4902 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4903 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4904 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4905 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4906 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4907 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4908 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4909 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4910 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4911 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4912 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4913 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4914 190, -1, -1, 193, -1, -1, 196, -1, 198, 199,
4915 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4916 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4918 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
4919 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4920 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4921 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4922 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4923 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4924 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4925 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4926 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4927 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4928 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4929 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4930 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4931 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4932 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4933 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4934 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4935 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4936 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4938 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
4939 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4940 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4941 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4942 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4943 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4944 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4945 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4946 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4947 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4948 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4949 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4950 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4951 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4952 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4953 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4954 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4955 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4956 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4958 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4959 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4960 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4961 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4962 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4963 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4964 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4965 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4966 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4967 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4968 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4969 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4970 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4971 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4972 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4973 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4974 190, -1, -1, 193, -1, -1, -1, -1, 198, 199,
4975 -1, 201, 202, 3, 4, 5, 6, 7, -1, -1,
4976 -1, -1, -1, 13, -1, -1, -1, -1, -1, -1,
4977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4979 -1, -1, -1, 43, 44, -1, -1, -1, -1, 49,
4980 -1, 51, 52, 53, 54, 55, 56, 57, 58, 59,
4981 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
4982 70, 71, 72, 73, 74, -1, -1, -1, -1, -1,
4983 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4984 -1, -1, -1, -1, -1, -1, -1, -1, -1, 99,
4985 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
4986 110, 111, 112, -1, -1, 115, 116, -1, -1, -1,
4987 -1, -1, -1, -1, 124, 125, 126, 127, 128, 129,
4988 130, -1, -1, -1, -1, -1, -1, 137, -1, -1,
4989 -1, -1, 142, 143, 144, 145, -1, 147, -1, 149,
4990 150, -1, 152, 153, 154, -1, -1, 157, -1, -1,
4991 -1, 161, -1, -1, -1, -1, -1, 167, -1, -1,
4992 -1, -1, 172, -1, 174, 175, -1, 177, 178, 179,
4993 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
4994 190, -1, -1, 193, 10, 11, 12, -1, 198, 199,
4995 -1, 201, 202, -1, -1, -1, -1, -1, -1, -1,
4996 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
4997 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
4998 46, 47, 48, -1, 50, 10, 11, 12, -1, -1,
4999 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5000 -1, 26, -1, 28, 29, 30, 31, 32, 33, 34,
5001 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5002 45, 46, 47, 48, -1, 50, 10, 11, 12, -1,
5003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5004 -1, -1, 26, -1, 28, 29, 30, 31, 32, 33,
5005 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5006 44, 45, 46, 47, 48, -1, 50, 10, 11, 12,
5007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5008 -1, -1, -1, 26, -1, 28, 29, 30, 31, 32,
5009 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
5010 43, 44, 45, 46, 47, 48, -1, 50, -1, -1,
5011 -1, -1, -1, -1, 10, 11, 12, -1, -1, -1,
5012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5013 26, 197, 28, 29, 30, 31, 32, 33, 34, 35,
5014 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5015 46, 47, 48, -1, 50, 10, 11, 12, -1, -1,
5016 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5017 -1, 26, 197, 28, 29, 30, 31, 32, 33, 34,
5018 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5019 45, 46, 47, 48, -1, 50, -1, -1, -1, 10,
5020 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
5021 -1, -1, -1, 197, -1, 26, 27, 28, 29, 30,
5022 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
5023 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
5024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5025 -1, -1, -1, -1, 197, -1, -1, -1, -1, -1,
5026 10, 11, 12, -1, -1, 3, 4, 5, 6, 7,
5027 -1, -1, 10, 11, 12, 13, 26, -1, 28, 29,
5028 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
5029 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
5030 50, 197, -1, -1, -1, -1, -1, -1, -1, -1,
5031 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
5032 -1, -1, -1, -1, -1, 63, 64, 65, 66, 67,
5033 68, 69, -1, -1, 72, -1, -1, -1, -1, -1,
5034 -1, -1, 197, 81, 82, 83, 84, 85, 86, 87,
5035 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
5036 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
5037 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
5038 118, 119, 120, 121, 195, -1, 124, 125, 126, 127,
5039 128, 129, 130, -1, -1, -1, -1, -1, -1, -1,
5040 -1, -1, -1, -1, 142, 143, 144, -1, 146, -1,
5041 -1, 149, 150, -1, 152, 153, 154, 155, 156, 157,
5042 -1, -1, 160, -1, -1, -1, -1, -1, -1, 167,
5043 168, 181, 170, -1, 172, 173, 174, 175, -1, 177,
5044 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
5045 188, 189, 10, 11, 12, -1, -1, -1, -1, -1,
5046 -1, -1, -1, -1, -1, -1, -1, -1, 26, -1,
5047 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
5048 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
5049 48, -1, 50, 10, 11, 12, -1, -1, -1, -1,
5050 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5051 -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5052 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5053 47, 48, -1, 50, 10, 11, 12, -1, -1, -1,
5054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5055 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
5056 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5057 46, 47, 48, -1, 50, 10, 11, 12, -1, -1,
5058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5059 -1, 26, -1, 28, 29, 30, 31, 32, 33, 34,
5060 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5061 45, 46, 47, 48, -1, 50, -1, -1, -1, -1,
5062 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
5063 -1, -1, -1, -1, -1, -1, 26, 195, 28, 29,
5064 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
5065 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
5066 50, 10, 11, 12, -1, -1, -1, -1, -1, -1,
5067 -1, -1, -1, -1, -1, -1, -1, 26, 195, 28,
5068 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
5069 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
5070 -1, 50, 10, 11, 12, -1, -1, -1, -1, -1,
5071 -1, -1, -1, -1, -1, -1, -1, -1, 26, 195,
5072 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
5073 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
5074 48, -1, 50, 10, 11, 12, -1, -1, -1, -1,
5075 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5076 195, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5077 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5078 47, 48, -1, 50, -1, -1, -1, -1, 10, 11,
5079 12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5080 -1, -1, -1, -1, 26, 195, 28, 29, 30, 31,
5081 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
5082 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
5083 10, 11, 12, -1, -1, 72, -1, 74, -1, -1,
5084 -1, -1, -1, -1, -1, 194, 26, -1, 28, 29,
5085 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
5086 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
5087 50, 10, 11, 12, -1, -1, -1, -1, -1, -1,
5088 -1, -1, -1, -1, -1, -1, 194, 26, -1, 28,
5089 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
5090 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
5091 26, 50, 149, 150, -1, 152, 153, 154, -1, -1,
5092 -1, -1, 189, -1, -1, -1, -1, -1, -1, -1,
5093 -1, -1, -1, -1, -1, -1, 52, -1, 175, -1,
5094 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
5095 187, 188, 189, -1, -1, -1, 72, -1, -1, 196,
5096 -1, 198, -1, 185, 186, -1, -1, -1, -1, -1,
5097 -1, -1, -1, -1, -1, 26, -1, -1, -1, -1,
5098 -1, -1, -1, 99, -1, -1, -1, -1, -1, -1,
5099 -1, 107, 108, 109, 110, 111, 112, -1, -1, -1,
5100 32, 52, 182, -1, -1, -1, -1, -1, -1, 125,
5101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5102 -1, 72, -1, -1, -1, -1, 142, -1, -1, 145,
5103 -1, 147, -1, 149, 150, -1, 152, 153, 154, -1,
5104 72, 180, 74, -1, -1, -1, -1, -1, -1, -1,
5105 -1, 167, -1, -1, -1, -1, -1, -1, 174, 175,
5106 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
5107 186, 187, 188, 189, 125, -1, -1, 193, -1, -1,
5108 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5109 -1, 142, 124, -1, 145, -1, 147, -1, 149, 150,
5110 -1, 152, 153, 154, 72, -1, 74, 75, -1, -1,
5111 142, -1, -1, 145, -1, 147, 167, 149, 150, -1,
5112 152, 153, 154, -1, 175, -1, 177, 178, 179, 180,
5113 181, 182, 183, 184, 185, 186, 187, 188, 189, -1,
5114 43, 44, 193, 175, -1, 177, 178, 179, 180, 181,
5115 182, 183, 184, 185, 186, 187, 188, 189, -1, 62,
5116 -1, 193, -1, -1, -1, -1, 198, 70, 71, 72,
5117 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
5118 -1, 149, 150, -1, 152, 153, 154, -1, -1, -1,
5119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5120 -1, -1, -1, -1, -1, -1, -1, 175, -1, 177,
5121 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
5122 188, 189, 125, 126, 127, 128, 129, 130, -1, 43,
5123 44, -1, -1, -1, 137, -1, -1, -1, -1, 142,
5124 143, 144, 145, -1, 147, -1, 149, 150, 62, 152,
5125 153, 154, -1, -1, 157, -1, 70, 71, 72, -1,
5126 -1, -1, -1, -1, 167, -1, 80, -1, -1, 172,
5127 -1, -1, 175, -1, 177, 178, 179, 180, 181, 182,
5128 183, 184, 185, 186, 187, 188, 189, -1, -1, -1,
5129 -1, -1, -1, -1, -1, -1, -1, 63, 64, -1,
5130 -1, -1, -1, -1, -1, -1, 72, -1, 74, -1,
5131 -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
5132 -1, -1, -1, 137, -1, -1, -1, -1, -1, -1,
5133 -1, -1, -1, -1, -1, 149, 150, -1, 152, 153,
5134 154, -1, -1, -1, -1, -1, 112, -1, 64, -1,
5135 -1, -1, -1, 167, -1, -1, 72, -1, 74, -1,
5136 -1, 175, -1, 177, 178, 179, 180, 181, 182, 183,
5137 184, 185, 186, 187, 188, 189, 142, -1, -1, 145,
5138 -1, 147, -1, 149, 150, -1, 152, 153, 154, -1,
5139 -1, -1, -1, -1, -1, 161, 112, -1, -1, -1,
5140 -1, -1, -1, -1, -1, -1, 72, -1, 74, 175,
5141 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
5142 186, 187, 188, 189, -1, -1, 142, 193, -1, 145,
5143 -1, 147, 198, 149, 150, -1, 152, 153, 154, -1,
5144 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
5145 -1, -1, -1, -1, -1, -1, 72, -1, 74, 175,
5146 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
5147 186, 187, 188, 189, -1, -1, 142, 193, -1, 145,
5148 -1, 147, 198, 149, 150, -1, 152, 153, 154, -1,
5149 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
5150 -1, -1, -1, -1, -1, -1, -1, -1, 124, 175,
5151 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
5152 186, 187, 188, 189, -1, -1, 142, 193, -1, 145,
5153 196, 147, 198, 149, 150, -1, 152, 153, 154, 72,
5154 -1, 74, -1, -1, -1, -1, -1, -1, -1, -1,
5155 -1, -1, -1, -1, -1, -1, -1, -1, -1, 175,
5156 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
5157 186, 187, 188, 189, -1, -1, -1, 193, -1, 112,
5158 -1, -1, 198, -1, -1, -1, -1, -1, -1, -1,
5159 -1, 124, -1, 72, -1, 74, -1, -1, -1, -1,
5160 -1, -1, -1, -1, -1, -1, -1, -1, -1, 142,
5161 -1, -1, 145, -1, 147, -1, 149, 150, -1, 152,
5162 153, 154, -1, -1, -1, -1, -1, -1, -1, -1,
5163 -1, -1, -1, 112, -1, -1, -1, -1, 70, 71,
5164 72, -1, 175, -1, 177, 178, 179, 180, 181, 182,
5165 183, 184, 185, 186, 187, 188, 189, 72, -1, 74,
5166 193, -1, -1, 142, -1, 198, 145, -1, 147, -1,
5167 149, 150, -1, 152, 153, 154, -1, -1, -1, -1,
5168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5169 -1, -1, -1, -1, -1, -1, 175, 112, 177, 178,
5170 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
5171 189, 72, -1, -1, 193, -1, -1, 149, 150, 198,
5172 152, 153, 154, -1, -1, -1, -1, 142, -1, -1,
5173 145, 72, 147, -1, 149, 150, -1, 152, 153, 154,
5174 -1, -1, -1, 175, -1, 177, 178, 179, 180, 181,
5175 182, 183, 184, 185, 186, 187, 188, 189, -1, -1,
5176 175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
5177 185, 186, 187, 188, 189, -1, -1, -1, 193, -1,
5178 -1, -1, -1, 198, 145, -1, -1, -1, 149, 150,
5179 -1, 152, 153, 154, -1, -1, 72, -1, -1, -1,
5180 -1, -1, -1, -1, -1, -1, 147, -1, 149, 150,
5181 151, 152, 153, 154, 175, 72, 177, 178, 179, 180,
5182 181, 182, 183, 184, 185, 186, 187, 188, 189, -1,
5183 -1, -1, -1, -1, 175, 196, 177, 178, 179, 180,
5184 181, 182, 183, 184, 185, 186, 187, 188, 189, -1,
5185 -1, -1, 193, -1, -1, -1, 113, -1, -1, -1,
5186 72, -1, -1, -1, -1, -1, 142, -1, 125, 145,
5187 -1, 147, -1, 149, 150, 72, 152, 153, 154, -1,
5188 -1, -1, -1, -1, -1, 142, -1, -1, 145, -1,
5189 147, -1, 149, 150, -1, 152, 153, 154, -1, 175,
5190 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
5191 186, 187, 188, 189, -1, -1, -1, -1, 175, -1,
5192 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
5193 187, 188, 189, 145, -1, -1, -1, 149, 150, -1,
5194 152, 153, 154, -1, -1, -1, -1, -1, -1, -1,
5195 147, -1, 149, 150, -1, 152, 153, 154, -1, -1,
5196 -1, -1, -1, 175, -1, 177, 178, 179, 180, 181,
5197 182, 183, 184, 185, 186, 187, 188, 189, 175, -1,
5198 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
5199 187, 188, 189, 10, 11, 12, -1, -1, -1, -1,
5200 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5201 -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5202 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5203 47, 48, -1, 50, 10, 11, 12, -1, -1, -1,
5204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5205 26, -1, 28, 29, 30, 31, 32, 33, 34, 35,
5206 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
5207 46, 47, 48, -1, 50, -1, -1, -1, -1, -1,
5208 -1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
5209 11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
5210 -1, -1, -1, -1, -1, 26, 123, 28, 29, 30,
5211 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
5212 41, 42, 43, 44, 45, 46, 47, 48, -1, 50,
5213 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
5214 -1, -1, -1, -1, -1, -1, 26, 123, 28, 29,
5215 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
5216 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
5217 50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5218 -1, -1, -1, -1, -1, 10, 11, 12, -1, -1,
5219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5220 -1, 26, 123, 28, 29, 30, 31, 32, 33, 34,
5221 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5222 45, 46, 47, 48, -1, 50, 10, 11, 12, -1,
5223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5224 -1, -1, 26, 123, 28, 29, 30, 31, 32, 33,
5225 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
5226 44, 45, 46, 47, 48, -1, 50, -1, -1, -1,
5227 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5228 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5229 -1, -1, 10, 11, 12, -1, -1, -1, 123, -1,
5230 -1, -1, -1, -1, -1, -1, -1, 91, 26, 27,
5231 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
5232 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
5233 48, -1, 50, 10, 11, 12, -1, -1, -1, -1,
5234 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5235 -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5236 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5237 47, 48, -1, 50, 11, 12, -1, -1, -1, -1,
5238 -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
5239 -1, 28, 29, 30, 31, 32, 33, 34, 35, 36,
5240 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
5241 47, 48, -1, 50
5244 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
5245 symbol of state STATE-NUM. */
5246 static const yytype_uint16 yystos[] =
5248 0, 204, 205, 0, 206, 3, 4, 5, 6, 7,
5249 13, 42, 43, 44, 49, 51, 52, 53, 54, 55,
5250 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
5251 66, 70, 71, 72, 73, 74, 76, 80, 81, 82,
5252 83, 85, 87, 89, 92, 96, 97, 98, 99, 100,
5253 101, 102, 104, 105, 106, 107, 108, 109, 110, 111,
5254 112, 114, 115, 116, 117, 118, 119, 124, 125, 126,
5255 127, 128, 129, 130, 137, 142, 143, 144, 145, 146,
5256 147, 149, 150, 152, 153, 154, 155, 157, 161, 167,
5257 168, 170, 172, 173, 174, 175, 177, 178, 179, 180,
5258 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
5259 193, 195, 196, 198, 199, 201, 202, 207, 210, 213,
5260 214, 215, 216, 217, 218, 221, 236, 237, 241, 246,
5261 252, 307, 308, 313, 317, 318, 319, 320, 321, 322,
5262 323, 324, 326, 329, 338, 339, 340, 342, 343, 345,
5263 364, 374, 375, 376, 381, 384, 402, 407, 409, 410,
5264 411, 412, 413, 414, 415, 416, 418, 431, 433, 435,
5265 110, 111, 112, 124, 142, 210, 236, 307, 323, 409,
5266 323, 193, 323, 323, 323, 400, 401, 323, 323, 323,
5267 323, 323, 323, 323, 323, 323, 323, 323, 323, 74,
5268 112, 193, 214, 375, 376, 409, 409, 32, 323, 422,
5269 423, 323, 112, 193, 214, 375, 376, 377, 408, 414,
5270 419, 420, 193, 314, 378, 193, 314, 330, 315, 323,
5271 223, 314, 193, 193, 193, 314, 195, 323, 210, 195,
5272 323, 26, 52, 125, 147, 167, 193, 210, 217, 436,
5273 446, 447, 176, 195, 320, 323, 344, 346, 196, 229,
5274 323, 145, 211, 212, 213, 74, 198, 278, 279, 118,
5275 118, 74, 280, 193, 193, 193, 193, 210, 250, 437,
5276 193, 193, 74, 79, 138, 139, 140, 428, 429, 145,
5277 196, 213, 213, 96, 323, 251, 437, 147, 193, 437,
5278 437, 323, 331, 313, 323, 324, 409, 219, 196, 79,
5279 379, 428, 79, 428, 428, 27, 145, 163, 438, 193,
5280 9, 195, 32, 235, 147, 249, 437, 112, 236, 308,
5281 195, 195, 195, 195, 195, 195, 10, 11, 12, 26,
5282 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
5283 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
5284 48, 50, 195, 62, 62, 195, 196, 141, 119, 155,
5285 252, 306, 307, 14, 15, 16, 17, 18, 19, 20,
5286 21, 22, 23, 24, 25, 60, 61, 122, 404, 405,
5287 62, 196, 406, 193, 62, 196, 198, 415, 193, 235,
5288 236, 14, 323, 41, 210, 399, 193, 313, 409, 141,
5289 409, 123, 200, 9, 386, 313, 409, 438, 141, 193,
5290 380, 122, 404, 405, 406, 194, 323, 27, 221, 8,
5291 332, 9, 195, 221, 222, 315, 316, 323, 210, 264,
5292 225, 195, 195, 195, 447, 447, 163, 193, 99, 439,
5293 447, 14, 210, 74, 195, 195, 195, 176, 177, 178,
5294 183, 184, 187, 188, 347, 348, 349, 350, 351, 352,
5295 353, 354, 355, 359, 360, 361, 230, 103, 160, 195,
5296 213, 9, 195, 91, 196, 409, 9, 195, 14, 9,
5297 195, 409, 432, 432, 313, 324, 409, 194, 163, 244,
5298 124, 409, 421, 422, 62, 122, 138, 429, 73, 323,
5299 409, 79, 138, 429, 213, 209, 195, 196, 195, 123,
5300 247, 365, 367, 80, 333, 334, 336, 14, 91, 434,
5301 158, 274, 275, 402, 403, 194, 194, 194, 197, 220,
5302 221, 237, 241, 246, 323, 199, 201, 202, 210, 439,
5303 32, 276, 277, 323, 436, 193, 437, 242, 235, 323,
5304 323, 323, 27, 323, 323, 323, 323, 323, 323, 323,
5305 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
5306 323, 323, 323, 323, 323, 377, 323, 417, 417, 323,
5307 424, 425, 196, 210, 414, 415, 250, 251, 249, 236,
5308 32, 146, 317, 320, 323, 344, 323, 323, 323, 323,
5309 323, 323, 323, 323, 323, 323, 323, 196, 210, 414,
5310 417, 323, 276, 417, 323, 421, 235, 194, 193, 398,
5311 9, 386, 313, 194, 210, 32, 323, 32, 323, 194,
5312 194, 414, 276, 196, 210, 414, 194, 219, 268, 196,
5313 323, 323, 83, 27, 221, 262, 195, 91, 14, 9,
5314 194, 27, 196, 265, 447, 80, 443, 444, 445, 193,
5315 9, 43, 44, 62, 125, 137, 147, 167, 175, 214,
5316 215, 217, 341, 375, 381, 382, 383, 179, 74, 323,
5317 74, 74, 323, 356, 357, 323, 323, 349, 359, 182,
5318 362, 219, 193, 228, 91, 212, 210, 323, 279, 382,
5319 74, 9, 194, 194, 194, 194, 194, 195, 210, 442,
5320 120, 255, 193, 9, 194, 194, 74, 75, 210, 430,
5321 210, 62, 197, 197, 206, 208, 323, 121, 254, 162,
5322 47, 147, 162, 369, 123, 9, 386, 194, 447, 447,
5323 14, 191, 9, 387, 447, 448, 122, 404, 405, 406,
5324 197, 9, 164, 409, 194, 9, 387, 14, 327, 238,
5325 120, 253, 193, 437, 323, 27, 200, 200, 123, 197,
5326 9, 386, 323, 438, 193, 245, 248, 243, 235, 64,
5327 409, 323, 438, 193, 200, 197, 194, 200, 197, 194,
5328 43, 44, 62, 70, 71, 80, 125, 137, 167, 175,
5329 210, 389, 391, 394, 397, 210, 409, 409, 123, 404,
5330 405, 406, 194, 323, 269, 67, 68, 270, 219, 314,
5331 219, 316, 32, 124, 259, 409, 382, 210, 27, 221,
5332 263, 195, 266, 195, 266, 9, 164, 123, 9, 386,
5333 194, 158, 439, 440, 447, 382, 382, 382, 385, 388,
5334 193, 79, 141, 193, 193, 141, 196, 323, 179, 179,
5335 14, 185, 186, 358, 9, 189, 362, 74, 197, 375,
5336 196, 232, 210, 197, 14, 409, 195, 91, 9, 164,
5337 256, 375, 196, 421, 124, 409, 14, 200, 323, 197,
5338 206, 256, 196, 368, 14, 323, 333, 195, 447, 27,
5339 441, 158, 403, 32, 74, 196, 210, 414, 447, 32,
5340 323, 382, 274, 193, 375, 254, 328, 239, 323, 323,
5341 323, 197, 193, 276, 255, 254, 253, 437, 377, 197,
5342 193, 276, 14, 70, 71, 210, 390, 390, 391, 392,
5343 393, 193, 79, 138, 193, 193, 9, 386, 194, 398,
5344 32, 323, 197, 67, 68, 271, 314, 221, 197, 195,
5345 84, 195, 409, 193, 123, 258, 14, 219, 266, 93,
5346 94, 95, 266, 197, 447, 447, 443, 9, 194, 194,
5347 123, 200, 9, 386, 385, 210, 333, 335, 337, 385,
5348 210, 382, 426, 427, 323, 323, 323, 357, 323, 347,
5349 74, 233, 382, 447, 210, 9, 281, 194, 193, 317,
5350 320, 323, 200, 197, 281, 148, 161, 196, 364, 371,
5351 148, 196, 370, 123, 195, 447, 332, 448, 74, 14,
5352 323, 438, 193, 409, 194, 274, 196, 274, 193, 123,
5353 193, 276, 194, 196, 196, 254, 240, 380, 193, 276,
5354 194, 123, 200, 9, 386, 392, 138, 333, 395, 396,
5355 392, 391, 409, 314, 27, 69, 221, 195, 316, 421,
5356 259, 194, 382, 90, 93, 195, 323, 27, 195, 267,
5357 197, 164, 158, 27, 382, 382, 194, 123, 9, 386,
5358 194, 194, 123, 197, 9, 386, 180, 194, 219, 91,
5359 375, 4, 100, 105, 113, 149, 150, 152, 197, 282,
5360 305, 306, 307, 312, 402, 421, 197, 197, 47, 323,
5361 323, 323, 32, 74, 14, 382, 197, 193, 276, 441,
5362 194, 281, 194, 274, 323, 276, 194, 281, 281, 196,
5363 193, 276, 194, 391, 391, 194, 123, 194, 9, 386,
5364 194, 27, 219, 195, 194, 194, 226, 195, 195, 267,
5365 219, 447, 123, 382, 333, 382, 382, 323, 196, 197,
5366 447, 120, 121, 436, 257, 375, 113, 125, 147, 153,
5367 291, 292, 293, 375, 151, 297, 298, 116, 193, 210,
5368 299, 300, 283, 236, 447, 9, 195, 306, 194, 147,
5369 366, 197, 197, 74, 14, 382, 193, 276, 194, 105,
5370 325, 441, 197, 441, 194, 194, 197, 197, 281, 274,
5371 194, 123, 391, 333, 219, 224, 27, 221, 261, 219,
5372 194, 382, 123, 123, 181, 219, 375, 375, 14, 9,
5373 195, 196, 196, 9, 195, 3, 4, 5, 6, 7,
5374 10, 11, 12, 13, 50, 63, 64, 65, 66, 67,
5375 68, 69, 81, 82, 83, 84, 85, 86, 87, 88,
5376 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
5377 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
5378 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
5379 119, 120, 121, 124, 125, 126, 127, 128, 129, 130,
5380 142, 143, 144, 146, 155, 156, 157, 160, 167, 168,
5381 170, 172, 173, 174, 210, 372, 373, 9, 195, 147,
5382 151, 210, 300, 301, 302, 195, 74, 311, 235, 284,
5383 436, 236, 14, 382, 276, 194, 193, 196, 195, 196,
5384 303, 325, 441, 197, 194, 391, 123, 27, 221, 260,
5385 219, 382, 382, 323, 197, 195, 195, 382, 375, 287,
5386 294, 381, 292, 14, 27, 44, 295, 298, 9, 30,
5387 194, 26, 43, 46, 14, 9, 195, 437, 311, 14,
5388 235, 382, 194, 32, 74, 363, 219, 219, 196, 303,
5389 441, 391, 219, 88, 182, 231, 197, 210, 217, 288,
5390 289, 290, 9, 197, 382, 373, 373, 52, 296, 301,
5391 301, 26, 43, 46, 382, 74, 193, 195, 382, 437,
5392 74, 9, 387, 197, 197, 219, 303, 86, 195, 74,
5393 103, 227, 141, 91, 381, 154, 14, 285, 193, 32,
5394 74, 194, 197, 195, 193, 160, 234, 210, 306, 307,
5395 382, 158, 272, 273, 403, 286, 74, 375, 232, 156,
5396 210, 195, 194, 9, 387, 107, 108, 109, 309, 310,
5397 272, 74, 257, 195, 441, 158, 403, 448, 194, 194,
5398 195, 195, 196, 304, 309, 32, 74, 441, 196, 219,
5399 448, 74, 14, 304, 219, 197, 32, 74, 14, 382,
5400 197, 74, 14, 382, 14, 382, 382
5403 #define yyerrok (yyerrstatus = 0)
5404 #define yyclearin (yychar = YYEMPTY)
5405 #define YYEMPTY (-2)
5406 #define YYEOF 0
5408 #define YYACCEPT goto yyacceptlab
5409 #define YYABORT goto yyabortlab
5410 #define YYERROR goto yyerrorlab
5413 /* Like YYERROR except do call yyerror. This remains here temporarily
5414 to ease the transition to the new meaning of YYERROR, for GCC.
5415 Once GCC version 2 has supplanted version 1, this can go. However,
5416 YYFAIL appears to be in use. Nevertheless, it is formally deprecated
5417 in Bison 2.4.2's NEWS entry, where a plan to phase it out is
5418 discussed. */
5420 #define YYFAIL goto yyerrlab
5421 #if defined YYFAIL
5422 /* This is here to suppress warnings from the GCC cpp's
5423 -Wunused-macros. Normally we don't worry about that warning, but
5424 some users do, and we want to make it easy for users to remove
5425 YYFAIL uses, which will produce warnings from Bison 2.5. */
5426 #endif
5428 #define YYRECOVERING() (!!yyerrstatus)
5430 #define YYBACKUP(Token, Value) \
5431 do \
5432 if (yychar == YYEMPTY && yylen == 1) \
5434 yychar = (Token); \
5435 yylval = (Value); \
5436 YYPOPSTACK (1); \
5437 goto yybackup; \
5439 else \
5441 yyerror (&yylloc, _p, YY_("syntax error: cannot back up")); \
5442 YYERROR; \
5444 while (YYID (0))
5447 #define YYTERROR 1
5448 #define YYERRCODE 256
5451 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
5452 If N is 0, then set CURRENT to the empty location which ends
5453 the previous symbol: RHS[0] (always defined). */
5455 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
5456 #ifndef YYLLOC_DEFAULT
5457 # define YYLLOC_DEFAULT(Current, Rhs, N) \
5458 do \
5459 if (YYID (N)) \
5461 (Current).line0 = YYRHSLOC (Rhs, 1).line0; \
5462 (Current).char0 = YYRHSLOC (Rhs, 1).char0; \
5463 (Current).line1 = YYRHSLOC (Rhs, N).line1; \
5464 (Current).char1 = YYRHSLOC (Rhs, N).char1; \
5466 else \
5468 (Current).line0 = (Current).line1 = \
5469 YYRHSLOC (Rhs, 0).line1; \
5470 (Current).char0 = (Current).char1 = \
5471 YYRHSLOC (Rhs, 0).char1; \
5473 while (YYID (0))
5474 #endif
5477 /* YY_LOCATION_PRINT -- Print the location on the stream.
5478 This macro was not mandated originally: define only if we know
5479 we won't break user code: when these are the locations we know. */
5481 #ifndef YY_LOCATION_PRINT
5482 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
5483 # define YY_LOCATION_PRINT(File, Loc) \
5484 fprintf (File, "%d.%d-%d.%d", \
5485 (Loc).line0, (Loc).char0, \
5486 (Loc).line1, (Loc).char1)
5487 # else
5488 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
5489 # endif
5490 #endif
5493 /* YYLEX -- calling `yylex' with the right arguments. */
5495 #ifdef YYLEX_PARAM
5496 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
5497 #else
5498 # define YYLEX yylex (&yylval, &yylloc)
5499 #endif
5501 /* Enable debugging if requested. */
5502 #if YYDEBUG
5504 # ifndef YYFPRINTF
5505 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
5506 # define YYFPRINTF fprintf
5507 # endif
5509 # define YYDPRINTF(Args) \
5510 do { \
5511 if (yydebug) \
5512 YYFPRINTF Args; \
5513 } while (YYID (0))
5515 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
5516 do { \
5517 if (yydebug) \
5519 YYFPRINTF (stderr, "%s ", Title); \
5520 yy_symbol_print (stderr, \
5521 Type, Value, Location, _p); \
5522 YYFPRINTF (stderr, "\n"); \
5524 } while (YYID (0))
5527 /*--------------------------------.
5528 | Print this symbol on YYOUTPUT. |
5529 `--------------------------------*/
5531 /*ARGSUSED*/
5532 #if (defined __STDC__ || defined __C99__FUNC__ \
5533 || defined __cplusplus || defined _MSC_VER)
5534 static void
5535 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
5536 #else
5537 static void
5538 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, _p)
5539 FILE *yyoutput;
5540 int yytype;
5541 YYSTYPE const * const yyvaluep;
5542 YYLTYPE const * const yylocationp;
5543 HPHP::HPHP_PARSER_NS::Parser *_p;
5544 #endif
5546 if (!yyvaluep)
5547 return;
5548 YYUSE (yylocationp);
5549 YYUSE (_p);
5550 # ifdef YYPRINT
5551 if (yytype < YYNTOKENS)
5552 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
5553 # else
5554 YYUSE (yyoutput);
5555 # endif
5556 switch (yytype)
5558 default:
5559 break;
5564 /*--------------------------------.
5565 | Print this symbol on YYOUTPUT. |
5566 `--------------------------------*/
5568 #if (defined __STDC__ || defined __C99__FUNC__ \
5569 || defined __cplusplus || defined _MSC_VER)
5570 static void
5571 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
5572 #else
5573 static void
5574 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, _p)
5575 FILE *yyoutput;
5576 int yytype;
5577 YYSTYPE const * const yyvaluep;
5578 YYLTYPE const * const yylocationp;
5579 HPHP::HPHP_PARSER_NS::Parser *_p;
5580 #endif
5582 if (yytype < YYNTOKENS)
5583 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
5584 else
5585 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
5587 YY_LOCATION_PRINT (yyoutput, *yylocationp);
5588 YYFPRINTF (yyoutput, ": ");
5589 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, _p);
5590 YYFPRINTF (yyoutput, ")");
5593 /*------------------------------------------------------------------.
5594 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
5595 | TOP (included). |
5596 `------------------------------------------------------------------*/
5598 #if (defined __STDC__ || defined __C99__FUNC__ \
5599 || defined __cplusplus || defined _MSC_VER)
5600 static void
5601 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
5602 #else
5603 static void
5604 yy_stack_print (yybottom, yytop)
5605 yytype_int16 *yybottom;
5606 yytype_int16 *yytop;
5607 #endif
5609 YYFPRINTF (stderr, "Stack now");
5610 for (; yybottom <= yytop; yybottom++)
5612 int yybot = *yybottom;
5613 YYFPRINTF (stderr, " %d", yybot);
5615 YYFPRINTF (stderr, "\n");
5618 # define YY_STACK_PRINT(Bottom, Top) \
5619 do { \
5620 if (yydebug) \
5621 yy_stack_print ((Bottom), (Top)); \
5622 } while (YYID (0))
5625 /*------------------------------------------------.
5626 | Report that the YYRULE is going to be reduced. |
5627 `------------------------------------------------*/
5629 #if (defined __STDC__ || defined __C99__FUNC__ \
5630 || defined __cplusplus || defined _MSC_VER)
5631 static void
5632 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, HPHP::HPHP_PARSER_NS::Parser *_p)
5633 #else
5634 static void
5635 yy_reduce_print (yyvsp, yylsp, yyrule, _p)
5636 YYSTYPE *yyvsp;
5637 YYLTYPE *yylsp;
5638 int yyrule;
5639 HPHP::HPHP_PARSER_NS::Parser *_p;
5640 #endif
5642 int yynrhs = yyr2[yyrule];
5643 int yyi;
5644 unsigned long int yylno = yyrline[yyrule];
5645 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
5646 yyrule - 1, yylno);
5647 /* The symbols being reduced. */
5648 for (yyi = 0; yyi < yynrhs; yyi++)
5650 YYFPRINTF (stderr, " $%d = ", yyi + 1);
5651 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
5652 &(yyvsp[(yyi + 1) - (yynrhs)])
5653 , &(yylsp[(yyi + 1) - (yynrhs)]) , _p);
5654 YYFPRINTF (stderr, "\n");
5658 # define YY_REDUCE_PRINT(Rule) \
5659 do { \
5660 if (yydebug) \
5661 yy_reduce_print (yyvsp, yylsp, Rule, _p); \
5662 } while (YYID (0))
5664 /* Nonzero means print parse trace. It is left uninitialized so that
5665 multiple parsers can coexist. */
5666 int yydebug;
5667 #else /* !YYDEBUG */
5668 # define YYDPRINTF(Args)
5669 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
5670 # define YY_STACK_PRINT(Bottom, Top)
5671 # define YY_REDUCE_PRINT(Rule)
5672 #endif /* !YYDEBUG */
5675 /* YYINITDEPTH -- initial size of the parser's stacks. */
5676 #ifndef YYINITDEPTH
5677 # define YYINITDEPTH 200
5678 #endif
5680 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
5681 if the built-in stack extension method is used).
5683 Do not make this value too large; the results are undefined if
5684 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
5685 evaluated with infinite-precision integer arithmetic. */
5687 #ifndef YYMAXDEPTH
5688 # define YYMAXDEPTH 10000
5689 #endif
5692 #if YYERROR_VERBOSE
5694 # ifndef yystrlen
5695 # if defined __GLIBC__ && defined _STRING_H
5696 # define yystrlen strlen
5697 # else
5698 /* Return the length of YYSTR. */
5699 #if (defined __STDC__ || defined __C99__FUNC__ \
5700 || defined __cplusplus || defined _MSC_VER)
5701 static YYSIZE_T
5702 yystrlen (const char *yystr)
5703 #else
5704 static YYSIZE_T
5705 yystrlen (yystr)
5706 const char *yystr;
5707 #endif
5709 YYSIZE_T yylen;
5710 for (yylen = 0; yystr[yylen]; yylen++)
5711 continue;
5712 return yylen;
5714 # endif
5715 # endif
5717 # ifndef yystpcpy
5718 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
5719 # define yystpcpy stpcpy
5720 # else
5721 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
5722 YYDEST. */
5723 #if (defined __STDC__ || defined __C99__FUNC__ \
5724 || defined __cplusplus || defined _MSC_VER)
5725 static char *
5726 yystpcpy (char *yydest, const char *yysrc)
5727 #else
5728 static char *
5729 yystpcpy (yydest, yysrc)
5730 char *yydest;
5731 const char *yysrc;
5732 #endif
5734 char *yyd = yydest;
5735 const char *yys = yysrc;
5737 while ((*yyd++ = *yys++) != '\0')
5738 continue;
5740 return yyd - 1;
5742 # endif
5743 # endif
5745 # ifndef yytnamerr
5746 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
5747 quotes and backslashes, so that it's suitable for yyerror. The
5748 heuristic is that double-quoting is unnecessary unless the string
5749 contains an apostrophe, a comma, or backslash (other than
5750 backslash-backslash). YYSTR is taken from yytname. If YYRES is
5751 null, do not copy; instead, return the length of what the result
5752 would have been. */
5753 static YYSIZE_T
5754 yytnamerr (char *yyres, const char *yystr)
5756 if (*yystr == '"')
5758 YYSIZE_T yyn = 0;
5759 char const *yyp = yystr;
5761 for (;;)
5762 switch (*++yyp)
5764 case '\'':
5765 case ',':
5766 goto do_not_strip_quotes;
5768 case '\\':
5769 if (*++yyp != '\\')
5770 goto do_not_strip_quotes;
5771 /* Fall through. */
5772 default:
5773 if (yyres)
5774 yyres[yyn] = *yyp;
5775 yyn++;
5776 break;
5778 case '"':
5779 if (yyres)
5780 yyres[yyn] = '\0';
5781 return yyn;
5783 do_not_strip_quotes: ;
5786 if (! yyres)
5787 return yystrlen (yystr);
5789 return yystpcpy (yyres, yystr) - yyres;
5791 # endif
5793 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
5794 about the unexpected token YYTOKEN for the state stack whose top is
5795 YYSSP.
5797 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
5798 not large enough to hold the message. In that case, also set
5799 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
5800 required number of bytes is too large to store. */
5801 static int
5802 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
5803 yytype_int16 *yyssp, int yytoken)
5805 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
5806 YYSIZE_T yysize = yysize0;
5807 YYSIZE_T yysize1;
5808 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
5809 /* Internationalized format string. */
5810 const char *yyformat = 0;
5811 /* Arguments of yyformat. */
5812 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
5813 /* Number of reported tokens (one for the "unexpected", one per
5814 "expected"). */
5815 int yycount = 0;
5817 /* There are many possibilities here to consider:
5818 - Assume YYFAIL is not used. It's too flawed to consider. See
5819 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
5820 for details. YYERROR is fine as it does not invoke this
5821 function.
5822 - If this state is a consistent state with a default action, then
5823 the only way this function was invoked is if the default action
5824 is an error action. In that case, don't check for expected
5825 tokens because there are none.
5826 - The only way there can be no lookahead present (in yychar) is if
5827 this state is a consistent state with a default action. Thus,
5828 detecting the absence of a lookahead is sufficient to determine
5829 that there is no unexpected or expected token to report. In that
5830 case, just report a simple "syntax error".
5831 - Don't assume there isn't a lookahead just because this state is a
5832 consistent state with a default action. There might have been a
5833 previous inconsistent state, consistent state with a non-default
5834 action, or user semantic action that manipulated yychar.
5835 - Of course, the expected token list depends on states to have
5836 correct lookahead information, and it depends on the parser not
5837 to perform extra reductions after fetching a lookahead from the
5838 scanner and before detecting a syntax error. Thus, state merging
5839 (from LALR or IELR) and default reductions corrupt the expected
5840 token list. However, the list is correct for canonical LR with
5841 one exception: it will still contain any token that will not be
5842 accepted due to an error action in a later state.
5844 if (yytoken != YYEMPTY)
5846 int yyn = yypact[*yyssp];
5847 yyarg[yycount++] = yytname[yytoken];
5848 if (!yypact_value_is_default (yyn))
5850 /* Start YYX at -YYN if negative to avoid negative indexes in
5851 YYCHECK. In other words, skip the first -YYN actions for
5852 this state because they are default actions. */
5853 int yyxbegin = yyn < 0 ? -yyn : 0;
5854 /* Stay within bounds of both yycheck and yytname. */
5855 int yychecklim = YYLAST - yyn + 1;
5856 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
5857 int yyx;
5859 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
5860 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
5861 && !yytable_value_is_error (yytable[yyx + yyn]))
5863 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
5865 yycount = 1;
5866 yysize = yysize0;
5867 break;
5869 yyarg[yycount++] = yytname[yyx];
5870 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
5871 if (! (yysize <= yysize1
5872 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
5873 return 2;
5874 yysize = yysize1;
5879 switch (yycount)
5881 # define YYCASE_(N, S) \
5882 case N: \
5883 yyformat = S; \
5884 break
5885 YYCASE_(0, YY_("syntax error"));
5886 YYCASE_(1, YY_("syntax error, unexpected %s"));
5887 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
5888 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
5889 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
5890 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
5891 # undef YYCASE_
5894 yysize1 = yysize + yystrlen (yyformat);
5895 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
5896 return 2;
5897 yysize = yysize1;
5899 if (*yymsg_alloc < yysize)
5901 *yymsg_alloc = 2 * yysize;
5902 if (! (yysize <= *yymsg_alloc
5903 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
5904 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
5905 return 1;
5908 /* Avoid sprintf, as that infringes on the user's name space.
5909 Don't have undefined behavior even if the translation
5910 produced a string with the wrong number of "%s"s. */
5912 char *yyp = *yymsg;
5913 int yyi = 0;
5914 while ((*yyp = *yyformat) != '\0')
5915 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
5917 yyp += yytnamerr (yyp, yyarg[yyi++]);
5918 yyformat += 2;
5920 else
5922 yyp++;
5923 yyformat++;
5926 return 0;
5928 #endif /* YYERROR_VERBOSE */
5930 /*-----------------------------------------------.
5931 | Release the memory associated to this symbol. |
5932 `-----------------------------------------------*/
5934 /*ARGSUSED*/
5935 #if (defined __STDC__ || defined __C99__FUNC__ \
5936 || defined __cplusplus || defined _MSC_VER)
5937 static void
5938 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, HPHP::HPHP_PARSER_NS::Parser *_p)
5939 #else
5940 static void
5941 yydestruct (yymsg, yytype, yyvaluep, yylocationp, _p)
5942 const char *yymsg;
5943 int yytype;
5944 YYSTYPE *yyvaluep;
5945 YYLTYPE *yylocationp;
5946 HPHP::HPHP_PARSER_NS::Parser *_p;
5947 #endif
5949 YYUSE (yyvaluep);
5950 YYUSE (yylocationp);
5951 YYUSE (_p);
5953 if (!yymsg)
5954 yymsg = "Deleting";
5955 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
5957 switch (yytype)
5960 default:
5961 break;
5966 /* Prevent warnings from -Wmissing-prototypes. */
5967 #ifdef YYPARSE_PARAM
5968 #if defined __STDC__ || defined __cplusplus
5969 int yyparse (void *YYPARSE_PARAM);
5970 #else
5971 int yyparse ();
5972 #endif
5973 #else /* ! YYPARSE_PARAM */
5974 #if defined __STDC__ || defined __cplusplus
5975 int yyparse (HPHP::HPHP_PARSER_NS::Parser *_p);
5976 #else
5977 int yyparse ();
5978 #endif
5979 #endif /* ! YYPARSE_PARAM */
5982 /*----------.
5983 | yyparse. |
5984 `----------*/
5986 #ifdef YYPARSE_PARAM
5987 #if (defined __STDC__ || defined __C99__FUNC__ \
5988 || defined __cplusplus || defined _MSC_VER)
5990 yyparse (void *YYPARSE_PARAM)
5991 #else
5993 yyparse (YYPARSE_PARAM)
5994 void *YYPARSE_PARAM;
5995 #endif
5996 #else /* ! YYPARSE_PARAM */
5997 #if (defined __STDC__ || defined __C99__FUNC__ \
5998 || defined __cplusplus || defined _MSC_VER)
6000 yyparse (HPHP::HPHP_PARSER_NS::Parser *_p)
6001 #else
6003 yyparse (_p)
6004 HPHP::HPHP_PARSER_NS::Parser *_p;
6005 #endif
6006 #endif
6008 /* The lookahead symbol. */
6009 int yychar;
6011 /* The semantic value of the lookahead symbol. */
6012 YYSTYPE yylval;
6014 /* Location data for the lookahead symbol. */
6015 YYLTYPE yylloc;
6017 /* Number of syntax errors so far. */
6018 int yynerrs;
6020 int yystate;
6021 /* Number of tokens to shift before error messages enabled. */
6022 int yyerrstatus;
6024 /* The stacks and their tools:
6025 `yyss': related to states.
6026 `yyvs': related to semantic values.
6027 `yyls': related to locations.
6029 Refer to the stacks thru separate pointers, to allow yyoverflow
6030 to reallocate them elsewhere. */
6032 /* The state stack. */
6033 yytype_int16 yyssa[YYINITDEPTH];
6034 yytype_int16 *yyss;
6035 yytype_int16 *yyssp;
6037 /* The semantic value stack. */
6038 YYSTYPE yyvsa[YYINITDEPTH];
6039 YYSTYPE *yyvs;
6040 YYSTYPE *yyvsp;
6042 /* The location stack. */
6043 YYLTYPE yylsa[YYINITDEPTH];
6044 YYLTYPE *yyls;
6045 YYLTYPE *yylsp;
6047 /* The locations where the error started and ended. */
6048 YYLTYPE yyerror_range[3];
6050 YYSIZE_T yystacksize;
6052 int yyn;
6053 int yyresult;
6054 /* Lookahead token as an internal (translated) token number. */
6055 int yytoken;
6056 /* The variables used to return semantic value and location from the
6057 action routines. */
6058 YYSTYPE yyval;
6059 YYLTYPE yyloc;
6061 #if YYERROR_VERBOSE
6062 /* Buffer for error messages, and its allocated size. */
6063 char yymsgbuf[128];
6064 char *yymsg = yymsgbuf;
6065 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
6066 #endif
6068 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
6070 /* The number of symbols on the RHS of the reduced rule.
6071 Keep to zero when no symbol should be popped. */
6072 int yylen = 0;
6074 yytoken = 0;
6075 yyss = yyssa;
6076 yyvs = yyvsa;
6077 yyls = yylsa;
6078 yystacksize = YYINITDEPTH;
6080 YYDPRINTF ((stderr, "Starting parse\n"));
6082 yystate = 0;
6083 yyerrstatus = 0;
6084 yynerrs = 0;
6085 yychar = YYEMPTY; /* Cause a token to be read. */
6087 /* Initialize stack pointers.
6088 Waste one element of value and location stack
6089 so that they stay on the same level as the state stack.
6090 The wasted elements are never initialized. */
6091 yyssp = yyss;
6092 yyvsp = yyvs;
6093 yylsp = yyls;
6095 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
6096 /* Initialize the default location before parsing starts. */
6097 yylloc.line0 = yylloc.line1 = 1;
6098 yylloc.char0 = yylloc.char1 = 1;
6099 #endif
6101 goto yysetstate;
6103 /*------------------------------------------------------------.
6104 | yynewstate -- Push a new state, which is found in yystate. |
6105 `------------------------------------------------------------*/
6106 yynewstate:
6107 /* In all cases, when you get here, the value and location stacks
6108 have just been pushed. So pushing a state here evens the stacks. */
6109 yyssp++;
6111 yysetstate:
6112 *yyssp = yystate;
6114 if (yyss + yystacksize - 1 <= yyssp)
6116 /* Get the current used size of the three stacks, in elements. */
6117 YYSIZE_T yysize = yyssp - yyss + 1;
6119 #ifdef yyoverflow
6121 /* Give user a chance to reallocate the stack. Use copies of
6122 these so that the &'s don't force the real ones into
6123 memory. */
6124 YYSTYPE *yyvs1 = yyvs;
6125 yytype_int16 *yyss1 = yyss;
6126 YYLTYPE *yyls1 = yyls;
6128 /* Each stack pointer address is followed by the size of the
6129 data in use in that stack, in bytes. This used to be a
6130 conditional around just the two extra args, but that might
6131 be undefined if yyoverflow is a macro. */
6132 yyoverflow (YY_("memory exhausted"),
6133 &yyss1, yysize * sizeof (*yyssp),
6134 &yyvs1, yysize * sizeof (*yyvsp),
6135 &yyls1, yysize * sizeof (*yylsp),
6136 &yystacksize);
6138 yyls = yyls1;
6139 yyss = yyss1;
6140 yyvs = yyvs1;
6142 #else /* no yyoverflow */
6143 # ifndef YYSTACK_RELOCATE
6144 goto yyexhaustedlab;
6145 # else
6146 /* Extend the stack our own way. */
6147 if (YYMAXDEPTH <= yystacksize)
6148 goto yyexhaustedlab;
6149 yystacksize *= 2;
6150 if (YYMAXDEPTH < yystacksize)
6151 yystacksize = YYMAXDEPTH;
6154 yytype_int16 *yyss1 = yyss;
6155 struct yyalloc *yyptr =
6156 (struct yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
6157 memset(yyptr, 0, YYSTACK_BYTES (yystacksize));
6158 if (! yyptr)
6159 goto yyexhaustedlab;
6160 YYSTACK_RELOCATE (yyss_alloc, yyss);
6161 YYSTACK_RELOCATE_RESET (yyvs_alloc, yyvs);
6162 YYSTACK_RELOCATE (yyls_alloc, yyls);
6163 # undef YYSTACK_RELOCATE
6164 if (yyss1 != yyssa)
6165 YYSTACK_FREE (yyss1);
6167 # endif
6168 #endif /* no yyoverflow */
6170 yyssp = yyss + yysize - 1;
6171 yyvsp = yyvs + yysize - 1;
6172 yylsp = yyls + yysize - 1;
6174 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
6175 (unsigned long int) yystacksize));
6177 if (yyss + yystacksize - 1 <= yyssp)
6178 YYABORT;
6181 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
6183 if (yystate == YYFINAL)
6184 YYACCEPT;
6186 goto yybackup;
6188 /*-----------.
6189 | yybackup. |
6190 `-----------*/
6191 yybackup:
6193 /* Do appropriate processing given the current state. Read a
6194 lookahead token if we need one and don't already have one. */
6196 /* First try to decide what to do without reference to lookahead token. */
6197 yyn = yypact[yystate];
6198 if (yypact_value_is_default (yyn))
6199 goto yydefault;
6201 /* Not known => get a lookahead token if don't already have one. */
6203 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
6204 if (yychar == YYEMPTY)
6206 YYDPRINTF ((stderr, "Reading a token: "));
6207 yychar = YYLEX;
6210 if (yychar <= YYEOF)
6212 yychar = yytoken = YYEOF;
6213 YYDPRINTF ((stderr, "Now at end of input.\n"));
6215 else
6217 yytoken = YYTRANSLATE (yychar);
6218 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
6221 /* If the proper action on seeing token YYTOKEN is to reduce or to
6222 detect an error, take that action. */
6223 yyn += yytoken;
6224 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
6225 goto yydefault;
6226 yyn = yytable[yyn];
6227 if (yyn <= 0)
6229 if (yytable_value_is_error (yyn))
6230 goto yyerrlab;
6231 yyn = -yyn;
6232 goto yyreduce;
6235 /* Count tokens shifted since error; after three, turn off error
6236 status. */
6237 if (yyerrstatus)
6238 yyerrstatus--;
6240 /* Shift the lookahead token. */
6241 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
6243 /* Discard the shifted token. */
6244 yychar = YYEMPTY;
6246 yystate = yyn;
6247 *++yyvsp = yylval;
6248 *++yylsp = yylloc;
6249 goto yynewstate;
6252 /*-----------------------------------------------------------.
6253 | yydefault -- do the default action for the current state. |
6254 `-----------------------------------------------------------*/
6255 yydefault:
6256 yyn = yydefact[yystate];
6257 if (yyn == 0)
6258 goto yyerrlab;
6259 goto yyreduce;
6262 /*-----------------------------.
6263 | yyreduce -- Do a reduction. |
6264 `-----------------------------*/
6265 yyreduce:
6266 /* yyn is the number of a rule to reduce with. */
6267 yylen = yyr2[yyn];
6269 /* If YYLEN is nonzero, implement the default value of the action:
6270 `$$ = $1'.
6272 Otherwise, the following line sets YYVAL to garbage.
6273 This behavior is undocumented and Bison
6274 users should not rely upon it. Assigning to YYVAL
6275 unconditionally makes the parser a bit smaller, and it avoids a
6276 GCC warning that YYVAL may be used uninitialized. */
6277 yyval = yyvsp[1-yylen];
6279 /* Default location. */
6280 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
6281 YY_REDUCE_PRINT (yyn);
6282 switch (yyn)
6284 case 2:
6286 /* Line 1806 of yacc.c */
6287 #line 723 "hphp.y"
6288 { _p->onNewLabelScope(true);
6289 _p->initParseTree();}
6290 break;
6292 case 3:
6294 /* Line 1806 of yacc.c */
6295 #line 726 "hphp.y"
6296 { _p->popLabelInfo();
6297 _p->finiParseTree();
6298 _p->onCompleteLabelScope(true);}
6299 break;
6301 case 4:
6303 /* Line 1806 of yacc.c */
6304 #line 733 "hphp.y"
6305 { _p->addTopStatement((yyvsp[(2) - (2)]));}
6306 break;
6308 case 5:
6310 /* Line 1806 of yacc.c */
6311 #line 734 "hphp.y"
6313 break;
6315 case 6:
6317 /* Line 1806 of yacc.c */
6318 #line 737 "hphp.y"
6319 { _p->nns((yyvsp[(1) - (1)]).num()); (yyval) = (yyvsp[(1) - (1)]);}
6320 break;
6322 case 7:
6324 /* Line 1806 of yacc.c */
6325 #line 738 "hphp.y"
6326 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);}
6327 break;
6329 case 8:
6331 /* Line 1806 of yacc.c */
6332 #line 739 "hphp.y"
6333 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);}
6334 break;
6336 case 9:
6338 /* Line 1806 of yacc.c */
6339 #line 740 "hphp.y"
6340 { _p->nns(); (yyval) = (yyvsp[(1) - (1)]);}
6341 break;
6343 case 10:
6345 /* Line 1806 of yacc.c */
6346 #line 741 "hphp.y"
6347 { (yyval) = (yyvsp[(1) - (1)]); }
6348 break;
6350 case 11:
6352 /* Line 1806 of yacc.c */
6353 #line 742 "hphp.y"
6354 { _p->onHaltCompiler();
6355 _p->finiParseTree();
6356 YYACCEPT;}
6357 break;
6359 case 12:
6361 /* Line 1806 of yacc.c */
6362 #line 745 "hphp.y"
6363 { _p->onNamespaceStart((yyvsp[(2) - (3)]).text(), true);
6364 (yyval).reset();}
6365 break;
6367 case 13:
6369 /* Line 1806 of yacc.c */
6370 #line 747 "hphp.y"
6371 { _p->onNamespaceStart((yyvsp[(2) - (3)]).text());}
6372 break;
6374 case 14:
6376 /* Line 1806 of yacc.c */
6377 #line 748 "hphp.y"
6378 { _p->onNamespaceEnd(); (yyval) = (yyvsp[(5) - (6)]);}
6379 break;
6381 case 15:
6383 /* Line 1806 of yacc.c */
6384 #line 749 "hphp.y"
6385 { _p->onNamespaceStart("");}
6386 break;
6388 case 16:
6390 /* Line 1806 of yacc.c */
6391 #line 750 "hphp.y"
6392 { _p->onNamespaceEnd(); (yyval) = (yyvsp[(4) - (5)]);}
6393 break;
6395 case 17:
6397 /* Line 1806 of yacc.c */
6398 #line 751 "hphp.y"
6399 { _p->nns(); (yyval).reset();}
6400 break;
6402 case 18:
6404 /* Line 1806 of yacc.c */
6405 #line 752 "hphp.y"
6406 { _p->nns();
6407 _p->finishStatement((yyval), (yyvsp[(1) - (2)])); (yyval) = 1;}
6408 break;
6410 case 19:
6412 /* Line 1806 of yacc.c */
6413 #line 757 "hphp.y"
6414 { (yyval) = (yyvsp[(1) - (1)]);}
6415 break;
6417 case 20:
6419 /* Line 1806 of yacc.c */
6420 #line 758 "hphp.y"
6421 { (yyval) = (yyvsp[(1) - (1)]);}
6422 break;
6424 case 21:
6426 /* Line 1806 of yacc.c */
6427 #line 759 "hphp.y"
6428 { (yyval) = (yyvsp[(1) - (1)]);}
6429 break;
6431 case 22:
6433 /* Line 1806 of yacc.c */
6434 #line 760 "hphp.y"
6435 { (yyval) = (yyvsp[(1) - (1)]);}
6436 break;
6438 case 23:
6440 /* Line 1806 of yacc.c */
6441 #line 761 "hphp.y"
6442 { (yyval) = (yyvsp[(1) - (1)]);}
6443 break;
6445 case 24:
6447 /* Line 1806 of yacc.c */
6448 #line 762 "hphp.y"
6449 { (yyval) = (yyvsp[(1) - (1)]);}
6450 break;
6452 case 25:
6454 /* Line 1806 of yacc.c */
6455 #line 763 "hphp.y"
6456 { (yyval) = (yyvsp[(1) - (1)]);}
6457 break;
6459 case 26:
6461 /* Line 1806 of yacc.c */
6462 #line 764 "hphp.y"
6463 { (yyval) = (yyvsp[(1) - (1)]);}
6464 break;
6466 case 27:
6468 /* Line 1806 of yacc.c */
6469 #line 765 "hphp.y"
6470 { (yyval) = (yyvsp[(1) - (1)]);}
6471 break;
6473 case 28:
6475 /* Line 1806 of yacc.c */
6476 #line 766 "hphp.y"
6477 { (yyval) = (yyvsp[(1) - (1)]);}
6478 break;
6480 case 29:
6482 /* Line 1806 of yacc.c */
6483 #line 767 "hphp.y"
6484 { (yyval) = (yyvsp[(1) - (1)]);}
6485 break;
6487 case 30:
6489 /* Line 1806 of yacc.c */
6490 #line 768 "hphp.y"
6491 { (yyval) = (yyvsp[(1) - (1)]);}
6492 break;
6494 case 31:
6496 /* Line 1806 of yacc.c */
6497 #line 769 "hphp.y"
6498 { (yyval) = (yyvsp[(1) - (1)]);}
6499 break;
6501 case 32:
6503 /* Line 1806 of yacc.c */
6504 #line 770 "hphp.y"
6505 { (yyval) = (yyvsp[(1) - (1)]);}
6506 break;
6508 case 33:
6510 /* Line 1806 of yacc.c */
6511 #line 771 "hphp.y"
6512 { (yyval) = (yyvsp[(1) - (1)]);}
6513 break;
6515 case 34:
6517 /* Line 1806 of yacc.c */
6518 #line 772 "hphp.y"
6519 { (yyval) = (yyvsp[(1) - (1)]);}
6520 break;
6522 case 35:
6524 /* Line 1806 of yacc.c */
6525 #line 773 "hphp.y"
6526 { (yyval) = (yyvsp[(1) - (1)]);}
6527 break;
6529 case 36:
6531 /* Line 1806 of yacc.c */
6532 #line 774 "hphp.y"
6533 { (yyval) = (yyvsp[(1) - (1)]);}
6534 break;
6536 case 37:
6538 /* Line 1806 of yacc.c */
6539 #line 775 "hphp.y"
6540 { (yyval) = (yyvsp[(1) - (1)]);}
6541 break;
6543 case 38:
6545 /* Line 1806 of yacc.c */
6546 #line 776 "hphp.y"
6547 { (yyval) = (yyvsp[(1) - (1)]);}
6548 break;
6550 case 39:
6552 /* Line 1806 of yacc.c */
6553 #line 781 "hphp.y"
6555 break;
6557 case 40:
6559 /* Line 1806 of yacc.c */
6560 #line 782 "hphp.y"
6562 break;
6564 case 41:
6566 /* Line 1806 of yacc.c */
6567 #line 785 "hphp.y"
6568 { _p->onUse((yyvsp[(1) - (1)]).text(),"");}
6569 break;
6571 case 42:
6573 /* Line 1806 of yacc.c */
6574 #line 786 "hphp.y"
6575 { _p->onUse((yyvsp[(2) - (2)]).text(),"");}
6576 break;
6578 case 43:
6580 /* Line 1806 of yacc.c */
6581 #line 787 "hphp.y"
6582 { _p->onUse((yyvsp[(1) - (3)]).text(),(yyvsp[(3) - (3)]).text());}
6583 break;
6585 case 44:
6587 /* Line 1806 of yacc.c */
6588 #line 789 "hphp.y"
6589 { _p->onUse((yyvsp[(2) - (4)]).text(),(yyvsp[(4) - (4)]).text());}
6590 break;
6592 case 45:
6594 /* Line 1806 of yacc.c */
6595 #line 793 "hphp.y"
6596 { (yyval) = (yyvsp[(1) - (1)]);}
6597 break;
6599 case 46:
6601 /* Line 1806 of yacc.c */
6602 #line 795 "hphp.y"
6603 { (yyval) = (yyvsp[(1) - (3)]) + (yyvsp[(2) - (3)]) + (yyvsp[(3) - (3)]); (yyval) = (yyvsp[(1) - (3)]).num() | 2;}
6604 break;
6606 case 47:
6608 /* Line 1806 of yacc.c */
6609 #line 798 "hphp.y"
6610 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = (yyval).num() | 1;}
6611 break;
6613 case 48:
6615 /* Line 1806 of yacc.c */
6616 #line 800 "hphp.y"
6617 { (yyval).set((yyvsp[(3) - (3)]).num() | 2, _p->nsDecl((yyvsp[(3) - (3)]).text()));}
6618 break;
6620 case 49:
6622 /* Line 1806 of yacc.c */
6623 #line 801 "hphp.y"
6624 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = (yyval).num() | 2;}
6625 break;
6627 case 50:
6629 /* Line 1806 of yacc.c */
6630 #line 804 "hphp.y"
6631 { if ((yyvsp[(1) - (1)]).num() & 1) {
6632 (yyvsp[(1) - (1)]).setText(_p->resolve((yyvsp[(1) - (1)]).text(),0));
6634 (yyval) = (yyvsp[(1) - (1)]);}
6635 break;
6637 case 51:
6639 /* Line 1806 of yacc.c */
6640 #line 811 "hphp.y"
6641 { if ((yyvsp[(1) - (2)]).num() & 1) {
6642 (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),0));
6644 (yyval) = (yyvsp[(1) - (2)]);}
6645 break;
6647 case 52:
6649 /* Line 1806 of yacc.c */
6650 #line 818 "hphp.y"
6651 { if ((yyvsp[(1) - (2)]).num() & 1) {
6652 (yyvsp[(1) - (2)]).setText(_p->resolve((yyvsp[(1) - (2)]).text(),1));
6654 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));}
6655 break;
6657 case 53:
6659 /* Line 1806 of yacc.c */
6660 #line 826 "hphp.y"
6661 { (yyvsp[(3) - (5)]).setText(_p->nsDecl((yyvsp[(3) - (5)]).text()));
6662 on_constant(_p,(yyval),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));}
6663 break;
6665 case 54:
6667 /* Line 1806 of yacc.c */
6668 #line 829 "hphp.y"
6669 { (yyvsp[(2) - (4)]).setText(_p->nsDecl((yyvsp[(2) - (4)]).text()));
6670 on_constant(_p,(yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));}
6671 break;
6673 case 55:
6675 /* Line 1806 of yacc.c */
6676 #line 835 "hphp.y"
6677 { _p->addStatement((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
6678 break;
6680 case 56:
6682 /* Line 1806 of yacc.c */
6683 #line 836 "hphp.y"
6684 { _p->onStatementListStart((yyval));}
6685 break;
6687 case 57:
6689 /* Line 1806 of yacc.c */
6690 #line 839 "hphp.y"
6691 { (yyval) = (yyvsp[(1) - (1)]);}
6692 break;
6694 case 58:
6696 /* Line 1806 of yacc.c */
6697 #line 840 "hphp.y"
6698 { (yyval) = (yyvsp[(1) - (1)]);}
6699 break;
6701 case 59:
6703 /* Line 1806 of yacc.c */
6704 #line 841 "hphp.y"
6705 { (yyval) = (yyvsp[(1) - (1)]);}
6706 break;
6708 case 60:
6710 /* Line 1806 of yacc.c */
6711 #line 842 "hphp.y"
6712 { (yyval) = (yyvsp[(1) - (1)]);}
6713 break;
6715 case 61:
6717 /* Line 1806 of yacc.c */
6718 #line 845 "hphp.y"
6719 { _p->onBlock((yyval), (yyvsp[(2) - (3)]));}
6720 break;
6722 case 62:
6724 /* Line 1806 of yacc.c */
6725 #line 849 "hphp.y"
6726 { _p->onIf((yyval),(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]));}
6727 break;
6729 case 63:
6731 /* Line 1806 of yacc.c */
6732 #line 854 "hphp.y"
6733 { _p->onIf((yyval),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]));}
6734 break;
6736 case 64:
6738 /* Line 1806 of yacc.c */
6739 #line 855 "hphp.y"
6740 { _p->onNewLabelScope(false);
6741 _p->pushLabelScope();}
6742 break;
6744 case 65:
6746 /* Line 1806 of yacc.c */
6747 #line 857 "hphp.y"
6748 { _p->popLabelScope();
6749 _p->onWhile((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));
6750 _p->onCompleteLabelScope(false);}
6751 break;
6753 case 66:
6755 /* Line 1806 of yacc.c */
6756 #line 861 "hphp.y"
6757 { _p->onNewLabelScope(false);
6758 _p->pushLabelScope();}
6759 break;
6761 case 67:
6763 /* Line 1806 of yacc.c */
6764 #line 864 "hphp.y"
6765 { _p->popLabelScope();
6766 _p->onDo((yyval),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));
6767 _p->onCompleteLabelScope(false);}
6768 break;
6770 case 68:
6772 /* Line 1806 of yacc.c */
6773 #line 868 "hphp.y"
6774 { _p->onNewLabelScope(false);
6775 _p->pushLabelScope();}
6776 break;
6778 case 69:
6780 /* Line 1806 of yacc.c */
6781 #line 870 "hphp.y"
6782 { _p->popLabelScope();
6783 _p->onFor((yyval),(yyvsp[(3) - (10)]),(yyvsp[(5) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]));
6784 _p->onCompleteLabelScope(false);}
6785 break;
6787 case 70:
6789 /* Line 1806 of yacc.c */
6790 #line 873 "hphp.y"
6791 { _p->onNewLabelScope(false);
6792 _p->pushLabelScope();}
6793 break;
6795 case 71:
6797 /* Line 1806 of yacc.c */
6798 #line 875 "hphp.y"
6799 { _p->popLabelScope();
6800 _p->onSwitch((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));
6801 _p->onCompleteLabelScope(false);}
6802 break;
6804 case 72:
6806 /* Line 1806 of yacc.c */
6807 #line 878 "hphp.y"
6808 { _p->onBreakContinue((yyval), true, NULL);}
6809 break;
6811 case 73:
6813 /* Line 1806 of yacc.c */
6814 #line 879 "hphp.y"
6815 { _p->onBreakContinue((yyval), true, &(yyvsp[(2) - (3)]));}
6816 break;
6818 case 74:
6820 /* Line 1806 of yacc.c */
6821 #line 880 "hphp.y"
6822 { _p->onBreakContinue((yyval), false, NULL);}
6823 break;
6825 case 75:
6827 /* Line 1806 of yacc.c */
6828 #line 881 "hphp.y"
6829 { _p->onBreakContinue((yyval), false, &(yyvsp[(2) - (3)]));}
6830 break;
6832 case 76:
6834 /* Line 1806 of yacc.c */
6835 #line 882 "hphp.y"
6836 { _p->onReturn((yyval), NULL);}
6837 break;
6839 case 77:
6841 /* Line 1806 of yacc.c */
6842 #line 883 "hphp.y"
6843 { _p->onReturn((yyval), &(yyvsp[(2) - (3)]));}
6844 break;
6846 case 78:
6848 /* Line 1806 of yacc.c */
6849 #line 884 "hphp.y"
6850 { _p->onYieldBreak((yyval));}
6851 break;
6853 case 79:
6855 /* Line 1806 of yacc.c */
6856 #line 885 "hphp.y"
6857 { _p->onGlobal((yyval), (yyvsp[(2) - (3)]));}
6858 break;
6860 case 80:
6862 /* Line 1806 of yacc.c */
6863 #line 886 "hphp.y"
6864 { _p->onStatic((yyval), (yyvsp[(2) - (3)]));}
6865 break;
6867 case 81:
6869 /* Line 1806 of yacc.c */
6870 #line 887 "hphp.y"
6871 { _p->onEcho((yyval), (yyvsp[(2) - (3)]), 0);}
6872 break;
6874 case 82:
6876 /* Line 1806 of yacc.c */
6877 #line 888 "hphp.y"
6878 { _p->onUnset((yyval), (yyvsp[(3) - (5)]));}
6879 break;
6881 case 83:
6883 /* Line 1806 of yacc.c */
6884 #line 889 "hphp.y"
6885 { (yyval).reset(); (yyval) = ';';}
6886 break;
6888 case 84:
6890 /* Line 1806 of yacc.c */
6891 #line 890 "hphp.y"
6892 { _p->onEcho((yyval), (yyvsp[(1) - (1)]), 1);}
6893 break;
6895 case 85:
6897 /* Line 1806 of yacc.c */
6898 #line 893 "hphp.y"
6899 { _p->onNewLabelScope(false);
6900 _p->pushLabelScope();}
6901 break;
6903 case 86:
6905 /* Line 1806 of yacc.c */
6906 #line 895 "hphp.y"
6907 { _p->popLabelScope();
6908 _p->onForEach((yyval),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]));
6909 _p->onCompleteLabelScope(false);}
6910 break;
6912 case 87:
6914 /* Line 1806 of yacc.c */
6915 #line 899 "hphp.y"
6916 { _p->onBlock((yyval), (yyvsp[(5) - (5)])); (yyval) = T_DECLARE;}
6917 break;
6919 case 88:
6921 /* Line 1806 of yacc.c */
6922 #line 906 "hphp.y"
6923 { _p->onCompleteLabelScope(false);}
6924 break;
6926 case 89:
6928 /* Line 1806 of yacc.c */
6929 #line 907 "hphp.y"
6930 { _p->onTry((yyval),(yyvsp[(2) - (13)]),(yyvsp[(5) - (13)]),(yyvsp[(6) - (13)]),(yyvsp[(9) - (13)]),(yyvsp[(11) - (13)]),(yyvsp[(13) - (13)]));}
6931 break;
6933 case 90:
6935 /* Line 1806 of yacc.c */
6936 #line 910 "hphp.y"
6937 { _p->onCompleteLabelScope(false);}
6938 break;
6940 case 91:
6942 /* Line 1806 of yacc.c */
6943 #line 911 "hphp.y"
6944 { _p->onTry((yyval), (yyvsp[(2) - (5)]), (yyvsp[(5) - (5)]));}
6945 break;
6947 case 92:
6949 /* Line 1806 of yacc.c */
6950 #line 912 "hphp.y"
6951 { _p->onThrow((yyval), (yyvsp[(2) - (3)]));}
6952 break;
6954 case 93:
6956 /* Line 1806 of yacc.c */
6957 #line 913 "hphp.y"
6958 { _p->onGoto((yyval), (yyvsp[(2) - (3)]), true);
6959 _p->addGoto((yyvsp[(2) - (3)]).text(),
6960 _p->getLocation(),
6961 &(yyval));}
6962 break;
6964 case 94:
6966 /* Line 1806 of yacc.c */
6967 #line 917 "hphp.y"
6968 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
6969 break;
6971 case 95:
6973 /* Line 1806 of yacc.c */
6974 #line 918 "hphp.y"
6975 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
6976 break;
6978 case 96:
6980 /* Line 1806 of yacc.c */
6981 #line 919 "hphp.y"
6982 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
6983 break;
6985 case 97:
6987 /* Line 1806 of yacc.c */
6988 #line 920 "hphp.y"
6989 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
6990 break;
6992 case 98:
6994 /* Line 1806 of yacc.c */
6995 #line 921 "hphp.y"
6996 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
6997 break;
6999 case 99:
7001 /* Line 1806 of yacc.c */
7002 #line 922 "hphp.y"
7003 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
7004 break;
7006 case 100:
7008 /* Line 1806 of yacc.c */
7009 #line 923 "hphp.y"
7010 { _p->onReturn((yyval), &(yyvsp[(2) - (3)])); }
7011 break;
7013 case 101:
7015 /* Line 1806 of yacc.c */
7016 #line 924 "hphp.y"
7017 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
7018 break;
7020 case 102:
7022 /* Line 1806 of yacc.c */
7023 #line 925 "hphp.y"
7024 { _p->onExpStatement((yyval), (yyvsp[(1) - (2)]));}
7025 break;
7027 case 103:
7029 /* Line 1806 of yacc.c */
7030 #line 926 "hphp.y"
7031 { _p->onReturn((yyval), &(yyvsp[(2) - (3)])); }
7032 break;
7034 case 104:
7036 /* Line 1806 of yacc.c */
7037 #line 927 "hphp.y"
7038 { _p->onLabel((yyval), (yyvsp[(1) - (2)]));
7039 _p->addLabel((yyvsp[(1) - (2)]).text(),
7040 _p->getLocation(),
7041 &(yyval));
7042 _p->onScopeLabel((yyval), (yyvsp[(1) - (2)]));}
7043 break;
7045 case 105:
7047 /* Line 1806 of yacc.c */
7048 #line 935 "hphp.y"
7049 { _p->onNewLabelScope(false);}
7050 break;
7052 case 106:
7054 /* Line 1806 of yacc.c */
7055 #line 936 "hphp.y"
7056 { (yyval) = (yyvsp[(3) - (4)]);}
7057 break;
7059 case 107:
7061 /* Line 1806 of yacc.c */
7062 #line 945 "hphp.y"
7063 { _p->onCatch((yyval), (yyvsp[(1) - (9)]), (yyvsp[(4) - (9)]), (yyvsp[(5) - (9)]), (yyvsp[(8) - (9)]));}
7064 break;
7066 case 108:
7068 /* Line 1806 of yacc.c */
7069 #line 946 "hphp.y"
7070 { (yyval).reset();}
7071 break;
7073 case 109:
7075 /* Line 1806 of yacc.c */
7076 #line 950 "hphp.y"
7077 { _p->onNewLabelScope(false);
7078 _p->pushLabelScope();}
7079 break;
7081 case 110:
7083 /* Line 1806 of yacc.c */
7084 #line 952 "hphp.y"
7085 { _p->popLabelScope();
7086 _p->onFinally((yyval), (yyvsp[(3) - (4)]));
7087 _p->onCompleteLabelScope(false);}
7088 break;
7090 case 111:
7092 /* Line 1806 of yacc.c */
7093 #line 958 "hphp.y"
7094 { (yyval) = (yyvsp[(2) - (2)]);}
7095 break;
7097 case 112:
7099 /* Line 1806 of yacc.c */
7100 #line 959 "hphp.y"
7101 { (yyval).reset();}
7102 break;
7104 case 113:
7106 /* Line 1806 of yacc.c */
7107 #line 963 "hphp.y"
7108 { (yyval) = 1;}
7109 break;
7111 case 114:
7113 /* Line 1806 of yacc.c */
7114 #line 964 "hphp.y"
7115 { (yyval).reset();}
7116 break;
7118 case 115:
7120 /* Line 1806 of yacc.c */
7121 #line 968 "hphp.y"
7122 { _p->pushFuncLocation(); }
7123 break;
7125 case 116:
7127 /* Line 1806 of yacc.c */
7128 #line 973 "hphp.y"
7129 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7130 _p->onNewLabelScope(true);
7131 _p->onFunctionStart((yyvsp[(3) - (3)]));
7132 _p->pushLabelInfo();}
7133 break;
7135 case 117:
7137 /* Line 1806 of yacc.c */
7138 #line 979 "hphp.y"
7139 { _p->onFunction((yyval),nullptr,(yyvsp[(8) - (9)]),(yyvsp[(2) - (9)]),(yyvsp[(3) - (9)]),(yyvsp[(6) - (9)]),(yyvsp[(9) - (9)]),nullptr);
7140 _p->popLabelInfo();
7141 _p->popTypeScope();
7142 _p->onCompleteLabelScope(true);}
7143 break;
7145 case 118:
7147 /* Line 1806 of yacc.c */
7148 #line 985 "hphp.y"
7149 { (yyvsp[(4) - (4)]).setText(_p->nsDecl((yyvsp[(4) - (4)]).text()));
7150 _p->onNewLabelScope(true);
7151 _p->onFunctionStart((yyvsp[(4) - (4)]));
7152 _p->pushLabelInfo();}
7153 break;
7155 case 119:
7157 /* Line 1806 of yacc.c */
7158 #line 991 "hphp.y"
7159 { _p->onFunction((yyval),&(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr);
7160 _p->popLabelInfo();
7161 _p->popTypeScope();
7162 _p->onCompleteLabelScope(true);}
7163 break;
7165 case 120:
7167 /* Line 1806 of yacc.c */
7168 #line 997 "hphp.y"
7169 { (yyvsp[(5) - (5)]).setText(_p->nsDecl((yyvsp[(5) - (5)]).text()));
7170 _p->onNewLabelScope(true);
7171 _p->onFunctionStart((yyvsp[(5) - (5)]));
7172 _p->pushLabelInfo();}
7173 break;
7175 case 121:
7177 /* Line 1806 of yacc.c */
7178 #line 1003 "hphp.y"
7179 { _p->onFunction((yyval),&(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)]));
7180 _p->popLabelInfo();
7181 _p->popTypeScope();
7182 _p->onCompleteLabelScope(true);}
7183 break;
7185 case 122:
7187 /* Line 1806 of yacc.c */
7188 #line 1011 "hphp.y"
7189 { (yyvsp[(2) - (2)]).setText(_p->nsDecl((yyvsp[(2) - (2)]).text()));
7190 _p->onClassStart((yyvsp[(1) - (2)]).num(),(yyvsp[(2) - (2)]));}
7191 break;
7193 case 123:
7195 /* Line 1806 of yacc.c */
7196 #line 1014 "hphp.y"
7197 { Token stmts;
7198 if (_p->peekClass()) {
7199 xhp_collect_attributes(_p,stmts,(yyvsp[(7) - (8)]));
7200 } else {
7201 stmts = (yyvsp[(7) - (8)]);
7203 _p->onClass((yyval),(yyvsp[(1) - (8)]).num(),(yyvsp[(2) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(5) - (8)]),
7204 stmts,0);
7205 if (_p->peekClass()) {
7206 _p->xhpResetAttributes();
7208 _p->popClass();
7209 _p->popTypeScope();}
7210 break;
7212 case 124:
7214 /* Line 1806 of yacc.c */
7215 #line 1029 "hphp.y"
7216 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7217 _p->onClassStart((yyvsp[(2) - (3)]).num(),(yyvsp[(3) - (3)]));}
7218 break;
7220 case 125:
7222 /* Line 1806 of yacc.c */
7223 #line 1032 "hphp.y"
7224 { Token stmts;
7225 if (_p->peekClass()) {
7226 xhp_collect_attributes(_p,stmts,(yyvsp[(8) - (9)]));
7227 } else {
7228 stmts = (yyvsp[(8) - (9)]);
7230 _p->onClass((yyval),(yyvsp[(2) - (9)]).num(),(yyvsp[(3) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(6) - (9)]),
7231 stmts,&(yyvsp[(1) - (9)]));
7232 if (_p->peekClass()) {
7233 _p->xhpResetAttributes();
7235 _p->popClass();
7236 _p->popTypeScope();}
7237 break;
7239 case 126:
7241 /* Line 1806 of yacc.c */
7242 #line 1046 "hphp.y"
7243 { (yyvsp[(2) - (2)]).setText(_p->nsDecl((yyvsp[(2) - (2)]).text()));
7244 _p->onClassStart(T_INTERFACE,(yyvsp[(2) - (2)]));}
7245 break;
7247 case 127:
7249 /* Line 1806 of yacc.c */
7250 #line 1049 "hphp.y"
7251 { _p->onInterface((yyval),(yyvsp[(2) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(6) - (7)]),0);
7252 _p->popClass();
7253 _p->popTypeScope();}
7254 break;
7256 case 128:
7258 /* Line 1806 of yacc.c */
7259 #line 1054 "hphp.y"
7260 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7261 _p->onClassStart(T_INTERFACE,(yyvsp[(3) - (3)]));}
7262 break;
7264 case 129:
7266 /* Line 1806 of yacc.c */
7267 #line 1057 "hphp.y"
7268 { _p->onInterface((yyval),(yyvsp[(3) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));
7269 _p->popClass();
7270 _p->popTypeScope();}
7271 break;
7273 case 130:
7275 /* Line 1806 of yacc.c */
7276 #line 1064 "hphp.y"
7277 { (yyvsp[(2) - (2)]).setText(_p->nsDecl((yyvsp[(2) - (2)]).text()));
7278 _p->onClassStart(T_TRAIT, (yyvsp[(2) - (2)]));}
7279 break;
7281 case 131:
7283 /* Line 1806 of yacc.c */
7284 #line 1067 "hphp.y"
7285 { Token t_ext;
7286 t_ext.reset();
7287 _p->onClass((yyval),T_TRAIT,(yyvsp[(2) - (7)]),t_ext,(yyvsp[(4) - (7)]),
7288 (yyvsp[(6) - (7)]), 0);
7289 _p->popClass();
7290 _p->popTypeScope();}
7291 break;
7293 case 132:
7295 /* Line 1806 of yacc.c */
7296 #line 1075 "hphp.y"
7297 { (yyvsp[(3) - (3)]).setText(_p->nsDecl((yyvsp[(3) - (3)]).text()));
7298 _p->onClassStart(T_TRAIT, (yyvsp[(3) - (3)]));}
7299 break;
7301 case 133:
7303 /* Line 1806 of yacc.c */
7304 #line 1078 "hphp.y"
7305 { Token t_ext;
7306 t_ext.reset();
7307 _p->onClass((yyval),T_TRAIT,(yyvsp[(3) - (8)]),t_ext,(yyvsp[(5) - (8)]),
7308 (yyvsp[(7) - (8)]), &(yyvsp[(1) - (8)]));
7309 _p->popClass();
7310 _p->popTypeScope();}
7311 break;
7313 case 134:
7315 /* Line 1806 of yacc.c */
7316 #line 1086 "hphp.y"
7317 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);}
7318 break;
7320 case 135:
7322 /* Line 1806 of yacc.c */
7323 #line 1087 "hphp.y"
7324 { (yyvsp[(1) - (1)]).xhpLabel(); _p->pushTypeScope();
7325 _p->pushClass(true); (yyval) = (yyvsp[(1) - (1)]);}
7326 break;
7328 case 136:
7330 /* Line 1806 of yacc.c */
7331 #line 1091 "hphp.y"
7332 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);}
7333 break;
7335 case 137:
7337 /* Line 1806 of yacc.c */
7338 #line 1094 "hphp.y"
7339 { _p->pushClass(false); (yyval) = (yyvsp[(1) - (1)]);}
7340 break;
7342 case 138:
7344 /* Line 1806 of yacc.c */
7345 #line 1097 "hphp.y"
7346 { (yyval) = T_CLASS;}
7347 break;
7349 case 139:
7351 /* Line 1806 of yacc.c */
7352 #line 1098 "hphp.y"
7353 { (yyval) = T_ABSTRACT;}
7354 break;
7356 case 140:
7358 /* Line 1806 of yacc.c */
7359 #line 1099 "hphp.y"
7360 { (yyval) = T_FINAL;}
7361 break;
7363 case 141:
7365 /* Line 1806 of yacc.c */
7366 #line 1103 "hphp.y"
7367 { (yyval) = (yyvsp[(2) - (2)]);}
7368 break;
7370 case 142:
7372 /* Line 1806 of yacc.c */
7373 #line 1104 "hphp.y"
7374 { (yyval).reset();}
7375 break;
7377 case 143:
7379 /* Line 1806 of yacc.c */
7380 #line 1107 "hphp.y"
7381 { (yyval) = (yyvsp[(2) - (2)]);}
7382 break;
7384 case 144:
7386 /* Line 1806 of yacc.c */
7387 #line 1108 "hphp.y"
7388 { (yyval).reset();}
7389 break;
7391 case 145:
7393 /* Line 1806 of yacc.c */
7394 #line 1111 "hphp.y"
7395 { (yyval) = (yyvsp[(2) - (2)]);}
7396 break;
7398 case 146:
7400 /* Line 1806 of yacc.c */
7401 #line 1112 "hphp.y"
7402 { (yyval).reset();}
7403 break;
7405 case 147:
7407 /* Line 1806 of yacc.c */
7408 #line 1115 "hphp.y"
7409 { _p->onInterfaceName((yyval), NULL, (yyvsp[(1) - (1)]));}
7410 break;
7412 case 148:
7414 /* Line 1806 of yacc.c */
7415 #line 1117 "hphp.y"
7416 { _p->onInterfaceName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));}
7417 break;
7419 case 149:
7421 /* Line 1806 of yacc.c */
7422 #line 1120 "hphp.y"
7423 { _p->onTraitName((yyval), NULL, (yyvsp[(1) - (1)]));}
7424 break;
7426 case 150:
7428 /* Line 1806 of yacc.c */
7429 #line 1122 "hphp.y"
7430 { _p->onTraitName((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));}
7431 break;
7433 case 151:
7435 /* Line 1806 of yacc.c */
7436 #line 1126 "hphp.y"
7437 { (yyval) = (yyvsp[(2) - (2)]);}
7438 break;
7440 case 152:
7442 /* Line 1806 of yacc.c */
7443 #line 1127 "hphp.y"
7444 { (yyval).reset();}
7445 break;
7447 case 153:
7449 /* Line 1806 of yacc.c */
7450 #line 1130 "hphp.y"
7451 { (yyval) = (yyvsp[(1) - (1)]);}
7452 break;
7454 case 154:
7456 /* Line 1806 of yacc.c */
7457 #line 1131 "hphp.y"
7458 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;}
7459 break;
7461 case 155:
7463 /* Line 1806 of yacc.c */
7464 #line 1132 "hphp.y"
7465 { _p->onListAssignment((yyval), (yyvsp[(3) - (4)]), NULL);}
7466 break;
7468 case 156:
7470 /* Line 1806 of yacc.c */
7471 #line 1136 "hphp.y"
7472 { (yyval) = (yyvsp[(1) - (1)]);}
7473 break;
7475 case 157:
7477 /* Line 1806 of yacc.c */
7478 #line 1138 "hphp.y"
7479 { (yyval) = (yyvsp[(2) - (4)]);}
7480 break;
7482 case 158:
7484 /* Line 1806 of yacc.c */
7485 #line 1141 "hphp.y"
7486 { (yyval) = (yyvsp[(1) - (1)]);}
7487 break;
7489 case 159:
7491 /* Line 1806 of yacc.c */
7492 #line 1143 "hphp.y"
7493 { (yyval) = (yyvsp[(2) - (4)]);}
7494 break;
7496 case 160:
7498 /* Line 1806 of yacc.c */
7499 #line 1146 "hphp.y"
7500 { (yyval) = (yyvsp[(1) - (1)]);}
7501 break;
7503 case 161:
7505 /* Line 1806 of yacc.c */
7506 #line 1148 "hphp.y"
7507 { (yyval) = (yyvsp[(2) - (4)]);}
7508 break;
7510 case 162:
7512 /* Line 1806 of yacc.c */
7513 #line 1151 "hphp.y"
7514 { (yyval) = (yyvsp[(1) - (1)]);}
7515 break;
7517 case 163:
7519 /* Line 1806 of yacc.c */
7520 #line 1153 "hphp.y"
7521 { (yyval) = (yyvsp[(2) - (4)]);}
7522 break;
7524 case 166:
7526 /* Line 1806 of yacc.c */
7527 #line 1163 "hphp.y"
7528 { (yyval) = (yyvsp[(2) - (3)]);}
7529 break;
7531 case 167:
7533 /* Line 1806 of yacc.c */
7534 #line 1164 "hphp.y"
7535 { (yyval) = (yyvsp[(3) - (4)]);}
7536 break;
7538 case 168:
7540 /* Line 1806 of yacc.c */
7541 #line 1165 "hphp.y"
7542 { (yyval) = (yyvsp[(2) - (4)]);}
7543 break;
7545 case 169:
7547 /* Line 1806 of yacc.c */
7548 #line 1166 "hphp.y"
7549 { (yyval) = (yyvsp[(3) - (5)]);}
7550 break;
7552 case 170:
7554 /* Line 1806 of yacc.c */
7555 #line 1171 "hphp.y"
7556 { _p->onCase((yyval),(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));}
7557 break;
7559 case 171:
7561 /* Line 1806 of yacc.c */
7562 #line 1173 "hphp.y"
7563 { _p->onCase((yyval),(yyvsp[(1) - (4)]),NULL,(yyvsp[(4) - (4)]));}
7564 break;
7566 case 172:
7568 /* Line 1806 of yacc.c */
7569 #line 1174 "hphp.y"
7570 { (yyval).reset();}
7571 break;
7573 case 173:
7575 /* Line 1806 of yacc.c */
7576 #line 1177 "hphp.y"
7577 { (yyval).reset();}
7578 break;
7580 case 174:
7582 /* Line 1806 of yacc.c */
7583 #line 1178 "hphp.y"
7584 { (yyval).reset();}
7585 break;
7587 case 175:
7589 /* Line 1806 of yacc.c */
7590 #line 1183 "hphp.y"
7591 { _p->onElseIf((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));}
7592 break;
7594 case 176:
7596 /* Line 1806 of yacc.c */
7597 #line 1184 "hphp.y"
7598 { (yyval).reset();}
7599 break;
7601 case 177:
7603 /* Line 1806 of yacc.c */
7604 #line 1189 "hphp.y"
7605 { _p->onElseIf((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));}
7606 break;
7608 case 178:
7610 /* Line 1806 of yacc.c */
7611 #line 1190 "hphp.y"
7612 { (yyval).reset();}
7613 break;
7615 case 179:
7617 /* Line 1806 of yacc.c */
7618 #line 1193 "hphp.y"
7619 { (yyval) = (yyvsp[(2) - (2)]);}
7620 break;
7622 case 180:
7624 /* Line 1806 of yacc.c */
7625 #line 1194 "hphp.y"
7626 { (yyval).reset();}
7627 break;
7629 case 181:
7631 /* Line 1806 of yacc.c */
7632 #line 1197 "hphp.y"
7633 { (yyval) = (yyvsp[(3) - (3)]);}
7634 break;
7636 case 182:
7638 /* Line 1806 of yacc.c */
7639 #line 1198 "hphp.y"
7640 { (yyval).reset();}
7641 break;
7643 case 183:
7645 /* Line 1806 of yacc.c */
7646 #line 1203 "hphp.y"
7647 { (yyval) = (yyvsp[(1) - (3)]);}
7648 break;
7650 case 184:
7652 /* Line 1806 of yacc.c */
7653 #line 1205 "hphp.y"
7654 { (yyval) = (yyvsp[(1) - (2)]);}
7655 break;
7657 case 185:
7659 /* Line 1806 of yacc.c */
7660 #line 1206 "hphp.y"
7661 { (yyval).reset();}
7662 break;
7664 case 186:
7666 /* Line 1806 of yacc.c */
7667 #line 1207 "hphp.y"
7668 { (yyval).reset();}
7669 break;
7671 case 187:
7673 /* Line 1806 of yacc.c */
7674 #line 1213 "hphp.y"
7675 { _p->onParam((yyval),NULL,(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]),0,
7676 NULL,&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]));}
7677 break;
7679 case 188:
7681 /* Line 1806 of yacc.c */
7682 #line 1217 "hphp.y"
7683 { _p->onParam((yyval),NULL,(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),1,
7684 NULL,&(yyvsp[(1) - (5)]),&(yyvsp[(2) - (5)]));}
7685 break;
7687 case 189:
7689 /* Line 1806 of yacc.c */
7690 #line 1222 "hphp.y"
7691 { _p->onParam((yyval),NULL,(yyvsp[(3) - (7)]),(yyvsp[(5) - (7)]),1,
7692 &(yyvsp[(7) - (7)]),&(yyvsp[(1) - (7)]),&(yyvsp[(2) - (7)]));}
7693 break;
7695 case 190:
7697 /* Line 1806 of yacc.c */
7698 #line 1227 "hphp.y"
7699 { _p->onParam((yyval),NULL,(yyvsp[(3) - (6)]),(yyvsp[(4) - (6)]),0,
7700 &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),&(yyvsp[(2) - (6)]));}
7701 break;
7703 case 191:
7705 /* Line 1806 of yacc.c */
7706 #line 1232 "hphp.y"
7707 { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]),0,
7708 NULL,&(yyvsp[(3) - (6)]),&(yyvsp[(4) - (6)]));}
7709 break;
7711 case 192:
7713 /* Line 1806 of yacc.c */
7714 #line 1237 "hphp.y"
7715 { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(5) - (7)]),(yyvsp[(7) - (7)]),1,
7716 NULL,&(yyvsp[(3) - (7)]),&(yyvsp[(4) - (7)]));}
7717 break;
7719 case 193:
7721 /* Line 1806 of yacc.c */
7722 #line 1243 "hphp.y"
7723 { _p->onParam((yyval),&(yyvsp[(1) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(7) - (9)]),1,
7724 &(yyvsp[(9) - (9)]),&(yyvsp[(3) - (9)]),&(yyvsp[(4) - (9)]));}
7725 break;
7727 case 194:
7729 /* Line 1806 of yacc.c */
7730 #line 1249 "hphp.y"
7731 { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(6) - (8)]),0,
7732 &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),&(yyvsp[(4) - (8)]));}
7733 break;
7735 case 195:
7737 /* Line 1806 of yacc.c */
7738 #line 1255 "hphp.y"
7739 { (yyval) = (yyvsp[(1) - (3)]);}
7740 break;
7742 case 196:
7744 /* Line 1806 of yacc.c */
7745 #line 1257 "hphp.y"
7746 { (yyval) = (yyvsp[(1) - (2)]);}
7747 break;
7749 case 197:
7751 /* Line 1806 of yacc.c */
7752 #line 1258 "hphp.y"
7753 { (yyval).reset();}
7754 break;
7756 case 198:
7758 /* Line 1806 of yacc.c */
7759 #line 1259 "hphp.y"
7760 { (yyval).reset();}
7761 break;
7763 case 199:
7765 /* Line 1806 of yacc.c */
7766 #line 1264 "hphp.y"
7767 { _p->onParam((yyval),NULL,(yyvsp[(2) - (3)]),(yyvsp[(3) - (3)]),0,
7768 NULL,&(yyvsp[(1) - (3)]),NULL);}
7769 break;
7771 case 200:
7773 /* Line 1806 of yacc.c */
7774 #line 1267 "hphp.y"
7775 { _p->onParam((yyval),NULL,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),1,
7776 NULL,&(yyvsp[(1) - (4)]),NULL);}
7777 break;
7779 case 201:
7781 /* Line 1806 of yacc.c */
7782 #line 1271 "hphp.y"
7783 { _p->onParam((yyval),NULL,(yyvsp[(2) - (6)]),(yyvsp[(4) - (6)]),1,
7784 &(yyvsp[(6) - (6)]),&(yyvsp[(1) - (6)]),NULL);}
7785 break;
7787 case 202:
7789 /* Line 1806 of yacc.c */
7790 #line 1275 "hphp.y"
7791 { _p->onParam((yyval),NULL,(yyvsp[(2) - (5)]),(yyvsp[(3) - (5)]),0,
7792 &(yyvsp[(5) - (5)]),&(yyvsp[(1) - (5)]),NULL);}
7793 break;
7795 case 203:
7797 /* Line 1806 of yacc.c */
7798 #line 1279 "hphp.y"
7799 { _p->onParam((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),(yyvsp[(5) - (5)]),0,
7800 NULL,&(yyvsp[(3) - (5)]),NULL);}
7801 break;
7803 case 204:
7805 /* Line 1806 of yacc.c */
7806 #line 1283 "hphp.y"
7807 { _p->onParam((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(4) - (6)]),(yyvsp[(6) - (6)]),1,
7808 NULL,&(yyvsp[(3) - (6)]),NULL);}
7809 break;
7811 case 205:
7813 /* Line 1806 of yacc.c */
7814 #line 1288 "hphp.y"
7815 { _p->onParam((yyval),&(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(6) - (8)]),1,
7816 &(yyvsp[(8) - (8)]),&(yyvsp[(3) - (8)]),NULL);}
7817 break;
7819 case 206:
7821 /* Line 1806 of yacc.c */
7822 #line 1293 "hphp.y"
7823 { _p->onParam((yyval),&(yyvsp[(1) - (7)]),(yyvsp[(4) - (7)]),(yyvsp[(5) - (7)]),0,
7824 &(yyvsp[(7) - (7)]),&(yyvsp[(3) - (7)]),NULL);}
7825 break;
7827 case 207:
7829 /* Line 1806 of yacc.c */
7830 #line 1299 "hphp.y"
7831 { (yyval) = (yyvsp[(1) - (2)]);}
7832 break;
7834 case 208:
7836 /* Line 1806 of yacc.c */
7837 #line 1300 "hphp.y"
7838 { (yyval).reset();}
7839 break;
7841 case 209:
7843 /* Line 1806 of yacc.c */
7844 #line 1303 "hphp.y"
7845 { _p->onCallParam((yyval),NULL,(yyvsp[(1) - (1)]),0);}
7846 break;
7848 case 210:
7850 /* Line 1806 of yacc.c */
7851 #line 1304 "hphp.y"
7852 { _p->onCallParam((yyval),NULL,(yyvsp[(2) - (2)]),1);}
7853 break;
7855 case 211:
7857 /* Line 1806 of yacc.c */
7858 #line 1306 "hphp.y"
7859 { _p->onCallParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);}
7860 break;
7862 case 212:
7864 /* Line 1806 of yacc.c */
7865 #line 1308 "hphp.y"
7866 { _p->onCallParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);}
7867 break;
7869 case 213:
7871 /* Line 1806 of yacc.c */
7872 #line 1312 "hphp.y"
7873 { _p->onGlobalVar((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));}
7874 break;
7876 case 214:
7878 /* Line 1806 of yacc.c */
7879 #line 1313 "hphp.y"
7880 { _p->onGlobalVar((yyval), NULL, (yyvsp[(1) - (1)]));}
7881 break;
7883 case 215:
7885 /* Line 1806 of yacc.c */
7886 #line 1316 "hphp.y"
7887 { (yyval) = (yyvsp[(1) - (1)]);}
7888 break;
7890 case 216:
7892 /* Line 1806 of yacc.c */
7893 #line 1317 "hphp.y"
7894 { (yyval) = (yyvsp[(2) - (2)]); (yyval) = 1;}
7895 break;
7897 case 217:
7899 /* Line 1806 of yacc.c */
7900 #line 1318 "hphp.y"
7901 { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 1;}
7902 break;
7904 case 218:
7906 /* Line 1806 of yacc.c */
7907 #line 1322 "hphp.y"
7908 { _p->onStaticVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);}
7909 break;
7911 case 219:
7913 /* Line 1806 of yacc.c */
7914 #line 1324 "hphp.y"
7915 { _p->onStaticVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));}
7916 break;
7918 case 220:
7920 /* Line 1806 of yacc.c */
7921 #line 1325 "hphp.y"
7922 { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (1)]),0);}
7923 break;
7925 case 221:
7927 /* Line 1806 of yacc.c */
7928 #line 1326 "hphp.y"
7929 { _p->onStaticVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));}
7930 break;
7932 case 222:
7934 /* Line 1806 of yacc.c */
7935 #line 1331 "hphp.y"
7936 { _p->onClassStatement((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));}
7937 break;
7939 case 223:
7941 /* Line 1806 of yacc.c */
7942 #line 1332 "hphp.y"
7943 { (yyval).reset();}
7944 break;
7946 case 224:
7948 /* Line 1806 of yacc.c */
7949 #line 1335 "hphp.y"
7950 { _p->onClassVariableModifer((yyvsp[(1) - (1)]));}
7951 break;
7953 case 225:
7955 /* Line 1806 of yacc.c */
7956 #line 1336 "hphp.y"
7957 { _p->onClassVariableStart
7958 ((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);}
7959 break;
7961 case 226:
7963 /* Line 1806 of yacc.c */
7964 #line 1339 "hphp.y"
7965 { _p->onClassVariableModifer((yyvsp[(1) - (2)]));}
7966 break;
7968 case 227:
7970 /* Line 1806 of yacc.c */
7971 #line 1340 "hphp.y"
7972 { _p->onClassVariableStart
7973 ((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(4) - (5)]),&(yyvsp[(2) - (5)]));}
7974 break;
7976 case 228:
7978 /* Line 1806 of yacc.c */
7979 #line 1342 "hphp.y"
7980 { _p->onClassVariableStart
7981 ((yyval),NULL,(yyvsp[(1) - (2)]),NULL);}
7982 break;
7984 case 229:
7986 /* Line 1806 of yacc.c */
7987 #line 1346 "hphp.y"
7988 { _p->onNewLabelScope(true);
7989 _p->onMethodStart((yyvsp[(4) - (5)]), (yyvsp[(1) - (5)]));
7990 _p->pushLabelInfo();}
7991 break;
7993 case 230:
7995 /* Line 1806 of yacc.c */
7996 #line 1352 "hphp.y"
7997 { _p->onMethod((yyval),(yyvsp[(1) - (10)]),(yyvsp[(9) - (10)]),(yyvsp[(3) - (10)]),(yyvsp[(4) - (10)]),(yyvsp[(7) - (10)]),(yyvsp[(10) - (10)]),nullptr);
7998 _p->popLabelInfo();
7999 _p->popTypeScope();
8000 _p->onCompleteLabelScope(true);}
8001 break;
8003 case 231:
8005 /* Line 1806 of yacc.c */
8006 #line 1359 "hphp.y"
8007 { _p->onNewLabelScope(true);
8008 _p->onMethodStart((yyvsp[(5) - (6)]), (yyvsp[(2) - (6)]));
8009 _p->pushLabelInfo();}
8010 break;
8012 case 232:
8014 /* Line 1806 of yacc.c */
8015 #line 1365 "hphp.y"
8016 { _p->onMethod((yyval),(yyvsp[(2) - (11)]),(yyvsp[(10) - (11)]),(yyvsp[(4) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(11) - (11)]),&(yyvsp[(1) - (11)]));
8017 _p->popLabelInfo();
8018 _p->popTypeScope();
8019 _p->onCompleteLabelScope(true);}
8020 break;
8022 case 233:
8024 /* Line 1806 of yacc.c */
8025 #line 1370 "hphp.y"
8026 { _p->xhpSetAttributes((yyvsp[(2) - (3)]));}
8027 break;
8029 case 234:
8031 /* Line 1806 of yacc.c */
8032 #line 1372 "hphp.y"
8033 { xhp_category_stmt(_p,(yyval),(yyvsp[(2) - (3)]));}
8034 break;
8036 case 235:
8038 /* Line 1806 of yacc.c */
8039 #line 1374 "hphp.y"
8040 { xhp_children_stmt(_p,(yyval),(yyvsp[(2) - (3)]));}
8041 break;
8043 case 236:
8045 /* Line 1806 of yacc.c */
8046 #line 1376 "hphp.y"
8047 { _p->onTraitRequire((yyval), (yyvsp[(3) - (4)]), true); }
8048 break;
8050 case 237:
8052 /* Line 1806 of yacc.c */
8053 #line 1378 "hphp.y"
8054 { _p->onTraitRequire((yyval), (yyvsp[(3) - (4)]), false); }
8055 break;
8057 case 238:
8059 /* Line 1806 of yacc.c */
8060 #line 1379 "hphp.y"
8061 { Token t; t.reset();
8062 _p->onTraitUse((yyval),(yyvsp[(2) - (3)]),t); }
8063 break;
8065 case 239:
8067 /* Line 1806 of yacc.c */
8068 #line 1382 "hphp.y"
8069 { _p->onTraitUse((yyval),(yyvsp[(2) - (5)]),(yyvsp[(4) - (5)])); }
8070 break;
8072 case 240:
8074 /* Line 1806 of yacc.c */
8075 #line 1385 "hphp.y"
8076 { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); }
8077 break;
8079 case 241:
8081 /* Line 1806 of yacc.c */
8082 #line 1386 "hphp.y"
8083 { _p->onTraitRule((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)])); }
8084 break;
8086 case 242:
8088 /* Line 1806 of yacc.c */
8089 #line 1387 "hphp.y"
8090 { (yyval).reset(); }
8091 break;
8093 case 243:
8095 /* Line 1806 of yacc.c */
8096 #line 1393 "hphp.y"
8097 { _p->onTraitPrecRule((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));}
8098 break;
8100 case 244:
8102 /* Line 1806 of yacc.c */
8103 #line 1397 "hphp.y"
8104 { _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),
8105 (yyvsp[(4) - (5)]));}
8106 break;
8108 case 245:
8110 /* Line 1806 of yacc.c */
8111 #line 1400 "hphp.y"
8112 { Token t; t.reset();
8113 _p->onTraitAliasRuleModify((yyval),(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),
8114 t);}
8115 break;
8117 case 246:
8119 /* Line 1806 of yacc.c */
8120 #line 1407 "hphp.y"
8121 { _p->onTraitAliasRuleStart((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));}
8122 break;
8124 case 247:
8126 /* Line 1806 of yacc.c */
8127 #line 1408 "hphp.y"
8128 { Token t; t.reset();
8129 _p->onTraitAliasRuleStart((yyval),t,(yyvsp[(1) - (1)]));}
8130 break;
8132 case 248:
8134 /* Line 1806 of yacc.c */
8135 #line 1413 "hphp.y"
8136 { xhp_attribute_list(_p,(yyval),
8137 _p->xhpGetAttributes(),(yyvsp[(1) - (1)]));}
8138 break;
8140 case 249:
8142 /* Line 1806 of yacc.c */
8143 #line 1416 "hphp.y"
8144 { xhp_attribute_list(_p,(yyval), &(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));}
8145 break;
8147 case 250:
8149 /* Line 1806 of yacc.c */
8150 #line 1423 "hphp.y"
8151 { xhp_attribute(_p,(yyval),(yyvsp[(1) - (4)]),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));
8152 (yyval) = 1;}
8153 break;
8155 case 251:
8157 /* Line 1806 of yacc.c */
8158 #line 1425 "hphp.y"
8159 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 0;}
8160 break;
8162 case 252:
8164 /* Line 1806 of yacc.c */
8165 #line 1429 "hphp.y"
8166 { (yyval) = 4;}
8167 break;
8169 case 253:
8171 /* Line 1806 of yacc.c */
8172 #line 1430 "hphp.y"
8173 { /* This case handles all types other
8174 than "array", "var" and "enum".
8175 For now we just use type code 5;
8176 later xhp_attribute() will fix up
8177 the type code as appropriate. */
8178 (yyval) = 5; (yyval).setText((yyvsp[(1) - (1)]));}
8179 break;
8181 case 254:
8183 /* Line 1806 of yacc.c */
8184 #line 1436 "hphp.y"
8185 { (yyval) = 6;}
8186 break;
8188 case 255:
8190 /* Line 1806 of yacc.c */
8191 #line 1438 "hphp.y"
8192 { (yyval) = (yyvsp[(3) - (4)]); (yyval) = 7;}
8193 break;
8195 case 256:
8197 /* Line 1806 of yacc.c */
8198 #line 1442 "hphp.y"
8199 { _p->onArrayPair((yyval), 0,0,(yyvsp[(1) - (1)]),0);}
8200 break;
8202 case 257:
8204 /* Line 1806 of yacc.c */
8205 #line 1444 "hphp.y"
8206 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),0,(yyvsp[(3) - (3)]),0);}
8207 break;
8209 case 258:
8211 /* Line 1806 of yacc.c */
8212 #line 1448 "hphp.y"
8213 { (yyval) = (yyvsp[(2) - (2)]);}
8214 break;
8216 case 259:
8218 /* Line 1806 of yacc.c */
8219 #line 1449 "hphp.y"
8220 { scalar_null(_p, (yyval));}
8221 break;
8223 case 260:
8225 /* Line 1806 of yacc.c */
8226 #line 1453 "hphp.y"
8227 { scalar_num(_p, (yyval), "1");}
8228 break;
8230 case 261:
8232 /* Line 1806 of yacc.c */
8233 #line 1454 "hphp.y"
8234 { scalar_num(_p, (yyval), "0");}
8235 break;
8237 case 262:
8239 /* Line 1806 of yacc.c */
8240 #line 1458 "hphp.y"
8241 { Token t; scalar_num(_p, t, "1");
8242 _p->onArrayPair((yyval),0,&(yyvsp[(1) - (1)]),t,0);}
8243 break;
8245 case 263:
8247 /* Line 1806 of yacc.c */
8248 #line 1461 "hphp.y"
8249 { Token t; scalar_num(_p, t, "1");
8250 _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]),t,0);}
8251 break;
8253 case 264:
8255 /* Line 1806 of yacc.c */
8256 #line 1466 "hphp.y"
8257 { _p->onScalar((yyval),
8258 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));}
8259 break;
8261 case 265:
8263 /* Line 1806 of yacc.c */
8264 #line 1471 "hphp.y"
8265 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = 2;}
8266 break;
8268 case 266:
8270 /* Line 1806 of yacc.c */
8271 #line 1472 "hphp.y"
8272 { (yyval) = -1;
8273 if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1;}
8274 break;
8276 case 267:
8278 /* Line 1806 of yacc.c */
8279 #line 1474 "hphp.y"
8280 { (yyval) = 0;}
8281 break;
8283 case 268:
8285 /* Line 1806 of yacc.c */
8286 #line 1478 "hphp.y"
8287 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (3)]), 0);}
8288 break;
8290 case 269:
8292 /* Line 1806 of yacc.c */
8293 #line 1479 "hphp.y"
8294 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 1);}
8295 break;
8297 case 270:
8299 /* Line 1806 of yacc.c */
8300 #line 1480 "hphp.y"
8301 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 2);}
8302 break;
8304 case 271:
8306 /* Line 1806 of yacc.c */
8307 #line 1481 "hphp.y"
8308 { xhp_children_paren(_p, (yyval), (yyvsp[(2) - (4)]), 3);}
8309 break;
8311 case 272:
8313 /* Line 1806 of yacc.c */
8314 #line 1485 "hphp.y"
8315 { (yyval) = (yyvsp[(1) - (1)]);}
8316 break;
8318 case 273:
8320 /* Line 1806 of yacc.c */
8321 #line 1486 "hphp.y"
8322 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (1)]),0, 0);}
8323 break;
8325 case 274:
8327 /* Line 1806 of yacc.c */
8328 #line 1487 "hphp.y"
8329 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),1, 0);}
8330 break;
8332 case 275:
8334 /* Line 1806 of yacc.c */
8335 #line 1488 "hphp.y"
8336 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),2, 0);}
8337 break;
8339 case 276:
8341 /* Line 1806 of yacc.c */
8342 #line 1489 "hphp.y"
8343 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (2)]),3, 0);}
8344 break;
8346 case 277:
8348 /* Line 1806 of yacc.c */
8349 #line 1491 "hphp.y"
8350 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),4,&(yyvsp[(3) - (3)]));}
8351 break;
8353 case 278:
8355 /* Line 1806 of yacc.c */
8356 #line 1493 "hphp.y"
8357 { xhp_children_decl(_p,(yyval),(yyvsp[(1) - (3)]),5,&(yyvsp[(3) - (3)]));}
8358 break;
8360 case 279:
8362 /* Line 1806 of yacc.c */
8363 #line 1497 "hphp.y"
8364 { (yyval) = -1;
8365 if ((yyvsp[(1) - (1)]).same("any")) (yyval) = 1; else
8366 if ((yyvsp[(1) - (1)]).same("pcdata")) (yyval) = 2;}
8367 break;
8369 case 280:
8371 /* Line 1806 of yacc.c */
8372 #line 1500 "hphp.y"
8373 { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 3;}
8374 break;
8376 case 281:
8378 /* Line 1806 of yacc.c */
8379 #line 1501 "hphp.y"
8380 { (yyvsp[(1) - (1)]).xhpLabel(0); (yyval) = (yyvsp[(1) - (1)]); (yyval) = 4;}
8381 break;
8383 case 282:
8385 /* Line 1806 of yacc.c */
8386 #line 1505 "hphp.y"
8387 { (yyval).reset();}
8388 break;
8390 case 283:
8392 /* Line 1806 of yacc.c */
8393 #line 1506 "hphp.y"
8394 { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;}
8395 break;
8397 case 284:
8399 /* Line 1806 of yacc.c */
8400 #line 1510 "hphp.y"
8401 { (yyval).reset();}
8402 break;
8404 case 285:
8406 /* Line 1806 of yacc.c */
8407 #line 1511 "hphp.y"
8408 { _p->finishStatement((yyval), (yyvsp[(2) - (3)])); (yyval) = 1;}
8409 break;
8411 case 286:
8413 /* Line 1806 of yacc.c */
8414 #line 1514 "hphp.y"
8415 { (yyval) = (yyvsp[(1) - (1)]);}
8416 break;
8418 case 287:
8420 /* Line 1806 of yacc.c */
8421 #line 1515 "hphp.y"
8422 { (yyval).reset();}
8423 break;
8425 case 288:
8427 /* Line 1806 of yacc.c */
8428 #line 1518 "hphp.y"
8429 { (yyval) = (yyvsp[(1) - (1)]);}
8430 break;
8432 case 289:
8434 /* Line 1806 of yacc.c */
8435 #line 1519 "hphp.y"
8436 { (yyval).reset();}
8437 break;
8439 case 290:
8441 /* Line 1806 of yacc.c */
8442 #line 1522 "hphp.y"
8443 { _p->onMemberModifier((yyval),NULL,(yyvsp[(1) - (1)]));}
8444 break;
8446 case 291:
8448 /* Line 1806 of yacc.c */
8449 #line 1524 "hphp.y"
8450 { _p->onMemberModifier((yyval),&(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
8451 break;
8453 case 292:
8455 /* Line 1806 of yacc.c */
8456 #line 1527 "hphp.y"
8457 { (yyval) = T_PUBLIC;}
8458 break;
8460 case 293:
8462 /* Line 1806 of yacc.c */
8463 #line 1528 "hphp.y"
8464 { (yyval) = T_PROTECTED;}
8465 break;
8467 case 294:
8469 /* Line 1806 of yacc.c */
8470 #line 1529 "hphp.y"
8471 { (yyval) = T_PRIVATE;}
8472 break;
8474 case 295:
8476 /* Line 1806 of yacc.c */
8477 #line 1530 "hphp.y"
8478 { (yyval) = T_STATIC;}
8479 break;
8481 case 296:
8483 /* Line 1806 of yacc.c */
8484 #line 1531 "hphp.y"
8485 { (yyval) = T_ABSTRACT;}
8486 break;
8488 case 297:
8490 /* Line 1806 of yacc.c */
8491 #line 1532 "hphp.y"
8492 { (yyval) = T_FINAL;}
8493 break;
8495 case 298:
8497 /* Line 1806 of yacc.c */
8498 #line 1533 "hphp.y"
8499 { (yyval) = T_ASYNC;}
8500 break;
8502 case 299:
8504 /* Line 1806 of yacc.c */
8505 #line 1537 "hphp.y"
8506 { (yyval) = (yyvsp[(1) - (1)]);}
8507 break;
8509 case 300:
8511 /* Line 1806 of yacc.c */
8512 #line 1538 "hphp.y"
8513 { (yyval).reset();}
8514 break;
8516 case 301:
8518 /* Line 1806 of yacc.c */
8519 #line 1541 "hphp.y"
8520 { (yyval) = T_PUBLIC;}
8521 break;
8523 case 302:
8525 /* Line 1806 of yacc.c */
8526 #line 1542 "hphp.y"
8527 { (yyval) = T_PROTECTED;}
8528 break;
8530 case 303:
8532 /* Line 1806 of yacc.c */
8533 #line 1543 "hphp.y"
8534 { (yyval) = T_PRIVATE;}
8535 break;
8537 case 304:
8539 /* Line 1806 of yacc.c */
8540 #line 1547 "hphp.y"
8541 { _p->onClassVariable((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);}
8542 break;
8544 case 305:
8546 /* Line 1806 of yacc.c */
8547 #line 1549 "hphp.y"
8548 { _p->onClassVariable((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),&(yyvsp[(5) - (5)]));}
8549 break;
8551 case 306:
8553 /* Line 1806 of yacc.c */
8554 #line 1550 "hphp.y"
8555 { _p->onClassVariable((yyval),0,(yyvsp[(1) - (1)]),0);}
8556 break;
8558 case 307:
8560 /* Line 1806 of yacc.c */
8561 #line 1551 "hphp.y"
8562 { _p->onClassVariable((yyval),0,(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));}
8563 break;
8565 case 308:
8567 /* Line 1806 of yacc.c */
8568 #line 1555 "hphp.y"
8569 { _p->onClassConstant((yyval),&(yyvsp[(1) - (5)]),(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));}
8570 break;
8572 case 309:
8574 /* Line 1806 of yacc.c */
8575 #line 1556 "hphp.y"
8576 { _p->onClassConstant((yyval),0,(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));}
8577 break;
8579 case 310:
8581 /* Line 1806 of yacc.c */
8582 #line 1560 "hphp.y"
8583 { (yyval) = (yyvsp[(2) - (3)]);}
8584 break;
8586 case 311:
8588 /* Line 1806 of yacc.c */
8589 #line 1562 "hphp.y"
8590 { _p->onNewObject((yyval), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));}
8591 break;
8593 case 312:
8595 /* Line 1806 of yacc.c */
8596 #line 1563 "hphp.y"
8597 { UEXP((yyval),(yyvsp[(2) - (2)]),T_CLONE,1);}
8598 break;
8600 case 313:
8602 /* Line 1806 of yacc.c */
8603 #line 1564 "hphp.y"
8604 { (yyval) = (yyvsp[(1) - (1)]);}
8605 break;
8607 case 314:
8609 /* Line 1806 of yacc.c */
8610 #line 1565 "hphp.y"
8611 { (yyval) = (yyvsp[(1) - (1)]);}
8612 break;
8614 case 315:
8616 /* Line 1806 of yacc.c */
8617 #line 1568 "hphp.y"
8618 { (yyval) = (yyvsp[(2) - (3)]);}
8619 break;
8621 case 316:
8623 /* Line 1806 of yacc.c */
8624 #line 1572 "hphp.y"
8625 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));}
8626 break;
8628 case 317:
8630 /* Line 1806 of yacc.c */
8631 #line 1573 "hphp.y"
8632 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));}
8633 break;
8635 case 318:
8637 /* Line 1806 of yacc.c */
8638 #line 1577 "hphp.y"
8639 { (yyval) = (yyvsp[(1) - (1)]);}
8640 break;
8642 case 319:
8644 /* Line 1806 of yacc.c */
8645 #line 1578 "hphp.y"
8646 { (yyval).reset();}
8647 break;
8649 case 320:
8651 /* Line 1806 of yacc.c */
8652 #line 1582 "hphp.y"
8653 { _p->onYield((yyval), (yyvsp[(2) - (2)]));}
8654 break;
8656 case 321:
8658 /* Line 1806 of yacc.c */
8659 #line 1583 "hphp.y"
8660 { _p->onYieldPair((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));}
8661 break;
8663 case 322:
8665 /* Line 1806 of yacc.c */
8666 #line 1587 "hphp.y"
8667 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);}
8668 break;
8670 case 323:
8672 /* Line 1806 of yacc.c */
8673 #line 1592 "hphp.y"
8674 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);}
8675 break;
8677 case 324:
8679 /* Line 1806 of yacc.c */
8680 #line 1596 "hphp.y"
8681 { _p->onAwait((yyval), (yyvsp[(2) - (2)])); }
8682 break;
8684 case 325:
8686 /* Line 1806 of yacc.c */
8687 #line 1600 "hphp.y"
8688 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);}
8689 break;
8691 case 326:
8693 /* Line 1806 of yacc.c */
8694 #line 1605 "hphp.y"
8695 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]), true);}
8696 break;
8698 case 327:
8700 /* Line 1806 of yacc.c */
8701 #line 1609 "hphp.y"
8702 { (yyval) = (yyvsp[(1) - (1)]);}
8703 break;
8705 case 328:
8707 /* Line 1806 of yacc.c */
8708 #line 1610 "hphp.y"
8709 { (yyval) = (yyvsp[(1) - (1)]);}
8710 break;
8712 case 329:
8714 /* Line 1806 of yacc.c */
8715 #line 1611 "hphp.y"
8716 { (yyval) = (yyvsp[(1) - (1)]);}
8717 break;
8719 case 330:
8721 /* Line 1806 of yacc.c */
8722 #line 1615 "hphp.y"
8723 { _p->onListAssignment((yyval), (yyvsp[(3) - (6)]), &(yyvsp[(6) - (6)]));}
8724 break;
8726 case 331:
8728 /* Line 1806 of yacc.c */
8729 #line 1616 "hphp.y"
8730 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);}
8731 break;
8733 case 332:
8735 /* Line 1806 of yacc.c */
8736 #line 1617 "hphp.y"
8737 { _p->onAssign((yyval), (yyvsp[(1) - (4)]), (yyvsp[(4) - (4)]), 1);}
8738 break;
8740 case 333:
8742 /* Line 1806 of yacc.c */
8743 #line 1620 "hphp.y"
8744 { _p->onAssignNew((yyval),(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]),(yyvsp[(6) - (6)]));}
8745 break;
8747 case 334:
8749 /* Line 1806 of yacc.c */
8750 #line 1621 "hphp.y"
8751 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_PLUS_EQUAL);}
8752 break;
8754 case 335:
8756 /* Line 1806 of yacc.c */
8757 #line 1622 "hphp.y"
8758 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MINUS_EQUAL);}
8759 break;
8761 case 336:
8763 /* Line 1806 of yacc.c */
8764 #line 1623 "hphp.y"
8765 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MUL_EQUAL);}
8766 break;
8768 case 337:
8770 /* Line 1806 of yacc.c */
8771 #line 1624 "hphp.y"
8772 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_DIV_EQUAL);}
8773 break;
8775 case 338:
8777 /* Line 1806 of yacc.c */
8778 #line 1625 "hphp.y"
8779 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_CONCAT_EQUAL);}
8780 break;
8782 case 339:
8784 /* Line 1806 of yacc.c */
8785 #line 1626 "hphp.y"
8786 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_MOD_EQUAL);}
8787 break;
8789 case 340:
8791 /* Line 1806 of yacc.c */
8792 #line 1627 "hphp.y"
8793 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_AND_EQUAL);}
8794 break;
8796 case 341:
8798 /* Line 1806 of yacc.c */
8799 #line 1628 "hphp.y"
8800 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_OR_EQUAL);}
8801 break;
8803 case 342:
8805 /* Line 1806 of yacc.c */
8806 #line 1629 "hphp.y"
8807 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_XOR_EQUAL);}
8808 break;
8810 case 343:
8812 /* Line 1806 of yacc.c */
8813 #line 1630 "hphp.y"
8814 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL_EQUAL);}
8815 break;
8817 case 344:
8819 /* Line 1806 of yacc.c */
8820 #line 1631 "hphp.y"
8821 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR_EQUAL);}
8822 break;
8824 case 345:
8826 /* Line 1806 of yacc.c */
8827 #line 1632 "hphp.y"
8828 { UEXP((yyval),(yyvsp[(1) - (2)]),T_INC,0);}
8829 break;
8831 case 346:
8833 /* Line 1806 of yacc.c */
8834 #line 1633 "hphp.y"
8835 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INC,1);}
8836 break;
8838 case 347:
8840 /* Line 1806 of yacc.c */
8841 #line 1634 "hphp.y"
8842 { UEXP((yyval),(yyvsp[(1) - (2)]),T_DEC,0);}
8843 break;
8845 case 348:
8847 /* Line 1806 of yacc.c */
8848 #line 1635 "hphp.y"
8849 { UEXP((yyval),(yyvsp[(2) - (2)]),T_DEC,1);}
8850 break;
8852 case 349:
8854 /* Line 1806 of yacc.c */
8855 #line 1636 "hphp.y"
8856 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_OR);}
8857 break;
8859 case 350:
8861 /* Line 1806 of yacc.c */
8862 #line 1637 "hphp.y"
8863 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_BOOLEAN_AND);}
8864 break;
8866 case 351:
8868 /* Line 1806 of yacc.c */
8869 #line 1638 "hphp.y"
8870 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_OR);}
8871 break;
8873 case 352:
8875 /* Line 1806 of yacc.c */
8876 #line 1639 "hphp.y"
8877 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_AND);}
8878 break;
8880 case 353:
8882 /* Line 1806 of yacc.c */
8883 #line 1640 "hphp.y"
8884 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_LOGICAL_XOR);}
8885 break;
8887 case 354:
8889 /* Line 1806 of yacc.c */
8890 #line 1641 "hphp.y"
8891 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'|');}
8892 break;
8894 case 355:
8896 /* Line 1806 of yacc.c */
8897 #line 1642 "hphp.y"
8898 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'&');}
8899 break;
8901 case 356:
8903 /* Line 1806 of yacc.c */
8904 #line 1643 "hphp.y"
8905 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'^');}
8906 break;
8908 case 357:
8910 /* Line 1806 of yacc.c */
8911 #line 1644 "hphp.y"
8912 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'.');}
8913 break;
8915 case 358:
8917 /* Line 1806 of yacc.c */
8918 #line 1645 "hphp.y"
8919 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'+');}
8920 break;
8922 case 359:
8924 /* Line 1806 of yacc.c */
8925 #line 1646 "hphp.y"
8926 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'-');}
8927 break;
8929 case 360:
8931 /* Line 1806 of yacc.c */
8932 #line 1647 "hphp.y"
8933 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'*');}
8934 break;
8936 case 361:
8938 /* Line 1806 of yacc.c */
8939 #line 1648 "hphp.y"
8940 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'/');}
8941 break;
8943 case 362:
8945 /* Line 1806 of yacc.c */
8946 #line 1649 "hphp.y"
8947 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'%');}
8948 break;
8950 case 363:
8952 /* Line 1806 of yacc.c */
8953 #line 1650 "hphp.y"
8954 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SL);}
8955 break;
8957 case 364:
8959 /* Line 1806 of yacc.c */
8960 #line 1651 "hphp.y"
8961 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_SR);}
8962 break;
8964 case 365:
8966 /* Line 1806 of yacc.c */
8967 #line 1652 "hphp.y"
8968 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);}
8969 break;
8971 case 366:
8973 /* Line 1806 of yacc.c */
8974 #line 1653 "hphp.y"
8975 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);}
8976 break;
8978 case 367:
8980 /* Line 1806 of yacc.c */
8981 #line 1654 "hphp.y"
8982 { UEXP((yyval),(yyvsp[(2) - (2)]),'!',1);}
8983 break;
8985 case 368:
8987 /* Line 1806 of yacc.c */
8988 #line 1655 "hphp.y"
8989 { UEXP((yyval),(yyvsp[(2) - (2)]),'~',1);}
8990 break;
8992 case 369:
8994 /* Line 1806 of yacc.c */
8995 #line 1656 "hphp.y"
8996 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_IDENTICAL);}
8997 break;
8999 case 370:
9001 /* Line 1806 of yacc.c */
9002 #line 1657 "hphp.y"
9003 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_IDENTICAL);}
9004 break;
9006 case 371:
9008 /* Line 1806 of yacc.c */
9009 #line 1658 "hphp.y"
9010 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_EQUAL);}
9011 break;
9013 case 372:
9015 /* Line 1806 of yacc.c */
9016 #line 1659 "hphp.y"
9017 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_IS_NOT_EQUAL);}
9018 break;
9020 case 373:
9022 /* Line 1806 of yacc.c */
9023 #line 1660 "hphp.y"
9024 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'<');}
9025 break;
9027 case 374:
9029 /* Line 1806 of yacc.c */
9030 #line 1661 "hphp.y"
9031 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
9032 T_IS_SMALLER_OR_EQUAL);}
9033 break;
9035 case 375:
9037 /* Line 1806 of yacc.c */
9038 #line 1663 "hphp.y"
9039 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),'>');}
9040 break;
9042 case 376:
9044 /* Line 1806 of yacc.c */
9045 #line 1664 "hphp.y"
9046 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),
9047 T_IS_GREATER_OR_EQUAL);}
9048 break;
9050 case 377:
9052 /* Line 1806 of yacc.c */
9053 #line 1667 "hphp.y"
9054 { BEXP((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),T_INSTANCEOF);}
9055 break;
9057 case 378:
9059 /* Line 1806 of yacc.c */
9060 #line 1668 "hphp.y"
9061 { (yyval) = (yyvsp[(2) - (3)]);}
9062 break;
9064 case 379:
9066 /* Line 1806 of yacc.c */
9067 #line 1669 "hphp.y"
9068 { _p->onQOp((yyval), (yyvsp[(1) - (5)]), &(yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));}
9069 break;
9071 case 380:
9073 /* Line 1806 of yacc.c */
9074 #line 1670 "hphp.y"
9075 { _p->onQOp((yyval), (yyvsp[(1) - (4)]), 0, (yyvsp[(4) - (4)]));}
9076 break;
9078 case 381:
9080 /* Line 1806 of yacc.c */
9081 #line 1671 "hphp.y"
9082 { (yyval) = (yyvsp[(1) - (1)]);}
9083 break;
9085 case 382:
9087 /* Line 1806 of yacc.c */
9088 #line 1672 "hphp.y"
9089 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INT_CAST,1);}
9090 break;
9092 case 383:
9094 /* Line 1806 of yacc.c */
9095 #line 1673 "hphp.y"
9096 { UEXP((yyval),(yyvsp[(2) - (2)]),T_DOUBLE_CAST,1);}
9097 break;
9099 case 384:
9101 /* Line 1806 of yacc.c */
9102 #line 1674 "hphp.y"
9103 { UEXP((yyval),(yyvsp[(2) - (2)]),T_STRING_CAST,1);}
9104 break;
9106 case 385:
9108 /* Line 1806 of yacc.c */
9109 #line 1675 "hphp.y"
9110 { UEXP((yyval),(yyvsp[(2) - (2)]),T_ARRAY_CAST,1);}
9111 break;
9113 case 386:
9115 /* Line 1806 of yacc.c */
9116 #line 1676 "hphp.y"
9117 { UEXP((yyval),(yyvsp[(2) - (2)]),T_OBJECT_CAST,1);}
9118 break;
9120 case 387:
9122 /* Line 1806 of yacc.c */
9123 #line 1677 "hphp.y"
9124 { UEXP((yyval),(yyvsp[(2) - (2)]),T_BOOL_CAST,1);}
9125 break;
9127 case 388:
9129 /* Line 1806 of yacc.c */
9130 #line 1678 "hphp.y"
9131 { UEXP((yyval),(yyvsp[(2) - (2)]),T_UNSET_CAST,1);}
9132 break;
9134 case 389:
9136 /* Line 1806 of yacc.c */
9137 #line 1679 "hphp.y"
9138 { UEXP((yyval),(yyvsp[(2) - (2)]),T_EXIT,1);}
9139 break;
9141 case 390:
9143 /* Line 1806 of yacc.c */
9144 #line 1680 "hphp.y"
9145 { UEXP((yyval),(yyvsp[(2) - (2)]),'@',1);}
9146 break;
9148 case 391:
9150 /* Line 1806 of yacc.c */
9151 #line 1681 "hphp.y"
9152 { (yyval) = (yyvsp[(1) - (1)]); }
9153 break;
9155 case 392:
9157 /* Line 1806 of yacc.c */
9158 #line 1682 "hphp.y"
9159 { (yyval) = (yyvsp[(1) - (1)]); }
9160 break;
9162 case 393:
9164 /* Line 1806 of yacc.c */
9165 #line 1683 "hphp.y"
9166 { (yyval) = (yyvsp[(1) - (1)]); }
9167 break;
9169 case 394:
9171 /* Line 1806 of yacc.c */
9172 #line 1684 "hphp.y"
9173 { _p->onEncapsList((yyval),'`',(yyvsp[(2) - (3)]));}
9174 break;
9176 case 395:
9178 /* Line 1806 of yacc.c */
9179 #line 1685 "hphp.y"
9180 { UEXP((yyval),(yyvsp[(2) - (2)]),T_PRINT,1);}
9181 break;
9183 case 396:
9185 /* Line 1806 of yacc.c */
9186 #line 1686 "hphp.y"
9187 { (yyval) = (yyvsp[(1) - (1)]);}
9188 break;
9190 case 397:
9192 /* Line 1806 of yacc.c */
9193 #line 1687 "hphp.y"
9194 { (yyval) = (yyvsp[(1) - (1)]);}
9195 break;
9197 case 398:
9199 /* Line 1806 of yacc.c */
9200 #line 1688 "hphp.y"
9201 { (yyval) = (yyvsp[(1) - (1)]);}
9202 break;
9204 case 399:
9206 /* Line 1806 of yacc.c */
9207 #line 1695 "hphp.y"
9208 { (yyval) = (yyvsp[(3) - (5)]);}
9209 break;
9211 case 400:
9213 /* Line 1806 of yacc.c */
9214 #line 1696 "hphp.y"
9215 { (yyval).reset();}
9216 break;
9218 case 401:
9220 /* Line 1806 of yacc.c */
9221 #line 1701 "hphp.y"
9222 { Token t;
9223 _p->onNewLabelScope(true);
9224 _p->onClosureStart(t);
9225 _p->pushLabelInfo(); }
9226 break;
9228 case 402:
9230 /* Line 1806 of yacc.c */
9231 #line 1707 "hphp.y"
9232 { _p->finishStatement((yyvsp[(10) - (11)]), (yyvsp[(10) - (11)])); (yyvsp[(10) - (11)]) = 1;
9233 (yyval) = _p->onClosure(ClosureType::Long,
9234 nullptr,
9235 (yyvsp[(2) - (11)]),(yyvsp[(5) - (11)]),(yyvsp[(8) - (11)]),(yyvsp[(10) - (11)]));
9236 _p->popLabelInfo();
9237 _p->onCompleteLabelScope(true);}
9238 break;
9240 case 403:
9242 /* Line 1806 of yacc.c */
9243 #line 1715 "hphp.y"
9244 { Token t;
9245 _p->onNewLabelScope(true);
9246 _p->onClosureStart(t);
9247 _p->pushLabelInfo(); }
9248 break;
9250 case 404:
9252 /* Line 1806 of yacc.c */
9253 #line 1721 "hphp.y"
9254 { _p->finishStatement((yyvsp[(11) - (12)]), (yyvsp[(11) - (12)])); (yyvsp[(11) - (12)]) = 1;
9255 (yyval) = _p->onClosure(ClosureType::Long,
9256 &(yyvsp[(1) - (12)]),
9257 (yyvsp[(3) - (12)]),(yyvsp[(6) - (12)]),(yyvsp[(9) - (12)]),(yyvsp[(11) - (12)]));
9258 _p->popLabelInfo();
9259 _p->onCompleteLabelScope(true);}
9260 break;
9262 case 405:
9264 /* Line 1806 of yacc.c */
9265 #line 1730 "hphp.y"
9266 { _p->pushFuncLocation();
9267 Token t;
9268 _p->onNewLabelScope(true);
9269 _p->onClosureStart(t);
9270 _p->pushLabelInfo();
9271 Token u;
9272 _p->onParam((yyvsp[(1) - (1)]),NULL,u,(yyvsp[(1) - (1)]),0,
9273 NULL,NULL,NULL);}
9274 break;
9276 case 406:
9278 /* Line 1806 of yacc.c */
9279 #line 1738 "hphp.y"
9280 { Token v; Token w;
9281 _p->finishStatement((yyvsp[(3) - (3)]), (yyvsp[(3) - (3)])); (yyvsp[(3) - (3)]) = 1;
9282 (yyval) = _p->onClosure(ClosureType::Short,
9283 nullptr,
9284 v,(yyvsp[(1) - (3)]),w,(yyvsp[(3) - (3)]));
9285 _p->popLabelInfo();
9286 _p->onCompleteLabelScope(true);}
9287 break;
9289 case 407:
9291 /* Line 1806 of yacc.c */
9292 #line 1745 "hphp.y"
9293 { _p->pushFuncLocation();
9294 Token t;
9295 _p->onNewLabelScope(true);
9296 _p->onClosureStart(t);
9297 _p->pushLabelInfo();}
9298 break;
9300 case 408:
9302 /* Line 1806 of yacc.c */
9303 #line 1753 "hphp.y"
9304 { Token u; Token v;
9305 _p->finishStatement((yyvsp[(6) - (6)]), (yyvsp[(6) - (6)])); (yyvsp[(6) - (6)]) = 1;
9306 (yyval) = _p->onClosure(ClosureType::Short,
9307 nullptr,
9308 u,(yyvsp[(3) - (6)]),v,(yyvsp[(6) - (6)]));
9309 _p->popLabelInfo();
9310 _p->onCompleteLabelScope(true);}
9311 break;
9313 case 409:
9315 /* Line 1806 of yacc.c */
9316 #line 1763 "hphp.y"
9317 { (yyval) = _p->onExprForLambda((yyvsp[(2) - (2)]));}
9318 break;
9320 case 410:
9322 /* Line 1806 of yacc.c */
9323 #line 1765 "hphp.y"
9324 { (yyval) = (yyvsp[(3) - (4)]);}
9325 break;
9327 case 411:
9329 /* Line 1806 of yacc.c */
9330 #line 1769 "hphp.y"
9331 { validate_shape_keyname((yyvsp[(1) - (1)]), _p);
9332 _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)])); }
9333 break;
9335 case 412:
9337 /* Line 1806 of yacc.c */
9338 #line 1777 "hphp.y"
9339 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); }
9340 break;
9342 case 413:
9344 /* Line 1806 of yacc.c */
9345 #line 1780 "hphp.y"
9346 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); }
9347 break;
9349 case 414:
9351 /* Line 1806 of yacc.c */
9352 #line 1787 "hphp.y"
9353 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); }
9354 break;
9356 case 415:
9358 /* Line 1806 of yacc.c */
9359 #line 1790 "hphp.y"
9360 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); }
9361 break;
9363 case 416:
9365 /* Line 1806 of yacc.c */
9366 #line 1795 "hphp.y"
9367 { (yyval) = (yyvsp[(1) - (2)]); }
9368 break;
9370 case 417:
9372 /* Line 1806 of yacc.c */
9373 #line 1796 "hphp.y"
9374 { (yyval).reset(); }
9375 break;
9377 case 418:
9379 /* Line 1806 of yacc.c */
9380 #line 1801 "hphp.y"
9381 { (yyval) = (yyvsp[(1) - (2)]); }
9382 break;
9384 case 419:
9386 /* Line 1806 of yacc.c */
9387 #line 1802 "hphp.y"
9388 { (yyval).reset(); }
9389 break;
9391 case 420:
9393 /* Line 1806 of yacc.c */
9394 #line 1806 "hphp.y"
9395 { _p->onArray((yyval), (yyvsp[(3) - (4)]), T_ARRAY);}
9396 break;
9398 case 421:
9400 /* Line 1806 of yacc.c */
9401 #line 1810 "hphp.y"
9402 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);}
9403 break;
9405 case 422:
9407 /* Line 1806 of yacc.c */
9408 #line 1811 "hphp.y"
9409 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);}
9410 break;
9412 case 423:
9414 /* Line 1806 of yacc.c */
9415 #line 1816 "hphp.y"
9416 { Token t;
9417 _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName);
9418 BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);}
9419 break;
9421 case 424:
9423 /* Line 1806 of yacc.c */
9424 #line 1823 "hphp.y"
9425 { Token t;
9426 _p->onName(t,(yyvsp[(1) - (4)]),Parser::StringName);
9427 BEXP((yyval),t,(yyvsp[(3) - (4)]),T_COLLECTION);}
9428 break;
9430 case 425:
9432 /* Line 1806 of yacc.c */
9433 #line 1830 "hphp.y"
9434 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));}
9435 break;
9437 case 426:
9439 /* Line 1806 of yacc.c */
9440 #line 1832 "hphp.y"
9441 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));}
9442 break;
9444 case 427:
9446 /* Line 1806 of yacc.c */
9447 #line 1836 "hphp.y"
9448 { (yyval) = (yyvsp[(1) - (1)]);}
9449 break;
9451 case 428:
9453 /* Line 1806 of yacc.c */
9454 #line 1837 "hphp.y"
9455 { (yyval) = (yyvsp[(1) - (1)]);}
9456 break;
9458 case 429:
9460 /* Line 1806 of yacc.c */
9461 #line 1838 "hphp.y"
9462 { (yyval) = (yyvsp[(2) - (3)]);}
9463 break;
9465 case 430:
9467 /* Line 1806 of yacc.c */
9468 #line 1842 "hphp.y"
9469 { _p->onQuery((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); }
9470 break;
9472 case 431:
9474 /* Line 1806 of yacc.c */
9475 #line 1846 "hphp.y"
9476 { _p->onAssign((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0, true);}
9477 break;
9479 case 432:
9481 /* Line 1806 of yacc.c */
9482 #line 1850 "hphp.y"
9483 { _p->onFromClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); }
9484 break;
9486 case 433:
9488 /* Line 1806 of yacc.c */
9489 #line 1855 "hphp.y"
9490 { _p->onQueryBody((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), NULL); }
9491 break;
9493 case 434:
9495 /* Line 1806 of yacc.c */
9496 #line 1857 "hphp.y"
9497 { _p->onQueryBody((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)])); }
9498 break;
9500 case 435:
9502 /* Line 1806 of yacc.c */
9503 #line 1859 "hphp.y"
9504 { _p->onQueryBody((yyval), NULL, (yyvsp[(1) - (1)]), NULL); }
9505 break;
9507 case 436:
9509 /* Line 1806 of yacc.c */
9510 #line 1861 "hphp.y"
9511 { _p->onQueryBody((yyval), NULL, (yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)])); }
9512 break;
9514 case 437:
9516 /* Line 1806 of yacc.c */
9517 #line 1865 "hphp.y"
9518 { _p->onQueryBodyClause((yyval), NULL, (yyvsp[(1) - (1)])); }
9519 break;
9521 case 438:
9523 /* Line 1806 of yacc.c */
9524 #line 1867 "hphp.y"
9525 { _p->onQueryBodyClause((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); }
9526 break;
9528 case 439:
9530 /* Line 1806 of yacc.c */
9531 #line 1871 "hphp.y"
9532 { (yyval) = (yyvsp[(1) - (1)]);}
9533 break;
9535 case 440:
9537 /* Line 1806 of yacc.c */
9538 #line 1872 "hphp.y"
9539 { (yyval) = (yyvsp[(1) - (1)]);}
9540 break;
9542 case 441:
9544 /* Line 1806 of yacc.c */
9545 #line 1873 "hphp.y"
9546 { (yyval) = (yyvsp[(1) - (1)]);}
9547 break;
9549 case 442:
9551 /* Line 1806 of yacc.c */
9552 #line 1874 "hphp.y"
9553 { (yyval) = (yyvsp[(1) - (1)]);}
9554 break;
9556 case 443:
9558 /* Line 1806 of yacc.c */
9559 #line 1875 "hphp.y"
9560 { (yyval) = (yyvsp[(1) - (1)]);}
9561 break;
9563 case 444:
9565 /* Line 1806 of yacc.c */
9566 #line 1876 "hphp.y"
9567 { (yyval) = (yyvsp[(1) - (1)]);}
9568 break;
9570 case 445:
9572 /* Line 1806 of yacc.c */
9573 #line 1880 "hphp.y"
9574 { _p->onFromClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); }
9575 break;
9577 case 446:
9579 /* Line 1806 of yacc.c */
9580 #line 1884 "hphp.y"
9581 { _p->onLetClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); }
9582 break;
9584 case 447:
9586 /* Line 1806 of yacc.c */
9587 #line 1888 "hphp.y"
9588 { _p->onWhereClause((yyval), (yyvsp[(2) - (2)])); }
9589 break;
9591 case 448:
9593 /* Line 1806 of yacc.c */
9594 #line 1893 "hphp.y"
9595 { _p->onJoinClause((yyval), (yyvsp[(2) - (8)]), (yyvsp[(4) - (8)]), (yyvsp[(6) - (8)]), (yyvsp[(8) - (8)])); }
9596 break;
9598 case 449:
9600 /* Line 1806 of yacc.c */
9601 #line 1898 "hphp.y"
9602 { _p->onJoinIntoClause((yyval), (yyvsp[(2) - (10)]), (yyvsp[(4) - (10)]), (yyvsp[(6) - (10)]), (yyvsp[(8) - (10)]), (yyvsp[(10) - (10)])); }
9603 break;
9605 case 450:
9607 /* Line 1806 of yacc.c */
9608 #line 1902 "hphp.y"
9609 { _p->onOrderbyClause((yyval), (yyvsp[(2) - (2)])); }
9610 break;
9612 case 451:
9614 /* Line 1806 of yacc.c */
9615 #line 1906 "hphp.y"
9616 { _p->onOrdering((yyval), NULL, (yyvsp[(1) - (1)])); }
9617 break;
9619 case 452:
9621 /* Line 1806 of yacc.c */
9622 #line 1907 "hphp.y"
9623 { _p->onOrdering((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); }
9624 break;
9626 case 453:
9628 /* Line 1806 of yacc.c */
9629 #line 1911 "hphp.y"
9630 { _p->onOrderingExpr((yyval), (yyvsp[(1) - (1)]), NULL); }
9631 break;
9633 case 454:
9635 /* Line 1806 of yacc.c */
9636 #line 1912 "hphp.y"
9637 { _p->onOrderingExpr((yyval), (yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)])); }
9638 break;
9640 case 455:
9642 /* Line 1806 of yacc.c */
9643 #line 1916 "hphp.y"
9644 { (yyval) = (yyvsp[(1) - (1)]);}
9645 break;
9647 case 456:
9649 /* Line 1806 of yacc.c */
9650 #line 1917 "hphp.y"
9651 { (yyval) = (yyvsp[(1) - (1)]);}
9652 break;
9654 case 457:
9656 /* Line 1806 of yacc.c */
9657 #line 1921 "hphp.y"
9658 { (yyval) = (yyvsp[(1) - (1)]);}
9659 break;
9661 case 458:
9663 /* Line 1806 of yacc.c */
9664 #line 1922 "hphp.y"
9665 { (yyval) = (yyvsp[(1) - (1)]);}
9666 break;
9668 case 459:
9670 /* Line 1806 of yacc.c */
9671 #line 1926 "hphp.y"
9672 { _p->onSelectClause((yyval), (yyvsp[(2) - (2)])); }
9673 break;
9675 case 460:
9677 /* Line 1806 of yacc.c */
9678 #line 1930 "hphp.y"
9679 { _p->onGroupClause((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); }
9680 break;
9682 case 461:
9684 /* Line 1806 of yacc.c */
9685 #line 1934 "hphp.y"
9686 { _p->onIntoClause((yyval), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])); }
9687 break;
9689 case 462:
9691 /* Line 1806 of yacc.c */
9692 #line 1938 "hphp.y"
9693 { _p->onClosureParam((yyval),&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);}
9694 break;
9696 case 463:
9698 /* Line 1806 of yacc.c */
9699 #line 1939 "hphp.y"
9700 { _p->onClosureParam((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);}
9701 break;
9703 case 464:
9705 /* Line 1806 of yacc.c */
9706 #line 1940 "hphp.y"
9707 { _p->onClosureParam((yyval), 0,(yyvsp[(1) - (1)]),0);}
9708 break;
9710 case 465:
9712 /* Line 1806 of yacc.c */
9713 #line 1941 "hphp.y"
9714 { _p->onClosureParam((yyval), 0,(yyvsp[(2) - (2)]),1);}
9715 break;
9717 case 466:
9719 /* Line 1806 of yacc.c */
9720 #line 1948 "hphp.y"
9721 { xhp_tag(_p,(yyval),(yyvsp[(2) - (4)]),(yyvsp[(3) - (4)]));}
9722 break;
9724 case 467:
9726 /* Line 1806 of yacc.c */
9727 #line 1951 "hphp.y"
9728 { Token t1; _p->onArray(t1,(yyvsp[(1) - (2)]));
9729 Token t2; _p->onArray(t2,(yyvsp[(2) - (2)]));
9730 Token file; scalar_file(_p, file);
9731 Token line; scalar_line(_p, line);
9732 _p->onCallParam((yyvsp[(1) - (2)]),NULL,t1,0);
9733 _p->onCallParam((yyval), &(yyvsp[(1) - (2)]),t2,0);
9734 _p->onCallParam((yyvsp[(1) - (2)]), &(yyvsp[(1) - (2)]),file,0);
9735 _p->onCallParam((yyvsp[(1) - (2)]), &(yyvsp[(1) - (2)]),line,0);
9736 (yyval).setText("");}
9737 break;
9739 case 468:
9741 /* Line 1806 of yacc.c */
9742 #line 1962 "hphp.y"
9743 { Token file; scalar_file(_p, file);
9744 Token line; scalar_line(_p, line);
9745 _p->onArray((yyvsp[(4) - (6)]),(yyvsp[(1) - (6)]));
9746 _p->onArray((yyvsp[(5) - (6)]),(yyvsp[(3) - (6)]));
9747 _p->onCallParam((yyvsp[(2) - (6)]),NULL,(yyvsp[(4) - (6)]),0);
9748 _p->onCallParam((yyval), &(yyvsp[(2) - (6)]),(yyvsp[(5) - (6)]),0);
9749 _p->onCallParam((yyvsp[(2) - (6)]), &(yyvsp[(2) - (6)]),file,0);
9750 _p->onCallParam((yyvsp[(2) - (6)]), &(yyvsp[(2) - (6)]),line,0);
9751 (yyval).setText((yyvsp[(6) - (6)]).text());}
9752 break;
9754 case 469:
9756 /* Line 1806 of yacc.c */
9757 #line 1973 "hphp.y"
9758 { (yyval).reset(); (yyval).setText("");}
9759 break;
9761 case 470:
9763 /* Line 1806 of yacc.c */
9764 #line 1974 "hphp.y"
9765 { (yyval).reset(); (yyval).setText((yyvsp[(1) - (1)]));}
9766 break;
9768 case 471:
9770 /* Line 1806 of yacc.c */
9771 #line 1979 "hphp.y"
9772 { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]),&(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]),0);}
9773 break;
9775 case 472:
9777 /* Line 1806 of yacc.c */
9778 #line 1980 "hphp.y"
9779 { (yyval).reset();}
9780 break;
9782 case 473:
9784 /* Line 1806 of yacc.c */
9785 #line 1983 "hphp.y"
9786 { _p->onArrayPair((yyval),&(yyvsp[(1) - (2)]),0,(yyvsp[(2) - (2)]),0);}
9787 break;
9789 case 474:
9791 /* Line 1806 of yacc.c */
9792 #line 1984 "hphp.y"
9793 { (yyval).reset();}
9794 break;
9796 case 475:
9798 /* Line 1806 of yacc.c */
9799 #line 1987 "hphp.y"
9800 { _p->onScalar((yyval),
9801 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));}
9802 break;
9804 case 476:
9806 /* Line 1806 of yacc.c */
9807 #line 1991 "hphp.y"
9808 { (yyvsp[(1) - (1)]).xhpDecode();
9809 _p->onScalar((yyval),
9810 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));}
9811 break;
9813 case 477:
9815 /* Line 1806 of yacc.c */
9816 #line 1994 "hphp.y"
9817 { (yyval) = (yyvsp[(2) - (3)]);}
9818 break;
9820 case 478:
9822 /* Line 1806 of yacc.c */
9823 #line 1997 "hphp.y"
9824 { (yyval).reset();
9825 if ((yyvsp[(1) - (1)]).htmlTrim()) {
9826 (yyvsp[(1) - (1)]).xhpDecode();
9827 _p->onScalar((yyval),
9828 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));
9831 break;
9833 case 479:
9835 /* Line 1806 of yacc.c */
9836 #line 2004 "hphp.y"
9837 { (yyval) = (yyvsp[(2) - (3)]); }
9838 break;
9840 case 480:
9842 /* Line 1806 of yacc.c */
9843 #line 2005 "hphp.y"
9844 { (yyval) = (yyvsp[(1) - (1)]); }
9845 break;
9847 case 481:
9849 /* Line 1806 of yacc.c */
9850 #line 2009 "hphp.y"
9851 { (yyval) = (yyvsp[(1) - (1)]);}
9852 break;
9854 case 482:
9856 /* Line 1806 of yacc.c */
9857 #line 2011 "hphp.y"
9858 { (yyval) = (yyvsp[(1) - (3)]) + ":" + (yyvsp[(3) - (3)]);}
9859 break;
9861 case 483:
9863 /* Line 1806 of yacc.c */
9864 #line 2013 "hphp.y"
9865 { (yyval) = (yyvsp[(1) - (3)]) + "-" + (yyvsp[(3) - (3)]);}
9866 break;
9868 case 484:
9870 /* Line 1806 of yacc.c */
9871 #line 2016 "hphp.y"
9872 { (yyval) = (yyvsp[(1) - (1)]);}
9873 break;
9875 case 485:
9877 /* Line 1806 of yacc.c */
9878 #line 2017 "hphp.y"
9879 { (yyval) = (yyvsp[(1) - (1)]);}
9880 break;
9882 case 486:
9884 /* Line 1806 of yacc.c */
9885 #line 2018 "hphp.y"
9886 { (yyval) = (yyvsp[(1) - (1)]);}
9887 break;
9889 case 487:
9891 /* Line 1806 of yacc.c */
9892 #line 2019 "hphp.y"
9893 { (yyval) = (yyvsp[(1) - (1)]);}
9894 break;
9896 case 488:
9898 /* Line 1806 of yacc.c */
9899 #line 2020 "hphp.y"
9900 { (yyval) = (yyvsp[(1) - (1)]);}
9901 break;
9903 case 489:
9905 /* Line 1806 of yacc.c */
9906 #line 2021 "hphp.y"
9907 { (yyval) = (yyvsp[(1) - (1)]);}
9908 break;
9910 case 490:
9912 /* Line 1806 of yacc.c */
9913 #line 2022 "hphp.y"
9914 { (yyval) = (yyvsp[(1) - (1)]);}
9915 break;
9917 case 491:
9919 /* Line 1806 of yacc.c */
9920 #line 2023 "hphp.y"
9921 { (yyval) = (yyvsp[(1) - (1)]);}
9922 break;
9924 case 492:
9926 /* Line 1806 of yacc.c */
9927 #line 2024 "hphp.y"
9928 { (yyval) = (yyvsp[(1) - (1)]);}
9929 break;
9931 case 493:
9933 /* Line 1806 of yacc.c */
9934 #line 2025 "hphp.y"
9935 { (yyval) = (yyvsp[(1) - (1)]);}
9936 break;
9938 case 494:
9940 /* Line 1806 of yacc.c */
9941 #line 2026 "hphp.y"
9942 { (yyval) = (yyvsp[(1) - (1)]);}
9943 break;
9945 case 495:
9947 /* Line 1806 of yacc.c */
9948 #line 2027 "hphp.y"
9949 { (yyval) = (yyvsp[(1) - (1)]);}
9950 break;
9952 case 496:
9954 /* Line 1806 of yacc.c */
9955 #line 2028 "hphp.y"
9956 { (yyval) = (yyvsp[(1) - (1)]);}
9957 break;
9959 case 497:
9961 /* Line 1806 of yacc.c */
9962 #line 2029 "hphp.y"
9963 { (yyval) = (yyvsp[(1) - (1)]);}
9964 break;
9966 case 498:
9968 /* Line 1806 of yacc.c */
9969 #line 2030 "hphp.y"
9970 { (yyval) = (yyvsp[(1) - (1)]);}
9971 break;
9973 case 499:
9975 /* Line 1806 of yacc.c */
9976 #line 2031 "hphp.y"
9977 { (yyval) = (yyvsp[(1) - (1)]);}
9978 break;
9980 case 500:
9982 /* Line 1806 of yacc.c */
9983 #line 2032 "hphp.y"
9984 { (yyval) = (yyvsp[(1) - (1)]);}
9985 break;
9987 case 501:
9989 /* Line 1806 of yacc.c */
9990 #line 2033 "hphp.y"
9991 { (yyval) = (yyvsp[(1) - (1)]);}
9992 break;
9994 case 502:
9996 /* Line 1806 of yacc.c */
9997 #line 2034 "hphp.y"
9998 { (yyval) = (yyvsp[(1) - (1)]);}
9999 break;
10001 case 503:
10003 /* Line 1806 of yacc.c */
10004 #line 2035 "hphp.y"
10005 { (yyval) = (yyvsp[(1) - (1)]);}
10006 break;
10008 case 504:
10010 /* Line 1806 of yacc.c */
10011 #line 2036 "hphp.y"
10012 { (yyval) = (yyvsp[(1) - (1)]);}
10013 break;
10015 case 505:
10017 /* Line 1806 of yacc.c */
10018 #line 2037 "hphp.y"
10019 { (yyval) = (yyvsp[(1) - (1)]);}
10020 break;
10022 case 506:
10024 /* Line 1806 of yacc.c */
10025 #line 2038 "hphp.y"
10026 { (yyval) = (yyvsp[(1) - (1)]);}
10027 break;
10029 case 507:
10031 /* Line 1806 of yacc.c */
10032 #line 2039 "hphp.y"
10033 { (yyval) = (yyvsp[(1) - (1)]);}
10034 break;
10036 case 508:
10038 /* Line 1806 of yacc.c */
10039 #line 2040 "hphp.y"
10040 { (yyval) = (yyvsp[(1) - (1)]);}
10041 break;
10043 case 509:
10045 /* Line 1806 of yacc.c */
10046 #line 2041 "hphp.y"
10047 { (yyval) = (yyvsp[(1) - (1)]);}
10048 break;
10050 case 510:
10052 /* Line 1806 of yacc.c */
10053 #line 2042 "hphp.y"
10054 { (yyval) = (yyvsp[(1) - (1)]);}
10055 break;
10057 case 511:
10059 /* Line 1806 of yacc.c */
10060 #line 2043 "hphp.y"
10061 { (yyval) = (yyvsp[(1) - (1)]);}
10062 break;
10064 case 512:
10066 /* Line 1806 of yacc.c */
10067 #line 2044 "hphp.y"
10068 { (yyval) = (yyvsp[(1) - (1)]);}
10069 break;
10071 case 513:
10073 /* Line 1806 of yacc.c */
10074 #line 2045 "hphp.y"
10075 { (yyval) = (yyvsp[(1) - (1)]);}
10076 break;
10078 case 514:
10080 /* Line 1806 of yacc.c */
10081 #line 2046 "hphp.y"
10082 { (yyval) = (yyvsp[(1) - (1)]);}
10083 break;
10085 case 515:
10087 /* Line 1806 of yacc.c */
10088 #line 2047 "hphp.y"
10089 { (yyval) = (yyvsp[(1) - (1)]);}
10090 break;
10092 case 516:
10094 /* Line 1806 of yacc.c */
10095 #line 2048 "hphp.y"
10096 { (yyval) = (yyvsp[(1) - (1)]);}
10097 break;
10099 case 517:
10101 /* Line 1806 of yacc.c */
10102 #line 2049 "hphp.y"
10103 { (yyval) = (yyvsp[(1) - (1)]);}
10104 break;
10106 case 518:
10108 /* Line 1806 of yacc.c */
10109 #line 2050 "hphp.y"
10110 { (yyval) = (yyvsp[(1) - (1)]);}
10111 break;
10113 case 519:
10115 /* Line 1806 of yacc.c */
10116 #line 2051 "hphp.y"
10117 { (yyval) = (yyvsp[(1) - (1)]);}
10118 break;
10120 case 520:
10122 /* Line 1806 of yacc.c */
10123 #line 2052 "hphp.y"
10124 { (yyval) = (yyvsp[(1) - (1)]);}
10125 break;
10127 case 521:
10129 /* Line 1806 of yacc.c */
10130 #line 2053 "hphp.y"
10131 { (yyval) = (yyvsp[(1) - (1)]);}
10132 break;
10134 case 522:
10136 /* Line 1806 of yacc.c */
10137 #line 2054 "hphp.y"
10138 { (yyval) = (yyvsp[(1) - (1)]);}
10139 break;
10141 case 523:
10143 /* Line 1806 of yacc.c */
10144 #line 2055 "hphp.y"
10145 { (yyval) = (yyvsp[(1) - (1)]);}
10146 break;
10148 case 524:
10150 /* Line 1806 of yacc.c */
10151 #line 2056 "hphp.y"
10152 { (yyval) = (yyvsp[(1) - (1)]);}
10153 break;
10155 case 525:
10157 /* Line 1806 of yacc.c */
10158 #line 2057 "hphp.y"
10159 { (yyval) = (yyvsp[(1) - (1)]);}
10160 break;
10162 case 526:
10164 /* Line 1806 of yacc.c */
10165 #line 2058 "hphp.y"
10166 { (yyval) = (yyvsp[(1) - (1)]);}
10167 break;
10169 case 527:
10171 /* Line 1806 of yacc.c */
10172 #line 2059 "hphp.y"
10173 { (yyval) = (yyvsp[(1) - (1)]);}
10174 break;
10176 case 528:
10178 /* Line 1806 of yacc.c */
10179 #line 2060 "hphp.y"
10180 { (yyval) = (yyvsp[(1) - (1)]);}
10181 break;
10183 case 529:
10185 /* Line 1806 of yacc.c */
10186 #line 2061 "hphp.y"
10187 { (yyval) = (yyvsp[(1) - (1)]);}
10188 break;
10190 case 530:
10192 /* Line 1806 of yacc.c */
10193 #line 2062 "hphp.y"
10194 { (yyval) = (yyvsp[(1) - (1)]);}
10195 break;
10197 case 531:
10199 /* Line 1806 of yacc.c */
10200 #line 2063 "hphp.y"
10201 { (yyval) = (yyvsp[(1) - (1)]);}
10202 break;
10204 case 532:
10206 /* Line 1806 of yacc.c */
10207 #line 2064 "hphp.y"
10208 { (yyval) = (yyvsp[(1) - (1)]);}
10209 break;
10211 case 533:
10213 /* Line 1806 of yacc.c */
10214 #line 2065 "hphp.y"
10215 { (yyval) = (yyvsp[(1) - (1)]);}
10216 break;
10218 case 534:
10220 /* Line 1806 of yacc.c */
10221 #line 2066 "hphp.y"
10222 { (yyval) = (yyvsp[(1) - (1)]);}
10223 break;
10225 case 535:
10227 /* Line 1806 of yacc.c */
10228 #line 2067 "hphp.y"
10229 { (yyval) = (yyvsp[(1) - (1)]);}
10230 break;
10232 case 536:
10234 /* Line 1806 of yacc.c */
10235 #line 2068 "hphp.y"
10236 { (yyval) = (yyvsp[(1) - (1)]);}
10237 break;
10239 case 537:
10241 /* Line 1806 of yacc.c */
10242 #line 2069 "hphp.y"
10243 { (yyval) = (yyvsp[(1) - (1)]);}
10244 break;
10246 case 538:
10248 /* Line 1806 of yacc.c */
10249 #line 2070 "hphp.y"
10250 { (yyval) = (yyvsp[(1) - (1)]);}
10251 break;
10253 case 539:
10255 /* Line 1806 of yacc.c */
10256 #line 2071 "hphp.y"
10257 { (yyval) = (yyvsp[(1) - (1)]);}
10258 break;
10260 case 540:
10262 /* Line 1806 of yacc.c */
10263 #line 2072 "hphp.y"
10264 { (yyval) = (yyvsp[(1) - (1)]);}
10265 break;
10267 case 541:
10269 /* Line 1806 of yacc.c */
10270 #line 2073 "hphp.y"
10271 { (yyval) = (yyvsp[(1) - (1)]);}
10272 break;
10274 case 542:
10276 /* Line 1806 of yacc.c */
10277 #line 2074 "hphp.y"
10278 { (yyval) = (yyvsp[(1) - (1)]);}
10279 break;
10281 case 543:
10283 /* Line 1806 of yacc.c */
10284 #line 2075 "hphp.y"
10285 { (yyval) = (yyvsp[(1) - (1)]);}
10286 break;
10288 case 544:
10290 /* Line 1806 of yacc.c */
10291 #line 2076 "hphp.y"
10292 { (yyval) = (yyvsp[(1) - (1)]);}
10293 break;
10295 case 545:
10297 /* Line 1806 of yacc.c */
10298 #line 2077 "hphp.y"
10299 { (yyval) = (yyvsp[(1) - (1)]);}
10300 break;
10302 case 546:
10304 /* Line 1806 of yacc.c */
10305 #line 2078 "hphp.y"
10306 { (yyval) = (yyvsp[(1) - (1)]);}
10307 break;
10309 case 547:
10311 /* Line 1806 of yacc.c */
10312 #line 2079 "hphp.y"
10313 { (yyval) = (yyvsp[(1) - (1)]);}
10314 break;
10316 case 548:
10318 /* Line 1806 of yacc.c */
10319 #line 2080 "hphp.y"
10320 { (yyval) = (yyvsp[(1) - (1)]);}
10321 break;
10323 case 549:
10325 /* Line 1806 of yacc.c */
10326 #line 2081 "hphp.y"
10327 { (yyval) = (yyvsp[(1) - (1)]);}
10328 break;
10330 case 550:
10332 /* Line 1806 of yacc.c */
10333 #line 2082 "hphp.y"
10334 { (yyval) = (yyvsp[(1) - (1)]);}
10335 break;
10337 case 551:
10339 /* Line 1806 of yacc.c */
10340 #line 2083 "hphp.y"
10341 { (yyval) = (yyvsp[(1) - (1)]);}
10342 break;
10344 case 552:
10346 /* Line 1806 of yacc.c */
10347 #line 2084 "hphp.y"
10348 { (yyval) = (yyvsp[(1) - (1)]);}
10349 break;
10351 case 553:
10353 /* Line 1806 of yacc.c */
10354 #line 2085 "hphp.y"
10355 { (yyval) = (yyvsp[(1) - (1)]);}
10356 break;
10358 case 554:
10360 /* Line 1806 of yacc.c */
10361 #line 2086 "hphp.y"
10362 { (yyval) = (yyvsp[(1) - (1)]);}
10363 break;
10365 case 555:
10367 /* Line 1806 of yacc.c */
10368 #line 2087 "hphp.y"
10369 { (yyval) = (yyvsp[(1) - (1)]);}
10370 break;
10372 case 556:
10374 /* Line 1806 of yacc.c */
10375 #line 2088 "hphp.y"
10376 { (yyval) = (yyvsp[(1) - (1)]);}
10377 break;
10379 case 557:
10381 /* Line 1806 of yacc.c */
10382 #line 2089 "hphp.y"
10383 { (yyval) = (yyvsp[(1) - (1)]);}
10384 break;
10386 case 558:
10388 /* Line 1806 of yacc.c */
10389 #line 2090 "hphp.y"
10390 { (yyval) = (yyvsp[(1) - (1)]);}
10391 break;
10393 case 559:
10395 /* Line 1806 of yacc.c */
10396 #line 2091 "hphp.y"
10397 { (yyval) = (yyvsp[(1) - (1)]);}
10398 break;
10400 case 560:
10402 /* Line 1806 of yacc.c */
10403 #line 2092 "hphp.y"
10404 { (yyval) = (yyvsp[(1) - (1)]);}
10405 break;
10407 case 561:
10409 /* Line 1806 of yacc.c */
10410 #line 2093 "hphp.y"
10411 { (yyval) = (yyvsp[(1) - (1)]);}
10412 break;
10414 case 562:
10416 /* Line 1806 of yacc.c */
10417 #line 2094 "hphp.y"
10418 { (yyval) = (yyvsp[(1) - (1)]);}
10419 break;
10421 case 563:
10423 /* Line 1806 of yacc.c */
10424 #line 2095 "hphp.y"
10425 { (yyval) = (yyvsp[(1) - (1)]);}
10426 break;
10428 case 564:
10430 /* Line 1806 of yacc.c */
10431 #line 2100 "hphp.y"
10432 { _p->onCall((yyval),0,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);}
10433 break;
10435 case 565:
10437 /* Line 1806 of yacc.c */
10438 #line 2104 "hphp.y"
10439 { (yyval) = (yyvsp[(1) - (1)]);}
10440 break;
10442 case 566:
10444 /* Line 1806 of yacc.c */
10445 #line 2105 "hphp.y"
10446 { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]);}
10447 break;
10449 case 567:
10451 /* Line 1806 of yacc.c */
10452 #line 2108 "hphp.y"
10453 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);}
10454 break;
10456 case 568:
10458 /* Line 1806 of yacc.c */
10459 #line 2109 "hphp.y"
10460 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);}
10461 break;
10463 case 569:
10465 /* Line 1806 of yacc.c */
10466 #line 2110 "hphp.y"
10467 { _p->onName((yyval),(yyvsp[(1) - (1)]),
10468 Parser::StaticClassExprName);}
10469 break;
10471 case 570:
10473 /* Line 1806 of yacc.c */
10474 #line 2114 "hphp.y"
10475 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);}
10476 break;
10478 case 571:
10480 /* Line 1806 of yacc.c */
10481 #line 2115 "hphp.y"
10482 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);}
10483 break;
10485 case 572:
10487 /* Line 1806 of yacc.c */
10488 #line 2116 "hphp.y"
10489 { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::ExprName);}
10490 break;
10492 case 573:
10494 /* Line 1806 of yacc.c */
10495 #line 2120 "hphp.y"
10496 { (yyval).reset();}
10497 break;
10499 case 574:
10501 /* Line 1806 of yacc.c */
10502 #line 2121 "hphp.y"
10503 { (yyval) = (yyvsp[(1) - (1)]);}
10504 break;
10506 case 575:
10508 /* Line 1806 of yacc.c */
10509 #line 2122 "hphp.y"
10510 { (yyval).reset();}
10511 break;
10513 case 576:
10515 /* Line 1806 of yacc.c */
10516 #line 2126 "hphp.y"
10517 { (yyval).reset();}
10518 break;
10520 case 577:
10522 /* Line 1806 of yacc.c */
10523 #line 2127 "hphp.y"
10524 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), 0);}
10525 break;
10527 case 578:
10529 /* Line 1806 of yacc.c */
10530 #line 2128 "hphp.y"
10531 { (yyval) = (yyvsp[(1) - (1)]);}
10532 break;
10534 case 579:
10536 /* Line 1806 of yacc.c */
10537 #line 2132 "hphp.y"
10538 { (yyval) = (yyvsp[(2) - (3)]);}
10539 break;
10541 case 580:
10543 /* Line 1806 of yacc.c */
10544 #line 2133 "hphp.y"
10545 { (yyval).reset();}
10546 break;
10548 case 581:
10550 /* Line 1806 of yacc.c */
10551 #line 2137 "hphp.y"
10552 { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));}
10553 break;
10555 case 582:
10557 /* Line 1806 of yacc.c */
10558 #line 2138 "hphp.y"
10559 { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));}
10560 break;
10562 case 583:
10564 /* Line 1806 of yacc.c */
10565 #line 2139 "hphp.y"
10566 { _p->onScalar((yyval),
10567 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));}
10568 break;
10570 case 584:
10572 /* Line 1806 of yacc.c */
10573 #line 2141 "hphp.y"
10574 { _p->onScalar((yyval), T_LINE, (yyvsp[(1) - (1)]));}
10575 break;
10577 case 585:
10579 /* Line 1806 of yacc.c */
10580 #line 2142 "hphp.y"
10581 { _p->onScalar((yyval), T_FILE, (yyvsp[(1) - (1)]));}
10582 break;
10584 case 586:
10586 /* Line 1806 of yacc.c */
10587 #line 2143 "hphp.y"
10588 { _p->onScalar((yyval), T_DIR, (yyvsp[(1) - (1)]));}
10589 break;
10591 case 587:
10593 /* Line 1806 of yacc.c */
10594 #line 2144 "hphp.y"
10595 { _p->onScalar((yyval), T_CLASS_C, (yyvsp[(1) - (1)]));}
10596 break;
10598 case 588:
10600 /* Line 1806 of yacc.c */
10601 #line 2145 "hphp.y"
10602 { _p->onScalar((yyval), T_TRAIT_C, (yyvsp[(1) - (1)]));}
10603 break;
10605 case 589:
10607 /* Line 1806 of yacc.c */
10608 #line 2146 "hphp.y"
10609 { _p->onScalar((yyval), T_METHOD_C, (yyvsp[(1) - (1)]));}
10610 break;
10612 case 590:
10614 /* Line 1806 of yacc.c */
10615 #line 2147 "hphp.y"
10616 { _p->onScalar((yyval), T_FUNC_C, (yyvsp[(1) - (1)]));}
10617 break;
10619 case 591:
10621 /* Line 1806 of yacc.c */
10622 #line 2148 "hphp.y"
10623 { _p->onScalar((yyval), T_NS_C, (yyvsp[(1) - (1)]));}
10624 break;
10626 case 592:
10628 /* Line 1806 of yacc.c */
10629 #line 2149 "hphp.y"
10630 { _p->onScalar((yyval), T_COMPILER_HALT_OFFSET, (yyvsp[(1) - (1)]));}
10631 break;
10633 case 593:
10635 /* Line 1806 of yacc.c */
10636 #line 2152 "hphp.y"
10637 { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));}
10638 break;
10640 case 594:
10642 /* Line 1806 of yacc.c */
10643 #line 2154 "hphp.y"
10644 { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));}
10645 break;
10647 case 595:
10649 /* Line 1806 of yacc.c */
10650 #line 2158 "hphp.y"
10651 { (yyval) = (yyvsp[(1) - (1)]);}
10652 break;
10654 case 596:
10656 /* Line 1806 of yacc.c */
10657 #line 2159 "hphp.y"
10658 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));}
10659 break;
10661 case 597:
10663 /* Line 1806 of yacc.c */
10664 #line 2160 "hphp.y"
10665 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);}
10666 break;
10668 case 598:
10670 /* Line 1806 of yacc.c */
10671 #line 2161 "hphp.y"
10672 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);}
10673 break;
10675 case 599:
10677 /* Line 1806 of yacc.c */
10678 #line 2163 "hphp.y"
10679 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); }
10680 break;
10682 case 600:
10684 /* Line 1806 of yacc.c */
10685 #line 2165 "hphp.y"
10686 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); }
10687 break;
10689 case 601:
10691 /* Line 1806 of yacc.c */
10692 #line 2166 "hphp.y"
10693 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY); }
10694 break;
10696 case 602:
10698 /* Line 1806 of yacc.c */
10699 #line 2168 "hphp.y"
10700 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); }
10701 break;
10703 case 603:
10705 /* Line 1806 of yacc.c */
10706 #line 2169 "hphp.y"
10707 { (yyval) = (yyvsp[(1) - (1)]);}
10708 break;
10710 case 604:
10712 /* Line 1806 of yacc.c */
10713 #line 2170 "hphp.y"
10714 { (yyval) = (yyvsp[(1) - (1)]);}
10715 break;
10717 case 605:
10719 /* Line 1806 of yacc.c */
10720 #line 2176 "hphp.y"
10721 { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);}
10722 break;
10724 case 606:
10726 /* Line 1806 of yacc.c */
10727 #line 2178 "hphp.y"
10728 { (yyvsp[(1) - (3)]).xhpLabel();
10729 _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);}
10730 break;
10732 case 607:
10734 /* Line 1806 of yacc.c */
10735 #line 2183 "hphp.y"
10736 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));}
10737 break;
10739 case 608:
10741 /* Line 1806 of yacc.c */
10742 #line 2184 "hphp.y"
10743 { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));}
10744 break;
10746 case 609:
10748 /* Line 1806 of yacc.c */
10749 #line 2185 "hphp.y"
10750 { (yyval) = (yyvsp[(1) - (1)]);}
10751 break;
10753 case 610:
10755 /* Line 1806 of yacc.c */
10756 #line 2186 "hphp.y"
10757 { (yyval) = (yyvsp[(1) - (1)]);}
10758 break;
10760 case 611:
10762 /* Line 1806 of yacc.c */
10763 #line 2187 "hphp.y"
10764 { _p->onEncapsList((yyval),'"',(yyvsp[(2) - (3)]));}
10765 break;
10767 case 612:
10769 /* Line 1806 of yacc.c */
10770 #line 2188 "hphp.y"
10771 { _p->onEncapsList((yyval),'\'',(yyvsp[(2) - (3)]));}
10772 break;
10774 case 613:
10776 /* Line 1806 of yacc.c */
10777 #line 2190 "hphp.y"
10778 { _p->onEncapsList((yyval),T_START_HEREDOC,
10779 (yyvsp[(2) - (3)]));}
10780 break;
10782 case 614:
10784 /* Line 1806 of yacc.c */
10785 #line 2195 "hphp.y"
10786 { (yyval) = (yyvsp[(1) - (2)]);}
10787 break;
10789 case 615:
10791 /* Line 1806 of yacc.c */
10792 #line 2196 "hphp.y"
10793 { (yyval).reset();}
10794 break;
10796 case 616:
10798 /* Line 1806 of yacc.c */
10799 #line 2200 "hphp.y"
10800 { (yyval).reset();}
10801 break;
10803 case 617:
10805 /* Line 1806 of yacc.c */
10806 #line 2201 "hphp.y"
10807 { (yyval).reset();}
10808 break;
10810 case 618:
10812 /* Line 1806 of yacc.c */
10813 #line 2204 "hphp.y"
10814 { only_in_hh_syntax(_p); (yyval).reset();}
10815 break;
10817 case 619:
10819 /* Line 1806 of yacc.c */
10820 #line 2205 "hphp.y"
10821 { (yyval).reset();}
10822 break;
10824 case 620:
10826 /* Line 1806 of yacc.c */
10827 #line 2211 "hphp.y"
10828 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);}
10829 break;
10831 case 621:
10833 /* Line 1806 of yacc.c */
10834 #line 2213 "hphp.y"
10835 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);}
10836 break;
10838 case 622:
10840 /* Line 1806 of yacc.c */
10841 #line 2215 "hphp.y"
10842 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);}
10843 break;
10845 case 623:
10847 /* Line 1806 of yacc.c */
10848 #line 2216 "hphp.y"
10849 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);}
10850 break;
10852 case 624:
10854 /* Line 1806 of yacc.c */
10855 #line 2220 "hphp.y"
10856 { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));}
10857 break;
10859 case 625:
10861 /* Line 1806 of yacc.c */
10862 #line 2221 "hphp.y"
10863 { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));}
10864 break;
10866 case 626:
10868 /* Line 1806 of yacc.c */
10869 #line 2222 "hphp.y"
10870 { _p->onScalar((yyval),
10871 T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));}
10872 break;
10874 case 627:
10876 /* Line 1806 of yacc.c */
10877 #line 2226 "hphp.y"
10878 { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));}
10879 break;
10881 case 628:
10883 /* Line 1806 of yacc.c */
10884 #line 2228 "hphp.y"
10885 { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));}
10886 break;
10888 case 629:
10890 /* Line 1806 of yacc.c */
10891 #line 2231 "hphp.y"
10892 { _p->onScalar((yyval),T_LNUMBER,(yyvsp[(1) - (1)]));}
10893 break;
10895 case 630:
10897 /* Line 1806 of yacc.c */
10898 #line 2232 "hphp.y"
10899 { _p->onScalar((yyval),T_DNUMBER,(yyvsp[(1) - (1)]));}
10900 break;
10902 case 631:
10904 /* Line 1806 of yacc.c */
10905 #line 2233 "hphp.y"
10906 { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));}
10907 break;
10909 case 632:
10911 /* Line 1806 of yacc.c */
10912 #line 2236 "hphp.y"
10913 { (yyval) = (yyvsp[(1) - (1)]);}
10914 break;
10916 case 633:
10918 /* Line 1806 of yacc.c */
10919 #line 2237 "hphp.y"
10920 { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));}
10921 break;
10923 case 634:
10925 /* Line 1806 of yacc.c */
10926 #line 2238 "hphp.y"
10927 { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);}
10928 break;
10930 case 635:
10932 /* Line 1806 of yacc.c */
10933 #line 2239 "hphp.y"
10934 { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);}
10935 break;
10937 case 636:
10939 /* Line 1806 of yacc.c */
10940 #line 2241 "hphp.y"
10941 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);}
10942 break;
10944 case 637:
10946 /* Line 1806 of yacc.c */
10947 #line 2243 "hphp.y"
10948 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);}
10949 break;
10951 case 638:
10953 /* Line 1806 of yacc.c */
10954 #line 2244 "hphp.y"
10955 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);}
10956 break;
10958 case 639:
10960 /* Line 1806 of yacc.c */
10961 #line 2246 "hphp.y"
10962 { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); }
10963 break;
10965 case 640:
10967 /* Line 1806 of yacc.c */
10968 #line 2251 "hphp.y"
10969 { (yyval) = (yyvsp[(1) - (2)]);}
10970 break;
10972 case 641:
10974 /* Line 1806 of yacc.c */
10975 #line 2252 "hphp.y"
10976 { (yyval).reset();}
10977 break;
10979 case 642:
10981 /* Line 1806 of yacc.c */
10982 #line 2257 "hphp.y"
10983 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);}
10984 break;
10986 case 643:
10988 /* Line 1806 of yacc.c */
10989 #line 2259 "hphp.y"
10990 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);}
10991 break;
10993 case 644:
10995 /* Line 1806 of yacc.c */
10996 #line 2261 "hphp.y"
10997 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);}
10998 break;
11000 case 645:
11002 /* Line 1806 of yacc.c */
11003 #line 2262 "hphp.y"
11004 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);}
11005 break;
11007 case 646:
11009 /* Line 1806 of yacc.c */
11010 #line 2266 "hphp.y"
11011 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);}
11012 break;
11014 case 647:
11016 /* Line 1806 of yacc.c */
11017 #line 2267 "hphp.y"
11018 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);}
11019 break;
11021 case 648:
11023 /* Line 1806 of yacc.c */
11024 #line 2272 "hphp.y"
11025 { (yyval) = (yyvsp[(1) - (2)]); }
11026 break;
11028 case 649:
11030 /* Line 1806 of yacc.c */
11031 #line 2273 "hphp.y"
11032 { (yyval).reset(); }
11033 break;
11035 case 650:
11037 /* Line 1806 of yacc.c */
11038 #line 2278 "hphp.y"
11039 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); }
11040 break;
11042 case 651:
11044 /* Line 1806 of yacc.c */
11045 #line 2281 "hphp.y"
11046 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); }
11047 break;
11049 case 652:
11051 /* Line 1806 of yacc.c */
11052 #line 2286 "hphp.y"
11053 { (yyval) = (yyvsp[(1) - (2)]);}
11054 break;
11056 case 653:
11058 /* Line 1806 of yacc.c */
11059 #line 2287 "hphp.y"
11060 { (yyval).reset();}
11061 break;
11063 case 654:
11065 /* Line 1806 of yacc.c */
11066 #line 2290 "hphp.y"
11067 { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);}
11068 break;
11070 case 655:
11072 /* Line 1806 of yacc.c */
11073 #line 2291 "hphp.y"
11074 { Token t; t.reset();
11075 _p->onArray((yyval),t,T_ARRAY);}
11076 break;
11078 case 656:
11080 /* Line 1806 of yacc.c */
11081 #line 2298 "hphp.y"
11082 { _p->onUserAttribute((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));}
11083 break;
11085 case 657:
11087 /* Line 1806 of yacc.c */
11088 #line 2300 "hphp.y"
11089 { _p->onUserAttribute((yyval), 0,(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
11090 break;
11092 case 658:
11094 /* Line 1806 of yacc.c */
11095 #line 2303 "hphp.y"
11096 { only_in_hh_syntax(_p);}
11097 break;
11099 case 659:
11101 /* Line 1806 of yacc.c */
11102 #line 2305 "hphp.y"
11103 { (yyval) = (yyvsp[(2) - (3)]);}
11104 break;
11106 case 660:
11108 /* Line 1806 of yacc.c */
11109 #line 2308 "hphp.y"
11110 { (yyval) = (yyvsp[(2) - (3)]);}
11111 break;
11113 case 661:
11115 /* Line 1806 of yacc.c */
11116 #line 2311 "hphp.y"
11117 { (yyval) = (yyvsp[(1) - (1)]);}
11118 break;
11120 case 662:
11122 /* Line 1806 of yacc.c */
11123 #line 2312 "hphp.y"
11124 { (yyval).reset();}
11125 break;
11127 case 663:
11129 /* Line 1806 of yacc.c */
11130 #line 2316 "hphp.y"
11131 { (yyval) = (yyvsp[(1) - (1)]);}
11132 break;
11134 case 664:
11136 /* Line 1806 of yacc.c */
11137 #line 2318 "hphp.y"
11138 { (yyval) = (yyvsp[(2) - (2)]);}
11139 break;
11141 case 665:
11143 /* Line 1806 of yacc.c */
11144 #line 2322 "hphp.y"
11145 { (yyval) = (yyvsp[(2) - (2)]);}
11146 break;
11148 case 666:
11150 /* Line 1806 of yacc.c */
11151 #line 2323 "hphp.y"
11152 { (yyval) = (yyvsp[(3) - (4)]);}
11153 break;
11155 case 667:
11157 /* Line 1806 of yacc.c */
11158 #line 2327 "hphp.y"
11159 { (yyval) = (yyvsp[(2) - (3)]);}
11160 break;
11162 case 668:
11164 /* Line 1806 of yacc.c */
11165 #line 2328 "hphp.y"
11166 { (yyval) = (yyvsp[(2) - (3)]);}
11167 break;
11169 case 669:
11171 /* Line 1806 of yacc.c */
11172 #line 2332 "hphp.y"
11173 { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));}
11174 break;
11176 case 670:
11178 /* Line 1806 of yacc.c */
11179 #line 2334 "hphp.y"
11180 { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));}
11181 break;
11183 case 671:
11185 /* Line 1806 of yacc.c */
11186 #line 2339 "hphp.y"
11187 { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));}
11188 break;
11190 case 672:
11192 /* Line 1806 of yacc.c */
11193 #line 2341 "hphp.y"
11194 { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));}
11195 break;
11197 case 673:
11199 /* Line 1806 of yacc.c */
11200 #line 2345 "hphp.y"
11201 { (yyval) = (yyvsp[(1) - (1)]);}
11202 break;
11204 case 674:
11206 /* Line 1806 of yacc.c */
11207 #line 2346 "hphp.y"
11208 { (yyval) = (yyvsp[(1) - (1)]);}
11209 break;
11211 case 675:
11213 /* Line 1806 of yacc.c */
11214 #line 2347 "hphp.y"
11215 { (yyval) = (yyvsp[(1) - (1)]);}
11216 break;
11218 case 676:
11220 /* Line 1806 of yacc.c */
11221 #line 2348 "hphp.y"
11222 { (yyval) = (yyvsp[(1) - (1)]);}
11223 break;
11225 case 677:
11227 /* Line 1806 of yacc.c */
11228 #line 2349 "hphp.y"
11229 { (yyval) = (yyvsp[(1) - (1)]);}
11230 break;
11232 case 678:
11234 /* Line 1806 of yacc.c */
11235 #line 2350 "hphp.y"
11236 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
11237 break;
11239 case 679:
11241 /* Line 1806 of yacc.c */
11242 #line 2352 "hphp.y"
11243 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));}
11244 break;
11246 case 680:
11248 /* Line 1806 of yacc.c */
11249 #line 2355 "hphp.y"
11250 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));}
11251 break;
11253 case 681:
11255 /* Line 1806 of yacc.c */
11256 #line 2357 "hphp.y"
11257 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);}
11258 break;
11260 case 682:
11262 /* Line 1806 of yacc.c */
11263 #line 2358 "hphp.y"
11264 { (yyval) = (yyvsp[(2) - (3)]);}
11265 break;
11267 case 683:
11269 /* Line 1806 of yacc.c */
11270 #line 2362 "hphp.y"
11271 { (yyval) = (yyvsp[(1) - (1)]);}
11272 break;
11274 case 684:
11276 /* Line 1806 of yacc.c */
11277 #line 2363 "hphp.y"
11278 { (yyval) = (yyvsp[(1) - (1)]);}
11279 break;
11281 case 685:
11283 /* Line 1806 of yacc.c */
11284 #line 2364 "hphp.y"
11285 { (yyval) = (yyvsp[(1) - (1)]);}
11286 break;
11288 case 686:
11290 /* Line 1806 of yacc.c */
11291 #line 2365 "hphp.y"
11292 { (yyval) = (yyvsp[(1) - (1)]);}
11293 break;
11295 case 687:
11297 /* Line 1806 of yacc.c */
11298 #line 2367 "hphp.y"
11299 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
11300 break;
11302 case 688:
11304 /* Line 1806 of yacc.c */
11305 #line 2369 "hphp.y"
11306 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));}
11307 break;
11309 case 689:
11311 /* Line 1806 of yacc.c */
11312 #line 2371 "hphp.y"
11313 { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);}
11314 break;
11316 case 690:
11318 /* Line 1806 of yacc.c */
11319 #line 2372 "hphp.y"
11320 { (yyval) = (yyvsp[(2) - (3)]);}
11321 break;
11323 case 691:
11325 /* Line 1806 of yacc.c */
11326 #line 2376 "hphp.y"
11327 { (yyval) = (yyvsp[(1) - (1)]);}
11328 break;
11330 case 692:
11332 /* Line 1806 of yacc.c */
11333 #line 2377 "hphp.y"
11334 { (yyval) = (yyvsp[(1) - (1)]);}
11335 break;
11337 case 693:
11339 /* Line 1806 of yacc.c */
11340 #line 2378 "hphp.y"
11341 { (yyval) = (yyvsp[(2) - (3)]);}
11342 break;
11344 case 694:
11346 /* Line 1806 of yacc.c */
11347 #line 2384 "hphp.y"
11348 { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (7)]),(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]));}
11349 break;
11351 case 695:
11353 /* Line 1806 of yacc.c */
11354 #line 2387 "hphp.y"
11355 { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));}
11356 break;
11358 case 696:
11360 /* Line 1806 of yacc.c */
11361 #line 2390 "hphp.y"
11362 { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]));}
11363 break;
11365 case 697:
11367 /* Line 1806 of yacc.c */
11368 #line 2394 "hphp.y"
11369 { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]));}
11370 break;
11372 case 698:
11374 /* Line 1806 of yacc.c */
11375 #line 2398 "hphp.y"
11376 { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]));}
11377 break;
11379 case 699:
11381 /* Line 1806 of yacc.c */
11382 #line 2402 "hphp.y"
11383 { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(9) - (10)]));}
11384 break;
11386 case 700:
11388 /* Line 1806 of yacc.c */
11389 #line 2409 "hphp.y"
11390 { _p->onCall((yyval),0,(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]),&(yyvsp[(1) - (7)]));}
11391 break;
11393 case 701:
11395 /* Line 1806 of yacc.c */
11396 #line 2413 "hphp.y"
11397 { _p->onCall((yyval),1,(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]),&(yyvsp[(1) - (6)]));}
11398 break;
11400 case 702:
11402 /* Line 1806 of yacc.c */
11403 #line 2417 "hphp.y"
11404 { _p->onCall((yyval),1,(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]),&(yyvsp[(1) - (8)]));}
11405 break;
11407 case 703:
11409 /* Line 1806 of yacc.c */
11410 #line 2421 "hphp.y"
11411 { (yyval) = (yyvsp[(1) - (1)]);}
11412 break;
11414 case 704:
11416 /* Line 1806 of yacc.c */
11417 #line 2423 "hphp.y"
11418 { _p->onIndirectRef((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
11419 break;
11421 case 705:
11423 /* Line 1806 of yacc.c */
11424 #line 2428 "hphp.y"
11425 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));}
11426 break;
11428 case 706:
11430 /* Line 1806 of yacc.c */
11431 #line 2429 "hphp.y"
11432 { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));}
11433 break;
11435 case 707:
11437 /* Line 1806 of yacc.c */
11438 #line 2430 "hphp.y"
11439 { (yyval) = (yyvsp[(1) - (1)]);}
11440 break;
11442 case 708:
11444 /* Line 1806 of yacc.c */
11445 #line 2433 "hphp.y"
11446 { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));}
11447 break;
11449 case 709:
11451 /* Line 1806 of yacc.c */
11452 #line 2434 "hphp.y"
11453 { _p->onDynamicVariable((yyval), (yyvsp[(3) - (4)]), 0);}
11454 break;
11456 case 710:
11458 /* Line 1806 of yacc.c */
11459 #line 2437 "hphp.y"
11460 { (yyval) = (yyvsp[(1) - (1)]);}
11461 break;
11463 case 711:
11465 /* Line 1806 of yacc.c */
11466 #line 2438 "hphp.y"
11467 { (yyval).reset();}
11468 break;
11470 case 712:
11472 /* Line 1806 of yacc.c */
11473 #line 2442 "hphp.y"
11474 { (yyval) = 1;}
11475 break;
11477 case 713:
11479 /* Line 1806 of yacc.c */
11480 #line 2443 "hphp.y"
11481 { (yyval)++;}
11482 break;
11484 case 714:
11486 /* Line 1806 of yacc.c */
11487 #line 2447 "hphp.y"
11488 { (yyval) = (yyvsp[(1) - (1)]);}
11489 break;
11491 case 715:
11493 /* Line 1806 of yacc.c */
11494 #line 2448 "hphp.y"
11495 { (yyval) = (yyvsp[(1) - (1)]);}
11496 break;
11498 case 716:
11500 /* Line 1806 of yacc.c */
11501 #line 2449 "hphp.y"
11502 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
11503 break;
11505 case 717:
11507 /* Line 1806 of yacc.c */
11508 #line 2451 "hphp.y"
11509 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));}
11510 break;
11512 case 718:
11514 /* Line 1806 of yacc.c */
11515 #line 2454 "hphp.y"
11516 { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));}
11517 break;
11519 case 719:
11521 /* Line 1806 of yacc.c */
11522 #line 2455 "hphp.y"
11523 { (yyval) = (yyvsp[(2) - (3)]);}
11524 break;
11526 case 721:
11528 /* Line 1806 of yacc.c */
11529 #line 2459 "hphp.y"
11530 { (yyval) = (yyvsp[(1) - (1)]);}
11531 break;
11533 case 722:
11535 /* Line 1806 of yacc.c */
11536 #line 2461 "hphp.y"
11537 { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));}
11538 break;
11540 case 723:
11542 /* Line 1806 of yacc.c */
11543 #line 2463 "hphp.y"
11544 { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));}
11545 break;
11547 case 724:
11549 /* Line 1806 of yacc.c */
11550 #line 2464 "hphp.y"
11551 { (yyval) = (yyvsp[(2) - (3)]);}
11552 break;
11554 case 725:
11556 /* Line 1806 of yacc.c */
11557 #line 2468 "hphp.y"
11558 { _p->onAListVar((yyval),&(yyvsp[(1) - (2)]),NULL);}
11559 break;
11561 case 726:
11563 /* Line 1806 of yacc.c */
11564 #line 2469 "hphp.y"
11565 { _p->onAListVar((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));}
11566 break;
11568 case 727:
11570 /* Line 1806 of yacc.c */
11571 #line 2471 "hphp.y"
11572 { _p->onAListSub((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]));}
11573 break;
11575 case 728:
11577 /* Line 1806 of yacc.c */
11578 #line 2472 "hphp.y"
11579 { _p->onAListVar((yyval),NULL,NULL);}
11580 break;
11582 case 729:
11584 /* Line 1806 of yacc.c */
11585 #line 2473 "hphp.y"
11586 { _p->onAListVar((yyval),NULL,&(yyvsp[(1) - (1)]));}
11587 break;
11589 case 730:
11591 /* Line 1806 of yacc.c */
11592 #line 2474 "hphp.y"
11593 { _p->onAListSub((yyval),NULL,(yyvsp[(3) - (4)]));}
11594 break;
11596 case 731:
11598 /* Line 1806 of yacc.c */
11599 #line 2479 "hphp.y"
11600 { (yyval) = (yyvsp[(1) - (2)]);}
11601 break;
11603 case 732:
11605 /* Line 1806 of yacc.c */
11606 #line 2480 "hphp.y"
11607 { (yyval).reset();}
11608 break;
11610 case 733:
11612 /* Line 1806 of yacc.c */
11613 #line 2484 "hphp.y"
11614 { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);}
11615 break;
11617 case 734:
11619 /* Line 1806 of yacc.c */
11620 #line 2485 "hphp.y"
11621 { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);}
11622 break;
11624 case 735:
11626 /* Line 1806 of yacc.c */
11627 #line 2486 "hphp.y"
11628 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);}
11629 break;
11631 case 736:
11633 /* Line 1806 of yacc.c */
11634 #line 2487 "hphp.y"
11635 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);}
11636 break;
11638 case 737:
11640 /* Line 1806 of yacc.c */
11641 #line 2490 "hphp.y"
11642 { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);}
11643 break;
11645 case 738:
11647 /* Line 1806 of yacc.c */
11648 #line 2492 "hphp.y"
11649 { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]), 0,(yyvsp[(4) - (4)]),1);}
11650 break;
11652 case 739:
11654 /* Line 1806 of yacc.c */
11655 #line 2493 "hphp.y"
11656 { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);}
11657 break;
11659 case 740:
11661 /* Line 1806 of yacc.c */
11662 #line 2494 "hphp.y"
11663 { _p->onArrayPair((yyval), 0, 0,(yyvsp[(2) - (2)]),1);}
11664 break;
11666 case 741:
11668 /* Line 1806 of yacc.c */
11669 #line 2499 "hphp.y"
11670 { (yyval) = (yyvsp[(1) - (2)]);}
11671 break;
11673 case 742:
11675 /* Line 1806 of yacc.c */
11676 #line 2500 "hphp.y"
11677 { _p->onEmptyCollection((yyval));}
11678 break;
11680 case 743:
11682 /* Line 1806 of yacc.c */
11683 #line 2504 "hphp.y"
11684 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));}
11685 break;
11687 case 744:
11689 /* Line 1806 of yacc.c */
11690 #line 2505 "hphp.y"
11691 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));}
11692 break;
11694 case 745:
11696 /* Line 1806 of yacc.c */
11697 #line 2506 "hphp.y"
11698 { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));}
11699 break;
11701 case 746:
11703 /* Line 1806 of yacc.c */
11704 #line 2507 "hphp.y"
11705 { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));}
11706 break;
11708 case 747:
11710 /* Line 1806 of yacc.c */
11711 #line 2512 "hphp.y"
11712 { (yyval) = (yyvsp[(1) - (2)]);}
11713 break;
11715 case 748:
11717 /* Line 1806 of yacc.c */
11718 #line 2513 "hphp.y"
11719 { _p->onEmptyCollection((yyval));}
11720 break;
11722 case 749:
11724 /* Line 1806 of yacc.c */
11725 #line 2518 "hphp.y"
11726 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));}
11727 break;
11729 case 750:
11731 /* Line 1806 of yacc.c */
11732 #line 2520 "hphp.y"
11733 { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));}
11734 break;
11736 case 751:
11738 /* Line 1806 of yacc.c */
11739 #line 2522 "hphp.y"
11740 { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));}
11741 break;
11743 case 752:
11745 /* Line 1806 of yacc.c */
11746 #line 2523 "hphp.y"
11747 { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));}
11748 break;
11750 case 753:
11752 /* Line 1806 of yacc.c */
11753 #line 2527 "hphp.y"
11754 { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), -1);}
11755 break;
11757 case 754:
11759 /* Line 1806 of yacc.c */
11760 #line 2529 "hphp.y"
11761 { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), 0);}
11762 break;
11764 case 755:
11766 /* Line 1806 of yacc.c */
11767 #line 2530 "hphp.y"
11768 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), -1);}
11769 break;
11771 case 756:
11773 /* Line 1806 of yacc.c */
11774 #line 2532 "hphp.y"
11775 { _p->addEncap((yyval), NULL, (yyvsp[(1) - (2)]), 0);
11776 _p->addEncap((yyval), &(yyval), (yyvsp[(2) - (2)]), -1); }
11777 break;
11779 case 757:
11781 /* Line 1806 of yacc.c */
11782 #line 2537 "hphp.y"
11783 { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));}
11784 break;
11786 case 758:
11788 /* Line 1806 of yacc.c */
11789 #line 2539 "hphp.y"
11790 { _p->encapRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));}
11791 break;
11793 case 759:
11795 /* Line 1806 of yacc.c */
11796 #line 2541 "hphp.y"
11797 { _p->encapObjProp((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));}
11798 break;
11800 case 760:
11802 /* Line 1806 of yacc.c */
11803 #line 2543 "hphp.y"
11804 { _p->onDynamicVariable((yyval), (yyvsp[(2) - (3)]), 1);}
11805 break;
11807 case 761:
11809 /* Line 1806 of yacc.c */
11810 #line 2545 "hphp.y"
11811 { _p->encapArray((yyval), (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));}
11812 break;
11814 case 762:
11816 /* Line 1806 of yacc.c */
11817 #line 2546 "hphp.y"
11818 { (yyval) = (yyvsp[(2) - (3)]);}
11819 break;
11821 case 763:
11823 /* Line 1806 of yacc.c */
11824 #line 2549 "hphp.y"
11825 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_STRING;}
11826 break;
11828 case 764:
11830 /* Line 1806 of yacc.c */
11831 #line 2550 "hphp.y"
11832 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_NUM_STRING;}
11833 break;
11835 case 765:
11837 /* Line 1806 of yacc.c */
11838 #line 2551 "hphp.y"
11839 { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_VARIABLE;}
11840 break;
11842 case 766:
11844 /* Line 1806 of yacc.c */
11845 #line 2555 "hphp.y"
11846 { UEXP((yyval),(yyvsp[(3) - (4)]),T_ISSET,1);}
11847 break;
11849 case 767:
11851 /* Line 1806 of yacc.c */
11852 #line 2556 "hphp.y"
11853 { UEXP((yyval),(yyvsp[(3) - (4)]),T_EMPTY,1);}
11854 break;
11856 case 768:
11858 /* Line 1806 of yacc.c */
11859 #line 2557 "hphp.y"
11860 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);}
11861 break;
11863 case 769:
11865 /* Line 1806 of yacc.c */
11866 #line 2558 "hphp.y"
11867 { UEXP((yyval),(yyvsp[(3) - (4)]),'!',1);}
11868 break;
11870 case 770:
11872 /* Line 1806 of yacc.c */
11873 #line 2559 "hphp.y"
11874 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE,1);}
11875 break;
11877 case 771:
11879 /* Line 1806 of yacc.c */
11880 #line 2560 "hphp.y"
11881 { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE_ONCE,1);}
11882 break;
11884 case 772:
11886 /* Line 1806 of yacc.c */
11887 #line 2561 "hphp.y"
11888 { UEXP((yyval),(yyvsp[(3) - (4)]),T_EVAL,1);}
11889 break;
11891 case 773:
11893 /* Line 1806 of yacc.c */
11894 #line 2562 "hphp.y"
11895 { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE,1);}
11896 break;
11898 case 774:
11900 /* Line 1806 of yacc.c */
11901 #line 2563 "hphp.y"
11902 { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE_ONCE,1);}
11903 break;
11905 case 775:
11907 /* Line 1806 of yacc.c */
11908 #line 2567 "hphp.y"
11909 { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));}
11910 break;
11912 case 776:
11914 /* Line 1806 of yacc.c */
11915 #line 2568 "hphp.y"
11916 { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));}
11917 break;
11919 case 777:
11921 /* Line 1806 of yacc.c */
11922 #line 2573 "hphp.y"
11923 { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);}
11924 break;
11926 case 780:
11928 /* Line 1806 of yacc.c */
11929 #line 2587 "hphp.y"
11930 { _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)]));
11931 _p->popTypeScope(); }
11932 break;
11934 case 781:
11936 /* Line 1806 of yacc.c */
11937 #line 2590 "hphp.y"
11938 { _p->onTypedef((yyval), (yyvsp[(2) - (6)]), (yyvsp[(5) - (6)]));
11939 _p->popTypeScope(); }
11940 break;
11942 case 782:
11944 /* Line 1806 of yacc.c */
11945 #line 2595 "hphp.y"
11946 { (yyval) = (yyvsp[(1) - (1)]); }
11947 break;
11949 case 783:
11951 /* Line 1806 of yacc.c */
11952 #line 2596 "hphp.y"
11953 { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); }
11954 break;
11956 case 784:
11958 /* Line 1806 of yacc.c */
11959 #line 2602 "hphp.y"
11960 { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); }
11961 break;
11963 case 785:
11965 /* Line 1806 of yacc.c */
11966 #line 2606 "hphp.y"
11967 { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); }
11968 break;
11970 case 786:
11972 /* Line 1806 of yacc.c */
11973 #line 2612 "hphp.y"
11974 { (yyval) = (yyvsp[(2) - (3)]); }
11975 break;
11977 case 787:
11979 /* Line 1806 of yacc.c */
11980 #line 2613 "hphp.y"
11981 { (yyval).reset(); }
11982 break;
11984 case 788:
11986 /* Line 1806 of yacc.c */
11987 #line 2617 "hphp.y"
11988 { Token t; t.reset();
11989 _p->onTypeList((yyvsp[(1) - (1)]), t);
11990 (yyval) = (yyvsp[(1) - (1)]); }
11991 break;
11993 case 789:
11995 /* Line 1806 of yacc.c */
11996 #line 2620 "hphp.y"
11997 { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
11998 (yyval) = (yyvsp[(1) - (3)]); }
11999 break;
12001 case 790:
12003 /* Line 1806 of yacc.c */
12004 #line 2625 "hphp.y"
12005 { (yyval) = (yyvsp[(1) - (3)]); }
12006 break;
12008 case 791:
12010 /* Line 1806 of yacc.c */
12011 #line 2626 "hphp.y"
12012 { (yyval) = (yyvsp[(1) - (1)]); }
12013 break;
12015 case 792:
12017 /* Line 1806 of yacc.c */
12018 #line 2627 "hphp.y"
12019 { (yyval).reset(); }
12020 break;
12022 case 793:
12024 /* Line 1806 of yacc.c */
12025 #line 2628 "hphp.y"
12026 { (yyval).reset(); }
12027 break;
12029 case 794:
12031 /* Line 1806 of yacc.c */
12032 #line 2632 "hphp.y"
12033 { (yyval).reset(); }
12034 break;
12036 case 795:
12038 /* Line 1806 of yacc.c */
12039 #line 2633 "hphp.y"
12040 { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); }
12041 break;
12043 case 796:
12045 /* Line 1806 of yacc.c */
12046 #line 2638 "hphp.y"
12047 { _p->addTypeVar((yyvsp[(3) - (3)]).text()); }
12048 break;
12050 case 797:
12052 /* Line 1806 of yacc.c */
12053 #line 2639 "hphp.y"
12054 { _p->addTypeVar((yyvsp[(1) - (1)]).text()); }
12055 break;
12057 case 798:
12059 /* Line 1806 of yacc.c */
12060 #line 2641 "hphp.y"
12061 { _p->addTypeVar((yyvsp[(3) - (5)]).text()); }
12062 break;
12064 case 799:
12066 /* Line 1806 of yacc.c */
12067 #line 2642 "hphp.y"
12068 { _p->addTypeVar((yyvsp[(1) - (3)]).text()); }
12069 break;
12071 case 800:
12073 /* Line 1806 of yacc.c */
12074 #line 2648 "hphp.y"
12075 { validate_shape_keyname((yyvsp[(1) - (3)]), _p); }
12076 break;
12078 case 803:
12080 /* Line 1806 of yacc.c */
12081 #line 2659 "hphp.y"
12082 { (yyval) = (yyvsp[(1) - (2)]); }
12083 break;
12085 case 804:
12087 /* Line 1806 of yacc.c */
12088 #line 2661 "hphp.y"
12090 break;
12092 case 805:
12094 /* Line 1806 of yacc.c */
12095 #line 2665 "hphp.y"
12096 { (yyval).setText("array"); }
12097 break;
12099 case 806:
12101 /* Line 1806 of yacc.c */
12102 #line 2672 "hphp.y"
12103 { only_in_hh_syntax(_p);
12104 _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?');
12105 (yyval) = (yyvsp[(2) - (2)]); }
12106 break;
12108 case 807:
12110 /* Line 1806 of yacc.c */
12111 #line 2675 "hphp.y"
12112 { only_in_hh_syntax(_p);
12113 _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@');
12114 (yyval) = (yyvsp[(2) - (2)]); }
12115 break;
12117 case 808:
12119 /* Line 1806 of yacc.c */
12120 #line 2678 "hphp.y"
12121 { (yyval) = (yyvsp[(1) - (1)]); }
12122 break;
12124 case 809:
12126 /* Line 1806 of yacc.c */
12127 #line 2679 "hphp.y"
12128 { Token t; t.reset();
12129 (yyvsp[(1) - (1)]).setText("array");
12130 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); }
12131 break;
12133 case 810:
12135 /* Line 1806 of yacc.c */
12136 #line 2682 "hphp.y"
12137 { (yyval) = (yyvsp[(1) - (1)]); }
12138 break;
12140 case 811:
12142 /* Line 1806 of yacc.c */
12143 #line 2684 "hphp.y"
12144 { (yyvsp[(1) - (4)]).setText("array");
12145 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)])); }
12146 break;
12148 case 812:
12150 /* Line 1806 of yacc.c */
12151 #line 2687 "hphp.y"
12152 { _p->onTypeList((yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]));
12153 (yyvsp[(1) - (6)]).setText("array");
12154 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (6)]), (yyvsp[(3) - (6)])); }
12155 break;
12157 case 813:
12159 /* Line 1806 of yacc.c */
12160 #line 2690 "hphp.y"
12161 { (yyvsp[(1) - (1)]).xhpLabel();
12162 Token t; t.reset();
12163 _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t);
12164 _p->onTypeSpecialization((yyval), 'x'); }
12165 break;
12167 case 814:
12169 /* Line 1806 of yacc.c */
12170 #line 2696 "hphp.y"
12171 { only_in_hh_syntax(_p);
12172 _p->onTypeList((yyvsp[(7) - (8)]), (yyvsp[(4) - (8)]));
12173 _p->onTypeAnnotation((yyval), (yyvsp[(2) - (8)]), (yyvsp[(7) - (8)]));
12174 _p->onTypeSpecialization((yyval), 'f'); }
12175 break;
12177 case 815:
12179 /* Line 1806 of yacc.c */
12180 #line 2700 "hphp.y"
12181 { only_in_hh_syntax(_p);
12182 _p->onTypeList((yyvsp[(2) - (5)]), (yyvsp[(4) - (5)]));
12183 Token t; t.reset(); t.setText("array");
12184 _p->onTypeAnnotation((yyval), t, (yyvsp[(2) - (5)]));
12185 _p->onTypeSpecialization((yyval), 't'); }
12186 break;
12188 case 816:
12190 /* Line 1806 of yacc.c */
12191 #line 2708 "hphp.y"
12192 { (yyval) = (yyvsp[(1) - (1)]); }
12193 break;
12195 case 817:
12197 /* Line 1806 of yacc.c */
12198 #line 2709 "hphp.y"
12199 { (yyval).reset(); }
12200 break;
12204 /* Line 1806 of yacc.c */
12205 #line 12205 "hphp.tab.cpp"
12206 default: break;
12208 /* User semantic actions sometimes alter yychar, and that requires
12209 that yytoken be updated with the new translation. We take the
12210 approach of translating immediately before every use of yytoken.
12211 One alternative is translating here after every semantic action,
12212 but that translation would be missed if the semantic action invokes
12213 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
12214 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
12215 incorrect destructor might then be invoked immediately. In the
12216 case of YYERROR or YYBACKUP, subsequent parser actions might lead
12217 to an incorrect destructor call or verbose syntax error message
12218 before the lookahead is translated. */
12219 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
12221 YYPOPSTACK (yylen);
12222 yylen = 0;
12223 YY_STACK_PRINT (yyss, yyssp);
12225 *++yyvsp = yyval;
12226 *++yylsp = yyloc;
12228 /* Now `shift' the result of the reduction. Determine what state
12229 that goes to, based on the state we popped back to and the rule
12230 number reduced by. */
12232 yyn = yyr1[yyn];
12234 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
12235 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
12236 yystate = yytable[yystate];
12237 else
12238 yystate = yydefgoto[yyn - YYNTOKENS];
12240 goto yynewstate;
12243 /*------------------------------------.
12244 | yyerrlab -- here on detecting error |
12245 `------------------------------------*/
12246 yyerrlab:
12247 /* Make sure we have latest lookahead translation. See comments at
12248 user semantic actions for why this is necessary. */
12249 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
12251 /* If not already recovering from an error, report this error. */
12252 if (!yyerrstatus)
12254 ++yynerrs;
12255 #if ! YYERROR_VERBOSE
12256 yyerror (&yylloc, _p, YY_("syntax error"));
12257 #else
12258 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
12259 yyssp, yytoken)
12261 char const *yymsgp = YY_("syntax error");
12262 int yysyntax_error_status;
12263 yysyntax_error_status = YYSYNTAX_ERROR;
12264 if (yysyntax_error_status == 0)
12265 yymsgp = yymsg;
12266 else if (yysyntax_error_status == 1)
12268 if (yymsg != yymsgbuf)
12269 YYSTACK_FREE (yymsg);
12270 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
12271 if (!yymsg)
12273 yymsg = yymsgbuf;
12274 yymsg_alloc = sizeof yymsgbuf;
12275 yysyntax_error_status = 2;
12277 else
12279 yysyntax_error_status = YYSYNTAX_ERROR;
12280 yymsgp = yymsg;
12283 yyerror (&yylloc, _p, yymsgp);
12284 if (yysyntax_error_status == 2)
12285 goto yyexhaustedlab;
12287 # undef YYSYNTAX_ERROR
12288 #endif
12291 yyerror_range[1] = yylloc;
12293 if (yyerrstatus == 3)
12295 /* If just tried and failed to reuse lookahead token after an
12296 error, discard it. */
12298 if (yychar <= YYEOF)
12300 /* Return failure if at end of input. */
12301 if (yychar == YYEOF)
12302 YYABORT;
12304 else
12306 yydestruct ("Error: discarding",
12307 yytoken, &yylval, &yylloc, _p);
12308 yychar = YYEMPTY;
12312 /* Else will try to reuse lookahead token after shifting the error
12313 token. */
12314 goto yyerrlab1;
12317 /*---------------------------------------------------.
12318 | yyerrorlab -- error raised explicitly by YYERROR. |
12319 `---------------------------------------------------*/
12320 yyerrorlab:
12322 /* Pacify compilers like GCC when the user code never invokes
12323 YYERROR and the label yyerrorlab therefore never appears in user
12324 code. */
12325 if (/*CONSTCOND*/ 0)
12326 goto yyerrorlab;
12328 yyerror_range[1] = yylsp[1-yylen];
12329 /* Do not reclaim the symbols of the rule which action triggered
12330 this YYERROR. */
12331 YYPOPSTACK (yylen);
12332 yylen = 0;
12333 YY_STACK_PRINT (yyss, yyssp);
12334 yystate = *yyssp;
12335 goto yyerrlab1;
12338 /*-------------------------------------------------------------.
12339 | yyerrlab1 -- common code for both syntax error and YYERROR. |
12340 `-------------------------------------------------------------*/
12341 yyerrlab1:
12342 yyerrstatus = 3; /* Each real token shifted decrements this. */
12344 for (;;)
12346 yyn = yypact[yystate];
12347 if (!yypact_value_is_default (yyn))
12349 yyn += YYTERROR;
12350 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
12352 yyn = yytable[yyn];
12353 if (0 < yyn)
12354 break;
12358 /* Pop the current state because it cannot handle the error token. */
12359 if (yyssp == yyss)
12360 YYABORT;
12362 yyerror_range[1] = *yylsp;
12363 yydestruct ("Error: popping",
12364 yystos[yystate], yyvsp, yylsp, _p);
12365 YYPOPSTACK (1);
12366 yystate = *yyssp;
12367 YY_STACK_PRINT (yyss, yyssp);
12370 *++yyvsp = yylval;
12372 yyerror_range[2] = yylloc;
12373 /* Using YYLLOC is tempting, but would change the location of
12374 the lookahead. YYLOC is available though. */
12375 YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
12376 *++yylsp = yyloc;
12378 /* Shift the error token. */
12379 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
12381 yystate = yyn;
12382 goto yynewstate;
12385 /*-------------------------------------.
12386 | yyacceptlab -- YYACCEPT comes here. |
12387 `-------------------------------------*/
12388 yyacceptlab:
12389 yyresult = 0;
12390 goto yyreturn;
12392 /*-----------------------------------.
12393 | yyabortlab -- YYABORT comes here. |
12394 `-----------------------------------*/
12395 yyabortlab:
12396 yyresult = 1;
12397 goto yyreturn;
12399 #if !defined(yyoverflow) || YYERROR_VERBOSE
12400 /*-------------------------------------------------.
12401 | yyexhaustedlab -- memory exhaustion comes here. |
12402 `-------------------------------------------------*/
12403 yyexhaustedlab:
12404 yyerror (&yylloc, _p, YY_("memory exhausted"));
12405 yyresult = 2;
12406 /* Fall through. */
12407 #endif
12409 yyreturn:
12410 if (yychar != YYEMPTY)
12412 /* Make sure we have latest lookahead translation. See comments at
12413 user semantic actions for why this is necessary. */
12414 yytoken = YYTRANSLATE (yychar);
12415 yydestruct ("Cleanup: discarding lookahead",
12416 yytoken, &yylval, &yylloc, _p);
12418 /* Do not reclaim the symbols of the rule which action triggered
12419 this YYABORT or YYACCEPT. */
12420 YYPOPSTACK (yylen);
12421 YY_STACK_PRINT (yyss, yyssp);
12422 while (yyssp != yyss)
12424 yydestruct ("Cleanup: popping",
12425 yystos[*yyssp], yyvsp, yylsp, _p);
12426 YYPOPSTACK (1);
12428 #ifndef yyoverflow
12429 if (yyss != yyssa)
12430 YYSTACK_FREE (yyss);
12431 YYSTACK_CLEANUP;
12432 #endif
12433 #if YYERROR_VERBOSE
12434 if (yymsg != yymsgbuf)
12435 YYSTACK_FREE (yymsg);
12436 #endif
12437 /* Make sure YYID is used. */
12438 return YYID (yyresult);
12443 /* Line 2067 of yacc.c */
12444 #line 2712 "hphp.y"
12446 bool Parser::parseImpl() {
12447 return yyparse(this) == 0;