diff options
author | Leon Timmermans <fawaka@gmail.com> | 2014-05-21 13:56:54 +0200 |
---|---|---|
committer | Leon Timmermans <fawaka@gmail.com> | 2014-05-29 15:01:50 +0200 |
commit | e5a8a0fbd70ee31a016b7cf1c4b8c07839c6cf97 (patch) | |
tree | b76deaf20debae69504ec40cb5e3dccb759b2992 /x2p/a2p.c | |
parent | c02d599bfd636e89753a6ed00b136798dc1661c3 (diff) | |
download | perl-e5a8a0fbd70ee31a016b7cf1c4b8c07839c6cf97.tar.gz |
Remove x2p
This removes find2perl, s2p and a2p from core. They have all been
released to CPAN as separate distributions.
Diffstat (limited to 'x2p/a2p.c')
-rw-r--r-- | x2p/a2p.c | 2941 |
1 files changed, 0 insertions, 2941 deletions
diff --git a/x2p/a2p.c b/x2p/a2p.c deleted file mode 100644 index 8d6e9cde57..0000000000 --- a/x2p/a2p.c +++ /dev/null @@ -1,2941 +0,0 @@ -#ifndef lint -static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; -#endif -#define YYBYACC 1 -#define YYMAJOR 1 -#define YYMINOR 9 -#define yyclearin (yychar=(-1)) -#define yyerrok (yyerrflag=0) -#define YYRECOVERING (yyerrflag!=0) -extern int yyparse(void); -#define YYPREFIX "yy" -#line 2 "a2p.y" -/* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $ - * - * Copyright (C) 1991, 1992, 1993, 1994, 1996, 1997, 1999, 2000, - * by Larry Wall and others - * - * You may distribute under the terms of either the GNU General Public - * License or the Artistic License, as specified in the README file. - * - * $Log: a2p.y,v $ - */ - -#include "INTERN.h" -#include "a2p.h" - -int root; -int begins = Nullop; -int ends = Nullop; - -#line 32 "y.tab.c" -#define BEGIN 257 -#define END 258 -#define REGEX 259 -#define SEMINEW 260 -#define NEWLINE 261 -#define COMMENT 262 -#define FUN1 263 -#define FUNN 264 -#define GRGR 265 -#define PRINT 266 -#define PRINTF 267 -#define SPRINTF_OLD 268 -#define SPRINTF_NEW 269 -#define SPLIT 270 -#define IF 271 -#define ELSE 272 -#define WHILE 273 -#define FOR 274 -#define IN 275 -#define EXIT 276 -#define NEXT 277 -#define BREAK 278 -#define CONTINUE 279 -#define RET 280 -#define GETLINE 281 -#define DO 282 -#define SUB 283 -#define GSUB 284 -#define MATCH 285 -#define FUNCTION 286 -#define USERFUN 287 -#define DELETE 288 -#define ASGNOP 289 -#define OROR 290 -#define ANDAND 291 -#define NUMBER 292 -#define VAR 293 -#define SUBSTR 294 -#define INDEX 295 -#define MATCHOP 296 -#define RELOP 297 -#define OR 298 -#define STRING 299 -#define UMINUS 300 -#define NOT 301 -#define INCR 302 -#define DECR 303 -#define FIELD 304 -#define VFIELD 305 -#define SVFIELD 306 -#define YYERRCODE 256 -short yylhs[] = { -1, - 0, 3, 6, 6, 2, 2, 7, 7, 7, 7, - 7, 7, 9, 8, 8, 11, 11, 11, 11, 11, - 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, - 13, 13, 12, 12, 12, 12, 18, 18, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 17, 17, 17, 17, 17, 10, - 10, 10, 19, 19, 19, 1, 1, 20, 20, 20, - 20, 4, 4, 21, 21, 22, 22, 22, 22, 5, - 5, 23, 23, 23, 23, 26, 26, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 27, 27, 27, 25, 25, 25, 25, 25, 25, 25, - 25, -}; -short yylen[] = { 2, - 2, 6, 5, 2, 3, 0, 1, 5, 10, 4, - 1, 1, 1, 1, 3, 1, 1, 1, 1, 5, - 3, 4, 4, 2, 3, 3, 3, 3, 3, 3, - 1, 3, 1, 2, 5, 3, 1, 1, 1, 1, - 1, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 2, 2, 3, 1, 2, 3, 4, 3, - 4, 1, 3, 4, 4, 4, 4, 2, 8, 6, - 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, - 8, 8, 8, 8, 1, 4, 1, 1, 2, 1, - 1, 0, 4, 4, 3, 2, 0, 1, 1, 1, - 1, 2, 0, 1, 1, 2, 2, 2, 2, 2, - 0, 3, 2, 2, 1, 1, 0, 1, 4, 2, - 4, 2, 1, 1, 1, 2, 1, 1, 2, 5, - 1, 1, 1, 6, 9, 6, 7, 10, 9, 6, - 5, -}; -short yydefred[] = { 97, - 0, 0, 99, 100, 101, 98, 0, 96, 0, 0, - 31, 0, 0, 38, 0, 0, 0, 0, 0, 0, - 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, - 0, 0, 87, 0, 88, 103, 0, 11, 0, 97, - 0, 0, 0, 17, 18, 19, 0, 0, 0, 103, - 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, - 51, 52, 0, 0, 0, 0, 0, 0, 4, 0, - 103, 0, 103, 103, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 50, 0, 68, 0, 0, 0, 0, 63, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 104, 105, 0, 102, 55, - 32, 28, 21, 0, 0, 0, 0, 0, 0, 30, - 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 103, 103, 0, 0, - 64, 65, 67, 0, 0, 0, 0, 0, 0, 0, - 0, 13, 66, 86, 0, 0, 103, 0, 0, 0, - 0, 0, 0, 124, 123, 127, 0, 103, 0, 103, - 10, 103, 0, 110, 0, 115, 0, 0, 0, 22, - 0, 61, 95, 0, 0, 97, 3, 0, 0, 0, - 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, - 103, 103, 103, 103, 8, 0, 0, 0, 0, 0, - 73, 0, 78, 0, 77, 0, 80, 0, 79, 0, - 75, 76, 0, 70, 0, 74, 132, 131, 133, 0, - 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 103, 0, 0, 0, 103, 103, 103, 0, 0, 0, - 103, 72, 71, 82, 81, 84, 83, 0, 69, 0, - 0, 0, 0, 0, 0, 130, 0, 0, 0, 136, - 140, 0, 0, 0, 9, 103, 103, 0, 137, 0, - 0, 103, 135, 139, 0, 138, -}; -short yydgoto[] = { 1, - 2, 7, 38, 74, 128, 39, 40, 41, 171, 104, - 75, 193, 44, 45, 46, 47, 48, 49, 106, 8, - 129, 234, 194, 195, 196, 266, 260, -}; -short yysindex[] = { 0, - 0, -52, 0, 0, 0, 0, 6281, 0, -83, -65, - 0, 27, 28, 0, 43, 46, 29, 48, 50, 51, - -218, 64, 0, -14, 65, 66, 0, 8153, 8153, 6722, - -176, -176, 0, 8153, 0, 0, 6722, 0, -165, 0, - -38, -13, 6376, 0, 0, 0, -32, -232, 8198, 0, - 0, 7770, 8198, 8198, 8153, 8153, 47, 7835, 7883, 8153, - 69, 8198, 8198, 8153, 8153, 6722, -57, -267, -57, 0, - 0, 0, -2, -210, -41, 79, 80, 85, 0, -52, - 0, 8153, 0, 0, 6722, 8153, 7931, 8153, 8153, 8153, - -32, -166, 8153, 8153, 8153, 8153, 8153, 8153, -150, 6722, - 0, 0, 6770, 0, 3731, 88, -210, -210, 0, 1055, - 93, 94, 6815, 184, 8153, 92, 6892, 96, 6939, 7003, - 8198, 97, 44, 7048, 7094, 0, 0, 5585, 0, 0, - 0, 0, 0, -210, 7172, 2108, 2108, -60, 7216, 0, - 184, 184, 184, 184, 0, 45, 45, -57, -57, -57, - -57, -176, -60, 6770, 6332, 32, 0, 0, 5632, 5700, - 0, 0, 0, -148, 184, 8153, 8153, 8153, 8153, 8001, - 102, 0, 0, 0, 8153, 8153, 0, 8198, 8198, 107, - 121, 127, 8153, 0, 0, 0, 8153, 0, -130, 0, - 0, 0, 8045, 0, -43, 0, 5899, 8153, -119, 0, - 8153, 0, 0, 1434, 1434, 0, 0, 37, 5431, 6447, - 6491, 6548, 134, 7281, 0, 6611, 7327, -210, -45, -45, - 6722, 6722, 2656, 8045, 8045, 4777, 90, -210, -210, 0, - 0, 0, 0, 0, 0, 8045, 8045, 8045, 8045, -52, - 0, 8105, 0, 8153, 0, 8153, 0, 8153, 0, 8153, - 0, 0, -96, 0, 8153, 0, 0, 0, 0, 8153, - 8153, -39, -37, 7371, 0, 124, -89, 8198, 5967, -210, - -210, -210, -210, -210, 144, 7449, 7493, 7560, 7604, 7648, - 0, 7726, 8045, 8045, 0, 0, 0, 6659, 146, 95, - 0, 0, 0, 0, 0, 0, 0, -210, 0, 4777, - 4777, 4777, 2656, -51, 6722, 0, -210, 6014, -85, 0, - 0, 151, 2656, -35, 0, 0, 0, 152, 0, 4777, - 4777, 0, 0, 0, 4777, 0, -}; -short yyrindex[] = { 0, - 0, 2742, 0, 0, 0, 0, 194, 0, 0, 0, - 0, 56, 0, 0, 111, 0, 3174, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2475, 0, - 2531, 2375, 4311, 0, 0, 0, 2057, 1630, 3897, 0, - 0, 0, 154, 154, 0, 0, 382, 0, 0, 0, - 0, 154, 105, 0, 0, 0, 818, 872, 1143, 0, - 0, 0, 437, 6065, 0, -54, -49, -44, 0, 2798, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2324, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4263, 492, 6065, 6065, 0, 0, - 0, 0, 0, 3222, 0, 0, 0, 0, 0, 0, - 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6065, 0, 0, 0, 2425, 0, 0, - 3462, 3507, 3552, 3621, 0, 1956, 2007, 1197, 1251, 1522, - 1576, 3119, 1901, 0, -23, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3830, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 504, 504, 0, - 0, 0, 13, 0, 0, 0, 103, 0, 0, 0, - 0, 0, 123, 0, 0, 0, 0, 0, 763, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4830, 173, 242, - 0, 0, 140, 297, 350, 0, 0, 6065, 4878, 0, - 0, 0, 0, 0, 0, 3945, 4017, 4106, 4208, 2848, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 0, 0, 0, 105, 0, 4952, - 5145, 5219, 5266, 5318, 0, 0, 0, 0, 0, 0, - 0, 0, 398, 484, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 6065, 0, 0, - 0, 0, 161, 0, 0, 0, 5534, 0, 6180, 0, - 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -}; -short yygindex[] = { 0, - -17, 0, 0, 4597, -87, 0, 0, 0, 0, 12, - 23, 4555, -12, -8, -3, 8435, 4752, 0, -70, 0, - 0, 0, -124, -191, 0, -264, -7, -}; -#define YYTABLESIZE 8719 -short yytable[] = { 130, - 85, 285, 82, 286, 97, 319, 6, 313, 17, 95, - 93, 82, 94, 18, 96, 233, 258, 16, 19, 159, - 160, 82, 80, 82, 76, 82, 281, 82, 77, 42, - 85, 265, 156, 78, 101, 102, 98, 85, 312, 50, - 85, 85, 85, 85, 85, 85, 197, 85, 318, 82, - 126, 127, 70, 125, 99, 62, 100, 51, 85, 85, - 85, 98, 85, 85, 111, 112, 52, 53, 61, 101, - 102, 125, 203, 122, 123, 158, 63, 241, 259, 99, - 242, 97, 54, 156, 81, 55, 95, 58, 56, 59, - 60, 96, 62, 85, 85, 79, 62, 62, 62, 62, - 62, 267, 62, 62, 64, 65, 115, 138, 121, 99, - 37, 265, 85, 62, 62, 62, 24, 62, 62, 131, - 132, 265, 153, 85, 85, 133, 145, 33, 34, 35, - 152, 158, 172, 162, 163, 166, 174, 173, 98, 168, - 269, 76, 215, 128, 208, 77, 221, 37, 62, 62, - 78, 37, 37, 37, 37, 37, 99, 37, 199, 200, - 222, 128, 227, 118, 126, 127, 223, 62, 37, 37, - 37, 84, 37, 37, 251, 309, 310, 311, 62, 62, - 268, 118, 288, 289, 292, 305, 316, 306, 240, 219, - 220, 317, 322, 1, 92, 323, 324, 92, 117, 118, - 326, 117, 0, 37, 37, 0, 0, 3, 4, 5, - 308, 0, 261, 120, 0, 0, 230, 231, 232, 257, - 0, 0, 37, 66, 0, 0, 28, 0, 29, 83, - 84, 120, 0, 37, 37, 17, 17, 0, 83, 84, - 18, 18, 92, 262, 263, 19, 19, 0, 83, 84, - 83, 84, 83, 84, 83, 84, 0, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 16, 16, 85, 85, - 85, 0, 125, 125, 125, 85, 83, 84, 0, 290, - 0, 85, 122, 85, 85, 85, 85, 85, 0, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 0, 85, - 122, 85, 85, 85, 85, 85, 85, 0, 0, 0, - 304, 0, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 24, 0, 62, 62, 62, 0, 314, 0, 0, - 62, 0, 33, 34, 35, 0, 62, 126, 62, 62, - 62, 62, 62, 0, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 0, 62, 126, 62, 62, 62, 62, - 62, 62, 128, 128, 128, 0, 0, 37, 37, 37, - 37, 37, 37, 37, 37, 37, 0, 0, 37, 37, - 37, 57, 118, 118, 118, 37, 0, 0, 0, 0, - 129, 37, 0, 37, 37, 37, 37, 37, 0, 37, - 37, 37, 37, 37, 37, 37, 37, 37, 129, 37, - 0, 37, 37, 37, 37, 37, 37, 0, 57, 0, - 0, 57, 57, 57, 57, 57, 57, 0, 57, 0, - 0, 0, 120, 120, 120, 0, 89, 0, 119, 57, - 57, 0, 0, 57, 57, 0, 12, 13, 0, 0, - 0, 14, 15, 16, 0, 0, 119, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 18, 19, 20, 0, - 22, 0, 0, 89, 57, 57, 89, 89, 89, 89, - 89, 89, 27, 89, 0, 31, 32, 33, 34, 35, - 0, 91, 0, 57, 89, 89, 89, 0, 89, 89, - 0, 122, 122, 122, 57, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 91, 89, - 89, 91, 91, 91, 91, 0, 91, 0, 91, 0, - 0, 0, 121, 0, 92, 0, 0, 0, 0, 91, - 91, 91, 0, 91, 91, 0, 126, 126, 126, 89, - 89, 0, 92, 0, 0, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 91, 91, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 0, 0, 0, 0, 0, 129, - 129, 129, 0, 0, 91, 91, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 0, 0, 57, - 57, 57, 0, 0, 0, 0, 57, 119, 119, 119, - 0, 0, 57, 0, 57, 57, 57, 57, 57, 0, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 0, - 57, 0, 57, 57, 57, 57, 57, 57, 0, 0, - 0, 0, 0, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 0, 0, 89, 89, 89, 0, 0, 0, - 0, 89, 0, 0, 0, 0, 0, 89, 0, 89, - 89, 89, 89, 89, 0, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 0, 89, 0, 89, 89, 89, - 89, 89, 89, 121, 121, 121, 0, 0, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 0, 0, 91, - 91, 91, 23, 92, 92, 92, 91, 0, 92, 0, - 0, 0, 91, 0, 91, 91, 91, 91, 91, 0, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, - 91, 0, 91, 91, 91, 91, 91, 91, 0, 23, - 0, 0, 23, 23, 23, 23, 23, 23, 0, 23, - 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, - 23, 23, 23, 0, 23, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 23, 23, 54, 54, 54, - 54, 54, 54, 0, 54, 0, 0, 0, 0, 0, - 0, 39, 0, 0, 23, 54, 54, 54, 0, 54, - 54, 0, 0, 0, 0, 23, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, - 54, 39, 39, 39, 39, 39, 39, 0, 39, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, - 39, 39, 0, 39, 39, 0, 0, 0, 0, 0, - 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 39, 39, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 39, 39, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, - 23, 23, 23, 0, 0, 0, 0, 23, 0, 0, - 0, 0, 0, 23, 0, 23, 23, 23, 23, 23, - 0, 23, 23, 0, 23, 23, 23, 23, 23, 23, - 0, 23, 0, 23, 23, 23, 23, 23, 23, 0, - 0, 0, 0, 0, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 0, 0, 54, 54, 54, 0, 0, - 0, 0, 54, 0, 66, 161, 0, 28, 54, 29, - 54, 54, 54, 54, 54, 0, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 0, 54, 86, 54, 54, - 54, 54, 54, 54, 0, 0, 0, 0, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 0, 0, 39, - 39, 39, 53, 0, 0, 0, 39, 0, 0, 0, - 0, 0, 39, 0, 39, 39, 39, 39, 39, 0, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, - 39, 0, 39, 0, 0, 39, 39, 39, 0, 53, - 0, 0, 53, 53, 53, 53, 53, 53, 0, 53, - 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, - 53, 53, 53, 0, 53, 53, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 53, 44, 44, 44, 44, - 44, 44, 0, 44, 0, 0, 0, 0, 0, 0, - 45, 0, 0, 0, 44, 44, 44, 0, 44, 44, - 0, 0, 0, 0, 0, 53, 53, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 45, 0, 44, - 45, 45, 45, 45, 45, 45, 0, 45, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 45, 45, - 45, 0, 45, 45, 0, 0, 0, 12, 13, 44, - 44, 0, 14, 15, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 18, 19, 20, - 0, 22, 0, 45, 0, 0, 23, 24, 25, 26, - 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 45, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, - 53, 53, 53, 0, 0, 0, 0, 53, 0, 0, - 0, 0, 0, 53, 0, 53, 53, 53, 53, 53, - 0, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 0, 53, 0, 53, 53, 53, 53, 53, 53, 0, - 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, - 44, 44, 0, 0, 44, 44, 44, 0, 0, 0, - 0, 44, 0, 66, 0, 0, 28, 44, 29, 44, - 44, 44, 44, 44, 0, 44, 44, 44, 44, 44, - 44, 44, 44, 44, 0, 44, 0, 44, 44, 44, - 44, 44, 44, 0, 0, 0, 0, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 0, 0, 45, 45, - 45, 46, 0, 0, 0, 45, 0, 0, 0, 0, - 0, 45, 0, 45, 45, 45, 45, 45, 0, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 0, 45, - 0, 45, 45, 45, 45, 45, 45, 0, 46, 0, - 0, 46, 46, 46, 46, 46, 46, 0, 46, 0, - 0, 0, 0, 0, 0, 47, 0, 0, 0, 46, - 46, 46, 0, 46, 46, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 47, 0, 46, 47, 47, 47, 47, 47, - 47, 0, 47, 0, 0, 0, 0, 0, 0, 39, - 0, 0, 0, 47, 47, 47, 0, 47, 47, 0, - 0, 0, 0, 0, 46, 46, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 39, 0, 47, 39, - 39, 39, 39, 39, 39, 0, 39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, - 0, 39, 39, 0, 126, 127, 12, 13, 47, 47, - 0, 14, 15, 16, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 18, 19, 20, 0, - 22, 0, 39, 39, 0, 23, 24, 25, 26, 0, - 0, 0, 27, 0, 0, 31, 32, 33, 34, 35, - 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 39, 39, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 0, 0, 46, - 46, 46, 0, 0, 0, 0, 46, 0, 0, 0, - 0, 0, 46, 0, 46, 46, 46, 46, 46, 0, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, - 46, 0, 46, 46, 46, 46, 46, 46, 0, 0, - 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 0, 0, 47, 47, 47, 0, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 47, 0, 47, 47, - 47, 47, 47, 0, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 0, 47, 0, 47, 47, 47, 47, - 47, 47, 0, 0, 0, 0, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 0, 0, 39, 39, 39, - 36, 0, 0, 0, 39, 0, 0, 0, 0, 0, - 39, 0, 39, 39, 39, 39, 39, 0, 0, 39, - 39, 39, 39, 39, 39, 39, 39, 0, 39, 0, - 39, 0, 0, 39, 39, 39, 0, 36, 0, 0, - 36, 36, 36, 36, 36, 36, 0, 36, 0, 0, - 0, 0, 0, 0, 0, 42, 0, 0, 36, 36, - 36, 0, 36, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 36, 36, 42, 42, 0, 42, 42, - 42, 0, 0, 0, 0, 0, 43, 0, 0, 0, - 0, 0, 36, 42, 42, 42, 0, 42, 42, 0, - 0, 0, 0, 36, 36, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 43, 43, 42, 43, - 43, 43, 0, 0, 0, 0, 33, 0, 0, 0, - 0, 0, 0, 0, 43, 43, 43, 0, 43, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 42, 42, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 33, 33, 0, 43, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 33, 33, 0, 33, 33, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, - 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 37, 0, 33, - 28, 0, 29, 0, 0, 0, 0, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 0, 0, 36, 36, - 36, 0, 0, 0, 0, 36, 0, 0, 0, 33, - 33, 36, 0, 36, 36, 36, 36, 36, 0, 36, - 0, 0, 36, 36, 36, 36, 36, 36, 0, 36, - 0, 36, 36, 36, 36, 36, 36, 0, 0, 0, - 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 0, 0, 42, 42, 42, 0, 0, 0, 0, - 42, 0, 0, 0, 0, 0, 42, 0, 42, 42, - 42, 42, 42, 0, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 0, 42, 0, 42, 42, 42, 42, - 42, 42, 0, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 0, 0, 43, 43, 43, 0, 0, 0, - 0, 43, 0, 0, 0, 0, 0, 43, 0, 43, - 43, 43, 43, 43, 0, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 0, 43, 0, 43, 43, 43, - 43, 43, 43, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 0, 34, 33, 33, 33, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 0, 33, - 33, 33, 33, 33, 0, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 0, 33, 0, 33, 33, 33, - 33, 33, 33, 34, 34, 0, 11, 34, 126, 127, - 12, 13, 0, 0, 14, 14, 15, 16, 0, 0, - 0, 34, 34, 34, 0, 34, 34, 0, 17, 0, - 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, - 24, 25, 26, 0, 0, 0, 27, 0, 30, 31, - 32, 33, 34, 35, 14, 0, 34, 14, 0, 14, - 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 34, 34, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 15, 0, 0, 15, 0, 15, - 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 0, 0, 12, 0, 12, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 0, 12, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 0, 7, 0, 7, 0, 0, 0, 0, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 7, - 0, 34, 34, 34, 0, 0, 0, 12, 0, 0, - 0, 0, 0, 0, 34, 0, 34, 34, 34, 34, - 34, 0, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 0, 34, 0, 34, 34, 34, 34, 34, 34, - 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, - 0, 0, 14, 14, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 14, 14, 14, - 14, 14, 0, 0, 0, 0, 14, 14, 14, 14, - 0, 0, 0, 14, 0, 14, 14, 14, 14, 14, - 14, 15, 15, 15, 15, 15, 15, 15, 15, 0, - 0, 0, 15, 15, 15, 66, 0, 0, 28, 0, - 29, 0, 0, 0, 0, 15, 0, 15, 15, 15, - 15, 15, 0, 0, 0, 0, 15, 15, 15, 15, - 0, 0, 0, 15, 0, 15, 15, 15, 15, 15, - 15, 12, 12, 12, 12, 0, 12, 12, 12, 0, - 0, 6, 12, 12, 12, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 12, 0, 12, 12, 12, - 12, 12, 0, 0, 0, 0, 12, 12, 12, 12, - 0, 0, 0, 12, 0, 12, 12, 12, 12, 12, - 12, 6, 0, 0, 6, 0, 6, 7, 7, 7, - 7, 7, 7, 7, 7, 0, 0, 5, 7, 7, - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 7, 7, 7, 7, 7, 0, 0, - 0, 0, 7, 7, 7, 7, 0, 0, 0, 7, - 0, 7, 7, 7, 7, 7, 7, 5, 0, 0, - 5, 0, 5, 0, 0, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, - 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, - 5, 178, 179, 14, 15, 16, 0, 0, 0, 0, - 0, 183, 184, 185, 186, 187, 17, 0, 18, 19, - 20, 0, 22, 189, 0, 0, 0, 23, 24, 25, - 26, 0, 0, 0, 27, 0, 0, 31, 32, 33, - 34, 35, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, - 6, 0, 0, 0, 6, 6, 0, 0, 0, 6, - 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 6, 6, 6, 6, 6, 0, - 0, 0, 0, 6, 6, 6, 6, 0, 0, 0, - 6, 0, 6, 6, 6, 6, 6, 6, 0, 0, - 0, 0, 0, 0, 5, 5, 5, 0, 0, 0, - 5, 5, 0, 0, 0, 5, 5, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, - 5, 5, 5, 5, 5, 0, 0, 0, 0, 5, - 5, 5, 5, 0, 0, 0, 5, 0, 5, 5, - 5, 5, 5, 5, 2, 2, 2, 0, 0, 0, - 2, 2, 0, 0, 0, 2, 2, 2, 60, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, - 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, - 2, 2, 2, 2, 0, 60, 0, 0, 60, 60, - 60, 60, 60, 60, 0, 60, 0, 0, 0, 0, - 0, 0, 0, 56, 0, 0, 60, 60, 60, 0, - 60, 60, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 60, 60, 56, 56, 56, 56, 56, 56, 0, - 56, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 60, 56, 56, 0, 0, 56, 56, 0, 0, 0, - 0, 60, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, - 0, 0, 58, 58, 0, 58, 56, 56, 58, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, - 58, 58, 0, 58, 58, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 56, 56, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 58, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 58, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 60, 60, 60, 60, 60, - 60, 60, 60, 60, 0, 0, 60, 60, 60, 0, - 0, 0, 0, 60, 0, 0, 0, 0, 0, 60, - 0, 60, 60, 60, 60, 60, 0, 60, 60, 60, - 60, 0, 60, 60, 60, 60, 0, 60, 0, 60, - 60, 60, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, - 0, 56, 56, 56, 0, 0, 0, 0, 56, 0, - 0, 0, 0, 0, 56, 0, 56, 56, 56, 56, - 56, 29, 56, 56, 56, 56, 0, 56, 56, 56, - 56, 0, 56, 0, 56, 56, 56, 0, 58, 58, - 58, 58, 58, 58, 0, 0, 58, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 58, 0, 29, 0, - 0, 0, 29, 29, 0, 29, 25, 58, 29, 0, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 29, - 29, 29, 58, 29, 29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 25, 0, 0, 0, 25, 25, 0, - 25, 27, 0, 25, 29, 29, 0, 0, 0, 0, - 0, 0, 0, 0, 25, 25, 25, 0, 25, 25, - 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 29, 29, 0, 0, 27, 0, - 0, 0, 27, 27, 0, 27, 0, 0, 27, 25, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 27, - 27, 27, 0, 27, 27, 0, 0, 0, 25, 0, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 25, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 27, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, - 0, 26, 26, 27, 26, 0, 0, 26, 0, 0, - 0, 0, 0, 0, 27, 27, 0, 0, 26, 26, - 26, 0, 26, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 26, 0, 0, 0, 29, 29, - 29, 29, 29, 29, 0, 0, 29, 0, 0, 0, - 0, 0, 26, 0, 0, 0, 29, 0, 0, 0, - 0, 0, 0, 26, 26, 0, 0, 29, 0, 0, - 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, - 0, 0, 29, 25, 25, 25, 25, 25, 25, 0, - 66, 25, 0, 28, 157, 29, 0, 0, 0, 0, - 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 25, 86, 0, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 0, 0, 0, 25, 27, 27, - 27, 27, 27, 27, 0, 0, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 27, 0, 0, 59, - 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, - 59, 59, 0, 59, 0, 0, 59, 26, 26, 26, - 26, 26, 26, 0, 0, 26, 0, 59, 59, 59, - 0, 59, 59, 0, 0, 26, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 0, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, - 0, 26, 59, 59, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 92, 92, 0, - 92, 59, 0, 92, 20, 0, 0, 0, 0, 0, - 0, 0, 59, 59, 92, 92, 92, 0, 92, 92, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 20, 0, 0, 0, 20, 20, 0, 20, 92, - 92, 20, 0, 12, 13, 0, 0, 0, 14, 15, - 16, 0, 20, 20, 20, 0, 20, 0, 92, 0, - 0, 17, 0, 18, 19, 20, 35, 22, 0, 92, - 92, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 20, 20, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 35, 0, 0, 20, 35, 35, 0, - 35, 0, 0, 35, 0, 0, 0, 20, 20, 0, - 0, 0, 0, 0, 35, 35, 35, 0, 35, 0, - 0, 0, 0, 0, 0, 0, 59, 59, 59, 59, - 59, 59, 0, 0, 59, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 93, 0, 0, 0, 35, - 35, 0, 0, 0, 0, 59, 0, 0, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 0, 35, 0, - 59, 0, 0, 0, 0, 0, 0, 0, 0, 35, - 35, 0, 93, 0, 0, 0, 93, 93, 0, 93, - 0, 0, 93, 92, 92, 92, 92, 92, 92, 0, - 0, 92, 0, 93, 93, 93, 0, 93, 0, 0, - 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 92, 92, 92, 0, 0, - 0, 0, 92, 92, 0, 0, 0, 92, 93, 93, - 0, 20, 20, 20, 20, 20, 20, 94, 0, 20, - 0, 0, 0, 0, 0, 0, 0, 93, 0, 20, - 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, - 20, 0, 0, 20, 20, 20, 0, 0, 0, 0, - 20, 20, 0, 0, 94, 20, 0, 0, 94, 94, - 0, 94, 0, 0, 94, 0, 0, 0, 0, 0, - 0, 0, 90, 0, 0, 94, 94, 94, 0, 94, - 0, 0, 0, 35, 35, 35, 35, 35, 35, 0, - 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 35, 0, 0, 0, 0, 0, 0, 0, 90, - 94, 94, 35, 90, 90, 35, 35, 35, 0, 90, - 16, 0, 35, 35, 0, 0, 0, 35, 0, 94, - 90, 90, 90, 0, 90, 0, 0, 0, 0, 0, - 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, - 0, 16, 16, 0, 16, 90, 90, 16, 0, 0, - 0, 0, 93, 93, 93, 93, 93, 93, 16, 16, - 93, 0, 0, 0, 90, 0, 0, 0, 0, 0, - 93, 0, 0, 0, 0, 90, 90, 0, 0, 0, - 0, 93, 0, 0, 93, 93, 93, 0, 0, 0, - 0, 93, 93, 16, 16, 0, 93, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 94, 94, 94, 94, 94, 94, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 94, 0, 0, 94, 94, 94, 0, - 0, 0, 0, 94, 94, 0, 0, 0, 94, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, - 90, 90, 90, 90, 90, 0, 0, 90, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, - 0, 90, 90, 90, 0, 0, 0, 0, 90, 90, - 0, 43, 0, 90, 0, 0, 0, 16, 16, 16, - 16, 16, 16, 0, 0, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 43, 16, 0, 0, 0, 0, - 0, 43, 0, 0, 0, 0, 16, 0, 0, 16, - 16, 16, 0, 105, 0, 0, 110, 105, 105, 113, - 114, 16, 117, 119, 120, 0, 105, 105, 124, 125, - 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 135, 0, 0, 43, - 139, 141, 142, 143, 144, 0, 107, 108, 0, 0, - 0, 0, 0, 0, 43, 0, 0, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, - 0, 0, 0, 0, 0, 105, 0, 134, 0, 136, - 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 214, 0, 0, 0, 0, 216, - 217, 0, 105, 105, 0, 0, 0, 224, 0, 0, - 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 236, 204, 205, 237, 0, 0, 238, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, - 0, 0, 0, 218, 0, 43, 43, 264, 0, 68, - 68, 0, 71, 72, 226, 68, 228, 0, 229, 0, - 0, 0, 0, 0, 68, 0, 276, 0, 277, 0, - 278, 0, 279, 0, 280, 0, 0, 0, 0, 282, - 0, 253, 0, 0, 283, 284, 66, 0, 0, 28, - 0, 29, 105, 0, 0, 0, 270, 271, 272, 273, - 274, 0, 0, 0, 0, 192, 0, 0, 0, 0, - 0, 0, 43, 0, 68, 68, 68, 68, 68, 68, - 0, 0, 0, 0, 0, 0, 68, 0, 0, 43, - 0, 68, 0, 0, 68, 68, 0, 0, 68, 114, - 68, 68, 114, 0, 114, 68, 68, 298, 0, 0, - 0, 300, 301, 302, 0, 0, 68, 307, 114, 0, - 68, 0, 68, 68, 68, 68, 0, 0, 0, 190, - 0, 0, 0, 202, 0, 0, 68, 0, 0, 0, - 0, 0, 320, 321, 0, 0, 68, 113, 325, 0, - 113, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, - 0, 0, 114, 0, 114, 0, 0, 0, 0, 0, - 68, 68, 68, 68, 0, 68, 0, 68, 68, 0, - 0, 0, 0, 0, 0, 68, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, - 68, 107, 0, 0, 107, 0, 107, 0, 0, 0, - 113, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 107, 0, 0, 0, 0, 68, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, - 68, 68, 0, 68, 68, 68, 177, 126, 127, 12, - 13, 0, 178, 179, 14, 15, 16, 180, 0, 181, - 182, 0, 183, 184, 185, 186, 187, 17, 188, 18, - 19, 20, 0, 22, 189, 0, 0, 0, 23, 24, - 25, 26, 0, 0, 107, 27, 107, 0, 31, 32, - 33, 34, 35, 0, 0, 0, 0, 0, 0, 114, - 0, 0, 114, 114, 0, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 0, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 0, 114, 114, 0, 0, - 0, 114, 114, 114, 114, 0, 0, 0, 114, 0, - 0, 114, 114, 114, 114, 114, 0, 113, 0, 0, - 113, 113, 0, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 0, 113, 113, 113, 113, 113, 113, 113, - 113, 113, 113, 0, 113, 113, 0, 0, 0, 113, - 113, 113, 113, 0, 0, 0, 113, 0, 0, 113, - 113, 113, 113, 113, 108, 0, 0, 108, 0, 108, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, - 0, 107, 0, 0, 107, 107, 0, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 0, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 0, 107, 107, - 0, 0, 0, 107, 107, 107, 107, 0, 0, 0, - 107, 0, 0, 107, 107, 107, 107, 107, 109, 0, - 0, 109, 0, 109, 0, 0, 0, 108, 0, 108, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 106, 0, 0, 106, 0, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 109, 0, 109, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, - 112, 0, 112, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 108, 0, 0, 108, 108, 0, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 0, - 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, - 0, 108, 108, 0, 0, 0, 108, 108, 108, 108, - 112, 0, 112, 108, 0, 0, 108, 108, 108, 108, - 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 243, 0, 28, 244, 29, 0, 0, 109, 0, - 0, 109, 109, 0, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 86, 109, 109, 109, 109, 109, 109, - 109, 109, 109, 109, 0, 109, 109, 0, 0, 0, - 109, 109, 109, 109, 0, 0, 0, 109, 0, 0, - 109, 109, 109, 109, 109, 106, 0, 0, 106, 106, - 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 0, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 106, 0, 106, 106, 0, 0, 0, 106, 106, 106, - 106, 0, 0, 0, 106, 0, 0, 106, 106, 106, - 106, 106, 0, 141, 0, 0, 141, 112, 141, 0, - 112, 112, 0, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 141, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 0, 112, 112, 0, 0, 0, 112, - 112, 112, 112, 0, 0, 0, 112, 0, 0, 112, - 112, 112, 112, 112, 66, 0, 0, 28, 0, 29, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 141, 0, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 66, 0, 0, 28, 0, 29, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 0, 0, 12, 13, 0, 0, 0, 14, 15, - 16, 0, 0, 0, 0, 0, 0, 190, 0, 191, - 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 0, 0, 66, - 0, 0, 28, 0, 29, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 190, 0, 206, 0, 192, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 141, 0, 0, 141, 141, 0, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 0, 141, - 141, 141, 141, 141, 141, 141, 141, 141, 141, 0, - 141, 141, 190, 0, 207, 141, 141, 141, 141, 0, - 0, 0, 141, 0, 0, 141, 141, 141, 141, 141, - 0, 0, 0, 0, 177, 0, 0, 12, 13, 0, - 178, 179, 14, 15, 16, 180, 0, 181, 182, 0, - 183, 184, 185, 186, 187, 17, 188, 18, 19, 20, - 0, 22, 189, 0, 0, 0, 23, 24, 25, 26, - 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, - 35, 177, 0, 0, 12, 13, 0, 178, 179, 14, - 15, 16, 180, 0, 181, 182, 0, 183, 184, 185, - 186, 187, 17, 188, 18, 19, 20, 0, 22, 189, - 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, - 27, 0, 0, 31, 32, 33, 34, 35, 66, 0, - 0, 28, 0, 29, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 0, 177, - 0, 0, 12, 13, 0, 178, 179, 14, 15, 16, - 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, - 17, 188, 18, 19, 20, 0, 22, 189, 0, 0, - 0, 23, 24, 25, 26, 0, 0, 0, 27, 0, - 0, 31, 32, 33, 34, 35, 66, 0, 0, 28, - 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 0, 235, 0, 192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 66, 0, 0, 28, 0, 29, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, - 0, 291, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 111, 0, 0, 111, 0, 111, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 190, 0, 315, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, - 0, 12, 13, 0, 178, 179, 14, 15, 16, 180, - 0, 181, 182, 0, 183, 184, 185, 186, 187, 17, - 188, 18, 19, 20, 0, 22, 189, 111, 0, 111, - 23, 24, 25, 26, 0, 0, 0, 27, 0, 0, - 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, - 0, 0, 134, 0, 134, 0, 177, 0, 0, 12, - 13, 0, 178, 179, 14, 15, 16, 180, 134, 181, - 182, 0, 183, 184, 185, 186, 187, 17, 188, 18, - 19, 20, 0, 22, 189, 0, 0, 0, 23, 24, - 25, 26, 0, 0, 0, 27, 0, 0, 31, 32, - 33, 34, 35, 177, 0, 0, 12, 13, 0, 178, - 179, 14, 15, 16, 180, 0, 181, 182, 0, 183, - 184, 185, 186, 187, 17, 188, 18, 19, 20, 0, - 22, 189, 134, 0, 134, 23, 24, 25, 26, 0, - 0, 0, 27, 0, 0, 31, 32, 33, 34, 35, - 37, 0, 0, 28, 111, 29, 0, 111, 111, 0, - 111, 111, 111, 111, 111, 111, 0, 111, 111, 0, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 0, 111, 111, 0, 0, 0, 111, 111, 111, 111, - 0, 0, 0, 111, 0, 0, 111, 111, 111, 111, - 111, 66, 0, 0, 28, 157, 29, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 89, 0, 90, 86, 0, 0, 0, 0, 0, - 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 28, 0, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 89, 0, 90, 86, 134, - 0, 0, 134, 134, 0, 134, 134, 134, 134, 134, - 134, 0, 134, 134, 0, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 0, 134, 134, 0, 0, - 0, 134, 134, 134, 134, 0, 0, 0, 134, 0, - 0, 134, 134, 134, 134, 134, 66, 245, 0, 28, - 246, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 247, 0, 28, 248, 29, 0, 9, 10, 11, - 0, 0, 0, 12, 13, 0, 0, 0, 14, 15, - 16, 0, 0, 86, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 18, 19, 20, 21, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 30, 31, 32, 33, 34, 35, 66, 249, 0, - 28, 250, 29, 0, 12, 13, 0, 0, 0, 14, - 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 0, 17, 0, 18, 19, 20, 0, 22, 0, - 0, 0, 0, 23, 24, 25, 26, 87, 88, 0, - 27, 0, 0, 31, 32, 33, 34, 35, 12, 13, - 0, 0, 0, 14, 15, 16, 0, 0, 0, 0, - 66, 254, 0, 28, 255, 29, 17, 0, 18, 19, - 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, - 26, 87, 88, 86, 27, 0, 0, 31, 32, 33, - 34, 35, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, - 0, 28, 0, 29, 0, 0, 0, 0, 0, 12, - 13, 0, 0, 0, 14, 15, 16, 303, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 18, - 19, 20, 0, 22, 0, 0, 0, 0, 23, 24, - 25, 26, 0, 0, 0, 27, 0, 0, 31, 32, - 33, 34, 35, 12, 13, 0, 0, 0, 14, 15, - 16, 37, 0, 0, 28, 0, 29, 0, 0, 0, - 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, - 12, 13, 28, 0, 29, 14, 15, 16, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, - 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, - 24, 25, 26, 0, 0, 0, 27, 0, 0, 31, - 32, 33, 34, 35, 66, 0, 0, 28, 164, 29, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12, 13, 0, 0, 86, 14, 15, - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 11, 0, 0, - 0, 12, 13, 0, 0, 0, 14, 15, 16, 0, - 0, 66, 0, 0, 28, 167, 29, 0, 0, 17, - 0, 18, 19, 20, 0, 22, 0, 0, 0, 0, - 23, 24, 25, 26, 86, 0, 0, 27, 0, 30, - 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, - 11, 28, 169, 29, 12, 13, 0, 0, 0, 14, - 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 17, 0, 18, 19, 20, 0, 22, 0, - 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, - 27, 0, 30, 31, 32, 33, 34, 35, 11, 0, - 0, 0, 12, 13, 0, 0, 0, 14, 15, 16, - 0, 0, 66, 0, 0, 28, 170, 29, 0, 0, - 17, 0, 18, 19, 20, 0, 22, 0, 0, 0, - 0, 23, 24, 25, 26, 86, 0, 0, 27, 0, - 30, 31, 32, 33, 34, 35, 0, 12, 13, 0, - 0, 0, 14, 15, 16, 0, 0, 66, 0, 0, - 28, 175, 29, 0, 0, 17, 0, 18, 19, 20, - 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, - 86, 0, 0, 27, 0, 0, 31, 32, 33, 34, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 66, 0, 0, 28, 176, 29, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 12, 13, 86, 0, 0, 14, - 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 18, 19, 20, 0, 22, 0, - 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, - 27, 0, 0, 31, 32, 33, 34, 35, 0, 0, - 0, 12, 13, 0, 0, 0, 14, 15, 16, 0, - 0, 66, 0, 0, 28, 0, 29, 0, 0, 17, - 0, 18, 19, 20, 0, 22, 0, 0, 0, 198, - 23, 24, 25, 26, 86, 0, 0, 27, 0, 0, - 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 28, 0, - 29, 0, 0, 0, 0, 12, 13, 0, 0, 0, - 14, 15, 16, 201, 0, 0, 0, 0, 86, 0, - 0, 0, 0, 17, 0, 18, 19, 20, 0, 22, - 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, - 0, 27, 0, 0, 31, 32, 33, 34, 35, 0, - 12, 13, 0, 0, 0, 14, 15, 16, 0, 0, - 66, 252, 0, 28, 0, 29, 0, 0, 17, 0, - 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, - 24, 25, 26, 86, 0, 0, 27, 0, 0, 31, - 32, 33, 34, 35, 0, 0, 12, 13, 0, 0, - 0, 14, 15, 16, 0, 0, 66, 256, 0, 28, - 0, 29, 0, 0, 17, 0, 18, 19, 20, 0, - 22, 0, 0, 0, 0, 23, 24, 25, 26, 86, - 0, 0, 27, 0, 0, 31, 32, 33, 34, 35, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 287, 0, 28, 0, 29, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 12, 13, 0, 0, 0, 14, - 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 17, 0, 18, 19, 20, 0, 22, 0, - 0, 0, 0, 23, 24, 25, 26, 0, 0, 0, - 27, 0, 0, 31, 32, 33, 34, 35, 12, 13, - 0, 0, 0, 14, 15, 16, 0, 0, 66, 293, - 0, 28, 0, 29, 0, 0, 17, 0, 18, 19, - 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, - 26, 86, 0, 0, 27, 0, 0, 31, 32, 33, - 34, 35, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 294, 0, 28, 0, 29, 0, 0, - 0, 0, 0, 12, 13, 0, 0, 0, 14, 15, - 16, 0, 0, 0, 0, 86, 0, 0, 0, 0, - 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 0, 0, 12, - 13, 0, 0, 0, 14, 15, 16, 0, 0, 66, - 295, 0, 28, 0, 29, 0, 0, 17, 0, 18, - 19, 20, 0, 22, 0, 0, 0, 0, 23, 24, - 25, 26, 86, 0, 0, 27, 0, 0, 31, 32, - 33, 34, 35, 12, 13, 0, 0, 0, 14, 15, - 16, 0, 0, 66, 296, 0, 28, 0, 29, 0, - 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 86, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 66, 297, 0, - 28, 0, 29, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 12, 13, 0, 0, 0, 14, 15, 16, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 18, 19, 20, 0, 22, 0, 0, 0, 0, - 23, 24, 25, 26, 0, 0, 0, 27, 0, 0, - 31, 32, 33, 34, 35, 12, 13, 0, 0, 0, - 14, 15, 16, 0, 0, 66, 299, 0, 28, 0, - 29, 0, 0, 17, 0, 18, 19, 20, 0, 22, - 0, 0, 0, 0, 23, 24, 25, 26, 86, 0, - 0, 27, 0, 0, 31, 32, 33, 34, 35, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, - 109, 0, 28, 0, 29, 0, 0, 0, 0, 0, - 0, 0, 12, 13, 0, 0, 0, 14, 15, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 17, 0, 18, 19, 20, 0, 22, 0, 0, 0, - 0, 23, 24, 25, 26, 0, 0, 0, 27, 0, - 0, 31, 32, 33, 34, 35, 12, 13, 0, 0, - 0, 14, 15, 16, 66, 0, 0, 28, 0, 29, - 0, 0, 0, 0, 17, 0, 18, 19, 20, 0, - 22, 0, 0, 0, 0, 23, 24, 25, 26, 0, - 0, 0, 27, 0, 0, 31, 32, 33, 34, 35, - 12, 13, 0, 0, 0, 14, 15, 16, 0, 0, - 0, 0, 66, 0, 0, 28, 0, 29, 17, 0, - 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, - 24, 25, 26, 0, 0, 0, 27, 0, 0, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 0, 0, 28, 0, 29, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, - 0, 0, 0, 14, 15, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 17, 0, 18, 19, - 20, 0, 22, 0, 0, 0, 0, 23, 24, 25, - 26, 0, 0, 0, 27, 0, 0, 31, 32, 33, - 34, 35, 12, 13, 0, 0, 0, 14, 15, 16, - 66, 0, 0, 28, 0, 29, 0, 0, 0, 0, - 17, 0, 18, 19, 20, 0, 22, 0, 0, 0, - 0, 23, 24, 25, 26, 0, 0, 0, 27, 0, - 0, 31, 32, 33, 34, 35, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 0, 0, 28, 0, 29, - 0, 0, 0, 116, 0, 0, 0, 12, 13, 0, - 0, 0, 14, 15, 16, 0, 0, 86, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 18, 19, 20, - 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, - 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, - 35, 118, 0, 0, 66, 12, 13, 28, 0, 29, - 14, 15, 16, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 18, 19, 20, 0, 22, - 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, - 0, 27, 0, 0, 31, 32, 33, 34, 35, 140, - 0, 0, 66, 12, 13, 28, 0, 29, 14, 15, - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 103, 0, 0, - 28, 0, 29, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, - 0, 0, 0, 12, 13, 0, 0, 0, 14, 15, - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 17, 0, 18, 19, 20, 0, 22, 0, 0, - 0, 0, 23, 24, 25, 26, 0, 0, 0, 27, - 0, 0, 31, 32, 33, 34, 35, 12, 13, 0, - 0, 0, 14, 15, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 18, 19, 20, - 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, - 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 275, 0, 0, 0, 12, 13, 0, - 0, 0, 14, 15, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 0, 18, 19, 20, - 0, 22, 0, 0, 0, 0, 23, 24, 25, 26, - 0, 0, 0, 27, 0, 0, 31, 32, 33, 34, - 35, 0, 0, 0, 0, 12, 13, 0, 0, 0, - 14, 15, 16, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 18, 19, 20, 0, 22, - 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, - 0, 27, 0, 0, 31, 32, 33, 34, 35, 0, - 12, 13, 67, 69, 0, 14, 15, 16, 73, 0, - 0, 0, 0, 0, 0, 0, 0, 91, 17, 0, - 18, 19, 20, 0, 22, 0, 0, 0, 0, 23, - 24, 25, 26, 0, 0, 0, 27, 0, 0, 31, - 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 146, 147, 148, - 149, 150, 151, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 0, 0, 91, 0, 0, 91, 91, 0, - 0, 91, 0, 91, 91, 0, 0, 0, 91, 91, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 0, 91, 0, 91, 91, 91, 91, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 91, 91, 91, 0, 91, 0, - 91, 91, 0, 0, 0, 0, 0, 0, 91, 91, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 91, 91, 91, 91, 91, 0, 91, 91, 91, -}; -short yycheck[] = { 41, - 0, 41, 63, 41, 37, 41, 59, 59, 63, 42, - 43, 63, 45, 63, 47, 59, 62, 41, 63, 107, - 108, 63, 40, 63, 37, 63, 123, 63, 37, 7, - 44, 223, 103, 37, 302, 303, 94, 37, 303, 123, - 40, 41, 42, 43, 44, 45, 134, 47, 313, 63, - 261, 262, 30, 41, 112, 0, 289, 123, 58, 59, - 60, 94, 62, 63, 53, 54, 40, 40, 287, 302, - 303, 59, 41, 62, 63, 44, 91, 41, 124, 112, - 44, 37, 40, 154, 123, 40, 42, 40, 60, 40, - 40, 47, 37, 93, 94, 261, 41, 42, 43, 44, - 45, 226, 47, 40, 40, 40, 60, 85, 40, 112, - 0, 303, 112, 58, 59, 60, 293, 62, 63, 41, - 41, 313, 100, 123, 124, 41, 293, 304, 305, 306, - 281, 44, 121, 41, 41, 44, 93, 41, 94, 44, - 228, 154, 41, 41, 293, 154, 40, 37, 93, 94, - 154, 41, 42, 43, 44, 45, 112, 47, 136, 137, - 40, 59, 293, 41, 261, 262, 40, 112, 58, 59, - 60, 291, 62, 63, 41, 300, 301, 302, 123, 124, - 91, 59, 59, 273, 41, 40, 272, 93, 206, 178, - 179, 41, 41, 0, 41, 320, 321, 93, 59, 59, - 325, 41, -1, 93, 94, -1, -1, 260, 261, 262, - 298, -1, 220, 41, -1, -1, 260, 261, 262, 265, - -1, -1, 112, 40, -1, -1, 43, -1, 45, 290, - 291, 59, -1, 123, 124, 290, 291, -1, 290, 291, - 290, 291, 275, 221, 222, 290, 291, -1, 290, 291, - 290, 291, 290, 291, 290, 291, -1, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 290, 291, 268, 269, - 270, -1, 260, 261, 262, 275, 290, 291, -1, 268, - -1, 281, 41, 283, 284, 285, 286, 287, -1, 289, - 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, - 59, 301, 302, 303, 304, 305, 306, -1, -1, -1, - 288, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 293, -1, 268, 269, 270, -1, 305, -1, -1, - 275, -1, 304, 305, 306, -1, 281, 41, 283, 284, - 285, 286, 287, -1, 289, 290, 291, 292, 293, 294, - 295, 296, 297, -1, 299, 59, 301, 302, 303, 304, - 305, 306, 260, 261, 262, -1, -1, 257, 258, 259, - 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, - 270, 0, 260, 261, 262, 275, -1, -1, -1, -1, - 41, 281, -1, 283, 284, 285, 286, 287, -1, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 59, 299, - -1, 301, 302, 303, 304, 305, 306, -1, 37, -1, - -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, - -1, -1, 260, 261, 262, -1, 0, -1, 41, 58, - 59, -1, -1, 62, 63, -1, 263, 264, -1, -1, - -1, 268, 269, 270, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, 281, -1, 283, 284, 285, -1, - 287, -1, -1, 37, 93, 94, 40, 41, 42, 43, - 44, 45, 299, 47, -1, 302, 303, 304, 305, 306, - -1, 0, -1, 112, 58, 59, 60, -1, 62, 63, - -1, 260, 261, 262, 123, 124, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 41, -1, -1, -1, 37, 93, - 94, 40, 41, 42, 43, -1, 45, -1, 47, -1, - -1, -1, 59, -1, 41, -1, -1, -1, -1, 58, - 59, 60, -1, 62, 63, -1, 260, 261, 262, 123, - 124, -1, 59, -1, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 112, -1, -1, -1, -1, -1, 260, - 261, 262, -1, -1, 123, 124, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, - 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, - 269, 270, -1, -1, -1, -1, 275, 260, 261, 262, - -1, -1, 281, -1, 283, 284, 285, 286, 287, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, -1, -1, - -1, -1, -1, 257, 258, 259, 260, 261, 262, 263, - 264, 265, -1, -1, 268, 269, 270, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, 281, -1, 283, - 284, 285, 286, 287, -1, 289, 290, 291, 292, 293, - 294, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 260, 261, 262, -1, -1, 257, 258, - 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, - 269, 270, 0, 260, 261, 262, 275, -1, 265, -1, - -1, -1, 281, -1, 283, 284, 285, 286, 287, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, -1, 37, - -1, -1, 40, 41, 42, 43, 44, 45, -1, 47, - -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, - 58, 59, 60, -1, 62, 63, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 37, 93, 94, 40, 41, 42, - 43, 44, 45, -1, 47, -1, -1, -1, -1, -1, - -1, 0, -1, -1, 112, 58, 59, 60, -1, 62, - 63, -1, -1, -1, -1, 123, 124, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, - 93, 40, 41, 42, 43, 44, 45, -1, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - 59, 60, -1, 62, 63, -1, -1, -1, -1, -1, - 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, 124, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, - 258, 259, 260, 261, 262, 263, 264, 265, -1, -1, - 268, 269, 270, -1, -1, -1, -1, 275, -1, -1, - -1, -1, -1, 281, -1, 283, 284, 285, 286, 287, - -1, 289, 290, -1, 292, 293, 294, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, -1, - -1, -1, -1, -1, 257, 258, 259, 260, 261, 262, - 263, 264, 265, -1, -1, 268, 269, 270, -1, -1, - -1, -1, 275, -1, 40, 41, -1, 43, 281, 45, - 283, 284, 285, 286, 287, -1, 289, 290, 291, 292, - 293, 294, 295, 296, 297, -1, 299, 63, 301, 302, - 303, 304, 305, 306, -1, -1, -1, -1, 257, 258, - 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, - 269, 270, 0, -1, -1, -1, 275, -1, -1, -1, - -1, -1, 281, -1, 283, 284, 285, 286, 287, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, - 299, -1, 301, -1, -1, 304, 305, 306, -1, 37, - -1, -1, 40, 41, 42, 43, 44, 45, -1, 47, - -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, - 58, 59, 60, -1, 62, 63, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, -1, 93, 40, 41, 42, 43, - 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, - 0, -1, -1, -1, 58, 59, 60, -1, 62, 63, - -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, -1, 93, - 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 58, 59, - 60, -1, 62, 63, -1, -1, -1, 263, 264, 123, - 124, -1, 268, 269, 270, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, - -1, 287, -1, 93, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, - 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, - 258, 259, 260, 261, 262, 263, 264, 265, -1, -1, - 268, 269, 270, -1, -1, -1, -1, 275, -1, -1, - -1, -1, -1, 281, -1, 283, 284, 285, 286, 287, - -1, 289, 290, 291, 292, 293, 294, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, -1, - -1, -1, -1, 257, 258, 259, 260, 261, 262, 263, - 264, 265, -1, -1, 268, 269, 270, -1, -1, -1, - -1, 275, -1, 40, -1, -1, 43, 281, 45, 283, - 284, 285, 286, 287, -1, 289, 290, 291, 292, 293, - 294, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, -1, -1, -1, -1, 257, 258, 259, - 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, - 270, 0, -1, -1, -1, 275, -1, -1, -1, -1, - -1, 281, -1, 283, 284, 285, 286, 287, -1, 289, - 290, 291, 292, 293, 294, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, -1, 37, -1, - -1, 40, 41, 42, 43, 44, 45, -1, 47, -1, - -1, -1, -1, -1, -1, 0, -1, -1, -1, 58, - 59, 60, -1, 62, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, -1, 93, 40, 41, 42, 43, 44, - 45, -1, 47, -1, -1, -1, -1, -1, -1, 0, - -1, -1, -1, 58, 59, 60, -1, 62, 63, -1, - -1, -1, -1, -1, 123, 124, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, -1, 93, 40, - 41, 42, 43, 44, 45, -1, 47, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 58, 59, 60, - -1, 62, 63, -1, 261, 262, 263, 264, 123, 124, - -1, 268, 269, 270, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 281, -1, 283, 284, 285, -1, - 287, -1, 93, 94, -1, 292, 293, 294, 295, -1, - -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, - -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, 124, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, - 259, 260, 261, 262, 263, 264, 265, -1, -1, 268, - 269, 270, -1, -1, -1, -1, 275, -1, -1, -1, - -1, -1, 281, -1, 283, 284, 285, 286, 287, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, -1, -1, - -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, - 275, -1, -1, -1, -1, -1, 281, -1, 283, 284, - 285, 286, 287, -1, 289, 290, 291, 292, 293, 294, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, -1, -1, -1, -1, 257, 258, 259, 260, - 261, 262, 263, 264, 265, -1, -1, 268, 269, 270, - 0, -1, -1, -1, 275, -1, -1, -1, -1, -1, - 281, -1, 283, 284, 285, 286, 287, -1, -1, 290, - 291, 292, 293, 294, 295, 296, 297, -1, 299, -1, - 301, -1, -1, 304, 305, 306, -1, 37, -1, -1, - 40, 41, 42, 43, 44, 45, -1, 47, -1, -1, - -1, -1, -1, -1, -1, 0, -1, -1, 58, 59, - 60, -1, 62, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 93, 94, 40, 41, -1, 43, 44, - 45, -1, -1, -1, -1, -1, 0, -1, -1, -1, - -1, -1, 112, 58, 59, 60, -1, 62, 63, -1, - -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 40, 41, 93, 43, - 44, 45, -1, -1, -1, -1, 0, -1, -1, -1, - -1, -1, -1, -1, 58, 59, 60, -1, 62, 63, - -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 40, 41, -1, 93, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, 60, -1, 62, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, -1, 93, - 43, -1, 45, -1, -1, -1, -1, 257, 258, 259, - 260, 261, 262, 263, 264, 265, -1, -1, 268, 269, - 270, -1, -1, -1, -1, 275, -1, -1, -1, 123, - 124, 281, -1, 283, 284, 285, 286, 287, -1, 289, - -1, -1, 292, 293, 294, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, -1, -1, -1, - -1, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 265, -1, -1, 268, 269, 270, -1, -1, -1, -1, - 275, -1, -1, -1, -1, -1, 281, -1, 283, 284, - 285, 286, 287, -1, 289, 290, 291, 292, 293, 294, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, -1, 257, 258, 259, 260, 261, 262, 263, - 264, 265, -1, -1, 268, 269, 270, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, 281, -1, 283, - 284, 285, 286, 287, -1, 289, 290, 291, 292, 293, - 294, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 257, 258, 259, 260, 261, 262, 263, - 264, 265, -1, 0, 268, 269, 270, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 281, -1, 283, - 284, 285, 286, 287, -1, 289, 290, 291, 292, 293, - 294, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 40, 41, -1, 259, 44, 261, 262, - 263, 264, -1, -1, 0, 268, 269, 270, -1, -1, - -1, 58, 59, 60, -1, 62, 63, -1, 281, -1, - 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 40, -1, 93, 43, -1, 45, - -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 0, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 59, - -1, 268, 269, 270, -1, -1, -1, 123, -1, -1, - -1, -1, -1, -1, 281, -1, 283, 284, 285, 286, - 287, -1, 289, 290, 291, 292, 293, 294, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - -1, 257, 258, 259, 260, 261, 262, 263, 264, -1, - -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, - 286, 287, -1, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 257, 258, 259, 260, 261, 262, 263, 264, -1, - -1, -1, 268, 269, 270, 40, -1, -1, 43, -1, - 45, -1, -1, -1, -1, 281, -1, 283, 284, 285, - 286, 287, -1, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 257, 258, 259, 260, -1, 262, 263, 264, -1, - -1, 0, 268, 269, 270, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, - 286, 287, -1, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 40, -1, -1, 43, -1, 45, 257, 258, 259, - 260, 261, 262, 263, 264, -1, -1, 0, 268, 269, - 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 281, -1, 283, 284, 285, 286, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 40, -1, -1, - 43, -1, 45, -1, -1, -1, -1, 0, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 263, 264, - 123, 266, 267, 268, 269, 270, -1, -1, -1, -1, - -1, 276, 277, 278, 279, 280, 281, -1, 283, 284, - 285, -1, 287, 288, -1, -1, -1, 292, 293, 294, - 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, - 305, 306, -1, -1, -1, -1, -1, -1, -1, -1, - 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 257, 258, - 259, -1, -1, -1, 263, 264, -1, -1, -1, 268, - 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 281, -1, 283, 284, 285, 286, 287, -1, - -1, -1, -1, 292, 293, 294, 295, -1, -1, -1, - 299, -1, 301, 302, 303, 304, 305, 306, -1, -1, - -1, -1, -1, -1, 257, 258, 259, -1, -1, -1, - 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 281, -1, - 283, 284, 285, 286, 287, -1, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 257, 258, 259, -1, -1, -1, - 263, 264, -1, -1, -1, 268, 269, 270, 0, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 281, -1, - 283, 284, 285, 286, 287, -1, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, 301, 302, - 303, 304, 305, 306, -1, 37, -1, -1, 40, 41, - 42, 43, 44, 45, -1, 47, -1, -1, -1, -1, - -1, -1, -1, 0, -1, -1, 58, 59, 60, -1, - 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, 93, 94, 40, 41, 42, 43, 44, 45, -1, - 47, 0, -1, -1, -1, -1, -1, -1, -1, -1, - 112, 58, 59, -1, -1, 62, 63, -1, -1, -1, - -1, 123, 124, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, - -1, -1, 41, 42, -1, 44, 93, 94, 47, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - 59, 60, -1, 62, 63, 112, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, 124, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 257, 258, 259, 260, 261, - 262, 263, 264, 265, -1, -1, 268, 269, 270, -1, - -1, -1, -1, 275, -1, -1, -1, -1, -1, 281, - -1, 283, 284, 285, 286, 287, -1, 289, 290, 291, - 292, -1, 294, 295, 296, 297, -1, 299, -1, 301, - 302, 303, -1, -1, -1, -1, -1, -1, -1, -1, - 257, 258, 259, 260, 261, 262, 263, 264, 265, -1, - -1, 268, 269, 270, -1, -1, -1, -1, 275, -1, - -1, -1, -1, -1, 281, -1, 283, 284, 285, 286, - 287, 0, 289, 290, 291, 292, -1, 294, 295, 296, - 297, -1, 299, -1, 301, 302, 303, -1, 257, 258, - 259, 260, 261, 262, -1, -1, 265, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 275, -1, 37, -1, - -1, -1, 41, 42, -1, 44, 0, 286, 47, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 58, - 59, 60, 301, 62, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, -1, -1, -1, 41, 42, -1, - 44, 0, -1, 47, 93, 94, -1, -1, -1, -1, - -1, -1, -1, -1, 58, 59, 60, -1, 62, 63, - -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, 124, -1, -1, 37, -1, - -1, -1, 41, 42, -1, 44, -1, -1, 47, 93, - 94, -1, -1, -1, -1, -1, -1, -1, -1, 58, - 59, 60, -1, 62, 63, -1, -1, -1, 112, -1, - 0, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, - -1, 41, 42, 112, 44, -1, -1, 47, -1, -1, - -1, -1, -1, -1, 123, 124, -1, -1, 58, 59, - 60, -1, 62, 63, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 93, 94, -1, -1, -1, 257, 258, - 259, 260, 261, 262, -1, -1, 265, -1, -1, -1, - -1, -1, 112, -1, -1, -1, 275, -1, -1, -1, - -1, -1, -1, 123, 124, -1, -1, 286, -1, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, - -1, -1, 301, 257, 258, 259, 260, 261, 262, -1, - 40, 265, -1, 43, 44, 45, -1, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 286, 63, -1, 289, 290, 291, 292, 293, - 294, 295, 296, 297, -1, -1, -1, 301, 257, 258, - 259, 260, 261, 262, -1, -1, 265, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 275, -1, -1, 0, - -1, -1, -1, -1, -1, -1, -1, 286, -1, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, - -1, -1, 301, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, - 41, 42, -1, 44, -1, -1, 47, 257, 258, 259, - 260, 261, 262, -1, -1, 265, -1, 58, 59, 60, - -1, 62, 63, -1, -1, 275, 0, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 286, -1, -1, 289, - 290, 291, 292, 293, 294, 295, 296, 297, -1, -1, - -1, 301, 93, 94, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, -1, -1, -1, 41, 42, -1, - 44, 112, -1, 47, 0, -1, -1, -1, -1, -1, - -1, -1, 123, 124, 58, 59, 60, -1, 62, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, -1, -1, -1, 41, 42, -1, 44, 93, - 94, 47, -1, 263, 264, -1, -1, -1, 268, 269, - 270, -1, 58, 59, 60, -1, 62, -1, 112, -1, - -1, 281, -1, 283, 284, 285, 0, 287, -1, 123, - 124, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, 93, 94, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, -1, -1, 112, 41, 42, -1, - 44, -1, -1, 47, -1, -1, -1, 123, 124, -1, - -1, -1, -1, -1, 58, 59, 60, -1, 62, -1, - -1, -1, -1, -1, -1, -1, 257, 258, 259, 260, - 261, 262, -1, -1, 265, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 275, 0, -1, -1, -1, 93, - 94, -1, -1, -1, -1, 286, -1, -1, 289, 290, - 291, 292, 293, 294, 295, 296, 297, -1, 112, -1, - 301, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, -1, 37, -1, -1, -1, 41, 42, -1, 44, - -1, -1, 47, 257, 258, 259, 260, 261, 262, -1, - -1, 265, -1, 58, 59, 60, -1, 62, -1, -1, - -1, 275, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 286, -1, -1, 289, 290, 291, -1, -1, - -1, -1, 296, 297, -1, -1, -1, 301, 93, 94, - -1, 257, 258, 259, 260, 261, 262, 0, -1, 265, - -1, -1, -1, -1, -1, -1, -1, 112, -1, 275, - -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - 286, -1, -1, 289, 290, 291, -1, -1, -1, -1, - 296, 297, -1, -1, 37, 301, -1, -1, 41, 42, - -1, 44, -1, -1, 47, -1, -1, -1, -1, -1, - -1, -1, 0, -1, -1, 58, 59, 60, -1, 62, - -1, -1, -1, 257, 258, 259, 260, 261, 262, -1, - -1, 265, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 275, -1, -1, -1, -1, -1, -1, -1, 37, - 93, 94, 286, 41, 42, 289, 290, 291, -1, 47, - 0, -1, 296, 297, -1, -1, -1, 301, -1, 112, - 58, 59, 60, -1, 62, -1, -1, -1, -1, -1, - 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, - -1, 41, 42, -1, 44, 93, 94, 47, -1, -1, - -1, -1, 257, 258, 259, 260, 261, 262, 58, 59, - 265, -1, -1, -1, 112, -1, -1, -1, -1, -1, - 275, -1, -1, -1, -1, 123, 124, -1, -1, -1, - -1, 286, -1, -1, 289, 290, 291, -1, -1, -1, - -1, 296, 297, 93, 94, -1, 301, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 123, 124, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 257, 258, 259, 260, 261, 262, - -1, -1, 265, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 275, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 286, -1, -1, 289, 290, 291, -1, - -1, -1, -1, 296, 297, -1, -1, -1, 301, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, - 258, 259, 260, 261, 262, -1, -1, 265, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 275, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 286, -1, - -1, 289, 290, 291, -1, -1, -1, -1, 296, 297, - -1, 7, -1, 301, -1, -1, -1, 257, 258, 259, - 260, 261, 262, -1, -1, 265, -1, -1, -1, -1, - -1, -1, -1, -1, 30, 275, -1, -1, -1, -1, - -1, 37, -1, -1, -1, -1, 286, -1, -1, 289, - 290, 291, -1, 49, -1, -1, 52, 53, 54, 55, - 56, 301, 58, 59, 60, -1, 62, 63, 64, 65, - 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, -1, -1, 85, - 86, 87, 88, 89, 90, -1, 50, 51, -1, -1, - -1, -1, -1, -1, 100, -1, -1, 103, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, -1, -1, -1, -1, 121, -1, 81, -1, 83, - 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 136, 137, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 166, 167, 168, 169, 170, -1, -1, -1, -1, 175, - 176, -1, 178, 179, -1, -1, -1, 183, -1, -1, - -1, 187, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 198, 157, 158, 201, -1, -1, 204, 205, - -1, -1, -1, -1, -1, -1, -1, -1, 17, -1, - -1, -1, -1, 177, -1, 221, 222, 223, -1, 28, - 29, -1, 31, 32, 188, 34, 190, -1, 192, -1, - -1, -1, -1, -1, 43, -1, 242, -1, 244, -1, - 246, -1, 248, -1, 250, -1, -1, -1, -1, 255, - -1, 215, -1, -1, 260, 261, 40, -1, -1, 43, - -1, 45, 268, -1, -1, -1, 230, 231, 232, 233, - 234, -1, -1, -1, -1, 59, -1, -1, -1, -1, - -1, -1, 288, -1, 93, 94, 95, 96, 97, 98, - -1, -1, -1, -1, -1, -1, 105, -1, -1, 305, - -1, 110, -1, -1, 113, 114, -1, -1, 117, 40, - 119, 120, 43, -1, 45, 124, 125, 281, -1, -1, - -1, 285, 286, 287, -1, -1, 135, 291, 59, -1, - 139, -1, 141, 142, 143, 144, -1, -1, -1, 123, - -1, -1, -1, 152, -1, -1, 155, -1, -1, -1, - -1, -1, 316, 317, -1, -1, 165, 40, 322, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, 193, -1, -1, -1, -1, -1, - -1, -1, 123, -1, 125, -1, -1, -1, -1, -1, - 209, 210, 211, 212, -1, 214, -1, 216, 217, -1, - -1, -1, -1, -1, -1, 224, 225, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 236, 237, 238, - 239, 40, -1, -1, 43, -1, 45, -1, -1, -1, - 123, -1, 125, -1, -1, -1, -1, -1, -1, -1, - 59, -1, -1, -1, -1, 264, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 276, 277, 278, - 279, 280, -1, 282, 283, 284, 260, 261, 262, 263, - 264, -1, 266, 267, 268, 269, 270, 271, -1, 273, - 274, -1, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, -1, 287, 288, -1, -1, -1, 292, 293, - 294, 295, -1, -1, 123, 299, 125, -1, 302, 303, - 304, 305, 306, -1, -1, -1, -1, -1, -1, 260, - -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - 271, 272, 273, 274, -1, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, -1, 287, 288, -1, -1, - -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, - -1, 302, 303, 304, 305, 306, -1, 260, -1, -1, - 263, 264, -1, 266, 267, 268, 269, 270, 271, 272, - 273, 274, -1, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, -1, 287, 288, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, - 303, 304, 305, 306, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, 260, -1, -1, 263, 264, -1, 266, 267, 268, - 269, 270, 271, 272, 273, 274, -1, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, -1, 287, 288, - -1, -1, -1, 292, 293, 294, 295, -1, -1, -1, - 299, -1, -1, 302, 303, 304, 305, 306, 40, -1, - -1, 43, -1, 45, -1, -1, -1, 123, -1, 125, - -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, - 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, 125, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 260, -1, -1, 263, 264, -1, - 266, 267, 268, 269, 270, 271, 272, 273, 274, -1, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - -1, 287, 288, -1, -1, -1, 292, 293, 294, 295, - 123, -1, 125, 299, -1, -1, 302, 303, 304, 305, - 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 40, 41, -1, 43, 44, 45, -1, -1, 260, -1, - -1, 263, 264, -1, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 63, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, -1, 287, 288, -1, -1, -1, - 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, - 302, 303, 304, 305, 306, 260, -1, -1, 263, 264, - -1, 266, 267, 268, 269, 270, 271, 272, 273, 274, - -1, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, -1, 287, 288, -1, -1, -1, 292, 293, 294, - 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, - 305, 306, -1, 40, -1, -1, 43, 260, 45, -1, - 263, 264, -1, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 59, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, -1, 287, 288, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, - 303, 304, 305, 306, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, -1, 125, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, -1, -1, 263, 264, -1, -1, -1, 268, 269, - 270, -1, -1, -1, -1, -1, -1, 123, -1, 125, - -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, -1, -1, 40, - -1, -1, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 123, -1, 125, -1, 59, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 260, -1, -1, 263, 264, -1, 266, - 267, 268, 269, 270, 271, 272, 273, 274, -1, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, -1, - 287, 288, 123, -1, 125, 292, 293, 294, 295, -1, - -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, - -1, -1, -1, -1, 260, -1, -1, 263, 264, -1, - 266, 267, 268, 269, 270, 271, -1, 273, 274, -1, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - -1, 287, 288, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, - 306, 260, -1, -1, 263, 264, -1, 266, 267, 268, - 269, 270, 271, -1, 273, 274, -1, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, -1, 287, 288, - -1, -1, -1, 292, 293, 294, 295, -1, -1, -1, - 299, -1, -1, 302, 303, 304, 305, 306, 40, -1, - -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 59, -1, 260, - -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - 271, -1, 273, 274, -1, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, -1, 287, 288, -1, -1, - -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, - -1, 302, 303, 304, 305, 306, 40, -1, -1, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, 125, -1, 59, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 123, -1, 125, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, - -1, 263, 264, -1, 266, 267, 268, 269, 270, 271, - -1, 273, 274, -1, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, -1, 287, 288, 123, -1, 125, - 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, - 302, 303, 304, 305, 306, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, - -1, -1, 43, -1, 45, -1, 260, -1, -1, 263, - 264, -1, 266, 267, 268, 269, 270, 271, 59, 273, - 274, -1, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, -1, 287, 288, -1, -1, -1, 292, 293, - 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, - 304, 305, 306, 260, -1, -1, 263, 264, -1, 266, - 267, 268, 269, 270, 271, -1, 273, 274, -1, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, -1, - 287, 288, 123, -1, 125, 292, 293, 294, 295, -1, - -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, - 40, -1, -1, 43, 260, 45, -1, 263, 264, -1, - 266, 267, 268, 269, 270, 271, -1, 273, 274, -1, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - -1, 287, 288, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, - 306, 40, -1, -1, 43, 44, 45, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 60, -1, 62, 63, -1, -1, -1, -1, -1, - -1, -1, -1, 123, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, - 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 60, -1, 62, 63, 260, - -1, -1, 263, 264, -1, 266, 267, 268, 269, 270, - 271, -1, 273, 274, -1, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, -1, 287, 288, -1, -1, - -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, - -1, 302, 303, 304, 305, 306, 40, 41, -1, 43, - 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 40, 41, -1, 43, 44, 45, -1, 257, 258, 259, - -1, -1, -1, 263, 264, -1, -1, -1, 268, 269, - 270, -1, -1, 63, -1, -1, -1, -1, -1, -1, - -1, 281, -1, 283, 284, 285, 286, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 40, 41, -1, - 43, 44, 45, -1, 263, 264, -1, -1, -1, 268, - 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, - 63, -1, 281, -1, 283, 284, 285, -1, 287, -1, - -1, -1, -1, 292, 293, 294, 295, 296, 297, -1, - 299, -1, -1, 302, 303, 304, 305, 306, 263, 264, - -1, -1, -1, 268, 269, 270, -1, -1, -1, -1, - 40, 41, -1, 43, 44, 45, 281, -1, 283, 284, - 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 296, 297, 63, 299, -1, -1, 302, 303, 304, - 305, 306, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, - -1, 43, -1, 45, -1, -1, -1, -1, -1, 263, - 264, -1, -1, -1, 268, 269, 270, 59, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 281, -1, 283, - 284, 285, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, -1, -1, -1, 299, -1, -1, 302, 303, - 304, 305, 306, 263, 264, -1, -1, -1, 268, 269, - 270, 40, -1, -1, 43, -1, 45, -1, -1, -1, - -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, - 263, 264, 43, -1, 45, 268, 269, 270, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 281, -1, - 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, - 303, 304, 305, 306, 40, -1, -1, 43, 44, 45, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 263, 264, -1, -1, 63, 268, 269, - 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, 259, -1, -1, - -1, 263, 264, -1, -1, -1, 268, 269, 270, -1, - -1, 40, -1, -1, 43, 44, 45, -1, -1, 281, - -1, 283, 284, 285, -1, 287, -1, -1, -1, -1, - 292, 293, 294, 295, 63, -1, -1, 299, -1, 301, - 302, 303, 304, 305, 306, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, - 259, 43, 44, 45, 263, 264, -1, -1, -1, 268, - 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 63, 281, -1, 283, 284, 285, -1, 287, -1, - -1, -1, -1, 292, 293, 294, 295, -1, -1, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 259, -1, - -1, -1, 263, 264, -1, -1, -1, 268, 269, 270, - -1, -1, 40, -1, -1, 43, 44, 45, -1, -1, - 281, -1, 283, 284, 285, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, 63, -1, -1, 299, -1, - 301, 302, 303, 304, 305, 306, -1, 263, 264, -1, - -1, -1, 268, 269, 270, -1, -1, 40, -1, -1, - 43, 44, 45, -1, -1, 281, -1, 283, 284, 285, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - 63, -1, -1, 299, -1, -1, 302, 303, 304, 305, - 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 40, -1, -1, 43, 44, 45, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 263, 264, 63, -1, -1, 268, - 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 281, -1, 283, 284, 285, -1, 287, -1, - -1, -1, -1, 292, 293, 294, 295, -1, -1, -1, - 299, -1, -1, 302, 303, 304, 305, 306, -1, -1, - -1, 263, 264, -1, -1, -1, 268, 269, 270, -1, - -1, 40, -1, -1, 43, -1, 45, -1, -1, 281, - -1, 283, 284, 285, -1, 287, -1, -1, -1, 58, - 292, 293, 294, 295, 63, -1, -1, 299, -1, -1, - 302, 303, 304, 305, 306, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 40, -1, -1, 43, -1, - 45, -1, -1, -1, -1, 263, 264, -1, -1, -1, - 268, 269, 270, 58, -1, -1, -1, -1, 63, -1, - -1, -1, -1, 281, -1, 283, 284, 285, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, -1, -1, - -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, - 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, - 40, 41, -1, 43, -1, 45, -1, -1, 281, -1, - 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, 63, -1, -1, 299, -1, -1, 302, - 303, 304, 305, 306, -1, -1, 263, 264, -1, -1, - -1, 268, 269, 270, -1, -1, 40, 41, -1, 43, - -1, 45, -1, -1, 281, -1, 283, 284, 285, -1, - 287, -1, -1, -1, -1, 292, 293, 294, 295, 63, - -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 40, 41, -1, 43, -1, 45, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 63, 263, 264, -1, -1, -1, 268, - 269, 270, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 281, -1, 283, 284, 285, -1, 287, -1, - -1, -1, -1, 292, 293, 294, 295, -1, -1, -1, - 299, -1, -1, 302, 303, 304, 305, 306, 263, 264, - -1, -1, -1, 268, 269, 270, -1, -1, 40, 41, - -1, 43, -1, 45, -1, -1, 281, -1, 283, 284, - 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, 63, -1, -1, 299, -1, -1, 302, 303, 304, - 305, 306, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 40, 41, -1, 43, -1, 45, -1, -1, - -1, -1, -1, 263, 264, -1, -1, -1, 268, 269, - 270, -1, -1, -1, -1, 63, -1, -1, -1, -1, - -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, -1, -1, 263, - 264, -1, -1, -1, 268, 269, 270, -1, -1, 40, - 41, -1, 43, -1, 45, -1, -1, 281, -1, 283, - 284, 285, -1, 287, -1, -1, -1, -1, 292, 293, - 294, 295, 63, -1, -1, 299, -1, -1, 302, 303, - 304, 305, 306, 263, 264, -1, -1, -1, 268, 269, - 270, -1, -1, 40, 41, -1, 43, -1, 45, -1, - -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, 63, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 63, 263, 264, -1, -1, -1, 268, 269, 270, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 281, - -1, 283, 284, 285, -1, 287, -1, -1, -1, -1, - 292, 293, 294, 295, -1, -1, -1, 299, -1, -1, - 302, 303, 304, 305, 306, 263, 264, -1, -1, -1, - 268, 269, 270, -1, -1, 40, 41, -1, 43, -1, - 45, -1, -1, 281, -1, 283, 284, 285, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, 63, -1, - -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, - 41, -1, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, 263, 264, -1, -1, -1, 268, 269, 270, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 281, -1, 283, 284, 285, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, - -1, 302, 303, 304, 305, 306, 263, 264, -1, -1, - -1, 268, 269, 270, 40, -1, -1, 43, -1, 45, - -1, -1, -1, -1, 281, -1, 283, 284, 285, -1, - 287, -1, -1, -1, -1, 292, 293, 294, 295, -1, - -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, - 263, 264, -1, -1, -1, 268, 269, 270, -1, -1, - -1, -1, 40, -1, -1, 43, -1, 45, 281, -1, - 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, - 303, 304, 305, 306, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 263, 264, - -1, -1, -1, 268, 269, 270, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 281, -1, 283, 284, - 285, -1, 287, -1, -1, -1, -1, 292, 293, 294, - 295, -1, -1, -1, 299, -1, -1, 302, 303, 304, - 305, 306, 263, 264, -1, -1, -1, 268, 269, 270, - 40, -1, -1, 43, -1, 45, -1, -1, -1, -1, - 281, -1, 283, 284, 285, -1, 287, -1, -1, -1, - -1, 292, 293, 294, 295, -1, -1, -1, 299, -1, - -1, 302, 303, 304, 305, 306, -1, -1, -1, -1, - -1, -1, -1, -1, 40, -1, -1, 43, -1, 45, - -1, -1, -1, 259, -1, -1, -1, 263, 264, -1, - -1, -1, 268, 269, 270, -1, -1, 63, -1, -1, - -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, - 306, 259, -1, -1, 40, 263, 264, 43, -1, 45, - 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 281, -1, 283, 284, 285, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, -1, -1, - -1, 299, -1, -1, 302, 303, 304, 305, 306, 259, - -1, -1, 40, 263, 264, 43, -1, 45, 268, 269, - 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, 40, -1, -1, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 259, - -1, -1, -1, 263, 264, -1, -1, -1, 268, 269, - 270, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 281, -1, 283, 284, 285, -1, 287, -1, -1, - -1, -1, 292, 293, 294, 295, -1, -1, -1, 299, - -1, -1, 302, 303, 304, 305, 306, 263, 264, -1, - -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, - 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 259, -1, -1, -1, 263, 264, -1, - -1, -1, 268, 269, 270, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 281, -1, 283, 284, 285, - -1, 287, -1, -1, -1, -1, 292, 293, 294, 295, - -1, -1, -1, 299, -1, -1, 302, 303, 304, 305, - 306, -1, -1, -1, -1, 263, 264, -1, -1, -1, - 268, 269, 270, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 281, -1, 283, 284, 285, -1, 287, - -1, -1, -1, -1, 292, 293, 294, 295, -1, -1, - -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, - 263, 264, 28, 29, -1, 268, 269, 270, 34, -1, - -1, -1, -1, -1, -1, -1, -1, 43, 281, -1, - 283, 284, 285, -1, 287, -1, -1, -1, -1, 292, - 293, 294, 295, -1, -1, -1, 299, -1, -1, 302, - 303, 304, 305, 306, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 93, 94, 95, - 96, 97, 98, -1, -1, -1, -1, -1, -1, 105, - -1, -1, -1, -1, 110, -1, -1, 113, 114, -1, - -1, 117, -1, 119, 120, -1, -1, -1, 124, 125, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 135, - -1, -1, -1, 139, -1, 141, 142, 143, 144, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 193, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 209, 210, 211, 212, -1, 214, -1, - 216, 217, -1, -1, -1, -1, -1, -1, 224, 225, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 236, 237, 238, 239, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 264, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 276, 277, 278, 279, 280, -1, 282, 283, 284, -}; -#define YYFINAL 1 -#ifndef YYDEBUG -#define YYDEBUG 0 -#endif -#define YYMAXTOKEN 306 -#if YYDEBUG -const char *yyname[] = { -"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,"'%'",0,0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,0,0,0,0,0,0,0, -"':'","';'","'<'",0,"'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",0,0,0,0,0,0,0, -0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW", -"NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF_OLD", -"SPRINTF_NEW","SPLIT","IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK", -"CONTINUE","RET","GETLINE","DO","SUB","GSUB","MATCH","FUNCTION","USERFUN", -"DELETE","ASGNOP","OROR","ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP", -"RELOP","OR","STRING","UMINUS","NOT","INCR","DECR","FIELD","VFIELD","SVFIELD", -}; -const char *yyrule[] = { -"$accept : program", -"program : junk hunks", -"begin : BEGIN '{' maybe states '}' junk", -"end : END '{' maybe states '}'", -"end : end NEWLINE", -"hunks : hunks hunk junk", -"hunks :", -"hunk : patpat", -"hunk : patpat '{' maybe states '}'", -"hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'", -"hunk : '{' maybe states '}'", -"hunk : begin", -"hunk : end", -"arg_list : expr_list", -"patpat : cond", -"patpat : cond ',' cond", -"cond : expr", -"cond : match", -"cond : rel", -"cond : compound_cond", -"cond : cond '?' expr ':' expr", -"compound_cond : '(' compound_cond ')'", -"compound_cond : cond ANDAND maybe cond", -"compound_cond : cond OROR maybe cond", -"compound_cond : NOT cond", -"rel : expr RELOP expr", -"rel : expr '>' expr", -"rel : expr '<' expr", -"rel : '(' rel ')'", -"match : expr MATCHOP expr", -"match : expr MATCHOP REGEX", -"match : REGEX", -"match : '(' match ')'", -"expr : term", -"expr : expr term", -"expr : expr '?' expr ':' expr", -"expr : variable ASGNOP cond", -"sprintf : SPRINTF_NEW", -"sprintf : SPRINTF_OLD", -"term : variable", -"term : NUMBER", -"term : STRING", -"term : term '+' term", -"term : term '-' term", -"term : term '*' term", -"term : term '/' term", -"term : term '%' term", -"term : term '^' term", -"term : term IN VAR", -"term : variable INCR", -"term : variable DECR", -"term : INCR variable", -"term : DECR variable", -"term : '-' term", -"term : '+' term", -"term : '(' cond ')'", -"term : GETLINE", -"term : GETLINE variable", -"term : GETLINE '<' expr", -"term : GETLINE variable '<' expr", -"term : term 'p' GETLINE", -"term : term 'p' GETLINE variable", -"term : FUN1", -"term : FUN1 '(' ')'", -"term : FUN1 '(' expr ')'", -"term : FUNN '(' expr_list ')'", -"term : USERFUN '(' expr_list ')'", -"term : SPRINTF_NEW '(' expr_list ')'", -"term : sprintf expr_list", -"term : SUBSTR '(' expr ',' expr ',' expr ')'", -"term : SUBSTR '(' expr ',' expr ')'", -"term : SPLIT '(' expr ',' VAR ',' expr ')'", -"term : SPLIT '(' expr ',' VAR ',' REGEX ')'", -"term : SPLIT '(' expr ',' VAR ')'", -"term : INDEX '(' expr ',' expr ')'", -"term : MATCH '(' expr ',' REGEX ')'", -"term : MATCH '(' expr ',' expr ')'", -"term : SUB '(' expr ',' expr ')'", -"term : SUB '(' REGEX ',' expr ')'", -"term : GSUB '(' expr ',' expr ')'", -"term : GSUB '(' REGEX ',' expr ')'", -"term : SUB '(' expr ',' expr ',' expr ')'", -"term : SUB '(' REGEX ',' expr ',' expr ')'", -"term : GSUB '(' expr ',' expr ',' expr ')'", -"term : GSUB '(' REGEX ',' expr ',' expr ')'", -"variable : VAR", -"variable : VAR '[' expr_list ']'", -"variable : FIELD", -"variable : SVFIELD", -"variable : VFIELD term", -"expr_list : expr", -"expr_list : clist", -"expr_list :", -"clist : expr ',' maybe expr", -"clist : clist ',' maybe expr", -"clist : '(' clist ')'", -"junk : junk hunksep", -"junk :", -"hunksep : ';'", -"hunksep : SEMINEW", -"hunksep : NEWLINE", -"hunksep : COMMENT", -"maybe : maybe nlstuff", -"maybe :", -"nlstuff : NEWLINE", -"nlstuff : COMMENT", -"separator : ';' maybe", -"separator : SEMINEW maybe", -"separator : NEWLINE maybe", -"separator : COMMENT maybe", -"states : states statement", -"states :", -"statement : simple separator maybe", -"statement : ';' maybe", -"statement : SEMINEW maybe", -"statement : compound", -"simpnull : simple", -"simpnull :", -"simple : expr", -"simple : PRINT expr_list redir expr", -"simple : PRINT expr_list", -"simple : PRINTF expr_list redir expr", -"simple : PRINTF expr_list", -"simple : BREAK", -"simple : NEXT", -"simple : EXIT", -"simple : EXIT expr", -"simple : CONTINUE", -"simple : RET", -"simple : RET expr", -"simple : DELETE VAR '[' expr_list ']'", -"redir : '>'", -"redir : GRGR", -"redir : '|'", -"compound : IF '(' cond ')' maybe statement", -"compound : IF '(' cond ')' maybe statement ELSE maybe statement", -"compound : WHILE '(' cond ')' maybe statement", -"compound : DO maybe statement WHILE '(' cond ')'", -"compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement", -"compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement", -"compound : FOR '(' expr ')' maybe statement", -"compound : '{' maybe states '}' maybe", -}; -#endif -#ifndef YYSTYPE -typedef int YYSTYPE; -#endif -#ifdef YYSTACKSIZE -#undef YYMAXDEPTH -#define YYMAXDEPTH YYSTACKSIZE -#else -#ifdef YYMAXDEPTH -#define YYSTACKSIZE YYMAXDEPTH -#else -#define YYSTACKSIZE 500 -#define YYMAXDEPTH 500 -#endif -#endif -int yydebug; -int yynerrs; -int yyerrflag; -int yychar; -short *yyssp; -YYSTYPE *yyvsp; -YYSTYPE yyval; -YYSTYPE yylval; -short yyss[YYSTACKSIZE]; -YYSTYPE yyvs[YYSTACKSIZE]; -#define yystacksize YYSTACKSIZE -#line 429 "a2p.y" - -int yyparse (void); - -#include "a2py.c" -#line 2178 "y.tab.c" -#define YYABORT goto yyabort -#define YYREJECT goto yyabort -#define YYACCEPT goto yyaccept -#define YYERROR goto yyerrlab - -#if YYDEBUG -# if defined(WIN32) -EXTERN_C _CRTIMP char *getenv(const char *); -# else -EXTERN_C char *getenv(const char *); -# endif -#endif - -int -yyparse(void) -{ - int yym, yyn, yystate; -#if YYDEBUG - const char *yys; - - if ((yys = getenv("YYDEBUG"))) - { - yyn = *yys; - if (yyn >= '0' && yyn <= '9') - yydebug = yyn - '0'; - } -#endif - - yynerrs = 0; - yyerrflag = 0; - yychar = (-1); - - yyssp = yyss; - yyvsp = yyvs; - *yyssp = yystate = 0; - -yyloop: - if (((yyn = yydefred[yystate])) != 0) goto yyreduce; - if (yychar < 0) - { - if ((yychar = yylex()) < 0) yychar = 0; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, reading %d (%s)\n", - YYPREFIX, yystate, yychar, yys); - } -#endif - } - if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yychar) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, shifting to state %d\n", - YYPREFIX, yystate, yytable[yyn]); -#endif - if (yyssp >= yyss + yystacksize - 1) - { - goto yyoverflow; - } - *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; - yychar = (-1); - if (yyerrflag > 0) --yyerrflag; - goto yyloop; - } - if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yychar) - { - yyn = yytable[yyn]; - goto yyreduce; - } - if (yyerrflag) goto yyinrecovery; -#ifdef lint - -#endif - - yyerror("syntax error"); -#ifdef lint - -#endif - - ++yynerrs; -yyinrecovery: - if (yyerrflag < 3) - { - yyerrflag = 3; - for (;;) - { - if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, error recovery shifting\ - to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); -#endif - if (yyssp >= yyss + yystacksize - 1) - { - goto yyoverflow; - } - *++yyssp = yystate = yytable[yyn]; - *++yyvsp = yylval; - goto yyloop; - } - else - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: error recovery discarding state %d\n", - YYPREFIX, *yyssp); -#endif - if (yyssp <= yyss) goto yyabort; - --yyssp; - --yyvsp; - } - } - } - else - { - if (yychar == 0) goto yyabort; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, error recovery discards token %d (%s)\n", - YYPREFIX, yystate, yychar, yys); - } -#endif - yychar = (-1); - goto yyloop; - } -yyreduce: -#if YYDEBUG - if (yydebug) - printf("%sdebug: state %d, reducing by rule %d (%s)\n", - YYPREFIX, yystate, yyn, yyrule[yyn]); -#endif - yym = yylen[yyn]; - yyval = yyvsp[1-yym]; - switch (yyn) - { -case 1: -#line 52 "a2p.y" -{ root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); } -break; -case 2: -#line 56 "a2p.y" -{ begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE; - yyval = Nullop; } -break; -case 3: -#line 61 "a2p.y" -{ ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; } -break; -case 4: -#line 63 "a2p.y" -{ yyval = yyvsp[-1]; } -break; -case 5: -#line 67 "a2p.y" -{ yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); } -break; -case 6: -#line 69 "a2p.y" -{ yyval = Nullop; } -break; -case 7: -#line 73 "a2p.y" -{ yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; } -break; -case 8: -#line 75 "a2p.y" -{ yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); } -break; -case 9: -#line 77 "a2p.y" -{ fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); } -break; -case 10: -#line 79 "a2p.y" -{ yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); } -break; -case 13: -#line 85 "a2p.y" -{ yyval = rememberargs(yyval); } -break; -case 14: -#line 89 "a2p.y" -{ yyval = oper1(OPAT,yyvsp[0]); } -break; -case 15: -#line 91 "a2p.y" -{ yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); } -break; -case 20: -#line 99 "a2p.y" -{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); } -break; -case 21: -#line 104 "a2p.y" -{ yyval = oper1(OCPAREN,yyvsp[-1]); } -break; -case 22: -#line 106 "a2p.y" -{ yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); } -break; -case 23: -#line 108 "a2p.y" -{ yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); } -break; -case 24: -#line 110 "a2p.y" -{ yyval = oper1(OCNOT,yyvsp[0]); } -break; -case 25: -#line 114 "a2p.y" -{ yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); } -break; -case 26: -#line 116 "a2p.y" -{ yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); } -break; -case 27: -#line 118 "a2p.y" -{ yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); } -break; -case 28: -#line 120 "a2p.y" -{ yyval = oper1(ORPAREN,yyvsp[-1]); } -break; -case 29: -#line 124 "a2p.y" -{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); } -break; -case 30: -#line 126 "a2p.y" -{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); } -break; -case 31: -#line 128 "a2p.y" -{ yyval = oper1(OREGEX,yyvsp[0]); } -break; -case 32: -#line 130 "a2p.y" -{ yyval = oper1(OMPAREN,yyvsp[-1]); } -break; -case 33: -#line 134 "a2p.y" -{ yyval = yyvsp[0]; } -break; -case 34: -#line 136 "a2p.y" -{ yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); } -break; -case 35: -#line 138 "a2p.y" -{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); } -break; -case 36: -#line 140 "a2p.y" -{ - yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]); - if ((ops[yyvsp[-2]].ival & 255) == OFLD) - lval_field = TRUE; - else if ((ops[yyvsp[-2]].ival & 255) == OVFLD) - lval_field = TRUE; - } -break; -case 39: -#line 153 "a2p.y" -{ yyval = yyvsp[0]; } -break; -case 40: -#line 155 "a2p.y" -{ yyval = oper1(ONUM,yyvsp[0]); } -break; -case 41: -#line 157 "a2p.y" -{ yyval = oper1(OSTR,yyvsp[0]); } -break; -case 42: -#line 159 "a2p.y" -{ yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); } -break; -case 43: -#line 161 "a2p.y" -{ yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); } -break; -case 44: -#line 163 "a2p.y" -{ yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); } -break; -case 45: -#line 165 "a2p.y" -{ yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); } -break; -case 46: -#line 167 "a2p.y" -{ yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); } -break; -case 47: -#line 169 "a2p.y" -{ yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); } -break; -case 48: -#line 171 "a2p.y" -{ yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); } -break; -case 49: -#line 173 "a2p.y" -{ - yyval = oper1(OPOSTINCR,yyvsp[-1]); - if ((ops[yyvsp[-1]].ival & 255) == OFLD) - lval_field = TRUE; - else if ((ops[yyvsp[-1]].ival & 255) == OVFLD) - lval_field = TRUE; - } -break; -case 50: -#line 181 "a2p.y" -{ - yyval = oper1(OPOSTDECR,yyvsp[-1]); - if ((ops[yyvsp[-1]].ival & 255) == OFLD) - lval_field = TRUE; - else if ((ops[yyvsp[-1]].ival & 255) == OVFLD) - lval_field = TRUE; - } -break; -case 51: -#line 189 "a2p.y" -{ - yyval = oper1(OPREINCR,yyvsp[0]); - if ((ops[yyvsp[0]].ival & 255) == OFLD) - lval_field = TRUE; - else if ((ops[yyvsp[0]].ival & 255) == OVFLD) - lval_field = TRUE; - } -break; -case 52: -#line 197 "a2p.y" -{ - yyval = oper1(OPREDECR,yyvsp[0]); - if ((ops[yyvsp[0]].ival & 255) == OFLD) - lval_field = TRUE; - else if ((ops[yyvsp[0]].ival & 255) == OVFLD) - lval_field = TRUE; - } -break; -case 53: -#line 205 "a2p.y" -{ yyval = oper1(OUMINUS,yyvsp[0]); } -break; -case 54: -#line 207 "a2p.y" -{ yyval = oper1(OUPLUS,yyvsp[0]); } -break; -case 55: -#line 209 "a2p.y" -{ yyval = oper1(OPAREN,yyvsp[-1]); } -break; -case 56: -#line 211 "a2p.y" -{ yyval = oper0(OGETLINE); } -break; -case 57: -#line 213 "a2p.y" -{ yyval = oper1(OGETLINE,yyvsp[0]); } -break; -case 58: -#line 215 "a2p.y" -{ yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]); - if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } -break; -case 59: -#line 218 "a2p.y" -{ yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]); - if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } -break; -case 60: -#line 221 "a2p.y" -{ yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]); - if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } -break; -case 61: -#line 224 "a2p.y" -{ yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]); - if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } -break; -case 62: -#line 227 "a2p.y" -{ yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; } -break; -case 63: -#line 229 "a2p.y" -{ yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; } -break; -case 64: -#line 231 "a2p.y" -{ yyval = oper1(yyvsp[-3],yyvsp[-1]); } -break; -case 65: -#line 233 "a2p.y" -{ yyval = oper1(yyvsp[-3],yyvsp[-1]); } -break; -case 66: -#line 235 "a2p.y" -{ yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); } -break; -case 67: -#line 237 "a2p.y" -{ yyval = oper1(OSPRINTF,yyvsp[-1]); } -break; -case 68: -#line 239 "a2p.y" -{ yyval = oper1(OSPRINTF,yyvsp[0]); } -break; -case 69: -#line 241 "a2p.y" -{ yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); } -break; -case 70: -#line 243 "a2p.y" -{ yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); } -break; -case 71: -#line 245 "a2p.y" -{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); } -break; -case 72: -#line 247 "a2p.y" -{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));} -break; -case 73: -#line 249 "a2p.y" -{ yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); } -break; -case 74: -#line 251 "a2p.y" -{ yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); } -break; -case 75: -#line 253 "a2p.y" -{ yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); } -break; -case 76: -#line 255 "a2p.y" -{ yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); } -break; -case 77: -#line 257 "a2p.y" -{ yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); } -break; -case 78: -#line 259 "a2p.y" -{ yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); } -break; -case 79: -#line 261 "a2p.y" -{ yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); } -break; -case 80: -#line 263 "a2p.y" -{ yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); } -break; -case 81: -#line 265 "a2p.y" -{ yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); } -break; -case 82: -#line 267 "a2p.y" -{ yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); } -break; -case 83: -#line 269 "a2p.y" -{ yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); } -break; -case 84: -#line 271 "a2p.y" -{ yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); } -break; -case 85: -#line 275 "a2p.y" -{ yyval = oper1(OVAR,yyvsp[0]); } -break; -case 86: -#line 277 "a2p.y" -{ yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); } -break; -case 87: -#line 279 "a2p.y" -{ yyval = oper1(OFLD,yyvsp[0]); } -break; -case 88: -#line 281 "a2p.y" -{ yyval = oper1(OVFLD,oper1(OVAR,yyvsp[0])); } -break; -case 89: -#line 283 "a2p.y" -{ yyval = oper1(OVFLD,yyvsp[0]); } -break; -case 92: -#line 290 "a2p.y" -{ yyval = Nullop; } -break; -case 93: -#line 294 "a2p.y" -{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); } -break; -case 94: -#line 296 "a2p.y" -{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); } -break; -case 95: -#line 298 "a2p.y" -{ yyval = yyvsp[-1]; } -break; -case 96: -#line 302 "a2p.y" -{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); } -break; -case 97: -#line 304 "a2p.y" -{ yyval = Nullop; } -break; -case 98: -#line 308 "a2p.y" -{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); } -break; -case 99: -#line 310 "a2p.y" -{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); } -break; -case 100: -#line 312 "a2p.y" -{ yyval = oper0(ONEWLINE); } -break; -case 101: -#line 314 "a2p.y" -{ yyval = oper1(OCOMMENT,yyvsp[0]); } -break; -case 102: -#line 318 "a2p.y" -{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); } -break; -case 103: -#line 320 "a2p.y" -{ yyval = Nullop; } -break; -case 104: -#line 324 "a2p.y" -{ yyval = oper0(ONEWLINE); } -break; -case 105: -#line 326 "a2p.y" -{ yyval = oper1(OCOMMENT,yyvsp[0]); } -break; -case 106: -#line 331 "a2p.y" -{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); } -break; -case 107: -#line 333 "a2p.y" -{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); } -break; -case 108: -#line 335 "a2p.y" -{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); } -break; -case 109: -#line 337 "a2p.y" -{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); } -break; -case 110: -#line 341 "a2p.y" -{ yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); } -break; -case 111: -#line 343 "a2p.y" -{ yyval = Nullop; } -break; -case 112: -#line 348 "a2p.y" -{ yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); } -break; -case 113: -#line 350 "a2p.y" -{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); } -break; -case 114: -#line 352 "a2p.y" -{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); } -break; -case 117: -#line 358 "a2p.y" -{ yyval = Nullop; } -break; -case 119: -#line 364 "a2p.y" -{ yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]); - do_opens = TRUE; - saw_ORS = saw_OFS = TRUE; - if (!yyvsp[-2]) need_entire = TRUE; - if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } -break; -case 120: -#line 370 "a2p.y" -{ yyval = oper1(OPRINT,yyvsp[0]); - if (!yyvsp[0]) need_entire = TRUE; - saw_ORS = saw_OFS = TRUE; - } -break; -case 121: -#line 375 "a2p.y" -{ yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]); - do_opens = TRUE; - if (!yyvsp[-2]) need_entire = TRUE; - if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } -break; -case 122: -#line 380 "a2p.y" -{ yyval = oper1(OPRINTF,yyvsp[0]); - if (!yyvsp[0]) need_entire = TRUE; - } -break; -case 123: -#line 384 "a2p.y" -{ yyval = oper0(OBREAK); } -break; -case 124: -#line 386 "a2p.y" -{ yyval = oper0(ONEXT); } -break; -case 125: -#line 388 "a2p.y" -{ yyval = oper0(OEXIT); } -break; -case 126: -#line 390 "a2p.y" -{ yyval = oper1(OEXIT,yyvsp[0]); } -break; -case 127: -#line 392 "a2p.y" -{ yyval = oper0(OCONTINUE); } -break; -case 128: -#line 394 "a2p.y" -{ yyval = oper0(ORETURN); } -break; -case 129: -#line 396 "a2p.y" -{ yyval = oper1(ORETURN,yyvsp[0]); } -break; -case 130: -#line 398 "a2p.y" -{ yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); } -break; -case 131: -#line 402 "a2p.y" -{ yyval = oper1(OREDIR,string(">",1)); } -break; -case 132: -#line 404 "a2p.y" -{ yyval = oper1(OREDIR,string(">>",2)); } -break; -case 133: -#line 406 "a2p.y" -{ yyval = oper1(OREDIR,string("|",1)); } -break; -case 134: -#line 411 "a2p.y" -{ yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } -break; -case 135: -#line 413 "a2p.y" -{ yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); } -break; -case 136: -#line 415 "a2p.y" -{ yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } -break; -case 137: -#line 417 "a2p.y" -{ yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); } -break; -case 138: -#line 419 "a2p.y" -{ yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } -break; -case 139: -#line 421 "a2p.y" -{ yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } -break; -case 140: -#line 423 "a2p.y" -{ yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); } -break; -case 141: -#line 425 "a2p.y" -{ yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); } -break; -#line 2878 "y.tab.c" - } - yyssp -= yym; - yystate = *yyssp; - yyvsp -= yym; - yym = yylhs[yyn]; - if (yystate == 0 && yym == 0) - { -#if YYDEBUG - if (yydebug) - printf("%sdebug: after reduction, shifting from state 0 to\ - state %d\n", YYPREFIX, YYFINAL); -#endif - yystate = YYFINAL; - *++yyssp = YYFINAL; - *++yyvsp = yyval; - if (yychar < 0) - { - if ((yychar = yylex()) < 0) yychar = 0; -#if YYDEBUG - if (yydebug) - { - yys = 0; - if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; - if (!yys) yys = "illegal-symbol"; - printf("%sdebug: state %d, reading %d (%s)\n", - YYPREFIX, YYFINAL, yychar, yys); - } -#endif - } - if (yychar == 0) goto yyaccept; - goto yyloop; - } - if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && - yyn <= YYTABLESIZE && yycheck[yyn] == yystate) - yystate = yytable[yyn]; - else - yystate = yydgoto[yym]; -#if YYDEBUG - if (yydebug) - printf("%sdebug: after reduction, shifting from state %d \ -to state %d\n", YYPREFIX, *yyssp, yystate); -#endif - if (yyssp >= yyss + yystacksize - 1) - { - goto yyoverflow; - } - *++yyssp = yystate; - *++yyvsp = yyval; - goto yyloop; -yyoverflow: - yyerror("yacc stack overflow"); -yyabort: - return (1); -yyaccept: - return (0); -} |