2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
9 #define yydebug PL_yydebug
10 #define yynerrs PL_yynerrs
11 #define yyerrflag PL_yyerrflag
12 #define yychar PL_yychar
13 #define yyssp PL_yyssp
14 #define yyvsp PL_yyvsp
15 #define yyval PL_yyval
16 #define yylval PL_yylval
22 pPerl->deprecate("\"do\" to call subroutines");
24 #define dep() Dep(this)
29 deprecate("\"do\" to call subroutines");
36 45, 0, 9, 7, 10, 8, 11, 11, 11, 12,
37 12, 12, 12, 24, 24, 24, 24, 24, 24, 24,
38 15, 15, 15, 14, 14, 42, 42, 13, 13, 13,
39 13, 13, 13, 13, 26, 26, 27, 27, 28, 29,
40 30, 31, 32, 44, 44, 1, 1, 1, 1, 3,
41 38, 38, 46, 4, 5, 6, 39, 40, 40, 41,
42 41, 47, 47, 49, 48, 16, 16, 16, 25, 25,
43 25, 36, 36, 36, 36, 36, 36, 36, 50, 36,
44 37, 37, 17, 17, 17, 17, 17, 17, 17, 17,
45 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
46 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
47 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
48 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
49 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
50 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
51 17, 17, 17, 17, 17, 17, 17, 17, 33, 33,
52 34, 34, 34, 2, 2, 43, 23, 18, 19, 20,
53 21, 22, 35, 35, 35, 35,
56 0, 2, 4, 0, 4, 0, 0, 2, 2, 2,
57 1, 2, 3, 1, 1, 3, 3, 3, 3, 3,
58 0, 2, 6, 7, 7, 0, 2, 8, 8, 10,
59 9, 8, 11, 3, 0, 1, 0, 1, 1, 1,
60 1, 1, 1, 0, 1, 1, 1, 1, 1, 4,
61 1, 0, 5, 0, 0, 0, 1, 0, 1, 1,
62 1, 3, 2, 0, 7, 3, 3, 1, 2, 3,
63 1, 3, 5, 6, 3, 5, 2, 4, 0, 5,
64 1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
65 3, 3, 3, 3, 5, 3, 2, 2, 2, 2,
66 2, 2, 2, 2, 2, 2, 3, 2, 3, 2,
67 4, 3, 4, 1, 5, 1, 4, 5, 4, 1,
68 1, 1, 5, 6, 5, 6, 5, 4, 5, 1,
69 1, 3, 4, 3, 2, 2, 4, 5, 4, 5,
70 4, 5, 1, 2, 2, 1, 2, 2, 2, 1,
71 3, 1, 3, 4, 4, 6, 1, 1, 0, 1,
72 0, 1, 2, 1, 1, 1, 2, 2, 2, 2,
75 short yydefred[] = { 1,
76 0, 7, 0, 45, 56, 54, 0, 54, 8, 46,
77 9, 11, 0, 47, 48, 49, 0, 0, 0, 63,
78 64, 14, 4, 157, 0, 0, 130, 0, 152, 0,
79 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
80 0, 0, 0, 0, 0, 0, 0, 164, 165, 0,
81 0, 0, 0, 0, 0, 0, 0, 12, 0, 0,
82 0, 0, 0, 0, 0, 0, 0, 10, 0, 0,
83 0, 0, 120, 122, 0, 0, 0, 0, 158, 51,
84 0, 57, 0, 62, 0, 7, 173, 176, 175, 174,
85 0, 0, 0, 0, 0, 0, 4, 4, 4, 4,
86 4, 4, 0, 0, 0, 0, 0, 147, 0, 0,
87 0, 0, 77, 0, 171, 0, 136, 0, 0, 0,
88 0, 0, 167, 0, 0, 0, 0, 0, 0, 0,
89 0, 0, 0, 110, 0, 168, 169, 170, 172, 0,
90 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
91 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
92 0, 0, 0, 0, 102, 103, 0, 0, 0, 0,
93 0, 0, 0, 0, 13, 0, 50, 59, 0, 0,
94 0, 75, 0, 0, 79, 0, 0, 0, 0, 0,
95 0, 0, 4, 151, 153, 0, 0, 0, 0, 0,
96 0, 0, 112, 0, 134, 0, 0, 109, 27, 0,
97 0, 19, 0, 0, 0, 0, 66, 0, 0, 0,
98 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
99 0, 0, 0, 81, 0, 0, 82, 0, 0, 0,
100 0, 0, 0, 0, 132, 0, 0, 61, 60, 53,
101 0, 3, 0, 155, 0, 0, 113, 0, 42, 0,
102 43, 0, 0, 0, 0, 166, 0, 0, 36, 41,
103 0, 0, 0, 154, 163, 78, 0, 137, 0, 139,
104 0, 111, 0, 0, 0, 0, 0, 141, 0, 0,
105 0, 119, 0, 117, 0, 128, 0, 133, 0, 76,
106 0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
107 73, 138, 140, 127, 0, 125, 0, 0, 142, 118,
108 0, 123, 129, 115, 65, 156, 6, 0, 0, 0,
109 0, 0, 0, 0, 0, 126, 124, 74, 7, 28,
110 29, 0, 0, 24, 25, 0, 32, 0, 0, 0,
111 22, 0, 0, 0, 31, 5, 0, 30, 0, 0,
114 short yydgoto[] = { 1,
115 9, 66, 10, 18, 95, 17, 86, 339, 89, 328,
116 3, 11, 12, 68, 344, 263, 70, 71, 72, 73,
117 74, 75, 76, 269, 78, 270, 259, 261, 264, 272,
118 260, 262, 113, 198, 91, 79, 238, 81, 83, 179,
119 250, 142, 267, 13, 2, 14, 15, 16, 85, 256,
121 short yysindex[] = { 0,
122 0, 0, -66, 0, 0, 0, -48, 0, 0, 0,
123 0, 0, 645, 0, 0, 0, -232, -227, -27, 0,
124 0, 0, 0, 0, -23, -23, 0, -6, 0, 2099,
125 0, 0, 13, 20, 24, 25, -34, 2099, 27, 28,
126 29, 1021, 965, -23, 1084, 1348, -217, 0, 0, -23,
127 2099, 2099, 2099, 2099, 2099, 2099, 1404, 0, 2099, 2099,
128 1460, -23, -23, -23, -23, 2099, -206, 0, 335, 3814,
129 -73, -68, 0, 0, -47, 40, 32, 61, 0, 0,
130 -39, 0, -157, 0, -145, 0, 0, 0, 0, 0,
131 2099, 73, 2099, 825, -39, -157, 0, 0, 0, 0,
132 0, 0, 75, 3814, 78, 1519, 965, 0, 825, 0,
133 -73, 61, 0, 2099, 0, 77, 0, 825, -16, -9,
134 -51, 2099, 0, 61, 87, 87, 87, -86, -86, 33,
135 -40, 87, 87, 0, -81, 0, 0, 0, 0, 825,
136 -39, 0, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
137 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2099,
138 2099, 2099, 2099, 2099, 0, 0, 30, 2099, 2099, 2099,
139 2099, 2099, 2099, 1694, 0, 2099, 0, 0, -49, -118,
140 189, 0, 2099, 353, 0, -39, 2099, 2099, 2099, 2099,
141 104, 1753, 0, 0, 0, -24, 8, 85, 2099, 61,
142 1809, 1865, 0, 23, 0, 2099, 54, 0, 0, -269,
143 -269, 0, -269, -269, -269, -151, 0, -43, 1121, 825,
144 673, 50, 363, 3814, 1233, 2459, 3640, 2309, 266, -82,
145 87, 87, 2099, 0, 1928, 2099, 0, 111, 51, 12,
146 76, 14, 90, 39, 0, -22, 3814, 0, 0, 0,
147 2099, 0, 121, 0, 2099, 2099, 0, -269, 0, 124,
148 0, 125, -269, 126, 130, 0, 112, 335, 0, 0,
149 131, 136, 2099, 0, 0, 0, -14, 0, 1, 0,
150 4, 0, 133, 2099, 55, 2099, 49, 0, 6, 197,
151 2099, 0, 89, 0, 94, 0, 100, 0, 144, 0,
152 1175, 0, 92, 92, 92, 92, 2099, 92, 2099, 171,
153 0, 0, 0, 0, 202, 0, 3900, 108, 0, 0,
154 188, 0, 0, 0, 0, 0, 0, -206, -206, -238,
155 -238, 199, -206, 211, 92, 0, 0, 0, 0, 0,
156 0, 92, 241, 0, 0, 92, 0, 1753, -206, 326,
157 0, 2099, -206, 256, 0, 0, 259, 0, 92, 92,
160 short yyrindex[] = { 0,
161 0, 0, 249, 0, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 0, 0, 184, 0, 0, 0,
163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
164 0, 0, 0, 0, 0, 0, 0, 2228, 426, 0,
165 0, 2833, 2876, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167 0, 0, 0, 0, 0, 0, 59, 0, -10, 2038,
168 2952, 2995, 0, 0, 2274, 2140, 0, 200, 0, 0,
169 0, 0, -44, 0, 0, 0, 0, 0, 0, 0,
170 2421, 0, 0, 105, 0, 198, 0, 0, 0, 0,
171 0, 0, 0, 3753, 0, 0, 319, 0, 3505, 525,
172 586, 2510, 0, 0, 0, 2185, 0, 3541, 2952, 0,
173 0, 2421, 0, 2553, 3112, 3150, 3188, -37, 3069, 2597,
174 0, 3231, 3269, 0, 0, 0, 0, 0, 0, 3584,
175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
178 0, 0, 0, 0, 0, 2673, 0, 0, 0, 0,
179 909, 0, 319, 0, 0, 0, 320, 0, 0, 0,
180 0, 306, 0, 0, 0, 0, 325, 0, 0, 2789,
181 0, 0, 0, 0, 0, 0, 2716, 0, 0, -5,
182 22, 0, 68, 69, 70, 702, 0, 0, 3741, 1296,
183 1560, 3386, 3424, 3796, 0, 3703, 3660, 3622, 1616, 3467,
184 3305, 3348, 0, 0, 0, 0, 0, 0, 0, 0,
185 0, 0, 0, 0, 0, 0, 3809, 0, 0, 0,
186 309, 0, 0, 0, 0, 2421, 0, 79, 0, 0,
187 0, 0, 330, 0, 0, 0, 0, 84, 0, 0,
188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
190 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
191 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
192 0, 0, 0, 0, 0, 0, 1982, 0, 0, 0,
193 0, 0, 0, 0, 0, 0, 0, 59, 59, 154,
194 154, 0, 59, 0, 0, 0, 0, 0, 0, 0,
195 0, 0, 0, 0, 0, 0, 0, 340, 59, 909,
196 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
199 short yygindex[] = { 0,
200 0, 0, 0, 374, 351, 0, -12, 0, 946, 413,
201 -83, 0, 0, 0, -311, -13, 4007, 2893, 0, 0,
202 0, 0, 0, 372, -8, 0, 0, 246, -131, 43,
203 86, 208, -45, -169, 987, 0, 0, 0, 0, 308,
204 0, -271, 0, 0, 0, 0, 0, 0, 0, 0,
206 #define YYTABLESIZE 4293
207 short yytable[] = { 69,
208 207, 62, 181, 104, 168, 102, 104, 204, 168, 248,
209 20, 208, 62, 253, 58, 285, 274, 170, 298, 345,
210 104, 104, 172, 202, 80, 104, 311, 148, 149, 82,
211 15, 84, 121, 93, 112, 18, 150, 342, 343, 122,
212 150, 312, 124, 131, 313, 182, 319, 135, 15, 169,
213 363, 275, 97, 18, 171, 104, 340, 341, 26, 98,
214 271, 347, 39, 99, 100, 62, 105, 106, 107, 235,
215 293, 141, 295, 23, 170, 173, 205, 355, 58, 174,
216 39, 358, 112, 23, 187, 188, 189, 190, 191, 192,
217 175, 26, 196, 197, 26, 26, 26, 297, 26, 23,
218 26, 26, 178, 26, 176, 200, 169, 318, 16, 17,
219 20, 180, 183, 112, 193, 203, 201, 26, 194, 38,
220 236, 321, 26, 206, 40, 276, 16, 17, 20, 210,
221 211, 213, 214, 215, 216, 217, 218, 38, 251, 62,
222 168, 310, 15, 292, 284, 149, 149, 282, 149, 26,
223 291, 307, 233, 21, 239, 240, 241, 242, 243, 244,
224 246, 300, 149, 149, 303, 304, 305, 149, 294, 197,
225 306, 308, 150, 258, 211, 332, 211, 168, 268, 316,
226 273, 26, 296, 26, 26, 277, 21, 279, 281, 21,
227 21, 21, 283, 21, 309, 21, 21, 149, 21, 4,
228 5, 6, 325, 7, 8, 299, 154, 155, 19, 150,
229 302, 335, 21, 322, 327, 148, 149, 21, 323, 287,
230 357, 289, 290, 163, 324, 314, 164, 167, 338, 165,
231 166, 167, 337, 87, 104, 104, 104, 104, 88, 346,
232 68, 104, 112, 104, 21, 148, 149, 112, 2, 104,
233 104, 104, 104, 148, 149, 350, 148, 149, 68, 104,
234 104, 101, 104, 104, 104, 104, 104, 104, 104, 348,
235 315, 104, 148, 149, 148, 149, 21, 197, 21, 21,
236 352, 44, 148, 149, 44, 44, 44, 234, 44, 320,
237 44, 44, 68, 44, 336, 258, 359, 148, 149, 360,
238 148, 149, 148, 149, 148, 149, 52, 44, 148, 149,
239 148, 149, 44, 252, 26, 26, 26, 26, 26, 26,
240 58, 26, 26, 26, 26, 26, 26, 26, 26, 26,
241 26, 26, 26, 26, 69, 148, 149, 26, 26, 44,
242 26, 26, 26, 26, 26, 148, 149, 148, 149, 26,
243 26, 26, 26, 26, 26, 163, 168, 26, 164, 161,
244 37, 165, 166, 167, 35, 162, 26, 159, 26, 26,
245 40, 44, 148, 149, 44, 37, 149, 149, 149, 149,
246 35, 21, 96, 149, 77, 149, 148, 149, 150, 212,
247 354, 149, 149, 254, 334, 164, 255, 265, 165, 166,
248 167, 149, 149, 186, 149, 149, 149, 149, 149, 21,
249 21, 21, 21, 21, 21, 157, 21, 21, 21, 21,
250 21, 21, 21, 21, 21, 21, 21, 21, 21, 148,
251 149, 0, 21, 21, 0, 21, 21, 21, 21, 21,
252 0, 0, 0, 168, 21, 21, 21, 21, 21, 21,
253 356, 0, 21, 168, 4, 5, 6, 0, 7, 8,
254 0, 21, 0, 21, 21, 0, 150, 0, 0, 150,
255 0, 68, 68, 68, 68, 150, 0, 0, 68, 0,
256 0, 0, 0, 150, 150, 150, 0, 0, 150, 0,
257 0, 0, 0, 148, 149, 0, 68, 68, 148, 149,
258 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
259 0, 44, 44, 44, 0, 0, 150, 44, 150, 0,
260 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
261 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
262 44, 44, 44, 44, 44, 0, 0, 44, 150, 0,
263 0, 0, 152, 153, 154, 155, 44, 173, 44, 44,
264 173, 173, 173, 0, 173, 157, 173, 173, 157, 173,
265 162, 163, 0, 0, 164, 0, 0, 165, 166, 167,
266 0, 0, 157, 157, 0, 0, 0, 157, 173, 0,
267 0, 4, 5, 6, 0, 7, 8, 0, 0, 0,
268 0, 0, 0, 0, 0, 0, 143, 144, 145, 146,
269 0, 0, 0, 147, 0, 157, 0, 157, 174, 0,
270 0, 174, 174, 174, 0, 174, 114, 174, 174, 114,
271 174, 148, 149, 151, 0, 0, 0, 0, 0, 152,
272 153, 154, 155, 114, 114, 0, 0, 157, 114, 174,
273 173, 154, 156, 158, 159, 160, 161, 162, 163, 0,
274 0, 164, 0, 0, 165, 166, 167, 0, 163, 0,
275 0, 164, 0, 0, 165, 166, 167, 52, 114, 0,
276 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
277 0, 0, 0, 0, 0, 0, 0, 150, 150, 150,
278 150, 0, 0, 58, 150, 0, 150, 0, 63, 0,
279 0, 174, 150, 150, 150, 150, 329, 330, 331, 0,
280 333, 0, 150, 150, 0, 150, 150, 150, 150, 150,
281 150, 150, 0, 0, 150, 61, 0, 150, 150, 150,
282 0, 0, 67, 0, 0, 67, 0, 349, 0, 0,
283 0, 0, 0, 0, 351, 0, 0, 0, 353, 0,
284 67, 0, 0, 168, 0, 0, 0, 23, 0, 0,
285 53, 361, 362, 0, 0, 0, 0, 0, 0, 0,
286 0, 173, 173, 173, 173, 173, 0, 173, 173, 173,
287 0, 0, 0, 173, 67, 150, 157, 157, 157, 157,
288 0, 0, 0, 157, 173, 157, 173, 173, 173, 173,
289 173, 157, 157, 157, 157, 173, 173, 173, 173, 173,
290 173, 157, 157, 173, 157, 157, 157, 157, 157, 157,
291 157, 0, 173, 157, 173, 173, 157, 157, 157, 0,
292 0, 0, 174, 174, 174, 174, 174, 0, 174, 174,
293 174, 0, 0, 0, 174, 0, 0, 114, 114, 114,
294 114, 0, 0, 0, 114, 174, 114, 174, 174, 174,
295 174, 174, 114, 114, 114, 114, 174, 174, 174, 174,
296 174, 174, 114, 114, 174, 114, 114, 114, 114, 114,
297 114, 114, 0, 174, 114, 174, 174, 114, 114, 114,
298 22, 24, 25, 26, 27, 28, 0, 29, 30, 31,
299 0, 0, 0, 32, 0, 168, 33, 34, 35, 36,
300 0, 0, 0, 37, 38, 0, 39, 40, 41, 42,
301 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
302 49, 44, 0, 51, 44, 44, 44, 150, 44, 0,
303 44, 44, 54, 44, 55, 56, 0, 0, 67, 152,
304 0, 154, 155, 0, 0, 0, 0, 44, 0, 0,
305 0, 0, 44, 67, 67, 67, 67, 162, 163, 0,
306 67, 164, 0, 0, 165, 166, 167, 108, 0, 0,
307 117, 0, 0, 0, 0, 0, 0, 52, 67, 44,
308 62, 64, 50, 0, 57, 0, 65, 60, 0, 59,
309 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
310 0, 0, 0, 0, 0, 0, 177, 0, 63, 114,
311 115, 44, 0, 0, 44, 0, 123, 0, 0, 0,
312 185, 0, 0, 0, 0, 0, 0, 0, 136, 137,
313 138, 139, 0, 52, 0, 61, 62, 64, 50, 0,
314 57, 0, 65, 60, 0, 59, 0, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 0, 0, 0, 0, 63, 0, 209, 23, 0, 0,
317 53, 0, 0, 199, 0, 0, 0, 0, 0, 0,
318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
319 0, 61, 0, 154, 155, 0, 52, 0, 0, 62,
320 64, 50, 0, 57, 249, 65, 60, 0, 59, 162,
321 163, 257, 0, 164, 0, 0, 165, 166, 167, 0,
322 0, 0, 0, 23, 0, 0, 53, 63, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 0, 0, 44, 44, 44, 44, 44, 44,
325 0, 44, 44, 44, 61, 0, 0, 44, 0, 0,
326 44, 44, 44, 44, 0, 0, 0, 44, 44, 0,
327 44, 44, 44, 44, 44, 0, 0, 0, 0, 44,
328 44, 44, 44, 44, 44, 0, 23, 44, 0, 53,
329 0, 168, 0, 0, 0, 326, 44, 0, 44, 44,
330 0, 110, 25, 26, 27, 28, 88, 29, 30, 31,
331 0, 0, 0, 32, 0, 0, 0, 157, 0, 0,
332 0, 0, 0, 150, 38, 0, 39, 40, 41, 42,
333 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
334 49, 0, 0, 51, 0, 168, 0, 0, 0, 0,
335 0, 0, 54, 0, 55, 56, 0, 24, 25, 26,
336 27, 28, 0, 29, 30, 31, 0, 0, 0, 32,
337 286, 0, 0, 0, 0, 157, 0, 150, 0, 0,
338 38, 0, 39, 40, 41, 42, 43, 0, 0, 0,
339 0, 44, 45, 46, 47, 48, 49, 0, 0, 51,
340 0, 0, 0, 168, 0, 0, 0, 0, 54, 0,
341 55, 56, 0, 0, 0, 0, 88, 0, 0, 88,
342 116, 25, 26, 27, 28, 0, 29, 30, 31, 0,
343 0, 0, 32, 88, 88, 150, 0, 0, 88, 0,
344 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
345 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
346 52, 0, 51, 62, 64, 50, 0, 57, 88, 65,
347 60, 54, 59, 55, 56, 0, 0, 0, 0, 0,
348 0, 0, 0, 0, 0, 0, 120, 152, 153, 154,
349 155, 63, 0, 0, 0, 0, 0, 0, 0, 0,
350 0, 158, 159, 160, 161, 162, 163, 0, 0, 164,
351 0, 0, 165, 166, 167, 0, 52, 0, 61, 62,
352 64, 50, 0, 57, 130, 65, 60, 0, 59, 0,
353 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
354 0, 152, 153, 154, 155, 0, 0, 63, 0, 0,
355 0, 0, 0, 53, 156, 158, 159, 160, 161, 162,
356 163, 0, 0, 164, 0, 0, 165, 166, 167, 0,
357 0, 0, 52, 0, 61, 62, 64, 50, 0, 57,
358 0, 65, 60, 0, 59, 0, 0, 0, 0, 0,
359 0, 0, 0, 151, 0, 0, 0, 0, 0, 152,
360 153, 154, 155, 63, 0, 0, 0, 0, 0, 53,
361 0, 0, 156, 158, 159, 160, 161, 162, 163, 0,
362 0, 164, 0, 0, 165, 166, 167, 0, 0, 0,
363 61, 52, 134, 0, 62, 64, 50, 0, 57, 195,
364 65, 60, 0, 59, 0, 0, 0, 88, 88, 88,
365 88, 0, 0, 0, 88, 0, 88, 0, 0, 0,
366 0, 0, 63, 88, 0, 53, 0, 0, 0, 0,
367 0, 0, 88, 88, 0, 88, 88, 88, 88, 88,
368 89, 0, 0, 89, 24, 25, 26, 27, 28, 61,
369 29, 30, 31, 0, 0, 0, 32, 89, 89, 0,
370 0, 0, 89, 0, 0, 0, 0, 38, 0, 39,
371 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
372 46, 47, 48, 49, 53, 0, 51, 0, 0, 0,
373 0, 0, 89, 0, 0, 54, 90, 55, 56, 90,
374 24, 25, 26, 27, 28, 0, 29, 30, 31, 0,
375 0, 0, 32, 90, 90, 0, 0, 0, 90, 0,
376 0, 0, 0, 38, 0, 39, 40, 41, 42, 43,
377 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
378 0, 0, 51, 0, 0, 0, 0, 0, 90, 0,
379 0, 54, 0, 55, 56, 0, 24, 25, 26, 27,
380 28, 0, 29, 30, 31, 0, 52, 0, 32, 62,
381 64, 50, 0, 57, 245, 65, 60, 0, 59, 38,
382 0, 39, 40, 41, 42, 43, 0, 0, 0, 0,
383 44, 45, 46, 47, 48, 49, 0, 63, 51, 0,
384 0, 0, 0, 0, 0, 0, 0, 54, 0, 55,
385 56, 0, 0, 0, 0, 24, 25, 26, 27, 28,
386 0, 29, 30, 31, 61, 52, 0, 32, 62, 64,
387 50, 0, 57, 0, 65, 60, 0, 59, 38, 0,
388 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
389 45, 46, 47, 48, 49, 0, 63, 51, 0, 53,
390 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
391 0, 89, 89, 89, 89, 0, 0, 0, 89, 0,
392 89, 52, 0, 61, 62, 64, 50, 0, 57, 278,
393 65, 60, 0, 59, 0, 0, 89, 89, 0, 89,
394 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
395 0, 0, 63, 0, 0, 0, 0, 0, 53, 0,
396 0, 0, 0, 0, 0, 0, 0, 90, 90, 90,
397 90, 0, 0, 0, 90, 0, 90, 52, 0, 61,
398 62, 64, 50, 0, 57, 280, 65, 60, 0, 59,
399 0, 0, 90, 90, 0, 90, 90, 90, 90, 90,
400 0, 0, 0, 0, 0, 0, 0, 0, 63, 0,
401 0, 0, 0, 0, 53, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
403 24, 25, 26, 27, 28, 61, 29, 30, 31, 0,
404 52, 0, 32, 62, 64, 50, 0, 57, 288, 65,
405 60, 0, 59, 38, 0, 39, 40, 41, 42, 43,
406 0, 0, 0, 0, 44, 45, 46, 47, 48, 49,
407 53, 63, 51, 0, 0, 0, 0, 0, 0, 0,
408 0, 54, 0, 55, 56, 0, 0, 0, 22, 24,
409 25, 26, 27, 28, 0, 29, 30, 31, 61, 0,
410 0, 32, 95, 0, 0, 95, 0, 0, 0, 0,
411 0, 0, 38, 0, 39, 40, 41, 42, 43, 95,
412 95, 0, 0, 44, 45, 46, 47, 48, 49, 0,
413 0, 51, 0, 53, 0, 0, 0, 0, 0, 0,
414 54, 0, 55, 56, 0, 24, 25, 26, 27, 28,
415 0, 29, 30, 31, 95, 0, 0, 32, 71, 0,
416 0, 71, 0, 0, 0, 0, 0, 0, 38, 0,
417 39, 40, 41, 42, 43, 71, 71, 0, 0, 44,
418 45, 46, 47, 48, 49, 0, 0, 51, 0, 0,
419 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
420 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
421 71, 52, 0, 32, 62, 64, 50, 0, 57, 0,
422 65, 60, 0, 59, 38, 0, 39, 40, 41, 42,
423 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
424 49, 0, 63, 51, 0, 0, 0, 0, 0, 0,
425 0, 0, 54, 0, 55, 56, 0, 0, 0, 0,
426 131, 0, 0, 131, 24, 25, 26, 27, 28, 61,
427 29, 30, 31, 0, 0, 0, 32, 131, 131, 0,
428 0, 0, 131, 0, 0, 0, 0, 38, 0, 39,
429 40, 41, 42, 43, 0, 0, 0, 0, 44, 45,
430 46, 47, 48, 49, 53, 157, 51, 0, 157, 0,
431 131, 0, 131, 0, 0, 54, 0, 55, 56, 0,
432 0, 0, 157, 157, 0, 0, 0, 157, 0, 0,
433 0, 0, 0, 95, 95, 95, 95, 0, 0, 0,
434 95, 0, 131, 0, 0, 0, 0, 0, 143, 0,
435 0, 143, 0, 0, 0, 157, 0, 157, 95, 95,
436 0, 95, 0, 0, 0, 143, 143, 0, 0, 0,
437 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 0, 0, 0, 0, 0, 0, 157, 0, 71,
439 71, 71, 71, 0, 116, 0, 71, 116, 0, 0,
440 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 116, 116, 0, 71, 71, 116, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
443 143, 0, 0, 0, 0, 24, 25, 26, 27, 28,
444 0, 29, 30, 31, 116, 0, 116, 32, 0, 0,
445 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
446 39, 40, 41, 42, 43, 0, 0, 0, 0, 44,
447 45, 46, 47, 48, 49, 0, 0, 51, 0, 168,
448 0, 0, 0, 0, 0, 0, 54, 0, 55, 56,
449 0, 131, 131, 131, 131, 0, 0, 0, 131, 0,
450 131, 0, 0, 0, 0, 0, 131, 131, 131, 131,
451 0, 150, 0, 0, 0, 0, 131, 131, 0, 131,
452 131, 131, 131, 131, 131, 131, 0, 0, 131, 0,
453 0, 131, 131, 131, 0, 0, 157, 157, 157, 157,
454 0, 159, 0, 157, 159, 157, 0, 0, 0, 0,
455 0, 157, 157, 157, 157, 0, 0, 0, 159, 159,
456 0, 157, 157, 159, 157, 157, 157, 157, 157, 157,
457 157, 0, 0, 157, 0, 0, 157, 157, 157, 143,
458 143, 143, 143, 0, 0, 0, 143, 0, 143, 0,
459 0, 0, 0, 159, 143, 143, 143, 143, 0, 0,
460 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
461 143, 143, 143, 143, 0, 0, 143, 0, 0, 143,
462 143, 143, 0, 159, 0, 116, 116, 116, 116, 168,
463 160, 0, 116, 0, 116, 0, 0, 0, 0, 0,
464 116, 116, 116, 116, 0, 0, 0, 160, 160, 0,
465 116, 116, 160, 116, 116, 116, 116, 116, 116, 116,
466 0, 150, 116, 0, 0, 116, 116, 116, 0, 0,
467 0, 0, 0, 145, 0, 152, 153, 154, 155, 0,
468 160, 0, 160, 0, 0, 0, 0, 0, 0, 0,
469 145, 145, 161, 162, 163, 145, 0, 164, 0, 0,
470 165, 166, 167, 0, 0, 0, 0, 0, 0, 0,
471 0, 0, 160, 0, 0, 0, 0, 108, 0, 0,
472 108, 0, 0, 145, 0, 145, 0, 0, 0, 0,
473 0, 0, 0, 0, 108, 108, 0, 0, 0, 108,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
477 0, 0, 159, 159, 159, 159, 0, 0, 0, 159,
478 0, 159, 0, 0, 0, 0, 0, 159, 159, 159,
479 159, 0, 0, 69, 0, 0, 69, 159, 159, 108,
480 159, 159, 159, 159, 159, 159, 159, 0, 0, 159,
481 69, 69, 159, 159, 159, 69, 0, 0, 0, 0,
482 0, 0, 0, 0, 0, 152, 153, 154, 155, 0,
483 0, 0, 0, 0, 0, 0, 107, 0, 0, 107,
484 159, 160, 161, 162, 163, 69, 0, 164, 0, 0,
485 165, 166, 167, 107, 107, 0, 0, 0, 107, 0,
486 0, 160, 160, 160, 160, 0, 0, 0, 160, 0,
487 160, 0, 0, 0, 0, 69, 160, 160, 160, 160,
488 0, 0, 0, 0, 0, 0, 160, 160, 107, 160,
489 160, 160, 160, 160, 160, 160, 0, 0, 160, 0,
490 0, 160, 160, 160, 145, 145, 145, 145, 0, 72,
491 0, 145, 0, 145, 0, 0, 0, 0, 107, 145,
492 145, 145, 145, 0, 0, 0, 72, 72, 0, 145,
493 145, 72, 145, 145, 145, 145, 145, 145, 145, 0,
494 0, 145, 0, 0, 145, 145, 145, 0, 108, 108,
495 108, 108, 0, 146, 0, 108, 146, 108, 0, 72,
496 0, 72, 0, 108, 108, 108, 108, 0, 0, 0,
497 146, 146, 0, 108, 108, 146, 108, 108, 108, 108,
498 108, 108, 108, 0, 0, 108, 0, 0, 108, 108,
499 108, 72, 0, 0, 0, 0, 159, 90, 90, 159,
500 0, 0, 0, 0, 0, 146, 0, 0, 0, 103,
501 0, 0, 0, 159, 159, 111, 90, 119, 159, 0,
502 0, 0, 90, 0, 69, 69, 69, 69, 0, 0,
503 0, 69, 0, 69, 90, 90, 90, 90, 0, 69,
504 69, 69, 69, 0, 0, 0, 0, 0, 159, 69,
505 69, 0, 69, 69, 69, 69, 69, 69, 69, 0,
506 0, 69, 0, 0, 69, 69, 69, 107, 107, 107,
507 107, 0, 114, 0, 107, 114, 107, 0, 0, 111,
508 0, 0, 107, 107, 107, 107, 0, 0, 0, 114,
509 114, 0, 107, 107, 114, 107, 107, 107, 107, 107,
510 107, 107, 0, 0, 107, 0, 0, 107, 107, 107,
511 0, 0, 0, 0, 0, 121, 0, 0, 121, 0,
512 0, 0, 0, 0, 114, 0, 0, 0, 0, 0,
513 0, 0, 121, 121, 0, 0, 0, 121, 0, 237,
514 72, 72, 72, 72, 0, 0, 0, 72, 0, 72,
515 0, 0, 0, 0, 0, 72, 72, 72, 72, 0,
516 0, 0, 0, 266, 0, 72, 72, 121, 72, 72,
517 72, 72, 72, 72, 72, 0, 0, 72, 0, 0,
518 72, 72, 72, 0, 146, 146, 146, 146, 0, 105,
519 0, 146, 105, 146, 0, 0, 0, 0, 0, 146,
520 146, 146, 146, 0, 0, 0, 105, 105, 0, 146,
521 146, 105, 146, 146, 146, 146, 146, 146, 146, 0,
522 0, 146, 0, 0, 146, 146, 146, 159, 159, 159,
523 159, 0, 99, 0, 159, 99, 159, 0, 0, 0,
524 0, 105, 159, 159, 159, 159, 0, 0, 0, 99,
525 99, 0, 159, 159, 99, 159, 159, 159, 159, 159,
526 159, 159, 0, 0, 159, 0, 0, 159, 159, 159,
527 100, 0, 0, 100, 0, 0, 0, 0, 0, 0,
528 0, 0, 0, 0, 99, 0, 0, 100, 100, 0,
529 0, 0, 100, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 114, 114, 114, 114, 0, 101, 0,
531 114, 101, 114, 0, 0, 0, 0, 0, 114, 114,
532 114, 114, 100, 0, 0, 101, 101, 0, 114, 114,
533 101, 114, 114, 114, 114, 114, 114, 114, 0, 0,
534 114, 0, 0, 114, 114, 114, 121, 121, 121, 121,
535 0, 97, 0, 121, 97, 121, 0, 0, 0, 0,
536 101, 121, 121, 121, 121, 0, 0, 0, 97, 97,
537 0, 121, 121, 97, 121, 121, 121, 121, 121, 121,
538 121, 0, 0, 121, 0, 0, 121, 121, 121, 98,
539 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 97, 0, 0, 98, 98, 0, 0,
541 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
542 105, 105, 105, 105, 0, 96, 0, 105, 96, 105,
543 0, 0, 0, 0, 0, 105, 105, 105, 105, 0,
544 0, 98, 96, 96, 0, 105, 105, 96, 105, 105,
545 105, 105, 105, 105, 105, 0, 0, 105, 0, 0,
546 0, 0, 0, 99, 99, 99, 99, 0, 84, 0,
547 99, 84, 99, 0, 0, 0, 0, 96, 99, 99,
548 99, 99, 0, 0, 0, 84, 84, 0, 99, 99,
549 84, 99, 99, 99, 99, 99, 99, 99, 0, 0,
550 0, 100, 100, 100, 100, 0, 85, 0, 100, 85,
551 100, 0, 0, 0, 0, 0, 100, 100, 100, 100,
552 84, 0, 0, 85, 85, 0, 100, 100, 85, 100,
553 100, 100, 100, 100, 100, 100, 0, 0, 0, 101,
554 101, 101, 101, 0, 86, 0, 101, 86, 101, 0,
555 0, 0, 0, 0, 101, 101, 101, 101, 85, 0,
556 0, 86, 86, 0, 101, 101, 86, 101, 101, 101,
557 101, 101, 101, 101, 0, 0, 0, 0, 0, 0,
558 0, 0, 97, 97, 97, 97, 0, 87, 0, 97,
559 87, 97, 0, 0, 0, 0, 86, 97, 97, 97,
560 97, 0, 0, 0, 87, 87, 0, 97, 97, 87,
561 97, 97, 97, 97, 97, 97, 97, 0, 0, 0,
562 98, 98, 98, 98, 0, 148, 0, 98, 148, 98,
563 0, 0, 0, 0, 0, 98, 98, 98, 98, 87,
564 0, 0, 148, 148, 0, 98, 98, 148, 98, 98,
565 98, 98, 98, 98, 98, 0, 96, 96, 96, 96,
566 0, 135, 0, 96, 135, 96, 0, 0, 0, 0,
567 0, 96, 96, 96, 96, 0, 0, 148, 135, 135,
568 0, 96, 96, 135, 96, 96, 96, 96, 96, 96,
569 96, 0, 0, 0, 0, 0, 0, 0, 0, 84,
570 84, 84, 84, 0, 106, 0, 84, 106, 84, 0,
571 0, 0, 0, 135, 84, 84, 84, 84, 0, 0,
572 0, 106, 106, 0, 84, 84, 106, 84, 84, 84,
573 84, 84, 84, 84, 0, 0, 0, 85, 85, 85,
574 85, 0, 91, 0, 85, 91, 85, 0, 0, 0,
575 0, 0, 85, 85, 85, 85, 106, 0, 0, 91,
576 91, 0, 85, 85, 91, 85, 85, 85, 85, 85,
577 85, 0, 0, 0, 0, 86, 86, 86, 86, 0,
578 93, 0, 86, 93, 86, 0, 0, 0, 0, 0,
579 86, 86, 0, 86, 91, 0, 0, 93, 93, 0,
580 86, 86, 93, 86, 86, 86, 86, 86, 86, 0,
581 168, 0, 0, 0, 0, 0, 0, 0, 87, 87,
582 87, 87, 0, 94, 0, 87, 94, 87, 0, 0,
583 0, 0, 93, 87, 87, 0, 0, 0, 0, 0,
584 94, 94, 150, 87, 87, 94, 87, 87, 87, 87,
585 87, 87, 0, 0, 0, 0, 148, 148, 148, 148,
586 0, 92, 0, 148, 92, 148, 0, 0, 0, 0,
587 0, 148, 148, 144, 0, 94, 144, 0, 92, 92,
588 0, 148, 148, 92, 148, 148, 148, 148, 148, 0,
589 144, 144, 135, 135, 135, 135, 0, 0, 0, 135,
590 0, 135, 0, 0, 0, 0, 0, 135, 135, 0,
591 0, 0, 0, 92, 0, 0, 83, 135, 135, 83,
592 135, 135, 135, 135, 135, 144, 0, 0, 0, 70,
593 0, 0, 70, 83, 83, 106, 106, 106, 106, 0,
594 0, 0, 106, 0, 106, 0, 70, 70, 0, 0,
595 106, 106, 0, 0, 0, 0, 157, 0, 0, 0,
596 106, 106, 0, 106, 106, 106, 106, 106, 83, 0,
597 0, 0, 0, 91, 91, 91, 91, 0, 0, 0,
598 91, 70, 91, 0, 168, 0, 0, 0, 0, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
600 0, 91, 91, 91, 91, 0, 152, 153, 154, 155,
601 0, 93, 93, 93, 93, 0, 150, 0, 93, 0,
602 93, 0, 160, 161, 162, 163, 0, 0, 164, 0,
603 0, 165, 166, 167, 0, 0, 93, 93, 0, 93,
604 93, 93, 157, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 94, 94, 94, 94, 0, 0,
606 0, 94, 0, 94, 0, 0, 0, 0, 0, 0,
607 168, 0, 0, 0, 0, 0, 0, 0, 0, 94,
608 94, 0, 94, 94, 0, 0, 0, 0, 0, 0,
609 0, 0, 92, 92, 92, 92, 0, 0, 0, 92,
610 0, 0, 150, 0, 144, 144, 144, 144, 0, 0,
611 0, 144, 0, 0, 0, 0, 94, 92, 92, 0,
612 92, 0, 0, 0, 104, 0, 0, 0, 109, 144,
613 144, 118, 0, 0, 0, 0, 0, 0, 125, 126,
614 127, 128, 129, 0, 0, 132, 133, 83, 83, 83,
615 83, 0, 140, 0, 83, 0, 0, 0, 0, 0,
616 70, 70, 70, 70, 0, 0, 0, 70, 0, 0,
617 0, 0, 83, 83, 151, 0, 0, 0, 0, 184,
618 152, 153, 154, 155, 0, 70, 70, 0, 0, 0,
619 0, 0, 0, 156, 158, 159, 160, 161, 162, 163,
620 0, 0, 164, 0, 0, 165, 166, 167, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
624 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
625 232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 151, 0, 247, 0, 0, 0, 152, 153, 154, 155,
627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628 158, 159, 160, 161, 162, 163, 0, 0, 164, 0,
629 0, 165, 166, 167, 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, 0, 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, 301, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 short yycheck[] = { 13,
640 41, 36, 86, 41, 91, 40, 44, 59, 91, 59,
641 59, 93, 36, 183, 59, 59, 41, 91, 41, 331,
642 58, 59, 91, 40, 257, 63, 41, 297, 298, 257,
643 41, 59, 46, 40, 43, 41, 123, 276, 277, 257,
644 123, 41, 51, 57, 41, 91, 41, 61, 59, 123,
645 362, 44, 40, 59, 123, 93, 328, 329, 0, 40,
646 192, 333, 41, 40, 40, 36, 40, 40, 40, 40,
647 59, 278, 59, 123, 91, 123, 122, 349, 123, 40,
648 59, 353, 91, 123, 97, 98, 99, 100, 101, 102,
649 59, 33, 106, 107, 36, 37, 38, 59, 40, 123,
650 42, 43, 260, 45, 44, 114, 123, 59, 41, 41,
651 41, 257, 40, 122, 40, 125, 40, 59, 41, 41,
652 91, 291, 64, 91, 41, 41, 59, 59, 59, 143,
653 144, 145, 146, 147, 148, 149, 150, 59, 257, 36,
654 91, 273, 59, 93, 91, 41, 298, 125, 44, 91,
655 40, 40, 123, 0, 168, 169, 170, 171, 172, 173,
656 174, 41, 58, 59, 41, 41, 41, 63, 93, 183,
657 41, 41, 123, 187, 188, 307, 190, 91, 192, 125,
658 193, 123, 93, 125, 126, 199, 33, 201, 202, 36,
659 37, 38, 206, 40, 59, 42, 43, 93, 45, 266,
660 267, 268, 59, 270, 271, 251, 289, 290, 257, 123,
661 256, 41, 59, 125, 123, 297, 298, 64, 125, 233,
662 352, 235, 236, 306, 125, 93, 309, 314, 41, 312,
663 313, 314, 125, 257, 272, 273, 274, 275, 262, 41,
664 41, 279, 251, 281, 91, 297, 298, 256, 0, 287,
665 288, 289, 290, 297, 298, 339, 297, 298, 59, 297,
666 298, 296, 300, 301, 302, 303, 304, 305, 306, 59,
667 284, 309, 297, 298, 297, 298, 123, 291, 125, 126,
668 40, 33, 297, 298, 36, 37, 38, 258, 40, 93,
669 42, 43, 93, 45, 93, 309, 41, 297, 298, 41,
670 297, 298, 297, 298, 297, 298, 123, 59, 297, 298,
671 297, 298, 64, 125, 256, 257, 258, 259, 260, 261,
672 123, 263, 264, 265, 266, 267, 268, 269, 270, 271,
673 272, 273, 274, 275, 348, 297, 298, 279, 280, 91,
674 282, 283, 284, 285, 286, 297, 298, 297, 298, 291,
675 292, 293, 294, 295, 296, 306, 91, 299, 309, 41,
676 41, 312, 313, 314, 59, 41, 308, 59, 310, 311,
677 41, 123, 297, 298, 126, 59, 272, 273, 274, 275,
678 41, 8, 32, 279, 13, 281, 297, 298, 123, 144,
679 348, 287, 288, 41, 309, 309, 44, 190, 312, 313,
680 314, 297, 298, 96, 300, 301, 302, 303, 304, 256,
681 257, 258, 259, 260, 261, 63, 263, 264, 265, 266,
682 267, 268, 269, 270, 271, 272, 273, 274, 275, 297,
683 298, -1, 279, 280, -1, 282, 283, 284, 285, 286,
684 -1, -1, -1, 91, 291, 292, 293, 294, 295, 296,
685 125, -1, 299, 91, 266, 267, 268, -1, 270, 271,
686 -1, 308, -1, 310, 311, -1, 41, -1, -1, 44,
687 -1, 272, 273, 274, 275, 123, -1, -1, 279, -1,
688 -1, -1, -1, 58, 59, 123, -1, -1, 63, -1,
689 -1, -1, -1, 297, 298, -1, 297, 298, 297, 298,
690 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
691 -1, 263, 264, 265, -1, -1, 91, 269, 93, -1,
692 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
693 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
694 292, 293, 294, 295, 296, -1, -1, 299, 123, -1,
695 -1, -1, 287, 288, 289, 290, 308, 33, 310, 311,
696 36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
697 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
698 -1, -1, 58, 59, -1, -1, -1, 63, 64, -1,
699 -1, 266, 267, 268, -1, 270, 271, -1, -1, -1,
700 -1, -1, -1, -1, -1, -1, 272, 273, 274, 275,
701 -1, -1, -1, 279, -1, 91, -1, 93, 33, -1,
702 -1, 36, 37, 38, -1, 40, 41, 42, 43, 44,
703 45, 297, 298, 281, -1, -1, -1, -1, -1, 287,
704 288, 289, 290, 58, 59, -1, -1, 123, 63, 64,
705 126, 289, 300, 301, 302, 303, 304, 305, 306, -1,
706 -1, 309, -1, -1, 312, 313, 314, -1, 306, -1,
707 -1, 309, -1, -1, 312, 313, 314, 33, 93, -1,
708 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
709 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
710 275, -1, -1, 59, 279, -1, 281, -1, 64, -1,
711 -1, 126, 287, 288, 289, 290, 304, 305, 306, -1,
712 308, -1, 297, 298, -1, 300, 301, 302, 303, 304,
713 305, 306, -1, -1, 309, 91, -1, 312, 313, 314,
714 -1, -1, 41, -1, -1, 44, -1, 335, -1, -1,
715 -1, -1, -1, -1, 342, -1, -1, -1, 346, -1,
716 59, -1, -1, 91, -1, -1, -1, 123, -1, -1,
717 126, 359, 360, -1, -1, -1, -1, -1, -1, -1,
718 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
719 -1, -1, -1, 269, 93, 123, 272, 273, 274, 275,
720 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
721 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
722 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
723 306, -1, 308, 309, 310, 311, 312, 313, 314, -1,
724 -1, -1, 257, 258, 259, 260, 261, -1, 263, 264,
725 265, -1, -1, -1, 269, -1, -1, 272, 273, 274,
726 275, -1, -1, -1, 279, 280, 281, 282, 283, 284,
727 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
728 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
729 305, 306, -1, 308, 309, 310, 311, 312, 313, 314,
730 256, 257, 258, 259, 260, 261, -1, 263, 264, 265,
731 -1, -1, -1, 269, -1, 91, 272, 273, 274, 275,
732 -1, -1, -1, 279, 280, -1, 282, 283, 284, 285,
733 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
734 296, 33, -1, 299, 36, 37, 38, 123, 40, -1,
735 42, 43, 308, 45, 310, 311, -1, -1, 13, 287,
736 -1, 289, 290, -1, -1, -1, -1, 59, -1, -1,
737 -1, -1, 64, 272, 273, 274, 275, 305, 306, -1,
738 279, 309, -1, -1, 312, 313, 314, 42, -1, -1,
739 45, -1, -1, -1, -1, -1, -1, 33, 297, 91,
740 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
741 -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
742 -1, -1, -1, -1, -1, -1, 81, -1, 64, 43,
743 44, 123, -1, -1, 126, -1, 50, -1, -1, -1,
744 95, -1, -1, -1, -1, -1, -1, -1, 62, 63,
745 64, 65, -1, 33, -1, 91, 36, 37, 38, -1,
746 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
748 -1, -1, -1, -1, 64, -1, 141, 123, -1, -1,
749 126, -1, -1, 107, -1, -1, -1, -1, -1, -1,
750 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
751 -1, 91, -1, 289, 290, -1, 33, -1, -1, 36,
752 37, 38, -1, 40, 179, 42, 43, -1, 45, 305,
753 306, 186, -1, 309, -1, -1, 312, 313, 314, -1,
754 -1, -1, -1, 123, -1, -1, 126, 64, -1, -1,
755 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
756 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
757 -1, 263, 264, 265, 91, -1, -1, 269, -1, -1,
758 272, 273, 274, 275, -1, -1, -1, 279, 280, -1,
759 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
760 292, 293, 294, 295, 296, -1, 123, 299, -1, 126,
761 -1, 91, -1, -1, -1, 41, 308, -1, 310, 311,
762 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
763 -1, -1, -1, 269, -1, -1, -1, 63, -1, -1,
764 -1, -1, -1, 123, 280, -1, 282, 283, 284, 285,
765 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
766 296, -1, -1, 299, -1, 91, -1, -1, -1, -1,
767 -1, -1, 308, -1, 310, 311, -1, 257, 258, 259,
768 260, 261, -1, 263, 264, 265, -1, -1, -1, 269,
769 58, -1, -1, -1, -1, 63, -1, 123, -1, -1,
770 280, -1, 282, 283, 284, 285, 286, -1, -1, -1,
771 -1, 291, 292, 293, 294, 295, 296, -1, -1, 299,
772 -1, -1, -1, 91, -1, -1, -1, -1, 308, -1,
773 310, 311, -1, -1, -1, -1, 41, -1, -1, 44,
774 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
775 -1, -1, 269, 58, 59, 123, -1, -1, 63, -1,
776 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
777 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
778 33, -1, 299, 36, 37, 38, -1, 40, 93, 42,
779 43, 308, 45, 310, 311, -1, -1, -1, -1, -1,
780 -1, -1, -1, -1, -1, -1, 59, 287, 288, 289,
781 290, 64, -1, -1, -1, -1, -1, -1, -1, -1,
782 -1, 301, 302, 303, 304, 305, 306, -1, -1, 309,
783 -1, -1, 312, 313, 314, -1, 33, -1, 91, 36,
784 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
785 -1, -1, -1, -1, -1, 281, -1, -1, -1, -1,
786 -1, 287, 288, 289, 290, -1, -1, 64, -1, -1,
787 -1, -1, -1, 126, 300, 301, 302, 303, 304, 305,
788 306, -1, -1, 309, -1, -1, 312, 313, 314, -1,
789 -1, -1, 33, -1, 91, 36, 37, 38, -1, 40,
790 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
791 -1, -1, -1, 281, -1, -1, -1, -1, -1, 287,
792 288, 289, 290, 64, -1, -1, -1, -1, -1, 126,
793 -1, -1, 300, 301, 302, 303, 304, 305, 306, -1,
794 -1, 309, -1, -1, 312, 313, 314, -1, -1, -1,
795 91, 33, 93, -1, 36, 37, 38, -1, 40, 41,
796 42, 43, -1, 45, -1, -1, -1, 272, 273, 274,
797 275, -1, -1, -1, 279, -1, 281, -1, -1, -1,
798 -1, -1, 64, 288, -1, 126, -1, -1, -1, -1,
799 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
800 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
801 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
802 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
803 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
804 293, 294, 295, 296, 126, -1, 299, -1, -1, -1,
805 -1, -1, 93, -1, -1, 308, 41, 310, 311, 44,
806 257, 258, 259, 260, 261, -1, 263, 264, 265, -1,
807 -1, -1, 269, 58, 59, -1, -1, -1, 63, -1,
808 -1, -1, -1, 280, -1, 282, 283, 284, 285, 286,
809 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
810 -1, -1, 299, -1, -1, -1, -1, -1, 93, -1,
811 -1, 308, -1, 310, 311, -1, 257, 258, 259, 260,
812 261, -1, 263, 264, 265, -1, 33, -1, 269, 36,
813 37, 38, -1, 40, 41, 42, 43, -1, 45, 280,
814 -1, 282, 283, 284, 285, 286, -1, -1, -1, -1,
815 291, 292, 293, 294, 295, 296, -1, 64, 299, -1,
816 -1, -1, -1, -1, -1, -1, -1, 308, -1, 310,
817 311, -1, -1, -1, -1, 257, 258, 259, 260, 261,
818 -1, 263, 264, 265, 91, 33, -1, 269, 36, 37,
819 38, -1, 40, -1, 42, 43, -1, 45, 280, -1,
820 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
821 292, 293, 294, 295, 296, -1, 64, 299, -1, 126,
822 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
823 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
824 281, 33, -1, 91, 36, 37, 38, -1, 40, 41,
825 42, 43, -1, 45, -1, -1, 297, 298, -1, 300,
826 301, 302, 303, 304, -1, -1, -1, -1, -1, -1,
827 -1, -1, 64, -1, -1, -1, -1, -1, 126, -1,
828 -1, -1, -1, -1, -1, -1, -1, 272, 273, 274,
829 275, -1, -1, -1, 279, -1, 281, 33, -1, 91,
830 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
831 -1, -1, 297, 298, -1, 300, 301, 302, 303, 304,
832 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
833 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
834 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
835 257, 258, 259, 260, 261, 91, 263, 264, 265, -1,
836 33, -1, 269, 36, 37, 38, -1, 40, 41, 42,
837 43, -1, 45, 280, -1, 282, 283, 284, 285, 286,
838 -1, -1, -1, -1, 291, 292, 293, 294, 295, 296,
839 126, 64, 299, -1, -1, -1, -1, -1, -1, -1,
840 -1, 308, -1, 310, 311, -1, -1, -1, 256, 257,
841 258, 259, 260, 261, -1, 263, 264, 265, 91, -1,
842 -1, 269, 41, -1, -1, 44, -1, -1, -1, -1,
843 -1, -1, 280, -1, 282, 283, 284, 285, 286, 58,
844 59, -1, -1, 291, 292, 293, 294, 295, 296, -1,
845 -1, 299, -1, 126, -1, -1, -1, -1, -1, -1,
846 308, -1, 310, 311, -1, 257, 258, 259, 260, 261,
847 -1, 263, 264, 265, 93, -1, -1, 269, 41, -1,
848 -1, 44, -1, -1, -1, -1, -1, -1, 280, -1,
849 282, 283, 284, 285, 286, 58, 59, -1, -1, 291,
850 292, 293, 294, 295, 296, -1, -1, 299, -1, -1,
851 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
852 -1, 257, 258, 259, 260, 261, -1, 263, 264, 265,
853 93, 33, -1, 269, 36, 37, 38, -1, 40, -1,
854 42, 43, -1, 45, 280, -1, 282, 283, 284, 285,
855 286, -1, -1, -1, -1, 291, 292, 293, 294, 295,
856 296, -1, 64, 299, -1, -1, -1, -1, -1, -1,
857 -1, -1, 308, -1, 310, 311, -1, -1, -1, -1,
858 41, -1, -1, 44, 257, 258, 259, 260, 261, 91,
859 263, 264, 265, -1, -1, -1, 269, 58, 59, -1,
860 -1, -1, 63, -1, -1, -1, -1, 280, -1, 282,
861 283, 284, 285, 286, -1, -1, -1, -1, 291, 292,
862 293, 294, 295, 296, 126, 41, 299, -1, 44, -1,
863 91, -1, 93, -1, -1, 308, -1, 310, 311, -1,
864 -1, -1, 58, 59, -1, -1, -1, 63, -1, -1,
865 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
866 279, -1, 123, -1, -1, -1, -1, -1, 41, -1,
867 -1, 44, -1, -1, -1, 91, -1, 93, 297, 298,
868 -1, 300, -1, -1, -1, 58, 59, -1, -1, -1,
869 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
870 -1, -1, -1, -1, -1, -1, -1, 123, -1, 272,
871 273, 274, 275, -1, 41, -1, 279, 44, -1, -1,
872 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
873 -1, 58, 59, -1, 297, 298, 63, -1, -1, -1,
874 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
875 123, -1, -1, -1, -1, 257, 258, 259, 260, 261,
876 -1, 263, 264, 265, 91, -1, 93, 269, -1, -1,
877 -1, -1, -1, -1, -1, -1, -1, -1, 280, -1,
878 282, 283, 284, 285, 286, -1, -1, -1, -1, 291,
879 292, 293, 294, 295, 296, -1, -1, 299, -1, 91,
880 -1, -1, -1, -1, -1, -1, 308, -1, 310, 311,
881 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
882 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
883 -1, 123, -1, -1, -1, -1, 297, 298, -1, 300,
884 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
885 -1, 312, 313, 314, -1, -1, 272, 273, 274, 275,
886 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
887 -1, 287, 288, 289, 290, -1, -1, -1, 58, 59,
888 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
889 306, -1, -1, 309, -1, -1, 312, 313, 314, 272,
890 273, 274, 275, -1, -1, -1, 279, -1, 281, -1,
891 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
892 -1, -1, -1, -1, 297, 298, -1, 300, 301, 302,
893 303, 304, 305, 306, -1, -1, 309, -1, -1, 312,
894 313, 314, -1, 123, -1, 272, 273, 274, 275, 91,
895 41, -1, 279, -1, 281, -1, -1, -1, -1, -1,
896 287, 288, 289, 290, -1, -1, -1, 58, 59, -1,
897 297, 298, 63, 300, 301, 302, 303, 304, 305, 306,
898 -1, 123, 309, -1, -1, 312, 313, 314, -1, -1,
899 -1, -1, -1, 41, -1, 287, 288, 289, 290, -1,
900 91, -1, 93, -1, -1, -1, -1, -1, -1, -1,
901 58, 59, 304, 305, 306, 63, -1, 309, -1, -1,
902 312, 313, 314, -1, -1, -1, -1, -1, -1, -1,
903 -1, -1, 123, -1, -1, -1, -1, 41, -1, -1,
904 44, -1, -1, 91, -1, 93, -1, -1, -1, -1,
905 -1, -1, -1, -1, 58, 59, -1, -1, -1, 63,
906 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
907 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
908 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
909 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
910 -1, 281, -1, -1, -1, -1, -1, 287, 288, 289,
911 290, -1, -1, 41, -1, -1, 44, 297, 298, 123,
912 300, 301, 302, 303, 304, 305, 306, -1, -1, 309,
913 58, 59, 312, 313, 314, 63, -1, -1, -1, -1,
914 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
915 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
916 302, 303, 304, 305, 306, 93, -1, 309, -1, -1,
917 312, 313, 314, 58, 59, -1, -1, -1, 63, -1,
918 -1, 272, 273, 274, 275, -1, -1, -1, 279, -1,
919 281, -1, -1, -1, -1, 123, 287, 288, 289, 290,
920 -1, -1, -1, -1, -1, -1, 297, 298, 93, 300,
921 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
922 -1, 312, 313, 314, 272, 273, 274, 275, -1, 41,
923 -1, 279, -1, 281, -1, -1, -1, -1, 123, 287,
924 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
925 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
926 -1, 309, -1, -1, 312, 313, 314, -1, 272, 273,
927 274, 275, -1, 41, -1, 279, 44, 281, -1, 91,
928 -1, 93, -1, 287, 288, 289, 290, -1, -1, -1,
929 58, 59, -1, 297, 298, 63, 300, 301, 302, 303,
930 304, 305, 306, -1, -1, 309, -1, -1, 312, 313,
931 314, 123, -1, -1, -1, -1, 41, 25, 26, 44,
932 -1, -1, -1, -1, -1, 93, -1, -1, -1, 37,
933 -1, -1, -1, 58, 59, 43, 44, 45, 63, -1,
934 -1, -1, 50, -1, 272, 273, 274, 275, -1, -1,
935 -1, 279, -1, 281, 62, 63, 64, 65, -1, 287,
936 288, 289, 290, -1, -1, -1, -1, -1, 93, 297,
937 298, -1, 300, 301, 302, 303, 304, 305, 306, -1,
938 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
939 275, -1, 41, -1, 279, 44, 281, -1, -1, 107,
940 -1, -1, 287, 288, 289, 290, -1, -1, -1, 58,
941 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
942 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
943 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
944 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
945 -1, -1, 58, 59, -1, -1, -1, 63, -1, 167,
946 272, 273, 274, 275, -1, -1, -1, 279, -1, 281,
947 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
948 -1, -1, -1, 191, -1, 297, 298, 93, 300, 301,
949 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
950 312, 313, 314, -1, 272, 273, 274, 275, -1, 41,
951 -1, 279, 44, 281, -1, -1, -1, -1, -1, 287,
952 288, 289, 290, -1, -1, -1, 58, 59, -1, 297,
953 298, 63, 300, 301, 302, 303, 304, 305, 306, -1,
954 -1, 309, -1, -1, 312, 313, 314, 272, 273, 274,
955 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
956 -1, 93, 287, 288, 289, 290, -1, -1, -1, 58,
957 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
958 305, 306, -1, -1, 309, -1, -1, 312, 313, 314,
959 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
960 -1, -1, -1, -1, 93, -1, -1, 58, 59, -1,
961 -1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
962 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
963 279, 44, 281, -1, -1, -1, -1, -1, 287, 288,
964 289, 290, 93, -1, -1, 58, 59, -1, 297, 298,
965 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
966 309, -1, -1, 312, 313, 314, 272, 273, 274, 275,
967 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
968 93, 287, 288, 289, 290, -1, -1, -1, 58, 59,
969 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
970 306, -1, -1, 309, -1, -1, 312, 313, 314, 41,
971 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
972 -1, -1, -1, 93, -1, -1, 58, 59, -1, -1,
973 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
974 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
975 -1, -1, -1, -1, -1, 287, 288, 289, 290, -1,
976 -1, 93, 58, 59, -1, 297, 298, 63, 300, 301,
977 302, 303, 304, 305, 306, -1, -1, 309, -1, -1,
978 -1, -1, -1, 272, 273, 274, 275, -1, 41, -1,
979 279, 44, 281, -1, -1, -1, -1, 93, 287, 288,
980 289, 290, -1, -1, -1, 58, 59, -1, 297, 298,
981 63, 300, 301, 302, 303, 304, 305, 306, -1, -1,
982 -1, 272, 273, 274, 275, -1, 41, -1, 279, 44,
983 281, -1, -1, -1, -1, -1, 287, 288, 289, 290,
984 93, -1, -1, 58, 59, -1, 297, 298, 63, 300,
985 301, 302, 303, 304, 305, 306, -1, -1, -1, 272,
986 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
987 -1, -1, -1, -1, 287, 288, 289, 290, 93, -1,
988 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
989 303, 304, 305, 306, -1, -1, -1, -1, -1, -1,
990 -1, -1, 272, 273, 274, 275, -1, 41, -1, 279,
991 44, 281, -1, -1, -1, -1, 93, 287, 288, 289,
992 290, -1, -1, -1, 58, 59, -1, 297, 298, 63,
993 300, 301, 302, 303, 304, 305, 306, -1, -1, -1,
994 272, 273, 274, 275, -1, 41, -1, 279, 44, 281,
995 -1, -1, -1, -1, -1, 287, 288, 289, 290, 93,
996 -1, -1, 58, 59, -1, 297, 298, 63, 300, 301,
997 302, 303, 304, 305, 306, -1, 272, 273, 274, 275,
998 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
999 -1, 287, 288, 289, 290, -1, -1, 93, 58, 59,
1000 -1, 297, 298, 63, 300, 301, 302, 303, 304, 305,
1001 306, -1, -1, -1, -1, -1, -1, -1, -1, 272,
1002 273, 274, 275, -1, 41, -1, 279, 44, 281, -1,
1003 -1, -1, -1, 93, 287, 288, 289, 290, -1, -1,
1004 -1, 58, 59, -1, 297, 298, 63, 300, 301, 302,
1005 303, 304, 305, 306, -1, -1, -1, 272, 273, 274,
1006 275, -1, 41, -1, 279, 44, 281, -1, -1, -1,
1007 -1, -1, 287, 288, 289, 290, 93, -1, -1, 58,
1008 59, -1, 297, 298, 63, 300, 301, 302, 303, 304,
1009 305, -1, -1, -1, -1, 272, 273, 274, 275, -1,
1010 41, -1, 279, 44, 281, -1, -1, -1, -1, -1,
1011 287, 288, -1, 290, 93, -1, -1, 58, 59, -1,
1012 297, 298, 63, 300, 301, 302, 303, 304, 305, -1,
1013 91, -1, -1, -1, -1, -1, -1, -1, 272, 273,
1014 274, 275, -1, 41, -1, 279, 44, 281, -1, -1,
1015 -1, -1, 93, 287, 288, -1, -1, -1, -1, -1,
1016 58, 59, 123, 297, 298, 63, 300, 301, 302, 303,
1017 304, 305, -1, -1, -1, -1, 272, 273, 274, 275,
1018 -1, 41, -1, 279, 44, 281, -1, -1, -1, -1,
1019 -1, 287, 288, 41, -1, 93, 44, -1, 58, 59,
1020 -1, 297, 298, 63, 300, 301, 302, 303, 304, -1,
1021 58, 59, 272, 273, 274, 275, -1, -1, -1, 279,
1022 -1, 281, -1, -1, -1, -1, -1, 287, 288, -1,
1023 -1, -1, -1, 93, -1, -1, 41, 297, 298, 44,
1024 300, 301, 302, 303, 304, 93, -1, -1, -1, 41,
1025 -1, -1, 44, 58, 59, 272, 273, 274, 275, -1,
1026 -1, -1, 279, -1, 281, -1, 58, 59, -1, -1,
1027 287, 288, -1, -1, -1, -1, 63, -1, -1, -1,
1028 297, 298, -1, 300, 301, 302, 303, 304, 93, -1,
1029 -1, -1, -1, 272, 273, 274, 275, -1, -1, -1,
1030 279, 93, 281, -1, 91, -1, -1, -1, -1, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, 297, 298,
1032 -1, 300, 301, 302, 303, -1, 287, 288, 289, 290,
1033 -1, 272, 273, 274, 275, -1, 123, -1, 279, -1,
1034 281, -1, 303, 304, 305, 306, -1, -1, 309, -1,
1035 -1, 312, 313, 314, -1, -1, 297, 298, -1, 300,
1036 301, 302, 63, -1, -1, -1, -1, -1, -1, -1,
1037 -1, -1, -1, -1, 272, 273, 274, 275, -1, -1,
1038 -1, 279, -1, 281, -1, -1, -1, -1, -1, -1,
1039 91, -1, -1, -1, -1, -1, -1, -1, -1, 297,
1040 298, -1, 300, 301, -1, -1, -1, -1, -1, -1,
1041 -1, -1, 272, 273, 274, 275, -1, -1, -1, 279,
1042 -1, -1, 123, -1, 272, 273, 274, 275, -1, -1,
1043 -1, 279, -1, -1, -1, -1, 30, 297, 298, -1,
1044 300, -1, -1, -1, 38, -1, -1, -1, 42, 297,
1045 298, 45, -1, -1, -1, -1, -1, -1, 52, 53,
1046 54, 55, 56, -1, -1, 59, 60, 272, 273, 274,
1047 275, -1, 66, -1, 279, -1, -1, -1, -1, -1,
1048 272, 273, 274, 275, -1, -1, -1, 279, -1, -1,
1049 -1, -1, 297, 298, 281, -1, -1, -1, -1, 93,
1050 287, 288, 289, 290, -1, 297, 298, -1, -1, -1,
1051 -1, -1, -1, 300, 301, 302, 303, 304, 305, 306,
1052 -1, -1, 309, -1, -1, 312, 313, 314, -1, -1,
1053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1055 -1, -1, -1, -1, -1, -1, -1, 151, 152, 153,
1056 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1057 164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1058 281, -1, 176, -1, -1, -1, 287, 288, 289, 290,
1059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1060 301, 302, 303, 304, 305, 306, -1, -1, 309, -1,
1061 -1, 312, 313, 314, -1, -1, -1, -1, -1, -1,
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, 255, -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,
1075 #define YYMAXTOKEN 314
1078 "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,
1079 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1080 0,0,0,0,0,"':'","';'",0,0,0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1081 0,0,0,0,0,0,"'['",0,"']'",0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,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,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,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,"WORD","METHOD","FUNCMETH","THING",
1086 "PMFUNC","PRIVATEREF","FUNC0SUB","UNIOPSUB","LSTOPSUB","LABEL","FORMAT","SUB",
1087 "ANONSUB","PACKAGE","USE","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF",
1088 "CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1","FUNC","UNIOP","LSTOP",
1089 "RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","HASHBRACK","NOAMP","LOCAL","MY",
1090 "OROP","ANDOP","NOTOP","ASSIGNOP","OROR","ANDAND","BITOROP","BITANDOP",
1091 "SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC","POSTINC",
1097 "prog : $$1 lineseq",
1098 "block : '{' remember lineseq '}'",
1100 "mblock : '{' mremember lineseq '}'",
1103 "lineseq : lineseq decl",
1104 "lineseq : lineseq line",
1105 "line : label cond",
1108 "line : label sideff ';'",
1111 "sideff : expr IF expr",
1112 "sideff : expr UNLESS expr",
1113 "sideff : expr WHILE expr",
1114 "sideff : expr UNTIL iexpr",
1115 "sideff : expr FOR expr",
1117 "else : ELSE mblock",
1118 "else : ELSIF '(' mexpr ')' mblock else",
1119 "cond : IF '(' remember mexpr ')' mblock else",
1120 "cond : UNLESS '(' remember miexpr ')' mblock else",
1122 "cont : CONTINUE block",
1123 "loop : label WHILE '(' remember mtexpr ')' mblock cont",
1124 "loop : label UNTIL '(' remember miexpr ')' mblock cont",
1125 "loop : label FOR MY remember my_scalar '(' mexpr ')' mblock cont",
1126 "loop : label FOR scalar '(' remember mexpr ')' mblock cont",
1127 "loop : label FOR '(' remember mexpr ')' mblock cont",
1128 "loop : label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock",
1129 "loop : label block cont",
1145 "format : FORMAT startformsub formname block",
1148 "subrout : SUB startsub subname proto subbody",
1157 "package : PACKAGE WORD ';'",
1158 "package : PACKAGE ';'",
1160 "use : USE startsub $$2 WORD WORD listexpr ';'",
1161 "expr : expr ANDOP expr",
1162 "expr : expr OROP expr",
1164 "argexpr : argexpr ','",
1165 "argexpr : argexpr ',' term",
1167 "listop : LSTOP indirob argexpr",
1168 "listop : FUNC '(' indirob expr ')'",
1169 "listop : term ARROW method '(' listexprcom ')'",
1170 "listop : METHOD indirob listexpr",
1171 "listop : FUNCMETH indirob '(' listexprcom ')'",
1172 "listop : LSTOP listexpr",
1173 "listop : FUNC '(' listexprcom ')'",
1175 "listop : LSTOPSUB startanonsub block $$3 listexpr",
1178 "term : term ASSIGNOP term",
1179 "term : term POWOP term",
1180 "term : term MULOP term",
1181 "term : term ADDOP term",
1182 "term : term SHIFTOP term",
1183 "term : term RELOP term",
1184 "term : term EQOP term",
1185 "term : term BITANDOP term",
1186 "term : term BITOROP term",
1187 "term : term DOTDOT term",
1188 "term : term ANDAND term",
1189 "term : term OROR term",
1190 "term : term '?' term ':' term",
1191 "term : term MATCHOP term",
1196 "term : REFGEN term",
1197 "term : term POSTINC",
1198 "term : term POSTDEC",
1199 "term : PREINC term",
1200 "term : PREDEC term",
1201 "term : local term",
1202 "term : '(' expr ')'",
1204 "term : '[' expr ']'",
1206 "term : HASHBRACK expr ';' '}'",
1207 "term : HASHBRACK ';' '}'",
1208 "term : ANONSUB startanonsub proto block",
1210 "term : star '{' expr ';' '}'",
1212 "term : scalar '[' expr ']'",
1213 "term : term ARROW '[' expr ']'",
1214 "term : term '[' expr ']'",
1218 "term : scalar '{' expr ';' '}'",
1219 "term : term ARROW '{' expr ';' '}'",
1220 "term : term '{' expr ';' '}'",
1221 "term : '(' expr ')' '[' expr ']'",
1222 "term : '(' ')' '[' expr ']'",
1223 "term : ary '[' expr ']'",
1224 "term : ary '{' expr ';' '}'",
1227 "term : amper '(' ')'",
1228 "term : amper '(' expr ')'",
1229 "term : NOAMP WORD listexpr",
1232 "term : DO WORD '(' ')'",
1233 "term : DO WORD '(' expr ')'",
1234 "term : DO scalar '(' ')'",
1235 "term : DO scalar '(' expr ')'",
1236 "term : term ARROW '(' ')'",
1237 "term : term ARROW '(' expr ')'",
1239 "term : LOOPEX term",
1240 "term : NOTOP argexpr",
1242 "term : UNIOP block",
1243 "term : UNIOP term",
1244 "term : UNIOPSUB term",
1246 "term : FUNC0 '(' ')'",
1248 "term : FUNC1 '(' ')'",
1249 "term : FUNC1 '(' expr ')'",
1250 "term : PMFUNC '(' term ')'",
1251 "term : PMFUNC '(' term ',' term ')'",
1255 "listexpr : argexpr",
1257 "listexprcom : expr",
1258 "listexprcom : expr ','",
1261 "my_scalar : scalar",
1262 "amper : '&' indirob",
1263 "scalar : '$' indirob",
1264 "ary : '@' indirob",
1265 "hsh : '%' indirob",
1266 "arylen : DOLSHARP indirob",
1267 "star : '*' indirob",
1271 "indirob : PRIVATEREF",
1274 #define yyclearin (yychar=(-1))
1275 #define yyerrok (yyerrflag=0)
1278 #define YYMAXDEPTH YYSTACKSIZE
1282 #define YYSTACKSIZE YYMAXDEPTH
1284 #define YYSTACKSIZE 500
1285 #define YYMAXDEPTH 500
1290 #line 1353 "perly.c"
1291 #define YYABORT goto yyabort
1292 #define YYACCEPT goto yyaccept
1293 #define YYERROR goto yyerrlab
1307 yydestruct(void *ptr)
1309 struct ysv* ysave = (struct ysv*)ptr;
1310 if (ysave->yyss) Safefree(ysave->yyss);
1311 if (ysave->yyvs) Safefree(ysave->yyvs);
1312 yydebug = ysave->oldyydebug;
1313 yynerrs = ysave->oldyynerrs;
1314 yyerrflag = ysave->oldyyerrflag;
1315 yychar = ysave->oldyychar;
1316 yyval = ysave->oldyyval;
1317 yylval = ysave->oldyylval;
1324 register int yym, yyn, yystate;
1325 register short *yyssp;
1326 register YYSTYPE *yyvsp;
1329 unsigned yystacksize = YYSTACKSIZE;
1334 extern char *getenv();
1339 New(73, ysave, 1, struct ysv);
1340 SAVEDESTRUCTOR(yydestruct, ysave);
1341 ysave->oldyydebug = yydebug;
1342 ysave->oldyynerrs = yynerrs;
1343 ysave->oldyyerrflag = yyerrflag;
1344 ysave->oldyychar = yychar;
1345 ysave->oldyyval = yyval;
1346 ysave->oldyylval = yylval;
1349 if (yys = getenv("YYDEBUG"))
1352 if (yyn >= '0' && yyn <= '9')
1353 yydebug = yyn - '0';
1362 ** Initialize private stacks (yyparse may be called from an action)
1364 New(73, yyss, yystacksize, short);
1365 New(73, yyvs, yystacksize, YYSTYPE);
1373 *yyssp = yystate = 0;
1376 if (yyn = yydefred[yystate]) goto yyreduce;
1379 if ((yychar = yylex()) < 0) yychar = 0;
1384 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1385 if (!yys) yys = "illegal-symbol";
1386 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reading %d (%s)\n", yystate,
1391 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1392 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1396 PerlIO_printf(Perl_debug_log, "yydebug: state %d, shifting to state %d\n",
1397 yystate, yytable[yyn]);
1399 if (yyssp >= yyss + yystacksize - 1)
1402 ** reallocate and recover. Note that pointers
1403 ** have to be reset, or bad things will happen
1405 int yyps_index = (yyssp - yyss);
1406 int yypv_index = (yyvsp - yyvs);
1407 yystacksize += YYSTACKSIZE;
1408 ysave->yyvs = yyvs =
1409 (YYSTYPE*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1410 ysave->yyss = yyss =
1411 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
1414 yyssp = yyss + yyps_index;
1415 yyvsp = yyvs + yypv_index;
1417 *++yyssp = yystate = yytable[yyn];
1420 if (yyerrflag > 0) --yyerrflag;
1423 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1424 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1429 if (yyerrflag) goto yyinrecovery;
1434 yyerror("syntax error");
1446 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1447 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1451 PerlIO_printf(Perl_debug_log,
1452 "yydebug: state %d, error recovery shifting to state %d\n",
1453 *yyssp, yytable[yyn]);
1455 if (yyssp >= yyss + yystacksize - 1)
1458 ** reallocate and recover. Note that pointers
1459 ** have to be reset, or bad things will happen
1461 int yyps_index = (yyssp - yyss);
1462 int yypv_index = (yyvsp - yyvs);
1463 yystacksize += YYSTACKSIZE;
1464 ysave->yyvs = yyvs = (YYSTYPE*)PerlMem_realloc((char*)yyvs,
1465 yystacksize * sizeof(YYSTYPE));
1466 ysave->yyss = yyss = (short*)PerlMem_realloc((char*)yyss,
1467 yystacksize * sizeof(short));
1470 yyssp = yyss + yyps_index;
1471 yyvsp = yyvs + yypv_index;
1473 *++yyssp = yystate = yytable[yyn];
1481 PerlIO_printf(Perl_debug_log,
1482 "yydebug: error recovery discarding state %d\n",
1485 if (yyssp <= yyss) goto yyabort;
1493 if (yychar == 0) goto yyabort;
1498 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1499 if (!yys) yys = "illegal-symbol";
1500 PerlIO_printf(Perl_debug_log,
1501 "yydebug: state %d, error recovery discards token %d (%s)\n",
1502 yystate, yychar, yys);
1511 PerlIO_printf(Perl_debug_log, "yydebug: state %d, reducing by rule %d (%s)\n",
1512 yystate, yyn, yyrule[yyn]);
1515 yyval = yyvsp[1-yym];
1521 #if defined(YYDEBUG) && defined(DEBUGGING)
1522 yydebug = (PL_debug & 1);
1529 { newPROG(yyvsp[0].opval); }
1533 { if (PL_copline > (line_t)yyvsp[-3].ival)
1534 PL_copline = yyvsp[-3].ival;
1535 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1539 { yyval.ival = block_start(TRUE); }
1543 { if (PL_copline > (line_t)yyvsp[-3].ival)
1544 PL_copline = yyvsp[-3].ival;
1545 yyval.opval = block_end(yyvsp[-2].ival, yyvsp[-1].opval); }
1549 { yyval.ival = block_start(FALSE); }
1553 { yyval.opval = Nullop; }
1557 { yyval.opval = yyvsp[-1].opval; }
1561 { yyval.opval = append_list(OP_LINESEQ,
1562 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval);
1563 PL_pad_reset_pending = TRUE;
1564 if (yyvsp[-1].opval && yyvsp[0].opval) PL_hints |= HINT_BLOCK_SCOPE; }
1568 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1572 { if (yyvsp[-1].pval != Nullch) {
1573 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1576 yyval.opval = Nullop;
1577 PL_copline = NOLINE;
1579 PL_expect = XSTATE; }
1583 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1584 PL_expect = XSTATE; }
1588 { yyval.opval = Nullop; }
1592 { yyval.opval = yyvsp[0].opval; }
1596 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1600 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1604 { yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1608 { yyval.opval = newLOOPOP(OPf_PARENS, 1, yyvsp[0].opval, yyvsp[-2].opval);}
1612 { yyval.opval = newFOROP(0, Nullch, yyvsp[-1].ival,
1613 Nullop, yyvsp[0].opval, yyvsp[-2].opval, Nullop); }
1617 { yyval.opval = Nullop; }
1621 { yyval.opval = scope(yyvsp[0].opval); }
1625 { PL_copline = yyvsp[-5].ival;
1626 yyval.opval = newSTATEOP(0, Nullch,
1627 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval));
1628 PL_hints |= HINT_BLOCK_SCOPE; }
1632 { PL_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 { PL_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 { PL_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 { PL_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 PL_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, PL_na);
1777 if (strEQ(name, "BEGIN") || strEQ(name, "END")
1778 || strEQ(name, "INIT"))
1779 CvUNIQUE_on(PL_compcv);
1780 yyval.opval = yyvsp[0].opval; }
1784 { yyval.opval = Nullop; }
1788 { yyval.opval = yyvsp[0].opval; }
1792 { yyval.opval = Nullop; PL_expect = XSTATE; }
1796 { package(yyvsp[-1].opval); }
1800 { package(Nullop); }
1804 { CvUNIQUE_on(PL_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, yyvsp[-4].opval, scalar(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 PL_expect = XOPERATOR; }
2052 { yyval.opval = newBINOP(OP_HELEM, 0,
2053 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
2054 jmaybe(yyvsp[-2].opval));
2055 PL_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 PL_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 PL_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 PL_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 { PL_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 2270 "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*)PerlMem_realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2351 ysave->yyss = yyss =
2352 (short*)PerlMem_realloc((char*)yyss,yystacksize * sizeof(short));
2355 yyssp = yyss + yyps_index;
2356 yyvsp = yyvs + yypv_index;
2362 yyerror("Out of memory for yacc stack");