2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
13 pPerl->deprecate("\"do\" to call subroutines");
15 #define dep() Dep(this)
20 deprecate("\"do\" to call subroutines");
27 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
28 12, 12, 12, 24, 24, 24, 24, 24, 24, 15,
29 15, 15, 14, 14, 42, 42, 13, 13, 13, 13,
30 13, 13, 13, 26, 26, 27, 27, 28, 29, 30,
31 31, 32, 44, 44, 1, 1, 1, 1, 3, 38,
32 38, 46, 4, 5, 6, 39, 40, 40, 41, 41,
33 47, 47, 49, 48, 16, 16, 16, 25, 25, 25,
34 36, 36, 36, 36, 36, 36, 36, 50, 36, 37,
35 37, 17, 17, 17, 17, 17, 17, 17, 17, 17,
36 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
37 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
38 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
39 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
40 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
41 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
42 17, 17, 17, 17, 17, 17, 17, 33, 33, 34,
43 34, 34, 2, 2, 43, 23, 18, 19, 20, 21,
47 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
48 1, 2, 3, 1, 1, 3, 3, 3, 3, 0,
49 2, 6, 7, 7, 0, 2, 8, 8, 10, 9,
50 8, 11, 3, 0, 1, 0, 1, 1, 1, 1,
51 1, 1, 0, 1, 1, 1, 1, 1, 4, 1,
52 0, 5, 0, 0, 0, 1, 0, 1, 1, 1,
53 3, 2, 0, 7, 3, 3, 1, 2, 3, 1,
54 3, 5, 6, 3, 5, 2, 4, 0, 5, 1,
55 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
56 3, 3, 3, 5, 3, 2, 2, 2, 2, 2,
57 2, 2, 2, 2, 2, 3, 2, 3, 2, 4,
58 3, 4, 1, 5, 1, 4, 5, 4, 1, 1,
59 1, 5, 6, 5, 6, 5, 4, 5, 1, 1,
60 3, 4, 3, 2, 2, 4, 5, 4, 5, 4,
61 5, 1, 2, 2, 1, 2, 2, 2, 1, 3,
62 1, 3, 4, 4, 6, 1, 1, 0, 1, 0,
63 1, 2, 1, 1, 1, 2, 2, 2, 2, 2,
66 short yydefred[] = { 1,
67 0, 7, 0, 44, 55, 53, 0, 53, 8, 45,
68 9, 11, 0, 46, 47, 48, 0, 0, 0, 62,
69 63, 14, 4, 156, 0, 0, 129, 0, 151, 0,
70 54, 54, 0, 0, 0, 0, 0, 0, 0, 0,
71 0, 0, 0, 0, 0, 0, 0, 163, 164, 0,
72 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
73 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
74 0, 0, 119, 121, 0, 0, 0, 0, 157, 50,
75 0, 56, 0, 61, 0, 7, 172, 175, 174, 173,
76 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
77 4, 4, 0, 0, 0, 0, 0, 146, 0, 0,
78 0, 0, 76, 0, 170, 0, 135, 0, 0, 0,
79 0, 0, 166, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 109, 0, 167, 168, 169, 171, 0,
81 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
82 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83 0, 0, 0, 101, 102, 0, 0, 0, 0, 0,
84 0, 0, 0, 13, 0, 49, 58, 0, 0, 0,
85 74, 0, 0, 78, 0, 0, 0, 0, 0, 0,
86 0, 4, 150, 152, 0, 0, 0, 0, 0, 0,
87 0, 111, 0, 133, 0, 0, 108, 26, 0, 0,
88 19, 0, 0, 0, 65, 0, 0, 0, 0, 0,
89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
90 0, 80, 0, 0, 81, 0, 0, 0, 0, 0,
91 0, 0, 131, 0, 0, 60, 59, 52, 0, 3,
92 0, 154, 0, 0, 112, 0, 41, 0, 42, 0,
93 0, 0, 0, 165, 0, 0, 35, 40, 0, 0,
94 0, 153, 162, 77, 0, 136, 0, 138, 0, 110,
95 0, 0, 0, 0, 0, 140, 0, 0, 0, 118,
96 0, 116, 0, 127, 0, 132, 0, 75, 0, 79,
97 0, 0, 0, 0, 0, 0, 0, 0, 72, 137,
98 139, 126, 0, 124, 0, 0, 141, 117, 0, 122,
99 128, 114, 64, 155, 6, 0, 0, 0, 0, 0,
100 0, 0, 0, 125, 123, 73, 7, 27, 28, 0,
101 0, 23, 24, 0, 31, 0, 0, 0, 21, 0,
102 0, 0, 30, 5, 0, 29, 0, 0, 32, 0,
105 short yydgoto[] = { 1,
106 9, 66, 10, 18, 95, 17, 86, 337, 89, 326,
107 3, 11, 12, 68, 342, 261, 70, 71, 72, 73,
108 74, 75, 76, 267, 78, 268, 257, 259, 262, 270,
109 258, 260, 113, 197, 91, 79, 236, 81, 83, 178,
110 248, 142, 265, 13, 2, 14, 15, 16, 85, 254,
112 short yysindex[] = { 0,
113 0, 0, -120, 0, 0, 0, -50, 0, 0, 0,
114 0, 0, 661, 0, 0, 0, -240, -238, -29, 0,
115 0, 0, 0, 0, -32, -32, 0, -8, 0, 2115,
116 0, 0, -4, 31, 32, 35, -35, 2115, 56, 57,
117 61, 1037, 981, -32, 1100, 1364, -218, 0, 0, -32,
118 2115, 2115, 2115, 2115, 2115, 2115, 1420, 0, 2115, 2115,
119 1476, -32, -32, -32, -32, 2115, -205, 0, 201, 306,
120 -63, -62, 0, 0, -24, 67, 45, 65, 0, 0,
121 -15, 0, -149, 0, -144, 0, 0, 0, 0, 0,
122 2115, 80, 2115, 841, -15, -149, 0, 0, 0, 0,
123 0, 0, 85, 306, 86, 1535, 981, 0, 841, 0,
124 -63, 65, 0, 2115, 0, 88, 0, 841, -28, 4,
125 -51, 2115, 0, 65, 340, 340, 340, -76, -76, 49,
126 -31, 340, 340, 0, -82, 0, 0, 0, 0, 841,
127 -15, 0, 2115, 2115, 2115, 2115, 2115, 2115, 2115, 2115,
128 2115, 2115, 2115, 2115, 2115, 2115, 2115, 2115, 2115, 2115,
129 2115, 2115, 2115, 0, 0, 48, 2115, 2115, 2115, 2115,
130 2115, 2115, 1710, 0, 2115, 0, 0, -43, -116, 241,
131 0, 2115, 1193, 0, -15, 2115, 2115, 2115, 2115, 106,
132 1769, 0, 0, 0, -23, 20, 104, 2115, 65, 1825,
133 1881, 0, 36, 0, 2115, 62, 0, 0, -232, -232,
134 0, -232, -232, -134, 0, -46, 1131, 841, 689, 316,
135 859, 306, 3778, 1980, 3652, 1299, 480, 396, 340, 340,
136 2115, 0, 1944, 2115, 0, 128, -58, 22, -56, 24,
137 33, 28, 0, -19, 306, 0, 0, 0, 2115, 0,
138 134, 0, 2115, 2115, 0, -232, 0, 142, 0, 148,
139 -232, 149, 150, 0, 153, 201, 0, 0, 154, 138,
140 2115, 0, 0, 0, -7, 0, 2, 0, 16, 0,
141 70, 2115, 73, 2115, 30, 0, 18, 101, 2115, 0,
142 75, 0, 78, 0, 81, 0, 151, 0, 1247, 0,
143 90, 90, 90, 90, 2115, 90, 2115, 167, 0, 0,
144 0, 0, 103, 0, 3869, 84, 0, 0, 170, 0,
145 0, 0, 0, 0, 0, -205, -205, -207, -207, 176,
146 -205, 168, 90, 0, 0, 0, 0, 0, 0, 90,
147 192, 0, 0, 90, 0, 1769, -205, 402, 0, 2115,
148 -205, 207, 0, 0, 208, 0, 90, 90, 0, -207,
151 short yyrindex[] = { 0,
152 0, 0, 265, 0, 0, 0, 0, 0, 0, 0,
153 0, 0, 0, 0, 0, 0, 131, 0, 0, 0,
154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 2156, -17, 0,
156 0, 2675, 2720, 0, 0, 0, 0, 0, 0, 0,
157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 79, 0, -3, 108,
159 2774, 2860, 0, 0, 2034, 121, 0, 140, 0, 0,
160 0, 0, -33, 0, 0, 0, 0, 0, 0, 0,
161 2203, 0, 0, 3504, 0, 145, 0, 0, 0, 0,
162 0, 0, 0, 3772, 0, 0, 252, 0, 3551, 541,
163 602, 2270, 0, 0, 0, 442, 0, 3587, 2774, 0,
164 0, 2203, 0, 2324, 3010, 3049, 3096, 2911, 2972, 2439,
165 0, 3147, 3193, 0, 0, 0, 0, 0, 0, 3633,
166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
169 0, 0, 0, 0, 2522, 0, 0, 0, 0, 925,
170 0, 252, 0, 0, 0, 263, 0, 0, 0, 0,
171 223, 0, 0, 0, 0, 282, 0, 0, 2576, 0,
172 0, 0, 0, 0, 0, 2624, 0, 0, -1, 26,
173 0, 27, 51, 718, 0, 0, 3752, 1576, 1632, 3368,
174 3413, 3799, 0, -38, 3710, 3678, 3060, 3459, 3285, 3332,
175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
176 0, 0, 0, 0, 3835, 0, 0, 0, 273, 0,
177 0, 0, 0, 2203, 0, 59, 0, 0, 0, 0,
178 293, 0, 0, 0, 0, 64, 0, 0, 0, 0,
179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
180 0, 0, 0, 0, 0, 0, 0, 0, 252, 0,
181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
182 0, 0, 0, 0, 0, 0, 296, 0, 0, 0,
183 0, 0, 0, 0, 2380, 0, 0, 0, 0, 0,
184 0, 0, 0, 0, 0, 79, 79, 186, 186, 0,
185 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
186 0, 0, 0, 0, 0, 300, 79, 925, 0, 0,
187 79, 0, 0, 0, 0, 0, 0, 0, 0, 186,
190 short yygindex[] = { 0,
191 0, 0, 0, 349, 328, 0, -48, 0, 679, 378,
192 -84, 0, 0, 0, -298, -13, 4075, 2485, 0, 0,
193 0, 0, 0, 363, 908, 0, 0, 233, -168, 38,
194 72, 196, -77, -175, 999, 0, 0, 0, 0, 290,
195 0, -249, 0, 0, 0, 0, 0, 0, 0, 0,
197 #define YYTABLESIZE 4359
198 short yytable[] = { 69,
199 62, 180, 93, 62, 102, 93, 251, 203, 20, 206,
200 207, 201, 283, 181, 167, 246, 80, 272, 82, 93,
201 93, 296, 269, 149, 93, 57, 149, 169, 171, 84,
202 343, 93, 121, 309, 290, 97, 292, 15, 122, 18,
203 149, 149, 310, 131, 204, 149, 149, 135, 186, 187,
204 188, 189, 190, 191, 93, 15, 311, 18, 317, 168,
205 170, 361, 169, 273, 147, 148, 38, 16, 340, 341,
206 98, 99, 141, 149, 100, 149, 338, 339, 25, 23,
207 291, 345, 293, 62, 38, 16, 295, 233, 316, 57,
208 23, 17, 195, 196, 168, 105, 106, 353, 172, 37,
209 107, 356, 308, 174, 39, 149, 173, 23, 175, 17,
210 177, 25, 179, 319, 25, 25, 25, 37, 25, 182,
211 25, 25, 15, 25, 192, 294, 193, 200, 202, 209,
212 210, 212, 213, 214, 215, 216, 330, 25, 234, 205,
213 249, 62, 25, 271, 274, 4, 5, 6, 70, 7,
214 8, 70, 282, 237, 238, 239, 240, 241, 242, 244,
215 280, 130, 312, 148, 130, 70, 70, 289, 196, 25,
216 231, 297, 256, 210, 298, 210, 300, 266, 130, 130,
217 67, 355, 301, 130, 275, 20, 277, 279, 302, 303,
218 304, 281, 305, 318, 306, 334, 307, 314, 67, 320,
219 70, 25, 321, 25, 25, 322, 19, 333, 335, 323,
220 336, 130, 325, 130, 147, 148, 344, 285, 20, 287,
221 288, 20, 20, 20, 87, 20, 346, 20, 20, 88,
222 20, 350, 67, 93, 93, 93, 93, 166, 147, 148,
223 147, 148, 93, 130, 20, 147, 148, 357, 358, 20,
224 147, 148, 348, 51, 149, 149, 149, 149, 93, 93,
225 101, 93, 93, 149, 2, 147, 148, 57, 313, 149,
226 149, 149, 149, 147, 148, 196, 20, 147, 148, 149,
227 149, 34, 149, 149, 149, 149, 149, 149, 149, 147,
228 148, 149, 160, 256, 149, 149, 149, 43, 147, 148,
229 43, 43, 43, 36, 43, 232, 43, 43, 20, 43,
230 20, 20, 147, 148, 147, 148, 147, 148, 147, 148,
231 147, 148, 161, 43, 147, 148, 147, 148, 43, 147,
232 148, 158, 69, 39, 25, 25, 25, 25, 25, 25,
233 34, 25, 25, 25, 25, 25, 25, 25, 25, 25,
234 25, 25, 25, 25, 36, 43, 21, 25, 25, 96,
235 25, 25, 25, 25, 25, 250, 147, 148, 156, 25,
236 25, 25, 25, 25, 25, 77, 211, 25, 332, 70,
237 70, 70, 70, 352, 263, 185, 25, 43, 25, 25,
238 43, 0, 130, 130, 130, 130, 167, 147, 148, 147,
239 148, 130, 0, 0, 70, 70, 167, 130, 130, 130,
240 130, 67, 67, 67, 67, 0, 0, 130, 130, 0,
241 130, 130, 130, 130, 130, 130, 130, 0, 149, 130,
242 167, 0, 130, 130, 130, 0, 67, 67, 149, 0,
243 0, 20, 20, 20, 20, 20, 20, 0, 20, 20,
244 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
245 20, 0, 149, 0, 20, 20, 0, 20, 20, 20,
246 20, 20, 143, 144, 145, 146, 20, 20, 20, 20,
247 20, 20, 156, 0, 20, 156, 167, 0, 0, 0,
248 0, 0, 0, 20, 0, 20, 20, 147, 148, 156,
249 156, 0, 0, 0, 156, 0, 4, 5, 6, 0,
250 7, 8, 0, 0, 0, 0, 0, 0, 149, 0,
251 43, 43, 43, 43, 43, 43, 354, 43, 43, 43,
252 0, 0, 156, 43, 156, 0, 43, 43, 43, 43,
253 0, 0, 0, 43, 43, 0, 43, 43, 43, 43,
254 43, 0, 0, 0, 0, 43, 43, 43, 43, 43,
255 43, 0, 0, 43, 156, 0, 0, 0, 0, 0,
256 167, 0, 43, 172, 43, 43, 172, 172, 172, 0,
257 172, 156, 172, 172, 156, 172, 150, 0, 0, 0,
258 0, 0, 151, 152, 153, 154, 0, 0, 156, 156,
259 0, 0, 149, 156, 172, 155, 157, 158, 159, 160,
260 161, 162, 0, 0, 163, 0, 0, 164, 165, 166,
261 0, 162, 0, 0, 163, 0, 0, 164, 165, 166,
262 0, 156, 0, 156, 173, 0, 0, 173, 173, 173,
263 0, 173, 113, 173, 173, 113, 173, 0, 163, 0,
264 0, 164, 165, 166, 0, 0, 0, 0, 0, 113,
265 113, 0, 0, 156, 113, 173, 172, 4, 5, 6,
266 0, 7, 8, 0, 0, 0, 0, 0, 0, 327,
267 328, 329, 0, 331, 153, 154, 0, 0, 0, 0,
268 0, 67, 0, 52, 113, 0, 62, 64, 50, 0,
269 57, 162, 65, 60, 163, 59, 0, 164, 165, 166,
270 347, 0, 0, 156, 156, 156, 156, 349, 0, 58,
271 108, 351, 156, 117, 63, 0, 0, 173, 156, 156,
272 156, 156, 0, 0, 359, 360, 0, 0, 156, 156,
273 0, 156, 156, 156, 156, 156, 156, 156, 0, 0,
274 156, 61, 0, 156, 156, 156, 0, 0, 66, 176,
275 0, 66, 0, 0, 0, 0, 151, 152, 153, 154,
276 0, 0, 0, 184, 0, 0, 66, 0, 0, 167,
277 0, 0, 0, 23, 161, 162, 53, 0, 163, 0,
278 0, 164, 165, 166, 0, 0, 0, 172, 172, 172,
279 172, 172, 0, 172, 172, 172, 0, 0, 0, 172,
280 66, 149, 156, 156, 156, 156, 0, 0, 0, 208,
281 172, 156, 172, 172, 172, 172, 172, 156, 156, 156,
282 156, 172, 172, 172, 172, 172, 172, 156, 156, 172,
283 156, 156, 156, 156, 156, 156, 156, 0, 172, 156,
284 172, 172, 156, 156, 156, 0, 247, 0, 173, 173,
285 173, 173, 173, 255, 173, 173, 173, 0, 0, 0,
286 173, 0, 0, 113, 113, 113, 113, 0, 0, 0,
287 0, 173, 113, 173, 173, 173, 173, 173, 113, 113,
288 113, 113, 173, 173, 173, 173, 173, 173, 113, 113,
289 173, 113, 113, 113, 113, 113, 113, 113, 0, 173,
290 113, 173, 173, 113, 113, 113, 22, 24, 25, 26,
291 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
292 0, 167, 33, 34, 35, 36, 0, 0, 0, 37,
293 38, 0, 39, 40, 41, 42, 43, 0, 0, 167,
294 112, 44, 45, 46, 47, 48, 49, 43, 124, 51,
295 43, 43, 43, 149, 43, 0, 43, 43, 54, 43,
296 55, 56, 0, 0, 0, 151, 0, 153, 154, 0,
297 0, 149, 0, 43, 0, 0, 0, 0, 43, 66,
298 66, 66, 66, 161, 162, 0, 0, 163, 112, 0,
299 164, 165, 166, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 52, 66, 43, 62, 64, 50, 0,
301 57, 199, 65, 60, 92, 59, 0, 0, 0, 112,
302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
303 0, 114, 115, 0, 63, 0, 0, 43, 123, 0,
304 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
305 136, 137, 138, 139, 0, 0, 0, 0, 0, 52,
306 0, 61, 62, 64, 50, 0, 57, 0, 65, 60,
307 0, 59, 0, 0, 0, 0, 0, 0, 0, 0,
308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
309 63, 0, 0, 23, 0, 198, 53, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
311 0, 0, 0, 0, 0, 0, 0, 61, 0, 153,
312 154, 0, 52, 0, 0, 62, 64, 50, 0, 57,
313 0, 65, 60, 0, 59, 161, 162, 153, 0, 163,
314 0, 0, 164, 165, 166, 0, 112, 0, 0, 23,
315 0, 112, 53, 63, 162, 0, 0, 163, 0, 0,
316 164, 165, 166, 0, 0, 0, 0, 0, 0, 0,
317 43, 43, 43, 43, 43, 43, 0, 43, 43, 43,
318 61, 0, 0, 43, 0, 0, 43, 43, 43, 43,
319 0, 0, 0, 43, 43, 0, 43, 43, 43, 43,
320 43, 0, 0, 0, 0, 43, 43, 43, 43, 43,
321 43, 167, 23, 43, 0, 53, 0, 0, 0, 0,
322 0, 0, 43, 252, 43, 43, 253, 110, 25, 26,
323 27, 28, 88, 29, 30, 31, 0, 0, 0, 32,
324 0, 0, 0, 149, 0, 156, 0, 0, 0, 0,
325 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
326 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
327 0, 0, 0, 167, 0, 0, 0, 324, 54, 0,
328 55, 56, 0, 24, 25, 26, 27, 28, 0, 29,
329 30, 31, 0, 0, 0, 32, 0, 0, 0, 156,
330 0, 0, 0, 0, 0, 149, 38, 0, 39, 40,
331 41, 42, 43, 0, 0, 0, 0, 44, 45, 46,
332 47, 48, 49, 0, 0, 51, 0, 167, 0, 0,
333 0, 0, 0, 0, 54, 0, 55, 56, 0, 0,
334 0, 0, 0, 0, 0, 0, 116, 25, 26, 27,
335 28, 0, 29, 30, 31, 0, 0, 0, 32, 149,
336 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
337 0, 39, 40, 41, 42, 43, 0, 0, 0, 167,
338 44, 45, 46, 47, 48, 49, 52, 0, 51, 62,
339 64, 50, 0, 57, 0, 65, 60, 54, 59, 55,
340 56, 0, 0, 0, 0, 0, 0, 151, 152, 153,
341 154, 149, 120, 0, 0, 0, 0, 63, 0, 0,
342 0, 157, 158, 159, 160, 161, 162, 0, 0, 163,
343 0, 0, 164, 165, 166, 0, 0, 0, 0, 0,
344 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
345 130, 65, 60, 0, 59, 0, 0, 0, 0, 0,
346 0, 0, 0, 150, 0, 0, 0, 0, 0, 151,
347 152, 153, 154, 63, 0, 0, 0, 0, 0, 53,
348 0, 0, 155, 157, 158, 159, 160, 161, 162, 0,
349 0, 163, 0, 0, 164, 165, 166, 0, 52, 0,
350 61, 62, 64, 50, 0, 57, 0, 65, 60, 0,
351 59, 0, 0, 0, 0, 0, 0, 150, 0, 0,
352 0, 0, 0, 151, 152, 153, 154, 0, 0, 63,
353 0, 0, 0, 0, 0, 53, 155, 157, 158, 159,
354 160, 161, 162, 0, 0, 163, 0, 0, 164, 165,
355 166, 0, 0, 0, 0, 0, 61, 52, 134, 0,
356 62, 64, 50, 0, 57, 194, 65, 60, 0, 59,
357 0, 0, 0, 0, 0, 151, 152, 153, 154, 0,
358 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
359 0, 53, 160, 161, 162, 0, 0, 163, 0, 0,
360 164, 165, 166, 0, 0, 0, 87, 0, 0, 87,
361 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
362 0, 0, 32, 87, 87, 0, 0, 0, 87, 0,
363 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
364 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
365 53, 0, 51, 0, 0, 0, 0, 0, 87, 0,
366 0, 54, 88, 55, 56, 88, 24, 25, 26, 27,
367 28, 0, 29, 30, 31, 0, 0, 0, 32, 88,
368 88, 0, 0, 0, 88, 0, 0, 0, 0, 38,
369 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
370 44, 45, 46, 47, 48, 49, 0, 0, 51, 0,
371 0, 0, 0, 0, 88, 0, 0, 54, 0, 55,
372 56, 0, 24, 25, 26, 27, 28, 0, 29, 30,
373 31, 0, 52, 0, 32, 62, 64, 50, 0, 57,
374 243, 65, 60, 0, 59, 38, 0, 39, 40, 41,
375 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
376 48, 49, 0, 63, 51, 0, 0, 0, 0, 0,
377 0, 0, 0, 54, 0, 55, 56, 0, 0, 0,
378 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
379 61, 52, 0, 32, 62, 64, 50, 0, 57, 0,
380 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
381 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
382 49, 0, 63, 51, 0, 53, 0, 0, 0, 0,
383 0, 0, 54, 0, 55, 56, 0, 87, 87, 87,
384 87, 0, 0, 0, 0, 0, 87, 52, 0, 61,
385 62, 64, 50, 87, 57, 276, 65, 60, 0, 59,
386 0, 0, 87, 87, 0, 87, 87, 87, 87, 87,
387 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
388 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
389 0, 0, 0, 88, 88, 88, 88, 0, 0, 0,
390 0, 0, 88, 52, 0, 61, 62, 64, 50, 0,
391 57, 278, 65, 60, 0, 59, 0, 0, 88, 88,
392 0, 88, 88, 88, 88, 88, 0, 0, 0, 0,
393 0, 0, 0, 0, 63, 0, 0, 0, 0, 0,
394 53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 24, 25, 26, 27,
396 28, 61, 29, 30, 31, 0, 52, 0, 32, 62,
397 64, 50, 0, 57, 286, 65, 60, 0, 59, 38,
398 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
399 44, 45, 46, 47, 48, 49, 53, 63, 51, 0,
400 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
401 56, 0, 0, 0, 22, 24, 25, 26, 27, 28,
402 0, 29, 30, 31, 61, 0, 0, 32, 0, 0,
403 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
404 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
405 45, 46, 47, 48, 49, 0, 0, 51, 0, 53,
406 167, 0, 0, 0, 115, 0, 54, 115, 55, 56,
407 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
408 0, 115, 115, 32, 0, 0, 115, 0, 0, 0,
409 0, 0, 149, 0, 38, 0, 39, 40, 41, 42,
410 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
411 49, 0, 0, 51, 115, 0, 115, 0, 0, 0,
412 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
413 27, 28, 0, 29, 30, 31, 0, 52, 0, 32,
414 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
415 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
416 0, 44, 45, 46, 47, 48, 49, 0, 63, 51,
417 0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
418 55, 56, 0, 0, 0, 0, 142, 0, 0, 142,
419 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
420 0, 0, 32, 142, 142, 0, 0, 0, 142, 0,
421 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
422 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
423 53, 0, 51, 158, 0, 0, 158, 0, 142, 0,
424 0, 54, 0, 55, 56, 0, 0, 0, 0, 0,
425 158, 158, 0, 0, 0, 158, 151, 152, 153, 154,
426 0, 0, 0, 0, 0, 0, 0, 0, 142, 0,
427 0, 158, 159, 160, 161, 162, 0, 0, 163, 0,
428 0, 164, 165, 166, 0, 158, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 115, 115, 115, 115, 0,
430 159, 0, 0, 0, 115, 0, 0, 0, 0, 0,
431 115, 115, 115, 115, 0, 158, 0, 159, 159, 0,
432 115, 115, 159, 115, 115, 115, 115, 115, 115, 115,
433 0, 0, 115, 0, 0, 115, 115, 115, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 159, 0, 159, 0, 144, 0, 0, 0, 0, 0,
436 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
437 0, 144, 144, 32, 0, 0, 144, 0, 0, 0,
438 0, 0, 159, 0, 38, 0, 39, 40, 41, 42,
439 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
440 49, 0, 0, 51, 144, 0, 144, 0, 0, 0,
441 94, 0, 54, 94, 55, 56, 0, 142, 142, 142,
442 142, 0, 0, 0, 0, 0, 142, 94, 94, 0,
443 0, 0, 142, 142, 142, 142, 144, 0, 0, 0,
444 0, 0, 142, 142, 0, 142, 142, 142, 142, 142,
445 142, 142, 0, 0, 142, 0, 0, 142, 142, 142,
446 0, 0, 94, 0, 158, 158, 158, 158, 0, 107,
447 0, 0, 107, 158, 0, 0, 0, 0, 0, 158,
448 158, 158, 158, 0, 0, 0, 107, 107, 0, 158,
449 158, 107, 158, 158, 158, 158, 158, 158, 158, 90,
450 90, 158, 0, 0, 158, 158, 158, 0, 0, 0,
451 0, 103, 0, 0, 0, 0, 0, 111, 90, 119,
452 0, 107, 0, 0, 90, 0, 0, 0, 0, 0,
453 0, 159, 159, 159, 159, 0, 90, 90, 90, 90,
454 159, 0, 0, 0, 0, 0, 159, 159, 159, 159,
455 0, 107, 68, 0, 0, 68, 159, 159, 0, 159,
456 159, 159, 159, 159, 159, 159, 0, 0, 159, 68,
457 68, 159, 159, 159, 68, 0, 0, 0, 0, 0,
458 0, 111, 0, 0, 0, 144, 144, 144, 144, 0,
459 0, 0, 0, 0, 144, 0, 0, 0, 0, 0,
460 144, 144, 144, 144, 68, 0, 71, 0, 0, 0,
461 144, 144, 0, 144, 144, 144, 144, 144, 144, 144,
462 0, 0, 144, 71, 71, 144, 144, 144, 71, 0,
463 0, 0, 0, 0, 68, 0, 0, 0, 0, 0,
464 235, 94, 94, 94, 94, 0, 0, 0, 0, 0,
465 0, 0, 0, 0, 106, 0, 71, 106, 71, 0,
466 0, 0, 0, 0, 264, 0, 94, 94, 0, 94,
467 0, 106, 106, 0, 0, 0, 106, 0, 0, 0,
468 0, 0, 0, 0, 0, 0, 0, 0, 71, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 107, 107, 107, 107, 0, 145, 106, 0, 145, 107,
471 0, 0, 0, 0, 0, 107, 107, 107, 107, 0,
472 0, 0, 145, 145, 0, 107, 107, 145, 107, 107,
473 107, 107, 107, 107, 107, 0, 106, 107, 0, 0,
474 107, 107, 107, 0, 0, 0, 0, 0, 0, 0,
475 158, 0, 0, 158, 0, 0, 0, 145, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 158, 158, 0,
477 0, 0, 158, 0, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 68, 68, 68, 68, 0, 0, 0,
479 0, 0, 68, 0, 0, 0, 0, 0, 68, 68,
480 68, 68, 158, 0, 113, 0, 0, 113, 68, 68,
481 0, 68, 68, 68, 68, 68, 68, 68, 0, 0,
482 68, 113, 113, 68, 68, 68, 113, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 71, 71, 71,
484 71, 0, 0, 0, 0, 0, 71, 0, 0, 0,
485 0, 0, 71, 71, 71, 71, 113, 0, 0, 0,
486 0, 0, 71, 71, 0, 71, 71, 71, 71, 71,
487 71, 71, 0, 0, 71, 0, 0, 71, 71, 71,
488 0, 0, 0, 0, 0, 106, 106, 106, 106, 0,
489 120, 0, 0, 120, 106, 0, 0, 0, 0, 0,
490 106, 106, 106, 106, 0, 0, 0, 120, 120, 0,
491 106, 106, 120, 106, 106, 106, 106, 106, 106, 106,
492 0, 0, 106, 0, 0, 106, 106, 106, 0, 0,
493 0, 0, 0, 0, 0, 0, 145, 145, 145, 145,
494 0, 103, 120, 0, 103, 145, 0, 0, 0, 0,
495 0, 145, 145, 145, 145, 0, 0, 0, 103, 103,
496 0, 145, 145, 103, 145, 145, 145, 145, 145, 145,
497 145, 0, 0, 145, 0, 0, 145, 145, 145, 0,
498 0, 158, 158, 158, 158, 0, 0, 0, 0, 0,
499 158, 0, 0, 103, 0, 0, 158, 158, 158, 158,
500 0, 0, 104, 0, 0, 104, 158, 158, 0, 158,
501 158, 158, 158, 158, 158, 158, 0, 0, 158, 104,
502 104, 158, 158, 158, 104, 0, 0, 0, 0, 0,
503 0, 0, 0, 0, 0, 113, 113, 113, 113, 0,
504 98, 0, 0, 98, 113, 0, 0, 0, 0, 0,
505 113, 113, 113, 113, 104, 0, 0, 98, 98, 0,
506 113, 113, 98, 113, 113, 113, 113, 113, 113, 113,
507 0, 0, 113, 0, 0, 113, 113, 113, 0, 99,
508 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
509 89, 0, 98, 89, 0, 0, 99, 99, 0, 0,
510 0, 99, 0, 0, 0, 0, 0, 89, 89, 0,
511 0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
512 0, 120, 120, 120, 120, 0, 100, 0, 0, 100,
513 120, 99, 0, 0, 0, 0, 120, 120, 120, 120,
514 0, 0, 89, 100, 100, 0, 120, 120, 100, 120,
515 120, 120, 120, 120, 120, 120, 0, 0, 120, 0,
516 0, 120, 120, 120, 0, 0, 0, 0, 0, 0,
517 0, 0, 103, 103, 103, 103, 0, 96, 100, 0,
518 96, 103, 0, 0, 0, 0, 0, 103, 103, 103,
519 103, 0, 0, 0, 96, 96, 0, 103, 103, 96,
520 103, 103, 103, 103, 103, 103, 103, 0, 0, 103,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
522 0, 0, 0, 97, 0, 0, 97, 0, 0, 96,
523 0, 0, 0, 104, 104, 104, 104, 0, 0, 0,
524 97, 97, 104, 0, 0, 97, 0, 0, 104, 104,
525 104, 104, 0, 0, 0, 0, 0, 0, 104, 104,
526 0, 104, 104, 104, 104, 104, 104, 104, 0, 0,
527 104, 98, 98, 98, 98, 97, 0, 0, 0, 0,
528 98, 0, 0, 0, 0, 0, 98, 98, 98, 98,
529 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
530 98, 98, 98, 98, 98, 98, 0, 0, 0, 0,
531 99, 99, 99, 99, 0, 95, 0, 0, 95, 99,
532 0, 89, 89, 89, 89, 99, 99, 99, 99, 0,
533 89, 0, 95, 95, 0, 99, 99, 95, 99, 99,
534 99, 99, 99, 99, 99, 0, 89, 89, 0, 89,
535 89, 89, 89, 89, 0, 0, 0, 100, 100, 100,
536 100, 0, 83, 0, 0, 83, 100, 95, 0, 0,
537 0, 0, 100, 100, 100, 100, 0, 0, 0, 83,
538 83, 0, 100, 100, 83, 100, 100, 100, 100, 100,
539 100, 100, 0, 0, 0, 0, 0, 0, 84, 0,
540 0, 84, 0, 0, 0, 0, 0, 0, 96, 96,
541 96, 96, 0, 0, 83, 84, 84, 96, 0, 0,
542 84, 0, 0, 96, 96, 96, 96, 0, 0, 0,
543 0, 0, 0, 96, 96, 0, 96, 96, 96, 96,
544 96, 96, 96, 85, 0, 0, 85, 0, 0, 0,
545 84, 0, 0, 0, 97, 97, 97, 97, 0, 0,
546 85, 85, 0, 97, 0, 85, 0, 0, 0, 97,
547 97, 97, 97, 0, 0, 0, 0, 0, 0, 97,
548 97, 0, 97, 97, 97, 97, 97, 97, 97, 86,
549 0, 0, 86, 0, 0, 85, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 0, 86, 86, 0, 0,
551 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 148, 0, 0, 148, 0, 0,
554 0, 86, 0, 0, 0, 0, 95, 95, 95, 95,
555 0, 148, 148, 0, 0, 95, 148, 0, 0, 0,
556 0, 95, 95, 95, 95, 0, 0, 0, 0, 0,
557 0, 95, 95, 0, 95, 95, 95, 95, 95, 95,
558 95, 147, 0, 0, 147, 0, 148, 0, 0, 0,
559 0, 0, 0, 83, 83, 83, 83, 0, 147, 147,
560 0, 0, 83, 147, 0, 0, 0, 0, 83, 83,
561 83, 83, 0, 0, 0, 0, 0, 134, 83, 83,
562 134, 83, 83, 83, 83, 83, 83, 83, 0, 84,
563 84, 84, 84, 147, 134, 134, 0, 0, 84, 134,
564 0, 0, 0, 0, 84, 84, 84, 84, 0, 0,
565 0, 0, 0, 0, 84, 84, 0, 84, 84, 84,
566 84, 84, 84, 105, 0, 0, 105, 0, 0, 134,
567 0, 0, 0, 0, 85, 85, 85, 85, 0, 0,
568 105, 105, 0, 85, 0, 105, 0, 0, 0, 85,
569 85, 0, 85, 0, 0, 0, 0, 0, 0, 85,
570 85, 0, 85, 85, 85, 85, 85, 85, 90, 0,
571 0, 90, 0, 0, 0, 105, 0, 0, 0, 0,
572 86, 86, 86, 86, 0, 90, 90, 0, 0, 86,
573 90, 0, 167, 0, 0, 86, 86, 0, 0, 0,
574 92, 0, 0, 92, 0, 86, 86, 0, 86, 86,
575 86, 86, 86, 86, 0, 0, 0, 92, 92, 0,
576 90, 0, 92, 0, 149, 148, 148, 148, 148, 0,
577 0, 0, 0, 0, 148, 0, 0, 0, 0, 0,
578 148, 148, 91, 0, 0, 91, 0, 0, 0, 0,
579 148, 148, 92, 148, 148, 148, 148, 148, 0, 91,
580 91, 0, 143, 0, 91, 143, 0, 0, 0, 0,
581 0, 0, 147, 147, 147, 147, 0, 0, 0, 143,
582 143, 147, 0, 0, 0, 284, 0, 147, 147, 82,
583 156, 0, 82, 0, 91, 0, 0, 147, 147, 0,
584 147, 147, 147, 147, 147, 0, 82, 82, 134, 134,
585 134, 134, 0, 0, 143, 0, 0, 134, 167, 0,
586 0, 0, 0, 134, 134, 69, 0, 0, 69, 0,
587 0, 0, 0, 134, 134, 0, 134, 134, 134, 134,
588 134, 82, 69, 69, 0, 0, 0, 0, 0, 0,
589 149, 0, 0, 0, 105, 105, 105, 105, 0, 0,
590 0, 0, 0, 105, 0, 0, 0, 0, 0, 105,
591 105, 0, 0, 0, 0, 0, 0, 69, 0, 105,
592 105, 156, 105, 105, 105, 105, 105, 0, 151, 152,
593 153, 154, 0, 0, 0, 0, 0, 0, 0, 90,
594 90, 90, 90, 0, 159, 160, 161, 162, 90, 167,
595 163, 0, 0, 164, 165, 166, 0, 0, 0, 0,
596 0, 0, 0, 0, 90, 90, 0, 90, 90, 90,
597 90, 92, 92, 92, 92, 0, 0, 0, 0, 0,
598 92, 149, 0, 0, 0, 0, 0, 0, 0, 0,
599 0, 0, 0, 0, 0, 0, 92, 92, 0, 92,
600 92, 92, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 0, 0, 91, 91, 91, 91, 0, 0, 0,
602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
603 0, 0, 0, 143, 143, 143, 143, 0, 91, 91,
604 0, 91, 0, 0, 0, 0, 0, 0, 150, 0,
605 0, 0, 0, 0, 151, 152, 153, 154, 143, 143,
606 82, 82, 82, 82, 0, 0, 0, 155, 157, 158,
607 159, 160, 161, 162, 0, 0, 163, 0, 0, 164,
608 165, 166, 0, 0, 0, 82, 82, 0, 0, 0,
609 0, 0, 0, 0, 94, 0, 69, 69, 69, 69,
610 0, 0, 104, 0, 0, 0, 109, 0, 0, 118,
611 0, 0, 0, 0, 0, 0, 125, 126, 127, 128,
612 129, 69, 69, 132, 133, 0, 0, 0, 0, 0,
613 140, 0, 0, 0, 0, 0, 0, 0, 0, 150,
614 0, 0, 0, 0, 0, 151, 152, 153, 154, 0,
615 0, 0, 0, 0, 0, 0, 0, 183, 0, 157,
616 158, 159, 160, 161, 162, 0, 0, 163, 0, 0,
617 164, 165, 166, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 217, 218, 219, 220, 221, 222,
622 223, 224, 225, 226, 227, 228, 229, 230, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 245,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 299, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 315,
636 short yycheck[] = { 13,
637 36, 86, 41, 36, 40, 44, 182, 59, 59, 41,
638 93, 40, 59, 91, 91, 59, 257, 41, 257, 58,
639 59, 41, 191, 41, 63, 59, 44, 91, 91, 59,
640 329, 40, 46, 41, 93, 40, 93, 41, 257, 41,
641 58, 59, 41, 57, 122, 63, 123, 61, 97, 98,
642 99, 100, 101, 102, 93, 59, 41, 59, 41, 123,
643 123, 360, 91, 44, 297, 298, 41, 41, 276, 277,
644 40, 40, 278, 91, 40, 93, 326, 327, 0, 123,
645 59, 331, 59, 36, 59, 59, 59, 40, 59, 123,
646 123, 41, 106, 107, 123, 40, 40, 347, 123, 41,
647 40, 351, 271, 59, 41, 123, 40, 123, 44, 59,
648 260, 33, 257, 289, 36, 37, 38, 59, 40, 40,
649 42, 43, 59, 45, 40, 93, 41, 40, 125, 143,
650 144, 145, 146, 147, 148, 149, 305, 59, 91, 91,
651 257, 36, 64, 192, 41, 266, 267, 268, 41, 270,
652 271, 44, 91, 167, 168, 169, 170, 171, 172, 173,
653 125, 41, 93, 298, 44, 58, 59, 40, 182, 91,
654 123, 249, 186, 187, 41, 189, 254, 191, 58, 59,
655 41, 350, 41, 63, 198, 0, 200, 201, 41, 41,
656 41, 205, 40, 93, 41, 93, 59, 125, 59, 125,
657 93, 123, 125, 125, 126, 125, 257, 41, 125, 59,
658 41, 91, 123, 93, 297, 298, 41, 231, 33, 233,
659 234, 36, 37, 38, 257, 40, 59, 42, 43, 262,
660 45, 40, 93, 272, 273, 274, 275, 314, 297, 298,
661 297, 298, 281, 123, 59, 297, 298, 41, 41, 64,
662 297, 298, 337, 123, 272, 273, 274, 275, 297, 298,
663 296, 300, 301, 281, 0, 297, 298, 123, 282, 287,
664 288, 289, 290, 297, 298, 289, 91, 297, 298, 297,
665 298, 59, 300, 301, 302, 303, 304, 305, 306, 297,
666 298, 309, 41, 307, 312, 313, 314, 33, 297, 298,
667 36, 37, 38, 41, 40, 258, 42, 43, 123, 45,
668 125, 126, 297, 298, 297, 298, 297, 298, 297, 298,
669 297, 298, 41, 59, 297, 298, 297, 298, 64, 297,
670 298, 59, 346, 41, 256, 257, 258, 259, 260, 261,
671 41, 263, 264, 265, 266, 267, 268, 269, 270, 271,
672 272, 273, 274, 275, 59, 91, 8, 279, 280, 32,
673 282, 283, 284, 285, 286, 125, 297, 298, 63, 291,
674 292, 293, 294, 295, 296, 13, 144, 299, 307, 272,
675 273, 274, 275, 346, 189, 96, 308, 123, 310, 311,
676 126, -1, 272, 273, 274, 275, 91, 297, 298, 297,
677 298, 281, -1, -1, 297, 298, 91, 287, 288, 289,
678 290, 272, 273, 274, 275, -1, -1, 297, 298, -1,
679 300, 301, 302, 303, 304, 305, 306, -1, 123, 309,
680 91, -1, 312, 313, 314, -1, 297, 298, 123, -1,
681 -1, 256, 257, 258, 259, 260, 261, -1, 263, 264,
682 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
683 275, -1, 123, -1, 279, 280, -1, 282, 283, 284,
684 285, 286, 272, 273, 274, 275, 291, 292, 293, 294,
685 295, 296, 41, -1, 299, 44, 91, -1, -1, -1,
686 -1, -1, -1, 308, -1, 310, 311, 297, 298, 58,
687 59, -1, -1, -1, 63, -1, 266, 267, 268, -1,
688 270, 271, -1, -1, -1, -1, -1, -1, 123, -1,
689 256, 257, 258, 259, 260, 261, 125, 263, 264, 265,
690 -1, -1, 91, 269, 93, -1, 272, 273, 274, 275,
691 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
692 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
693 296, -1, -1, 299, 123, -1, -1, -1, -1, -1,
694 91, -1, 308, 33, 310, 311, 36, 37, 38, -1,
695 40, 41, 42, 43, 44, 45, 281, -1, -1, -1,
696 -1, -1, 287, 288, 289, 290, -1, -1, 58, 59,
697 -1, -1, 123, 63, 64, 300, 301, 302, 303, 304,
698 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
699 -1, 306, -1, -1, 309, -1, -1, 312, 313, 314,
700 -1, 91, -1, 93, 33, -1, -1, 36, 37, 38,
701 -1, 40, 41, 42, 43, 44, 45, -1, 309, -1,
702 -1, 312, 313, 314, -1, -1, -1, -1, -1, 58,
703 59, -1, -1, 123, 63, 64, 126, 266, 267, 268,
704 -1, 270, 271, -1, -1, -1, -1, -1, -1, 302,
705 303, 304, -1, 306, 289, 290, -1, -1, -1, -1,
706 -1, 13, -1, 33, 93, -1, 36, 37, 38, -1,
707 40, 306, 42, 43, 309, 45, -1, 312, 313, 314,
708 333, -1, -1, 272, 273, 274, 275, 340, -1, 59,
709 42, 344, 281, 45, 64, -1, -1, 126, 287, 288,
710 289, 290, -1, -1, 357, 358, -1, -1, 297, 298,
711 -1, 300, 301, 302, 303, 304, 305, 306, -1, -1,
712 309, 91, -1, 312, 313, 314, -1, -1, 41, 81,
713 -1, 44, -1, -1, -1, -1, 287, 288, 289, 290,
714 -1, -1, -1, 95, -1, -1, 59, -1, -1, 91,
715 -1, -1, -1, 123, 305, 306, 126, -1, 309, -1,
716 -1, 312, 313, 314, -1, -1, -1, 257, 258, 259,
717 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
718 93, 123, 272, 273, 274, 275, -1, -1, -1, 141,
719 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
720 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
721 300, 301, 302, 303, 304, 305, 306, -1, 308, 309,
722 310, 311, 312, 313, 314, -1, 178, -1, 257, 258,
723 259, 260, 261, 185, 263, 264, 265, -1, -1, -1,
724 269, -1, -1, 272, 273, 274, 275, -1, -1, -1,
725 -1, 280, 281, 282, 283, 284, 285, 286, 287, 288,
726 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
727 299, 300, 301, 302, 303, 304, 305, 306, -1, 308,
728 309, 310, 311, 312, 313, 314, 256, 257, 258, 259,
729 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
730 -1, 91, 272, 273, 274, 275, -1, -1, -1, 279,
731 280, -1, 282, 283, 284, 285, 286, -1, -1, 91,
732 43, 291, 292, 293, 294, 295, 296, 33, 51, 299,
733 36, 37, 38, 123, 40, -1, 42, 43, 308, 45,
734 310, 311, -1, -1, -1, 287, -1, 289, 290, -1,
735 -1, 123, -1, 59, -1, -1, -1, -1, 64, 272,
736 273, 274, 275, 305, 306, -1, -1, 309, 91, -1,
737 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
738 -1, -1, -1, 33, 297, 91, 36, 37, 38, -1,
739 40, 114, 42, 43, 26, 45, -1, -1, -1, 122,
740 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
741 -1, 43, 44, -1, 64, -1, -1, 123, 50, -1,
742 126, -1, -1, -1, -1, -1, -1, -1, -1, -1,
743 62, 63, 64, 65, -1, -1, -1, -1, -1, 33,
744 -1, 91, 36, 37, 38, -1, 40, -1, 42, 43,
745 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
746 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
747 64, -1, -1, 123, -1, 107, 126, -1, -1, -1,
748 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
749 -1, -1, -1, -1, -1, -1, -1, 91, -1, 289,
750 290, -1, 33, -1, -1, 36, 37, 38, -1, 40,
751 -1, 42, 43, -1, 45, 305, 306, 289, -1, 309,
752 -1, -1, 312, 313, 314, -1, 249, -1, -1, 123,
753 -1, 254, 126, 64, 306, -1, -1, 309, -1, -1,
754 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
755 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
756 91, -1, -1, 269, -1, -1, 272, 273, 274, 275,
757 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
758 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
759 296, 91, 123, 299, -1, 126, -1, -1, -1, -1,
760 -1, -1, 308, 41, 310, 311, 44, 257, 258, 259,
761 260, 261, 262, 263, 264, 265, -1, -1, -1, 269,
762 -1, -1, -1, 123, -1, 63, -1, -1, -1, -1,
763 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
764 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
765 -1, -1, -1, 91, -1, -1, -1, 41, 308, -1,
766 310, 311, -1, 257, 258, 259, 260, 261, -1, 263,
767 264, 265, -1, -1, -1, 269, -1, -1, -1, 63,
768 -1, -1, -1, -1, -1, 123, 280, -1, 282, 283,
769 284, 285, 286, -1, -1, -1, -1, 291, 292, 293,
770 294, 295, 296, -1, -1, 299, -1, 91, -1, -1,
771 -1, -1, -1, -1, 308, -1, 310, 311, -1, -1,
772 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
773 261, -1, 263, 264, 265, -1, -1, -1, 269, 123,
774 -1, -1, -1, -1, -1, -1, -1, -1, -1, 280,
775 -1, 282, 283, 284, 285, 286, -1, -1, -1, 91,
776 291, 292, 293, 294, 295, 296, 33, -1, 299, 36,
777 37, 38, -1, 40, -1, 42, 43, 308, 45, 310,
778 311, -1, -1, -1, -1, -1, -1, 287, 288, 289,
779 290, 123, 59, -1, -1, -1, -1, 64, -1, -1,
780 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
781 -1, -1, 312, 313, 314, -1, -1, -1, -1, -1,
782 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
783 41, 42, 43, -1, 45, -1, -1, -1, -1, -1,
784 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
785 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
786 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
787 -1, 309, -1, -1, 312, 313, 314, -1, 33, -1,
788 91, 36, 37, 38, -1, 40, -1, 42, 43, -1,
789 45, -1, -1, -1, -1, -1, -1, 281, -1, -1,
790 -1, -1, -1, 287, 288, 289, 290, -1, -1, 64,
791 -1, -1, -1, -1, -1, 126, 300, 301, 302, 303,
792 304, 305, 306, -1, -1, 309, -1, -1, 312, 313,
793 314, -1, -1, -1, -1, -1, 91, 33, 93, -1,
794 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
795 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
796 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
797 -1, 126, 304, 305, 306, -1, -1, 309, -1, -1,
798 312, 313, 314, -1, -1, -1, 41, -1, -1, 44,
799 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
800 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
801 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
802 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
803 126, -1, 299, -1, -1, -1, -1, -1, 93, -1,
804 -1, 308, 41, 310, 311, 44, 257, 258, 259, 260,
805 261, -1, 263, 264, 265, -1, -1, -1, 269, 58,
806 59, -1, -1, -1, 63, -1, -1, -1, -1, 280,
807 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
808 291, 292, 293, 294, 295, 296, -1, -1, 299, -1,
809 -1, -1, -1, -1, 93, -1, -1, 308, -1, 310,
810 311, -1, 257, 258, 259, 260, 261, -1, 263, 264,
811 265, -1, 33, -1, 269, 36, 37, 38, -1, 40,
812 41, 42, 43, -1, 45, 280, -1, 282, 283, 284,
813 285, 286, -1, -1, -1, -1, 291, 292, 293, 294,
814 295, 296, -1, 64, 299, -1, -1, -1, -1, -1,
815 -1, -1, -1, 308, -1, 310, 311, -1, -1, -1,
816 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
817 91, 33, -1, 269, 36, 37, 38, -1, 40, -1,
818 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
819 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
820 296, -1, 64, 299, -1, 126, -1, -1, -1, -1,
821 -1, -1, 308, -1, 310, 311, -1, 272, 273, 274,
822 275, -1, -1, -1, -1, -1, 281, 33, -1, 91,
823 36, 37, 38, 288, 40, 41, 42, 43, -1, 45,
824 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
825 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
826 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
827 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
828 -1, -1, 281, 33, -1, 91, 36, 37, 38, -1,
829 40, 41, 42, 43, -1, 45, -1, -1, 297, 298,
830 -1, 300, 301, 302, 303, 304, -1, -1, -1, -1,
831 -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
832 126, -1, -1, -1, -1, -1, -1, -1, -1, -1,
833 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
834 261, 91, 263, 264, 265, -1, 33, -1, 269, 36,
835 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
836 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
837 291, 292, 293, 294, 295, 296, 126, 64, 299, -1,
838 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
839 311, -1, -1, -1, 256, 257, 258, 259, 260, 261,
840 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
841 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
842 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
843 292, 293, 294, 295, 296, -1, -1, 299, -1, 126,
844 91, -1, -1, -1, 41, -1, 308, 44, 310, 311,
845 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
846 -1, 58, 59, 269, -1, -1, 63, -1, -1, -1,
847 -1, -1, 123, -1, 280, -1, 282, 283, 284, 285,
848 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
849 296, -1, -1, 299, 91, -1, 93, -1, -1, -1,
850 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
851 260, 261, -1, 263, 264, 265, -1, 33, -1, 269,
852 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
853 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
854 -1, 291, 292, 293, 294, 295, 296, -1, 64, 299,
855 -1, -1, -1, -1, -1, -1, -1, -1, 308, -1,
856 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
857 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
858 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
859 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
860 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
861 126, -1, 299, 41, -1, -1, 44, -1, 93, -1,
862 -1, 308, -1, 310, 311, -1, -1, -1, -1, -1,
863 58, 59, -1, -1, -1, 63, 287, 288, 289, 290,
864 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
865 -1, 302, 303, 304, 305, 306, -1, -1, 309, -1,
866 -1, 312, 313, 314, -1, 93, -1, -1, -1, -1,
867 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
868 41, -1, -1, -1, 281, -1, -1, -1, -1, -1,
869 287, 288, 289, 290, -1, 123, -1, 58, 59, -1,
870 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
871 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
872 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
873 91, -1, 93, -1, 41, -1, -1, -1, -1, -1,
874 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
875 -1, 58, 59, 269, -1, -1, 63, -1, -1, -1,
876 -1, -1, 123, -1, 280, -1, 282, 283, 284, 285,
877 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
878 296, -1, -1, 299, 91, -1, 93, -1, -1, -1,
879 41, -1, 308, 44, 310, 311, -1, 272, 273, 274,
880 275, -1, -1, -1, -1, -1, 281, 58, 59, -1,
881 -1, -1, 287, 288, 289, 290, 123, -1, -1, -1,
882 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
883 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
884 -1, -1, 93, -1, 272, 273, 274, 275, -1, 41,
885 -1, -1, 44, 281, -1, -1, -1, -1, -1, 287,
886 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
887 298, 63, 300, 301, 302, 303, 304, 305, 306, 25,
888 26, 309, -1, -1, 312, 313, 314, -1, -1, -1,
889 -1, 37, -1, -1, -1, -1, -1, 43, 44, 45,
890 -1, 93, -1, -1, 50, -1, -1, -1, -1, -1,
891 -1, 272, 273, 274, 275, -1, 62, 63, 64, 65,
892 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
893 -1, 123, 41, -1, -1, 44, 297, 298, -1, 300,
894 301, 302, 303, 304, 305, 306, -1, -1, 309, 58,
895 59, 312, 313, 314, 63, -1, -1, -1, -1, -1,
896 -1, 107, -1, -1, -1, 272, 273, 274, 275, -1,
897 -1, -1, -1, -1, 281, -1, -1, -1, -1, -1,
898 287, 288, 289, 290, 93, -1, 41, -1, -1, -1,
899 297, 298, -1, 300, 301, 302, 303, 304, 305, 306,
900 -1, -1, 309, 58, 59, 312, 313, 314, 63, -1,
901 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
902 166, 272, 273, 274, 275, -1, -1, -1, -1, -1,
903 -1, -1, -1, -1, 41, -1, 91, 44, 93, -1,
904 -1, -1, -1, -1, 190, -1, 297, 298, -1, 300,
905 -1, 58, 59, -1, -1, -1, 63, -1, -1, -1,
906 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
907 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
908 272, 273, 274, 275, -1, 41, 93, -1, 44, 281,
909 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
910 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
911 302, 303, 304, 305, 306, -1, 123, 309, -1, -1,
912 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
913 41, -1, -1, 44, -1, -1, -1, 93, -1, -1,
914 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
915 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
916 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
917 -1, -1, 281, -1, -1, -1, -1, -1, 287, 288,
918 289, 290, 93, -1, 41, -1, -1, 44, 297, 298,
919 -1, 300, 301, 302, 303, 304, 305, 306, -1, -1,
920 309, 58, 59, 312, 313, 314, 63, -1, -1, -1,
921 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
922 275, -1, -1, -1, -1, -1, 281, -1, -1, -1,
923 -1, -1, 287, 288, 289, 290, 93, -1, -1, -1,
924 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
925 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
926 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
927 41, -1, -1, 44, 281, -1, -1, -1, -1, -1,
928 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
929 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
930 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
931 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
932 -1, 41, 93, -1, 44, 281, -1, -1, -1, -1,
933 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
934 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
935 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
936 -1, 272, 273, 274, 275, -1, -1, -1, -1, -1,
937 281, -1, -1, 93, -1, -1, 287, 288, 289, 290,
938 -1, -1, 41, -1, -1, 44, 297, 298, -1, 300,
939 301, 302, 303, 304, 305, 306, -1, -1, 309, 58,
940 59, 312, 313, 314, 63, -1, -1, -1, -1, -1,
941 -1, -1, -1, -1, -1, 272, 273, 274, 275, -1,
942 41, -1, -1, 44, 281, -1, -1, -1, -1, -1,
943 287, 288, 289, 290, 93, -1, -1, 58, 59, -1,
944 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
945 -1, -1, 309, -1, -1, 312, 313, 314, -1, 41,
946 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
947 41, -1, 93, 44, -1, -1, 58, 59, -1, -1,
948 -1, 63, -1, -1, -1, -1, -1, 58, 59, -1,
949 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
950 -1, 272, 273, 274, 275, -1, 41, -1, -1, 44,
951 281, 93, -1, -1, -1, -1, 287, 288, 289, 290,
952 -1, -1, 93, 58, 59, -1, 297, 298, 63, 300,
953 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
954 -1, 312, 313, 314, -1, -1, -1, -1, -1, -1,
955 -1, -1, 272, 273, 274, 275, -1, 41, 93, -1,
956 44, 281, -1, -1, -1, -1, -1, 287, 288, 289,
957 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
958 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
959 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
960 -1, -1, -1, 41, -1, -1, 44, -1, -1, 93,
961 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
962 58, 59, 281, -1, -1, 63, -1, -1, 287, 288,
963 289, 290, -1, -1, -1, -1, -1, -1, 297, 298,
964 -1, 300, 301, 302, 303, 304, 305, 306, -1, -1,
965 309, 272, 273, 274, 275, 93, -1, -1, -1, -1,
966 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
967 -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
968 301, 302, 303, 304, 305, 306, -1, -1, -1, -1,
969 272, 273, 274, 275, -1, 41, -1, -1, 44, 281,
970 -1, 272, 273, 274, 275, 287, 288, 289, 290, -1,
971 281, -1, 58, 59, -1, 297, 298, 63, 300, 301,
972 302, 303, 304, 305, 306, -1, 297, 298, -1, 300,
973 301, 302, 303, 304, -1, -1, -1, 272, 273, 274,
974 275, -1, 41, -1, -1, 44, 281, 93, -1, -1,
975 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
976 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
977 305, 306, -1, -1, -1, -1, -1, -1, 41, -1,
978 -1, 44, -1, -1, -1, -1, -1, -1, 272, 273,
979 274, 275, -1, -1, 93, 58, 59, 281, -1, -1,
980 63, -1, -1, 287, 288, 289, 290, -1, -1, -1,
981 -1, -1, -1, 297, 298, -1, 300, 301, 302, 303,
982 304, 305, 306, 41, -1, -1, 44, -1, -1, -1,
983 93, -1, -1, -1, 272, 273, 274, 275, -1, -1,
984 58, 59, -1, 281, -1, 63, -1, -1, -1, 287,
985 288, 289, 290, -1, -1, -1, -1, -1, -1, 297,
986 298, -1, 300, 301, 302, 303, 304, 305, 306, 41,
987 -1, -1, 44, -1, -1, 93, -1, -1, -1, -1,
988 -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
989 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
991 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
992 -1, 93, -1, -1, -1, -1, 272, 273, 274, 275,
993 -1, 58, 59, -1, -1, 281, 63, -1, -1, -1,
994 -1, 287, 288, 289, 290, -1, -1, -1, -1, -1,
995 -1, 297, 298, -1, 300, 301, 302, 303, 304, 305,
996 306, 41, -1, -1, 44, -1, 93, -1, -1, -1,
997 -1, -1, -1, 272, 273, 274, 275, -1, 58, 59,
998 -1, -1, 281, 63, -1, -1, -1, -1, 287, 288,
999 289, 290, -1, -1, -1, -1, -1, 41, 297, 298,
1000 44, 300, 301, 302, 303, 304, 305, 306, -1, 272,
1001 273, 274, 275, 93, 58, 59, -1, -1, 281, 63,
1002 -1, -1, -1, -1, 287, 288, 289, 290, -1, -1,
1003 -1, -1, -1, -1, 297, 298, -1, 300, 301, 302,
1004 303, 304, 305, 41, -1, -1, 44, -1, -1, 93,
1005 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1006 58, 59, -1, 281, -1, 63, -1, -1, -1, 287,
1007 288, -1, 290, -1, -1, -1, -1, -1, -1, 297,
1008 298, -1, 300, 301, 302, 303, 304, 305, 41, -1,
1009 -1, 44, -1, -1, -1, 93, -1, -1, -1, -1,
1010 272, 273, 274, 275, -1, 58, 59, -1, -1, 281,
1011 63, -1, 91, -1, -1, 287, 288, -1, -1, -1,
1012 41, -1, -1, 44, -1, 297, 298, -1, 300, 301,
1013 302, 303, 304, 305, -1, -1, -1, 58, 59, -1,
1014 93, -1, 63, -1, 123, 272, 273, 274, 275, -1,
1015 -1, -1, -1, -1, 281, -1, -1, -1, -1, -1,
1016 287, 288, 41, -1, -1, 44, -1, -1, -1, -1,
1017 297, 298, 93, 300, 301, 302, 303, 304, -1, 58,
1018 59, -1, 41, -1, 63, 44, -1, -1, -1, -1,
1019 -1, -1, 272, 273, 274, 275, -1, -1, -1, 58,
1020 59, 281, -1, -1, -1, 58, -1, 287, 288, 41,
1021 63, -1, 44, -1, 93, -1, -1, 297, 298, -1,
1022 300, 301, 302, 303, 304, -1, 58, 59, 272, 273,
1023 274, 275, -1, -1, 93, -1, -1, 281, 91, -1,
1024 -1, -1, -1, 287, 288, 41, -1, -1, 44, -1,
1025 -1, -1, -1, 297, 298, -1, 300, 301, 302, 303,
1026 304, 93, 58, 59, -1, -1, -1, -1, -1, -1,
1027 123, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1028 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
1029 288, -1, -1, -1, -1, -1, -1, 93, -1, 297,
1030 298, 63, 300, 301, 302, 303, 304, -1, 287, 288,
1031 289, 290, -1, -1, -1, -1, -1, -1, -1, 272,
1032 273, 274, 275, -1, 303, 304, 305, 306, 281, 91,
1033 309, -1, -1, 312, 313, 314, -1, -1, -1, -1,
1034 -1, -1, -1, -1, 297, 298, -1, 300, 301, 302,
1035 303, 272, 273, 274, 275, -1, -1, -1, -1, -1,
1036 281, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1037 -1, -1, -1, -1, -1, -1, 297, 298, -1, 300,
1038 301, 302, -1, -1, -1, -1, -1, -1, -1, -1,
1039 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1040 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1041 -1, -1, -1, 272, 273, 274, 275, -1, 297, 298,
1042 -1, 300, -1, -1, -1, -1, -1, -1, 281, -1,
1043 -1, -1, -1, -1, 287, 288, 289, 290, 297, 298,
1044 272, 273, 274, 275, -1, -1, -1, 300, 301, 302,
1045 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
1046 313, 314, -1, -1, -1, 297, 298, -1, -1, -1,
1047 -1, -1, -1, -1, 30, -1, 272, 273, 274, 275,
1048 -1, -1, 38, -1, -1, -1, 42, -1, -1, 45,
1049 -1, -1, -1, -1, -1, -1, 52, 53, 54, 55,
1050 56, 297, 298, 59, 60, -1, -1, -1, -1, -1,
1051 66, -1, -1, -1, -1, -1, -1, -1, -1, 281,
1052 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
1053 -1, -1, -1, -1, -1, -1, -1, 93, -1, 301,
1054 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
1055 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1059 -1, -1, -1, -1, 150, 151, 152, 153, 154, 155,
1060 156, 157, 158, 159, 160, 161, 162, 163, -1, -1,
1061 -1, -1, -1, -1, -1, -1, -1, -1, -1, 175,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1066 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1069 -1, -1, -1, -1, -1, -1, -1, 253, -1, -1,
1070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, -1, -1, 284,
1078 #define YYMAXTOKEN 314
1081 "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,
1082 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1083 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1084 0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1085 0,0,"'{'",0,"'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1086 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1087 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1088 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","FUNCMETH","THING",
1089 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1090 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1091 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1092 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1093 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1094 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1100 "prog : $$1 lineseq",
1101 "block : '{' remember lineseq '}'",
1103 "mblock : '{' mremember lineseq '}'",
1106 "lineseq : lineseq decl",
1107 "lineseq : lineseq line",
1108 "line : label cond",
1111 "line : label sideff ';'",
1114 "sideff : expr IF expr",
1115 "sideff : expr UNLESS expr",
1116 "sideff : expr WHILE expr",
1117 "sideff : expr UNTIL iexpr",
1119 "else : ELSE mblock",
1120 "else : ELSIF '(' mexpr ')' mblock else",
1121 "cond : IF '(' remember mexpr ')' mblock else",
1122 "cond : UNLESS '(' remember miexpr ')' mblock else",
1124 "cont : CONTINUE block",
1125 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1126 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1127 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1128 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1129 "loop : label FOR '(' remember mexpr ')' mblock cont",
1130 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1131 "loop : label block cont",
1147 "format : FORMAT startformsub formname block",
1150 "subrout : SUB startsub subname proto subbody",
1159 "package : PACKAGE WORD ';'",
1160 "package : PACKAGE ';'",
1162 "use : USE startsub $$2 WORD WORD listexpr ';'",
1163 "expr : expr ANDOP expr",
1164 "expr : expr OROP expr",
1166 "argexpr : argexpr ','",
1167 "argexpr : argexpr ',' term",
1169 "listop : LSTOP indirob argexpr",
1170 "listop : FUNC '(' indirob expr ')'",
1171 "listop : term ARROW method '(' listexprcom ')'",
1172 "listop : METHOD indirob listexpr",
1173 "listop : FUNCMETH indirob '(' listexprcom ')'",
1174 "listop : LSTOP listexpr",
1175 "listop : FUNC '(' listexprcom ')'",
1177 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1180 "term : term ASSIGNOP term",
1181 "term : term POWOP term",
1182 "term : term MULOP term",
1183 "term : term ADDOP term",
1184 "term : term SHIFTOP term",
1185 "term : term RELOP term",
1186 "term : term EQOP term",
1187 "term : term BITANDOP term",
1188 "term : term BITOROP term",
1189 "term : term DOTDOT term",
1190 "term : term ANDAND term",
1191 "term : term OROR term",
1192 "term : term '?' term ':' term",
1193 "term : term MATCHOP term",
1198 "term : REFGEN term",
1199 "term : term POSTINC",
1200 "term : term POSTDEC",
1201 "term : PREINC term",
1202 "term : PREDEC term",
1203 "term : local term",
1204 "term : '(' expr ')'",
1206 "term : '[' expr ']'",
1208 "term : HASHBRACK expr ';' '}'",
1209 "term : HASHBRACK ';' '}'",
1210 "term : ANONSUB startanonsub proto block",
1212 "term : star '{' expr ';' '}'",
1214 "term : scalar '[' expr ']'",
1215 "term : term ARROW '[' expr ']'",
1216 "term : term '[' expr ']'",
1220 "term : scalar '{' expr ';' '}'",
1221 "term : term ARROW '{' expr ';' '}'",
1222 "term : term '{' expr ';' '}'",
1223 "term : '(' expr ')' '[' expr ']'",
1224 "term : '(' ')' '[' expr ']'",
1225 "term : ary '[' expr ']'",
1226 "term : ary '{' expr ';' '}'",
1229 "term : amper '(' ')'",
1230 "term : amper '(' expr ')'",
1231 "term : NOAMP WORD listexpr",
1234 "term : DO WORD '(' ')'",
1235 "term : DO WORD '(' expr ')'",
1236 "term : DO scalar '(' ')'",
1237 "term : DO scalar '(' expr ')'",
1238 "term : term ARROW '(' ')'",
1239 "term : term ARROW '(' expr ')'",
1241 "term : LOOPEX term",
1242 "term : NOTOP argexpr",
1244 "term : UNIOP block",
1245 "term : UNIOP term",
1246 "term : UNIOPSUB term",
1248 "term : FUNC0 '(' ')'",
1250 "term : FUNC1 '(' ')'",
1251 "term : FUNC1 '(' expr ')'",
1252 "term : PMFUNC '(' term ')'",
1253 "term : PMFUNC '(' term ',' term ')'",
1257 "listexpr : argexpr",
1259 "listexprcom : expr",
1260 "listexprcom : expr ','",
1263 "my_scalar : scalar",
1264 "amper : '&' indirob",
1265 "scalar : '$' indirob",
1266 "ary : '@' indirob",
1267 "hsh : '%' indirob",
1268 "arylen : DOLSHARP indirob",
1269 "star : '*' indirob",
1273 "indirob : PRIVATEREF",
1276 #define yyclearin (yychar=(-1))
1277 #define yyerrok (yyerrflag=0)
1280 #define YYMAXDEPTH YYSTACKSIZE
1284 #define YYSTACKSIZE YYMAXDEPTH
1286 #define YYSTACKSIZE 500
1287 #define YYMAXDEPTH 500
1298 #line 1360 "perly.c"
1299 #define YYABORT goto yyabort
1300 #define YYACCEPT goto yyaccept
1301 #define YYERROR goto yyerrlab
1315 yydestruct(void *ptr)
1317 struct ysv* ysave = (struct ysv*)ptr;
1318 if (ysave->yyss) Safefree(ysave->yyss);
1319 if (ysave->yyvs) Safefree(ysave->yyvs);
1320 yydebug = ysave->oldyydebug;
1321 yynerrs = ysave->oldyynerrs;
1322 yyerrflag = ysave->oldyyerrflag;
1323 yychar = ysave->oldyychar;
1324 yyval = ysave->oldyyval;
1325 yylval = ysave->oldyylval;
1332 register int yym, yyn, yystate;
1333 register short *yyssp;
1334 register YYSTYPE *yyvsp;
1337 unsigned yystacksize = YYSTACKSIZE;
1342 extern char *getenv();
1346 struct ysv *ysave = (struct ysv*)safemalloc(sizeof(struct ysv));
1347 SAVEDESTRUCTOR(yydestruct, ysave);
1348 ysave->oldyydebug = yydebug;
1349 ysave->oldyynerrs = yynerrs;
1350 ysave->oldyyerrflag = yyerrflag;
1351 ysave->oldyychar = yychar;
1352 ysave->oldyyval = yyval;
1353 ysave->oldyylval = yylval;
1356 if (yys = getenv("YYDEBUG"))
1359 if (yyn >= '0' && yyn <= '9')
1360 yydebug = yyn - '0';
1369 ** Initialize private stacks (yyparse may be called from an action)
1371 ysave->yyss = yyss = (short*)safemalloc(yystacksize*sizeof(short));
1372 ysave->yyvs = yyvs = (YYSTYPE*)safemalloc(yystacksize*sizeof(YYSTYPE));
1378 *yyssp = yystate = 0;
1381 if (yyn = yydefred[yystate]) goto yyreduce;
1384 if ((yychar = yylex()) < 0) yychar = 0;
1389 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1390 if (!yys) yys = "illegal-symbol";
1391 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1396 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1397 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1401 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1402 yystate, yytable[yyn]);
1404 if (yyssp >= yyss + yystacksize - 1)
1407 ** reallocate and recover. Note that pointers
1408 ** have to be reset, or bad things will happen
1410 int yyps_index = (yyssp - yyss);
1411 int yypv_index = (yyvsp - yyvs);
1412 yystacksize += YYSTACKSIZE;
1413 ysave->yyvs = yyvs =
1414 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1415 ysave->yyss = yyss =
1416 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1419 yyssp = yyss + yyps_index;
1420 yyvsp = yyvs + yypv_index;
1422 *++yyssp = yystate = yytable[yyn];
1425 if (yyerrflag > 0) --yyerrflag;
1428 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1429 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1434 if (yyerrflag) goto yyinrecovery;
1439 yyerror("syntax error");
1451 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1452 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1456 PerlIO_printf(Perl_debug_log,
1457 "yydebug: state %d, error recovery shifting to state %d\n",
1458 *yyssp, yytable[yyn]);
1460 if (yyssp >= yyss + yystacksize - 1)
1463 ** reallocate and recover. Note that pointers
1464 ** have to be reset, or bad things will happen
1466 int yyps_index = (yyssp - yyss);
1467 int yypv_index = (yyvsp - yyvs);
1468 yystacksize += YYSTACKSIZE;
1469 ysave->yyvs = yyvs = (YYSTYPE*)realloc((char*)yyvs,
1470 yystacksize * sizeof(YYSTYPE));
1471 ysave->yyss = yyss = (short*)realloc((char*)yyss,
1472 yystacksize * sizeof(short));
1475 yyssp = yyss + yyps_index;
1476 yyvsp = yyvs + yypv_index;
1478 *++yyssp = yystate = yytable[yyn];
1486 PerlIO_printf(Perl_debug_log,
1487 "yydebug: error recovery discarding state %d\n",
1490 if (yyssp <= yyss) goto yyabort;
1498 if (yychar == 0) goto yyabort;
1503 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1504 if (!yys) yys = "illegal-symbol";
1505 PerlIO_printf(Perl_debug_log,
1506 "yydebug: state %d, error recovery discards token %d (%s)\n",
1507 yystate, yychar, yys);
1516 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1517 yystate, yyn, yyrule[yyn]);
1520 yyval = yyvsp[1-yym];
1526 #if defined(YYDEBUG) && defined(DEBUGGING)
1527 yydebug = (debug & 1);
1534 { newPROG(yyvsp[0].opval); }
1538 { if (copline > (line_t)yyvsp[-3].ival)
1539 copline = yyvsp[-3].ival;
1540 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1544 { yyval.ival = block_start(TRUE); }
1548 { if (copline > (line_t)yyvsp[-3].ival)
1549 copline = yyvsp[-3].ival;
1550 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1554 { yyval.ival = block_start(FALSE); }
1558 { yyval.opval = Nullop; }
1562 { yyval.opval = yyvsp[-1].opval; }
1566 { yyval.opval = append_list(OP_LINESEQ,
1567 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1568 pad_reset_pending = TRUE;
1569 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
1573 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1577 { if (yyvsp[-1].pval != Nullch) {
1578 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1581 yyval.opval = Nullop;
1588 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1593 { yyval.opval = Nullop; }
1597 { yyval.opval = yyvsp[0].opval; }
1601 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1605 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1609 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1613 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1617 { yyval.opval = Nullop; }
1621 { yyval.opval = scope(yyvsp[0].opval); }
1625 { copline = yyvsp[-5].ival;
1626 yyval.opval = newSTATEOP(0, Nullch,
1627 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1628 hints |= HINT_BLOCK_SCOPE; }
1632 { copline = yyvsp[-6].ival;
1633 yyval.opval = block_end(yyvsp[-4].ival,
1634 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1638 { copline = yyvsp[-6].ival;
1639 yyval.opval = block_end(yyvsp[-4].ival,
1640 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
1644 { yyval.opval = Nullop; }
1648 { yyval.opval = scope(yyvsp[0].opval); }
1652 { copline = yyvsp[-6].ival;
1653 yyval.opval = block_end(yyvsp[-4].ival,
1654 newSTATEOP(0, yyvsp[-7].pval,
1655 newWHILEOP(0, 1, (LOOP*)Nullop,
1656 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1660 { copline = yyvsp[-6].ival;
1661 yyval.opval = block_end(yyvsp[-4].ival,
1662 newSTATEOP(0, yyvsp[-7].pval,
1663 newWHILEOP(0, 1, (LOOP*)Nullop,
1664 yyvsp[-6].ival, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval))); }
1668 { yyval.opval = block_end(yyvsp[-6].ival,
1669 newFOROP(0, yyvsp[-9].pval, yyvsp[-8].ival, yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1673 { yyval.opval = block_end(yyvsp[-4].ival,
1674 newFOROP(0, yyvsp[-8].pval, yyvsp[-7].ival, mod(yyvsp[-6].opval, OP_ENTERLOOP),
1675 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1679 { yyval.opval = block_end(yyvsp[-4].ival,
1680 newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval)); }
1684 { OP *forop = append_elem(OP_LINESEQ,
1685 scalar(yyvsp[-6].opval),
1686 newWHILEOP(0, 1, (LOOP*)Nullop,
1687 yyvsp[-9].ival, scalar(yyvsp[-4].opval),
1688 yyvsp[0].opval, scalar(yyvsp[-2].opval)));
1689 copline = yyvsp[-9].ival;
1690 yyval.opval = block_end(yyvsp[-7].ival, newSTATEOP(0, yyvsp[-10].pval, forop)); }
1694 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval,
1695 newWHILEOP(0, 1, (LOOP*)Nullop,
1696 NOLINE, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1700 { yyval.opval = Nullop; }
1704 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1708 { yyval.opval = invert(scalar(yyvsp[0].opval)); }
1712 { yyval.opval = yyvsp[0].opval; intro_my(); }
1716 { yyval.opval = yyvsp[0].opval; intro_my(); }
1720 { yyval.opval = yyvsp[0].opval; intro_my(); }
1724 { yyval.opval = yyvsp[0].opval; intro_my(); }
1728 { yyval.pval = Nullch; }
1748 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1752 { yyval.opval = yyvsp[0].opval; }
1756 { yyval.opval = Nullop; }
1760 { newSUB(yyvsp[-3].ival, yyvsp[-2].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1764 { yyval.ival = start_subparse(FALSE, 0); }
1768 { yyval.ival = start_subparse(FALSE, CVf_ANON); }
1772 { yyval.ival = start_subparse(TRUE, 0); }
1776 { char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv, na);
1777 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1778 || strEQ(name, "INIT"))
1779 CvUNIQUE_on(compcv);
1780 yyval.opval = yyvsp[0].opval; }
1784 { yyval.opval = Nullop; }
1788 { yyval.opval = yyvsp[0].opval; }
1792 { yyval.opval = Nullop; expect = XSTATE; }
1796 { package(yyvsp[-1].opval); }
1800 { package(Nullop); }
1804 { CvUNIQUE_on(compcv); /* It's a BEGIN {} */ }
1808 { utilize(yyvsp[-6].ival, yyvsp[-5].ival, yyvsp[-3].opval, yyvsp[-2].opval, yyvsp[-1].opval); }
1812 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1816 { yyval.opval = newLOGOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1820 { yyval.opval = yyvsp[-1].opval; }
1824 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1828 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1829 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].ival,yyvsp[-1].opval), yyvsp[0].opval) ); }
1833 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1834 prepend_elem(OP_LIST, newGVREF(yyvsp[-4].ival,yyvsp[-2].opval), yyvsp[-1].opval) ); }
1838 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1839 append_elem(OP_LIST,
1840 prepend_elem(OP_LIST, scalar(yyvsp[-5].opval), yyvsp[-1].opval),
1841 newUNOP(OP_METHOD, 0, yyvsp[-3].opval))); }
1845 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1846 append_elem(OP_LIST,
1847 prepend_elem(OP_LIST, yyvsp[-1].opval, yyvsp[0].opval),
1848 newUNOP(OP_METHOD, 0, yyvsp[-2].opval))); }
1852 { yyval.opval = convert(OP_ENTERSUB, OPf_STACKED,
1853 append_elem(OP_LIST,
1854 prepend_elem(OP_LIST, yyvsp[-3].opval, yyvsp[-1].opval),
1855 newUNOP(OP_METHOD, 0, yyvsp[-4].opval))); }
1859 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1863 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1867 { yyvsp[0].opval = newANONSUB(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1871 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
1872 append_elem(OP_LIST,
1873 prepend_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval), yyvsp[-4].opval)); }
1877 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[-1].ival, yyvsp[0].opval); }
1881 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1885 { if (yyvsp[-1].ival != OP_REPEAT)
1886 scalar(yyvsp[-2].opval);
1887 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1891 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1895 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1899 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1903 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1907 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1911 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1915 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1919 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1923 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1927 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1931 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1935 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1939 { yyval.opval = yyvsp[0].opval; }
1943 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1947 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1951 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
1955 { yyval.opval = newUNOP(OP_POSTINC, 0,
1956 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1960 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1961 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1965 { yyval.opval = newUNOP(OP_PREINC, 0,
1966 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
1970 { yyval.opval = newUNOP(OP_PREDEC, 0,
1971 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
1975 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1979 { yyval.opval = sawparens(yyvsp[-1].opval); }
1983 { yyval.opval = sawparens(newNULLLIST()); }
1987 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
1991 { yyval.opval = newANONLIST(Nullop); }
1995 { yyval.opval = newANONHASH(yyvsp[-2].opval); }
1999 { yyval.opval = newANONHASH(Nullop); }
2003 { yyval.opval = newANONSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2007 { yyval.opval = yyvsp[0].opval; }
2011 { yyval.opval = newBINOP(OP_GELEM, 0, newGVREF(0,yyvsp[-4].opval), yyvsp[-2].opval); }
2015 { yyval.opval = yyvsp[0].opval; }
2019 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2023 { yyval.opval = newBINOP(OP_AELEM, 0,
2024 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
2025 scalar(yyvsp[-1].opval));}
2029 { assertref(yyvsp[-3].opval); yyval.opval = newBINOP(OP_AELEM, 0,
2030 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
2031 scalar(yyvsp[-1].opval));}
2035 { yyval.opval = yyvsp[0].opval; }
2039 { yyval.opval = yyvsp[0].opval; }
2043 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2047 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2048 expect = XOPERATOR; }
2052 { yyval.opval = newBINOP(OP_HELEM, 0,
2053 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2054 jmaybe(yyvsp[-2].opval));
2055 expect = XOPERATOR; }
2059 { assertref(yyvsp[-4].opval); yyval.opval = newBINOP(OP_HELEM, 0,
2060 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
2061 jmaybe(yyvsp[-2].opval));
2062 expect = XOPERATOR; }
2066 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2070 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2074 { yyval.opval = prepend_elem(OP_ASLICE,
2075 newOP(OP_PUSHMARK, 0),
2076 newLISTOP(OP_ASLICE, 0,
2077 list(yyvsp[-1].opval),
2078 ref(yyvsp[-3].opval, OP_ASLICE))); }
2082 { yyval.opval = prepend_elem(OP_HSLICE,
2083 newOP(OP_PUSHMARK, 0),
2084 newLISTOP(OP_HSLICE, 0,
2085 list(yyvsp[-2].opval),
2086 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE)));
2087 expect = XOPERATOR; }
2091 { yyval.opval = yyvsp[0].opval; }
2095 { yyval.opval = newUNOP(OP_ENTERSUB, 0, scalar(yyvsp[0].opval)); }
2099 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2103 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2104 append_elem(OP_LIST, yyvsp[-1].opval, scalar(yyvsp[-3].opval))); }
2108 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2109 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2113 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2117 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2121 { yyval.opval = newUNOP(OP_ENTERSUB,
2122 OPf_SPECIAL|OPf_STACKED,
2123 prepend_elem(OP_LIST,
2125 (OPpENTERSUB_AMPER<<8),
2126 scalar(yyvsp[-2].opval)
2127 )),Nullop)); dep();}
2131 { yyval.opval = newUNOP(OP_ENTERSUB,
2132 OPf_SPECIAL|OPf_STACKED,
2133 append_elem(OP_LIST,
2136 (OPpENTERSUB_AMPER<<8),
2137 scalar(yyvsp[-3].opval)
2142 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2143 prepend_elem(OP_LIST,
2144 scalar(newCVREF(0,scalar(yyvsp[-2].opval))), Nullop)); dep();}
2148 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
2149 prepend_elem(OP_LIST,
2151 scalar(newCVREF(0,scalar(yyvsp[-3].opval))))); dep();}
2155 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2156 newCVREF(0, scalar(yyvsp[-3].opval))); }
2160 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2161 append_elem(OP_LIST, yyvsp[-1].opval,
2162 newCVREF(0, scalar(yyvsp[-4].opval)))); }
2166 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2167 hints |= HINT_BLOCK_SCOPE; }
2171 { yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
2175 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2179 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2183 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2187 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2191 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2192 append_elem(OP_LIST, yyvsp[0].opval, scalar(yyvsp[-1].opval))); }
2196 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2200 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2204 { yyval.opval = newUNOP(OP_ENTERSUB, OPf_STACKED,
2205 scalar(yyvsp[0].opval)); }
2209 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2213 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2217 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2221 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2225 { yyval.opval = Nullop; }
2229 { yyval.opval = yyvsp[0].opval; }
2233 { yyval.opval = Nullop; }
2237 { yyval.opval = yyvsp[0].opval; }
2241 { yyval.opval = yyvsp[-1].opval; }
2253 { in_my = 0; yyval.opval = my(yyvsp[0].opval); }
2257 { yyval.opval = newCVREF(yyvsp[-1].ival,yyvsp[0].opval); }
2261 { yyval.opval = newSVREF(yyvsp[0].opval); }
2265 { yyval.opval = newAVREF(yyvsp[0].opval); }
2269 { yyval.opval = newHVREF(yyvsp[0].opval); }
2273 { yyval.opval = newAVREF(yyvsp[0].opval); }
2277 { yyval.opval = newGVREF(0,yyvsp[0].opval); }
2281 { yyval.opval = scalar(yyvsp[0].opval); }
2285 { yyval.opval = scalar(yyvsp[0].opval); }
2289 { yyval.opval = scope(yyvsp[0].opval); }
2293 { yyval.opval = yyvsp[0].opval; }
2295 #line 2272 "perly.c"
2301 if (yystate == 0 && yym == 0)
2305 PerlIO_printf(Perl_debug_log,
2306 "yydebug: after reduction, shifting from state 0 to state %d\n",
2314 if ((yychar = yylex()) < 0) yychar = 0;
2319 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2320 if (!yys) yys = "illegal-symbol";
2321 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n",
2322 YYFINAL, yychar, yys);
2326 if (yychar == 0) goto yyaccept;
2329 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2330 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2331 yystate = yytable[yyn];
2333 yystate = yydgoto[yym];
2336 PerlIO_printf(Perl_debug_log,
2337 "yydebug: after reduction, shifting from state %d to state %d\n",
2340 if (yyssp >= yyss + yystacksize - 1)
2343 ** reallocate and recover. Note that pointers
2344 ** have to be reset, or bad things will happen
2346 int yyps_index = (yyssp - yyss);
2347 int yypv_index = (yyvsp - yyvs);
2348 yystacksize += YYSTACKSIZE;
2349 ysave->yyvs = yyvs =
2350 (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2351 ysave->yyss = yyss =
2352 (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2355 yyssp = yyss + yyps_index;
2356 yyvsp = yyvs + yypv_index;
2362 yyerror("Out of memory for yacc stack");