summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/x2p
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/x2p')
-rwxr-xr-xcontrib/perl5/x2p/Makefile.SH7
-rw-r--r--contrib/perl5/x2p/a2p.c3862
-rw-r--r--contrib/perl5/x2p/a2p.h59
-rw-r--r--contrib/perl5/x2p/a2p.pod19
-rw-r--r--contrib/perl5/x2p/a2p.y11
-rw-r--r--contrib/perl5/x2p/a2py.c13
-rwxr-xr-xcontrib/perl5/x2p/cflags.SH4
-rw-r--r--contrib/perl5/x2p/find2perl.PL1178
-rw-r--r--contrib/perl5/x2p/hash.c7
-rw-r--r--contrib/perl5/x2p/hash.h18
-rw-r--r--contrib/perl5/x2p/s2p.PL14
-rw-r--r--contrib/perl5/x2p/str.h44
-rw-r--r--contrib/perl5/x2p/util.c3
-rw-r--r--contrib/perl5/x2p/util.h28
-rw-r--r--contrib/perl5/x2p/walk.c24
15 files changed, 2831 insertions, 2460 deletions
diff --git a/contrib/perl5/x2p/Makefile.SH b/contrib/perl5/x2p/Makefile.SH
index 1f92d5d..8ed7d31 100755
--- a/contrib/perl5/x2p/Makefile.SH
+++ b/contrib/perl5/x2p/Makefile.SH
@@ -1,4 +1,4 @@
-case $CONFIG in
+case $CONFIGDOTSH in
'')
if test -f config.sh; then TOP=.;
elif test -f ../config.sh; then TOP=..;
@@ -85,6 +85,7 @@ pl = find2perl.PL s2p.PL
plextract = find2perl s2p
plexe = find2perl.exe s2p.exe
plc = find2perl.c s2p.c
+plm = a2p.loadmap
addedbyconf = $(shextract) $(plextract)
@@ -119,6 +120,8 @@ run_byacc: FORCE
rm -f a2p.c
mv y.tab.c a2p.c
+FORCE:
+
# We don't want to regenerate a2p.c, but it might appear out-of-date
# after a patch is applied or a new distribution is made.
a2p.c: a2p.y
@@ -129,7 +132,7 @@ a2p$(OBJ_EXT): a2p.c a2py.c a2p.h EXTERN.h util.h INTERN.h \
$(CCCMD) $(LARGE) a2p.c
clean:
- rm -f a2p *$(OBJ_EXT) $(plexe) $(plc)
+ rm -f a2p *$(OBJ_EXT) $(plexe) $(plc) $(plm)
realclean: clean
rm -f *.orig core $(addedbyconf) all malloc.c
diff --git a/contrib/perl5/x2p/a2p.c b/contrib/perl5/x2p/a2p.c
index e79e156..b512cf9 100644
--- a/contrib/perl5/x2p/a2p.c
+++ b/contrib/perl5/x2p/a2p.c
@@ -32,1788 +32,1858 @@ int ends = Nullop;
#define GRGR 265
#define PRINT 266
#define PRINTF 267
-#define SPRINTF 268
-#define SPLIT 269
-#define IF 270
-#define ELSE 271
-#define WHILE 272
-#define FOR 273
-#define IN 274
-#define EXIT 275
-#define NEXT 276
-#define BREAK 277
-#define CONTINUE 278
-#define RET 279
-#define GETLINE 280
-#define DO 281
-#define SUB 282
-#define GSUB 283
-#define MATCH 284
-#define FUNCTION 285
-#define USERFUN 286
-#define DELETE 287
-#define ASGNOP 288
-#define OROR 289
-#define ANDAND 290
-#define NUMBER 291
-#define VAR 292
-#define SUBSTR 293
-#define INDEX 294
-#define MATCHOP 295
-#define RELOP 296
-#define OR 297
-#define STRING 298
-#define UMINUS 299
-#define NOT 300
-#define INCR 301
-#define DECR 302
-#define FIELD 303
-#define VFIELD 304
+#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 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, 16, 16, 16, 16,
+ 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, 17, 17, 17, 17, 10, 10, 10, 18, 18,
- 18, 1, 1, 19, 19, 19, 19, 4, 4, 20,
- 20, 21, 21, 21, 21, 5, 5, 22, 22, 22,
- 22, 25, 25, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 26, 26, 26, 24,
- 24, 24, 24, 24, 24, 24, 24,
+ 16, 16, 16, 16, 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, 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, 2, 8, 6, 8, 8, 6,
- 6, 6, 6, 6, 6, 6, 6, 8, 8, 8,
- 8, 1, 4, 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,
+ 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, 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[] = { 93,
- 0, 0, 95, 96, 97, 94, 0, 92, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 38, 0, 0, 0, 39, 0, 0, 0, 0,
- 0, 84, 0, 99, 0, 11, 0, 93, 0, 0,
- 0, 17, 18, 19, 0, 0, 99, 99, 0, 0,
- 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
- 49, 50, 0, 0, 0, 0, 0, 0, 4, 0,
- 99, 0, 99, 99, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 48, 0, 0, 61, 0, 0, 0, 0, 0,
- 99, 99, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 100, 101, 0, 98, 53,
- 32, 28, 21, 0, 0, 0, 0, 0, 0, 30,
- 0, 0, 0, 0, 46, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 62, 63, 91, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 13, 64,
- 83, 0, 0, 99, 0, 0, 0, 0, 0, 0,
- 120, 119, 123, 0, 99, 0, 99, 10, 99, 0,
- 106, 0, 111, 0, 0, 0, 22, 0, 59, 93,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 99, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 99, 99, 99, 99, 99,
- 8, 0, 0, 0, 70, 0, 75, 0, 74, 0,
- 77, 0, 76, 0, 72, 73, 0, 67, 0, 71,
- 128, 127, 129, 0, 0, 0, 0, 0, 112, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 99, 0, 0, 0, 99, 99,
- 99, 0, 0, 0, 99, 69, 68, 79, 78, 81,
- 80, 0, 66, 0, 0, 0, 0, 0, 0, 126,
- 0, 0, 0, 132, 136, 0, 0, 0, 9, 99,
- 99, 0, 133, 0, 0, 99, 131, 135, 0, 134,
+short yydefred[] = { 96,
+ 0, 0, 98, 99, 100, 97, 0, 95, 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, 102, 0, 11, 0, 96, 0,
+ 0, 0, 17, 18, 19, 0, 0, 0, 102, 102,
+ 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, 102,
+ 0, 102, 102, 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, 103, 104, 0, 101, 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, 102, 102, 0, 0, 64,
+ 65, 67, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13, 66, 86, 0, 0, 102, 0, 0, 0, 0,
+ 0, 0, 123, 122, 126, 0, 102, 0, 102, 10,
+ 102, 0, 109, 0, 114, 0, 0, 0, 22, 0,
+ 61, 94, 0, 0, 96, 3, 0, 0, 0, 0,
+ 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 102, 102,
+ 102, 102, 102, 8, 0, 0, 0, 0, 0, 73,
+ 0, 78, 0, 77, 0, 80, 0, 79, 0, 75,
+ 76, 0, 70, 0, 74, 131, 130, 132, 0, 0,
+ 0, 0, 0, 115, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
+ 0, 0, 0, 102, 102, 102, 0, 0, 0, 102,
+ 72, 71, 82, 81, 84, 83, 0, 69, 0, 0,
+ 0, 0, 0, 0, 129, 0, 0, 0, 135, 139,
+ 0, 0, 0, 9, 102, 102, 0, 136, 0, 0,
+ 102, 134, 138, 0, 137,
};
short yydgoto[] = { 1,
- 2, 7, 36, 74, 128, 37, 38, 39, 168, 52,
- 75, 190, 42, 43, 44, 45, 46, 54, 8, 129,
- 230, 191, 192, 193, 260, 254,
+ 2, 7, 37, 73, 127, 38, 39, 40, 170, 103,
+ 74, 192, 43, 44, 45, 46, 47, 48, 105, 8,
+ 128, 233, 193, 194, 195, 265, 259,
};
short yysindex[] = { 0,
- 0, -50, 0, 0, 0, 0, 4775, 0, -91, -38,
- 0, 34, 41, 7201, 42, 6, 46, 48, 50, -184,
- 70, 0, 16, 77, 80, 0, 7255, 7255, 5051, -220,
- -220, 0, 7255, 0, 5051, 0, -140, 0, 5, -13,
- 5693, 0, 0, 0, -32, -233, 0, 0, 4619, 7201,
- 5962, 0, 6006, 79, 7255, 7255, 71, 6890, 6936, 7255,
- 87, 7201, 7201, 7255, 7255, 5051, -42, -244, -42, 0,
- 0, 0, 20, -183, -41, 89, 92, 93, 0, -50,
- 0, 7255, 0, 0, 5051, 7255, 6990, 7255, 7255, 7255,
- -32, -157, 7255, 7255, 7255, 7255, 7255, 7255, -144, 5051,
- 0, 0, -183, -183, 0, 3590, 96, 5962, 5577, 10,
- 0, 0, 6049, 1522, 7255, 94, 6107, 95, 6153, 6195,
- 7201, 99, 51, 6238, 6281, 0, 0, 4886, 0, 0,
- 0, 0, 0, -183, 6323, 1605, 1605, -60, 6380, 0,
- 1522, 1522, 1522, 1522, 0, -7, -7, -42, -42, -42,
- -42, -220, -60, 4931, 4977, 0, 0, 0, 6425, 6425,
- -151, 1522, 7255, 7255, 7255, 7255, 7052, 102, 0, 0,
- 0, 7255, 7255, 0, 7201, 7201, 115, 119, 121, 7255,
- 0, 0, 0, 7255, 0, -130, 0, 0, 0, 7112,
- 0, 18, 0, 5242, 7255, -126, 0, 7255, 0, 0,
- 0, 7112, 7112, 32, 2427, 2474, 5735, 5779, 126, 6470,
- 0, 5842, 6513, -183, -33, -33, 5051, 5051, 5428, 7112,
- 7112, 4046, 81, -183, -183, 0, 0, 0, 0, 0,
- 0, 7112, 7112, -50, 0, 7158, 0, 7255, 0, 7255,
- 0, 7255, 0, 7255, 0, 0, -96, 0, 7255, 0,
- 0, 0, 0, 7255, 7255, -39, -37, 6555, 0, 116,
- -95, 7201, 5287, -183, -183, -183, -183, -183, 135, 6612,
- 6657, 6702, 6745, 6787, 0, 6844, 7112, 7112, 0, 0,
- 0, 5908, 144, 97, 0, 0, 0, 0, 0, 0,
- 0, -183, 0, 4046, 4046, 4046, 5428, -51, 5051, 0,
- -183, 5332, -85, 0, 0, 146, 5428, -35, 0, 0,
- 0, 147, 0, 4046, 4046, 0, 0, 0, 4046, 0,
+ 0, -52, 0, 0, 0, 0, 2796, 0, -90, -86,
+ 0, 17, 25, 0, 38, 44, -57, 45, 47, 48,
+ -219, 49, 0, -1, 51, 52, 0, 7708, 7708, 6350,
+ -238, -238, 0, 7708, 0, 6350, 0, -165, 0, -21,
+ -12, 5968, 0, 0, 0, -32, -253, 7759, 0, 0,
+ 7372, 7759, 7759, 7708, 7708, 46, 7419, 7473, 7708, 65,
+ 7759, 7759, 7708, 7708, 6350, -54, -228, -54, 0, 0,
+ 0, -5, -185, -41, 71, 76, 80, 0, -52, 0,
+ 7708, 0, 0, 6350, 7708, 7528, 7708, 7708, 7708, -32,
+ -171, 7708, 7708, 7708, 7708, 7708, 7708, -152, 6350, 0,
+ 0, 6397, 0, 6481, 86, -185, -185, 0, 6528, 90,
+ 91, 6583, 184, 7708, 89, 6630, 93, 6673, 6716, 7759,
+ 94, 41, 6761, 6816, 0, 0, 5228, 0, 0, 0,
+ 0, 0, -185, 6863, 6015, 6015, -49, 6906, 0, 184,
+ 184, 184, 184, 0, -8, -8, -54, -54, -54, -54,
+ -238, -49, 6397, 5924, 28, 0, 0, 5320, 5411, 0,
+ 0, 0, -154, 184, 7708, 7708, 7708, 7708, 7575, 100,
+ 0, 0, 0, 7708, 7708, 0, 7759, 7759, 104, 105,
+ 117, 7708, 0, 0, 0, 7708, 0, -151, 0, 0,
+ 0, 7618, 0, -43, 0, 5495, 7708, -129, 0, 7708,
+ 0, 0, 3816, 3816, 0, 0, 29, 6062, 6119, 6203,
+ 6248, 122, 6949, 0, 6295, 6994, -185, -45, -45, 6350,
+ 6350, 4306, 7618, 7618, 4429, 81, -185, -185, 0, 0,
+ 0, 0, 0, 0, 7618, 7618, 7618, 7618, -52, 0,
+ 7665, 0, 7708, 0, 7708, 0, 7708, 0, 7708, 0,
+ 0, -96, 0, 7708, 0, 0, 0, 0, 7708, 7708,
+ -39, -37, 7049, 0, 108, -97, 7759, 5586, -185, -185,
+ -185, -185, -185, 136, 7096, 7139, 7182, 7227, 7282, 0,
+ 7329, 7618, 7618, 0, 0, 0, 3890, 138, 88, 0,
+ 0, 0, 0, 0, 0, 0, -185, 0, 4429, 4429,
+ 4429, 4306, -51, 6350, 0, -185, 5678, -89, 0, 0,
+ 141, 4306, -35, 0, 0, 0, 143, 0, 4429, 4429,
+ 0, 0, 0, 4429, 0,
};
short yyrindex[] = { 0,
- 0, 2000, 0, 0, 0, 0, 189, 0, 0, 0,
- 0, 56, 0, 3312, 0, 2591, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2138, 0, 1930, 1209,
- 3755, 0, 0, 0, 1818, 1394, 0, 0, 0, 151,
- 0, 0, 3707, 111, 0, 0, 381, 0, 0, 0,
- 0, 151, 100, 0, 0, 0, 564, 834, 889, 0,
- 0, 0, 436, 5378, 0, -49, -46, -43, 0, 2195,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2084, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5378, 5378, 0, 0, 0, 0, -22, 0,
- 0, 0, 0, 2639, 0, 0, 0, 0, 0, 0,
- 151, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 5378, 0, 0, 0, 1872, 0, 0,
- 2878, 2923, 2968, 3037, 0, 1719, 1770, 943, 1016, 1286,
- 1340, 2536, 1664, 0, 0, 0, 0, 0, 0, 0,
- 0, 3245, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67, 67, 0, 0, 0, -34,
- 0, 0, 0, 12, 0, 0, 0, 0, 0, 101,
- 0, 0, 0, 0, 0, 491, 0, 0, 0, 0,
- 0, 3360, 3432, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4091, 104, 172, 0, 0, 136, 241,
- 247, 0, 0, 5378, 4146, 0, 0, 0, 0, 0,
- 0, 3520, 3640, 2266, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 137, 0, 0,
- 0, 100, 0, 4220, 4411, 4485, 4530, 4576, 0, 0,
- 0, 0, 0, 0, 0, 0, 296, 357, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5378, 0, 0, 0, 0, 153, 0, 0, 0,
- 4841, 0, 5643, 0, 0, 0, 153, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2452, 0, 0, 0, 0, 185, 0, 0, 0,
+ 0, 56, 0, 0, 111, 0, 2886, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2279, 0, 2328,
+ 2048, 4023, 0, 0, 0, 2120, 1671, 3590, 0, 0,
+ 0, 145, 145, 0, 0, 382, 0, 0, 0, 0,
+ 145, 95, 0, 0, 0, 818, 872, 946, 0, 0,
+ 0, 437, 5769, 0, -16, -10, 18, 0, 2511, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3951, 492, 5769, 5769, 0, 0, 0,
+ 0, 0, 2934, 0, 0, 0, 0, 0, 0, 145,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5769, 0, 0, 0, 2221, 0, 0, 2982,
+ 3222, 3267, 3312, 0, 1781, 1854, 1217, 1271, 1325, 1400,
+ 2619, 1726, 0, -23, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3381, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 102, 102, 0, 0,
+ 0, 171, 0, 0, 0, 174, 0, 0, 0, 0,
+ 0, 242, 0, 0, 0, 0, 0, 763, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4508, 248, 297, 0,
+ 0, 128, 350, 358, 0, 0, 5769, 4604, 0, 0,
+ 0, 0, 0, 0, 3657, 3705, 3760, 3866, 2561, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 130, 0, 0, 0, 95, 0, 4695, 4779,
+ 4870, 4962, 5053, 0, 0, 0, 0, 0, 0, 0,
+ 0, 398, 431, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5769, 0, 0, 0,
+ 0, 149, 0, 0, 0, 5137, 0, 5853, 0, 0,
+ 0, 149, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
};
short yygindex[] = { 0,
- -15, 0, 0, 3236, -67, 0, 0, 0, 0, -29,
- 171, 4012, -19, 4, 14, 7669, 7480, -4, 0, 0,
- 0, -113, -201, 0, -232, -18,
+ -30, 0, 0, 4250, -24, 0, 0, 0, 0, 397,
+ 24, 4208, -17, -15, -13, 7990, 4404, 0, -82, 0,
+ 0, 0, -173, -192, 0, -277, -28,
};
-#define YYTABLESIZE 7947
-short yytable[] = { 130,
- 82, 279, 82, 280, 97, 313, 121, 307, 6, 95,
- 93, 82, 94, 17, 96, 76, 18, 259, 16, 19,
- 107, 82, 80, 82, 121, 82, 275, 82, 252, 97,
- 85, 47, 122, 123, 95, 154, 155, 82, 77, 96,
- 82, 82, 82, 82, 82, 82, 110, 82, 78, 82,
- 158, 98, 124, 112, 100, 60, 101, 102, 82, 82,
- 82, 98, 82, 82, 306, 56, 194, 101, 102, 99,
- 124, 23, 235, 49, 312, 236, 229, 126, 127, 99,
- 50, 55, 32, 33, 48, 58, 98, 59, 76, 60,
- 253, 169, 60, 82, 82, 259, 60, 60, 60, 60,
- 60, 61, 60, 110, 99, 259, 63, 88, 261, 62,
- 87, 77, 82, 60, 60, 60, 64, 60, 60, 65,
- 79, 78, 112, 82, 82, 88, 121, 81, 88, 131,
- 115, 99, 132, 133, 145, 152, 157, 163, 165, 170,
- 204, 114, 211, 171, 116, 215, 216, 87, 60, 60,
- 87, 87, 87, 87, 217, 87, 263, 87, 218, 114,
- 219, 223, 116, 84, 126, 127, 245, 60, 87, 87,
- 87, 262, 87, 87, 282, 286, 283, 40, 60, 60,
- 303, 304, 305, 299, 234, 310, 311, 316, 1, 300,
- 88, 88, 88, 113, 113, 114, 0, 255, 0, 70,
- 317, 318, 0, 87, 87, 320, 0, 0, 0, 3,
- 4, 5, 118, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 87, 0, 302, 121, 121, 121, 83, 84,
- 118, 251, 284, 87, 87, 0, 0, 83, 84, 17,
- 17, 92, 18, 18, 0, 19, 19, 83, 84, 83,
- 84, 83, 84, 83, 84, 138, 0, 82, 82, 82,
- 82, 82, 82, 82, 82, 82, 16, 16, 82, 82,
- 153, 124, 124, 124, 82, 83, 84, 226, 227, 228,
- 82, 122, 82, 82, 82, 82, 82, 125, 82, 82,
- 82, 82, 82, 82, 82, 82, 82, 23, 82, 122,
- 82, 82, 82, 82, 82, 125, 196, 197, 32, 33,
- 0, 0, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 0, 0, 60, 60, 0, 88, 88, 88, 60,
- 0, 88, 0, 0, 0, 60, 115, 60, 60, 60,
- 60, 60, 0, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 0, 60, 115, 60, 60, 60, 60, 60,
- 114, 114, 114, 116, 116, 116, 0, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 0, 0, 87, 87,
- 55, 0, 0, 0, 87, 0, 0, 256, 257, 0,
- 87, 0, 87, 87, 87, 87, 87, 117, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 0, 87, 0,
- 87, 87, 87, 87, 87, 117, 0, 55, 0, 0,
- 55, 55, 55, 55, 55, 55, 0, 55, 0, 0,
- 0, 118, 118, 118, 0, 85, 0, 0, 55, 55,
- 0, 0, 55, 55, 0, 0, 0, 0, 0, 0,
- 0, 0, 298, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 308,
- 0, 0, 85, 55, 55, 85, 85, 85, 85, 85,
- 85, 0, 85, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 55, 85, 85, 85, 0, 85, 85, 0,
- 122, 122, 122, 55, 55, 0, 125, 125, 125, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 23, 85, 85,
- 23, 23, 23, 23, 23, 23, 0, 23, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 23,
- 23, 0, 23, 23, 0, 115, 115, 115, 85, 85,
- 0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 23, 23, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 52, 0, 23, 52, 52, 52, 52, 52, 52, 0,
- 52, 0, 0, 23, 23, 0, 117, 117, 117, 0,
- 0, 52, 52, 52, 0, 52, 52, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 0, 0, 55, 55,
- 0, 0, 0, 0, 55, 0, 52, 0, 0, 0,
- 55, 0, 55, 55, 55, 55, 55, 0, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 0, 55, 0,
- 55, 55, 55, 55, 55, 0, 52, 52, 0, 0,
- 0, 0, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 0, 0, 85, 85, 0, 0, 0, 0, 85,
- 0, 0, 0, 0, 0, 85, 0, 85, 85, 85,
- 85, 85, 0, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 0, 85, 0, 85, 85, 85, 85, 85,
- 0, 0, 0, 0, 0, 0, 0, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 0, 0, 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, 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,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
- 0, 52, 52, 37, 0, 0, 0, 52, 0, 0,
- 0, 0, 0, 52, 0, 52, 52, 52, 52, 52,
- 0, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 0, 52, 0, 52, 52, 52, 52, 52, 0, 0,
- 37, 0, 0, 37, 37, 37, 37, 37, 37, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 51, 0,
- 0, 37, 37, 37, 0, 37, 37, 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, 51, 37, 37, 51, 51,
- 51, 51, 51, 51, 0, 51, 0, 0, 0, 0,
- 0, 0, 42, 0, 0, 37, 51, 51, 51, 0,
- 51, 51, 0, 0, 0, 0, 37, 37, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
- 0, 51, 42, 42, 42, 42, 42, 42, 0, 42,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 42, 42, 42, 0, 42, 42, 0, 0, 0, 0,
- 0, 51, 51, 0, 0, 43, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 42, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 43, 0, 0, 43, 43, 43, 43, 43,
- 43, 0, 43, 0, 0, 42, 42, 0, 0, 0,
- 0, 0, 0, 43, 43, 43, 0, 43, 43, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
- 0, 37, 37, 0, 0, 0, 0, 37, 43, 0,
- 0, 0, 0, 37, 0, 37, 37, 37, 37, 37,
- 0, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 0, 37, 0, 37, 0, 0, 37, 37, 43, 43,
- 0, 0, 0, 0, 0, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 0, 0, 51, 51, 0, 0,
- 0, 0, 51, 0, 0, 0, 0, 0, 51, 0,
- 51, 51, 51, 51, 51, 0, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 0, 51, 0, 51, 51,
- 51, 51, 51, 0, 0, 0, 0, 0, 0, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 14, 0,
- 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, 0, 14, 0,
- 0, 14, 0, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 14, 0, 0,
- 0, 0, 43, 43, 43, 43, 43, 43, 43, 43,
- 43, 0, 0, 43, 43, 44, 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,
- 0, 0, 44, 0, 0, 44, 44, 44, 44, 44,
- 44, 14, 44, 0, 0, 0, 0, 0, 0, 45,
- 0, 0, 0, 44, 44, 44, 0, 44, 44, 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, 45, 0, 44, 45,
- 45, 45, 45, 45, 45, 0, 45, 0, 0, 0,
- 0, 0, 0, 37, 0, 0, 0, 45, 45, 45,
- 0, 45, 45, 0, 0, 0, 0, 0, 44, 44,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 0, 45, 37, 37, 37, 37, 37, 37, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 37, 37, 37, 0, 37, 37, 0, 0, 0,
- 0, 0, 45, 45, 0, 14, 14, 14, 14, 14,
- 14, 14, 14, 0, 0, 0, 14, 14, 0, 0,
- 0, 0, 0, 0, 0, 0, 37, 37, 14, 0,
- 14, 14, 14, 14, 14, 0, 0, 0, 0, 14,
- 14, 14, 14, 0, 0, 37, 14, 0, 14, 14,
- 14, 14, 14, 0, 0, 0, 37, 37, 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, 44, 44, 44, 44, 44, 44, 44,
- 44, 0, 0, 44, 44, 0, 0, 0, 0, 44,
- 0, 66, 0, 0, 27, 44, 28, 44, 44, 44,
- 44, 44, 0, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 0, 44, 0, 44, 44, 44, 44, 44,
- 0, 0, 0, 0, 0, 0, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 0, 0, 45, 45, 0,
- 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, 35, 0, 0, 27, 0, 28,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
- 0, 37, 37, 36, 0, 0, 0, 37, 0, 0,
- 0, 0, 0, 37, 0, 37, 37, 37, 37, 37,
- 0, 0, 37, 37, 37, 37, 37, 37, 37, 37,
- 0, 37, 0, 37, 0, 0, 37, 37, 0, 0,
- 36, 0, 0, 36, 36, 36, 36, 36, 36, 0,
- 36, 0, 0, 0, 0, 0, 0, 0, 40, 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, 40, 40,
- 0, 40, 40, 40, 0, 0, 0, 0, 0, 41,
- 0, 0, 0, 0, 0, 36, 40, 40, 40, 0,
- 40, 40, 0, 0, 12, 13, 36, 36, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 41,
- 41, 40, 41, 41, 41, 0, 0, 33, 0, 26,
- 0, 0, 30, 31, 32, 33, 0, 41, 41, 41,
- 0, 41, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 40, 40, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 33, 33, 0,
- 0, 33, 41, 11, 0, 126, 127, 12, 13, 0,
- 0, 15, 14, 15, 0, 33, 33, 33, 0, 33,
- 33, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 41, 41, 0, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 29, 30, 31, 32, 33, 0,
- 33, 15, 0, 0, 15, 0, 15, 0, 0, 0,
- 36, 36, 36, 36, 36, 36, 36, 36, 36, 7,
- 15, 36, 36, 0, 0, 0, 0, 36, 0, 0,
- 33, 33, 0, 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, 0, 7,
- 0, 0, 7, 0, 7, 40, 40, 40, 40, 40,
- 40, 40, 40, 40, 0, 0, 40, 40, 7, 0,
- 0, 0, 40, 0, 15, 0, 0, 0, 40, 6,
- 40, 40, 40, 40, 40, 0, 40, 40, 40, 40,
- 40, 40, 40, 40, 40, 0, 40, 0, 40, 40,
- 40, 40, 40, 0, 0, 0, 41, 41, 41, 41,
- 41, 41, 41, 41, 41, 0, 0, 41, 41, 6,
- 0, 0, 6, 41, 6, 0, 0, 0, 0, 41,
- 0, 41, 41, 41, 41, 41, 0, 41, 41, 41,
- 41, 41, 41, 41, 41, 41, 0, 41, 0, 41,
- 41, 41, 41, 41, 33, 33, 33, 33, 33, 33,
- 33, 33, 33, 34, 0, 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, 6, 34, 34, 0, 0, 34, 15, 15,
- 15, 15, 15, 15, 15, 15, 0, 12, 0, 15,
- 15, 34, 34, 34, 0, 34, 34, 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, 34, 12, 0, 0,
- 12, 0, 12, 0, 0, 0, 7, 7, 7, 7,
- 7, 7, 7, 7, 5, 0, 12, 7, 7, 0,
- 0, 0, 0, 0, 0, 0, 34, 34, 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, 5, 0, 0, 5, 0, 5,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 6, 6, 6, 0,
- 12, 0, 6, 6, 0, 2, 0, 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, 0, 2, 0, 0, 2, 0,
- 2, 0, 0, 0, 0, 0, 0, 5, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 0,
+#define YYTABLESIZE 8273
+short yytable[] = { 129,
+ 85, 284, 55, 285, 96, 318, 6, 312, 79, 94,
+ 92, 81, 93, 81, 95, 232, 257, 16, 75, 155,
+ 76, 81, 77, 81, 311, 81, 280, 81, 96, 264,
+ 41, 84, 49, 94, 317, 99, 50, 85, 95, 97,
+ 85, 85, 85, 85, 85, 85, 17, 85, 100, 101,
+ 81, 266, 18, 69, 24, 62, 51, 98, 85, 85,
+ 85, 97, 85, 85, 52, 33, 34, 60, 202, 240,
+ 155, 157, 241, 100, 101, 125, 126, 53, 258, 98,
+ 19, 158, 159, 54, 57, 97, 58, 59, 61, 62,
+ 63, 64, 62, 85, 85, 78, 62, 62, 62, 62,
+ 62, 80, 62, 98, 120, 114, 98, 137, 196, 264,
+ 37, 130, 85, 62, 62, 62, 131, 62, 62, 264,
+ 132, 144, 152, 85, 85, 308, 309, 310, 151, 157,
+ 161, 162, 165, 173, 172, 75, 167, 76, 207, 77,
+ 214, 226, 91, 220, 221, 322, 323, 37, 62, 62,
+ 325, 37, 37, 37, 37, 37, 222, 37, 198, 199,
+ 91, 83, 250, 91, 125, 126, 287, 62, 37, 37,
+ 37, 267, 37, 37, 239, 288, 291, 304, 62, 62,
+ 305, 316, 315, 321, 1, 91, 116, 91, 117, 116,
+ 260, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 268, 37, 37, 0, 0, 3, 4, 5,
+ 0, 124, 0, 0, 127, 0, 229, 230, 231, 256,
+ 0, 0, 37, 65, 0, 91, 28, 0, 29, 124,
+ 0, 0, 127, 37, 37, 24, 0, 0, 82, 83,
+ 82, 83, 91, 261, 262, 0, 33, 34, 82, 83,
+ 82, 83, 82, 83, 82, 83, 0, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 16, 16, 85, 85,
+ 85, 0, 307, 17, 17, 85, 0, 82, 83, 18,
+ 18, 85, 117, 85, 85, 85, 85, 85, 119, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 0, 85,
+ 117, 85, 85, 85, 85, 85, 119, 19, 19, 0,
+ 303, 0, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 0, 0, 62, 62, 62, 0, 313, 0, 0,
+ 62, 0, 0, 0, 0, 0, 62, 121, 62, 62,
+ 62, 62, 62, 0, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 0, 62, 121, 62, 62, 62, 62,
+ 62, 91, 91, 91, 0, 0, 91, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 0, 0, 37, 37,
+ 37, 57, 0, 0, 0, 37, 0, 0, 0, 0,
+ 125, 37, 0, 37, 37, 37, 37, 37, 128, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 125, 37,
+ 0, 37, 37, 37, 37, 37, 128, 0, 57, 0,
+ 0, 57, 57, 57, 57, 57, 57, 0, 57, 0,
+ 124, 124, 124, 127, 127, 127, 88, 0, 118, 57,
+ 57, 0, 0, 57, 57, 0, 12, 13, 110, 111,
+ 0, 14, 15, 16, 0, 0, 118, 121, 122, 0,
+ 0, 0, 0, 0, 17, 0, 18, 19, 20, 0,
+ 22, 120, 0, 88, 57, 57, 88, 88, 88, 88,
+ 88, 88, 27, 88, 0, 31, 32, 33, 34, 120,
+ 0, 90, 0, 57, 88, 88, 88, 0, 88, 88,
+ 0, 117, 117, 117, 57, 57, 0, 119, 119, 119,
+ 0, 0, 0, 0, 0, 0, 171, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 90, 88,
+ 88, 90, 90, 90, 90, 0, 90, 0, 90, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
+ 90, 90, 0, 90, 90, 0, 121, 121, 121, 88,
+ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 218, 219, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 90, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 90, 0, 0, 0, 0, 0, 125,
+ 125, 125, 0, 0, 90, 90, 0, 128, 128, 128,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 118, 118, 118,
+ 0, 0, 57, 289, 57, 57, 57, 57, 57, 0,
+ 57, 57, 57, 57, 57, 57, 57, 57, 57, 0,
+ 57, 0, 57, 57, 57, 57, 57, 0, 0, 0,
+ 120, 120, 120, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 0, 0, 88, 88, 88, 0, 0, 0,
+ 0, 88, 0, 0, 0, 0, 0, 88, 0, 88,
+ 88, 88, 88, 88, 0, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 0, 88, 0, 88, 88, 88,
+ 88, 88, 0, 0, 0, 0, 0, 0, 90, 90,
+ 90, 90, 90, 90, 90, 90, 90, 0, 0, 90,
+ 90, 90, 23, 0, 0, 0, 90, 0, 0, 0,
+ 0, 0, 90, 0, 90, 90, 90, 90, 90, 0,
+ 90, 90, 90, 90, 90, 90, 90, 90, 90, 0,
+ 90, 0, 90, 90, 90, 90, 90, 0, 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, 53, 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, 53, 39, 0, 53, 53, 53, 53, 53,
+ 53, 0, 53, 0, 39, 39, 0, 0, 0, 0,
+ 0, 0, 0, 53, 53, 53, 0, 53, 53, 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, 53, 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, 53, 53,
+ 0, 0, 0, 0, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 0, 0, 54, 54, 54, 0, 0,
+ 0, 0, 54, 0, 0, 0, 0, 0, 54, 0,
+ 54, 54, 54, 54, 54, 0, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 0, 54, 0, 54, 54,
+ 54, 54, 54, 0, 0, 0, 0, 0, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 0, 0, 39,
+ 39, 39, 0, 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, 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, 53, 53, 53, 53, 53, 53, 53, 53,
+ 53, 0, 0, 53, 53, 53, 44, 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, 0, 0, 44, 0, 0, 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, 0, 0, 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, 46, 0, 0, 0, 45, 45,
+ 45, 0, 45, 45, 0, 0, 0, 0, 0, 44,
+ 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 46, 0, 45, 46, 46, 46, 46, 46, 46,
+ 0, 46, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 46, 46, 46, 0, 46, 46, 0, 0,
+ 0, 0, 0, 45, 45, 0, 0, 0, 0, 47,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 46, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 47, 0, 0, 47,
+ 47, 47, 47, 47, 47, 0, 47, 46, 46, 0,
+ 0, 0, 0, 0, 0, 0, 0, 47, 47, 47,
+ 0, 47, 47, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 0, 0, 44, 44, 44, 0, 0, 0,
+ 0, 44, 47, 0, 0, 0, 0, 44, 0, 44,
+ 44, 44, 44, 44, 0, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 0, 44, 0, 44, 44, 44,
+ 44, 44, 47, 47, 0, 0, 0, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 0, 0, 45, 45,
+ 45, 0, 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, 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,
+ 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, 47, 47, 47,
+ 47, 47, 47, 47, 47, 0, 0, 47, 47, 47,
+ 39, 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, 0, 0, 39, 0, 0,
+ 39, 39, 39, 39, 39, 39, 0, 39, 0, 0,
+ 0, 0, 0, 0, 0, 36, 0, 0, 39, 39,
+ 39, 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, 0, 0,
+ 0, 0, 36, 39, 39, 36, 36, 36, 36, 36,
+ 36, 0, 36, 0, 0, 0, 0, 0, 0, 0,
+ 42, 0, 39, 36, 36, 36, 0, 36, 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, 36, 36,
+ 42, 42, 0, 42, 42, 42, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 36, 42, 42,
+ 42, 0, 42, 42, 0, 0, 0, 0, 36, 36,
+ 0, 0, 0, 43, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 42, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 43, 43, 0, 43, 43, 43, 0,
+ 0, 0, 0, 42, 42, 0, 0, 0, 0, 0,
+ 0, 43, 43, 43, 0, 43, 43, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 39, 39, 39,
+ 39, 39, 39, 39, 39, 39, 0, 0, 39, 39,
+ 39, 0, 0, 0, 0, 39, 43, 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, 43, 43, 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, 0, 0, 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, 0, 0, 0, 0, 0, 0, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 0, 14, 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, 0, 14, 0, 0,
+ 14, 0, 14, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 43, 43, 43, 43, 43, 43, 43, 43, 43, 33,
+ 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, 33,
+ 33, 0, 0, 33, 0, 0, 0, 0, 0, 34,
+ 14, 0, 0, 0, 0, 0, 0, 33, 33, 33,
+ 0, 33, 33, 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, 34,
+ 34, 0, 33, 34, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 34, 34, 34,
0, 34, 34, 0, 0, 0, 0, 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, 2, 0,
- 0, 0, 0, 0, 12, 12, 12, 12, 0, 12,
- 12, 12, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 5, 5, 5, 0, 0, 0, 5, 5, 0,
- 0, 0, 5, 5, 0, 0, 66, 237, 0, 27,
- 238, 28, 0, 0, 5, 0, 5, 5, 5, 5,
- 5, 0, 0, 0, 0, 5, 5, 5, 5, 86,
- 0, 0, 5, 0, 5, 5, 5, 5, 5, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 66, 239, 0, 27, 240, 28, 0,
- 0, 0, 2, 2, 2, 0, 0, 0, 2, 2,
- 0, 0, 0, 2, 2, 58, 86, 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,
- 0, 0, 58, 0, 0, 58, 58, 58, 58, 58,
- 58, 0, 58, 0, 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 58, 58, 58, 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, 54, 58, 58,
- 54, 54, 54, 54, 54, 54, 0, 54, 56, 0,
- 0, 0, 0, 0, 0, 0, 0, 58, 54, 54,
- 0, 0, 54, 54, 0, 0, 0, 0, 58, 58,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 56, 0, 0, 0, 56,
- 56, 0, 56, 54, 54, 56, 0, 0, 0, 12,
- 13, 0, 0, 0, 14, 15, 56, 56, 56, 0,
- 56, 56, 54, 0, 0, 0, 16, 0, 17, 18,
- 19, 0, 21, 54, 54, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 56, 56, 0, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
- 56, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 56, 56, 0, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 0, 30, 31, 32, 33, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 0, 0, 58, 58, 0, 0, 0, 0, 58,
- 0, 0, 0, 0, 0, 58, 0, 58, 58, 58,
- 58, 58, 0, 58, 58, 58, 58, 0, 58, 58,
- 58, 58, 0, 58, 0, 58, 58, 58, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 0, 0, 54, 54,
- 0, 0, 0, 0, 54, 0, 0, 0, 0, 0,
- 54, 0, 54, 54, 54, 54, 54, 29, 54, 54,
- 54, 54, 0, 54, 54, 54, 54, 0, 54, 0,
- 54, 54, 54, 0, 0, 56, 56, 56, 56, 56,
- 56, 0, 0, 56, 0, 0, 0, 0, 0, 0,
- 0, 0, 56, 0, 29, 0, 0, 0, 29, 29,
- 0, 29, 25, 56, 29, 0, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 29, 29, 29, 56, 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, 29, 0, 0, 0, 0, 0, 0, 0, 26,
- 26, 0, 29, 0, 0, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 0, 0, 0, 29, 0, 25,
- 25, 25, 25, 25, 25, 0, 0, 25, 0, 0,
- 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
+ 0, 0, 33, 33, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 34, 15, 0, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 15,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 34, 34, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 14, 14, 14, 14, 14,
+ 14, 14, 0, 0, 0, 14, 14, 14, 12, 0,
+ 0, 12, 0, 12, 0, 0, 0, 7, 14, 0,
+ 14, 14, 14, 14, 14, 0, 0, 12, 0, 14,
+ 14, 14, 14, 15, 0, 0, 14, 0, 14, 14,
+ 14, 14, 14, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
+ 7, 0, 7, 0, 0, 0, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 0, 7, 33, 33, 33,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 12, 33, 33, 33, 33, 33, 0, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 0, 33, 0,
+ 33, 33, 33, 33, 33, 0, 34, 34, 34, 34,
+ 34, 34, 34, 34, 34, 0, 0, 34, 34, 34,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 34, 6, 34, 34, 34, 34, 34, 0, 34, 34,
+ 34, 34, 34, 34, 34, 34, 34, 0, 34, 0,
+ 34, 34, 34, 34, 34, 0, 0, 15, 15, 15,
+ 15, 15, 15, 15, 15, 0, 0, 0, 15, 15,
+ 15, 6, 0, 0, 6, 0, 6, 0, 0, 0,
+ 0, 15, 0, 15, 15, 15, 15, 15, 0, 0,
+ 5, 0, 15, 15, 15, 15, 0, 0, 0, 15,
+ 0, 15, 15, 15, 15, 15, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 12, 12, 12, 12, 0,
+ 12, 12, 12, 0, 0, 0, 12, 12, 12, 0,
+ 5, 0, 0, 5, 0, 5, 0, 0, 0, 12,
+ 2, 12, 12, 12, 12, 12, 0, 0, 0, 0,
+ 12, 12, 12, 12, 6, 0, 0, 12, 0, 12,
+ 12, 12, 12, 12, 7, 7, 7, 7, 7, 7,
+ 7, 7, 0, 0, 0, 7, 7, 7, 0, 0,
+ 2, 0, 0, 2, 0, 2, 0, 0, 7, 0,
+ 7, 7, 7, 7, 7, 0, 0, 0, 60, 7,
+ 7, 7, 7, 0, 0, 0, 7, 0, 7, 7,
+ 7, 7, 7, 5, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 60, 0, 0, 60, 60,
+ 60, 60, 60, 60, 0, 60, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 60, 60, 60, 0,
+ 60, 60, 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, 6, 6,
+ 6, 60, 60, 0, 6, 6, 0, 0, 0, 6,
+ 6, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 0, 6, 0, 6, 6, 6, 6, 6, 0,
+ 0, 60, 60, 6, 6, 6, 6, 0, 0, 0,
+ 6, 0, 6, 6, 6, 6, 6, 0, 0, 0,
+ 0, 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, 0, 2, 2, 2,
+ 0, 0, 0, 2, 2, 0, 0, 0, 2, 2,
+ 2, 0, 0, 0, 0, 36, 0, 0, 28, 0,
+ 29, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 60, 60, 60, 60, 60,
+ 60, 60, 60, 60, 0, 56, 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, 35, 60,
+ 60, 60, 56, 0, 0, 56, 56, 56, 56, 56,
+ 56, 0, 56, 58, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 56, 56, 0, 0, 56, 56, 0,
+ 0, 0, 0, 0, 0, 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, 29, 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, 29, 0,
+ 0, 0, 29, 29, 0, 29, 58, 58, 29, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
+ 29, 29, 0, 29, 29, 58, 0, 0, 0, 0,
+ 0, 0, 9, 10, 11, 0, 58, 58, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 29, 29, 17, 0, 18, 19,
+ 20, 21, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 0, 0, 29, 27, 0, 30, 31, 32, 33,
+ 34, 0, 0, 0, 29, 29, 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, 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, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,
+ 0, 25, 58, 58, 58, 58, 58, 58, 58, 58,
+ 58, 0, 0, 0, 58, 0, 0, 0, 29, 29,
+ 29, 29, 29, 29, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 29, 0, 25, 0,
+ 0, 0, 25, 25, 0, 25, 27, 29, 25, 0,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 25,
+ 25, 25, 29, 25, 25, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 27, 0, 0, 0, 27, 27, 0,
+ 27, 26, 0, 27, 25, 25, 0, 0, 0, 0,
+ 0, 0, 0, 0, 27, 27, 27, 0, 27, 27,
+ 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 25, 0, 0, 26, 0,
+ 0, 0, 26, 26, 0, 26, 0, 0, 26, 27,
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 26,
+ 26, 26, 0, 26, 26, 0, 0, 0, 27, 0,
+ 59, 0, 0, 0, 0, 0, 0, 0, 0, 27,
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 26, 26, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 59, 0, 0,
+ 0, 59, 59, 26, 59, 0, 0, 59, 0, 0,
+ 0, 0, 0, 0, 26, 26, 0, 0, 59, 59,
+ 59, 0, 59, 59, 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, 59, 59, 0, 0, 0, 25, 25,
+ 25, 25, 25, 25, 0, 0, 25, 0, 0, 0,
+ 0, 0, 59, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 0, 59, 59, 0, 0, 25, 0, 0,
25, 25, 25, 25, 25, 25, 25, 25, 25, 0,
- 0, 0, 25, 0, 27, 27, 27, 27, 27, 27,
- 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
- 0, 27, 0, 0, 57, 0, 0, 0, 0, 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, 0, 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, 57, 103, 104, 0, 57, 57, 0, 57, 0,
- 0, 57, 0, 26, 26, 26, 26, 26, 26, 0,
- 0, 26, 57, 57, 57, 0, 57, 57, 0, 0,
- 26, 88, 0, 0, 0, 0, 134, 0, 136, 137,
- 0, 26, 0, 0, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 0, 0, 0, 26, 57, 57, 0,
- 0, 0, 0, 0, 0, 0, 159, 160, 88, 0,
- 0, 0, 88, 88, 0, 88, 57, 0, 88, 89,
- 0, 0, 0, 0, 0, 0, 0, 57, 57, 88,
- 88, 88, 0, 88, 88, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
- 89, 89, 0, 89, 88, 88, 89, 0, 0, 214,
+ 27, 27, 27, 27, 0, 0, 0, 27, 26, 26,
+ 26, 26, 26, 26, 0, 0, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 26, 0, 0, 91,
+ 0, 0, 0, 0, 0, 0, 0, 26, 0, 0,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
+ 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 91, 0, 0, 0,
+ 91, 91, 0, 91, 0, 0, 91, 59, 59, 59,
+ 59, 59, 59, 0, 0, 59, 0, 91, 91, 91,
+ 0, 91, 91, 0, 0, 59, 20, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 59, 0, 0, 59,
+ 59, 59, 59, 59, 59, 59, 59, 59, 0, 0,
+ 0, 59, 91, 91, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 20, 0, 0, 0, 20, 20, 0,
+ 20, 91, 0, 20, 35, 0, 0, 0, 0, 0,
+ 0, 0, 91, 91, 20, 20, 20, 0, 20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 35, 35, 0, 35, 20,
+ 20, 35, 0, 0, 0, 0, 0, 0, 0, 92,
+ 0, 0, 35, 35, 35, 0, 35, 0, 20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 92, 35, 35, 0,
+ 92, 92, 0, 92, 0, 0, 92, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 35, 92, 92, 92,
+ 0, 92, 0, 0, 0, 0, 0, 35, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 91, 91, 91, 91,
+ 91, 91, 92, 92, 91, 65, 0, 0, 28, 0,
+ 29, 0, 0, 0, 91, 93, 0, 0, 0, 0,
+ 0, 92, 0, 0, 0, 91, 0, 0, 91, 91,
+ 91, 0, 92, 92, 0, 91, 91, 0, 0, 0,
+ 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 93, 0, 0, 0, 93, 93, 0, 93,
+ 0, 0, 93, 20, 20, 20, 20, 20, 20, 0,
+ 0, 20, 0, 93, 93, 93, 0, 93, 0, 36,
+ 0, 20, 28, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 20, 0, 0, 20, 20, 20, 302, 0,
+ 89, 0, 20, 20, 0, 0, 0, 20, 93, 93,
+ 0, 35, 35, 35, 35, 35, 35, 0, 0, 35,
+ 0, 0, 0, 0, 0, 0, 0, 93, 0, 35,
+ 0, 0, 0, 0, 0, 0, 0, 89, 93, 93,
+ 35, 89, 89, 35, 35, 35, 0, 89, 0, 0,
+ 35, 35, 0, 0, 0, 35, 0, 0, 89, 89,
+ 89, 0, 89, 0, 0, 0, 92, 92, 92, 92,
+ 92, 92, 16, 0, 92, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 92, 0, 0, 0, 0, 0,
+ 0, 0, 0, 89, 89, 92, 0, 0, 92, 92,
+ 92, 0, 0, 0, 0, 92, 92, 0, 0, 16,
+ 92, 0, 89, 16, 16, 0, 16, 0, 0, 16,
+ 0, 0, 0, 89, 89, 0, 125, 126, 12, 13,
+ 16, 16, 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, 16, 16, 31, 32, 33,
+ 34, 0, 93, 93, 93, 93, 93, 93, 0, 0,
+ 93, 0, 0, 0, 16, 0, 0, 0, 0, 0,
+ 93, 0, 0, 0, 0, 16, 16, 0, 11, 0,
+ 0, 93, 12, 13, 93, 93, 93, 14, 15, 16,
+ 0, 93, 93, 0, 0, 0, 93, 0, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 89, 89, 89,
- 222, 89, 224, 88, 225, 0, 0, 0, 0, 0,
- 0, 90, 0, 0, 88, 88, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 247, 0, 0, 0,
- 0, 0, 89, 89, 0, 0, 0, 0, 0, 0,
- 0, 264, 265, 266, 267, 268, 0, 0, 90, 0,
- 0, 89, 90, 90, 0, 90, 0, 0, 90, 0,
- 0, 0, 89, 89, 0, 0, 0, 0, 0, 90,
- 90, 90, 0, 90, 0, 0, 0, 0, 0, 0,
- 0, 57, 57, 57, 57, 57, 57, 0, 0, 57,
- 292, 0, 0, 0, 294, 295, 296, 0, 57, 20,
- 301, 0, 0, 0, 90, 90, 0, 0, 0, 57,
- 0, 0, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 0, 0, 90, 57, 314, 315, 0, 0, 0,
- 0, 319, 0, 0, 90, 90, 20, 0, 0, 0,
- 20, 20, 0, 20, 0, 0, 20, 0, 88, 88,
- 88, 88, 88, 88, 0, 0, 88, 20, 20, 20,
- 0, 20, 0, 0, 0, 88, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 88, 0, 0, 88,
- 88, 88, 0, 0, 0, 0, 88, 88, 0, 0,
- 0, 88, 20, 20, 0, 0, 89, 89, 89, 89,
- 89, 89, 0, 0, 89, 0, 0, 0, 0, 66,
- 156, 20, 27, 89, 28, 0, 0, 0, 0, 35,
- 0, 0, 20, 20, 89, 0, 0, 89, 89, 89,
- 0, 0, 86, 0, 89, 89, 0, 0, 0, 89,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
- 35, 35, 0, 35, 0, 0, 35, 0, 90, 90,
- 90, 90, 90, 90, 0, 0, 90, 35, 35, 35,
- 0, 35, 0, 0, 0, 90, 86, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 90, 0, 0, 90,
- 90, 90, 0, 0, 0, 0, 90, 90, 0, 0,
- 0, 90, 35, 35, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 86, 0, 0, 0, 86, 86, 0,
- 0, 35, 0, 86, 16, 0, 0, 0, 0, 0,
- 0, 0, 35, 35, 86, 86, 86, 0, 86, 0,
- 0, 0, 0, 0, 0, 0, 20, 20, 20, 20,
- 20, 20, 0, 0, 20, 0, 0, 0, 0, 0,
- 0, 16, 0, 20, 0, 16, 16, 0, 16, 86,
- 86, 16, 0, 0, 20, 0, 0, 20, 20, 20,
- 0, 0, 16, 16, 20, 20, 0, 0, 86, 20,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
- 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 16, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 16, 16, 0,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
- 30, 31, 32, 33, 0, 0, 35, 35, 35, 35,
- 35, 35, 0, 0, 35, 0, 0, 0, 0, 0,
- 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 35, 0, 0, 35, 35, 35,
- 0, 0, 0, 0, 35, 35, 0, 0, 0, 35,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 86, 86, 86, 86, 86, 86, 0,
- 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 86, 0, 0, 86, 86, 86, 0, 0, 0,
- 0, 86, 86, 0, 0, 0, 86, 0, 0, 0,
- 0, 16, 16, 16, 16, 16, 16, 0, 41, 16,
- 0, 0, 0, 0, 0, 53, 0, 0, 16, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 41, 0, 16, 16, 16, 0, 41, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
- 106, 53, 109, 0, 0, 0, 113, 114, 0, 117,
- 119, 120, 0, 53, 53, 124, 125, 41, 0, 0,
- 0, 0, 0, 0, 0, 66, 0, 0, 27, 0,
- 28, 0, 0, 135, 0, 0, 41, 139, 141, 142,
- 143, 144, 0, 0, 189, 0, 0, 0, 0, 0,
- 0, 41, 0, 0, 0, 0, 0, 0, 0, 109,
- 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
- 110, 0, 53, 110, 0, 110, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 41, 41, 110,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
- 202, 203, 0, 0, 205, 206, 207, 208, 210, 0,
- 0, 0, 0, 212, 213, 109, 53, 53, 109, 0,
- 109, 220, 0, 0, 0, 221, 0, 0, 0, 0,
- 0, 0, 0, 0, 109, 0, 232, 0, 0, 233,
- 0, 0, 0, 110, 0, 110, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 41, 41,
- 258, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 270, 0, 271,
- 0, 272, 0, 273, 0, 274, 0, 0, 0, 103,
- 276, 0, 103, 0, 103, 277, 278, 0, 109, 0,
- 109, 0, 0, 53, 0, 0, 0, 0, 103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 41, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 174, 126, 127, 12, 13,
- 41, 175, 176, 14, 15, 177, 0, 178, 179, 0,
- 180, 181, 182, 183, 184, 16, 185, 17, 18, 19,
- 0, 21, 186, 0, 0, 0, 22, 23, 24, 25,
- 0, 0, 103, 26, 103, 0, 30, 31, 32, 33,
- 110, 0, 0, 110, 110, 0, 110, 110, 110, 110,
- 110, 110, 110, 110, 0, 110, 110, 110, 110, 110,
- 110, 110, 110, 110, 110, 0, 110, 110, 0, 0,
- 0, 110, 110, 110, 110, 0, 0, 0, 110, 0,
- 0, 110, 110, 110, 110, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 109, 0, 0, 109, 109,
- 0, 109, 109, 109, 109, 109, 109, 109, 109, 0,
- 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,
- 104, 0, 0, 104, 0, 104, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 104,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
- 0, 0, 103, 103, 0, 103, 103, 103, 103, 103,
- 103, 103, 103, 0, 103, 103, 103, 103, 103, 103,
- 103, 103, 103, 103, 0, 103, 103, 0, 0, 0,
- 103, 103, 103, 103, 0, 0, 0, 103, 0, 0,
- 103, 103, 103, 103, 105, 0, 0, 105, 0, 105,
- 0, 0, 0, 104, 0, 104, 0, 0, 0, 0,
- 0, 0, 0, 105, 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, 102,
- 0, 0, 102, 0, 102, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 102, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 105, 0, 105,
- 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 102, 0, 102, 0, 0, 0, 66, 105,
- 0, 27, 0, 28, 0, 0, 0, 0, 0, 0,
- 104, 0, 0, 104, 104, 0, 104, 104, 104, 104,
- 104, 104, 104, 104, 0, 104, 104, 104, 104, 104,
- 104, 104, 104, 104, 104, 0, 104, 104, 108, 0,
- 108, 104, 104, 104, 104, 0, 0, 0, 104, 0,
- 0, 104, 104, 104, 104, 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, 105, 0, 0, 105, 105, 0,
- 105, 105, 105, 105, 105, 105, 105, 105, 0, 105,
- 105, 105, 105, 105, 105, 105, 105, 105, 105, 0,
- 105, 105, 0, 0, 0, 105, 105, 105, 105, 0,
- 0, 0, 105, 0, 0, 105, 105, 105, 105, 102,
- 0, 0, 102, 102, 0, 102, 102, 102, 102, 102,
- 102, 102, 102, 0, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 35, 102, 102, 27, 0, 28,
- 102, 102, 102, 102, 0, 0, 0, 102, 0, 0,
- 102, 102, 102, 102, 0, 108, 0, 0, 108, 108,
- 0, 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,
- 0, 0, 0, 108, 0, 0, 108, 108, 108, 108,
- 137, 12, 13, 137, 0, 137, 14, 15, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 34, 16, 137,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
- 31, 32, 33, 0, 0, 66, 0, 0, 27, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 189, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 137, 0, 137, 0, 0, 0, 0,
- 66, 0, 0, 27, 0, 28, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
- 188, 0, 0, 0, 0, 0, 66, 0, 0, 27,
- 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 9, 10, 11, 0, 189, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 187, 16, 200, 17, 18, 19, 20,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 29, 30, 31, 32, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 0, 0, 27, 0, 28, 0, 0, 0, 187,
- 137, 201, 0, 137, 137, 0, 137, 137, 137, 137,
- 137, 137, 137, 137, 0, 137, 137, 137, 137, 137,
- 137, 137, 137, 137, 137, 0, 137, 137, 0, 0,
- 0, 137, 137, 137, 137, 0, 0, 0, 137, 0,
- 0, 137, 137, 137, 137, 174, 0, 0, 12, 13,
- 0, 175, 176, 14, 15, 177, 0, 178, 179, 0,
- 180, 181, 182, 183, 184, 16, 185, 17, 18, 19,
- 0, 21, 186, 0, 0, 0, 22, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 30, 31, 32, 33,
- 174, 0, 0, 12, 13, 0, 175, 176, 14, 15,
- 177, 0, 178, 179, 0, 180, 181, 182, 183, 184,
- 16, 185, 17, 18, 19, 0, 21, 186, 0, 0,
- 0, 22, 23, 24, 25, 0, 0, 0, 26, 0,
- 0, 30, 31, 32, 33, 0, 174, 0, 0, 12,
- 13, 0, 175, 176, 14, 15, 177, 0, 178, 179,
- 0, 180, 181, 182, 183, 184, 16, 185, 17, 18,
- 19, 0, 21, 186, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 66, 0, 0, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 189, 0, 0, 0, 0, 0, 0, 0, 0, 11,
- 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
- 0, 0, 0, 0, 0, 0, 66, 0, 0, 27,
- 16, 28, 17, 18, 19, 0, 21, 0, 0, 0,
- 0, 22, 23, 24, 25, 189, 0, 0, 26, 0,
- 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 187, 0, 231, 0, 0, 0,
- 0, 66, 0, 0, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 189, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 187,
- 0, 285, 0, 0, 0, 0, 0, 107, 0, 0,
- 107, 0, 107, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 107, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 187, 0, 309, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 66, 0, 0,
- 27, 0, 28, 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,
- 107, 174, 107, 0, 12, 13, 0, 175, 176, 14,
- 15, 177, 0, 178, 179, 0, 180, 181, 182, 183,
- 184, 16, 185, 17, 18, 19, 0, 21, 186, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 174, 0, 0, 12,
- 13, 0, 175, 176, 14, 15, 177, 0, 178, 179,
- 0, 180, 181, 182, 183, 184, 16, 185, 17, 18,
- 19, 0, 21, 186, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 174, 0, 0, 12, 13, 0, 175, 176, 14,
- 15, 177, 0, 178, 179, 0, 180, 181, 182, 183,
- 184, 16, 185, 17, 18, 19, 66, 21, 186, 27,
- 111, 28, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 89, 107, 90, 86,
- 107, 107, 0, 107, 107, 107, 107, 107, 0, 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, 130, 0, 0, 130, 0, 130, 0, 0,
- 12, 13, 0, 175, 176, 14, 15, 0, 0, 0,
- 0, 130, 180, 181, 182, 183, 184, 16, 0, 17,
- 18, 19, 0, 21, 186, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 66, 0, 0, 27, 0, 28, 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, 0, 130, 0, 130, 0, 0,
- 0, 0, 0, 0, 66, 241, 0, 27, 242, 28,
- 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, 243,
- 0, 27, 244, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
- 13, 86, 0, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
- 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
- 25, 87, 88, 0, 26, 0, 0, 30, 31, 32,
- 33, 66, 248, 0, 27, 249, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 130, 0, 86, 130, 130, 0, 130, 130,
- 130, 130, 130, 0, 130, 130, 0, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 0, 130, 130,
- 0, 0, 0, 130, 130, 130, 130, 0, 0, 0,
- 130, 0, 0, 130, 130, 130, 130, 35, 0, 0,
- 27, 0, 28, 0, 0, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 0, 0, 297, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 87, 88, 0,
- 26, 0, 0, 30, 31, 32, 33, 12, 13, 0,
- 0, 108, 14, 15, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 0, 12, 13, 0, 0, 66, 14, 15, 27, 111,
- 28, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 86, 22,
- 23, 24, 25, 0, 0, 0, 26, 0, 0, 30,
- 31, 32, 33, 0, 0, 0, 0, 0, 66, 0,
- 0, 27, 161, 28, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 86, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 66, 0, 0, 27,
- 164, 28, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 0, 0, 86,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 66, 21, 0, 27, 166, 28, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 29, 30, 31,
- 32, 33, 0, 0, 0, 86, 0, 0, 0, 0,
- 11, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 66, 0, 0, 27, 167, 28,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 86, 0, 26,
- 0, 29, 30, 31, 32, 33, 0, 0, 12, 13,
- 0, 0, 0, 14, 15, 0, 0, 66, 0, 0,
- 27, 172, 28, 0, 0, 16, 0, 17, 18, 19,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
- 86, 0, 0, 26, 0, 0, 30, 31, 32, 33,
- 0, 12, 13, 0, 0, 0, 14, 15, 0, 0,
- 66, 0, 0, 27, 173, 28, 0, 0, 16, 0,
- 17, 18, 19, 0, 21, 0, 0, 0, 0, 22,
- 23, 24, 25, 86, 0, 0, 26, 0, 0, 30,
- 31, 32, 33, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 66, 0, 0, 27, 0, 28, 0, 12,
- 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
- 195, 0, 0, 0, 0, 86, 16, 0, 17, 18,
- 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 0, 0, 0, 0, 12, 13, 0, 0, 66,
- 14, 15, 27, 0, 28, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 17, 18, 19, 198, 21, 0,
- 0, 0, 86, 22, 23, 24, 25, 0, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 12, 13, 0,
- 0, 0, 14, 15, 66, 0, 0, 27, 0, 28,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 66,
- 246, 0, 27, 0, 28, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 86, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 0, 12, 13, 0, 0, 0, 14, 15,
- 0, 0, 66, 250, 0, 27, 0, 28, 0, 0,
- 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
- 0, 22, 23, 24, 25, 86, 0, 0, 26, 0,
- 0, 30, 31, 32, 33, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 66, 281, 0, 27, 0, 28,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 86, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 66, 287, 0, 27, 0, 28, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 86, 0, 0, 26, 0, 0,
- 30, 31, 32, 33, 0, 126, 127, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 66, 288, 0, 27,
- 0, 28, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 86,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 66, 289, 0, 27, 0, 28, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 86, 0, 0, 26, 0, 0,
- 30, 31, 32, 33, 0, 12, 13, 0, 0, 0,
- 14, 15, 0, 0, 66, 290, 0, 27, 0, 28,
- 0, 0, 16, 0, 17, 18, 19, 0, 21, 0,
- 0, 0, 0, 22, 23, 24, 25, 86, 0, 0,
- 26, 0, 0, 30, 31, 32, 33, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 66, 291, 0, 27,
- 0, 28, 0, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 86,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 89, 89, 89, 0, 42, 89, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 89, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 89, 42, 0, 89,
+ 89, 89, 0, 42, 0, 0, 89, 89, 0, 0,
+ 0, 89, 0, 0, 0, 104, 0, 0, 109, 104,
+ 104, 112, 113, 0, 116, 118, 119, 0, 104, 104,
+ 123, 124, 42, 0, 0, 0, 0, 0, 0, 16,
+ 16, 16, 16, 16, 16, 0, 0, 16, 134, 0,
+ 0, 42, 138, 140, 141, 142, 143, 16, 106, 107,
+ 0, 0, 0, 0, 0, 0, 42, 0, 16, 154,
+ 0, 16, 16, 16, 0, 0, 0, 0, 0, 0,
+ 0, 164, 0, 16, 0, 0, 0, 104, 0, 133,
+ 0, 135, 136, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 42, 42, 0, 65, 0, 0, 28, 0,
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 154, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 208, 209, 210, 211, 213, 0, 0, 0,
+ 0, 215, 216, 0, 104, 104, 0, 0, 0, 223,
+ 0, 0, 0, 224, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 235, 203, 204, 236, 0, 0,
+ 237, 238, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 0, 0, 0, 0, 217, 0, 42, 42, 263,
+ 0, 67, 67, 0, 70, 71, 225, 67, 227, 0,
+ 228, 0, 0, 0, 0, 67, 0, 0, 275, 0,
+ 276, 0, 277, 0, 278, 0, 279, 0, 0, 0,
+ 0, 281, 0, 252, 0, 0, 282, 283, 65, 0,
+ 0, 28, 0, 29, 104, 0, 0, 0, 269, 270,
+ 271, 272, 273, 0, 0, 0, 0, 191, 0, 0,
+ 0, 0, 0, 0, 42, 67, 67, 67, 67, 67,
+ 67, 0, 0, 0, 0, 0, 0, 67, 0, 0,
+ 0, 42, 67, 0, 0, 67, 67, 0, 0, 67,
+ 0, 67, 67, 0, 0, 0, 67, 67, 0, 297,
+ 0, 0, 0, 299, 300, 301, 0, 67, 0, 306,
+ 0, 67, 0, 67, 67, 67, 67, 113, 0, 0,
+ 113, 189, 113, 0, 201, 0, 0, 67, 0, 0,
+ 0, 0, 0, 0, 319, 320, 113, 67, 12, 13,
+ 324, 177, 178, 14, 15, 16, 0, 0, 0, 0,
+ 0, 182, 183, 184, 185, 186, 17, 0, 18, 19,
+ 20, 0, 22, 188, 0, 67, 0, 23, 24, 25,
+ 26, 0, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 67, 67, 67, 67, 0, 67, 0, 67, 67,
+ 0, 0, 0, 0, 0, 0, 67, 67, 0, 0,
+ 113, 0, 113, 0, 0, 0, 0, 0, 67, 67,
+ 67, 67, 0, 112, 0, 0, 112, 0, 112, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 112, 0, 0, 0, 67, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 67,
+ 67, 67, 67, 0, 67, 67, 67, 0, 176, 125,
+ 126, 12, 13, 0, 177, 178, 14, 15, 16, 179,
+ 0, 180, 181, 0, 182, 183, 184, 185, 186, 17,
+ 187, 18, 19, 20, 0, 22, 188, 0, 0, 0,
+ 23, 24, 25, 26, 0, 0, 112, 27, 112, 0,
+ 31, 32, 33, 34, 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, 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, 0, 0, 0, 0, 106, 107, 106,
+ 0, 107, 0, 107, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 107, 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, 112, 0, 0, 112, 112, 0, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112, 0, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112, 112, 0,
+ 112, 112, 0, 0, 0, 112, 112, 112, 112, 0,
+ 0, 107, 112, 107, 0, 112, 112, 112, 112, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 108, 106, 108, 0, 106, 106, 106, 106,
+ 0, 105, 0, 0, 105, 0, 105, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 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, 105, 0, 105, 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, 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, 0, 0, 0, 108, 0,
+ 0, 108, 108, 108, 108, 111, 140, 111, 0, 140,
+ 0, 140, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 140, 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, 105, 0, 0, 105, 105, 0, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 0, 105, 105, 105,
+ 105, 105, 105, 105, 105, 105, 105, 0, 105, 105,
+ 0, 0, 0, 105, 105, 105, 105, 0, 0, 140,
+ 105, 140, 0, 105, 105, 105, 105, 65, 0, 0,
+ 28, 0, 29, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 191, 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, 111, 0, 0, 111, 111, 0, 111, 111,
+ 111, 111, 111, 111, 111, 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,
+ 189, 111, 190, 0, 111, 111, 111, 111, 0, 65,
+ 0, 0, 28, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 191, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 140, 0, 0, 140,
+ 140, 0, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 0, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 140, 0, 140, 140, 0, 0, 0, 140, 140,
+ 140, 140, 0, 0, 0, 140, 0, 0, 140, 140,
+ 140, 140, 189, 0, 205, 0, 0, 0, 0, 0,
+ 65, 0, 0, 28, 0, 29, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 191,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 176, 0, 0,
+ 12, 13, 0, 177, 178, 14, 15, 16, 179, 0,
+ 180, 181, 0, 182, 183, 184, 185, 186, 17, 187,
+ 18, 19, 20, 0, 22, 188, 0, 0, 0, 23,
+ 24, 25, 26, 0, 0, 0, 27, 0, 0, 31,
+ 32, 33, 34, 189, 65, 206, 0, 28, 0, 29,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 191, 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, 176,
+ 0, 0, 12, 13, 0, 177, 178, 14, 15, 16,
+ 179, 0, 180, 181, 0, 182, 183, 184, 185, 186,
+ 17, 187, 18, 19, 20, 0, 22, 188, 0, 0,
+ 0, 23, 24, 25, 26, 0, 0, 189, 27, 234,
+ 0, 31, 32, 33, 34, 65, 0, 0, 28, 0,
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 191, 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,
+ 176, 0, 0, 12, 13, 0, 177, 178, 14, 15,
+ 16, 179, 0, 180, 181, 0, 182, 183, 184, 185,
+ 186, 17, 187, 18, 19, 20, 0, 22, 188, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 189, 27,
+ 290, 0, 31, 32, 33, 34, 0, 65, 0, 0,
+ 28, 0, 29, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 191, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 176, 0, 0, 12, 13, 0,
+ 177, 178, 14, 15, 16, 179, 0, 180, 181, 0,
+ 182, 183, 184, 185, 186, 17, 187, 18, 19, 20,
+ 0, 22, 188, 0, 0, 0, 23, 24, 25, 26,
+ 0, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 189, 0, 314, 0, 0, 0, 0, 0, 110, 0,
+ 0, 110, 0, 110, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 110, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 176, 0, 0, 12, 13,
+ 0, 177, 178, 14, 15, 16, 179, 0, 180, 181,
+ 0, 182, 183, 184, 185, 186, 17, 187, 18, 19,
+ 20, 0, 22, 188, 0, 0, 0, 23, 24, 25,
+ 26, 0, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 110, 133, 110, 0, 133, 0, 133, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 133, 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, 176, 0, 0,
+ 12, 13, 0, 177, 178, 14, 15, 16, 179, 0,
+ 180, 181, 0, 182, 183, 184, 185, 186, 17, 187,
+ 18, 19, 20, 65, 22, 188, 28, 156, 29, 23,
+ 24, 25, 26, 0, 0, 133, 27, 133, 0, 31,
+ 32, 33, 34, 88, 0, 89, 85, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
+ 28, 0, 29, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 88, 110, 89,
+ 85, 110, 110, 0, 110, 110, 110, 110, 110, 110,
+ 0, 110, 110, 0, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 36, 110, 110, 28, 0, 29,
+ 110, 110, 110, 110, 0, 0, 0, 110, 0, 0,
+ 110, 110, 110, 110, 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, 65, 242, 0, 28, 243, 29, 0, 0, 0,
+ 0, 0, 133, 0, 0, 133, 133, 0, 133, 133,
+ 133, 133, 133, 133, 85, 133, 133, 0, 133, 133,
+ 133, 133, 133, 133, 133, 133, 133, 133, 0, 133,
+ 133, 0, 0, 0, 133, 133, 133, 133, 0, 0,
+ 0, 133, 0, 0, 133, 133, 133, 133, 65, 244,
+ 0, 28, 245, 29, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 85, 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, 86,
+ 87, 0, 27, 0, 0, 31, 32, 33, 34, 0,
+ 12, 13, 0, 0, 0, 14, 15, 16, 0, 0,
+ 0, 0, 65, 246, 0, 28, 247, 29, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 86, 87, 85, 27, 0, 0, 31,
+ 32, 33, 34, 11, 0, 125, 126, 12, 13, 0,
+ 0, 0, 14, 15, 16, 0, 0, 65, 248, 0,
+ 28, 249, 29, 0, 0, 17, 0, 18, 19, 20,
+ 0, 22, 0, 0, 0, 0, 23, 24, 25, 26,
+ 85, 0, 0, 27, 0, 30, 31, 32, 33, 34,
0, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 66, 293, 0, 27, 0, 28, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 86, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 0, 0, 0, 12,
- 13, 0, 0, 0, 14, 15, 0, 0, 0, 66,
- 0, 0, 27, 0, 28, 0, 16, 0, 17, 18,
- 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 66, 0, 0, 27, 0,
- 28, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 0, 12, 13, 0,
- 0, 0, 14, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 17, 18, 19, 66,
- 21, 0, 27, 0, 28, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 12,
- 13, 0, 0, 0, 14, 15, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
- 19, 0, 21, 0, 0, 0, 0, 22, 23, 24,
- 25, 0, 0, 0, 26, 0, 0, 30, 31, 32,
- 33, 66, 0, 0, 27, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 12, 13, 0, 0,
- 0, 14, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 17, 18, 19, 0, 21,
- 0, 0, 0, 0, 22, 23, 24, 25, 0, 0,
- 0, 26, 0, 0, 30, 31, 32, 33, 116, 0,
- 0, 66, 12, 13, 27, 0, 28, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 86, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
- 30, 31, 32, 33, 118, 0, 0, 66, 12, 13,
- 27, 0, 28, 14, 15, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16, 0, 17, 18, 19,
- 0, 21, 0, 0, 0, 0, 22, 23, 24, 25,
- 0, 0, 0, 26, 0, 0, 30, 31, 32, 33,
- 51, 0, 0, 27, 0, 28, 0, 0, 140, 0,
- 0, 0, 12, 13, 0, 0, 0, 14, 15, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
- 0, 17, 18, 19, 0, 21, 0, 0, 0, 0,
- 22, 23, 24, 25, 0, 0, 0, 26, 0, 0,
- 30, 31, 32, 33, 66, 0, 0, 27, 0, 28,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 209, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 16, 0, 0, 65, 253, 0, 28, 254, 29,
+ 0, 0, 17, 0, 18, 19, 20, 0, 22, 0,
+ 0, 0, 0, 23, 24, 25, 26, 85, 0, 0,
+ 27, 0, 0, 31, 32, 33, 34, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 12, 13, 0, 0, 0, 14, 15, 16, 36,
+ 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 153, 0, 0, 28,
+ 0, 29, 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, 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, 0, 0,
+ 12, 13, 0, 0, 0, 14, 15, 16, 0, 0,
+ 65, 0, 0, 28, 156, 29, 0, 0, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 85, 0, 0, 27, 0, 0, 31,
+ 32, 33, 34, 0, 0, 0, 0, 12, 13, 0,
+ 0, 0, 14, 15, 16, 0, 0, 65, 160, 0,
+ 28, 0, 29, 0, 0, 17, 0, 18, 19, 20,
+ 0, 22, 0, 0, 0, 0, 23, 24, 25, 26,
+ 85, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
+ 0, 0, 12, 13, 0, 0, 0, 14, 15, 16,
+ 0, 0, 65, 0, 0, 28, 163, 29, 0, 0,
+ 17, 0, 18, 19, 20, 0, 22, 0, 0, 0,
+ 0, 23, 24, 25, 26, 85, 0, 0, 27, 0,
+ 30, 31, 32, 33, 34, 11, 0, 0, 0, 12,
+ 13, 0, 0, 0, 14, 15, 16, 0, 0, 65,
+ 0, 0, 28, 166, 29, 0, 0, 17, 0, 18,
+ 19, 20, 0, 22, 0, 0, 0, 0, 23, 24,
+ 25, 26, 85, 0, 0, 27, 0, 30, 31, 32,
+ 33, 34, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 65, 0, 0, 28, 168, 29, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 85, 0, 0, 0, 0,
+ 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 0, 0, 0, 65, 0, 0, 28, 169,
+ 29, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 85, 27,
+ 0, 0, 31, 32, 33, 34, 0, 0, 0, 0,
+ 12, 13, 0, 0, 0, 14, 15, 16, 0, 0,
+ 65, 0, 0, 28, 174, 29, 0, 0, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 85, 0, 0, 27, 0, 0, 31,
+ 32, 33, 34, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 12, 13, 0, 0, 0,
+ 14, 15, 16, 0, 0, 65, 0, 0, 28, 175,
+ 29, 0, 0, 17, 0, 18, 19, 20, 0, 22,
+ 0, 0, 0, 0, 23, 24, 25, 26, 85, 0,
+ 0, 27, 0, 0, 31, 32, 33, 34, 0, 0,
+ 0, 0, 12, 13, 0, 0, 0, 14, 15, 16,
+ 0, 0, 65, 0, 0, 28, 0, 29, 0, 0,
+ 17, 0, 18, 19, 20, 0, 22, 0, 0, 0,
+ 197, 23, 24, 25, 26, 85, 0, 0, 27, 0,
+ 0, 31, 32, 33, 34, 12, 13, 0, 0, 0,
+ 14, 15, 16, 0, 0, 65, 0, 0, 28, 0,
+ 29, 0, 0, 17, 0, 18, 19, 20, 0, 22,
+ 0, 0, 0, 200, 23, 24, 25, 26, 85, 0,
+ 0, 27, 0, 0, 31, 32, 33, 34, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 65, 251,
+ 0, 28, 0, 29, 0, 0, 17, 0, 18, 19,
+ 20, 0, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 85, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 0, 0, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 0, 65, 255, 0, 28, 0, 29, 0,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 85, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 65, 286,
+ 0, 28, 0, 29, 0, 0, 17, 0, 18, 19,
+ 20, 0, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 85, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 0, 0, 0, 0, 12, 13, 0, 0, 0,
+ 14, 15, 16, 0, 0, 65, 292, 0, 28, 0,
+ 29, 0, 0, 17, 0, 18, 19, 20, 0, 22,
+ 0, 0, 0, 0, 23, 24, 25, 26, 85, 0,
+ 0, 27, 0, 0, 31, 32, 33, 34, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 65, 293,
+ 0, 28, 0, 29, 0, 0, 17, 0, 18, 19,
+ 20, 0, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 85, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 12, 13, 0, 0, 0, 14, 15, 16, 0,
+ 0, 65, 294, 0, 28, 0, 29, 0, 0, 17,
+ 0, 18, 19, 20, 0, 22, 0, 0, 0, 0,
+ 23, 24, 25, 26, 85, 0, 0, 27, 0, 0,
+ 31, 32, 33, 34, 0, 0, 12, 13, 0, 0,
+ 0, 14, 15, 16, 0, 0, 65, 295, 0, 28,
+ 0, 29, 0, 0, 17, 0, 18, 19, 20, 0,
+ 22, 0, 0, 0, 0, 23, 24, 25, 26, 85,
+ 0, 0, 27, 0, 0, 31, 32, 33, 34, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 12, 13, 0, 0, 0, 14, 15, 16, 0,
+ 0, 65, 296, 0, 28, 0, 29, 0, 0, 17,
+ 0, 18, 19, 20, 0, 22, 0, 0, 0, 0,
+ 23, 24, 25, 26, 85, 0, 0, 27, 0, 0,
+ 31, 32, 33, 34, 0, 0, 0, 0, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 65, 298,
+ 0, 28, 0, 29, 0, 0, 17, 0, 18, 19,
+ 20, 0, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 85, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 12, 13, 0, 0, 0, 14, 15, 16, 0,
+ 0, 65, 108, 0, 28, 0, 29, 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, 12, 13, 0, 0, 0, 14,
+ 15, 16, 0, 0, 0, 0, 0, 0, 65, 0,
+ 0, 28, 17, 29, 18, 19, 20, 0, 22, 0,
+ 0, 0, 0, 23, 24, 25, 26, 0, 0, 0,
+ 27, 0, 0, 31, 32, 33, 34, 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, 65, 22, 0, 28, 0, 29, 23, 24,
+ 25, 26, 0, 0, 0, 27, 0, 0, 31, 32,
+ 33, 34, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 12, 13, 0, 0, 0, 14,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 17, 18, 19, 0, 21, 0, 0,
- 0, 0, 22, 23, 24, 25, 0, 0, 0, 26,
- 0, 0, 30, 31, 32, 33, 269, 0, 0, 0,
- 12, 13, 0, 0, 0, 14, 15, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
- 18, 19, 0, 21, 0, 0, 0, 0, 22, 23,
- 24, 25, 0, 0, 0, 26, 0, 0, 30, 31,
- 32, 33, 0, 12, 13, 0, 0, 0, 14, 15,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 0, 17, 18, 19, 0, 21, 0, 0, 0,
- 0, 22, 23, 24, 25, 57, 0, 0, 26, 0,
- 0, 30, 31, 32, 33, 0, 68, 68, 0, 71,
- 72, 0, 68, 0, 0, 0, 0, 12, 13, 0,
- 68, 0, 14, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 68, 0, 16, 0, 17, 18, 19, 0,
- 21, 0, 0, 0, 0, 22, 23, 24, 25, 0,
- 0, 0, 26, 0, 0, 30, 31, 32, 33, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 68, 68, 68, 68, 68, 68, 0, 0,
- 0, 0, 0, 0, 0, 68, 0, 0, 68, 0,
- 0, 0, 68, 68, 0, 0, 68, 0, 68, 68,
- 0, 0, 0, 68, 68, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 0, 0, 0, 68, 0,
- 68, 68, 68, 68, 0, 0, 0, 0, 0, 0,
- 0, 199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 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, 68,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 68, 0, 68, 68, 68, 68, 0, 68,
- 0, 68, 68, 0, 0, 67, 69, 0, 0, 68,
- 68, 73, 0, 0, 0, 0, 0, 0, 0, 91,
- 0, 68, 68, 0, 0, 0, 0, 0, 0, 0,
- 0, 91, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 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, 0, 0,
- 0, 146, 147, 148, 149, 150, 151, 0, 0, 0,
- 0, 0, 0, 0, 91, 0, 0, 91, 0, 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, 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,
- 91, 91, 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, 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,
+ 15, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 0, 18, 19, 20, 65, 22, 0,
+ 28, 0, 29, 23, 24, 25, 26, 0, 0, 0,
+ 27, 0, 0, 31, 32, 33, 34, 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, 65, 22, 0, 28, 0, 29,
+ 23, 24, 25, 26, 0, 0, 0, 27, 0, 0,
+ 31, 32, 33, 34, 12, 13, 0, 0, 0, 14,
+ 15, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 0, 18, 19, 20, 65, 22, 0,
+ 28, 0, 29, 23, 24, 25, 26, 0, 0, 0,
+ 27, 0, 0, 31, 32, 33, 34, 115, 0, 0,
+ 85, 12, 13, 0, 0, 0, 14, 15, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 18, 19, 20, 65, 22, 0, 28, 0, 29,
+ 23, 24, 25, 26, 0, 0, 0, 27, 0, 0,
+ 31, 32, 33, 34, 0, 0, 0, 0, 0, 0,
+ 0, 117, 0, 0, 0, 12, 13, 0, 0, 0,
+ 14, 15, 16, 0, 0, 0, 0, 65, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 139, 0, 0, 0,
+ 12, 13, 0, 0, 0, 14, 15, 16, 102, 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, 212, 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,
+ 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, 274, 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,
+ 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, 0, 0, 0, 0, 66, 68, 0,
+ 0, 12, 13, 72, 0, 0, 14, 15, 16, 0,
+ 0, 90, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 145, 146, 147, 148, 149, 150, 0, 0, 0,
+ 0, 0, 0, 90, 0, 0, 0, 0, 90, 0,
+ 0, 90, 90, 0, 0, 90, 0, 90, 90, 0,
+ 0, 0, 90, 90, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 90, 0, 0, 0, 90, 0, 90,
+ 90, 90, 90, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 90, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 90, 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, 90, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 90, 90, 90,
+ 90, 0, 90, 0, 90, 90, 0, 0, 0, 0,
+ 0, 0, 90, 90, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 90, 90, 90, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 90, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 90, 90, 90, 90, 0,
+ 90, 90, 90,
};
short yycheck[] = { 41,
- 0, 41, 63, 41, 37, 41, 41, 59, 59, 42,
- 43, 63, 45, 63, 47, 35, 63, 219, 41, 63,
- 50, 63, 38, 63, 59, 63, 123, 63, 62, 37,
- 44, 123, 62, 63, 42, 103, 104, 37, 35, 47,
- 40, 41, 42, 43, 44, 45, 51, 47, 35, 63,
- 41, 94, 41, 44, 288, 0, 301, 302, 58, 59,
- 60, 94, 62, 63, 297, 60, 134, 301, 302, 112,
- 59, 292, 41, 40, 307, 44, 59, 261, 262, 112,
- 40, 40, 303, 304, 123, 40, 94, 40, 108, 40,
- 124, 121, 37, 93, 94, 297, 41, 42, 43, 44,
- 45, 286, 47, 108, 112, 307, 91, 41, 222, 40,
- 0, 108, 112, 58, 59, 60, 40, 62, 63, 40,
- 261, 108, 44, 123, 124, 59, 40, 123, 62, 41,
- 60, 112, 41, 41, 292, 280, 41, 44, 44, 41,
- 292, 41, 41, 93, 41, 175, 176, 37, 93, 94,
- 40, 41, 42, 43, 40, 45, 224, 47, 40, 59,
- 40, 292, 59, 290, 261, 262, 41, 112, 58, 59,
- 60, 91, 62, 63, 59, 41, 272, 7, 123, 124,
- 294, 295, 296, 40, 200, 271, 41, 41, 0, 93,
- 124, 41, 93, 41, 59, 59, -1, 216, -1, 29,
- 314, 315, -1, 93, 94, 319, -1, -1, -1, 260,
- 261, 262, 41, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 112, -1, 292, 260, 261, 262, 289, 290,
- 59, 265, 262, 123, 124, -1, -1, 289, 290, 289,
- 290, 274, 289, 290, -1, 289, 290, 289, 290, 289,
- 290, 289, 290, 289, 290, 85, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, 289, 290, 268, 269,
- 100, 260, 261, 262, 274, 289, 290, 260, 261, 262,
- 280, 41, 282, 283, 284, 285, 286, 41, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, 292, 298, 59,
- 300, 301, 302, 303, 304, 59, 136, 137, 303, 304,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, -1, 260, 261, 262, 274,
- -1, 265, -1, -1, -1, 280, 41, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, 59, 300, 301, 302, 303, 304,
- 260, 261, 262, 260, 261, 262, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- 0, -1, -1, -1, 274, -1, -1, 217, 218, -1,
- 280, -1, 282, 283, 284, 285, 286, 41, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, 59, -1, 37, -1, -1,
- 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
- -1, 260, 261, 262, -1, 0, -1, -1, 58, 59,
- -1, -1, 62, 63, -1, -1, -1, -1, -1, -1,
- -1, -1, 282, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 299,
- -1, -1, 37, 93, 94, 40, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
- 0, -1, 112, 58, 59, 60, -1, 62, 63, -1,
- 260, 261, 262, 123, 124, -1, 260, 261, 262, -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, -1, -1, -1, -1, 58, 59,
- 60, -1, 62, 63, -1, 260, 261, 262, 123, 124,
- -1, -1, -1, 0, -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,
- 37, -1, 112, 40, 41, 42, 43, 44, 45, -1,
- 47, -1, -1, 123, 124, -1, 260, 261, 262, -1,
- -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
- 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- -1, -1, -1, -1, 274, -1, 93, -1, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
- 290, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, 123, 124, -1, -1,
- -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, -1, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
+ 0, 41, 60, 41, 37, 41, 59, 59, 39, 42,
+ 43, 63, 45, 63, 47, 59, 62, 41, 36, 102,
+ 36, 63, 36, 63, 302, 63, 123, 63, 37, 222,
+ 7, 44, 123, 42, 312, 289, 123, 37, 47, 94,
+ 40, 41, 42, 43, 44, 45, 63, 47, 302, 303,
+ 63, 225, 63, 30, 293, 0, 40, 112, 58, 59,
+ 60, 94, 62, 63, 40, 304, 305, 287, 41, 41,
+ 153, 44, 44, 302, 303, 261, 262, 40, 124, 112,
+ 63, 106, 107, 40, 40, 94, 40, 40, 40, 91,
+ 40, 40, 37, 93, 94, 261, 41, 42, 43, 44,
+ 45, 123, 47, 112, 40, 60, 112, 84, 133, 302,
+ 0, 41, 112, 58, 59, 60, 41, 62, 63, 312,
+ 41, 293, 99, 123, 124, 299, 300, 301, 281, 44,
+ 41, 41, 44, 93, 41, 153, 44, 153, 293, 153,
+ 41, 293, 41, 40, 40, 319, 320, 37, 93, 94,
+ 324, 41, 42, 43, 44, 45, 40, 47, 135, 136,
+ 59, 291, 41, 62, 261, 262, 59, 112, 58, 59,
+ 60, 91, 62, 63, 205, 273, 41, 40, 123, 124,
+ 93, 41, 272, 41, 0, 41, 59, 93, 59, 41,
+ 219, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 227, 93, 94, -1, -1, 260, 261, 262,
+ -1, 41, -1, -1, 41, -1, 260, 261, 262, 265,
+ -1, -1, 112, 40, -1, 124, 43, -1, 45, 59,
+ -1, -1, 59, 123, 124, 293, -1, -1, 290, 291,
+ 290, 291, 275, 220, 221, -1, 304, 305, 290, 291,
+ 290, 291, 290, 291, 290, 291, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 290, 291, 268, 269,
+ 270, -1, 297, 290, 291, 275, -1, 290, 291, 290,
+ 291, 281, 41, 283, 284, 285, 286, 287, 41, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, -1, 299,
+ 59, 301, 302, 303, 304, 305, 59, 290, 291, -1,
+ 287, -1, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, -1, -1, 268, 269, 270, -1, 304, -1, -1,
+ 275, -1, -1, -1, -1, -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, 260, 261, 262, -1, -1, 265, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- -1, -1, -1, -1, 274, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, -1, 288, 289,
- -1, 291, 292, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, 303, 304, -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, 0, -1, -1, -1, 274, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, -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,
+ 270, 0, -1, -1, -1, 275, -1, -1, -1, -1,
+ 41, 281, -1, 283, 284, 285, 286, 287, 41, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 59, 299,
+ -1, 301, 302, 303, 304, 305, 59, -1, 37, -1,
+ -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
+ 260, 261, 262, 260, 261, 262, 0, -1, 41, 58,
+ 59, -1, -1, 62, 63, -1, 263, 264, 52, 53,
+ -1, 268, 269, 270, -1, -1, 59, 61, 62, -1,
+ -1, -1, -1, -1, 281, -1, 283, 284, 285, -1,
+ 287, 41, -1, 37, 93, 94, 40, 41, 42, 43,
+ 44, 45, 299, 47, -1, 302, 303, 304, 305, 59,
+ -1, 0, -1, 112, 58, 59, 60, -1, 62, 63,
+ -1, 260, 261, 262, 123, 124, -1, 260, 261, 262,
+ -1, -1, -1, -1, -1, -1, 120, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 37, 93,
+ 94, 40, 41, 42, 43, -1, 45, -1, 47, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
+ 59, 60, -1, 62, 63, -1, 260, 261, 262, 123,
+ 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 177, 178, -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, 260, 261, 262,
+ -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, 260, 261, 262,
+ -1, -1, 281, 267, 283, 284, 285, 286, 287, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, -1, 301, 302, 303, 304, 305, -1, -1, -1,
+ 260, 261, 262, 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, -1, -1, -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, -1, -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, 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, 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,
- 58, 59, 60, -1, 62, 63, -1, -1, -1, -1,
- -1, 123, 124, -1, -1, 0, -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, 0, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 93, -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, 37, -1, -1, 40, 41, 42, 43, 44,
- 45, -1, 47, -1, -1, 123, 124, -1, -1, -1,
+ -1, -1, 37, 112, -1, 40, 41, 42, 43, 44,
+ 45, -1, 47, -1, 123, 124, -1, -1, -1, -1,
-1, -1, -1, 58, 59, 60, -1, 62, 63, -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, 93, -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, 123, 124,
+ -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, -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, -1, -1, 304, 305, -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, -1, -1, -1, -1, 274, 93, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, -1, -1, 303, 304, 123, 124,
- -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, -1, -1, 268, 269, -1, -1,
- -1, -1, 274, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
- 302, 303, 304, -1, -1, -1, -1, -1, -1, 257,
- 258, 259, 260, 261, 262, 263, 264, 265, 0, -1,
- 268, 269, -1, -1, -1, -1, 274, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 285, 286, -1,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- 298, -1, 300, 301, 302, 303, 304, -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, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, -1, -1, 268, 269, 0, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -1, 37, -1, -1, 40, 41, 42, 43, 44,
- 45, 123, 47, -1, -1, -1, -1, -1, -1, 0,
- -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
+ 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, -1, -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, 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, 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, -1, -1, 123, 124, -1, -1, -1, -1, 0,
-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, 257, 258, 259, 260, 261,
- 262, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, 93, 94, 280, -1,
- 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, 112, 298, -1, 300, 301,
- 302, 303, 304, -1, -1, -1, 123, 124, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 37, -1, -1, 40,
+ 41, 42, 43, 44, 45, -1, 47, 123, 124, -1,
+ -1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
+ -1, 62, 63, -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, 93, -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, 123, 124, -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, -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,
-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, -1, -1, -1, -1, 274,
- -1, 40, -1, -1, 43, 280, 45, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
-1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, 268, 269, -1,
- -1, -1, -1, 274, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, 0, -1, -1, -1, 274, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, -1, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, -1, -1, 303, 304, -1, -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, 263, 264, 123, 124, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, 40,
- 41, 93, 43, 44, 45, -1, -1, 0, -1, 298,
- -1, -1, 301, 302, 303, 304, -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, 40, 41, -1,
- -1, 44, 93, 259, -1, 261, 262, 263, 264, -1,
- -1, 0, 268, 269, -1, 58, 59, 60, -1, 62,
- 63, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, 123, 124, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
- 93, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 0,
- 59, 268, 269, -1, -1, -1, -1, 274, -1, -1,
- 123, 124, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, -1, -1, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, -1, 40,
- -1, -1, 43, -1, 45, 257, 258, 259, 260, 261,
- 262, 263, 264, 265, -1, -1, 268, 269, 59, -1,
- -1, -1, 274, -1, 123, -1, -1, -1, 280, 0,
- 282, 283, 284, 285, 286, -1, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, -1, 298, -1, 300, 301,
- 302, 303, 304, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, -1, -1, 268, 269, 40,
- -1, -1, 43, 274, 45, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, -1, 298, -1, 300,
- 301, 302, 303, 304, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 0, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, 298, -1, 300, 301, 302,
- 303, 304, 123, 40, 41, -1, -1, 44, 257, 258,
- 259, 260, 261, 262, 263, 264, -1, 0, -1, 268,
- 269, 58, 59, 60, -1, 62, 63, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, 285, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, 300, 301, 302, 303, 304, 93, 40, -1, -1,
- 43, -1, 45, -1, -1, -1, 257, 258, 259, 260,
- 261, 262, 263, 264, 0, -1, 59, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, 123, 124, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 257, 258, 259, -1,
- 123, -1, 263, 264, -1, 0, -1, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, 300,
- 301, 302, 303, 304, -1, 40, -1, -1, 43, -1,
- 45, -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,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
- -1, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- -1, 298, -1, 300, 301, 302, 303, 304, 123, -1,
- -1, -1, -1, -1, 257, 258, 259, 260, -1, 262,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
- 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, 259, -1, -1, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, 40, 41, -1, 43,
- 44, 45, -1, -1, 280, -1, 282, 283, 284, 285,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 63,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
+ 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, -1, -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, 40, 41, -1, 43, 44, 45, -1,
- -1, -1, 257, 258, 259, -1, -1, -1, 263, 264,
- -1, -1, -1, 268, 269, 0, 63, -1, -1, -1,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, 300, 301, 302, 303, 304,
- -1, -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, 37, 93, 94, 40, 41, 42, 43, 44,
+ 45, -1, 47, -1, -1, -1, -1, -1, -1, -1,
+ 0, -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,
- -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, -1, 93, 94,
+ 40, 41, -1, 43, 44, 45, -1, -1, -1, -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, 263,
- 264, -1, -1, -1, 268, 269, 58, 59, 60, -1,
- 62, 63, 112, -1, -1, -1, 280, -1, 282, 283,
- 284, -1, 286, 123, 124, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 93, 94, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- 112, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, 123, 124, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, -1, 301, 302, 303, 304, -1, -1,
+ 60, -1, 62, 63, -1, -1, -1, -1, 123, 124,
+ -1, -1, -1, 0, -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, -1, -1, -1, -1, 274,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- 285, 286, -1, 288, 289, 290, 291, -1, 293, 294,
- 295, 296, -1, 298, -1, 300, 301, 302, -1, -1,
+ -1, -1, -1, 93, -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, -1, -1, 123, 124, -1, -1, -1, -1, -1,
+ -1, 58, 59, 60, -1, 62, 63, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
- -1, -1, -1, -1, 274, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, 285, 286, 0, 288, 289,
- 290, 291, -1, 293, 294, 295, 296, -1, 298, -1,
- 300, 301, 302, -1, -1, 257, 258, 259, 260, 261,
- 262, -1, -1, 265, -1, -1, -1, -1, -1, -1,
- -1, -1, 274, -1, 37, -1, -1, -1, 41, 42,
- -1, 44, 0, 285, 47, -1, 288, 289, 290, 291,
- 292, 293, 294, 295, 296, 58, 59, 60, 300, 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, 274, -1, -1, -1, -1, -1, -1, -1, 123,
- 124, -1, 285, -1, -1, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, -1, -1, 300, -1, 257,
- 258, 259, 260, 261, 262, -1, -1, 265, -1, -1,
- -1, -1, -1, -1, -1, -1, 274, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 285, -1, -1,
- 288, 289, 290, 291, 292, 293, 294, 295, 296, -1,
- -1, -1, 300, -1, 257, 258, 259, 260, 261, 262,
- -1, -1, 265, -1, -1, -1, -1, -1, -1, -1,
- -1, 274, -1, -1, 0, -1, -1, -1, -1, -1,
- -1, -1, 285, -1, -1, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, -1, -1, -1, 300, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 37, 47, 48, -1, 41, 42, -1, 44, -1,
- -1, 47, -1, 257, 258, 259, 260, 261, 262, -1,
- -1, 265, 58, 59, 60, -1, 62, 63, -1, -1,
- 274, 0, -1, -1, -1, -1, 81, -1, 83, 84,
- -1, 285, -1, -1, 288, 289, 290, 291, 292, 293,
- 294, 295, 296, -1, -1, -1, 300, 93, 94, -1,
- -1, -1, -1, -1, -1, -1, 111, 112, 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,
+ 270, -1, -1, -1, -1, 275, 93, -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, 123, 124, -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, -1, -1, 292, 293, 294,
+ 295, 296, 297, -1, 299, -1, 301, 302, 303, 304,
+ 305, -1, -1, -1, -1, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, -1, 0, 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, -1, 40, -1, -1,
+ 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 0,
+ -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, 40,
+ 41, -1, -1, 44, -1, -1, -1, -1, -1, 0,
+ 123, -1, -1, -1, -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, 40,
+ 41, -1, 93, 44, -1, -1, -1, -1, -1, -1,
+ 0, -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,
+ -1, -1, -1, -1, -1, -1, -1, -1, 0, 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, 257, 258, 259, 260, 261, 262,
+ 263, 264, -1, -1, -1, 268, 269, 270, 40, -1,
+ -1, 43, -1, 45, -1, -1, -1, 0, 281, -1,
+ 283, 284, 285, 286, 287, -1, -1, 59, -1, 292,
+ 293, 294, 295, 123, -1, -1, 299, -1, 301, 302,
+ 303, 304, 305, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
+ 43, -1, 45, -1, -1, -1, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, -1, 59, 268, 269, 270,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 281, 123, 283, 284, 285, 286, 287, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, -1, 299, -1,
+ 301, 302, 303, 304, 305, -1, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, -1, -1, 268, 269, 270,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 281, 0, 283, 284, 285, 286, 287, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, -1, 299, -1,
+ 301, 302, 303, 304, 305, -1, -1, 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,
+ 0, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, 301, 302, 303, 304, 305, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 257, 258, 259, 260, -1,
+ 262, 263, 264, -1, -1, -1, 268, 269, 270, -1,
+ 40, -1, -1, 43, -1, 45, -1, -1, -1, 281,
+ 0, 283, 284, 285, 286, 287, -1, -1, -1, -1,
+ 292, 293, 294, 295, 123, -1, -1, 299, -1, 301,
+ 302, 303, 304, 305, 257, 258, 259, 260, 261, 262,
+ 263, 264, -1, -1, -1, 268, 269, 270, -1, -1,
+ 40, -1, -1, 43, -1, 45, -1, -1, 281, -1,
+ 283, 284, 285, 286, 287, -1, -1, -1, 0, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, 301, 302,
+ 303, 304, 305, 123, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 37, -1, -1, 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, 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, 257, 258,
+ 259, 93, 94, -1, 263, 264, -1, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ 112, -1, 281, -1, 283, 284, 285, 286, 287, -1,
+ -1, 123, 124, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, 301, 302, 303, 304, 305, -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, -1, 257, 258, 259,
+ -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, -1, -1, -1, 40, -1, -1, 43, -1,
+ 45, 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, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, -1, 0, 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, 123, 301,
+ 302, 303, 37, -1, -1, 40, 41, 42, 43, 44,
+ 45, -1, 47, 0, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, -1, -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, 0, -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, 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, 257, 258, 259, -1, 123, 124, 263, 264,
+ -1, -1, -1, 268, 269, 270, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, 94, 281, -1, 283, 284,
+ 285, 286, 287, -1, -1, -1, -1, 292, 293, 294,
+ 295, -1, -1, 112, 299, -1, 301, 302, 303, 304,
+ 305, -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, -1, 37, -1, -1, -1,
- 41, 42, -1, 44, 93, 94, 47, -1, -1, 174,
- -1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
- 185, 62, 187, 112, 189, -1, -1, -1, -1, -1,
- -1, 0, -1, -1, 123, 124, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 211, -1, -1, -1,
- -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
- -1, 226, 227, 228, 229, 230, -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,
- 275, -1, -1, -1, 279, 280, 281, -1, 274, 0,
- 285, -1, -1, -1, 93, 94, -1, -1, -1, 285,
- -1, -1, 288, 289, 290, 291, 292, 293, 294, 295,
- 296, -1, -1, 112, 300, 310, 311, -1, -1, -1,
- -1, 316, -1, -1, 123, 124, 37, -1, -1, -1,
- 41, 42, -1, 44, -1, -1, 47, -1, 257, 258,
- 259, 260, 261, 262, -1, -1, 265, 58, 59, 60,
- -1, 62, -1, -1, -1, 274, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 285, -1, -1, 288,
- 289, 290, -1, -1, -1, -1, 295, 296, -1, -1,
- -1, 300, 93, 94, -1, -1, 257, 258, 259, 260,
- 261, 262, -1, -1, 265, -1, -1, -1, -1, 40,
- 41, 112, 43, 274, 45, -1, -1, -1, -1, 0,
- -1, -1, 123, 124, 285, -1, -1, 288, 289, 290,
- -1, -1, 63, -1, 295, 296, -1, -1, -1, 300,
-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,
+ 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, 0, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, -1, -1, -1, 301, -1, -1, -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,
+ -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, 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, -1, 257, 258,
- 259, 260, 261, 262, -1, -1, 265, 58, 59, 60,
- -1, 62, -1, -1, -1, 274, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 285, -1, -1, 288,
- 289, 290, -1, -1, -1, -1, 295, 296, -1, -1,
- -1, 300, 93, 94, -1, -1, -1, -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,
- -1, 112, -1, 47, 0, -1, -1, -1, -1, -1,
+ 44, 112, -1, 47, 0, -1, -1, -1, -1, -1,
-1, -1, 123, 124, 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, 37, -1, 274, -1, 41, 42, -1, 44, 93,
- 94, 47, -1, -1, 285, -1, -1, 288, 289, 290,
- -1, -1, 58, 59, 295, 296, -1, -1, 112, 300,
+ -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, -1, -1, -1, -1, -1, -1, 0,
+ -1, -1, 58, 59, 60, -1, 62, -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, 93, 94, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, 112, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, 123, 124, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, -1, -1, 257, 258, 259, 260,
- 261, 262, -1, -1, 265, -1, -1, -1, -1, -1,
- -1, -1, -1, 274, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 285, -1, -1, 288, 289, 290,
- -1, -1, -1, -1, 295, 296, -1, -1, -1, 300,
- -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,
- 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 285, -1, -1, 288, 289, 290, -1, -1, -1,
- -1, 295, 296, -1, -1, -1, 300, -1, -1, -1,
- -1, 257, 258, 259, 260, 261, 262, -1, 7, 265,
- -1, -1, -1, -1, -1, 14, -1, -1, 274, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 285,
- 29, -1, 288, 289, 290, -1, 35, -1, -1, -1,
- -1, -1, -1, -1, 300, -1, -1, -1, -1, -1,
- 49, 50, 51, -1, -1, -1, 55, 56, -1, 58,
- 59, 60, -1, 62, 63, 64, 65, 66, -1, -1,
- -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
- 45, -1, -1, 82, -1, -1, 85, 86, 87, 88,
- 89, 90, -1, -1, 59, -1, -1, -1, -1, -1,
- -1, 100, -1, -1, -1, -1, -1, -1, -1, 108,
- -1, -1, -1, -1, -1, -1, 115, -1, -1, -1,
- 40, -1, 121, 43, -1, 45, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 136, 137, 59,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
- 159, 160, -1, -1, 163, 164, 165, 166, 167, -1,
- -1, -1, -1, 172, 173, 40, 175, 176, 43, -1,
- 45, 180, -1, -1, -1, 184, -1, -1, -1, -1,
- -1, -1, -1, -1, 59, -1, 195, -1, -1, 198,
- -1, -1, -1, 123, -1, 125, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 217, 218,
- 219, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 236, -1, 238,
- -1, 240, -1, 242, -1, 244, -1, -1, -1, 40,
- 249, -1, 43, -1, 45, 254, 255, -1, 123, -1,
- 125, -1, -1, 262, -1, -1, -1, -1, 59, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 282, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 260, 261, 262, 263, 264,
- 299, 266, 267, 268, 269, 270, -1, 272, 273, -1,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, 123, 298, 125, -1, 301, 302, 303, 304,
- 260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 260, -1, -1, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- 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, 37, 93, 94, -1,
+ 41, 42, -1, 44, -1, -1, 47, -1, -1, -1,
+ -1, -1, -1, -1, -1, -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, -1, -1, 257, 258, 259, 260,
+ 261, 262, 93, 94, 265, 40, -1, -1, 43, -1,
+ 45, -1, -1, -1, 275, 0, -1, -1, -1, -1,
+ -1, 112, -1, -1, -1, 286, -1, -1, 289, 290,
+ 291, -1, 123, 124, -1, 296, 297, -1, -1, -1,
+ 301, -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, -1, 40,
+ -1, 275, 43, -1, 45, -1, -1, -1, -1, -1,
+ -1, -1, 286, -1, -1, 289, 290, 291, 59, -1,
+ 0, -1, 296, 297, -1, -1, -1, 301, 93, 94,
+ -1, 257, 258, 259, 260, 261, 262, -1, -1, 265,
+ -1, -1, -1, -1, -1, -1, -1, 112, -1, 275,
+ -1, -1, -1, -1, -1, -1, -1, 37, 123, 124,
+ 286, 41, 42, 289, 290, 291, -1, 47, -1, -1,
+ 296, 297, -1, -1, -1, 301, -1, -1, 58, 59,
+ 60, -1, 62, -1, -1, -1, 257, 258, 259, 260,
+ 261, 262, 0, -1, 265, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 275, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, 94, 286, -1, -1, 289, 290,
+ 291, -1, -1, -1, -1, 296, 297, -1, -1, 37,
+ 301, -1, 112, 41, 42, -1, 44, -1, -1, 47,
+ -1, -1, -1, 123, 124, -1, 261, 262, 263, 264,
+ 58, 59, -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, 93, 94, 302, 303, 304,
+ 305, -1, 257, 258, 259, 260, 261, 262, -1, -1,
+ 265, -1, -1, -1, 112, -1, -1, -1, -1, -1,
+ 275, -1, -1, -1, -1, 123, 124, -1, 259, -1,
+ -1, 286, 263, 264, 289, 290, 291, 268, 269, 270,
+ -1, 296, 297, -1, -1, -1, 301, -1, -1, -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, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
+ 260, 261, 262, -1, 7, 265, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 275, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 286, 30, -1, 289,
+ 290, 291, -1, 36, -1, -1, 296, 297, -1, -1,
+ -1, 301, -1, -1, -1, 48, -1, -1, 51, 52,
+ 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
+ 63, 64, 65, -1, -1, -1, -1, -1, -1, 257,
+ 258, 259, 260, 261, 262, -1, -1, 265, 81, -1,
+ -1, 84, 85, 86, 87, 88, 89, 275, 49, 50,
+ -1, -1, -1, -1, -1, -1, 99, -1, 286, 102,
+ -1, 289, 290, 291, -1, -1, -1, -1, -1, -1,
+ -1, 114, -1, 301, -1, -1, -1, 120, -1, 80,
+ -1, 82, 83, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 135, 136, -1, 40, -1, -1, 43, -1,
+ 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 153, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 165, 166, 167, 168, 169, -1, -1, -1,
+ -1, 174, 175, -1, 177, 178, -1, -1, -1, 182,
+ -1, -1, -1, 186, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 197, 156, 157, 200, -1, -1,
+ 203, 204, -1, -1, -1, -1, -1, -1, -1, -1,
+ 17, -1, -1, -1, -1, 176, -1, 220, 221, 222,
+ -1, 28, 29, -1, 31, 32, 187, 34, 189, -1,
+ 191, -1, -1, -1, -1, 42, -1, -1, 241, -1,
+ 243, -1, 245, -1, 247, -1, 249, -1, -1, -1,
+ -1, 254, -1, 214, -1, -1, 259, 260, 40, -1,
+ -1, 43, -1, 45, 267, -1, -1, -1, 229, 230,
+ 231, 232, 233, -1, -1, -1, -1, 59, -1, -1,
+ -1, -1, -1, -1, 287, 92, 93, 94, 95, 96,
+ 97, -1, -1, -1, -1, -1, -1, 104, -1, -1,
+ -1, 304, 109, -1, -1, 112, 113, -1, -1, 116,
+ -1, 118, 119, -1, -1, -1, 123, 124, -1, 280,
+ -1, -1, -1, 284, 285, 286, -1, 134, -1, 290,
+ -1, 138, -1, 140, 141, 142, 143, 40, -1, -1,
+ 43, 123, 45, -1, 151, -1, -1, 154, -1, -1,
+ -1, -1, -1, -1, 315, 316, 59, 164, 263, 264,
+ 321, 266, 267, 268, 269, 270, -1, -1, -1, -1,
+ -1, 276, 277, 278, 279, 280, 281, -1, 283, 284,
+ 285, -1, 287, 288, -1, 192, -1, 292, 293, 294,
+ 295, -1, -1, -1, 299, -1, -1, 302, 303, 304,
+ 305, 208, 209, 210, 211, -1, 213, -1, 215, 216,
+ -1, -1, -1, -1, -1, -1, 223, 224, -1, -1,
+ 123, -1, 125, -1, -1, -1, -1, -1, 235, 236,
+ 237, 238, -1, 40, -1, -1, 43, -1, 45, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 59, -1, -1, -1, 263, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 275, 276,
+ 277, 278, 279, -1, 281, 282, 283, -1, 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, 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, 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, -1, -1, -1, -1, 123, 40, 125,
+ -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, -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, -1,
+ -1, 123, 299, 125, -1, 302, 303, 304, 305, 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, -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,
+ -1, -1, 123, 299, 125, -1, 302, 303, 304, 305,
+ -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, -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, 123, -1, 125, -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, -1, 260,
-1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, -1, 286, 287, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, 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,
+ 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, 123, 40, 125, -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, -1, -1, -1, -1, -1, -1, -1, 40,
+ -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, -1, -1, 123,
+ 299, 125, -1, 302, 303, 304, 305, 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, -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, -1, -1,
+ 123, 299, 125, -1, 302, 303, 304, 305, -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, -1, -1, 123, -1, 125,
- -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, 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, 123, -1, 125, -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, 40, 41,
- -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
- 260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, -1, 286, 287, 123, -1,
- 125, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, -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, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, -1, 302,
+ 303, 304, 305, 123, 40, 125, -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,
- -1, -1, -1, -1, 260, -1, -1, 263, 264, -1,
- 266, 267, 268, 269, 270, 271, 272, 273, -1, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 284, -1,
- 286, 287, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, 260,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 260,
-1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
- 271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 40, 286, 287, 43, -1, 45,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, -1, 260, -1, -1, 263, 264,
- -1, 266, 267, 268, 269, 270, 271, 272, 273, -1,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- 40, 263, 264, 43, -1, 45, 268, 269, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, 280, 59,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, -1, -1, 40, -1, -1, 43, -1,
+ 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, 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, -1, -1, 123, -1, 125, -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, -1, -1, 123, -1,
- 125, -1, -1, -1, -1, -1, 40, -1, -1, 43,
- -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 257, 258, 259, -1, 59, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 123, 280, 125, 282, 283, 284, 285,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, 300, 301, 302, 303, 304, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 40, -1, -1, 43, -1, 45, -1, -1, -1, 123,
- 260, 125, -1, 263, 264, -1, 266, 267, 268, 269,
- 270, 271, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, 260, -1, -1, 263, 264,
- -1, 266, 267, 268, 269, 270, -1, 272, 273, -1,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- -1, 286, 287, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
260, -1, -1, 263, 264, -1, 266, 267, 268, 269,
- 270, -1, 272, 273, -1, 275, 276, 277, 278, 279,
- 280, 281, 282, 283, 284, -1, 286, 287, -1, -1,
- -1, 291, 292, 293, 294, -1, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, -1, 260, -1, -1, 263,
- 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
- -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 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, 259,
- -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, 43,
- 280, 45, 282, 283, 284, -1, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, 59, -1, -1, 298, -1,
- 300, 301, 302, 303, 304, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 123, -1, 125, -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, -1, -1, 123,
- -1, 125, -1, -1, -1, -1, -1, 40, -1, -1,
+ 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, -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, -1, 123, -1, 125, -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, 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,
+ 123, -1, 125, -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, -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, 123, 40, 125, -1, 43, -1, 45, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 123, 260, 125, -1, 263, 264, -1, 266, 267, 268,
- 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, -1, 286, 287, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, 260, -1, -1, 263,
- 264, -1, 266, 267, 268, 269, 270, -1, 272, 273,
- -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
- 284, -1, 286, 287, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 260, -1, -1, 263, 264, -1, 266, 267, 268,
- 269, 270, -1, 272, 273, -1, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 40, 286, 287, 43,
- 44, 45, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, 60, 260, 62, 63,
- 263, 264, -1, 266, 267, 268, 269, 270, -1, 272,
- 273, -1, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, 40, -1, -1, 43, -1, 45, -1, -1,
- 263, 264, -1, 266, 267, 268, 269, -1, -1, -1,
- -1, 59, 275, 276, 277, 278, 279, 280, -1, 282,
- 283, 284, -1, 286, 287, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, 40, -1, -1, 43, -1, 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, -1, 123, -1, 125, -1, -1,
- -1, -1, -1, -1, 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, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 263,
- 264, 63, -1, -1, 268, 269, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
- 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, 295, 296, -1, 298, -1, -1, 301, 302, 303,
- 304, 40, 41, -1, 43, 44, 45, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 260, -1, 63, 263, 264, -1, 266, 267,
- 268, 269, 270, -1, 272, 273, -1, 275, 276, 277,
- 278, 279, 280, 281, 282, 283, 284, -1, 286, 287,
- -1, -1, -1, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, 40, -1, -1,
- 43, -1, 45, -1, -1, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, -1, -1, 59, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, 295, 296, -1,
- 298, -1, -1, 301, 302, 303, 304, 263, 264, -1,
- -1, 40, 268, 269, 43, -1, 45, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
- -1, 263, 264, -1, -1, 40, 268, 269, 43, 44,
- 45, -1, -1, -1, -1, -1, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, 63, 291,
- 292, 293, 294, -1, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, -1, -1, -1, -1, -1, 40, -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, 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, 40, 287, 288, 43, 44, 45, 292,
+ 293, 294, 295, -1, -1, 123, 299, 125, -1, 302,
+ 303, 304, 305, 60, -1, 62, 63, -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, 60, 260, 62,
+ 63, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ -1, 273, 274, -1, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 40, 287, 288, 43, -1, 45,
+ 292, 293, 294, 295, -1, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, -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, 41, -1, 43, 44, 45, -1, -1, -1,
+ -1, -1, 260, -1, -1, 263, 264, -1, 266, 267,
+ 268, 269, 270, 271, 63, 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, 40, 41,
-1, 43, 44, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, 63, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, 40, -1, -1, 43,
- 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 259, -1, -1, 63,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, 40, 286, -1, 43, 44, 45, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, 300, 301, 302,
- 303, 304, -1, -1, -1, 63, -1, -1, -1, -1,
- 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, 40, -1, -1, 43, 44, 45,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, 63, -1, 298,
- -1, 300, 301, 302, 303, 304, -1, -1, 263, 264,
- -1, -1, -1, 268, 269, -1, -1, 40, -1, -1,
- 43, 44, 45, -1, -1, 280, -1, 282, 283, 284,
- -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- 63, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- -1, 263, 264, -1, -1, -1, 268, 269, -1, -1,
- 40, -1, -1, 43, 44, 45, -1, -1, 280, -1,
- 282, 283, 284, -1, 286, -1, -1, -1, -1, 291,
- 292, 293, 294, 63, -1, -1, 298, -1, -1, 301,
- 302, 303, 304, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 40, -1, -1, 43, -1, 45, -1, 263,
- 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
- 58, -1, -1, -1, -1, 63, 280, -1, 282, 283,
- 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, -1, -1, -1, -1, 263, 264, -1, -1, 40,
- 268, 269, 43, -1, 45, -1, -1, -1, -1, -1,
- -1, -1, 280, -1, 282, 283, 284, 58, 286, -1,
- -1, -1, 63, 291, 292, 293, 294, -1, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, 263, 264, -1,
- -1, -1, 268, 269, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, 40,
- 41, -1, 43, -1, 45, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, 63, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, -1, 263, 264, -1, -1, -1, 268, 269,
- -1, -1, 40, 41, -1, 43, -1, 45, -1, -1,
- 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, 63, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, 40, 41, -1, 43, -1, 45,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, 63, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, 40, 41, -1, 43, -1, 45, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, 63, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, -1, 261, 262, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, 40, 41, -1, 43,
- -1, 45, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 63,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, 40, 41, -1, 43, -1, 45, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, 63, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, -1, 263, 264, -1, -1, -1,
- 268, 269, -1, -1, 40, 41, -1, 43, -1, 45,
- -1, -1, 280, -1, 282, 283, 284, -1, 286, -1,
- -1, -1, -1, 291, 292, 293, 294, 63, -1, -1,
- 298, -1, -1, 301, 302, 303, 304, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, 40, 41, -1, 43,
- -1, 45, -1, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, 63,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 63, -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, 296,
+ 297, -1, 299, -1, -1, 302, 303, 304, 305, -1,
+ 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, 259, -1, 261, 262, 263, 264, -1,
+ -1, -1, 268, 269, 270, -1, -1, 40, 41, -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,
-1, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, 40, 41, -1, 43, -1, 45, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, 63, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, -1, -1, -1, 263,
- 264, -1, -1, -1, 268, 269, -1, -1, -1, 40,
- -1, -1, 43, -1, 45, -1, 280, -1, 282, 283,
- 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, 40, -1, -1, 43, -1,
- 45, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, -1, 263, 264, -1,
- -1, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 280, -1, 282, 283, 284, 40,
- 286, -1, 43, -1, 45, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, 263,
- 264, -1, -1, -1, 268, 269, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 280, -1, 282, 283,
- 284, -1, 286, -1, -1, -1, -1, 291, 292, 293,
- 294, -1, -1, -1, 298, -1, -1, 301, 302, 303,
- 304, 40, -1, -1, 43, -1, 45, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 263, 264, -1, -1,
- -1, 268, 269, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 280, -1, 282, 283, 284, -1, 286,
- -1, -1, -1, -1, 291, 292, 293, 294, -1, -1,
- -1, 298, -1, -1, 301, 302, 303, 304, 259, -1,
- -1, 40, 263, 264, 43, -1, 45, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, 63, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, 259, -1, -1, 40, 263, 264,
- 43, -1, 45, 268, 269, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 280, -1, 282, 283, 284,
- -1, 286, -1, -1, -1, -1, 291, 292, 293, 294,
- -1, -1, -1, 298, -1, -1, 301, 302, 303, 304,
- 40, -1, -1, 43, -1, 45, -1, -1, 259, -1,
- -1, -1, 263, 264, -1, -1, -1, 268, 269, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
- -1, 282, 283, 284, -1, 286, -1, -1, -1, -1,
- 291, 292, 293, 294, -1, -1, -1, 298, -1, -1,
- 301, 302, 303, 304, 40, -1, -1, 43, -1, 45,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, -1, -1, -1, -1,
+ 269, 270, -1, -1, 40, 41, -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, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 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, -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, 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, -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, -1, 302,
+ 303, 304, 305, -1, -1, -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,
+ -1, -1, -1, -1, -1, -1, -1, -1, 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, 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, -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, -1, -1, 63, -1, -1, -1, -1,
+ -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, -1, -1, -1, 40, -1, -1, 43, 44,
+ 45, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, 63, 299,
+ -1, -1, 302, 303, 304, 305, -1, -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, -1, 302,
+ 303, 304, 305, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -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, -1, 302, 303, 304, 305, -1, -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, 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, 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, -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, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -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, -1, -1, -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, 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, 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, -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, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -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, 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, -1, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, 263, 264, -1, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, 40, -1,
+ -1, 43, 281, 45, 283, 284, 285, -1, 287, -1,
+ -1, -1, -1, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, -1, 302, 303, 304, 305, -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, 40, 287, -1, 43, -1, 45, 292, 293,
+ 294, 295, -1, -1, -1, 299, -1, -1, 302, 303,
+ 304, 305, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 263, 264, -1, -1, -1, 268,
- 269, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 280, -1, 282, 283, 284, -1, 286, -1, -1,
- -1, -1, 291, 292, 293, 294, -1, -1, -1, 298,
- -1, -1, 301, 302, 303, 304, 259, -1, -1, -1,
- 263, 264, -1, -1, -1, 268, 269, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 280, -1, 282,
- 283, 284, -1, 286, -1, -1, -1, -1, 291, 292,
- 293, 294, -1, -1, -1, 298, -1, -1, 301, 302,
- 303, 304, -1, 263, 264, -1, -1, -1, 268, 269,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 280, -1, 282, 283, 284, -1, 286, -1, -1, -1,
- -1, 291, 292, 293, 294, 16, -1, -1, 298, -1,
- -1, 301, 302, 303, 304, -1, 27, 28, -1, 30,
- 31, -1, 33, -1, -1, -1, -1, 263, 264, -1,
- 41, -1, 268, 269, -1, -1, -1, -1, -1, -1,
- -1, -1, 53, -1, 280, -1, 282, 283, 284, -1,
- 286, -1, -1, -1, -1, 291, 292, 293, 294, -1,
- -1, -1, 298, -1, -1, 301, 302, 303, 304, -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, -1, 106, -1, -1, 109, -1,
- -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, 152, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 162, -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, 190,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 202, 203, -1, 205, 206, 207, 208, -1, 210,
- -1, 212, 213, -1, -1, 27, 28, -1, -1, 220,
- 221, 33, -1, -1, -1, -1, -1, -1, -1, 41,
- -1, 232, 233, -1, -1, -1, -1, -1, -1, -1,
- -1, 53, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 258, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 270,
- 271, 272, 273, 274, -1, 276, 277, 278, -1, -1,
- -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
- -1, -1, -1, -1, 106, -1, -1, 109, -1, -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, -1, -1, -1, -1, -1, -1, -1,
- 162, -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, 190, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 202, 203, -1, 205, 206, 207, 208, -1, 210, -1,
- 212, 213, -1, -1, -1, -1, -1, -1, 220, 221,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 232, 233, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 258, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 270, 271,
- 272, 273, 274, -1, 276, 277, 278,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 281, -1, 283, 284, 285, 40, 287, -1,
+ 43, -1, 45, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, -1, 302, 303, 304, 305, -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, 40, 287, -1, 43, -1, 45,
+ 292, 293, 294, 295, -1, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, 263, 264, -1, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 281, -1, 283, 284, 285, 40, 287, -1,
+ 43, -1, 45, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, -1, 302, 303, 304, 305, 259, -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, 40, 287, -1, 43, -1, 45,
+ 292, 293, 294, 295, -1, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, -1, -1, -1, -1, -1, -1,
+ -1, 259, -1, -1, -1, 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, -1, -1,
+ -1, -1, -1, -1, -1, -1, 259, -1, -1, -1,
+ 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, 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,
+ 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, 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,
+ 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, -1, -1, -1, -1, 28, 29, -1,
+ -1, 263, 264, 34, -1, -1, 268, 269, 270, -1,
+ -1, 42, -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, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, -1,
+ -1, -1, -1, 104, -1, -1, -1, -1, 109, -1,
+ -1, 112, 113, -1, -1, 116, -1, 118, 119, -1,
+ -1, -1, 123, 124, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 134, -1, -1, -1, 138, -1, 140,
+ 141, 142, 143, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 154, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 164, -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, 192, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 208, 209, 210,
+ 211, -1, 213, -1, 215, 216, -1, -1, -1, -1,
+ -1, -1, 223, 224, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 235, 236, 237, 238, -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, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 275, 276, 277, 278, 279, -1,
+ 281, 282, 283,
};
#define YYFINAL 1
#ifndef YYDEBUG
#define YYDEBUG 0
#endif
-#define YYMAXTOKEN 304
+#define YYMAXTOKEN 305
#if YYDEBUG
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,
@@ -1824,11 +1894,11 @@ char *yyname[] = {
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","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",
+"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",
};
char *yyrule[] = {
"$accept : program",
@@ -1868,6 +1938,8 @@ char *yyrule[] = {
"expr : expr term",
"expr : expr '?' expr ':' expr",
"expr : variable ASGNOP cond",
+"sprintf : SPRINTF_NEW",
+"sprintf : SPRINTF_OLD",
"term : variable",
"term : NUMBER",
"term : STRING",
@@ -1896,7 +1968,8 @@ char *yyrule[] = {
"term : FUN1 '(' expr ')'",
"term : FUNN '(' expr_list ')'",
"term : USERFUN '(' expr_list ')'",
-"term : SPRINTF 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 ')'",
@@ -1999,12 +2072,12 @@ YYSTYPE yylval;
short yyss[YYSTACKSIZE];
YYSTYPE yyvs[YYSTACKSIZE];
#define yystacksize YYSTACKSIZE
-#line 396 "a2p.y"
+#line 401 "a2p.y"
-int yyparse _((void));
+int yyparse (void);
#include "a2py.c"
-#line 2008 "y.tab.c"
+#line 2081 "y.tab.c"
#define YYABORT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR goto yyerrlab
@@ -2017,7 +2090,6 @@ yyparse()
#ifndef __cplusplus
extern char *getenv();
#endif
-
if (yys = getenv("YYDEBUG"))
{
yyn = *yys;
@@ -2272,407 +2344,411 @@ case 36:
lval_field = TRUE;
}
break;
-case 37:
-#line 148 "a2p.y"
+case 39:
+#line 151 "a2p.y"
{ yyval = yyvsp[0]; }
break;
-case 38:
-#line 150 "a2p.y"
+case 40:
+#line 153 "a2p.y"
{ yyval = oper1(ONUM,yyvsp[0]); }
break;
-case 39:
-#line 152 "a2p.y"
+case 41:
+#line 155 "a2p.y"
{ yyval = oper1(OSTR,yyvsp[0]); }
break;
-case 40:
-#line 154 "a2p.y"
+case 42:
+#line 157 "a2p.y"
{ yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
break;
-case 41:
-#line 156 "a2p.y"
+case 43:
+#line 159 "a2p.y"
{ yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
break;
-case 42:
-#line 158 "a2p.y"
+case 44:
+#line 161 "a2p.y"
{ yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
break;
-case 43:
-#line 160 "a2p.y"
+case 45:
+#line 163 "a2p.y"
{ yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
break;
-case 44:
-#line 162 "a2p.y"
+case 46:
+#line 165 "a2p.y"
{ yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
break;
-case 45:
-#line 164 "a2p.y"
+case 47:
+#line 167 "a2p.y"
{ yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
break;
-case 46:
-#line 166 "a2p.y"
+case 48:
+#line 169 "a2p.y"
{ yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
break;
-case 47:
-#line 168 "a2p.y"
+case 49:
+#line 171 "a2p.y"
{ yyval = oper1(OPOSTINCR,yyvsp[-1]); }
break;
-case 48:
-#line 170 "a2p.y"
+case 50:
+#line 173 "a2p.y"
{ yyval = oper1(OPOSTDECR,yyvsp[-1]); }
break;
-case 49:
-#line 172 "a2p.y"
+case 51:
+#line 175 "a2p.y"
{ yyval = oper1(OPREINCR,yyvsp[0]); }
break;
-case 50:
-#line 174 "a2p.y"
+case 52:
+#line 177 "a2p.y"
{ yyval = oper1(OPREDECR,yyvsp[0]); }
break;
-case 51:
-#line 176 "a2p.y"
+case 53:
+#line 179 "a2p.y"
{ yyval = oper1(OUMINUS,yyvsp[0]); }
break;
-case 52:
-#line 178 "a2p.y"
+case 54:
+#line 181 "a2p.y"
{ yyval = oper1(OUPLUS,yyvsp[0]); }
break;
-case 53:
-#line 180 "a2p.y"
+case 55:
+#line 183 "a2p.y"
{ yyval = oper1(OPAREN,yyvsp[-1]); }
break;
-case 54:
-#line 182 "a2p.y"
+case 56:
+#line 185 "a2p.y"
{ yyval = oper0(OGETLINE); }
break;
-case 55:
-#line 184 "a2p.y"
+case 57:
+#line 187 "a2p.y"
{ yyval = oper1(OGETLINE,yyvsp[0]); }
break;
-case 56:
-#line 186 "a2p.y"
+case 58:
+#line 189 "a2p.y"
{ yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
break;
-case 57:
-#line 189 "a2p.y"
+case 59:
+#line 192 "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 58:
-#line 192 "a2p.y"
+case 60:
+#line 195 "a2p.y"
{ yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
break;
-case 59:
-#line 195 "a2p.y"
+case 61:
+#line 198 "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 60:
-#line 198 "a2p.y"
+case 62:
+#line 201 "a2p.y"
{ yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
break;
-case 61:
-#line 200 "a2p.y"
+case 63:
+#line 203 "a2p.y"
{ yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
break;
-case 62:
-#line 202 "a2p.y"
+case 64:
+#line 205 "a2p.y"
{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
break;
-case 63:
-#line 204 "a2p.y"
+case 65:
+#line 207 "a2p.y"
{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
break;
-case 64:
-#line 206 "a2p.y"
+case 66:
+#line 209 "a2p.y"
{ yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
break;
-case 65:
-#line 208 "a2p.y"
+case 67:
+#line 211 "a2p.y"
+{ yyval = oper1(OSPRINTF,yyvsp[-1]); }
+break;
+case 68:
+#line 213 "a2p.y"
{ yyval = oper1(OSPRINTF,yyvsp[0]); }
break;
-case 66:
-#line 210 "a2p.y"
+case 69:
+#line 215 "a2p.y"
{ yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
break;
-case 67:
-#line 212 "a2p.y"
+case 70:
+#line 217 "a2p.y"
{ yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
break;
-case 68:
-#line 214 "a2p.y"
+case 71:
+#line 219 "a2p.y"
{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
break;
-case 69:
-#line 216 "a2p.y"
+case 72:
+#line 221 "a2p.y"
{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
break;
-case 70:
-#line 218 "a2p.y"
+case 73:
+#line 223 "a2p.y"
{ yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
break;
-case 71:
-#line 220 "a2p.y"
+case 74:
+#line 225 "a2p.y"
{ yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
break;
-case 72:
-#line 222 "a2p.y"
+case 75:
+#line 227 "a2p.y"
{ yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
break;
-case 73:
-#line 224 "a2p.y"
+case 76:
+#line 229 "a2p.y"
{ yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
break;
-case 74:
-#line 226 "a2p.y"
+case 77:
+#line 231 "a2p.y"
{ yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
break;
-case 75:
-#line 228 "a2p.y"
+case 78:
+#line 233 "a2p.y"
{ yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
break;
-case 76:
-#line 230 "a2p.y"
+case 79:
+#line 235 "a2p.y"
{ yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
break;
-case 77:
-#line 232 "a2p.y"
+case 80:
+#line 237 "a2p.y"
{ yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
break;
-case 78:
-#line 234 "a2p.y"
+case 81:
+#line 239 "a2p.y"
{ yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
break;
-case 79:
-#line 236 "a2p.y"
+case 82:
+#line 241 "a2p.y"
{ yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
break;
-case 80:
-#line 238 "a2p.y"
+case 83:
+#line 243 "a2p.y"
{ yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
break;
-case 81:
-#line 240 "a2p.y"
+case 84:
+#line 245 "a2p.y"
{ yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
break;
-case 82:
-#line 244 "a2p.y"
+case 85:
+#line 249 "a2p.y"
{ yyval = oper1(OVAR,yyvsp[0]); }
break;
-case 83:
-#line 246 "a2p.y"
+case 86:
+#line 251 "a2p.y"
{ yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
break;
-case 84:
-#line 248 "a2p.y"
+case 87:
+#line 253 "a2p.y"
{ yyval = oper1(OFLD,yyvsp[0]); }
break;
-case 85:
-#line 250 "a2p.y"
+case 88:
+#line 255 "a2p.y"
{ yyval = oper1(OVFLD,yyvsp[0]); }
break;
-case 88:
-#line 257 "a2p.y"
+case 91:
+#line 262 "a2p.y"
{ yyval = Nullop; }
break;
-case 89:
-#line 261 "a2p.y"
+case 92:
+#line 266 "a2p.y"
{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
break;
-case 90:
-#line 263 "a2p.y"
+case 93:
+#line 268 "a2p.y"
{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
break;
-case 91:
-#line 265 "a2p.y"
+case 94:
+#line 270 "a2p.y"
{ yyval = yyvsp[-1]; }
break;
-case 92:
-#line 269 "a2p.y"
+case 95:
+#line 274 "a2p.y"
{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
break;
-case 93:
-#line 271 "a2p.y"
+case 96:
+#line 276 "a2p.y"
{ yyval = Nullop; }
break;
-case 94:
-#line 275 "a2p.y"
+case 97:
+#line 280 "a2p.y"
{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
break;
-case 95:
-#line 277 "a2p.y"
+case 98:
+#line 282 "a2p.y"
{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
break;
-case 96:
-#line 279 "a2p.y"
+case 99:
+#line 284 "a2p.y"
{ yyval = oper0(ONEWLINE); }
break;
-case 97:
-#line 281 "a2p.y"
+case 100:
+#line 286 "a2p.y"
{ yyval = oper1(OCOMMENT,yyvsp[0]); }
break;
-case 98:
-#line 285 "a2p.y"
+case 101:
+#line 290 "a2p.y"
{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
break;
-case 99:
-#line 287 "a2p.y"
+case 102:
+#line 292 "a2p.y"
{ yyval = Nullop; }
break;
-case 100:
-#line 291 "a2p.y"
+case 103:
+#line 296 "a2p.y"
{ yyval = oper0(ONEWLINE); }
break;
-case 101:
-#line 293 "a2p.y"
+case 104:
+#line 298 "a2p.y"
{ yyval = oper1(OCOMMENT,yyvsp[0]); }
break;
-case 102:
-#line 298 "a2p.y"
+case 105:
+#line 303 "a2p.y"
{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
break;
-case 103:
-#line 300 "a2p.y"
+case 106:
+#line 305 "a2p.y"
{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
break;
-case 104:
-#line 302 "a2p.y"
+case 107:
+#line 307 "a2p.y"
{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
break;
-case 105:
-#line 304 "a2p.y"
+case 108:
+#line 309 "a2p.y"
{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
break;
-case 106:
-#line 308 "a2p.y"
+case 109:
+#line 313 "a2p.y"
{ yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
break;
-case 107:
-#line 310 "a2p.y"
+case 110:
+#line 315 "a2p.y"
{ yyval = Nullop; }
break;
-case 108:
-#line 315 "a2p.y"
+case 111:
+#line 320 "a2p.y"
{ yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
break;
-case 109:
-#line 317 "a2p.y"
+case 112:
+#line 322 "a2p.y"
{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
break;
-case 110:
-#line 319 "a2p.y"
+case 113:
+#line 324 "a2p.y"
{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
break;
-case 113:
-#line 325 "a2p.y"
+case 116:
+#line 330 "a2p.y"
{ yyval = Nullop; }
break;
-case 115:
-#line 331 "a2p.y"
+case 118:
+#line 336 "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 116:
-#line 337 "a2p.y"
+case 119:
+#line 342 "a2p.y"
{ yyval = oper1(OPRINT,yyvsp[0]);
if (!yyvsp[0]) need_entire = TRUE;
saw_ORS = saw_OFS = TRUE;
}
break;
-case 117:
-#line 342 "a2p.y"
+case 120:
+#line 347 "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 118:
-#line 347 "a2p.y"
+case 121:
+#line 352 "a2p.y"
{ yyval = oper1(OPRINTF,yyvsp[0]);
if (!yyvsp[0]) need_entire = TRUE;
}
break;
-case 119:
-#line 351 "a2p.y"
+case 122:
+#line 356 "a2p.y"
{ yyval = oper0(OBREAK); }
break;
-case 120:
-#line 353 "a2p.y"
+case 123:
+#line 358 "a2p.y"
{ yyval = oper0(ONEXT); }
break;
-case 121:
-#line 355 "a2p.y"
+case 124:
+#line 360 "a2p.y"
{ yyval = oper0(OEXIT); }
break;
-case 122:
-#line 357 "a2p.y"
+case 125:
+#line 362 "a2p.y"
{ yyval = oper1(OEXIT,yyvsp[0]); }
break;
-case 123:
-#line 359 "a2p.y"
+case 126:
+#line 364 "a2p.y"
{ yyval = oper0(OCONTINUE); }
break;
-case 124:
-#line 361 "a2p.y"
+case 127:
+#line 366 "a2p.y"
{ yyval = oper0(ORETURN); }
break;
-case 125:
-#line 363 "a2p.y"
+case 128:
+#line 368 "a2p.y"
{ yyval = oper1(ORETURN,yyvsp[0]); }
break;
-case 126:
-#line 365 "a2p.y"
+case 129:
+#line 370 "a2p.y"
{ yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
break;
-case 127:
-#line 369 "a2p.y"
+case 130:
+#line 374 "a2p.y"
{ yyval = oper1(OREDIR,string(">",1)); }
break;
-case 128:
-#line 371 "a2p.y"
+case 131:
+#line 376 "a2p.y"
{ yyval = oper1(OREDIR,string(">>",2)); }
break;
-case 129:
-#line 373 "a2p.y"
+case 132:
+#line 378 "a2p.y"
{ yyval = oper1(OREDIR,string("|",1)); }
break;
-case 130:
-#line 378 "a2p.y"
+case 133:
+#line 383 "a2p.y"
{ yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
break;
-case 131:
-#line 380 "a2p.y"
+case 134:
+#line 385 "a2p.y"
{ yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
break;
-case 132:
-#line 382 "a2p.y"
+case 135:
+#line 387 "a2p.y"
{ yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
break;
-case 133:
-#line 384 "a2p.y"
+case 136:
+#line 389 "a2p.y"
{ yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
break;
-case 134:
-#line 386 "a2p.y"
+case 137:
+#line 391 "a2p.y"
{ yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
break;
-case 135:
-#line 388 "a2p.y"
+case 138:
+#line 393 "a2p.y"
{ yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
break;
-case 136:
-#line 390 "a2p.y"
+case 139:
+#line 395 "a2p.y"
{ yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
break;
-case 137:
-#line 392 "a2p.y"
+case 140:
+#line 397 "a2p.y"
{ yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
break;
-#line 2674 "y.tab.c"
+#line 2751 "y.tab.c"
}
yyssp -= yym;
yystate = *yyssp;
diff --git a/contrib/perl5/x2p/a2p.h b/contrib/perl5/x2p/a2p.h
index 8053046..3b0338c 100644
--- a/contrib/perl5/x2p/a2p.h
+++ b/contrib/perl5/x2p/a2p.h
@@ -73,13 +73,11 @@
#define MEM_SIZE Size_t
-#ifdef STANDARD_C
-# include <stdlib.h>
-#else
- Malloc_t malloc _((MEM_SIZE nbytes));
- Malloc_t calloc _((MEM_SIZE elements, MEM_SIZE size));
- Malloc_t realloc _((Malloc_t where, MEM_SIZE nbytes));
- Free_t free _((Malloc_t where));
+#ifndef STANDARD_C
+ Malloc_t malloc (MEM_SIZE nbytes);
+ Malloc_t calloc (MEM_SIZE elements, MEM_SIZE size);
+ Malloc_t realloc (Malloc_t where, MEM_SIZE nbytes);
+ Free_t free (Malloc_t where);
#endif
#if defined(I_STRING) || defined(__cplusplus)
@@ -138,8 +136,13 @@
/* All of these are in stdlib.h or time.h for ANSI C */
Time_t time();
struct tm *gmtime(), *localtime();
+#if defined(OEMVS) || defined(__OPEN_VM)
+char *(strchr)(), *(strrchr)();
+char *(strcpy)(), *(strcat)();
+#else
char *strchr(), *strrchr();
char *strcpy(), *strcat();
+#endif
#endif /* ! STANDARD_C */
#ifdef VMS
@@ -374,27 +377,27 @@ EXT STR *Str;
#define GROWSTR(pp,lp,len) if (*(lp) < (len)) growstr(pp,lp,len)
/* Prototypes for things in a2p.c */
-int aryrefarg _(( int arg ));
-int bl _(( int arg, int maybe ));
-void dump _(( int branch ));
-int fixfargs _(( int name, int arg, int prevargs ));
-int fixrargs _(( char *name, int arg, int prevargs ));
-void fixup _(( STR *str ));
-int numary _(( int arg ));
-int oper0 _(( int type ));
-int oper1 _(( int type, int arg1 ));
-int oper2 _(( int type, int arg1, int arg2 ));
-int oper3 _(( int type, int arg1, int arg2, int arg3 ));
-int oper4 _(( int type, int arg1, int arg2, int arg3, int arg4 ));
-int oper5 _(( int type, int arg1, int arg2, int arg3, int arg4, int arg5 ));
-void putlines _(( STR *str ));
-void putone _(( void ));
-int rememberargs _(( int arg ));
-char * scannum _(( char *s ));
-char * scanpat _(( char *s ));
-int string _(( char *ptr, int len ));
-void yyerror _(( char *s ));
-int yylex _(( void ));
+int aryrefarg ( int arg );
+int bl ( int arg, int maybe );
+void dump ( int branch );
+int fixfargs ( int name, int arg, int prevargs );
+int fixrargs ( char *name, int arg, int prevargs );
+void fixup ( STR *str );
+int numary ( int arg );
+int oper0 ( int type );
+int oper1 ( int type, int arg1 );
+int oper2 ( int type, int arg1, int arg2 );
+int oper3 ( int type, int arg1, int arg2, int arg3 );
+int oper4 ( int type, int arg1, int arg2, int arg3, int arg4 );
+int oper5 ( int type, int arg1, int arg2, int arg3, int arg4, int arg5 );
+void putlines ( STR *str );
+void putone ( void );
+int rememberargs ( int arg );
+char * scannum ( char *s );
+char * scanpat ( char *s );
+int string ( char *ptr, int len );
+void yyerror ( char *s );
+int yylex ( void );
EXT int line INIT(0);
diff --git a/contrib/perl5/x2p/a2p.pod b/contrib/perl5/x2p/a2p.pod
index fa726fb..f6395a4 100644
--- a/contrib/perl5/x2p/a2p.pod
+++ b/contrib/perl5/x2p/a2p.pod
@@ -43,10 +43,25 @@ causes a2p to assume that input will always have that many fields.
=item B<-o>
-tells a2p to use old awk behavior. For now, the only difference is
-that old awk always has a line loop, even if there are no line
+tells a2p to use old awk behavior. The only current differences are:
+
+=over 5
+
+=item
+
+Old awk always has a line loop, even if there are no line
actions, whereas new awk does not.
+=item
+
+In old awk, sprintf is extremely greedy about its arguments.
+For example, given the statement
+
+ print sprintf(some_args), extra_args;
+
+old awk considers I<extra_args> to be arguments to C<sprintf>; new awk
+considers them arguments to C<print>.
+
=back
=head2 "Considerations"
diff --git a/contrib/perl5/x2p/a2p.y b/contrib/perl5/x2p/a2p.y
index 2d3f239..da9b628 100644
--- a/contrib/perl5/x2p/a2p.y
+++ b/contrib/perl5/x2p/a2p.y
@@ -21,7 +21,7 @@ int ends = Nullop;
%token REGEX
%token SEMINEW NEWLINE COMMENT
%token FUN1 FUNN GRGR
-%token PRINT PRINTF SPRINTF SPLIT
+%token PRINT PRINTF SPRINTF_OLD SPRINTF_NEW SPLIT
%token IF ELSE WHILE FOR IN
%token EXIT NEXT BREAK CONTINUE RET
%token GETLINE DO SUB GSUB MATCH
@@ -144,6 +144,9 @@ expr : term
}
;
+sprintf : SPRINTF_NEW
+ | SPRINTF_OLD ;
+
term : variable
{ $$ = $1; }
| NUMBER
@@ -204,7 +207,9 @@ term : variable
{ $$ = oper1($1,$3); }
| USERFUN '(' expr_list ')'
{ $$ = oper2(OUSERFUN,$1,$3); }
- | SPRINTF expr_list
+ | SPRINTF_NEW '(' expr_list ')'
+ { $$ = oper1(OSPRINTF,$3); }
+ | sprintf expr_list
{ $$ = oper1(OSPRINTF,$2); }
| SUBSTR '(' expr ',' expr ',' expr ')'
{ $$ = oper3(OSUBSTR,$3,$5,$7); }
@@ -394,6 +399,6 @@ compound
%%
-int yyparse _((void));
+int yyparse (void);
#include "a2py.c"
diff --git a/contrib/perl5/x2p/a2py.c b/contrib/perl5/x2p/a2py.c
index 8a6155f..3976c86 100644
--- a/contrib/perl5/x2p/a2py.c
+++ b/contrib/perl5/x2p/a2py.c
@@ -35,7 +35,7 @@ static void usage(void);
static void
usage()
{
- printf("\nThis is the AWK to PERL translator, version 5.0, patchlevel %d\n", PATCHLEVEL);
+ printf("\nThis is the AWK to PERL translator, revision %d.0, version %d\n", PERL_REVISION, PERL_VERSION);
printf("\nUsage: %s [-D<number>] [-F<char>] [-n<fieldlist>] [-<number>] filename\n", myname);
printf("\n -D<number> sets debugging flags."
"\n -F<character> the awk script to translate is always invoked with"
@@ -705,8 +705,15 @@ yylex(void)
}
if (strEQ(d,"sub"))
XTERM(SUB);
- if (strEQ(d,"sprintf"))
- XTERM(SPRINTF);
+ if (strEQ(d,"sprintf")) {
+ /* In old awk, { print sprintf("str%sg"),"in" } prints
+ * "string"; in new awk, "in" is not considered an argument to
+ * sprintf, so the statement breaks. To support both, the
+ * grammar treats arguments to SPRINTF_OLD like old awk,
+ * SPRINTF_NEW like new. Here we return the appropriate one.
+ */
+ XTERM(old_awk ? SPRINTF_OLD : SPRINTF_NEW);
+ }
if (strEQ(d,"sqrt")) {
yylval = OSQRT;
XTERM(FUN1);
diff --git a/contrib/perl5/x2p/cflags.SH b/contrib/perl5/x2p/cflags.SH
index 62bd11c..b5ef917 100755
--- a/contrib/perl5/x2p/cflags.SH
+++ b/contrib/perl5/x2p/cflags.SH
@@ -1,4 +1,4 @@
-case $CONFIG in
+case $CONFIGDOTSH in
'')
if test -f config.sh; then TOP=.;
elif test -f ../config.sh; then TOP=..;
@@ -57,7 +57,7 @@ case $# in
0) set *.c; echo "The current C flags are:" ;;
esac
-set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g'`
+set `echo "$* " | sed -e 's/\.[oc] / /g' -e 's/\.obj / /g' -e "s/\\$obj_ext / /g"`
for file do
diff --git a/contrib/perl5/x2p/find2perl.PL b/contrib/perl5/x2p/find2perl.PL
index f82b660..25d0135 100644
--- a/contrib/perl5/x2p/find2perl.PL
+++ b/contrib/perl5/x2p/find2perl.PL
@@ -29,539 +29,602 @@ print OUT <<"!GROK!THIS!";
$Config{startperl}
eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}'
if \$running_under_some_shell;
-\$startperl = "$Config{startperl}";
-\$perlpath = "$Config{perlpath}";
+my \$perlpath = "$Config{perlpath}";
!GROK!THIS!
# In the following, perl variables are not expanded during extraction.
print OUT <<'!NO!SUBS!';
+use strict;
+use vars qw/$statdone/;
+my $startperl = "#! $perlpath -w";
-#
+#
# Modified September 26, 1993 to provide proper handling of years after 1999
# Tom Link <tml+@pitt.edu>
# University of Pittsburgh
-#
+#
# Modified April 7, 1998 with nasty hacks to implement the troublesome -follow
# Billy Constantine <wdconsta@cs.adelaide.edu.au> <billy@smug.adelaide.edu.au>
# University of Adelaide, Adelaide, South Australia
-#
+#
+# Modified 1999-06-10, 1999-07-07 to migrate to cleaner perl5 usage
+# Ken Pizzini <ken@halcyon.com>
+#
+# Modified 2000-01-28 to use the 'follow' option of File::Find
+my @roots = ();
while ($ARGV[0] =~ /^[^-!(]/) {
push(@roots, shift);
}
@roots = ('.') unless @roots;
-for (@roots) { $_ = &quote($_); }
-$roots = join(',', @roots);
-
-$indent = 1;
-$stat = 'lstat';
-$decl = '';
+for (@roots) { $_ = &quote($_) }
+my $roots = join(', ', @roots);
+
+my $find = "find";
+my $indent_depth = 1;
+my $stat = 'lstat';
+my $decl = '';
+my $flushall = '';
+my $initfile = '';
+my $initnewer = '';
+my $out = '';
+my %init = ();
+my ($follow_in_effect,$Skip_And) = (0,0);
while (@ARGV) {
$_ = shift;
s/^-// || /^[()!]/ || die "Unrecognized switch: $_\n";
if ($_ eq '(') {
- $out .= &tab . "(\n";
- $indent++;
- next;
- }
- elsif ($_ eq ')') {
- $indent--;
- $out .= &tab . ")";
- }
- elsif ($_ eq 'follow') {
- $stat = 'stat';
- $decl = '%already_seen = ();';
- $out .= &tab . '(not $already_seen{"$dev,$ino"}) &&';
- $out .= "\n" . &tab . '(($already_seen{"$dev,$ino"} = !(-d _)) || 1)';
- }
- elsif ($_ eq '!') {
- $out .= &tab . "!";
- next;
- }
- elsif ($_ eq 'name') {
- $out .= &tab;
- $pat = &fileglob_to_re(shift);
- $out .= '/' . $pat . "/";
- }
- elsif ($_ eq 'perm') {
- $onum = shift;
- die "Malformed -perm argument: $onum\n" unless $onum =~ /^-?[0-7]+$/;
- if ($onum =~ s/^-//) {
- $onum = '0' . sprintf("%o", oct($onum) & 017777); # s/b 07777 ?
- $out .= &tab . "((\$mode & $onum) == $onum)";
- }
- else {
- $onum = '0' . $onum unless $onum =~ /^0/;
- $out .= &tab . "((\$mode & 0777) == $onum)";
- }
- }
- elsif ($_ eq 'type') {
- ($filetest = shift) =~ tr/s/S/;
- $out .= &tab . "-$filetest _";
- }
- elsif ($_ eq 'print') {
- $out .= &tab . 'print("$name\n")';
- }
- elsif ($_ eq 'print0') {
- $out .= &tab . 'print("$name\0")';
- }
- elsif ($_ eq 'fstype') {
- $out .= &tab;
- $type = shift;
- if ($type eq 'nfs')
- { $out .= '($dev < 0)'; }
- else
- { $out .= '($dev >= 0)'; }
- }
- elsif ($_ eq 'user') {
- $uname = shift;
- $out .= &tab . "(\$uid == \$uid{'$uname'})";
- $inituser++;
- }
- elsif ($_ eq 'group') {
- $gname = shift;
- $out .= &tab . "(\$gid == \$gid{'$gname'})";
- $initgroup++;
- }
- elsif ($_ eq 'nouser') {
- $out .= &tab . '!defined $uid{$uid}';
- $inituser++;
- }
- elsif ($_ eq 'nogroup') {
- $out .= &tab . '!defined $gid{$gid}';
- $initgroup++;
- }
- elsif ($_ eq 'links') {
- $out .= &tab . '($nlink ' . &n(shift);
- }
- elsif ($_ eq 'inum') {
- $out .= &tab . '($ino ' . &n(shift);
- }
- elsif ($_ eq 'size') {
- $out .= &tab . '(int(((-s _) + 511) / 512) ' . &n(shift);
- }
- elsif ($_ eq 'atime') {
- $out .= &tab . '(int(-A _) ' . &n(shift);
- }
- elsif ($_ eq 'mtime') {
- $out .= &tab . '(int(-M _) ' . &n(shift);
- }
- elsif ($_ eq 'ctime') {
- $out .= &tab . '(int(-C _) ' . &n(shift);
- }
- elsif ($_ eq 'exec') {
- for (@cmd = (); @ARGV && $ARGV[0] ne ';'; push(@cmd,shift)) { }
- shift;
- $_ = "@cmd";
- if (m#^(/bin/)?rm -f {}$#) {
- if (!@ARGV) {
- $out .= &tab . 'unlink($_)';
- }
- else {
- $out .= &tab . '(unlink($_) || 1)';
- }
- }
- elsif (m#^(/bin/)?rm {}$#) {
- $out .= &tab . '(unlink($_) || warn "$name: $!\n")';
- }
- else {
- for (@cmd) { s/'/\\'/g; }
- $" = "','";
- $out .= &tab . "&exec(0, '@cmd')";
- $" = ' ';
- $initexec++;
- }
- }
- elsif ($_ eq 'ok') {
- for (@cmd = (); @ARGV && $ARGV[0] ne ';'; push(@cmd,shift)) { }
- shift;
- for (@cmd) { s/'/\\'/g; }
- $" = "','";
- $out .= &tab . "&exec(1, '@cmd')";
- $" = ' ';
- $initexec++;
- }
- elsif ($_ eq 'prune') {
- $out .= &tab . '($prune = 1)';
- }
- elsif ($_ eq 'xdev') {
- $out .= &tab . '!($prune |= ($dev != $topdev))';
- }
- elsif ($_ eq 'newer') {
- $out .= &tab;
- $file = shift;
- $newername = 'AGE_OF' . $file;
- $newername =~ s/[^\w]/_/g;
- $newername = "\$$newername";
- $out .= "(-M _ < $newername)";
- $initnewer .= "$newername = -M " . &quote($file) . ";\n";
- }
- elsif ($_ eq 'eval') {
- $prog = &quote(shift);
- $out .= &tab . "eval $prog";
- }
- elsif ($_ eq 'depth') {
- $depth++;
- next;
- }
- elsif ($_ eq 'ls') {
- $out .= &tab . "&ls";
- $initls++;
- }
- elsif ($_ eq 'tar') {
- $out .= &tab;
- die "-tar must have a filename argument\n" unless @ARGV;
- $file = shift;
- $fh = 'FH' . $file;
- $fh =~ s/[^\w]/_/g;
- $out .= "&tar($fh)";
- $file = '>' . $file;
- $initfile .= "open($fh, " . &quote($file) .
- qq{) || die "Can't open $fh: \$!\\n";\n};
- $inittar++;
- $flushall = "\n&tflushall;\n";
- }
- elsif (/^n?cpio$/) {
- $depth++;
- $out .= &tab;
- die "-$_ must have a filename argument\n" unless @ARGV;
- $file = shift;
- $fh = 'FH' . $file;
- $fh =~ s/[^\w]/_/g;
- $out .= "&cpio('" . substr($_,0,1) . "', $fh)";
- $file = '>' . $file;
- $initfile .= "open($fh, " . &quote($file) .
- qq{) || die "Can't open $fh: \$!\\n";\n};
- $initcpio++;
- $flushall = "\n&flushall;\n";
- }
- else {
- die "Unrecognized switch: -$_\n";
+ $out .= &tab . "(\n";
+ $indent_depth++;
+ next;
+ } elsif ($_ eq ')') {
+ --$indent_depth;
+ $out .= &tab . ")";
+ } elsif ($_ eq 'follow') {
+ $follow_in_effect= 1;
+ $stat = 'stat';
+ $Skip_And= 1;
+ } elsif ($_ eq '!') {
+ $out .= &tab . "!";
+ next;
+ } elsif ($_ eq 'name') {
+ $out .= &tab . '/' . &fileglob_to_re(shift) . "/s";
+ } elsif ($_ eq 'perm') {
+ my $onum = shift;
+ $onum =~ /^-?[0-7]+$/
+ || die "Malformed -perm argument: $onum\n";
+ $out .= &tab;
+ if ($onum =~ s/^-//) {
+ $onum = sprintf("0%o", oct($onum) & 07777);
+ $out .= "((\$mode & $onum) == $onum)";
+ } else {
+ $onum =~ s/^0*/0/;
+ $out .= "((\$mode & 0777) == $onum)";
+ }
+ } elsif ($_ eq 'type') {
+ (my $filetest = shift) =~ tr/s/S/;
+ $out .= &tab . "-$filetest _";
+ } elsif ($_ eq 'print') {
+ $out .= &tab . 'print("$name\n")';
+ } elsif ($_ eq 'print0') {
+ $out .= &tab . 'print("$name\0")';
+ } elsif ($_ eq 'fstype') {
+ my $type = shift;
+ $out .= &tab;
+ if ($type eq 'nfs') {
+ $out .= '($dev < 0)';
+ } else {
+ $out .= '($dev >= 0)'; #XXX
+ }
+ } elsif ($_ eq 'user') {
+ my $uname = shift;
+ $out .= &tab . "(\$uid == \$uid{'$uname'})";
+ $init{user} = 1;
+ } elsif ($_ eq 'group') {
+ my $gname = shift;
+ $out .= &tab . "(\$gid == \$gid{'$gname'})";
+ $init{group} = 1;
+ } elsif ($_ eq 'nouser') {
+ $out .= &tab . '!exists $uid{$uid}';
+ $init{user} = 1;
+ } elsif ($_ eq 'nogroup') {
+ $out .= &tab . '!exists $gid{$gid}';
+ $init{group} = 1;
+ } elsif ($_ eq 'links') {
+ $out .= &tab . &n('$nlink', shift);
+ } elsif ($_ eq 'inum') {
+ $out .= &tab . &n('$ino', shift);
+ } elsif ($_ eq 'size') {
+ $_ = shift;
+ my $n = 'int(((-s _) + 511) / 512)';
+ if (s/c\z//) {
+ $n = 'int(-s _)';
+ } elsif (s/k\z//) {
+ $n = 'int(((-s _) + 1023) / 1024)';
+ }
+ $out .= &tab . &n($n, $_);
+ } elsif ($_ eq 'atime') {
+ $out .= &tab . &n('int(-A _)', shift);
+ } elsif ($_ eq 'mtime') {
+ $out .= &tab . &n('int(-M _)', shift);
+ } elsif ($_ eq 'ctime') {
+ $out .= &tab . &n('int(-C _)', shift);
+ } elsif ($_ eq 'exec') {
+ my @cmd = ();
+ while (@ARGV && $ARGV[0] ne ';')
+ { push(@cmd, shift) }
+ shift;
+ $out .= &tab;
+ if ($cmd[0] =~m#^(?:(?:/usr)?/bin/)?rm$#
+ && $cmd[$#cmd] eq '{}'
+ && (@cmd == 2 || (@cmd == 3 && $cmd[1] eq '-f'))) {
+ if (@cmd == 2) {
+ $out .= '(unlink($_) || warn "$name: $!\n")';
+ } elsif (!@ARGV) {
+ $out .= 'unlink($_)';
+ } else {
+ $out .= '(unlink($_) || 1)';
+ }
+ } else {
+ for (@cmd)
+ { s/'/\\'/g }
+ { local $" = "','"; $out .= "&doexec(0, '@cmd')"; }
+ $init{doexec} = 1;
+ }
+ } elsif ($_ eq 'ok') {
+ my @cmd = ();
+ while (@ARGV && $ARGV[0] ne ';')
+ { push(@cmd, shift) }
+ shift;
+ $out .= &tab;
+ for (@cmd)
+ { s/'/\\'/g }
+ { local $" = "','"; $out .= "&doexec(0, '@cmd')"; }
+ $init{doexec} = 1;
+ } elsif ($_ eq 'prune') {
+ $out .= &tab . '($File::Find::prune = 1)';
+ } elsif ($_ eq 'xdev') {
+ $out .= &tab . '!($File::Find::prune |= ($dev != $File::Find::topdev))'
+;
+ } elsif ($_ eq 'newer') {
+ my $file = shift;
+ my $newername = 'AGE_OF' . $file;
+ $newername =~ s/\W/_/g;
+ $newername = '$' . $newername;
+ $out .= &tab . "(-M _ < $newername)";
+ $initnewer .= "my $newername = -M " . &quote($file) . ";\n";
+ } elsif ($_ eq 'eval') {
+ my $prog = shift;
+ $prog =~ s/'/\\'/g;
+ $out .= &tab . "eval {$prog}";
+ } elsif ($_ eq 'depth') {
+ $find = 'finddepth';
+ next;
+ } elsif ($_ eq 'ls') {
+ $out .= &tab . "&ls";
+ $init{ls} = 1;
+ } elsif ($_ eq 'tar') {
+ die "-tar must have a filename argument\n" unless @ARGV;
+ my $file = shift;
+ my $fh = 'FH' . $file;
+ $fh =~ s/\W/_/g;
+ $out .= &tab . "&tar(*$fh, \$name)";
+ $flushall .= "&tflushall;\n";
+ $initfile .= "open($fh, " . &quote('> ' . $file) .
+ qq{) || die "Can't open $fh: \$!\\n";\n};
+ $init{tar} = 1;
+ } elsif (/^(n?)cpio\z/) {
+ die "-$_ must have a filename argument\n" unless @ARGV;
+ my $file = shift;
+ my $fh = 'FH' . $file;
+ $fh =~ s/\W/_/g;
+ $out .= &tab . "&cpio(*$fh, \$name, '$1')";
+ $find = 'finddepth';
+ $flushall .= "&cflushall;\n";
+ $initfile .= "open($fh, " . &quote('> ' . $file) .
+ qq{) || die "Can't open $fh: \$!\\n";\n};
+ $init{cpio} = 1;
+ } else {
+ die "Unrecognized switch: -$_\n";
}
+
if (@ARGV) {
- if ($ARGV[0] eq '-o') {
- { local($statdone) = 1; $out .= "\n" . &tab . "||\n"; }
- $statdone = 0 if $indent == 1 && $delayedstat;
- $saw_or++;
- shift;
- }
- else {
- $out .= " &&" unless $ARGV[0] eq ')';
- $out .= "\n";
- shift if $ARGV[0] eq '-a';
- }
+ if ($ARGV[0] eq '-o') {
+ { local($statdone) = 1; $out .= "\n" . &tab . "||\n"; }
+ $statdone = 0 if $indent_depth == 1 && exists $init{delayedstat};
+ $init{saw_or} = 1;
+ shift;
+ } else {
+ $out .= " &&" unless $Skip_And || $ARGV[0] eq ')';
+ $out .= "\n";
+ shift if $ARGV[0] eq '-a';
+ }
}
}
+
print <<"END";
$startperl
eval 'exec $perlpath -S \$0 \${1+"\$@"}'
- if \$running_under_some_shell;
+ if 0; #\$running_under_some_shell
+
+use strict;
+use File::Find ();
+
+# Set the variable \$File::Find::dont_use_nlink if you're using AFS,
+# since AFS cheats.
+
+# for the convenience of &wanted calls, including -eval statements:
+use vars qw/*name *dir *prune/;
+*name = *File::Find::name;
+*dir = *File::Find::dir;
+*prune = *File::Find::prune;
END
-if ($initls) {
+
+if (exists $init{ls}) {
print <<'END';
-@rwx = ('---','--x','-w-','-wx','r--','r-x','rw-','rwx');
-@moname = (Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);
+my @rwx = qw(--- --x -w- -wx r-- r-x rw- rwx);
+my @moname = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
END
}
-if ($inituser || $initls) {
- print 'while (($name, $pw, $uid) = getpwent) {', "\n";
- print ' $uid{$name} = $uid{$uid} = $uid;', "\n" if $inituser;
- print ' $user{$uid} = $name unless $user{$uid};', "\n" if $initls;
+if (exists $init{user} || exists $init{ls} || exists $init{tar}) {
+ print "my (%uid, %user);\n";
+ print "while (my (\$name, \$pw, \$uid) = getpwent) {\n";
+ print ' $uid{$name} = $uid{$uid} = $uid;', "\n"
+ if exists $init{user};
+ print ' $user{$uid} = $name unless exists $user{$uid};', "\n"
+ if exists $init{ls} || exists $init{tar};
print "}\n\n";
}
-if ($initgroup || $initls) {
- print 'while (($name, $pw, $gid) = getgrent) {', "\n";
- print ' $gid{$name} = $gid{$gid} = $gid;', "\n" if $initgroup;
- print ' $group{$gid} = $name unless $group{$gid};', "\n" if $initls;
+if (exists $init{group} || exists $init{ls} || exists $init{tar}) {
+ print "my (%gid, %group);\n";
+ print "while (my (\$name, \$pw, \$gid) = getgrent) {\n";
+ print ' $gid{$name} = $gid{$gid} = $gid;', "\n"
+ if exists $init{group};
+ print ' $group{$gid} = $name unless exists $group{$gid};', "\n"
+ if exists $init{ls} || exists $init{tar};
print "}\n\n";
}
-print $initnewer, "\n" if $initnewer;
+print $initnewer, "\n" if $initnewer ne '';
+print $initfile, "\n" if $initfile ne '';
+$flushall .= "exit;\n";
+if (exists $init{declarestat}) {
+ $out = <<'END' . $out;
+ my ($dev,$ino,$mode,$nlink,$uid,$gid);
-print $initfile, "\n" if $initfile;
+END
+}
-$find = $depth ? "finddepth" : "find";
+if ( $follow_in_effect ) {
+$out =~ s/lstat\(\$_\)/lstat(_)/;
print <<"END";
-require "$find.pl";
-
+$decl
# Traverse desired filesystems
+File::Find::$find( {wanted => \\&wanted, follow => 1}, $roots);
+$flushall
+sub wanted {
+$out;
+}
+
+END
+} else {
+print <<"END";
$decl
-&$find($roots);
+# Traverse desired filesystems
+File::Find::$find({wanted => \\&wanted}, $roots);
$flushall
-exit;
+
sub wanted {
$out;
}
END
+}
-if ($initexec) {
+if (exists $init{doexec}) {
print <<'END';
-sub exec {
- local($ok, @cmd) = @_;
- foreach $word (@cmd) {
- $word =~ s#{}#$name#g;
- }
+
+BEGIN {
+ require Cwd;
+ my $cwd = Cwd::cwd();
+}
+
+sub doexec {
+ my $ok = shift;
+ for my $word (@_)
+ { $word =~ s#{}#$name#g }
if ($ok) {
- local($old) = select(STDOUT);
- $| = 1;
- print "@cmd";
- select($old);
- return 0 unless <STDIN> =~ /^y/;
- }
- chdir $cwd; # sigh
- system @cmd;
- chdir $dir;
+ my $old = select(STDOUT);
+ $| = 1;
+ print "@_";
+ select($old);
+ return 0 unless <STDIN> =~ /^y/;
+ }
+ chdir $cwd; #sigh
+ system @_;
+ chdir $File::Find::dir;
return !$?;
}
END
}
-if ($initls) {
- print <<"INTERP", <<'END';
-sub ls {
- (\$dev,\$ino,\$mode,\$nlink,\$uid,\$gid,\$rdev,\$sizemm,
- \$atime,\$mtime,\$ctime,\$blksize,\$blocks) = $stat\(_\);
-INTERP
-
- $pname = $name;
+if (exists $init{ls}) {
+ print <<'INTRO', <<"SUB", <<'END';
- if (defined $blocks) {
- $blocks = int(($blocks + 1) / 2);
- }
- else {
- $blocks = int(($size + 1023) / 1024);
- }
+sub sizemm {
+ my $rdev = shift;
+ sprintf("%3d, %3d", ($rdev >> 8) & 0xff, $rdev & 0xff);
+}
- if (-f _) { $perms = '-'; }
- elsif (-d _) { $perms = 'd'; }
- elsif (-c _) { $perms = 'c'; $sizemm = &sizemm; }
- elsif (-b _) { $perms = 'b'; $sizemm = &sizemm; }
- elsif (-p _) { $perms = 'p'; }
- elsif (-S _) { $perms = 's'; }
- else { $perms = 'l'; $pname .= ' -> ' . readlink($_); }
-
- $tmpmode = $mode;
- $tmp = $rwx[$tmpmode & 7];
- $tmpmode >>= 3;
- $tmp = $rwx[$tmpmode & 7] . $tmp;
- $tmpmode >>= 3;
- $tmp = $rwx[$tmpmode & 7] . $tmp;
- substr($tmp,2,1) =~ tr/-x/Ss/ if -u _;
- substr($tmp,5,1) =~ tr/-x/Ss/ if -g _;
- substr($tmp,8,1) =~ tr/-x/Tt/ if -k _;
- $perms .= $tmp;
-
- $user = $user{$uid} || $uid;
- $group = $group{$gid} || $gid;
-
- ($sec,$min,$hour,$mday,$mon,$year) = localtime($mtime);
- $moname = $moname[$mon];
+sub ls {
+ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+INTRO
+ \$atime,\$mtime,\$ctime,\$blksize,\$blocks) = $stat(_);
+SUB
+ my $pname = $name;
+
+ $blocks
+ or $blocks = int(($size + 1023) / 1024);
+
+ my $perms = $rwx[$mode & 7];
+ $mode >>= 3;
+ $perms = $rwx[$mode & 7] . $perms;
+ $mode >>= 3;
+ $perms = $rwx[$mode & 7] . $perms;
+ substr($perms, 2, 1) =~ tr/-x/Ss/ if -u _;
+ substr($perms, 5, 1) =~ tr/-x/Ss/ if -g _;
+ substr($perms, 8, 1) =~ tr/-x/Tt/ if -k _;
+ if (-f _) { $perms = '-' . $perms; }
+ elsif (-d _) { $perms = 'd' . $perms; }
+ elsif (-l _) { $perms = 'l' . $perms; $pname .= ' -> ' . readlink($_); }
+ elsif (-c _) { $perms = 'c' . $perms; $size = sizemm($rdev); }
+ elsif (-b _) { $perms = 'b' . $perms; $size = sizemm($rdev); }
+ elsif (-p _) { $perms = 'p' . $perms; }
+ elsif (-S _) { $perms = 's' . $perms; }
+ else { $perms = '?' . $perms; }
+
+ my $user = $user{$uid} || $uid;
+ my $group = $group{$gid} || $gid;
+
+ my ($sec,$min,$hour,$mday,$mon,$timeyear) = localtime($mtime);
if (-M _ > 365.25 / 2) {
- $timeyear = $year + 1900;
- }
- else {
- $timeyear = sprintf("%02d:%02d", $hour, $min);
- }
-
- printf "%5lu %4ld %-10s %2d %-8s %-8s %8s %s %2d %5s %s\n",
- $ino,
- $blocks,
- $perms,
- $nlink,
- $user,
- $group,
- $sizemm,
- $moname,
- $mday,
- $timeyear,
- $pname;
+ $timeyear += 1900;
+ } else {
+ $timeyear = sprintf("%02d:%02d", $hour, $min);
+ }
+
+ printf "%5lu %4ld %-10s %3d %-8s %-8s %8s %s %2d %5s %s\n",
+ $ino,
+ $blocks,
+ $perms,
+ $nlink,
+ $user,
+ $group,
+ $size,
+ $moname[$mon],
+ $mday,
+ $timeyear,
+ $pname;
1;
}
-sub sizemm {
- sprintf("%3d, %3d", ($rdev >> 8) & 255, $rdev & 255);
+END
+}
+
+
+if (exists $init{cpio} || exists $init{tar}) {
+print <<'END';
+
+my %blocks = ();
+
+sub flush {
+ my ($fh, $varref, $blksz) = @_;
+
+ while (length($$varref) >= $blksz) {
+ no strict qw/refs/;
+ syswrite($fh, $$varref, $blksz);
+ substr($$varref, 0, $blksz) = '';
+ ++$blocks{$fh};
+ }
}
END
}
-if ($initcpio) {
-print <<'START', <<"INTERP", <<'END';
-sub cpio {
- local($nc,$fh) = @_;
- local($text);
- if ($name eq 'TRAILER!!!') {
- $text = '';
- $size = 0;
- }
- else {
-START
- (\$dev,\$ino,\$mode,\$nlink,\$uid,\$gid,\$rdev,\$size,
- \$atime,\$mtime,\$ctime,\$blksize,\$blocks) = $stat\(_\);
-INTERP
- if (-f _) {
- open(IN, "./$_\0") || do {
- warn "Couldn't open $name: $!\n";
- return;
- };
- }
- else {
- $text = readlink($_);
- $size = 0 unless defined $text;
- }
- }
+if (exists $init{cpio}) {
+ print <<'INTRO', <<"SUB", <<'END';
+
+my %cpout = ();
+my %nc = ();
- ($nm = $name) =~ s#^\./##;
+sub cpio {
+ my ($fh, $fname, $nc) = @_;
+ my $text = '';
+ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks);
+ local (*IN);
+
+ if ( ! defined $fname ) {
+ $fname = 'TRAILER!!!';
+ ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks) = (0) x 13;
+ } else {
+ ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+INTRO
+ \$atime,\$mtime,\$ctime,\$blksize,\$blocks) = $stat(_);
+SUB
+ if (-f _) {
+ open(IN, "./$_\0") || do {
+ warn "Couldn't open $fname: $!\n";
+ return;
+ }
+ } else {
+ $text = readlink($_);
+ $size = 0 unless defined $text;
+ }
+ }
+
+ $fname =~ s#^\./##;
$nc{$fh} = $nc;
if ($nc eq 'n') {
- $cpout{$fh} .=
- sprintf("%06o%06o%06o%06o%06o%06o%06o%06o%011lo%06o%011lo%s\0",
- 070707,
- $dev & 0777777,
- $ino & 0777777,
- $mode & 0777777,
- $uid & 0777777,
- $gid & 0777777,
- $nlink & 0777777,
- $rdev & 0177777,
- $mtime,
- length($nm)+1,
- $size,
- $nm);
+ $cpout{$fh} .=
+ sprintf("%06o%06o%06o%06o%06o%06o%06o%06o%011lo%06o%011lo%s\0",
+ 070707,
+ $dev & 0777777,
+ $ino & 0777777,
+ $mode & 0777777,
+ $uid & 0777777,
+ $gid & 0777777,
+ $nlink & 0777777,
+ $rdev & 0177777,
+ $mtime,
+ length($fname)+1,
+ $size,
+ $fname);
+ } else {
+ $cpout{$fh} .= "\0" if length($cpout{$fh}) & 1;
+ $cpout{$fh} .= pack("SSSSSSSSLSLa*",
+ 070707, $dev, $ino, $mode, $uid, $gid, $nlink, $rdev, $mtime,
+ length($fname)+1, $size,
+ $fname . (length($fname) & 1 ? "\0" : "\0\0"));
}
- else {
- $cpout{$fh} .= "\0" if length($cpout{$fh}) & 1;
- $cpout{$fh} .= pack("SSSSSSSSLSLa*",
- 070707, $dev, $ino, $mode, $uid, $gid, $nlink, $rdev, $mtime,
- length($nm)+1, $size, $nm . (length($nm) & 1 ? "\0" : "\0\0"));
- }
- if ($text ne '') {
- $cpout{$fh} .= $text;
- }
- elsif ($size) {
- &flush($fh) while ($l = length($cpout{$fh})) >= 5120;
- while (sysread(IN, $cpout{$fh}, 5120 - $l, $l)) {
- &flush($fh);
- $l = length($cpout{$fh});
- }
- }
- close IN;
-}
-sub flush {
- local($fh) = @_;
-
- while (length($cpout{$fh}) >= 5120) {
- syswrite($fh,$cpout{$fh},5120);
- ++$blocks{$fh};
- substr($cpout{$fh}, 0, 5120) = '';
+ if ($text ne '') {
+ $cpout{$fh} .= $text;
+ } elsif ($size) {
+ my $l;
+ flush($fh, \$cpout{$fh}, 5120)
+ while ($l = length($cpout{$fh})) >= 5120;
+ while (sysread(IN, $cpout{$fh}, 5120 - $l, $l)) {
+ flush($fh, \$cpout{$fh}, 5120);
+ $l = length($cpout{$fh});
+ }
+ close IN;
}
}
-sub flushall {
- $name = 'TRAILER!!!';
- foreach $fh (keys %cpout) {
- &cpio($nc{$fh},$fh);
- $cpout{$fh} .= "0" x (5120 - length($cpout{$fh}));
- &flush($fh);
- print $blocks{$fh} * 10, " blocks\n";
+sub cflushall {
+ for my $fh (keys %cpout) {
+ &cpio($fh, undef, $nc{$fh});
+ $cpout{$fh} .= "0" x (5120 - length($cpout{$fh}));
+ flush($fh, \$cpout{$fh}, 5120);
+ print $blocks{$fh} * 10, " blocks\n";
}
}
END
}
-if ($inittar) {
-print <<'START', <<"INTERP", <<'END';
+if (exists $init{tar}) {
+ print <<'INTRO', <<"SUB", <<'END';
+
+my %tarout = ();
+my %linkseen = ();
+
sub tar {
- local($fh) = @_;
- local($linkname,$header,$l,$slop);
- local($linkflag) = "\0";
-
-START
- (\$dev,\$ino,\$mode,\$nlink,\$uid,\$gid,\$rdev,\$size,
- \$atime,\$mtime,\$ctime,\$blksize,\$blocks) = $stat\(_\);
-INTERP
- $nm = $name;
- if ($nlink > 1) {
- if ($linkname = $linkseen{$fh,$dev,$ino}) {
- $linkflag = 1;
- }
- else {
- $linkseen{$fh,$dev,$ino} = $nm;
- }
- }
- if (-f _) {
- open(IN, "./$_\0") || do {
- warn "Couldn't open $name: $!\n";
- return;
- };
- $size = 0 if $linkflag ne "\0";
- }
- else {
- $linkname = readlink($_);
- $linkflag = 2 if defined $linkname;
- $nm .= '/' if -d _;
- $size = 0;
- }
+ my ($fh, $fname) = @_;
+ my $prefix = '';
+ my $typeflag = '0';
+ my $linkname;
+ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+INTRO
+ \$atime,\$mtime,\$ctime,\$blksize,\$blocks) = $stat(_);
+SUB
+ local (*IN);
- $header = pack("a100a8a8a8a12a12a8a1a100",
- $nm,
- sprintf("%6o ", $mode & 0777),
- sprintf("%6o ", $uid & 0777777),
- sprintf("%6o ", $gid & 0777777),
- sprintf("%11o ", $size),
- sprintf("%11o ", $mtime),
- " ",
- $linkflag,
- $linkname);
- $l = length($header) % 512;
- substr($header, 148, 6) = sprintf("%6o", unpack("%16C*", $header));
- substr($header, 154, 1) = "\0"; # blech
+ if ($nlink > 1) {
+ if ($linkname = $linkseen{$fh, $dev, $ino}) {
+ if (length($linkname) > 100) {
+ warn "$0: omitting file with linkname ",
+ "too long for tar output: $linkname\n";
+ return;
+ }
+ $typeflag = '1';
+ $size = 0;
+ } else {
+ $linkseen{$fh, $dev, $ino} = $fname;
+ }
+ }
+ if ($typeflag eq '0') {
+ if (-f _) {
+ open(IN, "./$_\0") || do {
+ warn "Couldn't open $fname: $!\n";
+ return;
+ }
+ } else {
+ $linkname = readlink($_);
+ if (defined $linkname) { $typeflag = '2' }
+ elsif (-c _) { $typeflag = '3' }
+ elsif (-b _) { $typeflag = '4' }
+ elsif (-d _) { $typeflag = '5' }
+ elsif (-p _) { $typeflag = '6' }
+ }
+ }
+
+ if (length($fname) > 100) {
+ ($prefix, $fname) = ($fname =~ m#\A(.*?)/(.{,100})\Z(?!\n)#);
+ if (!defined($fname) || length($prefix) > 155) {
+ warn "$0: omitting file with name too long for tar output: ",
+ $fname, "\n";
+ return;
+ }
+ }
+
+ $size = 0 if $typeflag ne '0';
+ my $header = pack("a100a8a8a8a12a12a8a1a100a6a2a32a32a8a8a155",
+ $fname,
+ sprintf("%7o ", $mode & 0777),
+ sprintf("%7o ", $uid & 0777777),
+ sprintf("%7o ", $gid & 0777777),
+ sprintf("%11o ", $size),
+ sprintf("%11o ", $mtime),
+ ' 'x8,
+ $typeflag,
+ defined $linkname ? $linkname : '',
+ "ustar\0",
+ "00",
+ $user{$uid},
+ $group{$gid},
+ ($rdev >> 8) & 0xff,
+ $rdev & 0xff,
+ $prefix,
+ );
+ substr($header, 148, 8) = sprintf("%7o ", unpack("%16C*", $header));
+ my $l = length($header) % 512;
$tarout{$fh} .= $header;
$tarout{$fh} .= "\0" x (512 - $l) if $l;
- if ($size) {
- &tflush($fh) while ($l = length($tarout{$fh})) >= 10240;
- while (sysread(IN, $tarout{$fh}, 10240 - $l, $l)) {
- $slop = length($tarout{$fh}) % 512;
- $tarout{$fh} .= "\0" x (512 - $slop) if $slop;
- &tflush($fh);
- $l = length($tarout{$fh});
- }
- }
- close IN;
-}
-
-sub tflush {
- local($fh) = @_;
- while (length($tarout{$fh}) >= 10240) {
- syswrite($fh,$tarout{$fh},10240);
- ++$blocks{$fh};
- substr($tarout{$fh}, 0, 10240) = '';
+ if ($size) {
+ flush($fh, \$tarout{$fh}, 10240)
+ while ($l = length($tarout{$fh})) >= 10240;
+ while (sysread(IN, $tarout{$fh}, 10240 - $l, $l)) {
+ my $slop = length($tarout{$fh}) % 512;
+ $tarout{$fh} .= "\0" x (512 - $slop) if $slop;
+ flush($fh, \$tarout{$fh}, 10240);
+ $l = length($tarout{$fh});
+ }
+ close IN;
}
}
sub tflushall {
- local($len);
-
- foreach $fh (keys %tarout) {
- $len = 10240 - length($tarout{$fh});
- $len += 10240 if $len < 1024;
- $tarout{$fh} .= "\0" x $len;
- &tflush($fh);
+ my $len;
+ for my $fh (keys %tarout) {
+ $len = 10240 - length($tarout{$fh});
+ $len += 10240 if $len < 1024;
+ $tarout{$fh} .= "\0" x $len;
+ flush($fh, \$tarout{$fh}, 10240);
}
}
@@ -573,52 +636,245 @@ exit;
############################################################################
sub tab {
- local($tabstring);
+ my $tabstring;
- $tabstring = "\t" x ($indent / 2) . ' ' x ($indent % 2 * 4);
+ $tabstring = "\t" x ($indent_depth/2) . ' ' x ($indent_depth%2 * 4);
if (!$statdone) {
- if ($_ =~ /^(name|print|prune|exec|ok|\(|\))/) {
- $delayedstat++;
- }
- else {
- if ($saw_or) {
- $tabstring .= <<"ENDOFSTAT" . $tabstring;
-(\$nlink || ((\$dev,\$ino,\$mode,\$nlink,\$uid,\$gid) = $stat\(\$_\))) &&
-ENDOFSTAT
- }
- else {
- $tabstring .= <<"ENDOFSTAT" . $tabstring;
-((\$dev,\$ino,\$mode,\$nlink,\$uid,\$gid) = $stat\(\$_\)) &&
-ENDOFSTAT
- }
- $statdone = 1;
- }
+ if ($_ =~ /^(?:name|print|prune|exec|ok|\(|\))/) {
+ $init{delayedstat} = 1;
+ } else {
+ my $statcall = '(($dev,$ino,$mode,$nlink,$uid,$gid) = '
+ . $stat . '($_))';
+ if (exists $init{saw_or}) {
+ $tabstring .= "(\$nlink || $statcall) &&\n" . $tabstring;
+ } else {
+ $tabstring .= "$statcall &&\n" . $tabstring;
+ }
+ $statdone = 1;
+ $init{declarestat} = 1;
+ }
}
$tabstring =~ s/^\s+/ / if $out =~ /!$/;
$tabstring;
}
sub fileglob_to_re {
- local($tmp) = @_;
-
- $tmp =~ s#([./^\$()])#\\$1#g;
- $tmp =~ s/([?*])/.$1/g;
- "^$tmp\$";
+ my $x = shift;
+ $x =~ s#([./^\$()])#\\$1#g;
+ $x =~ s#([?*])#.$1#g;
+ "^$x\\z";
}
sub n {
- local($n) = @_;
-
+ my ($pre, $n) = @_;
$n =~ s/^-/< / || $n =~ s/^\+/> / || $n =~ s/^/== /;
$n =~ s/ 0*(\d)/ $1/;
- $n . ')';
+ "($pre $n)";
}
sub quote {
- local($string) = @_;
- $string =~ s/'/\\'/;
+ my $string = shift;
+ $string =~ s/'/\\'/g;
"'$string'";
}
+
+__END__
+
+=head1 NAME
+
+find2perl - translate find command lines to Perl code
+
+=head1 SYNOPSIS
+
+ find2perl [paths] [predicates] | perl
+
+=head1 DESCRIPTION
+
+find2perl is a little translator to convert find command lines to
+equivalent Perl code. The resulting code is typically faster than
+running find itself.
+
+"paths" are a set of paths where find2perl will start its searches and
+"predicates" are taken from the following list.
+
+=over 4
+
+=item C<! PREDICATE>
+
+Negate the sense of the following predicate. The C<!> must be passed as
+a distinct argument, so it may need to be surrounded by whitespace and/or
+quoted from interpretation by the shell using a backslash (just as with
+using C<find(1)>).
+
+=item C<( PREDICATES )>
+
+Group the given PREDICATES. The parentheses must be passed as distinct
+arguments, so they may need to be surrounded by whitespace and/or
+quoted from interpretation by the shell using a backslash (just as with
+using C<find(1)>).
+
+=item C<PREDICATE1 PREDICATE2>
+
+True if _both_ PREDICATE1 and PREDICATE2 are true; PREDICATE2 is not
+evaluated if PREDICATE1 is false.
+
+=item C<PREDICATE1 -o PREDICATE2>
+
+True if either one of PREDICATE1 or PREDICATE2 is true; PREDICATE2 is
+not evaluated if PREDICATE1 is true.
+
+=item C<-follow>
+
+Follow (dereference) symlinks. The checking of file attributes depends
+on the position of the C<-follow> option. If it precedes the file
+check option, an C<stat> is done which means the file check applies to the
+file the symbolic link is pointing to. If C<-follow> option follows the
+file check option, this now applies to the symbolic link itself, i.e.
+an C<lstat> is done.
+
+=item C<-depth>
+
+Change directory traversal algorithm from breadth-first to depth-first.
+
+=item C<-prune>
+
+Do not descend into the directory currently matched.
+
+=item C<-xdev>
+
+Do not traverse mount points (prunes search at mount-point directories).
+
+=item C<-name GLOB>
+
+File name matches specified GLOB wildcard pattern. GLOB may need to be
+quoted to avoid interpretation by the shell (just as with using
+C<find(1)>).
+
+=item C<-perm PERM>
+
+Low-order 9 bits of permission match octal value PERM.
+
+=item C<-perm -PERM>
+
+The bits specified in PERM are all set in file's permissions.
+
+=item C<-type X>
+
+The file's type matches perl's C<-X> operator.
+
+=item C<-fstype TYPE>
+
+Filesystem of current path is of type TYPE (only NFS/non-NFS distinction
+is implemented).
+
+=item C<-user USER>
+
+True if USER is owner of file.
+
+=item C<-group GROUP>
+
+True if file's group is GROUP.
+
+=item C<-nouser>
+
+True if file's owner is not in password database.
+
+=item C<-nogroup>
+
+True if file's group is not in group database.
+
+=item C<-inum INUM>
+
+True file's inode number is INUM.
+
+=item C<-links N>
+
+True if (hard) link count of file matches N (see below).
+
+=item C<-size N>
+
+True if file's size matches N (see below) N is normally counted in
+512-byte blocks, but a suffix of "c" specifies that size should be
+counted in characters (bytes) and a suffix of "k" specifes that
+size should be counted in 1024-byte blocks.
+
+=item C<-atime N>
+
+True if last-access time of file matches N (measured in days) (see
+below).
+
+=item C<-ctime N>
+
+True if last-changed time of file's inode matches N (measured in days,
+see below).
+
+=item C<-mtime N>
+
+True if last-modified time of file matches N (measured in days, see below).
+
+=item C<-newer FILE>
+
+True if last-modified time of file matches N.
+
+=item C<-print>
+
+Print out path of file (always true).
+
+=item C<-print0>
+
+Like -print, but terminates with \0 instead of \n.
+
+=item C<-exec OPTIONS ;>
+
+exec() the arguments in OPTIONS in a subprocess; any occurence of {} in
+OPTIONS will first be substituted with the path of the current
+file. Note that the command "rm" has been special-cased to use perl's
+unlink() function instead (as an optimization). The C<;> must be passed as
+a distinct argument, so it may need to be surrounded by whitespace and/or
+quoted from interpretation by the shell using a backslash (just as with
+using C<find(1)>).
+
+=item C<-ok OPTIONS ;>
+
+Like -exec, but first prompts user; if user's response does not begin
+with a y, skip the exec. The C<;> must be passed as
+a distinct argument, so it may need to be surrounded by whitespace and/or
+quoted from interpretation by the shell using a backslash (just as with
+using C<find(1)>).
+
+=item C<-eval EXPR>
+
+Has the perl script eval() the EXPR.
+
+=item C<-ls>
+
+Simulates C<-exec ls -dils {} ;>
+
+=item C<-tar FILE>
+
+Adds current output to tar-format FILE.
+
+=item C<-cpio FILE>
+
+Adds current output to old-style cpio-format FILE.
+
+=item C<-ncpio FILE>
+
+Adds current output to "new"-style cpio-format FILE.
+
+=back
+
+Predicates which take a numeric argument N can come in three forms:
+
+ * N is prefixed with a +: match values greater than N
+ * N is prefixed with a -: match values less than N
+ * N is not prefixed with either + or -: match only values equal to N
+
+=head1 SEE ALSO
+
+find
+
+=cut
!NO!SUBS!
close OUT or die "Can't close $file: $!";
diff --git a/contrib/perl5/x2p/hash.c b/contrib/perl5/x2p/hash.c
index f11f7df..77b9ad8 100644
--- a/contrib/perl5/x2p/hash.c
+++ b/contrib/perl5/x2p/hash.c
@@ -89,9 +89,7 @@ hstore(register HASH *tb, char *key, STR *val)
#ifdef NOTUSED
bool
-hdelete(tb,key)
-register HASH *tb;
-char *key;
+hdelete(register HASH *tb, char *key)
{
register char *s;
register int i;
@@ -178,8 +176,7 @@ hnew(void)
}
#ifdef NOTUSED
-hshow(tb)
-register HASH *tb;
+hshow(register HASH *tb)
{
fprintf(stderr,"%5d %4d (%2d%%)\n",
tb->tbl_max+1,
diff --git a/contrib/perl5/x2p/hash.h b/contrib/perl5/x2p/hash.h
index 9dc64a1..377bfd2 100644
--- a/contrib/perl5/x2p/hash.h
+++ b/contrib/perl5/x2p/hash.h
@@ -41,12 +41,12 @@ struct htbl {
HENT *tbl_eiter; /* current entry of iterator */
};
-bool hdelete _((HASH *tb, char *key));
-STR * hfetch _(( HASH *tb, char *key ));
-int hiterinit _(( HASH *tb ));
-char * hiterkey _(( HENT *entry ));
-HENT * hiternext _(( HASH *tb ));
-STR * hiterval _(( HENT *entry ));
-HASH * hnew _(( void ));
-void hsplit _(( HASH *tb ));
-bool hstore _(( HASH *tb, char *key, STR *val ));
+bool hdelete (HASH *tb, char *key);
+STR * hfetch ( HASH *tb, char *key );
+int hiterinit ( HASH *tb );
+char * hiterkey ( HENT *entry );
+HENT * hiternext ( HASH *tb );
+STR * hiterval ( HENT *entry );
+HASH * hnew ( void );
+void hsplit ( HASH *tb );
+bool hstore ( HASH *tb, char *key, STR *val );
diff --git a/contrib/perl5/x2p/s2p.PL b/contrib/perl5/x2p/s2p.PL
index 463465d..4f7bf8c 100644
--- a/contrib/perl5/x2p/s2p.PL
+++ b/contrib/perl5/x2p/s2p.PL
@@ -51,7 +51,7 @@ B<s2p [options] filename>
=head1 DESCRIPTION
-I<S2p> takes a sed script specified on the command line (or from
+I<s2p> takes a sed script specified on the command line (or from
standard input) and produces a comparable I<perl> script on the
standard output.
@@ -93,7 +93,7 @@ $\ and chop.
=head1 ENVIRONMENT
-S2p uses no environment variables.
+s2p uses no environment variables.
=head1 AUTHOR
@@ -104,7 +104,7 @@ Larry Wall E<lt>F<larry@wall.org>E<gt>
=head1 SEE ALSO
perl The perl compiler/interpreter
-
+
a2p awk to perl translator
=head1 DIAGNOSTICS
@@ -339,11 +339,11 @@ if ($appendseen || $tseen || !$assumen) {
: if ($atext) { chop $atext; print $atext; $atext = ''; }
: #endif
EOT
+}
print BODY &q(<<'EOT');
: }
EOT
-}
unless ($debug) {
@@ -552,6 +552,11 @@ EOT
substr($_,$i-1,1) = '$';
}
}
+ elsif ($c eq '@') {
+ substr($_, $i, 0) = '\\';
+ $i++;
+ $len++;
+ }
elsif ($c eq '&' && $repl) {
substr($_, $i, 0) = '$';
$i++;
@@ -797,6 +802,7 @@ sub fetchpat {
}
}
$addr =~ s/\t/\\t/g;
+ $addr =~ s/\@/\\@/g;
&simplify($addr);
$addr;
}
diff --git a/contrib/perl5/x2p/str.h b/contrib/perl5/x2p/str.h
index 3deaaec..a7eec88 100644
--- a/contrib/perl5/x2p/str.h
+++ b/contrib/perl5/x2p/str.h
@@ -29,25 +29,25 @@ struct string {
EXT STR **tmps_list;
EXT long tmps_max INIT(-1);
-double str_2num _(( STR *str ));
-char * str_2ptr _(( STR *str ));
-char * str_append_till _(( STR *str, char *from, int delim, char *keeplist ));
-void str_cat _(( STR *str, char *ptr ));
-void str_chop _(( STR *str, char *ptr ));
-void str_dec _(( STR *str ));
-void str_free _(( STR *str ));
-char * str_gets _(( STR *str, FILE *fp ));
-void str_grow _(( STR *str, int len ));
-void str_inc _(( STR *str ));
-int str_len _(( STR *str ));
-STR * str_make _(( char *s ));
-STR * str_mortal _(( STR *oldstr ));
-void str_ncat _(( STR *str, char *ptr, int len ));
-STR * str_new _(( int len ));
-STR * str_nmake _(( double n ));
-void str_nset _(( STR *str, char *ptr, int len ));
-void str_numset _(( STR *str, double num ));
-void str_replace _(( STR *str, STR *nstr ));
-void str_scat _(( STR *dstr, STR *sstr ));
-void str_set _(( STR *str, char *ptr ));
-void str_sset _(( STR *dstr, STR *sstr ));
+double str_2num ( STR *str );
+char * str_2ptr ( STR *str );
+char * str_append_till ( STR *str, char *from, int delim, char *keeplist );
+void str_cat ( STR *str, char *ptr );
+void str_chop ( STR *str, char *ptr );
+void str_dec ( STR *str );
+void str_free ( STR *str );
+char * str_gets ( STR *str, FILE *fp );
+void str_grow ( STR *str, int len );
+void str_inc ( STR *str );
+int str_len ( STR *str );
+STR * str_make ( char *s );
+STR * str_mortal ( STR *oldstr );
+void str_ncat ( STR *str, char *ptr, int len );
+STR * str_new ( int len );
+STR * str_nmake ( double n );
+void str_nset ( STR *str, char *ptr, int len );
+void str_numset ( STR *str, double num );
+void str_replace ( STR *str, STR *nstr );
+void str_scat ( STR *dstr, STR *sstr );
+void str_set ( STR *str, char *ptr );
+void str_sset ( STR *dstr, STR *sstr );
diff --git a/contrib/perl5/x2p/util.c b/contrib/perl5/x2p/util.c
index 364dfe9..d43a1eb 100644
--- a/contrib/perl5/x2p/util.c
+++ b/contrib/perl5/x2p/util.c
@@ -203,6 +203,9 @@ fatal(char *pat,...)
exit(1);
}
+#if defined(__APPLE_CC__)
+__private_extern__ /* warn() conflicts with libc */
+#endif
void
warn(char *pat,...)
{
diff --git a/contrib/perl5/x2p/util.h b/contrib/perl5/x2p/util.h
index aa31bea..34138c7 100644
--- a/contrib/perl5/x2p/util.h
+++ b/contrib/perl5/x2p/util.h
@@ -22,18 +22,18 @@
char *getwd();
int makedir();
-char * cpy2 _(( char *to, char *from, int delim ));
-char * cpytill _(( char *to, char *from, int delim ));
-void growstr _(( char **strptr, int *curlen, int newlen ));
-char * instr _(( char *big, char *little ));
-char * safecpy _(( char *to, char *from, int len ));
-char * savestr _(( char *str ));
-void croak _(( char *pat, ... ));
-void fatal _(( char *pat, ... ));
-void warn _(( char *pat, ... ));
-int prewalk _(( int numit, int level, int node, int *numericptr ));
+char * cpy2 ( char *to, char *from, int delim );
+char * cpytill ( char *to, char *from, int delim );
+void growstr ( char **strptr, int *curlen, int newlen );
+char * instr ( char *big, char *little );
+char * safecpy ( char *to, char *from, int len );
+char * savestr ( char *str );
+void croak ( char *pat, ... );
+void fatal ( char *pat, ... );
+void warn ( char *pat, ... );
+int prewalk ( int numit, int level, int node, int *numericptr );
-Malloc_t safemalloc _((MEM_SIZE nbytes));
-Malloc_t safecalloc _((MEM_SIZE elements, MEM_SIZE size));
-Malloc_t saferealloc _((Malloc_t where, MEM_SIZE nbytes));
-Free_t safefree _((Malloc_t where));
+Malloc_t safemalloc (MEM_SIZE nbytes);
+Malloc_t safecalloc (MEM_SIZE elements, MEM_SIZE size);
+Malloc_t saferealloc (Malloc_t where, MEM_SIZE nbytes);
+Free_t safefree (Malloc_t where);
diff --git a/contrib/perl5/x2p/walk.c b/contrib/perl5/x2p/walk.c
index 24b86aa..3344688 100644
--- a/contrib/perl5/x2p/walk.c
+++ b/contrib/perl5/x2p/walk.c
@@ -26,14 +26,14 @@ char *limit;
STR *subs;
STR *curargs = Nullstr;
-static void addsemi _(( STR *str ));
-static void emit_split _(( STR *str, int level ));
-static void fixtab _(( STR *str, int lvl ));
-static void numericize _(( int node ));
-static void tab _(( STR *str, int lvl ));
+static void addsemi ( STR *str );
+static void emit_split ( STR *str, int level );
+static void fixtab ( STR *str, int lvl );
+static void numericize ( int node );
+static void tab ( STR *str, int lvl );
-int prewalk _(( int numit, int level, int node, int *numericptr ));
-STR * walk _(( int useval, int level, int node, int *numericptr, int minprec ));
+int prewalk ( int numit, int level, int node, int *numericptr );
+STR * walk ( int useval, int level, int node, int *numericptr, int minprec );
STR *
@@ -863,7 +863,7 @@ sub Pick {\n\
str_scat(tmp3str,tmp2str);
str_cat(tmp3str,").'\"') =~ s/&/\\$&/g, ");
str_set(tmp2str,"eval $s_");
- s = (*s == 'g' ? "ge" : "e");
+ s = (char*)(*s == 'g' ? "ge" : "e");
i++;
}
type = ops[ops[node+1].ival].ival;
@@ -1219,7 +1219,7 @@ sub Pick {\n\
}
tmpstr = walk(1+(type==OPRINT),level,ops[node+1].ival,&numarg,P_MIN);
if (!*tmpstr->str_ptr && lval_field) {
- t = saw_OFS ? "$," : "' '";
+ t = (char*)(saw_OFS ? "$," : "' '");
if (split_to_array) {
sprintf(tokenbuf,"join(%s,@Fld)",t);
str_cat(tmpstr,tokenbuf);
@@ -1292,10 +1292,10 @@ sub Pick {\n\
if (len > 0)
tmpstr = walk(1,level,ops[node+1].ival,&numarg,P_MIN);
else
- tmpstr = str_new(0);;
+ tmpstr = str_new(0);
if (!tmpstr->str_ptr || !*tmpstr->str_ptr) {
if (lval_field) {
- t = saw_OFS ? "$," : "' '";
+ t = (char*)(saw_OFS ? "$," : "' '");
if (split_to_array) {
sprintf(tokenbuf,"join(%s,@Fld)",t);
str_cat(tmpstr,tokenbuf);
@@ -1417,7 +1417,7 @@ sub Pick {\n\
str_scat(str,fstr=walk(1,level,ops[node+1].ival,&numarg,P_MIN));
str_free(fstr);
if (str->str_ptr[str->str_cur - 1] == '\n')
- --str->str_cur;;
+ --str->str_cur;
str_cat(str," while (");
str_scat(str,fstr=walk(0,level,ops[node+2].ival,&numarg,P_MIN));
str_free(fstr);
OpenPOWER on IntegriCloud