tizen 2.3.1 release
[external/ragel.git] / ragel / rlparse.cpp
1 /* Automatically generated by Kelbt from "rlparse.kl".
2  *
3  * Parts of this file are copied from Kelbt source covered by the GNU
4  * GPL. As a special exception, you may use the parts of this file copied
5  * from Kelbt source without restriction. The remainder is derived from
6  * "rlparse.kl" and inherits the copyright status of that file.
7  */
8
9 #line 1 "rlparse.kl"
10 /*
11  *  Copyright 2001-2007 Adrian Thurston <thurston@complang.org>
12  */
13
14 /*  This file is part of Ragel.
15  *
16  *  Ragel is free software; you can redistribute it and/or modify
17  *  it under the terms of the GNU General Public License as published by
18  *  the Free Software Foundation; either version 2 of the License, or
19  *  (at your option) any later version.
20  * 
21  *  Ragel is distributed in the hope that it will be useful,
22  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24  *  GNU General Public License for more details.
25  * 
26  *  You should have received a copy of the GNU General Public License
27  *  along with Ragel; if not, write to the Free Software
28  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
29  */
30
31 #include "rlparse.h"
32 #include "ragel.h"
33 #include <iostream>
34 #include <errno.h>
35 #include <stdlib.h>
36
37 using std::cout;
38 using std::cerr;
39 using std::endl;
40
41 #line 102 "rlparse.kh"
42 #line 105 "rlparse.kh"
43 #line 140 "rlparse.kh"
44 #line 1444 "rlparse.kl"
45
46
47 #line 48 "rlparse.cpp"
48 struct Parser_Lel_action_ref
49 {
50 #line 755 "rlparse.kl"
51
52         Action *action;
53
54
55 #line 54 "rlparse.cpp"
56 };
57
58 struct Parser_Lel_aug_type
59 {
60 #line 546 "rlparse.kl"
61
62         InputLoc loc;
63         AugType augType;
64
65
66 #line 65 "rlparse.cpp"
67 };
68
69 struct Parser_Lel_expression
70 {
71 #line 338 "rlparse.kl"
72
73         Expression *expression;
74
75
76 #line 75 "rlparse.cpp"
77 };
78
79 struct Parser_Lel_factor
80 {
81 #line 975 "rlparse.kl"
82
83         Factor *factor;
84
85
86 #line 85 "rlparse.cpp"
87 };
88
89 struct Parser_Lel_factor_rep_num
90 {
91 #line 929 "rlparse.kl"
92
93         int rep;
94
95
96 #line 95 "rlparse.cpp"
97 };
98
99 struct Parser_Lel_factor_with_aug
100 {
101 #line 452 "rlparse.kl"
102
103         FactorWithAug *factorWithAug;
104
105
106 #line 105 "rlparse.cpp"
107 };
108
109 struct Parser_Lel_factor_with_ep
110 {
111 #line 436 "rlparse.kl"
112
113         FactorWithAug *factorWithAug;
114
115
116 #line 115 "rlparse.cpp"
117 };
118
119 struct Parser_Lel_factor_with_label
120 {
121 #line 420 "rlparse.kl"
122
123         FactorWithAug *factorWithAug;
124
125
126 #line 125 "rlparse.cpp"
127 };
128
129 struct Parser_Lel_factor_with_neg
130 {
131 #line 939 "rlparse.kl"
132
133         FactorWithNeg *factorWithNeg;
134
135
136 #line 135 "rlparse.cpp"
137 };
138
139 struct Parser_Lel_factor_with_rep
140 {
141 #line 868 "rlparse.kl"
142
143         FactorWithRep *factorWithRep;
144
145
146 #line 145 "rlparse.cpp"
147 };
148
149 struct Parser_Lel_inline_item
150 {
151 #line 1234 "rlparse.kl"
152
153         InlineItem *inlineItem;
154
155
156 #line 155 "rlparse.cpp"
157 };
158
159 struct Parser_Lel_inline_list
160 {
161 #line 1213 "rlparse.kl"
162
163         InlineList *inlineList;
164
165
166 #line 165 "rlparse.cpp"
167 };
168
169 struct Parser_Lel_join
170 {
171 #line 321 "rlparse.kl"
172
173         Join *join;
174
175
176 #line 175 "rlparse.cpp"
177 };
178
179 struct Parser_Lel_join_or_lm
180 {
181 #line 229 "rlparse.kl"
182
183         MachineDef *machineDef;
184
185
186 #line 185 "rlparse.cpp"
187 };
188
189 struct Parser_Lel_lm_part_list
190 {
191 #line 253 "rlparse.kl"
192
193         LmPartList *lmPartList;
194
195
196 #line 195 "rlparse.cpp"
197 };
198
199 struct Parser_Lel_local_err_name
200 {
201 #line 856 "rlparse.kl"
202
203         int error_name;
204
205
206 #line 205 "rlparse.cpp"
207 };
208
209 struct Parser_Lel_longest_match_part
210 {
211 #line 277 "rlparse.kl"
212
213         LongestMatchPart *lmPart;
214
215
216 #line 215 "rlparse.cpp"
217 };
218
219 struct Parser_Lel_opt_export
220 {
221 #line 95 "rlparse.kl"
222
223         bool isSet;
224
225
226 #line 225 "rlparse.cpp"
227 };
228
229 struct Parser_Lel_opt_lm_part_action
230 {
231 #line 294 "rlparse.kl"
232
233         Action *action;
234
235
236 #line 235 "rlparse.cpp"
237 };
238
239 struct Parser_Lel_priority_aug
240 {
241 #line 803 "rlparse.kl"
242
243         int priorityNum;
244
245
246 #line 245 "rlparse.cpp"
247 };
248
249 struct Parser_Lel_priority_name
250 {
251 #line 788 "rlparse.kl"
252
253         int priorityName;
254
255
256 #line 255 "rlparse.cpp"
257 };
258
259 struct Parser_Lel_range_lit
260 {
261 #line 1042 "rlparse.kl"
262
263         Literal *literal;
264
265
266 #line 265 "rlparse.cpp"
267 };
268
269 struct Parser_Lel_regular_expr
270 {
271 #line 1079 "rlparse.kl"
272
273         RegExpr *regExpr;
274
275
276 #line 275 "rlparse.cpp"
277 };
278
279 struct Parser_Lel_regular_expr_char
280 {
281 #line 1131 "rlparse.kl"
282
283         ReItem *reItem;
284
285
286 #line 285 "rlparse.cpp"
287 };
288
289 struct Parser_Lel_regular_expr_item
290 {
291 #line 1114 "rlparse.kl"
292
293         ReItem *reItem;
294
295
296 #line 295 "rlparse.cpp"
297 };
298
299 struct Parser_Lel_regular_expr_or_char
300 {
301 #line 1188 "rlparse.kl"
302
303         ReOrItem *reOrItem;
304
305
306 #line 305 "rlparse.cpp"
307 };
308
309 struct Parser_Lel_regular_expr_or_data
310 {
311 #line 1155 "rlparse.kl"
312
313         ReOrBlock *reOrBlock;
314
315
316 #line 315 "rlparse.cpp"
317 };
318
319 struct Parser_Lel_term
320 {
321 #line 389 "rlparse.kl"
322
323         Term *term;
324
325
326 #line 325 "rlparse.cpp"
327 };
328
329 struct Parser_Lel_term_short
330 {
331 #line 368 "rlparse.kl"
332
333         Term *term;
334
335
336 #line 335 "rlparse.cpp"
337 };
338
339 struct Parser_Lel_token_type
340 {
341 #line 146 "rlparse.kl"
342
343         Token token;
344
345
346 #line 345 "rlparse.cpp"
347 };
348
349 union Parser_UserData
350 {
351         struct Parser_Lel_action_ref action_ref;
352         struct Parser_Lel_aug_type aug_type;
353         struct Parser_Lel_expression expression;
354         struct Parser_Lel_factor factor;
355         struct Parser_Lel_factor_rep_num factor_rep_num;
356         struct Parser_Lel_factor_with_aug factor_with_aug;
357         struct Parser_Lel_factor_with_ep factor_with_ep;
358         struct Parser_Lel_factor_with_label factor_with_label;
359         struct Parser_Lel_factor_with_neg factor_with_neg;
360         struct Parser_Lel_factor_with_rep factor_with_rep;
361         struct Parser_Lel_inline_item inline_item;
362         struct Parser_Lel_inline_list inline_list;
363         struct Parser_Lel_join join;
364         struct Parser_Lel_join_or_lm join_or_lm;
365         struct Parser_Lel_lm_part_list lm_part_list;
366         struct Parser_Lel_local_err_name local_err_name;
367         struct Parser_Lel_longest_match_part longest_match_part;
368         struct Parser_Lel_opt_export opt_export;
369         struct Parser_Lel_opt_lm_part_action opt_lm_part_action;
370         struct Parser_Lel_priority_aug priority_aug;
371         struct Parser_Lel_priority_name priority_name;
372         struct Parser_Lel_range_lit range_lit;
373         struct Parser_Lel_regular_expr regular_expr;
374         struct Parser_Lel_regular_expr_char regular_expr_char;
375         struct Parser_Lel_regular_expr_item regular_expr_item;
376         struct Parser_Lel_regular_expr_or_char regular_expr_or_char;
377         struct Parser_Lel_regular_expr_or_data regular_expr_or_data;
378         struct Parser_Lel_term term;
379         struct Parser_Lel_term_short term_short;
380         struct Parser_Lel_token_type token_type;
381         struct Token token;
382 };
383
384 struct Parser_LangEl
385 {
386         char *file;
387         int line;
388         int type;
389         int reduction;
390         int state;
391         int causeReduce;
392         union Parser_UserData user;
393         unsigned int retry;
394         struct Parser_LangEl *next, *child, *prev;
395 };
396
397 struct Parser_Block
398 {
399         struct Parser_LangEl data[8128];
400         struct Parser_Block *next;
401 };
402
403 #line 404 "rlparse.cpp"
404 unsigned int Parser_startState = 0;
405
406 short Parser_indicies[] = {
407         152, -1, -1, 152, -1, -1, -1, -1, 
408         -1, -1, -1, -1, -1, -1, -1, -1, 
409         -1, -1, -1, -1, -1, -1, -1, -1, 
410         -1, -1, -1, -1, -1, -1, -1, -1, 
411         -1, -1, -1, -1, -1, -1, -1, -1, 
412         -1, -1, -1, -1, -1, -1, -1, -1, 
413         -1, -1, -1, -1, -1, -1, -1, -1, 
414         -1, -1, -1, -1, -1, -1, -1, -1, 
415         -1, -1, -1, 152, 152, 152, 152, -1, 
416         -1, -1, -1, -1, -1, -1, -1, 152, 
417         152, 152, 152, -1, -1, -1, -1, -1, 
418         -1, -1, -1, -1, -1, -1, -1, 152, 
419         152, 152, 1, 0, 404, 154, -1, -1, 
420         154, -1, -1, -1, -1, -1, -1, -1, 
421         -1, -1, -1, -1, -1, -1, -1, -1, 
422         -1, -1, -1, -1, -1, -1, -1, -1, 
423         -1, -1, -1, -1, -1, -1, -1, -1, 
424         -1, -1, -1, -1, -1, -1, -1, -1, 
425         -1, -1, -1, -1, -1, -1, -1, -1, 
426         -1, -1, -1, -1, -1, -1, -1, -1, 
427         -1, -1, -1, -1, -1, -1, -1, -1, 
428         154, 154, 154, 154, -1, -1, -1, -1, 
429         -1, -1, -1, -1, 154, 154, 154, 154, 
430         -1, -1, -1, -1, -1, -1, -1, -1, 
431         -1, -1, -1, -1, 154, 154, 150, -1, 
432         -1, 2, 161, -1, -1, 151, -1, -1, 
433         -1, -1, -1, -1, -1, -1, -1, -1, 
434         -1, -1, -1, -1, -1, -1, -1, -1, 
435         -1, -1, -1, -1, -1, -1, -1, -1, 
436         -1, -1, -1, -1, -1, -1, -1, -1, 
437         -1, -1, -1, -1, -1, -1, -1, -1, 
438         -1, -1, -1, -1, -1, -1, -1, -1, 
439         -1, -1, -1, -1, -1, -1, -1, -1, 
440         -1, -1, -1, -1, -1, 4, 5, 6, 
441         7, -1, -1, -1, -1, -1, -1, -1, 
442         -1, 158, 11, 12, 13, -1, -1, -1, 
443         -1, -1, -1, -1, -1, -1, -1, -1, 
444         -1, 9, 8, -1, -1, -1, -1, 153, 
445         392, 393, 394, 395, 396, 397, 398, 399, 
446         400, 401, 402, 403, -1, 10, 3, 165, 
447         -1, -1, -1, -1, -1, -1, -1, -1, 
448         -1, -1, -1, -1, -1, -1, -1, -1, 
449         -1, -1, -1, -1, -1, -1, -1, -1, 
450         -1, -1, -1, -1, -1, -1, -1, -1, 
451         -1, -1, -1, -1, -1, -1, -1, -1, 
452         -1, -1, -1, -1, -1, -1, -1, -1, 
453         -1, -1, -1, -1, -1, -1, -1, -1, 
454         -1, -1, -1, -1, -1, -1, -1, -1, 
455         -1, -1, -1, -1, -1, -1, -1, -1, 
456         -1, -1, -1, -1, -1, -1, -1, -1, 
457         -1, -1, -1, -1, -1, -1, -1, -1, 
458         -1, -1, -1, -1, -1, -1, -1, -1, 
459         -1, -1, -1, -1, -1, -1, -1, -1, 
460         -1, -1, -1, -1, -1, -1, -1, -1, 
461         -1, -1, -1, -1, 26, 14, 15, 17, 
462         -1, -1, -1, -1, -1, -1, -1, -1, 
463         -1, -1, -1, -1, -1, -1, -1, -1, 
464         -1, -1, -1, -1, -1, -1, -1, -1, 
465         -1, -1, -1, -1, -1, -1, -1, -1, 
466         -1, -1, -1, -1, -1, -1, -1, -1, 
467         -1, -1, -1, -1, -1, -1, -1, -1, 
468         -1, -1, -1, -1, -1, -1, -1, -1, 
469         -1, -1, -1, -1, -1, -1, -1, -1, 
470         -1, -1, -1, -1, -1, -1, -1, -1, 
471         -1, -1, -1, -1, -1, -1, -1, -1, 
472         -1, -1, -1, -1, -1, -1, 326, 328, 
473         -1, -1, -1, -1, -1, -1, -1, -1, 
474         -1, -1, -1, -1, -1, -1, -1, -1, 
475         -1, -1, -1, -1, -1, -1, -1, -1, 
476         -1, -1, -1, -1, -1, -1, -1, -1, 
477         -1, -1, -1, -1, -1, -1, -1, -1, 
478         -1, -1, -1, -1, -1, -1, -1, -1, 
479         -1, -1, -1, -1, -1, -1, -1, -1, 
480         -1, -1, -1, -1, -1, -1, -1, -1, 
481         -1, -1, -1, -1, -1, -1, -1, -1, 
482         -1, -1, -1, -1, -1, -1, -1, -1, 
483         -1, -1, -1, -1, -1, -1, -1, -1, 
484         -1, -1, -1, -1, -1, -1, -1, -1, 
485         -1, -1, -1, -1, -1, -1, -1, -1, 
486         -1, -1, -1, -1, -1, -1, -1, -1, 
487         -1, -1, 16, 364, 364, 364, -1, 364, 
488         -1, -1, -1, -1, -1, -1, -1, -1, 
489         -1, -1, -1, -1, -1, -1, 364, -1, 
490         -1, -1, -1, -1, -1, -1, -1, -1, 
491         -1, -1, -1, -1, -1, -1, -1, -1, 
492         -1, -1, -1, -1, -1, -1, -1, -1, 
493         -1, -1, -1, -1, -1, -1, -1, -1, 
494         -1, -1, -1, -1, -1, -1, -1, -1, 
495         -1, -1, -1, -1, -1, -1, -1, -1, 
496         -1, -1, -1, -1, -1, -1, -1, -1, 
497         -1, -1, -1, -1, -1, -1, -1, -1, 
498         -1, -1, -1, 364, -1, -1, -1, 364, 
499         364, -1, -1, -1, -1, -1, -1, -1, 
500         -1, 364, -1, -1, -1, -1, -1, -1, 
501         -1, -1, -1, -1, -1, -1, -1, -1, 
502         -1, -1, -1, -1, -1, -1, -1, -1, 
503         -1, -1, -1, -1, -1, -1, -1, -1, 
504         -1, -1, -1, -1, -1, -1, -1, -1, 
505         -1, -1, -1, -1, -1, -1, 364, 364, 
506         364, 364, -1, -1, -1, -1, -1, -1, 
507         -1, -1, -1, -1, -1, -1, -1, -1, 
508         -1, -1, -1, -1, -1, -1, -1, -1, 
509         -1, 364, 364, -1, -1, -1, 364, 364, 
510         364, -1, -1, -1, -1, -1, -1, -1, 
511         -1, -1, -1, -1, -1, -1, -1, -1, 
512         -1, -1, -1, -1, -1, -1, -1, -1, 
513         -1, -1, -1, -1, 19, 364, 364, 364, 
514         -1, 364, -1, -1, -1, -1, -1, -1, 
515         -1, -1, -1, -1, -1, -1, -1, -1, 
516         364, -1, -1, -1, -1, -1, -1, -1, 
517         -1, -1, -1, -1, -1, -1, -1, -1, 
518         -1, -1, -1, -1, -1, -1, -1, -1, 
519         -1, -1, -1, -1, -1, -1, -1, -1, 
520         -1, -1, -1, -1, -1, -1, -1, -1, 
521         -1, -1, -1, -1, -1, -1, -1, -1, 
522         -1, -1, -1, -1, -1, -1, -1, -1, 
523         -1, -1, -1, -1, -1, -1, -1, -1, 
524         -1, -1, -1, -1, -1, 364, -1, -1, 
525         -1, 364, 364, -1, -1, -1, -1, -1, 
526         -1, -1, -1, 364, -1, -1, -1, -1, 
527         -1, -1, -1, -1, -1, -1, -1, -1, 
528         -1, -1, -1, -1, -1, -1, -1, -1, 
529         -1, -1, -1, -1, -1, -1, -1, -1, 
530         -1, -1, -1, -1, -1, -1, -1, -1, 
531         -1, -1, -1, -1, -1, -1, -1, -1, 
532         364, 364, 364, 364, -1, -1, -1, -1, 
533         -1, -1, -1, -1, -1, -1, -1, -1, 
534         -1, -1, -1, -1, -1, -1, -1, -1, 
535         -1, -1, -1, 364, 364, -1, -1, -1, 
536         364, 364, 364, -1, -1, -1, -1, -1, 
537         -1, -1, -1, -1, -1, -1, -1, -1, 
538         -1, -1, -1, -1, -1, -1, -1, -1, 
539         -1, -1, -1, -1, -1, -1, 24, 174, 
540         -1, -1, -1, -1, -1, -1, -1, -1, 
541         -1, -1, -1, -1, -1, -1, -1, -1, 
542         -1, -1, -1, -1, -1, -1, -1, -1, 
543         -1, -1, -1, -1, -1, -1, -1, -1, 
544         -1, -1, -1, -1, -1, -1, -1, -1, 
545         -1, -1, -1, -1, -1, -1, -1, -1, 
546         -1, -1, -1, -1, -1, -1, -1, -1, 
547         -1, -1, 174, -1, -1, -1, -1, -1, 
548         -1, -1, -1, -1, -1, -1, -1, -1, 
549         -1, -1, -1, -1, -1, -1, -1, -1, 
550         -1, -1, -1, -1, -1, -1, -1, -1, 
551         -1, -1, -1, -1, -1, -1, -1, -1, 
552         -1, -1, -1, -1, -1, -1, -1, -1, 
553         -1, -1, -1, -1, -1, -1, -1, -1, 
554         -1, -1, -1, -1, -1, -1, -1, -1, 
555         -1, 23, 25, -1, -1, -1, -1, 159, 
556         20, 21, 22, 27, 168, -1, -1, -1, 
557         -1, -1, -1, -1, -1, -1, -1, -1, 
558         -1, -1, -1, -1, -1, -1, -1, -1, 
559         -1, -1, -1, -1, -1, -1, -1, -1, 
560         -1, -1, -1, -1, -1, -1, -1, -1, 
561         -1, -1, -1, -1, -1, -1, -1, -1, 
562         -1, -1, -1, -1, -1, -1, -1, -1, 
563         -1, -1, -1, -1, -1, -1, -1, -1, 
564         -1, -1, -1, -1, -1, -1, -1, -1, 
565         -1, 28, 17, -1, -1, -1, -1, -1, 
566         -1, -1, -1, -1, -1, -1, -1, -1, 
567         -1, -1, -1, -1, -1, -1, -1, -1, 
568         -1, -1, -1, -1, -1, -1, -1, -1, 
569         -1, -1, -1, -1, -1, -1, -1, -1, 
570         -1, -1, -1, -1, -1, -1, -1, -1, 
571         -1, -1, -1, -1, -1, -1, -1, -1, 
572         -1, -1, -1, -1, -1, -1, -1, -1, 
573         -1, -1, -1, -1, -1, -1, -1, -1, 
574         -1, -1, -1, -1, -1, -1, -1, -1, 
575         -1, -1, -1, -1, -1, -1, -1, -1, 
576         -1, 326, 328, -1, -1, -1, -1, -1, 
577         -1, -1, -1, -1, -1, -1, -1, -1, 
578         -1, -1, -1, -1, -1, -1, -1, -1, 
579         -1, -1, -1, -1, -1, -1, -1, -1, 
580         -1, -1, -1, -1, -1, -1, -1, -1, 
581         -1, -1, -1, -1, -1, -1, -1, -1, 
582         -1, -1, -1, -1, -1, -1, -1, -1, 
583         -1, -1, -1, -1, -1, -1, -1, -1, 
584         -1, -1, -1, -1, -1, -1, -1, -1, 
585         -1, -1, -1, -1, -1, -1, -1, -1, 
586         -1, -1, -1, -1, -1, -1, -1, -1, 
587         -1, -1, -1, -1, -1, -1, -1, -1, 
588         -1, -1, -1, -1, -1, -1, -1, -1, 
589         -1, -1, -1, -1, -1, -1, -1, -1, 
590         -1, -1, -1, -1, -1, 29, 327, 376, 
591         377, 378, -1, 375, -1, -1, -1, -1, 
592         -1, -1, -1, -1, -1, -1, -1, -1, 
593         -1, -1, 170, -1, -1, -1, -1, -1, 
594         -1, -1, -1, -1, -1, -1, -1, -1, 
595         -1, -1, -1, -1, -1, -1, -1, -1, 
596         -1, -1, -1, -1, -1, -1, -1, -1, 
597         -1, -1, -1, -1, -1, -1, -1, -1, 
598         -1, -1, -1, -1, -1, -1, -1, -1, 
599         -1, -1, -1, -1, -1, -1, -1, -1, 
600         -1, -1, -1, -1, -1, -1, -1, -1, 
601         -1, -1, -1, -1, -1, -1, -1, 374, 
602         -1, -1, -1, 372, 373, -1, -1, -1, 
603         -1, -1, -1, -1, -1, 379, -1, -1, 
604         -1, -1, -1, -1, -1, -1, -1, -1, 
605         -1, -1, -1, -1, -1, -1, -1, -1, 
606         -1, -1, -1, -1, -1, -1, -1, -1, 
607         -1, -1, -1, -1, -1, -1, -1, -1, 
608         -1, -1, -1, -1, -1, -1, -1, -1, 
609         -1, -1, 368, 369, 370, 371, -1, -1, 
610         -1, -1, -1, -1, -1, -1, -1, -1, 
611         -1, -1, -1, -1, -1, -1, -1, -1, 
612         -1, -1, -1, -1, -1, 380, 381, -1, 
613         -1, -1, 382, 383, 30, -1, -1, -1, 
614         -1, -1, -1, -1, -1, -1, -1, -1, 
615         -1, -1, -1, -1, -1, -1, -1, -1, 
616         -1, -1, -1, -1, -1, -1, -1, -1, 
617         -1, -1, -1, -1, -1, -1, -1, -1, 
618         -1, -1, -1, -1, -1, -1, -1, -1, 
619         -1, -1, -1, -1, -1, -1, -1, -1, 
620         -1, -1, -1, -1, -1, -1, -1, -1, 
621         -1, -1, -1, -1, -1, -1, 365, -1, 
622         367, -1, 363, 366, 342, 342, 342, -1, 
623         342, -1, -1, -1, -1, -1, -1, -1, 
624         -1, -1, -1, -1, -1, -1, -1, 342, 
625         -1, -1, -1, -1, -1, -1, -1, -1, 
626         -1, -1, -1, -1, -1, -1, -1, -1, 
627         -1, -1, -1, -1, -1, -1, -1, -1, 
628         -1, -1, -1, -1, -1, -1, -1, -1, 
629         -1, -1, -1, -1, -1, -1, -1, -1, 
630         -1, -1, -1, -1, -1, -1, -1, -1, 
631         -1, -1, -1, -1, -1, -1, -1, -1, 
632         -1, -1, -1, -1, -1, -1, -1, -1, 
633         -1, 342, -1, -1, 342, -1, -1, -1, 
634         342, 342, -1, -1, -1, -1, -1, -1, 
635         -1, -1, 342, -1, -1, -1, -1, -1, 
636         -1, -1, -1, -1, -1, -1, -1, -1, 
637         -1, -1, -1, -1, -1, -1, -1, -1, 
638         -1, -1, -1, -1, -1, -1, -1, -1, 
639         -1, -1, -1, -1, -1, -1, -1, -1, 
640         -1, -1, -1, -1, -1, -1, -1, 342, 
641         342, 342, 342, -1, -1, -1, -1, -1, 
642         -1, -1, -1, -1, -1, -1, -1, -1, 
643         -1, -1, -1, -1, -1, -1, -1, 342, 
644         342, 342, 342, 342, 342, 342, 342, 342, 
645         342, 342, 342, -1, -1, -1, -1, -1, 
646         -1, -1, -1, -1, -1, -1, -1, -1, 
647         -1, -1, -1, -1, -1, -1, 31, 342, 
648         342, 342, -1, 342, -1, -1, -1, -1, 
649         -1, -1, -1, -1, -1, -1, -1, -1, 
650         -1, -1, 342, -1, -1, -1, -1, -1, 
651         -1, -1, -1, -1, -1, -1, -1, -1, 
652         -1, -1, -1, -1, -1, -1, -1, -1, 
653         -1, -1, -1, -1, -1, -1, -1, -1, 
654         -1, -1, -1, -1, -1, -1, -1, -1, 
655         -1, -1, -1, -1, -1, -1, -1, -1, 
656         -1, -1, -1, -1, -1, -1, -1, -1, 
657         -1, -1, -1, -1, -1, -1, -1, -1, 
658         -1, -1, -1, -1, 342, -1, -1, 342, 
659         -1, -1, -1, 342, 342, -1, -1, -1, 
660         -1, -1, -1, -1, -1, 342, -1, -1, 
661         -1, -1, -1, -1, -1, -1, -1, -1, 
662         -1, -1, -1, -1, -1, -1, -1, -1, 
663         -1, -1, -1, -1, -1, -1, -1, -1, 
664         -1, -1, -1, -1, -1, -1, -1, -1, 
665         -1, -1, -1, -1, -1, -1, -1, -1, 
666         -1, -1, 342, 342, 342, 342, -1, -1, 
667         -1, -1, -1, -1, -1, -1, -1, -1, 
668         -1, -1, -1, -1, -1, -1, -1, -1, 
669         -1, -1, 342, 342, 342, 342, 342, 342, 
670         342, 342, 342, 342, 342, 342, -1, -1, 
671         -1, -1, -1, -1, -1, -1, -1, -1, 
672         -1, -1, -1, -1, -1, -1, -1, -1, 
673         -1, 32, 155, 33, -1, -1, -1, -1, 
674         -1, -1, -1, -1, -1, -1, -1, -1, 
675         -1, -1, -1, -1, -1, -1, -1, -1, 
676         -1, -1, -1, -1, -1, -1, -1, -1, 
677         -1, -1, -1, -1, -1, -1, -1, -1, 
678         -1, -1, -1, -1, -1, -1, -1, -1, 
679         -1, -1, -1, -1, -1, -1, -1, -1, 
680         -1, -1, -1, -1, -1, -1, 173, 376, 
681         377, 378, -1, 375, -1, -1, -1, -1, 
682         -1, -1, -1, -1, -1, -1, -1, -1, 
683         -1, -1, 171, -1, -1, -1, -1, -1, 
684         -1, -1, -1, -1, -1, -1, -1, -1, 
685         -1, -1, -1, -1, -1, -1, -1, -1, 
686         -1, -1, -1, -1, -1, -1, -1, -1, 
687         -1, -1, -1, -1, -1, -1, -1, -1, 
688         -1, -1, -1, -1, -1, -1, -1, -1, 
689         -1, -1, -1, -1, -1, -1, -1, -1, 
690         -1, -1, -1, -1, -1, -1, -1, -1, 
691         -1, -1, -1, -1, -1, -1, -1, 374, 
692         -1, -1, -1, 372, 373, -1, -1, -1, 
693         -1, -1, -1, -1, -1, 379, -1, -1, 
694         -1, -1, -1, -1, -1, -1, -1, -1, 
695         -1, -1, -1, -1, -1, -1, -1, -1, 
696         -1, -1, -1, -1, -1, -1, -1, -1, 
697         -1, -1, -1, -1, -1, -1, -1, -1, 
698         -1, -1, -1, -1, -1, -1, -1, -1, 
699         -1, -1, 368, 369, 370, 371, -1, -1, 
700         -1, -1, -1, -1, -1, -1, -1, -1, 
701         -1, -1, -1, -1, -1, -1, -1, -1, 
702         -1, -1, -1, -1, -1, 380, 381, -1, 
703         -1, -1, 382, 383, 30, -1, -1, -1, 
704         -1, -1, -1, -1, -1, -1, -1, -1, 
705         -1, -1, -1, -1, -1, -1, -1, -1, 
706         -1, -1, -1, -1, -1, -1, -1, -1, 
707         -1, -1, -1, -1, -1, -1, -1, -1, 
708         -1, -1, -1, -1, -1, -1, -1, -1, 
709         -1, -1, -1, -1, -1, -1, -1, -1, 
710         -1, -1, -1, -1, -1, -1, -1, -1, 
711         -1, -1, -1, -1, -1, -1, 365, -1, 
712         367, -1, 363, 366, 154, -1, -1, 154, 
713         -1, -1, -1, -1, -1, -1, -1, -1, 
714         -1, -1, -1, -1, -1, -1, -1, -1, 
715         -1, -1, -1, -1, -1, -1, -1, -1, 
716         -1, -1, -1, -1, -1, -1, -1, -1, 
717         -1, -1, -1, -1, -1, -1, -1, -1, 
718         -1, -1, -1, -1, -1, -1, -1, -1, 
719         -1, -1, -1, -1, -1, -1, -1, -1, 
720         -1, -1, -1, -1, -1, -1, -1, -1, 
721         -1, -1, 154, 154, 154, 154, -1, -1, 
722         -1, -1, -1, -1, -1, -1, 154, 154, 
723         154, 154, -1, -1, -1, -1, -1, -1, 
724         -1, -1, -1, -1, -1, -1, 154, 154, 
725         -1, -1, -1, 34, 35, -1, -1, -1, 
726         -1, -1, -1, -1, -1, -1, -1, -1, 
727         -1, -1, -1, -1, -1, -1, -1, -1, 
728         -1, -1, -1, -1, -1, -1, -1, -1, 
729         -1, -1, -1, -1, -1, -1, -1, -1, 
730         -1, -1, -1, -1, -1, -1, -1, -1, 
731         -1, -1, -1, -1, -1, -1, -1, -1, 
732         -1, -1, -1, -1, -1, -1, -1, -1, 
733         -1, -1, -1, -1, -1, -1, -1, -1, 
734         -1, -1, -1, -1, -1, -1, -1, -1, 
735         -1, -1, -1, -1, 36, 342, 342, 342, 
736         -1, 342, -1, -1, -1, -1, -1, -1, 
737         -1, -1, -1, -1, -1, -1, -1, -1, 
738         342, -1, -1, -1, -1, -1, -1, -1, 
739         -1, -1, -1, -1, -1, -1, -1, -1, 
740         -1, -1, -1, -1, -1, -1, -1, -1, 
741         -1, -1, -1, -1, -1, -1, -1, -1, 
742         -1, -1, -1, -1, -1, -1, -1, -1, 
743         -1, -1, -1, -1, -1, -1, -1, -1, 
744         -1, -1, -1, -1, -1, -1, -1, -1, 
745         -1, -1, -1, -1, -1, -1, -1, -1, 
746         -1, -1, 342, -1, -1, 342, -1, -1, 
747         -1, 342, 342, -1, -1, -1, -1, -1, 
748         -1, -1, -1, 342, -1, -1, -1, -1, 
749         -1, -1, -1, -1, -1, -1, -1, -1, 
750         -1, -1, -1, -1, -1, -1, -1, -1, 
751         -1, -1, -1, -1, -1, -1, -1, -1, 
752         -1, -1, -1, -1, -1, -1, -1, -1, 
753         -1, -1, -1, -1, -1, -1, -1, -1, 
754         342, 342, 342, 342, -1, -1, -1, -1, 
755         -1, -1, -1, -1, -1, -1, -1, -1, 
756         -1, -1, -1, -1, -1, -1, -1, -1, 
757         342, 342, 342, 342, 342, 342, 342, 342, 
758         342, 342, 342, 342, -1, -1, -1, -1, 
759         -1, -1, -1, -1, -1, -1, -1, -1, 
760         -1, -1, -1, -1, -1, -1, -1, 37, 
761         167, 169, 38, 348, 349, 350, -1, 346, 
762         -1, -1, -1, -1, -1, -1, -1, -1, 
763         -1, -1, -1, -1, -1, -1, 347, -1, 
764         -1, -1, -1, -1, -1, -1, -1, -1, 
765         -1, -1, -1, -1, -1, -1, -1, -1, 
766         -1, -1, -1, -1, -1, -1, -1, -1, 
767         -1, -1, -1, -1, -1, -1, -1, -1, 
768         -1, -1, -1, -1, -1, -1, -1, -1, 
769         -1, -1, -1, -1, -1, -1, -1, -1, 
770         -1, -1, -1, -1, -1, -1, -1, -1, 
771         -1, -1, -1, -1, -1, -1, -1, -1, 
772         156, -1, -1, 374, -1, -1, -1, 372, 
773         373, -1, -1, -1, -1, -1, -1, -1, 
774         -1, 351, -1, -1, -1, -1, -1, -1, 
775         -1, -1, -1, -1, -1, -1, -1, -1, 
776         -1, -1, -1, -1, -1, -1, -1, -1, 
777         -1, -1, -1, -1, -1, -1, -1, -1, 
778         -1, -1, -1, -1, -1, -1, -1, -1, 
779         -1, -1, -1, -1, -1, -1, 368, 369, 
780         370, 371, -1, -1, -1, -1, -1, -1, 
781         -1, -1, -1, -1, -1, -1, -1, -1, 
782         -1, -1, -1, -1, -1, -1, 45, 40, 
783         39, 380, 381, 41, 43, 44, 382, 383, 
784         30, 42, -1, -1, -1, -1, -1, -1, 
785         -1, -1, -1, -1, -1, -1, -1, -1, 
786         -1, -1, -1, -1, -1, -1, -1, -1, 
787         -1, -1, -1, -1, -1, -1, -1, -1, 
788         -1, -1, -1, -1, -1, -1, -1, -1, 
789         -1, -1, -1, -1, -1, -1, -1, -1, 
790         -1, -1, -1, -1, -1, -1, -1, -1, 
791         -1, -1, -1, -1, -1, -1, -1, -1, 
792         341, 345, 343, 344, 352, 348, 349, 350, 
793         -1, 346, -1, -1, -1, -1, -1, -1, 
794         -1, -1, -1, -1, -1, -1, -1, -1, 
795         347, -1, -1, -1, -1, -1, -1, -1, 
796         -1, -1, -1, -1, -1, -1, -1, -1, 
797         -1, -1, -1, -1, -1, -1, -1, -1, 
798         -1, -1, -1, -1, -1, -1, -1, -1, 
799         -1, -1, -1, -1, -1, -1, -1, -1, 
800         -1, -1, -1, -1, -1, -1, -1, -1, 
801         -1, -1, -1, -1, -1, -1, -1, -1, 
802         -1, -1, -1, -1, -1, -1, -1, -1, 
803         -1, -1, 157, -1, -1, 374, -1, -1, 
804         -1, 372, 373, -1, -1, -1, -1, -1, 
805         -1, -1, -1, 351, -1, -1, -1, -1, 
806         -1, -1, -1, -1, -1, -1, -1, -1, 
807         -1, -1, -1, -1, -1, -1, -1, -1, 
808         -1, -1, -1, -1, -1, -1, -1, -1, 
809         -1, -1, -1, -1, -1, -1, -1, -1, 
810         -1, -1, -1, -1, -1, -1, -1, -1, 
811         368, 369, 370, 371, -1, -1, -1, -1, 
812         -1, -1, -1, -1, -1, -1, -1, -1, 
813         -1, -1, -1, -1, -1, -1, -1, -1, 
814         45, 40, 39, 380, 381, 41, 43, 44, 
815         382, 383, 30, 42, -1, -1, -1, -1, 
816         -1, -1, -1, -1, -1, -1, -1, -1, 
817         -1, -1, -1, -1, -1, -1, -1, -1, 
818         -1, -1, -1, -1, -1, -1, -1, -1, 
819         -1, -1, -1, -1, -1, -1, -1, -1, 
820         -1, -1, -1, -1, -1, -1, -1, -1, 
821         -1, -1, -1, -1, -1, -1, -1, -1, 
822         -1, -1, -1, -1, -1, -1, -1, -1, 
823         -1, -1, 341, 345, 343, 344, 352, 364, 
824         364, 364, -1, 364, -1, -1, -1, -1, 
825         -1, -1, -1, -1, -1, -1, -1, -1, 
826         -1, -1, 364, -1, -1, -1, -1, -1, 
827         -1, -1, -1, -1, -1, -1, -1, -1, 
828         -1, -1, -1, -1, -1, -1, -1, -1, 
829         -1, -1, -1, -1, -1, -1, -1, -1, 
830         -1, -1, -1, -1, -1, -1, -1, -1, 
831         -1, -1, -1, -1, -1, -1, -1, -1, 
832         -1, -1, -1, -1, -1, -1, -1, -1, 
833         -1, -1, -1, -1, -1, -1, -1, -1, 
834         -1, -1, -1, -1, -1, -1, -1, 364, 
835         -1, -1, -1, 364, 364, -1, -1, -1, 
836         -1, -1, -1, -1, -1, 364, -1, -1, 
837         -1, -1, -1, -1, -1, -1, -1, -1, 
838         -1, -1, -1, -1, -1, -1, -1, -1, 
839         -1, -1, -1, -1, -1, -1, -1, -1, 
840         -1, -1, -1, -1, -1, -1, -1, -1, 
841         -1, -1, -1, -1, -1, -1, -1, -1, 
842         -1, -1, 364, 364, 364, 364, -1, -1, 
843         -1, -1, -1, -1, -1, -1, -1, -1, 
844         -1, -1, -1, -1, -1, -1, -1, -1, 
845         -1, -1, -1, -1, -1, 364, 364, -1, 
846         -1, -1, 364, 364, 364, -1, -1, -1, 
847         -1, -1, -1, -1, -1, -1, -1, -1, 
848         -1, -1, -1, -1, -1, -1, -1, -1, 
849         -1, -1, -1, -1, -1, -1, -1, -1, 
850         46, 162, -1, -1, 161, -1, -1, -1, 
851         -1, -1, -1, -1, -1, -1, -1, -1, 
852         -1, -1, -1, -1, -1, -1, -1, -1, 
853         -1, -1, -1, -1, -1, -1, -1, -1, 
854         -1, -1, -1, -1, -1, -1, -1, -1, 
855         -1, -1, -1, -1, -1, -1, -1, -1, 
856         -1, -1, -1, -1, -1, -1, -1, -1, 
857         -1, -1, -1, -1, -1, -1, -1, -1, 
858         -1, -1, -1, -1, -1, -1, -1, 4, 
859         5, 6, 7, -1, -1, -1, -1, -1, 
860         -1, -1, -1, 158, 11, 12, 13, -1, 
861         -1, -1, -1, -1, -1, -1, -1, -1, 
862         -1, -1, -1, 9, 8, -1, -1, -1, 
863         -1, 153, 392, 393, 394, 395, 396, 397, 
864         398, 399, 400, 401, 402, 403, -1, 10, 
865         3, 55, -1, -1, -1, -1, -1, -1, 
866         63, -1, -1, -1, -1, 17, -1, -1, 
867         -1, -1, -1, -1, -1, -1, -1, -1, 
868         -1, -1, -1, -1, -1, -1, -1, -1, 
869         -1, -1, -1, -1, -1, -1, -1, -1, 
870         -1, -1, -1, -1, -1, -1, -1, -1, 
871         -1, -1, -1, -1, -1, -1, -1, -1, 
872         -1, -1, -1, -1, -1, -1, 56, -1, 
873         -1, -1, -1, -1, -1, -1, -1, -1, 
874         -1, -1, -1, -1, -1, -1, -1, -1, 
875         -1, -1, -1, -1, -1, -1, -1, -1, 
876         -1, -1, -1, -1, -1, -1, -1, -1, 
877         50, 57, -1, -1, 326, 328, -1, -1, 
878         -1, -1, -1, -1, -1, -1, -1, -1, 
879         -1, -1, -1, -1, -1, -1, -1, -1, 
880         -1, -1, -1, -1, -1, -1, -1, -1, 
881         -1, -1, -1, -1, -1, -1, -1, -1, 
882         -1, -1, -1, -1, -1, -1, -1, -1, 
883         -1, -1, -1, 61, 59, 60, -1, -1, 
884         -1, -1, -1, -1, -1, -1, -1, -1, 
885         -1, -1, -1, -1, -1, -1, -1, -1, 
886         -1, -1, -1, -1, -1, -1, -1, -1, 
887         -1, -1, -1, -1, -1, -1, -1, -1, 
888         -1, -1, -1, -1, -1, -1, -1, -1, 
889         -1, -1, -1, -1, -1, -1, -1, -1, 
890         -1, -1, -1, -1, -1, -1, -1, -1, 
891         -1, -1, -1, -1, -1, -1, 47, -1, 
892         58, -1, -1, -1, -1, -1, -1, -1, 
893         48, 191, 49, 198, 52, -1, 53, -1, 
894         -1, -1, -1, -1, -1, -1, -1, -1, 
895         -1, 54, -1, -1, -1, 308, 312, -1, 
896         -1, 62, 55, -1, -1, -1, -1, -1, 
897         -1, 63, -1, -1, -1, -1, 17, -1, 
898         -1, -1, -1, -1, -1, -1, -1, -1, 
899         -1, -1, -1, -1, -1, -1, -1, -1, 
900         -1, -1, -1, -1, -1, -1, -1, -1, 
901         -1, -1, -1, -1, -1, -1, -1, -1, 
902         -1, -1, -1, -1, -1, -1, -1, -1, 
903         -1, -1, -1, -1, -1, -1, -1, 56, 
904         -1, -1, -1, -1, -1, -1, -1, -1, 
905         -1, -1, -1, -1, -1, -1, -1, -1, 
906         -1, -1, -1, -1, -1, -1, -1, -1, 
907         -1, -1, -1, -1, -1, -1, -1, -1, 
908         -1, 50, 57, -1, -1, 326, 328, -1, 
909         -1, -1, -1, -1, -1, -1, -1, -1, 
910         66, -1, -1, -1, -1, -1, -1, -1, 
911         -1, -1, -1, -1, -1, -1, -1, -1, 
912         -1, -1, -1, -1, -1, -1, -1, -1, 
913         -1, -1, -1, -1, -1, -1, -1, -1, 
914         -1, -1, -1, -1, 61, 59, 60, -1, 
915         -1, -1, -1, -1, -1, -1, -1, -1, 
916         -1, -1, -1, -1, -1, -1, -1, -1, 
917         -1, -1, -1, -1, -1, -1, -1, -1, 
918         -1, -1, -1, -1, -1, -1, -1, -1, 
919         -1, -1, -1, -1, -1, -1, -1, -1, 
920         -1, -1, -1, -1, -1, -1, -1, -1, 
921         -1, -1, -1, -1, -1, -1, -1, -1, 
922         -1, -1, -1, -1, -1, -1, -1, 65, 
923         64, 58, -1, -1, -1, -1, -1, -1, 
924         -1, 48, 191, 49, 198, 52, -1, 53, 
925         -1, -1, -1, -1, -1, -1, -1, -1, 
926         -1, -1, 54, -1, -1, -1, 308, 312, 
927         -1, -1, 62, 348, 349, 350, -1, 346, 
928         -1, -1, -1, -1, -1, -1, -1, -1, 
929         -1, -1, -1, -1, -1, -1, 347, -1, 
930         -1, -1, -1, -1, -1, -1, -1, -1, 
931         -1, -1, -1, -1, -1, -1, -1, -1, 
932         -1, -1, -1, -1, -1, -1, -1, -1, 
933         -1, -1, -1, -1, -1, -1, -1, -1, 
934         -1, -1, -1, -1, -1, -1, -1, -1, 
935         -1, -1, -1, -1, -1, -1, -1, -1, 
936         -1, -1, -1, -1, -1, -1, -1, -1, 
937         -1, -1, -1, -1, -1, -1, -1, -1, 
938         166, -1, -1, 374, -1, -1, -1, 372, 
939         373, -1, -1, -1, -1, -1, -1, -1, 
940         -1, 351, -1, -1, -1, -1, -1, -1, 
941         -1, -1, -1, -1, -1, -1, -1, -1, 
942         -1, -1, -1, -1, -1, -1, -1, -1, 
943         -1, -1, -1, -1, -1, -1, -1, -1, 
944         -1, -1, -1, -1, -1, -1, -1, -1, 
945         -1, -1, -1, -1, -1, -1, 368, 369, 
946         370, 371, -1, -1, -1, -1, -1, -1, 
947         -1, -1, -1, -1, -1, -1, -1, -1, 
948         -1, -1, -1, -1, -1, -1, 45, 40, 
949         39, 380, 381, 41, 43, 44, 382, 383, 
950         30, 42, -1, -1, -1, -1, -1, -1, 
951         -1, -1, -1, -1, -1, -1, -1, -1, 
952         -1, -1, -1, -1, -1, -1, -1, -1, 
953         -1, -1, -1, -1, -1, -1, -1, -1, 
954         -1, -1, -1, -1, -1, -1, -1, -1, 
955         -1, -1, -1, -1, -1, -1, -1, -1, 
956         -1, -1, -1, -1, -1, -1, -1, -1, 
957         -1, -1, -1, -1, -1, -1, -1, -1, 
958         341, 345, 343, 344, 352, 389, -1, -1, 
959         -1, -1, -1, -1, -1, -1, -1, -1, 
960         -1, -1, -1, 388, -1, -1, -1, -1, 
961         -1, -1, -1, -1, -1, -1, -1, -1, 
962         -1, -1, -1, -1, -1, -1, -1, -1, 
963         -1, -1, -1, -1, -1, -1, -1, -1, 
964         -1, -1, -1, -1, -1, -1, -1, -1, 
965         -1, -1, -1, -1, -1, -1, -1, -1, 
966         -1, -1, -1, -1, -1, -1, -1, -1, 
967         -1, -1, -1, -1, -1, -1, -1, -1, 
968         -1, -1, -1, -1, -1, -1, -1, -1, 
969         -1, -1, -1, -1, -1, -1, -1, -1, 
970         -1, -1, -1, -1, -1, -1, -1, -1, 
971         -1, -1, -1, -1, -1, -1, -1, -1, 
972         -1, -1, -1, -1, -1, -1, -1, -1, 
973         -1, -1, -1, -1, -1, -1, -1, -1, 
974         -1, -1, -1, -1, -1, -1, -1, -1, 
975         -1, -1, -1, -1, -1, -1, -1, -1, 
976         -1, -1, -1, -1, -1, -1, -1, -1, 
977         -1, -1, -1, -1, -1, -1, -1, -1, 
978         -1, -1, -1, -1, -1, -1, -1, 67, 
979         -1, -1, -1, -1, 68, 353, 364, 364, 
980         364, -1, 364, -1, -1, -1, -1, -1, 
981         -1, -1, -1, -1, -1, -1, -1, -1, 
982         -1, 364, -1, -1, -1, -1, -1, -1, 
983         -1, -1, -1, -1, -1, -1, -1, -1, 
984         -1, -1, -1, -1, -1, -1, -1, -1, 
985         -1, -1, -1, -1, -1, -1, -1, -1, 
986         -1, -1, -1, -1, -1, -1, -1, -1, 
987         -1, -1, -1, -1, -1, -1, -1, -1, 
988         -1, -1, -1, -1, -1, -1, -1, -1, 
989         -1, -1, -1, -1, -1, -1, -1, -1, 
990         -1, -1, -1, -1, -1, -1, 364, -1, 
991         -1, -1, 364, 364, -1, -1, -1, -1, 
992         -1, -1, -1, -1, 364, -1, -1, -1, 
993         -1, -1, -1, -1, -1, -1, -1, -1, 
994         -1, -1, -1, -1, -1, -1, -1, -1, 
995         -1, -1, -1, -1, -1, -1, -1, -1, 
996         -1, -1, -1, -1, -1, -1, -1, -1, 
997         -1, -1, -1, -1, -1, -1, -1, -1, 
998         -1, 364, 364, 364, 364, -1, -1, -1, 
999         -1, -1, -1, -1, -1, -1, -1, -1, 
1000         -1, -1, -1, -1, -1, -1, -1, -1, 
1001         -1, -1, -1, -1, 364, 364, -1, -1, 
1002         -1, 364, 364, 364, -1, -1, -1, -1, 
1003         -1, -1, -1, -1, -1, -1, -1, -1, 
1004         -1, -1, -1, -1, -1, -1, -1, -1, 
1005         -1, -1, -1, -1, -1, -1, -1, 69, 
1006         71, -1, -1, -1, -1, -1, -1, -1, 
1007         -1, -1, -1, -1, -1, -1, -1, -1, 
1008         -1, -1, -1, -1, -1, -1, -1, -1, 
1009         -1, -1, -1, -1, -1, -1, -1, -1, 
1010         -1, -1, -1, -1, -1, -1, -1, -1, 
1011         -1, -1, -1, -1, -1, -1, -1, -1, 
1012         -1, -1, -1, -1, -1, -1, -1, -1, 
1013         -1, -1, -1, -1, -1, -1, -1, -1, 
1014         -1, -1, -1, -1, -1, -1, -1, -1, 
1015         -1, -1, -1, -1, -1, -1, -1, -1, 
1016         -1, -1, -1, -1, -1, -1, 389, -1, 
1017         -1, -1, -1, -1, -1, -1, -1, -1, 
1018         -1, -1, -1, -1, 388, -1, -1, -1, 
1019         -1, -1, -1, -1, -1, -1, -1, -1, 
1020         -1, -1, -1, -1, -1, -1, -1, -1, 
1021         -1, -1, -1, -1, -1, -1, -1, -1, 
1022         -1, -1, -1, -1, -1, -1, -1, -1, 
1023         -1, -1, -1, -1, -1, -1, -1, -1, 
1024         -1, -1, -1, -1, -1, -1, -1, -1, 
1025         -1, -1, -1, -1, -1, -1, -1, -1, 
1026         -1, -1, -1, -1, -1, -1, -1, -1, 
1027         -1, -1, -1, -1, -1, -1, -1, -1, 
1028         -1, -1, -1, -1, -1, -1, -1, -1, 
1029         -1, -1, -1, -1, -1, -1, -1, -1, 
1030         -1, -1, -1, -1, -1, -1, -1, -1, 
1031         -1, -1, -1, -1, -1, -1, -1, -1, 
1032         -1, -1, -1, -1, -1, -1, -1, -1, 
1033         -1, -1, -1, -1, -1, -1, -1, -1, 
1034         -1, -1, -1, -1, -1, -1, -1, -1, 
1035         -1, -1, -1, -1, -1, -1, -1, -1, 
1036         -1, -1, -1, -1, -1, -1, -1, -1, 
1037         70, -1, -1, -1, -1, 68, 75, -1, 
1038         -1, -1, -1, -1, -1, -1, -1, -1, 
1039         -1, -1, -1, -1, -1, -1, -1, -1, 
1040         -1, -1, -1, -1, -1, -1, -1, -1, 
1041         -1, -1, -1, -1, -1, -1, -1, -1, 
1042         -1, -1, -1, -1, -1, -1, -1, -1, 
1043         -1, -1, -1, -1, -1, -1, -1, -1, 
1044         -1, -1, -1, -1, -1, -1, -1, -1, 
1045         -1, -1, -1, -1, -1, -1, -1, -1, 
1046         -1, -1, -1, -1, -1, -1, -1, -1, 
1047         -1, -1, -1, -1, -1, -1, -1, -1, 
1048         -1, -1, -1, -1, 389, -1, -1, -1, 
1049         -1, -1, -1, -1, -1, -1, -1, -1, 
1050         -1, -1, 388, -1, -1, -1, -1, -1, 
1051         -1, -1, -1, -1, -1, -1, -1, -1, 
1052         -1, -1, -1, -1, -1, -1, -1, -1, 
1053         -1, -1, -1, -1, -1, -1, -1, -1, 
1054         -1, -1, -1, -1, -1, -1, -1, -1, 
1055         -1, -1, -1, -1, -1, -1, -1, -1, 
1056         -1, -1, -1, -1, -1, -1, -1, -1, 
1057         -1, -1, -1, -1, -1, -1, -1, -1, 
1058         -1, -1, -1, -1, -1, -1, -1, -1, 
1059         -1, -1, -1, -1, -1, -1, -1, -1, 
1060         -1, -1, -1, -1, -1, -1, -1, -1, 
1061         -1, -1, -1, -1, -1, -1, -1, -1, 
1062         -1, -1, -1, -1, -1, -1, -1, -1, 
1063         -1, -1, -1, -1, -1, -1, -1, -1, 
1064         -1, -1, -1, -1, -1, -1, -1, -1, 
1065         -1, -1, -1, -1, -1, -1, -1, -1, 
1066         -1, -1, -1, -1, -1, -1, -1, -1, 
1067         -1, -1, -1, -1, -1, -1, -1, -1, 
1068         -1, -1, -1, -1, -1, -1, 74, -1, 
1069         -1, -1, -1, 68, 73, -1, -1, -1, 
1070         -1, -1, -1, -1, -1, -1, -1, -1, 
1071         -1, -1, -1, -1, -1, -1, -1, -1, 
1072         -1, -1, -1, -1, -1, -1, -1, -1, 
1073         -1, -1, -1, -1, -1, -1, -1, -1, 
1074         -1, -1, -1, -1, -1, -1, -1, -1, 
1075         -1, -1, -1, -1, -1, -1, -1, -1, 
1076         -1, -1, -1, -1, -1, -1, -1, -1, 
1077         -1, -1, -1, -1, -1, -1, -1, -1, 
1078         -1, -1, -1, -1, -1, -1, -1, -1, 
1079         -1, -1, -1, -1, -1, -1, -1, -1, 
1080         -1, -1, 389, -1, -1, -1, -1, -1, 
1081         -1, -1, -1, -1, -1, -1, -1, -1, 
1082         388, -1, -1, -1, -1, -1, -1, -1, 
1083         -1, -1, -1, -1, -1, -1, -1, -1, 
1084         -1, -1, -1, -1, -1, -1, -1, -1, 
1085         -1, -1, -1, -1, -1, -1, -1, -1, 
1086         -1, -1, -1, -1, -1, -1, -1, -1, 
1087         -1, -1, -1, -1, -1, -1, -1, -1, 
1088         -1, -1, -1, -1, -1, -1, -1, -1, 
1089         -1, -1, -1, -1, -1, -1, -1, -1, 
1090         -1, -1, -1, -1, -1, -1, -1, -1, 
1091         -1, -1, -1, -1, -1, -1, -1, -1, 
1092         -1, -1, -1, -1, -1, -1, -1, -1, 
1093         -1, -1, -1, -1, -1, -1, -1, -1, 
1094         -1, -1, -1, -1, -1, -1, -1, -1, 
1095         -1, -1, -1, -1, -1, -1, -1, -1, 
1096         -1, -1, -1, -1, -1, -1, -1, -1, 
1097         -1, -1, -1, -1, -1, -1, -1, -1, 
1098         -1, -1, -1, -1, -1, -1, -1, -1, 
1099         -1, -1, -1, -1, -1, -1, -1, -1, 
1100         -1, -1, -1, -1, 72, -1, -1, -1, 
1101         -1, 68, 361, 362, 376, 377, 378, -1, 
1102         375, -1, -1, -1, -1, -1, -1, -1, 
1103         -1, -1, -1, -1, -1, -1, -1, 172, 
1104         -1, -1, -1, -1, -1, -1, -1, -1, 
1105         -1, -1, -1, -1, -1, -1, -1, -1, 
1106         -1, -1, -1, -1, -1, -1, -1, -1, 
1107         -1, -1, -1, -1, -1, -1, -1, -1, 
1108         -1, -1, -1, -1, -1, -1, -1, -1, 
1109         -1, -1, -1, -1, -1, -1, -1, -1, 
1110         -1, -1, -1, -1, -1, -1, -1, -1, 
1111         -1, -1, -1, -1, -1, -1, -1, -1, 
1112         -1, -1, -1, -1, 374, -1, -1, -1, 
1113         372, 373, -1, -1, -1, -1, -1, -1, 
1114         -1, -1, 379, -1, -1, -1, -1, -1, 
1115         -1, -1, -1, -1, -1, -1, -1, -1, 
1116         -1, -1, -1, -1, -1, -1, -1, -1, 
1117         -1, -1, -1, -1, -1, -1, -1, -1, 
1118         -1, -1, -1, -1, -1, -1, -1, -1, 
1119         -1, -1, -1, -1, -1, -1, -1, 368, 
1120         369, 370, 371, -1, -1, -1, -1, -1, 
1121         -1, -1, -1, -1, -1, -1, -1, -1, 
1122         -1, -1, -1, -1, -1, -1, -1, -1, 
1123         -1, -1, 380, 381, -1, -1, -1, 382, 
1124         383, 30, -1, -1, -1, -1, -1, -1, 
1125         -1, -1, -1, -1, -1, -1, -1, -1, 
1126         -1, -1, -1, -1, -1, -1, -1, -1, 
1127         -1, -1, -1, -1, -1, -1, -1, -1, 
1128         -1, -1, -1, -1, -1, -1, -1, -1, 
1129         -1, -1, -1, -1, -1, -1, -1, -1, 
1130         -1, -1, -1, -1, -1, -1, -1, -1, 
1131         -1, -1, -1, -1, -1, -1, -1, -1, 
1132         -1, -1, -1, 365, -1, 367, -1, 363, 
1133         366, 81, -1, -1, -1, -1, -1, -1, 
1134         -1, -1, -1, -1, -1, -1, -1, -1, 
1135         163, 83, -1, -1, 186, -1, -1, 186, 
1136         84, -1, -1, -1, -1, -1, -1, -1, 
1137         -1, -1, -1, -1, -1, -1, 186, -1, 
1138         -1, -1, -1, -1, -1, -1, -1, -1, 
1139         -1, -1, -1, -1, -1, -1, -1, -1, 
1140         -1, -1, -1, -1, -1, -1, -1, -1, 
1141         -1, -1, -1, -1, -1, -1, -1, -1, 
1142         -1, -1, -1, -1, -1, -1, -1, -1, 
1143         -1, -1, -1, -1, -1, -1, -1, -1, 
1144         -1, -1, -1, -1, -1, -1, -1, -1, 
1145         -1, -1, -1, -1, -1, -1, 186, 82, 
1146         -1, -1, -1, -1, -1, -1, -1, -1, 
1147         -1, -1, -1, -1, -1, -1, 186, -1, 
1148         -1, -1, -1, 85, 55, -1, -1, -1, 
1149         -1, 192, -1, 63, 192, -1, -1, 192, 
1150         18, 86, -1, -1, -1, -1, -1, -1, 
1151         -1, -1, -1, -1, -1, -1, 192, -1, 
1152         -1, -1, -1, -1, -1, -1, -1, -1, 
1153         -1, -1, -1, -1, -1, -1, -1, -1, 
1154         -1, -1, -1, -1, -1, -1, -1, -1, 
1155         -1, -1, -1, -1, -1, -1, -1, -1, 
1156         -1, 56, -1, -1, -1, -1, -1, -1, 
1157         -1, -1, -1, -1, -1, -1, -1, -1, 
1158         -1, -1, -1, -1, -1, -1, -1, -1, 
1159         -1, -1, -1, -1, -1, -1, 192, 192, 
1160         -1, -1, -1, 50, 57, -1, -1, 326, 
1161         328, -1, 87, 88, 89, -1, 192, -1, 
1162         -1, -1, -1, 192, -1, -1, -1, -1, 
1163         -1, -1, -1, -1, -1, -1, -1, -1, 
1164         -1, -1, -1, -1, -1, -1, -1, -1, 
1165         -1, -1, -1, -1, -1, -1, -1, -1, 
1166         -1, -1, -1, -1, -1, -1, 61, 59, 
1167         60, -1, -1, -1, -1, -1, -1, -1, 
1168         -1, -1, -1, -1, -1, -1, -1, -1, 
1169         -1, -1, -1, -1, -1, -1, -1, -1, 
1170         -1, -1, -1, -1, -1, -1, -1, -1, 
1171         -1, -1, -1, -1, -1, -1, -1, -1, 
1172         -1, -1, -1, -1, -1, -1, -1, -1, 
1173         -1, -1, -1, -1, -1, -1, -1, -1, 
1174         -1, -1, -1, -1, -1, -1, -1, -1, 
1175         -1, -1, -1, 58, -1, -1, -1, -1, 
1176         -1, -1, -1, -1, -1, -1, 193, 52, 
1177         -1, 53, -1, -1, -1, -1, -1, -1, 
1178         -1, -1, -1, -1, 54, -1, -1, -1, 
1179         308, 312, -1, -1, 62, 315, -1, -1, 
1180         315, 315, 315, -1, 315, 315, 315, 315, 
1181         315, 315, 315, -1, -1, -1, -1, -1, 
1182         -1, -1, -1, -1, -1, -1, 77, 315, 
1183         315, -1, 315, 315, 315, -1, -1, -1, 
1184         -1, -1, -1, -1, -1, -1, -1, -1, 
1185         -1, -1, -1, -1, -1, -1, -1, -1, 
1186         -1, -1, -1, -1, -1, -1, -1, -1, 
1187         -1, -1, 315, -1, -1, -1, -1, -1, 
1188         -1, -1, -1, -1, -1, -1, -1, -1, 
1189         -1, -1, -1, -1, -1, -1, -1, -1, 
1190         -1, -1, -1, -1, -1, -1, -1, 315, 
1191         315, -1, -1, -1, 315, 315, -1, -1, 
1192         315, 315, -1, 315, 315, 315, 315, 315, 
1193         315, -1, -1, -1, 315, 315, 315, 315, 
1194         315, 315, 315, 315, 315, 315, 315, 315, 
1195         315, 315, 315, 315, 315, 315, 315, 315, 
1196         315, 315, 315, 315, 315, 315, 315, 315, 
1197         315, 315, 315, 315, 315, 315, 315, 315, 
1198         315, 315, -1, -1, -1, -1, -1, -1, 
1199         -1, -1, -1, -1, -1, -1, -1, -1, 
1200         -1, -1, -1, 315, 315, 315, 200, -1, 
1201         -1, -1, -1, 200, -1, 200, 200, -1, 
1202         -1, 200, 200, 200, -1, -1, -1, -1, 
1203         -1, -1, -1, -1, -1, -1, -1, -1, 
1204         200, -1, -1, -1, -1, -1, -1, -1, 
1205         -1, -1, -1, -1, -1, -1, -1, -1, 
1206         -1, -1, -1, -1, -1, -1, -1, -1, 
1207         -1, -1, -1, -1, -1, -1, -1, -1, 
1208         -1, -1, -1, 200, -1, -1, -1, -1, 
1209         -1, -1, -1, -1, -1, -1, -1, -1, 
1210         -1, -1, -1, -1, -1, -1, -1, -1, 
1211         -1, -1, -1, -1, -1, -1, -1, -1, 
1212         200, 200, -1, -1, -1, 200, 200, -1, 
1213         -1, 200, 200, -1, 200, 200, 200, 90, 
1214         200, -1, -1, -1, -1, 200, -1, -1, 
1215         -1, -1, -1, -1, -1, -1, -1, -1, 
1216         -1, -1, -1, -1, -1, -1, -1, -1, 
1217         -1, -1, -1, -1, -1, -1, -1, -1, 
1218         -1, -1, -1, -1, -1, -1, -1, -1, 
1219         200, 200, 200, 202, -1, -1, 100, 99, 
1220         202, -1, 202, 202, -1, -1, 202, 202, 
1221         202, -1, -1, -1, -1, -1, -1, -1, 
1222         -1, -1, -1, -1, -1, 202, 102, -1, 
1223         101, -1, 98, -1, -1, -1, -1, -1, 
1224         -1, -1, -1, -1, -1, -1, -1, -1, 
1225         -1, -1, -1, -1, -1, -1, -1, -1, 
1226         -1, -1, -1, -1, -1, -1, -1, -1, 
1227         202, -1, -1, -1, -1, -1, -1, -1, 
1228         -1, -1, -1, -1, -1, -1, -1, -1, 
1229         -1, -1, -1, -1, -1, -1, -1, -1, 
1230         -1, -1, -1, -1, -1, 202, 202, -1, 
1231         -1, -1, 202, 202, -1, -1, 202, 202, 
1232         -1, 202, 202, 202, 202, 202, -1, -1, 
1233         -1, -1, 202, 219, 221, 223, 103, 264, 
1234         268, 270, 272, 266, 274, 276, 280, 282, 
1235         284, 278, 286, 252, 256, 258, 260, 254, 
1236         262, 228, 232, 234, 236, 230, 238, 240, 
1237         244, 246, 248, 242, 250, 202, 202, 202, 
1238         -1, -1, -1, -1, -1, -1, -1, -1, 
1239         -1, -1, -1, -1, -1, -1, -1, -1, 
1240         -1, 226, 225, 227, -1, -1, -1, -1, 
1241         -1, -1, -1, -1, -1, -1, -1, -1, 
1242         -1, -1, -1, -1, -1, -1, -1, -1, 
1243         -1, -1, -1, -1, -1, -1, -1, -1, 
1244         -1, -1, -1, -1, -1, -1, -1, -1, 
1245         -1, -1, -1, -1, -1, -1, -1, -1, 
1246         -1, -1, -1, -1, -1, -1, -1, -1, 
1247         -1, -1, -1, -1, -1, -1, -1, -1, 
1248         -1, 91, -1, -1, 92, 93, 94, 95, 
1249         96, 97, 214, -1, -1, 214, 214, 214, 
1250         -1, 214, 214, 300, 303, 214, 214, 214, 
1251         -1, -1, -1, -1, -1, -1, -1, -1, 
1252         -1, -1, -1, -1, 214, 214, -1, 214, 
1253         302, 214, -1, -1, -1, -1, -1, -1, 
1254         -1, -1, -1, -1, -1, -1, -1, -1, 
1255         -1, -1, -1, -1, -1, -1, -1, -1, 
1256         -1, -1, -1, -1, -1, -1, -1, 214, 
1257         -1, -1, -1, -1, -1, -1, -1, -1, 
1258         -1, -1, -1, -1, -1, -1, -1, -1, 
1259         -1, -1, -1, -1, -1, -1, -1, -1, 
1260         -1, -1, -1, -1, 104, 214, -1, -1, 
1261         -1, 214, 214, -1, -1, 214, 214, -1, 
1262         214, 214, 214, 214, 214, 301, -1, -1, 
1263         -1, 214, 214, 214, 214, 214, 214, 214, 
1264         214, 214, 214, 214, 214, 214, 214, 214, 
1265         214, 214, 214, 214, 214, 214, 214, 214, 
1266         214, 214, 214, 214, 214, 214, 214, 214, 
1267         214, 214, 214, 214, 214, 214, 214, -1, 
1268         -1, -1, -1, -1, -1, -1, -1, -1, 
1269         -1, -1, -1, -1, -1, -1, -1, -1, 
1270         214, 214, 214, 55, -1, -1, -1, -1, 
1271         -1, -1, 63, -1, -1, -1, -1, 17, 
1272         -1, -1, -1, -1, -1, -1, -1, -1, 
1273         -1, -1, -1, -1, -1, -1, -1, -1, 
1274         -1, -1, -1, -1, -1, -1, -1, -1, 
1275         -1, -1, -1, -1, -1, -1, -1, -1, 
1276         -1, -1, -1, -1, -1, -1, -1, -1, 
1277         -1, -1, -1, -1, -1, -1, -1, -1, 
1278         56, -1, -1, -1, -1, -1, -1, -1, 
1279         -1, -1, -1, -1, -1, -1, -1, -1, 
1280         -1, -1, -1, -1, -1, -1, -1, -1, 
1281         -1, -1, -1, -1, -1, -1, -1, -1, 
1282         -1, -1, 316, 57, -1, -1, 326, 328, 
1283         -1, -1, -1, -1, -1, -1, -1, -1, 
1284         -1, -1, -1, -1, -1, -1, -1, -1, 
1285         -1, -1, -1, -1, -1, -1, -1, -1, 
1286         -1, -1, -1, -1, -1, -1, -1, -1, 
1287         -1, -1, -1, -1, -1, -1, -1, -1, 
1288         -1, -1, -1, -1, -1, 61, 59, 60, 
1289         -1, -1, -1, -1, -1, -1, -1, -1, 
1290         -1, -1, -1, -1, -1, -1, -1, -1, 
1291         -1, -1, -1, -1, -1, -1, -1, -1, 
1292         -1, -1, -1, -1, -1, -1, -1, -1, 
1293         -1, -1, -1, -1, -1, -1, -1, -1, 
1294         -1, -1, -1, -1, -1, -1, -1, -1, 
1295         -1, -1, -1, -1, -1, -1, -1, -1, 
1296         -1, -1, -1, -1, -1, -1, -1, -1, 
1297         -1, -1, 58, -1, -1, -1, -1, -1, 
1298         -1, -1, -1, -1, -1, -1, -1, -1, 
1299         -1, -1, -1, -1, -1, -1, -1, -1, 
1300         -1, -1, -1, -1, -1, -1, -1, 310, 
1301         312, -1, -1, 62, 55, -1, -1, -1, 
1302         -1, -1, -1, 63, -1, -1, -1, -1, 
1303         17, -1, -1, -1, -1, -1, -1, -1, 
1304         -1, -1, -1, -1, -1, -1, -1, -1, 
1305         -1, -1, -1, -1, -1, -1, -1, -1, 
1306         -1, -1, -1, -1, -1, -1, -1, -1, 
1307         -1, -1, -1, -1, -1, -1, -1, -1, 
1308         -1, -1, -1, -1, -1, -1, -1, -1, 
1309         -1, 56, -1, -1, -1, -1, -1, -1, 
1310         -1, -1, -1, -1, -1, -1, -1, -1, 
1311         -1, -1, -1, -1, -1, -1, -1, -1, 
1312         -1, -1, -1, -1, -1, -1, -1, -1, 
1313         -1, -1, -1, 316, 57, -1, -1, 326, 
1314         328, -1, -1, -1, -1, -1, -1, -1, 
1315         -1, -1, -1, -1, -1, -1, -1, -1, 
1316         -1, -1, -1, -1, -1, -1, -1, -1, 
1317         -1, -1, -1, -1, -1, -1, -1, -1, 
1318         -1, -1, -1, -1, -1, -1, -1, -1, 
1319         -1, -1, -1, -1, -1, -1, 61, 59, 
1320         60, -1, -1, -1, -1, -1, -1, -1, 
1321         -1, -1, -1, -1, -1, -1, -1, -1, 
1322         -1, -1, -1, -1, -1, -1, -1, -1, 
1323         -1, -1, -1, -1, -1, -1, -1, -1, 
1324         -1, -1, -1, -1, -1, -1, -1, -1, 
1325         -1, -1, -1, -1, -1, -1, -1, -1, 
1326         -1, -1, -1, -1, -1, -1, -1, -1, 
1327         -1, -1, -1, -1, -1, -1, -1, -1, 
1328         -1, -1, -1, 58, -1, -1, -1, -1, 
1329         -1, -1, -1, -1, -1, -1, -1, -1, 
1330         -1, -1, -1, -1, -1, -1, -1, -1, 
1331         -1, -1, -1, -1, -1, -1, -1, -1, 
1332         311, 312, -1, -1, 62, 313, -1, -1, 
1333         313, 313, 313, -1, 313, 313, 313, 313, 
1334         313, 313, 313, -1, -1, -1, -1, -1, 
1335         -1, -1, -1, -1, -1, -1, -1, 313, 
1336         313, -1, 313, 313, 313, -1, -1, -1, 
1337         -1, -1, -1, -1, -1, -1, -1, -1, 
1338         -1, -1, -1, -1, -1, -1, -1, -1, 
1339         -1, -1, -1, -1, -1, -1, -1, -1, 
1340         -1, -1, 313, -1, -1, -1, -1, -1, 
1341         -1, -1, -1, -1, -1, -1, -1, -1, 
1342         -1, -1, -1, -1, -1, -1, -1, -1, 
1343         -1, -1, -1, -1, -1, -1, -1, 313, 
1344         313, -1, -1, -1, 313, 313, -1, -1, 
1345         313, 313, 322, 313, 313, 313, 313, 313, 
1346         313, -1, -1, -1, 313, 313, 313, 313, 
1347         313, 313, 313, 313, 313, 313, 313, 313, 
1348         313, 313, 313, 313, 313, 313, 313, 313, 
1349         313, 313, 313, 313, 313, 313, 313, 313, 
1350         313, 313, 313, 313, 313, 313, 313, 313, 
1351         313, 313, -1, -1, -1, -1, -1, -1, 
1352         -1, -1, -1, -1, -1, -1, -1, -1, 
1353         -1, -1, -1, 313, 313, 313, 314, -1, 
1354         -1, 314, 314, 314, -1, 314, 314, 314, 
1355         314, 314, 314, 314, -1, -1, -1, -1, 
1356         -1, -1, -1, -1, -1, -1, -1, -1, 
1357         314, 314, -1, 314, 314, 314, -1, -1, 
1358         -1, -1, -1, -1, -1, -1, -1, -1, 
1359         -1, -1, -1, -1, -1, -1, -1, -1, 
1360         -1, -1, -1, -1, -1, -1, -1, -1, 
1361         -1, -1, -1, 314, -1, -1, -1, -1, 
1362         -1, -1, -1, -1, -1, -1, -1, -1, 
1363         -1, -1, -1, -1, -1, -1, -1, -1, 
1364         -1, -1, -1, -1, -1, -1, -1, -1, 
1365         314, 314, -1, -1, -1, 314, 314, -1, 
1366         -1, 314, 314, 324, 314, 314, 314, 314, 
1367         314, 314, -1, -1, -1, 314, 314, 314, 
1368         314, 314, 314, 314, 314, 314, 314, 314, 
1369         314, 314, 314, 314, 314, 314, 314, 314, 
1370         314, 314, 314, 314, 314, 314, 314, 314, 
1371         314, 314, 314, 314, 314, 314, 314, 314, 
1372         314, 314, 314, -1, -1, -1, -1, -1, 
1373         -1, -1, -1, -1, -1, -1, -1, -1, 
1374         -1, -1, -1, -1, 314, 314, 314, 338, 
1375         -1, -1, -1, 338, -1, -1, -1, -1, 
1376         -1, -1, -1, -1, -1, -1, -1, -1, 
1377         -1, -1, -1, -1, -1, -1, -1, -1, 
1378         -1, -1, -1, -1, -1, -1, -1, -1, 
1379         -1, -1, -1, -1, -1, -1, -1, -1, 
1380         -1, -1, -1, -1, -1, -1, -1, -1, 
1381         -1, -1, -1, -1, -1, -1, -1, -1, 
1382         -1, -1, -1, -1, -1, -1, -1, -1, 
1383         -1, -1, -1, -1, -1, -1, -1, -1, 
1384         -1, -1, -1, -1, -1, -1, -1, -1, 
1385         -1, -1, -1, -1, -1, -1, -1, -1, 
1386         -1, -1, -1, -1, -1, -1, -1, -1, 
1387         79, 338, -1, -1, -1, 338, -1, -1, 
1388         -1, -1, -1, -1, -1, -1, -1, -1, 
1389         -1, -1, -1, -1, -1, -1, -1, -1, 
1390         -1, -1, -1, -1, -1, -1, -1, -1, 
1391         -1, -1, -1, -1, -1, -1, -1, -1, 
1392         -1, -1, -1, -1, -1, -1, -1, -1, 
1393         -1, -1, -1, -1, -1, -1, -1, -1, 
1394         -1, -1, -1, -1, -1, -1, -1, -1, 
1395         -1, -1, -1, -1, -1, -1, -1, -1, 
1396         -1, -1, -1, -1, -1, -1, -1, -1, 
1397         -1, -1, -1, -1, -1, -1, -1, -1, 
1398         -1, -1, -1, -1, -1, -1, -1, -1, 
1399         -1, -1, 80, 330, 330, 330, -1, 330, 
1400         -1, -1, 330, -1, -1, -1, -1, -1, 
1401         -1, -1, -1, -1, -1, -1, -1, -1, 
1402         -1, -1, -1, -1, -1, -1, -1, -1, 
1403         -1, -1, -1, -1, -1, -1, -1, -1, 
1404         -1, -1, -1, -1, -1, -1, -1, -1, 
1405         -1, -1, -1, -1, -1, -1, -1, -1, 
1406         -1, -1, -1, -1, -1, -1, -1, -1, 
1407         -1, -1, -1, -1, -1, -1, -1, -1, 
1408         -1, -1, -1, -1, -1, -1, -1, -1, 
1409         -1, -1, -1, -1, -1, -1, -1, -1, 
1410         -1, -1, -1, -1, -1, -1, -1, -1, 
1411         -1, -1, -1, -1, -1, -1, -1, -1, 
1412         78, 105, 55, -1, -1, -1, -1, -1, 
1413         -1, 63, -1, -1, -1, -1, 17, -1, 
1414         -1, -1, -1, -1, -1, -1, -1, -1, 
1415         -1, -1, -1, -1, -1, -1, -1, -1, 
1416         -1, -1, -1, -1, -1, -1, -1, -1, 
1417         -1, -1, -1, -1, -1, -1, -1, -1, 
1418         -1, -1, -1, -1, -1, -1, -1, -1, 
1419         -1, -1, -1, -1, -1, -1, -1, 56, 
1420         -1, -1, -1, -1, -1, -1, -1, -1, 
1421         -1, -1, -1, -1, -1, -1, -1, -1, 
1422         -1, -1, -1, -1, -1, -1, -1, -1, 
1423         -1, -1, -1, -1, -1, -1, -1, -1, 
1424         -1, 50, 57, -1, -1, 326, 328, -1, 
1425         -1, -1, -1, -1, -1, -1, -1, -1, 
1426         -1, -1, -1, -1, -1, -1, -1, -1, 
1427         -1, -1, -1, -1, -1, -1, -1, -1, 
1428         -1, -1, -1, -1, -1, -1, -1, -1, 
1429         -1, -1, -1, -1, -1, -1, -1, -1, 
1430         -1, -1, -1, -1, 61, 59, 60, -1, 
1431         -1, -1, -1, -1, -1, -1, -1, -1, 
1432         -1, -1, -1, -1, -1, -1, -1, -1, 
1433         -1, -1, -1, -1, -1, -1, -1, -1, 
1434         -1, -1, -1, -1, -1, -1, -1, -1, 
1435         -1, -1, -1, -1, -1, -1, -1, -1, 
1436         -1, -1, -1, -1, -1, -1, -1, -1, 
1437         -1, -1, -1, -1, -1, -1, -1, -1, 
1438         -1, -1, -1, -1, -1, -1, -1, 76, 
1439         -1, 58, -1, -1, -1, -1, -1, -1, 
1440         -1, 48, 191, 49, 198, 52, -1, 53, 
1441         -1, -1, -1, -1, -1, -1, -1, -1, 
1442         -1, -1, 54, -1, -1, -1, 308, 312, 
1443         -1, -1, 62, 164, 81, -1, -1, -1, 
1444         -1, -1, -1, -1, -1, -1, -1, -1, 
1445         -1, -1, -1, 175, 55, -1, -1, -1, 
1446         -1, -1, -1, 63, -1, -1, -1, -1, 
1447         17, -1, -1, -1, -1, -1, -1, -1, 
1448         -1, -1, -1, -1, -1, -1, -1, -1, 
1449         -1, -1, -1, -1, -1, -1, -1, -1, 
1450         -1, -1, -1, -1, -1, -1, -1, -1, 
1451         -1, -1, -1, -1, -1, -1, -1, -1, 
1452         -1, -1, -1, -1, -1, -1, -1, -1, 
1453         -1, 56, -1, -1, -1, -1, -1, -1, 
1454         -1, -1, -1, -1, -1, -1, -1, -1, 
1455         -1, -1, -1, -1, -1, -1, -1, -1, 
1456         -1, -1, -1, -1, -1, -1, -1, -1, 
1457         -1, -1, -1, 51, 57, -1, -1, 326, 
1458         328, -1, -1, -1, -1, -1, -1, -1, 
1459         -1, -1, -1, -1, -1, -1, -1, -1, 
1460         -1, -1, -1, -1, -1, -1, -1, -1, 
1461         -1, -1, -1, -1, -1, -1, -1, -1, 
1462         -1, -1, -1, -1, -1, -1, -1, -1, 
1463         -1, -1, -1, -1, -1, -1, 61, 59, 
1464         60, -1, -1, -1, -1, -1, -1, -1, 
1465         -1, -1, -1, -1, -1, -1, 4, -1, 
1466         -1, -1, -1, -1, -1, -1, -1, -1, 
1467         -1, -1, 158, -1, -1, -1, -1, -1, 
1468         -1, -1, -1, -1, -1, -1, -1, -1, 
1469         -1, -1, -1, -1, -1, -1, -1, -1, 
1470         -1, 180, -1, 179, -1, -1, -1, -1, 
1471         -1, -1, -1, -1, -1, -1, 160, 108, 
1472         -1, 107, -1, 58, -1, -1, 106, 178, 
1473         -1, -1, -1, 48, 191, 49, 198, 52, 
1474         -1, 53, -1, -1, -1, -1, -1, -1, 
1475         -1, -1, -1, -1, 54, -1, -1, -1, 
1476         308, 312, -1, -1, 62, 384, 391, -1, 
1477         -1, -1, -1, -1, -1, -1, -1, -1, 
1478         -1, -1, -1, -1, -1, -1, -1, -1, 
1479         -1, -1, -1, -1, -1, -1, -1, -1, 
1480         -1, -1, -1, -1, -1, -1, -1, -1, 
1481         -1, -1, -1, -1, -1, -1, -1, -1, 
1482         -1, -1, -1, -1, -1, -1, -1, -1, 
1483         -1, -1, -1, -1, -1, -1, -1, -1, 
1484         -1, -1, -1, -1, -1, -1, -1, -1, 
1485         -1, -1, -1, -1, -1, -1, -1, -1, 
1486         -1, -1, -1, -1, -1, -1, -1, -1, 
1487         -1, -1, -1, -1, -1, -1, -1, -1, 
1488         -1, -1, -1, -1, -1, -1, -1, -1, 
1489         -1, -1, -1, -1, -1, -1, -1, -1, 
1490         -1, -1, -1, -1, -1, -1, -1, -1, 
1491         -1, -1, -1, -1, -1, -1, -1, -1, 
1492         -1, -1, -1, -1, -1, -1, -1, -1, 
1493         -1, -1, -1, -1, -1, -1, -1, -1, 
1494         -1, -1, -1, -1, -1, -1, -1, -1, 
1495         -1, -1, -1, -1, -1, -1, -1, -1, 
1496         -1, -1, -1, -1, -1, -1, -1, -1, 
1497         -1, -1, -1, -1, 109, 376, 377, 378, 
1498         -1, 375, -1, -1, -1, -1, -1, -1, 
1499         -1, -1, -1, -1, -1, -1, -1, -1, 
1500         354, -1, -1, -1, -1, -1, -1, -1, 
1501         -1, -1, -1, -1, -1, -1, -1, -1, 
1502         -1, -1, -1, -1, -1, -1, -1, -1, 
1503         -1, -1, -1, -1, -1, -1, -1, -1, 
1504         -1, -1, -1, -1, -1, -1, -1, -1, 
1505         -1, -1, -1, -1, -1, -1, -1, -1, 
1506         -1, -1, -1, -1, -1, -1, -1, -1, 
1507         -1, -1, -1, -1, -1, -1, -1, -1, 
1508         -1, -1, -1, -1, -1, 374, -1, -1, 
1509         -1, 372, 373, -1, -1, -1, -1, -1, 
1510         -1, -1, -1, 379, -1, -1, -1, -1, 
1511         -1, -1, -1, -1, -1, -1, -1, -1, 
1512         -1, -1, -1, -1, -1, -1, -1, -1, 
1513         -1, -1, -1, -1, -1, -1, -1, -1, 
1514         -1, -1, -1, -1, -1, -1, -1, -1, 
1515         -1, -1, -1, -1, -1, -1, -1, -1, 
1516         368, 369, 370, 371, -1, -1, -1, -1, 
1517         -1, -1, -1, -1, -1, -1, -1, -1, 
1518         -1, -1, -1, -1, -1, -1, -1, -1, 
1519         -1, -1, -1, 380, 381, -1, -1, -1, 
1520         382, 383, 30, -1, -1, -1, -1, -1, 
1521         -1, -1, -1, -1, -1, -1, -1, -1, 
1522         -1, -1, -1, -1, -1, -1, -1, -1, 
1523         -1, -1, -1, -1, -1, -1, -1, -1, 
1524         -1, -1, -1, -1, -1, -1, -1, -1, 
1525         -1, -1, -1, -1, -1, -1, -1, -1, 
1526         -1, -1, -1, -1, -1, -1, -1, -1, 
1527         -1, -1, -1, -1, -1, -1, -1, -1, 
1528         -1, -1, -1, -1, 365, -1, 367, -1, 
1529         363, 366, 355, 364, 364, 364, -1, 364, 
1530         -1, -1, -1, -1, -1, -1, -1, -1, 
1531         -1, -1, -1, -1, -1, -1, 364, -1, 
1532         -1, -1, -1, -1, -1, -1, -1, -1, 
1533         -1, -1, -1, -1, -1, -1, -1, -1, 
1534         -1, -1, -1, -1, -1, -1, -1, -1, 
1535         -1, -1, -1, -1, -1, -1, -1, -1, 
1536         -1, -1, -1, -1, -1, -1, -1, -1, 
1537         -1, -1, -1, -1, -1, -1, -1, -1, 
1538         -1, -1, -1, -1, -1, -1, -1, -1, 
1539         -1, -1, -1, -1, -1, -1, -1, -1, 
1540         -1, -1, -1, 364, -1, -1, -1, 364, 
1541         364, -1, -1, -1, -1, -1, -1, -1, 
1542         -1, 364, -1, -1, -1, -1, -1, -1, 
1543         -1, -1, -1, -1, -1, -1, -1, -1, 
1544         -1, -1, -1, -1, -1, -1, -1, -1, 
1545         -1, -1, -1, -1, -1, -1, -1, -1, 
1546         -1, -1, -1, -1, -1, -1, -1, -1, 
1547         -1, -1, -1, -1, -1, -1, 364, 364, 
1548         364, 364, -1, -1, -1, -1, -1, -1, 
1549         -1, -1, -1, -1, -1, -1, -1, -1, 
1550         -1, -1, -1, -1, -1, -1, -1, -1, 
1551         -1, 364, 364, -1, -1, -1, 364, 364, 
1552         364, -1, -1, -1, -1, -1, -1, -1, 
1553         -1, -1, -1, -1, -1, -1, -1, -1, 
1554         -1, -1, -1, -1, -1, -1, -1, -1, 
1555         -1, -1, -1, -1, 110, 359, 364, 364, 
1556         364, -1, 364, -1, -1, -1, -1, -1, 
1557         -1, -1, -1, -1, -1, -1, -1, -1, 
1558         -1, 364, -1, -1, -1, -1, -1, -1, 
1559         -1, -1, -1, -1, -1, -1, -1, -1, 
1560         -1, -1, -1, -1, -1, -1, -1, -1, 
1561         -1, -1, -1, -1, -1, -1, -1, -1, 
1562         -1, -1, -1, -1, -1, -1, -1, -1, 
1563         -1, -1, -1, -1, -1, -1, -1, -1, 
1564         -1, -1, -1, -1, -1, -1, -1, -1, 
1565         -1, -1, -1, -1, -1, -1, -1, -1, 
1566         -1, -1, -1, -1, -1, -1, 364, -1, 
1567         -1, -1, 364, 364, -1, -1, -1, -1, 
1568         -1, -1, -1, -1, 364, -1, -1, -1, 
1569         -1, -1, -1, -1, -1, -1, -1, -1, 
1570         -1, -1, -1, -1, -1, -1, -1, -1, 
1571         -1, -1, -1, -1, -1, -1, -1, -1, 
1572         -1, -1, -1, -1, -1, -1, -1, -1, 
1573         -1, -1, -1, -1, -1, -1, -1, -1, 
1574         -1, 364, 364, 364, 364, -1, -1, -1, 
1575         -1, -1, -1, -1, -1, -1, -1, -1, 
1576         -1, -1, -1, -1, -1, -1, -1, -1, 
1577         -1, -1, -1, -1, 364, 364, -1, -1, 
1578         -1, 364, 364, 364, -1, -1, -1, -1, 
1579         -1, -1, -1, -1, -1, -1, -1, -1, 
1580         -1, -1, -1, -1, -1, -1, -1, -1, 
1581         -1, -1, -1, -1, -1, -1, -1, 111, 
1582         357, 364, 364, 364, -1, 364, -1, -1, 
1583         -1, -1, -1, -1, -1, -1, -1, -1, 
1584         -1, -1, -1, -1, 364, -1, -1, -1, 
1585         -1, -1, -1, -1, -1, -1, -1, -1, 
1586         -1, -1, -1, -1, -1, -1, -1, -1, 
1587         -1, -1, -1, -1, -1, -1, -1, -1, 
1588         -1, -1, -1, -1, -1, -1, -1, -1, 
1589         -1, -1, -1, -1, -1, -1, -1, -1, 
1590         -1, -1, -1, -1, -1, -1, -1, -1, 
1591         -1, -1, -1, -1, -1, -1, -1, -1, 
1592         -1, -1, -1, -1, -1, -1, -1, -1, 
1593         -1, 364, -1, -1, -1, 364, 364, -1, 
1594         -1, -1, -1, -1, -1, -1, -1, 364, 
1595         -1, -1, -1, -1, -1, -1, -1, -1, 
1596         -1, -1, -1, -1, -1, -1, -1, -1, 
1597         -1, -1, -1, -1, -1, -1, -1, -1, 
1598         -1, -1, -1, -1, -1, -1, -1, -1, 
1599         -1, -1, -1, -1, -1, -1, -1, -1, 
1600         -1, -1, -1, -1, 364, 364, 364, 364, 
1601         -1, -1, -1, -1, -1, -1, -1, -1, 
1602         -1, -1, -1, -1, -1, -1, -1, -1, 
1603         -1, -1, -1, -1, -1, -1, -1, 364, 
1604         364, -1, -1, -1, 364, 364, 364, -1, 
1605         -1, -1, -1, -1, -1, -1, -1, -1, 
1606         -1, -1, -1, -1, -1, -1, -1, -1, 
1607         -1, -1, -1, -1, -1, -1, -1, -1, 
1608         -1, -1, 112, 321, -1, -1, 81, 55, 
1609         -1, -1, -1, -1, -1, -1, 63, -1, 
1610         -1, -1, -1, 17, -1, -1, -1, -1, 
1611         -1, -1, -1, -1, -1, -1, -1, -1, 
1612         -1, -1, -1, -1, -1, -1, -1, -1, 
1613         -1, -1, -1, -1, -1, -1, -1, -1, 
1614         -1, -1, -1, -1, -1, -1, -1, -1, 
1615         -1, -1, -1, -1, -1, -1, -1, -1, 
1616         -1, -1, -1, -1, 56, -1, -1, -1, 
1617         -1, -1, -1, -1, -1, -1, -1, -1, 
1618         -1, -1, -1, -1, -1, -1, -1, -1, 
1619         -1, -1, -1, -1, -1, -1, -1, -1, 
1620         -1, -1, -1, -1, -1, -1, 50, 57, 
1621         -1, -1, 326, 328, -1, -1, -1, -1, 
1622         -1, -1, -1, -1, -1, -1, -1, -1, 
1623         -1, -1, -1, -1, -1, -1, -1, -1, 
1624         -1, -1, -1, -1, -1, -1, -1, -1, 
1625         -1, -1, -1, -1, -1, -1, -1, -1, 
1626         -1, -1, -1, -1, -1, -1, -1, -1, 
1627         -1, 61, 59, 60, -1, -1, -1, -1, 
1628         -1, -1, -1, -1, -1, -1, -1, -1, 
1629         -1, -1, -1, -1, -1, -1, -1, -1, 
1630         -1, -1, -1, -1, -1, -1, -1, -1, 
1631         -1, -1, -1, -1, -1, -1, -1, -1, 
1632         -1, -1, -1, -1, -1, -1, -1, -1, 
1633         -1, -1, -1, -1, -1, -1, -1, -1, 
1634         -1, -1, -1, -1, -1, -1, -1, -1, 
1635         -1, -1, -1, -1, -1, -1, 58, -1, 
1636         -1, -1, -1, -1, -1, -1, -1, -1, 
1637         -1, 199, 52, -1, 53, -1, -1, -1, 
1638         -1, -1, -1, -1, -1, -1, -1, 54, 
1639         -1, -1, -1, 308, 312, -1, -1, 62, 
1640         319, 114, 115, -1, 335, -1, -1, 336, 
1641         -1, -1, -1, -1, -1, -1, -1, -1, 
1642         -1, -1, -1, -1, -1, -1, -1, -1, 
1643         -1, -1, -1, -1, -1, -1, -1, -1, 
1644         -1, -1, -1, -1, -1, -1, -1, -1, 
1645         -1, -1, -1, -1, -1, -1, -1, -1, 
1646         -1, -1, -1, -1, -1, -1, -1, -1, 
1647         -1, -1, -1, -1, -1, -1, -1, -1, 
1648         -1, -1, -1, -1, -1, -1, -1, -1, 
1649         -1, -1, -1, -1, -1, -1, -1, -1, 
1650         -1, -1, -1, -1, -1, -1, -1, -1, 
1651         -1, -1, -1, -1, -1, -1, -1, -1, 
1652         -1, -1, -1, -1, -1, -1, -1, 329, 
1653         113, 317, -1, -1, -1, 116, -1, -1, 
1654         -1, -1, -1, -1, -1, -1, -1, -1, 
1655         -1, -1, -1, -1, -1, -1, -1, -1, 
1656         -1, -1, -1, -1, -1, -1, -1, -1, 
1657         -1, -1, -1, -1, -1, -1, -1, -1, 
1658         -1, -1, -1, -1, -1, -1, -1, -1, 
1659         -1, -1, -1, -1, -1, -1, -1, -1, 
1660         -1, -1, -1, -1, -1, -1, -1, -1, 
1661         -1, -1, -1, -1, -1, -1, -1, -1, 
1662         -1, -1, -1, -1, -1, -1, -1, -1, 
1663         -1, -1, -1, -1, -1, -1, -1, -1, 
1664         -1, -1, -1, -1, -1, -1, -1, -1, 
1665         -1, -1, -1, -1, -1, -1, -1, 337, 
1666         318, -1, -1, -1, 116, -1, -1, -1, 
1667         -1, -1, -1, -1, -1, -1, -1, -1, 
1668         -1, -1, -1, -1, -1, -1, -1, -1, 
1669         -1, -1, -1, -1, -1, -1, -1, -1, 
1670         -1, -1, -1, -1, -1, -1, -1, -1, 
1671         -1, -1, -1, -1, -1, -1, -1, -1, 
1672         -1, -1, -1, -1, -1, -1, -1, -1, 
1673         -1, -1, -1, -1, -1, -1, -1, -1, 
1674         -1, -1, -1, -1, -1, -1, -1, -1, 
1675         -1, -1, -1, -1, -1, -1, -1, -1, 
1676         -1, -1, -1, -1, -1, -1, -1, -1, 
1677         -1, -1, -1, -1, -1, -1, -1, -1, 
1678         -1, -1, -1, -1, -1, -1, 337, 55, 
1679         -1, -1, -1, -1, -1, -1, 63, -1, 
1680         -1, -1, -1, 17, -1, -1, -1, -1, 
1681         -1, -1, -1, -1, -1, -1, -1, -1, 
1682         -1, -1, -1, -1, -1, -1, -1, -1, 
1683         -1, -1, -1, -1, -1, -1, -1, -1, 
1684         -1, -1, -1, -1, -1, -1, -1, -1, 
1685         -1, -1, -1, -1, -1, -1, -1, -1, 
1686         -1, -1, -1, -1, 56, -1, -1, -1, 
1687         -1, -1, -1, -1, -1, -1, -1, -1, 
1688         -1, -1, -1, -1, -1, -1, -1, -1, 
1689         -1, -1, -1, -1, -1, -1, -1, -1, 
1690         -1, -1, -1, -1, -1, -1, 50, 57, 
1691         -1, -1, 326, 328, -1, -1, -1, -1, 
1692         -1, -1, -1, -1, -1, -1, -1, -1, 
1693         -1, -1, -1, -1, -1, -1, -1, -1, 
1694         -1, -1, -1, -1, -1, -1, -1, -1, 
1695         -1, -1, -1, -1, -1, -1, -1, -1, 
1696         -1, -1, -1, -1, -1, -1, -1, -1, 
1697         -1, 61, 59, 60, -1, -1, -1, -1, 
1698         -1, -1, -1, -1, -1, -1, -1, -1, 
1699         -1, -1, -1, -1, -1, -1, -1, -1, 
1700         -1, -1, -1, -1, -1, -1, -1, -1, 
1701         -1, -1, -1, -1, -1, -1, -1, -1, 
1702         -1, -1, -1, -1, -1, -1, -1, -1, 
1703         -1, -1, -1, -1, -1, -1, -1, -1, 
1704         -1, -1, -1, -1, -1, -1, -1, -1, 
1705         -1, -1, -1, -1, -1, -1, 58, -1, 
1706         -1, -1, -1, -1, -1, -1, 117, 191, 
1707         49, 198, 52, -1, 53, -1, -1, -1, 
1708         -1, -1, -1, -1, -1, -1, -1, 54, 
1709         -1, -1, -1, 308, 312, -1, -1, 62, 
1710         55, -1, -1, -1, -1, -1, -1, 63, 
1711         -1, -1, -1, -1, 17, -1, -1, -1, 
1712         -1, -1, -1, -1, -1, -1, -1, -1, 
1713         -1, -1, -1, -1, -1, -1, -1, -1, 
1714         -1, -1, -1, -1, -1, -1, -1, -1, 
1715         -1, -1, -1, -1, -1, -1, -1, -1, 
1716         -1, -1, -1, -1, -1, -1, -1, -1, 
1717         -1, -1, -1, -1, -1, 56, -1, -1, 
1718         -1, -1, -1, -1, -1, -1, -1, -1, 
1719         -1, -1, -1, -1, -1, -1, -1, -1, 
1720         -1, -1, -1, -1, -1, -1, -1, -1, 
1721         -1, -1, -1, -1, -1, -1, -1, 50, 
1722         57, -1, -1, 326, 328, -1, -1, -1, 
1723         -1, -1, -1, -1, -1, -1, -1, -1, 
1724         -1, -1, -1, -1, -1, -1, -1, -1, 
1725         -1, -1, -1, -1, -1, -1, -1, -1, 
1726         -1, -1, -1, -1, -1, -1, -1, -1, 
1727         -1, -1, -1, -1, -1, -1, -1, -1, 
1728         -1, -1, 61, 59, 60, -1, -1, -1, 
1729         -1, -1, -1, -1, -1, -1, -1, -1, 
1730         -1, -1, -1, -1, -1, -1, -1, -1, 
1731         -1, -1, -1, -1, -1, -1, -1, -1, 
1732         -1, -1, -1, -1, -1, -1, -1, -1, 
1733         -1, -1, -1, -1, -1, -1, -1, -1, 
1734         -1, -1, -1, -1, -1, -1, -1, -1, 
1735         -1, -1, -1, -1, -1, -1, -1, -1, 
1736         -1, -1, -1, -1, -1, -1, -1, 58, 
1737         -1, -1, -1, -1, -1, -1, -1, -1, 
1738         187, 49, 198, 52, -1, 53, -1, -1, 
1739         -1, -1, -1, -1, -1, -1, -1, -1, 
1740         54, -1, -1, -1, 308, 312, -1, -1, 
1741         62, 55, -1, -1, -1, -1, -1, -1, 
1742         63, -1, -1, -1, -1, 17, -1, -1, 
1743         -1, -1, -1, -1, -1, -1, -1, -1, 
1744         -1, -1, -1, -1, -1, -1, -1, -1, 
1745         -1, -1, -1, -1, -1, -1, -1, -1, 
1746         -1, -1, -1, -1, -1, -1, -1, -1, 
1747         -1, -1, -1, -1, -1, -1, -1, -1, 
1748         -1, -1, -1, -1, -1, -1, 56, -1, 
1749         -1, -1, -1, -1, -1, -1, -1, -1, 
1750         -1, -1, -1, -1, -1, -1, -1, -1, 
1751         -1, -1, -1, -1, -1, -1, -1, -1, 
1752         -1, -1, -1, -1, -1, -1, -1, -1, 
1753         50, 57, -1, -1, 326, 328, -1, -1, 
1754         -1, -1, -1, -1, -1, -1, -1, -1, 
1755         -1, -1, -1, -1, -1, -1, -1, -1, 
1756         -1, -1, -1, -1, -1, -1, -1, -1, 
1757         -1, -1, -1, -1, -1, -1, -1, -1, 
1758         -1, -1, -1, -1, -1, -1, -1, -1, 
1759         -1, -1, -1, 61, 59, 60, -1, -1, 
1760         -1, -1, -1, -1, -1, -1, -1, -1, 
1761         -1, -1, -1, -1, -1, -1, -1, -1, 
1762         -1, -1, -1, -1, -1, -1, -1, -1, 
1763         -1, -1, -1, -1, -1, -1, -1, -1, 
1764         -1, -1, -1, -1, -1, -1, -1, -1, 
1765         -1, -1, -1, -1, -1, -1, -1, -1, 
1766         -1, -1, -1, -1, -1, -1, -1, -1, 
1767         -1, -1, -1, -1, -1, -1, -1, -1, 
1768         58, -1, -1, -1, -1, -1, -1, -1, 
1769         -1, 188, 49, 198, 52, -1, 53, -1, 
1770         -1, -1, -1, -1, -1, -1, -1, -1, 
1771         -1, 54, -1, -1, -1, 308, 312, -1, 
1772         -1, 62, 55, -1, -1, -1, -1, -1, 
1773         -1, 63, -1, -1, -1, -1, 17, -1, 
1774         -1, -1, -1, -1, -1, -1, -1, -1, 
1775         -1, -1, -1, -1, -1, -1, -1, -1, 
1776         -1, -1, -1, -1, -1, -1, -1, -1, 
1777         -1, -1, -1, -1, -1, -1, -1, -1, 
1778         -1, -1, -1, -1, -1, -1, -1, -1, 
1779         -1, -1, -1, -1, -1, -1, -1, 56, 
1780         -1, -1, -1, -1, -1, -1, -1, -1, 
1781         -1, -1, -1, -1, -1, -1, -1, -1, 
1782         -1, -1, -1, -1, -1, -1, -1, -1, 
1783         -1, -1, -1, -1, -1, -1, -1, -1, 
1784         -1, 50, 57, -1, -1, 326, 328, -1, 
1785         -1, -1, -1, -1, -1, -1, -1, -1, 
1786         -1, -1, -1, -1, -1, -1, -1, -1, 
1787         -1, -1, -1, -1, -1, -1, -1, -1, 
1788         -1, -1, -1, -1, -1, -1, -1, -1, 
1789         -1, -1, -1, -1, -1, -1, -1, -1, 
1790         -1, -1, -1, -1, 61, 59, 60, -1, 
1791         -1, -1, -1, -1, -1, -1, -1, -1, 
1792         -1, -1, -1, -1, -1, -1, -1, -1, 
1793         -1, -1, -1, -1, -1, -1, -1, -1, 
1794         -1, -1, -1, -1, -1, -1, -1, -1, 
1795         -1, -1, -1, -1, -1, -1, -1, -1, 
1796         -1, -1, -1, -1, -1, -1, -1, -1, 
1797         -1, -1, -1, -1, -1, -1, -1, -1, 
1798         -1, -1, -1, -1, -1, -1, -1, -1, 
1799         -1, 58, -1, -1, -1, -1, -1, -1, 
1800         -1, -1, 189, 49, 198, 52, -1, 53, 
1801         -1, -1, -1, -1, -1, -1, -1, -1, 
1802         -1, -1, 54, -1, -1, -1, 308, 312, 
1803         -1, -1, 62, 55, -1, -1, -1, -1, 
1804         -1, -1, 63, -1, -1, -1, -1, 17, 
1805         -1, -1, -1, -1, -1, -1, -1, -1, 
1806         -1, -1, -1, -1, -1, -1, -1, -1, 
1807         -1, -1, -1, -1, -1, -1, -1, -1, 
1808         -1, -1, -1, -1, -1, -1, -1, -1, 
1809         -1, -1, -1, -1, -1, -1, -1, -1, 
1810         -1, -1, -1, -1, -1, -1, -1, -1, 
1811         56, -1, -1, -1, -1, -1, -1, -1, 
1812         -1, -1, -1, -1, -1, -1, -1, -1, 
1813         -1, -1, -1, -1, -1, -1, -1, -1, 
1814         -1, -1, -1, -1, -1, -1, -1, -1, 
1815         -1, -1, 50, 57, -1, -1, 326, 328, 
1816         -1, -1, -1, -1, -1, -1, -1, -1, 
1817         -1, -1, -1, -1, -1, -1, -1, -1, 
1818         -1, -1, -1, -1, -1, -1, -1, -1, 
1819         -1, -1, -1, -1, -1, -1, -1, -1, 
1820         -1, -1, -1, -1, -1, -1, -1, -1, 
1821         -1, -1, -1, -1, -1, 61, 59, 60, 
1822         -1, -1, -1, -1, -1, -1, -1, -1, 
1823         -1, -1, -1, -1, -1, -1, -1, -1, 
1824         -1, -1, -1, -1, -1, -1, -1, -1, 
1825         -1, -1, -1, -1, -1, -1, -1, -1, 
1826         -1, -1, -1, -1, -1, -1, -1, -1, 
1827         -1, -1, -1, -1, -1, -1, -1, -1, 
1828         -1, -1, -1, -1, -1, -1, -1, -1, 
1829         -1, -1, -1, -1, -1, -1, -1, -1, 
1830         -1, -1, 58, -1, -1, -1, -1, -1, 
1831         -1, -1, -1, 190, 49, 198, 52, -1, 
1832         53, -1, -1, -1, -1, -1, -1, -1, 
1833         -1, -1, -1, 54, -1, -1, -1, 308, 
1834         312, -1, -1, 62, 55, -1, -1, -1, 
1835         -1, -1, -1, 63, -1, -1, -1, -1, 
1836         17, -1, -1, -1, -1, -1, -1, -1, 
1837         -1, -1, -1, -1, -1, -1, -1, -1, 
1838         -1, -1, -1, -1, -1, -1, -1, -1, 
1839         -1, -1, -1, -1, -1, -1, -1, -1, 
1840         -1, -1, -1, -1, -1, -1, -1, -1, 
1841         -1, -1, -1, -1, -1, -1, -1, -1, 
1842         -1, 56, -1, -1, -1, -1, -1, -1, 
1843         -1, -1, -1, -1, -1, -1, -1, -1, 
1844         -1, -1, -1, -1, -1, -1, -1, -1, 
1845         -1, -1, -1, -1, -1, -1, -1, -1, 
1846         -1, -1, -1, 50, 57, -1, -1, 326, 
1847         328, -1, -1, -1, -1, -1, -1, -1, 
1848         -1, -1, -1, -1, -1, -1, -1, -1, 
1849         -1, -1, -1, -1, -1, -1, -1, -1, 
1850         -1, -1, -1, -1, -1, -1, -1, -1, 
1851         -1, -1, -1, -1, -1, -1, -1, -1, 
1852         -1, -1, -1, -1, -1, -1, 61, 59, 
1853         60, -1, -1, -1, -1, -1, -1, -1, 
1854         -1, -1, -1, -1, -1, -1, -1, -1, 
1855         -1, -1, -1, -1, -1, -1, -1, -1, 
1856         -1, -1, -1, -1, -1, -1, -1, -1, 
1857         -1, -1, -1, -1, -1, -1, -1, -1, 
1858         -1, -1, -1, -1, -1, -1, -1, -1, 
1859         -1, -1, -1, -1, -1, -1, -1, -1, 
1860         -1, -1, -1, -1, -1, -1, -1, -1, 
1861         -1, -1, -1, 58, -1, -1, -1, -1, 
1862         -1, -1, -1, -1, -1, -1, 194, 52, 
1863         -1, 53, -1, -1, -1, -1, -1, -1, 
1864         -1, -1, -1, -1, 54, -1, -1, -1, 
1865         308, 312, -1, -1, 62, 55, -1, -1, 
1866         -1, -1, -1, -1, 63, -1, -1, -1, 
1867         -1, 17, -1, -1, -1, -1, -1, -1, 
1868         -1, -1, -1, -1, -1, -1, -1, -1, 
1869         -1, -1, -1, -1, -1, -1, -1, -1, 
1870         -1, -1, -1, -1, -1, -1, -1, -1, 
1871         -1, -1, -1, -1, -1, -1, -1, -1, 
1872         -1, -1, -1, -1, -1, -1, -1, -1, 
1873         -1, -1, 56, -1, -1, -1, -1, -1, 
1874         -1, -1, -1, -1, -1, -1, -1, -1, 
1875         -1, -1, -1, -1, -1, -1, -1, -1, 
1876         -1, -1, -1, -1, -1, -1, -1, -1, 
1877         -1, -1, -1, -1, 50, 57, -1, -1, 
1878         326, 328, -1, -1, -1, -1, -1, -1, 
1879         -1, -1, -1, -1, -1, -1, -1, -1, 
1880         -1, -1, -1, -1, -1, -1, -1, -1, 
1881         -1, -1, -1, -1, -1, -1, -1, -1, 
1882         -1, -1, -1, -1, -1, -1, -1, -1, 
1883         -1, -1, -1, -1, -1, -1, -1, 61, 
1884         59, 60, -1, -1, -1, -1, -1, -1, 
1885         -1, -1, -1, -1, -1, -1, -1, -1, 
1886         -1, -1, -1, -1, -1, -1, -1, -1, 
1887         -1, -1, -1, -1, -1, -1, -1, -1, 
1888         -1, -1, -1, -1, -1, -1, -1, -1, 
1889         -1, -1, -1, -1, -1, -1, -1, -1, 
1890         -1, -1, -1, -1, -1, -1, -1, -1, 
1891         -1, -1, -1, -1, -1, -1, -1, -1, 
1892         -1, -1, -1, -1, 58, -1, -1, -1, 
1893         -1, -1, -1, -1, -1, -1, -1, 195, 
1894         52, -1, 53, -1, -1, -1, -1, -1, 
1895         -1, -1, -1, -1, -1, 54, -1, -1, 
1896         -1, 308, 312, -1, -1, 62, 55, -1, 
1897         -1, -1, -1, -1, -1, 63, -1, -1, 
1898         -1, -1, 17, -1, -1, -1, -1, -1, 
1899         -1, -1, -1, -1, -1, -1, -1, -1, 
1900         -1, -1, -1, -1, -1, -1, -1, -1, 
1901         -1, -1, -1, -1, -1, -1, -1, -1, 
1902         -1, -1, -1, -1, -1, -1, -1, -1, 
1903         -1, -1, -1, -1, -1, -1, -1, -1, 
1904         -1, -1, -1, 56, -1, -1, -1, -1, 
1905         -1, -1, -1, -1, -1, -1, -1, -1, 
1906         -1, -1, -1, -1, -1, -1, -1, -1, 
1907         -1, -1, -1, -1, -1, -1, -1, -1, 
1908         -1, -1, -1, -1, -1, 50, 57, -1, 
1909         -1, 326, 328, -1, -1, -1, -1, -1, 
1910         -1, -1, -1, -1, -1, -1, -1, -1, 
1911         -1, -1, -1, -1, -1, -1, -1, -1, 
1912         -1, -1, -1, -1, -1, -1, -1, -1, 
1913         -1, -1, -1, -1, -1, -1, -1, -1, 
1914         -1, -1, -1, -1, -1, -1, -1, -1, 
1915         61, 59, 60, -1, -1, -1, -1, -1, 
1916         -1, -1, -1, -1, -1, -1, -1, -1, 
1917         -1, -1, -1, -1, -1, -1, -1, -1, 
1918         -1, -1, -1, -1, -1, -1, -1, -1, 
1919         -1, -1, -1, -1, -1, -1, -1, -1, 
1920         -1, -1, -1, -1, -1, -1, -1, -1, 
1921         -1, -1, -1, -1, -1, -1, -1, -1, 
1922         -1, -1, -1, -1, -1, -1, -1, -1, 
1923         -1, -1, -1, -1, -1, 58, -1, -1, 
1924         -1, -1, -1, -1, -1, -1, -1, -1, 
1925         196, 52, -1, 53, -1, -1, -1, -1, 
1926         -1, -1, -1, -1, -1, -1, 54, -1, 
1927         -1, -1, 308, 312, -1, -1, 62, 55, 
1928         -1, -1, -1, -1, -1, -1, 63, -1, 
1929         -1, -1, -1, 17, -1, -1, -1, -1, 
1930         -1, -1, -1, -1, -1, -1, -1, -1, 
1931         -1, -1, -1, -1, -1, -1, -1, -1, 
1932         -1, -1, -1, -1, -1, -1, -1, -1, 
1933         -1, -1, -1, -1, -1, -1, -1, -1, 
1934         -1, -1, -1, -1, -1, -1, -1, -1, 
1935         -1, -1, -1, -1, 56, -1, -1, -1, 
1936         -1, -1, -1, -1, -1, -1, -1, -1, 
1937         -1, -1, -1, -1, -1, -1, -1, -1, 
1938         -1, -1, -1, -1, -1, -1, -1, -1, 
1939         -1, -1, -1, -1, -1, -1, 50, 57, 
1940         -1, -1, 326, 328, -1, -1, -1, -1, 
1941         -1, -1, -1, -1, -1, -1, -1, -1, 
1942         -1, -1, -1, -1, -1, -1, -1, -1, 
1943         -1, -1, -1, -1, -1, -1, -1, -1, 
1944         -1, -1, -1, -1, -1, -1, -1, -1, 
1945         -1, -1, -1, -1, -1, -1, -1, -1, 
1946         -1, 61, 59, 60, -1, -1, -1, -1, 
1947         -1, -1, -1, -1, -1, -1, -1, -1, 
1948         -1, -1, -1, -1, -1, -1, -1, -1, 
1949         -1, -1, -1, -1, -1, -1, -1, -1, 
1950         -1, -1, -1, -1, -1, -1, -1, -1, 
1951         -1, -1, -1, -1, -1, -1, -1, -1, 
1952         -1, -1, -1, -1, -1, -1, -1, -1, 
1953         -1, -1, -1, -1, -1, -1, -1, -1, 
1954         -1, -1, -1, -1, -1, -1, 58, -1, 
1955         -1, -1, -1, -1, -1, -1, -1, -1, 
1956         -1, 197, 52, -1, 53, -1, -1, -1, 
1957         -1, -1, -1, -1, -1, -1, -1, 54, 
1958         -1, -1, -1, 308, 312, -1, -1, 62, 
1959         386, -1, -1, -1, -1, -1, -1, -1, 
1960         -1, -1, -1, -1, -1, -1, -1, -1, 
1961         -1, -1, -1, -1, -1, -1, -1, -1, 
1962         -1, -1, -1, -1, -1, -1, -1, -1, 
1963         -1, -1, -1, -1, -1, -1, -1, -1, 
1964         -1, -1, -1, -1, -1, -1, -1, -1, 
1965         -1, -1, -1, -1, -1, -1, -1, -1, 
1966         -1, -1, -1, -1, -1, -1, -1, -1, 
1967         -1, -1, -1, -1, -1, -1, -1, -1, 
1968         -1, -1, -1, -1, -1, -1, -1, -1, 
1969         -1, -1, -1, -1, -1, -1, -1, -1, 
1970         -1, -1, -1, -1, -1, -1, -1, -1, 
1971         -1, -1, -1, -1, -1, -1, -1, -1, 
1972         -1, -1, -1, -1, -1, -1, -1, -1, 
1973         -1, -1, -1, -1, -1, -1, -1, -1, 
1974         -1, -1, -1, -1, -1, -1, -1, -1, 
1975         -1, -1, -1, -1, -1, 201, -1, -1, 
1976         -1, -1, -1, -1, -1, -1, -1, -1, 
1977         -1, -1, -1, -1, -1, -1, -1, -1, 
1978         -1, -1, -1, -1, -1, -1, -1, -1, 
1979         -1, -1, -1, -1, -1, 118, 119, -1, 
1980         -1, 121, -1, 122, -1, -1, -1, -1, 
1981         -1, -1, -1, -1, -1, -1, -1, -1, 
1982         -1, -1, -1, -1, -1, -1, -1, -1, 
1983         -1, -1, -1, -1, -1, -1, -1, -1, 
1984         -1, -1, -1, -1, -1, -1, -1, -1, 
1985         -1, -1, -1, -1, -1, -1, -1, -1, 
1986         -1, -1, -1, -1, -1, -1, -1, -1, 
1987         -1, -1, -1, -1, -1, -1, -1, -1, 
1988         -1, -1, -1, -1, -1, -1, -1, -1, 
1989         -1, -1, -1, -1, -1, -1, -1, -1, 
1990         -1, 120, -1, -1, -1, -1, 292, -1, 
1991         -1, -1, 296, -1, -1, -1, -1, -1, 
1992         -1, -1, -1, -1, -1, -1, -1, -1, 
1993         -1, -1, -1, -1, -1, -1, -1, -1, 
1994         -1, -1, -1, -1, -1, -1, -1, -1, 
1995         -1, -1, -1, -1, -1, -1, -1, -1, 
1996         -1, -1, -1, -1, -1, -1, -1, -1, 
1997         -1, -1, -1, -1, -1, -1, -1, -1, 
1998         -1, -1, -1, -1, -1, -1, -1, -1, 
1999         -1, -1, -1, -1, -1, -1, -1, -1, 
2000         -1, -1, -1, -1, -1, -1, -1, -1, 
2001         -1, -1, -1, -1, -1, -1, -1, -1, 
2002         -1, -1, -1, -1, -1, -1, -1, -1, 
2003         -1, -1, -1, -1, -1, -1, -1, -1, 
2004         -1, -1, -1, -1, -1, -1, -1, -1, 
2005         -1, -1, -1, -1, -1, -1, -1, -1, 
2006         -1, -1, -1, -1, 203, 290, -1, -1, 
2007         -1, -1, -1, -1, -1, -1, 204, -1, 
2008         -1, -1, -1, -1, -1, -1, -1, -1, 
2009         288, 295, 123, -1, -1, -1, -1, -1, 
2010         -1, 124, -1, -1, -1, -1, -1, -1, 
2011         -1, -1, -1, -1, -1, -1, -1, -1, 
2012         -1, -1, -1, -1, -1, -1, -1, -1, 
2013         -1, -1, -1, -1, -1, -1, -1, -1, 
2014         -1, -1, -1, -1, -1, -1, -1, -1, 
2015         -1, -1, -1, -1, -1, -1, -1, -1, 
2016         -1, -1, -1, -1, -1, -1, -1, -1, 
2017         -1, -1, -1, -1, -1, -1, -1, -1, 
2018         -1, -1, -1, -1, -1, -1, -1, -1, 
2019         -1, -1, -1, -1, -1, -1, -1, -1, 
2020         -1, -1, -1, -1, 120, -1, -1, -1, 
2021         -1, 292, -1, -1, -1, -1, -1, -1, 
2022         -1, -1, -1, -1, -1, -1, -1, -1, 
2023         -1, -1, -1, -1, -1, -1, -1, -1, 
2024         -1, -1, -1, -1, -1, -1, -1, -1, 
2025         -1, -1, -1, -1, -1, -1, -1, -1, 
2026         -1, -1, -1, -1, -1, -1, -1, -1, 
2027         -1, -1, -1, -1, -1, -1, -1, -1, 
2028         -1, -1, -1, -1, -1, -1, -1, -1, 
2029         -1, -1, -1, -1, -1, -1, -1, -1, 
2030         -1, -1, -1, -1, -1, -1, -1, -1, 
2031         -1, -1, -1, -1, -1, -1, -1, -1, 
2032         -1, -1, -1, -1, -1, -1, -1, -1, 
2033         -1, -1, -1, -1, -1, -1, -1, -1, 
2034         -1, -1, -1, -1, -1, -1, -1, -1, 
2035         -1, -1, -1, -1, -1, -1, -1, -1, 
2036         -1, -1, -1, -1, -1, -1, -1, 206, 
2037         290, -1, -1, -1, -1, -1, -1, -1, 
2038         -1, -1, -1, -1, -1, -1, -1, -1, 
2039         -1, -1, -1, 288, 124, -1, -1, -1, 
2040         -1, -1, -1, -1, -1, -1, -1, -1, 
2041         -1, -1, -1, -1, -1, -1, -1, -1, 
2042         -1, -1, -1, -1, -1, -1, -1, -1, 
2043         -1, -1, -1, -1, -1, -1, -1, -1, 
2044         -1, -1, -1, -1, -1, -1, -1, -1, 
2045         -1, -1, -1, -1, -1, -1, -1, -1, 
2046         -1, -1, -1, -1, -1, -1, -1, -1, 
2047         -1, -1, -1, -1, -1, -1, -1, -1, 
2048         -1, -1, -1, -1, -1, -1, -1, -1, 
2049         -1, -1, -1, -1, -1, -1, -1, 120, 
2050         -1, -1, -1, -1, 292, -1, -1, -1, 
2051         -1, -1, -1, -1, -1, -1, -1, -1, 
2052         -1, -1, -1, -1, -1, -1, -1, -1, 
2053         -1, -1, -1, -1, -1, -1, -1, -1, 
2054         -1, -1, -1, -1, -1, -1, -1, -1, 
2055         -1, -1, -1, -1, -1, -1, -1, -1, 
2056         -1, -1, -1, -1, -1, -1, -1, -1, 
2057         -1, -1, -1, -1, -1, -1, -1, -1, 
2058         -1, -1, -1, -1, -1, -1, -1, -1, 
2059         -1, -1, -1, -1, -1, -1, -1, -1, 
2060         -1, -1, -1, -1, -1, -1, -1, -1, 
2061         -1, -1, -1, -1, -1, -1, -1, -1, 
2062         -1, -1, -1, -1, -1, -1, -1, -1, 
2063         -1, -1, -1, -1, -1, -1, -1, -1, 
2064         -1, -1, -1, -1, -1, -1, -1, -1, 
2065         -1, -1, -1, -1, -1, -1, -1, -1, 
2066         -1, -1, 208, 290, -1, -1, -1, -1, 
2067         -1, -1, -1, -1, -1, -1, -1, -1, 
2068         -1, -1, -1, -1, -1, -1, 288, 124, 
2069         -1, -1, -1, -1, -1, -1, -1, -1, 
2070         -1, -1, -1, -1, -1, -1, -1, -1, 
2071         -1, -1, -1, -1, -1, -1, -1, -1, 
2072         -1, -1, -1, -1, -1, -1, -1, -1, 
2073         -1, -1, -1, -1, -1, -1, -1, -1, 
2074         -1, -1, -1, -1, -1, -1, -1, -1, 
2075         -1, -1, -1, -1, -1, -1, -1, -1, 
2076         -1, -1, -1, -1, -1, -1, -1, -1, 
2077         -1, -1, -1, -1, -1, -1, -1, -1, 
2078         -1, -1, -1, -1, -1, -1, -1, -1, 
2079         -1, -1, 120, -1, -1, -1, -1, 292, 
2080         -1, -1, -1, -1, -1, -1, -1, -1, 
2081         -1, -1, -1, -1, -1, -1, -1, -1, 
2082         -1, -1, -1, -1, -1, -1, -1, -1, 
2083         -1, -1, -1, -1, -1, -1, -1, -1, 
2084         -1, -1, -1, -1, -1, -1, -1, -1, 
2085         -1, -1, -1, -1, -1, -1, -1, -1, 
2086         -1, -1, -1, -1, -1, -1, -1, -1, 
2087         -1, -1, -1, -1, -1, -1, -1, -1, 
2088         -1, -1, -1, -1, -1, -1, -1, -1, 
2089         -1, -1, -1, -1, -1, -1, -1, -1, 
2090         -1, -1, -1, -1, -1, -1, -1, -1, 
2091         -1, -1, -1, -1, -1, -1, -1, -1, 
2092         -1, -1, -1, -1, -1, -1, -1, -1, 
2093         -1, -1, -1, -1, -1, -1, -1, -1, 
2094         -1, -1, -1, -1, -1, -1, -1, -1, 
2095         -1, -1, -1, -1, -1, 209, 290, -1, 
2096         -1, -1, -1, -1, -1, -1, -1, -1, 
2097         -1, -1, -1, -1, -1, -1, -1, -1, 
2098         -1, 288, 124, -1, -1, -1, -1, -1, 
2099         -1, -1, -1, -1, -1, -1, -1, -1, 
2100         -1, -1, -1, -1, -1, -1, -1, -1, 
2101         -1, -1, -1, -1, -1, -1, -1, -1, 
2102         -1, -1, -1, -1, -1, -1, -1, -1, 
2103         -1, -1, -1, -1, -1, -1, -1, -1, 
2104         -1, -1, -1, -1, -1, -1, -1, -1, 
2105         -1, -1, -1, -1, -1, -1, -1, -1, 
2106         -1, -1, -1, -1, -1, -1, -1, -1, 
2107         -1, -1, -1, -1, -1, -1, -1, -1, 
2108         -1, -1, -1, -1, -1, 120, -1, -1, 
2109         -1, -1, 292, -1, -1, -1, -1, -1, 
2110         -1, -1, -1, -1, -1, -1, -1, -1, 
2111         -1, -1, -1, -1, -1, -1, -1, -1, 
2112         -1, -1, -1, -1, -1, -1, -1, -1, 
2113         -1, -1, -1, -1, -1, -1, -1, -1, 
2114         -1, -1, -1, -1, -1, -1, -1, -1, 
2115         -1, -1, -1, -1, -1, -1, -1, -1, 
2116         -1, -1, -1, -1, -1, -1, -1, -1, 
2117         -1, -1, -1, -1, -1, -1, -1, -1, 
2118         -1, -1, -1, -1, -1, -1, -1, -1, 
2119         -1, -1, -1, -1, -1, -1, -1, -1, 
2120         -1, -1, -1, -1, -1, -1, -1, -1, 
2121         -1, -1, -1, -1, -1, -1, -1, -1, 
2122         -1, -1, -1, -1, -1, -1, -1, -1, 
2123         -1, -1, -1, -1, -1, -1, -1, -1, 
2124         -1, -1, -1, -1, -1, -1, -1, -1, 
2125         210, 290, -1, -1, -1, -1, -1, -1, 
2126         -1, -1, -1, -1, -1, -1, -1, -1, 
2127         -1, -1, -1, -1, 288, 124, -1, -1, 
2128         -1, -1, -1, -1, -1, -1, -1, -1, 
2129         -1, -1, -1, -1, -1, -1, -1, -1, 
2130         -1, -1, -1, -1, -1, -1, -1, -1, 
2131         -1, -1, -1, -1, -1, -1, -1, -1, 
2132         -1, -1, -1, -1, -1, -1, -1, -1, 
2133         -1, -1, -1, -1, -1, -1, -1, -1, 
2134         -1, -1, -1, -1, -1, -1, -1, -1, 
2135         -1, -1, -1, -1, -1, -1, -1, -1, 
2136         -1, -1, -1, -1, -1, -1, -1, -1, 
2137         -1, -1, -1, -1, -1, -1, -1, -1, 
2138         120, -1, -1, -1, -1, 292, -1, -1, 
2139         -1, -1, -1, -1, -1, -1, -1, -1, 
2140         -1, -1, -1, -1, -1, -1, -1, -1, 
2141         -1, -1, -1, -1, -1, -1, -1, -1, 
2142         -1, -1, -1, -1, -1, -1, -1, -1, 
2143         -1, -1, -1, -1, -1, -1, -1, -1, 
2144         -1, -1, -1, -1, -1, -1, -1, -1, 
2145         -1, -1, -1, -1, -1, -1, -1, -1, 
2146         -1, -1, -1, -1, -1, -1, -1, -1, 
2147         -1, -1, -1, -1, -1, -1, -1, -1, 
2148         -1, -1, -1, -1, -1, -1, -1, -1, 
2149         -1, -1, -1, -1, -1, -1, -1, -1, 
2150         -1, -1, -1, -1, -1, -1, -1, -1, 
2151         -1, -1, -1, -1, -1, -1, -1, -1, 
2152         -1, -1, -1, -1, -1, -1, -1, -1, 
2153         -1, -1, -1, -1, -1, -1, -1, -1, 
2154         -1, -1, -1, 211, 290, -1, -1, -1, 
2155         -1, -1, -1, -1, -1, -1, -1, -1, 
2156         -1, -1, -1, -1, -1, -1, -1, 288, 
2157         125, -1, -1, -1, -1, -1, -1, -1, 
2158         -1, -1, -1, -1, -1, -1, -1, -1, 
2159         -1, -1, -1, -1, -1, -1, -1, -1, 
2160         -1, -1, -1, -1, -1, -1, -1, -1, 
2161         -1, -1, -1, -1, -1, -1, -1, -1, 
2162         -1, -1, -1, -1, -1, -1, -1, -1, 
2163         -1, -1, -1, -1, -1, -1, -1, -1, 
2164         -1, -1, -1, -1, -1, -1, -1, -1, 
2165         -1, -1, -1, -1, -1, -1, -1, -1, 
2166         -1, -1, -1, -1, -1, -1, -1, -1, 
2167         -1, -1, -1, 120, -1, -1, -1, -1, 
2168         292, -1, -1, -1, -1, -1, -1, -1, 
2169         -1, -1, -1, -1, -1, -1, -1, -1, 
2170         -1, -1, -1, -1, -1, -1, -1, -1, 
2171         -1, -1, -1, -1, -1, -1, -1, -1, 
2172         -1, -1, -1, -1, -1, -1, -1, -1, 
2173         -1, -1, -1, -1, -1, -1, -1, -1, 
2174         -1, -1, -1, -1, -1, -1, -1, -1, 
2175         -1, -1, -1, -1, -1, -1, -1, -1, 
2176         -1, -1, -1, -1, -1, -1, -1, -1, 
2177         -1, -1, -1, -1, -1, -1, -1, -1, 
2178         -1, -1, -1, -1, -1, -1, -1, -1, 
2179         -1, -1, -1, -1, -1, -1, -1, -1, 
2180         -1, -1, -1, -1, -1, -1, -1, -1, 
2181         -1, -1, -1, -1, -1, -1, -1, -1, 
2182         -1, -1, -1, -1, -1, -1, -1, -1, 
2183         -1, -1, -1, -1, -1, -1, 212, 290, 
2184         -1, -1, -1, -1, -1, -1, -1, -1, 
2185         -1, -1, -1, -1, -1, -1, -1, -1, 
2186         -1, -1, 288, 215, -1, -1, 215, -1, 
2187         215, -1, -1, -1, -1, -1, -1, -1, 
2188         -1, -1, -1, -1, -1, -1, -1, -1, 
2189         -1, -1, -1, -1, -1, -1, -1, -1, 
2190         -1, -1, -1, -1, -1, -1, -1, -1, 
2191         -1, -1, -1, -1, -1, -1, -1, -1, 
2192         -1, -1, -1, -1, -1, -1, -1, -1, 
2193         -1, -1, -1, -1, -1, -1, -1, -1, 
2194         -1, -1, -1, -1, -1, -1, -1, -1, 
2195         -1, -1, -1, -1, -1, -1, -1, -1, 
2196         -1, -1, -1, -1, -1, -1, 215, -1, 
2197         -1, -1, -1, 215, -1, -1, -1, 215, 
2198         -1, -1, -1, -1, -1, -1, -1, -1, 
2199         -1, -1, -1, -1, -1, -1, -1, -1, 
2200         -1, -1, -1, -1, -1, -1, -1, -1, 
2201         -1, -1, -1, -1, -1, -1, -1, -1, 
2202         -1, -1, -1, -1, -1, -1, -1, -1, 
2203         -1, -1, -1, -1, -1, -1, -1, -1, 
2204         -1, -1, -1, -1, -1, -1, -1, -1, 
2205         -1, -1, -1, -1, -1, -1, -1, -1, 
2206         -1, -1, -1, -1, -1, 261, 273, 285, 
2207         237, 249, 216, -1, -1, 216, -1, 216, 
2208         -1, -1, -1, -1, -1, -1, -1, -1, 
2209         -1, -1, -1, -1, -1, -1, -1, -1, 
2210         -1, -1, -1, -1, -1, -1, -1, -1, 
2211         -1, -1, -1, -1, -1, -1, -1, -1, 
2212         -1, -1, -1, -1, -1, -1, -1, -1, 
2213         -1, -1, -1, -1, -1, -1, -1, -1, 
2214         -1, -1, -1, -1, -1, -1, -1, -1, 
2215         -1, -1, -1, -1, -1, -1, -1, -1, 
2216         -1, -1, -1, -1, -1, -1, -1, -1, 
2217         -1, -1, -1, -1, -1, 216, -1, -1, 
2218         -1, -1, 216, -1, -1, -1, 216, -1, 
2219         -1, -1, -1, -1, -1, -1, -1, -1, 
2220         -1, -1, -1, -1, -1, -1, -1, -1, 
2221         -1, -1, -1, -1, -1, -1, -1, -1, 
2222         -1, -1, -1, -1, -1, -1, -1, -1, 
2223         -1, -1, -1, -1, -1, -1, -1, -1, 
2224         -1, -1, -1, -1, -1, -1, -1, -1, 
2225         -1, -1, -1, -1, -1, -1, -1, -1, 
2226         -1, -1, -1, -1, -1, -1, -1, -1, 
2227         -1, -1, 224, -1, 259, 271, 283, 235, 
2228         247, 217, -1, -1, 217, -1, 217, -1, 
2229         -1, -1, -1, -1, -1, -1, -1, -1, 
2230         -1, -1, -1, -1, -1, -1, -1, -1, 
2231         -1, -1, -1, -1, -1, -1, -1, -1, 
2232         -1, -1, -1, -1, -1, -1, -1, -1, 
2233         -1, -1, -1, -1, -1, -1, -1, -1, 
2234         -1, -1, -1, -1, -1, -1, -1, -1, 
2235         -1, -1, -1, -1, -1, -1, -1, -1, 
2236         -1, -1, -1, -1, -1, -1, -1, -1, 
2237         -1, -1, -1, -1, -1, -1, -1, -1, 
2238         -1, -1, -1, -1, 217, -1, -1, -1, 
2239         -1, 217, -1, -1, -1, 217, -1, -1, 
2240         -1, -1, -1, -1, -1, -1, -1, -1, 
2241         -1, -1, -1, -1, -1, -1, -1, -1, 
2242         -1, -1, -1, -1, -1, -1, -1, -1, 
2243         -1, -1, -1, -1, -1, -1, -1, -1, 
2244         -1, -1, -1, -1, -1, -1, -1, -1, 
2245         -1, -1, -1, -1, -1, -1, -1, -1, 
2246         -1, -1, -1, -1, -1, -1, -1, -1, 
2247         -1, -1, -1, -1, -1, -1, -1, -1, 
2248         -1, 222, -1, 257, 269, 281, 233, 245, 
2249         218, -1, -1, 218, -1, 218, -1, -1, 
2250         -1, -1, -1, -1, -1, -1, -1, -1, 
2251         -1, -1, -1, -1, -1, -1, -1, -1, 
2252         -1, -1, -1, -1, -1, -1, -1, -1, 
2253         -1, -1, -1, -1, -1, -1, -1, -1, 
2254         -1, -1, -1, -1, -1, -1, -1, -1, 
2255         -1, -1, -1, -1, -1, -1, -1, -1, 
2256         -1, -1, -1, -1, -1, -1, -1, -1, 
2257         -1, -1, -1, -1, -1, -1, -1, -1, 
2258         -1, -1, -1, -1, -1, -1, -1, -1, 
2259         -1, -1, -1, 218, -1, -1, -1, -1, 
2260         218, -1, -1, -1, 218, -1, -1, -1, 
2261         -1, -1, -1, -1, -1, -1, -1, -1, 
2262         -1, -1, -1, -1, -1, -1, -1, -1, 
2263         -1, -1, -1, -1, -1, -1, -1, -1, 
2264         -1, -1, -1, -1, -1, -1, -1, -1, 
2265         -1, -1, -1, -1, -1, -1, -1, -1, 
2266         -1, -1, -1, -1, -1, -1, -1, -1, 
2267         -1, -1, -1, -1, -1, -1, -1, -1, 
2268         -1, -1, -1, -1, -1, -1, -1, -1, 
2269         220, -1, 253, 265, 277, 229, 241, 255, 
2270         267, 279, 231, 243, 263, 275, 287, 239, 
2271         251, 127, -1, -1, -1, -1, -1, -1, 
2272         -1, -1, -1, -1, -1, -1, -1, -1, 
2273         -1, -1, -1, -1, -1, -1, -1, -1, 
2274         -1, -1, -1, -1, -1, -1, -1, -1, 
2275         -1, -1, -1, -1, -1, -1, -1, -1, 
2276         -1, -1, -1, -1, -1, -1, -1, -1, 
2277         -1, -1, -1, -1, -1, -1, -1, -1, 
2278         -1, -1, -1, -1, -1, -1, -1, -1, 
2279         -1, -1, -1, -1, -1, -1, -1, -1, 
2280         -1, -1, -1, -1, -1, -1, -1, -1, 
2281         -1, -1, -1, -1, -1, -1, -1, -1, 
2282         -1, 309, -1, -1, -1, -1, -1, -1, 
2283         -1, -1, -1, -1, -1, -1, -1, -1, 
2284         -1, -1, -1, -1, -1, -1, -1, -1, 
2285         -1, -1, -1, -1, -1, -1, -1, -1, 
2286         -1, -1, -1, -1, -1, -1, -1, -1, 
2287         -1, -1, -1, -1, -1, -1, -1, -1, 
2288         -1, -1, -1, -1, -1, -1, -1, -1, 
2289         -1, -1, -1, -1, -1, -1, -1, -1, 
2290         -1, -1, -1, -1, -1, -1, -1, -1, 
2291         -1, -1, -1, -1, -1, -1, -1, -1, 
2292         -1, -1, -1, -1, -1, -1, -1, -1, 
2293         -1, -1, -1, -1, -1, -1, -1, -1, 
2294         -1, -1, -1, -1, -1, -1, -1, -1, 
2295         -1, -1, -1, -1, -1, -1, -1, -1, 
2296         -1, -1, -1, -1, -1, -1, -1, -1, 
2297         -1, -1, -1, -1, -1, -1, -1, -1, 
2298         -1, -1, -1, -1, -1, -1, -1, -1, 
2299         -1, -1, -1, -1, -1, -1, -1, -1, 
2300         -1, 126, 17, -1, -1, -1, -1, -1, 
2301         -1, -1, -1, -1, -1, -1, -1, -1, 
2302         -1, -1, -1, -1, -1, -1, -1, -1, 
2303         -1, -1, -1, -1, -1, -1, -1, -1, 
2304         -1, -1, -1, -1, -1, -1, -1, -1, 
2305         -1, -1, -1, -1, -1, -1, -1, -1, 
2306         -1, -1, -1, -1, -1, -1, -1, -1, 
2307         -1, -1, -1, -1, -1, -1, -1, -1, 
2308         -1, -1, -1, -1, -1, -1, -1, -1, 
2309         -1, -1, -1, -1, -1, -1, -1, -1, 
2310         -1, -1, -1, -1, -1, -1, 323, -1, 
2311         -1, 326, 328, -1, -1, -1, -1, -1, 
2312         -1, -1, -1, -1, -1, -1, -1, -1, 
2313         -1, -1, -1, -1, -1, -1, -1, -1, 
2314         -1, -1, -1, -1, -1, -1, -1, -1, 
2315         -1, -1, -1, -1, -1, -1, -1, -1, 
2316         -1, -1, -1, -1, -1, -1, -1, -1, 
2317         -1, -1, -1, -1, -1, -1, -1, -1, 
2318         -1, -1, -1, -1, -1, -1, -1, -1, 
2319         -1, -1, -1, -1, -1, -1, -1, -1, 
2320         -1, -1, -1, -1, -1, -1, -1, -1, 
2321         -1, -1, -1, -1, -1, -1, -1, -1, 
2322         -1, -1, -1, -1, -1, -1, -1, -1, 
2323         -1, -1, -1, -1, -1, -1, -1, -1, 
2324         -1, -1, -1, -1, -1, -1, -1, -1, 
2325         -1, -1, -1, -1, -1, 325, -1, -1, 
2326         -1, -1, -1, -1, -1, -1, -1, -1, 
2327         -1, -1, -1, -1, -1, -1, -1, -1, 
2328         -1, -1, -1, -1, -1, -1, -1, -1, 
2329         -1, -1, -1, -1, -1, -1, 320, 55, 
2330         -1, -1, -1, -1, -1, -1, 63, -1, 
2331         131, -1, -1, 17, -1, -1, -1, -1, 
2332         -1, -1, -1, -1, -1, -1, -1, -1, 
2333         -1, -1, -1, -1, -1, -1, -1, -1, 
2334         -1, -1, -1, -1, -1, -1, -1, -1, 
2335         -1, -1, -1, -1, -1, -1, -1, -1, 
2336         -1, -1, -1, -1, -1, -1, -1, -1, 
2337         -1, -1, -1, -1, 56, -1, -1, -1, 
2338         -1, -1, -1, -1, -1, -1, -1, -1, 
2339         -1, -1, -1, -1, -1, -1, -1, -1, 
2340         -1, -1, -1, -1, -1, -1, -1, -1, 
2341         -1, -1, -1, -1, -1, -1, 51, 57, 
2342         -1, -1, 326, 328, -1, -1, -1, -1, 
2343         -1, -1, -1, -1, -1, -1, -1, -1, 
2344         -1, -1, -1, -1, -1, -1, -1, -1, 
2345         -1, -1, -1, -1, -1, -1, -1, -1, 
2346         -1, -1, -1, -1, -1, -1, -1, -1, 
2347         -1, -1, -1, -1, -1, -1, -1, -1, 
2348         -1, 61, 59, 60, -1, -1, -1, -1, 
2349         -1, -1, -1, -1, -1, -1, -1, -1, 
2350         -1, 4, -1, -1, -1, -1, -1, -1, 
2351         -1, -1, -1, -1, -1, 158, -1, -1, 
2352         -1, -1, -1, -1, -1, -1, -1, -1, 
2353         -1, -1, -1, -1, -1, -1, -1, -1, 
2354         -1, -1, -1, -1, 180, -1, 179, -1, 
2355         -1, -1, -1, -1, -1, -1, -1, -1, 
2356         -1, 160, 108, -1, 107, -1, 58, -1, 
2357         -1, -1, 177, -1, -1, -1, 48, 191, 
2358         49, 198, 52, -1, 53, -1, -1, -1, 
2359         -1, -1, -1, -1, -1, -1, -1, 54, 
2360         -1, -1, -1, 308, 312, -1, -1, 62, 
2361         81, -1, -1, -1, -1, -1, -1, -1, 
2362         -1, -1, -1, -1, -1, -1, -1, 184, 
2363         -1, -1, -1, -1, -1, -1, -1, -1, 
2364         -1, -1, -1, -1, -1, -1, -1, -1, 
2365         -1, -1, -1, -1, -1, -1, -1, -1, 
2366         -1, -1, -1, -1, -1, -1, -1, -1, 
2367         -1, -1, -1, -1, -1, -1, -1, -1, 
2368         -1, -1, -1, -1, -1, -1, -1, -1, 
2369         -1, -1, -1, -1, -1, -1, -1, -1, 
2370         -1, -1, -1, -1, -1, -1, -1, 120, 
2371         -1, -1, -1, -1, -1, -1, -1, -1, 
2372         -1, -1, -1, -1, -1, -1, -1, 130, 
2373         -1, -1, -1, -1, -1, -1, -1, -1, 
2374         -1, -1, -1, -1, -1, -1, -1, -1, 
2375         -1, -1, -1, -1, -1, -1, -1, -1, 
2376         -1, -1, -1, -1, -1, -1, -1, -1, 
2377         -1, -1, -1, -1, -1, -1, -1, -1, 
2378         -1, -1, -1, -1, -1, -1, -1, -1, 
2379         -1, -1, -1, -1, -1, -1, -1, -1, 
2380         -1, -1, -1, -1, -1, -1, -1, -1, 
2381         -1, -1, -1, -1, -1, -1, -1, -1, 
2382         -1, -1, -1, -1, -1, -1, -1, -1, 
2383         -1, -1, -1, -1, -1, -1, -1, -1, 
2384         -1, -1, -1, -1, -1, -1, -1, -1, 
2385         -1, -1, -1, -1, -1, -1, -1, -1, 
2386         -1, -1, -1, -1, -1, -1, -1, -1, 
2387         -1, 129, -1, 183, 165, -1, -1, -1, 
2388         -1, -1, -1, -1, -1, -1, -1, -1, 
2389         -1, -1, -1, -1, -1, -1, -1, -1, 
2390         -1, -1, -1, -1, -1, -1, -1, -1, 
2391         -1, -1, -1, -1, -1, -1, -1, -1, 
2392         -1, -1, -1, -1, -1, -1, -1, -1, 
2393         -1, -1, -1, -1, -1, -1, -1, -1, 
2394         -1, -1, -1, -1, -1, -1, -1, -1, 
2395         -1, -1, -1, -1, -1, -1, -1, -1, 
2396         -1, -1, -1, -1, -1, -1, -1, -1, 
2397         -1, -1, -1, -1, -1, -1, -1, -1, 
2398         -1, -1, -1, -1, -1, -1, -1, -1, 
2399         -1, -1, -1, -1, -1, -1, -1, -1, 
2400         -1, -1, -1, -1, -1, -1, -1, -1, 
2401         -1, -1, -1, -1, -1, -1, -1, -1, 
2402         -1, 128, 387, -1, -1, -1, -1, -1, 
2403         -1, -1, -1, -1, -1, -1, -1, -1, 
2404         -1, -1, -1, -1, 387, -1, -1, -1, 
2405         -1, -1, -1, -1, -1, -1, -1, -1, 
2406         -1, -1, -1, -1, -1, -1, -1, -1, 
2407         -1, -1, -1, -1, -1, -1, -1, -1, 
2408         -1, -1, -1, -1, -1, -1, -1, -1, 
2409         -1, -1, -1, -1, -1, -1, -1, -1, 
2410         -1, -1, -1, -1, -1, -1, -1, -1, 
2411         -1, -1, -1, -1, -1, -1, -1, -1, 
2412         -1, -1, -1, -1, -1, -1, -1, -1, 
2413         -1, -1, -1, -1, -1, -1, -1, -1, 
2414         -1, -1, -1, -1, -1, -1, -1, 132, 
2415         376, 377, 378, -1, 375, -1, -1, -1, 
2416         -1, -1, -1, -1, -1, -1, -1, -1, 
2417         -1, -1, -1, 356, -1, -1, -1, -1, 
2418         -1, -1, -1, -1, -1, -1, -1, -1, 
2419         -1, -1, -1, -1, -1, -1, -1, -1, 
2420         -1, -1, -1, -1, -1, -1, -1, -1, 
2421         -1, -1, -1, -1, -1, -1, -1, -1, 
2422         -1, -1, -1, -1, -1, -1, -1, -1, 
2423         -1, -1, -1, -1, -1, -1, -1, -1, 
2424         -1, -1, -1, -1, -1, -1, -1, -1, 
2425         -1, -1, -1, -1, -1, -1, -1, -1, 
2426         374, -1, -1, -1, 372, 373, -1, -1, 
2427         -1, -1, -1, -1, -1, -1, 379, -1, 
2428         -1, -1, -1, -1, -1, -1, -1, -1, 
2429         -1, -1, -1, -1, -1, -1, -1, -1, 
2430         -1, -1, -1, -1, -1, -1, -1, -1, 
2431         -1, -1, -1, -1, -1, -1, -1, -1, 
2432         -1, -1, -1, -1, -1, -1, -1, -1, 
2433         -1, -1, -1, 368, 369, 370, 371, -1, 
2434         -1, -1, -1, -1, -1, -1, -1, -1, 
2435         -1, -1, -1, -1, -1, -1, -1, -1, 
2436         -1, -1, -1, -1, -1, -1, 380, 381, 
2437         -1, -1, -1, 382, 383, 30, -1, -1, 
2438         -1, -1, -1, -1, -1, -1, -1, -1, 
2439         -1, -1, -1, -1, -1, -1, -1, -1, 
2440         -1, -1, -1, -1, -1, -1, -1, -1, 
2441         -1, -1, -1, -1, -1, -1, -1, -1, 
2442         -1, -1, -1, -1, -1, -1, -1, -1, 
2443         -1, -1, -1, -1, -1, -1, -1, -1, 
2444         -1, -1, -1, -1, -1, -1, -1, -1, 
2445         -1, -1, -1, -1, -1, -1, -1, 365, 
2446         -1, 367, -1, 363, 366, 376, 377, 378, 
2447         -1, 375, -1, -1, -1, -1, -1, -1, 
2448         -1, -1, -1, -1, -1, -1, -1, -1, 
2449         360, -1, -1, -1, -1, -1, -1, -1, 
2450         -1, -1, -1, -1, -1, -1, -1, -1, 
2451         -1, -1, -1, -1, -1, -1, -1, -1, 
2452         -1, -1, -1, -1, -1, -1, -1, -1, 
2453         -1, -1, -1, -1, -1, -1, -1, -1, 
2454         -1, -1, -1, -1, -1, -1, -1, -1, 
2455         -1, -1, -1, -1, -1, -1, -1, -1, 
2456         -1, -1, -1, -1, -1, -1, -1, -1, 
2457         -1, -1, -1, -1, -1, 374, -1, -1, 
2458         -1, 372, 373, -1, -1, -1, -1, -1, 
2459         -1, -1, -1, 379, -1, -1, -1, -1, 
2460         -1, -1, -1, -1, -1, -1, -1, -1, 
2461         -1, -1, -1, -1, -1, -1, -1, -1, 
2462         -1, -1, -1, -1, -1, -1, -1, -1, 
2463         -1, -1, -1, -1, -1, -1, -1, -1, 
2464         -1, -1, -1, -1, -1, -1, -1, -1, 
2465         368, 369, 370, 371, -1, -1, -1, -1, 
2466         -1, -1, -1, -1, -1, -1, -1, -1, 
2467         -1, -1, -1, -1, -1, -1, -1, -1, 
2468         -1, -1, -1, 380, 381, -1, -1, -1, 
2469         382, 383, 30, -1, -1, -1, -1, -1, 
2470         -1, -1, -1, -1, -1, -1, -1, -1, 
2471         -1, -1, -1, -1, -1, -1, -1, -1, 
2472         -1, -1, -1, -1, -1, -1, -1, -1, 
2473         -1, -1, -1, -1, -1, -1, -1, -1, 
2474         -1, -1, -1, -1, -1, -1, -1, -1, 
2475         -1, -1, -1, -1, -1, -1, -1, -1, 
2476         -1, -1, -1, -1, -1, -1, -1, -1, 
2477         -1, -1, -1, -1, 365, -1, 367, -1, 
2478         363, 366, 376, 377, 378, -1, 375, -1, 
2479         -1, -1, -1, -1, -1, -1, -1, -1, 
2480         -1, -1, -1, -1, -1, 358, -1, -1, 
2481         -1, -1, -1, -1, -1, -1, -1, -1, 
2482         -1, -1, -1, -1, -1, -1, -1, -1, 
2483         -1, -1, -1, -1, -1, -1, -1, -1, 
2484         -1, -1, -1, -1, -1, -1, -1, -1, 
2485         -1, -1, -1, -1, -1, -1, -1, -1, 
2486         -1, -1, -1, -1, -1, -1, -1, -1, 
2487         -1, -1, -1, -1, -1, -1, -1, -1, 
2488         -1, -1, -1, -1, -1, -1, -1, -1, 
2489         -1, -1, 374, -1, -1, -1, 372, 373, 
2490         -1, -1, -1, -1, -1, -1, -1, -1, 
2491         379, -1, -1, -1, -1, -1, -1, -1, 
2492         -1, -1, -1, -1, -1, -1, -1, -1, 
2493         -1, -1, -1, -1, -1, -1, -1, -1, 
2494         -1, -1, -1, -1, -1, -1, -1, -1, 
2495         -1, -1, -1, -1, -1, -1, -1, -1, 
2496         -1, -1, -1, -1, -1, 368, 369, 370, 
2497         371, -1, -1, -1, -1, -1, -1, -1, 
2498         -1, -1, -1, -1, -1, -1, -1, -1, 
2499         -1, -1, -1, -1, -1, -1, -1, -1, 
2500         380, 381, -1, -1, -1, 382, 383, 30, 
2501         -1, -1, -1, -1, -1, -1, -1, -1, 
2502         -1, -1, -1, -1, -1, -1, -1, -1, 
2503         -1, -1, -1, -1, -1, -1, -1, -1, 
2504         -1, -1, -1, -1, -1, -1, -1, -1, 
2505         -1, -1, -1, -1, -1, -1, -1, -1, 
2506         -1, -1, -1, -1, -1, -1, -1, -1, 
2507         -1, -1, -1, -1, -1, -1, -1, -1, 
2508         -1, -1, -1, -1, -1, -1, -1, -1, 
2509         -1, 365, -1, 367, -1, 363, 366, 332, 
2510         332, 332, -1, 332, 331, -1, 332, 338, 
2511         -1, -1, -1, 338, -1, -1, -1, -1, 
2512         -1, -1, -1, -1, -1, -1, -1, -1, 
2513         -1, -1, -1, -1, -1, -1, -1, -1, 
2514         -1, -1, -1, -1, -1, -1, -1, -1, 
2515         -1, -1, -1, -1, -1, -1, -1, -1, 
2516         -1, -1, -1, -1, -1, -1, -1, -1, 
2517         -1, -1, -1, -1, -1, -1, -1, -1, 
2518         -1, -1, -1, -1, -1, -1, -1, -1, 
2519         -1, -1, -1, -1, -1, -1, -1, -1, 
2520         -1, -1, -1, -1, -1, -1, -1, -1, 
2521         -1, -1, -1, -1, -1, -1, -1, -1, 
2522         -1, -1, -1, -1, -1, -1, -1, -1, 
2523         133, 338, -1, -1, -1, 338, -1, -1, 
2524         -1, -1, -1, -1, -1, -1, -1, -1, 
2525         -1, -1, -1, -1, -1, -1, -1, -1, 
2526         -1, -1, -1, -1, -1, -1, -1, -1, 
2527         -1, -1, -1, -1, -1, -1, -1, -1, 
2528         -1, -1, -1, -1, -1, -1, -1, -1, 
2529         -1, -1, -1, -1, -1, -1, -1, -1, 
2530         -1, -1, -1, -1, -1, -1, -1, -1, 
2531         -1, -1, -1, -1, -1, -1, -1, -1, 
2532         -1, -1, -1, -1, -1, -1, -1, -1, 
2533         -1, -1, -1, -1, -1, -1, -1, -1, 
2534         -1, -1, -1, -1, -1, -1, -1, -1, 
2535         -1, -1, 134, 339, -1, -1, 135, 339, 
2536         83, -1, -1, 185, -1, -1, 185, 84, 
2537         -1, -1, -1, -1, -1, -1, -1, -1, 
2538         -1, -1, -1, -1, -1, 185, -1, -1, 
2539         -1, -1, -1, -1, -1, -1, -1, -1, 
2540         -1, -1, -1, -1, -1, -1, -1, -1, 
2541         -1, -1, -1, -1, -1, -1, -1, -1, 
2542         -1, -1, -1, -1, -1, -1, -1, -1, 
2543         -1, -1, -1, -1, -1, -1, -1, -1, 
2544         -1, -1, -1, -1, -1, -1, -1, -1, 
2545         -1, -1, -1, -1, -1, -1, -1, -1, 
2546         -1, -1, -1, -1, -1, 185, 82, -1, 
2547         -1, -1, -1, -1, -1, -1, -1, -1, 
2548         -1, -1, -1, -1, -1, 185, -1, -1, 
2549         -1, -1, 85, 391, -1, -1, -1, -1, 
2550         -1, -1, -1, -1, -1, -1, -1, -1, 
2551         -1, -1, -1, -1, -1, -1, -1, -1, 
2552         -1, -1, -1, -1, -1, -1, -1, -1, 
2553         -1, -1, -1, -1, -1, -1, -1, -1, 
2554         -1, -1, -1, -1, -1, -1, -1, -1, 
2555         -1, -1, -1, -1, -1, -1, -1, -1, 
2556         -1, -1, -1, -1, -1, -1, -1, -1, 
2557         -1, -1, -1, -1, -1, -1, -1, -1, 
2558         -1, -1, -1, -1, -1, -1, -1, -1, 
2559         -1, -1, -1, -1, -1, -1, -1, -1, 
2560         -1, -1, -1, -1, -1, -1, -1, -1, 
2561         -1, -1, -1, -1, -1, -1, -1, -1, 
2562         -1, -1, -1, -1, -1, -1, -1, -1, 
2563         -1, -1, -1, -1, -1, -1, -1, -1, 
2564         -1, -1, -1, -1, -1, -1, -1, -1, 
2565         -1, -1, -1, -1, -1, -1, -1, -1, 
2566         -1, -1, -1, -1, -1, -1, -1, -1, 
2567         -1, -1, -1, -1, -1, -1, -1, -1, 
2568         -1, -1, -1, -1, -1, -1, -1, -1, 
2569         -1, -1, -1, -1, -1, -1, -1, -1, 
2570         -1, 136, 139, -1, -1, -1, -1, -1, 
2571         -1, -1, -1, -1, -1, -1, -1, -1, 
2572         -1, -1, -1, -1, -1, -1, -1, -1, 
2573         -1, -1, -1, -1, -1, -1, -1, -1, 
2574         -1, -1, -1, -1, -1, -1, -1, -1, 
2575         -1, -1, -1, -1, -1, -1, -1, -1, 
2576         -1, -1, -1, -1, -1, -1, -1, -1, 
2577         -1, -1, -1, -1, -1, -1, -1, -1, 
2578         -1, -1, -1, -1, -1, -1, -1, -1, 
2579         -1, -1, -1, -1, -1, -1, -1, -1, 
2580         -1, -1, -1, -1, -1, -1, -1, -1, 
2581         -1, -1, -1, -1, -1, -1, -1, -1, 
2582         -1, -1, -1, -1, -1, -1, -1, -1, 
2583         -1, -1, -1, -1, -1, -1, -1, -1, 
2584         -1, -1, -1, -1, -1, -1, -1, -1, 
2585         -1, -1, -1, -1, -1, -1, -1, -1, 
2586         -1, -1, -1, -1, -1, -1, -1, -1, 
2587         -1, -1, -1, 137, -1, -1, -1, -1, 
2588         -1, -1, -1, -1, 138, 342, 342, 342, 
2589         -1, 342, -1, -1, -1, -1, -1, -1, 
2590         -1, -1, -1, -1, -1, -1, -1, -1, 
2591         342, -1, -1, -1, -1, -1, -1, -1, 
2592         -1, -1, -1, -1, -1, -1, -1, -1, 
2593         -1, -1, -1, -1, -1, -1, -1, -1, 
2594         -1, -1, -1, -1, -1, -1, -1, -1, 
2595         -1, -1, -1, -1, -1, -1, -1, -1, 
2596         -1, -1, -1, -1, -1, -1, -1, -1, 
2597         -1, -1, -1, -1, -1, -1, -1, -1, 
2598         -1, -1, -1, -1, -1, -1, -1, -1, 
2599         -1, -1, 342, -1, -1, 342, -1, -1, 
2600         -1, 342, 342, -1, -1, -1, -1, -1, 
2601         -1, -1, -1, 342, -1, -1, -1, -1, 
2602         -1, -1, -1, -1, -1, -1, -1, -1, 
2603         -1, -1, -1, -1, -1, -1, -1, -1, 
2604         -1, -1, -1, -1, -1, -1, -1, -1, 
2605         -1, -1, -1, -1, -1, -1, -1, -1, 
2606         -1, -1, -1, -1, -1, -1, -1, -1, 
2607         342, 342, 342, 342, -1, -1, -1, -1, 
2608         -1, -1, -1, -1, -1, -1, -1, -1, 
2609         -1, -1, -1, -1, -1, -1, -1, -1, 
2610         342, 342, 342, 342, 342, 342, 342, 342, 
2611         342, 342, 342, 342, -1, -1, -1, -1, 
2612         -1, -1, -1, -1, -1, -1, -1, -1, 
2613         -1, -1, -1, -1, -1, -1, -1, 140, 
2614         297, 298, 124, -1, -1, -1, -1, -1, 
2615         -1, -1, -1, -1, -1, -1, -1, -1, 
2616         -1, -1, -1, -1, -1, -1, -1, -1, 
2617         -1, -1, -1, -1, -1, -1, -1, -1, 
2618         -1, -1, -1, -1, -1, -1, -1, -1, 
2619         -1, -1, -1, -1, -1, -1, -1, -1, 
2620         -1, -1, -1, -1, -1, -1, -1, -1, 
2621         -1, -1, -1, -1, -1, -1, -1, -1, 
2622         -1, -1, -1, -1, -1, -1, -1, -1, 
2623         -1, -1, -1, -1, -1, -1, -1, -1, 
2624         -1, -1, -1, -1, -1, 120, -1, -1, 
2625         -1, -1, 292, -1, -1, -1, -1, -1, 
2626         -1, -1, -1, -1, -1, -1, -1, -1, 
2627         -1, -1, -1, -1, -1, -1, -1, -1, 
2628         -1, -1, -1, -1, -1, -1, -1, -1, 
2629         -1, -1, -1, -1, -1, -1, -1, -1, 
2630         -1, -1, -1, -1, -1, -1, -1, -1, 
2631         -1, -1, -1, -1, -1, -1, -1, -1, 
2632         -1, -1, -1, -1, -1, -1, -1, -1, 
2633         -1, -1, -1, -1, -1, -1, -1, -1, 
2634         -1, -1, -1, -1, -1, -1, -1, -1, 
2635         -1, -1, -1, -1, -1, -1, -1, -1, 
2636         -1, -1, -1, -1, -1, -1, -1, -1, 
2637         -1, -1, -1, -1, -1, -1, -1, -1, 
2638         -1, -1, -1, -1, -1, -1, -1, -1, 
2639         -1, -1, -1, -1, -1, -1, -1, -1, 
2640         -1, -1, -1, -1, -1, -1, -1, -1, 
2641         207, 290, -1, -1, -1, -1, -1, -1, 
2642         -1, -1, -1, -1, -1, -1, -1, -1, 
2643         -1, -1, -1, -1, 288, 292, -1, -1, 
2644         -1, -1, -1, -1, -1, -1, -1, -1, 
2645         -1, -1, -1, -1, -1, -1, -1, -1, 
2646         -1, -1, -1, -1, -1, -1, -1, -1, 
2647         -1, -1, -1, -1, -1, -1, -1, -1, 
2648         -1, -1, -1, -1, -1, -1, -1, -1, 
2649         -1, -1, -1, -1, -1, -1, -1, -1, 
2650         -1, -1, -1, -1, -1, -1, -1, -1, 
2651         -1, -1, -1, -1, -1, -1, -1, -1, 
2652         -1, -1, -1, -1, -1, -1, -1, -1, 
2653         -1, -1, -1, -1, -1, -1, -1, -1, 
2654         -1, -1, -1, -1, -1, -1, -1, -1, 
2655         -1, -1, -1, -1, -1, -1, -1, -1, 
2656         -1, -1, -1, -1, -1, -1, -1, -1, 
2657         -1, -1, -1, -1, -1, -1, -1, -1, 
2658         -1, -1, -1, -1, -1, -1, -1, -1, 
2659         -1, -1, -1, -1, -1, -1, -1, -1, 
2660         -1, -1, -1, -1, -1, -1, -1, -1, 
2661         -1, -1, -1, -1, -1, -1, -1, 138, 
2662         142, -1, -1, -1, -1, -1, -1, -1, 
2663         -1, -1, -1, -1, -1, -1, -1, -1, 
2664         -1, -1, -1, -1, -1, -1, -1, -1, 
2665         -1, -1, -1, -1, -1, -1, -1, -1, 
2666         -1, -1, -1, -1, -1, -1, -1, -1, 
2667         -1, -1, -1, -1, -1, -1, -1, -1, 
2668         -1, -1, -1, -1, -1, -1, -1, -1, 
2669         -1, -1, -1, -1, -1, -1, -1, -1, 
2670         -1, -1, -1, -1, -1, -1, -1, -1, 
2671         -1, -1, -1, -1, -1, -1, -1, -1, 
2672         -1, -1, -1, -1, -1, -1, -1, -1, 
2673         -1, -1, -1, -1, -1, -1, -1, -1, 
2674         -1, -1, -1, -1, -1, -1, -1, -1, 
2675         -1, -1, -1, -1, -1, -1, -1, -1, 
2676         -1, -1, -1, -1, -1, -1, -1, -1, 
2677         -1, -1, -1, -1, -1, -1, -1, -1, 
2678         -1, -1, -1, -1, -1, -1, -1, -1, 
2679         -1, -1, -1, -1, -1, -1, -1, -1, 
2680         141, -1, 138, 144, -1, -1, -1, -1, 
2681         -1, -1, -1, -1, -1, -1, -1, -1, 
2682         -1, -1, -1, -1, -1, -1, -1, -1, 
2683         -1, -1, -1, -1, -1, -1, -1, -1, 
2684         -1, -1, -1, -1, -1, -1, -1, -1, 
2685         -1, -1, -1, -1, -1, -1, -1, -1, 
2686         -1, -1, -1, -1, -1, -1, -1, -1, 
2687         -1, -1, -1, -1, -1, -1, -1, -1, 
2688         -1, -1, -1, -1, -1, -1, -1, -1, 
2689         -1, -1, -1, -1, -1, -1, -1, -1, 
2690         -1, -1, -1, -1, 304, 309, -1, -1, 
2691         -1, -1, -1, -1, -1, -1, -1, -1, 
2692         -1, -1, -1, -1, -1, -1, -1, -1, 
2693         -1, -1, -1, -1, -1, -1, -1, -1, 
2694         -1, -1, -1, -1, -1, -1, -1, -1, 
2695         -1, -1, -1, -1, -1, -1, -1, -1, 
2696         -1, -1, -1, -1, -1, -1, -1, -1, 
2697         -1, -1, -1, -1, -1, -1, -1, -1, 
2698         -1, -1, -1, -1, -1, -1, -1, -1, 
2699         -1, -1, -1, -1, -1, -1, -1, -1, 
2700         -1, -1, -1, -1, -1, -1, -1, -1, 
2701         -1, -1, -1, -1, -1, -1, -1, -1, 
2702         -1, -1, -1, -1, -1, -1, -1, -1, 
2703         -1, -1, -1, -1, -1, -1, -1, -1, 
2704         -1, -1, -1, -1, -1, -1, -1, -1, 
2705         -1, -1, -1, -1, -1, -1, -1, -1, 
2706         -1, -1, -1, -1, -1, -1, -1, -1, 
2707         -1, -1, -1, -1, -1, -1, -1, -1, 
2708         -1, -1, -1, -1, -1, 143, 35, 181, 
2709         124, -1, -1, -1, -1, -1, -1, -1, 
2710         -1, -1, -1, -1, -1, -1, -1, -1, 
2711         -1, -1, -1, -1, -1, -1, -1, -1, 
2712         -1, -1, -1, -1, -1, -1, -1, -1, 
2713         -1, -1, -1, -1, -1, -1, -1, -1, 
2714         -1, -1, -1, -1, -1, -1, -1, -1, 
2715         -1, -1, -1, -1, -1, -1, -1, -1, 
2716         -1, -1, -1, -1, -1, -1, -1, -1, 
2717         -1, -1, -1, -1, -1, -1, -1, -1, 
2718         -1, -1, -1, -1, -1, -1, -1, -1, 
2719         -1, -1, -1, 120, -1, -1, -1, -1, 
2720         292, -1, -1, -1, -1, -1, -1, -1, 
2721         -1, -1, -1, -1, -1, -1, -1, -1, 
2722         -1, -1, -1, -1, -1, -1, -1, -1, 
2723         -1, -1, -1, -1, -1, -1, -1, -1, 
2724         -1, -1, -1, -1, -1, -1, -1, -1, 
2725         -1, -1, -1, -1, -1, -1, -1, -1, 
2726         -1, -1, -1, -1, -1, -1, -1, -1, 
2727         -1, -1, -1, -1, -1, -1, -1, -1, 
2728         -1, -1, -1, -1, -1, -1, -1, -1, 
2729         -1, -1, -1, -1, -1, -1, -1, -1, 
2730         -1, -1, -1, -1, -1, -1, -1, -1, 
2731         -1, -1, -1, -1, -1, -1, -1, -1, 
2732         -1, -1, -1, -1, -1, -1, -1, -1, 
2733         -1, -1, -1, -1, -1, -1, -1, -1, 
2734         -1, -1, -1, -1, -1, -1, -1, -1, 
2735         -1, -1, -1, -1, -1, -1, 182, 290, 
2736         -1, -1, -1, -1, -1, -1, -1, -1, 
2737         -1, -1, -1, -1, -1, -1, -1, -1, 
2738         -1, -1, 288, 176, 390, 333, -1, -1, 
2739         -1, 116, -1, -1, -1, -1, -1, -1, 
2740         -1, -1, -1, -1, -1, -1, -1, -1, 
2741         -1, -1, -1, -1, -1, -1, -1, -1, 
2742         -1, -1, -1, -1, -1, -1, -1, -1, 
2743         -1, -1, -1, -1, -1, -1, -1, -1, 
2744         -1, -1, -1, -1, -1, -1, -1, -1, 
2745         -1, -1, -1, -1, -1, -1, -1, -1, 
2746         -1, -1, -1, -1, -1, -1, -1, -1, 
2747         -1, -1, -1, -1, -1, -1, -1, -1, 
2748         -1, -1, -1, -1, -1, -1, -1, -1, 
2749         -1, -1, -1, -1, -1, -1, -1, -1, 
2750         -1, -1, -1, -1, -1, -1, -1, -1, 
2751         -1, -1, -1, 337, 334, -1, -1, -1, 
2752         116, -1, -1, -1, -1, -1, -1, -1, 
2753         -1, -1, -1, -1, -1, -1, -1, -1, 
2754         -1, -1, -1, -1, -1, -1, -1, -1, 
2755         -1, -1, -1, -1, -1, -1, -1, -1, 
2756         -1, -1, -1, -1, -1, -1, -1, -1, 
2757         -1, -1, -1, -1, -1, -1, -1, -1, 
2758         -1, -1, -1, -1, -1, -1, -1, -1, 
2759         -1, -1, -1, -1, -1, -1, -1, -1, 
2760         -1, -1, -1, -1, -1, -1, -1, -1, 
2761         -1, -1, -1, -1, -1, -1, -1, -1, 
2762         -1, -1, -1, -1, -1, -1, -1, -1, 
2763         -1, -1, -1, -1, -1, -1, -1, -1, 
2764         -1, -1, 337, 340, 385, -1, -1, -1, 
2765         -1, 385, -1, 385, 385, -1, -1, 385, 
2766         385, 385, -1, -1, -1, -1, -1, -1, 
2767         -1, -1, -1, -1, -1, -1, 385, -1, 
2768         -1, -1, -1, -1, -1, -1, -1, -1, 
2769         -1, -1, -1, -1, -1, -1, -1, -1, 
2770         -1, -1, -1, -1, -1, -1, -1, -1, 
2771         -1, -1, -1, -1, -1, -1, -1, -1, 
2772         -1, 385, -1, -1, -1, -1, -1, -1, 
2773         -1, -1, -1, -1, -1, -1, -1, -1, 
2774         -1, -1, -1, -1, -1, -1, -1, -1, 
2775         -1, -1, -1, -1, -1, -1, 385, 385, 
2776         -1, -1, -1, 385, 385, -1, -1, 385, 
2777         385, -1, 385, 385, 385, 385, 385, -1, 
2778         -1, 132, -1, 385, -1, -1, -1, -1, 
2779         -1, -1, -1, -1, -1, -1, -1, -1, 
2780         -1, -1, -1, -1, -1, -1, -1, -1, 
2781         -1, -1, -1, -1, -1, -1, -1, -1, 
2782         -1, -1, -1, -1, -1, -1, 385, 385, 
2783         385, 145, 289, 291, -1, -1, 294, 348, 
2784         349, 350, -1, 346, -1, -1, -1, -1, 
2785         -1, -1, -1, -1, -1, -1, -1, -1, 
2786         -1, -1, 347, -1, -1, -1, -1, -1, 
2787         -1, -1, -1, -1, -1, -1, -1, -1, 
2788         -1, -1, -1, -1, -1, -1, -1, -1, 
2789         -1, -1, -1, -1, -1, -1, -1, -1, 
2790         -1, -1, -1, -1, -1, -1, -1, -1, 
2791         -1, -1, -1, -1, -1, -1, -1, -1, 
2792         -1, -1, -1, -1, -1, -1, -1, -1, 
2793         -1, -1, -1, -1, -1, -1, -1, -1, 
2794         -1, -1, -1, -1, 293, -1, -1, 374, 
2795         -1, -1, -1, 372, 373, -1, -1, -1, 
2796         -1, -1, -1, -1, -1, 351, -1, -1, 
2797         -1, -1, -1, -1, -1, -1, -1, -1, 
2798         -1, -1, -1, -1, -1, -1, -1, -1, 
2799         -1, -1, -1, -1, -1, -1, -1, -1, 
2800         -1, -1, -1, -1, -1, -1, -1, -1, 
2801         -1, -1, -1, -1, -1, -1, -1, -1, 
2802         -1, -1, 368, 369, 370, 371, -1, -1, 
2803         -1, -1, -1, -1, -1, -1, -1, -1, 
2804         -1, -1, -1, -1, -1, -1, -1, -1, 
2805         -1, -1, 45, 40, 39, 380, 381, 41, 
2806         43, 44, 382, 383, 30, 42, -1, -1, 
2807         -1, -1, -1, -1, -1, -1, -1, -1, 
2808         -1, -1, -1, -1, -1, -1, -1, -1, 
2809         -1, -1, -1, -1, -1, -1, -1, -1, 
2810         -1, -1, -1, -1, -1, -1, -1, -1, 
2811         -1, -1, -1, -1, -1, -1, -1, -1, 
2812         -1, -1, -1, -1, -1, -1, -1, -1, 
2813         -1, -1, -1, -1, -1, -1, -1, -1, 
2814         -1, -1, -1, -1, 341, 345, 343, 344, 
2815         352, 146, 291, -1, -1, 299, 305, 306, 
2816         -1, -1, -1, -1, -1, -1, 309, -1, 
2817         -1, -1, -1, -1, -1, -1, -1, -1, 
2818         -1, -1, -1, -1, -1, -1, -1, -1, 
2819         -1, -1, -1, -1, -1, -1, -1, -1, 
2820         -1, -1, -1, -1, -1, -1, -1, -1, 
2821         -1, -1, -1, -1, -1, -1, -1, -1, 
2822         -1, -1, -1, -1, -1, -1, -1, -1, 
2823         -1, -1, -1, -1, -1, -1, -1, -1, 
2824         -1, -1, -1, -1, -1, -1, -1, -1, 
2825         -1, -1, -1, -1, -1, -1, -1, -1, 
2826         -1, -1, -1, -1, -1, -1, -1, -1, 
2827         -1, -1, -1, -1, -1, -1, -1, -1, 
2828         -1, -1, -1, -1, -1, -1, -1, -1, 
2829         -1, -1, -1, -1, -1, -1, -1, -1, 
2830         -1, -1, -1, -1, -1, -1, -1, -1, 
2831         -1, -1, -1, -1, -1, -1, -1, -1, 
2832         -1, -1, -1, -1, -1, -1, -1, -1, 
2833         -1, -1, -1, -1, -1, -1, -1, -1, 
2834         -1, -1, -1, -1, -1, -1, 147, 121, 
2835         -1, 122, -1, -1, -1, -1, -1, -1, 
2836         -1, -1, -1, -1, -1, -1, -1, -1, 
2837         -1, -1, -1, -1, -1, -1, -1, -1, 
2838         -1, -1, -1, -1, -1, -1, -1, -1, 
2839         -1, -1, -1, -1, -1, -1, -1, -1, 
2840         -1, -1, -1, -1, -1, -1, -1, -1, 
2841         -1, -1, -1, -1, -1, -1, -1, -1, 
2842         -1, -1, -1, -1, -1, -1, -1, -1, 
2843         -1, -1, -1, -1, -1, -1, -1, -1, 
2844         -1, -1, -1, -1, -1, -1, -1, -1, 
2845         -1, -1, -1, -1, -1, -1, -1, -1, 
2846         296, -1, -1, -1, -1, -1, -1, -1, 
2847         -1, -1, -1, -1, -1, -1, -1, -1, 
2848         -1, -1, -1, -1, -1, -1, -1, -1, 
2849         -1, -1, -1, -1, -1, -1, -1, -1, 
2850         -1, -1, -1, -1, -1, -1, -1, -1, 
2851         -1, -1, -1, -1, -1, -1, -1, -1, 
2852         -1, -1, -1, -1, -1, -1, -1, -1, 
2853         -1, -1, -1, -1, -1, -1, -1, -1, 
2854         -1, -1, -1, -1, -1, -1, -1, -1, 
2855         -1, -1, -1, -1, -1, -1, -1, -1, 
2856         -1, -1, -1, -1, -1, -1, -1, -1, 
2857         -1, -1, -1, -1, -1, -1, -1, -1, 
2858         -1, -1, -1, -1, -1, -1, -1, -1, 
2859         -1, -1, -1, -1, -1, -1, -1, -1, 
2860         -1, -1, -1, -1, -1, -1, -1, -1, 
2861         -1, -1, -1, -1, -1, -1, -1, -1, 
2862         -1, -1, -1, -1, 148, -1, -1, -1, 
2863         -1, -1, -1, -1, -1, -1, -1, 295, 
2864         124, -1, -1, -1, -1, -1, -1, -1, 
2865         -1, -1, -1, -1, -1, -1, -1, -1, 
2866         -1, -1, -1, -1, -1, -1, -1, -1, 
2867         -1, -1, -1, -1, -1, -1, -1, -1, 
2868         -1, -1, -1, -1, -1, -1, -1, -1, 
2869         -1, -1, -1, -1, -1, -1, -1, -1, 
2870         -1, -1, -1, -1, -1, -1, -1, -1, 
2871         -1, -1, -1, -1, -1, -1, -1, -1, 
2872         -1, -1, -1, -1, -1, -1, -1, -1, 
2873         -1, -1, -1, -1, -1, -1, -1, -1, 
2874         -1, -1, -1, 120, -1, -1, -1, -1, 
2875         292, -1, -1, -1, -1, -1, -1, -1, 
2876         -1, -1, -1, -1, -1, -1, -1, -1, 
2877         -1, -1, -1, -1, -1, -1, -1, -1, 
2878         -1, -1, -1, -1, -1, -1, -1, -1, 
2879         -1, -1, -1, -1, -1, -1, -1, -1, 
2880         -1, -1, -1, -1, -1, -1, -1, -1, 
2881         -1, -1, -1, -1, -1, -1, -1, -1, 
2882         -1, -1, -1, -1, -1, -1, -1, -1, 
2883         -1, -1, -1, -1, -1, -1, -1, -1, 
2884         -1, -1, -1, -1, -1, -1, -1, -1, 
2885         -1, -1, -1, -1, -1, -1, -1, -1, 
2886         -1, -1, -1, -1, -1, -1, -1, -1, 
2887         -1, -1, -1, -1, -1, -1, -1, -1, 
2888         -1, -1, -1, -1, -1, -1, -1, -1, 
2889         -1, -1, -1, -1, -1, -1, -1, -1, 
2890         -1, -1, -1, -1, -1, -1, 149, 290, 
2891         -1, -1, -1, -1, -1, -1, -1, -1, 
2892         -1, -1, -1, -1, -1, -1, -1, -1, 
2893         -1, -1, 288, 307, 205, 213, 
2894 };
2895
2896 unsigned short Parser_keys[] = {
2897         128, 227, 225, 225, 128, 228, 128, 244, 
2898         128, 245, 128, 128, 128, 128, 45, 248, 
2899         40, 249, 40, 249, 128, 250, 123, 128, 
2900         123, 123, 123, 123, 128, 128, 123, 123, 
2901         59, 128, 45, 248, 132, 132, 40, 292, 
2902         40, 242, 40, 242, 59, 59, 128, 187, 
2903         40, 292, 125, 228, 61, 141, 40, 242, 
2904         59, 59, 59, 59, 40, 40, 40, 289, 
2905         40, 289, 40, 249, 125, 244, 33, 281, 
2906         33, 281, 40, 289, 128, 295, 59, 59, 
2907         40, 249, 42, 295, 42, 295, 42, 295, 
2908         59, 59, 59, 59, 40, 292, 44, 59, 
2909         38, 144, 33, 281, 33, 201, 33, 181, 
2910         33, 271, 33, 201, 33, 281, 33, 281, 
2911         33, 201, 33, 201, 182, 279, 182, 279, 
2912         179, 280, 134, 134, 33, 281, 59, 59, 
2913         44, 59, 33, 281, 41, 41, 128, 294, 
2914         40, 292, 59, 59, 40, 249, 59, 59, 
2915         40, 249, 59, 59, 40, 249, 41, 44, 
2916         33, 281, 179, 283, 182, 284, 182, 284, 
2917         33, 281, 33, 281, 33, 281, 33, 281, 
2918         33, 281, 33, 281, 33, 281, 33, 281, 
2919         33, 281, 128, 293, 40, 275, 33, 274, 
2920         40, 274, 40, 274, 40, 274, 40, 274, 
2921         40, 274, 40, 206, 40, 206, 40, 206, 
2922         40, 206, 202, 206, 202, 206, 44, 276, 
2923         45, 281, 33, 281, 44, 255, 128, 245, 
2924         41, 142, 40, 292, 40, 292, 40, 292, 
2925         179, 186, 182, 279, 182, 279, 182, 186, 
2926         38, 144, 128, 294, 128, 274, 40, 242, 
2927         132, 132, 132, 132, 40, 274, 128, 274, 
2928         128, 274, 44, 125, 132, 276, 61, 61, 
2929         59, 59, 40, 274, 124, 124, 128, 128, 
2930         182, 284, 182, 284, 186, 186, 33, 181, 
2931         44, 44, 41, 41, 41, 44, 40, 289, 
2932         44, 44, 41, 44, 125, 125, 125, 276, 
2933         43, 275, 40, 274, 125, 125, 41, 41, 
2934         41, 41, 0, 0
2935 };
2936
2937 unsigned int Parser_offsets[] = {
2938         0, 100, 101, 202, 319, 437, 438, 439, 
2939         643, 853, 1063, 1186, 1192, 1193, 1194, 1195, 
2940         1196, 1266, 1470, 1471, 1724, 1927, 2130, 2131, 
2941         2191, 2444, 2548, 2629, 2832, 2833, 2834, 2835, 
2942         3085, 3335, 3545, 3665, 3914, 4163, 4413, 4581, 
2943         4582, 4792, 5046, 5300, 5554, 5555, 5556, 5809, 
2944         5825, 5932, 6181, 6350, 6499, 6738, 6907, 7156, 
2945         7405, 7574, 7743, 7841, 7939, 8041, 8042, 8291, 
2946         8292, 8308, 8557, 8558, 8725, 8978, 8979, 9189, 
2947         9190, 9400, 9401, 9611, 9615, 9864, 9969, 10072, 
2948         10175, 10424, 10673, 10922, 11171, 11420, 11669, 11918, 
2949         12167, 12416, 12582, 12818, 13060, 13295, 13530, 13765, 
2950         14000, 14235, 14402, 14569, 14736, 14903, 14908, 14913, 
2951         15146, 15383, 15632, 15844, 15962, 16064, 16317, 16570, 
2952         16823, 16831, 16929, 17027, 17032, 17139, 17306, 17453, 
2953         17656, 17657, 17658, 17893, 18040, 18187, 18269, 18414, 
2954         18415, 18416, 18651, 18652, 18653, 18756, 18859, 18860, 
2955         19009, 19010, 19011, 19015, 19265, 19266, 19270, 19271, 
2956         19423, 19656, 19891, 19892, 19893, 19894
2957 };
2958
2959 unsigned short Parser_targs[] = {
2960         1, 2, 3, 4, 5, 6, 7, 8, 
2961         9, 10, 11, 12, 13, 14, 15, 16, 
2962         17, 18, 18, 19, 20, 21, 22, 23, 
2963         24, 25, 26, 27, 28, 29, 30, 31, 
2964         32, 33, 34, 35, 36, 37, 38, 39, 
2965         40, 41, 42, 43, 44, 45, 46, 47, 
2966         48, 49, 50, 50, 51, 52, 53, 54, 
2967         55, 56, 57, 58, 59, 60, 61, 62, 
2968         63, 64, 65, 66, 67, 68, 69, 70, 
2969         71, 72, 73, 74, 75, 76, 77, 78, 
2970         79, 80, 81, 82, 83, 84, 85, 86, 
2971         87, 88, 89, 90, 91, 92, 93, 94, 
2972         95, 96, 97, 98, 99, 100, 101, 102, 
2973         103, 104, 105, 106, 107, 108, 109, 110, 
2974         111, 112, 113, 114, 115, 116, 117, 118, 
2975         119, 120, 121, 122, 123, 124, 125, 126, 
2976         127, 128, 129, 130, 131, 132, 133, 134, 
2977         135, 136, 137, 138, 139, 140, 141, 142, 
2978         143, 144, 145, 146, 147, 148, 149, 149, 
2979         149, 149, 149, 149, 149, 149, 149, 149, 
2980         149, 149, 149, 149, 149, 149, 149, 149, 
2981         149, 149, 149, 149, 149, 149, 149, 149, 
2982         149, 149, 149, 149, 149, 149, 149, 149, 
2983         149, 149, 149, 149, 149, 149, 149, 149, 
2984         149, 149, 149, 149, 149, 149, 149, 149, 
2985         149, 149, 149, 149, 149, 149, 149, 149, 
2986         149, 149, 149, 149, 149, 149, 149, 149, 
2987         149, 149, 149, 149, 149, 149, 149, 149, 
2988         149, 149, 149, 149, 149, 149, 149, 149, 
2989         149, 149, 149, 149, 149, 149, 149, 149, 
2990         149, 149, 149, 149, 149, 149, 149, 149, 
2991         149, 149, 149, 149, 149, 149, 149, 149, 
2992         149, 149, 149, 149, 149, 149, 149, 149, 
2993         149, 149, 149, 149, 149, 149, 149, 149, 
2994         149, 149, 149, 149, 149, 149, 149, 149, 
2995         149, 149, 149, 149, 149, 149, 149, 149, 
2996         149, 149, 149, 149, 149, 149, 149, 149, 
2997         149, 149, 149, 149, 149, 149, 149, 149, 
2998         149, 149, 149, 149, 149, 149, 149, 149, 
2999         149, 149, 149, 149, 149, 149, 149, 149, 
3000         149, 149, 149, 149, 149, 149, 149, 149, 
3001         149, 149, 149, 149, 149, 149, 149, 149, 
3002         149, 149, 149, 149, 149, 149, 149, 149, 
3003         149, 149, 149, 149, 149, 149, 149, 149, 
3004         149, 149, 149, 149, 149, 149, 149, 149, 
3005         149, 149, 149, 149, 149, 149, 149, 149, 
3006         149, 149, 149, 149, 149, 149, 149, 149, 
3007         149, 149, 149, 149, 149, 149, 149, 149, 
3008         149, 149, 149, 149, 149, 149, 149, 149, 
3009         149, 149, 149, 149, 149, 149, 149, 149, 
3010         149, 149, 149, 149, 149
3011 };
3012
3013 unsigned int Parser_actInds[] = {
3014         0, 2, 4, 6, 8, 10, 12, 14, 
3015         16, 18, 20, 22, 24, 26, 28, 30, 
3016         32, 34, 36, 39, 41, 43, 45, 47, 
3017         49, 51, 53, 55, 57, 59, 61, 63, 
3018         65, 67, 69, 71, 73, 75, 77, 79, 
3019         81, 83, 85, 87, 89, 91, 93, 95, 
3020         97, 99, 101, 103, 106, 108, 110, 112, 
3021         114, 116, 118, 120, 122, 124, 126, 128, 
3022         130, 132, 134, 136, 138, 140, 142, 144, 
3023         146, 148, 150, 152, 154, 156, 158, 160, 
3024         162, 164, 166, 168, 170, 172, 174, 176, 
3025         178, 180, 182, 184, 186, 188, 190, 192, 
3026         194, 196, 198, 200, 202, 204, 206, 208, 
3027         210, 213, 215, 217, 219, 221, 223, 225, 
3028         227, 229, 231, 233, 235, 237, 239, 241, 
3029         243, 245, 247, 249, 251, 253, 255, 257, 
3030         259, 261, 263, 265, 267, 269, 271, 273, 
3031         275, 277, 279, 281, 283, 285, 287, 289, 
3032         291, 293, 295, 297, 299, 301, 303, 305, 
3033         307, 309, 311, 313, 315, 317, 319, 321, 
3034         323, 325, 327, 329, 331, 333, 335, 337, 
3035         339, 341, 343, 345, 347, 349, 351, 353, 
3036         355, 357, 359, 361, 363, 365, 367, 369, 
3037         371, 373, 375, 377, 379, 381, 383, 385, 
3038         387, 389, 391, 393, 395, 397, 399, 401, 
3039         403, 405, 407, 409, 411, 413, 415, 417, 
3040         419, 421, 423, 425, 427, 429, 431, 433, 
3041         435, 437, 439, 441, 443, 445, 447, 449, 
3042         451, 453, 455, 457, 459, 461, 463, 465, 
3043         467, 469, 471, 473, 475, 477, 479, 481, 
3044         483, 485, 487, 489, 491, 493, 495, 497, 
3045         499, 501, 503, 505, 507, 509, 511, 513, 
3046         515, 517, 519, 521, 523, 525, 527, 529, 
3047         531, 533, 535, 537, 539, 541, 543, 545, 
3048         547, 549, 551, 553, 555, 557, 559, 561, 
3049         563, 565, 567, 569, 571, 573, 575, 577, 
3050         579, 581, 583, 585, 587, 589, 591, 593, 
3051         595, 597, 599, 601, 603, 605, 607, 609, 
3052         611, 613, 615, 617, 619, 621, 623, 625, 
3053         627, 629, 631, 633, 635, 637, 639, 641, 
3054         643, 645, 647, 649, 651, 653, 655, 657, 
3055         659, 661, 663, 665, 667, 669, 671, 673, 
3056         675, 677, 679, 681, 683, 685, 687, 689, 
3057         691, 693, 695, 697, 699, 701, 703, 705, 
3058         707, 709, 711, 713, 715, 717, 719, 721, 
3059         723, 725, 727, 729, 731, 733, 735, 737, 
3060         739, 741, 743, 745, 747, 749, 751, 753, 
3061         755, 757, 759, 761, 763, 765, 767, 769, 
3062         771, 773, 775, 777, 779, 781, 783, 785, 
3063         787, 789, 791, 793, 795, 797, 799, 801, 
3064         803, 805, 807, 809, 811
3065 };
3066
3067 unsigned int Parser_actions[] = {
3068         1, 0, 1, 0, 1, 0, 1, 0, 
3069         1, 0, 1, 0, 1, 0, 1, 0, 
3070         1, 0, 1, 0, 1, 0, 1, 0, 
3071         1, 0, 1, 0, 1, 0, 1, 0, 
3072         1, 0, 1, 0, 214, 1, 0, 1, 
3073         0, 1, 0, 1, 0, 1, 0, 1, 
3074         0, 1, 0, 1, 0, 1, 0, 1, 
3075         0, 1, 0, 1, 0, 1, 0, 1, 
3076         0, 1, 0, 1, 0, 1, 0, 1, 
3077         0, 1, 0, 1, 0, 1, 0, 1, 
3078         0, 1, 0, 1, 0, 1, 0, 1, 
3079         0, 1, 0, 1, 0, 1, 0, 1, 
3080         0, 1, 0, 1, 0, 1, 0, 90, 
3081         1, 0, 1, 0, 1, 0, 1, 0, 
3082         1, 0, 1, 0, 1, 0, 1, 0, 
3083         1, 0, 1, 0, 1, 0, 1, 0, 
3084         1, 0, 1, 0, 1, 0, 1, 0, 
3085         1, 0, 1, 0, 1, 0, 1, 0, 
3086         1, 0, 1, 0, 1, 0, 1, 0, 
3087         1, 0, 1, 0, 1, 0, 1, 0, 
3088         1, 0, 1, 0, 1, 0, 1, 0, 
3089         1, 0, 1, 0, 1, 0, 1, 0, 
3090         1, 0, 1, 0, 1, 0, 1, 0, 
3091         1, 0, 1, 0, 1, 0, 1, 0, 
3092         1, 0, 1, 0, 1, 0, 1, 0, 
3093         1, 0, 1, 0, 1, 0, 1, 0, 
3094         1, 0, 1, 302, 0, 1, 0, 1, 
3095         0, 1, 0, 1, 0, 1, 0, 1, 
3096         0, 1, 0, 1, 0, 1, 0, 1, 
3097         0, 1, 0, 1, 0, 1, 0, 1, 
3098         0, 1, 0, 1, 0, 1, 0, 1, 
3099         0, 1, 0, 1, 0, 1, 0, 1, 
3100         0, 1, 0, 1, 0, 1, 0, 1, 
3101         0, 1, 0, 1, 0, 1, 0, 1, 
3102         0, 1, 0, 1, 0, 1, 0, 1, 
3103         0, 1, 0, 1, 0, 1, 0, 1, 
3104         0, 1, 0, 1, 0, 1, 0, 1, 
3105         0, 1, 0, 1, 0, 1, 0, 2, 
3106         0, 7, 0, 10, 0, 15, 0, 18, 
3107         0, 71, 0, 75, 0, 79, 0, 83, 
3108         0, 86, 0, 87, 0, 90, 0, 95, 
3109         0, 99, 0, 103, 0, 107, 0, 111, 
3110         0, 115, 0, 119, 0, 123, 0, 127, 
3111         0, 131, 0, 135, 0, 139, 0, 142, 
3112         0, 146, 0, 151, 0, 155, 0, 159, 
3113         0, 163, 0, 167, 0, 171, 0, 175, 
3114         0, 179, 0, 182, 0, 186, 0, 190, 
3115         0, 195, 0, 199, 0, 203, 0, 207, 
3116         0, 211, 0, 214, 0, 219, 0, 223, 
3117         0, 227, 0, 231, 0, 235, 0, 239, 
3118         0, 243, 0, 246, 0, 251, 0, 254, 
3119         0, 259, 0, 263, 0, 267, 0, 271, 
3120         0, 275, 0, 279, 0, 283, 0, 287, 
3121         0, 291, 0, 295, 0, 299, 0, 302, 
3122         0, 306, 0, 310, 0, 314, 0, 318, 
3123         0, 323, 0, 327, 0, 331, 0, 335, 
3124         0, 339, 0, 343, 0, 347, 0, 351, 
3125         0, 355, 0, 359, 0, 363, 0, 367, 
3126         0, 371, 0, 375, 0, 379, 0, 383, 
3127         0, 387, 0, 391, 0, 395, 0, 399, 
3128         0, 403, 0, 407, 0, 411, 0, 415, 
3129         0, 419, 0, 423, 0, 427, 0, 431, 
3130         0, 435, 0, 439, 0, 443, 0, 447, 
3131         0, 451, 0, 455, 0, 459, 0, 463, 
3132         0, 467, 0, 471, 0, 475, 0, 479, 
3133         0, 483, 0, 487, 0, 491, 0, 495, 
3134         0, 499, 0, 503, 0, 507, 0, 511, 
3135         0, 515, 0, 519, 0, 523, 0, 527, 
3136         0, 531, 0, 535, 0, 539, 0, 543, 
3137         0, 547, 0, 551, 0, 555, 0, 559, 
3138         0, 563, 0, 567, 0, 571, 0, 575, 
3139         0, 579, 0, 583, 0, 587, 0, 591, 
3140         0, 595, 0, 599, 0, 603, 0, 607, 
3141         0, 610, 0, 611, 0, 615, 0, 618, 
3142         0, 623, 0, 627, 0, 631, 0, 635, 
3143         0, 638, 0, 643, 0, 647, 0, 651, 
3144         0, 655, 0, 659, 0, 663, 0, 667, 
3145         0, 671, 0, 675, 0, 679, 0, 683, 
3146         0, 687, 0, 691, 0, 694, 0, 698, 
3147         0, 702, 0, 703, 0, 707, 0, 711, 
3148         0, 715, 0, 719, 0, 723, 0, 726, 
3149         0, 727, 0, 730, 0, 731, 0, 735, 
3150         0, 739, 0, 743, 0, 747, 0, 750, 
3151         0, 755, 0, 758, 0, 763, 0, 767, 
3152         0, 771, 0, 775, 0, 779, 0, 782, 
3153         0, 786, 0, 791, 0, 795, 0, 798, 
3154         0, 803, 0, 807, 0, 811, 0, 815, 
3155         0, 819, 0, 823, 0, 827, 0, 831, 
3156         0, 835, 0, 839, 0, 843, 0, 847, 
3157         0, 851, 0, 855, 0, 859, 0, 863, 
3158         0, 867, 0, 871, 0, 875, 0, 879, 
3159         0, 883, 0, 886, 0, 891, 0, 895, 
3160         0, 899, 0, 903, 0, 907, 0, 911, 
3161         0, 915, 0, 919, 0, 923, 0, 927, 
3162         0, 931, 0, 935, 0, 939, 0, 943, 
3163         0, 947, 0, 951, 0, 955, 0, 959, 
3164         0, 963, 0, 967, 0, 970, 0, 974, 
3165         0, 978, 0, 983, 0, 986, 0, 991, 
3166         0, 995, 0, 23, 0, 27, 0, 31, 
3167         0, 35, 0, 39, 0, 43, 0, 47, 
3168         0, 51, 0, 55, 0, 59, 0, 63, 
3169         0, 67, 0, 1, 0
3170 };
3171
3172 int Parser_commitLen[] = {
3173         0, 0, 0, 0, 0, 0, 0, 0, 
3174         0, 0, 0, 0, 0, 0, 0, 0, 
3175         0, 0, 0, 0, 0, 0, 0, 0, 
3176         0, 0, 0, 0, 0, 0, 0, 0, 
3177         0, 0, 0, 0, 0, 0, 0, 0, 
3178         0, 0, 0, 0, 0, 0, 0, 0, 
3179         0, 0, 0, 0, 0, 0, 0, 0, 
3180         0, 0, 0, 0, 0, 0, 0, 0, 
3181         0, 0, 0, 0, 0, 0, 0, 0, 
3182         0, 0, 0, 0, 0, 0, 0, 0, 
3183         0, 0, 0, 0, 0, 0, 0, 0, 
3184         0, 0, 0, 0, 0, 0, 0, 0, 
3185         0, 0, 0, 0, 0, 0, 0, 0, 
3186         0, 0, 0, 0, 0, 0, 0, 0, 
3187         0, 0, 0, 0, 0, 0, 0, 0, 
3188         0, 0, 0, 0, 0, 0, 0, 0, 
3189         0, 0, 0, 0, 0, 0, 0, 0, 
3190         0, 0, 0, 0, 0, 0, 0, 0, 
3191         0, 0, 0, 0, 0, 0, 0, 0, 
3192         0, 0, 0, 0, 0, 0, 0, 0, 
3193         0, 0, 0, 0, 0, 0, 0, 0, 
3194         0, 0, 0, 0, 0, 0, 0, 0, 
3195         0, 0, 0, 0, 0, 0, 0, 0, 
3196         0, 0, 0, 0, 0, 0, 0, 0, 
3197         0, 0, 0, 0, 0, 0, 0, 0, 
3198         0, 0, 0, 0, 0, 0, 0, 0, 
3199         0, 0, 0, 0, 0, 0, 0, 0, 
3200         0, 0, 0, 0, 0, 0, 0, 0, 
3201         0, 0, 0, 0, 0, 0, 0, 0, 
3202         0, 0, 0, 0, 0, 0, 0, 0, 
3203         0, 0, 0, 0, 0, 0, 0, 0, 
3204         0, 0, 0, 0, 0, 0, 0, 0, 
3205         0, 0, 0, 0, 0, 0, 0, 0, 
3206         0, 0, 0, 0, 0, 0, 0, 0, 
3207         0, 0, 0, 0, 0, 0, 0, 0, 
3208         0, 0, 0, 0, 0, 0, 0, 0, 
3209         0, 0, 0, 0, 0, 0, 0, 0, 
3210         0, 0, 0, 0, 0, 0, 0, 0, 
3211         0, 0, 0, 0, 0, 0, 0, 0, 
3212         0, 0, 0, 0, 0, 0, 0, 0, 
3213         0, 0, 0, 0, 0, 0, 0, 0, 
3214         0, 0, 0, 0, 0, 0, 0, 0, 
3215         0, 0, 0, 0, 0, 0, 0, 0, 
3216         0, 0, 0, 0, 0, 0, 0, 0, 
3217         0, 0, 0, 0, 0, 0, 0, 0, 
3218         0, 0, 0, 0, 0, 0, 0, 0, 
3219         0, 0, 0, 0, 0, 0, 0, 0, 
3220         0, 0, 0, 0, 0, 0, 0, 0, 
3221         0, 0, 0, 0, 0, 0, 0, 0, 
3222         1, 1, 1, 1, 1, 1, 1, 1, 
3223         1, 1, 1, 1, 2
3224 };
3225
3226 char Parser_prodLengths[] = {
3227         1, 3, 0, 2, 0, 1, 1, 1, 
3228         1, 1, 1, 1, 1, 1, 1, 1, 
3229         1, 3, 4, 4, 1, 1, 0, 4, 
3230         5, 5, 1, 5, 4, 3, 4, 3, 
3231         3, 5, 2, 0, 1, 4, 2, 1, 
3232         1, 1, 3, 2, 1, 0, 3, 1, 
3233         3, 3, 3, 3, 1, 1, 2, 3, 
3234         3, 3, 3, 1, 3, 1, 3, 1, 
3235         3, 3, 7, 3, 4, 3, 3, 3, 
3236         3, 3, 7, 1, 1, 1, 1, 1, 
3237         1, 2, 1, 2, 1, 2, 1, 1, 
3238         1, 1, 2, 1, 2, 1, 2, 1, 
3239         2, 1, 2, 1, 2, 1, 2, 1, 
3240         2, 1, 2, 1, 2, 1, 2, 1, 
3241         2, 1, 2, 1, 2, 1, 2, 1, 
3242         2, 1, 2, 1, 2, 1, 2, 1, 
3243         2, 1, 2, 1, 2, 1, 2, 1, 
3244         2, 1, 2, 1, 2, 1, 2, 1, 
3245         2, 1, 2, 1, 2, 1, 3, 1, 
3246         1, 3, 1, 1, 1, 2, 2, 1, 
3247         2, 2, 2, 2, 4, 5, 5, 6, 
3248         1, 1, 2, 2, 1, 1, 1, 1, 
3249         3, 3, 3, 3, 3, 1, 1, 1, 
3250         2, 1, 2, 0, 2, 1, 3, 3, 
3251         1, 1, 2, 0, 1, 3, 2, 0, 
3252         1, 1, 1, 1, 1, 1, 1, 1, 
3253         1, 1, 2, 3, 3, 4, 3, 4, 
3254         3, 4, 2, 2, 2, 0, 1, 1, 
3255         1, 1, 1, 1, 1, 1, 1, 1, 
3256         1, 1, 1, 1, 1, 1, 1, 1, 
3257         1, 4, 2, 0, 2, 1, 0, 3, 
3258         1, 1
3259 };
3260
3261 unsigned short Parser_prodLhsIds[] = {
3262         227, 226, 226, 228, 228, 229, 229, 229, 
3263         229, 229, 229, 229, 229, 229, 229, 229, 
3264         229, 241, 239, 240, 243, 244, 244, 238, 
3265         230, 231, 245, 232, 233, 233, 234, 235, 
3266         236, 237, 250, 250, 247, 247, 251, 251, 
3267         252, 252, 252, 253, 253, 253, 246, 246, 
3268         256, 256, 256, 256, 256, 257, 258, 258, 
3269         258, 258, 258, 258, 259, 259, 260, 260, 
3270         262, 262, 262, 262, 262, 262, 262, 262, 
3271         262, 262, 262, 262, 263, 263, 263, 263, 
3272         266, 266, 266, 266, 266, 266, 266, 266, 
3273         266, 267, 267, 267, 267, 267, 267, 267, 
3274         267, 267, 267, 267, 267, 268, 268, 268, 
3275         268, 268, 268, 268, 268, 268, 268, 268, 
3276         268, 269, 269, 269, 269, 269, 269, 269, 
3277         269, 269, 269, 269, 269, 270, 270, 270, 
3278         270, 270, 270, 270, 270, 270, 270, 270, 
3279         270, 271, 271, 271, 271, 271, 271, 271, 
3280         271, 271, 271, 271, 271, 254, 254, 254, 
3281         274, 255, 265, 264, 275, 275, 275, 272, 
3282         273, 273, 273, 273, 273, 273, 273, 273, 
3283         273, 276, 277, 277, 277, 278, 278, 278, 
3284         278, 278, 278, 278, 278, 281, 281, 248, 
3285         248, 248, 280, 280, 282, 282, 283, 283, 
3286         283, 283, 279, 279, 284, 284, 242, 242, 
3287         285, 285, 285, 288, 288, 288, 288, 288, 
3288         288, 286, 286, 286, 286, 286, 286, 286, 
3289         286, 286, 286, 286, 249, 249, 291, 291, 
3290         291, 287, 287, 287, 287, 287, 287, 287, 
3291         292, 292, 292, 292, 292, 289, 289, 289, 
3292         289, 289, 261, 293, 290, 295, 295, 294, 
3293         294, 296
3294 };
3295
3296 const char *Parser_prodNames[] = {
3297         "start-1",
3298         "section_list-1",
3299         "section_list-2",
3300         "statement_list-1",
3301         "statement_list-2",
3302         "statement-1",
3303         "statement-2",
3304         "statement-3",
3305         "statement-4",
3306         "statement-5",
3307         "statement-6",
3308         "statement-7",
3309         "statement-8",
3310         "statement-9",
3311         "statement-10",
3312         "statement-11",
3313         "statement-12",
3314         "length_spec-1",
3315         "pre_push_spec-1",
3316         "post_pop_spec-1",
3317         "export_open-1",
3318         "opt_export-1",
3319         "opt_export-2",
3320         "export_block-1",
3321         "assignment-1",
3322         "instantiation-1",
3323         "machine_name-1",
3324         "action_spec-1",
3325         "alphtype_spec-1",
3326         "alphtype_spec-2",
3327         "range_spec-1",
3328         "getkey_spec-1",
3329         "access_spec-1",
3330         "variable_spec-1",
3331         "opt_whitespace-1",
3332         "opt_whitespace-2",
3333         "join_or_lm-1",
3334         "join_or_lm-2",
3335         "lm_part_list-1",
3336         "lm_part_list-2",
3337         "longest_match_part-1",
3338         "longest_match_part-2",
3339         "longest_match_part-3",
3340         "opt_lm_part_action-1",
3341         "opt_lm_part_action-2",
3342         "opt_lm_part_action-3",
3343         "join-1",
3344         "join-2",
3345         "expression-1",
3346         "expression-2",
3347         "expression-3",
3348         "expression-4",
3349         "expression-5",
3350         "term_short-1",
3351         "term-1",
3352         "term-2",
3353         "term-3",
3354         "term-4",
3355         "term-5",
3356         "term-6",
3357         "factor_with_label-1",
3358         "factor_with_label-2",
3359         "factor_with_ep-1",
3360         "factor_with_ep-2",
3361         "factor_with_aug-1",
3362         "factor_with_aug-2",
3363         "factor_with_aug-3",
3364         "factor_with_aug-4",
3365         "factor_with_aug-5",
3366         "factor_with_aug-6",
3367         "factor_with_aug-7",
3368         "factor_with_aug-8",
3369         "factor_with_aug-9",
3370         "factor_with_aug-10",
3371         "factor_with_aug-11",
3372         "factor_with_aug-12",
3373         "aug_type_base-1",
3374         "aug_type_base-2",
3375         "aug_type_base-3",
3376         "aug_type_base-4",
3377         "aug_type_cond-1",
3378         "aug_type_cond-2",
3379         "aug_type_cond-3",
3380         "aug_type_cond-4",
3381         "aug_type_cond-5",
3382         "aug_type_cond-6",
3383         "aug_type_cond-7",
3384         "aug_type_cond-8",
3385         "aug_type_cond-9",
3386         "aug_type_to_state-1",
3387         "aug_type_to_state-2",
3388         "aug_type_to_state-3",
3389         "aug_type_to_state-4",
3390         "aug_type_to_state-5",
3391         "aug_type_to_state-6",
3392         "aug_type_to_state-7",
3393         "aug_type_to_state-8",
3394         "aug_type_to_state-9",
3395         "aug_type_to_state-10",
3396         "aug_type_to_state-11",
3397         "aug_type_to_state-12",
3398         "aug_type_from_state-1",
3399         "aug_type_from_state-2",
3400         "aug_type_from_state-3",
3401         "aug_type_from_state-4",
3402         "aug_type_from_state-5",
3403         "aug_type_from_state-6",
3404         "aug_type_from_state-7",
3405         "aug_type_from_state-8",
3406         "aug_type_from_state-9",
3407         "aug_type_from_state-10",
3408         "aug_type_from_state-11",
3409         "aug_type_from_state-12",
3410         "aug_type_eof-1",
3411         "aug_type_eof-2",
3412         "aug_type_eof-3",
3413         "aug_type_eof-4",
3414         "aug_type_eof-5",
3415         "aug_type_eof-6",
3416         "aug_type_eof-7",
3417         "aug_type_eof-8",
3418         "aug_type_eof-9",
3419         "aug_type_eof-10",
3420         "aug_type_eof-11",
3421         "aug_type_eof-12",
3422         "aug_type_gbl_error-1",
3423         "aug_type_gbl_error-2",
3424         "aug_type_gbl_error-3",
3425         "aug_type_gbl_error-4",
3426         "aug_type_gbl_error-5",
3427         "aug_type_gbl_error-6",
3428         "aug_type_gbl_error-7",
3429         "aug_type_gbl_error-8",
3430         "aug_type_gbl_error-9",
3431         "aug_type_gbl_error-10",
3432         "aug_type_gbl_error-11",
3433         "aug_type_gbl_error-12",
3434         "aug_type_local_error-1",
3435         "aug_type_local_error-2",
3436         "aug_type_local_error-3",
3437         "aug_type_local_error-4",
3438         "aug_type_local_error-5",
3439         "aug_type_local_error-6",
3440         "aug_type_local_error-7",
3441         "aug_type_local_error-8",
3442         "aug_type_local_error-9",
3443         "aug_type_local_error-10",
3444         "aug_type_local_error-11",
3445         "aug_type_local_error-12",
3446         "action_embed-1",
3447         "action_embed-2",
3448         "action_embed-3",
3449         "action_embed_word-1",
3450         "action_embed_block-1",
3451         "priority_name-1",
3452         "priority_aug-1",
3453         "priority_aug_num-1",
3454         "priority_aug_num-2",
3455         "priority_aug_num-3",
3456         "local_err_name-1",
3457         "factor_with_rep-1",
3458         "factor_with_rep-2",
3459         "factor_with_rep-3",
3460         "factor_with_rep-4",
3461         "factor_with_rep-5",
3462         "factor_with_rep-6",
3463         "factor_with_rep-7",
3464         "factor_with_rep-8",
3465         "factor_with_rep-9",
3466         "factor_rep_num-1",
3467         "factor_with_neg-1",
3468         "factor_with_neg-2",
3469         "factor_with_neg-3",
3470         "factor-1",
3471         "factor-2",
3472         "factor-3",
3473         "factor-4",
3474         "factor-5",
3475         "factor-6",
3476         "factor-7",
3477         "factor-8",
3478         "range_lit-1",
3479         "range_lit-2",
3480         "alphabet_num-1",
3481         "alphabet_num-2",
3482         "alphabet_num-3",
3483         "regular_expr-1",
3484         "regular_expr-2",
3485         "regular_expr_item-1",
3486         "regular_expr_item-2",
3487         "regular_expr_char-1",
3488         "regular_expr_char-2",
3489         "regular_expr_char-3",
3490         "regular_expr_char-4",
3491         "regular_expr_or_data-1",
3492         "regular_expr_or_data-2",
3493         "regular_expr_or_char-1",
3494         "regular_expr_or_char-2",
3495         "inline_block-1",
3496         "inline_block-2",
3497         "inline_block_item-1",
3498         "inline_block_item-2",
3499         "inline_block_item-3",
3500         "inline_block_symbol-1",
3501         "inline_block_symbol-2",
3502         "inline_block_symbol-3",
3503         "inline_block_symbol-4",
3504         "inline_block_symbol-5",
3505         "inline_block_symbol-6",
3506         "inline_block_interpret-1",
3507         "inline_block_interpret-2",
3508         "inline_block_interpret-3",
3509         "inline_block_interpret-4",
3510         "inline_block_interpret-5",
3511         "inline_block_interpret-6",
3512         "inline_block_interpret-7",
3513         "inline_block_interpret-8",
3514         "inline_block_interpret-9",
3515         "inline_block_interpret-10",
3516         "inline_block_interpret-11",
3517         "inline_expr-1",
3518         "inline_expr-2",
3519         "inline_expr_item-1",
3520         "inline_expr_item-2",
3521         "inline_expr_item-3",
3522         "inline_expr_any-1",
3523         "inline_expr_any-2",
3524         "inline_expr_any-3",
3525         "inline_expr_any-4",
3526         "inline_expr_any-5",
3527         "inline_expr_any-6",
3528         "inline_expr_any-7",
3529         "inline_expr_symbol-1",
3530         "inline_expr_symbol-2",
3531         "inline_expr_symbol-3",
3532         "inline_expr_symbol-4",
3533         "inline_expr_symbol-5",
3534         "inline_expr_interpret-1",
3535         "inline_expr_interpret-2",
3536         "inline_expr_interpret-3",
3537         "inline_expr_interpret-4",
3538         "inline_expr_interpret-5",
3539         "local_state_ref-1",
3540         "no_name_sep-1",
3541         "state_ref-1",
3542         "opt_name_sep-1",
3543         "opt_name_sep-2",
3544         "state_ref_names-1",
3545         "state_ref_names-2",
3546         "_start-1"
3547 };
3548
3549 const char *Parser_lelNames[] = {
3550         "D-0",
3551         "D-1",
3552         "D-2",
3553         "D-3",
3554         "D-4",
3555         "D-5",
3556         "D-6",
3557         "D-7",
3558         "D-8",
3559         "D-9",
3560         "D-10",
3561         "D-11",
3562         "D-12",
3563         "D-13",
3564         "D-14",
3565         "D-15",
3566         "D-16",
3567         "D-17",
3568         "D-18",
3569         "D-19",
3570         "D-20",
3571         "D-21",
3572         "D-22",
3573         "D-23",
3574         "D-24",
3575         "D-25",
3576         "D-26",
3577         "D-27",
3578         "D-28",
3579         "D-29",
3580         "D-30",
3581         "D-31",
3582         "D-32",
3583         "!",
3584         "\"",
3585         "#",
3586         "$",
3587         "%",
3588         "&",
3589         "'",
3590         "(",
3591         ")",
3592         "*",
3593         "+",
3594         ",",
3595         "-",
3596         ".",
3597         "/",
3598         "0",
3599         "1",
3600         "2",
3601         "3",
3602         "4",
3603         "5",
3604         "6",
3605         "7",
3606         "8",
3607         "9",
3608         ":",
3609         ";",
3610         "<",
3611         "=",
3612         ">",
3613         "?",
3614         "@",
3615         "A",
3616         "B",
3617         "C",
3618         "D",
3619         "E",
3620         "F",
3621         "G",
3622         "H",
3623         "I",
3624         "J",
3625         "K",
3626         "L",
3627         "M",
3628         "N",
3629         "O",
3630         "P",
3631         "Q",
3632         "R",
3633         "S",
3634         "T",
3635         "U",
3636         "V",
3637         "W",
3638         "X",
3639         "Y",
3640         "Z",
3641         "[",
3642         "\\",
3643         "]",
3644         "^",
3645         "_",
3646         "`",
3647         "a",
3648         "b",
3649         "c",
3650         "d",
3651         "e",
3652         "f",
3653         "g",
3654         "h",
3655         "i",
3656         "j",
3657         "k",
3658         "l",
3659         "m",
3660         "n",
3661         "o",
3662         "p",
3663         "q",
3664         "r",
3665         "s",
3666         "t",
3667         "u",
3668         "v",
3669         "w",
3670         "x",
3671         "y",
3672         "z",
3673         "{",
3674         "|",
3675         "}",
3676         "~",
3677         "D-127",
3678         "TK_Word",
3679         "TK_Literal",
3680         "TK_Number",
3681         "TK_EndSection",
3682         "TK_UInt",
3683         "TK_Hex",
3684         "TK_DotDot",
3685         "TK_ColonGt",
3686         "TK_ColonGtGt",
3687         "TK_LtColon",
3688         "TK_Arrow",
3689         "TK_DoubleArrow",
3690         "TK_StarStar",
3691         "TK_ColonEquals",
3692         "TK_NameSep",
3693         "TK_BarStar",
3694         "TK_DashDash",
3695         "TK_StartCond",
3696         "TK_AllCond",
3697         "TK_LeavingCond",
3698         "TK_Middle",
3699         "TK_StartGblError",
3700         "TK_AllGblError",
3701         "TK_FinalGblError",
3702         "TK_NotFinalGblError",
3703         "TK_NotStartGblError",
3704         "TK_MiddleGblError",
3705         "TK_StartLocalError",
3706         "TK_AllLocalError",
3707         "TK_FinalLocalError",
3708         "TK_NotFinalLocalError",
3709         "TK_NotStartLocalError",
3710         "TK_MiddleLocalError",
3711         "TK_StartEOF",
3712         "TK_AllEOF",
3713         "TK_FinalEOF",
3714         "TK_NotFinalEOF",
3715         "TK_NotStartEOF",
3716         "TK_MiddleEOF",
3717         "TK_StartToState",
3718         "TK_AllToState",
3719         "TK_FinalToState",
3720         "TK_NotFinalToState",
3721         "TK_NotStartToState",
3722         "TK_MiddleToState",
3723         "TK_StartFromState",
3724         "TK_AllFromState",
3725         "TK_FinalFromState",
3726         "TK_NotFinalFromState",
3727         "TK_NotStartFromState",
3728         "TK_MiddleFromState",
3729         "RE_Slash",
3730         "RE_SqOpen",
3731         "RE_SqOpenNeg",
3732         "RE_SqClose",
3733         "RE_Dot",
3734         "RE_Star",
3735         "RE_Dash",
3736         "RE_Char",
3737         "IL_WhiteSpace",
3738         "IL_Comment",
3739         "IL_Literal",
3740         "IL_Symbol",
3741         "KW_Machine",
3742         "KW_Include",
3743         "KW_Import",
3744         "KW_Write",
3745         "KW_Action",
3746         "KW_AlphType",
3747         "KW_Range",
3748         "KW_GetKey",
3749         "KW_InWhen",
3750         "KW_When",
3751         "KW_OutWhen",
3752         "KW_Eof",
3753         "KW_Err",
3754         "KW_Lerr",
3755         "KW_To",
3756         "KW_From",
3757         "KW_Export",
3758         "KW_PrePush",
3759         "KW_PostPop",
3760         "KW_Length",
3761         "KW_Break",
3762         "KW_Exec",
3763         "KW_Hold",
3764         "KW_PChar",
3765         "KW_Char",
3766         "KW_Goto",
3767         "KW_Call",
3768         "KW_Ret",
3769         "KW_CurState",
3770         "KW_TargState",
3771         "KW_Entry",
3772         "KW_Next",
3773         "KW_Variable",
3774         "KW_Access",
3775         "Parser_tk_eof",
3776         "section_list",
3777         "start",
3778         "statement_list",
3779         "statement",
3780         "assignment",
3781         "instantiation",
3782         "action_spec",
3783         "alphtype_spec",
3784         "range_spec",
3785         "getkey_spec",
3786         "access_spec",
3787         "variable_spec",
3788         "export_block",
3789         "pre_push_spec",
3790         "post_pop_spec",
3791         "length_spec",
3792         "inline_block",
3793         "export_open",
3794         "opt_export",
3795         "machine_name",
3796         "join",
3797         "join_or_lm",
3798         "alphabet_num",
3799         "inline_expr",
3800         "opt_whitespace",
3801         "lm_part_list",
3802         "longest_match_part",
3803         "opt_lm_part_action",
3804         "action_embed",
3805         "action_embed_block",
3806         "expression",
3807         "term_short",
3808         "term",
3809         "factor_with_label",
3810         "factor_with_ep",
3811         "local_state_ref",
3812         "factor_with_aug",
3813         "aug_type_base",
3814         "priority_aug",
3815         "priority_name",
3816         "aug_type_cond",
3817         "aug_type_to_state",
3818         "aug_type_from_state",
3819         "aug_type_eof",
3820         "aug_type_gbl_error",
3821         "aug_type_local_error",
3822         "local_err_name",
3823         "factor_with_rep",
3824         "action_embed_word",
3825         "priority_aug_num",
3826         "factor_rep_num",
3827         "factor_with_neg",
3828         "factor",
3829         "regular_expr_or_data",
3830         "regular_expr",
3831         "range_lit",
3832         "regular_expr_item",
3833         "regular_expr_char",
3834         "regular_expr_or_char",
3835         "inline_block_item",
3836         "inline_block_interpret",
3837         "inline_expr_any",
3838         "inline_block_symbol",
3839         "inline_expr_interpret",
3840         "state_ref",
3841         "inline_expr_item",
3842         "inline_expr_symbol",
3843         "no_name_sep",
3844         "state_ref_names",
3845         "opt_name_sep",
3846         "_start"
3847 };
3848
3849 #line 1449 "rlparse.kl"
3850
3851
3852 void Parser::init()
3853 {
3854         #line 3855 "rlparse.cpp"
3855         curs = Parser_startState;
3856         pool = 0;
3857         block = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
3858         block->next = 0;
3859         freshEl = block->data;
3860         #ifdef KELBT_LOG_ACTIONS
3861         cerr << "allocating 8128 LangEls" << endl;
3862         #endif
3863         stackTop = freshEl;
3864         stackTop->type = 0;
3865         stackTop->state = -1;
3866         stackTop->next = 0;
3867         stackTop->child = 0;
3868         stackTop->causeReduce = 0;
3869         freshPos = 1;
3870         lastFinal = stackTop;
3871         numRetry = 0;
3872         numNodes = 0;
3873         errCount = 0;
3874 #line 1454 "rlparse.kl"
3875 }
3876
3877 int Parser::parseLangEl( int type, const Token *token )
3878 {
3879         #line 3880 "rlparse.cpp"
3880 #define reject() induceReject = 1
3881
3882         int pos, targState;
3883         unsigned int *action;
3884         int rhsLen;
3885         struct Parser_LangEl *rhs[32];
3886         struct Parser_LangEl *lel = 0;
3887         struct Parser_LangEl *input = 0;
3888         struct Parser_LangEl *queue = 0;
3889         char induceReject;
3890
3891         if ( curs < 0 )
3892                 return 0;
3893
3894         if ( pool == 0 ) {
3895                 if ( freshPos == 8128 ) {
3896                         struct Parser_Block* newBlock  = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
3897                         newBlock->next = block;
3898                         block = newBlock;
3899                         freshEl = newBlock->data;
3900                         #ifdef KELBT_LOG_ACTIONS
3901                         cerr << "allocating 8128 LangEls" << endl;
3902                         #endif
3903                         freshPos = 0;
3904                 }
3905                 queue = freshEl + freshPos++;
3906         }
3907         else {
3908                 queue = pool;
3909                 pool = pool->next;
3910         }
3911         numNodes += 1;
3912
3913         queue->type = type;
3914         queue->user.token = *token;
3915         queue->next = 0;
3916         queue->retry = 0;
3917         queue->child = 0;
3918         queue->causeReduce = 0;
3919
3920 again:
3921         if ( input == 0 ) {
3922                 if ( queue == 0 )
3923                         goto _out;
3924
3925                 input = queue;
3926                 queue = queue->next;
3927                 input->next = 0;
3928         }
3929
3930         lel = input;
3931         if ( lel->type < Parser_keys[curs<<1] || lel->type > Parser_keys[(curs<<1)+1] )
3932                 goto parseError;
3933
3934         pos = Parser_indicies[Parser_offsets[curs] + (lel->type - Parser_keys[curs<<1])];
3935         if ( pos < 0 )
3936                 goto parseError;
3937
3938         induceReject = 0;
3939         targState = Parser_targs[pos];
3940         action = Parser_actions + Parser_actInds[pos];
3941         if ( lel->retry & 0x0000ffff )
3942                 action += (lel->retry & 0x0000ffff);
3943
3944         if ( *action & 0x1 ) {
3945                 #ifdef KELBT_LOG_ACTIONS
3946                 cerr << "shifted: " << Parser_lelNames[lel->type];
3947                 #endif
3948                 input = input->next;
3949                 lel->state = curs;
3950                 lel->next = stackTop;
3951                 stackTop = lel;
3952
3953                 if ( action[1] == 0 )
3954                         lel->retry &= 0xffff0000;
3955                 else {
3956                         lel->retry += 1;
3957                         numRetry += 1;
3958                         #ifdef KELBT_LOG_ACTIONS
3959                         cerr << " retry: " << stackTop;
3960                         #endif
3961                 }
3962                 #ifdef KELBT_LOG_ACTIONS
3963                 cerr << endl;
3964                 #endif
3965         }
3966
3967         if ( Parser_commitLen[pos] != 0 ) {
3968                 struct Parser_LangEl *commitHead = stackTop, *lel;
3969                 int sp = 0, doExec = 0;
3970                 #ifdef KELBT_LOG_ACTIONS
3971                 cerr << "commit encountered, executing final actions" << endl;
3972                 #endif
3973                 if ( Parser_commitLen[pos] < 0 )
3974                         commitHead = commitHead->next;
3975
3976                 lel = commitHead;
3977
3978 commit_head:
3979                 if ( lel == lastFinal ) {
3980                         doExec = 1;
3981                         goto commit_base;
3982                 }
3983
3984                 if ( lel->next != 0 ) {
3985                         sp += 1;
3986                         lel->next->prev = lel;
3987                         lel = lel->next;
3988                         lel->retry = 0;
3989                         goto commit_head;
3990                 }
3991
3992 commit_reverse:
3993
3994                 if ( lel->child != 0 ) {
3995                         sp += 1;
3996                         lel->child->prev = lel;
3997                         lel = lel->child;
3998                         lel->retry = 1;
3999                         goto commit_head;
4000                 }
4001
4002 commit_upwards:
4003
4004                 if ( doExec ) {
4005                         if ( lel->type < 226 ) {
4006                         }
4007                         else {
4008                                 struct Parser_LangEl *redLel = lel;
4009                                 if ( redLel->child != 0 ) {
4010                                         int r = Parser_prodLengths[redLel->reduction] - 1;
4011                                         struct Parser_LangEl *rhsEl = redLel->child;
4012                                         while ( rhsEl != 0 ) {
4013                                                 rhs[r--] = rhsEl;
4014                                                 rhsEl = rhsEl->next;
4015                                         }
4016                                 }
4017 switch ( lel->reduction ) {
4018 case 17: {
4019 #line 61 "rlparse.kl"
4020
4021                 LengthDef *lengthDef = new LengthDef( (&rhs[1]->user.token)->data );
4022                 pd->lengthDefList.append( lengthDef );
4023
4024                 /* Generic creation of machine for instantiation and assignment. */
4025                 MachineDef *machineDef = new MachineDef( lengthDef );
4026                 tryMachineDef( (&rhs[1]->user.token)->loc, (&rhs[1]->user.token)->data, machineDef, false );
4027         
4028
4029 #line 4028 "rlparse.cpp"
4030 } break;
4031 case 18: {
4032 #line 72 "rlparse.kl"
4033
4034                 if ( pd->prePushExpr != 0 ) {
4035                         /* Recover by just ignoring the duplicate. */
4036                         error((&rhs[1]->user.token)->loc) << "pre_push code already defined" << endl;
4037                 }
4038
4039                 pd->prePushExpr = (&rhs[2]->user.inline_list)->inlineList;
4040         
4041
4042 #line 4041 "rlparse.cpp"
4043 } break;
4044 case 19: {
4045 #line 84 "rlparse.kl"
4046
4047                 if ( pd->postPopExpr != 0 ) {
4048                         /* Recover by just ignoring the duplicate. */
4049                         error((&rhs[1]->user.token)->loc) << "post_pop code already defined" << endl;
4050                 }
4051
4052                 pd->postPopExpr = (&rhs[2]->user.inline_list)->inlineList;
4053         
4054
4055 #line 4054 "rlparse.cpp"
4056 } break;
4057 case 20: {
4058 #line 95 "rlparse.kl"
4059
4060                 exportContext.append( true );
4061         
4062
4063 #line 4062 "rlparse.cpp"
4064 } break;
4065 case 21: {
4066 #line 104 "rlparse.kl"
4067  (&redLel->user.opt_export)->isSet = true; 
4068
4069 #line 4068 "rlparse.cpp"
4070 } break;
4071 case 22: {
4072 #line 105 "rlparse.kl"
4073  (&redLel->user.opt_export)->isSet = false; 
4074
4075 #line 4074 "rlparse.cpp"
4076 } break;
4077 case 23: {
4078 #line 108 "rlparse.kl"
4079
4080                 exportContext.remove( exportContext.length()-1 );
4081         
4082
4083 #line 4082 "rlparse.cpp"
4084 } break;
4085 case 24: {
4086 #line 113 "rlparse.kl"
4087
4088                 /* Main machine must be an instance. */
4089                 bool isInstance = false;
4090                 if ( strcmp((&rhs[1]->user.token_type)->token.data, mainMachine) == 0 ) {
4091                         warning((&rhs[1]->user.token_type)->token.loc) << 
4092                                         "main machine will be implicitly instantiated" << endl;
4093                         isInstance = true;
4094                 }
4095
4096                 /* Generic creation of machine for instantiation and assignment. */
4097                 MachineDef *machineDef = new MachineDef( (&rhs[3]->user.join)->join );
4098                 tryMachineDef( (&rhs[1]->user.token_type)->token.loc, (&rhs[1]->user.token_type)->token.data, machineDef, isInstance );
4099
4100                 if ( (&rhs[0]->user.opt_export)->isSet )
4101                         exportContext.remove( exportContext.length()-1 );
4102
4103                 (&rhs[3]->user.join)->join->loc = (&rhs[2]->user.token)->loc;
4104         
4105
4106 #line 4105 "rlparse.cpp"
4107 } break;
4108 case 25: {
4109 #line 133 "rlparse.kl"
4110
4111                 /* Generic creation of machine for instantiation and assignment. */
4112                 tryMachineDef( (&rhs[1]->user.token_type)->token.loc, (&rhs[1]->user.token_type)->token.data, (&rhs[3]->user.join_or_lm)->machineDef, true );
4113
4114                 if ( (&rhs[0]->user.opt_export)->isSet )
4115                         exportContext.remove( exportContext.length()-1 );
4116
4117                 /* Pass a location to join_or_lm */
4118                 if ( (&rhs[3]->user.join_or_lm)->machineDef->join != 0 )
4119                         (&rhs[3]->user.join_or_lm)->machineDef->join->loc = (&rhs[2]->user.token)->loc;
4120         
4121
4122 #line 4121 "rlparse.cpp"
4123 } break;
4124 case 26: {
4125 #line 153 "rlparse.kl"
4126
4127                 /* Make/get the priority key. The name may have already been referenced
4128                  * and therefore exist. */
4129                 PriorDictEl *priorDictEl;
4130                 if ( pd->priorDict.insert( (&rhs[0]->user.token)->data, pd->nextPriorKey, &priorDictEl ) )
4131                         pd->nextPriorKey += 1;
4132                 pd->curDefPriorKey = priorDictEl->value;
4133
4134                 /* Make/get the local error key. */
4135                 LocalErrDictEl *localErrDictEl;
4136                 if ( pd->localErrDict.insert( (&rhs[0]->user.token)->data, pd->nextLocalErrKey, &localErrDictEl ) )
4137                         pd->nextLocalErrKey += 1;
4138                 pd->curDefLocalErrKey = localErrDictEl->value;
4139
4140                 (&redLel->user.token_type)->token = *(&rhs[0]->user.token);
4141         
4142
4143 #line 4142 "rlparse.cpp"
4144 } break;
4145 case 27: {
4146 #line 171 "rlparse.kl"
4147
4148                 if ( pd->actionDict.find( (&rhs[1]->user.token)->data ) ) {
4149                         /* Recover by just ignoring the duplicate. */
4150                         error((&rhs[1]->user.token)->loc) << "action \"" << (&rhs[1]->user.token)->data << "\" already defined" << endl;
4151                 }
4152                 else {
4153                         //cerr << "NEW ACTION " << $2->data << " " << $4->inlineList << endl;
4154                         /* Add the action to the list of actions. */
4155                         Action *newAction = new Action( (&rhs[2]->user.token)->loc, (&rhs[1]->user.token)->data, 
4156                                         (&rhs[3]->user.inline_list)->inlineList, pd->nextCondId++ );
4157
4158                         /* Insert to list and dict. */
4159                         pd->actionList.append( newAction );
4160                         pd->actionDict.insert( newAction );
4161                 }
4162         
4163
4164 #line 4163 "rlparse.cpp"
4165 } break;
4166 case 28: {
4167 #line 191 "rlparse.kl"
4168
4169                 if ( ! pd->setAlphType( (&rhs[0]->user.token)->loc, (&rhs[1]->user.token)->data, (&rhs[2]->user.token)->data ) ) {
4170                         // Recover by ignoring the alphtype statement.
4171                         error((&rhs[1]->user.token)->loc) << "\"" << (&rhs[1]->user.token)->data << 
4172                                         " " << (&rhs[2]->user.token)->data << "\" is not a valid alphabet type" << endl;
4173                 }
4174         
4175
4176 #line 4175 "rlparse.cpp"
4177 } break;
4178 case 29: {
4179 #line 200 "rlparse.kl"
4180
4181                 if ( ! pd->setAlphType( (&rhs[0]->user.token)->loc, (&rhs[1]->user.token)->data ) ) {
4182                         // Recover by ignoring the alphtype statement.
4183                         error((&rhs[1]->user.token)->loc) << "\"" << (&rhs[1]->user.token)->data << 
4184                                         "\" is not a valid alphabet type" << endl;
4185                 }
4186         
4187
4188 #line 4187 "rlparse.cpp"
4189 } break;
4190 case 30: {
4191 #line 210 "rlparse.kl"
4192
4193                 // Save the upper and lower ends of the range and emit the line number.
4194                 pd->lowerNum = (&rhs[1]->user.token_type)->token.data;
4195                 pd->upperNum = (&rhs[2]->user.token_type)->token.data;
4196                 pd->rangeLowLoc = (&rhs[1]->user.token_type)->token.loc;
4197                 pd->rangeHighLoc = (&rhs[2]->user.token_type)->token.loc;
4198         
4199
4200 #line 4199 "rlparse.cpp"
4201 } break;
4202 case 31: {
4203 #line 219 "rlparse.kl"
4204
4205                 pd->getKeyExpr = (&rhs[1]->user.inline_list)->inlineList;
4206         
4207
4208 #line 4207 "rlparse.cpp"
4209 } break;
4210 case 32: {
4211 #line 224 "rlparse.kl"
4212
4213                 pd->accessExpr = (&rhs[1]->user.inline_list)->inlineList;
4214         
4215
4216 #line 4215 "rlparse.cpp"
4217 } break;
4218 case 33: {
4219 #line 229 "rlparse.kl"
4220
4221                 /* FIXME: Need to implement the rest of this. */
4222                 bool wasSet = pd->setVariable( (&rhs[2]->user.token)->data, (&rhs[3]->user.inline_list)->inlineList );
4223                 if ( !wasSet )
4224                         error((&rhs[2]->user.token)->loc) << "bad variable name" << endl;
4225         
4226
4227 #line 4226 "rlparse.cpp"
4228 } break;
4229 case 36: {
4230 #line 249 "rlparse.kl"
4231
4232                 (&redLel->user.join_or_lm)->machineDef = new MachineDef( (&rhs[0]->user.join)->join );
4233         
4234
4235 #line 4234 "rlparse.cpp"
4236 } break;
4237 case 37: {
4238 #line 253 "rlparse.kl"
4239
4240                 /* Create a new factor going to a longest match structure. Record
4241                  * in the parse data that we have a longest match. */
4242                 LongestMatch *lm = new LongestMatch( (&rhs[0]->user.token)->loc, (&rhs[1]->user.lm_part_list)->lmPartList );
4243                 pd->lmList.append( lm );
4244                 for ( LmPartList::Iter lmp = *((&rhs[1]->user.lm_part_list)->lmPartList); lmp.lte(); lmp++ )
4245                         lmp->longestMatch = lm;
4246                 (&redLel->user.join_or_lm)->machineDef = new MachineDef( lm );
4247         
4248
4249 #line 4248 "rlparse.cpp"
4250 } break;
4251 case 38: {
4252 #line 270 "rlparse.kl"
4253
4254                 if ( (&rhs[1]->user.longest_match_part)->lmPart != 0 ) 
4255                         (&rhs[0]->user.lm_part_list)->lmPartList->append( (&rhs[1]->user.longest_match_part)->lmPart );
4256                 (&redLel->user.lm_part_list)->lmPartList = (&rhs[0]->user.lm_part_list)->lmPartList;
4257         
4258
4259 #line 4258 "rlparse.cpp"
4260 } break;
4261 case 39: {
4262 #line 277 "rlparse.kl"
4263
4264                 /* Create a new list with the part. */
4265                 (&redLel->user.lm_part_list)->lmPartList = new LmPartList;
4266                 if ( (&rhs[0]->user.longest_match_part)->lmPart != 0 )
4267                         (&redLel->user.lm_part_list)->lmPartList->append( (&rhs[0]->user.longest_match_part)->lmPart );
4268         
4269
4270 #line 4269 "rlparse.cpp"
4271 } break;
4272 case 40: {
4273 #line 290 "rlparse.kl"
4274  (&redLel->user.longest_match_part)->lmPart = 0; 
4275
4276 #line 4275 "rlparse.cpp"
4277 } break;
4278 case 41: {
4279 #line 292 "rlparse.kl"
4280  (&redLel->user.longest_match_part)->lmPart = 0; 
4281
4282 #line 4281 "rlparse.cpp"
4283 } break;
4284 case 42: {
4285 #line 294 "rlparse.kl"
4286
4287                 (&redLel->user.longest_match_part)->lmPart = 0;
4288                 Action *action = (&rhs[1]->user.opt_lm_part_action)->action;
4289                 if ( action != 0 )
4290                         action->isLmAction = true;
4291                 (&redLel->user.longest_match_part)->lmPart = new LongestMatchPart( (&rhs[0]->user.join)->join, action, 
4292                                 (&rhs[2]->user.token)->loc, pd->nextLongestMatchId++ );
4293
4294                 /* Provide a location to join. Unfortunately We don't
4295                  * have the start of the join as in other occurances. Use the end. */
4296                 (&rhs[0]->user.join)->join->loc = (&rhs[2]->user.token)->loc;
4297         
4298
4299 #line 4298 "rlparse.cpp"
4300 } break;
4301 case 43: {
4302 #line 313 "rlparse.kl"
4303  
4304                 (&redLel->user.opt_lm_part_action)->action = (&rhs[1]->user.action_ref)->action;
4305         
4306
4307 #line 4306 "rlparse.cpp"
4308 } break;
4309 case 44: {
4310 #line 317 "rlparse.kl"
4311
4312                 (&redLel->user.opt_lm_part_action)->action = (&rhs[0]->user.action_ref)->action;
4313         
4314
4315 #line 4314 "rlparse.cpp"
4316 } break;
4317 case 45: {
4318 #line 321 "rlparse.kl"
4319
4320                 (&redLel->user.opt_lm_part_action)->action = 0;
4321         
4322
4323 #line 4322 "rlparse.cpp"
4324 } break;
4325 case 46: {
4326 #line 332 "rlparse.kl"
4327
4328                 /* Append the expression to the list and return it. */
4329                 (&rhs[0]->user.join)->join->exprList.append( (&rhs[2]->user.expression)->expression );
4330                 (&redLel->user.join)->join = (&rhs[0]->user.join)->join;
4331         
4332
4333 #line 4332 "rlparse.cpp"
4334 } break;
4335 case 47: {
4336 #line 338 "rlparse.kl"
4337
4338                 (&redLel->user.join)->join = new Join( (&rhs[0]->user.expression)->expression );
4339         
4340
4341 #line 4340 "rlparse.cpp"
4342 } break;
4343 case 48: {
4344 #line 348 "rlparse.kl"
4345
4346                 (&redLel->user.expression)->expression = new Expression( (&rhs[0]->user.expression)->expression, 
4347                                 (&rhs[2]->user.term_short)->term, Expression::OrType );
4348         
4349
4350 #line 4349 "rlparse.cpp"
4351 } break;
4352 case 49: {
4353 #line 353 "rlparse.kl"
4354
4355                 (&redLel->user.expression)->expression = new Expression( (&rhs[0]->user.expression)->expression, 
4356                                 (&rhs[2]->user.term_short)->term, Expression::IntersectType );
4357         
4358
4359 #line 4358 "rlparse.cpp"
4360 } break;
4361 case 50: {
4362 #line 358 "rlparse.kl"
4363
4364                 (&redLel->user.expression)->expression = new Expression( (&rhs[0]->user.expression)->expression, 
4365                                 (&rhs[2]->user.term_short)->term, Expression::SubtractType );
4366         
4367
4368 #line 4367 "rlparse.cpp"
4369 } break;
4370 case 51: {
4371 #line 363 "rlparse.kl"
4372
4373                 (&redLel->user.expression)->expression = new Expression( (&rhs[0]->user.expression)->expression, 
4374                                 (&rhs[2]->user.term_short)->term, Expression::StrongSubtractType );
4375         
4376
4377 #line 4376 "rlparse.cpp"
4378 } break;
4379 case 52: {
4380 #line 368 "rlparse.kl"
4381
4382                 (&redLel->user.expression)->expression = new Expression( (&rhs[0]->user.term_short)->term );
4383         
4384
4385 #line 4384 "rlparse.cpp"
4386 } break;
4387 case 53: {
4388 #line 389 "rlparse.kl"
4389
4390                 (&redLel->user.term_short)->term = (&rhs[0]->user.term)->term;
4391         
4392
4393 #line 4392 "rlparse.cpp"
4394 } break;
4395 case 54: {
4396 #line 399 "rlparse.kl"
4397
4398                 (&redLel->user.term)->term = new Term( (&rhs[0]->user.term)->term, (&rhs[1]->user.factor_with_label)->factorWithAug );
4399         
4400
4401 #line 4400 "rlparse.cpp"
4402 } break;
4403 case 55: {
4404 #line 403 "rlparse.kl"
4405
4406                 (&redLel->user.term)->term = new Term( (&rhs[0]->user.term)->term, (&rhs[2]->user.factor_with_label)->factorWithAug );
4407         
4408
4409 #line 4408 "rlparse.cpp"
4410 } break;
4411 case 56: {
4412 #line 407 "rlparse.kl"
4413
4414                 (&redLel->user.term)->term = new Term( (&rhs[0]->user.term)->term, (&rhs[2]->user.factor_with_label)->factorWithAug, Term::RightStartType );
4415         
4416
4417 #line 4416 "rlparse.cpp"
4418 } break;
4419 case 57: {
4420 #line 411 "rlparse.kl"
4421
4422                 (&redLel->user.term)->term = new Term( (&rhs[0]->user.term)->term, (&rhs[2]->user.factor_with_label)->factorWithAug, Term::RightFinishType );
4423         
4424
4425 #line 4424 "rlparse.cpp"
4426 } break;
4427 case 58: {
4428 #line 415 "rlparse.kl"
4429
4430                 (&redLel->user.term)->term = new Term( (&rhs[0]->user.term)->term, 
4431                                 (&rhs[2]->user.factor_with_label)->factorWithAug, Term::LeftType );
4432         
4433
4434 #line 4433 "rlparse.cpp"
4435 } break;
4436 case 59: {
4437 #line 420 "rlparse.kl"
4438
4439                 (&redLel->user.term)->term = new Term( (&rhs[0]->user.factor_with_label)->factorWithAug );
4440         
4441
4442 #line 4441 "rlparse.cpp"
4443 } break;
4444 case 60: {
4445 #line 430 "rlparse.kl"
4446  
4447                 /* Add the label to the list and pass the factor up. */
4448                 (&rhs[2]->user.factor_with_label)->factorWithAug->labels.prepend( Label((&rhs[0]->user.token)->loc, (&rhs[0]->user.token)->data) );
4449                 (&redLel->user.factor_with_label)->factorWithAug = (&rhs[2]->user.factor_with_label)->factorWithAug; 
4450         
4451
4452 #line 4451 "rlparse.cpp"
4453 } break;
4454 case 61: {
4455 #line 436 "rlparse.kl"
4456
4457                 (&redLel->user.factor_with_label)->factorWithAug = (&rhs[0]->user.factor_with_ep)->factorWithAug;
4458         
4459
4460 #line 4459 "rlparse.cpp"
4461 } break;
4462 case 62: {
4463 #line 446 "rlparse.kl"
4464  
4465                 /* Add the target to the list and return the factor object. */
4466                 (&rhs[0]->user.factor_with_ep)->factorWithAug->epsilonLinks.append( EpsilonLink( (&rhs[1]->user.token)->loc, nameRef ) );
4467                 (&redLel->user.factor_with_ep)->factorWithAug = (&rhs[0]->user.factor_with_ep)->factorWithAug; 
4468         
4469
4470 #line 4469 "rlparse.cpp"
4471 } break;
4472 case 63: {
4473 #line 452 "rlparse.kl"
4474
4475                 (&redLel->user.factor_with_ep)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4476         
4477
4478 #line 4477 "rlparse.cpp"
4479 } break;
4480 case 64: {
4481 #line 462 "rlparse.kl"
4482
4483                 /* Append the action to the factorWithAug, record the refernce from 
4484                  * factorWithAug to the action and pass up the factorWithAug. */
4485                 (&rhs[0]->user.factor_with_aug)->factorWithAug->actions.append( 
4486                                 ParserAction( (&rhs[1]->user.aug_type)->loc, (&rhs[1]->user.aug_type)->augType, 0, (&rhs[2]->user.action_ref)->action ) );
4487                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4488         
4489
4490 #line 4489 "rlparse.cpp"
4491 } break;
4492 case 65: {
4493 #line 470 "rlparse.kl"
4494
4495                 /* Append the named priority to the factorWithAug and pass it up. */
4496                 (&rhs[0]->user.factor_with_aug)->factorWithAug->priorityAugs.append( 
4497                                 PriorityAug( (&rhs[1]->user.aug_type)->augType, pd->curDefPriorKey, (&rhs[2]->user.priority_aug)->priorityNum ) );
4498                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4499         
4500
4501 #line 4500 "rlparse.cpp"
4502 } break;
4503 case 66: {
4504 #line 477 "rlparse.kl"
4505
4506                 /* Append the priority using a default name. */
4507                 (&rhs[0]->user.factor_with_aug)->factorWithAug->priorityAugs.append( 
4508                                 PriorityAug( (&rhs[1]->user.aug_type)->augType, (&rhs[3]->user.priority_name)->priorityName, (&rhs[5]->user.priority_aug)->priorityNum ) );
4509                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4510         
4511
4512 #line 4511 "rlparse.cpp"
4513 } break;
4514 case 67: {
4515 #line 484 "rlparse.kl"
4516
4517                 (&rhs[0]->user.factor_with_aug)->factorWithAug->conditions.append( ConditionTest( (&rhs[1]->user.aug_type)->loc, 
4518                                 (&rhs[1]->user.aug_type)->augType, (&rhs[2]->user.action_ref)->action, true ) );
4519                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4520         
4521
4522 #line 4521 "rlparse.cpp"
4523 } break;
4524 case 68: {
4525 #line 490 "rlparse.kl"
4526
4527                 (&rhs[0]->user.factor_with_aug)->factorWithAug->conditions.append( ConditionTest( (&rhs[1]->user.aug_type)->loc, 
4528                                 (&rhs[1]->user.aug_type)->augType, (&rhs[3]->user.action_ref)->action, false ) );
4529                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4530         
4531
4532 #line 4531 "rlparse.cpp"
4533 } break;
4534 case 69: {
4535 #line 496 "rlparse.kl"
4536
4537                 /* Append the action, pass it up. */
4538                 (&rhs[0]->user.factor_with_aug)->factorWithAug->actions.append( ParserAction( (&rhs[1]->user.aug_type)->loc, 
4539                                 (&rhs[1]->user.aug_type)->augType, 0, (&rhs[2]->user.action_ref)->action ) );
4540                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4541         
4542
4543 #line 4542 "rlparse.cpp"
4544 } break;
4545 case 70: {
4546 #line 503 "rlparse.kl"
4547
4548                 /* Append the action, pass it up. */
4549                 (&rhs[0]->user.factor_with_aug)->factorWithAug->actions.append( ParserAction( (&rhs[1]->user.aug_type)->loc,
4550                                 (&rhs[1]->user.aug_type)->augType, 0, (&rhs[2]->user.action_ref)->action ) );
4551                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4552         
4553
4554 #line 4553 "rlparse.cpp"
4555 } break;
4556 case 71: {
4557 #line 510 "rlparse.kl"
4558
4559                 /* Append the action, pass it up. */
4560                 (&rhs[0]->user.factor_with_aug)->factorWithAug->actions.append( ParserAction( (&rhs[1]->user.aug_type)->loc,
4561                                 (&rhs[1]->user.aug_type)->augType, 0, (&rhs[2]->user.action_ref)->action ) );
4562                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4563         
4564
4565 #line 4564 "rlparse.cpp"
4566 } break;
4567 case 72: {
4568 #line 517 "rlparse.kl"
4569
4570                 /* Append the action to the factorWithAug, record the refernce from 
4571                  * factorWithAug to the action and pass up the factorWithAug. */
4572                 (&rhs[0]->user.factor_with_aug)->factorWithAug->actions.append( ParserAction( (&rhs[1]->user.aug_type)->loc,
4573                                 (&rhs[1]->user.aug_type)->augType, pd->curDefLocalErrKey, (&rhs[2]->user.action_ref)->action ) );
4574                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4575         
4576
4577 #line 4576 "rlparse.cpp"
4578 } break;
4579 case 73: {
4580 #line 525 "rlparse.kl"
4581
4582                 /* Append the action to the factorWithAug, record the refernce from 
4583                  * factorWithAug to the action and pass up the factorWithAug. */
4584                 (&rhs[0]->user.factor_with_aug)->factorWithAug->actions.append( ParserAction( (&rhs[1]->user.aug_type)->loc, 
4585                                 (&rhs[1]->user.aug_type)->augType, pd->curDefLocalErrKey, (&rhs[2]->user.action_ref)->action ) );
4586                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4587         
4588
4589 #line 4588 "rlparse.cpp"
4590 } break;
4591 case 74: {
4592 #line 533 "rlparse.kl"
4593
4594                 /* Append the action to the factorWithAug, record the refernce from
4595                  * factorWithAug to the action and pass up the factorWithAug. */
4596                 (&rhs[0]->user.factor_with_aug)->factorWithAug->actions.append( ParserAction( (&rhs[1]->user.aug_type)->loc,
4597                                 (&rhs[1]->user.aug_type)->augType, (&rhs[3]->user.local_err_name)->error_name, (&rhs[5]->user.action_ref)->action ) );
4598                 (&redLel->user.factor_with_aug)->factorWithAug = (&rhs[0]->user.factor_with_aug)->factorWithAug;
4599         
4600
4601 #line 4600 "rlparse.cpp"
4602 } break;
4603 case 75: {
4604 #line 541 "rlparse.kl"
4605
4606                 (&redLel->user.factor_with_aug)->factorWithAug = new FactorWithAug( (&rhs[0]->user.factor_with_rep)->factorWithRep );
4607         
4608
4609 #line 4608 "rlparse.cpp"
4610 } break;
4611 case 76: {
4612 #line 554 "rlparse.kl"
4613  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_finish; 
4614
4615 #line 4614 "rlparse.cpp"
4616 } break;
4617 case 77: {
4618 #line 555 "rlparse.kl"
4619  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_leave; 
4620
4621 #line 4620 "rlparse.cpp"
4622 } break;
4623 case 78: {
4624 #line 556 "rlparse.kl"
4625  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all; 
4626
4627 #line 4626 "rlparse.cpp"
4628 } break;
4629 case 79: {
4630 #line 557 "rlparse.kl"
4631  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start; 
4632
4633 #line 4632 "rlparse.cpp"
4634 } break;
4635 case 80: {
4636 #line 562 "rlparse.kl"
4637  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start; 
4638
4639 #line 4638 "rlparse.cpp"
4640 } break;
4641 case 81: {
4642 #line 563 "rlparse.kl"
4643  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start; 
4644
4645 #line 4644 "rlparse.cpp"
4646 } break;
4647 case 82: {
4648 #line 564 "rlparse.kl"
4649  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all; 
4650
4651 #line 4650 "rlparse.cpp"
4652 } break;
4653 case 83: {
4654 #line 565 "rlparse.kl"
4655  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all; 
4656
4657 #line 4656 "rlparse.cpp"
4658 } break;
4659 case 84: {
4660 #line 566 "rlparse.kl"
4661  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_leave; 
4662
4663 #line 4662 "rlparse.cpp"
4664 } break;
4665 case 85: {
4666 #line 567 "rlparse.kl"
4667  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_leave; 
4668
4669 #line 4668 "rlparse.cpp"
4670 } break;
4671 case 86: {
4672 #line 568 "rlparse.kl"
4673  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all; 
4674
4675 #line 4674 "rlparse.cpp"
4676 } break;
4677 case 87: {
4678 #line 569 "rlparse.kl"
4679  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start; 
4680
4681 #line 4680 "rlparse.cpp"
4682 } break;
4683 case 88: {
4684 #line 570 "rlparse.kl"
4685  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_leave; 
4686
4687 #line 4686 "rlparse.cpp"
4688 } break;
4689 case 89: {
4690 #line 579 "rlparse.kl"
4691  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_to_state; 
4692
4693 #line 4692 "rlparse.cpp"
4694 } break;
4695 case 90: {
4696 #line 581 "rlparse.kl"
4697  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_to_state; 
4698
4699 #line 4698 "rlparse.cpp"
4700 } break;
4701 case 91: {
4702 #line 584 "rlparse.kl"
4703  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_to_state; 
4704
4705 #line 4704 "rlparse.cpp"
4706 } break;
4707 case 92: {
4708 #line 586 "rlparse.kl"
4709  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_to_state; 
4710
4711 #line 4710 "rlparse.cpp"
4712 } break;
4713 case 93: {
4714 #line 589 "rlparse.kl"
4715  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_to_state; 
4716
4717 #line 4716 "rlparse.cpp"
4718 } break;
4719 case 94: {
4720 #line 591 "rlparse.kl"
4721  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_to_state; 
4722
4723 #line 4722 "rlparse.cpp"
4724 } break;
4725 case 95: {
4726 #line 594 "rlparse.kl"
4727  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_to_state; 
4728
4729 #line 4728 "rlparse.cpp"
4730 } break;
4731 case 96: {
4732 #line 596 "rlparse.kl"
4733  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_to_state; 
4734
4735 #line 4734 "rlparse.cpp"
4736 } break;
4737 case 97: {
4738 #line 599 "rlparse.kl"
4739  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_to_state; 
4740
4741 #line 4740 "rlparse.cpp"
4742 } break;
4743 case 98: {
4744 #line 601 "rlparse.kl"
4745  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_to_state; 
4746
4747 #line 4746 "rlparse.cpp"
4748 } break;
4749 case 99: {
4750 #line 604 "rlparse.kl"
4751  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_to_state; 
4752
4753 #line 4752 "rlparse.cpp"
4754 } break;
4755 case 100: {
4756 #line 606 "rlparse.kl"
4757  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_to_state; 
4758
4759 #line 4758 "rlparse.cpp"
4760 } break;
4761 case 101: {
4762 #line 615 "rlparse.kl"
4763  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_from_state; 
4764
4765 #line 4764 "rlparse.cpp"
4766 } break;
4767 case 102: {
4768 #line 617 "rlparse.kl"
4769  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_from_state; 
4770
4771 #line 4770 "rlparse.cpp"
4772 } break;
4773 case 103: {
4774 #line 620 "rlparse.kl"
4775  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_from_state; 
4776
4777 #line 4776 "rlparse.cpp"
4778 } break;
4779 case 104: {
4780 #line 622 "rlparse.kl"
4781  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_from_state; 
4782
4783 #line 4782 "rlparse.cpp"
4784 } break;
4785 case 105: {
4786 #line 625 "rlparse.kl"
4787  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_from_state; 
4788
4789 #line 4788 "rlparse.cpp"
4790 } break;
4791 case 106: {
4792 #line 627 "rlparse.kl"
4793  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_from_state; 
4794
4795 #line 4794 "rlparse.cpp"
4796 } break;
4797 case 107: {
4798 #line 630 "rlparse.kl"
4799  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_from_state; 
4800
4801 #line 4800 "rlparse.cpp"
4802 } break;
4803 case 108: {
4804 #line 632 "rlparse.kl"
4805  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_from_state; 
4806
4807 #line 4806 "rlparse.cpp"
4808 } break;
4809 case 109: {
4810 #line 635 "rlparse.kl"
4811  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_from_state; 
4812
4813 #line 4812 "rlparse.cpp"
4814 } break;
4815 case 110: {
4816 #line 637 "rlparse.kl"
4817  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_from_state; 
4818
4819 #line 4818 "rlparse.cpp"
4820 } break;
4821 case 111: {
4822 #line 640 "rlparse.kl"
4823  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_from_state; 
4824
4825 #line 4824 "rlparse.cpp"
4826 } break;
4827 case 112: {
4828 #line 642 "rlparse.kl"
4829  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_from_state; 
4830
4831 #line 4830 "rlparse.cpp"
4832 } break;
4833 case 113: {
4834 #line 651 "rlparse.kl"
4835  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_eof; 
4836
4837 #line 4836 "rlparse.cpp"
4838 } break;
4839 case 114: {
4840 #line 653 "rlparse.kl"
4841  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_eof; 
4842
4843 #line 4842 "rlparse.cpp"
4844 } break;
4845 case 115: {
4846 #line 656 "rlparse.kl"
4847  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_eof; 
4848
4849 #line 4848 "rlparse.cpp"
4850 } break;
4851 case 116: {
4852 #line 658 "rlparse.kl"
4853  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_eof; 
4854
4855 #line 4854 "rlparse.cpp"
4856 } break;
4857 case 117: {
4858 #line 661 "rlparse.kl"
4859  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_eof; 
4860
4861 #line 4860 "rlparse.cpp"
4862 } break;
4863 case 118: {
4864 #line 663 "rlparse.kl"
4865  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_eof; 
4866
4867 #line 4866 "rlparse.cpp"
4868 } break;
4869 case 119: {
4870 #line 666 "rlparse.kl"
4871  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_eof; 
4872
4873 #line 4872 "rlparse.cpp"
4874 } break;
4875 case 120: {
4876 #line 668 "rlparse.kl"
4877  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_eof; 
4878
4879 #line 4878 "rlparse.cpp"
4880 } break;
4881 case 121: {
4882 #line 671 "rlparse.kl"
4883  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_eof; 
4884
4885 #line 4884 "rlparse.cpp"
4886 } break;
4887 case 122: {
4888 #line 673 "rlparse.kl"
4889  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_eof; 
4890
4891 #line 4890 "rlparse.cpp"
4892 } break;
4893 case 123: {
4894 #line 676 "rlparse.kl"
4895  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_eof; 
4896
4897 #line 4896 "rlparse.cpp"
4898 } break;
4899 case 124: {
4900 #line 678 "rlparse.kl"
4901  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_eof; 
4902
4903 #line 4902 "rlparse.cpp"
4904 } break;
4905 case 125: {
4906 #line 687 "rlparse.kl"
4907  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_gbl_error; 
4908
4909 #line 4908 "rlparse.cpp"
4910 } break;
4911 case 126: {
4912 #line 689 "rlparse.kl"
4913  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_gbl_error; 
4914
4915 #line 4914 "rlparse.cpp"
4916 } break;
4917 case 127: {
4918 #line 692 "rlparse.kl"
4919  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_gbl_error; 
4920
4921 #line 4920 "rlparse.cpp"
4922 } break;
4923 case 128: {
4924 #line 694 "rlparse.kl"
4925  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_gbl_error; 
4926
4927 #line 4926 "rlparse.cpp"
4928 } break;
4929 case 129: {
4930 #line 697 "rlparse.kl"
4931  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_gbl_error; 
4932
4933 #line 4932 "rlparse.cpp"
4934 } break;
4935 case 130: {
4936 #line 699 "rlparse.kl"
4937  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_gbl_error; 
4938
4939 #line 4938 "rlparse.cpp"
4940 } break;
4941 case 131: {
4942 #line 702 "rlparse.kl"
4943  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_gbl_error; 
4944
4945 #line 4944 "rlparse.cpp"
4946 } break;
4947 case 132: {
4948 #line 704 "rlparse.kl"
4949  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_gbl_error; 
4950
4951 #line 4950 "rlparse.cpp"
4952 } break;
4953 case 133: {
4954 #line 707 "rlparse.kl"
4955  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_gbl_error; 
4956
4957 #line 4956 "rlparse.cpp"
4958 } break;
4959 case 134: {
4960 #line 709 "rlparse.kl"
4961  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_gbl_error; 
4962
4963 #line 4962 "rlparse.cpp"
4964 } break;
4965 case 135: {
4966 #line 712 "rlparse.kl"
4967  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_gbl_error; 
4968
4969 #line 4968 "rlparse.cpp"
4970 } break;
4971 case 136: {
4972 #line 714 "rlparse.kl"
4973  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_gbl_error; 
4974
4975 #line 4974 "rlparse.cpp"
4976 } break;
4977 case 137: {
4978 #line 724 "rlparse.kl"
4979  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_local_error; 
4980
4981 #line 4980 "rlparse.cpp"
4982 } break;
4983 case 138: {
4984 #line 726 "rlparse.kl"
4985  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_start_local_error; 
4986
4987 #line 4986 "rlparse.cpp"
4988 } break;
4989 case 139: {
4990 #line 729 "rlparse.kl"
4991  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_local_error; 
4992
4993 #line 4992 "rlparse.cpp"
4994 } break;
4995 case 140: {
4996 #line 731 "rlparse.kl"
4997  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_start_local_error; 
4998
4999 #line 4998 "rlparse.cpp"
5000 } break;
5001 case 141: {
5002 #line 734 "rlparse.kl"
5003  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_local_error; 
5004
5005 #line 5004 "rlparse.cpp"
5006 } break;
5007 case 142: {
5008 #line 736 "rlparse.kl"
5009  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_all_local_error; 
5010
5011 #line 5010 "rlparse.cpp"
5012 } break;
5013 case 143: {
5014 #line 739 "rlparse.kl"
5015  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_local_error; 
5016
5017 #line 5016 "rlparse.cpp"
5018 } break;
5019 case 144: {
5020 #line 741 "rlparse.kl"
5021  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_final_local_error; 
5022
5023 #line 5022 "rlparse.cpp"
5024 } break;
5025 case 145: {
5026 #line 744 "rlparse.kl"
5027  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_local_error; 
5028
5029 #line 5028 "rlparse.cpp"
5030 } break;
5031 case 146: {
5032 #line 746 "rlparse.kl"
5033  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_not_final_local_error; 
5034
5035 #line 5034 "rlparse.cpp"
5036 } break;
5037 case 147: {
5038 #line 749 "rlparse.kl"
5039  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_local_error; 
5040
5041 #line 5040 "rlparse.cpp"
5042 } break;
5043 case 148: {
5044 #line 751 "rlparse.kl"
5045  (&redLel->user.aug_type)->loc = (&rhs[0]->user.token)->loc; (&redLel->user.aug_type)->augType = at_middle_local_error; 
5046
5047 #line 5046 "rlparse.cpp"
5048 } break;
5049 case 149: {
5050 #line 764 "rlparse.kl"
5051  (&redLel->user.action_ref)->action = (&rhs[0]->user.action_ref)->action; 
5052
5053 #line 5052 "rlparse.cpp"
5054 } break;
5055 case 150: {
5056 #line 765 "rlparse.kl"
5057  (&redLel->user.action_ref)->action = (&rhs[1]->user.action_ref)->action; 
5058
5059 #line 5058 "rlparse.cpp"
5060 } break;
5061 case 151: {
5062 #line 766 "rlparse.kl"
5063  (&redLel->user.action_ref)->action = (&rhs[0]->user.action_ref)->action; 
5064
5065 #line 5064 "rlparse.cpp"
5066 } break;
5067 case 152: {
5068 #line 771 "rlparse.kl"
5069
5070                 /* Set the name in the actionDict. */
5071                 Action *action = pd->actionDict.find( (&rhs[0]->user.token)->data );
5072                 if ( action != 0 ) {
5073                         /* Pass up the action element */
5074                         (&redLel->user.action_ref)->action = action;
5075                 }
5076                 else {
5077                         /* Will recover by returning null as the action. */
5078                         error((&rhs[0]->user.token)->loc) << "action lookup of \"" << (&rhs[0]->user.token)->data << "\" failed" << endl;
5079                         (&redLel->user.action_ref)->action = 0;
5080                 }
5081         
5082
5083 #line 5082 "rlparse.cpp"
5084 } break;
5085 case 153: {
5086 #line 788 "rlparse.kl"
5087
5088                 /* Create the action, add it to the list and pass up. */
5089                 Action *newAction = new Action( (&rhs[0]->user.token)->loc, 0, (&rhs[1]->user.inline_list)->inlineList, pd->nextCondId++ );
5090                 pd->actionList.append( newAction );
5091                 (&redLel->user.action_ref)->action = newAction;
5092         
5093
5094 #line 5093 "rlparse.cpp"
5095 } break;
5096 case 154: {
5097 #line 803 "rlparse.kl"
5098
5099                 // Lookup/create the priority key.
5100                 PriorDictEl *priorDictEl;
5101                 if ( pd->priorDict.insert( (&rhs[0]->user.token)->data, pd->nextPriorKey, &priorDictEl ) )
5102                         pd->nextPriorKey += 1;
5103
5104                 // Use the inserted/found priority key.
5105                 (&redLel->user.priority_name)->priorityName = priorDictEl->value;
5106         
5107
5108 #line 5107 "rlparse.cpp"
5109 } break;
5110 case 155: {
5111 #line 820 "rlparse.kl"
5112
5113                 // Convert the priority number to a long. Check for overflow.
5114                 errno = 0;
5115                 //cerr << "PRIOR AUG: " << $1->token.data << endl;
5116                 long aug = strtol( (&rhs[0]->user.token_type)->token.data, 0, 10 );
5117                 if ( errno == ERANGE && aug == LONG_MAX ) {
5118                         /* Priority number too large. Recover by setting the priority to 0. */
5119                         error((&rhs[0]->user.token_type)->token.loc) << "priority number " << (&rhs[0]->user.token_type)->token.data << 
5120                                         " overflows" << endl;
5121                         (&redLel->user.priority_aug)->priorityNum = 0;
5122                 }
5123                 else if ( errno == ERANGE && aug == LONG_MIN ) {
5124                         /* Priority number too large in the neg. Recover by using 0. */
5125                         error((&rhs[0]->user.token_type)->token.loc) << "priority number " << (&rhs[0]->user.token_type)->token.data << 
5126                                         " underflows" << endl;
5127                         (&redLel->user.priority_aug)->priorityNum = 0;
5128                 }
5129                 else {
5130                         /* No overflow or underflow. */
5131                         (&redLel->user.priority_aug)->priorityNum = aug;
5132                 }
5133         
5134
5135 #line 5134 "rlparse.cpp"
5136 } break;
5137 case 156: {
5138 #line 846 "rlparse.kl"
5139
5140                 (&redLel->user.token_type)->token = *(&rhs[0]->user.token);
5141         
5142
5143 #line 5142 "rlparse.cpp"
5144 } break;
5145 case 157: {
5146 #line 850 "rlparse.kl"
5147
5148                 (&redLel->user.token_type)->token.set( "+", 1 );
5149                 (&redLel->user.token_type)->token.loc = (&rhs[0]->user.token)->loc;
5150                 (&redLel->user.token_type)->token.append( *(&rhs[1]->user.token) );
5151         
5152
5153 #line 5152 "rlparse.cpp"
5154 } break;
5155 case 158: {
5156 #line 856 "rlparse.kl"
5157
5158                 (&redLel->user.token_type)->token.set( "-", 1 );
5159                 (&redLel->user.token_type)->token.loc = (&rhs[0]->user.token)->loc;
5160                 (&redLel->user.token_type)->token.append( *(&rhs[1]->user.token) );
5161         
5162
5163 #line 5162 "rlparse.cpp"
5164 } break;
5165 case 159: {
5166 #line 868 "rlparse.kl"
5167
5168                 /* Lookup/create the priority key. */
5169                 LocalErrDictEl *localErrDictEl;
5170                 if ( pd->localErrDict.insert( (&rhs[0]->user.token)->data, pd->nextLocalErrKey, &localErrDictEl ) )
5171                         pd->nextLocalErrKey += 1;
5172
5173                 /* Use the inserted/found priority key. */
5174                 (&redLel->user.local_err_name)->error_name = localErrDictEl->value;
5175         
5176
5177 #line 5176 "rlparse.cpp"
5178 } break;
5179 case 160: {
5180 #line 889 "rlparse.kl"
5181
5182                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep, 
5183                                 0, 0, FactorWithRep::StarType );
5184         
5185
5186 #line 5185 "rlparse.cpp"
5187 } break;
5188 case 161: {
5189 #line 894 "rlparse.kl"
5190
5191                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep, 
5192                                 0, 0, FactorWithRep::StarStarType );
5193         
5194
5195 #line 5194 "rlparse.cpp"
5196 } break;
5197 case 162: {
5198 #line 899 "rlparse.kl"
5199
5200                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep, 
5201                                 0, 0, FactorWithRep::OptionalType );
5202         
5203
5204 #line 5203 "rlparse.cpp"
5205 } break;
5206 case 163: {
5207 #line 904 "rlparse.kl"
5208
5209                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep, 
5210                                 0, 0, FactorWithRep::PlusType );
5211         
5212
5213 #line 5212 "rlparse.cpp"
5214 } break;
5215 case 164: {
5216 #line 909 "rlparse.kl"
5217
5218                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep, 
5219                                 (&rhs[2]->user.factor_rep_num)->rep, 0, FactorWithRep::ExactType );
5220         
5221
5222 #line 5221 "rlparse.cpp"
5223 } break;
5224 case 165: {
5225 #line 914 "rlparse.kl"
5226
5227                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep, 
5228                                 0, (&rhs[3]->user.factor_rep_num)->rep, FactorWithRep::MaxType );
5229         
5230
5231 #line 5230 "rlparse.cpp"
5232 } break;
5233 case 166: {
5234 #line 919 "rlparse.kl"
5235
5236                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep,
5237                                 (&rhs[2]->user.factor_rep_num)->rep, 0, FactorWithRep::MinType );
5238         
5239
5240 #line 5239 "rlparse.cpp"
5241 } break;
5242 case 167: {
5243 #line 924 "rlparse.kl"
5244
5245                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[1]->user.token)->loc, (&rhs[0]->user.factor_with_rep)->factorWithRep, 
5246                                 (&rhs[2]->user.factor_rep_num)->rep, (&rhs[4]->user.factor_rep_num)->rep, FactorWithRep::RangeType );
5247         
5248
5249 #line 5248 "rlparse.cpp"
5250 } break;
5251 case 168: {
5252 #line 929 "rlparse.kl"
5253
5254                 (&redLel->user.factor_with_rep)->factorWithRep = new FactorWithRep( (&rhs[0]->user.factor_with_neg)->factorWithNeg );
5255         
5256
5257 #line 5256 "rlparse.cpp"
5258 } break;
5259 case 169: {
5260 #line 939 "rlparse.kl"
5261
5262                 // Convert the priority number to a long. Check for overflow.
5263                 errno = 0;
5264                 long rep = strtol( (&rhs[0]->user.token)->data, 0, 10 );
5265                 if ( errno == ERANGE && rep == LONG_MAX ) {
5266                         // Repetition too large. Recover by returing repetition 1. */
5267                         error((&rhs[0]->user.token)->loc) << "repetition number " << (&rhs[0]->user.token)->data << " overflows" << endl;
5268                         (&redLel->user.factor_rep_num)->rep = 1;
5269                 }
5270                 else {
5271                         // Cannot be negative, so no overflow.
5272                         (&redLel->user.factor_rep_num)->rep = rep;
5273                 }
5274         
5275
5276 #line 5275 "rlparse.cpp"
5277 } break;
5278 case 170: {
5279 #line 965 "rlparse.kl"
5280
5281                 (&redLel->user.factor_with_neg)->factorWithNeg = new FactorWithNeg( (&rhs[0]->user.token)->loc,
5282                                 (&rhs[1]->user.factor_with_neg)->factorWithNeg, FactorWithNeg::NegateType );
5283         
5284
5285 #line 5284 "rlparse.cpp"
5286 } break;
5287 case 171: {
5288 #line 970 "rlparse.kl"
5289
5290                 (&redLel->user.factor_with_neg)->factorWithNeg = new FactorWithNeg( (&rhs[0]->user.token)->loc,
5291                                 (&rhs[1]->user.factor_with_neg)->factorWithNeg, FactorWithNeg::CharNegateType );
5292         
5293
5294 #line 5293 "rlparse.cpp"
5295 } break;
5296 case 172: {
5297 #line 975 "rlparse.kl"
5298
5299                 (&redLel->user.factor_with_neg)->factorWithNeg = new FactorWithNeg( (&rhs[0]->user.factor)->factor );
5300         
5301
5302 #line 5301 "rlparse.cpp"
5303 } break;
5304 case 173: {
5305 #line 985 "rlparse.kl"
5306
5307                 /* Create a new factor node going to a concat literal. */
5308                 (&redLel->user.factor)->factor = new Factor( new Literal( *(&rhs[0]->user.token), Literal::LitString ) );
5309         
5310
5311 #line 5310 "rlparse.cpp"
5312 } break;
5313 case 174: {
5314 #line 990 "rlparse.kl"
5315
5316                 /* Create a new factor node going to a literal number. */
5317                 (&redLel->user.factor)->factor = new Factor( new Literal( (&rhs[0]->user.token_type)->token, Literal::Number ) );
5318         
5319
5320 #line 5319 "rlparse.cpp"
5321 } break;
5322 case 175: {
5323 #line 995 "rlparse.kl"
5324
5325                 /* Find the named graph. */
5326                 GraphDictEl *gdNode = pd->graphDict.find( (&rhs[0]->user.token)->data );
5327                 if ( gdNode == 0 ) {
5328                         /* Recover by returning null as the factor node. */
5329                         error((&rhs[0]->user.token)->loc) << "graph lookup of \"" << (&rhs[0]->user.token)->data << "\" failed" << endl;
5330                         (&redLel->user.factor)->factor = 0;
5331                 }
5332                 else if ( gdNode->isInstance ) {
5333                         /* Recover by retuning null as the factor node. */
5334                         error((&rhs[0]->user.token)->loc) << "references to graph instantiations not allowed "
5335                                         "in expressions" << endl;
5336                         (&redLel->user.factor)->factor = 0;
5337                 }
5338                 else {
5339                         /* Create a factor node that is a lookup of an expression. */
5340                         (&redLel->user.factor)->factor = new Factor( (&rhs[0]->user.token)->loc, gdNode->value );
5341                 }
5342         
5343
5344 #line 5343 "rlparse.cpp"
5345 } break;
5346 case 176: {
5347 #line 1015 "rlparse.kl"
5348
5349                 /* Create a new factor node going to an OR expression. */
5350                 (&redLel->user.factor)->factor = new Factor( new ReItem( (&rhs[0]->user.token)->loc, (&rhs[1]->user.regular_expr_or_data)->reOrBlock, ReItem::OrBlock ) );
5351         
5352
5353 #line 5352 "rlparse.cpp"
5354 } break;
5355 case 177: {
5356 #line 1020 "rlparse.kl"
5357
5358                 /* Create a new factor node going to a negated OR expression. */
5359                 (&redLel->user.factor)->factor = new Factor( new ReItem( (&rhs[0]->user.token)->loc, (&rhs[1]->user.regular_expr_or_data)->reOrBlock, ReItem::NegOrBlock ) );
5360         
5361
5362 #line 5361 "rlparse.cpp"
5363 } break;
5364 case 178: {
5365 #line 1025 "rlparse.kl"
5366
5367                 if ( (&rhs[2]->user.token)->length > 1 ) {
5368                         for ( char *p = (&rhs[2]->user.token)->data; *p != 0; p++ ) {
5369                                 if ( *p == 'i' )
5370                                         (&rhs[1]->user.regular_expr)->regExpr->caseInsensitive = true;
5371                         }
5372                 }
5373
5374                 /* Create a new factor node going to a regular exp. */
5375                 (&redLel->user.factor)->factor = new Factor( (&rhs[1]->user.regular_expr)->regExpr );
5376         
5377
5378 #line 5377 "rlparse.cpp"
5379 } break;
5380 case 179: {
5381 #line 1037 "rlparse.kl"
5382
5383                 /* Create a new factor node going to a range. */
5384                 (&redLel->user.factor)->factor = new Factor( new Range( (&rhs[0]->user.range_lit)->literal, (&rhs[2]->user.range_lit)->literal ) );
5385         
5386
5387 #line 5386 "rlparse.cpp"
5388 } break;
5389 case 180: {
5390 #line 1042 "rlparse.kl"
5391
5392                 /* Create a new factor going to a parenthesized join. */
5393                 (&redLel->user.factor)->factor = new Factor( (&rhs[1]->user.join)->join );
5394                 (&rhs[1]->user.join)->join->loc = (&rhs[0]->user.token)->loc;
5395         
5396
5397 #line 5396 "rlparse.cpp"
5398 } break;
5399 case 181: {
5400 #line 1055 "rlparse.kl"
5401
5402                 /* Range literas must have only one char. We restrict this in the parse tree. */
5403                 (&redLel->user.range_lit)->literal = new Literal( *(&rhs[0]->user.token), Literal::LitString );
5404         
5405
5406 #line 5405 "rlparse.cpp"
5407 } break;
5408 case 182: {
5409 #line 1060 "rlparse.kl"
5410
5411                 /* Create a new literal number. */
5412                 (&redLel->user.range_lit)->literal = new Literal( (&rhs[0]->user.token_type)->token, Literal::Number );
5413         
5414
5415 #line 5414 "rlparse.cpp"
5416 } break;
5417 case 183: {
5418 #line 1069 "rlparse.kl"
5419  
5420                 (&redLel->user.token_type)->token = *(&rhs[0]->user.token);
5421         
5422
5423 #line 5422 "rlparse.cpp"
5424 } break;
5425 case 184: {
5426 #line 1073 "rlparse.kl"
5427  
5428                 (&redLel->user.token_type)->token.set( "-", 1 );
5429                 (&redLel->user.token_type)->token.loc = (&rhs[0]->user.token)->loc;
5430                 (&redLel->user.token_type)->token.append( *(&rhs[1]->user.token) );
5431         
5432
5433 #line 5432 "rlparse.cpp"
5434 } break;
5435 case 185: {
5436 #line 1079 "rlparse.kl"
5437  
5438                 (&redLel->user.token_type)->token = *(&rhs[0]->user.token);
5439         
5440
5441 #line 5440 "rlparse.cpp"
5442 } break;
5443 case 186: {
5444 #line 1094 "rlparse.kl"
5445
5446                 /* An optimization to lessen the tree size. If a non-starred char is
5447                  * directly under the left side on the right and the right side is
5448                  * another non-starred char then paste them together and return the
5449                  * left side. Otherwise just put the two under a new reg exp node. */
5450                 if ( (&rhs[1]->user.regular_expr_item)->reItem->type == ReItem::Data && !(&rhs[1]->user.regular_expr_item)->reItem->star &&
5451                         (&rhs[0]->user.regular_expr)->regExpr->type == RegExpr::RecurseItem &&
5452                         (&rhs[0]->user.regular_expr)->regExpr->item->type == ReItem::Data && !(&rhs[0]->user.regular_expr)->regExpr->item->star )
5453                 {
5454                         /* Append the right side to the right side of the left and toss the
5455                          * right side. */
5456                         (&rhs[0]->user.regular_expr)->regExpr->item->token.append( (&rhs[1]->user.regular_expr_item)->reItem->token );
5457                         delete (&rhs[1]->user.regular_expr_item)->reItem;
5458                         (&redLel->user.regular_expr)->regExpr = (&rhs[0]->user.regular_expr)->regExpr;
5459                 }
5460                 else {
5461                         (&redLel->user.regular_expr)->regExpr = new RegExpr( (&rhs[0]->user.regular_expr)->regExpr, (&rhs[1]->user.regular_expr_item)->reItem );
5462                 }
5463         
5464
5465 #line 5464 "rlparse.cpp"
5466 } break;
5467 case 187: {
5468 #line 1114 "rlparse.kl"
5469
5470                 /* Can't optimize the tree. */
5471                 (&redLel->user.regular_expr)->regExpr = new RegExpr();
5472         
5473
5474 #line 5473 "rlparse.cpp"
5475 } break;
5476 case 188: {
5477 #line 1126 "rlparse.kl"
5478
5479                 (&rhs[0]->user.regular_expr_char)->reItem->star = true;
5480                 (&redLel->user.regular_expr_item)->reItem = (&rhs[0]->user.regular_expr_char)->reItem;
5481         
5482
5483 #line 5482 "rlparse.cpp"
5484 } break;
5485 case 189: {
5486 #line 1131 "rlparse.kl"
5487
5488                 (&redLel->user.regular_expr_item)->reItem = (&rhs[0]->user.regular_expr_char)->reItem;
5489         
5490
5491 #line 5490 "rlparse.cpp"
5492 } break;
5493 case 190: {
5494 #line 1143 "rlparse.kl"
5495
5496                 (&redLel->user.regular_expr_char)->reItem = new ReItem( (&rhs[0]->user.token)->loc, (&rhs[1]->user.regular_expr_or_data)->reOrBlock, ReItem::OrBlock );
5497         
5498
5499 #line 5498 "rlparse.cpp"
5500 } break;
5501 case 191: {
5502 #line 1147 "rlparse.kl"
5503
5504                 (&redLel->user.regular_expr_char)->reItem = new ReItem( (&rhs[0]->user.token)->loc, (&rhs[1]->user.regular_expr_or_data)->reOrBlock, ReItem::NegOrBlock );
5505         
5506
5507 #line 5506 "rlparse.cpp"
5508 } break;
5509 case 192: {
5510 #line 1151 "rlparse.kl"
5511
5512                 (&redLel->user.regular_expr_char)->reItem = new ReItem( (&rhs[0]->user.token)->loc, ReItem::Dot );
5513         
5514
5515 #line 5514 "rlparse.cpp"
5516 } break;
5517 case 193: {
5518 #line 1155 "rlparse.kl"
5519
5520                 (&redLel->user.regular_expr_char)->reItem = new ReItem( (&rhs[0]->user.token)->loc, *(&rhs[0]->user.token) );
5521         
5522
5523 #line 5522 "rlparse.cpp"
5524 } break;
5525 case 194: {
5526 #line 1167 "rlparse.kl"
5527
5528                 /* An optimization to lessen the tree size. If an or char is directly
5529                  * under the left side on the right and the right side is another or
5530                  * char then paste them together and return the left side. Otherwise
5531                  * just put the two under a new or data node. */
5532                 if ( (&rhs[1]->user.regular_expr_or_char)->reOrItem->type == ReOrItem::Data &&
5533                                 (&rhs[0]->user.regular_expr_or_data)->reOrBlock->type == ReOrBlock::RecurseItem &&
5534                                 (&rhs[0]->user.regular_expr_or_data)->reOrBlock->item->type == ReOrItem::Data )
5535                 {
5536                         /* Append the right side to right side of the left and toss the
5537                          * right side. */
5538                         (&rhs[0]->user.regular_expr_or_data)->reOrBlock->item->token.append( (&rhs[1]->user.regular_expr_or_char)->reOrItem->token );
5539                         delete (&rhs[1]->user.regular_expr_or_char)->reOrItem;
5540                         (&redLel->user.regular_expr_or_data)->reOrBlock = (&rhs[0]->user.regular_expr_or_data)->reOrBlock;
5541                 }
5542                 else {
5543                         /* Can't optimize, put the left and right under a new node. */
5544                         (&redLel->user.regular_expr_or_data)->reOrBlock = new ReOrBlock( (&rhs[0]->user.regular_expr_or_data)->reOrBlock, (&rhs[1]->user.regular_expr_or_char)->reOrItem );
5545                 }
5546         
5547
5548 #line 5547 "rlparse.cpp"
5549 } break;
5550 case 195: {
5551 #line 1188 "rlparse.kl"
5552
5553                 (&redLel->user.regular_expr_or_data)->reOrBlock = new ReOrBlock();
5554         
5555
5556 #line 5555 "rlparse.cpp"
5557 } break;
5558 case 196: {
5559 #line 1200 "rlparse.kl"
5560
5561                 (&redLel->user.regular_expr_or_char)->reOrItem = new ReOrItem( (&rhs[0]->user.token)->loc, *(&rhs[0]->user.token) );
5562         
5563
5564 #line 5563 "rlparse.cpp"
5565 } break;
5566 case 197: {
5567 #line 1204 "rlparse.kl"
5568
5569                 (&redLel->user.regular_expr_or_char)->reOrItem = new ReOrItem( (&rhs[1]->user.token)->loc, (&rhs[0]->user.token)->data[0], (&rhs[2]->user.token)->data[0] );
5570         
5571
5572 #line 5571 "rlparse.cpp"
5573 } break;
5574 case 198: {
5575 #line 1221 "rlparse.kl"
5576
5577                 /* Append the item to the list, return the list. */
5578                 (&redLel->user.inline_list)->inlineList = (&rhs[0]->user.inline_list)->inlineList;
5579                 (&redLel->user.inline_list)->inlineList->append( (&rhs[1]->user.inline_item)->inlineItem );
5580         
5581
5582 #line 5581 "rlparse.cpp"
5583 } break;
5584 case 199: {
5585 #line 1228 "rlparse.kl"
5586
5587                 /* Start with empty list. */
5588                 (&redLel->user.inline_list)->inlineList = new InlineList;
5589         
5590
5591 #line 5590 "rlparse.cpp"
5592 } break;
5593 case 200: {
5594 #line 1243 "rlparse.kl"
5595
5596                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token_type)->token.loc, (&rhs[0]->user.token_type)->token.data, InlineItem::Text );
5597         
5598
5599 #line 5598 "rlparse.cpp"
5600 } break;
5601 case 201: {
5602 #line 1249 "rlparse.kl"
5603
5604                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token_type)->token.loc, (&rhs[0]->user.token_type)->token.data, InlineItem::Text );
5605         
5606
5607 #line 5606 "rlparse.cpp"
5608 } break;
5609 case 202: {
5610 #line 1255 "rlparse.kl"
5611
5612                 /* Pass the inline item up. */
5613                 (&redLel->user.inline_item)->inlineItem = (&rhs[0]->user.inline_item)->inlineItem;
5614         
5615
5616 #line 5615 "rlparse.cpp"
5617 } break;
5618 case 203: {
5619 #line 1262 "rlparse.kl"
5620  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5621
5622 #line 5621 "rlparse.cpp"
5623 } break;
5624 case 204: {
5625 #line 1263 "rlparse.kl"
5626  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5627
5628 #line 5627 "rlparse.cpp"
5629 } break;
5630 case 205: {
5631 #line 1264 "rlparse.kl"
5632  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5633
5634 #line 5633 "rlparse.cpp"
5635 } break;
5636 case 206: {
5637 #line 1265 "rlparse.kl"
5638  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5639
5640 #line 5639 "rlparse.cpp"
5641 } break;
5642 case 207: {
5643 #line 1266 "rlparse.kl"
5644  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5645
5646 #line 5645 "rlparse.cpp"
5647 } break;
5648 case 208: {
5649 #line 1267 "rlparse.kl"
5650  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5651
5652 #line 5651 "rlparse.cpp"
5653 } break;
5654 case 209: {
5655 #line 1271 "rlparse.kl"
5656
5657                 /* Pass up interpreted items of inline expressions. */
5658                 (&redLel->user.inline_item)->inlineItem = (&rhs[0]->user.inline_item)->inlineItem;
5659         
5660
5661 #line 5660 "rlparse.cpp"
5662 } break;
5663 case 210: {
5664 #line 1276 "rlparse.kl"
5665
5666                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::Hold );
5667         
5668
5669 #line 5668 "rlparse.cpp"
5670 } break;
5671 case 211: {
5672 #line 1280 "rlparse.kl"
5673
5674                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::Exec );
5675                 (&redLel->user.inline_item)->inlineItem->children = (&rhs[1]->user.inline_list)->inlineList;
5676         
5677
5678 #line 5677 "rlparse.cpp"
5679 } break;
5680 case 212: {
5681 #line 1285 "rlparse.kl"
5682  
5683                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, 
5684                                 new NameRef(nameRef), InlineItem::Goto );
5685         
5686
5687 #line 5686 "rlparse.cpp"
5688 } break;
5689 case 213: {
5690 #line 1290 "rlparse.kl"
5691
5692                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::GotoExpr );
5693                 (&redLel->user.inline_item)->inlineItem->children = (&rhs[2]->user.inline_list)->inlineList;
5694         
5695
5696 #line 5695 "rlparse.cpp"
5697 } break;
5698 case 214: {
5699 #line 1295 "rlparse.kl"
5700  
5701                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, new NameRef(nameRef), InlineItem::Next );
5702         
5703
5704 #line 5703 "rlparse.cpp"
5705 } break;
5706 case 215: {
5707 #line 1299 "rlparse.kl"
5708
5709                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::NextExpr );
5710                 (&redLel->user.inline_item)->inlineItem->children = (&rhs[2]->user.inline_list)->inlineList;
5711         
5712
5713 #line 5712 "rlparse.cpp"
5714 } break;
5715 case 216: {
5716 #line 1304 "rlparse.kl"
5717
5718                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, new NameRef(nameRef), InlineItem::Call );
5719         
5720
5721 #line 5720 "rlparse.cpp"
5722 } break;
5723 case 217: {
5724 #line 1308 "rlparse.kl"
5725
5726                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::CallExpr );
5727                 (&redLel->user.inline_item)->inlineItem->children = (&rhs[2]->user.inline_list)->inlineList;
5728         
5729
5730 #line 5729 "rlparse.cpp"
5731 } break;
5732 case 218: {
5733 #line 1313 "rlparse.kl"
5734
5735                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::Ret );
5736         
5737
5738 #line 5737 "rlparse.cpp"
5739 } break;
5740 case 219: {
5741 #line 1317 "rlparse.kl"
5742
5743                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::Break );
5744         
5745
5746 #line 5745 "rlparse.cpp"
5747 } break;
5748 case 220: {
5749 #line 1325 "rlparse.kl"
5750
5751                 (&redLel->user.inline_list)->inlineList = (&rhs[0]->user.inline_list)->inlineList;
5752                 (&redLel->user.inline_list)->inlineList->append( (&rhs[1]->user.inline_item)->inlineItem );
5753         
5754
5755 #line 5754 "rlparse.cpp"
5756 } break;
5757 case 221: {
5758 #line 1330 "rlparse.kl"
5759
5760                 /* Init the list used for this expr. */
5761                 (&redLel->user.inline_list)->inlineList = new InlineList;
5762         
5763
5764 #line 5763 "rlparse.cpp"
5765 } break;
5766 case 222: {
5767 #line 1339 "rlparse.kl"
5768
5769                 /* Return a text segment. */
5770                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token_type)->token.loc, (&rhs[0]->user.token_type)->token.data, InlineItem::Text );
5771         
5772
5773 #line 5772 "rlparse.cpp"
5774 } break;
5775 case 223: {
5776 #line 1345 "rlparse.kl"
5777
5778                 /* Return a text segment, must heap alloc the text. */
5779                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token_type)->token.loc, (&rhs[0]->user.token_type)->token.data, InlineItem::Text );
5780         
5781
5782 #line 5781 "rlparse.cpp"
5783 } break;
5784 case 224: {
5785 #line 1351 "rlparse.kl"
5786
5787                 /* Pass the inline item up. */
5788                 (&redLel->user.inline_item)->inlineItem = (&rhs[0]->user.inline_item)->inlineItem;
5789         
5790
5791 #line 5790 "rlparse.cpp"
5792 } break;
5793 case 237: {
5794 #line 1381 "rlparse.kl"
5795
5796                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::PChar );
5797         
5798
5799 #line 5798 "rlparse.cpp"
5800 } break;
5801 case 238: {
5802 #line 1386 "rlparse.kl"
5803
5804                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::Char );
5805         
5806
5807 #line 5806 "rlparse.cpp"
5808 } break;
5809 case 239: {
5810 #line 1391 "rlparse.kl"
5811
5812                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::Curs );
5813         
5814
5815 #line 5814 "rlparse.cpp"
5816 } break;
5817 case 240: {
5818 #line 1396 "rlparse.kl"
5819
5820                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, InlineItem::Targs );
5821         
5822
5823 #line 5822 "rlparse.cpp"
5824 } break;
5825 case 241: {
5826 #line 1401 "rlparse.kl"
5827
5828                 (&redLel->user.inline_item)->inlineItem = new InlineItem( (&rhs[0]->user.token)->loc, 
5829                         new NameRef(nameRef), InlineItem::Entry );
5830         
5831
5832 #line 5831 "rlparse.cpp"
5833 } break;
5834 case 243: {
5835 #line 1412 "rlparse.kl"
5836
5837                 nameRef.empty();
5838         
5839
5840 #line 5839 "rlparse.cpp"
5841 } break;
5842 case 245: {
5843 #line 1422 "rlparse.kl"
5844
5845                 /* Insert an initial null pointer val to indicate the existence of the
5846                  * initial name seperator. */
5847                 nameRef.setAs( 0 );
5848         
5849
5850 #line 5849 "rlparse.cpp"
5851 } break;
5852 case 246: {
5853 #line 1428 "rlparse.kl"
5854
5855                 nameRef.empty();
5856         
5857
5858 #line 5857 "rlparse.cpp"
5859 } break;
5860 case 247: {
5861 #line 1435 "rlparse.kl"
5862
5863                 nameRef.append( (&rhs[2]->user.token)->data );
5864         
5865
5866 #line 5865 "rlparse.cpp"
5867 } break;
5868 case 248: {
5869 #line 1440 "rlparse.kl"
5870
5871                 nameRef.append( (&rhs[0]->user.token)->data );
5872         
5873
5874 #line 5873 "rlparse.cpp"
5875 } break;
5876 }
5877                         }
5878
5879                         if ( lel->child != 0 ) {
5880                                 struct Parser_LangEl *first = lel->child;
5881                                 struct Parser_LangEl *child = lel->child;
5882                                 lel->child = 0;
5883                                 while ( 1 ) {
5884                                         if ( child->type < 226 ) {
5885                                         }
5886                                         else {
5887                                         }
5888                                         numNodes -= 1;
5889                                         if ( child->next == 0 )
5890                                                 break;
5891                                         child = child->next;
5892                                 }
5893                                 child->next = pool;
5894                                 pool = first;
5895                         }
5896                 }
5897
5898 commit_base:
5899                 if ( sp > 0 ) {
5900                         sp -= 1;
5901                         if ( lel->retry == 0 ) {
5902                                 lel = lel->prev;
5903                                 goto commit_reverse;
5904                         }
5905                         else {
5906                                 lel->retry = 0;
5907                                 lel = lel->prev;
5908                                 goto commit_upwards;
5909                         }
5910                 }
5911                 lel->retry = 0;
5912
5913                 lastFinal = lel;
5914                 numRetry = 0;
5915         }
5916
5917         if ( *action & 0x2 ) {
5918                 int reduction = *action >> 2;
5919                 struct Parser_LangEl *redLel;
5920
5921                 if ( input != 0 )
5922                         input->causeReduce += 1;
5923
5924         if ( pool == 0 ) {
5925                 if ( freshPos == 8128 ) {
5926                         struct Parser_Block* newBlock  = (struct Parser_Block*) malloc( sizeof(struct Parser_Block) );
5927                         newBlock->next = block;
5928                         block = newBlock;
5929                         freshEl = newBlock->data;
5930                         #ifdef KELBT_LOG_ACTIONS
5931                         cerr << "allocating 8128 LangEls" << endl;
5932                         #endif
5933                         freshPos = 0;
5934                 }
5935                 redLel = freshEl + freshPos++;
5936         }
5937         else {
5938                 redLel = pool;
5939                 pool = pool->next;
5940         }
5941         numNodes += 1;
5942
5943                 redLel->type = Parser_prodLhsIds[reduction];
5944                 redLel->reduction = reduction;
5945                 redLel->child = 0;
5946                 redLel->next = 0;
5947                 redLel->retry = (lel->retry << 16);
5948                 redLel->causeReduce = 0;
5949                 lel->retry &= 0xffff0000;
5950
5951                 rhsLen = Parser_prodLengths[reduction];
5952                 if ( rhsLen > 0 ) {
5953                         int r;
5954                         for ( r = rhsLen-1; r > 0; r-- ) {
5955                                 rhs[r] = stackTop;
5956                                 stackTop = stackTop->next;
5957                         }
5958                         rhs[0] = stackTop;
5959                         stackTop = stackTop->next;
5960                         rhs[0]->next = 0;
5961                 }
5962 switch ( reduction ) {
5963 case 225: {
5964 #line 1358 "rlparse.kl"
5965  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5966
5967 #line 5966 "rlparse.cpp"
5968 } break;
5969 case 226: {
5970 #line 1359 "rlparse.kl"
5971  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5972
5973 #line 5972 "rlparse.cpp"
5974 } break;
5975 case 227: {
5976 #line 1360 "rlparse.kl"
5977  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5978
5979 #line 5978 "rlparse.cpp"
5980 } break;
5981 case 228: {
5982 #line 1361 "rlparse.kl"
5983  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5984
5985 #line 5984 "rlparse.cpp"
5986 } break;
5987 case 229: {
5988 #line 1362 "rlparse.kl"
5989  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5990
5991 #line 5990 "rlparse.cpp"
5992 } break;
5993 case 230: {
5994 #line 1363 "rlparse.kl"
5995  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
5996
5997 #line 5996 "rlparse.cpp"
5998 } break;
5999 case 231: {
6000 #line 1364 "rlparse.kl"
6001  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
6002
6003 #line 6002 "rlparse.cpp"
6004 } break;
6005 case 232: {
6006 #line 1371 "rlparse.kl"
6007  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
6008
6009 #line 6008 "rlparse.cpp"
6010 } break;
6011 case 233: {
6012 #line 1372 "rlparse.kl"
6013  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
6014
6015 #line 6014 "rlparse.cpp"
6016 } break;
6017 case 234: {
6018 #line 1373 "rlparse.kl"
6019  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
6020
6021 #line 6020 "rlparse.cpp"
6022 } break;
6023 case 235: {
6024 #line 1374 "rlparse.kl"
6025  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
6026
6027 #line 6026 "rlparse.cpp"
6028 } break;
6029 case 236: {
6030 #line 1375 "rlparse.kl"
6031  (&redLel->user.token_type)->token = *(&rhs[0]->user.token); 
6032
6033 #line 6032 "rlparse.cpp"
6034 } break;
6035 }
6036                 #ifdef KELBT_LOG_ACTIONS
6037                 cerr << "reduced: "
6038                                 << Parser_prodNames[reduction]
6039                                 << " rhsLen: " << rhsLen;
6040                 #endif
6041                 if ( action[1] == 0 )
6042                         redLel->retry = 0;
6043                 else {
6044                         redLel->retry += 0x10000;
6045                         numRetry += 1;
6046                         #ifdef KELBT_LOG_ACTIONS
6047                         cerr << " retry: " << redLel;
6048                         #endif
6049                 }
6050
6051                 #ifdef KELBT_LOG_ACTIONS
6052                 cerr << endl;
6053                 #endif
6054
6055                 if ( rhsLen == 0 ) {
6056                         redLel->file = lel->file;
6057                         redLel->line = lel->line;
6058                         targState = curs;
6059                 }
6060                 else {
6061                         redLel->child = rhs[rhsLen-1];
6062                         redLel->file = rhs[0]->file;
6063                         redLel->line = rhs[0]->line;
6064                         targState = rhs[0]->state;
6065                 }
6066
6067                 if ( induceReject ) {
6068                         #ifdef KELBT_LOG_ACTIONS
6069                         cerr << "error induced during reduction of " <<
6070                                         Parser_lelNames[redLel->type] << endl;
6071                         #endif
6072                         redLel->state = curs;
6073                         redLel->next = stackTop;
6074                         stackTop = redLel;
6075                         curs = targState;
6076                         goto parseError;
6077                 }
6078                 else {
6079                         redLel->next = input;
6080                         input = redLel;
6081                 }
6082         }
6083
6084
6085         curs = targState;
6086         goto again;
6087
6088 parseError:
6089         #ifdef KELBT_LOG_BACKTRACK
6090         cerr << "hit error" << endl;
6091         #endif
6092         if ( numRetry > 0 ) {
6093                 struct Parser_LangEl *redLel;
6094
6095                 if ( input != 0 ) {
6096                         redLel = input;
6097                         goto have_undo_element;
6098                 }
6099
6100                 while ( 1 ) {
6101                         redLel = stackTop;
6102                         if ( stackTop->type < 226 ) {
6103                                 #ifdef KELBT_LOG_BACKTRACK
6104                                 cerr << "backing up over terminal: " <<
6105                                                 Parser_lelNames[stackTop->type] << endl;
6106                                 #endif
6107                                 stackTop = stackTop->next;
6108                                 redLel->next = input;
6109                                 input = redLel;
6110                         }
6111                         else {
6112                                 #ifdef KELBT_LOG_BACKTRACK
6113                                 cerr << "backing up over non-terminal: " <<
6114                                                 Parser_lelNames[stackTop->type] << endl;
6115                                 #endif
6116                                 stackTop = stackTop->next;
6117                                 struct Parser_LangEl *first = redLel->child;
6118                                 if ( first == 0 )
6119                                         rhsLen = 0;
6120                                 else {
6121                                         rhsLen = 1;
6122                                         while ( first->next != 0 ) {
6123                                                 first = first->next;
6124                                                 rhsLen += 1;
6125                                         }
6126                                         first->next = stackTop;
6127                                         stackTop = redLel->child;
6128
6129                                         struct Parser_LangEl *rhsEl = stackTop;
6130                                         int p = rhsLen;
6131                                         while ( p > 0 ) {
6132                                                 rhs[--p] = rhsEl;
6133                                                 rhsEl = rhsEl->next;
6134                                         }
6135                                 }
6136                                 redLel->next = pool;
6137                                 pool = redLel;
6138                                 numNodes -= 1;
6139
6140                                 if ( input != 0 )
6141                                         input->causeReduce -= 1;
6142                         }
6143
6144 have_undo_element:
6145                         if ( redLel->retry == 0 ) {
6146                                 if ( input != 0 && input->causeReduce == 0 ) {
6147                                         #ifdef KELBT_LOG_BACKTRACK
6148                                         cerr << "pushing back: " << Parser_lelNames[input->type] << endl;
6149                                         #endif
6150                                         input->next = queue;
6151                                         queue = input;
6152                                         input = 0;
6153                                 }
6154                         }
6155                         else {
6156                                 #ifdef KELBT_LOG_BACKTRACK
6157                                 cerr << "found retry targ: " << redLel << endl;
6158                                 #endif
6159                                 numRetry -= 1;
6160                                 #ifdef KELBT_LOG_BACKTRACK
6161                                 cerr << "found retry: " << redLel << endl;
6162                                 #endif
6163                                 if ( redLel->retry & 0x0000ffff )
6164                                         curs = input->state;
6165                                 else {
6166                                         input->retry = redLel->retry >> 16;
6167                                         if ( stackTop->state < 0 )
6168                                                 curs = Parser_startState;
6169                                         else {
6170                                                 curs = Parser_targs[(int)Parser_indicies[Parser_offsets[stackTop->state] + (stackTop->type - Parser_keys[stackTop->state<<1])]];
6171                                         }
6172                                 }
6173                                 goto again;
6174                         }
6175                 }
6176         }
6177         curs = -1;
6178         errCount += 1;
6179 _out: {}
6180 #line 1459 "rlparse.kl"
6181         return errCount == 0 ? 0 : -1;
6182 }
6183
6184 void Parser::tryMachineDef( InputLoc &loc, char *name, 
6185                 MachineDef *machineDef, bool isInstance )
6186 {
6187         GraphDictEl *newEl = pd->graphDict.insert( name );
6188         if ( newEl != 0 ) {
6189                 /* New element in the dict, all good. */
6190                 newEl->value = new VarDef( name, machineDef );
6191                 newEl->isInstance = isInstance;
6192                 newEl->loc = loc;
6193                 newEl->value->isExport = exportContext[exportContext.length()-1];
6194
6195                 /* It it is an instance, put on the instance list. */
6196                 if ( isInstance )
6197                         pd->instanceList.append( newEl );
6198         }
6199         else {
6200                 // Recover by ignoring the duplicate.
6201                 error(loc) << "fsm \"" << name << "\" previously defined" << endl;
6202         }
6203 }
6204
6205 ostream &Parser::parse_error( int tokId, Token &token )
6206 {
6207         /* Maintain the error count. */
6208         gblErrorCount += 1;
6209
6210         cerr << token.loc << ": ";
6211         cerr << "at token ";
6212         if ( tokId < 128 )
6213                 cerr << "\"" << Parser_lelNames[tokId] << "\"";
6214         else 
6215                 cerr << Parser_lelNames[tokId];
6216         if ( token.data != 0 )
6217                 cerr << " with data \"" << token.data << "\"";
6218         cerr << ": ";
6219         
6220         return cerr;
6221 }
6222
6223 int Parser::token( InputLoc &loc, int tokId, char *tokstart, int toklen )
6224 {
6225         Token token;
6226         token.data = tokstart;
6227         token.length = toklen;
6228         token.loc = loc;
6229         int res = parseLangEl( tokId, &token );
6230         if ( res < 0 ) {
6231                 parse_error(tokId, token) << "parse error" << endl;
6232                 exit(1);
6233         }
6234         return res;
6235 }