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[2355] =
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,
668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 static yyconst flex_int32_t yy_ec[256] =
680 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
681 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
683 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
684 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
685 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
686 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
687 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
688 28, 37, 38, 39, 40, 41, 42, 43, 44, 28,
689 45, 1, 46, 1, 47, 1, 48, 49, 50, 51,
691 52, 53, 54, 55, 56, 28, 57, 58, 59, 60,
692 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
693 71, 28, 1, 1, 1, 1, 1, 1, 1, 1,
694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
695 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,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710 static yyconst flex_int32_t yy_meta[72] =
712 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
713 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
714 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
715 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
716 5, 5, 5, 5, 1, 1, 5, 9, 9, 9,
717 9, 9, 9, 5, 5, 5, 5, 5, 5, 5,
718 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
722 static yyconst flex_int16_t yy_base[2630] =
724 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
725 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
726 107, 175, 75, 78, 83, 127, 130, 133, 136, 139,
727 156, 195, 198, 201, 204, 207, 224, 227, 245, 307,
728 277, 284, 369, 434, 265, 268, 271, 275, 329, 332,
729 336, 339, 499, 565, 389, 392, 631, 695, 395, 398,
730 401, 454, 457, 460, 463, 466, 519, 522, 525, 528,
731 531, 585, 588, 591, 594, 597, 651, 654, 657, 660,
732 663, 715, 718, 721, 724, 727, 744, 750, 768, 833,
733 788, 791, 794, 797, 801, 853, 856, 859, 898, 0,
735 862, 866, 969, 0, 1039, 1042, 1060, 1116, 1080, 1083,
736 1172, 1237, 1086, 1089, 1093, 1136, 1139, 1142, 1145, 1149,
737 1302, 1367, 1192, 1195, 1198, 1201, 1204, 1257, 1260, 1263,
738 1432, 1497, 1266, 1269, 1322, 1325, 1328, 1331, 1334, 1387,
739 1562, 1618, 1390, 1393, 1674, 1739, 1396, 1399, 1452, 1455,
740 1458, 1461, 1464, 1517, 1804, 1869, 1520, 1523, 1526, 1529,
741 1582, 1585, 1588, 1591, 1934, 2002, 1594, 1638, 2070, 2126,
742 1641, 1644, 1647, 1650, 1694, 1697, 1700, 1703, 2182, 2250,
743 1706, 1759, 0, 0, 6405, 7665, 7665, 95, 100, 29,
744 41, 7665, 159, 51, 7665, 7665, 6389, 7665, 7665, 6378,
746 7665, 6393, 6388, 1716, 7665, 7665, 7665, 7665, 6386, 6381,
747 6337, 84, 7665, 162, 6362, 0, 150, 7665, 6324, 7665,
748 165, 2314, 6325, 1705, 94, 6357, 6306, 7665, 230, 6347,
749 0, 218, 7665, 6305, 6309, 6302, 343, 6307, 7665, 233,
750 6332, 0, 219, 7665, 6294, 6294, 248, 6273, 7665, 342,
751 88, 111, 179, 7665, 363, 6318, 0, 401, 7665, 6279,
752 6275, 6266, 7665, 427, 406, 7665, 483, 6304, 0, 403,
753 7665, 6272, 6261, 7665, 492, 1777, 1780, 6258, 28, 6293,
754 11, 272, 428, 549, 31, 6297, 83, 7665, 550, 6288,
755 0, 412, 7665, 6239, 6240, 6249, 6233, 6227, 7665, 555,
757 287, 294, 7665, 560, 6272, 0, 468, 7665, 6219, 169,
758 6225, 6234, 6236, 151, 6224, 354, 7665, 616, 609, 7665,
759 621, 6251, 0, 477, 7665, 6202, 6198, 6205, 6214, 6212,
760 6198, 296, 7665, 624, 668, 7665, 680, 6238, 0, 534,
761 7665, 6194, 6203, 7665, 688, 744, 7665, 818, 6233, 0,
762 665, 7665, 6200, 6196, 6198, 481, 7665, 823, 414, 479,
763 7665, 883, 6223, 0, 729, 7665, 6177, 297, 7665, 888,
764 699, 6229, 6178, 7665, 1045, 6215, 0, 739, 7665, 6169,
765 6162, 746, 7665, 1048, 6218, 13, 7665, 1051, 6209, 0,
766 802, 7665, 6168, 6172, 7665, 1110, 1215, 7665, 1166, 6202,
768 0, 867, 7665, 6154, 6149, 6153, 7665, 1221, 6200, 635,
769 7665, 1229, 6191, 0, 1094, 7665, 6143, 6146, 6150, 6139,
770 7665, 1286, 1046, 6188, 435, 7665, 1294, 6179, 0, 1150,
771 7665, 6150, 7665, 1297, 1339, 7665, 1352, 6175, 0, 1271,
772 7665, 6143, 7665, 1355, 1717, 6129, 108, 7665, 1359, 6168,
773 0, 1345, 7665, 6136, 6138, 7665, 1417, 1404, 1420, 251,
774 6113, 7665, 6172, 6161, 7665, 7665, 7665, 1414, 155, 6110,
775 6109, 6107, 6151, 6112, 7665, 0, 6105, 6102, 6125, 6098,
776 6088, 413, 6097, 6101, 1227, 568, 6088, 544, 6113, 610,
777 1417, 6086, 1482, 1497, 7665, 0, 6089, 1784, 6082, 505,
779 6079, 6120, 7665, 0, 6079, 1834, 6068, 6087, 6074, 6082,
780 6064, 1547, 7665, 0, 6075, 6066, 6075, 6056, 7665, 0,
781 1841, 6054, 6096, 6079, 6045, 6050, 6054, 1424, 6071, 1426,
782 1432, 7665, 0, 6058, 624, 1844, 6036, 6056, 6044, 7665,
783 0, 6050, 6050, 1889, 6030, 1892, 6027, 6023, 6035, 6035,
784 6037, 6034, 6028, 6030, 7665, 0, 6027, 6027, 6012, 1897,
785 6004, 6000, 6020, 6015, 5992, 7665, 0, 5992, 1900, 5988,
786 7665, 0, 5987, 1954, 5980, 5997, 5992, 5981, 7665, 0,
787 5972, 5983, 5973, 5967, 5970, 7665, 0, 5959, 5977, 5969,
788 5959, 5995, 7665, 0, 5948, 1957, 5953, 7665, 0, 5944,
790 5958, 5954, 5954, 7665, 0, 5938, 5932, 5938, 5943, 5928,
791 5925, 7665, 0, 5926, 5935, 7665, 0, 1962, 5932, 1489,
792 7665, 0, 1965, 5919, 5914, 5955, 5960, 262, 5910, 7665,
793 1475, 0, 5906, 5902, 5945, 5944, 5895, 7665, 5907, 5889,
794 1903, 1968, 1492, 5895, 5886, 5880, 5882, 5876, 5880, 5883,
795 5886, 5872, 5508, 5500, 5517, 5504, 1550, 5496, 5510, 5513,
796 5499, 5507, 2025, 1728, 5501, 5532, 2029, 2032, 7665, 5502,
797 2035, 1792, 2038, 5486, 2090, 5498, 2097, 2100, 5482, 5475,
798 5482, 5481, 2103, 2147, 2150, 1983, 5460, 2153, 2160, 1669,
799 5463, 5458, 5457, 5448, 1863, 5444, 5442, 5452, 5434, 5435,
801 2156, 1991, 5434, 5410, 2202, 2205, 5419, 1552, 2210, 2056,
802 5412, 2213, 2217, 2270, 5402, 5400, 5395, 5386, 5375, 5380,
803 2273, 2279, 5376, 618, 5366, 2282, 2231, 2288, 5373, 5360,
804 5356, 2300, 2307, 5349, 2310, 2239, 2313, 2320, 5361, 2328,
805 2339, 5359, 5344, 5323, 2347, 2350, 2354, 2380, 2383, 2387,
806 2390, 5327, 2393, 2401, 2411, 2414, 2419, 2423, 5334, 2434,
807 2453, 2443, 2465, 2446, 2468, 2472, 2475, 2478, 5334, 5313,
808 5320, 5312, 2486, 2490, 5313, 5299, 2497, 2500, 2505, 2509,
809 2523, 2526, 5302, 2532, 2535, 5283, 2553, 2556, 5329, 7665,
810 7665, 518, 5284, 7665, 5324, 5321, 5271, 7665, 7665, 5265,
812 5264, 5272, 2559, 2563, 7665, 2566, 1555, 5259, 5252, 5268,
813 5250, 5260, 5246, 5253, 5238, 5234, 498, 5248, 5231, 5233,
814 5214, 1852, 5197, 5197, 5209, 693, 2578, 2586, 7665, 7665,
815 2596, 5229, 2599, 2602, 7665, 2605, 5189, 2624, 7665, 7665,
816 2632, 2635, 2643, 2646, 2652, 5200, 2609, 2664, 7665, 2667,
817 832, 5190, 2670, 5185, 2673, 2676, 7665, 2688, 2679, 7665,
818 7665, 5180, 2695, 2698, 7665, 2701, 5164, 5176, 5153, 5161,
819 5150, 5141, 5138, 5144, 5140, 2707, 2710, 7665, 7665, 5122,
820 5131, 2720, 2726, 7665, 2729, 5123, 5104, 5117, 5109, 2735,
821 7665, 7665, 2748, 2751, 7665, 7665, 2759, 2762, 5090, 5097,
823 5101, 5081, 5084, 5077, 2770, 2773, 7665, 2777, 5072, 5068,
824 5059, 5074, 2780, 7665, 7665, 2796, 2799, 5059, 5053, 5056,
825 2807, 2810, 7665, 2814, 5055, 2817, 7665, 7665, 2829, 2833,
826 7665, 2836, 5031, 2839, 7665, 7665, 5038, 5037, 5040, 2848,
827 2855, 7665, 2858, 2861, 2867, 2879, 2882, 5038, 2890, 2893,
828 7665, 2897, 5024, 2902, 2905, 5015, 5014, 2920, 2923, 5021,
829 2931, 2934, 7665, 2938, 5022, 2941, 7665, 7665, 2953, 2957,
830 7665, 2963, 2966, 2972, 5005, 5001, 2984, 2987, 2995, 3002,
831 7665, 3005, 4998, 3008, 5015, 4991, 3014, 3017, 7665, 3026,
832 4989, 5000, 3029, 3036, 7665, 3039, 3048, 7665, 7665, 3058,
834 3061, 7665, 3066, 4999, 3070, 7665, 7665, 4994, 3080, 3086,
835 7665, 3092, 1195, 3095, 7665, 7665, 5027, 5015, 4978, 4965,
836 3099, 4958, 4960, 4949, 4947, 4947, 1926, 2064, 1929, 4949,
837 4940, 2110, 4930, 4929, 4928, 4914, 4903, 2174, 4915, 4907,
838 3105, 3119, 4907, 4934, 3127, 4902, 3130, 7665, 7665, 3138,
839 3142, 3152, 7665, 7665, 4897, 3160, 2276, 4887, 3164, 3167,
840 3182, 3185, 4882, 3188, 7665, 4874, 4874, 2614, 3191, 4886,
841 4881, 4880, 4882, 4869, 3194, 3200, 3212, 3215, 3219, 4876,
842 3222, 4856, 4869, 3225, 3243, 3251, 7665, 7665, 3261, 4844,
843 4864, 4833, 4842, 4816, 3264, 4837, 3267, 4817, 4812, 3270,
845 7665, 7665, 3279, 4807, 4818, 3285, 4804, 3288, 4803, 4804,
846 4792, 3291, 3298, 3310, 7665, 7665, 3318, 7665, 7665, 4785,
847 3328, 3331, 3337, 7665, 7665, 4783, 4791, 3354, 7665, 7665,
848 4774, 3348, 4768, 3362, 3367, 7665, 7665, 4767, 4781, 3377,
849 7665, 7665, 3385, 4767, 3388, 3393, 4756, 4770, 3408, 4757,
850 3411, 3414, 3418, 4753, 3421, 3433, 285, 4785, 3439, 7665,
851 4784, 7665, 7665, 4741, 4736, 3443, 4724, 4737, 4722, 4727,
852 4724, 3446, 3452, 4723, 3458, 4711, 4705, 3462, 4702, 3465,
853 3470, 4706, 4706, 3473, 3476, 4690, 3480, 7665, 7665, 4687,
854 4698, 3490, 4668, 3495, 7665, 7665, 4654, 3510, 3516, 4655,
856 3522, 1746, 1889, 3530, 3534, 3542, 4656, 4643, 4639, 3548,
857 3551, 3554, 3557, 3561, 4654, 4632, 3564, 7665, 7665, 3572,
858 3575, 3583, 3586, 4638, 3594, 4640, 3597, 3601, 3609, 4613,
859 3620, 7665, 7665, 3628, 3631, 3639, 4618, 4620, 4620, 3642,
860 3646, 4614, 3649, 3653, 3661, 4592, 3667, 3670, 4597, 4595,
861 3679, 4586, 3685, 4594, 4568, 4577, 3688, 3691, 4577, 3699,
862 4564, 3706, 4572, 3711, 3714, 3719, 3725, 4565, 3732, 3737,
863 3740, 3744, 4558, 3751, 7665, 7665, 4554, 4543, 3747, 4553,
864 3759, 3766, 3778, 3782, 4543, 3785, 3791, 3803, 1390, 1344,
865 712, 7665, 4511, 3808, 3811, 4521, 4507, 4529, 4498, 3814,
867 4472, 4473, 4469, 3817, 3822, 3826, 3830, 4463, 3837, 4448,
868 3840, 4452, 4434, 4447, 4474, 3843, 4418, 4421, 3846, 3849,
869 4450, 4434, 736, 4418, 4430, 4415, 845, 4391, 3852, 7665,
870 7665, 3867, 3871, 4373, 4367, 3874, 3877, 4345, 4341, 3880,
871 7665, 7665, 3889, 4353, 4341, 4277, 3897, 7665, 4253, 3900,
872 7665, 7665, 3908, 3916, 4245, 3926, 7665, 7665, 3934, 3937,
873 3945, 4213, 4164, 3948, 3952, 3966, 4110, 3969, 7665, 7665,
874 3977, 3981, 4095, 3989, 7665, 7665, 4095, 4084, 3997, 7665,
875 4090, 4000, 4071, 4003, 4020, 4006, 4008, 4005, 3910, 4021,
876 7665, 3907, 4024, 3849, 4027, 4030, 4049, 4052, 3747, 4045,
878 3735, 4067, 4070, 4073, 4081, 4088, 4099, 3716, 3645, 3583,
879 4102, 3576, 4106, 7665, 7665, 4121, 4124, 4127, 4130, 7665,
880 7665, 4143, 7665, 68, 717, 674, 7, 4146, 4149, 4157,
881 4166, 178, 242, 4172, 4177, 277, 299, 4180, 4183, 4186,
882 298, 4189, 4192, 324, 4195, 356, 387, 4198, 7665, 517,
883 560, 4202, 4205, 4208, 701, 725, 745, 768, 766, 777,
884 790, 790, 797, 790, 4223, 4226, 4229, 4237, 788, 4244,
885 815, 810, 1075, 1131, 835, 838, 4247, 7665, 7665, 837,
886 4255, 7665, 7665, 4263, 4266, 994, 1001, 4274, 7665, 7665,
887 4282, 1018, 4285, 7665, 7665, 1034, 1041, 1074, 1084, 4293,
889 1101, 4296, 4301, 1106, 1102, 1633, 1739, 1130, 1159, 4314,
890 7665, 1151, 4317, 7665, 7665, 4326, 7665, 7665, 1162, 4334,
891 1154, 4337, 4341, 7665, 7665, 4349, 7665, 7665, 4357, 4360,
892 1174, 1170, 4363, 1169, 4367, 4370, 4378, 4389, 1233, 1471,
893 4393, 4396, 7665, 7665, 4404, 4408, 4411, 1207, 4414, 4417,
894 4427, 4430, 1217, 4433, 1220, 4436, 1252, 7665, 4439, 1273,
895 4442, 7665, 4445, 7665, 7665, 1316, 1303, 1319, 1334, 1357,
896 1381, 1368, 1389, 1399, 1405, 4453, 4462, 7665, 7665, 4457,
897 1381, 1415, 1461, 1512, 1539, 1533, 1569, 1550, 1548, 1561,
898 4472, 7665, 7665, 1555, 1582, 4480, 1599, 1605, 1597, 1609,
900 1614, 4483, 7665, 4486, 4489, 7665, 7665, 1614, 1629, 1684,
901 1707, 1687, 1707, 1665, 1674, 4504, 1678, 4507, 4513, 4516,
902 4519, 4522, 4540, 4526, 1683, 4548, 4551, 4554, 4557, 7665,
903 4561, 1777, 1716, 4567, 4580, 4583, 1672, 4586, 4589, 1708,
904 1716, 1709, 4592, 4595, 1727, 1749, 1753, 1786, 1780, 1794,
905 1791, 1787, 1805, 1793, 1814, 4604, 1786, 1792, 1797, 1858,
906 7665, 1859, 7665, 4610, 1819, 1850, 1840, 4613, 4623, 7665,
907 1843, 1845, 1855, 4631, 1852, 4634, 4638, 1867, 1892, 1904,
908 1957, 7665, 1965, 7665, 4652, 1917, 4655, 1919, 4658, 7665,
909 4663, 4666, 4677, 4681, 4684, 7665, 7665, 4692, 4696, 4704,
911 4710, 7665, 4713, 4716, 1998, 2005, 1963, 4722, 7665, 1926,
912 1930, 1938, 4725, 4729, 2018, 2026, 1930, 1966, 1976, 1975,
913 1979, 2024, 2015, 2024, 2026, 2031, 2055, 4737, 2017, 2015,
914 4743, 7665, 7665, 4747, 4750, 2024, 2035, 2042, 4761, 4765,
915 2037, 4773, 2054, 4779, 4782, 4791, 4797, 7665, 7665, 2062,
916 2067, 2065, 7665, 7665, 4805, 4809, 4817, 4823, 4826, 2321,
917 2394, 4835, 7665, 4841, 4844, 7665, 7665, 4854, 4860, 4868,
918 7665, 2122, 2105, 2227, 4872, 2072, 2074, 4875, 4878, 2124,
919 2144, 2131, 2152, 2119, 2156, 2169, 2174, 2183, 7665, 2205,
920 2190, 2192, 2198, 7665, 4888, 4893, 4896, 4899, 4907, 4917,
922 7665, 7665, 2197, 2185, 2199, 4925, 7665, 7665, 2241, 4933,
923 4942, 2244, 4951, 7665, 7665, 4959, 4962, 2239, 4970, 2248,
924 4973, 7665, 7665, 4981, 4984, 4992, 4995, 2265, 2270, 2272,
925 2286, 2290, 2292, 5003, 5006, 7665, 7665, 2345, 2314, 5014,
926 4902, 2272, 2273, 5018, 7665, 7665, 2322, 2326, 2344, 2337,
927 5026, 2335, 2353, 2371, 2357, 2349, 2376, 2391, 2379, 5033,
928 5036, 5039, 5045, 2355, 5057, 7665, 7665, 2356, 2366, 2358,
929 2378, 5065, 7665, 7665, 2361, 5073, 7665, 7665, 2383, 5082,
930 5085, 2369, 5093, 2410, 2452, 5101, 2488, 2506, 2399, 2424,
931 2454, 2422, 2449, 2475, 5109, 2494, 5112, 5115, 5118, 5137,
933 5140, 2463, 2480, 2482, 2498, 5143, 5146, 2502, 2512, 7665,
934 2515, 2519, 2522, 7665, 2523, 5154, 5157, 7665, 7665, 2515,
935 2516, 2518, 5165, 2519, 5168, 5173, 5176, 7665, 7665, 5186,
936 2542, 2552, 2549, 2559, 2556, 2567, 2559, 2570, 2576, 2595,
937 7665, 2589, 2598, 7665, 5191, 7665, 2674, 5194, 5197, 5206,
938 5226, 5272, 5219, 5237, 2606, 2626, 2615, 2633, 5246, 7665,
939 7665, 2637, 2620, 2627, 2651, 2631, 2632, 5262, 2628, 2637,
940 2656, 5266, 5254, 2649, 5284, 5292, 5302, 5305, 5320, 5323,
941 2711, 2682, 2716, 2696, 2736, 2705, 2736, 2709, 2742, 2750,
942 2749, 2750, 2765, 5331, 2786, 2787, 5351, 5397, 2755, 7665,
944 2756, 7665, 7665, 2781, 2782, 7665, 2782, 2786, 5341, 7665,
945 2752, 2770, 2753, 5371, 2852, 2892, 2773, 5379, 2893, 2925,
946 5417, 7665, 7665, 5425, 2944, 2957, 7665, 2822, 7665, 2837,
947 7665, 2841, 7665, 2845, 7665, 7665, 7665, 7665, 2857, 2942,
948 2959, 2849, 3004, 2858, 5344, 2857, 2859, 7665, 7665, 7665,
949 7665, 5388, 5391, 5433, 2906, 2858, 3004, 2860, 5436, 2862,
950 2883, 2875, 2920, 3013, 2924, 3026, 2943, 7665, 7665, 7665,
951 7665, 5442, 2986, 2973, 2991, 5445, 2995, 3005, 5454, 5457,
952 5465, 5468, 5476, 5479, 2997, 3013, 3025, 3016, 3026, 3049,
953 5487, 5490, 3043, 3055, 3048, 3063, 3052, 3060, 3082, 3066,
955 3078, 3089, 5498, 3093, 7665, 7665, 5501, 7665, 7665, 5510,
956 7665, 7665, 5518, 3100, 3122, 3078, 3085, 3081, 3084, 3103,
957 3100, 5526, 7665, 7665, 3111, 3113, 3120, 3122, 3136, 3142,
958 3138, 3142, 3147, 3144, 3192, 7665, 3160, 3170, 3178, 3178,
959 3180, 3195, 3204, 3202, 3208, 3211, 3215, 3216, 3218, 3222,
960 3220, 3226, 3230, 3228, 3234, 3235, 3258, 3236, 3255, 3258,
961 3277, 3267, 3264, 3281, 3271, 3269, 3286, 3275, 3292, 3283,
962 3300, 3290, 3288, 3311, 3301, 3302, 3319, 3333, 3309, 3310,
963 3323, 3324, 3336, 3331, 3368, 3349, 3341, 3375, 3349, 3387,
964 3362, 3391, 3375, 3367, 3398, 3380, 3372, 3417, 3431, 3397,
966 3403, 3401, 3406, 3433, 3412, 7665, 3443, 3438, 7665, 3453,
967 7665, 3455, 7665, 3482, 3458, 7665, 3491, 3470, 7665, 3483,
968 3469, 3481, 3472, 3484, 7665, 3485, 7665, 3489, 3495, 3496,
969 7665, 3501, 7665, 3509, 5535, 3513, 3535, 3521, 3539, 3526,
970 3529, 3537, 3539, 3540, 3550, 5538, 3600, 7665, 3599, 7665,
971 3603, 3606, 3611, 3610, 3614, 3618, 3665, 3676, 7665, 7665,
972 7665, 7665, 7665, 7665, 7665, 7665, 3618, 3640, 3658, 3705,
973 3712, 3746, 3757, 3844, 3655, 3845, 3847, 3876, 3770, 3771,
974 3745, 3865, 3874, 3903, 3657, 3877, 3634, 3893, 3888, 3904,
975 3914, 3925, 3896, 3977, 3957, 3962, 3906, 4025, 3974, 3999,
977 3993, 4017, 4039, 4042, 3922, 3969, 4075, 4087, 4043, 4060,
978 3802, 4094, 4093, 4098, 4100, 4115, 3994, 4018, 4243, 4251,
979 4068, 4183, 4152, 4217, 4203, 4222, 4259, 4291, 4199, 4286,
980 4193, 4272, 4254, 4273, 4358, 4403, 4292, 4329, 4450, 4484,
981 4364, 4520, 4527, 4528, 4224, 4302, 4552, 4598, 4474, 4305,
982 5546, 5549, 7665, 7665, 5569, 5578, 5587, 5596, 5605, 5614,
983 5623, 5632, 5641, 5650, 5659, 5668, 5677, 5686, 5695, 5704,
984 5713, 5722, 5731, 5740, 5749, 5758, 5767, 5776, 5785, 5794,
985 5803, 5812, 5821, 5830, 5839, 5848, 5857, 5866, 5875, 5884,
986 5893, 5902, 5911, 5920, 5927, 5934, 5941, 5948, 5955, 5962,
988 5969, 5976, 5983, 5990, 5997, 6004, 6011, 6018, 6025, 6032,
989 6039, 6046, 6055, 6062, 6067, 6074, 6079, 6086, 6091, 6098,
990 6103, 6110, 6115, 6120, 6127, 6132, 6139, 6144, 6151, 6156,
991 6163, 6168, 6175, 6180, 6187, 6192, 6199, 6204, 6211, 6216,
992 6223, 6228, 6235, 6240, 6247, 6252, 6259, 6264, 6273, 6279,
993 6286, 6294, 6301, 6309, 6316, 6324, 6331, 6339, 6346, 6354,
994 6361, 6369, 6376, 6384, 6391, 6399, 6406, 6414, 6421, 6429,
995 6437, 6445, 6453, 6461, 6468, 6476, 6484, 6492, 6499, 6507,
996 6514, 6522, 6530, 6537, 6545, 6554, 6560, 6567, 6575, 6583,
997 6591, 6598, 6606, 6613, 6621, 6628, 6636, 6643, 6651, 6658,
999 6666, 6673, 6681, 6688, 6696, 6703, 6711, 6718, 6726, 6733,
1000 6741, 6748, 6756, 6763, 6771, 6778, 6786, 6793, 6801, 6809,
1001 6816, 6824, 6833, 6842, 6849, 6857, 6864, 6872, 6879, 6887,
1002 6894, 6902, 6909, 6916, 6924, 6931, 6939, 6946, 6954, 6961,
1003 6969, 6976, 6984, 6991, 6999, 7006, 7014, 7021, 7029, 7036,
1004 7044, 7051, 7059, 7067, 7075, 7083, 7091, 7099, 7108, 7117,
1005 7124, 7132, 7139, 7147, 7154, 7162, 7169, 7177, 7184, 7191,
1006 7199, 7206, 7214, 7221, 7229, 7236, 7244, 7251, 7259, 7266,
1007 7274, 7282, 7290, 7297, 7305, 7313, 7321, 7328, 7336, 7344,
1008 7352, 7360, 7369, 7378, 7386, 7394, 7401, 7409, 7416, 7424,
1010 7432, 7440, 7448, 7455, 7462, 7470, 7477, 7484, 7492, 7499,
1011 7506, 7514, 7521, 7529, 7536, 7544, 7552, 7559, 7567, 7575,
1012 7583, 7592, 7601, 7610, 7619, 7628, 7637, 7646, 7655
1015 static yyconst flex_int16_t yy_def[2630] =
1017 2355, 2355, 2356, 2356, 2356, 2356, 2357, 2357, 2358, 2358,
1018 2359, 2359, 2360, 2360, 2360, 2360, 2361, 2361, 2355, 2355,
1019 2362, 2362, 2363, 2363, 2363, 2363, 2363, 2363, 2355, 2355,
1020 2363, 2363, 2355, 2355, 2363, 2363, 2363, 2363, 2364, 2364,
1021 2360, 2360, 2365, 2365, 2366, 2366, 2355, 2355, 2366, 2366,
1022 2366, 2366, 2367, 2367, 2368, 2368, 2369, 2369, 2370, 2370,
1023 2370, 2370, 2355, 2355, 2370, 2370, 2370, 2370, 2355, 2355,
1024 2370, 2370, 2355, 2355, 2370, 2370, 2370, 2370, 2355, 2355,
1025 2370, 2370, 2355, 2355, 2370, 2370, 2370, 2370, 2371, 2371,
1026 2372, 2372, 2355, 2355, 2372, 2372, 2372, 2372, 2354, 99,
1028 2373, 2373, 2354, 103, 2374, 2374, 2375, 2375, 2376, 2376,
1029 2377, 2377, 2378, 2378, 2355, 2355, 2378, 2378, 2378, 2378,
1030 2379, 2379, 2380, 2380, 2355, 2355, 2380, 2380, 2380, 2380,
1031 2381, 2381, 2382, 2382, 2355, 2355, 2382, 2382, 2382, 2382,
1032 2383, 2383, 2384, 2384, 2385, 2385, 2386, 2386, 2355, 2355,
1033 2386, 2386, 2386, 2386, 2387, 2387, 2388, 2388, 2355, 2355,
1034 2388, 2388, 2388, 2388, 2389, 2389, 2390, 2390, 2391, 2391,
1035 2392, 2392, 2355, 2355, 2392, 2392, 2392, 2392, 2393, 2393,
1036 2394, 2394, 2355, 2355, 2354, 2354, 2354, 2354, 2354, 2354,
1037 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1039 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1040 2354, 2354, 2354, 2354, 2354, 2395, 2354, 2354, 2395, 2354,
1041 2354, 2354, 222, 222, 222, 224, 224, 2354, 2354, 2354,
1042 2396, 2354, 2354, 2396, 2396, 2396, 2354, 2354, 2354, 2354,
1043 2354, 2397, 2354, 2354, 2397, 2397, 2397, 2397, 2354, 2354,
1044 224, 224, 224, 2354, 2354, 2354, 2398, 2354, 2354, 2398,
1045 2398, 2398, 2354, 2354, 2354, 2354, 2354, 2354, 2399, 2354,
1046 2354, 2399, 2399, 2354, 2354, 225, 225, 225, 276, 277,
1047 277, 277, 277, 283, 284, 283, 283, 2354, 2354, 2354,
1048 2400, 2354, 2354, 2400, 2400, 2400, 2400, 2400, 2354, 2354,
1050 224, 224, 2354, 2354, 2354, 2401, 2354, 2354, 2401, 2401,
1051 2401, 2401, 2401, 2401, 2401, 2401, 2354, 2354, 2354, 2354,
1052 2354, 2354, 2402, 2354, 2354, 2402, 2402, 2402, 2402, 2402,
1053 2402, 2402, 2354, 2354, 2354, 2354, 2354, 2354, 2403, 2354,
1054 2354, 2403, 2403, 2354, 2354, 2354, 2354, 2354, 2354, 2404,
1055 2354, 2354, 2404, 2404, 2404, 2404, 2354, 2354, 224, 224,
1056 2354, 2354, 2354, 2405, 2354, 2354, 2405, 2405, 2354, 2354,
1057 224, 371, 371, 2354, 2354, 2354, 2406, 2354, 2354, 2406,
1058 2406, 2406, 2354, 2354, 371, 371, 2354, 2354, 2354, 2407,
1059 2354, 2354, 2407, 2407, 2354, 2354, 2354, 2354, 2354, 2354,
1061 2408, 2354, 2354, 2408, 2408, 2408, 2354, 2354, 371, 371,
1062 2354, 2354, 2354, 2409, 2354, 2354, 2409, 2409, 2409, 2409,
1063 2354, 2354, 224, 423, 423, 2354, 2354, 2354, 2410, 2354,
1064 2354, 2410, 2354, 2354, 2354, 2354, 2354, 2354, 2411, 2354,
1065 2354, 2411, 2354, 2354, 423, 445, 445, 2354, 2354, 2354,
1066 2412, 2354, 2354, 2412, 2412, 2354, 2354, 2354, 2354, 2413,
1067 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1068 2354, 2354, 2354, 2354, 2354, 2414, 2414, 2415, 2354, 2354,
1069 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1070 2354, 2354, 2354, 2354, 2354, 2416, 2416, 2416, 2416, 2354,
1072 2417, 2354, 2354, 2418, 2418, 2418, 2418, 2418, 2418, 2418,
1073 2419, 2354, 2354, 2420, 2420, 2420, 2420, 2421, 2354, 2422,
1074 2422, 2422, 2423, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1075 2354, 2354, 2400, 2400, 2400, 2400, 2400, 2400, 2424, 2354,
1076 2425, 2425, 2425, 2425, 2425, 2425, 2425, 2425, 2425, 2425,
1077 2425, 2425, 2425, 2426, 2354, 2427, 2427, 2427, 2427, 2427,
1078 2427, 2427, 2427, 2427, 2428, 2354, 2429, 2429, 2429, 2430,
1079 2354, 2431, 2431, 2431, 2431, 2431, 2431, 2432, 2354, 2433,
1080 2433, 2433, 2433, 2434, 2354, 2354, 2435, 2435, 2435, 2435,
1081 2435, 2436, 2354, 2437, 2437, 2437, 2438, 2354, 2439, 2439,
1083 2439, 2439, 2440, 2354, 2441, 2441, 2441, 2441, 2441, 2442,
1084 2354, 2354, 2443, 2443, 2444, 2354, 2445, 2445, 2446, 2354,
1085 2354, 2447, 2447, 2447, 2448, 2449, 2354, 2449, 2354, 2354,
1086 2354, 2450, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2451,
1087 2452, 2452, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1088 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1089 2354, 2453, 2354, 2354, 2453, 2354, 2454, 2454, 2354, 2455,
1090 2354, 2354, 2455, 2455, 2455, 2455, 2456, 2456, 2354, 2457,
1091 2457, 2457, 2458, 2458, 2354, 2354, 2459, 2460, 2460, 2354,
1092 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2461, 2461, 2461,
1094 2354, 2354, 2461, 2461, 2462, 2462, 2463, 2463, 2354, 2354,
1095 2463, 2354, 2354, 2463, 2463, 2463, 2463, 2463, 2463, 2463,
1096 2464, 2464, 2465, 2465, 2465, 2354, 2354, 2465, 2465, 2465,
1097 2465, 2466, 2466, 2467, 2354, 2354, 2468, 2468, 2469, 2354,
1098 2354, 2469, 2469, 2469, 2470, 2470, 2471, 2471, 2471, 2472,
1099 2472, 2354, 2473, 2473, 2473, 2473, 2474, 2474, 2475, 2354,
1100 2354, 2476, 2476, 2477, 2477, 2477, 2478, 2478, 2479, 2479,
1101 2479, 2479, 2480, 2480, 2354, 2481, 2482, 2482, 2354, 2354,
1102 2483, 2483, 2354, 2354, 2354, 2484, 2485, 2485, 2486, 2354,
1103 2354, 2486, 2354, 2354, 2487, 2354, 2354, 2354, 2354, 2354,
1105 2354, 2488, 2354, 2489, 2354, 2489, 2354, 2354, 2354, 2354,
1106 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1107 2354, 2354, 2354, 2354, 2354, 2354, 2490, 2354, 2354, 2354,
1108 2490, 2354, 2354, 2491, 2354, 2491, 2492, 2354, 2354, 2354,
1109 2354, 2354, 2492, 2354, 2354, 2492, 2354, 2493, 2354, 2493,
1110 2354, 2494, 2494, 2494, 2354, 2495, 2354, 2495, 2354, 2354,
1111 2354, 2496, 2354, 2497, 2354, 2497, 2354, 2354, 2354, 2354,
1112 2354, 2354, 2354, 2498, 2498, 2498, 2354, 2354, 2354, 2498,
1113 2498, 2354, 2499, 2354, 2499, 2500, 2500, 2500, 2500, 2354,
1114 2354, 2354, 2500, 2354, 2354, 2354, 2354, 2354, 2500, 2500,
1116 2500, 2500, 2500, 2500, 2354, 2501, 2354, 2501, 2502, 2502,
1117 2502, 2502, 2354, 2354, 2354, 2354, 2354, 2502, 2502, 2502,
1118 2354, 2503, 2354, 2503, 2504, 2354, 2354, 2354, 2354, 2505,
1119 2354, 2505, 2506, 2354, 2354, 2354, 2506, 2506, 2506, 2354,
1120 2507, 2354, 2507, 2354, 2354, 2354, 2354, 2508, 2354, 2509,
1121 2354, 2509, 2354, 2354, 2354, 2510, 2510, 2354, 2354, 2510,
1122 2354, 2511, 2354, 2511, 2512, 2354, 2354, 2354, 2354, 2513,
1123 2354, 2513, 2354, 2354, 2514, 2514, 2354, 2354, 2354, 2515,
1124 2354, 2515, 2516, 2516, 2516, 2516, 2354, 2517, 2354, 2517,
1125 2354, 2518, 2354, 2519, 2354, 2519, 2354, 2354, 2354, 2354,
1127 2520, 2354, 2520, 2354, 2354, 2354, 2354, 2521, 2354, 2522,
1128 2354, 2522, 2523, 2524, 2354, 2354, 2354, 2354, 2354, 2525,
1129 2526, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1130 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1131 2354, 2354, 2527, 2354, 2528, 2529, 2354, 2354, 2354, 2354,
1132 2354, 2354, 2354, 2354, 2529, 2530, 2354, 2531, 2354, 2354,
1133 2531, 2532, 2533, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1134 2354, 2354, 2534, 2534, 2354, 2354, 2534, 2534, 2535, 2536,
1135 2536, 2536, 2536, 2354, 2354, 2354, 2354, 2354, 2536, 2536,
1136 2536, 2536, 2536, 2536, 2537, 2538, 2538, 2538, 2538, 2354,
1138 2354, 2354, 2538, 2538, 2538, 2539, 2540, 2541, 2542, 2542,
1139 2542, 2542, 2543, 2354, 2354, 2354, 2354, 2354, 2354, 2544,
1140 2545, 2354, 2354, 2354, 2354, 2546, 2546, 2354, 2354, 2354,
1141 2546, 2547, 2548, 2549, 2354, 2354, 2354, 2550, 2550, 2354,
1142 2354, 2354, 2551, 2552, 2354, 2354, 2552, 2552, 2553, 2354,
1143 2554, 2555, 2556, 2354, 2557, 2558, 2559, 2560, 2560, 2354,
1144 2560, 2354, 2354, 2354, 2561, 2562, 2354, 2354, 2354, 2354,
1145 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1146 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2563,
1147 2354, 2564, 2565, 2354, 2354, 2354, 2565, 2566, 2354, 2567,
1149 2354, 2354, 2354, 2354, 2354, 2568, 2569, 2354, 2354, 2354,
1150 2354, 2354, 2354, 2354, 2570, 2570, 2354, 2354, 2354, 2354,
1151 2354, 2354, 2354, 2570, 2571, 2572, 2354, 2354, 2572, 2572,
1152 2354, 2354, 2354, 2354, 2354, 2572, 2572, 2572, 2572, 2572,
1153 2573, 2574, 2354, 2354, 2574, 2574, 2354, 2354, 2574, 2574,
1154 2575, 2576, 2577, 2578, 2578, 2578, 2354, 2354, 2578, 2579,
1155 2580, 2581, 2354, 2582, 2582, 2582, 2583, 2584, 2585, 2586,
1156 2586, 2587, 2588, 2354, 2354, 2354, 2588, 2588, 2589, 2354,
1157 2354, 2354, 2590, 2591, 2354, 2354, 2354, 2592, 2593, 2594,
1158 2594, 2354, 2354, 2595, 2596, 2354, 2354, 2354, 2354, 2354,
1160 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1161 2354, 2354, 2354, 2597, 2354, 2598, 2599, 2599, 2600, 2601,
1162 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1163 2354, 2602, 2603, 2354, 2354, 2354, 2354, 2604, 2604, 2354,
1164 2354, 2354, 2354, 2354, 2354, 2604, 2354, 2354, 2605, 2354,
1165 2354, 2354, 2354, 2354, 2605, 2354, 2354, 2354, 2354, 2354,
1166 2605, 2605, 2605, 2354, 2354, 2606, 2607, 2354, 2354, 2354,
1167 2354, 2354, 2607, 2354, 2354, 2354, 2607, 2607, 2354, 2354,
1168 2608, 2609, 2610, 2610, 2610, 2354, 2354, 2354, 2610, 2354,
1169 2354, 2611, 2612, 2354, 2354, 2354, 2354, 2354, 2613, 2614,
1171 2615, 2616, 2354, 2354, 2354, 2354, 2617, 2618, 2618, 2618,
1172 2619, 2354, 2354, 2354, 2354, 2620, 2621, 2354, 2354, 2354,
1173 2354, 2354, 2354, 2622, 2623, 2623, 2354, 2354, 2354, 2596,
1174 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1175 2354, 2354, 2354, 2354, 2354, 2597, 2354, 2354, 2354, 2599,
1176 2599, 2600, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1177 2354, 2354, 2354, 2354, 2602, 2354, 2354, 2354, 2354, 2354,
1178 2604, 2604, 2354, 2354, 2604, 2605, 2354, 2354, 2354, 2605,
1179 2354, 2354, 2354, 2354, 2354, 2605, 2605, 2354, 2354, 2354,
1180 2606, 2607, 2354, 2354, 2354, 2607, 2607, 2607, 2608, 2609,
1182 2610, 2354, 2354, 2610, 2610, 2354, 2354, 2610, 2611, 2354,
1183 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2613, 2614,
1184 2615, 2616, 2354, 2354, 2354, 2354, 2354, 2354, 2617, 2618,
1185 2618, 2618, 2619, 2354, 2620, 2621, 2354, 2622, 2623, 2623,
1186 2354, 2354, 2354, 2354, 2596, 2354, 2354, 2354, 2354, 2354,
1187 2354, 2354, 2354, 2354, 2354, 2354, 2597, 2354, 2599, 2599,
1188 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1189 2354, 2354, 2354, 2354, 2354, 2602, 2354, 2354, 2354, 2354,
1190 2354, 2604, 2604, 2354, 2354, 2354, 2354, 2604, 2605, 2605,
1191 2354, 2354, 2354, 2605, 2605, 2606, 2607, 2607, 2607, 2607,
1193 2608, 2354, 2354, 2610, 2354, 2354, 2354, 2610, 2610, 2354,
1194 2354, 2354, 2354, 2610, 2611, 2354, 2613, 2614, 2615, 2616,
1195 2617, 2354, 2354, 2618, 2618, 2619, 2354, 2620, 2354, 2354,
1196 2622, 2623, 2623, 2354, 2596, 2354, 2354, 2354, 2354, 2354,
1197 2354, 2597, 2354, 2354, 2599, 2354, 2354, 2354, 2354, 2354,
1198 2354, 2354, 2354, 2354, 2354, 2602, 2354, 2604, 2604, 2354,
1199 2354, 2354, 2354, 2604, 2605, 2605, 2605, 2605, 2354, 2354,
1200 2607, 2607, 2607, 2607, 2608, 2354, 2354, 2610, 2610, 2610,
1201 2354, 2354, 2354, 2354, 2610, 2611, 2354, 2613, 2354, 2354,
1202 2354, 2354, 2616, 2617, 2354, 2354, 2354, 2354, 2354, 2618,
1204 2354, 2354, 2354, 2620, 2622, 2623, 2623, 2354, 2354, 2354,
1205 2354, 2354, 2597, 2354, 2354, 2354, 2599, 2354, 2354, 2354,
1206 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2602, 2354, 2604,
1207 2604, 2354, 2354, 2354, 2354, 2605, 2605, 2605, 2354, 2354,
1208 2607, 2607, 2607, 2354, 2354, 2608, 2354, 2354, 2354, 2610,
1209 2610, 2610, 2354, 2354, 2354, 2354, 2611, 2613, 2354, 2354,
1210 2354, 2354, 2354, 2617, 2354, 2354, 2354, 2354, 2354, 2354,
1211 2354, 2622, 2623, 2623, 2354, 2354, 2354, 2354, 2354, 2354,
1212 2354, 2354, 2354, 2599, 2354, 2354, 2354, 2354, 2354, 2354,
1213 2354, 2354, 2354, 2354, 2602, 2354, 2604, 2354, 2354, 2354,
1215 2354, 2354, 2605, 2605, 2605, 2354, 2354, 2354, 2607, 2354,
1216 2354, 2607, 2354, 2354, 2354, 2354, 2354, 2610, 2610, 2610,
1217 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1218 2354, 2354, 2354, 2617, 2354, 2354, 2354, 2622, 2623, 2623,
1219 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1220 2599, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2602,
1221 2354, 2354, 2354, 2604, 2354, 2354, 2354, 2605, 2605, 2605,
1222 2607, 2354, 2354, 2354, 2607, 2354, 2354, 2354, 2610, 2354,
1223 2354, 2610, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1224 2354, 2354, 2354, 2354, 2617, 2622, 2623, 2623, 2623, 2354,
1226 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1227 2354, 2354, 2354, 2354, 2354, 2602, 2354, 2354, 2354, 2604,
1228 2605, 2605, 2605, 2607, 2607, 2610, 2354, 2354, 2354, 2610,
1229 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1230 2354, 2354, 2354, 2354, 2354, 2354, 2622, 2623, 2623, 2623,
1231 2624, 2625, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1232 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2602, 2604, 2605,
1233 2605, 2354, 2354, 2607, 2354, 2354, 2354, 2354, 2354, 2354,
1234 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1235 2354, 2354, 2622, 2623, 2626, 2627, 2624, 2625, 2354, 2354,
1237 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1238 2604, 2605, 2605, 2354, 2354, 2354, 2607, 2354, 2354, 2354,
1239 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1240 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2622, 2626,
1241 2623, 2628, 2627, 2629, 2623, 2354, 2354, 2354, 2354, 2354,
1242 2354, 2604, 2605, 2605, 2354, 2354, 2354, 2354, 2607, 2354,
1243 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1244 2354, 2622, 2628, 2354, 2629, 2623, 2354, 2354, 2354, 2354,
1245 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1246 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1248 2354, 2354, 2622, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1249 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1250 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1251 2354, 2354, 2354, 2354, 2622, 2354, 2354, 2354, 2354, 2354,
1252 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1253 2354, 2354, 2354, 2354, 2354, 2354, 2622, 2354, 2354, 2354,
1254 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1255 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2622, 2354, 2354,
1256 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1257 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2622, 2354,
1259 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1260 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2622,
1261 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1262 2354, 2354, 2354, 2354, 2622, 2354, 2354, 2354, 2354, 2354,
1263 2354, 2354, 2354, 2354, 2354, 2622, 2354, 2354, 2354, 2354,
1264 2354, 2354, 2354, 2354, 2354, 2354, 2622, 2622, 2354, 2354,
1265 2354, 2354, 2354, 2354, 2354, 2354, 2622, 2622, 2622, 2622,
1266 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1267 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1268 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1270 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1271 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1272 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1273 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1274 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
1275 2622, 2622, 2354, 0, 2354, 2354, 2354, 2354, 2354, 2354,
1276 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1277 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1278 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1279 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1281 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1282 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1283 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1284 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1285 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1286 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1287 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1288 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1289 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1290 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1292 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1293 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1294 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1295 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1296 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1297 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1298 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1299 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1300 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1301 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1303 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1304 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
1305 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354
1308 static yyconst flex_int16_t yy_nxt[7737] =
1310 2354, 188, 189, 188, 188, 189, 188, 188, 189, 188,
1311 188, 189, 188, 193, 189, 193, 199, 190, 196, 199,
1312 190, 196, 2354, 191, 592, 197, 191, 2354, 197, 194,
1313 193, 189, 193, 460, 200, 202, 203, 200, 202, 203,
1314 204, 205, 523, 204, 205, 460, 194, 209, 210, 461,
1315 206, 202, 203, 206, 207, 463, 204, 202, 203, 481,
1316 207, 462, 204, 209, 210, 1541, 206, 189, 189, 189,
1317 484, 462, 206, 189, 189, 189, 221, 189, 221, 221,
1318 189, 221, 483, 212, 221, 189, 221, 790, 463, 212,
1319 211, 486, 222, 1538, 528, 222, 459, 459, 459, 511,
1321 223, 459, 459, 459, 462, 2354, 211, 213, 214, 189,
1322 214, 213, 213, 213, 213, 213, 213, 213, 215, 213,
1323 213, 213, 2354, 213, 217, 213, 218, 213, 221, 189,
1324 221, 221, 189, 221, 221, 189, 221, 189, 189, 189,
1325 189, 189, 189, 488, 223, 474, 486, 224, 492, 512,
1326 224, 213, 213, 225, 463, 493, 225, 221, 189, 221,
1327 459, 459, 459, 459, 459, 459, 459, 459, 459, 494,
1328 462, 486, 512, 223, 219, 213, 214, 189, 214, 213,
1329 213, 213, 213, 213, 213, 213, 215, 213, 213, 213,
1330 511, 213, 217, 213, 218, 213, 221, 189, 221, 189,
1332 189, 189, 189, 189, 189, 221, 189, 221, 221, 189,
1333 221, 548, 223, 633, 549, 226, 634, 543, 226, 213,
1334 213, 224, 463, 463, 224, 221, 189, 221, 221, 189,
1335 221, 459, 459, 459, 459, 459, 459, 544, 462, 462,
1336 494, 227, 219, 1547, 227, 228, 229, 189, 229, 228,
1337 228, 228, 228, 228, 228, 228, 230, 228, 228, 228,
1338 627, 228, 232, 228, 233, 228, 250, 189, 250, 250,
1339 189, 250, 189, 189, 189, 628, 189, 189, 189, 202,
1340 203, 790, 251, 2354, 204, 251, 202, 203, 252, 228,
1341 228, 204, 252, 489, 237, 507, 792, 234, 539, 508,
1343 235, 237, 1548, 509, 790, 539, 236, 228, 229, 189,
1344 229, 228, 228, 228, 228, 228, 228, 228, 230, 228,
1345 228, 228, 238, 228, 232, 228, 233, 228, 1289, 238,
1346 250, 189, 250, 250, 189, 250, 1550, 250, 189, 250,
1347 250, 189, 250, 459, 459, 459, 251, 500, 512, 251,
1348 563, 228, 228, 253, 501, 494, 253, 1551, 1553, 234,
1349 582, 564, 235, 462, 459, 459, 459, 583, 236, 239,
1350 240, 189, 240, 239, 239, 239, 239, 239, 239, 239,
1351 241, 239, 239, 239, 1555, 239, 243, 239, 244, 239,
1352 264, 189, 264, 264, 189, 264, 275, 189, 275, 275,
1354 189, 275, 275, 189, 275, 463, 265, 463, 551, 265,
1355 463, 1557, 276, 239, 239, 276, 463, 518, 277, 552,
1356 553, 462, 245, 462, 246, 578, 462, 247, 459, 459,
1357 459, 1558, 462, 248, 239, 240, 189, 240, 239, 239,
1358 239, 239, 239, 239, 239, 241, 239, 239, 239, 489,
1359 239, 243, 239, 244, 239, 275, 189, 275, 189, 189,
1360 189, 189, 189, 189, 275, 189, 275, 275, 189, 275,
1361 646, 277, 463, 647, 278, 512, 481, 278, 239, 239,
1362 279, 463, 480, 279, 459, 459, 459, 245, 462, 246,
1363 578, 530, 247, 459, 459, 459, 494, 462, 248, 254,
1365 255, 189, 255, 254, 254, 254, 254, 254, 254, 254,
1366 256, 254, 254, 254, 627, 254, 258, 254, 259, 254,
1367 275, 189, 275, 275, 189, 275, 189, 189, 189, 189,
1368 189, 189, 275, 189, 275, 576, 280, 790, 463, 280,
1369 494, 1013, 281, 254, 254, 281, 577, 1031, 277, 666,
1370 260, 459, 459, 459, 462, 261, 459, 459, 459, 1032,
1371 2354, 459, 459, 459, 262, 254, 255, 189, 255, 254,
1372 254, 254, 254, 254, 254, 254, 256, 254, 254, 254,
1373 1559, 254, 258, 254, 259, 254, 275, 189, 275, 189,
1374 189, 189, 189, 189, 189, 275, 189, 275, 275, 189,
1376 275, 646, 277, 526, 656, 282, 527, 1560, 282, 254,
1377 254, 280, 531, 463, 280, 653, 260, 459, 459, 459,
1378 554, 261, 459, 459, 459, 459, 459, 459, 654, 462,
1379 262, 266, 267, 189, 267, 266, 266, 266, 266, 266,
1380 266, 266, 268, 266, 266, 266, 603, 266, 270, 266,
1381 271, 266, 275, 189, 275, 275, 189, 275, 189, 189,
1382 189, 189, 189, 189, 275, 189, 275, 658, 283, 463,
1383 656, 283, 463, 910, 284, 266, 266, 284, 911, 565,
1384 285, 459, 459, 459, 699, 462, 272, 700, 462, 459,
1385 459, 459, 484, 1160, 273, 266, 267, 189, 267, 266,
1387 266, 266, 266, 266, 266, 266, 268, 266, 266, 266,
1388 584, 266, 270, 266, 271, 266, 275, 189, 275, 189,
1389 189, 189, 189, 189, 189, 275, 189, 275, 275, 189,
1390 275, 1160, 285, 463, 1566, 286, 1160, 1540, 286, 266,
1391 266, 283, 1040, 463, 283, 275, 189, 275, 463, 462,
1392 272, 275, 189, 275, 1032, 570, 585, 1457, 273, 462,
1393 494, 287, 1567, 1426, 462, 1458, 1539, 287, 288, 289,
1394 189, 289, 288, 288, 288, 288, 288, 288, 288, 290,
1395 288, 288, 288, 1568, 288, 292, 288, 293, 288, 300,
1396 189, 300, 300, 189, 300, 189, 189, 189, 189, 189,
1398 189, 1569, 300, 189, 300, 301, 463, 1570, 301, 590,
1399 1571, 252, 288, 288, 252, 294, 591, 295, 301, 459,
1400 459, 459, 462, 296, 459, 459, 459, 1572, 1573, 297,
1401 1574, 1575, 298, 288, 289, 189, 289, 288, 288, 288,
1402 288, 288, 288, 288, 290, 288, 288, 288, 1581, 288,
1403 292, 288, 293, 288, 300, 189, 300, 300, 189, 300,
1404 300, 189, 300, 318, 189, 318, 1462, 318, 189, 318,
1405 301, 463, 1582, 302, 1463, 1583, 302, 288, 288, 319,
1406 294, 1040, 295, 319, 459, 459, 459, 462, 296, 459,
1407 459, 459, 1588, 1057, 297, 1589, 1590, 298, 303, 304,
1409 189, 304, 303, 303, 303, 303, 303, 303, 303, 305,
1410 303, 303, 303, 306, 303, 307, 303, 308, 303, 306,
1411 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1412 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1413 306, 306, 303, 303, 306, 309, 310, 311, 306, 306,
1414 306, 306, 306, 312, 306, 313, 306, 306, 306, 314,
1415 306, 315, 316, 306, 306, 306, 306, 306, 306, 320,
1416 321, 189, 321, 320, 320, 320, 320, 320, 320, 320,
1417 322, 320, 320, 320, 323, 320, 324, 320, 325, 320,
1418 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
1420 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
1421 323, 323, 323, 320, 320, 323, 326, 327, 328, 323,
1422 323, 323, 323, 323, 329, 323, 330, 323, 323, 323,
1423 331, 323, 323, 332, 323, 323, 323, 323, 323, 323,
1424 334, 189, 334, 334, 189, 334, 459, 459, 459, 459,
1425 459, 459, 459, 459, 459, 1594, 335, 610, 1595, 335,
1426 336, 337, 189, 337, 336, 336, 336, 336, 336, 336,
1427 336, 338, 336, 336, 336, 1597, 336, 340, 336, 341,
1428 336, 345, 189, 345, 345, 189, 345, 358, 189, 358,
1429 358, 189, 358, 611, 189, 189, 189, 346, 463, 1598,
1431 346, 1584, 1599, 359, 336, 336, 359, 512, 1585, 342,
1432 252, 459, 459, 459, 462, 343, 336, 337, 189, 337,
1433 336, 336, 336, 336, 336, 336, 336, 338, 336, 336,
1434 336, 1600, 336, 340, 336, 341, 336, 189, 189, 189,
1435 358, 189, 358, 358, 189, 358, 358, 189, 358, 1601,
1436 358, 189, 358, 252, 463, 1604, 359, 1586, 1608, 359,
1437 336, 336, 360, 1609, 1587, 342, 360, 459, 459, 459,
1438 462, 343, 347, 348, 189, 348, 347, 347, 347, 347,
1439 347, 347, 347, 349, 347, 347, 347, 1614, 347, 351,
1440 347, 352, 347, 370, 189, 370, 370, 189, 370, 189,
1442 189, 189, 189, 189, 189, 370, 189, 370, 1615, 371,
1443 1616, 1617, 371, 1619, 790, 372, 347, 347, 372, 463,
1444 353, 371, 459, 459, 459, 1624, 597, 354, 1625, 355,
1445 459, 459, 459, 1157, 1627, 462, 356, 347, 348, 189,
1446 348, 347, 347, 347, 347, 347, 347, 347, 349, 347,
1447 347, 347, 1160, 347, 351, 347, 352, 347, 370, 189,
1448 370, 370, 189, 370, 370, 189, 370, 384, 189, 384,
1449 384, 189, 384, 1637, 371, 463, 1640, 373, 650, 1641,
1450 373, 347, 347, 385, 651, 353, 385, 459, 459, 459,
1451 652, 462, 354, 1632, 355, 459, 459, 459, 459, 459,
1453 459, 356, 361, 362, 189, 362, 361, 361, 361, 361,
1454 361, 361, 361, 363, 361, 361, 361, 1642, 361, 365,
1455 361, 366, 361, 189, 189, 189, 189, 189, 189, 384,
1456 189, 384, 384, 189, 384, 384, 189, 384, 1645, 372,
1457 1646, 1647, 372, 463, 1648, 385, 361, 361, 385, 463,
1458 615, 386, 367, 459, 459, 459, 459, 459, 459, 462,
1459 459, 459, 459, 1160, 1649, 462, 368, 361, 362, 189,
1460 362, 361, 361, 361, 361, 361, 361, 361, 363, 361,
1461 361, 361, 1650, 361, 365, 361, 366, 361, 384, 189,
1462 384, 396, 189, 396, 396, 189, 396, 408, 189, 408,
1464 408, 189, 408, 1425, 386, 1651, 1652, 397, 463, 790,
1465 397, 361, 361, 409, 1653, 625, 409, 367, 459, 459,
1466 459, 459, 459, 459, 462, 1424, 631, 631, 631, 1654,
1467 1655, 368, 374, 375, 189, 375, 374, 374, 374, 374,
1468 374, 374, 374, 376, 374, 374, 374, 1657, 374, 378,
1469 374, 379, 374, 189, 189, 189, 189, 189, 189, 408,
1470 189, 408, 408, 189, 408, 408, 189, 408, 659, 372,
1471 1658, 653, 372, 653, 651, 409, 374, 374, 409, 653,
1472 652, 410, 380, 632, 694, 381, 696, 631, 631, 631,
1473 1160, 794, 697, 807, 807, 807, 382, 374, 375, 189,
1475 375, 374, 374, 374, 374, 374, 374, 374, 376, 374,
1476 374, 374, 1659, 374, 378, 374, 379, 374, 408, 189,
1477 408, 422, 189, 422, 422, 189, 422, 189, 189, 189,
1478 189, 189, 189, 650, 410, 1633, 783, 423, 1660, 651,
1479 423, 374, 374, 424, 1661, 661, 424, 380, 659, 654,
1480 381, 822, 822, 822, 651, 808, 807, 807, 807, 1662,
1481 661, 382, 387, 388, 189, 388, 387, 387, 387, 387,
1482 387, 387, 387, 389, 387, 387, 387, 1663, 387, 391,
1483 387, 392, 387, 422, 189, 422, 422, 189, 422, 422,
1484 189, 422, 422, 189, 422, 434, 189, 434, 659, 423,
1486 887, 1664, 423, 1665, 651, 425, 387, 387, 425, 888,
1487 679, 435, 393, 808, 1666, 1667, 889, 394, 387, 388,
1488 189, 388, 387, 387, 387, 387, 387, 387, 387, 389,
1489 387, 387, 387, 1668, 387, 391, 387, 392, 387, 434,
1490 189, 434, 444, 189, 444, 444, 189, 444, 189, 189,
1491 189, 189, 189, 189, 1671, 435, 1672, 1673, 445, 1610,
1492 1674, 445, 387, 387, 252, 1675, 1611, 252, 393, 1679,
1493 807, 807, 807, 394, 398, 399, 189, 399, 398, 398,
1494 398, 398, 398, 398, 398, 400, 398, 398, 398, 1680,
1495 398, 402, 398, 403, 398, 444, 189, 444, 444, 189,
1497 444, 444, 189, 444, 444, 189, 444, 457, 189, 457,
1498 1681, 446, 1682, 1683, 446, 1684, 1685, 447, 398, 398,
1499 447, 1686, 468, 458, 404, 1688, 489, 405, 619, 828,
1500 828, 828, 867, 829, 1700, 1160, 830, 1710, 406, 398,
1501 399, 189, 399, 398, 398, 398, 398, 398, 398, 398,
1502 400, 398, 398, 398, 490, 398, 402, 398, 403, 398,
1503 457, 189, 457, 469, 480, 1612, 491, 1711, 1321, 470,
1504 492, 1707, 1613, 471, 1322, 1712, 458, 1323, 472, 1713,
1505 620, 1324, 1717, 398, 398, 663, 663, 663, 523, 404,
1506 1718, 523, 405, 838, 838, 838, 1160, 839, 524, 1719,
1508 840, 529, 664, 406, 411, 412, 189, 412, 411, 411,
1509 411, 411, 411, 411, 411, 413, 411, 411, 411, 1720,
1510 411, 415, 411, 416, 411, 525, 1721, 1706, 525, 490,
1511 1722, 526, 1723, 1724, 527, 671, 671, 671, 1725, 1726,
1512 528, 494, 685, 685, 685, 701, 701, 701, 411, 411,
1513 1727, 1729, 672, 822, 822, 822, 417, 1730, 418, 686,
1514 419, 1731, 702, 1732, 822, 822, 822, 1733, 420, 411,
1515 412, 189, 412, 411, 411, 411, 411, 411, 411, 411,
1516 413, 411, 411, 411, 1736, 411, 415, 411, 416, 411,
1517 709, 709, 709, 712, 712, 712, 1737, 1738, 726, 726,
1519 726, 735, 735, 735, 803, 803, 803, 710, 1741, 1742,
1520 713, 1325, 1743, 411, 411, 727, 1746, 1326, 736, 1750,
1521 1327, 417, 805, 418, 1328, 419, 867, 1172, 1172, 1172,
1522 1175, 1175, 1175, 420, 426, 427, 189, 427, 426, 426,
1523 426, 426, 426, 426, 426, 428, 426, 426, 426, 1751,
1524 426, 430, 426, 431, 426, 740, 740, 740, 760, 760,
1525 760, 1752, 1753, 779, 779, 779, 784, 784, 784, 803,
1526 803, 803, 741, 1754, 1757, 761, 1758, 1775, 426, 426,
1527 780, 1776, 1160, 785, 859, 859, 859, 805, 860, 1777,
1528 1784, 861, 877, 877, 877, 1785, 878, 1786, 1787, 879,
1530 1788, 432, 426, 427, 189, 427, 426, 426, 426, 426,
1531 426, 426, 426, 428, 426, 426, 426, 790, 426, 430,
1532 426, 431, 426, 1774, 1160, 806, 663, 663, 663, 1789,
1533 833, 833, 833, 833, 833, 833, 671, 671, 671, 841,
1534 841, 841, 1780, 664, 1790, 1791, 426, 426, 835, 1792,
1535 1782, 835, 1793, 672, 1781, 1772, 842, 890, 890, 890,
1536 1773, 891, 1783, 1794, 892, 1173, 1173, 1173, 1796, 432,
1537 436, 437, 189, 437, 436, 436, 436, 436, 436, 436,
1538 436, 438, 436, 436, 436, 1797, 436, 440, 436, 441,
1539 436, 844, 844, 844, 1803, 836, 1804, 1805, 847, 847,
1541 847, 847, 847, 847, 855, 855, 855, 1809, 845, 1812,
1542 1174, 1178, 1178, 1178, 436, 436, 849, 1818, 1819, 849,
1543 1820, 1842, 857, 1843, 1160, 442, 436, 437, 189, 437,
1544 436, 436, 436, 436, 436, 436, 436, 438, 436, 436,
1545 436, 790, 436, 440, 436, 441, 436, 850, 855, 855,
1546 855, 685, 685, 685, 863, 863, 863, 701, 701, 701,
1547 1847, 863, 863, 863, 1839, 1848, 857, 1849, 686, 1838,
1548 436, 436, 865, 1850, 702, 1184, 1184, 1184, 1851, 865,
1549 1852, 442, 448, 449, 189, 449, 448, 448, 448, 448,
1550 448, 448, 448, 450, 448, 448, 448, 866, 448, 452,
1552 448, 453, 448, 882, 882, 882, 882, 882, 882, 1853,
1553 858, 709, 709, 709, 712, 712, 712, 1854, 894, 894,
1554 894, 884, 895, 1855, 884, 896, 448, 448, 710, 1856,
1555 1857, 713, 913, 913, 913, 1858, 914, 454, 1859, 915,
1556 926, 926, 926, 1868, 927, 1869, 1160, 928, 1870, 455,
1557 448, 449, 189, 449, 448, 448, 448, 448, 448, 448,
1558 448, 450, 448, 448, 448, 885, 448, 452, 448, 453,
1559 448, 897, 897, 897, 905, 905, 905, 1199, 1199, 1199,
1560 905, 905, 905, 726, 726, 726, 1840, 1871, 898, 916,
1561 916, 916, 907, 1875, 448, 448, 1879, 1882, 907, 1889,
1563 727, 921, 921, 921, 1890, 454, 917, 1891, 921, 921,
1564 921, 735, 735, 735, 929, 929, 929, 455, 463, 923,
1565 1892, 929, 929, 929, 1893, 478, 923, 1894, 736, 740,
1566 740, 740, 931, 1160, 462, 479, 908, 1900, 1901, 931,
1567 934, 934, 934, 1902, 935, 1828, 741, 936, 940, 940,
1568 940, 940, 940, 940, 1829, 944, 944, 944, 924, 1903,
1569 1830, 480, 481, 482, 790, 1904, 942, 1897, 483, 942,
1570 1905, 484, 945, 1908, 1909, 485, 1910, 486, 1911, 487,
1571 932, 946, 946, 946, 2354, 2354, 2354, 1912, 949, 949,
1572 949, 949, 949, 949, 954, 954, 954, 1913, 947, 1914,
1574 1915, 2354, 2354, 2354, 2354, 943, 951, 1920, 1921, 951,
1575 1896, 955, 958, 958, 958, 2354, 2354, 2354, 1831, 2354,
1576 961, 961, 961, 1922, 961, 961, 961, 1832, 1923, 959,
1577 1924, 1925, 2354, 1833, 1926, 760, 760, 760, 963, 1930,
1578 1939, 948, 963, 1931, 969, 969, 969, 973, 973, 973,
1579 952, 956, 761, 1932, 966, 966, 966, 1940, 967, 1941,
1580 964, 968, 971, 1942, 974, 957, 969, 969, 969, 2354,
1581 2354, 2354, 960, 977, 977, 977, 979, 979, 979, 979,
1582 979, 979, 1943, 1944, 971, 1933, 2354, 987, 987, 987,
1583 978, 987, 987, 987, 981, 1934, 1955, 981, 993, 993,
1585 993, 993, 993, 993, 1956, 989, 779, 779, 779, 989,
1586 997, 997, 997, 790, 998, 1957, 995, 999, 975, 995,
1587 972, 1935, 1958, 780, 1000, 1000, 1000, 1000, 1000, 1000,
1588 1962, 1936, 976, 784, 784, 784, 1005, 1005, 1005, 1937,
1589 1006, 1963, 1002, 1007, 1964, 1002, 1947, 1965, 982, 1938,
1590 785, 1966, 1967, 990, 1009, 1009, 1009, 1009, 1009, 1009,
1591 803, 803, 803, 996, 803, 803, 803, 803, 803, 803,
1592 1969, 1970, 1011, 1971, 1974, 1011, 1981, 1982, 805, 1041,
1593 1041, 1041, 805, 1983, 1984, 805, 1003, 828, 828, 828,
1594 1985, 829, 1986, 1987, 830, 1988, 1042, 2354, 2354, 2354,
1596 833, 833, 833, 833, 833, 833, 833, 833, 833, 1989,
1597 847, 847, 847, 1021, 2354, 1210, 1210, 1210, 835, 1012,
1598 1990, 835, 1991, 1992, 835, 838, 838, 838, 849, 839,
1599 1999, 2000, 840, 841, 841, 841, 1047, 1047, 1047, 2001,
1600 1048, 2002, 2003, 1049, 1050, 1050, 1050, 844, 844, 844,
1601 842, 2004, 1045, 1052, 1052, 1052, 1043, 1053, 2005, 2006,
1602 1054, 1051, 2007, 2008, 845, 847, 847, 847, 847, 847,
1603 847, 1059, 1059, 1059, 855, 855, 855, 855, 855, 855,
1604 859, 859, 859, 849, 860, 2011, 849, 861, 1060, 855,
1605 855, 855, 857, 790, 2012, 857, 863, 863, 863, 863,
1607 863, 863, 1064, 1064, 1064, 2013, 2017, 857, 1075, 1075,
1608 1075, 877, 877, 877, 865, 878, 2027, 865, 879, 2028,
1609 1065, 882, 882, 882, 2029, 1076, 1056, 882, 882, 882,
1610 882, 882, 882, 2030, 1993, 1062, 890, 890, 890, 884,
1611 891, 2031, 2032, 892, 2033, 884, 2034, 2035, 884, 1084,
1612 1084, 1084, 894, 894, 894, 2036, 895, 2037, 2038, 896,
1613 897, 897, 897, 1086, 1086, 1086, 1085, 1087, 2046, 2047,
1614 1088, 905, 905, 905, 905, 905, 905, 898, 905, 905,
1615 905, 913, 913, 913, 790, 914, 2048, 2049, 915, 907,
1616 2050, 2041, 907, 1079, 2051, 2041, 907, 916, 916, 916,
1618 1100, 1100, 1100, 2052, 1101, 2042, 2044, 1102, 921, 921,
1619 921, 921, 921, 921, 917, 921, 921, 921, 926, 926,
1620 926, 2053, 927, 2054, 2059, 928, 923, 2068, 2039, 923,
1621 929, 929, 929, 923, 929, 929, 929, 929, 929, 929,
1622 934, 934, 934, 1095, 935, 2069, 2070, 936, 931, 940,
1623 940, 940, 931, 2071, 2074, 931, 940, 940, 940, 940,
1624 940, 940, 944, 944, 944, 1106, 2074, 942, 1114, 1114,
1625 1114, 2077, 1115, 2078, 942, 1116, 790, 942, 2055, 945,
1626 946, 946, 946, 1117, 1117, 1117, 2087, 1118, 2090, 2056,
1627 1119, 949, 949, 949, 949, 949, 949, 947, 949, 949,
1629 949, 2093, 1108, 954, 954, 954, 1123, 1123, 1123, 951,
1630 1124, 2094, 951, 1125, 2095, 2072, 951, 1113, 2057, 2060,
1631 955, 958, 958, 958, 1128, 1128, 1128, 2085, 1129, 2058,
1632 2061, 1130, 961, 961, 961, 961, 961, 961, 959, 961,
1633 961, 961, 966, 966, 966, 2086, 967, 2041, 2096, 968,
1634 963, 2062, 2099, 963, 969, 969, 969, 963, 969, 969,
1635 969, 2042, 2063, 1121, 969, 969, 969, 973, 973, 973,
1636 2064, 2102, 971, 1135, 1135, 1135, 971, 1136, 1160, 1161,
1637 1137, 2065, 971, 2066, 974, 977, 977, 977, 1140, 1140,
1638 1140, 2074, 1141, 2104, 2067, 1142, 979, 979, 979, 2074,
1640 2105, 1132, 978, 979, 979, 979, 979, 979, 979, 1145,
1641 1145, 1145, 2041, 2106, 981, 987, 987, 987, 987, 987,
1642 987, 981, 1134, 2044, 981, 2088, 1146, 987, 987, 987,
1643 993, 993, 993, 989, 2097, 2116, 989, 993, 993, 993,
1644 993, 993, 993, 2089, 2117, 989, 2118, 2100, 995, 997,
1645 997, 997, 2098, 998, 2119, 995, 999, 2120, 995, 1000,
1646 1000, 1000, 1000, 1000, 1000, 2101, 1143, 1000, 1000, 1000,
1647 2121, 1005, 1005, 1005, 2125, 1006, 2126, 1002, 1007, 2127,
1648 1002, 1009, 1009, 1009, 2128, 1002, 1149, 1009, 1009, 1009,
1649 2129, 2130, 1152, 1009, 1009, 1009, 1159, 1159, 1159, 1011,
1651 803, 803, 803, 2131, 2132, 1011, 1041, 1041, 1041, 2133,
1652 2134, 1011, 2136, 2141, 1160, 1161, 2142, 2143, 805, 2144,
1653 1187, 1187, 1187, 1042, 1188, 1153, 2137, 1189, 833, 833,
1654 833, 1047, 1047, 1047, 2145, 1048, 2146, 2138, 1049, 1050,
1655 1050, 1050, 2147, 1194, 1194, 1194, 835, 1195, 2139, 2148,
1656 1196, 2149, 1156, 1052, 1052, 1052, 1051, 1053, 2150, 2140,
1657 1054, 847, 847, 847, 1166, 1059, 1059, 1059, 1201, 1201,
1658 1201, 2151, 1202, 2152, 2153, 1203, 1192, 2154, 2155, 849,
1659 2156, 2158, 1060, 1204, 1204, 1204, 855, 855, 855, 1064,
1660 1064, 1064, 1211, 1211, 1211, 1075, 1075, 1075, 2159, 2160,
1662 1205, 1217, 1217, 1217, 857, 1218, 2161, 1065, 1219, 2162,
1663 1198, 790, 1076, 1220, 1220, 1220, 1222, 1222, 1222, 2163,
1664 882, 882, 882, 1227, 1227, 1227, 1084, 1084, 1084, 2164,
1665 1221, 2165, 2166, 1223, 1206, 2157, 2167, 1174, 884, 2168,
1666 1228, 2169, 2170, 1085, 1231, 1231, 1231, 2171, 1232, 2172,
1667 2173, 1233, 1086, 1086, 1086, 2174, 1087, 2175, 2176, 1088,
1668 2177, 1224, 1234, 1234, 1234, 905, 905, 905, 1243, 1243,
1669 1243, 1100, 1100, 1100, 2179, 1101, 2180, 790, 1102, 1235,
1670 1247, 1247, 1247, 907, 1225, 1244, 921, 921, 921, 929,
1671 929, 929, 1257, 1257, 1257, 2178, 2181, 1248, 2182, 940,
1673 940, 940, 2183, 2184, 923, 2185, 2186, 931, 2187, 1258,
1674 2188, 1114, 1114, 1114, 2189, 1115, 2190, 942, 1116, 1117,
1675 1117, 1117, 2191, 1118, 2192, 2193, 1119, 2194, 1241, 949,
1676 949, 949, 1173, 1173, 1173, 2195, 2196, 1259, 1123, 1123,
1677 1123, 2197, 1124, 2198, 2200, 1125, 2201, 951, 1251, 961,
1678 961, 961, 790, 1253, 1260, 1128, 1128, 1128, 2202, 1129,
1679 2203, 2204, 1130, 969, 969, 969, 2205, 963, 1135, 1135,
1680 1135, 2199, 1136, 2206, 2207, 1137, 2208, 1263, 1140, 1140,
1681 1140, 971, 1141, 2209, 2210, 1142, 979, 979, 979, 1145,
1682 1145, 1145, 2211, 1262, 1274, 1274, 1274, 2212, 1275, 2213,
1684 2214, 1276, 2215, 2216, 981, 2217, 1146, 2218, 1267, 987,
1685 987, 987, 1281, 1281, 1281, 993, 993, 993, 1269, 1000,
1686 1000, 1000, 1286, 1286, 1286, 2219, 2221, 989, 2222, 1282,
1687 2223, 2224, 1272, 995, 1009, 1009, 1009, 1002, 2225, 1287,
1688 1159, 1159, 1159, 2226, 803, 803, 803, 1172, 1172, 1172,
1689 790, 2227, 1011, 1173, 1173, 1173, 2220, 1279, 1160, 1175,
1690 1175, 1175, 805, 1178, 1178, 1178, 1305, 1305, 1305, 2228,
1691 1284, 1307, 1307, 1307, 1184, 1184, 1184, 1311, 1311, 1311,
1692 1283, 1187, 1187, 1187, 2229, 1188, 2230, 2231, 1189, 2232,
1693 1290, 833, 833, 833, 1288, 1295, 1194, 1194, 1194, 2233,
1695 1195, 2234, 790, 1196, 2236, 2237, 1291, 2238, 2239, 835,
1696 2240, 847, 847, 847, 2241, 2235, 1308, 1199, 1199, 1199,
1697 2242, 2243, 1312, 1201, 1201, 1201, 2244, 1202, 1306, 849,
1698 1203, 1204, 1204, 1204, 2245, 1329, 1329, 1329, 2247, 1330,
1699 2248, 1316, 1331, 855, 855, 855, 2249, 2250, 1205, 1210,
1700 1210, 1210, 1211, 1211, 1211, 1336, 1336, 1336, 1336, 1336,
1701 1336, 857, 1305, 1305, 1305, 1217, 1217, 1217, 2251, 1218,
1702 1319, 2252, 1219, 1220, 1220, 1220, 1340, 1340, 1340, 2253,
1703 1341, 2254, 2255, 1342, 1222, 1222, 1222, 1343, 1343, 1343,
1704 1221, 1344, 2256, 1332, 1345, 1347, 1347, 1347, 1227, 1227,
1706 1227, 1223, 1350, 1350, 1350, 2259, 1351, 2260, 2261, 1352,
1707 1353, 1353, 1353, 1348, 2262, 1228, 2263, 1337, 2264, 2265,
1708 1306, 1231, 1231, 1231, 1337, 1232, 2266, 1354, 1233, 1234,
1709 1234, 1234, 1356, 1356, 1356, 1534, 1357, 790, 1532, 1358,
1710 1359, 1359, 1359, 1364, 1364, 1364, 1235, 905, 905, 905,
1711 1243, 1243, 1243, 790, 1368, 1368, 1368, 1360, 1369, 790,
1712 1365, 1370, 1371, 1371, 1371, 907, 2277, 1244, 1247, 1247,
1713 1247, 1374, 1374, 1374, 790, 1375, 790, 790, 1376, 1372,
1714 1379, 1379, 1379, 2269, 790, 1248, 929, 929, 929, 1257,
1715 1257, 1257, 1386, 1386, 1386, 790, 1387, 2289, 1380, 1388,
1717 1390, 1390, 1390, 1531, 931, 2270, 1258, 949, 949, 949,
1718 2287, 1366, 1395, 1395, 1395, 1397, 1397, 1397, 1391, 2267,
1719 2354, 2354, 2354, 2271, 790, 951, 961, 961, 961, 1396,
1720 2268, 790, 1398, 969, 969, 969, 1382, 2354, 1403, 1403,
1721 1403, 1405, 1405, 1405, 963, 979, 979, 979, 987, 987,
1722 987, 971, 1274, 1274, 1274, 1404, 1275, 1393, 1406, 1276,
1723 1281, 1281, 1281, 981, 790, 790, 989, 1413, 1413, 1413,
1724 2272, 1414, 2275, 2273, 1415, 1530, 790, 1282, 1402, 993,
1725 993, 993, 1399, 1000, 1000, 1000, 1286, 1286, 1286, 790,
1726 790, 1400, 1419, 1419, 1419, 1521, 1420, 995, 1411, 1421,
1728 2283, 1002, 1519, 1287, 1422, 1422, 1422, 2274, 1407, 1428,
1729 1428, 1428, 803, 803, 803, 1435, 1435, 1435, 1439, 1439,
1730 1439, 790, 1423, 1305, 1305, 1305, 1429, 1440, 1440, 1440,
1731 805, 1307, 1307, 1307, 2281, 2282, 1416, 1417, 1442, 1442,
1732 1442, 1311, 1311, 1311, 1448, 1448, 1448, 847, 847, 847,
1733 1453, 1453, 1453, 1329, 1329, 1329, 2278, 1330, 2279, 2276,
1734 1331, 2313, 1449, 790, 790, 849, 790, 1454, 855, 855,
1735 855, 1430, 1466, 1466, 1466, 1336, 1336, 1336, 1470, 1470,
1736 1470, 1340, 1340, 1340, 790, 1341, 857, 2280, 1342, 1467,
1737 1343, 1343, 1343, 790, 1344, 790, 790, 1345, 1347, 1347,
1739 1347, 1350, 1350, 1350, 1452, 1351, 2295, 790, 1352, 1353,
1740 1353, 1353, 790, 1465, 1512, 790, 1348, 1477, 1477, 1477,
1741 2284, 1478, 790, 790, 1479, 790, 1354, 1356, 1356, 1356,
1742 2288, 1357, 2285, 790, 1358, 1359, 1359, 1359, 1481, 1481,
1743 1481, 790, 1482, 2291, 790, 1483, 1484, 1484, 1484, 1364,
1744 1364, 1364, 1360, 1488, 1488, 1488, 2290, 1489, 2299, 2292,
1745 1490, 2286, 1509, 1485, 2293, 1508, 1365, 905, 905, 905,
1746 1368, 1368, 1368, 2307, 1369, 2294, 790, 1370, 1371, 1371,
1747 1371, 790, 1493, 1493, 1493, 907, 1494, 2296, 790, 1495,
1748 1374, 1374, 1374, 790, 1375, 1372, 790, 1376, 1379, 1379,
1750 1379, 929, 929, 929, 1502, 1502, 1502, 1386, 1386, 1386,
1751 2297, 1387, 790, 790, 1388, 2298, 1380, 1491, 790, 931,
1752 2308, 1503, 1390, 1390, 1390, 1510, 1510, 1510, 1395, 1395,
1753 1395, 1513, 1513, 1513, 2301, 1514, 790, 790, 1515, 1507,
1754 1391, 2319, 1506, 1511, 790, 1396, 961, 961, 961, 1504,
1755 1397, 1397, 1397, 1516, 1516, 1516, 2303, 1517, 790, 2302,
1756 1518, 790, 790, 1500, 963, 2320, 1505, 1398, 969, 969,
1757 969, 1403, 1403, 1403, 1523, 1523, 1523, 2300, 1524, 790,
1758 2304, 1525, 1405, 1405, 1405, 2309, 971, 790, 1404, 1526,
1759 1526, 1526, 2305, 1527, 790, 2306, 1528, 2310, 2311, 1406,
1761 979, 979, 979, 987, 987, 987, 790, 1413, 1413, 1413,
1762 1520, 1414, 790, 790, 1415, 2312, 1522, 790, 981, 790,
1763 2323, 989, 993, 993, 993, 1000, 1000, 1000, 1537, 1537,
1764 1537, 1419, 1419, 1419, 790, 1420, 1501, 1499, 1421, 1498,
1765 995, 1497, 1496, 1002, 1422, 1422, 1422, 1428, 1428, 1428,
1766 1542, 1542, 1542, 2314, 1543, 2317, 2315, 1544, 803, 803,
1767 803, 2316, 1423, 1529, 1429, 1492, 1533, 1546, 1546, 1546,
1768 2318, 790, 1535, 1549, 1549, 1549, 805, 1536, 1435, 1435,
1769 1435, 1552, 1552, 1552, 1439, 1439, 1439, 1440, 1440, 1440,
1770 1442, 1442, 1442, 1554, 1554, 1554, 1556, 1556, 1556, 1448,
1772 1448, 1448, 790, 1561, 1561, 1561, 1453, 1453, 1453, 1563,
1773 1563, 1563, 790, 1564, 2327, 2325, 1565, 1449, 790, 1487,
1774 1545, 1562, 790, 1454, 855, 855, 855, 1466, 1466, 1466,
1775 1577, 1577, 1577, 2328, 1578, 2324, 790, 1579, 1580, 1580,
1776 1580, 790, 857, 790, 1467, 1470, 1470, 1470, 1477, 1477,
1777 1477, 2333, 1478, 2321, 2331, 1479, 1481, 1481, 1481, 1486,
1778 1482, 2322, 790, 1483, 1484, 1484, 1484, 1591, 1591, 1591,
1779 790, 1592, 1576, 790, 1593, 1488, 1488, 1488, 790, 1489,
1780 2326, 1485, 1490, 905, 905, 905, 1493, 1493, 1493, 2347,
1781 1494, 790, 790, 1495, 1602, 1602, 1602, 1502, 1502, 1502,
1783 1480, 907, 1605, 1605, 1605, 790, 1606, 2335, 1476, 1607,
1784 790, 790, 1603, 2351, 1503, 1510, 1510, 1510, 1513, 1513,
1785 1513, 790, 1514, 2329, 790, 1515, 2336, 1516, 1516, 1516,
1786 2334, 1517, 1475, 1511, 1518, 961, 961, 961, 969, 969,
1787 969, 2332, 1523, 1523, 1523, 1596, 1524, 2339, 790, 1525,
1788 1526, 1526, 1526, 963, 1527, 2330, 971, 1528, 979, 979,
1789 979, 1622, 1622, 1622, 987, 987, 987, 2348, 993, 993,
1790 993, 1629, 1629, 1629, 2343, 1474, 981, 790, 1623, 1537,
1791 1537, 1537, 989, 790, 2340, 1618, 995, 1473, 1472, 1630,
1792 1631, 1631, 1631, 1621, 1634, 1634, 1634, 1542, 1542, 1542,
1794 1471, 1543, 1620, 1469, 1544, 803, 803, 803, 790, 1546,
1795 1546, 1546, 1636, 1636, 1636, 1549, 1549, 1549, 1638, 1638,
1796 1638, 2337, 790, 805, 1468, 1464, 1628, 1626, 1639, 1639,
1797 1639, 1552, 1552, 1552, 1554, 1554, 1554, 1556, 1556, 1556,
1798 1643, 1643, 1643, 1561, 1561, 1561, 1563, 1563, 1563, 1461,
1799 1564, 1460, 1459, 1565, 855, 855, 855, 1644, 1580, 1580,
1800 1580, 1562, 1635, 1577, 1577, 1577, 2338, 1578, 1456, 790,
1801 1579, 1455, 857, 1591, 1591, 1591, 1451, 1592, 1450, 2351,
1802 1593, 1669, 1669, 1669, 1602, 1602, 1602, 1676, 1676, 1676,
1803 1605, 1605, 1605, 790, 1606, 1447, 1446, 1607, 1445, 1670,
1805 2341, 1444, 1603, 790, 1677, 1687, 1687, 1687, 1689, 1689,
1806 1689, 1443, 1441, 1656, 1691, 1691, 1691, 969, 969, 969,
1807 979, 979, 979, 1622, 1622, 1622, 1690, 1698, 1698, 1698,
1808 2344, 1692, 1678, 1438, 2342, 971, 1437, 1436, 981, 790,
1809 1623, 1695, 1695, 1695, 1699, 1696, 790, 790, 1697, 1701,
1810 1701, 1701, 1703, 1703, 1703, 993, 993, 993, 1629, 1629,
1811 1629, 1434, 1631, 1631, 1631, 1433, 1432, 1702, 1634, 1634,
1812 1634, 790, 1431, 995, 1427, 1693, 1630, 2345, 2346, 1694,
1813 790, 1708, 1708, 1708, 1636, 1636, 1636, 1638, 1638, 1638,
1814 1639, 1639, 1639, 1643, 1643, 1643, 1714, 1714, 1714, 1709,
1816 1715, 1418, 2349, 1716, 1412, 855, 855, 855, 1410, 1409,
1817 1644, 1734, 1734, 1734, 1739, 1739, 1739, 790, 1408, 1704,
1818 1401, 1394, 1705, 857, 1669, 1669, 1669, 1392, 1735, 1389,
1819 1385, 1740, 1744, 1744, 1744, 1676, 1676, 1676, 1384, 1747,
1820 1747, 1747, 1670, 1748, 1383, 1381, 1749, 1378, 2350, 1745,
1821 1377, 1373, 1677, 1755, 1755, 1755, 1687, 1687, 1687, 1689,
1822 1689, 1689, 1367, 1728, 1691, 1691, 1691, 1759, 1759, 1759,
1823 1756, 1760, 1363, 1362, 1761, 1361, 1355, 1690, 1762, 1762,
1824 1762, 1692, 979, 979, 979, 1695, 1695, 1695, 1349, 1696,
1825 1346, 1339, 1697, 1698, 1698, 1698, 1763, 1765, 1765, 1765,
1827 981, 1766, 1338, 1335, 1767, 1768, 1768, 1768, 1334, 1333,
1828 1699, 1701, 1701, 1701, 1703, 1703, 1703, 1770, 1770, 1770,
1829 1320, 1318, 1769, 1708, 1708, 1708, 1778, 1778, 1778, 1702,
1830 1714, 1714, 1714, 1317, 1715, 1771, 1315, 1716, 855, 855,
1831 855, 1709, 1314, 1779, 1798, 1798, 1798, 1764, 1734, 1734,
1832 1734, 1800, 1800, 1800, 1313, 1801, 857, 1310, 1802, 1309,
1833 1304, 1799, 1739, 1739, 1739, 1735, 1806, 1806, 1806, 1303,
1834 1807, 1302, 1301, 1808, 1810, 1810, 1810, 1300, 1299, 1740,
1835 1744, 1744, 1744, 1813, 1813, 1813, 1298, 1814, 1297, 1296,
1836 1815, 1811, 1816, 1816, 1816, 1294, 1795, 1745, 1747, 1747,
1838 1747, 1293, 1748, 1292, 1160, 1749, 1755, 1755, 1755, 1817,
1839 1821, 1821, 1821, 1285, 1822, 1280, 1278, 1823, 1824, 1824,
1840 1824, 1277, 1273, 1756, 1826, 1826, 1826, 1759, 1759, 1759,
1841 1271, 1760, 1270, 1268, 1761, 1825, 1762, 1762, 1762, 1266,
1842 1265, 1827, 979, 979, 979, 1765, 1765, 1765, 1264, 1766,
1843 1261, 1256, 1767, 1255, 1763, 1768, 1768, 1768, 1254, 1252,
1844 981, 1835, 1835, 1835, 1250, 1836, 1249, 1246, 1837, 1770,
1845 1770, 1770, 1769, 1841, 1841, 1841, 1778, 1778, 1778, 1844,
1846 1844, 1844, 1245, 1845, 1242, 1240, 1846, 1771, 1239, 855,
1847 855, 855, 1238, 1779, 1861, 1861, 1861, 1862, 1862, 1862,
1849 1798, 1798, 1798, 1841, 1841, 1841, 1834, 857, 1865, 1865,
1850 1865, 1237, 1866, 1236, 1863, 1867, 1230, 1799, 1800, 1800,
1851 1800, 1229, 1801, 1226, 1216, 1802, 1806, 1806, 1806, 1215,
1852 1807, 1214, 1213, 1808, 1810, 1810, 1810, 1212, 1209, 1860,
1853 1208, 1207, 1864, 1872, 1872, 1872, 1200, 1873, 1197, 1193,
1854 1874, 1811, 1813, 1813, 1813, 1191, 1814, 1190, 1186, 1815,
1855 1816, 1816, 1816, 1876, 1876, 1876, 1185, 1877, 1183, 1182,
1856 1878, 1880, 1880, 1880, 1821, 1821, 1821, 1817, 1822, 1181,
1857 1180, 1823, 1824, 1824, 1824, 1883, 1883, 1883, 1881, 1884,
1858 1179, 1177, 1885, 1826, 1826, 1826, 1886, 1886, 1886, 1825,
1860 1887, 1176, 1171, 1888, 979, 979, 979, 1835, 1835, 1835,
1861 1827, 1836, 1170, 1169, 1837, 1898, 1898, 1898, 1168, 1844,
1862 1844, 1844, 981, 1845, 1167, 1165, 1846, 1906, 1906, 1906,
1863 1164, 1163, 1899, 1160, 855, 855, 855, 1861, 1861, 1861,
1864 1862, 1862, 1862, 1162, 1907, 1155, 1917, 1917, 1917, 1154,
1865 1918, 1151, 857, 1919, 1895, 1150, 1148, 1863, 1865, 1865,
1866 1865, 1147, 1866, 1144, 1139, 1867, 1872, 1872, 1872, 1138,
1867 1873, 1133, 1131, 1874, 1876, 1876, 1876, 1127, 1877, 1126,
1868 1122, 1878, 1916, 1880, 1880, 1880, 1927, 1927, 1927, 1120,
1869 1928, 1112, 1111, 1929, 1883, 1883, 1883, 1110, 1884, 1109,
1871 1881, 1885, 1886, 1886, 1886, 1107, 1887, 1105, 1104, 1888,
1872 1945, 1945, 1945, 1948, 1948, 1948, 1898, 1898, 1898, 1950,
1873 1950, 1950, 1103, 1951, 1099, 1098, 1952, 1097, 1946, 1096,
1874 1949, 1160, 1094, 1899, 1160, 1093, 1092, 1160, 1953, 1953,
1875 1953, 1954, 1954, 1954, 1906, 1906, 1906, 1959, 1959, 1959,
1876 1091, 1960, 1090, 1089, 1961, 855, 855, 855, 1917, 1917,
1877 1917, 1907, 1918, 1083, 1082, 1919, 1972, 1972, 1972, 1975,
1878 1975, 1975, 1081, 857, 1977, 1977, 1977, 1927, 1927, 1927,
1879 1080, 1928, 1078, 1973, 1929, 1077, 1976, 1979, 1979, 1979,
1880 1074, 1978, 1945, 1945, 1945, 1948, 1948, 1948, 1994, 1994,
1882 1994, 1073, 1995, 1072, 1980, 1996, 1071, 1950, 1950, 1950,
1883 1946, 1951, 1949, 1160, 1952, 1070, 1160, 1069, 1068, 1968,
1884 1953, 1953, 1953, 1067, 1066, 1160, 1158, 1158, 1158, 1158,
1885 1158, 1158, 1158, 1158, 1158, 1063, 1061, 1158, 1954, 1954,
1886 1954, 1058, 1158, 1158, 1158, 1160, 1158, 1959, 1959, 1959,
1887 1055, 1960, 1046, 1044, 1961, 2014, 2014, 2014, 1039, 2015,
1888 1038, 1037, 2016, 2009, 2009, 2009, 1036, 1972, 1972, 1972,
1889 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1890 1158, 2010, 1035, 1158, 1973, 1975, 1975, 1975, 1158, 1158,
1891 1158, 1160, 1158, 2018, 2018, 2018, 1034, 2019, 1033, 1030,
1893 2020, 1029, 1976, 1977, 1977, 1977, 2021, 2021, 2021, 1028,
1894 2022, 1027, 1026, 2023, 1025, 1024, 1158, 1158, 1023, 1022,
1895 1978, 1979, 1979, 1979, 2024, 2024, 2024, 1020, 2025, 1019,
1896 1018, 2026, 1994, 1994, 1994, 1017, 1995, 1016, 1980, 1996,
1897 1015, 1014, 2009, 2009, 2009, 2076, 2076, 2076, 790, 1008,
1898 1160, 1158, 1158, 1158, 1158, 1158, 2045, 1158, 1158, 1158,
1899 2010, 1004, 1158, 1160, 1161, 992, 991, 1158, 1158, 1158,
1900 1160, 1158, 2014, 2014, 2014, 986, 2015, 985, 984, 2016,
1901 2018, 2018, 2018, 983, 2019, 965, 953, 2020, 939, 2079,
1902 2079, 2079, 2081, 2081, 2081, 1158, 1158, 1158, 1158, 1158,
1904 1158, 1158, 1158, 1158, 1158, 2045, 2080, 938, 1158, 2082,
1905 937, 933, 925, 1158, 1158, 1158, 1160, 1158, 2021, 2021,
1906 2021, 920, 2022, 919, 918, 2023, 2024, 2024, 2024, 912,
1907 2025, 909, 904, 2026, 2083, 2083, 2083, 2091, 2091, 2091,
1908 903, 1158, 1158, 2103, 2103, 2103, 2076, 2076, 2076, 902,
1909 901, 2084, 900, 899, 2092, 2079, 2079, 2079, 2107, 2107,
1910 2107, 790, 2108, 893, 1160, 2109, 2081, 2081, 2081, 2110,
1911 2110, 2110, 2080, 2111, 886, 881, 2112, 2083, 2083, 2083,
1912 2113, 2113, 2113, 2082, 2114, 880, 876, 2115, 2091, 2091,
1913 2091, 2122, 2122, 2122, 2084, 2123, 1290, 875, 2124, 2103,
1915 2103, 2103, 2107, 2107, 2107, 2092, 2108, 874, 873, 2109,
1916 872, 2110, 2110, 2110, 871, 2111, 870, 790, 2112, 2113,
1917 2113, 2113, 869, 2114, 868, 862, 2115, 2122, 2122, 2122,
1918 854, 2123, 853, 852, 2124, 2135, 2246, 2246, 2246, 2246,
1919 2246, 2246, 851, 2257, 846, 843, 2258, 2352, 2352, 2352,
1920 2352, 2352, 2352, 837, 790, 832, 831, 790, 827, 826,
1921 825, 824, 823, 821, 820, 2353, 819, 818, 2353, 186,
1922 186, 186, 186, 186, 186, 186, 186, 186, 187, 187,
1923 187, 187, 187, 187, 187, 187, 187, 192, 192, 192,
1924 192, 192, 192, 192, 192, 192, 195, 195, 195, 195,
1926 195, 195, 195, 195, 195, 198, 198, 198, 198, 198,
1927 198, 198, 198, 198, 201, 201, 201, 201, 201, 201,
1928 201, 201, 201, 208, 208, 208, 208, 208, 208, 208,
1929 208, 208, 216, 216, 216, 216, 216, 216, 216, 216,
1930 216, 220, 220, 220, 220, 220, 220, 220, 220, 220,
1931 231, 231, 231, 231, 231, 231, 231, 231, 231, 242,
1932 242, 242, 242, 242, 242, 242, 242, 242, 249, 249,
1933 249, 249, 249, 249, 249, 249, 249, 257, 257, 257,
1934 257, 257, 257, 257, 257, 257, 263, 263, 263, 263,
1935 263, 263, 263, 263, 263, 269, 269, 269, 269, 269,
1937 269, 269, 269, 269, 274, 274, 274, 274, 274, 274,
1938 274, 274, 274, 291, 291, 291, 291, 291, 291, 291,
1939 291, 291, 299, 299, 299, 299, 299, 299, 299, 299,
1940 299, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1941 333, 333, 333, 333, 333, 333, 333, 333, 333, 339,
1942 339, 339, 339, 339, 339, 339, 339, 339, 344, 344,
1943 344, 344, 344, 344, 344, 344, 344, 350, 350, 350,
1944 350, 350, 350, 350, 350, 350, 357, 357, 357, 357,
1945 357, 357, 357, 357, 357, 364, 364, 364, 364, 364,
1946 364, 364, 364, 364, 369, 369, 369, 369, 369, 369,
1948 369, 369, 369, 377, 377, 377, 377, 377, 377, 377,
1949 377, 377, 383, 383, 383, 383, 383, 383, 383, 383,
1950 383, 390, 390, 390, 390, 390, 390, 390, 390, 390,
1951 395, 395, 395, 395, 395, 395, 395, 395, 395, 401,
1952 401, 401, 401, 401, 401, 401, 401, 401, 407, 407,
1953 407, 407, 407, 407, 407, 407, 407, 414, 414, 414,
1954 414, 414, 414, 414, 414, 414, 421, 421, 421, 421,
1955 421, 421, 421, 421, 421, 429, 429, 429, 429, 429,
1956 429, 429, 429, 429, 433, 433, 433, 433, 433, 433,
1957 433, 433, 433, 439, 439, 439, 439, 439, 439, 439,
1959 439, 439, 443, 443, 443, 443, 443, 443, 443, 443,
1960 443, 451, 451, 451, 451, 451, 451, 451, 451, 451,
1961 456, 456, 456, 456, 456, 456, 456, 456, 456, 476,
1962 476, 476, 817, 816, 815, 476, 496, 496, 496, 814,
1963 813, 812, 496, 504, 504, 504, 811, 810, 809, 504,
1964 514, 514, 514, 802, 801, 800, 514, 520, 520, 520,
1965 799, 798, 797, 520, 533, 533, 533, 796, 793, 791,
1966 533, 541, 541, 541, 790, 788, 786, 541, 556, 556,
1967 556, 782, 778, 776, 556, 567, 567, 567, 775, 774,
1968 772, 567, 572, 572, 572, 771, 770, 769, 572, 580,
1970 580, 580, 768, 766, 765, 580, 587, 587, 587, 764,
1971 763, 759, 587, 594, 594, 594, 758, 756, 755, 594,
1972 599, 599, 599, 754, 753, 752, 599, 605, 605, 605,
1973 751, 749, 748, 605, 613, 613, 613, 747, 746, 744,
1974 613, 617, 617, 617, 743, 742, 739, 617, 622, 622,
1975 622, 738, 734, 733, 622, 626, 626, 626, 626, 626,
1976 626, 626, 731, 626, 476, 476, 476, 730, 729, 728,
1977 476, 641, 725, 724, 723, 641, 496, 496, 496, 722,
1978 720, 719, 496, 667, 718, 717, 716, 667, 504, 504,
1979 504, 715, 714, 711, 504, 677, 708, 707, 706, 677,
1981 514, 514, 514, 704, 703, 698, 514, 683, 695, 693,
1982 692, 683, 520, 520, 520, 691, 690, 689, 520, 688,
1983 687, 684, 682, 688, 705, 681, 680, 678, 705, 541,
1984 541, 541, 676, 675, 674, 541, 721, 673, 670, 669,
1985 721, 556, 556, 556, 668, 665, 662, 556, 732, 660,
1986 657, 655, 732, 567, 567, 567, 649, 648, 645, 567,
1987 737, 644, 643, 642, 737, 572, 572, 572, 640, 639,
1988 638, 572, 745, 637, 636, 635, 745, 580, 580, 580,
1989 630, 627, 629, 580, 750, 624, 623, 621, 750, 587,
1990 587, 587, 486, 618, 616, 587, 757, 614, 612, 2354,
1992 757, 594, 594, 594, 609, 608, 607, 594, 762, 606,
1993 604, 603, 762, 599, 599, 599, 602, 601, 600, 599,
1994 767, 598, 596, 595, 767, 605, 605, 605, 593, 592,
1995 589, 605, 773, 588, 586, 484, 773, 613, 613, 613,
1996 2354, 581, 579, 613, 777, 575, 574, 573, 777, 617,
1997 617, 617, 571, 569, 568, 617, 781, 566, 562, 561,
1998 781, 622, 622, 622, 560, 559, 558, 622, 787, 557,
1999 555, 550, 787, 789, 789, 789, 789, 789, 789, 789,
2000 789, 789, 795, 547, 546, 545, 542, 795, 476, 476,
2001 476, 540, 538, 537, 476, 804, 804, 804, 804, 536,
2003 535, 804, 804, 496, 496, 496, 534, 532, 2354, 496,
2004 834, 834, 834, 834, 489, 527, 834, 834, 504, 504,
2005 504, 522, 521, 519, 504, 848, 848, 848, 848, 517,
2006 516, 848, 848, 514, 514, 514, 515, 513, 510, 514,
2007 856, 856, 856, 856, 506, 505, 856, 856, 520, 520,
2008 520, 503, 502, 499, 520, 864, 864, 864, 864, 498,
2009 497, 864, 864, 533, 533, 533, 495, 494, 2354, 533,
2010 883, 883, 883, 883, 488, 477, 883, 883, 541, 541,
2011 541, 475, 473, 467, 541, 906, 906, 906, 906, 466,
2012 467, 906, 906, 556, 556, 556, 466, 465, 464, 556,
2014 922, 922, 922, 922, 2354, 2354, 922, 922, 567, 567,
2015 567, 2354, 2354, 2354, 567, 930, 930, 930, 930, 2354,
2016 2354, 930, 930, 572, 572, 572, 2354, 2354, 2354, 572,
2017 941, 941, 941, 941, 2354, 2354, 941, 941, 580, 580,
2018 580, 580, 2354, 580, 2354, 580, 950, 950, 950, 950,
2019 2354, 2354, 950, 950, 587, 587, 587, 587, 2354, 587,
2020 2354, 587, 962, 962, 962, 962, 2354, 2354, 962, 962,
2021 594, 594, 594, 2354, 2354, 2354, 594, 970, 970, 970,
2022 970, 2354, 2354, 970, 970, 599, 599, 599, 599, 2354,
2023 599, 2354, 599, 980, 980, 980, 980, 2354, 2354, 980,
2025 980, 605, 605, 605, 2354, 2354, 2354, 605, 988, 988,
2026 988, 988, 2354, 2354, 988, 988, 613, 613, 613, 2354,
2027 2354, 2354, 613, 994, 994, 994, 994, 2354, 2354, 994,
2028 994, 1001, 1001, 1001, 1001, 2354, 2354, 1001, 1001, 622,
2029 622, 622, 2354, 2354, 2354, 622, 1010, 1010, 1010, 1010,
2030 2354, 2354, 1010, 1010, 789, 789, 789, 789, 789, 789,
2031 789, 789, 789, 795, 2354, 795, 2354, 2354, 795, 476,
2032 476, 476, 2354, 2354, 2354, 476, 804, 804, 804, 804,
2033 2354, 2354, 804, 804, 496, 496, 496, 496, 2354, 496,
2034 2354, 496, 834, 834, 834, 834, 2354, 2354, 834, 834,
2036 504, 504, 504, 2354, 2354, 2354, 504, 848, 848, 848,
2037 848, 2354, 2354, 848, 848, 514, 514, 514, 2354, 2354,
2038 2354, 514, 856, 856, 856, 856, 2354, 2354, 856, 856,
2039 520, 520, 520, 2354, 2354, 2354, 520, 864, 864, 864,
2040 864, 2354, 2354, 864, 864, 533, 533, 533, 2354, 2354,
2041 2354, 533, 883, 883, 883, 883, 2354, 2354, 883, 883,
2042 541, 541, 541, 2354, 2354, 2354, 541, 906, 906, 906,
2043 906, 2354, 2354, 906, 906, 556, 556, 556, 2354, 2354,
2044 2354, 556, 922, 922, 922, 922, 2354, 2354, 922, 922,
2045 567, 567, 567, 2354, 2354, 2354, 567, 930, 930, 930,
2047 930, 2354, 2354, 930, 930, 572, 572, 572, 2354, 2354,
2048 2354, 572, 941, 941, 941, 941, 2354, 2354, 941, 941,
2049 580, 580, 580, 2354, 2354, 2354, 580, 950, 950, 950,
2050 950, 2354, 2354, 950, 950, 587, 587, 587, 2354, 2354,
2051 2354, 587, 962, 962, 962, 962, 2354, 2354, 962, 962,
2052 594, 594, 594, 2354, 2354, 2354, 594, 970, 970, 970,
2053 970, 2354, 2354, 970, 970, 599, 599, 599, 2354, 2354,
2054 2354, 599, 980, 980, 980, 980, 2354, 2354, 980, 980,
2055 605, 605, 605, 2354, 2354, 2354, 605, 988, 988, 988,
2056 988, 2354, 2354, 988, 988, 613, 613, 613, 2354, 2354,
2058 2354, 613, 994, 994, 994, 994, 2354, 2354, 994, 994,
2059 1001, 1001, 1001, 1001, 2354, 2354, 1001, 1001, 622, 622,
2060 622, 2354, 2354, 2354, 622, 1010, 1010, 1010, 1010, 2354,
2061 2354, 1010, 1010, 789, 789, 789, 789, 789, 789, 789,
2062 789, 789, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
2063 1158, 476, 476, 476, 2354, 2354, 2354, 476, 804, 804,
2064 804, 804, 2354, 2354, 804, 804, 496, 496, 496, 2354,
2065 2354, 2354, 496, 834, 834, 834, 834, 2354, 2354, 834,
2066 834, 504, 504, 504, 2354, 2354, 2354, 504, 848, 848,
2067 848, 848, 2354, 2354, 848, 848, 514, 514, 514, 2354,
2069 2354, 2354, 514, 856, 856, 856, 856, 2354, 2354, 856,
2070 856, 520, 520, 520, 2354, 2354, 2354, 520, 533, 533,
2071 533, 2354, 2354, 2354, 533, 883, 883, 883, 883, 2354,
2072 2354, 883, 883, 541, 541, 541, 2354, 2354, 2354, 541,
2073 906, 906, 906, 906, 2354, 2354, 906, 906, 556, 556,
2074 556, 2354, 2354, 2354, 556, 922, 922, 922, 922, 2354,
2075 2354, 922, 922, 567, 567, 567, 2354, 2354, 2354, 567,
2076 930, 930, 930, 930, 2354, 2354, 930, 930, 572, 572,
2077 572, 2354, 2354, 2354, 572, 941, 941, 941, 941, 2354,
2078 2354, 941, 941, 580, 580, 580, 2354, 2354, 2354, 580,
2080 950, 950, 950, 950, 2354, 2354, 950, 950, 587, 587,
2081 587, 2354, 2354, 2354, 587, 962, 962, 962, 962, 2354,
2082 2354, 962, 962, 594, 594, 594, 2354, 2354, 2354, 594,
2083 970, 970, 970, 970, 2354, 2354, 970, 970, 599, 599,
2084 599, 2354, 2354, 2354, 599, 980, 980, 980, 980, 2354,
2085 2354, 980, 980, 605, 605, 605, 2354, 2354, 2354, 605,
2086 988, 988, 988, 988, 2354, 2354, 988, 988, 613, 613,
2087 613, 613, 2354, 613, 2354, 613, 994, 994, 994, 994,
2088 2354, 2354, 994, 994, 1001, 1001, 1001, 1001, 2354, 2354,
2089 1001, 1001, 622, 622, 622, 622, 2354, 622, 2354, 622,
2091 1010, 1010, 1010, 1010, 2354, 2354, 1010, 1010, 789, 789,
2092 789, 789, 789, 789, 789, 789, 789, 1158, 1158, 1158,
2093 1158, 1158, 1158, 1158, 1158, 1158, 476, 476, 476, 2354,
2094 2354, 2354, 476, 804, 804, 804, 804, 2354, 2354, 804,
2095 804, 496, 496, 496, 2354, 2354, 2354, 496, 834, 834,
2096 834, 834, 2354, 2354, 834, 834, 504, 504, 504, 2354,
2097 2354, 2354, 504, 848, 848, 848, 848, 2354, 2354, 848,
2098 848, 514, 514, 514, 2354, 2354, 2354, 514, 856, 856,
2099 856, 856, 2354, 2354, 856, 856, 520, 520, 520, 2354,
2100 2354, 2354, 520, 533, 533, 533, 2354, 2354, 2354, 533,
2102 883, 883, 883, 883, 2354, 2354, 883, 883, 541, 541,
2103 541, 2354, 2354, 2354, 541, 906, 906, 906, 906, 2354,
2104 2354, 906, 906, 556, 556, 556, 2354, 2354, 2354, 556,
2105 922, 922, 922, 922, 2354, 2354, 922, 922, 567, 567,
2106 567, 2354, 2354, 2354, 567, 930, 930, 930, 930, 2354,
2107 2354, 930, 930, 572, 572, 572, 2354, 2354, 2354, 572,
2108 941, 941, 941, 941, 2354, 2354, 941, 941, 580, 580,
2109 580, 2354, 2354, 2354, 580, 950, 950, 950, 950, 2354,
2110 2354, 950, 950, 587, 587, 587, 587, 2354, 587, 2354,
2111 587, 962, 962, 962, 962, 2354, 2354, 962, 962, 594,
2113 594, 594, 2354, 2354, 2354, 594, 970, 970, 970, 970,
2114 2354, 2354, 970, 970, 599, 599, 599, 599, 2354, 599,
2115 2354, 599, 980, 980, 980, 980, 2354, 2354, 980, 980,
2116 605, 605, 605, 2354, 2354, 2354, 605, 988, 988, 988,
2117 988, 2354, 2354, 988, 988, 994, 994, 994, 994, 2354,
2118 2354, 994, 994, 1001, 1001, 1001, 1001, 2354, 2354, 1001,
2119 1001, 1010, 1010, 1010, 1010, 2354, 2354, 1010, 1010, 789,
2120 789, 789, 789, 789, 789, 789, 789, 789, 1158, 1158,
2121 1158, 1158, 1158, 1158, 1158, 1158, 1158, 476, 476, 476,
2122 476, 2354, 476, 2354, 476, 804, 804, 804, 804, 2354,
2124 2354, 804, 804, 496, 496, 496, 2354, 2354, 2354, 496,
2125 834, 834, 834, 834, 2354, 2354, 834, 834, 504, 504,
2126 504, 2354, 2354, 2354, 504, 848, 848, 848, 848, 2354,
2127 2354, 848, 848, 514, 514, 514, 514, 2354, 514, 2354,
2128 514, 856, 856, 856, 856, 2354, 2354, 856, 856, 520,
2129 520, 520, 520, 2354, 520, 2354, 520, 533, 533, 533,
2130 2354, 2354, 2354, 533, 541, 541, 541, 2354, 2354, 2354,
2131 541, 906, 906, 906, 906, 2354, 2354, 906, 906, 556,
2132 556, 556, 2354, 2354, 2354, 556, 567, 567, 567, 2354,
2133 2354, 2354, 567, 930, 930, 930, 930, 2354, 2354, 930,
2135 930, 572, 572, 572, 2354, 2354, 2354, 572, 580, 580,
2136 580, 2354, 2354, 2354, 580, 950, 950, 950, 950, 2354,
2137 2354, 950, 950, 587, 587, 587, 2354, 2354, 2354, 587,
2138 962, 962, 962, 962, 2354, 2354, 962, 962, 594, 594,
2139 594, 2354, 2354, 2354, 594, 970, 970, 970, 970, 2354,
2140 2354, 970, 970, 980, 980, 980, 980, 2354, 2354, 980,
2141 980, 605, 605, 605, 2354, 2354, 2354, 605, 988, 988,
2142 988, 988, 2354, 2354, 988, 988, 994, 994, 994, 994,
2143 2354, 2354, 994, 994, 1001, 1001, 1001, 1001, 2354, 2354,
2144 1001, 1001, 789, 789, 789, 789, 789, 789, 789, 789,
2146 789, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
2147 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1998,
2148 1998, 1998, 1998, 1998, 1998, 1998, 1998, 1998, 2040, 2040,
2149 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2043, 2043, 2043,
2150 2043, 2043, 2043, 2043, 2043, 2043, 2073, 2073, 2073, 2073,
2151 2073, 2073, 2073, 2073, 2073, 2075, 2075, 2075, 2075, 2075,
2152 2075, 2075, 2075, 2075, 185, 2354, 2354, 2354, 2354, 2354,
2153 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
2154 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
2155 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
2157 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
2158 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
2159 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
2160 2354, 2354, 2354, 2354, 2354, 2354
2163 static yyconst flex_int16_t yy_chk[7737] =
2165 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2166 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2167 4, 10, 281, 5, 386, 9, 6, 0, 10, 7,
2168 8, 8, 8, 190, 11, 13, 13, 12, 14, 14,
2169 13, 13, 285, 14, 14, 191, 8, 17, 17, 190,
2170 13, 15, 15, 14, 15, 194, 15, 16, 16, 281,
2171 16, 191, 16, 18, 18, 1427, 15, 19, 19, 19,
2172 386, 194, 16, 20, 20, 20, 23, 23, 23, 24,
2173 24, 24, 279, 19, 25, 25, 25, 1424, 212, 20,
2174 17, 279, 23, 1424, 285, 24, 188, 188, 188, 251,
2176 25, 189, 189, 189, 212, 225, 18, 21, 21, 21,
2177 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2178 21, 21, 252, 21, 21, 21, 21, 21, 26, 26,
2179 26, 27, 27, 27, 28, 28, 28, 29, 29, 29,
2180 30, 30, 30, 225, 26, 212, 287, 27, 287, 251,
2181 28, 21, 21, 29, 217, 225, 30, 31, 31, 31,
2182 193, 193, 193, 214, 214, 214, 221, 221, 221, 447,
2183 217, 447, 252, 31, 21, 22, 22, 22, 22, 22,
2184 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2185 253, 22, 22, 22, 22, 22, 32, 32, 32, 33,
2187 33, 33, 34, 34, 34, 35, 35, 35, 36, 36,
2188 36, 314, 32, 469, 314, 33, 469, 310, 34, 22,
2189 22, 35, 232, 243, 36, 37, 37, 37, 38, 38,
2190 38, 229, 229, 229, 240, 240, 240, 310, 232, 243,
2191 253, 37, 22, 1432, 38, 39, 39, 39, 39, 39,
2192 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2193 460, 39, 39, 39, 39, 39, 45, 45, 45, 46,
2194 46, 46, 47, 47, 47, 460, 48, 48, 48, 41,
2195 41, 628, 45, 282, 41, 46, 42, 42, 47, 39,
2196 39, 42, 48, 282, 41, 247, 628, 39, 301, 247,
2198 39, 42, 1433, 247, 1157, 302, 39, 40, 40, 40,
2199 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2200 40, 40, 41, 40, 40, 40, 40, 40, 1157, 42,
2201 49, 49, 49, 50, 50, 50, 1436, 51, 51, 51,
2202 52, 52, 52, 250, 250, 250, 49, 237, 301, 50,
2203 332, 40, 40, 51, 237, 302, 52, 1437, 1441, 40,
2204 368, 332, 40, 237, 255, 255, 255, 368, 40, 43,
2205 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2206 43, 43, 43, 43, 1444, 43, 43, 43, 43, 43,
2207 55, 55, 55, 56, 56, 56, 59, 59, 59, 60,
2209 60, 60, 61, 61, 61, 258, 55, 270, 316, 56,
2210 265, 1446, 59, 43, 43, 60, 292, 265, 61, 316,
2211 316, 258, 43, 270, 43, 359, 265, 43, 264, 264,
2212 264, 1447, 292, 43, 44, 44, 44, 44, 44, 44,
2213 44, 44, 44, 44, 44, 44, 44, 44, 44, 283,
2214 44, 44, 44, 44, 44, 62, 62, 62, 63, 63,
2215 63, 64, 64, 64, 65, 65, 65, 66, 66, 66,
2216 482, 62, 307, 482, 63, 359, 283, 64, 44, 44,
2217 65, 324, 425, 66, 267, 267, 267, 44, 307, 44,
2218 360, 283, 44, 275, 275, 275, 425, 324, 44, 53,
2220 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2221 53, 53, 53, 53, 500, 53, 53, 53, 53, 53,
2222 67, 67, 67, 68, 68, 68, 69, 69, 69, 70,
2223 70, 70, 71, 71, 71, 356, 67, 792, 340, 68,
2224 360, 792, 69, 53, 53, 70, 356, 817, 71, 500,
2225 53, 289, 289, 289, 340, 53, 300, 300, 300, 817,
2226 284, 304, 304, 304, 53, 54, 54, 54, 54, 54,
2227 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
2228 1450, 54, 54, 54, 54, 54, 72, 72, 72, 73,
2229 73, 73, 74, 74, 74, 75, 75, 75, 76, 76,
2231 76, 488, 72, 284, 488, 73, 284, 1451, 74, 54,
2232 54, 75, 284, 319, 76, 486, 54, 318, 318, 318,
2233 319, 54, 321, 321, 321, 334, 334, 334, 486, 319,
2234 54, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2235 57, 57, 57, 57, 57, 57, 410, 57, 57, 57,
2236 57, 57, 77, 77, 77, 78, 78, 78, 79, 79,
2237 79, 80, 80, 80, 81, 81, 81, 490, 77, 351,
2238 490, 78, 335, 724, 79, 57, 57, 80, 724, 335,
2239 81, 337, 337, 337, 535, 351, 57, 535, 335, 345,
2240 345, 345, 410, 1426, 57, 58, 58, 58, 58, 58,
2242 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2243 371, 58, 58, 58, 58, 58, 82, 82, 82, 83,
2244 83, 83, 84, 84, 84, 85, 85, 85, 86, 86,
2245 86, 1291, 82, 365, 1455, 83, 1425, 1426, 84, 58,
2246 58, 85, 826, 378, 86, 87, 87, 87, 346, 365,
2247 58, 88, 88, 88, 826, 346, 371, 1323, 58, 378,
2248 371, 87, 1456, 1291, 346, 1323, 1425, 88, 89, 89,
2249 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2250 89, 89, 89, 1457, 89, 89, 89, 89, 89, 91,
2251 91, 91, 92, 92, 92, 93, 93, 93, 94, 94,
2253 94, 1458, 95, 95, 95, 91, 391, 1459, 92, 382,
2254 1460, 93, 89, 89, 94, 89, 382, 89, 95, 348,
2255 348, 348, 391, 89, 358, 358, 358, 1461, 1462, 89,
2256 1463, 1464, 89, 90, 90, 90, 90, 90, 90, 90,
2257 90, 90, 90, 90, 90, 90, 90, 90, 1469, 90,
2258 90, 90, 90, 90, 96, 96, 96, 97, 97, 97,
2259 98, 98, 98, 101, 101, 101, 1327, 102, 102, 102,
2260 96, 402, 1471, 97, 1327, 1472, 98, 90, 90, 101,
2261 90, 851, 90, 102, 362, 362, 362, 402, 90, 370,
2262 370, 370, 1475, 851, 90, 1476, 1480, 90, 99, 99,
2264 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2265 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2266 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2267 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2268 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2269 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2270 99, 99, 99, 99, 99, 99, 99, 99, 99, 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, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2275 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2276 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2277 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2278 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2279 105, 105, 105, 106, 106, 106, 375, 375, 375, 384,
2280 384, 384, 388, 388, 388, 1486, 105, 423, 1487, 106,
2281 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2282 107, 107, 107, 107, 107, 1492, 107, 107, 107, 107,
2283 107, 109, 109, 109, 110, 110, 110, 113, 113, 113,
2284 114, 114, 114, 423, 115, 115, 115, 109, 415, 1496,
2286 110, 1473, 1497, 113, 107, 107, 114, 423, 1473, 107,
2287 115, 396, 396, 396, 415, 107, 108, 108, 108, 108,
2288 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2289 108, 1498, 108, 108, 108, 108, 108, 116, 116, 116,
2290 117, 117, 117, 118, 118, 118, 119, 119, 119, 1499,
2291 120, 120, 120, 116, 430, 1501, 117, 1474, 1504, 118,
2292 108, 108, 119, 1505, 1474, 108, 120, 399, 399, 399,
2293 430, 108, 111, 111, 111, 111, 111, 111, 111, 111,
2294 111, 111, 111, 111, 111, 111, 111, 1508, 111, 111,
2295 111, 111, 111, 123, 123, 123, 124, 124, 124, 125,
2297 125, 125, 126, 126, 126, 127, 127, 127, 1509, 123,
2298 1512, 1519, 124, 1521, 1013, 125, 111, 111, 126, 397,
2299 111, 127, 408, 408, 408, 1531, 397, 111, 1532, 111,
2300 412, 412, 412, 1013, 1534, 397, 111, 112, 112, 112,
2301 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
2302 112, 112, 1539, 112, 112, 112, 112, 112, 128, 128,
2303 128, 129, 129, 129, 130, 130, 130, 133, 133, 133,
2304 134, 134, 134, 1548, 128, 440, 1553, 129, 485, 1555,
2305 130, 112, 112, 133, 485, 112, 134, 422, 422, 422,
2306 485, 440, 112, 1539, 112, 427, 427, 427, 434, 434,
2308 434, 112, 121, 121, 121, 121, 121, 121, 121, 121,
2309 121, 121, 121, 121, 121, 121, 121, 1557, 121, 121,
2310 121, 121, 121, 135, 135, 135, 136, 136, 136, 137,
2311 137, 137, 138, 138, 138, 139, 139, 139, 1560, 135,
2312 1566, 1567, 136, 435, 1568, 137, 121, 121, 138, 452,
2313 435, 139, 121, 437, 437, 437, 444, 444, 444, 435,
2314 449, 449, 449, 1290, 1569, 452, 121, 122, 122, 122,
2315 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
2316 122, 122, 1570, 122, 122, 122, 122, 122, 140, 140,
2317 140, 143, 143, 143, 144, 144, 144, 147, 147, 147,
2319 148, 148, 148, 1290, 140, 1571, 1572, 143, 458, 1289,
2320 144, 122, 122, 147, 1573, 458, 148, 122, 457, 457,
2321 457, 459, 459, 459, 458, 1289, 468, 468, 468, 1574,
2322 1575, 122, 131, 131, 131, 131, 131, 131, 131, 131,
2323 131, 131, 131, 131, 131, 131, 131, 1581, 131, 131,
2324 131, 131, 131, 149, 149, 149, 150, 150, 150, 151,
2325 151, 151, 152, 152, 152, 153, 153, 153, 491, 149,
2326 1582, 528, 150, 530, 491, 151, 131, 131, 152, 531,
2327 491, 153, 131, 468, 528, 131, 530, 631, 631, 631,
2328 1540, 631, 531, 643, 643, 643, 131, 132, 132, 132,
2330 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2331 132, 132, 1583, 132, 132, 132, 132, 132, 154, 154,
2332 154, 157, 157, 157, 158, 158, 158, 159, 159, 159,
2333 160, 160, 160, 493, 154, 1540, 620, 157, 1584, 493,
2334 158, 132, 132, 159, 1585, 493, 160, 132, 494, 620,
2335 132, 657, 657, 657, 494, 643, 807, 807, 807, 1586,
2336 494, 132, 141, 141, 141, 141, 141, 141, 141, 141,
2337 141, 141, 141, 141, 141, 141, 141, 1587, 141, 141,
2338 141, 141, 141, 161, 161, 161, 162, 162, 162, 163,
2339 163, 163, 164, 164, 164, 167, 167, 167, 512, 161,
2341 708, 1588, 162, 1589, 512, 163, 141, 141, 164, 708,
2342 512, 167, 141, 657, 1590, 1594, 708, 141, 142, 142,
2343 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
2344 142, 142, 142, 1595, 142, 142, 142, 142, 142, 168,
2345 168, 168, 171, 171, 171, 172, 172, 172, 173, 173,
2346 173, 174, 174, 174, 1597, 168, 1598, 1599, 171, 1506,
2347 1600, 172, 142, 142, 173, 1601, 1506, 174, 142, 1608,
2348 690, 690, 690, 142, 145, 145, 145, 145, 145, 145,
2349 145, 145, 145, 145, 145, 145, 145, 145, 145, 1609,
2350 145, 145, 145, 145, 145, 175, 175, 175, 176, 176,
2352 176, 177, 177, 177, 178, 178, 178, 181, 181, 181,
2353 1610, 175, 1611, 1612, 176, 1613, 1614, 177, 145, 145,
2354 178, 1615, 204, 181, 145, 1617, 224, 145, 445, 664,
2355 664, 664, 690, 664, 1625, 1633, 664, 1637, 145, 146,
2356 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2357 146, 146, 146, 146, 224, 146, 146, 146, 146, 146,
2358 182, 182, 182, 204, 445, 1507, 224, 1640, 1202, 204,
2359 224, 1633, 1507, 204, 1202, 1641, 182, 1202, 204, 1642,
2360 445, 1202, 1645, 146, 146, 498, 498, 498, 276, 146,
2361 1646, 277, 146, 672, 672, 672, 1632, 672, 276, 1647,
2363 672, 277, 498, 146, 155, 155, 155, 155, 155, 155,
2364 155, 155, 155, 155, 155, 155, 155, 155, 155, 1648,
2365 155, 155, 155, 155, 155, 276, 1649, 1632, 277, 277,
2366 1650, 276, 1651, 1652, 276, 506, 506, 506, 1653, 1654,
2367 276, 277, 521, 521, 521, 536, 536, 536, 155, 155,
2368 1655, 1657, 506, 822, 822, 822, 155, 1658, 155, 521,
2369 155, 1659, 536, 1660, 695, 695, 695, 1662, 155, 156,
2370 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
2371 156, 156, 156, 156, 1665, 156, 156, 156, 156, 156,
2372 544, 544, 544, 546, 546, 546, 1666, 1667, 560, 560,
2374 560, 569, 569, 569, 641, 641, 641, 544, 1671, 1672,
2375 546, 1203, 1673, 156, 156, 560, 1675, 1203, 569, 1678,
2376 1203, 156, 641, 156, 1203, 156, 695, 1027, 1027, 1027,
2377 1029, 1029, 1029, 156, 165, 165, 165, 165, 165, 165,
2378 165, 165, 165, 165, 165, 165, 165, 165, 165, 1679,
2379 165, 165, 165, 165, 165, 574, 574, 574, 596, 596,
2380 596, 1680, 1681, 618, 618, 618, 623, 623, 623, 642,
2381 642, 642, 574, 1683, 1686, 596, 1688, 1710, 165, 165,
2382 618, 1711, 1707, 623, 686, 686, 686, 642, 686, 1712,
2383 1717, 686, 702, 702, 702, 1718, 702, 1719, 1720, 702,
2385 1721, 165, 166, 166, 166, 166, 166, 166, 166, 166,
2386 166, 166, 166, 166, 166, 166, 166, 1705, 166, 166,
2387 166, 166, 166, 1707, 1706, 642, 663, 663, 663, 1722,
2388 667, 667, 667, 668, 668, 668, 671, 671, 671, 673,
2389 673, 673, 1715, 663, 1723, 1724, 166, 166, 667, 1725,
2390 1716, 668, 1726, 671, 1715, 1705, 673, 710, 710, 710,
2391 1706, 710, 1716, 1727, 710, 1028, 1028, 1028, 1729, 166,
2392 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2393 169, 169, 169, 169, 169, 1730, 169, 169, 169, 169,
2394 169, 675, 675, 675, 1736, 668, 1737, 1738, 677, 677,
2396 677, 678, 678, 678, 683, 683, 683, 1741, 675, 1743,
2397 1028, 1032, 1032, 1032, 169, 169, 677, 1750, 1751, 678,
2398 1752, 1776, 683, 1777, 1773, 169, 170, 170, 170, 170,
2399 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2400 170, 1772, 170, 170, 170, 170, 170, 678, 684, 684,
2401 684, 685, 685, 685, 688, 688, 688, 701, 701, 701,
2402 1780, 689, 689, 689, 1773, 1781, 684, 1782, 685, 1772,
2403 170, 170, 688, 1783, 701, 1038, 1038, 1038, 1784, 689,
2404 1785, 170, 179, 179, 179, 179, 179, 179, 179, 179,
2405 179, 179, 179, 179, 179, 179, 179, 689, 179, 179,
2407 179, 179, 179, 705, 705, 705, 706, 706, 706, 1786,
2408 684, 709, 709, 709, 712, 712, 712, 1787, 713, 713,
2409 713, 705, 713, 1788, 706, 713, 179, 179, 709, 1790,
2410 1791, 712, 727, 727, 727, 1792, 727, 179, 1793, 727,
2411 736, 736, 736, 1803, 736, 1804, 1774, 736, 1805, 179,
2412 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
2413 180, 180, 180, 180, 180, 706, 180, 180, 180, 180,
2414 180, 714, 714, 714, 721, 721, 721, 1057, 1057, 1057,
2415 722, 722, 722, 726, 726, 726, 1774, 1809, 714, 728,
2416 728, 728, 721, 1812, 180, 180, 1818, 1820, 722, 1828,
2418 726, 732, 732, 732, 1829, 180, 728, 1830, 733, 733,
2419 733, 735, 735, 735, 737, 737, 737, 180, 222, 732,
2420 1831, 738, 738, 738, 1832, 222, 733, 1833, 735, 740,
2421 740, 740, 737, 1839, 222, 222, 722, 1842, 1843, 738,
2422 741, 741, 741, 1847, 741, 1760, 740, 741, 745, 745,
2423 745, 746, 746, 746, 1760, 747, 747, 747, 733, 1848,
2424 1760, 222, 222, 222, 1838, 1849, 745, 1839, 222, 746,
2425 1850, 222, 747, 1852, 1853, 222, 1854, 222, 1855, 222,
2426 738, 748, 748, 748, 749, 749, 749, 1856, 750, 750,
2427 750, 751, 751, 751, 753, 753, 753, 1857, 748, 1858,
2429 1859, 749, 754, 754, 754, 746, 750, 1864, 1868, 751,
2430 1838, 753, 755, 755, 755, 756, 756, 756, 1761, 754,
2431 757, 757, 757, 1869, 758, 758, 758, 1761, 1870, 755,
2432 1871, 1875, 756, 1761, 1879, 760, 760, 760, 757, 1882,
2433 1889, 749, 758, 1884, 762, 762, 762, 764, 764, 764,
2434 751, 754, 760, 1884, 761, 761, 761, 1890, 761, 1891,
2435 758, 761, 762, 1892, 764, 754, 763, 763, 763, 765,
2436 765, 765, 756, 766, 766, 766, 767, 767, 767, 768,
2437 768, 768, 1893, 1894, 763, 1885, 765, 773, 773, 773,
2438 766, 774, 774, 774, 767, 1885, 1902, 768, 777, 777,
2440 777, 778, 778, 778, 1903, 773, 779, 779, 779, 774,
2441 780, 780, 780, 1896, 780, 1904, 777, 780, 765, 778,
2442 763, 1887, 1905, 779, 781, 781, 781, 782, 782, 782,
2443 1908, 1887, 765, 784, 784, 784, 785, 785, 785, 1888,
2444 785, 1909, 781, 785, 1911, 782, 1896, 1912, 768, 1888,
2445 784, 1913, 1915, 774, 787, 787, 787, 788, 788, 788,
2446 803, 803, 803, 778, 804, 804, 804, 806, 806, 806,
2447 1920, 1921, 787, 1922, 1924, 788, 1931, 1932, 803, 827,
2448 827, 827, 804, 1933, 1934, 806, 782, 828, 828, 828,
2449 1935, 828, 1936, 1937, 828, 1938, 827, 831, 831, 831,
2451 833, 833, 833, 834, 834, 834, 836, 836, 836, 1939,
2452 847, 847, 847, 806, 831, 1068, 1068, 1068, 833, 788,
2453 1940, 834, 1942, 1943, 836, 838, 838, 838, 847, 838,
2454 1955, 1956, 838, 841, 841, 841, 842, 842, 842, 1957,
2455 842, 1958, 1962, 842, 843, 843, 843, 844, 844, 844,
2456 841, 1963, 836, 845, 845, 845, 831, 845, 1964, 1965,
2457 845, 843, 1966, 1967, 844, 848, 848, 848, 850, 850,
2458 850, 853, 853, 853, 855, 855, 855, 856, 856, 856,
2459 859, 859, 859, 848, 859, 1969, 850, 859, 853, 858,
2460 858, 858, 855, 1947, 1970, 856, 863, 863, 863, 864,
2462 864, 864, 866, 866, 866, 1971, 1974, 858, 876, 876,
2463 876, 877, 877, 877, 863, 877, 1981, 864, 877, 1982,
2464 866, 882, 882, 882, 1983, 876, 850, 883, 883, 883,
2465 885, 885, 885, 1984, 1947, 858, 890, 890, 890, 882,
2466 890, 1985, 1986, 890, 1987, 883, 1988, 1989, 885, 893,
2467 893, 893, 894, 894, 894, 1990, 894, 1991, 1992, 894,
2468 897, 897, 897, 898, 898, 898, 893, 898, 1999, 2001,
2469 898, 905, 905, 905, 906, 906, 906, 897, 908, 908,
2470 908, 913, 913, 913, 1993, 913, 2004, 2005, 913, 905,
2471 2007, 1995, 906, 885, 2008, 1996, 908, 916, 916, 916,
2473 917, 917, 917, 2011, 917, 1995, 1996, 917, 921, 921,
2474 921, 922, 922, 922, 916, 924, 924, 924, 926, 926,
2475 926, 2012, 926, 2013, 2017, 926, 921, 2028, 1993, 922,
2476 929, 929, 929, 924, 930, 930, 930, 932, 932, 932,
2477 934, 934, 934, 908, 934, 2030, 2032, 934, 929, 940,
2478 940, 940, 930, 2034, 2042, 932, 941, 941, 941, 943,
2479 943, 943, 944, 944, 944, 924, 2044, 940, 945, 945,
2480 945, 2046, 945, 2047, 941, 945, 2039, 943, 2015, 944,
2481 946, 946, 946, 947, 947, 947, 2056, 947, 2058, 2015,
2482 947, 949, 949, 949, 950, 950, 950, 946, 952, 952,
2484 952, 2060, 932, 954, 954, 954, 955, 955, 955, 949,
2485 955, 2061, 950, 955, 2062, 2039, 952, 943, 2016, 2019,
2486 954, 958, 958, 958, 959, 959, 959, 2055, 959, 2016,
2487 2019, 959, 961, 961, 961, 962, 962, 962, 958, 964,
2488 964, 964, 966, 966, 966, 2055, 966, 2040, 2063, 966,
2489 961, 2020, 2065, 962, 969, 969, 969, 964, 970, 970,
2490 970, 2040, 2020, 952, 972, 972, 972, 973, 973, 973,
2491 2025, 2067, 969, 974, 974, 974, 970, 974, 2041, 2041,
2492 974, 2025, 972, 2026, 973, 977, 977, 977, 978, 978,
2493 978, 2073, 978, 2074, 2026, 978, 979, 979, 979, 2075,
2495 2077, 964, 977, 980, 980, 980, 982, 982, 982, 984,
2496 984, 984, 2043, 2078, 979, 987, 987, 987, 988, 988,
2497 988, 980, 972, 2043, 982, 2057, 984, 990, 990, 990,
2498 993, 993, 993, 987, 2064, 2085, 988, 994, 994, 994,
2499 996, 996, 996, 2057, 2086, 990, 2087, 2066, 993, 997,
2500 997, 997, 2064, 997, 2088, 994, 997, 2089, 996, 1000,
2501 1000, 1000, 1001, 1001, 1001, 2066, 982, 1003, 1003, 1003,
2502 2090, 1005, 1005, 1005, 2093, 1005, 2094, 1000, 1005, 2095,
2503 1001, 1009, 1009, 1009, 2096, 1003, 990, 1010, 1010, 1010,
2504 2097, 2098, 996, 1012, 1012, 1012, 1014, 1014, 1014, 1009,
2506 1021, 1021, 1021, 2099, 2100, 1010, 1041, 1041, 1041, 2101,
2507 2102, 1012, 2104, 2116, 1014, 1014, 2117, 2118, 1021, 2119,
2508 1042, 1042, 1042, 1041, 1042, 1003, 2114, 1042, 1045, 1045,
2509 1045, 1047, 1047, 1047, 2120, 1047, 2121, 2114, 1047, 1050,
2510 1050, 1050, 2125, 1051, 1051, 1051, 1045, 1051, 2115, 2126,
2511 1051, 2127, 1012, 1052, 1052, 1052, 1050, 1052, 2128, 2115,
2512 1052, 1056, 1056, 1056, 1021, 1059, 1059, 1059, 1060, 1060,
2513 1060, 2129, 1060, 2130, 2131, 1060, 1045, 2132, 2133, 1056,
2514 2134, 2137, 1059, 1061, 1061, 1061, 1062, 1062, 1062, 1064,
2515 1064, 1064, 1069, 1069, 1069, 1075, 1075, 1075, 2138, 2139,
2517 1061, 1076, 1076, 1076, 1062, 1076, 2140, 1064, 1076, 2141,
2518 1056, 2135, 1075, 1077, 1077, 1077, 1078, 1078, 1078, 2142,
2519 1079, 1079, 1079, 1081, 1081, 1081, 1084, 1084, 1084, 2143,
2520 1077, 2144, 2145, 1078, 1062, 2135, 2146, 1069, 1079, 2147,
2521 1081, 2148, 2149, 1084, 1085, 1085, 1085, 2150, 1085, 2151,
2522 2152, 1085, 1086, 1086, 1086, 2153, 1086, 2154, 2155, 1086,
2523 2156, 1078, 1089, 1089, 1089, 1095, 1095, 1095, 1097, 1097,
2524 1097, 1100, 1100, 1100, 2158, 1100, 2159, 2157, 1100, 1089,
2525 1103, 1103, 1103, 1095, 1079, 1097, 1106, 1106, 1106, 1108,
2526 1108, 1108, 1112, 1112, 1112, 2157, 2160, 1103, 2161, 1113,
2528 1113, 1113, 2162, 2163, 1106, 2164, 2165, 1108, 2166, 1112,
2529 2167, 1114, 1114, 1114, 2168, 1114, 2169, 1113, 1114, 1117,
2530 1117, 1117, 2170, 1117, 2171, 2172, 1117, 2173, 1095, 1121,
2531 1121, 1121, 1122, 1122, 1122, 2174, 2175, 1112, 1123, 1123,
2532 1123, 2176, 1123, 2177, 2179, 1123, 2180, 1121, 1106, 1132,
2533 1132, 1132, 2178, 1108, 1113, 1128, 1128, 1128, 2181, 1128,
2534 2182, 2183, 1128, 1134, 1134, 1134, 2184, 1132, 1135, 1135,
2535 1135, 2178, 1135, 2185, 2186, 1135, 2187, 1122, 1140, 1140,
2536 1140, 1134, 1140, 2188, 2189, 1140, 1143, 1143, 1143, 1145,
2537 1145, 1145, 2190, 1121, 1146, 1146, 1146, 2191, 1146, 2192,
2539 2193, 1146, 2194, 2195, 1143, 2196, 1145, 2197, 1132, 1149,
2540 1149, 1149, 1151, 1151, 1151, 1152, 1152, 1152, 1134, 1153,
2541 1153, 1153, 1155, 1155, 1155, 2198, 2200, 1149, 2201, 1151,
2542 2202, 2203, 1143, 1152, 1156, 1156, 1156, 1153, 2204, 1155,
2543 1159, 1159, 1159, 2205, 1166, 1166, 1166, 1172, 1172, 1172,
2544 2199, 2207, 1156, 1173, 1173, 1173, 2199, 1149, 1159, 1175,
2545 1175, 1175, 1166, 1178, 1178, 1178, 1180, 1180, 1180, 2208,
2546 1153, 1181, 1181, 1181, 1184, 1184, 1184, 1185, 1185, 1185,
2547 1152, 1187, 1187, 1187, 2210, 1187, 2212, 2214, 1187, 2215,
2548 1159, 1192, 1192, 1192, 1156, 1166, 1194, 1194, 1194, 2217,
2550 1194, 2218, 2220, 1194, 2221, 2222, 1159, 2223, 2224, 1192,
2551 2226, 1198, 1198, 1198, 2228, 2220, 1181, 1199, 1199, 1199,
2552 2229, 2230, 1185, 1201, 1201, 1201, 2232, 1201, 1180, 1198,
2553 1201, 1204, 1204, 1204, 2234, 1205, 1205, 1205, 2236, 1205,
2554 2237, 1192, 1205, 1206, 1206, 1206, 2238, 2239, 1204, 1210,
2555 1210, 1210, 1211, 1211, 1211, 1212, 1212, 1212, 1213, 1213,
2556 1213, 1206, 1214, 1214, 1214, 1217, 1217, 1217, 2240, 1217,
2557 1198, 2241, 1217, 1220, 1220, 1220, 1221, 1221, 1221, 2242,
2558 1221, 2243, 2244, 1221, 1222, 1222, 1222, 1223, 1223, 1223,
2559 1220, 1223, 2245, 1206, 1223, 1225, 1225, 1225, 1227, 1227,
2561 1227, 1222, 1228, 1228, 1228, 2247, 1228, 2249, 2251, 1228,
2562 1229, 1229, 1229, 1225, 2252, 1227, 2253, 1212, 2254, 2255,
2563 1213, 1231, 1231, 1231, 1214, 1231, 2256, 1229, 1231, 1234,
2564 1234, 1234, 1235, 1235, 1235, 1412, 1235, 2267, 1410, 1235,
2565 1236, 1236, 1236, 1240, 1240, 1240, 1234, 1241, 1241, 1241,
2566 1243, 1243, 1243, 2287, 1244, 1244, 1244, 1236, 1244, 2268,
2567 1240, 1244, 1245, 1245, 1245, 1241, 2275, 1243, 1247, 1247,
2568 1247, 1248, 1248, 1248, 2275, 1248, 2285, 2269, 1248, 1245,
2569 1251, 1251, 1251, 2267, 2257, 1247, 1253, 1253, 1253, 1257,
2570 1257, 1257, 1258, 1258, 1258, 2258, 1258, 2287, 1251, 1258,
2572 1260, 1260, 1260, 1409, 1253, 2268, 1257, 1262, 1262, 1262,
2573 2285, 1241, 1264, 1264, 1264, 1265, 1265, 1265, 1260, 2257,
2574 1266, 1266, 1266, 2269, 2270, 1262, 1267, 1267, 1267, 1264,
2575 2258, 2271, 1265, 1269, 1269, 1269, 1253, 1266, 1270, 1270,
2576 1270, 1271, 1271, 1271, 1267, 1272, 1272, 1272, 1279, 1279,
2577 1279, 1269, 1274, 1274, 1274, 1270, 1274, 1262, 1271, 1274,
2578 1281, 1281, 1281, 1272, 2281, 2272, 1279, 1282, 1282, 1282,
2579 2270, 1282, 2273, 2271, 1282, 1408, 2273, 1281, 1269, 1283,
2580 1283, 1283, 1266, 1284, 1284, 1284, 1286, 1286, 1286, 2279,
2581 2280, 1267, 1287, 1287, 1287, 1401, 1287, 1283, 1279, 1287,
2583 2281, 1284, 1399, 1286, 1288, 1288, 1288, 2272, 1272, 1294,
2584 1294, 1294, 1295, 1295, 1295, 1300, 1300, 1300, 1304, 1304,
2585 1304, 2311, 1288, 1305, 1305, 1305, 1294, 1306, 1306, 1306,
2586 1295, 1307, 1307, 1307, 2279, 2280, 1283, 1284, 1309, 1309,
2587 1309, 1311, 1311, 1311, 1316, 1316, 1316, 1319, 1319, 1319,
2588 1320, 1320, 1320, 1329, 1329, 1329, 2276, 1329, 2277, 2274,
2589 1329, 2311, 1316, 2274, 2276, 1319, 2277, 1320, 1332, 1332,
2590 1332, 1295, 1333, 1333, 1333, 1336, 1336, 1336, 1337, 1337,
2591 1337, 1340, 1340, 1340, 2282, 1340, 1332, 2278, 1340, 1333,
2592 1343, 1343, 1343, 2283, 1343, 2278, 2286, 1343, 1347, 1347,
2594 1347, 1350, 1350, 1350, 1319, 1350, 2293, 2289, 1350, 1353,
2595 1353, 1353, 2288, 1332, 1394, 2293, 1347, 1354, 1354, 1354,
2596 2282, 1354, 2284, 2290, 1354, 2297, 1353, 1356, 1356, 1356,
2597 2286, 1356, 2283, 2291, 1356, 1359, 1359, 1359, 1360, 1360,
2598 1360, 2305, 1360, 2289, 2292, 1360, 1361, 1361, 1361, 1364,
2599 1364, 1364, 1359, 1365, 1365, 1365, 2288, 1365, 2297, 2290,
2600 1365, 2284, 1392, 1361, 2291, 1389, 1364, 1366, 1366, 1366,
2601 1368, 1368, 1368, 2305, 1368, 2292, 2295, 1368, 1371, 1371,
2602 1371, 2296, 1372, 1372, 1372, 1366, 1372, 2294, 2306, 1372,
2603 1374, 1374, 1374, 2299, 1374, 1371, 2294, 1374, 1379, 1379,
2605 1379, 1382, 1382, 1382, 1384, 1384, 1384, 1386, 1386, 1386,
2606 2295, 1386, 2301, 2317, 1386, 2296, 1379, 1366, 2300, 1382,
2607 2306, 1384, 1390, 1390, 1390, 1393, 1393, 1393, 1395, 1395,
2608 1395, 1396, 1396, 1396, 2299, 1396, 2302, 2318, 1396, 1388,
2609 1390, 2317, 1387, 1393, 2298, 1395, 1400, 1400, 1400, 1384,
2610 1397, 1397, 1397, 1398, 1398, 1398, 2301, 1398, 2303, 2300,
2611 1398, 2304, 2309, 1382, 1400, 2318, 1385, 1397, 1402, 1402,
2612 1402, 1403, 1403, 1403, 1404, 1404, 1404, 2298, 1404, 2310,
2613 2302, 1404, 1405, 1405, 1405, 2307, 1402, 2321, 1403, 1406,
2614 1406, 1406, 2303, 1406, 2307, 2304, 1406, 2308, 2309, 1405,
2616 1407, 1407, 1407, 1411, 1411, 1411, 2308, 1413, 1413, 1413,
2617 1400, 1413, 2313, 2312, 1413, 2310, 1402, 2314, 1407, 2315,
2618 2321, 1411, 1416, 1416, 1416, 1417, 1417, 1417, 1418, 1418,
2619 1418, 1419, 1419, 1419, 2316, 1419, 1383, 1381, 1419, 1378,
2620 1416, 1377, 1373, 1417, 1422, 1422, 1422, 1428, 1428, 1428,
2621 1429, 1429, 1429, 2312, 1429, 2315, 2313, 1429, 1430, 1430,
2622 1430, 2314, 1422, 1407, 1428, 1367, 1411, 1431, 1431, 1431,
2623 2316, 2323, 1416, 1434, 1434, 1434, 1430, 1417, 1435, 1435,
2624 1435, 1438, 1438, 1438, 1439, 1439, 1439, 1440, 1440, 1440,
2625 1442, 1442, 1442, 1443, 1443, 1443, 1445, 1445, 1445, 1448,
2627 1448, 1448, 2322, 1452, 1452, 1452, 1453, 1453, 1453, 1454,
2628 1454, 1454, 2331, 1454, 2325, 2323, 1454, 1448, 2329, 1363,
2629 1430, 1452, 2325, 1453, 1465, 1465, 1465, 1466, 1466, 1466,
2630 1467, 1467, 1467, 2326, 1467, 2322, 2324, 1467, 1468, 1468,
2631 1468, 2326, 1465, 2345, 1466, 1470, 1470, 1470, 1477, 1477,
2632 1477, 2331, 1477, 2319, 2329, 1477, 1481, 1481, 1481, 1362,
2633 1481, 2320, 2319, 1481, 1484, 1484, 1484, 1485, 1485, 1485,
2634 2320, 1485, 1465, 2333, 1485, 1488, 1488, 1488, 2327, 1488,
2635 2324, 1484, 1488, 1491, 1491, 1491, 1493, 1493, 1493, 2345,
2636 1493, 2332, 2334, 1493, 1500, 1500, 1500, 1502, 1502, 1502,
2638 1355, 1491, 1503, 1503, 1503, 2330, 1503, 2333, 1349, 1503,
2639 2328, 2337, 1500, 2350, 1502, 1510, 1510, 1510, 1513, 1513,
2640 1513, 2346, 1513, 2327, 2350, 1513, 2334, 1516, 1516, 1516,
2641 2332, 1516, 1346, 1510, 1516, 1520, 1520, 1520, 1522, 1522,
2642 1522, 2330, 1523, 1523, 1523, 1491, 1523, 2337, 2338, 1523,
2643 1526, 1526, 1526, 1520, 1526, 2328, 1522, 1526, 1529, 1529,
2644 1529, 1530, 1530, 1530, 1533, 1533, 1533, 2346, 1535, 1535,
2645 1535, 1536, 1536, 1536, 2341, 1345, 1529, 2335, 1530, 1537,
2646 1537, 1537, 1533, 2341, 2338, 1520, 1535, 1344, 1339, 1536,
2647 1538, 1538, 1538, 1529, 1541, 1541, 1541, 1542, 1542, 1542,
2649 1338, 1542, 1522, 1335, 1542, 1545, 1545, 1545, 1538, 1546,
2650 1546, 1546, 1547, 1547, 1547, 1549, 1549, 1549, 1550, 1550,
2651 1550, 2335, 2336, 1545, 1334, 1328, 1535, 1533, 1551, 1551,
2652 1551, 1552, 1552, 1552, 1554, 1554, 1554, 1556, 1556, 1556,
2653 1559, 1559, 1559, 1561, 1561, 1561, 1563, 1563, 1563, 1326,
2654 1563, 1325, 1324, 1563, 1576, 1576, 1576, 1559, 1580, 1580,
2655 1580, 1561, 1545, 1577, 1577, 1577, 2336, 1577, 1322, 2339,
2656 1577, 1321, 1576, 1591, 1591, 1591, 1318, 1591, 1317, 2349,
2657 1591, 1596, 1596, 1596, 1602, 1602, 1602, 1604, 1604, 1604,
2658 1605, 1605, 1605, 2349, 1605, 1315, 1314, 1605, 1313, 1596,
2660 2339, 1312, 1602, 2340, 1604, 1616, 1616, 1616, 1618, 1618,
2661 1618, 1310, 1308, 1576, 1619, 1619, 1619, 1620, 1620, 1620,
2662 1621, 1621, 1621, 1622, 1622, 1622, 1618, 1624, 1624, 1624,
2663 2342, 1619, 1604, 1303, 2340, 1620, 1302, 1301, 1621, 2342,
2664 1622, 1623, 1623, 1623, 1624, 1623, 2343, 2344, 1623, 1626,
2665 1626, 1626, 1627, 1627, 1627, 1628, 1628, 1628, 1629, 1629,
2666 1629, 1299, 1631, 1631, 1631, 1298, 1297, 1626, 1634, 1634,
2667 1634, 2347, 1296, 1628, 1293, 1620, 1629, 2343, 2344, 1621,
2668 1631, 1635, 1635, 1635, 1636, 1636, 1636, 1638, 1638, 1638,
2669 1639, 1639, 1639, 1643, 1643, 1643, 1644, 1644, 1644, 1635,
2671 1644, 1285, 2347, 1644, 1280, 1656, 1656, 1656, 1278, 1277,
2672 1643, 1664, 1664, 1664, 1668, 1668, 1668, 2348, 1273, 1628,
2673 1268, 1263, 1631, 1656, 1669, 1669, 1669, 1261, 1664, 1259,
2674 1256, 1668, 1674, 1674, 1674, 1676, 1676, 1676, 1255, 1677,
2675 1677, 1677, 1669, 1677, 1254, 1252, 1677, 1250, 2348, 1674,
2676 1249, 1246, 1676, 1685, 1685, 1685, 1687, 1687, 1687, 1689,
2677 1689, 1689, 1242, 1656, 1691, 1691, 1691, 1692, 1692, 1692,
2678 1685, 1692, 1239, 1238, 1692, 1237, 1230, 1689, 1693, 1693,
2679 1693, 1691, 1694, 1694, 1694, 1695, 1695, 1695, 1226, 1695,
2680 1224, 1216, 1695, 1698, 1698, 1698, 1693, 1699, 1699, 1699,
2682 1694, 1699, 1215, 1209, 1699, 1700, 1700, 1700, 1208, 1207,
2683 1698, 1701, 1701, 1701, 1703, 1703, 1703, 1704, 1704, 1704,
2684 1200, 1197, 1700, 1708, 1708, 1708, 1713, 1713, 1713, 1701,
2685 1714, 1714, 1714, 1193, 1714, 1704, 1191, 1714, 1728, 1728,
2686 1728, 1708, 1190, 1713, 1731, 1731, 1731, 1694, 1734, 1734,
2687 1734, 1735, 1735, 1735, 1186, 1735, 1728, 1183, 1735, 1182,
2688 1179, 1731, 1739, 1739, 1739, 1734, 1740, 1740, 1740, 1177,
2689 1740, 1176, 1174, 1740, 1742, 1742, 1742, 1171, 1170, 1739,
2690 1744, 1744, 1744, 1745, 1745, 1745, 1169, 1745, 1168, 1167,
2691 1745, 1742, 1746, 1746, 1746, 1165, 1728, 1744, 1747, 1747,
2693 1747, 1164, 1747, 1161, 1158, 1747, 1755, 1755, 1755, 1746,
2694 1756, 1756, 1756, 1154, 1756, 1150, 1148, 1756, 1757, 1757,
2695 1757, 1147, 1144, 1755, 1758, 1758, 1758, 1759, 1759, 1759,
2696 1139, 1759, 1138, 1133, 1759, 1757, 1762, 1762, 1762, 1131,
2697 1127, 1758, 1764, 1764, 1764, 1765, 1765, 1765, 1126, 1765,
2698 1120, 1111, 1765, 1110, 1762, 1768, 1768, 1768, 1109, 1107,
2699 1764, 1769, 1769, 1769, 1105, 1769, 1104, 1099, 1769, 1770,
2700 1770, 1770, 1768, 1775, 1775, 1775, 1778, 1778, 1778, 1779,
2701 1779, 1779, 1098, 1779, 1096, 1094, 1779, 1770, 1093, 1795,
2702 1795, 1795, 1092, 1778, 1796, 1796, 1796, 1797, 1797, 1797,
2704 1798, 1798, 1798, 1841, 1841, 1841, 1764, 1795, 1799, 1799,
2705 1799, 1091, 1799, 1090, 1797, 1799, 1083, 1798, 1800, 1800,
2706 1800, 1082, 1800, 1080, 1074, 1800, 1806, 1806, 1806, 1073,
2707 1806, 1072, 1071, 1806, 1810, 1810, 1810, 1070, 1067, 1795,
2708 1066, 1063, 1797, 1811, 1811, 1811, 1058, 1811, 1055, 1046,
2709 1811, 1810, 1813, 1813, 1813, 1044, 1813, 1043, 1040, 1813,
2710 1816, 1816, 1816, 1817, 1817, 1817, 1039, 1817, 1037, 1036,
2711 1817, 1819, 1819, 1819, 1821, 1821, 1821, 1816, 1821, 1035,
2712 1034, 1821, 1824, 1824, 1824, 1825, 1825, 1825, 1819, 1825,
2713 1033, 1031, 1825, 1826, 1826, 1826, 1827, 1827, 1827, 1824,
2715 1827, 1030, 1026, 1827, 1834, 1834, 1834, 1835, 1835, 1835,
2716 1826, 1835, 1025, 1024, 1835, 1840, 1840, 1840, 1023, 1844,
2717 1844, 1844, 1834, 1844, 1022, 1020, 1844, 1851, 1851, 1851,
2718 1019, 1018, 1840, 1840, 1860, 1860, 1860, 1861, 1861, 1861,
2719 1862, 1862, 1862, 1017, 1851, 1008, 1863, 1863, 1863, 1004,
2720 1863, 992, 1860, 1863, 1834, 991, 986, 1862, 1865, 1865,
2721 1865, 985, 1865, 983, 976, 1865, 1872, 1872, 1872, 975,
2722 1872, 965, 960, 1872, 1876, 1876, 1876, 957, 1876, 956,
2723 953, 1876, 1860, 1880, 1880, 1880, 1881, 1881, 1881, 948,
2724 1881, 939, 938, 1881, 1883, 1883, 1883, 937, 1883, 933,
2726 1880, 1883, 1886, 1886, 1886, 925, 1886, 920, 919, 1886,
2727 1895, 1895, 1895, 1897, 1897, 1897, 1898, 1898, 1898, 1899,
2728 1899, 1899, 918, 1899, 912, 911, 1899, 910, 1895, 909,
2729 1897, 1897, 904, 1898, 1898, 903, 902, 1899, 1900, 1900,
2730 1900, 1901, 1901, 1901, 1906, 1906, 1906, 1907, 1907, 1907,
2731 901, 1907, 900, 899, 1907, 1916, 1916, 1916, 1917, 1917,
2732 1917, 1906, 1917, 889, 888, 1917, 1923, 1923, 1923, 1925,
2733 1925, 1925, 887, 1916, 1926, 1926, 1926, 1927, 1927, 1927,
2734 886, 1927, 881, 1923, 1927, 880, 1925, 1930, 1930, 1930,
2735 875, 1926, 1945, 1945, 1945, 1948, 1948, 1948, 1949, 1949,
2737 1949, 874, 1949, 873, 1930, 1949, 872, 1950, 1950, 1950,
2738 1945, 1950, 1948, 1948, 1950, 871, 1949, 870, 869, 1916,
2739 1953, 1953, 1953, 868, 867, 1950, 1951, 1951, 1951, 1951,
2740 1951, 1951, 1951, 1951, 1951, 862, 854, 1951, 1954, 1954,
2741 1954, 852, 1951, 1951, 1951, 1951, 1951, 1959, 1959, 1959,
2742 846, 1959, 837, 832, 1959, 1973, 1973, 1973, 825, 1973,
2743 824, 823, 1973, 1968, 1968, 1968, 821, 1972, 1972, 1972,
2744 1951, 1951, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952,
2745 1952, 1968, 820, 1952, 1972, 1975, 1975, 1975, 1952, 1952,
2746 1952, 1952, 1952, 1976, 1976, 1976, 819, 1976, 818, 816,
2748 1976, 815, 1975, 1977, 1977, 1977, 1978, 1978, 1978, 814,
2749 1978, 813, 812, 1978, 811, 810, 1952, 1952, 809, 808,
2750 1977, 1979, 1979, 1979, 1980, 1980, 1980, 802, 1980, 801,
2751 800, 1980, 1994, 1994, 1994, 797, 1994, 796, 1979, 1994,
2752 795, 793, 2009, 2009, 2009, 2045, 2045, 2045, 789, 786,
2753 1994, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997,
2754 2009, 783, 1997, 2045, 2045, 776, 775, 1997, 1997, 1997,
2755 1997, 1997, 2014, 2014, 2014, 772, 2014, 771, 770, 2014,
2756 2018, 2018, 2018, 769, 2018, 759, 752, 2018, 744, 2052,
2757 2052, 2052, 2053, 2053, 2053, 1997, 1997, 1998, 1998, 1998,
2759 1998, 1998, 1998, 1998, 1998, 1998, 2052, 743, 1998, 2053,
2760 742, 739, 734, 1998, 1998, 1998, 1998, 1998, 2021, 2021,
2761 2021, 731, 2021, 730, 729, 2021, 2024, 2024, 2024, 725,
2762 2024, 723, 720, 2024, 2054, 2054, 2054, 2059, 2059, 2059,
2763 719, 1998, 1998, 2072, 2072, 2072, 2076, 2076, 2076, 718,
2764 717, 2054, 716, 715, 2059, 2079, 2079, 2079, 2080, 2080,
2765 2080, 2072, 2080, 711, 2076, 2080, 2081, 2081, 2081, 2082,
2766 2082, 2082, 2079, 2082, 707, 704, 2082, 2083, 2083, 2083,
2767 2084, 2084, 2084, 2081, 2084, 703, 700, 2084, 2091, 2091,
2768 2091, 2092, 2092, 2092, 2083, 2092, 2076, 699, 2092, 2103,
2770 2103, 2103, 2107, 2107, 2107, 2091, 2107, 698, 697, 2107,
2771 696, 2110, 2110, 2110, 694, 2110, 693, 2103, 2110, 2113,
2772 2113, 2113, 692, 2113, 691, 687, 2113, 2122, 2122, 2122,
2773 682, 2122, 681, 680, 2122, 2103, 2235, 2235, 2235, 2246,
2774 2246, 2246, 679, 2246, 676, 674, 2246, 2351, 2351, 2351,
2775 2352, 2352, 2352, 670, 2235, 666, 665, 2246, 662, 661,
2776 660, 659, 658, 656, 655, 2351, 654, 653, 2352, 2355,
2777 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2355, 2356, 2356,
2778 2356, 2356, 2356, 2356, 2356, 2356, 2356, 2357, 2357, 2357,
2779 2357, 2357, 2357, 2357, 2357, 2357, 2358, 2358, 2358, 2358,
2781 2358, 2358, 2358, 2358, 2358, 2359, 2359, 2359, 2359, 2359,
2782 2359, 2359, 2359, 2359, 2360, 2360, 2360, 2360, 2360, 2360,
2783 2360, 2360, 2360, 2361, 2361, 2361, 2361, 2361, 2361, 2361,
2784 2361, 2361, 2362, 2362, 2362, 2362, 2362, 2362, 2362, 2362,
2785 2362, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363, 2363,
2786 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2364, 2365,
2787 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2366, 2366,
2788 2366, 2366, 2366, 2366, 2366, 2366, 2366, 2367, 2367, 2367,
2789 2367, 2367, 2367, 2367, 2367, 2367, 2368, 2368, 2368, 2368,
2790 2368, 2368, 2368, 2368, 2368, 2369, 2369, 2369, 2369, 2369,
2792 2369, 2369, 2369, 2369, 2370, 2370, 2370, 2370, 2370, 2370,
2793 2370, 2370, 2370, 2371, 2371, 2371, 2371, 2371, 2371, 2371,
2794 2371, 2371, 2372, 2372, 2372, 2372, 2372, 2372, 2372, 2372,
2795 2372, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373, 2373,
2796 2374, 2374, 2374, 2374, 2374, 2374, 2374, 2374, 2374, 2375,
2797 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2375, 2376, 2376,
2798 2376, 2376, 2376, 2376, 2376, 2376, 2376, 2377, 2377, 2377,
2799 2377, 2377, 2377, 2377, 2377, 2377, 2378, 2378, 2378, 2378,
2800 2378, 2378, 2378, 2378, 2378, 2379, 2379, 2379, 2379, 2379,
2801 2379, 2379, 2379, 2379, 2380, 2380, 2380, 2380, 2380, 2380,
2803 2380, 2380, 2380, 2381, 2381, 2381, 2381, 2381, 2381, 2381,
2804 2381, 2381, 2382, 2382, 2382, 2382, 2382, 2382, 2382, 2382,
2805 2382, 2383, 2383, 2383, 2383, 2383, 2383, 2383, 2383, 2383,
2806 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2384, 2385,
2807 2385, 2385, 2385, 2385, 2385, 2385, 2385, 2385, 2386, 2386,
2808 2386, 2386, 2386, 2386, 2386, 2386, 2386, 2387, 2387, 2387,
2809 2387, 2387, 2387, 2387, 2387, 2387, 2388, 2388, 2388, 2388,
2810 2388, 2388, 2388, 2388, 2388, 2389, 2389, 2389, 2389, 2389,
2811 2389, 2389, 2389, 2389, 2390, 2390, 2390, 2390, 2390, 2390,
2812 2390, 2390, 2390, 2391, 2391, 2391, 2391, 2391, 2391, 2391,
2814 2391, 2391, 2392, 2392, 2392, 2392, 2392, 2392, 2392, 2392,
2815 2392, 2393, 2393, 2393, 2393, 2393, 2393, 2393, 2393, 2393,
2816 2394, 2394, 2394, 2394, 2394, 2394, 2394, 2394, 2394, 2395,
2817 2395, 2395, 652, 651, 650, 2395, 2396, 2396, 2396, 649,
2818 648, 647, 2396, 2397, 2397, 2397, 646, 645, 644, 2397,
2819 2398, 2398, 2398, 640, 639, 637, 2398, 2399, 2399, 2399,
2820 636, 635, 634, 2399, 2400, 2400, 2400, 633, 629, 627,
2821 2400, 2401, 2401, 2401, 626, 625, 624, 2401, 2402, 2402,
2822 2402, 619, 615, 614, 2402, 2403, 2403, 2403, 611, 610,
2823 609, 2403, 2404, 2404, 2404, 608, 607, 606, 2404, 2405,
2825 2405, 2405, 603, 602, 601, 2405, 2406, 2406, 2406, 600,
2826 597, 595, 2406, 2407, 2407, 2407, 592, 591, 590, 2407,
2827 2408, 2408, 2408, 589, 588, 585, 2408, 2409, 2409, 2409,
2828 584, 583, 582, 2409, 2410, 2410, 2410, 581, 578, 577,
2829 2410, 2411, 2411, 2411, 576, 575, 573, 2411, 2412, 2412,
2830 2412, 570, 568, 565, 2412, 2413, 2413, 2413, 2413, 2413,
2831 2413, 2413, 564, 2413, 2414, 2414, 2414, 563, 562, 561,
2832 2414, 2415, 559, 558, 557, 2415, 2416, 2416, 2416, 554,
2833 553, 552, 2416, 2417, 551, 550, 549, 2417, 2418, 2418,
2834 2418, 548, 547, 545, 2418, 2419, 543, 542, 539, 2419,
2836 2420, 2420, 2420, 538, 537, 534, 2420, 2421, 529, 527,
2837 526, 2421, 2422, 2422, 2422, 525, 524, 523, 2422, 2423,
2838 522, 518, 517, 2423, 2424, 516, 515, 511, 2424, 2425,
2839 2425, 2425, 510, 509, 508, 2425, 2426, 507, 505, 502,
2840 2426, 2427, 2427, 2427, 501, 499, 497, 2427, 2428, 492,
2841 489, 487, 2428, 2429, 2429, 2429, 484, 483, 481, 2429,
2842 2430, 480, 479, 478, 2430, 2431, 2431, 2431, 477, 474,
2843 473, 2431, 2432, 472, 471, 470, 2432, 2433, 2433, 2433,
2844 464, 463, 461, 2433, 2434, 455, 454, 450, 2434, 2435,
2845 2435, 2435, 446, 442, 438, 2435, 2436, 432, 428, 424,
2847 2436, 2437, 2437, 2437, 420, 419, 418, 2437, 2438, 417,
2848 413, 409, 2438, 2439, 2439, 2439, 406, 405, 404, 2439,
2849 2440, 400, 394, 393, 2440, 2441, 2441, 2441, 389, 385,
2850 381, 2441, 2442, 380, 376, 373, 2442, 2443, 2443, 2443,
2851 372, 367, 363, 2443, 2444, 355, 354, 353, 2444, 2445,
2852 2445, 2445, 349, 343, 342, 2445, 2446, 338, 331, 330,
2853 2446, 2447, 2447, 2447, 329, 328, 327, 2447, 2448, 326,
2854 322, 315, 2448, 2449, 2449, 2449, 2449, 2449, 2449, 2449,
2855 2449, 2449, 2450, 313, 312, 311, 309, 2450, 2451, 2451,
2856 2451, 305, 298, 297, 2451, 2452, 2452, 2452, 2452, 296,
2858 295, 2452, 2452, 2453, 2453, 2453, 294, 290, 286, 2453,
2859 2454, 2454, 2454, 2454, 280, 278, 2454, 2454, 2455, 2455,
2860 2455, 273, 272, 268, 2455, 2456, 2456, 2456, 2456, 262,
2861 261, 2456, 2456, 2457, 2457, 2457, 260, 256, 248, 2457,
2862 2458, 2458, 2458, 2458, 246, 245, 2458, 2458, 2459, 2459,
2863 2459, 241, 238, 236, 2459, 2460, 2460, 2460, 2460, 235,
2864 234, 2460, 2460, 2461, 2461, 2461, 230, 227, 226, 2461,
2865 2462, 2462, 2462, 2462, 223, 219, 2462, 2462, 2463, 2463,
2866 2463, 215, 211, 210, 2463, 2464, 2464, 2464, 2464, 209,
2867 203, 2464, 2464, 2465, 2465, 2465, 202, 200, 197, 2465,
2869 2466, 2466, 2466, 2466, 185, 0, 2466, 2466, 2467, 2467,
2870 2467, 0, 0, 0, 2467, 2468, 2468, 2468, 2468, 0,
2871 0, 2468, 2468, 2469, 2469, 2469, 0, 0, 0, 2469,
2872 2470, 2470, 2470, 2470, 0, 0, 2470, 2470, 2471, 2471,
2873 2471, 2471, 0, 2471, 0, 2471, 2472, 2472, 2472, 2472,
2874 0, 0, 2472, 2472, 2473, 2473, 2473, 2473, 0, 2473,
2875 0, 2473, 2474, 2474, 2474, 2474, 0, 0, 2474, 2474,
2876 2475, 2475, 2475, 0, 0, 0, 2475, 2476, 2476, 2476,
2877 2476, 0, 0, 2476, 2476, 2477, 2477, 2477, 2477, 0,
2878 2477, 0, 2477, 2478, 2478, 2478, 2478, 0, 0, 2478,
2880 2478, 2479, 2479, 2479, 0, 0, 0, 2479, 2480, 2480,
2881 2480, 2480, 0, 0, 2480, 2480, 2481, 2481, 2481, 0,
2882 0, 0, 2481, 2482, 2482, 2482, 2482, 0, 0, 2482,
2883 2482, 2483, 2483, 2483, 2483, 0, 0, 2483, 2483, 2484,
2884 2484, 2484, 0, 0, 0, 2484, 2485, 2485, 2485, 2485,
2885 0, 0, 2485, 2485, 2486, 2486, 2486, 2486, 2486, 2486,
2886 2486, 2486, 2486, 2487, 0, 2487, 0, 0, 2487, 2488,
2887 2488, 2488, 0, 0, 0, 2488, 2489, 2489, 2489, 2489,
2888 0, 0, 2489, 2489, 2490, 2490, 2490, 2490, 0, 2490,
2889 0, 2490, 2491, 2491, 2491, 2491, 0, 0, 2491, 2491,
2891 2492, 2492, 2492, 0, 0, 0, 2492, 2493, 2493, 2493,
2892 2493, 0, 0, 2493, 2493, 2494, 2494, 2494, 0, 0,
2893 0, 2494, 2495, 2495, 2495, 2495, 0, 0, 2495, 2495,
2894 2496, 2496, 2496, 0, 0, 0, 2496, 2497, 2497, 2497,
2895 2497, 0, 0, 2497, 2497, 2498, 2498, 2498, 0, 0,
2896 0, 2498, 2499, 2499, 2499, 2499, 0, 0, 2499, 2499,
2897 2500, 2500, 2500, 0, 0, 0, 2500, 2501, 2501, 2501,
2898 2501, 0, 0, 2501, 2501, 2502, 2502, 2502, 0, 0,
2899 0, 2502, 2503, 2503, 2503, 2503, 0, 0, 2503, 2503,
2900 2504, 2504, 2504, 0, 0, 0, 2504, 2505, 2505, 2505,
2902 2505, 0, 0, 2505, 2505, 2506, 2506, 2506, 0, 0,
2903 0, 2506, 2507, 2507, 2507, 2507, 0, 0, 2507, 2507,
2904 2508, 2508, 2508, 0, 0, 0, 2508, 2509, 2509, 2509,
2905 2509, 0, 0, 2509, 2509, 2510, 2510, 2510, 0, 0,
2906 0, 2510, 2511, 2511, 2511, 2511, 0, 0, 2511, 2511,
2907 2512, 2512, 2512, 0, 0, 0, 2512, 2513, 2513, 2513,
2908 2513, 0, 0, 2513, 2513, 2514, 2514, 2514, 0, 0,
2909 0, 2514, 2515, 2515, 2515, 2515, 0, 0, 2515, 2515,
2910 2516, 2516, 2516, 0, 0, 0, 2516, 2517, 2517, 2517,
2911 2517, 0, 0, 2517, 2517, 2518, 2518, 2518, 0, 0,
2913 0, 2518, 2519, 2519, 2519, 2519, 0, 0, 2519, 2519,
2914 2520, 2520, 2520, 2520, 0, 0, 2520, 2520, 2521, 2521,
2915 2521, 0, 0, 0, 2521, 2522, 2522, 2522, 2522, 0,
2916 0, 2522, 2522, 2523, 2523, 2523, 2523, 2523, 2523, 2523,
2917 2523, 2523, 2524, 2524, 2524, 2524, 2524, 2524, 2524, 2524,
2918 2524, 2525, 2525, 2525, 0, 0, 0, 2525, 2526, 2526,
2919 2526, 2526, 0, 0, 2526, 2526, 2527, 2527, 2527, 0,
2920 0, 0, 2527, 2528, 2528, 2528, 2528, 0, 0, 2528,
2921 2528, 2529, 2529, 2529, 0, 0, 0, 2529, 2530, 2530,
2922 2530, 2530, 0, 0, 2530, 2530, 2531, 2531, 2531, 0,
2924 0, 0, 2531, 2532, 2532, 2532, 2532, 0, 0, 2532,
2925 2532, 2533, 2533, 2533, 0, 0, 0, 2533, 2534, 2534,
2926 2534, 0, 0, 0, 2534, 2535, 2535, 2535, 2535, 0,
2927 0, 2535, 2535, 2536, 2536, 2536, 0, 0, 0, 2536,
2928 2537, 2537, 2537, 2537, 0, 0, 2537, 2537, 2538, 2538,
2929 2538, 0, 0, 0, 2538, 2539, 2539, 2539, 2539, 0,
2930 0, 2539, 2539, 2540, 2540, 2540, 0, 0, 0, 2540,
2931 2541, 2541, 2541, 2541, 0, 0, 2541, 2541, 2542, 2542,
2932 2542, 0, 0, 0, 2542, 2543, 2543, 2543, 2543, 0,
2933 0, 2543, 2543, 2544, 2544, 2544, 0, 0, 0, 2544,
2935 2545, 2545, 2545, 2545, 0, 0, 2545, 2545, 2546, 2546,
2936 2546, 0, 0, 0, 2546, 2547, 2547, 2547, 2547, 0,
2937 0, 2547, 2547, 2548, 2548, 2548, 0, 0, 0, 2548,
2938 2549, 2549, 2549, 2549, 0, 0, 2549, 2549, 2550, 2550,
2939 2550, 0, 0, 0, 2550, 2551, 2551, 2551, 2551, 0,
2940 0, 2551, 2551, 2552, 2552, 2552, 0, 0, 0, 2552,
2941 2553, 2553, 2553, 2553, 0, 0, 2553, 2553, 2554, 2554,
2942 2554, 2554, 0, 2554, 0, 2554, 2555, 2555, 2555, 2555,
2943 0, 0, 2555, 2555, 2556, 2556, 2556, 2556, 0, 0,
2944 2556, 2556, 2557, 2557, 2557, 2557, 0, 2557, 0, 2557,
2946 2558, 2558, 2558, 2558, 0, 0, 2558, 2558, 2559, 2559,
2947 2559, 2559, 2559, 2559, 2559, 2559, 2559, 2560, 2560, 2560,
2948 2560, 2560, 2560, 2560, 2560, 2560, 2561, 2561, 2561, 0,
2949 0, 0, 2561, 2562, 2562, 2562, 2562, 0, 0, 2562,
2950 2562, 2563, 2563, 2563, 0, 0, 0, 2563, 2564, 2564,
2951 2564, 2564, 0, 0, 2564, 2564, 2565, 2565, 2565, 0,
2952 0, 0, 2565, 2566, 2566, 2566, 2566, 0, 0, 2566,
2953 2566, 2567, 2567, 2567, 0, 0, 0, 2567, 2568, 2568,
2954 2568, 2568, 0, 0, 2568, 2568, 2569, 2569, 2569, 0,
2955 0, 0, 2569, 2570, 2570, 2570, 0, 0, 0, 2570,
2957 2571, 2571, 2571, 2571, 0, 0, 2571, 2571, 2572, 2572,
2958 2572, 0, 0, 0, 2572, 2573, 2573, 2573, 2573, 0,
2959 0, 2573, 2573, 2574, 2574, 2574, 0, 0, 0, 2574,
2960 2575, 2575, 2575, 2575, 0, 0, 2575, 2575, 2576, 2576,
2961 2576, 0, 0, 0, 2576, 2577, 2577, 2577, 2577, 0,
2962 0, 2577, 2577, 2578, 2578, 2578, 0, 0, 0, 2578,
2963 2579, 2579, 2579, 2579, 0, 0, 2579, 2579, 2580, 2580,
2964 2580, 0, 0, 0, 2580, 2581, 2581, 2581, 2581, 0,
2965 0, 2581, 2581, 2582, 2582, 2582, 2582, 0, 2582, 0,
2966 2582, 2583, 2583, 2583, 2583, 0, 0, 2583, 2583, 2584,
2968 2584, 2584, 0, 0, 0, 2584, 2585, 2585, 2585, 2585,
2969 0, 0, 2585, 2585, 2586, 2586, 2586, 2586, 0, 2586,
2970 0, 2586, 2587, 2587, 2587, 2587, 0, 0, 2587, 2587,
2971 2588, 2588, 2588, 0, 0, 0, 2588, 2589, 2589, 2589,
2972 2589, 0, 0, 2589, 2589, 2590, 2590, 2590, 2590, 0,
2973 0, 2590, 2590, 2591, 2591, 2591, 2591, 0, 0, 2591,
2974 2591, 2592, 2592, 2592, 2592, 0, 0, 2592, 2592, 2593,
2975 2593, 2593, 2593, 2593, 2593, 2593, 2593, 2593, 2594, 2594,
2976 2594, 2594, 2594, 2594, 2594, 2594, 2594, 2595, 2595, 2595,
2977 2595, 0, 2595, 0, 2595, 2596, 2596, 2596, 2596, 0,
2979 0, 2596, 2596, 2597, 2597, 2597, 0, 0, 0, 2597,
2980 2598, 2598, 2598, 2598, 0, 0, 2598, 2598, 2599, 2599,
2981 2599, 0, 0, 0, 2599, 2600, 2600, 2600, 2600, 0,
2982 0, 2600, 2600, 2601, 2601, 2601, 2601, 0, 2601, 0,
2983 2601, 2602, 2602, 2602, 2602, 0, 0, 2602, 2602, 2603,
2984 2603, 2603, 2603, 0, 2603, 0, 2603, 2604, 2604, 2604,
2985 0, 0, 0, 2604, 2605, 2605, 2605, 0, 0, 0,
2986 2605, 2606, 2606, 2606, 2606, 0, 0, 2606, 2606, 2607,
2987 2607, 2607, 0, 0, 0, 2607, 2608, 2608, 2608, 0,
2988 0, 0, 2608, 2609, 2609, 2609, 2609, 0, 0, 2609,
2990 2609, 2610, 2610, 2610, 0, 0, 0, 2610, 2611, 2611,
2991 2611, 0, 0, 0, 2611, 2612, 2612, 2612, 2612, 0,
2992 0, 2612, 2612, 2613, 2613, 2613, 0, 0, 0, 2613,
2993 2614, 2614, 2614, 2614, 0, 0, 2614, 2614, 2615, 2615,
2994 2615, 0, 0, 0, 2615, 2616, 2616, 2616, 2616, 0,
2995 0, 2616, 2616, 2617, 2617, 2617, 2617, 0, 0, 2617,
2996 2617, 2618, 2618, 2618, 0, 0, 0, 2618, 2619, 2619,
2997 2619, 2619, 0, 0, 2619, 2619, 2620, 2620, 2620, 2620,
2998 0, 0, 2620, 2620, 2621, 2621, 2621, 2621, 0, 0,
2999 2621, 2621, 2622, 2622, 2622, 2622, 2622, 2622, 2622, 2622,
3001 2622, 2623, 2623, 2623, 2623, 2623, 2623, 2623, 2623, 2623,
3002 2624, 2624, 2624, 2624, 2624, 2624, 2624, 2624, 2624, 2625,
3003 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2625, 2626, 2626,
3004 2626, 2626, 2626, 2626, 2626, 2626, 2626, 2627, 2627, 2627,
3005 2627, 2627, 2627, 2627, 2627, 2627, 2628, 2628, 2628, 2628,
3006 2628, 2628, 2628, 2628, 2628, 2629, 2629, 2629, 2629, 2629,
3007 2629, 2629, 2629, 2629, 2354, 2354, 2354, 2354, 2354, 2354,
3008 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
3009 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
3010 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
3012 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
3013 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
3014 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354,
3015 2354, 2354, 2354, 2354, 2354, 2354
3018 /* Table of booleans, true if rule could match eol. */
3019 static yyconst flex_int32_t yy_rule_can_match_eol[389] =
3021 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3022 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3023 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3024 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3025 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3026 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3027 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3028 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3029 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3030 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3031 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3032 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3033 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3034 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3035 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3036 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3037 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0,
3038 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3039 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0,
3040 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3042 static yy_state_type yy_last_accepting_state;
3043 static char *yy_last_accepting_cpos;
3045 extern int surf_parse__flex_debug;
3046 int surf_parse__flex_debug = 0;
3048 /* The intent behind this definition is that it'll catch
3049 * any uses of REJECT which flex missed.
3051 #define REJECT reject_used_but_not_detected
3052 #define yymore() yymore_used_but_not_detected
3053 #define YY_MORE_ADJ 0
3054 #define YY_RESTORE_YY_MORE_OFFSET
3055 char *surf_parse_text;
3056 /* Validating XML processor for src/surf/simgrid.dtd.
3057 * Generated 2011/01/21 14:19:23.
3059 * This program was generated with the FleXML XML processor generator.
3060 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3061 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3062 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3064 * There are two, intertwined parts to this program, part A and part B.
3069 * Some parts, here collectively called "Part A", are found in the
3070 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3071 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3073 * You can redistribute, use, perform, display and/or modify "Part A"
3074 * provided the following two conditions hold:
3076 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3077 * FleXML; without even the implied warranty of MERCHANTABILITY or
3078 * FITNESS FOR A PARTICULAR PURPOSE.
3080 * 2. The program distribution conditions do not in any way affect the
3081 * distribution conditions of the FleXML system used to generate this
3082 * file or any version of FleXML derived from that system.
3084 * Notice that these are explicit rights granted to you for files
3085 * generated by the FleXML system. For your rights in connection with
3086 * the FleXML system itself please consult the GNU General Public License.
3091 * The other parts, here collectively called "Part B", and which came
3092 * from the DTD used by FleXML to generate this program, can be
3093 * distributed (or not, as the case may be) under the terms of whoever
3094 * wrote them, provided these terms respect and obey the two conditions
3095 * above under the heading "Part A".
3097 * The author of and contributors to FleXML specifically disclaim
3098 * any copyright interest in "Part B", unless "Part B" was written
3099 * by the author of or contributors to FleXML.
3103 /* Version strings. */
3104 const char rcs_surfxml_flexml_skeleton[] =
3105 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3106 const char rcs_surfxml_flexml[] =
3107 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3110 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3117 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3118 # ifndef __STRICT_ANSI__
3120 # include <process.h>
3123 # include <unistd.h>
3126 #ifndef FLEXML_INDEXSTACKSIZE
3127 #define FLEXML_INDEXSTACKSIZE 1000
3130 /* Generated definitions. */
3131 #define FLEXML_yylineno
3132 #ifndef FLEXML_BUFFERSTACKSIZE
3133 #define FLEXML_BUFFERSTACKSIZE 1000000
3135 #define FLEXML_NEED_BUFFERLIT
3137 /* XML processor api. */
3138 /* FleXML-provided data. */
3139 int surfxml_pcdata_ix;
3140 extern char *surfxml_bufferstack;
3141 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3142 AT_surfxml_random_generator AX_surfxml_random_generator;
3143 #define A_surfxml_random_generator AX_surfxml_random_generator
3144 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3145 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3146 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3147 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3148 AT_surfxml_prop_id AX_surfxml_prop_id;
3149 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3150 AT_surfxml_host_id AX_surfxml_host_id;
3151 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3152 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3153 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3154 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3155 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3156 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3157 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3158 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3159 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3160 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3161 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3162 AT_surfxml_host_state AX_surfxml_host_state;
3163 #define A_surfxml_host_state AX_surfxml_host_state
3164 AT_surfxml_AS_id AX_surfxml_AS_id;
3165 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3166 AT_surfxml_host_power AX_surfxml_host_power;
3167 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3168 AT_surfxml_router_id AX_surfxml_router_id;
3169 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3170 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3171 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3172 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3173 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3174 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3175 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3176 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3177 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3178 AT_surfxml_trace_file AX_surfxml_trace_file;
3179 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3180 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3181 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3182 AT_surfxml_random_min AX_surfxml_random_min;
3183 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3184 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3185 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3186 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3187 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3188 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3189 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3190 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3191 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3192 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3193 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3194 AT_surfxml_argument_value AX_surfxml_argument_value;
3195 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3196 AT_surfxml_link_state AX_surfxml_link_state;
3197 #define A_surfxml_link_state AX_surfxml_link_state
3198 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3199 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3200 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3201 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3202 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3203 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3204 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3205 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3206 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3207 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3208 AT_surfxml_random_mean AX_surfxml_random_mean;
3209 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3210 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3211 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3212 AT_surfxml_link_latency AX_surfxml_link_latency;
3213 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3214 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3215 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3216 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3217 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3218 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3219 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3220 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3221 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3222 AT_surfxml_random_id AX_surfxml_random_id;
3223 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3224 AT_surfxml_random_max AX_surfxml_random_max;
3225 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3226 AT_surfxml_link_id AX_surfxml_link_id;
3227 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3228 AT_surfxml_process_host AX_surfxml_process_host;
3229 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3230 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3231 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3232 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3233 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3234 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3235 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3236 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3237 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3238 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3239 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3240 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3241 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3242 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3243 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3244 AT_surfxml_prop_value AX_surfxml_prop_value;
3245 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3246 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3247 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3248 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3249 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3250 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3251 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3252 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3253 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3254 AT_surfxml_process_function AX_surfxml_process_function;
3255 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3256 AT_surfxml_peer_id AX_surfxml_peer_id;
3257 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3258 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3259 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3260 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3261 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3262 AT_surfxml_host_core AX_surfxml_host_core;
3263 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3264 AT_surfxml_host_availability AX_surfxml_host_availability;
3265 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3266 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3267 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3268 AT_surfxml_route_src AX_surfxml_route_src;
3269 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3270 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3271 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3272 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3273 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3274 AT_surfxml_trace_id AX_surfxml_trace_id;
3275 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3276 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3277 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3278 AT_surfxml_peer_power AX_surfxml_peer_power;
3279 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3280 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3281 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3282 AT_surfxml_config_id AX_surfxml_config_id;
3283 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3284 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3285 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3286 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3287 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3288 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3289 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3290 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3291 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3292 AT_surfxml_route_dst AX_surfxml_route_dst;
3293 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3294 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3295 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3296 AT_surfxml_platform_version AX_surfxml_platform_version;
3297 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3301 # define ENTER(state) debug_enter(state,#state)
3302 # define LEAVE debug_leave()
3303 # define SET(state) debug_set(state,#state)
3304 static void debug_enter(int, const char*);
3305 static void debug_leave(void);
3306 static void debug_set(int, const char*);
3308 # define ENTER(state) (yy_push_state(state))
3309 # define LEAVE (yy_pop_state())
3310 # define SET(state) BEGIN(state)
3313 /* Generic actions. */
3314 #define SKIP /*skip*/
3315 #define SUCCEED CLEANUP; return 0
3317 #define FAIL return fail
3318 static int fail(const char*, ...);
3320 enum {flexml_max_err_msg_size = 512};
3321 static char flexml_err_msg[flexml_max_err_msg_size];
3322 const char * surfxml_parse_err_msg()
3324 return flexml_err_msg;
3326 static void reset_surfxml_parse_err_msg()
3328 flexml_err_msg[0] = '\0';
3332 static void cleanup(void);
3333 #define CLEANUP cleanup()
3335 /* Text buffer stack handling. */
3336 char *surfxml_bufferstack = NULL;
3337 static int blimit = FLEXML_BUFFERSTACKSIZE;
3338 static int bnext = 1;
3340 static int *indexstack = NULL;
3341 static int ilimit = FLEXML_INDEXSTACKSIZE;
3342 static int inext = 1;
3344 #define BUFFERSET(P) (P = bnext)
3345 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3346 #define BUFFERDONE (BUFFERPUTC('\0'))
3348 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3350 /* after this is called, there are at least 2 slots left in the stack */
3351 static int ck_blimit()
3353 if (bnext >= blimit) {
3354 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3356 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3358 surfxml_bufferstack = temp;
3364 /* after this is called, there are at least 2 slots left in the stack */
3365 static int ck_ilimit()
3367 if (inext >= ilimit) {
3368 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3370 int *temp = (int *) realloc(indexstack, ilimit);
3378 #ifdef FLEXML_NEED_BUFFERLIT
3379 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3381 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3382 assert(s <= e); BUFFERSET(*pp);
3384 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3385 else BUFFERPUTC(*s);
3391 static void pushbuffer(int p)
3394 indexstack[inext++] = p;
3395 indexstack[inext++] = bnext;
3398 static int popbuffer(void)
3401 bnext = indexstack[--inext];
3402 return indexstack[--inext];
3405 /* General internal entities are `unput' back onto the input stream... */
3406 #define ENTITYTEXT(T) \
3407 { char *s = (T), *e = s+strlen(s);\
3408 while (--e >= s) { unput(*e); }}
3410 /* Flex standard options. */
3411 #define YY_NO_INPUT 1
3412 /* Flex user-requested options. */
3413 /* XML character classes (currently restricted to ASCII). */
3414 /* "Common syntactic structures." */
3415 /* "Names and Tokens." */
3416 /* Miscellaneous. */
3417 /* Parser states (flex `exclusive start conditions'):
3419 * PROLOG the XML prolog of the document before <?xml...>
3420 * DOCTYPE the XML prolog of the document after <?xml...>
3421 * EPILOG after the root element
3422 * INCOMMENT inside an XML comment <!--....-->
3423 * INPI inside an XML PI <?...?>
3424 * VALUE1 inside a '...'-delimited literal
3425 * VALUE2 inside a "..."-delimited literal
3426 * CDATA inside a <![CDATA[...] ]> section.
3427 * ROOT_<tag> expect root element <tag>
3428 * AL_<tag> inside the attribute list for <tag>
3429 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3430 * IMPOSSIBLE dummy to permit disabling rules; must be last
3434 const char* *surfxml_statenames=NULL;
3445 #define ROOT_surfxml_platform 9
3446 #define AL_surfxml_platform 10
3447 #define S_surfxml_platform 11
3448 #define S_surfxml_platform_1 12
3449 #define S_surfxml_platform_2 13
3450 #define S_surfxml_platform_3 14
3451 #define S_surfxml_platform_4 15
3452 #define S_surfxml_platform_5 16
3453 #define S_surfxml_platform_6 17
3454 #define E_surfxml_platform 18
3455 #define AL_surfxml_trace 19
3457 #define AL_surfxml_random 21
3458 #define S_surfxml_random 22
3459 #define S_surfxml_random_1 23
3460 #define S_surfxml_random_2 24
3461 #define E_surfxml_random 25
3462 #define AL_surfxml_trace_connect 26
3463 #define E_surfxml_trace_connect 27
3464 #define AL_surfxml_AS 28
3465 #define S_surfxml_AS 29
3466 #define S_surfxml_AS_1 30
3467 #define S_surfxml_AS_2 31
3468 #define S_surfxml_AS_3 32
3469 #define S_surfxml_AS_4 33
3470 #define S_surfxml_AS_5 34
3471 #define S_surfxml_AS_6 35
3472 #define S_surfxml_AS_7 36
3473 #define S_surfxml_AS_8 37
3474 #define S_surfxml_AS_9 38
3475 #define S_surfxml_AS_10 39
3476 #define S_surfxml_AS_11 40
3477 #define S_surfxml_AS_12 41
3478 #define S_surfxml_AS_13 42
3479 #define E_surfxml_AS 43
3480 #define AL_surfxml_host 44
3481 #define S_surfxml_host 45
3482 #define S_surfxml_host_1 46
3483 #define S_surfxml_host_2 47
3484 #define E_surfxml_host 48
3485 #define AL_surfxml_cluster 49
3486 #define E_surfxml_cluster 50
3487 #define AL_surfxml_peer 51
3488 #define E_surfxml_peer 52
3489 #define AL_surfxml_router 53
3490 #define E_surfxml_router 54
3491 #define AL_surfxml_link 55
3492 #define S_surfxml_link 56
3493 #define S_surfxml_link_1 57
3494 #define S_surfxml_link_2 58
3495 #define E_surfxml_link 59
3496 #define AL_surfxml_route 60
3497 #define S_surfxml_route 61
3498 #define S_surfxml_route_1 62
3499 #define S_surfxml_route_2 63
3500 #define E_surfxml_route 64
3501 #define AL_surfxml_ASroute 65
3502 #define S_surfxml_ASroute 66
3503 #define S_surfxml_ASroute_1 67
3504 #define S_surfxml_ASroute_2 68
3505 #define E_surfxml_ASroute 69
3506 #define AL_surfxml_link_ctn 70
3507 #define E_surfxml_link_ctn 71
3508 #define AL_surfxml_bypassRoute 72
3509 #define S_surfxml_bypassRoute 73
3510 #define S_surfxml_bypassRoute_1 74
3511 #define S_surfxml_bypassRoute_2 75
3512 #define E_surfxml_bypassRoute 76
3513 #define AL_surfxml_process 77
3514 #define S_surfxml_process 78
3515 #define S_surfxml_process_1 79
3516 #define S_surfxml_process_2 80
3517 #define E_surfxml_process 81
3518 #define AL_surfxml_argument 82
3519 #define E_surfxml_argument 83
3520 #define AL_surfxml_config 84
3521 #define S_surfxml_config 85
3522 #define S_surfxml_config_1 86
3523 #define S_surfxml_config_2 87
3524 #define E_surfxml_config 88
3525 #define AL_surfxml_prop 89
3526 #define E_surfxml_prop 90
3527 #define IMPOSSIBLE 91
3529 #ifndef YY_NO_UNISTD_H
3530 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3531 * down here because we want the user's section 1 to have been scanned first.
3532 * The user has a chance to override it with an option.
3534 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3535 # ifndef __STRICT_ANSI__
3537 # include <process.h>
3540 # include <unistd.h>
3544 #ifndef YY_EXTRA_TYPE
3545 #define YY_EXTRA_TYPE void *
3548 static int yy_init_globals (void );
3550 /* Accessor methods to globals.
3551 These are made visible to non-reentrant scanners for convenience. */
3553 int surf_parse_lex_destroy (void );
3555 int surf_parse_get_debug (void );
3557 void surf_parse_set_debug (int debug_flag );
3559 YY_EXTRA_TYPE surf_parse_get_extra (void );
3561 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3563 FILE *surf_parse_get_in (void );
3565 void surf_parse_set_in (FILE * in_str );
3567 FILE *surf_parse_get_out (void );
3569 void surf_parse_set_out (FILE * out_str );
3571 int surf_parse_get_leng (void );
3573 char *surf_parse_get_text (void );
3575 int surf_parse_get_lineno (void );
3577 void surf_parse_set_lineno (int line_number );
3579 /* Macros after this point can all be overridden by user definitions in
3583 #ifndef YY_SKIP_YYWRAP
3585 extern "C" int surf_parse_wrap (void );
3587 extern int surf_parse_wrap (void );
3592 static void yy_flex_strncpy (char *,yyconst char *,int );
3595 #ifdef YY_NEED_STRLEN
3596 static int yy_flex_strlen (yyconst char * );
3602 static int yyinput (void );
3604 static int input (void );
3609 static int yy_start_stack_ptr = 0;
3610 static int yy_start_stack_depth = 0;
3611 static int *yy_start_stack = NULL;
3613 static void yy_push_state (int new_state );
3615 static void yy_pop_state (void );
3617 /* Amount of stuff to slurp up with each read. */
3618 #ifndef YY_READ_BUF_SIZE
3620 /* On IA-64, the buffer size is 16k, not 8k */
3621 #define YY_READ_BUF_SIZE 16384
3623 #define YY_READ_BUF_SIZE 8192
3624 #endif /* __ia64__ */
3627 /* Copy whatever the last rule matched to the standard output. */
3629 /* This used to be an fputs(), but since the string might contain NUL's,
3630 * we now use fwrite().
3632 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3635 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3636 * is returned in "result".
3639 #define YY_INPUT(buf,result,max_size) \
3640 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3644 for ( n = 0; n < max_size && \
3645 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3646 buf[n] = (char) c; \
3648 buf[n++] = (char) c; \
3649 if ( c == EOF && ferror( surf_parse_in ) ) \
3650 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3656 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3658 if( errno != EINTR) \
3660 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3664 clearerr(surf_parse_in); \
3671 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3672 * we don't want an extra ';' after the "return" because that will cause
3673 * some compilers to complain about unreachable statements.
3676 #define yyterminate() return YY_NULL
3679 /* Number of entries by which start-condition stack grows. */
3680 #ifndef YY_START_STACK_INCR
3681 #define YY_START_STACK_INCR 25
3684 /* Report a fatal error. */
3685 #ifndef YY_FATAL_ERROR
3686 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3689 /* end tables serialization structures and prototypes */
3691 /* Default declaration of generated scanner - a define so the user can
3692 * easily add parameters.
3695 #define YY_DECL_IS_OURS 1
3697 extern int surf_parse_lex (void);
3699 #define YY_DECL int surf_parse_lex (void)
3700 #endif /* !YY_DECL */
3702 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3705 #ifndef YY_USER_ACTION
3706 #define YY_USER_ACTION
3709 /* Code executed at the end of each rule. */
3711 #define YY_BREAK break;
3714 #define YY_RULE_SETUP \
3717 /** The main scanner function which does all the work.
3721 register yy_state_type yy_current_state;
3722 register char *yy_cp, *yy_bp;
3723 register int yy_act;
3725 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3727 reset_surfxml_parse_err_msg();
3728 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3729 assert(surfxml_bufferstack);
3733 for (i = 0; i < blimit; i++) {
3734 surfxml_bufferstack[i] = '\377';
3738 surfxml_bufferstack[0] = '\0';
3739 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3745 surfxml_bufferliteral('\0', &bnext, "0.0");
3746 surfxml_bufferliteral('\0', &bnext, "1");
3747 surfxml_bufferliteral('\0', &bnext, "1.0");
3748 surfxml_bufferliteral('\0', &bnext, "1");
3749 surfxml_bufferliteral('\0', &bnext, "0.0");
3750 surfxml_bufferliteral('\0', &bnext, "-1.0");
3751 surfxml_bufferliteral('\0', &bnext, "-1.0");
3752 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3753 surfxml_statenames[PROLOG] = NULL;
3754 surfxml_statenames[DOCTYPE] = NULL;
3755 surfxml_statenames[EPILOG] = NULL;
3756 surfxml_statenames[INCOMMENT] = NULL;
3757 surfxml_statenames[INPI] = NULL;
3758 surfxml_statenames[VALUE1] = NULL;
3759 surfxml_statenames[VALUE2] = NULL;
3760 surfxml_statenames[CDATA] = NULL;
3761 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3762 surfxml_statenames[AL_surfxml_platform] = NULL;
3763 surfxml_statenames[S_surfxml_platform] = "platform";
3764 surfxml_statenames[S_surfxml_platform_1] = "platform";
3765 surfxml_statenames[S_surfxml_platform_2] = "platform";
3766 surfxml_statenames[S_surfxml_platform_3] = "platform";
3767 surfxml_statenames[S_surfxml_platform_4] = "platform";
3768 surfxml_statenames[S_surfxml_platform_5] = "platform";
3769 surfxml_statenames[S_surfxml_platform_6] = "platform";
3770 surfxml_statenames[E_surfxml_platform] = "platform";
3771 surfxml_statenames[AL_surfxml_trace] = NULL;
3772 surfxml_statenames[IN_trace] = "trace";
3773 surfxml_statenames[AL_surfxml_random] = NULL;
3774 surfxml_statenames[S_surfxml_random] = "random";
3775 surfxml_statenames[S_surfxml_random_1] = "random";
3776 surfxml_statenames[S_surfxml_random_2] = "random";
3777 surfxml_statenames[E_surfxml_random] = "random";
3778 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3779 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3780 surfxml_statenames[AL_surfxml_AS] = NULL;
3781 surfxml_statenames[S_surfxml_AS] = "AS";
3782 surfxml_statenames[S_surfxml_AS_1] = "AS";
3783 surfxml_statenames[S_surfxml_AS_2] = "AS";
3784 surfxml_statenames[S_surfxml_AS_3] = "AS";
3785 surfxml_statenames[S_surfxml_AS_4] = "AS";
3786 surfxml_statenames[S_surfxml_AS_5] = "AS";
3787 surfxml_statenames[S_surfxml_AS_6] = "AS";
3788 surfxml_statenames[S_surfxml_AS_7] = "AS";
3789 surfxml_statenames[S_surfxml_AS_8] = "AS";
3790 surfxml_statenames[S_surfxml_AS_9] = "AS";
3791 surfxml_statenames[S_surfxml_AS_10] = "AS";
3792 surfxml_statenames[S_surfxml_AS_11] = "AS";
3793 surfxml_statenames[S_surfxml_AS_12] = "AS";
3794 surfxml_statenames[S_surfxml_AS_13] = "AS";
3795 surfxml_statenames[E_surfxml_AS] = "AS";
3796 surfxml_statenames[AL_surfxml_host] = NULL;
3797 surfxml_statenames[S_surfxml_host] = "host";
3798 surfxml_statenames[S_surfxml_host_1] = "host";
3799 surfxml_statenames[S_surfxml_host_2] = "host";
3800 surfxml_statenames[E_surfxml_host] = "host";
3801 surfxml_statenames[AL_surfxml_cluster] = NULL;
3802 surfxml_statenames[E_surfxml_cluster] = "cluster";
3803 surfxml_statenames[AL_surfxml_peer] = NULL;
3804 surfxml_statenames[E_surfxml_peer] = "peer";
3805 surfxml_statenames[AL_surfxml_router] = NULL;
3806 surfxml_statenames[E_surfxml_router] = "router";
3807 surfxml_statenames[AL_surfxml_link] = NULL;
3808 surfxml_statenames[S_surfxml_link] = "link";
3809 surfxml_statenames[S_surfxml_link_1] = "link";
3810 surfxml_statenames[S_surfxml_link_2] = "link";
3811 surfxml_statenames[E_surfxml_link] = "link";
3812 surfxml_statenames[AL_surfxml_route] = NULL;
3813 surfxml_statenames[S_surfxml_route] = "route";
3814 surfxml_statenames[S_surfxml_route_1] = "route";
3815 surfxml_statenames[S_surfxml_route_2] = "route";
3816 surfxml_statenames[E_surfxml_route] = "route";
3817 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3818 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3819 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3820 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3821 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3822 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3823 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3824 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3825 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3826 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3827 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3828 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3829 surfxml_statenames[AL_surfxml_process] = NULL;
3830 surfxml_statenames[S_surfxml_process] = "process";
3831 surfxml_statenames[S_surfxml_process_1] = "process";
3832 surfxml_statenames[S_surfxml_process_2] = "process";
3833 surfxml_statenames[E_surfxml_process] = "process";
3834 surfxml_statenames[AL_surfxml_argument] = NULL;
3835 surfxml_statenames[E_surfxml_argument] = "argument";
3836 surfxml_statenames[AL_surfxml_config] = NULL;
3837 surfxml_statenames[S_surfxml_config] = "config";
3838 surfxml_statenames[S_surfxml_config_1] = "config";
3839 surfxml_statenames[S_surfxml_config_2] = "config";
3840 surfxml_statenames[E_surfxml_config] = "config";
3841 surfxml_statenames[AL_surfxml_prop] = NULL;
3842 surfxml_statenames[E_surfxml_prop] = "prop";
3845 /* COMMENTS and PIs: handled uniformly for efficiency. */
3856 (yy_start) = 1; /* first start state */
3858 if ( ! surf_parse_in )
3859 surf_parse_in = stdin;
3861 if ( ! surf_parse_out )
3862 surf_parse_out = stdout;
3864 if ( ! YY_CURRENT_BUFFER ) {
3865 surf_parse_ensure_buffer_stack ();
3866 YY_CURRENT_BUFFER_LVALUE =
3867 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3870 surf_parse__load_buffer_state( );
3873 while ( 1 ) /* loops until end-of-file is reached */
3875 yy_cp = (yy_c_buf_p);
3877 /* Support of surf_parse_text. */
3878 *yy_cp = (yy_hold_char);
3880 /* yy_bp points to the position in yy_ch_buf of the start of
3885 yy_current_state = (yy_start);
3889 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3890 if ( yy_accept[yy_current_state] )
3892 (yy_last_accepting_state) = yy_current_state;
3893 (yy_last_accepting_cpos) = yy_cp;
3895 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3897 yy_current_state = (int) yy_def[yy_current_state];
3898 if ( yy_current_state >= 2355 )
3899 yy_c = yy_meta[(unsigned int) yy_c];
3901 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3904 while ( yy_base[yy_current_state] != 7665 );
3907 yy_act = yy_accept[yy_current_state];
3909 { /* have to back up */
3910 yy_cp = (yy_last_accepting_cpos);
3911 yy_current_state = (yy_last_accepting_state);
3912 yy_act = yy_accept[yy_current_state];
3915 YY_DO_BEFORE_ACTION;
3917 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3920 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3921 if ( surf_parse_text[yyl] == '\n' )
3923 surf_parse_lineno++;
3927 do_action: /* This label is used only to access EOF actions. */
3930 { /* beginning of action switch */
3931 case 0: /* must back up */
3932 /* undo the effects of YY_DO_BEFORE_ACTION */
3933 *yy_cp = (yy_hold_char);
3934 yy_cp = (yy_last_accepting_cpos);
3935 yy_current_state = (yy_last_accepting_state);
3936 goto yy_find_action;
3954 /* rule 6 can match eol */
3958 case YY_STATE_EOF(INCOMMENT):
3959 FAIL("EOF in comment.");
3968 /* rule 9 can match eol */
3972 case YY_STATE_EOF(INPI):
3973 FAIL("EOF in PI (processing instruction).");
3976 /* SPACES: skipped uniformly */
3978 /* rule 10 can match eol */
3982 /* PROLOG: determine root element and process it. */
3985 /* rule 11 can match eol */
3990 /* rule 12 can match eol */
3992 FAIL("Bad declaration %s.",surf_parse_text);
3996 /* rule 13 can match eol */
3998 SET(ROOT_surfxml_platform);
4001 /* rule 14 can match eol */
4003 FAIL("Bad declaration %s.",surf_parse_text);
4007 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4009 case YY_STATE_EOF(PROLOG):
4010 case YY_STATE_EOF(DOCTYPE):
4011 FAIL("EOF in prolog.");
4014 /* RULES DERIVED FROM DTD. */
4015 /* <!-- Small DTD for SURF based tools. --> */
4017 /* rule 16 can match eol */
4019 FAIL("Starting tag <platform> is not allowed here.");
4022 /* rule 17 can match eol */
4025 AX_surfxml_platform_version = 1;
4026 ENTER(AL_surfxml_platform); pushbuffer(0);
4031 /* rule 18 can match eol */
4033 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4036 /* rule 19 can match eol */
4038 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4043 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4049 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4051 case ROOT_surfxml_platform: SET(EPILOG); break;
4057 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4061 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4063 case YY_STATE_EOF(AL_surfxml_platform):
4064 FAIL("EOF in attribute list of `platform' element.");
4068 /* rule 24 can match eol */
4072 ETag_surfxml_platform();
4073 popbuffer(); /* attribute */
4075 case ROOT_surfxml_platform: SET(EPILOG); break;
4080 /* rule 25 can match eol */
4082 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4086 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4088 case YY_STATE_EOF(S_surfxml_platform_2):
4089 case YY_STATE_EOF(S_surfxml_platform_1):
4090 case YY_STATE_EOF(S_surfxml_platform):
4091 case YY_STATE_EOF(S_surfxml_platform_4):
4092 case YY_STATE_EOF(S_surfxml_platform_6):
4093 case YY_STATE_EOF(E_surfxml_platform):
4094 FAIL("Premature EOF: `</platform>' expected.");
4098 /* rule 27 can match eol */
4100 FAIL("Starting tag <trace> is not allowed here.");
4103 /* rule 28 can match eol */
4106 AX_surfxml_trace_id = 0;
4107 AX_surfxml_trace_file = 0;
4108 AX_surfxml_trace_periodicity = 0;
4109 ENTER(AL_surfxml_trace); pushbuffer(0);
4114 /* rule 29 can match eol */
4116 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4119 /* rule 30 can match eol */
4121 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4124 /* rule 31 can match eol */
4126 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4129 /* rule 32 can match eol */
4131 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4134 /* rule 33 can match eol */
4136 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4139 /* rule 34 can match eol */
4141 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4146 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4147 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4148 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4154 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4155 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4156 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4158 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;
4159 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4160 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4161 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4162 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;
4163 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4169 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4173 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4175 case YY_STATE_EOF(AL_surfxml_trace):
4176 FAIL("EOF in attribute list of `trace' element.");
4180 /* rule 39 can match eol */
4185 ETag_surfxml_trace();
4186 surfxml_pcdata_ix = popbuffer();
4187 popbuffer(); /* attribute */
4189 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;
4190 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4191 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4192 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4193 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;
4194 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4199 /* rule 40 can match eol */
4201 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4203 case YY_STATE_EOF(IN_trace):
4204 FAIL("Premature EOF: `</trace>' expected.");
4208 /* rule 41 can match eol */
4210 FAIL("Starting tag <random> is not allowed here.");
4213 /* rule 42 can match eol */
4216 AX_surfxml_random_id = 0;
4217 AX_surfxml_random_min = 0;
4218 AX_surfxml_random_max = 0;
4219 AX_surfxml_random_mean = 0;
4220 AX_surfxml_random_std_deviation = 0;
4221 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4222 ENTER(AL_surfxml_random); pushbuffer(0);
4227 /* rule 43 can match eol */
4229 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4232 /* rule 44 can match eol */
4234 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4237 /* rule 45 can match eol */
4239 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4242 /* rule 46 can match eol */
4244 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4247 /* rule 47 can match eol */
4249 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4252 /* rule 48 can match eol */
4254 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4257 /* rule 49 can match eol */
4259 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4262 /* rule 50 can match eol */
4264 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4267 /* rule 51 can match eol */
4269 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4272 /* rule 52 can match eol */
4274 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4277 /* rule 53 can match eol */
4279 /* rule 54 can match eol */
4281 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4284 /* rule 55 can match eol */
4286 /* rule 56 can match eol */
4288 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4293 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4294 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4295 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4296 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4297 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4298 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4304 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4305 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4306 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4307 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4308 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4309 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4311 case S_surfxml_config: SET(E_surfxml_config); break;
4317 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4321 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4323 case YY_STATE_EOF(AL_surfxml_random):
4324 FAIL("EOF in attribute list of `random' element.");
4328 /* rule 61 can match eol */
4332 ETag_surfxml_random();
4333 popbuffer(); /* attribute */
4335 case S_surfxml_config: SET(E_surfxml_config); break;
4340 /* rule 62 can match eol */
4342 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4346 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4348 case YY_STATE_EOF(S_surfxml_random_2):
4349 case YY_STATE_EOF(S_surfxml_random):
4350 case YY_STATE_EOF(E_surfxml_random):
4351 FAIL("Premature EOF: `</random>' expected.");
4355 /* rule 64 can match eol */
4357 FAIL("Starting tag <trace_connect> is not allowed here.");
4360 /* rule 65 can match eol */
4363 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4364 AX_surfxml_trace_connect_trace = 0;
4365 AX_surfxml_trace_connect_element = 0;
4366 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4371 /* rule 66 can match eol */
4373 /* rule 67 can match eol */
4375 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4378 /* rule 68 can match eol */
4380 /* rule 69 can match eol */
4382 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4385 /* rule 70 can match eol */
4387 /* rule 71 can match eol */
4389 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4392 /* rule 72 can match eol */
4394 /* rule 73 can match eol */
4396 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4399 /* rule 74 can match eol */
4401 /* rule 75 can match eol */
4403 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4406 /* rule 76 can match eol */
4408 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4411 /* rule 77 can match eol */
4413 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4416 /* rule 78 can match eol */
4418 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4421 /* rule 79 can match eol */
4423 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4428 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4429 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4430 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4436 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4437 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4438 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4440 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;
4441 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4442 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4443 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4444 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;
4445 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4451 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4455 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4457 case YY_STATE_EOF(AL_surfxml_trace_connect):
4458 FAIL("EOF in attribute list of `trace_connect' element.");
4462 /* rule 84 can match eol */
4466 ETag_surfxml_trace_connect();
4467 popbuffer(); /* attribute */
4469 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;
4470 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4471 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4472 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4473 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;
4474 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4479 /* rule 85 can match eol */
4481 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4485 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4487 case YY_STATE_EOF(E_surfxml_trace_connect):
4488 FAIL("Premature EOF: `</trace_connect>' expected.");
4492 /* rule 87 can match eol */
4494 FAIL("Starting tag <AS> is not allowed here.");
4497 /* rule 88 can match eol */
4500 AX_surfxml_AS_id = 0;
4501 AX_surfxml_AS_routing = 0;
4502 ENTER(AL_surfxml_AS); pushbuffer(0);
4507 /* rule 89 can match eol */
4509 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4512 /* rule 90 can match eol */
4514 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4517 /* rule 91 can match eol */
4519 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4522 /* rule 92 can match eol */
4524 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4529 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4530 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4531 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4537 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4538 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4539 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4541 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4542 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;
4548 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4552 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4554 case YY_STATE_EOF(AL_surfxml_AS):
4555 FAIL("EOF in attribute list of `AS' element.");
4559 /* rule 97 can match eol */
4564 popbuffer(); /* attribute */
4566 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4567 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;
4572 /* rule 98 can match eol */
4574 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4578 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4580 case YY_STATE_EOF(S_surfxml_AS_1):
4581 case YY_STATE_EOF(S_surfxml_AS_9):
4582 case YY_STATE_EOF(S_surfxml_AS_11):
4583 case YY_STATE_EOF(S_surfxml_AS_6):
4584 case YY_STATE_EOF(E_surfxml_AS):
4585 case YY_STATE_EOF(S_surfxml_AS_3):
4586 case YY_STATE_EOF(S_surfxml_AS_13):
4587 case YY_STATE_EOF(S_surfxml_AS_8):
4588 case YY_STATE_EOF(S_surfxml_AS):
4589 case YY_STATE_EOF(S_surfxml_AS_4):
4590 FAIL("Premature EOF: `</AS>' expected.");
4594 /* rule 100 can match eol */
4596 FAIL("Starting tag <host> is not allowed here.");
4599 /* rule 101 can match eol */
4602 AX_surfxml_host_id = 0;
4603 AX_surfxml_host_power = 0;
4604 AX_surfxml_host_core = 5;
4605 AX_surfxml_host_availability = 7;
4606 AX_surfxml_host_availability_file = 0;
4607 AX_surfxml_host_state = A_surfxml_host_state_ON;
4608 AX_surfxml_host_state_file = 0;
4609 AX_surfxml_host_coordinates = 0;
4610 ENTER(AL_surfxml_host); pushbuffer(0);
4615 /* rule 102 can match eol */
4617 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4620 /* rule 103 can match eol */
4622 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4625 /* rule 104 can match eol */
4627 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4630 /* rule 105 can match eol */
4632 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4635 /* rule 106 can match eol */
4637 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4640 /* rule 107 can match eol */
4642 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4645 /* rule 108 can match eol */
4647 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4650 /* rule 109 can match eol */
4652 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4655 /* rule 110 can match eol */
4657 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4660 /* rule 111 can match eol */
4662 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4665 /* rule 112 can match eol */
4667 /* rule 113 can match eol */
4669 A_surfxml_host_state = A_surfxml_host_state_ON;
4672 /* rule 114 can match eol */
4674 /* rule 115 can match eol */
4676 A_surfxml_host_state = A_surfxml_host_state_OFF;
4679 /* rule 116 can match eol */
4681 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4684 /* rule 117 can match eol */
4686 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4689 /* rule 118 can match eol */
4691 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4694 /* rule 119 can match eol */
4696 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4701 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4702 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4703 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4709 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4710 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4711 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4713 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4719 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4723 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4725 case YY_STATE_EOF(AL_surfxml_host):
4726 FAIL("EOF in attribute list of `host' element.");
4730 /* rule 124 can match eol */
4734 ETag_surfxml_host();
4735 popbuffer(); /* attribute */
4737 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4742 /* rule 125 can match eol */
4744 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4748 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4750 case YY_STATE_EOF(S_surfxml_host):
4751 case YY_STATE_EOF(E_surfxml_host):
4752 case YY_STATE_EOF(S_surfxml_host_2):
4753 FAIL("Premature EOF: `</host>' expected.");
4757 /* rule 127 can match eol */
4759 FAIL("Starting tag <cluster> is not allowed here.");
4762 /* rule 128 can match eol */
4765 AX_surfxml_cluster_id = 0;
4766 AX_surfxml_cluster_prefix = 0;
4767 AX_surfxml_cluster_suffix = 0;
4768 AX_surfxml_cluster_radical = 0;
4769 AX_surfxml_cluster_power = 0;
4770 AX_surfxml_cluster_core = 11;
4771 AX_surfxml_cluster_bw = 0;
4772 AX_surfxml_cluster_lat = 0;
4773 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4774 AX_surfxml_cluster_bb_bw = 0;
4775 AX_surfxml_cluster_bb_lat = 0;
4776 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4777 AX_surfxml_cluster_availability_file = 0;
4778 AX_surfxml_cluster_state_file = 0;
4779 ENTER(AL_surfxml_cluster); pushbuffer(0);
4784 /* rule 129 can match eol */
4786 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4789 /* rule 130 can match eol */
4791 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4794 /* rule 131 can match eol */
4796 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4799 /* rule 132 can match eol */
4801 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4804 /* rule 133 can match eol */
4806 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4809 /* rule 134 can match eol */
4811 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4814 /* rule 135 can match eol */
4816 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4819 /* rule 136 can match eol */
4821 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4824 /* rule 137 can match eol */
4826 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4829 /* rule 138 can match eol */
4831 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4834 /* rule 139 can match eol */
4836 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
4839 /* rule 140 can match eol */
4841 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
4844 /* rule 141 can match eol */
4846 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4849 /* rule 142 can match eol */
4851 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4854 /* rule 143 can match eol */
4856 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4859 /* rule 144 can match eol */
4861 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4864 /* rule 145 can match eol */
4866 /* rule 146 can match eol */
4868 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4871 /* rule 147 can match eol */
4873 /* rule 148 can match eol */
4875 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4878 /* rule 149 can match eol */
4880 /* rule 150 can match eol */
4882 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4885 /* rule 151 can match eol */
4887 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4890 /* rule 152 can match eol */
4892 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4895 /* rule 153 can match eol */
4897 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4900 /* rule 154 can match eol */
4902 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4905 /* rule 155 can match eol */
4907 /* rule 156 can match eol */
4909 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4912 /* rule 157 can match eol */
4914 /* rule 158 can match eol */
4916 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4919 /* rule 159 can match eol */
4921 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
4924 /* rule 160 can match eol */
4926 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
4929 /* rule 161 can match eol */
4931 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
4934 /* rule 162 can match eol */
4936 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
4941 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4942 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4943 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4944 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4945 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4946 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4947 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4948 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4949 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4950 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4956 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4957 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4958 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4959 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4960 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4961 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4962 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4963 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4964 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4965 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4967 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4968 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;
4974 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4978 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4980 case YY_STATE_EOF(AL_surfxml_cluster):
4981 FAIL("EOF in attribute list of `cluster' element.");
4985 /* rule 167 can match eol */
4989 ETag_surfxml_cluster();
4990 popbuffer(); /* attribute */
4992 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4993 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;
4998 /* rule 168 can match eol */
5000 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5004 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5006 case YY_STATE_EOF(E_surfxml_cluster):
5007 FAIL("Premature EOF: `</cluster>' expected.");
5011 /* rule 170 can match eol */
5013 FAIL("Starting tag <peer> is not allowed here.");
5016 /* rule 171 can match eol */
5019 AX_surfxml_peer_id = 0;
5020 AX_surfxml_peer_power = 0;
5021 AX_surfxml_peer_bw_in = 0;
5022 AX_surfxml_peer_bw_out = 0;
5023 AX_surfxml_peer_lat = 0;
5024 AX_surfxml_peer_coordinates = 0;
5025 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5026 AX_surfxml_peer_availability_file = 0;
5027 AX_surfxml_peer_state_file = 0;
5028 ENTER(AL_surfxml_peer); pushbuffer(0);
5033 /* rule 172 can match eol */
5035 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5038 /* rule 173 can match eol */
5040 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5043 /* rule 174 can match eol */
5045 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5048 /* rule 175 can match eol */
5050 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5053 /* rule 176 can match eol */
5055 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5058 /* rule 177 can match eol */
5060 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5063 /* rule 178 can match eol */
5065 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5068 /* rule 179 can match eol */
5070 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5073 /* rule 180 can match eol */
5075 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5078 /* rule 181 can match eol */
5080 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5083 /* rule 182 can match eol */
5085 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5088 /* rule 183 can match eol */
5090 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5093 /* rule 184 can match eol */
5095 /* rule 185 can match eol */
5097 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5100 /* rule 186 can match eol */
5102 /* rule 187 can match eol */
5104 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5107 /* rule 188 can match eol */
5109 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5112 /* rule 189 can match eol */
5114 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5117 /* rule 190 can match eol */
5119 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5122 /* rule 191 can match eol */
5124 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5129 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5130 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5131 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5132 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5133 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5134 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5140 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5141 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5142 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5143 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5144 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5145 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5147 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5148 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;
5154 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5158 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5160 case YY_STATE_EOF(AL_surfxml_peer):
5161 FAIL("EOF in attribute list of `peer' element.");
5165 /* rule 196 can match eol */
5169 ETag_surfxml_peer();
5170 popbuffer(); /* attribute */
5172 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5173 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;
5178 /* rule 197 can match eol */
5180 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5184 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5186 case YY_STATE_EOF(E_surfxml_peer):
5187 FAIL("Premature EOF: `</peer>' expected.");
5191 /* rule 199 can match eol */
5193 FAIL("Starting tag <router> is not allowed here.");
5196 /* rule 200 can match eol */
5199 AX_surfxml_router_id = 0;
5200 AX_surfxml_router_coordinates = 0;
5201 ENTER(AL_surfxml_router); pushbuffer(0);
5206 /* rule 201 can match eol */
5208 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5211 /* rule 202 can match eol */
5213 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5216 /* rule 203 can match eol */
5218 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5221 /* rule 204 can match eol */
5223 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5228 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5229 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5235 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5236 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5238 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5244 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5248 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5250 case YY_STATE_EOF(AL_surfxml_router):
5251 FAIL("EOF in attribute list of `router' element.");
5255 /* rule 209 can match eol */
5259 ETag_surfxml_router();
5260 popbuffer(); /* attribute */
5262 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5267 /* rule 210 can match eol */
5269 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5273 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5275 case YY_STATE_EOF(E_surfxml_router):
5276 FAIL("Premature EOF: `</router>' expected.");
5280 /* rule 212 can match eol */
5282 FAIL("Starting tag <link> is not allowed here.");
5285 /* rule 213 can match eol */
5288 AX_surfxml_link_id = 0;
5289 AX_surfxml_link_bandwidth = 0;
5290 AX_surfxml_link_bandwidth_file = 0;
5291 AX_surfxml_link_latency = 13;
5292 AX_surfxml_link_latency_file = 0;
5293 AX_surfxml_link_state = A_surfxml_link_state_ON;
5294 AX_surfxml_link_state_file = 0;
5295 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5296 ENTER(AL_surfxml_link); pushbuffer(0);
5301 /* rule 214 can match eol */
5303 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5306 /* rule 215 can match eol */
5308 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5311 /* rule 216 can match eol */
5313 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5316 /* rule 217 can match eol */
5318 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5321 /* rule 218 can match eol */
5323 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5326 /* rule 219 can match eol */
5328 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5331 /* rule 220 can match eol */
5333 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5336 /* rule 221 can match eol */
5338 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5341 /* rule 222 can match eol */
5343 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5346 /* rule 223 can match eol */
5348 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5351 /* rule 224 can match eol */
5353 /* rule 225 can match eol */
5355 A_surfxml_link_state = A_surfxml_link_state_ON;
5358 /* rule 226 can match eol */
5360 /* rule 227 can match eol */
5362 A_surfxml_link_state = A_surfxml_link_state_OFF;
5365 /* rule 228 can match eol */
5367 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5370 /* rule 229 can match eol */
5372 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5375 /* rule 230 can match eol */
5377 /* rule 231 can match eol */
5379 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5382 /* rule 232 can match eol */
5384 /* rule 233 can match eol */
5386 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5389 /* rule 234 can match eol */
5391 /* rule 235 can match eol */
5393 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5398 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5399 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5400 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5406 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5407 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5408 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5410 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5411 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5417 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5421 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5423 case YY_STATE_EOF(AL_surfxml_link):
5424 FAIL("EOF in attribute list of `link' element.");
5428 /* rule 240 can match eol */
5432 ETag_surfxml_link();
5433 popbuffer(); /* attribute */
5435 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5436 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5441 /* rule 241 can match eol */
5443 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5447 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5449 case YY_STATE_EOF(E_surfxml_link):
5450 case YY_STATE_EOF(S_surfxml_link_2):
5451 case YY_STATE_EOF(S_surfxml_link):
5452 FAIL("Premature EOF: `</link>' expected.");
5456 /* rule 243 can match eol */
5458 FAIL("Starting tag <route> is not allowed here.");
5461 /* rule 244 can match eol */
5464 AX_surfxml_route_src = 0;
5465 AX_surfxml_route_dst = 0;
5466 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5467 ENTER(AL_surfxml_route); pushbuffer(0);
5472 /* rule 245 can match eol */
5474 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5477 /* rule 246 can match eol */
5479 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5482 /* rule 247 can match eol */
5484 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5487 /* rule 248 can match eol */
5489 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5492 /* rule 249 can match eol */
5494 /* rule 250 can match eol */
5496 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5499 /* rule 251 can match eol */
5501 /* rule 252 can match eol */
5503 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5508 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5509 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5510 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5516 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5517 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5518 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5520 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;
5526 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5530 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5532 case YY_STATE_EOF(AL_surfxml_route):
5533 FAIL("EOF in attribute list of `route' element.");
5537 /* rule 257 can match eol */
5541 ETag_surfxml_route();
5542 popbuffer(); /* attribute */
5544 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;
5549 /* rule 258 can match eol */
5551 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5555 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5557 case YY_STATE_EOF(S_surfxml_route):
5558 case YY_STATE_EOF(S_surfxml_route_2):
5559 case YY_STATE_EOF(E_surfxml_route):
5560 FAIL("Premature EOF: `</route>' expected.");
5564 /* rule 260 can match eol */
5566 FAIL("Starting tag <ASroute> is not allowed here.");
5569 /* rule 261 can match eol */
5572 AX_surfxml_ASroute_src = 0;
5573 AX_surfxml_ASroute_dst = 0;
5574 AX_surfxml_ASroute_gw_src = 0;
5575 AX_surfxml_ASroute_gw_dst = 0;
5576 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5577 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5582 /* rule 262 can match eol */
5584 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5587 /* rule 263 can match eol */
5589 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5592 /* rule 264 can match eol */
5594 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5597 /* rule 265 can match eol */
5599 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5602 /* rule 266 can match eol */
5604 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5607 /* rule 267 can match eol */
5609 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5612 /* rule 268 can match eol */
5614 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5617 /* rule 269 can match eol */
5619 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5622 /* rule 270 can match eol */
5624 /* rule 271 can match eol */
5626 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5629 /* rule 272 can match eol */
5631 /* rule 273 can match eol */
5633 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5638 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5639 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5640 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5641 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5642 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5648 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5649 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5650 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5651 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5652 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5654 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;
5660 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5664 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5666 case YY_STATE_EOF(AL_surfxml_ASroute):
5667 FAIL("EOF in attribute list of `ASroute' element.");
5671 /* rule 278 can match eol */
5675 ETag_surfxml_ASroute();
5676 popbuffer(); /* attribute */
5678 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;
5683 /* rule 279 can match eol */
5685 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5689 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5691 case YY_STATE_EOF(E_surfxml_ASroute):
5692 case YY_STATE_EOF(S_surfxml_ASroute):
5693 case YY_STATE_EOF(S_surfxml_ASroute_2):
5694 FAIL("Premature EOF: `</ASroute>' expected.");
5698 /* rule 281 can match eol */
5700 FAIL("Starting tag <link_ctn> is not allowed here.");
5703 /* rule 282 can match eol */
5706 AX_surfxml_link_ctn_id = 0;
5707 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5708 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5713 /* rule 283 can match eol */
5715 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5718 /* rule 284 can match eol */
5720 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5723 /* rule 285 can match eol */
5725 /* rule 286 can match eol */
5727 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5730 /* rule 287 can match eol */
5732 /* rule 288 can match eol */
5734 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5737 /* rule 289 can match eol */
5739 /* rule 290 can match eol */
5741 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5746 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5747 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5753 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5754 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5756 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5757 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5758 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5764 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5768 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5770 case YY_STATE_EOF(AL_surfxml_link_ctn):
5771 FAIL("EOF in attribute list of `link_ctn' element.");
5775 /* rule 295 can match eol */
5779 ETag_surfxml_link_ctn();
5780 popbuffer(); /* attribute */
5782 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5783 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5784 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5789 /* rule 296 can match eol */
5791 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5795 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5797 case YY_STATE_EOF(E_surfxml_link_ctn):
5798 FAIL("Premature EOF: `</link_ctn>' expected.");
5802 /* rule 298 can match eol */
5804 FAIL("Starting tag <bypassRoute> is not allowed here.");
5807 /* rule 299 can match eol */
5810 AX_surfxml_bypassRoute_src = 0;
5811 AX_surfxml_bypassRoute_dst = 0;
5812 AX_surfxml_bypassRoute_gw_src = 0;
5813 AX_surfxml_bypassRoute_gw_dst = 0;
5814 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5819 /* rule 300 can match eol */
5821 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5824 /* rule 301 can match eol */
5826 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5829 /* rule 302 can match eol */
5831 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5834 /* rule 303 can match eol */
5836 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5839 /* rule 304 can match eol */
5841 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5844 /* rule 305 can match eol */
5846 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5849 /* rule 306 can match eol */
5851 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5854 /* rule 307 can match eol */
5856 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5861 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5862 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5863 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5864 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5865 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5871 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5872 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5873 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5874 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5875 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5877 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;
5883 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5887 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5889 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5890 FAIL("EOF in attribute list of `bypassRoute' element.");
5894 /* rule 312 can match eol */
5898 ETag_surfxml_bypassRoute();
5899 popbuffer(); /* attribute */
5901 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;
5906 /* rule 313 can match eol */
5908 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5912 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5914 case YY_STATE_EOF(S_surfxml_bypassRoute):
5915 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5916 case YY_STATE_EOF(E_surfxml_bypassRoute):
5917 FAIL("Premature EOF: `</bypassRoute>' expected.");
5921 /* rule 315 can match eol */
5923 FAIL("Starting tag <process> is not allowed here.");
5926 /* rule 316 can match eol */
5929 AX_surfxml_process_host = 0;
5930 AX_surfxml_process_function = 0;
5931 AX_surfxml_process_start_time = 17;
5932 AX_surfxml_process_kill_time = 22;
5933 ENTER(AL_surfxml_process); pushbuffer(0);
5938 /* rule 317 can match eol */
5940 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5943 /* rule 318 can match eol */
5945 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5948 /* rule 319 can match eol */
5950 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5953 /* rule 320 can match eol */
5955 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5958 /* rule 321 can match eol */
5960 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5963 /* rule 322 can match eol */
5965 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5968 /* rule 323 can match eol */
5970 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5973 /* rule 324 can match eol */
5975 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5980 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5981 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5982 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5988 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5989 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5990 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5992 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;
5998 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6002 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6004 case YY_STATE_EOF(AL_surfxml_process):
6005 FAIL("EOF in attribute list of `process' element.");
6009 /* rule 329 can match eol */
6013 ETag_surfxml_process();
6014 popbuffer(); /* attribute */
6016 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;
6021 /* rule 330 can match eol */
6023 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6027 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6029 case YY_STATE_EOF(E_surfxml_process):
6030 case YY_STATE_EOF(S_surfxml_process):
6031 case YY_STATE_EOF(S_surfxml_process_2):
6032 FAIL("Premature EOF: `</process>' expected.");
6036 /* rule 332 can match eol */
6038 FAIL("Starting tag <argument> is not allowed here.");
6041 /* rule 333 can match eol */
6044 AX_surfxml_argument_value = 0;
6045 ENTER(AL_surfxml_argument); pushbuffer(0);
6050 /* rule 334 can match eol */
6052 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6055 /* rule 335 can match eol */
6057 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6062 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6063 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6069 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6070 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6072 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6078 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6082 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6084 case YY_STATE_EOF(AL_surfxml_argument):
6085 FAIL("EOF in attribute list of `argument' element.");
6089 /* rule 340 can match eol */
6093 ETag_surfxml_argument();
6094 popbuffer(); /* attribute */
6096 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6101 /* rule 341 can match eol */
6103 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6107 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6109 case YY_STATE_EOF(E_surfxml_argument):
6110 FAIL("Premature EOF: `</argument>' expected.");
6114 /* rule 343 can match eol */
6116 FAIL("Starting tag <config> is not allowed here.");
6119 /* rule 344 can match eol */
6122 AX_surfxml_config_id = 0;
6123 ENTER(AL_surfxml_config); pushbuffer(0);
6128 /* rule 345 can match eol */
6130 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6133 /* rule 346 can match eol */
6135 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6140 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6146 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6148 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6154 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6158 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6160 case YY_STATE_EOF(AL_surfxml_config):
6161 FAIL("EOF in attribute list of `config' element.");
6165 /* rule 351 can match eol */
6169 ETag_surfxml_config();
6170 popbuffer(); /* attribute */
6172 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6177 /* rule 352 can match eol */
6179 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6183 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6185 case YY_STATE_EOF(S_surfxml_config):
6186 case YY_STATE_EOF(S_surfxml_config_2):
6187 case YY_STATE_EOF(E_surfxml_config):
6188 FAIL("Premature EOF: `</config>' expected.");
6191 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6192 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6194 /* rule 354 can match eol */
6196 FAIL("Starting tag <prop> is not allowed here.");
6199 /* rule 355 can match eol */
6202 AX_surfxml_prop_id = 0;
6203 AX_surfxml_prop_value = 0;
6204 ENTER(AL_surfxml_prop); pushbuffer(0);
6209 /* rule 356 can match eol */
6211 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6214 /* rule 357 can match eol */
6216 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6219 /* rule 358 can match eol */
6221 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6224 /* rule 359 can match eol */
6226 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6231 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6232 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6233 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6239 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6240 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6241 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6243 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6244 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6245 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6246 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6247 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6253 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6257 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6259 case YY_STATE_EOF(AL_surfxml_prop):
6260 FAIL("EOF in attribute list of `prop' element.");
6264 /* rule 364 can match eol */
6268 ETag_surfxml_prop();
6269 popbuffer(); /* attribute */
6271 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6272 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6273 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6274 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6275 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6280 /* rule 365 can match eol */
6282 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6286 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6288 case YY_STATE_EOF(E_surfxml_prop):
6289 FAIL("Premature EOF: `</prop>' expected.");
6292 /* EPILOG: after the root element. */
6296 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6298 case YY_STATE_EOF(EPILOG):
6302 /* CHARACTER DATA. */
6304 /* Non-defined standard entities... */
6325 /* Character entities. */
6328 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6332 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6336 /* rule 375 can match eol */
6338 /* rule 376 can match eol */
6340 /* rule 377 can match eol */
6342 /* rule 378 can match eol */
6353 FAIL("Unexpected `]""]>' in character data.");
6360 case YY_STATE_EOF(VALUE1):
6361 FAIL("EOF in literal (\"'\" expected).");
6368 case YY_STATE_EOF(VALUE2):
6369 FAIL("EOF in literal (`\"' expected).");
6373 /* rule 383 can match eol */
6375 BUFFERPUTC(surf_parse_text[0]);
6379 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6386 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6389 BUFFERPUTC(surf_parse_text[0]);
6391 case YY_STATE_EOF(CDATA):
6392 FAIL("EOF in CDATA section.");
6395 /* Impossible rules to avoid warnings from flex(1). */
6396 /* Ideally, this should be replaced by code in flexml.pl that
6397 generates just the states not covered by other rules. */
6400 /* rule 387 can match eol */
6402 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6409 case YY_STATE_EOF(INITIAL):
6410 case YY_STATE_EOF(ROOT_surfxml_platform):
6411 case YY_STATE_EOF(S_surfxml_platform_3):
6412 case YY_STATE_EOF(S_surfxml_platform_5):
6413 case YY_STATE_EOF(S_surfxml_random_1):
6414 case YY_STATE_EOF(S_surfxml_AS_2):
6415 case YY_STATE_EOF(S_surfxml_AS_5):
6416 case YY_STATE_EOF(S_surfxml_AS_7):
6417 case YY_STATE_EOF(S_surfxml_AS_10):
6418 case YY_STATE_EOF(S_surfxml_AS_12):
6419 case YY_STATE_EOF(S_surfxml_host_1):
6420 case YY_STATE_EOF(S_surfxml_link_1):
6421 case YY_STATE_EOF(S_surfxml_route_1):
6422 case YY_STATE_EOF(S_surfxml_ASroute_1):
6423 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6424 case YY_STATE_EOF(S_surfxml_process_1):
6425 case YY_STATE_EOF(S_surfxml_config_1):
6426 case YY_STATE_EOF(IMPOSSIBLE):
6429 case YY_END_OF_BUFFER:
6431 /* Amount of text matched not including the EOB char. */
6432 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6434 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6435 *yy_cp = (yy_hold_char);
6436 YY_RESTORE_YY_MORE_OFFSET
6438 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6440 /* We're scanning a new file or input source. It's
6441 * possible that this happened because the user
6442 * just pointed surf_parse_in at a new source and called
6443 * surf_parse_lex(). If so, then we have to assure
6444 * consistency between YY_CURRENT_BUFFER and our
6445 * globals. Here is the right place to do so, because
6446 * this is the first action (other than possibly a
6447 * back-up) that will match for the new input source.
6449 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6450 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6451 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6454 /* Note that here we test for yy_c_buf_p "<=" to the position
6455 * of the first EOB in the buffer, since yy_c_buf_p will
6456 * already have been incremented past the NUL character
6457 * (since all states make transitions on EOB to the
6458 * end-of-buffer state). Contrast this with the test
6461 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6462 { /* This was really a NUL. */
6463 yy_state_type yy_next_state;
6465 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6467 yy_current_state = yy_get_previous_state( );
6469 /* Okay, we're now positioned to make the NUL
6470 * transition. We couldn't have
6471 * yy_get_previous_state() go ahead and do it
6472 * for us because it doesn't know how to deal
6473 * with the possibility of jamming (and we don't
6474 * want to build jamming into it because then it
6475 * will run more slowly).
6478 yy_next_state = yy_try_NUL_trans( yy_current_state );
6480 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6482 if ( yy_next_state )
6484 /* Consume the NUL. */
6485 yy_cp = ++(yy_c_buf_p);
6486 yy_current_state = yy_next_state;
6492 yy_cp = (yy_c_buf_p);
6493 goto yy_find_action;
6497 else switch ( yy_get_next_buffer( ) )
6499 case EOB_ACT_END_OF_FILE:
6501 (yy_did_buffer_switch_on_eof) = 0;
6503 if ( surf_parse_wrap( ) )
6505 /* Note: because we've taken care in
6506 * yy_get_next_buffer() to have set up
6507 * surf_parse_text, we can now set up
6508 * yy_c_buf_p so that if some total
6509 * hoser (like flex itself) wants to
6510 * call the scanner after we return the
6511 * YY_NULL, it'll still work - another
6512 * YY_NULL will get returned.
6514 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6516 yy_act = YY_STATE_EOF(YY_START);
6522 if ( ! (yy_did_buffer_switch_on_eof) )
6528 case EOB_ACT_CONTINUE_SCAN:
6530 (yytext_ptr) + yy_amount_of_matched_text;
6532 yy_current_state = yy_get_previous_state( );
6534 yy_cp = (yy_c_buf_p);
6535 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6538 case EOB_ACT_LAST_MATCH:
6540 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6542 yy_current_state = yy_get_previous_state( );
6544 yy_cp = (yy_c_buf_p);
6545 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6546 goto yy_find_action;
6553 "fatal flex scanner internal error--no action found" );
6554 } /* end of action switch */
6555 } /* end of scanning one token */
6556 } /* end of surf_parse_lex */
6558 /* yy_get_next_buffer - try to read in a new buffer
6560 * Returns a code representing an action:
6561 * EOB_ACT_LAST_MATCH -
6562 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6563 * EOB_ACT_END_OF_FILE - end of file
6565 static int yy_get_next_buffer (void)
6567 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6568 register char *source = (yytext_ptr);
6569 register int number_to_move, i;
6572 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6574 "fatal flex scanner internal error--end of buffer missed" );
6576 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6577 { /* Don't try to fill the buffer, so this is an EOF. */
6578 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6580 /* We matched a single character, the EOB, so
6581 * treat this as a final EOF.
6583 return EOB_ACT_END_OF_FILE;
6588 /* We matched some text prior to the EOB, first
6591 return EOB_ACT_LAST_MATCH;
6595 /* Try to read more data. */
6597 /* First move last chars to start of buffer. */
6598 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6600 for ( i = 0; i < number_to_move; ++i )
6601 *(dest++) = *(source++);
6603 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6604 /* don't do the read, it's not guaranteed to return an EOF,
6607 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6612 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6614 while ( num_to_read <= 0 )
6615 { /* Not enough room in the buffer - grow it. */
6617 /* just a shorter name for the current buffer */
6618 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6620 int yy_c_buf_p_offset =
6621 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6623 if ( b->yy_is_our_buffer )
6625 int new_size = b->yy_buf_size * 2;
6627 if ( new_size <= 0 )
6628 b->yy_buf_size += b->yy_buf_size / 8;
6630 b->yy_buf_size *= 2;
6632 b->yy_ch_buf = (char *)
6633 /* Include room in for 2 EOB chars. */
6634 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6637 /* Can't grow it, we don't own it. */
6640 if ( ! b->yy_ch_buf )
6642 "fatal error - scanner input buffer overflow" );
6644 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6646 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6651 if ( num_to_read > YY_READ_BUF_SIZE )
6652 num_to_read = YY_READ_BUF_SIZE;
6654 /* Read in more data. */
6655 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6656 (yy_n_chars), (size_t) num_to_read );
6658 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6661 if ( (yy_n_chars) == 0 )
6663 if ( number_to_move == YY_MORE_ADJ )
6665 ret_val = EOB_ACT_END_OF_FILE;
6666 surf_parse_restart(surf_parse_in );
6671 ret_val = EOB_ACT_LAST_MATCH;
6672 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6673 YY_BUFFER_EOF_PENDING;
6678 ret_val = EOB_ACT_CONTINUE_SCAN;
6680 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6681 /* Extend the array by 50%, plus the number we really need. */
6682 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6683 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6684 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6685 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6688 (yy_n_chars) += number_to_move;
6689 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6690 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6692 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6697 /* yy_get_previous_state - get the state just before the EOB char was reached */
6699 static yy_state_type yy_get_previous_state (void)
6701 register yy_state_type yy_current_state;
6702 register char *yy_cp;
6704 yy_current_state = (yy_start);
6706 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6708 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6709 if ( yy_accept[yy_current_state] )
6711 (yy_last_accepting_state) = yy_current_state;
6712 (yy_last_accepting_cpos) = yy_cp;
6714 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6716 yy_current_state = (int) yy_def[yy_current_state];
6717 if ( yy_current_state >= 2355 )
6718 yy_c = yy_meta[(unsigned int) yy_c];
6720 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6723 return yy_current_state;
6726 /* yy_try_NUL_trans - try to make a transition on the NUL character
6729 * next_state = yy_try_NUL_trans( current_state );
6731 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6733 register int yy_is_jam;
6734 register char *yy_cp = (yy_c_buf_p);
6736 register YY_CHAR yy_c = 1;
6737 if ( yy_accept[yy_current_state] )
6739 (yy_last_accepting_state) = yy_current_state;
6740 (yy_last_accepting_cpos) = yy_cp;
6742 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6744 yy_current_state = (int) yy_def[yy_current_state];
6745 if ( yy_current_state >= 2355 )
6746 yy_c = yy_meta[(unsigned int) yy_c];
6748 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6749 yy_is_jam = (yy_current_state == 2354);
6751 return yy_is_jam ? 0 : yy_current_state;
6756 static int yyinput (void)
6758 static int input (void)
6764 *(yy_c_buf_p) = (yy_hold_char);
6766 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6768 /* yy_c_buf_p now points to the character we want to return.
6769 * If this occurs *before* the EOB characters, then it's a
6770 * valid NUL; if not, then we've hit the end of the buffer.
6772 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6773 /* This was really a NUL. */
6774 *(yy_c_buf_p) = '\0';
6777 { /* need more input */
6778 int offset = (yy_c_buf_p) - (yytext_ptr);
6781 switch ( yy_get_next_buffer( ) )
6783 case EOB_ACT_LAST_MATCH:
6784 /* This happens because yy_g_n_b()
6785 * sees that we've accumulated a
6786 * token and flags that we need to
6787 * try matching the token before
6788 * proceeding. But for input(),
6789 * there's no matching to consider.
6790 * So convert the EOB_ACT_LAST_MATCH
6791 * to EOB_ACT_END_OF_FILE.
6794 /* Reset buffer status. */
6795 surf_parse_restart(surf_parse_in );
6799 case EOB_ACT_END_OF_FILE:
6801 if ( surf_parse_wrap( ) )
6804 if ( ! (yy_did_buffer_switch_on_eof) )
6813 case EOB_ACT_CONTINUE_SCAN:
6814 (yy_c_buf_p) = (yytext_ptr) + offset;
6820 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6821 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6822 (yy_hold_char) = *++(yy_c_buf_p);
6826 surf_parse_lineno++;
6831 #endif /* ifndef YY_NO_INPUT */
6833 /** Immediately switch to a different input stream.
6834 * @param input_file A readable stream.
6836 * @note This function does not reset the start condition to @c INITIAL .
6838 void surf_parse_restart (FILE * input_file )
6841 if ( ! YY_CURRENT_BUFFER ){
6842 surf_parse_ensure_buffer_stack ();
6843 YY_CURRENT_BUFFER_LVALUE =
6844 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6847 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6848 surf_parse__load_buffer_state( );
6851 /** Switch to a different input buffer.
6852 * @param new_buffer The new input buffer.
6855 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6858 /* TODO. We should be able to replace this entire function body
6860 * surf_parse_pop_buffer_state();
6861 * surf_parse_push_buffer_state(new_buffer);
6863 surf_parse_ensure_buffer_stack ();
6864 if ( YY_CURRENT_BUFFER == new_buffer )
6867 if ( YY_CURRENT_BUFFER )
6869 /* Flush out information for old buffer. */
6870 *(yy_c_buf_p) = (yy_hold_char);
6871 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6872 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6875 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6876 surf_parse__load_buffer_state( );
6878 /* We don't actually know whether we did this switch during
6879 * EOF (surf_parse_wrap()) processing, but the only time this flag
6880 * is looked at is after surf_parse_wrap() is called, so it's safe
6881 * to go ahead and always set it.
6883 (yy_did_buffer_switch_on_eof) = 1;
6886 static void surf_parse__load_buffer_state (void)
6888 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6889 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6890 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6891 (yy_hold_char) = *(yy_c_buf_p);
6894 /** Allocate and initialize an input buffer state.
6895 * @param file A readable stream.
6896 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6898 * @return the allocated buffer state.
6900 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6904 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6906 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6908 b->yy_buf_size = size;
6910 /* yy_ch_buf has to be 2 characters longer than the size given because
6911 * we need to put in 2 end-of-buffer characters.
6913 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6914 if ( ! b->yy_ch_buf )
6915 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6917 b->yy_is_our_buffer = 1;
6919 surf_parse__init_buffer(b,file );
6924 /** Destroy the buffer.
6925 * @param b a buffer created with surf_parse__create_buffer()
6928 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6934 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6935 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6937 if ( b->yy_is_our_buffer )
6938 surf_parse_free((void *) b->yy_ch_buf );
6940 surf_parse_free((void *) b );
6944 extern int isatty (int );
6945 #endif /* __cplusplus */
6947 /* Initializes or reinitializes a buffer.
6948 * This function is sometimes called more than once on the same buffer,
6949 * such as during a surf_parse_restart() or at EOF.
6951 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6956 surf_parse__flush_buffer(b );
6958 b->yy_input_file = file;
6959 b->yy_fill_buffer = 1;
6961 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6962 * called from surf_parse_restart() or through yy_get_next_buffer.
6963 * In that case, we don't want to reset the lineno or column.
6965 if (b != YY_CURRENT_BUFFER){
6966 b->yy_bs_lineno = 1;
6967 b->yy_bs_column = 0;
6970 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6975 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6976 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6979 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6986 /* We always need two end-of-buffer characters. The first causes
6987 * a transition to the end-of-buffer state. The second causes
6988 * a jam in that state.
6990 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6991 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6993 b->yy_buf_pos = &b->yy_ch_buf[0];
6996 b->yy_buffer_status = YY_BUFFER_NEW;
6998 if ( b == YY_CURRENT_BUFFER )
6999 surf_parse__load_buffer_state( );
7002 /** Pushes the new state onto the stack. The new state becomes
7003 * the current state. This function will allocate the stack
7005 * @param new_buffer The new state.
7008 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7010 if (new_buffer == NULL)
7013 surf_parse_ensure_buffer_stack();
7015 /* This block is copied from surf_parse__switch_to_buffer. */
7016 if ( YY_CURRENT_BUFFER )
7018 /* Flush out information for old buffer. */
7019 *(yy_c_buf_p) = (yy_hold_char);
7020 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7021 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7024 /* Only push if top exists. Otherwise, replace top. */
7025 if (YY_CURRENT_BUFFER)
7026 (yy_buffer_stack_top)++;
7027 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7029 /* copied from surf_parse__switch_to_buffer. */
7030 surf_parse__load_buffer_state( );
7031 (yy_did_buffer_switch_on_eof) = 1;
7034 /** Removes and deletes the top of the stack, if present.
7035 * The next element becomes the new top.
7038 void surf_parse_pop_buffer_state (void)
7040 if (!YY_CURRENT_BUFFER)
7043 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7044 YY_CURRENT_BUFFER_LVALUE = NULL;
7045 if ((yy_buffer_stack_top) > 0)
7046 --(yy_buffer_stack_top);
7048 if (YY_CURRENT_BUFFER) {
7049 surf_parse__load_buffer_state( );
7050 (yy_did_buffer_switch_on_eof) = 1;
7054 /* Allocates the stack if it does not exist.
7055 * Guarantees space for at least one push.
7057 static void surf_parse_ensure_buffer_stack (void)
7061 if (!(yy_buffer_stack)) {
7063 /* First allocation is just for 2 elements, since we don't know if this
7064 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7065 * immediate realloc on the next call.
7068 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7069 (num_to_alloc * sizeof(struct yy_buffer_state*)
7071 if ( ! (yy_buffer_stack) )
7072 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7074 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7076 (yy_buffer_stack_max) = num_to_alloc;
7077 (yy_buffer_stack_top) = 0;
7081 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7083 /* Increase the buffer to prepare for a possible push. */
7084 int grow_size = 8 /* arbitrary grow size */;
7086 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7087 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7089 num_to_alloc * sizeof(struct yy_buffer_state*)
7091 if ( ! (yy_buffer_stack) )
7092 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7094 /* zero only the new slots.*/
7095 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7096 (yy_buffer_stack_max) = num_to_alloc;
7100 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7101 * @param base the character buffer
7102 * @param size the size in bytes of the character buffer
7104 * @return the newly allocated buffer state object.
7106 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7111 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7112 base[size-1] != YY_END_OF_BUFFER_CHAR )
7113 /* They forgot to leave room for the EOB's. */
7116 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7118 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7120 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7121 b->yy_buf_pos = b->yy_ch_buf = base;
7122 b->yy_is_our_buffer = 0;
7123 b->yy_input_file = 0;
7124 b->yy_n_chars = b->yy_buf_size;
7125 b->yy_is_interactive = 0;
7127 b->yy_fill_buffer = 0;
7128 b->yy_buffer_status = YY_BUFFER_NEW;
7130 surf_parse__switch_to_buffer(b );
7135 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7136 * scan from a @e copy of @a str.
7137 * @param yystr a NUL-terminated string to scan
7139 * @return the newly allocated buffer state object.
7140 * @note If you want to scan bytes that may contain NUL values, then use
7141 * surf_parse__scan_bytes() instead.
7143 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7146 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7149 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7150 * scan from a @e copy of @a bytes.
7151 * @param yybytes the byte buffer to scan
7152 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7154 * @return the newly allocated buffer state object.
7156 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7163 /* Get memory for full buffer, including space for trailing EOB's. */
7164 n = _yybytes_len + 2;
7165 buf = (char *) surf_parse_alloc(n );
7167 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7169 for ( i = 0; i < _yybytes_len; ++i )
7170 buf[i] = yybytes[i];
7172 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7174 b = surf_parse__scan_buffer(buf,n );
7176 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7178 /* It's okay to grow etc. this buffer, and we should throw it
7179 * away when we're done.
7181 b->yy_is_our_buffer = 1;
7186 static void yy_push_state (int new_state )
7188 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7192 (yy_start_stack_depth) += YY_START_STACK_INCR;
7193 new_size = (yy_start_stack_depth) * sizeof( int );
7195 if ( ! (yy_start_stack) )
7196 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7199 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7201 if ( ! (yy_start_stack) )
7202 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7205 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7210 static void yy_pop_state (void)
7212 if ( --(yy_start_stack_ptr) < 0 )
7213 YY_FATAL_ERROR( "start-condition stack underflow" );
7215 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7218 #ifndef YY_EXIT_FAILURE
7219 #define YY_EXIT_FAILURE 2
7222 static void yy_fatal_error (yyconst char* msg )
7224 (void) fprintf( stderr, "%s\n", msg );
7225 exit( YY_EXIT_FAILURE );
7228 /* Redefine yyless() so it works in section 3 code. */
7234 /* Undo effects of setting up surf_parse_text. */ \
7235 int yyless_macro_arg = (n); \
7236 YY_LESS_LINENO(yyless_macro_arg);\
7237 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7238 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7239 (yy_hold_char) = *(yy_c_buf_p); \
7240 *(yy_c_buf_p) = '\0'; \
7241 surf_parse_leng = yyless_macro_arg; \
7245 /* Accessor methods (get/set functions) to struct members. */
7247 /** Get the current line number.
7250 int surf_parse_get_lineno (void)
7253 return surf_parse_lineno;
7256 /** Get the input stream.
7259 FILE *surf_parse_get_in (void)
7261 return surf_parse_in;
7264 /** Get the output stream.
7267 FILE *surf_parse_get_out (void)
7269 return surf_parse_out;
7272 /** Get the length of the current token.
7275 int surf_parse_get_leng (void)
7277 return surf_parse_leng;
7280 /** Get the current token.
7284 char *surf_parse_get_text (void)
7286 return surf_parse_text;
7289 /** Set the current line number.
7290 * @param line_number
7293 void surf_parse_set_lineno (int line_number )
7296 surf_parse_lineno = line_number;
7299 /** Set the input stream. This does not discard the current
7301 * @param in_str A readable stream.
7303 * @see surf_parse__switch_to_buffer
7305 void surf_parse_set_in (FILE * in_str )
7307 surf_parse_in = in_str ;
7310 void surf_parse_set_out (FILE * out_str )
7312 surf_parse_out = out_str ;
7315 int surf_parse_get_debug (void)
7317 return surf_parse__flex_debug;
7320 void surf_parse_set_debug (int bdebug )
7322 surf_parse__flex_debug = bdebug ;
7325 static int yy_init_globals (void)
7327 /* Initialization is the same as for the non-reentrant scanner.
7328 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7331 /* We do not touch surf_parse_lineno unless the option is enabled. */
7332 surf_parse_lineno = 1;
7334 (yy_buffer_stack) = 0;
7335 (yy_buffer_stack_top) = 0;
7336 (yy_buffer_stack_max) = 0;
7337 (yy_c_buf_p) = (char *) 0;
7341 (yy_start_stack_ptr) = 0;
7342 (yy_start_stack_depth) = 0;
7343 (yy_start_stack) = NULL;
7345 /* Defined in main.c */
7347 surf_parse_in = stdin;
7348 surf_parse_out = stdout;
7350 surf_parse_in = (FILE *) 0;
7351 surf_parse_out = (FILE *) 0;
7354 /* For future reference: Set errno on error, since we are called by
7355 * surf_parse_lex_init()
7360 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7361 int surf_parse_lex_destroy (void)
7364 /* Pop the buffer stack, destroying each element. */
7365 while(YY_CURRENT_BUFFER){
7366 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7367 YY_CURRENT_BUFFER_LVALUE = NULL;
7368 surf_parse_pop_buffer_state();
7371 /* Destroy the stack itself. */
7372 surf_parse_free((yy_buffer_stack) );
7373 (yy_buffer_stack) = NULL;
7375 /* Destroy the start condition stack. */
7376 surf_parse_free((yy_start_stack) );
7377 (yy_start_stack) = NULL;
7379 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7380 * surf_parse_lex() is called, initialization will occur. */
7387 * Internal utility routines.
7391 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7394 for ( i = 0; i < n; ++i )
7399 #ifdef YY_NEED_STRLEN
7400 static int yy_flex_strlen (yyconst char * s )
7403 for ( n = 0; s[n]; ++n )
7410 void *surf_parse_alloc (yy_size_t size )
7412 return (void *) malloc( size );
7415 void *surf_parse_realloc (void * ptr, yy_size_t size )
7417 /* The cast to (char *) in the following accommodates both
7418 * implementations that use char* generic pointers, and those
7419 * that use void* generic pointers. It works with the latter
7420 * because both ANSI C and C++ allow castless assignment from
7421 * any pointer type to void*, and deal with argument conversions
7422 * as though doing an assignment.
7424 return (void *) realloc( (char *) ptr, size );
7427 void surf_parse_free (void * ptr )
7429 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7432 #define YYTABLES_NAME "yytables"
7434 /* Element context stack lookup. */
7435 int surfxml_element_context(int i)
7437 return (0<i && i<yy_start_stack_depth
7438 ? yy_start_stack[yy_start_stack_ptr - i]
7443 void print_yy_stack(char* fmt, ...)
7445 int i = 0; va_list ap; va_start(ap, fmt);
7446 vfprintf(stderr, fmt, ap);
7447 if (surfxml_statenames) {
7448 for (i=1; i<yy_start_stack_ptr; i++) {
7449 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7451 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7456 void print_surfxml_bufferstack()
7459 fputs("Buffer: ", stderr);
7460 for (i = 0; i < blimit; i++) {
7461 if ( surfxml_bufferstack[i] == '\377' ) break;
7462 putc(surfxml_bufferstack[i], stderr);
7467 static void debug_enter(int state, const char* statename) {
7468 yy_push_state(state);
7469 if (surf_parse__flex_debug) {
7470 print_yy_stack("--ENTER(%s) : ",statename);
7471 print_surfxml_bufferstack();
7475 static void debug_leave(void) {
7476 if (surf_parse__flex_debug) {
7477 print_yy_stack("--LEAVE : ");
7478 print_surfxml_bufferstack();
7483 static void debug_set(int state, const char* statename) {
7485 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7489 static void cleanup(void)
7491 if (surfxml_statenames) {
7492 free(surfxml_statenames);
7493 surfxml_statenames = NULL;
7495 free(surfxml_bufferstack);
7496 surfxml_bufferstack = NULL;
7502 static int fail(const char* fmt, ...)
7504 int chars_left, used;
7505 va_list ap; va_start(ap, fmt);
7506 #ifdef FLEXML_yylineno
7507 used = sprintf(flexml_err_msg,
7508 "Invalid XML (XML input line %d, state %d): ",
7509 surf_parse_lineno, YY_START);
7511 used = sprintf(flexml_err_msg,
7512 "Invalid XML (state %d): ",
7515 chars_left = flexml_max_err_msg_size - used - 1;
7516 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7519 #ifndef FLEXML_quiet_parser
7520 /* print directly to sdterr */
7521 fprintf(stderr, "%s\n", flexml_err_msg);
7522 flexml_err_msg[0] = '\0';