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 403
407 #define YY_END_OF_BUFFER 404
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[2408] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 404, 402, 15, 10, 10, 15, 15, 382,
439 10, 382, 5, 6, 5, 8, 9, 8, 398, 390,
440 391, 399, 396, 399, 397, 401, 390, 391, 401, 402,
441 22, 10, 22, 22, 22, 20, 22, 26, 10, 26,
442 26, 402, 26, 402, 402, 26, 33, 10, 33, 33,
443 33, 31, 33, 37, 10, 37, 48, 10, 48, 48,
444 48, 46, 48, 48, 48, 399, 398, 78, 10, 78,
445 78, 78, 76, 78, 78, 78, 78, 78, 82, 10,
446 82, 402, 82, 101, 10, 101, 101, 101, 99, 101,
447 101, 101, 105, 10, 105, 114, 10, 114, 114, 114,
448 112, 114, 114, 118, 10, 118, 118, 402, 118, 118,
450 402, 402, 118, 402, 118, 402, 118, 141, 10, 141,
451 141, 141, 139, 141, 141, 141, 141, 141, 145, 10,
452 145, 145, 184, 10, 184, 184, 184, 182, 184, 184,
453 184, 184, 184, 184, 184, 184, 188, 10, 188, 209,
454 10, 209, 209, 209, 207, 209, 209, 209, 209, 209,
455 209, 209, 213, 10, 213, 222, 10, 222, 222, 222,
456 220, 222, 222, 226, 10, 226, 253, 10, 253, 253,
457 253, 251, 253, 253, 253, 253, 257, 10, 257, 257,
458 270, 10, 270, 270, 270, 268, 270, 270, 274, 10,
459 274, 402, 274, 291, 10, 291, 291, 291, 289, 291,
461 291, 291, 295, 10, 295, 295, 308, 10, 308, 308,
462 308, 306, 308, 308, 312, 10, 312, 325, 10, 325,
463 325, 325, 323, 325, 325, 325, 329, 10, 329, 329,
464 342, 10, 342, 342, 342, 340, 342, 342, 342, 342,
465 346, 10, 346, 402, 346, 353, 10, 353, 353, 353,
466 351, 353, 357, 10, 357, 364, 10, 364, 364, 364,
467 362, 364, 368, 10, 368, 368, 377, 10, 377, 377,
468 377, 375, 377, 377, 381, 10, 381, 10, 0, 2,
469 2, 0, 4, 7, 393, 392, 0, 0, 0, 0,
470 0, 0, 0, 21, 23, 23, 0, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473 0, 0, 0, 0, 0, 0, 0, 32, 34, 34,
474 0, 47, 49, 49, 49, 49, 0, 0, 0, 77,
475 79, 79, 79, 79, 79, 79, 79, 79, 79, 0,
476 0, 100, 102, 102, 102, 102, 0, 113, 115, 115,
477 115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 140, 142, 142, 142, 142, 142, 142, 0, 183, 185,
479 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
480 185, 185, 0, 208, 210, 210, 210, 210, 210, 210,
481 210, 210, 0, 221, 223, 223, 223, 0, 252, 254,
483 254, 254, 254, 254, 254, 0, 269, 271, 271, 271,
484 271, 0, 0, 290, 292, 292, 292, 292, 292, 0,
485 307, 309, 309, 309, 0, 324, 326, 326, 326, 326,
486 0, 341, 343, 343, 343, 343, 343, 0, 0, 352,
487 354, 354, 0, 363, 365, 365, 0, 376, 378, 378,
488 378, 0, 0, 0, 0, 0, 3, 0, 0, 0,
489 0, 0, 0, 0, 400, 0, 23, 0, 0, 107,
490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
491 0, 0, 0, 0, 0, 106, 0, 0, 0, 0,
492 0, 34, 0, 0, 49, 0, 0, 49, 0, 0,
494 0, 395, 79, 0, 0, 79, 79, 79, 79, 79,
495 79, 0, 0, 0, 102, 102, 102, 0, 0, 0,
496 0, 115, 0, 0, 107, 0, 0, 0, 0, 106,
497 0, 0, 142, 142, 142, 0, 0, 142, 142, 0,
498 0, 185, 185, 0, 0, 185, 0, 0, 185, 185,
499 185, 185, 185, 185, 185, 0, 0, 210, 210, 210,
500 0, 0, 210, 210, 210, 0, 0, 223, 0, 0,
501 0, 0, 254, 0, 0, 254, 254, 254, 0, 0,
502 271, 271, 271, 0, 0, 0, 292, 292, 292, 292,
503 0, 0, 309, 0, 0, 0, 0, 326, 326, 326,
505 0, 0, 343, 343, 343, 343, 0, 0, 0, 354,
506 0, 0, 0, 0, 0, 0, 0, 0, 378, 0,
507 0, 0, 14, 1, 0, 0, 388, 0, 0, 0,
508 385, 384, 0, 0, 23, 0, 0, 25, 0, 107,
509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
510 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
511 0, 0, 34, 0, 0, 36, 0, 49, 0, 41,
512 40, 49, 0, 0, 0, 51, 0, 79, 0, 55,
513 54, 0, 0, 79, 0, 0, 79, 79, 79, 0,
514 0, 81, 0, 0, 102, 102, 102, 0, 0, 104,
516 0, 0, 109, 108, 115, 0, 0, 117, 0, 0,
517 0, 0, 0, 0, 0, 0, 142, 142, 142, 0,
518 122, 121, 142, 142, 0, 0, 144, 0, 185, 185,
519 185, 185, 0, 161, 160, 185, 0, 149, 148, 0,
520 0, 185, 185, 185, 185, 185, 185, 0, 0, 187,
521 0, 210, 210, 210, 210, 0, 192, 191, 0, 0,
522 210, 210, 0, 0, 212, 0, 223, 0, 217, 216,
523 0, 0, 225, 0, 254, 0, 230, 229, 254, 254,
524 254, 0, 0, 256, 0, 0, 0, 0, 0, 271,
525 0, 0, 273, 0, 0, 0, 0, 292, 292, 0,
527 0, 292, 0, 0, 294, 0, 309, 0, 299, 298,
528 0, 0, 311, 0, 0, 0, 326, 326, 0, 0,
529 0, 0, 328, 0, 343, 343, 343, 343, 0, 0,
530 345, 0, 0, 354, 0, 0, 356, 0, 0, 361,
531 360, 0, 0, 367, 0, 0, 372, 371, 378, 0,
532 0, 380, 0, 0, 0, 389, 383, 0, 0, 0,
533 23, 0, 0, 0, 0, 0, 0, 119, 0, 227,
534 190, 0, 0, 369, 0, 0, 0, 0, 0, 0,
535 0, 189, 0, 0, 0, 0, 0, 0, 0, 49,
536 0, 0, 79, 0, 59, 58, 0, 0, 0, 57,
538 56, 79, 0, 0, 79, 0, 370, 102, 0, 0,
539 102, 0, 115, 0, 116, 0, 0, 120, 228, 0,
540 0, 0, 142, 142, 0, 0, 142, 142, 0, 185,
541 185, 185, 185, 0, 0, 0, 163, 162, 185, 185,
542 185, 185, 185, 185, 0, 210, 210, 210, 210, 0,
543 200, 199, 210, 210, 0, 223, 0, 254, 254, 254,
544 254, 0, 0, 263, 262, 0, 261, 260, 271, 0,
545 227, 0, 280, 279, 292, 292, 0, 278, 277, 292,
546 0, 309, 0, 0, 318, 317, 326, 326, 0, 316,
547 315, 0, 343, 0, 0, 343, 343, 0, 0, 354,
549 0, 0, 378, 0, 0, 0, 0, 12, 0, 386,
550 387, 0, 23, 0, 0, 0, 0, 0, 0, 119,
551 0, 227, 0, 190, 0, 0, 369, 0, 258, 39,
552 0, 0, 0, 0, 189, 0, 38, 0, 30, 29,
553 0, 0, 43, 42, 49, 0, 0, 79, 0, 61,
554 60, 79, 0, 65, 64, 79, 0, 370, 102, 0,
555 0, 0, 0, 0, 0, 115, 0, 0, 120, 228,
556 259, 259, 258, 142, 142, 0, 126, 125, 0, 0,
557 0, 0, 142, 0, 185, 0, 0, 185, 185, 0,
558 159, 158, 0, 0, 185, 185, 185, 185, 185, 0,
560 210, 0, 0, 210, 210, 0, 0, 210, 0, 223,
561 0, 254, 254, 254, 0, 0, 254, 0, 271, 0,
562 0, 292, 292, 292, 0, 309, 0, 326, 326, 0,
563 343, 0, 333, 332, 343, 343, 0, 0, 0, 0,
564 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
565 23, 0, 0, 0, 0, 0, 359, 0, 0, 0,
566 0, 53, 258, 214, 39, 0, 358, 52, 0, 0,
567 0, 38, 0, 0, 49, 0, 0, 79, 79, 79,
568 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 96, 95, 0, 115, 0, 0, 259, 215, 142,
571 142, 0, 124, 123, 0, 0, 0, 142, 0, 143,
572 185, 0, 171, 170, 0, 0, 185, 0, 157, 156,
573 0, 0, 185, 185, 185, 0, 0, 0, 210, 0,
574 196, 195, 0, 0, 210, 0, 194, 193, 210, 0,
575 211, 223, 0, 254, 254, 254, 0, 0, 0, 254,
576 0, 255, 271, 0, 0, 0, 0, 0, 0, 292,
577 0, 309, 0, 0, 0, 0, 0, 0, 343, 343,
578 343, 0, 0, 0, 350, 349, 0, 0, 0, 374,
579 373, 0, 379, 0, 0, 0, 0, 0, 0, 0,
580 275, 0, 0, 147, 359, 28, 0, 0, 331, 53,
582 214, 0, 358, 52, 146, 27, 330, 0, 0, 49,
583 0, 0, 50, 79, 0, 0, 79, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
585 0, 0, 0, 276, 0, 215, 142, 142, 0, 0,
586 142, 185, 0, 173, 172, 185, 0, 151, 150, 0,
587 0, 185, 185, 0, 153, 152, 0, 210, 0, 198,
588 197, 210, 210, 223, 0, 254, 0, 0, 254, 254,
589 0, 0, 254, 271, 0, 272, 0, 0, 284, 283,
590 0, 282, 281, 292, 0, 309, 0, 0, 322, 321,
591 0, 320, 319, 0, 343, 343, 343, 0, 0, 0,
593 0, 0, 0, 0, 17, 0, 19, 18, 0, 275,
594 347, 0, 147, 28, 296, 16, 331, 0, 146, 27,
595 330, 0, 0, 49, 394, 79, 0, 67, 66, 79,
596 0, 80, 0, 98, 97, 0, 0, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 111, 110, 276,
598 0, 142, 142, 0, 0, 0, 0, 142, 185, 185,
599 0, 155, 154, 185, 185, 0, 210, 210, 210, 223,
600 0, 224, 254, 0, 236, 235, 254, 254, 0, 0,
601 0, 0, 254, 271, 297, 292, 0, 309, 0, 0,
602 0, 0, 343, 343, 0, 348, 0, 0, 366, 0,
604 0, 0, 17, 0, 347, 0, 296, 16, 0, 0,
605 0, 35, 49, 0, 0, 79, 0, 0, 0, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 142, 142,
607 0, 132, 0, 131, 142, 185, 185, 185, 185, 0,
608 186, 210, 210, 210, 223, 0, 0, 254, 254, 254,
609 0, 240, 0, 239, 254, 271, 297, 292, 0, 293,
610 0, 0, 0, 0, 0, 335, 334, 0, 0, 343,
611 0, 344, 348, 0, 0, 0, 0, 0, 24, 0,
612 0, 0, 49, 0, 0, 0, 79, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 142,
615 142, 134, 133, 0, 0, 185, 185, 185, 0, 0,
616 210, 210, 0, 0, 223, 0, 232, 231, 254, 254,
617 254, 242, 241, 0, 0, 271, 292, 0, 0, 0,
618 0, 310, 0, 0, 339, 338, 0, 0, 0, 355,
619 0, 0, 0, 313, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 79, 0, 0, 0, 0, 88,
621 0, 0, 0, 0, 87, 0, 314, 142, 0, 0,
622 0, 136, 135, 185, 185, 185, 0, 181, 180, 210,
623 0, 0, 0, 206, 205, 0, 0, 254, 254, 254,
624 0, 244, 243, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 337, 336, 0, 0, 0,
627 313, 0, 0, 0, 45, 44, 0, 0, 0, 0,
628 0, 0, 0, 0, 79, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 314, 0, 0, 142, 0, 138,
630 137, 185, 185, 185, 210, 0, 202, 201, 0, 219,
631 218, 254, 0, 0, 254, 0, 0, 0, 0, 0,
632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 84, 83, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 94, 0, 0, 0,
635 93, 0, 0, 0, 128, 127, 142, 185, 185, 185,
637 210, 254, 0, 238, 237, 254, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 301, 0, 0, 300,
639 0, 327, 0, 0, 0, 0, 0, 0, 84, 83,
640 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
641 62, 0, 0, 0, 0, 0, 0, 0, 142, 185,
642 185, 0, 0, 210, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 75, 71, 0,
645 0, 74, 70, 0, 92, 0, 0, 91, 0, 0,
646 0, 103, 142, 185, 185, 0, 0, 0, 210, 0,
648 234, 233, 0, 0, 0, 267, 0, 266, 0, 288,
649 0, 287, 0, 303, 305, 302, 304, 0, 0, 0,
650 12, 0, 12, 0, 0, 0, 0, 0, 86, 90,
651 85, 89, 142, 185, 185, 0, 0, 0, 0, 210,
652 0, 0, 0, 0, 265, 264, 286, 285, 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, 69,
656 0, 68, 0, 0, 130, 129, 0, 179, 178, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
659 203, 0, 0, 0, 0, 0, 0, 0, 11, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0, 73, 72,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 165, 0, 0, 164, 0, 0, 246, 0, 0, 245,
667 0, 0, 0, 0, 0, 169, 0, 168, 0, 248,
668 0, 247, 0, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 0, 175, 0, 174, 0, 0, 0,
671 0, 0, 0, 177, 176, 167, 166, 250, 249, 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,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 static yyconst flex_int32_t yy_ec[256] =
686 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
687 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
689 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
690 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
691 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
692 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
693 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
694 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
695 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
697 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
698 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
699 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701 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,
708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
716 static yyconst flex_int32_t yy_meta[73] =
718 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
719 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
720 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
721 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
722 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
723 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
724 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
728 static yyconst flex_int16_t yy_base[2701] =
730 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
731 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
732 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
733 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
734 239, 256, 274, 328, 294, 297, 382, 445, 305, 351,
735 508, 574, 300, 354, 358, 361, 402, 405, 408, 412,
736 640, 707, 415, 465, 774, 839, 468, 471, 475, 478,
737 528, 531, 534, 538, 541, 594, 597, 600, 604, 607,
738 660, 663, 666, 670, 673, 727, 730, 733, 737, 740,
739 794, 797, 800, 804, 807, 859, 904, 970, 862, 865,
741 869, 872, 924, 927, 930, 934, 1036, 0, 990, 993,
742 1108, 0, 996, 1000, 1180, 1237, 1200, 1203, 1294, 1360,
743 1206, 1210, 1257, 1260, 1263, 1267, 1314, 1317, 1426, 1492,
744 1320, 1324, 1327, 1380, 1383, 1386, 1390, 1393, 1558, 1624,
745 1446, 1449, 1452, 1456, 1459, 1512, 1515, 1518, 1690, 1747,
746 1522, 1525, 1804, 1870, 1578, 1581, 1584, 1588, 1591, 1644,
747 1647, 1650, 1936, 2002, 1654, 1657, 1710, 1713, 1716, 1720,
748 1723, 1767, 2068, 2137, 1770, 1773, 2206, 2263, 1777, 1780,
749 1824, 1827, 1830, 1834, 1837, 1890, 2320, 2389, 1893, 1896,
750 0, 0, 6532, 8043, 8043, 95, 100, 29, 41, 8043,
752 103, 51, 8043, 8043, 6521, 8043, 8043, 6508, 8043, 6523,
753 6523, 498, 8043, 8043, 8043, 8043, 6517, 6517, 6472, 145,
754 8043, 161, 6496, 0, 146, 8043, 6462, 8043, 166, 2454,
755 88, 204, 205, 254, 6502, 3, 8043, 169, 6489, 0,
756 153, 8043, 6451, 8043, 260, 419, 8043, 322, 6487, 0,
757 244, 8043, 6447, 6451, 6449, 420, 6450, 8043, 364, 6476,
758 0, 248, 8043, 6442, 6440, 257, 6442, 360, 8043, 440,
759 31, 6478, 6422, 8043, 567, 6464, 0, 306, 8043, 6424,
760 6423, 6414, 8043, 624, 482, 8043, 633, 6458, 0, 416,
761 8043, 6421, 6410, 8043, 692, 1908, 1909, 6412, 35, 6446,
763 240, 135, 740, 691, 59, 6455, 152, 8043, 697, 6446,
764 0, 417, 8043, 6392, 6398, 6407, 6394, 6388, 8043, 702,
765 6442, 181, 8043, 764, 6429, 0, 479, 8043, 6379, 300,
766 6385, 6392, 6394, 185, 6393, 439, 8043, 767, 546, 8043,
767 824, 6417, 0, 480, 8043, 6367, 6365, 6370, 6379, 6381,
768 6363, 6357, 8043, 830, 611, 8043, 833, 6403, 0, 483,
769 8043, 6358, 6367, 8043, 889, 612, 8043, 895, 6398, 0,
770 543, 8043, 6364, 6360, 6362, 483, 8043, 898, 6396, 210,
771 8043, 937, 6387, 0, 609, 8043, 6340, 279, 8043, 954,
772 626, 6389, 6341, 8043, 960, 6379, 0, 752, 8043, 6330,
774 6325, 306, 8043, 1003, 6382, 554, 8043, 1020, 6369, 0,
775 808, 8043, 6331, 6335, 8043, 1026, 1211, 8043, 1231, 6364,
776 0, 809, 8043, 6317, 6312, 6312, 8043, 1270, 6364, 560,
777 8043, 1287, 6355, 0, 873, 8043, 6304, 6309, 6313, 6298,
778 8043, 1344, 304, 449, 310, 8043, 1352, 6344, 0, 874,
779 8043, 6314, 8043, 1355, 1331, 8043, 1410, 6340, 0, 938,
780 8043, 6307, 8043, 1418, 6346, 593, 8043, 1421, 6333, 0,
781 939, 8043, 6300, 6302, 8043, 1477, 1397, 1480, 672, 6277,
782 8043, 6337, 6326, 8043, 8043, 8043, 1474, 317, 6274, 6273,
783 6271, 6316, 6276, 8043, 0, 6269, 6266, 6281, 6254, 6246,
785 621, 6251, 6251, 6254, 30, 630, 6241, 687, 710, 6266,
786 702, 6243, 967, 6234, 757, 1227, 1482, 8043, 0, 6239,
787 6240, 8043, 0, 6233, 1899, 6226, 514, 6223, 6265, 8043,
788 0, 6223, 1958, 6212, 6229, 6216, 6224, 6218, 6218, 6204,
789 1489, 8043, 0, 6211, 6202, 6213, 6190, 8043, 0, 1966,
790 6188, 6233, 6211, 6177, 6186, 6186, 963, 6203, 1168, 1288,
791 8043, 0, 6192, 819, 1976, 6166, 6186, 6178, 8043, 0,
792 6180, 6180, 2022, 6162, 2025, 6155, 6151, 6167, 6163, 6165,
793 6164, 6154, 6156, 8043, 0, 6157, 6153, 6138, 2028, 6132,
794 6124, 6144, 6129, 8043, 0, 5747, 2031, 5743, 8043, 0,
796 5745, 2034, 5738, 5755, 5754, 5743, 8043, 0, 5734, 5749,
797 5738, 5732, 5738, 8043, 0, 5720, 5738, 5733, 5715, 5751,
798 8043, 0, 5703, 2088, 5708, 8043, 0, 5698, 5712, 5708,
799 5703, 8043, 0, 5690, 5684, 5689, 5694, 5679, 5672, 8043,
800 0, 5677, 5685, 8043, 0, 2091, 5674, 8043, 0, 2094,
801 5665, 5659, 5701, 5701, 929, 5650, 8043, 1536, 0, 5645,
802 5638, 5682, 5680, 5630, 8043, 5642, 5623, 1903, 2100, 1553,
803 5633, 5621, 5615, 5620, 5614, 5627, 5574, 5578, 5580, 5566,
804 5565, 5553, 5571, 5557, 5548, 1612, 5540, 5556, 5553, 5542,
805 5554, 5539, 2097, 2161, 5538, 2158, 1678, 5532, 5564, 2165,
807 2168, 8043, 5528, 2171, 1858, 2176, 5519, 2226, 5521, 5521,
808 5518, 2234, 2237, 5503, 5503, 5503, 5502, 2240, 2285, 2288,
809 2119, 5485, 2291, 2297, 1618, 5487, 5470, 5459, 5448, 1798,
810 5446, 5445, 5454, 5441, 5452, 2294, 2127, 5450, 5427, 2340,
811 2343, 5432, 1170, 2300, 2190, 5435, 2349, 2352, 2367, 5424,
812 5422, 5417, 5408, 5401, 5403, 2409, 2412, 5399, 953, 5389,
813 2415, 2370, 2418, 5387, 5372, 2421, 2424, 5372, 2436, 2378,
814 2445, 2450, 5383, 2459, 2477, 5381, 5367, 5360, 2465, 2470,
815 2489, 2495, 2520, 2498, 2526, 5358, 2529, 2532, 2538, 2541,
816 2550, 2561, 5365, 2564, 2569, 2583, 2587, 2590, 2593, 2602,
818 2611, 2614, 5357, 5340, 5346, 5326, 2620, 2623, 5335, 5319,
819 2626, 2633, 2645, 2648, 2658, 2663, 2666, 2670, 5316, 2687,
820 2690, 5362, 8043, 8043, 989, 5321, 8043, 5362, 5360, 5297,
821 8043, 8043, 5295, 5293, 5297, 2693, 2697, 8043, 2700, 1741,
822 5290, 5279, 5297, 5278, 5282, 5267, 5274, 5273, 5261, 5258,
823 639, 5271, 5251, 5266, 5261, 5258, 1924, 5242, 5246, 5238,
824 819, 5248, 2712, 2719, 2724, 8043, 2730, 2733, 2678, 8043,
825 8043, 2738, 5272, 2743, 2756, 8043, 2762, 5220, 2765, 8043,
826 8043, 2775, 2781, 2789, 2793, 2800, 5233, 2811, 5227, 2814,
827 2817, 8043, 2820, 884, 5225, 2823, 5219, 2829, 2841, 8043,
829 2844, 2848, 8043, 8043, 5210, 2856, 2863, 8043, 2866, 5204,
830 5207, 5188, 5187, 5177, 5167, 5166, 5164, 5170, 2869, 2876,
831 8043, 8043, 5155, 5158, 2887, 2892, 8043, 2895, 5150, 5133,
832 5144, 5136, 2899, 8043, 8043, 2907, 2914, 8043, 8043, 2925,
833 2928, 5125, 5128, 5133, 5125, 5124, 5117, 2936, 2939, 8043,
834 2943, 5113, 5092, 5080, 5094, 2946, 8043, 8043, 2962, 2965,
835 5080, 5090, 2973, 2976, 8043, 2980, 5077, 2983, 8043, 8043,
836 2995, 2999, 8043, 3002, 5057, 3014, 8043, 8043, 5065, 5067,
837 5066, 3005, 3010, 8043, 3024, 3032, 3036, 3044, 3050, 5065,
838 3058, 3062, 8043, 3069, 5058, 3065, 3077, 5045, 5045, 3072,
840 3090, 5055, 3098, 3101, 8043, 3104, 5046, 3107, 8043, 8043,
841 3123, 3126, 8043, 3129, 3132, 3136, 5030, 5029, 3151, 3154,
842 3162, 3169, 8043, 3172, 5026, 3175, 5043, 5023, 3181, 3184,
843 8043, 3193, 5020, 5023, 3196, 3203, 8043, 3206, 3215, 8043,
844 8043, 3225, 3228, 8043, 3234, 3237, 8043, 8043, 5022, 3247,
845 3254, 8043, 3260, 926, 3266, 8043, 8043, 5048, 5047, 5008,
846 4991, 3269, 4984, 4990, 4983, 4980, 4989, 1930, 4976, 1994,
847 1984, 4983, 4979, 1997, 4969, 4976, 4975, 4969, 4959, 4953,
848 4946, 2059, 4958, 4947, 3273, 3279, 3294, 3297, 3300, 4946,
849 4970, 3308, 4940, 3315, 8043, 8043, 3323, 3328, 3337, 8043,
851 8043, 4931, 3345, 3348, 4926, 3358, 2062, 4901, 3363, 3366,
852 3377, 3381, 4899, 3384, 8043, 4891, 4891, 2198, 2201, 4899,
853 4898, 4896, 4895, 4886, 3387, 3391, 3405, 3409, 3413, 4892,
854 3416, 4863, 4879, 3419, 3437, 3445, 8043, 8043, 3423, 4856,
855 4876, 4863, 4869, 4832, 3456, 4853, 3459, 4832, 4841, 3462,
856 8043, 8043, 3470, 4844, 3479, 4833, 3482, 4825, 4830, 4811,
857 3488, 3492, 3502, 8043, 8043, 3511, 8043, 8043, 4803, 3521,
858 3427, 3524, 8043, 8043, 4802, 4813, 3536, 8043, 8043, 4795,
859 3544, 4790, 3549, 3552, 8043, 8043, 4789, 4803, 3564, 8043,
860 8043, 3572, 4780, 3575, 3578, 4769, 4786, 3593, 4768, 3596,
862 3599, 3606, 3614, 3620, 718, 4806, 3625, 8043, 4805, 8043,
863 8043, 4761, 4754, 3628, 4734, 4743, 4717, 4728, 4718, 2244,
864 4707, 2312, 4706, 2485, 4694, 4688, 2492, 4692, 3587, 3632,
865 4696, 4689, 4682, 4682, 3635, 4662, 3639, 3647, 8043, 8043,
866 3655, 3659, 8043, 8043, 4666, 4682, 3668, 4653, 3687, 8043,
867 8043, 4653, 3695, 8043, 8043, 4642, 3682, 3703, 4642, 3706,
868 1574, 1820, 3714, 3722, 3732, 4653, 4639, 4634, 3735, 3738,
869 3743, 3746, 3751, 4648, 4632, 3754, 8043, 8043, 3762, 3765,
870 3773, 3780, 4638, 3776, 4640, 3791, 3795, 3803, 4602, 3811,
871 8043, 8043, 3821, 3824, 3832, 4582, 4585, 4584, 3835, 3839,
873 4583, 3842, 3846, 3854, 4571, 3860, 3863, 4576, 3872, 4568,
874 3878, 4575, 4552, 4568, 3881, 3884, 4563, 3892, 4530, 3899,
875 4538, 3905, 3911, 3914, 3918, 4527, 3923, 3932, 3937, 3942,
876 4510, 3951, 8043, 8043, 4513, 4499, 3945, 4500, 3964, 3971,
877 3985, 3989, 3992, 3997, 4010, 818, 415, 948, 8043, 4486,
878 4013, 4016, 4497, 4487, 4509, 4445, 4019, 4445, 4429, 4426,
879 4396, 4022, 4025, 4031, 4035, 4404, 4038, 4045, 4387, 4386,
880 4369, 4048, 4330, 4051, 4328, 4354, 4054, 4313, 4057, 4306,
881 4060, 4063, 4338, 4302, 1189, 4236, 4248, 4221, 1246, 4216,
882 4066, 8043, 8043, 4081, 4085, 4026, 4035, 4088, 4091, 3945,
884 3935, 4096, 8043, 8043, 4104, 3925, 3874, 3803, 4112, 8043,
885 3675, 4115, 8043, 8043, 4123, 4131, 91, 4141, 8043, 8043,
886 4149, 4152, 4160, 127, 163, 4163, 4167, 4181, 250, 4184,
887 8043, 8043, 4192, 4196, 332, 4204, 8043, 8043, 377, 4212,
888 8043, 441, 4215, 430, 4218, 513, 4221, 554, 635, 666,
889 4236, 8043, 695, 4239, 750, 4242, 4245, 4260, 4265, 766,
890 4273, 762, 4279, 4282, 4285, 4293, 4300, 4311, 827, 829,
891 846, 4314, 859, 4317, 8043, 8043, 4325, 4333, 4340, 8043,
892 8043, 4348, 8043, 1267, 1202, 966, 894, 4352, 4355, 4363,
893 4370, 902, 972, 4382, 4387, 4390, 974, 1136, 4393, 4396,
895 4399, 1153, 4402, 4405, 4408, 4411, 4414, 1163, 4417, 1220,
896 1233, 4420, 8043, 1217, 4423, 4427, 1261, 4441, 4444, 4447,
897 1290, 1294, 1294, 1304, 1306, 1341, 1352, 1359, 1365, 1360,
898 4455, 4462, 4465, 4474, 1343, 4480, 1356, 1349, 1430, 1441,
899 1383, 1407, 4483, 8043, 8043, 1408, 4491, 8043, 8043, 4499,
900 4505, 1408, 1416, 4513, 8043, 8043, 4521, 1426, 4524, 8043,
901 8043, 1419, 1431, 1424, 4532, 1452, 4535, 4540, 1469, 1468,
902 1573, 1628, 1473, 1483, 4553, 8043, 1476, 4556, 8043, 8043,
903 4565, 8043, 8043, 1495, 4573, 1491, 4576, 4579, 8043, 8043,
904 4588, 8043, 8043, 4596, 4599, 1521, 1529, 4602, 1531, 4605,
906 4608, 4611, 1644, 1603, 4617, 4633, 8043, 8043, 4642, 4645,
907 4648, 1533, 4651, 4654, 4657, 4661, 4667, 1551, 4670, 4673,
908 4676, 1556, 4679, 1552, 8043, 4682, 4685, 8043, 8043, 1573,
909 4693, 8043, 4701, 8043, 8043, 1641, 1627, 1647, 1642, 1652,
910 1660, 1646, 1662, 1657, 1695, 4712, 4715, 8043, 8043, 4723,
911 1661, 1673, 1679, 1706, 1729, 1712, 1731, 1693, 1706, 1723,
912 4727, 8043, 8043, 1724, 1734, 4735, 1732, 1737, 1739, 1743,
913 4738, 8043, 4741, 4744, 8043, 8043, 1740, 1741, 1793, 1829,
914 1817, 1837, 1794, 1805, 4759, 1809, 4762, 4765, 4768, 4773,
915 4776, 4788, 4783, 1812, 4796, 4801, 4804, 4807, 8043, 4810,
917 1932, 1909, 4815, 4818, 4829, 1799, 4837, 4840, 1807, 1808,
918 4843, 8043, 1814, 4846, 4849, 1847, 1866, 1862, 1877, 1865,
919 1877, 1876, 1876, 1900, 1915, 1927, 4857, 1904, 1907, 1909,
920 1975, 8043, 1980, 8043, 4864, 1924, 1945, 1959, 4872, 4876,
921 8043, 1972, 1974, 4882, 1977, 4885, 4891, 1991, 1987, 1992,
922 2046, 8043, 2045, 8043, 4903, 1996, 4906, 1998, 4909, 8043,
923 4912, 4917, 4930, 4933, 4936, 8043, 8043, 4944, 4952, 4962,
924 4965, 8043, 4968, 4971, 2047, 2096, 2064, 4974, 8043, 2006,
925 2052, 2055, 4980, 4984, 2151, 2324, 2047, 2081, 2090, 2094,
926 2097, 2118, 2097, 2110, 2110, 2113, 2157, 4993, 2129, 2115,
928 5000, 8043, 8043, 5003, 5006, 2119, 2134, 2141, 5014, 5021,
929 2159, 5032, 5036, 5039, 5054, 5057, 8043, 8043, 2175, 2181,
930 2178, 8043, 8043, 5065, 5068, 5076, 5079, 5083, 2683, 2713,
931 5097, 8043, 5100, 5103, 8043, 8043, 5111, 5119, 5129, 8043,
932 2230, 2423, 2486, 5132, 2200, 2204, 5135, 5138, 2218, 2222,
933 2343, 2221, 2225, 2353, 2201, 2260, 2264, 2263, 2270, 8043,
934 2293, 2306, 2312, 2322, 8043, 5148, 5153, 5156, 5159, 5167,
935 5177, 8043, 8043, 2335, 2323, 2379, 5185, 8043, 8043, 2383,
936 5193, 5196, 5204, 8043, 8043, 5212, 5215, 2374, 5223, 2391,
937 5226, 8043, 8043, 5234, 5237, 5245, 5248, 2409, 2414, 2414,
939 2420, 2421, 2423, 5256, 5259, 8043, 8043, 2489, 2495, 5267,
940 5162, 2397, 2415, 5271, 8043, 8043, 2485, 2481, 2485, 2497,
941 2504, 2502, 2503, 2521, 5279, 2515, 2536, 2553, 2539, 2522,
942 2547, 2565, 2554, 5286, 5289, 5292, 5298, 2523, 5310, 8043,
943 8043, 2525, 2523, 2527, 2548, 5318, 8043, 8043, 5326, 8043,
944 8043, 2555, 5336, 5339, 2538, 5347, 2597, 2674, 5355, 2708,
945 2716, 2568, 2584, 2614, 2590, 2603, 2630, 5363, 2621, 5366,
946 5369, 5372, 5391, 5394, 2620, 2630, 2633, 2624, 2636, 2651,
947 2680, 2667, 5397, 5400, 2682, 2682, 8043, 2699, 2701, 2726,
948 8043, 2732, 5408, 5411, 8043, 8043, 2713, 2715, 2716, 5419,
950 2718, 5422, 5427, 8043, 8043, 5440, 2744, 2760, 2752, 2763,
951 2762, 2773, 2765, 2779, 2772, 2784, 8043, 2793, 2803, 8043,
952 5443, 8043, 2815, 5446, 5449, 5458, 5478, 5525, 5468, 5489,
953 2811, 2832, 2833, 2801, 2828, 2846, 2847, 2822, 5498, 8043,
954 8043, 2857, 2841, 2842, 2875, 2854, 2859, 5515, 2841, 2845,
955 2855, 5519, 5506, 2854, 5537, 5545, 5555, 5558, 2908, 2880,
956 2912, 2883, 2918, 2886, 2924, 2896, 2930, 2945, 2944, 2945,
957 2990, 5573, 2952, 2953, 5593, 5640, 2943, 8043, 8043, 2922,
958 2956, 8043, 8043, 2950, 8043, 2984, 2985, 8043, 2985, 2986,
959 5566, 8043, 2968, 2971, 2957, 5581, 3004, 3010, 2979, 5613,
961 8043, 8043, 5621, 3120, 3123, 8043, 3035, 8043, 3041, 8043,
962 3051, 8043, 3049, 8043, 8043, 8043, 8043, 3057, 3092, 3067,
963 3084, 3132, 3086, 5630, 3082, 3088, 3100, 3093, 8043, 8043,
964 8043, 8043, 5634, 5652, 5660, 3126, 3091, 3139, 3093, 5663,
965 3171, 3094, 3181, 3115, 8043, 8043, 8043, 8043, 5670, 3162,
966 3160, 3182, 5673, 3196, 3189, 3205, 3193, 5666, 5692, 5700,
967 5703, 5711, 5714, 3180, 3192, 3211, 3194, 3209, 3222, 5725,
968 5729, 3207, 3219, 3231, 3219, 3227, 3243, 5737, 3246, 8043,
969 3244, 8043, 3245, 5743, 8043, 8043, 5752, 8043, 8043, 5760,
970 3266, 3281, 3247, 3257, 3253, 3257, 3274, 3275, 5768, 8043,
972 8043, 3278, 3290, 3291, 3296, 3302, 3300, 3353, 8043, 3338,
973 3336, 3333, 3327, 3336, 3334, 3341, 3349, 3350, 3347, 3367,
974 3373, 3372, 3378, 3379, 3384, 3409, 3410, 3417, 8043, 8043,
975 3404, 3423, 3410, 3430, 3416, 3414, 3442, 3432, 3429, 3452,
976 3442, 3446, 3463, 3456, 3456, 3473, 3481, 3463, 3465, 3472,
977 3472, 3490, 3481, 3513, 3503, 3494, 3523, 3508, 3498, 3531,
978 3517, 3520, 3550, 3545, 3530, 3536, 3533, 3546, 3577, 3552,
979 8043, 3577, 3560, 8043, 3598, 3572, 8043, 3602, 3579, 8043,
980 3635, 3577, 3595, 3588, 3621, 8043, 3621, 8043, 3628, 8043,
981 3638, 8043, 3640, 5776, 3647, 3668, 3650, 3668, 3635, 3637,
983 3648, 3651, 5779, 3694, 8043, 3694, 8043, 3705, 3704, 3708,
984 3710, 3731, 3753, 8043, 8043, 8043, 8043, 8043, 8043, 3723,
985 3752, 3780, 3801, 3707, 3739, 3912, 3943, 3710, 3858, 3877,
986 3879, 3811, 3884, 3885, 3950, 3851, 3909, 3798, 3903, 3917,
987 4057, 4024, 4066, 3709, 3952, 3792, 3965, 4076, 4091, 3977,
988 4118, 3700, 4077, 4092, 4110, 4154, 4157, 3990, 4128, 3970,
989 4169, 4121, 4140, 3768, 3771, 4139, 4171, 4172, 4208, 4206,
990 4211, 4287, 4313, 4238, 4285, 4213, 4305, 4116, 4288, 4321,
991 4414, 4233, 4253, 4089, 4302, 4327, 4418, 4434, 4440, 4291,
992 4312, 4452, 4468, 4421, 4501, 4493, 4509, 4183, 4520, 4511,
994 4512, 3958, 4470, 5787, 5790, 8043, 8043, 5810, 5819, 5828,
995 5837, 5846, 5855, 5864, 5873, 5882, 5891, 5900, 5909, 5918,
996 5927, 5936, 5945, 5954, 5963, 5972, 5981, 5990, 5999, 6008,
997 6017, 6026, 6035, 6044, 6053, 6062, 6071, 6080, 6089, 6098,
998 6107, 6116, 6125, 6134, 6143, 6152, 6161, 6170, 6179, 6186,
999 6193, 6200, 6207, 6214, 6221, 6228, 6235, 6242, 6249, 6256,
1000 6263, 6270, 6277, 6284, 6291, 6298, 6305, 6312, 6321, 6328,
1001 6333, 6340, 6345, 6352, 6357, 6364, 6369, 6376, 6381, 6388,
1002 6393, 6400, 6405, 6412, 6417, 6424, 6429, 6436, 6441, 6448,
1003 6453, 6460, 6465, 6472, 6477, 6484, 6489, 6496, 6501, 6508,
1005 6513, 6520, 6525, 6532, 6537, 6544, 6549, 6558, 6564, 6571,
1006 6579, 6586, 6594, 6601, 6609, 6616, 6624, 6631, 6639, 6646,
1007 6654, 6661, 6669, 6676, 6684, 6691, 6699, 6706, 6714, 6721,
1008 6729, 6737, 6745, 6753, 6761, 6768, 6776, 6784, 6792, 6799,
1009 6807, 6814, 6822, 6830, 6837, 6845, 6854, 6860, 6867, 6875,
1010 6883, 6891, 6899, 6907, 6914, 6922, 6929, 6937, 6944, 6952,
1011 6959, 6967, 6974, 6982, 6989, 6997, 7004, 7012, 7019, 7027,
1012 7034, 7042, 7049, 7057, 7064, 7072, 7079, 7087, 7094, 7102,
1013 7109, 7117, 7125, 7132, 7140, 7149, 7158, 7165, 7173, 7181,
1014 7188, 7196, 7203, 7211, 7218, 7226, 7233, 7240, 7248, 7255,
1016 7263, 7270, 7278, 7285, 7293, 7300, 7308, 7315, 7323, 7330,
1017 7338, 7345, 7353, 7360, 7368, 7375, 7383, 7391, 7399, 7407,
1018 7415, 7423, 7432, 7441, 7448, 7456, 7464, 7471, 7479, 7486,
1019 7494, 7501, 7509, 7516, 7523, 7531, 7538, 7546, 7553, 7561,
1020 7568, 7576, 7583, 7591, 7598, 7606, 7614, 7622, 7629, 7637,
1021 7645, 7653, 7660, 7668, 7676, 7684, 7692, 7701, 7710, 7718,
1022 7726, 7734, 7741, 7749, 7756, 7764, 7772, 7780, 7788, 7795,
1023 7802, 7810, 7817, 7824, 7832, 7839, 7846, 7854, 7861, 7869,
1024 7876, 7884, 7892, 7899, 7907, 7915, 7923, 7932, 7941, 7949,
1025 7957, 7964, 7971, 7979, 7988, 7997, 8006, 8015, 8024, 8033
1029 static yyconst flex_int16_t yy_def[2701] =
1031 2408, 2408, 2409, 2409, 2409, 2409, 2410, 2410, 2411, 2411,
1032 2412, 2412, 2413, 2413, 2413, 2413, 2414, 2414, 2408, 2408,
1033 2415, 2415, 2416, 2416, 2416, 2416, 2408, 2408, 2416, 2416,
1034 2416, 2416, 2408, 2408, 2416, 2416, 2408, 2408, 2416, 2416,
1035 2416, 2416, 2417, 2417, 2418, 2418, 2419, 2419, 2413, 2413,
1036 2420, 2420, 2421, 2421, 2408, 2408, 2421, 2421, 2421, 2421,
1037 2422, 2422, 2423, 2423, 2424, 2424, 2425, 2425, 2425, 2425,
1038 2408, 2408, 2425, 2425, 2425, 2425, 2408, 2408, 2425, 2425,
1039 2408, 2408, 2425, 2425, 2425, 2425, 2408, 2408, 2425, 2425,
1040 2408, 2408, 2425, 2425, 2425, 2425, 2426, 2426, 2427, 2427,
1042 2408, 2408, 2427, 2427, 2427, 2427, 2407, 107, 2428, 2428,
1043 2407, 111, 2429, 2429, 2430, 2430, 2431, 2431, 2432, 2432,
1044 2433, 2433, 2408, 2408, 2433, 2433, 2433, 2433, 2434, 2434,
1045 2435, 2435, 2408, 2408, 2435, 2435, 2435, 2435, 2436, 2436,
1046 2437, 2437, 2408, 2408, 2437, 2437, 2437, 2437, 2438, 2438,
1047 2439, 2439, 2440, 2440, 2441, 2441, 2408, 2408, 2441, 2441,
1048 2441, 2441, 2442, 2442, 2443, 2443, 2408, 2408, 2443, 2443,
1049 2443, 2443, 2444, 2444, 2445, 2445, 2446, 2446, 2447, 2447,
1050 2408, 2408, 2447, 2447, 2447, 2447, 2448, 2448, 2449, 2449,
1051 2408, 2408, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1053 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1054 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1055 2407, 2407, 2407, 2450, 2407, 2407, 2450, 2407, 2407, 2407,
1056 230, 230, 230, 230, 233, 233, 2407, 2407, 2407, 2451,
1057 2407, 2407, 2451, 2407, 2407, 2407, 2407, 2407, 2407, 2452,
1058 2407, 2407, 2452, 2452, 2452, 2407, 2407, 2407, 2407, 2407,
1059 2453, 2407, 2407, 2453, 2453, 2453, 2453, 2453, 2407, 2407,
1060 233, 271, 271, 2407, 2407, 2407, 2454, 2407, 2407, 2454,
1061 2454, 2454, 2407, 2407, 2407, 2407, 2407, 2407, 2455, 2407,
1062 2407, 2455, 2455, 2407, 2407, 234, 271, 234, 296, 297,
1064 297, 297, 297, 303, 304, 303, 303, 2407, 2407, 2407,
1065 2456, 2407, 2407, 2456, 2456, 2456, 2456, 2456, 2407, 2407,
1066 271, 271, 2407, 2407, 2407, 2457, 2407, 2407, 2457, 2457,
1067 2457, 2457, 2457, 2457, 2457, 2457, 2407, 2407, 2407, 2407,
1068 2407, 2407, 2458, 2407, 2407, 2458, 2458, 2458, 2458, 2458,
1069 2458, 2458, 2407, 2407, 2407, 2407, 2407, 2407, 2459, 2407,
1070 2407, 2459, 2459, 2407, 2407, 2407, 2407, 2407, 2407, 2460,
1071 2407, 2407, 2460, 2460, 2460, 2460, 2407, 2407, 271, 271,
1072 2407, 2407, 2407, 2461, 2407, 2407, 2461, 2461, 2407, 2407,
1073 271, 391, 391, 2407, 2407, 2407, 2462, 2407, 2407, 2462,
1075 2462, 2462, 2407, 2407, 391, 391, 2407, 2407, 2407, 2463,
1076 2407, 2407, 2463, 2463, 2407, 2407, 2407, 2407, 2407, 2407,
1077 2464, 2407, 2407, 2464, 2464, 2464, 2407, 2407, 391, 391,
1078 2407, 2407, 2407, 2465, 2407, 2407, 2465, 2465, 2465, 2465,
1079 2407, 2407, 271, 271, 271, 2407, 2407, 2407, 2466, 2407,
1080 2407, 2466, 2407, 2407, 2407, 2407, 2407, 2407, 2467, 2407,
1081 2407, 2467, 2407, 2407, 271, 271, 2407, 2407, 2407, 2468,
1082 2407, 2407, 2468, 2468, 2407, 2407, 2407, 2407, 2469, 2407,
1083 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1084 2407, 2407, 2407, 2407, 2470, 2470, 2471, 2407, 2407, 2407,
1086 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1087 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2472, 2472,
1088 2473, 2407, 2474, 2474, 2474, 2474, 2407, 2475, 2407, 2407,
1089 2476, 2476, 2476, 2476, 2476, 2476, 2476, 2476, 2476, 2477,
1090 2407, 2407, 2478, 2478, 2478, 2478, 2479, 2407, 2480, 2480,
1091 2480, 2481, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1092 2407, 2482, 2482, 2482, 2482, 2482, 2482, 2483, 2407, 2484,
1093 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484,
1094 2484, 2484, 2485, 2407, 2486, 2486, 2486, 2486, 2486, 2486,
1095 2486, 2486, 2487, 2407, 2488, 2488, 2488, 2489, 2407, 2490,
1097 2490, 2490, 2490, 2490, 2490, 2491, 2407, 2492, 2492, 2492,
1098 2492, 2493, 2407, 2407, 2494, 2494, 2494, 2494, 2494, 2495,
1099 2407, 2496, 2496, 2496, 2497, 2407, 2498, 2498, 2498, 2498,
1100 2499, 2407, 2500, 2500, 2500, 2500, 2500, 2501, 2407, 2407,
1101 2502, 2502, 2503, 2407, 2504, 2504, 2505, 2407, 2506, 2506,
1102 2506, 2507, 2508, 2407, 2508, 2407, 2407, 2407, 2509, 2407,
1103 2407, 2407, 2407, 2407, 2407, 2407, 2510, 2511, 2511, 2407,
1104 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1105 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1106 2407, 2512, 2513, 2513, 2514, 2407, 2407, 2514, 2407, 2515,
1108 2515, 2407, 2516, 2407, 2407, 2516, 2516, 2516, 2516, 2516,
1109 2516, 2517, 2517, 2407, 2518, 2518, 2518, 2519, 2519, 2407,
1110 2407, 2520, 2521, 2521, 2407, 2407, 2407, 2407, 2407, 2407,
1111 2407, 2407, 2522, 2522, 2522, 2407, 2407, 2522, 2522, 2523,
1112 2523, 2524, 2524, 2407, 2407, 2524, 2407, 2407, 2524, 2524,
1113 2524, 2524, 2524, 2524, 2524, 2525, 2525, 2526, 2526, 2526,
1114 2407, 2407, 2526, 2526, 2526, 2527, 2527, 2528, 2407, 2407,
1115 2529, 2529, 2530, 2407, 2407, 2530, 2530, 2530, 2531, 2531,
1116 2532, 2532, 2532, 2533, 2533, 2407, 2534, 2534, 2534, 2534,
1117 2535, 2535, 2536, 2407, 2407, 2537, 2537, 2538, 2538, 2538,
1119 2539, 2539, 2540, 2540, 2540, 2540, 2541, 2541, 2407, 2542,
1120 2543, 2543, 2407, 2407, 2544, 2544, 2407, 2407, 2545, 2546,
1121 2546, 2547, 2407, 2407, 2547, 2407, 2407, 2548, 2407, 2407,
1122 2407, 2407, 2407, 2407, 2549, 2407, 2550, 2407, 2550, 2407,
1123 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1124 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1125 2407, 2407, 2551, 2407, 2552, 2407, 2552, 2553, 2407, 2407,
1126 2407, 2553, 2407, 2407, 2554, 2407, 2554, 2555, 2407, 2407,
1127 2407, 2407, 2407, 2555, 2407, 2407, 2555, 2555, 2555, 2407,
1128 2556, 2407, 2556, 2407, 2557, 2557, 2557, 2407, 2558, 2407,
1130 2558, 2407, 2407, 2407, 2559, 2407, 2560, 2407, 2560, 2407,
1131 2407, 2407, 2407, 2407, 2407, 2407, 2561, 2561, 2561, 2407,
1132 2407, 2407, 2561, 2561, 2407, 2562, 2407, 2562, 2563, 2563,
1133 2563, 2563, 2407, 2407, 2407, 2563, 2407, 2407, 2407, 2407,
1134 2407, 2563, 2563, 2563, 2563, 2563, 2563, 2407, 2564, 2407,
1135 2564, 2565, 2565, 2565, 2565, 2407, 2407, 2407, 2407, 2407,
1136 2565, 2565, 2407, 2566, 2407, 2566, 2567, 2407, 2407, 2407,
1137 2407, 2568, 2407, 2568, 2569, 2407, 2407, 2407, 2569, 2569,
1138 2569, 2407, 2570, 2407, 2570, 2407, 2407, 2407, 2407, 2571,
1139 2407, 2572, 2407, 2572, 2407, 2407, 2407, 2573, 2573, 2407,
1141 2407, 2573, 2407, 2574, 2407, 2574, 2575, 2407, 2407, 2407,
1142 2407, 2576, 2407, 2576, 2407, 2407, 2577, 2577, 2407, 2407,
1143 2407, 2578, 2407, 2578, 2579, 2579, 2579, 2579, 2407, 2580,
1144 2407, 2580, 2407, 2581, 2407, 2582, 2407, 2582, 2407, 2407,
1145 2407, 2407, 2583, 2407, 2583, 2407, 2407, 2407, 2584, 2407,
1146 2585, 2407, 2585, 2586, 2587, 2407, 2407, 2407, 2407, 2407,
1147 2588, 2589, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1148 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1149 2407, 2407, 2407, 2407, 2407, 2407, 2590, 2407, 2407, 2591,
1150 2407, 2592, 2593, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1152 2407, 2593, 2407, 2407, 2593, 2594, 2407, 2595, 2407, 2407,
1153 2595, 2596, 2597, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1154 2407, 2407, 2598, 2598, 2407, 2407, 2598, 2598, 2599, 2600,
1155 2600, 2600, 2600, 2407, 2407, 2407, 2407, 2407, 2600, 2600,
1156 2600, 2600, 2600, 2600, 2601, 2602, 2602, 2602, 2602, 2407,
1157 2407, 2407, 2602, 2602, 2603, 2604, 2605, 2606, 2606, 2606,
1158 2606, 2607, 2407, 2407, 2407, 2407, 2407, 2407, 2608, 2609,
1159 2407, 2407, 2407, 2407, 2610, 2610, 2407, 2407, 2407, 2610,
1160 2611, 2612, 2613, 2407, 2407, 2407, 2614, 2614, 2407, 2407,
1161 2407, 2615, 2616, 2407, 2407, 2616, 2616, 2617, 2407, 2618,
1163 2619, 2620, 2621, 2622, 2623, 2624, 2624, 2407, 2624, 2407,
1164 2407, 2407, 2625, 2626, 2407, 2407, 2407, 2407, 2407, 2407,
1165 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1166 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1167 2627, 2407, 2407, 2407, 2628, 2407, 2629, 2630, 2407, 2407,
1168 2407, 2630, 2407, 2407, 2407, 2630, 2631, 2407, 2632, 2407,
1169 2407, 2407, 2407, 2407, 2633, 2634, 2407, 2407, 2407, 2407,
1170 2407, 2407, 2407, 2635, 2635, 2407, 2407, 2407, 2407, 2407,
1171 2407, 2407, 2635, 2636, 2637, 2407, 2407, 2637, 2637, 2407,
1172 2407, 2407, 2407, 2407, 2637, 2637, 2637, 2637, 2637, 2638,
1174 2639, 2407, 2407, 2639, 2639, 2407, 2407, 2639, 2640, 2641,
1175 2642, 2643, 2643, 2643, 2407, 2407, 2643, 2644, 2645, 2646,
1176 2407, 2647, 2647, 2647, 2648, 2649, 2650, 2651, 2651, 2652,
1177 2653, 2407, 2407, 2407, 2653, 2653, 2654, 2407, 2407, 2407,
1178 2655, 2656, 2407, 2407, 2657, 2658, 2659, 2659, 2407, 2407,
1179 2660, 2661, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1180 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1181 2407, 2407, 2407, 2662, 2663, 2407, 2664, 2665, 2665, 2665,
1182 2666, 2667, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1183 2407, 2407, 2407, 2668, 2669, 2407, 2407, 2407, 2407, 2670,
1185 2670, 2407, 2407, 2407, 2407, 2407, 2407, 2670, 2407, 2407,
1186 2671, 2407, 2407, 2407, 2407, 2407, 2671, 2407, 2407, 2407,
1187 2407, 2407, 2671, 2671, 2671, 2407, 2407, 2672, 2673, 2407,
1188 2407, 2407, 2407, 2407, 2673, 2407, 2407, 2407, 2673, 2407,
1189 2407, 2674, 2675, 2676, 2676, 2676, 2407, 2407, 2407, 2676,
1190 2407, 2407, 2677, 2678, 2407, 2407, 2407, 2407, 2407, 2679,
1191 2680, 2681, 2682, 2407, 2407, 2407, 2407, 2683, 2684, 2684,
1192 2684, 2685, 2407, 2407, 2407, 2407, 2686, 2687, 2407, 2407,
1193 2407, 2407, 2407, 2688, 2689, 2689, 2407, 2407, 2407, 2690,
1194 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1196 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2691, 2692,
1197 2407, 2407, 2407, 2693, 2407, 2407, 2693, 2694, 2407, 2407,
1198 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1199 2668, 2407, 2407, 2407, 2407, 2407, 2670, 2670, 2407, 2407,
1200 2670, 2671, 2407, 2407, 2407, 2671, 2407, 2407, 2407, 2407,
1201 2407, 2671, 2671, 2407, 2407, 2407, 2672, 2673, 2407, 2407,
1202 2407, 2673, 2673, 2674, 2675, 2676, 2407, 2407, 2676, 2676,
1203 2407, 2407, 2676, 2677, 2407, 2407, 2407, 2407, 2407, 2407,
1204 2407, 2407, 2407, 2679, 2680, 2681, 2682, 2407, 2407, 2407,
1205 2407, 2407, 2407, 2683, 2684, 2684, 2684, 2685, 2407, 2686,
1207 2687, 2688, 2689, 2689, 2407, 2407, 2407, 2407, 2690, 2407,
1208 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1209 2407, 2407, 2691, 2692, 2407, 2693, 2407, 2407, 2407, 2693,
1210 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1211 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2407, 2407, 2407,
1212 2407, 2670, 2670, 2407, 2407, 2407, 2407, 2670, 2671, 2671,
1213 2407, 2407, 2407, 2671, 2671, 2672, 2673, 2673, 2673, 2674,
1214 2407, 2407, 2676, 2407, 2407, 2407, 2676, 2676, 2407, 2407,
1215 2407, 2407, 2676, 2677, 2407, 2679, 2680, 2681, 2682, 2683,
1216 2407, 2407, 2684, 2684, 2685, 2407, 2686, 2407, 2407, 2688,
1218 2689, 2689, 2407, 2690, 2407, 2407, 2407, 2407, 2407, 2407,
1219 2407, 2407, 2692, 2407, 2407, 2693, 2407, 2407, 2407, 2407,
1220 2407, 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2670, 2670,
1221 2407, 2407, 2407, 2407, 2670, 2671, 2671, 2671, 2671, 2407,
1222 2407, 2673, 2673, 2673, 2674, 2407, 2407, 2676, 2676, 2676,
1223 2407, 2407, 2407, 2407, 2676, 2677, 2407, 2679, 2407, 2407,
1224 2407, 2407, 2682, 2683, 2407, 2407, 2407, 2407, 2407, 2684,
1225 2407, 2407, 2407, 2686, 2688, 2689, 2689, 2407, 2407, 2407,
1226 2407, 2407, 2692, 2407, 2407, 2407, 2693, 2407, 2407, 2407,
1227 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2670,
1229 2670, 2407, 2407, 2407, 2407, 2671, 2671, 2671, 2407, 2407,
1230 2673, 2673, 2407, 2407, 2674, 2407, 2407, 2407, 2676, 2676,
1231 2676, 2407, 2407, 2407, 2407, 2677, 2679, 2407, 2407, 2407,
1232 2407, 2407, 2683, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1233 2688, 2689, 2689, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1234 2407, 2407, 2407, 2407, 2693, 2407, 2407, 2407, 2407, 2407,
1235 2407, 2407, 2407, 2407, 2407, 2668, 2407, 2670, 2407, 2407,
1236 2407, 2407, 2407, 2671, 2671, 2671, 2407, 2407, 2407, 2673,
1237 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2676, 2676, 2676,
1238 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1240 2407, 2407, 2407, 2683, 2407, 2407, 2407, 2688, 2689, 2689,
1241 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1242 2407, 2407, 2407, 2407, 2693, 2407, 2407, 2407, 2407, 2407,
1243 2407, 2407, 2407, 2668, 2407, 2407, 2407, 2670, 2407, 2407,
1244 2407, 2671, 2671, 2671, 2673, 2407, 2407, 2407, 2407, 2407,
1245 2407, 2676, 2407, 2407, 2676, 2407, 2407, 2407, 2407, 2407,
1246 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2683, 2688, 2689,
1247 2689, 2689, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1248 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1249 2407, 2407, 2668, 2407, 2407, 2407, 2670, 2671, 2671, 2671,
1251 2673, 2676, 2407, 2407, 2407, 2676, 2407, 2407, 2407, 2407,
1252 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1253 2407, 2407, 2688, 2689, 2689, 2689, 2695, 2696, 2407, 2407,
1254 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1255 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2668, 2670, 2671,
1256 2671, 2407, 2407, 2673, 2407, 2407, 2407, 2407, 2407, 2407,
1257 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1258 2688, 2689, 2697, 2698, 2695, 2696, 2407, 2407, 2407, 2407,
1259 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1260 2407, 2407, 2670, 2671, 2671, 2407, 2407, 2407, 2673, 2407,
1262 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1263 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2697, 2689,
1264 2699, 2698, 2700, 2689, 2407, 2407, 2407, 2407, 2407, 2407,
1265 2407, 2407, 2670, 2671, 2671, 2407, 2407, 2407, 2407, 2673,
1266 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2699,
1267 2407, 2700, 2689, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1268 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1269 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407,
1270 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1271 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1273 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407,
1274 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1275 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407,
1276 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1277 2407, 2407, 2407, 2407, 2407, 2407, 2688, 2407, 2407, 2407,
1278 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1279 2407, 2407, 2407, 2688, 2407, 2407, 2407, 2407, 2407, 2407,
1280 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1281 2688, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1282 2407, 2407, 2407, 2688, 2407, 2407, 2407, 2407, 2407, 2407,
1284 2407, 2407, 2688, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1285 2407, 2688, 2688, 2407, 2407, 2407, 2407, 2407, 2407, 2688,
1286 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1287 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1288 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1289 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1290 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1291 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1292 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1293 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
1295 2688, 2688, 2688, 2688, 2688, 2407, 0, 2407, 2407, 2407,
1296 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1297 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1298 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1299 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1300 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1301 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1302 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1303 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1304 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1306 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1307 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1308 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1309 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1310 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1311 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1312 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1313 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1314 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1315 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1317 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1318 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1319 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1320 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1321 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1322 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1323 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1324 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1325 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
1326 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407
1330 static yyconst flex_int16_t yy_nxt[8116] =
1332 2407, 196, 197, 196, 196, 197, 196, 196, 197, 196,
1333 196, 197, 196, 201, 197, 201, 207, 198, 204, 207,
1334 198, 204, 2407, 199, 2407, 205, 199, 2407, 205, 202,
1335 201, 197, 201, 479, 208, 210, 211, 208, 210, 211,
1336 212, 213, 540, 212, 213, 479, 202, 217, 218, 480,
1337 214, 210, 211, 214, 215, 482, 212, 210, 211, 512,
1338 215, 481, 212, 217, 218, 513, 214, 197, 197, 197,
1339 552, 481, 214, 197, 197, 197, 229, 197, 229, 229,
1340 197, 229, 678, 220, 229, 197, 229, 512, 679, 220,
1341 502, 219, 230, 541, 680, 230, 478, 478, 478, 509,
1343 231, 478, 478, 478, 478, 478, 478, 219, 221, 222,
1344 197, 222, 221, 221, 221, 221, 221, 221, 221, 223,
1345 221, 221, 221, 557, 221, 225, 221, 226, 221, 229,
1346 197, 229, 197, 197, 197, 197, 197, 197, 508, 229,
1347 197, 229, 229, 197, 229, 231, 2407, 1546, 232, 482,
1348 482, 232, 509, 221, 221, 230, 510, 482, 230, 229,
1349 197, 229, 478, 478, 478, 481, 481, 478, 478, 478,
1350 478, 478, 478, 481, 1552, 233, 227, 221, 222, 197,
1351 222, 221, 221, 221, 221, 221, 221, 221, 223, 221,
1352 221, 221, 568, 221, 225, 221, 226, 221, 229, 197,
1354 229, 197, 197, 197, 197, 197, 197, 493, 229, 197,
1355 229, 229, 197, 229, 233, 2407, 509, 234, 514, 1553,
1356 234, 606, 221, 221, 231, 510, 510, 231, 197, 197,
1357 197, 197, 197, 197, 229, 197, 229, 229, 197, 229,
1358 229, 197, 229, 513, 235, 227, 577, 235, 482, 578,
1359 233, 2407, 482, 233, 511, 515, 236, 229, 197, 229,
1360 512, 478, 478, 478, 481, 2407, 513, 516, 481, 509,
1361 514, 514, 513, 236, 237, 238, 197, 238, 237, 237,
1362 237, 237, 237, 237, 237, 239, 237, 237, 237, 500,
1363 237, 241, 237, 242, 237, 245, 197, 245, 245, 197,
1365 245, 270, 197, 270, 508, 534, 1558, 210, 211, 535,
1366 482, 246, 212, 536, 246, 638, 517, 271, 509, 237,
1367 237, 638, 256, 478, 478, 478, 481, 243, 237, 238,
1368 197, 238, 237, 237, 237, 237, 237, 237, 237, 239,
1369 237, 237, 237, 610, 237, 241, 237, 242, 237, 572,
1370 611, 257, 639, 210, 211, 270, 197, 270, 212, 197,
1371 197, 197, 197, 197, 197, 478, 478, 478, 256, 573,
1372 618, 271, 513, 237, 237, 272, 660, 619, 272, 661,
1373 1562, 243, 247, 248, 197, 248, 247, 247, 247, 247,
1374 247, 247, 247, 249, 247, 247, 247, 257, 247, 251,
1376 247, 252, 247, 270, 197, 270, 270, 197, 270, 270,
1377 197, 270, 538, 270, 197, 270, 284, 197, 284, 271,
1378 482, 482, 271, 482, 527, 273, 539, 247, 247, 273,
1379 521, 528, 285, 1563, 1208, 253, 481, 481, 254, 481,
1380 481, 478, 478, 478, 255, 247, 248, 197, 248, 247,
1381 247, 247, 247, 247, 247, 247, 249, 247, 247, 247,
1382 2407, 247, 251, 247, 252, 247, 284, 197, 284, 295,
1383 197, 295, 295, 197, 295, 1485, 295, 197, 295, 295,
1384 197, 295, 285, 482, 482, 296, 482, 482, 296, 1564,
1385 247, 247, 297, 547, 580, 297, 1566, 639, 253, 481,
1387 481, 254, 481, 481, 487, 581, 582, 255, 258, 259,
1388 197, 259, 258, 258, 258, 258, 258, 258, 258, 260,
1389 258, 258, 258, 654, 258, 262, 258, 263, 258, 197,
1390 197, 197, 197, 197, 197, 295, 197, 295, 604, 295,
1391 197, 295, 295, 197, 295, 298, 488, 482, 298, 605,
1392 482, 299, 489, 258, 258, 299, 490, 583, 300, 699,
1393 1570, 491, 264, 481, 265, 620, 481, 266, 478, 478,
1394 478, 631, 267, 268, 258, 259, 197, 259, 258, 258,
1395 258, 258, 258, 258, 258, 260, 258, 258, 258, 1571,
1396 258, 262, 258, 263, 258, 295, 197, 295, 197, 197,
1398 197, 197, 197, 197, 647, 295, 197, 295, 295, 197,
1399 295, 300, 504, 482, 301, 482, 482, 301, 504, 258,
1400 258, 297, 593, 598, 297, 478, 478, 478, 264, 481,
1401 265, 481, 481, 266, 478, 478, 478, 612, 267, 268,
1402 274, 275, 197, 275, 274, 274, 274, 274, 274, 274,
1403 274, 276, 274, 274, 274, 513, 274, 278, 274, 279,
1404 274, 197, 197, 197, 197, 197, 197, 295, 197, 295,
1405 1572, 295, 197, 295, 295, 197, 295, 302, 681, 673,
1406 302, 654, 674, 300, 613, 274, 274, 300, 513, 1073,
1407 303, 682, 280, 478, 478, 478, 655, 281, 478, 478,
1409 478, 1074, 2407, 478, 478, 478, 282, 274, 275, 197,
1410 275, 274, 274, 274, 274, 274, 274, 274, 276, 274,
1411 274, 274, 1573, 274, 278, 274, 279, 274, 295, 197,
1412 295, 197, 197, 197, 197, 197, 197, 823, 295, 197,
1413 295, 295, 197, 295, 303, 673, 555, 304, 684, 556,
1414 304, 1574, 274, 274, 305, 560, 482, 305, 685, 280,
1415 687, 510, 1346, 674, 281, 478, 478, 478, 478, 478,
1416 478, 682, 481, 282, 286, 287, 197, 287, 286, 286,
1417 286, 286, 286, 286, 286, 288, 286, 286, 286, 500,
1418 286, 290, 286, 291, 286, 197, 197, 197, 197, 197,
1420 197, 295, 197, 295, 559, 295, 197, 295, 295, 197,
1421 295, 306, 482, 482, 306, 687, 1577, 303, 684, 286,
1422 286, 303, 1584, 1586, 307, 478, 478, 478, 481, 481,
1423 292, 478, 478, 478, 478, 478, 478, 823, 293, 286,
1424 287, 197, 287, 286, 286, 286, 286, 286, 286, 286,
1425 288, 286, 286, 286, 1484, 286, 290, 286, 291, 286,
1426 295, 197, 295, 320, 197, 320, 320, 197, 320, 1083,
1427 197, 197, 197, 197, 197, 197, 307, 482, 482, 321,
1428 734, 1074, 321, 735, 286, 286, 272, 1595, 1596, 272,
1429 478, 478, 478, 481, 481, 292, 478, 478, 478, 478,
1431 478, 478, 1597, 293, 308, 309, 197, 309, 308, 308,
1432 308, 308, 308, 308, 308, 310, 308, 308, 308, 1599,
1433 308, 312, 308, 313, 308, 320, 197, 320, 320, 197,
1434 320, 320, 197, 320, 1083, 320, 197, 320, 478, 478,
1435 478, 321, 482, 482, 321, 823, 1107, 322, 823, 308,
1436 308, 322, 314, 1605, 315, 478, 478, 478, 481, 481,
1437 316, 478, 478, 478, 825, 1205, 317, 1208, 1611, 318,
1438 308, 309, 197, 309, 308, 308, 308, 308, 308, 308,
1439 308, 310, 308, 308, 308, 1208, 308, 312, 308, 313,
1440 308, 338, 197, 338, 338, 197, 338, 354, 197, 354,
1442 1486, 354, 197, 354, 478, 478, 478, 339, 823, 953,
1443 339, 685, 1054, 355, 954, 308, 308, 355, 314, 689,
1444 315, 478, 478, 478, 729, 679, 316, 478, 478, 478,
1445 1604, 690, 317, 1612, 1615, 318, 323, 324, 197, 324,
1446 323, 323, 323, 323, 323, 323, 323, 325, 323, 323,
1447 323, 326, 323, 327, 323, 328, 323, 326, 326, 326,
1448 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1449 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
1450 326, 323, 323, 326, 329, 330, 331, 326, 326, 326,
1451 326, 326, 332, 326, 333, 326, 326, 326, 334, 326,
1453 335, 336, 326, 326, 326, 326, 326, 326, 340, 341,
1454 197, 341, 340, 340, 340, 340, 340, 340, 340, 342,
1455 340, 340, 340, 343, 340, 344, 340, 345, 340, 343,
1456 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1457 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
1458 343, 343, 343, 340, 340, 343, 346, 347, 348, 343,
1459 343, 343, 343, 343, 349, 343, 350, 343, 343, 343,
1460 351, 343, 343, 352, 343, 343, 343, 343, 343, 343,
1461 356, 357, 197, 357, 356, 356, 356, 356, 356, 356,
1462 356, 358, 356, 356, 356, 1616, 356, 360, 356, 361,
1464 356, 365, 197, 365, 365, 197, 365, 378, 197, 378,
1465 1523, 378, 197, 378, 1618, 482, 685, 366, 1524, 930,
1466 366, 1208, 625, 379, 1622, 356, 356, 379, 931, 731,
1467 362, 481, 478, 478, 478, 932, 363, 356, 357, 197,
1468 357, 356, 356, 356, 356, 356, 356, 356, 358, 356,
1469 356, 356, 1603, 356, 360, 356, 361, 356, 197, 197,
1470 197, 197, 197, 197, 378, 197, 378, 1528, 378, 197,
1471 378, 478, 478, 478, 272, 1529, 1624, 272, 1625, 689,
1472 379, 1626, 356, 356, 379, 679, 823, 362, 478, 478,
1473 478, 680, 1602, 363, 367, 368, 197, 368, 367, 367,
1475 367, 367, 367, 367, 367, 369, 367, 367, 367, 1630,
1476 367, 371, 367, 372, 367, 378, 197, 378, 378, 197,
1477 378, 390, 197, 390, 1636, 390, 197, 390, 197, 197,
1478 197, 380, 1637, 1638, 380, 482, 685, 391, 1639, 367,
1479 367, 391, 643, 373, 392, 478, 478, 478, 1640, 732,
1480 374, 481, 375, 478, 478, 478, 478, 478, 478, 376,
1481 367, 368, 197, 368, 367, 367, 367, 367, 367, 367,
1482 367, 369, 367, 367, 367, 1641, 367, 371, 367, 372,
1483 367, 197, 197, 197, 390, 197, 390, 390, 197, 390,
1484 1642, 390, 197, 390, 390, 197, 390, 392, 1643, 1644,
1486 391, 482, 1645, 391, 1651, 367, 367, 393, 652, 373,
1487 393, 478, 478, 478, 1652, 1653, 374, 481, 375, 478,
1488 478, 478, 478, 478, 478, 376, 381, 382, 197, 382,
1489 381, 381, 381, 381, 381, 381, 381, 383, 381, 381,
1490 381, 1658, 381, 385, 381, 386, 381, 404, 197, 404,
1491 404, 197, 404, 197, 197, 197, 1654, 197, 197, 197,
1492 404, 197, 404, 405, 1655, 1659, 405, 1656, 1660, 392,
1493 1664, 381, 381, 392, 1665, 1657, 405, 387, 478, 478,
1494 478, 478, 478, 478, 1667, 1668, 658, 658, 658, 1669,
1495 1670, 388, 381, 382, 197, 382, 381, 381, 381, 381,
1497 381, 381, 381, 383, 381, 381, 381, 1673, 381, 385,
1498 381, 386, 381, 404, 197, 404, 404, 197, 404, 404,
1499 197, 404, 1677, 416, 197, 416, 416, 197, 416, 405,
1500 1678, 1683, 406, 1684, 678, 406, 1685, 381, 381, 417,
1501 679, 689, 417, 387, 659, 1686, 690, 679, 658, 658,
1502 658, 1688, 827, 714, 840, 840, 840, 388, 394, 395,
1503 197, 395, 394, 394, 394, 394, 394, 394, 394, 396,
1504 394, 394, 394, 1693, 394, 398, 394, 399, 394, 428,
1505 197, 428, 428, 197, 428, 197, 197, 197, 1694, 197,
1506 197, 197, 428, 197, 428, 429, 1383, 1696, 429, 1679,
1508 1706, 392, 1384, 394, 394, 392, 1385, 1680, 429, 400,
1509 1386, 1709, 401, 857, 857, 857, 1710, 841, 1713, 840,
1510 840, 840, 1208, 402, 394, 395, 197, 395, 394, 394,
1511 394, 394, 394, 394, 394, 396, 394, 394, 394, 1716,
1512 394, 398, 394, 399, 394, 428, 197, 428, 428, 197,
1513 428, 428, 197, 428, 1681, 442, 197, 442, 442, 197,
1514 442, 429, 1682, 1208, 430, 1717, 1718, 430, 1702, 394,
1515 394, 443, 1719, 1720, 443, 400, 841, 1721, 401, 869,
1516 869, 869, 910, 870, 1722, 1723, 871, 1724, 1725, 402,
1517 407, 408, 197, 408, 407, 407, 407, 407, 407, 407,
1519 407, 409, 407, 407, 407, 1701, 407, 411, 407, 412,
1520 407, 197, 197, 197, 197, 197, 197, 442, 197, 442,
1521 1726, 442, 197, 442, 442, 197, 442, 444, 1728, 1729,
1522 444, 1730, 1731, 443, 1732, 407, 407, 443, 1733, 1734,
1523 445, 413, 840, 840, 840, 1735, 414, 407, 408, 197,
1524 408, 407, 407, 407, 407, 407, 407, 407, 409, 407,
1525 407, 407, 1736, 407, 411, 407, 412, 407, 442, 197,
1526 442, 454, 197, 454, 454, 197, 454, 1737, 464, 197,
1527 464, 464, 197, 464, 445, 1738, 1739, 455, 1742, 1743,
1528 455, 1744, 407, 407, 465, 1745, 1749, 465, 413, 857,
1530 857, 857, 1750, 414, 418, 419, 197, 419, 418, 418,
1531 418, 418, 418, 418, 418, 420, 418, 418, 418, 1751,
1532 418, 422, 418, 423, 418, 197, 197, 197, 197, 197,
1533 197, 464, 197, 464, 1752, 464, 197, 464, 464, 197,
1534 464, 272, 1387, 1753, 272, 1754, 1755, 465, 1388, 418,
1535 418, 465, 1389, 1756, 466, 424, 1390, 1758, 425, 879,
1536 879, 879, 910, 880, 1770, 1780, 881, 1781, 1782, 426,
1537 418, 419, 197, 419, 418, 418, 418, 418, 418, 418,
1538 418, 420, 418, 418, 418, 1783, 418, 422, 418, 423,
1539 418, 464, 197, 464, 476, 197, 476, 476, 197, 476,
1541 696, 696, 696, 1787, 836, 836, 836, 466, 1788, 1789,
1542 477, 1790, 1791, 477, 1792, 418, 418, 697, 1793, 552,
1543 552, 424, 838, 1794, 425, 857, 857, 857, 1208, 553,
1544 558, 1220, 1220, 1220, 1795, 426, 431, 432, 197, 432,
1545 431, 431, 431, 431, 431, 431, 431, 433, 431, 431,
1546 431, 1208, 431, 435, 431, 436, 431, 554, 554, 704,
1547 704, 704, 1796, 555, 1797, 1777, 556, 720, 720, 720,
1548 1799, 513, 557, 1800, 1801, 507, 705, 736, 736, 736,
1549 1802, 431, 431, 1776, 721, 1224, 1224, 1224, 1803, 437,
1550 1806, 438, 1807, 439, 737, 1222, 1222, 1222, 1227, 1227,
1552 1227, 440, 431, 432, 197, 432, 431, 431, 431, 431,
1553 431, 431, 431, 433, 431, 431, 431, 1808, 431, 435,
1554 431, 436, 431, 744, 744, 744, 747, 747, 747, 761,
1555 761, 761, 769, 769, 769, 774, 774, 774, 1811, 1812,
1556 745, 1223, 1815, 748, 1819, 1820, 762, 431, 431, 770,
1557 1821, 1822, 775, 1823, 1826, 437, 1827, 438, 1844, 439,
1558 1235, 1235, 1235, 1258, 1258, 1258, 823, 440, 446, 447,
1559 197, 447, 446, 446, 446, 446, 446, 446, 446, 448,
1560 446, 446, 446, 1208, 446, 450, 446, 451, 446, 794,
1561 794, 794, 813, 813, 813, 817, 817, 817, 864, 864,
1563 864, 836, 836, 836, 1845, 1841, 795, 1846, 1855, 814,
1564 1856, 1857, 818, 446, 446, 1208, 866, 1858, 1859, 838,
1565 902, 902, 902, 1860, 903, 1843, 1861, 904, 920, 920,
1566 920, 1862, 921, 1863, 1864, 922, 452, 446, 447, 197,
1567 447, 446, 446, 446, 446, 446, 446, 446, 448, 446,
1568 446, 446, 1842, 446, 450, 446, 451, 446, 839, 696,
1569 696, 696, 864, 864, 864, 1865, 874, 874, 874, 874,
1570 874, 874, 704, 704, 704, 1849, 697, 882, 882, 882,
1571 866, 1867, 446, 446, 876, 1850, 1868, 876, 1851, 705,
1572 1874, 933, 933, 933, 883, 934, 1875, 1876, 935, 1269,
1574 1269, 1269, 1270, 1270, 1270, 452, 456, 457, 197, 457,
1575 456, 456, 456, 456, 456, 456, 456, 458, 456, 456,
1576 456, 867, 456, 460, 456, 461, 456, 885, 885, 885,
1577 1880, 1888, 877, 1889, 1890, 890, 890, 890, 890, 890,
1578 890, 898, 898, 898, 886, 1220, 1220, 1220, 1223, 823,
1579 1912, 456, 456, 892, 1913, 1917, 892, 1918, 1921, 900,
1580 1922, 1925, 462, 456, 457, 197, 457, 456, 456, 456,
1581 456, 456, 456, 456, 458, 456, 456, 456, 1908, 456,
1582 460, 456, 461, 456, 1926, 893, 898, 898, 898, 720,
1583 720, 720, 906, 906, 906, 736, 736, 736, 906, 906,
1585 906, 744, 744, 744, 900, 1927, 721, 1928, 456, 456,
1586 908, 1929, 737, 1222, 1222, 1222, 908, 1930, 745, 462,
1587 467, 468, 197, 468, 467, 467, 467, 467, 467, 467,
1588 467, 469, 467, 467, 467, 909, 467, 471, 467, 472,
1589 467, 925, 925, 925, 925, 925, 925, 1931, 1852, 901,
1590 747, 747, 747, 937, 937, 937, 1932, 938, 1853, 927,
1591 939, 1854, 927, 1933, 1919, 467, 467, 748, 940, 940,
1592 940, 956, 956, 956, 1923, 957, 473, 1920, 958, 968,
1593 968, 968, 1942, 969, 1943, 941, 970, 1924, 474, 467,
1594 468, 197, 468, 467, 467, 467, 467, 467, 467, 467,
1596 469, 467, 467, 467, 928, 467, 471, 467, 472, 467,
1597 948, 948, 948, 948, 948, 948, 761, 761, 761, 959,
1598 959, 959, 963, 963, 963, 963, 963, 963, 950, 1944,
1599 1945, 950, 1952, 762, 467, 467, 960, 769, 769, 769,
1600 965, 1955, 1208, 965, 1962, 473, 971, 971, 971, 1963,
1601 1964, 971, 971, 971, 770, 1965, 1966, 474, 482, 1967,
1602 774, 774, 774, 1973, 973, 497, 982, 982, 982, 973,
1603 951, 982, 982, 982, 481, 498, 966, 775, 976, 976,
1604 976, 1974, 977, 1909, 984, 978, 1224, 1224, 1224, 984,
1605 986, 986, 986, 1227, 1227, 1227, 988, 988, 988, 991,
1607 991, 991, 499, 500, 501, 1208, 1975, 987, 823, 502,
1608 503, 974, 504, 989, 1208, 1976, 505, 993, 506, 1977,
1609 507, 2407, 2407, 2407, 1978, 1979, 985, 991, 991, 991,
1610 996, 996, 996, 2407, 2407, 2407, 1980, 1981, 2407, 1000,
1611 1000, 1000, 2407, 2407, 2407, 993, 1910, 997, 1982, 1970,
1612 2407, 1003, 1003, 1003, 1985, 1969, 1001, 1986, 1987, 2407,
1613 1988, 1989, 1003, 1003, 1003, 794, 794, 794, 1990, 1005,
1614 1008, 1008, 1008, 1991, 1009, 1992, 1997, 1010, 1998, 990,
1615 1005, 1999, 795, 998, 1011, 1011, 1011, 994, 1011, 1011,
1616 1011, 1015, 1015, 1015, 2407, 2407, 2407, 999, 2000, 1006,
1618 1002, 2001, 1013, 1019, 1019, 1019, 1013, 2002, 1016, 2006,
1619 2015, 2407, 1021, 1021, 1021, 1021, 1021, 1021, 2016, 2017,
1620 1020, 1029, 1029, 1029, 1029, 1029, 1029, 1035, 1035, 1035,
1621 1023, 2007, 2018, 1023, 1035, 1035, 1035, 2019, 2020, 1031,
1622 823, 2008, 1031, 1014, 1017, 1037, 813, 813, 813, 1039,
1623 1039, 1039, 1037, 1040, 2031, 2032, 1041, 2033, 1018, 1042,
1624 1042, 1042, 2034, 814, 1042, 1042, 1042, 817, 817, 817,
1625 2035, 1046, 1046, 1046, 2023, 1047, 2036, 1044, 1048, 869,
1626 869, 869, 1044, 870, 818, 1024, 871, 1032, 1050, 1050,
1627 1050, 1050, 1050, 1050, 836, 836, 836, 1038, 836, 836,
1629 836, 836, 836, 836, 2037, 2038, 1052, 1898, 2009, 1052,
1630 2042, 2043, 838, 1085, 1085, 1085, 838, 1899, 2010, 838,
1631 864, 864, 864, 1900, 1045, 864, 864, 864, 2044, 2045,
1632 1086, 864, 864, 864, 1088, 1088, 1088, 1901, 866, 2407,
1633 2407, 2407, 2011, 866, 874, 874, 874, 1902, 1062, 866,
1634 2013, 1089, 2012, 1903, 1053, 2046, 2407, 874, 874, 874,
1635 2014, 2047, 876, 874, 874, 874, 879, 879, 879, 2049,
1636 880, 2050, 2051, 881, 2054, 876, 882, 882, 882, 2059,
1637 1087, 876, 1094, 1094, 1094, 2060, 1095, 2061, 2062, 1096,
1638 1097, 1097, 1097, 883, 885, 885, 885, 2063, 2064, 1090,
1640 2065, 1099, 1099, 1099, 2066, 1100, 2067, 1098, 1101, 2068,
1641 1092, 886, 1103, 1103, 1103, 890, 890, 890, 890, 890,
1642 890, 890, 890, 890, 1109, 1109, 1109, 2069, 2070, 1104,
1643 898, 898, 898, 892, 823, 2077, 892, 2078, 2079, 892,
1644 2080, 1110, 898, 898, 898, 898, 898, 898, 900, 902,
1645 902, 902, 2081, 903, 2082, 2083, 904, 906, 906, 906,
1646 900, 2084, 2085, 900, 906, 906, 906, 1114, 1114, 1114,
1647 1125, 1125, 1125, 2086, 2087, 908, 2071, 920, 920, 920,
1648 1106, 921, 908, 2088, 922, 1115, 2089, 1126, 925, 925,
1649 925, 2090, 1112, 925, 925, 925, 925, 925, 925, 2093,
1651 933, 933, 933, 2094, 934, 2095, 927, 935, 1134, 1134,
1652 1134, 927, 2099, 2106, 927, 937, 937, 937, 2107, 938,
1653 2108, 2109, 939, 2110, 2111, 1135, 940, 940, 940, 1136,
1654 1136, 1136, 2112, 1137, 2113, 2114, 1138, 948, 948, 948,
1655 948, 948, 948, 941, 948, 948, 948, 956, 956, 956,
1656 2115, 957, 2116, 2117, 958, 950, 2125, 2120, 950, 2126,
1657 1129, 2120, 950, 959, 959, 959, 1150, 1150, 1150, 2127,
1658 1151, 2121, 2123, 1152, 963, 963, 963, 963, 963, 963,
1659 960, 963, 963, 963, 968, 968, 968, 2128, 969, 2129,
1660 2130, 970, 965, 2131, 2132, 965, 971, 971, 971, 965,
1662 971, 971, 971, 971, 971, 971, 982, 982, 982, 823,
1663 1145, 982, 982, 982, 973, 976, 976, 976, 973, 977,
1664 2133, 973, 978, 2134, 984, 982, 982, 982, 2135, 984,
1665 2136, 2140, 1155, 986, 986, 986, 2138, 1163, 1163, 1163,
1666 2145, 1164, 2137, 984, 1165, 988, 988, 988, 2139, 2146,
1667 987, 1166, 1166, 1166, 2118, 1167, 2147, 2148, 1168, 991,
1668 991, 991, 989, 991, 991, 991, 996, 996, 996, 1157,
1669 991, 991, 991, 1000, 1000, 1000, 823, 993, 1172, 1172,
1670 1172, 993, 1173, 997, 1162, 1174, 1208, 1209, 993, 2151,
1671 1001, 1177, 1177, 1177, 2151, 1178, 2154, 2120, 1179, 1003,
1673 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1008, 1008,
1674 1008, 2121, 1009, 2155, 2156, 1010, 2149, 1005, 2157, 2166,
1675 1005, 2169, 2174, 1005, 1011, 1011, 1011, 1011, 1011, 1011,
1676 1011, 1011, 1011, 1015, 1015, 1015, 1170, 1184, 1184, 1184,
1677 2120, 1185, 1013, 2177, 1186, 1013, 2141, 2164, 1013, 2143,
1678 1016, 2123, 1019, 1019, 1019, 1189, 1189, 1189, 2142, 1190,
1679 2167, 2144, 1191, 1021, 1021, 1021, 2165, 2151, 1181, 1020,
1680 1021, 1021, 1021, 1021, 1021, 1021, 1194, 1194, 1194, 2168,
1681 2179, 1023, 1029, 1029, 1029, 1029, 1029, 1029, 1023, 1183,
1682 2151, 1023, 2172, 1195, 1029, 1029, 1029, 1035, 1035, 1035,
1684 1031, 2180, 2175, 1031, 1035, 1035, 1035, 1035, 1035, 1035,
1685 2181, 2173, 1031, 2182, 2183, 1037, 1039, 1039, 1039, 2193,
1686 1040, 2176, 1037, 1041, 2194, 1037, 1042, 1042, 1042, 1042,
1687 1042, 1042, 2195, 2196, 1192, 1042, 1042, 1042, 1046, 1046,
1688 1046, 2197, 1047, 2198, 1044, 1048, 2202, 1044, 1050, 1050,
1689 1050, 2203, 2204, 1044, 1198, 1050, 1050, 1050, 2205, 2206,
1690 1201, 1050, 1050, 1050, 2207, 2209, 1052, 1207, 1207, 1207,
1691 836, 836, 836, 1052, 1085, 1085, 1085, 2210, 2211, 1052,
1692 1238, 1238, 1238, 2216, 1239, 1208, 1209, 1240, 838, 2217,
1693 2218, 1086, 2212, 2219, 1202, 864, 864, 864, 1088, 1088,
1695 1088, 1242, 1242, 1242, 2213, 1243, 2220, 2214, 1244, 874,
1696 874, 874, 2221, 866, 2222, 1089, 1094, 1094, 1094, 2215,
1697 1095, 1204, 2223, 1096, 1097, 1097, 1097, 876, 2224, 1249,
1698 1249, 1249, 2225, 1250, 2226, 1214, 1251, 2227, 1099, 1099,
1699 1099, 1098, 1100, 2229, 2230, 1101, 1103, 1103, 1103, 1253,
1700 1253, 1253, 1241, 1254, 2231, 2232, 1255, 2233, 1247, 890,
1701 890, 890, 2234, 1104, 1109, 1109, 1109, 1260, 1260, 1260,
1702 2235, 1261, 823, 2236, 1262, 2237, 2238, 892, 1263, 1263,
1703 1263, 1110, 898, 898, 898, 1114, 1114, 1114, 1125, 1125,
1704 1125, 2239, 1276, 1276, 1276, 1264, 1277, 2228, 2240, 1278,
1706 900, 2241, 2242, 1115, 2243, 1126, 1279, 1279, 1279, 1257,
1707 1281, 1281, 1281, 2244, 925, 925, 925, 1286, 1286, 1286,
1708 1134, 1134, 1134, 1280, 1293, 1293, 1293, 1282, 1222, 1222,
1709 1222, 1265, 927, 2245, 1287, 2246, 823, 1135, 1290, 1290,
1710 1290, 1294, 1291, 2248, 2249, 1292, 1136, 1136, 1136, 2250,
1711 1137, 2251, 2252, 1138, 2253, 2247, 1283, 948, 948, 948,
1712 1302, 1302, 1302, 1150, 1150, 1150, 2254, 1151, 2255, 2256,
1713 1152, 1306, 1306, 1306, 1321, 950, 2257, 1303, 2258, 1284,
1714 963, 963, 963, 971, 971, 971, 2259, 2260, 1307, 1315,
1715 1315, 1315, 2261, 982, 982, 982, 2262, 2263, 965, 2265,
1717 823, 973, 2266, 1163, 1163, 1163, 1316, 1164, 2267, 2268,
1718 1165, 984, 1166, 1166, 1166, 2269, 1167, 2270, 2271, 1168,
1719 2264, 1300, 991, 991, 991, 1172, 1172, 1172, 2272, 1173,
1720 2273, 2274, 1174, 2275, 2276, 1317, 2277, 1177, 1177, 1177,
1721 993, 1178, 2278, 1309, 1179, 1003, 1003, 1003, 1311, 1318,
1722 1011, 1011, 1011, 1184, 1184, 1184, 2279, 1185, 2280, 2282,
1723 1186, 2283, 2284, 1005, 823, 1189, 1189, 1189, 1013, 1190,
1724 2281, 2285, 1191, 1021, 1021, 1021, 1194, 1194, 1194, 1332,
1725 1332, 1332, 2286, 1333, 2287, 2288, 1334, 1320, 1363, 1363,
1726 1363, 1023, 2289, 1195, 1029, 1029, 1029, 1339, 1339, 1339,
1728 1035, 1035, 1035, 2290, 2291, 1325, 1327, 1042, 1042, 1042,
1729 2292, 2293, 1031, 2295, 1340, 1343, 1343, 1343, 1037, 2296,
1730 1330, 1050, 1050, 1050, 2297, 1044, 1207, 1207, 1207, 836,
1731 836, 836, 1344, 1365, 1365, 1365, 1235, 1235, 1235, 1052,
1732 1372, 1372, 1372, 1337, 1208, 2298, 2299, 838, 1238, 1238,
1733 1238, 1364, 1239, 2300, 823, 1240, 864, 864, 864, 1342,
1734 1242, 1242, 1242, 2301, 1243, 2302, 1341, 1244, 2294, 874,
1735 874, 874, 2304, 2305, 866, 2306, 2307, 1347, 2308, 1366,
1736 2309, 1352, 1345, 890, 890, 890, 1373, 876, 1249, 1249,
1737 1249, 2310, 1250, 1348, 2311, 1251, 1253, 1253, 1253, 2314,
1739 1254, 892, 2315, 1255, 1258, 1258, 1258, 1260, 1260, 1260,
1740 2316, 1261, 2317, 2318, 1262, 1263, 1263, 1263, 2319, 823,
1741 1377, 2330, 1374, 1391, 1391, 1391, 823, 1392, 823, 823,
1742 1393, 1542, 1264, 898, 898, 898, 1269, 1269, 1269, 1270,
1743 1270, 1270, 823, 1381, 1398, 1398, 1398, 1398, 1398, 1398,
1744 823, 900, 1363, 1363, 1363, 1276, 1276, 1276, 823, 1277,
1745 2346, 2354, 1278, 1279, 1279, 1279, 1402, 1402, 1402, 2326,
1746 1403, 823, 823, 1404, 1281, 1281, 1281, 1409, 1409, 1409,
1747 1280, 1405, 1405, 1405, 1394, 1406, 2320, 823, 1407, 2322,
1748 823, 1282, 1286, 1286, 1286, 1410, 1412, 1412, 1412, 823,
1750 1413, 2327, 2348, 1414, 1415, 1415, 1415, 1399, 2321, 1287,
1751 1364, 823, 1290, 1290, 1290, 1399, 1291, 823, 2323, 1292,
1752 823, 1416, 1293, 1293, 1293, 1418, 1418, 1418, 2366, 1419,
1753 823, 2367, 1420, 1421, 1421, 1421, 1426, 1426, 1426, 1294,
1754 948, 948, 948, 1302, 1302, 1302, 2324, 1430, 1430, 1430,
1755 1422, 1431, 2340, 1427, 1432, 1433, 1433, 1433, 950, 1541,
1756 1303, 1306, 1306, 1306, 1436, 1436, 1436, 2325, 1437, 2331,
1757 823, 1438, 1434, 1440, 1440, 1440, 2334, 823, 1307, 971,
1758 971, 971, 1315, 1315, 1315, 1447, 1447, 1447, 2332, 1448,
1759 2333, 1441, 1449, 1451, 1451, 1451, 823, 973, 823, 1316,
1761 991, 991, 991, 823, 823, 1428, 1456, 1456, 1456, 1540,
1762 2338, 1452, 1458, 1458, 1458, 2407, 2407, 2407, 993, 1003,
1763 1003, 1003, 823, 1457, 1011, 1011, 1011, 2328, 823, 1459,
1764 1443, 823, 2407, 1464, 1464, 1464, 823, 1005, 1466, 1466,
1765 1466, 2336, 1013, 1021, 1021, 1021, 1029, 1029, 1029, 2335,
1766 1465, 1454, 1332, 1332, 1332, 1467, 1333, 2341, 2329, 1334,
1767 1539, 1023, 823, 2404, 1031, 1339, 1339, 1339, 2339, 823,
1768 1463, 823, 1474, 1474, 1474, 2349, 1475, 823, 1460, 1476,
1769 2362, 2342, 1340, 1538, 823, 1461, 1035, 1035, 1035, 823,
1770 1042, 1042, 1042, 1343, 1343, 1343, 823, 1472, 1479, 1479,
1772 1479, 1537, 1480, 2347, 1037, 1481, 2337, 1468, 1044, 823,
1773 1344, 1482, 1482, 1482, 1488, 1488, 1488, 836, 836, 836,
1774 1495, 1495, 1495, 1500, 1500, 1500, 1363, 1363, 1363, 1483,
1775 2352, 1489, 1501, 1501, 1501, 838, 1365, 1365, 1365, 1503,
1776 1503, 1503, 2360, 823, 1477, 1478, 1504, 1504, 1504, 1372,
1777 1372, 1372, 864, 864, 864, 1512, 1512, 1512, 1515, 1515,
1778 1515, 890, 890, 890, 1519, 1519, 1519, 1391, 1391, 1391,
1779 866, 1392, 1535, 1513, 1393, 1516, 823, 1490, 1534, 892,
1780 2344, 1520, 898, 898, 898, 823, 1532, 1532, 1532, 1398,
1781 1398, 1398, 1536, 1536, 1536, 823, 823, 1402, 1402, 1402,
1783 900, 1403, 1509, 1533, 1404, 1405, 1405, 1405, 823, 1406,
1784 823, 823, 1407, 1409, 1409, 1409, 1412, 1412, 1412, 1518,
1785 1413, 2343, 2345, 1414, 1415, 1415, 1415, 2380, 1531, 823,
1786 2350, 1410, 1543, 1543, 1543, 823, 1544, 823, 2355, 1545,
1787 823, 1416, 1418, 1418, 1418, 2351, 1419, 823, 2386, 1420,
1788 1421, 1421, 1421, 1547, 1547, 1547, 2356, 1548, 823, 823,
1789 1549, 1550, 1550, 1550, 1426, 1426, 1426, 1422, 1554, 1554,
1790 1554, 2353, 1555, 823, 2357, 1556, 823, 2364, 1551, 2363,
1791 2361, 1427, 948, 948, 948, 1430, 1430, 1430, 823, 1431,
1792 823, 823, 1432, 1433, 1433, 1433, 2365, 1559, 1559, 1559,
1794 950, 1560, 823, 2368, 1561, 1436, 1436, 1436, 2358, 1437,
1795 1434, 2359, 1438, 1440, 1440, 1440, 971, 971, 971, 1567,
1796 1567, 1567, 1447, 1447, 1447, 823, 1448, 823, 2370, 1449,
1797 823, 1441, 823, 1557, 973, 2369, 1568, 1451, 1451, 1451,
1798 1575, 1575, 1575, 1456, 1456, 1456, 1578, 1578, 1578, 2400,
1799 1579, 1530, 823, 1580, 2372, 1452, 1527, 823, 1576, 2373,
1800 1457, 1458, 1458, 1458, 2371, 1569, 1581, 1581, 1581, 1526,
1801 1582, 1525, 823, 1583, 1003, 1003, 1003, 2378, 1459, 1565,
1802 1011, 1011, 1011, 1464, 1464, 1464, 1588, 1588, 1588, 2384,
1803 1589, 2376, 1005, 1590, 1466, 1466, 1466, 2374, 1013, 2381,
1805 1465, 1591, 1591, 1591, 823, 1592, 823, 823, 1593, 2385,
1806 823, 1467, 1021, 1021, 1021, 1029, 1029, 1029, 1474, 1474,
1807 1474, 823, 1475, 2375, 823, 1476, 1035, 1035, 1035, 1587,
1808 1023, 823, 823, 1031, 1042, 1042, 1042, 1522, 2377, 1585,
1809 823, 1479, 1479, 1479, 1037, 1480, 823, 2392, 1481, 1482,
1810 1482, 1482, 1044, 1488, 1488, 1488, 1606, 1606, 1606, 1521,
1811 1607, 2387, 1517, 1608, 836, 836, 836, 1483, 2393, 2379,
1812 1489, 1610, 1610, 1610, 1514, 1511, 1594, 1600, 1510, 1598,
1813 1508, 2388, 838, 1613, 1613, 1613, 2382, 1601, 1495, 1495,
1814 1495, 1614, 1614, 1614, 1617, 1617, 1617, 1500, 1500, 1500,
1816 1501, 1501, 1501, 1503, 1503, 1503, 1504, 1504, 1504, 1619,
1817 1619, 1619, 1620, 1620, 1620, 1621, 1621, 1621, 864, 864,
1818 864, 1512, 1512, 1512, 1515, 1515, 1515, 1609, 1627, 1627,
1819 1627, 2396, 1628, 823, 1507, 1629, 866, 823, 1506, 1513,
1820 823, 1516, 1631, 1631, 1631, 1519, 1519, 1519, 1633, 1633,
1821 1633, 1505, 1634, 823, 1502, 1635, 898, 898, 898, 823,
1822 1632, 1499, 1520, 1532, 1532, 1532, 1647, 1647, 1647, 1623,
1823 1648, 823, 2389, 1649, 900, 1650, 1650, 1650, 2404, 2383,
1824 1533, 1536, 1536, 1536, 1543, 1543, 1543, 823, 1544, 823,
1825 1498, 1545, 1547, 1547, 1547, 1497, 1548, 1496, 2390, 1549,
1827 1550, 1550, 1550, 2394, 2391, 1646, 1661, 1661, 1661, 1494,
1828 1662, 2397, 823, 1663, 1554, 1554, 1554, 1551, 1555, 2395,
1829 823, 1556, 948, 948, 948, 1559, 1559, 1559, 823, 1560,
1830 823, 823, 1561, 1671, 1671, 1671, 1567, 1567, 1567, 823,
1831 950, 1674, 1674, 1674, 2398, 1675, 1493, 1492, 1676, 1491,
1832 1487, 1672, 1473, 1568, 1575, 1575, 1575, 1578, 1578, 1578,
1833 2399, 1579, 2402, 2403, 1580, 1471, 1581, 1581, 1581, 1470,
1834 1582, 1469, 1576, 1583, 1003, 1003, 1003, 1011, 1011, 1011,
1835 1588, 1588, 1588, 1462, 1589, 1666, 2401, 1590, 1455, 1591,
1836 1591, 1591, 1005, 1592, 1453, 1013, 1593, 1021, 1021, 1021,
1838 1691, 1691, 1691, 1029, 1029, 1029, 1035, 1035, 1035, 1698,
1839 1698, 1698, 1700, 1700, 1700, 1023, 1450, 1692, 1703, 1703,
1840 1703, 1031, 1446, 1445, 1037, 1687, 1444, 1699, 1442, 1439,
1841 823, 1435, 1429, 1690, 1606, 1606, 1606, 1425, 1607, 1424,
1842 1423, 1608, 1689, 836, 836, 836, 1610, 1610, 1610, 1705,
1843 1705, 1705, 1613, 1613, 1613, 1614, 1614, 1614, 1707, 1707,
1844 1707, 838, 1708, 1708, 1708, 1697, 1417, 1695, 1617, 1617,
1845 1617, 1619, 1619, 1619, 1620, 1620, 1620, 1621, 1621, 1621,
1846 1711, 1711, 1711, 1714, 1714, 1714, 1627, 1627, 1627, 1411,
1847 1628, 1408, 1401, 1629, 1631, 1631, 1631, 1400, 1712, 1397,
1849 1715, 1704, 1633, 1633, 1633, 1396, 1634, 1395, 1382, 1635,
1850 1380, 1379, 1632, 898, 898, 898, 1647, 1647, 1647, 1378,
1851 1648, 1376, 1375, 1649, 1650, 1650, 1650, 1371, 1661, 1661,
1852 1661, 900, 1662, 1370, 1369, 1663, 1740, 1740, 1740, 1671,
1853 1671, 1671, 1746, 1746, 1746, 1674, 1674, 1674, 1368, 1675,
1854 1367, 1362, 1676, 1361, 1741, 1360, 1359, 1672, 1358, 1747,
1855 1757, 1757, 1757, 1759, 1759, 1759, 1761, 1761, 1761, 1011,
1856 1011, 1011, 1357, 1727, 1021, 1021, 1021, 1691, 1691, 1691,
1857 1356, 1760, 1355, 1762, 1768, 1768, 1768, 1013, 1748, 1765,
1858 1765, 1765, 1023, 1766, 1692, 1354, 1767, 1771, 1771, 1771,
1860 1353, 1769, 1773, 1773, 1773, 1035, 1035, 1035, 1698, 1698,
1861 1698, 1700, 1700, 1700, 1351, 1772, 1703, 1703, 1703, 1778,
1862 1778, 1778, 1350, 1037, 1349, 1208, 1699, 1338, 1763, 823,
1863 1705, 1705, 1705, 1336, 1764, 1335, 1331, 1779, 1707, 1707,
1864 1707, 1708, 1708, 1708, 1711, 1711, 1711, 1714, 1714, 1714,
1865 1784, 1784, 1784, 1329, 1785, 1328, 1326, 1786, 898, 898,
1866 898, 1324, 1712, 1323, 1715, 1804, 1804, 1804, 1322, 1319,
1867 1774, 1314, 1775, 1809, 1809, 1809, 900, 1740, 1740, 1740,
1868 1313, 1312, 1805, 1813, 1813, 1813, 1746, 1746, 1746, 1310,
1869 1810, 1308, 1816, 1816, 1816, 1741, 1817, 1305, 1304, 1818,
1871 1814, 1301, 1299, 1747, 1824, 1824, 1824, 1757, 1757, 1757,
1872 1759, 1759, 1759, 1761, 1761, 1761, 1298, 1798, 1828, 1828,
1873 1828, 1825, 1829, 1297, 1296, 1830, 1295, 1289, 1760, 1288,
1874 1762, 1831, 1831, 1831, 1021, 1021, 1021, 1765, 1765, 1765,
1875 1285, 1766, 1275, 1274, 1767, 1768, 1768, 1768, 1273, 1832,
1876 1272, 1271, 1023, 1834, 1834, 1834, 1268, 1835, 1267, 1266,
1877 1836, 1259, 1769, 1837, 1837, 1837, 1771, 1771, 1771, 1773,
1878 1773, 1773, 1839, 1839, 1839, 1778, 1778, 1778, 1256, 1252,
1879 1838, 1847, 1847, 1847, 1772, 1784, 1784, 1784, 1248, 1785,
1880 1840, 1246, 1786, 1779, 898, 898, 898, 1245, 1848, 1237,
1882 1833, 1869, 1869, 1869, 1804, 1804, 1804, 1871, 1871, 1871,
1883 1236, 1872, 900, 1234, 1873, 1809, 1809, 1809, 1870, 1233,
1884 1232, 1805, 1877, 1877, 1877, 1231, 1878, 1230, 1229, 1879,
1885 1228, 1226, 1810, 1881, 1881, 1881, 1225, 1813, 1813, 1813,
1886 1883, 1883, 1883, 1221, 1884, 1219, 1218, 1885, 1217, 1216,
1887 1882, 1215, 1213, 1866, 1814, 1886, 1886, 1886, 1816, 1816,
1888 1816, 1212, 1817, 1211, 1210, 1818, 1824, 1824, 1824, 1891,
1889 1891, 1891, 1887, 1892, 1203, 1200, 1893, 1894, 1894, 1894,
1890 1896, 1896, 1896, 1825, 1828, 1828, 1828, 1199, 1829, 1197,
1891 1196, 1830, 1193, 1188, 1895, 1187, 1182, 1897, 1831, 1831,
1893 1831, 1021, 1021, 1021, 1834, 1834, 1834, 1180, 1835, 1176,
1894 1175, 1836, 1837, 1837, 1837, 1171, 1832, 1169, 1161, 1023,
1895 1905, 1905, 1905, 1160, 1906, 1159, 1158, 1907, 1156, 1838,
1896 1839, 1839, 1839, 1911, 1911, 1911, 1847, 1847, 1847, 1914,
1897 1914, 1914, 1154, 1915, 1153, 1149, 1916, 1148, 1840, 898,
1898 898, 898, 1147, 1848, 1935, 1935, 1935, 1936, 1936, 1936,
1899 1869, 1869, 1869, 1911, 1911, 1911, 1904, 900, 1939, 1939,
1900 1939, 1146, 1940, 1144, 1937, 1941, 1143, 1870, 1871, 1871,
1901 1871, 1142, 1872, 1141, 1140, 1873, 1877, 1877, 1877, 1139,
1902 1878, 1133, 1132, 1879, 1881, 1881, 1881, 1946, 1946, 1946,
1904 1934, 1947, 1131, 1938, 1948, 1883, 1883, 1883, 1130, 1884,
1905 1128, 1882, 1885, 1886, 1886, 1886, 1949, 1949, 1949, 1127,
1906 1950, 1124, 1123, 1951, 1953, 1953, 1953, 1891, 1891, 1891,
1907 1887, 1892, 1122, 1121, 1893, 1894, 1894, 1894, 1956, 1956,
1908 1956, 1954, 1957, 1120, 1119, 1958, 1896, 1896, 1896, 1959,
1909 1959, 1959, 1895, 1960, 1118, 1117, 1961, 1021, 1021, 1021,
1910 1905, 1905, 1905, 1897, 1906, 1116, 1113, 1907, 1971, 1971,
1911 1971, 1111, 1914, 1914, 1914, 1023, 1915, 1108, 1105, 1916,
1912 1983, 1983, 1983, 1102, 1093, 1972, 1208, 898, 898, 898,
1913 1935, 1935, 1935, 1936, 1936, 1936, 1091, 1984, 1084, 1994,
1915 1994, 1994, 1082, 1995, 1081, 900, 1996, 1080, 1968, 1079,
1916 1937, 1939, 1939, 1939, 1078, 1940, 1077, 1076, 1941, 1946,
1917 1946, 1946, 1075, 1947, 1072, 1071, 1948, 1949, 1949, 1949,
1918 1070, 1950, 1069, 1068, 1951, 1067, 1993, 1953, 1953, 1953,
1919 2003, 2003, 2003, 1066, 2004, 1065, 1064, 2005, 1956, 1956,
1920 1956, 1063, 1957, 1061, 1954, 1958, 1959, 1959, 1959, 1060,
1921 1960, 1059, 1058, 1961, 2021, 2021, 2021, 2024, 2024, 2024,
1922 1971, 1971, 1971, 2026, 2026, 2026, 1057, 2027, 1056, 1055,
1923 2028, 823, 2022, 1049, 2025, 1208, 1034, 1972, 1208, 1033,
1924 1028, 1208, 2029, 2029, 2029, 2030, 2030, 2030, 1983, 1983,
1926 1983, 2039, 2039, 2039, 1027, 2040, 1026, 1025, 2041, 898,
1927 898, 898, 1994, 1994, 1994, 1984, 1995, 1007, 995, 1996,
1928 2052, 2052, 2052, 2055, 2055, 2055, 981, 900, 2003, 2003,
1929 2003, 980, 2004, 979, 975, 2005, 967, 2053, 962, 961,
1930 2056, 2057, 2057, 2057, 2021, 2021, 2021, 2024, 2024, 2024,
1931 2072, 2072, 2072, 955, 2073, 952, 947, 2074, 2058, 2026,
1932 2026, 2026, 2022, 2027, 2025, 1208, 2028, 946, 1208, 2029,
1933 2029, 2029, 945, 944, 2048, 943, 942, 1208, 1206, 1206,
1934 1206, 1206, 1206, 1206, 1206, 1206, 1206, 936, 929, 1206,
1935 2030, 2030, 2030, 924, 1206, 1206, 1206, 1208, 1206, 2039,
1937 2039, 2039, 923, 2040, 919, 918, 2041, 2096, 2096, 2096,
1938 917, 2097, 916, 915, 2098, 914, 2091, 2091, 2091, 913,
1939 2052, 2052, 2052, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
1940 1206, 1206, 1206, 1206, 2092, 912, 1206, 2053, 2055, 2055,
1941 2055, 1206, 1206, 1206, 1208, 1206, 2100, 2100, 2100, 911,
1942 2101, 905, 897, 2102, 896, 2056, 2057, 2057, 2057, 2103,
1943 2103, 2103, 895, 2104, 894, 889, 2105, 2091, 2091, 2091,
1944 1206, 1206, 888, 2058, 2072, 2072, 2072, 887, 2073, 884,
1945 878, 2074, 2096, 2096, 2096, 2092, 2097, 873, 872, 2098,
1946 868, 863, 1208, 1206, 1206, 1206, 1206, 1206, 2124, 1206,
1948 1206, 1206, 862, 861, 1206, 860, 859, 858, 856, 1206,
1949 1206, 1206, 1208, 1206, 2100, 2100, 2100, 855, 2101, 854,
1950 853, 2102, 2103, 2103, 2103, 852, 2104, 851, 850, 2105,
1951 849, 2153, 2153, 2153, 848, 2158, 2158, 2158, 1206, 1206,
1952 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 2124, 1208,
1953 1209, 1206, 2159, 2160, 2160, 2160, 1206, 1206, 1206, 1208,
1954 1206, 2162, 2162, 2162, 2170, 2170, 2170, 2158, 2158, 2158,
1955 2161, 2178, 2178, 2178, 2153, 2153, 2153, 847, 2163, 846,
1956 845, 2171, 844, 843, 2159, 1206, 1206, 842, 835, 823,
1957 834, 833, 1208, 2184, 2184, 2184, 832, 2185, 831, 830,
1959 2186, 2160, 2160, 2160, 2187, 2187, 2187, 829, 2188, 826,
1960 824, 2189, 2162, 2162, 2162, 2190, 2190, 2190, 2161, 2191,
1961 823, 821, 2192, 819, 816, 1347, 2170, 2170, 2170, 2163,
1962 2199, 2199, 2199, 812, 2200, 810, 809, 2201, 2178, 2178,
1963 2178, 808, 806, 2171, 2184, 2184, 2184, 805, 2185, 804,
1964 803, 2186, 802, 2187, 2187, 2187, 823, 2188, 800, 799,
1965 2189, 2190, 2190, 2190, 798, 2191, 797, 793, 2192, 2199,
1966 2199, 2199, 792, 2200, 790, 2208, 2201, 2303, 2303, 2303,
1967 2303, 2303, 2303, 789, 2312, 788, 787, 2313, 2405, 2405,
1968 2405, 2405, 2405, 2405, 786, 823, 785, 783, 823, 782,
1970 781, 780, 778, 777, 776, 773, 2406, 772, 768, 2406,
1971 194, 194, 194, 194, 194, 194, 194, 194, 194, 195,
1972 195, 195, 195, 195, 195, 195, 195, 195, 200, 200,
1973 200, 200, 200, 200, 200, 200, 200, 203, 203, 203,
1974 203, 203, 203, 203, 203, 203, 206, 206, 206, 206,
1975 206, 206, 206, 206, 206, 209, 209, 209, 209, 209,
1976 209, 209, 209, 209, 216, 216, 216, 216, 216, 216,
1977 216, 216, 216, 224, 224, 224, 224, 224, 224, 224,
1978 224, 224, 228, 228, 228, 228, 228, 228, 228, 228,
1979 228, 240, 240, 240, 240, 240, 240, 240, 240, 240,
1981 244, 244, 244, 244, 244, 244, 244, 244, 244, 250,
1982 250, 250, 250, 250, 250, 250, 250, 250, 261, 261,
1983 261, 261, 261, 261, 261, 261, 261, 269, 269, 269,
1984 269, 269, 269, 269, 269, 269, 277, 277, 277, 277,
1985 277, 277, 277, 277, 277, 283, 283, 283, 283, 283,
1986 283, 283, 283, 283, 289, 289, 289, 289, 289, 289,
1987 289, 289, 289, 294, 294, 294, 294, 294, 294, 294,
1988 294, 294, 311, 311, 311, 311, 311, 311, 311, 311,
1989 311, 319, 319, 319, 319, 319, 319, 319, 319, 319,
1990 337, 337, 337, 337, 337, 337, 337, 337, 337, 353,
1992 353, 353, 353, 353, 353, 353, 353, 353, 359, 359,
1993 359, 359, 359, 359, 359, 359, 359, 364, 364, 364,
1994 364, 364, 364, 364, 364, 364, 370, 370, 370, 370,
1995 370, 370, 370, 370, 370, 377, 377, 377, 377, 377,
1996 377, 377, 377, 377, 384, 384, 384, 384, 384, 384,
1997 384, 384, 384, 389, 389, 389, 389, 389, 389, 389,
1998 389, 389, 397, 397, 397, 397, 397, 397, 397, 397,
1999 397, 403, 403, 403, 403, 403, 403, 403, 403, 403,
2000 410, 410, 410, 410, 410, 410, 410, 410, 410, 415,
2001 415, 415, 415, 415, 415, 415, 415, 415, 421, 421,
2003 421, 421, 421, 421, 421, 421, 421, 427, 427, 427,
2004 427, 427, 427, 427, 427, 427, 434, 434, 434, 434,
2005 434, 434, 434, 434, 434, 441, 441, 441, 441, 441,
2006 441, 441, 441, 441, 449, 449, 449, 449, 449, 449,
2007 449, 449, 449, 453, 453, 453, 453, 453, 453, 453,
2008 453, 453, 459, 459, 459, 459, 459, 459, 459, 459,
2009 459, 463, 463, 463, 463, 463, 463, 463, 463, 463,
2010 470, 470, 470, 470, 470, 470, 470, 470, 470, 475,
2011 475, 475, 475, 475, 475, 475, 475, 475, 495, 495,
2012 495, 767, 765, 764, 495, 519, 519, 519, 763, 760,
2014 759, 519, 523, 523, 523, 758, 757, 755, 523, 531,
2015 531, 531, 754, 753, 752, 531, 543, 543, 543, 751,
2016 750, 749, 543, 549, 549, 549, 746, 743, 742, 549,
2017 562, 562, 562, 741, 739, 738, 562, 570, 570, 570,
2018 733, 730, 728, 570, 585, 585, 585, 727, 726, 725,
2019 585, 595, 595, 595, 724, 722, 719, 595, 600, 600,
2020 600, 717, 716, 715, 600, 608, 608, 608, 713, 711,
2021 710, 608, 615, 615, 615, 709, 708, 707, 615, 622,
2022 622, 622, 706, 703, 702, 622, 627, 627, 627, 701,
2023 698, 695, 627, 633, 633, 633, 694, 692, 691, 633,
2025 641, 641, 641, 688, 686, 683, 641, 645, 645, 645,
2026 677, 676, 675, 645, 649, 649, 649, 672, 671, 670,
2027 649, 653, 653, 653, 653, 653, 653, 653, 669, 653,
2028 495, 495, 495, 667, 666, 665, 495, 668, 664, 663,
2029 662, 668, 519, 519, 519, 657, 654, 656, 519, 693,
2030 651, 650, 648, 693, 523, 523, 523, 647, 646, 644,
2031 523, 700, 642, 640, 637, 700, 531, 531, 531, 636,
2032 635, 634, 531, 712, 632, 631, 630, 712, 543, 543,
2033 543, 629, 628, 626, 543, 718, 624, 623, 621, 718,
2034 549, 549, 549, 620, 617, 616, 549, 723, 614, 504,
2036 2407, 723, 562, 562, 562, 609, 607, 606, 562, 740,
2037 603, 602, 601, 740, 570, 570, 570, 599, 597, 596,
2038 570, 756, 594, 592, 591, 756, 585, 585, 585, 590,
2039 589, 588, 585, 766, 587, 586, 584, 766, 595, 595,
2040 595, 579, 576, 575, 595, 771, 574, 571, 569, 771,
2041 600, 600, 600, 568, 567, 566, 600, 779, 565, 564,
2042 563, 779, 608, 608, 608, 561, 2407, 510, 608, 784,
2043 556, 551, 550, 784, 615, 615, 615, 548, 546, 545,
2044 615, 791, 544, 542, 513, 791, 622, 622, 622, 2407,
2045 537, 533, 622, 796, 532, 530, 529, 796, 627, 627,
2047 627, 526, 525, 524, 627, 801, 522, 520, 518, 801,
2048 633, 633, 633, 2407, 496, 494, 633, 807, 492, 486,
2049 485, 807, 641, 641, 641, 486, 485, 484, 641, 811,
2050 483, 2407, 2407, 811, 645, 645, 645, 2407, 2407, 2407,
2051 645, 815, 2407, 2407, 2407, 815, 649, 649, 649, 2407,
2052 2407, 2407, 649, 820, 2407, 2407, 2407, 820, 822, 822,
2053 822, 822, 822, 822, 822, 822, 822, 828, 2407, 2407,
2054 2407, 2407, 828, 495, 495, 495, 2407, 2407, 2407, 495,
2055 837, 837, 837, 837, 2407, 2407, 837, 837, 519, 519,
2056 519, 2407, 2407, 2407, 519, 865, 865, 865, 865, 2407,
2058 2407, 865, 865, 523, 523, 523, 2407, 2407, 2407, 523,
2059 875, 875, 875, 875, 2407, 2407, 875, 875, 531, 531,
2060 531, 2407, 2407, 2407, 531, 891, 891, 891, 891, 2407,
2061 2407, 891, 891, 543, 543, 543, 2407, 2407, 2407, 543,
2062 899, 899, 899, 899, 2407, 2407, 899, 899, 549, 549,
2063 549, 2407, 2407, 2407, 549, 907, 907, 907, 907, 2407,
2064 2407, 907, 907, 562, 562, 562, 2407, 2407, 2407, 562,
2065 926, 926, 926, 926, 2407, 2407, 926, 926, 570, 570,
2066 570, 2407, 2407, 2407, 570, 949, 949, 949, 949, 2407,
2067 2407, 949, 949, 585, 585, 585, 2407, 2407, 2407, 585,
2069 964, 964, 964, 964, 2407, 2407, 964, 964, 595, 595,
2070 595, 2407, 2407, 2407, 595, 972, 972, 972, 972, 2407,
2071 2407, 972, 972, 600, 600, 600, 2407, 2407, 2407, 600,
2072 983, 983, 983, 983, 2407, 2407, 983, 983, 608, 608,
2073 608, 608, 2407, 608, 2407, 608, 992, 992, 992, 992,
2074 2407, 2407, 992, 992, 615, 615, 615, 615, 2407, 615,
2075 2407, 615, 1004, 1004, 1004, 1004, 2407, 2407, 1004, 1004,
2076 622, 622, 622, 2407, 2407, 2407, 622, 1012, 1012, 1012,
2077 1012, 2407, 2407, 1012, 1012, 627, 627, 627, 627, 2407,
2078 627, 2407, 627, 1022, 1022, 1022, 1022, 2407, 2407, 1022,
2080 1022, 633, 633, 633, 2407, 2407, 2407, 633, 1030, 1030,
2081 1030, 1030, 2407, 2407, 1030, 1030, 641, 641, 641, 2407,
2082 2407, 2407, 641, 1036, 1036, 1036, 1036, 2407, 2407, 1036,
2083 1036, 1043, 1043, 1043, 1043, 2407, 2407, 1043, 1043, 649,
2084 649, 649, 2407, 2407, 2407, 649, 1051, 1051, 1051, 1051,
2085 2407, 2407, 1051, 1051, 822, 822, 822, 822, 822, 822,
2086 822, 822, 822, 828, 2407, 828, 2407, 2407, 828, 495,
2087 495, 495, 2407, 2407, 2407, 495, 837, 837, 837, 837,
2088 2407, 2407, 837, 837, 519, 519, 519, 519, 2407, 519,
2089 2407, 519, 865, 865, 865, 865, 2407, 2407, 865, 865,
2091 523, 523, 523, 523, 2407, 523, 2407, 523, 875, 875,
2092 875, 875, 2407, 2407, 875, 875, 531, 531, 531, 2407,
2093 2407, 2407, 531, 891, 891, 891, 891, 2407, 2407, 891,
2094 891, 543, 543, 543, 2407, 2407, 2407, 543, 899, 899,
2095 899, 899, 2407, 2407, 899, 899, 549, 549, 549, 2407,
2096 2407, 2407, 549, 907, 907, 907, 907, 2407, 2407, 907,
2097 907, 562, 562, 562, 2407, 2407, 2407, 562, 926, 926,
2098 926, 926, 2407, 2407, 926, 926, 570, 570, 570, 2407,
2099 2407, 2407, 570, 949, 949, 949, 949, 2407, 2407, 949,
2100 949, 585, 585, 585, 2407, 2407, 2407, 585, 964, 964,
2102 964, 964, 2407, 2407, 964, 964, 595, 595, 595, 2407,
2103 2407, 2407, 595, 972, 972, 972, 972, 2407, 2407, 972,
2104 972, 600, 600, 600, 2407, 2407, 2407, 600, 983, 983,
2105 983, 983, 2407, 2407, 983, 983, 608, 608, 608, 2407,
2106 2407, 2407, 608, 992, 992, 992, 992, 2407, 2407, 992,
2107 992, 615, 615, 615, 2407, 2407, 2407, 615, 1004, 1004,
2108 1004, 1004, 2407, 2407, 1004, 1004, 622, 622, 622, 2407,
2109 2407, 2407, 622, 1012, 1012, 1012, 1012, 2407, 2407, 1012,
2110 1012, 627, 627, 627, 2407, 2407, 2407, 627, 1022, 1022,
2111 1022, 1022, 2407, 2407, 1022, 1022, 633, 633, 633, 2407,
2113 2407, 2407, 633, 1030, 1030, 1030, 1030, 2407, 2407, 1030,
2114 1030, 641, 641, 641, 2407, 2407, 2407, 641, 1036, 1036,
2115 1036, 1036, 2407, 2407, 1036, 1036, 1043, 1043, 1043, 1043,
2116 2407, 2407, 1043, 1043, 649, 649, 649, 2407, 2407, 2407,
2117 649, 1051, 1051, 1051, 1051, 2407, 2407, 1051, 1051, 822,
2118 822, 822, 822, 822, 822, 822, 822, 822, 1206, 1206,
2119 1206, 1206, 1206, 1206, 1206, 1206, 1206, 495, 495, 495,
2120 2407, 2407, 2407, 495, 837, 837, 837, 837, 2407, 2407,
2121 837, 837, 865, 865, 865, 865, 2407, 2407, 865, 865,
2122 523, 523, 523, 2407, 2407, 2407, 523, 875, 875, 875,
2124 875, 2407, 2407, 875, 875, 531, 531, 531, 2407, 2407,
2125 2407, 531, 891, 891, 891, 891, 2407, 2407, 891, 891,
2126 543, 543, 543, 2407, 2407, 2407, 543, 899, 899, 899,
2127 899, 2407, 2407, 899, 899, 549, 549, 549, 2407, 2407,
2128 2407, 549, 562, 562, 562, 2407, 2407, 2407, 562, 926,
2129 926, 926, 926, 2407, 2407, 926, 926, 570, 570, 570,
2130 2407, 2407, 2407, 570, 949, 949, 949, 949, 2407, 2407,
2131 949, 949, 585, 585, 585, 2407, 2407, 2407, 585, 964,
2132 964, 964, 964, 2407, 2407, 964, 964, 595, 595, 595,
2133 2407, 2407, 2407, 595, 972, 972, 972, 972, 2407, 2407,
2135 972, 972, 600, 600, 600, 2407, 2407, 2407, 600, 983,
2136 983, 983, 983, 2407, 2407, 983, 983, 608, 608, 608,
2137 2407, 2407, 2407, 608, 992, 992, 992, 992, 2407, 2407,
2138 992, 992, 615, 615, 615, 2407, 2407, 2407, 615, 1004,
2139 1004, 1004, 1004, 2407, 2407, 1004, 1004, 622, 622, 622,
2140 2407, 2407, 2407, 622, 1012, 1012, 1012, 1012, 2407, 2407,
2141 1012, 1012, 627, 627, 627, 2407, 2407, 2407, 627, 1022,
2142 1022, 1022, 1022, 2407, 2407, 1022, 1022, 633, 633, 633,
2143 2407, 2407, 2407, 633, 1030, 1030, 1030, 1030, 2407, 2407,
2144 1030, 1030, 641, 641, 641, 641, 2407, 641, 2407, 641,
2146 1036, 1036, 1036, 1036, 2407, 2407, 1036, 1036, 1043, 1043,
2147 1043, 1043, 2407, 2407, 1043, 1043, 649, 649, 649, 649,
2148 2407, 649, 2407, 649, 1051, 1051, 1051, 1051, 2407, 2407,
2149 1051, 1051, 822, 822, 822, 822, 822, 822, 822, 822,
2150 822, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
2151 495, 495, 495, 2407, 2407, 2407, 495, 837, 837, 837,
2152 837, 2407, 2407, 837, 837, 865, 865, 865, 865, 2407,
2153 2407, 865, 865, 523, 523, 523, 2407, 2407, 2407, 523,
2154 875, 875, 875, 875, 2407, 2407, 875, 875, 531, 531,
2155 531, 2407, 2407, 2407, 531, 891, 891, 891, 891, 2407,
2157 2407, 891, 891, 543, 543, 543, 2407, 2407, 2407, 543,
2158 899, 899, 899, 899, 2407, 2407, 899, 899, 549, 549,
2159 549, 2407, 2407, 2407, 549, 562, 562, 562, 2407, 2407,
2160 2407, 562, 926, 926, 926, 926, 2407, 2407, 926, 926,
2161 570, 570, 570, 2407, 2407, 2407, 570, 949, 949, 949,
2162 949, 2407, 2407, 949, 949, 585, 585, 585, 2407, 2407,
2163 2407, 585, 964, 964, 964, 964, 2407, 2407, 964, 964,
2164 595, 595, 595, 2407, 2407, 2407, 595, 972, 972, 972,
2165 972, 2407, 2407, 972, 972, 600, 600, 600, 2407, 2407,
2166 2407, 600, 983, 983, 983, 983, 2407, 2407, 983, 983,
2168 608, 608, 608, 2407, 2407, 2407, 608, 992, 992, 992,
2169 992, 2407, 2407, 992, 992, 615, 615, 615, 615, 2407,
2170 615, 2407, 615, 1004, 1004, 1004, 1004, 2407, 2407, 1004,
2171 1004, 622, 622, 622, 2407, 2407, 2407, 622, 1012, 1012,
2172 1012, 1012, 2407, 2407, 1012, 1012, 627, 627, 627, 627,
2173 2407, 627, 2407, 627, 1022, 1022, 1022, 1022, 2407, 2407,
2174 1022, 1022, 633, 633, 633, 2407, 2407, 2407, 633, 1030,
2175 1030, 1030, 1030, 2407, 2407, 1030, 1030, 1036, 1036, 1036,
2176 1036, 2407, 2407, 1036, 1036, 1043, 1043, 1043, 1043, 2407,
2177 2407, 1043, 1043, 1051, 1051, 1051, 1051, 2407, 2407, 1051,
2179 1051, 822, 822, 822, 822, 822, 822, 822, 822, 822,
2180 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 495,
2181 495, 495, 495, 2407, 495, 2407, 495, 837, 837, 837,
2182 837, 2407, 2407, 837, 837, 865, 865, 865, 865, 2407,
2183 2407, 865, 865, 523, 523, 523, 2407, 2407, 2407, 523,
2184 875, 875, 875, 875, 2407, 2407, 875, 875, 531, 531,
2185 531, 2407, 2407, 2407, 531, 891, 891, 891, 891, 2407,
2186 2407, 891, 891, 543, 543, 543, 543, 2407, 543, 2407,
2187 543, 899, 899, 899, 899, 2407, 2407, 899, 899, 549,
2188 549, 549, 549, 2407, 549, 2407, 549, 562, 562, 562,
2190 2407, 2407, 2407, 562, 570, 570, 570, 2407, 2407, 2407,
2191 570, 949, 949, 949, 949, 2407, 2407, 949, 949, 585,
2192 585, 585, 2407, 2407, 2407, 585, 595, 595, 595, 2407,
2193 2407, 2407, 595, 972, 972, 972, 972, 2407, 2407, 972,
2194 972, 600, 600, 600, 2407, 2407, 2407, 600, 608, 608,
2195 608, 2407, 2407, 2407, 608, 992, 992, 992, 992, 2407,
2196 2407, 992, 992, 615, 615, 615, 2407, 2407, 2407, 615,
2197 1004, 1004, 1004, 1004, 2407, 2407, 1004, 1004, 622, 622,
2198 622, 2407, 2407, 2407, 622, 1012, 1012, 1012, 1012, 2407,
2199 2407, 1012, 1012, 1022, 1022, 1022, 1022, 2407, 2407, 1022,
2201 1022, 633, 633, 633, 2407, 2407, 2407, 633, 1030, 1030,
2202 1030, 1030, 2407, 2407, 1030, 1030, 1036, 1036, 1036, 1036,
2203 2407, 2407, 1036, 1036, 1043, 1043, 1043, 1043, 2407, 2407,
2204 1043, 1043, 822, 822, 822, 822, 822, 822, 822, 822,
2205 822, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
2206 837, 837, 837, 837, 2407, 2407, 837, 837, 865, 865,
2207 865, 865, 2407, 2407, 865, 865, 523, 523, 523, 2407,
2208 2407, 2407, 523, 531, 531, 531, 2407, 2407, 2407, 531,
2209 891, 891, 891, 891, 2407, 2407, 891, 891, 2075, 2075,
2210 2075, 2075, 2075, 2075, 2075, 2075, 2075, 2076, 2076, 2076,
2212 2076, 2076, 2076, 2076, 2076, 2076, 2119, 2119, 2119, 2119,
2213 2119, 2119, 2119, 2119, 2119, 2122, 2122, 2122, 2122, 2122,
2214 2122, 2122, 2122, 2122, 2150, 2150, 2150, 2150, 2150, 2150,
2215 2150, 2150, 2150, 2152, 2152, 2152, 2152, 2152, 2152, 2152,
2216 2152, 2152, 193, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2217 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2218 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2219 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2220 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2221 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2223 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2224 2407, 2407, 2407, 2407, 2407
2227 static yyconst flex_int16_t yy_chk[8116] =
2229 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2230 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2231 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2232 8, 8, 8, 198, 11, 13, 13, 12, 14, 14,
2233 13, 13, 271, 14, 14, 199, 8, 17, 17, 198,
2234 13, 15, 15, 14, 15, 202, 15, 16, 16, 236,
2235 16, 199, 16, 18, 18, 236, 15, 19, 19, 19,
2236 305, 202, 16, 20, 20, 20, 23, 23, 23, 24,
2237 24, 24, 505, 19, 25, 25, 25, 271, 505, 20,
2238 299, 17, 23, 271, 505, 24, 196, 196, 196, 299,
2240 25, 197, 197, 197, 201, 201, 201, 18, 21, 21,
2241 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2242 21, 21, 21, 305, 21, 21, 21, 21, 21, 26,
2243 26, 26, 27, 27, 27, 28, 28, 28, 231, 29,
2244 29, 29, 30, 30, 30, 26, 302, 1417, 27, 220,
2245 225, 28, 231, 21, 21, 29, 302, 241, 30, 31,
2246 31, 31, 222, 222, 222, 220, 225, 229, 229, 229,
2247 238, 238, 238, 241, 1424, 31, 21, 22, 22, 22,
2248 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2249 22, 22, 322, 22, 22, 22, 22, 22, 32, 32,
2251 32, 33, 33, 33, 34, 34, 34, 220, 35, 35,
2252 35, 36, 36, 36, 32, 232, 307, 33, 307, 1425,
2253 34, 380, 22, 22, 35, 232, 233, 36, 37, 37,
2254 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2255 41, 41, 41, 322, 37, 22, 334, 38, 251, 334,
2256 39, 301, 262, 40, 232, 233, 41, 42, 42, 42,
2257 232, 245, 245, 245, 251, 234, 232, 233, 262, 233,
2258 232, 233, 380, 42, 43, 43, 43, 43, 43, 43,
2259 43, 43, 43, 43, 43, 43, 43, 43, 43, 301,
2260 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2262 46, 53, 53, 53, 234, 266, 1429, 49, 49, 266,
2263 278, 45, 49, 266, 46, 443, 234, 53, 234, 43,
2264 43, 445, 49, 248, 248, 248, 278, 43, 44, 44,
2265 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2266 44, 44, 44, 388, 44, 44, 44, 44, 44, 330,
2267 388, 49, 443, 50, 50, 54, 54, 54, 50, 55,
2268 55, 55, 56, 56, 56, 259, 259, 259, 50, 330,
2269 402, 54, 445, 44, 44, 55, 488, 402, 56, 488,
2270 1435, 44, 47, 47, 47, 47, 47, 47, 47, 47,
2271 47, 47, 47, 47, 47, 47, 47, 50, 47, 47,
2273 47, 47, 47, 57, 57, 57, 58, 58, 58, 59,
2274 59, 59, 268, 60, 60, 60, 63, 63, 63, 57,
2275 290, 312, 58, 246, 256, 59, 268, 47, 47, 60,
2276 246, 256, 63, 1439, 1347, 47, 290, 312, 47, 246,
2277 256, 270, 270, 270, 47, 48, 48, 48, 48, 48,
2278 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2279 444, 48, 48, 48, 48, 48, 64, 64, 64, 67,
2280 67, 67, 68, 68, 68, 1347, 69, 69, 69, 70,
2281 70, 70, 64, 327, 344, 67, 285, 360, 68, 1442,
2282 48, 48, 69, 285, 336, 70, 1444, 444, 48, 327,
2284 344, 48, 285, 360, 212, 336, 336, 48, 51, 51,
2285 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
2286 51, 51, 51, 527, 51, 51, 51, 51, 51, 71,
2287 71, 71, 72, 72, 72, 73, 73, 73, 376, 74,
2288 74, 74, 75, 75, 75, 71, 212, 371, 72, 376,
2289 339, 73, 212, 51, 51, 74, 212, 339, 75, 527,
2290 1446, 212, 51, 371, 51, 406, 339, 51, 275, 275,
2291 275, 430, 51, 51, 52, 52, 52, 52, 52, 52,
2292 52, 52, 52, 52, 52, 52, 52, 52, 52, 1448,
2293 52, 52, 52, 52, 52, 76, 76, 76, 77, 77,
2295 77, 78, 78, 78, 466, 79, 79, 79, 80, 80,
2296 80, 76, 406, 385, 77, 355, 366, 78, 430, 52,
2297 52, 79, 355, 366, 80, 284, 284, 284, 52, 385,
2298 52, 355, 366, 52, 287, 287, 287, 391, 52, 52,
2299 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2300 61, 61, 61, 61, 61, 466, 61, 61, 61, 61,
2301 61, 81, 81, 81, 82, 82, 82, 83, 83, 83,
2302 1449, 84, 84, 84, 85, 85, 85, 81, 506, 501,
2303 82, 479, 501, 83, 391, 61, 61, 84, 391, 851,
2304 85, 506, 61, 295, 295, 295, 479, 61, 309, 309,
2306 309, 851, 304, 320, 320, 320, 61, 62, 62, 62,
2307 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2308 62, 62, 1450, 62, 62, 62, 62, 62, 86, 86,
2309 86, 87, 87, 87, 88, 88, 88, 1205, 89, 89,
2310 89, 90, 90, 90, 86, 508, 304, 87, 508, 304,
2311 88, 1453, 62, 62, 89, 304, 398, 90, 509, 62,
2312 511, 303, 1205, 511, 62, 324, 324, 324, 338, 338,
2313 338, 509, 398, 62, 65, 65, 65, 65, 65, 65,
2314 65, 65, 65, 65, 65, 65, 65, 65, 65, 303,
2315 65, 65, 65, 65, 65, 91, 91, 91, 92, 92,
2317 92, 93, 93, 93, 303, 94, 94, 94, 95, 95,
2318 95, 91, 411, 422, 92, 515, 1455, 93, 515, 65,
2319 65, 94, 1460, 1462, 95, 341, 341, 341, 411, 422,
2320 65, 354, 354, 354, 357, 357, 357, 1346, 65, 66,
2321 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2322 66, 66, 66, 66, 1346, 66, 66, 66, 66, 66,
2323 96, 96, 96, 99, 99, 99, 100, 100, 100, 861,
2324 101, 101, 101, 102, 102, 102, 96, 435, 450, 99,
2325 564, 861, 100, 564, 66, 66, 101, 1469, 1470, 102,
2326 365, 365, 365, 435, 450, 66, 368, 368, 368, 378,
2328 378, 378, 1471, 66, 97, 97, 97, 97, 97, 97,
2329 97, 97, 97, 97, 97, 97, 97, 97, 97, 1473,
2330 97, 97, 97, 97, 97, 103, 103, 103, 104, 104,
2331 104, 105, 105, 105, 894, 106, 106, 106, 382, 382,
2332 382, 103, 460, 471, 104, 1054, 894, 105, 655, 97,
2333 97, 106, 97, 1487, 97, 390, 390, 390, 460, 471,
2334 97, 395, 395, 395, 655, 1054, 97, 1348, 1492, 97,
2335 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
2336 98, 98, 98, 98, 98, 1486, 98, 98, 98, 98,
2337 98, 109, 109, 109, 110, 110, 110, 113, 113, 113,
2339 1348, 114, 114, 114, 404, 404, 404, 109, 825, 759,
2340 110, 557, 825, 113, 759, 98, 98, 114, 98, 513,
2341 98, 408, 408, 408, 557, 513, 98, 416, 416, 416,
2342 1486, 513, 98, 1493, 1497, 98, 107, 107, 107, 107,
2343 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2344 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2345 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2346 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2347 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2348 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2350 107, 107, 107, 107, 107, 107, 107, 107, 111, 111,
2351 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2352 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2353 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2354 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2355 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2356 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2357 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2358 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
2359 115, 115, 115, 115, 115, 1498, 115, 115, 115, 115,
2361 115, 117, 117, 117, 118, 118, 118, 121, 121, 121,
2362 1385, 122, 122, 122, 1502, 417, 559, 117, 1385, 743,
2363 118, 1485, 417, 121, 1508, 115, 115, 122, 743, 559,
2364 115, 417, 419, 419, 419, 743, 115, 116, 116, 116,
2365 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
2366 116, 116, 1485, 116, 116, 116, 116, 116, 123, 123,
2367 123, 124, 124, 124, 125, 125, 125, 1389, 126, 126,
2368 126, 428, 428, 428, 123, 1389, 1510, 124, 1511, 516,
2369 125, 1514, 116, 116, 126, 516, 1484, 116, 432, 432,
2370 432, 516, 1484, 116, 119, 119, 119, 119, 119, 119,
2372 119, 119, 119, 119, 119, 119, 119, 119, 119, 1517,
2373 119, 119, 119, 119, 119, 127, 127, 127, 128, 128,
2374 128, 131, 131, 131, 1521, 132, 132, 132, 133, 133,
2375 133, 127, 1522, 1523, 128, 455, 560, 131, 1524, 119,
2376 119, 132, 455, 119, 133, 442, 442, 442, 1525, 560,
2377 119, 455, 119, 447, 447, 447, 454, 454, 454, 119,
2378 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
2379 120, 120, 120, 120, 120, 1526, 120, 120, 120, 120,
2380 120, 134, 134, 134, 135, 135, 135, 136, 136, 136,
2381 1527, 137, 137, 137, 138, 138, 138, 134, 1528, 1529,
2383 135, 477, 1530, 136, 1535, 120, 120, 137, 477, 120,
2384 138, 457, 457, 457, 1537, 1538, 120, 477, 120, 464,
2385 464, 464, 468, 468, 468, 120, 129, 129, 129, 129,
2386 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
2387 129, 1541, 129, 129, 129, 129, 129, 141, 141, 141,
2388 142, 142, 142, 143, 143, 143, 1539, 144, 144, 144,
2389 145, 145, 145, 141, 1539, 1542, 142, 1540, 1546, 143,
2390 1552, 129, 129, 144, 1553, 1540, 145, 129, 476, 476,
2391 476, 478, 478, 478, 1558, 1562, 487, 487, 487, 1563,
2392 1564, 129, 130, 130, 130, 130, 130, 130, 130, 130,
2394 130, 130, 130, 130, 130, 130, 130, 1566, 130, 130,
2395 130, 130, 130, 146, 146, 146, 147, 147, 147, 148,
2396 148, 148, 1569, 151, 151, 151, 152, 152, 152, 146,
2397 1570, 1573, 147, 1574, 517, 148, 1577, 130, 130, 151,
2398 517, 541, 152, 130, 487, 1584, 517, 541, 658, 658,
2399 658, 1586, 658, 541, 670, 670, 670, 130, 139, 139,
2400 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2401 139, 139, 139, 1596, 139, 139, 139, 139, 139, 155,
2402 155, 155, 156, 156, 156, 157, 157, 157, 1597, 158,
2403 158, 158, 159, 159, 159, 155, 1261, 1599, 156, 1571,
2405 1612, 157, 1261, 139, 139, 158, 1261, 1571, 159, 139,
2406 1261, 1618, 139, 686, 686, 686, 1622, 670, 1624, 725,
2407 725, 725, 1604, 139, 140, 140, 140, 140, 140, 140,
2408 140, 140, 140, 140, 140, 140, 140, 140, 140, 1630,
2409 140, 140, 140, 140, 140, 160, 160, 160, 161, 161,
2410 161, 162, 162, 162, 1572, 165, 165, 165, 166, 166,
2411 166, 160, 1572, 1603, 161, 1636, 1637, 162, 1604, 140,
2412 140, 165, 1638, 1639, 166, 140, 686, 1640, 140, 697,
2413 697, 697, 725, 697, 1641, 1642, 697, 1643, 1644, 140,
2414 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2416 149, 149, 149, 149, 149, 1603, 149, 149, 149, 149,
2417 149, 167, 167, 167, 168, 168, 168, 169, 169, 169,
2418 1645, 170, 170, 170, 171, 171, 171, 167, 1651, 1652,
2419 168, 1653, 1654, 169, 1655, 149, 149, 170, 1656, 1657,
2420 171, 149, 840, 840, 840, 1658, 149, 150, 150, 150,
2421 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2422 150, 150, 1659, 150, 150, 150, 150, 150, 172, 172,
2423 172, 175, 175, 175, 176, 176, 176, 1660, 179, 179,
2424 179, 180, 180, 180, 172, 1664, 1665, 175, 1667, 1668,
2425 176, 1669, 150, 150, 179, 1670, 1677, 180, 150, 730,
2427 730, 730, 1678, 150, 153, 153, 153, 153, 153, 153,
2428 153, 153, 153, 153, 153, 153, 153, 153, 153, 1679,
2429 153, 153, 153, 153, 153, 181, 181, 181, 182, 182,
2430 182, 183, 183, 183, 1680, 184, 184, 184, 185, 185,
2431 185, 181, 1262, 1681, 182, 1682, 1683, 183, 1262, 153,
2432 153, 184, 1262, 1684, 185, 153, 1262, 1686, 153, 705,
2433 705, 705, 730, 705, 1694, 1706, 705, 1709, 1710, 153,
2434 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2435 154, 154, 154, 154, 154, 1713, 154, 154, 154, 154,
2436 154, 186, 186, 186, 189, 189, 189, 190, 190, 190,
2438 525, 525, 525, 1716, 668, 668, 668, 186, 1717, 1718,
2439 189, 1719, 1720, 190, 1721, 154, 154, 525, 1722, 296,
2440 297, 154, 668, 1723, 154, 857, 857, 857, 1702, 296,
2441 297, 1068, 1068, 1068, 1724, 154, 163, 163, 163, 163,
2442 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2443 163, 1701, 163, 163, 163, 163, 163, 296, 297, 533,
2444 533, 533, 1725, 296, 1726, 1702, 296, 550, 550, 550,
2445 1728, 297, 296, 1729, 1730, 297, 533, 565, 565, 565,
2446 1731, 163, 163, 1701, 550, 1071, 1071, 1071, 1733, 163,
2447 1736, 163, 1737, 163, 565, 1070, 1070, 1070, 1074, 1074,
2449 1074, 163, 164, 164, 164, 164, 164, 164, 164, 164,
2450 164, 164, 164, 164, 164, 164, 164, 1738, 164, 164,
2451 164, 164, 164, 573, 573, 573, 575, 575, 575, 589,
2452 589, 589, 597, 597, 597, 602, 602, 602, 1742, 1743,
2453 573, 1070, 1745, 575, 1748, 1749, 589, 164, 164, 597,
2454 1750, 1751, 602, 1753, 1756, 164, 1758, 164, 1780, 164,
2455 1082, 1082, 1082, 1107, 1107, 1107, 1775, 164, 173, 173,
2456 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2457 173, 173, 173, 1777, 173, 173, 173, 173, 173, 624,
2458 624, 624, 646, 646, 646, 650, 650, 650, 693, 693,
2460 693, 669, 669, 669, 1781, 1775, 624, 1782, 1787, 646,
2461 1788, 1789, 650, 173, 173, 1776, 693, 1790, 1791, 669,
2462 721, 721, 721, 1792, 721, 1777, 1793, 721, 737, 737,
2463 737, 1794, 737, 1795, 1796, 737, 173, 174, 174, 174,
2464 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2465 174, 174, 1776, 174, 174, 174, 174, 174, 669, 696,
2466 696, 696, 694, 694, 694, 1797, 700, 700, 700, 701,
2467 701, 701, 704, 704, 704, 1785, 696, 706, 706, 706,
2468 694, 1799, 174, 174, 700, 1785, 1800, 701, 1785, 704,
2469 1806, 745, 745, 745, 706, 745, 1807, 1808, 745, 1118,
2471 1118, 1118, 1119, 1119, 1119, 174, 177, 177, 177, 177,
2472 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
2473 177, 694, 177, 177, 177, 177, 177, 708, 708, 708,
2474 1811, 1819, 701, 1820, 1821, 712, 712, 712, 713, 713,
2475 713, 718, 718, 718, 708, 1220, 1220, 1220, 1119, 1841,
2476 1845, 177, 177, 712, 1846, 1849, 713, 1850, 1852, 718,
2477 1853, 1855, 177, 178, 178, 178, 178, 178, 178, 178,
2478 178, 178, 178, 178, 178, 178, 178, 178, 1841, 178,
2479 178, 178, 178, 178, 1856, 713, 719, 719, 719, 720,
2480 720, 720, 723, 723, 723, 736, 736, 736, 724, 724,
2482 724, 744, 744, 744, 719, 1857, 720, 1858, 178, 178,
2483 723, 1859, 736, 1222, 1222, 1222, 724, 1861, 744, 178,
2484 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2485 187, 187, 187, 187, 187, 724, 187, 187, 187, 187,
2486 187, 740, 740, 740, 741, 741, 741, 1862, 1786, 719,
2487 747, 747, 747, 748, 748, 748, 1863, 748, 1786, 740,
2488 748, 1786, 741, 1864, 1851, 187, 187, 747, 749, 749,
2489 749, 762, 762, 762, 1854, 762, 187, 1851, 762, 770,
2490 770, 770, 1874, 770, 1875, 749, 770, 1854, 187, 188,
2491 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2493 188, 188, 188, 188, 741, 188, 188, 188, 188, 188,
2494 756, 756, 756, 757, 757, 757, 761, 761, 761, 763,
2495 763, 763, 766, 766, 766, 767, 767, 767, 756, 1876,
2496 1880, 757, 1888, 761, 188, 188, 763, 769, 769, 769,
2497 766, 1890, 1842, 767, 1898, 188, 771, 771, 771, 1899,
2498 1900, 772, 772, 772, 769, 1901, 1902, 188, 230, 1903,
2499 774, 774, 774, 1912, 771, 230, 779, 779, 779, 772,
2500 757, 780, 780, 780, 230, 230, 767, 774, 775, 775,
2501 775, 1913, 775, 1842, 779, 775, 1224, 1224, 1224, 780,
2502 781, 781, 781, 1227, 1227, 1227, 782, 782, 782, 784,
2504 784, 784, 230, 230, 230, 1843, 1917, 781, 1908, 230,
2505 230, 772, 230, 782, 1909, 1918, 230, 784, 230, 1919,
2506 230, 783, 783, 783, 1920, 1921, 780, 785, 785, 785,
2507 787, 787, 787, 788, 788, 788, 1922, 1923, 783, 789,
2508 789, 789, 790, 790, 790, 785, 1843, 787, 1924, 1909,
2509 788, 791, 791, 791, 1926, 1908, 789, 1927, 1928, 790,
2510 1929, 1930, 792, 792, 792, 794, 794, 794, 1931, 791,
2511 795, 795, 795, 1932, 795, 1933, 1938, 795, 1942, 783,
2512 792, 1943, 794, 788, 796, 796, 796, 785, 797, 797,
2513 797, 798, 798, 798, 799, 799, 799, 788, 1944, 792,
2515 790, 1945, 796, 800, 800, 800, 797, 1952, 798, 1955,
2516 1962, 799, 801, 801, 801, 802, 802, 802, 1963, 1964,
2517 800, 807, 807, 807, 808, 808, 808, 811, 811, 811,
2518 801, 1957, 1965, 802, 812, 812, 812, 1966, 1967, 807,
2519 1969, 1957, 808, 797, 799, 811, 813, 813, 813, 814,
2520 814, 814, 812, 814, 1975, 1976, 814, 1977, 799, 815,
2521 815, 815, 1978, 813, 816, 816, 816, 817, 817, 817,
2522 1979, 818, 818, 818, 1969, 818, 1980, 815, 818, 869,
2523 869, 869, 816, 869, 817, 802, 869, 808, 820, 820,
2524 820, 821, 821, 821, 836, 836, 836, 812, 837, 837,
2526 837, 839, 839, 839, 1981, 1982, 820, 1829, 1958, 821,
2527 1985, 1986, 836, 863, 863, 863, 837, 1829, 1958, 839,
2528 864, 864, 864, 1829, 816, 865, 865, 865, 1988, 1989,
2529 863, 867, 867, 867, 868, 868, 868, 1830, 864, 872,
2530 872, 872, 1960, 865, 874, 874, 874, 1830, 839, 867,
2531 1961, 868, 1960, 1830, 821, 1990, 872, 875, 875, 875,
2532 1961, 1992, 874, 877, 877, 877, 879, 879, 879, 1997,
2533 879, 1998, 1999, 879, 2001, 875, 882, 882, 882, 2007,
2534 867, 877, 883, 883, 883, 2008, 883, 2009, 2010, 883,
2535 884, 884, 884, 882, 885, 885, 885, 2011, 2012, 872,
2537 2013, 886, 886, 886, 2014, 886, 2015, 884, 886, 2016,
2538 877, 885, 888, 888, 888, 890, 890, 890, 891, 891,
2539 891, 893, 893, 893, 896, 896, 896, 2018, 2019, 888,
2540 898, 898, 898, 890, 2023, 2031, 891, 2032, 2033, 893,
2541 2034, 896, 899, 899, 899, 901, 901, 901, 898, 902,
2542 902, 902, 2035, 902, 2036, 2037, 902, 906, 906, 906,
2543 899, 2038, 2042, 901, 907, 907, 907, 909, 909, 909,
2544 919, 919, 919, 2043, 2044, 906, 2023, 920, 920, 920,
2545 893, 920, 907, 2045, 920, 909, 2046, 919, 925, 925,
2546 925, 2047, 901, 926, 926, 926, 928, 928, 928, 2049,
2548 933, 933, 933, 2050, 933, 2051, 925, 933, 936, 936,
2549 936, 926, 2054, 2059, 928, 937, 937, 937, 2060, 937,
2550 2061, 2062, 937, 2063, 2064, 936, 940, 940, 940, 941,
2551 941, 941, 2065, 941, 2066, 2067, 941, 948, 948, 948,
2552 949, 949, 949, 940, 951, 951, 951, 956, 956, 956,
2553 2068, 956, 2069, 2070, 956, 948, 2077, 2073, 949, 2080,
2554 928, 2074, 951, 959, 959, 959, 960, 960, 960, 2081,
2555 960, 2073, 2074, 960, 963, 963, 963, 964, 964, 964,
2556 959, 966, 966, 966, 968, 968, 968, 2084, 968, 2086,
2557 2087, 968, 963, 2089, 2090, 964, 971, 971, 971, 966,
2559 972, 972, 972, 974, 974, 974, 982, 982, 982, 2071,
2560 951, 983, 983, 983, 971, 976, 976, 976, 972, 976,
2561 2093, 974, 976, 2094, 982, 985, 985, 985, 2095, 983,
2562 2097, 2099, 966, 986, 986, 986, 2098, 987, 987, 987,
2563 2107, 987, 2097, 985, 987, 988, 988, 988, 2098, 2109,
2564 986, 989, 989, 989, 2071, 989, 2111, 2113, 989, 991,
2565 991, 991, 988, 992, 992, 992, 996, 996, 996, 974,
2566 994, 994, 994, 1000, 1000, 1000, 2118, 991, 997, 997,
2567 997, 992, 997, 996, 985, 997, 2120, 2120, 994, 2121,
2568 1000, 1001, 1001, 1001, 2123, 1001, 2125, 2119, 1001, 1003,
2570 1003, 1003, 1004, 1004, 1004, 1006, 1006, 1006, 1008, 1008,
2571 1008, 2119, 1008, 2126, 2127, 1008, 2118, 1003, 2128, 2137,
2572 1004, 2139, 2142, 1006, 1011, 1011, 1011, 1012, 1012, 1012,
2573 1014, 1014, 1014, 1015, 1015, 1015, 994, 1016, 1016, 1016,
2574 2122, 1016, 1011, 2144, 1016, 1012, 2104, 2136, 1014, 2105,
2575 1015, 2122, 1019, 1019, 1019, 1020, 1020, 1020, 2104, 1020,
2576 2138, 2105, 1020, 1021, 1021, 1021, 2136, 2150, 1006, 1019,
2577 1022, 1022, 1022, 1024, 1024, 1024, 1026, 1026, 1026, 2138,
2578 2151, 1021, 1029, 1029, 1029, 1030, 1030, 1030, 1022, 1014,
2579 2152, 1024, 2141, 1026, 1032, 1032, 1032, 1035, 1035, 1035,
2581 1029, 2154, 2143, 1030, 1036, 1036, 1036, 1038, 1038, 1038,
2582 2155, 2141, 1032, 2156, 2157, 1035, 1039, 1039, 1039, 2164,
2583 1039, 2143, 1036, 1039, 2165, 1038, 1042, 1042, 1042, 1043,
2584 1043, 1043, 2166, 2167, 1024, 1045, 1045, 1045, 1046, 1046,
2585 1046, 2168, 1046, 2169, 1042, 1046, 2172, 1043, 1050, 1050,
2586 1050, 2173, 2174, 1045, 1032, 1051, 1051, 1051, 2175, 2176,
2587 1038, 1053, 1053, 1053, 2177, 2179, 1050, 1055, 1055, 1055,
2588 1062, 1062, 1062, 1051, 1085, 1085, 1085, 2181, 2183, 1053,
2589 1086, 1086, 1086, 2193, 1086, 1055, 1055, 1086, 1062, 2194,
2590 2195, 1085, 2191, 2196, 1045, 1087, 1087, 1087, 1088, 1088,
2592 1088, 1089, 1089, 1089, 2191, 1089, 2197, 2192, 1089, 1092,
2593 1092, 1092, 2198, 1087, 2202, 1088, 1094, 1094, 1094, 2192,
2594 1094, 1053, 2203, 1094, 1097, 1097, 1097, 1092, 2204, 1098,
2595 1098, 1098, 2205, 1098, 2206, 1062, 1098, 2207, 1099, 1099,
2596 1099, 1097, 1099, 2210, 2211, 1099, 1103, 1103, 1103, 1104,
2597 1104, 1104, 1087, 1104, 2212, 2213, 1104, 2214, 1092, 1106,
2598 1106, 1106, 2215, 1103, 1109, 1109, 1109, 1110, 1110, 1110,
2599 2216, 1110, 2208, 2217, 1110, 2218, 2219, 1106, 1111, 1111,
2600 1111, 1109, 1112, 1112, 1112, 1114, 1114, 1114, 1125, 1125,
2601 1125, 2220, 1126, 1126, 1126, 1111, 1126, 2208, 2221, 1126,
2603 1112, 2222, 2223, 1114, 2224, 1125, 1127, 1127, 1127, 1106,
2604 1128, 1128, 1128, 2225, 1129, 1129, 1129, 1131, 1131, 1131,
2605 1134, 1134, 1134, 1127, 1139, 1139, 1139, 1128, 1171, 1171,
2606 1171, 1112, 1129, 2226, 1131, 2227, 2228, 1134, 1135, 1135,
2607 1135, 1139, 1135, 2231, 2232, 1135, 1136, 1136, 1136, 2233,
2608 1136, 2234, 2235, 1136, 2236, 2228, 1128, 1145, 1145, 1145,
2609 1147, 1147, 1147, 1150, 1150, 1150, 2237, 1150, 2238, 2239,
2610 1150, 1153, 1153, 1153, 1171, 1145, 2240, 1147, 2241, 1129,
2611 1155, 1155, 1155, 1157, 1157, 1157, 2242, 2243, 1153, 1161,
2612 1161, 1161, 2244, 1162, 1162, 1162, 2245, 2246, 1155, 2248,
2614 2247, 1157, 2249, 1163, 1163, 1163, 1161, 1163, 2250, 2251,
2615 1163, 1162, 1166, 1166, 1166, 2252, 1166, 2253, 2254, 1166,
2616 2247, 1145, 1170, 1170, 1170, 1172, 1172, 1172, 2255, 1172,
2617 2256, 2257, 1172, 2258, 2259, 1161, 2260, 1177, 1177, 1177,
2618 1170, 1177, 2261, 1155, 1177, 1181, 1181, 1181, 1157, 1162,
2619 1183, 1183, 1183, 1184, 1184, 1184, 2262, 1184, 2263, 2265,
2620 1184, 2266, 2267, 1181, 2264, 1189, 1189, 1189, 1183, 1189,
2621 2264, 2268, 1189, 1192, 1192, 1192, 1194, 1194, 1194, 1195,
2622 1195, 1195, 2269, 1195, 2270, 2272, 1195, 1170, 1229, 1229,
2623 1229, 1192, 2273, 1194, 1198, 1198, 1198, 1200, 1200, 1200,
2625 1201, 1201, 1201, 2275, 2276, 1181, 1183, 1202, 1202, 1202,
2626 2278, 2279, 1198, 2282, 1200, 1203, 1203, 1203, 1201, 2283,
2627 1192, 1204, 1204, 1204, 2284, 1202, 1207, 1207, 1207, 1214,
2628 1214, 1214, 1203, 1230, 1230, 1230, 1235, 1235, 1235, 1204,
2629 1237, 1237, 1237, 1198, 1207, 2285, 2287, 1214, 1238, 1238,
2630 1238, 1229, 1238, 2289, 2281, 1238, 1241, 1241, 1241, 1202,
2631 1242, 1242, 1242, 2291, 1242, 2293, 1201, 1242, 2281, 1247,
2632 1247, 1247, 2295, 2296, 1241, 2297, 2298, 1207, 2299, 1230,
2633 2300, 1214, 1204, 1257, 1257, 1257, 1237, 1247, 1249, 1249,
2634 1249, 2301, 1249, 1207, 2302, 1249, 1253, 1253, 1253, 2304,
2636 1253, 1257, 2306, 1253, 1258, 1258, 1258, 1260, 1260, 1260,
2637 2308, 1260, 2309, 2310, 1260, 1263, 1263, 1263, 2311, 2352,
2638 1247, 2328, 1241, 1264, 1264, 1264, 2324, 1264, 2344, 2328,
2639 1264, 1411, 1263, 1265, 1265, 1265, 1269, 1269, 1269, 1270,
2640 1270, 1270, 2320, 1257, 1271, 1271, 1271, 1272, 1272, 1272,
2641 2312, 1265, 1273, 1273, 1273, 1276, 1276, 1276, 2325, 1276,
2642 2344, 2352, 1276, 1279, 1279, 1279, 1280, 1280, 1280, 2324,
2643 1280, 2321, 2313, 1280, 1281, 1281, 1281, 1284, 1284, 1284,
2644 1279, 1282, 1282, 1282, 1265, 1282, 2312, 2364, 1282, 2320,
2645 2365, 1281, 1286, 1286, 1286, 1284, 1287, 1287, 1287, 2322,
2647 1287, 2325, 2346, 1287, 1288, 1288, 1288, 1271, 2313, 1286,
2648 1272, 2346, 1290, 1290, 1290, 1273, 1290, 2338, 2321, 1290,
2649 2323, 1288, 1293, 1293, 1293, 1294, 1294, 1294, 2364, 1294,
2650 2332, 2365, 1294, 1295, 1295, 1295, 1299, 1299, 1299, 1293,
2651 1300, 1300, 1300, 1302, 1302, 1302, 2322, 1303, 1303, 1303,
2652 1295, 1303, 2338, 1299, 1303, 1304, 1304, 1304, 1300, 1408,
2653 1302, 1306, 1306, 1306, 1307, 1307, 1307, 2323, 1307, 2329,
2654 2336, 1307, 1304, 1309, 1309, 1309, 2332, 2329, 1306, 1311,
2655 1311, 1311, 1315, 1315, 1315, 1316, 1316, 1316, 2330, 1316,
2656 2331, 1309, 1316, 1318, 1318, 1318, 2330, 1311, 2331, 1315,
2658 1320, 1320, 1320, 2333, 2334, 1300, 1322, 1322, 1322, 1407,
2659 2336, 1318, 1323, 1323, 1323, 1324, 1324, 1324, 1320, 1325,
2660 1325, 1325, 2339, 1322, 1327, 1327, 1327, 2326, 2337, 1323,
2661 1311, 2326, 1324, 1328, 1328, 1328, 2340, 1325, 1329, 1329,
2662 1329, 2334, 1327, 1330, 1330, 1330, 1337, 1337, 1337, 2333,
2663 1328, 1320, 1332, 1332, 1332, 1329, 1332, 2339, 2327, 1332,
2664 1406, 1330, 2327, 2402, 1337, 1339, 1339, 1339, 2337, 2335,
2665 1327, 2345, 1340, 1340, 1340, 2347, 1340, 2402, 1324, 1340,
2666 2360, 2340, 1339, 1401, 2347, 1325, 1341, 1341, 1341, 2360,
2667 1342, 1342, 1342, 1343, 1343, 1343, 2350, 1337, 1344, 1344,
2669 1344, 1400, 1344, 2345, 1341, 1344, 2335, 1330, 1342, 2358,
2670 1343, 1345, 1345, 1345, 1351, 1351, 1351, 1352, 1352, 1352,
2671 1357, 1357, 1357, 1362, 1362, 1362, 1363, 1363, 1363, 1345,
2672 2350, 1351, 1364, 1364, 1364, 1352, 1365, 1365, 1365, 1367,
2673 1367, 1367, 2358, 2342, 1341, 1342, 1368, 1368, 1368, 1372,
2674 1372, 1372, 1374, 1374, 1374, 1377, 1377, 1377, 1379, 1379,
2675 1379, 1381, 1381, 1381, 1382, 1382, 1382, 1391, 1391, 1391,
2676 1374, 1391, 1397, 1377, 1391, 1379, 2341, 1352, 1396, 1381,
2677 2342, 1382, 1394, 1394, 1394, 2343, 1395, 1395, 1395, 1398,
2678 1398, 1398, 1399, 1399, 1399, 2348, 2353, 1402, 1402, 1402,
2680 1394, 1402, 1374, 1395, 1402, 1405, 1405, 1405, 2384, 1405,
2681 2349, 2354, 1405, 1409, 1409, 1409, 1412, 1412, 1412, 1381,
2682 1412, 2341, 2343, 1412, 1415, 1415, 1415, 2378, 1394, 2355,
2683 2348, 1409, 1416, 1416, 1416, 2378, 1416, 2351, 2353, 1416,
2684 2362, 1415, 1418, 1418, 1418, 2349, 1418, 2359, 2384, 1418,
2685 1421, 1421, 1421, 1422, 1422, 1422, 2354, 1422, 2366, 2363,
2686 1422, 1423, 1423, 1423, 1426, 1426, 1426, 1421, 1427, 1427,
2687 1427, 2351, 1427, 2356, 2355, 1427, 2357, 2362, 1423, 2361,
2688 2359, 1426, 1428, 1428, 1428, 1430, 1430, 1430, 2361, 1430,
2689 2367, 2368, 1430, 1433, 1433, 1433, 2363, 1434, 1434, 1434,
2691 1428, 1434, 2398, 2366, 1434, 1436, 1436, 1436, 2356, 1436,
2692 1433, 2357, 1436, 1440, 1440, 1440, 1443, 1443, 1443, 1445,
2693 1445, 1445, 1447, 1447, 1447, 2370, 1447, 2369, 2368, 1447,
2694 2371, 1440, 2376, 1428, 1443, 2367, 1445, 1451, 1451, 1451,
2695 1454, 1454, 1454, 1456, 1456, 1456, 1457, 1457, 1457, 2398,
2696 1457, 1390, 2382, 1457, 2370, 1451, 1388, 2374, 1454, 2371,
2697 1456, 1458, 1458, 1458, 2369, 1445, 1459, 1459, 1459, 1387,
2698 1459, 1386, 2383, 1459, 1461, 1461, 1461, 2376, 1458, 1443,
2699 1463, 1463, 1463, 1464, 1464, 1464, 1465, 1465, 1465, 2382,
2700 1465, 2374, 1461, 1465, 1466, 1466, 1466, 2372, 1463, 2379,
2702 1464, 1467, 1467, 1467, 2375, 1467, 2372, 2379, 1467, 2383,
2703 2390, 1466, 1468, 1468, 1468, 1472, 1472, 1472, 1474, 1474,
2704 1474, 2385, 1474, 2373, 2377, 1474, 1477, 1477, 1477, 1463,
2705 1468, 2391, 2373, 1472, 1478, 1478, 1478, 1384, 2375, 1461,
2706 2380, 1479, 1479, 1479, 1477, 1479, 2386, 2390, 1479, 1482,
2707 1482, 1482, 1478, 1488, 1488, 1488, 1489, 1489, 1489, 1383,
2708 1489, 2385, 1380, 1489, 1490, 1490, 1490, 1482, 2391, 2377,
2709 1488, 1491, 1491, 1491, 1378, 1376, 1468, 1477, 1375, 1472,
2710 1373, 2386, 1490, 1494, 1494, 1494, 2380, 1478, 1495, 1495,
2711 1495, 1496, 1496, 1496, 1499, 1499, 1499, 1500, 1500, 1500,
2713 1501, 1501, 1501, 1503, 1503, 1503, 1504, 1504, 1504, 1505,
2714 1505, 1505, 1506, 1506, 1506, 1507, 1507, 1507, 1509, 1509,
2715 1509, 1512, 1512, 1512, 1515, 1515, 1515, 1490, 1516, 1516,
2716 1516, 2394, 1516, 2381, 1371, 1516, 1509, 2387, 1370, 1512,
2717 2394, 1515, 1518, 1518, 1518, 1519, 1519, 1519, 1520, 1520,
2718 1520, 1369, 1520, 2388, 1366, 1520, 1531, 1531, 1531, 2389,
2719 1518, 1361, 1519, 1532, 1532, 1532, 1533, 1533, 1533, 1509,
2720 1533, 2392, 2387, 1533, 1531, 1534, 1534, 1534, 2403, 2381,
2721 1532, 1536, 1536, 1536, 1543, 1543, 1543, 2393, 1543, 2403,
2722 1360, 1543, 1547, 1547, 1547, 1359, 1547, 1358, 2388, 1547,
2724 1550, 1550, 1550, 2392, 2389, 1531, 1551, 1551, 1551, 1356,
2725 1551, 2395, 2396, 1551, 1554, 1554, 1554, 1550, 1554, 2393,
2726 2395, 1554, 1557, 1557, 1557, 1559, 1559, 1559, 2397, 1559,
2727 2400, 2401, 1559, 1565, 1565, 1565, 1567, 1567, 1567, 2399,
2728 1557, 1568, 1568, 1568, 2396, 1568, 1355, 1354, 1568, 1353,
2729 1350, 1565, 1338, 1567, 1575, 1575, 1575, 1578, 1578, 1578,
2730 2397, 1578, 2400, 2401, 1578, 1336, 1581, 1581, 1581, 1335,
2731 1581, 1331, 1575, 1581, 1585, 1585, 1585, 1587, 1587, 1587,
2732 1588, 1588, 1588, 1326, 1588, 1557, 2399, 1588, 1321, 1591,
2733 1591, 1591, 1585, 1591, 1319, 1587, 1591, 1594, 1594, 1594,
2735 1595, 1595, 1595, 1598, 1598, 1598, 1600, 1600, 1600, 1601,
2736 1601, 1601, 1602, 1602, 1602, 1594, 1317, 1595, 1605, 1605,
2737 1605, 1598, 1314, 1313, 1600, 1585, 1312, 1601, 1310, 1308,
2738 1602, 1305, 1301, 1594, 1606, 1606, 1606, 1298, 1606, 1297,
2739 1296, 1606, 1587, 1609, 1609, 1609, 1610, 1610, 1610, 1611,
2740 1611, 1611, 1613, 1613, 1613, 1614, 1614, 1614, 1615, 1615,
2741 1615, 1609, 1616, 1616, 1616, 1600, 1289, 1598, 1617, 1617,
2742 1617, 1619, 1619, 1619, 1620, 1620, 1620, 1621, 1621, 1621,
2743 1623, 1623, 1623, 1626, 1626, 1626, 1627, 1627, 1627, 1285,
2744 1627, 1283, 1275, 1627, 1631, 1631, 1631, 1274, 1623, 1268,
2746 1626, 1609, 1633, 1633, 1633, 1267, 1633, 1266, 1259, 1633,
2747 1256, 1252, 1631, 1646, 1646, 1646, 1647, 1647, 1647, 1248,
2748 1647, 1246, 1245, 1647, 1650, 1650, 1650, 1236, 1661, 1661,
2749 1661, 1646, 1661, 1234, 1233, 1661, 1666, 1666, 1666, 1671,
2750 1671, 1671, 1673, 1673, 1673, 1674, 1674, 1674, 1232, 1674,
2751 1231, 1228, 1674, 1226, 1666, 1225, 1223, 1671, 1221, 1673,
2752 1685, 1685, 1685, 1687, 1687, 1687, 1688, 1688, 1688, 1689,
2753 1689, 1689, 1219, 1646, 1690, 1690, 1690, 1691, 1691, 1691,
2754 1218, 1687, 1217, 1688, 1693, 1693, 1693, 1689, 1673, 1692,
2755 1692, 1692, 1690, 1692, 1691, 1216, 1692, 1695, 1695, 1695,
2757 1215, 1693, 1696, 1696, 1696, 1697, 1697, 1697, 1698, 1698,
2758 1698, 1700, 1700, 1700, 1213, 1695, 1703, 1703, 1703, 1704,
2759 1704, 1704, 1212, 1697, 1209, 1206, 1698, 1199, 1689, 1700,
2760 1705, 1705, 1705, 1197, 1690, 1196, 1193, 1704, 1707, 1707,
2761 1707, 1708, 1708, 1708, 1711, 1711, 1711, 1714, 1714, 1714,
2762 1715, 1715, 1715, 1188, 1715, 1187, 1182, 1715, 1727, 1727,
2763 1727, 1180, 1711, 1176, 1714, 1735, 1735, 1735, 1175, 1169,
2764 1697, 1160, 1700, 1739, 1739, 1739, 1727, 1740, 1740, 1740,
2765 1159, 1158, 1735, 1744, 1744, 1744, 1746, 1746, 1746, 1156,
2766 1739, 1154, 1747, 1747, 1747, 1740, 1747, 1149, 1148, 1747,
2768 1744, 1146, 1144, 1746, 1755, 1755, 1755, 1757, 1757, 1757,
2769 1759, 1759, 1759, 1761, 1761, 1761, 1143, 1727, 1762, 1762,
2770 1762, 1755, 1762, 1142, 1141, 1762, 1140, 1133, 1759, 1132,
2771 1761, 1763, 1763, 1763, 1764, 1764, 1764, 1765, 1765, 1765,
2772 1130, 1765, 1124, 1123, 1765, 1768, 1768, 1768, 1122, 1763,
2773 1121, 1120, 1764, 1769, 1769, 1769, 1117, 1769, 1116, 1113,
2774 1769, 1108, 1768, 1770, 1770, 1770, 1771, 1771, 1771, 1773,
2775 1773, 1773, 1774, 1774, 1774, 1778, 1778, 1778, 1105, 1102,
2776 1770, 1783, 1783, 1783, 1771, 1784, 1784, 1784, 1093, 1784,
2777 1774, 1091, 1784, 1778, 1798, 1798, 1798, 1090, 1783, 1084,
2779 1764, 1801, 1801, 1801, 1804, 1804, 1804, 1805, 1805, 1805,
2780 1083, 1805, 1798, 1081, 1805, 1809, 1809, 1809, 1801, 1080,
2781 1079, 1804, 1810, 1810, 1810, 1078, 1810, 1077, 1076, 1810,
2782 1075, 1073, 1809, 1812, 1812, 1812, 1072, 1813, 1813, 1813,
2783 1814, 1814, 1814, 1069, 1814, 1067, 1066, 1814, 1065, 1064,
2784 1812, 1063, 1061, 1798, 1813, 1815, 1815, 1815, 1816, 1816,
2785 1816, 1060, 1816, 1059, 1058, 1816, 1824, 1824, 1824, 1825,
2786 1825, 1825, 1815, 1825, 1049, 1034, 1825, 1826, 1826, 1826,
2787 1827, 1827, 1827, 1824, 1828, 1828, 1828, 1033, 1828, 1028,
2788 1027, 1828, 1025, 1018, 1826, 1017, 1007, 1827, 1831, 1831,
2790 1831, 1833, 1833, 1833, 1834, 1834, 1834, 1002, 1834, 999,
2791 998, 1834, 1837, 1837, 1837, 995, 1831, 990, 981, 1833,
2792 1838, 1838, 1838, 980, 1838, 979, 975, 1838, 967, 1837,
2793 1839, 1839, 1839, 1844, 1844, 1844, 1847, 1847, 1847, 1848,
2794 1848, 1848, 962, 1848, 961, 955, 1848, 954, 1839, 1866,
2795 1866, 1866, 953, 1847, 1867, 1867, 1867, 1868, 1868, 1868,
2796 1869, 1869, 1869, 1911, 1911, 1911, 1833, 1866, 1870, 1870,
2797 1870, 952, 1870, 947, 1868, 1870, 946, 1869, 1871, 1871,
2798 1871, 945, 1871, 944, 943, 1871, 1877, 1877, 1877, 942,
2799 1877, 932, 931, 1877, 1881, 1881, 1881, 1882, 1882, 1882,
2801 1866, 1882, 930, 1868, 1882, 1883, 1883, 1883, 929, 1883,
2802 924, 1881, 1883, 1886, 1886, 1886, 1887, 1887, 1887, 923,
2803 1887, 918, 917, 1887, 1889, 1889, 1889, 1891, 1891, 1891,
2804 1886, 1891, 916, 915, 1891, 1894, 1894, 1894, 1895, 1895,
2805 1895, 1889, 1895, 914, 913, 1895, 1896, 1896, 1896, 1897,
2806 1897, 1897, 1894, 1897, 912, 911, 1897, 1904, 1904, 1904,
2807 1905, 1905, 1905, 1896, 1905, 910, 905, 1905, 1910, 1910,
2808 1910, 897, 1914, 1914, 1914, 1904, 1914, 895, 889, 1914,
2809 1925, 1925, 1925, 887, 878, 1910, 1910, 1934, 1934, 1934,
2810 1935, 1935, 1935, 1936, 1936, 1936, 873, 1925, 862, 1937,
2812 1937, 1937, 860, 1937, 859, 1934, 1937, 858, 1904, 856,
2813 1936, 1939, 1939, 1939, 855, 1939, 854, 853, 1939, 1946,
2814 1946, 1946, 852, 1946, 850, 849, 1946, 1949, 1949, 1949,
2815 848, 1949, 847, 846, 1949, 845, 1934, 1953, 1953, 1953,
2816 1954, 1954, 1954, 844, 1954, 843, 842, 1954, 1956, 1956,
2817 1956, 841, 1956, 835, 1953, 1956, 1959, 1959, 1959, 834,
2818 1959, 833, 830, 1959, 1968, 1968, 1968, 1970, 1970, 1970,
2819 1971, 1971, 1971, 1972, 1972, 1972, 829, 1972, 828, 826,
2820 1972, 822, 1968, 819, 1970, 1970, 810, 1971, 1971, 809,
2821 806, 1972, 1973, 1973, 1973, 1974, 1974, 1974, 1983, 1983,
2823 1983, 1984, 1984, 1984, 805, 1984, 804, 803, 1984, 1993,
2824 1993, 1993, 1994, 1994, 1994, 1983, 1994, 793, 786, 1994,
2825 2000, 2000, 2000, 2002, 2002, 2002, 778, 1993, 2003, 2003,
2826 2003, 777, 2003, 776, 773, 2003, 768, 2000, 765, 764,
2827 2002, 2006, 2006, 2006, 2021, 2021, 2021, 2024, 2024, 2024,
2828 2025, 2025, 2025, 760, 2025, 758, 755, 2025, 2006, 2026,
2829 2026, 2026, 2021, 2026, 2024, 2024, 2026, 754, 2025, 2029,
2830 2029, 2029, 753, 752, 1993, 751, 750, 2026, 2027, 2027,
2831 2027, 2027, 2027, 2027, 2027, 2027, 2027, 746, 742, 2027,
2832 2030, 2030, 2030, 739, 2027, 2027, 2027, 2027, 2027, 2039,
2834 2039, 2039, 738, 2039, 735, 734, 2039, 2053, 2053, 2053,
2835 733, 2053, 732, 731, 2053, 729, 2048, 2048, 2048, 728,
2836 2052, 2052, 2052, 2027, 2027, 2028, 2028, 2028, 2028, 2028,
2837 2028, 2028, 2028, 2028, 2048, 727, 2028, 2052, 2055, 2055,
2838 2055, 2028, 2028, 2028, 2028, 2028, 2056, 2056, 2056, 726,
2839 2056, 722, 717, 2056, 716, 2055, 2057, 2057, 2057, 2058,
2840 2058, 2058, 715, 2058, 714, 711, 2058, 2091, 2091, 2091,
2841 2028, 2028, 710, 2057, 2072, 2072, 2072, 709, 2072, 707,
2842 703, 2072, 2096, 2096, 2096, 2091, 2096, 699, 698, 2096,
2843 695, 692, 2072, 2075, 2075, 2075, 2075, 2075, 2075, 2075,
2845 2075, 2075, 691, 690, 2075, 689, 688, 687, 685, 2075,
2846 2075, 2075, 2075, 2075, 2100, 2100, 2100, 684, 2100, 683,
2847 682, 2100, 2103, 2103, 2103, 681, 2103, 680, 679, 2103,
2848 678, 2124, 2124, 2124, 677, 2133, 2133, 2133, 2075, 2075,
2849 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2076, 2124,
2850 2124, 2076, 2133, 2134, 2134, 2134, 2076, 2076, 2076, 2076,
2851 2076, 2135, 2135, 2135, 2140, 2140, 2140, 2158, 2158, 2158,
2852 2134, 2149, 2149, 2149, 2153, 2153, 2153, 676, 2135, 675,
2853 674, 2140, 673, 672, 2158, 2076, 2076, 671, 667, 2149,
2854 666, 664, 2153, 2159, 2159, 2159, 663, 2159, 662, 661,
2856 2159, 2160, 2160, 2160, 2161, 2161, 2161, 660, 2161, 656,
2857 654, 2161, 2162, 2162, 2162, 2163, 2163, 2163, 2160, 2163,
2858 653, 652, 2163, 651, 647, 2153, 2170, 2170, 2170, 2162,
2859 2171, 2171, 2171, 643, 2171, 642, 639, 2171, 2178, 2178,
2860 2178, 638, 637, 2170, 2184, 2184, 2184, 636, 2184, 635,
2861 634, 2184, 631, 2187, 2187, 2187, 2178, 2187, 630, 629,
2862 2187, 2190, 2190, 2190, 628, 2190, 625, 623, 2190, 2199,
2863 2199, 2199, 620, 2199, 619, 2178, 2199, 2294, 2294, 2294,
2864 2303, 2303, 2303, 618, 2303, 617, 616, 2303, 2404, 2404,
2865 2404, 2405, 2405, 2405, 613, 2294, 612, 611, 2303, 610,
2867 609, 606, 605, 604, 603, 601, 2404, 598, 596, 2405,
2868 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2409,
2869 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2410, 2410,
2870 2410, 2410, 2410, 2410, 2410, 2410, 2410, 2411, 2411, 2411,
2871 2411, 2411, 2411, 2411, 2411, 2411, 2412, 2412, 2412, 2412,
2872 2412, 2412, 2412, 2412, 2412, 2413, 2413, 2413, 2413, 2413,
2873 2413, 2413, 2413, 2413, 2414, 2414, 2414, 2414, 2414, 2414,
2874 2414, 2414, 2414, 2415, 2415, 2415, 2415, 2415, 2415, 2415,
2875 2415, 2415, 2416, 2416, 2416, 2416, 2416, 2416, 2416, 2416,
2876 2416, 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2417,
2878 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2419,
2879 2419, 2419, 2419, 2419, 2419, 2419, 2419, 2419, 2420, 2420,
2880 2420, 2420, 2420, 2420, 2420, 2420, 2420, 2421, 2421, 2421,
2881 2421, 2421, 2421, 2421, 2421, 2421, 2422, 2422, 2422, 2422,
2882 2422, 2422, 2422, 2422, 2422, 2423, 2423, 2423, 2423, 2423,
2883 2423, 2423, 2423, 2423, 2424, 2424, 2424, 2424, 2424, 2424,
2884 2424, 2424, 2424, 2425, 2425, 2425, 2425, 2425, 2425, 2425,
2885 2425, 2425, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426,
2886 2426, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427,
2887 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2429,
2889 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2430, 2430,
2890 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2431, 2431, 2431,
2891 2431, 2431, 2431, 2431, 2431, 2431, 2432, 2432, 2432, 2432,
2892 2432, 2432, 2432, 2432, 2432, 2433, 2433, 2433, 2433, 2433,
2893 2433, 2433, 2433, 2433, 2434, 2434, 2434, 2434, 2434, 2434,
2894 2434, 2434, 2434, 2435, 2435, 2435, 2435, 2435, 2435, 2435,
2895 2435, 2435, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
2896 2436, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437,
2897 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2439,
2898 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2440, 2440,
2900 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2441, 2441, 2441,
2901 2441, 2441, 2441, 2441, 2441, 2441, 2442, 2442, 2442, 2442,
2902 2442, 2442, 2442, 2442, 2442, 2443, 2443, 2443, 2443, 2443,
2903 2443, 2443, 2443, 2443, 2444, 2444, 2444, 2444, 2444, 2444,
2904 2444, 2444, 2444, 2445, 2445, 2445, 2445, 2445, 2445, 2445,
2905 2445, 2445, 2446, 2446, 2446, 2446, 2446, 2446, 2446, 2446,
2906 2446, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
2907 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2449,
2908 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2450, 2450,
2909 2450, 593, 592, 591, 2450, 2451, 2451, 2451, 590, 588,
2911 587, 2451, 2452, 2452, 2452, 586, 583, 582, 2452, 2453,
2912 2453, 2453, 581, 580, 579, 2453, 2454, 2454, 2454, 578,
2913 577, 576, 2454, 2455, 2455, 2455, 574, 572, 571, 2455,
2914 2456, 2456, 2456, 568, 567, 566, 2456, 2457, 2457, 2457,
2915 563, 558, 556, 2457, 2458, 2458, 2458, 555, 554, 553,
2916 2458, 2459, 2459, 2459, 552, 551, 547, 2459, 2460, 2460,
2917 2460, 546, 545, 544, 2460, 2461, 2461, 2461, 540, 539,
2918 538, 2461, 2462, 2462, 2462, 537, 536, 535, 2462, 2463,
2919 2463, 2463, 534, 532, 529, 2463, 2464, 2464, 2464, 528,
2920 526, 524, 2464, 2465, 2465, 2465, 521, 520, 514, 2465,
2922 2466, 2466, 2466, 512, 510, 507, 2466, 2467, 2467, 2467,
2923 504, 503, 502, 2467, 2468, 2468, 2468, 500, 499, 498,
2924 2468, 2469, 2469, 2469, 2469, 2469, 2469, 2469, 497, 2469,
2925 2470, 2470, 2470, 496, 493, 492, 2470, 2471, 491, 490,
2926 489, 2471, 2472, 2472, 2472, 483, 482, 480, 2472, 2473,
2927 474, 473, 469, 2473, 2474, 2474, 2474, 465, 462, 458,
2928 2474, 2475, 452, 448, 440, 2475, 2476, 2476, 2476, 439,
2929 438, 437, 2476, 2477, 433, 429, 426, 2477, 2478, 2478,
2930 2478, 425, 424, 420, 2478, 2479, 414, 413, 409, 2479,
2931 2480, 2480, 2480, 405, 401, 400, 2480, 2481, 396, 393,
2933 392, 2481, 2482, 2482, 2482, 387, 383, 379, 2482, 2483,
2934 375, 374, 373, 2483, 2484, 2484, 2484, 369, 363, 362,
2935 2484, 2485, 358, 352, 351, 2485, 2486, 2486, 2486, 350,
2936 349, 348, 2486, 2487, 347, 346, 342, 2487, 2488, 2488,
2937 2488, 335, 333, 332, 2488, 2489, 331, 329, 325, 2489,
2938 2490, 2490, 2490, 321, 318, 317, 2490, 2491, 316, 315,
2939 314, 2491, 2492, 2492, 2492, 310, 306, 300, 2492, 2493,
2940 298, 293, 292, 2493, 2494, 2494, 2494, 288, 282, 281,
2941 2494, 2495, 280, 276, 273, 2495, 2496, 2496, 2496, 272,
2942 267, 265, 2496, 2497, 264, 260, 257, 2497, 2498, 2498,
2944 2498, 255, 254, 253, 2498, 2499, 249, 243, 239, 2499,
2945 2500, 2500, 2500, 235, 227, 223, 2500, 2501, 219, 218,
2946 217, 2501, 2502, 2502, 2502, 211, 210, 208, 2502, 2503,
2947 205, 193, 0, 2503, 2504, 2504, 2504, 0, 0, 0,
2948 2504, 2505, 0, 0, 0, 2505, 2506, 2506, 2506, 0,
2949 0, 0, 2506, 2507, 0, 0, 0, 2507, 2508, 2508,
2950 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2509, 0, 0,
2951 0, 0, 2509, 2510, 2510, 2510, 0, 0, 0, 2510,
2952 2511, 2511, 2511, 2511, 0, 0, 2511, 2511, 2512, 2512,
2953 2512, 0, 0, 0, 2512, 2513, 2513, 2513, 2513, 0,
2955 0, 2513, 2513, 2514, 2514, 2514, 0, 0, 0, 2514,
2956 2515, 2515, 2515, 2515, 0, 0, 2515, 2515, 2516, 2516,
2957 2516, 0, 0, 0, 2516, 2517, 2517, 2517, 2517, 0,
2958 0, 2517, 2517, 2518, 2518, 2518, 0, 0, 0, 2518,
2959 2519, 2519, 2519, 2519, 0, 0, 2519, 2519, 2520, 2520,
2960 2520, 0, 0, 0, 2520, 2521, 2521, 2521, 2521, 0,
2961 0, 2521, 2521, 2522, 2522, 2522, 0, 0, 0, 2522,
2962 2523, 2523, 2523, 2523, 0, 0, 2523, 2523, 2524, 2524,
2963 2524, 0, 0, 0, 2524, 2525, 2525, 2525, 2525, 0,
2964 0, 2525, 2525, 2526, 2526, 2526, 0, 0, 0, 2526,
2966 2527, 2527, 2527, 2527, 0, 0, 2527, 2527, 2528, 2528,
2967 2528, 0, 0, 0, 2528, 2529, 2529, 2529, 2529, 0,
2968 0, 2529, 2529, 2530, 2530, 2530, 0, 0, 0, 2530,
2969 2531, 2531, 2531, 2531, 0, 0, 2531, 2531, 2532, 2532,
2970 2532, 2532, 0, 2532, 0, 2532, 2533, 2533, 2533, 2533,
2971 0, 0, 2533, 2533, 2534, 2534, 2534, 2534, 0, 2534,
2972 0, 2534, 2535, 2535, 2535, 2535, 0, 0, 2535, 2535,
2973 2536, 2536, 2536, 0, 0, 0, 2536, 2537, 2537, 2537,
2974 2537, 0, 0, 2537, 2537, 2538, 2538, 2538, 2538, 0,
2975 2538, 0, 2538, 2539, 2539, 2539, 2539, 0, 0, 2539,
2977 2539, 2540, 2540, 2540, 0, 0, 0, 2540, 2541, 2541,
2978 2541, 2541, 0, 0, 2541, 2541, 2542, 2542, 2542, 0,
2979 0, 0, 2542, 2543, 2543, 2543, 2543, 0, 0, 2543,
2980 2543, 2544, 2544, 2544, 2544, 0, 0, 2544, 2544, 2545,
2981 2545, 2545, 0, 0, 0, 2545, 2546, 2546, 2546, 2546,
2982 0, 0, 2546, 2546, 2547, 2547, 2547, 2547, 2547, 2547,
2983 2547, 2547, 2547, 2548, 0, 2548, 0, 0, 2548, 2549,
2984 2549, 2549, 0, 0, 0, 2549, 2550, 2550, 2550, 2550,
2985 0, 0, 2550, 2550, 2551, 2551, 2551, 2551, 0, 2551,
2986 0, 2551, 2552, 2552, 2552, 2552, 0, 0, 2552, 2552,
2988 2553, 2553, 2553, 2553, 0, 2553, 0, 2553, 2554, 2554,
2989 2554, 2554, 0, 0, 2554, 2554, 2555, 2555, 2555, 0,
2990 0, 0, 2555, 2556, 2556, 2556, 2556, 0, 0, 2556,
2991 2556, 2557, 2557, 2557, 0, 0, 0, 2557, 2558, 2558,
2992 2558, 2558, 0, 0, 2558, 2558, 2559, 2559, 2559, 0,
2993 0, 0, 2559, 2560, 2560, 2560, 2560, 0, 0, 2560,
2994 2560, 2561, 2561, 2561, 0, 0, 0, 2561, 2562, 2562,
2995 2562, 2562, 0, 0, 2562, 2562, 2563, 2563, 2563, 0,
2996 0, 0, 2563, 2564, 2564, 2564, 2564, 0, 0, 2564,
2997 2564, 2565, 2565, 2565, 0, 0, 0, 2565, 2566, 2566,
2999 2566, 2566, 0, 0, 2566, 2566, 2567, 2567, 2567, 0,
3000 0, 0, 2567, 2568, 2568, 2568, 2568, 0, 0, 2568,
3001 2568, 2569, 2569, 2569, 0, 0, 0, 2569, 2570, 2570,
3002 2570, 2570, 0, 0, 2570, 2570, 2571, 2571, 2571, 0,
3003 0, 0, 2571, 2572, 2572, 2572, 2572, 0, 0, 2572,
3004 2572, 2573, 2573, 2573, 0, 0, 0, 2573, 2574, 2574,
3005 2574, 2574, 0, 0, 2574, 2574, 2575, 2575, 2575, 0,
3006 0, 0, 2575, 2576, 2576, 2576, 2576, 0, 0, 2576,
3007 2576, 2577, 2577, 2577, 0, 0, 0, 2577, 2578, 2578,
3008 2578, 2578, 0, 0, 2578, 2578, 2579, 2579, 2579, 0,
3010 0, 0, 2579, 2580, 2580, 2580, 2580, 0, 0, 2580,
3011 2580, 2581, 2581, 2581, 0, 0, 0, 2581, 2582, 2582,
3012 2582, 2582, 0, 0, 2582, 2582, 2583, 2583, 2583, 2583,
3013 0, 0, 2583, 2583, 2584, 2584, 2584, 0, 0, 0,
3014 2584, 2585, 2585, 2585, 2585, 0, 0, 2585, 2585, 2586,
3015 2586, 2586, 2586, 2586, 2586, 2586, 2586, 2586, 2587, 2587,
3016 2587, 2587, 2587, 2587, 2587, 2587, 2587, 2588, 2588, 2588,
3017 0, 0, 0, 2588, 2589, 2589, 2589, 2589, 0, 0,
3018 2589, 2589, 2590, 2590, 2590, 2590, 0, 0, 2590, 2590,
3019 2591, 2591, 2591, 0, 0, 0, 2591, 2592, 2592, 2592,
3021 2592, 0, 0, 2592, 2592, 2593, 2593, 2593, 0, 0,
3022 0, 2593, 2594, 2594, 2594, 2594, 0, 0, 2594, 2594,
3023 2595, 2595, 2595, 0, 0, 0, 2595, 2596, 2596, 2596,
3024 2596, 0, 0, 2596, 2596, 2597, 2597, 2597, 0, 0,
3025 0, 2597, 2598, 2598, 2598, 0, 0, 0, 2598, 2599,
3026 2599, 2599, 2599, 0, 0, 2599, 2599, 2600, 2600, 2600,
3027 0, 0, 0, 2600, 2601, 2601, 2601, 2601, 0, 0,
3028 2601, 2601, 2602, 2602, 2602, 0, 0, 0, 2602, 2603,
3029 2603, 2603, 2603, 0, 0, 2603, 2603, 2604, 2604, 2604,
3030 0, 0, 0, 2604, 2605, 2605, 2605, 2605, 0, 0,
3032 2605, 2605, 2606, 2606, 2606, 0, 0, 0, 2606, 2607,
3033 2607, 2607, 2607, 0, 0, 2607, 2607, 2608, 2608, 2608,
3034 0, 0, 0, 2608, 2609, 2609, 2609, 2609, 0, 0,
3035 2609, 2609, 2610, 2610, 2610, 0, 0, 0, 2610, 2611,
3036 2611, 2611, 2611, 0, 0, 2611, 2611, 2612, 2612, 2612,
3037 0, 0, 0, 2612, 2613, 2613, 2613, 2613, 0, 0,
3038 2613, 2613, 2614, 2614, 2614, 0, 0, 0, 2614, 2615,
3039 2615, 2615, 2615, 0, 0, 2615, 2615, 2616, 2616, 2616,
3040 0, 0, 0, 2616, 2617, 2617, 2617, 2617, 0, 0,
3041 2617, 2617, 2618, 2618, 2618, 2618, 0, 2618, 0, 2618,
3043 2619, 2619, 2619, 2619, 0, 0, 2619, 2619, 2620, 2620,
3044 2620, 2620, 0, 0, 2620, 2620, 2621, 2621, 2621, 2621,
3045 0, 2621, 0, 2621, 2622, 2622, 2622, 2622, 0, 0,
3046 2622, 2622, 2623, 2623, 2623, 2623, 2623, 2623, 2623, 2623,
3047 2623, 2624, 2624, 2624, 2624, 2624, 2624, 2624, 2624, 2624,
3048 2625, 2625, 2625, 0, 0, 0, 2625, 2626, 2626, 2626,
3049 2626, 0, 0, 2626, 2626, 2627, 2627, 2627, 2627, 0,
3050 0, 2627, 2627, 2628, 2628, 2628, 0, 0, 0, 2628,
3051 2629, 2629, 2629, 2629, 0, 0, 2629, 2629, 2630, 2630,
3052 2630, 0, 0, 0, 2630, 2631, 2631, 2631, 2631, 0,
3054 0, 2631, 2631, 2632, 2632, 2632, 0, 0, 0, 2632,
3055 2633, 2633, 2633, 2633, 0, 0, 2633, 2633, 2634, 2634,
3056 2634, 0, 0, 0, 2634, 2635, 2635, 2635, 0, 0,
3057 0, 2635, 2636, 2636, 2636, 2636, 0, 0, 2636, 2636,
3058 2637, 2637, 2637, 0, 0, 0, 2637, 2638, 2638, 2638,
3059 2638, 0, 0, 2638, 2638, 2639, 2639, 2639, 0, 0,
3060 0, 2639, 2640, 2640, 2640, 2640, 0, 0, 2640, 2640,
3061 2641, 2641, 2641, 0, 0, 0, 2641, 2642, 2642, 2642,
3062 2642, 0, 0, 2642, 2642, 2643, 2643, 2643, 0, 0,
3063 0, 2643, 2644, 2644, 2644, 2644, 0, 0, 2644, 2644,
3065 2645, 2645, 2645, 0, 0, 0, 2645, 2646, 2646, 2646,
3066 2646, 0, 0, 2646, 2646, 2647, 2647, 2647, 2647, 0,
3067 2647, 0, 2647, 2648, 2648, 2648, 2648, 0, 0, 2648,
3068 2648, 2649, 2649, 2649, 0, 0, 0, 2649, 2650, 2650,
3069 2650, 2650, 0, 0, 2650, 2650, 2651, 2651, 2651, 2651,
3070 0, 2651, 0, 2651, 2652, 2652, 2652, 2652, 0, 0,
3071 2652, 2652, 2653, 2653, 2653, 0, 0, 0, 2653, 2654,
3072 2654, 2654, 2654, 0, 0, 2654, 2654, 2655, 2655, 2655,
3073 2655, 0, 0, 2655, 2655, 2656, 2656, 2656, 2656, 0,
3074 0, 2656, 2656, 2657, 2657, 2657, 2657, 0, 0, 2657,
3076 2657, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658, 2658,
3077 2659, 2659, 2659, 2659, 2659, 2659, 2659, 2659, 2659, 2660,
3078 2660, 2660, 2660, 0, 2660, 0, 2660, 2661, 2661, 2661,
3079 2661, 0, 0, 2661, 2661, 2662, 2662, 2662, 2662, 0,
3080 0, 2662, 2662, 2663, 2663, 2663, 0, 0, 0, 2663,
3081 2664, 2664, 2664, 2664, 0, 0, 2664, 2664, 2665, 2665,
3082 2665, 0, 0, 0, 2665, 2666, 2666, 2666, 2666, 0,
3083 0, 2666, 2666, 2667, 2667, 2667, 2667, 0, 2667, 0,
3084 2667, 2668, 2668, 2668, 2668, 0, 0, 2668, 2668, 2669,
3085 2669, 2669, 2669, 0, 2669, 0, 2669, 2670, 2670, 2670,
3087 0, 0, 0, 2670, 2671, 2671, 2671, 0, 0, 0,
3088 2671, 2672, 2672, 2672, 2672, 0, 0, 2672, 2672, 2673,
3089 2673, 2673, 0, 0, 0, 2673, 2674, 2674, 2674, 0,
3090 0, 0, 2674, 2675, 2675, 2675, 2675, 0, 0, 2675,
3091 2675, 2676, 2676, 2676, 0, 0, 0, 2676, 2677, 2677,
3092 2677, 0, 0, 0, 2677, 2678, 2678, 2678, 2678, 0,
3093 0, 2678, 2678, 2679, 2679, 2679, 0, 0, 0, 2679,
3094 2680, 2680, 2680, 2680, 0, 0, 2680, 2680, 2681, 2681,
3095 2681, 0, 0, 0, 2681, 2682, 2682, 2682, 2682, 0,
3096 0, 2682, 2682, 2683, 2683, 2683, 2683, 0, 0, 2683,
3098 2683, 2684, 2684, 2684, 0, 0, 0, 2684, 2685, 2685,
3099 2685, 2685, 0, 0, 2685, 2685, 2686, 2686, 2686, 2686,
3100 0, 0, 2686, 2686, 2687, 2687, 2687, 2687, 0, 0,
3101 2687, 2687, 2688, 2688, 2688, 2688, 2688, 2688, 2688, 2688,
3102 2688, 2689, 2689, 2689, 2689, 2689, 2689, 2689, 2689, 2689,
3103 2690, 2690, 2690, 2690, 0, 0, 2690, 2690, 2691, 2691,
3104 2691, 2691, 0, 0, 2691, 2691, 2692, 2692, 2692, 0,
3105 0, 0, 2692, 2693, 2693, 2693, 0, 0, 0, 2693,
3106 2694, 2694, 2694, 2694, 0, 0, 2694, 2694, 2695, 2695,
3107 2695, 2695, 2695, 2695, 2695, 2695, 2695, 2696, 2696, 2696,
3109 2696, 2696, 2696, 2696, 2696, 2696, 2697, 2697, 2697, 2697,
3110 2697, 2697, 2697, 2697, 2697, 2698, 2698, 2698, 2698, 2698,
3111 2698, 2698, 2698, 2698, 2699, 2699, 2699, 2699, 2699, 2699,
3112 2699, 2699, 2699, 2700, 2700, 2700, 2700, 2700, 2700, 2700,
3113 2700, 2700, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3114 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3115 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3116 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3117 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3118 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3120 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
3121 2407, 2407, 2407, 2407, 2407
3124 /* Table of booleans, true if rule could match eol. */
3125 static yyconst flex_int32_t yy_rule_can_match_eol[404] =
3127 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3128 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3129 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3130 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3131 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3132 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3133 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3134 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3135 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3136 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3137 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3138 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3139 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3140 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3141 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3142 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3143 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3144 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3145 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3146 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0,
3149 static yy_state_type yy_last_accepting_state;
3150 static char *yy_last_accepting_cpos;
3152 extern int surf_parse__flex_debug;
3153 int surf_parse__flex_debug = 0;
3155 /* The intent behind this definition is that it'll catch
3156 * any uses of REJECT which flex missed.
3158 #define REJECT reject_used_but_not_detected
3159 #define yymore() yymore_used_but_not_detected
3160 #define YY_MORE_ADJ 0
3161 #define YY_RESTORE_YY_MORE_OFFSET
3162 char *surf_parse_text;
3163 /* Validating XML processor for src/surf/simgrid.dtd.
3164 * Generated 2011/04/11 09:38:38.
3166 * This program was generated with the FleXML XML processor generator.
3167 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3168 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3169 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3171 * There are two, intertwined parts to this program, part A and part B.
3176 * Some parts, here collectively called "Part A", are found in the
3177 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3178 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3180 * You can redistribute, use, perform, display and/or modify "Part A"
3181 * provided the following two conditions hold:
3183 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3184 * FleXML; without even the implied warranty of MERCHANTABILITY or
3185 * FITNESS FOR A PARTICULAR PURPOSE.
3187 * 2. The program distribution conditions do not in any way affect the
3188 * distribution conditions of the FleXML system used to generate this
3189 * file or any version of FleXML derived from that system.
3191 * Notice that these are explicit rights granted to you for files
3192 * generated by the FleXML system. For your rights in connection with
3193 * the FleXML system itself please consult the GNU General Public License.
3198 * The other parts, here collectively called "Part B", and which came
3199 * from the DTD used by FleXML to generate this program, can be
3200 * distributed (or not, as the case may be) under the terms of whoever
3201 * wrote them, provided these terms respect and obey the two conditions
3202 * above under the heading "Part A".
3204 * The author of and contributors to FleXML specifically disclaim
3205 * any copyright interest in "Part B", unless "Part B" was written
3206 * by the author of or contributors to FleXML.
3210 /* Version strings. */
3211 const char rcs_surfxml_flexml_skeleton[] =
3212 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3213 const char rcs_surfxml_flexml[] =
3214 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3217 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3224 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3225 # ifndef __STRICT_ANSI__
3227 # include <process.h>
3230 # include <unistd.h>
3233 #ifndef FLEXML_INDEXSTACKSIZE
3234 #define FLEXML_INDEXSTACKSIZE 1000
3237 /* Generated definitions. */
3238 #define FLEXML_yylineno
3239 #ifndef FLEXML_BUFFERSTACKSIZE
3240 #define FLEXML_BUFFERSTACKSIZE 1000000
3242 #define FLEXML_NEED_BUFFERLIT
3244 /* XML processor api. */
3245 /* FleXML-provided data. */
3246 int surfxml_pcdata_ix;
3247 extern char *surfxml_bufferstack;
3248 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3249 AT_surfxml_random_generator AX_surfxml_random_generator;
3250 #define A_surfxml_random_generator AX_surfxml_random_generator
3251 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3252 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3253 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3254 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3255 AT_surfxml_prop_id AX_surfxml_prop_id;
3256 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3257 AT_surfxml_host_id AX_surfxml_host_id;
3258 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3259 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3260 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3261 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3262 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3263 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3264 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3265 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3266 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3267 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3268 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3269 AT_surfxml_host_state AX_surfxml_host_state;
3270 #define A_surfxml_host_state AX_surfxml_host_state
3271 AT_surfxml_AS_id AX_surfxml_AS_id;
3272 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3273 AT_surfxml_host_power AX_surfxml_host_power;
3274 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3275 AT_surfxml_router_id AX_surfxml_router_id;
3276 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3277 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3278 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3279 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3280 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3281 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3282 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3283 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3284 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3285 AT_surfxml_trace_file AX_surfxml_trace_file;
3286 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3287 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3288 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3289 AT_surfxml_random_min AX_surfxml_random_min;
3290 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3291 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3292 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3293 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3294 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3295 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3296 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3297 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3298 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3299 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3300 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3301 AT_surfxml_argument_value AX_surfxml_argument_value;
3302 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3303 AT_surfxml_link_state AX_surfxml_link_state;
3304 #define A_surfxml_link_state AX_surfxml_link_state
3305 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3306 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3307 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3308 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3309 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3310 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3311 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3312 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3313 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3314 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3315 AT_surfxml_random_mean AX_surfxml_random_mean;
3316 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3317 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3318 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3319 AT_surfxml_link_latency AX_surfxml_link_latency;
3320 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3321 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3322 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3323 AT_surfxml_random_seed AX_surfxml_random_seed;
3324 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3325 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3326 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3327 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3328 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3329 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3330 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3331 AT_surfxml_random_id AX_surfxml_random_id;
3332 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3333 AT_surfxml_random_max AX_surfxml_random_max;
3334 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3335 AT_surfxml_link_id AX_surfxml_link_id;
3336 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3337 AT_surfxml_process_host AX_surfxml_process_host;
3338 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3339 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3340 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3341 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3342 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3343 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3344 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3345 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3346 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3347 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3348 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3349 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3350 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3351 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3352 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3353 AT_surfxml_prop_value AX_surfxml_prop_value;
3354 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3355 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3356 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3357 AT_surfxml_random_radical AX_surfxml_random_radical;
3358 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3359 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3360 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3361 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3362 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3363 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3364 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3365 AT_surfxml_process_function AX_surfxml_process_function;
3366 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3367 AT_surfxml_peer_id AX_surfxml_peer_id;
3368 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3369 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3370 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3371 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3372 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3373 AT_surfxml_host_core AX_surfxml_host_core;
3374 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3375 AT_surfxml_host_availability AX_surfxml_host_availability;
3376 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3377 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3378 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3379 AT_surfxml_route_src AX_surfxml_route_src;
3380 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3381 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3382 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3383 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3384 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3385 AT_surfxml_trace_id AX_surfxml_trace_id;
3386 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3387 AT_surfxml_peer_power AX_surfxml_peer_power;
3388 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3389 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3390 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3391 AT_surfxml_config_id AX_surfxml_config_id;
3392 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3393 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3394 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3395 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3396 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3397 AT_surfxml_include_file AX_surfxml_include_file;
3398 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3399 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3400 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3401 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3402 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3403 AT_surfxml_route_dst AX_surfxml_route_dst;
3404 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3405 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3406 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3407 AT_surfxml_platform_version AX_surfxml_platform_version;
3408 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3412 # define ENTER(state) debug_enter(state,#state)
3413 # define LEAVE debug_leave()
3414 # define SET(state) debug_set(state,#state)
3415 static void debug_enter(int, const char*);
3416 static void debug_leave(void);
3417 static void debug_set(int, const char*);
3419 # define ENTER(state) (yy_push_state(state))
3420 # define LEAVE (yy_pop_state())
3421 # define SET(state) BEGIN(state)
3424 /* Generic actions. */
3425 #define SKIP /*skip*/
3426 #define SUCCEED CLEANUP; return 0
3428 #define FAIL return fail
3429 static int fail(const char*, ...);
3431 enum {flexml_max_err_msg_size = 512};
3432 static char flexml_err_msg[flexml_max_err_msg_size];
3433 const char * surfxml_parse_err_msg()
3435 return flexml_err_msg;
3437 static void reset_surfxml_parse_err_msg()
3439 flexml_err_msg[0] = '\0';
3443 static void cleanup(void);
3444 #define CLEANUP cleanup()
3446 /* Text buffer stack handling. */
3447 char *surfxml_bufferstack = NULL;
3448 static int blimit = FLEXML_BUFFERSTACKSIZE;
3449 static int bnext = 1;
3451 static int *indexstack = NULL;
3452 static int ilimit = FLEXML_INDEXSTACKSIZE;
3453 static int inext = 1;
3455 #define BUFFERSET(P) (P = bnext)
3456 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3457 #define BUFFERDONE (BUFFERPUTC('\0'))
3459 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3461 /* after this is called, there are at least 2 slots left in the stack */
3462 static int ck_blimit()
3464 if (bnext >= blimit) {
3465 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3467 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3469 surfxml_bufferstack = temp;
3475 /* after this is called, there are at least 2 slots left in the stack */
3476 static int ck_ilimit()
3478 if (inext >= ilimit) {
3479 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3481 int *temp = (int *) realloc(indexstack, ilimit);
3489 #ifdef FLEXML_NEED_BUFFERLIT
3490 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3492 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3493 assert(s <= e); BUFFERSET(*pp);
3495 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3496 else BUFFERPUTC(*s);
3502 static void pushbuffer(int p)
3505 indexstack[inext++] = p;
3506 indexstack[inext++] = bnext;
3509 static int popbuffer(void)
3512 bnext = indexstack[--inext];
3513 return indexstack[--inext];
3516 /* General internal entities are `unput' back onto the input stream... */
3517 #define ENTITYTEXT(T) \
3518 { char *s = (T), *e = s+strlen(s);\
3519 while (--e >= s) { unput(*e); }}
3521 /* Flex standard options. */
3522 #define YY_NO_INPUT 1
3523 /* Flex user-requested options. */
3524 /* XML character classes (currently restricted to ASCII). */
3525 /* "Common syntactic structures." */
3526 /* "Names and Tokens." */
3527 /* Miscellaneous. */
3528 /* Parser states (flex `exclusive start conditions'):
3530 * PROLOG the XML prolog of the document before <?xml...>
3531 * DOCTYPE the XML prolog of the document after <?xml...>
3532 * EPILOG after the root element
3533 * INCOMMENT inside an XML comment <!--....-->
3534 * INPI inside an XML PI <?...?>
3535 * VALUE1 inside a '...'-delimited literal
3536 * VALUE2 inside a "..."-delimited literal
3537 * CDATA inside a <![CDATA[...] ]> section.
3538 * ROOT_<tag> expect root element <tag>
3539 * AL_<tag> inside the attribute list for <tag>
3540 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3541 * IMPOSSIBLE dummy to permit disabling rules; must be last
3545 const char* *surfxml_statenames=NULL;
3556 #define ROOT_surfxml_platform 9
3557 #define AL_surfxml_platform 10
3558 #define S_surfxml_platform 11
3559 #define S_surfxml_platform_1 12
3560 #define S_surfxml_platform_2 13
3561 #define S_surfxml_platform_3 14
3562 #define S_surfxml_platform_4 15
3563 #define S_surfxml_platform_5 16
3564 #define S_surfxml_platform_6 17
3565 #define S_surfxml_platform_7 18
3566 #define S_surfxml_platform_8 19
3567 #define E_surfxml_platform 20
3568 #define AL_surfxml_include 21
3569 #define E_surfxml_include 22
3570 #define AL_surfxml_trace 23
3572 #define AL_surfxml_random 25
3573 #define S_surfxml_random 26
3574 #define S_surfxml_random_1 27
3575 #define S_surfxml_random_2 28
3576 #define E_surfxml_random 29
3577 #define AL_surfxml_trace_connect 30
3578 #define E_surfxml_trace_connect 31
3579 #define AL_surfxml_AS 32
3580 #define S_surfxml_AS 33
3581 #define S_surfxml_AS_1 34
3582 #define S_surfxml_AS_2 35
3583 #define S_surfxml_AS_3 36
3584 #define S_surfxml_AS_4 37
3585 #define S_surfxml_AS_5 38
3586 #define S_surfxml_AS_6 39
3587 #define S_surfxml_AS_7 40
3588 #define S_surfxml_AS_8 41
3589 #define S_surfxml_AS_9 42
3590 #define S_surfxml_AS_10 43
3591 #define S_surfxml_AS_11 44
3592 #define S_surfxml_AS_12 45
3593 #define S_surfxml_AS_13 46
3594 #define E_surfxml_AS 47
3595 #define AL_surfxml_host 48
3596 #define S_surfxml_host 49
3597 #define S_surfxml_host_1 50
3598 #define S_surfxml_host_2 51
3599 #define E_surfxml_host 52
3600 #define AL_surfxml_cluster 53
3601 #define E_surfxml_cluster 54
3602 #define AL_surfxml_peer 55
3603 #define E_surfxml_peer 56
3604 #define AL_surfxml_router 57
3605 #define E_surfxml_router 58
3606 #define AL_surfxml_link 59
3607 #define S_surfxml_link 60
3608 #define S_surfxml_link_1 61
3609 #define S_surfxml_link_2 62
3610 #define E_surfxml_link 63
3611 #define AL_surfxml_route 64
3612 #define S_surfxml_route 65
3613 #define S_surfxml_route_1 66
3614 #define S_surfxml_route_2 67
3615 #define E_surfxml_route 68
3616 #define AL_surfxml_ASroute 69
3617 #define S_surfxml_ASroute 70
3618 #define S_surfxml_ASroute_1 71
3619 #define S_surfxml_ASroute_2 72
3620 #define E_surfxml_ASroute 73
3621 #define AL_surfxml_link_ctn 74
3622 #define E_surfxml_link_ctn 75
3623 #define AL_surfxml_bypassRoute 76
3624 #define S_surfxml_bypassRoute 77
3625 #define S_surfxml_bypassRoute_1 78
3626 #define S_surfxml_bypassRoute_2 79
3627 #define E_surfxml_bypassRoute 80
3628 #define AL_surfxml_process 81
3629 #define S_surfxml_process 82
3630 #define S_surfxml_process_1 83
3631 #define S_surfxml_process_2 84
3632 #define E_surfxml_process 85
3633 #define AL_surfxml_argument 86
3634 #define E_surfxml_argument 87
3635 #define AL_surfxml_config 88
3636 #define S_surfxml_config 89
3637 #define S_surfxml_config_1 90
3638 #define S_surfxml_config_2 91
3639 #define E_surfxml_config 92
3640 #define AL_surfxml_prop 93
3641 #define E_surfxml_prop 94
3642 #define IMPOSSIBLE 95
3644 #ifndef YY_NO_UNISTD_H
3645 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3646 * down here because we want the user's section 1 to have been scanned first.
3647 * The user has a chance to override it with an option.
3649 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3650 # ifndef __STRICT_ANSI__
3652 # include <process.h>
3655 # include <unistd.h>
3659 #ifndef YY_EXTRA_TYPE
3660 #define YY_EXTRA_TYPE void *
3663 static int yy_init_globals (void );
3665 /* Accessor methods to globals.
3666 These are made visible to non-reentrant scanners for convenience. */
3668 int surf_parse_lex_destroy (void );
3670 int surf_parse_get_debug (void );
3672 void surf_parse_set_debug (int debug_flag );
3674 YY_EXTRA_TYPE surf_parse_get_extra (void );
3676 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3678 FILE *surf_parse_get_in (void );
3680 void surf_parse_set_in (FILE * in_str );
3682 FILE *surf_parse_get_out (void );
3684 void surf_parse_set_out (FILE * out_str );
3686 int surf_parse_get_leng (void );
3688 char *surf_parse_get_text (void );
3690 int surf_parse_get_lineno (void );
3692 void surf_parse_set_lineno (int line_number );
3694 /* Macros after this point can all be overridden by user definitions in
3698 #ifndef YY_SKIP_YYWRAP
3700 extern "C" int surf_parse_wrap (void );
3702 extern int surf_parse_wrap (void );
3707 static void yy_flex_strncpy (char *,yyconst char *,int );
3710 #ifdef YY_NEED_STRLEN
3711 static int yy_flex_strlen (yyconst char * );
3717 static int yyinput (void );
3719 static int input (void );
3724 static int yy_start_stack_ptr = 0;
3725 static int yy_start_stack_depth = 0;
3726 static int *yy_start_stack = NULL;
3728 static void yy_push_state (int new_state );
3730 static void yy_pop_state (void );
3732 /* Amount of stuff to slurp up with each read. */
3733 #ifndef YY_READ_BUF_SIZE
3735 /* On IA-64, the buffer size is 16k, not 8k */
3736 #define YY_READ_BUF_SIZE 16384
3738 #define YY_READ_BUF_SIZE 8192
3739 #endif /* __ia64__ */
3742 /* Copy whatever the last rule matched to the standard output. */
3744 /* This used to be an fputs(), but since the string might contain NUL's,
3745 * we now use fwrite().
3747 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3750 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3751 * is returned in "result".
3754 #define YY_INPUT(buf,result,max_size) \
3755 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3759 for ( n = 0; n < max_size && \
3760 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3761 buf[n] = (char) c; \
3763 buf[n++] = (char) c; \
3764 if ( c == EOF && ferror( surf_parse_in ) ) \
3765 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3771 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3773 if( errno != EINTR) \
3775 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3779 clearerr(surf_parse_in); \
3786 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3787 * we don't want an extra ';' after the "return" because that will cause
3788 * some compilers to complain about unreachable statements.
3791 #define yyterminate() return YY_NULL
3794 /* Number of entries by which start-condition stack grows. */
3795 #ifndef YY_START_STACK_INCR
3796 #define YY_START_STACK_INCR 25
3799 /* Report a fatal error. */
3800 #ifndef YY_FATAL_ERROR
3801 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3804 /* end tables serialization structures and prototypes */
3806 /* Default declaration of generated scanner - a define so the user can
3807 * easily add parameters.
3810 #define YY_DECL_IS_OURS 1
3812 extern int surf_parse_lex (void);
3814 #define YY_DECL int surf_parse_lex (void)
3815 #endif /* !YY_DECL */
3817 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3820 #ifndef YY_USER_ACTION
3821 #define YY_USER_ACTION
3824 /* Code executed at the end of each rule. */
3826 #define YY_BREAK break;
3829 #define YY_RULE_SETUP \
3832 /** The main scanner function which does all the work.
3836 register yy_state_type yy_current_state;
3837 register char *yy_cp, *yy_bp;
3838 register int yy_act;
3840 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3842 reset_surfxml_parse_err_msg();
3843 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3844 assert(surfxml_bufferstack);
3848 for (i = 0; i < blimit; i++) {
3849 surfxml_bufferstack[i] = '\377';
3853 surfxml_bufferstack[0] = '\0';
3854 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3860 surfxml_bufferliteral('\0', &bnext, "0.0");
3861 surfxml_bufferliteral('\0', &bnext, "2147483647");
3862 surfxml_bufferliteral('\0', &bnext, "1");
3863 surfxml_bufferliteral('\0', &bnext, "1.0");
3864 surfxml_bufferliteral('\0', &bnext, "1");
3865 surfxml_bufferliteral('\0', &bnext, "0.0");
3866 surfxml_bufferliteral('\0', &bnext, "-1.0");
3867 surfxml_bufferliteral('\0', &bnext, "-1.0");
3868 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3869 surfxml_statenames[PROLOG] = NULL;
3870 surfxml_statenames[DOCTYPE] = NULL;
3871 surfxml_statenames[EPILOG] = NULL;
3872 surfxml_statenames[INCOMMENT] = NULL;
3873 surfxml_statenames[INPI] = NULL;
3874 surfxml_statenames[VALUE1] = NULL;
3875 surfxml_statenames[VALUE2] = NULL;
3876 surfxml_statenames[CDATA] = NULL;
3877 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3878 surfxml_statenames[AL_surfxml_platform] = NULL;
3879 surfxml_statenames[S_surfxml_platform] = "platform";
3880 surfxml_statenames[S_surfxml_platform_1] = "platform";
3881 surfxml_statenames[S_surfxml_platform_2] = "platform";
3882 surfxml_statenames[S_surfxml_platform_3] = "platform";
3883 surfxml_statenames[S_surfxml_platform_4] = "platform";
3884 surfxml_statenames[S_surfxml_platform_5] = "platform";
3885 surfxml_statenames[S_surfxml_platform_6] = "platform";
3886 surfxml_statenames[S_surfxml_platform_7] = "platform";
3887 surfxml_statenames[S_surfxml_platform_8] = "platform";
3888 surfxml_statenames[E_surfxml_platform] = "platform";
3889 surfxml_statenames[AL_surfxml_include] = NULL;
3890 surfxml_statenames[E_surfxml_include] = "include";
3891 surfxml_statenames[AL_surfxml_trace] = NULL;
3892 surfxml_statenames[IN_trace] = "trace";
3893 surfxml_statenames[AL_surfxml_random] = NULL;
3894 surfxml_statenames[S_surfxml_random] = "random";
3895 surfxml_statenames[S_surfxml_random_1] = "random";
3896 surfxml_statenames[S_surfxml_random_2] = "random";
3897 surfxml_statenames[E_surfxml_random] = "random";
3898 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3899 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3900 surfxml_statenames[AL_surfxml_AS] = NULL;
3901 surfxml_statenames[S_surfxml_AS] = "AS";
3902 surfxml_statenames[S_surfxml_AS_1] = "AS";
3903 surfxml_statenames[S_surfxml_AS_2] = "AS";
3904 surfxml_statenames[S_surfxml_AS_3] = "AS";
3905 surfxml_statenames[S_surfxml_AS_4] = "AS";
3906 surfxml_statenames[S_surfxml_AS_5] = "AS";
3907 surfxml_statenames[S_surfxml_AS_6] = "AS";
3908 surfxml_statenames[S_surfxml_AS_7] = "AS";
3909 surfxml_statenames[S_surfxml_AS_8] = "AS";
3910 surfxml_statenames[S_surfxml_AS_9] = "AS";
3911 surfxml_statenames[S_surfxml_AS_10] = "AS";
3912 surfxml_statenames[S_surfxml_AS_11] = "AS";
3913 surfxml_statenames[S_surfxml_AS_12] = "AS";
3914 surfxml_statenames[S_surfxml_AS_13] = "AS";
3915 surfxml_statenames[E_surfxml_AS] = "AS";
3916 surfxml_statenames[AL_surfxml_host] = NULL;
3917 surfxml_statenames[S_surfxml_host] = "host";
3918 surfxml_statenames[S_surfxml_host_1] = "host";
3919 surfxml_statenames[S_surfxml_host_2] = "host";
3920 surfxml_statenames[E_surfxml_host] = "host";
3921 surfxml_statenames[AL_surfxml_cluster] = NULL;
3922 surfxml_statenames[E_surfxml_cluster] = "cluster";
3923 surfxml_statenames[AL_surfxml_peer] = NULL;
3924 surfxml_statenames[E_surfxml_peer] = "peer";
3925 surfxml_statenames[AL_surfxml_router] = NULL;
3926 surfxml_statenames[E_surfxml_router] = "router";
3927 surfxml_statenames[AL_surfxml_link] = NULL;
3928 surfxml_statenames[S_surfxml_link] = "link";
3929 surfxml_statenames[S_surfxml_link_1] = "link";
3930 surfxml_statenames[S_surfxml_link_2] = "link";
3931 surfxml_statenames[E_surfxml_link] = "link";
3932 surfxml_statenames[AL_surfxml_route] = NULL;
3933 surfxml_statenames[S_surfxml_route] = "route";
3934 surfxml_statenames[S_surfxml_route_1] = "route";
3935 surfxml_statenames[S_surfxml_route_2] = "route";
3936 surfxml_statenames[E_surfxml_route] = "route";
3937 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3938 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3939 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3940 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3941 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3942 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3943 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3944 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3945 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3946 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3947 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3948 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3949 surfxml_statenames[AL_surfxml_process] = NULL;
3950 surfxml_statenames[S_surfxml_process] = "process";
3951 surfxml_statenames[S_surfxml_process_1] = "process";
3952 surfxml_statenames[S_surfxml_process_2] = "process";
3953 surfxml_statenames[E_surfxml_process] = "process";
3954 surfxml_statenames[AL_surfxml_argument] = NULL;
3955 surfxml_statenames[E_surfxml_argument] = "argument";
3956 surfxml_statenames[AL_surfxml_config] = NULL;
3957 surfxml_statenames[S_surfxml_config] = "config";
3958 surfxml_statenames[S_surfxml_config_1] = "config";
3959 surfxml_statenames[S_surfxml_config_2] = "config";
3960 surfxml_statenames[E_surfxml_config] = "config";
3961 surfxml_statenames[AL_surfxml_prop] = NULL;
3962 surfxml_statenames[E_surfxml_prop] = "prop";
3965 /* COMMENTS and PIs: handled uniformly for efficiency. */
3976 (yy_start) = 1; /* first start state */
3978 if ( ! surf_parse_in )
3979 surf_parse_in = stdin;
3981 if ( ! surf_parse_out )
3982 surf_parse_out = stdout;
3984 if ( ! YY_CURRENT_BUFFER ) {
3985 surf_parse_ensure_buffer_stack ();
3986 YY_CURRENT_BUFFER_LVALUE =
3987 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3990 surf_parse__load_buffer_state( );
3993 while ( 1 ) /* loops until end-of-file is reached */
3995 yy_cp = (yy_c_buf_p);
3997 /* Support of surf_parse_text. */
3998 *yy_cp = (yy_hold_char);
4000 /* yy_bp points to the position in yy_ch_buf of the start of
4005 yy_current_state = (yy_start);
4009 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4010 if ( yy_accept[yy_current_state] )
4012 (yy_last_accepting_state) = yy_current_state;
4013 (yy_last_accepting_cpos) = yy_cp;
4015 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4017 yy_current_state = (int) yy_def[yy_current_state];
4018 if ( yy_current_state >= 2408 )
4019 yy_c = yy_meta[(unsigned int) yy_c];
4021 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4024 while ( yy_base[yy_current_state] != 8043 );
4027 yy_act = yy_accept[yy_current_state];
4029 { /* have to back up */
4030 yy_cp = (yy_last_accepting_cpos);
4031 yy_current_state = (yy_last_accepting_state);
4032 yy_act = yy_accept[yy_current_state];
4035 YY_DO_BEFORE_ACTION;
4037 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4040 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4041 if ( surf_parse_text[yyl] == '\n' )
4043 surf_parse_lineno++;
4047 do_action: /* This label is used only to access EOF actions. */
4050 { /* beginning of action switch */
4051 case 0: /* must back up */
4052 /* undo the effects of YY_DO_BEFORE_ACTION */
4053 *yy_cp = (yy_hold_char);
4054 yy_cp = (yy_last_accepting_cpos);
4055 yy_current_state = (yy_last_accepting_state);
4056 goto yy_find_action;
4074 /* rule 6 can match eol */
4078 case YY_STATE_EOF(INCOMMENT):
4079 FAIL("EOF in comment.");
4088 /* rule 9 can match eol */
4092 case YY_STATE_EOF(INPI):
4093 FAIL("EOF in PI (processing instruction).");
4096 /* SPACES: skipped uniformly */
4098 /* rule 10 can match eol */
4102 /* PROLOG: determine root element and process it. */
4105 /* rule 11 can match eol */
4110 /* rule 12 can match eol */
4112 FAIL("Bad declaration %s.",surf_parse_text);
4116 /* rule 13 can match eol */
4118 SET(ROOT_surfxml_platform);
4121 /* rule 14 can match eol */
4123 FAIL("Bad declaration %s.",surf_parse_text);
4127 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4129 case YY_STATE_EOF(PROLOG):
4130 case YY_STATE_EOF(DOCTYPE):
4131 FAIL("EOF in prolog.");
4134 /* RULES DERIVED FROM DTD. */
4135 /* <!-- Small DTD for SURF based tools. --> */
4137 /* rule 16 can match eol */
4139 FAIL("Starting tag <platform> is not allowed here.");
4142 /* rule 17 can match eol */
4145 AX_surfxml_platform_version = 1;
4146 ENTER(AL_surfxml_platform); pushbuffer(0);
4151 /* rule 18 can match eol */
4153 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4156 /* rule 19 can match eol */
4158 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4163 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4169 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4171 case ROOT_surfxml_platform: SET(EPILOG); break;
4177 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4181 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4183 case YY_STATE_EOF(AL_surfxml_platform):
4184 FAIL("EOF in attribute list of `platform' element.");
4188 /* rule 24 can match eol */
4192 ETag_surfxml_platform();
4193 popbuffer(); /* attribute */
4195 case ROOT_surfxml_platform: SET(EPILOG); break;
4200 /* rule 25 can match eol */
4202 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4206 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4208 case YY_STATE_EOF(S_surfxml_platform_8):
4209 case YY_STATE_EOF(S_surfxml_platform_1):
4210 case YY_STATE_EOF(S_surfxml_platform_3):
4211 case YY_STATE_EOF(S_surfxml_platform):
4212 case YY_STATE_EOF(S_surfxml_platform_4):
4213 case YY_STATE_EOF(S_surfxml_platform_6):
4214 case YY_STATE_EOF(E_surfxml_platform):
4215 FAIL("Premature EOF: `</platform>' expected.");
4219 /* rule 27 can match eol */
4221 FAIL("Starting tag <include> is not allowed here.");
4224 /* rule 28 can match eol */
4227 AX_surfxml_include_file = 0;
4228 ENTER(AL_surfxml_include); pushbuffer(0);
4233 /* rule 29 can match eol */
4235 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
4238 /* rule 30 can match eol */
4240 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
4245 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4246 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
4252 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4253 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4255 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4256 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4257 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4263 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4267 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4269 case YY_STATE_EOF(AL_surfxml_include):
4270 FAIL("EOF in attribute list of `include' element.");
4274 /* rule 35 can match eol */
4278 ETag_surfxml_include();
4279 popbuffer(); /* attribute */
4281 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4282 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4283 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4288 /* rule 36 can match eol */
4290 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4294 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4296 case YY_STATE_EOF(E_surfxml_include):
4297 FAIL("Premature EOF: `</include>' expected.");
4301 /* rule 38 can match eol */
4303 FAIL("Starting tag <trace> is not allowed here.");
4306 /* rule 39 can match eol */
4309 AX_surfxml_trace_id = 0;
4310 AX_surfxml_trace_file = 0;
4311 AX_surfxml_trace_periodicity = 0;
4312 ENTER(AL_surfxml_trace); pushbuffer(0);
4317 /* rule 40 can match eol */
4319 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4322 /* rule 41 can match eol */
4324 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4327 /* rule 42 can match eol */
4329 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4332 /* rule 43 can match eol */
4334 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4337 /* rule 44 can match eol */
4339 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4342 /* rule 45 can match eol */
4344 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4349 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4350 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4351 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4357 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4358 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4359 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4361 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;
4362 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4363 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4364 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4365 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4366 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4372 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4376 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4378 case YY_STATE_EOF(AL_surfxml_trace):
4379 FAIL("EOF in attribute list of `trace' element.");
4383 /* rule 50 can match eol */
4388 ETag_surfxml_trace();
4389 surfxml_pcdata_ix = popbuffer();
4390 popbuffer(); /* attribute */
4392 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;
4393 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4394 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4395 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4396 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4397 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4402 /* rule 51 can match eol */
4404 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4406 case YY_STATE_EOF(IN_trace):
4407 FAIL("Premature EOF: `</trace>' expected.");
4411 /* rule 52 can match eol */
4413 FAIL("Starting tag <random> is not allowed here.");
4416 /* rule 53 can match eol */
4419 AX_surfxml_random_id = 0;
4420 AX_surfxml_random_min = 0;
4421 AX_surfxml_random_max = 0;
4422 AX_surfxml_random_mean = 0;
4423 AX_surfxml_random_std_deviation = 0;
4424 AX_surfxml_random_seed = 5;
4425 AX_surfxml_random_radical = 0;
4426 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4427 ENTER(AL_surfxml_random); pushbuffer(0);
4432 /* rule 54 can match eol */
4434 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4437 /* rule 55 can match eol */
4439 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4442 /* rule 56 can match eol */
4444 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4447 /* rule 57 can match eol */
4449 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4452 /* rule 58 can match eol */
4454 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4457 /* rule 59 can match eol */
4459 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4462 /* rule 60 can match eol */
4464 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4467 /* rule 61 can match eol */
4469 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4472 /* rule 62 can match eol */
4474 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4477 /* rule 63 can match eol */
4479 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4482 /* rule 64 can match eol */
4484 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
4487 /* rule 65 can match eol */
4489 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
4492 /* rule 66 can match eol */
4494 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
4497 /* rule 67 can match eol */
4499 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
4502 /* rule 68 can match eol */
4504 /* rule 69 can match eol */
4506 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4509 /* rule 70 can match eol */
4511 /* rule 71 can match eol */
4513 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4516 /* rule 72 can match eol */
4518 /* rule 73 can match eol */
4520 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
4523 /* rule 74 can match eol */
4525 /* rule 75 can match eol */
4527 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
4532 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4533 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4534 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4535 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4536 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4537 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4543 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4544 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4545 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4546 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4547 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4548 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4550 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4556 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4560 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4562 case YY_STATE_EOF(AL_surfxml_random):
4563 FAIL("EOF in attribute list of `random' element.");
4567 /* rule 80 can match eol */
4571 ETag_surfxml_random();
4572 popbuffer(); /* attribute */
4574 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4579 /* rule 81 can match eol */
4581 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4585 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4587 case YY_STATE_EOF(S_surfxml_random_2):
4588 case YY_STATE_EOF(S_surfxml_random):
4589 case YY_STATE_EOF(E_surfxml_random):
4590 FAIL("Premature EOF: `</random>' expected.");
4594 /* rule 83 can match eol */
4596 FAIL("Starting tag <trace_connect> is not allowed here.");
4599 /* rule 84 can match eol */
4602 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4603 AX_surfxml_trace_connect_trace = 0;
4604 AX_surfxml_trace_connect_element = 0;
4605 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4610 /* rule 85 can match eol */
4612 /* rule 86 can match eol */
4614 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4617 /* rule 87 can match eol */
4619 /* rule 88 can match eol */
4621 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4624 /* rule 89 can match eol */
4626 /* rule 90 can match eol */
4628 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4631 /* rule 91 can match eol */
4633 /* rule 92 can match eol */
4635 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4638 /* rule 93 can match eol */
4640 /* rule 94 can match eol */
4642 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4645 /* rule 95 can match eol */
4647 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4650 /* rule 96 can match eol */
4652 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4655 /* rule 97 can match eol */
4657 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4660 /* rule 98 can match eol */
4662 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4667 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4668 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4669 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4675 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4676 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4677 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4679 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;
4680 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4681 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4682 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4683 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4684 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4690 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4694 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4696 case YY_STATE_EOF(AL_surfxml_trace_connect):
4697 FAIL("EOF in attribute list of `trace_connect' element.");
4701 /* rule 103 can match eol */
4705 ETag_surfxml_trace_connect();
4706 popbuffer(); /* attribute */
4708 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;
4709 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4710 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4711 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4712 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4713 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4718 /* rule 104 can match eol */
4720 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4724 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4726 case YY_STATE_EOF(E_surfxml_trace_connect):
4727 FAIL("Premature EOF: `</trace_connect>' expected.");
4731 /* rule 106 can match eol */
4733 FAIL("Starting tag <AS> is not allowed here.");
4736 /* rule 107 can match eol */
4739 AX_surfxml_AS_id = 0;
4740 AX_surfxml_AS_routing = 0;
4741 ENTER(AL_surfxml_AS); pushbuffer(0);
4746 /* rule 108 can match eol */
4748 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4751 /* rule 109 can match eol */
4753 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4756 /* rule 110 can match eol */
4758 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4761 /* rule 111 can match eol */
4763 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4768 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4769 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4770 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4776 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4777 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4778 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4780 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4781 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4787 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4791 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4793 case YY_STATE_EOF(AL_surfxml_AS):
4794 FAIL("EOF in attribute list of `AS' element.");
4798 /* rule 116 can match eol */
4803 popbuffer(); /* attribute */
4805 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4806 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4811 /* rule 117 can match eol */
4813 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4817 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4819 case YY_STATE_EOF(S_surfxml_AS_1):
4820 case YY_STATE_EOF(S_surfxml_AS_9):
4821 case YY_STATE_EOF(S_surfxml_AS_11):
4822 case YY_STATE_EOF(S_surfxml_AS_6):
4823 case YY_STATE_EOF(E_surfxml_AS):
4824 case YY_STATE_EOF(S_surfxml_AS_3):
4825 case YY_STATE_EOF(S_surfxml_AS_13):
4826 case YY_STATE_EOF(S_surfxml_AS_8):
4827 case YY_STATE_EOF(S_surfxml_AS):
4828 case YY_STATE_EOF(S_surfxml_AS_4):
4829 FAIL("Premature EOF: `</AS>' expected.");
4833 /* rule 119 can match eol */
4835 FAIL("Starting tag <host> is not allowed here.");
4838 /* rule 120 can match eol */
4841 AX_surfxml_host_id = 0;
4842 AX_surfxml_host_power = 0;
4843 AX_surfxml_host_core = 16;
4844 AX_surfxml_host_availability = 18;
4845 AX_surfxml_host_availability_file = 0;
4846 AX_surfxml_host_state = A_surfxml_host_state_ON;
4847 AX_surfxml_host_state_file = 0;
4848 AX_surfxml_host_coordinates = 0;
4849 ENTER(AL_surfxml_host); pushbuffer(0);
4854 /* rule 121 can match eol */
4856 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4859 /* rule 122 can match eol */
4861 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4864 /* rule 123 can match eol */
4866 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4869 /* rule 124 can match eol */
4871 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4874 /* rule 125 can match eol */
4876 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4879 /* rule 126 can match eol */
4881 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4884 /* rule 127 can match eol */
4886 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4889 /* rule 128 can match eol */
4891 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4894 /* rule 129 can match eol */
4896 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4899 /* rule 130 can match eol */
4901 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4904 /* rule 131 can match eol */
4906 /* rule 132 can match eol */
4908 A_surfxml_host_state = A_surfxml_host_state_ON;
4911 /* rule 133 can match eol */
4913 /* rule 134 can match eol */
4915 A_surfxml_host_state = A_surfxml_host_state_OFF;
4918 /* rule 135 can match eol */
4920 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4923 /* rule 136 can match eol */
4925 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4928 /* rule 137 can match eol */
4930 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4933 /* rule 138 can match eol */
4935 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4940 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4941 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4942 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4948 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4949 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4950 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4952 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4958 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4962 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4964 case YY_STATE_EOF(AL_surfxml_host):
4965 FAIL("EOF in attribute list of `host' element.");
4969 /* rule 143 can match eol */
4973 ETag_surfxml_host();
4974 popbuffer(); /* attribute */
4976 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4981 /* rule 144 can match eol */
4983 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4987 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4989 case YY_STATE_EOF(S_surfxml_host):
4990 case YY_STATE_EOF(E_surfxml_host):
4991 case YY_STATE_EOF(S_surfxml_host_2):
4992 FAIL("Premature EOF: `</host>' expected.");
4996 /* rule 146 can match eol */
4998 FAIL("Starting tag <cluster> is not allowed here.");
5001 /* rule 147 can match eol */
5004 AX_surfxml_cluster_id = 0;
5005 AX_surfxml_cluster_prefix = 0;
5006 AX_surfxml_cluster_suffix = 0;
5007 AX_surfxml_cluster_radical = 0;
5008 AX_surfxml_cluster_power = 0;
5009 AX_surfxml_cluster_core = 22;
5010 AX_surfxml_cluster_bw = 0;
5011 AX_surfxml_cluster_lat = 0;
5012 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5013 AX_surfxml_cluster_bb_bw = 0;
5014 AX_surfxml_cluster_bb_lat = 0;
5015 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5016 AX_surfxml_cluster_availability_file = 0;
5017 AX_surfxml_cluster_state_file = 0;
5018 ENTER(AL_surfxml_cluster); pushbuffer(0);
5023 /* rule 148 can match eol */
5025 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
5028 /* rule 149 can match eol */
5030 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
5033 /* rule 150 can match eol */
5035 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
5038 /* rule 151 can match eol */
5040 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
5043 /* rule 152 can match eol */
5045 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
5048 /* rule 153 can match eol */
5050 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
5053 /* rule 154 can match eol */
5055 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
5058 /* rule 155 can match eol */
5060 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
5063 /* rule 156 can match eol */
5065 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
5068 /* rule 157 can match eol */
5070 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
5073 /* rule 158 can match eol */
5075 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
5078 /* rule 159 can match eol */
5080 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
5083 /* rule 160 can match eol */
5085 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
5088 /* rule 161 can match eol */
5090 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
5093 /* rule 162 can match eol */
5095 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
5098 /* rule 163 can match eol */
5100 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
5103 /* rule 164 can match eol */
5105 /* rule 165 can match eol */
5107 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
5110 /* rule 166 can match eol */
5112 /* rule 167 can match eol */
5114 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
5117 /* rule 168 can match eol */
5119 /* rule 169 can match eol */
5121 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
5124 /* rule 170 can match eol */
5126 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
5129 /* rule 171 can match eol */
5131 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
5134 /* rule 172 can match eol */
5136 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
5139 /* rule 173 can match eol */
5141 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
5144 /* rule 174 can match eol */
5146 /* rule 175 can match eol */
5148 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5151 /* rule 176 can match eol */
5153 /* rule 177 can match eol */
5155 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
5158 /* rule 178 can match eol */
5160 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
5163 /* rule 179 can match eol */
5165 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
5168 /* rule 180 can match eol */
5170 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
5173 /* rule 181 can match eol */
5175 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
5180 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5181 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5182 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5183 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5184 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5185 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5186 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5187 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5188 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5189 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5195 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5196 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5197 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5198 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5199 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5200 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5201 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5202 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5203 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5204 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5206 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5207 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5213 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5217 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5219 case YY_STATE_EOF(AL_surfxml_cluster):
5220 FAIL("EOF in attribute list of `cluster' element.");
5224 /* rule 186 can match eol */
5228 ETag_surfxml_cluster();
5229 popbuffer(); /* attribute */
5231 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5232 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5237 /* rule 187 can match eol */
5239 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5243 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5245 case YY_STATE_EOF(E_surfxml_cluster):
5246 FAIL("Premature EOF: `</cluster>' expected.");
5250 /* rule 189 can match eol */
5252 FAIL("Starting tag <peer> is not allowed here.");
5255 /* rule 190 can match eol */
5258 AX_surfxml_peer_id = 0;
5259 AX_surfxml_peer_power = 0;
5260 AX_surfxml_peer_bw_in = 0;
5261 AX_surfxml_peer_bw_out = 0;
5262 AX_surfxml_peer_lat = 0;
5263 AX_surfxml_peer_coordinates = 0;
5264 AX_surfxml_peer_availability_file = 0;
5265 AX_surfxml_peer_state_file = 0;
5266 ENTER(AL_surfxml_peer); pushbuffer(0);
5271 /* rule 191 can match eol */
5273 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5276 /* rule 192 can match eol */
5278 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5281 /* rule 193 can match eol */
5283 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5286 /* rule 194 can match eol */
5288 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5291 /* rule 195 can match eol */
5293 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5296 /* rule 196 can match eol */
5298 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5301 /* rule 197 can match eol */
5303 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5306 /* rule 198 can match eol */
5308 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5311 /* rule 199 can match eol */
5313 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5316 /* rule 200 can match eol */
5318 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5321 /* rule 201 can match eol */
5323 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5326 /* rule 202 can match eol */
5328 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5331 /* rule 203 can match eol */
5333 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5336 /* rule 204 can match eol */
5338 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5341 /* rule 205 can match eol */
5343 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5346 /* rule 206 can match eol */
5348 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5353 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5354 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5355 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5356 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5357 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5358 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5364 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5365 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5366 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5367 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5368 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5369 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5371 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5372 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5378 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5382 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5384 case YY_STATE_EOF(AL_surfxml_peer):
5385 FAIL("EOF in attribute list of `peer' element.");
5389 /* rule 211 can match eol */
5393 ETag_surfxml_peer();
5394 popbuffer(); /* attribute */
5396 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5397 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5402 /* rule 212 can match eol */
5404 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5408 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5410 case YY_STATE_EOF(E_surfxml_peer):
5411 FAIL("Premature EOF: `</peer>' expected.");
5415 /* rule 214 can match eol */
5417 FAIL("Starting tag <router> is not allowed here.");
5420 /* rule 215 can match eol */
5423 AX_surfxml_router_id = 0;
5424 AX_surfxml_router_coordinates = 0;
5425 ENTER(AL_surfxml_router); pushbuffer(0);
5430 /* rule 216 can match eol */
5432 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5435 /* rule 217 can match eol */
5437 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5440 /* rule 218 can match eol */
5442 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5445 /* rule 219 can match eol */
5447 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5452 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5453 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5459 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5460 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5462 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5468 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5472 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5474 case YY_STATE_EOF(AL_surfxml_router):
5475 FAIL("EOF in attribute list of `router' element.");
5479 /* rule 224 can match eol */
5483 ETag_surfxml_router();
5484 popbuffer(); /* attribute */
5486 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5491 /* rule 225 can match eol */
5493 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5497 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5499 case YY_STATE_EOF(E_surfxml_router):
5500 FAIL("Premature EOF: `</router>' expected.");
5504 /* rule 227 can match eol */
5506 FAIL("Starting tag <link> is not allowed here.");
5509 /* rule 228 can match eol */
5512 AX_surfxml_link_id = 0;
5513 AX_surfxml_link_bandwidth = 0;
5514 AX_surfxml_link_bandwidth_file = 0;
5515 AX_surfxml_link_latency = 24;
5516 AX_surfxml_link_latency_file = 0;
5517 AX_surfxml_link_state = A_surfxml_link_state_ON;
5518 AX_surfxml_link_state_file = 0;
5519 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5520 ENTER(AL_surfxml_link); pushbuffer(0);
5525 /* rule 229 can match eol */
5527 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5530 /* rule 230 can match eol */
5532 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5535 /* rule 231 can match eol */
5537 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5540 /* rule 232 can match eol */
5542 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5545 /* rule 233 can match eol */
5547 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5550 /* rule 234 can match eol */
5552 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5555 /* rule 235 can match eol */
5557 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5560 /* rule 236 can match eol */
5562 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5565 /* rule 237 can match eol */
5567 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5570 /* rule 238 can match eol */
5572 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5575 /* rule 239 can match eol */
5577 /* rule 240 can match eol */
5579 A_surfxml_link_state = A_surfxml_link_state_ON;
5582 /* rule 241 can match eol */
5584 /* rule 242 can match eol */
5586 A_surfxml_link_state = A_surfxml_link_state_OFF;
5589 /* rule 243 can match eol */
5591 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5594 /* rule 244 can match eol */
5596 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5599 /* rule 245 can match eol */
5601 /* rule 246 can match eol */
5603 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5606 /* rule 247 can match eol */
5608 /* rule 248 can match eol */
5610 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5613 /* rule 249 can match eol */
5615 /* rule 250 can match eol */
5617 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5622 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5623 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5624 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5630 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5631 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5632 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5634 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5635 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5641 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5645 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5647 case YY_STATE_EOF(AL_surfxml_link):
5648 FAIL("EOF in attribute list of `link' element.");
5652 /* rule 255 can match eol */
5656 ETag_surfxml_link();
5657 popbuffer(); /* attribute */
5659 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5660 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5665 /* rule 256 can match eol */
5667 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5671 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5673 case YY_STATE_EOF(E_surfxml_link):
5674 case YY_STATE_EOF(S_surfxml_link_2):
5675 case YY_STATE_EOF(S_surfxml_link):
5676 FAIL("Premature EOF: `</link>' expected.");
5680 /* rule 258 can match eol */
5682 FAIL("Starting tag <route> is not allowed here.");
5685 /* rule 259 can match eol */
5688 AX_surfxml_route_src = 0;
5689 AX_surfxml_route_dst = 0;
5690 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5691 ENTER(AL_surfxml_route); pushbuffer(0);
5696 /* rule 260 can match eol */
5698 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5701 /* rule 261 can match eol */
5703 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5706 /* rule 262 can match eol */
5708 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5711 /* rule 263 can match eol */
5713 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5716 /* rule 264 can match eol */
5718 /* rule 265 can match eol */
5720 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5723 /* rule 266 can match eol */
5725 /* rule 267 can match eol */
5727 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5732 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5733 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5734 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5740 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5741 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5742 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5744 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;
5750 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5754 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5756 case YY_STATE_EOF(AL_surfxml_route):
5757 FAIL("EOF in attribute list of `route' element.");
5761 /* rule 272 can match eol */
5765 ETag_surfxml_route();
5766 popbuffer(); /* attribute */
5768 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;
5773 /* rule 273 can match eol */
5775 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5779 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5781 case YY_STATE_EOF(S_surfxml_route):
5782 case YY_STATE_EOF(S_surfxml_route_2):
5783 case YY_STATE_EOF(E_surfxml_route):
5784 FAIL("Premature EOF: `</route>' expected.");
5788 /* rule 275 can match eol */
5790 FAIL("Starting tag <ASroute> is not allowed here.");
5793 /* rule 276 can match eol */
5796 AX_surfxml_ASroute_src = 0;
5797 AX_surfxml_ASroute_dst = 0;
5798 AX_surfxml_ASroute_gw_src = 0;
5799 AX_surfxml_ASroute_gw_dst = 0;
5800 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5801 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5806 /* rule 277 can match eol */
5808 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5811 /* rule 278 can match eol */
5813 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5816 /* rule 279 can match eol */
5818 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5821 /* rule 280 can match eol */
5823 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5826 /* rule 281 can match eol */
5828 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5831 /* rule 282 can match eol */
5833 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5836 /* rule 283 can match eol */
5838 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5841 /* rule 284 can match eol */
5843 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5846 /* rule 285 can match eol */
5848 /* rule 286 can match eol */
5850 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5853 /* rule 287 can match eol */
5855 /* rule 288 can match eol */
5857 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5862 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5863 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5864 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5865 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5866 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5872 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5873 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5874 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5875 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5876 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5878 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;
5884 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5888 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5890 case YY_STATE_EOF(AL_surfxml_ASroute):
5891 FAIL("EOF in attribute list of `ASroute' element.");
5895 /* rule 293 can match eol */
5899 ETag_surfxml_ASroute();
5900 popbuffer(); /* attribute */
5902 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;
5907 /* rule 294 can match eol */
5909 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5913 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5915 case YY_STATE_EOF(E_surfxml_ASroute):
5916 case YY_STATE_EOF(S_surfxml_ASroute):
5917 case YY_STATE_EOF(S_surfxml_ASroute_2):
5918 FAIL("Premature EOF: `</ASroute>' expected.");
5922 /* rule 296 can match eol */
5924 FAIL("Starting tag <link_ctn> is not allowed here.");
5927 /* rule 297 can match eol */
5930 AX_surfxml_link_ctn_id = 0;
5931 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5932 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5937 /* rule 298 can match eol */
5939 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5942 /* rule 299 can match eol */
5944 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5947 /* rule 300 can match eol */
5949 /* rule 301 can match eol */
5951 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5954 /* rule 302 can match eol */
5956 /* rule 303 can match eol */
5958 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5961 /* rule 304 can match eol */
5963 /* rule 305 can match eol */
5965 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5970 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5971 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5977 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5978 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5980 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5981 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5982 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5988 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5992 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5994 case YY_STATE_EOF(AL_surfxml_link_ctn):
5995 FAIL("EOF in attribute list of `link_ctn' element.");
5999 /* rule 310 can match eol */
6003 ETag_surfxml_link_ctn();
6004 popbuffer(); /* attribute */
6006 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
6007 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
6008 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
6013 /* rule 311 can match eol */
6015 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
6019 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
6021 case YY_STATE_EOF(E_surfxml_link_ctn):
6022 FAIL("Premature EOF: `</link_ctn>' expected.");
6026 /* rule 313 can match eol */
6028 FAIL("Starting tag <bypassRoute> is not allowed here.");
6031 /* rule 314 can match eol */
6034 AX_surfxml_bypassRoute_src = 0;
6035 AX_surfxml_bypassRoute_dst = 0;
6036 AX_surfxml_bypassRoute_gw_src = 0;
6037 AX_surfxml_bypassRoute_gw_dst = 0;
6038 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
6043 /* rule 315 can match eol */
6045 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
6048 /* rule 316 can match eol */
6050 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
6053 /* rule 317 can match eol */
6055 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
6058 /* rule 318 can match eol */
6060 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
6063 /* rule 319 can match eol */
6065 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6068 /* rule 320 can match eol */
6070 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
6073 /* rule 321 can match eol */
6075 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6078 /* rule 322 can match eol */
6080 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
6085 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6086 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6087 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6088 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6089 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
6095 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
6096 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
6097 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
6098 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
6099 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
6101 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;
6107 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
6111 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6113 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6114 FAIL("EOF in attribute list of `bypassRoute' element.");
6118 /* rule 327 can match eol */
6122 ETag_surfxml_bypassRoute();
6123 popbuffer(); /* attribute */
6125 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;
6130 /* rule 328 can match eol */
6132 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6136 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6138 case YY_STATE_EOF(S_surfxml_bypassRoute):
6139 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6140 case YY_STATE_EOF(E_surfxml_bypassRoute):
6141 FAIL("Premature EOF: `</bypassRoute>' expected.");
6145 /* rule 330 can match eol */
6147 FAIL("Starting tag <process> is not allowed here.");
6150 /* rule 331 can match eol */
6153 AX_surfxml_process_host = 0;
6154 AX_surfxml_process_function = 0;
6155 AX_surfxml_process_start_time = 28;
6156 AX_surfxml_process_kill_time = 33;
6157 ENTER(AL_surfxml_process); pushbuffer(0);
6162 /* rule 332 can match eol */
6164 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
6167 /* rule 333 can match eol */
6169 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
6172 /* rule 334 can match eol */
6174 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
6177 /* rule 335 can match eol */
6179 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
6182 /* rule 336 can match eol */
6184 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
6187 /* rule 337 can match eol */
6189 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
6192 /* rule 338 can match eol */
6194 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
6197 /* rule 339 can match eol */
6199 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6204 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6205 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6206 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6212 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6213 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6214 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6216 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6222 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6226 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6228 case YY_STATE_EOF(AL_surfxml_process):
6229 FAIL("EOF in attribute list of `process' element.");
6233 /* rule 344 can match eol */
6237 ETag_surfxml_process();
6238 popbuffer(); /* attribute */
6240 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
6245 /* rule 345 can match eol */
6247 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6251 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6253 case YY_STATE_EOF(E_surfxml_process):
6254 case YY_STATE_EOF(S_surfxml_process):
6255 case YY_STATE_EOF(S_surfxml_process_2):
6256 FAIL("Premature EOF: `</process>' expected.");
6260 /* rule 347 can match eol */
6262 FAIL("Starting tag <argument> is not allowed here.");
6265 /* rule 348 can match eol */
6268 AX_surfxml_argument_value = 0;
6269 ENTER(AL_surfxml_argument); pushbuffer(0);
6274 /* rule 349 can match eol */
6276 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6279 /* rule 350 can match eol */
6281 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6286 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6287 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6293 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6294 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6296 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6302 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6306 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6308 case YY_STATE_EOF(AL_surfxml_argument):
6309 FAIL("EOF in attribute list of `argument' element.");
6313 /* rule 355 can match eol */
6317 ETag_surfxml_argument();
6318 popbuffer(); /* attribute */
6320 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6325 /* rule 356 can match eol */
6327 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6331 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6333 case YY_STATE_EOF(E_surfxml_argument):
6334 FAIL("Premature EOF: `</argument>' expected.");
6338 /* rule 358 can match eol */
6340 FAIL("Starting tag <config> is not allowed here.");
6343 /* rule 359 can match eol */
6346 AX_surfxml_config_id = 0;
6347 ENTER(AL_surfxml_config); pushbuffer(0);
6352 /* rule 360 can match eol */
6354 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6357 /* rule 361 can match eol */
6359 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6364 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6370 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6372 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6378 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6382 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6384 case YY_STATE_EOF(AL_surfxml_config):
6385 FAIL("EOF in attribute list of `config' element.");
6389 /* rule 366 can match eol */
6393 ETag_surfxml_config();
6394 popbuffer(); /* attribute */
6396 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6401 /* rule 367 can match eol */
6403 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6407 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6409 case YY_STATE_EOF(S_surfxml_config):
6410 case YY_STATE_EOF(S_surfxml_config_2):
6411 case YY_STATE_EOF(E_surfxml_config):
6412 FAIL("Premature EOF: `</config>' expected.");
6415 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6416 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6418 /* rule 369 can match eol */
6420 FAIL("Starting tag <prop> is not allowed here.");
6423 /* rule 370 can match eol */
6426 AX_surfxml_prop_id = 0;
6427 AX_surfxml_prop_value = 0;
6428 ENTER(AL_surfxml_prop); pushbuffer(0);
6433 /* rule 371 can match eol */
6435 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6438 /* rule 372 can match eol */
6440 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6443 /* rule 373 can match eol */
6445 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6448 /* rule 374 can match eol */
6450 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6455 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6456 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6457 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6463 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6464 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6465 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6467 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6468 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6469 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6470 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6471 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6477 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6481 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6483 case YY_STATE_EOF(AL_surfxml_prop):
6484 FAIL("EOF in attribute list of `prop' element.");
6488 /* rule 379 can match eol */
6492 ETag_surfxml_prop();
6493 popbuffer(); /* attribute */
6495 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6496 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6497 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6498 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6499 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6504 /* rule 380 can match eol */
6506 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6510 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6512 case YY_STATE_EOF(E_surfxml_prop):
6513 FAIL("Premature EOF: `</prop>' expected.");
6516 /* EPILOG: after the root element. */
6520 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6522 case YY_STATE_EOF(EPILOG):
6526 /* CHARACTER DATA. */
6528 /* Non-defined standard entities... */
6549 /* Character entities. */
6552 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6556 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6560 /* rule 390 can match eol */
6562 /* rule 391 can match eol */
6564 /* rule 392 can match eol */
6566 /* rule 393 can match eol */
6577 FAIL("Unexpected `]""]>' in character data.");
6584 case YY_STATE_EOF(VALUE1):
6585 FAIL("EOF in literal (\"'\" expected).");
6592 case YY_STATE_EOF(VALUE2):
6593 FAIL("EOF in literal (`\"' expected).");
6597 /* rule 398 can match eol */
6599 BUFFERPUTC(surf_parse_text[0]);
6603 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6610 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6613 BUFFERPUTC(surf_parse_text[0]);
6615 case YY_STATE_EOF(CDATA):
6616 FAIL("EOF in CDATA section.");
6619 /* Impossible rules to avoid warnings from flex(1). */
6620 /* Ideally, this should be replaced by code in flexml.pl that
6621 generates just the states not covered by other rules. */
6624 /* rule 402 can match eol */
6626 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6633 case YY_STATE_EOF(INITIAL):
6634 case YY_STATE_EOF(ROOT_surfxml_platform):
6635 case YY_STATE_EOF(S_surfxml_platform_2):
6636 case YY_STATE_EOF(S_surfxml_platform_5):
6637 case YY_STATE_EOF(S_surfxml_platform_7):
6638 case YY_STATE_EOF(S_surfxml_random_1):
6639 case YY_STATE_EOF(S_surfxml_AS_2):
6640 case YY_STATE_EOF(S_surfxml_AS_5):
6641 case YY_STATE_EOF(S_surfxml_AS_7):
6642 case YY_STATE_EOF(S_surfxml_AS_10):
6643 case YY_STATE_EOF(S_surfxml_AS_12):
6644 case YY_STATE_EOF(S_surfxml_host_1):
6645 case YY_STATE_EOF(S_surfxml_link_1):
6646 case YY_STATE_EOF(S_surfxml_route_1):
6647 case YY_STATE_EOF(S_surfxml_ASroute_1):
6648 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6649 case YY_STATE_EOF(S_surfxml_process_1):
6650 case YY_STATE_EOF(S_surfxml_config_1):
6651 case YY_STATE_EOF(IMPOSSIBLE):
6654 case YY_END_OF_BUFFER:
6656 /* Amount of text matched not including the EOB char. */
6657 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6659 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6660 *yy_cp = (yy_hold_char);
6661 YY_RESTORE_YY_MORE_OFFSET
6663 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6665 /* We're scanning a new file or input source. It's
6666 * possible that this happened because the user
6667 * just pointed surf_parse_in at a new source and called
6668 * surf_parse_lex(). If so, then we have to assure
6669 * consistency between YY_CURRENT_BUFFER and our
6670 * globals. Here is the right place to do so, because
6671 * this is the first action (other than possibly a
6672 * back-up) that will match for the new input source.
6674 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6675 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6676 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6679 /* Note that here we test for yy_c_buf_p "<=" to the position
6680 * of the first EOB in the buffer, since yy_c_buf_p will
6681 * already have been incremented past the NUL character
6682 * (since all states make transitions on EOB to the
6683 * end-of-buffer state). Contrast this with the test
6686 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6687 { /* This was really a NUL. */
6688 yy_state_type yy_next_state;
6690 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6692 yy_current_state = yy_get_previous_state( );
6694 /* Okay, we're now positioned to make the NUL
6695 * transition. We couldn't have
6696 * yy_get_previous_state() go ahead and do it
6697 * for us because it doesn't know how to deal
6698 * with the possibility of jamming (and we don't
6699 * want to build jamming into it because then it
6700 * will run more slowly).
6703 yy_next_state = yy_try_NUL_trans( yy_current_state );
6705 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6707 if ( yy_next_state )
6709 /* Consume the NUL. */
6710 yy_cp = ++(yy_c_buf_p);
6711 yy_current_state = yy_next_state;
6717 yy_cp = (yy_c_buf_p);
6718 goto yy_find_action;
6722 else switch ( yy_get_next_buffer( ) )
6724 case EOB_ACT_END_OF_FILE:
6726 (yy_did_buffer_switch_on_eof) = 0;
6728 if ( surf_parse_wrap( ) )
6730 /* Note: because we've taken care in
6731 * yy_get_next_buffer() to have set up
6732 * surf_parse_text, we can now set up
6733 * yy_c_buf_p so that if some total
6734 * hoser (like flex itself) wants to
6735 * call the scanner after we return the
6736 * YY_NULL, it'll still work - another
6737 * YY_NULL will get returned.
6739 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6741 yy_act = YY_STATE_EOF(YY_START);
6747 if ( ! (yy_did_buffer_switch_on_eof) )
6753 case EOB_ACT_CONTINUE_SCAN:
6755 (yytext_ptr) + yy_amount_of_matched_text;
6757 yy_current_state = yy_get_previous_state( );
6759 yy_cp = (yy_c_buf_p);
6760 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6763 case EOB_ACT_LAST_MATCH:
6765 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6767 yy_current_state = yy_get_previous_state( );
6769 yy_cp = (yy_c_buf_p);
6770 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6771 goto yy_find_action;
6778 "fatal flex scanner internal error--no action found" );
6779 } /* end of action switch */
6780 } /* end of scanning one token */
6781 } /* end of surf_parse_lex */
6783 /* yy_get_next_buffer - try to read in a new buffer
6785 * Returns a code representing an action:
6786 * EOB_ACT_LAST_MATCH -
6787 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6788 * EOB_ACT_END_OF_FILE - end of file
6790 static int yy_get_next_buffer (void)
6792 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6793 register char *source = (yytext_ptr);
6794 register int number_to_move, i;
6797 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6799 "fatal flex scanner internal error--end of buffer missed" );
6801 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6802 { /* Don't try to fill the buffer, so this is an EOF. */
6803 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6805 /* We matched a single character, the EOB, so
6806 * treat this as a final EOF.
6808 return EOB_ACT_END_OF_FILE;
6813 /* We matched some text prior to the EOB, first
6816 return EOB_ACT_LAST_MATCH;
6820 /* Try to read more data. */
6822 /* First move last chars to start of buffer. */
6823 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6825 for ( i = 0; i < number_to_move; ++i )
6826 *(dest++) = *(source++);
6828 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6829 /* don't do the read, it's not guaranteed to return an EOF,
6832 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6837 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6839 while ( num_to_read <= 0 )
6840 { /* Not enough room in the buffer - grow it. */
6842 /* just a shorter name for the current buffer */
6843 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6845 int yy_c_buf_p_offset =
6846 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6848 if ( b->yy_is_our_buffer )
6850 int new_size = b->yy_buf_size * 2;
6852 if ( new_size <= 0 )
6853 b->yy_buf_size += b->yy_buf_size / 8;
6855 b->yy_buf_size *= 2;
6857 b->yy_ch_buf = (char *)
6858 /* Include room in for 2 EOB chars. */
6859 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6862 /* Can't grow it, we don't own it. */
6865 if ( ! b->yy_ch_buf )
6867 "fatal error - scanner input buffer overflow" );
6869 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6871 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6876 if ( num_to_read > YY_READ_BUF_SIZE )
6877 num_to_read = YY_READ_BUF_SIZE;
6879 /* Read in more data. */
6880 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6881 (yy_n_chars), (size_t) num_to_read );
6883 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6886 if ( (yy_n_chars) == 0 )
6888 if ( number_to_move == YY_MORE_ADJ )
6890 ret_val = EOB_ACT_END_OF_FILE;
6891 surf_parse_restart(surf_parse_in );
6896 ret_val = EOB_ACT_LAST_MATCH;
6897 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6898 YY_BUFFER_EOF_PENDING;
6903 ret_val = EOB_ACT_CONTINUE_SCAN;
6905 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6906 /* Extend the array by 50%, plus the number we really need. */
6907 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6908 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6909 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6910 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6913 (yy_n_chars) += number_to_move;
6914 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6915 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6917 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6922 /* yy_get_previous_state - get the state just before the EOB char was reached */
6924 static yy_state_type yy_get_previous_state (void)
6926 register yy_state_type yy_current_state;
6927 register char *yy_cp;
6929 yy_current_state = (yy_start);
6931 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6933 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6934 if ( yy_accept[yy_current_state] )
6936 (yy_last_accepting_state) = yy_current_state;
6937 (yy_last_accepting_cpos) = yy_cp;
6939 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6941 yy_current_state = (int) yy_def[yy_current_state];
6942 if ( yy_current_state >= 2408 )
6943 yy_c = yy_meta[(unsigned int) yy_c];
6945 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6948 return yy_current_state;
6951 /* yy_try_NUL_trans - try to make a transition on the NUL character
6954 * next_state = yy_try_NUL_trans( current_state );
6956 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6958 register int yy_is_jam;
6959 register char *yy_cp = (yy_c_buf_p);
6961 register YY_CHAR yy_c = 1;
6962 if ( yy_accept[yy_current_state] )
6964 (yy_last_accepting_state) = yy_current_state;
6965 (yy_last_accepting_cpos) = yy_cp;
6967 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6969 yy_current_state = (int) yy_def[yy_current_state];
6970 if ( yy_current_state >= 2408 )
6971 yy_c = yy_meta[(unsigned int) yy_c];
6973 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6974 yy_is_jam = (yy_current_state == 2407);
6976 return yy_is_jam ? 0 : yy_current_state;
6981 static int yyinput (void)
6983 static int input (void)
6989 *(yy_c_buf_p) = (yy_hold_char);
6991 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6993 /* yy_c_buf_p now points to the character we want to return.
6994 * If this occurs *before* the EOB characters, then it's a
6995 * valid NUL; if not, then we've hit the end of the buffer.
6997 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6998 /* This was really a NUL. */
6999 *(yy_c_buf_p) = '\0';
7002 { /* need more input */
7003 int offset = (yy_c_buf_p) - (yytext_ptr);
7006 switch ( yy_get_next_buffer( ) )
7008 case EOB_ACT_LAST_MATCH:
7009 /* This happens because yy_g_n_b()
7010 * sees that we've accumulated a
7011 * token and flags that we need to
7012 * try matching the token before
7013 * proceeding. But for input(),
7014 * there's no matching to consider.
7015 * So convert the EOB_ACT_LAST_MATCH
7016 * to EOB_ACT_END_OF_FILE.
7019 /* Reset buffer status. */
7020 surf_parse_restart(surf_parse_in );
7024 case EOB_ACT_END_OF_FILE:
7026 if ( surf_parse_wrap( ) )
7029 if ( ! (yy_did_buffer_switch_on_eof) )
7038 case EOB_ACT_CONTINUE_SCAN:
7039 (yy_c_buf_p) = (yytext_ptr) + offset;
7045 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
7046 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
7047 (yy_hold_char) = *++(yy_c_buf_p);
7051 surf_parse_lineno++;
7056 #endif /* ifndef YY_NO_INPUT */
7058 /** Immediately switch to a different input stream.
7059 * @param input_file A readable stream.
7061 * @note This function does not reset the start condition to @c INITIAL .
7063 void surf_parse_restart (FILE * input_file )
7066 if ( ! YY_CURRENT_BUFFER ){
7067 surf_parse_ensure_buffer_stack ();
7068 YY_CURRENT_BUFFER_LVALUE =
7069 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
7072 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
7073 surf_parse__load_buffer_state( );
7076 /** Switch to a different input buffer.
7077 * @param new_buffer The new input buffer.
7080 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
7083 /* TODO. We should be able to replace this entire function body
7085 * surf_parse_pop_buffer_state();
7086 * surf_parse_push_buffer_state(new_buffer);
7088 surf_parse_ensure_buffer_stack ();
7089 if ( YY_CURRENT_BUFFER == new_buffer )
7092 if ( YY_CURRENT_BUFFER )
7094 /* Flush out information for old buffer. */
7095 *(yy_c_buf_p) = (yy_hold_char);
7096 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7097 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7100 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7101 surf_parse__load_buffer_state( );
7103 /* We don't actually know whether we did this switch during
7104 * EOF (surf_parse_wrap()) processing, but the only time this flag
7105 * is looked at is after surf_parse_wrap() is called, so it's safe
7106 * to go ahead and always set it.
7108 (yy_did_buffer_switch_on_eof) = 1;
7111 static void surf_parse__load_buffer_state (void)
7113 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7114 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7115 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7116 (yy_hold_char) = *(yy_c_buf_p);
7119 /** Allocate and initialize an input buffer state.
7120 * @param file A readable stream.
7121 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7123 * @return the allocated buffer state.
7125 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
7129 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7131 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7133 b->yy_buf_size = size;
7135 /* yy_ch_buf has to be 2 characters longer than the size given because
7136 * we need to put in 2 end-of-buffer characters.
7138 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
7139 if ( ! b->yy_ch_buf )
7140 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7142 b->yy_is_our_buffer = 1;
7144 surf_parse__init_buffer(b,file );
7149 /** Destroy the buffer.
7150 * @param b a buffer created with surf_parse__create_buffer()
7153 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7159 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7160 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7162 if ( b->yy_is_our_buffer )
7163 surf_parse_free((void *) b->yy_ch_buf );
7165 surf_parse_free((void *) b );
7169 extern int isatty (int );
7170 #endif /* __cplusplus */
7172 /* Initializes or reinitializes a buffer.
7173 * This function is sometimes called more than once on the same buffer,
7174 * such as during a surf_parse_restart() or at EOF.
7176 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7181 surf_parse__flush_buffer(b );
7183 b->yy_input_file = file;
7184 b->yy_fill_buffer = 1;
7186 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7187 * called from surf_parse_restart() or through yy_get_next_buffer.
7188 * In that case, we don't want to reset the lineno or column.
7190 if (b != YY_CURRENT_BUFFER){
7191 b->yy_bs_lineno = 1;
7192 b->yy_bs_column = 0;
7195 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7200 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7201 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7204 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7211 /* We always need two end-of-buffer characters. The first causes
7212 * a transition to the end-of-buffer state. The second causes
7213 * a jam in that state.
7215 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7216 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7218 b->yy_buf_pos = &b->yy_ch_buf[0];
7221 b->yy_buffer_status = YY_BUFFER_NEW;
7223 if ( b == YY_CURRENT_BUFFER )
7224 surf_parse__load_buffer_state( );
7227 /** Pushes the new state onto the stack. The new state becomes
7228 * the current state. This function will allocate the stack
7230 * @param new_buffer The new state.
7233 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7235 if (new_buffer == NULL)
7238 surf_parse_ensure_buffer_stack();
7240 /* This block is copied from surf_parse__switch_to_buffer. */
7241 if ( YY_CURRENT_BUFFER )
7243 /* Flush out information for old buffer. */
7244 *(yy_c_buf_p) = (yy_hold_char);
7245 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7246 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7249 /* Only push if top exists. Otherwise, replace top. */
7250 if (YY_CURRENT_BUFFER)
7251 (yy_buffer_stack_top)++;
7252 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7254 /* copied from surf_parse__switch_to_buffer. */
7255 surf_parse__load_buffer_state( );
7256 (yy_did_buffer_switch_on_eof) = 1;
7259 /** Removes and deletes the top of the stack, if present.
7260 * The next element becomes the new top.
7263 void surf_parse_pop_buffer_state (void)
7265 if (!YY_CURRENT_BUFFER)
7268 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7269 YY_CURRENT_BUFFER_LVALUE = NULL;
7270 if ((yy_buffer_stack_top) > 0)
7271 --(yy_buffer_stack_top);
7273 if (YY_CURRENT_BUFFER) {
7274 surf_parse__load_buffer_state( );
7275 (yy_did_buffer_switch_on_eof) = 1;
7279 /* Allocates the stack if it does not exist.
7280 * Guarantees space for at least one push.
7282 static void surf_parse_ensure_buffer_stack (void)
7286 if (!(yy_buffer_stack)) {
7288 /* First allocation is just for 2 elements, since we don't know if this
7289 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7290 * immediate realloc on the next call.
7293 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7294 (num_to_alloc * sizeof(struct yy_buffer_state*)
7296 if ( ! (yy_buffer_stack) )
7297 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7299 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7301 (yy_buffer_stack_max) = num_to_alloc;
7302 (yy_buffer_stack_top) = 0;
7306 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7308 /* Increase the buffer to prepare for a possible push. */
7309 int grow_size = 8 /* arbitrary grow size */;
7311 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7312 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7314 num_to_alloc * sizeof(struct yy_buffer_state*)
7316 if ( ! (yy_buffer_stack) )
7317 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7319 /* zero only the new slots.*/
7320 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7321 (yy_buffer_stack_max) = num_to_alloc;
7325 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7326 * @param base the character buffer
7327 * @param size the size in bytes of the character buffer
7329 * @return the newly allocated buffer state object.
7331 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7336 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7337 base[size-1] != YY_END_OF_BUFFER_CHAR )
7338 /* They forgot to leave room for the EOB's. */
7341 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7343 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7345 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7346 b->yy_buf_pos = b->yy_ch_buf = base;
7347 b->yy_is_our_buffer = 0;
7348 b->yy_input_file = 0;
7349 b->yy_n_chars = b->yy_buf_size;
7350 b->yy_is_interactive = 0;
7352 b->yy_fill_buffer = 0;
7353 b->yy_buffer_status = YY_BUFFER_NEW;
7355 surf_parse__switch_to_buffer(b );
7360 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7361 * scan from a @e copy of @a str.
7362 * @param yystr a NUL-terminated string to scan
7364 * @return the newly allocated buffer state object.
7365 * @note If you want to scan bytes that may contain NUL values, then use
7366 * surf_parse__scan_bytes() instead.
7368 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7371 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7374 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7375 * scan from a @e copy of @a bytes.
7376 * @param yybytes the byte buffer to scan
7377 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7379 * @return the newly allocated buffer state object.
7381 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7388 /* Get memory for full buffer, including space for trailing EOB's. */
7389 n = _yybytes_len + 2;
7390 buf = (char *) surf_parse_alloc(n );
7392 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7394 for ( i = 0; i < _yybytes_len; ++i )
7395 buf[i] = yybytes[i];
7397 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7399 b = surf_parse__scan_buffer(buf,n );
7401 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7403 /* It's okay to grow etc. this buffer, and we should throw it
7404 * away when we're done.
7406 b->yy_is_our_buffer = 1;
7411 static void yy_push_state (int new_state )
7413 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7417 (yy_start_stack_depth) += YY_START_STACK_INCR;
7418 new_size = (yy_start_stack_depth) * sizeof( int );
7420 if ( ! (yy_start_stack) )
7421 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7424 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7426 if ( ! (yy_start_stack) )
7427 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7430 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7435 static void yy_pop_state (void)
7437 if ( --(yy_start_stack_ptr) < 0 )
7438 YY_FATAL_ERROR( "start-condition stack underflow" );
7440 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7443 #ifndef YY_EXIT_FAILURE
7444 #define YY_EXIT_FAILURE 2
7447 static void yy_fatal_error (yyconst char* msg )
7449 (void) fprintf( stderr, "%s\n", msg );
7450 exit( YY_EXIT_FAILURE );
7453 /* Redefine yyless() so it works in section 3 code. */
7459 /* Undo effects of setting up surf_parse_text. */ \
7460 int yyless_macro_arg = (n); \
7461 YY_LESS_LINENO(yyless_macro_arg);\
7462 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7463 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7464 (yy_hold_char) = *(yy_c_buf_p); \
7465 *(yy_c_buf_p) = '\0'; \
7466 surf_parse_leng = yyless_macro_arg; \
7470 /* Accessor methods (get/set functions) to struct members. */
7472 /** Get the current line number.
7475 int surf_parse_get_lineno (void)
7478 return surf_parse_lineno;
7481 /** Get the input stream.
7484 FILE *surf_parse_get_in (void)
7486 return surf_parse_in;
7489 /** Get the output stream.
7492 FILE *surf_parse_get_out (void)
7494 return surf_parse_out;
7497 /** Get the length of the current token.
7500 int surf_parse_get_leng (void)
7502 return surf_parse_leng;
7505 /** Get the current token.
7509 char *surf_parse_get_text (void)
7511 return surf_parse_text;
7514 /** Set the current line number.
7515 * @param line_number
7518 void surf_parse_set_lineno (int line_number )
7521 surf_parse_lineno = line_number;
7524 /** Set the input stream. This does not discard the current
7526 * @param in_str A readable stream.
7528 * @see surf_parse__switch_to_buffer
7530 void surf_parse_set_in (FILE * in_str )
7532 surf_parse_in = in_str ;
7535 void surf_parse_set_out (FILE * out_str )
7537 surf_parse_out = out_str ;
7540 int surf_parse_get_debug (void)
7542 return surf_parse__flex_debug;
7545 void surf_parse_set_debug (int bdebug )
7547 surf_parse__flex_debug = bdebug ;
7550 static int yy_init_globals (void)
7552 /* Initialization is the same as for the non-reentrant scanner.
7553 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7556 /* We do not touch surf_parse_lineno unless the option is enabled. */
7557 surf_parse_lineno = 1;
7559 (yy_buffer_stack) = 0;
7560 (yy_buffer_stack_top) = 0;
7561 (yy_buffer_stack_max) = 0;
7562 (yy_c_buf_p) = (char *) 0;
7566 (yy_start_stack_ptr) = 0;
7567 (yy_start_stack_depth) = 0;
7568 (yy_start_stack) = NULL;
7570 /* Defined in main.c */
7572 surf_parse_in = stdin;
7573 surf_parse_out = stdout;
7575 surf_parse_in = (FILE *) 0;
7576 surf_parse_out = (FILE *) 0;
7579 /* For future reference: Set errno on error, since we are called by
7580 * surf_parse_lex_init()
7585 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7586 int surf_parse_lex_destroy (void)
7589 /* Pop the buffer stack, destroying each element. */
7590 while(YY_CURRENT_BUFFER){
7591 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7592 YY_CURRENT_BUFFER_LVALUE = NULL;
7593 surf_parse_pop_buffer_state();
7596 /* Destroy the stack itself. */
7597 surf_parse_free((yy_buffer_stack) );
7598 (yy_buffer_stack) = NULL;
7600 /* Destroy the start condition stack. */
7601 surf_parse_free((yy_start_stack) );
7602 (yy_start_stack) = NULL;
7604 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7605 * surf_parse_lex() is called, initialization will occur. */
7612 * Internal utility routines.
7616 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7619 for ( i = 0; i < n; ++i )
7624 #ifdef YY_NEED_STRLEN
7625 static int yy_flex_strlen (yyconst char * s )
7628 for ( n = 0; s[n]; ++n )
7635 void *surf_parse_alloc (yy_size_t size )
7637 return (void *) malloc( size );
7640 void *surf_parse_realloc (void * ptr, yy_size_t size )
7642 /* The cast to (char *) in the following accommodates both
7643 * implementations that use char* generic pointers, and those
7644 * that use void* generic pointers. It works with the latter
7645 * because both ANSI C and C++ allow castless assignment from
7646 * any pointer type to void*, and deal with argument conversions
7647 * as though doing an assignment.
7649 return (void *) realloc( (char *) ptr, size );
7652 void surf_parse_free (void * ptr )
7654 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7657 #define YYTABLES_NAME "yytables"
7659 /* Element context stack lookup. */
7660 int surfxml_element_context(int i)
7662 return (0<i && i<yy_start_stack_depth
7663 ? yy_start_stack[yy_start_stack_ptr - i]
7668 void print_yy_stack(char* fmt, ...)
7670 int i = 0; va_list ap; va_start(ap, fmt);
7671 vfprintf(stderr, fmt, ap);
7672 if (surfxml_statenames) {
7673 for (i=1; i<yy_start_stack_ptr; i++) {
7674 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7676 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7681 void print_surfxml_bufferstack()
7684 fputs("Buffer: ", stderr);
7685 for (i = 0; i < blimit; i++) {
7686 if ( surfxml_bufferstack[i] == '\377' ) break;
7687 putc(surfxml_bufferstack[i], stderr);
7692 static void debug_enter(int state, const char* statename) {
7693 yy_push_state(state);
7694 if (surf_parse__flex_debug) {
7695 print_yy_stack("--ENTER(%s) : ",statename);
7696 print_surfxml_bufferstack();
7700 static void debug_leave(void) {
7701 if (surf_parse__flex_debug) {
7702 print_yy_stack("--LEAVE : ");
7703 print_surfxml_bufferstack();
7708 static void debug_set(int state, const char* statename) {
7710 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7714 static void cleanup(void)
7716 if (surfxml_statenames) {
7717 free(surfxml_statenames);
7718 surfxml_statenames = NULL;
7720 free(surfxml_bufferstack);
7721 surfxml_bufferstack = NULL;
7727 static int fail(const char* fmt, ...)
7729 int chars_left, used;
7730 va_list ap; va_start(ap, fmt);
7731 #ifdef FLEXML_yylineno
7732 used = sprintf(flexml_err_msg,
7733 "Invalid XML (XML input line %d, state %d): ",
7734 surf_parse_lineno, YY_START);
7736 used = sprintf(flexml_err_msg,
7737 "Invalid XML (state %d): ",
7740 chars_left = flexml_max_err_msg_size - used - 1;
7741 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7744 #ifndef FLEXML_quiet_parser
7745 /* print directly to sdterr */
7746 fprintf(stderr, "%s\n", flexml_err_msg);
7747 flexml_err_msg[0] = '\0';