2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 388
407 #define YY_END_OF_BUFFER 389
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2293] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 389, 387, 15, 10, 10, 15,
437 15, 367, 10, 367, 5, 6, 5, 8, 9, 8,
439 383, 375, 376, 384, 381, 384, 382, 386, 375, 376,
440 386, 387, 22, 10, 22, 22, 22, 20, 22, 26,
441 10, 26, 26, 26, 387, 387, 26, 37, 10, 37,
442 37, 37, 35, 37, 37, 37, 384, 383, 59, 10,
443 59, 59, 59, 57, 59, 59, 59, 59, 63, 10,
444 63, 387, 63, 82, 10, 82, 82, 82, 80, 82,
445 82, 82, 86, 10, 86, 95, 10, 95, 95, 95,
446 93, 95, 95, 99, 10, 99, 99, 387, 99, 99,
447 387, 387, 99, 387, 99, 387, 99, 122, 10, 122,
448 122, 122, 120, 122, 122, 122, 122, 122, 126, 10,
450 126, 126, 165, 10, 165, 165, 165, 163, 165, 165,
451 165, 165, 165, 165, 165, 165, 169, 10, 169, 194,
452 10, 194, 194, 194, 192, 194, 194, 194, 194, 194,
453 194, 194, 198, 10, 198, 207, 10, 207, 207, 207,
454 205, 207, 207, 211, 10, 211, 238, 10, 238, 238,
455 238, 236, 238, 238, 238, 238, 242, 10, 242, 242,
456 255, 10, 255, 255, 255, 253, 255, 255, 259, 10,
457 259, 387, 259, 276, 10, 276, 276, 276, 274, 276,
458 276, 276, 280, 10, 280, 280, 293, 10, 293, 293,
459 293, 291, 293, 293, 297, 10, 297, 310, 10, 310,
461 310, 310, 308, 310, 310, 310, 314, 10, 314, 314,
462 327, 10, 327, 327, 327, 325, 327, 327, 327, 327,
463 331, 10, 331, 387, 331, 338, 10, 338, 338, 338,
464 336, 338, 342, 10, 342, 349, 10, 349, 349, 349,
465 347, 349, 353, 10, 353, 353, 353, 362, 10, 362,
466 362, 362, 360, 362, 362, 366, 10, 366, 10, 0,
467 2, 2, 0, 4, 7, 378, 377, 0, 0, 0,
468 0, 0, 0, 0, 21, 23, 23, 0, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 0, 36, 38, 38, 38, 38, 0,
472 0, 0, 58, 60, 60, 60, 60, 60, 60, 60,
473 0, 0, 81, 83, 83, 83, 83, 0, 94, 96,
474 96, 96, 0, 0, 0, 0, 0, 0, 0, 0,
475 0, 121, 123, 123, 123, 123, 123, 123, 0, 164,
476 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
477 166, 166, 166, 0, 193, 195, 195, 195, 195, 195,
478 195, 195, 195, 195, 0, 206, 208, 208, 208, 0,
479 237, 239, 239, 239, 239, 239, 239, 0, 254, 256,
480 256, 256, 256, 0, 0, 275, 277, 277, 277, 277,
481 277, 0, 292, 294, 294, 294, 0, 309, 311, 311,
483 311, 311, 0, 326, 328, 328, 328, 328, 328, 0,
484 0, 337, 339, 339, 0, 348, 350, 350, 0, 0,
485 361, 363, 363, 363, 0, 0, 0, 0, 0, 3,
486 0, 0, 0, 0, 0, 0, 0, 385, 0, 23,
487 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 87, 0, 0, 0,
489 0, 38, 0, 0, 38, 0, 0, 0, 380, 60,
490 0, 0, 60, 60, 60, 60, 0, 0, 0, 83,
491 83, 83, 0, 0, 0, 0, 96, 0, 0, 88,
492 0, 0, 0, 0, 87, 0, 0, 123, 123, 123,
494 0, 0, 123, 123, 0, 0, 166, 166, 0, 0,
495 166, 0, 0, 166, 166, 166, 166, 166, 166, 166,
496 0, 0, 195, 195, 195, 0, 0, 195, 195, 195,
497 195, 0, 0, 208, 0, 0, 0, 0, 239, 0,
498 0, 239, 239, 239, 0, 0, 256, 256, 256, 0,
499 0, 0, 277, 277, 277, 277, 0, 0, 294, 0,
500 0, 0, 0, 311, 311, 311, 0, 0, 328, 328,
501 328, 328, 0, 0, 0, 339, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 363, 0, 0, 0, 14,
503 1, 0, 0, 373, 0, 0, 0, 370, 369, 0,
505 0, 23, 0, 0, 25, 0, 88, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 87, 0, 0, 0, 0, 38, 0, 30, 29,
508 38, 0, 0, 0, 40, 0, 60, 0, 44, 43,
509 0, 0, 60, 0, 0, 60, 0, 0, 62, 0,
510 0, 83, 83, 83, 0, 0, 85, 0, 0, 90,
511 89, 96, 0, 0, 98, 0, 0, 0, 0, 0,
512 0, 0, 0, 123, 123, 123, 0, 103, 102, 123,
513 123, 0, 0, 125, 0, 166, 166, 166, 166, 0,
514 142, 141, 166, 0, 130, 129, 0, 0, 166, 166,
516 166, 166, 166, 166, 0, 0, 168, 0, 195, 195,
517 195, 195, 0, 173, 172, 0, 0, 195, 195, 195,
518 0, 0, 197, 0, 208, 0, 202, 201, 0, 0,
519 210, 0, 239, 0, 215, 214, 239, 239, 239, 0,
520 0, 241, 0, 0, 0, 0, 0, 256, 0, 0,
521 258, 0, 0, 0, 0, 277, 277, 0, 0, 277,
522 0, 0, 279, 0, 294, 0, 284, 283, 0, 0,
523 296, 0, 0, 0, 311, 311, 0, 0, 0, 0,
524 313, 0, 328, 328, 328, 328, 0, 0, 330, 0,
525 0, 339, 0, 0, 341, 0, 0, 346, 345, 0,
527 0, 352, 0, 0, 0, 357, 356, 363, 0, 0,
528 365, 0, 0, 0, 374, 368, 0, 0, 0, 23,
529 0, 0, 0, 0, 0, 0, 100, 212, 171, 0,
530 0, 354, 0, 0, 0, 0, 0, 170, 0, 0,
531 0, 0, 38, 0, 0, 60, 0, 48, 47, 0,
532 0, 0, 46, 45, 60, 0, 355, 83, 0, 0,
533 83, 0, 96, 0, 97, 0, 0, 101, 213, 0,
534 0, 0, 123, 123, 0, 0, 123, 123, 0, 166,
535 166, 166, 166, 0, 0, 0, 144, 143, 166, 166,
536 166, 166, 166, 166, 0, 195, 195, 195, 195, 0,
538 181, 180, 195, 195, 195, 0, 208, 0, 239, 239,
539 239, 239, 0, 0, 248, 247, 0, 246, 245, 256,
540 0, 212, 0, 265, 264, 277, 277, 0, 263, 262,
541 277, 0, 294, 0, 0, 303, 302, 311, 311, 0,
542 301, 300, 0, 328, 0, 0, 328, 328, 0, 0,
543 339, 0, 0, 0, 363, 0, 0, 0, 0, 12,
544 0, 371, 372, 0, 23, 0, 0, 0, 0, 0,
545 0, 100, 212, 0, 171, 0, 0, 354, 0, 243,
546 28, 0, 0, 170, 27, 0, 0, 32, 31, 38,
547 0, 0, 60, 0, 50, 49, 60, 0, 355, 83,
549 0, 0, 0, 0, 0, 0, 96, 0, 0, 101,
550 213, 244, 244, 243, 123, 123, 0, 107, 106, 0,
551 0, 0, 0, 123, 0, 166, 0, 0, 166, 166,
552 0, 140, 139, 0, 0, 166, 166, 166, 166, 166,
553 0, 195, 0, 0, 195, 195, 0, 0, 195, 195,
554 0, 208, 0, 239, 239, 239, 0, 0, 239, 0,
555 256, 0, 0, 277, 277, 277, 0, 294, 0, 311,
556 311, 0, 328, 0, 318, 317, 328, 328, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558 0, 11, 0, 23, 0, 0, 0, 0, 0, 344,
560 0, 0, 0, 41, 243, 199, 28, 0, 343, 0,
561 27, 0, 0, 38, 0, 0, 60, 60, 0, 83,
562 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
563 76, 0, 96, 0, 0, 244, 200, 123, 123, 0,
564 105, 104, 0, 0, 0, 123, 0, 124, 166, 0,
565 152, 151, 0, 0, 166, 0, 138, 137, 0, 0,
566 166, 166, 166, 0, 0, 0, 195, 0, 177, 176,
567 0, 0, 195, 0, 175, 174, 195, 195, 0, 196,
568 208, 0, 239, 239, 239, 0, 0, 0, 239, 0,
569 240, 256, 0, 0, 0, 0, 0, 0, 277, 0,
571 294, 0, 0, 0, 0, 0, 0, 328, 328, 328,
572 0, 0, 0, 335, 334, 0, 0, 42, 0, 359,
573 358, 0, 364, 0, 0, 0, 0, 0, 0, 0,
574 260, 0, 0, 128, 344, 0, 0, 316, 41, 199,
575 0, 343, 127, 0, 315, 38, 0, 0, 39, 60,
576 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577 0, 0, 0, 0, 0, 0, 0, 261, 0, 200,
578 123, 123, 0, 0, 123, 166, 0, 154, 153, 166,
579 0, 132, 131, 0, 0, 166, 166, 0, 134, 133,
580 0, 195, 0, 179, 178, 195, 195, 195, 208, 0,
582 239, 0, 0, 239, 239, 0, 0, 239, 256, 0,
583 257, 0, 0, 269, 268, 0, 267, 266, 277, 0,
584 294, 0, 0, 307, 306, 0, 305, 304, 0, 328,
585 328, 328, 0, 0, 0, 0, 42, 0, 0, 0,
586 17, 0, 19, 18, 0, 260, 332, 0, 128, 281,
587 16, 316, 0, 127, 0, 315, 38, 379, 60, 60,
588 0, 61, 0, 79, 78, 0, 0, 0, 0, 0,
589 0, 0, 0, 0, 0, 0, 0, 92, 91, 261,
590 0, 123, 123, 0, 0, 0, 0, 123, 166, 166,
591 0, 136, 135, 166, 166, 0, 195, 195, 195, 195,
593 208, 0, 209, 239, 0, 221, 220, 239, 239, 0,
594 0, 0, 0, 239, 256, 282, 277, 0, 294, 0,
595 0, 0, 0, 328, 328, 0, 333, 0, 0, 351,
596 0, 0, 0, 17, 0, 332, 0, 281, 16, 0,
597 0, 38, 0, 0, 60, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 0, 0, 0, 123, 123, 0,
599 113, 0, 112, 123, 166, 166, 166, 166, 0, 167,
600 195, 195, 195, 195, 208, 0, 0, 239, 239, 239,
601 0, 225, 0, 224, 239, 256, 282, 277, 0, 278,
602 0, 0, 0, 0, 0, 320, 319, 0, 0, 328,
604 0, 329, 333, 0, 0, 0, 0, 0, 24, 0,
605 0, 0, 38, 0, 0, 0, 60, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 0, 123,
607 123, 115, 114, 0, 0, 166, 166, 166, 0, 0,
608 195, 195, 195, 0, 0, 208, 0, 217, 216, 239,
609 239, 239, 227, 226, 0, 0, 256, 277, 0, 0,
610 0, 0, 295, 0, 0, 324, 323, 0, 0, 0,
611 340, 0, 0, 0, 298, 0, 0, 0, 0, 0,
612 0, 0, 0, 60, 0, 0, 0, 0, 69, 0,
613 0, 0, 0, 68, 0, 299, 123, 0, 0, 0,
615 117, 116, 166, 166, 166, 0, 162, 161, 195, 0,
616 0, 195, 0, 191, 190, 0, 0, 239, 239, 239,
617 0, 229, 228, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 322, 321, 0, 0, 0,
619 298, 0, 0, 0, 34, 33, 0, 0, 0, 0,
620 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 299, 0, 0, 123, 0, 119, 118, 166, 166, 166,
622 195, 0, 183, 182, 195, 0, 204, 203, 239, 0,
623 0, 239, 0, 0, 0, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,
626 64, 0, 0, 0, 0, 0, 0, 0, 0, 75,
627 0, 0, 0, 74, 0, 0, 0, 109, 108, 123,
628 166, 166, 166, 195, 195, 239, 0, 223, 222, 239,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 286, 0, 0, 285, 0, 312, 0, 0, 0, 0,
631 0, 0, 65, 64, 0, 0, 0, 0, 0, 52,
632 51, 0, 0, 0, 0, 0, 0, 0, 123, 166,
633 166, 0, 0, 195, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
637 0, 55, 73, 0, 0, 72, 0, 0, 0, 84,
638 123, 166, 166, 0, 0, 0, 195, 0, 0, 0,
639 0, 219, 218, 0, 0, 0, 252, 0, 251, 0,
640 273, 0, 272, 0, 288, 290, 287, 289, 0, 0,
641 0, 12, 0, 12, 0, 0, 0, 67, 71, 66,
642 70, 123, 166, 166, 0, 0, 0, 0, 195, 0,
643 0, 0, 0, 0, 0, 0, 0, 250, 249, 271,
644 270, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 54, 53, 0, 111, 110, 0,
649 160, 159, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 189, 188, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 0, 0, 11, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 146, 0, 0, 145, 0,
660 185, 0, 184, 0, 0, 231, 0, 0, 230, 0,
661 0, 0, 0, 0, 150, 0, 149, 0, 0, 0,
662 233, 0, 232, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 156, 0, 155,
664 0, 0, 0, 0, 0, 0, 0, 0, 158, 157,
665 148, 147, 187, 186, 235, 234, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 static yyconst flex_int32_t yy_ec[256] =
674 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
675 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
676 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
677 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
678 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
679 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
680 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
681 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
682 16, 36, 37, 38, 39, 40, 41, 42, 43, 16,
683 44, 1, 45, 1, 46, 1, 47, 48, 49, 50,
685 51, 52, 53, 54, 55, 16, 56, 57, 58, 59,
686 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
687 70, 16, 1, 1, 1, 1, 1, 1, 1, 1,
688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
692 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
696 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
697 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 static yyconst flex_int32_t yy_meta[71] =
706 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
707 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
708 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
709 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
710 5, 5, 5, 1, 1, 5, 9, 9, 9, 9,
711 9, 9, 5, 5, 5, 5, 5, 5, 5, 5,
712 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
715 static yyconst flex_int16_t yy_base[2568] =
717 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
718 14, 17, 33, 36, 49, 55, 45, 61, 66, 73,
719 106, 173, 76, 79, 83, 126, 129, 134, 137, 154,
720 193, 196, 201, 204, 221, 224, 227, 230, 248, 309,
721 280, 286, 370, 434, 268, 273, 277, 330, 333, 337,
722 340, 390, 498, 563, 393, 398, 628, 691, 401, 454,
723 457, 462, 465, 518, 521, 526, 529, 583, 586, 591,
724 594, 648, 651, 656, 659, 711, 714, 719, 722, 739,
725 745, 748, 756, 765, 768, 773, 776, 785, 803, 867,
726 823, 826, 831, 835, 887, 890, 895, 899, 931, 0,
728 1000, 1003, 1021, 0, 1090, 1093, 1111, 1166, 1131, 1134,
729 1221, 1285, 1139, 1143, 1186, 1189, 1194, 1198, 1241, 1244,
730 1349, 1413, 1249, 1252, 1305, 1308, 1313, 1316, 1369, 1372,
731 1477, 1541, 1377, 1380, 1433, 1436, 1441, 1444, 1497, 1500,
732 1605, 1660, 1505, 1508, 1715, 1779, 1561, 1564, 1569, 1572,
733 1625, 1628, 1633, 1636, 1843, 1907, 1680, 1683, 1688, 1691,
734 1735, 1738, 1743, 1746, 1971, 2038, 1799, 1802, 2105, 2160,
735 1807, 1810, 1863, 1866, 1871, 1874, 1927, 1930, 2215, 2282,
736 1935, 1938, 0, 0, 5643, 7751, 7751, 96, 100, 29,
737 41, 7751, 157, 51, 7751, 7751, 5632, 7751, 7751, 5620,
739 7751, 5628, 5628, 360, 7751, 7751, 7751, 7751, 5625, 5617,
740 5573, 84, 7751, 160, 5594, 0, 144, 7751, 5561, 7751,
741 164, 2345, 5562, 492, 224, 5597, 5542, 7751, 167, 5581,
742 0, 216, 7751, 5542, 5545, 5543, 344, 5539, 7751, 303,
743 5563, 0, 341, 7751, 5530, 5522, 41, 5506, 7751, 427,
744 13, 81, 141, 7751, 482, 5549, 0, 342, 7751, 5511,
745 5511, 5498, 7751, 491, 345, 7751, 548, 5540, 0, 347,
746 7751, 5506, 5494, 7751, 556, 1945, 1946, 5496, 80, 5529,
747 198, 252, 364, 613, 59, 5531, 83, 7751, 613, 5520,
748 0, 405, 7751, 5470, 5472, 5481, 5451, 5445, 7751, 618,
750 177, 235, 7751, 676, 5488, 0, 469, 7751, 5436, 167,
751 5442, 5450, 5444, 149, 5443, 355, 7751, 682, 476, 7751,
752 685, 5469, 0, 535, 7751, 5419, 5398, 5405, 5413, 5411,
753 5397, 243, 7751, 793, 606, 7751, 796, 5435, 0, 540,
754 7751, 5386, 5395, 7751, 852, 780, 7751, 857, 5421, 0,
755 541, 7751, 5382, 5378, 5374, 408, 7751, 916, 357, 421,
756 7751, 921, 5400, 0, 605, 7751, 5354, 150, 7751, 1006,
757 670, 5405, 5358, 7751, 1009, 5390, 0, 660, 7751, 5345,
758 5339, 275, 7751, 1012, 5390, 420, 7751, 1096, 5381, 0,
759 723, 7751, 5344, 5347, 7751, 1099, 1252, 7751, 1102, 5376,
761 0, 734, 7751, 5330, 5313, 5317, 7751, 1160, 5366, 522,
762 7751, 1215, 5353, 0, 740, 7751, 5306, 5310, 5306, 5295,
763 7751, 1277, 1097, 5347, 240, 7751, 1280, 5336, 0, 760,
764 7751, 5290, 7751, 1333, 1256, 7751, 1341, 5316, 0, 841,
765 7751, 5285, 7751, 1344, 1950, 5271, 180, 7751, 1398, 5313,
766 0, 905, 7751, 5282, 5283, 7751, 1401, 1320, 1404, 18,
767 5259, 7751, 5317, 5305, 7751, 7751, 7751, 1396, 241, 5251,
768 5246, 5244, 5272, 5233, 7751, 0, 5218, 5217, 5239, 5202,
769 5190, 478, 5197, 5200, 794, 403, 5184, 542, 5202, 543,
770 858, 5175, 1102, 1157, 7751, 0, 5171, 2001, 5164, 234,
772 5160, 5191, 7751, 0, 5151, 2007, 5138, 5157, 5143, 5150,
773 5136, 1334, 7751, 0, 5146, 5124, 5135, 5115, 7751, 0,
774 2015, 5109, 5152, 5135, 5097, 5106, 5109, 545, 5122, 597,
775 660, 7751, 0, 5111, 608, 2058, 5083, 5103, 5094, 7751,
776 0, 5096, 5096, 2061, 5077, 2065, 5069, 5060, 5075, 5074,
777 5075, 5074, 5051, 5052, 7751, 0, 5053, 5052, 5033, 2068,
778 5020, 5016, 5027, 5026, 5002, 7751, 0, 5002, 2071, 4989,
779 7751, 0, 4992, 2125, 4976, 4993, 4991, 4973, 7751, 0,
780 4964, 4978, 4964, 4957, 4964, 7751, 0, 4952, 4966, 4962,
781 4951, 4982, 7751, 0, 4940, 2128, 4944, 7751, 0, 4931,
783 4949, 4944, 4940, 7751, 0, 4928, 4921, 4927, 4934, 4914,
784 4901, 7751, 0, 4902, 4910, 7751, 0, 2132, 4907, 772,
785 7751, 0, 2135, 4897, 4885, 4925, 4930, 699, 4881, 7751,
786 1453, 0, 4867, 4867, 4908, 4896, 4852, 7751, 4863, 4845,
787 2138, 2180, 1469, 4854, 4834, 4828, 4833, 4823, 4827, 4830,
788 4833, 4818, 4810, 4802, 4819, 4804, 1472, 4785, 4799, 4801,
789 4783, 4791, 2183, 1593, 4781, 4811, 2186, 2189, 7751, 4782,
790 2192, 1767, 2195, 4766, 2236, 4778, 2241, 2260, 4759, 4760,
791 4761, 4757, 2245, 2254, 2302, 1831, 4740, 2308, 2311, 1535,
792 4742, 4738, 4734, 4726, 1709, 4709, 4707, 4717, 4707, 4714,
794 2316, 2019, 4713, 4697, 2320, 2340, 4702, 1472, 2343, 2027,
795 4705, 2349, 2089, 2352, 4703, 4689, 4684, 4671, 4668, 4679,
796 2361, 2370, 4675, 416, 4653, 2376, 2269, 2382, 4664, 4649,
797 4645, 2385, 2394, 4643, 2409, 2330, 2413, 2416, 4654, 2419,
798 2428, 4652, 4631, 4627, 2422, 2437, 2444, 2447, 2450, 2457,
799 2468, 4631, 2471, 2476, 2479, 2483, 2497, 2501, 4634, 2508,
800 2516, 2511, 2530, 2533, 2540, 2543, 2551, 2554, 4624, 4607,
801 4592, 4585, 2561, 2564, 4593, 4579, 2573, 2576, 2584, 2596,
802 2605, 2608, 4584, 2611, 2614, 4576, 2629, 2632, 4620, 7751,
803 7751, 710, 4582, 7751, 4613, 4612, 4546, 7751, 7751, 4538,
805 4537, 4545, 2638, 2641, 7751, 2644, 1654, 4528, 4521, 4529,
806 4510, 4521, 4506, 4513, 4505, 4501, 741, 4502, 4486, 4492,
807 4488, 1898, 4474, 4466, 4479, 782, 2651, 2663, 7751, 7751,
808 2671, 4500, 2674, 2677, 7751, 2680, 4460, 2683, 7751, 7751,
809 2699, 2702, 2710, 2713, 2717, 4469, 2731, 2734, 7751, 2737,
810 834, 4451, 2740, 4436, 2743, 2746, 7751, 2758, 2765, 7751,
811 7751, 4431, 2773, 2777, 7751, 2780, 4421, 4433, 4408, 4408,
812 4398, 4395, 4389, 4375, 4376, 2783, 2786, 7751, 7751, 4361,
813 4372, 2804, 2807, 7751, 2810, 4352, 4339, 4356, 4347, 2813,
814 7751, 7751, 2829, 2832, 7751, 7751, 2840, 2843, 4337, 4343,
816 4341, 4333, 4336, 4330, 2851, 2858, 7751, 2861, 4327, 4323,
817 4311, 4319, 2864, 7751, 7751, 2873, 2880, 4305, 4311, 4307,
818 2891, 2894, 7751, 2897, 4305, 2900, 7751, 7751, 2916, 2919,
819 7751, 2922, 4282, 2926, 7751, 7751, 4290, 4288, 4287, 2941,
820 2947, 7751, 2950, 2953, 2956, 2971, 2974, 4286, 2982, 2990,
821 7751, 2993, 4279, 2996, 3002, 4266, 4266, 3014, 3017, 4276,
822 3025, 3028, 7751, 3032, 4270, 3035, 7751, 7751, 3047, 3051,
823 7751, 3054, 3058, 3066, 4253, 4249, 3061, 3079, 3087, 3090,
824 7751, 3094, 4246, 3097, 4263, 4232, 3100, 3115, 7751, 3119,
825 4229, 4243, 3122, 3125, 7751, 3128, 3134, 7751, 7751, 3147,
827 3150, 7751, 3154, 4241, 3157, 7751, 7751, 4239, 3169, 3173,
828 7751, 3180, 386, 3183, 7751, 7751, 4271, 4264, 4194, 4180,
829 3188, 4169, 4175, 4168, 4165, 4167, 1901, 2097, 1962, 4169,
830 4164, 2100, 4153, 4157, 4152, 4147, 4130, 2153, 4143, 4141,
831 3192, 3203, 4127, 4154, 3195, 4127, 3214, 7751, 7751, 3222,
832 3225, 3233, 7751, 7751, 4118, 3243, 2264, 4103, 3246, 3252,
833 3264, 3267, 4102, 3270, 7751, 4093, 4080, 2373, 3273, 4092,
834 4090, 4089, 4091, 4075, 3276, 3282, 3294, 3298, 3301, 4082,
835 3304, 4062, 4078, 3307, 3325, 3333, 7751, 7751, 3343, 4055,
836 4075, 4061, 4073, 4048, 3347, 4056, 3350, 4036, 4045, 3354,
838 7751, 7751, 3368, 4037, 4049, 3371, 4038, 3374, 4025, 4029,
839 4016, 3377, 3380, 3386, 7751, 7751, 3395, 7751, 7751, 4005,
840 3404, 3410, 3413, 7751, 7751, 4004, 4014, 3423, 7751, 7751,
841 3993, 3438, 3992, 3441, 3444, 7751, 7751, 3990, 3998, 3461,
842 7751, 7751, 3469, 3991, 3472, 3475, 3979, 3997, 3483, 3983,
843 3490, 3497, 3502, 3980, 3508, 3511, 820, 4018, 3516, 7751,
844 4006, 7751, 7751, 3965, 3964, 3521, 3949, 3961, 3943, 3955,
845 3951, 2854, 3526, 3946, 3531, 3934, 3928, 3535, 3928, 3540,
846 3543, 3930, 3927, 3546, 3549, 3913, 3553, 7751, 7751, 3915,
847 3918, 3562, 3886, 3572, 7751, 7751, 3882, 3566, 3588, 3883,
849 3595, 1863, 2566, 3603, 3606, 3614, 3893, 3879, 3879, 3617,
850 3621, 3625, 3628, 3633, 3893, 3853, 3636, 7751, 7751, 3644,
851 3647, 3655, 3658, 3839, 3666, 3841, 3673, 3676, 3691, 3825,
852 3695, 7751, 7751, 3703, 3709, 3717, 3826, 3826, 3819, 3721,
853 3669, 3819, 3724, 3729, 3742, 3805, 3745, 3748, 3809, 3809,
854 3756, 3796, 3763, 3803, 3782, 3795, 3766, 3769, 3794, 3777,
855 3781, 3784, 3794, 3787, 3790, 3796, 3799, 3781, 3808, 3814,
856 3818, 3821, 3774, 3836, 7751, 7751, 3777, 3762, 3827, 3775,
857 3847, 3854, 3866, 3870, 3755, 3873, 3878, 3891, 181, 339,
858 476, 7751, 3745, 3894, 3897, 3756, 3746, 3760, 3732, 3900,
860 3719, 3719, 3713, 3903, 3906, 3912, 3916, 3725, 3919, 3700,
861 3924, 3713, 3692, 3706, 3731, 3927, 3682, 3686, 3930, 3933,
862 3717, 3703, 526, 3695, 3694, 3680, 584, 3675, 3936, 7751,
863 7751, 3951, 3956, 3657, 3667, 3959, 3962, 3647, 3643, 3970,
864 7751, 7751, 3978, 3649, 3647, 3611, 3965, 7751, 3600, 3987,
865 7751, 7751, 3996, 3999, 3597, 4007, 7751, 7751, 4015, 4018,
866 4026, 3597, 3547, 4029, 4033, 4047, 3545, 4050, 7751, 7751,
867 4058, 4062, 3549, 4070, 7751, 7751, 3547, 3532, 4079, 7751,
868 3532, 4082, 3512, 4085, 3515, 4088, 3526, 3506, 3466, 4103,
869 7751, 3453, 4106, 3425, 4109, 4112, 4130, 4133, 3433, 4144,
871 3420, 4148, 4151, 4154, 4163, 4169, 4181, 3395, 3373, 3375,
872 4184, 3351, 4187, 7751, 7751, 4196, 4203, 4177, 4208, 7751,
873 7751, 4216, 7751, 40, 733, 773, 37, 4222, 4225, 4235,
874 4240, 70, 94, 4247, 4250, 223, 302, 4255, 4258, 4261,
875 339, 4264, 4267, 410, 4270, 436, 482, 4273, 7751, 474,
876 544, 4276, 4280, 4283, 590, 587, 618, 631, 634, 657,
877 701, 718, 729, 723, 4298, 4301, 4304, 4312, 713, 4319,
878 727, 777, 873, 1121, 808, 809, 4322, 7751, 7751, 837,
879 4330, 7751, 7751, 4338, 4342, 843, 850, 4350, 7751, 7751,
880 4358, 870, 4361, 7751, 7751, 864, 869, 960, 954, 4369,
882 966, 4372, 4377, 1055, 1049, 1172, 1176, 1070, 1090, 4390,
883 7751, 1081, 4393, 7751, 7751, 4402, 7751, 7751, 1101, 4410,
884 1092, 4413, 4416, 7751, 7751, 4425, 7751, 7751, 4433, 4436,
885 1131, 1136, 4439, 1130, 4442, 4445, 4448, 4454, 1254, 1186,
886 4464, 4473, 7751, 7751, 4468, 4481, 4487, 1147, 4490, 4493,
887 4496, 4502, 1178, 4505, 1190, 4508, 1193, 7751, 4511, 1195,
888 4514, 7751, 4518, 7751, 7751, 1238, 1233, 1246, 1245, 1275,
889 1288, 1283, 1296, 1294, 1301, 4529, 4533, 7751, 7751, 4541,
890 1262, 1283, 1288, 1338, 1371, 1351, 1377, 1337, 1334, 1339,
891 4544, 7751, 7751, 1336, 1361, 4552, 1374, 1390, 1382, 1398,
893 1399, 4555, 7751, 4558, 4561, 7751, 7751, 1397, 1393, 1428,
894 1450, 1433, 1452, 1413, 1422, 4576, 1446, 4579, 4582, 4588,
895 4591, 4594, 4603, 4612, 1454, 4615, 4618, 4621, 4624, 7751,
896 4630, 1520, 1514, 4634, 4650, 4653, 1441, 4656, 4659, 1454,
897 1455, 1446, 4662, 4665, 1462, 1478, 1478, 1492, 1482, 1495,
898 1492, 1511, 1544, 1532, 1544, 4673, 1516, 1518, 1520, 1582,
899 7751, 1580, 7751, 4676, 1527, 1547, 1543, 4680, 4685, 7751,
900 1536, 1539, 1547, 4694, 1557, 4698, 4705, 1581, 1577, 1584,
901 1636, 7751, 1635, 7751, 4716, 1588, 4719, 1590, 4722, 7751,
902 4725, 4734, 4743, 4746, 4749, 7751, 7751, 4757, 4765, 4775,
904 4778, 7751, 4781, 4784, 1632, 1633, 1639, 4787, 7751, 1597,
905 1625, 1645, 4797, 4811, 1672, 1678, 1640, 1673, 1685, 1707,
906 1721, 1738, 1722, 1730, 1730, 1733, 1748, 4806, 1707, 1692,
907 4819, 7751, 7751, 4825, 4828, 1693, 1705, 1712, 4837, 4843,
908 1704, 4851, 1720, 4855, 4858, 4869, 4873, 7751, 7751, 1722,
909 1727, 1740, 7751, 7751, 4881, 4887, 4895, 4899, 4902, 1782,
910 1783, 4913, 7751, 4917, 4920, 7751, 7751, 4928, 4932, 4940,
911 7751, 1859, 1821, 1876, 4793, 1769, 1770, 4946, 4949, 1790,
912 1805, 1794, 1809, 1777, 1813, 1799, 1799, 1819, 7751, 1846,
913 1832, 1839, 1843, 7751, 4959, 4964, 4967, 4970, 4974, 4988,
915 7751, 7751, 1839, 1830, 1844, 4996, 7751, 7751, 1877, 5004,
916 5012, 1887, 5022, 7751, 7751, 5030, 5033, 1886, 5041, 1895,
917 5044, 7751, 7751, 5052, 5055, 5063, 5066, 1912, 1913, 1914,
918 1916, 1920, 1920, 5074, 5077, 7751, 7751, 1949, 2068, 5085,
919 5088, 1895, 1905, 5093, 7751, 7751, 1965, 1963, 1976, 1967,
920 5104, 1963, 1984, 2006, 2002, 1989, 2010, 2026, 2015, 5107,
921 5110, 5113, 5127, 2002, 5135, 7751, 7751, 2014, 2019, 2008,
922 2027, 5143, 7751, 7751, 2011, 5151, 7751, 7751, 2034, 5116,
923 5159, 2016, 5167, 2170, 2198, 5175, 2236, 2265, 2048, 2061,
924 2090, 2056, 2100, 2136, 5183, 2156, 5186, 5189, 5192, 5211,
926 5214, 2113, 2123, 2119, 2128, 5217, 5220, 2131, 2172, 7751,
927 2178, 2182, 2183, 7751, 2213, 5228, 5231, 7751, 7751, 2191,
928 2195, 2196, 5239, 2198, 5242, 5247, 5250, 7751, 7751, 5260,
929 2220, 2250, 2243, 2255, 2275, 2290, 2291, 2303, 2297, 2312,
930 7751, 2308, 2332, 7751, 5265, 7751, 2349, 5268, 5271, 5280,
931 5300, 5345, 5292, 5295, 2334, 2355, 2345, 2373, 5320, 7751,
932 7751, 2377, 2360, 2372, 2395, 2376, 2398, 5311, 2378, 2386,
933 2395, 5336, 5365, 2398, 5339, 5373, 5381, 5389, 5384, 5402,
934 2450, 2421, 2453, 2427, 2459, 2430, 2459, 2447, 2483, 2485,
935 2484, 2485, 2476, 5410, 2503, 2540, 5430, 5475, 2483, 7751,
937 2492, 7751, 7751, 2501, 2510, 7751, 2515, 2520, 5420, 7751,
938 2479, 2497, 2481, 5450, 2545, 2546, 2510, 5458, 2592, 2623,
939 5495, 7751, 7751, 5503, 2661, 2672, 7751, 2563, 7751, 2561,
940 7751, 2585, 7751, 2583, 7751, 7751, 7751, 7751, 2601, 2631,
941 2636, 2589, 2687, 2597, 5423, 2607, 2611, 7751, 7751, 7751,
942 7751, 5466, 5469, 5511, 2671, 2610, 2731, 2634, 5514, 2624,
943 2643, 2683, 2696, 2733, 2697, 2734, 2700, 7751, 7751, 7751,
944 7751, 5519, 2724, 2731, 2749, 5522, 2758, 2756, 5525, 5532,
945 5543, 5546, 5555, 5561, 2753, 2763, 2776, 2761, 2770, 2781,
946 5573, 5576, 2773, 2796, 2789, 2799, 2785, 2794, 2804, 2790,
948 2798, 2815, 5584, 2819, 7751, 7751, 5587, 7751, 7751, 5596,
949 7751, 7751, 5604, 2813, 2842, 2816, 2841, 2844, 2850, 2856,
950 2852, 5613, 7751, 7751, 2859, 2855, 2874, 2871, 2873, 2879,
951 2876, 2878, 2884, 2880, 2920, 7751, 2909, 2905, 2912, 2909,
952 2909, 2916, 2920, 2918, 2939, 2940, 2943, 2943, 2946, 2953,
953 2952, 2957, 2961, 2960, 2966, 2975, 2987, 2965, 2990, 2976,
954 3000, 2990, 3001, 3017, 3008, 3007, 3022, 3027, 3048, 3037,
955 3053, 3044, 3045, 3061, 3052, 3066, 3081, 3095, 3073, 3073,
956 3076, 3076, 3108, 3106, 3138, 3120, 3112, 3153, 3129, 3159,
957 3133, 3160, 3152, 3145, 3182, 3175, 3167, 3201, 3212, 3185,
959 3193, 3192, 3196, 3224, 3202, 7751, 3234, 3220, 7751, 3221,
960 7751, 3226, 7751, 3253, 3229, 7751, 3253, 3233, 7751, 3262,
961 3246, 3264, 3257, 3274, 7751, 3286, 7751, 3288, 3289, 3292,
962 7751, 3294, 7751, 3296, 5621, 3298, 3319, 3304, 3323, 3291,
963 3296, 3298, 3299, 3301, 3306, 5624, 3349, 7751, 3350, 7751,
964 3355, 3355, 3359, 3359, 3379, 3377, 3373, 3385, 7751, 7751,
965 7751, 7751, 7751, 7751, 7751, 7751, 3383, 3400, 3401, 3408,
966 3382, 3398, 3389, 3463, 3413, 3440, 3538, 3564, 3560, 3574,
967 3591, 3634, 3437, 3442, 3667, 3680, 3476, 3624, 5632, 5635,
968 7751, 7751, 5655, 5664, 5673, 5682, 5691, 5700, 5709, 5718,
970 5727, 5736, 5745, 5754, 5763, 5772, 5781, 5790, 5799, 5808,
971 5817, 5826, 5835, 5844, 5853, 5862, 5871, 5880, 5889, 5898,
972 5907, 5916, 5925, 5934, 5943, 5952, 5961, 5970, 5979, 5988,
973 5997, 6006, 6013, 6020, 6027, 6034, 6041, 6048, 6055, 6062,
974 6069, 6076, 6083, 6090, 6097, 6104, 6111, 6118, 6125, 6132,
975 6141, 6148, 6153, 6160, 6165, 6172, 6177, 6184, 6189, 6196,
976 6201, 6206, 6213, 6218, 6225, 6230, 6237, 6242, 6249, 6254,
977 6261, 6266, 6273, 6278, 6285, 6290, 6297, 6302, 6309, 6314,
978 6321, 6326, 6333, 6338, 6345, 6350, 6359, 6365, 6372, 6380,
979 6387, 6395, 6402, 6410, 6417, 6425, 6432, 6440, 6447, 6455,
981 6462, 6470, 6477, 6485, 6492, 6500, 6507, 6515, 6523, 6531,
982 6539, 6547, 6554, 6562, 6570, 6578, 6585, 6593, 6600, 6608,
983 6616, 6623, 6631, 6640, 6646, 6653, 6661, 6669, 6677, 6684,
984 6692, 6699, 6707, 6714, 6722, 6729, 6737, 6744, 6752, 6759,
985 6767, 6774, 6782, 6789, 6797, 6804, 6812, 6819, 6827, 6834,
986 6842, 6849, 6857, 6864, 6872, 6879, 6887, 6895, 6902, 6910,
987 6919, 6928, 6935, 6943, 6950, 6958, 6965, 6973, 6980, 6988,
988 6995, 7002, 7010, 7017, 7025, 7032, 7040, 7047, 7055, 7062,
989 7070, 7077, 7085, 7092, 7100, 7107, 7115, 7122, 7130, 7137,
990 7145, 7153, 7161, 7169, 7177, 7185, 7194, 7203, 7210, 7218,
992 7225, 7233, 7240, 7248, 7255, 7263, 7270, 7277, 7285, 7292,
993 7300, 7307, 7315, 7322, 7330, 7337, 7345, 7352, 7360, 7368,
994 7376, 7383, 7391, 7399, 7407, 7414, 7422, 7430, 7438, 7446,
995 7455, 7464, 7472, 7480, 7487, 7495, 7502, 7510, 7518, 7526,
996 7534, 7541, 7548, 7556, 7563, 7570, 7578, 7585, 7592, 7600,
997 7607, 7615, 7622, 7630, 7638, 7645, 7653, 7661, 7669, 7678,
998 7687, 7696, 7705, 7714, 7723, 7732, 7741
1001 static yyconst flex_int16_t yy_def[2568] =
1003 2293, 2293, 2294, 2294, 2294, 2294, 2295, 2295, 2296, 2296,
1004 2297, 2297, 2298, 2298, 2298, 2298, 2299, 2299, 2293, 2293,
1005 2300, 2300, 2301, 2301, 2301, 2301, 2301, 2301, 2293, 2293,
1006 2301, 2301, 2293, 2293, 2301, 2301, 2301, 2301, 2302, 2302,
1007 2298, 2298, 2303, 2303, 2304, 2304, 2293, 2293, 2304, 2304,
1008 2304, 2304, 2305, 2305, 2306, 2306, 2307, 2307, 2308, 2308,
1009 2308, 2308, 2293, 2293, 2308, 2308, 2308, 2308, 2293, 2293,
1010 2308, 2308, 2293, 2293, 2308, 2308, 2308, 2308, 2293, 2293,
1011 2308, 2308, 2293, 2293, 2308, 2308, 2308, 2308, 2309, 2309,
1012 2310, 2310, 2293, 2293, 2310, 2310, 2310, 2310, 2292, 99,
1014 2311, 2311, 2292, 103, 2312, 2312, 2313, 2313, 2314, 2314,
1015 2315, 2315, 2316, 2316, 2293, 2293, 2316, 2316, 2316, 2316,
1016 2317, 2317, 2318, 2318, 2293, 2293, 2318, 2318, 2318, 2318,
1017 2319, 2319, 2320, 2320, 2293, 2293, 2320, 2320, 2320, 2320,
1018 2321, 2321, 2322, 2322, 2323, 2323, 2324, 2324, 2293, 2293,
1019 2324, 2324, 2324, 2324, 2325, 2325, 2326, 2326, 2293, 2293,
1020 2326, 2326, 2326, 2326, 2327, 2327, 2328, 2328, 2329, 2329,
1021 2330, 2330, 2293, 2293, 2330, 2330, 2330, 2330, 2331, 2331,
1022 2332, 2332, 2293, 2293, 2292, 2292, 2292, 2292, 2292, 2292,
1023 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1025 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1026 2292, 2292, 2292, 2292, 2292, 2333, 2292, 2292, 2333, 2292,
1027 2292, 2292, 222, 222, 222, 224, 224, 2292, 2292, 2292,
1028 2334, 2292, 2292, 2334, 2334, 2334, 2292, 2292, 2292, 2292,
1029 2292, 2335, 2292, 2292, 2335, 2335, 2335, 2335, 2292, 2292,
1030 224, 224, 224, 2292, 2292, 2292, 2336, 2292, 2292, 2336,
1031 2336, 2336, 2292, 2292, 2292, 2292, 2292, 2292, 2337, 2292,
1032 2292, 2337, 2337, 2292, 2292, 225, 225, 225, 276, 277,
1033 277, 277, 277, 283, 284, 283, 283, 2292, 2292, 2292,
1034 2338, 2292, 2292, 2338, 2338, 2338, 2338, 2338, 2292, 2292,
1036 224, 224, 2292, 2292, 2292, 2339, 2292, 2292, 2339, 2339,
1037 2339, 2339, 2339, 2339, 2339, 2339, 2292, 2292, 2292, 2292,
1038 2292, 2292, 2340, 2292, 2292, 2340, 2340, 2340, 2340, 2340,
1039 2340, 2340, 2292, 2292, 2292, 2292, 2292, 2292, 2341, 2292,
1040 2292, 2341, 2341, 2292, 2292, 2292, 2292, 2292, 2292, 2342,
1041 2292, 2292, 2342, 2342, 2342, 2342, 2292, 2292, 224, 224,
1042 2292, 2292, 2292, 2343, 2292, 2292, 2343, 2343, 2292, 2292,
1043 224, 371, 371, 2292, 2292, 2292, 2344, 2292, 2292, 2344,
1044 2344, 2344, 2292, 2292, 371, 371, 2292, 2292, 2292, 2345,
1045 2292, 2292, 2345, 2345, 2292, 2292, 2292, 2292, 2292, 2292,
1047 2346, 2292, 2292, 2346, 2346, 2346, 2292, 2292, 371, 371,
1048 2292, 2292, 2292, 2347, 2292, 2292, 2347, 2347, 2347, 2347,
1049 2292, 2292, 224, 423, 423, 2292, 2292, 2292, 2348, 2292,
1050 2292, 2348, 2292, 2292, 2292, 2292, 2292, 2292, 2349, 2292,
1051 2292, 2349, 2292, 2292, 423, 445, 445, 2292, 2292, 2292,
1052 2350, 2292, 2292, 2350, 2350, 2292, 2292, 2292, 2292, 2351,
1053 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1054 2292, 2292, 2292, 2292, 2292, 2352, 2352, 2353, 2292, 2292,
1055 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1056 2292, 2292, 2292, 2292, 2292, 2354, 2354, 2354, 2354, 2292,
1058 2355, 2292, 2292, 2356, 2356, 2356, 2356, 2356, 2356, 2356,
1059 2357, 2292, 2292, 2358, 2358, 2358, 2358, 2359, 2292, 2360,
1060 2360, 2360, 2361, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1061 2292, 2292, 2338, 2338, 2338, 2338, 2338, 2338, 2362, 2292,
1062 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
1063 2363, 2363, 2363, 2364, 2292, 2365, 2365, 2365, 2365, 2365,
1064 2365, 2365, 2365, 2365, 2366, 2292, 2367, 2367, 2367, 2368,
1065 2292, 2369, 2369, 2369, 2369, 2369, 2369, 2370, 2292, 2371,
1066 2371, 2371, 2371, 2372, 2292, 2292, 2373, 2373, 2373, 2373,
1067 2373, 2374, 2292, 2375, 2375, 2375, 2376, 2292, 2377, 2377,
1069 2377, 2377, 2378, 2292, 2379, 2379, 2379, 2379, 2379, 2380,
1070 2292, 2292, 2381, 2381, 2382, 2292, 2383, 2383, 2384, 2292,
1071 2292, 2385, 2385, 2385, 2386, 2387, 2292, 2387, 2292, 2292,
1072 2292, 2388, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2389,
1073 2390, 2390, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1074 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1075 2292, 2391, 2292, 2292, 2391, 2292, 2392, 2392, 2292, 2393,
1076 2292, 2292, 2393, 2393, 2393, 2393, 2394, 2394, 2292, 2395,
1077 2395, 2395, 2396, 2396, 2292, 2292, 2397, 2398, 2398, 2292,
1078 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2399, 2399, 2399,
1080 2292, 2292, 2399, 2399, 2400, 2400, 2401, 2401, 2292, 2292,
1081 2401, 2292, 2292, 2401, 2401, 2401, 2401, 2401, 2401, 2401,
1082 2402, 2402, 2403, 2403, 2403, 2292, 2292, 2403, 2403, 2403,
1083 2403, 2404, 2404, 2405, 2292, 2292, 2406, 2406, 2407, 2292,
1084 2292, 2407, 2407, 2407, 2408, 2408, 2409, 2409, 2409, 2410,
1085 2410, 2292, 2411, 2411, 2411, 2411, 2412, 2412, 2413, 2292,
1086 2292, 2414, 2414, 2415, 2415, 2415, 2416, 2416, 2417, 2417,
1087 2417, 2417, 2418, 2418, 2292, 2419, 2420, 2420, 2292, 2292,
1088 2421, 2421, 2292, 2292, 2292, 2422, 2423, 2423, 2424, 2292,
1089 2292, 2424, 2292, 2292, 2425, 2292, 2292, 2292, 2292, 2292,
1091 2292, 2426, 2292, 2427, 2292, 2427, 2292, 2292, 2292, 2292,
1092 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1093 2292, 2292, 2292, 2292, 2292, 2292, 2428, 2292, 2292, 2292,
1094 2428, 2292, 2292, 2429, 2292, 2429, 2430, 2292, 2292, 2292,
1095 2292, 2292, 2430, 2292, 2292, 2430, 2292, 2431, 2292, 2431,
1096 2292, 2432, 2432, 2432, 2292, 2433, 2292, 2433, 2292, 2292,
1097 2292, 2434, 2292, 2435, 2292, 2435, 2292, 2292, 2292, 2292,
1098 2292, 2292, 2292, 2436, 2436, 2436, 2292, 2292, 2292, 2436,
1099 2436, 2292, 2437, 2292, 2437, 2438, 2438, 2438, 2438, 2292,
1100 2292, 2292, 2438, 2292, 2292, 2292, 2292, 2292, 2438, 2438,
1102 2438, 2438, 2438, 2438, 2292, 2439, 2292, 2439, 2440, 2440,
1103 2440, 2440, 2292, 2292, 2292, 2292, 2292, 2440, 2440, 2440,
1104 2292, 2441, 2292, 2441, 2442, 2292, 2292, 2292, 2292, 2443,
1105 2292, 2443, 2444, 2292, 2292, 2292, 2444, 2444, 2444, 2292,
1106 2445, 2292, 2445, 2292, 2292, 2292, 2292, 2446, 2292, 2447,
1107 2292, 2447, 2292, 2292, 2292, 2448, 2448, 2292, 2292, 2448,
1108 2292, 2449, 2292, 2449, 2450, 2292, 2292, 2292, 2292, 2451,
1109 2292, 2451, 2292, 2292, 2452, 2452, 2292, 2292, 2292, 2453,
1110 2292, 2453, 2454, 2454, 2454, 2454, 2292, 2455, 2292, 2455,
1111 2292, 2456, 2292, 2457, 2292, 2457, 2292, 2292, 2292, 2292,
1113 2458, 2292, 2458, 2292, 2292, 2292, 2292, 2459, 2292, 2460,
1114 2292, 2460, 2461, 2462, 2292, 2292, 2292, 2292, 2292, 2463,
1115 2464, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1116 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1117 2292, 2292, 2465, 2292, 2466, 2467, 2292, 2292, 2292, 2292,
1118 2292, 2292, 2292, 2292, 2467, 2468, 2292, 2469, 2292, 2292,
1119 2469, 2470, 2471, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1120 2292, 2292, 2472, 2472, 2292, 2292, 2472, 2472, 2473, 2474,
1121 2474, 2474, 2474, 2292, 2292, 2292, 2292, 2292, 2474, 2474,
1122 2474, 2474, 2474, 2474, 2475, 2476, 2476, 2476, 2476, 2292,
1124 2292, 2292, 2476, 2476, 2476, 2477, 2478, 2479, 2480, 2480,
1125 2480, 2480, 2481, 2292, 2292, 2292, 2292, 2292, 2292, 2482,
1126 2483, 2292, 2292, 2292, 2292, 2484, 2484, 2292, 2292, 2292,
1127 2484, 2485, 2486, 2487, 2292, 2292, 2292, 2488, 2488, 2292,
1128 2292, 2292, 2489, 2490, 2292, 2292, 2490, 2490, 2491, 2292,
1129 2492, 2493, 2494, 2292, 2495, 2496, 2497, 2498, 2498, 2292,
1130 2498, 2292, 2292, 2292, 2499, 2500, 2292, 2292, 2292, 2292,
1131 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1132 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2501,
1133 2292, 2502, 2503, 2292, 2292, 2292, 2503, 2504, 2292, 2505,
1135 2292, 2292, 2292, 2292, 2292, 2506, 2507, 2292, 2292, 2292,
1136 2292, 2292, 2292, 2292, 2508, 2508, 2292, 2292, 2292, 2292,
1137 2292, 2292, 2292, 2508, 2509, 2510, 2292, 2292, 2510, 2510,
1138 2292, 2292, 2292, 2292, 2292, 2510, 2510, 2510, 2510, 2510,
1139 2511, 2512, 2292, 2292, 2512, 2512, 2292, 2292, 2512, 2512,
1140 2513, 2514, 2515, 2516, 2516, 2516, 2292, 2292, 2516, 2517,
1141 2518, 2519, 2292, 2520, 2520, 2520, 2521, 2522, 2523, 2524,
1142 2524, 2525, 2526, 2292, 2292, 2292, 2526, 2526, 2527, 2292,
1143 2292, 2292, 2528, 2529, 2292, 2292, 2292, 2530, 2531, 2532,
1144 2532, 2292, 2292, 2533, 2534, 2292, 2292, 2292, 2292, 2292,
1146 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1147 2292, 2292, 2292, 2535, 2292, 2536, 2537, 2537, 2538, 2539,
1148 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1149 2292, 2540, 2541, 2292, 2292, 2292, 2292, 2542, 2542, 2292,
1150 2292, 2292, 2292, 2292, 2292, 2542, 2292, 2292, 2543, 2292,
1151 2292, 2292, 2292, 2292, 2543, 2292, 2292, 2292, 2292, 2292,
1152 2543, 2543, 2543, 2292, 2292, 2544, 2545, 2292, 2292, 2292,
1153 2292, 2292, 2545, 2292, 2292, 2292, 2545, 2545, 2292, 2292,
1154 2546, 2547, 2548, 2548, 2548, 2292, 2292, 2292, 2548, 2292,
1155 2292, 2549, 2550, 2292, 2292, 2292, 2292, 2292, 2551, 2552,
1157 2553, 2554, 2292, 2292, 2292, 2292, 2555, 2556, 2556, 2556,
1158 2557, 2292, 2292, 2292, 2292, 2558, 2559, 2292, 2292, 2292,
1159 2292, 2292, 2292, 2560, 2561, 2561, 2292, 2292, 2292, 2534,
1160 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1161 2292, 2292, 2292, 2292, 2292, 2535, 2292, 2292, 2292, 2537,
1162 2537, 2538, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1163 2292, 2292, 2292, 2292, 2540, 2292, 2292, 2292, 2292, 2292,
1164 2542, 2542, 2292, 2292, 2542, 2543, 2292, 2292, 2292, 2543,
1165 2292, 2292, 2292, 2292, 2292, 2543, 2543, 2292, 2292, 2292,
1166 2544, 2545, 2292, 2292, 2292, 2545, 2545, 2545, 2546, 2547,
1168 2548, 2292, 2292, 2548, 2548, 2292, 2292, 2548, 2549, 2292,
1169 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2551, 2552,
1170 2553, 2554, 2292, 2292, 2292, 2292, 2292, 2292, 2555, 2556,
1171 2556, 2556, 2557, 2292, 2558, 2559, 2292, 2560, 2561, 2561,
1172 2292, 2292, 2292, 2292, 2534, 2292, 2292, 2292, 2292, 2292,
1173 2292, 2292, 2292, 2292, 2292, 2292, 2535, 2292, 2537, 2537,
1174 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1175 2292, 2292, 2292, 2292, 2292, 2540, 2292, 2292, 2292, 2292,
1176 2292, 2542, 2542, 2292, 2292, 2292, 2292, 2542, 2543, 2543,
1177 2292, 2292, 2292, 2543, 2543, 2544, 2545, 2545, 2545, 2545,
1179 2546, 2292, 2292, 2548, 2292, 2292, 2292, 2548, 2548, 2292,
1180 2292, 2292, 2292, 2548, 2549, 2292, 2551, 2552, 2553, 2554,
1181 2555, 2292, 2292, 2556, 2556, 2557, 2292, 2558, 2292, 2292,
1182 2560, 2561, 2561, 2292, 2534, 2292, 2292, 2292, 2292, 2292,
1183 2292, 2535, 2292, 2292, 2537, 2292, 2292, 2292, 2292, 2292,
1184 2292, 2292, 2292, 2292, 2292, 2540, 2292, 2542, 2542, 2292,
1185 2292, 2292, 2292, 2542, 2543, 2543, 2543, 2543, 2292, 2292,
1186 2545, 2545, 2545, 2545, 2546, 2292, 2292, 2548, 2548, 2548,
1187 2292, 2292, 2292, 2292, 2548, 2549, 2292, 2551, 2292, 2292,
1188 2292, 2292, 2554, 2555, 2292, 2292, 2292, 2292, 2292, 2556,
1190 2292, 2292, 2292, 2558, 2560, 2561, 2561, 2292, 2292, 2292,
1191 2292, 2292, 2535, 2292, 2292, 2292, 2537, 2292, 2292, 2292,
1192 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2540, 2292, 2542,
1193 2542, 2292, 2292, 2292, 2292, 2543, 2543, 2543, 2292, 2292,
1194 2545, 2545, 2545, 2292, 2292, 2546, 2292, 2292, 2292, 2548,
1195 2548, 2548, 2292, 2292, 2292, 2292, 2549, 2551, 2292, 2292,
1196 2292, 2292, 2292, 2555, 2292, 2292, 2292, 2292, 2292, 2292,
1197 2292, 2560, 2561, 2561, 2292, 2292, 2292, 2292, 2292, 2292,
1198 2292, 2292, 2292, 2537, 2292, 2292, 2292, 2292, 2292, 2292,
1199 2292, 2292, 2292, 2292, 2540, 2292, 2542, 2292, 2292, 2292,
1201 2292, 2292, 2543, 2543, 2543, 2292, 2292, 2292, 2545, 2292,
1202 2292, 2545, 2292, 2292, 2292, 2292, 2292, 2548, 2548, 2548,
1203 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1204 2292, 2292, 2292, 2555, 2292, 2292, 2292, 2560, 2561, 2561,
1205 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1206 2537, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2540,
1207 2292, 2292, 2292, 2542, 2292, 2292, 2292, 2543, 2543, 2543,
1208 2545, 2292, 2292, 2292, 2545, 2292, 2292, 2292, 2548, 2292,
1209 2292, 2548, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1210 2292, 2292, 2292, 2292, 2555, 2560, 2561, 2561, 2561, 2292,
1212 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1213 2292, 2292, 2292, 2292, 2292, 2540, 2292, 2292, 2292, 2542,
1214 2543, 2543, 2543, 2545, 2545, 2548, 2292, 2292, 2292, 2548,
1215 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1216 2292, 2292, 2292, 2292, 2292, 2292, 2560, 2561, 2561, 2561,
1217 2562, 2563, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1218 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2540, 2542, 2543,
1219 2543, 2292, 2292, 2545, 2292, 2292, 2292, 2292, 2292, 2292,
1220 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1221 2292, 2292, 2560, 2561, 2564, 2565, 2562, 2563, 2292, 2292,
1223 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1224 2542, 2543, 2543, 2292, 2292, 2292, 2545, 2292, 2292, 2292,
1225 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1226 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2560, 2564,
1227 2561, 2566, 2565, 2567, 2561, 2292, 2292, 2292, 2292, 2292,
1228 2292, 2542, 2543, 2543, 2292, 2292, 2292, 2292, 2545, 2292,
1229 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1230 2292, 2560, 2566, 2292, 2567, 2561, 2292, 2292, 2292, 2292,
1231 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1232 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1234 2292, 2292, 2560, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1235 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1236 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1237 2292, 2292, 2292, 2292, 2560, 2292, 2292, 2292, 2292, 2292,
1238 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1239 2292, 2292, 2292, 2292, 2292, 2292, 2560, 2292, 2292, 2292,
1240 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1241 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2560, 2292, 2292,
1242 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1243 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2560, 2292,
1245 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1246 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2560,
1247 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1248 2292, 2292, 2292, 2292, 2560, 2292, 2292, 2292, 2292, 2292,
1249 2292, 2292, 2292, 2292, 2292, 2560, 2292, 2292, 2292, 2292,
1250 2292, 2292, 2292, 2292, 2292, 2292, 2560, 2560, 2292, 2292,
1251 2292, 2292, 2292, 2292, 2292, 2292, 2560, 2560, 2560, 2560,
1252 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
1253 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560,
1254 2292, 0, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1256 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1257 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1258 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1259 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1260 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1261 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1262 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1263 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1264 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1265 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1267 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1268 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1269 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1270 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1271 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1272 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1273 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1274 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1275 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1276 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1278 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1279 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1280 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1281 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1282 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1283 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
1284 2292, 2292, 2292, 2292, 2292, 2292, 2292
1287 static yyconst flex_int16_t yy_nxt[7822] =
1289 2292, 188, 189, 188, 188, 189, 188, 188, 189, 188,
1290 188, 189, 188, 193, 189, 193, 199, 190, 196, 199,
1291 190, 196, 2292, 191, 511, 197, 191, 627, 197, 194,
1292 193, 189, 193, 460, 200, 202, 203, 200, 202, 203,
1293 204, 205, 628, 204, 205, 460, 194, 209, 210, 461,
1294 206, 202, 203, 206, 207, 463, 204, 202, 203, 790,
1295 207, 462, 204, 209, 210, 1538, 206, 189, 189, 189,
1296 523, 462, 206, 512, 189, 189, 189, 221, 189, 221,
1297 221, 189, 221, 212, 221, 189, 221, 507, 463, 211,
1298 212, 508, 2292, 222, 1541, 509, 222, 459, 459, 459,
1300 223, 459, 459, 459, 462, 211, 213, 214, 189, 214,
1301 213, 213, 213, 213, 213, 213, 213, 215, 213, 213,
1302 213, 528, 213, 217, 213, 218, 213, 221, 189, 221,
1303 221, 189, 221, 483, 1547, 221, 189, 221, 189, 189,
1304 189, 512, 486, 223, 474, 486, 224, 492, 463, 213,
1305 213, 224, 511, 1548, 225, 189, 189, 189, 459, 459,
1306 459, 459, 459, 459, 462, 459, 459, 459, 459, 459,
1307 459, 225, 219, 213, 214, 189, 214, 213, 213, 213,
1308 213, 213, 213, 213, 215, 213, 213, 213, 539, 213,
1309 217, 213, 218, 213, 221, 189, 221, 221, 189, 221,
1311 790, 494, 189, 189, 189, 189, 189, 189, 548, 2292,
1312 223, 549, 582, 223, 543, 1424, 213, 213, 226, 583,
1313 463, 226, 221, 189, 221, 221, 189, 221, 221, 189,
1314 221, 221, 189, 221, 544, 2292, 462, 512, 224, 219,
1315 494, 224, 486, 627, 227, 481, 539, 227, 228, 229,
1316 189, 229, 228, 228, 228, 228, 228, 228, 228, 230,
1317 228, 228, 228, 2292, 228, 232, 228, 233, 228, 250,
1318 189, 250, 488, 489, 250, 189, 250, 666, 189, 189,
1319 189, 1550, 202, 203, 493, 251, 480, 204, 202, 203,
1320 251, 228, 228, 204, 252, 494, 563, 237, 633, 234,
1322 494, 634, 235, 237, 459, 459, 459, 564, 236, 228,
1323 229, 189, 229, 228, 228, 228, 228, 228, 228, 228,
1324 230, 228, 228, 228, 238, 228, 232, 228, 233, 228,
1325 238, 189, 189, 189, 250, 189, 250, 590, 250, 189,
1326 250, 250, 189, 250, 591, 463, 463, 252, 500, 463,
1327 251, 463, 228, 228, 251, 501, 518, 253, 1160, 1551,
1328 234, 462, 462, 235, 462, 462, 468, 462, 578, 236,
1329 239, 240, 189, 240, 239, 239, 239, 239, 239, 239,
1330 239, 241, 239, 239, 239, 489, 239, 243, 239, 244,
1331 239, 250, 189, 250, 264, 189, 264, 1425, 1553, 264,
1333 189, 264, 275, 189, 275, 790, 469, 253, 551, 463,
1334 265, 481, 470, 239, 239, 265, 471, 512, 276, 552,
1335 553, 472, 245, 1157, 246, 462, 530, 247, 459, 459,
1336 459, 592, 578, 248, 239, 240, 189, 240, 239, 239,
1337 239, 239, 239, 239, 239, 241, 239, 239, 239, 653,
1338 239, 243, 239, 244, 239, 275, 189, 275, 275, 189,
1339 275, 576, 654, 275, 189, 275, 189, 189, 189, 1555,
1340 910, 276, 577, 463, 277, 911, 484, 239, 239, 277,
1341 463, 494, 278, 459, 459, 459, 245, 554, 246, 462,
1342 1557, 247, 459, 459, 459, 1160, 462, 248, 254, 255,
1344 189, 255, 254, 254, 254, 254, 254, 254, 254, 256,
1345 254, 254, 254, 489, 254, 258, 254, 259, 254, 189,
1346 189, 189, 275, 189, 275, 1558, 1426, 275, 189, 275,
1347 275, 189, 275, 603, 646, 278, 1559, 647, 279, 463,
1348 490, 254, 254, 279, 463, 463, 280, 1457, 260, 459,
1349 459, 459, 491, 261, 1458, 462, 492, 459, 459, 459,
1350 462, 462, 262, 254, 255, 189, 255, 254, 254, 254,
1351 254, 254, 254, 254, 256, 254, 254, 254, 484, 254,
1352 258, 254, 259, 254, 275, 189, 275, 189, 189, 189,
1353 1560, 653, 189, 189, 189, 275, 189, 275, 646, 658,
1355 280, 656, 656, 281, 694, 1462, 254, 254, 281, 463,
1356 463, 277, 1463, 260, 459, 459, 459, 565, 261, 459,
1357 459, 459, 1566, 1567, 2292, 462, 462, 262, 266, 267,
1358 189, 267, 266, 266, 266, 266, 266, 266, 266, 268,
1359 266, 266, 266, 653, 266, 270, 266, 271, 266, 275,
1360 189, 275, 189, 189, 189, 1568, 696, 189, 189, 189,
1361 275, 189, 275, 1569, 463, 277, 526, 699, 282, 527,
1362 700, 266, 266, 282, 1570, 531, 280, 459, 459, 459,
1363 462, 584, 272, 459, 459, 459, 459, 459, 459, 1571,
1364 273, 266, 267, 189, 267, 266, 266, 266, 266, 266,
1366 266, 266, 268, 266, 266, 266, 653, 266, 270, 266,
1367 271, 266, 275, 189, 275, 275, 189, 275, 790, 697,
1368 275, 189, 275, 189, 189, 189, 585, 463, 280, 790,
1369 494, 283, 792, 1013, 266, 266, 283, 1572, 463, 284,
1370 189, 189, 189, 462, 463, 272, 275, 189, 275, 275,
1371 189, 275, 1160, 273, 462, 1573, 284, 189, 189, 189,
1372 462, 1574, 285, 1575, 463, 285, 189, 189, 189, 275,
1373 189, 275, 1581, 286, 275, 189, 275, 275, 189, 275,
1374 462, 1539, 286, 1582, 463, 283, 275, 189, 275, 1031,
1375 283, 570, 1160, 287, 459, 459, 459, 459, 459, 459,
1377 462, 1032, 287, 288, 289, 189, 289, 288, 288, 288,
1378 288, 288, 288, 288, 290, 288, 288, 288, 783, 288,
1379 292, 288, 293, 288, 300, 189, 300, 300, 189, 300,
1380 1040, 654, 189, 189, 189, 1540, 189, 189, 189, 790,
1381 301, 1583, 1032, 301, 650, 463, 288, 288, 252, 294,
1382 651, 295, 252, 459, 459, 459, 652, 296, 459, 459,
1383 459, 462, 1289, 297, 1588, 1589, 298, 288, 289, 189,
1384 289, 288, 288, 288, 288, 288, 288, 288, 290, 288,
1385 288, 288, 1040, 288, 292, 288, 293, 288, 300, 189,
1386 300, 300, 189, 300, 1057, 1590, 300, 189, 300, 1584,
1388 300, 189, 300, 1594, 301, 1585, 1595, 301, 659, 463,
1389 288, 288, 302, 294, 651, 295, 302, 459, 459, 459,
1390 652, 296, 459, 459, 459, 462, 1597, 297, 1598, 1599,
1391 298, 303, 304, 189, 304, 303, 303, 303, 303, 303,
1392 303, 303, 305, 303, 303, 303, 306, 303, 307, 303,
1393 308, 303, 306, 306, 306, 306, 306, 306, 306, 306,
1394 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1395 306, 306, 306, 306, 303, 303, 306, 309, 310, 311,
1396 306, 306, 306, 306, 306, 312, 306, 313, 306, 306,
1397 306, 314, 306, 315, 316, 306, 306, 306, 306, 306,
1399 306, 318, 189, 318, 318, 189, 318, 459, 459, 459,
1400 459, 459, 459, 459, 459, 459, 1600, 319, 1601, 1604,
1401 319, 320, 321, 189, 321, 320, 320, 320, 320, 320,
1402 320, 320, 322, 320, 320, 320, 323, 320, 324, 320,
1403 325, 320, 323, 323, 323, 323, 323, 323, 323, 323,
1404 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
1405 323, 323, 323, 323, 320, 320, 323, 326, 327, 328,
1406 323, 323, 323, 323, 323, 329, 323, 330, 323, 323,
1407 323, 331, 323, 323, 332, 323, 323, 323, 323, 323,
1408 323, 334, 189, 334, 334, 189, 334, 459, 459, 459,
1410 459, 459, 459, 459, 459, 459, 1608, 335, 610, 1609,
1411 335, 336, 337, 189, 337, 336, 336, 336, 336, 336,
1412 336, 336, 338, 336, 336, 336, 1614, 336, 340, 336,
1413 341, 336, 345, 189, 345, 345, 189, 345, 1615, 1616,
1414 358, 189, 358, 611, 358, 189, 358, 1586, 346, 1617,
1415 1619, 346, 650, 1587, 336, 336, 359, 512, 651, 342,
1416 359, 459, 459, 459, 661, 343, 336, 337, 189, 337,
1417 336, 336, 336, 336, 336, 336, 336, 338, 336, 336,
1418 336, 1624, 336, 340, 336, 341, 336, 189, 189, 189,
1419 189, 189, 189, 1625, 1627, 358, 189, 358, 1610, 358,
1421 189, 358, 1612, 252, 1611, 1160, 252, 659, 1613, 336,
1422 336, 359, 1637, 651, 342, 359, 459, 459, 459, 661,
1423 343, 347, 348, 189, 348, 347, 347, 347, 347, 347,
1424 347, 347, 349, 347, 347, 347, 1640, 347, 351, 347,
1425 352, 347, 358, 189, 358, 358, 189, 358, 1641, 1633,
1426 370, 189, 370, 370, 189, 370, 463, 1642, 360, 1645,
1427 463, 360, 1646, 597, 347, 347, 371, 615, 353, 371,
1428 1647, 1648, 462, 1160, 1649, 354, 462, 355, 459, 459,
1429 459, 459, 459, 459, 356, 347, 348, 189, 348, 347,
1430 347, 347, 347, 347, 347, 347, 349, 347, 347, 347,
1432 1650, 347, 351, 347, 352, 347, 189, 189, 189, 189,
1433 189, 189, 1651, 1632, 370, 189, 370, 370, 189, 370,
1434 1652, 1653, 372, 1654, 463, 372, 1655, 1657, 347, 347,
1435 371, 625, 353, 371, 459, 459, 459, 1658, 1659, 354,
1436 462, 355, 459, 459, 459, 459, 459, 459, 356, 361,
1437 362, 189, 362, 361, 361, 361, 361, 361, 361, 361,
1438 363, 361, 361, 361, 1660, 361, 365, 361, 366, 361,
1439 370, 189, 370, 370, 189, 370, 1661, 1662, 384, 189,
1440 384, 384, 189, 384, 659, 1663, 373, 1664, 1665, 373,
1441 651, 1666, 361, 361, 385, 1667, 679, 385, 367, 459,
1443 459, 459, 459, 459, 459, 459, 459, 459, 631, 631,
1444 631, 1668, 368, 361, 362, 189, 362, 361, 361, 361,
1445 361, 361, 361, 361, 363, 361, 361, 361, 1671, 361,
1446 365, 361, 366, 361, 189, 189, 189, 189, 189, 189,
1447 1672, 1673, 384, 189, 384, 384, 189, 384, 1674, 1675,
1448 372, 1679, 1680, 372, 1681, 1682, 361, 361, 385, 1683,
1449 1684, 385, 367, 1685, 632, 631, 631, 631, 1686, 794,
1450 807, 807, 807, 822, 822, 822, 368, 374, 375, 189,
1451 375, 374, 374, 374, 374, 374, 374, 374, 376, 374,
1452 374, 374, 1688, 374, 378, 374, 379, 374, 384, 189,
1454 384, 384, 189, 384, 1700, 1710, 396, 189, 396, 396,
1455 189, 396, 1711, 1712, 386, 1713, 1717, 386, 1718, 887,
1456 374, 374, 397, 1719, 1720, 397, 380, 1721, 888, 381,
1457 1722, 808, 1723, 1160, 808, 889, 807, 807, 807, 1160,
1458 382, 374, 375, 189, 375, 374, 374, 374, 374, 374,
1459 374, 374, 376, 374, 374, 374, 1724, 374, 378, 374,
1460 379, 374, 408, 189, 408, 408, 189, 408, 1707, 1706,
1461 189, 189, 189, 189, 189, 189, 1725, 1726, 409, 1727,
1462 1729, 409, 1730, 1731, 374, 374, 372, 1732, 1733, 372,
1463 380, 1736, 1737, 381, 828, 828, 828, 867, 829, 1738,
1465 1741, 830, 1742, 1743, 382, 387, 388, 189, 388, 387,
1466 387, 387, 387, 387, 387, 387, 389, 387, 387, 387,
1467 1746, 387, 391, 387, 392, 387, 408, 189, 408, 408,
1468 189, 408, 1750, 1751, 408, 189, 408, 408, 189, 408,
1469 1752, 1753, 409, 1754, 1757, 409, 1758, 1775, 387, 387,
1470 410, 790, 1160, 410, 393, 807, 807, 807, 1160, 394,
1471 387, 388, 189, 388, 387, 387, 387, 387, 387, 387,
1472 387, 389, 387, 387, 387, 1776, 387, 391, 387, 392,
1473 387, 422, 189, 422, 422, 189, 422, 1773, 1772, 189,
1474 189, 189, 189, 189, 189, 1777, 1780, 423, 1774, 1784,
1476 423, 1785, 1782, 387, 387, 424, 1786, 1781, 424, 393,
1477 822, 822, 822, 1783, 394, 398, 399, 189, 399, 398,
1478 398, 398, 398, 398, 398, 398, 400, 398, 398, 398,
1479 1787, 398, 402, 398, 403, 398, 422, 189, 422, 422,
1480 189, 422, 1788, 1789, 422, 189, 422, 422, 189, 422,
1481 1790, 1791, 423, 1792, 1793, 423, 1794, 1796, 398, 398,
1482 425, 1797, 1803, 425, 404, 1804, 1805, 405, 838, 838,
1483 838, 867, 839, 1809, 1812, 840, 1818, 1819, 406, 398,
1484 399, 189, 399, 398, 398, 398, 398, 398, 398, 398,
1485 400, 398, 398, 398, 1820, 398, 402, 398, 403, 398,
1487 434, 189, 434, 434, 189, 434, 1828, 1831, 444, 189,
1488 444, 444, 189, 444, 1829, 1832, 435, 1842, 1843, 435,
1489 1830, 1833, 398, 398, 445, 1847, 1848, 445, 404, 1849,
1490 1850, 405, 859, 859, 859, 1851, 860, 1852, 1853, 861,
1491 1160, 1854, 406, 411, 412, 189, 412, 411, 411, 411,
1492 411, 411, 411, 411, 413, 411, 411, 411, 1855, 411,
1493 415, 411, 416, 411, 189, 189, 189, 189, 189, 189,
1494 1856, 1857, 444, 189, 444, 444, 189, 444, 790, 1839,
1495 252, 1858, 1859, 252, 1868, 1321, 411, 411, 446, 1869,
1496 1322, 446, 1870, 1323, 417, 1160, 418, 1324, 419, 822,
1498 822, 822, 1172, 1172, 1172, 1838, 420, 411, 412, 189,
1499 412, 411, 411, 411, 411, 411, 411, 411, 413, 411,
1500 411, 411, 1871, 411, 415, 411, 416, 411, 444, 189,
1501 444, 444, 189, 444, 1840, 1875, 457, 189, 457, 457,
1502 189, 457, 1879, 1882, 447, 1889, 1890, 447, 1891, 1892,
1503 411, 411, 458, 1893, 1894, 458, 523, 523, 417, 1900,
1504 418, 619, 419, 1175, 1175, 1175, 524, 529, 790, 1901,
1505 420, 426, 427, 189, 427, 426, 426, 426, 426, 426,
1506 426, 426, 428, 426, 426, 426, 1902, 426, 430, 426,
1507 431, 426, 525, 525, 490, 1903, 480, 1904, 526, 1905,
1509 1908, 527, 663, 663, 663, 1909, 494, 528, 671, 671,
1510 671, 1910, 620, 1896, 426, 426, 685, 685, 685, 664,
1511 877, 877, 877, 1911, 878, 672, 1912, 879, 890, 890,
1512 890, 1913, 891, 686, 1914, 892, 1915, 432, 426, 427,
1513 189, 427, 426, 426, 426, 426, 426, 426, 426, 428,
1514 426, 426, 426, 1920, 426, 430, 426, 431, 426, 701,
1515 701, 701, 709, 709, 709, 1921, 712, 712, 712, 726,
1516 726, 726, 735, 735, 735, 1922, 702, 1923, 1924, 710,
1517 1925, 426, 426, 713, 1926, 1930, 727, 1160, 1939, 736,
1518 894, 894, 894, 1940, 895, 1941, 1942, 896, 1173, 1173,
1520 1173, 1178, 1178, 1178, 432, 436, 437, 189, 437, 436,
1521 436, 436, 436, 436, 436, 436, 438, 436, 436, 436,
1522 1897, 436, 440, 436, 441, 436, 740, 740, 740, 760,
1523 760, 760, 1943, 779, 779, 779, 784, 784, 784, 803,
1524 803, 803, 1174, 741, 1944, 1955, 761, 1956, 436, 436,
1525 780, 1957, 1958, 785, 1184, 1184, 1184, 805, 1962, 442,
1526 436, 437, 189, 437, 436, 436, 436, 436, 436, 436,
1527 436, 438, 436, 436, 436, 790, 436, 440, 436, 441,
1528 436, 803, 803, 803, 663, 663, 663, 833, 833, 833,
1529 833, 833, 833, 671, 671, 671, 841, 841, 841, 805,
1531 1963, 664, 1931, 436, 436, 835, 1964, 1947, 835, 1965,
1532 672, 1966, 1932, 842, 442, 448, 449, 189, 449, 448,
1533 448, 448, 448, 448, 448, 448, 450, 448, 448, 448,
1534 1933, 448, 452, 448, 453, 448, 806, 844, 844, 844,
1535 1934, 1967, 847, 847, 847, 1969, 855, 855, 855, 1970,
1536 1971, 836, 1974, 1981, 845, 855, 855, 855, 448, 448,
1537 849, 847, 847, 847, 857, 1199, 1199, 1199, 1935, 454,
1538 913, 913, 913, 857, 914, 1982, 1983, 915, 1936, 849,
1539 1984, 455, 448, 449, 189, 449, 448, 448, 448, 448,
1540 448, 448, 448, 450, 448, 448, 448, 1937, 448, 452,
1542 448, 453, 448, 685, 685, 685, 850, 1938, 1985, 863,
1543 863, 863, 863, 863, 863, 1986, 858, 701, 701, 701,
1544 686, 882, 882, 882, 1987, 448, 448, 865, 1988, 1989,
1545 865, 926, 926, 926, 702, 927, 454, 1990, 928, 884,
1546 1991, 882, 882, 882, 709, 709, 709, 866, 455, 463,
1547 712, 712, 712, 897, 897, 897, 478, 1992, 1999, 884,
1548 2000, 710, 905, 905, 905, 462, 479, 713, 790, 2001,
1549 898, 905, 905, 905, 1210, 1210, 1210, 726, 726, 726,
1550 907, 2002, 2003, 916, 916, 916, 921, 921, 921, 907,
1551 2004, 480, 481, 482, 727, 921, 921, 921, 483, 885,
1553 917, 484, 2005, 2006, 923, 485, 2007, 486, 1993, 487,
1554 735, 735, 735, 923, 929, 929, 929, 929, 929, 929,
1555 740, 740, 740, 940, 940, 940, 908, 736, 2008, 934,
1556 934, 934, 931, 935, 2011, 931, 936, 741, 940, 940,
1557 940, 942, 2012, 2013, 924, 944, 944, 944, 946, 946,
1558 946, 2292, 2292, 2292, 2017, 2027, 942, 2028, 949, 949,
1559 949, 2029, 945, 2030, 2031, 947, 2032, 2033, 2292, 949,
1560 949, 949, 954, 954, 954, 932, 951, 2292, 2292, 2292,
1561 958, 958, 958, 2034, 2292, 2292, 2292, 951, 2035, 955,
1562 2036, 943, 2037, 2038, 2292, 790, 2046, 959, 961, 961,
1564 961, 2292, 961, 961, 961, 2047, 2048, 948, 2041, 760,
1565 760, 760, 969, 969, 969, 2049, 963, 966, 966, 966,
1566 963, 967, 2042, 2050, 968, 956, 761, 952, 2051, 2052,
1567 971, 969, 969, 969, 973, 973, 973, 964, 2039, 957,
1568 960, 2292, 2292, 2292, 977, 977, 977, 2053, 2041, 971,
1569 2054, 974, 979, 979, 979, 979, 979, 979, 2292, 2044,
1570 2059, 978, 987, 987, 987, 987, 987, 987, 2068, 2069,
1571 981, 2055, 2057, 981, 993, 993, 993, 993, 993, 993,
1572 989, 2056, 2058, 989, 972, 779, 779, 779, 1325, 975,
1573 2070, 2071, 995, 1326, 2074, 995, 1327, 997, 997, 997,
1575 1328, 998, 780, 976, 999, 2074, 1000, 1000, 1000, 1000,
1576 1000, 1000, 784, 784, 784, 1005, 1005, 1005, 2060, 1006,
1577 790, 2077, 1007, 982, 1002, 2078, 990, 1002, 2061, 785,
1578 1009, 1009, 1009, 1009, 1009, 1009, 2041, 2087, 996, 803,
1579 803, 803, 803, 803, 803, 803, 803, 803, 1011, 2062,
1580 2042, 1011, 1041, 1041, 1041, 1160, 1161, 805, 2072, 2063,
1581 805, 2090, 2093, 805, 828, 828, 828, 1003, 829, 1042,
1582 2094, 830, 2292, 2292, 2292, 833, 833, 833, 833, 833,
1583 833, 833, 833, 833, 838, 838, 838, 2064, 839, 2292,
1584 1021, 840, 2085, 835, 1012, 2041, 835, 2065, 2066, 835,
1586 841, 841, 841, 1047, 1047, 1047, 2044, 1048, 2067, 2086,
1587 1049, 1050, 1050, 1050, 844, 844, 844, 842, 1052, 1052,
1588 1052, 2095, 1053, 2096, 2099, 1054, 1045, 2102, 1051, 2074,
1589 1043, 845, 847, 847, 847, 847, 847, 847, 847, 847,
1590 847, 1059, 1059, 1059, 855, 855, 855, 855, 855, 855,
1591 849, 2104, 2088, 849, 2097, 2100, 849, 2074, 1060, 855,
1592 855, 855, 857, 2105, 2106, 857, 859, 859, 859, 2089,
1593 860, 2098, 2101, 861, 863, 863, 863, 857, 863, 863,
1594 863, 1064, 1064, 1064, 1075, 1075, 1075, 877, 877, 877,
1595 2116, 878, 865, 2117, 879, 1056, 865, 2118, 2119, 1065,
1597 2120, 1076, 2121, 2125, 1062, 882, 882, 882, 882, 882,
1598 882, 882, 882, 882, 890, 890, 890, 2126, 891, 2127,
1599 2128, 892, 2129, 884, 2130, 2131, 884, 2132, 2133, 884,
1600 1084, 1084, 1084, 894, 894, 894, 2134, 895, 2136, 2137,
1601 896, 897, 897, 897, 1086, 1086, 1086, 1085, 1087, 2138,
1602 2141, 1088, 905, 905, 905, 1172, 1172, 1172, 898, 905,
1603 905, 905, 905, 905, 905, 913, 913, 913, 2139, 914,
1604 907, 2142, 915, 1079, 916, 916, 916, 907, 2140, 2143,
1605 907, 1100, 1100, 1100, 2144, 1101, 2145, 2146, 1102, 2147,
1606 2148, 917, 921, 921, 921, 921, 921, 921, 921, 921,
1608 921, 926, 926, 926, 2149, 927, 2150, 2151, 928, 2152,
1609 923, 2153, 2154, 923, 2155, 2156, 923, 929, 929, 929,
1610 929, 929, 929, 929, 929, 929, 1095, 934, 934, 934,
1611 2158, 935, 2159, 2160, 936, 931, 2161, 2162, 931, 790,
1612 2163, 931, 940, 940, 940, 2164, 2165, 1106, 940, 940,
1613 940, 940, 940, 940, 944, 944, 944, 1114, 1114, 1114,
1614 942, 1115, 2157, 2166, 1116, 2167, 942, 2168, 2169, 942,
1615 2170, 945, 946, 946, 946, 1117, 1117, 1117, 2171, 1118,
1616 2172, 2173, 1119, 949, 949, 949, 2174, 1108, 2175, 947,
1617 2176, 949, 949, 949, 949, 949, 949, 954, 954, 954,
1619 2177, 951, 2179, 1123, 1123, 1123, 790, 1124, 1113, 951,
1620 1125, 2180, 951, 2181, 955, 958, 958, 958, 1128, 1128,
1621 1128, 2182, 1129, 2178, 2183, 1130, 961, 961, 961, 961,
1622 961, 961, 959, 961, 961, 961, 966, 966, 966, 2184,
1623 967, 2185, 2186, 968, 963, 2187, 2188, 963, 969, 969,
1624 969, 963, 969, 969, 969, 969, 969, 969, 1121, 973,
1625 973, 973, 977, 977, 977, 2189, 971, 1135, 1135, 1135,
1626 971, 1136, 2190, 971, 1137, 2191, 974, 2192, 2193, 978,
1627 1140, 1140, 1140, 2194, 1141, 2195, 2196, 1142, 979, 979,
1628 979, 979, 979, 979, 1132, 979, 979, 979, 1145, 1145,
1630 1145, 987, 987, 987, 2197, 2198, 981, 2200, 2201, 981,
1631 2202, 2203, 1134, 981, 790, 1146, 987, 987, 987, 989,
1632 987, 987, 987, 993, 993, 993, 993, 993, 993, 993,
1633 993, 993, 2199, 2204, 989, 997, 997, 997, 989, 998,
1634 2205, 995, 999, 2206, 995, 2207, 2208, 995, 1000, 1000,
1635 1000, 1000, 1000, 1000, 1143, 1000, 1000, 1000, 1005, 1005,
1636 1005, 2209, 1006, 2210, 2211, 1007, 1002, 2212, 2213, 1002,
1637 1009, 1009, 1009, 1002, 1009, 1009, 1009, 2214, 1149, 2215,
1638 1152, 1009, 1009, 1009, 1159, 1159, 1159, 2216, 1011, 803,
1639 803, 803, 1011, 1041, 1041, 1041, 833, 833, 833, 1011,
1641 2217, 2218, 1160, 1161, 1187, 1187, 1187, 805, 1188, 2219,
1642 1042, 1189, 1153, 2221, 835, 1047, 1047, 1047, 2222, 1048,
1643 2223, 2224, 1049, 1050, 1050, 1050, 1194, 1194, 1194, 2225,
1644 1195, 790, 2226, 1196, 1052, 1052, 1052, 2220, 1053, 1156,
1645 1051, 1054, 2227, 1192, 847, 847, 847, 1059, 1059, 1059,
1646 2228, 2229, 1166, 1201, 1201, 1201, 2230, 1202, 2231, 2232,
1647 1203, 2233, 849, 2234, 1060, 1204, 1204, 1204, 855, 855,
1648 855, 1064, 1064, 1064, 1211, 1211, 1211, 1075, 1075, 1075,
1649 2236, 790, 1205, 1217, 1217, 1217, 857, 1218, 2237, 1065,
1650 1219, 2238, 1198, 2235, 1076, 1220, 1220, 1220, 2239, 1222,
1652 1222, 1222, 882, 882, 882, 1227, 1227, 1227, 1084, 1084,
1653 1084, 2240, 1221, 2241, 2242, 1206, 1223, 2243, 1174, 2244,
1654 884, 2245, 1228, 2247, 2248, 1085, 1231, 1231, 1231, 2249,
1655 1232, 2250, 2251, 1233, 1086, 1086, 1086, 2252, 1087, 2253,
1656 2254, 1088, 2255, 1224, 1234, 1234, 1234, 2256, 905, 905,
1657 905, 1243, 1243, 1243, 2259, 1100, 1100, 1100, 2260, 1101,
1658 2261, 1235, 1102, 2262, 2263, 1225, 907, 2264, 1244, 1247,
1659 1247, 1247, 921, 921, 921, 929, 929, 929, 1257, 1257,
1660 1257, 940, 940, 940, 2265, 2266, 1248, 1114, 1114, 1114,
1661 923, 1115, 790, 931, 1116, 1258, 1117, 1117, 1117, 942,
1663 1118, 790, 790, 1119, 790, 949, 949, 949, 790, 1534,
1664 1241, 1173, 1173, 1173, 1123, 1123, 1123, 790, 1124, 790,
1665 790, 1125, 1259, 951, 1128, 1128, 1128, 790, 1129, 1532,
1666 1531, 1130, 790, 1251, 2273, 1260, 2267, 2269, 1253, 961,
1667 961, 961, 969, 969, 969, 1135, 1135, 1135, 2268, 1136,
1668 2274, 2275, 1137, 1530, 2270, 1263, 790, 963, 2271, 790,
1669 971, 790, 1140, 1140, 1140, 2272, 1141, 2277, 1262, 1142,
1670 979, 979, 979, 1145, 1145, 1145, 1274, 1274, 1274, 1521,
1671 1275, 2289, 790, 1276, 987, 987, 987, 1519, 981, 1512,
1672 1146, 1281, 1281, 1281, 2278, 790, 1269, 1267, 993, 993,
1674 993, 2285, 989, 1000, 1000, 1000, 2286, 1509, 1282, 1286,
1675 1286, 1286, 1009, 1009, 1009, 1272, 995, 1159, 1159, 1159,
1676 1508, 1002, 803, 803, 803, 2276, 1287, 1173, 1173, 1173,
1677 1011, 1279, 1175, 1175, 1175, 1160, 1178, 1178, 1178, 1507,
1678 805, 1305, 1305, 1305, 1307, 1307, 1307, 1184, 1184, 1184,
1679 1311, 1311, 1311, 1284, 1187, 1187, 1187, 790, 1188, 1506,
1680 1505, 1189, 1283, 833, 833, 833, 1290, 847, 847, 847,
1681 2281, 1288, 1295, 1194, 1194, 1194, 1501, 1195, 1499, 790,
1682 1196, 835, 1291, 790, 2282, 849, 1498, 2279, 1308, 1199,
1683 1199, 1199, 1497, 790, 1312, 1496, 1201, 1201, 1201, 1492,
1685 1202, 1487, 1306, 1203, 1204, 1204, 1204, 1329, 1329, 1329,
1686 790, 1330, 1316, 2280, 1331, 855, 855, 855, 1210, 1210,
1687 1210, 1205, 1211, 1211, 1211, 1319, 1336, 1336, 1336, 1336,
1688 1336, 1336, 2289, 857, 1305, 1305, 1305, 1217, 1217, 1217,
1689 2283, 1218, 1486, 790, 1219, 1220, 1220, 1220, 1340, 1340,
1690 1340, 1480, 1341, 790, 1476, 1342, 1222, 1222, 1222, 1343,
1691 1343, 1343, 1221, 1344, 1332, 1475, 1345, 1347, 1347, 1347,
1692 905, 905, 905, 1223, 1227, 1227, 1227, 1350, 1350, 1350,
1693 1474, 1351, 1473, 2284, 1352, 1348, 790, 1337, 907, 1472,
1694 1306, 1228, 1353, 1353, 1353, 1337, 1231, 1231, 1231, 790,
1696 1232, 1471, 1469, 1233, 1234, 1234, 1234, 1468, 1464, 1354,
1697 1356, 1356, 1356, 1461, 1357, 1460, 2287, 1358, 1359, 1359,
1698 1359, 1235, 1364, 1364, 1364, 1243, 1243, 1243, 1459, 2288,
1699 1368, 1368, 1368, 1366, 1369, 1360, 1456, 1370, 1455, 1365,
1700 1451, 1450, 1244, 1371, 1371, 1371, 1247, 1247, 1247, 1374,
1701 1374, 1374, 1447, 1375, 1446, 1445, 1376, 1379, 1379, 1379,
1702 1372, 1444, 1443, 1248, 929, 929, 929, 1257, 1257, 1257,
1703 1386, 1386, 1386, 1441, 1387, 1380, 1438, 1388, 1390, 1390,
1704 1390, 1437, 931, 1436, 1258, 949, 949, 949, 1395, 1395,
1705 1395, 1397, 1397, 1397, 1434, 1433, 1391, 2292, 2292, 2292,
1707 961, 961, 961, 951, 1432, 1396, 1431, 1427, 1398, 969,
1708 969, 969, 1418, 1382, 2292, 1403, 1403, 1403, 963, 1405,
1709 1405, 1405, 979, 979, 979, 1412, 1410, 971, 987, 987,
1710 987, 1409, 1404, 1408, 1393, 1401, 1406, 1274, 1274, 1274,
1711 981, 1275, 1394, 1392, 1276, 1389, 989, 1385, 1281, 1281,
1712 1281, 1384, 1383, 1402, 1381, 1413, 1413, 1413, 1399, 1414,
1713 1378, 1377, 1415, 1373, 1400, 1282, 1367, 993, 993, 993,
1714 1363, 1000, 1000, 1000, 1286, 1286, 1286, 1411, 1362, 1419,
1715 1419, 1419, 1361, 1420, 1407, 995, 1421, 1355, 1349, 1002,
1716 1346, 1287, 1422, 1422, 1422, 1428, 1428, 1428, 803, 803,
1718 803, 1435, 1435, 1435, 1439, 1439, 1439, 1305, 1305, 1305,
1719 1423, 1339, 1429, 1440, 1440, 1440, 805, 1307, 1307, 1307,
1720 1442, 1442, 1442, 1416, 1417, 1311, 1311, 1311, 1448, 1448,
1721 1448, 847, 847, 847, 1453, 1453, 1453, 1329, 1329, 1329,
1722 1338, 1330, 1335, 1334, 1331, 1333, 1449, 1320, 1318, 849,
1723 1317, 1454, 855, 855, 855, 1315, 1430, 1466, 1466, 1466,
1724 1336, 1336, 1336, 1470, 1470, 1470, 1347, 1347, 1347, 1314,
1725 857, 1340, 1340, 1340, 1467, 1341, 1313, 1310, 1342, 1343,
1726 1343, 1343, 1309, 1344, 1348, 1304, 1345, 1452, 1350, 1350,
1727 1350, 1303, 1351, 1302, 1301, 1352, 1465, 1353, 1353, 1353,
1729 1477, 1477, 1477, 1300, 1478, 1299, 1298, 1479, 1356, 1356,
1730 1356, 1297, 1357, 1296, 1354, 1358, 1359, 1359, 1359, 1481,
1731 1481, 1481, 1294, 1482, 1293, 1292, 1483, 1484, 1484, 1484,
1732 1364, 1364, 1364, 1360, 1488, 1488, 1488, 1160, 1489, 1285,
1733 1280, 1490, 1278, 1277, 1485, 1273, 1271, 1365, 905, 905,
1734 905, 1368, 1368, 1368, 1270, 1369, 1268, 1266, 1370, 1371,
1735 1371, 1371, 1265, 1493, 1493, 1493, 907, 1494, 1264, 1261,
1736 1495, 1374, 1374, 1374, 1256, 1375, 1372, 1255, 1376, 1254,
1737 1379, 1379, 1379, 929, 929, 929, 1502, 1502, 1502, 1386,
1738 1386, 1386, 1252, 1387, 1250, 1249, 1388, 1491, 1380, 1246,
1740 1245, 931, 1242, 1503, 1390, 1390, 1390, 1510, 1510, 1510,
1741 1395, 1395, 1395, 1513, 1513, 1513, 1240, 1514, 1239, 1238,
1742 1515, 1237, 1391, 1236, 1230, 1511, 1229, 1396, 1226, 1216,
1743 1504, 1397, 1397, 1397, 1516, 1516, 1516, 1215, 1517, 1214,
1744 1213, 1518, 1212, 1209, 1500, 961, 961, 961, 1398, 969,
1745 969, 969, 1403, 1403, 1403, 1523, 1523, 1523, 1208, 1524,
1746 1207, 1200, 1525, 963, 1405, 1405, 1405, 971, 1197, 1404,
1747 1526, 1526, 1526, 1193, 1527, 1191, 1190, 1528, 1537, 1537,
1748 1537, 1406, 979, 979, 979, 987, 987, 987, 1413, 1413,
1749 1413, 1186, 1414, 1185, 1183, 1415, 1522, 993, 993, 993,
1751 981, 1182, 1181, 989, 1000, 1000, 1000, 1180, 1520, 1419,
1752 1419, 1419, 1179, 1420, 1177, 995, 1421, 1422, 1422, 1422,
1753 1176, 1171, 1002, 1428, 1428, 1428, 1542, 1542, 1542, 1170,
1754 1543, 1169, 1168, 1544, 1167, 1423, 803, 803, 803, 1165,
1755 1429, 1546, 1546, 1546, 1529, 1164, 1535, 1533, 1549, 1549,
1756 1549, 1435, 1435, 1435, 805, 1536, 1552, 1552, 1552, 1439,
1757 1439, 1439, 1440, 1440, 1440, 1442, 1442, 1442, 1554, 1554,
1758 1554, 1556, 1556, 1556, 1448, 1448, 1448, 1561, 1561, 1561,
1759 1163, 1453, 1453, 1453, 1563, 1563, 1563, 1162, 1564, 1155,
1760 1154, 1565, 1449, 1151, 1150, 1562, 1148, 1545, 1454, 855,
1762 855, 855, 1466, 1466, 1466, 1577, 1577, 1577, 1147, 1578,
1763 1144, 1139, 1579, 1580, 1580, 1580, 1138, 857, 1133, 1467,
1764 1470, 1470, 1470, 1477, 1477, 1477, 1131, 1478, 1127, 1126,
1765 1479, 1481, 1481, 1481, 1122, 1482, 1120, 1112, 1483, 1484,
1766 1484, 1484, 1111, 1591, 1591, 1591, 1576, 1592, 1110, 1109,
1767 1593, 1488, 1488, 1488, 1107, 1489, 1485, 1105, 1490, 905,
1768 905, 905, 1493, 1493, 1493, 1104, 1494, 1103, 1099, 1495,
1769 1602, 1602, 1602, 1502, 1502, 1502, 1098, 907, 1605, 1605,
1770 1605, 1097, 1606, 1096, 1094, 1607, 1093, 1092, 1603, 1091,
1771 1503, 1510, 1510, 1510, 1513, 1513, 1513, 1090, 1514, 1089,
1773 1083, 1515, 1082, 1516, 1516, 1516, 1081, 1517, 1080, 1511,
1774 1518, 961, 961, 961, 969, 969, 969, 1523, 1523, 1523,
1775 1596, 1524, 1078, 1077, 1525, 1074, 1526, 1526, 1526, 963,
1776 1527, 1073, 971, 1528, 979, 979, 979, 1622, 1622, 1622,
1777 987, 987, 987, 993, 993, 993, 1629, 1629, 1629, 1537,
1778 1537, 1537, 981, 1072, 1623, 1631, 1631, 1631, 989, 1071,
1779 1618, 995, 1070, 1069, 1630, 1634, 1634, 1634, 1621, 803,
1780 803, 803, 1068, 790, 1542, 1542, 1542, 1620, 1543, 1067,
1781 1066, 1544, 1546, 1546, 1546, 1063, 1061, 805, 1636, 1636,
1782 1636, 1549, 1549, 1549, 1638, 1638, 1638, 1639, 1639, 1639,
1784 1628, 1058, 1626, 1552, 1552, 1552, 1554, 1554, 1554, 1556,
1785 1556, 1556, 1643, 1643, 1643, 1561, 1561, 1561, 1055, 1563,
1786 1563, 1563, 1046, 1564, 1044, 1635, 1565, 1039, 1038, 1644,
1787 855, 855, 855, 1562, 1577, 1577, 1577, 1037, 1578, 1036,
1788 1035, 1579, 1580, 1580, 1580, 1591, 1591, 1591, 857, 1592,
1789 1034, 1033, 1593, 1669, 1669, 1669, 1602, 1602, 1602, 1676,
1790 1676, 1676, 1605, 1605, 1605, 1030, 1606, 1029, 1028, 1607,
1791 1027, 1670, 1026, 1025, 1603, 1024, 1677, 1687, 1687, 1687,
1792 1689, 1689, 1689, 1691, 1691, 1691, 1023, 1022, 1656, 969,
1793 969, 969, 979, 979, 979, 1622, 1622, 1622, 1690, 1020,
1795 1692, 1019, 1018, 1678, 1695, 1695, 1695, 971, 1696, 1017,
1796 981, 1697, 1623, 1698, 1698, 1698, 1701, 1701, 1701, 1703,
1797 1703, 1703, 993, 993, 993, 1629, 1629, 1629, 1016, 1015,
1798 1699, 1631, 1631, 1631, 1702, 1634, 1634, 1634, 1014, 790,
1799 995, 1008, 1004, 1630, 992, 991, 1693, 986, 985, 790,
1800 1694, 1708, 1708, 1708, 1636, 1636, 1636, 1638, 1638, 1638,
1801 1639, 1639, 1639, 1643, 1643, 1643, 1714, 1714, 1714, 1709,
1802 1715, 984, 983, 1716, 855, 855, 855, 1734, 1734, 1734,
1803 1644, 1739, 1739, 1739, 965, 1704, 1669, 1669, 1669, 953,
1804 1705, 939, 857, 938, 1735, 1744, 1744, 1744, 1740, 1676,
1806 1676, 1676, 937, 933, 1670, 925, 1747, 1747, 1747, 920,
1807 1748, 919, 1745, 1749, 918, 912, 1677, 1755, 1755, 1755,
1808 1687, 1687, 1687, 1689, 1689, 1689, 1691, 1691, 1691, 909,
1809 904, 1728, 903, 902, 1756, 1759, 1759, 1759, 901, 1760,
1810 900, 1690, 1761, 1692, 1762, 1762, 1762, 979, 979, 979,
1811 1695, 1695, 1695, 899, 1696, 893, 886, 1697, 1698, 1698,
1812 1698, 881, 1763, 880, 876, 981, 1765, 1765, 1765, 875,
1813 1766, 874, 873, 1767, 872, 1699, 1768, 1768, 1768, 1701,
1814 1701, 1701, 1703, 1703, 1703, 1770, 1770, 1770, 1708, 1708,
1815 1708, 871, 870, 1769, 1841, 1841, 1841, 1702, 1778, 1778,
1817 1778, 869, 868, 1771, 862, 854, 1709, 855, 855, 855,
1818 853, 1764, 1714, 1714, 1714, 1779, 1715, 852, 851, 1716,
1819 1798, 1798, 1798, 846, 843, 857, 1734, 1734, 1734, 1800,
1820 1800, 1800, 837, 1801, 832, 831, 1802, 1799, 1739, 1739,
1821 1739, 827, 826, 1735, 1806, 1806, 1806, 825, 1807, 824,
1822 823, 1808, 1810, 1810, 1810, 1740, 1744, 1744, 1744, 1813,
1823 1813, 1813, 821, 1814, 1795, 820, 1815, 819, 818, 1811,
1824 1816, 1816, 1816, 1745, 1747, 1747, 1747, 817, 1748, 816,
1825 815, 1749, 1755, 1755, 1755, 814, 813, 1817, 1821, 1821,
1826 1821, 812, 1822, 811, 810, 1823, 1824, 1824, 1824, 1756,
1828 1826, 1826, 1826, 1759, 1759, 1759, 809, 1760, 802, 801,
1829 1761, 800, 799, 1825, 1762, 1762, 1762, 1827, 979, 979,
1830 979, 1765, 1765, 1765, 798, 1766, 797, 796, 1767, 1768,
1831 1768, 1768, 1763, 1835, 1835, 1835, 981, 1836, 793, 791,
1832 1837, 1770, 1770, 1770, 790, 788, 1769, 1778, 1778, 1778,
1833 1844, 1844, 1844, 786, 1845, 782, 778, 1846, 776, 1771,
1834 855, 855, 855, 775, 1779, 1861, 1861, 1861, 1862, 1862,
1835 1862, 1798, 1798, 1798, 774, 1865, 1865, 1865, 857, 1866,
1836 772, 1834, 1867, 771, 770, 1863, 769, 768, 1799, 1800,
1837 1800, 1800, 766, 1801, 765, 764, 1802, 1806, 1806, 1806,
1839 763, 1807, 759, 758, 1808, 1810, 1810, 1810, 756, 1860,
1840 755, 754, 1864, 1872, 1872, 1872, 753, 1873, 752, 751,
1841 1874, 749, 1811, 1813, 1813, 1813, 748, 1814, 747, 746,
1842 1815, 1816, 1816, 1816, 1876, 1876, 1876, 744, 1877, 743,
1843 742, 1878, 1880, 1880, 1880, 1821, 1821, 1821, 1817, 1822,
1844 739, 738, 1823, 1824, 1824, 1824, 1883, 1883, 1883, 1881,
1845 1884, 734, 733, 1885, 1826, 1826, 1826, 1886, 1886, 1886,
1846 1825, 1887, 731, 730, 1888, 979, 979, 979, 1835, 1835,
1847 1835, 1827, 1836, 729, 728, 1837, 1898, 1898, 1898, 1841,
1848 1841, 1841, 725, 981, 1844, 1844, 1844, 724, 1845, 723,
1850 722, 1846, 720, 1899, 1160, 1906, 1906, 1906, 855, 855,
1851 855, 1861, 1861, 1861, 1862, 1862, 1862, 1880, 1880, 1880,
1852 719, 718, 1907, 717, 1895, 716, 857, 715, 1917, 1917,
1853 1917, 1863, 1918, 714, 1881, 1919, 1865, 1865, 1865, 711,
1854 1866, 708, 707, 1867, 1872, 1872, 1872, 706, 1873, 704,
1855 703, 1874, 1876, 1876, 1876, 1916, 1877, 698, 695, 1878,
1856 1927, 1927, 1927, 693, 1928, 692, 691, 1929, 1883, 1883,
1857 1883, 690, 1884, 689, 687, 1885, 1886, 1886, 1886, 684,
1858 1887, 682, 681, 1888, 1945, 1945, 1945, 1948, 1948, 1948,
1859 1898, 1898, 1898, 1950, 1950, 1950, 680, 1951, 678, 676,
1861 1952, 675, 1946, 674, 1949, 1160, 673, 1899, 1160, 670,
1862 669, 1160, 1953, 1953, 1953, 1954, 1954, 1954, 1906, 1906,
1863 1906, 1959, 1959, 1959, 668, 1960, 665, 662, 1961, 855,
1864 855, 855, 1917, 1917, 1917, 1907, 1918, 660, 657, 1919,
1865 1972, 1972, 1972, 1975, 1975, 1975, 655, 857, 1977, 1977,
1866 1977, 1927, 1927, 1927, 649, 1928, 648, 1973, 1929, 645,
1867 1976, 1979, 1979, 1979, 644, 1978, 1945, 1945, 1945, 1948,
1868 1948, 1948, 1994, 1994, 1994, 643, 1995, 642, 1980, 1996,
1869 640, 1950, 1950, 1950, 1946, 1951, 1949, 1160, 1952, 639,
1870 1160, 638, 1968, 1953, 1953, 1953, 1954, 1954, 1954, 1160,
1872 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 637,
1873 636, 1158, 2009, 2009, 2009, 635, 1158, 1158, 1158, 1160,
1874 1158, 1959, 1959, 1959, 630, 1960, 627, 629, 1961, 624,
1875 2010, 623, 621, 486, 618, 616, 614, 1972, 1972, 1972,
1876 1975, 1975, 1975, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1877 1158, 1158, 1158, 1158, 1973, 612, 1158, 1976, 2292, 609,
1878 608, 1158, 1158, 1158, 1160, 1158, 2014, 2014, 2014, 607,
1879 2015, 606, 604, 2016, 2018, 2018, 2018, 603, 2019, 602,
1880 601, 2020, 1977, 1977, 1977, 1979, 1979, 1979, 1158, 1158,
1881 2021, 2021, 2021, 600, 2022, 598, 596, 2023, 595, 1978,
1883 593, 592, 1980, 2024, 2024, 2024, 589, 2025, 588, 586,
1884 2026, 1994, 1994, 1994, 484, 1995, 2292, 581, 1996, 579,
1885 575, 2009, 2009, 2009, 2076, 2076, 2076, 574, 573, 1160,
1886 1158, 1158, 1158, 1158, 1158, 2045, 1158, 1158, 1158, 2010,
1887 571, 1158, 1160, 1161, 569, 568, 1158, 1158, 1158, 1160,
1888 1158, 2014, 2014, 2014, 566, 2015, 562, 561, 2016, 2018,
1889 2018, 2018, 560, 2019, 559, 558, 2020, 2079, 2079, 2079,
1890 2081, 2081, 2081, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1891 1158, 1158, 1158, 2045, 2080, 557, 1158, 2082, 555, 550,
1892 547, 1158, 1158, 1158, 1160, 1158, 2021, 2021, 2021, 546,
1894 2022, 545, 542, 2023, 2024, 2024, 2024, 540, 2025, 538,
1895 537, 2026, 2083, 2083, 2083, 2091, 2091, 2091, 1158, 1158,
1896 2103, 2103, 2103, 2076, 2076, 2076, 2079, 2079, 2079, 2084,
1897 536, 535, 2092, 2107, 2107, 2107, 534, 2108, 790, 532,
1898 2109, 1160, 2292, 2080, 2081, 2081, 2081, 2110, 2110, 2110,
1899 489, 2111, 527, 522, 2112, 521, 2083, 2083, 2083, 519,
1900 517, 2082, 2113, 2113, 2113, 516, 2114, 515, 513, 2115,
1901 510, 506, 1290, 2084, 2091, 2091, 2091, 2122, 2122, 2122,
1902 505, 2123, 503, 502, 2124, 2103, 2103, 2103, 2107, 2107,
1903 2107, 2092, 2108, 499, 498, 2109, 497, 2110, 2110, 2110,
1905 495, 2111, 494, 790, 2112, 2113, 2113, 2113, 2292, 2114,
1906 488, 477, 2115, 475, 2122, 2122, 2122, 473, 2123, 467,
1907 2135, 2124, 2246, 2246, 2246, 2246, 2246, 2246, 466, 2257,
1908 467, 466, 2258, 2290, 2290, 2290, 2290, 2290, 2290, 465,
1909 790, 464, 2292, 790, 2292, 2292, 2292, 2292, 2292, 2292,
1910 2292, 2291, 2292, 2292, 2291, 186, 186, 186, 186, 186,
1911 186, 186, 186, 186, 187, 187, 187, 187, 187, 187,
1912 187, 187, 187, 192, 192, 192, 192, 192, 192, 192,
1913 192, 192, 195, 195, 195, 195, 195, 195, 195, 195,
1914 195, 198, 198, 198, 198, 198, 198, 198, 198, 198,
1916 201, 201, 201, 201, 201, 201, 201, 201, 201, 208,
1917 208, 208, 208, 208, 208, 208, 208, 208, 216, 216,
1918 216, 216, 216, 216, 216, 216, 216, 220, 220, 220,
1919 220, 220, 220, 220, 220, 220, 231, 231, 231, 231,
1920 231, 231, 231, 231, 231, 242, 242, 242, 242, 242,
1921 242, 242, 242, 242, 249, 249, 249, 249, 249, 249,
1922 249, 249, 249, 257, 257, 257, 257, 257, 257, 257,
1923 257, 257, 263, 263, 263, 263, 263, 263, 263, 263,
1924 263, 269, 269, 269, 269, 269, 269, 269, 269, 269,
1925 274, 274, 274, 274, 274, 274, 274, 274, 274, 291,
1927 291, 291, 291, 291, 291, 291, 291, 291, 299, 299,
1928 299, 299, 299, 299, 299, 299, 299, 317, 317, 317,
1929 317, 317, 317, 317, 317, 317, 333, 333, 333, 333,
1930 333, 333, 333, 333, 333, 339, 339, 339, 339, 339,
1931 339, 339, 339, 339, 344, 344, 344, 344, 344, 344,
1932 344, 344, 344, 350, 350, 350, 350, 350, 350, 350,
1933 350, 350, 357, 357, 357, 357, 357, 357, 357, 357,
1934 357, 364, 364, 364, 364, 364, 364, 364, 364, 364,
1935 369, 369, 369, 369, 369, 369, 369, 369, 369, 377,
1936 377, 377, 377, 377, 377, 377, 377, 377, 383, 383,
1938 383, 383, 383, 383, 383, 383, 383, 390, 390, 390,
1939 390, 390, 390, 390, 390, 390, 395, 395, 395, 395,
1940 395, 395, 395, 395, 395, 401, 401, 401, 401, 401,
1941 401, 401, 401, 401, 407, 407, 407, 407, 407, 407,
1942 407, 407, 407, 414, 414, 414, 414, 414, 414, 414,
1943 414, 414, 421, 421, 421, 421, 421, 421, 421, 421,
1944 421, 429, 429, 429, 429, 429, 429, 429, 429, 429,
1945 433, 433, 433, 433, 433, 433, 433, 433, 433, 439,
1946 439, 439, 439, 439, 439, 439, 439, 439, 443, 443,
1947 443, 443, 443, 443, 443, 443, 443, 451, 451, 451,
1949 451, 451, 451, 451, 451, 451, 456, 456, 456, 456,
1950 456, 456, 456, 456, 456, 476, 476, 476, 2292, 2292,
1951 2292, 476, 496, 496, 496, 2292, 2292, 2292, 496, 504,
1952 504, 504, 2292, 2292, 2292, 504, 514, 514, 514, 2292,
1953 2292, 2292, 514, 520, 520, 520, 2292, 2292, 2292, 520,
1954 533, 533, 533, 2292, 2292, 2292, 533, 541, 541, 541,
1955 2292, 2292, 2292, 541, 556, 556, 556, 2292, 2292, 2292,
1956 556, 567, 567, 567, 2292, 2292, 2292, 567, 572, 572,
1957 572, 2292, 2292, 2292, 572, 580, 580, 580, 2292, 2292,
1958 2292, 580, 587, 587, 587, 2292, 2292, 2292, 587, 594,
1960 594, 594, 2292, 2292, 2292, 594, 599, 599, 599, 2292,
1961 2292, 2292, 599, 605, 605, 605, 2292, 2292, 2292, 605,
1962 613, 613, 613, 2292, 2292, 2292, 613, 617, 617, 617,
1963 2292, 2292, 2292, 617, 622, 622, 622, 2292, 2292, 2292,
1964 622, 626, 626, 626, 626, 626, 626, 626, 2292, 626,
1965 476, 476, 476, 2292, 2292, 2292, 476, 641, 2292, 2292,
1966 2292, 641, 496, 496, 496, 2292, 2292, 2292, 496, 667,
1967 2292, 2292, 2292, 667, 504, 504, 504, 2292, 2292, 2292,
1968 504, 677, 2292, 2292, 2292, 677, 514, 514, 514, 2292,
1969 2292, 2292, 514, 683, 2292, 2292, 2292, 683, 520, 520,
1971 520, 2292, 2292, 2292, 520, 688, 2292, 2292, 2292, 688,
1972 705, 2292, 2292, 2292, 705, 541, 541, 541, 2292, 2292,
1973 2292, 541, 721, 2292, 2292, 2292, 721, 556, 556, 556,
1974 2292, 2292, 2292, 556, 732, 2292, 2292, 2292, 732, 567,
1975 567, 567, 2292, 2292, 2292, 567, 737, 2292, 2292, 2292,
1976 737, 572, 572, 572, 2292, 2292, 2292, 572, 745, 2292,
1977 2292, 2292, 745, 580, 580, 580, 2292, 2292, 2292, 580,
1978 750, 2292, 2292, 2292, 750, 587, 587, 587, 2292, 2292,
1979 2292, 587, 757, 2292, 2292, 2292, 757, 594, 594, 594,
1980 2292, 2292, 2292, 594, 762, 2292, 2292, 2292, 762, 599,
1982 599, 599, 2292, 2292, 2292, 599, 767, 2292, 2292, 2292,
1983 767, 605, 605, 605, 2292, 2292, 2292, 605, 773, 2292,
1984 2292, 2292, 773, 613, 613, 613, 2292, 2292, 2292, 613,
1985 777, 2292, 2292, 2292, 777, 617, 617, 617, 2292, 2292,
1986 2292, 617, 781, 2292, 2292, 2292, 781, 622, 622, 622,
1987 2292, 2292, 2292, 622, 787, 2292, 2292, 2292, 787, 789,
1988 789, 789, 789, 789, 789, 789, 789, 789, 795, 2292,
1989 2292, 2292, 2292, 795, 476, 476, 476, 2292, 2292, 2292,
1990 476, 804, 804, 804, 804, 2292, 2292, 804, 804, 496,
1991 496, 496, 2292, 2292, 2292, 496, 834, 834, 834, 834,
1993 2292, 2292, 834, 834, 504, 504, 504, 2292, 2292, 2292,
1994 504, 848, 848, 848, 848, 2292, 2292, 848, 848, 514,
1995 514, 514, 2292, 2292, 2292, 514, 856, 856, 856, 856,
1996 2292, 2292, 856, 856, 520, 520, 520, 2292, 2292, 2292,
1997 520, 864, 864, 864, 864, 2292, 2292, 864, 864, 533,
1998 533, 533, 2292, 2292, 2292, 533, 883, 883, 883, 883,
1999 2292, 2292, 883, 883, 541, 541, 541, 2292, 2292, 2292,
2000 541, 906, 906, 906, 906, 2292, 2292, 906, 906, 556,
2001 556, 556, 2292, 2292, 2292, 556, 922, 922, 922, 922,
2002 2292, 2292, 922, 922, 567, 567, 567, 2292, 2292, 2292,
2004 567, 930, 930, 930, 930, 2292, 2292, 930, 930, 572,
2005 572, 572, 2292, 2292, 2292, 572, 941, 941, 941, 941,
2006 2292, 2292, 941, 941, 580, 580, 580, 580, 2292, 580,
2007 2292, 580, 950, 950, 950, 950, 2292, 2292, 950, 950,
2008 587, 587, 587, 587, 2292, 587, 2292, 587, 962, 962,
2009 962, 962, 2292, 2292, 962, 962, 594, 594, 594, 2292,
2010 2292, 2292, 594, 970, 970, 970, 970, 2292, 2292, 970,
2011 970, 599, 599, 599, 599, 2292, 599, 2292, 599, 980,
2012 980, 980, 980, 2292, 2292, 980, 980, 605, 605, 605,
2013 2292, 2292, 2292, 605, 988, 988, 988, 988, 2292, 2292,
2015 988, 988, 613, 613, 613, 2292, 2292, 2292, 613, 994,
2016 994, 994, 994, 2292, 2292, 994, 994, 1001, 1001, 1001,
2017 1001, 2292, 2292, 1001, 1001, 622, 622, 622, 2292, 2292,
2018 2292, 622, 1010, 1010, 1010, 1010, 2292, 2292, 1010, 1010,
2019 789, 789, 789, 789, 789, 789, 789, 789, 789, 795,
2020 2292, 795, 2292, 2292, 795, 476, 476, 476, 2292, 2292,
2021 2292, 476, 804, 804, 804, 804, 2292, 2292, 804, 804,
2022 496, 496, 496, 496, 2292, 496, 2292, 496, 834, 834,
2023 834, 834, 2292, 2292, 834, 834, 504, 504, 504, 2292,
2024 2292, 2292, 504, 848, 848, 848, 848, 2292, 2292, 848,
2026 848, 514, 514, 514, 2292, 2292, 2292, 514, 856, 856,
2027 856, 856, 2292, 2292, 856, 856, 520, 520, 520, 2292,
2028 2292, 2292, 520, 864, 864, 864, 864, 2292, 2292, 864,
2029 864, 533, 533, 533, 2292, 2292, 2292, 533, 883, 883,
2030 883, 883, 2292, 2292, 883, 883, 541, 541, 541, 2292,
2031 2292, 2292, 541, 906, 906, 906, 906, 2292, 2292, 906,
2032 906, 556, 556, 556, 2292, 2292, 2292, 556, 922, 922,
2033 922, 922, 2292, 2292, 922, 922, 567, 567, 567, 2292,
2034 2292, 2292, 567, 930, 930, 930, 930, 2292, 2292, 930,
2035 930, 572, 572, 572, 2292, 2292, 2292, 572, 941, 941,
2037 941, 941, 2292, 2292, 941, 941, 580, 580, 580, 2292,
2038 2292, 2292, 580, 950, 950, 950, 950, 2292, 2292, 950,
2039 950, 587, 587, 587, 2292, 2292, 2292, 587, 962, 962,
2040 962, 962, 2292, 2292, 962, 962, 594, 594, 594, 2292,
2041 2292, 2292, 594, 970, 970, 970, 970, 2292, 2292, 970,
2042 970, 599, 599, 599, 2292, 2292, 2292, 599, 980, 980,
2043 980, 980, 2292, 2292, 980, 980, 605, 605, 605, 2292,
2044 2292, 2292, 605, 988, 988, 988, 988, 2292, 2292, 988,
2045 988, 613, 613, 613, 2292, 2292, 2292, 613, 994, 994,
2046 994, 994, 2292, 2292, 994, 994, 1001, 1001, 1001, 1001,
2048 2292, 2292, 1001, 1001, 622, 622, 622, 2292, 2292, 2292,
2049 622, 1010, 1010, 1010, 1010, 2292, 2292, 1010, 1010, 789,
2050 789, 789, 789, 789, 789, 789, 789, 789, 1158, 1158,
2051 1158, 1158, 1158, 1158, 1158, 1158, 1158, 476, 476, 476,
2052 2292, 2292, 2292, 476, 804, 804, 804, 804, 2292, 2292,
2053 804, 804, 496, 496, 496, 2292, 2292, 2292, 496, 834,
2054 834, 834, 834, 2292, 2292, 834, 834, 504, 504, 504,
2055 2292, 2292, 2292, 504, 848, 848, 848, 848, 2292, 2292,
2056 848, 848, 514, 514, 514, 2292, 2292, 2292, 514, 856,
2057 856, 856, 856, 2292, 2292, 856, 856, 520, 520, 520,
2059 2292, 2292, 2292, 520, 533, 533, 533, 2292, 2292, 2292,
2060 533, 883, 883, 883, 883, 2292, 2292, 883, 883, 541,
2061 541, 541, 2292, 2292, 2292, 541, 906, 906, 906, 906,
2062 2292, 2292, 906, 906, 556, 556, 556, 2292, 2292, 2292,
2063 556, 922, 922, 922, 922, 2292, 2292, 922, 922, 567,
2064 567, 567, 2292, 2292, 2292, 567, 930, 930, 930, 930,
2065 2292, 2292, 930, 930, 572, 572, 572, 2292, 2292, 2292,
2066 572, 941, 941, 941, 941, 2292, 2292, 941, 941, 580,
2067 580, 580, 2292, 2292, 2292, 580, 950, 950, 950, 950,
2068 2292, 2292, 950, 950, 587, 587, 587, 2292, 2292, 2292,
2070 587, 962, 962, 962, 962, 2292, 2292, 962, 962, 594,
2071 594, 594, 2292, 2292, 2292, 594, 970, 970, 970, 970,
2072 2292, 2292, 970, 970, 599, 599, 599, 2292, 2292, 2292,
2073 599, 980, 980, 980, 980, 2292, 2292, 980, 980, 605,
2074 605, 605, 2292, 2292, 2292, 605, 988, 988, 988, 988,
2075 2292, 2292, 988, 988, 613, 613, 613, 613, 2292, 613,
2076 2292, 613, 994, 994, 994, 994, 2292, 2292, 994, 994,
2077 1001, 1001, 1001, 1001, 2292, 2292, 1001, 1001, 622, 622,
2078 622, 622, 2292, 622, 2292, 622, 1010, 1010, 1010, 1010,
2079 2292, 2292, 1010, 1010, 789, 789, 789, 789, 789, 789,
2081 789, 789, 789, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
2082 1158, 1158, 476, 476, 476, 2292, 2292, 2292, 476, 804,
2083 804, 804, 804, 2292, 2292, 804, 804, 496, 496, 496,
2084 2292, 2292, 2292, 496, 834, 834, 834, 834, 2292, 2292,
2085 834, 834, 504, 504, 504, 2292, 2292, 2292, 504, 848,
2086 848, 848, 848, 2292, 2292, 848, 848, 514, 514, 514,
2087 2292, 2292, 2292, 514, 856, 856, 856, 856, 2292, 2292,
2088 856, 856, 520, 520, 520, 2292, 2292, 2292, 520, 533,
2089 533, 533, 2292, 2292, 2292, 533, 883, 883, 883, 883,
2090 2292, 2292, 883, 883, 541, 541, 541, 2292, 2292, 2292,
2092 541, 906, 906, 906, 906, 2292, 2292, 906, 906, 556,
2093 556, 556, 2292, 2292, 2292, 556, 922, 922, 922, 922,
2094 2292, 2292, 922, 922, 567, 567, 567, 2292, 2292, 2292,
2095 567, 930, 930, 930, 930, 2292, 2292, 930, 930, 572,
2096 572, 572, 2292, 2292, 2292, 572, 941, 941, 941, 941,
2097 2292, 2292, 941, 941, 580, 580, 580, 2292, 2292, 2292,
2098 580, 950, 950, 950, 950, 2292, 2292, 950, 950, 587,
2099 587, 587, 587, 2292, 587, 2292, 587, 962, 962, 962,
2100 962, 2292, 2292, 962, 962, 594, 594, 594, 2292, 2292,
2101 2292, 594, 970, 970, 970, 970, 2292, 2292, 970, 970,
2103 599, 599, 599, 599, 2292, 599, 2292, 599, 980, 980,
2104 980, 980, 2292, 2292, 980, 980, 605, 605, 605, 2292,
2105 2292, 2292, 605, 988, 988, 988, 988, 2292, 2292, 988,
2106 988, 994, 994, 994, 994, 2292, 2292, 994, 994, 1001,
2107 1001, 1001, 1001, 2292, 2292, 1001, 1001, 1010, 1010, 1010,
2108 1010, 2292, 2292, 1010, 1010, 789, 789, 789, 789, 789,
2109 789, 789, 789, 789, 1158, 1158, 1158, 1158, 1158, 1158,
2110 1158, 1158, 1158, 476, 476, 476, 476, 2292, 476, 2292,
2111 476, 804, 804, 804, 804, 2292, 2292, 804, 804, 496,
2112 496, 496, 2292, 2292, 2292, 496, 834, 834, 834, 834,
2114 2292, 2292, 834, 834, 504, 504, 504, 2292, 2292, 2292,
2115 504, 848, 848, 848, 848, 2292, 2292, 848, 848, 514,
2116 514, 514, 514, 2292, 514, 2292, 514, 856, 856, 856,
2117 856, 2292, 2292, 856, 856, 520, 520, 520, 520, 2292,
2118 520, 2292, 520, 533, 533, 533, 2292, 2292, 2292, 533,
2119 541, 541, 541, 2292, 2292, 2292, 541, 906, 906, 906,
2120 906, 2292, 2292, 906, 906, 556, 556, 556, 2292, 2292,
2121 2292, 556, 567, 567, 567, 2292, 2292, 2292, 567, 930,
2122 930, 930, 930, 2292, 2292, 930, 930, 572, 572, 572,
2123 2292, 2292, 2292, 572, 580, 580, 580, 2292, 2292, 2292,
2125 580, 950, 950, 950, 950, 2292, 2292, 950, 950, 587,
2126 587, 587, 2292, 2292, 2292, 587, 962, 962, 962, 962,
2127 2292, 2292, 962, 962, 594, 594, 594, 2292, 2292, 2292,
2128 594, 970, 970, 970, 970, 2292, 2292, 970, 970, 980,
2129 980, 980, 980, 2292, 2292, 980, 980, 605, 605, 605,
2130 2292, 2292, 2292, 605, 988, 988, 988, 988, 2292, 2292,
2131 988, 988, 994, 994, 994, 994, 2292, 2292, 994, 994,
2132 1001, 1001, 1001, 1001, 2292, 2292, 1001, 1001, 789, 789,
2133 789, 789, 789, 789, 789, 789, 789, 1158, 1158, 1158,
2134 1158, 1158, 1158, 1158, 1158, 1158, 1997, 1997, 1997, 1997,
2136 1997, 1997, 1997, 1997, 1997, 1998, 1998, 1998, 1998, 1998,
2137 1998, 1998, 1998, 1998, 2040, 2040, 2040, 2040, 2040, 2040,
2138 2040, 2040, 2040, 2043, 2043, 2043, 2043, 2043, 2043, 2043,
2139 2043, 2043, 2073, 2073, 2073, 2073, 2073, 2073, 2073, 2073,
2140 2073, 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2075,
2141 185, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
2142 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
2143 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
2144 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
2145 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
2147 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
2148 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
2152 static yyconst flex_int16_t yy_chk[7822] =
2154 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2155 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2156 4, 10, 0, 5, 251, 9, 6, 460, 10, 7,
2157 8, 8, 8, 190, 11, 13, 13, 12, 14, 14,
2158 13, 13, 460, 14, 14, 191, 8, 17, 17, 190,
2159 13, 15, 15, 14, 15, 194, 15, 16, 16, 1424,
2160 16, 191, 16, 18, 18, 1424, 15, 19, 19, 19,
2161 285, 194, 16, 251, 20, 20, 20, 23, 23, 23,
2162 24, 24, 24, 19, 25, 25, 25, 247, 212, 17,
2163 20, 247, 252, 23, 1427, 247, 24, 188, 188, 188,
2165 25, 189, 189, 189, 212, 18, 21, 21, 21, 21,
2166 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2167 21, 285, 21, 21, 21, 21, 21, 26, 26, 26,
2168 27, 27, 27, 279, 1432, 28, 28, 28, 29, 29,
2169 29, 252, 279, 26, 212, 287, 27, 287, 217, 21,
2170 21, 28, 253, 1433, 29, 30, 30, 30, 193, 193,
2171 193, 214, 214, 214, 217, 221, 221, 221, 229, 229,
2172 229, 30, 21, 22, 22, 22, 22, 22, 22, 22,
2173 22, 22, 22, 22, 22, 22, 22, 22, 301, 22,
2174 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2176 1289, 253, 33, 33, 33, 34, 34, 34, 314, 281,
2177 31, 314, 368, 32, 310, 1289, 22, 22, 33, 368,
2178 232, 34, 35, 35, 35, 36, 36, 36, 37, 37,
2179 37, 38, 38, 38, 310, 225, 232, 301, 35, 22,
2180 447, 36, 447, 500, 37, 281, 302, 38, 39, 39,
2181 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2182 39, 39, 39, 282, 39, 39, 39, 39, 39, 45,
2183 45, 45, 225, 282, 46, 46, 46, 500, 47, 47,
2184 47, 1436, 41, 41, 225, 45, 425, 41, 42, 42,
2185 46, 39, 39, 42, 47, 302, 332, 41, 469, 39,
2187 425, 469, 39, 42, 240, 240, 240, 332, 39, 40,
2188 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2189 40, 40, 40, 40, 41, 40, 40, 40, 40, 40,
2190 42, 48, 48, 48, 49, 49, 49, 382, 50, 50,
2191 50, 51, 51, 51, 382, 243, 258, 48, 237, 265,
2192 49, 270, 40, 40, 50, 237, 265, 51, 1290, 1437,
2193 40, 243, 258, 40, 237, 265, 204, 270, 359, 40,
2194 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2195 43, 43, 43, 43, 43, 283, 43, 43, 43, 43,
2196 43, 52, 52, 52, 55, 55, 55, 1290, 1441, 56,
2198 56, 56, 59, 59, 59, 1013, 204, 52, 316, 292,
2199 55, 283, 204, 43, 43, 56, 204, 359, 59, 316,
2200 316, 204, 43, 1013, 43, 292, 283, 43, 250, 250,
2201 250, 386, 360, 43, 44, 44, 44, 44, 44, 44,
2202 44, 44, 44, 44, 44, 44, 44, 44, 44, 486,
2203 44, 44, 44, 44, 44, 60, 60, 60, 61, 61,
2204 61, 356, 486, 62, 62, 62, 63, 63, 63, 1444,
2205 724, 60, 356, 307, 61, 724, 386, 44, 44, 62,
2206 319, 360, 63, 255, 255, 255, 44, 319, 44, 307,
2207 1446, 44, 264, 264, 264, 1291, 319, 44, 53, 53,
2209 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2210 53, 53, 53, 224, 53, 53, 53, 53, 53, 64,
2211 64, 64, 65, 65, 65, 1447, 1291, 66, 66, 66,
2212 67, 67, 67, 410, 482, 64, 1450, 482, 65, 324,
2213 224, 53, 53, 66, 340, 351, 67, 1323, 53, 267,
2214 267, 267, 224, 53, 1323, 324, 224, 275, 275, 275,
2215 340, 351, 53, 54, 54, 54, 54, 54, 54, 54,
2216 54, 54, 54, 54, 54, 54, 54, 54, 410, 54,
2217 54, 54, 54, 54, 68, 68, 68, 69, 69, 69,
2218 1451, 528, 70, 70, 70, 71, 71, 71, 488, 490,
2220 68, 488, 490, 69, 528, 1327, 54, 54, 70, 365,
2221 335, 71, 1327, 54, 289, 289, 289, 335, 54, 300,
2222 300, 300, 1455, 1456, 284, 365, 335, 54, 57, 57,
2223 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2224 57, 57, 57, 530, 57, 57, 57, 57, 57, 72,
2225 72, 72, 73, 73, 73, 1457, 530, 74, 74, 74,
2226 75, 75, 75, 1458, 378, 72, 284, 535, 73, 284,
2227 535, 57, 57, 74, 1459, 284, 75, 304, 304, 304,
2228 378, 371, 57, 318, 318, 318, 321, 321, 321, 1460,
2229 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2231 58, 58, 58, 58, 58, 58, 531, 58, 58, 58,
2232 58, 58, 76, 76, 76, 77, 77, 77, 628, 531,
2233 78, 78, 78, 79, 79, 79, 371, 391, 76, 792,
2234 371, 77, 628, 792, 58, 58, 78, 1461, 402, 79,
2235 80, 80, 80, 391, 415, 58, 81, 81, 81, 82,
2236 82, 82, 1425, 58, 402, 1462, 80, 83, 83, 83,
2237 415, 1463, 81, 1464, 430, 82, 84, 84, 84, 85,
2238 85, 85, 1469, 83, 86, 86, 86, 87, 87, 87,
2239 430, 1425, 84, 1471, 346, 85, 88, 88, 88, 817,
2240 86, 346, 1426, 87, 334, 334, 334, 337, 337, 337,
2242 346, 817, 88, 89, 89, 89, 89, 89, 89, 89,
2243 89, 89, 89, 89, 89, 89, 89, 89, 620, 89,
2244 89, 89, 89, 89, 91, 91, 91, 92, 92, 92,
2245 826, 620, 93, 93, 93, 1426, 94, 94, 94, 1157,
2246 91, 1472, 826, 92, 485, 440, 89, 89, 93, 89,
2247 485, 89, 94, 345, 345, 345, 485, 89, 348, 348,
2248 348, 440, 1157, 89, 1475, 1476, 89, 90, 90, 90,
2249 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2250 90, 90, 851, 90, 90, 90, 90, 90, 95, 95,
2251 95, 96, 96, 96, 851, 1480, 97, 97, 97, 1473,
2253 98, 98, 98, 1486, 95, 1473, 1487, 96, 491, 452,
2254 90, 90, 97, 90, 491, 90, 98, 358, 358, 358,
2255 491, 90, 362, 362, 362, 452, 1492, 90, 1496, 1497,
2256 90, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2257 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2258 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2259 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2260 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2261 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2262 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2264 99, 101, 101, 101, 102, 102, 102, 370, 370, 370,
2265 375, 375, 375, 384, 384, 384, 1498, 101, 1499, 1501,
2266 102, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2267 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2268 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2269 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2270 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2271 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2272 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2273 103, 105, 105, 105, 106, 106, 106, 388, 388, 388,
2275 396, 396, 396, 399, 399, 399, 1504, 105, 423, 1505,
2276 106, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2277 107, 107, 107, 107, 107, 107, 1508, 107, 107, 107,
2278 107, 107, 109, 109, 109, 110, 110, 110, 1509, 1512,
2279 113, 113, 113, 423, 114, 114, 114, 1474, 109, 1519,
2280 1521, 110, 493, 1474, 107, 107, 113, 423, 493, 107,
2281 114, 408, 408, 408, 493, 107, 108, 108, 108, 108,
2282 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2283 108, 1531, 108, 108, 108, 108, 108, 115, 115, 115,
2284 116, 116, 116, 1532, 1534, 117, 117, 117, 1506, 118,
2286 118, 118, 1507, 115, 1506, 1540, 116, 494, 1507, 108,
2287 108, 117, 1548, 494, 108, 118, 412, 412, 412, 494,
2288 108, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2289 111, 111, 111, 111, 111, 111, 1553, 111, 111, 111,
2290 111, 111, 119, 119, 119, 120, 120, 120, 1555, 1540,
2291 123, 123, 123, 124, 124, 124, 397, 1557, 119, 1560,
2292 435, 120, 1566, 397, 111, 111, 123, 435, 111, 124,
2293 1567, 1568, 397, 1539, 1569, 111, 435, 111, 422, 422,
2294 422, 427, 427, 427, 111, 112, 112, 112, 112, 112,
2295 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
2297 1570, 112, 112, 112, 112, 112, 125, 125, 125, 126,
2298 126, 126, 1571, 1539, 127, 127, 127, 128, 128, 128,
2299 1572, 1573, 125, 1574, 458, 126, 1575, 1581, 112, 112,
2300 127, 458, 112, 128, 434, 434, 434, 1582, 1583, 112,
2301 458, 112, 437, 437, 437, 444, 444, 444, 112, 121,
2302 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2303 121, 121, 121, 121, 1584, 121, 121, 121, 121, 121,
2304 129, 129, 129, 130, 130, 130, 1585, 1586, 133, 133,
2305 133, 134, 134, 134, 512, 1587, 129, 1588, 1589, 130,
2306 512, 1590, 121, 121, 133, 1594, 512, 134, 121, 449,
2308 449, 449, 457, 457, 457, 459, 459, 459, 468, 468,
2309 468, 1595, 121, 122, 122, 122, 122, 122, 122, 122,
2310 122, 122, 122, 122, 122, 122, 122, 122, 1597, 122,
2311 122, 122, 122, 122, 135, 135, 135, 136, 136, 136,
2312 1598, 1599, 137, 137, 137, 138, 138, 138, 1600, 1601,
2313 135, 1608, 1609, 136, 1610, 1611, 122, 122, 137, 1612,
2314 1613, 138, 122, 1614, 468, 631, 631, 631, 1615, 631,
2315 643, 643, 643, 657, 657, 657, 122, 131, 131, 131,
2316 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2317 131, 131, 1617, 131, 131, 131, 131, 131, 139, 139,
2319 139, 140, 140, 140, 1625, 1637, 143, 143, 143, 144,
2320 144, 144, 1640, 1641, 139, 1642, 1645, 140, 1646, 708,
2321 131, 131, 143, 1647, 1648, 144, 131, 1649, 708, 131,
2322 1650, 643, 1651, 1633, 657, 708, 690, 690, 690, 1632,
2323 131, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2324 132, 132, 132, 132, 132, 132, 1652, 132, 132, 132,
2325 132, 132, 147, 147, 147, 148, 148, 148, 1633, 1632,
2326 149, 149, 149, 150, 150, 150, 1653, 1654, 147, 1655,
2327 1657, 148, 1658, 1659, 132, 132, 149, 1660, 1662, 150,
2328 132, 1665, 1666, 132, 664, 664, 664, 690, 664, 1667,
2330 1671, 664, 1672, 1673, 132, 141, 141, 141, 141, 141,
2331 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2332 1675, 141, 141, 141, 141, 141, 151, 151, 151, 152,
2333 152, 152, 1678, 1679, 153, 153, 153, 154, 154, 154,
2334 1680, 1681, 151, 1683, 1686, 152, 1688, 1710, 141, 141,
2335 153, 1705, 1706, 154, 141, 807, 807, 807, 1707, 141,
2336 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
2337 142, 142, 142, 142, 142, 1711, 142, 142, 142, 142,
2338 142, 157, 157, 157, 158, 158, 158, 1706, 1705, 159,
2339 159, 159, 160, 160, 160, 1712, 1715, 157, 1707, 1717,
2341 158, 1718, 1716, 142, 142, 159, 1719, 1715, 160, 142,
2342 695, 695, 695, 1716, 142, 145, 145, 145, 145, 145,
2343 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2344 1720, 145, 145, 145, 145, 145, 161, 161, 161, 162,
2345 162, 162, 1721, 1722, 163, 163, 163, 164, 164, 164,
2346 1723, 1724, 161, 1725, 1726, 162, 1727, 1729, 145, 145,
2347 163, 1730, 1736, 164, 145, 1737, 1738, 145, 672, 672,
2348 672, 695, 672, 1741, 1743, 672, 1750, 1751, 145, 146,
2349 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2350 146, 146, 146, 146, 1752, 146, 146, 146, 146, 146,
2352 167, 167, 167, 168, 168, 168, 1760, 1761, 171, 171,
2353 171, 172, 172, 172, 1760, 1761, 167, 1776, 1777, 168,
2354 1760, 1761, 146, 146, 171, 1780, 1781, 172, 146, 1782,
2355 1783, 146, 686, 686, 686, 1784, 686, 1785, 1786, 686,
2356 1773, 1787, 146, 155, 155, 155, 155, 155, 155, 155,
2357 155, 155, 155, 155, 155, 155, 155, 155, 1788, 155,
2358 155, 155, 155, 155, 173, 173, 173, 174, 174, 174,
2359 1790, 1791, 175, 175, 175, 176, 176, 176, 1772, 1773,
2360 173, 1792, 1793, 174, 1803, 1202, 155, 155, 175, 1804,
2361 1202, 176, 1805, 1202, 155, 1774, 155, 1202, 155, 822,
2363 822, 822, 1027, 1027, 1027, 1772, 155, 156, 156, 156,
2364 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
2365 156, 156, 1809, 156, 156, 156, 156, 156, 177, 177,
2366 177, 178, 178, 178, 1774, 1812, 181, 181, 181, 182,
2367 182, 182, 1818, 1820, 177, 1828, 1829, 178, 1830, 1831,
2368 156, 156, 181, 1832, 1833, 182, 276, 277, 156, 1842,
2369 156, 445, 156, 1029, 1029, 1029, 276, 277, 1838, 1843,
2370 156, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2371 165, 165, 165, 165, 165, 165, 1847, 165, 165, 165,
2372 165, 165, 276, 277, 277, 1848, 445, 1849, 276, 1850,
2374 1852, 276, 498, 498, 498, 1853, 277, 276, 506, 506,
2375 506, 1854, 445, 1838, 165, 165, 521, 521, 521, 498,
2376 702, 702, 702, 1855, 702, 506, 1856, 702, 710, 710,
2377 710, 1857, 710, 521, 1858, 710, 1859, 165, 166, 166,
2378 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
2379 166, 166, 166, 1864, 166, 166, 166, 166, 166, 536,
2380 536, 536, 544, 544, 544, 1868, 546, 546, 546, 560,
2381 560, 560, 569, 569, 569, 1869, 536, 1870, 1871, 544,
2382 1875, 166, 166, 546, 1879, 1882, 560, 1839, 1889, 569,
2383 713, 713, 713, 1890, 713, 1891, 1892, 713, 1028, 1028,
2385 1028, 1032, 1032, 1032, 166, 169, 169, 169, 169, 169,
2386 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2387 1839, 169, 169, 169, 169, 169, 574, 574, 574, 596,
2388 596, 596, 1893, 618, 618, 618, 623, 623, 623, 641,
2389 641, 641, 1028, 574, 1894, 1902, 596, 1903, 169, 169,
2390 618, 1904, 1905, 623, 1038, 1038, 1038, 641, 1908, 169,
2391 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2392 170, 170, 170, 170, 170, 1896, 170, 170, 170, 170,
2393 170, 642, 642, 642, 663, 663, 663, 667, 667, 667,
2394 668, 668, 668, 671, 671, 671, 673, 673, 673, 642,
2396 1909, 663, 1884, 170, 170, 667, 1911, 1896, 668, 1912,
2397 671, 1913, 1884, 673, 170, 179, 179, 179, 179, 179,
2398 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
2399 1885, 179, 179, 179, 179, 179, 642, 675, 675, 675,
2400 1885, 1915, 677, 677, 677, 1920, 683, 683, 683, 1921,
2401 1922, 668, 1924, 1931, 675, 684, 684, 684, 179, 179,
2402 677, 678, 678, 678, 683, 1057, 1057, 1057, 1887, 179,
2403 727, 727, 727, 684, 727, 1932, 1933, 727, 1887, 678,
2404 1934, 179, 180, 180, 180, 180, 180, 180, 180, 180,
2405 180, 180, 180, 180, 180, 180, 180, 1888, 180, 180,
2407 180, 180, 180, 685, 685, 685, 678, 1888, 1935, 688,
2408 688, 688, 689, 689, 689, 1936, 684, 701, 701, 701,
2409 685, 705, 705, 705, 1937, 180, 180, 688, 1938, 1939,
2410 689, 736, 736, 736, 701, 736, 180, 1940, 736, 705,
2411 1942, 706, 706, 706, 709, 709, 709, 689, 180, 222,
2412 712, 712, 712, 714, 714, 714, 222, 1943, 1955, 706,
2413 1956, 709, 721, 721, 721, 222, 222, 712, 1947, 1957,
2414 714, 722, 722, 722, 1068, 1068, 1068, 726, 726, 726,
2415 721, 1958, 1962, 728, 728, 728, 732, 732, 732, 722,
2416 1963, 222, 222, 222, 726, 733, 733, 733, 222, 706,
2418 728, 222, 1964, 1965, 732, 222, 1966, 222, 1947, 222,
2419 735, 735, 735, 733, 737, 737, 737, 738, 738, 738,
2420 740, 740, 740, 745, 745, 745, 722, 735, 1967, 741,
2421 741, 741, 737, 741, 1969, 738, 741, 740, 746, 746,
2422 746, 745, 1970, 1971, 733, 747, 747, 747, 748, 748,
2423 748, 749, 749, 749, 1974, 1981, 746, 1982, 750, 750,
2424 750, 1983, 747, 1984, 1985, 748, 1986, 1987, 749, 751,
2425 751, 751, 753, 753, 753, 738, 750, 754, 754, 754,
2426 755, 755, 755, 1988, 756, 756, 756, 751, 1989, 753,
2427 1990, 746, 1991, 1992, 754, 1993, 1999, 755, 757, 757,
2429 757, 756, 758, 758, 758, 2001, 2004, 749, 1995, 760,
2430 760, 760, 762, 762, 762, 2005, 757, 761, 761, 761,
2431 758, 761, 1995, 2007, 761, 754, 760, 751, 2008, 2011,
2432 762, 763, 763, 763, 764, 764, 764, 758, 1993, 754,
2433 756, 765, 765, 765, 766, 766, 766, 2012, 1996, 763,
2434 2013, 764, 767, 767, 767, 768, 768, 768, 765, 1996,
2435 2017, 766, 773, 773, 773, 774, 774, 774, 2028, 2030,
2436 767, 2015, 2016, 768, 777, 777, 777, 778, 778, 778,
2437 773, 2015, 2016, 774, 763, 779, 779, 779, 1203, 765,
2438 2032, 2034, 777, 1203, 2042, 778, 1203, 780, 780, 780,
2440 1203, 780, 779, 765, 780, 2044, 781, 781, 781, 782,
2441 782, 782, 784, 784, 784, 785, 785, 785, 2019, 785,
2442 2039, 2046, 785, 768, 781, 2047, 774, 782, 2019, 784,
2443 787, 787, 787, 788, 788, 788, 2040, 2056, 778, 803,
2444 803, 803, 804, 804, 804, 806, 806, 806, 787, 2020,
2445 2040, 788, 827, 827, 827, 2041, 2041, 803, 2039, 2020,
2446 804, 2058, 2060, 806, 828, 828, 828, 782, 828, 827,
2447 2061, 828, 831, 831, 831, 833, 833, 833, 834, 834,
2448 834, 836, 836, 836, 838, 838, 838, 2025, 838, 831,
2449 806, 838, 2055, 833, 788, 2043, 834, 2025, 2026, 836,
2451 841, 841, 841, 842, 842, 842, 2043, 842, 2026, 2055,
2452 842, 843, 843, 843, 844, 844, 844, 841, 845, 845,
2453 845, 2062, 845, 2063, 2065, 845, 836, 2067, 843, 2073,
2454 831, 844, 847, 847, 847, 848, 848, 848, 850, 850,
2455 850, 853, 853, 853, 855, 855, 855, 856, 856, 856,
2456 847, 2074, 2057, 848, 2064, 2066, 850, 2075, 853, 858,
2457 858, 858, 855, 2077, 2078, 856, 859, 859, 859, 2057,
2458 859, 2064, 2066, 859, 863, 863, 863, 858, 864, 864,
2459 864, 866, 866, 866, 876, 876, 876, 877, 877, 877,
2460 2085, 877, 863, 2086, 877, 850, 864, 2087, 2088, 866,
2462 2089, 876, 2090, 2093, 858, 882, 882, 882, 883, 883,
2463 883, 885, 885, 885, 890, 890, 890, 2094, 890, 2095,
2464 2096, 890, 2097, 882, 2098, 2099, 883, 2100, 2101, 885,
2465 893, 893, 893, 894, 894, 894, 2102, 894, 2104, 2114,
2466 894, 897, 897, 897, 898, 898, 898, 893, 898, 2114,
2467 2116, 898, 905, 905, 905, 1172, 1172, 1172, 897, 906,
2468 906, 906, 908, 908, 908, 913, 913, 913, 2115, 913,
2469 905, 2117, 913, 885, 916, 916, 916, 906, 2115, 2118,
2470 908, 917, 917, 917, 2119, 917, 2120, 2121, 917, 2125,
2471 2126, 916, 921, 921, 921, 922, 922, 922, 924, 924,
2473 924, 926, 926, 926, 2127, 926, 2128, 2129, 926, 2130,
2474 921, 2131, 2132, 922, 2133, 2134, 924, 929, 929, 929,
2475 930, 930, 930, 932, 932, 932, 908, 934, 934, 934,
2476 2137, 934, 2138, 2139, 934, 929, 2140, 2141, 930, 2135,
2477 2142, 932, 940, 940, 940, 2143, 2144, 924, 941, 941,
2478 941, 943, 943, 943, 944, 944, 944, 945, 945, 945,
2479 940, 945, 2135, 2145, 945, 2146, 941, 2147, 2148, 943,
2480 2149, 944, 946, 946, 946, 947, 947, 947, 2150, 947,
2481 2151, 2152, 947, 949, 949, 949, 2153, 932, 2154, 946,
2482 2155, 950, 950, 950, 952, 952, 952, 954, 954, 954,
2484 2156, 949, 2158, 955, 955, 955, 2157, 955, 943, 950,
2485 955, 2159, 952, 2160, 954, 958, 958, 958, 959, 959,
2486 959, 2161, 959, 2157, 2162, 959, 961, 961, 961, 962,
2487 962, 962, 958, 964, 964, 964, 966, 966, 966, 2163,
2488 966, 2164, 2165, 966, 961, 2166, 2167, 962, 969, 969,
2489 969, 964, 970, 970, 970, 972, 972, 972, 952, 973,
2490 973, 973, 977, 977, 977, 2168, 969, 974, 974, 974,
2491 970, 974, 2169, 972, 974, 2170, 973, 2171, 2172, 977,
2492 978, 978, 978, 2173, 978, 2174, 2175, 978, 979, 979,
2493 979, 980, 980, 980, 964, 982, 982, 982, 984, 984,
2495 984, 987, 987, 987, 2176, 2177, 979, 2179, 2180, 980,
2496 2181, 2182, 972, 982, 2178, 984, 988, 988, 988, 987,
2497 990, 990, 990, 993, 993, 993, 994, 994, 994, 996,
2498 996, 996, 2178, 2183, 988, 997, 997, 997, 990, 997,
2499 2184, 993, 997, 2185, 994, 2186, 2187, 996, 1000, 1000,
2500 1000, 1001, 1001, 1001, 982, 1003, 1003, 1003, 1005, 1005,
2501 1005, 2188, 1005, 2189, 2190, 1005, 1000, 2191, 2192, 1001,
2502 1009, 1009, 1009, 1003, 1010, 1010, 1010, 2193, 990, 2194,
2503 996, 1012, 1012, 1012, 1014, 1014, 1014, 2195, 1009, 1021,
2504 1021, 1021, 1010, 1041, 1041, 1041, 1045, 1045, 1045, 1012,
2506 2196, 2197, 1014, 1014, 1042, 1042, 1042, 1021, 1042, 2198,
2507 1041, 1042, 1003, 2200, 1045, 1047, 1047, 1047, 2201, 1047,
2508 2202, 2203, 1047, 1050, 1050, 1050, 1051, 1051, 1051, 2204,
2509 1051, 2199, 2205, 1051, 1052, 1052, 1052, 2199, 1052, 1012,
2510 1050, 1052, 2207, 1045, 1056, 1056, 1056, 1059, 1059, 1059,
2511 2208, 2210, 1021, 1060, 1060, 1060, 2212, 1060, 2214, 2215,
2512 1060, 2217, 1056, 2218, 1059, 1061, 1061, 1061, 1062, 1062,
2513 1062, 1064, 1064, 1064, 1069, 1069, 1069, 1075, 1075, 1075,
2514 2221, 2220, 1061, 1076, 1076, 1076, 1062, 1076, 2222, 1064,
2515 1076, 2223, 1056, 2220, 1075, 1077, 1077, 1077, 2224, 1078,
2517 1078, 1078, 1079, 1079, 1079, 1081, 1081, 1081, 1084, 1084,
2518 1084, 2226, 1077, 2228, 2229, 1062, 1078, 2230, 1069, 2232,
2519 1079, 2234, 1081, 2236, 2237, 1084, 1085, 1085, 1085, 2238,
2520 1085, 2239, 2240, 1085, 1086, 1086, 1086, 2241, 1086, 2242,
2521 2243, 1086, 2244, 1078, 1089, 1089, 1089, 2245, 1095, 1095,
2522 1095, 1097, 1097, 1097, 2247, 1100, 1100, 1100, 2249, 1100,
2523 2251, 1089, 1100, 2252, 2253, 1079, 1095, 2254, 1097, 1103,
2524 1103, 1103, 1106, 1106, 1106, 1108, 1108, 1108, 1112, 1112,
2525 1112, 1113, 1113, 1113, 2255, 2256, 1103, 1114, 1114, 1114,
2526 1106, 1114, 2257, 1108, 1114, 1112, 1117, 1117, 1117, 1113,
2528 1117, 2271, 2267, 1117, 2258, 1121, 1121, 1121, 2273, 1412,
2529 1095, 1122, 1122, 1122, 1123, 1123, 1123, 2272, 1123, 2268,
2530 2269, 1123, 1112, 1121, 1128, 1128, 1128, 2270, 1128, 1410,
2531 1409, 1128, 2275, 1106, 2271, 1113, 2257, 2267, 1108, 1132,
2532 1132, 1132, 1134, 1134, 1134, 1135, 1135, 1135, 2258, 1135,
2533 2272, 2273, 1135, 1408, 2268, 1122, 2283, 1132, 2269, 2276,
2534 1134, 2284, 1140, 1140, 1140, 2270, 1140, 2275, 1121, 1140,
2535 1143, 1143, 1143, 1145, 1145, 1145, 1146, 1146, 1146, 1401,
2536 1146, 2287, 2274, 1146, 1149, 1149, 1149, 1399, 1143, 1394,
2537 1145, 1151, 1151, 1151, 2276, 2287, 1134, 1132, 1152, 1152,
2539 1152, 2283, 1149, 1153, 1153, 1153, 2284, 1392, 1151, 1155,
2540 1155, 1155, 1156, 1156, 1156, 1143, 1152, 1159, 1159, 1159,
2541 1389, 1153, 1166, 1166, 1166, 2274, 1155, 1173, 1173, 1173,
2542 1156, 1149, 1175, 1175, 1175, 1159, 1178, 1178, 1178, 1388,
2543 1166, 1180, 1180, 1180, 1181, 1181, 1181, 1184, 1184, 1184,
2544 1185, 1185, 1185, 1153, 1187, 1187, 1187, 2277, 1187, 1387,
2545 1385, 1187, 1152, 1192, 1192, 1192, 1159, 1198, 1198, 1198,
2546 2279, 1156, 1166, 1194, 1194, 1194, 1383, 1194, 1381, 2279,
2547 1194, 1192, 1159, 2278, 2280, 1198, 1378, 2277, 1181, 1199,
2548 1199, 1199, 1377, 2280, 1185, 1373, 1201, 1201, 1201, 1367,
2550 1201, 1363, 1180, 1201, 1204, 1204, 1204, 1205, 1205, 1205,
2551 2281, 1205, 1192, 2278, 1205, 1206, 1206, 1206, 1210, 1210,
2552 1210, 1204, 1211, 1211, 1211, 1198, 1212, 1212, 1212, 1213,
2553 1213, 1213, 2288, 1206, 1214, 1214, 1214, 1217, 1217, 1217,
2554 2281, 1217, 1362, 2288, 1217, 1220, 1220, 1220, 1221, 1221,
2555 1221, 1355, 1221, 2282, 1349, 1221, 1222, 1222, 1222, 1223,
2556 1223, 1223, 1220, 1223, 1206, 1346, 1223, 1225, 1225, 1225,
2557 1241, 1241, 1241, 1222, 1227, 1227, 1227, 1228, 1228, 1228,
2558 1345, 1228, 1344, 2282, 1228, 1225, 2285, 1212, 1241, 1339,
2559 1213, 1227, 1229, 1229, 1229, 1214, 1231, 1231, 1231, 2286,
2561 1231, 1338, 1335, 1231, 1234, 1234, 1234, 1334, 1328, 1229,
2562 1235, 1235, 1235, 1326, 1235, 1325, 2285, 1235, 1236, 1236,
2563 1236, 1234, 1240, 1240, 1240, 1243, 1243, 1243, 1324, 2286,
2564 1244, 1244, 1244, 1241, 1244, 1236, 1322, 1244, 1321, 1240,
2565 1318, 1317, 1243, 1245, 1245, 1245, 1247, 1247, 1247, 1248,
2566 1248, 1248, 1315, 1248, 1314, 1313, 1248, 1251, 1251, 1251,
2567 1245, 1312, 1310, 1247, 1253, 1253, 1253, 1257, 1257, 1257,
2568 1258, 1258, 1258, 1308, 1258, 1251, 1303, 1258, 1260, 1260,
2569 1260, 1302, 1253, 1301, 1257, 1262, 1262, 1262, 1264, 1264,
2570 1264, 1265, 1265, 1265, 1299, 1298, 1260, 1266, 1266, 1266,
2572 1267, 1267, 1267, 1262, 1297, 1264, 1296, 1293, 1265, 1269,
2573 1269, 1269, 1285, 1253, 1266, 1270, 1270, 1270, 1267, 1271,
2574 1271, 1271, 1272, 1272, 1272, 1280, 1278, 1269, 1279, 1279,
2575 1279, 1277, 1270, 1273, 1262, 1268, 1271, 1274, 1274, 1274,
2576 1272, 1274, 1263, 1261, 1274, 1259, 1279, 1256, 1281, 1281,
2577 1281, 1255, 1254, 1269, 1252, 1282, 1282, 1282, 1266, 1282,
2578 1250, 1249, 1282, 1246, 1267, 1281, 1242, 1283, 1283, 1283,
2579 1239, 1284, 1284, 1284, 1286, 1286, 1286, 1279, 1238, 1287,
2580 1287, 1287, 1237, 1287, 1272, 1283, 1287, 1230, 1226, 1284,
2581 1224, 1286, 1288, 1288, 1288, 1294, 1294, 1294, 1295, 1295,
2583 1295, 1300, 1300, 1300, 1304, 1304, 1304, 1305, 1305, 1305,
2584 1288, 1216, 1294, 1306, 1306, 1306, 1295, 1307, 1307, 1307,
2585 1309, 1309, 1309, 1283, 1284, 1311, 1311, 1311, 1316, 1316,
2586 1316, 1319, 1319, 1319, 1320, 1320, 1320, 1329, 1329, 1329,
2587 1215, 1329, 1209, 1208, 1329, 1207, 1316, 1200, 1197, 1319,
2588 1193, 1320, 1332, 1332, 1332, 1191, 1295, 1333, 1333, 1333,
2589 1336, 1336, 1336, 1337, 1337, 1337, 1347, 1347, 1347, 1190,
2590 1332, 1340, 1340, 1340, 1333, 1340, 1186, 1183, 1340, 1343,
2591 1343, 1343, 1182, 1343, 1347, 1179, 1343, 1319, 1350, 1350,
2592 1350, 1177, 1350, 1176, 1174, 1350, 1332, 1353, 1353, 1353,
2594 1354, 1354, 1354, 1171, 1354, 1170, 1169, 1354, 1356, 1356,
2595 1356, 1168, 1356, 1167, 1353, 1356, 1359, 1359, 1359, 1360,
2596 1360, 1360, 1165, 1360, 1164, 1161, 1360, 1361, 1361, 1361,
2597 1364, 1364, 1364, 1359, 1365, 1365, 1365, 1158, 1365, 1154,
2598 1150, 1365, 1148, 1147, 1361, 1144, 1139, 1364, 1366, 1366,
2599 1366, 1368, 1368, 1368, 1138, 1368, 1133, 1131, 1368, 1371,
2600 1371, 1371, 1127, 1372, 1372, 1372, 1366, 1372, 1126, 1120,
2601 1372, 1374, 1374, 1374, 1111, 1374, 1371, 1110, 1374, 1109,
2602 1379, 1379, 1379, 1382, 1382, 1382, 1384, 1384, 1384, 1386,
2603 1386, 1386, 1107, 1386, 1105, 1104, 1386, 1366, 1379, 1099,
2605 1098, 1382, 1096, 1384, 1390, 1390, 1390, 1393, 1393, 1393,
2606 1395, 1395, 1395, 1396, 1396, 1396, 1094, 1396, 1093, 1092,
2607 1396, 1091, 1390, 1090, 1083, 1393, 1082, 1395, 1080, 1074,
2608 1384, 1397, 1397, 1397, 1398, 1398, 1398, 1073, 1398, 1072,
2609 1071, 1398, 1070, 1067, 1382, 1400, 1400, 1400, 1397, 1402,
2610 1402, 1402, 1403, 1403, 1403, 1404, 1404, 1404, 1066, 1404,
2611 1063, 1058, 1404, 1400, 1405, 1405, 1405, 1402, 1055, 1403,
2612 1406, 1406, 1406, 1046, 1406, 1044, 1043, 1406, 1418, 1418,
2613 1418, 1405, 1407, 1407, 1407, 1411, 1411, 1411, 1413, 1413,
2614 1413, 1040, 1413, 1039, 1037, 1413, 1402, 1416, 1416, 1416,
2616 1407, 1036, 1035, 1411, 1417, 1417, 1417, 1034, 1400, 1419,
2617 1419, 1419, 1033, 1419, 1031, 1416, 1419, 1422, 1422, 1422,
2618 1030, 1026, 1417, 1428, 1428, 1428, 1429, 1429, 1429, 1025,
2619 1429, 1024, 1023, 1429, 1022, 1422, 1430, 1430, 1430, 1020,
2620 1428, 1431, 1431, 1431, 1407, 1019, 1416, 1411, 1434, 1434,
2621 1434, 1435, 1435, 1435, 1430, 1417, 1438, 1438, 1438, 1439,
2622 1439, 1439, 1440, 1440, 1440, 1442, 1442, 1442, 1443, 1443,
2623 1443, 1445, 1445, 1445, 1448, 1448, 1448, 1452, 1452, 1452,
2624 1018, 1453, 1453, 1453, 1454, 1454, 1454, 1017, 1454, 1008,
2625 1004, 1454, 1448, 992, 991, 1452, 986, 1430, 1453, 1465,
2627 1465, 1465, 1466, 1466, 1466, 1467, 1467, 1467, 985, 1467,
2628 983, 976, 1467, 1468, 1468, 1468, 975, 1465, 965, 1466,
2629 1470, 1470, 1470, 1477, 1477, 1477, 960, 1477, 957, 956,
2630 1477, 1481, 1481, 1481, 953, 1481, 948, 939, 1481, 1484,
2631 1484, 1484, 938, 1485, 1485, 1485, 1465, 1485, 937, 933,
2632 1485, 1488, 1488, 1488, 925, 1488, 1484, 920, 1488, 1491,
2633 1491, 1491, 1493, 1493, 1493, 919, 1493, 918, 912, 1493,
2634 1500, 1500, 1500, 1502, 1502, 1502, 911, 1491, 1503, 1503,
2635 1503, 910, 1503, 909, 904, 1503, 903, 902, 1500, 901,
2636 1502, 1510, 1510, 1510, 1513, 1513, 1513, 900, 1513, 899,
2638 889, 1513, 888, 1516, 1516, 1516, 887, 1516, 886, 1510,
2639 1516, 1520, 1520, 1520, 1522, 1522, 1522, 1523, 1523, 1523,
2640 1491, 1523, 881, 880, 1523, 875, 1526, 1526, 1526, 1520,
2641 1526, 874, 1522, 1526, 1529, 1529, 1529, 1530, 1530, 1530,
2642 1533, 1533, 1533, 1535, 1535, 1535, 1536, 1536, 1536, 1537,
2643 1537, 1537, 1529, 873, 1530, 1538, 1538, 1538, 1533, 872,
2644 1520, 1535, 871, 870, 1536, 1541, 1541, 1541, 1529, 1545,
2645 1545, 1545, 869, 1538, 1542, 1542, 1542, 1522, 1542, 868,
2646 867, 1542, 1546, 1546, 1546, 862, 854, 1545, 1547, 1547,
2647 1547, 1549, 1549, 1549, 1550, 1550, 1550, 1551, 1551, 1551,
2649 1535, 852, 1533, 1552, 1552, 1552, 1554, 1554, 1554, 1556,
2650 1556, 1556, 1559, 1559, 1559, 1561, 1561, 1561, 846, 1563,
2651 1563, 1563, 837, 1563, 832, 1545, 1563, 825, 824, 1559,
2652 1576, 1576, 1576, 1561, 1577, 1577, 1577, 823, 1577, 821,
2653 820, 1577, 1580, 1580, 1580, 1591, 1591, 1591, 1576, 1591,
2654 819, 818, 1591, 1596, 1596, 1596, 1602, 1602, 1602, 1604,
2655 1604, 1604, 1605, 1605, 1605, 816, 1605, 815, 814, 1605,
2656 813, 1596, 812, 811, 1602, 810, 1604, 1616, 1616, 1616,
2657 1618, 1618, 1618, 1619, 1619, 1619, 809, 808, 1576, 1620,
2658 1620, 1620, 1621, 1621, 1621, 1622, 1622, 1622, 1618, 802,
2660 1619, 801, 800, 1604, 1623, 1623, 1623, 1620, 1623, 797,
2661 1621, 1623, 1622, 1624, 1624, 1624, 1626, 1626, 1626, 1627,
2662 1627, 1627, 1628, 1628, 1628, 1629, 1629, 1629, 796, 795,
2663 1624, 1631, 1631, 1631, 1626, 1634, 1634, 1634, 793, 789,
2664 1628, 786, 783, 1629, 776, 775, 1620, 772, 771, 1631,
2665 1621, 1635, 1635, 1635, 1636, 1636, 1636, 1638, 1638, 1638,
2666 1639, 1639, 1639, 1643, 1643, 1643, 1644, 1644, 1644, 1635,
2667 1644, 770, 769, 1644, 1656, 1656, 1656, 1664, 1664, 1664,
2668 1643, 1668, 1668, 1668, 759, 1628, 1669, 1669, 1669, 752,
2669 1631, 744, 1656, 743, 1664, 1674, 1674, 1674, 1668, 1676,
2671 1676, 1676, 742, 739, 1669, 734, 1677, 1677, 1677, 731,
2672 1677, 730, 1674, 1677, 729, 725, 1676, 1685, 1685, 1685,
2673 1687, 1687, 1687, 1689, 1689, 1689, 1691, 1691, 1691, 723,
2674 720, 1656, 719, 718, 1685, 1692, 1692, 1692, 717, 1692,
2675 716, 1689, 1692, 1691, 1693, 1693, 1693, 1694, 1694, 1694,
2676 1695, 1695, 1695, 715, 1695, 711, 707, 1695, 1698, 1698,
2677 1698, 704, 1693, 703, 700, 1694, 1699, 1699, 1699, 699,
2678 1699, 698, 697, 1699, 696, 1698, 1700, 1700, 1700, 1701,
2679 1701, 1701, 1703, 1703, 1703, 1704, 1704, 1704, 1708, 1708,
2680 1708, 694, 693, 1700, 1775, 1775, 1775, 1701, 1713, 1713,
2682 1713, 692, 691, 1704, 687, 682, 1708, 1728, 1728, 1728,
2683 681, 1694, 1714, 1714, 1714, 1713, 1714, 680, 679, 1714,
2684 1731, 1731, 1731, 676, 674, 1728, 1734, 1734, 1734, 1735,
2685 1735, 1735, 670, 1735, 666, 665, 1735, 1731, 1739, 1739,
2686 1739, 662, 661, 1734, 1740, 1740, 1740, 660, 1740, 659,
2687 658, 1740, 1742, 1742, 1742, 1739, 1744, 1744, 1744, 1745,
2688 1745, 1745, 656, 1745, 1728, 655, 1745, 654, 653, 1742,
2689 1746, 1746, 1746, 1744, 1747, 1747, 1747, 652, 1747, 651,
2690 650, 1747, 1755, 1755, 1755, 649, 648, 1746, 1756, 1756,
2691 1756, 647, 1756, 646, 645, 1756, 1757, 1757, 1757, 1755,
2693 1758, 1758, 1758, 1759, 1759, 1759, 644, 1759, 640, 639,
2694 1759, 637, 636, 1757, 1762, 1762, 1762, 1758, 1764, 1764,
2695 1764, 1765, 1765, 1765, 635, 1765, 634, 633, 1765, 1768,
2696 1768, 1768, 1762, 1769, 1769, 1769, 1764, 1769, 629, 627,
2697 1769, 1770, 1770, 1770, 626, 625, 1768, 1778, 1778, 1778,
2698 1779, 1779, 1779, 624, 1779, 619, 615, 1779, 614, 1770,
2699 1795, 1795, 1795, 611, 1778, 1796, 1796, 1796, 1797, 1797,
2700 1797, 1798, 1798, 1798, 610, 1799, 1799, 1799, 1795, 1799,
2701 609, 1764, 1799, 608, 607, 1797, 606, 603, 1798, 1800,
2702 1800, 1800, 602, 1800, 601, 600, 1800, 1806, 1806, 1806,
2704 597, 1806, 595, 592, 1806, 1810, 1810, 1810, 591, 1795,
2705 590, 589, 1797, 1811, 1811, 1811, 588, 1811, 585, 584,
2706 1811, 583, 1810, 1813, 1813, 1813, 582, 1813, 581, 578,
2707 1813, 1816, 1816, 1816, 1817, 1817, 1817, 577, 1817, 576,
2708 575, 1817, 1819, 1819, 1819, 1821, 1821, 1821, 1816, 1821,
2709 573, 570, 1821, 1824, 1824, 1824, 1825, 1825, 1825, 1819,
2710 1825, 568, 565, 1825, 1826, 1826, 1826, 1827, 1827, 1827,
2711 1824, 1827, 564, 563, 1827, 1834, 1834, 1834, 1835, 1835,
2712 1835, 1826, 1835, 562, 561, 1835, 1840, 1840, 1840, 1841,
2713 1841, 1841, 559, 1834, 1844, 1844, 1844, 558, 1844, 557,
2715 554, 1844, 553, 1840, 1840, 1851, 1851, 1851, 1860, 1860,
2716 1860, 1861, 1861, 1861, 1862, 1862, 1862, 1880, 1880, 1880,
2717 552, 551, 1851, 550, 1834, 549, 1860, 548, 1863, 1863,
2718 1863, 1862, 1863, 547, 1880, 1863, 1865, 1865, 1865, 545,
2719 1865, 543, 542, 1865, 1872, 1872, 1872, 539, 1872, 538,
2720 537, 1872, 1876, 1876, 1876, 1860, 1876, 534, 529, 1876,
2721 1881, 1881, 1881, 527, 1881, 526, 525, 1881, 1883, 1883,
2722 1883, 524, 1883, 523, 522, 1883, 1886, 1886, 1886, 518,
2723 1886, 517, 516, 1886, 1895, 1895, 1895, 1897, 1897, 1897,
2724 1898, 1898, 1898, 1899, 1899, 1899, 515, 1899, 511, 510,
2726 1899, 509, 1895, 508, 1897, 1897, 507, 1898, 1898, 505,
2727 502, 1899, 1900, 1900, 1900, 1901, 1901, 1901, 1906, 1906,
2728 1906, 1907, 1907, 1907, 501, 1907, 499, 497, 1907, 1916,
2729 1916, 1916, 1917, 1917, 1917, 1906, 1917, 492, 489, 1917,
2730 1923, 1923, 1923, 1925, 1925, 1925, 487, 1916, 1926, 1926,
2731 1926, 1927, 1927, 1927, 484, 1927, 483, 1923, 1927, 481,
2732 1925, 1930, 1930, 1930, 480, 1926, 1945, 1945, 1945, 1948,
2733 1948, 1948, 1949, 1949, 1949, 479, 1949, 478, 1930, 1949,
2734 477, 1950, 1950, 1950, 1945, 1950, 1948, 1948, 1950, 474,
2735 1949, 473, 1916, 1953, 1953, 1953, 1954, 1954, 1954, 1950,
2737 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 472,
2738 471, 1951, 1968, 1968, 1968, 470, 1951, 1951, 1951, 1951,
2739 1951, 1959, 1959, 1959, 464, 1959, 463, 461, 1959, 455,
2740 1968, 454, 450, 446, 442, 438, 432, 1972, 1972, 1972,
2741 1975, 1975, 1975, 1951, 1951, 1952, 1952, 1952, 1952, 1952,
2742 1952, 1952, 1952, 1952, 1972, 428, 1952, 1975, 424, 420,
2743 419, 1952, 1952, 1952, 1952, 1952, 1973, 1973, 1973, 418,
2744 1973, 417, 413, 1973, 1976, 1976, 1976, 409, 1976, 406,
2745 405, 1976, 1977, 1977, 1977, 1979, 1979, 1979, 1952, 1952,
2746 1978, 1978, 1978, 404, 1978, 400, 394, 1978, 393, 1977,
2748 389, 385, 1979, 1980, 1980, 1980, 381, 1980, 380, 376,
2749 1980, 1994, 1994, 1994, 373, 1994, 372, 367, 1994, 363,
2750 355, 2009, 2009, 2009, 2045, 2045, 2045, 354, 353, 1994,
2751 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 2009,
2752 349, 1997, 2045, 2045, 343, 342, 1997, 1997, 1997, 1997,
2753 1997, 2014, 2014, 2014, 338, 2014, 331, 330, 2014, 2018,
2754 2018, 2018, 329, 2018, 328, 327, 2018, 2052, 2052, 2052,
2755 2053, 2053, 2053, 1997, 1997, 1998, 1998, 1998, 1998, 1998,
2756 1998, 1998, 1998, 1998, 2052, 326, 1998, 2053, 322, 315,
2757 313, 1998, 1998, 1998, 1998, 1998, 2021, 2021, 2021, 312,
2759 2021, 311, 309, 2021, 2024, 2024, 2024, 305, 2024, 298,
2760 297, 2024, 2054, 2054, 2054, 2059, 2059, 2059, 1998, 1998,
2761 2072, 2072, 2072, 2076, 2076, 2076, 2079, 2079, 2079, 2054,
2762 296, 295, 2059, 2080, 2080, 2080, 294, 2080, 2072, 290,
2763 2080, 2076, 286, 2079, 2081, 2081, 2081, 2082, 2082, 2082,
2764 280, 2082, 278, 273, 2082, 272, 2083, 2083, 2083, 268,
2765 262, 2081, 2084, 2084, 2084, 261, 2084, 260, 256, 2084,
2766 248, 246, 2076, 2083, 2091, 2091, 2091, 2092, 2092, 2092,
2767 245, 2092, 241, 238, 2092, 2103, 2103, 2103, 2107, 2107,
2768 2107, 2091, 2107, 236, 235, 2107, 234, 2110, 2110, 2110,
2770 230, 2110, 227, 2103, 2110, 2113, 2113, 2113, 226, 2113,
2771 223, 219, 2113, 215, 2122, 2122, 2122, 211, 2122, 210,
2772 2103, 2122, 2235, 2235, 2235, 2246, 2246, 2246, 209, 2246,
2773 203, 202, 2246, 2289, 2289, 2289, 2290, 2290, 2290, 200,
2774 2235, 197, 185, 2246, 0, 0, 0, 0, 0, 0,
2775 0, 2289, 0, 0, 2290, 2293, 2293, 2293, 2293, 2293,
2776 2293, 2293, 2293, 2293, 2294, 2294, 2294, 2294, 2294, 2294,
2777 2294, 2294, 2294, 2295, 2295, 2295, 2295, 2295, 2295, 2295,
2778 2295, 2295, 2296, 2296, 2296, 2296, 2296, 2296, 2296, 2296,
2779 2296, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297, 2297,
2781 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2298, 2299,
2782 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2299, 2300, 2300,
2783 2300, 2300, 2300, 2300, 2300, 2300, 2300, 2301, 2301, 2301,
2784 2301, 2301, 2301, 2301, 2301, 2301, 2302, 2302, 2302, 2302,
2785 2302, 2302, 2302, 2302, 2302, 2303, 2303, 2303, 2303, 2303,
2786 2303, 2303, 2303, 2303, 2304, 2304, 2304, 2304, 2304, 2304,
2787 2304, 2304, 2304, 2305, 2305, 2305, 2305, 2305, 2305, 2305,
2788 2305, 2305, 2306, 2306, 2306, 2306, 2306, 2306, 2306, 2306,
2789 2306, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307, 2307,
2790 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2309,
2792 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2309, 2310, 2310,
2793 2310, 2310, 2310, 2310, 2310, 2310, 2310, 2311, 2311, 2311,
2794 2311, 2311, 2311, 2311, 2311, 2311, 2312, 2312, 2312, 2312,
2795 2312, 2312, 2312, 2312, 2312, 2313, 2313, 2313, 2313, 2313,
2796 2313, 2313, 2313, 2313, 2314, 2314, 2314, 2314, 2314, 2314,
2797 2314, 2314, 2314, 2315, 2315, 2315, 2315, 2315, 2315, 2315,
2798 2315, 2315, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316,
2799 2316, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317, 2317,
2800 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2319,
2801 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2320, 2320,
2803 2320, 2320, 2320, 2320, 2320, 2320, 2320, 2321, 2321, 2321,
2804 2321, 2321, 2321, 2321, 2321, 2321, 2322, 2322, 2322, 2322,
2805 2322, 2322, 2322, 2322, 2322, 2323, 2323, 2323, 2323, 2323,
2806 2323, 2323, 2323, 2323, 2324, 2324, 2324, 2324, 2324, 2324,
2807 2324, 2324, 2324, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2808 2325, 2325, 2326, 2326, 2326, 2326, 2326, 2326, 2326, 2326,
2809 2326, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327, 2327,
2810 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2328, 2329,
2811 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2329, 2330, 2330,
2812 2330, 2330, 2330, 2330, 2330, 2330, 2330, 2331, 2331, 2331,
2814 2331, 2331, 2331, 2331, 2331, 2331, 2332, 2332, 2332, 2332,
2815 2332, 2332, 2332, 2332, 2332, 2333, 2333, 2333, 0, 0,
2816 0, 2333, 2334, 2334, 2334, 0, 0, 0, 2334, 2335,
2817 2335, 2335, 0, 0, 0, 2335, 2336, 2336, 2336, 0,
2818 0, 0, 2336, 2337, 2337, 2337, 0, 0, 0, 2337,
2819 2338, 2338, 2338, 0, 0, 0, 2338, 2339, 2339, 2339,
2820 0, 0, 0, 2339, 2340, 2340, 2340, 0, 0, 0,
2821 2340, 2341, 2341, 2341, 0, 0, 0, 2341, 2342, 2342,
2822 2342, 0, 0, 0, 2342, 2343, 2343, 2343, 0, 0,
2823 0, 2343, 2344, 2344, 2344, 0, 0, 0, 2344, 2345,
2825 2345, 2345, 0, 0, 0, 2345, 2346, 2346, 2346, 0,
2826 0, 0, 2346, 2347, 2347, 2347, 0, 0, 0, 2347,
2827 2348, 2348, 2348, 0, 0, 0, 2348, 2349, 2349, 2349,
2828 0, 0, 0, 2349, 2350, 2350, 2350, 0, 0, 0,
2829 2350, 2351, 2351, 2351, 2351, 2351, 2351, 2351, 0, 2351,
2830 2352, 2352, 2352, 0, 0, 0, 2352, 2353, 0, 0,
2831 0, 2353, 2354, 2354, 2354, 0, 0, 0, 2354, 2355,
2832 0, 0, 0, 2355, 2356, 2356, 2356, 0, 0, 0,
2833 2356, 2357, 0, 0, 0, 2357, 2358, 2358, 2358, 0,
2834 0, 0, 2358, 2359, 0, 0, 0, 2359, 2360, 2360,
2836 2360, 0, 0, 0, 2360, 2361, 0, 0, 0, 2361,
2837 2362, 0, 0, 0, 2362, 2363, 2363, 2363, 0, 0,
2838 0, 2363, 2364, 0, 0, 0, 2364, 2365, 2365, 2365,
2839 0, 0, 0, 2365, 2366, 0, 0, 0, 2366, 2367,
2840 2367, 2367, 0, 0, 0, 2367, 2368, 0, 0, 0,
2841 2368, 2369, 2369, 2369, 0, 0, 0, 2369, 2370, 0,
2842 0, 0, 2370, 2371, 2371, 2371, 0, 0, 0, 2371,
2843 2372, 0, 0, 0, 2372, 2373, 2373, 2373, 0, 0,
2844 0, 2373, 2374, 0, 0, 0, 2374, 2375, 2375, 2375,
2845 0, 0, 0, 2375, 2376, 0, 0, 0, 2376, 2377,
2847 2377, 2377, 0, 0, 0, 2377, 2378, 0, 0, 0,
2848 2378, 2379, 2379, 2379, 0, 0, 0, 2379, 2380, 0,
2849 0, 0, 2380, 2381, 2381, 2381, 0, 0, 0, 2381,
2850 2382, 0, 0, 0, 2382, 2383, 2383, 2383, 0, 0,
2851 0, 2383, 2384, 0, 0, 0, 2384, 2385, 2385, 2385,
2852 0, 0, 0, 2385, 2386, 0, 0, 0, 2386, 2387,
2853 2387, 2387, 2387, 2387, 2387, 2387, 2387, 2387, 2388, 0,
2854 0, 0, 0, 2388, 2389, 2389, 2389, 0, 0, 0,
2855 2389, 2390, 2390, 2390, 2390, 0, 0, 2390, 2390, 2391,
2856 2391, 2391, 0, 0, 0, 2391, 2392, 2392, 2392, 2392,
2858 0, 0, 2392, 2392, 2393, 2393, 2393, 0, 0, 0,
2859 2393, 2394, 2394, 2394, 2394, 0, 0, 2394, 2394, 2395,
2860 2395, 2395, 0, 0, 0, 2395, 2396, 2396, 2396, 2396,
2861 0, 0, 2396, 2396, 2397, 2397, 2397, 0, 0, 0,
2862 2397, 2398, 2398, 2398, 2398, 0, 0, 2398, 2398, 2399,
2863 2399, 2399, 0, 0, 0, 2399, 2400, 2400, 2400, 2400,
2864 0, 0, 2400, 2400, 2401, 2401, 2401, 0, 0, 0,
2865 2401, 2402, 2402, 2402, 2402, 0, 0, 2402, 2402, 2403,
2866 2403, 2403, 0, 0, 0, 2403, 2404, 2404, 2404, 2404,
2867 0, 0, 2404, 2404, 2405, 2405, 2405, 0, 0, 0,
2869 2405, 2406, 2406, 2406, 2406, 0, 0, 2406, 2406, 2407,
2870 2407, 2407, 0, 0, 0, 2407, 2408, 2408, 2408, 2408,
2871 0, 0, 2408, 2408, 2409, 2409, 2409, 2409, 0, 2409,
2872 0, 2409, 2410, 2410, 2410, 2410, 0, 0, 2410, 2410,
2873 2411, 2411, 2411, 2411, 0, 2411, 0, 2411, 2412, 2412,
2874 2412, 2412, 0, 0, 2412, 2412, 2413, 2413, 2413, 0,
2875 0, 0, 2413, 2414, 2414, 2414, 2414, 0, 0, 2414,
2876 2414, 2415, 2415, 2415, 2415, 0, 2415, 0, 2415, 2416,
2877 2416, 2416, 2416, 0, 0, 2416, 2416, 2417, 2417, 2417,
2878 0, 0, 0, 2417, 2418, 2418, 2418, 2418, 0, 0,
2880 2418, 2418, 2419, 2419, 2419, 0, 0, 0, 2419, 2420,
2881 2420, 2420, 2420, 0, 0, 2420, 2420, 2421, 2421, 2421,
2882 2421, 0, 0, 2421, 2421, 2422, 2422, 2422, 0, 0,
2883 0, 2422, 2423, 2423, 2423, 2423, 0, 0, 2423, 2423,
2884 2424, 2424, 2424, 2424, 2424, 2424, 2424, 2424, 2424, 2425,
2885 0, 2425, 0, 0, 2425, 2426, 2426, 2426, 0, 0,
2886 0, 2426, 2427, 2427, 2427, 2427, 0, 0, 2427, 2427,
2887 2428, 2428, 2428, 2428, 0, 2428, 0, 2428, 2429, 2429,
2888 2429, 2429, 0, 0, 2429, 2429, 2430, 2430, 2430, 0,
2889 0, 0, 2430, 2431, 2431, 2431, 2431, 0, 0, 2431,
2891 2431, 2432, 2432, 2432, 0, 0, 0, 2432, 2433, 2433,
2892 2433, 2433, 0, 0, 2433, 2433, 2434, 2434, 2434, 0,
2893 0, 0, 2434, 2435, 2435, 2435, 2435, 0, 0, 2435,
2894 2435, 2436, 2436, 2436, 0, 0, 0, 2436, 2437, 2437,
2895 2437, 2437, 0, 0, 2437, 2437, 2438, 2438, 2438, 0,
2896 0, 0, 2438, 2439, 2439, 2439, 2439, 0, 0, 2439,
2897 2439, 2440, 2440, 2440, 0, 0, 0, 2440, 2441, 2441,
2898 2441, 2441, 0, 0, 2441, 2441, 2442, 2442, 2442, 0,
2899 0, 0, 2442, 2443, 2443, 2443, 2443, 0, 0, 2443,
2900 2443, 2444, 2444, 2444, 0, 0, 0, 2444, 2445, 2445,
2902 2445, 2445, 0, 0, 2445, 2445, 2446, 2446, 2446, 0,
2903 0, 0, 2446, 2447, 2447, 2447, 2447, 0, 0, 2447,
2904 2447, 2448, 2448, 2448, 0, 0, 0, 2448, 2449, 2449,
2905 2449, 2449, 0, 0, 2449, 2449, 2450, 2450, 2450, 0,
2906 0, 0, 2450, 2451, 2451, 2451, 2451, 0, 0, 2451,
2907 2451, 2452, 2452, 2452, 0, 0, 0, 2452, 2453, 2453,
2908 2453, 2453, 0, 0, 2453, 2453, 2454, 2454, 2454, 0,
2909 0, 0, 2454, 2455, 2455, 2455, 2455, 0, 0, 2455,
2910 2455, 2456, 2456, 2456, 0, 0, 0, 2456, 2457, 2457,
2911 2457, 2457, 0, 0, 2457, 2457, 2458, 2458, 2458, 2458,
2913 0, 0, 2458, 2458, 2459, 2459, 2459, 0, 0, 0,
2914 2459, 2460, 2460, 2460, 2460, 0, 0, 2460, 2460, 2461,
2915 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2462, 2462,
2916 2462, 2462, 2462, 2462, 2462, 2462, 2462, 2463, 2463, 2463,
2917 0, 0, 0, 2463, 2464, 2464, 2464, 2464, 0, 0,
2918 2464, 2464, 2465, 2465, 2465, 0, 0, 0, 2465, 2466,
2919 2466, 2466, 2466, 0, 0, 2466, 2466, 2467, 2467, 2467,
2920 0, 0, 0, 2467, 2468, 2468, 2468, 2468, 0, 0,
2921 2468, 2468, 2469, 2469, 2469, 0, 0, 0, 2469, 2470,
2922 2470, 2470, 2470, 0, 0, 2470, 2470, 2471, 2471, 2471,
2924 0, 0, 0, 2471, 2472, 2472, 2472, 0, 0, 0,
2925 2472, 2473, 2473, 2473, 2473, 0, 0, 2473, 2473, 2474,
2926 2474, 2474, 0, 0, 0, 2474, 2475, 2475, 2475, 2475,
2927 0, 0, 2475, 2475, 2476, 2476, 2476, 0, 0, 0,
2928 2476, 2477, 2477, 2477, 2477, 0, 0, 2477, 2477, 2478,
2929 2478, 2478, 0, 0, 0, 2478, 2479, 2479, 2479, 2479,
2930 0, 0, 2479, 2479, 2480, 2480, 2480, 0, 0, 0,
2931 2480, 2481, 2481, 2481, 2481, 0, 0, 2481, 2481, 2482,
2932 2482, 2482, 0, 0, 0, 2482, 2483, 2483, 2483, 2483,
2933 0, 0, 2483, 2483, 2484, 2484, 2484, 0, 0, 0,
2935 2484, 2485, 2485, 2485, 2485, 0, 0, 2485, 2485, 2486,
2936 2486, 2486, 0, 0, 0, 2486, 2487, 2487, 2487, 2487,
2937 0, 0, 2487, 2487, 2488, 2488, 2488, 0, 0, 0,
2938 2488, 2489, 2489, 2489, 2489, 0, 0, 2489, 2489, 2490,
2939 2490, 2490, 0, 0, 0, 2490, 2491, 2491, 2491, 2491,
2940 0, 0, 2491, 2491, 2492, 2492, 2492, 2492, 0, 2492,
2941 0, 2492, 2493, 2493, 2493, 2493, 0, 0, 2493, 2493,
2942 2494, 2494, 2494, 2494, 0, 0, 2494, 2494, 2495, 2495,
2943 2495, 2495, 0, 2495, 0, 2495, 2496, 2496, 2496, 2496,
2944 0, 0, 2496, 2496, 2497, 2497, 2497, 2497, 2497, 2497,
2946 2497, 2497, 2497, 2498, 2498, 2498, 2498, 2498, 2498, 2498,
2947 2498, 2498, 2499, 2499, 2499, 0, 0, 0, 2499, 2500,
2948 2500, 2500, 2500, 0, 0, 2500, 2500, 2501, 2501, 2501,
2949 0, 0, 0, 2501, 2502, 2502, 2502, 2502, 0, 0,
2950 2502, 2502, 2503, 2503, 2503, 0, 0, 0, 2503, 2504,
2951 2504, 2504, 2504, 0, 0, 2504, 2504, 2505, 2505, 2505,
2952 0, 0, 0, 2505, 2506, 2506, 2506, 2506, 0, 0,
2953 2506, 2506, 2507, 2507, 2507, 0, 0, 0, 2507, 2508,
2954 2508, 2508, 0, 0, 0, 2508, 2509, 2509, 2509, 2509,
2955 0, 0, 2509, 2509, 2510, 2510, 2510, 0, 0, 0,
2957 2510, 2511, 2511, 2511, 2511, 0, 0, 2511, 2511, 2512,
2958 2512, 2512, 0, 0, 0, 2512, 2513, 2513, 2513, 2513,
2959 0, 0, 2513, 2513, 2514, 2514, 2514, 0, 0, 0,
2960 2514, 2515, 2515, 2515, 2515, 0, 0, 2515, 2515, 2516,
2961 2516, 2516, 0, 0, 0, 2516, 2517, 2517, 2517, 2517,
2962 0, 0, 2517, 2517, 2518, 2518, 2518, 0, 0, 0,
2963 2518, 2519, 2519, 2519, 2519, 0, 0, 2519, 2519, 2520,
2964 2520, 2520, 2520, 0, 2520, 0, 2520, 2521, 2521, 2521,
2965 2521, 0, 0, 2521, 2521, 2522, 2522, 2522, 0, 0,
2966 0, 2522, 2523, 2523, 2523, 2523, 0, 0, 2523, 2523,
2968 2524, 2524, 2524, 2524, 0, 2524, 0, 2524, 2525, 2525,
2969 2525, 2525, 0, 0, 2525, 2525, 2526, 2526, 2526, 0,
2970 0, 0, 2526, 2527, 2527, 2527, 2527, 0, 0, 2527,
2971 2527, 2528, 2528, 2528, 2528, 0, 0, 2528, 2528, 2529,
2972 2529, 2529, 2529, 0, 0, 2529, 2529, 2530, 2530, 2530,
2973 2530, 0, 0, 2530, 2530, 2531, 2531, 2531, 2531, 2531,
2974 2531, 2531, 2531, 2531, 2532, 2532, 2532, 2532, 2532, 2532,
2975 2532, 2532, 2532, 2533, 2533, 2533, 2533, 0, 2533, 0,
2976 2533, 2534, 2534, 2534, 2534, 0, 0, 2534, 2534, 2535,
2977 2535, 2535, 0, 0, 0, 2535, 2536, 2536, 2536, 2536,
2979 0, 0, 2536, 2536, 2537, 2537, 2537, 0, 0, 0,
2980 2537, 2538, 2538, 2538, 2538, 0, 0, 2538, 2538, 2539,
2981 2539, 2539, 2539, 0, 2539, 0, 2539, 2540, 2540, 2540,
2982 2540, 0, 0, 2540, 2540, 2541, 2541, 2541, 2541, 0,
2983 2541, 0, 2541, 2542, 2542, 2542, 0, 0, 0, 2542,
2984 2543, 2543, 2543, 0, 0, 0, 2543, 2544, 2544, 2544,
2985 2544, 0, 0, 2544, 2544, 2545, 2545, 2545, 0, 0,
2986 0, 2545, 2546, 2546, 2546, 0, 0, 0, 2546, 2547,
2987 2547, 2547, 2547, 0, 0, 2547, 2547, 2548, 2548, 2548,
2988 0, 0, 0, 2548, 2549, 2549, 2549, 0, 0, 0,
2990 2549, 2550, 2550, 2550, 2550, 0, 0, 2550, 2550, 2551,
2991 2551, 2551, 0, 0, 0, 2551, 2552, 2552, 2552, 2552,
2992 0, 0, 2552, 2552, 2553, 2553, 2553, 0, 0, 0,
2993 2553, 2554, 2554, 2554, 2554, 0, 0, 2554, 2554, 2555,
2994 2555, 2555, 2555, 0, 0, 2555, 2555, 2556, 2556, 2556,
2995 0, 0, 0, 2556, 2557, 2557, 2557, 2557, 0, 0,
2996 2557, 2557, 2558, 2558, 2558, 2558, 0, 0, 2558, 2558,
2997 2559, 2559, 2559, 2559, 0, 0, 2559, 2559, 2560, 2560,
2998 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2561, 2561, 2561,
2999 2561, 2561, 2561, 2561, 2561, 2561, 2562, 2562, 2562, 2562,
3001 2562, 2562, 2562, 2562, 2562, 2563, 2563, 2563, 2563, 2563,
3002 2563, 2563, 2563, 2563, 2564, 2564, 2564, 2564, 2564, 2564,
3003 2564, 2564, 2564, 2565, 2565, 2565, 2565, 2565, 2565, 2565,
3004 2565, 2565, 2566, 2566, 2566, 2566, 2566, 2566, 2566, 2566,
3005 2566, 2567, 2567, 2567, 2567, 2567, 2567, 2567, 2567, 2567,
3006 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
3007 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
3008 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
3009 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
3010 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
3012 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
3013 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292,
3017 /* Table of booleans, true if rule could match eol. */
3018 static yyconst flex_int32_t yy_rule_can_match_eol[389] =
3020 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3021 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3022 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3023 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3024 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3025 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3026 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3027 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3028 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3029 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3030 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3031 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3032 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3033 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3034 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3035 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3036 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0,
3037 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3038 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
3039 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3041 static yy_state_type yy_last_accepting_state;
3042 static char *yy_last_accepting_cpos;
3044 extern int surf_parse__flex_debug;
3045 int surf_parse__flex_debug = 0;
3047 /* The intent behind this definition is that it'll catch
3048 * any uses of REJECT which flex missed.
3050 #define REJECT reject_used_but_not_detected
3051 #define yymore() yymore_used_but_not_detected
3052 #define YY_MORE_ADJ 0
3053 #define YY_RESTORE_YY_MORE_OFFSET
3054 char *surf_parse_text;
3055 /* Validating XML processor for src/surf/simgrid.dtd.
3056 * Generated 2010/12/08 16:11:56.
3058 * This program was generated with the FleXML XML processor generator.
3059 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3060 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3061 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3063 * There are two, intertwined parts to this program, part A and part B.
3068 * Some parts, here collectively called "Part A", are found in the
3069 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3070 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3072 * You can redistribute, use, perform, display and/or modify "Part A"
3073 * provided the following two conditions hold:
3075 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3076 * FleXML; without even the implied warranty of MERCHANTABILITY or
3077 * FITNESS FOR A PARTICULAR PURPOSE.
3079 * 2. The program distribution conditions do not in any way affect the
3080 * distribution conditions of the FleXML system used to generate this
3081 * file or any version of FleXML derived from that system.
3083 * Notice that these are explicit rights granted to you for files
3084 * generated by the FleXML system. For your rights in connection with
3085 * the FleXML system itself please consult the GNU General Public License.
3090 * The other parts, here collectively called "Part B", and which came
3091 * from the DTD used by FleXML to generate this program, can be
3092 * distributed (or not, as the case may be) under the terms of whoever
3093 * wrote them, provided these terms respect and obey the two conditions
3094 * above under the heading "Part A".
3096 * The author of and contributors to FleXML specifically disclaim
3097 * any copyright interest in "Part B", unless "Part B" was written
3098 * by the author of or contributors to FleXML.
3102 /* Version strings. */
3103 const char rcs_surfxml_flexml_skeleton[] =
3104 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3105 const char rcs_surfxml_flexml[] =
3106 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3109 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3116 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3117 # ifndef __STRICT_ANSI__
3119 # include <process.h>
3122 # include <unistd.h>
3125 #ifndef FLEXML_INDEXSTACKSIZE
3126 #define FLEXML_INDEXSTACKSIZE 1000
3129 /* Generated definitions. */
3130 #define FLEXML_yylineno
3131 #ifndef FLEXML_BUFFERSTACKSIZE
3132 #define FLEXML_BUFFERSTACKSIZE 1000000
3134 #define FLEXML_NEED_BUFFERLIT
3136 /* XML processor api. */
3137 /* FleXML-provided data. */
3138 int surfxml_pcdata_ix;
3139 extern char *surfxml_bufferstack;
3140 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3141 AT_surfxml_random_generator AX_surfxml_random_generator;
3142 #define A_surfxml_random_generator AX_surfxml_random_generator
3143 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3144 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3145 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3146 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3147 AT_surfxml_prop_id AX_surfxml_prop_id;
3148 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3149 AT_surfxml_host_id AX_surfxml_host_id;
3150 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3151 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3152 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3153 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3154 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3155 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3156 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3157 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3158 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3159 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3160 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3161 AT_surfxml_host_state AX_surfxml_host_state;
3162 #define A_surfxml_host_state AX_surfxml_host_state
3163 AT_surfxml_AS_id AX_surfxml_AS_id;
3164 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3165 AT_surfxml_host_power AX_surfxml_host_power;
3166 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3167 AT_surfxml_router_id AX_surfxml_router_id;
3168 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3169 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3170 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3171 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3172 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3173 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3174 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3175 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3176 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3177 AT_surfxml_trace_file AX_surfxml_trace_file;
3178 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3179 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3180 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3181 AT_surfxml_random_min AX_surfxml_random_min;
3182 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3183 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3184 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3185 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3186 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3187 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3188 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3189 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3190 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3191 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3192 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3193 AT_surfxml_argument_value AX_surfxml_argument_value;
3194 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3195 AT_surfxml_link_state AX_surfxml_link_state;
3196 #define A_surfxml_link_state AX_surfxml_link_state
3197 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3198 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3199 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3200 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3201 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3202 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3203 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3204 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3205 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3206 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3207 AT_surfxml_random_mean AX_surfxml_random_mean;
3208 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3209 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3210 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3211 AT_surfxml_link_latency AX_surfxml_link_latency;
3212 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3213 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3214 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3215 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3216 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3217 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3218 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3219 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3220 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3221 AT_surfxml_random_id AX_surfxml_random_id;
3222 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3223 AT_surfxml_random_max AX_surfxml_random_max;
3224 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3225 AT_surfxml_link_id AX_surfxml_link_id;
3226 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3227 AT_surfxml_process_host AX_surfxml_process_host;
3228 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3229 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3230 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3231 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3232 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3233 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3234 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3235 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3236 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3237 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3238 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3239 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3240 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3241 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3242 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3243 AT_surfxml_prop_value AX_surfxml_prop_value;
3244 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3245 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3246 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3247 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3248 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3249 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3250 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3251 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3252 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3253 AT_surfxml_process_function AX_surfxml_process_function;
3254 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3255 AT_surfxml_peer_id AX_surfxml_peer_id;
3256 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3257 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3258 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3259 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3260 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3261 AT_surfxml_host_core AX_surfxml_host_core;
3262 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3263 AT_surfxml_host_availability AX_surfxml_host_availability;
3264 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3265 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3266 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3267 AT_surfxml_route_src AX_surfxml_route_src;
3268 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3269 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3270 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3271 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3272 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3273 AT_surfxml_trace_id AX_surfxml_trace_id;
3274 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3275 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3276 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3277 AT_surfxml_peer_power AX_surfxml_peer_power;
3278 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3279 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3280 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3281 AT_surfxml_config_id AX_surfxml_config_id;
3282 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3283 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3284 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3285 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3286 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3287 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3288 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3289 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3290 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3291 AT_surfxml_route_dst AX_surfxml_route_dst;
3292 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3293 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3294 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3295 AT_surfxml_platform_version AX_surfxml_platform_version;
3296 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3300 # define ENTER(state) debug_enter(state,#state)
3301 # define LEAVE debug_leave()
3302 # define SET(state) debug_set(state,#state)
3303 static void debug_enter(int, const char*);
3304 static void debug_leave(void);
3305 static void debug_set(int, const char*);
3307 # define ENTER(state) (yy_push_state(state))
3308 # define LEAVE (yy_pop_state())
3309 # define SET(state) BEGIN(state)
3312 /* Generic actions. */
3313 #define SKIP /*skip*/
3314 #define SUCCEED CLEANUP; return 0
3316 #define FAIL return fail
3317 static int fail(const char*, ...);
3319 enum {flexml_max_err_msg_size = 512};
3320 static char flexml_err_msg[flexml_max_err_msg_size];
3321 const char * surfxml_parse_err_msg()
3323 return flexml_err_msg;
3325 static void reset_surfxml_parse_err_msg()
3327 flexml_err_msg[0] = '\0';
3331 static void cleanup(void);
3332 #define CLEANUP cleanup()
3334 /* Text buffer stack handling. */
3335 char *surfxml_bufferstack = NULL;
3336 static int blimit = FLEXML_BUFFERSTACKSIZE;
3337 static int bnext = 1;
3339 static int *indexstack = NULL;
3340 static int ilimit = FLEXML_INDEXSTACKSIZE;
3341 static int inext = 1;
3343 #define BUFFERSET(P) (P = bnext)
3344 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3345 #define BUFFERDONE (BUFFERPUTC('\0'))
3347 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3349 /* after this is called, there are at least 2 slots left in the stack */
3350 static int ck_blimit()
3352 if (bnext >= blimit) {
3353 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3355 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3357 surfxml_bufferstack = temp;
3363 /* after this is called, there are at least 2 slots left in the stack */
3364 static int ck_ilimit()
3366 if (inext >= ilimit) {
3367 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3369 int *temp = (int *) realloc(indexstack, ilimit);
3377 #ifdef FLEXML_NEED_BUFFERLIT
3378 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3380 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3381 assert(s <= e); BUFFERSET(*pp);
3383 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3384 else BUFFERPUTC(*s);
3390 static void pushbuffer(int p)
3393 indexstack[inext++] = p;
3394 indexstack[inext++] = bnext;
3397 static int popbuffer(void)
3400 bnext = indexstack[--inext];
3401 return indexstack[--inext];
3404 /* General internal entities are `unput' back onto the input stream... */
3405 #define ENTITYTEXT(T) \
3406 { char *s = (T), *e = s+strlen(s);\
3407 while (--e >= s) { unput(*e); }}
3409 /* Flex standard options. */
3410 #define YY_NO_INPUT 1
3411 /* Flex user-requested options. */
3412 /* XML character classes (currently restricted to ASCII). */
3413 /* "Common syntactic structures." */
3414 /* "Names and Tokens." */
3415 /* Miscellaneous. */
3416 /* Parser states (flex `exclusive start conditions'):
3418 * PROLOG the XML prolog of the document before <?xml...>
3419 * DOCTYPE the XML prolog of the document after <?xml...>
3420 * EPILOG after the root element
3421 * INCOMMENT inside an XML comment <!--....-->
3422 * INPI inside an XML PI <?...?>
3423 * VALUE1 inside a '...'-delimited literal
3424 * VALUE2 inside a "..."-delimited literal
3425 * CDATA inside a <![CDATA[...] ]> section.
3426 * ROOT_<tag> expect root element <tag>
3427 * AL_<tag> inside the attribute list for <tag>
3428 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3429 * IMPOSSIBLE dummy to permit disabling rules; must be last
3433 const char* *surfxml_statenames=NULL;
3444 #define ROOT_surfxml_platform 9
3445 #define AL_surfxml_platform 10
3446 #define S_surfxml_platform 11
3447 #define S_surfxml_platform_1 12
3448 #define S_surfxml_platform_2 13
3449 #define S_surfxml_platform_3 14
3450 #define S_surfxml_platform_4 15
3451 #define S_surfxml_platform_5 16
3452 #define S_surfxml_platform_6 17
3453 #define E_surfxml_platform 18
3454 #define AL_surfxml_trace 19
3456 #define AL_surfxml_random 21
3457 #define S_surfxml_random 22
3458 #define S_surfxml_random_1 23
3459 #define S_surfxml_random_2 24
3460 #define E_surfxml_random 25
3461 #define AL_surfxml_trace_connect 26
3462 #define E_surfxml_trace_connect 27
3463 #define AL_surfxml_AS 28
3464 #define S_surfxml_AS 29
3465 #define S_surfxml_AS_1 30
3466 #define S_surfxml_AS_2 31
3467 #define S_surfxml_AS_3 32
3468 #define S_surfxml_AS_4 33
3469 #define S_surfxml_AS_5 34
3470 #define S_surfxml_AS_6 35
3471 #define S_surfxml_AS_7 36
3472 #define S_surfxml_AS_8 37
3473 #define S_surfxml_AS_9 38
3474 #define S_surfxml_AS_10 39
3475 #define S_surfxml_AS_11 40
3476 #define S_surfxml_AS_12 41
3477 #define S_surfxml_AS_13 42
3478 #define E_surfxml_AS 43
3479 #define AL_surfxml_host 44
3480 #define S_surfxml_host 45
3481 #define S_surfxml_host_1 46
3482 #define S_surfxml_host_2 47
3483 #define E_surfxml_host 48
3484 #define AL_surfxml_cluster 49
3485 #define E_surfxml_cluster 50
3486 #define AL_surfxml_peer 51
3487 #define E_surfxml_peer 52
3488 #define AL_surfxml_router 53
3489 #define E_surfxml_router 54
3490 #define AL_surfxml_link 55
3491 #define S_surfxml_link 56
3492 #define S_surfxml_link_1 57
3493 #define S_surfxml_link_2 58
3494 #define E_surfxml_link 59
3495 #define AL_surfxml_route 60
3496 #define S_surfxml_route 61
3497 #define S_surfxml_route_1 62
3498 #define S_surfxml_route_2 63
3499 #define E_surfxml_route 64
3500 #define AL_surfxml_ASroute 65
3501 #define S_surfxml_ASroute 66
3502 #define S_surfxml_ASroute_1 67
3503 #define S_surfxml_ASroute_2 68
3504 #define E_surfxml_ASroute 69
3505 #define AL_surfxml_link_ctn 70
3506 #define E_surfxml_link_ctn 71
3507 #define AL_surfxml_bypassRoute 72
3508 #define S_surfxml_bypassRoute 73
3509 #define S_surfxml_bypassRoute_1 74
3510 #define S_surfxml_bypassRoute_2 75
3511 #define E_surfxml_bypassRoute 76
3512 #define AL_surfxml_process 77
3513 #define S_surfxml_process 78
3514 #define S_surfxml_process_1 79
3515 #define S_surfxml_process_2 80
3516 #define E_surfxml_process 81
3517 #define AL_surfxml_argument 82
3518 #define E_surfxml_argument 83
3519 #define AL_surfxml_config 84
3520 #define S_surfxml_config 85
3521 #define S_surfxml_config_1 86
3522 #define S_surfxml_config_2 87
3523 #define E_surfxml_config 88
3524 #define AL_surfxml_prop 89
3525 #define E_surfxml_prop 90
3526 #define IMPOSSIBLE 91
3528 #ifndef YY_NO_UNISTD_H
3529 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3530 * down here because we want the user's section 1 to have been scanned first.
3531 * The user has a chance to override it with an option.
3533 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3534 # ifndef __STRICT_ANSI__
3536 # include <process.h>
3539 # include <unistd.h>
3543 #ifndef YY_EXTRA_TYPE
3544 #define YY_EXTRA_TYPE void *
3547 static int yy_init_globals (void );
3549 /* Accessor methods to globals.
3550 These are made visible to non-reentrant scanners for convenience. */
3552 int surf_parse_lex_destroy (void );
3554 int surf_parse_get_debug (void );
3556 void surf_parse_set_debug (int debug_flag );
3558 YY_EXTRA_TYPE surf_parse_get_extra (void );
3560 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3562 FILE *surf_parse_get_in (void );
3564 void surf_parse_set_in (FILE * in_str );
3566 FILE *surf_parse_get_out (void );
3568 void surf_parse_set_out (FILE * out_str );
3570 int surf_parse_get_leng (void );
3572 char *surf_parse_get_text (void );
3574 int surf_parse_get_lineno (void );
3576 void surf_parse_set_lineno (int line_number );
3578 /* Macros after this point can all be overridden by user definitions in
3582 #ifndef YY_SKIP_YYWRAP
3584 extern "C" int surf_parse_wrap (void );
3586 extern int surf_parse_wrap (void );
3591 static void yy_flex_strncpy (char *,yyconst char *,int );
3594 #ifdef YY_NEED_STRLEN
3595 static int yy_flex_strlen (yyconst char * );
3601 static int yyinput (void );
3603 static int input (void );
3608 static int yy_start_stack_ptr = 0;
3609 static int yy_start_stack_depth = 0;
3610 static int *yy_start_stack = NULL;
3612 static void yy_push_state (int new_state );
3614 static void yy_pop_state (void );
3616 /* Amount of stuff to slurp up with each read. */
3617 #ifndef YY_READ_BUF_SIZE
3619 /* On IA-64, the buffer size is 16k, not 8k */
3620 #define YY_READ_BUF_SIZE 16384
3622 #define YY_READ_BUF_SIZE 8192
3623 #endif /* __ia64__ */
3626 /* Copy whatever the last rule matched to the standard output. */
3628 /* This used to be an fputs(), but since the string might contain NUL's,
3629 * we now use fwrite().
3631 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3634 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3635 * is returned in "result".
3638 #define YY_INPUT(buf,result,max_size) \
3639 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3643 for ( n = 0; n < max_size && \
3644 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3645 buf[n] = (char) c; \
3647 buf[n++] = (char) c; \
3648 if ( c == EOF && ferror( surf_parse_in ) ) \
3649 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3655 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3657 if( errno != EINTR) \
3659 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3663 clearerr(surf_parse_in); \
3670 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3671 * we don't want an extra ';' after the "return" because that will cause
3672 * some compilers to complain about unreachable statements.
3675 #define yyterminate() return YY_NULL
3678 /* Number of entries by which start-condition stack grows. */
3679 #ifndef YY_START_STACK_INCR
3680 #define YY_START_STACK_INCR 25
3683 /* Report a fatal error. */
3684 #ifndef YY_FATAL_ERROR
3685 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3688 /* end tables serialization structures and prototypes */
3690 /* Default declaration of generated scanner - a define so the user can
3691 * easily add parameters.
3694 #define YY_DECL_IS_OURS 1
3696 extern int surf_parse_lex (void);
3698 #define YY_DECL int surf_parse_lex (void)
3699 #endif /* !YY_DECL */
3701 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3704 #ifndef YY_USER_ACTION
3705 #define YY_USER_ACTION
3708 /* Code executed at the end of each rule. */
3710 #define YY_BREAK break;
3713 #define YY_RULE_SETUP \
3716 /** The main scanner function which does all the work.
3720 register yy_state_type yy_current_state;
3721 register char *yy_cp, *yy_bp;
3722 register int yy_act;
3724 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3726 reset_surfxml_parse_err_msg();
3727 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3728 assert(surfxml_bufferstack);
3732 for (i = 0; i < blimit; i++) {
3733 surfxml_bufferstack[i] = '\377';
3737 surfxml_bufferstack[0] = '\0';
3738 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3744 surfxml_bufferliteral('\0', &bnext, "0.0");
3745 surfxml_bufferliteral('\0', &bnext, "1");
3746 surfxml_bufferliteral('\0', &bnext, "1.0");
3747 surfxml_bufferliteral('\0', &bnext, "1");
3748 surfxml_bufferliteral('\0', &bnext, "0.0");
3749 surfxml_bufferliteral('\0', &bnext, "-1.0");
3750 surfxml_bufferliteral('\0', &bnext, "-1.0");
3751 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3752 surfxml_statenames[PROLOG] = NULL;
3753 surfxml_statenames[DOCTYPE] = NULL;
3754 surfxml_statenames[EPILOG] = NULL;
3755 surfxml_statenames[INCOMMENT] = NULL;
3756 surfxml_statenames[INPI] = NULL;
3757 surfxml_statenames[VALUE1] = NULL;
3758 surfxml_statenames[VALUE2] = NULL;
3759 surfxml_statenames[CDATA] = NULL;
3760 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3761 surfxml_statenames[AL_surfxml_platform] = NULL;
3762 surfxml_statenames[S_surfxml_platform] = "platform";
3763 surfxml_statenames[S_surfxml_platform_1] = "platform";
3764 surfxml_statenames[S_surfxml_platform_2] = "platform";
3765 surfxml_statenames[S_surfxml_platform_3] = "platform";
3766 surfxml_statenames[S_surfxml_platform_4] = "platform";
3767 surfxml_statenames[S_surfxml_platform_5] = "platform";
3768 surfxml_statenames[S_surfxml_platform_6] = "platform";
3769 surfxml_statenames[E_surfxml_platform] = "platform";
3770 surfxml_statenames[AL_surfxml_trace] = NULL;
3771 surfxml_statenames[IN_trace] = "trace";
3772 surfxml_statenames[AL_surfxml_random] = NULL;
3773 surfxml_statenames[S_surfxml_random] = "random";
3774 surfxml_statenames[S_surfxml_random_1] = "random";
3775 surfxml_statenames[S_surfxml_random_2] = "random";
3776 surfxml_statenames[E_surfxml_random] = "random";
3777 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3778 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3779 surfxml_statenames[AL_surfxml_AS] = NULL;
3780 surfxml_statenames[S_surfxml_AS] = "AS";
3781 surfxml_statenames[S_surfxml_AS_1] = "AS";
3782 surfxml_statenames[S_surfxml_AS_2] = "AS";
3783 surfxml_statenames[S_surfxml_AS_3] = "AS";
3784 surfxml_statenames[S_surfxml_AS_4] = "AS";
3785 surfxml_statenames[S_surfxml_AS_5] = "AS";
3786 surfxml_statenames[S_surfxml_AS_6] = "AS";
3787 surfxml_statenames[S_surfxml_AS_7] = "AS";
3788 surfxml_statenames[S_surfxml_AS_8] = "AS";
3789 surfxml_statenames[S_surfxml_AS_9] = "AS";
3790 surfxml_statenames[S_surfxml_AS_10] = "AS";
3791 surfxml_statenames[S_surfxml_AS_11] = "AS";
3792 surfxml_statenames[S_surfxml_AS_12] = "AS";
3793 surfxml_statenames[S_surfxml_AS_13] = "AS";
3794 surfxml_statenames[E_surfxml_AS] = "AS";
3795 surfxml_statenames[AL_surfxml_host] = NULL;
3796 surfxml_statenames[S_surfxml_host] = "host";
3797 surfxml_statenames[S_surfxml_host_1] = "host";
3798 surfxml_statenames[S_surfxml_host_2] = "host";
3799 surfxml_statenames[E_surfxml_host] = "host";
3800 surfxml_statenames[AL_surfxml_cluster] = NULL;
3801 surfxml_statenames[E_surfxml_cluster] = "cluster";
3802 surfxml_statenames[AL_surfxml_peer] = NULL;
3803 surfxml_statenames[E_surfxml_peer] = "peer";
3804 surfxml_statenames[AL_surfxml_router] = NULL;
3805 surfxml_statenames[E_surfxml_router] = "router";
3806 surfxml_statenames[AL_surfxml_link] = NULL;
3807 surfxml_statenames[S_surfxml_link] = "link";
3808 surfxml_statenames[S_surfxml_link_1] = "link";
3809 surfxml_statenames[S_surfxml_link_2] = "link";
3810 surfxml_statenames[E_surfxml_link] = "link";
3811 surfxml_statenames[AL_surfxml_route] = NULL;
3812 surfxml_statenames[S_surfxml_route] = "route";
3813 surfxml_statenames[S_surfxml_route_1] = "route";
3814 surfxml_statenames[S_surfxml_route_2] = "route";
3815 surfxml_statenames[E_surfxml_route] = "route";
3816 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3817 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3818 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3819 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3820 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3821 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3822 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3823 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3824 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3825 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3826 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3827 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3828 surfxml_statenames[AL_surfxml_process] = NULL;
3829 surfxml_statenames[S_surfxml_process] = "process";
3830 surfxml_statenames[S_surfxml_process_1] = "process";
3831 surfxml_statenames[S_surfxml_process_2] = "process";
3832 surfxml_statenames[E_surfxml_process] = "process";
3833 surfxml_statenames[AL_surfxml_argument] = NULL;
3834 surfxml_statenames[E_surfxml_argument] = "argument";
3835 surfxml_statenames[AL_surfxml_config] = NULL;
3836 surfxml_statenames[S_surfxml_config] = "config";
3837 surfxml_statenames[S_surfxml_config_1] = "config";
3838 surfxml_statenames[S_surfxml_config_2] = "config";
3839 surfxml_statenames[E_surfxml_config] = "config";
3840 surfxml_statenames[AL_surfxml_prop] = NULL;
3841 surfxml_statenames[E_surfxml_prop] = "prop";
3844 /* COMMENTS and PIs: handled uniformly for efficiency. */
3855 (yy_start) = 1; /* first start state */
3857 if ( ! surf_parse_in )
3858 surf_parse_in = stdin;
3860 if ( ! surf_parse_out )
3861 surf_parse_out = stdout;
3863 if ( ! YY_CURRENT_BUFFER ) {
3864 surf_parse_ensure_buffer_stack ();
3865 YY_CURRENT_BUFFER_LVALUE =
3866 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3869 surf_parse__load_buffer_state( );
3872 while ( 1 ) /* loops until end-of-file is reached */
3874 yy_cp = (yy_c_buf_p);
3876 /* Support of surf_parse_text. */
3877 *yy_cp = (yy_hold_char);
3879 /* yy_bp points to the position in yy_ch_buf of the start of
3884 yy_current_state = (yy_start);
3888 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3889 if ( yy_accept[yy_current_state] )
3891 (yy_last_accepting_state) = yy_current_state;
3892 (yy_last_accepting_cpos) = yy_cp;
3894 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3896 yy_current_state = (int) yy_def[yy_current_state];
3897 if ( yy_current_state >= 2293 )
3898 yy_c = yy_meta[(unsigned int) yy_c];
3900 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3903 while ( yy_base[yy_current_state] != 7751 );
3906 yy_act = yy_accept[yy_current_state];
3908 { /* have to back up */
3909 yy_cp = (yy_last_accepting_cpos);
3910 yy_current_state = (yy_last_accepting_state);
3911 yy_act = yy_accept[yy_current_state];
3914 YY_DO_BEFORE_ACTION;
3916 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3919 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3920 if ( surf_parse_text[yyl] == '\n' )
3922 surf_parse_lineno++;
3926 do_action: /* This label is used only to access EOF actions. */
3929 { /* beginning of action switch */
3930 case 0: /* must back up */
3931 /* undo the effects of YY_DO_BEFORE_ACTION */
3932 *yy_cp = (yy_hold_char);
3933 yy_cp = (yy_last_accepting_cpos);
3934 yy_current_state = (yy_last_accepting_state);
3935 goto yy_find_action;
3953 /* rule 6 can match eol */
3957 case YY_STATE_EOF(INCOMMENT):
3958 FAIL("EOF in comment.");
3967 /* rule 9 can match eol */
3971 case YY_STATE_EOF(INPI):
3972 FAIL("EOF in PI (processing instruction).");
3975 /* SPACES: skipped uniformly */
3977 /* rule 10 can match eol */
3981 /* PROLOG: determine root element and process it. */
3984 /* rule 11 can match eol */
3989 /* rule 12 can match eol */
3991 FAIL("Bad declaration %s.",surf_parse_text);
3995 /* rule 13 can match eol */
3997 SET(ROOT_surfxml_platform);
4000 /* rule 14 can match eol */
4002 FAIL("Bad declaration %s.",surf_parse_text);
4006 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4008 case YY_STATE_EOF(PROLOG):
4009 case YY_STATE_EOF(DOCTYPE):
4010 FAIL("EOF in prolog.");
4013 /* RULES DERIVED FROM DTD. */
4014 /* <!-- Small DTD for SURF based tools. --> */
4016 /* rule 16 can match eol */
4018 FAIL("Starting tag <platform> is not allowed here.");
4021 /* rule 17 can match eol */
4024 AX_surfxml_platform_version = 1;
4025 ENTER(AL_surfxml_platform); pushbuffer(0);
4030 /* rule 18 can match eol */
4032 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4035 /* rule 19 can match eol */
4037 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4042 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4048 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4050 case ROOT_surfxml_platform: SET(EPILOG); break;
4056 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4060 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4062 case YY_STATE_EOF(AL_surfxml_platform):
4063 FAIL("EOF in attribute list of `platform' element.");
4067 /* rule 24 can match eol */
4071 ETag_surfxml_platform();
4072 popbuffer(); /* attribute */
4074 case ROOT_surfxml_platform: SET(EPILOG); break;
4079 /* rule 25 can match eol */
4081 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4085 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4087 case YY_STATE_EOF(S_surfxml_platform_2):
4088 case YY_STATE_EOF(S_surfxml_platform_1):
4089 case YY_STATE_EOF(S_surfxml_platform):
4090 case YY_STATE_EOF(S_surfxml_platform_4):
4091 case YY_STATE_EOF(S_surfxml_platform_6):
4092 case YY_STATE_EOF(E_surfxml_platform):
4093 FAIL("Premature EOF: `</platform>' expected.");
4097 /* rule 27 can match eol */
4099 FAIL("Starting tag <trace> is not allowed here.");
4102 /* rule 28 can match eol */
4105 AX_surfxml_trace_id = 0;
4106 AX_surfxml_trace_file = 0;
4107 AX_surfxml_trace_periodicity = 0;
4108 ENTER(AL_surfxml_trace); pushbuffer(0);
4113 /* rule 29 can match eol */
4115 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4118 /* rule 30 can match eol */
4120 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4123 /* rule 31 can match eol */
4125 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4128 /* rule 32 can match eol */
4130 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4133 /* rule 33 can match eol */
4135 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4138 /* rule 34 can match eol */
4140 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4145 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4146 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4147 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4153 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4154 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4155 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4157 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4158 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4159 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4160 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4161 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4162 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4168 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4172 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4174 case YY_STATE_EOF(AL_surfxml_trace):
4175 FAIL("EOF in attribute list of `trace' element.");
4179 /* rule 39 can match eol */
4184 ETag_surfxml_trace();
4185 surfxml_pcdata_ix = popbuffer();
4186 popbuffer(); /* attribute */
4188 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4189 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4190 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4191 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4192 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4193 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4198 /* rule 40 can match eol */
4200 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4202 case YY_STATE_EOF(IN_trace):
4203 FAIL("Premature EOF: `</trace>' expected.");
4207 /* rule 41 can match eol */
4209 FAIL("Starting tag <random> is not allowed here.");
4212 /* rule 42 can match eol */
4215 AX_surfxml_random_id = 0;
4216 AX_surfxml_random_min = 0;
4217 AX_surfxml_random_max = 0;
4218 AX_surfxml_random_mean = 0;
4219 AX_surfxml_random_std_deviation = 0;
4220 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4221 ENTER(AL_surfxml_random); pushbuffer(0);
4226 /* rule 43 can match eol */
4228 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4231 /* rule 44 can match eol */
4233 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4236 /* rule 45 can match eol */
4238 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4241 /* rule 46 can match eol */
4243 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4246 /* rule 47 can match eol */
4248 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4251 /* rule 48 can match eol */
4253 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4256 /* rule 49 can match eol */
4258 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4261 /* rule 50 can match eol */
4263 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4266 /* rule 51 can match eol */
4268 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4271 /* rule 52 can match eol */
4273 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4276 /* rule 53 can match eol */
4278 /* rule 54 can match eol */
4280 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4283 /* rule 55 can match eol */
4285 /* rule 56 can match eol */
4287 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4292 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4293 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4294 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4295 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4296 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4297 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4303 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4304 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4305 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4306 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4307 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4308 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4310 case S_surfxml_config: SET(E_surfxml_config); break;
4316 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4320 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4322 case YY_STATE_EOF(AL_surfxml_random):
4323 FAIL("EOF in attribute list of `random' element.");
4327 /* rule 61 can match eol */
4331 ETag_surfxml_random();
4332 popbuffer(); /* attribute */
4334 case S_surfxml_config: SET(E_surfxml_config); break;
4339 /* rule 62 can match eol */
4341 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4345 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4347 case YY_STATE_EOF(S_surfxml_random_2):
4348 case YY_STATE_EOF(S_surfxml_random):
4349 case YY_STATE_EOF(E_surfxml_random):
4350 FAIL("Premature EOF: `</random>' expected.");
4354 /* rule 64 can match eol */
4356 FAIL("Starting tag <trace_connect> is not allowed here.");
4359 /* rule 65 can match eol */
4362 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4363 AX_surfxml_trace_connect_trace = 0;
4364 AX_surfxml_trace_connect_element = 0;
4365 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4370 /* rule 66 can match eol */
4372 /* rule 67 can match eol */
4374 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4377 /* rule 68 can match eol */
4379 /* rule 69 can match eol */
4381 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4384 /* rule 70 can match eol */
4386 /* rule 71 can match eol */
4388 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4391 /* rule 72 can match eol */
4393 /* rule 73 can match eol */
4395 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4398 /* rule 74 can match eol */
4400 /* rule 75 can match eol */
4402 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4405 /* rule 76 can match eol */
4407 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4410 /* rule 77 can match eol */
4412 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4415 /* rule 78 can match eol */
4417 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4420 /* rule 79 can match eol */
4422 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4427 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4428 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4429 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4435 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4436 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4437 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4439 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4440 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4441 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4442 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4443 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4444 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4450 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4454 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4456 case YY_STATE_EOF(AL_surfxml_trace_connect):
4457 FAIL("EOF in attribute list of `trace_connect' element.");
4461 /* rule 84 can match eol */
4465 ETag_surfxml_trace_connect();
4466 popbuffer(); /* attribute */
4468 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4469 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4470 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4471 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4472 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4473 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4478 /* rule 85 can match eol */
4480 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4484 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4486 case YY_STATE_EOF(E_surfxml_trace_connect):
4487 FAIL("Premature EOF: `</trace_connect>' expected.");
4491 /* rule 87 can match eol */
4493 FAIL("Starting tag <AS> is not allowed here.");
4496 /* rule 88 can match eol */
4499 AX_surfxml_AS_id = 0;
4500 AX_surfxml_AS_routing = 0;
4501 ENTER(AL_surfxml_AS); pushbuffer(0);
4506 /* rule 89 can match eol */
4508 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4511 /* rule 90 can match eol */
4513 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4516 /* rule 91 can match eol */
4518 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4521 /* rule 92 can match eol */
4523 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4528 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4529 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4530 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4536 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4537 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4538 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4540 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4541 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4547 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4551 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4553 case YY_STATE_EOF(AL_surfxml_AS):
4554 FAIL("EOF in attribute list of `AS' element.");
4558 /* rule 97 can match eol */
4563 popbuffer(); /* attribute */
4565 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4566 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4571 /* rule 98 can match eol */
4573 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4577 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4579 case YY_STATE_EOF(S_surfxml_AS_1):
4580 case YY_STATE_EOF(S_surfxml_AS_9):
4581 case YY_STATE_EOF(S_surfxml_AS_11):
4582 case YY_STATE_EOF(S_surfxml_AS_6):
4583 case YY_STATE_EOF(E_surfxml_AS):
4584 case YY_STATE_EOF(S_surfxml_AS_3):
4585 case YY_STATE_EOF(S_surfxml_AS_13):
4586 case YY_STATE_EOF(S_surfxml_AS_8):
4587 case YY_STATE_EOF(S_surfxml_AS):
4588 case YY_STATE_EOF(S_surfxml_AS_4):
4589 FAIL("Premature EOF: `</AS>' expected.");
4593 /* rule 100 can match eol */
4595 FAIL("Starting tag <host> is not allowed here.");
4598 /* rule 101 can match eol */
4601 AX_surfxml_host_id = 0;
4602 AX_surfxml_host_power = 0;
4603 AX_surfxml_host_core = 5;
4604 AX_surfxml_host_availability = 7;
4605 AX_surfxml_host_availability_file = 0;
4606 AX_surfxml_host_state = A_surfxml_host_state_ON;
4607 AX_surfxml_host_state_file = 0;
4608 AX_surfxml_host_coordinates = 0;
4609 ENTER(AL_surfxml_host); pushbuffer(0);
4614 /* rule 102 can match eol */
4616 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4619 /* rule 103 can match eol */
4621 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4624 /* rule 104 can match eol */
4626 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4629 /* rule 105 can match eol */
4631 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4634 /* rule 106 can match eol */
4636 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4639 /* rule 107 can match eol */
4641 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4644 /* rule 108 can match eol */
4646 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4649 /* rule 109 can match eol */
4651 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4654 /* rule 110 can match eol */
4656 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4659 /* rule 111 can match eol */
4661 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4664 /* rule 112 can match eol */
4666 /* rule 113 can match eol */
4668 A_surfxml_host_state = A_surfxml_host_state_ON;
4671 /* rule 114 can match eol */
4673 /* rule 115 can match eol */
4675 A_surfxml_host_state = A_surfxml_host_state_OFF;
4678 /* rule 116 can match eol */
4680 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4683 /* rule 117 can match eol */
4685 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4688 /* rule 118 can match eol */
4690 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4693 /* rule 119 can match eol */
4695 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4700 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4701 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4702 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4708 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4709 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4710 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4712 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4718 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4722 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4724 case YY_STATE_EOF(AL_surfxml_host):
4725 FAIL("EOF in attribute list of `host' element.");
4729 /* rule 124 can match eol */
4733 ETag_surfxml_host();
4734 popbuffer(); /* attribute */
4736 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4741 /* rule 125 can match eol */
4743 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4747 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4749 case YY_STATE_EOF(S_surfxml_host):
4750 case YY_STATE_EOF(E_surfxml_host):
4751 case YY_STATE_EOF(S_surfxml_host_2):
4752 FAIL("Premature EOF: `</host>' expected.");
4756 /* rule 127 can match eol */
4758 FAIL("Starting tag <cluster> is not allowed here.");
4761 /* rule 128 can match eol */
4764 AX_surfxml_cluster_id = 0;
4765 AX_surfxml_cluster_prefix = 0;
4766 AX_surfxml_cluster_suffix = 0;
4767 AX_surfxml_cluster_radical = 0;
4768 AX_surfxml_cluster_power = 0;
4769 AX_surfxml_cluster_core = 11;
4770 AX_surfxml_cluster_bw = 0;
4771 AX_surfxml_cluster_lat = 0;
4772 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4773 AX_surfxml_cluster_bb_bw = 0;
4774 AX_surfxml_cluster_bb_lat = 0;
4775 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4776 AX_surfxml_cluster_availability_file = 0;
4777 AX_surfxml_cluster_state_file = 0;
4778 ENTER(AL_surfxml_cluster); pushbuffer(0);
4783 /* rule 129 can match eol */
4785 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4788 /* rule 130 can match eol */
4790 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4793 /* rule 131 can match eol */
4795 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4798 /* rule 132 can match eol */
4800 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4803 /* rule 133 can match eol */
4805 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4808 /* rule 134 can match eol */
4810 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4813 /* rule 135 can match eol */
4815 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4818 /* rule 136 can match eol */
4820 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4823 /* rule 137 can match eol */
4825 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4828 /* rule 138 can match eol */
4830 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4833 /* rule 139 can match eol */
4835 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
4838 /* rule 140 can match eol */
4840 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
4843 /* rule 141 can match eol */
4845 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4848 /* rule 142 can match eol */
4850 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4853 /* rule 143 can match eol */
4855 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4858 /* rule 144 can match eol */
4860 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4863 /* rule 145 can match eol */
4865 /* rule 146 can match eol */
4867 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4870 /* rule 147 can match eol */
4872 /* rule 148 can match eol */
4874 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4877 /* rule 149 can match eol */
4879 /* rule 150 can match eol */
4881 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4884 /* rule 151 can match eol */
4886 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4889 /* rule 152 can match eol */
4891 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4894 /* rule 153 can match eol */
4896 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4899 /* rule 154 can match eol */
4901 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4904 /* rule 155 can match eol */
4906 /* rule 156 can match eol */
4908 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4911 /* rule 157 can match eol */
4913 /* rule 158 can match eol */
4915 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4918 /* rule 159 can match eol */
4920 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
4923 /* rule 160 can match eol */
4925 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
4928 /* rule 161 can match eol */
4930 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
4933 /* rule 162 can match eol */
4935 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
4940 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4941 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4942 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4943 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4944 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4945 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4946 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4947 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4948 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4949 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4955 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4956 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4957 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4958 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4959 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4960 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4961 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4962 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4963 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4964 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4966 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4967 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4973 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4977 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4979 case YY_STATE_EOF(AL_surfxml_cluster):
4980 FAIL("EOF in attribute list of `cluster' element.");
4984 /* rule 167 can match eol */
4988 ETag_surfxml_cluster();
4989 popbuffer(); /* attribute */
4991 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4992 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4997 /* rule 168 can match eol */
4999 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5003 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5005 case YY_STATE_EOF(E_surfxml_cluster):
5006 FAIL("Premature EOF: `</cluster>' expected.");
5010 /* rule 170 can match eol */
5012 FAIL("Starting tag <peer> is not allowed here.");
5015 /* rule 171 can match eol */
5018 AX_surfxml_peer_id = 0;
5019 AX_surfxml_peer_power = 0;
5020 AX_surfxml_peer_bw_in = 0;
5021 AX_surfxml_peer_bw_out = 0;
5022 AX_surfxml_peer_lat = 0;
5023 AX_surfxml_peer_coordinates = 0;
5024 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5025 AX_surfxml_peer_availability_file = 0;
5026 AX_surfxml_peer_state_file = 0;
5027 ENTER(AL_surfxml_peer); pushbuffer(0);
5032 /* rule 172 can match eol */
5034 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5037 /* rule 173 can match eol */
5039 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5042 /* rule 174 can match eol */
5044 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5047 /* rule 175 can match eol */
5049 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5052 /* rule 176 can match eol */
5054 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5057 /* rule 177 can match eol */
5059 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5062 /* rule 178 can match eol */
5064 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5067 /* rule 179 can match eol */
5069 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5072 /* rule 180 can match eol */
5074 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5077 /* rule 181 can match eol */
5079 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5082 /* rule 182 can match eol */
5084 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5087 /* rule 183 can match eol */
5089 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5092 /* rule 184 can match eol */
5094 /* rule 185 can match eol */
5096 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5099 /* rule 186 can match eol */
5101 /* rule 187 can match eol */
5103 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5106 /* rule 188 can match eol */
5108 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5111 /* rule 189 can match eol */
5113 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5116 /* rule 190 can match eol */
5118 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5121 /* rule 191 can match eol */
5123 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5128 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5129 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5130 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5131 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5132 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5133 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5139 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5140 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5141 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5142 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5143 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5144 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5146 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5147 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5153 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5157 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5159 case YY_STATE_EOF(AL_surfxml_peer):
5160 FAIL("EOF in attribute list of `peer' element.");
5164 /* rule 196 can match eol */
5168 ETag_surfxml_peer();
5169 popbuffer(); /* attribute */
5171 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5172 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5177 /* rule 197 can match eol */
5179 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5183 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5185 case YY_STATE_EOF(E_surfxml_peer):
5186 FAIL("Premature EOF: `</peer>' expected.");
5190 /* rule 199 can match eol */
5192 FAIL("Starting tag <router> is not allowed here.");
5195 /* rule 200 can match eol */
5198 AX_surfxml_router_id = 0;
5199 AX_surfxml_router_coordinates = 0;
5200 ENTER(AL_surfxml_router); pushbuffer(0);
5205 /* rule 201 can match eol */
5207 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5210 /* rule 202 can match eol */
5212 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5215 /* rule 203 can match eol */
5217 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5220 /* rule 204 can match eol */
5222 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5227 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5228 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5234 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5235 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5237 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5243 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5247 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5249 case YY_STATE_EOF(AL_surfxml_router):
5250 FAIL("EOF in attribute list of `router' element.");
5254 /* rule 209 can match eol */
5258 ETag_surfxml_router();
5259 popbuffer(); /* attribute */
5261 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5266 /* rule 210 can match eol */
5268 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5272 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5274 case YY_STATE_EOF(E_surfxml_router):
5275 FAIL("Premature EOF: `</router>' expected.");
5279 /* rule 212 can match eol */
5281 FAIL("Starting tag <link> is not allowed here.");
5284 /* rule 213 can match eol */
5287 AX_surfxml_link_id = 0;
5288 AX_surfxml_link_bandwidth = 0;
5289 AX_surfxml_link_bandwidth_file = 0;
5290 AX_surfxml_link_latency = 13;
5291 AX_surfxml_link_latency_file = 0;
5292 AX_surfxml_link_state = A_surfxml_link_state_ON;
5293 AX_surfxml_link_state_file = 0;
5294 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5295 ENTER(AL_surfxml_link); pushbuffer(0);
5300 /* rule 214 can match eol */
5302 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5305 /* rule 215 can match eol */
5307 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5310 /* rule 216 can match eol */
5312 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5315 /* rule 217 can match eol */
5317 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5320 /* rule 218 can match eol */
5322 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5325 /* rule 219 can match eol */
5327 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5330 /* rule 220 can match eol */
5332 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5335 /* rule 221 can match eol */
5337 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5340 /* rule 222 can match eol */
5342 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5345 /* rule 223 can match eol */
5347 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5350 /* rule 224 can match eol */
5352 /* rule 225 can match eol */
5354 A_surfxml_link_state = A_surfxml_link_state_ON;
5357 /* rule 226 can match eol */
5359 /* rule 227 can match eol */
5361 A_surfxml_link_state = A_surfxml_link_state_OFF;
5364 /* rule 228 can match eol */
5366 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5369 /* rule 229 can match eol */
5371 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5374 /* rule 230 can match eol */
5376 /* rule 231 can match eol */
5378 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5381 /* rule 232 can match eol */
5383 /* rule 233 can match eol */
5385 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5388 /* rule 234 can match eol */
5390 /* rule 235 can match eol */
5392 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5397 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5398 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5399 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5405 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5406 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5407 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5409 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5410 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5416 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5420 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5422 case YY_STATE_EOF(AL_surfxml_link):
5423 FAIL("EOF in attribute list of `link' element.");
5427 /* rule 240 can match eol */
5431 ETag_surfxml_link();
5432 popbuffer(); /* attribute */
5434 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5435 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5440 /* rule 241 can match eol */
5442 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5446 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5448 case YY_STATE_EOF(E_surfxml_link):
5449 case YY_STATE_EOF(S_surfxml_link_2):
5450 case YY_STATE_EOF(S_surfxml_link):
5451 FAIL("Premature EOF: `</link>' expected.");
5455 /* rule 243 can match eol */
5457 FAIL("Starting tag <route> is not allowed here.");
5460 /* rule 244 can match eol */
5463 AX_surfxml_route_src = 0;
5464 AX_surfxml_route_dst = 0;
5465 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5466 ENTER(AL_surfxml_route); pushbuffer(0);
5471 /* rule 245 can match eol */
5473 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5476 /* rule 246 can match eol */
5478 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5481 /* rule 247 can match eol */
5483 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5486 /* rule 248 can match eol */
5488 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5491 /* rule 249 can match eol */
5493 /* rule 250 can match eol */
5495 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5498 /* rule 251 can match eol */
5500 /* rule 252 can match eol */
5502 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5507 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5508 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5509 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5515 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5516 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5517 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5519 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5525 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5529 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5531 case YY_STATE_EOF(AL_surfxml_route):
5532 FAIL("EOF in attribute list of `route' element.");
5536 /* rule 257 can match eol */
5540 ETag_surfxml_route();
5541 popbuffer(); /* attribute */
5543 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5548 /* rule 258 can match eol */
5550 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5554 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5556 case YY_STATE_EOF(S_surfxml_route):
5557 case YY_STATE_EOF(S_surfxml_route_2):
5558 case YY_STATE_EOF(E_surfxml_route):
5559 FAIL("Premature EOF: `</route>' expected.");
5563 /* rule 260 can match eol */
5565 FAIL("Starting tag <ASroute> is not allowed here.");
5568 /* rule 261 can match eol */
5571 AX_surfxml_ASroute_src = 0;
5572 AX_surfxml_ASroute_dst = 0;
5573 AX_surfxml_ASroute_gw_src = 0;
5574 AX_surfxml_ASroute_gw_dst = 0;
5575 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5576 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5581 /* rule 262 can match eol */
5583 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5586 /* rule 263 can match eol */
5588 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5591 /* rule 264 can match eol */
5593 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5596 /* rule 265 can match eol */
5598 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5601 /* rule 266 can match eol */
5603 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5606 /* rule 267 can match eol */
5608 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5611 /* rule 268 can match eol */
5613 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5616 /* rule 269 can match eol */
5618 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5621 /* rule 270 can match eol */
5623 /* rule 271 can match eol */
5625 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5628 /* rule 272 can match eol */
5630 /* rule 273 can match eol */
5632 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5637 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5638 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5639 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5640 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5641 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5647 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5648 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5649 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5650 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5651 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5653 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5659 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5663 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5665 case YY_STATE_EOF(AL_surfxml_ASroute):
5666 FAIL("EOF in attribute list of `ASroute' element.");
5670 /* rule 278 can match eol */
5674 ETag_surfxml_ASroute();
5675 popbuffer(); /* attribute */
5677 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5682 /* rule 279 can match eol */
5684 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5688 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5690 case YY_STATE_EOF(E_surfxml_ASroute):
5691 case YY_STATE_EOF(S_surfxml_ASroute):
5692 case YY_STATE_EOF(S_surfxml_ASroute_2):
5693 FAIL("Premature EOF: `</ASroute>' expected.");
5697 /* rule 281 can match eol */
5699 FAIL("Starting tag <link_ctn> is not allowed here.");
5702 /* rule 282 can match eol */
5705 AX_surfxml_link_ctn_id = 0;
5706 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5707 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5712 /* rule 283 can match eol */
5714 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5717 /* rule 284 can match eol */
5719 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5722 /* rule 285 can match eol */
5724 /* rule 286 can match eol */
5726 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5729 /* rule 287 can match eol */
5731 /* rule 288 can match eol */
5733 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5736 /* rule 289 can match eol */
5738 /* rule 290 can match eol */
5740 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5745 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5746 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5752 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5753 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5755 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5756 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5757 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5763 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5767 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5769 case YY_STATE_EOF(AL_surfxml_link_ctn):
5770 FAIL("EOF in attribute list of `link_ctn' element.");
5774 /* rule 295 can match eol */
5778 ETag_surfxml_link_ctn();
5779 popbuffer(); /* attribute */
5781 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5782 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5783 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5788 /* rule 296 can match eol */
5790 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5794 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5796 case YY_STATE_EOF(E_surfxml_link_ctn):
5797 FAIL("Premature EOF: `</link_ctn>' expected.");
5801 /* rule 298 can match eol */
5803 FAIL("Starting tag <bypassRoute> is not allowed here.");
5806 /* rule 299 can match eol */
5809 AX_surfxml_bypassRoute_src = 0;
5810 AX_surfxml_bypassRoute_dst = 0;
5811 AX_surfxml_bypassRoute_gw_src = 0;
5812 AX_surfxml_bypassRoute_gw_dst = 0;
5813 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5818 /* rule 300 can match eol */
5820 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5823 /* rule 301 can match eol */
5825 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5828 /* rule 302 can match eol */
5830 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5833 /* rule 303 can match eol */
5835 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5838 /* rule 304 can match eol */
5840 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5843 /* rule 305 can match eol */
5845 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5848 /* rule 306 can match eol */
5850 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5853 /* rule 307 can match eol */
5855 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5860 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5861 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5862 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5863 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5864 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5870 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5871 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5872 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5873 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5874 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5876 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5882 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5886 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5888 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5889 FAIL("EOF in attribute list of `bypassRoute' element.");
5893 /* rule 312 can match eol */
5897 ETag_surfxml_bypassRoute();
5898 popbuffer(); /* attribute */
5900 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5905 /* rule 313 can match eol */
5907 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5911 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5913 case YY_STATE_EOF(S_surfxml_bypassRoute):
5914 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5915 case YY_STATE_EOF(E_surfxml_bypassRoute):
5916 FAIL("Premature EOF: `</bypassRoute>' expected.");
5920 /* rule 315 can match eol */
5922 FAIL("Starting tag <process> is not allowed here.");
5925 /* rule 316 can match eol */
5928 AX_surfxml_process_host = 0;
5929 AX_surfxml_process_function = 0;
5930 AX_surfxml_process_start_time = 17;
5931 AX_surfxml_process_kill_time = 22;
5932 ENTER(AL_surfxml_process); pushbuffer(0);
5937 /* rule 317 can match eol */
5939 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5942 /* rule 318 can match eol */
5944 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5947 /* rule 319 can match eol */
5949 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5952 /* rule 320 can match eol */
5954 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5957 /* rule 321 can match eol */
5959 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5962 /* rule 322 can match eol */
5964 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5967 /* rule 323 can match eol */
5969 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5972 /* rule 324 can match eol */
5974 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5979 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5980 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5981 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5987 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5988 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5989 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5991 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5997 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6001 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6003 case YY_STATE_EOF(AL_surfxml_process):
6004 FAIL("EOF in attribute list of `process' element.");
6008 /* rule 329 can match eol */
6012 ETag_surfxml_process();
6013 popbuffer(); /* attribute */
6015 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
6020 /* rule 330 can match eol */
6022 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6026 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6028 case YY_STATE_EOF(E_surfxml_process):
6029 case YY_STATE_EOF(S_surfxml_process):
6030 case YY_STATE_EOF(S_surfxml_process_2):
6031 FAIL("Premature EOF: `</process>' expected.");
6035 /* rule 332 can match eol */
6037 FAIL("Starting tag <argument> is not allowed here.");
6040 /* rule 333 can match eol */
6043 AX_surfxml_argument_value = 0;
6044 ENTER(AL_surfxml_argument); pushbuffer(0);
6049 /* rule 334 can match eol */
6051 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6054 /* rule 335 can match eol */
6056 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6061 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6062 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6068 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6069 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6071 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6077 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6081 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6083 case YY_STATE_EOF(AL_surfxml_argument):
6084 FAIL("EOF in attribute list of `argument' element.");
6088 /* rule 340 can match eol */
6092 ETag_surfxml_argument();
6093 popbuffer(); /* attribute */
6095 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6100 /* rule 341 can match eol */
6102 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6106 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6108 case YY_STATE_EOF(E_surfxml_argument):
6109 FAIL("Premature EOF: `</argument>' expected.");
6113 /* rule 343 can match eol */
6115 FAIL("Starting tag <config> is not allowed here.");
6118 /* rule 344 can match eol */
6121 AX_surfxml_config_id = 0;
6122 ENTER(AL_surfxml_config); pushbuffer(0);
6127 /* rule 345 can match eol */
6129 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6132 /* rule 346 can match eol */
6134 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6139 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6145 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6147 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6153 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6157 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6159 case YY_STATE_EOF(AL_surfxml_config):
6160 FAIL("EOF in attribute list of `config' element.");
6164 /* rule 351 can match eol */
6168 ETag_surfxml_config();
6169 popbuffer(); /* attribute */
6171 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6176 /* rule 352 can match eol */
6178 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6182 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6184 case YY_STATE_EOF(S_surfxml_config):
6185 case YY_STATE_EOF(S_surfxml_config_2):
6186 case YY_STATE_EOF(E_surfxml_config):
6187 FAIL("Premature EOF: `</config>' expected.");
6190 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6191 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6193 /* rule 354 can match eol */
6195 FAIL("Starting tag <prop> is not allowed here.");
6198 /* rule 355 can match eol */
6201 AX_surfxml_prop_id = 0;
6202 AX_surfxml_prop_value = 0;
6203 ENTER(AL_surfxml_prop); pushbuffer(0);
6208 /* rule 356 can match eol */
6210 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6213 /* rule 357 can match eol */
6215 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6218 /* rule 358 can match eol */
6220 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6223 /* rule 359 can match eol */
6225 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6230 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6231 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6232 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6238 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6239 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6240 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6242 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6243 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6244 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6245 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6246 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6252 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6256 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6258 case YY_STATE_EOF(AL_surfxml_prop):
6259 FAIL("EOF in attribute list of `prop' element.");
6263 /* rule 364 can match eol */
6267 ETag_surfxml_prop();
6268 popbuffer(); /* attribute */
6270 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6271 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6272 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6273 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6274 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6279 /* rule 365 can match eol */
6281 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6285 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6287 case YY_STATE_EOF(E_surfxml_prop):
6288 FAIL("Premature EOF: `</prop>' expected.");
6291 /* EPILOG: after the root element. */
6295 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6297 case YY_STATE_EOF(EPILOG):
6301 /* CHARACTER DATA. */
6303 /* Non-defined standard entities... */
6324 /* Character entities. */
6327 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6331 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6335 /* rule 375 can match eol */
6337 /* rule 376 can match eol */
6339 /* rule 377 can match eol */
6341 /* rule 378 can match eol */
6352 FAIL("Unexpected `]""]>' in character data.");
6359 case YY_STATE_EOF(VALUE1):
6360 FAIL("EOF in literal (\"'\" expected).");
6367 case YY_STATE_EOF(VALUE2):
6368 FAIL("EOF in literal (`\"' expected).");
6372 /* rule 383 can match eol */
6374 BUFFERPUTC(surf_parse_text[0]);
6378 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6385 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6388 BUFFERPUTC(surf_parse_text[0]);
6390 case YY_STATE_EOF(CDATA):
6391 FAIL("EOF in CDATA section.");
6394 /* Impossible rules to avoid warnings from flex(1). */
6395 /* Ideally, this should be replaced by code in flexml.pl that
6396 generates just the states not covered by other rules. */
6399 /* rule 387 can match eol */
6401 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6408 case YY_STATE_EOF(INITIAL):
6409 case YY_STATE_EOF(ROOT_surfxml_platform):
6410 case YY_STATE_EOF(S_surfxml_platform_3):
6411 case YY_STATE_EOF(S_surfxml_platform_5):
6412 case YY_STATE_EOF(S_surfxml_random_1):
6413 case YY_STATE_EOF(S_surfxml_AS_2):
6414 case YY_STATE_EOF(S_surfxml_AS_5):
6415 case YY_STATE_EOF(S_surfxml_AS_7):
6416 case YY_STATE_EOF(S_surfxml_AS_10):
6417 case YY_STATE_EOF(S_surfxml_AS_12):
6418 case YY_STATE_EOF(S_surfxml_host_1):
6419 case YY_STATE_EOF(S_surfxml_link_1):
6420 case YY_STATE_EOF(S_surfxml_route_1):
6421 case YY_STATE_EOF(S_surfxml_ASroute_1):
6422 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6423 case YY_STATE_EOF(S_surfxml_process_1):
6424 case YY_STATE_EOF(S_surfxml_config_1):
6425 case YY_STATE_EOF(IMPOSSIBLE):
6428 case YY_END_OF_BUFFER:
6430 /* Amount of text matched not including the EOB char. */
6431 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6433 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6434 *yy_cp = (yy_hold_char);
6435 YY_RESTORE_YY_MORE_OFFSET
6437 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6439 /* We're scanning a new file or input source. It's
6440 * possible that this happened because the user
6441 * just pointed surf_parse_in at a new source and called
6442 * surf_parse_lex(). If so, then we have to assure
6443 * consistency between YY_CURRENT_BUFFER and our
6444 * globals. Here is the right place to do so, because
6445 * this is the first action (other than possibly a
6446 * back-up) that will match for the new input source.
6448 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6449 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6450 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6453 /* Note that here we test for yy_c_buf_p "<=" to the position
6454 * of the first EOB in the buffer, since yy_c_buf_p will
6455 * already have been incremented past the NUL character
6456 * (since all states make transitions on EOB to the
6457 * end-of-buffer state). Contrast this with the test
6460 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6461 { /* This was really a NUL. */
6462 yy_state_type yy_next_state;
6464 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6466 yy_current_state = yy_get_previous_state( );
6468 /* Okay, we're now positioned to make the NUL
6469 * transition. We couldn't have
6470 * yy_get_previous_state() go ahead and do it
6471 * for us because it doesn't know how to deal
6472 * with the possibility of jamming (and we don't
6473 * want to build jamming into it because then it
6474 * will run more slowly).
6477 yy_next_state = yy_try_NUL_trans( yy_current_state );
6479 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6481 if ( yy_next_state )
6483 /* Consume the NUL. */
6484 yy_cp = ++(yy_c_buf_p);
6485 yy_current_state = yy_next_state;
6491 yy_cp = (yy_c_buf_p);
6492 goto yy_find_action;
6496 else switch ( yy_get_next_buffer( ) )
6498 case EOB_ACT_END_OF_FILE:
6500 (yy_did_buffer_switch_on_eof) = 0;
6502 if ( surf_parse_wrap( ) )
6504 /* Note: because we've taken care in
6505 * yy_get_next_buffer() to have set up
6506 * surf_parse_text, we can now set up
6507 * yy_c_buf_p so that if some total
6508 * hoser (like flex itself) wants to
6509 * call the scanner after we return the
6510 * YY_NULL, it'll still work - another
6511 * YY_NULL will get returned.
6513 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6515 yy_act = YY_STATE_EOF(YY_START);
6521 if ( ! (yy_did_buffer_switch_on_eof) )
6527 case EOB_ACT_CONTINUE_SCAN:
6529 (yytext_ptr) + yy_amount_of_matched_text;
6531 yy_current_state = yy_get_previous_state( );
6533 yy_cp = (yy_c_buf_p);
6534 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6537 case EOB_ACT_LAST_MATCH:
6539 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6541 yy_current_state = yy_get_previous_state( );
6543 yy_cp = (yy_c_buf_p);
6544 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6545 goto yy_find_action;
6552 "fatal flex scanner internal error--no action found" );
6553 } /* end of action switch */
6554 } /* end of scanning one token */
6555 } /* end of surf_parse_lex */
6557 /* yy_get_next_buffer - try to read in a new buffer
6559 * Returns a code representing an action:
6560 * EOB_ACT_LAST_MATCH -
6561 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6562 * EOB_ACT_END_OF_FILE - end of file
6564 static int yy_get_next_buffer (void)
6566 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6567 register char *source = (yytext_ptr);
6568 register int number_to_move, i;
6571 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6573 "fatal flex scanner internal error--end of buffer missed" );
6575 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6576 { /* Don't try to fill the buffer, so this is an EOF. */
6577 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6579 /* We matched a single character, the EOB, so
6580 * treat this as a final EOF.
6582 return EOB_ACT_END_OF_FILE;
6587 /* We matched some text prior to the EOB, first
6590 return EOB_ACT_LAST_MATCH;
6594 /* Try to read more data. */
6596 /* First move last chars to start of buffer. */
6597 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6599 for ( i = 0; i < number_to_move; ++i )
6600 *(dest++) = *(source++);
6602 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6603 /* don't do the read, it's not guaranteed to return an EOF,
6606 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6611 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6613 while ( num_to_read <= 0 )
6614 { /* Not enough room in the buffer - grow it. */
6616 /* just a shorter name for the current buffer */
6617 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6619 int yy_c_buf_p_offset =
6620 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6622 if ( b->yy_is_our_buffer )
6624 int new_size = b->yy_buf_size * 2;
6626 if ( new_size <= 0 )
6627 b->yy_buf_size += b->yy_buf_size / 8;
6629 b->yy_buf_size *= 2;
6631 b->yy_ch_buf = (char *)
6632 /* Include room in for 2 EOB chars. */
6633 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6636 /* Can't grow it, we don't own it. */
6639 if ( ! b->yy_ch_buf )
6641 "fatal error - scanner input buffer overflow" );
6643 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6645 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6650 if ( num_to_read > YY_READ_BUF_SIZE )
6651 num_to_read = YY_READ_BUF_SIZE;
6653 /* Read in more data. */
6654 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6655 (yy_n_chars), (size_t) num_to_read );
6657 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6660 if ( (yy_n_chars) == 0 )
6662 if ( number_to_move == YY_MORE_ADJ )
6664 ret_val = EOB_ACT_END_OF_FILE;
6665 surf_parse_restart(surf_parse_in );
6670 ret_val = EOB_ACT_LAST_MATCH;
6671 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6672 YY_BUFFER_EOF_PENDING;
6677 ret_val = EOB_ACT_CONTINUE_SCAN;
6679 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6680 /* Extend the array by 50%, plus the number we really need. */
6681 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6682 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6683 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6684 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6687 (yy_n_chars) += number_to_move;
6688 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6689 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6691 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6696 /* yy_get_previous_state - get the state just before the EOB char was reached */
6698 static yy_state_type yy_get_previous_state (void)
6700 register yy_state_type yy_current_state;
6701 register char *yy_cp;
6703 yy_current_state = (yy_start);
6705 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6707 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6708 if ( yy_accept[yy_current_state] )
6710 (yy_last_accepting_state) = yy_current_state;
6711 (yy_last_accepting_cpos) = yy_cp;
6713 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6715 yy_current_state = (int) yy_def[yy_current_state];
6716 if ( yy_current_state >= 2293 )
6717 yy_c = yy_meta[(unsigned int) yy_c];
6719 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6722 return yy_current_state;
6725 /* yy_try_NUL_trans - try to make a transition on the NUL character
6728 * next_state = yy_try_NUL_trans( current_state );
6730 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6732 register int yy_is_jam;
6733 register char *yy_cp = (yy_c_buf_p);
6735 register YY_CHAR yy_c = 1;
6736 if ( yy_accept[yy_current_state] )
6738 (yy_last_accepting_state) = yy_current_state;
6739 (yy_last_accepting_cpos) = yy_cp;
6741 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6743 yy_current_state = (int) yy_def[yy_current_state];
6744 if ( yy_current_state >= 2293 )
6745 yy_c = yy_meta[(unsigned int) yy_c];
6747 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6748 yy_is_jam = (yy_current_state == 2292);
6750 return yy_is_jam ? 0 : yy_current_state;
6755 static int yyinput (void)
6757 static int input (void)
6763 *(yy_c_buf_p) = (yy_hold_char);
6765 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6767 /* yy_c_buf_p now points to the character we want to return.
6768 * If this occurs *before* the EOB characters, then it's a
6769 * valid NUL; if not, then we've hit the end of the buffer.
6771 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6772 /* This was really a NUL. */
6773 *(yy_c_buf_p) = '\0';
6776 { /* need more input */
6777 int offset = (yy_c_buf_p) - (yytext_ptr);
6780 switch ( yy_get_next_buffer( ) )
6782 case EOB_ACT_LAST_MATCH:
6783 /* This happens because yy_g_n_b()
6784 * sees that we've accumulated a
6785 * token and flags that we need to
6786 * try matching the token before
6787 * proceeding. But for input(),
6788 * there's no matching to consider.
6789 * So convert the EOB_ACT_LAST_MATCH
6790 * to EOB_ACT_END_OF_FILE.
6793 /* Reset buffer status. */
6794 surf_parse_restart(surf_parse_in );
6798 case EOB_ACT_END_OF_FILE:
6800 if ( surf_parse_wrap( ) )
6803 if ( ! (yy_did_buffer_switch_on_eof) )
6812 case EOB_ACT_CONTINUE_SCAN:
6813 (yy_c_buf_p) = (yytext_ptr) + offset;
6819 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6820 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6821 (yy_hold_char) = *++(yy_c_buf_p);
6825 surf_parse_lineno++;
6830 #endif /* ifndef YY_NO_INPUT */
6832 /** Immediately switch to a different input stream.
6833 * @param input_file A readable stream.
6835 * @note This function does not reset the start condition to @c INITIAL .
6837 void surf_parse_restart (FILE * input_file )
6840 if ( ! YY_CURRENT_BUFFER ){
6841 surf_parse_ensure_buffer_stack ();
6842 YY_CURRENT_BUFFER_LVALUE =
6843 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6846 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6847 surf_parse__load_buffer_state( );
6850 /** Switch to a different input buffer.
6851 * @param new_buffer The new input buffer.
6854 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6857 /* TODO. We should be able to replace this entire function body
6859 * surf_parse_pop_buffer_state();
6860 * surf_parse_push_buffer_state(new_buffer);
6862 surf_parse_ensure_buffer_stack ();
6863 if ( YY_CURRENT_BUFFER == new_buffer )
6866 if ( YY_CURRENT_BUFFER )
6868 /* Flush out information for old buffer. */
6869 *(yy_c_buf_p) = (yy_hold_char);
6870 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6871 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6874 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6875 surf_parse__load_buffer_state( );
6877 /* We don't actually know whether we did this switch during
6878 * EOF (surf_parse_wrap()) processing, but the only time this flag
6879 * is looked at is after surf_parse_wrap() is called, so it's safe
6880 * to go ahead and always set it.
6882 (yy_did_buffer_switch_on_eof) = 1;
6885 static void surf_parse__load_buffer_state (void)
6887 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6888 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6889 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6890 (yy_hold_char) = *(yy_c_buf_p);
6893 /** Allocate and initialize an input buffer state.
6894 * @param file A readable stream.
6895 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6897 * @return the allocated buffer state.
6899 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6903 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6905 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6907 b->yy_buf_size = size;
6909 /* yy_ch_buf has to be 2 characters longer than the size given because
6910 * we need to put in 2 end-of-buffer characters.
6912 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6913 if ( ! b->yy_ch_buf )
6914 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6916 b->yy_is_our_buffer = 1;
6918 surf_parse__init_buffer(b,file );
6923 /** Destroy the buffer.
6924 * @param b a buffer created with surf_parse__create_buffer()
6927 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6933 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6934 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6936 if ( b->yy_is_our_buffer )
6937 surf_parse_free((void *) b->yy_ch_buf );
6939 surf_parse_free((void *) b );
6943 extern int isatty (int );
6944 #endif /* __cplusplus */
6946 /* Initializes or reinitializes a buffer.
6947 * This function is sometimes called more than once on the same buffer,
6948 * such as during a surf_parse_restart() or at EOF.
6950 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6955 surf_parse__flush_buffer(b );
6957 b->yy_input_file = file;
6958 b->yy_fill_buffer = 1;
6960 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6961 * called from surf_parse_restart() or through yy_get_next_buffer.
6962 * In that case, we don't want to reset the lineno or column.
6964 if (b != YY_CURRENT_BUFFER){
6965 b->yy_bs_lineno = 1;
6966 b->yy_bs_column = 0;
6969 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6974 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6975 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6978 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6985 /* We always need two end-of-buffer characters. The first causes
6986 * a transition to the end-of-buffer state. The second causes
6987 * a jam in that state.
6989 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6990 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6992 b->yy_buf_pos = &b->yy_ch_buf[0];
6995 b->yy_buffer_status = YY_BUFFER_NEW;
6997 if ( b == YY_CURRENT_BUFFER )
6998 surf_parse__load_buffer_state( );
7001 /** Pushes the new state onto the stack. The new state becomes
7002 * the current state. This function will allocate the stack
7004 * @param new_buffer The new state.
7007 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7009 if (new_buffer == NULL)
7012 surf_parse_ensure_buffer_stack();
7014 /* This block is copied from surf_parse__switch_to_buffer. */
7015 if ( YY_CURRENT_BUFFER )
7017 /* Flush out information for old buffer. */
7018 *(yy_c_buf_p) = (yy_hold_char);
7019 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7020 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7023 /* Only push if top exists. Otherwise, replace top. */
7024 if (YY_CURRENT_BUFFER)
7025 (yy_buffer_stack_top)++;
7026 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7028 /* copied from surf_parse__switch_to_buffer. */
7029 surf_parse__load_buffer_state( );
7030 (yy_did_buffer_switch_on_eof) = 1;
7033 /** Removes and deletes the top of the stack, if present.
7034 * The next element becomes the new top.
7037 void surf_parse_pop_buffer_state (void)
7039 if (!YY_CURRENT_BUFFER)
7042 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7043 YY_CURRENT_BUFFER_LVALUE = NULL;
7044 if ((yy_buffer_stack_top) > 0)
7045 --(yy_buffer_stack_top);
7047 if (YY_CURRENT_BUFFER) {
7048 surf_parse__load_buffer_state( );
7049 (yy_did_buffer_switch_on_eof) = 1;
7053 /* Allocates the stack if it does not exist.
7054 * Guarantees space for at least one push.
7056 static void surf_parse_ensure_buffer_stack (void)
7060 if (!(yy_buffer_stack)) {
7062 /* First allocation is just for 2 elements, since we don't know if this
7063 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7064 * immediate realloc on the next call.
7067 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7068 (num_to_alloc * sizeof(struct yy_buffer_state*)
7070 if ( ! (yy_buffer_stack) )
7071 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7073 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7075 (yy_buffer_stack_max) = num_to_alloc;
7076 (yy_buffer_stack_top) = 0;
7080 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7082 /* Increase the buffer to prepare for a possible push. */
7083 int grow_size = 8 /* arbitrary grow size */;
7085 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7086 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7088 num_to_alloc * sizeof(struct yy_buffer_state*)
7090 if ( ! (yy_buffer_stack) )
7091 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7093 /* zero only the new slots.*/
7094 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7095 (yy_buffer_stack_max) = num_to_alloc;
7099 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7100 * @param base the character buffer
7101 * @param size the size in bytes of the character buffer
7103 * @return the newly allocated buffer state object.
7105 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7110 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7111 base[size-1] != YY_END_OF_BUFFER_CHAR )
7112 /* They forgot to leave room for the EOB's. */
7115 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7117 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7119 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7120 b->yy_buf_pos = b->yy_ch_buf = base;
7121 b->yy_is_our_buffer = 0;
7122 b->yy_input_file = 0;
7123 b->yy_n_chars = b->yy_buf_size;
7124 b->yy_is_interactive = 0;
7126 b->yy_fill_buffer = 0;
7127 b->yy_buffer_status = YY_BUFFER_NEW;
7129 surf_parse__switch_to_buffer(b );
7134 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7135 * scan from a @e copy of @a str.
7136 * @param yystr a NUL-terminated string to scan
7138 * @return the newly allocated buffer state object.
7139 * @note If you want to scan bytes that may contain NUL values, then use
7140 * surf_parse__scan_bytes() instead.
7142 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7145 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7148 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7149 * scan from a @e copy of @a bytes.
7150 * @param yybytes the byte buffer to scan
7151 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7153 * @return the newly allocated buffer state object.
7155 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7162 /* Get memory for full buffer, including space for trailing EOB's. */
7163 n = _yybytes_len + 2;
7164 buf = (char *) surf_parse_alloc(n );
7166 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7168 for ( i = 0; i < _yybytes_len; ++i )
7169 buf[i] = yybytes[i];
7171 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7173 b = surf_parse__scan_buffer(buf,n );
7175 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7177 /* It's okay to grow etc. this buffer, and we should throw it
7178 * away when we're done.
7180 b->yy_is_our_buffer = 1;
7185 static void yy_push_state (int new_state )
7187 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7191 (yy_start_stack_depth) += YY_START_STACK_INCR;
7192 new_size = (yy_start_stack_depth) * sizeof( int );
7194 if ( ! (yy_start_stack) )
7195 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7198 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7200 if ( ! (yy_start_stack) )
7201 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7204 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7209 static void yy_pop_state (void)
7211 if ( --(yy_start_stack_ptr) < 0 )
7212 YY_FATAL_ERROR( "start-condition stack underflow" );
7214 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7217 #ifndef YY_EXIT_FAILURE
7218 #define YY_EXIT_FAILURE 2
7221 static void yy_fatal_error (yyconst char* msg )
7223 (void) fprintf( stderr, "%s\n", msg );
7224 exit( YY_EXIT_FAILURE );
7227 /* Redefine yyless() so it works in section 3 code. */
7233 /* Undo effects of setting up surf_parse_text. */ \
7234 int yyless_macro_arg = (n); \
7235 YY_LESS_LINENO(yyless_macro_arg);\
7236 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7237 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7238 (yy_hold_char) = *(yy_c_buf_p); \
7239 *(yy_c_buf_p) = '\0'; \
7240 surf_parse_leng = yyless_macro_arg; \
7244 /* Accessor methods (get/set functions) to struct members. */
7246 /** Get the current line number.
7249 int surf_parse_get_lineno (void)
7252 return surf_parse_lineno;
7255 /** Get the input stream.
7258 FILE *surf_parse_get_in (void)
7260 return surf_parse_in;
7263 /** Get the output stream.
7266 FILE *surf_parse_get_out (void)
7268 return surf_parse_out;
7271 /** Get the length of the current token.
7274 int surf_parse_get_leng (void)
7276 return surf_parse_leng;
7279 /** Get the current token.
7283 char *surf_parse_get_text (void)
7285 return surf_parse_text;
7288 /** Set the current line number.
7289 * @param line_number
7292 void surf_parse_set_lineno (int line_number )
7295 surf_parse_lineno = line_number;
7298 /** Set the input stream. This does not discard the current
7300 * @param in_str A readable stream.
7302 * @see surf_parse__switch_to_buffer
7304 void surf_parse_set_in (FILE * in_str )
7306 surf_parse_in = in_str ;
7309 void surf_parse_set_out (FILE * out_str )
7311 surf_parse_out = out_str ;
7314 int surf_parse_get_debug (void)
7316 return surf_parse__flex_debug;
7319 void surf_parse_set_debug (int bdebug )
7321 surf_parse__flex_debug = bdebug ;
7324 static int yy_init_globals (void)
7326 /* Initialization is the same as for the non-reentrant scanner.
7327 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7330 /* We do not touch surf_parse_lineno unless the option is enabled. */
7331 surf_parse_lineno = 1;
7333 (yy_buffer_stack) = 0;
7334 (yy_buffer_stack_top) = 0;
7335 (yy_buffer_stack_max) = 0;
7336 (yy_c_buf_p) = (char *) 0;
7340 (yy_start_stack_ptr) = 0;
7341 (yy_start_stack_depth) = 0;
7342 (yy_start_stack) = NULL;
7344 /* Defined in main.c */
7346 surf_parse_in = stdin;
7347 surf_parse_out = stdout;
7349 surf_parse_in = (FILE *) 0;
7350 surf_parse_out = (FILE *) 0;
7353 /* For future reference: Set errno on error, since we are called by
7354 * surf_parse_lex_init()
7359 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7360 int surf_parse_lex_destroy (void)
7363 /* Pop the buffer stack, destroying each element. */
7364 while(YY_CURRENT_BUFFER){
7365 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7366 YY_CURRENT_BUFFER_LVALUE = NULL;
7367 surf_parse_pop_buffer_state();
7370 /* Destroy the stack itself. */
7371 surf_parse_free((yy_buffer_stack) );
7372 (yy_buffer_stack) = NULL;
7374 /* Destroy the start condition stack. */
7375 surf_parse_free((yy_start_stack) );
7376 (yy_start_stack) = NULL;
7378 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7379 * surf_parse_lex() is called, initialization will occur. */
7386 * Internal utility routines.
7390 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7393 for ( i = 0; i < n; ++i )
7398 #ifdef YY_NEED_STRLEN
7399 static int yy_flex_strlen (yyconst char * s )
7402 for ( n = 0; s[n]; ++n )
7409 void *surf_parse_alloc (yy_size_t size )
7411 return (void *) malloc( size );
7414 void *surf_parse_realloc (void * ptr, yy_size_t size )
7416 /* The cast to (char *) in the following accommodates both
7417 * implementations that use char* generic pointers, and those
7418 * that use void* generic pointers. It works with the latter
7419 * because both ANSI C and C++ allow castless assignment from
7420 * any pointer type to void*, and deal with argument conversions
7421 * as though doing an assignment.
7423 return (void *) realloc( (char *) ptr, size );
7426 void surf_parse_free (void * ptr )
7428 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7431 #define YYTABLES_NAME "yytables"
7433 /* Element context stack lookup. */
7434 int surfxml_element_context(int i)
7436 return (0<i && i<yy_start_stack_depth
7437 ? yy_start_stack[yy_start_stack_ptr - i]
7442 void print_yy_stack(char* fmt, ...)
7444 int i = 0; va_list ap; va_start(ap, fmt);
7445 vfprintf(stderr, fmt, ap);
7446 if (surfxml_statenames) {
7447 for (i=1; i<yy_start_stack_ptr; i++) {
7448 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7450 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7455 void print_surfxml_bufferstack()
7458 fputs("Buffer: ", stderr);
7459 for (i = 0; i < blimit; i++) {
7460 if ( surfxml_bufferstack[i] == '\377' ) break;
7461 putc(surfxml_bufferstack[i], stderr);
7466 static void debug_enter(int state, const char* statename) {
7467 yy_push_state(state);
7468 if (surf_parse__flex_debug) {
7469 print_yy_stack("--ENTER(%s) : ",statename);
7470 print_surfxml_bufferstack();
7474 static void debug_leave(void) {
7475 if (surf_parse__flex_debug) {
7476 print_yy_stack("--LEAVE : ");
7477 print_surfxml_bufferstack();
7482 static void debug_set(int state, const char* statename) {
7484 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7488 static void cleanup(void)
7490 if (surfxml_statenames) {
7491 free(surfxml_statenames);
7492 surfxml_statenames = NULL;
7494 free(surfxml_bufferstack);
7495 surfxml_bufferstack = NULL;
7501 static int fail(const char* fmt, ...)
7503 int chars_left, used;
7504 va_list ap; va_start(ap, fmt);
7505 #ifdef FLEXML_yylineno
7506 used = sprintf(flexml_err_msg,
7507 "Invalid XML (XML input line %d, state %d): ",
7508 surf_parse_lineno, YY_START);
7510 used = sprintf(flexml_err_msg,
7511 "Invalid XML (state %d): ",
7514 chars_left = flexml_max_err_msg_size - used - 1;
7515 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7518 #ifndef FLEXML_quiet_parser
7519 /* print directly to sdterr */
7520 fprintf(stderr, "%s\n", flexml_err_msg);
7521 flexml_err_msg[0] = '\0';