2 #define YY_INT_ALIGNED short int
4 /* A lexical scanner generated by flex */
6 #define yy_create_buffer surf_parse__create_buffer
7 #define yy_delete_buffer surf_parse__delete_buffer
8 #define yy_flex_debug surf_parse__flex_debug
9 #define yy_init_buffer surf_parse__init_buffer
10 #define yy_flush_buffer surf_parse__flush_buffer
11 #define yy_load_buffer_state surf_parse__load_buffer_state
12 #define yy_switch_to_buffer surf_parse__switch_to_buffer
13 #define yyin surf_parse_in
14 #define yyleng surf_parse_leng
15 #define yylex surf_parse_lex
16 #define yylineno surf_parse_lineno
17 #define yyout surf_parse_out
18 #define yyrestart surf_parse_restart
19 #define yytext surf_parse_text
20 #define yywrap surf_parse_wrap
21 #define yyalloc surf_parse_alloc
22 #define yyrealloc surf_parse_realloc
23 #define yyfree surf_parse_free
26 #define YY_FLEX_MAJOR_VERSION 2
27 #define YY_FLEX_MINOR_VERSION 6
28 #define YY_FLEX_SUBMINOR_VERSION 1
29 #if YY_FLEX_SUBMINOR_VERSION > 0
33 /* First, we deal with platform-specific or compiler-specific issues. */
35 /* begin standard C headers. */
41 /* end standard C headers. */
43 /* flex integer type definitions */
48 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
50 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
52 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
53 * if you want the limit (max/min) macros for int types.
55 #ifndef __STDC_LIMIT_MACROS
56 #define __STDC_LIMIT_MACROS 1
60 typedef int8_t flex_int8_t;
61 typedef uint8_t flex_uint8_t;
62 typedef int16_t flex_int16_t;
63 typedef uint16_t flex_uint16_t;
64 typedef int32_t flex_int32_t;
65 typedef uint32_t flex_uint32_t;
67 typedef signed char flex_int8_t;
68 typedef short int flex_int16_t;
69 typedef int flex_int32_t;
70 typedef unsigned char flex_uint8_t;
71 typedef unsigned short int flex_uint16_t;
72 typedef unsigned int flex_uint32_t;
74 /* Limits of integral types. */
76 #define INT8_MIN (-128)
79 #define INT16_MIN (-32767-1)
82 #define INT32_MIN (-2147483647-1)
85 #define INT8_MAX (127)
88 #define INT16_MAX (32767)
91 #define INT32_MAX (2147483647)
94 #define UINT8_MAX (255U)
97 #define UINT16_MAX (65535U)
100 #define UINT32_MAX (4294967295U)
105 #endif /* ! FLEXINT_H */
107 /* TODO: this is always defined, so inline it */
108 #define yyconst const
110 #if defined(__GNUC__) && __GNUC__ >= 3
111 #define yynoreturn __attribute__((__noreturn__))
116 /* Returned upon end-of-file. */
119 /* Promotes a possibly negative, possibly signed char to an unsigned
120 * integer for use as an array index. If the signed char is negative,
121 * we want to instead treat it as an 8-bit unsigned char, hence the
124 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
126 /* Enter a start condition. This macro really ought to take a parameter,
127 * but we do it the disgusting crufty way forced on us by the ()-less
128 * definition of BEGIN.
130 #define BEGIN (yy_start) = 1 + 2 *
132 /* Translate the current start state into a value that can be later handed
133 * to BEGIN to return to the state. The YYSTATE alias is for lex
136 #define YY_START (((yy_start) - 1) / 2)
137 #define YYSTATE YY_START
139 /* Action number for EOF rule of a given start state. */
140 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
142 /* Special action meaning "start processing a new file". */
143 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
145 #define YY_END_OF_BUFFER_CHAR 0
147 /* Size of default input buffer. */
150 /* On IA-64, the buffer size is 16k, not 8k.
151 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
152 * Ditto for the __ia64__ case accordingly.
154 #define YY_BUF_SIZE 32768
156 #define YY_BUF_SIZE 16384
157 #endif /* __ia64__ */
160 /* The state buf must be large enough to hold one state per character in the main buffer.
162 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
164 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
165 #define YY_TYPEDEF_YY_BUFFER_STATE
166 typedef struct yy_buffer_state *YY_BUFFER_STATE;
169 #ifndef YY_TYPEDEF_YY_SIZE_T
170 #define YY_TYPEDEF_YY_SIZE_T
171 typedef size_t yy_size_t;
174 extern int surf_parse_leng;
176 extern FILE *surf_parse_in, *surf_parse_out;
178 #define EOB_ACT_CONTINUE_SCAN 0
179 #define EOB_ACT_END_OF_FILE 1
180 #define EOB_ACT_LAST_MATCH 2
182 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
183 * access to the local variable yy_act. Since yyless() is a macro, it would break
184 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
185 * One obvious solution it to make yy_act a global. I tried that, and saw
186 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
187 * normally declared as a variable-- so it is not worth it.
189 #define YY_LESS_LINENO(n) \
192 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
193 if ( surf_parse_text[yyl] == '\n' )\
194 --surf_parse_lineno;\
196 #define YY_LINENO_REWIND_TO(dst) \
199 for ( p = yy_cp-1; p >= (dst); --p)\
201 --surf_parse_lineno;\
204 /* Return all but the first "n" matched characters back to the input stream. */
208 /* Undo effects of setting up surf_parse_text. */ \
209 int yyless_macro_arg = (n); \
210 YY_LESS_LINENO(yyless_macro_arg);\
211 *yy_cp = (yy_hold_char); \
212 YY_RESTORE_YY_MORE_OFFSET \
213 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
214 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
218 #define unput(c) yyunput( c, (yytext_ptr) )
220 #ifndef YY_STRUCT_YY_BUFFER_STATE
221 #define YY_STRUCT_YY_BUFFER_STATE
222 struct yy_buffer_state
226 char *yy_ch_buf; /* input buffer */
227 char *yy_buf_pos; /* current position in input buffer */
229 /* Size of input buffer in bytes, not including room for EOB
234 /* Number of characters read into yy_ch_buf, not including EOB
239 /* Whether we "own" the buffer - i.e., we know we created it,
240 * and can realloc() it to grow it, and should free() it to
243 int yy_is_our_buffer;
245 /* Whether this is an "interactive" input source; if so, and
246 * if we're using stdio for input, then we want to use getc()
247 * instead of fread(), to make sure we stop fetching input after
250 int yy_is_interactive;
252 /* Whether we're considered to be at the beginning of a line.
253 * If so, '^' rules will be active on the next match, otherwise
258 int yy_bs_lineno; /**< The line count. */
259 int yy_bs_column; /**< The column count. */
261 /* Whether to try to fill the input buffer when we reach the
266 int yy_buffer_status;
268 #define YY_BUFFER_NEW 0
269 #define YY_BUFFER_NORMAL 1
270 /* When an EOF's been seen but there's still some text to process
271 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
272 * shouldn't try reading from the input source any more. We might
273 * still have a bunch of tokens to match, though, because of
274 * possible backing-up.
276 * When we actually see the EOF, we change the status to "new"
277 * (via surf_parse_restart()), so that the user can continue scanning by
278 * just pointing surf_parse_in at a new input file.
280 #define YY_BUFFER_EOF_PENDING 2
283 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
285 /* Stack of input buffers. */
286 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
287 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
288 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
290 /* We provide macros for accessing buffer states in case in the
291 * future we want to put the buffer states in a more general
294 * Returns the top of the stack, or NULL.
296 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
297 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
300 /* Same as previous macro, but useful when we know that the buffer stack is not
301 * NULL or when we need an lvalue. For internal use only.
303 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
305 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
306 static char yy_hold_char;
307 static int yy_n_chars; /* number of characters read into yy_ch_buf */
310 /* Points to current character in buffer. */
311 static char *yy_c_buf_p = NULL;
312 static int yy_init = 0; /* whether we need to initialize */
313 static int yy_start = 0; /* start state number */
315 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
316 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
318 static int yy_did_buffer_switch_on_eof;
320 void surf_parse_restart (FILE *input_file );
321 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
322 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
323 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
324 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
325 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
326 void surf_parse_pop_buffer_state (void );
328 static void surf_parse_ensure_buffer_stack (void );
329 static void surf_parse__load_buffer_state (void );
330 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
332 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
334 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
335 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
336 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
338 void *surf_parse_alloc (yy_size_t );
339 void *surf_parse_realloc (void *,yy_size_t );
340 void surf_parse_free (void * );
342 #define yy_new_buffer surf_parse__create_buffer
344 #define yy_set_interactive(is_interactive) \
346 if ( ! YY_CURRENT_BUFFER ){ \
347 surf_parse_ensure_buffer_stack (); \
348 YY_CURRENT_BUFFER_LVALUE = \
349 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
351 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
354 #define yy_set_bol(at_bol) \
356 if ( ! YY_CURRENT_BUFFER ){\
357 surf_parse_ensure_buffer_stack (); \
358 YY_CURRENT_BUFFER_LVALUE = \
359 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
361 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
364 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
366 /* Begin user sect3 */
368 #define surf_parse_wrap() (/*CONSTCOND*/1)
369 #define YY_SKIP_YYWRAP
371 typedef unsigned char YY_CHAR;
373 FILE *surf_parse_in = NULL, *surf_parse_out = NULL;
375 typedef int yy_state_type;
377 extern int surf_parse_lineno;
379 int surf_parse_lineno = 1;
381 extern char *surf_parse_text;
385 #define yytext_ptr surf_parse_text
387 static yy_state_type yy_get_previous_state (void );
388 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
389 static int yy_get_next_buffer (void );
390 static void yynoreturn yy_fatal_error (yyconst char* msg );
392 /* Done after the current pattern has been matched and before the
393 * corresponding action - sets up surf_parse_text.
395 #define YY_DO_BEFORE_ACTION \
396 (yytext_ptr) = yy_bp; \
397 surf_parse_leng = (int) (yy_cp - yy_bp); \
398 (yy_hold_char) = *yy_cp; \
400 (yy_c_buf_p) = yy_cp;
402 #define YY_NUM_RULES 561
403 #define YY_END_OF_BUFFER 562
404 /* This struct is not used in this scanner,
405 but its presence is necessary. */
408 flex_int32_t yy_verify;
411 static yyconst flex_int16_t yy_accept[3334] =
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
427 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,
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,
438 0, 0, 0, 0, 0, 0, 0, 0, 562, 560,
439 15, 10, 10, 15, 15, 540, 10, 540, 5, 6,
440 5, 8, 9, 8, 556, 548, 549, 557, 554, 557,
441 555, 559, 548, 549, 559, 42, 10, 42, 42, 42,
442 40, 42, 42, 46, 10, 46, 46, 560, 46, 560,
443 560, 46, 63, 10, 63, 63, 63, 61, 63, 63,
444 63, 67, 10, 67, 560, 67, 74, 10, 74, 74,
446 74, 72, 74, 78, 10, 78, 89, 10, 89, 89,
447 89, 87, 89, 89, 89, 93, 10, 93, 106, 10,
448 106, 106, 106, 104, 106, 106, 106, 110, 10, 110,
449 110, 119, 10, 119, 119, 119, 117, 119, 119, 123,
450 10, 123, 123, 142, 10, 142, 142, 142, 140, 142,
451 142, 142, 142, 142, 142, 146, 10, 146, 199, 10,
452 199, 199, 199, 197, 199, 199, 199, 199, 199, 199,
453 199, 199, 203, 10, 203, 203, 210, 10, 210, 210,
454 210, 208, 210, 214, 10, 214, 214, 233, 10, 233,
455 233, 233, 231, 233, 233, 233, 233, 233, 237, 10,
457 237, 560, 237, 248, 10, 248, 248, 248, 246, 248,
458 248, 248, 252, 10, 252, 259, 10, 259, 259, 259,
459 257, 259, 263, 10, 263, 560, 263, 286, 10, 286,
460 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
461 290, 303, 10, 303, 303, 303, 301, 303, 303, 307,
462 10, 307, 316, 10, 316, 316, 316, 314, 316, 316,
463 320, 10, 320, 329, 10, 329, 329, 329, 327, 329,
464 329, 333, 10, 333, 354, 10, 354, 354, 354, 352,
465 354, 354, 354, 354, 354, 354, 358, 10, 358, 560,
466 365, 10, 365, 365, 365, 363, 365, 369, 10, 369,
468 369, 560, 369, 560, 369, 386, 10, 386, 386, 386,
469 384, 386, 386, 386, 386, 386, 390, 10, 390, 560,
470 390, 399, 10, 399, 399, 399, 397, 399, 399, 403,
471 10, 403, 430, 10, 430, 430, 430, 428, 430, 430,
472 430, 430, 430, 434, 10, 434, 447, 10, 447, 447,
473 447, 445, 447, 447, 451, 10, 451, 451, 460, 10,
474 460, 460, 460, 458, 460, 460, 464, 10, 464, 479,
475 10, 479, 479, 479, 477, 479, 479, 479, 479, 483,
476 10, 483, 483, 498, 10, 498, 498, 498, 496, 498,
477 498, 498, 498, 502, 10, 502, 560, 502, 513, 10,
479 513, 513, 513, 511, 513, 513, 513, 557, 556, 535,
480 10, 535, 535, 535, 533, 535, 535, 535, 539, 10,
481 539, 10, 0, 2, 2, 0, 4, 7, 551, 550,
482 0, 0, 0, 0, 0, 0, 41, 43, 43, 43,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 62, 64, 64, 64, 64, 64, 0, 0, 73, 75,
487 75, 0, 88, 90, 90, 90, 90, 0, 105, 107,
488 107, 107, 107, 0, 118, 120, 120, 120, 0, 141,
490 143, 143, 143, 143, 143, 143, 143, 143, 0, 198,
491 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
492 200, 200, 200, 200, 200, 0, 209, 211, 211, 0,
493 232, 234, 234, 234, 234, 234, 234, 234, 0, 0,
494 247, 249, 249, 249, 249, 0, 258, 260, 260, 0,
495 0, 285, 287, 287, 287, 287, 287, 287, 0, 302,
496 304, 304, 304, 0, 315, 317, 317, 317, 0, 328,
497 330, 330, 330, 0, 353, 355, 355, 355, 355, 355,
498 355, 355, 355, 0, 0, 364, 366, 366, 0, 0,
499 0, 0, 0, 0, 385, 387, 387, 387, 387, 387,
501 387, 0, 0, 398, 400, 400, 400, 0, 429, 431,
502 431, 431, 431, 431, 431, 431, 431, 431, 0, 446,
503 448, 448, 448, 448, 0, 459, 461, 461, 461, 0,
504 478, 480, 480, 480, 480, 480, 0, 497, 499, 499,
505 499, 499, 499, 0, 0, 512, 514, 514, 514, 514,
506 0, 0, 0, 534, 536, 536, 536, 536, 0, 0,
507 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
508 0, 558, 0, 0, 43, 0, 0, 17, 0, 0,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
512 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
513 0, 64, 64, 64, 64, 0, 0, 0, 75, 0,
514 0, 90, 0, 0, 90, 0, 0, 107, 107, 107,
515 0, 0, 120, 120, 0, 0, 0, 0, 0, 0,
516 143, 143, 143, 143, 143, 0, 0, 200, 0, 0,
517 200, 0, 0, 200, 200, 200, 200, 200, 200, 200,
518 200, 200, 200, 0, 0, 0, 0, 0, 0, 234,
519 234, 234, 0, 0, 234, 234, 234, 0, 0, 0,
520 249, 0, 0, 0, 0, 0, 0, 260, 0, 0,
521 17, 287, 0, 0, 287, 287, 287, 0, 0, 304,
523 0, 0, 0, 0, 0, 0, 317, 0, 0, 330,
524 330, 0, 0, 355, 355, 355, 0, 0, 355, 355,
525 355, 0, 0, 0, 366, 0, 0, 0, 0, 0,
526 387, 387, 387, 387, 387, 0, 0, 0, 0, 0,
527 400, 0, 0, 431, 0, 0, 431, 431, 431, 431,
528 431, 431, 0, 0, 448, 448, 448, 0, 0, 461,
529 0, 0, 0, 0, 480, 480, 0, 0, 480, 0,
530 0, 499, 0, 0, 499, 499, 0, 0, 0, 514,
531 0, 0, 514, 0, 0, 0, 553, 536, 536, 536,
532 0, 0, 0, 14, 1, 0, 0, 546, 0, 0,
534 0, 543, 542, 0, 0, 19, 18, 43, 0, 0,
535 45, 0, 17, 0, 0, 0, 0, 0, 0, 0,
536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
539 64, 64, 0, 0, 64, 0, 0, 66, 0, 0,
540 75, 0, 0, 77, 0, 90, 0, 84, 83, 90,
541 0, 0, 92, 0, 0, 0, 107, 107, 0, 0,
542 0, 0, 109, 0, 0, 0, 0, 0, 0, 0,
543 122, 0, 0, 127, 126, 0, 129, 128, 0, 0,
545 143, 143, 143, 143, 0, 0, 145, 0, 200, 200,
546 200, 0, 158, 157, 200, 0, 162, 161, 0, 0,
547 200, 200, 200, 200, 200, 200, 200, 200, 200, 0,
548 0, 202, 0, 0, 207, 206, 0, 0, 213, 0,
549 234, 234, 234, 0, 224, 223, 234, 234, 234, 0,
550 0, 236, 0, 0, 249, 0, 243, 242, 0, 245,
551 244, 0, 0, 251, 0, 260, 0, 0, 262, 0,
552 287, 0, 271, 270, 287, 287, 287, 0, 0, 289,
553 0, 304, 0, 300, 299, 0, 0, 306, 0, 0,
554 311, 310, 317, 0, 0, 319, 0, 330, 330, 0,
556 0, 332, 0, 355, 355, 355, 355, 0, 345, 344,
557 0, 0, 355, 355, 0, 0, 357, 0, 0, 366,
558 0, 0, 368, 0, 0, 0, 0, 387, 387, 387,
559 387, 387, 0, 0, 389, 0, 0, 0, 394, 393,
560 400, 0, 0, 402, 0, 431, 0, 415, 414, 0,
561 0, 431, 0, 0, 431, 431, 431, 0, 0, 433,
562 0, 0, 0, 0, 0, 448, 0, 0, 450, 0,
563 461, 0, 457, 456, 0, 0, 463, 0, 480, 480,
564 0, 474, 473, 480, 0, 0, 482, 0, 499, 0,
565 491, 490, 499, 499, 0, 0, 501, 0, 0, 514,
567 0, 508, 507, 514, 0, 0, 0, 516, 0, 536,
568 536, 536, 0, 0, 538, 0, 0, 0, 547, 541,
569 0, 0, 43, 0, 44, 0, 0, 0, 0, 0,
570 0, 0, 216, 0, 265, 0, 0, 335, 0, 0,
571 392, 0, 0, 0, 0, 391, 0, 0, 0, 0,
572 0, 215, 0, 264, 334, 0, 0, 0, 0, 0,
573 0, 50, 49, 64, 64, 0, 56, 55, 64, 0,
574 264, 75, 0, 90, 90, 0, 0, 97, 96, 107,
575 107, 0, 103, 102, 0, 0, 114, 113, 0, 116,
576 115, 0, 0, 131, 130, 143, 143, 143, 143, 0,
578 200, 200, 200, 0, 0, 0, 164, 163, 200, 200,
579 200, 200, 200, 200, 200, 200, 200, 200, 0, 0,
580 234, 234, 0, 0, 234, 234, 234, 0, 0, 0,
581 0, 0, 0, 0, 0, 287, 287, 287, 287, 0,
582 304, 0, 317, 0, 0, 0, 330, 0, 355, 355,
583 355, 355, 0, 347, 346, 355, 355, 0, 0, 366,
584 0, 0, 0, 0, 387, 0, 0, 387, 387, 387,
585 0, 0, 400, 0, 431, 0, 417, 416, 0, 0,
586 0, 421, 420, 431, 0, 0, 431, 0, 0, 438,
587 437, 0, 440, 439, 448, 0, 461, 0, 480, 480,
589 480, 0, 499, 499, 0, 0, 0, 0, 0, 0,
590 514, 0, 0, 536, 0, 0, 536, 0, 0, 0,
591 0, 12, 0, 544, 545, 43, 0, 0, 0, 0,
592 0, 0, 0, 216, 0, 0, 265, 0, 0, 321,
593 335, 0, 0, 392, 0, 436, 0, 504, 391, 0,
594 0, 0, 0, 0, 215, 0, 0, 264, 334, 435,
595 0, 503, 436, 435, 64, 64, 64, 0, 0, 0,
596 0, 0, 90, 90, 0, 107, 107, 0, 0, 143,
597 143, 0, 0, 143, 0, 0, 0, 200, 200, 0,
598 160, 159, 200, 200, 200, 200, 200, 200, 0, 0,
600 200, 200, 200, 0, 0, 234, 234, 0, 222, 221,
601 234, 0, 0, 234, 0, 322, 0, 241, 240, 0,
602 0, 256, 255, 0, 287, 287, 287, 287, 0, 304,
603 0, 0, 0, 0, 0, 324, 323, 330, 0, 355,
604 0, 0, 355, 355, 0, 0, 355, 0, 0, 366,
605 0, 0, 0, 0, 387, 0, 375, 374, 387, 387,
606 387, 0, 0, 0, 0, 0, 431, 0, 419, 418,
607 431, 0, 425, 424, 431, 0, 448, 0, 461, 0,
608 480, 480, 480, 0, 499, 0, 0, 0, 495, 494,
609 0, 0, 0, 506, 505, 514, 0, 0, 536, 0,
611 0, 0, 0, 0, 0, 0, 0, 0, 11, 43,
612 0, 0, 0, 0, 0, 0, 204, 0, 0, 0,
613 0, 321, 0, 0, 404, 436, 453, 0, 504, 0,
614 0, 0, 0, 0, 0, 0, 0, 435, 452, 0,
615 503, 0, 0, 0, 0, 0, 64, 0, 0, 0,
616 71, 70, 0, 90, 90, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 143, 0, 137, 136, 0, 0,
618 0, 0, 150, 149, 0, 0, 200, 200, 200, 0,
619 0, 200, 200, 200, 0, 184, 183, 0, 0, 200,
620 200, 0, 0, 234, 234, 0, 0, 0, 228, 227,
622 234, 0, 235, 322, 0, 0, 287, 287, 287, 287,
623 0, 288, 304, 0, 0, 313, 312, 0, 330, 0,
624 355, 0, 339, 338, 0, 0, 355, 0, 349, 348,
625 355, 0, 356, 0, 366, 0, 205, 0, 405, 387,
626 387, 387, 387, 0, 0, 0, 396, 395, 0, 401,
627 431, 431, 431, 0, 448, 0, 461, 0, 0, 0,
628 480, 0, 0, 0, 499, 0, 493, 492, 0, 0,
629 514, 0, 0, 536, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 532, 531, 0, 0, 0, 0, 0,
631 0, 48, 0, 0, 0, 0, 125, 148, 204, 0,
633 254, 0, 0, 0, 370, 404, 453, 466, 0, 47,
634 0, 0, 0, 124, 147, 0, 253, 452, 465, 0,
635 0, 52, 51, 0, 54, 53, 64, 0, 0, 0,
636 90, 0, 0, 0, 0, 99, 98, 0, 101, 100,
637 0, 0, 0, 133, 132, 0, 0, 0, 139, 138,
638 0, 0, 152, 151, 200, 200, 200, 0, 172, 171,
639 0, 0, 200, 200, 0, 186, 185, 200, 200, 0,
640 0, 234, 234, 0, 226, 225, 234, 0, 0, 287,
641 0, 0, 287, 287, 287, 304, 0, 0, 330, 0,
642 331, 355, 0, 341, 340, 355, 355, 0, 0, 0,
644 0, 205, 371, 405, 387, 387, 387, 387, 0, 0,
645 431, 0, 0, 431, 0, 448, 0, 449, 461, 0,
646 0, 468, 467, 0, 0, 480, 0, 476, 475, 0,
647 0, 0, 499, 0, 0, 514, 0, 0, 515, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 48, 68,
650 80, 0, 0, 125, 148, 0, 254, 291, 0, 359,
651 370, 466, 0, 0, 47, 79, 0, 0, 124, 147,
652 0, 253, 465, 0, 0, 64, 0, 292, 0, 90,
653 0, 86, 85, 0, 0, 0, 0, 135, 134, 0,
655 200, 200, 200, 0, 174, 173, 200, 200, 200, 0,
656 0, 0, 0, 212, 234, 234, 234, 0, 0, 287,
657 0, 273, 272, 287, 287, 287, 304, 0, 0, 330,
658 355, 355, 355, 360, 0, 362, 361, 0, 371, 0,
659 0, 387, 387, 387, 0, 69, 431, 0, 423, 422,
660 431, 0, 432, 448, 461, 0, 462, 0, 470, 469,
661 480, 0, 0, 487, 486, 499, 0, 0, 514, 552,
662 0, 520, 519, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 68, 80, 0,
666 0, 239, 291, 0, 359, 0, 0, 79, 0, 0,
667 238, 0, 0, 64, 0, 65, 292, 0, 0, 0,
668 0, 0, 0, 0, 144, 200, 200, 200, 200, 0,
669 0, 200, 200, 0, 0, 0, 0, 201, 234, 234,
670 234, 0, 0, 261, 0, 0, 287, 287, 287, 287,
671 0, 0, 0, 0, 0, 0, 355, 355, 355, 360,
672 0, 0, 373, 372, 0, 0, 387, 387, 0, 388,
673 69, 0, 0, 431, 448, 461, 480, 0, 481, 499,
674 0, 0, 514, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 239, 308, 0, 0, 0, 0, 238, 0, 0,
679 64, 0, 76, 0, 82, 81, 0, 91, 0, 0,
680 200, 200, 200, 200, 0, 176, 175, 200, 200, 0,
681 0, 0, 0, 0, 0, 234, 234, 0, 0, 0,
682 0, 267, 266, 287, 287, 287, 0, 0, 0, 0,
683 0, 0, 305, 0, 0, 326, 325, 355, 355, 0,
684 0, 0, 367, 0, 377, 376, 0, 0, 0, 0,
685 0, 0, 0, 431, 448, 461, 480, 499, 0, 309,
686 514, 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, 112, 308,
690 0, 0, 0, 111, 0, 0, 0, 0, 0, 0,
691 200, 200, 0, 0, 200, 200, 200, 0, 0, 0,
692 0, 0, 0, 0, 0, 234, 0, 0, 0, 230,
693 229, 0, 250, 287, 287, 287, 0, 283, 282, 0,
694 0, 0, 0, 0, 0, 0, 355, 0, 0, 0,
695 351, 350, 0, 0, 0, 0, 383, 382, 0, 0,
696 0, 0, 0, 0, 431, 0, 0, 0, 0, 480,
697 499, 0, 309, 0, 0, 0, 0, 0, 0, 524,
699 0, 0, 0, 0, 523, 0, 0, 0, 0, 0,
700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
701 0, 0, 112, 485, 0, 0, 111, 484, 0, 0,
702 0, 0, 0, 0, 200, 0, 0, 0, 168, 167,
703 0, 0, 200, 200, 0, 0, 0, 0, 0, 0,
704 0, 0, 234, 0, 220, 219, 287, 0, 0, 287,
705 0, 0, 0, 0, 0, 0, 0, 318, 355, 0,
706 343, 342, 0, 0, 0, 0, 0, 0, 0, 0,
707 0, 0, 0, 0, 431, 0, 0, 0, 0, 455,
708 454, 0, 0, 0, 0, 0, 0, 510, 509, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 21, 29, 0, 0, 0,
712 0, 20, 28, 0, 95, 485, 518, 94, 484, 517,
713 0, 0, 0, 0, 0, 0, 121, 200, 0, 166,
714 165, 0, 170, 169, 200, 200, 0, 0, 0, 0,
715 0, 0, 0, 0, 234, 287, 0, 275, 274, 287,
716 0, 0, 294, 0, 0, 293, 355, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 472, 471, 0, 489,
719 488, 0, 0, 0, 530, 0, 0, 0, 529, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
722 0, 0, 0, 22, 0, 95, 518, 94, 517, 0,
723 0, 0, 0, 0, 200, 0, 0, 200, 0, 0,
724 190, 0, 0, 0, 189, 0, 234, 0, 0, 0,
725 0, 0, 0, 0, 0, 355, 0, 0, 0, 0,
726 0, 0, 0, 0, 0, 0, 0, 0, 0, 427,
727 426, 0, 0, 0, 0, 0, 500, 0, 0, 0,
728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 60, 0, 59, 0,
730 0, 108, 200, 0, 0, 0, 0, 0, 0, 0,
732 192, 0, 0, 191, 234, 0, 269, 268, 0, 0,
733 0, 296, 298, 295, 297, 355, 379, 0, 378, 0,
734 0, 413, 409, 0, 0, 412, 408, 0, 444, 0,
735 443, 0, 528, 0, 0, 527, 0, 0, 0, 537,
736 0, 0, 0, 12, 0, 12, 0, 33, 0, 0,
737 0, 0, 31, 32, 0, 0, 0, 0, 30, 58,
738 57, 200, 0, 0, 0, 0, 0, 188, 187, 0,
739 0, 0, 0, 234, 0, 0, 0, 0, 355, 0,
740 0, 0, 0, 0, 0, 442, 441, 522, 526, 521,
741 525, 0, 0, 0, 0, 0, 0, 0, 0, 25,
743 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748 0, 0, 0, 0, 194, 0, 193, 0, 218, 217,
749 0, 0, 0, 0, 0, 0, 0, 337, 336, 0,
750 0, 407, 0, 406, 0, 0, 11, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 196, 195, 0, 0, 0,
754 0, 0, 0, 381, 380, 0, 0, 0, 0, 0,
755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 411, 410, 0, 0, 0, 35, 0, 0,
758 0, 34, 0, 0, 0, 0, 0, 0, 0, 0,
759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 27, 0, 0, 26, 0, 0, 0, 0,
761 0, 0, 178, 0, 0, 177, 0, 0, 277, 0,
762 0, 276, 0, 0, 37, 0, 36, 0, 0, 0,
763 0, 182, 0, 181, 0, 279, 0, 278, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
766 0, 39, 38, 0, 154, 0, 153, 0, 0, 0,
767 0, 0, 0, 156, 155, 180, 179, 281, 280, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 static yyconst YY_CHAR yy_ec[256] =
784 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
785 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
786 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
787 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
788 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
789 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
790 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
791 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
792 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
793 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
795 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
796 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
797 73, 74, 1, 1, 1, 1, 1, 1, 1, 1,
798 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
799 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
800 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
801 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
803 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
804 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
806 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
807 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
808 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
809 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
810 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
814 static yyconst YY_CHAR yy_meta[75] =
816 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
817 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
818 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
819 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
820 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
821 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
822 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
826 static yyconst flex_uint16_t yy_base[3813] =
828 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
829 14, 17, 33, 36, 49, 55, 45, 61, 108, 174,
830 66, 72, 75, 78, 83, 128, 131, 134, 138, 141,
831 194, 197, 200, 204, 207, 224, 230, 233, 241, 250,
832 268, 335, 288, 291, 294, 298, 301, 355, 358, 361,
833 402, 472, 365, 368, 542, 602, 422, 425, 662, 729,
834 428, 432, 435, 452, 492, 495, 498, 502, 796, 863,
835 505, 522, 562, 565, 568, 572, 575, 622, 930, 997,
836 625, 628, 1064, 0, 632, 635, 682, 685, 688, 692,
837 695, 749, 1138, 1195, 752, 755, 759, 762, 816, 819,
839 822, 826, 1252, 1319, 829, 883, 886, 889, 893, 896,
840 950, 953, 1386, 1455, 956, 960, 1524, 1578, 963, 1017,
841 1020, 1023, 1027, 1030, 1158, 1161, 1632, 1699, 1164, 1168,
842 1171, 1215, 1218, 1221, 1225, 1228, 1766, 1823, 1272, 1275,
843 1880, 1950, 1278, 1282, 2020, 2087, 1339, 1342, 2154, 2221,
844 1345, 1349, 1406, 1409, 2288, 2358, 1412, 1416, 1419, 1475,
845 1478, 1481, 1485, 1488, 1544, 1547, 1550, 1554, 1557, 1598,
846 1601, 1604, 1608, 1611, 1652, 1655, 2428, 2495, 1658, 1662,
847 1665, 1719, 1722, 1725, 1729, 1732, 2562, 2632, 1786, 1789,
848 2702, 2769, 1792, 1796, 2836, 2903, 1799, 1843, 1846, 1849,
850 1853, 1856, 1900, 1903, 2970, 3027, 1906, 1910, 3084, 3152,
851 1913, 1930, 1970, 1973, 1976, 1980, 1983, 2000, 3220, 3287,
852 2040, 2043, 2046, 2050, 2053, 2107, 2110, 2113, 3354, 3418,
853 2132, 2134, 3482, 3550, 2174, 2180, 0, 0, 9063,11902,
854 11902, 95, 100, 29, 41,11902, 103, 51,11902,11902,
855 9052,11902,11902, 9039,11902, 9054, 9054, 164,11902,11902,
856 11902,11902, 9048, 9048, 9003,11902, 158, 9027, 0, 142,
857 11902, 8994, 8982,11902, 164, 3614, 8976, 3678, 2187, 1238,
858 9027, 31,11902, 253, 9018, 0, 143,11902, 8968, 8963,
859 84,11902, 258, 253, 9021, 8968,11902, 322, 9007, 0,
861 148,11902, 8977,11902, 325, 218,11902, 328, 9003, 0,
862 242,11902, 8973, 8969, 8967,11902, 389, 373,11902, 393,
863 8995, 0, 245,11902, 8947, 8940, 8944,11902, 396, 8997,
864 11,11902, 455, 8984, 0, 313,11902, 8936, 8936,11902,
865 458, 8987, 79,11902, 461, 8978, 0, 446,11902, 8926,
866 8940, 8942, 8924, 8938, 19,11902, 525, 509,11902, 529,
867 8966, 0, 447,11902, 101, 8922, 8928, 317, 8905, 258,
868 531, 8907,11902, 532, 8957, 246,11902, 535, 8944, 0,
869 576,11902, 8911,11902, 652, 8950, 287,11902, 716, 8937,
870 0, 577,11902, 8886, 8892, 8898, 8882, 320,11902, 719,
872 112, 8887, 377,11902, 722, 8923, 0, 580,11902, 8879,
873 8889, 8872,11902, 783, 639,11902, 786, 8915, 0, 636,
874 11902, 8877,11902, 789, 2129, 8917, 681,11902, 847, 8908,
875 0, 637,11902, 8878, 8870, 8872, 102,11902, 850, 8908,
876 704,11902, 853, 8895, 0, 640,11902, 8857, 8861,11902,
877 856, 900,11902, 914, 8888, 0, 706,11902, 8855, 8857,
878 11902, 920, 908,11902, 923, 8881, 0, 707,11902, 8851,
879 8831,11902, 980, 967,11902, 989, 8874, 0, 773,11902,
880 8823, 8821, 8824, 8834, 8836, 447,11902, 1047, 1034, 774,
881 11902, 1056, 8860, 0, 840,11902, 8826,11902, 1188, 1305,
883 748, 1183, 771, 8814, 815,11902, 1308, 8853, 0, 841,
884 11902, 8803, 8808, 8809, 8803, 8796,11902, 1311, 454, 8810,
885 882,11902, 1370, 8838, 0, 898,11902, 8805, 8803,11902,
886 1375, 1423,11902, 1378, 8831, 0, 964,11902, 8797, 8793,
887 1191, 8795, 137,11902, 1437, 1424,11902, 1444, 8823, 0,
888 965,11902, 8771, 518,11902, 1447, 8825, 204,11902, 1450,
889 8816, 0, 968,11902, 8768, 8778,11902, 1506, 1492,11902,
890 1512, 8809, 0, 1031,11902, 8756, 8760, 8770, 8744,11902,
891 1515, 8804, 949,11902, 1518, 8795, 0, 1032,11902, 8747,
892 8757, 8745, 8746,11902, 1682, 272, 8741, 1171,11902, 1691,
894 8781, 0, 1035,11902, 8739, 8743, 8741, 1669, 8742,11902,
895 1694, 8768, 0, 1172,11902, 8727, 8185, 8175,11902, 1749,
896 1736, 1758, 408, 8167,11902, 8228, 8217,11902,11902,11902,
897 1750, 153, 8168, 8167, 8165, 8213,11902, 0, 2120, 8162,
898 8208, 8189, 8153, 328, 1234, 8154, 8147, 8151, 8143, 1128,
899 259, 8132, 8132, 1185, 8155, 396, 1301, 8129, 8119, 8123,
900 1445, 584, 8102, 8103, 8128, 398, 1755, 652, 439, 979,
901 11902, 0, 8089, 8103, 8098, 8087, 8124, 8068,11902, 0,
902 8057, 8067,11902, 0, 8052, 2187, 8041, 8058,11902, 0,
903 8038, 8049, 8045, 8042,11902, 0, 8011, 8020, 8020,11902,
905 0, 2241, 2244, 8000, 8009, 8009, 8006, 7996, 7994,11902,
906 0, 7985, 2254, 7966, 2308, 7957, 7963, 7959, 7968, 7967,
907 7942, 7961, 7955, 7945, 7934, 7945,11902, 0, 2311, 7943,
908 11902, 0, 7925, 175, 2314, 7905, 7918, 7917, 7908, 7900,
909 11902, 0, 7890, 2317, 2320, 7891,11902, 0, 7868, 7869,
910 7886,11902, 0, 7861, 2338, 7844, 7852, 7851, 7838,11902,
911 0, 7827, 2378, 7832,11902, 0, 2381, 7829, 7826,11902,
912 0, 7825, 7821, 7821,11902, 0, 7832, 7831, 7802, 2384,
913 7796, 7809, 7808, 7790, 7788,11902, 0, 7780, 7773, 1506,
914 1812, 1242, 1514, 1813,11902, 0, 7774, 7763, 7769, 7779,
916 7767, 7749, 7742,11902, 0, 2387, 7746, 7741,11902, 0,
917 7741, 2390, 7723, 7745, 7702, 7710, 7705, 7701, 7679,11902,
918 0, 7676, 7683, 7672, 7657,11902, 0, 7659, 2408, 7654,
919 11902, 0, 7644, 7647, 2448, 7640, 7636,11902, 0, 7635,
920 2451, 7640, 7607, 7613, 7615,11902, 0, 7609, 2454, 7601,
921 512, 7594, 7641,11902, 0, 7606, 7588, 7593, 7572, 7608,
922 7613, 1272, 7561,11902, 1925, 0, 7556, 7539, 7584, 7582,
923 7534,11902, 2457, 2006, 7528, 2192, 2516, 2077, 7539, 7529,
924 7515, 7527, 7507, 7497, 7491, 7505, 7493, 1266, 7500, 7499,
925 7484, 7479, 7471, 7475, 7478, 7463, 2081, 7473, 7455, 7468,
927 7447, 7444, 7453, 7440, 7448, 7430, 7425, 7438, 2142, 7416,
928 7415, 2460, 2526, 2519, 2529, 2262, 2582, 7420, 7412, 2523,
929 2592, 7423, 2585, 2341, 7412, 2595, 2652, 2603, 2666, 2657,
930 2660, 2663, 2671, 2722, 2725, 2735, 2728, 2411, 2748, 2614,
931 2790, 2798, 2801, 2808, 2865, 2740, 2876, 1869, 2794, 2622,
932 7405, 2862, 2689, 2868, 7400, 7391, 7390, 7385, 7373, 7369,
933 7378, 7375, 7356, 2871, 2926, 2929, 2819, 2932, 2936, 7360,
934 7349, 7357, 2939, 2891, 7360, 7354, 7334, 2990, 2993, 1306,
935 7335, 2999, 2957, 3003, 3048, 3056, 3059, 7326, 3062, 3106,
936 2213, 7326, 3109, 3066, 7323, 7309, 7305, 3112, 3117, 7319,
938 3121, 3140, 3173, 3185, 3176, 3188, 7286, 3180, 3248, 7301,
939 7282, 3241, 3252, 7289, 3, 7279, 3244, 3204, 3255, 7290,
940 7265, 3310, 3317, 7283, 7263, 3320, 3323, 7263, 7258, 7257,
941 7267, 7248, 7251, 7252, 7238, 3374, 3377, 7248, 3383, 3276,
942 7232, 3386, 3389, 7240, 3438, 3343, 3442, 7226, 3447, 7230,
943 7233, 7232, 3450, 3456, 3504, 3507, 3511, 3514, 3517, 7213,
944 3529, 3401, 3571, 3574, 7225, 7205, 3579, 3465, 7218, 3582,
945 3585, 7193, 3597, 3536, 7207, 7201, 3604, 3608, 1333, 7195,
946 3611, 3636, 7190, 7221, 3629, 3648,11902, 7179, 7187, 7182,
947 3652, 3657, 7212,11902,11902, 882, 7170,11902, 7202, 7200,
949 7149,11902,11902, 7144, 3682,11902,11902, 7139, 3690, 3693,
950 11902, 3699, 1941, 7126, 7119, 7127, 7136, 7126, 7109, 7114,
951 7099, 7105, 7105, 7102, 7092, 7077, 7074, 718, 7085, 7068,
952 7068, 7074, 1566, 2070, 7061, 7060, 7069, 7059, 7048, 7039,
953 7046, 7042, 7034, 7026, 7023, 7035, 7007, 7001, 3702, 3745,
954 6999, 6988, 3705, 3753, 7000, 3713, 3761,11902, 3764, 6988,
955 6993, 3767, 3770,11902, 3773, 6973, 3776,11902,11902, 6974,
956 3792, 3795,11902, 3798, 3801, 3804, 6968, 6964, 3819, 3823,
957 3831, 3837,11902, 3840, 3843, 3850, 3861, 3864, 3872, 3875,
958 11902, 3879, 3882,11902,11902, 3894,11902,11902, 3903, 3906,
960 6972, 6976, 6973, 6967, 3914, 3917,11902, 3921, 6951, 6971,
961 6941, 3924,11902,11902, 3936, 3942,11902,11902, 3950, 3954,
962 6922, 6937, 6917, 6922, 6912, 6907, 6909, 6898, 1247, 3962,
963 3970,11902, 3973, 3977,11902,11902, 3985, 3992,11902, 3995,
964 6892, 6893, 3998, 4004,11902,11902, 6853, 6868, 6864, 4016,
965 4019,11902, 4023, 6837, 4026, 4029,11902,11902, 4044,11902,
966 11902, 4052, 4056,11902, 4059, 4062, 4065, 4071,11902, 4080,
967 6827, 4090,11902,11902, 6830, 6830, 6833, 4084, 4099,11902,
968 4103, 6833, 4106,11902,11902, 4114, 4118,11902, 4125, 4133,
969 11902,11902, 6823, 4144, 4147,11902, 4150, 4153, 4156, 4159,
971 4174,11902, 4178, 6815, 6811, 6803, 6814, 4182,11902,11902,
972 4193, 4197, 6810, 6798, 4205, 4211,11902, 4214, 6780, 6789,
973 4217, 4220,11902, 4224, 6788, 1567, 6784, 6767, 4239, 6785,
974 6783, 6759, 4246, 4249,11902, 4252, 6757, 4259,11902,11902,
975 6761, 4272, 4275,11902, 4278, 6740, 4281,11902,11902, 4297,
976 4300, 4308, 4315, 4319, 6751, 4327, 6732, 4333, 4336,11902,
977 4340, 4345, 4348, 4359, 4363, 6723, 4371, 4377,11902, 4380,
978 6723, 4383,11902,11902, 4391, 4401,11902, 4404, 6715, 6706,
979 4410,11902,11902, 6728, 4423, 4426,11902, 4430, 6703, 4433,
980 11902,11902, 6675, 4449, 4452, 4455,11902, 4458, 6651, 4461,
982 4479,11902,11902, 4467, 6653, 4487, 4492,11902, 4495, 6615,
983 4498, 6610, 4502, 4506,11902, 4516, 888, 4521,11902,11902,
984 6551, 6541, 6494, 4525,11902, 6458, 6454, 6446, 6396, 6374,
985 6313, 6307, 2073, 6294, 2281, 6301, 6291, 2116, 6304, 6286,
986 2216, 6201, 6132, 6066, 6057, 2272, 6035, 6047, 6020, 5997,
987 5974, 2350, 5870, 2420, 2486, 5855, 5807, 5798, 5722, 5719,
988 4529,11902,11902, 5684, 38, 4544,11902,11902, 26, 4552,
989 2829, 4555, 4558, 43, 195, 4564, 4567,11902,11902, 181,
990 216, 4577,11902,11902, 4585, 4588,11902,11902, 4597,11902,
991 11902, 4605, 4608,11902,11902, 239, 326, 4616, 370, 4626,
993 4629, 4634, 4637, 4640, 4658, 4666,11902,11902, 4647, 4674,
994 4677, 4685, 4688, 4695, 4706, 4709, 4713, 4716, 4727, 4735,
995 395, 460, 4739, 4742, 488, 4757, 525, 4760, 526, 4763,
996 4766, 4781, 4784, 4789, 4802, 539, 567, 616, 654, 4805,
997 636, 4809, 4812, 4816, 4831, 4835, 650, 4843, 658, 4851,
998 703, 715, 4869,11902,11902, 4855, 726, 4863, 782, 776,
999 4877, 784, 922, 932, 1005, 4882, 4885, 1086, 1112, 1130,
1000 4896, 1119, 4900, 4904, 1138, 4908,11902,11902, 4918, 4924,
1001 4932,11902,11902, 1162, 4940, 4946, 1173, 4954, 4958,11902,
1002 11902, 4967,11902,11902, 1169, 4975, 1211, 4978, 1231, 1227,
1004 1302, 4981, 1293, 4984, 4988, 5006, 5014, 1299, 5017, 5020,
1005 1310, 1362, 5028, 1355, 5035, 5047, 5038, 5056, 1603, 1405,
1006 5061,11902, 1406,11902,11902, 1376, 1374, 1418, 1423, 1427,
1007 1442, 1447, 1468, 2490, 1480, 1512, 2557, 1516, 1525, 2684,
1008 2762, 1513, 1527, 2965, 1548, 3411, 1565, 3212, 3021, 1553,
1009 1564, 1561, 1610, 1618, 3215, 1612, 1623, 3314, 3476, 5064,
1010 1622, 3618, 5067, 5070, 5080, 5083, 5086, 5089, 1636, 5092,
1011 5113, 5121, 1636, 1618, 5124, 5135, 5143, 5146, 5153, 5157,
1012 5161, 5165, 5183, 5175, 5168, 5193, 5196, 5204, 5207, 5213,
1013 11902,11902, 5225, 5229, 5232, 5235, 5238, 5243, 5256, 5261,
1015 5274, 5280, 5285, 5298, 5303, 1665, 1668, 5306,11902,11902,
1016 5317, 5322, 5328, 1684, 5341, 3644, 5344,11902,11902, 5352,
1017 5361,11902,11902, 5355, 1687, 1669, 1689, 1700, 5374, 1698,
1018 5377, 5380, 5383, 5399, 5402,11902,11902, 1705, 5410, 1732,
1019 5413, 5425, 5418, 1735, 5436, 5439, 1751, 5447, 1743, 1747,
1020 5450, 1756, 1749, 1758, 1757, 5454,11902,11902, 1782, 1794,
1021 1794, 5462, 1810, 5469, 5477, 5472, 1800, 5487,11902,11902,
1022 1816, 5496,11902,11902, 1807, 5504, 1830, 5507, 1849, 5510,
1023 5514, 5517, 5535, 5538, 1852, 5542, 5546, 5562,11902,11902,
1024 5570, 1874, 5573,11902,11902, 1866, 1885, 5589, 1862, 5592,
1026 1966, 2511, 5601, 5604, 5612, 1929, 1997, 1961,11902, 5619,
1027 1882, 1879, 1884, 1968, 1879, 1926, 3728, 1936, 1947, 1943,
1028 1949, 5622, 1950, 1952, 5625, 5631, 5637, 1983, 5641, 2000,
1029 2007, 2000, 2048, 1995, 1999, 2012, 2025, 5644, 5647, 2050,
1030 5650, 2075, 5653, 5657, 5665, 5671, 2070, 5679, 2061, 5683,
1031 11902,11902, 5691, 2062, 5694, 5698, 5701, 5706, 5719, 5722,
1032 5730, 5733, 5737, 5756, 5764, 5767,11902,11902, 5775, 5778,
1033 5786, 5789,11902,11902, 5799, 5805, 2075, 2100, 2094, 5813,
1034 5817, 5825, 2113, 2137, 5831,11902,11902, 5839, 5843, 2121,
1035 2115, 5851, 5857, 2145, 2158, 5860, 5863, 5872,11902,11902,
1037 2153, 5880,11902, 5883, 5886, 5889, 2145, 5892, 2201, 2193,
1038 5895,11902, 2189, 5899, 5914,11902,11902, 5922, 2224, 5925,
1039 2202, 5928,11902,11902, 5945, 5949, 2212, 5957,11902,11902,
1040 2205, 5965,11902, 2203, 5969, 5972, 5975, 2210, 5978, 2218,
1041 2225, 2218, 2247, 5987, 2263, 5991,11902,11902, 5999,11902,
1042 2263, 6002, 2271, 6006, 2274, 6009, 2283, 6012, 6020, 6034,
1043 6042, 6045, 6049, 6066, 6069, 6073,11902,11902, 6081, 2273,
1044 2287, 2324, 6089, 6092, 2326, 2313, 2377, 2314, 2333, 2320,
1045 2386, 2337, 6096,11902,11902, 6104, 2375, 2460, 2399, 6110,
1046 6116, 6124, 2328, 2349, 2379, 2358, 6128, 6131, 6135, 2363,
1048 6138, 2364, 2378, 2405, 6141, 6144, 6147, 6151, 2406, 6154,
1049 2418, 2433, 2414, 6157, 6160, 2416, 6163, 6166, 6169, 2418,
1050 6172,11902,11902, 6180,11902,11902, 2432, 6188, 2423, 6191,
1051 2430, 6194, 6198, 6212, 6216,11902,11902, 6224,11902,11902,
1052 6232, 6235, 6240,11902,11902, 6256, 6259, 6274,11902,11902,
1053 6267, 6282,11902,11902, 2455, 2464, 2487, 6290,11902,11902,
1054 6298, 6301, 2485, 2475, 6309,11902,11902, 2497, 6317, 6320,
1055 6323, 2487, 2484, 6328,11902,11902, 2493, 6342, 6345, 2500,
1056 6348, 6351, 2503, 2527, 2532, 2538, 6367, 6370, 2549, 6373,
1057 11902, 2543, 6376,11902,11902, 2542, 2551, 2552, 6392, 6398,
1059 6406, 6410, 6413, 6416, 6419, 6425, 6428, 6437, 6446, 2546,
1060 2561, 6449, 6455, 2580, 6467, 2579, 6471,11902, 2580, 6477,
1061 6480,11902,11902, 6497, 6500, 2589, 6508,11902,11902, 6516,
1062 6519, 6522, 2603, 6530, 2611, 2624, 2636, 6537,11902, 6540,
1063 6543, 2649, 2655, 2656, 2662, 2673, 2665, 2695, 2695, 2705,
1064 2720, 6551, 6558, 2736, 2809, 6561, 2984, 3943, 6570, 6573,
1065 6577, 2687, 2685, 6582, 6585, 2699, 6588, 6591, 2698, 6594,
1066 6597, 6601, 2694, 2723, 6604, 6607, 2725, 2726, 6610, 6613,
1067 2747, 6616, 6619, 2739, 2752, 2769, 6622, 6625, 6628, 6631,
1068 6634,11902,11902, 6642, 6649, 6652, 6655,11902,11902, 6663,
1070 2764, 2777, 2839, 6671,11902,11902, 6682, 2796, 2799, 6687,
1071 6696, 6690, 6705,11902, 2805, 2810, 2832, 6709, 6714, 6717,
1072 6724,11902,11902, 6720, 6738, 6741, 6744, 6747, 6750, 6770,
1073 2829, 2837, 2839, 6776, 6779,11902,11902, 6788, 6793, 6796,
1074 6801, 6809, 6815, 6818, 6821, 6827, 6836, 6841,11902,11902,
1075 6850, 6854,11902, 2849, 2848, 6857,11902, 6861,11902,11902,
1076 2829, 6876, 6879,11902,11902, 2853, 6887, 2864, 2869,11902,
1077 6891,11902,11902, 2919, 2905, 2921, 2919, 2927, 2929, 2917,
1078 2936, 2932, 2939, 6899, 6902, 3029, 3023, 2938, 2943, 3058,
1079 2941, 2955, 2954, 2958, 3069, 2957, 2996, 6906, 6909, 2992,
1081 2999, 6912, 6921, 3007, 6924, 3004, 3021, 6927, 3037, 3038,
1082 6930, 3034, 3055, 3074, 6934,11902, 6937, 6940, 6944, 6947,
1083 6955, 6965, 6968, 6974,11902, 3088, 3077, 3074, 3098, 6977,
1084 6980, 3088, 3097, 6989, 3784, 3862, 6997,11902, 3083, 3114,
1085 7000, 7003, 7006,11902, 7009, 7012, 3131, 3126, 3136, 7030,
1086 7036, 7039, 7048, 7054, 7057, 7061, 3134, 3137, 7069, 7075,
1087 7078, 7081,11902,11902, 7089, 7093, 7101, 7107, 7110,11902,
1088 7119, 7125, 7129, 7137, 3151, 3145, 3172, 7143,11902, 3185,
1089 7146, 3189, 3189, 3221, 3217, 3234, 3222, 3248, 3232, 3228,
1090 3248, 3236, 3261, 7149, 3290, 3492, 3319, 3234, 3251, 3265,
1092 3269, 3269, 3262, 3266, 3278, 3278, 3282, 3289, 3283, 3315,
1093 3342, 7155, 7158, 3332, 3345, 3330, 3359, 7168, 3352, 3364,
1094 7171, 7175,11902, 7178,11902,11902, 7189,11902, 7195, 7198,
1095 3370, 3388, 7201, 3380, 7204,11902,11902, 3399, 3394, 3425,
1096 3503, 3437, 3443, 3557, 3462, 3431, 7219, 7222, 7225, 7233,
1097 7240,11902,11902, 3465, 3471, 3470, 7248, 7253, 7266, 3632,
1098 3999, 7261,11902, 7274, 7280,11902,11902, 3470, 7288, 7293,
1099 7296, 7306,11902, 7311,11902,11902, 7320, 7325, 7333, 7338,
1100 7347, 3687, 3715, 7355, 7358, 7361, 3491, 3493, 7364, 7367,
1101 7379, 3517, 3544, 3568, 3571, 3589, 3574, 3595, 3599, 3603,
1103 3618, 7383, 3609, 3649, 3698, 3567, 3582, 3570, 3584, 3609,
1104 3630, 3620, 3630, 3617, 3638, 3667, 3677, 3668, 7386, 7389,
1105 3684, 3690, 3675, 7392, 3699, 3707, 7397, 7402, 7410, 7418,
1106 3698, 7421, 7424, 7430, 7444, 3732, 3733, 3766, 3749, 3769,
1107 3754, 3792, 3776, 3795, 3781, 3783, 7447, 7450, 7458,11902,
1108 11902, 7466,11902, 3776, 7470, 3786, 7474,11902,11902, 3812,
1109 3814, 3818, 3822, 3825, 3832, 7488, 3823, 7491, 7494, 7503,
1110 11902,11902, 7511, 3876, 3904, 7519,11902,11902, 3834, 3854,
1111 3914, 3855, 3858, 3969, 7527, 7530, 7533, 7541, 7548, 7559,
1112 7562, 7565, 7568, 7571, 7589, 3886, 3871, 3886, 3890,11902,
1114 3910, 3905, 3905, 3917,11902, 7580, 3941, 3994, 7584, 3894,
1115 3917, 3940, 3997, 4005, 3956, 3969, 3974, 3992, 4042, 4043,
1116 4010, 4018, 7603, 7606, 4009, 4025, 7609, 7612, 4012, 7615,
1117 4079, 4095, 7623, 7628, 4029, 7632, 7635, 7643,11902,11902,
1118 7651, 7654, 4022, 4031, 4070, 4063, 4073, 4084, 4104, 4085,
1119 4101, 4102, 4090, 7662,11902,11902, 4113, 7670, 7673, 4095,
1120 4126, 4136, 4167, 4131, 4148, 4180, 7681,11902, 4136, 7684,
1121 11902,11902, 4162, 4167, 4174, 4184, 4189, 4194, 4195, 4204,
1122 4211, 4200, 4201, 4210, 7692, 7696, 4225, 4251, 7704,11902,
1123 11902, 7712, 7715, 7723, 7726, 7734, 7737,11902,11902, 4199,
1125 4223, 4240, 4235, 4219, 4242, 4262, 4266, 7745, 4304, 7748,
1126 7753, 7757, 4236, 4223, 4287,11902,11902, 4242, 4244, 4237,
1127 4298,11902,11902, 4256, 7767, 7772, 7776, 7779, 7782, 7786,
1128 4277, 4288, 4284, 4300, 7789, 7795,11902, 4275, 7798,11902,
1129 11902, 7808,11902,11902, 7816, 4266, 4309, 4315, 4353, 4329,
1130 4334, 4331, 4367, 4338, 4331, 7819, 7822,11902,11902, 7830,
1131 4355, 4370,11902, 4363, 4373,11902, 4344, 4383, 4371, 4389,
1132 4378, 4383, 4394, 4397, 4384, 4396, 4412, 4415, 4402, 7837,
1133 7841, 4408, 4419, 4411, 4422, 7849,11902,11902, 7857,11902,
1134 11902, 7865, 4437, 4437,11902, 4444, 4447, 4447,11902, 4449,
1136 7868, 4514, 7871, 7874, 7893, 7936, 7983, 4418, 4421,11902,
1137 4435, 4437, 4445,11902, 4456, 7901, 7904, 7907, 7912, 4508,
1138 4477, 4528, 4500, 7915, 4489, 7927, 7918, 7930, 4508, 4511,
1139 11902, 4545, 4517, 4525,11902, 4555, 4515, 7948, 7956, 7974,
1140 7966, 4576, 4579, 4584, 4586, 4536, 4592, 4562, 4595, 4573,
1141 4591, 4615, 4616, 4584, 4601, 4636, 4638, 4612, 8003,11902,
1142 11902, 4649, 4618, 4649, 4624, 7977,11902, 4659, 4638, 4640,
1143 4665, 4649, 4651, 8011, 4674, 8014, 4716, 4686, 8034, 8081,
1144 4926, 4636, 4695, 5241, 4654, 4696,11902, 4715,11902, 4715,
1145 8024,11902, 4653, 8054, 4751, 4803, 8045, 8063, 4700, 4707,
1147 11902, 4723, 4726,11902, 4700, 8101,11902,11902, 8109, 4813,
1148 4821,11902,11902,11902,11902, 4703,11902, 4749,11902, 4751,
1149 4760,11902,11902, 4758, 4783,11902,11902, 4761,11902, 4794,
1150 11902, 4793,11902, 4804, 4811,11902, 4812, 4814, 8071,11902,
1151 4831, 4870, 4806, 4818, 4823, 4847, 8074,11902, 4795, 4828,
1152 4819, 4889,11902,11902, 4827, 4847, 4846, 4916,11902,11902,
1153 11902, 8117, 4924, 4886, 4953, 4889, 8120,11902,11902, 4890,
1154 4905, 4906, 4928, 8128, 4992, 4934, 5003, 4943, 8131, 4951,
1155 4955, 4981, 4971, 4984, 4974,11902,11902,11902,11902,11902,
1156 11902, 8135, 4996, 4983, 4996, 8138, 4962, 4945, 4961,11902,
1158 4979, 4986, 4977, 4986,11902, 5006, 8141, 8150, 5021, 5029,
1159 5053, 5037, 5045, 5075, 5053, 5094, 5056, 5094, 8159, 8162,
1160 5064, 5073, 5086, 5070, 5079, 5091, 8170, 8173, 5078, 5080,
1161 5115, 5107, 5123, 5112, 8181, 5115, 5085, 5102, 5074, 5100,
1162 5098, 5135, 5112, 5132, 8184, 5164, 5216, 5153, 5160, 5163,
1163 5167, 5181, 5180, 5218,11902, 5216,11902, 8193,11902,11902,
1164 5212, 5219, 5215, 5219, 5228, 5231, 8201,11902,11902, 5265,
1165 5263,11902, 5240,11902, 5245, 5272,11902, 5222, 5224, 5227,
1166 5240, 5234, 5237, 5244, 5257, 5292, 5287, 5300, 5298, 5298,
1167 5308, 5309, 5308, 5314, 5316,11902,11902, 5319, 5326, 5326,
1169 5332, 5343, 5343,11902,11902, 5365, 5364, 5354, 5326, 5337,
1170 5385, 5342, 5334, 5345, 5398, 5356, 5370, 5396, 5383, 5404,
1171 5396, 5394, 5411, 5407, 5405, 5422, 5424, 5421, 5443, 5432,
1172 5436, 5459,11902,11902, 5483, 5431, 5434,11902, 5488, 5441,
1173 5444,11902, 5492, 5485, 5487, 5489, 5490, 5503, 5494, 5526,
1174 5508, 5498, 5534, 5521, 5514, 5547, 5530, 5520, 5550, 5558,
1175 5502, 5563,11902, 5510, 5571,11902, 5551, 5557, 5556, 5562,
1176 5583, 5564,11902, 5590, 5567,11902, 5596, 5578,11902, 5603,
1177 5584,11902, 5642, 5545,11902, 5557,11902, 5594, 5611, 5600,
1178 5633,11902, 5638,11902, 5644,11902, 5645,11902, 5652, 8209,
1180 5673, 5679, 5664, 5685, 5680, 5698, 5670, 5672, 5673, 5675,
1181 8212,11902,11902, 5721,11902, 5720,11902, 5724, 5733, 5737,
1182 5736, 5729, 5743,11902,11902,11902,11902,11902,11902, 5728,
1183 5737, 5744, 5754, 5766, 5784, 5735, 5894, 5734, 5893, 5923,
1184 5924, 5790, 5887, 5793, 5811, 5860, 5937, 5818, 5963, 5804,
1185 5918, 5942, 5976, 5913, 6005, 6030, 6045, 6007, 6008, 5902,
1186 5966, 5967, 5997, 6014, 6157, 6011, 6061, 6159, 6168, 6220,
1187 6236, 6167, 6209, 6183, 6186, 6185, 6262, 6252, 6259, 6054,
1188 6160, 6270, 6278, 6069, 6275, 6318, 6322, 6294, 6321, 6190,
1189 6230, 6346, 6348, 6247, 6336, 6369, 6405, 6371, 6422, 6386,
1191 6435, 6413, 6425, 6434, 6473, 6470, 6515, 6509, 6619, 6447,
1192 6487, 6475, 6627, 6485, 6621, 6640, 6711, 6629, 6651, 6372,
1193 6659, 6712, 6717, 6694, 6718, 6735, 6741, 6456, 5816, 8220,
1194 8223,11902,11902, 8243, 8252, 8261, 8270, 8279, 8288, 8297,
1195 8306, 8315, 8324, 8333, 8342, 8351, 8360, 8369, 8378, 8387,
1196 8396, 8405, 8414, 8423, 8432, 8441, 8450, 8459, 8468, 8477,
1197 8486, 8495, 8504, 8513, 8522, 8531, 8540, 8549, 8558, 8567,
1198 8576, 8585, 8594, 8603, 8612, 8621, 8630, 8639, 8648, 8657,
1199 8666, 8675, 8684, 8693, 8702, 8711, 8720, 8729, 8738, 8747,
1200 8756, 8765, 8774, 8781, 8788, 8795, 8802, 8809, 8816, 8823,
1202 8830, 8837, 8844, 8851, 8858, 8865, 8872, 8879, 8886, 8893,
1203 8900, 8907, 8914, 8921, 8928, 8935, 8942, 8949, 8956, 8963,
1204 8972, 8979, 8984, 8991, 8996, 9003, 9008, 9015, 9020, 9027,
1205 9032, 9039, 9044, 9051, 9056, 9063, 9068, 9075, 9080, 9087,
1206 9092, 9099, 9104, 9111, 9116, 9123, 9128, 9135, 9140, 9147,
1207 9152, 9159, 9164, 9171, 9176, 9183, 9188, 9195, 9200, 9207,
1208 9212, 9219, 9224, 9231, 9236, 9243, 9248, 9255, 9260, 9267,
1209 9272, 9279, 9284, 9291, 9296, 9305, 9311, 9318, 9326, 9334,
1210 9342, 9349, 9357, 9364, 9372, 9380, 9388, 9396, 9404, 9412,
1211 9420, 9427, 9435, 9443, 9450, 9458, 9465, 9473, 9480, 9488,
1213 9495, 9503, 9510, 9518, 9525, 9533, 9540, 9548, 9555, 9563,
1214 9570, 9578, 9585, 9593, 9600, 9608, 9615, 9623, 9631, 9639,
1215 9646, 9654, 9661, 9669, 9676, 9684, 9691, 9699, 9706, 9714,
1216 9723, 9729, 9736, 9744, 9751, 9759, 9766, 9774, 9781, 9789,
1217 9796, 9804, 9812, 9819, 9827, 9834, 9842, 9850, 9857, 9865,
1218 9873, 9881, 9889, 9897, 9904, 9912, 9919, 9927, 9934, 9942,
1219 9950, 9958, 9965, 9973, 9980, 9988, 9995,10003,10010,10018,
1220 10025,10033,10040,10048,10055,10063,10070,10078,10085,10093,
1221 10101,10109,10116,10124,10133,10142,10149,10156,10164,10172,
1222 10180,10187,10195,10202,10210,10218,10225,10233,10241,10249,
1224 10257,10264,10272,10280,10288,10295,10303,10310,10318,10326,
1225 10334,10341,10349,10356,10364,10371,10379,10386,10394,10402,
1226 10410,10417,10425,10432,10440,10447,10455,10462,10470,10477,
1227 10485,10492,10500,10507,10515,10524,10533,10540,10548,10556,
1228 10564,10571,10579,10587,10595,10603,10611,10619,10627,10635,
1229 10643,10650,10658,10666,10674,10681,10689,10696,10704,10712,
1230 10719,10727,10734,10742,10749,10757,10764,10772,10780,10787,
1231 10795,10802,10810,10817,10825,10833,10841,10848,10856,10863,
1232 10871,10878,10886,10895,10904,10912,10919,10927,10935,10942,
1233 10950,10958,10966,10974,10982,10989,10997,11005,11012,11020,
1235 11028,11035,11042,11050,11058,11065,11073,11080,11088,11096,
1236 11103,11111,11118,11126,11133,11141,11148,11156,11164,11172,
1237 11180,11188,11195,11203,11211,11219,11228,11237,11244,11252,
1238 11260,11267,11275,11283,11291,11299,11306,11314,11322,11329,
1239 11337,11345,11352,11359,11367,11375,11382,11389,11397,11405,
1240 11413,11420,11428,11435,11442,11450,11457,11465,11472,11480,
1241 11487,11495,11504,11513,11520,11528,11536,11544,11552,11560,
1242 11568,11576,11583,11591,11598,11606,11614,11622,11630,11638,
1243 11646,11654,11661,11669,11677,11685,11693,11700,11707,11714,
1244 11722,11729,11737,11744,11752,11761,11770,11777,11785,11793,
1246 11801,11809,11816,11823,11831,11838,11847,11856,11865,11874,
1250 static yyconst flex_int16_t yy_def[3813] =
1252 3334, 3334, 3335, 3335, 3335, 3335, 3336, 3336, 3337, 3337,
1253 3338, 3338, 3339, 3339, 3339, 3339, 3340, 3340, 3341, 3341,
1254 3342, 3342, 3342, 3342, 3334, 3334, 3342, 3342, 3342, 3342,
1255 3334, 3334, 3342, 3342, 3334, 3334, 3342, 3342, 3342, 3342,
1256 3343, 3343, 3344, 3344, 3334, 3334, 3344, 3344, 3344, 3344,
1257 3345, 3345, 3346, 3346, 3347, 3347, 3348, 3348, 3349, 3349,
1258 3350, 3350, 3334, 3334, 3350, 3350, 3350, 3350, 3351, 3351,
1259 3352, 3352, 3334, 3334, 3352, 3352, 3352, 3352, 3353, 3353,
1260 3354, 3354, 3333, 83, 3355, 3355, 3334, 3334, 3355, 3355,
1261 3355, 3355, 3356, 3356, 3357, 3357, 3334, 3334, 3357, 3357,
1263 3357, 3357, 3358, 3358, 3359, 3359, 3334, 3334, 3359, 3359,
1264 3359, 3359, 3360, 3360, 3361, 3361, 3362, 3362, 3363, 3363,
1265 3334, 3334, 3363, 3363, 3363, 3363, 3364, 3364, 3365, 3365,
1266 3334, 3334, 3365, 3365, 3365, 3365, 3366, 3366, 3367, 3367,
1267 3368, 3368, 3369, 3369, 3370, 3370, 3371, 3371, 3372, 3372,
1268 3373, 3373, 3334, 3334, 3374, 3374, 3375, 3375, 3375, 3375,
1269 3334, 3334, 3375, 3375, 3375, 3375, 3334, 3334, 3375, 3375,
1270 3334, 3334, 3375, 3375, 3375, 3375, 3376, 3376, 3377, 3377,
1271 3334, 3334, 3377, 3377, 3377, 3377, 3378, 3378, 3379, 3379,
1272 3380, 3380, 3381, 3381, 3382, 3382, 3383, 3383, 3334, 3334,
1274 3383, 3383, 3383, 3383, 3384, 3384, 3385, 3385, 3386, 3386,
1275 3387, 3387, 3334, 3334, 3387, 3387, 3387, 3387, 3388, 3388,
1276 3389, 3389, 3334, 3334, 3389, 3389, 3389, 3389, 3390, 3390,
1277 3391, 3391, 3392, 3392, 3393, 3393, 3334, 3334, 3333, 3333,
1278 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1279 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1280 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3394, 3333,
1281 3333, 3394, 3394, 3333, 3333, 3333, 276, 3333, 278, 276,
1282 279, 278, 3333, 3333, 3333, 3395, 3333, 3333, 3395, 3395,
1283 3395, 3333, 3333, 278, 294, 294, 3333, 3333, 3333, 3396,
1285 3333, 3333, 3396, 3333, 3333, 3333, 3333, 3333, 3333, 3397,
1286 3333, 3333, 3397, 3397, 3397, 3333, 3333, 3333, 3333, 3333,
1287 3333, 3398, 3333, 3333, 3398, 3398, 3398, 3333, 3333, 294,
1288 294, 3333, 3333, 3333, 3399, 3333, 3333, 3399, 3399, 3333,
1289 3333, 294, 294, 3333, 3333, 3333, 3400, 3333, 3333, 3400,
1290 3400, 3400, 3400, 3400, 3400, 3333, 3333, 3333, 3333, 3333,
1291 3333, 3401, 3333, 3333, 3401, 3401, 3401, 3401, 3401, 3401,
1292 3401, 3401, 3333, 3333, 278, 278, 3333, 3333, 3333, 3402,
1293 3333, 3333, 3402, 3333, 3333, 278, 278, 3333, 3333, 3333,
1294 3403, 3333, 3333, 3403, 3403, 3403, 3403, 3403, 3333, 3333,
1296 278, 278, 278, 3333, 3333, 3333, 3404, 3333, 3333, 3404,
1297 3404, 3404, 3333, 3333, 3333, 3333, 3333, 3333, 3405, 3333,
1298 3333, 3405, 3333, 3333, 278, 425, 278, 3333, 3333, 3333,
1299 3406, 3333, 3333, 3406, 3406, 3406, 3406, 3333, 3333, 278,
1300 278, 3333, 3333, 3333, 3407, 3333, 3333, 3407, 3407, 3333,
1301 3333, 3333, 3333, 3333, 3333, 3408, 3333, 3333, 3408, 3408,
1302 3333, 3333, 3333, 3333, 3333, 3333, 3409, 3333, 3333, 3409,
1303 3409, 3333, 3333, 3333, 3333, 3333, 3333, 3410, 3333, 3333,
1304 3410, 3410, 3410, 3410, 3410, 3410, 3333, 3333, 3333, 3333,
1305 3333, 3333, 3333, 3411, 3333, 3333, 3411, 3333, 3333, 425,
1307 425, 278, 278, 278, 278, 3333, 3333, 3333, 3412, 3333,
1308 3333, 3412, 3412, 3412, 3412, 3412, 3333, 3333, 278, 278,
1309 278, 3333, 3333, 3333, 3413, 3333, 3333, 3413, 3413, 3333,
1310 3333, 3333, 3333, 3333, 3333, 3414, 3333, 3333, 3414, 3414,
1311 3414, 3414, 3414, 3333, 3333, 3333, 3333, 3333, 3333, 3415,
1312 3333, 3333, 3415, 3415, 3333, 3333, 294, 294, 3333, 3333,
1313 3333, 3416, 3333, 3333, 3416, 3416, 3333, 3333, 3333, 3333,
1314 3333, 3333, 3417, 3333, 3333, 3417, 3417, 3417, 3417, 3333,
1315 3333, 278, 278, 3333, 3333, 3333, 3418, 3333, 3333, 3418,
1316 3418, 3418, 3418, 3333, 3333, 278, 278, 278, 3333, 3333,
1318 3333, 3419, 3333, 3333, 3419, 3419, 3419, 3333, 3333, 3333,
1319 3333, 3333, 3420, 3333, 3333, 3420, 3420, 3420, 3333, 3333,
1320 3333, 3333, 3421, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1321 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3422, 3422, 3422,
1322 3423, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1323 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1324 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1325 3333, 3424, 3424, 3424, 3424, 3424, 3425, 3333, 3333, 3426,
1326 3426, 3427, 3333, 3428, 3428, 3428, 3428, 3429, 3333, 3430,
1327 3430, 3430, 3430, 3431, 3333, 3432, 3432, 3432, 3433, 3333,
1329 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3434, 3435, 3333,
1330 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436, 3436,
1331 3436, 3436, 3436, 3436, 3436, 3437, 3333, 3438, 3438, 3439,
1332 3333, 3440, 3440, 3440, 3440, 3440, 3440, 3440, 3441, 3333,
1333 3333, 3442, 3442, 3442, 3442, 3443, 3333, 3444, 3444, 3445,
1334 3333, 3333, 3446, 3446, 3446, 3446, 3446, 3446, 3447, 3333,
1335 3448, 3448, 3448, 3449, 3333, 3450, 3450, 3450, 3451, 3333,
1336 3452, 3452, 3452, 3453, 3333, 3454, 3454, 3454, 3454, 3454,
1337 3454, 3454, 3454, 3455, 3333, 3333, 3456, 3456, 3457, 3333,
1338 3333, 3333, 3333, 3333, 3333, 3458, 3458, 3458, 3458, 3458,
1340 3458, 3459, 3333, 3333, 3460, 3460, 3460, 3461, 3333, 3462,
1341 3462, 3462, 3462, 3462, 3462, 3462, 3462, 3462, 3463, 3333,
1342 3464, 3464, 3464, 3464, 3465, 3333, 3466, 3466, 3466, 3467,
1343 3333, 3468, 3468, 3468, 3468, 3468, 3469, 3333, 3470, 3470,
1344 3470, 3470, 3470, 3471, 3333, 3333, 3472, 3472, 3472, 3472,
1345 3333, 3473, 3333, 3333, 3474, 3474, 3474, 3474, 3475, 3476,
1346 3333, 3476, 3333, 3333, 3333, 3477, 3333, 3333, 3333, 3333,
1347 3333, 3333, 3333, 3333, 3478, 3479, 3479, 3333, 3333, 3333,
1348 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1349 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1351 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1352 3333, 3480, 3480, 3480, 3480, 3481, 3481, 3333, 3482, 3483,
1353 3483, 3484, 3333, 3333, 3484, 3485, 3485, 3486, 3486, 3486,
1354 3487, 3487, 3488, 3488, 3489, 3489, 3333, 3333, 3333, 3333,
1355 3490, 3490, 3490, 3490, 3490, 3491, 3491, 3492, 3333, 3333,
1356 3492, 3333, 3333, 3492, 3492, 3492, 3492, 3492, 3492, 3492,
1357 3492, 3492, 3492, 3493, 3493, 3333, 3333, 3494, 3494, 3495,
1358 3495, 3495, 3333, 3333, 3495, 3495, 3495, 3496, 3496, 3333,
1359 3497, 3333, 3333, 3333, 3333, 3498, 3498, 3499, 3500, 3500,
1360 3333, 3501, 3333, 3333, 3501, 3501, 3501, 3502, 3502, 3503,
1362 3333, 3333, 3504, 3504, 3333, 3333, 3505, 3506, 3506, 3507,
1363 3507, 3508, 3508, 3509, 3509, 3509, 3333, 3333, 3509, 3509,
1364 3509, 3510, 3510, 3333, 3511, 3512, 3512, 3333, 3333, 3333,
1365 3513, 3513, 3513, 3513, 3513, 3514, 3514, 3333, 3333, 3333,
1366 3515, 3516, 3516, 3517, 3333, 3333, 3517, 3517, 3517, 3517,
1367 3517, 3517, 3518, 3518, 3519, 3519, 3519, 3520, 3520, 3521,
1368 3333, 3333, 3522, 3522, 3523, 3523, 3333, 3333, 3523, 3524,
1369 3524, 3525, 3333, 3333, 3525, 3525, 3526, 3526, 3333, 3527,
1370 3333, 3333, 3527, 3333, 3528, 3528, 3333, 3529, 3529, 3529,
1371 3530, 3530, 3531, 3333, 3333, 3531, 3333, 3333, 3532, 3333,
1373 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3533, 3333, 3534,
1374 3333, 3534, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1375 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1376 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1377 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1378 3535, 3535, 3333, 3333, 3535, 3333, 3536, 3333, 3536, 3333,
1379 3537, 3333, 3538, 3333, 3538, 3539, 3333, 3333, 3333, 3539,
1380 3333, 3540, 3333, 3540, 3333, 3333, 3541, 3541, 3333, 3333,
1381 3333, 3542, 3333, 3542, 3333, 3333, 3333, 3333, 3333, 3543,
1382 3333, 3543, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1384 3544, 3544, 3544, 3544, 3333, 3545, 3333, 3545, 3546, 3546,
1385 3546, 3333, 3333, 3333, 3546, 3333, 3333, 3333, 3333, 3333,
1386 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3546, 3333,
1387 3547, 3333, 3547, 3333, 3333, 3333, 3333, 3548, 3333, 3548,
1388 3549, 3549, 3549, 3333, 3333, 3333, 3549, 3549, 3549, 3333,
1389 3550, 3333, 3550, 3333, 3551, 3333, 3333, 3333, 3333, 3333,
1390 3333, 3333, 3552, 3333, 3552, 3553, 3333, 3554, 3333, 3554,
1391 3555, 3333, 3333, 3333, 3555, 3555, 3555, 3333, 3556, 3333,
1392 3556, 3557, 3333, 3333, 3333, 3333, 3558, 3333, 3558, 3333,
1393 3333, 3333, 3559, 3333, 3560, 3333, 3560, 3561, 3561, 3333,
1395 3562, 3333, 3562, 3563, 3563, 3563, 3563, 3333, 3333, 3333,
1396 3333, 3333, 3563, 3563, 3333, 3564, 3333, 3564, 3333, 3565,
1397 3333, 3566, 3333, 3566, 3333, 3333, 3333, 3567, 3567, 3567,
1398 3567, 3567, 3333, 3568, 3333, 3568, 3333, 3333, 3333, 3333,
1399 3569, 3333, 3570, 3333, 3570, 3571, 3333, 3333, 3333, 3333,
1400 3333, 3571, 3333, 3333, 3571, 3571, 3571, 3333, 3572, 3333,
1401 3572, 3333, 3333, 3333, 3333, 3573, 3333, 3574, 3333, 3574,
1402 3575, 3333, 3333, 3333, 3333, 3576, 3333, 3576, 3577, 3577,
1403 3333, 3333, 3333, 3577, 3333, 3578, 3333, 3578, 3579, 3333,
1404 3333, 3333, 3579, 3579, 3333, 3580, 3333, 3580, 3333, 3581,
1406 3333, 3333, 3333, 3581, 3333, 3333, 3582, 3333, 3582, 3583,
1407 3583, 3583, 3333, 3584, 3333, 3584, 3585, 3586, 3333, 3333,
1408 3333, 3333, 3587, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1409 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1410 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1411 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1412 3333, 3333, 3333, 3588, 3588, 3333, 3333, 3333, 3588, 3589,
1413 3333, 3590, 3591, 3592, 3592, 3593, 3333, 3333, 3333, 3594,
1414 3594, 3333, 3333, 3333, 3595, 3333, 3333, 3333, 3333, 3333,
1415 3333, 3596, 3333, 3333, 3333, 3597, 3597, 3597, 3597, 3598,
1417 3599, 3599, 3599, 3333, 3333, 3333, 3333, 3333, 3599, 3599,
1418 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3599, 3600, 3601,
1419 3602, 3602, 3333, 3333, 3602, 3602, 3602, 3603, 3333, 3333,
1420 3333, 3604, 3333, 3333, 3605, 3606, 3606, 3606, 3606, 3607,
1421 3608, 3609, 3610, 3611, 3333, 3333, 3612, 3613, 3614, 3614,
1422 3614, 3614, 3333, 3333, 3333, 3614, 3614, 3615, 3333, 3616,
1423 3617, 3333, 3333, 3333, 3618, 3333, 3333, 3618, 3618, 3618,
1424 3619, 3333, 3620, 3621, 3622, 3333, 3333, 3333, 3333, 3333,
1425 3333, 3333, 3333, 3622, 3333, 3333, 3622, 3623, 3333, 3333,
1426 3333, 3333, 3333, 3333, 3624, 3625, 3626, 3627, 3628, 3628,
1428 3628, 3629, 3630, 3630, 3333, 3333, 3631, 3333, 3333, 3333,
1429 3632, 3333, 3633, 3634, 3333, 3333, 3634, 3635, 3636, 3637,
1430 3637, 3333, 3637, 3333, 3333, 3638, 3333, 3333, 3333, 3333,
1431 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1432 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1433 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1434 3333, 3333, 3333, 3333, 3639, 3639, 3639, 3640, 3333, 3333,
1435 3333, 3641, 3642, 3642, 3643, 3644, 3644, 3645, 3646, 3647,
1436 3647, 3333, 3333, 3647, 3648, 3333, 3333, 3649, 3649, 3333,
1437 3333, 3333, 3649, 3649, 3649, 3649, 3649, 3649, 3333, 3333,
1439 3649, 3649, 3649, 3650, 3651, 3652, 3652, 3333, 3333, 3333,
1440 3652, 3333, 3333, 3652, 3653, 3333, 3333, 3333, 3333, 3654,
1441 3333, 3333, 3333, 3655, 3656, 3656, 3656, 3656, 3657, 3658,
1442 3659, 3333, 3333, 3660, 3333, 3333, 3333, 3661, 3662, 3663,
1443 3333, 3333, 3663, 3663, 3333, 3333, 3663, 3664, 3333, 3665,
1444 3666, 3333, 3333, 3333, 3667, 3333, 3333, 3333, 3667, 3667,
1445 3667, 3668, 3333, 3333, 3333, 3669, 3670, 3333, 3333, 3333,
1446 3670, 3333, 3333, 3333, 3670, 3671, 3672, 3673, 3674, 3675,
1447 3676, 3676, 3676, 3677, 3678, 3333, 3333, 3333, 3333, 3333,
1448 3679, 3333, 3333, 3333, 3333, 3680, 3333, 3681, 3682, 3333,
1450 3333, 3333, 3333, 3333, 3683, 3684, 3685, 3685, 3333, 3686,
1451 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1452 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1453 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1454 3333, 3333, 3333, 3333, 3333, 3333, 3687, 3688, 3333, 3333,
1455 3333, 3333, 3689, 3690, 3690, 3691, 3333, 3333, 3333, 3333,
1456 3692, 3693, 3333, 3333, 3694, 3333, 3333, 3333, 3333, 3333,
1457 3695, 3333, 3333, 3333, 3333, 3333, 3696, 3696, 3696, 3333,
1458 3333, 3696, 3696, 3696, 3333, 3333, 3333, 3333, 3333, 3696,
1459 3696, 3697, 3698, 3699, 3699, 3333, 3333, 3333, 3333, 3333,
1461 3699, 3333, 3333, 3333, 3700, 3701, 3702, 3702, 3702, 3702,
1462 3333, 3333, 3703, 3704, 3333, 3333, 3333, 3705, 3706, 3707,
1463 3708, 3333, 3333, 3333, 3333, 3333, 3708, 3333, 3333, 3333,
1464 3708, 3333, 3333, 3333, 3709, 3710, 3333, 3333, 3333, 3711,
1465 3711, 3711, 3711, 3712, 3333, 3333, 3333, 3333, 3333, 3333,
1466 3713, 3713, 3713, 3714, 3715, 3716, 3717, 3718, 3333, 3333,
1467 3719, 3333, 3333, 3720, 3721, 3333, 3333, 3333, 3722, 3333,
1468 3723, 3333, 3724, 3725, 3333, 3333, 3333, 3333, 3333, 3333,
1469 3333, 3333, 3333, 3333, 3333, 3726, 3727, 3728, 3728, 3333,
1470 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1472 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1473 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1474 3333, 3333, 3333, 3333, 3333, 3333, 3729, 3730, 3333, 3731,
1475 3732, 3333, 3333, 3733, 3333, 3333, 3333, 3333, 3333, 3333,
1476 3734, 3735, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1477 3736, 3333, 3333, 3333, 3737, 3737, 3737, 3333, 3333, 3333,
1478 3333, 3333, 3737, 3737, 3333, 3333, 3333, 3737, 3737, 3738,
1479 3739, 3740, 3740, 3333, 3333, 3333, 3740, 3741, 3742, 3743,
1480 3333, 3333, 3743, 3743, 3743, 3744, 3745, 3746, 3747, 3333,
1481 3333, 3748, 3333, 3333, 3333, 3748, 3748, 3333, 3333, 3333,
1483 3749, 3333, 3333, 3333, 3750, 3750, 3750, 3750, 3751, 3333,
1484 3752, 3333, 3333, 3752, 3753, 3754, 3333, 3333, 3755, 3756,
1485 3333, 3333, 3333, 3333, 3333, 3757, 3333, 3333, 3333, 3758,
1486 3333, 3333, 3759, 3760, 3333, 3761, 3333, 3333, 3333, 3333,
1487 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1488 3333, 3762, 3763, 3764, 3764, 3333, 3333, 3333, 3333, 3333,
1489 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1490 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1491 3333, 3333, 3333, 3333, 3333, 3765, 3766, 3333, 3767, 3768,
1492 3333, 3333, 3333, 3769, 3770, 3771, 3333, 3333, 3333, 3772,
1494 3773, 3773, 3773, 3333, 3333, 3333, 3773, 3773, 3773, 3333,
1495 3333, 3774, 3333, 3333, 3775, 3775, 3775, 3776, 3777, 3778,
1496 3333, 3333, 3333, 3778, 3778, 3778, 3779, 3780, 3781, 3782,
1497 3783, 3783, 3783, 3333, 3333, 3333, 3333, 3784, 3333, 3333,
1498 3333, 3785, 3785, 3785, 3786, 3333, 3787, 3333, 3333, 3333,
1499 3787, 3333, 3333, 3788, 3789, 3333, 3333, 3333, 3333, 3333,
1500 3790, 3791, 3333, 3333, 3333, 3792, 3793, 3333, 3794, 3333,
1501 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1502 3333, 3333, 3333, 3795, 3796, 3797, 3797, 3333, 3333, 3333,
1503 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1505 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1506 3333, 3333, 3333, 3798, 3333, 3333, 3333, 3799, 3333, 3333,
1507 3800, 3801, 3802, 3333, 3333, 3803, 3803, 3803, 3803, 3333,
1508 3333, 3803, 3803, 3333, 3333, 3333, 3333, 3333, 3804, 3804,
1509 3804, 3805, 3333, 3333, 3333, 3333, 3806, 3806, 3806, 3806,
1510 3333, 3333, 3780, 3781, 3333, 3333, 3783, 3783, 3783, 3333,
1511 3784, 3333, 3333, 3333, 3333, 3333, 3785, 3785, 3333, 3333,
1512 3333, 3333, 3333, 3787, 3788, 3789, 3790, 3333, 3333, 3792,
1513 3793, 3333, 3794, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1514 3333, 3333, 3333, 3795, 3796, 3797, 3797, 3333, 3333, 3333,
1516 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1517 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1518 3798, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3801, 3802,
1519 3803, 3803, 3803, 3803, 3333, 3333, 3333, 3803, 3803, 3333,
1520 3333, 3333, 3333, 3333, 3333, 3804, 3804, 3333, 3333, 3805,
1521 3333, 3333, 3333, 3806, 3806, 3806, 3333, 3333, 3333, 3333,
1522 3333, 3333, 3333, 3781, 3333, 3333, 3333, 3783, 3783, 3333,
1523 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1524 3333, 3333, 3333, 3787, 3788, 3789, 3790, 3792, 3793, 3333,
1525 3794, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1527 3333, 3795, 3796, 3797, 3797, 3333, 3333, 3333, 3333, 3333,
1528 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1529 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3801, 3802,
1530 3803, 3803, 3333, 3333, 3803, 3803, 3803, 3333, 3333, 3333,
1531 3333, 3333, 3333, 3333, 3333, 3804, 3333, 3333, 3333, 3333,
1532 3333, 3333, 3333, 3806, 3806, 3806, 3333, 3333, 3333, 3333,
1533 3333, 3333, 3333, 3333, 3333, 3781, 3783, 3333, 3333, 3333,
1534 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1535 3333, 3333, 3333, 3333, 3787, 3333, 3333, 3333, 3333, 3790,
1536 3792, 3793, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1538 3333, 3333, 3333, 3333, 3333, 3795, 3796, 3797, 3797, 3333,
1539 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1540 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1541 3333, 3333, 3801, 3802, 3803, 3333, 3333, 3333, 3333, 3333,
1542 3333, 3333, 3803, 3803, 3333, 3333, 3333, 3333, 3333, 3333,
1543 3333, 3333, 3804, 3333, 3333, 3333, 3806, 3333, 3333, 3806,
1544 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3783, 3333,
1545 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1546 3333, 3333, 3333, 3333, 3787, 3333, 3333, 3333, 3333, 3333,
1547 3333, 3333, 3333, 3333, 3333, 3793, 3333, 3333, 3333, 3333,
1549 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3795, 3796, 3797,
1550 3797, 3797, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1551 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1552 3333, 3333, 3333, 3333, 3801, 3333, 3333, 3803, 3333, 3333,
1553 3333, 3333, 3333, 3333, 3803, 3803, 3333, 3333, 3333, 3333,
1554 3333, 3333, 3333, 3333, 3804, 3806, 3333, 3333, 3333, 3806,
1555 3333, 3333, 3333, 3333, 3333, 3333, 3783, 3333, 3333, 3333,
1556 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1557 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1558 3333, 3793, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1560 3795, 3796, 3797, 3797, 3797, 3807, 3808, 3333, 3333, 3333,
1561 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1562 3333, 3333, 3333, 3801, 3803, 3333, 3333, 3803, 3333, 3333,
1563 3333, 3333, 3333, 3333, 3333, 3333, 3804, 3333, 3333, 3333,
1564 3333, 3333, 3333, 3333, 3333, 3783, 3333, 3333, 3333, 3333,
1565 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1566 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1567 3333, 3333, 3333, 3795, 3796, 3797, 3809, 3810, 3807, 3808,
1568 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1569 3333, 3333, 3803, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1571 3333, 3333, 3333, 3333, 3804, 3333, 3333, 3333, 3333, 3333,
1572 3333, 3333, 3333, 3333, 3333, 3783, 3333, 3333, 3333, 3333,
1573 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1574 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1575 3796, 3809, 3797, 3811, 3810, 3812, 3797, 3333, 3333, 3333,
1576 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1577 3333, 3803, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1578 3333, 3333, 3333, 3804, 3333, 3333, 3333, 3333, 3783, 3333,
1579 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1580 3333, 3796, 3811, 3333, 3812, 3797, 3333, 3333, 3333, 3333,
1582 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1583 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1584 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1585 3333, 3333, 3333, 3333, 3796, 3333, 3333, 3333, 3333, 3333,
1586 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1587 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1588 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1589 3333, 3333, 3333, 3333, 3333, 3796, 3333, 3333, 3333, 3333,
1590 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1591 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1593 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3796, 3333, 3333,
1594 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1595 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1596 3333, 3333, 3333, 3333, 3796, 3333, 3333, 3333, 3333, 3333,
1597 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1598 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3796,
1599 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1600 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1601 3333, 3333, 3796, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1602 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3796,
1604 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1605 3796, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1606 3333, 3796, 3796, 3333, 3333, 3333, 3333, 3333, 3333, 3796,
1607 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1608 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1609 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1610 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1611 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1612 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1613 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1615 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1616 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1617 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
1618 3796, 3333, 0, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1619 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1620 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1621 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1622 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1623 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1624 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1626 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1627 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1628 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1629 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1630 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1631 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1632 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1633 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1634 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1635 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1637 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1638 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1639 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1640 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1641 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1642 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1643 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1644 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1645 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1646 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1648 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1649 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1650 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1651 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1652 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1653 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1654 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1655 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1656 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1657 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1659 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1660 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1661 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1662 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1663 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1664 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1665 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1666 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1667 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1668 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1670 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
1674 static yyconst flex_uint16_t yy_nxt[11977] =
1676 3333, 242, 243, 242, 242, 243, 242, 242, 243, 242,
1677 242, 243, 242, 247, 243, 247, 253, 244, 250, 253,
1678 244, 250, 694, 245, 3333, 251, 245, 3333, 251, 248,
1679 247, 243, 247, 623, 254, 256, 257, 254, 256, 257,
1680 258, 259, 641, 258, 259, 623, 248, 263, 264, 624,
1681 260, 256, 257, 260, 261, 626, 258, 256, 257, 1305,
1682 261, 625, 258, 263, 264, 1306, 260, 275, 243, 275,
1683 660, 625, 260, 275, 243, 275, 275, 243, 275, 275,
1684 243, 275, 707, 276, 243, 243, 243, 708, 1666, 276,
1685 699, 265, 277, 1667, 667, 277, 622, 622, 622, 1673,
1687 278, 622, 622, 622, 622, 622, 622, 265, 266, 267,
1688 243, 267, 266, 266, 266, 266, 266, 266, 266, 268,
1689 266, 266, 266, 739, 266, 270, 266, 271, 266, 243,
1690 243, 243, 275, 243, 275, 275, 243, 275, 660, 275,
1691 243, 275, 275, 243, 275, 278, 626, 626, 276, 675,
1692 712, 276, 626, 266, 266, 279, 676, 757, 279, 622,
1693 622, 622, 625, 625, 272, 622, 622, 622, 625, 758,
1694 631, 713, 740, 273, 266, 267, 243, 267, 266, 266,
1695 266, 266, 266, 266, 266, 268, 266, 266, 266, 817,
1696 266, 270, 266, 271, 266, 243, 243, 243, 243, 243,
1698 243, 275, 243, 275, 818, 275, 243, 275, 243, 243,
1699 243, 280, 632, 867, 280, 825, 868, 277, 633, 266,
1700 266, 277, 626, 634, 281, 243, 243, 243, 635, 682,
1701 272, 275, 243, 275, 275, 243, 275, 971, 625, 273,
1702 972, 281, 275, 243, 275, 1674, 626, 279, 1676, 626,
1703 279, 275, 243, 275, 622, 622, 622, 726, 282, 622,
1704 622, 622, 625, 660, 677, 625, 1677, 282, 283, 284,
1705 243, 284, 283, 283, 283, 283, 283, 283, 283, 285,
1706 283, 283, 283, 844, 283, 287, 283, 288, 283, 293,
1707 243, 293, 293, 243, 293, 243, 243, 243, 730, 243,
1709 243, 243, 293, 243, 293, 294, 720, 892, 294, 667,
1710 1680, 295, 678, 283, 283, 295, 667, 626, 294, 289,
1711 721, 893, 290, 622, 622, 622, 622, 622, 622, 622,
1712 622, 622, 845, 625, 291, 283, 284, 243, 284, 283,
1713 283, 283, 283, 283, 283, 283, 285, 283, 283, 283,
1714 667, 283, 287, 283, 288, 283, 293, 243, 293, 293,
1715 243, 293, 293, 243, 293, 716, 305, 243, 305, 305,
1716 243, 305, 294, 717, 1681, 296, 880, 626, 296, 718,
1717 283, 283, 306, 737, 688, 306, 289, 738, 739, 290,
1718 622, 622, 622, 625, 622, 622, 622, 622, 622, 622,
1720 881, 291, 297, 298, 243, 298, 297, 297, 297, 297,
1721 297, 297, 297, 299, 297, 297, 297, 861, 297, 301,
1722 297, 302, 297, 317, 243, 317, 317, 243, 317, 329,
1723 243, 329, 862, 329, 243, 329, 243, 243, 243, 318,
1724 667, 1684, 318, 1706, 898, 330, 898, 297, 297, 330,
1725 626, 626, 295, 243, 243, 243, 622, 622, 622, 622,
1726 622, 622, 622, 622, 622, 802, 625, 625, 899, 295,
1727 881, 303, 297, 298, 243, 298, 297, 297, 297, 297,
1728 297, 297, 297, 299, 297, 297, 297, 880, 297, 301,
1729 297, 302, 297, 329, 243, 329, 329, 243, 329, 329,
1731 243, 329, 803, 329, 243, 329, 341, 243, 341, 330,
1732 782, 899, 330, 626, 783, 331, 1707, 297, 297, 331,
1733 709, 861, 342, 341, 243, 341, 622, 622, 622, 625,
1734 622, 622, 622, 622, 622, 622, 622, 622, 622, 342,
1735 1711, 303, 307, 308, 243, 308, 307, 307, 307, 307,
1736 307, 307, 307, 309, 307, 307, 307, 1084, 307, 311,
1737 307, 312, 307, 243, 243, 243, 243, 243, 243, 341,
1738 243, 341, 1714, 341, 243, 341, 341, 243, 341, 295,
1739 626, 626, 295, 823, 626, 342, 722, 307, 307, 342,
1740 824, 313, 343, 1716, 723, 1725, 625, 625, 314, 724,
1742 625, 315, 307, 308, 243, 308, 307, 307, 307, 307,
1743 307, 307, 307, 309, 307, 307, 307, 1726, 307, 311,
1744 307, 312, 307, 341, 243, 341, 357, 243, 357, 357,
1745 243, 357, 892, 374, 243, 374, 374, 243, 374, 343,
1746 626, 626, 358, 626, 626, 358, 906, 307, 307, 375,
1747 746, 313, 375, 622, 622, 622, 625, 625, 314, 625,
1748 625, 315, 319, 320, 243, 320, 319, 319, 319, 319,
1749 319, 319, 319, 321, 319, 319, 319, 1727, 319, 323,
1750 319, 324, 319, 243, 243, 243, 243, 243, 243, 374,
1751 243, 374, 750, 374, 243, 374, 374, 243, 374, 278,
1753 892, 1728, 278, 1730, 1738, 375, 1740, 319, 319, 375,
1754 626, 626, 376, 325, 910, 759, 326, 622, 622, 622,
1755 622, 622, 622, 622, 622, 622, 625, 625, 327, 319,
1756 320, 243, 320, 319, 319, 319, 319, 319, 319, 319,
1757 321, 319, 319, 319, 667, 319, 323, 319, 324, 319,
1758 374, 243, 374, 385, 243, 385, 385, 243, 385, 789,
1759 243, 243, 243, 243, 243, 243, 376, 667, 1440, 386,
1760 1743, 1744, 386, 1747, 319, 319, 278, 626, 626, 278,
1761 325, 1441, 789, 326, 622, 622, 622, 622, 622, 622,
1762 622, 622, 622, 625, 625, 327, 332, 333, 243, 333,
1764 332, 332, 332, 332, 332, 332, 332, 334, 332, 332,
1765 332, 791, 332, 336, 332, 337, 332, 385, 243, 385,
1766 385, 243, 385, 385, 243, 385, 789, 385, 243, 385,
1767 400, 243, 400, 386, 794, 1749, 386, 785, 1750, 387,
1768 1752, 332, 332, 387, 626, 626, 401, 338, 622, 622,
1769 622, 622, 622, 622, 622, 622, 622, 622, 622, 622,
1770 625, 625, 339, 332, 333, 243, 333, 332, 332, 332,
1771 332, 332, 332, 332, 334, 332, 332, 332, 667, 332,
1772 336, 332, 337, 332, 400, 243, 400, 243, 243, 243,
1773 243, 243, 243, 802, 400, 243, 400, 400, 243, 400,
1775 401, 1094, 626, 402, 626, 1417, 402, 1094, 332, 332,
1776 401, 764, 626, 401, 338, 622, 622, 622, 625, 769,
1777 625, 622, 622, 622, 622, 622, 622, 1619, 625, 339,
1778 344, 345, 243, 345, 344, 344, 344, 344, 344, 344,
1779 344, 346, 344, 344, 344, 667, 344, 348, 344, 349,
1780 344, 400, 243, 400, 400, 243, 400, 414, 243, 414,
1781 837, 414, 243, 414, 424, 243, 424, 403, 626, 626,
1782 403, 626, 626, 415, 1753, 344, 344, 415, 774, 350,
1783 425, 622, 622, 622, 625, 625, 351, 625, 625, 352,
1784 622, 622, 622, 353, 1754, 354, 355, 344, 345, 243,
1786 345, 344, 344, 344, 344, 344, 344, 344, 346, 344,
1787 344, 344, 667, 344, 348, 344, 349, 344, 424, 243,
1788 424, 243, 243, 243, 243, 243, 243, 892, 424, 243,
1789 424, 424, 243, 424, 425, 626, 626, 426, 626, 626,
1790 426, 911, 344, 344, 425, 784, 350, 425, 622, 622,
1791 622, 625, 625, 351, 625, 625, 352, 622, 622, 622,
1792 353, 1755, 354, 355, 359, 360, 243, 360, 359, 359,
1793 359, 359, 359, 359, 359, 361, 359, 359, 359, 362,
1794 359, 363, 359, 364, 359, 362, 362, 362, 362, 362,
1795 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
1797 362, 362, 362, 362, 362, 362, 362, 362, 362, 359,
1798 359, 362, 362, 365, 366, 362, 362, 362, 362, 362,
1799 367, 362, 362, 368, 362, 362, 362, 369, 362, 370,
1800 371, 372, 362, 362, 362, 362, 362, 362, 377, 378,
1801 243, 378, 377, 377, 377, 377, 377, 377, 377, 379,
1802 377, 377, 377, 1759, 377, 381, 377, 382, 377, 424,
1803 243, 424, 424, 243, 424, 439, 243, 439, 1760, 439,
1804 243, 439, 243, 243, 243, 427, 626, 1761, 427, 1763,
1805 889, 440, 844, 377, 377, 440, 1767, 890, 278, 622,
1806 622, 622, 625, 891, 383, 377, 378, 243, 378, 377,
1808 377, 377, 377, 377, 377, 377, 379, 377, 377, 377,
1809 1771, 377, 381, 377, 382, 377, 243, 243, 243, 439,
1810 243, 439, 439, 243, 439, 1775, 439, 243, 439, 439,
1811 243, 439, 278, 793, 667, 440, 1777, 889, 440, 813,
1812 377, 377, 441, 814, 890, 441, 667, 815, 792, 3333,
1813 896, 383, 388, 389, 243, 389, 388, 388, 388, 388,
1814 388, 388, 388, 390, 388, 388, 388, 1779, 388, 392,
1815 388, 393, 388, 451, 243, 451, 451, 243, 451, 462,
1816 243, 462, 882, 462, 243, 462, 1781, 669, 1782, 452,
1817 1030, 1094, 452, 883, 1517, 463, 884, 388, 388, 463,
1819 394, 654, 395, 670, 906, 664, 1518, 1096, 396, 622,
1820 622, 622, 622, 622, 622, 397, 789, 1124, 398, 388,
1821 389, 243, 389, 388, 388, 388, 388, 388, 388, 388,
1822 390, 388, 388, 388, 1125, 388, 392, 388, 393, 388,
1823 473, 243, 473, 473, 243, 473, 488, 243, 488, 900,
1824 488, 243, 488, 1783, 1785, 790, 474, 1124, 1792, 474,
1825 901, 1796, 489, 884, 388, 388, 489, 394, 791, 395,
1826 792, 622, 622, 622, 1254, 396, 622, 622, 622, 622,
1827 622, 622, 397, 1797, 1399, 398, 404, 405, 243, 405,
1828 404, 404, 404, 404, 404, 404, 404, 406, 404, 404,
1830 404, 1125, 404, 408, 404, 409, 404, 243, 243, 243,
1831 243, 243, 243, 499, 243, 499, 1799, 499, 243, 499,
1832 499, 243, 499, 490, 1622, 1809, 490, 626, 626, 500,
1833 1810, 404, 404, 500, 808, 819, 501, 410, 622, 622,
1834 622, 1811, 411, 625, 625, 622, 622, 622, 622, 622,
1835 622, 622, 622, 622, 412, 404, 405, 243, 405, 404,
1836 404, 404, 404, 404, 404, 404, 406, 404, 404, 404,
1837 1812, 404, 408, 404, 409, 404, 499, 243, 499, 243,
1838 243, 243, 243, 243, 243, 1813, 499, 243, 499, 499,
1839 243, 499, 501, 1814, 1815, 502, 626, 905, 502, 1816,
1841 404, 404, 500, 830, 890, 500, 410, 622, 622, 622,
1842 891, 411, 625, 622, 622, 622, 622, 622, 622, 622,
1843 622, 622, 1817, 412, 416, 417, 243, 417, 416, 416,
1844 416, 416, 416, 416, 416, 418, 416, 416, 416, 1818,
1845 416, 420, 416, 421, 416, 499, 243, 499, 499, 243,
1846 499, 243, 243, 243, 882, 243, 243, 243, 499, 243,
1847 499, 503, 900, 1819, 503, 883, 1820, 426, 1028, 416,
1848 416, 426, 1821, 901, 501, 1823, 1028, 422, 416, 417,
1849 243, 417, 416, 416, 416, 416, 416, 416, 416, 418,
1850 416, 416, 416, 1824, 416, 420, 416, 421, 416, 499,
1852 243, 499, 243, 243, 243, 243, 243, 243, 1825, 499,
1853 243, 499, 499, 243, 499, 501, 1440, 1563, 504, 1828,
1854 1831, 504, 1094, 416, 416, 503, 1832, 1833, 503, 1446,
1855 1446, 422, 428, 429, 243, 429, 428, 428, 428, 428,
1856 428, 428, 428, 430, 428, 428, 428, 1806, 428, 432,
1857 428, 433, 428, 499, 243, 499, 499, 243, 499, 518,
1858 243, 518, 1834, 518, 243, 518, 243, 243, 243, 505,
1859 1835, 1836, 505, 851, 1837, 519, 1840, 428, 428, 519,
1860 852, 434, 520, 622, 622, 622, 1849, 1854, 435, 625,
1861 1855, 436, 622, 622, 622, 622, 622, 622, 437, 428,
1863 429, 243, 429, 428, 428, 428, 428, 428, 428, 428,
1864 430, 428, 428, 428, 1894, 428, 432, 428, 433, 428,
1865 243, 243, 243, 518, 243, 518, 518, 243, 518, 1895,
1866 518, 243, 518, 518, 243, 518, 520, 1901, 1907, 519,
1867 626, 1908, 519, 1909, 428, 428, 521, 859, 434, 521,
1868 622, 622, 622, 1910, 1913, 435, 625, 1919, 436, 622,
1869 622, 622, 865, 865, 865, 437, 442, 443, 243, 443,
1870 442, 442, 442, 442, 442, 442, 442, 444, 442, 442,
1871 442, 1921, 442, 446, 442, 447, 442, 531, 243, 531,
1872 531, 243, 531, 545, 243, 545, 1927, 545, 243, 545,
1874 556, 243, 556, 532, 1931, 1934, 532, 905, 1935, 546,
1875 1937, 442, 442, 546, 890, 1938, 557, 448, 1939, 1940,
1876 896, 866, 449, 442, 443, 243, 443, 442, 442, 442,
1877 442, 442, 442, 442, 444, 442, 442, 442, 1941, 442,
1878 446, 442, 447, 442, 556, 243, 556, 243, 243, 243,
1879 243, 243, 243, 1942, 556, 243, 556, 556, 243, 556,
1880 557, 1943, 1945, 295, 889, 905, 295, 1951, 442, 442,
1881 557, 890, 890, 557, 448, 1952, 1953, 1029, 1029, 449,
1882 453, 454, 243, 454, 453, 453, 453, 453, 453, 453,
1883 453, 455, 453, 453, 453, 1955, 453, 457, 453, 458,
1885 453, 556, 243, 556, 556, 243, 556, 568, 243, 568,
1886 1957, 568, 243, 568, 581, 243, 581, 558, 1209, 1965,
1887 558, 1970, 1971, 569, 1972, 453, 453, 569, 1210, 1974,
1888 582, 581, 243, 581, 1992, 1211, 459, 865, 865, 865,
1889 1993, 1098, 1113, 1113, 1113, 1994, 1997, 582, 1094, 460,
1890 453, 454, 243, 454, 453, 453, 453, 453, 453, 453,
1891 453, 455, 453, 453, 453, 1987, 453, 457, 453, 458,
1892 453, 243, 243, 243, 243, 243, 243, 581, 243, 581,
1893 1622, 581, 243, 581, 581, 243, 581, 278, 1975, 1995,
1894 278, 1998, 2000, 582, 1976, 453, 453, 582, 1977, 2001,
1896 583, 581, 243, 581, 1978, 1996, 459, 1105, 1105, 1105,
1897 2002, 1106, 2003, 1989, 1107, 2004, 1622, 583, 2005, 460,
1898 464, 465, 243, 465, 464, 464, 464, 464, 464, 464,
1899 464, 466, 464, 464, 464, 2008, 464, 468, 464, 469,
1900 464, 595, 243, 595, 595, 243, 595, 243, 243, 243,
1901 2009, 243, 243, 243, 595, 243, 595, 596, 1988, 2010,
1902 596, 2011, 2014, 597, 2015, 464, 464, 597, 2016, 2012,
1903 596, 1134, 1134, 1134, 1634, 1634, 1634, 2017, 1113, 1113,
1904 1113, 470, 1134, 1134, 1134, 2013, 471, 464, 465, 243,
1905 465, 464, 464, 464, 464, 464, 464, 464, 466, 464,
1907 464, 464, 2019, 464, 468, 464, 469, 464, 595, 243,
1908 595, 595, 243, 595, 595, 243, 595, 1641, 1641, 1641,
1909 1635, 873, 873, 873, 596, 2020, 2027, 598, 2029, 2031,
1910 598, 2055, 464, 464, 256, 257, 256, 257, 874, 258,
1911 750, 258, 1114, 1134, 1134, 1134, 1135, 2056, 470, 608,
1912 751, 608, 2057, 471, 475, 476, 243, 476, 475, 475,
1913 475, 475, 475, 475, 475, 477, 475, 475, 475, 2063,
1914 475, 479, 475, 480, 475, 620, 243, 620, 609, 645,
1915 609, 620, 243, 620, 2064, 647, 2068, 2069, 923, 923,
1916 923, 621, 654, 1109, 1109, 1109, 653, 621, 641, 475,
1918 475, 2072, 481, 482, 483, 924, 2073, 1114, 665, 2077,
1919 484, 1111, 2080, 485, 1113, 1113, 1113, 1644, 1644, 1644,
1920 486, 475, 476, 243, 476, 475, 475, 475, 475, 475,
1921 475, 475, 477, 475, 475, 475, 666, 475, 479, 475,
1922 480, 475, 937, 937, 937, 939, 939, 939, 2084, 2085,
1923 667, 2086, 668, 2089, 653, 949, 949, 949, 2092, 938,
1924 2096, 2097, 940, 1156, 1156, 1156, 475, 475, 2098, 481,
1925 482, 483, 950, 1649, 1649, 1649, 2103, 484, 1135, 2105,
1926 485, 1158, 1637, 1637, 1637, 2106, 2107, 486, 491, 492,
1927 243, 492, 491, 491, 491, 491, 491, 491, 491, 493,
1929 491, 491, 491, 2108, 491, 495, 491, 496, 491, 952,
1930 952, 952, 966, 966, 966, 973, 973, 973, 982, 982,
1931 982, 984, 984, 984, 2110, 2111, 953, 2114, 1638, 967,
1932 2116, 2119, 974, 491, 491, 983, 2135, 2136, 985, 993,
1933 993, 993, 1167, 1167, 1167, 2137, 1168, 2142, 2143, 1169,
1934 2146, 1655, 1655, 1655, 2147, 2148, 994, 497, 491, 492,
1935 243, 492, 491, 491, 491, 491, 491, 491, 491, 493,
1936 491, 491, 491, 2151, 491, 495, 491, 496, 491, 1001,
1937 1001, 1001, 1005, 1005, 1005, 1017, 1017, 1017, 1039, 1039,
1938 1039, 1045, 1045, 1045, 1094, 2160, 1002, 1656, 2144, 1006,
1940 2153, 2161, 1018, 491, 491, 1040, 2145, 2149, 1046, 1061,
1941 1061, 1061, 1193, 1193, 1193, 2150, 1194, 2162, 1622, 1195,
1942 2163, 1658, 1658, 1658, 2166, 2168, 1062, 497, 506, 507,
1943 243, 507, 506, 506, 506, 506, 506, 506, 506, 508,
1944 506, 506, 506, 2169, 506, 510, 506, 511, 506, 1067,
1945 1067, 1067, 1073, 1073, 1073, 1081, 1081, 1081, 873, 873,
1946 873, 1149, 1149, 1149, 2155, 2170, 1068, 1638, 2174, 1074,
1947 2176, 2177, 1082, 506, 506, 874, 2178, 2181, 1150, 1622,
1948 2185, 512, 2186, 513, 2188, 2190, 514, 1659, 1659, 1659,
1949 515, 1634, 1634, 1634, 516, 506, 507, 243, 507, 506,
1951 506, 506, 506, 506, 506, 506, 508, 506, 506, 506,
1952 2154, 506, 510, 506, 511, 506, 2201, 1109, 1109, 1109,
1953 1153, 1153, 1153, 2202, 1162, 1162, 1162, 3333, 3333, 3333,
1954 3333, 3333, 3333, 1979, 2203, 1111, 2207, 1154, 2208, 1980,
1955 506, 506, 1164, 1981, 3333, 2209, 2215, 3333, 512, 1982,
1956 513, 2216, 2217, 514, 1112, 2220, 2224, 515, 1637, 1637,
1957 1637, 516, 522, 523, 243, 523, 522, 522, 522, 522,
1958 522, 522, 522, 524, 522, 522, 522, 1151, 522, 526,
1959 522, 527, 522, 1156, 1156, 1156, 923, 923, 923, 1155,
1960 2225, 2226, 1152, 1162, 1162, 1162, 1171, 1171, 1171, 2227,
1962 2230, 1158, 2231, 924, 1175, 1175, 1175, 522, 522, 2232,
1963 2233, 1164, 2234, 2246, 1173, 1196, 1196, 1196, 528, 1197,
1964 1159, 1176, 1198, 1212, 1212, 1212, 2247, 1213, 2251, 2254,
1965 1214, 529, 522, 523, 243, 523, 522, 522, 522, 522,
1966 522, 522, 522, 524, 522, 522, 522, 2255, 522, 526,
1967 522, 527, 522, 1171, 1171, 1171, 2261, 1165, 1179, 1179,
1968 1179, 1181, 1181, 1181, 1181, 1181, 1181, 3333, 3333, 3333,
1969 2266, 1173, 1185, 1185, 1185, 1180, 2268, 522, 522, 1183,
1970 2269, 2270, 1183, 2274, 3333, 1822, 1822, 1822, 528, 1186,
1971 1216, 1216, 1216, 2275, 1217, 2276, 2277, 1218, 2278, 2279,
1973 1174, 529, 533, 534, 243, 534, 533, 533, 533, 533,
1974 533, 533, 533, 535, 533, 533, 533, 1177, 533, 537,
1975 533, 538, 533, 1187, 1187, 1187, 1189, 1189, 1189, 937,
1976 937, 937, 1178, 2280, 2281, 1184, 1189, 1189, 1189, 2282,
1977 1188, 1205, 1205, 1205, 1191, 2283, 938, 533, 533, 939,
1978 939, 939, 2300, 2301, 1191, 1622, 539, 2302, 540, 1207,
1979 2304, 2306, 541, 1641, 1641, 1641, 940, 542, 543, 533,
1980 534, 243, 534, 533, 533, 533, 533, 533, 533, 533,
1981 535, 533, 533, 533, 2307, 533, 537, 533, 538, 533,
1982 2309, 1199, 1199, 1199, 2310, 949, 949, 949, 2286, 3333,
1984 3333, 3333, 3333, 3333, 3333, 2311, 2312, 1192, 1200, 3333,
1985 3333, 3333, 950, 2313, 533, 533, 3333, 2314, 2326, 3333,
1986 1234, 1234, 1234, 539, 1235, 540, 3333, 1236, 1622, 541,
1987 1658, 1658, 1658, 2327, 542, 543, 547, 548, 243, 548,
1988 547, 547, 547, 547, 547, 547, 547, 549, 547, 547,
1989 547, 1201, 547, 551, 547, 552, 547, 1202, 2332, 2333,
1990 1203, 2339, 2340, 952, 952, 952, 3333, 3333, 3333, 1219,
1991 1219, 1219, 1230, 1230, 1230, 2287, 1669, 1205, 1205, 1205,
1992 953, 547, 547, 3333, 2341, 2357, 1220, 553, 2328, 2358,
1993 1232, 2359, 1244, 1244, 1244, 1207, 1245, 2375, 2329, 1246,
1995 2376, 2377, 554, 547, 548, 243, 548, 547, 547, 547,
1996 547, 547, 547, 547, 549, 547, 547, 547, 1204, 547,
1997 551, 547, 552, 547, 1208, 2380, 2382, 1230, 1230, 1230,
1998 966, 966, 966, 1237, 1237, 1237, 2383, 1237, 1237, 1237,
1999 973, 973, 973, 2384, 2385, 1232, 2386, 967, 547, 547,
2000 2387, 1239, 2388, 2389, 553, 1239, 2390, 974, 1256, 1256,
2001 1256, 2391, 1257, 2392, 2393, 1258, 1644, 1644, 1644, 554,
2002 559, 560, 243, 560, 559, 559, 559, 559, 559, 559,
2003 559, 561, 559, 559, 559, 1233, 559, 563, 559, 564,
2004 559, 1250, 1250, 1250, 1250, 1250, 1250, 2398, 1240, 2399,
2006 982, 982, 982, 2402, 984, 984, 984, 2288, 2289, 1252,
2007 2290, 2403, 1252, 2404, 2405, 559, 559, 983, 2291, 2408,
2008 565, 985, 1649, 1649, 1649, 2292, 566, 559, 560, 243,
2009 560, 559, 559, 559, 559, 559, 559, 559, 561, 559,
2010 559, 559, 1622, 559, 563, 559, 564, 559, 1622, 1259,
2011 1259, 1259, 2409, 1260, 2410, 1253, 1261, 1262, 1262, 1262,
2012 1262, 1262, 1262, 1267, 1267, 1267, 2411, 1272, 1272, 1272,
2013 2413, 1273, 559, 559, 1274, 1264, 2414, 565, 1264, 2397,
2014 2396, 1269, 2415, 566, 570, 571, 243, 571, 570, 570,
2015 570, 570, 570, 570, 570, 572, 570, 570, 570, 2416,
2017 570, 574, 570, 575, 570, 2417, 2419, 1267, 1267, 1267,
2018 993, 993, 993, 1278, 1278, 1278, 2420, 2400, 1278, 1278,
2019 1278, 1265, 1001, 1001, 1001, 1269, 2401, 994, 2406, 570,
2020 570, 1280, 576, 2421, 577, 2431, 1280, 2407, 2432, 1002,
2021 578, 1283, 1283, 1283, 2433, 1284, 2434, 2438, 1285, 2439,
2022 2446, 579, 570, 571, 243, 571, 570, 570, 570, 570,
2023 570, 570, 570, 572, 570, 570, 570, 1270, 570, 574,
2024 570, 575, 570, 1281, 1286, 1286, 1286, 1005, 1005, 1005,
2025 2447, 1294, 1294, 1294, 2454, 2455, 1286, 1286, 1286, 1290,
2026 1290, 1290, 1288, 1291, 1006, 2456, 1292, 570, 570, 1296,
2028 576, 2468, 577, 2469, 1288, 1308, 1308, 1308, 578, 1309,
2029 2485, 2486, 1310, 1829, 1829, 1829, 1655, 1655, 1655, 579,
2030 584, 585, 243, 585, 584, 584, 584, 584, 584, 584,
2031 584, 586, 584, 584, 584, 2487, 584, 588, 584, 589,
2032 584, 1289, 1300, 1300, 1300, 1017, 1017, 1017, 2488, 1294,
2033 1294, 1294, 2490, 1300, 1300, 1300, 1311, 1311, 1311, 1830,
2034 1302, 2491, 1018, 2492, 2493, 584, 584, 1296, 2494, 2495,
2035 590, 1302, 2496, 1312, 2497, 2498, 591, 1338, 1338, 1338,
2036 592, 1339, 2499, 2500, 1340, 2501, 593, 584, 585, 243,
2037 585, 584, 584, 584, 584, 584, 584, 584, 586, 584,
2039 584, 584, 2506, 584, 588, 584, 589, 584, 2507, 1094,
2040 1297, 1315, 1315, 1315, 1303, 1658, 1658, 1658, 1315, 1315,
2041 1315, 1321, 1321, 1321, 1321, 1321, 1321, 2508, 2509, 1317,
2042 2510, 2511, 584, 584, 2512, 2513, 1317, 590, 1622, 1323,
2043 2514, 2515, 1323, 591, 1347, 1347, 1347, 592, 1348, 2503,
2044 2516, 1349, 2517, 593, 599, 600, 243, 600, 599, 599,
2045 599, 599, 599, 599, 599, 601, 599, 599, 599, 1318,
2046 599, 603, 599, 604, 599, 1333, 1333, 1333, 1333, 1333,
2047 1333, 2505, 1324, 2518, 1039, 1039, 1039, 1342, 1342, 1342,
2048 1342, 1342, 1342, 1335, 2519, 2521, 1335, 2522, 2523, 599,
2050 599, 1040, 1372, 1372, 1372, 1344, 1373, 605, 1344, 1374,
2051 606, 2524, 1826, 1826, 1826, 2525, 2526, 607, 599, 600,
2052 243, 600, 599, 599, 599, 599, 599, 599, 599, 601,
2053 599, 599, 599, 2531, 599, 603, 599, 604, 599, 1045,
2054 1045, 1045, 1336, 1350, 1350, 1350, 2532, 2535, 1353, 1353,
2055 1353, 1358, 1358, 1358, 1345, 2536, 1046, 1358, 1358, 1358,
2056 1351, 2537, 2538, 599, 599, 1354, 1381, 1381, 1381, 1360,
2057 1382, 605, 2541, 1383, 606, 1360, 1827, 1659, 1659, 1659,
2058 2542, 607, 610, 611, 243, 611, 610, 610, 610, 610,
2059 610, 610, 610, 612, 610, 610, 610, 2545, 610, 614,
2061 610, 615, 610, 2546, 1361, 1362, 1362, 1362, 1364, 1364,
2062 1364, 1622, 3333, 3333, 3333, 1367, 1367, 1367, 1367, 1367,
2063 1367, 2554, 1363, 2555, 2539, 1365, 2556, 610, 610, 3333,
2064 1061, 1061, 1061, 1369, 616, 2540, 1369, 1390, 1390, 1390,
2065 617, 1391, 2567, 2590, 1392, 2591, 2596, 1062, 2504, 618,
2066 610, 611, 243, 611, 610, 610, 610, 610, 610, 610,
2067 610, 612, 610, 610, 610, 2597, 610, 614, 610, 615,
2068 610, 1366, 1375, 1375, 1375, 1375, 1375, 1375, 2543, 1370,
2069 1067, 1067, 1067, 1385, 1385, 1385, 1385, 1385, 1385, 2544,
2070 1377, 2598, 2599, 1377, 2600, 610, 610, 1068, 1073, 1073,
2072 1073, 1387, 616, 2601, 1387, 1395, 1395, 1395, 617, 1395,
2073 1395, 1395, 1081, 1081, 1081, 1074, 2602, 618, 626, 1841,
2074 1841, 1841, 2603, 1397, 2604, 641, 2605, 1397, 1094, 1082,
2075 1406, 1406, 1406, 2610, 625, 642, 1378, 1401, 1401, 1401,
2076 2611, 1402, 2612, 2613, 1403, 1904, 1904, 1904, 1408, 1406,
2077 1406, 1406, 1388, 1413, 1413, 1413, 2560, 2607, 1413, 1413,
2078 1413, 2614, 643, 644, 645, 1842, 2561, 1408, 1622, 646,
2079 647, 1415, 2562, 648, 649, 1398, 1415, 650, 2615, 651,
2080 652, 653, 626, 1105, 1105, 1105, 2616, 1106, 2617, 2618,
2081 1107, 1109, 1109, 1109, 1109, 1109, 1109, 2619, 625, 655,
2083 1424, 1424, 1424, 1149, 1149, 1149, 1153, 1153, 1153, 1111,
2084 2608, 2579, 1111, 1409, 1156, 1156, 1156, 1622, 1425, 2620,
2085 1150, 2580, 1416, 1154, 2581, 2621, 643, 656, 657, 1999,
2086 1999, 1999, 1158, 658, 659, 2622, 2624, 660, 649, 2582,
2087 2625, 661, 2626, 662, 663, 664, 1461, 1461, 1461, 2583,
2088 1462, 2628, 2584, 1463, 1466, 1466, 1466, 2629, 1467, 2609,
2089 2635, 1468, 1156, 1156, 1156, 1156, 1156, 1156, 1162, 1162,
2090 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1167, 1167, 1167,
2091 1158, 1168, 2643, 1158, 1169, 2644, 1164, 2645, 2646, 1164,
2092 2647, 2648, 1164, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
2094 1171, 1171, 1175, 1175, 1175, 1477, 1477, 1477, 2440, 1478,
2095 2441, 1173, 1479, 2649, 1173, 2650, 2651, 1173, 2652, 1176,
2096 1179, 1179, 1179, 2442, 1482, 1482, 1482, 1473, 1483, 1470,
2097 2653, 1484, 1181, 1181, 1181, 2657, 2660, 1180, 1181, 1181,
2098 1181, 1181, 1181, 1181, 1185, 1185, 1185, 2661, 1476, 2662,
2099 1183, 1486, 1486, 1486, 2663, 1487, 1183, 2664, 1488, 1183,
2100 2665, 1186, 1187, 1187, 1187, 1489, 1489, 1489, 2666, 1490,
2101 2669, 2677, 1491, 1189, 1189, 1189, 1189, 1189, 1189, 1188,
2102 1189, 1189, 1189, 1193, 1193, 1193, 2443, 1194, 2444, 2678,
2103 1195, 1191, 2681, 2682, 1191, 1196, 1196, 1196, 1191, 1197,
2105 2673, 2445, 1198, 1485, 1199, 1199, 1199, 1493, 1493, 1493,
2106 2700, 1494, 2701, 2674, 1495, 1205, 1205, 1205, 1205, 1205,
2107 1205, 1200, 1205, 1205, 1205, 1212, 1212, 1212, 2675, 1213,
2108 2702, 2703, 1214, 1207, 2704, 2679, 1207, 1504, 1504, 1504,
2109 1207, 2676, 1492, 1216, 1216, 1216, 2705, 1217, 2680, 2706,
2110 1218, 1219, 1219, 1219, 1505, 1506, 1506, 1506, 2707, 1507,
2111 1094, 2713, 1508, 1230, 1230, 1230, 2293, 2294, 1220, 2295,
2112 1500, 1230, 1230, 1230, 1230, 1230, 1230, 2296, 1234, 1234,
2113 1234, 1232, 1235, 2714, 2297, 1236, 1237, 1237, 1237, 1232,
2114 2683, 2715, 1232, 1237, 1237, 1237, 1237, 1237, 1237, 1523,
2116 1523, 1523, 2716, 2684, 1239, 1244, 1244, 1244, 2709, 1245,
2117 2717, 1239, 1246, 1622, 1239, 2718, 1524, 1250, 1250, 1250,
2118 1250, 1250, 1250, 2563, 1250, 1250, 1250, 1530, 1530, 1530,
2119 1256, 1256, 1256, 2564, 1257, 1252, 2719, 1258, 1252, 2565,
2120 2720, 1519, 1252, 2721, 1531, 1259, 1259, 1259, 2710, 1260,
2121 2722, 2723, 1261, 1262, 1262, 1262, 1520, 1262, 1262, 1262,
2122 1262, 1262, 1262, 1533, 1533, 1533, 1267, 1267, 1267, 2724,
2123 2725, 1264, 1267, 1267, 1267, 1264, 2727, 2728, 1264, 2730,
2124 1534, 1267, 1267, 1267, 1269, 1278, 1278, 1278, 2738, 1528,
2125 1269, 1272, 1272, 1272, 2745, 1273, 2746, 2747, 1274, 1269,
2127 1278, 1278, 1278, 1280, 1278, 1278, 1278, 1283, 1283, 1283,
2128 2748, 1284, 2749, 2731, 1285, 1286, 1286, 1286, 1280, 1286,
2129 1286, 1286, 1280, 2732, 2750, 1532, 1286, 1286, 1286, 2733,
2130 1535, 2751, 2752, 1288, 1290, 1290, 1290, 1288, 1291, 2734,
2131 2753, 1292, 2754, 2755, 1288, 1294, 1294, 1294, 1294, 1294,
2132 1294, 1294, 1294, 1294, 1545, 1545, 1545, 3333, 3333, 3333,
2133 1300, 1300, 1300, 1296, 1540, 2756, 1296, 2760, 2761, 1296,
2134 2762, 1546, 2763, 2764, 3333, 1300, 1300, 1300, 1302, 1300,
2135 1300, 1300, 2765, 1308, 1308, 1308, 1542, 1309, 2766, 2767,
2136 1310, 2768, 2769, 1302, 1311, 1311, 1311, 1302, 1553, 1553,
2138 1553, 1544, 1554, 2770, 1547, 1555, 1315, 1315, 1315, 2771,
2139 2772, 1312, 1315, 1315, 1315, 1315, 1315, 1315, 1321, 1321,
2140 1321, 1321, 1321, 1321, 1317, 1321, 1321, 1321, 2773, 2774,
2141 1317, 2775, 2776, 1317, 2777, 2778, 1323, 2779, 2793, 1323,
2142 1566, 1566, 1566, 1323, 2794, 2795, 1548, 1333, 1333, 1333,
2143 1333, 1333, 1333, 1333, 1333, 1333, 2796, 1567, 2797, 2782,
2144 1338, 1338, 1338, 2798, 1339, 1335, 1558, 1340, 1335, 2783,
2145 2799, 1335, 1561, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
2146 1342, 1342, 1347, 1347, 1347, 2784, 1348, 2800, 2808, 1349,
2147 2809, 1344, 2810, 2811, 1344, 2785, 2812, 1344, 1350, 1350,
2149 1350, 1576, 1576, 1576, 2813, 1577, 2814, 2815, 1578, 1579,
2150 1579, 1579, 2820, 2821, 1571, 1351, 1353, 1353, 1353, 2822,
2151 1581, 1581, 1581, 1094, 1582, 2823, 1580, 1583, 1585, 1585,
2152 1585, 2825, 2828, 1354, 1358, 1358, 1358, 1358, 1358, 1358,
2153 1574, 1358, 1358, 1358, 2829, 1586, 1362, 1362, 1362, 1589,
2154 1589, 1589, 1360, 1590, 2830, 1360, 1591, 2802, 2831, 1360,
2155 1364, 1364, 1364, 1363, 1592, 1592, 1592, 2832, 1593, 2833,
2156 2834, 1594, 1367, 1367, 1367, 2835, 2836, 1365, 1367, 1367,
2157 1367, 1367, 1367, 1367, 1372, 1372, 1372, 2837, 1373, 2842,
2158 1369, 1374, 1375, 1375, 1375, 2843, 1369, 2844, 2845, 1369,
2160 2846, 1588, 1375, 1375, 1375, 1375, 1375, 1375, 2847, 2848,
2161 1377, 1381, 1381, 1381, 2849, 1382, 2850, 2851, 1383, 2852,
2162 1377, 2853, 2854, 1377, 1385, 1385, 1385, 1385, 1385, 1385,
2163 2855, 1385, 1385, 1385, 1390, 1390, 1390, 2856, 1391, 2857,
2164 2858, 1392, 1387, 2862, 2863, 1387, 2864, 2865, 1596, 1387,
2165 1605, 1605, 1605, 1395, 1395, 1395, 1395, 1395, 1395, 1395,
2166 1395, 1395, 1609, 1609, 1609, 2868, 2869, 1606, 3333, 3333,
2167 3333, 1397, 1598, 2870, 1397, 2871, 2872, 1397, 2873, 1610,
2168 1401, 1401, 1401, 2881, 1402, 3333, 2882, 1403, 1406, 1406,
2169 1406, 2883, 1602, 1406, 1406, 1406, 1406, 1406, 1406, 1615,
2171 1615, 1615, 2884, 1413, 1413, 1413, 1408, 1413, 1413, 1413,
2172 2885, 1408, 2886, 2887, 1408, 2888, 1616, 1413, 1413, 1413,
2173 1607, 1415, 1621, 1621, 1621, 1415, 1424, 1424, 1424, 1611,
2174 1461, 1461, 1461, 1094, 1462, 1415, 2889, 1463, 2890, 2893,
2175 1622, 1623, 2899, 1613, 1425, 1466, 1466, 1466, 2900, 1467,
2176 2901, 2902, 1468, 1156, 1156, 1156, 1670, 1670, 1670, 1162,
2177 1162, 1162, 2903, 2904, 1618, 1171, 1171, 1171, 1477, 1477,
2178 1477, 1158, 1478, 1671, 2905, 1479, 2875, 1164, 1482, 1482,
2179 1482, 2912, 1483, 1173, 2913, 1484, 1181, 1181, 1181, 1486,
2180 1486, 1486, 2914, 1487, 2915, 2916, 1488, 2917, 1489, 1489,
2182 1489, 2918, 1490, 2919, 1183, 1491, 1189, 1189, 1189, 1493,
2183 1493, 1493, 2920, 1494, 1668, 2921, 1495, 1682, 1682, 1682,
2184 2922, 2923, 1675, 2924, 1191, 2925, 1672, 1205, 1205, 1205,
2185 1686, 1686, 1686, 1678, 1683, 3333, 3333, 3333, 3333, 3333,
2186 3333, 1504, 1504, 1504, 2926, 1207, 2927, 1687, 3333, 3333,
2187 3333, 2928, 3333, 1679, 2929, 3333, 2930, 2931, 1505, 1690,
2188 1690, 1690, 2932, 1691, 2933, 3333, 1692, 1506, 1506, 1506,
2189 2934, 1507, 2935, 2936, 1508, 3333, 3333, 3333, 3333, 3333,
2190 3333, 2937, 1685, 2938, 2952, 1689, 3333, 3333, 3333, 3333,
2191 3333, 3333, 3333, 1094, 2943, 3333, 3333, 3333, 3333, 1693,
2193 2953, 1688, 2958, 3333, 2959, 2946, 3333, 1699, 1699, 1699,
2194 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2195 2960, 2943, 1694, 2961, 1700, 2962, 2970, 3333, 1230, 1230,
2196 1230, 3333, 2971, 1696, 3333, 2944, 1237, 1237, 1237, 2941,
2197 1523, 1523, 1523, 1708, 1708, 1708, 1232, 1709, 1695, 2972,
2198 1710, 2973, 2974, 1697, 1239, 2979, 1698, 1524, 1712, 1712,
2199 1712, 1250, 1250, 1250, 1530, 1530, 1530, 1717, 1717, 1717,
2200 2980, 1718, 2981, 2982, 1719, 1713, 1702, 2963, 1703, 1252,
2201 1701, 1531, 1262, 1262, 1262, 1533, 1533, 1533, 1705, 2964,
2202 1721, 1721, 1721, 1704, 1722, 2983, 2984, 1723, 2985, 2986,
2204 1264, 2987, 1534, 1267, 1267, 1267, 1278, 1278, 1278, 2988,
2205 1286, 1286, 1286, 1732, 1732, 1732, 2989, 1294, 1294, 1294,
2206 2990, 1269, 2991, 2994, 1280, 1622, 1623, 1715, 1288, 2965,
2207 1733, 2943, 1545, 1545, 1545, 1296, 1735, 1735, 1735, 2975,
2208 1736, 2966, 2946, 1737, 1300, 1300, 1300, 2977, 1720, 1546,
2209 1094, 2976, 1741, 1741, 1741, 2994, 1745, 1745, 1745, 2978,
2210 2997, 1724, 1302, 1729, 1315, 1315, 1315, 1731, 1734, 1742,
2211 1553, 1553, 1553, 1746, 1554, 2943, 2998, 1555, 1321, 1321,
2212 1321, 2999, 1317, 1566, 1566, 1566, 1756, 1756, 1756, 2944,
2213 1757, 2992, 3002, 1758, 3000, 3003, 1323, 1333, 1333, 1333,
2215 1567, 1764, 1764, 1764, 1739, 1342, 1342, 1342, 3004, 1576,
2216 1576, 1576, 3001, 1577, 3011, 1335, 1578, 3014, 1765, 1579,
2217 1579, 1579, 3015, 1344, 3005, 1768, 1768, 1768, 1748, 1769,
2218 3016, 2948, 1770, 1581, 1581, 1581, 1580, 1582, 3017, 3006,
2219 1583, 1585, 1585, 1585, 1751, 3009, 1762, 1772, 1772, 1772,
2220 2949, 1773, 2950, 3018, 1774, 1358, 1358, 1358, 1586, 1589,
2221 1589, 1589, 3023, 1590, 3010, 2951, 1591, 1766, 1592, 1592,
2222 1592, 3026, 1593, 1360, 3012, 1594, 1367, 1367, 1367, 1375,
2223 1375, 1375, 1385, 1385, 1385, 1786, 1786, 1786, 3029, 1605,
2224 1605, 1605, 3030, 3013, 1369, 3031, 3032, 1377, 3033, 3034,
2226 1387, 2994, 1787, 3036, 2994, 1776, 1606, 1788, 1788, 1788,
2227 3037, 1789, 3038, 3021, 1790, 1395, 1395, 1395, 1609, 1609,
2228 1609, 1793, 1793, 1793, 3024, 1794, 3039, 3040, 1795, 1406,
2229 1406, 1406, 3022, 1397, 3041, 1610, 1615, 1615, 1615, 1803,
2230 1803, 1803, 1778, 3025, 3042, 1780, 1784, 1408, 1800, 1800,
2231 1800, 3043, 1801, 1616, 3044, 1802, 1804, 1413, 1413, 1413,
2232 3048, 3049, 1621, 1621, 1621, 1838, 1838, 1838, 1826, 1826,
2233 1826, 1838, 1838, 1838, 3050, 1415, 3051, 3052, 1798, 1791,
2234 1622, 1843, 1843, 1843, 1845, 1845, 1845, 3333, 3333, 3333,
2235 1156, 1156, 1156, 1670, 1670, 1670, 3053, 3054, 1844, 3055,
2237 3056, 1846, 3057, 3061, 3333, 3062, 1805, 3063, 1158, 3064,
2238 1671, 3065, 3066, 1807, 1850, 1850, 1850, 3070, 1851, 3071,
2239 3072, 1852, 1162, 1162, 1162, 1171, 1171, 1171, 3073, 1839,
2240 1808, 3074, 1839, 3075, 3077, 1827, 1857, 1857, 1857, 3078,
2241 1164, 3079, 3080, 1173, 1859, 1859, 1859, 1181, 1181, 1181,
2242 3081, 1847, 3082, 1858, 1189, 1189, 1189, 1848, 1863, 1863,
2243 1863, 1860, 3333, 3333, 3333, 1183, 1682, 1682, 1682, 1205,
2244 1205, 1205, 1191, 1856, 3083, 1864, 1869, 1869, 1869, 3333,
2245 3084, 1853, 3085, 1683, 1866, 1866, 1866, 1207, 1867, 3090,
2246 3086, 1868, 3091, 1870, 1686, 1686, 1686, 1872, 1872, 1872,
2248 3092, 1873, 3087, 3093, 1874, 1875, 1875, 1875, 3333, 3333,
2249 3333, 1687, 1861, 3094, 1690, 1690, 1690, 3095, 1691, 1862,
2250 1865, 1692, 1876, 3096, 3097, 3333, 3333, 3333, 3333, 1871,
2251 3333, 3333, 3333, 1880, 1880, 1880, 3333, 3333, 3333, 3333,
2252 3333, 3333, 3088, 3333, 3333, 3333, 3333, 3333, 3098, 2954,
2253 1881, 3099, 3100, 3333, 3089, 3101, 3333, 1699, 1699, 1699,
2254 3102, 3333, 1885, 1885, 1885, 2955, 1886, 2956, 3103, 1887,
2255 3104, 3105, 1877, 3106, 1700, 1888, 1888, 1888, 3107, 1879,
2256 2957, 3333, 3333, 3333, 3109, 1883, 3333, 3333, 3333, 3110,
2257 1878, 1094, 1889, 3111, 1882, 3112, 3113, 1884, 3333, 1230,
2259 1230, 1230, 3114, 3333, 1237, 1237, 1237, 1708, 1708, 1708,
2260 3115, 1709, 3116, 3117, 1710, 3118, 3108, 1232, 1896, 1896,
2261 1896, 3119, 1239, 1712, 1712, 1712, 3120, 3121, 1890, 1898,
2262 1898, 1898, 3122, 1899, 3123, 1897, 1900, 3124, 3125, 1891,
2263 1713, 3126, 1902, 1902, 1902, 1717, 1717, 1717, 3127, 1718,
2264 3128, 3129, 1719, 1262, 1262, 1262, 1267, 1267, 1267, 1893,
2265 1903, 3130, 1721, 1721, 1721, 1892, 1722, 3131, 3132, 1723,
2266 3133, 1264, 3134, 1094, 1269, 1911, 1911, 1911, 1286, 1286,
2267 1286, 1732, 1732, 1732, 1915, 1915, 1915, 3136, 1916, 3137,
2268 3138, 1917, 3135, 1912, 3139, 3140, 1288, 3141, 1733, 1905,
2270 1294, 1294, 1294, 1735, 1735, 1735, 3142, 1736, 3143, 3144,
2271 1737, 1300, 1300, 1300, 1741, 1741, 1741, 3145, 1296, 1925,
2272 1925, 1925, 3146, 1906, 1914, 3147, 1922, 1922, 1922, 1302,
2273 1923, 1742, 3148, 1924, 3149, 3150, 1926, 1745, 1745, 1745,
2274 1928, 1928, 1928, 3151, 1929, 3152, 3153, 1930, 1932, 1932,
2275 1932, 1321, 1321, 1321, 1746, 1756, 1756, 1756, 1918, 1757,
2276 3154, 3155, 1758, 1333, 1333, 1333, 1933, 3156, 3157, 1323,
2277 1764, 1764, 1764, 1949, 1949, 1949, 3158, 1920, 1946, 1946,
2278 1946, 1335, 1947, 3159, 3161, 1948, 3162, 1765, 1768, 1768,
2279 1768, 1950, 1769, 3163, 3164, 1770, 3165, 1772, 1772, 1772,
2281 3166, 1773, 1094, 1936, 1774, 1358, 1358, 1358, 1367, 1367,
2282 1367, 1375, 1375, 1375, 1944, 1959, 1959, 1959, 3333, 3333,
2283 3333, 3167, 3160, 1360, 3168, 3169, 1369, 3170, 3171, 1377,
2284 3172, 3173, 1960, 3174, 3175, 3333, 1962, 1962, 1962, 1385,
2285 1385, 1385, 3176, 1786, 1786, 1786, 3177, 1966, 1966, 1966,
2286 3178, 1967, 3179, 1963, 1968, 3180, 3181, 1387, 3182, 1956,
2287 1787, 3184, 1958, 1788, 1788, 1788, 1954, 1789, 3185, 3186,
2288 1790, 1395, 1395, 1395, 1793, 1793, 1793, 1094, 1794, 3187,
2289 3188, 1795, 3189, 3183, 1961, 3190, 1964, 3191, 3192, 1397,
2290 1406, 1406, 1406, 1800, 1800, 1800, 3193, 1801, 3194, 3195,
2292 1802, 3196, 1803, 1803, 1803, 1983, 1983, 1983, 1408, 1984,
2293 3197, 3198, 1985, 1413, 1413, 1413, 3199, 3201, 1969, 1804,
2294 1990, 1990, 1990, 1822, 1822, 1822, 2006, 2006, 2006, 3202,
2295 3203, 1415, 1826, 1826, 1826, 3204, 3205, 1991, 2007, 2007,
2296 2007, 1973, 1829, 1829, 1829, 1838, 1838, 1838, 2018, 2018,
2297 2018, 1841, 1841, 1841, 1843, 1843, 1843, 3206, 2021, 2021,
2298 2021, 1094, 2022, 3207, 1986, 2023, 1845, 1845, 1845, 3208,
2299 3209, 1844, 2024, 2024, 2024, 3200, 2025, 3210, 3212, 2026,
2300 1156, 1156, 1156, 1846, 1850, 1850, 1850, 3213, 1851, 3214,
2301 3215, 1852, 1162, 1162, 1162, 2032, 2032, 2032, 1158, 1171,
2303 1171, 1171, 1857, 1857, 1857, 3216, 3217, 2035, 2035, 2035,
2304 1164, 2036, 2033, 3218, 2037, 3219, 3220, 1173, 3221, 1858,
2305 1859, 1859, 1859, 2038, 2038, 2038, 3224, 2039, 3225, 3226,
2306 2040, 1181, 1181, 1181, 1189, 1189, 1189, 1860, 1863, 1863,
2307 1863, 3227, 3228, 2030, 3229, 3240, 2028, 1094, 1094, 1183,
2308 3238, 1665, 1191, 1094, 1094, 1864, 1094, 2043, 2043, 2043,
2309 2034, 2044, 1094, 1094, 2045, 2046, 2046, 2046, 1866, 1866,
2310 1866, 1664, 1867, 1094, 1663, 1868, 1869, 1869, 1869, 2048,
2311 2048, 2048, 2047, 2049, 3230, 1094, 2050, 1205, 1205, 1205,
2312 1872, 1872, 1872, 1870, 1873, 3232, 2041, 1874, 3231, 2042,
2314 1875, 1875, 1875, 1094, 3233, 1207, 2052, 2052, 2052, 1094,
2315 2053, 3234, 1094, 2054, 1880, 1880, 1880, 1876, 2058, 2058,
2316 2058, 3235, 2059, 1094, 3330, 2060, 2061, 2061, 2061, 3236,
2317 1094, 1881, 1885, 1885, 1885, 1094, 1886, 1094, 2051, 1887,
2318 1888, 1888, 1888, 2062, 2065, 2065, 2065, 3237, 2066, 3246,
2319 1662, 2067, 1230, 1230, 1230, 1661, 3244, 1889, 1237, 1237,
2320 1237, 1896, 1896, 1896, 2074, 2074, 2074, 3247, 2075, 3252,
2321 1232, 2076, 3250, 1898, 1898, 1898, 1239, 1899, 1897, 1094,
2322 1900, 1902, 1902, 1902, 1904, 1904, 1904, 1262, 1262, 1262,
2323 1267, 1267, 1267, 2081, 2081, 2081, 1911, 1911, 1911, 1903,
2325 1286, 1286, 1286, 2070, 3241, 1264, 1094, 1660, 1269, 3239,
2326 2082, 2071, 1094, 1094, 1912, 1915, 1915, 1915, 1288, 1916,
2327 3248, 1094, 1917, 1294, 1294, 1294, 2090, 2090, 2090, 1922,
2328 1922, 1922, 1094, 1923, 3242, 3243, 1924, 1094, 1657, 2083,
2329 2079, 1296, 1094, 1094, 2091, 2078, 1925, 1925, 1925, 2087,
2330 2093, 2093, 2093, 3245, 2094, 3262, 1094, 2095, 1928, 1928,
2331 1928, 1094, 1929, 1926, 3256, 1930, 1932, 1932, 1932, 2088,
2332 2099, 2099, 2099, 1321, 1321, 1321, 2102, 2102, 2102, 2104,
2333 2104, 2104, 1094, 3253, 1933, 1094, 1094, 2100, 1333, 1333,
2334 1333, 1323, 1946, 1946, 1946, 1094, 1947, 3249, 3254, 1948,
2336 1949, 1949, 1949, 2112, 2112, 2112, 1335, 1358, 1358, 1358,
2337 2117, 2117, 2117, 1375, 1375, 1375, 1094, 3251, 1950, 3263,
2338 2113, 1959, 1959, 1959, 1094, 1360, 1094, 1094, 2118, 3264,
2339 1094, 1377, 3255, 1094, 2101, 2121, 2121, 2121, 1960, 2122,
2340 3258, 1654, 2123, 2124, 2124, 2124, 1962, 1962, 1962, 1094,
2341 2127, 2127, 2127, 2109, 2128, 3259, 3257, 2129, 1653, 3265,
2342 2125, 3260, 3261, 1963, 1094, 3268, 2115, 1385, 1385, 1385,
2343 2131, 2131, 2131, 1094, 1966, 1966, 1966, 2120, 1967, 3266,
2344 1094, 1968, 1395, 1395, 1395, 1387, 1652, 2132, 1094, 2126,
2345 2138, 2138, 2138, 2140, 2140, 2140, 1651, 1983, 1983, 1983,
2347 1397, 1984, 3282, 1650, 1985, 1413, 1413, 1413, 2139, 1648,
2348 2141, 1990, 1990, 1990, 1647, 3269, 2133, 2156, 2156, 2156,
2349 2130, 2157, 3286, 1415, 2158, 2159, 2159, 2159, 1991, 2164,
2350 2164, 2164, 2165, 2165, 2165, 2134, 1999, 1999, 1999, 2167,
2351 2167, 2167, 2171, 2171, 2171, 2006, 2006, 2006, 2007, 2007,
2352 2007, 2152, 2172, 2172, 2172, 2175, 2175, 2175, 2179, 2179,
2353 2179, 2180, 2180, 2180, 2182, 2182, 2182, 2018, 2018, 2018,
2354 2183, 2183, 2183, 2021, 2021, 2021, 1094, 2022, 1094, 1094,
2355 2023, 2024, 2024, 2024, 1646, 2025, 1094, 1094, 2026, 1156,
2356 1156, 1156, 1162, 1162, 1162, 2032, 2032, 2032, 2173, 2191,
2358 2191, 2191, 1094, 2192, 1094, 1094, 2193, 1158, 3283, 1094,
2359 1164, 3270, 2033, 1171, 1171, 1171, 2184, 2035, 2035, 2035,
2360 3271, 2036, 3267, 3274, 2037, 2038, 2038, 2038, 1094, 2039,
2361 3272, 1173, 2040, 1181, 1181, 1181, 1189, 1189, 1189, 1094,
2362 2187, 2043, 2043, 2043, 3276, 2044, 3273, 3277, 2045, 1094,
2363 3278, 1183, 2189, 2195, 1191, 1094, 3292, 2046, 2046, 2046,
2364 2197, 2197, 2197, 1645, 2198, 3275, 1094, 2199, 1205, 1205,
2365 1205, 1094, 2196, 2194, 2047, 2048, 2048, 2048, 1094, 2049,
2366 3284, 1094, 2050, 2052, 2052, 2052, 1207, 2053, 3285, 1094,
2367 2054, 2058, 2058, 2058, 1094, 2059, 3293, 1094, 2060, 2061,
2369 2061, 2061, 2204, 2204, 2204, 3290, 2205, 3296, 3280, 2206,
2370 2065, 2065, 2065, 1094, 2066, 3281, 2062, 2067, 2210, 2210,
2371 2210, 1230, 1230, 1230, 2213, 2213, 2213, 3279, 3287, 2074,
2372 2074, 2074, 3291, 2075, 2200, 2211, 2076, 1094, 1643, 1232,
2373 1094, 1094, 2214, 1262, 1262, 1262, 1267, 1267, 1267, 2081,
2374 2081, 2081, 2221, 2221, 2221, 1094, 2222, 1642, 1640, 2223,
2375 1639, 1264, 1636, 1633, 1269, 1094, 2082, 1094, 1286, 1286,
2376 1286, 1294, 1294, 1294, 2090, 2090, 2090, 2093, 2093, 2093,
2377 1632, 2094, 3322, 3288, 2095, 2212, 1288, 3289, 1094, 1296,
2378 1094, 1094, 2091, 2099, 2099, 2099, 3297, 2219, 2218, 2235,
2380 2235, 2235, 3294, 2236, 3295, 1094, 2237, 1321, 1321, 1321,
2381 2100, 2102, 2102, 2102, 2239, 2239, 2239, 2104, 2104, 2104,
2382 2240, 2240, 2240, 3298, 1094, 1323, 3333, 3333, 3333, 3333,
2383 3333, 3333, 1094, 2229, 2228, 1631, 3300, 2241, 3333, 3333,
2384 3333, 1094, 3302, 3333, 1094, 3306, 3333, 1333, 1333, 1333,
2385 2112, 2112, 2112, 1094, 1094, 3333, 2248, 2248, 2248, 3299,
2386 2249, 3330, 1630, 2250, 3304, 1335, 1094, 2113, 2252, 2252,
2387 2252, 2238, 2117, 2117, 2117, 1094, 3305, 2242, 2256, 2256,
2388 2256, 2121, 2121, 2121, 3307, 2122, 2253, 3301, 2123, 1094,
2389 2118, 3303, 1094, 2243, 1094, 1629, 2257, 2244, 2124, 2124,
2391 2124, 2258, 2258, 2258, 1094, 2259, 1094, 3312, 2260, 2127,
2392 2127, 2127, 2245, 2128, 1628, 2125, 2129, 1385, 1385, 1385,
2393 2131, 2131, 2131, 2263, 2263, 2263, 1627, 2264, 1094, 3314,
2394 2265, 1395, 1395, 1395, 1094, 1387, 3308, 2132, 2138, 2138,
2395 2138, 2140, 2140, 2140, 2271, 2271, 2271, 3313, 2272, 1397,
2396 3316, 2273, 1413, 1413, 1413, 1626, 2139, 1625, 2141, 2285,
2397 2285, 2285, 2156, 2156, 2156, 3310, 2157, 1624, 2262, 2158,
2398 1415, 2159, 2159, 2159, 2298, 2298, 2298, 1094, 2299, 2299,
2399 2299, 3309, 2267, 2164, 2164, 2164, 2165, 2165, 2165, 2167,
2400 2167, 2167, 2303, 2303, 2303, 2305, 2305, 2305, 2171, 2171,
2402 2171, 2284, 2172, 2172, 2172, 2175, 2175, 2175, 2308, 2308,
2403 2308, 2179, 2179, 2179, 2180, 2180, 2180, 2182, 2182, 2182,
2404 2183, 2183, 2183, 2315, 2315, 2315, 2317, 2317, 2317, 1162,
2405 1162, 1162, 2319, 2319, 2319, 2191, 2191, 2191, 1094, 2192,
2406 1094, 2316, 2193, 1171, 1171, 1171, 1094, 1164, 1094, 2320,
2407 1181, 1181, 1181, 1189, 1189, 1189, 2197, 2197, 2197, 1094,
2408 2198, 1173, 1617, 2199, 2324, 2324, 2324, 1614, 1183, 3323,
2409 1094, 1191, 2204, 2204, 2204, 3311, 2205, 1612, 1094, 2206,
2410 3320, 3315, 2325, 2330, 2330, 2330, 3317, 2322, 2210, 2210,
2411 2210, 2337, 2337, 2337, 2321, 2318, 3318, 2334, 2334, 2334,
2413 2331, 2335, 3321, 1608, 2336, 2211, 2213, 2213, 2213, 2338,
2414 1262, 1262, 1262, 1094, 2323, 2343, 2343, 2343, 2345, 2345,
2415 2345, 3333, 3333, 3333, 2214, 2221, 2221, 2221, 1264, 2222,
2416 1094, 1094, 2223, 2344, 1604, 2346, 1094, 1094, 3333, 3333,
2417 3333, 3333, 3333, 3333, 3333, 2351, 2351, 2351, 1286, 1286,
2418 1286, 1294, 1294, 1294, 1094, 1603, 3333, 1601, 1600, 3333,
2419 1094, 3326, 2352, 3324, 2347, 1599, 1288, 3319, 3325, 1296,
2420 2342, 2355, 2355, 2355, 1597, 1595, 2348, 2360, 2360, 2360,
2421 2235, 2235, 2235, 1587, 2236, 3327, 3328, 2237, 2356, 1321,
2422 1321, 1321, 3329, 2350, 2239, 2239, 2239, 2240, 2240, 2240,
2424 2349, 1584, 2362, 2362, 2362, 1575, 2363, 1323, 2353, 2364,
2425 2365, 2365, 2365, 1573, 2241, 2354, 3333, 3333, 3333, 3333,
2426 3333, 3333, 2369, 2369, 2369, 1572, 1570, 2366, 2371, 2371,
2427 2371, 1569, 1568, 3333, 1565, 1564, 3333, 2372, 2372, 2372,
2428 2370, 1562, 2248, 2248, 2248, 1560, 2249, 1559, 2361, 2250,
2429 1557, 3333, 3333, 3333, 2373, 2252, 2252, 2252, 2256, 2256,
2430 2256, 1556, 2258, 2258, 2258, 1552, 2259, 2367, 3333, 2260,
2431 2368, 1551, 1550, 2253, 1549, 1543, 2257, 2378, 2378, 2378,
2432 2263, 2263, 2263, 1541, 2264, 1539, 1538, 2265, 1395, 1395,
2433 1395, 1537, 2271, 2271, 2271, 2379, 2272, 1536, 1529, 2273,
2435 1413, 1413, 1413, 2285, 2285, 2285, 1397, 2298, 2298, 2298,
2436 2299, 2299, 2299, 2412, 2412, 2412, 1527, 2374, 1415, 1526,
2437 1525, 1094, 2303, 2303, 2303, 2305, 2305, 2305, 2308, 2308,
2438 2308, 2418, 2418, 2418, 2381, 2315, 2315, 2315, 2317, 2317,
2439 2317, 2422, 2422, 2422, 1522, 2319, 2319, 2319, 2424, 2424,
2440 2424, 1521, 2425, 2316, 1516, 2426, 2427, 2427, 2427, 2423,
2441 1515, 2394, 2320, 1514, 1513, 2395, 1181, 1181, 1181, 1189,
2442 1189, 1189, 1512, 1511, 2428, 2324, 2324, 2324, 2330, 2330,
2443 2330, 2435, 2435, 2435, 1183, 2436, 1510, 1191, 2437, 1509,
2444 2334, 2334, 2334, 2325, 2335, 2331, 1503, 2336, 2337, 2337,
2446 2337, 2448, 2448, 2448, 1262, 1262, 1262, 2343, 2343, 2343,
2447 2345, 2345, 2345, 2451, 2451, 2451, 2338, 2452, 2449, 1502,
2448 2453, 1501, 1264, 1499, 1498, 2344, 1497, 2346, 1496, 1481,
2449 2429, 2457, 2457, 2457, 1480, 1475, 2430, 2351, 2351, 2351,
2450 2459, 2459, 2459, 1474, 2460, 1472, 1471, 2461, 2458, 2462,
2451 2462, 2462, 1469, 1465, 2352, 1294, 1294, 1294, 2355, 2355,
2452 2355, 2450, 2465, 2465, 2465, 1464, 2466, 2463, 1460, 2467,
2453 2470, 2470, 2470, 1296, 1459, 2356, 2360, 2360, 2360, 2472,
2454 2472, 2472, 2362, 2362, 2362, 1458, 2363, 2471, 1457, 2364,
2455 2365, 2365, 2365, 1456, 2474, 2474, 2474, 2473, 2475, 1455,
2457 1454, 2476, 2477, 2477, 2477, 1453, 1452, 2366, 2479, 2479,
2458 2479, 2369, 2369, 2369, 1451, 1450, 2464, 1449, 1448, 2478,
2459 2371, 2371, 2371, 1447, 1445, 2480, 2372, 2372, 2372, 2370,
2460 2481, 2481, 2481, 1444, 2482, 1443, 1442, 2483, 3333, 3333,
2461 3333, 1439, 1438, 2373, 2378, 2378, 2378, 1395, 1395, 1395,
2462 1413, 1413, 1413, 1437, 1436, 3333, 2412, 2412, 2412, 2520,
2463 2520, 2520, 2379, 1435, 1434, 1397, 1433, 1432, 1415, 2418,
2464 2418, 2418, 2527, 2527, 2527, 1431, 2422, 2422, 2422, 2424,
2465 2424, 2424, 1430, 2425, 1429, 1428, 2426, 1427, 1426, 2528,
2466 2427, 2427, 2427, 2484, 2423, 1423, 1181, 1181, 1181, 1189,
2468 1189, 1189, 2533, 2533, 2533, 2435, 2435, 2435, 2428, 2436,
2469 2502, 1422, 2437, 2489, 1183, 1421, 1420, 1191, 1419, 2534,
2470 2547, 2547, 2547, 2448, 2448, 2448, 2549, 2549, 2549, 1418,
2471 2550, 1094, 1412, 2551, 2552, 2552, 2552, 2548, 1411, 1410,
2472 2449, 2451, 2451, 2451, 1405, 2452, 1404, 1400, 2453, 2457,
2473 2457, 2457, 2553, 1394, 2557, 2557, 2557, 2529, 2558, 1393,
2474 1389, 2559, 2462, 2462, 2462, 2530, 2458, 2459, 2459, 2459,
2475 1384, 2460, 1380, 1379, 2461, 1294, 1294, 1294, 1371, 1357,
2476 2463, 2465, 2465, 2465, 1356, 2466, 1355, 1352, 2467, 2568,
2477 2568, 2568, 1346, 1296, 2470, 2470, 2470, 2570, 2570, 2570,
2479 1341, 2571, 1337, 1332, 2572, 1331, 2569, 2472, 2472, 2472,
2480 1330, 2471, 2474, 2474, 2474, 1329, 2475, 1328, 1327, 2476,
2481 1326, 2477, 2477, 2477, 1325, 2473, 2573, 2573, 2573, 1320,
2482 2574, 1319, 1314, 2575, 2479, 2479, 2479, 2566, 2478, 2576,
2483 2576, 2576, 1313, 2577, 1307, 1304, 2578, 1299, 2481, 2481,
2484 2481, 2480, 2482, 1298, 1293, 2483, 3333, 3333, 3333, 2586,
2485 2586, 2586, 2588, 2588, 2588, 1395, 1395, 1395, 2593, 2593,
2486 2593, 1282, 1277, 3333, 1276, 1275, 2587, 1271, 1266, 2589,
2487 2594, 2594, 2594, 1397, 1413, 1413, 1413, 2623, 2623, 2623,
2488 2520, 2520, 2520, 2627, 2627, 2627, 1255, 2595, 2527, 2527,
2490 2527, 1249, 1415, 2630, 2630, 2630, 1248, 2631, 1247, 1243,
2491 2632, 1181, 1181, 1181, 1242, 2528, 1241, 2585, 1229, 1189,
2492 1189, 1189, 2636, 2636, 2636, 2533, 2533, 2533, 1228, 1183,
2493 1227, 2638, 2638, 2638, 1226, 2639, 2592, 1191, 2640, 2637,
2494 1225, 1224, 2534, 1223, 2606, 2641, 2641, 2641, 2547, 2547,
2495 2547, 2654, 2654, 2654, 1222, 2655, 1221, 1215, 2656, 2549,
2496 2549, 2549, 2642, 2550, 1170, 2548, 2551, 2552, 2552, 2552,
2497 2634, 2658, 2658, 2658, 1166, 2557, 2557, 2557, 2633, 2558,
2498 1161, 1160, 2559, 1148, 1147, 2553, 1146, 1145, 2659, 2667,
2499 2667, 2667, 2568, 2568, 2568, 2670, 2670, 2670, 1144, 2671,
2501 1143, 1142, 2672, 1141, 2570, 2570, 2570, 2668, 2571, 2569,
2502 1140, 2572, 2573, 2573, 2573, 1139, 2574, 1138, 1137, 2575,
2503 2576, 2576, 2576, 1136, 2577, 1133, 1132, 2578, 3333, 3333,
2504 3333, 2586, 2586, 2586, 2686, 2686, 2686, 1131, 2687, 1130,
2505 1129, 2688, 2588, 2588, 2588, 3333, 1128, 1127, 2587, 2689,
2506 2689, 2689, 1126, 2690, 1123, 1122, 2691, 1121, 1120, 2589,
2507 2692, 2692, 2692, 2694, 2694, 2694, 1395, 1395, 1395, 2593,
2508 2593, 2593, 2594, 2594, 2594, 1119, 1118, 2693, 1117, 1116,
2509 2695, 1413, 1413, 1413, 1397, 2711, 2711, 2711, 2685, 2595,
2510 2697, 2697, 2697, 1115, 2698, 1108, 1104, 2699, 1103, 1415,
2512 1102, 1101, 2712, 1622, 2623, 2623, 2623, 2726, 2726, 2726,
2513 2627, 2627, 2627, 2729, 2729, 2729, 2630, 2630, 2630, 1100,
2514 2631, 1097, 1095, 2632, 1181, 1181, 1181, 1094, 2696, 2736,
2515 2736, 2736, 2708, 2636, 2636, 2636, 2739, 2739, 2739, 1092,
2516 2740, 1090, 1183, 2741, 2638, 2638, 2638, 2737, 2639, 1089,
2517 2637, 2640, 2641, 2641, 2641, 2742, 2742, 2742, 1088, 2743,
2518 1087, 1086, 2744, 2654, 2654, 2654, 1083, 2655, 1080, 2642,
2519 2656, 2658, 2658, 2658, 2757, 2757, 2757, 1079, 2758, 1078,
2520 1076, 2759, 2667, 2667, 2667, 2670, 2670, 2670, 2659, 2671,
2521 2735, 1075, 2672, 2780, 2780, 2780, 1072, 2686, 2686, 2686,
2523 2668, 2687, 1071, 1069, 2688, 2689, 2689, 2689, 1066, 2690,
2524 2781, 1065, 2691, 2692, 2692, 2692, 2786, 2786, 2786, 1064,
2525 2787, 1060, 1059, 2788, 2694, 2694, 2694, 2789, 2789, 2789,
2526 2693, 2790, 1057, 1056, 2791, 1395, 1395, 1395, 2697, 2697,
2527 2697, 2695, 2698, 1055, 1054, 2699, 1413, 1413, 1413, 2803,
2528 2803, 2803, 1052, 1397, 2711, 2711, 2711, 1051, 2805, 2805,
2529 2805, 1050, 2806, 1049, 1415, 2807, 2804, 1622, 2816, 2816,
2530 2816, 2712, 1622, 2726, 2726, 2726, 1622, 2817, 2817, 2817,
2531 2818, 2818, 2818, 2729, 2729, 2729, 2792, 2819, 2819, 2819,
2532 1181, 1181, 1181, 1048, 1047, 2801, 2736, 2736, 2736, 2739,
2534 2739, 2739, 1044, 2740, 1043, 1041, 2741, 1038, 1183, 2742,
2535 2742, 2742, 1037, 2743, 2737, 1035, 2744, 2826, 2826, 2826,
2536 2838, 2838, 2838, 2757, 2757, 2757, 1034, 2758, 1033, 1032,
2537 2759, 2840, 2840, 2840, 2827, 1031, 1027, 2839, 2780, 2780,
2538 2780, 2824, 2859, 2859, 2859, 1025, 2860, 1024, 2841, 2861,
2539 2786, 2786, 2786, 1023, 2787, 2781, 1021, 2788, 2789, 2789,
2540 2789, 1020, 2790, 1019, 1016, 2791, 2866, 2866, 2866, 1413,
2541 1413, 1413, 2803, 2803, 2803, 2876, 2876, 2876, 1015, 2877,
2542 1014, 1013, 2878, 1011, 2867, 1010, 1009, 1415, 1007, 2804,
2543 1622, 1004, 1000, 1622, 2805, 2805, 2805, 999, 2806, 997,
2545 996, 2807, 2816, 2816, 2816, 2817, 2817, 2817, 2818, 2818,
2546 2818, 995, 1622, 2819, 2819, 2819, 2891, 2891, 2891, 2894,
2547 2894, 2894, 992, 2895, 991, 990, 2896, 988, 2826, 2826,
2548 2826, 2897, 2897, 2897, 2892, 2874, 1620, 1620, 1620, 1620,
2549 1620, 1620, 1620, 1620, 1620, 2827, 987, 1620, 2898, 2838,
2550 2838, 2838, 1620, 1620, 1620, 1622, 1620, 2906, 2906, 2906,
2551 981, 2907, 980, 979, 2908, 977, 2839, 2909, 2909, 2909,
2552 976, 2910, 975, 970, 2911, 2840, 2840, 2840, 2866, 2866,
2553 2866, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2554 1620, 1620, 2841, 969, 1620, 965, 2867, 963, 962, 1620,
2556 1620, 1620, 1622, 1620, 2859, 2859, 2859, 961, 2860, 960,
2557 959, 2861, 2939, 2939, 2939, 2876, 2876, 2876, 958, 2877,
2558 957, 956, 2878, 955, 954, 2891, 2891, 2891, 1620, 1620,
2559 2940, 951, 948, 1622, 1620, 1620, 1620, 1620, 1620, 2947,
2560 1620, 1620, 1620, 2892, 947, 1620, 2897, 2897, 2897, 945,
2561 1620, 1620, 1620, 1622, 1620, 2894, 2894, 2894, 944, 2895,
2562 943, 942, 2896, 2898, 2967, 2967, 2967, 941, 2968, 936,
2563 934, 2969, 2939, 2939, 2939, 2996, 2996, 2996, 933, 1620,
2564 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 2947,
2565 2940, 932, 1620, 1622, 1623, 930, 929, 1620, 1620, 1620,
2567 1622, 1620, 2906, 2906, 2906, 928, 2907, 927, 925, 2908,
2568 2909, 2909, 2909, 922, 2910, 921, 919, 2911, 3007, 3007,
2569 3007, 2967, 2967, 2967, 918, 2968, 1620, 1620, 2969, 3019,
2570 3019, 3019, 3027, 3027, 3027, 3008, 3035, 3035, 3035, 2996,
2571 2996, 2996, 3007, 3007, 3007, 917, 3020, 915, 914, 3028,
2572 913, 3045, 3045, 3045, 1094, 3046, 912, 1622, 3047, 3008,
2573 3019, 3019, 3019, 3058, 3058, 3058, 909, 3059, 908, 907,
2574 3060, 3027, 3027, 3027, 3067, 3067, 3067, 3020, 3068, 904,
2575 903, 3069, 3035, 3035, 3035, 3045, 3045, 3045, 3028, 3046,
2576 1807, 902, 3047, 897, 3058, 3058, 3058, 895, 3059, 894,
2578 1094, 3060, 3067, 3067, 3067, 888, 3068, 887, 886, 3069,
2579 3211, 3211, 3211, 3211, 3211, 3211, 885, 3222, 879, 3076,
2580 3223, 3331, 3331, 3331, 3331, 3331, 3331, 878, 1094, 877,
2581 875, 1094, 872, 871, 870, 869, 864, 861, 863, 3332,
2582 858, 857, 3332, 240, 240, 240, 240, 240, 240, 240,
2583 240, 240, 241, 241, 241, 241, 241, 241, 241, 241,
2584 241, 246, 246, 246, 246, 246, 246, 246, 246, 246,
2585 249, 249, 249, 249, 249, 249, 249, 249, 249, 252,
2586 252, 252, 252, 252, 252, 252, 252, 252, 255, 255,
2587 255, 255, 255, 255, 255, 255, 255, 262, 262, 262,
2589 262, 262, 262, 262, 262, 262, 269, 269, 269, 269,
2590 269, 269, 269, 269, 269, 274, 274, 274, 274, 274,
2591 274, 274, 274, 274, 286, 286, 286, 286, 286, 286,
2592 286, 286, 286, 292, 292, 292, 292, 292, 292, 292,
2593 292, 292, 300, 300, 300, 300, 300, 300, 300, 300,
2594 300, 304, 304, 304, 304, 304, 304, 304, 304, 304,
2595 310, 310, 310, 310, 310, 310, 310, 310, 310, 316,
2596 316, 316, 316, 316, 316, 316, 316, 316, 322, 322,
2597 322, 322, 322, 322, 322, 322, 322, 328, 328, 328,
2598 328, 328, 328, 328, 328, 328, 335, 335, 335, 335,
2600 335, 335, 335, 335, 335, 340, 340, 340, 340, 340,
2601 340, 340, 340, 340, 347, 347, 347, 347, 347, 347,
2602 347, 347, 347, 356, 356, 356, 356, 356, 356, 356,
2603 356, 356, 373, 373, 373, 373, 373, 373, 373, 373,
2604 373, 380, 380, 380, 380, 380, 380, 380, 380, 380,
2605 384, 384, 384, 384, 384, 384, 384, 384, 384, 391,
2606 391, 391, 391, 391, 391, 391, 391, 391, 399, 399,
2607 399, 399, 399, 399, 399, 399, 399, 407, 407, 407,
2608 407, 407, 407, 407, 407, 407, 413, 413, 413, 413,
2609 413, 413, 413, 413, 413, 419, 419, 419, 419, 419,
2611 419, 419, 419, 419, 423, 423, 423, 423, 423, 423,
2612 423, 423, 423, 431, 431, 431, 431, 431, 431, 431,
2613 431, 431, 438, 438, 438, 438, 438, 438, 438, 438,
2614 438, 445, 445, 445, 445, 445, 445, 445, 445, 445,
2615 450, 450, 450, 450, 450, 450, 450, 450, 450, 456,
2616 456, 456, 456, 456, 456, 456, 456, 456, 461, 461,
2617 461, 461, 461, 461, 461, 461, 461, 467, 467, 467,
2618 467, 467, 467, 467, 467, 467, 472, 472, 472, 472,
2619 472, 472, 472, 472, 472, 478, 478, 478, 478, 478,
2620 478, 478, 478, 478, 487, 487, 487, 487, 487, 487,
2622 487, 487, 487, 494, 494, 494, 494, 494, 494, 494,
2623 494, 494, 498, 498, 498, 498, 498, 498, 498, 498,
2624 498, 509, 509, 509, 509, 509, 509, 509, 509, 509,
2625 517, 517, 517, 517, 517, 517, 517, 517, 517, 525,
2626 525, 525, 525, 525, 525, 525, 525, 525, 530, 530,
2627 530, 530, 530, 530, 530, 530, 530, 536, 536, 536,
2628 536, 536, 536, 536, 536, 536, 544, 544, 544, 544,
2629 544, 544, 544, 544, 544, 550, 550, 550, 550, 550,
2630 550, 550, 550, 550, 555, 555, 555, 555, 555, 555,
2631 555, 555, 555, 562, 562, 562, 562, 562, 562, 562,
2633 562, 562, 567, 567, 567, 567, 567, 567, 567, 567,
2634 567, 573, 573, 573, 573, 573, 573, 573, 573, 573,
2635 580, 580, 580, 580, 580, 580, 580, 580, 580, 587,
2636 587, 587, 587, 587, 587, 587, 587, 587, 594, 594,
2637 594, 594, 594, 594, 594, 594, 594, 602, 602, 602,
2638 602, 602, 602, 602, 602, 602, 255, 255, 255, 255,
2639 255, 255, 255, 255, 255, 613, 613, 613, 613, 613,
2640 613, 613, 613, 613, 619, 619, 619, 619, 619, 619,
2641 619, 619, 619, 638, 638, 638, 856, 854, 853, 638,
2642 672, 672, 672, 850, 849, 848, 672, 680, 680, 680,
2644 846, 845, 843, 680, 684, 684, 684, 842, 841, 840,
2645 684, 690, 690, 690, 838, 837, 836, 690, 696, 696,
2646 696, 835, 834, 833, 696, 701, 701, 701, 831, 829,
2647 828, 701, 711, 711, 711, 826, 825, 822, 711, 728,
2648 728, 728, 820, 816, 812, 728, 732, 732, 732, 811,
2649 809, 807, 732, 742, 742, 742, 806, 804, 803, 742,
2650 748, 748, 748, 801, 800, 799, 748, 753, 753, 753,
2651 798, 797, 795, 753, 761, 761, 761, 794, 788, 786,
2652 761, 766, 766, 766, 781, 780, 779, 766, 771, 771,
2653 771, 778, 777, 775, 771, 776, 776, 776, 773, 772,
2655 770, 776, 787, 787, 787, 768, 767, 765, 787, 796,
2656 796, 796, 763, 762, 760, 796, 805, 805, 805, 759,
2657 756, 755, 805, 810, 810, 810, 754, 752, 3333, 810,
2658 821, 821, 821, 749, 747, 745, 821, 827, 827, 827,
2659 744, 743, 741, 827, 832, 832, 832, 740, 736, 735,
2660 832, 839, 839, 839, 734, 733, 731, 839, 847, 847,
2661 847, 730, 729, 727, 847, 855, 855, 855, 726, 725,
2662 719, 855, 860, 860, 860, 860, 860, 860, 860, 715,
2663 860, 638, 638, 638, 714, 710, 706, 638, 876, 705,
2664 704, 703, 876, 672, 672, 672, 702, 700, 699, 672,
2666 916, 698, 697, 695, 916, 680, 680, 680, 694, 693,
2667 692, 680, 920, 691, 689, 687, 920, 684, 684, 684,
2668 686, 685, 683, 684, 926, 681, 679, 660, 926, 690,
2669 690, 690, 3333, 674, 673, 690, 931, 671, 3333, 654,
2670 931, 696, 696, 696, 640, 639, 637, 696, 935, 636,
2671 630, 629, 935, 701, 701, 701, 630, 629, 628, 701,
2672 946, 627, 3333, 3333, 946, 711, 711, 711, 3333, 3333,
2673 3333, 711, 964, 3333, 3333, 3333, 964, 728, 728, 728,
2674 3333, 3333, 3333, 728, 968, 3333, 3333, 3333, 968, 732,
2675 732, 732, 3333, 3333, 3333, 732, 978, 3333, 3333, 3333,
2677 978, 742, 742, 742, 3333, 3333, 3333, 742, 986, 3333,
2678 3333, 3333, 986, 748, 748, 748, 3333, 3333, 3333, 748,
2679 989, 3333, 3333, 3333, 989, 753, 753, 753, 3333, 3333,
2680 3333, 753, 998, 3333, 3333, 3333, 998, 761, 761, 761,
2681 3333, 3333, 3333, 761, 1003, 3333, 3333, 3333, 1003, 766,
2682 766, 766, 3333, 3333, 3333, 766, 1008, 3333, 3333, 3333,
2683 1008, 771, 771, 771, 3333, 3333, 3333, 771, 1012, 3333,
2684 3333, 3333, 1012, 776, 776, 776, 3333, 3333, 3333, 776,
2685 1022, 3333, 3333, 3333, 1022, 787, 787, 787, 3333, 3333,
2686 3333, 787, 1026, 3333, 3333, 3333, 1026, 796, 796, 796,
2688 3333, 3333, 3333, 796, 1036, 3333, 3333, 3333, 1036, 805,
2689 805, 805, 3333, 3333, 3333, 805, 1042, 3333, 3333, 3333,
2690 1042, 810, 810, 810, 3333, 3333, 3333, 810, 1053, 3333,
2691 3333, 3333, 1053, 821, 821, 821, 3333, 3333, 3333, 821,
2692 1058, 3333, 3333, 3333, 1058, 827, 827, 827, 3333, 3333,
2693 3333, 827, 1063, 3333, 3333, 3333, 1063, 832, 832, 832,
2694 3333, 3333, 3333, 832, 1070, 3333, 3333, 3333, 1070, 839,
2695 839, 839, 3333, 3333, 3333, 839, 1077, 3333, 3333, 3333,
2696 1077, 847, 847, 847, 3333, 3333, 3333, 847, 1085, 3333,
2697 3333, 3333, 1085, 855, 855, 855, 3333, 3333, 3333, 855,
2699 1091, 3333, 3333, 3333, 1091, 1093, 1093, 1093, 1093, 1093,
2700 1093, 1093, 1093, 1093, 1099, 3333, 3333, 3333, 3333, 1099,
2701 638, 638, 638, 3333, 3333, 3333, 638, 1110, 1110, 1110,
2702 1110, 3333, 3333, 1110, 1110, 672, 672, 672, 672, 3333,
2703 672, 3333, 672, 1157, 1157, 1157, 1157, 3333, 3333, 1157,
2704 1157, 680, 680, 680, 3333, 3333, 3333, 680, 1163, 1163,
2705 1163, 1163, 3333, 3333, 1163, 1163, 684, 684, 684, 3333,
2706 3333, 3333, 684, 1172, 1172, 1172, 1172, 3333, 3333, 1172,
2707 1172, 690, 690, 690, 690, 3333, 690, 3333, 690, 1182,
2708 1182, 1182, 1182, 3333, 3333, 1182, 1182, 696, 696, 696,
2710 696, 3333, 696, 3333, 696, 1190, 1190, 1190, 1190, 3333,
2711 3333, 1190, 1190, 701, 701, 701, 701, 3333, 701, 3333,
2712 701, 1206, 1206, 1206, 1206, 3333, 3333, 1206, 1206, 711,
2713 711, 711, 3333, 3333, 3333, 711, 1231, 1231, 1231, 1231,
2714 3333, 3333, 1231, 1231, 1238, 1238, 1238, 1238, 3333, 3333,
2715 1238, 1238, 732, 732, 732, 3333, 3333, 3333, 732, 1251,
2716 1251, 1251, 1251, 3333, 3333, 1251, 1251, 742, 742, 742,
2717 3333, 3333, 3333, 742, 1263, 1263, 1263, 1263, 3333, 3333,
2718 1263, 1263, 748, 748, 748, 3333, 3333, 3333, 748, 1268,
2719 1268, 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753,
2721 3333, 3333, 3333, 753, 1279, 1279, 1279, 1279, 3333, 3333,
2722 1279, 1279, 761, 761, 761, 3333, 3333, 3333, 761, 1287,
2723 1287, 1287, 1287, 3333, 3333, 1287, 1287, 766, 766, 766,
2724 3333, 3333, 3333, 766, 1295, 1295, 1295, 1295, 3333, 3333,
2725 1295, 1295, 771, 771, 771, 3333, 3333, 3333, 771, 1301,
2726 1301, 1301, 1301, 3333, 3333, 1301, 1301, 776, 776, 776,
2727 3333, 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333, 3333,
2728 1316, 1316, 787, 787, 787, 3333, 3333, 3333, 787, 1322,
2729 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796,
2730 3333, 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333,
2732 1334, 1334, 805, 805, 805, 3333, 3333, 3333, 805, 1343,
2733 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810, 810, 810,
2734 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359, 3333, 3333,
2735 1359, 1359, 821, 821, 821, 821, 3333, 821, 3333, 821,
2736 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827, 827,
2737 827, 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376, 3333,
2738 3333, 1376, 1376, 832, 832, 832, 3333, 3333, 3333, 832,
2739 1386, 1386, 1386, 1386, 3333, 3333, 1386, 1386, 839, 839,
2740 839, 3333, 3333, 3333, 839, 1396, 1396, 1396, 1396, 3333,
2741 3333, 1396, 1396, 847, 847, 847, 3333, 3333, 3333, 847,
2743 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407, 855, 855,
2744 855, 3333, 3333, 3333, 855, 1414, 1414, 1414, 1414, 3333,
2745 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2746 1093, 1093, 1099, 3333, 1099, 3333, 3333, 1099, 638, 638,
2747 638, 3333, 3333, 3333, 638, 1110, 1110, 1110, 1110, 3333,
2748 3333, 1110, 1110, 672, 672, 672, 3333, 3333, 3333, 672,
2749 1157, 1157, 1157, 1157, 3333, 3333, 1157, 1157, 680, 680,
2750 680, 3333, 3333, 3333, 680, 1163, 1163, 1163, 1163, 3333,
2751 3333, 1163, 1163, 684, 684, 684, 3333, 3333, 3333, 684,
2752 1172, 1172, 1172, 1172, 3333, 3333, 1172, 1172, 690, 690,
2754 690, 3333, 3333, 3333, 690, 1182, 1182, 1182, 1182, 3333,
2755 3333, 1182, 1182, 1190, 1190, 1190, 1190, 3333, 3333, 1190,
2756 1190, 701, 701, 701, 3333, 3333, 3333, 701, 1206, 1206,
2757 1206, 1206, 3333, 3333, 1206, 1206, 711, 711, 711, 3333,
2758 3333, 3333, 711, 1231, 1231, 1231, 1231, 3333, 3333, 1231,
2759 1231, 1238, 1238, 1238, 1238, 3333, 3333, 1238, 1238, 732,
2760 732, 732, 3333, 3333, 3333, 732, 1251, 1251, 1251, 1251,
2761 3333, 3333, 1251, 1251, 742, 742, 742, 742, 3333, 742,
2762 3333, 742, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263,
2763 748, 748, 748, 748, 3333, 748, 3333, 748, 1268, 1268,
2765 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753, 3333,
2766 3333, 3333, 753, 1279, 1279, 1279, 1279, 3333, 3333, 1279,
2767 1279, 761, 761, 761, 3333, 3333, 3333, 761, 1287, 1287,
2768 1287, 1287, 3333, 3333, 1287, 1287, 766, 766, 766, 3333,
2769 3333, 3333, 766, 1295, 1295, 1295, 1295, 3333, 3333, 1295,
2770 1295, 771, 771, 771, 771, 3333, 771, 3333, 771, 1301,
2771 1301, 1301, 1301, 3333, 3333, 1301, 1301, 776, 776, 776,
2772 3333, 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333, 3333,
2773 1316, 1316, 787, 787, 787, 3333, 3333, 3333, 787, 1322,
2774 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796,
2776 3333, 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333,
2777 1334, 1334, 805, 805, 805, 3333, 3333, 3333, 805, 1343,
2778 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810, 810, 810,
2779 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359, 3333, 3333,
2780 1359, 1359, 821, 821, 821, 3333, 3333, 3333, 821, 1368,
2781 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827, 827, 827,
2782 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376, 3333, 3333,
2783 1376, 1376, 832, 832, 832, 3333, 3333, 3333, 832, 1386,
2784 1386, 1386, 1386, 3333, 3333, 1386, 1386, 839, 839, 839,
2785 3333, 3333, 3333, 839, 1396, 1396, 1396, 1396, 3333, 3333,
2787 1396, 1396, 847, 847, 847, 847, 3333, 847, 3333, 847,
2788 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407, 855, 855,
2789 855, 3333, 3333, 3333, 855, 1414, 1414, 1414, 1414, 3333,
2790 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2791 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2792 1620, 638, 638, 638, 3333, 3333, 3333, 638, 672, 672,
2793 672, 3333, 3333, 3333, 672, 1157, 1157, 1157, 1157, 3333,
2794 3333, 1157, 1157, 680, 680, 680, 680, 3333, 680, 3333,
2795 680, 1163, 1163, 1163, 1163, 3333, 3333, 1163, 1163, 684,
2796 684, 684, 3333, 3333, 3333, 684, 1172, 1172, 1172, 1172,
2798 3333, 3333, 1172, 1172, 690, 690, 690, 3333, 3333, 3333,
2799 690, 1182, 1182, 1182, 1182, 3333, 3333, 1182, 1182, 1190,
2800 1190, 1190, 1190, 3333, 3333, 1190, 1190, 701, 701, 701,
2801 3333, 3333, 3333, 701, 1206, 1206, 1206, 1206, 3333, 3333,
2802 1206, 1206, 711, 711, 711, 711, 3333, 711, 3333, 711,
2803 1231, 1231, 1231, 1231, 3333, 3333, 1231, 1231, 1238, 1238,
2804 1238, 1238, 3333, 3333, 1238, 1238, 732, 732, 732, 3333,
2805 3333, 3333, 732, 1251, 1251, 1251, 1251, 3333, 3333, 1251,
2806 1251, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263, 1268,
2807 1268, 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753,
2809 3333, 3333, 3333, 753, 1279, 1279, 1279, 1279, 3333, 3333,
2810 1279, 1279, 761, 761, 761, 3333, 3333, 3333, 761, 1287,
2811 1287, 1287, 1287, 3333, 3333, 1287, 1287, 766, 766, 766,
2812 766, 3333, 766, 3333, 766, 1295, 1295, 1295, 1295, 3333,
2813 3333, 1295, 1295, 771, 771, 771, 3333, 3333, 3333, 771,
2814 1301, 1301, 1301, 1301, 3333, 3333, 1301, 1301, 776, 776,
2815 776, 3333, 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333,
2816 3333, 1316, 1316, 787, 787, 787, 3333, 3333, 3333, 787,
2817 1322, 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796,
2818 796, 3333, 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333,
2820 3333, 1334, 1334, 805, 805, 805, 805, 3333, 805, 3333,
2821 805, 1343, 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810,
2822 810, 810, 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359,
2823 3333, 3333, 1359, 1359, 821, 821, 821, 3333, 3333, 3333,
2824 821, 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827,
2825 827, 827, 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376,
2826 3333, 3333, 1376, 1376, 832, 832, 832, 3333, 3333, 3333,
2827 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386, 1386, 839,
2828 839, 839, 3333, 3333, 3333, 839, 1396, 1396, 1396, 1396,
2829 3333, 3333, 1396, 1396, 847, 847, 847, 3333, 3333, 3333,
2831 847, 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407, 855,
2832 855, 855, 3333, 3333, 3333, 855, 1414, 1414, 1414, 1414,
2833 3333, 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093,
2834 1093, 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2835 1620, 1620, 638, 638, 638, 3333, 3333, 3333, 638, 672,
2836 672, 672, 672, 3333, 672, 3333, 672, 1157, 1157, 1157,
2837 1157, 3333, 3333, 1157, 1157, 1163, 1163, 1163, 1163, 3333,
2838 3333, 1163, 1163, 684, 684, 684, 3333, 3333, 3333, 684,
2839 1172, 1172, 1172, 1172, 3333, 3333, 1172, 1172, 690, 690,
2840 690, 690, 3333, 690, 3333, 690, 1182, 1182, 1182, 1182,
2842 3333, 3333, 1182, 1182, 1190, 1190, 1190, 1190, 3333, 3333,
2843 1190, 1190, 701, 701, 701, 701, 3333, 701, 3333, 701,
2844 1206, 1206, 1206, 1206, 3333, 3333, 1206, 1206, 711, 711,
2845 711, 711, 3333, 711, 3333, 711, 1231, 1231, 1231, 1231,
2846 3333, 3333, 1231, 1231, 1238, 1238, 1238, 1238, 3333, 3333,
2847 1238, 1238, 732, 732, 732, 3333, 3333, 3333, 732, 1251,
2848 1251, 1251, 1251, 3333, 3333, 1251, 1251, 1263, 1263, 1263,
2849 1263, 3333, 3333, 1263, 1263, 1268, 1268, 1268, 1268, 3333,
2850 3333, 1268, 1268, 753, 753, 753, 3333, 3333, 3333, 753,
2851 1279, 1279, 1279, 1279, 3333, 3333, 1279, 1279, 761, 761,
2853 761, 3333, 3333, 3333, 761, 1287, 1287, 1287, 1287, 3333,
2854 3333, 1287, 1287, 1295, 1295, 1295, 1295, 3333, 3333, 1295,
2855 1295, 771, 771, 771, 3333, 3333, 3333, 771, 1301, 1301,
2856 1301, 1301, 3333, 3333, 1301, 1301, 776, 776, 776, 3333,
2857 3333, 3333, 776, 1316, 1316, 1316, 1316, 3333, 3333, 1316,
2858 1316, 787, 787, 787, 3333, 3333, 3333, 787, 1322, 1322,
2859 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796, 3333,
2860 3333, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333, 1334,
2861 1334, 1343, 1343, 1343, 1343, 3333, 3333, 1343, 1343, 810,
2862 810, 810, 3333, 3333, 3333, 810, 1359, 1359, 1359, 1359,
2864 3333, 3333, 1359, 1359, 821, 821, 821, 3333, 3333, 3333,
2865 821, 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368, 827,
2866 827, 827, 3333, 3333, 3333, 827, 1376, 1376, 1376, 1376,
2867 3333, 3333, 1376, 1376, 832, 832, 832, 832, 3333, 832,
2868 3333, 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386, 1386,
2869 839, 839, 839, 3333, 3333, 3333, 839, 1396, 1396, 1396,
2870 1396, 3333, 3333, 1396, 1396, 847, 847, 847, 3333, 3333,
2871 3333, 847, 1407, 1407, 1407, 1407, 3333, 3333, 1407, 1407,
2872 855, 855, 855, 3333, 3333, 3333, 855, 1414, 1414, 1414,
2873 1414, 3333, 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093,
2875 1093, 1093, 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620,
2876 1620, 1620, 1620, 638, 638, 638, 638, 3333, 638, 3333,
2877 638, 672, 672, 672, 3333, 3333, 3333, 672, 1157, 1157,
2878 1157, 1157, 3333, 3333, 1157, 1157, 1163, 1163, 1163, 1163,
2879 3333, 3333, 1163, 1163, 684, 684, 684, 3333, 3333, 3333,
2880 684, 1172, 1172, 1172, 1172, 3333, 3333, 1172, 1172, 1182,
2881 1182, 1182, 1182, 3333, 3333, 1182, 1182, 1190, 1190, 1190,
2882 1190, 3333, 3333, 1190, 1190, 701, 701, 701, 701, 3333,
2883 701, 3333, 701, 1206, 1206, 1206, 1206, 3333, 3333, 1206,
2884 1206, 711, 711, 711, 3333, 3333, 3333, 711, 1231, 1231,
2886 1231, 1231, 3333, 3333, 1231, 1231, 1238, 1238, 1238, 1238,
2887 3333, 3333, 1238, 1238, 732, 732, 732, 3333, 3333, 3333,
2888 732, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263, 1268,
2889 1268, 1268, 1268, 3333, 3333, 1268, 1268, 753, 753, 753,
2890 3333, 3333, 3333, 753, 761, 761, 761, 3333, 3333, 3333,
2891 761, 1287, 1287, 1287, 1287, 3333, 3333, 1287, 1287, 1295,
2892 1295, 1295, 1295, 3333, 3333, 1295, 1295, 771, 771, 771,
2893 3333, 3333, 3333, 771, 1301, 1301, 1301, 1301, 3333, 3333,
2894 1301, 1301, 776, 776, 776, 3333, 3333, 3333, 776, 787,
2895 787, 787, 787, 3333, 787, 3333, 787, 1322, 1322, 1322,
2897 1322, 3333, 3333, 1322, 1322, 796, 796, 796, 3333, 3333,
2898 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333, 1334, 1334,
2899 810, 810, 810, 3333, 3333, 3333, 810, 1359, 1359, 1359,
2900 1359, 3333, 3333, 1359, 1359, 821, 821, 821, 3333, 3333,
2901 3333, 821, 1368, 1368, 1368, 1368, 3333, 3333, 1368, 1368,
2902 827, 827, 827, 3333, 3333, 3333, 827, 1376, 1376, 1376,
2903 1376, 3333, 3333, 1376, 1376, 832, 832, 832, 832, 3333,
2904 832, 3333, 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386,
2905 1386, 839, 839, 839, 839, 3333, 839, 3333, 839, 1396,
2906 1396, 1396, 1396, 3333, 3333, 1396, 1396, 847, 847, 847,
2908 3333, 3333, 3333, 847, 1407, 1407, 1407, 1407, 3333, 3333,
2909 1407, 1407, 855, 855, 855, 855, 3333, 855, 3333, 855,
2910 1414, 1414, 1414, 1414, 3333, 3333, 1414, 1414, 1093, 1093,
2911 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1620, 1620, 1620,
2912 1620, 1620, 1620, 1620, 1620, 1620, 672, 672, 672, 3333,
2913 3333, 3333, 672, 1157, 1157, 1157, 1157, 3333, 3333, 1157,
2914 1157, 1163, 1163, 1163, 1163, 3333, 3333, 1163, 1163, 684,
2915 684, 684, 3333, 3333, 3333, 684, 1172, 1172, 1172, 1172,
2916 3333, 3333, 1172, 1172, 1182, 1182, 1182, 1182, 3333, 3333,
2917 1182, 1182, 1190, 1190, 1190, 1190, 3333, 3333, 1190, 1190,
2919 1206, 1206, 1206, 1206, 3333, 3333, 1206, 1206, 711, 711,
2920 711, 3333, 3333, 3333, 711, 1231, 1231, 1231, 1231, 3333,
2921 3333, 1231, 1231, 1238, 1238, 1238, 1238, 3333, 3333, 1238,
2922 1238, 732, 732, 732, 3333, 3333, 3333, 732, 1263, 1263,
2923 1263, 1263, 3333, 3333, 1263, 1263, 1268, 1268, 1268, 1268,
2924 3333, 3333, 1268, 1268, 753, 753, 753, 3333, 3333, 3333,
2925 753, 761, 761, 761, 3333, 3333, 3333, 761, 1287, 1287,
2926 1287, 1287, 3333, 3333, 1287, 1287, 1295, 1295, 1295, 1295,
2927 3333, 3333, 1295, 1295, 771, 771, 771, 3333, 3333, 3333,
2928 771, 776, 776, 776, 3333, 3333, 3333, 776, 1322, 1322,
2930 1322, 1322, 3333, 3333, 1322, 1322, 796, 796, 796, 796,
2931 3333, 796, 3333, 796, 1334, 1334, 1334, 1334, 3333, 3333,
2932 1334, 1334, 810, 810, 810, 3333, 3333, 3333, 810, 1359,
2933 1359, 1359, 1359, 3333, 3333, 1359, 1359, 821, 821, 821,
2934 3333, 3333, 3333, 821, 827, 827, 827, 3333, 3333, 3333,
2935 827, 1376, 1376, 1376, 1376, 3333, 3333, 1376, 1376, 832,
2936 832, 832, 3333, 3333, 3333, 832, 1386, 1386, 1386, 1386,
2937 3333, 3333, 1386, 1386, 839, 839, 839, 3333, 3333, 3333,
2938 839, 1396, 1396, 1396, 1396, 3333, 3333, 1396, 1396, 847,
2939 847, 847, 3333, 3333, 3333, 847, 1414, 1414, 1414, 1414,
2941 3333, 3333, 1414, 1414, 1093, 1093, 1093, 1093, 1093, 1093,
2942 1093, 1093, 1093, 1620, 1620, 1620, 1620, 1620, 1620, 1620,
2943 1620, 1620, 672, 672, 672, 3333, 3333, 3333, 672, 1157,
2944 1157, 1157, 1157, 3333, 3333, 1157, 1157, 1163, 1163, 1163,
2945 1163, 3333, 3333, 1163, 1163, 684, 684, 684, 684, 3333,
2946 684, 3333, 684, 1172, 1172, 1172, 1172, 3333, 3333, 1172,
2947 1172, 1182, 1182, 1182, 1182, 3333, 3333, 1182, 1182, 1190,
2948 1190, 1190, 1190, 3333, 3333, 1190, 1190, 1206, 1206, 1206,
2949 1206, 3333, 3333, 1206, 1206, 711, 711, 711, 3333, 3333,
2950 3333, 711, 1231, 1231, 1231, 1231, 3333, 3333, 1231, 1231,
2952 732, 732, 732, 3333, 3333, 3333, 732, 1263, 1263, 1263,
2953 1263, 3333, 3333, 1263, 1263, 1268, 1268, 1268, 1268, 3333,
2954 3333, 1268, 1268, 753, 753, 753, 753, 3333, 753, 3333,
2955 753, 761, 761, 761, 761, 3333, 761, 3333, 761, 1287,
2956 1287, 1287, 1287, 3333, 3333, 1287, 1287, 1295, 1295, 1295,
2957 1295, 3333, 3333, 1295, 1295, 771, 771, 771, 771, 3333,
2958 771, 3333, 771, 776, 776, 776, 3333, 3333, 3333, 776,
2959 1322, 1322, 1322, 1322, 3333, 3333, 1322, 1322, 796, 796,
2960 796, 796, 3333, 796, 3333, 796, 1334, 1334, 1334, 1334,
2961 3333, 3333, 1334, 1334, 810, 810, 810, 810, 3333, 810,
2963 3333, 810, 821, 821, 821, 3333, 3333, 3333, 821, 827,
2964 827, 827, 3333, 3333, 3333, 827, 832, 832, 832, 3333,
2965 3333, 3333, 832, 1386, 1386, 1386, 1386, 3333, 3333, 1386,
2966 1386, 839, 839, 839, 3333, 3333, 3333, 839, 1396, 1396,
2967 1396, 1396, 3333, 3333, 1396, 1396, 847, 847, 847, 3333,
2968 3333, 3333, 847, 1414, 1414, 1414, 1414, 3333, 3333, 1414,
2969 1414, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2970 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 1620, 672,
2971 672, 672, 3333, 3333, 3333, 672, 1163, 1163, 1163, 1163,
2972 3333, 3333, 1163, 1163, 1172, 1172, 1172, 1172, 3333, 3333,
2974 1172, 1172, 1182, 1182, 1182, 1182, 3333, 3333, 1182, 1182,
2975 1190, 1190, 1190, 1190, 3333, 3333, 1190, 1190, 711, 711,
2976 711, 3333, 3333, 3333, 711, 732, 732, 732, 3333, 3333,
2977 3333, 732, 1263, 1263, 1263, 1263, 3333, 3333, 1263, 1263,
2978 753, 753, 753, 3333, 3333, 3333, 753, 2879, 2879, 2879,
2979 2879, 2879, 2879, 2879, 2879, 2879, 2880, 2880, 2880, 2880,
2980 2880, 2880, 2880, 2880, 2880, 2942, 2942, 2942, 2942, 2942,
2981 2942, 2942, 2942, 2942, 2945, 2945, 2945, 2945, 2945, 2945,
2982 2945, 2945, 2945, 2993, 2993, 2993, 2993, 2993, 2993, 2993,
2983 2993, 2993, 2995, 2995, 2995, 2995, 2995, 2995, 2995, 2995,
2985 2995, 239, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2986 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2987 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2988 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2989 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2990 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2991 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
2992 3333, 3333, 3333, 3333, 3333, 3333
2995 static yyconst flex_int16_t yy_chk[11977] =
2997 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2998 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2999 4, 10, 331, 5, 0, 9, 6, 0, 10, 7,
3000 8, 8, 8, 244, 11, 13, 13, 12, 14, 14,
3001 13, 13, 282, 14, 14, 245, 8, 17, 17, 244,
3002 13, 15, 15, 14, 15, 248, 15, 16, 16, 1015,
3003 16, 245, 16, 18, 18, 1015, 15, 21, 21, 21,
3004 331, 248, 16, 22, 22, 22, 23, 23, 23, 24,
3005 24, 24, 355, 21, 25, 25, 25, 355, 1465, 22,
3006 343, 17, 23, 1469, 282, 24, 242, 242, 242, 1474,
3008 25, 243, 243, 243, 247, 247, 247, 18, 19, 19,
3009 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
3010 19, 19, 19, 401, 19, 19, 19, 19, 19, 26,
3011 26, 26, 27, 27, 27, 28, 28, 28, 343, 29,
3012 29, 29, 30, 30, 30, 26, 270, 287, 27, 291,
3013 365, 28, 301, 19, 19, 29, 291, 437, 30, 267,
3014 267, 267, 270, 287, 19, 275, 275, 275, 301, 437,
3015 258, 365, 401, 19, 20, 20, 20, 20, 20, 20,
3016 20, 20, 20, 20, 20, 20, 20, 20, 20, 543,
3017 20, 20, 20, 20, 20, 31, 31, 31, 32, 32,
3019 32, 33, 33, 33, 543, 34, 34, 34, 35, 35,
3020 35, 31, 258, 632, 32, 558, 632, 33, 258, 20,
3021 20, 34, 306, 258, 35, 36, 36, 36, 258, 306,
3022 20, 37, 37, 37, 38, 38, 38, 734, 306, 20,
3023 734, 36, 39, 39, 39, 1475, 311, 37, 1480, 323,
3024 38, 40, 40, 40, 284, 284, 284, 376, 39, 293,
3025 293, 293, 311, 558, 294, 323, 1481, 40, 41, 41,
3026 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
3027 41, 41, 41, 596, 41, 41, 41, 41, 41, 43,
3028 43, 43, 44, 44, 44, 45, 45, 45, 387, 46,
3030 46, 46, 47, 47, 47, 43, 370, 651, 44, 376,
3031 1496, 45, 294, 41, 41, 46, 294, 336, 47, 41,
3032 370, 651, 41, 298, 298, 298, 305, 305, 305, 308,
3033 308, 308, 596, 336, 41, 42, 42, 42, 42, 42,
3034 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
3035 387, 42, 42, 42, 42, 42, 48, 48, 48, 49,
3036 49, 49, 50, 50, 50, 368, 53, 53, 53, 54,
3037 54, 54, 48, 368, 1497, 49, 644, 318, 50, 368,
3038 42, 42, 53, 398, 318, 54, 42, 398, 403, 42,
3039 317, 317, 317, 318, 320, 320, 320, 329, 329, 329,
3041 644, 42, 51, 51, 51, 51, 51, 51, 51, 51,
3042 51, 51, 51, 51, 51, 51, 51, 623, 51, 51,
3043 51, 51, 51, 57, 57, 57, 58, 58, 58, 61,
3044 61, 61, 623, 62, 62, 62, 63, 63, 63, 57,
3045 403, 1499, 58, 1521, 656, 61, 666, 51, 51, 62,
3046 348, 363, 63, 64, 64, 64, 333, 333, 333, 341,
3047 341, 341, 345, 345, 345, 519, 348, 363, 656, 64,
3048 666, 51, 52, 52, 52, 52, 52, 52, 52, 52,
3049 52, 52, 52, 52, 52, 52, 52, 669, 52, 52,
3050 52, 52, 52, 65, 65, 65, 66, 66, 66, 67,
3052 67, 67, 519, 68, 68, 68, 71, 71, 71, 65,
3053 486, 669, 66, 358, 486, 67, 1522, 52, 52, 68,
3054 358, 851, 71, 72, 72, 72, 357, 357, 357, 358,
3055 360, 360, 360, 374, 374, 374, 378, 378, 378, 72,
3056 1525, 52, 55, 55, 55, 55, 55, 55, 55, 55,
3057 55, 55, 55, 55, 55, 55, 55, 851, 55, 55,
3058 55, 55, 55, 73, 73, 73, 74, 74, 74, 75,
3059 75, 75, 1527, 76, 76, 76, 77, 77, 77, 73,
3060 381, 392, 74, 554, 408, 75, 371, 55, 55, 76,
3061 554, 55, 77, 1529, 371, 1536, 381, 392, 55, 371,
3063 408, 55, 56, 56, 56, 56, 56, 56, 56, 56,
3064 56, 56, 56, 56, 56, 56, 56, 1537, 56, 56,
3065 56, 56, 56, 78, 78, 78, 81, 81, 81, 82,
3066 82, 82, 662, 85, 85, 85, 86, 86, 86, 78,
3067 420, 432, 81, 415, 446, 82, 662, 56, 56, 85,
3068 415, 56, 86, 385, 385, 385, 420, 432, 56, 415,
3069 446, 56, 59, 59, 59, 59, 59, 59, 59, 59,
3070 59, 59, 59, 59, 59, 59, 59, 1538, 59, 59,
3071 59, 59, 59, 87, 87, 87, 88, 88, 88, 89,
3072 89, 89, 427, 90, 90, 90, 91, 91, 91, 87,
3074 668, 1539, 88, 1541, 1547, 89, 1549, 59, 59, 90,
3075 457, 468, 91, 59, 668, 441, 59, 389, 389, 389,
3076 400, 400, 400, 405, 405, 405, 457, 468, 59, 60,
3077 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
3078 60, 60, 60, 60, 427, 60, 60, 60, 60, 60,
3079 92, 92, 92, 95, 95, 95, 96, 96, 96, 501,
3080 97, 97, 97, 98, 98, 98, 92, 441, 1128, 95,
3081 1551, 1552, 96, 1557, 60, 60, 97, 479, 490, 98,
3082 60, 1128, 503, 60, 414, 414, 414, 417, 417, 417,
3083 424, 424, 424, 479, 490, 60, 69, 69, 69, 69,
3085 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
3086 69, 501, 69, 69, 69, 69, 69, 99, 99, 99,
3087 100, 100, 100, 101, 101, 101, 505, 102, 102, 102,
3088 105, 105, 105, 99, 503, 1559, 100, 490, 1560, 101,
3089 1562, 69, 69, 102, 495, 510, 105, 69, 429, 429,
3090 429, 439, 439, 439, 443, 443, 443, 451, 451, 451,
3091 495, 510, 69, 70, 70, 70, 70, 70, 70, 70,
3092 70, 70, 70, 70, 70, 70, 70, 70, 505, 70,
3093 70, 70, 70, 70, 106, 106, 106, 107, 107, 107,
3094 108, 108, 108, 521, 109, 109, 109, 110, 110, 110,
3096 106, 1096, 526, 107, 452, 1096, 108, 1417, 70, 70,
3097 109, 452, 463, 110, 70, 454, 454, 454, 526, 463,
3098 452, 462, 462, 462, 465, 465, 465, 1417, 463, 70,
3099 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
3100 79, 79, 79, 79, 79, 521, 79, 79, 79, 79,
3101 79, 111, 111, 111, 112, 112, 112, 115, 115, 115,
3102 583, 116, 116, 116, 119, 119, 119, 111, 537, 551,
3103 112, 474, 563, 115, 1563, 79, 79, 116, 474, 79,
3104 119, 473, 473, 473, 537, 551, 79, 474, 563, 79,
3105 476, 476, 476, 79, 1564, 79, 79, 80, 80, 80,
3107 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
3108 80, 80, 583, 80, 80, 80, 80, 80, 120, 120,
3109 120, 121, 121, 121, 122, 122, 122, 670, 123, 123,
3110 123, 124, 124, 124, 120, 574, 588, 121, 489, 603,
3111 122, 670, 80, 80, 123, 489, 80, 124, 488, 488,
3112 488, 574, 588, 80, 489, 603, 80, 492, 492, 492,
3113 80, 1565, 80, 80, 83, 83, 83, 83, 83, 83,
3114 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3115 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3116 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3118 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3119 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3120 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
3121 83, 83, 83, 83, 83, 83, 83, 83, 93, 93,
3122 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
3123 93, 93, 93, 1568, 93, 93, 93, 93, 93, 125,
3124 125, 125, 126, 126, 126, 129, 129, 129, 1569, 130,
3125 130, 130, 131, 131, 131, 125, 614, 1570, 126, 1572,
3126 650, 129, 598, 93, 93, 130, 1575, 650, 131, 499,
3127 499, 499, 614, 650, 93, 94, 94, 94, 94, 94,
3129 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
3130 1584, 94, 94, 94, 94, 94, 132, 132, 132, 133,
3131 133, 133, 134, 134, 134, 1587, 135, 135, 135, 136,
3132 136, 136, 132, 502, 598, 133, 1595, 654, 134, 541,
3133 94, 94, 135, 541, 654, 136, 502, 541, 502, 280,
3134 654, 94, 103, 103, 103, 103, 103, 103, 103, 103,
3135 103, 103, 103, 103, 103, 103, 103, 1597, 103, 103,
3136 103, 103, 103, 139, 139, 139, 140, 140, 140, 143,
3137 143, 143, 645, 144, 144, 144, 1599, 280, 1600, 139,
3138 792, 862, 140, 645, 1229, 143, 645, 103, 103, 144,
3140 103, 280, 103, 280, 792, 280, 1229, 862, 103, 507,
3141 507, 507, 518, 518, 518, 103, 500, 888, 103, 104,
3142 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
3143 104, 104, 104, 104, 888, 104, 104, 104, 104, 104,
3144 147, 147, 147, 148, 148, 148, 151, 151, 151, 657,
3145 152, 152, 152, 1601, 1603, 500, 147, 980, 1608, 148,
3146 657, 1611, 151, 657, 104, 104, 152, 104, 500, 104,
3147 500, 523, 523, 523, 980, 104, 531, 531, 531, 534,
3148 534, 534, 104, 1612, 1079, 104, 113, 113, 113, 113,
3149 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
3151 113, 1079, 113, 113, 113, 113, 113, 153, 153, 153,
3152 154, 154, 154, 157, 157, 157, 1614, 158, 158, 158,
3153 159, 159, 159, 153, 1620, 1623, 154, 532, 546, 157,
3154 1626, 113, 113, 158, 532, 546, 159, 113, 545, 545,
3155 545, 1627, 113, 532, 546, 548, 548, 548, 556, 556,
3156 556, 560, 560, 560, 113, 114, 114, 114, 114, 114,
3157 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
3158 1628, 114, 114, 114, 114, 114, 160, 160, 160, 161,
3159 161, 161, 162, 162, 162, 1629, 163, 163, 163, 164,
3160 164, 164, 160, 1630, 1631, 161, 569, 661, 162, 1632,
3162 114, 114, 163, 569, 661, 164, 114, 568, 568, 568,
3163 661, 114, 569, 571, 571, 571, 581, 581, 581, 585,
3164 585, 585, 1633, 114, 117, 117, 117, 117, 117, 117,
3165 117, 117, 117, 117, 117, 117, 117, 117, 117, 1635,
3166 117, 117, 117, 117, 117, 165, 165, 165, 166, 166,
3167 166, 167, 167, 167, 790, 168, 168, 168, 169, 169,
3168 169, 165, 793, 1636, 166, 790, 1638, 167, 790, 117,
3169 117, 168, 1639, 793, 169, 1642, 793, 117, 118, 118,
3170 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
3171 118, 118, 118, 1643, 118, 118, 118, 118, 118, 170,
3173 170, 170, 171, 171, 171, 172, 172, 172, 1645, 173,
3174 173, 173, 174, 174, 174, 170, 1133, 1326, 171, 1647,
3175 1650, 172, 1619, 118, 118, 173, 1651, 1652, 174, 1133,
3176 1326, 118, 127, 127, 127, 127, 127, 127, 127, 127,
3177 127, 127, 127, 127, 127, 127, 127, 1619, 127, 127,
3178 127, 127, 127, 175, 175, 175, 176, 176, 176, 179,
3179 179, 179, 1653, 180, 180, 180, 181, 181, 181, 175,
3180 1654, 1656, 176, 608, 1657, 179, 1661, 127, 127, 180,
3181 608, 127, 181, 595, 595, 595, 1669, 1673, 127, 608,
3182 1674, 127, 600, 600, 600, 611, 611, 611, 127, 128,
3184 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
3185 128, 128, 128, 128, 1706, 128, 128, 128, 128, 128,
3186 182, 182, 182, 183, 183, 183, 184, 184, 184, 1707,
3187 185, 185, 185, 186, 186, 186, 182, 1714, 1725, 183,
3188 621, 1726, 184, 1727, 128, 128, 185, 621, 128, 186,
3189 620, 620, 620, 1728, 1730, 128, 621, 1738, 128, 622,
3190 622, 622, 631, 631, 631, 128, 137, 137, 137, 137,
3191 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
3192 137, 1740, 137, 137, 137, 137, 137, 189, 189, 189,
3193 190, 190, 190, 193, 193, 193, 1744, 194, 194, 194,
3195 197, 197, 197, 189, 1747, 1749, 190, 667, 1750, 193,
3196 1752, 137, 137, 194, 667, 1753, 197, 137, 1754, 1755,
3197 667, 631, 137, 138, 138, 138, 138, 138, 138, 138,
3198 138, 138, 138, 138, 138, 138, 138, 138, 1759, 138,
3199 138, 138, 138, 138, 198, 198, 198, 199, 199, 199,
3200 200, 200, 200, 1760, 201, 201, 201, 202, 202, 202,
3201 198, 1761, 1763, 199, 791, 794, 200, 1767, 138, 138,
3202 201, 791, 794, 202, 138, 1771, 1775, 791, 794, 138,
3203 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
3204 141, 141, 141, 141, 141, 1777, 141, 141, 141, 141,
3206 141, 203, 203, 203, 204, 204, 204, 207, 207, 207,
3207 1779, 208, 208, 208, 211, 211, 211, 203, 948, 1785,
3208 204, 1792, 1796, 207, 1797, 141, 141, 208, 948, 1799,
3209 211, 212, 212, 212, 1811, 948, 141, 865, 865, 865,
3210 1812, 865, 1113, 1113, 1113, 1813, 1815, 212, 1806, 141,
3211 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
3212 142, 142, 142, 142, 142, 1806, 142, 142, 142, 142,
3213 142, 213, 213, 213, 214, 214, 214, 215, 215, 215,
3214 1808, 216, 216, 216, 217, 217, 217, 213, 1801, 1814,
3215 214, 1816, 1818, 215, 1801, 142, 142, 216, 1801, 1819,
3217 217, 218, 218, 218, 1801, 1814, 142, 874, 874, 874,
3218 1820, 874, 1821, 1808, 874, 1823, 1807, 218, 1824, 142,
3219 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
3220 145, 145, 145, 145, 145, 1828, 145, 145, 145, 145,
3221 145, 221, 221, 221, 222, 222, 222, 223, 223, 223,
3222 1830, 224, 224, 224, 225, 225, 225, 221, 1807, 1831,
3223 222, 1832, 1834, 223, 1835, 145, 145, 224, 1836, 1833,
3224 225, 1134, 1134, 1134, 1433, 1433, 1433, 1837, 878, 878,
3225 878, 145, 897, 897, 897, 1833, 145, 146, 146, 146,
3226 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
3228 146, 146, 1840, 146, 146, 146, 146, 146, 226, 226,
3229 226, 227, 227, 227, 228, 228, 228, 1438, 1438, 1438,
3230 1433, 639, 639, 639, 226, 1842, 1847, 227, 1849, 1854,
3231 228, 1877, 146, 146, 231, 231, 232, 232, 639, 231,
3232 425, 232, 878, 909, 909, 909, 897, 1878, 146, 231,
3233 425, 232, 1879, 146, 149, 149, 149, 149, 149, 149,
3234 149, 149, 149, 149, 149, 149, 149, 149, 149, 1883,
3235 149, 149, 149, 149, 149, 235, 235, 235, 231, 425,
3236 232, 236, 236, 236, 1884, 425, 1890, 1891, 686, 686,
3237 686, 235, 425, 876, 876, 876, 425, 236, 279, 149,
3239 149, 1894, 149, 149, 149, 686, 1895, 909, 279, 1901,
3240 149, 876, 1907, 149, 991, 991, 991, 1441, 1441, 1441,
3241 149, 150, 150, 150, 150, 150, 150, 150, 150, 150,
3242 150, 150, 150, 150, 150, 150, 279, 150, 150, 150,
3243 150, 150, 702, 702, 702, 703, 703, 703, 1909, 1910,
3244 279, 1913, 279, 1919, 279, 713, 713, 713, 1921, 702,
3245 1927, 1931, 703, 916, 916, 916, 150, 150, 1934, 150,
3246 150, 150, 713, 1446, 1446, 1446, 1938, 150, 991, 1940,
3247 150, 916, 1435, 1435, 1435, 1941, 1942, 150, 155, 155,
3248 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
3250 155, 155, 155, 1943, 155, 155, 155, 155, 155, 715,
3251 715, 715, 729, 729, 729, 735, 735, 735, 744, 744,
3252 744, 745, 745, 745, 1945, 1951, 715, 1953, 1435, 729,
3253 1955, 1957, 735, 155, 155, 744, 1970, 1971, 745, 755,
3254 755, 755, 924, 924, 924, 1972, 924, 1975, 1976, 924,
3255 1978, 1452, 1452, 1452, 1979, 1980, 755, 155, 156, 156,
3256 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
3257 156, 156, 156, 1982, 156, 156, 156, 156, 156, 763,
3258 763, 763, 767, 767, 767, 780, 780, 780, 806, 806,
3259 806, 812, 812, 812, 1987, 1993, 763, 1452, 1977, 767,
3261 1987, 1994, 780, 156, 156, 806, 1977, 1981, 812, 829,
3262 829, 829, 938, 938, 938, 1981, 938, 1995, 1989, 938,
3263 1996, 1454, 1454, 1454, 2000, 2002, 829, 156, 177, 177,
3264 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
3265 177, 177, 177, 2003, 177, 177, 177, 177, 177, 835,
3266 835, 835, 841, 841, 841, 849, 849, 849, 873, 873,
3267 873, 912, 912, 912, 1989, 2004, 835, 1454, 2009, 841,
3268 2011, 2012, 849, 177, 177, 873, 2013, 2016, 912, 1988,
3269 2020, 177, 2027, 177, 2029, 2031, 177, 1455, 1455, 1455,
3270 177, 1634, 1634, 1634, 177, 178, 178, 178, 178, 178,
3272 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
3273 1988, 178, 178, 178, 178, 178, 2055, 877, 877, 877,
3274 914, 914, 914, 2056, 920, 920, 920, 913, 913, 913,
3275 915, 915, 915, 1802, 2057, 877, 2063, 914, 2064, 1802,
3276 178, 178, 920, 1802, 913, 2068, 2072, 915, 178, 1802,
3277 178, 2073, 2077, 178, 877, 2080, 2083, 178, 1637, 1637,
3278 1637, 178, 187, 187, 187, 187, 187, 187, 187, 187,
3279 187, 187, 187, 187, 187, 187, 187, 913, 187, 187,
3280 187, 187, 187, 917, 917, 917, 923, 923, 923, 915,
3281 2084, 2085, 913, 921, 921, 921, 926, 926, 926, 2086,
3283 2089, 917, 2092, 923, 928, 928, 928, 187, 187, 2096,
3284 2097, 921, 2098, 2110, 926, 940, 940, 940, 187, 940,
3285 917, 928, 940, 950, 950, 950, 2111, 950, 2114, 2116,
3286 950, 187, 188, 188, 188, 188, 188, 188, 188, 188,
3287 188, 188, 188, 188, 188, 188, 188, 2119, 188, 188,
3288 188, 188, 188, 927, 927, 927, 2126, 921, 930, 930,
3289 930, 931, 931, 931, 932, 932, 932, 929, 929, 929,
3290 2133, 927, 933, 933, 933, 930, 2135, 188, 188, 931,
3291 2136, 2137, 932, 2142, 929, 1640, 1640, 1640, 188, 933,
3292 953, 953, 953, 2143, 953, 2144, 2145, 953, 2146, 2147,
3294 927, 188, 191, 191, 191, 191, 191, 191, 191, 191,
3295 191, 191, 191, 191, 191, 191, 191, 929, 191, 191,
3296 191, 191, 191, 934, 934, 934, 935, 935, 935, 937,
3297 937, 937, 929, 2148, 2149, 932, 936, 936, 936, 2150,
3298 934, 946, 946, 946, 935, 2151, 937, 191, 191, 939,
3299 939, 939, 2162, 2163, 936, 2154, 191, 2166, 191, 946,
3300 2169, 2173, 191, 1641, 1641, 1641, 939, 191, 191, 192,
3301 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
3302 192, 192, 192, 192, 2174, 192, 192, 192, 192, 192,
3303 2177, 941, 941, 941, 2178, 949, 949, 949, 2154, 942,
3305 942, 942, 943, 943, 943, 2181, 2184, 936, 941, 944,
3306 944, 944, 949, 2185, 192, 192, 942, 2186, 2201, 943,
3307 967, 967, 967, 192, 967, 192, 944, 967, 2155, 192,
3308 1471, 1471, 1471, 2202, 192, 192, 195, 195, 195, 195,
3309 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
3310 195, 942, 195, 195, 195, 195, 195, 943, 2208, 2209,
3311 944, 2215, 2216, 952, 952, 952, 945, 945, 945, 954,
3312 954, 954, 964, 964, 964, 2155, 1471, 947, 947, 947,
3313 952, 195, 195, 945, 2217, 2231, 954, 195, 2203, 2232,
3314 964, 2233, 974, 974, 974, 947, 974, 2254, 2203, 974,
3316 2255, 2261, 195, 196, 196, 196, 196, 196, 196, 196,
3317 196, 196, 196, 196, 196, 196, 196, 196, 945, 196,
3318 196, 196, 196, 196, 947, 2266, 2268, 965, 965, 965,
3319 966, 966, 966, 968, 968, 968, 2269, 969, 969, 969,
3320 973, 973, 973, 2274, 2275, 965, 2276, 966, 196, 196,
3321 2277, 968, 2278, 2279, 196, 969, 2280, 973, 983, 983,
3322 983, 2281, 983, 2282, 2283, 983, 1644, 1644, 1644, 196,
3323 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
3324 205, 205, 205, 205, 205, 965, 205, 205, 205, 205,
3325 205, 978, 978, 978, 979, 979, 979, 2288, 969, 2289,
3327 982, 982, 982, 2291, 984, 984, 984, 2157, 2157, 978,
3328 2157, 2292, 979, 2293, 2294, 205, 205, 982, 2157, 2296,
3329 205, 984, 1649, 1649, 1649, 2157, 205, 206, 206, 206,
3330 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
3331 206, 206, 2287, 206, 206, 206, 206, 206, 2286, 985,
3332 985, 985, 2297, 985, 2300, 979, 985, 986, 986, 986,
3333 987, 987, 987, 989, 989, 989, 2301, 994, 994, 994,
3334 2304, 994, 206, 206, 994, 986, 2306, 206, 987, 2287,
3335 2286, 989, 2307, 206, 209, 209, 209, 209, 209, 209,
3336 209, 209, 209, 209, 209, 209, 209, 209, 209, 2309,
3338 209, 209, 209, 209, 209, 2310, 2312, 990, 990, 990,
3339 993, 993, 993, 998, 998, 998, 2313, 2290, 999, 999,
3340 999, 987, 1001, 1001, 1001, 990, 2290, 993, 2295, 209,
3341 209, 998, 209, 2314, 209, 2326, 999, 2295, 2327, 1001,
3342 209, 1002, 1002, 1002, 2328, 1002, 2329, 2332, 1002, 2333,
3343 2339, 209, 210, 210, 210, 210, 210, 210, 210, 210,
3344 210, 210, 210, 210, 210, 210, 210, 990, 210, 210,
3345 210, 210, 210, 999, 1003, 1003, 1003, 1005, 1005, 1005,
3346 2340, 1008, 1008, 1008, 2347, 2348, 1004, 1004, 1004, 1006,
3347 1006, 1006, 1003, 1006, 1005, 2349, 1006, 210, 210, 1008,
3349 210, 2357, 210, 2358, 1004, 1018, 1018, 1018, 210, 1018,
3350 2375, 2376, 1018, 1648, 1648, 1648, 1655, 1655, 1655, 210,
3351 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
3352 219, 219, 219, 219, 219, 2377, 219, 219, 219, 219,
3353 219, 1004, 1012, 1012, 1012, 1017, 1017, 1017, 2380, 1009,
3354 1009, 1009, 2382, 1013, 1013, 1013, 1019, 1019, 1019, 1648,
3355 1012, 2383, 1017, 2384, 2385, 219, 219, 1009, 2386, 2387,
3356 219, 1013, 2388, 1019, 2389, 2390, 219, 1040, 1040, 1040,
3357 219, 1040, 2391, 2392, 1040, 2393, 219, 220, 220, 220,
3358 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
3360 220, 220, 2398, 220, 220, 220, 220, 220, 2399, 2395,
3361 1009, 1022, 1022, 1022, 1013, 1658, 1658, 1658, 1023, 1023,
3362 1023, 1026, 1026, 1026, 1027, 1027, 1027, 2400, 2401, 1022,
3363 2402, 2403, 220, 220, 2404, 2405, 1023, 220, 2397, 1026,
3364 2406, 2407, 1027, 220, 1046, 1046, 1046, 220, 1046, 2395,
3365 2408, 1046, 2409, 220, 229, 229, 229, 229, 229, 229,
3366 229, 229, 229, 229, 229, 229, 229, 229, 229, 1023,
3367 229, 229, 229, 229, 229, 1036, 1036, 1036, 1037, 1037,
3368 1037, 2397, 1027, 2410, 1039, 1039, 1039, 1042, 1042, 1042,
3369 1043, 1043, 1043, 1036, 2411, 2414, 1037, 2415, 2416, 229,
3371 229, 1039, 1062, 1062, 1062, 1042, 1062, 229, 1043, 1062,
3372 229, 2417, 1646, 1646, 1646, 2419, 2420, 229, 230, 230,
3373 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
3374 230, 230, 230, 2431, 230, 230, 230, 230, 230, 1045,
3375 1045, 1045, 1037, 1047, 1047, 1047, 2432, 2434, 1049, 1049,
3376 1049, 1053, 1053, 1053, 1043, 2438, 1045, 1054, 1054, 1054,
3377 1047, 2439, 2440, 230, 230, 1049, 1068, 1068, 1068, 1053,
3378 1068, 230, 2442, 1068, 230, 1054, 1646, 1659, 1659, 1659,
3379 2443, 230, 233, 233, 233, 233, 233, 233, 233, 233,
3380 233, 233, 233, 233, 233, 233, 233, 2445, 233, 233,
3382 233, 233, 233, 2446, 1054, 1055, 1055, 1055, 1056, 1056,
3383 1056, 2396, 1057, 1057, 1057, 1058, 1058, 1058, 1059, 1059,
3384 1059, 2454, 1055, 2455, 2441, 1056, 2456, 233, 233, 1057,
3385 1061, 1061, 1061, 1058, 233, 2441, 1059, 1074, 1074, 1074,
3386 233, 1074, 2468, 2487, 1074, 2488, 2492, 1061, 2396, 233,
3387 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
3388 234, 234, 234, 234, 234, 2493, 234, 234, 234, 234,
3389 234, 1057, 1063, 1063, 1063, 1064, 1064, 1064, 2444, 1059,
3390 1067, 1067, 1067, 1070, 1070, 1070, 1071, 1071, 1071, 2444,
3391 1063, 2494, 2495, 1064, 2496, 234, 234, 1067, 1073, 1073,
3393 1073, 1070, 234, 2497, 1071, 1077, 1077, 1077, 234, 1078,
3394 1078, 1078, 1081, 1081, 1081, 1073, 2498, 234, 276, 1662,
3395 1662, 1662, 2499, 1077, 2500, 276, 2501, 1078, 2503, 1081,
3396 1085, 1085, 1085, 2506, 276, 276, 1064, 1082, 1082, 1082,
3397 2507, 1082, 2508, 2509, 1082, 1716, 1716, 1716, 1085, 1086,
3398 1086, 1086, 1071, 1091, 1091, 1091, 2460, 2503, 1092, 1092,
3399 1092, 2510, 276, 276, 276, 1662, 2460, 1086, 2504, 276,
3400 276, 1091, 2460, 276, 276, 1078, 1092, 276, 2511, 276,
3401 276, 276, 278, 1105, 1105, 1105, 2512, 1105, 2513, 2514,
3402 1105, 1109, 1109, 1109, 1110, 1110, 1110, 2515, 278, 278,
3404 1112, 1112, 1112, 1149, 1149, 1149, 1153, 1153, 1153, 1109,
3405 2504, 2482, 1110, 1086, 1156, 1156, 1156, 2505, 1112, 2516,
3406 1149, 2482, 1092, 1153, 2482, 2517, 278, 278, 278, 1817,
3407 1817, 1817, 1156, 278, 278, 2518, 2521, 278, 278, 2483,
3408 2522, 278, 2523, 278, 278, 278, 1150, 1150, 1150, 2483,
3409 1150, 2525, 2483, 1150, 1154, 1154, 1154, 2526, 1154, 2505,
3410 2531, 1154, 1157, 1157, 1157, 1159, 1159, 1159, 1162, 1162,
3411 1162, 1163, 1163, 1163, 1165, 1165, 1165, 1167, 1167, 1167,
3412 1157, 1167, 2536, 1159, 1167, 2537, 1162, 2538, 2539, 1163,
3413 2540, 2541, 1165, 1171, 1171, 1171, 1172, 1172, 1172, 1174,
3415 1174, 1174, 1175, 1175, 1175, 1176, 1176, 1176, 2335, 1176,
3416 2335, 1171, 1176, 2542, 1172, 2543, 2544, 1174, 2545, 1175,
3417 1179, 1179, 1179, 2335, 1180, 1180, 1180, 1165, 1180, 1159,
3418 2546, 1180, 1181, 1181, 1181, 2554, 2556, 1179, 1182, 1182,
3419 1182, 1184, 1184, 1184, 1185, 1185, 1185, 2560, 1174, 2561,
3420 1181, 1186, 1186, 1186, 2562, 1186, 1182, 2563, 1186, 1184,
3421 2564, 1185, 1187, 1187, 1187, 1188, 1188, 1188, 2565, 1188,
3422 2567, 2579, 1188, 1189, 1189, 1189, 1190, 1190, 1190, 1187,
3423 1192, 1192, 1192, 1193, 1193, 1193, 2336, 1193, 2336, 2580,
3424 1193, 1189, 2582, 2583, 1190, 1196, 1196, 1196, 1192, 1196,
3426 2574, 2336, 1196, 1184, 1199, 1199, 1199, 1200, 1200, 1200,
3427 2596, 1200, 2597, 2574, 1200, 1205, 1205, 1205, 1206, 1206,
3428 1206, 1199, 1208, 1208, 1208, 1212, 1212, 1212, 2575, 1212,
3429 2598, 2599, 1212, 1205, 2601, 2581, 1206, 1215, 1215, 1215,
3430 1208, 2575, 1192, 1216, 1216, 1216, 2602, 1216, 2581, 2603,
3431 1216, 1219, 1219, 1219, 1215, 1220, 1220, 1220, 2604, 1220,
3432 2607, 2610, 1220, 1230, 1230, 1230, 2158, 2158, 1219, 2158,
3433 1208, 1231, 1231, 1231, 1233, 1233, 1233, 2158, 1234, 1234,
3434 1234, 1230, 1234, 2611, 2158, 1234, 1237, 1237, 1237, 1231,
3435 2584, 2612, 1233, 1238, 1238, 1238, 1240, 1240, 1240, 1243,
3437 1243, 1243, 2613, 2584, 1237, 1244, 1244, 1244, 2607, 1244,
3438 2614, 1238, 1244, 2608, 1240, 2615, 1243, 1250, 1250, 1250,
3439 1251, 1251, 1251, 2461, 1253, 1253, 1253, 1255, 1255, 1255,
3440 1256, 1256, 1256, 2461, 1256, 1250, 2616, 1256, 1251, 2461,
3441 2617, 1233, 1253, 2618, 1255, 1259, 1259, 1259, 2608, 1259,
3442 2619, 2620, 1259, 1262, 1262, 1262, 1240, 1263, 1263, 1263,
3443 1265, 1265, 1265, 1266, 1266, 1266, 1267, 1267, 1267, 2621,
3444 2622, 1262, 1268, 1268, 1268, 1263, 2625, 2626, 1265, 2629,
3445 1266, 1270, 1270, 1270, 1267, 1278, 1278, 1278, 2635, 1253,
3446 1268, 1272, 1272, 1272, 2643, 1272, 2644, 2645, 1272, 1270,
3448 1279, 1279, 1279, 1278, 1281, 1281, 1281, 1283, 1283, 1283,
3449 2646, 1283, 2647, 2631, 1283, 1286, 1286, 1286, 1279, 1287,
3450 1287, 1287, 1281, 2631, 2648, 1265, 1289, 1289, 1289, 2632,
3451 1270, 2649, 2650, 1286, 1290, 1290, 1290, 1287, 1290, 2632,
3452 2651, 1290, 2652, 2653, 1289, 1294, 1294, 1294, 1295, 1295,
3453 1295, 1297, 1297, 1297, 1298, 1298, 1298, 1299, 1299, 1299,
3454 1300, 1300, 1300, 1294, 1281, 2657, 1295, 2660, 2661, 1297,
3455 2662, 1298, 2663, 2664, 1299, 1301, 1301, 1301, 1300, 1303,
3456 1303, 1303, 2665, 1308, 1308, 1308, 1289, 1308, 2666, 2669,
3457 1308, 2673, 2674, 1301, 1311, 1311, 1311, 1303, 1312, 1312,
3459 1312, 1297, 1312, 2675, 1299, 1312, 1315, 1315, 1315, 2676,
3460 2677, 1311, 1316, 1316, 1316, 1318, 1318, 1318, 1321, 1321,
3461 1321, 1322, 1322, 1322, 1315, 1324, 1324, 1324, 2678, 2679,
3462 1316, 2680, 2681, 1318, 2682, 2683, 1321, 2684, 2700, 1322,
3463 1329, 1329, 1329, 1324, 2701, 2702, 1303, 1333, 1333, 1333,
3464 1334, 1334, 1334, 1336, 1336, 1336, 2703, 1329, 2704, 2687,
3465 1338, 1338, 1338, 2705, 1338, 1333, 1318, 1338, 1334, 2687,
3466 2706, 1336, 1324, 1342, 1342, 1342, 1343, 1343, 1343, 1345,
3467 1345, 1345, 1347, 1347, 1347, 2688, 1347, 2707, 2713, 1347,
3468 2714, 1342, 2715, 2718, 1343, 2688, 2719, 1345, 1350, 1350,
3470 1350, 1351, 1351, 1351, 2720, 1351, 2721, 2724, 1351, 1352,
3471 1352, 1352, 2731, 2732, 1336, 1350, 1353, 1353, 1353, 2733,
3472 1354, 1354, 1354, 2709, 1354, 2734, 1352, 1354, 1356, 1356,
3473 1356, 2738, 2746, 1353, 1358, 1358, 1358, 1359, 1359, 1359,
3474 1345, 1361, 1361, 1361, 2747, 1356, 1362, 1362, 1362, 1363,
3475 1363, 1363, 1358, 1363, 2748, 1359, 1363, 2709, 2749, 1361,
3476 1364, 1364, 1364, 1362, 1365, 1365, 1365, 2750, 1365, 2751,
3477 2752, 1365, 1367, 1367, 1367, 2753, 2754, 1364, 1368, 1368,
3478 1368, 1370, 1370, 1370, 1372, 1372, 1372, 2755, 1372, 2761,
3479 1367, 1372, 1375, 1375, 1375, 2762, 1368, 2764, 2765, 1370,
3481 2767, 1361, 1376, 1376, 1376, 1378, 1378, 1378, 2768, 2769,
3482 1375, 1381, 1381, 1381, 2770, 1381, 2771, 2772, 1381, 2773,
3483 1376, 2774, 2775, 1378, 1385, 1385, 1385, 1386, 1386, 1386,
3484 2776, 1388, 1388, 1388, 1390, 1390, 1390, 2777, 1390, 2778,
3485 2779, 1390, 1385, 2782, 2783, 1386, 2784, 2785, 1370, 1388,
3486 1394, 1394, 1394, 1395, 1395, 1395, 1396, 1396, 1396, 1398,
3487 1398, 1398, 1400, 1400, 1400, 2793, 2794, 1394, 1404, 1404,
3488 1404, 1395, 1378, 2796, 1396, 2797, 2798, 1398, 2800, 1400,
3489 1401, 1401, 1401, 2808, 1401, 1404, 2809, 1401, 1406, 1406,
3490 1406, 2811, 1388, 1407, 1407, 1407, 1409, 1409, 1409, 1411,
3492 1411, 1411, 2812, 1413, 1413, 1413, 1406, 1414, 1414, 1414,
3493 2813, 1407, 2815, 2820, 1409, 2821, 1411, 1416, 1416, 1416,
3494 1398, 1413, 1418, 1418, 1418, 1414, 1424, 1424, 1424, 1404,
3495 1461, 1461, 1461, 2802, 1461, 1416, 2822, 1461, 2823, 2825,
3496 1418, 1418, 2829, 1409, 1424, 1466, 1466, 1466, 2830, 1466,
3497 2832, 2833, 1466, 1470, 1470, 1470, 1472, 1472, 1472, 1473,
3498 1473, 1473, 2834, 2836, 1416, 1476, 1476, 1476, 1477, 1477,
3499 1477, 1470, 1477, 1472, 2837, 1477, 2802, 1473, 1482, 1482,
3500 1482, 2842, 1482, 1476, 2843, 1482, 1485, 1485, 1485, 1486,
3501 1486, 1486, 2844, 1486, 2845, 2846, 1486, 2847, 1489, 1489,
3503 1489, 2848, 1489, 2849, 1485, 1489, 1492, 1492, 1492, 1493,
3504 1493, 1493, 2850, 1493, 1470, 2851, 1493, 1498, 1498, 1498,
3505 2852, 2853, 1476, 2854, 1492, 2855, 1473, 1500, 1500, 1500,
3506 1501, 1501, 1501, 1485, 1498, 1502, 1502, 1502, 1503, 1503,
3507 1503, 1504, 1504, 1504, 2856, 1500, 2857, 1501, 1509, 1509,
3508 1509, 2858, 1502, 1492, 2862, 1503, 2863, 2864, 1504, 1505,
3509 1505, 1505, 2865, 1505, 2868, 1509, 1505, 1506, 1506, 1506,
3510 2869, 1506, 2870, 2871, 1506, 1510, 1510, 1510, 1511, 1511,
3511 1511, 2872, 1500, 2873, 2882, 1503, 1512, 1512, 1512, 1513,
3512 1513, 1513, 1510, 2875, 2878, 1511, 1514, 1514, 1514, 1509,
3514 2883, 1502, 2885, 1512, 2886, 2878, 1513, 1515, 1515, 1515,
3515 1516, 1516, 1516, 1514, 1517, 1517, 1517, 1518, 1518, 1518,
3516 2888, 2877, 1510, 2890, 1515, 2893, 2899, 1516, 1519, 1519,
3517 1519, 1517, 2900, 1512, 1518, 2877, 1520, 1520, 1520, 2875,
3518 1523, 1523, 1523, 1524, 1524, 1524, 1519, 1524, 1511, 2902,
3519 1524, 2903, 2905, 1513, 1520, 2916, 1514, 1523, 1526, 1526,
3520 1526, 1528, 1528, 1528, 1530, 1530, 1530, 1531, 1531, 1531,
3521 2918, 1531, 2920, 2921, 1531, 1526, 1517, 2895, 1518, 1528,
3522 1516, 1530, 1532, 1532, 1532, 1533, 1533, 1533, 1520, 2895,
3523 1534, 1534, 1534, 1519, 1534, 2924, 2925, 1534, 2928, 2930,
3525 1532, 2932, 1533, 1535, 1535, 1535, 1540, 1540, 1540, 2934,
3526 1542, 1542, 1542, 1543, 1543, 1543, 2935, 1544, 1544, 1544,
3527 2937, 1535, 2938, 2944, 1540, 2943, 2943, 1528, 1542, 2896,
3528 1543, 2945, 1545, 1545, 1545, 1544, 1546, 1546, 1546, 2910,
3529 1546, 2896, 2945, 1546, 1548, 1548, 1548, 2911, 1532, 1545,
3530 2941, 2910, 1550, 1550, 1550, 2946, 1556, 1556, 1556, 2911,
3531 2949, 1535, 1548, 1540, 1558, 1558, 1558, 1542, 1544, 1550,
3532 1553, 1553, 1553, 1556, 1553, 2942, 2950, 1553, 1561, 1561,
3533 1561, 2951, 1558, 1566, 1566, 1566, 1567, 1567, 1567, 2942,
3534 1567, 2941, 2955, 1567, 2952, 2956, 1561, 1571, 1571, 1571,
3536 1566, 1573, 1573, 1573, 1548, 1574, 1574, 1574, 2957, 1576,
3537 1576, 1576, 2952, 1576, 2964, 1571, 1576, 2966, 1573, 1579,
3538 1579, 1579, 2970, 1574, 2958, 1580, 1580, 1580, 1558, 1580,
3539 2971, 2881, 1580, 1581, 1581, 1581, 1579, 1581, 2972, 2958,
3540 1581, 1585, 1585, 1585, 1561, 2963, 1571, 1586, 1586, 1586,
3541 2881, 1586, 2881, 2973, 1586, 1588, 1588, 1588, 1585, 1589,
3542 1589, 1589, 2976, 1589, 2963, 2881, 1589, 1574, 1592, 1592,
3543 1592, 2978, 1592, 1588, 2965, 1592, 1596, 1596, 1596, 1598,
3544 1598, 1598, 1602, 1602, 1602, 1604, 1604, 1604, 2980, 1605,
3545 1605, 1605, 2981, 2965, 1596, 2982, 2983, 1598, 2984, 2985,
3547 1602, 2993, 1604, 2994, 2995, 1588, 1605, 1606, 1606, 1606,
3548 2997, 1606, 2998, 2975, 1606, 1607, 1607, 1607, 1609, 1609,
3549 1609, 1610, 1610, 1610, 2977, 1610, 2999, 3001, 1610, 1613,
3550 1613, 1613, 2975, 1607, 3002, 1609, 1615, 1615, 1615, 1617,
3551 1617, 1617, 1596, 2977, 3003, 1598, 1602, 1613, 1616, 1616,
3552 1616, 3004, 1616, 1615, 3006, 1616, 1617, 1618, 1618, 1618,
3553 3009, 3010, 1621, 1621, 1621, 1660, 1660, 1660, 1663, 1663,
3554 1663, 1664, 1664, 1664, 3011, 1618, 3012, 3013, 1613, 1607,
3555 1621, 1665, 1665, 1665, 1666, 1666, 1666, 1667, 1667, 1667,
3556 1668, 1668, 1668, 1670, 1670, 1670, 3014, 3015, 1665, 3016,
3558 3017, 1666, 3018, 3021, 1667, 3022, 1618, 3023, 1668, 3024,
3559 1670, 3025, 3026, 1621, 1671, 1671, 1671, 3029, 1671, 3030,
3560 3031, 1671, 1672, 1672, 1672, 1675, 1675, 1675, 3032, 1660,
3561 1621, 3033, 1663, 3034, 3036, 1664, 1676, 1676, 1676, 3037,
3562 1672, 3038, 3039, 1675, 1677, 1677, 1677, 1678, 1678, 1678,
3563 3040, 1667, 3041, 1676, 1679, 1679, 1679, 1668, 1680, 1680,
3564 1680, 1677, 1681, 1681, 1681, 1678, 1682, 1682, 1682, 1685,
3565 1685, 1685, 1679, 1675, 3042, 1680, 1684, 1684, 1684, 1681,
3566 3043, 1672, 3044, 1682, 1683, 1683, 1683, 1685, 1683, 3048,
3567 3046, 1683, 3049, 1684, 1686, 1686, 1686, 1687, 1687, 1687,
3569 3050, 1687, 3046, 3051, 1687, 1688, 1688, 1688, 1689, 1689,
3570 1689, 1686, 1678, 3052, 1690, 1690, 1690, 3053, 1690, 1679,
3571 1681, 1690, 1688, 3054, 3056, 1689, 1693, 1693, 1693, 1685,
3572 1694, 1694, 1694, 1695, 1695, 1695, 1696, 1696, 1696, 1697,
3573 1697, 1697, 3047, 1693, 1698, 1698, 1698, 1694, 3061, 2884,
3574 1695, 3062, 3063, 1696, 3047, 3064, 1697, 1699, 1699, 1699,
3575 3065, 1698, 1700, 1700, 1700, 2884, 1700, 2884, 3066, 1700,
3576 3070, 3071, 1689, 3073, 1699, 1701, 1701, 1701, 3075, 1694,
3577 2884, 1702, 1702, 1702, 3078, 1697, 1703, 1703, 1703, 3079,
3578 1693, 3076, 1701, 3080, 1696, 3081, 3082, 1698, 1702, 1704,
3580 1704, 1704, 3083, 1703, 1705, 1705, 1705, 1708, 1708, 1708,
3581 3084, 1708, 3085, 3086, 1708, 3087, 3076, 1704, 1711, 1711,
3582 1711, 3088, 1705, 1712, 1712, 1712, 3089, 3090, 1702, 1713,
3583 1713, 1713, 3091, 1713, 3092, 1711, 1713, 3093, 3094, 1703,
3584 1712, 3095, 1715, 1715, 1715, 1717, 1717, 1717, 3098, 1717,
3585 3099, 3100, 1717, 1720, 1720, 1720, 1724, 1724, 1724, 1705,
3586 1715, 3101, 1721, 1721, 1721, 1704, 1721, 3102, 3103, 1721,
3587 3106, 1720, 3107, 3108, 1724, 1729, 1729, 1729, 1731, 1731,
3588 1731, 1732, 1732, 1732, 1733, 1733, 1733, 3109, 1733, 3110,
3589 3111, 1733, 3108, 1729, 3112, 3113, 1731, 3114, 1732, 1720,
3591 1734, 1734, 1734, 1735, 1735, 1735, 3115, 1735, 3116, 3117,
3592 1735, 1739, 1739, 1739, 1741, 1741, 1741, 3118, 1734, 1743,
3593 1743, 1743, 3119, 1724, 1731, 3120, 1742, 1742, 1742, 1739,
3594 1742, 1741, 3121, 1742, 3122, 3123, 1743, 1745, 1745, 1745,
3595 1746, 1746, 1746, 3124, 1746, 3125, 3126, 1746, 1748, 1748,
3596 1748, 1751, 1751, 1751, 1745, 1756, 1756, 1756, 1734, 1756,
3597 3127, 3128, 1756, 1762, 1762, 1762, 1748, 3129, 3130, 1751,
3598 1764, 1764, 1764, 1766, 1766, 1766, 3131, 1739, 1765, 1765,
3599 1765, 1762, 1765, 3132, 3136, 1765, 3137, 1764, 1768, 1768,
3600 1768, 1766, 1768, 3139, 3140, 1768, 3141, 1772, 1772, 1772,
3602 3143, 1772, 3135, 1751, 1772, 1776, 1776, 1776, 1778, 1778,
3603 1778, 1780, 1780, 1780, 1762, 1781, 1781, 1781, 1782, 1782,
3604 1782, 3144, 3135, 1776, 3145, 3146, 1778, 3147, 3148, 1780,
3605 3149, 3150, 1781, 3151, 3152, 1782, 1783, 1783, 1783, 1784,
3606 1784, 1784, 3153, 1786, 1786, 1786, 3154, 1787, 1787, 1787,
3607 3155, 1787, 3156, 1783, 1787, 3157, 3158, 1784, 3159, 1778,
3608 1786, 3161, 1780, 1788, 1788, 1788, 1776, 1788, 3162, 3164,
3609 1788, 1791, 1791, 1791, 1793, 1793, 1793, 3160, 1793, 3165,
3610 3167, 1793, 3168, 3160, 1782, 3169, 1784, 3170, 3171, 1791,
3611 1798, 1798, 1798, 1800, 1800, 1800, 3172, 1800, 3174, 3175,
3613 1800, 3177, 1803, 1803, 1803, 1804, 1804, 1804, 1798, 1804,
3614 3178, 3180, 1804, 1805, 1805, 1805, 3181, 3184, 1791, 1803,
3615 1810, 1810, 1810, 1822, 1822, 1822, 1825, 1825, 1825, 3186,
3616 3188, 1805, 1826, 1826, 1826, 3189, 3190, 1810, 1827, 1827,
3617 1827, 1798, 1829, 1829, 1829, 1838, 1838, 1838, 1839, 1839,
3618 1839, 1841, 1841, 1841, 1843, 1843, 1843, 3191, 1844, 1844,
3619 1844, 3183, 1844, 3193, 1805, 1844, 1845, 1845, 1845, 3195,
3620 3197, 1843, 1846, 1846, 1846, 3183, 1846, 3199, 3201, 1846,
3621 1848, 1848, 1848, 1845, 1850, 1850, 1850, 3202, 1850, 3203,
3622 3204, 1850, 1853, 1853, 1853, 1855, 1855, 1855, 1848, 1856,
3624 1856, 1856, 1857, 1857, 1857, 3205, 3206, 1858, 1858, 1858,
3625 1853, 1858, 1855, 3207, 1858, 3208, 3209, 1856, 3210, 1857,
3626 1859, 1859, 1859, 1860, 1860, 1860, 3214, 1860, 3216, 3218,
3627 1860, 1861, 1861, 1861, 1862, 1862, 1862, 1859, 1863, 1863,
3628 1863, 3219, 3220, 1853, 3221, 3238, 1848, 3230, 3222, 1861,
3629 3236, 1464, 1862, 3238, 3236, 1863, 3231, 1864, 1864, 1864,
3630 1856, 1864, 3223, 3232, 1864, 1865, 1865, 1865, 1866, 1866,
3631 1866, 1460, 1866, 3233, 1459, 1866, 1869, 1869, 1869, 1870,
3632 1870, 1870, 1865, 1870, 3222, 3234, 1870, 1871, 1871, 1871,
3633 1872, 1872, 1872, 1869, 1872, 3230, 1861, 1872, 3223, 1862,
3635 1875, 1875, 1875, 3235, 3231, 1871, 1876, 1876, 1876, 3242,
3636 1876, 3232, 3244, 1876, 1880, 1880, 1880, 1875, 1881, 1881,
3637 1881, 3233, 1881, 3250, 3329, 1881, 1882, 1882, 1882, 3234,
3638 3245, 1880, 1885, 1885, 1885, 3329, 1885, 3248, 1871, 1885,
3639 1888, 1888, 1888, 1882, 1889, 1889, 1889, 3235, 1889, 3244,
3640 1458, 1889, 1892, 1892, 1892, 1457, 3242, 1888, 1893, 1893,
3641 1893, 1896, 1896, 1896, 1897, 1897, 1897, 3245, 1897, 3250,
3642 1892, 1897, 3248, 1898, 1898, 1898, 1893, 1898, 1896, 3246,
3643 1898, 1902, 1902, 1902, 1904, 1904, 1904, 1905, 1905, 1905,
3644 1906, 1906, 1906, 1908, 1908, 1908, 1911, 1911, 1911, 1902,
3646 1914, 1914, 1914, 1892, 3239, 1905, 3243, 1456, 1906, 3237,
3647 1908, 1893, 3239, 3237, 1911, 1915, 1915, 1915, 1914, 1915,
3648 3246, 3260, 1915, 1918, 1918, 1918, 1920, 1920, 1920, 1922,
3649 1922, 1922, 3254, 1922, 3240, 3241, 1922, 3251, 1453, 1908,
3650 1906, 1918, 3240, 3241, 1920, 1905, 1925, 1925, 1925, 1914,
3651 1926, 1926, 1926, 3243, 1926, 3260, 3247, 1926, 1928, 1928,
3652 1928, 3252, 1928, 1925, 3254, 1928, 1932, 1932, 1932, 1918,
3653 1935, 1935, 1935, 1936, 1936, 1936, 1937, 1937, 1937, 1939,
3654 1939, 1939, 3249, 3251, 1932, 3261, 3262, 1935, 1944, 1944,
3655 1944, 1936, 1946, 1946, 1946, 3253, 1946, 3247, 3252, 1946,
3657 1949, 1949, 1949, 1952, 1952, 1952, 1944, 1954, 1954, 1954,
3658 1956, 1956, 1956, 1958, 1958, 1958, 3263, 3249, 1949, 3261,
3659 1952, 1959, 1959, 1959, 3255, 1954, 3258, 3259, 1956, 3262,
3660 3266, 1958, 3253, 3264, 1936, 1960, 1960, 1960, 1959, 1960,
3661 3256, 1451, 1960, 1961, 1961, 1961, 1962, 1962, 1962, 3256,
3662 1963, 1963, 1963, 1944, 1963, 3257, 3255, 1963, 1450, 3263,
3663 1961, 3258, 3259, 1962, 3257, 3266, 1954, 1964, 1964, 1964,
3664 1965, 1965, 1965, 3280, 1966, 1966, 1966, 1958, 1966, 3264,
3665 3267, 1966, 1969, 1969, 1969, 1964, 1449, 1965, 3284, 1961,
3666 1973, 1973, 1973, 1974, 1974, 1974, 1448, 1983, 1983, 1983,
3668 1969, 1983, 3280, 1447, 1983, 1986, 1986, 1986, 1973, 1445,
3669 1974, 1990, 1990, 1990, 1444, 3267, 1965, 1991, 1991, 1991,
3670 1964, 1991, 3284, 1986, 1991, 1992, 1992, 1992, 1990, 1997,
3671 1997, 1997, 1998, 1998, 1998, 1969, 1999, 1999, 1999, 2001,
3672 2001, 2001, 2005, 2005, 2005, 2006, 2006, 2006, 2007, 2007,
3673 2007, 1986, 2008, 2008, 2008, 2010, 2010, 2010, 2014, 2014,
3674 2014, 2015, 2015, 2015, 2017, 2017, 2017, 2018, 2018, 2018,
3675 2019, 2019, 2019, 2021, 2021, 2021, 3265, 2021, 3268, 3281,
3676 2021, 2024, 2024, 2024, 1443, 2024, 3272, 3269, 2024, 2028,
3677 2028, 2028, 2030, 2030, 2030, 2032, 2032, 2032, 2008, 2033,
3679 2033, 2033, 3274, 2033, 3276, 3275, 2033, 2028, 3281, 3290,
3680 2030, 3268, 2032, 2034, 2034, 2034, 2019, 2035, 2035, 2035,
3681 3269, 2035, 3265, 3272, 2035, 2038, 2038, 2038, 3273, 2038,
3682 3270, 2034, 2038, 2041, 2041, 2041, 2042, 2042, 2042, 3270,
3683 2028, 2043, 2043, 2043, 3274, 2043, 3271, 3275, 2043, 3291,
3684 3276, 2041, 2030, 2041, 2042, 3271, 3290, 2046, 2046, 2046,
3685 2047, 2047, 2047, 1442, 2047, 3273, 3294, 2047, 2051, 2051,
3686 2051, 3278, 2042, 2034, 2046, 2048, 2048, 2048, 3279, 2048,
3687 3282, 3277, 2048, 2052, 2052, 2052, 2051, 2052, 3283, 3282,
3688 2052, 2058, 2058, 2058, 3285, 2058, 3291, 3283, 2058, 2061,
3690 2061, 2061, 2062, 2062, 2062, 3288, 2062, 3294, 3278, 2062,
3691 2065, 2065, 2065, 3288, 2065, 3279, 2061, 2065, 2069, 2069,
3692 2069, 2070, 2070, 2070, 2071, 2071, 2071, 3277, 3285, 2074,
3693 2074, 2074, 3289, 2074, 2051, 2069, 2074, 3286, 1440, 2070,
3694 3289, 3287, 2071, 2078, 2078, 2078, 2079, 2079, 2079, 2081,
3695 2081, 2081, 2082, 2082, 2082, 3295, 2082, 1439, 1437, 2082,
3696 1436, 2078, 1434, 1432, 2079, 3292, 2081, 3293, 2087, 2087,
3697 2087, 2088, 2088, 2088, 2090, 2090, 2090, 2093, 2093, 2093,
3698 1431, 2093, 3320, 3286, 2093, 2070, 2087, 3287, 3296, 2088,
3699 3298, 3320, 2090, 2099, 2099, 2099, 3295, 2079, 2078, 2100,
3701 2100, 2100, 3292, 2100, 3293, 3300, 2100, 2101, 2101, 2101,
3702 2099, 2102, 2102, 2102, 2103, 2103, 2103, 2104, 2104, 2104,
3703 2105, 2105, 2105, 3296, 3297, 2101, 2106, 2106, 2106, 2107,
3704 2107, 2107, 3302, 2088, 2087, 1430, 3298, 2105, 2108, 2108,
3705 2108, 3299, 3300, 2106, 3303, 3304, 2107, 2109, 2109, 2109,
3706 2112, 2112, 2112, 3304, 3301, 2108, 2113, 2113, 2113, 3297,
3707 2113, 3328, 1429, 2113, 3302, 2109, 3310, 2112, 2115, 2115,
3708 2115, 2101, 2117, 2117, 2117, 3328, 3303, 2106, 2120, 2120,
3709 2120, 2121, 2121, 2121, 3305, 2121, 2115, 3299, 2121, 3306,
3710 2117, 3301, 3305, 2107, 3312, 1428, 2120, 2108, 2124, 2124,
3712 2124, 2125, 2125, 2125, 3314, 2125, 3311, 3310, 2125, 2127,
3713 2127, 2127, 2109, 2127, 1427, 2124, 2127, 2130, 2130, 2130,
3714 2131, 2131, 2131, 2132, 2132, 2132, 1426, 2132, 3308, 3312,
3715 2132, 2134, 2134, 2134, 3307, 2130, 3306, 2131, 2138, 2138,
3716 2138, 2140, 2140, 2140, 2141, 2141, 2141, 3311, 2141, 2134,
3717 3314, 2141, 2152, 2152, 2152, 1423, 2138, 1422, 2140, 2153,
3718 2153, 2153, 2156, 2156, 2156, 3308, 2156, 1421, 2130, 2156,
3719 2152, 2159, 2159, 2159, 2160, 2160, 2160, 2153, 2161, 2161,
3720 2161, 3307, 2134, 2164, 2164, 2164, 2165, 2165, 2165, 2167,
3721 2167, 2167, 2168, 2168, 2168, 2170, 2170, 2170, 2171, 2171,
3723 2171, 2152, 2172, 2172, 2172, 2175, 2175, 2175, 2176, 2176,
3724 2176, 2179, 2179, 2179, 2180, 2180, 2180, 2182, 2182, 2182,
3725 2183, 2183, 2183, 2187, 2187, 2187, 2188, 2188, 2188, 2189,
3726 2189, 2189, 2190, 2190, 2190, 2191, 2191, 2191, 3309, 2191,
3727 3315, 2187, 2191, 2194, 2194, 2194, 3313, 2189, 3318, 2190,
3728 2195, 2195, 2195, 2196, 2196, 2196, 2197, 2197, 2197, 3316,
3729 2197, 2194, 1412, 2197, 2200, 2200, 2200, 1410, 2195, 3321,
3730 3319, 2196, 2204, 2204, 2204, 3309, 2204, 1405, 3321, 2204,
3731 3318, 3313, 2200, 2207, 2207, 2207, 3315, 2195, 2210, 2210,
3732 2210, 2212, 2212, 2212, 2194, 2189, 3316, 2211, 2211, 2211,
3734 2207, 2211, 3319, 1399, 2211, 2210, 2213, 2213, 2213, 2212,
3735 2218, 2218, 2218, 3324, 2196, 2219, 2219, 2219, 2220, 2220,
3736 2220, 2224, 2224, 2224, 2213, 2221, 2221, 2221, 2218, 2221,
3737 3317, 3322, 2221, 2219, 1393, 2220, 3323, 3325, 2224, 2225,
3738 2225, 2225, 2226, 2226, 2226, 2227, 2227, 2227, 2228, 2228,
3739 2228, 2229, 2229, 2229, 3326, 1389, 2225, 1384, 1380, 2226,
3740 3327, 3324, 2227, 3322, 2220, 1379, 2228, 3317, 3323, 2229,
3741 2218, 2230, 2230, 2230, 1371, 1366, 2224, 2234, 2234, 2234,
3742 2235, 2235, 2235, 1357, 2235, 3325, 3326, 2235, 2230, 2238,
3743 2238, 2238, 3327, 2226, 2239, 2239, 2239, 2240, 2240, 2240,
3745 2225, 1355, 2241, 2241, 2241, 1346, 2241, 2238, 2228, 2241,
3746 2242, 2242, 2242, 1341, 2240, 2229, 2243, 2243, 2243, 2244,
3747 2244, 2244, 2245, 2245, 2245, 1337, 1332, 2242, 2246, 2246,
3748 2246, 1331, 1330, 2243, 1328, 1327, 2244, 2247, 2247, 2247,
3749 2245, 1325, 2248, 2248, 2248, 1320, 2248, 1319, 2238, 2248,
3750 1314, 2251, 2251, 2251, 2247, 2252, 2252, 2252, 2256, 2256,
3751 2256, 1313, 2258, 2258, 2258, 1307, 2258, 2243, 2251, 2258,
3752 2244, 1306, 1305, 2252, 1304, 1293, 2256, 2262, 2262, 2262,
3753 2263, 2263, 2263, 1282, 2263, 1277, 1276, 2263, 2267, 2267,
3754 2267, 1275, 2271, 2271, 2271, 2262, 2271, 1271, 1254, 2271,
3756 2284, 2284, 2284, 2285, 2285, 2285, 2267, 2298, 2298, 2298,
3757 2299, 2299, 2299, 2302, 2302, 2302, 1249, 2251, 2284, 1248,
3758 1247, 2285, 2303, 2303, 2303, 2305, 2305, 2305, 2308, 2308,
3759 2308, 2311, 2311, 2311, 2267, 2315, 2315, 2315, 2317, 2317,
3760 2317, 2318, 2318, 2318, 1242, 2319, 2319, 2319, 2320, 2320,
3761 2320, 1241, 2320, 2315, 1228, 2320, 2321, 2321, 2321, 2318,
3762 1227, 2284, 2319, 1226, 1225, 2285, 2322, 2322, 2322, 2323,
3763 2323, 2323, 1224, 1223, 2321, 2324, 2324, 2324, 2330, 2330,
3764 2330, 2331, 2331, 2331, 2322, 2331, 1222, 2323, 2331, 1221,
3765 2334, 2334, 2334, 2324, 2334, 2330, 1211, 2334, 2337, 2337,
3767 2337, 2341, 2341, 2341, 2342, 2342, 2342, 2343, 2343, 2343,
3768 2345, 2345, 2345, 2346, 2346, 2346, 2337, 2346, 2341, 1210,
3769 2346, 1209, 2342, 1204, 1203, 2343, 1202, 2345, 1201, 1178,
3770 2322, 2350, 2350, 2350, 1177, 1170, 2323, 2351, 2351, 2351,
3771 2352, 2352, 2352, 1166, 2352, 1161, 1160, 2352, 2350, 2353,
3772 2353, 2353, 1155, 1152, 2351, 2354, 2354, 2354, 2355, 2355,
3773 2355, 2342, 2356, 2356, 2356, 1151, 2356, 2353, 1148, 2356,
3774 2359, 2359, 2359, 2354, 1147, 2355, 2360, 2360, 2360, 2361,
3775 2361, 2361, 2362, 2362, 2362, 1146, 2362, 2359, 1145, 2362,
3776 2365, 2365, 2365, 1144, 2366, 2366, 2366, 2361, 2366, 1143,
3778 1142, 2366, 2367, 2367, 2367, 1141, 1140, 2365, 2368, 2368,
3779 2368, 2369, 2369, 2369, 1139, 1138, 2354, 1137, 1136, 2367,
3780 2371, 2371, 2371, 1135, 1132, 2368, 2372, 2372, 2372, 2369,
3781 2373, 2373, 2373, 1131, 2373, 1130, 1129, 2373, 2374, 2374,
3782 2374, 1127, 1126, 2372, 2378, 2378, 2378, 2381, 2381, 2381,
3783 2394, 2394, 2394, 1125, 1124, 2374, 2412, 2412, 2412, 2413,
3784 2413, 2413, 2378, 1123, 1122, 2381, 1121, 1120, 2394, 2418,
3785 2418, 2418, 2421, 2421, 2421, 1119, 2422, 2422, 2422, 2424,
3786 2424, 2424, 1118, 2424, 1117, 1116, 2424, 1115, 1114, 2421,
3787 2427, 2427, 2427, 2374, 2422, 1108, 2429, 2429, 2429, 2430,
3789 2430, 2430, 2433, 2433, 2433, 2435, 2435, 2435, 2427, 2435,
3790 2394, 1104, 2435, 2381, 2429, 1101, 1100, 2430, 1099, 2433,
3791 2447, 2447, 2447, 2448, 2448, 2448, 2449, 2449, 2449, 1097,
3792 2449, 1093, 1090, 2449, 2450, 2450, 2450, 2447, 1089, 1088,
3793 2448, 2451, 2451, 2451, 1084, 2451, 1083, 1080, 2451, 2457,
3794 2457, 2457, 2450, 1076, 2458, 2458, 2458, 2429, 2458, 1075,
3795 1072, 2458, 2462, 2462, 2462, 2430, 2457, 2459, 2459, 2459,
3796 1069, 2459, 1066, 1065, 2459, 2464, 2464, 2464, 1060, 1052,
3797 2462, 2465, 2465, 2465, 1051, 2465, 1050, 1048, 2465, 2469,
3798 2469, 2469, 1044, 2464, 2470, 2470, 2470, 2471, 2471, 2471,
3800 1041, 2471, 1038, 1035, 2471, 1034, 2469, 2472, 2472, 2472,
3801 1033, 2470, 2474, 2474, 2474, 1032, 2474, 1031, 1030, 2474,
3802 1029, 2477, 2477, 2477, 1028, 2472, 2478, 2478, 2478, 1025,
3803 2478, 1024, 1021, 2478, 2479, 2479, 2479, 2464, 2477, 2480,
3804 2480, 2480, 1020, 2480, 1016, 1014, 2480, 1011, 2481, 2481,
3805 2481, 2479, 2481, 1010, 1007, 2481, 2484, 2484, 2484, 2485,
3806 2485, 2485, 2486, 2486, 2486, 2489, 2489, 2489, 2490, 2490,
3807 2490, 1000, 997, 2484, 996, 995, 2485, 992, 988, 2486,
3808 2491, 2491, 2491, 2489, 2502, 2502, 2502, 2519, 2519, 2519,
3809 2520, 2520, 2520, 2524, 2524, 2524, 981, 2491, 2527, 2527,
3811 2527, 977, 2502, 2528, 2528, 2528, 976, 2528, 975, 972,
3812 2528, 2529, 2529, 2529, 971, 2527, 970, 2484, 963, 2530,
3813 2530, 2530, 2532, 2532, 2532, 2533, 2533, 2533, 962, 2529,
3814 961, 2534, 2534, 2534, 960, 2534, 2489, 2530, 2534, 2532,
3815 959, 958, 2533, 957, 2502, 2535, 2535, 2535, 2547, 2547,
3816 2547, 2548, 2548, 2548, 956, 2548, 955, 951, 2548, 2549,
3817 2549, 2549, 2535, 2549, 925, 2547, 2549, 2552, 2552, 2552,
3818 2530, 2555, 2555, 2555, 922, 2557, 2557, 2557, 2529, 2557,
3819 919, 918, 2557, 911, 910, 2552, 908, 907, 2555, 2566,
3820 2566, 2566, 2568, 2568, 2568, 2569, 2569, 2569, 906, 2569,
3822 905, 904, 2569, 903, 2570, 2570, 2570, 2566, 2570, 2568,
3823 902, 2570, 2573, 2573, 2573, 901, 2573, 900, 899, 2573,
3824 2576, 2576, 2576, 898, 2576, 896, 895, 2576, 2585, 2585,
3825 2585, 2586, 2586, 2586, 2587, 2587, 2587, 894, 2587, 893,
3826 892, 2587, 2588, 2588, 2588, 2585, 891, 890, 2586, 2589,
3827 2589, 2589, 889, 2589, 887, 886, 2589, 885, 884, 2588,
3828 2590, 2590, 2590, 2591, 2591, 2591, 2592, 2592, 2592, 2593,
3829 2593, 2593, 2594, 2594, 2594, 883, 882, 2590, 881, 880,
3830 2591, 2606, 2606, 2606, 2592, 2609, 2609, 2609, 2585, 2594,
3831 2595, 2595, 2595, 879, 2595, 875, 871, 2595, 870, 2606,
3833 869, 868, 2609, 2609, 2623, 2623, 2623, 2624, 2624, 2624,
3834 2627, 2627, 2627, 2628, 2628, 2628, 2630, 2630, 2630, 867,
3835 2630, 863, 861, 2630, 2633, 2633, 2633, 860, 2592, 2634,
3836 2634, 2634, 2606, 2636, 2636, 2636, 2637, 2637, 2637, 859,
3837 2637, 858, 2633, 2637, 2638, 2638, 2638, 2634, 2638, 857,
3838 2636, 2638, 2641, 2641, 2641, 2642, 2642, 2642, 856, 2642,
3839 853, 852, 2642, 2654, 2654, 2654, 850, 2654, 848, 2641,
3840 2654, 2658, 2658, 2658, 2659, 2659, 2659, 845, 2659, 844,
3841 843, 2659, 2667, 2667, 2667, 2670, 2670, 2670, 2658, 2670,
3842 2633, 842, 2670, 2685, 2685, 2685, 840, 2686, 2686, 2686,
3844 2667, 2686, 837, 836, 2686, 2689, 2689, 2689, 834, 2689,
3845 2685, 833, 2689, 2692, 2692, 2692, 2693, 2693, 2693, 830,
3846 2693, 828, 825, 2693, 2694, 2694, 2694, 2695, 2695, 2695,
3847 2692, 2695, 824, 823, 2695, 2696, 2696, 2696, 2697, 2697,
3848 2697, 2694, 2697, 822, 819, 2697, 2708, 2708, 2708, 2710,
3849 2710, 2710, 818, 2696, 2711, 2711, 2711, 817, 2712, 2712,
3850 2712, 816, 2712, 815, 2708, 2712, 2710, 2710, 2725, 2725,
3851 2725, 2711, 2711, 2726, 2726, 2726, 2712, 2727, 2727, 2727,
3852 2728, 2728, 2728, 2729, 2729, 2729, 2696, 2730, 2730, 2730,
3853 2735, 2735, 2735, 814, 813, 2708, 2736, 2736, 2736, 2739,
3855 2739, 2739, 811, 2739, 808, 807, 2739, 803, 2735, 2742,
3856 2742, 2742, 802, 2742, 2736, 801, 2742, 2745, 2745, 2745,
3857 2756, 2756, 2756, 2757, 2757, 2757, 800, 2757, 799, 798,
3858 2757, 2760, 2760, 2760, 2745, 797, 789, 2756, 2780, 2780,
3859 2780, 2735, 2781, 2781, 2781, 788, 2781, 785, 2760, 2781,
3860 2786, 2786, 2786, 784, 2786, 2780, 783, 2786, 2789, 2789,
3861 2789, 782, 2789, 781, 779, 2789, 2792, 2792, 2792, 2801,
3862 2801, 2801, 2803, 2803, 2803, 2804, 2804, 2804, 778, 2804,
3863 777, 774, 2804, 773, 2792, 772, 769, 2801, 768, 2803,
3864 2803, 764, 762, 2804, 2805, 2805, 2805, 759, 2805, 758,
3866 757, 2805, 2816, 2816, 2816, 2817, 2817, 2817, 2818, 2818,
3867 2818, 756, 2805, 2819, 2819, 2819, 2824, 2824, 2824, 2827,
3868 2827, 2827, 754, 2827, 751, 750, 2827, 749, 2826, 2826,
3869 2826, 2828, 2828, 2828, 2824, 2801, 2806, 2806, 2806, 2806,
3870 2806, 2806, 2806, 2806, 2806, 2826, 746, 2806, 2828, 2838,
3871 2838, 2838, 2806, 2806, 2806, 2806, 2806, 2839, 2839, 2839,
3872 743, 2839, 740, 739, 2839, 738, 2838, 2841, 2841, 2841,
3873 737, 2841, 736, 733, 2841, 2840, 2840, 2840, 2866, 2866,
3874 2866, 2806, 2806, 2807, 2807, 2807, 2807, 2807, 2807, 2807,
3875 2807, 2807, 2840, 730, 2807, 726, 2866, 725, 724, 2807,
3877 2807, 2807, 2807, 2807, 2859, 2859, 2859, 723, 2859, 722,
3878 721, 2859, 2874, 2874, 2874, 2876, 2876, 2876, 720, 2876,
3879 719, 718, 2876, 717, 716, 2891, 2891, 2891, 2807, 2807,
3880 2874, 714, 712, 2876, 2879, 2879, 2879, 2879, 2879, 2879,
3881 2879, 2879, 2879, 2891, 709, 2879, 2897, 2897, 2897, 708,
3882 2879, 2879, 2879, 2879, 2879, 2894, 2894, 2894, 707, 2894,
3883 706, 705, 2894, 2897, 2898, 2898, 2898, 704, 2898, 699,
3884 698, 2898, 2939, 2939, 2939, 2947, 2947, 2947, 697, 2879,
3885 2879, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880, 2880,
3886 2939, 694, 2880, 2947, 2947, 693, 692, 2880, 2880, 2880,
3888 2880, 2880, 2906, 2906, 2906, 691, 2906, 688, 687, 2906,
3889 2909, 2909, 2909, 685, 2909, 682, 681, 2909, 2962, 2962,
3890 2962, 2967, 2967, 2967, 678, 2967, 2880, 2880, 2967, 2974,
3891 2974, 2974, 2979, 2979, 2979, 2962, 2992, 2992, 2992, 2996,
3892 2996, 2996, 3007, 3007, 3007, 677, 2974, 676, 675, 2979,
3893 674, 3008, 3008, 3008, 2992, 3008, 673, 2996, 3008, 3007,
3894 3019, 3019, 3019, 3020, 3020, 3020, 665, 3020, 664, 663,
3895 3020, 3027, 3027, 3027, 3028, 3028, 3028, 3019, 3028, 660,
3896 659, 3028, 3035, 3035, 3035, 3045, 3045, 3045, 3027, 3045,
3897 2996, 658, 3045, 655, 3058, 3058, 3058, 653, 3058, 652,
3899 3035, 3058, 3067, 3067, 3067, 649, 3067, 648, 647, 3067,
3900 3200, 3200, 3200, 3211, 3211, 3211, 646, 3211, 643, 3035,
3901 3211, 3330, 3330, 3330, 3331, 3331, 3331, 642, 3200, 641,
3902 640, 3211, 636, 635, 634, 633, 627, 626, 624, 3330,
3903 618, 617, 3331, 3334, 3334, 3334, 3334, 3334, 3334, 3334,
3904 3334, 3334, 3335, 3335, 3335, 3335, 3335, 3335, 3335, 3335,
3905 3335, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336, 3336,
3906 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3338,
3907 3338, 3338, 3338, 3338, 3338, 3338, 3338, 3338, 3339, 3339,
3908 3339, 3339, 3339, 3339, 3339, 3339, 3339, 3340, 3340, 3340,
3910 3340, 3340, 3340, 3340, 3340, 3340, 3341, 3341, 3341, 3341,
3911 3341, 3341, 3341, 3341, 3341, 3342, 3342, 3342, 3342, 3342,
3912 3342, 3342, 3342, 3342, 3343, 3343, 3343, 3343, 3343, 3343,
3913 3343, 3343, 3343, 3344, 3344, 3344, 3344, 3344, 3344, 3344,
3914 3344, 3344, 3345, 3345, 3345, 3345, 3345, 3345, 3345, 3345,
3915 3345, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346, 3346,
3916 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3347, 3348,
3917 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3348, 3349, 3349,
3918 3349, 3349, 3349, 3349, 3349, 3349, 3349, 3350, 3350, 3350,
3919 3350, 3350, 3350, 3350, 3350, 3350, 3351, 3351, 3351, 3351,
3921 3351, 3351, 3351, 3351, 3351, 3352, 3352, 3352, 3352, 3352,
3922 3352, 3352, 3352, 3352, 3353, 3353, 3353, 3353, 3353, 3353,
3923 3353, 3353, 3353, 3354, 3354, 3354, 3354, 3354, 3354, 3354,
3924 3354, 3354, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355,
3925 3355, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356,
3926 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3358,
3927 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3358, 3359, 3359,
3928 3359, 3359, 3359, 3359, 3359, 3359, 3359, 3360, 3360, 3360,
3929 3360, 3360, 3360, 3360, 3360, 3360, 3361, 3361, 3361, 3361,
3930 3361, 3361, 3361, 3361, 3361, 3362, 3362, 3362, 3362, 3362,
3932 3362, 3362, 3362, 3362, 3363, 3363, 3363, 3363, 3363, 3363,
3933 3363, 3363, 3363, 3364, 3364, 3364, 3364, 3364, 3364, 3364,
3934 3364, 3364, 3365, 3365, 3365, 3365, 3365, 3365, 3365, 3365,
3935 3365, 3366, 3366, 3366, 3366, 3366, 3366, 3366, 3366, 3366,
3936 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3367, 3368,
3937 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3368, 3369, 3369,
3938 3369, 3369, 3369, 3369, 3369, 3369, 3369, 3370, 3370, 3370,
3939 3370, 3370, 3370, 3370, 3370, 3370, 3371, 3371, 3371, 3371,
3940 3371, 3371, 3371, 3371, 3371, 3372, 3372, 3372, 3372, 3372,
3941 3372, 3372, 3372, 3372, 3373, 3373, 3373, 3373, 3373, 3373,
3943 3373, 3373, 3373, 3374, 3374, 3374, 3374, 3374, 3374, 3374,
3944 3374, 3374, 3375, 3375, 3375, 3375, 3375, 3375, 3375, 3375,
3945 3375, 3376, 3376, 3376, 3376, 3376, 3376, 3376, 3376, 3376,
3946 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3377, 3378,
3947 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3379, 3379,
3948 3379, 3379, 3379, 3379, 3379, 3379, 3379, 3380, 3380, 3380,
3949 3380, 3380, 3380, 3380, 3380, 3380, 3381, 3381, 3381, 3381,
3950 3381, 3381, 3381, 3381, 3381, 3382, 3382, 3382, 3382, 3382,
3951 3382, 3382, 3382, 3382, 3383, 3383, 3383, 3383, 3383, 3383,
3952 3383, 3383, 3383, 3384, 3384, 3384, 3384, 3384, 3384, 3384,
3954 3384, 3384, 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
3955 3385, 3386, 3386, 3386, 3386, 3386, 3386, 3386, 3386, 3386,
3956 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3387, 3388,
3957 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3388, 3389, 3389,
3958 3389, 3389, 3389, 3389, 3389, 3389, 3389, 3390, 3390, 3390,
3959 3390, 3390, 3390, 3390, 3390, 3390, 3391, 3391, 3391, 3391,
3960 3391, 3391, 3391, 3391, 3391, 3392, 3392, 3392, 3392, 3392,
3961 3392, 3392, 3392, 3392, 3393, 3393, 3393, 3393, 3393, 3393,
3962 3393, 3393, 3393, 3394, 3394, 3394, 616, 612, 609, 3394,
3963 3395, 3395, 3395, 607, 606, 605, 3395, 3396, 3396, 3396,
3965 601, 597, 593, 3396, 3397, 3397, 3397, 592, 591, 590,
3966 3397, 3398, 3398, 3398, 586, 582, 579, 3398, 3399, 3399,
3967 3399, 578, 577, 576, 3399, 3400, 3400, 3400, 572, 566,
3968 565, 3400, 3401, 3401, 3401, 561, 557, 553, 3401, 3402,
3969 3402, 3402, 549, 542, 540, 3402, 3403, 3403, 3403, 539,
3970 535, 529, 3403, 3404, 3404, 3404, 528, 524, 520, 3404,
3971 3405, 3405, 3405, 516, 515, 514, 3405, 3406, 3406, 3406,
3972 513, 512, 508, 3406, 3407, 3407, 3407, 504, 497, 493,
3973 3407, 3408, 3408, 3408, 485, 484, 483, 3408, 3409, 3409,
3974 3409, 482, 481, 477, 3409, 3410, 3410, 3410, 471, 470,
3976 466, 3410, 3411, 3411, 3411, 460, 459, 455, 3411, 3412,
3977 3412, 3412, 449, 448, 444, 3412, 3413, 3413, 3413, 440,
3978 436, 435, 3413, 3414, 3414, 3414, 434, 430, 426, 3414,
3979 3415, 3415, 3415, 422, 418, 412, 3415, 3416, 3416, 3416,
3980 411, 410, 406, 3416, 3417, 3417, 3417, 402, 397, 396,
3981 3417, 3418, 3418, 3418, 395, 394, 390, 3418, 3419, 3419,
3982 3419, 386, 383, 379, 3419, 3420, 3420, 3420, 375, 372,
3983 369, 3420, 3421, 3421, 3421, 3421, 3421, 3421, 3421, 367,
3984 3421, 3422, 3422, 3422, 366, 361, 354, 3422, 3423, 353,
3985 352, 351, 3423, 3424, 3424, 3424, 350, 346, 342, 3424,
3987 3425, 339, 338, 334, 3425, 3426, 3426, 3426, 330, 327,
3988 326, 3426, 3427, 325, 321, 315, 3427, 3428, 3428, 3428,
3989 314, 313, 309, 3428, 3429, 303, 299, 296, 3429, 3430,
3990 3430, 3430, 295, 290, 289, 3430, 3431, 285, 281, 277,
3991 3431, 3432, 3432, 3432, 273, 272, 268, 3432, 3433, 265,
3992 264, 263, 3433, 3434, 3434, 3434, 257, 256, 254, 3434,
3993 3435, 251, 239, 0, 3435, 3436, 3436, 3436, 0, 0,
3994 0, 3436, 3437, 0, 0, 0, 3437, 3438, 3438, 3438,
3995 0, 0, 0, 3438, 3439, 0, 0, 0, 3439, 3440,
3996 3440, 3440, 0, 0, 0, 3440, 3441, 0, 0, 0,
3998 3441, 3442, 3442, 3442, 0, 0, 0, 3442, 3443, 0,
3999 0, 0, 3443, 3444, 3444, 3444, 0, 0, 0, 3444,
4000 3445, 0, 0, 0, 3445, 3446, 3446, 3446, 0, 0,
4001 0, 3446, 3447, 0, 0, 0, 3447, 3448, 3448, 3448,
4002 0, 0, 0, 3448, 3449, 0, 0, 0, 3449, 3450,
4003 3450, 3450, 0, 0, 0, 3450, 3451, 0, 0, 0,
4004 3451, 3452, 3452, 3452, 0, 0, 0, 3452, 3453, 0,
4005 0, 0, 3453, 3454, 3454, 3454, 0, 0, 0, 3454,
4006 3455, 0, 0, 0, 3455, 3456, 3456, 3456, 0, 0,
4007 0, 3456, 3457, 0, 0, 0, 3457, 3458, 3458, 3458,
4009 0, 0, 0, 3458, 3459, 0, 0, 0, 3459, 3460,
4010 3460, 3460, 0, 0, 0, 3460, 3461, 0, 0, 0,
4011 3461, 3462, 3462, 3462, 0, 0, 0, 3462, 3463, 0,
4012 0, 0, 3463, 3464, 3464, 3464, 0, 0, 0, 3464,
4013 3465, 0, 0, 0, 3465, 3466, 3466, 3466, 0, 0,
4014 0, 3466, 3467, 0, 0, 0, 3467, 3468, 3468, 3468,
4015 0, 0, 0, 3468, 3469, 0, 0, 0, 3469, 3470,
4016 3470, 3470, 0, 0, 0, 3470, 3471, 0, 0, 0,
4017 3471, 3472, 3472, 3472, 0, 0, 0, 3472, 3473, 0,
4018 0, 0, 3473, 3474, 3474, 3474, 0, 0, 0, 3474,
4020 3475, 0, 0, 0, 3475, 3476, 3476, 3476, 3476, 3476,
4021 3476, 3476, 3476, 3476, 3477, 0, 0, 0, 0, 3477,
4022 3478, 3478, 3478, 0, 0, 0, 3478, 3479, 3479, 3479,
4023 3479, 0, 0, 3479, 3479, 3480, 3480, 3480, 3480, 0,
4024 3480, 0, 3480, 3481, 3481, 3481, 3481, 0, 0, 3481,
4025 3481, 3482, 3482, 3482, 0, 0, 0, 3482, 3483, 3483,
4026 3483, 3483, 0, 0, 3483, 3483, 3484, 3484, 3484, 0,
4027 0, 0, 3484, 3485, 3485, 3485, 3485, 0, 0, 3485,
4028 3485, 3486, 3486, 3486, 3486, 0, 3486, 0, 3486, 3487,
4029 3487, 3487, 3487, 0, 0, 3487, 3487, 3488, 3488, 3488,
4031 3488, 0, 3488, 0, 3488, 3489, 3489, 3489, 3489, 0,
4032 0, 3489, 3489, 3490, 3490, 3490, 3490, 0, 3490, 0,
4033 3490, 3491, 3491, 3491, 3491, 0, 0, 3491, 3491, 3492,
4034 3492, 3492, 0, 0, 0, 3492, 3493, 3493, 3493, 3493,
4035 0, 0, 3493, 3493, 3494, 3494, 3494, 3494, 0, 0,
4036 3494, 3494, 3495, 3495, 3495, 0, 0, 0, 3495, 3496,
4037 3496, 3496, 3496, 0, 0, 3496, 3496, 3497, 3497, 3497,
4038 0, 0, 0, 3497, 3498, 3498, 3498, 3498, 0, 0,
4039 3498, 3498, 3499, 3499, 3499, 0, 0, 0, 3499, 3500,
4040 3500, 3500, 3500, 0, 0, 3500, 3500, 3501, 3501, 3501,
4042 0, 0, 0, 3501, 3502, 3502, 3502, 3502, 0, 0,
4043 3502, 3502, 3503, 3503, 3503, 0, 0, 0, 3503, 3504,
4044 3504, 3504, 3504, 0, 0, 3504, 3504, 3505, 3505, 3505,
4045 0, 0, 0, 3505, 3506, 3506, 3506, 3506, 0, 0,
4046 3506, 3506, 3507, 3507, 3507, 0, 0, 0, 3507, 3508,
4047 3508, 3508, 3508, 0, 0, 3508, 3508, 3509, 3509, 3509,
4048 0, 0, 0, 3509, 3510, 3510, 3510, 3510, 0, 0,
4049 3510, 3510, 3511, 3511, 3511, 0, 0, 0, 3511, 3512,
4050 3512, 3512, 3512, 0, 0, 3512, 3512, 3513, 3513, 3513,
4051 0, 0, 0, 3513, 3514, 3514, 3514, 3514, 0, 0,
4053 3514, 3514, 3515, 3515, 3515, 0, 0, 0, 3515, 3516,
4054 3516, 3516, 3516, 0, 0, 3516, 3516, 3517, 3517, 3517,
4055 0, 0, 0, 3517, 3518, 3518, 3518, 3518, 0, 0,
4056 3518, 3518, 3519, 3519, 3519, 3519, 0, 3519, 0, 3519,
4057 3520, 3520, 3520, 3520, 0, 0, 3520, 3520, 3521, 3521,
4058 3521, 0, 0, 0, 3521, 3522, 3522, 3522, 3522, 0,
4059 0, 3522, 3522, 3523, 3523, 3523, 0, 0, 0, 3523,
4060 3524, 3524, 3524, 3524, 0, 0, 3524, 3524, 3525, 3525,
4061 3525, 0, 0, 0, 3525, 3526, 3526, 3526, 3526, 0,
4062 0, 3526, 3526, 3527, 3527, 3527, 0, 0, 0, 3527,
4064 3528, 3528, 3528, 3528, 0, 0, 3528, 3528, 3529, 3529,
4065 3529, 0, 0, 0, 3529, 3530, 3530, 3530, 3530, 0,
4066 0, 3530, 3530, 3531, 3531, 3531, 3531, 3531, 3531, 3531,
4067 3531, 3531, 3532, 0, 3532, 0, 0, 3532, 3533, 3533,
4068 3533, 0, 0, 0, 3533, 3534, 3534, 3534, 3534, 0,
4069 0, 3534, 3534, 3535, 3535, 3535, 0, 0, 0, 3535,
4070 3536, 3536, 3536, 3536, 0, 0, 3536, 3536, 3537, 3537,
4071 3537, 0, 0, 0, 3537, 3538, 3538, 3538, 3538, 0,
4072 0, 3538, 3538, 3539, 3539, 3539, 0, 0, 0, 3539,
4073 3540, 3540, 3540, 3540, 0, 0, 3540, 3540, 3541, 3541,
4075 3541, 0, 0, 0, 3541, 3542, 3542, 3542, 3542, 0,
4076 0, 3542, 3542, 3543, 3543, 3543, 3543, 0, 0, 3543,
4077 3543, 3544, 3544, 3544, 0, 0, 0, 3544, 3545, 3545,
4078 3545, 3545, 0, 0, 3545, 3545, 3546, 3546, 3546, 0,
4079 0, 0, 3546, 3547, 3547, 3547, 3547, 0, 0, 3547,
4080 3547, 3548, 3548, 3548, 3548, 0, 0, 3548, 3548, 3549,
4081 3549, 3549, 0, 0, 0, 3549, 3550, 3550, 3550, 3550,
4082 0, 0, 3550, 3550, 3551, 3551, 3551, 3551, 0, 3551,
4083 0, 3551, 3552, 3552, 3552, 3552, 0, 0, 3552, 3552,
4084 3553, 3553, 3553, 3553, 0, 3553, 0, 3553, 3554, 3554,
4086 3554, 3554, 0, 0, 3554, 3554, 3555, 3555, 3555, 0,
4087 0, 0, 3555, 3556, 3556, 3556, 3556, 0, 0, 3556,
4088 3556, 3557, 3557, 3557, 0, 0, 0, 3557, 3558, 3558,
4089 3558, 3558, 0, 0, 3558, 3558, 3559, 3559, 3559, 0,
4090 0, 0, 3559, 3560, 3560, 3560, 3560, 0, 0, 3560,
4091 3560, 3561, 3561, 3561, 3561, 0, 3561, 0, 3561, 3562,
4092 3562, 3562, 3562, 0, 0, 3562, 3562, 3563, 3563, 3563,
4093 0, 0, 0, 3563, 3564, 3564, 3564, 3564, 0, 0,
4094 3564, 3564, 3565, 3565, 3565, 0, 0, 0, 3565, 3566,
4095 3566, 3566, 3566, 0, 0, 3566, 3566, 3567, 3567, 3567,
4097 0, 0, 0, 3567, 3568, 3568, 3568, 3568, 0, 0,
4098 3568, 3568, 3569, 3569, 3569, 0, 0, 0, 3569, 3570,
4099 3570, 3570, 3570, 0, 0, 3570, 3570, 3571, 3571, 3571,
4100 0, 0, 0, 3571, 3572, 3572, 3572, 3572, 0, 0,
4101 3572, 3572, 3573, 3573, 3573, 0, 0, 0, 3573, 3574,
4102 3574, 3574, 3574, 0, 0, 3574, 3574, 3575, 3575, 3575,
4103 0, 0, 0, 3575, 3576, 3576, 3576, 3576, 0, 0,
4104 3576, 3576, 3577, 3577, 3577, 0, 0, 0, 3577, 3578,
4105 3578, 3578, 3578, 0, 0, 3578, 3578, 3579, 3579, 3579,
4106 0, 0, 0, 3579, 3580, 3580, 3580, 3580, 0, 0,
4108 3580, 3580, 3581, 3581, 3581, 3581, 0, 3581, 0, 3581,
4109 3582, 3582, 3582, 3582, 0, 0, 3582, 3582, 3583, 3583,
4110 3583, 0, 0, 0, 3583, 3584, 3584, 3584, 3584, 0,
4111 0, 3584, 3584, 3585, 3585, 3585, 3585, 3585, 3585, 3585,
4112 3585, 3585, 3586, 3586, 3586, 3586, 3586, 3586, 3586, 3586,
4113 3586, 3587, 3587, 3587, 0, 0, 0, 3587, 3588, 3588,
4114 3588, 0, 0, 0, 3588, 3589, 3589, 3589, 3589, 0,
4115 0, 3589, 3589, 3590, 3590, 3590, 3590, 0, 3590, 0,
4116 3590, 3591, 3591, 3591, 3591, 0, 0, 3591, 3591, 3592,
4117 3592, 3592, 0, 0, 0, 3592, 3593, 3593, 3593, 3593,
4119 0, 0, 3593, 3593, 3594, 3594, 3594, 0, 0, 0,
4120 3594, 3595, 3595, 3595, 3595, 0, 0, 3595, 3595, 3596,
4121 3596, 3596, 3596, 0, 0, 3596, 3596, 3597, 3597, 3597,
4122 0, 0, 0, 3597, 3598, 3598, 3598, 3598, 0, 0,
4123 3598, 3598, 3599, 3599, 3599, 3599, 0, 3599, 0, 3599,
4124 3600, 3600, 3600, 3600, 0, 0, 3600, 3600, 3601, 3601,
4125 3601, 3601, 0, 0, 3601, 3601, 3602, 3602, 3602, 0,
4126 0, 0, 3602, 3603, 3603, 3603, 3603, 0, 0, 3603,
4127 3603, 3604, 3604, 3604, 3604, 0, 0, 3604, 3604, 3605,
4128 3605, 3605, 3605, 0, 0, 3605, 3605, 3606, 3606, 3606,
4130 0, 0, 0, 3606, 3607, 3607, 3607, 3607, 0, 0,
4131 3607, 3607, 3608, 3608, 3608, 0, 0, 0, 3608, 3609,
4132 3609, 3609, 3609, 0, 0, 3609, 3609, 3610, 3610, 3610,
4133 3610, 0, 3610, 0, 3610, 3611, 3611, 3611, 3611, 0,
4134 0, 3611, 3611, 3612, 3612, 3612, 0, 0, 0, 3612,
4135 3613, 3613, 3613, 3613, 0, 0, 3613, 3613, 3614, 3614,
4136 3614, 0, 0, 0, 3614, 3615, 3615, 3615, 3615, 0,
4137 0, 3615, 3615, 3616, 3616, 3616, 0, 0, 0, 3616,
4138 3617, 3617, 3617, 3617, 0, 0, 3617, 3617, 3618, 3618,
4139 3618, 0, 0, 0, 3618, 3619, 3619, 3619, 3619, 0,
4141 0, 3619, 3619, 3620, 3620, 3620, 3620, 0, 3620, 0,
4142 3620, 3621, 3621, 3621, 3621, 0, 0, 3621, 3621, 3622,
4143 3622, 3622, 0, 0, 0, 3622, 3623, 3623, 3623, 3623,
4144 0, 0, 3623, 3623, 3624, 3624, 3624, 0, 0, 0,
4145 3624, 3625, 3625, 3625, 3625, 0, 0, 3625, 3625, 3626,
4146 3626, 3626, 0, 0, 0, 3626, 3627, 3627, 3627, 3627,
4147 0, 0, 3627, 3627, 3628, 3628, 3628, 0, 0, 0,
4148 3628, 3629, 3629, 3629, 3629, 0, 0, 3629, 3629, 3630,
4149 3630, 3630, 0, 0, 0, 3630, 3631, 3631, 3631, 3631,
4150 0, 0, 3631, 3631, 3632, 3632, 3632, 0, 0, 0,
4152 3632, 3633, 3633, 3633, 3633, 0, 0, 3633, 3633, 3634,
4153 3634, 3634, 0, 0, 0, 3634, 3635, 3635, 3635, 3635,
4154 0, 0, 3635, 3635, 3636, 3636, 3636, 3636, 3636, 3636,
4155 3636, 3636, 3636, 3637, 3637, 3637, 3637, 3637, 3637, 3637,
4156 3637, 3637, 3638, 3638, 3638, 0, 0, 0, 3638, 3639,
4157 3639, 3639, 3639, 0, 3639, 0, 3639, 3640, 3640, 3640,
4158 3640, 0, 0, 3640, 3640, 3641, 3641, 3641, 3641, 0,
4159 0, 3641, 3641, 3642, 3642, 3642, 0, 0, 0, 3642,
4160 3643, 3643, 3643, 3643, 0, 0, 3643, 3643, 3644, 3644,
4161 3644, 3644, 0, 3644, 0, 3644, 3645, 3645, 3645, 3645,
4163 0, 0, 3645, 3645, 3646, 3646, 3646, 3646, 0, 0,
4164 3646, 3646, 3647, 3647, 3647, 3647, 0, 3647, 0, 3647,
4165 3648, 3648, 3648, 3648, 0, 0, 3648, 3648, 3649, 3649,
4166 3649, 3649, 0, 3649, 0, 3649, 3650, 3650, 3650, 3650,
4167 0, 0, 3650, 3650, 3651, 3651, 3651, 3651, 0, 0,
4168 3651, 3651, 3652, 3652, 3652, 0, 0, 0, 3652, 3653,
4169 3653, 3653, 3653, 0, 0, 3653, 3653, 3654, 3654, 3654,
4170 3654, 0, 0, 3654, 3654, 3655, 3655, 3655, 3655, 0,
4171 0, 3655, 3655, 3656, 3656, 3656, 0, 0, 0, 3656,
4172 3657, 3657, 3657, 3657, 0, 0, 3657, 3657, 3658, 3658,
4174 3658, 0, 0, 0, 3658, 3659, 3659, 3659, 3659, 0,
4175 0, 3659, 3659, 3660, 3660, 3660, 3660, 0, 0, 3660,
4176 3660, 3661, 3661, 3661, 0, 0, 0, 3661, 3662, 3662,
4177 3662, 3662, 0, 0, 3662, 3662, 3663, 3663, 3663, 0,
4178 0, 0, 3663, 3664, 3664, 3664, 3664, 0, 0, 3664,
4179 3664, 3665, 3665, 3665, 0, 0, 0, 3665, 3666, 3666,
4180 3666, 3666, 0, 0, 3666, 3666, 3667, 3667, 3667, 0,
4181 0, 0, 3667, 3668, 3668, 3668, 3668, 0, 0, 3668,
4182 3668, 3669, 3669, 3669, 3669, 0, 0, 3669, 3669, 3670,
4183 3670, 3670, 0, 0, 0, 3670, 3671, 3671, 3671, 3671,
4185 0, 0, 3671, 3671, 3672, 3672, 3672, 0, 0, 0,
4186 3672, 3673, 3673, 3673, 3673, 0, 0, 3673, 3673, 3674,
4187 3674, 3674, 0, 0, 0, 3674, 3675, 3675, 3675, 3675,
4188 0, 0, 3675, 3675, 3676, 3676, 3676, 3676, 0, 3676,
4189 0, 3676, 3677, 3677, 3677, 3677, 0, 0, 3677, 3677,
4190 3678, 3678, 3678, 0, 0, 0, 3678, 3679, 3679, 3679,
4191 3679, 0, 0, 3679, 3679, 3680, 3680, 3680, 0, 0,
4192 0, 3680, 3681, 3681, 3681, 3681, 0, 0, 3681, 3681,
4193 3682, 3682, 3682, 0, 0, 0, 3682, 3683, 3683, 3683,
4194 3683, 0, 0, 3683, 3683, 3684, 3684, 3684, 3684, 3684,
4196 3684, 3684, 3684, 3684, 3685, 3685, 3685, 3685, 3685, 3685,
4197 3685, 3685, 3685, 3686, 3686, 3686, 3686, 0, 3686, 0,
4198 3686, 3687, 3687, 3687, 0, 0, 0, 3687, 3688, 3688,
4199 3688, 3688, 0, 0, 3688, 3688, 3689, 3689, 3689, 3689,
4200 0, 0, 3689, 3689, 3690, 3690, 3690, 0, 0, 0,
4201 3690, 3691, 3691, 3691, 3691, 0, 0, 3691, 3691, 3692,
4202 3692, 3692, 3692, 0, 0, 3692, 3692, 3693, 3693, 3693,
4203 3693, 0, 0, 3693, 3693, 3694, 3694, 3694, 3694, 0,
4204 3694, 0, 3694, 3695, 3695, 3695, 3695, 0, 0, 3695,
4205 3695, 3696, 3696, 3696, 0, 0, 0, 3696, 3697, 3697,
4207 3697, 3697, 0, 0, 3697, 3697, 3698, 3698, 3698, 3698,
4208 0, 0, 3698, 3698, 3699, 3699, 3699, 0, 0, 0,
4209 3699, 3700, 3700, 3700, 3700, 0, 0, 3700, 3700, 3701,
4210 3701, 3701, 3701, 0, 0, 3701, 3701, 3702, 3702, 3702,
4211 0, 0, 0, 3702, 3703, 3703, 3703, 0, 0, 0,
4212 3703, 3704, 3704, 3704, 3704, 0, 0, 3704, 3704, 3705,
4213 3705, 3705, 3705, 0, 0, 3705, 3705, 3706, 3706, 3706,
4214 0, 0, 0, 3706, 3707, 3707, 3707, 3707, 0, 0,
4215 3707, 3707, 3708, 3708, 3708, 0, 0, 0, 3708, 3709,
4216 3709, 3709, 3709, 0, 3709, 0, 3709, 3710, 3710, 3710,
4218 3710, 0, 0, 3710, 3710, 3711, 3711, 3711, 0, 0,
4219 0, 3711, 3712, 3712, 3712, 3712, 0, 0, 3712, 3712,
4220 3713, 3713, 3713, 0, 0, 0, 3713, 3714, 3714, 3714,
4221 3714, 0, 0, 3714, 3714, 3715, 3715, 3715, 0, 0,
4222 0, 3715, 3716, 3716, 3716, 3716, 0, 0, 3716, 3716,
4223 3717, 3717, 3717, 0, 0, 0, 3717, 3718, 3718, 3718,
4224 3718, 0, 0, 3718, 3718, 3719, 3719, 3719, 3719, 0,
4225 3719, 0, 3719, 3720, 3720, 3720, 3720, 0, 0, 3720,
4226 3720, 3721, 3721, 3721, 3721, 0, 3721, 0, 3721, 3722,
4227 3722, 3722, 3722, 0, 0, 3722, 3722, 3723, 3723, 3723,
4229 0, 0, 0, 3723, 3724, 3724, 3724, 3724, 0, 0,
4230 3724, 3724, 3725, 3725, 3725, 3725, 0, 3725, 0, 3725,
4231 3726, 3726, 3726, 3726, 0, 0, 3726, 3726, 3727, 3727,
4232 3727, 3727, 3727, 3727, 3727, 3727, 3727, 3728, 3728, 3728,
4233 3728, 3728, 3728, 3728, 3728, 3728, 3729, 3729, 3729, 0,
4234 0, 0, 3729, 3730, 3730, 3730, 3730, 0, 0, 3730,
4235 3730, 3731, 3731, 3731, 3731, 0, 0, 3731, 3731, 3732,
4236 3732, 3732, 0, 0, 0, 3732, 3733, 3733, 3733, 3733,
4237 0, 0, 3733, 3733, 3734, 3734, 3734, 3734, 0, 0,
4238 3734, 3734, 3735, 3735, 3735, 3735, 0, 0, 3735, 3735,
4240 3736, 3736, 3736, 3736, 0, 0, 3736, 3736, 3737, 3737,
4241 3737, 0, 0, 0, 3737, 3738, 3738, 3738, 3738, 0,
4242 0, 3738, 3738, 3739, 3739, 3739, 3739, 0, 0, 3739,
4243 3739, 3740, 3740, 3740, 0, 0, 0, 3740, 3741, 3741,
4244 3741, 3741, 0, 0, 3741, 3741, 3742, 3742, 3742, 3742,
4245 0, 0, 3742, 3742, 3743, 3743, 3743, 0, 0, 0,
4246 3743, 3744, 3744, 3744, 0, 0, 0, 3744, 3745, 3745,
4247 3745, 3745, 0, 0, 3745, 3745, 3746, 3746, 3746, 3746,
4248 0, 0, 3746, 3746, 3747, 3747, 3747, 0, 0, 0,
4249 3747, 3748, 3748, 3748, 0, 0, 0, 3748, 3749, 3749,
4251 3749, 3749, 0, 0, 3749, 3749, 3750, 3750, 3750, 3750,
4252 0, 3750, 0, 3750, 3751, 3751, 3751, 3751, 0, 0,
4253 3751, 3751, 3752, 3752, 3752, 0, 0, 0, 3752, 3753,
4254 3753, 3753, 3753, 0, 0, 3753, 3753, 3754, 3754, 3754,
4255 0, 0, 0, 3754, 3755, 3755, 3755, 0, 0, 0,
4256 3755, 3756, 3756, 3756, 3756, 0, 0, 3756, 3756, 3757,
4257 3757, 3757, 0, 0, 0, 3757, 3758, 3758, 3758, 3758,
4258 0, 0, 3758, 3758, 3759, 3759, 3759, 0, 0, 0,
4259 3759, 3760, 3760, 3760, 3760, 0, 0, 3760, 3760, 3761,
4260 3761, 3761, 0, 0, 0, 3761, 3762, 3762, 3762, 3762,
4262 0, 0, 3762, 3762, 3763, 3763, 3763, 3763, 3763, 3763,
4263 3763, 3763, 3763, 3764, 3764, 3764, 3764, 3764, 3764, 3764,
4264 3764, 3764, 3765, 3765, 3765, 0, 0, 0, 3765, 3766,
4265 3766, 3766, 3766, 0, 0, 3766, 3766, 3767, 3767, 3767,
4266 3767, 0, 0, 3767, 3767, 3768, 3768, 3768, 3768, 0,
4267 3768, 0, 3768, 3769, 3769, 3769, 3769, 0, 0, 3769,
4268 3769, 3770, 3770, 3770, 3770, 0, 0, 3770, 3770, 3771,
4269 3771, 3771, 3771, 0, 0, 3771, 3771, 3772, 3772, 3772,
4270 3772, 0, 0, 3772, 3772, 3773, 3773, 3773, 0, 0,
4271 0, 3773, 3774, 3774, 3774, 3774, 0, 0, 3774, 3774,
4273 3775, 3775, 3775, 0, 0, 0, 3775, 3776, 3776, 3776,
4274 3776, 0, 0, 3776, 3776, 3777, 3777, 3777, 3777, 0,
4275 0, 3777, 3777, 3778, 3778, 3778, 3778, 0, 3778, 0,
4276 3778, 3779, 3779, 3779, 3779, 0, 3779, 0, 3779, 3780,
4277 3780, 3780, 3780, 0, 0, 3780, 3780, 3781, 3781, 3781,
4278 3781, 0, 0, 3781, 3781, 3782, 3782, 3782, 3782, 0,
4279 3782, 0, 3782, 3783, 3783, 3783, 0, 0, 0, 3783,
4280 3784, 3784, 3784, 3784, 0, 0, 3784, 3784, 3785, 3785,
4281 3785, 3785, 0, 3785, 0, 3785, 3786, 3786, 3786, 3786,
4282 0, 0, 3786, 3786, 3787, 3787, 3787, 3787, 0, 3787,
4284 0, 3787, 3788, 3788, 3788, 0, 0, 0, 3788, 3789,
4285 3789, 3789, 0, 0, 0, 3789, 3790, 3790, 3790, 0,
4286 0, 0, 3790, 3791, 3791, 3791, 3791, 0, 0, 3791,
4287 3791, 3792, 3792, 3792, 0, 0, 0, 3792, 3793, 3793,
4288 3793, 3793, 0, 0, 3793, 3793, 3794, 3794, 3794, 0,
4289 0, 0, 3794, 3795, 3795, 3795, 3795, 0, 0, 3795,
4290 3795, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796, 3796,
4291 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3797, 3798,
4292 3798, 3798, 0, 0, 0, 3798, 3799, 3799, 3799, 3799,
4293 0, 0, 3799, 3799, 3800, 3800, 3800, 3800, 0, 0,
4295 3800, 3800, 3801, 3801, 3801, 3801, 0, 0, 3801, 3801,
4296 3802, 3802, 3802, 3802, 0, 0, 3802, 3802, 3803, 3803,
4297 3803, 0, 0, 0, 3803, 3804, 3804, 3804, 0, 0,
4298 0, 3804, 3805, 3805, 3805, 3805, 0, 0, 3805, 3805,
4299 3806, 3806, 3806, 0, 0, 0, 3806, 3807, 3807, 3807,
4300 3807, 3807, 3807, 3807, 3807, 3807, 3808, 3808, 3808, 3808,
4301 3808, 3808, 3808, 3808, 3808, 3809, 3809, 3809, 3809, 3809,
4302 3809, 3809, 3809, 3809, 3810, 3810, 3810, 3810, 3810, 3810,
4303 3810, 3810, 3810, 3811, 3811, 3811, 3811, 3811, 3811, 3811,
4304 3811, 3811, 3812, 3812, 3812, 3812, 3812, 3812, 3812, 3812,
4306 3812, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4307 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4308 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4309 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4310 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4311 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4312 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333, 3333,
4313 3333, 3333, 3333, 3333, 3333, 3333
4316 /* Table of booleans, true if rule could match eol. */
4317 static yyconst flex_int32_t yy_rule_can_match_eol[562] =
4319 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
4320 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4321 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4322 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
4323 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
4324 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4325 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4326 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4329 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
4330 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
4331 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
4332 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4333 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4334 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
4335 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
4336 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
4337 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4338 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4339 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
4340 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
4341 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0,
4342 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
4343 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
4344 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1,
4345 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
4346 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0,
4349 static yy_state_type yy_last_accepting_state;
4350 static char *yy_last_accepting_cpos;
4352 extern int surf_parse__flex_debug;
4353 int surf_parse__flex_debug = 0;
4355 /* The intent behind this definition is that it'll catch
4356 * any uses of REJECT which flex missed.
4358 #define REJECT reject_used_but_not_detected
4359 #define yymore() yymore_used_but_not_detected
4360 #define YY_MORE_ADJ 0
4361 #define YY_RESTORE_YY_MORE_OFFSET
4362 char *surf_parse_text;
4363 /* Validating XML processor for src/surf/xml/simgrid.dtd.
4365 * This program was generated with the FleXML XML processor generator.
4366 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
4367 * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
4370 * There are two, intertwined parts to this program, part A and part B.
4375 * Some parts, here collectively called "Part A", are found in the
4376 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
4377 * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
4379 * You can redistribute, use, perform, display and/or modify "Part A"
4380 * provided the following two conditions hold:
4382 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
4383 * FleXML; without even the implied warranty of MERCHANTABILITY or
4384 * FITNESS FOR A PARTICULAR PURPOSE.
4386 * 2. The program distribution conditions do not in any way affect the
4387 * distribution conditions of the FleXML system used to generate this
4388 * file or any version of FleXML derived from that system.
4390 * Notice that these are explicit rights granted to you for files
4391 * generated by the FleXML system. For your rights in connection with
4392 * the FleXML system itself please consult the GNU General Public License.
4397 * The other parts, here collectively called "Part B", and which came
4398 * from the DTD used by FleXML to generate this program, can be
4399 * distributed (or not, as the case may be) under the terms of whoever
4400 * wrote them, provided these terms respect and obey the two conditions
4401 * above under the heading "Part A".
4403 * The author of and contributors to FleXML specifically disclaim
4404 * any copyright interest in "Part B", unless "Part B" was written
4405 * by the author of or contributors to FleXML.
4409 /* Version strings. */
4410 const char surfxml_flexml_version[] = "1.9.6";
4413 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
4420 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4421 # ifndef __STRICT_ANSI__
4423 # include <process.h>
4426 # include <unistd.h>
4429 #ifndef FLEXML_INDEXSTACKSIZE
4430 #define FLEXML_INDEXSTACKSIZE 1000
4433 /* Generated definitions. */
4434 #define FLEXML_yylineno
4435 #ifndef FLEXML_BUFFERSTACKSIZE
4436 #define FLEXML_BUFFERSTACKSIZE 1000000
4438 #define FLEXML_NEED_BUFFERLIT
4440 /* XML processor api. */
4441 /* FleXML-provided data. */
4442 int surfxml_pcdata_ix;
4443 extern char *surfxml_bufferstack;
4444 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
4445 AT_surfxml_AS_id AX_surfxml_AS_id;
4446 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
4447 short int surfxml_AS_id_isset;
4448 AT_surfxml_AS_routing AX_surfxml_AS_routing;
4449 #define A_surfxml_AS_routing AX_surfxml_AS_routing
4450 short int surfxml_AS_routing_isset;
4451 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
4452 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
4453 short int surfxml_ASroute_dst_isset;
4454 AT_surfxml_ASroute_gw___dst AX_surfxml_ASroute_gw___dst;
4455 #define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
4456 short int surfxml_ASroute_gw___dst_isset;
4457 AT_surfxml_ASroute_gw___src AX_surfxml_ASroute_gw___src;
4458 #define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
4459 short int surfxml_ASroute_gw___src_isset;
4460 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
4461 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
4462 short int surfxml_ASroute_src_isset;
4463 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
4464 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
4465 short int surfxml_ASroute_symmetrical_isset;
4466 AT_surfxml_argument_value AX_surfxml_argument_value;
4467 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
4468 short int surfxml_argument_value_isset;
4469 AT_surfxml_backbone_bandwidth AX_surfxml_backbone_bandwidth;
4470 #define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
4471 short int surfxml_backbone_bandwidth_isset;
4472 AT_surfxml_backbone_id AX_surfxml_backbone_id;
4473 #define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
4474 short int surfxml_backbone_id_isset;
4475 AT_surfxml_backbone_latency AX_surfxml_backbone_latency;
4476 #define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
4477 short int surfxml_backbone_latency_isset;
4478 AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
4479 #define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
4480 short int surfxml_bypassASroute_dst_isset;
4481 AT_surfxml_bypassASroute_gw___dst AX_surfxml_bypassASroute_gw___dst;
4482 #define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
4483 short int surfxml_bypassASroute_gw___dst_isset;
4484 AT_surfxml_bypassASroute_gw___src AX_surfxml_bypassASroute_gw___src;
4485 #define A_surfxml_bypassASroute_gw___src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___src)
4486 short int surfxml_bypassASroute_gw___src_isset;
4487 AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
4488 #define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
4489 short int surfxml_bypassASroute_src_isset;
4490 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
4491 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
4492 short int surfxml_bypassRoute_dst_isset;
4493 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
4494 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
4495 short int surfxml_bypassRoute_src_isset;
4496 AT_surfxml_cabinet_bw AX_surfxml_cabinet_bw;
4497 #define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
4498 short int surfxml_cabinet_bw_isset;
4499 AT_surfxml_cabinet_id AX_surfxml_cabinet_id;
4500 #define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
4501 short int surfxml_cabinet_id_isset;
4502 AT_surfxml_cabinet_lat AX_surfxml_cabinet_lat;
4503 #define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
4504 short int surfxml_cabinet_lat_isset;
4505 AT_surfxml_cabinet_prefix AX_surfxml_cabinet_prefix;
4506 #define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
4507 short int surfxml_cabinet_prefix_isset;
4508 AT_surfxml_cabinet_radical AX_surfxml_cabinet_radical;
4509 #define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
4510 short int surfxml_cabinet_radical_isset;
4511 AT_surfxml_cabinet_speed AX_surfxml_cabinet_speed;
4512 #define A_surfxml_cabinet_speed (surfxml_bufferstack + AX_surfxml_cabinet_speed)
4513 short int surfxml_cabinet_speed_isset;
4514 AT_surfxml_cabinet_suffix AX_surfxml_cabinet_suffix;
4515 #define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
4516 short int surfxml_cabinet_suffix_isset;
4517 AT_surfxml_cluster_bb___bw AX_surfxml_cluster_bb___bw;
4518 #define A_surfxml_cluster_bb___bw (surfxml_bufferstack + AX_surfxml_cluster_bb___bw)
4519 short int surfxml_cluster_bb___bw_isset;
4520 AT_surfxml_cluster_bb___lat AX_surfxml_cluster_bb___lat;
4521 #define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
4522 short int surfxml_cluster_bb___lat_isset;
4523 AT_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy;
4524 #define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
4525 short int surfxml_cluster_bb___sharing___policy_isset;
4526 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
4527 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
4528 short int surfxml_cluster_bw_isset;
4529 AT_surfxml_cluster_core AX_surfxml_cluster_core;
4530 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
4531 short int surfxml_cluster_core_isset;
4532 AT_surfxml_cluster_id AX_surfxml_cluster_id;
4533 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
4534 short int surfxml_cluster_id_isset;
4535 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
4536 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
4537 short int surfxml_cluster_lat_isset;
4538 AT_surfxml_cluster_limiter___link AX_surfxml_cluster_limiter___link;
4539 #define A_surfxml_cluster_limiter___link (surfxml_bufferstack + AX_surfxml_cluster_limiter___link)
4540 short int surfxml_cluster_limiter___link_isset;
4541 AT_surfxml_cluster_loopback___bw AX_surfxml_cluster_loopback___bw;
4542 #define A_surfxml_cluster_loopback___bw (surfxml_bufferstack + AX_surfxml_cluster_loopback___bw)
4543 short int surfxml_cluster_loopback___bw_isset;
4544 AT_surfxml_cluster_loopback___lat AX_surfxml_cluster_loopback___lat;
4545 #define A_surfxml_cluster_loopback___lat (surfxml_bufferstack + AX_surfxml_cluster_loopback___lat)
4546 short int surfxml_cluster_loopback___lat_isset;
4547 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
4548 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
4549 short int surfxml_cluster_prefix_isset;
4550 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
4551 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
4552 short int surfxml_cluster_radical_isset;
4553 AT_surfxml_cluster_router___id AX_surfxml_cluster_router___id;
4554 #define A_surfxml_cluster_router___id (surfxml_bufferstack + AX_surfxml_cluster_router___id)
4555 short int surfxml_cluster_router___id_isset;
4556 AT_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy;
4557 #define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
4558 short int surfxml_cluster_sharing___policy_isset;
4559 AT_surfxml_cluster_speed AX_surfxml_cluster_speed;
4560 #define A_surfxml_cluster_speed (surfxml_bufferstack + AX_surfxml_cluster_speed)
4561 short int surfxml_cluster_speed_isset;
4562 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
4563 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
4564 short int surfxml_cluster_suffix_isset;
4565 AT_surfxml_cluster_topo___parameters AX_surfxml_cluster_topo___parameters;
4566 #define A_surfxml_cluster_topo___parameters (surfxml_bufferstack + AX_surfxml_cluster_topo___parameters)
4567 short int surfxml_cluster_topo___parameters_isset;
4568 AT_surfxml_cluster_topology AX_surfxml_cluster_topology;
4569 #define A_surfxml_cluster_topology AX_surfxml_cluster_topology
4570 short int surfxml_cluster_topology_isset;
4571 AT_surfxml_config_id AX_surfxml_config_id;
4572 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
4573 short int surfxml_config_id_isset;
4574 AT_surfxml_host_availability___file AX_surfxml_host_availability___file;
4575 #define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
4576 short int surfxml_host_availability___file_isset;
4577 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
4578 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
4579 short int surfxml_host_coordinates_isset;
4580 AT_surfxml_host_core AX_surfxml_host_core;
4581 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
4582 short int surfxml_host_core_isset;
4583 AT_surfxml_host_id AX_surfxml_host_id;
4584 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
4585 short int surfxml_host_id_isset;
4586 AT_surfxml_host_pstate AX_surfxml_host_pstate;
4587 #define A_surfxml_host_pstate (surfxml_bufferstack + AX_surfxml_host_pstate)
4588 short int surfxml_host_pstate_isset;
4589 AT_surfxml_host_speed AX_surfxml_host_speed;
4590 #define A_surfxml_host_speed (surfxml_bufferstack + AX_surfxml_host_speed)
4591 short int surfxml_host_speed_isset;
4592 AT_surfxml_host_state___file AX_surfxml_host_state___file;
4593 #define A_surfxml_host_state___file (surfxml_bufferstack + AX_surfxml_host_state___file)
4594 short int surfxml_host_state___file_isset;
4595 AT_surfxml_host___link_down AX_surfxml_host___link_down;
4596 #define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
4597 short int surfxml_host___link_down_isset;
4598 AT_surfxml_host___link_id AX_surfxml_host___link_id;
4599 #define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
4600 short int surfxml_host___link_id_isset;
4601 AT_surfxml_host___link_up AX_surfxml_host___link_up;
4602 #define A_surfxml_host___link_up (surfxml_bufferstack + AX_surfxml_host___link_up)
4603 short int surfxml_host___link_up_isset;
4604 AT_surfxml_include_file AX_surfxml_include_file;
4605 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
4606 short int surfxml_include_file_isset;
4607 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
4608 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
4609 short int surfxml_link_bandwidth_isset;
4610 AT_surfxml_link_bandwidth___file AX_surfxml_link_bandwidth___file;
4611 #define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
4612 short int surfxml_link_bandwidth___file_isset;
4613 AT_surfxml_link_id AX_surfxml_link_id;
4614 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
4615 short int surfxml_link_id_isset;
4616 AT_surfxml_link_latency AX_surfxml_link_latency;
4617 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
4618 short int surfxml_link_latency_isset;
4619 AT_surfxml_link_latency___file AX_surfxml_link_latency___file;
4620 #define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
4621 short int surfxml_link_latency___file_isset;
4622 AT_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy;
4623 #define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
4624 short int surfxml_link_sharing___policy_isset;
4625 AT_surfxml_link_state___file AX_surfxml_link_state___file;
4626 #define A_surfxml_link_state___file (surfxml_bufferstack + AX_surfxml_link_state___file)
4627 short int surfxml_link_state___file_isset;
4628 AT_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction;
4629 #define A_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction
4630 short int surfxml_link___ctn_direction_isset;
4631 AT_surfxml_link___ctn_id AX_surfxml_link___ctn_id;
4632 #define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
4633 short int surfxml_link___ctn_id_isset;
4634 AT_surfxml_model___prop_id AX_surfxml_model___prop_id;
4635 #define A_surfxml_model___prop_id (surfxml_bufferstack + AX_surfxml_model___prop_id)
4636 short int surfxml_model___prop_id_isset;
4637 AT_surfxml_model___prop_value AX_surfxml_model___prop_value;
4638 #define A_surfxml_model___prop_value (surfxml_bufferstack + AX_surfxml_model___prop_value)
4639 short int surfxml_model___prop_value_isset;
4640 AT_surfxml_mount_name AX_surfxml_mount_name;
4641 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
4642 short int surfxml_mount_name_isset;
4643 AT_surfxml_mount_storageId AX_surfxml_mount_storageId;
4644 #define A_surfxml_mount_storageId (surfxml_bufferstack + AX_surfxml_mount_storageId)
4645 short int surfxml_mount_storageId_isset;
4646 AT_surfxml_peer_availability___file AX_surfxml_peer_availability___file;
4647 #define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
4648 short int surfxml_peer_availability___file_isset;
4649 AT_surfxml_peer_bw___in AX_surfxml_peer_bw___in;
4650 #define A_surfxml_peer_bw___in (surfxml_bufferstack + AX_surfxml_peer_bw___in)
4651 short int surfxml_peer_bw___in_isset;
4652 AT_surfxml_peer_bw___out AX_surfxml_peer_bw___out;
4653 #define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
4654 short int surfxml_peer_bw___out_isset;
4655 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
4656 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
4657 short int surfxml_peer_coordinates_isset;
4658 AT_surfxml_peer_id AX_surfxml_peer_id;
4659 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
4660 short int surfxml_peer_id_isset;
4661 AT_surfxml_peer_lat AX_surfxml_peer_lat;
4662 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
4663 short int surfxml_peer_lat_isset;
4664 AT_surfxml_peer_speed AX_surfxml_peer_speed;
4665 #define A_surfxml_peer_speed (surfxml_bufferstack + AX_surfxml_peer_speed)
4666 short int surfxml_peer_speed_isset;
4667 AT_surfxml_peer_state___file AX_surfxml_peer_state___file;
4668 #define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
4669 short int surfxml_peer_state___file_isset;
4670 AT_surfxml_platform_version AX_surfxml_platform_version;
4671 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
4672 short int surfxml_platform_version_isset;
4673 AT_surfxml_process_function AX_surfxml_process_function;
4674 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
4675 short int surfxml_process_function_isset;
4676 AT_surfxml_process_host AX_surfxml_process_host;
4677 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
4678 short int surfxml_process_host_isset;
4679 AT_surfxml_process_kill___time AX_surfxml_process_kill___time;
4680 #define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
4681 short int surfxml_process_kill___time_isset;
4682 AT_surfxml_process_on___failure AX_surfxml_process_on___failure;
4683 #define A_surfxml_process_on___failure AX_surfxml_process_on___failure
4684 short int surfxml_process_on___failure_isset;
4685 AT_surfxml_process_start___time AX_surfxml_process_start___time;
4686 #define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
4687 short int surfxml_process_start___time_isset;
4688 AT_surfxml_prop_id AX_surfxml_prop_id;
4689 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
4690 short int surfxml_prop_id_isset;
4691 AT_surfxml_prop_value AX_surfxml_prop_value;
4692 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
4693 short int surfxml_prop_value_isset;
4694 AT_surfxml_random_generator AX_surfxml_random_generator;
4695 #define A_surfxml_random_generator AX_surfxml_random_generator
4696 short int surfxml_random_generator_isset;
4697 AT_surfxml_random_id AX_surfxml_random_id;
4698 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
4699 short int surfxml_random_id_isset;
4700 AT_surfxml_random_max AX_surfxml_random_max;
4701 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
4702 short int surfxml_random_max_isset;
4703 AT_surfxml_random_mean AX_surfxml_random_mean;
4704 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
4705 short int surfxml_random_mean_isset;
4706 AT_surfxml_random_min AX_surfxml_random_min;
4707 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
4708 short int surfxml_random_min_isset;
4709 AT_surfxml_random_radical AX_surfxml_random_radical;
4710 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
4711 short int surfxml_random_radical_isset;
4712 AT_surfxml_random_seed AX_surfxml_random_seed;
4713 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
4714 short int surfxml_random_seed_isset;
4715 AT_surfxml_random_std___deviation AX_surfxml_random_std___deviation;
4716 #define A_surfxml_random_std___deviation (surfxml_bufferstack + AX_surfxml_random_std___deviation)
4717 short int surfxml_random_std___deviation_isset;
4718 AT_surfxml_route_dst AX_surfxml_route_dst;
4719 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
4720 short int surfxml_route_dst_isset;
4721 AT_surfxml_route_src AX_surfxml_route_src;
4722 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
4723 short int surfxml_route_src_isset;
4724 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
4725 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
4726 short int surfxml_route_symmetrical_isset;
4727 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
4728 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
4729 short int surfxml_router_coordinates_isset;
4730 AT_surfxml_router_id AX_surfxml_router_id;
4731 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
4732 short int surfxml_router_id_isset;
4733 AT_surfxml_storage_attach AX_surfxml_storage_attach;
4734 #define A_surfxml_storage_attach (surfxml_bufferstack + AX_surfxml_storage_attach)
4735 short int surfxml_storage_attach_isset;
4736 AT_surfxml_storage_content AX_surfxml_storage_content;
4737 #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
4738 short int surfxml_storage_content_isset;
4739 AT_surfxml_storage_content___type AX_surfxml_storage_content___type;
4740 #define A_surfxml_storage_content___type (surfxml_bufferstack + AX_surfxml_storage_content___type)
4741 short int surfxml_storage_content___type_isset;
4742 AT_surfxml_storage_id AX_surfxml_storage_id;
4743 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
4744 short int surfxml_storage_id_isset;
4745 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
4746 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
4747 short int surfxml_storage_typeId_isset;
4748 AT_surfxml_storage___type_content AX_surfxml_storage___type_content;
4749 #define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
4750 short int surfxml_storage___type_content_isset;
4751 AT_surfxml_storage___type_content___type AX_surfxml_storage___type_content___type;
4752 #define A_surfxml_storage___type_content___type (surfxml_bufferstack + AX_surfxml_storage___type_content___type)
4753 short int surfxml_storage___type_content___type_isset;
4754 AT_surfxml_storage___type_id AX_surfxml_storage___type_id;
4755 #define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
4756 short int surfxml_storage___type_id_isset;
4757 AT_surfxml_storage___type_model AX_surfxml_storage___type_model;
4758 #define A_surfxml_storage___type_model (surfxml_bufferstack + AX_surfxml_storage___type_model)
4759 short int surfxml_storage___type_model_isset;
4760 AT_surfxml_storage___type_size AX_surfxml_storage___type_size;
4761 #define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
4762 short int surfxml_storage___type_size_isset;
4763 AT_surfxml_trace_file AX_surfxml_trace_file;
4764 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
4765 short int surfxml_trace_file_isset;
4766 AT_surfxml_trace_id AX_surfxml_trace_id;
4767 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
4768 short int surfxml_trace_id_isset;
4769 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
4770 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
4771 short int surfxml_trace_periodicity_isset;
4772 AT_surfxml_trace___connect_element AX_surfxml_trace___connect_element;
4773 #define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
4774 short int surfxml_trace___connect_element_isset;
4775 AT_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind;
4776 #define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
4777 short int surfxml_trace___connect_kind_isset;
4778 AT_surfxml_trace___connect_trace AX_surfxml_trace___connect_trace;
4779 #define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
4780 short int surfxml_trace___connect_trace_isset;
4784 # define ENTER(state) debug_enter(state,#state)
4785 # define LEAVE debug_leave()
4786 # define SET(state) debug_set(state,#state)
4787 static void debug_enter(int, const char*);
4788 static void debug_leave(void);
4789 static void debug_set(int, const char*);
4791 # define ENTER(state) (yy_push_state(state))
4792 # define LEAVE (yy_pop_state())
4793 # define SET(state) BEGIN(state)
4796 /* Generic actions. */
4797 #define SKIP /*skip*/
4798 #define SUCCEED CLEANUP; return 0
4800 #define FAIL return fail
4801 static int fail(const char*, ...);
4803 enum {flexml_max_err_msg_size = 512};
4804 static char flexml_err_msg[flexml_max_err_msg_size];
4805 const char * surfxml_parse_err_msg()
4807 return flexml_err_msg;
4809 static void reset_surfxml_parse_err_msg()
4811 flexml_err_msg[0] = '\0';
4815 static void cleanup(void);
4816 #define CLEANUP cleanup()
4818 /* Text buffer stack handling. */
4819 char *surfxml_bufferstack = NULL;
4820 static int blimit = FLEXML_BUFFERSTACKSIZE;
4821 static int bnext = 1;
4823 static int *indexstack = NULL;
4824 static int ilimit = FLEXML_INDEXSTACKSIZE;
4825 static int inext = 1;
4827 #define BUFFERSET(P) (P = bnext)
4828 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4829 #define BUFFERDONE (BUFFERPUTC('\0'))
4831 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4833 /* after this is called, there are at least 2 slots left in the stack */
4834 static int ck_blimit()
4836 if (bnext >= blimit) {
4837 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4839 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4841 surfxml_bufferstack = temp;
4847 /* after this is called, there are at least 2 slots left in the stack */
4848 static int ck_ilimit()
4850 if (inext >= ilimit) {
4851 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4853 int *temp = (int *) realloc(indexstack, ilimit);
4861 #ifdef FLEXML_NEED_BUFFERLIT
4862 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4866 const char *s = strchr(text, c), *e = strrchr(text, c);
4867 assert(s && e && s <= e);
4872 do ++s; while (s < e && isspace(*s));
4877 const char *s = text;
4885 static void pushbuffer(int p)
4888 indexstack[inext++] = p;
4889 indexstack[inext++] = bnext;
4892 static int popbuffer(void)
4895 bnext = indexstack[--inext];
4896 return indexstack[--inext];
4899 /* General internal entities are `unput' back onto the input stream... */
4900 #define ENTITYTEXT(T) \
4901 { char *s = (T), *e = s+strlen(s);\
4902 while (--e >= s) { unput(*e); }}
4904 /* Flex standard options. */
4905 #define YY_NO_INPUT 1
4906 /* Flex user-requested options. */
4907 /* XML character classes (currently restricted to ASCII). */
4908 /* "Common syntactic structures." */
4909 /* "Names and Tokens." */
4910 /* Miscellaneous. */
4911 /* Parser states (flex `exclusive start conditions'):
4913 * PROLOG the XML prolog of the document before <?xml...>
4914 * DOCTYPE the XML prolog of the document after <?xml...>
4915 * EPILOG after the root element
4916 * INCOMMENT inside an XML comment <!--....-->
4917 * INPI inside an XML PI <?...?>
4918 * VALUE1 inside a '...'-delimited literal
4919 * VALUE2 inside a "..."-delimited literal
4920 * CDATA inside a <![CDATA[...] ]> section.
4921 * ROOT_<tag> expect root element <tag>
4922 * AL_<tag> inside the attribute list for <tag>
4923 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4924 * IMPOSSIBLE dummy to permit disabling rules; must be last
4928 const char* *surfxml_statenames=NULL;
4939 #define AL_surfxml_AS 9
4940 #define S_surfxml_AS 10
4941 #define S_surfxml_AS_1 11
4942 #define S_surfxml_AS_2 12
4943 #define S_surfxml_AS_3 13
4944 #define S_surfxml_AS_4 14
4945 #define S_surfxml_AS_5 15
4946 #define S_surfxml_AS_6 16
4947 #define S_surfxml_AS_7 17
4948 #define S_surfxml_AS_8 18
4949 #define E_surfxml_AS 19
4950 #define AL_surfxml_ASroute 20
4951 #define S_surfxml_ASroute 21
4952 #define S_surfxml_ASroute_1 22
4953 #define S_surfxml_ASroute_2 23
4954 #define E_surfxml_ASroute 24
4955 #define AL_surfxml_argument 25
4956 #define E_surfxml_argument 26
4957 #define AL_surfxml_backbone 27
4958 #define E_surfxml_backbone 28
4959 #define AL_surfxml_bypassASroute 29
4960 #define S_surfxml_bypassASroute 30
4961 #define S_surfxml_bypassASroute_1 31
4962 #define S_surfxml_bypassASroute_2 32
4963 #define E_surfxml_bypassASroute 33
4964 #define AL_surfxml_bypassRoute 34
4965 #define S_surfxml_bypassRoute 35
4966 #define S_surfxml_bypassRoute_1 36
4967 #define S_surfxml_bypassRoute_2 37
4968 #define E_surfxml_bypassRoute 38
4969 #define AL_surfxml_cabinet 39
4970 #define E_surfxml_cabinet 40
4971 #define AL_surfxml_cluster 41
4972 #define S_surfxml_cluster 42
4973 #define S_surfxml_cluster_1 43
4974 #define S_surfxml_cluster_2 44
4975 #define E_surfxml_cluster 45
4976 #define AL_surfxml_config 46
4977 #define S_surfxml_config 47
4978 #define S_surfxml_config_1 48
4979 #define S_surfxml_config_2 49
4980 #define E_surfxml_config 50
4981 #define AL_surfxml_host 51
4982 #define S_surfxml_host 52
4983 #define S_surfxml_host_1 53
4984 #define S_surfxml_host_2 54
4985 #define E_surfxml_host 55
4986 #define AL_surfxml_host___link 56
4987 #define E_surfxml_host___link 57
4988 #define AL_surfxml_include 58
4989 #define S_surfxml_include 59
4990 #define S_surfxml_include_1 60
4991 #define S_surfxml_include_2 61
4992 #define E_surfxml_include 62
4993 #define AL_surfxml_link 63
4994 #define S_surfxml_link 64
4995 #define S_surfxml_link_1 65
4996 #define S_surfxml_link_2 66
4997 #define E_surfxml_link 67
4998 #define AL_surfxml_link___ctn 68
4999 #define E_surfxml_link___ctn 69
5000 #define AL_surfxml_model___prop 70
5001 #define E_surfxml_model___prop 71
5002 #define AL_surfxml_mount 72
5003 #define E_surfxml_mount 73
5004 #define AL_surfxml_peer 74
5005 #define E_surfxml_peer 75
5006 #define ROOT_surfxml_platform 76
5007 #define AL_surfxml_platform 77
5008 #define S_surfxml_platform 78
5009 #define S_surfxml_platform_1 79
5010 #define S_surfxml_platform_2 80
5011 #define S_surfxml_platform_3 81
5012 #define S_surfxml_platform_4 82
5013 #define S_surfxml_platform_5 83
5014 #define S_surfxml_platform_6 84
5015 #define S_surfxml_platform_7 85
5016 #define S_surfxml_platform_8 86
5017 #define E_surfxml_platform 87
5018 #define AL_surfxml_process 88
5019 #define S_surfxml_process 89
5020 #define S_surfxml_process_1 90
5021 #define S_surfxml_process_2 91
5022 #define E_surfxml_process 92
5023 #define AL_surfxml_prop 93
5024 #define E_surfxml_prop 94
5025 #define AL_surfxml_random 95
5026 #define E_surfxml_random 96
5027 #define AL_surfxml_route 97
5028 #define S_surfxml_route 98
5029 #define S_surfxml_route_1 99
5030 #define S_surfxml_route_2 100
5031 #define E_surfxml_route 101
5032 #define AL_surfxml_router 102
5033 #define E_surfxml_router 103
5034 #define AL_surfxml_storage 104
5035 #define S_surfxml_storage 105
5036 #define S_surfxml_storage_1 106
5037 #define S_surfxml_storage_2 107
5038 #define E_surfxml_storage 108
5039 #define AL_surfxml_storage___type 109
5040 #define S_surfxml_storage___type 110
5041 #define S_surfxml_storage___type_1 111
5042 #define S_surfxml_storage___type_2 112
5043 #define E_surfxml_storage___type 113
5044 #define AL_surfxml_trace 114
5045 #define IN_trace 115
5046 #define AL_surfxml_trace___connect 116
5047 #define E_surfxml_trace___connect 117
5048 #define IMPOSSIBLE 118
5050 #ifndef YY_NO_UNISTD_H
5051 /* Special case for "unistd.h", since it is non-ANSI. We include it way
5052 * down here because we want the user's section 1 to have been scanned first.
5053 * The user has a chance to override it with an option.
5056 # ifndef __STRICT_ANSI__
5058 # include <process.h>
5061 # include <unistd.h>
5065 #ifndef YY_EXTRA_TYPE
5066 #define YY_EXTRA_TYPE void *
5069 static int yy_init_globals (void );
5071 /* Accessor methods to globals.
5072 These are made visible to non-reentrant scanners for convenience. */
5074 int surf_parse_lex_destroy (void );
5076 int surf_parse_get_debug (void );
5078 void surf_parse_set_debug (int debug_flag );
5080 YY_EXTRA_TYPE surf_parse_get_extra (void );
5082 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
5084 FILE *surf_parse_get_in (void );
5086 void surf_parse_set_in (FILE * _in_str );
5088 FILE *surf_parse_get_out (void );
5090 void surf_parse_set_out (FILE * _out_str );
5092 int surf_parse_get_leng (void );
5094 char *surf_parse_get_text (void );
5096 int surf_parse_get_lineno (void );
5098 void surf_parse_set_lineno (int _line_number );
5100 /* Macros after this point can all be overridden by user definitions in
5104 #ifndef YY_SKIP_YYWRAP
5106 extern "C" int surf_parse_wrap (void );
5108 extern int surf_parse_wrap (void );
5117 static void yy_flex_strncpy (char *,yyconst char *,int );
5120 #ifdef YY_NEED_STRLEN
5121 static int yy_flex_strlen (yyconst char * );
5127 static int yyinput (void );
5129 static int input (void );
5134 static int yy_start_stack_ptr = 0;
5135 static int yy_start_stack_depth = 0;
5136 static int *yy_start_stack = NULL;
5138 static void yy_push_state (int _new_state );
5140 static void yy_pop_state (void );
5142 /* Amount of stuff to slurp up with each read. */
5143 #ifndef YY_READ_BUF_SIZE
5145 /* On IA-64, the buffer size is 16k, not 8k */
5146 #define YY_READ_BUF_SIZE 16384
5148 #define YY_READ_BUF_SIZE 8192
5149 #endif /* __ia64__ */
5152 /* Copy whatever the last rule matched to the standard output. */
5154 /* This used to be an fputs(), but since the string might contain NUL's,
5155 * we now use fwrite().
5157 #define ECHO do { if (fwrite( surf_parse_text, (size_t) surf_parse_leng, 1, surf_parse_out )) {} } while (0)
5160 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
5161 * is returned in "result".
5164 #define YY_INPUT(buf,result,max_size) \
5165 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
5169 for ( n = 0; n < (size_t) max_size && \
5170 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
5171 buf[n] = (char) c; \
5173 buf[n++] = (char) c; \
5174 if ( c == EOF && ferror( surf_parse_in ) ) \
5175 YY_FATAL_ERROR( "input in flex scanner failed" ); \
5181 while ( (result = (int) fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
5183 if( errno != EINTR) \
5185 YY_FATAL_ERROR( "input in flex scanner failed" ); \
5189 clearerr(surf_parse_in); \
5196 /* No semi-colon after return; correct usage is to write "yyterminate();" -
5197 * we don't want an extra ';' after the "return" because that will cause
5198 * some compilers to complain about unreachable statements.
5201 #define yyterminate() return YY_NULL
5204 /* Number of entries by which start-condition stack grows. */
5205 #ifndef YY_START_STACK_INCR
5206 #define YY_START_STACK_INCR 25
5209 /* Report a fatal error. */
5210 #ifndef YY_FATAL_ERROR
5211 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
5214 /* end tables serialization structures and prototypes */
5216 /* Default declaration of generated scanner - a define so the user can
5217 * easily add parameters.
5220 #define YY_DECL_IS_OURS 1
5222 extern int surf_parse_lex (void);
5224 #define YY_DECL int surf_parse_lex (void)
5225 #endif /* !YY_DECL */
5227 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
5230 #ifndef YY_USER_ACTION
5231 #define YY_USER_ACTION
5234 /* Code executed at the end of each rule. */
5236 #define YY_BREAK /*LINTED*/break;
5239 #define YY_RULE_SETUP \
5242 /** The main scanner function which does all the work.
5246 yy_state_type yy_current_state;
5247 char *yy_cp, *yy_bp;
5259 (yy_start) = 1; /* first start state */
5261 if ( ! surf_parse_in )
5262 surf_parse_in = stdin;
5264 if ( ! surf_parse_out )
5265 surf_parse_out = stdout;
5267 if ( ! YY_CURRENT_BUFFER ) {
5268 surf_parse_ensure_buffer_stack ();
5269 YY_CURRENT_BUFFER_LVALUE =
5270 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
5273 surf_parse__load_buffer_state( );
5278 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
5280 reset_surfxml_parse_err_msg();
5281 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
5282 assert(surfxml_bufferstack);
5286 for (i = 0; i < blimit; i++) {
5287 surfxml_bufferstack[i] = '\377';
5291 surfxml_bufferstack[0] = '\0';
5292 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
5298 surfxml_bufferliteral('\0', &bnext, "0.0");
5299 surfxml_bufferliteral('\0', &bnext, "2147483647");
5300 surfxml_bufferliteral('\0', &bnext, "txt_unix");
5301 surfxml_bufferliteral('\0', &bnext, "1");
5302 surfxml_bufferliteral('\0', &bnext, "0.0");
5303 surfxml_bufferliteral('\0', &bnext, "txt_unix");
5304 surfxml_bufferliteral('\0', &bnext, "1");
5305 surfxml_bufferliteral('\0', &bnext, "0s");
5306 surfxml_bufferliteral('\0', &bnext, "-1.0");
5307 surfxml_bufferliteral('\0', &bnext, "-1.0");
5308 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
5309 surfxml_statenames[PROLOG] = NULL;
5310 surfxml_statenames[DOCTYPE] = NULL;
5311 surfxml_statenames[EPILOG] = NULL;
5312 surfxml_statenames[INCOMMENT] = NULL;
5313 surfxml_statenames[INPI] = NULL;
5314 surfxml_statenames[VALUE1] = NULL;
5315 surfxml_statenames[VALUE2] = NULL;
5316 surfxml_statenames[CDATA] = NULL;
5317 surfxml_statenames[AL_surfxml_AS] = NULL;
5318 surfxml_statenames[S_surfxml_AS] = "AS";
5319 surfxml_statenames[S_surfxml_AS_1] = "AS";
5320 surfxml_statenames[S_surfxml_AS_2] = "AS";
5321 surfxml_statenames[S_surfxml_AS_3] = "AS";
5322 surfxml_statenames[S_surfxml_AS_4] = "AS";
5323 surfxml_statenames[S_surfxml_AS_5] = "AS";
5324 surfxml_statenames[S_surfxml_AS_6] = "AS";
5325 surfxml_statenames[S_surfxml_AS_7] = "AS";
5326 surfxml_statenames[S_surfxml_AS_8] = "AS";
5327 surfxml_statenames[E_surfxml_AS] = "AS";
5328 surfxml_statenames[AL_surfxml_ASroute] = NULL;
5329 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
5330 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
5331 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
5332 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
5333 surfxml_statenames[AL_surfxml_argument] = NULL;
5334 surfxml_statenames[E_surfxml_argument] = "argument";
5335 surfxml_statenames[AL_surfxml_backbone] = NULL;
5336 surfxml_statenames[E_surfxml_backbone] = "backbone";
5337 surfxml_statenames[AL_surfxml_bypassASroute] = NULL;
5338 surfxml_statenames[S_surfxml_bypassASroute] = "bypassASroute";
5339 surfxml_statenames[S_surfxml_bypassASroute_1] = "bypassASroute";
5340 surfxml_statenames[S_surfxml_bypassASroute_2] = "bypassASroute";
5341 surfxml_statenames[E_surfxml_bypassASroute] = "bypassASroute";
5342 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
5343 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
5344 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
5345 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
5346 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
5347 surfxml_statenames[AL_surfxml_cabinet] = NULL;
5348 surfxml_statenames[E_surfxml_cabinet] = "cabinet";
5349 surfxml_statenames[AL_surfxml_cluster] = NULL;
5350 surfxml_statenames[S_surfxml_cluster] = "cluster";
5351 surfxml_statenames[S_surfxml_cluster_1] = "cluster";
5352 surfxml_statenames[S_surfxml_cluster_2] = "cluster";
5353 surfxml_statenames[E_surfxml_cluster] = "cluster";
5354 surfxml_statenames[AL_surfxml_config] = NULL;
5355 surfxml_statenames[S_surfxml_config] = "config";
5356 surfxml_statenames[S_surfxml_config_1] = "config";
5357 surfxml_statenames[S_surfxml_config_2] = "config";
5358 surfxml_statenames[E_surfxml_config] = "config";
5359 surfxml_statenames[AL_surfxml_host] = NULL;
5360 surfxml_statenames[S_surfxml_host] = "host";
5361 surfxml_statenames[S_surfxml_host_1] = "host";
5362 surfxml_statenames[S_surfxml_host_2] = "host";
5363 surfxml_statenames[E_surfxml_host] = "host";
5364 surfxml_statenames[AL_surfxml_host___link] = NULL;
5365 surfxml_statenames[E_surfxml_host___link] = "host_link";
5366 surfxml_statenames[AL_surfxml_include] = NULL;
5367 surfxml_statenames[S_surfxml_include] = "include";
5368 surfxml_statenames[S_surfxml_include_1] = "include";
5369 surfxml_statenames[S_surfxml_include_2] = "include";
5370 surfxml_statenames[E_surfxml_include] = "include";
5371 surfxml_statenames[AL_surfxml_link] = NULL;
5372 surfxml_statenames[S_surfxml_link] = "link";
5373 surfxml_statenames[S_surfxml_link_1] = "link";
5374 surfxml_statenames[S_surfxml_link_2] = "link";
5375 surfxml_statenames[E_surfxml_link] = "link";
5376 surfxml_statenames[AL_surfxml_link___ctn] = NULL;
5377 surfxml_statenames[E_surfxml_link___ctn] = "link_ctn";
5378 surfxml_statenames[AL_surfxml_model___prop] = NULL;
5379 surfxml_statenames[E_surfxml_model___prop] = "model_prop";
5380 surfxml_statenames[AL_surfxml_mount] = NULL;
5381 surfxml_statenames[E_surfxml_mount] = "mount";
5382 surfxml_statenames[AL_surfxml_peer] = NULL;
5383 surfxml_statenames[E_surfxml_peer] = "peer";
5384 surfxml_statenames[ROOT_surfxml_platform] = NULL;
5385 surfxml_statenames[AL_surfxml_platform] = NULL;
5386 surfxml_statenames[S_surfxml_platform] = "platform";
5387 surfxml_statenames[S_surfxml_platform_1] = "platform";
5388 surfxml_statenames[S_surfxml_platform_2] = "platform";
5389 surfxml_statenames[S_surfxml_platform_3] = "platform";
5390 surfxml_statenames[S_surfxml_platform_4] = "platform";
5391 surfxml_statenames[S_surfxml_platform_5] = "platform";
5392 surfxml_statenames[S_surfxml_platform_6] = "platform";
5393 surfxml_statenames[S_surfxml_platform_7] = "platform";
5394 surfxml_statenames[S_surfxml_platform_8] = "platform";
5395 surfxml_statenames[E_surfxml_platform] = "platform";
5396 surfxml_statenames[AL_surfxml_process] = NULL;
5397 surfxml_statenames[S_surfxml_process] = "process";
5398 surfxml_statenames[S_surfxml_process_1] = "process";
5399 surfxml_statenames[S_surfxml_process_2] = "process";
5400 surfxml_statenames[E_surfxml_process] = "process";
5401 surfxml_statenames[AL_surfxml_prop] = NULL;
5402 surfxml_statenames[E_surfxml_prop] = "prop";
5403 surfxml_statenames[AL_surfxml_random] = NULL;
5404 surfxml_statenames[E_surfxml_random] = "random";
5405 surfxml_statenames[AL_surfxml_route] = NULL;
5406 surfxml_statenames[S_surfxml_route] = "route";
5407 surfxml_statenames[S_surfxml_route_1] = "route";
5408 surfxml_statenames[S_surfxml_route_2] = "route";
5409 surfxml_statenames[E_surfxml_route] = "route";
5410 surfxml_statenames[AL_surfxml_router] = NULL;
5411 surfxml_statenames[E_surfxml_router] = "router";
5412 surfxml_statenames[AL_surfxml_storage] = NULL;
5413 surfxml_statenames[S_surfxml_storage] = "storage";
5414 surfxml_statenames[S_surfxml_storage_1] = "storage";
5415 surfxml_statenames[S_surfxml_storage_2] = "storage";
5416 surfxml_statenames[E_surfxml_storage] = "storage";
5417 surfxml_statenames[AL_surfxml_storage___type] = NULL;
5418 surfxml_statenames[S_surfxml_storage___type] = "storage_type";
5419 surfxml_statenames[S_surfxml_storage___type_1] = "storage_type";
5420 surfxml_statenames[S_surfxml_storage___type_2] = "storage_type";
5421 surfxml_statenames[E_surfxml_storage___type] = "storage_type";
5422 surfxml_statenames[AL_surfxml_trace] = NULL;
5423 surfxml_statenames[IN_trace] = "trace";
5424 surfxml_statenames[AL_surfxml_trace___connect] = NULL;
5425 surfxml_statenames[E_surfxml_trace___connect] = "trace_connect";
5428 /* COMMENTS and PIs: handled uniformly for efficiency. */
5430 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
5432 yy_cp = (yy_c_buf_p);
5434 /* Support of surf_parse_text. */
5435 *yy_cp = (yy_hold_char);
5437 /* yy_bp points to the position in yy_ch_buf of the start of
5442 yy_current_state = (yy_start);
5446 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
5447 if ( yy_accept[yy_current_state] )
5449 (yy_last_accepting_state) = yy_current_state;
5450 (yy_last_accepting_cpos) = yy_cp;
5452 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5454 yy_current_state = (int) yy_def[yy_current_state];
5455 if ( yy_current_state >= 3334 )
5456 yy_c = yy_meta[(unsigned int) yy_c];
5458 yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
5461 while ( yy_base[yy_current_state] != 11902 );
5464 yy_act = yy_accept[yy_current_state];
5466 { /* have to back up */
5467 yy_cp = (yy_last_accepting_cpos);
5468 yy_current_state = (yy_last_accepting_state);
5469 yy_act = yy_accept[yy_current_state];
5472 YY_DO_BEFORE_ACTION;
5474 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
5477 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
5478 if ( surf_parse_text[yyl] == '\n' )
5480 surf_parse_lineno++;
5484 do_action: /* This label is used only to access EOF actions. */
5487 { /* beginning of action switch */
5488 case 0: /* must back up */
5489 /* undo the effects of YY_DO_BEFORE_ACTION */
5490 *yy_cp = (yy_hold_char);
5491 yy_cp = (yy_last_accepting_cpos);
5492 yy_current_state = (yy_last_accepting_state);
5493 goto yy_find_action;
5511 /* rule 6 can match eol */
5515 case YY_STATE_EOF(INCOMMENT):
5516 FAIL("EOF in comment.");
5525 /* rule 9 can match eol */
5529 case YY_STATE_EOF(INPI):
5530 FAIL("EOF in PI (processing instruction).");
5533 /* SPACES: skipped uniformly */
5535 /* rule 10 can match eol */
5539 /* PROLOG: determine root element and process it. */
5542 /* rule 11 can match eol */
5547 /* rule 12 can match eol */
5549 FAIL("Bad declaration %s.\nIf your are using a XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",surf_parse_text);
5553 /* rule 13 can match eol */
5555 SET(ROOT_surfxml_platform);
5558 /* rule 14 can match eol */
5560 FAIL("Bad declaration %s.\nIf your are using a XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",surf_parse_text);
5564 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
5566 case YY_STATE_EOF(PROLOG):
5567 case YY_STATE_EOF(DOCTYPE):
5568 FAIL("EOF in prolog.");
5571 /* RULES DERIVED FROM DTD. */
5573 /* rule 16 can match eol */
5575 FAIL("Starting tag <AS> is not allowed here.");
5578 /* rule 17 can match eol */
5581 AX_surfxml_AS_id = 0;
5582 surfxml_AS_id_isset = 0;
5583 AX_surfxml_AS_routing = AU_surfxml_AS_routing;
5584 surfxml_AS_routing_isset = 0;
5585 ENTER(AL_surfxml_AS); pushbuffer(0);
5590 /* rule 18 can match eol */
5592 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);
5595 /* rule 19 can match eol */
5597 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);
5600 /* rule 20 can match eol */
5602 /* rule 21 can match eol */
5604 A_surfxml_AS_routing = A_surfxml_AS_routing_Full;
5607 /* rule 22 can match eol */
5609 /* rule 23 can match eol */
5611 A_surfxml_AS_routing = A_surfxml_AS_routing_Floyd;
5614 /* rule 24 can match eol */
5616 /* rule 25 can match eol */
5618 A_surfxml_AS_routing = A_surfxml_AS_routing_Dijkstra;
5621 /* rule 26 can match eol */
5623 /* rule 27 can match eol */
5625 A_surfxml_AS_routing = A_surfxml_AS_routing_DijkstraCache;
5628 /* rule 28 can match eol */
5630 /* rule 29 can match eol */
5632 A_surfxml_AS_routing = A_surfxml_AS_routing_None;
5635 /* rule 30 can match eol */
5637 /* rule 31 can match eol */
5639 A_surfxml_AS_routing = A_surfxml_AS_routing_Vivaldi;
5642 /* rule 32 can match eol */
5644 /* rule 33 can match eol */
5646 A_surfxml_AS_routing = A_surfxml_AS_routing_Cluster;
5649 /* rule 34 can match eol */
5651 /* rule 35 can match eol */
5653 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterTorus;
5656 /* rule 36 can match eol */
5658 /* rule 37 can match eol */
5660 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterFatTree;
5663 /* rule 38 can match eol */
5665 /* rule 39 can match eol */
5667 A_surfxml_AS_routing = A_surfxml_AS_routing_ClusterDragonfly;
5672 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5673 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5674 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5680 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5681 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5682 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5684 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
5685 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
5686 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
5692 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5696 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5698 case YY_STATE_EOF(AL_surfxml_AS):
5699 FAIL("EOF in attribute list of `AS' element.");
5703 /* rule 44 can match eol */
5708 popbuffer(); /* attribute */
5710 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
5711 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
5712 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
5717 /* rule 45 can match eol */
5719 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5723 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5725 case YY_STATE_EOF(E_surfxml_AS):
5726 case YY_STATE_EOF(S_surfxml_AS):
5727 case YY_STATE_EOF(S_surfxml_AS_1):
5728 case YY_STATE_EOF(S_surfxml_AS_3):
5729 case YY_STATE_EOF(S_surfxml_AS_4):
5730 case YY_STATE_EOF(S_surfxml_AS_6):
5731 case YY_STATE_EOF(S_surfxml_AS_8):
5732 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5736 /* rule 47 can match eol */
5738 FAIL("Starting tag <ASroute> is not allowed here.");
5741 /* rule 48 can match eol */
5744 AX_surfxml_ASroute_dst = 0;
5745 surfxml_ASroute_dst_isset = 0;
5746 AX_surfxml_ASroute_gw___dst = 0;
5747 surfxml_ASroute_gw___dst_isset = 0;
5748 AX_surfxml_ASroute_gw___src = 0;
5749 surfxml_ASroute_gw___src_isset = 0;
5750 AX_surfxml_ASroute_src = 0;
5751 surfxml_ASroute_src_isset = 0;
5752 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5753 surfxml_ASroute_symmetrical_isset = 0;
5754 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5759 /* rule 49 can match eol */
5761 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);
5764 /* rule 50 can match eol */
5766 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);
5769 /* rule 51 can match eol */
5771 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);
5774 /* rule 52 can match eol */
5776 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);
5779 /* rule 53 can match eol */
5781 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);
5784 /* rule 54 can match eol */
5786 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);
5789 /* rule 55 can match eol */
5791 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);
5794 /* rule 56 can match eol */
5796 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);
5799 /* rule 57 can match eol */
5801 /* rule 58 can match eol */
5803 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5806 /* rule 59 can match eol */
5808 /* rule 60 can match eol */
5810 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5815 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5816 if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5817 if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5818 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5819 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5825 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5826 if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5827 if (!AX_surfxml_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5828 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5829 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5831 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
5832 case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
5838 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5842 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5844 case YY_STATE_EOF(AL_surfxml_ASroute):
5845 FAIL("EOF in attribute list of `ASroute' element.");
5849 /* rule 65 can match eol */
5853 ETag_surfxml_ASroute();
5854 popbuffer(); /* attribute */
5856 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
5857 case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
5862 /* rule 66 can match eol */
5864 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5868 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5870 case YY_STATE_EOF(E_surfxml_ASroute):
5871 case YY_STATE_EOF(S_surfxml_ASroute):
5872 case YY_STATE_EOF(S_surfxml_ASroute_2):
5873 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
5877 /* rule 68 can match eol */
5879 FAIL("Starting tag <argument> is not allowed here.");
5882 /* rule 69 can match eol */
5885 AX_surfxml_argument_value = 0;
5886 surfxml_argument_value_isset = 0;
5887 ENTER(AL_surfxml_argument); pushbuffer(0);
5892 /* rule 70 can match eol */
5894 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);
5897 /* rule 71 can match eol */
5899 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);
5904 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5905 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5911 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5912 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5914 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5920 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5924 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5926 case YY_STATE_EOF(AL_surfxml_argument):
5927 FAIL("EOF in attribute list of `argument' element.");
5931 /* rule 76 can match eol */
5935 ETag_surfxml_argument();
5936 popbuffer(); /* attribute */
5938 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5943 /* rule 77 can match eol */
5945 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5949 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5951 case YY_STATE_EOF(E_surfxml_argument):
5952 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
5956 /* rule 79 can match eol */
5958 FAIL("Starting tag <backbone> is not allowed here.");
5961 /* rule 80 can match eol */
5964 AX_surfxml_backbone_bandwidth = 0;
5965 surfxml_backbone_bandwidth_isset = 0;
5966 AX_surfxml_backbone_id = 0;
5967 surfxml_backbone_id_isset = 0;
5968 AX_surfxml_backbone_latency = 0;
5969 surfxml_backbone_latency_isset = 0;
5970 ENTER(AL_surfxml_backbone); pushbuffer(0);
5975 /* rule 81 can match eol */
5977 if (surfxml_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_backbone>");} surfxml_backbone_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_backbone_bandwidth);
5980 /* rule 82 can match eol */
5982 if (surfxml_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_backbone>");} surfxml_backbone_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_backbone_bandwidth);
5985 /* rule 83 can match eol */
5987 if (surfxml_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_backbone>");} surfxml_backbone_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_backbone_id);
5990 /* rule 84 can match eol */
5992 if (surfxml_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_backbone>");} surfxml_backbone_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_backbone_id);
5995 /* rule 85 can match eol */
5997 if (surfxml_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_backbone>");} surfxml_backbone_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_backbone_latency);
6000 /* rule 86 can match eol */
6002 if (surfxml_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_backbone>");} surfxml_backbone_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_backbone_latency);
6007 if (!AX_surfxml_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
6008 if (!AX_surfxml_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
6009 if (!AX_surfxml_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
6010 LEAVE; STag_surfxml_backbone();surfxml_pcdata_ix = 0; ENTER(E_surfxml_backbone);
6016 if (!AX_surfxml_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
6017 if (!AX_surfxml_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
6018 if (!AX_surfxml_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
6019 LEAVE; STag_surfxml_backbone(); surfxml_pcdata_ix = 0; ETag_surfxml_backbone(); popbuffer(); /* attribute */
6021 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6027 FAIL("Unexpected character `%c' in attribute list of backbone element.", surf_parse_text[0]);
6031 FAIL("Bad attribute `%s' in `backbone' element start tag.",surf_parse_text);
6033 case YY_STATE_EOF(AL_surfxml_backbone):
6034 FAIL("EOF in attribute list of `backbone' element.");
6038 /* rule 91 can match eol */
6042 ETag_surfxml_backbone();
6043 popbuffer(); /* attribute */
6045 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6050 /* rule 92 can match eol */
6052 FAIL("Unexpected end-tag `%s': `</backbone>' expected.",surf_parse_text);
6056 FAIL("Unexpected character `%c': `</backbone>' expected.",surf_parse_text[0]);
6058 case YY_STATE_EOF(E_surfxml_backbone):
6059 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</backbone>' expected.");
6063 /* rule 94 can match eol */
6065 FAIL("Starting tag <bypassASroute> is not allowed here.");
6068 /* rule 95 can match eol */
6071 AX_surfxml_bypassASroute_dst = 0;
6072 surfxml_bypassASroute_dst_isset = 0;
6073 AX_surfxml_bypassASroute_gw___dst = 0;
6074 surfxml_bypassASroute_gw___dst_isset = 0;
6075 AX_surfxml_bypassASroute_gw___src = 0;
6076 surfxml_bypassASroute_gw___src_isset = 0;
6077 AX_surfxml_bypassASroute_src = 0;
6078 surfxml_bypassASroute_src_isset = 0;
6079 ENTER(AL_surfxml_bypassASroute); pushbuffer(0);
6084 /* rule 96 can match eol */
6086 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_dst);
6089 /* rule 97 can match eol */
6091 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_dst);
6094 /* rule 98 can match eol */
6096 if (surfxml_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw___dst);
6099 /* rule 99 can match eol */
6101 if (surfxml_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw___dst);
6104 /* rule 100 can match eol */
6106 if (surfxml_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw___src);
6109 /* rule 101 can match eol */
6111 if (surfxml_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw___src);
6114 /* rule 102 can match eol */
6116 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_src);
6119 /* rule 103 can match eol */
6121 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_src);
6126 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
6127 if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
6128 if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
6129 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
6130 LEAVE; STag_surfxml_bypassASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassASroute);
6136 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
6137 if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
6138 if (!AX_surfxml_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
6139 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
6140 LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
6142 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6148 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", surf_parse_text[0]);
6152 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",surf_parse_text);
6154 case YY_STATE_EOF(AL_surfxml_bypassASroute):
6155 FAIL("EOF in attribute list of `bypassASroute' element.");
6159 /* rule 108 can match eol */
6163 ETag_surfxml_bypassASroute();
6164 popbuffer(); /* attribute */
6166 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6171 /* rule 109 can match eol */
6173 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",surf_parse_text);
6177 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",surf_parse_text[0]);
6179 case YY_STATE_EOF(E_surfxml_bypassASroute):
6180 case YY_STATE_EOF(S_surfxml_bypassASroute):
6181 case YY_STATE_EOF(S_surfxml_bypassASroute_2):
6182 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassASroute>' expected.");
6186 /* rule 111 can match eol */
6188 FAIL("Starting tag <bypassRoute> is not allowed here.");
6191 /* rule 112 can match eol */
6194 AX_surfxml_bypassRoute_dst = 0;
6195 surfxml_bypassRoute_dst_isset = 0;
6196 AX_surfxml_bypassRoute_src = 0;
6197 surfxml_bypassRoute_src_isset = 0;
6198 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6203 /* rule 113 can match eol */
6205 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);
6208 /* rule 114 can match eol */
6210 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);
6213 /* rule 115 can match eol */
6215 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);
6218 /* rule 116 can match eol */
6220 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);
6225 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6226 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6227 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6233 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6234 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6235 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6237 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6243 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6247 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6249 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6250 FAIL("EOF in attribute list of `bypassRoute' element.");
6254 /* rule 121 can match eol */
6258 ETag_surfxml_bypassRoute();
6259 popbuffer(); /* attribute */
6261 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
6266 /* rule 122 can match eol */
6268 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6272 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6274 case YY_STATE_EOF(E_surfxml_bypassRoute):
6275 case YY_STATE_EOF(S_surfxml_bypassRoute):
6276 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6277 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
6281 /* rule 124 can match eol */
6283 FAIL("Starting tag <cabinet> is not allowed here.");
6286 /* rule 125 can match eol */
6289 AX_surfxml_cabinet_bw = 0;
6290 surfxml_cabinet_bw_isset = 0;
6291 AX_surfxml_cabinet_id = 0;
6292 surfxml_cabinet_id_isset = 0;
6293 AX_surfxml_cabinet_lat = 0;
6294 surfxml_cabinet_lat_isset = 0;
6295 AX_surfxml_cabinet_prefix = 0;
6296 surfxml_cabinet_prefix_isset = 0;
6297 AX_surfxml_cabinet_radical = 0;
6298 surfxml_cabinet_radical_isset = 0;
6299 AX_surfxml_cabinet_speed = 0;
6300 surfxml_cabinet_speed_isset = 0;
6301 AX_surfxml_cabinet_suffix = 0;
6302 surfxml_cabinet_suffix_isset = 0;
6303 ENTER(AL_surfxml_cabinet); pushbuffer(0);
6308 /* rule 126 can match eol */
6310 if (surfxml_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cabinet>");} surfxml_cabinet_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_bw);
6313 /* rule 127 can match eol */
6315 if (surfxml_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cabinet>");} surfxml_cabinet_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_bw);
6318 /* rule 128 can match eol */
6320 if (surfxml_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cabinet>");} surfxml_cabinet_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_id);
6323 /* rule 129 can match eol */
6325 if (surfxml_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cabinet>");} surfxml_cabinet_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_id);
6328 /* rule 130 can match eol */
6330 if (surfxml_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cabinet>");} surfxml_cabinet_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_lat);
6333 /* rule 131 can match eol */
6335 if (surfxml_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cabinet>");} surfxml_cabinet_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_lat);
6338 /* rule 132 can match eol */
6340 if (surfxml_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cabinet>");} surfxml_cabinet_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_prefix);
6343 /* rule 133 can match eol */
6345 if (surfxml_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cabinet>");} surfxml_cabinet_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_prefix);
6348 /* rule 134 can match eol */
6350 if (surfxml_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cabinet>");} surfxml_cabinet_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_radical);
6353 /* rule 135 can match eol */
6355 if (surfxml_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cabinet>");} surfxml_cabinet_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_radical);
6358 /* rule 136 can match eol */
6360 if (surfxml_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cabinet>");} surfxml_cabinet_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_speed);
6363 /* rule 137 can match eol */
6365 if (surfxml_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cabinet>");} surfxml_cabinet_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_speed);
6368 /* rule 138 can match eol */
6370 if (surfxml_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cabinet>");} surfxml_cabinet_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cabinet_suffix);
6373 /* rule 139 can match eol */
6375 if (surfxml_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cabinet>");} surfxml_cabinet_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cabinet_suffix);
6380 if (!AX_surfxml_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
6381 if (!AX_surfxml_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
6382 if (!AX_surfxml_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
6383 if (!AX_surfxml_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
6384 if (!AX_surfxml_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
6385 if (!AX_surfxml_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
6386 if (!AX_surfxml_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
6387 LEAVE; STag_surfxml_cabinet();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cabinet);
6393 if (!AX_surfxml_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
6394 if (!AX_surfxml_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
6395 if (!AX_surfxml_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
6396 if (!AX_surfxml_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
6397 if (!AX_surfxml_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
6398 if (!AX_surfxml_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
6399 if (!AX_surfxml_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
6400 LEAVE; STag_surfxml_cabinet(); surfxml_pcdata_ix = 0; ETag_surfxml_cabinet(); popbuffer(); /* attribute */
6402 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6403 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6404 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6410 FAIL("Unexpected character `%c' in attribute list of cabinet element.", surf_parse_text[0]);
6414 FAIL("Bad attribute `%s' in `cabinet' element start tag.",surf_parse_text);
6416 case YY_STATE_EOF(AL_surfxml_cabinet):
6417 FAIL("EOF in attribute list of `cabinet' element.");
6421 /* rule 144 can match eol */
6425 ETag_surfxml_cabinet();
6426 popbuffer(); /* attribute */
6428 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6429 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6430 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6435 /* rule 145 can match eol */
6437 FAIL("Unexpected end-tag `%s': `</cabinet>' expected.",surf_parse_text);
6441 FAIL("Unexpected character `%c': `</cabinet>' expected.",surf_parse_text[0]);
6443 case YY_STATE_EOF(E_surfxml_cabinet):
6444 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cabinet>' expected.");
6448 /* rule 147 can match eol */
6450 FAIL("Starting tag <cluster> is not allowed here.");
6453 /* rule 148 can match eol */
6456 AX_surfxml_cluster_bb___bw = 0;
6457 surfxml_cluster_bb___bw_isset = 0;
6458 AX_surfxml_cluster_bb___lat = 42;
6459 surfxml_cluster_bb___lat_isset = 0;
6460 AX_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
6461 surfxml_cluster_bb___sharing___policy_isset = 0;
6462 AX_surfxml_cluster_bw = 0;
6463 surfxml_cluster_bw_isset = 0;
6464 AX_surfxml_cluster_core = 40;
6465 surfxml_cluster_core_isset = 0;
6466 AX_surfxml_cluster_id = 0;
6467 surfxml_cluster_id_isset = 0;
6468 AX_surfxml_cluster_lat = 0;
6469 surfxml_cluster_lat_isset = 0;
6470 AX_surfxml_cluster_limiter___link = 0;
6471 surfxml_cluster_limiter___link_isset = 0;
6472 AX_surfxml_cluster_loopback___bw = 0;
6473 surfxml_cluster_loopback___bw_isset = 0;
6474 AX_surfxml_cluster_loopback___lat = 0;
6475 surfxml_cluster_loopback___lat_isset = 0;
6476 AX_surfxml_cluster_prefix = 0;
6477 surfxml_cluster_prefix_isset = 0;
6478 AX_surfxml_cluster_radical = 0;
6479 surfxml_cluster_radical_isset = 0;
6480 AX_surfxml_cluster_router___id = 0;
6481 surfxml_cluster_router___id_isset = 0;
6482 AX_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FULLDUPLEX;
6483 surfxml_cluster_sharing___policy_isset = 0;
6484 AX_surfxml_cluster_speed = 0;
6485 surfxml_cluster_speed_isset = 0;
6486 AX_surfxml_cluster_suffix = 0;
6487 surfxml_cluster_suffix_isset = 0;
6488 AX_surfxml_cluster_topo___parameters = 0;
6489 surfxml_cluster_topo___parameters_isset = 0;
6490 AX_surfxml_cluster_topology = A_surfxml_cluster_topology_FLAT;
6491 surfxml_cluster_topology_isset = 0;
6492 ENTER(AL_surfxml_cluster); pushbuffer(0);
6497 /* rule 149 can match eol */
6499 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);
6502 /* rule 150 can match eol */
6504 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);
6507 /* rule 151 can match eol */
6509 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);
6512 /* rule 152 can match eol */
6514 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);
6517 /* rule 153 can match eol */
6519 /* rule 154 can match eol */
6521 A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_SHARED;
6524 /* rule 155 can match eol */
6526 /* rule 156 can match eol */
6528 A_surfxml_cluster_bb___sharing___policy = A_surfxml_cluster_bb___sharing___policy_FATPIPE;
6531 /* rule 157 can match eol */
6533 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);
6536 /* rule 158 can match eol */
6538 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);
6541 /* rule 159 can match eol */
6543 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);
6546 /* rule 160 can match eol */
6548 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);
6551 /* rule 161 can match eol */
6553 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);
6556 /* rule 162 can match eol */
6558 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);
6561 /* rule 163 can match eol */
6563 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);
6566 /* rule 164 can match eol */
6568 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);
6571 /* rule 165 can match eol */
6573 if (surfxml_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <surfxml_cluster>");} surfxml_cluster_limiter___link_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_limiter___link);
6576 /* rule 166 can match eol */
6578 if (surfxml_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <surfxml_cluster>");} surfxml_cluster_limiter___link_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_limiter___link);
6581 /* rule 167 can match eol */
6583 if (surfxml_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <surfxml_cluster>");} surfxml_cluster_loopback___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_loopback___bw);
6586 /* rule 168 can match eol */
6588 if (surfxml_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <surfxml_cluster>");} surfxml_cluster_loopback___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_loopback___bw);
6591 /* rule 169 can match eol */
6593 if (surfxml_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <surfxml_cluster>");} surfxml_cluster_loopback___lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_loopback___lat);
6596 /* rule 170 can match eol */
6598 if (surfxml_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <surfxml_cluster>");} surfxml_cluster_loopback___lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_loopback___lat);
6601 /* rule 171 can match eol */
6603 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);
6606 /* rule 172 can match eol */
6608 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);
6611 /* rule 173 can match eol */
6613 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);
6616 /* rule 174 can match eol */
6618 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);
6621 /* rule 175 can match eol */
6623 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);
6626 /* rule 176 can match eol */
6628 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);
6631 /* rule 177 can match eol */
6633 /* rule 178 can match eol */
6635 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_SHARED;
6638 /* rule 179 can match eol */
6640 /* rule 180 can match eol */
6642 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FULLDUPLEX;
6645 /* rule 181 can match eol */
6647 /* rule 182 can match eol */
6649 A_surfxml_cluster_sharing___policy = A_surfxml_cluster_sharing___policy_FATPIPE;
6652 /* rule 183 can match eol */
6654 if (surfxml_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cluster>");} surfxml_cluster_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_speed);
6657 /* rule 184 can match eol */
6659 if (surfxml_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_cluster>");} surfxml_cluster_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_speed);
6662 /* rule 185 can match eol */
6664 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);
6667 /* rule 186 can match eol */
6669 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);
6672 /* rule 187 can match eol */
6674 if (surfxml_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <surfxml_cluster>");} surfxml_cluster_topo___parameters_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_topo___parameters);
6677 /* rule 188 can match eol */
6679 if (surfxml_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <surfxml_cluster>");} surfxml_cluster_topo___parameters_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_topo___parameters);
6682 /* rule 189 can match eol */
6684 /* rule 190 can match eol */
6686 A_surfxml_cluster_topology = A_surfxml_cluster_topology_FLAT;
6689 /* rule 191 can match eol */
6691 /* rule 192 can match eol */
6693 A_surfxml_cluster_topology = A_surfxml_cluster_topology_TORUS;
6696 /* rule 193 can match eol */
6698 /* rule 194 can match eol */
6700 A_surfxml_cluster_topology = A_surfxml_cluster_topology_FAT___TREE;
6703 /* rule 195 can match eol */
6705 /* rule 196 can match eol */
6707 A_surfxml_cluster_topology = A_surfxml_cluster_topology_DRAGONFLY;
6712 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6713 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6714 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6715 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6716 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6717 if (!AX_surfxml_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
6718 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6719 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(S_surfxml_cluster);
6725 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6726 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6727 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6728 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6729 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6730 if (!AX_surfxml_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
6731 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6732 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6734 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6735 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6736 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6742 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6746 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6748 case YY_STATE_EOF(AL_surfxml_cluster):
6749 FAIL("EOF in attribute list of `cluster' element.");
6753 /* rule 201 can match eol */
6757 ETag_surfxml_cluster();
6758 popbuffer(); /* attribute */
6760 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6761 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
6762 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
6767 /* rule 202 can match eol */
6769 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6773 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6775 case YY_STATE_EOF(E_surfxml_cluster):
6776 case YY_STATE_EOF(S_surfxml_cluster):
6777 case YY_STATE_EOF(S_surfxml_cluster_2):
6778 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6782 /* rule 204 can match eol */
6784 FAIL("Starting tag <config> is not allowed here.");
6787 /* rule 205 can match eol */
6790 AX_surfxml_config_id = 0;
6791 surfxml_config_id_isset = 0;
6792 ENTER(AL_surfxml_config); pushbuffer(0);
6797 /* rule 206 can match eol */
6799 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);
6802 /* rule 207 can match eol */
6804 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);
6809 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6815 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6817 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6823 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6827 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6829 case YY_STATE_EOF(AL_surfxml_config):
6830 FAIL("EOF in attribute list of `config' element.");
6834 /* rule 212 can match eol */
6838 ETag_surfxml_config();
6839 popbuffer(); /* attribute */
6841 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6846 /* rule 213 can match eol */
6848 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6852 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6854 case YY_STATE_EOF(E_surfxml_config):
6855 case YY_STATE_EOF(S_surfxml_config):
6856 case YY_STATE_EOF(S_surfxml_config_2):
6857 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
6861 /* rule 215 can match eol */
6863 FAIL("Starting tag <host> is not allowed here.");
6866 /* rule 216 can match eol */
6869 AX_surfxml_host_availability___file = 0;
6870 surfxml_host_availability___file_isset = 0;
6871 AX_surfxml_host_coordinates = 0;
6872 surfxml_host_coordinates_isset = 0;
6873 AX_surfxml_host_core = 25;
6874 surfxml_host_core_isset = 0;
6875 AX_surfxml_host_id = 0;
6876 surfxml_host_id_isset = 0;
6877 AX_surfxml_host_pstate = 27;
6878 surfxml_host_pstate_isset = 0;
6879 AX_surfxml_host_speed = 0;
6880 surfxml_host_speed_isset = 0;
6881 AX_surfxml_host_state___file = 0;
6882 surfxml_host_state___file_isset = 0;
6883 ENTER(AL_surfxml_host); pushbuffer(0);
6888 /* rule 217 can match eol */
6890 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);
6893 /* rule 218 can match eol */
6895 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);
6898 /* rule 219 can match eol */
6900 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);
6903 /* rule 220 can match eol */
6905 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);
6908 /* rule 221 can match eol */
6910 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);
6913 /* rule 222 can match eol */
6915 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);
6918 /* rule 223 can match eol */
6920 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);
6923 /* rule 224 can match eol */
6925 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);
6928 /* rule 225 can match eol */
6930 if (surfxml_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <surfxml_host>");} surfxml_host_pstate_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_pstate);
6933 /* rule 226 can match eol */
6935 if (surfxml_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <surfxml_host>");} surfxml_host_pstate_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_pstate);
6938 /* rule 227 can match eol */
6940 if (surfxml_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_host>");} surfxml_host_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_speed);
6943 /* rule 228 can match eol */
6945 if (surfxml_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_host>");} surfxml_host_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_speed);
6948 /* rule 229 can match eol */
6950 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);
6953 /* rule 230 can match eol */
6955 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);
6960 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6961 if (!AX_surfxml_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
6962 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
6968 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6969 if (!AX_surfxml_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
6970 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
6972 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
6978 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6982 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6984 case YY_STATE_EOF(AL_surfxml_host):
6985 FAIL("EOF in attribute list of `host' element.");
6989 /* rule 235 can match eol */
6993 ETag_surfxml_host();
6994 popbuffer(); /* attribute */
6996 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7001 /* rule 236 can match eol */
7003 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
7007 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
7009 case YY_STATE_EOF(E_surfxml_host):
7010 case YY_STATE_EOF(S_surfxml_host):
7011 case YY_STATE_EOF(S_surfxml_host_2):
7012 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
7016 /* rule 238 can match eol */
7018 FAIL("Starting tag <host_link> is not allowed here.");
7021 /* rule 239 can match eol */
7024 AX_surfxml_host___link_down = 0;
7025 surfxml_host___link_down_isset = 0;
7026 AX_surfxml_host___link_id = 0;
7027 surfxml_host___link_id_isset = 0;
7028 AX_surfxml_host___link_up = 0;
7029 surfxml_host___link_up_isset = 0;
7030 ENTER(AL_surfxml_host___link); pushbuffer(0);
7035 /* rule 240 can match eol */
7037 if (surfxml_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <surfxml_host___link>");} surfxml_host___link_down_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host___link_down);
7040 /* rule 241 can match eol */
7042 if (surfxml_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <surfxml_host___link>");} surfxml_host___link_down_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host___link_down);
7045 /* rule 242 can match eol */
7047 if (surfxml_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host___link>");} surfxml_host___link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host___link_id);
7050 /* rule 243 can match eol */
7052 if (surfxml_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host___link>");} surfxml_host___link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host___link_id);
7055 /* rule 244 can match eol */
7057 if (surfxml_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <surfxml_host___link>");} surfxml_host___link_up_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host___link_up);
7060 /* rule 245 can match eol */
7062 if (surfxml_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <surfxml_host___link>");} surfxml_host___link_up_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host___link_up);
7067 if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
7068 if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
7069 if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
7070 LEAVE; STag_surfxml_host___link();surfxml_pcdata_ix = 0; ENTER(E_surfxml_host___link);
7076 if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
7077 if (!AX_surfxml_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
7078 if (!AX_surfxml_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
7079 LEAVE; STag_surfxml_host___link(); surfxml_pcdata_ix = 0; ETag_surfxml_host___link(); popbuffer(); /* attribute */
7081 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7087 FAIL("Unexpected character `%c' in attribute list of host_link element.", surf_parse_text[0]);
7091 FAIL("Bad attribute `%s' in `host_link' element start tag.",surf_parse_text);
7093 case YY_STATE_EOF(AL_surfxml_host___link):
7094 FAIL("EOF in attribute list of `host_link' element.");
7098 /* rule 250 can match eol */
7102 ETag_surfxml_host___link();
7103 popbuffer(); /* attribute */
7105 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7110 /* rule 251 can match eol */
7112 FAIL("Unexpected end-tag `%s': `</host_link>' expected.",surf_parse_text);
7116 FAIL("Unexpected character `%c': `</host_link>' expected.",surf_parse_text[0]);
7118 case YY_STATE_EOF(E_surfxml_host___link):
7119 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host_link>' expected.");
7123 /* rule 253 can match eol */
7125 FAIL("Starting tag <include> is not allowed here.");
7128 /* rule 254 can match eol */
7131 AX_surfxml_include_file = 0;
7132 surfxml_include_file_isset = 0;
7133 ENTER(AL_surfxml_include); pushbuffer(0);
7138 /* rule 255 can match eol */
7140 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);
7143 /* rule 256 can match eol */
7145 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);
7150 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
7151 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
7157 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
7158 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
7160 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7161 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7162 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7168 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
7172 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
7174 case YY_STATE_EOF(AL_surfxml_include):
7175 FAIL("EOF in attribute list of `include' element.");
7179 /* rule 261 can match eol */
7183 ETag_surfxml_include();
7184 popbuffer(); /* attribute */
7186 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7187 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7188 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7193 /* rule 262 can match eol */
7195 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
7199 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
7201 case YY_STATE_EOF(E_surfxml_include):
7202 case YY_STATE_EOF(S_surfxml_include):
7203 case YY_STATE_EOF(S_surfxml_include_2):
7204 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
7208 /* rule 264 can match eol */
7210 FAIL("Starting tag <link> is not allowed here.");
7213 /* rule 265 can match eol */
7216 AX_surfxml_link_bandwidth = 0;
7217 surfxml_link_bandwidth_isset = 0;
7218 AX_surfxml_link_bandwidth___file = 0;
7219 surfxml_link_bandwidth___file_isset = 0;
7220 AX_surfxml_link_id = 0;
7221 surfxml_link_id_isset = 0;
7222 AX_surfxml_link_latency = 0;
7223 surfxml_link_latency_isset = 0;
7224 AX_surfxml_link_latency___file = 0;
7225 surfxml_link_latency___file_isset = 0;
7226 AX_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED;
7227 surfxml_link_sharing___policy_isset = 0;
7228 AX_surfxml_link_state___file = 0;
7229 surfxml_link_state___file_isset = 0;
7230 ENTER(AL_surfxml_link); pushbuffer(0);
7235 /* rule 266 can match eol */
7237 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);
7240 /* rule 267 can match eol */
7242 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);
7245 /* rule 268 can match eol */
7247 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);
7250 /* rule 269 can match eol */
7252 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);
7255 /* rule 270 can match eol */
7257 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);
7260 /* rule 271 can match eol */
7262 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);
7265 /* rule 272 can match eol */
7267 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);
7270 /* rule 273 can match eol */
7272 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);
7275 /* rule 274 can match eol */
7277 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);
7280 /* rule 275 can match eol */
7282 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);
7285 /* rule 276 can match eol */
7287 /* rule 277 can match eol */
7289 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_SHARED;
7292 /* rule 278 can match eol */
7294 /* rule 279 can match eol */
7296 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FATPIPE;
7299 /* rule 280 can match eol */
7301 /* rule 281 can match eol */
7303 A_surfxml_link_sharing___policy = A_surfxml_link_sharing___policy_FULLDUPLEX;
7306 /* rule 282 can match eol */
7308 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);
7311 /* rule 283 can match eol */
7313 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);
7318 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7319 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7320 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
7326 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7327 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7328 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
7330 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7336 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
7340 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
7342 case YY_STATE_EOF(AL_surfxml_link):
7343 FAIL("EOF in attribute list of `link' element.");
7347 /* rule 288 can match eol */
7351 ETag_surfxml_link();
7352 popbuffer(); /* attribute */
7354 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7359 /* rule 289 can match eol */
7361 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
7365 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
7367 case YY_STATE_EOF(E_surfxml_link):
7368 case YY_STATE_EOF(S_surfxml_link):
7369 case YY_STATE_EOF(S_surfxml_link_2):
7370 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
7374 /* rule 291 can match eol */
7376 FAIL("Starting tag <link_ctn> is not allowed here.");
7379 /* rule 292 can match eol */
7382 AX_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
7383 surfxml_link___ctn_direction_isset = 0;
7384 AX_surfxml_link___ctn_id = 0;
7385 surfxml_link___ctn_id_isset = 0;
7386 ENTER(AL_surfxml_link___ctn); pushbuffer(0);
7391 /* rule 293 can match eol */
7393 /* rule 294 can match eol */
7395 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_UP;
7398 /* rule 295 can match eol */
7400 /* rule 296 can match eol */
7402 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_DOWN;
7405 /* rule 297 can match eol */
7407 /* rule 298 can match eol */
7409 A_surfxml_link___ctn_direction = A_surfxml_link___ctn_direction_NONE;
7412 /* rule 299 can match eol */
7414 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);
7417 /* rule 300 can match eol */
7419 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);
7424 if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7425 LEAVE; STag_surfxml_link___ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link___ctn);
7431 if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7432 LEAVE; STag_surfxml_link___ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link___ctn(); popbuffer(); /* attribute */
7434 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7435 case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute_2: SET(S_surfxml_bypassASroute_2); break;
7436 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: SET(S_surfxml_bypassRoute_2); break;
7437 case S_surfxml_route: case S_surfxml_route_1: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7443 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7447 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7449 case YY_STATE_EOF(AL_surfxml_link___ctn):
7450 FAIL("EOF in attribute list of `link_ctn' element.");
7454 /* rule 305 can match eol */
7458 ETag_surfxml_link___ctn();
7459 popbuffer(); /* attribute */
7461 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7462 case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute_2: SET(S_surfxml_bypassASroute_2); break;
7463 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: SET(S_surfxml_bypassRoute_2); break;
7464 case S_surfxml_route: case S_surfxml_route_1: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7469 /* rule 306 can match eol */
7471 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7475 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7477 case YY_STATE_EOF(E_surfxml_link___ctn):
7478 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7481 /* <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->
7482 * <!-- <!ATTLIST model_prop key CDATA #REQUIRED> --> */
7484 /* rule 308 can match eol */
7486 FAIL("Starting tag <model_prop> is not allowed here.");
7489 /* rule 309 can match eol */
7492 AX_surfxml_model___prop_id = 0;
7493 surfxml_model___prop_id_isset = 0;
7494 AX_surfxml_model___prop_value = 0;
7495 surfxml_model___prop_value_isset = 0;
7496 ENTER(AL_surfxml_model___prop); pushbuffer(0);
7501 /* rule 310 can match eol */
7503 if (surfxml_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_model___prop>");} surfxml_model___prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_model___prop_id);
7506 /* rule 311 can match eol */
7508 if (surfxml_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_model___prop>");} surfxml_model___prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_model___prop_id);
7511 /* rule 312 can match eol */
7513 if (surfxml_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_model___prop>");} surfxml_model___prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_model___prop_value);
7516 /* rule 313 can match eol */
7518 if (surfxml_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_model___prop>");} surfxml_model___prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_model___prop_value);
7523 if (!AX_surfxml_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
7524 if (!AX_surfxml_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
7525 LEAVE; STag_surfxml_model___prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_model___prop);
7531 if (!AX_surfxml_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
7532 if (!AX_surfxml_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
7533 LEAVE; STag_surfxml_model___prop(); surfxml_pcdata_ix = 0; ETag_surfxml_model___prop(); popbuffer(); /* attribute */
7535 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
7541 FAIL("Unexpected character `%c' in attribute list of model_prop element.", surf_parse_text[0]);
7545 FAIL("Bad attribute `%s' in `model_prop' element start tag.",surf_parse_text);
7547 case YY_STATE_EOF(AL_surfxml_model___prop):
7548 FAIL("EOF in attribute list of `model_prop' element.");
7552 /* rule 318 can match eol */
7556 ETag_surfxml_model___prop();
7557 popbuffer(); /* attribute */
7559 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
7564 /* rule 319 can match eol */
7566 FAIL("Unexpected end-tag `%s': `</model_prop>' expected.",surf_parse_text);
7570 FAIL("Unexpected character `%c': `</model_prop>' expected.",surf_parse_text[0]);
7572 case YY_STATE_EOF(E_surfxml_model___prop):
7573 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</model_prop>' expected.");
7577 /* rule 321 can match eol */
7579 FAIL("Starting tag <mount> is not allowed here.");
7582 /* rule 322 can match eol */
7585 AX_surfxml_mount_name = 0;
7586 surfxml_mount_name_isset = 0;
7587 AX_surfxml_mount_storageId = 0;
7588 surfxml_mount_storageId_isset = 0;
7589 ENTER(AL_surfxml_mount); pushbuffer(0);
7594 /* rule 323 can match eol */
7596 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_name);
7599 /* rule 324 can match eol */
7601 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_name);
7604 /* rule 325 can match eol */
7606 if (surfxml_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <surfxml_mount>");} surfxml_mount_storageId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_storageId);
7609 /* rule 326 can match eol */
7611 if (surfxml_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <surfxml_mount>");} surfxml_mount_storageId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_storageId);
7616 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
7617 if (!AX_surfxml_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
7618 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
7624 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
7625 if (!AX_surfxml_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
7626 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
7628 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
7634 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
7638 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
7640 case YY_STATE_EOF(AL_surfxml_mount):
7641 FAIL("EOF in attribute list of `mount' element.");
7645 /* rule 331 can match eol */
7649 ETag_surfxml_mount();
7650 popbuffer(); /* attribute */
7652 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
7657 /* rule 332 can match eol */
7659 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
7663 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
7665 case YY_STATE_EOF(E_surfxml_mount):
7666 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
7670 /* rule 334 can match eol */
7672 FAIL("Starting tag <peer> is not allowed here.");
7675 /* rule 335 can match eol */
7678 AX_surfxml_peer_availability___file = 0;
7679 surfxml_peer_availability___file_isset = 0;
7680 AX_surfxml_peer_bw___in = 0;
7681 surfxml_peer_bw___in_isset = 0;
7682 AX_surfxml_peer_bw___out = 0;
7683 surfxml_peer_bw___out_isset = 0;
7684 AX_surfxml_peer_coordinates = 0;
7685 surfxml_peer_coordinates_isset = 0;
7686 AX_surfxml_peer_id = 0;
7687 surfxml_peer_id_isset = 0;
7688 AX_surfxml_peer_lat = 0;
7689 surfxml_peer_lat_isset = 0;
7690 AX_surfxml_peer_speed = 0;
7691 surfxml_peer_speed_isset = 0;
7692 AX_surfxml_peer_state___file = 0;
7693 surfxml_peer_state___file_isset = 0;
7694 ENTER(AL_surfxml_peer); pushbuffer(0);
7699 /* rule 336 can match eol */
7701 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);
7704 /* rule 337 can match eol */
7706 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);
7709 /* rule 338 can match eol */
7711 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);
7714 /* rule 339 can match eol */
7716 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);
7719 /* rule 340 can match eol */
7721 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);
7724 /* rule 341 can match eol */
7726 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);
7729 /* rule 342 can match eol */
7731 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);
7734 /* rule 343 can match eol */
7736 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);
7739 /* rule 344 can match eol */
7741 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);
7744 /* rule 345 can match eol */
7746 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);
7749 /* rule 346 can match eol */
7751 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);
7754 /* rule 347 can match eol */
7756 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);
7759 /* rule 348 can match eol */
7761 if (surfxml_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_peer>");} surfxml_peer_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_speed);
7764 /* rule 349 can match eol */
7766 if (surfxml_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <surfxml_peer>");} surfxml_peer_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_speed);
7769 /* rule 350 can match eol */
7771 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);
7774 /* rule 351 can match eol */
7776 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);
7781 if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
7782 if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
7783 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
7784 if (!AX_surfxml_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
7785 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
7791 if (!AX_surfxml_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
7792 if (!AX_surfxml_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
7793 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
7794 if (!AX_surfxml_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
7795 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
7797 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7798 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7799 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7805 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
7809 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
7811 case YY_STATE_EOF(AL_surfxml_peer):
7812 FAIL("EOF in attribute list of `peer' element.");
7816 /* rule 356 can match eol */
7820 ETag_surfxml_peer();
7821 popbuffer(); /* attribute */
7823 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
7824 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
7825 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
7830 /* rule 357 can match eol */
7832 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
7836 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
7838 case YY_STATE_EOF(E_surfxml_peer):
7839 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
7843 * DTD of SimGrid platform and deployment files.
7844 * More info: http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html
7845 * To upgrade your files, use the tool simgrid_update_xml
7846 * * New in DTD version 4 (in SimGrid 3.13):
7847 * - Rename (power->speed) the attributes describing the amount of flop
7848 * that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
7849 * - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
7851 * - In <host> and <link>, attributes availability and state are gone.
7852 * It was redundent with state and availability traces, and with peak values.
7854 * - In <cluster>, cannot set the availability nor state traces.
7855 * This was too complex and unused.
7856 * - The DOCTYPE points to the right URL (this file):
7857 * http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd
7859 * - Kill <gpu>. Was not doing anything.
7860 * - A warning is emitted for unit-less values (they are still accepted).
7861 * - speed. Default: 'f' or 'flops'. Also defined:
7862 * 'Yf', 'Zf', 'Ef', 'Pf', 'Tf', 'Gf', 'Mf', 'kf'
7863 * 'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
7864 * - bandwidth. Default: 'Bps' bytes per second
7865 * In bytes and powers of 2 (1 KiBps = 1024 Bps): 'EiBps', 'PiBps', 'TiBps', 'GiBps', 'MiBps', 'KiBps'
7866 * In bits and powers of 2 (1 Bps = 8 bps) : 'Eibps', 'Pibps', 'Tibps', 'Gibps', 'Mibps', 'Kibps'
7867 * In bytes and powers of 10 (1 KBps = 1000 Bps) : 'EBps', 'PBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
7868 * In bits and powers of 10 : 'Ebps', 'Pbps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
7869 * (Exa and Peta notations were introduced in SimGrid v3.14)
7870 * - latency. Default: 's' second. Also defined:
7871 * 'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
7872 * * New in DTD version 3 (in SimGrid 3.5):
7873 * - The AS tag were introduced. Every platform should now
7874 * contain an englobing AS tag.
7875 * - Routes are now symmetric by default.
7876 * - Renamed tags (for sake of XML sanity):
7877 * - LINK:CTN -> LINK_CTN
7878 * - TRACE:CONNECT -> TRACE_CONNECT
7879 * * New in DTD version 2 (in SimGrid 3.4):
7882 * - NETWORK_LINK -> LINK
7883 * - ROUTE_ELEMENT -> LINK:CTN (changed again in v3)
7884 * - PLATFORM_DESCRIPTION -> PLATFORM
7885 * * New in DTD version 1 (in SimGrid 3.3):
7886 * - DTD is now versionned with the version attribute of platform
7888 * - Link bandwidth: from Mb/s to b/s
7889 * - CPU speed: from MFlop/s to Flop/s
7892 /* rule 359 can match eol */
7894 FAIL("Starting tag <platform> is not allowed here.");
7897 /* rule 360 can match eol */
7900 AX_surfxml_platform_version = 1;
7901 surfxml_platform_version_isset = 0;
7902 ENTER(AL_surfxml_platform); pushbuffer(0);
7907 /* rule 361 can match eol */
7909 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);
7912 /* rule 362 can match eol */
7914 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);
7919 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
7925 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
7927 case ROOT_surfxml_platform: SET(EPILOG); break;
7933 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
7937 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
7939 case YY_STATE_EOF(AL_surfxml_platform):
7940 FAIL("EOF in attribute list of `platform' element.");
7944 /* rule 367 can match eol */
7948 ETag_surfxml_platform();
7949 popbuffer(); /* attribute */
7951 case ROOT_surfxml_platform: SET(EPILOG); break;
7956 /* rule 368 can match eol */
7958 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
7962 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
7964 case YY_STATE_EOF(E_surfxml_platform):
7965 case YY_STATE_EOF(S_surfxml_platform):
7966 case YY_STATE_EOF(S_surfxml_platform_1):
7967 case YY_STATE_EOF(S_surfxml_platform_3):
7968 case YY_STATE_EOF(S_surfxml_platform_4):
7969 case YY_STATE_EOF(S_surfxml_platform_6):
7970 case YY_STATE_EOF(S_surfxml_platform_8):
7971 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
7975 /* rule 370 can match eol */
7977 FAIL("Starting tag <process> is not allowed here.");
7980 /* rule 371 can match eol */
7983 AX_surfxml_process_function = 0;
7984 surfxml_process_function_isset = 0;
7985 AX_surfxml_process_host = 0;
7986 surfxml_process_host_isset = 0;
7987 AX_surfxml_process_kill___time = 50;
7988 surfxml_process_kill___time_isset = 0;
7989 AX_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
7990 surfxml_process_on___failure_isset = 0;
7991 AX_surfxml_process_start___time = 45;
7992 surfxml_process_start___time_isset = 0;
7993 ENTER(AL_surfxml_process); pushbuffer(0);
7998 /* rule 372 can match eol */
8000 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);
8003 /* rule 373 can match eol */
8005 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);
8008 /* rule 374 can match eol */
8010 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);
8013 /* rule 375 can match eol */
8015 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);
8018 /* rule 376 can match eol */
8020 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);
8023 /* rule 377 can match eol */
8025 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);
8028 /* rule 378 can match eol */
8030 /* rule 379 can match eol */
8032 A_surfxml_process_on___failure = A_surfxml_process_on___failure_DIE;
8035 /* rule 380 can match eol */
8037 /* rule 381 can match eol */
8039 A_surfxml_process_on___failure = A_surfxml_process_on___failure_RESTART;
8042 /* rule 382 can match eol */
8044 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);
8047 /* rule 383 can match eol */
8049 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);
8054 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
8055 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
8056 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
8062 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
8063 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
8064 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
8066 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_4: case S_surfxml_platform_6: case S_surfxml_platform_7: case S_surfxml_platform_8: SET(S_surfxml_platform_8); break;
8072 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
8076 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
8078 case YY_STATE_EOF(AL_surfxml_process):
8079 FAIL("EOF in attribute list of `process' element.");
8083 /* rule 388 can match eol */
8087 ETag_surfxml_process();
8088 popbuffer(); /* attribute */
8090 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_4: case S_surfxml_platform_6: case S_surfxml_platform_7: case S_surfxml_platform_8: SET(S_surfxml_platform_8); break;
8095 /* rule 389 can match eol */
8097 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
8101 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
8103 case YY_STATE_EOF(E_surfxml_process):
8104 case YY_STATE_EOF(S_surfxml_process):
8105 case YY_STATE_EOF(S_surfxml_process_2):
8106 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
8109 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
8110 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
8112 /* rule 391 can match eol */
8114 FAIL("Starting tag <prop> is not allowed here.");
8117 /* rule 392 can match eol */
8120 AX_surfxml_prop_id = 0;
8121 surfxml_prop_id_isset = 0;
8122 AX_surfxml_prop_value = 0;
8123 surfxml_prop_value_isset = 0;
8124 ENTER(AL_surfxml_prop); pushbuffer(0);
8129 /* rule 393 can match eol */
8131 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);
8134 /* rule 394 can match eol */
8136 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);
8139 /* rule 395 can match eol */
8141 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);
8144 /* rule 396 can match eol */
8146 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);
8151 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
8152 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
8153 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
8159 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
8160 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
8161 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
8163 case S_surfxml_AS: case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
8164 case S_surfxml_cluster: case S_surfxml_cluster_1: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
8165 case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8166 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
8167 case S_surfxml_link: case S_surfxml_link_1: case S_surfxml_link_2: SET(S_surfxml_link_2); break;
8168 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8169 case S_surfxml_storage: case S_surfxml_storage_1: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
8170 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
8176 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
8180 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
8182 case YY_STATE_EOF(AL_surfxml_prop):
8183 FAIL("EOF in attribute list of `prop' element.");
8187 /* rule 401 can match eol */
8191 ETag_surfxml_prop();
8192 popbuffer(); /* attribute */
8194 case S_surfxml_AS: case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
8195 case S_surfxml_cluster: case S_surfxml_cluster_1: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
8196 case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8197 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
8198 case S_surfxml_link: case S_surfxml_link_1: case S_surfxml_link_2: SET(S_surfxml_link_2); break;
8199 case S_surfxml_process: case S_surfxml_process_1: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8200 case S_surfxml_storage: case S_surfxml_storage_1: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
8201 case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
8206 /* rule 402 can match eol */
8208 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
8212 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
8214 case YY_STATE_EOF(E_surfxml_prop):
8215 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
8219 /* rule 404 can match eol */
8221 FAIL("Starting tag <random> is not allowed here.");
8224 /* rule 405 can match eol */
8227 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
8228 surfxml_random_generator_isset = 0;
8229 AX_surfxml_random_id = 0;
8230 surfxml_random_id_isset = 0;
8231 AX_surfxml_random_max = 0;
8232 surfxml_random_max_isset = 0;
8233 AX_surfxml_random_mean = 0;
8234 surfxml_random_mean_isset = 0;
8235 AX_surfxml_random_min = 0;
8236 surfxml_random_min_isset = 0;
8237 AX_surfxml_random_radical = 0;
8238 surfxml_random_radical_isset = 0;
8239 AX_surfxml_random_seed = 5;
8240 surfxml_random_seed_isset = 0;
8241 AX_surfxml_random_std___deviation = 0;
8242 surfxml_random_std___deviation_isset = 0;
8243 ENTER(AL_surfxml_random); pushbuffer(0);
8248 /* rule 406 can match eol */
8250 /* rule 407 can match eol */
8252 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
8255 /* rule 408 can match eol */
8257 /* rule 409 can match eol */
8259 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
8262 /* rule 410 can match eol */
8264 /* rule 411 can match eol */
8266 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
8269 /* rule 412 can match eol */
8271 /* rule 413 can match eol */
8273 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
8276 /* rule 414 can match eol */
8278 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);
8281 /* rule 415 can match eol */
8283 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);
8286 /* rule 416 can match eol */
8288 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);
8291 /* rule 417 can match eol */
8293 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);
8296 /* rule 418 can match eol */
8298 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);
8301 /* rule 419 can match eol */
8303 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);
8306 /* rule 420 can match eol */
8308 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);
8311 /* rule 421 can match eol */
8313 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);
8316 /* rule 422 can match eol */
8318 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);
8321 /* rule 423 can match eol */
8323 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);
8326 /* rule 424 can match eol */
8328 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);
8331 /* rule 425 can match eol */
8333 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);
8336 /* rule 426 can match eol */
8338 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);
8341 /* rule 427 can match eol */
8343 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);
8348 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
8349 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
8350 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
8351 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
8352 if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
8353 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(E_surfxml_random);
8359 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
8360 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
8361 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
8362 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
8363 if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
8364 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
8366 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
8372 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
8376 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
8378 case YY_STATE_EOF(AL_surfxml_random):
8379 FAIL("EOF in attribute list of `random' element.");
8383 /* rule 432 can match eol */
8387 ETag_surfxml_random();
8388 popbuffer(); /* attribute */
8390 case S_surfxml_platform: case S_surfxml_platform_2: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
8395 /* rule 433 can match eol */
8397 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
8401 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
8403 case YY_STATE_EOF(E_surfxml_random):
8404 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
8408 /* rule 435 can match eol */
8410 FAIL("Starting tag <route> is not allowed here.");
8413 /* rule 436 can match eol */
8416 AX_surfxml_route_dst = 0;
8417 surfxml_route_dst_isset = 0;
8418 AX_surfxml_route_src = 0;
8419 surfxml_route_src_isset = 0;
8420 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
8421 surfxml_route_symmetrical_isset = 0;
8422 ENTER(AL_surfxml_route); pushbuffer(0);
8427 /* rule 437 can match eol */
8429 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);
8432 /* rule 438 can match eol */
8434 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);
8437 /* rule 439 can match eol */
8439 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);
8442 /* rule 440 can match eol */
8444 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);
8447 /* rule 441 can match eol */
8449 /* rule 442 can match eol */
8451 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
8454 /* rule 443 can match eol */
8456 /* rule 444 can match eol */
8458 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
8463 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
8464 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
8465 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
8471 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
8472 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
8473 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
8475 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8481 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
8485 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
8487 case YY_STATE_EOF(AL_surfxml_route):
8488 FAIL("EOF in attribute list of `route' element.");
8492 /* rule 449 can match eol */
8496 ETag_surfxml_route();
8497 popbuffer(); /* attribute */
8499 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8504 /* rule 450 can match eol */
8506 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
8510 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
8512 case YY_STATE_EOF(E_surfxml_route):
8513 case YY_STATE_EOF(S_surfxml_route):
8514 case YY_STATE_EOF(S_surfxml_route_2):
8515 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
8519 /* rule 452 can match eol */
8521 FAIL("Starting tag <router> is not allowed here.");
8524 /* rule 453 can match eol */
8527 AX_surfxml_router_coordinates = 0;
8528 surfxml_router_coordinates_isset = 0;
8529 AX_surfxml_router_id = 0;
8530 surfxml_router_id_isset = 0;
8531 ENTER(AL_surfxml_router); pushbuffer(0);
8536 /* rule 454 can match eol */
8538 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);
8541 /* rule 455 can match eol */
8543 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);
8546 /* rule 456 can match eol */
8548 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);
8551 /* rule 457 can match eol */
8553 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);
8558 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
8559 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
8565 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
8566 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
8568 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8574 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
8578 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
8580 case YY_STATE_EOF(AL_surfxml_router):
8581 FAIL("EOF in attribute list of `router' element.");
8585 /* rule 462 can match eol */
8589 ETag_surfxml_router();
8590 popbuffer(); /* attribute */
8592 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8597 /* rule 463 can match eol */
8599 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
8603 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
8605 case YY_STATE_EOF(E_surfxml_router):
8606 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
8610 /* rule 465 can match eol */
8612 FAIL("Starting tag <storage> is not allowed here.");
8615 /* rule 466 can match eol */
8618 AX_surfxml_storage_attach = 0;
8619 surfxml_storage_attach_isset = 0;
8620 AX_surfxml_storage_content = 0;
8621 surfxml_storage_content_isset = 0;
8622 AX_surfxml_storage_content___type = 31;
8623 surfxml_storage_content___type_isset = 0;
8624 AX_surfxml_storage_id = 0;
8625 surfxml_storage_id_isset = 0;
8626 AX_surfxml_storage_typeId = 0;
8627 surfxml_storage_typeId_isset = 0;
8628 ENTER(AL_surfxml_storage); pushbuffer(0);
8633 /* rule 467 can match eol */
8635 if (surfxml_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <surfxml_storage>");} surfxml_storage_attach_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_attach);
8638 /* rule 468 can match eol */
8640 if (surfxml_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <surfxml_storage>");} surfxml_storage_attach_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_attach);
8643 /* rule 469 can match eol */
8645 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);
8648 /* rule 470 can match eol */
8650 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);
8653 /* rule 471 can match eol */
8655 if (surfxml_storage_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage>");} surfxml_storage_content___type_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_content___type);
8658 /* rule 472 can match eol */
8660 if (surfxml_storage_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage>");} surfxml_storage_content___type_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_content___type);
8663 /* rule 473 can match eol */
8665 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);
8668 /* rule 474 can match eol */
8670 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);
8673 /* rule 475 can match eol */
8675 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_typeId);
8678 /* rule 476 can match eol */
8680 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_typeId);
8685 if (!AX_surfxml_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
8686 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
8687 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
8688 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
8694 if (!AX_surfxml_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
8695 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
8696 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
8697 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
8699 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8705 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
8709 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
8711 case YY_STATE_EOF(AL_surfxml_storage):
8712 FAIL("EOF in attribute list of `storage' element.");
8716 /* rule 481 can match eol */
8720 ETag_surfxml_storage();
8721 popbuffer(); /* attribute */
8723 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8728 /* rule 482 can match eol */
8730 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
8734 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
8736 case YY_STATE_EOF(E_surfxml_storage):
8737 case YY_STATE_EOF(S_surfxml_storage):
8738 case YY_STATE_EOF(S_surfxml_storage_2):
8739 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
8743 /* rule 484 can match eol */
8745 FAIL("Starting tag <storage_type> is not allowed here.");
8748 /* rule 485 can match eol */
8751 AX_surfxml_storage___type_content = 0;
8752 surfxml_storage___type_content_isset = 0;
8753 AX_surfxml_storage___type_content___type = 16;
8754 surfxml_storage___type_content___type_isset = 0;
8755 AX_surfxml_storage___type_id = 0;
8756 surfxml_storage___type_id_isset = 0;
8757 AX_surfxml_storage___type_model = 0;
8758 surfxml_storage___type_model_isset = 0;
8759 AX_surfxml_storage___type_size = 0;
8760 surfxml_storage___type_size_isset = 0;
8761 ENTER(AL_surfxml_storage___type); pushbuffer(0);
8766 /* rule 486 can match eol */
8768 if (surfxml_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage___type>");} surfxml_storage___type_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_content);
8771 /* rule 487 can match eol */
8773 if (surfxml_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage___type>");} surfxml_storage___type_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_content);
8776 /* rule 488 can match eol */
8778 if (surfxml_storage___type_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage___type>");} surfxml_storage___type_content___type_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_content___type);
8781 /* rule 489 can match eol */
8783 if (surfxml_storage___type_content___type_isset != 0) {FAIL("Multiple definition of attribute content_type in <surfxml_storage___type>");} surfxml_storage___type_content___type_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_content___type);
8786 /* rule 490 can match eol */
8788 if (surfxml_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage___type>");} surfxml_storage___type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_id);
8791 /* rule 491 can match eol */
8793 if (surfxml_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage___type>");} surfxml_storage___type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_id);
8796 /* rule 492 can match eol */
8798 if (surfxml_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage___type>");} surfxml_storage___type_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_model);
8801 /* rule 493 can match eol */
8803 if (surfxml_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage___type>");} surfxml_storage___type_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_model);
8806 /* rule 494 can match eol */
8808 if (surfxml_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage___type>");} surfxml_storage___type_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage___type_size);
8811 /* rule 495 can match eol */
8813 if (surfxml_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage___type>");} surfxml_storage___type_size_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage___type_size);
8818 if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
8819 if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
8820 if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
8821 LEAVE; STag_surfxml_storage___type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage___type);
8827 if (!AX_surfxml_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
8828 if (!AX_surfxml_storage___type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
8829 if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
8830 LEAVE; STag_surfxml_storage___type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage___type(); popbuffer(); /* attribute */
8832 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8838 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
8842 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
8844 case YY_STATE_EOF(AL_surfxml_storage___type):
8845 FAIL("EOF in attribute list of `storage_type' element.");
8849 /* rule 500 can match eol */
8853 ETag_surfxml_storage___type();
8854 popbuffer(); /* attribute */
8856 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
8861 /* rule 501 can match eol */
8863 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
8867 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
8869 case YY_STATE_EOF(E_surfxml_storage___type):
8870 case YY_STATE_EOF(S_surfxml_storage___type):
8871 case YY_STATE_EOF(S_surfxml_storage___type_2):
8872 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
8876 /* rule 503 can match eol */
8878 FAIL("Starting tag <trace> is not allowed here.");
8881 /* rule 504 can match eol */
8884 AX_surfxml_trace_file = 0;
8885 surfxml_trace_file_isset = 0;
8886 AX_surfxml_trace_id = 0;
8887 surfxml_trace_id_isset = 0;
8888 AX_surfxml_trace_periodicity = 0;
8889 surfxml_trace_periodicity_isset = 0;
8890 ENTER(AL_surfxml_trace); pushbuffer(0);
8895 /* rule 505 can match eol */
8897 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);
8900 /* rule 506 can match eol */
8902 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);
8905 /* rule 507 can match eol */
8907 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);
8910 /* rule 508 can match eol */
8912 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);
8915 /* rule 509 can match eol */
8917 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);
8920 /* rule 510 can match eol */
8922 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);
8927 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
8928 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
8929 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
8935 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
8936 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
8937 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
8939 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8940 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
8941 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
8947 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
8951 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
8953 case YY_STATE_EOF(AL_surfxml_trace):
8954 FAIL("EOF in attribute list of `trace' element.");
8958 /* rule 515 can match eol */
8963 ETag_surfxml_trace();
8964 surfxml_pcdata_ix = popbuffer();
8965 popbuffer(); /* attribute */
8967 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
8968 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
8969 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
8974 /* rule 516 can match eol */
8976 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
8978 case YY_STATE_EOF(IN_trace):
8979 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
8983 /* rule 517 can match eol */
8985 FAIL("Starting tag <trace_connect> is not allowed here.");
8988 /* rule 518 can match eol */
8991 AX_surfxml_trace___connect_element = 0;
8992 surfxml_trace___connect_element_isset = 0;
8993 AX_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_HOST___AVAIL;
8994 surfxml_trace___connect_kind_isset = 0;
8995 AX_surfxml_trace___connect_trace = 0;
8996 surfxml_trace___connect_trace_isset = 0;
8997 ENTER(AL_surfxml_trace___connect); pushbuffer(0);
9002 /* rule 519 can match eol */
9004 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);
9007 /* rule 520 can match eol */
9009 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);
9012 /* rule 521 can match eol */
9014 /* rule 522 can match eol */
9016 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_HOST___AVAIL;
9019 /* rule 523 can match eol */
9021 /* rule 524 can match eol */
9023 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_SPEED;
9026 /* rule 525 can match eol */
9028 /* rule 526 can match eol */
9030 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LINK___AVAIL;
9033 /* rule 527 can match eol */
9035 /* rule 528 can match eol */
9037 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_BANDWIDTH;
9040 /* rule 529 can match eol */
9042 /* rule 530 can match eol */
9044 A_surfxml_trace___connect_kind = A_surfxml_trace___connect_kind_LATENCY;
9047 /* rule 531 can match eol */
9049 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);
9052 /* rule 532 can match eol */
9054 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);
9059 if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
9060 if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
9061 LEAVE; STag_surfxml_trace___connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace___connect);
9067 if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
9068 if (!AX_surfxml_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
9069 LEAVE; STag_surfxml_trace___connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace___connect(); popbuffer(); /* attribute */
9071 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
9072 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
9073 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
9079 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
9083 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
9085 case YY_STATE_EOF(AL_surfxml_trace___connect):
9086 FAIL("EOF in attribute list of `trace_connect' element.");
9090 /* rule 537 can match eol */
9094 ETag_surfxml_trace___connect();
9095 popbuffer(); /* attribute */
9097 case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_7: case S_surfxml_AS_8: SET(S_surfxml_AS_8); break;
9098 case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
9099 case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
9104 /* rule 538 can match eol */
9106 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
9110 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
9112 case YY_STATE_EOF(E_surfxml_trace___connect):
9113 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
9116 /* EPILOG: after the root element. */
9120 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
9122 case YY_STATE_EOF(EPILOG):
9126 /* CHARACTER DATA. */
9128 /* Non-defined standard entities... */
9149 /* Character entities. */
9152 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
9156 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
9160 /* rule 548 can match eol */
9162 /* rule 549 can match eol */
9164 /* rule 550 can match eol */
9166 /* rule 551 can match eol */
9177 FAIL("Unexpected `]""]>' in character data.");
9184 case YY_STATE_EOF(VALUE1):
9185 FAIL("EOF in literal (\"'\" expected).");
9192 case YY_STATE_EOF(VALUE2):
9193 FAIL("EOF in literal (`\"' expected).");
9197 /* rule 556 can match eol */
9199 BUFFERPUTC(surf_parse_text[0]);
9203 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
9210 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
9213 BUFFERPUTC(surf_parse_text[0]);
9215 case YY_STATE_EOF(CDATA):
9216 FAIL("EOF in CDATA section.");
9219 /* Impossible rules to avoid warnings from flex(1). */
9220 /* Ideally, this should be replaced by code in flexml.pl that
9221 generates just the states not covered by other rules. */
9224 /* rule 560 can match eol */
9226 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
9233 case YY_STATE_EOF(INITIAL):
9234 case YY_STATE_EOF(S_surfxml_AS_2):
9235 case YY_STATE_EOF(S_surfxml_AS_5):
9236 case YY_STATE_EOF(S_surfxml_AS_7):
9237 case YY_STATE_EOF(S_surfxml_ASroute_1):
9238 case YY_STATE_EOF(S_surfxml_bypassASroute_1):
9239 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
9240 case YY_STATE_EOF(S_surfxml_cluster_1):
9241 case YY_STATE_EOF(S_surfxml_config_1):
9242 case YY_STATE_EOF(S_surfxml_host_1):
9243 case YY_STATE_EOF(S_surfxml_include_1):
9244 case YY_STATE_EOF(S_surfxml_link_1):
9245 case YY_STATE_EOF(ROOT_surfxml_platform):
9246 case YY_STATE_EOF(S_surfxml_platform_2):
9247 case YY_STATE_EOF(S_surfxml_platform_5):
9248 case YY_STATE_EOF(S_surfxml_platform_7):
9249 case YY_STATE_EOF(S_surfxml_process_1):
9250 case YY_STATE_EOF(S_surfxml_route_1):
9251 case YY_STATE_EOF(S_surfxml_storage_1):
9252 case YY_STATE_EOF(S_surfxml_storage___type_1):
9253 case YY_STATE_EOF(IMPOSSIBLE):
9256 case YY_END_OF_BUFFER:
9258 /* Amount of text matched not including the EOB char. */
9259 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
9261 /* Undo the effects of YY_DO_BEFORE_ACTION. */
9262 *yy_cp = (yy_hold_char);
9263 YY_RESTORE_YY_MORE_OFFSET
9265 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
9267 /* We're scanning a new file or input source. It's
9268 * possible that this happened because the user
9269 * just pointed surf_parse_in at a new source and called
9270 * surf_parse_lex(). If so, then we have to assure
9271 * consistency between YY_CURRENT_BUFFER and our
9272 * globals. Here is the right place to do so, because
9273 * this is the first action (other than possibly a
9274 * back-up) that will match for the new input source.
9276 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
9277 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
9278 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
9281 /* Note that here we test for yy_c_buf_p "<=" to the position
9282 * of the first EOB in the buffer, since yy_c_buf_p will
9283 * already have been incremented past the NUL character
9284 * (since all states make transitions on EOB to the
9285 * end-of-buffer state). Contrast this with the test
9288 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
9289 { /* This was really a NUL. */
9290 yy_state_type yy_next_state;
9292 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
9294 yy_current_state = yy_get_previous_state( );
9296 /* Okay, we're now positioned to make the NUL
9297 * transition. We couldn't have
9298 * yy_get_previous_state() go ahead and do it
9299 * for us because it doesn't know how to deal
9300 * with the possibility of jamming (and we don't
9301 * want to build jamming into it because then it
9302 * will run more slowly).
9305 yy_next_state = yy_try_NUL_trans( yy_current_state );
9307 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9309 if ( yy_next_state )
9311 /* Consume the NUL. */
9312 yy_cp = ++(yy_c_buf_p);
9313 yy_current_state = yy_next_state;
9319 yy_cp = (yy_c_buf_p);
9320 goto yy_find_action;
9324 else switch ( yy_get_next_buffer( ) )
9326 case EOB_ACT_END_OF_FILE:
9328 (yy_did_buffer_switch_on_eof) = 0;
9330 if ( surf_parse_wrap( ) )
9332 /* Note: because we've taken care in
9333 * yy_get_next_buffer() to have set up
9334 * surf_parse_text, we can now set up
9335 * yy_c_buf_p so that if some total
9336 * hoser (like flex itself) wants to
9337 * call the scanner after we return the
9338 * YY_NULL, it'll still work - another
9339 * YY_NULL will get returned.
9341 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
9343 yy_act = YY_STATE_EOF(YY_START);
9349 if ( ! (yy_did_buffer_switch_on_eof) )
9355 case EOB_ACT_CONTINUE_SCAN:
9357 (yytext_ptr) + yy_amount_of_matched_text;
9359 yy_current_state = yy_get_previous_state( );
9361 yy_cp = (yy_c_buf_p);
9362 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9365 case EOB_ACT_LAST_MATCH:
9367 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
9369 yy_current_state = yy_get_previous_state( );
9371 yy_cp = (yy_c_buf_p);
9372 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
9373 goto yy_find_action;
9380 "fatal flex scanner internal error--no action found" );
9381 } /* end of action switch */
9382 } /* end of scanning one token */
9383 } /* end of user's declarations */
9384 } /* end of surf_parse_lex */
9386 /* yy_get_next_buffer - try to read in a new buffer
9388 * Returns a code representing an action:
9389 * EOB_ACT_LAST_MATCH -
9390 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
9391 * EOB_ACT_END_OF_FILE - end of file
9393 static int yy_get_next_buffer (void)
9395 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
9396 char *source = (yytext_ptr);
9397 yy_size_t number_to_move, i;
9400 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
9402 "fatal flex scanner internal error--end of buffer missed" );
9404 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
9405 { /* Don't try to fill the buffer, so this is an EOF. */
9406 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
9408 /* We matched a single character, the EOB, so
9409 * treat this as a final EOF.
9411 return EOB_ACT_END_OF_FILE;
9416 /* We matched some text prior to the EOB, first
9419 return EOB_ACT_LAST_MATCH;
9423 /* Try to read more data. */
9425 /* First move last chars to start of buffer. */
9426 number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
9428 for ( i = 0; i < number_to_move; ++i )
9429 *(dest++) = *(source++);
9431 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
9432 /* don't do the read, it's not guaranteed to return an EOF,
9435 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
9440 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
9442 while ( num_to_read <= 0 )
9443 { /* Not enough room in the buffer - grow it. */
9445 /* just a shorter name for the current buffer */
9446 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
9448 int yy_c_buf_p_offset =
9449 (int) ((yy_c_buf_p) - b->yy_ch_buf);
9451 if ( b->yy_is_our_buffer )
9453 int new_size = b->yy_buf_size * 2;
9455 if ( new_size <= 0 )
9456 b->yy_buf_size += b->yy_buf_size / 8;
9458 b->yy_buf_size *= 2;
9460 b->yy_ch_buf = (char *)
9461 /* Include room in for 2 EOB chars. */
9462 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
9465 /* Can't grow it, we don't own it. */
9466 b->yy_ch_buf = NULL;
9468 if ( ! b->yy_ch_buf )
9470 "fatal error - scanner input buffer overflow" );
9472 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
9474 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
9479 if ( num_to_read > YY_READ_BUF_SIZE )
9480 num_to_read = YY_READ_BUF_SIZE;
9482 /* Read in more data. */
9483 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
9484 (yy_n_chars), num_to_read );
9486 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9489 if ( (yy_n_chars) == 0 )
9491 if ( number_to_move == YY_MORE_ADJ )
9493 ret_val = EOB_ACT_END_OF_FILE;
9494 surf_parse_restart(surf_parse_in );
9499 ret_val = EOB_ACT_LAST_MATCH;
9500 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
9501 YY_BUFFER_EOF_PENDING;
9506 ret_val = EOB_ACT_CONTINUE_SCAN;
9508 if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
9509 /* Extend the array by 50%, plus the number we really need. */
9510 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
9511 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
9512 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
9513 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
9516 (yy_n_chars) += number_to_move;
9517 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
9518 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
9520 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
9525 /* yy_get_previous_state - get the state just before the EOB char was reached */
9527 static yy_state_type yy_get_previous_state (void)
9529 yy_state_type yy_current_state;
9532 yy_current_state = (yy_start);
9534 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
9536 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
9537 if ( yy_accept[yy_current_state] )
9539 (yy_last_accepting_state) = yy_current_state;
9540 (yy_last_accepting_cpos) = yy_cp;
9542 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
9544 yy_current_state = (int) yy_def[yy_current_state];
9545 if ( yy_current_state >= 3334 )
9546 yy_c = yy_meta[(unsigned int) yy_c];
9548 yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
9551 return yy_current_state;
9554 /* yy_try_NUL_trans - try to make a transition on the NUL character
9557 * next_state = yy_try_NUL_trans( current_state );
9559 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
9562 char *yy_cp = (yy_c_buf_p);
9565 if ( yy_accept[yy_current_state] )
9567 (yy_last_accepting_state) = yy_current_state;
9568 (yy_last_accepting_cpos) = yy_cp;
9570 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
9572 yy_current_state = (int) yy_def[yy_current_state];
9573 if ( yy_current_state >= 3334 )
9574 yy_c = yy_meta[(unsigned int) yy_c];
9576 yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
9577 yy_is_jam = (yy_current_state == 3333);
9579 return yy_is_jam ? 0 : yy_current_state;
9588 static int yyinput (void)
9590 static int input (void)
9596 *(yy_c_buf_p) = (yy_hold_char);
9598 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
9600 /* yy_c_buf_p now points to the character we want to return.
9601 * If this occurs *before* the EOB characters, then it's a
9602 * valid NUL; if not, then we've hit the end of the buffer.
9604 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
9605 /* This was really a NUL. */
9606 *(yy_c_buf_p) = '\0';
9609 { /* need more input */
9610 int offset = (yy_c_buf_p) - (yytext_ptr);
9613 switch ( yy_get_next_buffer( ) )
9615 case EOB_ACT_LAST_MATCH:
9616 /* This happens because yy_g_n_b()
9617 * sees that we've accumulated a
9618 * token and flags that we need to
9619 * try matching the token before
9620 * proceeding. But for input(),
9621 * there's no matching to consider.
9622 * So convert the EOB_ACT_LAST_MATCH
9623 * to EOB_ACT_END_OF_FILE.
9626 /* Reset buffer status. */
9627 surf_parse_restart(surf_parse_in );
9631 case EOB_ACT_END_OF_FILE:
9633 if ( surf_parse_wrap( ) )
9636 if ( ! (yy_did_buffer_switch_on_eof) )
9645 case EOB_ACT_CONTINUE_SCAN:
9646 (yy_c_buf_p) = (yytext_ptr) + offset;
9652 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
9653 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
9654 (yy_hold_char) = *++(yy_c_buf_p);
9658 surf_parse_lineno++;
9663 #endif /* ifndef YY_NO_INPUT */
9665 /** Immediately switch to a different input stream.
9666 * @param input_file A readable stream.
9668 * @note This function does not reset the start condition to @c INITIAL .
9670 void surf_parse_restart (FILE * input_file )
9673 if ( ! YY_CURRENT_BUFFER ){
9674 surf_parse_ensure_buffer_stack ();
9675 YY_CURRENT_BUFFER_LVALUE =
9676 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
9679 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
9680 surf_parse__load_buffer_state( );
9683 /** Switch to a different input buffer.
9684 * @param new_buffer The new input buffer.
9687 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
9690 /* TODO. We should be able to replace this entire function body
9692 * surf_parse_pop_buffer_state();
9693 * surf_parse_push_buffer_state(new_buffer);
9695 surf_parse_ensure_buffer_stack ();
9696 if ( YY_CURRENT_BUFFER == new_buffer )
9699 if ( YY_CURRENT_BUFFER )
9701 /* Flush out information for old buffer. */
9702 *(yy_c_buf_p) = (yy_hold_char);
9703 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
9704 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9707 YY_CURRENT_BUFFER_LVALUE = new_buffer;
9708 surf_parse__load_buffer_state( );
9710 /* We don't actually know whether we did this switch during
9711 * EOF (surf_parse_wrap()) processing, but the only time this flag
9712 * is looked at is after surf_parse_wrap() is called, so it's safe
9713 * to go ahead and always set it.
9715 (yy_did_buffer_switch_on_eof) = 1;
9718 static void surf_parse__load_buffer_state (void)
9720 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
9721 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
9722 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
9723 (yy_hold_char) = *(yy_c_buf_p);
9726 /** Allocate and initialize an input buffer state.
9727 * @param file A readable stream.
9728 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
9730 * @return the allocated buffer state.
9732 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
9736 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
9738 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
9740 b->yy_buf_size = (yy_size_t)size;
9742 /* yy_ch_buf has to be 2 characters longer than the size given because
9743 * we need to put in 2 end-of-buffer characters.
9745 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
9746 if ( ! b->yy_ch_buf )
9747 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
9749 b->yy_is_our_buffer = 1;
9751 surf_parse__init_buffer(b,file );
9756 /** Destroy the buffer.
9757 * @param b a buffer created with surf_parse__create_buffer()
9760 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
9766 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
9767 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
9769 if ( b->yy_is_our_buffer )
9770 surf_parse_free((void *) b->yy_ch_buf );
9772 surf_parse_free((void *) b );
9775 /* Initializes or reinitializes a buffer.
9776 * This function is sometimes called more than once on the same buffer,
9777 * such as during a surf_parse_restart() or at EOF.
9779 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
9784 surf_parse__flush_buffer(b );
9786 b->yy_input_file = file;
9787 b->yy_fill_buffer = 1;
9789 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
9790 * called from surf_parse_restart() or through yy_get_next_buffer.
9791 * In that case, we don't want to reset the lineno or column.
9793 if (b != YY_CURRENT_BUFFER){
9794 b->yy_bs_lineno = 1;
9795 b->yy_bs_column = 0;
9798 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
9803 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
9804 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
9807 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
9814 /* We always need two end-of-buffer characters. The first causes
9815 * a transition to the end-of-buffer state. The second causes
9816 * a jam in that state.
9818 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
9819 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
9821 b->yy_buf_pos = &b->yy_ch_buf[0];
9824 b->yy_buffer_status = YY_BUFFER_NEW;
9826 if ( b == YY_CURRENT_BUFFER )
9827 surf_parse__load_buffer_state( );
9830 /** Pushes the new state onto the stack. The new state becomes
9831 * the current state. This function will allocate the stack
9833 * @param new_buffer The new state.
9836 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
9838 if (new_buffer == NULL)
9841 surf_parse_ensure_buffer_stack();
9843 /* This block is copied from surf_parse__switch_to_buffer. */
9844 if ( YY_CURRENT_BUFFER )
9846 /* Flush out information for old buffer. */
9847 *(yy_c_buf_p) = (yy_hold_char);
9848 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
9849 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
9852 /* Only push if top exists. Otherwise, replace top. */
9853 if (YY_CURRENT_BUFFER)
9854 (yy_buffer_stack_top)++;
9855 YY_CURRENT_BUFFER_LVALUE = new_buffer;
9857 /* copied from surf_parse__switch_to_buffer. */
9858 surf_parse__load_buffer_state( );
9859 (yy_did_buffer_switch_on_eof) = 1;
9862 /** Removes and deletes the top of the stack, if present.
9863 * The next element becomes the new top.
9866 void surf_parse_pop_buffer_state (void)
9868 if (!YY_CURRENT_BUFFER)
9871 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
9872 YY_CURRENT_BUFFER_LVALUE = NULL;
9873 if ((yy_buffer_stack_top) > 0)
9874 --(yy_buffer_stack_top);
9876 if (YY_CURRENT_BUFFER) {
9877 surf_parse__load_buffer_state( );
9878 (yy_did_buffer_switch_on_eof) = 1;
9882 /* Allocates the stack if it does not exist.
9883 * Guarantees space for at least one push.
9885 static void surf_parse_ensure_buffer_stack (void)
9889 if (!(yy_buffer_stack)) {
9891 /* First allocation is just for 2 elements, since we don't know if this
9892 * scanner will even need a stack. We use 2 instead of 1 to avoid an
9893 * immediate realloc on the next call.
9895 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
9896 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
9897 (num_to_alloc * sizeof(struct yy_buffer_state*)
9899 if ( ! (yy_buffer_stack) )
9900 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
9902 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
9904 (yy_buffer_stack_max) = num_to_alloc;
9905 (yy_buffer_stack_top) = 0;
9909 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
9911 /* Increase the buffer to prepare for a possible push. */
9912 yy_size_t grow_size = 8 /* arbitrary grow size */;
9914 num_to_alloc = (yy_buffer_stack_max) + grow_size;
9915 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
9917 num_to_alloc * sizeof(struct yy_buffer_state*)
9919 if ( ! (yy_buffer_stack) )
9920 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
9922 /* zero only the new slots.*/
9923 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
9924 (yy_buffer_stack_max) = num_to_alloc;
9928 /** Setup the input buffer state to scan directly from a user-specified character buffer.
9929 * @param base the character buffer
9930 * @param size the size in bytes of the character buffer
9932 * @return the newly allocated buffer state object.
9934 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
9939 base[size-2] != YY_END_OF_BUFFER_CHAR ||
9940 base[size-1] != YY_END_OF_BUFFER_CHAR )
9941 /* They forgot to leave room for the EOB's. */
9944 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
9946 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
9948 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
9949 b->yy_buf_pos = b->yy_ch_buf = base;
9950 b->yy_is_our_buffer = 0;
9951 b->yy_input_file = NULL;
9952 b->yy_n_chars = b->yy_buf_size;
9953 b->yy_is_interactive = 0;
9955 b->yy_fill_buffer = 0;
9956 b->yy_buffer_status = YY_BUFFER_NEW;
9958 surf_parse__switch_to_buffer(b );
9963 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
9964 * scan from a @e copy of @a str.
9965 * @param yystr a NUL-terminated string to scan
9967 * @return the newly allocated buffer state object.
9968 * @note If you want to scan bytes that may contain NUL values, then use
9969 * surf_parse__scan_bytes() instead.
9971 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
9974 return surf_parse__scan_bytes(yystr,(int) strlen(yystr) );
9977 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
9978 * scan from a @e copy of @a bytes.
9979 * @param yybytes the byte buffer to scan
9980 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
9982 * @return the newly allocated buffer state object.
9984 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
9991 /* Get memory for full buffer, including space for trailing EOB's. */
9992 n = (yy_size_t) _yybytes_len + 2;
9993 buf = (char *) surf_parse_alloc(n );
9995 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
9997 for ( i = 0; i < (yy_size_t) _yybytes_len; ++i )
9998 buf[i] = yybytes[i];
10000 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
10002 b = surf_parse__scan_buffer(buf,n );
10004 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
10006 /* It's okay to grow etc. this buffer, and we should throw it
10007 * away when we're done.
10009 b->yy_is_our_buffer = 1;
10014 static void yy_push_state (int _new_state )
10016 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
10018 yy_size_t new_size;
10020 (yy_start_stack_depth) += YY_START_STACK_INCR;
10021 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
10023 if ( ! (yy_start_stack) )
10024 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
10027 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
10029 if ( ! (yy_start_stack) )
10030 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
10033 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
10038 static void yy_pop_state (void)
10040 if ( --(yy_start_stack_ptr) < 0 )
10041 YY_FATAL_ERROR( "start-condition stack underflow" );
10043 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
10046 #ifndef YY_EXIT_FAILURE
10047 #define YY_EXIT_FAILURE 2
10050 static void yynoreturn yy_fatal_error (yyconst char* msg )
10052 (void) fprintf( stderr, "%s\n", msg );
10053 exit( YY_EXIT_FAILURE );
10056 /* Redefine yyless() so it works in section 3 code. */
10059 #define yyless(n) \
10062 /* Undo effects of setting up surf_parse_text. */ \
10063 int yyless_macro_arg = (n); \
10064 YY_LESS_LINENO(yyless_macro_arg);\
10065 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
10066 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
10067 (yy_hold_char) = *(yy_c_buf_p); \
10068 *(yy_c_buf_p) = '\0'; \
10069 surf_parse_leng = yyless_macro_arg; \
10073 /* Accessor methods (get/set functions) to struct members. */
10075 /** Get the current line number.
10078 int surf_parse_get_lineno (void)
10081 return surf_parse_lineno;
10084 /** Get the input stream.
10087 FILE *surf_parse_get_in (void)
10089 return surf_parse_in;
10092 /** Get the output stream.
10095 FILE *surf_parse_get_out (void)
10097 return surf_parse_out;
10100 /** Get the length of the current token.
10103 int surf_parse_get_leng (void)
10105 return surf_parse_leng;
10108 /** Get the current token.
10112 char *surf_parse_get_text (void)
10114 return surf_parse_text;
10117 /** Set the current line number.
10118 * @param _line_number line number
10121 void surf_parse_set_lineno (int _line_number )
10124 surf_parse_lineno = _line_number;
10127 /** Set the input stream. This does not discard the current
10129 * @param _in_str A readable stream.
10131 * @see surf_parse__switch_to_buffer
10133 void surf_parse_set_in (FILE * _in_str )
10135 surf_parse_in = _in_str ;
10138 void surf_parse_set_out (FILE * _out_str )
10140 surf_parse_out = _out_str ;
10143 int surf_parse_get_debug (void)
10145 return surf_parse__flex_debug;
10148 void surf_parse_set_debug (int _bdebug )
10150 surf_parse__flex_debug = _bdebug ;
10153 static int yy_init_globals (void)
10155 /* Initialization is the same as for the non-reentrant scanner.
10156 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
10159 /* We do not touch surf_parse_lineno unless the option is enabled. */
10160 surf_parse_lineno = 1;
10162 (yy_buffer_stack) = NULL;
10163 (yy_buffer_stack_top) = 0;
10164 (yy_buffer_stack_max) = 0;
10165 (yy_c_buf_p) = NULL;
10169 (yy_start_stack_ptr) = 0;
10170 (yy_start_stack_depth) = 0;
10171 (yy_start_stack) = NULL;
10173 /* Defined in main.c */
10175 surf_parse_in = stdin;
10176 surf_parse_out = stdout;
10178 surf_parse_in = NULL;
10179 surf_parse_out = NULL;
10182 /* For future reference: Set errno on error, since we are called by
10183 * surf_parse_lex_init()
10188 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
10189 int surf_parse_lex_destroy (void)
10192 /* Pop the buffer stack, destroying each element. */
10193 while(YY_CURRENT_BUFFER){
10194 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
10195 YY_CURRENT_BUFFER_LVALUE = NULL;
10196 surf_parse_pop_buffer_state();
10199 /* Destroy the stack itself. */
10200 surf_parse_free((yy_buffer_stack) );
10201 (yy_buffer_stack) = NULL;
10203 /* Destroy the start condition stack. */
10204 surf_parse_free((yy_start_stack) );
10205 (yy_start_stack) = NULL;
10207 /* Reset the globals. This is important in a non-reentrant scanner so the next time
10208 * surf_parse_lex() is called, initialization will occur. */
10209 yy_init_globals( );
10215 * Internal utility routines.
10219 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
10223 for ( i = 0; i < n; ++i )
10228 #ifdef YY_NEED_STRLEN
10229 static int yy_flex_strlen (yyconst char * s )
10232 for ( n = 0; s[n]; ++n )
10239 void *surf_parse_alloc (yy_size_t size )
10241 return malloc(size);
10244 void *surf_parse_realloc (void * ptr, yy_size_t size )
10247 /* The cast to (char *) in the following accommodates both
10248 * implementations that use char* generic pointers, and those
10249 * that use void* generic pointers. It works with the latter
10250 * because both ANSI C and C++ allow castless assignment from
10251 * any pointer type to void*, and deal with argument conversions
10252 * as though doing an assignment.
10254 return realloc(ptr, size);
10257 void surf_parse_free (void * ptr )
10259 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
10262 #define YYTABLES_NAME "yytables"
10264 /* Element context stack lookup. */
10265 int surfxml_element_context(int i)
10267 return (0<i && i<yy_start_stack_depth
10268 ? yy_start_stack[yy_start_stack_ptr - i]
10273 void print_yy_stack(char* fmt, ...)
10275 int i = 0; va_list ap; va_start(ap, fmt);
10276 vfprintf(stderr, fmt, ap);
10277 if (surfxml_statenames) {
10278 for (i=1; i<yy_start_stack_ptr; i++) {
10279 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
10281 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
10286 void print_surfxml_bufferstack()
10289 fputs("Buffer: ", stderr);
10290 for (i = 0; i < blimit; i++) {
10291 if ( surfxml_bufferstack[i] == '\377' ) break;
10292 putc(surfxml_bufferstack[i], stderr);
10294 putc('\n', stderr);
10297 static void debug_enter(int state, const char* statename) {
10298 yy_push_state(state);
10299 if (surf_parse__flex_debug) {
10300 print_yy_stack("--ENTER(%s) : ",statename);
10301 print_surfxml_bufferstack();
10305 static void debug_leave(void) {
10306 if (surf_parse__flex_debug) {
10307 print_yy_stack("--LEAVE : ");
10308 print_surfxml_bufferstack();
10313 static void debug_set(int state, const char* statename) {
10315 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
10319 static void cleanup(void)
10321 if (surfxml_statenames) {
10322 free(surfxml_statenames);
10323 surfxml_statenames = NULL;
10325 free(surfxml_bufferstack);
10326 surfxml_bufferstack = NULL;
10332 static int fail(const char* fmt, ...)
10334 int chars_left, used;
10335 va_list ap; va_start(ap, fmt);
10336 #ifdef FLEXML_yylineno
10337 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
10338 "Invalid XML (XML input line %d, state %d): ",
10339 surf_parse_lineno, YY_START);
10341 used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
10342 "Invalid XML (state %d): ",
10345 chars_left = flexml_max_err_msg_size - used - 1;
10346 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
10349 #ifndef FLEXML_quiet_parser
10350 /* print directly to sdterr */
10351 fprintf(stderr, "%s\n", flexml_err_msg);
10352 flexml_err_msg[0] = '\0';