1 /* A Bison parser, made by GNU Bison 1.875. */
3 /* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
21 /* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
26 /* Written by Richard Stallman by simplifying the original so called
27 ``semantic'' parser. */
29 /* All symbols defined below should begin with yy or YY, to avoid
30 infringing on user name space. This should be done even for local
31 variables, as they might otherwise be expanded by user macros.
32 There are some unavoidable exceptions within include files to
33 define necessary library symbols; they are noted "INFRINGES ON
34 USER NAME SPACE" below. */
36 /* Identify Bison output. */
40 #define YYSKELETON_NAME "yacc.c"
45 /* Using locations. */
46 #define YYLSP_NEEDED 0
48 /* If NAME_PREFIX is specified substitute the variables and functions
50 #define yyparse swf5parse
52 #define yyerror swf5error
53 #define yylval swf5lval
54 #define yychar swf5char
55 #define yydebug swf5debug
56 #define yynerrs swf5nerrs
62 /* Put the tokens into the symbol table, so that GDB and other debuggers
143 SETTARGETEXPRESSION = 336,
144 DUPLICATEMOVIECLIP = 337,
145 REMOVEMOVIECLIP = 338,
146 STRINGLESSTHAN = 339,
158 LOADVARIABLESNUM = 351,
229 #define NEXTFRAME 289
230 #define PREVFRAME 290
233 #define TOGGLEQUALITY 293
234 #define STOPSOUNDS 294
239 #define SETREGISTER 299
240 #define CALLFUNCTION 300
241 #define CALLMETHOD 301
252 #define INSTANCEOF 312
253 #define ENUMERATE 313
254 #define INITOBJECT 314
255 #define INITARRAY 315
256 #define GETMEMBER 316
257 #define SETMEMBER 317
258 #define SHIFTLEFT 318
259 #define SHIFTRIGHT 319
260 #define SHIFTRIGHT2 320
261 #define VAREQUALS 321
266 #define OLDEQUALS 326
267 #define OLDLESSTHAN 327
268 #define LOGICALAND 328
269 #define LOGICALOR 329
272 #define STRINGLENGTH 332
273 #define SUBSTRING 333
274 #define GETVARIABLE 334
275 #define SETVARIABLE 335
276 #define SETTARGETEXPRESSION 336
277 #define DUPLICATEMOVIECLIP 337
278 #define REMOVEMOVIECLIP 338
279 #define STRINGLESSTHAN 339
281 #define MBSUBSTRING 341
284 #define BRANCHALWAYS 344
285 #define BRANCHIFTRUE 345
289 #define LOADVARIABLES 349
290 #define LOADMOVIE 350
291 #define LOADVARIABLESNUM 351
292 #define LOADMOVIENUM 352
293 #define CALLFRAME 353
294 #define STARTDRAG 354
296 #define GOTOFRAME 356
297 #define SETTARGET 357
304 #define IDENTIFIER 364
333 /* Copy the first part of user declarations. */
334 #line 5 "swf5compiler.y"
342 #include "assembler.h"
344 #define YYPARSE_PARAM buffer
350 /* Enabling traces. */
355 /* Enabling verbose error messages. */
356 #ifdef YYERROR_VERBOSE
357 # undef YYERROR_VERBOSE
358 # define YYERROR_VERBOSE 1
360 # define YYERROR_VERBOSE 0
363 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
364 #line 21 "swf5compiler.y"
365 typedef union YYSTYPE {
368 SWFGetUrl2Method getURLMethod;
379 struct switchcase switchcase;
380 struct switchcases switchcases;
383 Buffer obj, ident, memexpr;
386 /* Line 191 of yacc.c. */
387 #line 387 "swf5compiler.tab.c"
388 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
389 # define YYSTYPE_IS_DECLARED 1
390 # define YYSTYPE_IS_TRIVIAL 1
395 /* Copy the second part of user declarations. */
398 /* Line 214 of yacc.c. */
399 #line 399 "swf5compiler.tab.c"
401 #if ! defined (yyoverflow) || YYERROR_VERBOSE
403 /* The parser invokes alloca or malloc; define the necessary symbols. */
405 # if YYSTACK_USE_ALLOCA
406 # define YYSTACK_ALLOC alloca
408 # ifndef YYSTACK_USE_ALLOCA
409 # if defined (alloca) || defined (_ALLOCA_H)
410 # define YYSTACK_ALLOC alloca
413 # define YYSTACK_ALLOC __builtin_alloca
419 # ifdef YYSTACK_ALLOC
420 /* Pacify GCC's `empty if-body' warning. */
421 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
423 # if defined (__STDC__) || defined (__cplusplus)
424 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
425 # define YYSIZE_T size_t
427 # define YYSTACK_ALLOC malloc
428 # define YYSTACK_FREE free
430 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
433 #if (! defined (yyoverflow) \
434 && (! defined (__cplusplus) \
435 || (YYSTYPE_IS_TRIVIAL)))
437 /* A type that is properly aligned for any stack member. */
444 /* The size of the maximum gap between one aligned stack and the next. */
445 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
447 /* The size of an array large to enough to hold all stacks, each with
449 # define YYSTACK_BYTES(N) \
450 ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
451 + YYSTACK_GAP_MAXIMUM)
453 /* Copy COUNT objects from FROM to TO. The source and destination do
457 # define YYCOPY(To, From, Count) \
458 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
460 # define YYCOPY(To, From, Count) \
463 register YYSIZE_T yyi; \
464 for (yyi = 0; yyi < (Count); yyi++) \
465 (To)[yyi] = (From)[yyi]; \
471 /* Relocate STACK from its old location to the new one. The
472 local variables YYSIZE and YYSTACKSIZE give the old and new number of
473 elements in the stack, and YYPTR gives the new location of the
474 stack. Advance YYPTR to a properly aligned location for the next
476 # define YYSTACK_RELOCATE(Stack) \
479 YYSIZE_T yynewbytes; \
480 YYCOPY (&yyptr->Stack, Stack, yysize); \
481 Stack = &yyptr->Stack; \
482 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
483 yyptr += yynewbytes / sizeof (*yyptr); \
489 #if defined (__STDC__) || defined (__cplusplus)
490 typedef signed char yysigned_char;
492 typedef short yysigned_char;
495 /* YYFINAL -- State number of the termination state. */
497 /* YYLAST -- Last index in YYTABLE. */
500 /* YYNTOKENS -- Number of terminals. */
501 #define YYNTOKENS 159
502 /* YYNNTS -- Number of nonterminals. */
504 /* YYNRULES -- Number of rules. */
506 /* YYNRULES -- Number of states. */
507 #define YYNSTATES 616
509 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
511 #define YYMAXUTOK 389
513 #define YYTRANSLATE(YYX) \
514 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
516 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
517 static const unsigned char yytranslate[] =
519 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
520 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
521 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
522 2, 2, 2, 147, 2, 2, 2, 146, 139, 2,
523 157, 158, 144, 142, 132, 143, 151, 145, 2, 2,
524 2, 2, 2, 2, 2, 2, 2, 2, 136, 156,
525 137, 133, 138, 135, 2, 2, 2, 2, 2, 2,
526 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
527 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
528 2, 152, 2, 153, 141, 2, 2, 2, 2, 2,
529 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
530 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
531 2, 2, 2, 154, 140, 155, 148, 2, 2, 2,
532 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
533 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
534 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
535 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
536 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
537 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
538 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
539 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
540 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
541 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
542 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
543 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
544 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
545 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
546 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
547 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
548 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
549 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
550 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
551 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
552 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
553 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
554 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
555 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
556 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
557 125, 126, 127, 128, 129, 130, 131, 134, 149, 150
561 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
563 static const unsigned short yyprhs[] =
565 0, 0, 3, 4, 7, 8, 10, 13, 15, 17,
566 19, 22, 25, 27, 31, 33, 36, 38, 40, 42,
567 44, 46, 48, 50, 58, 61, 65, 67, 71, 79,
568 85, 86, 88, 90, 98, 99, 102, 109, 114, 118,
569 120, 122, 124, 126, 128, 130, 132, 134, 136, 138,
570 140, 142, 144, 146, 148, 150, 152, 154, 156, 158,
571 160, 162, 164, 166, 168, 170, 172, 174, 176, 178,
572 180, 182, 184, 186, 188, 190, 192, 194, 196, 198,
573 200, 202, 204, 206, 208, 210, 212, 214, 216, 218,
574 220, 222, 224, 226, 228, 230, 232, 234, 236, 238,
575 240, 242, 244, 246, 248, 250, 252, 254, 256, 258,
576 260, 262, 264, 266, 268, 270, 272, 274, 275, 277,
577 281, 283, 290, 292, 296, 301, 303, 305, 307, 309,
578 310, 311, 317, 324, 335, 344, 354, 355, 357, 360,
579 363, 364, 367, 370, 373, 375, 377, 382, 385, 390,
580 396, 401, 409, 417, 425, 433, 441, 446, 453, 468,
581 472, 481, 486, 493, 497, 501, 505, 509, 513, 517,
582 522, 527, 532, 537, 542, 547, 552, 556, 561, 566,
583 571, 576, 581, 588, 597, 602, 603, 605, 609, 615,
584 622, 630, 634, 636, 640, 642, 644, 646, 648, 650,
585 652, 654, 656, 658, 660, 662, 664, 666, 668, 670,
586 672, 674, 678, 683, 685, 688, 691, 694, 698, 702,
587 706, 710, 714, 718, 722, 726, 730, 734, 738, 742,
588 746, 750, 754, 758, 762, 766, 770, 776, 780, 784,
589 786, 789, 795, 799, 801, 805, 807, 809, 811, 813,
590 816, 819, 823, 826, 828, 831, 833, 835, 837, 839,
591 841, 845, 849, 851, 852, 858, 861, 863, 865, 867,
592 870, 873, 877, 881, 883, 886, 887, 892, 894, 896,
593 898, 900, 902, 904, 906, 910, 911, 915, 917, 920,
594 922, 924, 926, 928, 930, 932, 934, 936, 938, 940,
595 942, 944, 946, 948, 950, 952, 954, 956, 958, 960,
596 962, 964, 966, 968, 970, 972, 974, 976, 978, 980,
597 982, 984, 986, 988, 990, 992, 994, 996, 998, 1000,
598 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020,
599 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1039
602 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
603 static const short yyrhs[] =
605 160, 0, -1, -1, 161, 162, -1, -1, 163, -1,
606 162, 163, -1, 166, -1, 179, -1, 166, -1, 164,
607 166, -1, 154, 155, -1, 165, -1, 154, 164, 155,
608 -1, 156, -1, 207, 156, -1, 170, -1, 185, -1,
609 187, -1, 188, -1, 173, -1, 168, -1, 167, -1,
610 20, 157, 202, 158, 154, 164, 155, -1, 18, 156,
611 -1, 18, 203, 156, -1, 207, -1, 169, 132, 207,
612 -1, 12, 157, 202, 158, 166, 6, 166, -1, 12,
613 157, 202, 158, 166, -1, -1, 202, -1, 7, -1,
614 172, 157, 202, 158, 154, 174, 155, -1, -1, 174,
615 175, -1, 8, 202, 136, 164, 3, 156, -1, 8,
616 202, 136, 164, -1, 9, 136, 164, -1, 109, -1,
617 16, -1, 17, -1, 23, -1, 24, -1, 25, -1,
618 26, -1, 27, -1, 28, -1, 29, -1, 30, -1,
619 31, -1, 32, -1, 33, -1, 34, -1, 35, -1,
620 36, -1, 37, -1, 38, -1, 39, -1, 40, -1,
621 41, -1, 42, -1, 43, -1, 44, -1, 45, -1,
622 46, -1, 47, -1, 48, -1, 49, -1, 50, -1,
623 51, -1, 52, -1, 53, -1, 54, -1, 55, -1,
624 56, -1, 57, -1, 58, -1, 59, -1, 60, -1,
625 61, -1, 62, -1, 63, -1, 64, -1, 65, -1,
626 66, -1, 67, -1, 68, -1, 69, -1, 70, -1,
627 71, -1, 72, -1, 73, -1, 74, -1, 75, -1,
628 76, -1, 77, -1, 78, -1, 79, -1, 80, -1,
629 81, -1, 82, -1, 83, -1, 99, -1, 100, -1,
630 84, -1, 85, -1, 86, -1, 87, -1, 88, -1,
631 89, -1, 90, -1, 91, -1, 92, -1, 93, -1,
632 94, -1, 95, -1, -1, 176, -1, 177, 132, 176,
633 -1, 5, -1, 178, 176, 157, 177, 158, 166, -1,
634 176, -1, 202, 151, 176, -1, 202, 152, 202, 153,
635 -1, 192, -1, 195, -1, 13, -1, 14, -1, -1,
636 -1, 181, 157, 202, 158, 166, -1, 182, 166, 13,
637 157, 202, 158, -1, 10, 157, 186, 156, 171, 156,
638 186, 158, 183, 166, -1, 10, 157, 176, 11, 180,
639 158, 184, 166, -1, 10, 157, 15, 176, 11, 180,
640 158, 184, 166, -1, -1, 169, -1, 4, 156, -1,
641 3, 156, -1, -1, 132, 93, -1, 132, 92, -1,
642 132, 108, -1, 104, -1, 202, -1, 109, 157, 193,
643 158, -1, 17, 109, -1, 17, 200, 151, 109, -1,
644 17, 200, 152, 202, 153, -1, 28, 157, 203, 158,
645 -1, 32, 157, 202, 132, 202, 189, 158, -1, 94,
646 157, 202, 132, 202, 189, 158, -1, 96, 157, 202,
647 132, 190, 189, 158, -1, 95, 157, 202, 132, 202,
648 189, 158, -1, 97, 157, 202, 132, 190, 189, 158,
649 -1, 98, 157, 202, 158, -1, 99, 157, 202, 132,
650 202, 158, -1, 99, 157, 202, 132, 202, 132, 202,
651 132, 202, 132, 202, 132, 202, 158, -1, 100, 157,
652 158, -1, 82, 157, 202, 132, 202, 132, 202, 158,
653 -1, 83, 157, 202, 158, -1, 33, 157, 108, 132,
654 108, 158, -1, 34, 157, 158, -1, 35, 157, 158,
655 -1, 36, 157, 158, -1, 37, 157, 158, -1, 39,
656 157, 158, -1, 38, 157, 158, -1, 101, 157, 104,
657 158, -1, 101, 157, 108, 158, -1, 101, 157, 202,
658 158, -1, 102, 157, 108, 158, -1, 102, 157, 202,
659 158, -1, 109, 157, 193, 158, -1, 22, 157, 202,
660 158, -1, 24, 157, 158, -1, 23, 157, 202, 158,
661 -1, 25, 157, 203, 158, -1, 29, 157, 202, 158,
662 -1, 30, 157, 202, 158, -1, 31, 157, 202, 158,
663 -1, 26, 157, 202, 132, 202, 158, -1, 78, 157,
664 202, 132, 202, 132, 202, 158, -1, 56, 157, 203,
665 158, -1, -1, 203, -1, 193, 132, 203, -1, 178,
666 157, 177, 158, 166, -1, 200, 151, 176, 157, 193,
667 158, -1, 200, 152, 202, 153, 157, 193, 158, -1,
668 176, 136, 203, -1, 196, -1, 197, 132, 196, -1,
669 118, -1, 121, -1, 120, -1, 119, -1, 122, -1,
670 123, -1, 124, -1, 134, -1, 128, -1, 129, -1,
671 130, -1, 116, -1, 117, -1, 201, -1, 192, -1,
672 195, -1, 176, -1, 200, 151, 176, -1, 200, 152,
673 202, 153, -1, 204, -1, 143, 202, -1, 148, 202,
674 -1, 147, 202, -1, 202, 115, 202, -1, 202, 114,
675 202, -1, 202, 144, 202, -1, 202, 145, 202, -1,
676 202, 146, 202, -1, 202, 142, 202, -1, 202, 143,
677 202, -1, 202, 139, 202, -1, 202, 140, 202, -1,
678 202, 141, 202, -1, 202, 137, 202, -1, 202, 138,
679 202, -1, 202, 111, 202, -1, 202, 112, 202, -1,
680 202, 110, 202, -1, 202, 113, 202, -1, 202, 125,
681 202, -1, 202, 126, 202, -1, 202, 127, 202, -1,
682 202, 135, 202, 136, 202, -1, 201, 133, 203, -1,
683 202, 57, 200, -1, 202, -1, 16, 176, -1, 16,
684 176, 157, 193, 158, -1, 152, 193, 153, -1, 165,
685 -1, 154, 197, 155, -1, 192, -1, 194, -1, 195,
686 -1, 200, -1, 199, 201, -1, 201, 199, -1, 157,
687 202, 158, -1, 143, 104, -1, 104, -1, 143, 105,
688 -1, 105, -1, 106, -1, 103, -1, 108, -1, 206,
689 -1, 205, 132, 206, -1, 176, 133, 203, -1, 176,
690 -1, -1, 21, 154, 208, 209, 155, -1, 15, 205,
691 -1, 191, -1, 192, -1, 195, -1, 199, 201, -1,
692 201, 199, -1, 201, 133, 203, -1, 201, 198, 202,
693 -1, 214, -1, 209, 214, -1, -1, 20, 211, 209,
694 19, -1, 108, -1, 104, -1, 105, -1, 106, -1,
695 103, -1, 107, -1, 212, -1, 213, 132, 212, -1,
696 -1, 43, 215, 213, -1, 210, -1, 44, 107, -1,
697 45, -1, 18, -1, 46, -1, 47, -1, 48, -1,
698 49, -1, 50, -1, 51, -1, 52, -1, 53, -1,
699 54, -1, 55, -1, 56, -1, 57, -1, 58, -1,
700 17, -1, 16, -1, 60, -1, 59, -1, 61, -1,
701 62, -1, 63, -1, 64, -1, 65, -1, 15, -1,
702 66, -1, 67, -1, 68, -1, 69, -1, 70, -1,
703 71, -1, 72, -1, 73, -1, 74, -1, 75, -1,
704 76, -1, 77, -1, 78, -1, 29, -1, 40, -1,
705 41, -1, 42, -1, 79, -1, 80, -1, 81, -1,
706 26, -1, 82, -1, 83, -1, 28, -1, 84, -1,
707 23, -1, 85, -1, 30, -1, 31, -1, 24, -1,
708 86, -1, 87, -1, 88, -1, 89, 108, -1, 90,
712 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
713 static const unsigned short yyrline[] =
715 0, 152, 152, 152, 160, 164, 165, 169, 171, 176,
716 179, 185, 189, 190, 191, 192, 193, 194, 195, 196,
717 197, 198, 199, 203, 214, 224, 236, 237, 241, 252,
718 262, 263, 267, 272, 286, 289, 297, 302, 307, 317,
719 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
720 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
721 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
722 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
723 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
724 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
725 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
726 388, 389, 390, 391, 392, 393, 394, 399, 402, 407,
727 414, 419, 433, 438, 444, 449, 451, 455, 460, 466,
728 471, 475, 488, 501, 536, 569, 603, 604, 610, 621,
729 634, 636, 638, 640, 647, 654, 662, 670, 676, 683,
730 690, 694, 701, 708, 715, 722, 729, 735, 742, 753,
731 758, 766, 770, 780, 784, 788, 792, 796, 800, 804,
732 810, 817, 823, 830, 839, 846, 850, 854, 858, 862,
733 866, 870, 874, 879, 885, 894, 897, 902, 911, 924,
734 932, 941, 948, 952, 958, 959, 960, 961, 962, 963,
735 964, 965, 966, 967, 968, 972, 973, 991, 1009, 1010,
736 1015, 1022, 1028, 1037, 1039, 1044, 1049, 1053, 1062, 1072,
737 1077, 1082, 1087, 1092, 1097, 1102, 1107, 1112, 1117, 1122,
738 1128, 1133, 1137, 1142, 1146, 1150, 1154, 1164, 1191, 1199,
739 1201, 1207, 1213, 1218, 1223, 1231, 1233, 1235, 1237, 1239,
740 1284, 1329, 1332, 1336, 1340, 1344, 1348, 1352, 1356, 1363,
741 1365, 1371, 1377, 1385, 1384, 1389, 1392, 1394, 1398, 1402,
742 1441, 1480, 1501, 1546, 1547, 1552, 1551, 1559, 1562, 1565,
743 1568, 1571, 1573, 1580, 1581, 1585, 1585, 1591, 1593, 1600,
744 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620,
745 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1638, 1640,
746 1642, 1644, 1646, 1648, 1650, 1654, 1655, 1656, 1657, 1658,
747 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668,
748 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678,
749 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1688, 1692
753 #if YYDEBUG || YYERROR_VERBOSE
754 /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
755 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
756 static const char *const yytname[] =
758 "$end", "error", "$undefined", "BREAK", "CONTINUE", "FUNCTION", "ELSE",
759 "SWITCH", "CASE", "DEFAULT", "FOR", "IN", "IF", "WHILE", "DO", "VAR",
760 "NEW", "DELETE", "RETURN", "END", "WITH", "ASM", "EVAL", "RANDOM",
761 "GETTIMER", "LENGTH", "CONCAT", "SUBSTR", "TRACE", "INT", "ORD", "CHR",
762 "GETURL", "GETURL1", "NEXTFRAME", "PREVFRAME", "PLAY", "STOP",
763 "TOGGLEQUALITY", "STOPSOUNDS", "DUP", "SWAP", "POP", "PUSH",
764 "SETREGISTER", "CALLFUNCTION", "CALLMETHOD", "AND", "OR", "XOR",
765 "MODULO", "ADD", "LESSTHAN", "EQUALS", "INC", "DEC", "TYPEOF",
766 "INSTANCEOF", "ENUMERATE", "INITOBJECT", "INITARRAY", "GETMEMBER",
767 "SETMEMBER", "SHIFTLEFT", "SHIFTRIGHT", "SHIFTRIGHT2", "VAREQUALS",
768 "OLDADD", "SUBTRACT", "MULTIPLY", "DIVIDE", "OLDEQUALS", "OLDLESSTHAN",
769 "LOGICALAND", "LOGICALOR", "NOT", "STRINGEQ", "STRINGLENGTH",
770 "SUBSTRING", "GETVARIABLE", "SETVARIABLE", "SETTARGETEXPRESSION",
771 "DUPLICATEMOVIECLIP", "REMOVEMOVIECLIP", "STRINGLESSTHAN", "MBLENGTH",
772 "MBSUBSTRING", "MBORD", "MBCHR", "BRANCHALWAYS", "BRANCHIFTRUE",
773 "GETURL2", "POST", "GET", "LOADVARIABLES", "LOADMOVIE",
774 "LOADVARIABLESNUM", "LOADMOVIENUM", "CALLFRAME", "STARTDRAG",
775 "STOPDRAG", "GOTOFRAME", "SETTARGET", "NULLVAL", "INTEGER", "DOUBLE",
776 "BOOLEAN", "REGISTER", "STRING", "IDENTIFIER", "\"==\"", "\"<=\"",
777 "\">=\"", "\"!=\"", "\"&&\"", "\"||\"", "\"++\"", "\"--\"", "\"+=\"",
778 "\"/=\"", "\"*=\"", "\"-=\"", "\"%=\"", "\"&=\"", "\"|=\"", "\"<<\"",
779 "\">>\"", "\">>>\"", "\"<<=\"", "\">>=\"", "\">>>=\"", "NOELSE", "','",
780 "'='", "\"^=\"", "'?'", "':'", "'<'", "'>'", "'&'", "'|'", "'^'", "'+'",
781 "'-'", "'*'", "'/'", "'%'", "'!'", "'~'", "UMINUS", "POSTFIX", "'.'",
782 "'['", "']'", "'{'", "'}'", "';'", "'('", "')'", "$accept", "program",
783 "@1", "code", "anycode", "stmts", "emptybraces", "stmt", "with_stmt",
784 "return_stmt", "assign_stmts", "if_stmt", "expr_opt", "switch_init",
785 "switch_stmt", "switch_cases", "switch_case", "identifier",
786 "formals_list", "function_init", "function_decl", "obj_ref",
787 "while_init", "do_init", "for_init", "for_in_init", "iter_stmt",
788 "assign_stmts_opt", "cont_stmt", "break_stmt", "urlmethod", "level",
789 "void_function_call", "function_call", "expr_list",
790 "anon_function_decl", "method_call", "objexpr", "objexpr_list",
791 "assignop", "incdecop", "lvalue_expr", "lvalue", "expr", "expr_or_obj",
792 "primary", "init_vars", "init_var", "assign_stmt", "@2", "opcode_list",
793 "with", "@3", "push_item", "push_list", "opcode", "@4", 0
798 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
800 static const unsigned short yytoknum[] =
802 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
803 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
804 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
805 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
806 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
807 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
808 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
809 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
810 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
811 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
812 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
813 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
814 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
815 385, 386, 44, 61, 387, 63, 58, 60, 62, 38,
816 124, 94, 43, 45, 42, 47, 37, 33, 126, 388,
817 389, 46, 91, 93, 123, 125, 59, 40, 41
821 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
822 static const unsigned char yyr1[] =
824 0, 159, 161, 160, 160, 162, 162, 163, 163, 164,
825 164, 165, 166, 166, 166, 166, 166, 166, 166, 166,
826 166, 166, 166, 167, 168, 168, 169, 169, 170, 170,
827 171, 171, 172, 173, 174, 174, 175, 175, 175, 176,
828 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
829 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
830 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
831 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
832 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
833 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
834 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
835 176, 176, 176, 176, 176, 176, 176, 177, 177, 177,
836 178, 179, 180, 180, 180, 180, 180, 181, 182, 183,
837 184, 185, 185, 185, 185, 185, 186, 186, 187, 188,
838 189, 189, 189, 189, 190, 190, 191, 191, 191, 191,
839 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
840 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
841 191, 191, 191, 191, 192, 192, 192, 192, 192, 192,
842 192, 192, 192, 192, 192, 193, 193, 193, 194, 195,
843 195, 196, 197, 197, 198, 198, 198, 198, 198, 198,
844 198, 198, 198, 198, 198, 199, 199, 200, 200, 200,
845 201, 201, 201, 202, 202, 202, 202, 202, 202, 202,
846 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
847 202, 202, 202, 202, 202, 202, 202, 202, 202, 203,
848 203, 203, 203, 203, 203, 204, 204, 204, 204, 204,
849 204, 204, 204, 204, 204, 204, 204, 204, 204, 205,
850 205, 206, 206, 208, 207, 207, 207, 207, 207, 207,
851 207, 207, 207, 209, 209, 211, 210, 212, 212, 212,
852 212, 212, 212, 213, 213, 215, 214, 214, 214, 214,
853 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
854 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
855 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
856 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
857 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
858 214, 214, 214, 214, 214, 214, 214, 214, 214
861 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
862 static const unsigned char yyr2[] =
864 0, 2, 0, 2, 0, 1, 2, 1, 1, 1,
865 2, 2, 1, 3, 1, 2, 1, 1, 1, 1,
866 1, 1, 1, 7, 2, 3, 1, 3, 7, 5,
867 0, 1, 1, 7, 0, 2, 6, 4, 3, 1,
868 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
869 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
870 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
871 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
872 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
873 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
874 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
875 1, 1, 1, 1, 1, 1, 1, 0, 1, 3,
876 1, 6, 1, 3, 4, 1, 1, 1, 1, 0,
877 0, 5, 6, 10, 8, 9, 0, 1, 2, 2,
878 0, 2, 2, 2, 1, 1, 4, 2, 4, 5,
879 4, 7, 7, 7, 7, 7, 4, 6, 14, 3,
880 8, 4, 6, 3, 3, 3, 3, 3, 3, 4,
881 4, 4, 4, 4, 4, 4, 3, 4, 4, 4,
882 4, 4, 6, 8, 4, 0, 1, 3, 5, 6,
883 7, 3, 1, 3, 1, 1, 1, 1, 1, 1,
884 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
885 1, 3, 4, 1, 2, 2, 2, 3, 3, 3,
886 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
887 3, 3, 3, 3, 3, 3, 5, 3, 3, 1,
888 2, 5, 3, 1, 3, 1, 1, 1, 1, 2,
889 2, 3, 2, 1, 2, 1, 1, 1, 1, 1,
890 3, 3, 1, 0, 5, 2, 1, 1, 1, 2,
891 2, 3, 3, 1, 2, 0, 4, 1, 1, 1,
892 1, 1, 1, 1, 3, 0, 3, 1, 2, 1,
893 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
894 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
895 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
896 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
897 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
898 1, 1, 1, 1, 1, 1, 1, 2, 2
901 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
902 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
903 means the default is an error. */
904 static const unsigned short yydefact[] =
906 2, 0, 0, 1, 0, 0, 120, 32, 0, 0,
907 127, 128, 0, 40, 41, 0, 0, 0, 0, 42,
908 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
909 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
910 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
911 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
912 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
913 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
914 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
915 115, 116, 0, 0, 0, 103, 104, 0, 0, 39,
916 205, 206, 0, 14, 3, 5, 12, 7, 22, 21,
917 16, 0, 20, 210, 0, 8, 0, 0, 17, 18,
918 19, 266, 267, 268, 0, 0, 207, 0, 139, 138,
919 136, 0, 41, 42, 43, 44, 45, 47, 48, 49,
920 50, 51, 52, 53, 54, 55, 56, 57, 58, 75,
921 97, 101, 102, 115, 116, 103, 104, 39, 262, 265,
922 259, 147, 208, 209, 0, 207, 40, 257, 253, 255,
923 256, 258, 39, 0, 0, 0, 185, 0, 24, 0,
924 243, 0, 208, 246, 209, 0, 248, 207, 239, 0,
925 213, 0, 263, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 0, 185, 11, 0, 9, 6, 0, 0,
929 0, 0, 269, 0, 0, 194, 197, 196, 195, 198,
930 199, 200, 202, 203, 204, 0, 201, 0, 270, 15,
931 0, 137, 210, 0, 26, 0, 0, 0, 185, 0,
932 0, 240, 252, 254, 214, 216, 215, 0, 186, 0,
933 192, 0, 0, 117, 249, 0, 250, 0, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
935 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
936 0, 0, 0, 176, 0, 0, 0, 0, 0, 0,
937 0, 0, 163, 164, 165, 166, 168, 167, 0, 0,
938 0, 0, 0, 0, 0, 0, 0, 0, 159, 253,
939 258, 0, 258, 0, 0, 13, 10, 0, 117, 0,
940 0, 211, 0, 271, 272, 262, 0, 0, 30, 0,
941 261, 260, 0, 39, 0, 185, 0, 242, 0, 0,
942 244, 251, 118, 0, 237, 238, 231, 229, 230, 232,
943 218, 217, 233, 234, 235, 0, 227, 228, 224, 225,
944 226, 222, 223, 219, 220, 221, 0, 313, 305, 304,
945 290, 275, 339, 343, 334, 337, 327, 341, 342, 328,
946 329, 330, 285, 0, 289, 291, 292, 293, 294, 295,
947 296, 297, 298, 299, 300, 301, 302, 303, 307, 306,
948 308, 309, 310, 311, 312, 314, 315, 316, 317, 318,
949 319, 320, 321, 322, 323, 324, 325, 326, 331, 332,
950 333, 335, 336, 338, 340, 344, 345, 346, 0, 0,
951 0, 287, 273, 175, 177, 178, 0, 150, 179, 180,
952 181, 0, 0, 184, 0, 0, 161, 0, 0, 0,
953 0, 156, 0, 169, 170, 171, 172, 173, 146, 0,
954 0, 0, 0, 185, 212, 0, 27, 210, 0, 208,
955 209, 0, 0, 31, 29, 174, 149, 0, 187, 191,
956 193, 0, 0, 0, 0, 0, 0, 288, 347, 348,
957 264, 274, 0, 140, 0, 0, 0, 140, 140, 253,
958 140, 145, 140, 0, 34, 0, 131, 0, 0, 185,
959 0, 130, 0, 0, 136, 0, 241, 119, 188, 236,
960 0, 0, 281, 278, 279, 280, 282, 277, 283, 286,
961 182, 0, 0, 162, 0, 0, 0, 0, 0, 0,
962 0, 157, 0, 121, 132, 189, 0, 130, 0, 123,
963 0, 0, 28, 23, 276, 0, 142, 141, 143, 151,
964 0, 0, 152, 154, 153, 155, 0, 0, 0, 33,
965 35, 190, 0, 134, 124, 129, 284, 183, 160, 0,
966 0, 0, 135, 0, 0, 0, 38, 133, 0, 37,
970 /* YYDEFGOTO[NTERM-NUM]. */
971 static const short yydefgoto[] =
973 -1, 1, 2, 104, 105, 225, 106, 226, 108, 109,
974 251, 110, 492, 111, 112, 562, 590, 113, 363, 181,
975 115, 488, 116, 117, 603, 568, 118, 253, 119, 120,
976 552, 520, 121, 182, 267, 183, 184, 270, 271, 247,
977 185, 186, 187, 188, 268, 190, 159, 160, 127, 300,
978 450, 451, 505, 548, 549, 452, 506
981 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
983 #define YYPACT_NINF -496
984 static const short yypact[] =
986 17, 30, 908, -496, -136, -123, -496, -496, -126, -105,
987 -496, -496, 4178, -496, 4003, 1907, -101, -120, -88, -80,
988 -75, -72, -65, -496, -62, -50, -43, -40, -38, -31,
989 -30, -28, -27, -25, -24, -21, -496, -496, -496, -496,
990 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
991 -496, -496, -20, -496, -496, -496, -496, -496, -496, -496,
992 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
993 -496, -496, -496, -496, -18, -496, -496, -496, -17, -16,
994 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
995 -15, -11, -8, -5, 5, 6, 7, 8, 9, 22,
996 -496, -496, 1165, -496, 908, -496, -496, -496, -496, -496,
997 -496, 23, -496, -496, 4178, -496, 24, 1627, -496, -496,
998 -496, -496, -125, -97, 4091, -78, -58, -57, -496, -496,
999 3137, 2190, -496, -496, -496, -496, -496, -496, -496, -496,
1000 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1001 -496, -496, -496, -496, -496, -496, -496, -496, 49, -96,
1002 -496, -71, -496, -496, -64, -496, 4178, -496, -496, -496,
1003 -496, -496, 27, 2326, 2190, 2190, 2051, 3002, -496, 2190,
1004 -496, 37, -496, -496, -496, 4091, -78, -49, 4896, -47,
1005 -496, 2190, -496, 2190, 2190, -3, 2051, 2190, 2051, 2190,
1006 2190, 2190, 2190, 45, 40, 42, 47, 48, 51, 52,
1007 2051, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190,
1008 53, 2462, 2598, 2051, -496, 1319, -496, -496, 2190, 39,
1009 2190, 143, -54, 4178, 2190, -496, -496, -496, -496, -496,
1010 -496, -496, -496, -496, -496, 2051, -496, 2190, -496, -496,
1011 4178, 69, 174, 46, -496, 331, 2051, 4178, 2051, 4265,
1012 2190, 50, -496, -496, 146, 146, 146, -103, -496, 76,
1013 -496, -113, 576, 4178, -54, 2051, -496, 4091, 2190, 2190,
1014 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190,
1015 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, -496, 750,
1016 5163, 962, 999, -496, 55, 688, 56, 2850, 3280, 3317,
1017 4304, 86, -496, -496, -496, -496, -496, -496, 58, 4341,
1018 4378, 3354, 4415, 4452, 4489, 4526, 3391, 4563, -496, 61,
1019 62, 3428, 64, 3465, -119, -496, -496, 3502, 4178, 3539,
1020 68, 70, 3761, -496, 4896, -9, 3234, 2190, 2190, 1627,
1021 -496, -496, -118, -121, 3798, 2051, 2051, -496, 2051, 4178,
1022 -496, -496, -496, -117, -496, -78, 4955, 192, 192, 4955,
1023 4933, 4933, 26, 26, 26, 4600, 192, 192, 32, 32,
1024 32, -33, -33, 146, 146, 146, 75, -496, -496, -496,
1025 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1026 -496, -496, -496, 123, -496, -496, -496, -496, -496, -496,
1027 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1028 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1029 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1030 -496, -496, -496, -496, -496, -496, -496, -496, 124, 125,
1031 2869, -496, -496, -496, -496, -496, 2190, -496, -496, -496,
1032 -496, 2190, 127, -496, 2190, 2190, -496, 2190, 2190, 2734,
1033 2734, -496, 2190, -496, -496, -496, -496, -496, -48, 77,
1034 -114, 1627, 2190, 2051, 80, 2190, -496, 82, 83, 88,
1035 89, 3872, 94, 4896, 236, -496, -61, -111, -496, -496,
1036 -496, 4178, 1627, 2190, 1627, 5163, 84, -496, -496, -496,
1037 -496, -496, 3576, 4637, 96, 4674, 4711, 4637, 4637, -110,
1038 112, 4896, 112, 289, -496, 1627, -496, 3613, -109, 2051,
1039 97, -496, 4178, 2190, 3234, 1627, -496, -496, -496, 4896,
1040 1473, 5087, -496, -496, -496, -496, -496, -496, -496, 120,
1041 -496, -14, 98, -496, 2190, 2190, 99, 101, 102, 103,
1042 2190, -496, -4, -496, -496, -496, -107, -496, 1627, -496,
1043 3835, 104, -496, -496, -496, 84, -496, -496, -496, -496,
1044 3650, 3687, -496, -496, -496, -496, 4748, 2190, 128, -496,
1045 -496, -496, 1627, -496, -496, -496, -496, -496, -496, 2190,
1046 4785, 1627, -496, 1627, 4822, 1627, 1627, -496, 2190, 1772,
1047 4859, 109, 2190, -1, 3724, -496
1050 /* YYPGOTO[NTERM-NUM]. */
1051 static const short yypgoto[] =
1053 -496, -496, -496, -496, 162, -495, 28, 44, -496, -496,
1054 -496, -496, -496, -496, -496, -496, -496, 20, -66, 4,
1055 -496, -211, -496, -496, -496, -289, -496, -254, -496, -496,
1056 -397, -189, -496, -2, -220, -496, 14, -77, -496, -496,
1057 141, 43, 91, 562, 38, -496, -496, 31, -129, -496,
1058 -218, -496, -496, -290, -496, -440, -496
1061 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1062 positive, shift that token. If negative, reduce the rule which
1063 number is the opposite. If zero, do what YYDEFACT says.
1064 If YYTABLE_NINF, syntax error. */
1065 #define YYTABLE_NINF -213
1066 static const short yytable[] =
1068 122, 254, 485, 334, 587, 588, 114, -36, -36, 540,
1069 511, -148, 162, 356, 356, 501, 123, -4, 501, 359,
1070 128, 356, -144, 356, 277, 356, -208, -208, 163, 356,
1071 3, 130, 158, 129, 192, -148, 257, -148, 352, 478,
1072 495, 502, 360, 180, 525, 125, 107, 536, -144, 565,
1073 357, 591, 131, 189, -209, -209, 191, 164, 100, 101,
1074 235, 236, 237, 238, 239, 240, 241, 100, 101, 193,
1075 242, 243, 244, 233, 234, 245, 246, 194, 576, 577,
1076 -39, -39, 195, 277, 275, 196, 258, 259, 260, 277,
1077 -212, -212, 197, 126, 578, 198, 529, -207, -207, 249,
1078 122, 511, 122, -174, -174, 165, 606, 199, 114, 298,
1079 609, 295, 296, 297, 200, 122, 123, 201, 123, 202,
1080 556, 557, 162, 558, 256, 559, 203, 204, 122, 205,
1081 206, 123, 207, 208, 229, 497, 209, 210, 163, 211,
1082 212, 213, 214, 124, 123, 125, 215, 125, 107, 216,
1083 252, 589, 217, 311, -36, 303, 340, 284, 285, 286,
1084 125, 231, 218, 219, 220, 221, 222, 125, 293, 294,
1085 295, 296, 297, 125, 293, 294, 295, 296, 297, 223,
1086 228, 230, 256, 162, 258, 347, 261, 542, 543, 544,
1087 545, 546, 547, 126, 273, 126, 338, 269, 312, 163,
1088 313, 346, 348, 277, 180, 314, 315, 355, 126, 316,
1089 317, 328, 358, 455, 457, 232, 463, 486, 462, 473,
1090 474, 126, 476, 122, 180, 482, 180, 483, 125, 504,
1091 507, 524, 508, 509, 304, 514, 306, 529, 180, 123,
1092 -122, 531, 535, 124, 551, 124, -125, -126, 318, 277,
1093 534, 180, 575, 341, 553, 567, 579, 582, 124, 583,
1094 584, 585, 595, 528, 601, 613, 227, 248, 125, 336,
1095 345, 124, 480, 180, 530, 162, 274, 158, 592, 341,
1096 571, 522, 500, 343, 180, 596, 180, 541, 351, 0,
1097 0, 163, 0, 362, 350, 0, 0, 0, 0, 0,
1098 0, 0, 0, 180, 0, 0, 0, 0, 0, 566,
1099 0, 0, 0, 364, 0, 0, 126, 284, 285, 286,
1100 365, 0, 0, 0, 0, 0, 0, 0, 276, 0,
1101 0, 290, 291, 292, 293, 294, 295, 296, 297, 0,
1102 0, 0, 0, 0, 122, 489, 277, 122, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, 0, 362, 0,
1104 123, 490, 0, 123, 0, 0, 124, 487, 165, 0,
1105 0, 0, 0, 0, 0, 0, 0, 0, 0, 269,
1106 0, 0, 0, 180, 180, 0, 180, 0, 277, 125,
1107 0, 0, 125, 494, 498, 0, 499, 0, 0, 278,
1108 279, 280, 281, 282, 283, 254, 0, 0, 0, 0,
1109 0, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1110 0, 560, 0, 0, 287, 0, 288, 289, 290, 291,
1111 292, 293, 294, 295, 296, 297, 0, 126, 0, 0,
1112 126, 278, 279, 280, 281, 282, 283, 561, 0, 0,
1113 0, 0, 0, 0, 0, 0, 284, 285, 286, 0,
1114 0, 0, 0, 0, 0, 0, 287, 0, 288, 289,
1115 290, 291, 292, 293, 294, 295, 296, 297, 0, 122,
1116 0, 0, 0, 489, 0, 0, 0, 124, 0, 349,
1117 124, 0, 0, 0, 0, 123, 0, 0, 0, 490,
1118 122, 0, 122, 0, 0, 487, 0, 0, 0, 0,
1119 0, 180, 0, 0, 0, 0, 123, 0, 123, 0,
1120 0, 537, 0, 122, 125, 526, 0, 0, 0, 0,
1121 0, 0, 122, 122, 0, 0, 0, 0, 122, 123,
1122 0, 0, 0, 0, 0, 125, 538, 125, 123, 123,
1123 0, 0, 569, 0, 123, 0, 0, 180, 0, 0,
1124 0, 0, 0, 0, 0, 0, 122, 0, 125, 563,
1125 0, 0, 126, 0, 0, 0, 0, 125, 125, 572,
1126 0, 0, 123, 125, 336, 0, 0, 0, 0, 0,
1127 122, 0, 0, 126, 0, 126, 0, 0, 0, 122,
1128 0, 122, 0, 122, 122, 0, 123, 122, 0, 0,
1129 0, 125, 593, 0, 0, 123, 126, 123, 0, 123,
1130 123, 0, 124, 123, 0, 126, 126, 0, 0, 0,
1131 0, 126, 0, 277, 0, 125, 602, 0, 0, 0,
1132 0, 0, 0, 124, 125, 124, 125, 607, 125, 125,
1133 336, 0, 125, 336, 0, 0, 0, 0, 0, 126,
1134 0, 0, 0, 0, 0, 0, 124, 0, 0, 0,
1135 0, 0, 0, 0, 0, 124, 124, 0, 0, 0,
1136 0, 124, 0, 126, 0, 0, 278, 279, 280, 281,
1137 282, 283, 126, 255, 126, 0, 126, 126, 0, 0,
1138 126, 284, 285, 286, 0, 0, 0, 0, 0, 124,
1139 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1140 295, 296, 297, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 124, 361, 264, 265, 266, 0, 0,
1142 0, 272, 124, 0, 124, 277, 124, 124, 0, 0,
1143 124, 0, 0, 299, 0, 301, 302, 0, 0, 305,
1144 0, 307, 308, 309, 310, 0, 0, 0, 0, 0,
1145 0, 0, 0, 319, 320, 321, 322, 323, 324, 325,
1146 326, 327, 0, 331, 333, 0, 0, 0, 0, 0,
1147 337, 0, 339, 0, 0, 0, 342, 0, 278, 279,
1148 280, 281, 282, 283, 0, 0, 0, 277, 0, 344,
1149 0, 0, 0, 284, 285, 286, 0, 0, 0, 0,
1150 456, 0, 354, 287, 0, 288, 289, 290, 291, 292,
1151 293, 294, 295, 296, 297, 0, 0, 0, 0, 0,
1152 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1153 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1154 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1155 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1156 0, 0, 0, 0, 0, 287, 0, 288, 289, 290,
1157 291, 292, 293, 294, 295, 296, 297, 0, 0, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0, 386, 491,
1159 493, 4, 5, 6, 0, 7, 0, 0, 8, 0,
1160 9, 10, 11, 12, 13, 14, 15, 0, 16, 17,
1161 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1162 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1163 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1164 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1165 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1166 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1167 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1168 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1169 98, 0, 0, 0, 0, 0, 0, 99, 512, 277,
1170 0, 0, 0, 513, 100, 101, 515, 516, 0, 517,
1171 518, 521, 521, 0, 523, 0, 0, 0, 0, 0,
1172 0, 0, 0, 0, 527, 0, 0, 491, 0, 0,
1173 0, 0, 0, 0, 0, 0, 277, 0, 0, 0,
1174 0, 0, 102, 0, 103, 539, 0, 0, 0, 0,
1175 0, 0, 278, 279, 280, 281, 282, 283, 0, 0,
1176 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1177 0, 0, 0, 0, 0, 570, 0, 287, 0, 288,
1178 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1179 279, 280, 281, 282, 283, 0, 580, 581, 0, 0,
1180 453, 0, 586, 0, 284, 285, 286, 0, 0, 0,
1181 0, 0, 0, 0, 287, 0, 288, 289, 290, 291,
1182 292, 293, 294, 295, 296, 297, 0, 0, 0, 600,
1183 0, 0, 0, 0, 0, 0, 0, 454, 0, 0,
1184 0, 604, 0, 0, 0, 0, 0, 0, 4, 5,
1185 610, 0, 7, 0, 614, 8, 0, 9, 10, 11,
1186 12, 13, 14, 15, 0, 16, 17, 18, 19, 20,
1187 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1188 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1189 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1190 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1191 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1192 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1193 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1194 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
1195 0, 0, 0, 0, 99, 0, 0, 0, 0, 0,
1196 0, 100, 101, 0, 0, 0, 0, 0, 0, 0,
1197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1199 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
1200 224, 103, 4, 5, 0, 0, 7, 0, 0, 8,
1201 0, 9, 10, 11, 12, 13, 14, 15, 0, 16,
1202 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1203 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1204 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1205 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1206 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1207 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1208 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1209 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1210 97, 98, 0, 0, 0, 0, 0, 0, 99, 0,
1211 0, 0, 0, 0, 0, 100, 101, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 102, 335, 103, 4, 5, 0, 0,
1216 7, 0, 0, 8, 0, 9, 10, 11, 12, 13,
1217 14, 15, 0, 16, 17, 18, 19, 20, 21, 22,
1218 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1219 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1220 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1221 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1222 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1223 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1224 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1225 93, 94, 95, 96, 97, 98, 0, 0, 0, 0,
1226 0, 0, 99, 0, 0, 0, 0, 0, 0, 100,
1227 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1230 0, 0, 0, 0, 0, 0, 0, 102, 573, 103,
1231 4, 5, 0, 0, 7, 0, 0, 8, 0, 9,
1232 10, 11, 12, 13, 14, 15, 0, 16, 17, 18,
1233 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1234 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1235 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1236 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1237 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1238 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1239 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1240 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1241 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
1242 0, 0, 0, 100, 101, 0, 0, 0, 0, 0,
1243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 611, 5, 0, 0, 7,
1246 0, 102, 8, 103, 9, 10, 11, 12, 13, 14,
1247 15, 0, 16, 17, 18, 19, 20, 21, 22, 23,
1248 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1249 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1250 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1251 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1252 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1253 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1254 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1255 94, 95, 96, 97, 98, 0, 0, 0, 0, 0,
1256 0, 99, 0, 0, 0, 0, 0, 0, 100, 101,
1257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 166, 132, 0, 102, 0, 103, 18,
1261 19, 20, 21, 22, 23, 137, 25, 26, 27, 141,
1262 142, 143, 144, 145, 146, 147, 148, 36, 37, 38,
1263 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1264 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1265 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1266 69, 70, 71, 72, 73, 74, 75, 76, 77, 151,
1267 152, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1268 89, 153, 154, 0, 0, 0, 155, 156, 0, 0,
1269 167, 168, 169, 170, 0, 171, 172, 0, 0, 0,
1270 0, 0, 0, 100, 101, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1273 173, 0, 0, 0, 174, 175, 6, 0, 0, 176,
1274 0, 177, 0, 178, 179, 0, 0, 166, 132, 0,
1275 0, 0, 0, 18, 19, 20, 21, 22, 23, 137,
1276 25, 26, 27, 141, 142, 143, 144, 145, 146, 147,
1277 148, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1278 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1279 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1280 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1281 75, 76, 77, 151, 152, 80, 81, 82, 83, 84,
1282 85, 86, 87, 88, 89, 153, 154, 0, 0, 0,
1283 155, 156, 0, 0, 167, 168, 169, 170, 0, 171,
1284 172, 0, 0, 0, 0, 0, 0, 100, 101, 0,
1285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287 0, 0, 0, 0, 173, 6, 0, 0, 174, 175,
1288 0, 0, 0, 176, 0, 177, 13, 132, 179, 0,
1289 0, 0, 18, 19, 20, 21, 22, 23, 137, 25,
1290 26, 27, 141, 142, 143, 144, 145, 146, 147, 148,
1291 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1292 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1293 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1294 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1295 76, 77, 151, 152, 80, 81, 82, 83, 84, 85,
1296 86, 87, 88, 89, 153, 154, 0, 0, 0, 155,
1297 156, 0, 0, 167, 168, 169, 170, 0, 171, 172,
1298 0, 0, 0, 0, 0, 0, 100, 101, 0, 0,
1299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1301 0, 6, 0, 173, 0, 0, 0, 174, 175, 0,
1302 0, 0, 13, 132, 0, 0, 0, 179, 18, 19,
1303 20, 21, 22, 23, 137, 25, 26, 27, 141, 142,
1304 143, 144, 145, 146, 147, 148, 36, 37, 38, 39,
1305 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1306 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1307 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1308 70, 71, 72, 73, 74, 75, 76, 77, 151, 152,
1309 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1310 153, 154, 0, 0, 0, 155, 156, 0, 0, 167,
1311 262, 263, 170, 0, 171, 172, 0, 0, 0, 0,
1312 0, 0, 100, 101, 0, 0, 0, 0, 0, 0,
1313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1314 0, 0, 0, 0, 0, 0, 0, 6, 0, 173,
1315 0, 0, 0, 174, 175, 0, 0, 0, 13, 132,
1316 0, 0, 0, 179, 18, 19, 20, 21, 22, 23,
1317 137, 25, 26, 27, 141, 142, 143, 144, 145, 146,
1318 147, 148, 36, 37, 38, 39, 40, 41, 42, 43,
1319 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1320 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1321 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1322 74, 75, 76, 77, 151, 152, 80, 81, 82, 83,
1323 84, 85, 86, 87, 88, 89, 153, 154, 0, 0,
1324 0, 155, 156, 0, 0, 167, 329, 169, 170, 0,
1325 330, 172, 0, 0, 0, 0, 0, 0, 100, 101,
1326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1328 0, 0, 0, 6, 0, 173, 0, 0, 0, 174,
1329 175, 0, 0, 0, 13, 132, 0, 0, 0, 179,
1330 18, 19, 20, 21, 22, 23, 137, 25, 26, 27,
1331 141, 142, 143, 144, 145, 146, 147, 148, 36, 37,
1332 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1333 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1334 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1335 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1336 151, 152, 80, 81, 82, 83, 84, 85, 86, 87,
1337 88, 89, 153, 154, 0, 0, 0, 155, 156, 0,
1338 0, 167, 168, 169, 170, 0, 332, 172, 0, 0,
1339 0, 0, 0, 0, 100, 101, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
1342 0, 173, 0, 0, 0, 174, 175, 0, 0, 0,
1343 13, 132, 0, 0, 0, 179, 18, 19, 20, 21,
1344 22, 23, 137, 25, 26, 27, 141, 142, 143, 144,
1345 145, 146, 147, 148, 36, 37, 38, 39, 40, 41,
1346 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1347 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1348 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1349 72, 73, 74, 75, 76, 77, 151, 152, 80, 81,
1350 82, 83, 84, 85, 86, 87, 88, 89, 153, 154,
1351 0, 0, 0, 155, 156, 0, 0, 167, 519, 169,
1352 170, 0, 171, 172, 0, 0, 0, 0, 0, 0,
1353 100, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 0, 0, 0, 0, 0, 173, 0, 0,
1356 0, 174, 175, 0, 387, 388, 389, 390, 0, 391,
1357 0, 179, 392, 393, 0, 394, 0, 395, 396, 397,
1358 398, 0, 0, 0, 0, 0, 0, 277, 0, 399,
1359 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
1360 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
1361 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
1362 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1363 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1364 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1365 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1366 0, 0, 0, 0, 0, 287, 0, 288, 289, 290,
1367 291, 292, 293, 294, 295, 296, 297, 0, 0, 0,
1368 0, 0, 0, 0, 0, 0, 0, 0, 458, 0,
1369 0, 0, 0, 0, 0, 0, 0, 0, 13, 132,
1370 0, 0, 0, 0, 510, 133, 134, 135, 136, 23,
1371 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1372 147, 148, 36, 37, 38, 39, 40, 41, 42, 43,
1373 44, 45, 46, 47, 48, 49, 50, 51, 149, 53,
1374 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1375 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1376 150, 75, 76, 77, 151, 152, 80, 81, 82, 83,
1377 84, 85, 86, 87, 88, 89, 153, 154, 0, 0,
1378 0, 155, 156, 0, 0, 0, 0, 0, 0, 0,
1379 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383 0, 0, 250, 13, 14, 0, 0, 224, 17, 18,
1384 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1385 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1386 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1387 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1388 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1389 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1390 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1391 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1392 0, 0, 0, 0, 0, 0, 99, 0, 0, 12,
1393 13, 14, 0, 100, 101, 17, 18, 19, 20, 21,
1394 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1395 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1396 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1397 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1398 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1399 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1400 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1401 92, 93, 94, 95, 96, 97, 98, 277, 0, 0,
1402 0, 0, 0, 99, 0, 0, 0, 0, 0, 0,
1403 100, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 277, 0, 0, 0, 0, 0,
1406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1409 0, 277, 0, 0, 0, 287, 0, 288, 289, 290,
1410 291, 292, 293, 294, 295, 296, 297, 278, 279, 280,
1411 281, 282, 283, 0, 0, 0, 0, 0, 459, 0,
1412 0, 0, 284, 285, 286, 0, 0, 0, 277, 0,
1413 0, 0, 287, 0, 288, 289, 290, 291, 292, 293,
1414 294, 295, 296, 297, 278, 279, 280, 281, 282, 283,
1415 0, 0, 0, 0, 0, 460, 0, 0, 0, 284,
1416 285, 286, 0, 0, 0, 277, 0, 0, 0, 287,
1417 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1418 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1419 0, 0, 466, 0, 0, 0, 284, 285, 286, 0,
1420 0, 0, 277, 0, 0, 0, 287, 0, 288, 289,
1421 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1422 280, 281, 282, 283, 0, 0, 0, 0, 0, 471,
1423 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1424 0, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1425 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1426 283, 0, 0, 0, 0, 0, 475, 0, 0, 0,
1427 284, 285, 286, 0, 0, 0, 277, 0, 0, 0,
1428 287, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1429 296, 297, 278, 279, 280, 281, 282, 283, 0, 0,
1430 0, 0, 0, 477, 0, 0, 0, 284, 285, 286,
1431 0, 0, 0, 277, 0, 0, 0, 287, 0, 288,
1432 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1433 279, 280, 281, 282, 283, 0, 0, 0, 0, 0,
1434 479, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1435 277, 0, 0, 0, 287, 0, 288, 289, 290, 291,
1436 292, 293, 294, 295, 296, 297, 278, 279, 280, 281,
1437 282, 283, 0, 0, 0, 0, 0, 481, 0, 0,
1438 0, 284, 285, 286, 0, 0, 0, 277, 0, 0,
1439 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1440 295, 296, 297, 278, 279, 280, 281, 282, 283, 0,
1441 0, 0, 0, 0, 550, 0, 0, 0, 284, 285,
1442 286, 0, 0, 0, 277, 0, 0, 0, 287, 0,
1443 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1444 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1445 0, 564, 0, 0, 0, 284, 285, 286, 0, 0,
1446 0, 277, 0, 0, 0, 287, 0, 288, 289, 290,
1447 291, 292, 293, 294, 295, 296, 297, 278, 279, 280,
1448 281, 282, 283, 0, 0, 0, 0, 0, 597, 0,
1449 0, 0, 284, 285, 286, 0, 0, 0, 277, 0,
1450 0, 0, 287, 0, 288, 289, 290, 291, 292, 293,
1451 294, 295, 296, 297, 278, 279, 280, 281, 282, 283,
1452 0, 0, 0, 0, 0, 598, 0, 0, 0, 284,
1453 285, 286, 0, 0, 0, 277, 0, 0, 0, 287,
1454 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1455 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1456 0, 0, 615, 0, 0, 0, 284, 285, 286, 0,
1457 0, 0, 277, 0, 0, 0, 287, 0, 288, 289,
1458 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1459 280, 281, 282, 283, 484, 0, 0, 0, 0, 0,
1460 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1461 0, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1462 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1463 283, 496, 0, 0, 0, 0, 0, 0, 0, 0,
1464 284, 285, 286, 0, 0, 0, 0, 0, 0, 0,
1465 287, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1466 296, 297, 278, 279, 280, 281, 282, 283, 594, 0,
1467 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1468 0, 0, 0, 0, 0, 0, 0, 287, 0, 288,
1469 289, 290, 291, 292, 293, 294, 295, 296, 297, 13,
1470 132, 0, 0, 532, 533, 18, 19, 20, 21, 22,
1471 23, 137, 25, 26, 27, 141, 142, 143, 144, 145,
1472 146, 147, 148, 36, 37, 38, 39, 40, 41, 42,
1473 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1474 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1475 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1476 73, 74, 75, 76, 77, 151, 152, 80, 81, 82,
1477 83, 84, 85, 86, 87, 88, 89, 153, 154, 0,
1478 0, 0, 155, 156, 0, 0, 0, 13, 132, 0,
1479 0, 0, 161, 18, 19, 20, 21, 22, 23, 137,
1480 25, 26, 27, 141, 142, 143, 144, 145, 146, 147,
1481 148, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1482 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1483 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1484 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1485 75, 76, 77, 151, 152, 80, 81, 82, 83, 84,
1486 85, 86, 87, 88, 89, 153, 154, 0, 0, 0,
1487 155, 156, 0, 0, 13, 132, 0, 0, 0, 0,
1488 172, 133, 134, 135, 136, 23, 137, 138, 139, 140,
1489 141, 142, 143, 144, 145, 146, 147, 148, 36, 37,
1490 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1491 48, 49, 50, 51, 149, 53, 54, 55, 56, 57,
1492 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1493 68, 69, 70, 71, 72, 73, 150, 75, 76, 77,
1494 151, 152, 80, 81, 82, 83, 84, 85, 86, 87,
1495 88, 89, 153, 154, 0, 0, 0, 155, 156, 0,
1496 0, 13, 132, 0, 0, 0, 0, 157, 133, 134,
1497 135, 136, 23, 137, 138, 139, 140, 141, 142, 143,
1498 144, 145, 146, 147, 148, 36, 37, 38, 39, 40,
1499 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1500 51, 149, 53, 54, 55, 56, 57, 58, 59, 60,
1501 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1502 71, 72, 73, 150, 75, 76, 77, 151, 152, 80,
1503 81, 82, 83, 84, 85, 86, 87, 88, 89, 153,
1504 154, 277, 0, 0, 155, 156, 0, 0, 0, 0,
1505 0, 0, 0, 0, 353, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 0, 277, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 278, 279, 280, 281, 282, 283,
1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 284,
1511 285, 286, 0, 0, 0, 277, 461, 0, 0, 287,
1512 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1513 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1514 0, 0, 0, 0, 0, 0, 284, 285, 286, 0,
1515 0, 0, 277, 464, 0, 0, 287, 0, 288, 289,
1516 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1517 280, 281, 282, 283, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1519 465, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1520 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1521 283, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1522 284, 285, 286, 0, 0, 0, 277, 467, 0, 0,
1523 287, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1524 296, 297, 278, 279, 280, 281, 282, 283, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1526 0, 0, 0, 277, 468, 0, 0, 287, 0, 288,
1527 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1528 279, 280, 281, 282, 283, 0, 0, 0, 0, 0,
1529 0, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1530 277, 469, 0, 0, 287, 0, 288, 289, 290, 291,
1531 292, 293, 294, 295, 296, 297, 278, 279, 280, 281,
1532 282, 283, 0, 0, 0, 0, 0, 0, 0, 0,
1533 0, 284, 285, 286, 0, 0, 0, 277, 470, 0,
1534 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1535 295, 296, 297, 278, 279, 280, 281, 282, 283, 0,
1536 0, 0, 0, 0, 0, 0, 0, 0, 284, 285,
1537 286, 0, 0, 0, 277, 472, 0, 0, 287, 0,
1538 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1539 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1541 0, 277, 0, 0, 0, 287, 503, 288, 289, 290,
1542 291, 292, 293, 294, 295, 296, 297, 278, 279, 280,
1543 281, 282, 283, 0, 0, 0, 0, 0, 0, 0,
1544 0, 0, 284, 285, 286, 0, 0, 0, 277, 551,
1545 0, 0, 287, 0, 288, 289, 290, 291, 292, 293,
1546 294, 295, 296, 297, 278, 279, 280, 281, 282, 283,
1547 0, 0, 0, 0, 0, 0, 0, 0, 0, 284,
1548 285, 286, 0, 0, 0, 277, 554, 0, 0, 287,
1549 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1550 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 284, 285, 286, 0,
1552 0, 0, 277, 555, 0, 0, 287, 0, 288, 289,
1553 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1554 280, 281, 282, 283, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1556 599, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1557 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1558 283, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559 284, 285, 286, 0, 0, 0, 277, 0, 0, 0,
1560 287, 605, 288, 289, 290, 291, 292, 293, 294, 295,
1561 296, 297, 278, 279, 280, 281, 282, 283, 0, 0,
1562 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1563 0, 0, 0, 277, 608, 0, 0, 287, 0, 288,
1564 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1565 279, 280, 281, 282, 283, 0, 0, 0, 0, 0,
1566 0, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1567 277, 612, 0, 0, 287, 0, 288, 289, 290, 291,
1568 292, 293, 294, 295, 296, 297, 278, 279, 280, 281,
1569 282, 283, 277, 0, 0, 0, 0, 0, 0, 0,
1570 0, 284, 285, 286, 0, 0, 0, 0, 0, 0,
1571 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1572 295, 296, 297, 278, 279, 280, 281, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 284, 285,
1574 286, 0, 0, 0, 0, 0, 279, 280, 0, 0,
1575 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1576 284, 285, 286, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1578 296, 297, 387, 388, 389, 390, 574, 391, 0, 0,
1579 392, 393, 0, 394, 0, 395, 396, 397, 398, 0,
1580 0, 0, 0, 0, 0, 0, 0, 399, 400, 401,
1581 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
1582 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
1583 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
1584 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1585 442, 443, 444, 445, 446, 447, 448, 449, 387, 388,
1586 389, 390, 0, 391, 0, 0, 392, 393, 0, 394,
1587 0, 395, 396, 397, 398, 0, 0, 0, 0, 0,
1588 0, 0, 0, 399, 400, 401, 402, 403, 404, 405,
1589 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1590 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
1591 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
1592 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1596 static const short yycheck[] =
1598 2, 130, 11, 223, 8, 9, 2, 8, 9, 504,
1599 450, 132, 14, 132, 132, 132, 2, 0, 132, 132,
1600 156, 132, 132, 132, 57, 132, 151, 152, 14, 132,
1601 0, 157, 12, 156, 154, 156, 132, 158, 258, 158,
1602 158, 158, 155, 15, 158, 2, 2, 158, 158, 158,
1603 153, 158, 157, 15, 151, 152, 157, 14, 116, 117,
1604 118, 119, 120, 121, 122, 123, 124, 116, 117, 157,
1605 128, 129, 130, 151, 152, 133, 134, 157, 92, 93,
1606 151, 152, 157, 57, 133, 157, 157, 151, 152, 57,
1607 151, 152, 157, 2, 108, 157, 157, 151, 152, 156,
1608 102, 541, 104, 151, 152, 14, 601, 157, 104, 156,
1609 605, 144, 145, 146, 157, 117, 102, 157, 104, 157,
1610 517, 518, 124, 520, 133, 522, 157, 157, 130, 157,
1611 157, 117, 157, 157, 114, 355, 157, 157, 124, 157,
1612 157, 157, 157, 2, 130, 102, 157, 104, 104, 157,
1613 130, 155, 157, 108, 155, 158, 13, 125, 126, 127,
1614 117, 117, 157, 157, 157, 157, 157, 124, 142, 143,
1615 144, 145, 146, 130, 142, 143, 144, 145, 146, 157,
1616 157, 157, 133, 185, 157, 11, 166, 103, 104, 105,
1617 106, 107, 108, 102, 157, 104, 157, 177, 158, 185,
1618 158, 132, 156, 57, 176, 158, 158, 157, 117, 158,
1619 158, 158, 136, 158, 158, 124, 158, 346, 132, 158,
1620 158, 130, 158, 225, 196, 157, 198, 157, 185, 154,
1621 107, 154, 108, 108, 196, 108, 198, 157, 210, 225,
1622 158, 158, 6, 102, 132, 104, 158, 158, 210, 57,
1623 156, 223, 132, 233, 158, 158, 158, 158, 117, 158,
1624 158, 158, 158, 483, 136, 156, 104, 126, 225, 225,
1625 250, 130, 338, 245, 485, 277, 185, 257, 567, 259,
1626 534, 470, 359, 245, 256, 575, 258, 505, 257, -1,
1627 -1, 277, -1, 273, 256, -1, -1, -1, -1, -1,
1628 -1, -1, -1, 275, -1, -1, -1, -1, -1, 529,
1629 -1, -1, -1, 275, -1, -1, 225, 125, 126, 127,
1630 277, -1, -1, -1, -1, -1, -1, -1, 187, -1,
1631 -1, 139, 140, 141, 142, 143, 144, 145, 146, -1,
1632 -1, -1, -1, -1, 346, 347, 57, 349, -1, -1,
1633 -1, -1, -1, -1, -1, -1, -1, -1, 338, -1,
1634 346, 347, -1, 349, -1, -1, 225, 347, 277, -1,
1635 -1, -1, -1, -1, -1, -1, -1, -1, -1, 359,
1636 -1, -1, -1, 355, 356, -1, 358, -1, 57, 346,
1637 -1, -1, 349, 349, 356, -1, 358, -1, -1, 110,
1638 111, 112, 113, 114, 115, 534, -1, -1, -1, -1,
1639 -1, -1, -1, -1, 125, 126, 127, -1, -1, -1,
1640 -1, 132, -1, -1, 135, -1, 137, 138, 139, 140,
1641 141, 142, 143, 144, 145, 146, -1, 346, -1, -1,
1642 349, 110, 111, 112, 113, 114, 115, 158, -1, -1,
1643 -1, -1, -1, -1, -1, -1, 125, 126, 127, -1,
1644 -1, -1, -1, -1, -1, -1, 135, -1, 137, 138,
1645 139, 140, 141, 142, 143, 144, 145, 146, -1, 481,
1646 -1, -1, -1, 485, -1, -1, -1, 346, -1, 158,
1647 349, -1, -1, -1, -1, 481, -1, -1, -1, 485,
1648 502, -1, 504, -1, -1, 485, -1, -1, -1, -1,
1649 -1, 483, -1, -1, -1, -1, 502, -1, 504, -1,
1650 -1, 501, -1, 525, 481, 481, -1, -1, -1, -1,
1651 -1, -1, 534, 535, -1, -1, -1, -1, 540, 525,
1652 -1, -1, -1, -1, -1, 502, 502, 504, 534, 535,
1653 -1, -1, 532, -1, 540, -1, -1, 529, -1, -1,
1654 -1, -1, -1, -1, -1, -1, 568, -1, 525, 525,
1655 -1, -1, 481, -1, -1, -1, -1, 534, 535, 535,
1656 -1, -1, 568, 540, 540, -1, -1, -1, -1, -1,
1657 592, -1, -1, 502, -1, 504, -1, -1, -1, 601,
1658 -1, 603, -1, 605, 606, -1, 592, 609, -1, -1,
1659 -1, 568, 568, -1, -1, 601, 525, 603, -1, 605,
1660 606, -1, 481, 609, -1, 534, 535, -1, -1, -1,
1661 -1, 540, -1, 57, -1, 592, 592, -1, -1, -1,
1662 -1, -1, -1, 502, 601, 504, 603, 603, 605, 606,
1663 606, -1, 609, 609, -1, -1, -1, -1, -1, 568,
1664 -1, -1, -1, -1, -1, -1, 525, -1, -1, -1,
1665 -1, -1, -1, -1, -1, 534, 535, -1, -1, -1,
1666 -1, 540, -1, 592, -1, -1, 110, 111, 112, 113,
1667 114, 115, 601, 131, 603, -1, 605, 606, -1, -1,
1668 609, 125, 126, 127, -1, -1, -1, -1, -1, 568,
1669 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
1670 144, 145, 146, -1, -1, -1, -1, -1, -1, -1,
1671 -1, -1, -1, 592, 158, 173, 174, 175, -1, -1,
1672 -1, 179, 601, -1, 603, 57, 605, 606, -1, -1,
1673 609, -1, -1, 191, -1, 193, 194, -1, -1, 197,
1674 -1, 199, 200, 201, 202, -1, -1, -1, -1, -1,
1675 -1, -1, -1, 211, 212, 213, 214, 215, 216, 217,
1676 218, 219, -1, 221, 222, -1, -1, -1, -1, -1,
1677 228, -1, 230, -1, -1, -1, 234, -1, 110, 111,
1678 112, 113, 114, 115, -1, -1, -1, 57, -1, 247,
1679 -1, -1, -1, 125, 126, 127, -1, -1, -1, -1,
1680 132, -1, 260, 135, -1, 137, 138, 139, 140, 141,
1681 142, 143, 144, 145, 146, -1, -1, -1, -1, -1,
1682 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1683 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1684 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1685 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
1686 -1, -1, -1, -1, -1, 135, -1, 137, 138, 139,
1687 140, 141, 142, 143, 144, 145, 146, -1, -1, -1,
1688 -1, -1, -1, -1, -1, -1, -1, -1, 158, 347,
1689 348, 3, 4, 5, -1, 7, -1, -1, 10, -1,
1690 12, 13, 14, 15, 16, 17, 18, -1, 20, 21,
1691 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1692 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1693 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1694 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1695 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1696 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1697 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1698 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1699 102, -1, -1, -1, -1, -1, -1, 109, 456, 57,
1700 -1, -1, -1, 461, 116, 117, 464, 465, -1, 467,
1701 468, 469, 470, -1, 472, -1, -1, -1, -1, -1,
1702 -1, -1, -1, -1, 482, -1, -1, 485, -1, -1,
1703 -1, -1, -1, -1, -1, -1, 57, -1, -1, -1,
1704 -1, -1, 154, -1, 156, 503, -1, -1, -1, -1,
1705 -1, -1, 110, 111, 112, 113, 114, 115, -1, -1,
1706 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
1707 -1, -1, -1, -1, -1, 533, -1, 135, -1, 137,
1708 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
1709 111, 112, 113, 114, 115, -1, 554, 555, -1, -1,
1710 158, -1, 560, -1, 125, 126, 127, -1, -1, -1,
1711 -1, -1, -1, -1, 135, -1, 137, 138, 139, 140,
1712 141, 142, 143, 144, 145, 146, -1, -1, -1, 587,
1713 -1, -1, -1, -1, -1, -1, -1, 158, -1, -1,
1714 -1, 599, -1, -1, -1, -1, -1, -1, 3, 4,
1715 608, -1, 7, -1, 612, 10, -1, 12, 13, 14,
1716 15, 16, 17, 18, -1, 20, 21, 22, 23, 24,
1717 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1718 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1719 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1720 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1721 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1722 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1723 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1724 95, 96, 97, 98, 99, 100, 101, 102, -1, -1,
1725 -1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
1726 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
1727 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1728 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1729 -1, -1, -1, -1, -1, -1, -1, -1, -1, 154,
1730 155, 156, 3, 4, -1, -1, 7, -1, -1, 10,
1731 -1, 12, 13, 14, 15, 16, 17, 18, -1, 20,
1732 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1733 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1734 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1735 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1736 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1737 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1738 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1739 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1740 101, 102, -1, -1, -1, -1, -1, -1, 109, -1,
1741 -1, -1, -1, -1, -1, 116, 117, -1, -1, -1,
1742 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1743 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1745 -1, -1, -1, 154, 155, 156, 3, 4, -1, -1,
1746 7, -1, -1, 10, -1, 12, 13, 14, 15, 16,
1747 17, 18, -1, 20, 21, 22, 23, 24, 25, 26,
1748 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1749 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1750 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1751 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1752 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1753 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1754 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1755 97, 98, 99, 100, 101, 102, -1, -1, -1, -1,
1756 -1, -1, 109, -1, -1, -1, -1, -1, -1, 116,
1757 117, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1759 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1760 -1, -1, -1, -1, -1, -1, -1, 154, 155, 156,
1761 3, 4, -1, -1, 7, -1, -1, 10, -1, 12,
1762 13, 14, 15, 16, 17, 18, -1, 20, 21, 22,
1763 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1764 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1765 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1766 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1767 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1768 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1769 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1770 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1771 -1, -1, -1, -1, -1, -1, 109, -1, -1, -1,
1772 -1, -1, -1, 116, 117, -1, -1, -1, -1, -1,
1773 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1774 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1775 -1, -1, -1, -1, -1, 3, 4, -1, -1, 7,
1776 -1, 154, 10, 156, 12, 13, 14, 15, 16, 17,
1777 18, -1, 20, 21, 22, 23, 24, 25, 26, 27,
1778 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1779 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1780 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1781 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1782 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1783 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1784 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1785 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
1786 -1, 109, -1, -1, -1, -1, -1, -1, 116, 117,
1787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1788 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1789 -1, -1, 5, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, -1, 16, 17, -1, 154, -1, 156, 22,
1791 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1792 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1793 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1794 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1795 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1796 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1797 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1798 93, 94, 95, -1, -1, -1, 99, 100, -1, -1,
1799 103, 104, 105, 106, -1, 108, 109, -1, -1, -1,
1800 -1, -1, -1, 116, 117, -1, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1802 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1803 143, -1, -1, -1, 147, 148, 5, -1, -1, 152,
1804 -1, 154, -1, 156, 157, -1, -1, 16, 17, -1,
1805 -1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
1806 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1807 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1808 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1809 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1810 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1811 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1812 89, 90, 91, 92, 93, 94, 95, -1, -1, -1,
1813 99, 100, -1, -1, 103, 104, 105, 106, -1, 108,
1814 109, -1, -1, -1, -1, -1, -1, 116, 117, -1,
1815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1816 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1817 -1, -1, -1, -1, 143, 5, -1, -1, 147, 148,
1818 -1, -1, -1, 152, -1, 154, 16, 17, 157, -1,
1819 -1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
1820 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1821 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1822 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1823 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1824 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1825 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1826 90, 91, 92, 93, 94, 95, -1, -1, -1, 99,
1827 100, -1, -1, 103, 104, 105, 106, -1, 108, 109,
1828 -1, -1, -1, -1, -1, -1, 116, 117, -1, -1,
1829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1830 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1831 -1, 5, -1, 143, -1, -1, -1, 147, 148, -1,
1832 -1, -1, 16, 17, -1, -1, -1, 157, 22, 23,
1833 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1834 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1835 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1836 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1837 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1838 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1839 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1840 94, 95, -1, -1, -1, 99, 100, -1, -1, 103,
1841 104, 105, 106, -1, 108, 109, -1, -1, -1, -1,
1842 -1, -1, 116, 117, -1, -1, -1, -1, -1, -1,
1843 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1844 -1, -1, -1, -1, -1, -1, -1, 5, -1, 143,
1845 -1, -1, -1, 147, 148, -1, -1, -1, 16, 17,
1846 -1, -1, -1, 157, 22, 23, 24, 25, 26, 27,
1847 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1848 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1849 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1850 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1851 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1852 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1853 88, 89, 90, 91, 92, 93, 94, 95, -1, -1,
1854 -1, 99, 100, -1, -1, 103, 104, 105, 106, -1,
1855 108, 109, -1, -1, -1, -1, -1, -1, 116, 117,
1856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1858 -1, -1, -1, 5, -1, 143, -1, -1, -1, 147,
1859 148, -1, -1, -1, 16, 17, -1, -1, -1, 157,
1860 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1861 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1862 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1863 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1864 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1865 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1866 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1867 92, 93, 94, 95, -1, -1, -1, 99, 100, -1,
1868 -1, 103, 104, 105, 106, -1, 108, 109, -1, -1,
1869 -1, -1, -1, -1, 116, 117, -1, -1, -1, -1,
1870 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1871 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
1872 -1, 143, -1, -1, -1, 147, 148, -1, -1, -1,
1873 16, 17, -1, -1, -1, 157, 22, 23, 24, 25,
1874 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1875 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1876 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1877 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1878 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1879 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1880 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1881 -1, -1, -1, 99, 100, -1, -1, 103, 104, 105,
1882 106, -1, 108, 109, -1, -1, -1, -1, -1, -1,
1883 116, 117, -1, -1, -1, -1, -1, -1, -1, -1,
1884 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1885 -1, -1, -1, -1, -1, -1, -1, 143, -1, -1,
1886 -1, 147, 148, -1, 15, 16, 17, 18, -1, 20,
1887 -1, 157, 23, 24, -1, 26, -1, 28, 29, 30,
1888 31, -1, -1, -1, -1, -1, -1, 57, -1, 40,
1889 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1890 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1891 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1892 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1893 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1894 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1895 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
1896 -1, -1, -1, -1, -1, 135, -1, 137, 138, 139,
1897 140, 141, 142, 143, 144, 145, 146, -1, -1, -1,
1898 -1, -1, -1, -1, -1, -1, -1, -1, 158, -1,
1899 -1, -1, -1, -1, -1, -1, -1, -1, 16, 17,
1900 -1, -1, -1, -1, 155, 23, 24, 25, 26, 27,
1901 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1902 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1903 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1904 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1905 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1906 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1907 88, 89, 90, 91, 92, 93, 94, 95, -1, -1,
1908 -1, 99, 100, -1, -1, -1, -1, -1, -1, -1,
1909 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
1910 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1911 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1913 -1, -1, 15, 16, 17, -1, -1, 155, 21, 22,
1914 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1915 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1916 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1917 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1918 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1919 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1920 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1921 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1922 -1, -1, -1, -1, -1, -1, 109, -1, -1, 15,
1923 16, 17, -1, 116, 117, 21, 22, 23, 24, 25,
1924 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1925 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1926 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1927 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1928 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1929 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1930 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1931 96, 97, 98, 99, 100, 101, 102, 57, -1, -1,
1932 -1, -1, -1, 109, -1, -1, -1, -1, -1, -1,
1933 116, 117, -1, -1, -1, -1, -1, -1, -1, -1,
1934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, 57, -1, -1, -1, -1, -1,
1936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1937 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1938 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
1939 -1, 57, -1, -1, -1, 135, -1, 137, 138, 139,
1940 140, 141, 142, 143, 144, 145, 146, 110, 111, 112,
1941 113, 114, 115, -1, -1, -1, -1, -1, 158, -1,
1942 -1, -1, 125, 126, 127, -1, -1, -1, 57, -1,
1943 -1, -1, 135, -1, 137, 138, 139, 140, 141, 142,
1944 143, 144, 145, 146, 110, 111, 112, 113, 114, 115,
1945 -1, -1, -1, -1, -1, 158, -1, -1, -1, 125,
1946 126, 127, -1, -1, -1, 57, -1, -1, -1, 135,
1947 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1948 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
1949 -1, -1, 158, -1, -1, -1, 125, 126, 127, -1,
1950 -1, -1, 57, -1, -1, -1, 135, -1, 137, 138,
1951 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
1952 112, 113, 114, 115, -1, -1, -1, -1, -1, 158,
1953 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
1954 -1, -1, -1, 135, -1, 137, 138, 139, 140, 141,
1955 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
1956 115, -1, -1, -1, -1, -1, 158, -1, -1, -1,
1957 125, 126, 127, -1, -1, -1, 57, -1, -1, -1,
1958 135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
1959 145, 146, 110, 111, 112, 113, 114, 115, -1, -1,
1960 -1, -1, -1, 158, -1, -1, -1, 125, 126, 127,
1961 -1, -1, -1, 57, -1, -1, -1, 135, -1, 137,
1962 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
1963 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
1964 158, -1, -1, -1, 125, 126, 127, -1, -1, -1,
1965 57, -1, -1, -1, 135, -1, 137, 138, 139, 140,
1966 141, 142, 143, 144, 145, 146, 110, 111, 112, 113,
1967 114, 115, -1, -1, -1, -1, -1, 158, -1, -1,
1968 -1, 125, 126, 127, -1, -1, -1, 57, -1, -1,
1969 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
1970 144, 145, 146, 110, 111, 112, 113, 114, 115, -1,
1971 -1, -1, -1, -1, 158, -1, -1, -1, 125, 126,
1972 127, -1, -1, -1, 57, -1, -1, -1, 135, -1,
1973 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1974 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1975 -1, 158, -1, -1, -1, 125, 126, 127, -1, -1,
1976 -1, 57, -1, -1, -1, 135, -1, 137, 138, 139,
1977 140, 141, 142, 143, 144, 145, 146, 110, 111, 112,
1978 113, 114, 115, -1, -1, -1, -1, -1, 158, -1,
1979 -1, -1, 125, 126, 127, -1, -1, -1, 57, -1,
1980 -1, -1, 135, -1, 137, 138, 139, 140, 141, 142,
1981 143, 144, 145, 146, 110, 111, 112, 113, 114, 115,
1982 -1, -1, -1, -1, -1, 158, -1, -1, -1, 125,
1983 126, 127, -1, -1, -1, 57, -1, -1, -1, 135,
1984 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1985 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
1986 -1, -1, 158, -1, -1, -1, 125, 126, 127, -1,
1987 -1, -1, 57, -1, -1, -1, 135, -1, 137, 138,
1988 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
1989 112, 113, 114, 115, 153, -1, -1, -1, -1, -1,
1990 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
1991 -1, -1, -1, 135, -1, 137, 138, 139, 140, 141,
1992 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
1993 115, 153, -1, -1, -1, -1, -1, -1, -1, -1,
1994 125, 126, 127, -1, -1, -1, -1, -1, -1, -1,
1995 135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
1996 145, 146, 110, 111, 112, 113, 114, 115, 153, -1,
1997 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
1998 -1, -1, -1, -1, -1, -1, -1, 135, -1, 137,
1999 138, 139, 140, 141, 142, 143, 144, 145, 146, 16,
2000 17, -1, -1, 151, 152, 22, 23, 24, 25, 26,
2001 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2002 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2003 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2004 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2005 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2006 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2007 87, 88, 89, 90, 91, 92, 93, 94, 95, -1,
2008 -1, -1, 99, 100, -1, -1, -1, 16, 17, -1,
2009 -1, -1, 109, 22, 23, 24, 25, 26, 27, 28,
2010 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2011 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2012 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2013 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2014 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2015 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2016 89, 90, 91, 92, 93, 94, 95, -1, -1, -1,
2017 99, 100, -1, -1, 16, 17, -1, -1, -1, -1,
2018 109, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2019 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2020 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2021 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2022 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2023 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2024 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2025 92, 93, 94, 95, -1, -1, -1, 99, 100, -1,
2026 -1, 16, 17, -1, -1, -1, -1, 109, 23, 24,
2027 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2028 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2029 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2030 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2031 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2032 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2033 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2034 95, 57, -1, -1, 99, 100, -1, -1, -1, -1,
2035 -1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
2036 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2037 -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
2038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2039 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115,
2040 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
2041 126, 127, -1, -1, -1, 57, 132, -1, -1, 135,
2042 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2043 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2044 -1, -1, -1, -1, -1, -1, 125, 126, 127, -1,
2045 -1, -1, 57, 132, -1, -1, 135, -1, 137, 138,
2046 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
2047 112, 113, 114, 115, -1, -1, -1, -1, -1, -1,
2048 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
2049 132, -1, -1, 135, -1, 137, 138, 139, 140, 141,
2050 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
2051 115, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2052 125, 126, 127, -1, -1, -1, 57, 132, -1, -1,
2053 135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
2054 145, 146, 110, 111, 112, 113, 114, 115, -1, -1,
2055 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
2056 -1, -1, -1, 57, 132, -1, -1, 135, -1, 137,
2057 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
2058 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2059 -1, -1, -1, -1, 125, 126, 127, -1, -1, -1,
2060 57, 132, -1, -1, 135, -1, 137, 138, 139, 140,
2061 141, 142, 143, 144, 145, 146, 110, 111, 112, 113,
2062 114, 115, -1, -1, -1, -1, -1, -1, -1, -1,
2063 -1, 125, 126, 127, -1, -1, -1, 57, 132, -1,
2064 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
2065 144, 145, 146, 110, 111, 112, 113, 114, 115, -1,
2066 -1, -1, -1, -1, -1, -1, -1, -1, 125, 126,
2067 127, -1, -1, -1, 57, 132, -1, -1, 135, -1,
2068 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2069 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2070 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
2071 -1, 57, -1, -1, -1, 135, 136, 137, 138, 139,
2072 140, 141, 142, 143, 144, 145, 146, 110, 111, 112,
2073 113, 114, 115, -1, -1, -1, -1, -1, -1, -1,
2074 -1, -1, 125, 126, 127, -1, -1, -1, 57, 132,
2075 -1, -1, 135, -1, 137, 138, 139, 140, 141, 142,
2076 143, 144, 145, 146, 110, 111, 112, 113, 114, 115,
2077 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
2078 126, 127, -1, -1, -1, 57, 132, -1, -1, 135,
2079 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2080 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2081 -1, -1, -1, -1, -1, -1, 125, 126, 127, -1,
2082 -1, -1, 57, 132, -1, -1, 135, -1, 137, 138,
2083 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
2084 112, 113, 114, 115, -1, -1, -1, -1, -1, -1,
2085 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
2086 132, -1, -1, 135, -1, 137, 138, 139, 140, 141,
2087 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
2088 115, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2089 125, 126, 127, -1, -1, -1, 57, -1, -1, -1,
2090 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2091 145, 146, 110, 111, 112, 113, 114, 115, -1, -1,
2092 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
2093 -1, -1, -1, 57, 132, -1, -1, 135, -1, 137,
2094 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
2095 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2096 -1, -1, -1, -1, 125, 126, 127, -1, -1, -1,
2097 57, 132, -1, -1, 135, -1, 137, 138, 139, 140,
2098 141, 142, 143, 144, 145, 146, 110, 111, 112, 113,
2099 114, 115, 57, -1, -1, -1, -1, -1, -1, -1,
2100 -1, 125, 126, 127, -1, -1, -1, -1, -1, -1,
2101 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
2102 144, 145, 146, 110, 111, 112, 113, -1, -1, -1,
2103 -1, -1, -1, -1, -1, -1, -1, -1, 125, 126,
2104 127, -1, -1, -1, -1, -1, 111, 112, -1, -1,
2105 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2106 125, 126, 127, -1, -1, -1, -1, -1, -1, -1,
2107 -1, -1, 137, 138, 139, 140, 141, 142, 143, 144,
2108 145, 146, 15, 16, 17, 18, 19, 20, -1, -1,
2109 23, 24, -1, 26, -1, 28, 29, 30, 31, -1,
2110 -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
2111 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2112 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2113 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2114 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2115 83, 84, 85, 86, 87, 88, 89, 90, 15, 16,
2116 17, 18, -1, 20, -1, -1, 23, 24, -1, 26,
2117 -1, 28, 29, 30, 31, -1, -1, -1, -1, -1,
2118 -1, -1, -1, 40, 41, 42, 43, 44, 45, 46,
2119 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2120 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2121 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2122 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2126 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2127 symbol of state STATE-NUM. */
2128 static const unsigned char yystos[] =
2130 0, 160, 161, 0, 3, 4, 5, 7, 10, 12,
2131 13, 14, 15, 16, 17, 18, 20, 21, 22, 23,
2132 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2133 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2134 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2135 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2136 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2137 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2138 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2139 94, 95, 96, 97, 98, 99, 100, 101, 102, 109,
2140 116, 117, 154, 156, 162, 163, 165, 166, 167, 168,
2141 170, 172, 173, 176, 178, 179, 181, 182, 185, 187,
2142 188, 191, 192, 195, 199, 200, 201, 207, 156, 156,
2143 157, 157, 17, 23, 24, 25, 26, 28, 29, 30,
2144 31, 32, 33, 34, 35, 36, 37, 38, 39, 56,
2145 78, 82, 83, 94, 95, 99, 100, 109, 176, 205,
2146 206, 109, 192, 195, 200, 201, 16, 103, 104, 105,
2147 106, 108, 109, 143, 147, 148, 152, 154, 156, 157,
2148 165, 178, 192, 194, 195, 199, 200, 201, 202, 203,
2149 204, 157, 154, 157, 157, 157, 157, 157, 157, 157,
2150 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
2151 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
2152 157, 157, 157, 157, 155, 164, 166, 163, 157, 176,
2153 157, 166, 201, 151, 152, 118, 119, 120, 121, 122,
2154 123, 124, 128, 129, 130, 133, 134, 198, 199, 156,
2155 15, 169, 176, 186, 207, 202, 133, 132, 157, 151,
2156 152, 176, 104, 105, 202, 202, 202, 193, 203, 176,
2157 196, 197, 202, 157, 201, 133, 199, 57, 110, 111,
2158 112, 113, 114, 115, 125, 126, 127, 135, 137, 138,
2159 139, 140, 141, 142, 143, 144, 145, 146, 156, 202,
2160 208, 202, 202, 158, 203, 202, 203, 202, 202, 202,
2161 202, 108, 158, 158, 158, 158, 158, 158, 203, 202,
2162 202, 202, 202, 202, 202, 202, 202, 202, 158, 104,
2163 108, 202, 108, 202, 193, 155, 166, 202, 157, 202,
2164 13, 176, 202, 203, 202, 176, 132, 11, 156, 158,
2165 203, 206, 193, 109, 202, 157, 132, 153, 136, 132,
2166 155, 158, 176, 177, 203, 200, 202, 202, 202, 202,
2167 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
2168 202, 202, 202, 202, 202, 202, 158, 15, 16, 17,
2169 18, 20, 23, 24, 26, 28, 29, 30, 31, 40,
2170 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2171 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2172 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2173 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2174 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2175 209, 210, 214, 158, 158, 158, 132, 158, 158, 158,
2176 158, 132, 132, 158, 132, 132, 158, 132, 132, 132,
2177 132, 158, 132, 158, 158, 158, 158, 158, 158, 158,
2178 177, 158, 157, 157, 153, 11, 207, 176, 180, 192,
2179 195, 202, 171, 202, 166, 158, 153, 193, 203, 203,
2180 196, 132, 158, 136, 154, 211, 215, 107, 108, 108,
2181 155, 214, 202, 202, 108, 202, 202, 202, 202, 104,
2182 190, 202, 190, 202, 154, 158, 166, 202, 193, 157,
2183 180, 158, 151, 152, 156, 6, 158, 176, 166, 202,
2184 164, 209, 103, 104, 105, 106, 107, 108, 212, 213,
2185 158, 132, 189, 158, 132, 132, 189, 189, 189, 189,
2186 132, 158, 174, 166, 158, 158, 193, 158, 184, 176,
2187 202, 186, 166, 155, 19, 132, 92, 93, 108, 158,
2188 202, 202, 158, 158, 158, 158, 202, 8, 9, 155,
2189 175, 158, 184, 166, 153, 158, 212, 158, 158, 132,
2190 202, 136, 166, 183, 202, 136, 164, 166, 132, 164,
2191 202, 3, 132, 156, 202, 158
2194 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
2195 # define YYSIZE_T __SIZE_TYPE__
2197 #if ! defined (YYSIZE_T) && defined (size_t)
2198 # define YYSIZE_T size_t
2200 #if ! defined (YYSIZE_T)
2201 # if defined (__STDC__) || defined (__cplusplus)
2202 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
2203 # define YYSIZE_T size_t
2206 #if ! defined (YYSIZE_T)
2207 # define YYSIZE_T unsigned int
2210 #define yyerrok (yyerrstatus = 0)
2211 #define yyclearin (yychar = YYEMPTY)
2212 #define YYEMPTY (-2)
2215 #define YYACCEPT goto yyacceptlab
2216 #define YYABORT goto yyabortlab
2217 #define YYERROR goto yyerrlab1
2220 /* Like YYERROR except do call yyerror. This remains here temporarily
2221 to ease the transition to the new meaning of YYERROR, for GCC.
2222 Once GCC version 2 has supplanted version 1, this can go. */
2224 #define YYFAIL goto yyerrlab
2226 #define YYRECOVERING() (!!yyerrstatus)
2228 #define YYBACKUP(Token, Value) \
2230 if (yychar == YYEMPTY && yylen == 1) \
2234 yytoken = YYTRANSLATE (yychar); \
2240 yyerror ("syntax error: cannot back up");\
2246 #define YYERRCODE 256
2248 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
2251 #ifndef YYLLOC_DEFAULT
2252 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2253 Current.first_line = Rhs[1].first_line; \
2254 Current.first_column = Rhs[1].first_column; \
2255 Current.last_line = Rhs[N].last_line; \
2256 Current.last_column = Rhs[N].last_column;
2259 /* YYLEX -- calling `yylex' with the right arguments. */
2262 # define YYLEX yylex (YYLEX_PARAM)
2264 # define YYLEX yylex ()
2267 /* Enable debugging if requested. */
2271 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2272 # define YYFPRINTF fprintf
2275 # define YYDPRINTF(Args) \
2281 # define YYDSYMPRINT(Args) \
2287 # define YYDSYMPRINTF(Title, Token, Value, Location) \
2291 YYFPRINTF (stderr, "%s ", Title); \
2292 yysymprint (stderr, \
2294 YYFPRINTF (stderr, "\n"); \
2298 /*------------------------------------------------------------------.
2299 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2301 `------------------------------------------------------------------*/
2303 #if defined (__STDC__) || defined (__cplusplus)
2305 yy_stack_print (short *bottom, short *top)
2308 yy_stack_print (bottom, top)
2313 YYFPRINTF (stderr, "Stack now");
2314 for (/* Nothing. */; bottom <= top; ++bottom)
2315 YYFPRINTF (stderr, " %d", *bottom);
2316 YYFPRINTF (stderr, "\n");
2319 # define YY_STACK_PRINT(Bottom, Top) \
2322 yy_stack_print ((Bottom), (Top)); \
2326 /*------------------------------------------------.
2327 | Report that the YYRULE is going to be reduced. |
2328 `------------------------------------------------*/
2330 #if defined (__STDC__) || defined (__cplusplus)
2332 yy_reduce_print (int yyrule)
2335 yy_reduce_print (yyrule)
2340 unsigned int yylineno = yyrline[yyrule];
2341 YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
2342 yyrule - 1, yylineno);
2343 /* Print the symbols being reduced, and their result. */
2344 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
2345 YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
2346 YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
2349 # define YY_REDUCE_PRINT(Rule) \
2352 yy_reduce_print (Rule); \
2355 /* Nonzero means print parse trace. It is left uninitialized so that
2356 multiple parsers can coexist. */
2358 #else /* !YYDEBUG */
2359 # define YYDPRINTF(Args)
2360 # define YYDSYMPRINT(Args)
2361 # define YYDSYMPRINTF(Title, Token, Value, Location)
2362 # define YY_STACK_PRINT(Bottom, Top)
2363 # define YY_REDUCE_PRINT(Rule)
2364 #endif /* !YYDEBUG */
2367 /* YYINITDEPTH -- initial size of the parser's stacks. */
2369 # define YYINITDEPTH 200
2372 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2373 if the built-in stack extension method is used).
2375 Do not make this value too large; the results are undefined if
2376 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
2377 evaluated with infinite-precision integer arithmetic. */
2384 # define YYMAXDEPTH 10000
2392 # if defined (__GLIBC__) && defined (_STRING_H)
2393 # define yystrlen strlen
2395 /* Return the length of YYSTR. */
2397 # if defined (__STDC__) || defined (__cplusplus)
2398 yystrlen (const char *yystr)
2404 register const char *yys = yystr;
2406 while (*yys++ != '\0')
2409 return yys - yystr - 1;
2415 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
2416 # define yystpcpy stpcpy
2418 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2421 # if defined (__STDC__) || defined (__cplusplus)
2422 yystpcpy (char *yydest, const char *yysrc)
2424 yystpcpy (yydest, yysrc)
2429 register char *yyd = yydest;
2430 register const char *yys = yysrc;
2432 while ((*yyd++ = *yys++) != '\0')
2440 #endif /* !YYERROR_VERBOSE */
2445 /*--------------------------------.
2446 | Print this symbol on YYOUTPUT. |
2447 `--------------------------------*/
2449 #if defined (__STDC__) || defined (__cplusplus)
2451 yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
2454 yysymprint (yyoutput, yytype, yyvaluep)
2460 /* Pacify ``unused variable'' warnings. */
2463 if (yytype < YYNTOKENS)
2465 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2467 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2471 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2478 YYFPRINTF (yyoutput, ")");
2481 #endif /* ! YYDEBUG */
2482 /*-----------------------------------------------.
2483 | Release the memory associated to this symbol. |
2484 `-----------------------------------------------*/
2486 #if defined (__STDC__) || defined (__cplusplus)
2488 yydestruct (int yytype, YYSTYPE *yyvaluep)
2491 yydestruct (yytype, yyvaluep)
2496 /* Pacify ``unused variable'' warnings. */
2508 /* Prevent warnings from -Wmissing-prototypes. */
2510 #ifdef YYPARSE_PARAM
2511 # if defined (__STDC__) || defined (__cplusplus)
2512 int yyparse (void *YYPARSE_PARAM);
2516 #else /* ! YYPARSE_PARAM */
2517 #if defined (__STDC__) || defined (__cplusplus)
2522 #endif /* ! YYPARSE_PARAM */
2526 /* The lookahead symbol. */
2529 /* The semantic value of the lookahead symbol. */
2532 /* Number of syntax errors so far. */
2541 #ifdef YYPARSE_PARAM
2542 # if defined (__STDC__) || defined (__cplusplus)
2543 int yyparse (void *YYPARSE_PARAM)
2545 int yyparse (YYPARSE_PARAM)
2546 void *YYPARSE_PARAM;
2548 #else /* ! YYPARSE_PARAM */
2549 #if defined (__STDC__) || defined (__cplusplus)
2560 register int yystate;
2563 /* Number of tokens to shift before error messages enabled. */
2565 /* Lookahead token as an internal (translated) token number. */
2568 /* Three stacks and their tools:
2569 `yyss': related to states,
2570 `yyvs': related to semantic values,
2571 `yyls': related to locations.
2573 Refer to the stacks thru separate pointers, to allow yyoverflow
2574 to reallocate them elsewhere. */
2576 /* The state stack. */
2577 short yyssa[YYINITDEPTH];
2578 short *yyss = yyssa;
2579 register short *yyssp;
2581 /* The semantic value stack. */
2582 YYSTYPE yyvsa[YYINITDEPTH];
2583 YYSTYPE *yyvs = yyvsa;
2584 register YYSTYPE *yyvsp;
2588 #define YYPOPSTACK (yyvsp--, yyssp--)
2590 YYSIZE_T yystacksize = YYINITDEPTH;
2592 /* The variables used to return semantic value and location from the
2597 /* When reducing, the number of symbols on the RHS of the reduced
2601 YYDPRINTF ((stderr, "Starting parse\n"));
2606 yychar = YYEMPTY; /* Cause a token to be read. */
2608 /* Initialize stack pointers.
2609 Waste one element of value and location stack
2610 so that they stay on the same level as the state stack.
2611 The wasted elements are never initialized. */
2618 /*------------------------------------------------------------.
2619 | yynewstate -- Push a new state, which is found in yystate. |
2620 `------------------------------------------------------------*/
2622 /* In all cases, when you get here, the value and location stacks
2623 have just been pushed. so pushing a state here evens the stacks.
2630 if (yyss + yystacksize - 1 <= yyssp)
2632 /* Get the current used size of the three stacks, in elements. */
2633 YYSIZE_T yysize = yyssp - yyss + 1;
2637 /* Give user a chance to reallocate the stack. Use copies of
2638 these so that the &'s don't force the real ones into
2640 YYSTYPE *yyvs1 = yyvs;
2641 short *yyss1 = yyss;
2644 /* Each stack pointer address is followed by the size of the
2645 data in use in that stack, in bytes. This used to be a
2646 conditional around just the two extra args, but that might
2647 be undefined if yyoverflow is a macro. */
2648 yyoverflow ("parser stack overflow",
2649 &yyss1, yysize * sizeof (*yyssp),
2650 &yyvs1, yysize * sizeof (*yyvsp),
2657 #else /* no yyoverflow */
2658 # ifndef YYSTACK_RELOCATE
2661 /* Extend the stack our own way. */
2662 if (YYMAXDEPTH <= yystacksize)
2665 if (YYMAXDEPTH < yystacksize)
2666 yystacksize = YYMAXDEPTH;
2669 short *yyss1 = yyss;
2670 union yyalloc *yyptr =
2671 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2674 YYSTACK_RELOCATE (yyss);
2675 YYSTACK_RELOCATE (yyvs);
2677 # undef YYSTACK_RELOCATE
2679 YYSTACK_FREE (yyss1);
2682 #endif /* no yyoverflow */
2684 yyssp = yyss + yysize - 1;
2685 yyvsp = yyvs + yysize - 1;
2688 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2689 (unsigned long int) yystacksize));
2691 if (yyss + yystacksize - 1 <= yyssp)
2695 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2704 /* Do appropriate processing given the current state. */
2705 /* Read a lookahead token if we need one and don't already have one. */
2708 /* First try to decide what to do without reference to lookahead token. */
2710 yyn = yypact[yystate];
2711 if (yyn == YYPACT_NINF)
2714 /* Not known => get a lookahead token if don't already have one. */
2716 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
2717 if (yychar == YYEMPTY)
2719 YYDPRINTF ((stderr, "Reading a token: "));
2723 if (yychar <= YYEOF)
2725 yychar = yytoken = YYEOF;
2726 YYDPRINTF ((stderr, "Now at end of input.\n"));
2730 yytoken = YYTRANSLATE (yychar);
2731 YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
2734 /* If the proper action on seeing token YYTOKEN is to reduce or to
2735 detect an error, take that action. */
2737 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2742 if (yyn == 0 || yyn == YYTABLE_NINF)
2751 /* Shift the lookahead token. */
2752 YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
2754 /* Discard the token being shifted unless it is eof. */
2755 if (yychar != YYEOF)
2761 /* Count tokens shifted since error; after three, turn off error
2770 /*-----------------------------------------------------------.
2771 | yydefault -- do the default action for the current state. |
2772 `-----------------------------------------------------------*/
2774 yyn = yydefact[yystate];
2780 /*-----------------------------.
2781 | yyreduce -- Do a reduction. |
2782 `-----------------------------*/
2784 /* yyn is the number of a rule to reduce with. */
2787 /* If YYLEN is nonzero, implement the default value of the action:
2790 Otherwise, the following line sets YYVAL to garbage.
2791 This behavior is undocumented and Bison
2792 users should not rely upon it. Assigning to YYVAL
2793 unconditionally makes the parser a bit smaller, and it avoids a
2794 GCC warning that YYVAL may be used uninitialized. */
2795 yyval = yyvsp[1-yylen];
2798 YY_REDUCE_PRINT (yyn);
2802 #line 152 "swf5compiler.y"
2809 #line 155 "swf5compiler.y"
2810 { Buffer b = newBuffer();
2811 bufferWriteConstants(b);
2812 bufferConcat(b, bf);
2813 bufferConcat(b, bc);
2814 *((Buffer *)buffer) = b; ;}
2818 #line 160 "swf5compiler.y"
2819 { Buffer b = newBuffer(); *((Buffer *)buffer) = b; ;}
2823 #line 170 "swf5compiler.y"
2824 { bufferConcat(bc, yyvsp[0].action); ;}
2828 #line 172 "swf5compiler.y"
2829 { bufferConcat(bf, yyvsp[0].action); ;}
2833 #line 177 "swf5compiler.y"
2834 { yyval.action = yyvsp[0].action; ;}
2838 #line 180 "swf5compiler.y"
2839 { yyval.action = yyvsp[-1].action;
2840 bufferConcat(yyval.action, yyvsp[0].action); ;}
2844 #line 185 "swf5compiler.y"
2849 #line 189 "swf5compiler.y"
2850 { yyval.action = NULL; ;}
2854 #line 190 "swf5compiler.y"
2855 { yyval.action = yyvsp[-1].action; ;}
2859 #line 191 "swf5compiler.y"
2860 { yyval.action = NULL; ;}
2864 #line 192 "swf5compiler.y"
2865 { yyval.action = yyvsp[-1].action; ;}
2869 #line 204 "swf5compiler.y"
2870 { yyval.action = yyvsp[-4].action;
2871 bufferWriteOp(yyval.action, SWFACTION_WITH);
2872 bufferWriteS16(yyval.action, 2);
2873 bufferWriteS16(yyval.action, bufferLength(yyvsp[-1].action));
2874 bufferConcat(yyval.action, yyvsp[-1].action); ;}
2878 #line 215 "swf5compiler.y"
2879 { int tmp = chkctx(CTX_FUNCTION);
2881 swf5error("return outside function");
2882 yyval.action = newBuffer();
2884 bufferWriteOp(yyval.action, SWFACTION_POP);
2885 bufferWriteNull(yyval.action);
2886 bufferWriteOp(yyval.action, SWFACTION_RETURN); ;}
2890 #line 225 "swf5compiler.y"
2891 { int tmp = chkctx(CTX_FUNCTION);
2893 swf5error("return outside function");
2894 yyval.action = newBuffer();
2896 bufferWriteOp(yyval.action, SWFACTION_POP);
2897 bufferConcat(yyval.action, yyvsp[-1].action);
2898 bufferWriteOp(yyval.action, SWFACTION_RETURN); ;}
2902 #line 237 "swf5compiler.y"
2903 { bufferConcat(yyvsp[-2].action, yyvsp[0].action); ;}
2907 #line 242 "swf5compiler.y"
2908 { yyval.action = yyvsp[-4].action;
2909 bufferWriteOp(yyval.action, SWFACTION_BRANCHIFTRUE);
2910 bufferWriteS16(yyval.action, 2);
2911 bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+5);
2912 bufferConcat(yyval.action, yyvsp[0].action);
2913 bufferWriteOp(yyval.action, SWFACTION_BRANCHALWAYS);
2914 bufferWriteS16(yyval.action, 2);
2915 bufferWriteS16(yyval.action, bufferLength(yyvsp[-2].action));
2916 bufferConcat(yyval.action, yyvsp[-2].action); ;}
2920 #line 253 "swf5compiler.y"
2921 { yyval.action = yyvsp[-2].action;
2922 bufferWriteOp(yyval.action, SWFACTION_LOGICALNOT);
2923 bufferWriteOp(yyval.action, SWFACTION_BRANCHIFTRUE);
2924 bufferWriteS16(yyval.action, 2);
2925 bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action));
2926 bufferConcat(yyval.action, yyvsp[0].action); ;}
2930 #line 262 "swf5compiler.y"
2931 { yyval.action = NULL; ;}
2935 #line 263 "swf5compiler.y"
2936 { yyval.action = yyvsp[0].action; ;}
2940 #line 268 "swf5compiler.y"
2941 { addctx(CTX_SWITCH); ;}
2945 #line 274 "swf5compiler.y"
2946 { yyval.action = yyvsp[-4].action;
2947 bufferResolveSwitch(yyval.action, &yyvsp[-1].switchcases);
2948 bufferResolveJumps(yyval.action);
2949 bufferWriteOp(yyval.action, SWFACTION_POP);
2951 /* FIXME: continue in switch continues surrounding loop, if any */
2956 #line 286 "swf5compiler.y"
2957 { yyval.switchcases.count = 0;
2958 yyval.switchcases.list = 0; ;}
2962 #line 290 "swf5compiler.y"
2963 { yyval.switchcases = yyvsp[-1].switchcases;
2964 yyval.switchcases.list = (struct switchcase*) realloc(yyval.switchcases.list, (yyval.switchcases.count+1) * sizeof(struct switchcase));
2965 yyval.switchcases.list[yyval.switchcases.count] = yyvsp[0].switchcase;
2966 yyval.switchcases.count++; ;}
2970 #line 298 "swf5compiler.y"
2971 { yyval.switchcase.cond = yyvsp[-4].action;
2972 yyval.switchcase.action = yyvsp[-2].action;
2973 yyval.switchcase.isbreak = 1; ;}
2977 #line 303 "swf5compiler.y"
2978 { yyval.switchcase.cond = yyvsp[-2].action;
2979 yyval.switchcase.action = yyvsp[0].action;
2980 yyval.switchcase.isbreak = 0; ;}
2984 #line 308 "swf5compiler.y"
2985 { yyval.switchcase.cond = NULL;
2986 yyval.switchcase.action = yyvsp[0].action;
2987 yyval.switchcase.isbreak = 0; ;}
2991 #line 318 "swf5compiler.y"
2992 { yyval.str = strdup("new"); ;}
2996 #line 319 "swf5compiler.y"
2997 { yyval.str = strdup("delete"); ;}
3001 #line 320 "swf5compiler.y"
3002 { yyval.str = strdup("random"); ;}
3006 #line 321 "swf5compiler.y"
3007 { yyval.str = strdup("getTimer"); ;}
3011 #line 322 "swf5compiler.y"
3012 { yyval.str = strdup("length"); ;}
3016 #line 323 "swf5compiler.y"
3017 { yyval.str = strdup("concat"); ;}
3021 #line 324 "swf5compiler.y"
3022 { yyval.str = strdup("substr"); ;}
3026 #line 325 "swf5compiler.y"
3027 { yyval.str = strdup("trace"); ;}
3031 #line 326 "swf5compiler.y"
3032 { yyval.str = strdup("int"); ;}
3036 #line 327 "swf5compiler.y"
3037 { yyval.str = strdup("ord"); ;}
3041 #line 328 "swf5compiler.y"
3042 { yyval.str = strdup("chr"); ;}
3046 #line 329 "swf5compiler.y"
3047 { yyval.str = strdup("getURL"); ;}
3051 #line 330 "swf5compiler.y"
3052 { yyval.str = strdup("getURL1"); ;}
3056 #line 331 "swf5compiler.y"
3057 { yyval.str = strdup("nextFrame"); ;}
3061 #line 332 "swf5compiler.y"
3062 { yyval.str = strdup("prevFrame"); ;}
3066 #line 333 "swf5compiler.y"
3067 { yyval.str = strdup("play"); ;}
3071 #line 334 "swf5compiler.y"
3072 { yyval.str = strdup("stop"); ;}
3076 #line 335 "swf5compiler.y"
3077 { yyval.str = strdup("toggleQuality"); ;}
3081 #line 336 "swf5compiler.y"
3082 { yyval.str = strdup("stopSounds"); ;}
3086 #line 337 "swf5compiler.y"
3087 { yyval.str = strdup("dup"); ;}
3091 #line 338 "swf5compiler.y"
3092 { yyval.str = strdup("swap"); ;}
3096 #line 339 "swf5compiler.y"
3097 { yyval.str = strdup("pop"); ;}
3101 #line 340 "swf5compiler.y"
3102 { yyval.str = strdup("push"); ;}
3106 #line 341 "swf5compiler.y"
3107 { yyval.str = strdup("setRegister"); ;}
3111 #line 342 "swf5compiler.y"
3112 { yyval.str = strdup("callFunction"); ;}
3116 #line 343 "swf5compiler.y"
3117 { yyval.str = strdup("callMethod"); ;}
3121 #line 344 "swf5compiler.y"
3122 { yyval.str = strdup("and"); ;}
3126 #line 345 "swf5compiler.y"
3127 { yyval.str = strdup("or"); ;}
3131 #line 346 "swf5compiler.y"
3132 { yyval.str = strdup("xor"); ;}
3136 #line 347 "swf5compiler.y"
3137 { yyval.str = strdup("modulo"); ;}
3141 #line 348 "swf5compiler.y"
3142 { yyval.str = strdup("add"); ;}
3146 #line 349 "swf5compiler.y"
3147 { yyval.str = strdup("lessThan"); ;}
3151 #line 350 "swf5compiler.y"
3152 { yyval.str = strdup("equals"); ;}
3156 #line 351 "swf5compiler.y"
3157 { yyval.str = strdup("inc"); ;}
3161 #line 352 "swf5compiler.y"
3162 { yyval.str = strdup("dec"); ;}
3166 #line 353 "swf5compiler.y"
3167 { yyval.str = strdup("typeof"); ;}
3171 #line 354 "swf5compiler.y"
3172 { yyval.str = strdup("instanceof"); ;}
3176 #line 355 "swf5compiler.y"
3177 { yyval.str = strdup("enumerate"); ;}
3181 #line 356 "swf5compiler.y"
3182 { yyval.str = strdup("initobject"); ;}
3186 #line 357 "swf5compiler.y"
3187 { yyval.str = strdup("initarray"); ;}
3191 #line 358 "swf5compiler.y"
3192 { yyval.str = strdup("getmember"); ;}
3196 #line 359 "swf5compiler.y"
3197 { yyval.str = strdup("setmember"); ;}
3201 #line 360 "swf5compiler.y"
3202 { yyval.str = strdup("shiftleft"); ;}
3206 #line 361 "swf5compiler.y"
3207 { yyval.str = strdup("shiftright"); ;}
3211 #line 362 "swf5compiler.y"
3212 { yyval.str = strdup("shiftright2"); ;}
3216 #line 363 "swf5compiler.y"
3217 { yyval.str = strdup("varequals"); ;}
3221 #line 364 "swf5compiler.y"
3222 { yyval.str = strdup("oldAdd"); ;}
3226 #line 365 "swf5compiler.y"
3227 { yyval.str = strdup("subtract"); ;}
3231 #line 366 "swf5compiler.y"
3232 { yyval.str = strdup("multiply"); ;}
3236 #line 367 "swf5compiler.y"
3237 { yyval.str = strdup("divide"); ;}
3241 #line 368 "swf5compiler.y"
3242 { yyval.str = strdup("oldequals"); ;}
3246 #line 369 "swf5compiler.y"
3247 { yyval.str = strdup("oldlessthan"); ;}
3251 #line 370 "swf5compiler.y"
3252 { yyval.str = strdup("logicaland"); ;}
3256 #line 371 "swf5compiler.y"
3257 { yyval.str = strdup("logicalor"); ;}
3261 #line 372 "swf5compiler.y"
3262 { yyval.str = strdup("not"); ;}
3266 #line 373 "swf5compiler.y"
3267 { yyval.str = strdup("stringeq"); ;}
3271 #line 374 "swf5compiler.y"
3272 { yyval.str = strdup("stringlength"); ;}
3276 #line 375 "swf5compiler.y"
3277 { yyval.str = strdup("substring"); ;}
3281 #line 376 "swf5compiler.y"
3282 { yyval.str = strdup("getvariable"); ;}
3286 #line 377 "swf5compiler.y"
3287 { yyval.str = strdup("setvariable"); ;}
3291 #line 378 "swf5compiler.y"
3292 { yyval.str = strdup("settargetexpression"); ;}
3296 #line 379 "swf5compiler.y"
3297 { yyval.str = strdup("duplicatemovieclip"); ;}
3301 #line 380 "swf5compiler.y"
3302 { yyval.str = strdup("removemovieclip"); ;}
3306 #line 381 "swf5compiler.y"
3307 { yyval.str = strdup("startdrag"); ;}
3311 #line 382 "swf5compiler.y"
3312 { yyval.str = strdup("stopdrag"); ;}
3316 #line 383 "swf5compiler.y"
3317 { yyval.str = strdup("stringlessthan"); ;}
3321 #line 384 "swf5compiler.y"
3322 { yyval.str = strdup("mblength"); ;}
3326 #line 385 "swf5compiler.y"
3327 { yyval.str = strdup("mbsubstring"); ;}
3331 #line 386 "swf5compiler.y"
3332 { yyval.str = strdup("mbord"); ;}
3336 #line 387 "swf5compiler.y"
3337 { yyval.str = strdup("mbchr"); ;}
3341 #line 388 "swf5compiler.y"
3342 { yyval.str = strdup("branchalways"); ;}
3346 #line 389 "swf5compiler.y"
3347 { yyval.str = strdup("branchiftrue"); ;}
3351 #line 390 "swf5compiler.y"
3352 { yyval.str = strdup("getURL2"); ;}
3356 #line 391 "swf5compiler.y"
3357 { yyval.str = strdup("post"); ;}
3361 #line 392 "swf5compiler.y"
3362 { yyval.str = strdup("get"); ;}
3366 #line 393 "swf5compiler.y"
3367 { yyval.str = strdup("loadvariables"); ;}
3371 #line 394 "swf5compiler.y"
3372 { yyval.str = strdup("loadMovie"); ;}
3376 #line 399 "swf5compiler.y"
3377 { yyval.exprlist.buffer = newBuffer();
3378 yyval.exprlist.count = 0; ;}
3382 #line 403 "swf5compiler.y"
3383 { yyval.exprlist.buffer = newBuffer();
3384 bufferWriteHardString(yyval.exprlist.buffer, (byte*)yyvsp[0].str, strlen(yyvsp[0].str)+1);
3385 yyval.exprlist.count = 1; ;}
3389 #line 408 "swf5compiler.y"
3390 { yyval.exprlist = yyvsp[-2].exprlist;
3391 bufferWriteHardString(yyval.exprlist.buffer, (byte*)yyvsp[0].str, strlen(yyvsp[0].str)+1);
3392 ++yyval.exprlist.count; ;}
3396 #line 415 "swf5compiler.y"
3397 { addctx(CTX_FUNCTION); ;}
3401 #line 420 "swf5compiler.y"
3402 { yyval.action = newBuffer();
3403 bufferWriteOp(yyval.action, SWFACTION_DEFINEFUNCTION);
3404 bufferWriteS16(yyval.action, strlen(yyvsp[-4].str) +
3405 bufferLength(yyvsp[-2].exprlist.buffer) + 5);
3406 bufferWriteHardString(yyval.action, (byte*) yyvsp[-4].str, strlen(yyvsp[-4].str)+1);
3407 bufferWriteS16(yyval.action, yyvsp[-2].exprlist.count);
3408 bufferConcat(yyval.action, yyvsp[-2].exprlist.buffer);
3409 bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action));
3410 bufferConcat(yyval.action, yyvsp[0].action);
3411 delctx(CTX_FUNCTION); ;}
3415 #line 434 "swf5compiler.y"
3416 { yyval.action = newBuffer();
3417 bufferWriteString(yyval.action, yyvsp[0].str, strlen(yyvsp[0].str)+1);
3418 free(yyvsp[0].str); ;}
3422 #line 439 "swf5compiler.y"
3423 { yyval.action = yyvsp[-2].action;
3424 bufferWriteString(yyval.action, yyvsp[0].str, strlen(yyvsp[0].str)+1);
3425 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER);
3426 free(yyvsp[0].str); ;}
3430 #line 445 "swf5compiler.y"
3431 { yyval.action = yyvsp[-3].action;
3432 bufferConcat(yyval.action, yyvsp[-1].action);
3433 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); ;}
3437 #line 456 "swf5compiler.y"
3438 { addctx(CTX_LOOP); ;}
3442 #line 461 "swf5compiler.y"
3443 { addctx(CTX_LOOP); ;}
3447 #line 466 "swf5compiler.y"
3448 { addctx(CTX_LOOP); ;}
3452 #line 471 "swf5compiler.y"
3453 { addctx(CTX_FOR_IN); ;}
3457 #line 476 "swf5compiler.y"
3458 { yyval.action = yyvsp[-2].action;
3459 bufferWriteOp(yyval.action, SWFACTION_LOGICALNOT);
3460 bufferWriteOp(yyval.action, SWFACTION_BRANCHIFTRUE);
3461 bufferWriteS16(yyval.action, 2);
3462 bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+5);
3463 bufferConcat(yyval.action, yyvsp[0].action);
3464 bufferWriteOp(yyval.action, SWFACTION_BRANCHALWAYS);
3465 bufferWriteS16(yyval.action, 2);
3466 bufferWriteS16(yyval.action, -(bufferLength(yyval.action)+2));
3467 bufferResolveJumps(yyval.action);
3468 delctx(CTX_LOOP); ;}
3472 #line 489 "swf5compiler.y"
3473 { if(yyvsp[-4].action)
3474 { yyval.action = yyvsp[-4].action;
3475 bufferConcat(yyval.action, yyvsp[-1].action);
3478 yyval.action = yyvsp[-1].action;
3479 bufferWriteOp(yyval.action, SWFACTION_BRANCHIFTRUE);
3480 bufferWriteS16(yyval.action, 2);
3481 bufferWriteS16(yyval.action, -(bufferLength(yyval.action)+2));
3482 bufferResolveJumps(yyval.action);
3483 delctx(CTX_LOOP); ;}
3487 #line 502 "swf5compiler.y"
3489 if(yyvsp[-7].action)
3490 yyval.action = yyvsp[-7].action;
3492 yyval.action = newBuffer();
3494 if(yyvsp[-3].action)
3496 bufferWriteOp(yyval.action, SWFACTION_BRANCHALWAYS);
3497 bufferWriteS16(yyval.action, 2);
3498 bufferWriteS16(yyval.action, bufferLength(yyvsp[-3].action));
3501 yyvsp[-3].action = newBuffer();
3503 if(yyvsp[-5].action)
3505 bufferConcat(yyvsp[-3].action, yyvsp[-5].action);
3506 bufferWriteOp(yyvsp[-3].action, SWFACTION_LOGICALNOT);
3507 bufferWriteOp(yyvsp[-3].action, SWFACTION_BRANCHIFTRUE);
3508 bufferWriteS16(yyvsp[-3].action, 2);
3509 bufferWriteS16(yyvsp[-3].action, bufferLength(yyvsp[0].action)+5);
3512 bufferConcat(yyvsp[-3].action, yyvsp[0].action);
3513 bufferWriteOp(yyvsp[-3].action, SWFACTION_BRANCHALWAYS);
3514 bufferWriteS16(yyvsp[-3].action, 2);
3515 bufferWriteS16(yyvsp[-3].action, -(bufferLength(yyvsp[-3].action)+2));
3516 bufferResolveJumps(yyvsp[-3].action);
3518 bufferConcat(yyval.action, yyvsp[-3].action);
3524 #line 537 "swf5compiler.y"
3528 yyval.action = yyvsp[-3].action;
3529 bufferWriteOp(yyval.action, SWFACTION_ENUMERATE);
3532 bufferWriteSetRegister(b2, 0);
3533 bufferWriteOp(b2, SWFACTION_PUSHDATA);
3534 bufferWriteS16(b2, 1);
3535 bufferWriteU8(b2, 2);
3536 bufferWriteOp(b2, SWFACTION_NEWEQUALS);
3537 bufferWriteOp(b2, SWFACTION_BRANCHIFTRUE);
3538 bufferWriteS16(b2, 2);
3541 /* basically a lvalue could be used here rather than an ident !!! */
3542 /* probably by using reg1 for the test rather than reg0 */
3543 bufferWriteString(b3, yyvsp[-5].str, strlen(yyvsp[-5].str)+1);
3544 bufferWriteRegister(b3, 0);
3545 bufferWriteOp(b3, SWFACTION_SETVARIABLE);
3546 bufferConcat(b3, yyvsp[0].action);
3547 bufferWriteS16(b2, bufferLength(b3) + 5);
3548 tmp = bufferLength(b2) + bufferLength(b3) + 5;
3549 bufferConcat(yyval.action, b2);
3550 bufferWriteOp(b3, SWFACTION_BRANCHALWAYS);
3551 bufferWriteS16(b3, 2);
3552 bufferWriteS16(b3, -tmp);
3553 bufferResolveJumps(b3);
3554 bufferConcat(yyval.action, b3);
3555 delctx(CTX_FOR_IN); ;}
3559 #line 570 "swf5compiler.y"
3563 yyval.action = yyvsp[-3].action;
3564 bufferWriteOp(yyval.action, SWFACTION_ENUMERATE);
3567 bufferWriteSetRegister(b2, 0);
3568 bufferWriteOp(b2, SWFACTION_PUSHDATA);
3569 bufferWriteS16(b2, 1);
3570 bufferWriteU8(b2, 2);
3571 bufferWriteOp(b2, SWFACTION_NEWEQUALS);
3572 bufferWriteOp(b2, SWFACTION_BRANCHIFTRUE);
3573 bufferWriteS16(b2, 2);
3577 bufferWriteString(b3, yyvsp[-5].str, strlen(yyvsp[-5].str)+1);
3578 bufferWriteRegister(b3, 0);
3579 bufferWriteOp(b3, SWFACTION_VAREQUALS);
3580 bufferConcat(b3, yyvsp[0].action);
3581 bufferWriteS16(b2, bufferLength(b3) + 5);
3582 tmp = bufferLength(b2) + bufferLength(b3) + 5;
3583 bufferConcat(yyval.action, b2);
3584 bufferWriteOp(b3, SWFACTION_BRANCHALWAYS);
3585 bufferWriteS16(b3, 2);
3586 bufferWriteS16(b3, -tmp);
3587 bufferResolveJumps(b3);
3588 bufferConcat(yyval.action, b3);
3589 delctx(CTX_FOR_IN); ;}
3593 #line 603 "swf5compiler.y"
3594 { yyval.action = NULL; ;}
3598 #line 611 "swf5compiler.y"
3599 { if(chkctx(CTX_CONTINUE) < 0)
3600 swf5error("continue outside loop");
3601 yyval.action = newBuffer();
3602 bufferWriteOp(yyval.action, SWFACTION_BRANCHALWAYS);
3603 bufferWriteS16(yyval.action, 2);
3604 bufferWriteS16(yyval.action, MAGIC_CONTINUE_NUMBER); ;}
3608 #line 622 "swf5compiler.y"
3609 { int tmp = chkctx(CTX_BREAK);
3611 swf5error("break outside switch / loop");
3612 yyval.action = newBuffer();
3613 if(tmp) /* break out of a for .. in */
3614 bufferWriteOp(yyval.action, SWFACTION_POP);
3615 bufferWriteOp(yyval.action, SWFACTION_BRANCHALWAYS);
3616 bufferWriteS16(yyval.action, 2);
3617 bufferWriteS16(yyval.action, MAGIC_BREAK_NUMBER); ;}
3621 #line 634 "swf5compiler.y"
3622 { yyval.getURLMethod = GETURL_METHOD_NOSEND; ;}
3626 #line 636 "swf5compiler.y"
3627 { yyval.getURLMethod = GETURL_METHOD_GET; ;}
3631 #line 638 "swf5compiler.y"
3632 { yyval.getURLMethod = GETURL_METHOD_POST; ;}
3636 #line 640 "swf5compiler.y"
3637 { if(strcmp(yyvsp[0].str, "GET") == 0)
3638 yyval.getURLMethod = GETURL_METHOD_GET;
3639 else if(strcmp(yyvsp[0].str, "POST") == 0)
3640 yyval.getURLMethod = GETURL_METHOD_POST; ;}
3644 #line 648 "swf5compiler.y"
3645 { char *lvlstring = (char*) malloc(12*sizeof(char));
3646 sprintf(lvlstring, "_level%d", yyvsp[0].intVal);
3647 yyval.action = newBuffer();
3648 bufferWriteString(yyval.action, lvlstring, strlen(lvlstring)+1);
3653 #line 655 "swf5compiler.y"
3654 { yyval.action = newBuffer();
3655 bufferWriteString(yyval.action, "_level", 7);
3656 bufferConcat(yyval.action, yyvsp[0].action);
3657 bufferWriteOp(yyval.action, SWFACTION_STRINGCONCAT); ;}
3661 #line 663 "swf5compiler.y"
3662 { yyval.action = yyvsp[-1].exprlist.buffer;
3663 bufferWriteInt(yyval.action, yyvsp[-1].exprlist.count);
3664 bufferWriteString(yyval.action, yyvsp[-3].str, strlen(yyvsp[-3].str)+1);
3665 bufferWriteOp(yyval.action, SWFACTION_CALLFUNCTION);
3666 bufferWriteOp(yyval.action, SWFACTION_POP);
3667 free(yyvsp[-3].str); ;}
3671 #line 671 "swf5compiler.y"
3672 { yyval.action = newBuffer();
3673 bufferWriteString(yyval.action, yyvsp[0].str, strlen(yyvsp[0].str)+1);
3675 bufferWriteOp(yyval.action, SWFACTION_DELETE); ;}
3679 #line 677 "swf5compiler.y"
3680 { yyval.action = yyvsp[-2].action;
3681 // bufferWriteOp($$, SWFACTION_GETVARIABLE);
3682 bufferWriteString(yyval.action, yyvsp[0].str, strlen(yyvsp[0].str)+1);
3684 bufferWriteOp(yyval.action, SWFACTION_DELETEVAR); ;}
3688 #line 684 "swf5compiler.y"
3689 { yyval.action = yyvsp[-3].action;
3690 // bufferWriteOp($$, SWFACTION_GETVARIABLE);
3691 bufferConcat(yyval.action, yyvsp[-1].action);
3692 // bufferWriteOp($$, SWFACTION_GETVARIABLE);
3693 bufferWriteOp(yyval.action, SWFACTION_DELETEVAR); ;}
3697 #line 691 "swf5compiler.y"
3698 { yyval.action = yyvsp[-1].action;
3699 bufferWriteOp(yyval.action, SWFACTION_TRACE); ;}
3703 #line 695 "swf5compiler.y"
3704 { yyval.action = yyvsp[-4].action;
3705 bufferConcat(yyval.action, yyvsp[-2].action);
3706 bufferWriteOp(yyval.action, SWFACTION_GETURL2);
3707 bufferWriteS16(yyval.action, 1);
3708 bufferWriteU8(yyval.action, yyvsp[-1].getURLMethod); ;}
3712 #line 702 "swf5compiler.y"
3713 { yyval.action = yyvsp[-4].action;
3714 bufferConcat(yyval.action, yyvsp[-2].action);
3715 bufferWriteOp(yyval.action, SWFACTION_GETURL2);
3716 bufferWriteS16(yyval.action, 1);
3717 bufferWriteU8(yyval.action, 0xc0+yyvsp[-1].getURLMethod); ;}
3721 #line 709 "swf5compiler.y"
3722 { yyval.action = yyvsp[-4].action;
3723 bufferConcat(yyval.action, yyvsp[-2].action);
3724 bufferWriteOp(yyval.action, SWFACTION_GETURL2);
3725 bufferWriteS16(yyval.action, 1);
3726 bufferWriteU8(yyval.action, 0x80+yyvsp[-1].getURLMethod); ;}
3730 #line 716 "swf5compiler.y"
3731 { yyval.action = yyvsp[-4].action;
3732 bufferConcat(yyval.action, yyvsp[-2].action);
3733 bufferWriteOp(yyval.action, SWFACTION_GETURL2);
3734 bufferWriteS16(yyval.action, 1);
3735 bufferWriteU8(yyval.action, 0x40+yyvsp[-1].getURLMethod); ;}
3739 #line 723 "swf5compiler.y"
3740 { yyval.action = yyvsp[-4].action;
3741 bufferConcat(yyval.action, yyvsp[-2].action);
3742 bufferWriteOp(yyval.action, SWFACTION_GETURL2);
3743 bufferWriteS16(yyval.action, 1);
3744 bufferWriteU8(yyval.action, yyvsp[-1].getURLMethod); ;}
3748 #line 730 "swf5compiler.y"
3749 { yyval.action = yyvsp[-1].action;
3750 bufferWriteOp(yyval.action, SWFACTION_CALLFRAME);
3751 bufferWriteS16(yyval.action, 0); ;}
3755 #line 736 "swf5compiler.y"
3756 { yyval.action = newBuffer();
3757 bufferWriteString(yyval.action, "0", 2); /* no constraint */
3758 bufferConcat(yyval.action, yyvsp[-1].action);
3759 bufferConcat(yyval.action, yyvsp[-3].action);
3760 bufferWriteOp(yyval.action, SWFACTION_STARTDRAGMOVIE); ;}
3764 #line 743 "swf5compiler.y"
3765 { yyval.action = newBuffer();
3766 bufferConcat(yyval.action, yyvsp[-7].action);
3767 bufferConcat(yyval.action, yyvsp[-3].action);
3768 bufferConcat(yyval.action, yyvsp[-5].action);
3769 bufferConcat(yyval.action, yyvsp[-1].action);
3770 bufferWriteString(yyval.action, "1", 2); /* has constraint */
3771 bufferConcat(yyval.action, yyvsp[-9].action);
3772 bufferConcat(yyval.action, yyvsp[-11].action);
3773 bufferWriteOp(yyval.action, SWFACTION_STARTDRAGMOVIE); ;}
3777 #line 754 "swf5compiler.y"
3778 { yyval.action = newBuffer();
3779 bufferWriteOp(yyval.action, SWFACTION_STOPDRAGMOVIE); ;}
3783 #line 759 "swf5compiler.y"
3784 { yyval.action = yyvsp[-5].action;
3785 bufferConcat(yyval.action, yyvsp[-3].action);
3786 bufferConcat(yyval.action, yyvsp[-1].action);
3787 bufferWriteInt(yyval.action, 16384); /* magic number */
3788 bufferWriteOp(yyval.action, SWFACTION_ADD);
3789 bufferWriteOp(yyval.action, SWFACTION_DUPLICATECLIP); ;}
3793 #line 767 "swf5compiler.y"
3794 { yyval.action = yyvsp[-1].action;
3795 bufferWriteOp(yyval.action, SWFACTION_REMOVECLIP); ;}
3799 #line 771 "swf5compiler.y"
3800 { yyval.action = newBuffer();
3801 bufferWriteOp(yyval.action, SWFACTION_GETURL);
3802 bufferWriteS16(yyval.action, strlen(yyvsp[-3].str) + strlen(yyvsp[-1].str) + 2);
3803 bufferWriteHardString(yyval.action, (byte*)yyvsp[-3].str, strlen(yyvsp[-3].str));
3804 bufferWriteU8(yyval.action, 0);
3805 bufferWriteHardString(yyval.action, (byte*)yyvsp[-1].str, strlen(yyvsp[-1].str));
3806 bufferWriteU8(yyval.action, 0); ;}
3810 #line 781 "swf5compiler.y"
3811 { yyval.action = newBuffer();
3812 bufferWriteOp(yyval.action, SWFACTION_NEXTFRAME); ;}
3816 #line 785 "swf5compiler.y"
3817 { yyval.action = newBuffer();
3818 bufferWriteOp(yyval.action, SWFACTION_PREVFRAME); ;}
3822 #line 789 "swf5compiler.y"
3823 { yyval.action = newBuffer();
3824 bufferWriteOp(yyval.action, SWFACTION_PLAY); ;}
3828 #line 793 "swf5compiler.y"
3829 { yyval.action = newBuffer();
3830 bufferWriteOp(yyval.action, SWFACTION_STOP); ;}
3834 #line 797 "swf5compiler.y"
3835 { yyval.action = newBuffer();
3836 bufferWriteOp(yyval.action, SWFACTION_STOPSOUNDS); ;}
3840 #line 801 "swf5compiler.y"
3841 { yyval.action = newBuffer();
3842 bufferWriteOp(yyval.action, SWFACTION_TOGGLEQUALITY); ;}
3846 #line 805 "swf5compiler.y"
3847 { yyval.action = newBuffer();
3848 bufferWriteOp(yyval.action, SWFACTION_GOTOFRAME);
3849 bufferWriteS16(yyval.action, 2);
3850 bufferWriteS16(yyval.action, yyvsp[-1].intVal); ;}
3854 #line 811 "swf5compiler.y"
3855 { yyval.action = newBuffer();
3856 bufferWriteOp(yyval.action, SWFACTION_GOTOLABEL);
3857 bufferWriteS16(yyval.action, strlen(yyvsp[-1].str)+1);
3858 bufferWriteHardString(yyval.action, (byte*)yyvsp[-1].str, strlen(yyvsp[-1].str)+1);
3859 free(yyvsp[-1].str); ;}
3863 #line 818 "swf5compiler.y"
3864 { yyval.action = yyvsp[-1].action;
3865 bufferWriteOp(yyval.action, SWFACTION_GOTOEXPRESSION);
3866 bufferWriteS16(yyval.action, 1);
3867 bufferWriteU8(yyval.action, 0); ;}
3871 #line 824 "swf5compiler.y"
3872 { yyval.action = newBuffer();
3873 bufferWriteOp(yyval.action, SWFACTION_SETTARGET);
3874 bufferWriteS16(yyval.action, strlen(yyvsp[-1].str)+1);
3875 bufferWriteHardString(yyval.action, (byte*)yyvsp[-1].str, strlen(yyvsp[-1].str)+1);
3876 free(yyvsp[-1].str); ;}
3880 #line 831 "swf5compiler.y"
3881 { yyval.action = yyvsp[-1].action;
3882 bufferWriteOp(yyval.action, SWFACTION_SETTARGETEXPRESSION); ;}
3886 #line 840 "swf5compiler.y"
3887 { yyval.action = yyvsp[-1].exprlist.buffer;
3888 bufferWriteInt(yyval.action, yyvsp[-1].exprlist.count);
3889 bufferWriteString(yyval.action, yyvsp[-3].str, strlen(yyvsp[-3].str)+1);
3890 bufferWriteOp(yyval.action, SWFACTION_CALLFUNCTION);
3891 free(yyvsp[-3].str); ;}
3895 #line 847 "swf5compiler.y"
3896 { yyval.action = yyvsp[-1].action;
3897 bufferWriteOp(yyval.action, SWFACTION_GETVARIABLE); ;}
3901 #line 851 "swf5compiler.y"
3902 { yyval.action = newBuffer();
3903 bufferWriteOp(yyval.action, SWFACTION_GETTIMER); ;}
3907 #line 855 "swf5compiler.y"
3908 { yyval.action = yyvsp[-1].action;
3909 bufferWriteOp(yyval.action, SWFACTION_RANDOM); ;}
3913 #line 859 "swf5compiler.y"
3914 { yyval.action = yyvsp[-1].action;
3915 bufferWriteOp(yyval.action, SWFACTION_STRINGLENGTH); ;}
3919 #line 863 "swf5compiler.y"
3920 { yyval.action = yyvsp[-1].action;
3921 bufferWriteOp(yyval.action, SWFACTION_INT); ;}
3925 #line 867 "swf5compiler.y"
3926 { yyval.action = yyvsp[-1].action;
3927 bufferWriteOp(yyval.action, SWFACTION_ORD); ;}
3931 #line 871 "swf5compiler.y"
3932 { yyval.action = yyvsp[-1].action;
3933 bufferWriteOp(yyval.action, SWFACTION_CHR); ;}
3937 #line 875 "swf5compiler.y"
3938 { yyval.action = yyvsp[-3].action;
3939 bufferConcat(yyval.action, yyvsp[-1].action);
3940 bufferWriteOp(yyval.action, SWFACTION_STRINGCONCAT); ;}
3944 #line 880 "swf5compiler.y"
3945 { yyval.action = yyvsp[-5].action;
3946 bufferConcat(yyval.action, yyvsp[-3].action);
3947 bufferConcat(yyval.action, yyvsp[-1].action);
3948 bufferWriteOp(yyval.action, SWFACTION_SUBSTRING); ;}
3952 #line 886 "swf5compiler.y"
3953 { yyval.action = yyvsp[-1].action;
3954 bufferWriteOp(yyval.action, SWFACTION_TYPEOF); ;}
3958 #line 894 "swf5compiler.y"
3959 { yyval.exprlist.buffer = newBuffer();
3960 yyval.exprlist.count = 0; ;}
3964 #line 898 "swf5compiler.y"
3965 { yyval.exprlist.buffer = yyvsp[0].action;
3966 yyval.exprlist.count = 1; ;}
3970 #line 903 "swf5compiler.y"
3971 { Buffer tmp = newBuffer();
3972 bufferConcat(tmp, yyvsp[0].action);
3973 bufferConcat(tmp, yyval.exprlist.buffer);
3974 yyval.exprlist.buffer = tmp;
3975 ++yyval.exprlist.count; ;}
3979 #line 912 "swf5compiler.y"
3980 { yyval.action = newBuffer();
3981 bufferWriteOp(yyval.action, SWFACTION_DEFINEFUNCTION);
3982 bufferWriteS16(yyval.action, bufferLength(yyvsp[-2].exprlist.buffer) + 5);
3983 bufferWriteU8(yyval.action, 0); /* empty function name */
3984 bufferWriteS16(yyval.action, yyvsp[-2].exprlist.count);
3985 bufferConcat(yyval.action, yyvsp[-2].exprlist.buffer);
3986 bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action));
3987 bufferConcat(yyval.action, yyvsp[0].action);
3988 delctx(CTX_FUNCTION); ;}
3992 #line 925 "swf5compiler.y"
3993 { yyval.action = yyvsp[-1].exprlist.buffer;
3994 bufferWriteInt(yyval.action, yyvsp[-1].exprlist.count);
3995 bufferConcat(yyval.action, yyvsp[-5].action);
3996 bufferWriteString(yyval.action, yyvsp[-3].str, strlen(yyvsp[-3].str)+1);
3997 bufferWriteOp(yyval.action, SWFACTION_CALLMETHOD);
3998 free(yyvsp[-3].str); ;}
4002 #line 933 "swf5compiler.y"
4003 { yyval.action = yyvsp[-1].exprlist.buffer;
4004 bufferWriteInt(yyval.action, yyvsp[-1].exprlist.count);
4005 bufferConcat(yyval.action, yyvsp[-6].action);
4006 bufferConcat(yyval.action, yyvsp[-4].action);
4007 bufferWriteOp(yyval.action, SWFACTION_CALLMETHOD); ;}
4011 #line 942 "swf5compiler.y"
4012 { yyval.action = newBuffer();
4013 bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
4014 bufferConcat(yyval.action, yyvsp[0].action); ;}
4018 #line 949 "swf5compiler.y"
4019 { yyval.exprlist.buffer = yyvsp[0].action;
4020 yyval.exprlist.count = 1; ;}
4024 #line 953 "swf5compiler.y"
4025 { bufferConcat(yyval.exprlist.buffer, yyvsp[0].action);
4026 ++yyval.exprlist.count; ;}
4030 #line 958 "swf5compiler.y"
4031 { yyval.op = SWFACTION_NEWADD; ;}
4035 #line 959 "swf5compiler.y"
4036 { yyval.op = SWFACTION_SUBTRACT; ;}
4040 #line 960 "swf5compiler.y"
4041 { yyval.op = SWFACTION_MULTIPLY; ;}
4045 #line 961 "swf5compiler.y"
4046 { yyval.op = SWFACTION_DIVIDE; ;}
4050 #line 962 "swf5compiler.y"
4051 { yyval.op = SWFACTION_MODULO; ;}
4055 #line 963 "swf5compiler.y"
4056 { yyval.op = SWFACTION_BITWISEAND; ;}
4060 #line 964 "swf5compiler.y"
4061 { yyval.op = SWFACTION_BITWISEOR; ;}
4065 #line 965 "swf5compiler.y"
4066 { yyval.op = SWFACTION_BITWISEXOR; ;}
4070 #line 966 "swf5compiler.y"
4071 { yyval.op = SWFACTION_SHIFTLEFT; ;}
4075 #line 967 "swf5compiler.y"
4076 { yyval.op = SWFACTION_SHIFTRIGHT; ;}
4080 #line 968 "swf5compiler.y"
4081 { yyval.op = SWFACTION_SHIFTRIGHT2; ;}
4085 #line 972 "swf5compiler.y"
4086 { yyval.op = SWFACTION_INCREMENT; ;}
4090 #line 973 "swf5compiler.y"
4091 { yyval.op = SWFACTION_DECREMENT; ;}
4095 #line 992 "swf5compiler.y"
4096 { if(yyvsp[0].lval.obj)
4098 yyval.action = yyvsp[0].lval.obj;
4100 if(yyvsp[0].lval.ident)
4101 bufferConcat(yyval.action, yyvsp[0].lval.ident);
4103 bufferConcat(yyval.action, yyvsp[0].lval.memexpr);
4105 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER);
4109 yyval.action = yyvsp[0].lval.ident;
4110 bufferWriteOp(yyval.action, SWFACTION_GETVARIABLE);
4116 #line 1016 "swf5compiler.y"
4117 { yyval.lval.ident = newBuffer();
4118 bufferWriteString(yyval.lval.ident, yyvsp[0].str, strlen(yyvsp[0].str)+1);
4121 yyval.lval.memexpr = 0; ;}
4125 #line 1023 "swf5compiler.y"
4126 { yyval.lval.obj = yyvsp[-2].action;
4127 yyval.lval.ident = newBuffer();
4128 bufferWriteString(yyval.lval.ident, yyvsp[0].str, strlen(yyvsp[0].str)+1);
4129 yyval.lval.memexpr = 0; ;}
4133 #line 1029 "swf5compiler.y"
4134 { yyval.lval.obj = yyvsp[-3].action;
4135 yyval.lval.memexpr = yyvsp[-1].action;
4136 yyval.lval.ident = 0; ;}
4140 #line 1040 "swf5compiler.y"
4141 { yyval.action = yyvsp[0].action;
4142 bufferWriteInt(yyvsp[0].action, -1);
4143 bufferWriteOp(yyvsp[0].action, SWFACTION_MULTIPLY); ;}
4147 #line 1045 "swf5compiler.y"
4148 { yyval.action = yyvsp[0].action;
4149 bufferWriteInt(yyvsp[0].action, 0xffffffff);
4150 bufferWriteOp(yyvsp[0].action, SWFACTION_BITWISEXOR); ;}
4154 #line 1050 "swf5compiler.y"
4155 { yyval.action = yyvsp[0].action;
4156 bufferWriteOp(yyvsp[0].action, SWFACTION_LOGICALNOT); ;}
4160 #line 1054 "swf5compiler.y"
4161 { yyval.action = yyvsp[-2].action;
4162 bufferWriteOp(yyval.action, SWFACTION_DUP);
4163 bufferWriteOp(yyval.action, SWFACTION_BRANCHIFTRUE);
4164 bufferWriteS16(yyval.action, 2);
4165 bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+1);
4166 bufferWriteOp(yyval.action, SWFACTION_POP);
4167 bufferConcat(yyval.action, yyvsp[0].action); ;}
4171 #line 1063 "swf5compiler.y"
4172 { yyval.action = yyvsp[-2].action;
4173 bufferWriteOp(yyval.action, SWFACTION_DUP);
4174 bufferWriteOp(yyval.action, SWFACTION_LOGICALNOT);
4175 bufferWriteOp(yyval.action, SWFACTION_BRANCHIFTRUE);
4176 bufferWriteS16(yyval.action, 2);
4177 bufferWriteS16(yyval.action, bufferLength(yyvsp[0].action)+1);
4178 bufferWriteOp(yyval.action, SWFACTION_POP);
4179 bufferConcat(yyval.action, yyvsp[0].action); ;}
4183 #line 1073 "swf5compiler.y"
4184 { yyval.action = yyvsp[-2].action;
4185 bufferConcat(yyval.action, yyvsp[0].action);
4186 bufferWriteOp(yyval.action, SWFACTION_MULTIPLY); ;}
4190 #line 1078 "swf5compiler.y"
4191 { yyval.action = yyvsp[-2].action;
4192 bufferConcat(yyval.action, yyvsp[0].action);
4193 bufferWriteOp(yyval.action, SWFACTION_DIVIDE); ;}
4197 #line 1083 "swf5compiler.y"
4198 { yyval.action = yyvsp[-2].action;
4199 bufferConcat(yyval.action, yyvsp[0].action);
4200 bufferWriteOp(yyval.action, SWFACTION_MODULO); ;}
4204 #line 1088 "swf5compiler.y"
4205 { yyval.action = yyvsp[-2].action;
4206 bufferConcat(yyval.action, yyvsp[0].action);
4207 bufferWriteOp(yyval.action, SWFACTION_NEWADD); ;}
4211 #line 1093 "swf5compiler.y"
4212 { yyval.action = yyvsp[-2].action;
4213 bufferConcat(yyval.action, yyvsp[0].action);
4214 bufferWriteOp(yyval.action, SWFACTION_SUBTRACT); ;}
4218 #line 1098 "swf5compiler.y"
4219 { yyval.action = yyvsp[-2].action;
4220 bufferConcat(yyval.action, yyvsp[0].action);
4221 bufferWriteOp(yyval.action, SWFACTION_BITWISEAND); ;}
4225 #line 1103 "swf5compiler.y"
4226 { yyval.action = yyvsp[-2].action;
4227 bufferConcat(yyval.action, yyvsp[0].action);
4228 bufferWriteOp(yyval.action, SWFACTION_BITWISEOR); ;}
4232 #line 1108 "swf5compiler.y"
4233 { yyval.action = yyvsp[-2].action;
4234 bufferConcat(yyval.action, yyvsp[0].action);
4235 bufferWriteOp(yyval.action, SWFACTION_BITWISEXOR); ;}
4239 #line 1113 "swf5compiler.y"
4240 { yyval.action = yyvsp[-2].action;
4241 bufferConcat(yyval.action, yyvsp[0].action);
4242 bufferWriteOp(yyval.action, SWFACTION_NEWLESSTHAN); ;}
4246 #line 1118 "swf5compiler.y"
4247 { yyval.action = yyvsp[0].action;
4248 bufferConcat(yyval.action, yyvsp[-2].action);
4249 bufferWriteOp(yyval.action, SWFACTION_NEWLESSTHAN); ;}
4253 #line 1123 "swf5compiler.y"
4254 { yyval.action = yyvsp[0].action;
4255 bufferConcat(yyval.action, yyvsp[-2].action);
4256 bufferWriteOp(yyval.action, SWFACTION_NEWLESSTHAN);
4257 bufferWriteOp(yyval.action, SWFACTION_LOGICALNOT); ;}
4261 #line 1129 "swf5compiler.y"
4262 { bufferConcat(yyvsp[-2].action, yyvsp[0].action);
4263 bufferWriteOp(yyvsp[-2].action, SWFACTION_NEWLESSTHAN);
4264 bufferWriteOp(yyvsp[-2].action, SWFACTION_LOGICALNOT); ;}
4268 #line 1134 "swf5compiler.y"
4269 { bufferConcat(yyvsp[-2].action, yyvsp[0].action);
4270 bufferWriteOp(yyvsp[-2].action, SWFACTION_NEWEQUALS); ;}
4274 #line 1138 "swf5compiler.y"
4275 { bufferConcat(yyvsp[-2].action, yyvsp[0].action);
4276 bufferWriteOp(yyvsp[-2].action, SWFACTION_NEWEQUALS);
4277 bufferWriteOp(yyvsp[-2].action, SWFACTION_LOGICALNOT); ;}
4281 #line 1143 "swf5compiler.y"
4282 { bufferConcat(yyvsp[-2].action, yyvsp[0].action);
4283 bufferWriteOp(yyvsp[-2].action, SWFACTION_SHIFTLEFT); ;}
4287 #line 1147 "swf5compiler.y"
4288 { bufferConcat(yyvsp[-2].action, yyvsp[0].action);
4289 bufferWriteOp(yyvsp[-2].action, SWFACTION_SHIFTRIGHT); ;}
4293 #line 1151 "swf5compiler.y"
4294 { bufferConcat(yyvsp[-2].action, yyvsp[0].action);
4295 bufferWriteOp(yyvsp[-2].action, SWFACTION_SHIFTRIGHT2); ;}
4299 #line 1155 "swf5compiler.y"
4300 { bufferWriteOp(yyvsp[-4].action, SWFACTION_BRANCHIFTRUE);
4301 bufferWriteS16(yyvsp[-4].action, 2);
4302 bufferWriteS16(yyvsp[-4].action, bufferLength(yyvsp[0].action)+5);
4303 bufferConcat(yyvsp[-4].action, yyvsp[0].action);
4304 bufferWriteOp(yyvsp[-4].action, SWFACTION_BRANCHALWAYS);
4305 bufferWriteS16(yyvsp[-4].action, 2);
4306 bufferWriteS16(yyvsp[-4].action, bufferLength(yyvsp[-2].action));
4307 bufferConcat(yyvsp[-4].action, yyvsp[-2].action); ;}
4311 #line 1165 "swf5compiler.y"
4312 { if(yyvsp[-2].lval.obj) /* obj[memexpr] or obj.ident */
4314 yyval.action = yyvsp[-2].lval.obj;
4316 if(yyvsp[-2].lval.ident)
4317 bufferConcat(yyval.action, yyvsp[-2].lval.ident);
4319 bufferConcat(yyval.action, yyvsp[-2].lval.memexpr);
4321 bufferConcat(yyval.action, yyvsp[0].action);
4322 bufferWriteSetRegister(yyval.action, 0);
4323 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER);
4324 bufferWriteRegister(yyval.action, 0);
4326 else /* just ident */
4328 yyval.action = yyvsp[0].action;
4329 bufferWriteOp(yyval.action, SWFACTION_DUP);
4330 bufferConcat(yyval.action, yyvsp[-2].lval.ident);
4331 bufferWriteOp(yyval.action, SWFACTION_SWAP);
4332 bufferWriteOp(yyval.action, SWFACTION_SETVARIABLE);
4334 /* tricky case missing here: lvalue ASSIGN expr */
4335 /* like in x = y += z; */
4340 #line 1192 "swf5compiler.y"
4341 { yyval.action = yyvsp[-2].action;
4342 bufferConcat(yyval.action, yyvsp[0].action);
4343 bufferWriteOp(yyval.action, SWFACTION_INSTANCEOF); ;}
4347 #line 1202 "swf5compiler.y"
4348 { yyval.action = newBuffer();
4349 bufferWriteInt(yyval.action, 0);
4350 bufferWriteString(yyval.action, yyvsp[0].str, strlen(yyvsp[0].str)+1);
4351 bufferWriteOp(yyval.action, SWFACTION_NEW); ;}
4355 #line 1208 "swf5compiler.y"
4356 { yyval.action = yyvsp[-1].exprlist.buffer;
4357 bufferWriteInt(yyval.action, yyvsp[-1].exprlist.count);
4358 bufferWriteString(yyval.action, yyvsp[-3].str, strlen(yyvsp[-3].str)+1);
4359 bufferWriteOp(yyval.action, SWFACTION_NEW); ;}
4363 #line 1214 "swf5compiler.y"
4364 { yyval.action = yyvsp[-1].exprlist.buffer;
4365 bufferWriteInt(yyval.action, yyvsp[-1].exprlist.count);
4366 bufferWriteOp(yyval.action, SWFACTION_INITARRAY); ;}
4370 #line 1219 "swf5compiler.y"
4371 { yyval.action = newBuffer();
4372 bufferWriteInt(yyval.action, 0);
4373 bufferWriteOp(yyval.action, SWFACTION_INITOBJECT); ;}
4377 #line 1224 "swf5compiler.y"
4378 { yyval.action = yyvsp[-1].exprlist.buffer;
4379 bufferWriteInt(yyval.action, yyvsp[-1].exprlist.count);
4380 bufferWriteOp(yyval.action, SWFACTION_INITOBJECT); ;}
4384 #line 1240 "swf5compiler.y"
4385 { if(yyvsp[0].lval.obj)
4387 if(yyvsp[0].lval.ident) // expr . identifier
4389 yyval.action = yyvsp[0].lval.obj;
4390 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, a */
4391 bufferWriteBuffer(yyval.action, yyvsp[0].lval.ident); /* a, a, i */
4392 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a */
4393 bufferConcat(yyval.action, yyvsp[0].lval.ident); /* a, i, a, i */
4394 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER);
4395 bufferWriteOp(yyval.action, yyvsp[-1].op);
4396 bufferWriteSetRegister(yyval.action, 0);
4397 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a.i = a.i+1 */
4398 bufferWriteRegister(yyval.action, 0); /* a.i+1 */
4400 else // expr [ expr ]
4402 yyval.action = yyvsp[0].lval.memexpr; /* i */
4403 bufferConcat(yyval.action, yyvsp[0].lval.obj); /* i, a */
4404 bufferWriteSetRegister(yyval.action, 0); /* ($2.memexpr can use reg0) */
4405 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i */
4406 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, i, i */
4407 bufferWriteRegister(yyval.action, 0); /* a, i, i, a */
4408 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a, i */
4409 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, i, a[i] */
4410 bufferWriteOp(yyval.action, yyvsp[-1].op); /* a, i, a[i]+1 */
4411 bufferWriteSetRegister(yyval.action, 0);
4412 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a[i] = a[i]+1 */
4413 bufferWriteRegister(yyval.action, 0); /* a[i]+1 */
4418 yyval.action = newBuffer();
4419 bufferWriteBuffer(yyval.action, yyvsp[0].lval.ident);
4420 bufferWriteOp(yyval.action, SWFACTION_GETVARIABLE);
4421 bufferWriteOp(yyval.action, yyvsp[-1].op);
4422 bufferWriteOp(yyval.action, SWFACTION_DUP);
4423 bufferConcat(yyval.action, yyvsp[0].lval.ident);
4424 bufferWriteOp(yyval.action, SWFACTION_SWAP);
4425 bufferWriteOp(yyval.action, SWFACTION_SETVARIABLE);
4431 #line 1285 "swf5compiler.y"
4432 { if(yyvsp[-1].lval.obj)
4434 if(yyvsp[-1].lval.ident)
4436 yyval.action = yyvsp[-1].lval.obj; /* a */
4437 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, a */
4438 bufferWriteBuffer(yyval.action, yyvsp[-1].lval.ident); /* a, a, i */
4439 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, a.i */
4440 bufferWriteSetRegister(yyval.action, 0);
4441 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a.i, a */
4442 bufferConcat(yyval.action, yyvsp[-1].lval.ident); /* a.i, a, i */
4443 bufferWriteRegister(yyval.action, 0); /* a.i, a, i, a.i */
4444 bufferWriteOp(yyval.action, yyvsp[0].op); /* a.i, a, i, a.i+1 */
4445 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER);
4449 yyval.action = yyvsp[-1].lval.memexpr;
4450 bufferConcat(yyval.action, yyvsp[-1].lval.obj); /* i, a */
4451 bufferWriteSetRegister(yyval.action, 0);
4452 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i */
4453 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, i, i */
4454 bufferWriteRegister(yyval.action, 0); /* a, i, i, a */
4455 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a, i */
4456 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, i, a[i] */
4457 bufferWriteSetRegister(yyval.action, 0);
4458 bufferWriteOp(yyval.action, yyvsp[0].op); /* a, i, a[i]+1 */
4459 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER);
4460 bufferWriteRegister(yyval.action, 0); /* a[i] */
4465 yyval.action = newBuffer();
4466 bufferWriteBuffer(yyval.action, yyvsp[-1].lval.ident);
4467 bufferWriteOp(yyval.action, SWFACTION_GETVARIABLE);
4468 bufferWriteOp(yyval.action, SWFACTION_DUP);
4469 bufferWriteOp(yyval.action, yyvsp[0].op);
4470 bufferConcat(yyval.action, yyvsp[-1].lval.ident);
4471 bufferWriteOp(yyval.action, SWFACTION_SWAP);
4472 bufferWriteOp(yyval.action, SWFACTION_SETVARIABLE);
4478 #line 1330 "swf5compiler.y"
4479 { yyval.action = yyvsp[-1].action; ;}
4483 #line 1333 "swf5compiler.y"
4484 { yyval.action = newBuffer();
4485 bufferWriteInt(yyval.action, -yyvsp[0].intVal); ;}
4489 #line 1337 "swf5compiler.y"
4490 { yyval.action = newBuffer();
4491 bufferWriteInt(yyval.action, yyvsp[0].intVal); ;}
4495 #line 1341 "swf5compiler.y"
4496 { yyval.action = newBuffer();
4497 bufferWriteDouble(yyval.action, -yyvsp[0].doubleVal); ;}
4501 #line 1345 "swf5compiler.y"
4502 { yyval.action = newBuffer();
4503 bufferWriteDouble(yyval.action, yyvsp[0].doubleVal); ;}
4507 #line 1349 "swf5compiler.y"
4508 { yyval.action = newBuffer();
4509 bufferWriteBoolean(yyval.action, yyvsp[0].intVal); ;}
4513 #line 1353 "swf5compiler.y"
4514 { yyval.action = newBuffer();
4515 bufferWriteNull(yyval.action); ;}
4519 #line 1357 "swf5compiler.y"
4520 { yyval.action = newBuffer();
4521 bufferWriteString(yyval.action, yyvsp[0].str, strlen(yyvsp[0].str)+1);
4522 free(yyvsp[0].str); ;}
4526 #line 1366 "swf5compiler.y"
4527 { yyval.action = yyvsp[-2].action;
4528 bufferConcat(yyval.action, yyvsp[0].action); ;}
4532 #line 1372 "swf5compiler.y"
4533 { yyval.action = newBuffer();
4534 bufferWriteString(yyval.action, yyvsp[-2].str, strlen(yyvsp[-2].str)+1);
4535 bufferConcat(yyval.action, yyvsp[0].action);
4536 bufferWriteOp(yyval.action, SWFACTION_VAREQUALS); ;}
4540 #line 1378 "swf5compiler.y"
4541 { yyval.action = newBuffer();
4542 bufferWriteString(yyval.action, yyvsp[0].str, strlen(yyvsp[0].str)+1);
4543 bufferWriteOp(yyval.action, SWFACTION_VAR); ;}
4547 #line 1385 "swf5compiler.y"
4548 { asmBuffer = newBuffer(); ;}
4552 #line 1387 "swf5compiler.y"
4553 { yyval.action = asmBuffer; ;}
4557 #line 1390 "swf5compiler.y"
4558 { yyval.action = yyvsp[0].action; ;}
4562 #line 1395 "swf5compiler.y"
4563 { yyval.action = yyvsp[0].action;
4564 bufferWriteOp(yyval.action, SWFACTION_POP); ;}
4568 #line 1399 "swf5compiler.y"
4569 { yyval.action = yyvsp[0].action;
4570 bufferWriteOp(yyval.action, SWFACTION_POP); ;}
4574 #line 1403 "swf5compiler.y"
4575 { if(yyvsp[0].lval.obj)
4577 if(yyvsp[0].lval.ident)
4579 yyval.action = yyvsp[0].lval.obj; /* a */
4580 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, a */
4581 bufferWriteBuffer(yyval.action, yyvsp[0].lval.ident); /* a, a, i */
4582 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, a.i */
4583 bufferWriteOp(yyval.action, yyvsp[-1].op); /* a, a.i+1 */
4584 bufferConcat(yyval.action, yyvsp[0].lval.ident); /* a, a.i+1, i */
4585 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a.i+1 */
4586 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a.i = a.i+1 */
4590 /* weird contortions so that $2.memexpr can use reg 0 */
4591 yyval.action = yyvsp[0].lval.memexpr; /* i */
4592 bufferConcat(yyval.action, yyvsp[0].lval.obj); /* i, a */
4593 bufferWriteSetRegister(yyval.action, 0);
4594 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i */
4595 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, i, i */
4596 bufferWriteRegister(yyval.action, 0); /* a, i, i, a */
4597 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a, i */
4598 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, i, a[i] */
4599 bufferWriteOp(yyval.action, yyvsp[-1].op); /* a, i, a[i]+1 */
4600 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a[i] = a[i]+1 */
4605 yyval.action = yyvsp[0].lval.ident;
4606 bufferWriteOp(yyval.action, SWFACTION_DUP);
4607 bufferWriteOp(yyval.action, SWFACTION_GETVARIABLE);
4608 bufferWriteOp(yyval.action, yyvsp[-1].op);
4609 bufferWriteOp(yyval.action, SWFACTION_SETVARIABLE);
4615 #line 1442 "swf5compiler.y"
4616 { if(yyvsp[-1].lval.obj)
4618 if(yyvsp[-1].lval.ident)
4620 yyval.action = yyvsp[-1].lval.obj; /* a */
4621 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, a */
4622 bufferWriteBuffer(yyval.action, yyvsp[-1].lval.ident); /* a, a, i */
4623 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, a.i */
4624 bufferWriteOp(yyval.action, yyvsp[0].op); /* a, a.i+1 */
4625 bufferConcat(yyval.action, yyvsp[-1].lval.ident); /* a, a.i+1, i */
4626 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a.i+1 */
4627 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a.i = a.i+1 */
4631 /* weird contortions so that $1.memexpr can use reg 0 */
4632 yyval.action = yyvsp[-1].lval.memexpr; /* i */
4633 bufferConcat(yyval.action, yyvsp[-1].lval.obj); /* i, a */
4634 bufferWriteSetRegister(yyval.action, 0);
4635 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i */
4636 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, i, i */
4637 bufferWriteRegister(yyval.action, 0); /* a, i, i, a */
4638 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a, i */
4639 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, i, a[i] */
4640 bufferWriteOp(yyval.action, yyvsp[0].op); /* a, i, a[i]+1 */
4641 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a[i] = a[i]+1 */
4646 yyval.action = yyvsp[-1].lval.ident;
4647 bufferWriteOp(yyval.action, SWFACTION_DUP);
4648 bufferWriteOp(yyval.action, SWFACTION_GETVARIABLE);
4649 bufferWriteOp(yyval.action, yyvsp[0].op);
4650 bufferWriteOp(yyval.action, SWFACTION_SETVARIABLE);
4656 #line 1481 "swf5compiler.y"
4657 { if(yyvsp[-2].lval.obj)
4659 yyval.action = yyvsp[-2].lval.obj;
4661 if(yyvsp[-2].lval.ident)
4662 bufferConcat(yyval.action, yyvsp[-2].lval.ident);
4664 bufferConcat(yyval.action, yyvsp[-2].lval.memexpr);
4666 bufferConcat(yyval.action, yyvsp[0].action);
4667 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER);
4671 yyval.action = yyvsp[-2].lval.ident;
4672 bufferConcat(yyval.action, yyvsp[0].action);
4673 bufferWriteOp(yyval.action, SWFACTION_SETVARIABLE);
4679 #line 1502 "swf5compiler.y"
4680 { if(yyvsp[-2].lval.obj)
4682 if(yyvsp[-2].lval.ident)
4684 yyval.action = yyvsp[-2].lval.obj; /* a */
4685 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, a */
4686 bufferWriteBuffer(yyval.action, yyvsp[-2].lval.ident); /* a, a, i */
4687 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, a.i */
4688 bufferConcat(yyval.action, yyvsp[0].action); /* a, a.i, v */
4689 bufferWriteOp(yyval.action, yyvsp[-1].op); /* a, a.i+v */
4690 bufferConcat(yyval.action, yyvsp[-2].lval.ident); /* a, a.i+v, i */
4691 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a.i+v */
4692 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a.i = a.i+v */
4696 yyval.action = yyvsp[-2].lval.memexpr; /* i */
4697 bufferConcat(yyval.action, yyvsp[-2].lval.obj); /* i, a */
4698 bufferWriteSetRegister(yyval.action, 0);
4699 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i */
4700 bufferWriteOp(yyval.action, SWFACTION_DUP); /* a, i, i */
4701 bufferWriteRegister(yyval.action, 0); /* a, i, i, a */
4702 bufferWriteOp(yyval.action, SWFACTION_SWAP); /* a, i, a, i */
4703 bufferWriteOp(yyval.action, SWFACTION_GETMEMBER); /* a, i, a[i] */
4704 bufferConcat(yyval.action, yyvsp[0].action); /* a, i, a[i], v */
4705 bufferWriteOp(yyval.action, yyvsp[-1].op); /* a, i, a[i]+v */
4706 bufferWriteOp(yyval.action, SWFACTION_SETMEMBER); /* a[i] = a[i]+v */
4711 yyval.action = yyvsp[-2].lval.ident;
4712 bufferWriteOp(yyval.action, SWFACTION_DUP);
4713 bufferWriteOp(yyval.action, SWFACTION_GETVARIABLE);
4714 bufferConcat(yyval.action, yyvsp[0].action);
4715 bufferWriteOp(yyval.action, yyvsp[-1].op);
4716 bufferWriteOp(yyval.action, SWFACTION_SETVARIABLE);
4722 #line 1547 "swf5compiler.y"
4723 { yyval.len = yyvsp[-1].len + yyvsp[0].len; ;}
4727 #line 1552 "swf5compiler.y"
4728 { yyval.len = bufferWriteOp(asmBuffer,
4733 #line 1554 "swf5compiler.y"
4734 { yyval.len = yyvsp[-2].len + yyvsp[-1].len;
4735 bufferPatchLength(asmBuffer, yyvsp[-1].len); ;}
4739 #line 1559 "swf5compiler.y"
4740 { yyval.len = bufferWriteConstantString(asmBuffer,(byte*) yyvsp[0].str,
4741 strlen(yyvsp[0].str)+1); ;}
4745 #line 1562 "swf5compiler.y"
4746 { bufferWriteU8(asmBuffer, PUSH_INT);
4747 yyval.len = bufferWriteInt(asmBuffer, yyvsp[0].intVal)+1; ;}
4751 #line 1565 "swf5compiler.y"
4752 { bufferWriteU8(asmBuffer, PUSH_DOUBLE);
4753 yyval.len = bufferWriteDouble(asmBuffer, yyvsp[0].doubleVal)+1; ;}
4757 #line 1568 "swf5compiler.y"
4758 { bufferWriteU8(asmBuffer, PUSH_BOOLEAN);
4759 yyval.len = bufferWriteU8(asmBuffer, yyvsp[0].intVal)+1; ;}
4763 #line 1571 "swf5compiler.y"
4764 { yyval.len = bufferWriteU8(asmBuffer, PUSH_NULL); ;}
4768 #line 1573 "swf5compiler.y"
4769 { bufferWriteU8(asmBuffer, PUSH_REGISTER);
4770 yyval.len = bufferWriteU8(asmBuffer,
4771 (char)atoi(yyvsp[0].str))+1; ;}
4775 #line 1580 "swf5compiler.y"
4776 { yyval.len = yyvsp[0].len; ;}
4780 #line 1581 "swf5compiler.y"
4781 { yyval.len += yyvsp[0].len; ;}
4785 #line 1585 "swf5compiler.y"
4786 { yyval.len = bufferWriteOp(asmBuffer,
4787 SWFACTION_PUSHDATA);
4788 yyval.len += bufferWriteS16(asmBuffer, 0); ;}
4792 #line 1588 "swf5compiler.y"
4793 { yyval.len = yyvsp[-1].len + yyvsp[0].len;
4794 bufferPatchLength(asmBuffer, yyvsp[0].len); ;}
4798 #line 1594 "swf5compiler.y"
4799 { yyval.len = bufferWriteOp(asmBuffer,
4800 SWFACTION_SETREGISTER);
4801 yyval.len += bufferWriteS16(asmBuffer, 1);
4802 yyval.len += bufferWriteU8(asmBuffer,
4803 (char)atoi(yyvsp[0].str)); ;}
4807 #line 1600 "swf5compiler.y"
4808 { yyval.len = bufferWriteOp(asmBuffer,
4809 SWFACTION_CALLFUNCTION); ;}
4813 #line 1602 "swf5compiler.y"
4814 { yyval.len = bufferWriteOp(asmBuffer,
4815 SWFACTION_RETURN); ;}
4819 #line 1604 "swf5compiler.y"
4820 { yyval.len = bufferWriteOp(asmBuffer,
4821 SWFACTION_CALLMETHOD); ;}
4825 #line 1606 "swf5compiler.y"
4826 { yyval.len = bufferWriteOp(asmBuffer,
4827 SWFACTION_BITWISEAND); ;}
4831 #line 1608 "swf5compiler.y"
4832 { yyval.len = bufferWriteOp(asmBuffer,
4833 SWFACTION_BITWISEOR); ;}
4837 #line 1610 "swf5compiler.y"
4838 { yyval.len = bufferWriteOp(asmBuffer,
4839 SWFACTION_BITWISEXOR); ;}
4843 #line 1612 "swf5compiler.y"
4844 { yyval.len = bufferWriteOp(asmBuffer,
4845 SWFACTION_MODULO); ;}
4849 #line 1614 "swf5compiler.y"
4850 { yyval.len = bufferWriteOp(asmBuffer,
4851 SWFACTION_NEWADD); ;}
4855 #line 1616 "swf5compiler.y"
4856 { yyval.len = bufferWriteOp(asmBuffer,
4857 SWFACTION_NEWLESSTHAN); ;}
4861 #line 1618 "swf5compiler.y"
4862 { yyval.len = bufferWriteOp(asmBuffer,
4863 SWFACTION_NEWEQUALS); ;}
4867 #line 1620 "swf5compiler.y"
4868 { yyval.len = bufferWriteOp(asmBuffer,
4869 SWFACTION_INCREMENT); ;}
4873 #line 1622 "swf5compiler.y"
4874 { yyval.len = bufferWriteOp(asmBuffer,
4875 SWFACTION_DECREMENT); ;}
4879 #line 1624 "swf5compiler.y"
4880 { yyval.len = bufferWriteOp(asmBuffer,
4881 SWFACTION_TYPEOF); ;}
4885 #line 1626 "swf5compiler.y"
4886 { yyval.len = bufferWriteOp(asmBuffer,
4887 SWFACTION_INSTANCEOF); ;}
4891 #line 1628 "swf5compiler.y"
4892 { yyval.len = bufferWriteOp(asmBuffer,
4893 SWFACTION_ENUMERATE); ;}
4897 #line 1630 "swf5compiler.y"
4898 { yyval.len = bufferWriteOp(asmBuffer,
4899 SWFACTION_DELETE); ;}
4903 #line 1632 "swf5compiler.y"
4904 { yyval.len = bufferWriteOp(asmBuffer,
4909 #line 1634 "swf5compiler.y"
4910 { yyval.len = bufferWriteOp(asmBuffer,
4911 SWFACTION_INITARRAY); ;}
4915 #line 1636 "swf5compiler.y"
4916 { yyval.len = bufferWriteOp(asmBuffer,
4917 SWFACTION_INITOBJECT); ;}
4921 #line 1638 "swf5compiler.y"
4922 { yyval.len = bufferWriteOp(asmBuffer,
4923 SWFACTION_GETMEMBER); ;}
4927 #line 1640 "swf5compiler.y"
4928 { yyval.len = bufferWriteOp(asmBuffer,
4929 SWFACTION_SETMEMBER); ;}
4933 #line 1642 "swf5compiler.y"
4934 { yyval.len = bufferWriteOp(asmBuffer,
4935 SWFACTION_SHIFTLEFT); ;}
4939 #line 1644 "swf5compiler.y"
4940 { yyval.len = bufferWriteOp(asmBuffer,
4941 SWFACTION_SHIFTRIGHT); ;}
4945 #line 1646 "swf5compiler.y"
4946 { yyval.len = bufferWriteOp(asmBuffer,
4947 SWFACTION_SHIFTRIGHT2); ;}
4951 #line 1648 "swf5compiler.y"
4952 { yyval.len = bufferWriteOp(asmBuffer,
4957 #line 1650 "swf5compiler.y"
4958 { yyval.len = bufferWriteOp(asmBuffer,
4959 SWFACTION_VAREQUALS); ;}
4963 #line 1654 "swf5compiler.y"
4964 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_ADD); ;}
4968 #line 1655 "swf5compiler.y"
4969 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_SUBTRACT); ;}
4973 #line 1656 "swf5compiler.y"
4974 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_MULTIPLY); ;}
4978 #line 1657 "swf5compiler.y"
4979 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_DIVIDE); ;}
4983 #line 1658 "swf5compiler.y"
4984 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_EQUAL); ;}
4988 #line 1659 "swf5compiler.y"
4989 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_LESSTHAN); ;}
4993 #line 1660 "swf5compiler.y"
4994 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_LOGICALAND); ;}
4998 #line 1661 "swf5compiler.y"
4999 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_LOGICALOR); ;}
5003 #line 1662 "swf5compiler.y"
5004 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_LOGICALNOT); ;}
5008 #line 1663 "swf5compiler.y"
5009 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_STRINGEQ); ;}
5013 #line 1664 "swf5compiler.y"
5014 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_STRINGLENGTH); ;}
5018 #line 1665 "swf5compiler.y"
5019 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_SUBSTRING); ;}
5023 #line 1666 "swf5compiler.y"
5024 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_INT); ;}
5028 #line 1667 "swf5compiler.y"
5029 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_DUP); ;}
5033 #line 1668 "swf5compiler.y"
5034 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_SWAP); ;}
5038 #line 1669 "swf5compiler.y"
5039 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_POP); ;}
5043 #line 1670 "swf5compiler.y"
5044 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_GETVARIABLE); ;}
5048 #line 1671 "swf5compiler.y"
5049 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_SETVARIABLE); ;}
5053 #line 1672 "swf5compiler.y"
5054 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_SETTARGETEXPRESSION); ;}
5058 #line 1673 "swf5compiler.y"
5059 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_STRINGCONCAT); ;}
5063 #line 1674 "swf5compiler.y"
5064 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_DUPLICATECLIP); ;}
5068 #line 1675 "swf5compiler.y"
5069 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_REMOVECLIP); ;}
5073 #line 1676 "swf5compiler.y"
5074 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_TRACE); ;}
5078 #line 1677 "swf5compiler.y"
5079 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_STRINGCOMPARE); ;}
5083 #line 1678 "swf5compiler.y"
5084 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_RANDOM); ;}
5088 #line 1679 "swf5compiler.y"
5089 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_MBLENGTH); ;}
5093 #line 1680 "swf5compiler.y"
5094 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_ORD); ;}
5098 #line 1681 "swf5compiler.y"
5099 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_CHR); ;}
5103 #line 1682 "swf5compiler.y"
5104 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_GETTIMER); ;}
5108 #line 1683 "swf5compiler.y"
5109 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_MBSUBSTRING); ;}
5113 #line 1684 "swf5compiler.y"
5114 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_MBORD); ;}
5118 #line 1685 "swf5compiler.y"
5119 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_MBCHR); ;}
5123 #line 1688 "swf5compiler.y"
5124 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_BRANCHALWAYS);
5125 yyval.len += bufferWriteS16(asmBuffer, 2);
5126 yyval.len += bufferBranchTarget(asmBuffer, yyvsp[0].str); ;}
5130 #line 1692 "swf5compiler.y"
5131 { yyval.len = bufferWriteOp(asmBuffer, SWFACTION_BRANCHIFTRUE);
5132 yyval.len += bufferWriteS16(asmBuffer, 2);
5133 yyval.len += bufferBranchTarget(asmBuffer, yyvsp[0].str); ;}
5139 /* Line 999 of yacc.c. */
5140 #line 5140 "swf5compiler.tab.c"
5146 YY_STACK_PRINT (yyss, yyssp);
5151 /* Now `shift' the result of the reduction. Determine what state
5152 that goes to, based on the state we popped back to and the rule
5153 number reduced by. */
5157 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5158 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5159 yystate = yytable[yystate];
5161 yystate = yydefgoto[yyn - YYNTOKENS];
5166 /*------------------------------------.
5167 | yyerrlab -- here on detecting error |
5168 `------------------------------------*/
5170 /* If not already recovering from an error, report this error. */
5175 yyn = yypact[yystate];
5177 if (YYPACT_NINF < yyn && yyn < YYLAST)
5179 YYSIZE_T yysize = 0;
5180 int yytype = YYTRANSLATE (yychar);
5185 /* Start YYX at -YYN if negative to avoid negative indexes in
5187 for (yyx = yyn < 0 ? -yyn : 0;
5188 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
5189 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
5190 yysize += yystrlen (yytname[yyx]) + 15, yycount++;
5191 yysize += yystrlen ("syntax error, unexpected ") + 1;
5192 yysize += yystrlen (yytname[yytype]);
5193 yymsg = (char *) YYSTACK_ALLOC (yysize);
5196 char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
5197 yyp = yystpcpy (yyp, yytname[yytype]);
5202 for (yyx = yyn < 0 ? -yyn : 0;
5203 yyx < (int) (sizeof (yytname) / sizeof (char *));
5205 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
5207 const char *yyq = ! yycount ? ", expecting " : " or ";
5208 yyp = yystpcpy (yyp, yyq);
5209 yyp = yystpcpy (yyp, yytname[yyx]);
5214 YYSTACK_FREE (yymsg);
5217 yyerror ("syntax error; also virtual memory exhausted");
5220 #endif /* YYERROR_VERBOSE */
5221 yyerror ("syntax error");
5226 if (yyerrstatus == 3)
5228 /* If just tried and failed to reuse lookahead token after an
5229 error, discard it. */
5231 /* Return failure if at end of input. */
5232 if (yychar == YYEOF)
5234 /* Pop the error token. */
5236 /* Pop the rest of the stack. */
5237 while (yyss < yyssp)
5239 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
5240 yydestruct (yystos[*yyssp], yyvsp);
5246 YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
5247 yydestruct (yytoken, &yylval);
5252 /* Else will try to reuse lookahead token after shifting the error
5257 /*----------------------------------------------------.
5258 | yyerrlab1 -- error raised explicitly by an action. |
5259 `----------------------------------------------------*/
5261 yyerrstatus = 3; /* Each real token shifted decrements this. */
5265 yyn = yypact[yystate];
5266 if (yyn != YYPACT_NINF)
5269 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5277 /* Pop the current state because it cannot handle the error token. */
5281 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
5282 yydestruct (yystos[yystate], yyvsp);
5286 YY_STACK_PRINT (yyss, yyssp);
5292 YYDPRINTF ((stderr, "Shifting error token, "));
5301 /*-------------------------------------.
5302 | yyacceptlab -- YYACCEPT comes here. |
5303 `-------------------------------------*/
5308 /*-----------------------------------.
5309 | yyabortlab -- YYABORT comes here. |
5310 `-----------------------------------*/
5316 /*----------------------------------------------.
5317 | yyoverflowlab -- parser overflow comes here. |
5318 `----------------------------------------------*/
5320 yyerror ("parser stack overflow");
5328 YYSTACK_FREE (yyss);
5334 #line 1697 "swf5compiler.y"