2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 420
407 #define YY_END_OF_BUFFER 421
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2501] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 421, 419, 15, 10, 10, 15, 15, 399,
440 10, 399, 5, 6, 5, 8, 9, 8, 415, 407,
441 408, 416, 413, 416, 414, 418, 407, 408, 418, 419,
442 22, 10, 22, 22, 22, 20, 22, 26, 10, 26,
443 26, 419, 26, 419, 419, 26, 33, 10, 33, 33,
444 33, 31, 33, 37, 10, 37, 48, 10, 48, 48,
445 48, 46, 48, 48, 48, 416, 415, 78, 10, 78,
446 78, 78, 76, 78, 78, 78, 78, 78, 82, 10,
447 82, 419, 82, 101, 10, 101, 101, 101, 99, 101,
448 101, 101, 105, 10, 105, 114, 10, 114, 114, 114,
450 112, 114, 114, 118, 10, 118, 118, 419, 118, 118,
451 419, 419, 118, 419, 118, 419, 118, 129, 10, 129,
452 129, 129, 127, 129, 129, 129, 133, 10, 133, 133,
453 156, 10, 156, 156, 156, 154, 156, 156, 156, 156,
454 156, 160, 10, 160, 160, 201, 10, 201, 201, 201,
455 199, 201, 201, 201, 201, 201, 201, 201, 201, 205,
456 10, 205, 226, 10, 226, 226, 226, 224, 226, 226,
457 226, 226, 226, 226, 226, 230, 10, 230, 239, 10,
458 239, 239, 239, 237, 239, 239, 243, 10, 243, 270,
459 10, 270, 270, 270, 268, 270, 270, 270, 270, 274,
461 10, 274, 274, 287, 10, 287, 287, 287, 285, 287,
462 287, 291, 10, 291, 419, 291, 308, 10, 308, 308,
463 308, 306, 308, 308, 308, 312, 10, 312, 312, 325,
464 10, 325, 325, 325, 323, 325, 325, 329, 10, 329,
465 342, 10, 342, 342, 342, 340, 342, 342, 342, 346,
466 10, 346, 346, 359, 10, 359, 359, 359, 357, 359,
467 359, 359, 359, 363, 10, 363, 419, 363, 370, 10,
468 370, 370, 370, 368, 370, 374, 10, 374, 381, 10,
469 381, 381, 381, 379, 381, 385, 10, 385, 385, 394,
470 10, 394, 394, 394, 392, 394, 394, 398, 10, 398,
472 10, 0, 2, 2, 0, 4, 7, 410, 409, 0,
473 0, 0, 0, 0, 0, 0, 21, 23, 23, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 32, 34, 34, 0, 47, 49, 49, 49, 49,
477 0, 0, 0, 77, 79, 79, 79, 79, 79, 79,
478 79, 79, 79, 0, 0, 100, 102, 102, 102, 102,
479 0, 113, 115, 115, 115, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 128, 130, 130, 130, 130,
481 0, 155, 157, 157, 157, 157, 157, 157, 0, 200,
483 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
484 202, 202, 202, 202, 0, 225, 227, 227, 227, 227,
485 227, 227, 227, 227, 0, 238, 240, 240, 240, 0,
486 269, 271, 271, 271, 271, 271, 271, 0, 286, 288,
487 288, 288, 288, 0, 0, 307, 309, 309, 309, 309,
488 309, 0, 324, 326, 326, 326, 0, 341, 343, 343,
489 343, 343, 0, 358, 360, 360, 360, 360, 360, 0,
490 0, 369, 371, 371, 0, 380, 382, 382, 0, 393,
491 395, 395, 395, 0, 0, 0, 0, 0, 3, 0,
492 0, 0, 0, 0, 0, 0, 417, 0, 23, 0,
494 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
496 0, 0, 0, 0, 34, 0, 0, 49, 0, 0,
497 49, 0, 0, 0, 412, 79, 0, 0, 79, 79,
498 79, 79, 79, 79, 0, 0, 0, 102, 102, 102,
499 0, 0, 0, 0, 115, 0, 0, 107, 0, 0,
500 0, 0, 0, 106, 0, 0, 130, 0, 0, 130,
501 0, 0, 157, 157, 157, 0, 0, 157, 157, 0,
502 0, 202, 202, 0, 0, 202, 0, 0, 202, 202,
503 202, 202, 202, 202, 202, 202, 0, 0, 227, 227,
505 227, 0, 0, 227, 227, 227, 0, 0, 240, 0,
506 0, 0, 0, 271, 0, 0, 271, 271, 271, 0,
507 0, 288, 288, 288, 0, 0, 0, 309, 309, 309,
508 309, 0, 0, 326, 0, 0, 0, 0, 343, 343,
509 343, 0, 0, 360, 360, 360, 360, 0, 0, 0,
510 371, 0, 0, 0, 0, 0, 0, 0, 0, 395,
511 0, 0, 0, 14, 1, 0, 0, 405, 0, 0,
512 0, 402, 401, 0, 0, 23, 0, 0, 25, 0,
513 107, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
516 0, 0, 0, 0, 34, 0, 0, 36, 0, 49,
517 0, 41, 40, 49, 0, 0, 0, 51, 0, 79,
518 0, 55, 54, 0, 0, 79, 0, 0, 79, 79,
519 79, 0, 0, 81, 0, 0, 102, 102, 102, 0,
520 0, 104, 0, 0, 109, 108, 115, 0, 0, 117,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
522 0, 122, 121, 130, 0, 0, 132, 0, 157, 157,
523 157, 0, 137, 136, 157, 157, 0, 0, 159, 0,
524 202, 202, 202, 202, 0, 176, 175, 202, 0, 164,
525 163, 0, 0, 202, 202, 202, 202, 202, 202, 202,
527 0, 0, 204, 0, 227, 227, 227, 227, 0, 209,
528 208, 0, 0, 227, 227, 0, 0, 229, 0, 240,
529 0, 234, 233, 0, 0, 242, 0, 271, 0, 247,
530 246, 271, 271, 271, 0, 0, 273, 0, 0, 0,
531 0, 0, 288, 0, 0, 290, 0, 0, 0, 0,
532 309, 309, 0, 0, 309, 0, 0, 311, 0, 326,
533 0, 316, 315, 0, 0, 328, 0, 0, 0, 343,
534 343, 0, 0, 0, 0, 345, 0, 360, 360, 360,
535 360, 0, 0, 362, 0, 0, 371, 0, 0, 373,
536 0, 0, 378, 377, 0, 0, 384, 0, 0, 389,
538 388, 395, 0, 0, 397, 0, 0, 0, 406, 400,
539 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
540 134, 0, 244, 207, 0, 0, 386, 0, 0, 0,
541 0, 0, 0, 0, 0, 206, 0, 0, 0, 0,
542 0, 0, 0, 49, 0, 0, 79, 0, 59, 58,
543 0, 0, 0, 57, 56, 79, 0, 0, 79, 0,
544 387, 102, 0, 0, 102, 0, 115, 0, 116, 0,
545 0, 135, 245, 0, 0, 0, 0, 130, 0, 0,
546 0, 157, 157, 0, 0, 157, 157, 0, 202, 202,
547 202, 202, 0, 0, 0, 178, 177, 202, 202, 202,
549 202, 202, 202, 202, 0, 227, 227, 227, 227, 0,
550 217, 216, 227, 227, 0, 240, 0, 271, 271, 271,
551 271, 0, 0, 280, 279, 0, 278, 277, 288, 0,
552 244, 0, 297, 296, 309, 309, 0, 295, 294, 309,
553 0, 326, 0, 0, 335, 334, 343, 343, 0, 333,
554 332, 0, 360, 0, 0, 360, 360, 0, 0, 371,
555 0, 0, 395, 0, 0, 0, 0, 12, 0, 403,
556 404, 0, 23, 0, 0, 0, 0, 0, 0, 134,
557 0, 244, 0, 207, 0, 0, 386, 0, 275, 0,
558 39, 0, 0, 0, 0, 206, 0, 38, 0, 30,
560 29, 0, 0, 43, 42, 49, 0, 0, 79, 0,
561 61, 60, 79, 0, 65, 64, 79, 0, 387, 102,
562 0, 0, 0, 0, 0, 0, 115, 0, 0, 135,
563 245, 276, 0, 276, 275, 130, 0, 124, 123, 0,
564 157, 157, 0, 141, 140, 0, 0, 0, 0, 157,
565 0, 202, 0, 0, 202, 202, 0, 174, 173, 0,
566 0, 202, 202, 202, 202, 202, 202, 0, 227, 0,
567 0, 227, 227, 0, 0, 227, 0, 240, 0, 271,
568 271, 271, 0, 0, 271, 0, 288, 0, 0, 309,
569 309, 309, 0, 326, 0, 343, 343, 0, 360, 0,
571 350, 349, 360, 360, 0, 0, 0, 0, 0, 0,
572 0, 0, 0, 0, 0, 0, 11, 0, 23, 0,
573 0, 0, 0, 0, 376, 0, 0, 0, 0, 53,
574 275, 231, 0, 39, 0, 375, 52, 0, 0, 0,
575 38, 0, 0, 49, 0, 0, 79, 79, 79, 0,
576 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 96, 95, 0, 115, 0, 0, 276, 232, 0, 130,
578 0, 157, 157, 0, 139, 138, 0, 0, 0, 157,
579 0, 158, 202, 0, 186, 185, 0, 0, 202, 0,
580 172, 171, 0, 0, 202, 202, 202, 202, 0, 0,
582 0, 227, 0, 213, 212, 0, 0, 227, 0, 211,
583 210, 227, 0, 228, 240, 0, 271, 271, 271, 0,
584 0, 0, 271, 0, 272, 288, 0, 0, 0, 0,
585 0, 0, 309, 0, 326, 0, 0, 0, 0, 0,
586 0, 360, 360, 360, 0, 0, 0, 367, 366, 0,
587 0, 0, 391, 390, 0, 396, 0, 0, 0, 0,
588 0, 0, 0, 292, 0, 0, 162, 376, 28, 0,
589 0, 348, 53, 231, 119, 0, 375, 52, 161, 27,
590 347, 0, 0, 49, 0, 0, 50, 79, 0, 0,
591 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 293, 0, 232,
594 120, 0, 0, 0, 157, 157, 0, 0, 157, 202,
595 0, 188, 187, 202, 0, 166, 165, 0, 0, 202,
596 202, 202, 0, 168, 167, 0, 227, 0, 215, 214,
597 227, 227, 240, 0, 271, 0, 0, 271, 271, 0,
598 0, 271, 288, 0, 289, 0, 0, 301, 300, 0,
599 299, 298, 309, 0, 326, 0, 0, 339, 338, 0,
600 337, 336, 0, 360, 360, 360, 0, 0, 0, 0,
601 0, 0, 0, 17, 0, 19, 18, 0, 292, 364,
602 0, 162, 28, 313, 16, 348, 119, 0, 161, 27,
604 347, 0, 0, 49, 411, 79, 0, 67, 66, 79,
605 0, 80, 0, 98, 97, 0, 0, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 111, 110, 293,
607 0, 120, 0, 126, 125, 0, 157, 157, 0, 0,
608 0, 0, 157, 202, 202, 0, 170, 169, 202, 202,
609 202, 0, 227, 227, 227, 240, 0, 241, 271, 0,
610 253, 252, 271, 271, 0, 0, 0, 0, 271, 288,
611 314, 309, 0, 326, 0, 0, 0, 0, 360, 360,
612 0, 365, 0, 0, 383, 0, 0, 0, 17, 0,
613 364, 0, 313, 16, 0, 0, 0, 35, 49, 0,
615 0, 79, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 0, 0, 131, 157, 157, 0, 147,
617 0, 146, 157, 202, 202, 0, 0, 202, 202, 0,
618 203, 227, 227, 227, 240, 0, 0, 271, 271, 271,
619 0, 257, 0, 256, 271, 288, 314, 309, 0, 310,
620 0, 0, 0, 0, 0, 352, 351, 0, 0, 360,
621 0, 361, 365, 0, 0, 0, 0, 0, 24, 0,
622 0, 0, 49, 0, 0, 0, 79, 0, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
624 157, 149, 148, 0, 0, 202, 202, 0, 198, 197,
626 202, 0, 0, 227, 227, 0, 0, 240, 0, 249,
627 248, 271, 271, 271, 259, 258, 0, 0, 288, 309,
628 0, 0, 0, 0, 327, 0, 0, 356, 355, 0,
629 0, 0, 372, 0, 0, 0, 330, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
631 0, 0, 88, 0, 0, 0, 0, 87, 0, 331,
632 157, 0, 0, 0, 151, 150, 202, 202, 202, 0,
633 196, 195, 227, 0, 0, 0, 223, 222, 0, 0,
634 271, 271, 271, 0, 261, 260, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 354, 353,
637 0, 0, 0, 330, 0, 0, 0, 45, 44, 0,
638 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 331, 0, 0,
640 157, 0, 153, 152, 202, 202, 202, 227, 0, 219,
641 218, 0, 236, 235, 271, 0, 0, 271, 0, 0,
642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 84, 83, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
645 0, 0, 0, 93, 0, 0, 0, 143, 142, 157,
646 202, 202, 202, 227, 271, 0, 255, 254, 271, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 318,
649 0, 0, 317, 0, 344, 0, 0, 0, 0, 0,
650 0, 84, 83, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 63, 62, 0, 0, 0, 0, 0, 0,
652 0, 157, 202, 202, 0, 0, 227, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 75, 71, 0, 0, 74, 70, 0, 92, 0, 0,
656 91, 0, 0, 0, 103, 157, 202, 202, 0, 0,
657 0, 227, 0, 251, 250, 0, 0, 0, 284, 0,
659 283, 0, 305, 0, 304, 0, 320, 322, 319, 321,
660 0, 0, 0, 12, 0, 12, 0, 0, 0, 0,
661 0, 86, 90, 85, 89, 157, 202, 202, 0, 0,
662 0, 0, 227, 0, 0, 0, 0, 282, 281, 303,
663 302, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 69, 0, 68, 0, 0, 145, 144, 0,
667 194, 193, 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 221, 220, 0, 0, 0, 0, 0, 0,
670 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 73, 72, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 180, 0, 0, 179, 0, 0, 263,
677 0, 0, 262, 0, 0, 0, 0, 0, 184, 0,
678 183, 0, 265, 0, 264, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 190, 0, 189,
681 0, 0, 0, 0, 0, 0, 192, 191, 182, 181,
682 267, 266, 0, 0, 0, 0, 0, 0, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 0, 0, 13, 0
694 static yyconst flex_int32_t yy_ec[256] =
696 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
697 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
700 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
701 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
702 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
703 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
704 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
705 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
707 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
708 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
709 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
715 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
716 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
718 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
719 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
720 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
721 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
722 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
726 static yyconst flex_int32_t yy_meta[73] =
728 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
729 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
730 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
731 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
732 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
733 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
734 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
738 static yyconst flex_int16_t yy_base[2810] =
740 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
741 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
742 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
743 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
744 239, 256, 274, 328, 294, 297, 382, 445, 305, 351,
745 508, 574, 300, 354, 358, 361, 402, 405, 408, 412,
746 640, 707, 415, 465, 774, 839, 468, 471, 475, 478,
747 528, 531, 534, 538, 541, 594, 597, 600, 604, 607,
748 660, 663, 666, 670, 673, 727, 730, 733, 737, 740,
749 794, 797, 800, 804, 807, 859, 904, 971, 862, 865,
751 869, 872, 924, 927, 930, 934, 1038, 1104, 991, 994,
752 997, 1001, 1058, 1061, 1064, 1068, 1170, 0, 1124, 1127,
753 1242, 0, 1130, 1134, 1314, 1371, 1334, 1337, 1428, 1494,
754 1340, 1344, 1391, 1394, 1397, 1401, 1448, 1451, 1560, 1626,
755 1454, 1458, 1461, 1514, 1517, 1520, 1524, 1527, 1692, 1758,
756 1580, 1583, 1586, 1590, 1593, 1646, 1649, 1652, 1824, 1881,
757 1656, 1659, 1938, 2004, 1712, 1715, 1718, 1722, 1725, 1778,
758 1781, 1784, 2070, 2136, 1788, 1791, 1844, 1847, 1850, 1854,
759 1857, 1901, 2202, 2271, 1904, 1907, 2340, 2397, 1911, 1914,
760 1958, 1961, 1964, 1968, 1971, 2024, 2454, 2523, 2027, 2030,
762 0, 0, 6822, 8423, 8423, 95, 100, 29, 41, 8423,
763 103, 51, 8423, 8423, 6807, 8423, 8423, 6796, 8423, 6811,
764 6809, 498, 8423, 8423, 8423, 8423, 6807, 6807, 6758, 145,
765 8423, 161, 6784, 0, 146, 8423, 6750, 8423, 166, 2588,
766 88, 204, 205, 254, 6788, 3, 8423, 169, 6779, 0,
767 153, 8423, 6741, 8423, 260, 419, 8423, 322, 6773, 0,
768 244, 8423, 6735, 6739, 6735, 420, 6740, 8423, 364, 6766,
769 0, 248, 8423, 6728, 6728, 257, 6730, 360, 8423, 440,
770 31, 6764, 6712, 8423, 567, 6754, 0, 306, 8423, 6710,
771 6711, 6702, 8423, 624, 482, 8423, 633, 6744, 0, 416,
773 8423, 6711, 6700, 8423, 692, 2042, 2043, 285, 35, 6735,
774 240, 135, 740, 1987, 59, 6744, 152, 8423, 697, 6735,
775 0, 417, 8423, 6690, 6699, 6678, 8423, 700, 6733, 181,
776 8423, 764, 6724, 0, 479, 8423, 6674, 6678, 6687, 6676,
777 6666, 8423, 767, 6720, 210, 8423, 824, 6711, 0, 480,
778 8423, 6659, 300, 6665, 6674, 6672, 185, 499, 439, 8423,
779 830, 546, 8423, 833, 6700, 0, 483, 8423, 6650, 6646,
780 6653, 6662, 6660, 6646, 6640, 8423, 889, 611, 8423, 895,
781 6684, 0, 545, 8423, 6641, 6650, 8423, 898, 612, 8423,
782 937, 6677, 0, 609, 8423, 6647, 6643, 6643, 615, 8423,
784 954, 6679, 310, 8423, 960, 6670, 0, 684, 8423, 6619,
785 306, 8423, 963, 760, 6672, 6624, 8423, 966, 6660, 0,
786 685, 8423, 6613, 6608, 425, 8423, 1004, 6661, 560, 8423,
787 1021, 6652, 0, 742, 8423, 6614, 6616, 8423, 1027, 752,
788 8423, 1030, 6647, 0, 808, 8423, 6600, 6591, 6595, 8423,
789 1033, 6647, 626, 8423, 1071, 6636, 0, 809, 8423, 6587,
790 6592, 6592, 6581, 8423, 1088, 304, 449, 527, 8423, 1094,
791 6627, 0, 873, 8423, 6595, 8423, 1137, 1142, 8423, 1154,
792 6623, 0, 874, 8423, 6590, 8423, 1162, 6625, 593, 8423,
793 1347, 6616, 0, 938, 8423, 6583, 6583, 8423, 1364, 1402,
795 1422, 713, 6560, 8423, 6620, 6605, 8423, 8423, 8423, 1468,
796 317, 6557, 6556, 6552, 6599, 6559, 8423, 0, 6548, 6541,
797 6564, 6537, 6525, 621, 6534, 6534, 6533, 30, 630, 6522,
798 6523, 687, 898, 6544, 697, 6521, 961, 6516, 822, 1035,
799 1304, 8423, 0, 6517, 6518, 8423, 0, 6515, 2092, 6504,
800 514, 6501, 6547, 8423, 0, 6501, 2100, 6490, 6511, 6494,
801 6502, 6500, 6496, 6482, 1427, 8423, 0, 6493, 6480, 6491,
802 6472, 8423, 0, 2110, 6466, 6511, 6493, 6455, 6464, 6468,
803 1031, 6453, 6480, 1097, 1100, 8423, 0, 6457, 2156, 6450,
804 6446, 8423, 0, 6462, 884, 2159, 6436, 6456, 6448, 8423,
806 0, 6450, 6450, 2162, 6432, 2165, 6425, 6421, 6437, 6433,
807 6416, 6434, 6429, 6423, 6425, 8423, 0, 6422, 6422, 6407,
808 2168, 6001, 5997, 6016, 6001, 8423, 0, 6001, 2222, 5997,
809 8423, 0, 6000, 2225, 5993, 6010, 6008, 5997, 8423, 0,
810 5987, 5995, 5985, 5978, 5977, 8423, 0, 5965, 5979, 5975,
811 5964, 5997, 8423, 0, 5953, 2228, 5953, 8423, 0, 5943,
812 5961, 5956, 5952, 8423, 0, 5940, 5930, 5936, 5944, 5921,
813 5918, 8423, 0, 5922, 5931, 8423, 0, 2231, 5919, 8423,
814 0, 2234, 5910, 5904, 5939, 5948, 991, 5896, 8423, 1476,
815 0, 5888, 5888, 5931, 5930, 5881, 8423, 5893, 5874, 2037,
817 2303, 1544, 5884, 5874, 5826, 5829, 5822, 5836, 5824, 5827,
818 5830, 5815, 5807, 5799, 5804, 5816, 5802, 5801, 1552, 5783,
819 5799, 5795, 5785, 5791, 5786, 2291, 2295, 5784, 2300, 1612,
820 5775, 5801, 2306, 2310, 8423, 5771, 2318, 1677, 2361, 5761,
821 2364, 5757, 5760, 5763, 2368, 2374, 5747, 5735, 5727, 5724,
822 2417, 2422, 2426, 1746, 5706, 2429, 2474, 1555, 5709, 5704,
823 5704, 5696, 5700, 1620, 5685, 5680, 5680, 2432, 1812, 5683,
824 2477, 2482, 5678, 5668, 5679, 2486, 1992, 5674, 5649, 2489,
825 2543, 5658, 1361, 2548, 2252, 5660, 2552, 2260, 2555, 5646,
826 5644, 5639, 5627, 5628, 5624, 5632, 2558, 2562, 5621, 959,
828 5612, 2582, 2325, 2585, 5614, 5599, 2592, 2595, 5599, 2604,
829 2387, 2614, 2622, 5598, 2627, 2444, 5596, 5581, 5576, 2654,
830 2657, 2660, 2663, 2666, 2669, 2684, 5580, 2688, 2691, 2694,
831 2698, 2716, 2720, 5586, 2725, 2512, 2728, 2731, 2735, 2758,
832 2761, 2764, 2767, 5587, 5569, 5563, 5556, 2770, 2779, 5564,
833 5545, 2789, 2792, 2798, 2802, 2811, 2816, 2819, 2823, 5543,
834 2831, 2838, 5586, 8423, 8423, 1057, 5546, 8423, 5586, 5578,
835 5527, 8423, 8423, 5525, 5523, 5528, 2843, 2846, 8423, 2850,
836 1685, 5522, 5514, 5528, 5510, 5520, 5502, 5508, 5506, 5497,
837 5491, 819, 5504, 5477, 5478, 5487, 5483, 5479, 1875, 5460,
839 5466, 5450, 1408, 5463, 2857, 2865, 2869, 8423, 2877, 2888,
840 2892, 8423, 8423, 2902, 5479, 2880, 2906, 8423, 2909, 5438,
841 2913, 8423, 8423, 2921, 2928, 2940, 2943, 2946, 5442, 2963,
842 5440, 2966, 2969, 8423, 2972, 1474, 5429, 2975, 5428, 2981,
843 2993, 8423, 2996, 3000, 8423, 8423, 5422, 3008, 3015, 8423,
844 3018, 5408, 5419, 5395, 5394, 5384, 5384, 5377, 5376, 5388,
845 3021, 8423, 8423, 3037, 3040, 3044, 8423, 3047, 5377, 5381,
846 3050, 3059, 8423, 8423, 5366, 5359, 3055, 3068, 8423, 3074,
847 5348, 5335, 5355, 5346, 3077, 8423, 8423, 3087, 3093, 8423,
848 8423, 3101, 3108, 5323, 5329, 5334, 5330, 5321, 5324, 5318,
850 3119, 3122, 8423, 3125, 5311, 5308, 5299, 5304, 3128, 8423,
851 8423, 3144, 3147, 5290, 5300, 3155, 3158, 8423, 3162, 5300,
852 3165, 8423, 8423, 3177, 3181, 8423, 3184, 5280, 3196, 8423,
853 8423, 5288, 5290, 5282, 3187, 3192, 8423, 3206, 3214, 3218,
854 3226, 3232, 5281, 3240, 3244, 8423, 3251, 5266, 3247, 3259,
855 5257, 5256, 3254, 3272, 5260, 3280, 3283, 8423, 3286, 5261,
856 3289, 8423, 8423, 3305, 3308, 8423, 3311, 3314, 3318, 5244,
857 5242, 3333, 3336, 3344, 3351, 8423, 3354, 5239, 3357, 5256,
858 5225, 3363, 3366, 8423, 3375, 5223, 5236, 3378, 3385, 8423,
859 3388, 3397, 8423, 8423, 3407, 3410, 8423, 3416, 3419, 8423,
861 8423, 5228, 3429, 3436, 8423, 3442, 1063, 3448, 8423, 8423,
862 5263, 5261, 5219, 5210, 3451, 5202, 5207, 5199, 5193, 5191,
863 1932, 5177, 2128, 2033, 5189, 5181, 2058, 5154, 5162, 5155,
864 5150, 5144, 5131, 5124, 5118, 2064, 5132, 5130, 3455, 3461,
865 3476, 3479, 3482, 5116, 5144, 3490, 5114, 3497, 8423, 8423,
866 3505, 3510, 3519, 8423, 8423, 5107, 3527, 3530, 5084, 3540,
867 2118, 5066, 3545, 3548, 3559, 3563, 5065, 3566, 8423, 5056,
868 5049, 2131, 2194, 5060, 5059, 5054, 5052, 5023, 3569, 3573,
869 3587, 5034, 5023, 3591, 3594, 3602, 3609, 3613, 5026, 3616,
870 5007, 5023, 3620, 3623, 3634, 8423, 8423, 3642, 5000, 5013,
872 4996, 4983, 4991, 4966, 3645, 4983, 3651, 4964, 4963, 3660,
873 8423, 8423, 3656, 4971, 3669, 4957, 3674, 4934, 4932, 4921,
874 3679, 3682, 3697, 8423, 8423, 3706, 8423, 8423, 4913, 3693,
875 2197, 3714, 8423, 8423, 4905, 4920, 3722, 8423, 8423, 4902,
876 3733, 4897, 3741, 3745, 8423, 8423, 4889, 4904, 3753, 8423,
877 8423, 3761, 4896, 3688, 3764, 4878, 4896, 3772, 4882, 3775,
878 3780, 3783, 3786, 3794, 1115, 4921, 3805, 8423, 4919, 8423,
879 8423, 4871, 4870, 3809, 4859, 4872, 4857, 4847, 4819, 2436,
880 4821, 2504, 4820, 2573, 4804, 4799, 2884, 4803, 3813, 4807,
881 3816, 4802, 4796, 4797, 4769, 3824, 4754, 3828, 3832, 8423,
883 8423, 3840, 3843, 8423, 8423, 4748, 4763, 3851, 4730, 3863,
884 8423, 8423, 4736, 3877, 8423, 8423, 4717, 3885, 3888, 4718,
885 3891, 1708, 1774, 3899, 3907, 3917, 4725, 4697, 4686, 3920,
886 3923, 3926, 4690, 3929, 3932, 4677, 3936, 8423, 8423, 3946,
887 4681, 4645, 3949, 8423, 8423, 3957, 3965, 3960, 3978, 4616,
888 3986, 4615, 3996, 3999, 4007, 4599, 4010, 8423, 8423, 4018,
889 4021, 4029, 4592, 4602, 4593, 4593, 4032, 4036, 4594, 4039,
890 4043, 4051, 4527, 4057, 4060, 4533, 4069, 4524, 4075, 4530,
891 4497, 4423, 4078, 4081, 4404, 4089, 4319, 4096, 4262, 4102,
892 4108, 4111, 4115, 4251, 4120, 4129, 4134, 4139, 4208, 4148,
894 8423, 8423, 4183, 4114, 4142, 4126, 4161, 4168, 4182, 4186,
895 4189, 4194, 4207, 818, 415, 900, 8423, 4113, 4210, 4213,
896 3991, 3924, 3934, 3850, 4216, 3861, 81, 110, 154, 4219,
897 4222, 4228, 254, 4232, 330, 4235, 4242, 369, 511, 547,
898 4245, 646, 4248, 699, 730, 4251, 699, 4254, 759, 4257,
899 4260, 795, 788, 980, 852, 867, 867, 1323, 899, 4263,
900 8423, 8423, 4278, 4282, 891, 916, 4285, 4288, 934, 4291,
901 4300, 956, 1005, 4303, 8423, 8423, 4312, 1033, 1042, 1042,
902 4320, 8423, 1045, 4325, 8423, 8423, 4333, 4339, 1063, 4347,
903 8423, 8423, 4355, 4358, 4366, 1086, 1096, 1111, 4369, 4373,
905 4387, 1112, 4390, 8423, 8423, 4398, 4402, 1281, 4410, 8423,
906 8423, 1297, 4418, 8423, 1307, 4421, 1292, 4424, 1316, 4427,
907 1334, 1351, 1345, 4442, 8423, 1349, 4445, 1341, 4448, 4451,
908 4466, 4471, 1353, 4479, 1351, 4485, 4488, 4491, 4499, 4506,
909 4517, 1355, 1361, 1387, 4520, 1406, 4523, 8423, 8423, 4531,
910 4539, 4546, 8423, 8423, 4554, 8423, 1523, 1703, 1468, 1408,
911 4558, 4561, 4569, 4576, 1403, 1411, 4588, 4593, 4596, 1416,
912 1424, 4599, 4602, 4605, 4608, 1448, 4611, 4614, 4617, 4620,
913 4623, 1472, 4626, 1479, 1504, 4629, 8423, 1487, 4633, 4636,
914 1527, 4651, 4654, 4657, 1556, 1560, 1560, 1567, 1560, 1570,
916 1571, 1573, 1584, 1582, 4665, 4672, 4678, 4686, 1580, 4690,
917 4693, 4696, 4699, 4707, 1598, 1598, 1641, 1655, 1607, 1610,
918 4715, 8423, 8423, 1610, 4726, 8423, 8423, 4734, 4737, 1623,
919 1621, 1632, 4745, 8423, 8423, 4753, 1649, 4759, 8423, 8423,
920 1665, 1675, 1668, 4767, 1686, 4772, 4775, 1692, 1688, 1773,
921 1785, 1694, 1705, 4786, 8423, 1696, 4790, 8423, 8423, 4798,
922 8423, 8423, 1723, 4806, 1728, 4809, 4813, 8423, 8423, 4821,
923 8423, 8423, 4829, 4832, 1745, 1741, 4835, 1750, 4838, 4841,
924 4844, 1802, 1803, 4710, 4866, 8423, 8423, 4875, 4850, 4878,
925 1751, 4881, 4884, 4887, 4890, 4894, 4900, 1779, 4903, 4906,
927 4909, 1794, 4912, 1796, 8423, 4915, 4918, 8423, 8423, 1799,
928 4926, 8423, 4934, 8423, 8423, 1842, 1833, 1848, 1848, 1871,
929 1887, 1880, 1895, 1891, 1898, 4945, 4948, 8423, 8423, 4956,
930 1858, 4959, 4964, 8423, 8423, 4972, 1873, 1878, 1910, 1948,
931 1942, 1968, 1925, 1923, 1926, 4975, 8423, 8423, 4983, 1921,
932 1934, 4986, 1931, 1938, 1939, 1944, 4991, 8423, 4994, 5006,
933 8423, 8423, 1943, 1940, 1976, 2014, 2011, 2038, 1996, 2009,
934 4997, 2014, 5001, 5014, 5020, 5023, 5026, 5032, 5044, 2016,
935 5047, 5050, 5053, 5056, 8423, 5062, 2066, 2095, 5066, 5075,
936 5084, 2030, 5087, 5090, 2038, 2039, 5094, 8423, 2033, 5097,
938 5100, 2052, 2080, 2077, 2092, 2125, 2136, 2134, 2131, 2145,
939 2137, 2148, 5108, 2121, 5115, 8423, 2122, 2125, 2187, 8423,
940 2186, 8423, 5119, 2151, 2191, 5127, 5130, 2181, 5138, 5141,
941 8423, 2176, 2180, 5145, 2185, 5148, 5156, 2198, 2198, 2200,
942 2254, 8423, 2256, 8423, 5151, 2208, 5169, 2209, 5172, 8423,
943 5175, 5178, 5186, 5193, 5196, 8423, 8423, 5205, 5208, 5216,
944 5219, 8423, 5223, 5226, 2276, 2267, 2312, 5229, 8423, 2217,
945 2247, 2248, 5234, 5238, 2344, 2597, 2254, 2295, 2311, 2312,
946 2316, 2333, 2343, 2359, 2360, 2363, 2383, 5248, 2342, 2341,
947 5252, 8423, 8423, 5255, 5260, 2350, 2364, 5273, 8423, 8423,
949 2384, 5281, 5284, 2380, 5292, 5295, 5299, 5313, 5316, 8423,
950 8423, 2413, 2429, 2426, 8423, 8423, 5324, 5327, 5335, 5338,
951 5342, 2578, 2608, 5356, 8423, 5359, 5362, 8423, 8423, 5370,
952 5378, 5388, 8423, 2490, 2492, 2553, 5391, 2444, 2445, 5394,
953 5397, 2460, 2463, 2482, 2465, 2483, 2546, 2459, 2497, 2506,
954 2527, 2537, 8423, 2558, 2548, 2546, 2560, 8423, 5407, 5412,
955 5415, 5418, 5426, 5436, 8423, 8423, 2563, 2558, 2576, 5444,
956 8423, 8423, 2580, 5452, 5455, 5463, 8423, 8423, 5471, 5474,
957 2577, 5482, 2589, 5485, 8423, 8423, 5493, 5496, 5504, 5507,
958 2605, 2614, 2615, 2639, 2640, 2641, 5515, 5518, 8423, 8423,
960 2683, 2660, 5526, 5421, 2614, 2616, 5530, 8423, 8423, 2677,
961 2670, 2671, 2680, 2687, 2676, 2677, 2688, 5538, 2681, 2703,
962 2735, 2720, 2705, 2725, 2740, 2730, 5545, 5548, 5551, 5557,
963 2699, 5569, 8423, 8423, 2701, 2697, 2703, 2722, 5577, 8423,
964 8423, 5585, 8423, 8423, 2725, 5595, 5598, 2707, 5606, 2762,
965 2820, 5614, 2829, 2906, 2742, 2751, 2783, 2755, 2768, 2807,
966 5622, 2808, 5625, 5628, 5631, 5650, 5653, 2795, 2811, 2818,
967 2817, 2840, 2851, 2868, 2863, 5656, 5659, 2885, 2888, 8423,
968 2890, 2898, 2903, 8423, 2905, 5667, 5670, 8423, 8423, 2879,
969 2881, 2882, 5678, 2896, 5681, 5686, 8423, 8423, 5699, 2918,
971 2930, 2921, 2934, 2925, 2937, 2944, 2955, 2952, 2962, 8423,
972 2955, 2965, 8423, 5702, 8423, 3011, 5705, 5708, 5717, 5737,
973 5784, 5727, 5748, 2968, 2999, 3001, 2968, 2989, 3006, 3017,
974 2989, 5757, 8423, 8423, 3026, 3001, 3003, 3028, 3022, 3033,
975 5774, 3015, 3023, 3033, 5778, 5765, 3026, 5796, 5804, 5814,
976 5817, 3081, 3053, 3084, 3059, 3094, 3062, 3098, 3069, 3107,
977 3109, 3107, 3109, 3172, 5832, 3113, 3132, 5852, 5899, 3121,
978 8423, 8423, 3098, 3124, 8423, 8423, 3105, 8423, 3138, 3148,
979 8423, 3146, 3161, 5825, 8423, 3119, 3120, 3104, 5840, 3184,
980 3186, 3124, 5872, 8423, 8423, 5880, 3192, 3302, 8423, 3197,
982 8423, 3197, 8423, 3208, 8423, 3223, 8423, 8423, 8423, 8423,
983 3219, 3274, 3249, 3234, 3314, 3250, 5889, 3257, 3251, 3281,
984 3271, 8423, 8423, 8423, 8423, 5893, 5911, 5919, 3308, 3270,
985 3321, 3272, 5922, 3322, 3273, 3353, 3275, 8423, 8423, 8423,
986 8423, 5929, 3299, 3305, 3323, 5932, 3344, 3351, 3375, 3363,
987 5925, 5951, 5959, 5962, 5970, 5973, 3353, 3363, 3375, 3362,
988 3371, 3385, 5984, 5988, 3375, 3383, 3402, 3386, 3396, 3412,
989 5996, 3415, 8423, 3407, 8423, 3408, 6002, 8423, 8423, 6011,
990 8423, 8423, 6019, 3421, 3434, 3410, 3433, 3434, 3438, 3443,
991 3449, 6027, 8423, 8423, 3452, 3457, 3457, 3460, 3469, 3467,
993 3495, 8423, 3505, 3508, 3498, 3497, 3505, 3508, 3508, 3520,
994 3527, 3525, 3531, 3532, 3529, 3549, 3554, 3551, 3559, 3559,
995 3611, 8423, 8423, 3547, 3577, 3561, 3580, 3571, 3568, 3605,
996 3597, 3600, 3617, 3614, 3615, 3642, 3631, 3633, 3654, 3699,
997 3650, 3650, 3656, 3666, 3679, 3677, 3715, 3696, 3692, 3721,
998 3706, 3696, 3732, 3716, 3709, 3741, 3732, 3739, 3745, 3742,
999 3754, 3785, 3760, 8423, 3792, 3769, 8423, 3798, 3773, 8423,
1000 3812, 3789, 8423, 3836, 3787, 3808, 3802, 3815, 8423, 3824,
1001 8423, 3825, 8423, 3833, 8423, 3835, 6035, 3836, 3862, 3847,
1002 3866, 3833, 3838, 3840, 3841, 6038, 3890, 8423, 3889, 8423,
1004 3893, 3897, 3901, 3903, 3921, 3936, 8423, 8423, 8423, 8423,
1005 8423, 8423, 3926, 3937, 3998, 4008, 3923, 3987, 4109, 4140,
1006 3953, 3963, 4074, 4076, 4054, 4081, 3897, 4082, 3997, 4047,
1007 4106, 4114, 4254, 4279, 4147, 4221, 4135, 4155, 4162, 4319,
1008 4146, 4256, 3924, 4174, 4263, 4276, 4313, 4345, 4277, 4326,
1009 3976, 4327, 4343, 4375, 4346, 4377, 4138, 4378, 4367, 4398,
1010 4422, 4439, 4415, 4417, 4493, 4519, 4491, 4527, 4441, 4451,
1011 4464, 4556, 4478, 4657, 4497, 4518, 4048, 4533, 4511, 4623,
1012 4621, 4642, 4663, 4702, 4363, 4652, 4714, 4722, 4706, 4730,
1013 4389, 4747, 4746, 4808, 4508, 4763, 6046, 6049, 8423, 8423,
1015 6069, 6078, 6087, 6096, 6105, 6114, 6123, 6132, 6141, 6150,
1016 6159, 6168, 6177, 6186, 6195, 6204, 6213, 6222, 6231, 6240,
1017 6249, 6258, 6267, 6276, 6285, 6294, 6303, 6312, 6321, 6330,
1018 6339, 6348, 6357, 6366, 6375, 6384, 6393, 6402, 6411, 6420,
1019 6429, 6438, 6447, 6456, 6463, 6470, 6477, 6484, 6491, 6498,
1020 6505, 6512, 6519, 6526, 6533, 6540, 6547, 6554, 6561, 6568,
1021 6575, 6582, 6589, 6596, 6605, 6612, 6617, 6624, 6629, 6636,
1022 6641, 6648, 6653, 6660, 6665, 6672, 6677, 6684, 6689, 6696,
1023 6701, 6708, 6713, 6720, 6725, 6732, 6737, 6744, 6749, 6756,
1024 6761, 6768, 6773, 6780, 6785, 6792, 6797, 6804, 6809, 6816,
1026 6821, 6828, 6833, 6840, 6845, 6854, 6860, 6867, 6875, 6882,
1027 6890, 6897, 6905, 6912, 6920, 6927, 6935, 6942, 6950, 6957,
1028 6965, 6972, 6980, 6987, 6995, 7002, 7010, 7017, 7025, 7032,
1029 7040, 7048, 7056, 7064, 7072, 7079, 7087, 7095, 7103, 7110,
1030 7118, 7125, 7133, 7141, 7148, 7156, 7165, 7171, 7178, 7186,
1031 7194, 7202, 7210, 7218, 7225, 7233, 7240, 7248, 7255, 7263,
1032 7270, 7278, 7285, 7293, 7300, 7308, 7315, 7323, 7330, 7338,
1033 7345, 7353, 7360, 7368, 7375, 7383, 7390, 7398, 7405, 7413,
1034 7420, 7428, 7435, 7443, 7451, 7458, 7466, 7475, 7484, 7491,
1035 7499, 7507, 7514, 7522, 7529, 7537, 7544, 7552, 7559, 7566,
1037 7574, 7581, 7589, 7596, 7604, 7611, 7619, 7626, 7634, 7641,
1038 7649, 7656, 7664, 7671, 7679, 7686, 7694, 7701, 7709, 7716,
1039 7724, 7732, 7740, 7748, 7756, 7764, 7773, 7782, 7789, 7797,
1040 7805, 7812, 7820, 7827, 7835, 7842, 7850, 7857, 7864, 7872,
1041 7879, 7887, 7894, 7902, 7909, 7917, 7924, 7932, 7939, 7947,
1042 7954, 7962, 7970, 7978, 7985, 7993, 8001, 8009, 8016, 8024,
1043 8032, 8040, 8048, 8057, 8066, 8074, 8082, 8090, 8097, 8105,
1044 8112, 8120, 8128, 8136, 8144, 8152, 8160, 8167, 8174, 8182,
1045 8189, 8196, 8204, 8211, 8218, 8226, 8233, 8241, 8248, 8256,
1046 8264, 8271, 8279, 8287, 8295, 8304, 8313, 8321, 8329, 8336,
1048 8343, 8351, 8359, 8368, 8377, 8386, 8395, 8404, 8413
1051 static yyconst flex_int16_t yy_def[2810] =
1053 2501, 2501, 2502, 2502, 2502, 2502, 2503, 2503, 2504, 2504,
1054 2505, 2505, 2506, 2506, 2506, 2506, 2507, 2507, 2501, 2501,
1055 2508, 2508, 2509, 2509, 2509, 2509, 2501, 2501, 2509, 2509,
1056 2509, 2509, 2501, 2501, 2509, 2509, 2501, 2501, 2509, 2509,
1057 2509, 2509, 2510, 2510, 2511, 2511, 2512, 2512, 2506, 2506,
1058 2513, 2513, 2514, 2514, 2501, 2501, 2514, 2514, 2514, 2514,
1059 2515, 2515, 2516, 2516, 2517, 2517, 2518, 2518, 2518, 2518,
1060 2501, 2501, 2518, 2518, 2518, 2518, 2501, 2501, 2518, 2518,
1061 2501, 2501, 2518, 2518, 2518, 2518, 2501, 2501, 2518, 2518,
1062 2501, 2501, 2518, 2518, 2518, 2518, 2519, 2519, 2520, 2520,
1064 2501, 2501, 2520, 2520, 2520, 2520, 2521, 2521, 2522, 2522,
1065 2501, 2501, 2522, 2522, 2522, 2522, 2500, 117, 2523, 2523,
1066 2500, 121, 2524, 2524, 2525, 2525, 2526, 2526, 2527, 2527,
1067 2528, 2528, 2501, 2501, 2528, 2528, 2528, 2528, 2529, 2529,
1068 2530, 2530, 2501, 2501, 2530, 2530, 2530, 2530, 2531, 2531,
1069 2532, 2532, 2501, 2501, 2532, 2532, 2532, 2532, 2533, 2533,
1070 2534, 2534, 2535, 2535, 2536, 2536, 2501, 2501, 2536, 2536,
1071 2536, 2536, 2537, 2537, 2538, 2538, 2501, 2501, 2538, 2538,
1072 2538, 2538, 2539, 2539, 2540, 2540, 2541, 2541, 2542, 2542,
1073 2501, 2501, 2542, 2542, 2542, 2542, 2543, 2543, 2544, 2544,
1075 2501, 2501, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1076 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1077 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1078 2500, 2500, 2500, 2545, 2500, 2500, 2545, 2500, 2500, 2500,
1079 240, 240, 240, 240, 243, 243, 2500, 2500, 2500, 2546,
1080 2500, 2500, 2546, 2500, 2500, 2500, 2500, 2500, 2500, 2547,
1081 2500, 2500, 2547, 2547, 2547, 2500, 2500, 2500, 2500, 2500,
1082 2548, 2500, 2500, 2548, 2548, 2548, 2548, 2548, 2500, 2500,
1083 243, 281, 281, 2500, 2500, 2500, 2549, 2500, 2500, 2549,
1084 2549, 2549, 2500, 2500, 2500, 2500, 2500, 2500, 2550, 2500,
1086 2500, 2550, 2550, 2500, 2500, 244, 281, 244, 306, 307,
1087 307, 307, 307, 313, 314, 313, 313, 2500, 2500, 2500,
1088 2551, 2500, 2500, 2551, 2551, 2551, 2500, 2500, 281, 281,
1089 2500, 2500, 2500, 2552, 2500, 2500, 2552, 2552, 2552, 2552,
1090 2552, 2500, 2500, 281, 281, 2500, 2500, 2500, 2553, 2500,
1091 2500, 2553, 2553, 2553, 2553, 2553, 2553, 2553, 2553, 2500,
1092 2500, 2500, 2500, 2500, 2500, 2554, 2500, 2500, 2554, 2554,
1093 2554, 2554, 2554, 2554, 2554, 2500, 2500, 2500, 2500, 2500,
1094 2500, 2555, 2500, 2500, 2555, 2555, 2500, 2500, 2500, 2500,
1095 2500, 2500, 2556, 2500, 2500, 2556, 2556, 2556, 2556, 2500,
1097 2500, 281, 281, 2500, 2500, 2500, 2557, 2500, 2500, 2557,
1098 2557, 2500, 2500, 281, 414, 414, 2500, 2500, 2500, 2558,
1099 2500, 2500, 2558, 2558, 2558, 2500, 2500, 414, 414, 2500,
1100 2500, 2500, 2559, 2500, 2500, 2559, 2559, 2500, 2500, 2500,
1101 2500, 2500, 2500, 2560, 2500, 2500, 2560, 2560, 2560, 2500,
1102 2500, 414, 414, 2500, 2500, 2500, 2561, 2500, 2500, 2561,
1103 2561, 2561, 2561, 2500, 2500, 281, 281, 281, 2500, 2500,
1104 2500, 2562, 2500, 2500, 2562, 2500, 2500, 2500, 2500, 2500,
1105 2500, 2563, 2500, 2500, 2563, 2500, 2500, 281, 281, 2500,
1106 2500, 2500, 2564, 2500, 2500, 2564, 2564, 2500, 2500, 2500,
1108 2500, 2565, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1109 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2566, 2566, 2567,
1110 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1111 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1112 2500, 2500, 2568, 2568, 2569, 2500, 2570, 2570, 2570, 2570,
1113 2500, 2571, 2500, 2500, 2572, 2572, 2572, 2572, 2572, 2572,
1114 2572, 2572, 2572, 2573, 2500, 2500, 2574, 2574, 2574, 2574,
1115 2575, 2500, 2576, 2576, 2576, 2577, 2500, 2500, 2500, 2500,
1116 2500, 2500, 2500, 2500, 2500, 2500, 2578, 2578, 2578, 2578,
1117 2579, 2500, 2580, 2580, 2580, 2580, 2580, 2580, 2581, 2500,
1119 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582, 2582,
1120 2582, 2582, 2582, 2582, 2583, 2500, 2584, 2584, 2584, 2584,
1121 2584, 2584, 2584, 2584, 2585, 2500, 2586, 2586, 2586, 2587,
1122 2500, 2588, 2588, 2588, 2588, 2588, 2588, 2589, 2500, 2590,
1123 2590, 2590, 2590, 2591, 2500, 2500, 2592, 2592, 2592, 2592,
1124 2592, 2593, 2500, 2594, 2594, 2594, 2595, 2500, 2596, 2596,
1125 2596, 2596, 2597, 2500, 2598, 2598, 2598, 2598, 2598, 2599,
1126 2500, 2500, 2600, 2600, 2601, 2500, 2602, 2602, 2603, 2500,
1127 2604, 2604, 2604, 2605, 2606, 2500, 2606, 2500, 2500, 2500,
1128 2607, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2608, 2609,
1130 2609, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1131 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1132 2500, 2500, 2500, 2500, 2610, 2611, 2611, 2612, 2500, 2500,
1133 2612, 2500, 2613, 2613, 2500, 2614, 2500, 2500, 2614, 2614,
1134 2614, 2614, 2614, 2614, 2615, 2615, 2500, 2616, 2616, 2616,
1135 2617, 2617, 2500, 2500, 2618, 2619, 2619, 2500, 2500, 2500,
1136 2500, 2500, 2500, 2500, 2500, 2500, 2620, 2500, 2500, 2620,
1137 2621, 2621, 2622, 2622, 2622, 2500, 2500, 2622, 2622, 2623,
1138 2623, 2624, 2624, 2500, 2500, 2624, 2500, 2500, 2624, 2624,
1139 2624, 2624, 2624, 2624, 2624, 2624, 2625, 2625, 2626, 2626,
1141 2626, 2500, 2500, 2626, 2626, 2626, 2627, 2627, 2628, 2500,
1142 2500, 2629, 2629, 2630, 2500, 2500, 2630, 2630, 2630, 2631,
1143 2631, 2632, 2632, 2632, 2633, 2633, 2500, 2634, 2634, 2634,
1144 2634, 2635, 2635, 2636, 2500, 2500, 2637, 2637, 2638, 2638,
1145 2638, 2639, 2639, 2640, 2640, 2640, 2640, 2641, 2641, 2500,
1146 2642, 2643, 2643, 2500, 2500, 2644, 2644, 2500, 2500, 2645,
1147 2646, 2646, 2647, 2500, 2500, 2647, 2500, 2500, 2648, 2500,
1148 2500, 2500, 2500, 2500, 2500, 2649, 2500, 2650, 2500, 2650,
1149 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1150 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1152 2500, 2500, 2500, 2500, 2651, 2500, 2652, 2500, 2652, 2653,
1153 2500, 2500, 2500, 2653, 2500, 2500, 2654, 2500, 2654, 2655,
1154 2500, 2500, 2500, 2500, 2500, 2655, 2500, 2500, 2655, 2655,
1155 2655, 2500, 2656, 2500, 2656, 2500, 2657, 2657, 2657, 2500,
1156 2658, 2500, 2658, 2500, 2500, 2500, 2659, 2500, 2660, 2500,
1157 2660, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2661,
1158 2500, 2500, 2500, 2661, 2500, 2662, 2500, 2662, 2663, 2663,
1159 2663, 2500, 2500, 2500, 2663, 2663, 2500, 2664, 2500, 2664,
1160 2665, 2665, 2665, 2665, 2500, 2500, 2500, 2665, 2500, 2500,
1161 2500, 2500, 2500, 2665, 2665, 2665, 2665, 2665, 2665, 2665,
1163 2500, 2666, 2500, 2666, 2667, 2667, 2667, 2667, 2500, 2500,
1164 2500, 2500, 2500, 2667, 2667, 2500, 2668, 2500, 2668, 2669,
1165 2500, 2500, 2500, 2500, 2670, 2500, 2670, 2671, 2500, 2500,
1166 2500, 2671, 2671, 2671, 2500, 2672, 2500, 2672, 2500, 2500,
1167 2500, 2500, 2673, 2500, 2674, 2500, 2674, 2500, 2500, 2500,
1168 2675, 2675, 2500, 2500, 2675, 2500, 2676, 2500, 2676, 2677,
1169 2500, 2500, 2500, 2500, 2678, 2500, 2678, 2500, 2500, 2679,
1170 2679, 2500, 2500, 2500, 2680, 2500, 2680, 2681, 2681, 2681,
1171 2681, 2500, 2682, 2500, 2682, 2500, 2683, 2500, 2684, 2500,
1172 2684, 2500, 2500, 2500, 2500, 2685, 2500, 2685, 2500, 2500,
1174 2500, 2686, 2500, 2687, 2500, 2687, 2688, 2689, 2500, 2500,
1175 2500, 2500, 2500, 2690, 2691, 2500, 2500, 2500, 2500, 2500,
1176 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1177 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1178 2692, 2500, 2500, 2693, 2500, 2694, 2695, 2500, 2500, 2500,
1179 2500, 2500, 2500, 2500, 2500, 2695, 2500, 2500, 2695, 2696,
1180 2500, 2697, 2500, 2500, 2697, 2698, 2699, 2500, 2500, 2500,
1181 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2700, 2500, 2500,
1182 2701, 2702, 2702, 2500, 2500, 2702, 2702, 2703, 2704, 2704,
1183 2704, 2704, 2500, 2500, 2500, 2500, 2500, 2704, 2704, 2704,
1185 2704, 2704, 2704, 2704, 2705, 2706, 2706, 2706, 2706, 2500,
1186 2500, 2500, 2706, 2706, 2707, 2708, 2709, 2710, 2710, 2710,
1187 2710, 2711, 2500, 2500, 2500, 2500, 2500, 2500, 2712, 2713,
1188 2500, 2500, 2500, 2500, 2714, 2714, 2500, 2500, 2500, 2714,
1189 2715, 2716, 2717, 2500, 2500, 2500, 2718, 2718, 2500, 2500,
1190 2500, 2719, 2720, 2500, 2500, 2720, 2720, 2721, 2500, 2722,
1191 2723, 2724, 2725, 2726, 2727, 2728, 2728, 2500, 2728, 2500,
1192 2500, 2500, 2729, 2730, 2500, 2500, 2500, 2500, 2500, 2500,
1193 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1194 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1196 2500, 2731, 2500, 2500, 2500, 2732, 2500, 2733, 2734, 2500,
1197 2500, 2500, 2734, 2500, 2500, 2500, 2734, 2735, 2500, 2736,
1198 2500, 2500, 2500, 2500, 2500, 2737, 2738, 2500, 2500, 2500,
1199 2500, 2500, 2500, 2500, 2500, 2739, 2500, 2500, 2500, 2740,
1200 2741, 2741, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2741,
1201 2742, 2743, 2500, 2500, 2743, 2743, 2500, 2500, 2500, 2500,
1202 2500, 2743, 2743, 2743, 2743, 2743, 2743, 2744, 2745, 2500,
1203 2500, 2745, 2745, 2500, 2500, 2745, 2746, 2747, 2748, 2749,
1204 2749, 2749, 2500, 2500, 2749, 2750, 2751, 2752, 2500, 2753,
1205 2753, 2753, 2754, 2755, 2756, 2757, 2757, 2758, 2759, 2500,
1207 2500, 2500, 2759, 2759, 2760, 2500, 2500, 2500, 2761, 2762,
1208 2500, 2500, 2763, 2764, 2765, 2765, 2500, 2500, 2766, 2767,
1209 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1210 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1211 2500, 2500, 2768, 2769, 2500, 2770, 2771, 2771, 2771, 2772,
1212 2773, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1213 2500, 2500, 2774, 2775, 2500, 2500, 2500, 2500, 2500, 2776,
1214 2777, 2778, 2778, 2500, 2500, 2500, 2500, 2500, 2500, 2778,
1215 2500, 2500, 2779, 2500, 2500, 2500, 2500, 2500, 2779, 2500,
1216 2500, 2500, 2500, 2500, 2779, 2779, 2779, 2779, 2500, 2500,
1218 2780, 2781, 2500, 2500, 2500, 2500, 2500, 2781, 2500, 2500,
1219 2500, 2781, 2500, 2500, 2782, 2783, 2784, 2784, 2784, 2500,
1220 2500, 2500, 2784, 2500, 2500, 2785, 2786, 2500, 2500, 2500,
1221 2500, 2500, 2787, 2788, 2789, 2790, 2500, 2500, 2500, 2500,
1222 2791, 2792, 2792, 2792, 2793, 2500, 2500, 2500, 2500, 2794,
1223 2795, 2500, 2500, 2500, 2500, 2500, 2796, 2797, 2797, 2500,
1224 2500, 2500, 2798, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1225 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1226 2500, 2500, 2799, 2800, 2500, 2500, 2500, 2801, 2500, 2500,
1227 2801, 2802, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1229 2500, 2500, 2500, 2500, 2803, 2500, 2500, 2500, 2500, 2500,
1230 2500, 2500, 2500, 2777, 2778, 2778, 2500, 2500, 2778, 2779,
1231 2500, 2500, 2500, 2779, 2500, 2500, 2500, 2500, 2500, 2779,
1232 2779, 2779, 2500, 2500, 2500, 2780, 2781, 2500, 2500, 2500,
1233 2781, 2781, 2782, 2783, 2784, 2500, 2500, 2784, 2784, 2500,
1234 2500, 2784, 2785, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1235 2500, 2500, 2787, 2788, 2789, 2790, 2500, 2500, 2500, 2500,
1236 2500, 2500, 2791, 2792, 2792, 2792, 2793, 2500, 2794, 2795,
1237 2796, 2797, 2797, 2500, 2500, 2500, 2500, 2798, 2500, 2500,
1238 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1240 2500, 2500, 2799, 2800, 2500, 2801, 2500, 2500, 2500, 2801,
1241 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1242 2500, 2500, 2500, 2500, 2500, 2803, 2500, 2500, 2500, 2500,
1243 2500, 2500, 2500, 2500, 2500, 2777, 2778, 2778, 2500, 2500,
1244 2500, 2500, 2778, 2779, 2779, 2500, 2500, 2500, 2779, 2779,
1245 2779, 2780, 2781, 2781, 2781, 2782, 2500, 2500, 2784, 2500,
1246 2500, 2500, 2784, 2784, 2500, 2500, 2500, 2500, 2784, 2785,
1247 2500, 2787, 2788, 2789, 2790, 2791, 2500, 2500, 2792, 2792,
1248 2793, 2500, 2794, 2500, 2500, 2796, 2797, 2797, 2500, 2798,
1249 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2800, 2500,
1251 2500, 2801, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1252 2500, 2500, 2803, 2500, 2500, 2500, 2778, 2778, 2500, 2500,
1253 2500, 2500, 2778, 2779, 2779, 2500, 2500, 2779, 2779, 2500,
1254 2500, 2781, 2781, 2781, 2782, 2500, 2500, 2784, 2784, 2784,
1255 2500, 2500, 2500, 2500, 2784, 2785, 2500, 2787, 2500, 2500,
1256 2500, 2500, 2790, 2791, 2500, 2500, 2500, 2500, 2500, 2792,
1257 2500, 2500, 2500, 2794, 2796, 2797, 2797, 2500, 2500, 2500,
1258 2500, 2500, 2800, 2500, 2500, 2500, 2801, 2500, 2500, 2500,
1259 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2803, 2500, 2778,
1260 2778, 2500, 2500, 2500, 2500, 2779, 2779, 2500, 2500, 2500,
1262 2779, 2500, 2500, 2781, 2781, 2500, 2500, 2782, 2500, 2500,
1263 2500, 2784, 2784, 2784, 2500, 2500, 2500, 2500, 2785, 2787,
1264 2500, 2500, 2500, 2500, 2500, 2791, 2500, 2500, 2500, 2500,
1265 2500, 2500, 2500, 2796, 2797, 2797, 2500, 2500, 2500, 2500,
1266 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2801, 2500, 2500,
1267 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2803, 2500,
1268 2778, 2500, 2500, 2500, 2500, 2500, 2779, 2779, 2779, 2500,
1269 2500, 2500, 2781, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1270 2784, 2784, 2784, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1271 2500, 2500, 2500, 2500, 2500, 2500, 2791, 2500, 2500, 2500,
1273 2796, 2797, 2797, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1274 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2801, 2500, 2500,
1275 2500, 2500, 2500, 2500, 2500, 2500, 2803, 2500, 2500, 2500,
1276 2778, 2500, 2500, 2500, 2779, 2779, 2779, 2781, 2500, 2500,
1277 2500, 2500, 2500, 2500, 2784, 2500, 2500, 2784, 2500, 2500,
1278 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1279 2791, 2796, 2797, 2797, 2797, 2500, 2500, 2500, 2500, 2500,
1280 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1281 2500, 2500, 2500, 2500, 2500, 2803, 2500, 2500, 2500, 2778,
1282 2779, 2779, 2779, 2781, 2784, 2500, 2500, 2500, 2784, 2500,
1284 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1285 2500, 2500, 2500, 2500, 2500, 2796, 2797, 2797, 2797, 2804,
1286 2805, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1287 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1288 2803, 2778, 2779, 2779, 2500, 2500, 2781, 2500, 2500, 2500,
1289 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1290 2500, 2500, 2500, 2796, 2797, 2806, 2807, 2804, 2805, 2500,
1291 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1292 2500, 2500, 2500, 2500, 2500, 2778, 2779, 2779, 2500, 2500,
1293 2500, 2781, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1295 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1296 2796, 2806, 2797, 2808, 2807, 2809, 2797, 2500, 2500, 2500,
1297 2500, 2500, 2500, 2500, 2500, 2778, 2779, 2779, 2500, 2500,
1298 2500, 2500, 2781, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1299 2500, 2796, 2808, 2500, 2809, 2797, 2500, 2500, 2500, 2500,
1300 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1301 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1302 2796, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1303 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1304 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1306 2796, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1307 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1308 2796, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1309 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2796,
1310 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1311 2500, 2500, 2500, 2500, 2500, 2500, 2796, 2500, 2500, 2500,
1312 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1313 2500, 2500, 2500, 2796, 2500, 2500, 2500, 2500, 2500, 2500,
1314 2500, 2500, 2500, 2500, 2500, 2500, 2796, 2500, 2500, 2500,
1315 2500, 2500, 2500, 2500, 2500, 2796, 2500, 2500, 2500, 2500,
1317 2500, 2500, 2500, 2500, 2796, 2796, 2500, 2500, 2500, 2500,
1318 2500, 2500, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1319 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1320 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1321 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1322 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1323 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1324 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1325 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1326 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2500, 0,
1328 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1329 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1330 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1331 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1332 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1333 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1334 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1335 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1336 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1337 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1339 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1340 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1341 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1342 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1343 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1344 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1345 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1346 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1347 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1348 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1350 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1351 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1352 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1353 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1354 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1355 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1356 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1357 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1358 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1359 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
1361 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500
1364 static yyconst flex_int16_t yy_nxt[8496] =
1366 2500, 206, 207, 206, 206, 207, 206, 206, 207, 206,
1367 206, 207, 206, 211, 207, 211, 217, 208, 214, 217,
1368 208, 214, 2500, 209, 2500, 215, 209, 2500, 215, 212,
1369 211, 207, 211, 502, 218, 220, 221, 218, 220, 221,
1370 222, 223, 564, 222, 223, 502, 212, 227, 228, 503,
1371 224, 220, 221, 224, 225, 505, 222, 220, 221, 536,
1372 225, 504, 222, 227, 228, 537, 224, 207, 207, 207,
1373 576, 504, 224, 207, 207, 207, 239, 207, 239, 239,
1374 207, 239, 710, 230, 239, 207, 239, 536, 711, 230,
1375 525, 229, 240, 565, 712, 240, 501, 501, 501, 533,
1377 241, 501, 501, 501, 501, 501, 501, 229, 231, 232,
1378 207, 232, 231, 231, 231, 231, 231, 231, 231, 233,
1379 231, 231, 231, 581, 231, 235, 231, 236, 231, 239,
1380 207, 239, 207, 207, 207, 207, 207, 207, 532, 239,
1381 207, 239, 239, 207, 239, 241, 2500, 1570, 242, 505,
1382 505, 242, 533, 231, 231, 240, 534, 505, 240, 239,
1383 207, 239, 501, 501, 501, 504, 504, 501, 501, 501,
1384 501, 501, 501, 504, 1571, 243, 237, 231, 232, 207,
1385 232, 231, 231, 231, 231, 231, 231, 231, 233, 231,
1386 231, 231, 591, 231, 235, 231, 236, 231, 239, 207,
1388 239, 207, 207, 207, 207, 207, 207, 516, 239, 207,
1389 239, 239, 207, 239, 243, 2500, 533, 244, 538, 1572,
1390 244, 599, 231, 231, 241, 534, 534, 241, 207, 207,
1391 207, 207, 207, 207, 239, 207, 239, 239, 207, 239,
1392 239, 207, 239, 537, 245, 237, 608, 245, 505, 609,
1393 243, 2500, 505, 243, 535, 539, 246, 239, 207, 239,
1394 536, 501, 501, 501, 504, 2500, 537, 540, 504, 533,
1395 538, 538, 537, 246, 247, 248, 207, 248, 247, 247,
1396 247, 247, 247, 247, 247, 249, 247, 247, 247, 523,
1397 247, 251, 247, 252, 247, 255, 207, 255, 255, 207,
1399 255, 280, 207, 280, 532, 558, 1575, 220, 221, 559,
1400 505, 256, 222, 560, 256, 670, 541, 281, 533, 247,
1401 247, 638, 266, 501, 501, 501, 504, 253, 247, 248,
1402 207, 248, 247, 247, 247, 247, 247, 247, 247, 249,
1403 247, 247, 247, 580, 247, 251, 247, 252, 247, 603,
1404 582, 267, 671, 220, 221, 280, 207, 280, 222, 207,
1405 207, 207, 207, 207, 207, 501, 501, 501, 266, 604,
1406 642, 281, 537, 247, 247, 282, 692, 643, 282, 693,
1407 1576, 253, 257, 258, 207, 258, 257, 257, 257, 257,
1408 257, 257, 257, 259, 257, 257, 257, 267, 257, 261,
1410 257, 262, 257, 280, 207, 280, 280, 207, 280, 280,
1411 207, 280, 562, 280, 207, 280, 294, 207, 294, 281,
1412 505, 505, 281, 505, 551, 283, 563, 257, 257, 283,
1413 545, 552, 295, 1579, 1268, 263, 504, 504, 264, 504,
1414 504, 501, 501, 501, 265, 257, 258, 207, 258, 257,
1415 257, 257, 257, 257, 257, 257, 259, 257, 257, 257,
1416 2500, 257, 261, 257, 262, 257, 294, 207, 294, 305,
1417 207, 305, 305, 207, 305, 1558, 305, 207, 305, 305,
1418 207, 305, 295, 505, 505, 306, 505, 505, 306, 650,
1419 257, 257, 307, 571, 612, 307, 651, 671, 263, 504,
1421 504, 264, 504, 504, 510, 613, 614, 265, 268, 269,
1422 207, 269, 268, 268, 268, 268, 268, 268, 268, 270,
1423 268, 268, 268, 686, 268, 272, 268, 273, 268, 207,
1424 207, 207, 207, 207, 207, 305, 207, 305, 670, 305,
1425 207, 305, 305, 207, 305, 308, 511, 610, 308, 505,
1426 505, 309, 512, 268, 268, 309, 513, 615, 310, 732,
1427 611, 514, 274, 1580, 275, 504, 504, 276, 501, 501,
1428 501, 652, 277, 278, 268, 269, 207, 269, 268, 268,
1429 268, 268, 268, 268, 268, 270, 268, 268, 268, 537,
1430 268, 272, 268, 273, 268, 305, 207, 305, 207, 207,
1432 207, 207, 207, 207, 679, 305, 207, 305, 305, 207,
1433 305, 310, 1581, 505, 311, 505, 505, 311, 527, 268,
1434 268, 307, 625, 630, 307, 501, 501, 501, 274, 504,
1435 275, 504, 504, 276, 501, 501, 501, 663, 277, 278,
1436 284, 285, 207, 285, 284, 284, 284, 284, 284, 284,
1437 284, 286, 284, 284, 284, 537, 284, 288, 284, 289,
1438 284, 207, 207, 207, 207, 207, 207, 305, 207, 305,
1439 636, 305, 207, 305, 305, 207, 305, 312, 713, 705,
1440 312, 637, 706, 310, 527, 284, 284, 310, 505, 505,
1441 313, 714, 290, 501, 501, 501, 1582, 291, 501, 501,
1443 501, 501, 501, 501, 504, 504, 292, 284, 285, 207,
1444 285, 284, 284, 284, 284, 284, 284, 284, 286, 284,
1445 284, 284, 686, 284, 288, 284, 289, 284, 305, 207,
1446 305, 207, 207, 207, 207, 207, 207, 687, 305, 207,
1447 305, 305, 207, 305, 313, 705, 505, 314, 717, 1584,
1448 314, 1585, 284, 284, 315, 720, 505, 315, 706, 290,
1449 1588, 534, 504, 657, 291, 501, 501, 501, 501, 501,
1450 501, 644, 504, 292, 296, 297, 207, 297, 296, 296,
1451 296, 296, 296, 296, 296, 298, 296, 296, 296, 523,
1452 296, 300, 296, 301, 296, 207, 207, 207, 207, 207,
1454 207, 305, 207, 305, 584, 305, 207, 305, 305, 207,
1455 305, 316, 505, 505, 316, 1591, 1595, 313, 645, 296,
1456 296, 313, 537, 1596, 317, 501, 501, 501, 504, 504,
1457 302, 501, 501, 501, 501, 501, 501, 864, 303, 296,
1458 297, 207, 297, 296, 296, 296, 296, 296, 296, 296,
1459 298, 296, 296, 296, 1557, 296, 300, 296, 301, 296,
1460 305, 207, 305, 328, 207, 328, 328, 207, 328, 1126,
1461 207, 207, 207, 207, 207, 207, 317, 505, 505, 329,
1462 720, 1127, 329, 717, 296, 296, 282, 1599, 1600, 282,
1463 501, 501, 501, 504, 504, 302, 501, 501, 501, 501,
1465 501, 501, 1601, 303, 318, 319, 207, 319, 318, 318,
1466 318, 318, 318, 318, 318, 320, 318, 318, 318, 1268,
1467 318, 322, 318, 323, 318, 328, 207, 328, 328, 207,
1468 328, 328, 207, 328, 1604, 328, 207, 328, 501, 501,
1469 501, 329, 505, 1608, 329, 774, 718, 330, 775, 318,
1470 318, 330, 1559, 1609, 324, 501, 501, 501, 504, 714,
1471 325, 501, 501, 501, 501, 501, 501, 501, 501, 501,
1472 326, 318, 319, 207, 319, 318, 318, 318, 318, 318,
1473 318, 318, 320, 318, 318, 318, 1611, 318, 322, 318,
1474 323, 318, 343, 207, 343, 343, 207, 343, 207, 207,
1476 207, 1597, 207, 207, 207, 501, 501, 501, 344, 1598,
1477 864, 344, 1615, 722, 282, 1006, 318, 318, 282, 711,
1478 1007, 324, 501, 501, 501, 723, 866, 325, 501, 501,
1479 501, 501, 501, 501, 501, 501, 501, 326, 331, 332,
1480 207, 332, 331, 331, 331, 331, 331, 331, 331, 333,
1481 331, 331, 331, 1616, 331, 335, 331, 336, 331, 343,
1482 207, 343, 343, 207, 343, 343, 207, 343, 1617, 343,
1483 207, 343, 501, 501, 501, 344, 864, 1618, 344, 718,
1484 1107, 345, 864, 331, 331, 345, 337, 722, 338, 501,
1485 501, 501, 762, 711, 339, 501, 501, 501, 1619, 712,
1487 340, 1620, 1265, 341, 331, 332, 207, 332, 331, 331,
1488 331, 331, 331, 331, 331, 333, 331, 331, 331, 1624,
1489 331, 335, 331, 336, 331, 361, 207, 361, 361, 207,
1490 361, 377, 207, 377, 864, 377, 207, 377, 501, 501,
1491 501, 362, 1630, 1631, 362, 718, 505, 378, 718, 331,
1492 331, 378, 337, 675, 338, 501, 501, 501, 765, 1414,
1493 339, 766, 504, 501, 501, 501, 340, 1632, 1637, 341,
1494 346, 347, 207, 347, 346, 346, 346, 346, 346, 346,
1495 346, 348, 346, 346, 346, 349, 346, 350, 346, 351,
1496 346, 349, 349, 349, 349, 349, 349, 349, 349, 349,
1498 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
1499 349, 349, 349, 349, 349, 346, 346, 349, 352, 353,
1500 354, 349, 349, 349, 349, 349, 355, 349, 356, 349,
1501 349, 349, 357, 349, 358, 359, 349, 349, 349, 349,
1502 349, 349, 363, 364, 207, 364, 363, 363, 363, 363,
1503 363, 363, 363, 365, 363, 363, 363, 366, 363, 367,
1504 363, 368, 363, 366, 366, 366, 366, 366, 366, 366,
1505 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1506 366, 366, 366, 366, 366, 366, 366, 363, 363, 366,
1507 369, 370, 371, 366, 366, 366, 366, 366, 372, 366,
1509 373, 366, 366, 366, 374, 366, 366, 375, 366, 366,
1510 366, 366, 366, 366, 379, 380, 207, 380, 379, 379,
1511 379, 379, 379, 379, 379, 381, 379, 379, 379, 1641,
1512 379, 383, 379, 384, 379, 388, 207, 388, 388, 207,
1513 388, 401, 207, 401, 1602, 401, 207, 401, 501, 501,
1514 501, 389, 1603, 1642, 389, 1643, 710, 402, 1645, 379,
1515 379, 402, 711, 1649, 385, 501, 501, 501, 723, 1650,
1516 386, 379, 380, 207, 380, 379, 379, 379, 379, 379,
1517 379, 379, 381, 379, 379, 379, 1651, 379, 383, 379,
1518 384, 379, 207, 207, 207, 207, 207, 207, 401, 207,
1520 401, 1652, 401, 207, 401, 1653, 505, 1656, 282, 1663,
1521 982, 282, 1665, 684, 402, 1674, 379, 379, 402, 983,
1522 1675, 385, 504, 501, 501, 501, 984, 386, 390, 391,
1523 207, 391, 390, 390, 390, 390, 390, 390, 390, 392,
1524 390, 390, 390, 1676, 390, 394, 390, 395, 390, 401,
1525 207, 401, 401, 207, 401, 413, 207, 413, 1137, 413,
1526 207, 413, 207, 207, 207, 403, 1678, 1684, 403, 1690,
1527 1127, 414, 1691, 390, 390, 414, 1694, 396, 415, 722,
1528 690, 690, 690, 1695, 397, 711, 398, 1268, 690, 690,
1529 690, 747, 868, 399, 390, 391, 207, 391, 390, 390,
1531 390, 390, 390, 390, 390, 392, 390, 390, 390, 1698,
1532 390, 394, 390, 395, 390, 207, 207, 207, 413, 207,
1533 413, 413, 207, 413, 1137, 413, 207, 413, 413, 207,
1534 413, 415, 1683, 1702, 414, 1704, 1161, 414, 691, 390,
1535 390, 416, 864, 396, 416, 881, 881, 881, 1681, 1705,
1536 397, 1706, 398, 899, 899, 899, 881, 881, 881, 399,
1537 404, 405, 207, 405, 404, 404, 404, 404, 404, 404,
1538 404, 406, 404, 404, 404, 1710, 404, 408, 404, 409,
1539 404, 427, 207, 427, 427, 207, 427, 207, 207, 207,
1540 1716, 207, 207, 207, 427, 207, 427, 428, 1717, 1718,
1542 428, 1719, 1720, 415, 1721, 404, 404, 415, 882, 1722,
1543 428, 410, 1723, 911, 911, 911, 882, 912, 1724, 952,
1544 913, 899, 899, 899, 1725, 411, 404, 405, 207, 405,
1545 404, 404, 404, 404, 404, 404, 404, 406, 404, 404,
1546 404, 1731, 404, 408, 404, 409, 404, 427, 207, 427,
1547 427, 207, 427, 427, 207, 427, 1737, 439, 207, 439,
1548 439, 207, 439, 428, 1738, 1743, 429, 1739, 1744, 429,
1549 1745, 404, 404, 440, 1749, 1740, 440, 410, 921, 921,
1550 921, 1741, 922, 1750, 952, 923, 881, 881, 881, 1742,
1551 1751, 411, 417, 418, 207, 418, 417, 417, 417, 417,
1553 417, 417, 417, 419, 417, 417, 417, 1753, 417, 421,
1554 417, 422, 417, 451, 207, 451, 451, 207, 451, 207,
1555 207, 207, 1268, 207, 207, 207, 451, 207, 451, 452,
1556 1452, 1754, 452, 1755, 1756, 415, 1453, 417, 417, 415,
1557 1454, 1759, 452, 423, 1455, 1763, 424, 944, 944, 944,
1558 1764, 945, 1769, 1682, 946, 1770, 1771, 425, 417, 418,
1559 207, 418, 417, 417, 417, 417, 417, 417, 417, 419,
1560 417, 417, 417, 1772, 417, 421, 417, 422, 417, 451,
1561 207, 451, 451, 207, 451, 451, 207, 451, 1774, 465,
1562 207, 465, 465, 207, 465, 452, 1456, 1779, 453, 1765,
1564 1780, 453, 1457, 417, 417, 466, 1458, 1766, 466, 423,
1565 1459, 1767, 424, 961, 961, 961, 1782, 962, 1792, 1768,
1566 963, 1268, 1268, 425, 430, 431, 207, 431, 430, 430,
1567 430, 430, 430, 430, 430, 432, 430, 430, 430, 1795,
1568 430, 434, 430, 435, 430, 207, 207, 207, 207, 207,
1569 207, 465, 207, 465, 1796, 465, 207, 465, 465, 207,
1570 465, 467, 1799, 1787, 467, 1802, 1803, 466, 1788, 430,
1571 430, 466, 1804, 1805, 468, 436, 899, 899, 899, 1806,
1572 437, 430, 431, 207, 431, 430, 430, 430, 430, 430,
1573 430, 430, 432, 430, 430, 430, 1807, 430, 434, 430,
1575 435, 430, 465, 207, 465, 477, 207, 477, 477, 207,
1576 477, 1808, 487, 207, 487, 487, 207, 487, 468, 1809,
1577 1810, 478, 1811, 1812, 478, 1814, 430, 430, 488, 1817,
1578 1818, 488, 436, 1280, 1280, 1280, 1819, 437, 441, 442,
1579 207, 442, 441, 441, 441, 441, 441, 441, 441, 443,
1580 441, 441, 441, 1820, 441, 445, 441, 446, 441, 207,
1581 207, 207, 207, 207, 207, 487, 207, 487, 1821, 487,
1582 207, 487, 487, 207, 487, 282, 1822, 1823, 282, 1824,
1583 1825, 488, 1828, 441, 441, 488, 1829, 1832, 489, 447,
1584 1833, 1834, 448, 972, 972, 972, 1835, 973, 2500, 1839,
1586 974, 1840, 1841, 449, 441, 442, 207, 442, 441, 441,
1587 441, 441, 441, 441, 441, 443, 441, 441, 441, 1842,
1588 441, 445, 441, 446, 441, 487, 207, 487, 499, 207,
1589 499, 499, 207, 499, 1284, 1284, 1284, 1843, 877, 877,
1590 877, 489, 579, 526, 500, 580, 1844, 500, 1845, 441,
1591 441, 585, 582, 576, 576, 447, 879, 1846, 448, 1287,
1592 1287, 1287, 1848, 577, 583, 1296, 1296, 1296, 1860, 449,
1593 454, 455, 207, 455, 454, 454, 454, 454, 454, 454,
1594 454, 456, 454, 454, 454, 1268, 454, 458, 454, 459,
1595 454, 578, 578, 729, 729, 729, 1870, 579, 1871, 1872,
1597 580, 737, 737, 737, 1873, 537, 581, 582, 1877, 531,
1598 730, 753, 753, 753, 1268, 454, 454, 1866, 738, 1319,
1599 1319, 1319, 1878, 460, 1879, 461, 1880, 462, 754, 1282,
1600 1282, 1282, 1330, 1330, 1330, 463, 454, 455, 207, 455,
1601 454, 454, 454, 454, 454, 454, 454, 456, 454, 454,
1602 454, 1867, 454, 458, 454, 459, 454, 768, 768, 768,
1603 776, 776, 776, 784, 784, 784, 787, 787, 787, 802,
1604 802, 802, 1881, 1882, 769, 1283, 1883, 777, 1884, 1885,
1605 785, 454, 454, 788, 1886, 1887, 803, 1889, 1890, 460,
1606 1891, 461, 1892, 462, 1893, 1331, 1331, 1331, 1282, 1282,
1608 1282, 463, 469, 470, 207, 470, 469, 469, 469, 469,
1609 469, 469, 469, 471, 469, 469, 469, 1896, 469, 473,
1610 469, 474, 469, 810, 810, 810, 815, 815, 815, 835,
1611 835, 835, 854, 854, 854, 858, 858, 858, 1897, 1901,
1612 811, 1283, 1904, 816, 1389, 1905, 836, 469, 469, 855,
1613 1908, 1912, 859, 985, 985, 985, 1913, 986, 1914, 1915,
1614 987, 989, 989, 989, 1916, 990, 1919, 1920, 991, 1937,
1615 475, 469, 470, 207, 470, 469, 469, 469, 469, 469,
1616 469, 469, 471, 469, 469, 469, 1268, 469, 473, 469,
1617 474, 469, 906, 906, 906, 864, 906, 906, 906, 1938,
1619 1939, 729, 729, 729, 877, 877, 877, 916, 916, 916,
1620 908, 916, 916, 916, 908, 1948, 469, 469, 730, 737,
1621 737, 737, 879, 1935, 1949, 918, 1009, 1009, 1009, 918,
1622 1010, 1268, 1950, 1011, 1934, 1951, 738, 1952, 1953, 475,
1623 479, 480, 207, 480, 479, 479, 479, 479, 479, 479,
1624 479, 481, 479, 479, 479, 909, 479, 483, 479, 484,
1625 479, 880, 924, 924, 924, 927, 927, 927, 1942, 932,
1626 932, 932, 1954, 1936, 919, 932, 932, 932, 1943, 925,
1627 1955, 1944, 928, 1956, 1957, 479, 479, 934, 1021, 1021,
1628 1021, 1958, 1022, 934, 1960, 1023, 485, 479, 480, 207,
1630 480, 479, 479, 479, 479, 479, 479, 479, 481, 479,
1631 479, 479, 1961, 479, 483, 479, 484, 479, 940, 940,
1632 940, 1967, 935, 940, 940, 940, 1968, 753, 753, 753,
1633 948, 948, 948, 768, 768, 768, 942, 1280, 1280, 1280,
1634 1969, 942, 479, 479, 754, 1029, 1029, 1029, 950, 1030,
1635 769, 1973, 1031, 485, 490, 491, 207, 491, 490, 490,
1636 490, 490, 490, 490, 490, 492, 490, 490, 490, 1981,
1637 490, 494, 490, 495, 490, 948, 948, 948, 965, 965,
1638 965, 1982, 1983, 965, 965, 965, 943, 776, 776, 776,
1639 977, 977, 977, 950, 2005, 2006, 967, 2010, 2011, 490,
1641 490, 967, 2014, 2012, 777, 1282, 1282, 1282, 979, 864,
1642 496, 1268, 951, 1061, 1061, 1061, 2013, 1062, 2015, 2018,
1643 1063, 2019, 497, 490, 491, 207, 491, 490, 490, 490,
1644 490, 490, 490, 490, 492, 490, 490, 490, 2001, 490,
1645 494, 490, 495, 490, 977, 977, 977, 2020, 968, 784,
1646 784, 784, 2002, 787, 787, 787, 992, 992, 992, 1001,
1647 1001, 1001, 979, 1001, 1001, 1001, 785, 2016, 490, 490,
1648 788, 2021, 1268, 993, 1284, 1284, 1284, 1003, 2022, 496,
1649 2017, 1003, 2023, 802, 802, 802, 1012, 1012, 1012, 2024,
1650 2025, 497, 505, 1016, 1016, 1016, 1016, 1016, 1016, 520,
1652 803, 2026, 1991, 1013, 980, 810, 810, 810, 504, 521,
1653 2035, 1018, 1992, 2003, 1018, 1024, 1024, 1024, 1993, 2036,
1654 1004, 1945, 811, 1024, 1024, 1024, 2037, 2038, 815, 815,
1655 815, 1946, 1994, 1026, 1947, 2045, 522, 523, 524, 2048,
1656 2055, 1026, 1995, 525, 526, 816, 527, 1019, 1996, 2056,
1657 528, 2057, 529, 530, 531, 1035, 1035, 1035, 1035, 1035,
1658 1035, 1039, 1039, 1039, 1041, 1041, 1041, 2500, 2500, 2500,
1659 1044, 1044, 1044, 1037, 2058, 2059, 1037, 2060, 1040, 1268,
1660 2066, 1042, 2067, 1027, 2500, 1044, 1044, 1044, 1046, 1049,
1661 1049, 1049, 2500, 2500, 2500, 1053, 1053, 1053, 2068, 2500,
1663 2500, 2500, 864, 1046, 2069, 2070, 1050, 2071, 2072, 2500,
1664 2073, 2074, 1054, 1038, 2063, 2075, 2500, 1056, 1056, 1056,
1665 2078, 1056, 1056, 1056, 2079, 1043, 835, 835, 835, 1064,
1666 1064, 1064, 1064, 1064, 1064, 1058, 1068, 1068, 1068, 1058,
1667 2080, 2081, 1051, 836, 2082, 1047, 2083, 1066, 2084, 2062,
1668 1066, 2085, 2090, 1069, 2091, 2092, 1052, 1055, 1059, 2500,
1669 2500, 2500, 1072, 1072, 1072, 1074, 1074, 1074, 1074, 1074,
1670 1074, 1082, 1082, 1082, 2093, 2094, 2500, 2095, 2099, 1073,
1671 1082, 1082, 1082, 1076, 2108, 2109, 1076, 1067, 2110, 1084,
1672 1088, 1088, 1088, 1088, 1088, 1088, 2100, 2111, 1084, 854,
1674 854, 854, 2112, 1092, 1092, 1092, 2101, 1093, 1090, 1070,
1675 1094, 1090, 1095, 1095, 1095, 2113, 855, 1095, 1095, 1095,
1676 858, 858, 858, 1071, 1099, 1099, 1099, 864, 1100, 2124,
1677 1097, 1101, 1103, 1103, 1103, 1097, 2125, 859, 1077, 1103,
1678 1103, 1103, 2126, 1085, 877, 877, 877, 877, 877, 877,
1679 1105, 877, 877, 877, 2102, 2127, 1091, 1105, 1139, 1139,
1680 1139, 2116, 879, 2104, 2103, 879, 906, 906, 906, 879,
1681 906, 906, 906, 2105, 2128, 1140, 2129, 1098, 906, 906,
1682 906, 916, 916, 916, 908, 1287, 1287, 1287, 908, 1142,
1683 1142, 1142, 2130, 911, 911, 911, 908, 912, 1115, 918,
1685 913, 2131, 1106, 2500, 2500, 2500, 1143, 916, 916, 916,
1686 916, 916, 916, 2135, 921, 921, 921, 2136, 922, 2137,
1687 2500, 923, 924, 924, 924, 918, 2138, 1141, 918, 1148,
1688 1148, 1148, 2139, 1149, 2140, 2142, 1150, 2143, 2144, 925,
1689 2106, 1151, 1151, 1151, 927, 927, 927, 1153, 1153, 1153,
1690 2107, 1154, 2147, 2152, 1155, 2153, 2154, 1146, 1152, 2155,
1691 2156, 928, 2157, 1144, 1157, 1157, 1157, 932, 932, 932,
1692 932, 932, 932, 932, 932, 932, 1163, 1163, 1163, 2158,
1693 2159, 1158, 940, 940, 940, 934, 2160, 2161, 934, 2162,
1694 2163, 934, 2170, 1164, 940, 940, 940, 940, 940, 940,
1696 942, 944, 944, 944, 2171, 945, 2172, 2173, 946, 948,
1697 948, 948, 942, 2174, 2175, 942, 948, 948, 948, 1168,
1698 1168, 1168, 961, 961, 961, 2176, 962, 950, 2177, 963,
1699 864, 2178, 1160, 2179, 950, 2180, 2181, 1169, 1179, 1179,
1700 1179, 965, 965, 965, 1166, 965, 965, 965, 965, 965,
1701 965, 1184, 1184, 1184, 2182, 1180, 977, 977, 977, 967,
1702 972, 972, 972, 967, 973, 2183, 967, 974, 1185, 977,
1703 977, 977, 2164, 2186, 979, 977, 977, 977, 985, 985,
1704 985, 2187, 986, 2188, 2192, 987, 2199, 979, 1193, 1193,
1705 1193, 2200, 2201, 979, 989, 989, 989, 2202, 990, 2203,
1707 2204, 991, 992, 992, 992, 1194, 2205, 2206, 1181, 1195,
1708 1195, 1195, 2207, 1196, 2208, 2209, 1197, 2210, 2213, 993,
1709 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1009,
1710 1009, 1009, 2214, 1010, 2218, 2219, 1011, 2220, 1003, 1188,
1711 2213, 1003, 2221, 2222, 1003, 1012, 1012, 1012, 1210, 1210,
1712 1210, 2216, 1211, 2223, 2224, 1212, 1016, 1016, 1016, 1016,
1713 1016, 1016, 1013, 1016, 1016, 1016, 1021, 1021, 1021, 2225,
1714 1022, 2226, 2227, 1023, 1018, 2228, 2233, 1018, 1024, 1024,
1715 1024, 1018, 1024, 1024, 1024, 1024, 1024, 1024, 1035, 1035,
1716 1035, 864, 1205, 1035, 1035, 1035, 1026, 1029, 1029, 1029,
1718 1026, 1030, 2238, 1026, 1031, 2239, 1037, 1035, 1035, 1035,
1719 2229, 1037, 2231, 2240, 1215, 1039, 1039, 1039, 2234, 1223,
1720 1223, 1223, 2230, 1224, 2232, 1037, 1225, 1041, 1041, 1041,
1721 2235, 2241, 1040, 1226, 1226, 1226, 2211, 1227, 864, 2244,
1722 1228, 1044, 1044, 1044, 1042, 1044, 1044, 1044, 1049, 1049,
1723 1049, 1217, 1044, 1044, 1044, 1053, 1053, 1053, 2244, 1046,
1724 1232, 1232, 1232, 1046, 1233, 1050, 1222, 1234, 1268, 1269,
1725 1046, 2247, 1054, 1237, 1237, 1237, 2248, 1238, 2242, 2213,
1726 1239, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1727 1061, 1061, 1061, 2214, 1062, 2249, 2250, 1063, 2259, 1058,
1729 2262, 2267, 1058, 2270, 2244, 1058, 1064, 1064, 1064, 1064,
1730 1064, 1064, 1064, 1064, 1064, 1068, 1068, 1068, 1230, 1244,
1731 1244, 1244, 2213, 1245, 1066, 2272, 1246, 1066, 2236, 2257,
1732 1066, 2244, 1069, 2216, 1072, 1072, 1072, 1249, 1249, 1249,
1733 2237, 1250, 2260, 2265, 1251, 1074, 1074, 1074, 2258, 2273,
1734 1241, 1073, 1074, 1074, 1074, 1074, 1074, 1074, 1254, 1254,
1735 1254, 2261, 2266, 1076, 1082, 1082, 1082, 1082, 1082, 1082,
1736 1076, 1243, 2274, 1076, 2268, 1255, 1082, 1082, 1082, 1088,
1737 1088, 1088, 1084, 2275, 2276, 1084, 1088, 1088, 1088, 1088,
1738 1088, 1088, 2286, 2269, 1084, 2287, 2288, 1090, 1092, 1092,
1740 1092, 2289, 1093, 2290, 1090, 1094, 2291, 1090, 1095, 1095,
1741 1095, 1095, 1095, 1095, 2295, 2296, 1252, 1095, 1095, 1095,
1742 1099, 1099, 1099, 2297, 1100, 2298, 1097, 1101, 2299, 1097,
1743 1103, 1103, 1103, 2300, 2302, 1097, 1258, 1103, 1103, 1103,
1744 2303, 2304, 1261, 1103, 1103, 1103, 2309, 2305, 1105, 1267,
1745 1267, 1267, 877, 877, 877, 1105, 1139, 1139, 1139, 2306,
1746 2307, 1105, 1299, 1299, 1299, 2310, 1300, 1268, 1269, 1301,
1747 879, 2311, 2308, 1140, 2312, 2313, 1262, 906, 906, 906,
1748 1142, 1142, 1142, 1303, 1303, 1303, 2314, 1304, 2315, 2316,
1749 1305, 916, 916, 916, 2317, 908, 2318, 1143, 1148, 1148,
1751 1148, 2319, 1149, 1264, 2320, 1150, 1151, 1151, 1151, 918,
1752 2322, 1310, 1310, 1310, 864, 1311, 2323, 1274, 1312, 2324,
1753 1153, 1153, 1153, 1152, 1154, 2325, 2326, 1155, 1157, 1157,
1754 1157, 1314, 1314, 1314, 1302, 1315, 2327, 2328, 1316, 2321,
1755 1308, 932, 932, 932, 2329, 1158, 1163, 1163, 1163, 1321,
1756 1321, 1321, 2330, 1322, 2331, 2332, 1323, 2333, 2334, 934,
1757 1324, 1324, 1324, 1164, 940, 940, 940, 1168, 1168, 1168,
1758 1179, 1179, 1179, 2335, 1337, 1337, 1337, 1325, 1338, 2336,
1759 2337, 1339, 942, 2338, 2339, 1169, 2341, 1180, 965, 965,
1760 965, 1318, 1184, 1184, 1184, 1343, 1343, 1343, 2342, 1344,
1762 2343, 2344, 1345, 1346, 1346, 1346, 967, 2345, 2346, 1185,
1763 1348, 1348, 1348, 1326, 977, 977, 977, 1353, 1353, 1353,
1764 1347, 1193, 1193, 1193, 1357, 1357, 1357, 1349, 1358, 2347,
1765 864, 1359, 979, 2348, 1354, 1195, 1195, 1195, 1194, 1196,
1766 2349, 2350, 1197, 1360, 1360, 1360, 1001, 1001, 1001, 2340,
1767 2351, 1340, 1370, 1370, 1370, 2352, 1350, 1374, 1374, 1374,
1768 1361, 1210, 1210, 1210, 1003, 1211, 2353, 2354, 1212, 1371,
1769 1016, 1016, 1016, 2355, 1375, 1024, 1024, 1024, 2356, 1351,
1770 1383, 1383, 1383, 1035, 1035, 1035, 2358, 2359, 1018, 1254,
1771 1254, 1254, 2360, 1026, 1044, 1044, 1044, 1384, 1223, 1223,
1773 1223, 1037, 1224, 2361, 2362, 1225, 1255, 1226, 1226, 1226,
1774 1368, 1227, 1046, 2363, 1228, 1232, 1232, 1232, 864, 1233,
1775 2364, 2365, 1234, 1237, 1237, 1237, 1385, 1238, 2366, 2367,
1776 1239, 2368, 2369, 1377, 1056, 1056, 1056, 2370, 2357, 1386,
1777 1379, 2371, 1064, 1064, 1064, 2372, 1244, 1244, 1244, 2373,
1778 1245, 864, 1058, 1246, 1249, 1249, 1249, 2374, 1250, 1388,
1779 1066, 1251, 1074, 1074, 1074, 1400, 1400, 1400, 2375, 1401,
1780 2376, 2377, 1402, 1082, 1082, 1082, 1407, 1407, 1407, 2378,
1781 1076, 1088, 1088, 1088, 1095, 1095, 1095, 1411, 1411, 1411,
1782 2379, 1084, 2380, 1408, 1393, 1103, 1103, 1103, 1395, 1090,
1784 2381, 2382, 1097, 2383, 1412, 2384, 1267, 1267, 1267, 1398,
1785 877, 877, 877, 1105, 1431, 1431, 1431, 1434, 1434, 1434,
1786 2385, 2386, 1405, 2388, 1268, 1296, 1296, 1296, 879, 1441,
1787 1441, 1441, 2389, 1299, 1299, 1299, 1410, 1300, 2390, 2391,
1788 1301, 906, 906, 906, 1303, 1303, 1303, 1409, 1304, 2392,
1789 2393, 1305, 916, 916, 916, 864, 1413, 1415, 2394, 908,
1790 2395, 2397, 1420, 1435, 1310, 1310, 1310, 2398, 1311, 2387,
1791 918, 1312, 2399, 1416, 2400, 1442, 2401, 1432, 1314, 1314,
1792 1314, 2402, 1315, 2403, 2404, 1316, 932, 932, 932, 1319,
1793 1319, 1319, 1321, 1321, 1321, 2407, 1322, 2408, 2409, 1323,
1795 1324, 1324, 1324, 1446, 934, 2410, 2411, 1443, 1460, 1460,
1796 1460, 2412, 1461, 1569, 1567, 1462, 864, 1325, 940, 940,
1797 940, 1330, 1330, 1330, 1331, 1331, 1331, 1467, 1467, 1467,
1798 1467, 1467, 1467, 1431, 1431, 1431, 942, 1337, 1337, 1337,
1799 864, 1338, 864, 864, 1339, 864, 1450, 965, 965, 965,
1800 1343, 1343, 1343, 2429, 1344, 864, 864, 1345, 1346, 1346,
1801 1346, 1348, 1348, 1348, 2423, 967, 1474, 1474, 1474, 1463,
1802 1475, 1566, 864, 1476, 2424, 1347, 2413, 2445, 1349, 1477,
1803 1477, 1477, 864, 1478, 1565, 2419, 1479, 1481, 1481, 1481,
1804 1468, 2414, 2415, 1432, 1471, 864, 1468, 1353, 1353, 1353,
1806 1484, 1484, 1484, 2416, 1485, 1482, 864, 1486, 1487, 1487,
1807 1487, 1357, 1357, 1357, 1354, 1358, 864, 864, 1359, 1360,
1808 1360, 1360, 1490, 1490, 1490, 1488, 1491, 864, 2453, 1492,
1809 1493, 1493, 1493, 1499, 1499, 1499, 1361, 1001, 1001, 1001,
1810 1370, 1370, 1370, 1564, 1503, 1503, 1503, 1494, 1504, 2420,
1811 1500, 1505, 1506, 1506, 1506, 1003, 2431, 1371, 1374, 1374,
1812 1374, 1509, 1509, 1509, 2417, 1510, 864, 864, 1511, 1507,
1813 1513, 1513, 1513, 864, 2418, 1375, 1024, 1024, 1024, 1383,
1814 1383, 1383, 1520, 1520, 1520, 2425, 1521, 2426, 1514, 1522,
1815 1524, 1524, 1524, 864, 1026, 864, 1384, 1044, 1044, 1044,
1817 864, 864, 1501, 1529, 1529, 1529, 2432, 2479, 1525, 1531,
1818 1531, 1531, 2500, 2500, 2500, 1046, 1056, 1056, 1056, 2427,
1819 1530, 1064, 1064, 1064, 2421, 864, 1532, 1516, 864, 2500,
1820 1537, 1537, 1537, 864, 1058, 1539, 1539, 1539, 2430, 1066,
1821 1074, 1074, 1074, 1082, 1082, 1082, 2428, 1538, 1527, 1400,
1822 1400, 1400, 1540, 1401, 864, 2422, 1402, 864, 1076, 864,
1823 2433, 1084, 1407, 1407, 1407, 864, 864, 1536, 2434, 1547,
1824 1547, 1547, 2441, 1548, 864, 1533, 1549, 1560, 1546, 1408,
1825 1544, 864, 1534, 1088, 1088, 1088, 2439, 1095, 1095, 1095,
1826 1411, 1411, 1411, 864, 1545, 1552, 1552, 1552, 2459, 1553,
1828 2443, 1090, 1554, 2437, 1541, 1097, 2440, 1412, 1555, 1555,
1829 1555, 1561, 1561, 1561, 877, 877, 877, 1568, 1568, 1568,
1830 1573, 1573, 1573, 1431, 1431, 1431, 1556, 2446, 1562, 1574,
1831 1574, 1574, 879, 1434, 1434, 1434, 1577, 1577, 1577, 1543,
1832 864, 1550, 1551, 1578, 1578, 1578, 1441, 1441, 1441, 906,
1833 906, 906, 1586, 1586, 1586, 1589, 1589, 1589, 932, 932,
1834 932, 1593, 1593, 1593, 1460, 1460, 1460, 908, 1461, 1542,
1835 1587, 1462, 1590, 864, 1563, 864, 934, 2438, 1594, 940,
1836 940, 940, 864, 1606, 1606, 1606, 1467, 1467, 1467, 1610,
1837 1610, 1610, 1612, 1612, 1612, 864, 864, 942, 864, 1583,
1839 1607, 965, 965, 965, 1474, 1474, 1474, 1535, 1475, 1613,
1840 2444, 1476, 1528, 1477, 1477, 1477, 1592, 1478, 2435, 967,
1841 1479, 1481, 1481, 1481, 2447, 1605, 1484, 1484, 1484, 2442,
1842 1485, 2451, 864, 1486, 1487, 1487, 1487, 2448, 864, 1482,
1843 1621, 1621, 1621, 2436, 1622, 864, 864, 1623, 1490, 1490,
1844 1490, 1488, 1491, 2455, 1614, 1492, 1493, 1493, 1493, 1625,
1845 1625, 1625, 864, 1626, 864, 864, 1627, 1628, 1628, 1628,
1846 1499, 1499, 1499, 1494, 1633, 1633, 1633, 2449, 1634, 2454,
1847 2452, 1635, 864, 1526, 1629, 2456, 864, 1500, 1001, 1001,
1848 1001, 1503, 1503, 1503, 864, 1504, 864, 864, 1505, 1506,
1850 1506, 1506, 2457, 1638, 1638, 1638, 1003, 1639, 864, 2450,
1851 1640, 1509, 1509, 1509, 2487, 1510, 1507, 864, 1511, 1513,
1852 1513, 1513, 1024, 1024, 1024, 1646, 1646, 1646, 1520, 1520,
1853 1520, 2461, 1521, 2458, 864, 1522, 864, 1514, 2460, 1636,
1854 1026, 864, 1647, 1524, 1524, 1524, 1654, 1654, 1654, 1529,
1855 1529, 1529, 1657, 1657, 1657, 2493, 1658, 1523, 864, 1659,
1856 864, 1525, 2462, 2465, 1655, 2466, 1530, 1531, 1531, 1531,
1857 864, 1648, 1660, 1660, 1660, 2473, 1661, 1519, 2463, 1662,
1858 1056, 1056, 1056, 864, 1532, 1644, 1064, 1064, 1064, 1537,
1859 1537, 1537, 1667, 1667, 1667, 2464, 1668, 864, 1058, 1669,
1861 1539, 1539, 1539, 2467, 1066, 2471, 1538, 1670, 1670, 1670,
1862 864, 1671, 864, 2497, 1672, 2472, 864, 1540, 1074, 1074,
1863 1074, 1082, 1082, 1082, 1547, 1547, 1547, 864, 1548, 2468,
1864 864, 1549, 1088, 1088, 1088, 1666, 1076, 864, 864, 1084,
1865 1095, 1095, 1095, 2475, 2469, 1664, 864, 1552, 1552, 1552,
1866 1090, 1553, 864, 2477, 1554, 1555, 1555, 1555, 1097, 1561,
1867 1561, 1561, 1685, 1685, 1685, 2481, 1686, 2474, 1518, 1687,
1868 877, 877, 877, 1556, 2478, 864, 1562, 1689, 1689, 1689,
1869 2470, 1517, 1673, 1679, 1515, 1677, 1512, 1508, 879, 1692,
1870 1692, 1692, 2480, 1680, 1568, 1568, 1568, 1693, 1693, 1693,
1872 1696, 1696, 1696, 1573, 1573, 1573, 1574, 1574, 1574, 1697,
1873 1697, 1697, 1577, 1577, 1577, 1578, 1578, 1578, 1699, 1699,
1874 1699, 1700, 1700, 1700, 1701, 1701, 1701, 906, 906, 906,
1875 1586, 1586, 1586, 1688, 1589, 1589, 1589, 1707, 1707, 1707,
1876 864, 1708, 864, 1502, 1709, 908, 1498, 1497, 1587, 1496,
1877 1495, 1590, 1711, 1711, 1711, 1593, 1593, 1593, 1713, 1713,
1878 1713, 864, 1714, 1489, 1483, 1715, 940, 940, 940, 1480,
1879 1712, 864, 1594, 1606, 1606, 1606, 864, 2482, 1703, 1727,
1880 1727, 1727, 864, 1728, 942, 2483, 1729, 1730, 1730, 1730,
1881 1607, 1610, 1610, 1610, 1732, 1732, 1732, 1612, 1612, 1612,
1883 1733, 1733, 1733, 2488, 1734, 1473, 2484, 1735, 965, 965,
1884 965, 1789, 1789, 1789, 1613, 1726, 1621, 1621, 1621, 2485,
1885 1622, 864, 2476, 1623, 2489, 864, 967, 1625, 1625, 1625,
1886 1472, 1626, 2490, 864, 1627, 1628, 1628, 1628, 1746, 1746,
1887 1746, 864, 1747, 1470, 1469, 1748, 1633, 1633, 1633, 864,
1888 1634, 1466, 1629, 1635, 1001, 1001, 1001, 2491, 2486, 1736,
1889 1638, 1638, 1638, 1465, 1639, 864, 864, 1640, 1757, 1757,
1890 1757, 2497, 1003, 1646, 1646, 1646, 1760, 1760, 1760, 1464,
1891 1761, 2492, 864, 1762, 1451, 1449, 1758, 1654, 1654, 1654,
1892 1647, 1657, 1657, 1657, 1448, 1658, 1447, 2495, 1659, 1660,
1894 1660, 1660, 1445, 1661, 1444, 1655, 1662, 1056, 1056, 1056,
1895 1064, 1064, 1064, 2494, 1667, 1667, 1667, 1752, 1668, 1440,
1896 1439, 1669, 1670, 1670, 1670, 1058, 1671, 864, 1066, 1672,
1897 1074, 1074, 1074, 1777, 1777, 1777, 1082, 1082, 1082, 1088,
1898 1088, 1088, 1784, 1784, 1784, 1786, 1786, 1786, 1076, 1438,
1899 1778, 1689, 1689, 1689, 1084, 1437, 1436, 1090, 1773, 2496,
1900 1785, 1433, 1430, 864, 1429, 1428, 1776, 1685, 1685, 1685,
1901 1427, 1686, 1426, 1425, 1687, 1775, 877, 877, 877, 1791,
1902 1791, 1791, 1692, 1692, 1692, 1693, 1693, 1693, 1793, 1793,
1903 1793, 1794, 1794, 1794, 879, 1696, 1696, 1696, 1783, 1424,
1905 1781, 1697, 1697, 1697, 1699, 1699, 1699, 1700, 1700, 1700,
1906 1701, 1701, 1701, 1797, 1797, 1797, 1800, 1800, 1800, 1707,
1907 1707, 1707, 1423, 1708, 1422, 1421, 1709, 1711, 1711, 1711,
1908 1419, 1798, 1418, 1801, 1790, 1713, 1713, 1713, 1417, 1714,
1909 1268, 1406, 1715, 1404, 1403, 1712, 940, 940, 940, 1727,
1910 1727, 1727, 1399, 1728, 1397, 1396, 1729, 1730, 1730, 1730,
1911 1732, 1732, 1732, 1394, 942, 1733, 1733, 1733, 1392, 1734,
1912 1391, 1390, 1735, 1815, 1815, 1815, 1746, 1746, 1746, 1387,
1913 1747, 1382, 1381, 1748, 1826, 1826, 1826, 1830, 1830, 1830,
1914 1380, 1816, 1757, 1757, 1757, 1836, 1836, 1836, 1847, 1847,
1916 1847, 1827, 1849, 1849, 1849, 1831, 1813, 1760, 1760, 1760,
1917 1758, 1761, 1837, 1378, 1762, 1851, 1851, 1851, 1376, 1373,
1918 1850, 1064, 1064, 1064, 1074, 1074, 1074, 1777, 1777, 1777,
1919 1372, 1369, 1852, 1855, 1855, 1855, 1367, 1856, 1366, 1066,
1920 1857, 1838, 1076, 1365, 1778, 1858, 1858, 1858, 1861, 1861,
1921 1861, 1863, 1863, 1863, 1088, 1088, 1088, 1784, 1784, 1784,
1922 1364, 1363, 1859, 1786, 1786, 1786, 1862, 1789, 1789, 1789,
1923 1362, 1356, 1090, 1355, 1352, 1785, 1868, 1868, 1868, 1342,
1924 1853, 864, 1341, 1336, 1854, 1791, 1791, 1791, 1793, 1793,
1925 1793, 1794, 1794, 1794, 1869, 1797, 1797, 1797, 1800, 1800,
1927 1800, 1874, 1874, 1874, 1335, 1875, 1334, 1333, 1876, 940,
1928 940, 940, 1332, 1798, 1329, 1801, 1815, 1815, 1815, 1864,
1929 1894, 1894, 1894, 1328, 1865, 1327, 1320, 942, 1826, 1826,
1930 1826, 1898, 1898, 1898, 1816, 1899, 1317, 1895, 1900, 1902,
1931 1902, 1902, 1830, 1830, 1830, 1827, 1906, 1906, 1906, 1836,
1932 1836, 1836, 1917, 1917, 1917, 1313, 1903, 1909, 1909, 1909,
1933 1831, 1910, 1309, 1907, 1911, 1307, 1837, 1306, 1888, 1918,
1934 1847, 1847, 1847, 1849, 1849, 1849, 1851, 1851, 1851, 1921,
1935 1921, 1921, 1298, 1922, 1297, 1295, 1923, 1924, 1924, 1924,
1936 1294, 1850, 1293, 1852, 1074, 1074, 1074, 1855, 1855, 1855,
1938 1292, 1856, 1291, 1290, 1857, 1925, 1858, 1858, 1858, 1927,
1939 1927, 1927, 1076, 1928, 1289, 1288, 1929, 1930, 1930, 1930,
1940 1861, 1861, 1861, 1859, 1863, 1863, 1863, 1932, 1932, 1932,
1941 1868, 1868, 1868, 1286, 1931, 1940, 1940, 1940, 1862, 1874,
1942 1874, 1874, 1285, 1875, 1281, 1933, 1876, 1279, 1869, 940,
1943 940, 940, 1941, 1962, 1962, 1962, 1894, 1894, 1894, 1278,
1944 1926, 1964, 1964, 1964, 1277, 1965, 1276, 942, 1966, 1275,
1945 1963, 1273, 1272, 1895, 1898, 1898, 1898, 1271, 1899, 1270,
1946 1263, 1900, 1902, 1902, 1902, 1970, 1970, 1970, 1260, 1971,
1947 1259, 1257, 1972, 1974, 1974, 1974, 1906, 1906, 1906, 1903,
1949 1976, 1976, 1976, 1256, 1977, 1253, 1248, 1978, 1959, 1247,
1950 1975, 1242, 1240, 1907, 1979, 1979, 1979, 1909, 1909, 1909,
1951 1236, 1910, 1235, 1231, 1911, 1917, 1917, 1917, 1984, 1984,
1952 1984, 1980, 1985, 1229, 1221, 1986, 1987, 1987, 1987, 1989,
1953 1989, 1989, 1918, 1921, 1921, 1921, 1220, 1922, 1219, 1218,
1954 1923, 1216, 1214, 1988, 1213, 1209, 1990, 1924, 1924, 1924,
1955 1074, 1074, 1074, 1927, 1927, 1927, 1208, 1928, 1207, 1206,
1956 1929, 1930, 1930, 1930, 1204, 1925, 1203, 1202, 1076, 1998,
1957 1998, 1998, 1201, 1999, 1200, 1199, 2000, 1198, 1931, 1932,
1958 1932, 1932, 2004, 2004, 2004, 1940, 1940, 1940, 2007, 2007,
1960 2007, 1192, 2008, 1191, 1190, 2009, 1189, 1933, 940, 940,
1961 940, 1187, 1941, 2028, 2028, 2028, 2029, 2029, 2029, 1962,
1962 1962, 1962, 2004, 2004, 2004, 1997, 942, 2032, 2032, 2032,
1963 1186, 2033, 1183, 2030, 2034, 1182, 1963, 1964, 1964, 1964,
1964 1178, 1965, 1177, 1176, 1966, 1970, 1970, 1970, 1175, 1971,
1965 1174, 1173, 1972, 1974, 1974, 1974, 2039, 2039, 2039, 2027,
1966 2040, 1172, 2031, 2041, 1976, 1976, 1976, 1171, 1977, 1170,
1967 1975, 1978, 1979, 1979, 1979, 2042, 2042, 2042, 1167, 2043,
1968 1165, 1162, 2044, 2046, 2046, 2046, 1984, 1984, 1984, 1980,
1969 1985, 1159, 1156, 1986, 1987, 1987, 1987, 2049, 2049, 2049,
1971 2047, 2050, 1147, 1145, 2051, 1989, 1989, 1989, 2052, 2052,
1972 2052, 1988, 2053, 1138, 1136, 2054, 1074, 1074, 1074, 1998,
1973 1998, 1998, 1990, 1999, 1135, 1134, 2000, 2064, 2064, 2064,
1974 1133, 2007, 2007, 2007, 1076, 2008, 1132, 1131, 2009, 2076,
1975 2076, 2076, 1130, 1129, 2065, 1268, 940, 940, 940, 2028,
1976 2028, 2028, 2029, 2029, 2029, 1128, 2077, 1125, 2087, 2087,
1977 2087, 1124, 2088, 1123, 942, 2089, 1122, 2061, 1121, 2030,
1978 2032, 2032, 2032, 1120, 2033, 1119, 1118, 2034, 2039, 2039,
1979 2039, 1117, 2040, 1116, 1114, 2041, 2042, 2042, 2042, 1113,
1980 2043, 1112, 1111, 2044, 1110, 2086, 2046, 2046, 2046, 2096,
1982 2096, 2096, 1109, 2097, 1108, 864, 2098, 2049, 2049, 2049,
1983 1102, 2050, 1087, 2047, 2051, 2052, 2052, 2052, 1086, 2053,
1984 1081, 1080, 2054, 2114, 2114, 2114, 2117, 2117, 2117, 2064,
1985 2064, 2064, 2119, 2119, 2119, 1079, 2120, 1078, 1060, 2121,
1986 1048, 2115, 1034, 2118, 1268, 1033, 2065, 1268, 1032, 1028,
1987 1268, 2122, 2122, 2122, 2123, 2123, 2123, 2076, 2076, 2076,
1988 2132, 2132, 2132, 1020, 2133, 1015, 1014, 2134, 940, 940,
1989 940, 2087, 2087, 2087, 2077, 2088, 1008, 1005, 2089, 2145,
1990 2145, 2145, 2148, 2148, 2148, 1000, 942, 2096, 2096, 2096,
1991 999, 2097, 998, 997, 2098, 996, 2146, 995, 994, 2149,
1993 2150, 2150, 2150, 2114, 2114, 2114, 2117, 2117, 2117, 2165,
1994 2165, 2165, 988, 2166, 981, 976, 2167, 2151, 2119, 2119,
1995 2119, 2115, 2120, 2118, 1268, 2121, 975, 1268, 2122, 2122,
1996 2122, 971, 970, 2141, 969, 964, 1268, 1266, 1266, 1266,
1997 1266, 1266, 1266, 1266, 1266, 1266, 960, 959, 1266, 2123,
1998 2123, 2123, 958, 1266, 1266, 1266, 1268, 1266, 2132, 2132,
1999 2132, 957, 2133, 956, 955, 2134, 2189, 2189, 2189, 954,
2000 2190, 953, 947, 2191, 939, 2184, 2184, 2184, 938, 2145,
2001 2145, 2145, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
2002 1266, 1266, 1266, 2185, 937, 1266, 2146, 2148, 2148, 2148,
2004 1266, 1266, 1266, 1268, 1266, 2193, 2193, 2193, 936, 2194,
2005 931, 930, 2195, 929, 2149, 2150, 2150, 2150, 2196, 2196,
2006 2196, 926, 2197, 920, 915, 2198, 2184, 2184, 2184, 1266,
2007 1266, 914, 2151, 2165, 2165, 2165, 910, 2166, 905, 904,
2008 2167, 2189, 2189, 2189, 2185, 2190, 903, 902, 2191, 901,
2009 900, 1268, 1266, 1266, 1266, 1266, 1266, 2217, 1266, 1266,
2010 1266, 898, 897, 1266, 896, 895, 894, 893, 1266, 1266,
2011 1266, 1268, 1266, 2193, 2193, 2193, 892, 2194, 891, 890,
2012 2195, 2196, 2196, 2196, 889, 2197, 888, 887, 2198, 886,
2013 2246, 2246, 2246, 885, 2251, 2251, 2251, 1266, 1266, 1266,
2015 1266, 1266, 1266, 1266, 1266, 1266, 1266, 2217, 1268, 1269,
2016 1266, 2252, 2253, 2253, 2253, 1266, 1266, 1266, 1268, 1266,
2017 2255, 2255, 2255, 2263, 2263, 2263, 2251, 2251, 2251, 2254,
2018 2271, 2271, 2271, 2246, 2246, 2246, 884, 2256, 883, 876,
2019 2264, 875, 874, 2252, 1266, 1266, 873, 872, 864, 871,
2020 870, 1268, 2277, 2277, 2277, 867, 2278, 865, 864, 2279,
2021 2253, 2253, 2253, 2280, 2280, 2280, 862, 2281, 860, 857,
2022 2282, 2255, 2255, 2255, 2283, 2283, 2283, 2254, 2284, 853,
2023 851, 2285, 850, 849, 1415, 2263, 2263, 2263, 2256, 2292,
2024 2292, 2292, 847, 2293, 846, 845, 2294, 2271, 2271, 2271,
2026 844, 843, 2264, 2277, 2277, 2277, 841, 2278, 840, 839,
2027 2279, 838, 2280, 2280, 2280, 864, 2281, 834, 833, 2282,
2028 2283, 2283, 2283, 831, 2284, 830, 829, 2285, 2292, 2292,
2029 2292, 828, 2293, 827, 2301, 2294, 2396, 2396, 2396, 2396,
2030 2396, 2396, 826, 2405, 824, 823, 2406, 2498, 2498, 2498,
2031 2498, 2498, 2498, 822, 864, 821, 819, 864, 818, 817,
2032 814, 813, 809, 808, 806, 2499, 805, 804, 2499, 204,
2033 204, 204, 204, 204, 204, 204, 204, 204, 205, 205,
2034 205, 205, 205, 205, 205, 205, 205, 210, 210, 210,
2035 210, 210, 210, 210, 210, 210, 213, 213, 213, 213,
2037 213, 213, 213, 213, 213, 216, 216, 216, 216, 216,
2038 216, 216, 216, 216, 219, 219, 219, 219, 219, 219,
2039 219, 219, 219, 226, 226, 226, 226, 226, 226, 226,
2040 226, 226, 234, 234, 234, 234, 234, 234, 234, 234,
2041 234, 238, 238, 238, 238, 238, 238, 238, 238, 238,
2042 250, 250, 250, 250, 250, 250, 250, 250, 250, 254,
2043 254, 254, 254, 254, 254, 254, 254, 254, 260, 260,
2044 260, 260, 260, 260, 260, 260, 260, 271, 271, 271,
2045 271, 271, 271, 271, 271, 271, 279, 279, 279, 279,
2046 279, 279, 279, 279, 279, 287, 287, 287, 287, 287,
2048 287, 287, 287, 287, 293, 293, 293, 293, 293, 293,
2049 293, 293, 293, 299, 299, 299, 299, 299, 299, 299,
2050 299, 299, 304, 304, 304, 304, 304, 304, 304, 304,
2051 304, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2052 327, 327, 327, 327, 327, 327, 327, 327, 327, 334,
2053 334, 334, 334, 334, 334, 334, 334, 334, 342, 342,
2054 342, 342, 342, 342, 342, 342, 342, 360, 360, 360,
2055 360, 360, 360, 360, 360, 360, 376, 376, 376, 376,
2056 376, 376, 376, 376, 376, 382, 382, 382, 382, 382,
2057 382, 382, 382, 382, 387, 387, 387, 387, 387, 387,
2059 387, 387, 387, 393, 393, 393, 393, 393, 393, 393,
2060 393, 393, 400, 400, 400, 400, 400, 400, 400, 400,
2061 400, 407, 407, 407, 407, 407, 407, 407, 407, 407,
2062 412, 412, 412, 412, 412, 412, 412, 412, 412, 420,
2063 420, 420, 420, 420, 420, 420, 420, 420, 426, 426,
2064 426, 426, 426, 426, 426, 426, 426, 433, 433, 433,
2065 433, 433, 433, 433, 433, 433, 438, 438, 438, 438,
2066 438, 438, 438, 438, 438, 444, 444, 444, 444, 444,
2067 444, 444, 444, 444, 450, 450, 450, 450, 450, 450,
2068 450, 450, 450, 457, 457, 457, 457, 457, 457, 457,
2070 457, 457, 464, 464, 464, 464, 464, 464, 464, 464,
2071 464, 472, 472, 472, 472, 472, 472, 472, 472, 472,
2072 476, 476, 476, 476, 476, 476, 476, 476, 476, 482,
2073 482, 482, 482, 482, 482, 482, 482, 482, 486, 486,
2074 486, 486, 486, 486, 486, 486, 486, 493, 493, 493,
2075 493, 493, 493, 493, 493, 493, 498, 498, 498, 498,
2076 498, 498, 498, 498, 498, 518, 518, 518, 801, 800,
2077 799, 518, 543, 543, 543, 798, 796, 795, 543, 547,
2078 547, 547, 794, 793, 792, 547, 555, 555, 555, 791,
2079 790, 789, 555, 567, 567, 567, 786, 783, 782, 567,
2081 573, 573, 573, 781, 779, 778, 573, 587, 587, 587,
2082 773, 772, 770, 587, 593, 593, 593, 767, 764, 763,
2083 593, 601, 601, 601, 761, 760, 759, 601, 617, 617,
2084 617, 758, 757, 755, 617, 627, 627, 627, 752, 750,
2085 749, 627, 632, 632, 632, 748, 746, 744, 632, 640,
2086 640, 640, 743, 742, 741, 640, 647, 647, 647, 740,
2087 739, 736, 647, 654, 654, 654, 735, 734, 731, 654,
2088 659, 659, 659, 728, 727, 725, 659, 665, 665, 665,
2089 724, 721, 719, 665, 673, 673, 673, 716, 715, 709,
2090 673, 677, 677, 677, 708, 707, 704, 677, 681, 681,
2092 681, 703, 702, 701, 681, 685, 685, 685, 685, 685,
2093 685, 685, 699, 685, 518, 518, 518, 698, 697, 696,
2094 518, 700, 695, 694, 689, 700, 543, 543, 543, 686,
2095 688, 683, 543, 726, 682, 680, 679, 726, 547, 547,
2096 547, 678, 676, 674, 547, 733, 672, 669, 668, 733,
2097 555, 555, 555, 667, 666, 664, 555, 745, 663, 662,
2098 661, 745, 567, 567, 567, 660, 658, 656, 567, 751,
2099 655, 653, 652, 751, 573, 573, 573, 649, 648, 646,
2100 573, 756, 527, 2500, 641, 756, 587, 587, 587, 639,
2101 638, 635, 587, 771, 634, 633, 631, 771, 593, 593,
2103 593, 629, 628, 626, 593, 780, 624, 623, 622, 780,
2104 601, 601, 601, 621, 620, 619, 601, 797, 618, 616,
2105 607, 797, 617, 617, 617, 606, 605, 602, 617, 807,
2106 600, 599, 598, 807, 627, 627, 627, 597, 596, 595,
2107 627, 812, 594, 592, 591, 812, 632, 632, 632, 590,
2108 589, 588, 632, 820, 586, 2500, 534, 820, 640, 640,
2109 640, 575, 574, 572, 640, 825, 570, 569, 568, 825,
2110 647, 647, 647, 566, 537, 2500, 647, 832, 561, 557,
2111 556, 832, 654, 654, 654, 554, 553, 550, 654, 837,
2112 549, 548, 546, 837, 659, 659, 659, 544, 542, 2500,
2114 659, 842, 519, 517, 515, 842, 665, 665, 665, 509,
2115 508, 509, 665, 848, 508, 507, 506, 848, 673, 673,
2116 673, 2500, 2500, 2500, 673, 852, 2500, 2500, 2500, 852,
2117 677, 677, 677, 2500, 2500, 2500, 677, 856, 2500, 2500,
2118 2500, 856, 681, 681, 681, 2500, 2500, 2500, 681, 861,
2119 2500, 2500, 2500, 861, 863, 863, 863, 863, 863, 863,
2120 863, 863, 863, 869, 2500, 2500, 2500, 2500, 869, 518,
2121 518, 518, 2500, 2500, 2500, 518, 878, 878, 878, 878,
2122 2500, 2500, 878, 878, 543, 543, 543, 2500, 2500, 2500,
2123 543, 907, 907, 907, 907, 2500, 2500, 907, 907, 547,
2125 547, 547, 2500, 2500, 2500, 547, 917, 917, 917, 917,
2126 2500, 2500, 917, 917, 555, 555, 555, 2500, 2500, 2500,
2127 555, 933, 933, 933, 933, 2500, 2500, 933, 933, 567,
2128 567, 567, 2500, 2500, 2500, 567, 941, 941, 941, 941,
2129 2500, 2500, 941, 941, 573, 573, 573, 2500, 2500, 2500,
2130 573, 949, 949, 949, 949, 2500, 2500, 949, 949, 587,
2131 587, 587, 2500, 2500, 2500, 587, 966, 966, 966, 966,
2132 2500, 2500, 966, 966, 593, 593, 593, 2500, 2500, 2500,
2133 593, 978, 978, 978, 978, 2500, 2500, 978, 978, 601,
2134 601, 601, 2500, 2500, 2500, 601, 1002, 1002, 1002, 1002,
2136 2500, 2500, 1002, 1002, 617, 617, 617, 2500, 2500, 2500,
2137 617, 1017, 1017, 1017, 1017, 2500, 2500, 1017, 1017, 627,
2138 627, 627, 2500, 2500, 2500, 627, 1025, 1025, 1025, 1025,
2139 2500, 2500, 1025, 1025, 632, 632, 632, 2500, 2500, 2500,
2140 632, 1036, 1036, 1036, 1036, 2500, 2500, 1036, 1036, 640,
2141 640, 640, 640, 2500, 640, 2500, 640, 1045, 1045, 1045,
2142 1045, 2500, 2500, 1045, 1045, 647, 647, 647, 647, 2500,
2143 647, 2500, 647, 1057, 1057, 1057, 1057, 2500, 2500, 1057,
2144 1057, 654, 654, 654, 2500, 2500, 2500, 654, 1065, 1065,
2145 1065, 1065, 2500, 2500, 1065, 1065, 659, 659, 659, 659,
2147 2500, 659, 2500, 659, 1075, 1075, 1075, 1075, 2500, 2500,
2148 1075, 1075, 665, 665, 665, 2500, 2500, 2500, 665, 1083,
2149 1083, 1083, 1083, 2500, 2500, 1083, 1083, 673, 673, 673,
2150 2500, 2500, 2500, 673, 1089, 1089, 1089, 1089, 2500, 2500,
2151 1089, 1089, 1096, 1096, 1096, 1096, 2500, 2500, 1096, 1096,
2152 681, 681, 681, 2500, 2500, 2500, 681, 1104, 1104, 1104,
2153 1104, 2500, 2500, 1104, 1104, 863, 863, 863, 863, 863,
2154 863, 863, 863, 863, 869, 2500, 869, 2500, 2500, 869,
2155 518, 518, 518, 2500, 2500, 2500, 518, 878, 878, 878,
2156 878, 2500, 2500, 878, 878, 543, 543, 543, 543, 2500,
2158 543, 2500, 543, 907, 907, 907, 907, 2500, 2500, 907,
2159 907, 547, 547, 547, 547, 2500, 547, 2500, 547, 917,
2160 917, 917, 917, 2500, 2500, 917, 917, 555, 555, 555,
2161 2500, 2500, 2500, 555, 933, 933, 933, 933, 2500, 2500,
2162 933, 933, 567, 567, 567, 2500, 2500, 2500, 567, 941,
2163 941, 941, 941, 2500, 2500, 941, 941, 573, 573, 573,
2164 2500, 2500, 2500, 573, 949, 949, 949, 949, 2500, 2500,
2165 949, 949, 587, 587, 587, 2500, 2500, 2500, 587, 966,
2166 966, 966, 966, 2500, 2500, 966, 966, 593, 593, 593,
2167 2500, 2500, 2500, 593, 978, 978, 978, 978, 2500, 2500,
2169 978, 978, 601, 601, 601, 2500, 2500, 2500, 601, 1002,
2170 1002, 1002, 1002, 2500, 2500, 1002, 1002, 617, 617, 617,
2171 2500, 2500, 2500, 617, 1017, 1017, 1017, 1017, 2500, 2500,
2172 1017, 1017, 627, 627, 627, 2500, 2500, 2500, 627, 1025,
2173 1025, 1025, 1025, 2500, 2500, 1025, 1025, 632, 632, 632,
2174 2500, 2500, 2500, 632, 1036, 1036, 1036, 1036, 2500, 2500,
2175 1036, 1036, 640, 640, 640, 2500, 2500, 2500, 640, 1045,
2176 1045, 1045, 1045, 2500, 2500, 1045, 1045, 647, 647, 647,
2177 2500, 2500, 2500, 647, 1057, 1057, 1057, 1057, 2500, 2500,
2178 1057, 1057, 654, 654, 654, 2500, 2500, 2500, 654, 1065,
2180 1065, 1065, 1065, 2500, 2500, 1065, 1065, 659, 659, 659,
2181 2500, 2500, 2500, 659, 1075, 1075, 1075, 1075, 2500, 2500,
2182 1075, 1075, 665, 665, 665, 2500, 2500, 2500, 665, 1083,
2183 1083, 1083, 1083, 2500, 2500, 1083, 1083, 673, 673, 673,
2184 2500, 2500, 2500, 673, 1089, 1089, 1089, 1089, 2500, 2500,
2185 1089, 1089, 1096, 1096, 1096, 1096, 2500, 2500, 1096, 1096,
2186 681, 681, 681, 2500, 2500, 2500, 681, 1104, 1104, 1104,
2187 1104, 2500, 2500, 1104, 1104, 863, 863, 863, 863, 863,
2188 863, 863, 863, 863, 1266, 1266, 1266, 1266, 1266, 1266,
2189 1266, 1266, 1266, 518, 518, 518, 2500, 2500, 2500, 518,
2191 878, 878, 878, 878, 2500, 2500, 878, 878, 907, 907,
2192 907, 907, 2500, 2500, 907, 907, 547, 547, 547, 2500,
2193 2500, 2500, 547, 917, 917, 917, 917, 2500, 2500, 917,
2194 917, 555, 555, 555, 2500, 2500, 2500, 555, 933, 933,
2195 933, 933, 2500, 2500, 933, 933, 567, 567, 567, 2500,
2196 2500, 2500, 567, 941, 941, 941, 941, 2500, 2500, 941,
2197 941, 573, 573, 573, 2500, 2500, 2500, 573, 587, 587,
2198 587, 2500, 2500, 2500, 587, 966, 966, 966, 966, 2500,
2199 2500, 966, 966, 593, 593, 593, 2500, 2500, 2500, 593,
2200 978, 978, 978, 978, 2500, 2500, 978, 978, 601, 601,
2202 601, 2500, 2500, 2500, 601, 1002, 1002, 1002, 1002, 2500,
2203 2500, 1002, 1002, 617, 617, 617, 2500, 2500, 2500, 617,
2204 1017, 1017, 1017, 1017, 2500, 2500, 1017, 1017, 627, 627,
2205 627, 2500, 2500, 2500, 627, 1025, 1025, 1025, 1025, 2500,
2206 2500, 1025, 1025, 632, 632, 632, 2500, 2500, 2500, 632,
2207 1036, 1036, 1036, 1036, 2500, 2500, 1036, 1036, 640, 640,
2208 640, 2500, 2500, 2500, 640, 1045, 1045, 1045, 1045, 2500,
2209 2500, 1045, 1045, 647, 647, 647, 2500, 2500, 2500, 647,
2210 1057, 1057, 1057, 1057, 2500, 2500, 1057, 1057, 654, 654,
2211 654, 2500, 2500, 2500, 654, 1065, 1065, 1065, 1065, 2500,
2213 2500, 1065, 1065, 659, 659, 659, 2500, 2500, 2500, 659,
2214 1075, 1075, 1075, 1075, 2500, 2500, 1075, 1075, 665, 665,
2215 665, 2500, 2500, 2500, 665, 1083, 1083, 1083, 1083, 2500,
2216 2500, 1083, 1083, 673, 673, 673, 673, 2500, 673, 2500,
2217 673, 1089, 1089, 1089, 1089, 2500, 2500, 1089, 1089, 1096,
2218 1096, 1096, 1096, 2500, 2500, 1096, 1096, 681, 681, 681,
2219 681, 2500, 681, 2500, 681, 1104, 1104, 1104, 1104, 2500,
2220 2500, 1104, 1104, 863, 863, 863, 863, 863, 863, 863,
2221 863, 863, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
2222 1266, 518, 518, 518, 2500, 2500, 2500, 518, 878, 878,
2224 878, 878, 2500, 2500, 878, 878, 907, 907, 907, 907,
2225 2500, 2500, 907, 907, 547, 547, 547, 2500, 2500, 2500,
2226 547, 917, 917, 917, 917, 2500, 2500, 917, 917, 555,
2227 555, 555, 2500, 2500, 2500, 555, 933, 933, 933, 933,
2228 2500, 2500, 933, 933, 567, 567, 567, 2500, 2500, 2500,
2229 567, 941, 941, 941, 941, 2500, 2500, 941, 941, 573,
2230 573, 573, 2500, 2500, 2500, 573, 587, 587, 587, 2500,
2231 2500, 2500, 587, 966, 966, 966, 966, 2500, 2500, 966,
2232 966, 593, 593, 593, 2500, 2500, 2500, 593, 978, 978,
2233 978, 978, 2500, 2500, 978, 978, 601, 601, 601, 2500,
2235 2500, 2500, 601, 1002, 1002, 1002, 1002, 2500, 2500, 1002,
2236 1002, 617, 617, 617, 2500, 2500, 2500, 617, 1017, 1017,
2237 1017, 1017, 2500, 2500, 1017, 1017, 627, 627, 627, 2500,
2238 2500, 2500, 627, 1025, 1025, 1025, 1025, 2500, 2500, 1025,
2239 1025, 632, 632, 632, 2500, 2500, 2500, 632, 1036, 1036,
2240 1036, 1036, 2500, 2500, 1036, 1036, 640, 640, 640, 2500,
2241 2500, 2500, 640, 1045, 1045, 1045, 1045, 2500, 2500, 1045,
2242 1045, 647, 647, 647, 647, 2500, 647, 2500, 647, 1057,
2243 1057, 1057, 1057, 2500, 2500, 1057, 1057, 654, 654, 654,
2244 2500, 2500, 2500, 654, 1065, 1065, 1065, 1065, 2500, 2500,
2246 1065, 1065, 659, 659, 659, 659, 2500, 659, 2500, 659,
2247 1075, 1075, 1075, 1075, 2500, 2500, 1075, 1075, 665, 665,
2248 665, 2500, 2500, 2500, 665, 1083, 1083, 1083, 1083, 2500,
2249 2500, 1083, 1083, 1089, 1089, 1089, 1089, 2500, 2500, 1089,
2250 1089, 1096, 1096, 1096, 1096, 2500, 2500, 1096, 1096, 1104,
2251 1104, 1104, 1104, 2500, 2500, 1104, 1104, 863, 863, 863,
2252 863, 863, 863, 863, 863, 863, 1266, 1266, 1266, 1266,
2253 1266, 1266, 1266, 1266, 1266, 518, 518, 518, 518, 2500,
2254 518, 2500, 518, 878, 878, 878, 878, 2500, 2500, 878,
2255 878, 907, 907, 907, 907, 2500, 2500, 907, 907, 547,
2257 547, 547, 2500, 2500, 2500, 547, 917, 917, 917, 917,
2258 2500, 2500, 917, 917, 555, 555, 555, 2500, 2500, 2500,
2259 555, 933, 933, 933, 933, 2500, 2500, 933, 933, 567,
2260 567, 567, 567, 2500, 567, 2500, 567, 941, 941, 941,
2261 941, 2500, 2500, 941, 941, 573, 573, 573, 573, 2500,
2262 573, 2500, 573, 587, 587, 587, 587, 2500, 587, 2500,
2263 587, 966, 966, 966, 966, 2500, 2500, 966, 966, 593,
2264 593, 593, 2500, 2500, 2500, 593, 601, 601, 601, 2500,
2265 2500, 2500, 601, 1002, 1002, 1002, 1002, 2500, 2500, 1002,
2266 1002, 617, 617, 617, 2500, 2500, 2500, 617, 627, 627,
2268 627, 2500, 2500, 2500, 627, 1025, 1025, 1025, 1025, 2500,
2269 2500, 1025, 1025, 632, 632, 632, 2500, 2500, 2500, 632,
2270 640, 640, 640, 2500, 2500, 2500, 640, 1045, 1045, 1045,
2271 1045, 2500, 2500, 1045, 1045, 647, 647, 647, 2500, 2500,
2272 2500, 647, 1057, 1057, 1057, 1057, 2500, 2500, 1057, 1057,
2273 654, 654, 654, 2500, 2500, 2500, 654, 1065, 1065, 1065,
2274 1065, 2500, 2500, 1065, 1065, 1075, 1075, 1075, 1075, 2500,
2275 2500, 1075, 1075, 665, 665, 665, 2500, 2500, 2500, 665,
2276 1083, 1083, 1083, 1083, 2500, 2500, 1083, 1083, 1089, 1089,
2277 1089, 1089, 2500, 2500, 1089, 1089, 1096, 1096, 1096, 1096,
2279 2500, 2500, 1096, 1096, 863, 863, 863, 863, 863, 863,
2280 863, 863, 863, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
2281 1266, 1266, 878, 878, 878, 878, 2500, 2500, 878, 878,
2282 907, 907, 907, 907, 2500, 2500, 907, 907, 547, 547,
2283 547, 2500, 2500, 2500, 547, 555, 555, 555, 2500, 2500,
2284 2500, 555, 933, 933, 933, 933, 2500, 2500, 933, 933,
2285 941, 941, 941, 941, 2500, 2500, 941, 941, 2168, 2168,
2286 2168, 2168, 2168, 2168, 2168, 2168, 2168, 2169, 2169, 2169,
2287 2169, 2169, 2169, 2169, 2169, 2169, 2212, 2212, 2212, 2212,
2288 2212, 2212, 2212, 2212, 2212, 2215, 2215, 2215, 2215, 2215,
2290 2215, 2215, 2215, 2215, 2243, 2243, 2243, 2243, 2243, 2243,
2291 2243, 2243, 2243, 2245, 2245, 2245, 2245, 2245, 2245, 2245,
2292 2245, 2245, 203, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
2293 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
2294 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
2295 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
2296 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
2297 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
2298 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
2299 2500, 2500, 2500, 2500, 2500
2303 static yyconst flex_int16_t yy_chk[8496] =
2305 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2306 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2307 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2308 8, 8, 8, 208, 11, 13, 13, 12, 14, 14,
2309 13, 13, 281, 14, 14, 209, 8, 17, 17, 208,
2310 13, 15, 15, 14, 15, 212, 15, 16, 16, 246,
2311 16, 209, 16, 18, 18, 246, 15, 19, 19, 19,
2312 315, 212, 16, 20, 20, 20, 23, 23, 23, 24,
2313 24, 24, 528, 19, 25, 25, 25, 281, 528, 20,
2314 309, 17, 23, 281, 528, 24, 206, 206, 206, 309,
2316 25, 207, 207, 207, 211, 211, 211, 18, 21, 21,
2317 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2318 21, 21, 21, 315, 21, 21, 21, 21, 21, 26,
2319 26, 26, 27, 27, 27, 28, 28, 28, 241, 29,
2320 29, 29, 30, 30, 30, 26, 312, 1427, 27, 230,
2321 235, 28, 241, 21, 21, 29, 312, 251, 30, 31,
2322 31, 31, 232, 232, 232, 230, 235, 239, 239, 239,
2323 248, 248, 248, 251, 1428, 31, 21, 22, 22, 22,
2324 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2325 22, 22, 330, 22, 22, 22, 22, 22, 32, 32,
2327 32, 33, 33, 33, 34, 34, 34, 230, 35, 35,
2328 35, 36, 36, 36, 32, 242, 317, 33, 317, 1429,
2329 34, 345, 22, 22, 35, 242, 243, 36, 37, 37,
2330 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2331 41, 41, 41, 330, 37, 22, 357, 38, 261, 357,
2332 39, 311, 272, 40, 242, 243, 41, 42, 42, 42,
2333 242, 255, 255, 255, 261, 244, 242, 243, 272, 243,
2334 242, 243, 345, 42, 43, 43, 43, 43, 43, 43,
2335 43, 43, 43, 43, 43, 43, 43, 43, 43, 311,
2336 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2338 46, 53, 53, 53, 244, 276, 1433, 49, 49, 276,
2339 288, 45, 49, 276, 46, 466, 244, 53, 244, 43,
2340 43, 403, 49, 258, 258, 258, 288, 43, 44, 44,
2341 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2342 44, 44, 44, 308, 44, 44, 44, 44, 44, 353,
2343 308, 49, 466, 50, 50, 54, 54, 54, 50, 55,
2344 55, 55, 56, 56, 56, 269, 269, 269, 50, 353,
2345 411, 54, 403, 44, 44, 55, 511, 411, 56, 511,
2346 1435, 44, 47, 47, 47, 47, 47, 47, 47, 47,
2347 47, 47, 47, 47, 47, 47, 47, 50, 47, 47,
2349 47, 47, 47, 57, 57, 57, 58, 58, 58, 59,
2350 59, 59, 278, 60, 60, 60, 63, 63, 63, 57,
2351 300, 322, 58, 256, 266, 59, 278, 47, 47, 60,
2352 256, 266, 63, 1438, 1415, 47, 300, 322, 47, 256,
2353 266, 280, 280, 280, 47, 48, 48, 48, 48, 48,
2354 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2355 467, 48, 48, 48, 48, 48, 64, 64, 64, 67,
2356 67, 67, 68, 68, 68, 1415, 69, 69, 69, 70,
2357 70, 70, 64, 335, 350, 67, 295, 367, 68, 425,
2358 48, 48, 69, 295, 359, 70, 425, 467, 48, 335,
2360 350, 48, 295, 367, 222, 359, 359, 48, 51, 51,
2361 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
2362 51, 51, 51, 551, 51, 51, 51, 51, 51, 71,
2363 71, 71, 72, 72, 72, 73, 73, 73, 468, 74,
2364 74, 74, 75, 75, 75, 71, 222, 358, 72, 383,
2365 362, 73, 222, 51, 51, 74, 222, 362, 75, 551,
2366 358, 222, 51, 1439, 51, 383, 362, 51, 285, 285,
2367 285, 429, 51, 51, 52, 52, 52, 52, 52, 52,
2368 52, 52, 52, 52, 52, 52, 52, 52, 52, 468,
2369 52, 52, 52, 52, 52, 76, 76, 76, 77, 77,
2371 77, 78, 78, 78, 489, 79, 79, 79, 80, 80,
2372 80, 76, 1440, 394, 77, 378, 389, 78, 429, 52,
2373 52, 79, 378, 389, 80, 294, 294, 294, 52, 394,
2374 52, 378, 389, 52, 297, 297, 297, 453, 52, 52,
2375 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2376 61, 61, 61, 61, 61, 489, 61, 61, 61, 61,
2377 61, 81, 81, 81, 82, 82, 82, 83, 83, 83,
2378 399, 84, 84, 84, 85, 85, 85, 81, 529, 524,
2379 82, 399, 524, 83, 453, 61, 61, 84, 408, 421,
2380 85, 529, 61, 305, 305, 305, 1442, 61, 319, 319,
2382 319, 328, 328, 328, 408, 421, 61, 62, 62, 62,
2383 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2384 62, 62, 502, 62, 62, 62, 62, 62, 86, 86,
2385 86, 87, 87, 87, 88, 88, 88, 502, 89, 89,
2386 89, 90, 90, 90, 86, 532, 434, 87, 532, 1444,
2387 88, 1445, 62, 62, 89, 535, 440, 90, 535, 62,
2388 1447, 313, 434, 440, 62, 332, 332, 332, 343, 343,
2389 343, 414, 440, 62, 65, 65, 65, 65, 65, 65,
2390 65, 65, 65, 65, 65, 65, 65, 65, 65, 313,
2391 65, 65, 65, 65, 65, 91, 91, 91, 92, 92,
2393 92, 93, 93, 93, 313, 94, 94, 94, 95, 95,
2394 95, 91, 445, 458, 92, 1449, 1452, 93, 414, 65,
2395 65, 94, 414, 1453, 95, 347, 347, 347, 445, 458,
2396 65, 361, 361, 361, 364, 364, 364, 1414, 65, 66,
2397 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2398 66, 66, 66, 66, 1414, 66, 66, 66, 66, 66,
2399 96, 96, 96, 99, 99, 99, 100, 100, 100, 892,
2400 101, 101, 101, 102, 102, 102, 96, 473, 483, 99,
2401 539, 892, 100, 539, 66, 66, 101, 1455, 1456, 102,
2402 377, 377, 377, 473, 483, 66, 380, 380, 380, 388,
2404 388, 388, 1457, 66, 97, 97, 97, 97, 97, 97,
2405 97, 97, 97, 97, 97, 97, 97, 97, 97, 1416,
2406 97, 97, 97, 97, 97, 103, 103, 103, 104, 104,
2407 104, 105, 105, 105, 1459, 106, 106, 106, 391, 391,
2408 391, 103, 494, 1465, 104, 595, 533, 105, 595, 97,
2409 97, 106, 1416, 1466, 97, 401, 401, 401, 494, 533,
2410 97, 405, 405, 405, 413, 413, 413, 418, 418, 418,
2411 97, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2412 98, 98, 98, 98, 98, 98, 1469, 98, 98, 98,
2413 98, 98, 109, 109, 109, 110, 110, 110, 111, 111,
2415 111, 1454, 112, 112, 112, 427, 427, 427, 109, 1454,
2416 687, 110, 1472, 537, 111, 800, 98, 98, 112, 537,
2417 800, 98, 431, 431, 431, 537, 687, 98, 439, 439,
2418 439, 442, 442, 442, 451, 451, 451, 98, 107, 107,
2419 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2420 107, 107, 107, 1473, 107, 107, 107, 107, 107, 113,
2421 113, 113, 114, 114, 114, 115, 115, 115, 1478, 116,
2422 116, 116, 455, 455, 455, 113, 866, 1479, 114, 581,
2423 866, 115, 1107, 107, 107, 116, 107, 540, 107, 465,
2424 465, 465, 581, 540, 107, 470, 470, 470, 1480, 540,
2426 107, 1483, 1107, 107, 108, 108, 108, 108, 108, 108,
2427 108, 108, 108, 108, 108, 108, 108, 108, 108, 1489,
2428 108, 108, 108, 108, 108, 119, 119, 119, 120, 120,
2429 120, 123, 123, 123, 1265, 124, 124, 124, 477, 477,
2430 477, 119, 1496, 1497, 120, 584, 478, 123, 585, 108,
2431 108, 124, 108, 478, 108, 480, 480, 480, 584, 1265,
2432 108, 585, 478, 487, 487, 487, 108, 1498, 1502, 108,
2433 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2434 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2435 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2437 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2438 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2439 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2440 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2441 117, 117, 121, 121, 121, 121, 121, 121, 121, 121,
2442 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2443 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2444 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2445 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2446 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2448 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2449 121, 121, 121, 121, 125, 125, 125, 125, 125, 125,
2450 125, 125, 125, 125, 125, 125, 125, 125, 125, 1508,
2451 125, 125, 125, 125, 125, 127, 127, 127, 128, 128,
2452 128, 131, 131, 131, 1458, 132, 132, 132, 491, 491,
2453 491, 127, 1458, 1512, 128, 1515, 541, 131, 1517, 125,
2454 125, 132, 541, 1519, 125, 499, 499, 499, 541, 1521,
2455 125, 126, 126, 126, 126, 126, 126, 126, 126, 126,
2456 126, 126, 126, 126, 126, 126, 1522, 126, 126, 126,
2457 126, 126, 133, 133, 133, 134, 134, 134, 135, 135,
2459 135, 1523, 136, 136, 136, 1526, 500, 1528, 133, 1533,
2460 783, 134, 1535, 500, 135, 1542, 126, 126, 136, 783,
2461 1543, 126, 500, 501, 501, 501, 783, 126, 129, 129,
2462 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
2463 129, 129, 129, 1544, 129, 129, 129, 129, 129, 137,
2464 137, 137, 138, 138, 138, 141, 141, 141, 903, 142,
2465 142, 142, 143, 143, 143, 137, 1546, 1560, 138, 1565,
2466 903, 141, 1566, 129, 129, 142, 1570, 129, 143, 565,
2467 510, 510, 510, 1571, 129, 565, 129, 1559, 690, 690,
2468 690, 565, 690, 129, 130, 130, 130, 130, 130, 130,
2470 130, 130, 130, 130, 130, 130, 130, 130, 130, 1576,
2471 130, 130, 130, 130, 130, 144, 144, 144, 145, 145,
2472 145, 146, 146, 146, 936, 147, 147, 147, 148, 148,
2473 148, 144, 1559, 1582, 145, 1584, 936, 146, 510, 130,
2474 130, 147, 1557, 130, 148, 702, 702, 702, 1557, 1585,
2475 130, 1588, 130, 719, 719, 719, 758, 758, 758, 130,
2476 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2477 139, 139, 139, 139, 139, 1591, 139, 139, 139, 139,
2478 139, 151, 151, 151, 152, 152, 152, 153, 153, 153,
2479 1595, 154, 154, 154, 155, 155, 155, 151, 1596, 1597,
2481 152, 1598, 1599, 153, 1600, 139, 139, 154, 702, 1601,
2482 155, 139, 1602, 730, 730, 730, 719, 730, 1603, 758,
2483 730, 764, 764, 764, 1604, 139, 140, 140, 140, 140,
2484 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
2485 140, 1609, 140, 140, 140, 140, 140, 156, 156, 156,
2486 157, 157, 157, 158, 158, 158, 1615, 161, 161, 161,
2487 162, 162, 162, 156, 1616, 1619, 157, 1617, 1620, 158,
2488 1624, 140, 140, 161, 1630, 1617, 162, 140, 738, 738,
2489 738, 1618, 738, 1631, 764, 738, 881, 881, 881, 1618,
2490 1632, 140, 149, 149, 149, 149, 149, 149, 149, 149,
2492 149, 149, 149, 149, 149, 149, 149, 1637, 149, 149,
2493 149, 149, 149, 165, 165, 165, 166, 166, 166, 167,
2494 167, 167, 1558, 168, 168, 168, 169, 169, 169, 165,
2495 1322, 1641, 166, 1642, 1643, 167, 1322, 149, 149, 168,
2496 1322, 1645, 169, 149, 1322, 1648, 149, 754, 754, 754,
2497 1649, 754, 1652, 1558, 754, 1653, 1656, 149, 150, 150,
2498 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2499 150, 150, 150, 1663, 150, 150, 150, 150, 150, 170,
2500 170, 170, 171, 171, 171, 172, 172, 172, 1665, 175,
2501 175, 175, 176, 176, 176, 170, 1323, 1675, 171, 1650,
2503 1676, 172, 1323, 150, 150, 175, 1323, 1650, 176, 150,
2504 1323, 1651, 150, 769, 769, 769, 1678, 769, 1691, 1651,
2505 769, 1682, 1683, 150, 159, 159, 159, 159, 159, 159,
2506 159, 159, 159, 159, 159, 159, 159, 159, 159, 1698,
2507 159, 159, 159, 159, 159, 177, 177, 177, 178, 178,
2508 178, 179, 179, 179, 1702, 180, 180, 180, 181, 181,
2509 181, 177, 1704, 1682, 178, 1710, 1716, 179, 1683, 159,
2510 159, 180, 1717, 1718, 181, 159, 899, 899, 899, 1719,
2511 159, 160, 160, 160, 160, 160, 160, 160, 160, 160,
2512 160, 160, 160, 160, 160, 160, 1720, 160, 160, 160,
2514 160, 160, 182, 182, 182, 185, 185, 185, 186, 186,
2515 186, 1721, 189, 189, 189, 190, 190, 190, 182, 1722,
2516 1723, 185, 1724, 1725, 186, 1731, 160, 160, 189, 1737,
2517 1738, 190, 160, 1121, 1121, 1121, 1739, 160, 163, 163,
2518 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2519 163, 163, 163, 1740, 163, 163, 163, 163, 163, 191,
2520 191, 191, 192, 192, 192, 193, 193, 193, 1741, 194,
2521 194, 194, 195, 195, 195, 191, 1742, 1743, 192, 1744,
2522 1745, 193, 1750, 163, 163, 194, 1751, 1753, 195, 163,
2523 1754, 1755, 163, 777, 777, 777, 1756, 777, 314, 1763,
2525 777, 1764, 1765, 163, 164, 164, 164, 164, 164, 164,
2526 164, 164, 164, 164, 164, 164, 164, 164, 164, 1766,
2527 164, 164, 164, 164, 164, 196, 196, 196, 199, 199,
2528 199, 200, 200, 200, 1124, 1124, 1124, 1767, 700, 700,
2529 700, 196, 314, 314, 199, 314, 1768, 200, 1769, 164,
2530 164, 314, 314, 306, 307, 164, 700, 1770, 164, 1127,
2531 1127, 1127, 1772, 306, 307, 1136, 1136, 1136, 1780, 164,
2532 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2533 173, 173, 173, 173, 173, 1787, 173, 173, 173, 173,
2534 173, 306, 307, 549, 549, 549, 1792, 306, 1795, 1796,
2536 306, 557, 557, 557, 1799, 307, 306, 306, 1802, 307,
2537 549, 574, 574, 574, 1788, 173, 173, 1787, 557, 1161,
2538 1161, 1161, 1803, 173, 1804, 173, 1805, 173, 574, 1123,
2539 1123, 1123, 1172, 1172, 1172, 173, 174, 174, 174, 174,
2540 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2541 174, 1788, 174, 174, 174, 174, 174, 589, 589, 589,
2542 596, 596, 596, 604, 604, 604, 606, 606, 606, 621,
2543 621, 621, 1806, 1807, 589, 1123, 1808, 596, 1809, 1810,
2544 604, 174, 174, 606, 1811, 1812, 621, 1814, 1817, 174,
2545 1818, 174, 1819, 174, 1821, 1173, 1173, 1173, 1231, 1231,
2547 1231, 174, 183, 183, 183, 183, 183, 183, 183, 183,
2548 183, 183, 183, 183, 183, 183, 183, 1824, 183, 183,
2549 183, 183, 183, 629, 629, 629, 634, 634, 634, 656,
2550 656, 656, 678, 678, 678, 682, 682, 682, 1825, 1828,
2551 629, 1173, 1832, 634, 1231, 1833, 656, 183, 183, 678,
2552 1835, 1838, 682, 785, 785, 785, 1839, 785, 1840, 1841,
2553 785, 788, 788, 788, 1843, 788, 1846, 1848, 788, 1870,
2554 183, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2555 184, 184, 184, 184, 184, 184, 1866, 184, 184, 184,
2556 184, 184, 726, 726, 726, 1865, 727, 727, 727, 1871,
2558 1872, 729, 729, 729, 701, 701, 701, 733, 733, 733,
2559 726, 734, 734, 734, 727, 1877, 184, 184, 729, 737,
2560 737, 737, 701, 1866, 1878, 733, 803, 803, 803, 734,
2561 803, 1867, 1879, 803, 1865, 1880, 737, 1881, 1882, 184,
2562 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2563 187, 187, 187, 187, 187, 727, 187, 187, 187, 187,
2564 187, 701, 739, 739, 739, 741, 741, 741, 1875, 745,
2565 745, 745, 1883, 1867, 734, 746, 746, 746, 1875, 739,
2566 1884, 1875, 741, 1885, 1886, 187, 187, 745, 811, 811,
2567 811, 1887, 811, 746, 1889, 811, 187, 188, 188, 188,
2569 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2570 188, 188, 1890, 188, 188, 188, 188, 188, 751, 751,
2571 751, 1896, 746, 752, 752, 752, 1897, 753, 753, 753,
2572 756, 756, 756, 768, 768, 768, 751, 1280, 1280, 1280,
2573 1901, 752, 188, 188, 753, 816, 816, 816, 756, 816,
2574 768, 1904, 816, 188, 197, 197, 197, 197, 197, 197,
2575 197, 197, 197, 197, 197, 197, 197, 197, 197, 1912,
2576 197, 197, 197, 197, 197, 757, 757, 757, 771, 771,
2577 771, 1913, 1914, 772, 772, 772, 752, 776, 776, 776,
2578 780, 780, 780, 757, 1938, 1939, 771, 1942, 1943, 197,
2580 197, 772, 1945, 1944, 776, 1282, 1282, 1282, 780, 1934,
2581 197, 1935, 757, 836, 836, 836, 1944, 836, 1946, 1948,
2582 836, 1949, 197, 198, 198, 198, 198, 198, 198, 198,
2583 198, 198, 198, 198, 198, 198, 198, 198, 1934, 198,
2584 198, 198, 198, 198, 781, 781, 781, 1950, 772, 784,
2585 784, 784, 1935, 787, 787, 787, 789, 789, 789, 797,
2586 797, 797, 781, 798, 798, 798, 784, 1947, 198, 198,
2587 787, 1951, 1936, 789, 1284, 1284, 1284, 797, 1952, 198,
2588 1947, 798, 1954, 802, 802, 802, 804, 804, 804, 1955,
2589 1956, 198, 240, 807, 807, 807, 808, 808, 808, 240,
2591 802, 1957, 1922, 804, 781, 810, 810, 810, 240, 240,
2592 1967, 807, 1922, 1936, 808, 812, 812, 812, 1922, 1968,
2593 798, 1876, 810, 813, 813, 813, 1969, 1973, 815, 815,
2594 815, 1876, 1923, 812, 1876, 1981, 240, 240, 240, 1983,
2595 1991, 813, 1923, 240, 240, 815, 240, 808, 1923, 1992,
2596 240, 1993, 240, 240, 240, 820, 820, 820, 821, 821,
2597 821, 822, 822, 822, 823, 823, 823, 824, 824, 824,
2598 825, 825, 825, 820, 1994, 1995, 821, 1996, 822, 2002,
2599 2005, 823, 2006, 813, 824, 826, 826, 826, 825, 828,
2600 828, 828, 829, 829, 829, 830, 830, 830, 2010, 831,
2602 831, 831, 2001, 826, 2011, 2012, 828, 2013, 2014, 829,
2603 2015, 2016, 830, 821, 2002, 2017, 831, 832, 832, 832,
2604 2019, 833, 833, 833, 2020, 824, 835, 835, 835, 837,
2605 837, 837, 838, 838, 838, 832, 839, 839, 839, 833,
2606 2021, 2022, 829, 835, 2023, 826, 2024, 837, 2025, 2001,
2607 838, 2026, 2031, 839, 2035, 2036, 829, 831, 833, 840,
2608 840, 840, 841, 841, 841, 842, 842, 842, 843, 843,
2609 843, 848, 848, 848, 2037, 2038, 840, 2045, 2048, 841,
2610 849, 849, 849, 842, 2055, 2056, 843, 838, 2057, 848,
2611 852, 852, 852, 853, 853, 853, 2050, 2058, 849, 854,
2613 854, 854, 2059, 855, 855, 855, 2050, 855, 852, 840,
2614 855, 853, 856, 856, 856, 2060, 854, 857, 857, 857,
2615 858, 858, 858, 840, 859, 859, 859, 2062, 859, 2068,
2616 856, 859, 861, 861, 861, 857, 2069, 858, 843, 862,
2617 862, 862, 2070, 849, 877, 877, 877, 878, 878, 878,
2618 861, 880, 880, 880, 2051, 2071, 853, 862, 905, 905,
2619 905, 2062, 877, 2053, 2051, 878, 906, 906, 906, 880,
2620 907, 907, 907, 2053, 2072, 905, 2073, 857, 909, 909,
2621 909, 916, 916, 916, 906, 1287, 1287, 1287, 907, 910,
2622 910, 910, 2074, 911, 911, 911, 909, 911, 880, 916,
2624 911, 2075, 862, 914, 914, 914, 910, 917, 917, 917,
2625 919, 919, 919, 2078, 921, 921, 921, 2079, 921, 2081,
2626 914, 921, 924, 924, 924, 917, 2082, 909, 919, 925,
2627 925, 925, 2083, 925, 2085, 2090, 925, 2091, 2092, 924,
2628 2054, 926, 926, 926, 927, 927, 927, 928, 928, 928,
2629 2054, 928, 2094, 2100, 928, 2101, 2102, 919, 926, 2103,
2630 2104, 927, 2105, 914, 930, 930, 930, 932, 932, 932,
2631 933, 933, 933, 935, 935, 935, 938, 938, 938, 2106,
2632 2107, 930, 940, 940, 940, 932, 2108, 2109, 933, 2111,
2633 2112, 935, 2124, 938, 941, 941, 941, 943, 943, 943,
2635 940, 944, 944, 944, 2125, 944, 2126, 2127, 944, 948,
2636 948, 948, 941, 2128, 2129, 943, 949, 949, 949, 951,
2637 951, 951, 961, 961, 961, 2130, 961, 948, 2131, 961,
2638 2116, 2135, 935, 2136, 949, 2137, 2138, 951, 964, 964,
2639 964, 965, 965, 965, 943, 966, 966, 966, 968, 968,
2640 968, 971, 971, 971, 2139, 964, 977, 977, 977, 965,
2641 972, 972, 972, 966, 972, 2140, 968, 972, 971, 978,
2642 978, 978, 2116, 2142, 977, 980, 980, 980, 985, 985,
2643 985, 2143, 985, 2144, 2147, 985, 2152, 978, 988, 988,
2644 988, 2153, 2154, 980, 989, 989, 989, 2155, 989, 2156,
2646 2157, 989, 992, 992, 992, 988, 2158, 2159, 968, 993,
2647 993, 993, 2160, 993, 2161, 2162, 993, 2163, 2166, 992,
2648 1001, 1001, 1001, 1002, 1002, 1002, 1004, 1004, 1004, 1009,
2649 1009, 1009, 2166, 1009, 2170, 2173, 1009, 2174, 1001, 980,
2650 2167, 1002, 2177, 2179, 1004, 1012, 1012, 1012, 1013, 1013,
2651 1013, 2167, 1013, 2180, 2182, 1013, 1016, 1016, 1016, 1017,
2652 1017, 1017, 1012, 1019, 1019, 1019, 1021, 1021, 1021, 2183,
2653 1021, 2186, 2187, 1021, 1016, 2188, 2192, 1017, 1024, 1024,
2654 1024, 1019, 1025, 1025, 1025, 1027, 1027, 1027, 1035, 1035,
2655 1035, 2164, 1004, 1036, 1036, 1036, 1024, 1029, 1029, 1029,
2657 1025, 1029, 2200, 1027, 1029, 2202, 1035, 1038, 1038, 1038,
2658 2190, 1036, 2191, 2204, 1019, 1039, 1039, 1039, 2197, 1040,
2659 1040, 1040, 2190, 1040, 2191, 1038, 1040, 1041, 1041, 1041,
2660 2197, 2206, 1039, 1042, 1042, 1042, 2164, 1042, 2211, 2214,
2661 1042, 1044, 1044, 1044, 1041, 1045, 1045, 1045, 1049, 1049,
2662 1049, 1027, 1047, 1047, 1047, 1053, 1053, 1053, 2216, 1044,
2663 1050, 1050, 1050, 1045, 1050, 1049, 1038, 1050, 2213, 2213,
2664 1047, 2218, 1053, 1054, 1054, 1054, 2219, 1054, 2211, 2212,
2665 1054, 1056, 1056, 1056, 1057, 1057, 1057, 1059, 1059, 1059,
2666 1061, 1061, 1061, 2212, 1061, 2220, 2221, 1061, 2230, 1056,
2668 2232, 2235, 1057, 2237, 2243, 1059, 1064, 1064, 1064, 1065,
2669 1065, 1065, 1067, 1067, 1067, 1068, 1068, 1068, 1047, 1069,
2670 1069, 1069, 2215, 1069, 1064, 2244, 1069, 1065, 2198, 2229,
2671 1067, 2245, 1068, 2215, 1072, 1072, 1072, 1073, 1073, 1073,
2672 2198, 1073, 2231, 2234, 1073, 1074, 1074, 1074, 2229, 2247,
2673 1059, 1072, 1075, 1075, 1075, 1077, 1077, 1077, 1079, 1079,
2674 1079, 2231, 2234, 1074, 1082, 1082, 1082, 1083, 1083, 1083,
2675 1075, 1067, 2248, 1077, 2236, 1079, 1085, 1085, 1085, 1088,
2676 1088, 1088, 1082, 2249, 2250, 1083, 1089, 1089, 1089, 1091,
2677 1091, 1091, 2257, 2236, 1085, 2258, 2259, 1088, 1092, 1092,
2679 1092, 2260, 1092, 2261, 1089, 1092, 2262, 1091, 1095, 1095,
2680 1095, 1096, 1096, 1096, 2265, 2266, 1077, 1098, 1098, 1098,
2681 1099, 1099, 1099, 2267, 1099, 2268, 1095, 1099, 2269, 1096,
2682 1103, 1103, 1103, 2270, 2272, 1098, 1085, 1104, 1104, 1104,
2683 2274, 2276, 1091, 1106, 1106, 1106, 2286, 2284, 1103, 1108,
2684 1108, 1108, 1115, 1115, 1115, 1104, 1139, 1139, 1139, 2284,
2685 2285, 1106, 1140, 1140, 1140, 2287, 1140, 1108, 1108, 1140,
2686 1115, 2288, 2285, 1139, 2289, 2290, 1098, 1141, 1141, 1141,
2687 1142, 1142, 1142, 1143, 1143, 1143, 2291, 1143, 2295, 2296,
2688 1143, 1146, 1146, 1146, 2297, 1141, 2298, 1142, 1148, 1148,
2690 1148, 2299, 1148, 1106, 2300, 1148, 1151, 1151, 1151, 1146,
2691 2303, 1152, 1152, 1152, 2301, 1152, 2304, 1115, 1152, 2305,
2692 1153, 1153, 1153, 1151, 1153, 2306, 2307, 1153, 1157, 1157,
2693 1157, 1158, 1158, 1158, 1141, 1158, 2308, 2309, 1158, 2301,
2694 1146, 1160, 1160, 1160, 2310, 1157, 1163, 1163, 1163, 1164,
2695 1164, 1164, 2311, 1164, 2312, 2313, 1164, 2314, 2315, 1160,
2696 1165, 1165, 1165, 1163, 1166, 1166, 1166, 1168, 1168, 1168,
2697 1179, 1179, 1179, 2316, 1180, 1180, 1180, 1165, 1180, 2317,
2698 2318, 1180, 1166, 2319, 2320, 1168, 2324, 1179, 1181, 1181,
2699 1181, 1160, 1184, 1184, 1184, 1185, 1185, 1185, 2325, 1185,
2701 2326, 2327, 1185, 1186, 1186, 1186, 1181, 2328, 2329, 1184,
2702 1187, 1187, 1187, 1166, 1188, 1188, 1188, 1190, 1190, 1190,
2703 1186, 1193, 1193, 1193, 1194, 1194, 1194, 1187, 1194, 2330,
2704 2321, 1194, 1188, 2331, 1190, 1195, 1195, 1195, 1193, 1195,
2705 2332, 2333, 1195, 1198, 1198, 1198, 1205, 1205, 1205, 2321,
2706 2334, 1181, 1207, 1207, 1207, 2335, 1187, 1213, 1213, 1213,
2707 1198, 1210, 1210, 1210, 1205, 1210, 2336, 2337, 1210, 1207,
2708 1215, 1215, 1215, 2338, 1213, 1217, 1217, 1217, 2339, 1188,
2709 1221, 1221, 1221, 1222, 1222, 1222, 2341, 2342, 1215, 1254,
2710 1254, 1254, 2343, 1217, 1230, 1230, 1230, 1221, 1223, 1223,
2712 1223, 1222, 1223, 2344, 2345, 1223, 1254, 1226, 1226, 1226,
2713 1205, 1226, 1230, 2346, 1226, 1232, 1232, 1232, 2340, 1232,
2714 2347, 2348, 1232, 1237, 1237, 1237, 1221, 1237, 2349, 2350,
2715 1237, 2351, 2352, 1215, 1241, 1241, 1241, 2353, 2340, 1222,
2716 1217, 2354, 1243, 1243, 1243, 2355, 1244, 1244, 1244, 2356,
2717 1244, 2357, 1241, 1244, 1249, 1249, 1249, 2357, 1249, 1230,
2718 1243, 1249, 1252, 1252, 1252, 1255, 1255, 1255, 2358, 1255,
2719 2359, 2360, 1255, 1258, 1258, 1258, 1260, 1260, 1260, 2361,
2720 1252, 1261, 1261, 1261, 1262, 1262, 1262, 1263, 1263, 1263,
2721 2362, 1258, 2363, 1260, 1241, 1264, 1264, 1264, 1243, 1261,
2723 2365, 2366, 1262, 2368, 1263, 2369, 1267, 1267, 1267, 1252,
2724 1274, 1274, 1274, 1264, 1289, 1289, 1289, 1291, 1291, 1291,
2725 2371, 2372, 1258, 2375, 1267, 1296, 1296, 1296, 1274, 1298,
2726 1298, 1298, 2376, 1299, 1299, 1299, 1262, 1299, 2377, 2378,
2727 1299, 1302, 1302, 1302, 1303, 1303, 1303, 1261, 1303, 2380,
2728 2382, 1303, 1308, 1308, 1308, 2374, 1264, 1267, 2384, 1302,
2729 2386, 2388, 1274, 1291, 1310, 1310, 1310, 2389, 1310, 2374,
2730 1308, 1310, 2390, 1267, 2391, 1298, 2392, 1289, 1314, 1314,
2731 1314, 2393, 1314, 2394, 2395, 1314, 1318, 1318, 1318, 1319,
2732 1319, 1319, 1321, 1321, 1321, 2397, 1321, 2399, 2401, 1321,
2734 1324, 1324, 1324, 1308, 1318, 2402, 2403, 1302, 1325, 1325,
2735 1325, 2404, 1325, 1426, 1424, 1325, 2427, 1324, 1326, 1326,
2736 1326, 1330, 1330, 1330, 1331, 1331, 1331, 1332, 1332, 1332,
2737 1334, 1334, 1334, 1335, 1335, 1335, 1326, 1337, 1337, 1337,
2738 2405, 1337, 2417, 2443, 1337, 2413, 1318, 1340, 1340, 1340,
2739 1343, 1343, 1343, 2427, 1343, 2406, 2414, 1343, 1346, 1346,
2740 1346, 1348, 1348, 1348, 2421, 1340, 1347, 1347, 1347, 1326,
2741 1347, 1423, 2421, 1347, 2422, 1346, 2405, 2443, 1348, 1349,
2742 1349, 1349, 2422, 1349, 1422, 2417, 1349, 1351, 1351, 1351,
2743 1332, 2406, 2413, 1334, 1340, 2451, 1335, 1353, 1353, 1353,
2745 1354, 1354, 1354, 2414, 1354, 1351, 2418, 1354, 1355, 1355,
2746 1355, 1357, 1357, 1357, 1353, 1357, 2429, 2415, 1357, 1360,
2747 1360, 1360, 1361, 1361, 1361, 1355, 1361, 2416, 2451, 1361,
2748 1362, 1362, 1362, 1367, 1367, 1367, 1360, 1368, 1368, 1368,
2749 1370, 1370, 1370, 1421, 1371, 1371, 1371, 1362, 1371, 2418,
2750 1367, 1371, 1372, 1372, 1372, 1368, 2429, 1370, 1374, 1374,
2751 1374, 1375, 1375, 1375, 2415, 1375, 2430, 2477, 1375, 1372,
2752 1377, 1377, 1377, 2425, 2416, 1374, 1379, 1379, 1379, 1383,
2753 1383, 1383, 1384, 1384, 1384, 2423, 1384, 2424, 1377, 1384,
2754 1386, 1386, 1386, 2423, 1379, 2424, 1383, 1388, 1388, 1388,
2756 2426, 2428, 1368, 1390, 1390, 1390, 2430, 2477, 1386, 1391,
2757 1391, 1391, 1392, 1392, 1392, 1388, 1393, 1393, 1393, 2425,
2758 1390, 1395, 1395, 1395, 2419, 2431, 1391, 1379, 2419, 1392,
2759 1396, 1396, 1396, 2432, 1393, 1397, 1397, 1397, 2428, 1395,
2760 1398, 1398, 1398, 1405, 1405, 1405, 2426, 1396, 1388, 1400,
2761 1400, 1400, 1397, 1400, 2437, 2420, 1400, 2457, 1398, 2420,
2762 2431, 1405, 1407, 1407, 1407, 2441, 2435, 1395, 2432, 1408,
2763 1408, 1408, 2439, 1408, 2438, 1392, 1408, 1418, 1406, 1407,
2764 1404, 2439, 1393, 1409, 1409, 1409, 2437, 1410, 1410, 1410,
2765 1411, 1411, 1411, 2444, 1405, 1412, 1412, 1412, 2457, 1412,
2767 2441, 1409, 1412, 2435, 1398, 1410, 2438, 1411, 1413, 1413,
2768 1413, 1419, 1419, 1419, 1420, 1420, 1420, 1425, 1425, 1425,
2769 1430, 1430, 1430, 1431, 1431, 1431, 1413, 2444, 1419, 1432,
2770 1432, 1432, 1420, 1434, 1434, 1434, 1436, 1436, 1436, 1403,
2771 2436, 1409, 1410, 1437, 1437, 1437, 1441, 1441, 1441, 1443,
2772 1443, 1443, 1446, 1446, 1446, 1448, 1448, 1448, 1450, 1450,
2773 1450, 1451, 1451, 1451, 1460, 1460, 1460, 1443, 1460, 1399,
2774 1446, 1460, 1448, 2433, 1420, 2442, 1450, 2436, 1451, 1463,
2775 1463, 1463, 2445, 1464, 1464, 1464, 1467, 1467, 1467, 1468,
2776 1468, 1468, 1470, 1470, 1470, 2446, 2449, 1463, 2434, 1443,
2778 1464, 1471, 1471, 1471, 1474, 1474, 1474, 1394, 1474, 1470,
2779 2442, 1474, 1389, 1477, 1477, 1477, 1450, 1477, 2433, 1471,
2780 1477, 1481, 1481, 1481, 2445, 1463, 1484, 1484, 1484, 2440,
2781 1484, 2449, 2447, 1484, 1487, 1487, 1487, 2446, 2440, 1481,
2782 1488, 1488, 1488, 2434, 1488, 2450, 2452, 1488, 1490, 1490,
2783 1490, 1487, 1490, 2453, 1471, 1490, 1493, 1493, 1493, 1494,
2784 1494, 1494, 2453, 1494, 2448, 2455, 1494, 1495, 1495, 1495,
2785 1499, 1499, 1499, 1493, 1500, 1500, 1500, 2447, 1500, 2452,
2786 2450, 1500, 2485, 1387, 1495, 2454, 2459, 1499, 1501, 1501,
2787 1501, 1503, 1503, 1503, 2454, 1503, 2456, 2458, 1503, 1506,
2789 1506, 1506, 2455, 1507, 1507, 1507, 1501, 1507, 2491, 2448,
2790 1507, 1509, 1509, 1509, 2485, 1509, 1506, 2460, 1509, 1513,
2791 1513, 1513, 1516, 1516, 1516, 1518, 1518, 1518, 1520, 1520,
2792 1520, 2459, 1520, 2456, 2463, 1520, 2464, 1513, 2458, 1501,
2793 1516, 2461, 1518, 1524, 1524, 1524, 1527, 1527, 1527, 1529,
2794 1529, 1529, 1530, 1530, 1530, 2491, 1530, 1385, 2462, 1530,
2795 2469, 1524, 2460, 2463, 1527, 2464, 1529, 1531, 1531, 1531,
2796 2470, 1518, 1532, 1532, 1532, 2471, 1532, 1382, 2461, 1532,
2797 1534, 1534, 1534, 2471, 1531, 1516, 1536, 1536, 1536, 1537,
2798 1537, 1537, 1538, 1538, 1538, 2462, 1538, 2473, 1534, 1538,
2800 1539, 1539, 1539, 2465, 1536, 2469, 1537, 1540, 1540, 1540,
2801 2467, 1540, 2465, 2495, 1540, 2470, 2475, 1539, 1541, 1541,
2802 1541, 1545, 1545, 1545, 1547, 1547, 1547, 2495, 1547, 2466,
2803 2479, 1547, 1550, 1550, 1550, 1536, 1541, 2476, 2466, 1545,
2804 1551, 1551, 1551, 2473, 2467, 1534, 2468, 1552, 1552, 1552,
2805 1550, 1552, 2478, 2475, 1552, 1555, 1555, 1555, 1551, 1561,
2806 1561, 1561, 1562, 1562, 1562, 2479, 1562, 2472, 1381, 1562,
2807 1563, 1563, 1563, 1555, 2476, 2472, 1561, 1564, 1564, 1564,
2808 2468, 1380, 1541, 1550, 1378, 1545, 1376, 1373, 1563, 1567,
2809 1567, 1567, 2478, 1551, 1568, 1568, 1568, 1569, 1569, 1569,
2811 1572, 1572, 1572, 1573, 1573, 1573, 1574, 1574, 1574, 1575,
2812 1575, 1575, 1577, 1577, 1577, 1578, 1578, 1578, 1579, 1579,
2813 1579, 1580, 1580, 1580, 1581, 1581, 1581, 1583, 1583, 1583,
2814 1586, 1586, 1586, 1563, 1589, 1589, 1589, 1590, 1590, 1590,
2815 2481, 1590, 2480, 1369, 1590, 1583, 1366, 1365, 1586, 1364,
2816 1363, 1589, 1592, 1592, 1592, 1593, 1593, 1593, 1594, 1594,
2817 1594, 2482, 1594, 1356, 1352, 1594, 1605, 1605, 1605, 1350,
2818 1592, 2486, 1593, 1606, 1606, 1606, 2474, 2480, 1583, 1607,
2819 1607, 1607, 2483, 1607, 1605, 2481, 1607, 1608, 1608, 1608,
2820 1606, 1610, 1610, 1610, 1611, 1611, 1611, 1612, 1612, 1612,
2822 1613, 1613, 1613, 2486, 1613, 1342, 2482, 1613, 1614, 1614,
2823 1614, 1684, 1684, 1684, 1612, 1605, 1621, 1621, 1621, 2483,
2824 1621, 2484, 2474, 1621, 2487, 2489, 1614, 1625, 1625, 1625,
2825 1341, 1625, 2488, 2487, 1625, 1628, 1628, 1628, 1629, 1629,
2826 1629, 2488, 1629, 1336, 1333, 1629, 1633, 1633, 1633, 2490,
2827 1633, 1329, 1628, 1633, 1636, 1636, 1636, 2489, 2484, 1614,
2828 1638, 1638, 1638, 1328, 1638, 2493, 2492, 1638, 1644, 1644,
2829 1644, 2496, 1636, 1646, 1646, 1646, 1647, 1647, 1647, 1327,
2830 1647, 2490, 2496, 1647, 1320, 1317, 1644, 1654, 1654, 1654,
2831 1646, 1657, 1657, 1657, 1313, 1657, 1309, 2493, 1657, 1660,
2833 1660, 1660, 1307, 1660, 1306, 1654, 1660, 1664, 1664, 1664,
2834 1666, 1666, 1666, 2492, 1667, 1667, 1667, 1636, 1667, 1297,
2835 1295, 1667, 1670, 1670, 1670, 1664, 1670, 2494, 1666, 1670,
2836 1673, 1673, 1673, 1674, 1674, 1674, 1677, 1677, 1677, 1679,
2837 1679, 1679, 1680, 1680, 1680, 1681, 1681, 1681, 1673, 1294,
2838 1674, 1689, 1689, 1689, 1677, 1293, 1292, 1679, 1664, 2494,
2839 1680, 1290, 1288, 1681, 1286, 1285, 1673, 1685, 1685, 1685,
2840 1283, 1685, 1281, 1279, 1685, 1666, 1688, 1688, 1688, 1690,
2841 1690, 1690, 1692, 1692, 1692, 1693, 1693, 1693, 1694, 1694,
2842 1694, 1695, 1695, 1695, 1688, 1696, 1696, 1696, 1679, 1278,
2844 1677, 1697, 1697, 1697, 1699, 1699, 1699, 1700, 1700, 1700,
2845 1701, 1701, 1701, 1703, 1703, 1703, 1706, 1706, 1706, 1707,
2846 1707, 1707, 1277, 1707, 1276, 1275, 1707, 1711, 1711, 1711,
2847 1273, 1703, 1272, 1706, 1688, 1713, 1713, 1713, 1269, 1713,
2848 1266, 1259, 1713, 1257, 1256, 1711, 1726, 1726, 1726, 1727,
2849 1727, 1727, 1253, 1727, 1248, 1247, 1727, 1730, 1730, 1730,
2850 1732, 1732, 1732, 1242, 1726, 1733, 1733, 1733, 1240, 1733,
2851 1236, 1235, 1733, 1736, 1736, 1736, 1746, 1746, 1746, 1229,
2852 1746, 1220, 1219, 1746, 1749, 1749, 1749, 1752, 1752, 1752,
2853 1218, 1736, 1757, 1757, 1757, 1759, 1759, 1759, 1771, 1771,
2855 1771, 1749, 1773, 1773, 1773, 1752, 1726, 1760, 1760, 1760,
2856 1757, 1760, 1759, 1216, 1760, 1774, 1774, 1774, 1214, 1209,
2857 1773, 1775, 1775, 1775, 1776, 1776, 1776, 1777, 1777, 1777,
2858 1208, 1206, 1774, 1778, 1778, 1778, 1204, 1778, 1203, 1775,
2859 1778, 1759, 1776, 1202, 1777, 1779, 1779, 1779, 1781, 1781,
2860 1781, 1782, 1782, 1782, 1783, 1783, 1783, 1784, 1784, 1784,
2861 1201, 1200, 1779, 1786, 1786, 1786, 1781, 1789, 1789, 1789,
2862 1199, 1192, 1783, 1191, 1189, 1784, 1790, 1790, 1790, 1183,
2863 1775, 1786, 1182, 1178, 1776, 1791, 1791, 1791, 1793, 1793,
2864 1793, 1794, 1794, 1794, 1790, 1797, 1797, 1797, 1800, 1800,
2866 1800, 1801, 1801, 1801, 1177, 1801, 1176, 1175, 1801, 1813,
2867 1813, 1813, 1174, 1797, 1171, 1800, 1815, 1815, 1815, 1783,
2868 1823, 1823, 1823, 1170, 1786, 1167, 1162, 1813, 1826, 1826,
2869 1826, 1827, 1827, 1827, 1815, 1827, 1159, 1823, 1827, 1829,
2870 1829, 1829, 1830, 1830, 1830, 1826, 1834, 1834, 1834, 1836,
2871 1836, 1836, 1845, 1845, 1845, 1156, 1829, 1837, 1837, 1837,
2872 1830, 1837, 1147, 1834, 1837, 1145, 1836, 1144, 1813, 1845,
2873 1847, 1847, 1847, 1849, 1849, 1849, 1851, 1851, 1851, 1852,
2874 1852, 1852, 1138, 1852, 1137, 1135, 1852, 1853, 1853, 1853,
2875 1134, 1849, 1133, 1851, 1854, 1854, 1854, 1855, 1855, 1855,
2877 1132, 1855, 1131, 1130, 1855, 1853, 1858, 1858, 1858, 1859,
2878 1859, 1859, 1854, 1859, 1129, 1128, 1859, 1860, 1860, 1860,
2879 1861, 1861, 1861, 1858, 1863, 1863, 1863, 1864, 1864, 1864,
2880 1868, 1868, 1868, 1126, 1860, 1873, 1873, 1873, 1861, 1874,
2881 1874, 1874, 1125, 1874, 1122, 1864, 1874, 1120, 1868, 1888,
2882 1888, 1888, 1873, 1891, 1891, 1891, 1894, 1894, 1894, 1119,
2883 1854, 1895, 1895, 1895, 1118, 1895, 1117, 1888, 1895, 1116,
2884 1891, 1114, 1113, 1894, 1898, 1898, 1898, 1112, 1898, 1111,
2885 1102, 1898, 1902, 1902, 1902, 1903, 1903, 1903, 1087, 1903,
2886 1086, 1081, 1903, 1905, 1905, 1905, 1906, 1906, 1906, 1902,
2888 1907, 1907, 1907, 1080, 1907, 1078, 1071, 1907, 1888, 1070,
2889 1905, 1060, 1055, 1906, 1908, 1908, 1908, 1909, 1909, 1909,
2890 1052, 1909, 1051, 1048, 1909, 1917, 1917, 1917, 1918, 1918,
2891 1918, 1908, 1918, 1043, 1034, 1918, 1919, 1919, 1919, 1920,
2892 1920, 1920, 1917, 1921, 1921, 1921, 1033, 1921, 1032, 1028,
2893 1921, 1020, 1015, 1919, 1014, 1008, 1920, 1924, 1924, 1924,
2894 1926, 1926, 1926, 1927, 1927, 1927, 1007, 1927, 1006, 1005,
2895 1927, 1930, 1930, 1930, 1000, 1924, 999, 998, 1926, 1931,
2896 1931, 1931, 997, 1931, 996, 995, 1931, 994, 1930, 1932,
2897 1932, 1932, 1937, 1937, 1937, 1940, 1940, 1940, 1941, 1941,
2899 1941, 984, 1941, 983, 982, 1941, 981, 1932, 1959, 1959,
2900 1959, 976, 1940, 1960, 1960, 1960, 1961, 1961, 1961, 1962,
2901 1962, 1962, 2004, 2004, 2004, 1926, 1959, 1963, 1963, 1963,
2902 975, 1963, 970, 1961, 1963, 969, 1962, 1964, 1964, 1964,
2903 960, 1964, 959, 958, 1964, 1970, 1970, 1970, 957, 1970,
2904 956, 955, 1970, 1974, 1974, 1974, 1975, 1975, 1975, 1959,
2905 1975, 954, 1961, 1975, 1976, 1976, 1976, 953, 1976, 952,
2906 1974, 1976, 1979, 1979, 1979, 1980, 1980, 1980, 947, 1980,
2907 939, 937, 1980, 1982, 1982, 1982, 1984, 1984, 1984, 1979,
2908 1984, 931, 929, 1984, 1987, 1987, 1987, 1988, 1988, 1988,
2910 1982, 1988, 920, 915, 1988, 1989, 1989, 1989, 1990, 1990,
2911 1990, 1987, 1990, 904, 902, 1990, 1997, 1997, 1997, 1998,
2912 1998, 1998, 1989, 1998, 901, 900, 1998, 2003, 2003, 2003,
2913 898, 2007, 2007, 2007, 1997, 2007, 897, 896, 2007, 2018,
2914 2018, 2018, 895, 894, 2003, 2003, 2027, 2027, 2027, 2028,
2915 2028, 2028, 2029, 2029, 2029, 893, 2018, 891, 2030, 2030,
2916 2030, 890, 2030, 889, 2027, 2030, 888, 1997, 887, 2029,
2917 2032, 2032, 2032, 886, 2032, 885, 884, 2032, 2039, 2039,
2918 2039, 883, 2039, 882, 876, 2039, 2042, 2042, 2042, 875,
2919 2042, 874, 871, 2042, 870, 2027, 2046, 2046, 2046, 2047,
2921 2047, 2047, 869, 2047, 867, 863, 2047, 2049, 2049, 2049,
2922 860, 2049, 851, 2046, 2049, 2052, 2052, 2052, 850, 2052,
2923 847, 846, 2052, 2061, 2061, 2061, 2063, 2063, 2063, 2064,
2924 2064, 2064, 2065, 2065, 2065, 845, 2065, 844, 834, 2065,
2925 827, 2061, 819, 2063, 2063, 818, 2064, 2064, 817, 814,
2926 2065, 2066, 2066, 2066, 2067, 2067, 2067, 2076, 2076, 2076,
2927 2077, 2077, 2077, 809, 2077, 806, 805, 2077, 2086, 2086,
2928 2086, 2087, 2087, 2087, 2076, 2087, 801, 799, 2087, 2093,
2929 2093, 2093, 2095, 2095, 2095, 796, 2086, 2096, 2096, 2096,
2930 795, 2096, 794, 793, 2096, 792, 2093, 791, 790, 2095,
2932 2099, 2099, 2099, 2114, 2114, 2114, 2117, 2117, 2117, 2118,
2933 2118, 2118, 786, 2118, 782, 779, 2118, 2099, 2119, 2119,
2934 2119, 2114, 2119, 2117, 2117, 2119, 778, 2118, 2122, 2122,
2935 2122, 775, 774, 2086, 773, 770, 2119, 2120, 2120, 2120,
2936 2120, 2120, 2120, 2120, 2120, 2120, 767, 766, 2120, 2123,
2937 2123, 2123, 765, 2120, 2120, 2120, 2120, 2120, 2132, 2132,
2938 2132, 763, 2132, 762, 761, 2132, 2146, 2146, 2146, 760,
2939 2146, 759, 755, 2146, 750, 2141, 2141, 2141, 749, 2145,
2940 2145, 2145, 2120, 2120, 2121, 2121, 2121, 2121, 2121, 2121,
2941 2121, 2121, 2121, 2141, 748, 2121, 2145, 2148, 2148, 2148,
2943 2121, 2121, 2121, 2121, 2121, 2149, 2149, 2149, 747, 2149,
2944 744, 743, 2149, 742, 2148, 2150, 2150, 2150, 2151, 2151,
2945 2151, 740, 2151, 736, 732, 2151, 2184, 2184, 2184, 2121,
2946 2121, 731, 2150, 2165, 2165, 2165, 728, 2165, 725, 724,
2947 2165, 2189, 2189, 2189, 2184, 2189, 723, 722, 2189, 721,
2948 720, 2165, 2168, 2168, 2168, 2168, 2168, 2168, 2168, 2168,
2949 2168, 718, 717, 2168, 716, 715, 714, 713, 2168, 2168,
2950 2168, 2168, 2168, 2193, 2193, 2193, 712, 2193, 711, 710,
2951 2193, 2196, 2196, 2196, 709, 2196, 708, 707, 2196, 706,
2952 2217, 2217, 2217, 705, 2226, 2226, 2226, 2168, 2168, 2169,
2954 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2217, 2217,
2955 2169, 2226, 2227, 2227, 2227, 2169, 2169, 2169, 2169, 2169,
2956 2228, 2228, 2228, 2233, 2233, 2233, 2251, 2251, 2251, 2227,
2957 2242, 2242, 2242, 2246, 2246, 2246, 704, 2228, 703, 699,
2958 2233, 698, 696, 2251, 2169, 2169, 695, 694, 2242, 693,
2959 692, 2246, 2252, 2252, 2252, 688, 2252, 686, 685, 2252,
2960 2253, 2253, 2253, 2254, 2254, 2254, 684, 2254, 683, 679,
2961 2254, 2255, 2255, 2255, 2256, 2256, 2256, 2253, 2256, 675,
2962 674, 2256, 671, 670, 2246, 2263, 2263, 2263, 2255, 2264,
2963 2264, 2264, 669, 2264, 668, 667, 2264, 2271, 2271, 2271,
2965 666, 663, 2263, 2277, 2277, 2277, 662, 2277, 661, 660,
2966 2277, 657, 2280, 2280, 2280, 2271, 2280, 655, 652, 2280,
2967 2283, 2283, 2283, 651, 2283, 650, 649, 2283, 2292, 2292,
2968 2292, 648, 2292, 645, 2271, 2292, 2387, 2387, 2387, 2396,
2969 2396, 2396, 644, 2396, 643, 642, 2396, 2497, 2497, 2497,
2970 2498, 2498, 2498, 641, 2387, 638, 637, 2396, 636, 635,
2971 633, 630, 628, 625, 624, 2497, 623, 622, 2498, 2501,
2972 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2501, 2502, 2502,
2973 2502, 2502, 2502, 2502, 2502, 2502, 2502, 2503, 2503, 2503,
2974 2503, 2503, 2503, 2503, 2503, 2503, 2504, 2504, 2504, 2504,
2976 2504, 2504, 2504, 2504, 2504, 2505, 2505, 2505, 2505, 2505,
2977 2505, 2505, 2505, 2505, 2506, 2506, 2506, 2506, 2506, 2506,
2978 2506, 2506, 2506, 2507, 2507, 2507, 2507, 2507, 2507, 2507,
2979 2507, 2507, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508,
2980 2508, 2509, 2509, 2509, 2509, 2509, 2509, 2509, 2509, 2509,
2981 2510, 2510, 2510, 2510, 2510, 2510, 2510, 2510, 2510, 2511,
2982 2511, 2511, 2511, 2511, 2511, 2511, 2511, 2511, 2512, 2512,
2983 2512, 2512, 2512, 2512, 2512, 2512, 2512, 2513, 2513, 2513,
2984 2513, 2513, 2513, 2513, 2513, 2513, 2514, 2514, 2514, 2514,
2985 2514, 2514, 2514, 2514, 2514, 2515, 2515, 2515, 2515, 2515,
2987 2515, 2515, 2515, 2515, 2516, 2516, 2516, 2516, 2516, 2516,
2988 2516, 2516, 2516, 2517, 2517, 2517, 2517, 2517, 2517, 2517,
2989 2517, 2517, 2518, 2518, 2518, 2518, 2518, 2518, 2518, 2518,
2990 2518, 2519, 2519, 2519, 2519, 2519, 2519, 2519, 2519, 2519,
2991 2520, 2520, 2520, 2520, 2520, 2520, 2520, 2520, 2520, 2521,
2992 2521, 2521, 2521, 2521, 2521, 2521, 2521, 2521, 2522, 2522,
2993 2522, 2522, 2522, 2522, 2522, 2522, 2522, 2523, 2523, 2523,
2994 2523, 2523, 2523, 2523, 2523, 2523, 2524, 2524, 2524, 2524,
2995 2524, 2524, 2524, 2524, 2524, 2525, 2525, 2525, 2525, 2525,
2996 2525, 2525, 2525, 2525, 2526, 2526, 2526, 2526, 2526, 2526,
2998 2526, 2526, 2526, 2527, 2527, 2527, 2527, 2527, 2527, 2527,
2999 2527, 2527, 2528, 2528, 2528, 2528, 2528, 2528, 2528, 2528,
3000 2528, 2529, 2529, 2529, 2529, 2529, 2529, 2529, 2529, 2529,
3001 2530, 2530, 2530, 2530, 2530, 2530, 2530, 2530, 2530, 2531,
3002 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2531, 2532, 2532,
3003 2532, 2532, 2532, 2532, 2532, 2532, 2532, 2533, 2533, 2533,
3004 2533, 2533, 2533, 2533, 2533, 2533, 2534, 2534, 2534, 2534,
3005 2534, 2534, 2534, 2534, 2534, 2535, 2535, 2535, 2535, 2535,
3006 2535, 2535, 2535, 2535, 2536, 2536, 2536, 2536, 2536, 2536,
3007 2536, 2536, 2536, 2537, 2537, 2537, 2537, 2537, 2537, 2537,
3009 2537, 2537, 2538, 2538, 2538, 2538, 2538, 2538, 2538, 2538,
3010 2538, 2539, 2539, 2539, 2539, 2539, 2539, 2539, 2539, 2539,
3011 2540, 2540, 2540, 2540, 2540, 2540, 2540, 2540, 2540, 2541,
3012 2541, 2541, 2541, 2541, 2541, 2541, 2541, 2541, 2542, 2542,
3013 2542, 2542, 2542, 2542, 2542, 2542, 2542, 2543, 2543, 2543,
3014 2543, 2543, 2543, 2543, 2543, 2543, 2544, 2544, 2544, 2544,
3015 2544, 2544, 2544, 2544, 2544, 2545, 2545, 2545, 620, 619,
3016 618, 2545, 2546, 2546, 2546, 615, 614, 613, 2546, 2547,
3017 2547, 2547, 612, 611, 610, 2547, 2548, 2548, 2548, 609,
3018 608, 607, 2548, 2549, 2549, 2549, 605, 603, 602, 2549,
3020 2550, 2550, 2550, 599, 598, 597, 2550, 2551, 2551, 2551,
3021 594, 591, 590, 2551, 2552, 2552, 2552, 588, 583, 582,
3022 2552, 2553, 2553, 2553, 580, 579, 578, 2553, 2554, 2554,
3023 2554, 577, 576, 575, 2554, 2555, 2555, 2555, 571, 570,
3024 569, 2555, 2556, 2556, 2556, 568, 564, 563, 2556, 2557,
3025 2557, 2557, 562, 561, 560, 2557, 2558, 2558, 2558, 559,
3026 558, 556, 2558, 2559, 2559, 2559, 553, 552, 550, 2559,
3027 2560, 2560, 2560, 548, 545, 544, 2560, 2561, 2561, 2561,
3028 538, 536, 534, 2561, 2562, 2562, 2562, 531, 530, 527,
3029 2562, 2563, 2563, 2563, 526, 525, 523, 2563, 2564, 2564,
3031 2564, 522, 521, 520, 2564, 2565, 2565, 2565, 2565, 2565,
3032 2565, 2565, 519, 2565, 2566, 2566, 2566, 516, 515, 514,
3033 2566, 2567, 513, 512, 506, 2567, 2568, 2568, 2568, 505,
3034 503, 497, 2568, 2569, 496, 492, 488, 2569, 2570, 2570,
3035 2570, 485, 481, 475, 2570, 2571, 471, 463, 462, 2571,
3036 2572, 2572, 2572, 461, 460, 456, 2572, 2573, 452, 449,
3037 448, 2573, 2574, 2574, 2574, 447, 443, 437, 2574, 2575,
3038 436, 432, 428, 2575, 2576, 2576, 2576, 424, 423, 419,
3039 2576, 2577, 416, 415, 410, 2577, 2578, 2578, 2578, 406,
3040 402, 398, 2578, 2579, 397, 396, 392, 2579, 2580, 2580,
3042 2580, 386, 385, 381, 2580, 2581, 375, 374, 373, 2581,
3043 2582, 2582, 2582, 372, 371, 370, 2582, 2583, 369, 365,
3044 356, 2583, 2584, 2584, 2584, 355, 354, 352, 2584, 2585,
3045 348, 344, 341, 2585, 2586, 2586, 2586, 340, 339, 338,
3046 2586, 2587, 337, 333, 329, 2587, 2588, 2588, 2588, 326,
3047 325, 324, 2588, 2589, 320, 316, 310, 2589, 2590, 2590,
3048 2590, 303, 302, 298, 2590, 2591, 292, 291, 290, 2591,
3049 2592, 2592, 2592, 286, 283, 282, 2592, 2593, 277, 275,
3050 274, 2593, 2594, 2594, 2594, 270, 267, 265, 2594, 2595,
3051 264, 263, 259, 2595, 2596, 2596, 2596, 253, 249, 245,
3053 2596, 2597, 237, 233, 229, 2597, 2598, 2598, 2598, 228,
3054 227, 221, 2598, 2599, 220, 218, 215, 2599, 2600, 2600,
3055 2600, 203, 0, 0, 2600, 2601, 0, 0, 0, 2601,
3056 2602, 2602, 2602, 0, 0, 0, 2602, 2603, 0, 0,
3057 0, 2603, 2604, 2604, 2604, 0, 0, 0, 2604, 2605,
3058 0, 0, 0, 2605, 2606, 2606, 2606, 2606, 2606, 2606,
3059 2606, 2606, 2606, 2607, 0, 0, 0, 0, 2607, 2608,
3060 2608, 2608, 0, 0, 0, 2608, 2609, 2609, 2609, 2609,
3061 0, 0, 2609, 2609, 2610, 2610, 2610, 0, 0, 0,
3062 2610, 2611, 2611, 2611, 2611, 0, 0, 2611, 2611, 2612,
3064 2612, 2612, 0, 0, 0, 2612, 2613, 2613, 2613, 2613,
3065 0, 0, 2613, 2613, 2614, 2614, 2614, 0, 0, 0,
3066 2614, 2615, 2615, 2615, 2615, 0, 0, 2615, 2615, 2616,
3067 2616, 2616, 0, 0, 0, 2616, 2617, 2617, 2617, 2617,
3068 0, 0, 2617, 2617, 2618, 2618, 2618, 0, 0, 0,
3069 2618, 2619, 2619, 2619, 2619, 0, 0, 2619, 2619, 2620,
3070 2620, 2620, 0, 0, 0, 2620, 2621, 2621, 2621, 2621,
3071 0, 0, 2621, 2621, 2622, 2622, 2622, 0, 0, 0,
3072 2622, 2623, 2623, 2623, 2623, 0, 0, 2623, 2623, 2624,
3073 2624, 2624, 0, 0, 0, 2624, 2625, 2625, 2625, 2625,
3075 0, 0, 2625, 2625, 2626, 2626, 2626, 0, 0, 0,
3076 2626, 2627, 2627, 2627, 2627, 0, 0, 2627, 2627, 2628,
3077 2628, 2628, 0, 0, 0, 2628, 2629, 2629, 2629, 2629,
3078 0, 0, 2629, 2629, 2630, 2630, 2630, 0, 0, 0,
3079 2630, 2631, 2631, 2631, 2631, 0, 0, 2631, 2631, 2632,
3080 2632, 2632, 2632, 0, 2632, 0, 2632, 2633, 2633, 2633,
3081 2633, 0, 0, 2633, 2633, 2634, 2634, 2634, 2634, 0,
3082 2634, 0, 2634, 2635, 2635, 2635, 2635, 0, 0, 2635,
3083 2635, 2636, 2636, 2636, 0, 0, 0, 2636, 2637, 2637,
3084 2637, 2637, 0, 0, 2637, 2637, 2638, 2638, 2638, 2638,
3086 0, 2638, 0, 2638, 2639, 2639, 2639, 2639, 0, 0,
3087 2639, 2639, 2640, 2640, 2640, 0, 0, 0, 2640, 2641,
3088 2641, 2641, 2641, 0, 0, 2641, 2641, 2642, 2642, 2642,
3089 0, 0, 0, 2642, 2643, 2643, 2643, 2643, 0, 0,
3090 2643, 2643, 2644, 2644, 2644, 2644, 0, 0, 2644, 2644,
3091 2645, 2645, 2645, 0, 0, 0, 2645, 2646, 2646, 2646,
3092 2646, 0, 0, 2646, 2646, 2647, 2647, 2647, 2647, 2647,
3093 2647, 2647, 2647, 2647, 2648, 0, 2648, 0, 0, 2648,
3094 2649, 2649, 2649, 0, 0, 0, 2649, 2650, 2650, 2650,
3095 2650, 0, 0, 2650, 2650, 2651, 2651, 2651, 2651, 0,
3097 2651, 0, 2651, 2652, 2652, 2652, 2652, 0, 0, 2652,
3098 2652, 2653, 2653, 2653, 2653, 0, 2653, 0, 2653, 2654,
3099 2654, 2654, 2654, 0, 0, 2654, 2654, 2655, 2655, 2655,
3100 0, 0, 0, 2655, 2656, 2656, 2656, 2656, 0, 0,
3101 2656, 2656, 2657, 2657, 2657, 0, 0, 0, 2657, 2658,
3102 2658, 2658, 2658, 0, 0, 2658, 2658, 2659, 2659, 2659,
3103 0, 0, 0, 2659, 2660, 2660, 2660, 2660, 0, 0,
3104 2660, 2660, 2661, 2661, 2661, 0, 0, 0, 2661, 2662,
3105 2662, 2662, 2662, 0, 0, 2662, 2662, 2663, 2663, 2663,
3106 0, 0, 0, 2663, 2664, 2664, 2664, 2664, 0, 0,
3108 2664, 2664, 2665, 2665, 2665, 0, 0, 0, 2665, 2666,
3109 2666, 2666, 2666, 0, 0, 2666, 2666, 2667, 2667, 2667,
3110 0, 0, 0, 2667, 2668, 2668, 2668, 2668, 0, 0,
3111 2668, 2668, 2669, 2669, 2669, 0, 0, 0, 2669, 2670,
3112 2670, 2670, 2670, 0, 0, 2670, 2670, 2671, 2671, 2671,
3113 0, 0, 0, 2671, 2672, 2672, 2672, 2672, 0, 0,
3114 2672, 2672, 2673, 2673, 2673, 0, 0, 0, 2673, 2674,
3115 2674, 2674, 2674, 0, 0, 2674, 2674, 2675, 2675, 2675,
3116 0, 0, 0, 2675, 2676, 2676, 2676, 2676, 0, 0,
3117 2676, 2676, 2677, 2677, 2677, 0, 0, 0, 2677, 2678,
3119 2678, 2678, 2678, 0, 0, 2678, 2678, 2679, 2679, 2679,
3120 0, 0, 0, 2679, 2680, 2680, 2680, 2680, 0, 0,
3121 2680, 2680, 2681, 2681, 2681, 0, 0, 0, 2681, 2682,
3122 2682, 2682, 2682, 0, 0, 2682, 2682, 2683, 2683, 2683,
3123 0, 0, 0, 2683, 2684, 2684, 2684, 2684, 0, 0,
3124 2684, 2684, 2685, 2685, 2685, 2685, 0, 0, 2685, 2685,
3125 2686, 2686, 2686, 0, 0, 0, 2686, 2687, 2687, 2687,
3126 2687, 0, 0, 2687, 2687, 2688, 2688, 2688, 2688, 2688,
3127 2688, 2688, 2688, 2688, 2689, 2689, 2689, 2689, 2689, 2689,
3128 2689, 2689, 2689, 2690, 2690, 2690, 0, 0, 0, 2690,
3130 2691, 2691, 2691, 2691, 0, 0, 2691, 2691, 2692, 2692,
3131 2692, 2692, 0, 0, 2692, 2692, 2693, 2693, 2693, 0,
3132 0, 0, 2693, 2694, 2694, 2694, 2694, 0, 0, 2694,
3133 2694, 2695, 2695, 2695, 0, 0, 0, 2695, 2696, 2696,
3134 2696, 2696, 0, 0, 2696, 2696, 2697, 2697, 2697, 0,
3135 0, 0, 2697, 2698, 2698, 2698, 2698, 0, 0, 2698,
3136 2698, 2699, 2699, 2699, 0, 0, 0, 2699, 2700, 2700,
3137 2700, 0, 0, 0, 2700, 2701, 2701, 2701, 2701, 0,
3138 0, 2701, 2701, 2702, 2702, 2702, 0, 0, 0, 2702,
3139 2703, 2703, 2703, 2703, 0, 0, 2703, 2703, 2704, 2704,
3141 2704, 0, 0, 0, 2704, 2705, 2705, 2705, 2705, 0,
3142 0, 2705, 2705, 2706, 2706, 2706, 0, 0, 0, 2706,
3143 2707, 2707, 2707, 2707, 0, 0, 2707, 2707, 2708, 2708,
3144 2708, 0, 0, 0, 2708, 2709, 2709, 2709, 2709, 0,
3145 0, 2709, 2709, 2710, 2710, 2710, 0, 0, 0, 2710,
3146 2711, 2711, 2711, 2711, 0, 0, 2711, 2711, 2712, 2712,
3147 2712, 0, 0, 0, 2712, 2713, 2713, 2713, 2713, 0,
3148 0, 2713, 2713, 2714, 2714, 2714, 0, 0, 0, 2714,
3149 2715, 2715, 2715, 2715, 0, 0, 2715, 2715, 2716, 2716,
3150 2716, 0, 0, 0, 2716, 2717, 2717, 2717, 2717, 0,
3152 0, 2717, 2717, 2718, 2718, 2718, 0, 0, 0, 2718,
3153 2719, 2719, 2719, 2719, 0, 0, 2719, 2719, 2720, 2720,
3154 2720, 0, 0, 0, 2720, 2721, 2721, 2721, 2721, 0,
3155 0, 2721, 2721, 2722, 2722, 2722, 2722, 0, 2722, 0,
3156 2722, 2723, 2723, 2723, 2723, 0, 0, 2723, 2723, 2724,
3157 2724, 2724, 2724, 0, 0, 2724, 2724, 2725, 2725, 2725,
3158 2725, 0, 2725, 0, 2725, 2726, 2726, 2726, 2726, 0,
3159 0, 2726, 2726, 2727, 2727, 2727, 2727, 2727, 2727, 2727,
3160 2727, 2727, 2728, 2728, 2728, 2728, 2728, 2728, 2728, 2728,
3161 2728, 2729, 2729, 2729, 0, 0, 0, 2729, 2730, 2730,
3163 2730, 2730, 0, 0, 2730, 2730, 2731, 2731, 2731, 2731,
3164 0, 0, 2731, 2731, 2732, 2732, 2732, 0, 0, 0,
3165 2732, 2733, 2733, 2733, 2733, 0, 0, 2733, 2733, 2734,
3166 2734, 2734, 0, 0, 0, 2734, 2735, 2735, 2735, 2735,
3167 0, 0, 2735, 2735, 2736, 2736, 2736, 0, 0, 0,
3168 2736, 2737, 2737, 2737, 2737, 0, 0, 2737, 2737, 2738,
3169 2738, 2738, 0, 0, 0, 2738, 2739, 2739, 2739, 0,
3170 0, 0, 2739, 2740, 2740, 2740, 2740, 0, 0, 2740,
3171 2740, 2741, 2741, 2741, 0, 0, 0, 2741, 2742, 2742,
3172 2742, 2742, 0, 0, 2742, 2742, 2743, 2743, 2743, 0,
3174 0, 0, 2743, 2744, 2744, 2744, 2744, 0, 0, 2744,
3175 2744, 2745, 2745, 2745, 0, 0, 0, 2745, 2746, 2746,
3176 2746, 2746, 0, 0, 2746, 2746, 2747, 2747, 2747, 0,
3177 0, 0, 2747, 2748, 2748, 2748, 2748, 0, 0, 2748,
3178 2748, 2749, 2749, 2749, 0, 0, 0, 2749, 2750, 2750,
3179 2750, 2750, 0, 0, 2750, 2750, 2751, 2751, 2751, 0,
3180 0, 0, 2751, 2752, 2752, 2752, 2752, 0, 0, 2752,
3181 2752, 2753, 2753, 2753, 2753, 0, 2753, 0, 2753, 2754,
3182 2754, 2754, 2754, 0, 0, 2754, 2754, 2755, 2755, 2755,
3183 0, 0, 0, 2755, 2756, 2756, 2756, 2756, 0, 0,
3185 2756, 2756, 2757, 2757, 2757, 2757, 0, 2757, 0, 2757,
3186 2758, 2758, 2758, 2758, 0, 0, 2758, 2758, 2759, 2759,
3187 2759, 0, 0, 0, 2759, 2760, 2760, 2760, 2760, 0,
3188 0, 2760, 2760, 2761, 2761, 2761, 2761, 0, 0, 2761,
3189 2761, 2762, 2762, 2762, 2762, 0, 0, 2762, 2762, 2763,
3190 2763, 2763, 2763, 0, 0, 2763, 2763, 2764, 2764, 2764,
3191 2764, 2764, 2764, 2764, 2764, 2764, 2765, 2765, 2765, 2765,
3192 2765, 2765, 2765, 2765, 2765, 2766, 2766, 2766, 2766, 0,
3193 2766, 0, 2766, 2767, 2767, 2767, 2767, 0, 0, 2767,
3194 2767, 2768, 2768, 2768, 2768, 0, 0, 2768, 2768, 2769,
3196 2769, 2769, 0, 0, 0, 2769, 2770, 2770, 2770, 2770,
3197 0, 0, 2770, 2770, 2771, 2771, 2771, 0, 0, 0,
3198 2771, 2772, 2772, 2772, 2772, 0, 0, 2772, 2772, 2773,
3199 2773, 2773, 2773, 0, 2773, 0, 2773, 2774, 2774, 2774,
3200 2774, 0, 0, 2774, 2774, 2775, 2775, 2775, 2775, 0,
3201 2775, 0, 2775, 2776, 2776, 2776, 2776, 0, 2776, 0,
3202 2776, 2777, 2777, 2777, 2777, 0, 0, 2777, 2777, 2778,
3203 2778, 2778, 0, 0, 0, 2778, 2779, 2779, 2779, 0,
3204 0, 0, 2779, 2780, 2780, 2780, 2780, 0, 0, 2780,
3205 2780, 2781, 2781, 2781, 0, 0, 0, 2781, 2782, 2782,
3207 2782, 0, 0, 0, 2782, 2783, 2783, 2783, 2783, 0,
3208 0, 2783, 2783, 2784, 2784, 2784, 0, 0, 0, 2784,
3209 2785, 2785, 2785, 0, 0, 0, 2785, 2786, 2786, 2786,
3210 2786, 0, 0, 2786, 2786, 2787, 2787, 2787, 0, 0,
3211 0, 2787, 2788, 2788, 2788, 2788, 0, 0, 2788, 2788,
3212 2789, 2789, 2789, 0, 0, 0, 2789, 2790, 2790, 2790,
3213 2790, 0, 0, 2790, 2790, 2791, 2791, 2791, 2791, 0,
3214 0, 2791, 2791, 2792, 2792, 2792, 0, 0, 0, 2792,
3215 2793, 2793, 2793, 2793, 0, 0, 2793, 2793, 2794, 2794,
3216 2794, 2794, 0, 0, 2794, 2794, 2795, 2795, 2795, 2795,
3218 0, 0, 2795, 2795, 2796, 2796, 2796, 2796, 2796, 2796,
3219 2796, 2796, 2796, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
3220 2797, 2797, 2798, 2798, 2798, 2798, 0, 0, 2798, 2798,
3221 2799, 2799, 2799, 2799, 0, 0, 2799, 2799, 2800, 2800,
3222 2800, 0, 0, 0, 2800, 2801, 2801, 2801, 0, 0,
3223 0, 2801, 2802, 2802, 2802, 2802, 0, 0, 2802, 2802,
3224 2803, 2803, 2803, 2803, 0, 0, 2803, 2803, 2804, 2804,
3225 2804, 2804, 2804, 2804, 2804, 2804, 2804, 2805, 2805, 2805,
3226 2805, 2805, 2805, 2805, 2805, 2805, 2806, 2806, 2806, 2806,
3227 2806, 2806, 2806, 2806, 2806, 2807, 2807, 2807, 2807, 2807,
3229 2807, 2807, 2807, 2807, 2808, 2808, 2808, 2808, 2808, 2808,
3230 2808, 2808, 2808, 2809, 2809, 2809, 2809, 2809, 2809, 2809,
3231 2809, 2809, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
3232 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
3233 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
3234 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
3235 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
3236 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
3237 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500,
3238 2500, 2500, 2500, 2500, 2500
3242 /* Table of booleans, true if rule could match eol. */
3243 static yyconst flex_int32_t yy_rule_can_match_eol[421] =
3245 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3246 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3247 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3248 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3249 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3250 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3251 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3252 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3253 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3254 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3255 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3256 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3257 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3258 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3259 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3260 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3261 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3262 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3263 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0,
3264 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
3265 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
3268 static yy_state_type yy_last_accepting_state;
3269 static char *yy_last_accepting_cpos;
3271 extern int surf_parse__flex_debug;
3272 int surf_parse__flex_debug = 0;
3274 /* The intent behind this definition is that it'll catch
3275 * any uses of REJECT which flex missed.
3277 #define REJECT reject_used_but_not_detected
3278 #define yymore() yymore_used_but_not_detected
3279 #define YY_MORE_ADJ 0
3280 #define YY_RESTORE_YY_MORE_OFFSET
3281 char *surf_parse_text;
3282 /* Validating XML processor for src/surf/simgrid.dtd.
3284 * This program was generated with the FleXML XML processor generator.
3285 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3286 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3287 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3289 * There are two, intertwined parts to this program, part A and part B.
3294 * Some parts, here collectively called "Part A", are found in the
3295 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3296 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3298 * You can redistribute, use, perform, display and/or modify "Part A"
3299 * provided the following two conditions hold:
3301 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3302 * FleXML; without even the implied warranty of MERCHANTABILITY or
3303 * FITNESS FOR A PARTICULAR PURPOSE.
3305 * 2. The program distribution conditions do not in any way affect the
3306 * distribution conditions of the FleXML system used to generate this
3307 * file or any version of FleXML derived from that system.
3309 * Notice that these are explicit rights granted to you for files
3310 * generated by the FleXML system. For your rights in connection with
3311 * the FleXML system itself please consult the GNU General Public License.
3316 * The other parts, here collectively called "Part B", and which came
3317 * from the DTD used by FleXML to generate this program, can be
3318 * distributed (or not, as the case may be) under the terms of whoever
3319 * wrote them, provided these terms respect and obey the two conditions
3320 * above under the heading "Part A".
3322 * The author of and contributors to FleXML specifically disclaim
3323 * any copyright interest in "Part B", unless "Part B" was written
3324 * by the author of or contributors to FleXML.
3328 /* Version strings. */
3329 const char rcs_surfxml_flexml_skeleton[] =
3330 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3331 const char rcs_surfxml_flexml[] =
3332 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3335 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3342 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3343 # ifndef __STRICT_ANSI__
3345 # include <process.h>
3348 # include <unistd.h>
3351 #ifndef FLEXML_INDEXSTACKSIZE
3352 #define FLEXML_INDEXSTACKSIZE 1000
3355 /* Generated definitions. */
3356 #define FLEXML_yylineno
3357 #ifndef FLEXML_BUFFERSTACKSIZE
3358 #define FLEXML_BUFFERSTACKSIZE 1000000
3360 #define FLEXML_NEED_BUFFERLIT
3362 /* XML processor api. */
3363 /* FleXML-provided data. */
3364 int surfxml_pcdata_ix;
3365 extern char *surfxml_bufferstack;
3366 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3367 AT_surfxml_random_generator AX_surfxml_random_generator;
3368 #define A_surfxml_random_generator AX_surfxml_random_generator
3369 short int surfxml_random_generator_isset;
3370 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3371 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3372 short int surfxml_ASroute_gw_dst_isset;
3373 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3374 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3375 short int surfxml_trace_connect_element_isset;
3376 AT_surfxml_prop_id AX_surfxml_prop_id;
3377 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3378 short int surfxml_prop_id_isset;
3379 AT_surfxml_host_id AX_surfxml_host_id;
3380 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3381 short int surfxml_host_id_isset;
3382 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3383 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3384 short int surfxml_ASroute_symmetrical_isset;
3385 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3386 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3387 short int surfxml_peer_lat_isset;
3388 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3389 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3390 short int surfxml_link_latency_file_isset;
3391 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3392 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3393 short int surfxml_peer_availability_file_isset;
3394 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3395 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3396 short int surfxml_link_ctn_direction_isset;
3397 AT_surfxml_host_state AX_surfxml_host_state;
3398 #define A_surfxml_host_state AX_surfxml_host_state
3399 short int surfxml_host_state_isset;
3400 AT_surfxml_AS_id AX_surfxml_AS_id;
3401 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3402 short int surfxml_AS_id_isset;
3403 AT_surfxml_host_power AX_surfxml_host_power;
3404 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3405 short int surfxml_host_power_isset;
3406 AT_surfxml_router_id AX_surfxml_router_id;
3407 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3408 short int surfxml_router_id_isset;
3409 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3410 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3411 short int surfxml_process_start_time_isset;
3412 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3413 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3414 short int surfxml_cluster_suffix_isset;
3415 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3416 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3417 short int surfxml_ASroute_src_isset;
3418 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3419 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3420 short int surfxml_cluster_prefix_isset;
3421 AT_surfxml_trace_file AX_surfxml_trace_file;
3422 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3423 short int surfxml_trace_file_isset;
3424 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3425 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3426 short int surfxml_link_sharing_policy_isset;
3427 AT_surfxml_random_min AX_surfxml_random_min;
3428 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3429 short int surfxml_random_min_isset;
3430 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3431 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3432 short int surfxml_link_ctn_id_isset;
3433 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3434 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3435 short int surfxml_peer_bw_out_isset;
3436 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3437 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3438 short int surfxml_cluster_availability_file_isset;
3439 AT_surfxml_storage_content AX_surfxml_storage_content;
3440 #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
3441 short int surfxml_storage_content_isset;
3442 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3443 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3444 short int surfxml_process_kill_time_isset;
3445 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3446 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3447 short int surfxml_cluster_bb_bw_isset;
3448 AT_surfxml_argument_value AX_surfxml_argument_value;
3449 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3450 short int surfxml_argument_value_isset;
3451 AT_surfxml_link_state AX_surfxml_link_state;
3452 #define A_surfxml_link_state AX_surfxml_link_state
3453 short int surfxml_link_state_isset;
3454 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3455 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3456 short int surfxml_ASroute_gw_src_isset;
3457 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3458 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3459 short int surfxml_AS_routing_isset;
3460 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3461 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3462 short int surfxml_link_bandwidth_isset;
3463 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3464 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3465 short int surfxml_cluster_id_isset;
3466 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3467 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3468 short int surfxml_peer_bw_in_isset;
3469 AT_surfxml_random_mean AX_surfxml_random_mean;
3470 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3471 short int surfxml_random_mean_isset;
3472 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3473 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3474 short int surfxml_cluster_bb_lat_isset;
3475 AT_surfxml_link_latency AX_surfxml_link_latency;
3476 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3477 short int surfxml_link_latency_isset;
3478 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3479 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3480 short int surfxml_trace_connect_kind_isset;
3481 AT_surfxml_random_seed AX_surfxml_random_seed;
3482 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3483 short int surfxml_random_seed_isset;
3484 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3485 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3486 short int surfxml_cluster_state_file_isset;
3487 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3488 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3489 short int surfxml_link_bandwidth_file_isset;
3490 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3491 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3492 short int surfxml_route_symmetrical_isset;
3493 AT_surfxml_storage_type AX_surfxml_storage_type;
3494 #define A_surfxml_storage_type (surfxml_bufferstack + AX_surfxml_storage_type)
3495 short int surfxml_storage_type_isset;
3496 AT_surfxml_random_id AX_surfxml_random_id;
3497 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3498 short int surfxml_random_id_isset;
3499 AT_surfxml_random_max AX_surfxml_random_max;
3500 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3501 short int surfxml_random_max_isset;
3502 AT_surfxml_link_id AX_surfxml_link_id;
3503 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3504 short int surfxml_link_id_isset;
3505 AT_surfxml_process_host AX_surfxml_process_host;
3506 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3507 short int surfxml_process_host_isset;
3508 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3509 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3510 short int surfxml_host_availability_file_isset;
3511 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3512 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3513 short int surfxml_cluster_lat_isset;
3514 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3515 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3516 short int surfxml_trace_periodicity_isset;
3517 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3518 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3519 short int surfxml_cluster_bb_sharing_policy_isset;
3520 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3521 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3522 short int surfxml_router_coordinates_isset;
3523 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3524 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3525 short int surfxml_peer_coordinates_isset;
3526 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3527 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3528 short int surfxml_peer_state_file_isset;
3529 AT_surfxml_prop_value AX_surfxml_prop_value;
3530 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3531 short int surfxml_prop_value_isset;
3532 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3533 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3534 short int surfxml_ASroute_dst_isset;
3535 AT_surfxml_random_radical AX_surfxml_random_radical;
3536 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3537 short int surfxml_random_radical_isset;
3538 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3539 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3540 short int surfxml_link_state_file_isset;
3541 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3542 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3543 short int surfxml_trace_connect_trace_isset;
3544 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3545 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3546 short int surfxml_cluster_power_isset;
3547 AT_surfxml_process_function AX_surfxml_process_function;
3548 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3549 short int surfxml_process_function_isset;
3550 AT_surfxml_peer_id AX_surfxml_peer_id;
3551 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3552 short int surfxml_peer_id_isset;
3553 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
3554 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
3555 short int surfxml_cluster_router_id_isset;
3556 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3557 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3558 short int surfxml_cluster_sharing_policy_isset;
3559 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3560 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3561 short int surfxml_bypassRoute_dst_isset;
3562 AT_surfxml_host_core AX_surfxml_host_core;
3563 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3564 short int surfxml_host_core_isset;
3565 AT_surfxml_host_availability AX_surfxml_host_availability;
3566 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3567 short int surfxml_host_availability_isset;
3568 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3569 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3570 short int surfxml_bypassRoute_src_isset;
3571 AT_surfxml_route_src AX_surfxml_route_src;
3572 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3573 short int surfxml_route_src_isset;
3574 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3575 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3576 short int surfxml_bypassRoute_gw_dst_isset;
3577 AT_surfxml_storage_id AX_surfxml_storage_id;
3578 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
3579 short int surfxml_storage_id_isset;
3580 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3581 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3582 short int surfxml_host_coordinates_isset;
3583 AT_surfxml_trace_id AX_surfxml_trace_id;
3584 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3585 short int surfxml_trace_id_isset;
3586 AT_surfxml_peer_power AX_surfxml_peer_power;
3587 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3588 short int surfxml_peer_power_isset;
3589 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3590 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3591 short int surfxml_cluster_radical_isset;
3592 AT_surfxml_config_id AX_surfxml_config_id;
3593 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3594 short int surfxml_config_id_isset;
3595 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3596 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3597 short int surfxml_bypassRoute_gw_src_isset;
3598 AT_surfxml_include_file AX_surfxml_include_file;
3599 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3600 short int surfxml_include_file_isset;
3601 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3602 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3603 short int surfxml_random_std_deviation_isset;
3604 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3605 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3606 short int surfxml_cluster_core_isset;
3607 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3608 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3609 short int surfxml_host_state_file_isset;
3610 AT_surfxml_route_dst AX_surfxml_route_dst;
3611 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3612 short int surfxml_route_dst_isset;
3613 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3614 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3615 short int surfxml_cluster_bw_isset;
3616 AT_surfxml_platform_version AX_surfxml_platform_version;
3617 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3618 short int surfxml_platform_version_isset;
3622 # define ENTER(state) debug_enter(state,#state)
3623 # define LEAVE debug_leave()
3624 # define SET(state) debug_set(state,#state)
3625 static void debug_enter(int, const char*);
3626 static void debug_leave(void);
3627 static void debug_set(int, const char*);
3629 # define ENTER(state) (yy_push_state(state))
3630 # define LEAVE (yy_pop_state())
3631 # define SET(state) BEGIN(state)
3634 /* Generic actions. */
3635 #define SKIP /*skip*/
3636 #define SUCCEED CLEANUP; return 0
3638 #define FAIL return fail
3639 static int fail(const char*, ...);
3641 enum {flexml_max_err_msg_size = 512};
3642 static char flexml_err_msg[flexml_max_err_msg_size];
3643 const char * surfxml_parse_err_msg()
3645 return flexml_err_msg;
3647 static void reset_surfxml_parse_err_msg()
3649 flexml_err_msg[0] = '\0';
3653 static void cleanup(void);
3654 #define CLEANUP cleanup()
3656 /* Text buffer stack handling. */
3657 char *surfxml_bufferstack = NULL;
3658 static int blimit = FLEXML_BUFFERSTACKSIZE;
3659 static int bnext = 1;
3661 static int *indexstack = NULL;
3662 static int ilimit = FLEXML_INDEXSTACKSIZE;
3663 static int inext = 1;
3665 #define BUFFERSET(P) (P = bnext)
3666 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3667 #define BUFFERDONE (BUFFERPUTC('\0'))
3669 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3671 /* after this is called, there are at least 2 slots left in the stack */
3672 static int ck_blimit()
3674 if (bnext >= blimit) {
3675 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3677 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3679 surfxml_bufferstack = temp;
3685 /* after this is called, there are at least 2 slots left in the stack */
3686 static int ck_ilimit()
3688 if (inext >= ilimit) {
3689 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3691 int *temp = (int *) realloc(indexstack, ilimit);
3699 #ifdef FLEXML_NEED_BUFFERLIT
3700 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3702 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3703 assert(s <= e); BUFFERSET(*pp);
3705 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3706 else BUFFERPUTC(*s);
3712 static void pushbuffer(int p)
3715 indexstack[inext++] = p;
3716 indexstack[inext++] = bnext;
3719 static int popbuffer(void)
3722 bnext = indexstack[--inext];
3723 return indexstack[--inext];
3726 /* General internal entities are `unput' back onto the input stream... */
3727 #define ENTITYTEXT(T) \
3728 { char *s = (T), *e = s+strlen(s);\
3729 while (--e >= s) { unput(*e); }}
3731 /* Flex standard options. */
3732 #define YY_NO_INPUT 1
3733 /* Flex user-requested options. */
3734 /* XML character classes (currently restricted to ASCII). */
3735 /* "Common syntactic structures." */
3736 /* "Names and Tokens." */
3737 /* Miscellaneous. */
3738 /* Parser states (flex `exclusive start conditions'):
3740 * PROLOG the XML prolog of the document before <?xml...>
3741 * DOCTYPE the XML prolog of the document after <?xml...>
3742 * EPILOG after the root element
3743 * INCOMMENT inside an XML comment <!--....-->
3744 * INPI inside an XML PI <?...?>
3745 * VALUE1 inside a '...'-delimited literal
3746 * VALUE2 inside a "..."-delimited literal
3747 * CDATA inside a <![CDATA[...] ]> section.
3748 * ROOT_<tag> expect root element <tag>
3749 * AL_<tag> inside the attribute list for <tag>
3750 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3751 * IMPOSSIBLE dummy to permit disabling rules; must be last
3755 const char* *surfxml_statenames=NULL;
3766 #define ROOT_surfxml_platform 9
3767 #define AL_surfxml_platform 10
3768 #define S_surfxml_platform 11
3769 #define S_surfxml_platform_1 12
3770 #define S_surfxml_platform_2 13
3771 #define S_surfxml_platform_3 14
3772 #define S_surfxml_platform_4 15
3773 #define S_surfxml_platform_5 16
3774 #define S_surfxml_platform_6 17
3775 #define S_surfxml_platform_7 18
3776 #define S_surfxml_platform_8 19
3777 #define E_surfxml_platform 20
3778 #define AL_surfxml_include 21
3779 #define E_surfxml_include 22
3780 #define AL_surfxml_trace 23
3782 #define AL_surfxml_random 25
3783 #define S_surfxml_random 26
3784 #define S_surfxml_random_1 27
3785 #define S_surfxml_random_2 28
3786 #define E_surfxml_random 29
3787 #define AL_surfxml_trace_connect 30
3788 #define E_surfxml_trace_connect 31
3789 #define AL_surfxml_AS 32
3790 #define S_surfxml_AS 33
3791 #define S_surfxml_AS_1 34
3792 #define S_surfxml_AS_2 35
3793 #define S_surfxml_AS_3 36
3794 #define S_surfxml_AS_4 37
3795 #define S_surfxml_AS_5 38
3796 #define S_surfxml_AS_6 39
3797 #define S_surfxml_AS_7 40
3798 #define S_surfxml_AS_8 41
3799 #define S_surfxml_AS_9 42
3800 #define S_surfxml_AS_10 43
3801 #define S_surfxml_AS_11 44
3802 #define S_surfxml_AS_12 45
3803 #define S_surfxml_AS_13 46
3804 #define E_surfxml_AS 47
3805 #define AL_surfxml_storage 48
3806 #define S_surfxml_storage 49
3807 #define S_surfxml_storage_1 50
3808 #define S_surfxml_storage_2 51
3809 #define E_surfxml_storage 52
3810 #define AL_surfxml_host 53
3811 #define S_surfxml_host 54
3812 #define S_surfxml_host_1 55
3813 #define S_surfxml_host_2 56
3814 #define E_surfxml_host 57
3815 #define AL_surfxml_cluster 58
3816 #define E_surfxml_cluster 59
3817 #define AL_surfxml_peer 60
3818 #define E_surfxml_peer 61
3819 #define AL_surfxml_router 62
3820 #define E_surfxml_router 63
3821 #define AL_surfxml_link 64
3822 #define S_surfxml_link 65
3823 #define S_surfxml_link_1 66
3824 #define S_surfxml_link_2 67
3825 #define E_surfxml_link 68
3826 #define AL_surfxml_route 69
3827 #define S_surfxml_route 70
3828 #define S_surfxml_route_1 71
3829 #define S_surfxml_route_2 72
3830 #define E_surfxml_route 73
3831 #define AL_surfxml_ASroute 74
3832 #define S_surfxml_ASroute 75
3833 #define S_surfxml_ASroute_1 76
3834 #define S_surfxml_ASroute_2 77
3835 #define E_surfxml_ASroute 78
3836 #define AL_surfxml_link_ctn 79
3837 #define E_surfxml_link_ctn 80
3838 #define AL_surfxml_bypassRoute 81
3839 #define S_surfxml_bypassRoute 82
3840 #define S_surfxml_bypassRoute_1 83
3841 #define S_surfxml_bypassRoute_2 84
3842 #define E_surfxml_bypassRoute 85
3843 #define AL_surfxml_process 86
3844 #define S_surfxml_process 87
3845 #define S_surfxml_process_1 88
3846 #define S_surfxml_process_2 89
3847 #define E_surfxml_process 90
3848 #define AL_surfxml_argument 91
3849 #define E_surfxml_argument 92
3850 #define AL_surfxml_config 93
3851 #define S_surfxml_config 94
3852 #define S_surfxml_config_1 95
3853 #define S_surfxml_config_2 96
3854 #define E_surfxml_config 97
3855 #define AL_surfxml_prop 98
3856 #define E_surfxml_prop 99
3857 #define IMPOSSIBLE 100
3859 #ifndef YY_NO_UNISTD_H
3860 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3861 * down here because we want the user's section 1 to have been scanned first.
3862 * The user has a chance to override it with an option.
3864 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3865 # ifndef __STRICT_ANSI__
3867 # include <process.h>
3870 # include <unistd.h>
3874 #ifndef YY_EXTRA_TYPE
3875 #define YY_EXTRA_TYPE void *
3878 static int yy_init_globals (void );
3880 /* Accessor methods to globals.
3881 These are made visible to non-reentrant scanners for convenience. */
3883 int surf_parse_lex_destroy (void );
3885 int surf_parse_get_debug (void );
3887 void surf_parse_set_debug (int debug_flag );
3889 YY_EXTRA_TYPE surf_parse_get_extra (void );
3891 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3893 FILE *surf_parse_get_in (void );
3895 void surf_parse_set_in (FILE * in_str );
3897 FILE *surf_parse_get_out (void );
3899 void surf_parse_set_out (FILE * out_str );
3901 int surf_parse_get_leng (void );
3903 char *surf_parse_get_text (void );
3905 int surf_parse_get_lineno (void );
3907 void surf_parse_set_lineno (int line_number );
3909 /* Macros after this point can all be overridden by user definitions in
3913 #ifndef YY_SKIP_YYWRAP
3915 extern "C" int surf_parse_wrap (void );
3917 extern int surf_parse_wrap (void );
3922 static void yy_flex_strncpy (char *,yyconst char *,int );
3925 #ifdef YY_NEED_STRLEN
3926 static int yy_flex_strlen (yyconst char * );
3932 static int yyinput (void );
3934 static int input (void );
3939 static int yy_start_stack_ptr = 0;
3940 static int yy_start_stack_depth = 0;
3941 static int *yy_start_stack = NULL;
3943 static void yy_push_state (int new_state );
3945 static void yy_pop_state (void );
3947 /* Amount of stuff to slurp up with each read. */
3948 #ifndef YY_READ_BUF_SIZE
3950 /* On IA-64, the buffer size is 16k, not 8k */
3951 #define YY_READ_BUF_SIZE 16384
3953 #define YY_READ_BUF_SIZE 8192
3954 #endif /* __ia64__ */
3957 /* Copy whatever the last rule matched to the standard output. */
3959 /* This used to be an fputs(), but since the string might contain NUL's,
3960 * we now use fwrite().
3962 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3965 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3966 * is returned in "result".
3969 #define YY_INPUT(buf,result,max_size) \
3970 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3974 for ( n = 0; n < max_size && \
3975 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3976 buf[n] = (char) c; \
3978 buf[n++] = (char) c; \
3979 if ( c == EOF && ferror( surf_parse_in ) ) \
3980 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3986 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3988 if( errno != EINTR) \
3990 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3994 clearerr(surf_parse_in); \
4001 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4002 * we don't want an extra ';' after the "return" because that will cause
4003 * some compilers to complain about unreachable statements.
4006 #define yyterminate() return YY_NULL
4009 /* Number of entries by which start-condition stack grows. */
4010 #ifndef YY_START_STACK_INCR
4011 #define YY_START_STACK_INCR 25
4014 /* Report a fatal error. */
4015 #ifndef YY_FATAL_ERROR
4016 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4019 /* end tables serialization structures and prototypes */
4021 /* Default declaration of generated scanner - a define so the user can
4022 * easily add parameters.
4025 #define YY_DECL_IS_OURS 1
4027 extern int surf_parse_lex (void);
4029 #define YY_DECL int surf_parse_lex (void)
4030 #endif /* !YY_DECL */
4032 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4035 #ifndef YY_USER_ACTION
4036 #define YY_USER_ACTION
4039 /* Code executed at the end of each rule. */
4041 #define YY_BREAK break;
4044 #define YY_RULE_SETUP \
4047 /** The main scanner function which does all the work.
4051 register yy_state_type yy_current_state;
4052 register char *yy_cp, *yy_bp;
4053 register int yy_act;
4055 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4057 reset_surfxml_parse_err_msg();
4058 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4059 assert(surfxml_bufferstack);
4063 for (i = 0; i < blimit; i++) {
4064 surfxml_bufferstack[i] = '\377';
4068 surfxml_bufferstack[0] = '\0';
4069 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4075 surfxml_bufferliteral('\0', &bnext, "0.0");
4076 surfxml_bufferliteral('\0', &bnext, "2147483647");
4077 surfxml_bufferliteral('\0', &bnext, "1");
4078 surfxml_bufferliteral('\0', &bnext, "1.0");
4079 surfxml_bufferliteral('\0', &bnext, "1");
4080 surfxml_bufferliteral('\0', &bnext, "0.0");
4081 surfxml_bufferliteral('\0', &bnext, "-1.0");
4082 surfxml_bufferliteral('\0', &bnext, "-1.0");
4083 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4084 surfxml_statenames[PROLOG] = NULL;
4085 surfxml_statenames[DOCTYPE] = NULL;
4086 surfxml_statenames[EPILOG] = NULL;
4087 surfxml_statenames[INCOMMENT] = NULL;
4088 surfxml_statenames[INPI] = NULL;
4089 surfxml_statenames[VALUE1] = NULL;
4090 surfxml_statenames[VALUE2] = NULL;
4091 surfxml_statenames[CDATA] = NULL;
4092 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4093 surfxml_statenames[AL_surfxml_platform] = NULL;
4094 surfxml_statenames[S_surfxml_platform] = "platform";
4095 surfxml_statenames[S_surfxml_platform_1] = "platform";
4096 surfxml_statenames[S_surfxml_platform_2] = "platform";
4097 surfxml_statenames[S_surfxml_platform_3] = "platform";
4098 surfxml_statenames[S_surfxml_platform_4] = "platform";
4099 surfxml_statenames[S_surfxml_platform_5] = "platform";
4100 surfxml_statenames[S_surfxml_platform_6] = "platform";
4101 surfxml_statenames[S_surfxml_platform_7] = "platform";
4102 surfxml_statenames[S_surfxml_platform_8] = "platform";
4103 surfxml_statenames[E_surfxml_platform] = "platform";
4104 surfxml_statenames[AL_surfxml_include] = NULL;
4105 surfxml_statenames[E_surfxml_include] = "include";
4106 surfxml_statenames[AL_surfxml_trace] = NULL;
4107 surfxml_statenames[IN_trace] = "trace";
4108 surfxml_statenames[AL_surfxml_random] = NULL;
4109 surfxml_statenames[S_surfxml_random] = "random";
4110 surfxml_statenames[S_surfxml_random_1] = "random";
4111 surfxml_statenames[S_surfxml_random_2] = "random";
4112 surfxml_statenames[E_surfxml_random] = "random";
4113 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4114 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4115 surfxml_statenames[AL_surfxml_AS] = NULL;
4116 surfxml_statenames[S_surfxml_AS] = "AS";
4117 surfxml_statenames[S_surfxml_AS_1] = "AS";
4118 surfxml_statenames[S_surfxml_AS_2] = "AS";
4119 surfxml_statenames[S_surfxml_AS_3] = "AS";
4120 surfxml_statenames[S_surfxml_AS_4] = "AS";
4121 surfxml_statenames[S_surfxml_AS_5] = "AS";
4122 surfxml_statenames[S_surfxml_AS_6] = "AS";
4123 surfxml_statenames[S_surfxml_AS_7] = "AS";
4124 surfxml_statenames[S_surfxml_AS_8] = "AS";
4125 surfxml_statenames[S_surfxml_AS_9] = "AS";
4126 surfxml_statenames[S_surfxml_AS_10] = "AS";
4127 surfxml_statenames[S_surfxml_AS_11] = "AS";
4128 surfxml_statenames[S_surfxml_AS_12] = "AS";
4129 surfxml_statenames[S_surfxml_AS_13] = "AS";
4130 surfxml_statenames[E_surfxml_AS] = "AS";
4131 surfxml_statenames[AL_surfxml_storage] = NULL;
4132 surfxml_statenames[S_surfxml_storage] = "storage";
4133 surfxml_statenames[S_surfxml_storage_1] = "storage";
4134 surfxml_statenames[S_surfxml_storage_2] = "storage";
4135 surfxml_statenames[E_surfxml_storage] = "storage";
4136 surfxml_statenames[AL_surfxml_host] = NULL;
4137 surfxml_statenames[S_surfxml_host] = "host";
4138 surfxml_statenames[S_surfxml_host_1] = "host";
4139 surfxml_statenames[S_surfxml_host_2] = "host";
4140 surfxml_statenames[E_surfxml_host] = "host";
4141 surfxml_statenames[AL_surfxml_cluster] = NULL;
4142 surfxml_statenames[E_surfxml_cluster] = "cluster";
4143 surfxml_statenames[AL_surfxml_peer] = NULL;
4144 surfxml_statenames[E_surfxml_peer] = "peer";
4145 surfxml_statenames[AL_surfxml_router] = NULL;
4146 surfxml_statenames[E_surfxml_router] = "router";
4147 surfxml_statenames[AL_surfxml_link] = NULL;
4148 surfxml_statenames[S_surfxml_link] = "link";
4149 surfxml_statenames[S_surfxml_link_1] = "link";
4150 surfxml_statenames[S_surfxml_link_2] = "link";
4151 surfxml_statenames[E_surfxml_link] = "link";
4152 surfxml_statenames[AL_surfxml_route] = NULL;
4153 surfxml_statenames[S_surfxml_route] = "route";
4154 surfxml_statenames[S_surfxml_route_1] = "route";
4155 surfxml_statenames[S_surfxml_route_2] = "route";
4156 surfxml_statenames[E_surfxml_route] = "route";
4157 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4158 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4159 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4160 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4161 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4162 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4163 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4164 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4165 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4166 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4167 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4168 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4169 surfxml_statenames[AL_surfxml_process] = NULL;
4170 surfxml_statenames[S_surfxml_process] = "process";
4171 surfxml_statenames[S_surfxml_process_1] = "process";
4172 surfxml_statenames[S_surfxml_process_2] = "process";
4173 surfxml_statenames[E_surfxml_process] = "process";
4174 surfxml_statenames[AL_surfxml_argument] = NULL;
4175 surfxml_statenames[E_surfxml_argument] = "argument";
4176 surfxml_statenames[AL_surfxml_config] = NULL;
4177 surfxml_statenames[S_surfxml_config] = "config";
4178 surfxml_statenames[S_surfxml_config_1] = "config";
4179 surfxml_statenames[S_surfxml_config_2] = "config";
4180 surfxml_statenames[E_surfxml_config] = "config";
4181 surfxml_statenames[AL_surfxml_prop] = NULL;
4182 surfxml_statenames[E_surfxml_prop] = "prop";
4185 /* COMMENTS and PIs: handled uniformly for efficiency. */
4196 (yy_start) = 1; /* first start state */
4198 if ( ! surf_parse_in )
4199 surf_parse_in = stdin;
4201 if ( ! surf_parse_out )
4202 surf_parse_out = stdout;
4204 if ( ! YY_CURRENT_BUFFER ) {
4205 surf_parse_ensure_buffer_stack ();
4206 YY_CURRENT_BUFFER_LVALUE =
4207 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4210 surf_parse__load_buffer_state( );
4213 while ( 1 ) /* loops until end-of-file is reached */
4215 yy_cp = (yy_c_buf_p);
4217 /* Support of surf_parse_text. */
4218 *yy_cp = (yy_hold_char);
4220 /* yy_bp points to the position in yy_ch_buf of the start of
4225 yy_current_state = (yy_start);
4229 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4230 if ( yy_accept[yy_current_state] )
4232 (yy_last_accepting_state) = yy_current_state;
4233 (yy_last_accepting_cpos) = yy_cp;
4235 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4237 yy_current_state = (int) yy_def[yy_current_state];
4238 if ( yy_current_state >= 2501 )
4239 yy_c = yy_meta[(unsigned int) yy_c];
4241 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4244 while ( yy_base[yy_current_state] != 8423 );
4247 yy_act = yy_accept[yy_current_state];
4249 { /* have to back up */
4250 yy_cp = (yy_last_accepting_cpos);
4251 yy_current_state = (yy_last_accepting_state);
4252 yy_act = yy_accept[yy_current_state];
4255 YY_DO_BEFORE_ACTION;
4257 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4260 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4261 if ( surf_parse_text[yyl] == '\n' )
4263 surf_parse_lineno++;
4267 do_action: /* This label is used only to access EOF actions. */
4270 { /* beginning of action switch */
4271 case 0: /* must back up */
4272 /* undo the effects of YY_DO_BEFORE_ACTION */
4273 *yy_cp = (yy_hold_char);
4274 yy_cp = (yy_last_accepting_cpos);
4275 yy_current_state = (yy_last_accepting_state);
4276 goto yy_find_action;
4294 /* rule 6 can match eol */
4298 case YY_STATE_EOF(INCOMMENT):
4299 FAIL("EOF in comment.");
4308 /* rule 9 can match eol */
4312 case YY_STATE_EOF(INPI):
4313 FAIL("EOF in PI (processing instruction).");
4316 /* SPACES: skipped uniformly */
4318 /* rule 10 can match eol */
4322 /* PROLOG: determine root element and process it. */
4325 /* rule 11 can match eol */
4330 /* rule 12 can match eol */
4332 FAIL("Bad declaration %s.",surf_parse_text);
4336 /* rule 13 can match eol */
4338 SET(ROOT_surfxml_platform);
4341 /* rule 14 can match eol */
4343 FAIL("Bad declaration %s.",surf_parse_text);
4347 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4349 case YY_STATE_EOF(PROLOG):
4350 case YY_STATE_EOF(DOCTYPE):
4351 FAIL("EOF in prolog.");
4354 /* RULES DERIVED FROM DTD. */
4355 /* <!-- Small DTD for SURF based tools. --> */
4357 /* rule 16 can match eol */
4359 FAIL("Starting tag <platform> is not allowed here.");
4362 /* rule 17 can match eol */
4365 AX_surfxml_platform_version = 1;
4366 surfxml_platform_version_isset = 0;
4367 ENTER(AL_surfxml_platform); pushbuffer(0);
4372 /* rule 18 can match eol */
4374 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4377 /* rule 19 can match eol */
4379 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4384 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4390 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4392 case ROOT_surfxml_platform: SET(EPILOG); break;
4398 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4402 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4404 case YY_STATE_EOF(AL_surfxml_platform):
4405 FAIL("EOF in attribute list of `platform' element.");
4409 /* rule 24 can match eol */
4413 ETag_surfxml_platform();
4414 popbuffer(); /* attribute */
4416 case ROOT_surfxml_platform: SET(EPILOG); break;
4421 /* rule 25 can match eol */
4423 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4427 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4429 case YY_STATE_EOF(S_surfxml_platform_8):
4430 case YY_STATE_EOF(S_surfxml_platform_1):
4431 case YY_STATE_EOF(S_surfxml_platform_3):
4432 case YY_STATE_EOF(S_surfxml_platform):
4433 case YY_STATE_EOF(S_surfxml_platform_4):
4434 case YY_STATE_EOF(S_surfxml_platform_6):
4435 case YY_STATE_EOF(E_surfxml_platform):
4436 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
4440 /* rule 27 can match eol */
4442 FAIL("Starting tag <include> is not allowed here.");
4445 /* rule 28 can match eol */
4448 AX_surfxml_include_file = 0;
4449 surfxml_include_file_isset = 0;
4450 ENTER(AL_surfxml_include); pushbuffer(0);
4455 /* rule 29 can match eol */
4457 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
4460 /* rule 30 can match eol */
4462 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
4467 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4468 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
4474 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4475 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4477 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4478 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4479 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4480 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4486 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4490 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4492 case YY_STATE_EOF(AL_surfxml_include):
4493 FAIL("EOF in attribute list of `include' element.");
4497 /* rule 35 can match eol */
4501 ETag_surfxml_include();
4502 popbuffer(); /* attribute */
4504 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4505 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4506 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4507 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4512 /* rule 36 can match eol */
4514 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4518 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4520 case YY_STATE_EOF(E_surfxml_include):
4521 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
4525 /* rule 38 can match eol */
4527 FAIL("Starting tag <trace> is not allowed here.");
4530 /* rule 39 can match eol */
4533 AX_surfxml_trace_id = 0;
4534 surfxml_trace_id_isset = 0;
4535 AX_surfxml_trace_file = 0;
4536 surfxml_trace_file_isset = 0;
4537 AX_surfxml_trace_periodicity = 0;
4538 surfxml_trace_periodicity_isset = 0;
4539 ENTER(AL_surfxml_trace); pushbuffer(0);
4544 /* rule 40 can match eol */
4546 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4549 /* rule 41 can match eol */
4551 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4554 /* rule 42 can match eol */
4556 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4559 /* rule 43 can match eol */
4561 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4564 /* rule 44 can match eol */
4566 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4569 /* rule 45 can match eol */
4571 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4576 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4577 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4578 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4584 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4585 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4586 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4588 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4589 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4590 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4591 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4592 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4593 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4599 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4603 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4605 case YY_STATE_EOF(AL_surfxml_trace):
4606 FAIL("EOF in attribute list of `trace' element.");
4610 /* rule 50 can match eol */
4615 ETag_surfxml_trace();
4616 surfxml_pcdata_ix = popbuffer();
4617 popbuffer(); /* attribute */
4619 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4620 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4621 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4622 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4623 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4624 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4629 /* rule 51 can match eol */
4631 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4633 case YY_STATE_EOF(IN_trace):
4634 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
4638 /* rule 52 can match eol */
4640 FAIL("Starting tag <random> is not allowed here.");
4643 /* rule 53 can match eol */
4646 AX_surfxml_random_id = 0;
4647 surfxml_random_id_isset = 0;
4648 AX_surfxml_random_min = 0;
4649 surfxml_random_min_isset = 0;
4650 AX_surfxml_random_max = 0;
4651 surfxml_random_max_isset = 0;
4652 AX_surfxml_random_mean = 0;
4653 surfxml_random_mean_isset = 0;
4654 AX_surfxml_random_std_deviation = 0;
4655 surfxml_random_std_deviation_isset = 0;
4656 AX_surfxml_random_seed = 5;
4657 surfxml_random_seed_isset = 0;
4658 AX_surfxml_random_radical = 0;
4659 surfxml_random_radical_isset = 0;
4660 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4661 surfxml_random_generator_isset = 0;
4662 ENTER(AL_surfxml_random); pushbuffer(0);
4667 /* rule 54 can match eol */
4669 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4672 /* rule 55 can match eol */
4674 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4677 /* rule 56 can match eol */
4679 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4682 /* rule 57 can match eol */
4684 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4687 /* rule 58 can match eol */
4689 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4692 /* rule 59 can match eol */
4694 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4697 /* rule 60 can match eol */
4699 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4702 /* rule 61 can match eol */
4704 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4707 /* rule 62 can match eol */
4709 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4712 /* rule 63 can match eol */
4714 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4717 /* rule 64 can match eol */
4719 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
4722 /* rule 65 can match eol */
4724 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
4727 /* rule 66 can match eol */
4729 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
4732 /* rule 67 can match eol */
4734 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
4737 /* rule 68 can match eol */
4739 /* rule 69 can match eol */
4741 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4744 /* rule 70 can match eol */
4746 /* rule 71 can match eol */
4748 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4751 /* rule 72 can match eol */
4753 /* rule 73 can match eol */
4755 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
4758 /* rule 74 can match eol */
4760 /* rule 75 can match eol */
4762 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
4767 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4768 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4769 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4770 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4771 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4772 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4778 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4779 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4780 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4781 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4782 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4783 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4785 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4791 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4795 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4797 case YY_STATE_EOF(AL_surfxml_random):
4798 FAIL("EOF in attribute list of `random' element.");
4802 /* rule 80 can match eol */
4806 ETag_surfxml_random();
4807 popbuffer(); /* attribute */
4809 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4814 /* rule 81 can match eol */
4816 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4820 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4822 case YY_STATE_EOF(S_surfxml_random):
4823 case YY_STATE_EOF(S_surfxml_random_2):
4824 case YY_STATE_EOF(E_surfxml_random):
4825 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
4829 /* rule 83 can match eol */
4831 FAIL("Starting tag <trace_connect> is not allowed here.");
4834 /* rule 84 can match eol */
4837 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4838 surfxml_trace_connect_kind_isset = 0;
4839 AX_surfxml_trace_connect_trace = 0;
4840 surfxml_trace_connect_trace_isset = 0;
4841 AX_surfxml_trace_connect_element = 0;
4842 surfxml_trace_connect_element_isset = 0;
4843 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4848 /* rule 85 can match eol */
4850 /* rule 86 can match eol */
4852 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4855 /* rule 87 can match eol */
4857 /* rule 88 can match eol */
4859 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4862 /* rule 89 can match eol */
4864 /* rule 90 can match eol */
4866 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4869 /* rule 91 can match eol */
4871 /* rule 92 can match eol */
4873 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4876 /* rule 93 can match eol */
4878 /* rule 94 can match eol */
4880 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4883 /* rule 95 can match eol */
4885 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4888 /* rule 96 can match eol */
4890 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4893 /* rule 97 can match eol */
4895 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4898 /* rule 98 can match eol */
4900 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4905 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4906 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4907 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4913 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4914 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4915 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4917 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4918 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4919 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4920 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4921 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4922 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4928 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4932 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4934 case YY_STATE_EOF(AL_surfxml_trace_connect):
4935 FAIL("EOF in attribute list of `trace_connect' element.");
4939 /* rule 103 can match eol */
4943 ETag_surfxml_trace_connect();
4944 popbuffer(); /* attribute */
4946 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
4947 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4948 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4949 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4950 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4951 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4956 /* rule 104 can match eol */
4958 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4962 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4964 case YY_STATE_EOF(E_surfxml_trace_connect):
4965 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
4969 /* rule 106 can match eol */
4971 FAIL("Starting tag <AS> is not allowed here.");
4974 /* rule 107 can match eol */
4977 AX_surfxml_AS_id = 0;
4978 surfxml_AS_id_isset = 0;
4979 AX_surfxml_AS_routing = 0;
4980 surfxml_AS_routing_isset = 0;
4981 ENTER(AL_surfxml_AS); pushbuffer(0);
4986 /* rule 108 can match eol */
4988 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4991 /* rule 109 can match eol */
4993 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4996 /* rule 110 can match eol */
4998 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
5001 /* rule 111 can match eol */
5003 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
5008 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5009 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5010 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5016 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5017 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5018 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5020 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5021 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5027 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5031 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5033 case YY_STATE_EOF(AL_surfxml_AS):
5034 FAIL("EOF in attribute list of `AS' element.");
5038 /* rule 116 can match eol */
5043 popbuffer(); /* attribute */
5045 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5046 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5051 /* rule 117 can match eol */
5053 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5057 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5059 case YY_STATE_EOF(S_surfxml_AS_9):
5060 case YY_STATE_EOF(S_surfxml_AS_1):
5061 case YY_STATE_EOF(S_surfxml_AS_11):
5062 case YY_STATE_EOF(S_surfxml_AS_6):
5063 case YY_STATE_EOF(E_surfxml_AS):
5064 case YY_STATE_EOF(S_surfxml_AS_3):
5065 case YY_STATE_EOF(S_surfxml_AS_13):
5066 case YY_STATE_EOF(S_surfxml_AS_8):
5067 case YY_STATE_EOF(S_surfxml_AS):
5068 case YY_STATE_EOF(S_surfxml_AS_4):
5069 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5073 /* rule 119 can match eol */
5075 FAIL("Starting tag <storage> is not allowed here.");
5078 /* rule 120 can match eol */
5081 AX_surfxml_storage_id = 0;
5082 surfxml_storage_id_isset = 0;
5083 AX_surfxml_storage_type = 0;
5084 surfxml_storage_type_isset = 0;
5085 AX_surfxml_storage_content = 0;
5086 surfxml_storage_content_isset = 0;
5087 ENTER(AL_surfxml_storage); pushbuffer(0);
5092 /* rule 121 can match eol */
5094 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_id);
5097 /* rule 122 can match eol */
5099 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_id);
5102 /* rule 123 can match eol */
5104 if (surfxml_storage_type_isset != 0) {FAIL("Multiple definition of attribute type in <surfxml_storage>");} surfxml_storage_type_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type);
5107 /* rule 124 can match eol */
5109 if (surfxml_storage_type_isset != 0) {FAIL("Multiple definition of attribute type in <surfxml_storage>");} surfxml_storage_type_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type);
5112 /* rule 125 can match eol */
5114 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_content);
5117 /* rule 126 can match eol */
5119 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_content);
5124 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5125 if (!AX_surfxml_storage_type) FAIL("Required attribute `type' not set for `storage' element.");
5126 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5132 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5133 if (!AX_surfxml_storage_type) FAIL("Required attribute `type' not set for `storage' element.");
5134 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5136 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5137 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5143 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5147 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5149 case YY_STATE_EOF(AL_surfxml_storage):
5150 FAIL("EOF in attribute list of `storage' element.");
5154 /* rule 131 can match eol */
5158 ETag_surfxml_storage();
5159 popbuffer(); /* attribute */
5161 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5162 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5167 /* rule 132 can match eol */
5169 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5173 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5175 case YY_STATE_EOF(E_surfxml_storage):
5176 case YY_STATE_EOF(S_surfxml_storage):
5177 case YY_STATE_EOF(S_surfxml_storage_2):
5178 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5182 /* rule 134 can match eol */
5184 FAIL("Starting tag <host> is not allowed here.");
5187 /* rule 135 can match eol */
5190 AX_surfxml_host_id = 0;
5191 surfxml_host_id_isset = 0;
5192 AX_surfxml_host_power = 0;
5193 surfxml_host_power_isset = 0;
5194 AX_surfxml_host_core = 16;
5195 surfxml_host_core_isset = 0;
5196 AX_surfxml_host_availability = 18;
5197 surfxml_host_availability_isset = 0;
5198 AX_surfxml_host_availability_file = 0;
5199 surfxml_host_availability_file_isset = 0;
5200 AX_surfxml_host_state = A_surfxml_host_state_ON;
5201 surfxml_host_state_isset = 0;
5202 AX_surfxml_host_state_file = 0;
5203 surfxml_host_state_file_isset = 0;
5204 AX_surfxml_host_coordinates = 0;
5205 surfxml_host_coordinates_isset = 0;
5206 ENTER(AL_surfxml_host); pushbuffer(0);
5211 /* rule 136 can match eol */
5213 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
5216 /* rule 137 can match eol */
5218 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
5221 /* rule 138 can match eol */
5223 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
5226 /* rule 139 can match eol */
5228 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
5231 /* rule 140 can match eol */
5233 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
5236 /* rule 141 can match eol */
5238 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
5241 /* rule 142 can match eol */
5243 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
5246 /* rule 143 can match eol */
5248 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
5251 /* rule 144 can match eol */
5253 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
5256 /* rule 145 can match eol */
5258 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
5261 /* rule 146 can match eol */
5263 /* rule 147 can match eol */
5265 A_surfxml_host_state = A_surfxml_host_state_ON;
5268 /* rule 148 can match eol */
5270 /* rule 149 can match eol */
5272 A_surfxml_host_state = A_surfxml_host_state_OFF;
5275 /* rule 150 can match eol */
5277 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
5280 /* rule 151 can match eol */
5282 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
5285 /* rule 152 can match eol */
5287 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
5290 /* rule 153 can match eol */
5292 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
5297 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5298 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5299 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
5305 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5306 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5307 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
5309 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5315 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
5319 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
5321 case YY_STATE_EOF(AL_surfxml_host):
5322 FAIL("EOF in attribute list of `host' element.");
5326 /* rule 158 can match eol */
5330 ETag_surfxml_host();
5331 popbuffer(); /* attribute */
5333 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5338 /* rule 159 can match eol */
5340 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
5344 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
5346 case YY_STATE_EOF(S_surfxml_host):
5347 case YY_STATE_EOF(E_surfxml_host):
5348 case YY_STATE_EOF(S_surfxml_host_2):
5349 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
5353 /* rule 161 can match eol */
5355 FAIL("Starting tag <cluster> is not allowed here.");
5358 /* rule 162 can match eol */
5361 AX_surfxml_cluster_id = 0;
5362 surfxml_cluster_id_isset = 0;
5363 AX_surfxml_cluster_prefix = 0;
5364 surfxml_cluster_prefix_isset = 0;
5365 AX_surfxml_cluster_suffix = 0;
5366 surfxml_cluster_suffix_isset = 0;
5367 AX_surfxml_cluster_radical = 0;
5368 surfxml_cluster_radical_isset = 0;
5369 AX_surfxml_cluster_power = 0;
5370 surfxml_cluster_power_isset = 0;
5371 AX_surfxml_cluster_core = 22;
5372 surfxml_cluster_core_isset = 0;
5373 AX_surfxml_cluster_bw = 0;
5374 surfxml_cluster_bw_isset = 0;
5375 AX_surfxml_cluster_lat = 0;
5376 surfxml_cluster_lat_isset = 0;
5377 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5378 surfxml_cluster_sharing_policy_isset = 0;
5379 AX_surfxml_cluster_bb_bw = 0;
5380 surfxml_cluster_bb_bw_isset = 0;
5381 AX_surfxml_cluster_bb_lat = 0;
5382 surfxml_cluster_bb_lat_isset = 0;
5383 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5384 surfxml_cluster_bb_sharing_policy_isset = 0;
5385 AX_surfxml_cluster_availability_file = 0;
5386 surfxml_cluster_availability_file_isset = 0;
5387 AX_surfxml_cluster_state_file = 0;
5388 surfxml_cluster_state_file_isset = 0;
5389 AX_surfxml_cluster_router_id = 0;
5390 surfxml_cluster_router_id_isset = 0;
5391 ENTER(AL_surfxml_cluster); pushbuffer(0);
5396 /* rule 163 can match eol */
5398 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
5401 /* rule 164 can match eol */
5403 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
5406 /* rule 165 can match eol */
5408 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
5411 /* rule 166 can match eol */
5413 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
5416 /* rule 167 can match eol */
5418 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
5421 /* rule 168 can match eol */
5423 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
5426 /* rule 169 can match eol */
5428 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
5431 /* rule 170 can match eol */
5433 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
5436 /* rule 171 can match eol */
5438 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
5441 /* rule 172 can match eol */
5443 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
5446 /* rule 173 can match eol */
5448 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
5451 /* rule 174 can match eol */
5453 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
5456 /* rule 175 can match eol */
5458 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
5461 /* rule 176 can match eol */
5463 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
5466 /* rule 177 can match eol */
5468 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
5471 /* rule 178 can match eol */
5473 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
5476 /* rule 179 can match eol */
5478 /* rule 180 can match eol */
5480 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5483 /* rule 181 can match eol */
5485 /* rule 182 can match eol */
5487 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5490 /* rule 183 can match eol */
5492 /* rule 184 can match eol */
5494 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
5497 /* rule 185 can match eol */
5499 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
5502 /* rule 186 can match eol */
5504 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
5507 /* rule 187 can match eol */
5509 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
5512 /* rule 188 can match eol */
5514 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
5517 /* rule 189 can match eol */
5519 /* rule 190 can match eol */
5521 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5524 /* rule 191 can match eol */
5526 /* rule 192 can match eol */
5528 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
5531 /* rule 193 can match eol */
5533 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
5536 /* rule 194 can match eol */
5538 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
5541 /* rule 195 can match eol */
5543 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
5546 /* rule 196 can match eol */
5548 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
5551 /* rule 197 can match eol */
5553 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_router_id);
5556 /* rule 198 can match eol */
5558 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_router_id);
5563 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5564 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5565 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5566 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5567 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5568 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5569 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5570 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5576 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5577 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5578 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5579 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5580 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5581 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5582 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5583 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5585 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5586 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5592 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5596 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5598 case YY_STATE_EOF(AL_surfxml_cluster):
5599 FAIL("EOF in attribute list of `cluster' element.");
5603 /* rule 203 can match eol */
5607 ETag_surfxml_cluster();
5608 popbuffer(); /* attribute */
5610 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5611 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5616 /* rule 204 can match eol */
5618 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5622 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5624 case YY_STATE_EOF(E_surfxml_cluster):
5625 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
5629 /* rule 206 can match eol */
5631 FAIL("Starting tag <peer> is not allowed here.");
5634 /* rule 207 can match eol */
5637 AX_surfxml_peer_id = 0;
5638 surfxml_peer_id_isset = 0;
5639 AX_surfxml_peer_power = 0;
5640 surfxml_peer_power_isset = 0;
5641 AX_surfxml_peer_bw_in = 0;
5642 surfxml_peer_bw_in_isset = 0;
5643 AX_surfxml_peer_bw_out = 0;
5644 surfxml_peer_bw_out_isset = 0;
5645 AX_surfxml_peer_lat = 0;
5646 surfxml_peer_lat_isset = 0;
5647 AX_surfxml_peer_coordinates = 0;
5648 surfxml_peer_coordinates_isset = 0;
5649 AX_surfxml_peer_availability_file = 0;
5650 surfxml_peer_availability_file_isset = 0;
5651 AX_surfxml_peer_state_file = 0;
5652 surfxml_peer_state_file_isset = 0;
5653 ENTER(AL_surfxml_peer); pushbuffer(0);
5658 /* rule 208 can match eol */
5660 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5663 /* rule 209 can match eol */
5665 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5668 /* rule 210 can match eol */
5670 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5673 /* rule 211 can match eol */
5675 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5678 /* rule 212 can match eol */
5680 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5683 /* rule 213 can match eol */
5685 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5688 /* rule 214 can match eol */
5690 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5693 /* rule 215 can match eol */
5695 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5698 /* rule 216 can match eol */
5700 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5703 /* rule 217 can match eol */
5705 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5708 /* rule 218 can match eol */
5710 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5713 /* rule 219 can match eol */
5715 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5718 /* rule 220 can match eol */
5720 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5723 /* rule 221 can match eol */
5725 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5728 /* rule 222 can match eol */
5730 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5733 /* rule 223 can match eol */
5735 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5740 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5741 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5742 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5743 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5744 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5745 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5751 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5752 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5753 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5754 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5755 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5756 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5758 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5759 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5765 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5769 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5771 case YY_STATE_EOF(AL_surfxml_peer):
5772 FAIL("EOF in attribute list of `peer' element.");
5776 /* rule 228 can match eol */
5780 ETag_surfxml_peer();
5781 popbuffer(); /* attribute */
5783 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5784 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5789 /* rule 229 can match eol */
5791 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5795 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5797 case YY_STATE_EOF(E_surfxml_peer):
5798 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
5802 /* rule 231 can match eol */
5804 FAIL("Starting tag <router> is not allowed here.");
5807 /* rule 232 can match eol */
5810 AX_surfxml_router_id = 0;
5811 surfxml_router_id_isset = 0;
5812 AX_surfxml_router_coordinates = 0;
5813 surfxml_router_coordinates_isset = 0;
5814 ENTER(AL_surfxml_router); pushbuffer(0);
5819 /* rule 233 can match eol */
5821 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5824 /* rule 234 can match eol */
5826 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5829 /* rule 235 can match eol */
5831 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5834 /* rule 236 can match eol */
5836 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5841 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5842 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5848 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5849 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5851 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5857 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5861 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5863 case YY_STATE_EOF(AL_surfxml_router):
5864 FAIL("EOF in attribute list of `router' element.");
5868 /* rule 241 can match eol */
5872 ETag_surfxml_router();
5873 popbuffer(); /* attribute */
5875 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5880 /* rule 242 can match eol */
5882 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5886 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5888 case YY_STATE_EOF(E_surfxml_router):
5889 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
5893 /* rule 244 can match eol */
5895 FAIL("Starting tag <link> is not allowed here.");
5898 /* rule 245 can match eol */
5901 AX_surfxml_link_id = 0;
5902 surfxml_link_id_isset = 0;
5903 AX_surfxml_link_bandwidth = 0;
5904 surfxml_link_bandwidth_isset = 0;
5905 AX_surfxml_link_bandwidth_file = 0;
5906 surfxml_link_bandwidth_file_isset = 0;
5907 AX_surfxml_link_latency = 24;
5908 surfxml_link_latency_isset = 0;
5909 AX_surfxml_link_latency_file = 0;
5910 surfxml_link_latency_file_isset = 0;
5911 AX_surfxml_link_state = A_surfxml_link_state_ON;
5912 surfxml_link_state_isset = 0;
5913 AX_surfxml_link_state_file = 0;
5914 surfxml_link_state_file_isset = 0;
5915 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5916 surfxml_link_sharing_policy_isset = 0;
5917 ENTER(AL_surfxml_link); pushbuffer(0);
5922 /* rule 246 can match eol */
5924 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5927 /* rule 247 can match eol */
5929 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5932 /* rule 248 can match eol */
5934 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5937 /* rule 249 can match eol */
5939 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5942 /* rule 250 can match eol */
5944 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5947 /* rule 251 can match eol */
5949 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5952 /* rule 252 can match eol */
5954 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5957 /* rule 253 can match eol */
5959 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5962 /* rule 254 can match eol */
5964 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5967 /* rule 255 can match eol */
5969 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5972 /* rule 256 can match eol */
5974 /* rule 257 can match eol */
5976 A_surfxml_link_state = A_surfxml_link_state_ON;
5979 /* rule 258 can match eol */
5981 /* rule 259 can match eol */
5983 A_surfxml_link_state = A_surfxml_link_state_OFF;
5986 /* rule 260 can match eol */
5988 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5991 /* rule 261 can match eol */
5993 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5996 /* rule 262 can match eol */
5998 /* rule 263 can match eol */
6000 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6003 /* rule 264 can match eol */
6005 /* rule 265 can match eol */
6007 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
6010 /* rule 266 can match eol */
6012 /* rule 267 can match eol */
6014 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
6019 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6020 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6021 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
6027 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6028 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6029 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
6031 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6032 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6038 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
6042 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
6044 case YY_STATE_EOF(AL_surfxml_link):
6045 FAIL("EOF in attribute list of `link' element.");
6049 /* rule 272 can match eol */
6053 ETag_surfxml_link();
6054 popbuffer(); /* attribute */
6056 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6057 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6062 /* rule 273 can match eol */
6064 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
6068 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
6070 case YY_STATE_EOF(E_surfxml_link):
6071 case YY_STATE_EOF(S_surfxml_link_2):
6072 case YY_STATE_EOF(S_surfxml_link):
6073 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
6077 /* rule 275 can match eol */
6079 FAIL("Starting tag <route> is not allowed here.");
6082 /* rule 276 can match eol */
6085 AX_surfxml_route_src = 0;
6086 surfxml_route_src_isset = 0;
6087 AX_surfxml_route_dst = 0;
6088 surfxml_route_dst_isset = 0;
6089 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6090 surfxml_route_symmetrical_isset = 0;
6091 ENTER(AL_surfxml_route); pushbuffer(0);
6096 /* rule 277 can match eol */
6098 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
6101 /* rule 278 can match eol */
6103 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
6106 /* rule 279 can match eol */
6108 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
6111 /* rule 280 can match eol */
6113 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
6116 /* rule 281 can match eol */
6118 /* rule 282 can match eol */
6120 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6123 /* rule 283 can match eol */
6125 /* rule 284 can match eol */
6127 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
6132 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6133 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6134 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
6140 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6141 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6142 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
6144 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
6150 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
6154 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
6156 case YY_STATE_EOF(AL_surfxml_route):
6157 FAIL("EOF in attribute list of `route' element.");
6161 /* rule 289 can match eol */
6165 ETag_surfxml_route();
6166 popbuffer(); /* attribute */
6168 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
6173 /* rule 290 can match eol */
6175 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
6179 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
6181 case YY_STATE_EOF(S_surfxml_route):
6182 case YY_STATE_EOF(S_surfxml_route_2):
6183 case YY_STATE_EOF(E_surfxml_route):
6184 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
6188 /* rule 292 can match eol */
6190 FAIL("Starting tag <ASroute> is not allowed here.");
6193 /* rule 293 can match eol */
6196 AX_surfxml_ASroute_src = 0;
6197 surfxml_ASroute_src_isset = 0;
6198 AX_surfxml_ASroute_dst = 0;
6199 surfxml_ASroute_dst_isset = 0;
6200 AX_surfxml_ASroute_gw_src = 0;
6201 surfxml_ASroute_gw_src_isset = 0;
6202 AX_surfxml_ASroute_gw_dst = 0;
6203 surfxml_ASroute_gw_dst_isset = 0;
6204 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6205 surfxml_ASroute_symmetrical_isset = 0;
6206 ENTER(AL_surfxml_ASroute); pushbuffer(0);
6211 /* rule 294 can match eol */
6213 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
6216 /* rule 295 can match eol */
6218 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
6221 /* rule 296 can match eol */
6223 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
6226 /* rule 297 can match eol */
6228 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
6231 /* rule 298 can match eol */
6233 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
6236 /* rule 299 can match eol */
6238 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
6241 /* rule 300 can match eol */
6243 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
6246 /* rule 301 can match eol */
6248 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
6251 /* rule 302 can match eol */
6253 /* rule 303 can match eol */
6255 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6258 /* rule 304 can match eol */
6260 /* rule 305 can match eol */
6262 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
6267 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6268 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6269 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6270 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6271 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
6277 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6278 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6279 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6280 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6281 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
6283 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
6289 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
6293 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
6295 case YY_STATE_EOF(AL_surfxml_ASroute):
6296 FAIL("EOF in attribute list of `ASroute' element.");
6300 /* rule 310 can match eol */
6304 ETag_surfxml_ASroute();
6305 popbuffer(); /* attribute */
6307 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
6312 /* rule 311 can match eol */
6314 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
6318 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
6320 case YY_STATE_EOF(E_surfxml_ASroute):
6321 case YY_STATE_EOF(S_surfxml_ASroute):
6322 case YY_STATE_EOF(S_surfxml_ASroute_2):
6323 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
6327 /* rule 313 can match eol */
6329 FAIL("Starting tag <link_ctn> is not allowed here.");
6332 /* rule 314 can match eol */
6335 AX_surfxml_link_ctn_id = 0;
6336 surfxml_link_ctn_id_isset = 0;
6337 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
6338 surfxml_link_ctn_direction_isset = 0;
6339 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
6344 /* rule 315 can match eol */
6346 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
6349 /* rule 316 can match eol */
6351 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
6354 /* rule 317 can match eol */
6356 /* rule 318 can match eol */
6358 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
6361 /* rule 319 can match eol */
6363 /* rule 320 can match eol */
6365 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
6368 /* rule 321 can match eol */
6370 /* rule 322 can match eol */
6372 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
6377 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
6378 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
6384 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
6385 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
6387 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6388 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6389 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6395 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
6399 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
6401 case YY_STATE_EOF(AL_surfxml_link_ctn):
6402 FAIL("EOF in attribute list of `link_ctn' element.");
6406 /* rule 327 can match eol */
6410 ETag_surfxml_link_ctn();
6411 popbuffer(); /* attribute */
6413 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6414 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6415 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6420 /* rule 328 can match eol */
6422 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
6426 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
6428 case YY_STATE_EOF(E_surfxml_link_ctn):
6429 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
6433 /* rule 330 can match eol */
6435 FAIL("Starting tag <bypassRoute> is not allowed here.");
6438 /* rule 331 can match eol */
6441 AX_surfxml_bypassRoute_src = 0;
6442 surfxml_bypassRoute_src_isset = 0;
6443 AX_surfxml_bypassRoute_dst = 0;
6444 surfxml_bypassRoute_dst_isset = 0;
6445 AX_surfxml_bypassRoute_gw_src = 0;
6446 surfxml_bypassRoute_gw_src_isset = 0;
6447 AX_surfxml_bypassRoute_gw_dst = 0;
6448 surfxml_bypassRoute_gw_dst_isset = 0;
6449 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6454 /* rule 332 can match eol */
6456 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
6459 /* rule 333 can match eol */
6461 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
6464 /* rule 334 can match eol */
6466 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
6469 /* rule 335 can match eol */
6471 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
6474 /* rule 336 can match eol */
6476 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6479 /* rule 337 can match eol */
6481 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6484 /* rule 338 can match eol */
6486 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6489 /* rule 339 can match eol */
6491 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6496 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6497 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6498 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6499 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6500 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6506 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6507 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6508 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6509 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6510 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6512 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
6518 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6522 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6524 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6525 FAIL("EOF in attribute list of `bypassRoute' element.");
6529 /* rule 344 can match eol */
6533 ETag_surfxml_bypassRoute();
6534 popbuffer(); /* attribute */
6536 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
6541 /* rule 345 can match eol */
6543 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6547 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6549 case YY_STATE_EOF(S_surfxml_bypassRoute):
6550 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6551 case YY_STATE_EOF(E_surfxml_bypassRoute):
6552 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
6556 /* rule 347 can match eol */
6558 FAIL("Starting tag <process> is not allowed here.");
6561 /* rule 348 can match eol */
6564 AX_surfxml_process_host = 0;
6565 surfxml_process_host_isset = 0;
6566 AX_surfxml_process_function = 0;
6567 surfxml_process_function_isset = 0;
6568 AX_surfxml_process_start_time = 28;
6569 surfxml_process_start_time_isset = 0;
6570 AX_surfxml_process_kill_time = 33;
6571 surfxml_process_kill_time_isset = 0;
6572 ENTER(AL_surfxml_process); pushbuffer(0);
6577 /* rule 349 can match eol */
6579 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
6582 /* rule 350 can match eol */
6584 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
6587 /* rule 351 can match eol */
6589 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
6592 /* rule 352 can match eol */
6594 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
6597 /* rule 353 can match eol */
6599 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
6602 /* rule 354 can match eol */
6604 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
6607 /* rule 355 can match eol */
6609 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
6612 /* rule 356 can match eol */
6614 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6619 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6620 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6621 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6627 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6628 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6629 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6631 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6637 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6641 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6643 case YY_STATE_EOF(AL_surfxml_process):
6644 FAIL("EOF in attribute list of `process' element.");
6648 /* rule 361 can match eol */
6652 ETag_surfxml_process();
6653 popbuffer(); /* attribute */
6655 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6660 /* rule 362 can match eol */
6662 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6666 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6668 case YY_STATE_EOF(E_surfxml_process):
6669 case YY_STATE_EOF(S_surfxml_process):
6670 case YY_STATE_EOF(S_surfxml_process_2):
6671 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
6675 /* rule 364 can match eol */
6677 FAIL("Starting tag <argument> is not allowed here.");
6680 /* rule 365 can match eol */
6683 AX_surfxml_argument_value = 0;
6684 surfxml_argument_value_isset = 0;
6685 ENTER(AL_surfxml_argument); pushbuffer(0);
6690 /* rule 366 can match eol */
6692 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6695 /* rule 367 can match eol */
6697 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6702 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6703 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6709 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6710 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6712 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6718 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6722 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6724 case YY_STATE_EOF(AL_surfxml_argument):
6725 FAIL("EOF in attribute list of `argument' element.");
6729 /* rule 372 can match eol */
6733 ETag_surfxml_argument();
6734 popbuffer(); /* attribute */
6736 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6741 /* rule 373 can match eol */
6743 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6747 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6749 case YY_STATE_EOF(E_surfxml_argument):
6750 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
6754 /* rule 375 can match eol */
6756 FAIL("Starting tag <config> is not allowed here.");
6759 /* rule 376 can match eol */
6762 AX_surfxml_config_id = 0;
6763 surfxml_config_id_isset = 0;
6764 ENTER(AL_surfxml_config); pushbuffer(0);
6769 /* rule 377 can match eol */
6771 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6774 /* rule 378 can match eol */
6776 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6781 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6787 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6789 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6795 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6799 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6801 case YY_STATE_EOF(AL_surfxml_config):
6802 FAIL("EOF in attribute list of `config' element.");
6806 /* rule 383 can match eol */
6810 ETag_surfxml_config();
6811 popbuffer(); /* attribute */
6813 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6818 /* rule 384 can match eol */
6820 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6824 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6826 case YY_STATE_EOF(S_surfxml_config):
6827 case YY_STATE_EOF(S_surfxml_config_2):
6828 case YY_STATE_EOF(E_surfxml_config):
6829 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
6832 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6833 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6835 /* rule 386 can match eol */
6837 FAIL("Starting tag <prop> is not allowed here.");
6840 /* rule 387 can match eol */
6843 AX_surfxml_prop_id = 0;
6844 surfxml_prop_id_isset = 0;
6845 AX_surfxml_prop_value = 0;
6846 surfxml_prop_value_isset = 0;
6847 ENTER(AL_surfxml_prop); pushbuffer(0);
6852 /* rule 388 can match eol */
6854 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6857 /* rule 389 can match eol */
6859 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6862 /* rule 390 can match eol */
6864 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6867 /* rule 391 can match eol */
6869 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6874 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6875 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6876 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6882 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6883 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6884 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6886 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6887 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
6888 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6889 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6890 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6891 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6897 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6901 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6903 case YY_STATE_EOF(AL_surfxml_prop):
6904 FAIL("EOF in attribute list of `prop' element.");
6908 /* rule 396 can match eol */
6912 ETag_surfxml_prop();
6913 popbuffer(); /* attribute */
6915 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6916 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
6917 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6918 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6919 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6920 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6925 /* rule 397 can match eol */
6927 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6931 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6933 case YY_STATE_EOF(E_surfxml_prop):
6934 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
6937 /* EPILOG: after the root element. */
6941 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6943 case YY_STATE_EOF(EPILOG):
6947 /* CHARACTER DATA. */
6949 /* Non-defined standard entities... */
6970 /* Character entities. */
6973 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6977 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6981 /* rule 407 can match eol */
6983 /* rule 408 can match eol */
6985 /* rule 409 can match eol */
6987 /* rule 410 can match eol */
6998 FAIL("Unexpected `]""]>' in character data.");
7005 case YY_STATE_EOF(VALUE1):
7006 FAIL("EOF in literal (\"'\" expected).");
7013 case YY_STATE_EOF(VALUE2):
7014 FAIL("EOF in literal (`\"' expected).");
7018 /* rule 415 can match eol */
7020 BUFFERPUTC(surf_parse_text[0]);
7024 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
7031 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
7034 BUFFERPUTC(surf_parse_text[0]);
7036 case YY_STATE_EOF(CDATA):
7037 FAIL("EOF in CDATA section.");
7040 /* Impossible rules to avoid warnings from flex(1). */
7041 /* Ideally, this should be replaced by code in flexml.pl that
7042 generates just the states not covered by other rules. */
7045 /* rule 419 can match eol */
7047 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
7054 case YY_STATE_EOF(INITIAL):
7055 case YY_STATE_EOF(ROOT_surfxml_platform):
7056 case YY_STATE_EOF(S_surfxml_platform_2):
7057 case YY_STATE_EOF(S_surfxml_platform_5):
7058 case YY_STATE_EOF(S_surfxml_platform_7):
7059 case YY_STATE_EOF(S_surfxml_random_1):
7060 case YY_STATE_EOF(S_surfxml_AS_2):
7061 case YY_STATE_EOF(S_surfxml_AS_5):
7062 case YY_STATE_EOF(S_surfxml_AS_7):
7063 case YY_STATE_EOF(S_surfxml_AS_10):
7064 case YY_STATE_EOF(S_surfxml_AS_12):
7065 case YY_STATE_EOF(S_surfxml_storage_1):
7066 case YY_STATE_EOF(S_surfxml_host_1):
7067 case YY_STATE_EOF(S_surfxml_link_1):
7068 case YY_STATE_EOF(S_surfxml_route_1):
7069 case YY_STATE_EOF(S_surfxml_ASroute_1):
7070 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
7071 case YY_STATE_EOF(S_surfxml_process_1):
7072 case YY_STATE_EOF(S_surfxml_config_1):
7073 case YY_STATE_EOF(IMPOSSIBLE):
7076 case YY_END_OF_BUFFER:
7078 /* Amount of text matched not including the EOB char. */
7079 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
7081 /* Undo the effects of YY_DO_BEFORE_ACTION. */
7082 *yy_cp = (yy_hold_char);
7083 YY_RESTORE_YY_MORE_OFFSET
7085 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
7087 /* We're scanning a new file or input source. It's
7088 * possible that this happened because the user
7089 * just pointed surf_parse_in at a new source and called
7090 * surf_parse_lex(). If so, then we have to assure
7091 * consistency between YY_CURRENT_BUFFER and our
7092 * globals. Here is the right place to do so, because
7093 * this is the first action (other than possibly a
7094 * back-up) that will match for the new input source.
7096 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7097 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
7098 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
7101 /* Note that here we test for yy_c_buf_p "<=" to the position
7102 * of the first EOB in the buffer, since yy_c_buf_p will
7103 * already have been incremented past the NUL character
7104 * (since all states make transitions on EOB to the
7105 * end-of-buffer state). Contrast this with the test
7108 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7109 { /* This was really a NUL. */
7110 yy_state_type yy_next_state;
7112 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
7114 yy_current_state = yy_get_previous_state( );
7116 /* Okay, we're now positioned to make the NUL
7117 * transition. We couldn't have
7118 * yy_get_previous_state() go ahead and do it
7119 * for us because it doesn't know how to deal
7120 * with the possibility of jamming (and we don't
7121 * want to build jamming into it because then it
7122 * will run more slowly).
7125 yy_next_state = yy_try_NUL_trans( yy_current_state );
7127 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7129 if ( yy_next_state )
7131 /* Consume the NUL. */
7132 yy_cp = ++(yy_c_buf_p);
7133 yy_current_state = yy_next_state;
7139 yy_cp = (yy_c_buf_p);
7140 goto yy_find_action;
7144 else switch ( yy_get_next_buffer( ) )
7146 case EOB_ACT_END_OF_FILE:
7148 (yy_did_buffer_switch_on_eof) = 0;
7150 if ( surf_parse_wrap( ) )
7152 /* Note: because we've taken care in
7153 * yy_get_next_buffer() to have set up
7154 * surf_parse_text, we can now set up
7155 * yy_c_buf_p so that if some total
7156 * hoser (like flex itself) wants to
7157 * call the scanner after we return the
7158 * YY_NULL, it'll still work - another
7159 * YY_NULL will get returned.
7161 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
7163 yy_act = YY_STATE_EOF(YY_START);
7169 if ( ! (yy_did_buffer_switch_on_eof) )
7175 case EOB_ACT_CONTINUE_SCAN:
7177 (yytext_ptr) + yy_amount_of_matched_text;
7179 yy_current_state = yy_get_previous_state( );
7181 yy_cp = (yy_c_buf_p);
7182 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7185 case EOB_ACT_LAST_MATCH:
7187 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
7189 yy_current_state = yy_get_previous_state( );
7191 yy_cp = (yy_c_buf_p);
7192 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7193 goto yy_find_action;
7200 "fatal flex scanner internal error--no action found" );
7201 } /* end of action switch */
7202 } /* end of scanning one token */
7203 } /* end of surf_parse_lex */
7205 /* yy_get_next_buffer - try to read in a new buffer
7207 * Returns a code representing an action:
7208 * EOB_ACT_LAST_MATCH -
7209 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
7210 * EOB_ACT_END_OF_FILE - end of file
7212 static int yy_get_next_buffer (void)
7214 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
7215 register char *source = (yytext_ptr);
7216 register int number_to_move, i;
7219 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
7221 "fatal flex scanner internal error--end of buffer missed" );
7223 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
7224 { /* Don't try to fill the buffer, so this is an EOF. */
7225 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
7227 /* We matched a single character, the EOB, so
7228 * treat this as a final EOF.
7230 return EOB_ACT_END_OF_FILE;
7235 /* We matched some text prior to the EOB, first
7238 return EOB_ACT_LAST_MATCH;
7242 /* Try to read more data. */
7244 /* First move last chars to start of buffer. */
7245 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
7247 for ( i = 0; i < number_to_move; ++i )
7248 *(dest++) = *(source++);
7250 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
7251 /* don't do the read, it's not guaranteed to return an EOF,
7254 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
7259 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
7261 while ( num_to_read <= 0 )
7262 { /* Not enough room in the buffer - grow it. */
7264 /* just a shorter name for the current buffer */
7265 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
7267 int yy_c_buf_p_offset =
7268 (int) ((yy_c_buf_p) - b->yy_ch_buf);
7270 if ( b->yy_is_our_buffer )
7272 int new_size = b->yy_buf_size * 2;
7274 if ( new_size <= 0 )
7275 b->yy_buf_size += b->yy_buf_size / 8;
7277 b->yy_buf_size *= 2;
7279 b->yy_ch_buf = (char *)
7280 /* Include room in for 2 EOB chars. */
7281 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
7284 /* Can't grow it, we don't own it. */
7287 if ( ! b->yy_ch_buf )
7289 "fatal error - scanner input buffer overflow" );
7291 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
7293 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
7298 if ( num_to_read > YY_READ_BUF_SIZE )
7299 num_to_read = YY_READ_BUF_SIZE;
7301 /* Read in more data. */
7302 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
7303 (yy_n_chars), (size_t) num_to_read );
7305 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7308 if ( (yy_n_chars) == 0 )
7310 if ( number_to_move == YY_MORE_ADJ )
7312 ret_val = EOB_ACT_END_OF_FILE;
7313 surf_parse_restart(surf_parse_in );
7318 ret_val = EOB_ACT_LAST_MATCH;
7319 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
7320 YY_BUFFER_EOF_PENDING;
7325 ret_val = EOB_ACT_CONTINUE_SCAN;
7327 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
7328 /* Extend the array by 50%, plus the number we really need. */
7329 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
7330 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
7331 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
7332 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
7335 (yy_n_chars) += number_to_move;
7336 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
7337 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
7339 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
7344 /* yy_get_previous_state - get the state just before the EOB char was reached */
7346 static yy_state_type yy_get_previous_state (void)
7348 register yy_state_type yy_current_state;
7349 register char *yy_cp;
7351 yy_current_state = (yy_start);
7353 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
7355 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
7356 if ( yy_accept[yy_current_state] )
7358 (yy_last_accepting_state) = yy_current_state;
7359 (yy_last_accepting_cpos) = yy_cp;
7361 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7363 yy_current_state = (int) yy_def[yy_current_state];
7364 if ( yy_current_state >= 2501 )
7365 yy_c = yy_meta[(unsigned int) yy_c];
7367 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
7370 return yy_current_state;
7373 /* yy_try_NUL_trans - try to make a transition on the NUL character
7376 * next_state = yy_try_NUL_trans( current_state );
7378 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
7380 register int yy_is_jam;
7381 register char *yy_cp = (yy_c_buf_p);
7383 register YY_CHAR yy_c = 1;
7384 if ( yy_accept[yy_current_state] )
7386 (yy_last_accepting_state) = yy_current_state;
7387 (yy_last_accepting_cpos) = yy_cp;
7389 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
7391 yy_current_state = (int) yy_def[yy_current_state];
7392 if ( yy_current_state >= 2501 )
7393 yy_c = yy_meta[(unsigned int) yy_c];
7395 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
7396 yy_is_jam = (yy_current_state == 2500);
7398 return yy_is_jam ? 0 : yy_current_state;
7403 static int yyinput (void)
7405 static int input (void)
7411 *(yy_c_buf_p) = (yy_hold_char);
7413 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
7415 /* yy_c_buf_p now points to the character we want to return.
7416 * If this occurs *before* the EOB characters, then it's a
7417 * valid NUL; if not, then we've hit the end of the buffer.
7419 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7420 /* This was really a NUL. */
7421 *(yy_c_buf_p) = '\0';
7424 { /* need more input */
7425 int offset = (yy_c_buf_p) - (yytext_ptr);
7428 switch ( yy_get_next_buffer( ) )
7430 case EOB_ACT_LAST_MATCH:
7431 /* This happens because yy_g_n_b()
7432 * sees that we've accumulated a
7433 * token and flags that we need to
7434 * try matching the token before
7435 * proceeding. But for input(),
7436 * there's no matching to consider.
7437 * So convert the EOB_ACT_LAST_MATCH
7438 * to EOB_ACT_END_OF_FILE.
7441 /* Reset buffer status. */
7442 surf_parse_restart(surf_parse_in );
7446 case EOB_ACT_END_OF_FILE:
7448 if ( surf_parse_wrap( ) )
7451 if ( ! (yy_did_buffer_switch_on_eof) )
7460 case EOB_ACT_CONTINUE_SCAN:
7461 (yy_c_buf_p) = (yytext_ptr) + offset;
7467 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
7468 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
7469 (yy_hold_char) = *++(yy_c_buf_p);
7473 surf_parse_lineno++;
7478 #endif /* ifndef YY_NO_INPUT */
7480 /** Immediately switch to a different input stream.
7481 * @param input_file A readable stream.
7483 * @note This function does not reset the start condition to @c INITIAL .
7485 void surf_parse_restart (FILE * input_file )
7488 if ( ! YY_CURRENT_BUFFER ){
7489 surf_parse_ensure_buffer_stack ();
7490 YY_CURRENT_BUFFER_LVALUE =
7491 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
7494 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
7495 surf_parse__load_buffer_state( );
7498 /** Switch to a different input buffer.
7499 * @param new_buffer The new input buffer.
7502 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
7505 /* TODO. We should be able to replace this entire function body
7507 * surf_parse_pop_buffer_state();
7508 * surf_parse_push_buffer_state(new_buffer);
7510 surf_parse_ensure_buffer_stack ();
7511 if ( YY_CURRENT_BUFFER == new_buffer )
7514 if ( YY_CURRENT_BUFFER )
7516 /* Flush out information for old buffer. */
7517 *(yy_c_buf_p) = (yy_hold_char);
7518 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7519 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7522 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7523 surf_parse__load_buffer_state( );
7525 /* We don't actually know whether we did this switch during
7526 * EOF (surf_parse_wrap()) processing, but the only time this flag
7527 * is looked at is after surf_parse_wrap() is called, so it's safe
7528 * to go ahead and always set it.
7530 (yy_did_buffer_switch_on_eof) = 1;
7533 static void surf_parse__load_buffer_state (void)
7535 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7536 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7537 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7538 (yy_hold_char) = *(yy_c_buf_p);
7541 /** Allocate and initialize an input buffer state.
7542 * @param file A readable stream.
7543 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7545 * @return the allocated buffer state.
7547 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
7551 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7553 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7555 b->yy_buf_size = size;
7557 /* yy_ch_buf has to be 2 characters longer than the size given because
7558 * we need to put in 2 end-of-buffer characters.
7560 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
7561 if ( ! b->yy_ch_buf )
7562 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7564 b->yy_is_our_buffer = 1;
7566 surf_parse__init_buffer(b,file );
7571 /** Destroy the buffer.
7572 * @param b a buffer created with surf_parse__create_buffer()
7575 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7581 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7582 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7584 if ( b->yy_is_our_buffer )
7585 surf_parse_free((void *) b->yy_ch_buf );
7587 surf_parse_free((void *) b );
7591 extern int isatty (int );
7592 #endif /* __cplusplus */
7594 /* Initializes or reinitializes a buffer.
7595 * This function is sometimes called more than once on the same buffer,
7596 * such as during a surf_parse_restart() or at EOF.
7598 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7603 surf_parse__flush_buffer(b );
7605 b->yy_input_file = file;
7606 b->yy_fill_buffer = 1;
7608 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7609 * called from surf_parse_restart() or through yy_get_next_buffer.
7610 * In that case, we don't want to reset the lineno or column.
7612 if (b != YY_CURRENT_BUFFER){
7613 b->yy_bs_lineno = 1;
7614 b->yy_bs_column = 0;
7617 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7622 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7623 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7626 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7633 /* We always need two end-of-buffer characters. The first causes
7634 * a transition to the end-of-buffer state. The second causes
7635 * a jam in that state.
7637 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7638 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7640 b->yy_buf_pos = &b->yy_ch_buf[0];
7643 b->yy_buffer_status = YY_BUFFER_NEW;
7645 if ( b == YY_CURRENT_BUFFER )
7646 surf_parse__load_buffer_state( );
7649 /** Pushes the new state onto the stack. The new state becomes
7650 * the current state. This function will allocate the stack
7652 * @param new_buffer The new state.
7655 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7657 if (new_buffer == NULL)
7660 surf_parse_ensure_buffer_stack();
7662 /* This block is copied from surf_parse__switch_to_buffer. */
7663 if ( YY_CURRENT_BUFFER )
7665 /* Flush out information for old buffer. */
7666 *(yy_c_buf_p) = (yy_hold_char);
7667 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7668 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7671 /* Only push if top exists. Otherwise, replace top. */
7672 if (YY_CURRENT_BUFFER)
7673 (yy_buffer_stack_top)++;
7674 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7676 /* copied from surf_parse__switch_to_buffer. */
7677 surf_parse__load_buffer_state( );
7678 (yy_did_buffer_switch_on_eof) = 1;
7681 /** Removes and deletes the top of the stack, if present.
7682 * The next element becomes the new top.
7685 void surf_parse_pop_buffer_state (void)
7687 if (!YY_CURRENT_BUFFER)
7690 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7691 YY_CURRENT_BUFFER_LVALUE = NULL;
7692 if ((yy_buffer_stack_top) > 0)
7693 --(yy_buffer_stack_top);
7695 if (YY_CURRENT_BUFFER) {
7696 surf_parse__load_buffer_state( );
7697 (yy_did_buffer_switch_on_eof) = 1;
7701 /* Allocates the stack if it does not exist.
7702 * Guarantees space for at least one push.
7704 static void surf_parse_ensure_buffer_stack (void)
7708 if (!(yy_buffer_stack)) {
7710 /* First allocation is just for 2 elements, since we don't know if this
7711 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7712 * immediate realloc on the next call.
7715 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7716 (num_to_alloc * sizeof(struct yy_buffer_state*)
7718 if ( ! (yy_buffer_stack) )
7719 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7721 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7723 (yy_buffer_stack_max) = num_to_alloc;
7724 (yy_buffer_stack_top) = 0;
7728 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7730 /* Increase the buffer to prepare for a possible push. */
7731 int grow_size = 8 /* arbitrary grow size */;
7733 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7734 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7736 num_to_alloc * sizeof(struct yy_buffer_state*)
7738 if ( ! (yy_buffer_stack) )
7739 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7741 /* zero only the new slots.*/
7742 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7743 (yy_buffer_stack_max) = num_to_alloc;
7747 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7748 * @param base the character buffer
7749 * @param size the size in bytes of the character buffer
7751 * @return the newly allocated buffer state object.
7753 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7758 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7759 base[size-1] != YY_END_OF_BUFFER_CHAR )
7760 /* They forgot to leave room for the EOB's. */
7763 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7765 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7767 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7768 b->yy_buf_pos = b->yy_ch_buf = base;
7769 b->yy_is_our_buffer = 0;
7770 b->yy_input_file = 0;
7771 b->yy_n_chars = b->yy_buf_size;
7772 b->yy_is_interactive = 0;
7774 b->yy_fill_buffer = 0;
7775 b->yy_buffer_status = YY_BUFFER_NEW;
7777 surf_parse__switch_to_buffer(b );
7782 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7783 * scan from a @e copy of @a str.
7784 * @param yystr a NUL-terminated string to scan
7786 * @return the newly allocated buffer state object.
7787 * @note If you want to scan bytes that may contain NUL values, then use
7788 * surf_parse__scan_bytes() instead.
7790 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7793 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7796 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7797 * scan from a @e copy of @a bytes.
7798 * @param yybytes the byte buffer to scan
7799 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7801 * @return the newly allocated buffer state object.
7803 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7810 /* Get memory for full buffer, including space for trailing EOB's. */
7811 n = _yybytes_len + 2;
7812 buf = (char *) surf_parse_alloc(n );
7814 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7816 for ( i = 0; i < _yybytes_len; ++i )
7817 buf[i] = yybytes[i];
7819 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7821 b = surf_parse__scan_buffer(buf,n );
7823 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7825 /* It's okay to grow etc. this buffer, and we should throw it
7826 * away when we're done.
7828 b->yy_is_our_buffer = 1;
7833 static void yy_push_state (int new_state )
7835 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7839 (yy_start_stack_depth) += YY_START_STACK_INCR;
7840 new_size = (yy_start_stack_depth) * sizeof( int );
7842 if ( ! (yy_start_stack) )
7843 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7846 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7848 if ( ! (yy_start_stack) )
7849 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7852 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7857 static void yy_pop_state (void)
7859 if ( --(yy_start_stack_ptr) < 0 )
7860 YY_FATAL_ERROR( "start-condition stack underflow" );
7862 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7865 #ifndef YY_EXIT_FAILURE
7866 #define YY_EXIT_FAILURE 2
7869 static void yy_fatal_error (yyconst char* msg )
7871 (void) fprintf( stderr, "%s\n", msg );
7872 exit( YY_EXIT_FAILURE );
7875 /* Redefine yyless() so it works in section 3 code. */
7881 /* Undo effects of setting up surf_parse_text. */ \
7882 int yyless_macro_arg = (n); \
7883 YY_LESS_LINENO(yyless_macro_arg);\
7884 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7885 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7886 (yy_hold_char) = *(yy_c_buf_p); \
7887 *(yy_c_buf_p) = '\0'; \
7888 surf_parse_leng = yyless_macro_arg; \
7892 /* Accessor methods (get/set functions) to struct members. */
7894 /** Get the current line number.
7897 int surf_parse_get_lineno (void)
7900 return surf_parse_lineno;
7903 /** Get the input stream.
7906 FILE *surf_parse_get_in (void)
7908 return surf_parse_in;
7911 /** Get the output stream.
7914 FILE *surf_parse_get_out (void)
7916 return surf_parse_out;
7919 /** Get the length of the current token.
7922 int surf_parse_get_leng (void)
7924 return surf_parse_leng;
7927 /** Get the current token.
7931 char *surf_parse_get_text (void)
7933 return surf_parse_text;
7936 /** Set the current line number.
7937 * @param line_number
7940 void surf_parse_set_lineno (int line_number )
7943 surf_parse_lineno = line_number;
7946 /** Set the input stream. This does not discard the current
7948 * @param in_str A readable stream.
7950 * @see surf_parse__switch_to_buffer
7952 void surf_parse_set_in (FILE * in_str )
7954 surf_parse_in = in_str ;
7957 void surf_parse_set_out (FILE * out_str )
7959 surf_parse_out = out_str ;
7962 int surf_parse_get_debug (void)
7964 return surf_parse__flex_debug;
7967 void surf_parse_set_debug (int bdebug )
7969 surf_parse__flex_debug = bdebug ;
7972 static int yy_init_globals (void)
7974 /* Initialization is the same as for the non-reentrant scanner.
7975 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7978 /* We do not touch surf_parse_lineno unless the option is enabled. */
7979 surf_parse_lineno = 1;
7981 (yy_buffer_stack) = 0;
7982 (yy_buffer_stack_top) = 0;
7983 (yy_buffer_stack_max) = 0;
7984 (yy_c_buf_p) = (char *) 0;
7988 (yy_start_stack_ptr) = 0;
7989 (yy_start_stack_depth) = 0;
7990 (yy_start_stack) = NULL;
7992 /* Defined in main.c */
7994 surf_parse_in = stdin;
7995 surf_parse_out = stdout;
7997 surf_parse_in = (FILE *) 0;
7998 surf_parse_out = (FILE *) 0;
8001 /* For future reference: Set errno on error, since we are called by
8002 * surf_parse_lex_init()
8007 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
8008 int surf_parse_lex_destroy (void)
8011 /* Pop the buffer stack, destroying each element. */
8012 while(YY_CURRENT_BUFFER){
8013 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8014 YY_CURRENT_BUFFER_LVALUE = NULL;
8015 surf_parse_pop_buffer_state();
8018 /* Destroy the stack itself. */
8019 surf_parse_free((yy_buffer_stack) );
8020 (yy_buffer_stack) = NULL;
8022 /* Destroy the start condition stack. */
8023 surf_parse_free((yy_start_stack) );
8024 (yy_start_stack) = NULL;
8026 /* Reset the globals. This is important in a non-reentrant scanner so the next time
8027 * surf_parse_lex() is called, initialization will occur. */
8034 * Internal utility routines.
8038 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
8041 for ( i = 0; i < n; ++i )
8046 #ifdef YY_NEED_STRLEN
8047 static int yy_flex_strlen (yyconst char * s )
8050 for ( n = 0; s[n]; ++n )
8057 void *surf_parse_alloc (yy_size_t size )
8059 return (void *) malloc( size );
8062 void *surf_parse_realloc (void * ptr, yy_size_t size )
8064 /* The cast to (char *) in the following accommodates both
8065 * implementations that use char* generic pointers, and those
8066 * that use void* generic pointers. It works with the latter
8067 * because both ANSI C and C++ allow castless assignment from
8068 * any pointer type to void*, and deal with argument conversions
8069 * as though doing an assignment.
8071 return (void *) realloc( (char *) ptr, size );
8074 void surf_parse_free (void * ptr )
8076 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
8079 #define YYTABLES_NAME "yytables"
8081 /* Element context stack lookup. */
8082 int surfxml_element_context(int i)
8084 return (0<i && i<yy_start_stack_depth
8085 ? yy_start_stack[yy_start_stack_ptr - i]
8090 void print_yy_stack(char* fmt, ...)
8092 int i = 0; va_list ap; va_start(ap, fmt);
8093 vfprintf(stderr, fmt, ap);
8094 if (surfxml_statenames) {
8095 for (i=1; i<yy_start_stack_ptr; i++) {
8096 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
8098 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
8103 void print_surfxml_bufferstack()
8106 fputs("Buffer: ", stderr);
8107 for (i = 0; i < blimit; i++) {
8108 if ( surfxml_bufferstack[i] == '\377' ) break;
8109 putc(surfxml_bufferstack[i], stderr);
8114 static void debug_enter(int state, const char* statename) {
8115 yy_push_state(state);
8116 if (surf_parse__flex_debug) {
8117 print_yy_stack("--ENTER(%s) : ",statename);
8118 print_surfxml_bufferstack();
8122 static void debug_leave(void) {
8123 if (surf_parse__flex_debug) {
8124 print_yy_stack("--LEAVE : ");
8125 print_surfxml_bufferstack();
8130 static void debug_set(int state, const char* statename) {
8132 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
8136 static void cleanup(void)
8138 if (surfxml_statenames) {
8139 free(surfxml_statenames);
8140 surfxml_statenames = NULL;
8142 free(surfxml_bufferstack);
8143 surfxml_bufferstack = NULL;
8149 static int fail(const char* fmt, ...)
8151 int chars_left, used;
8152 va_list ap; va_start(ap, fmt);
8153 #ifdef FLEXML_yylineno
8154 used = sprintf(flexml_err_msg,
8155 "Invalid XML (XML input line %d, state %d): ",
8156 surf_parse_lineno, YY_START);
8158 used = sprintf(flexml_err_msg,
8159 "Invalid XML (state %d): ",
8162 chars_left = flexml_max_err_msg_size - used - 1;
8163 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
8166 #ifndef FLEXML_quiet_parser
8167 /* print directly to sdterr */
8168 fprintf(stderr, "%s\n", flexml_err_msg);
8169 flexml_err_msg[0] = '\0';