2 #line 3 "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 34
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;
77 /* Limits of integral types. */
79 #define INT8_MIN (-128)
82 #define INT16_MIN (-32767-1)
85 #define INT32_MIN (-2147483647-1)
88 #define INT8_MAX (127)
91 #define INT16_MAX (32767)
94 #define INT32_MAX (2147483647)
97 #define UINT8_MAX (255U)
100 #define UINT16_MAX (65535U)
103 #define UINT32_MAX (4294967295U)
106 #endif /* ! FLEXINT_H */
110 /* The "const" storage-class-modifier is valid. */
113 #else /* ! __cplusplus */
115 /* C99 requires __STDC__ to be defined as 1. */
116 #if defined (__STDC__)
120 #endif /* defined (__STDC__) */
121 #endif /* ! __cplusplus */
124 #define yyconst const
129 /* Returned upon end-of-file. */
132 /* Promotes a possibly negative, possibly signed char to an unsigned
133 * integer for use as an array index. If the signed char is negative,
134 * we want to instead treat it as an 8-bit unsigned char, hence the
137 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
139 /* Enter a start condition. This macro really ought to take a parameter,
140 * but we do it the disgusting crufty way forced on us by the ()-less
141 * definition of BEGIN.
143 #define BEGIN (yy_start) = 1 + 2 *
145 /* Translate the current start state into a value that can be later handed
146 * to BEGIN to return to the state. The YYSTATE alias is for lex
149 #define YY_START (((yy_start) - 1) / 2)
150 #define YYSTATE YY_START
152 /* Action number for EOF rule of a given start state. */
153 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
155 /* Special action meaning "start processing a new file". */
156 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
158 #define YY_END_OF_BUFFER_CHAR 0
160 /* Size of default input buffer. */
162 #define YY_BUF_SIZE 16384
165 /* The state buf must be large enough to hold one state per character in the main buffer.
167 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
169 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
170 #define YY_TYPEDEF_YY_BUFFER_STATE
171 typedef struct yy_buffer_state *YY_BUFFER_STATE;
174 extern int surf_parse_leng;
176 extern FILE *surf_parse_in, *surf_parse_out;
178 #define EOB_ACT_CONTINUE_SCAN 0
179 #define EOB_ACT_END_OF_FILE 1
180 #define EOB_ACT_LAST_MATCH 2
182 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
183 * access to the local variable yy_act. Since yyless() is a macro, it would break
184 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
185 * One obvious solution it to make yy_act a global. I tried that, and saw
186 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
187 * normally declared as a register variable-- so it is not worth it.
189 #define YY_LESS_LINENO(n) \
192 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
193 if ( surf_parse_text[yyl] == '\n' )\
194 --surf_parse_lineno;\
197 /* Return all but the first "n" matched characters back to the input stream. */
201 /* Undo effects of setting up surf_parse_text. */ \
202 int yyless_macro_arg = (n); \
203 YY_LESS_LINENO(yyless_macro_arg);\
204 *yy_cp = (yy_hold_char); \
205 YY_RESTORE_YY_MORE_OFFSET \
206 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
207 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
211 #define unput(c) yyunput( c, (yytext_ptr) )
213 /* The following is because we cannot portably get our hands on size_t
214 * (without autoconf's help, which isn't available because we want
215 * flex-generated scanners to compile on their own).
216 * Given that the standard has decreed that size_t exists since 1989,
217 * I guess we can afford to depend on it. Manoj.
220 #ifndef YY_TYPEDEF_YY_SIZE_T
221 #define YY_TYPEDEF_YY_SIZE_T
222 typedef size_t yy_size_t;
225 #ifndef YY_STRUCT_YY_BUFFER_STATE
226 #define YY_STRUCT_YY_BUFFER_STATE
227 struct yy_buffer_state
231 char *yy_ch_buf; /* input buffer */
232 char *yy_buf_pos; /* current position in input buffer */
234 /* Size of input buffer in bytes, not including room for EOB
237 yy_size_t yy_buf_size;
239 /* Number of characters read into yy_ch_buf, not including EOB
244 /* Whether we "own" the buffer - i.e., we know we created it,
245 * and can realloc() it to grow it, and should free() it to
248 int yy_is_our_buffer;
250 /* Whether this is an "interactive" input source; if so, and
251 * if we're using stdio for input, then we want to use getc()
252 * instead of fread(), to make sure we stop fetching input after
255 int yy_is_interactive;
257 /* Whether we're considered to be at the beginning of a line.
258 * If so, '^' rules will be active on the next match, otherwise
263 int yy_bs_lineno; /**< The line count. */
264 int yy_bs_column; /**< The column count. */
266 /* Whether to try to fill the input buffer when we reach the
271 int yy_buffer_status;
273 #define YY_BUFFER_NEW 0
274 #define YY_BUFFER_NORMAL 1
275 /* When an EOF's been seen but there's still some text to process
276 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
277 * shouldn't try reading from the input source any more. We might
278 * still have a bunch of tokens to match, though, because of
279 * possible backing-up.
281 * When we actually see the EOF, we change the status to "new"
282 * (via surf_parse_restart()), so that the user can continue scanning by
283 * just pointing surf_parse_in at a new input file.
285 #define YY_BUFFER_EOF_PENDING 2
288 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
290 /* Stack of input buffers. */
291 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
292 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
293 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
295 /* We provide macros for accessing buffer states in case in the
296 * future we want to put the buffer states in a more general
299 * Returns the top of the stack, or NULL.
301 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
302 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
305 /* Same as previous macro, but useful when we know that the buffer stack is not
306 * NULL or when we need an lvalue. For internal use only.
308 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
310 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
311 static char yy_hold_char;
312 static int yy_n_chars; /* number of characters read into yy_ch_buf */
315 /* Points to current character in buffer. */
316 static char *yy_c_buf_p = (char *) 0;
317 static int yy_init = 0; /* whether we need to initialize */
318 static int yy_start = 0; /* start state number */
320 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
321 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
323 static int yy_did_buffer_switch_on_eof;
325 void surf_parse_restart (FILE *input_file );
326 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
327 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
328 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
329 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
330 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
331 void surf_parse_pop_buffer_state (void );
333 static void surf_parse_ensure_buffer_stack (void );
334 static void surf_parse__load_buffer_state (void );
335 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
337 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
339 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
340 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
341 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
343 void *surf_parse_alloc (yy_size_t );
344 void *surf_parse_realloc (void *,yy_size_t );
345 void surf_parse_free (void * );
347 #define yy_new_buffer surf_parse__create_buffer
349 #define yy_set_interactive(is_interactive) \
351 if ( ! YY_CURRENT_BUFFER ){ \
352 surf_parse_ensure_buffer_stack (); \
353 YY_CURRENT_BUFFER_LVALUE = \
354 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
356 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
359 #define yy_set_bol(at_bol) \
361 if ( ! YY_CURRENT_BUFFER ){\
362 surf_parse_ensure_buffer_stack (); \
363 YY_CURRENT_BUFFER_LVALUE = \
364 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
366 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
369 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
371 /* Begin user sect3 */
373 #define surf_parse_wrap(n) 1
374 #define YY_SKIP_YYWRAP
376 typedef unsigned char YY_CHAR;
378 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
380 typedef int yy_state_type;
382 extern int surf_parse_lineno;
384 int surf_parse_lineno = 1;
386 extern char *surf_parse_text;
387 #define yytext_ptr surf_parse_text
389 static yy_state_type yy_get_previous_state (void );
390 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
391 static int yy_get_next_buffer (void );
392 static void yy_fatal_error (yyconst char msg[] );
394 /* Done after the current pattern has been matched and before the
395 * corresponding action - sets up surf_parse_text.
397 #define YY_DO_BEFORE_ACTION \
398 (yytext_ptr) = yy_bp; \
399 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
400 (yy_hold_char) = *yy_cp; \
402 (yy_c_buf_p) = yy_cp;
404 #define YY_NUM_RULES 351
405 #define YY_END_OF_BUFFER 352
406 /* This struct is not used in this scanner,
407 but its presence is necessary. */
410 flex_int32_t yy_verify;
413 static yyconst flex_int16_t yy_accept[2023] =
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 352, 350, 15, 10, 10, 15, 15, 330,
431 10, 330, 5, 6, 5, 8, 9, 8, 346, 338,
432 339, 347, 344, 347, 345, 349, 338, 339, 349, 350,
433 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
434 30, 30, 350, 350, 30, 37, 10, 37, 37, 37,
435 35, 37, 41, 10, 41, 52, 10, 52, 52, 52,
437 50, 52, 52, 52, 347, 346, 74, 10, 74, 74,
438 74, 72, 74, 74, 74, 74, 78, 10, 78, 350,
439 78, 97, 10, 97, 97, 97, 95, 97, 97, 97,
440 101, 10, 101, 114, 10, 114, 114, 114, 112, 114,
441 114, 114, 114, 118, 10, 118, 125, 10, 125, 125,
442 125, 123, 125, 350, 350, 129, 10, 129, 156, 10,
443 156, 156, 156, 154, 156, 156, 156, 156, 156, 160,
444 10, 160, 160, 169, 10, 169, 169, 169, 167, 169,
445 169, 173, 10, 173, 196, 10, 196, 196, 196, 194,
446 196, 196, 196, 196, 196, 196, 200, 10, 200, 207,
448 10, 207, 207, 207, 205, 207, 211, 10, 211, 236,
449 10, 236, 236, 236, 234, 236, 236, 236, 236, 240,
450 10, 240, 240, 259, 10, 259, 259, 259, 257, 259,
451 259, 259, 350, 263, 10, 263, 263, 286, 10, 286,
452 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
453 290, 297, 10, 297, 297, 297, 295, 297, 301, 10,
454 301, 314, 10, 314, 314, 314, 312, 314, 314, 314,
455 314, 318, 10, 318, 350, 318, 325, 10, 325, 325,
456 325, 323, 325, 329, 10, 329, 10, 0, 2, 2,
457 0, 4, 7, 341, 340, 0, 0, 0, 0, 0,
459 0, 0, 25, 27, 27, 27, 0, 0, 0, 0,
460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
462 38, 38, 0, 51, 53, 53, 53, 53, 0, 0,
463 0, 73, 75, 75, 75, 75, 75, 75, 75, 0,
464 0, 96, 98, 98, 98, 98, 0, 113, 115, 115,
465 115, 115, 115, 0, 124, 126, 126, 0, 155, 157,
466 157, 157, 157, 157, 157, 157, 0, 168, 170, 170,
467 170, 0, 195, 197, 197, 197, 197, 197, 197, 197,
468 197, 197, 0, 206, 208, 208, 0, 235, 237, 237,
470 237, 237, 237, 237, 0, 258, 260, 260, 260, 260,
471 260, 0, 0, 285, 287, 287, 287, 287, 287, 0,
472 296, 298, 298, 0, 313, 315, 315, 315, 315, 315,
473 0, 0, 324, 326, 326, 0, 0, 0, 0, 0,
474 3, 0, 0, 0, 0, 0, 0, 0, 348, 0,
475 27, 27, 0, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
478 0, 0, 53, 0, 0, 53, 0, 0, 0, 343,
479 75, 0, 0, 75, 75, 75, 75, 0, 0, 0,
481 98, 98, 98, 0, 0, 0, 0, 115, 115, 115,
482 0, 0, 126, 0, 0, 157, 0, 0, 157, 157,
483 157, 157, 0, 0, 0, 0, 170, 0, 0, 197,
484 0, 0, 0, 0, 197, 197, 197, 197, 197, 0,
485 0, 0, 0, 0, 0, 237, 0, 0, 237, 237,
486 237, 0, 0, 260, 260, 260, 260, 0, 0, 0,
487 287, 287, 287, 287, 0, 0, 0, 0, 0, 0,
488 315, 315, 315, 315, 0, 0, 0, 326, 0, 0,
489 0, 14, 1, 0, 0, 336, 0, 0, 0, 333,
490 332, 0, 0, 27, 27, 0, 0, 29, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
493 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
494 0, 0, 0, 0, 38, 0, 0, 40, 0, 53,
495 0, 45, 44, 53, 0, 0, 0, 55, 0, 75,
496 0, 59, 58, 0, 0, 75, 0, 0, 75, 0,
497 0, 77, 0, 0, 98, 98, 98, 0, 0, 100,
498 0, 0, 105, 104, 115, 115, 115, 0, 0, 117,
499 0, 126, 0, 0, 128, 0, 157, 0, 133, 132,
500 157, 157, 157, 157, 0, 0, 159, 0, 0, 164,
501 163, 170, 0, 0, 172, 0, 197, 197, 0, 187,
503 186, 0, 177, 176, 0, 0, 197, 197, 197, 197,
504 0, 0, 199, 0, 0, 204, 203, 0, 0, 210,
505 0, 237, 0, 215, 214, 237, 237, 237, 0, 0,
506 239, 0, 260, 0, 0, 0, 0, 260, 0, 0,
507 0, 262, 0, 287, 0, 0, 287, 0, 0, 0,
508 0, 289, 0, 0, 294, 293, 0, 0, 300, 0,
509 315, 315, 315, 315, 0, 0, 317, 0, 0, 326,
510 0, 0, 328, 0, 0, 0, 337, 331, 0, 0,
511 0, 27, 27, 0, 0, 0, 0, 131, 0, 213,
512 0, 0, 161, 0, 0, 103, 0, 0, 0, 130,
514 212, 0, 0, 102, 0, 0, 0, 0, 0, 0,
515 0, 0, 0, 0, 0, 53, 0, 0, 75, 0,
516 63, 62, 0, 0, 0, 61, 60, 75, 0, 162,
517 98, 0, 0, 98, 0, 115, 115, 115, 0, 126,
518 0, 157, 157, 157, 157, 157, 0, 170, 0, 197,
519 197, 0, 189, 188, 197, 197, 197, 197, 0, 0,
520 237, 237, 237, 237, 0, 260, 0, 246, 245, 0,
521 244, 243, 260, 212, 0, 287, 0, 269, 268, 287,
522 0, 267, 266, 0, 0, 315, 0, 0, 315, 315,
523 0, 0, 326, 0, 0, 0, 0, 12, 0, 334,
525 335, 0, 27, 27, 0, 0, 0, 0, 131, 0,
526 213, 0, 0, 0, 161, 0, 265, 43, 0, 0,
527 130, 212, 0, 265, 42, 0, 264, 0, 264, 42,
528 0, 34, 33, 0, 0, 47, 46, 53, 0, 0,
529 75, 0, 65, 64, 75, 0, 162, 98, 0, 0,
530 0, 0, 0, 0, 115, 115, 115, 0, 116, 126,
531 0, 157, 157, 157, 0, 0, 0, 0, 157, 0,
532 0, 0, 0, 0, 0, 197, 0, 0, 197, 197,
533 197, 0, 0, 237, 237, 237, 0, 0, 237, 0,
534 260, 260, 0, 0, 287, 287, 0, 0, 315, 0,
536 305, 304, 315, 315, 0, 0, 0, 0, 0, 0,
537 0, 0, 11, 0, 27, 27, 27, 0, 0, 0,
538 0, 0, 0, 0, 0, 57, 265, 0, 202, 43,
539 0, 0, 0, 56, 201, 42, 0, 264, 0, 0,
540 0, 0, 53, 0, 0, 75, 75, 0, 98, 0,
541 0, 0, 0, 0, 0, 0, 0, 0, 92, 91,
542 0, 0, 0, 115, 0, 0, 0, 0, 0, 157,
543 157, 157, 0, 135, 134, 0, 0, 0, 157, 0,
544 158, 0, 166, 165, 0, 171, 0, 191, 190, 0,
545 0, 0, 185, 184, 0, 0, 197, 0, 0, 0,
547 0, 237, 237, 237, 0, 0, 0, 237, 0, 238,
548 0, 0, 260, 0, 0, 0, 0, 287, 0, 0,
549 315, 315, 315, 0, 0, 0, 322, 321, 0, 0,
550 0, 0, 0, 0, 0, 27, 27, 0, 0, 175,
551 120, 32, 0, 0, 303, 57, 0, 202, 0, 174,
552 119, 56, 201, 302, 0, 31, 0, 0, 53, 0,
553 0, 54, 75, 75, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
555 106, 0, 0, 0, 109, 108, 0, 122, 121, 0,
556 157, 157, 157, 0, 0, 157, 0, 193, 192, 0,
558 179, 178, 0, 0, 0, 181, 180, 0, 0, 237,
559 0, 0, 237, 237, 0, 0, 237, 0, 0, 0,
560 260, 0, 0, 0, 0, 0, 287, 0, 288, 0,
561 315, 315, 315, 0, 0, 0, 0, 0, 0, 17,
562 0, 19, 18, 27, 27, 0, 319, 175, 120, 32,
563 291, 16, 303, 0, 0, 174, 119, 302, 0, 31,
564 0, 0, 53, 342, 75, 75, 0, 76, 0, 94,
565 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
566 0, 0, 0, 111, 110, 0, 157, 157, 157, 0,
567 0, 0, 0, 157, 0, 183, 182, 0, 0, 209,
569 237, 0, 221, 220, 237, 237, 0, 0, 0, 0,
570 237, 0, 0, 0, 0, 260, 292, 0, 0, 0,
571 0, 0, 287, 0, 0, 0, 315, 315, 0, 320,
572 0, 0, 0, 0, 17, 27, 27, 0, 319, 291,
573 16, 0, 0, 0, 0, 0, 39, 53, 0, 0,
574 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
575 0, 0, 0, 127, 157, 157, 157, 0, 141, 0,
576 140, 157, 0, 198, 0, 0, 237, 237, 237, 0,
577 225, 0, 224, 237, 0, 0, 0, 0, 0, 0,
578 0, 0, 292, 0, 0, 0, 0, 0, 0, 0,
580 287, 0, 0, 307, 306, 0, 0, 315, 0, 316,
581 320, 0, 0, 0, 0, 0, 0, 27, 0, 28,
582 0, 0, 0, 0, 53, 0, 0, 0, 75, 0,
583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 157, 157, 157, 143, 142, 0, 0, 0, 217, 216,
585 237, 237, 237, 227, 226, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 287, 287, 0, 299, 0, 311, 310,
588 0, 0, 0, 327, 0, 0, 0, 0, 21, 20,
589 0, 0, 242, 0, 241, 0, 0, 0, 0, 0,
591 0, 0, 75, 0, 0, 0, 0, 84, 0, 0,
592 0, 0, 83, 0, 157, 157, 157, 0, 145, 144,
593 237, 237, 237, 0, 229, 228, 0, 0, 0, 0,
594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595 0, 0, 0, 287, 287, 0, 309, 308, 0, 0,
596 0, 0, 23, 22, 242, 0, 241, 0, 0, 49,
597 48, 0, 0, 0, 0, 75, 0, 0, 0, 0,
598 0, 0, 0, 0, 0, 0, 0, 157, 157, 157,
599 237, 0, 0, 237, 0, 0, 0, 0, 0, 0,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 0, 287, 287, 0, 0, 0, 0, 80, 79, 0,
603 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
604 0, 89, 0, 0, 0, 137, 136, 157, 157, 157,
605 157, 237, 0, 223, 222, 237, 0, 0, 0, 0,
606 0, 0, 256, 0, 255, 0, 0, 261, 0, 0,
607 0, 0, 0, 0, 0, 0, 287, 0, 0, 287,
608 0, 0, 0, 0, 0, 0, 80, 79, 0, 0,
609 0, 0, 0, 67, 66, 0, 0, 0, 0, 0,
610 0, 0, 157, 157, 157, 157, 0, 0, 0, 0,
611 0, 0, 0, 0, 0, 0, 254, 253, 0, 0,
613 0, 0, 0, 0, 0, 273, 272, 287, 0, 271,
614 270, 287, 0, 0, 0, 0, 0, 0, 0, 71,
615 0, 70, 88, 0, 0, 87, 0, 0, 0, 99,
616 157, 157, 157, 157, 0, 219, 218, 0, 0, 0,
617 0, 0, 250, 0, 0, 249, 0, 0, 281, 0,
618 0, 280, 287, 287, 0, 0, 0, 12, 0, 12,
619 0, 0, 0, 82, 86, 81, 85, 157, 157, 157,
620 157, 0, 0, 0, 0, 252, 248, 251, 247, 283,
621 279, 282, 278, 287, 287, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
624 0, 0, 0, 0, 0, 287, 287, 0, 0, 69,
625 68, 0, 139, 138, 0, 149, 148, 0, 147, 146,
626 157, 0, 153, 152, 0, 0, 0, 0, 287, 287,
627 0, 11, 157, 0, 0, 0, 0, 287, 287, 0,
628 157, 0, 0, 0, 0, 287, 287, 0, 157, 0,
629 0, 0, 0, 287, 287, 0, 0, 0, 0, 231,
630 0, 230, 287, 287, 0, 0, 151, 150, 233, 232,
631 287, 287, 0, 287, 287, 0, 287, 287, 0, 0,
632 287, 287, 0, 0, 287, 287, 0, 0, 287, 287,
633 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
635 276, 0, 275, 274, 0, 0, 0, 0, 0, 0,
636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
640 static yyconst flex_int32_t yy_ec[256] =
642 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
643 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
645 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
646 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
647 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
648 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
649 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
650 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
651 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
653 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
654 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
655 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
672 static yyconst flex_int32_t yy_meta[70] =
674 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
675 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
676 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
677 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
678 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
679 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
680 5, 5, 5, 5, 5, 5, 5, 5, 5
683 static yyconst flex_int16_t yy_base[2256] =
685 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
686 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
687 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
688 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
689 344, 404, 271, 273, 464, 527, 269, 316, 320, 323,
690 364, 367, 371, 374, 590, 654, 424, 427, 718, 781,
691 431, 434, 844, 907, 484, 487, 491, 494, 497, 547,
692 970, 1033, 550, 554, 557, 560, 610, 613, 617, 620,
693 1096, 1162, 623, 674, 1228, 0, 677, 681, 1297, 1351,
694 684, 687, 1405, 1468, 738, 741, 745, 748, 751, 801,
696 804, 808, 1531, 1594, 811, 814, 864, 867, 871, 874,
697 877, 927, 1657, 1720, 930, 934, 937, 940, 990, 993,
698 997, 1000, 1783, 1837, 1003, 1053, 1891, 1954, 1056, 1060,
699 1063, 1066, 1116, 1119, 1123, 1126, 2017, 2083, 1129, 1182,
700 0, 0, 5066, 7094, 7094, 95, 100, 29, 41, 7094,
701 155, 51, 7094, 7094, 5055, 7094, 7094, 5043, 7094, 5058,
702 5042, 1141, 7094, 7094, 7094, 7094, 5036, 5032, 4990, 210,
703 7094, 158, 5012, 0, 142, 7094, 4977, 4969, 7094, 162,
704 2145, 2205, 160, 5007, 176, 7094, 165, 4998, 0, 149,
705 7094, 4961, 7094, 230, 378, 7094, 326, 4994, 0, 208,
707 7094, 4958, 4949, 4947, 379, 4950, 7094, 329, 4972, 0,
708 214, 7094, 4938, 4937, 238, 4915, 7094, 377, 11, 31,
709 4965, 7094, 399, 4948, 0, 435, 7094, 4907, 4905, 4888,
710 7094, 457, 441, 7094, 520, 4922, 0, 436, 7094, 4892,
711 4870, 4871, 4851, 7094, 583, 498, 7094, 640, 4894, 0,
712 499, 7094, 4862, 513, 4840, 7094, 644, 4879, 7094, 647,
713 4870, 0, 562, 7094, 4802, 34, 4821, 4797, 4788, 7094,
714 704, 177, 4838, 7094, 708, 4827, 0, 568, 7094, 4793,
715 4783, 7094, 711, 752, 7094, 772, 4808, 0, 631, 7094,
716 211, 4777, 4775, 93, 4773, 4753, 7094, 834, 818, 7094,
718 894, 4796, 0, 632, 7094, 4753, 7094, 897, 881, 7094,
719 901, 4781, 0, 695, 7094, 4739, 4735, 4736, 80, 7094,
720 957, 360, 4765, 7094, 960, 4755, 0, 696, 7094, 4726,
721 4709, 26, 304, 7094, 963, 330, 4746, 7094, 1149, 4726,
722 0, 885, 7094, 4694, 4675, 4679, 4673, 7094, 1152, 499,
723 4721, 7094, 1155, 4705, 0, 948, 7094, 4672, 7094, 1186,
724 1005, 7094, 1192, 4696, 0, 1004, 7094, 4650, 4654, 4655,
725 4643, 7094, 1205, 1100, 4694, 4691, 7094, 1208, 4678, 0,
726 1007, 7094, 4650, 7094, 1211, 1068, 1215, 429, 4627, 7094,
727 4683, 4665, 7094, 7094, 7094, 1306, 283, 4614, 4612, 4607,
729 4647, 4609, 7094, 0, 4598, 4601, 4586, 4583, 4584, 4580,
730 4574, 4570, 4573, 4, 166, 4567, 4554, 4558, 4546, 4545,
731 4541, 404, 4544, 4530, 38, 467, 4530, 712, 4523, 7094,
732 0, 4526, 4527, 7094, 0, 4523, 1320, 4516, 533, 4512,
733 4555, 7094, 0, 4514, 1323, 4486, 4507, 4493, 4497, 4477,
734 89, 7094, 0, 4488, 4462, 4473, 4453, 7094, 0, 1326,
735 4459, 4459, 4455, 4435, 7094, 0, 4429, 4441, 7094, 0,
736 4444, 1329, 4422, 4400, 4400, 4419, 4407, 7094, 0, 1373,
737 4398, 4393, 7094, 0, 4406, 1377, 1380, 4375, 4371, 4386,
738 4372, 4366, 4367, 7094, 0, 1383, 4348, 7094, 0, 4351,
740 1425, 4340, 4357, 4355, 4340, 7094, 0, 4327, 4326, 4340,
741 4326, 4323, 4308, 7094, 0, 4305, 4289, 4291, 4298, 4283,
742 7094, 0, 1428, 4287, 7094, 0, 4277, 4271, 4272, 4280,
743 4264, 4261, 7094, 0, 4265, 4267, 4286, 4295, 807, 4246,
744 7094, 1207, 0, 4229, 4229, 4269, 4268, 4224, 7094, 4231,
745 4213, 4213, 1431, 1434, 4218, 4203, 4205, 4201, 4215, 4194,
746 4202, 4187, 4187, 4178, 4170, 4186, 4165, 4167, 4164, 4155,
747 4154, 4145, 4145, 4157, 4143, 4135, 4141, 4122, 4139, 4128,
748 1437, 1489, 4127, 1494, 1497, 4108, 4137, 1551, 1556, 7094,
749 4106, 1559, 1514, 1562, 4097, 1565, 4108, 1619, 1627, 4090,
751 4091, 4097, 4083, 1622, 1630, 1677, 1583, 4079, 4065, 4067,
752 1682, 1695, 4068, 1685, 1740, 4058, 1691, 1642, 4059, 4062,
753 4056, 4037, 1745, 1748, 1751, 1710, 4035, 1755, 1808, 583,
754 1811, 1814, 1857, 1860, 1869, 4032, 4030, 4025, 4021, 1911,
755 1920, 1914, 1880, 1917, 1923, 4022, 1926, 1975, 4014, 3994,
756 3987, 1983, 1986, 3996, 1989, 1992, 3981, 3977, 2039, 2046,
757 3979, 1997, 3983, 2043, 2049, 2052, 2061, 2072, 2104, 2110,
758 3976, 3952, 3959, 3943, 2113, 2116, 3952, 3927, 2119, 2138,
759 3970, 7094, 7094, 315, 3922, 7094, 3934, 3933, 3878, 7094,
760 7094, 3872, 3870, 3879, 3868, 2141, 2149, 7094, 2168, 3865,
762 3859, 3871, 3849, 3854, 3849, 3830, 261, 3839, 3819, 1223,
763 3834, 3802, 3814, 3798, 3796, 3801, 3784, 1332, 3795, 384,
764 3777, 3784, 3774, 3788, 2144, 2172, 2177, 7094, 2182, 2209,
765 2216, 7094, 7094, 2229, 3810, 2232, 2235, 7094, 2240, 3756,
766 2268, 7094, 7094, 2243, 2276, 2287, 2290, 2293, 3767, 2301,
767 2308, 7094, 2311, 432, 3761, 2314, 3760, 2320, 2323, 7094,
768 2332, 2335, 7094, 7094, 3754, 3751, 3743, 2343, 2346, 7094,
769 2351, 3739, 2354, 2357, 7094, 2377, 3735, 2380, 7094, 7094,
770 3728, 3721, 3717, 3727, 2388, 2391, 7094, 2396, 2400, 7094,
771 7094, 3722, 2410, 2415, 7094, 2418, 3702, 3717, 2422, 7094,
773 7094, 2438, 7094, 7094, 2430, 2448, 3700, 3698, 3703, 3695,
774 2458, 2461, 7094, 2464, 2467, 7094, 7094, 2483, 2486, 7094,
775 2489, 3673, 2492, 7094, 7094, 3679, 3672, 3662, 2508, 2511,
776 7094, 2514, 3611, 2517, 2521, 2536, 2539, 3618, 3612, 2547,
777 2554, 7094, 2557, 3602, 2560, 2567, 3607, 2578, 2581, 2589,
778 2592, 7094, 2596, 2599, 7094, 7094, 2611, 2615, 7094, 2621,
779 3590, 2624, 3607, 3576, 2630, 2634, 7094, 2642, 3573, 3586,
780 2645, 2649, 7094, 2653, 726, 2656, 7094, 7094, 3618, 3616,
781 3569, 3560, 3587, 2664, 3545, 3528, 3544, 1386, 3520, 2152,
782 3533, 3532, 1460, 3512, 3519, 1463, 3518, 3502, 3518, 1523,
784 2678, 3504, 3511, 1526, 3497, 3496, 3494, 3478, 3491, 3490,
785 2668, 2686, 2694, 2700, 2704, 3489, 3504, 2713, 3479, 2718,
786 7094, 7094, 2727, 2732, 2745, 7094, 7094, 3473, 2740, 1650,
787 3457, 2753, 2760, 2771, 2774, 3446, 3466, 3439, 2777, 3457,
788 2780, 3458, 3452, 3436, 2783, 2789, 2801, 2807, 2811, 2814,
789 2821, 2833, 7094, 7094, 2825, 2843, 2847, 2850, 2853, 2856,
790 3442, 3447, 3431, 2876, 2879, 3430, 2885, 7094, 7094, 2894,
791 7094, 7094, 3418, 2903, 2906, 3419, 2921, 7094, 7094, 3412,
792 2929, 7094, 7094, 2937, 2940, 3420, 2910, 2943, 3401, 3418,
793 2951, 3402, 2959, 2962, 181, 3437, 2965, 7094, 3436, 7094,
795 7094, 3395, 3388, 518, 2970, 3395, 3393, 3394, 1705, 3391,
796 1769, 3387, 3375, 3365, 1774, 3370, 2973, 2977, 3375, 3365,
797 1777, 1829, 3354, 2984, 2994, 3347, 3000, 3358, 3003, 3009,
798 3020, 7094, 7094, 3030, 3034, 7094, 7094, 3351, 3362, 3049,
799 3328, 3052, 7094, 7094, 3325, 3064, 1832, 3325, 3068, 1059,
800 1113, 3045, 3076, 3084, 3087, 3090, 3094, 3098, 7094, 3108,
801 3112, 3337, 3333, 3317, 3117, 3122, 3135, 3138, 3328, 3146,
802 3149, 3153, 3161, 3167, 3170, 3180, 3185, 3188, 3198, 3203,
803 3206, 3209, 3212, 3328, 3307, 3321, 3216, 3224, 3321, 3234,
804 3237, 3241, 3322, 3244, 3247, 3265, 3268, 3273, 3310, 3276,
806 7094, 7094, 3313, 3302, 3288, 3306, 3293, 3296, 3311, 1422,
807 612, 568, 7094, 3279, 3317, 3320, 3323, 3326, 3282, 3275,
808 3282, 3267, 3252, 3249, 3246, 1875, 1945, 3250, 1948, 2010,
809 3258, 3242, 3248, 3330, 3341, 3345, 3224, 3348, 3229, 3233,
810 3233, 3351, 3226, 3243, 3355, 3204, 3207, 3358, 3361, 3236,
811 3222, 260, 3220, 3231, 3217, 421, 3207, 3384, 7094, 7094,
812 3392, 3395, 3400, 3414, 3417, 3420, 3428, 3435, 3446, 3180,
813 3169, 3172, 3449, 7094, 7094, 3458, 3188, 3186, 3149, 3466,
814 7094, 3469, 7094, 7094, 3477, 7094, 3481, 7094, 7094, 3489,
815 3496, 3507, 7094, 7094, 3515, 3518, 3526, 3529, 3533, 3547,
817 3550, 3134, 3553, 3151, 3556, 3160, 3158, 3131, 3571, 7094,
818 3574, 3577, 3585, 3116, 3597, 3592, 3612, 3603, 3606, 3621,
819 3120, 3120, 3121, 3625, 3109, 3628, 7094, 7094, 3640, 808,
820 1330, 747, 3104, 3644, 3647, 3655, 3662, 3669, 3096, 3673,
821 3676, 3680, 3087, 3086, 3683, 3689, 3070, 3692, 3074, 3695,
822 3698, 3701, 3704, 3707, 3065, 3712, 3070, 3715, 3068, 3074,
823 3718, 7094, 3046, 3061, 3721, 3726, 3730, 3071, 3065, 3044,
824 3047, 3035, 3041, 3035, 3024, 3026, 3018, 3740, 3744, 7094,
825 7094, 3752, 3755, 3764, 7094, 7094, 3772, 7094, 7094, 3780,
826 3001, 2995, 2985, 669, 743, 2986, 3783, 7094, 7094, 3792,
828 7094, 7094, 3800, 3803, 3811, 7094, 7094, 3819, 3822, 2988,
829 3825, 3828, 2988, 2970, 806, 857, 2972, 3843, 358, 361,
830 3851, 2962, 3854, 3857, 658, 785, 3865, 3869, 7094, 3873,
831 3876, 2968, 2960, 3883, 2950, 3894, 3888, 927, 1009, 3898,
832 3903, 7094, 7094, 3913, 3916, 3922, 3925, 3936, 3941, 3945,
833 3951, 3954, 3957, 2953, 2950, 3960, 3963, 3967, 2938, 3970,
834 2934, 3973, 2927, 7094, 3979, 2920, 3982, 7094, 3985, 7094,
835 7094, 2958, 2920, 2932, 2925, 2925, 2925, 2909, 2911, 2905,
836 2902, 3993, 3997, 7094, 7094, 4005, 2868, 2859, 2848, 2865,
837 2878, 2850, 2865, 2818, 4008, 7094, 7094, 4016, 4019, 7094,
839 4024, 4028, 7094, 7094, 2810, 2784, 2761, 2746, 2713, 2723,
840 2624, 81, 919, 466, 985, 4038, 4042, 4045, 474, 1048,
841 477, 1057, 4051, 4056, 4059, 4071, 4064, 527, 4082, 4085,
842 4088, 4091, 748, 840, 4095, 4101, 4113, 4119, 4122, 4125,
843 4131, 518, 548, 565, 624, 4134, 7094, 665, 4138, 4141,
844 706, 738, 786, 838, 838, 886, 894, 901, 915, 912,
845 931, 4156, 4162, 7094, 934, 971, 965, 1025, 7094, 1023,
846 7094, 4165, 4168, 7094, 4171, 4177, 998, 1005, 1019, 1080,
847 7094, 1115, 7094, 4189, 1109, 1100, 1117, 1135, 1140, 1165,
848 4192, 4195, 4203, 4213, 1166, 1160, 1173, 1175, 1165, 1178,
850 4216, 4219, 4222, 7094, 7094, 4234, 4238, 4247, 4252, 7094,
851 4255, 4258, 1293, 1347, 1384, 4271, 4278, 4289, 4292, 7094,
852 1169, 1287, 1284, 1293, 4295, 4298, 1366, 1470, 1285, 1316,
853 1325, 1349, 1371, 1391, 1368, 1378, 1397, 1423, 1437, 4307,
854 1381, 1403, 1403, 7094, 7094, 4313, 4316, 4327, 7094, 7094,
855 1402, 1410, 1430, 7094, 7094, 4335, 4338, 1457, 1463, 1468,
856 1468, 1469, 1474, 4346, 1548, 1549, 4354, 1477, 1480, 1485,
857 1519, 1518, 1534, 4357, 4360, 4364, 7094, 4369, 7094, 7094,
858 4378, 4383, 4391, 7094, 1573, 1552, 1559, 4396, 7094, 7094,
859 4404, 4410, 4422, 1525, 4425, 1540, 4428, 4431, 1579, 1598,
861 1590, 1606, 1577, 1611, 1601, 1607, 1615, 7094, 1631, 1642,
862 1641, 1650, 7094, 4439, 4442, 1646, 1659, 4446, 7094, 7094,
863 1661, 4454, 1670, 4460, 7094, 7094, 1699, 1710, 1730, 1724,
864 1726, 1741, 1747, 1779, 1771, 1782, 4468, 1772, 1783, 1795,
865 1785, 1788, 1799, 4472, 4475, 4493, 7094, 7094, 1916, 1833,
866 4481, 4501, 7094, 7094, 4478, 1765, 4509, 1801, 4512, 7094,
867 7094, 1845, 1834, 1852, 1841, 4522, 1848, 1868, 1901, 1910,
868 1899, 1917, 1932, 1931, 4525, 4528, 4531, 1919, 1995, 1921,
869 1952, 4540, 4546, 1935, 1980, 1989, 1999, 2009, 2018, 2033,
870 2062, 2032, 2062, 2035, 4554, 2047, 2053, 2048, 2069, 2083,
872 2076, 4558, 4561, 2108, 4564, 4567, 4587, 4595, 4598, 2091,
873 2104, 2097, 2107, 4606, 4609, 2105, 2105, 7094, 2107, 2109,
874 2130, 7094, 2132, 4617, 4620, 7094, 7094, 2111, 2117, 2123,
875 2131, 4628, 4632, 7094, 7094, 4640, 2157, 2149, 2162, 2164,
876 2156, 2169, 7094, 2189, 7094, 2194, 4646, 7094, 2179, 2172,
877 2190, 2191, 2187, 2198, 4649, 4652, 4660, 4667, 4671, 4680,
878 2204, 4685, 4688, 4708, 4747, 4791, 4698, 4716, 2202, 2223,
879 2215, 2232, 4720, 7094, 7094, 2243, 2218, 2222, 2248, 2232,
880 2234, 4737, 2217, 2227, 2218, 2217, 4741, 4728, 4759, 4767,
881 2257, 2259, 2281, 2272, 2275, 2292, 7094, 7094, 2281, 2283,
883 2313, 2294, 2304, 2321, 4777, 7094, 7094, 4785, 4811, 7094,
884 7094, 4803, 2345, 4821, 2356, 2355, 4857, 4901, 2318, 7094,
885 2328, 7094, 7094, 2345, 2361, 7094, 2359, 2361, 4829, 7094,
886 2322, 2307, 2336, 2337, 4834, 7094, 7094, 4842, 2410, 2418,
887 2382, 2390, 7094, 2392, 2396, 7094, 2404, 2417, 7094, 2418,
888 2420, 7094, 4851, 4869, 2423, 2452, 2454, 2430, 2488, 2437,
889 4877, 2438, 2440, 7094, 7094, 7094, 7094, 4880, 4892, 4921,
890 4924, 2457, 2453, 2461, 2470, 7094, 7094, 7094, 7094, 7094,
891 7094, 7094, 7094, 4927, 4932, 4935, 2494, 2481, 2495, 4945,
892 2499, 2498, 4950, 4883, 4954, 4958, 4968, 4972, 2460, 4980,
894 4987, 2487, 2510, 2494, 2513, 4998, 5001, 5004, 2517, 7094,
895 7094, 5007, 7094, 7094, 5019, 7094, 7094, 5027, 7094, 7094,
896 2494, 5035, 7094, 7094, 2510, 2510, 2516, 2516, 5045, 5048,
897 2546, 7094, 2517, 2538, 2549, 2548, 2560, 5051, 5054, 2569,
898 2538, 2570, 2585, 2575, 2595, 5057, 5075, 2601, 5078, 2603,
899 2624, 2613, 2633, 5081, 5084, 2665, 5087, 5110, 2657, 7094,
900 2655, 7094, 5118, 5121, 2666, 5139, 7094, 7094, 7094, 7094,
901 5147, 5150, 5153, 5156, 5159, 5168, 5182, 5187, 2655, 2663,
902 5194, 5201, 2658, 2691, 5205, 5208, 2680, 2738, 5212, 5226,
903 2673, 2719, 5231, 5237, 5253, 5256, 2703, 2739, 5264, 7094,
905 7094, 5273, 7094, 7094, 2778, 2787, 2747, 2750, 2850, 2852,
906 2799, 2818, 2689, 2748, 2855, 2866, 2800, 2881, 5281, 5284,
907 7094, 7094, 5304, 5313, 5322, 5331, 5340, 5349, 5358, 5367,
908 5376, 5385, 5394, 5403, 5412, 5421, 5430, 5439, 5448, 5457,
909 5466, 5475, 5484, 5493, 5502, 5511, 5520, 5529, 5538, 5547,
910 5556, 5565, 5574, 5583, 5592, 5601, 5610, 5619, 5628, 5637,
911 5646, 5653, 5660, 5667, 5674, 5681, 5688, 5695, 5702, 5709,
912 5716, 5723, 5730, 5737, 5744, 5751, 5758, 5765, 5774, 5779,
913 5784, 5789, 5794, 5799, 5804, 5809, 5814, 5819, 5826, 5831,
914 5838, 5843, 5850, 5855, 5862, 5867, 5874, 5879, 5886, 5891,
916 5898, 5903, 5910, 5915, 5924, 5930, 5937, 5945, 5952, 5960,
917 5967, 5975, 5982, 5990, 5997, 6005, 6012, 6020, 6027, 6035,
918 6042, 6050, 6057, 6065, 6072, 6080, 6088, 6095, 6103, 6110,
919 6118, 6125, 6133, 6141, 6148, 6156, 6163, 6171, 6180, 6186,
920 6193, 6201, 6209, 6217, 6225, 6233, 6240, 6248, 6255, 6263,
921 6270, 6278, 6285, 6293, 6300, 6308, 6315, 6323, 6330, 6338,
922 6346, 6353, 6361, 6368, 6376, 6383, 6391, 6399, 6406, 6414,
923 6421, 6429, 6438, 6447, 6454, 6462, 6470, 6477, 6485, 6492,
924 6500, 6507, 6515, 6522, 6530, 6537, 6545, 6552, 6560, 6568,
925 6576, 6584, 6592, 6600, 6607, 6615, 6622, 6630, 6637, 6645,
927 6653, 6660, 6668, 6676, 6684, 6693, 6702, 6709, 6717, 6725,
928 6732, 6740, 6747, 6755, 6762, 6770, 6778, 6786, 6794, 6801,
929 6809, 6817, 6825, 6833, 6841, 6848, 6856, 6864, 6872, 6880,
930 6888, 6896, 6903, 6911, 6919, 6928, 6937, 6945, 6953, 6961,
931 6968, 6976, 6983, 6991, 6999, 7007, 7015, 7023, 7030, 7039,
932 7048, 7057, 7066, 7075, 7084
935 static yyconst flex_int16_t yy_def[2256] =
937 2023, 2023, 2024, 2024, 2024, 2024, 2025, 2025, 2026, 2026,
938 2027, 2027, 2028, 2028, 2028, 2028, 2029, 2029, 2023, 2023,
939 2030, 2030, 2031, 2031, 2031, 2031, 2023, 2023, 2031, 2031,
940 2023, 2023, 2031, 2031, 2031, 2031, 2032, 2032, 2033, 2033,
941 2034, 2034, 2028, 2028, 2035, 2035, 2036, 2036, 2023, 2023,
942 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038, 2039, 2039,
943 2040, 2040, 2041, 2041, 2023, 2023, 2023, 2023, 2042, 2042,
944 2043, 2043, 2044, 2044, 2023, 2023, 2044, 2044, 2044, 2044,
945 2045, 2045, 2046, 2046, 2022, 85, 2047, 2047, 2048, 2048,
946 2049, 2049, 2050, 2050, 2051, 2051, 2023, 2023, 2051, 2051,
948 2051, 2051, 2052, 2052, 2023, 2023, 2023, 2023, 2053, 2053,
949 2053, 2053, 2054, 2054, 2055, 2055, 2023, 2023, 2055, 2055,
950 2055, 2055, 2056, 2056, 2057, 2057, 2058, 2058, 2059, 2059,
951 2023, 2023, 2059, 2059, 2059, 2059, 2060, 2060, 2061, 2061,
952 2023, 2023, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
953 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
954 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
955 2022, 2022, 2022, 2062, 2022, 2022, 2062, 2062, 2022, 2022,
956 2022, 2022, 181, 182, 182, 2022, 2022, 2022, 2063, 2022,
957 2022, 2063, 2022, 2022, 2022, 2022, 2022, 2022, 2064, 2022,
959 2022, 2064, 2064, 2064, 2022, 2022, 2022, 2022, 2022, 2065,
960 2022, 2022, 2065, 2065, 2065, 2065, 2022, 2022, 185, 185,
961 185, 2022, 2022, 2022, 2066, 2022, 2022, 2066, 2066, 2066,
962 2022, 2022, 2022, 2022, 2022, 2022, 2067, 2022, 2022, 2067,
963 2067, 2067, 2067, 2022, 2022, 2022, 2022, 2022, 2022, 2068,
964 2022, 2022, 2068, 185, 254, 2022, 2022, 185, 2022, 2022,
965 2022, 2069, 2022, 2022, 2069, 2069, 2069, 2069, 2069, 2022,
966 2022, 185, 185, 2022, 2022, 2022, 2070, 2022, 2022, 2070,
967 2070, 2022, 2022, 2022, 2022, 2022, 2022, 2071, 2022, 2022,
968 2071, 2071, 2071, 2071, 2071, 2071, 2022, 2022, 2022, 2022,
970 2022, 2022, 2072, 2022, 2022, 2072, 2022, 2022, 2022, 2022,
971 2022, 2022, 2073, 2022, 2022, 2073, 2073, 2073, 2073, 2022,
972 2022, 185, 185, 2022, 2022, 2022, 2074, 2022, 2022, 2074,
973 2074, 2074, 185, 2022, 2022, 185, 185, 2022, 2022, 2022,
974 2075, 2022, 2022, 2075, 2075, 2075, 2075, 2022, 2022, 185,
975 185, 2022, 2022, 2022, 2076, 2022, 2022, 2076, 2022, 2022,
976 2022, 2022, 2022, 2022, 2077, 2022, 2022, 2077, 2077, 2077,
977 2077, 2022, 2022, 185, 374, 185, 2022, 2022, 2022, 2078,
978 2022, 2022, 2078, 2022, 2022, 2022, 2022, 2079, 2022, 2022,
979 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
981 2022, 2022, 2022, 2062, 2062, 2062, 2080, 2022, 2022, 2022,
982 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
983 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
984 2063, 2063, 2081, 2022, 2064, 2064, 2064, 2064, 2022, 2082,
985 2022, 2022, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2083,
986 2022, 2022, 2066, 2066, 2066, 2066, 2084, 2022, 2067, 2067,
987 2067, 2067, 2067, 2085, 2022, 2068, 2068, 2086, 2022, 2069,
988 2069, 2069, 2069, 2069, 2069, 2069, 2087, 2022, 2070, 2070,
989 2070, 2088, 2022, 2089, 2089, 2089, 2089, 2089, 2089, 2089,
990 2089, 2089, 2090, 2022, 2091, 2091, 2092, 2022, 2093, 2093,
992 2093, 2093, 2093, 2093, 2094, 2022, 2095, 2095, 2095, 2095,
993 2095, 2022, 2096, 2022, 2097, 2097, 2097, 2097, 2097, 2098,
994 2022, 2099, 2099, 2100, 2022, 2101, 2101, 2101, 2101, 2101,
995 2102, 2022, 2022, 2103, 2103, 2104, 2105, 2022, 2105, 2022,
996 2022, 2022, 2106, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
997 2107, 2107, 2108, 2108, 2022, 2022, 2022, 2022, 2022, 2022,
998 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
999 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2109,
1000 2110, 2110, 2111, 2022, 2022, 2111, 2022, 2112, 2112, 2022,
1001 2113, 2022, 2022, 2113, 2113, 2113, 2113, 2114, 2114, 2022,
1003 2115, 2115, 2115, 2116, 2116, 2022, 2022, 2117, 2117, 2117,
1004 2118, 2118, 2119, 2120, 2120, 2121, 2022, 2022, 2121, 2121,
1005 2121, 2121, 2122, 2122, 2022, 2022, 2123, 2124, 2124, 2125,
1006 2022, 2022, 2022, 2022, 2125, 2125, 2125, 2125, 2125, 2126,
1007 2126, 2022, 2022, 2127, 2127, 2128, 2022, 2022, 2128, 2128,
1008 2128, 2129, 2129, 2130, 2130, 2130, 2130, 2022, 2131, 2131,
1009 2132, 2132, 2132, 2132, 2133, 2133, 2022, 2022, 2134, 2134,
1010 2135, 2135, 2135, 2135, 2136, 2136, 2022, 2137, 2138, 2138,
1011 2139, 2022, 2022, 2139, 2022, 2022, 2140, 2022, 2022, 2022,
1012 2022, 2022, 2022, 2141, 2141, 2022, 2142, 2022, 2142, 2022,
1014 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1015 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1016 2022, 2022, 2022, 2022, 2143, 2022, 2144, 2022, 2144, 2145,
1017 2022, 2022, 2022, 2145, 2022, 2022, 2146, 2022, 2146, 2147,
1018 2022, 2022, 2022, 2022, 2022, 2147, 2022, 2022, 2147, 2022,
1019 2148, 2022, 2148, 2022, 2149, 2149, 2149, 2022, 2150, 2022,
1020 2150, 2022, 2022, 2022, 2151, 2151, 2151, 2022, 2152, 2022,
1021 2152, 2153, 2022, 2154, 2022, 2154, 2155, 2022, 2022, 2022,
1022 2155, 2155, 2155, 2155, 2022, 2156, 2022, 2156, 2022, 2022,
1023 2022, 2157, 2022, 2158, 2022, 2158, 2159, 2159, 2022, 2022,
1025 2022, 2022, 2022, 2022, 2022, 2022, 2159, 2159, 2159, 2159,
1026 2022, 2160, 2022, 2160, 2022, 2022, 2022, 2022, 2161, 2022,
1027 2161, 2162, 2022, 2022, 2022, 2162, 2162, 2162, 2022, 2163,
1028 2022, 2163, 2164, 2022, 2022, 2022, 2022, 2164, 2022, 2022,
1029 2165, 2022, 2165, 2166, 2022, 2022, 2166, 2022, 2022, 2022,
1030 2167, 2022, 2167, 2022, 2022, 2022, 2022, 2168, 2022, 2168,
1031 2169, 2169, 2169, 2169, 2022, 2170, 2022, 2170, 2022, 2171,
1032 2022, 2172, 2022, 2172, 2173, 2174, 2022, 2022, 2022, 2022,
1033 2022, 2175, 2175, 2176, 2022, 2022, 2022, 2022, 2022, 2022,
1034 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1036 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1037 2022, 2022, 2177, 2022, 2022, 2178, 2022, 2179, 2180, 2022,
1038 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2180, 2181, 2022,
1039 2182, 2022, 2022, 2182, 2183, 2184, 2184, 2184, 2185, 2186,
1040 2187, 2188, 2188, 2188, 2188, 2188, 2189, 2190, 2191, 2192,
1041 2192, 2022, 2022, 2022, 2192, 2192, 2192, 2192, 2193, 2194,
1042 2195, 2195, 2195, 2195, 2196, 2197, 2022, 2022, 2022, 2022,
1043 2022, 2022, 2197, 2022, 2198, 2199, 2022, 2022, 2022, 2199,
1044 2022, 2022, 2022, 2200, 2201, 2202, 2022, 2022, 2202, 2202,
1045 2203, 2022, 2204, 2205, 2206, 2207, 2207, 2022, 2207, 2022,
1047 2022, 2022, 2208, 2208, 2209, 2022, 2022, 2022, 2022, 2022,
1048 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1049 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1050 2022, 2022, 2022, 2210, 2022, 2022, 2022, 2211, 2022, 2212,
1051 2213, 2022, 2022, 2022, 2213, 2214, 2022, 2215, 2022, 2022,
1052 2022, 2022, 2022, 2216, 2217, 2217, 2217, 2022, 2022, 2218,
1053 2219, 2220, 2220, 2220, 2022, 2022, 2022, 2022, 2220, 2221,
1054 2022, 2022, 2222, 2022, 2022, 2223, 2022, 2022, 2223, 2223,
1055 2223, 2224, 2225, 2226, 2226, 2226, 2022, 2022, 2226, 2227,
1056 2228, 2228, 2022, 2229, 2230, 2230, 2231, 2232, 2233, 2022,
1058 2022, 2022, 2233, 2233, 2234, 2022, 2022, 2022, 2235, 2236,
1059 2237, 2237, 2022, 2022, 2238, 2238, 2238, 2239, 2022, 2022,
1060 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1061 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1062 2022, 2240, 2241, 2022, 2242, 2243, 2243, 2244, 2245, 2022,
1063 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1064 2246, 2022, 2022, 2247, 2022, 2022, 2022, 2022, 2248, 2249,
1065 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1066 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1067 2022, 2022, 2022, 2022, 2022, 2022, 2223, 2022, 2022, 2224,
1069 2225, 2226, 2226, 2226, 2022, 2022, 2022, 2226, 2022, 2022,
1070 2022, 2022, 2228, 2022, 2229, 2022, 2022, 2230, 2231, 2232,
1071 2233, 2233, 2233, 2234, 2022, 2022, 2022, 2022, 2235, 2236,
1072 2237, 2237, 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022,
1073 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1074 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2240, 2241, 2022,
1075 2022, 2022, 2243, 2243, 2244, 2022, 2022, 2022, 2022, 2022,
1076 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246, 2022, 2022,
1077 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2248,
1078 2249, 2249, 2249, 2022, 2022, 2249, 2022, 2022, 2022, 2022,
1080 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2224, 2225, 2226,
1081 2022, 2022, 2226, 2226, 2022, 2022, 2226, 2022, 2022, 2022,
1082 2228, 2022, 2229, 2022, 2022, 2022, 2230, 2022, 2022, 2232,
1083 2233, 2233, 2233, 2234, 2022, 2235, 2236, 2237, 2237, 2022,
1084 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022, 2022, 2022,
1085 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1086 2022, 2240, 2241, 2022, 2243, 2243, 2022, 2022, 2022, 2022,
1087 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1088 2022, 2246, 2022, 2022, 2022, 2248, 2249, 2249, 2249, 2022,
1089 2022, 2022, 2022, 2249, 2022, 2022, 2022, 2224, 2022, 2022,
1091 2226, 2022, 2022, 2022, 2226, 2226, 2022, 2022, 2022, 2022,
1092 2226, 2022, 2022, 2022, 2022, 2228, 2022, 2229, 2022, 2022,
1093 2022, 2022, 2230, 2232, 2022, 2022, 2233, 2233, 2234, 2022,
1094 2235, 2236, 2237, 2237, 2022, 2238, 2238, 2239, 2022, 2022,
1095 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2241, 2022, 2022,
1096 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1097 2022, 2246, 2022, 2022, 2249, 2249, 2249, 2022, 2022, 2022,
1098 2022, 2249, 2022, 2022, 2022, 2022, 2226, 2226, 2226, 2022,
1099 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1100 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022, 2022,
1102 2230, 2232, 2022, 2022, 2022, 2022, 2022, 2233, 2022, 2022,
1103 2022, 2235, 2236, 2237, 2237, 2022, 2022, 2238, 2022, 2022,
1104 2022, 2022, 2022, 2022, 2241, 2022, 2022, 2022, 2243, 2022,
1105 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246,
1106 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1107 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1108 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1109 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2022, 2022,
1110 2022, 2022, 2022, 2022, 2236, 2237, 2237, 2022, 2022, 2022,
1111 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1113 2022, 2022, 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1114 2022, 2022, 2022, 2246, 2249, 2249, 2249, 2022, 2022, 2022,
1115 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1116 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1117 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2236, 2237,
1118 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1119 2022, 2022, 2022, 2022, 2022, 2243, 2022, 2022, 2022, 2022,
1120 2022, 2022, 2022, 2022, 2246, 2022, 2022, 2249, 2249, 2249,
1121 2226, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1122 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022,
1124 2022, 2230, 2230, 2236, 2237, 2237, 2237, 2022, 2022, 2022,
1125 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1126 2022, 2022, 2022, 2246, 2022, 2022, 2022, 2249, 2249, 2249,
1127 2249, 2226, 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022,
1128 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1129 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022, 2230,
1130 2236, 2237, 2237, 2237, 2250, 2251, 2022, 2022, 2022, 2022,
1131 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1132 2022, 2246, 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022,
1133 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1135 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022,
1136 2022, 2230, 2236, 2237, 2252, 2253, 2250, 2251, 2022, 2022,
1137 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1138 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022,
1139 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1140 2022, 2022, 2230, 2230, 2236, 2252, 2237, 2254, 2253, 2255,
1141 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2249, 2249,
1142 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1143 2022, 2022, 2022, 2230, 2230, 2236, 2254, 2022, 2255, 2237,
1144 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1146 2022, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022,
1147 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1148 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2230,
1149 2236, 2022, 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236,
1150 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2249, 2022,
1151 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022,
1152 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022, 2022,
1153 2230, 2230, 2236, 2230, 2230, 2236, 2230, 2230, 2236, 2236,
1154 2230, 2230, 2236, 2236, 2230, 2230, 2236, 2236, 2230, 2230,
1155 2236, 2236, 2022, 2022, 2022, 2022, 2236, 2236, 2022, 2022,
1157 2022, 2022, 2022, 2022, 2236, 2236, 2236, 2236, 2236, 2236,
1158 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236,
1159 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1160 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1161 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1162 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1163 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1164 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1165 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1166 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1168 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1169 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1170 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1171 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1172 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1173 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1174 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1175 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1176 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1177 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1179 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1180 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1181 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1182 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1183 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1184 2022, 2022, 2022, 2022, 2022
1187 static yyconst flex_int16_t yy_nxt[7164] =
1189 2022, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1190 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1191 148, 154, 450, 149, 2022, 155, 149, 2022, 155, 152,
1192 151, 147, 151, 388, 158, 160, 161, 158, 160, 161,
1193 162, 163, 2022, 162, 163, 388, 152, 167, 168, 389,
1194 164, 160, 161, 164, 165, 391, 162, 160, 161, 561,
1195 165, 390, 162, 167, 168, 562, 164, 147, 147, 147,
1196 451, 390, 164, 147, 147, 147, 180, 147, 180, 180,
1197 147, 180, 472, 170, 180, 147, 180, 510, 169, 170,
1198 451, 473, 181, 561, 511, 181, 387, 387, 387, 575,
1200 182, 387, 387, 387, 169, 171, 172, 147, 172, 171,
1201 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1202 1485, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1203 147, 147, 503, 147, 147, 147, 180, 147, 180, 180,
1204 147, 180, 182, 504, 561, 183, 391, 171, 171, 183,
1205 600, 489, 181, 391, 490, 181, 387, 387, 387, 387,
1206 387, 387, 390, 387, 387, 387, 387, 387, 387, 390,
1207 177, 2022, 178, 171, 172, 147, 172, 171, 171, 171,
1208 171, 171, 171, 171, 173, 171, 171, 171, 477, 171,
1209 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1211 682, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1212 184, 563, 391, 184, 391, 171, 171, 182, 391, 425,
1213 182, 426, 1110, 185, 564, 180, 147, 180, 390, 427,
1214 390, 387, 387, 387, 390, 425, 451, 428, 177, 429,
1215 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1216 186, 186, 186, 188, 186, 186, 186, 485, 186, 190,
1217 186, 191, 186, 194, 147, 194, 194, 147, 194, 402,
1218 218, 147, 218, 160, 161, 160, 161, 486, 162, 195,
1219 162, 1270, 195, 446, 186, 186, 219, 447, 205, 1271,
1220 205, 448, 192, 186, 187, 147, 187, 186, 186, 186,
1222 186, 186, 186, 186, 188, 186, 186, 186, 892, 186,
1223 190, 186, 191, 186, 206, 2022, 206, 218, 147, 218,
1224 893, 147, 147, 147, 147, 147, 147, 387, 387, 387,
1225 387, 387, 387, 219, 682, 186, 186, 220, 875, 544,
1226 220, 513, 545, 192, 196, 197, 147, 197, 196, 196,
1227 196, 196, 196, 196, 196, 198, 196, 196, 196, 512,
1228 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1229 218, 505, 218, 147, 218, 218, 147, 218, 387, 387,
1230 387, 219, 391, 439, 219, 512, 196, 196, 221, 433,
1231 440, 221, 1412, 1413, 202, 1414, 1415, 203, 390, 390,
1233 387, 387, 387, 204, 196, 197, 147, 197, 196, 196,
1234 196, 196, 196, 196, 196, 198, 196, 196, 196, 451,
1235 196, 200, 196, 201, 196, 232, 147, 232, 232, 147,
1236 232, 906, 245, 147, 245, 245, 147, 245, 538, 391,
1237 391, 233, 1275, 893, 233, 391, 196, 196, 246, 571,
1238 1276, 246, 457, 539, 202, 390, 390, 203, 387, 387,
1239 387, 390, 572, 204, 207, 208, 147, 208, 207, 207,
1240 207, 207, 207, 207, 207, 209, 207, 207, 207, 906,
1241 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1242 147, 930, 147, 147, 147, 147, 147, 147, 257, 147,
1244 257, 254, 391, 391, 254, 1488, 207, 207, 255, 464,
1245 520, 255, 563, 1495, 258, 213, 1498, 214, 390, 390,
1246 215, 387, 387, 387, 2022, 576, 216, 207, 208, 147,
1247 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1248 207, 207, 538, 207, 211, 207, 212, 207, 257, 147,
1249 257, 271, 147, 271, 512, 271, 147, 271, 147, 147,
1250 147, 147, 147, 147, 258, 411, 391, 272, 413, 207,
1251 207, 272, 391, 1116, 220, 587, 1508, 220, 213, 1117,
1252 214, 1521, 390, 215, 387, 387, 387, 998, 390, 216,
1253 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1255 222, 224, 222, 222, 222, 1522, 222, 226, 222, 227,
1256 222, 271, 147, 271, 271, 147, 271, 1232, 271, 147,
1257 271, 271, 147, 271, 283, 147, 283, 272, 1523, 797,
1258 272, 998, 222, 222, 273, 391, 391, 273, 798, 228,
1259 284, 387, 387, 387, 229, 387, 387, 387, 387, 387,
1260 387, 390, 390, 230, 222, 223, 147, 223, 222, 222,
1261 222, 222, 222, 222, 222, 224, 222, 222, 222, 1231,
1262 222, 226, 222, 227, 222, 283, 147, 283, 298, 147,
1263 298, 1524, 298, 147, 298, 308, 147, 308, 308, 147,
1264 308, 284, 1419, 1420, 299, 1390, 222, 222, 299, 391,
1266 391, 309, 1391, 228, 309, 387, 387, 387, 229, 387,
1267 387, 387, 387, 387, 387, 390, 390, 230, 234, 235,
1268 147, 235, 234, 234, 234, 234, 234, 234, 234, 236,
1269 234, 234, 234, 1525, 234, 238, 234, 239, 234, 321,
1270 147, 321, 321, 147, 321, 682, 147, 147, 147, 147,
1271 147, 147, 321, 147, 321, 322, 391, 571, 322, 1529,
1272 234, 234, 220, 482, 995, 220, 998, 998, 322, 1392,
1273 578, 240, 390, 387, 387, 387, 1393, 241, 1530, 242,
1274 243, 234, 235, 147, 235, 234, 234, 234, 234, 234,
1275 234, 234, 236, 234, 234, 234, 1514, 234, 238, 234,
1277 239, 234, 321, 147, 321, 321, 147, 321, 1339, 321,
1278 147, 321, 147, 147, 147, 147, 147, 147, 322, 1421,
1279 1422, 323, 391, 234, 234, 323, 682, 682, 333, 493,
1280 1531, 333, 1407, 1337, 240, 387, 387, 387, 390, 1408,
1281 241, 684, 242, 243, 247, 248, 147, 248, 247, 247,
1282 247, 247, 247, 247, 247, 249, 247, 247, 247, 998,
1283 247, 251, 247, 252, 247, 147, 147, 147, 147, 147,
1284 147, 1532, 335, 147, 335, 335, 147, 335, 335, 147,
1285 335, 333, 1533, 1409, 333, 391, 247, 247, 336, 391,
1286 1410, 336, 497, 1515, 337, 387, 387, 387, 387, 387,
1288 387, 390, 387, 387, 387, 390, 253, 247, 248, 147,
1289 248, 247, 247, 247, 247, 247, 247, 247, 249, 247,
1290 247, 247, 1534, 247, 251, 247, 252, 247, 335, 147,
1291 335, 349, 147, 349, 1535, 349, 147, 349, 147, 147,
1292 147, 147, 147, 147, 337, 1536, 998, 350, 1537, 247,
1293 247, 350, 391, 1486, 333, 1487, 1538, 333, 387, 387,
1294 387, 387, 387, 387, 387, 387, 387, 1539, 390, 253,
1295 259, 260, 147, 260, 259, 259, 259, 259, 259, 259,
1296 259, 261, 259, 259, 259, 1433, 259, 263, 259, 264,
1297 259, 349, 147, 349, 349, 147, 349, 1541, 349, 147,
1299 349, 349, 147, 349, 360, 147, 360, 350, 391, 391,
1300 350, 391, 259, 259, 351, 265, 524, 351, 1542, 1489,
1301 361, 1490, 1543, 266, 390, 390, 267, 390, 998, 268,
1302 1544, 1545, 269, 259, 260, 147, 260, 259, 259, 259,
1303 259, 259, 259, 259, 261, 259, 259, 259, 1551, 259,
1304 263, 259, 264, 259, 360, 147, 360, 373, 147, 373,
1305 1552, 373, 147, 373, 147, 147, 147, 147, 147, 147,
1306 361, 1434, 391, 374, 1553, 259, 259, 374, 265, 536,
1307 375, 1150, 1496, 375, 1497, 1554, 266, 1151, 390, 267,
1308 1152, 1499, 268, 1500, 1153, 269, 274, 275, 147, 275,
1310 274, 274, 274, 274, 274, 274, 274, 276, 274, 274,
1311 274, 531, 274, 278, 274, 279, 274, 373, 147, 373,
1312 373, 147, 373, 1555, 373, 147, 373, 373, 147, 373,
1313 385, 147, 385, 374, 1558, 1154, 374, 1559, 274, 274,
1314 376, 1155, 1560, 376, 1156, 532, 386, 396, 1157, 280,
1315 387, 387, 387, 387, 387, 387, 387, 387, 387, 451,
1316 1561, 281, 274, 275, 147, 275, 274, 274, 274, 274,
1317 274, 274, 274, 276, 274, 274, 274, 1562, 274, 278,
1318 274, 279, 274, 385, 147, 385, 397, 387, 387, 387,
1319 1563, 1568, 398, 387, 387, 387, 399, 1569, 1570, 386,
1321 1571, 400, 1572, 1573, 274, 274, 387, 387, 387, 387,
1322 387, 387, 387, 387, 387, 280, 387, 387, 387, 542,
1323 542, 542, 1593, 686, 896, 896, 896, 281, 285, 286,
1324 147, 286, 285, 285, 285, 285, 285, 285, 285, 287,
1325 285, 285, 285, 288, 285, 289, 285, 290, 285, 288,
1326 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1327 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1328 285, 285, 288, 288, 291, 288, 288, 288, 288, 288,
1329 288, 292, 288, 293, 288, 288, 288, 294, 288, 295,
1330 296, 288, 288, 288, 288, 288, 288, 300, 301, 147,
1332 301, 300, 300, 300, 300, 300, 300, 300, 302, 300,
1333 300, 300, 682, 300, 304, 300, 305, 300, 542, 542,
1334 542, 584, 584, 584, 592, 592, 592, 606, 606, 606,
1335 617, 617, 617, 904, 904, 904, 1594, 1595, 585, 300,
1336 300, 593, 1596, 1603, 607, 1604, 1605, 618, 1585, 998,
1337 306, 300, 301, 147, 301, 300, 300, 300, 300, 300,
1338 300, 300, 302, 300, 300, 300, 998, 300, 304, 300,
1339 305, 300, 1606, 543, 625, 625, 625, 1338, 631, 631,
1340 631, 633, 633, 633, 642, 642, 642, 1009, 1009, 1009,
1341 1599, 626, 1607, 300, 300, 632, 1608, 1609, 634, 1610,
1343 1586, 643, 1600, 998, 306, 310, 311, 147, 311, 310,
1344 310, 310, 310, 310, 310, 310, 312, 310, 310, 310,
1345 1611, 310, 314, 310, 315, 310, 647, 647, 647, 667,
1346 667, 667, 696, 696, 696, 696, 696, 696, 726, 726,
1347 726, 682, 1587, 648, 1612, 1613, 668, 310, 310, 1615,
1348 698, 316, 1616, 698, 1617, 1621, 728, 1230, 317, 1622,
1349 318, 1015, 1015, 1015, 896, 896, 896, 319, 310, 311,
1350 147, 311, 310, 310, 310, 310, 310, 310, 310, 312,
1351 310, 310, 310, 1623, 310, 314, 310, 315, 310, 699,
1352 726, 726, 726, 1627, 1601, 584, 584, 584, 731, 731,
1354 731, 1628, 732, 1629, 1630, 733, 1602, 1631, 728, 1632,
1355 310, 310, 585, 1638, 316, 741, 741, 741, 1639, 742,
1356 1640, 317, 743, 318, 1021, 1021, 1021, 904, 904, 904,
1357 319, 324, 325, 147, 325, 324, 324, 324, 324, 324,
1358 324, 324, 326, 324, 324, 324, 729, 324, 328, 324,
1359 329, 324, 736, 736, 736, 1641, 1642, 736, 736, 736,
1360 592, 592, 592, 744, 744, 744, 747, 747, 747, 1643,
1361 738, 998, 1656, 324, 324, 738, 330, 593, 998, 331,
1362 745, 1633, 1635, 748, 762, 762, 762, 1658, 763, 1634,
1363 1636, 764, 682, 332, 324, 325, 147, 325, 324, 324,
1365 324, 324, 324, 324, 324, 326, 324, 324, 324, 1650,
1366 324, 328, 324, 329, 324, 1662, 1651, 739, 1649, 1663,
1367 750, 750, 750, 758, 758, 758, 1664, 1665, 750, 750,
1368 750, 758, 758, 758, 1666, 1667, 324, 324, 752, 330,
1369 1668, 760, 331, 778, 778, 778, 752, 779, 1669, 760,
1370 780, 1047, 1047, 1047, 1670, 1671, 332, 338, 339, 147,
1371 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1372 338, 338, 753, 338, 342, 338, 343, 338, 606, 606,
1373 606, 1672, 1673, 768, 768, 768, 773, 773, 773, 1674,
1374 1679, 761, 617, 617, 617, 607, 768, 768, 768, 338,
1376 338, 770, 344, 1680, 775, 345, 1009, 1009, 1009, 618,
1377 346, 789, 789, 789, 770, 790, 1681, 1684, 791, 347,
1378 338, 339, 147, 339, 338, 338, 338, 338, 338, 338,
1379 338, 340, 338, 338, 338, 1685, 338, 342, 338, 343,
1380 338, 773, 773, 773, 771, 1686, 785, 785, 785, 785,
1381 785, 785, 625, 625, 625, 1687, 793, 793, 793, 775,
1382 1688, 1689, 338, 338, 787, 344, 1690, 787, 345, 626,
1383 1011, 1011, 1011, 346, 795, 1015, 1015, 1015, 1021, 1021,
1384 1021, 1691, 347, 352, 353, 147, 353, 352, 352, 352,
1385 352, 352, 352, 352, 354, 352, 352, 352, 776, 352,
1387 356, 352, 357, 352, 1692, 1693, 788, 1694, 1696, 793,
1388 793, 793, 631, 631, 631, 799, 799, 799, 1697, 800,
1389 1698, 1699, 801, 1700, 1701, 352, 352, 795, 1708, 632,
1390 1022, 1022, 1022, 1047, 1047, 1047, 358, 352, 353, 147,
1391 353, 352, 352, 352, 352, 352, 352, 352, 354, 352,
1392 352, 352, 998, 352, 356, 352, 357, 352, 633, 633,
1393 633, 802, 802, 802, 1709, 803, 1710, 1711, 804, 796,
1394 805, 805, 805, 1712, 1713, 634, 1246, 1246, 1246, 352,
1395 352, 815, 815, 815, 1705, 816, 1716, 806, 817, 1717,
1396 358, 362, 363, 147, 363, 362, 362, 362, 362, 362,
1398 362, 362, 364, 362, 362, 362, 1718, 362, 366, 362,
1399 367, 362, 811, 811, 811, 642, 642, 642, 818, 818,
1400 818, 811, 811, 811, 818, 818, 818, 647, 647, 647,
1401 813, 1719, 643, 362, 362, 682, 820, 1720, 1721, 813,
1402 1722, 368, 820, 369, 648, 370, 1127, 1127, 1127, 1248,
1403 1248, 1248, 1723, 371, 362, 363, 147, 363, 362, 362,
1404 362, 362, 362, 362, 362, 364, 362, 362, 362, 1728,
1405 362, 366, 362, 367, 362, 814, 823, 823, 823, 1704,
1406 824, 821, 1731, 825, 829, 829, 829, 829, 829, 829,
1407 834, 834, 834, 836, 836, 836, 362, 362, 845, 845,
1409 845, 1732, 831, 1736, 368, 831, 369, 835, 370, 1737,
1410 837, 1130, 1130, 1130, 1738, 846, 371, 377, 378, 147,
1411 378, 377, 377, 377, 377, 377, 377, 377, 379, 377,
1412 377, 377, 1739, 377, 381, 377, 382, 377, 1740, 832,
1413 840, 840, 840, 1741, 848, 848, 848, 840, 840, 840,
1414 850, 850, 850, 850, 850, 850, 1729, 1730, 842, 377,
1415 377, 849, 667, 667, 667, 842, 1742, 1743, 852, 1744,
1416 1745, 852, 1746, 854, 854, 854, 1749, 855, 1750, 668,
1417 856, 1751, 383, 377, 378, 147, 378, 377, 377, 377,
1418 377, 377, 377, 377, 379, 377, 377, 377, 1752, 377,
1420 381, 377, 382, 377, 843, 857, 857, 857, 1753, 1754,
1421 853, 857, 857, 857, 865, 865, 865, 865, 865, 865,
1422 871, 871, 871, 859, 1769, 377, 377, 682, 1770, 859,
1423 1771, 1772, 867, 1776, 1777, 867, 1778, 1779, 873, 871,
1424 871, 871, 696, 696, 696, 911, 911, 911, 383, 391,
1425 696, 696, 696, 1011, 1011, 1011, 407, 873, 1761, 1780,
1426 698, 1781, 912, 860, 1783, 390, 1784, 1012, 698, 696,
1427 696, 696, 1785, 726, 726, 726, 1786, 868, 726, 726,
1428 726, 1791, 1792, 726, 726, 726, 1793, 698, 1794, 1795,
1429 408, 728, 409, 1796, 1797, 410, 728, 411, 412, 874,
1431 413, 728, 1798, 1799, 414, 1800, 415, 416, 417, 391,
1432 914, 914, 914, 884, 1801, 1802, 407, 731, 731, 731,
1433 1803, 732, 1804, 682, 733, 390, 1819, 915, 1820, 913,
1434 2022, 2022, 2022, 736, 736, 736, 736, 736, 736, 1821,
1435 1822, 736, 736, 736, 744, 744, 744, 2022, 1823, 1824,
1436 408, 738, 418, 1825, 738, 419, 1826, 420, 412, 738,
1437 421, 745, 1813, 1827, 414, 1828, 422, 423, 424, 741,
1438 741, 741, 1831, 742, 1832, 1833, 743, 920, 920, 920,
1439 1834, 921, 1841, 1842, 922, 918, 1843, 916, 923, 923,
1440 923, 747, 747, 747, 925, 925, 925, 1844, 926, 1845,
1442 1846, 927, 750, 750, 750, 924, 1847, 1848, 748, 750,
1443 750, 750, 750, 750, 750, 932, 932, 932, 1849, 1850,
1444 752, 758, 758, 758, 758, 758, 758, 752, 1851, 1852,
1445 752, 1862, 933, 758, 758, 758, 762, 762, 762, 760,
1446 763, 1863, 760, 764, 768, 768, 768, 768, 768, 768,
1447 1864, 760, 768, 768, 768, 773, 773, 773, 773, 773,
1448 773, 1857, 770, 1857, 682, 770, 1865, 1866, 929, 1867,
1449 770, 1868, 1869, 775, 1860, 1858, 775, 935, 773, 773,
1450 773, 778, 778, 778, 1870, 779, 1871, 1876, 780, 785,
1451 785, 785, 785, 785, 785, 1877, 775, 785, 785, 785,
1453 1878, 789, 789, 789, 1879, 790, 1855, 787, 791, 1880,
1454 787, 793, 793, 793, 939, 787, 793, 793, 793, 793,
1455 793, 793, 1881, 799, 799, 799, 1882, 800, 1883, 795,
1456 801, 805, 805, 805, 795, 1888, 1872, 795, 941, 802,
1457 802, 802, 682, 803, 1874, 1888, 804, 1873, 806, 952,
1458 952, 952, 1891, 953, 1892, 1875, 954, 1857, 947, 811,
1459 811, 811, 811, 811, 811, 811, 811, 811, 815, 815,
1460 815, 1858, 816, 998, 999, 817, 949, 813, 1902, 1886,
1461 813, 1903, 1904, 813, 818, 818, 818, 818, 818, 818,
1462 818, 818, 818, 823, 823, 823, 1857, 824, 1905, 1888,
1464 825, 1909, 820, 1888, 1910, 820, 1911, 1860, 820, 829,
1465 829, 829, 829, 829, 829, 829, 829, 829, 834, 834,
1466 834, 1921, 967, 967, 967, 1925, 968, 831, 959, 969,
1467 831, 1926, 1927, 831, 1928, 835, 1932, 836, 836, 836,
1468 970, 970, 970, 1933, 971, 1934, 1935, 972, 840, 840,
1469 840, 1936, 1937, 960, 837, 840, 840, 840, 840, 840,
1470 840, 845, 845, 845, 1941, 682, 842, 1942, 977, 977,
1471 977, 965, 978, 842, 1943, 979, 842, 1944, 846, 848,
1472 848, 848, 981, 981, 981, 1945, 982, 1940, 682, 983,
1473 850, 850, 850, 850, 850, 850, 849, 850, 850, 850,
1475 854, 854, 854, 1949, 855, 1950, 1948, 856, 852, 1951,
1476 1952, 852, 857, 857, 857, 852, 857, 857, 857, 1953,
1477 682, 975, 857, 857, 857, 987, 987, 987, 1959, 1960,
1478 859, 865, 865, 865, 859, 865, 865, 865, 1961, 1956,
1479 859, 1962, 988, 865, 865, 865, 871, 871, 871, 867,
1480 871, 871, 871, 867, 871, 871, 871, 997, 997, 997,
1481 984, 867, 1969, 1970, 873, 696, 696, 696, 873, 911,
1482 911, 911, 873, 1484, 682, 998, 999, 682, 985, 1022,
1483 1022, 1022, 682, 698, 682, 682, 912, 1031, 1031, 1031,
1484 1965, 1032, 682, 1012, 1033, 726, 726, 726, 1973, 682,
1486 991, 914, 914, 914, 994, 1035, 1035, 1035, 682, 1036,
1487 682, 1987, 1037, 728, 736, 736, 736, 1983, 915, 920,
1488 920, 920, 682, 921, 1997, 1984, 922, 1005, 923, 923,
1489 923, 1483, 738, 1042, 1042, 1042, 1991, 1043, 682, 1482,
1490 1044, 750, 750, 750, 1988, 924, 925, 925, 925, 1034,
1491 926, 1481, 2015, 927, 932, 932, 932, 682, 682, 752,
1492 1040, 1049, 1049, 1049, 2005, 1050, 682, 682, 1051, 682,
1493 1998, 933, 1052, 1052, 1052, 758, 758, 758, 1058, 1058,
1494 1058, 773, 773, 773, 1065, 1065, 1065, 1480, 1046, 1053,
1495 1067, 1067, 1067, 760, 1992, 2009, 1059, 682, 2010, 775,
1497 2006, 1066, 785, 785, 785, 2019, 682, 1068, 1071, 1071,
1498 1071, 2016, 793, 793, 793, 1074, 1074, 1074, 682, 682,
1499 787, 1054, 2022, 2022, 2022, 1072, 1077, 1077, 1077, 1061,
1500 795, 2007, 1075, 1069, 952, 952, 952, 682, 953, 2022,
1501 2008, 954, 1479, 1078, 2022, 2022, 2022, 2013, 2022, 2022,
1502 2022, 2022, 2022, 2022, 811, 811, 811, 818, 818, 818,
1503 2011, 2022, 2012, 1478, 1070, 2022, 2014, 1472, 2022, 682,
1504 1073, 682, 813, 1471, 682, 820, 1470, 1087, 1087, 1087,
1505 829, 829, 829, 1469, 1076, 682, 967, 967, 967, 2019,
1506 968, 1468, 1080, 969, 1088, 970, 970, 970, 831, 971,
1508 682, 1467, 972, 2017, 1022, 1022, 1022, 840, 840, 840,
1509 1079, 987, 987, 987, 2018, 1082, 1466, 1081, 1093, 1083,
1510 1089, 1465, 977, 977, 977, 842, 978, 1461, 988, 979,
1511 981, 981, 981, 1090, 982, 1460, 1459, 983, 850, 850,
1512 850, 857, 857, 857, 1100, 1100, 1100, 1458, 1101, 1457,
1513 1456, 1102, 865, 865, 865, 1455, 852, 1454, 1453, 859,
1514 1107, 1107, 1107, 871, 871, 871, 997, 997, 997, 1094,
1515 867, 696, 696, 696, 1127, 1127, 1127, 1108, 1130, 1130,
1516 1130, 873, 1452, 1451, 998, 1127, 1127, 1127, 1128, 698,
1517 1448, 1445, 1131, 1444, 1098, 1136, 1136, 1136, 1105, 1128,
1519 1097, 1138, 1138, 1138, 1138, 1138, 1138, 1443, 1442, 1131,
1520 1136, 1136, 1136, 1430, 1111, 1139, 1428, 1427, 1139, 1417,
1521 1118, 1031, 1031, 1031, 1141, 1032, 1109, 1411, 1033, 1406,
1522 1112, 726, 726, 726, 1129, 1035, 1035, 1035, 1405, 1036,
1523 1401, 1394, 1037, 1389, 1388, 1135, 1052, 1052, 1052, 728,
1524 736, 736, 736, 1042, 1042, 1042, 1387, 1043, 1381, 1380,
1525 1044, 1129, 1379, 1053, 1135, 750, 750, 750, 738, 1049,
1526 1049, 1049, 1378, 1050, 1377, 1376, 1051, 1158, 1158, 1158,
1527 1375, 1159, 1374, 752, 1160, 758, 758, 758, 1162, 1162,
1528 1162, 2022, 2022, 2022, 1142, 1165, 1165, 1165, 1145, 1058,
1530 1058, 1058, 1373, 760, 1372, 1163, 1366, 1365, 2022, 1167,
1531 1167, 1167, 1166, 773, 773, 773, 1364, 1059, 1065, 1065,
1532 1065, 1363, 1148, 1173, 1173, 1173, 1168, 1174, 1361, 1359,
1533 1175, 775, 1355, 1161, 1354, 1066, 1067, 1067, 1067, 1176,
1534 1176, 1176, 1352, 1177, 1351, 1164, 1178, 1180, 1180, 1180,
1535 1071, 1071, 1071, 1068, 1182, 1182, 1182, 1169, 1183, 1347,
1536 1340, 1184, 1185, 1185, 1185, 1181, 1335, 1072, 1074, 1074,
1537 1074, 1187, 1187, 1187, 1333, 1188, 1332, 1331, 1189, 1322,
1538 1186, 1190, 1190, 1190, 1317, 1075, 1077, 1077, 1077, 1192,
1539 1192, 1192, 1316, 1193, 1315, 1314, 1194, 1310, 1191, 1195,
1541 1195, 1195, 1296, 1078, 2022, 2022, 2022, 1198, 1198, 1198,
1542 811, 811, 811, 818, 818, 818, 1196, 1087, 1087, 1087,
1543 1295, 2022, 1294, 1293, 1199, 1205, 1205, 1205, 813, 1206,
1544 1292, 820, 1207, 1291, 1088, 1209, 1209, 1209, 1211, 1211,
1545 1211, 1277, 2022, 2022, 2022, 840, 840, 840, 1216, 1216,
1546 1216, 1274, 1273, 1210, 1272, 1212, 1269, 1268, 1197, 2022,
1547 1264, 1201, 1263, 842, 1260, 1217, 2022, 2022, 2022, 850,
1548 850, 850, 1200, 1259, 857, 857, 857, 1100, 1100, 1100,
1549 1257, 1101, 1256, 2022, 1102, 1255, 1254, 852, 1220, 865,
1550 865, 865, 859, 1215, 1107, 1107, 1107, 1226, 1226, 1226,
1552 1251, 1227, 1213, 1250, 1228, 1249, 1247, 867, 1245, 1218,
1553 1244, 1108, 871, 871, 871, 1243, 1242, 1219, 1234, 1234,
1554 1234, 2022, 2022, 2022, 2022, 2022, 2022, 696, 696, 696,
1555 873, 1252, 1252, 1252, 1241, 1235, 1240, 1224, 2022, 1239,
1556 1233, 2022, 1253, 1253, 1253, 698, 1136, 1136, 1136, 1138,
1557 1138, 1138, 726, 726, 726, 1225, 1261, 1261, 1261, 750,
1558 750, 750, 1266, 1266, 1266, 1223, 1222, 1229, 1221, 1214,
1559 728, 1208, 1204, 1236, 1262, 1203, 1202, 752, 1179, 1267,
1560 1172, 1237, 1171, 1170, 1238, 1158, 1158, 1158, 1149, 1159,
1561 1147, 1146, 1160, 758, 758, 758, 1162, 1162, 1162, 1258,
1563 1144, 1279, 1279, 1279, 1143, 1280, 1140, 1278, 1281, 1137,
1564 1134, 760, 1133, 1163, 1265, 1282, 1282, 1282, 1165, 1165,
1565 1165, 1284, 1284, 1284, 1132, 1285, 1126, 1125, 1286, 1167,
1566 1167, 1167, 1283, 1124, 1123, 1166, 1287, 1287, 1287, 1122,
1567 1288, 1121, 1120, 1289, 1119, 1115, 1168, 773, 773, 773,
1568 1173, 1173, 1173, 1114, 1174, 1113, 998, 1175, 1106, 1176,
1569 1176, 1176, 1104, 1177, 1103, 775, 1178, 1180, 1180, 1180,
1570 1182, 1182, 1182, 1099, 1183, 1096, 1095, 1184, 1185, 1185,
1571 1185, 1092, 1187, 1187, 1187, 1181, 1188, 1091, 1086, 1189,
1572 1190, 1190, 1190, 1290, 1085, 1084, 1186, 1297, 1297, 1297,
1574 1064, 1298, 1063, 1062, 1299, 1060, 1057, 1191, 1192, 1192,
1575 1192, 1056, 1193, 1055, 1048, 1194, 1195, 1195, 1195, 1300,
1576 1300, 1300, 1045, 1301, 1041, 1039, 1302, 1303, 1303, 1303,
1577 1198, 1198, 1198, 1196, 1305, 1305, 1305, 1038, 1306, 1030,
1578 1029, 1307, 1028, 1027, 1304, 1026, 1025, 1199, 811, 811,
1579 811, 818, 818, 818, 1311, 1311, 1311, 1205, 1205, 1205,
1580 1024, 1206, 1023, 1020, 1207, 1019, 813, 1018, 1017, 820,
1581 1016, 1312, 1209, 1209, 1209, 1211, 1211, 1211, 1318, 1318,
1582 1318, 1014, 1319, 1013, 1010, 1320, 2022, 2022, 2022, 1008,
1583 1210, 1007, 1212, 1216, 1216, 1216, 1308, 1313, 840, 840,
1585 840, 1006, 1004, 2022, 2022, 2022, 2022, 1328, 1328, 1328,
1586 1217, 1309, 1323, 1324, 1324, 1324, 842, 1325, 1003, 1002,
1587 1326, 2022, 857, 857, 857, 1329, 865, 865, 865, 1226,
1588 1226, 1226, 1001, 1227, 1000, 993, 1228, 992, 1321, 990,
1589 859, 871, 871, 871, 867, 1234, 1234, 1234, 1341, 1341,
1590 1341, 989, 1342, 986, 980, 1343, 2022, 2022, 2022, 873,
1591 976, 1327, 1235, 2022, 2022, 2022, 974, 973, 1330, 966,
1592 696, 696, 696, 2022, 1348, 1348, 1348, 1349, 1349, 1349,
1593 2022, 1350, 1350, 1350, 1353, 1353, 1353, 1334, 698, 1336,
1594 1246, 1246, 1246, 1248, 1248, 1248, 1356, 1356, 1356, 1357,
1596 1357, 1357, 1252, 1252, 1252, 1253, 1253, 1253, 1358, 1358,
1597 1358, 964, 1344, 1360, 1360, 1360, 726, 726, 726, 1261,
1598 1261, 1261, 1367, 1367, 1367, 963, 1345, 1266, 1266, 1266,
1599 1346, 1369, 1369, 1369, 728, 1370, 962, 1262, 1371, 961,
1600 1368, 758, 758, 758, 1267, 1279, 1279, 1279, 958, 1280,
1601 957, 956, 1281, 1282, 1282, 1282, 1383, 1383, 1383, 760,
1602 1384, 955, 951, 1385, 1362, 1284, 1284, 1284, 950, 1285,
1603 1283, 948, 1286, 1287, 1287, 1287, 946, 1288, 945, 944,
1604 1289, 773, 773, 773, 1297, 1297, 1297, 1382, 1298, 943,
1605 942, 1299, 940, 1300, 1300, 1300, 938, 1301, 937, 775,
1607 1302, 1303, 1303, 1303, 1395, 1395, 1395, 936, 1396, 934,
1608 931, 1397, 1305, 1305, 1305, 928, 1306, 919, 1304, 1307,
1609 811, 811, 811, 1399, 1399, 1399, 1311, 1311, 1311, 1402,
1610 1402, 1402, 1386, 1403, 917, 910, 1404, 909, 813, 908,
1611 907, 1400, 905, 1312, 1318, 1318, 1318, 903, 1319, 902,
1612 901, 1320, 2022, 2022, 2022, 840, 840, 840, 1324, 1324,
1613 1324, 900, 1325, 899, 898, 1326, 2022, 2022, 2022, 2022,
1614 1328, 1328, 1328, 842, 857, 857, 857, 1425, 1425, 1425,
1615 1398, 897, 895, 2022, 865, 865, 865, 894, 1329, 1432,
1616 1432, 1432, 859, 891, 1426, 871, 871, 871, 1416, 1435,
1618 1435, 1435, 867, 890, 1341, 1341, 1341, 682, 1342, 889,
1619 1418, 1343, 888, 873, 2022, 2022, 2022, 2022, 2022, 2022,
1620 887, 886, 1423, 696, 696, 696, 1439, 1439, 1439, 885,
1621 883, 2022, 882, 881, 2022, 880, 1424, 1348, 1348, 1348,
1622 879, 698, 1349, 1349, 1349, 1429, 1350, 1350, 1350, 878,
1623 877, 1431, 1440, 1440, 1440, 1441, 1441, 1441, 1353, 1353,
1624 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1436, 1358, 1358,
1625 1358, 1360, 1360, 1360, 1446, 1446, 1446, 876, 1438, 1437,
1626 1449, 1449, 1449, 1367, 1367, 1367, 1369, 1369, 1369, 682,
1627 1370, 870, 1447, 1371, 758, 758, 758, 1450, 1383, 1383,
1629 1383, 1368, 1384, 869, 864, 1385, 1463, 1463, 1463, 1395,
1630 1395, 1395, 760, 1396, 863, 862, 1397, 1473, 1473, 1473,
1631 1399, 1399, 1399, 861, 1464, 1475, 1475, 1475, 847, 1402,
1632 1402, 1402, 844, 1403, 839, 1474, 1404, 838, 1400, 1491,
1633 1491, 1491, 1476, 1493, 1493, 1493, 840, 840, 840, 833,
1634 828, 1462, 2022, 2022, 2022, 827, 1492, 857, 857, 857,
1635 1425, 1425, 1425, 826, 842, 1506, 1506, 1506, 1477, 2022,
1636 822, 810, 1503, 1503, 1503, 859, 1504, 1426, 809, 1505,
1637 808, 807, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 871,
1638 871, 871, 1432, 1432, 1432, 1501, 1435, 1435, 1435, 792,
1640 784, 1510, 1516, 1516, 1516, 783, 782, 873, 781, 1494,
1641 682, 777, 772, 1502, 2022, 2022, 2022, 767, 766, 1517,
1642 1519, 1519, 1519, 1439, 1439, 1439, 1440, 1440, 1440, 765,
1643 757, 2022, 1441, 1441, 1441, 1446, 1446, 1446, 1520, 1449,
1644 1449, 1449, 1526, 1526, 1526, 756, 1527, 755, 754, 1528,
1645 1513, 1512, 749, 1447, 746, 740, 1450, 758, 758, 758,
1646 735, 734, 1518, 1463, 1463, 1463, 1546, 1546, 1546, 1473,
1647 1473, 1473, 1475, 1475, 1475, 760, 730, 725, 1548, 1548,
1648 1548, 1464, 1549, 1547, 724, 1550, 723, 1474, 722, 1476,
1649 1556, 1556, 1556, 1491, 1491, 1491, 1564, 1564, 1564, 721,
1651 1565, 720, 719, 1566, 1493, 1493, 1493, 1557, 718, 717,
1652 1492, 716, 715, 1540, 840, 840, 840, 2022, 2022, 2022,
1653 1576, 1576, 1576, 1503, 1503, 1503, 714, 1504, 713, 712,
1654 1505, 711, 842, 710, 2022, 1506, 1506, 1506, 1577, 1578,
1655 1578, 1578, 709, 1579, 708, 707, 1580, 706, 1581, 1581,
1656 1581, 705, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 1583,
1657 1583, 1583, 704, 703, 1574, 1582, 702, 701, 1567, 700,
1658 695, 1510, 1516, 1516, 1516, 694, 693, 1584, 1575, 1588,
1659 1588, 1588, 692, 1589, 691, 690, 1590, 689, 688, 1517,
1660 1591, 1591, 1591, 1519, 1519, 1519, 1597, 1597, 1597, 1526,
1662 1526, 1526, 685, 1527, 683, 682, 1528, 1592, 758, 758,
1663 758, 1520, 680, 1598, 1546, 1546, 1546, 1618, 1618, 1618,
1664 678, 1619, 677, 676, 1620, 674, 760, 673, 1548, 1548,
1665 1548, 1547, 1549, 672, 671, 1550, 1556, 1556, 1556, 1624,
1666 1624, 1624, 670, 1625, 666, 664, 1626, 1564, 1564, 1564,
1667 663, 1565, 662, 1557, 1566, 840, 840, 840, 2022, 2022,
1668 2022, 2022, 2022, 2022, 1614, 1576, 1576, 1576, 661, 660,
1669 1578, 1578, 1578, 842, 1579, 2022, 658, 1580, 2022, 1581,
1670 1581, 1581, 657, 1577, 1646, 1646, 1646, 656, 1647, 655,
1671 654, 1648, 1583, 1583, 1583, 653, 1582, 1588, 1588, 1588,
1673 651, 1589, 650, 649, 1590, 1591, 1591, 1591, 646, 645,
1674 1584, 1652, 1652, 1652, 641, 1653, 639, 1637, 1654, 1644,
1675 638, 1645, 1592, 1655, 1655, 1655, 1657, 1657, 1657, 1597,
1676 1597, 1597, 1659, 1659, 1659, 637, 1660, 636, 635, 1661,
1677 758, 758, 758, 1676, 1676, 1676, 1598, 1618, 1618, 1618,
1678 630, 1619, 629, 627, 1620, 1682, 1682, 1682, 760, 624,
1679 1677, 1624, 1624, 1624, 622, 1625, 621, 620, 1626, 840,
1680 840, 840, 1683, 2022, 2022, 2022, 2022, 2022, 2022, 1655,
1681 1655, 1655, 1706, 1706, 1706, 619, 1678, 842, 1675, 616,
1682 2022, 615, 613, 2022, 1646, 1646, 1646, 612, 1647, 1707,
1684 998, 1648, 1652, 1652, 1652, 610, 1653, 609, 608, 1654,
1685 1657, 1657, 1657, 1659, 1659, 1659, 605, 1660, 603, 602,
1686 1661, 1695, 1703, 1714, 1714, 1714, 758, 758, 758, 1676,
1687 1676, 1676, 1725, 1725, 1725, 1702, 1726, 601, 599, 1727,
1688 1715, 1682, 1682, 1682, 760, 597, 1677, 1733, 1733, 1733,
1689 596, 1734, 595, 594, 1735, 1747, 1747, 1747, 1683, 1755,
1690 1755, 1755, 1758, 1758, 1758, 1762, 1762, 1762, 1706, 1706,
1691 1706, 591, 1724, 1748, 590, 589, 1756, 586, 583, 1759,
1692 582, 580, 1763, 998, 579, 1707, 998, 577, 1764, 1764,
1693 1764, 574, 1765, 573, 570, 1766, 1767, 1767, 1767, 1768,
1695 1768, 1768, 1757, 569, 568, 1760, 998, 1714, 1714, 1714,
1696 1773, 1773, 1773, 567, 1774, 566, 565, 1775, 758, 758,
1697 758, 1725, 1725, 1725, 1715, 1726, 560, 559, 1727, 1787,
1698 1787, 1787, 558, 1733, 1733, 1733, 760, 1734, 557, 556,
1699 1735, 1789, 1789, 1789, 555, 554, 1788, 1747, 1747, 1747,
1700 1755, 1755, 1755, 1805, 1805, 1805, 552, 1806, 1790, 551,
1701 1807, 2022, 2022, 2022, 550, 1748, 549, 1756, 1758, 1758,
1702 1758, 548, 1809, 1809, 1809, 547, 1810, 546, 2022, 1811,
1703 1782, 2022, 2022, 2022, 541, 1759, 1762, 1762, 1762, 1814,
1704 1814, 1814, 538, 1815, 540, 535, 1816, 533, 2022, 1767,
1706 1767, 1767, 531, 1763, 998, 2022, 530, 998, 529, 1764,
1707 1764, 1764, 528, 1765, 527, 525, 1766, 1768, 1768, 1768,
1708 523, 1773, 1773, 1773, 521, 1774, 1808, 998, 1775, 1835,
1709 1835, 1835, 520, 1836, 519, 518, 1837, 517, 1829, 1829,
1710 1829, 516, 1787, 1787, 1787, 514, 1812, 996, 996, 996,
1711 996, 996, 996, 996, 996, 996, 1830, 513, 996, 1788,
1712 1789, 1789, 1789, 996, 996, 996, 998, 996, 1838, 1838,
1713 1838, 509, 1839, 508, 506, 1840, 505, 1790, 1805, 1805,
1714 1805, 502, 1806, 501, 500, 1807, 2022, 2022, 2022, 996,
1715 996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
1717 498, 496, 996, 2022, 2022, 2022, 2022, 996, 996, 996,
1718 998, 996, 1809, 1809, 1809, 494, 1810, 492, 491, 1811,
1719 488, 2022, 1814, 1814, 1814, 487, 1815, 483, 481, 1816,
1720 1829, 1829, 1829, 996, 996, 1835, 1835, 1835, 1853, 1836,
1721 998, 480, 1837, 1838, 1838, 1838, 478, 1839, 1830, 477,
1722 1840, 476, 2022, 2022, 2022, 475, 1854, 996, 996, 996,
1723 996, 996, 1861, 996, 996, 996, 474, 471, 996, 2022,
1724 2022, 2022, 2022, 996, 996, 996, 998, 996, 1890, 1890,
1725 1890, 1893, 1893, 1893, 1912, 1912, 1912, 2022, 1913, 469,
1726 468, 1914, 420, 1895, 1895, 1895, 998, 999, 1894, 996,
1728 996, 996, 996, 996, 996, 996, 996, 996, 996, 1861,
1729 1896, 467, 996, 465, 1884, 463, 462, 996, 996, 996,
1730 998, 996, 1897, 1897, 1897, 1900, 1900, 1900, 2022, 2022,
1731 2022, 461, 1885, 2022, 2022, 2022, 1908, 1908, 1908, 1898,
1732 460, 458, 1901, 996, 996, 2022, 1890, 1890, 1890, 456,
1733 2022, 1893, 1893, 1893, 682, 1895, 1895, 1895, 455, 1915,
1734 1915, 1915, 454, 1916, 998, 1899, 1917, 452, 1894, 1897,
1735 1897, 1897, 1896, 1918, 1918, 1918, 450, 1919, 449, 1906,
1736 1920, 1900, 1900, 1900, 1907, 445, 1898, 444, 1922, 1922,
1737 1922, 442, 1923, 441, 1111, 1924, 438, 437, 1901, 2022,
1739 2022, 2022, 2022, 2022, 2022, 1908, 1908, 1908, 1912, 1912,
1740 1912, 436, 1913, 434, 432, 1914, 2022, 430, 2022, 2022,
1741 1915, 1915, 1915, 682, 1916, 406, 405, 1917, 1918, 1918,
1742 1918, 403, 1919, 401, 395, 1920, 1922, 1922, 1922, 394,
1743 1923, 1931, 1929, 1924, 395, 1930, 2022, 2022, 2022, 2022,
1744 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1745 2022, 394, 393, 2022, 392, 2022, 2022, 2022, 2022, 2022,
1746 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1957,
1747 1957, 1957, 2022, 2022, 2022, 2022, 2022, 2022, 1957, 1957,
1748 1957, 2022, 2022, 2022, 2022, 2022, 1958, 2022, 2022, 2022,
1750 2022, 2022, 2022, 1938, 2022, 1958, 1939, 2022, 2022, 1954,
1751 2022, 1966, 1966, 1966, 1946, 1967, 2022, 1947, 1968, 2022,
1752 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1955, 2022, 2022,
1753 1963, 2022, 2022, 1964, 2022, 2022, 2022, 2022, 2022, 2022,
1754 1966, 1966, 1966, 2022, 1967, 2022, 2022, 1968, 2022, 2022,
1755 2022, 2022, 2022, 2022, 1976, 1976, 1976, 2022, 2022, 2022,
1756 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1976,
1757 1976, 1976, 682, 1979, 2022, 2022, 1980, 2022, 2022, 1971,
1758 2022, 2022, 1972, 2022, 2022, 2022, 2022, 682, 2022, 2022,
1759 2022, 1974, 2022, 2022, 1975, 2022, 2022, 2022, 2022, 2022,
1761 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1762 2022, 2022, 2022, 1993, 1993, 1993, 2022, 2022, 1977, 2022,
1763 1978, 2022, 2022, 2022, 2022, 2022, 2022, 1995, 1995, 1995,
1764 1994, 1981, 1993, 1993, 1993, 2022, 1982, 2022, 1999, 1999,
1765 1999, 2022, 2000, 2022, 1996, 2001, 2022, 2022, 1986, 1994,
1766 2022, 1985, 2022, 1989, 1995, 1995, 1995, 2002, 2002, 2002,
1767 2022, 2003, 2022, 2022, 2004, 1999, 1999, 1999, 2022, 2000,
1768 2022, 1996, 2001, 1990, 2002, 2002, 2002, 2022, 2003, 2022,
1769 2022, 2004, 2020, 2020, 2020, 2020, 2020, 2020, 2022, 2022,
1770 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1772 2021, 2022, 2022, 2021, 144, 144, 144, 144, 144, 144,
1773 144, 144, 144, 145, 145, 145, 145, 145, 145, 145,
1774 145, 145, 150, 150, 150, 150, 150, 150, 150, 150,
1775 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1776 156, 156, 156, 156, 156, 156, 156, 156, 156, 159,
1777 159, 159, 159, 159, 159, 159, 159, 159, 166, 166,
1778 166, 166, 166, 166, 166, 166, 166, 174, 174, 174,
1779 174, 174, 174, 174, 174, 174, 179, 179, 179, 179,
1780 179, 179, 179, 179, 179, 189, 189, 189, 189, 189,
1781 189, 189, 189, 189, 193, 193, 193, 193, 193, 193,
1783 193, 193, 193, 199, 199, 199, 199, 199, 199, 199,
1784 199, 199, 210, 210, 210, 210, 210, 210, 210, 210,
1785 210, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1786 225, 225, 225, 225, 225, 225, 225, 225, 225, 231,
1787 231, 231, 231, 231, 231, 231, 231, 231, 237, 237,
1788 237, 237, 237, 237, 237, 237, 237, 244, 244, 244,
1789 244, 244, 244, 244, 244, 244, 250, 250, 250, 250,
1790 250, 250, 250, 250, 250, 256, 256, 256, 256, 256,
1791 256, 256, 256, 256, 262, 262, 262, 262, 262, 262,
1792 262, 262, 262, 270, 270, 270, 270, 270, 270, 270,
1794 270, 270, 277, 277, 277, 277, 277, 277, 277, 277,
1795 277, 282, 282, 282, 282, 282, 282, 282, 282, 282,
1796 297, 297, 297, 297, 297, 297, 297, 297, 297, 303,
1797 303, 303, 303, 303, 303, 303, 303, 303, 307, 307,
1798 307, 307, 307, 307, 307, 307, 307, 313, 313, 313,
1799 313, 313, 313, 313, 313, 313, 320, 320, 320, 320,
1800 320, 320, 320, 320, 320, 327, 327, 327, 327, 327,
1801 327, 327, 327, 327, 334, 334, 334, 334, 334, 334,
1802 334, 334, 334, 341, 341, 341, 341, 341, 341, 341,
1803 341, 341, 348, 348, 348, 348, 348, 348, 348, 348,
1805 348, 355, 355, 355, 355, 355, 355, 355, 355, 355,
1806 359, 359, 359, 359, 359, 359, 359, 359, 359, 365,
1807 365, 365, 365, 365, 365, 365, 365, 365, 372, 372,
1808 372, 372, 372, 372, 372, 372, 372, 380, 380, 380,
1809 380, 380, 380, 380, 380, 380, 384, 384, 384, 384,
1810 384, 384, 384, 384, 384, 404, 404, 404, 2022, 2022,
1811 2022, 404, 431, 431, 431, 2022, 2022, 2022, 431, 435,
1812 435, 435, 2022, 2022, 2022, 435, 443, 443, 443, 2022,
1813 2022, 2022, 443, 453, 453, 453, 2022, 2022, 2022, 453,
1814 459, 459, 459, 2022, 2022, 2022, 459, 466, 466, 466,
1816 2022, 2022, 2022, 466, 470, 470, 470, 2022, 2022, 2022,
1817 470, 479, 479, 479, 2022, 2022, 2022, 479, 484, 484,
1818 484, 2022, 2022, 2022, 484, 495, 495, 495, 2022, 2022,
1819 2022, 495, 499, 499, 499, 2022, 2022, 2022, 499, 507,
1820 507, 507, 2022, 2022, 2022, 507, 515, 515, 515, 2022,
1821 2022, 2022, 515, 522, 522, 522, 2022, 2022, 2022, 522,
1822 526, 526, 526, 2022, 2022, 2022, 526, 534, 534, 534,
1823 2022, 2022, 2022, 534, 537, 537, 537, 537, 537, 537,
1824 537, 2022, 537, 553, 2022, 2022, 2022, 553, 581, 2022,
1825 2022, 2022, 581, 588, 2022, 2022, 2022, 588, 598, 2022,
1827 2022, 2022, 598, 604, 2022, 2022, 2022, 604, 611, 2022,
1828 2022, 2022, 611, 614, 2022, 2022, 2022, 614, 623, 2022,
1829 2022, 2022, 623, 628, 2022, 2022, 2022, 628, 484, 484,
1830 484, 2022, 2022, 2022, 484, 640, 2022, 2022, 2022, 640,
1831 495, 495, 495, 2022, 2022, 2022, 495, 644, 2022, 2022,
1832 2022, 644, 499, 499, 499, 2022, 2022, 2022, 499, 652,
1833 2022, 2022, 2022, 652, 507, 507, 507, 2022, 2022, 2022,
1834 507, 659, 2022, 2022, 2022, 659, 515, 515, 515, 2022,
1835 2022, 2022, 515, 665, 2022, 2022, 2022, 665, 522, 522,
1836 522, 2022, 2022, 2022, 522, 669, 2022, 2022, 2022, 669,
1838 526, 526, 526, 2022, 2022, 2022, 526, 675, 2022, 2022,
1839 2022, 675, 534, 534, 534, 2022, 2022, 2022, 534, 679,
1840 2022, 2022, 2022, 679, 681, 681, 681, 681, 681, 681,
1841 681, 681, 681, 687, 2022, 2022, 2022, 2022, 687, 404,
1842 404, 404, 2022, 2022, 2022, 404, 697, 697, 697, 697,
1843 2022, 2022, 697, 697, 431, 431, 431, 2022, 2022, 2022,
1844 431, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1845 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1846 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1847 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1849 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1850 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1851 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1852 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1853 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1854 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1855 479, 479, 2022, 2022, 2022, 479, 794, 794, 794, 794,
1856 2022, 2022, 794, 794, 484, 484, 484, 2022, 2022, 2022,
1857 484, 812, 812, 812, 812, 2022, 2022, 812, 812, 819,
1858 819, 819, 819, 2022, 2022, 819, 819, 499, 499, 499,
1860 2022, 2022, 2022, 499, 830, 830, 830, 830, 2022, 2022,
1861 830, 830, 507, 507, 507, 2022, 2022, 2022, 507, 841,
1862 841, 841, 841, 2022, 2022, 841, 841, 515, 515, 515,
1863 2022, 2022, 2022, 515, 851, 851, 851, 851, 2022, 2022,
1864 851, 851, 858, 858, 858, 858, 2022, 2022, 858, 858,
1865 526, 526, 526, 2022, 2022, 2022, 526, 866, 866, 866,
1866 866, 2022, 2022, 866, 866, 534, 534, 534, 2022, 2022,
1867 2022, 534, 872, 872, 872, 872, 2022, 2022, 872, 872,
1868 681, 681, 681, 681, 681, 681, 681, 681, 681, 687,
1869 2022, 687, 2022, 2022, 687, 404, 404, 404, 2022, 2022,
1871 2022, 404, 697, 697, 697, 697, 2022, 2022, 697, 697,
1872 431, 431, 431, 431, 2022, 431, 2022, 431, 727, 727,
1873 727, 727, 2022, 2022, 727, 727, 435, 435, 435, 435,
1874 2022, 435, 2022, 435, 737, 737, 737, 737, 2022, 2022,
1875 737, 737, 443, 443, 443, 2022, 2022, 2022, 443, 751,
1876 751, 751, 751, 2022, 2022, 751, 751, 453, 453, 453,
1877 2022, 2022, 2022, 453, 759, 759, 759, 759, 2022, 2022,
1878 759, 759, 459, 459, 459, 2022, 2022, 2022, 459, 769,
1879 769, 769, 769, 2022, 2022, 769, 769, 466, 466, 466,
1880 2022, 2022, 2022, 466, 774, 774, 774, 774, 2022, 2022,
1882 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 786,
1883 786, 786, 786, 2022, 2022, 786, 786, 479, 479, 479,
1884 2022, 2022, 2022, 479, 794, 794, 794, 794, 2022, 2022,
1885 794, 794, 484, 484, 484, 2022, 2022, 2022, 484, 812,
1886 812, 812, 812, 2022, 2022, 812, 812, 819, 819, 819,
1887 819, 2022, 2022, 819, 819, 499, 499, 499, 2022, 2022,
1888 2022, 499, 830, 830, 830, 830, 2022, 2022, 830, 830,
1889 507, 507, 507, 2022, 2022, 2022, 507, 841, 841, 841,
1890 841, 2022, 2022, 841, 841, 515, 515, 515, 2022, 2022,
1891 2022, 515, 851, 851, 851, 851, 2022, 2022, 851, 851,
1893 858, 858, 858, 858, 2022, 2022, 858, 858, 526, 526,
1894 526, 2022, 2022, 2022, 526, 866, 866, 866, 866, 2022,
1895 2022, 866, 866, 534, 534, 534, 2022, 2022, 2022, 534,
1896 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1897 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1898 996, 996, 996, 996, 996, 996, 404, 404, 404, 2022,
1899 2022, 2022, 404, 697, 697, 697, 697, 2022, 2022, 697,
1900 697, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1901 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1902 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1904 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1905 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1906 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1907 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1908 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1909 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1910 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1911 479, 479, 479, 2022, 479, 2022, 479, 794, 794, 794,
1912 794, 2022, 2022, 794, 794, 484, 484, 484, 484, 2022,
1913 484, 2022, 484, 812, 812, 812, 812, 2022, 2022, 812,
1915 812, 819, 819, 819, 819, 2022, 2022, 819, 819, 499,
1916 499, 499, 2022, 2022, 2022, 499, 830, 830, 830, 830,
1917 2022, 2022, 830, 830, 507, 507, 507, 2022, 2022, 2022,
1918 507, 841, 841, 841, 841, 2022, 2022, 841, 841, 515,
1919 515, 515, 2022, 2022, 2022, 515, 851, 851, 851, 851,
1920 2022, 2022, 851, 851, 858, 858, 858, 858, 2022, 2022,
1921 858, 858, 526, 526, 526, 2022, 2022, 2022, 526, 866,
1922 866, 866, 866, 2022, 2022, 866, 866, 534, 534, 534,
1923 534, 2022, 534, 2022, 534, 872, 872, 872, 872, 2022,
1924 2022, 872, 872, 681, 681, 681, 681, 681, 681, 681,
1926 681, 681, 996, 996, 996, 996, 996, 996, 996, 996,
1927 996, 404, 404, 404, 2022, 2022, 2022, 404, 697, 697,
1928 697, 697, 2022, 2022, 697, 697, 727, 727, 727, 727,
1929 2022, 2022, 727, 727, 435, 435, 435, 2022, 2022, 2022,
1930 435, 737, 737, 737, 737, 2022, 2022, 737, 737, 443,
1931 443, 443, 2022, 2022, 2022, 443, 751, 751, 751, 751,
1932 2022, 2022, 751, 751, 453, 453, 453, 2022, 2022, 2022,
1933 453, 759, 759, 759, 759, 2022, 2022, 759, 759, 459,
1934 459, 459, 459, 2022, 459, 2022, 459, 466, 466, 466,
1935 466, 2022, 466, 2022, 466, 774, 774, 774, 774, 2022,
1937 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022, 470,
1938 786, 786, 786, 786, 2022, 2022, 786, 786, 794, 794,
1939 794, 794, 2022, 2022, 794, 794, 484, 484, 484, 484,
1940 2022, 484, 2022, 484, 812, 812, 812, 812, 2022, 2022,
1941 812, 812, 819, 819, 819, 819, 2022, 2022, 819, 819,
1942 499, 499, 499, 2022, 2022, 2022, 499, 830, 830, 830,
1943 830, 2022, 2022, 830, 830, 507, 507, 507, 507, 2022,
1944 507, 2022, 507, 841, 841, 841, 841, 2022, 2022, 841,
1945 841, 515, 515, 515, 515, 2022, 515, 2022, 515, 851,
1946 851, 851, 851, 2022, 2022, 851, 851, 858, 858, 858,
1948 858, 2022, 2022, 858, 858, 526, 526, 526, 2022, 2022,
1949 2022, 526, 866, 866, 866, 866, 2022, 2022, 866, 866,
1950 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1951 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1952 996, 996, 996, 996, 996, 996, 404, 404, 404, 404,
1953 2022, 404, 2022, 404, 697, 697, 697, 697, 2022, 2022,
1954 697, 697, 727, 727, 727, 727, 2022, 2022, 727, 727,
1955 435, 435, 435, 2022, 2022, 2022, 435, 737, 737, 737,
1956 737, 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022,
1957 2022, 443, 751, 751, 751, 751, 2022, 2022, 751, 751,
1959 453, 453, 453, 453, 2022, 453, 2022, 453, 759, 759,
1960 759, 759, 2022, 2022, 759, 759, 459, 459, 459, 459,
1961 2022, 459, 2022, 459, 774, 774, 774, 774, 2022, 2022,
1962 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 1817,
1963 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818,
1964 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1856, 1856, 1856,
1965 1856, 1856, 1856, 1856, 1856, 1856, 1859, 1859, 1859, 1859,
1966 1859, 1859, 1859, 1859, 1859, 1887, 1887, 1887, 1887, 1887,
1967 1887, 1887, 1887, 1887, 1889, 1889, 1889, 1889, 1889, 1889,
1968 1889, 1889, 1889, 143, 2022, 2022, 2022, 2022, 2022, 2022,
1970 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1971 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1972 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1973 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1974 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1975 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1979 static yyconst flex_int16_t yy_chk[7164] =
1981 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1982 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1983 4, 10, 219, 5, 0, 9, 6, 0, 10, 7,
1984 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1985 13, 13, 220, 14, 14, 149, 8, 17, 17, 148,
1986 13, 15, 15, 14, 15, 152, 15, 16, 16, 414,
1987 16, 149, 16, 18, 18, 414, 15, 19, 19, 19,
1988 219, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1989 24, 24, 266, 19, 25, 25, 25, 332, 17, 20,
1990 220, 266, 23, 425, 332, 24, 146, 146, 146, 425,
1992 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
1993 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1994 1412, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1995 27, 27, 319, 28, 28, 28, 29, 29, 29, 30,
1996 30, 30, 26, 319, 451, 27, 175, 21, 21, 28,
1997 451, 294, 29, 190, 294, 30, 151, 151, 151, 172,
1998 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
1999 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
2000 22, 22, 22, 22, 22, 22, 22, 22, 272, 22,
2001 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2003 995, 33, 33, 33, 34, 34, 34, 35, 35, 35,
2004 31, 415, 200, 32, 170, 22, 22, 33, 211, 183,
2005 34, 183, 995, 35, 415, 36, 36, 36, 200, 185,
2006 170, 194, 194, 194, 211, 185, 272, 185, 22, 185,
2007 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
2008 37, 37, 37, 37, 37, 37, 37, 291, 37, 37,
2009 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
2010 47, 47, 47, 43, 43, 44, 44, 291, 43, 39,
2011 44, 1152, 40, 215, 37, 37, 47, 215, 43, 1152,
2012 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
2014 38, 38, 38, 38, 38, 38, 38, 38, 707, 38,
2015 38, 38, 38, 38, 43, 333, 44, 48, 48, 48,
2016 707, 49, 49, 49, 50, 50, 50, 197, 197, 197,
2017 208, 208, 208, 48, 684, 38, 38, 49, 684, 397,
2018 50, 336, 397, 38, 41, 41, 41, 41, 41, 41,
2019 41, 41, 41, 41, 41, 41, 41, 41, 41, 333,
2020 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
2021 52, 322, 53, 53, 53, 54, 54, 54, 218, 218,
2022 218, 51, 195, 205, 52, 336, 41, 41, 53, 195,
2023 205, 54, 1319, 1319, 41, 1320, 1320, 41, 195, 205,
2025 223, 223, 223, 41, 42, 42, 42, 42, 42, 42,
2026 42, 42, 42, 42, 42, 42, 42, 42, 42, 322,
2027 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
2028 58, 720, 61, 61, 61, 62, 62, 62, 388, 226,
2029 238, 57, 1156, 720, 58, 233, 42, 42, 61, 422,
2030 1156, 62, 233, 388, 42, 226, 238, 42, 232, 232,
2031 232, 233, 422, 42, 45, 45, 45, 45, 45, 45,
2032 45, 45, 45, 45, 45, 45, 45, 45, 45, 754,
2033 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
2034 66, 754, 67, 67, 67, 68, 68, 68, 69, 69,
2036 69, 65, 246, 251, 66, 1414, 45, 45, 67, 246,
2037 350, 68, 426, 1419, 69, 45, 1421, 45, 246, 251,
2038 45, 235, 235, 235, 254, 426, 45, 46, 46, 46,
2039 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2040 46, 46, 439, 46, 46, 46, 46, 46, 70, 70,
2041 70, 73, 73, 73, 350, 74, 74, 74, 75, 75,
2042 75, 76, 76, 76, 70, 254, 263, 73, 254, 46,
2043 46, 74, 278, 1004, 75, 439, 1428, 76, 46, 1004,
2044 46, 1442, 263, 46, 245, 245, 245, 1112, 278, 46,
2045 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2047 55, 55, 55, 55, 55, 1443, 55, 55, 55, 55,
2048 55, 77, 77, 77, 78, 78, 78, 1112, 79, 79,
2049 79, 80, 80, 80, 83, 83, 83, 77, 1444, 630,
2050 78, 1111, 55, 55, 79, 289, 304, 80, 630, 55,
2051 83, 248, 248, 248, 55, 257, 257, 257, 260, 260,
2052 260, 289, 304, 55, 56, 56, 56, 56, 56, 56,
2053 56, 56, 56, 56, 56, 56, 56, 56, 56, 1111,
2054 56, 56, 56, 56, 56, 84, 84, 84, 87, 87,
2055 87, 1445, 88, 88, 88, 91, 91, 91, 92, 92,
2056 92, 84, 1325, 1325, 87, 1294, 56, 56, 88, 314,
2058 328, 91, 1294, 56, 92, 271, 271, 271, 56, 275,
2059 275, 275, 283, 283, 283, 314, 328, 56, 59, 59,
2060 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2061 59, 59, 59, 1448, 59, 59, 59, 59, 59, 95,
2062 95, 95, 96, 96, 96, 875, 97, 97, 97, 98,
2063 98, 98, 99, 99, 99, 95, 284, 428, 96, 1451,
2064 59, 59, 97, 284, 875, 98, 1232, 1433, 99, 1295,
2065 428, 59, 284, 286, 286, 286, 1295, 59, 1452, 59,
2066 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2067 60, 60, 60, 60, 60, 60, 1433, 60, 60, 60,
2069 60, 60, 100, 100, 100, 101, 101, 101, 1232, 102,
2070 102, 102, 105, 105, 105, 106, 106, 106, 100, 1326,
2071 1326, 101, 299, 60, 60, 102, 539, 1230, 105, 299,
2072 1453, 106, 1315, 1230, 60, 298, 298, 298, 299, 1315,
2073 60, 539, 60, 60, 63, 63, 63, 63, 63, 63,
2074 63, 63, 63, 63, 63, 63, 63, 63, 63, 1434,
2075 63, 63, 63, 63, 63, 107, 107, 107, 108, 108,
2076 108, 1454, 109, 109, 109, 110, 110, 110, 111, 111,
2077 111, 107, 1455, 1316, 108, 309, 63, 63, 109, 342,
2078 1316, 110, 309, 1434, 111, 301, 301, 301, 308, 308,
2080 308, 309, 311, 311, 311, 342, 63, 64, 64, 64,
2081 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2082 64, 64, 1456, 64, 64, 64, 64, 64, 112, 112,
2083 112, 115, 115, 115, 1457, 116, 116, 116, 117, 117,
2084 117, 118, 118, 118, 112, 1458, 1338, 115, 1459, 64,
2085 64, 116, 356, 1413, 117, 1413, 1460, 118, 321, 321,
2086 321, 325, 325, 325, 335, 335, 335, 1461, 356, 64,
2087 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2088 71, 71, 71, 71, 71, 1338, 71, 71, 71, 71,
2089 71, 119, 119, 119, 120, 120, 120, 1465, 121, 121,
2091 121, 122, 122, 122, 125, 125, 125, 119, 366, 361,
2092 120, 381, 71, 71, 121, 71, 361, 122, 1466, 1415,
2093 125, 1415, 1467, 71, 366, 361, 71, 381, 1339, 71,
2094 1468, 1470, 71, 72, 72, 72, 72, 72, 72, 72,
2095 72, 72, 72, 72, 72, 72, 72, 72, 1477, 72,
2096 72, 72, 72, 72, 126, 126, 126, 129, 129, 129,
2097 1478, 130, 130, 130, 131, 131, 131, 132, 132, 132,
2098 126, 1339, 386, 129, 1479, 72, 72, 130, 72, 386,
2099 131, 1050, 1420, 132, 1420, 1480, 72, 1050, 386, 72,
2100 1050, 1422, 72, 1422, 1050, 72, 81, 81, 81, 81,
2102 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2103 81, 374, 81, 81, 81, 81, 81, 133, 133, 133,
2104 134, 134, 134, 1482, 135, 135, 135, 136, 136, 136,
2105 139, 139, 139, 133, 1485, 1051, 134, 1486, 81, 81,
2106 135, 1051, 1487, 136, 1051, 374, 139, 162, 1051, 81,
2107 339, 339, 339, 349, 349, 349, 353, 353, 353, 374,
2108 1488, 81, 82, 82, 82, 82, 82, 82, 82, 82,
2109 82, 82, 82, 82, 82, 82, 82, 1489, 82, 82,
2110 82, 82, 82, 140, 140, 140, 162, 360, 360, 360,
2111 1490, 1495, 162, 363, 363, 363, 162, 1496, 1497, 140,
2113 1498, 162, 1499, 1500, 82, 82, 373, 373, 373, 378,
2114 378, 378, 385, 385, 385, 82, 387, 387, 387, 542,
2115 542, 542, 1521, 542, 710, 710, 710, 82, 85, 85,
2116 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2117 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2118 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2119 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2120 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2121 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2122 85, 85, 85, 85, 85, 85, 85, 89, 89, 89,
2124 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2125 89, 89, 1513, 89, 89, 89, 89, 89, 396, 396,
2126 396, 437, 437, 437, 445, 445, 445, 460, 460, 460,
2127 472, 472, 472, 718, 718, 718, 1522, 1523, 437, 89,
2128 89, 445, 1524, 1529, 460, 1530, 1531, 472, 1513, 1231,
2129 89, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2130 90, 90, 90, 90, 90, 90, 1514, 90, 90, 90,
2131 90, 90, 1532, 396, 480, 480, 480, 1231, 486, 486,
2132 486, 487, 487, 487, 496, 496, 496, 888, 888, 888,
2133 1527, 480, 1533, 90, 90, 486, 1534, 1535, 487, 1536,
2135 1514, 496, 1527, 1515, 90, 93, 93, 93, 93, 93,
2136 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2137 1537, 93, 93, 93, 93, 93, 501, 501, 501, 523,
2138 523, 523, 553, 553, 553, 554, 554, 554, 581, 581,
2139 581, 1110, 1515, 501, 1538, 1539, 523, 93, 93, 1541,
2140 553, 93, 1542, 554, 1543, 1551, 581, 1110, 93, 1552,
2141 93, 893, 893, 893, 896, 896, 896, 93, 94, 94,
2142 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2143 94, 94, 94, 1553, 94, 94, 94, 94, 94, 554,
2144 582, 582, 582, 1558, 1528, 584, 584, 584, 585, 585,
2146 585, 1559, 585, 1560, 1561, 585, 1528, 1562, 582, 1563,
2147 94, 94, 584, 1568, 94, 593, 593, 593, 1569, 593,
2148 1570, 94, 593, 94, 900, 900, 900, 904, 904, 904,
2149 94, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2150 103, 103, 103, 103, 103, 103, 582, 103, 103, 103,
2151 103, 103, 588, 588, 588, 1571, 1572, 589, 589, 589,
2152 592, 592, 592, 594, 594, 594, 596, 596, 596, 1573,
2153 588, 1586, 1594, 103, 103, 589, 103, 592, 1587, 103,
2154 594, 1565, 1566, 596, 607, 607, 607, 1596, 607, 1565,
2155 1566, 607, 1585, 103, 104, 104, 104, 104, 104, 104,
2157 104, 104, 104, 104, 104, 104, 104, 104, 104, 1586,
2158 104, 104, 104, 104, 104, 1599, 1587, 589, 1585, 1600,
2159 598, 598, 598, 604, 604, 604, 1601, 1602, 599, 599,
2160 599, 605, 605, 605, 1603, 1604, 104, 104, 598, 104,
2161 1605, 604, 104, 618, 618, 618, 599, 618, 1606, 605,
2162 618, 930, 930, 930, 1607, 1609, 104, 113, 113, 113,
2163 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2164 113, 113, 599, 113, 113, 113, 113, 113, 606, 606,
2165 606, 1610, 1611, 611, 611, 611, 614, 614, 614, 1612,
2166 1616, 605, 617, 617, 617, 606, 612, 612, 612, 113,
2168 113, 611, 113, 1617, 614, 113, 1009, 1009, 1009, 617,
2169 113, 626, 626, 626, 612, 626, 1621, 1623, 626, 113,
2170 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2171 114, 114, 114, 114, 114, 1627, 114, 114, 114, 114,
2172 114, 615, 615, 615, 612, 1628, 623, 623, 623, 624,
2173 624, 624, 625, 625, 625, 1629, 628, 628, 628, 615,
2174 1630, 1631, 114, 114, 623, 114, 1632, 624, 114, 625,
2175 1011, 1011, 1011, 114, 628, 1015, 1015, 1015, 1021, 1021,
2176 1021, 1633, 114, 123, 123, 123, 123, 123, 123, 123,
2177 123, 123, 123, 123, 123, 123, 123, 123, 615, 123,
2179 123, 123, 123, 123, 1634, 1635, 624, 1636, 1638, 629,
2180 629, 629, 631, 631, 631, 632, 632, 632, 1639, 632,
2181 1640, 1641, 632, 1642, 1643, 123, 123, 629, 1656, 631,
2182 1022, 1022, 1022, 1047, 1047, 1047, 123, 124, 124, 124,
2183 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2184 124, 124, 1650, 124, 124, 124, 124, 124, 633, 633,
2185 633, 634, 634, 634, 1658, 634, 1662, 1663, 634, 629,
2186 635, 635, 635, 1664, 1665, 633, 1126, 1126, 1126, 124,
2187 124, 643, 643, 643, 1650, 643, 1667, 635, 643, 1668,
2188 124, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2190 127, 127, 127, 127, 127, 127, 1669, 127, 127, 127,
2191 127, 127, 640, 640, 640, 642, 642, 642, 644, 644,
2192 644, 641, 641, 641, 645, 645, 645, 647, 647, 647,
2193 640, 1670, 642, 127, 127, 1649, 644, 1671, 1672, 641,
2194 1673, 127, 645, 127, 647, 127, 1127, 1127, 1127, 1129,
2195 1129, 1129, 1674, 127, 128, 128, 128, 128, 128, 128,
2196 128, 128, 128, 128, 128, 128, 128, 128, 128, 1678,
2197 128, 128, 128, 128, 128, 641, 648, 648, 648, 1649,
2198 648, 645, 1680, 648, 652, 652, 652, 653, 653, 653,
2199 655, 655, 655, 656, 656, 656, 128, 128, 662, 662,
2201 662, 1681, 652, 1684, 128, 653, 128, 655, 128, 1685,
2202 656, 1130, 1130, 1130, 1686, 662, 128, 137, 137, 137,
2203 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2204 137, 137, 1687, 137, 137, 137, 137, 137, 1688, 653,
2205 659, 659, 659, 1689, 664, 664, 664, 660, 660, 660,
2206 665, 665, 665, 666, 666, 666, 1679, 1679, 659, 137,
2207 137, 664, 667, 667, 667, 660, 1690, 1691, 665, 1692,
2208 1693, 666, 1694, 668, 668, 668, 1696, 668, 1697, 667,
2209 668, 1698, 137, 138, 138, 138, 138, 138, 138, 138,
2210 138, 138, 138, 138, 138, 138, 138, 138, 1699, 138,
2212 138, 138, 138, 138, 660, 669, 669, 669, 1700, 1701,
2213 666, 670, 670, 670, 675, 675, 675, 676, 676, 676,
2214 679, 679, 679, 669, 1710, 138, 138, 1704, 1711, 670,
2215 1712, 1713, 675, 1716, 1717, 676, 1719, 1720, 679, 680,
2216 680, 680, 696, 696, 696, 725, 725, 725, 138, 181,
2217 697, 697, 697, 890, 890, 890, 181, 680, 1704, 1721,
2218 696, 1723, 725, 670, 1728, 181, 1729, 890, 697, 699,
2219 699, 699, 1730, 726, 726, 726, 1731, 676, 727, 727,
2220 727, 1737, 1738, 729, 729, 729, 1739, 699, 1740, 1741,
2221 181, 726, 181, 1742, 1744, 181, 727, 181, 181, 680,
2223 181, 729, 1746, 1749, 181, 1750, 181, 181, 181, 182,
2224 730, 730, 730, 699, 1751, 1752, 182, 731, 731, 731,
2225 1753, 731, 1754, 1761, 731, 182, 1769, 730, 1770, 729,
2226 734, 734, 734, 736, 736, 736, 737, 737, 737, 1771,
2227 1772, 739, 739, 739, 744, 744, 744, 734, 1776, 1777,
2228 182, 736, 182, 1778, 737, 182, 1779, 182, 182, 739,
2229 182, 744, 1761, 1780, 182, 1781, 182, 182, 182, 741,
2230 741, 741, 1783, 741, 1784, 1785, 741, 745, 745, 745,
2231 1786, 745, 1791, 1792, 745, 739, 1793, 734, 746, 746,
2232 746, 747, 747, 747, 748, 748, 748, 1794, 748, 1795,
2234 1796, 748, 750, 750, 750, 746, 1799, 1800, 747, 751,
2235 751, 751, 753, 753, 753, 756, 756, 756, 1801, 1802,
2236 750, 758, 758, 758, 759, 759, 759, 751, 1803, 1804,
2237 753, 1819, 756, 761, 761, 761, 762, 762, 762, 758,
2238 762, 1821, 759, 762, 768, 768, 768, 769, 769, 769,
2239 1824, 761, 771, 771, 771, 773, 773, 773, 774, 774,
2240 774, 1815, 768, 1816, 1813, 769, 1825, 1827, 753, 1828,
2241 771, 1831, 1832, 773, 1816, 1815, 774, 761, 776, 776,
2242 776, 778, 778, 778, 1833, 778, 1834, 1841, 778, 785,
2243 785, 785, 786, 786, 786, 1842, 776, 788, 788, 788,
2245 1844, 789, 789, 789, 1845, 789, 1813, 785, 789, 1847,
2246 786, 793, 793, 793, 771, 788, 794, 794, 794, 796,
2247 796, 796, 1848, 799, 799, 799, 1850, 799, 1851, 793,
2248 799, 805, 805, 805, 794, 1858, 1839, 796, 776, 802,
2249 802, 802, 1855, 802, 1840, 1860, 802, 1839, 805, 806,
2250 806, 806, 1862, 806, 1863, 1840, 806, 1856, 788, 811,
2251 811, 811, 812, 812, 812, 814, 814, 814, 815, 815,
2252 815, 1856, 815, 1857, 1857, 815, 796, 811, 1872, 1855,
2253 812, 1873, 1874, 814, 818, 818, 818, 819, 819, 819,
2254 821, 821, 821, 823, 823, 823, 1859, 823, 1875, 1887,
2256 823, 1888, 818, 1889, 1891, 819, 1892, 1859, 821, 829,
2257 829, 829, 830, 830, 830, 832, 832, 832, 834, 834,
2258 834, 1899, 835, 835, 835, 1902, 835, 829, 814, 835,
2259 830, 1903, 1904, 832, 1905, 834, 1909, 836, 836, 836,
2260 837, 837, 837, 1921, 837, 1925, 1926, 837, 840, 840,
2261 840, 1927, 1928, 821, 836, 841, 841, 841, 843, 843,
2262 843, 845, 845, 845, 1933, 1931, 840, 1934, 846, 846,
2263 846, 832, 846, 841, 1935, 846, 843, 1936, 845, 848,
2264 848, 848, 849, 849, 849, 1937, 849, 1931, 1940, 849,
2265 850, 850, 850, 851, 851, 851, 848, 853, 853, 853,
2267 854, 854, 854, 1941, 854, 1942, 1940, 854, 850, 1943,
2268 1944, 851, 857, 857, 857, 853, 858, 858, 858, 1945,
2269 1948, 843, 860, 860, 860, 862, 862, 862, 1950, 1951,
2270 857, 865, 865, 865, 858, 866, 866, 866, 1952, 1948,
2271 860, 1953, 862, 868, 868, 868, 871, 871, 871, 865,
2272 872, 872, 872, 866, 874, 874, 874, 876, 876, 876,
2273 853, 868, 1959, 1961, 871, 884, 884, 884, 872, 911,
2274 911, 911, 874, 1411, 1979, 876, 876, 1983, 860, 901,
2275 901, 901, 1980, 884, 1956, 1965, 911, 912, 912, 912,
2276 1956, 912, 1991, 901, 912, 913, 913, 913, 1965, 1987,
2278 868, 914, 914, 914, 874, 915, 915, 915, 2013, 915,
2279 1984, 1983, 915, 913, 918, 918, 918, 1979, 914, 920,
2280 920, 920, 1997, 920, 1991, 1980, 920, 884, 923, 923,
2281 923, 1410, 918, 924, 924, 924, 1987, 924, 1992, 1409,
2282 924, 929, 929, 929, 1984, 923, 925, 925, 925, 913,
2283 925, 1408, 2013, 925, 932, 932, 932, 1988, 1998, 929,
2284 918, 933, 933, 933, 1997, 933, 2007, 2014, 933, 2008,
2285 1992, 932, 934, 934, 934, 935, 935, 935, 939, 939,
2286 939, 941, 941, 941, 945, 945, 945, 1407, 929, 934,
2287 946, 946, 946, 935, 1988, 2007, 939, 2005, 2008, 941,
2289 1998, 945, 947, 947, 947, 2017, 2006, 946, 948, 948,
2290 948, 2014, 949, 949, 949, 950, 950, 950, 2011, 2017,
2291 947, 935, 951, 951, 951, 948, 955, 955, 955, 941,
2292 949, 2005, 950, 946, 952, 952, 952, 2012, 952, 951,
2293 2006, 952, 1406, 955, 956, 956, 956, 2011, 957, 957,
2294 957, 958, 958, 958, 959, 959, 959, 960, 960, 960,
2295 2009, 956, 2010, 1405, 947, 957, 2012, 1394, 958, 2009,
2296 949, 2010, 959, 1393, 2015, 960, 1392, 964, 964, 964,
2297 965, 965, 965, 1391, 951, 2016, 967, 967, 967, 2018,
2298 967, 1390, 957, 967, 964, 970, 970, 970, 965, 970,
2300 2018, 1389, 970, 2015, 974, 974, 974, 975, 975, 975,
2301 956, 987, 987, 987, 2016, 959, 1388, 958, 974, 960,
2302 964, 1387, 977, 977, 977, 975, 977, 1381, 987, 977,
2303 981, 981, 981, 965, 981, 1380, 1379, 981, 984, 984,
2304 984, 985, 985, 985, 988, 988, 988, 1378, 988, 1377,
2305 1376, 988, 991, 991, 991, 1375, 984, 1374, 1373, 985,
2306 993, 993, 993, 994, 994, 994, 997, 997, 997, 975,
2307 991, 1005, 1005, 1005, 1017, 1017, 1017, 993, 1018, 1018,
2308 1018, 994, 1372, 1366, 997, 1024, 1024, 1024, 1017, 1005,
2309 1363, 1361, 1018, 1359, 985, 1025, 1025, 1025, 991, 1024,
2311 984, 1027, 1027, 1027, 1029, 1029, 1029, 1355, 1354, 1025,
2312 1030, 1030, 1030, 1335, 997, 1027, 1333, 1332, 1029, 1322,
2313 1005, 1031, 1031, 1031, 1030, 1031, 994, 1317, 1031, 1314,
2314 997, 1034, 1034, 1034, 1017, 1035, 1035, 1035, 1313, 1035,
2315 1310, 1296, 1035, 1293, 1292, 1024, 1052, 1052, 1052, 1034,
2316 1040, 1040, 1040, 1042, 1042, 1042, 1291, 1042, 1277, 1276,
2317 1042, 1027, 1275, 1052, 1029, 1046, 1046, 1046, 1040, 1049,
2318 1049, 1049, 1274, 1049, 1273, 1272, 1049, 1053, 1053, 1053,
2319 1271, 1053, 1270, 1046, 1053, 1054, 1054, 1054, 1055, 1055,
2320 1055, 1056, 1056, 1056, 1034, 1057, 1057, 1057, 1040, 1058,
2322 1058, 1058, 1269, 1054, 1268, 1055, 1264, 1263, 1056, 1060,
2323 1060, 1060, 1057, 1061, 1061, 1061, 1260, 1058, 1065, 1065,
2324 1065, 1259, 1046, 1066, 1066, 1066, 1060, 1066, 1257, 1255,
2325 1066, 1061, 1249, 1054, 1247, 1065, 1067, 1067, 1067, 1068,
2326 1068, 1068, 1244, 1068, 1243, 1056, 1068, 1070, 1070, 1070,
2327 1071, 1071, 1071, 1067, 1072, 1072, 1072, 1061, 1072, 1239,
2328 1233, 1072, 1073, 1073, 1073, 1070, 1225, 1071, 1074, 1074,
2329 1074, 1075, 1075, 1075, 1223, 1075, 1222, 1221, 1075, 1214,
2330 1073, 1076, 1076, 1076, 1208, 1074, 1077, 1077, 1077, 1078,
2331 1078, 1078, 1207, 1078, 1206, 1204, 1078, 1202, 1076, 1079,
2333 1079, 1079, 1179, 1077, 1080, 1080, 1080, 1081, 1081, 1081,
2334 1082, 1082, 1082, 1083, 1083, 1083, 1079, 1087, 1087, 1087,
2335 1178, 1080, 1177, 1172, 1081, 1088, 1088, 1088, 1082, 1088,
2336 1171, 1083, 1088, 1170, 1087, 1090, 1090, 1090, 1091, 1091,
2337 1091, 1157, 1092, 1092, 1092, 1094, 1094, 1094, 1095, 1095,
2338 1095, 1155, 1154, 1090, 1153, 1091, 1151, 1150, 1080, 1092,
2339 1147, 1083, 1146, 1094, 1144, 1095, 1096, 1096, 1096, 1097,
2340 1097, 1097, 1082, 1143, 1098, 1098, 1098, 1100, 1100, 1100,
2341 1141, 1100, 1140, 1096, 1100, 1139, 1137, 1097, 1098, 1105,
2342 1105, 1105, 1098, 1094, 1107, 1107, 1107, 1108, 1108, 1108,
2344 1133, 1108, 1092, 1132, 1108, 1131, 1128, 1105, 1125, 1096,
2345 1124, 1107, 1109, 1109, 1109, 1123, 1122, 1097, 1115, 1115,
2346 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1118, 1118, 1118,
2347 1109, 1134, 1134, 1134, 1121, 1115, 1120, 1105, 1116, 1119,
2348 1114, 1117, 1135, 1135, 1135, 1118, 1136, 1136, 1136, 1138,
2349 1138, 1138, 1142, 1142, 1142, 1106, 1145, 1145, 1145, 1148,
2350 1148, 1148, 1149, 1149, 1149, 1104, 1103, 1109, 1099, 1093,
2351 1142, 1089, 1086, 1116, 1145, 1085, 1084, 1148, 1069, 1149,
2352 1064, 1117, 1063, 1062, 1118, 1158, 1158, 1158, 1048, 1158,
2353 1045, 1041, 1158, 1161, 1161, 1161, 1162, 1162, 1162, 1142,
2355 1039, 1163, 1163, 1163, 1038, 1163, 1028, 1161, 1163, 1026,
2356 1023, 1161, 1020, 1162, 1148, 1164, 1164, 1164, 1165, 1165,
2357 1165, 1166, 1166, 1166, 1019, 1166, 1016, 1014, 1166, 1167,
2358 1167, 1167, 1164, 1013, 1012, 1165, 1168, 1168, 1168, 1010,
2359 1168, 1008, 1007, 1168, 1006, 1003, 1167, 1169, 1169, 1169,
2360 1173, 1173, 1173, 1002, 1173, 999, 996, 1173, 992, 1176,
2361 1176, 1176, 990, 1176, 989, 1169, 1176, 1180, 1180, 1180,
2362 1182, 1182, 1182, 986, 1182, 980, 976, 1182, 1185, 1185,
2363 1185, 973, 1187, 1187, 1187, 1180, 1187, 966, 963, 1187,
2364 1190, 1190, 1190, 1169, 962, 961, 1185, 1191, 1191, 1191,
2366 944, 1191, 943, 942, 1191, 940, 938, 1190, 1192, 1192,
2367 1192, 937, 1192, 936, 931, 1192, 1195, 1195, 1195, 1196,
2368 1196, 1196, 928, 1196, 919, 917, 1196, 1197, 1197, 1197,
2369 1198, 1198, 1198, 1195, 1199, 1199, 1199, 916, 1199, 910,
2370 909, 1199, 908, 907, 1197, 906, 905, 1198, 1200, 1200,
2371 1200, 1201, 1201, 1201, 1203, 1203, 1203, 1205, 1205, 1205,
2372 903, 1205, 902, 899, 1205, 898, 1200, 897, 895, 1201,
2373 894, 1203, 1209, 1209, 1209, 1211, 1211, 1211, 1212, 1212,
2374 1212, 892, 1212, 891, 889, 1212, 1213, 1213, 1213, 887,
2375 1209, 886, 1211, 1216, 1216, 1216, 1200, 1203, 1215, 1215,
2377 1215, 885, 883, 1213, 1218, 1218, 1218, 1219, 1219, 1219,
2378 1216, 1201, 1215, 1217, 1217, 1217, 1215, 1217, 882, 881,
2379 1217, 1218, 1220, 1220, 1220, 1219, 1224, 1224, 1224, 1226,
2380 1226, 1226, 880, 1226, 879, 870, 1226, 869, 1213, 864,
2381 1220, 1229, 1229, 1229, 1224, 1234, 1234, 1234, 1235, 1235,
2382 1235, 863, 1235, 861, 847, 1235, 1236, 1236, 1236, 1229,
2383 844, 1218, 1234, 1237, 1237, 1237, 839, 838, 1220, 833,
2384 1238, 1238, 1238, 1236, 1240, 1240, 1240, 1241, 1241, 1241,
2385 1237, 1242, 1242, 1242, 1245, 1245, 1245, 1224, 1238, 1229,
2386 1246, 1246, 1246, 1248, 1248, 1248, 1250, 1250, 1250, 1251,
2388 1251, 1251, 1252, 1252, 1252, 1253, 1253, 1253, 1254, 1254,
2389 1254, 828, 1236, 1256, 1256, 1256, 1258, 1258, 1258, 1261,
2390 1261, 1261, 1265, 1265, 1265, 827, 1237, 1266, 1266, 1266,
2391 1238, 1267, 1267, 1267, 1258, 1267, 826, 1261, 1267, 822,
2392 1265, 1278, 1278, 1278, 1266, 1279, 1279, 1279, 810, 1279,
2393 809, 808, 1279, 1282, 1282, 1282, 1283, 1283, 1283, 1278,
2394 1283, 807, 798, 1283, 1258, 1284, 1284, 1284, 797, 1284,
2395 1282, 792, 1284, 1287, 1287, 1287, 784, 1287, 783, 782,
2396 1287, 1290, 1290, 1290, 1297, 1297, 1297, 1278, 1297, 781,
2397 777, 1297, 772, 1300, 1300, 1300, 767, 1300, 766, 1290,
2399 1300, 1303, 1303, 1303, 1304, 1304, 1304, 765, 1304, 757,
2400 755, 1304, 1305, 1305, 1305, 749, 1305, 740, 1303, 1305,
2401 1308, 1308, 1308, 1309, 1309, 1309, 1311, 1311, 1311, 1312,
2402 1312, 1312, 1290, 1312, 735, 724, 1312, 723, 1308, 722,
2403 721, 1309, 719, 1311, 1318, 1318, 1318, 717, 1318, 716,
2404 715, 1318, 1321, 1321, 1321, 1323, 1323, 1323, 1324, 1324,
2405 1324, 714, 1324, 713, 712, 1324, 1327, 1327, 1327, 1321,
2406 1328, 1328, 1328, 1323, 1330, 1330, 1330, 1331, 1331, 1331,
2407 1308, 711, 709, 1327, 1334, 1334, 1334, 708, 1328, 1337,
2408 1337, 1337, 1330, 706, 1331, 1336, 1336, 1336, 1321, 1340,
2410 1340, 1340, 1334, 705, 1341, 1341, 1341, 1337, 1341, 704,
2411 1323, 1341, 703, 1336, 1344, 1344, 1344, 1345, 1345, 1345,
2412 702, 701, 1327, 1346, 1346, 1346, 1347, 1347, 1347, 700,
2413 695, 1344, 694, 693, 1345, 692, 1330, 1348, 1348, 1348,
2414 689, 1346, 1349, 1349, 1349, 1334, 1350, 1350, 1350, 688,
2415 687, 1336, 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353,
2416 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1344, 1358, 1358,
2417 1358, 1360, 1360, 1360, 1362, 1362, 1362, 685, 1346, 1345,
2418 1365, 1365, 1365, 1367, 1367, 1367, 1369, 1369, 1369, 681,
2419 1369, 678, 1362, 1369, 1382, 1382, 1382, 1365, 1383, 1383,
2421 1383, 1367, 1383, 677, 674, 1383, 1386, 1386, 1386, 1395,
2422 1395, 1395, 1382, 1395, 673, 672, 1395, 1398, 1398, 1398,
2423 1399, 1399, 1399, 671, 1386, 1401, 1401, 1401, 663, 1402,
2424 1402, 1402, 661, 1402, 658, 1398, 1402, 657, 1399, 1416,
2425 1416, 1416, 1401, 1417, 1417, 1417, 1418, 1418, 1418, 654,
2426 651, 1382, 1423, 1423, 1423, 650, 1416, 1424, 1424, 1424,
2427 1425, 1425, 1425, 649, 1418, 1427, 1427, 1427, 1401, 1423,
2428 646, 639, 1426, 1426, 1426, 1424, 1426, 1425, 638, 1426,
2429 637, 636, 1427, 1429, 1429, 1429, 1430, 1430, 1430, 1431,
2430 1431, 1431, 1432, 1432, 1432, 1423, 1435, 1435, 1435, 627,
2432 622, 1429, 1436, 1436, 1436, 621, 620, 1431, 619, 1418,
2433 1432, 616, 613, 1424, 1437, 1437, 1437, 610, 609, 1436,
2434 1438, 1438, 1438, 1439, 1439, 1439, 1440, 1440, 1440, 608,
2435 603, 1437, 1441, 1441, 1441, 1446, 1446, 1446, 1438, 1449,
2436 1449, 1449, 1450, 1450, 1450, 602, 1450, 601, 600, 1450,
2437 1432, 1431, 597, 1446, 595, 591, 1449, 1462, 1462, 1462,
2438 587, 586, 1437, 1463, 1463, 1463, 1472, 1472, 1472, 1473,
2439 1473, 1473, 1475, 1475, 1475, 1462, 583, 580, 1476, 1476,
2440 1476, 1463, 1476, 1472, 579, 1476, 578, 1473, 577, 1475,
2441 1484, 1484, 1484, 1491, 1491, 1491, 1492, 1492, 1492, 576,
2443 1492, 575, 574, 1492, 1493, 1493, 1493, 1484, 573, 572,
2444 1491, 571, 570, 1462, 1494, 1494, 1494, 1501, 1501, 1501,
2445 1502, 1502, 1502, 1503, 1503, 1503, 569, 1503, 568, 567,
2446 1503, 566, 1494, 565, 1501, 1506, 1506, 1506, 1502, 1507,
2447 1507, 1507, 564, 1507, 563, 562, 1507, 561, 1508, 1508,
2448 1508, 560, 1506, 1509, 1509, 1509, 1511, 1511, 1511, 1512,
2449 1512, 1512, 559, 558, 1501, 1508, 557, 556, 1494, 555,
2450 552, 1509, 1516, 1516, 1516, 551, 550, 1512, 1501, 1517,
2451 1517, 1517, 548, 1517, 547, 546, 1517, 545, 544, 1516,
2452 1518, 1518, 1518, 1519, 1519, 1519, 1525, 1525, 1525, 1526,
2454 1526, 1526, 540, 1526, 538, 537, 1526, 1518, 1540, 1540,
2455 1540, 1519, 536, 1525, 1546, 1546, 1546, 1547, 1547, 1547,
2456 535, 1547, 532, 531, 1547, 530, 1540, 529, 1548, 1548,
2457 1548, 1546, 1548, 528, 527, 1548, 1556, 1556, 1556, 1557,
2458 1557, 1557, 524, 1557, 520, 519, 1557, 1564, 1564, 1564,
2459 518, 1564, 517, 1556, 1564, 1567, 1567, 1567, 1574, 1574,
2460 1574, 1575, 1575, 1575, 1540, 1576, 1576, 1576, 516, 513,
2461 1578, 1578, 1578, 1567, 1578, 1574, 512, 1578, 1575, 1581,
2462 1581, 1581, 511, 1576, 1582, 1582, 1582, 510, 1582, 509,
2463 508, 1582, 1583, 1583, 1583, 505, 1581, 1588, 1588, 1588,
2465 504, 1588, 503, 502, 1588, 1591, 1591, 1591, 500, 497,
2466 1583, 1592, 1592, 1592, 493, 1592, 492, 1567, 1592, 1574,
2467 491, 1575, 1591, 1593, 1593, 1593, 1595, 1595, 1595, 1597,
2468 1597, 1597, 1598, 1598, 1598, 490, 1598, 489, 488, 1598,
2469 1614, 1614, 1614, 1615, 1615, 1615, 1597, 1618, 1618, 1618,
2470 485, 1618, 482, 481, 1618, 1622, 1622, 1622, 1614, 477,
2471 1615, 1624, 1624, 1624, 476, 1624, 475, 474, 1624, 1637,
2472 1637, 1637, 1622, 1644, 1644, 1644, 1645, 1645, 1645, 1655,
2473 1655, 1655, 1651, 1651, 1651, 473, 1615, 1637, 1614, 471,
2474 1644, 468, 467, 1645, 1646, 1646, 1646, 464, 1646, 1651,
2476 1651, 1646, 1652, 1652, 1652, 463, 1652, 462, 461, 1652,
2477 1657, 1657, 1657, 1659, 1659, 1659, 457, 1659, 456, 455,
2478 1659, 1637, 1645, 1666, 1666, 1666, 1675, 1675, 1675, 1676,
2479 1676, 1676, 1677, 1677, 1677, 1644, 1677, 454, 450, 1677,
2480 1666, 1682, 1682, 1682, 1675, 449, 1676, 1683, 1683, 1683,
2481 448, 1683, 447, 446, 1683, 1695, 1695, 1695, 1682, 1702,
2482 1702, 1702, 1703, 1703, 1703, 1705, 1705, 1705, 1706, 1706,
2483 1706, 444, 1675, 1695, 441, 440, 1702, 438, 436, 1703,
2484 433, 432, 1705, 1705, 429, 1706, 1706, 427, 1707, 1707,
2485 1707, 424, 1707, 423, 421, 1707, 1708, 1708, 1708, 1709,
2487 1709, 1709, 1702, 420, 419, 1703, 1707, 1714, 1714, 1714,
2488 1715, 1715, 1715, 418, 1715, 417, 416, 1715, 1724, 1724,
2489 1724, 1725, 1725, 1725, 1714, 1725, 413, 412, 1725, 1732,
2490 1732, 1732, 411, 1733, 1733, 1733, 1724, 1733, 410, 409,
2491 1733, 1736, 1736, 1736, 408, 407, 1732, 1747, 1747, 1747,
2492 1755, 1755, 1755, 1756, 1756, 1756, 406, 1756, 1736, 405,
2493 1756, 1757, 1757, 1757, 402, 1747, 401, 1755, 1758, 1758,
2494 1758, 400, 1759, 1759, 1759, 399, 1759, 398, 1757, 1759,
2495 1724, 1760, 1760, 1760, 392, 1758, 1762, 1762, 1762, 1763,
2496 1763, 1763, 391, 1763, 389, 383, 1763, 379, 1760, 1767,
2498 1767, 1767, 376, 1762, 1762, 375, 371, 1763, 370, 1764,
2499 1764, 1764, 369, 1764, 368, 364, 1764, 1768, 1768, 1768,
2500 358, 1773, 1773, 1773, 354, 1773, 1757, 1764, 1773, 1788,
2501 1788, 1788, 351, 1788, 347, 346, 1788, 345, 1782, 1782,
2502 1782, 344, 1787, 1787, 1787, 340, 1760, 1765, 1765, 1765,
2503 1765, 1765, 1765, 1765, 1765, 1765, 1782, 337, 1765, 1787,
2504 1789, 1789, 1789, 1765, 1765, 1765, 1765, 1765, 1790, 1790,
2505 1790, 331, 1790, 330, 326, 1790, 323, 1789, 1805, 1805,
2506 1805, 318, 1805, 317, 316, 1805, 1808, 1808, 1808, 1765,
2507 1765, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
2509 312, 306, 1766, 1808, 1812, 1812, 1812, 1766, 1766, 1766,
2510 1766, 1766, 1809, 1809, 1809, 302, 1809, 296, 295, 1809,
2511 293, 1812, 1814, 1814, 1814, 292, 1814, 287, 281, 1814,
2512 1829, 1829, 1829, 1766, 1766, 1835, 1835, 1835, 1808, 1835,
2513 1814, 280, 1835, 1838, 1838, 1838, 276, 1838, 1829, 273,
2514 1838, 269, 1853, 1853, 1853, 268, 1812, 1817, 1817, 1817,
2515 1817, 1817, 1817, 1817, 1817, 1817, 267, 265, 1817, 1853,
2516 1854, 1854, 1854, 1817, 1817, 1817, 1817, 1817, 1861, 1861,
2517 1861, 1868, 1868, 1868, 1894, 1894, 1894, 1854, 1894, 261,
2518 258, 1894, 255, 1869, 1869, 1869, 1861, 1861, 1868, 1817,
2520 1817, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
2521 1869, 253, 1818, 249, 1853, 243, 242, 1818, 1818, 1818,
2522 1818, 1818, 1870, 1870, 1870, 1871, 1871, 1871, 1884, 1884,
2523 1884, 241, 1854, 1885, 1885, 1885, 1886, 1886, 1886, 1870,
2524 240, 236, 1871, 1818, 1818, 1884, 1890, 1890, 1890, 230,
2525 1885, 1893, 1893, 1893, 1886, 1895, 1895, 1895, 229, 1896,
2526 1896, 1896, 228, 1896, 1890, 1870, 1896, 224, 1893, 1897,
2527 1897, 1897, 1895, 1898, 1898, 1898, 221, 1898, 216, 1884,
2528 1898, 1900, 1900, 1900, 1885, 214, 1897, 213, 1901, 1901,
2529 1901, 209, 1901, 206, 1890, 1901, 204, 203, 1900, 1906,
2531 1906, 1906, 1907, 1907, 1907, 1908, 1908, 1908, 1912, 1912,
2532 1912, 202, 1912, 198, 192, 1912, 1906, 188, 184, 1907,
2533 1915, 1915, 1915, 1908, 1915, 178, 177, 1915, 1918, 1918,
2534 1918, 173, 1918, 169, 168, 1918, 1922, 1922, 1922, 167,
2535 1922, 1908, 1906, 1922, 161, 1907, 1929, 1929, 1929, 1930,
2536 1930, 1930, 1938, 1938, 1938, 1939, 1939, 1939, 1946, 1946,
2537 1946, 160, 158, 1929, 155, 143, 1930, 0, 0, 1938,
2538 0, 0, 1939, 0, 0, 1946, 1947, 1947, 1947, 1949,
2539 1949, 1949, 1954, 1954, 1954, 1955, 1955, 1955, 1957, 1957,
2540 1957, 0, 0, 1947, 0, 0, 1949, 0, 0, 1954,
2542 0, 0, 1955, 1929, 0, 1957, 1930, 0, 0, 1946,
2543 0, 1958, 1958, 1958, 1938, 1958, 0, 1939, 1958, 1963,
2544 1963, 1963, 1964, 1964, 1964, 0, 0, 1947, 0, 0,
2545 1954, 0, 0, 1955, 0, 0, 1963, 0, 0, 1964,
2546 1966, 1966, 1966, 0, 1966, 0, 0, 1966, 1971, 1971,
2547 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1974,
2548 1975, 1975, 1975, 0, 0, 1971, 0, 0, 1972, 1976,
2549 1976, 1976, 1973, 1976, 1974, 0, 1976, 1975, 0, 1963,
2550 0, 0, 1964, 1977, 1977, 1977, 0, 1976, 1978, 1978,
2551 1978, 1971, 0, 0, 1972, 1981, 1981, 1981, 0, 0,
2553 1977, 0, 1982, 1982, 1982, 1978, 1985, 1985, 1985, 1986,
2554 1986, 1986, 1981, 1989, 1989, 1989, 0, 0, 1974, 1982,
2555 1975, 0, 0, 1985, 0, 0, 1986, 1990, 1990, 1990,
2556 1989, 1977, 1993, 1993, 1993, 0, 1978, 0, 1994, 1994,
2557 1994, 0, 1994, 0, 1990, 1994, 0, 0, 1982, 1993,
2558 0, 1981, 0, 1985, 1995, 1995, 1995, 1996, 1996, 1996,
2559 0, 1996, 0, 0, 1996, 1999, 1999, 1999, 0, 1999,
2560 0, 1995, 1999, 1986, 2002, 2002, 2002, 0, 2002, 0,
2561 0, 2002, 2019, 2019, 2019, 2020, 2020, 2020, 0, 0,
2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2564 2019, 0, 0, 2020, 2023, 2023, 2023, 2023, 2023, 2023,
2565 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
2566 2024, 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025,
2567 2025, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
2568 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2028,
2569 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2029, 2029,
2570 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 2030,
2571 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031,
2572 2031, 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032,
2573 2032, 2032, 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033,
2575 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2576 2034, 2034, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2577 2035, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
2578 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038,
2579 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039,
2580 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040,
2581 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041,
2582 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042,
2583 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043,
2584 2043, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2586 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045,
2587 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046,
2588 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048,
2589 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049,
2590 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050,
2591 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051,
2592 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052,
2593 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053,
2594 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2595 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2597 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2598 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058,
2599 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059,
2600 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060,
2601 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061,
2602 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, 0, 0,
2603 0, 2062, 2063, 2063, 2063, 0, 0, 0, 2063, 2064,
2604 2064, 2064, 0, 0, 0, 2064, 2065, 2065, 2065, 0,
2605 0, 0, 2065, 2066, 2066, 2066, 0, 0, 0, 2066,
2606 2067, 2067, 2067, 0, 0, 0, 2067, 2068, 2068, 2068,
2608 0, 0, 0, 2068, 2069, 2069, 2069, 0, 0, 0,
2609 2069, 2070, 2070, 2070, 0, 0, 0, 2070, 2071, 2071,
2610 2071, 0, 0, 0, 2071, 2072, 2072, 2072, 0, 0,
2611 0, 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074,
2612 2074, 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0,
2613 0, 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076,
2614 2077, 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078,
2615 0, 0, 0, 2078, 2079, 2079, 2079, 2079, 2079, 2079,
2616 2079, 0, 2079, 2080, 0, 0, 0, 2080, 2081, 0,
2617 0, 0, 2081, 2082, 0, 0, 0, 2082, 2083, 0,
2619 0, 0, 2083, 2084, 0, 0, 0, 2084, 2085, 0,
2620 0, 0, 2085, 2086, 0, 0, 0, 2086, 2087, 0,
2621 0, 0, 2087, 2088, 0, 0, 0, 2088, 2089, 2089,
2622 2089, 0, 0, 0, 2089, 2090, 0, 0, 0, 2090,
2623 2091, 2091, 2091, 0, 0, 0, 2091, 2092, 0, 0,
2624 0, 2092, 2093, 2093, 2093, 0, 0, 0, 2093, 2094,
2625 0, 0, 0, 2094, 2095, 2095, 2095, 0, 0, 0,
2626 2095, 2096, 0, 0, 0, 2096, 2097, 2097, 2097, 0,
2627 0, 0, 2097, 2098, 0, 0, 0, 2098, 2099, 2099,
2628 2099, 0, 0, 0, 2099, 2100, 0, 0, 0, 2100,
2630 2101, 2101, 2101, 0, 0, 0, 2101, 2102, 0, 0,
2631 0, 2102, 2103, 2103, 2103, 0, 0, 0, 2103, 2104,
2632 0, 0, 0, 2104, 2105, 2105, 2105, 2105, 2105, 2105,
2633 2105, 2105, 2105, 2106, 0, 0, 0, 0, 2106, 2107,
2634 2107, 2107, 0, 0, 0, 2107, 2108, 2108, 2108, 2108,
2635 0, 0, 2108, 2108, 2109, 2109, 2109, 0, 0, 0,
2636 2109, 2110, 2110, 2110, 2110, 0, 0, 2110, 2110, 2111,
2637 2111, 2111, 0, 0, 0, 2111, 2112, 2112, 2112, 2112,
2638 0, 0, 2112, 2112, 2113, 2113, 2113, 0, 0, 0,
2639 2113, 2114, 2114, 2114, 2114, 0, 0, 2114, 2114, 2115,
2641 2115, 2115, 0, 0, 0, 2115, 2116, 2116, 2116, 2116,
2642 0, 0, 2116, 2116, 2117, 2117, 2117, 0, 0, 0,
2643 2117, 2118, 2118, 2118, 2118, 0, 0, 2118, 2118, 2119,
2644 2119, 2119, 0, 0, 0, 2119, 2120, 2120, 2120, 2120,
2645 0, 0, 2120, 2120, 2121, 2121, 2121, 0, 0, 0,
2646 2121, 2122, 2122, 2122, 2122, 0, 0, 2122, 2122, 2123,
2647 2123, 2123, 0, 0, 0, 2123, 2124, 2124, 2124, 2124,
2648 0, 0, 2124, 2124, 2125, 2125, 2125, 0, 0, 0,
2649 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126, 2127,
2650 2127, 2127, 2127, 0, 0, 2127, 2127, 2128, 2128, 2128,
2652 0, 0, 0, 2128, 2129, 2129, 2129, 2129, 0, 0,
2653 2129, 2129, 2130, 2130, 2130, 0, 0, 0, 2130, 2131,
2654 2131, 2131, 2131, 0, 0, 2131, 2131, 2132, 2132, 2132,
2655 0, 0, 0, 2132, 2133, 2133, 2133, 2133, 0, 0,
2656 2133, 2133, 2134, 2134, 2134, 2134, 0, 0, 2134, 2134,
2657 2135, 2135, 2135, 0, 0, 0, 2135, 2136, 2136, 2136,
2658 2136, 0, 0, 2136, 2136, 2137, 2137, 2137, 0, 0,
2659 0, 2137, 2138, 2138, 2138, 2138, 0, 0, 2138, 2138,
2660 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2140,
2661 0, 2140, 0, 0, 2140, 2141, 2141, 2141, 0, 0,
2663 0, 2141, 2142, 2142, 2142, 2142, 0, 0, 2142, 2142,
2664 2143, 2143, 2143, 2143, 0, 2143, 0, 2143, 2144, 2144,
2665 2144, 2144, 0, 0, 2144, 2144, 2145, 2145, 2145, 2145,
2666 0, 2145, 0, 2145, 2146, 2146, 2146, 2146, 0, 0,
2667 2146, 2146, 2147, 2147, 2147, 0, 0, 0, 2147, 2148,
2668 2148, 2148, 2148, 0, 0, 2148, 2148, 2149, 2149, 2149,
2669 0, 0, 0, 2149, 2150, 2150, 2150, 2150, 0, 0,
2670 2150, 2150, 2151, 2151, 2151, 0, 0, 0, 2151, 2152,
2671 2152, 2152, 2152, 0, 0, 2152, 2152, 2153, 2153, 2153,
2672 0, 0, 0, 2153, 2154, 2154, 2154, 2154, 0, 0,
2674 2154, 2154, 2155, 2155, 2155, 0, 0, 0, 2155, 2156,
2675 2156, 2156, 2156, 0, 0, 2156, 2156, 2157, 2157, 2157,
2676 0, 0, 0, 2157, 2158, 2158, 2158, 2158, 0, 0,
2677 2158, 2158, 2159, 2159, 2159, 0, 0, 0, 2159, 2160,
2678 2160, 2160, 2160, 0, 0, 2160, 2160, 2161, 2161, 2161,
2679 2161, 0, 0, 2161, 2161, 2162, 2162, 2162, 0, 0,
2680 0, 2162, 2163, 2163, 2163, 2163, 0, 0, 2163, 2163,
2681 2164, 2164, 2164, 0, 0, 0, 2164, 2165, 2165, 2165,
2682 2165, 0, 0, 2165, 2165, 2166, 2166, 2166, 0, 0,
2683 0, 2166, 2167, 2167, 2167, 2167, 0, 0, 2167, 2167,
2685 2168, 2168, 2168, 2168, 0, 0, 2168, 2168, 2169, 2169,
2686 2169, 0, 0, 0, 2169, 2170, 2170, 2170, 2170, 0,
2687 0, 2170, 2170, 2171, 2171, 2171, 0, 0, 0, 2171,
2688 2172, 2172, 2172, 2172, 0, 0, 2172, 2172, 2173, 2173,
2689 2173, 2173, 2173, 2173, 2173, 2173, 2173, 2174, 2174, 2174,
2690 2174, 2174, 2174, 2174, 2174, 2174, 2175, 2175, 2175, 0,
2691 0, 0, 2175, 2176, 2176, 2176, 2176, 0, 0, 2176,
2692 2176, 2177, 2177, 2177, 2177, 0, 0, 2177, 2177, 2178,
2693 2178, 2178, 0, 0, 0, 2178, 2179, 2179, 2179, 2179,
2694 0, 0, 2179, 2179, 2180, 2180, 2180, 0, 0, 0,
2696 2180, 2181, 2181, 2181, 2181, 0, 0, 2181, 2181, 2182,
2697 2182, 2182, 0, 0, 0, 2182, 2183, 2183, 2183, 2183,
2698 0, 0, 2183, 2183, 2184, 2184, 2184, 0, 0, 0,
2699 2184, 2185, 2185, 2185, 2185, 0, 0, 2185, 2185, 2186,
2700 2186, 2186, 0, 0, 0, 2186, 2187, 2187, 2187, 2187,
2701 0, 0, 2187, 2187, 2188, 2188, 2188, 0, 0, 0,
2702 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189, 2190,
2703 2190, 2190, 2190, 0, 2190, 0, 2190, 2191, 2191, 2191,
2704 2191, 0, 0, 2191, 2191, 2192, 2192, 2192, 2192, 0,
2705 2192, 0, 2192, 2193, 2193, 2193, 2193, 0, 0, 2193,
2707 2193, 2194, 2194, 2194, 2194, 0, 0, 2194, 2194, 2195,
2708 2195, 2195, 0, 0, 0, 2195, 2196, 2196, 2196, 2196,
2709 0, 0, 2196, 2196, 2197, 2197, 2197, 0, 0, 0,
2710 2197, 2198, 2198, 2198, 2198, 0, 0, 2198, 2198, 2199,
2711 2199, 2199, 0, 0, 0, 2199, 2200, 2200, 2200, 2200,
2712 0, 0, 2200, 2200, 2201, 2201, 2201, 2201, 0, 0,
2713 2201, 2201, 2202, 2202, 2202, 0, 0, 0, 2202, 2203,
2714 2203, 2203, 2203, 0, 0, 2203, 2203, 2204, 2204, 2204,
2715 2204, 0, 2204, 0, 2204, 2205, 2205, 2205, 2205, 0,
2716 0, 2205, 2205, 2206, 2206, 2206, 2206, 2206, 2206, 2206,
2718 2206, 2206, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
2719 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2720 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 2210,
2721 0, 0, 2210, 2210, 2211, 2211, 2211, 0, 0, 0,
2722 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2723 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2724 0, 0, 2214, 2214, 2215, 2215, 2215, 0, 0, 0,
2725 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216, 2217,
2726 2217, 2217, 2217, 0, 2217, 0, 2217, 2218, 2218, 2218,
2727 2218, 0, 2218, 0, 2218, 2219, 2219, 2219, 2219, 0,
2729 0, 2219, 2219, 2220, 2220, 2220, 0, 0, 0, 2220,
2730 2221, 2221, 2221, 2221, 0, 0, 2221, 2221, 2222, 2222,
2731 2222, 2222, 0, 0, 2222, 2222, 2223, 2223, 2223, 2223,
2732 0, 2223, 0, 2223, 2224, 2224, 2224, 2224, 0, 0,
2733 2224, 2224, 2225, 2225, 2225, 2225, 0, 0, 2225, 2225,
2734 2226, 2226, 2226, 0, 0, 0, 2226, 2227, 2227, 2227,
2735 2227, 0, 0, 2227, 2227, 2228, 2228, 2228, 2228, 0,
2736 2228, 0, 2228, 2229, 2229, 2229, 2229, 0, 0, 2229,
2737 2229, 2230, 2230, 2230, 2230, 0, 2230, 0, 2230, 2231,
2738 2231, 2231, 2231, 0, 0, 2231, 2231, 2232, 2232, 2232,
2740 2232, 0, 0, 2232, 2232, 2233, 2233, 2233, 0, 0,
2741 0, 2233, 2234, 2234, 2234, 2234, 0, 0, 2234, 2234,
2742 2235, 2235, 2235, 2235, 0, 0, 2235, 2235, 2236, 2236,
2743 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2237, 2237, 2237,
2744 2237, 2237, 2237, 2237, 2237, 2237, 2238, 2238, 2238, 2238,
2745 0, 2238, 0, 2238, 2239, 2239, 2239, 2239, 0, 0,
2746 2239, 2239, 2240, 2240, 2240, 2240, 0, 0, 2240, 2240,
2747 2241, 2241, 2241, 0, 0, 0, 2241, 2242, 2242, 2242,
2748 2242, 0, 0, 2242, 2242, 2243, 2243, 2243, 0, 0,
2749 0, 2243, 2244, 2244, 2244, 2244, 0, 0, 2244, 2244,
2751 2245, 2245, 2245, 2245, 0, 2245, 0, 2245, 2246, 2246,
2752 2246, 2246, 0, 0, 2246, 2246, 2247, 2247, 2247, 2247,
2753 0, 2247, 0, 2247, 2248, 2248, 2248, 2248, 0, 0,
2754 2248, 2248, 2249, 2249, 2249, 0, 0, 0, 2249, 2250,
2755 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251, 2251,
2756 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252, 2252,
2757 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253, 2253,
2758 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254, 2254,
2759 2254, 2254, 2254, 2254, 2255, 2255, 2255, 2255, 2255, 2255,
2760 2255, 2255, 2255, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2762 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2763 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2764 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2765 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2766 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2767 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2771 /* Table of booleans, true if rule could match eol. */
2772 static yyconst flex_int32_t yy_rule_can_match_eol[352] =
2774 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2775 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2776 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
2777 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2778 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2779 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2780 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2781 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2782 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2784 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
2785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2786 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2787 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2788 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2789 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2790 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
2791 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2793 static yy_state_type yy_last_accepting_state;
2794 static char *yy_last_accepting_cpos;
2796 extern int surf_parse__flex_debug;
2797 int surf_parse__flex_debug = 0;
2799 /* The intent behind this definition is that it'll catch
2800 * any uses of REJECT which flex missed.
2802 #define REJECT reject_used_but_not_detected
2803 #define yymore() yymore_used_but_not_detected
2804 #define YY_MORE_ADJ 0
2805 #define YY_RESTORE_YY_MORE_OFFSET
2806 char *surf_parse_text;
2807 /* Validating XML processor for surf/simgrid.dtd.
2808 * Generated 2008/02/03 11:50:45.
2810 * This program was generated with the FleXML XML processor generator.
2811 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2812 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2813 * (Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp).
2815 * There are two, intertwined parts to this program, part A and part B.
2820 * Some parts, here collectively called "Part A", are found in the
2821 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2822 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2824 * You can redistribute, use, perform, display and/or modify "Part A"
2825 * provided the following two conditions hold:
2827 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2828 * FleXML; without even the implied warranty of MERCHANTABILITY or
2829 * FITNESS FOR A PARTICULAR PURPOSE.
2831 * 2. The program distribution conditions do not in any way affect the
2832 * distribution conditions of the FleXML system used to generate this
2833 * file or any version of FleXML derived from that system.
2835 * Notice that these are explicit rights granted to you for files
2836 * generated by the FleXML system. For your rights in connection with
2837 * the FleXML system itself please consult the GNU General Public License.
2842 * The other parts, here collectively called "Part B", and which came
2843 * from the DTD used by FleXML to generate this program, can be
2844 * distributed (or not, as the case may be) under the terms of whoever
2845 * wrote them, provided these terms respect and obey the two conditions
2846 * above under the heading "Part A".
2848 * The author of and contributors to FleXML specifically disclaim
2849 * any copyright interest in "Part B", unless "Part B" was written
2850 * by the author of or contributors to FleXML.
2854 /* Version strings. */
2855 const char rcs_surfxml_flexml_skeleton[] =
2856 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2857 const char rcs_surfxml_flexml[] =
2858 "$" "Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp $";
2861 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2868 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2869 # ifndef __STRICT_ANSI__
2871 # include <process.h>
2874 # include <unistd.h>
2877 #ifndef FLEXML_INDEXSTACKSIZE
2878 #define FLEXML_INDEXSTACKSIZE 1000
2881 /* Generated definitions. */
2882 #define FLEXML_yylineno
2883 #ifndef FLEXML_BUFFERSTACKSIZE
2884 #define FLEXML_BUFFERSTACKSIZE 1000000
2886 #define FLEXML_NEED_BUFFERLIT
2888 /* XML processor api. */
2889 /* FleXML-provided data. */
2890 int surfxml_pcdata_ix;
2891 extern char *surfxml_bufferstack;
2892 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2893 AT_surfxml_random_generator AX_surfxml_random_generator;
2894 #define A_surfxml_random_generator AX_surfxml_random_generator
2895 AT_surfxml_prop_id AX_surfxml_prop_id;
2896 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2897 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2898 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2899 AT_surfxml_host_id AX_surfxml_host_id;
2900 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2901 AT_surfxml_set_id AX_surfxml_set_id;
2902 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2903 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2904 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2905 AT_surfxml_host_state AX_surfxml_host_state;
2906 #define A_surfxml_host_state AX_surfxml_host_state
2907 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2908 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2909 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2910 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2911 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2912 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2913 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2914 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2915 AT_surfxml_host_power AX_surfxml_host_power;
2916 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2917 AT_surfxml_router_id AX_surfxml_router_id;
2918 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2919 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2920 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2921 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2922 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2923 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2924 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2925 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2926 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2927 AT_surfxml_trace_file AX_surfxml_trace_file;
2928 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2929 AT_surfxml_route_action AX_surfxml_route_action;
2930 #define A_surfxml_route_action AX_surfxml_route_action
2931 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2932 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2933 AT_surfxml_random_min AX_surfxml_random_min;
2934 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2935 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2936 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2937 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2938 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2939 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2940 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2941 AT_surfxml_argument_value AX_surfxml_argument_value;
2942 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2943 AT_surfxml_link_state AX_surfxml_link_state;
2944 #define A_surfxml_link_state AX_surfxml_link_state
2945 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2946 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2947 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2948 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2949 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2950 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2951 AT_surfxml_random_mean AX_surfxml_random_mean;
2952 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2953 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2954 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2955 AT_surfxml_link_latency AX_surfxml_link_latency;
2956 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2957 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2958 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2959 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2960 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2961 AT_surfxml_random_id AX_surfxml_random_id;
2962 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2963 AT_surfxml_set_radical AX_surfxml_set_radical;
2964 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2965 AT_surfxml_random_max AX_surfxml_random_max;
2966 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2967 AT_surfxml_link_id AX_surfxml_link_id;
2968 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2969 AT_surfxml_process_host AX_surfxml_process_host;
2970 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2971 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2972 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2973 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2974 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2975 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2976 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2977 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2978 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2979 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
2980 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2981 AT_surfxml_prop_value AX_surfxml_prop_value;
2982 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2983 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
2984 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
2985 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2986 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2987 AT_surfxml_set_prefix AX_surfxml_set_prefix;
2988 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
2989 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2990 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2991 AT_surfxml_process_function AX_surfxml_process_function;
2992 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2993 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2994 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2995 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2996 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2997 AT_surfxml_host_availability AX_surfxml_host_availability;
2998 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2999 AT_surfxml_route_src AX_surfxml_route_src;
3000 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3001 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
3002 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
3003 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
3004 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
3005 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
3006 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
3007 AT_surfxml_trace_id AX_surfxml_trace_id;
3008 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3009 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3010 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3011 AT_surfxml_include_file AX_surfxml_include_file;
3012 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3013 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3014 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3015 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
3016 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
3017 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
3018 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
3019 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3020 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3021 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3022 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3023 AT_surfxml_route_dst AX_surfxml_route_dst;
3024 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3025 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3026 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3027 AT_surfxml_platform_version AX_surfxml_platform_version;
3028 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3032 # define ENTER(state) debug_enter(state,#state)
3033 # define LEAVE debug_leave()
3034 # define SET(state) debug_set(state,#state)
3035 static void debug_enter(int, const char*);
3036 static void debug_leave(void);
3037 static void debug_set(int, const char*);
3039 # define ENTER(state) (yy_push_state(state))
3040 # define LEAVE (yy_pop_state())
3041 # define SET(state) BEGIN(state)
3044 /* Generic actions. */
3045 #define SKIP /*skip*/
3046 #define SUCCEED CLEANUP; return 0
3048 #define FAIL return fail
3049 static int fail(const char*, ...);
3051 enum {flexml_max_err_msg_size = 512};
3052 static char flexml_err_msg[flexml_max_err_msg_size];
3053 const char * surfxml_parse_err_msg()
3055 return flexml_err_msg;
3057 static void reset_surfxml_parse_err_msg()
3059 flexml_err_msg[0] = '\0';
3063 static void cleanup(void);
3064 #define CLEANUP cleanup()
3066 /* Text buffer stack handling. */
3067 char *surfxml_bufferstack = NULL;
3068 static int blimit = FLEXML_BUFFERSTACKSIZE;
3069 static int bnext = 1;
3071 static int *indexstack = NULL;
3072 static int ilimit = FLEXML_INDEXSTACKSIZE;
3073 static int inext = 1;
3075 #define BUFFERSET(P) (P = bnext)
3076 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3077 #define BUFFERDONE (BUFFERPUTC('\0'))
3079 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3081 /* after this is called, there are at least 2 slots left in the stack */
3082 static int ck_blimit()
3084 if (bnext >= blimit) {
3085 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3087 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3089 surfxml_bufferstack = temp;
3095 /* after this is called, there are at least 2 slots left in the stack */
3096 static int ck_ilimit()
3098 if (inext >= ilimit) {
3099 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3101 int *temp = (int *) realloc(indexstack, ilimit);
3109 #ifdef FLEXML_NEED_BUFFERLIT
3110 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3112 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3113 assert(s <= e); BUFFERSET(*pp);
3115 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3116 else BUFFERPUTC(*s);
3122 static void pushbuffer(int p)
3125 indexstack[inext++] = p;
3126 indexstack[inext++] = bnext;
3129 static int popbuffer(void)
3132 bnext = indexstack[--inext];
3133 return indexstack[--inext];
3136 /* General internal entities are `unput' back onto the input stream... */
3137 #define ENTITYTEXT(T) \
3138 { char *s = (T), *e = s+strlen(s);\
3139 while (--e >= s) { unput(*e); }}
3141 /* Flex standard options. */
3142 #define YY_NO_INPUT 1
3143 /* Flex user-requested options. */
3144 /* XML character classes (currently restricted to ASCII). */
3145 /* "Common syntactic structures." */
3146 /* "Names and Tokens." */
3147 /* Miscellaneous. */
3148 /* Parser states (flex `exclusive start conditions'):
3150 * PROLOG the XML prolog of the document before <?xml...>
3151 * DOCTYPE the XML prolog of the document after <?xml...>
3152 * EPILOG after the root element
3153 * INCOMMENT inside an XML comment <!--....-->
3154 * INPI inside an XML PI <?...?>
3155 * VALUE1 inside a '...'-delimited literal
3156 * VALUE2 inside a "..."-delimited literal
3157 * CDATA inside a <![CDATA[...] ]> section.
3158 * ROOT_<tag> expect root element <tag>
3159 * AL_<tag> inside the attribute list for <tag>
3160 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3161 * IMPOSSIBLE dummy to permit disabling rules; must be last
3165 const char* *surfxml_statenames=NULL;
3176 #define ROOT_surfxml_platform 9
3177 #define AL_surfxml_platform 10
3178 #define S_surfxml_platform 11
3179 #define S_surfxml_platform_1 12
3180 #define S_surfxml_platform_2 13
3181 #define S_surfxml_platform_3 14
3182 #define S_surfxml_platform_4 15
3183 #define S_surfxml_platform_5 16
3184 #define E_surfxml_platform 17
3185 #define AL_surfxml_include 18
3186 #define E_surfxml_include 19
3187 #define AL_surfxml_trace 20
3189 #define AL_surfxml_random 22
3190 #define S_surfxml_random 23
3191 #define S_surfxml_random_1 24
3192 #define S_surfxml_random_2 25
3193 #define E_surfxml_random 26
3194 #define AL_surfxml_trace_c_connect 27
3195 #define E_surfxml_trace_c_connect 28
3196 #define AL_surfxml_set 29
3197 #define E_surfxml_set 30
3198 #define AL_surfxml_foreach 31
3199 #define S_surfxml_foreach 32
3200 #define S_surfxml_foreach_1 33
3201 #define E_surfxml_foreach 34
3202 #define AL_surfxml_host 35
3203 #define S_surfxml_host 36
3204 #define S_surfxml_host_1 37
3205 #define S_surfxml_host_2 38
3206 #define E_surfxml_host 39
3207 #define AL_surfxml_prop 40
3208 #define E_surfxml_prop 41
3209 #define AL_surfxml_cluster 42
3210 #define E_surfxml_cluster 43
3211 #define AL_surfxml_router 44
3212 #define E_surfxml_router 45
3213 #define AL_surfxml_link 46
3214 #define S_surfxml_link 47
3215 #define S_surfxml_link_1 48
3216 #define S_surfxml_link_2 49
3217 #define E_surfxml_link 50
3218 #define AL_surfxml_route_c_multi 51
3219 #define S_surfxml_route_c_multi 52
3220 #define S_surfxml_route_c_multi_1 53
3221 #define S_surfxml_route_c_multi_2 54
3222 #define E_surfxml_route_c_multi 55
3223 #define AL_surfxml_route 56
3224 #define S_surfxml_route 57
3225 #define S_surfxml_route_1 58
3226 #define S_surfxml_route_2 59
3227 #define E_surfxml_route 60
3228 #define AL_surfxml_link_c_ctn 61
3229 #define E_surfxml_link_c_ctn 62
3230 #define AL_surfxml_process 63
3231 #define S_surfxml_process 64
3232 #define S_surfxml_process_1 65
3233 #define S_surfxml_process_2 66
3234 #define E_surfxml_process 67
3235 #define AL_surfxml_argument 68
3236 #define E_surfxml_argument 69
3237 #define IMPOSSIBLE 70
3239 #ifndef YY_NO_UNISTD_H
3240 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3241 * down here because we want the user's section 1 to have been scanned first.
3242 * The user has a chance to override it with an option.
3244 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3245 # ifndef __STRICT_ANSI__
3247 # include <process.h>
3250 # include <unistd.h>
3254 #ifndef YY_EXTRA_TYPE
3255 #define YY_EXTRA_TYPE void *
3258 static int yy_init_globals (void );
3260 /* Macros after this point can all be overridden by user definitions in
3264 #ifndef YY_SKIP_YYWRAP
3266 extern "C" int surf_parse_wrap (void );
3268 extern int surf_parse_wrap (void );
3273 static void yy_flex_strncpy (char *,yyconst char *,int );
3276 #ifdef YY_NEED_STRLEN
3277 static int yy_flex_strlen (yyconst char * );
3283 static int yyinput (void );
3285 static int input (void );
3290 static int yy_start_stack_ptr = 0;
3291 static int yy_start_stack_depth = 0;
3292 static int *yy_start_stack = NULL;
3294 static void yy_push_state (int new_state );
3296 static void yy_pop_state (void );
3298 /* Amount of stuff to slurp up with each read. */
3299 #ifndef YY_READ_BUF_SIZE
3300 #define YY_READ_BUF_SIZE 8192
3303 /* Copy whatever the last rule matched to the standard output. */
3305 /* This used to be an fputs(), but since the string might contain NUL's,
3306 * we now use fwrite().
3308 #define ECHO fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )
3311 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3312 * is returned in "result".
3315 #define YY_INPUT(buf,result,max_size) \
3316 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3320 for ( n = 0; n < max_size && \
3321 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3322 buf[n] = (char) c; \
3324 buf[n++] = (char) c; \
3325 if ( c == EOF && ferror( surf_parse_in ) ) \
3326 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3332 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3334 if( errno != EINTR) \
3336 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3340 clearerr(surf_parse_in); \
3347 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3348 * we don't want an extra ';' after the "return" because that will cause
3349 * some compilers to complain about unreachable statements.
3352 #define yyterminate() return YY_NULL
3355 /* Number of entries by which start-condition stack grows. */
3356 #ifndef YY_START_STACK_INCR
3357 #define YY_START_STACK_INCR 25
3360 /* Report a fatal error. */
3361 #ifndef YY_FATAL_ERROR
3362 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3365 /* end tables serialization structures and prototypes */
3367 /* Default declaration of generated scanner - a define so the user can
3368 * easily add parameters.
3371 #define YY_DECL_IS_OURS 1
3373 extern int surf_parse_lex (void);
3375 #define YY_DECL int surf_parse_lex (void)
3376 #endif /* !YY_DECL */
3378 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3381 #ifndef YY_USER_ACTION
3382 #define YY_USER_ACTION
3385 /* Code executed at the end of each rule. */
3387 #define YY_BREAK break;
3390 #define YY_RULE_SETUP \
3393 /** The main scanner function which does all the work.
3397 register yy_state_type yy_current_state;
3398 register char *yy_cp, *yy_bp;
3399 register int yy_act;
3401 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3403 reset_surfxml_parse_err_msg();
3404 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3405 assert(surfxml_bufferstack);
3409 for (i = 0; i < blimit; i++) {
3410 surfxml_bufferstack[i] = '\377';
3414 surfxml_bufferstack[0] = '\0';
3415 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3421 surfxml_bufferliteral('\0', &bnext, "0.0");
3422 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3423 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3424 surfxml_bufferliteral('\0', &bnext, "1.0");
3425 surfxml_bufferliteral('\0', &bnext, "1.0");
3426 surfxml_bufferliteral('\0', &bnext, "1.0");
3427 surfxml_bufferliteral('\0', &bnext, "1.0");
3428 surfxml_bufferliteral('\0', &bnext, "-1.0");
3429 surfxml_bufferliteral('\0', &bnext, "0.0");
3430 surfxml_bufferliteral('\0', &bnext, "0.0");
3431 surfxml_bufferliteral('\0', &bnext, "0.0");
3432 surfxml_bufferliteral('\0', &bnext, "0.0");
3433 surfxml_bufferliteral('\0', &bnext, "0.0");
3434 surfxml_bufferliteral('\0', &bnext, "-1.0");
3435 surfxml_bufferliteral('\0', &bnext, "-1.0");
3436 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3437 surfxml_statenames[PROLOG] = NULL;
3438 surfxml_statenames[DOCTYPE] = NULL;
3439 surfxml_statenames[EPILOG] = NULL;
3440 surfxml_statenames[INCOMMENT] = NULL;
3441 surfxml_statenames[INPI] = NULL;
3442 surfxml_statenames[VALUE1] = NULL;
3443 surfxml_statenames[VALUE2] = NULL;
3444 surfxml_statenames[CDATA] = NULL;
3445 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3446 surfxml_statenames[AL_surfxml_platform] = NULL;
3447 surfxml_statenames[S_surfxml_platform] = "platform";
3448 surfxml_statenames[S_surfxml_platform_1] = "platform";
3449 surfxml_statenames[S_surfxml_platform_2] = "platform";
3450 surfxml_statenames[S_surfxml_platform_3] = "platform";
3451 surfxml_statenames[S_surfxml_platform_4] = "platform";
3452 surfxml_statenames[S_surfxml_platform_5] = "platform";
3453 surfxml_statenames[E_surfxml_platform] = "platform";
3454 surfxml_statenames[AL_surfxml_include] = NULL;
3455 surfxml_statenames[E_surfxml_include] = "include";
3456 surfxml_statenames[AL_surfxml_trace] = NULL;
3457 surfxml_statenames[IN_trace] = "trace";
3458 surfxml_statenames[AL_surfxml_random] = NULL;
3459 surfxml_statenames[S_surfxml_random] = "random";
3460 surfxml_statenames[S_surfxml_random_1] = "random";
3461 surfxml_statenames[S_surfxml_random_2] = "random";
3462 surfxml_statenames[E_surfxml_random] = "random";
3463 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3464 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3465 surfxml_statenames[AL_surfxml_set] = NULL;
3466 surfxml_statenames[E_surfxml_set] = "set";
3467 surfxml_statenames[AL_surfxml_foreach] = NULL;
3468 surfxml_statenames[S_surfxml_foreach] = "foreach";
3469 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3470 surfxml_statenames[E_surfxml_foreach] = "foreach";
3471 surfxml_statenames[AL_surfxml_host] = NULL;
3472 surfxml_statenames[S_surfxml_host] = "host";
3473 surfxml_statenames[S_surfxml_host_1] = "host";
3474 surfxml_statenames[S_surfxml_host_2] = "host";
3475 surfxml_statenames[E_surfxml_host] = "host";
3476 surfxml_statenames[AL_surfxml_prop] = NULL;
3477 surfxml_statenames[E_surfxml_prop] = "prop";
3478 surfxml_statenames[AL_surfxml_cluster] = NULL;
3479 surfxml_statenames[E_surfxml_cluster] = "cluster";
3480 surfxml_statenames[AL_surfxml_router] = NULL;
3481 surfxml_statenames[E_surfxml_router] = "router";
3482 surfxml_statenames[AL_surfxml_link] = NULL;
3483 surfxml_statenames[S_surfxml_link] = "link";
3484 surfxml_statenames[S_surfxml_link_1] = "link";
3485 surfxml_statenames[S_surfxml_link_2] = "link";
3486 surfxml_statenames[E_surfxml_link] = "link";
3487 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3488 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3489 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3490 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3491 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3492 surfxml_statenames[AL_surfxml_route] = NULL;
3493 surfxml_statenames[S_surfxml_route] = "route";
3494 surfxml_statenames[S_surfxml_route_1] = "route";
3495 surfxml_statenames[S_surfxml_route_2] = "route";
3496 surfxml_statenames[E_surfxml_route] = "route";
3497 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3498 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3499 surfxml_statenames[AL_surfxml_process] = NULL;
3500 surfxml_statenames[S_surfxml_process] = "process";
3501 surfxml_statenames[S_surfxml_process_1] = "process";
3502 surfxml_statenames[S_surfxml_process_2] = "process";
3503 surfxml_statenames[E_surfxml_process] = "process";
3504 surfxml_statenames[AL_surfxml_argument] = NULL;
3505 surfxml_statenames[E_surfxml_argument] = "argument";
3508 /* COMMENTS and PIs: handled uniformly for efficiency. */
3519 (yy_start) = 1; /* first start state */
3521 if ( ! surf_parse_in )
3522 surf_parse_in = stdin;
3524 if ( ! surf_parse_out )
3525 surf_parse_out = stdout;
3527 if ( ! YY_CURRENT_BUFFER ) {
3528 surf_parse_ensure_buffer_stack ();
3529 YY_CURRENT_BUFFER_LVALUE =
3530 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3533 surf_parse__load_buffer_state( );
3536 while ( 1 ) /* loops until end-of-file is reached */
3538 yy_cp = (yy_c_buf_p);
3540 /* Support of surf_parse_text. */
3541 *yy_cp = (yy_hold_char);
3543 /* yy_bp points to the position in yy_ch_buf of the start of
3548 yy_current_state = (yy_start);
3552 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3553 if ( yy_accept[yy_current_state] )
3555 (yy_last_accepting_state) = yy_current_state;
3556 (yy_last_accepting_cpos) = yy_cp;
3558 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3560 yy_current_state = (int) yy_def[yy_current_state];
3561 if ( yy_current_state >= 2023 )
3562 yy_c = yy_meta[(unsigned int) yy_c];
3564 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3567 while ( yy_base[yy_current_state] != 7094 );
3570 yy_act = yy_accept[yy_current_state];
3572 { /* have to back up */
3573 yy_cp = (yy_last_accepting_cpos);
3574 yy_current_state = (yy_last_accepting_state);
3575 yy_act = yy_accept[yy_current_state];
3578 YY_DO_BEFORE_ACTION;
3580 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3583 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3584 if ( surf_parse_text[yyl] == '\n' )
3586 surf_parse_lineno++;
3590 do_action: /* This label is used only to access EOF actions. */
3593 { /* beginning of action switch */
3594 case 0: /* must back up */
3595 /* undo the effects of YY_DO_BEFORE_ACTION */
3596 *yy_cp = (yy_hold_char);
3597 yy_cp = (yy_last_accepting_cpos);
3598 yy_current_state = (yy_last_accepting_state);
3599 goto yy_find_action;
3617 /* rule 6 can match eol */
3621 case YY_STATE_EOF(INCOMMENT):
3622 FAIL("EOF in comment.");
3631 /* rule 9 can match eol */
3635 case YY_STATE_EOF(INPI):
3636 FAIL("EOF in PI (processing instruction).");
3639 /* SPACES: skipped uniformly */
3641 /* rule 10 can match eol */
3645 /* PROLOG: determine root element and process it. */
3648 /* rule 11 can match eol */
3653 /* rule 12 can match eol */
3655 FAIL("Bad declaration %s.",surf_parse_text);
3659 /* rule 13 can match eol */
3661 SET(ROOT_surfxml_platform);
3664 /* rule 14 can match eol */
3666 FAIL("Bad declaration %s.",surf_parse_text);
3670 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3672 case YY_STATE_EOF(PROLOG):
3673 case YY_STATE_EOF(DOCTYPE):
3674 FAIL("EOF in prolog.");
3677 /* RULES DERIVED FROM DTD. */
3678 /* <!-- Small DTD for SURF based tools. --> */
3680 /* rule 16 can match eol */
3682 FAIL("Starting tag <platform> is not allowed here.");
3685 /* rule 17 can match eol */
3688 AX_surfxml_platform_version = 1;
3689 AX_surfxml_platform_xmlns_c_link = 5;
3690 AX_surfxml_platform_xmlns_c_route = 37;
3691 ENTER(AL_surfxml_platform); pushbuffer(0);
3696 /* rule 18 can match eol */
3698 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3701 /* rule 19 can match eol */
3703 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3706 /* rule 20 can match eol */
3708 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3711 /* rule 21 can match eol */
3713 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3716 /* rule 22 can match eol */
3718 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3721 /* rule 23 can match eol */
3723 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3728 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3734 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3736 case ROOT_surfxml_platform: SET(EPILOG); break;
3742 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3746 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3748 case YY_STATE_EOF(AL_surfxml_platform):
3749 FAIL("EOF in attribute list of `platform' element.");
3753 /* rule 28 can match eol */
3757 ETag_surfxml_platform();
3758 popbuffer(); /* attribute */
3760 case ROOT_surfxml_platform: SET(EPILOG); break;
3765 /* rule 29 can match eol */
3767 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3771 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3773 case YY_STATE_EOF(S_surfxml_platform_5):
3774 case YY_STATE_EOF(S_surfxml_platform_1):
3775 case YY_STATE_EOF(S_surfxml_platform_3):
3776 case YY_STATE_EOF(S_surfxml_platform):
3777 case YY_STATE_EOF(E_surfxml_platform):
3778 FAIL("Premature EOF: `</platform>' expected.");
3782 /* rule 31 can match eol */
3784 FAIL("Starting tag <include> is not allowed here.");
3787 /* rule 32 can match eol */
3790 AX_surfxml_include_file = 0;
3791 ENTER(AL_surfxml_include); pushbuffer(0);
3796 /* rule 33 can match eol */
3798 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
3801 /* rule 34 can match eol */
3803 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
3808 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3809 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
3815 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3816 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
3818 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3819 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3825 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
3829 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
3831 case YY_STATE_EOF(AL_surfxml_include):
3832 FAIL("EOF in attribute list of `include' element.");
3836 /* rule 39 can match eol */
3840 ETag_surfxml_include();
3841 popbuffer(); /* attribute */
3843 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3844 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3849 /* rule 40 can match eol */
3851 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
3855 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
3857 case YY_STATE_EOF(E_surfxml_include):
3858 FAIL("Premature EOF: `</include>' expected.");
3862 /* rule 42 can match eol */
3864 FAIL("Starting tag <trace> is not allowed here.");
3867 /* rule 43 can match eol */
3870 AX_surfxml_trace_id = 0;
3871 AX_surfxml_trace_file = 0;
3872 AX_surfxml_trace_periodicity = 0;
3873 ENTER(AL_surfxml_trace); pushbuffer(0);
3878 /* rule 44 can match eol */
3880 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3883 /* rule 45 can match eol */
3885 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3888 /* rule 46 can match eol */
3890 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3893 /* rule 47 can match eol */
3895 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3898 /* rule 48 can match eol */
3900 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3903 /* rule 49 can match eol */
3905 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3910 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3911 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3912 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3918 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3919 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3920 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3922 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3928 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3932 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3934 case YY_STATE_EOF(AL_surfxml_trace):
3935 FAIL("EOF in attribute list of `trace' element.");
3939 /* rule 54 can match eol */
3944 ETag_surfxml_trace();
3945 surfxml_pcdata_ix = popbuffer();
3946 popbuffer(); /* attribute */
3948 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3953 /* rule 55 can match eol */
3955 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3957 case YY_STATE_EOF(IN_trace):
3958 FAIL("Premature EOF: `</trace>' expected.");
3962 /* rule 56 can match eol */
3964 FAIL("Starting tag <random> is not allowed here.");
3967 /* rule 57 can match eol */
3970 AX_surfxml_random_id = 0;
3971 AX_surfxml_random_min = 0;
3972 AX_surfxml_random_max = 0;
3973 AX_surfxml_random_mean = 0;
3974 AX_surfxml_random_std_deviation = 0;
3975 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3976 ENTER(AL_surfxml_random); pushbuffer(0);
3981 /* rule 58 can match eol */
3983 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3986 /* rule 59 can match eol */
3988 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3991 /* rule 60 can match eol */
3993 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3996 /* rule 61 can match eol */
3998 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4001 /* rule 62 can match eol */
4003 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4006 /* rule 63 can match eol */
4008 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4011 /* rule 64 can match eol */
4013 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4016 /* rule 65 can match eol */
4018 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4021 /* rule 66 can match eol */
4023 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4026 /* rule 67 can match eol */
4028 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4031 /* rule 68 can match eol */
4033 /* rule 69 can match eol */
4035 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4038 /* rule 70 can match eol */
4040 /* rule 71 can match eol */
4042 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4047 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4048 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4049 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4050 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4051 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4052 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4058 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4059 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4060 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4061 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4062 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4063 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4065 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4071 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4075 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4077 case YY_STATE_EOF(AL_surfxml_random):
4078 FAIL("EOF in attribute list of `random' element.");
4082 /* rule 76 can match eol */
4086 ETag_surfxml_random();
4087 popbuffer(); /* attribute */
4089 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4094 /* rule 77 can match eol */
4096 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4100 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4102 case YY_STATE_EOF(S_surfxml_random_2):
4103 case YY_STATE_EOF(S_surfxml_random):
4104 case YY_STATE_EOF(E_surfxml_random):
4105 FAIL("Premature EOF: `</random>' expected.");
4109 /* rule 79 can match eol */
4111 FAIL("Starting tag <trace:connect> is not allowed here.");
4114 /* rule 80 can match eol */
4117 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4118 AX_surfxml_trace_c_connect_trace = 0;
4119 AX_surfxml_trace_c_connect_element = 0;
4120 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
4125 /* rule 81 can match eol */
4127 /* rule 82 can match eol */
4129 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4132 /* rule 83 can match eol */
4134 /* rule 84 can match eol */
4136 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4139 /* rule 85 can match eol */
4141 /* rule 86 can match eol */
4143 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4146 /* rule 87 can match eol */
4148 /* rule 88 can match eol */
4150 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
4153 /* rule 89 can match eol */
4155 /* rule 90 can match eol */
4157 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
4160 /* rule 91 can match eol */
4162 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4165 /* rule 92 can match eol */
4167 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4170 /* rule 93 can match eol */
4172 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
4175 /* rule 94 can match eol */
4177 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
4182 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4183 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4184 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4190 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4191 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4192 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4194 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4195 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4201 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4205 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4207 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4208 FAIL("EOF in attribute list of `trace:connect' element.");
4212 /* rule 99 can match eol */
4216 ETag_surfxml_trace_c_connect();
4217 popbuffer(); /* attribute */
4219 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4220 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4225 /* rule 100 can match eol */
4227 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4231 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4233 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4234 FAIL("Premature EOF: `</trace:connect>' expected.");
4238 /* rule 102 can match eol */
4240 FAIL("Starting tag <set> is not allowed here.");
4243 /* rule 103 can match eol */
4246 AX_surfxml_set_id = 0;
4247 AX_surfxml_set_prefix = 0;
4248 AX_surfxml_set_suffix = 0;
4249 AX_surfxml_set_radical = 0;
4250 ENTER(AL_surfxml_set); pushbuffer(0);
4255 /* rule 104 can match eol */
4257 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id);
4260 /* rule 105 can match eol */
4262 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id);
4265 /* rule 106 can match eol */
4267 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix);
4270 /* rule 107 can match eol */
4272 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix);
4275 /* rule 108 can match eol */
4277 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix);
4280 /* rule 109 can match eol */
4282 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix);
4285 /* rule 110 can match eol */
4287 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical);
4290 /* rule 111 can match eol */
4292 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical);
4297 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4298 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4299 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4300 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4301 LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set);
4307 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4308 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4309 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4310 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4311 LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */
4313 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4319 FAIL("Unexpected character `%c' in attribute list of set element.", surf_parse_text[0]);
4323 FAIL("Bad attribute `%s' in `set' element start tag.",surf_parse_text);
4325 case YY_STATE_EOF(AL_surfxml_set):
4326 FAIL("EOF in attribute list of `set' element.");
4330 /* rule 116 can match eol */
4335 popbuffer(); /* attribute */
4337 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4342 /* rule 117 can match eol */
4344 FAIL("Unexpected end-tag `%s': `</set>' expected.",surf_parse_text);
4348 FAIL("Unexpected character `%c': `</set>' expected.",surf_parse_text[0]);
4350 case YY_STATE_EOF(E_surfxml_set):
4351 FAIL("Premature EOF: `</set>' expected.");
4355 /* rule 119 can match eol */
4357 FAIL("Starting tag <foreach> is not allowed here.");
4360 /* rule 120 can match eol */
4363 AX_surfxml_foreach_set_id = 0;
4364 ENTER(AL_surfxml_foreach); pushbuffer(0);
4369 /* rule 121 can match eol */
4371 ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id);
4374 /* rule 122 can match eol */
4376 ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id);
4381 if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element.");
4382 LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach);
4387 FAIL("`foreach' element cannot be empty.");
4391 FAIL("Unexpected character `%c' in attribute list of foreach element.", surf_parse_text[0]);
4395 FAIL("Bad attribute `%s' in `foreach' element start tag.",surf_parse_text);
4397 case YY_STATE_EOF(AL_surfxml_foreach):
4398 FAIL("EOF in attribute list of `foreach' element.");
4402 /* rule 127 can match eol */
4406 ETag_surfxml_foreach();
4407 popbuffer(); /* attribute */
4409 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4414 /* rule 128 can match eol */
4416 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",surf_parse_text);
4420 FAIL("Unexpected character `%c': `</foreach>' expected.",surf_parse_text[0]);
4422 case YY_STATE_EOF(E_surfxml_foreach):
4423 FAIL("Premature EOF: `</foreach>' expected.");
4427 /* rule 130 can match eol */
4429 FAIL("Starting tag <host> is not allowed here.");
4432 /* rule 131 can match eol */
4435 AX_surfxml_host_id = 0;
4436 AX_surfxml_host_power = 0;
4437 AX_surfxml_host_availability = 69;
4438 AX_surfxml_host_availability_file = 0;
4439 AX_surfxml_host_state = A_surfxml_host_state_ON;
4440 AX_surfxml_host_state_file = 0;
4441 AX_surfxml_host_interference_send = 73;
4442 AX_surfxml_host_interference_recv = 77;
4443 AX_surfxml_host_interference_send_recv = 81;
4444 AX_surfxml_host_max_outgoing_rate = 85;
4445 ENTER(AL_surfxml_host); pushbuffer(0);
4450 /* rule 132 can match eol */
4452 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4455 /* rule 133 can match eol */
4457 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4460 /* rule 134 can match eol */
4462 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4465 /* rule 135 can match eol */
4467 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4470 /* rule 136 can match eol */
4472 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4475 /* rule 137 can match eol */
4477 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4480 /* rule 138 can match eol */
4482 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4485 /* rule 139 can match eol */
4487 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4490 /* rule 140 can match eol */
4492 /* rule 141 can match eol */
4494 A_surfxml_host_state = A_surfxml_host_state_ON;
4497 /* rule 142 can match eol */
4499 /* rule 143 can match eol */
4501 A_surfxml_host_state = A_surfxml_host_state_OFF;
4504 /* rule 144 can match eol */
4506 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4509 /* rule 145 can match eol */
4511 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4514 /* rule 146 can match eol */
4516 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4519 /* rule 147 can match eol */
4521 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4524 /* rule 148 can match eol */
4526 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4529 /* rule 149 can match eol */
4531 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4534 /* rule 150 can match eol */
4536 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4539 /* rule 151 can match eol */
4541 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4544 /* rule 152 can match eol */
4546 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4549 /* rule 153 can match eol */
4551 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4556 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4557 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4558 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4564 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4565 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4566 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4568 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4569 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4575 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4579 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4581 case YY_STATE_EOF(AL_surfxml_host):
4582 FAIL("EOF in attribute list of `host' element.");
4586 /* rule 158 can match eol */
4590 ETag_surfxml_host();
4591 popbuffer(); /* attribute */
4593 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4594 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4599 /* rule 159 can match eol */
4601 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4605 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4607 case YY_STATE_EOF(S_surfxml_host):
4608 case YY_STATE_EOF(E_surfxml_host):
4609 case YY_STATE_EOF(S_surfxml_host_2):
4610 FAIL("Premature EOF: `</host>' expected.");
4614 /* rule 161 can match eol */
4616 FAIL("Starting tag <prop> is not allowed here.");
4619 /* rule 162 can match eol */
4622 AX_surfxml_prop_id = 0;
4623 AX_surfxml_prop_value = 0;
4624 ENTER(AL_surfxml_prop); pushbuffer(0);
4629 /* rule 163 can match eol */
4631 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
4634 /* rule 164 can match eol */
4636 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
4639 /* rule 165 can match eol */
4641 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
4644 /* rule 166 can match eol */
4646 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
4651 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4652 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4653 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
4659 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4660 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4661 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
4663 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4664 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4665 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4666 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4672 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
4676 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
4678 case YY_STATE_EOF(AL_surfxml_prop):
4679 FAIL("EOF in attribute list of `prop' element.");
4683 /* rule 171 can match eol */
4687 ETag_surfxml_prop();
4688 popbuffer(); /* attribute */
4690 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4691 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4692 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4693 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4698 /* rule 172 can match eol */
4700 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
4704 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
4706 case YY_STATE_EOF(E_surfxml_prop):
4707 FAIL("Premature EOF: `</prop>' expected.");
4711 /* rule 174 can match eol */
4713 FAIL("Starting tag <cluster> is not allowed here.");
4716 /* rule 175 can match eol */
4719 AX_surfxml_cluster_id = 0;
4720 AX_surfxml_cluster_prefix = 0;
4721 AX_surfxml_cluster_suffix = 0;
4722 AX_surfxml_cluster_radical = 0;
4723 AX_surfxml_cluster_power = 0;
4724 AX_surfxml_cluster_bw = 0;
4725 AX_surfxml_cluster_lat = 0;
4726 AX_surfxml_cluster_bb_bw = 0;
4727 AX_surfxml_cluster_bb_lat = 0;
4728 ENTER(AL_surfxml_cluster); pushbuffer(0);
4733 /* rule 176 can match eol */
4735 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4738 /* rule 177 can match eol */
4740 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4743 /* rule 178 can match eol */
4745 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4748 /* rule 179 can match eol */
4750 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4753 /* rule 180 can match eol */
4755 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4758 /* rule 181 can match eol */
4760 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4763 /* rule 182 can match eol */
4765 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4768 /* rule 183 can match eol */
4770 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4773 /* rule 184 can match eol */
4775 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4778 /* rule 185 can match eol */
4780 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4783 /* rule 186 can match eol */
4785 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4788 /* rule 187 can match eol */
4790 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4793 /* rule 188 can match eol */
4795 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4798 /* rule 189 can match eol */
4800 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4803 /* rule 190 can match eol */
4805 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4808 /* rule 191 can match eol */
4810 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4813 /* rule 192 can match eol */
4815 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4818 /* rule 193 can match eol */
4820 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4825 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4826 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4827 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4828 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4829 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4830 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4831 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4832 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4833 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4834 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4840 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4841 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4842 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4843 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4844 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4845 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4846 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4847 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4848 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4849 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4851 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4857 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4861 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4863 case YY_STATE_EOF(AL_surfxml_cluster):
4864 FAIL("EOF in attribute list of `cluster' element.");
4868 /* rule 198 can match eol */
4872 ETag_surfxml_cluster();
4873 popbuffer(); /* attribute */
4875 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4880 /* rule 199 can match eol */
4882 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4886 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4888 case YY_STATE_EOF(E_surfxml_cluster):
4889 FAIL("Premature EOF: `</cluster>' expected.");
4893 /* rule 201 can match eol */
4895 FAIL("Starting tag <router> is not allowed here.");
4898 /* rule 202 can match eol */
4901 AX_surfxml_router_id = 0;
4902 ENTER(AL_surfxml_router); pushbuffer(0);
4907 /* rule 203 can match eol */
4909 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4912 /* rule 204 can match eol */
4914 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4919 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4920 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4926 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4927 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4929 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4935 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4939 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4941 case YY_STATE_EOF(AL_surfxml_router):
4942 FAIL("EOF in attribute list of `router' element.");
4946 /* rule 209 can match eol */
4950 ETag_surfxml_router();
4951 popbuffer(); /* attribute */
4953 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4958 /* rule 210 can match eol */
4960 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4964 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4966 case YY_STATE_EOF(E_surfxml_router):
4967 FAIL("Premature EOF: `</router>' expected.");
4971 /* rule 212 can match eol */
4973 FAIL("Starting tag <link> is not allowed here.");
4976 /* rule 213 can match eol */
4979 AX_surfxml_link_id = 0;
4980 AX_surfxml_link_bandwidth = 0;
4981 AX_surfxml_link_bandwidth_file = 0;
4982 AX_surfxml_link_latency = 90;
4983 AX_surfxml_link_latency_file = 0;
4984 AX_surfxml_link_state = A_surfxml_link_state_ON;
4985 AX_surfxml_link_state_file = 0;
4986 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4987 ENTER(AL_surfxml_link); pushbuffer(0);
4992 /* rule 214 can match eol */
4994 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4997 /* rule 215 can match eol */
4999 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5002 /* rule 216 can match eol */
5004 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5007 /* rule 217 can match eol */
5009 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5012 /* rule 218 can match eol */
5014 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5017 /* rule 219 can match eol */
5019 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5022 /* rule 220 can match eol */
5024 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5027 /* rule 221 can match eol */
5029 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5032 /* rule 222 can match eol */
5034 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5037 /* rule 223 can match eol */
5039 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5042 /* rule 224 can match eol */
5044 /* rule 225 can match eol */
5046 A_surfxml_link_state = A_surfxml_link_state_ON;
5049 /* rule 226 can match eol */
5051 /* rule 227 can match eol */
5053 A_surfxml_link_state = A_surfxml_link_state_OFF;
5056 /* rule 228 can match eol */
5058 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5061 /* rule 229 can match eol */
5063 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5066 /* rule 230 can match eol */
5068 /* rule 231 can match eol */
5070 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5073 /* rule 232 can match eol */
5075 /* rule 233 can match eol */
5077 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5082 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5083 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5084 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5090 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5091 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5092 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5094 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5095 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5101 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5105 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5107 case YY_STATE_EOF(AL_surfxml_link):
5108 FAIL("EOF in attribute list of `link' element.");
5112 /* rule 238 can match eol */
5116 ETag_surfxml_link();
5117 popbuffer(); /* attribute */
5119 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5120 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5125 /* rule 239 can match eol */
5127 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5131 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5133 case YY_STATE_EOF(S_surfxml_link_2):
5134 case YY_STATE_EOF(E_surfxml_link):
5135 case YY_STATE_EOF(S_surfxml_link):
5136 FAIL("Premature EOF: `</link>' expected.");
5140 /* rule 241 can match eol */
5142 FAIL("Starting tag <route:multi> is not allowed here.");
5145 /* rule 242 can match eol */
5148 AX_surfxml_route_c_multi_src = 0;
5149 AX_surfxml_route_c_multi_dst = 0;
5150 AX_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5151 AX_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5152 ENTER(AL_surfxml_route_c_multi); pushbuffer(0);
5157 /* rule 243 can match eol */
5159 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src);
5162 /* rule 244 can match eol */
5164 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src);
5167 /* rule 245 can match eol */
5169 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst);
5172 /* rule 246 can match eol */
5174 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst);
5177 /* rule 247 can match eol */
5179 /* rule 248 can match eol */
5181 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5184 /* rule 249 can match eol */
5186 /* rule 250 can match eol */
5188 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND;
5191 /* rule 251 can match eol */
5193 /* rule 252 can match eol */
5195 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE;
5198 /* rule 253 can match eol */
5200 /* rule 254 can match eol */
5202 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5205 /* rule 255 can match eol */
5207 /* rule 256 can match eol */
5209 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO;
5214 if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element.");
5215 if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element.");
5216 LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi);
5221 FAIL("`route:multi' element cannot be empty.");
5225 FAIL("Unexpected character `%c' in attribute list of route:multi element.", surf_parse_text[0]);
5229 FAIL("Bad attribute `%s' in `route:multi' element start tag.",surf_parse_text);
5231 case YY_STATE_EOF(AL_surfxml_route_c_multi):
5232 FAIL("EOF in attribute list of `route:multi' element.");
5236 /* rule 261 can match eol */
5240 ETag_surfxml_route_c_multi();
5241 popbuffer(); /* attribute */
5243 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5248 /* rule 262 can match eol */
5250 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",surf_parse_text);
5254 FAIL("Unexpected character `%c': `</route:multi>' expected.",surf_parse_text[0]);
5256 case YY_STATE_EOF(S_surfxml_route_c_multi_2):
5257 case YY_STATE_EOF(E_surfxml_route_c_multi):
5258 FAIL("Premature EOF: `</route:multi>' expected.");
5262 /* rule 264 can match eol */
5264 FAIL("Starting tag <route> is not allowed here.");
5267 /* rule 265 can match eol */
5270 AX_surfxml_route_src = 0;
5271 AX_surfxml_route_dst = 0;
5272 AX_surfxml_route_impact_on_src = 94;
5273 AX_surfxml_route_impact_on_dst = 98;
5274 AX_surfxml_route_impact_on_src_with_other_recv = 102;
5275 AX_surfxml_route_impact_on_dst_with_other_send = 106;
5276 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5277 ENTER(AL_surfxml_route); pushbuffer(0);
5282 /* rule 266 can match eol */
5284 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5287 /* rule 267 can match eol */
5289 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5292 /* rule 268 can match eol */
5294 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5297 /* rule 269 can match eol */
5299 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5302 /* rule 270 can match eol */
5304 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
5307 /* rule 271 can match eol */
5309 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
5312 /* rule 272 can match eol */
5314 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
5317 /* rule 273 can match eol */
5319 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
5322 /* rule 274 can match eol */
5324 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5327 /* rule 275 can match eol */
5329 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5332 /* rule 276 can match eol */
5334 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5337 /* rule 277 can match eol */
5339 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5342 /* rule 278 can match eol */
5344 /* rule 279 can match eol */
5346 A_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5349 /* rule 280 can match eol */
5351 /* rule 281 can match eol */
5353 A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5356 /* rule 282 can match eol */
5358 /* rule 283 can match eol */
5360 A_surfxml_route_action = A_surfxml_route_action_OVERRIDE;
5365 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5366 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5367 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5373 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5374 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5375 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5377 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5383 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5387 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5389 case YY_STATE_EOF(AL_surfxml_route):
5390 FAIL("EOF in attribute list of `route' element.");
5394 /* rule 288 can match eol */
5398 ETag_surfxml_route();
5399 popbuffer(); /* attribute */
5401 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5406 /* rule 289 can match eol */
5408 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5412 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5414 case YY_STATE_EOF(S_surfxml_route):
5415 case YY_STATE_EOF(S_surfxml_route_2):
5416 case YY_STATE_EOF(E_surfxml_route):
5417 FAIL("Premature EOF: `</route>' expected.");
5421 /* rule 291 can match eol */
5423 FAIL("Starting tag <link:ctn> is not allowed here.");
5426 /* rule 292 can match eol */
5429 AX_surfxml_link_c_ctn_id = 0;
5430 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5435 /* rule 293 can match eol */
5437 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5440 /* rule 294 can match eol */
5442 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5447 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5448 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5454 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5455 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5457 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5458 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5464 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5468 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5470 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5471 FAIL("EOF in attribute list of `link:ctn' element.");
5475 /* rule 299 can match eol */
5479 ETag_surfxml_link_c_ctn();
5480 popbuffer(); /* attribute */
5482 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5483 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5488 /* rule 300 can match eol */
5490 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5494 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5496 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5497 FAIL("Premature EOF: `</link:ctn>' expected.");
5501 /* rule 302 can match eol */
5503 FAIL("Starting tag <process> is not allowed here.");
5506 /* rule 303 can match eol */
5509 AX_surfxml_process_host = 0;
5510 AX_surfxml_process_function = 0;
5511 AX_surfxml_process_start_time = 110;
5512 AX_surfxml_process_kill_time = 115;
5513 ENTER(AL_surfxml_process); pushbuffer(0);
5518 /* rule 304 can match eol */
5520 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5523 /* rule 305 can match eol */
5525 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5528 /* rule 306 can match eol */
5530 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5533 /* rule 307 can match eol */
5535 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5538 /* rule 308 can match eol */
5540 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5543 /* rule 309 can match eol */
5545 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5548 /* rule 310 can match eol */
5550 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5553 /* rule 311 can match eol */
5555 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5560 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5561 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5562 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5568 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5569 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5570 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5572 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5578 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5582 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5584 case YY_STATE_EOF(AL_surfxml_process):
5585 FAIL("EOF in attribute list of `process' element.");
5589 /* rule 316 can match eol */
5593 ETag_surfxml_process();
5594 popbuffer(); /* attribute */
5596 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5601 /* rule 317 can match eol */
5603 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5607 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5609 case YY_STATE_EOF(S_surfxml_process):
5610 case YY_STATE_EOF(E_surfxml_process):
5611 case YY_STATE_EOF(S_surfxml_process_2):
5612 FAIL("Premature EOF: `</process>' expected.");
5616 /* rule 319 can match eol */
5618 FAIL("Starting tag <argument> is not allowed here.");
5621 /* rule 320 can match eol */
5624 AX_surfxml_argument_value = 0;
5625 ENTER(AL_surfxml_argument); pushbuffer(0);
5630 /* rule 321 can match eol */
5632 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5635 /* rule 322 can match eol */
5637 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5642 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5643 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5649 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5650 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5652 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5658 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5662 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5664 case YY_STATE_EOF(AL_surfxml_argument):
5665 FAIL("EOF in attribute list of `argument' element.");
5669 /* rule 327 can match eol */
5673 ETag_surfxml_argument();
5674 popbuffer(); /* attribute */
5676 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5681 /* rule 328 can match eol */
5683 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5687 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5689 case YY_STATE_EOF(E_surfxml_argument):
5690 FAIL("Premature EOF: `</argument>' expected.");
5693 /* EPILOG: after the root element. */
5697 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5699 case YY_STATE_EOF(EPILOG):
5703 /* CHARACTER DATA. */
5705 /* Non-defined standard entities... */
5726 /* Character entities. */
5729 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5733 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5737 /* rule 338 can match eol */
5739 /* rule 339 can match eol */
5741 /* rule 340 can match eol */
5743 /* rule 341 can match eol */
5754 FAIL("Unexpected `]""]>' in character data.");
5761 case YY_STATE_EOF(VALUE1):
5762 FAIL("EOF in literal (\"'\" expected).");
5769 case YY_STATE_EOF(VALUE2):
5770 FAIL("EOF in literal (`\"' expected).");
5774 /* rule 346 can match eol */
5776 BUFFERPUTC(surf_parse_text[0]);
5780 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5787 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5790 BUFFERPUTC(surf_parse_text[0]);
5792 case YY_STATE_EOF(CDATA):
5793 FAIL("EOF in CDATA section.");
5796 /* Impossible rules to avoid warnings from flex(1). */
5797 /* Ideally, this should be replaced by code in flexml.pl that
5798 generates just the states not covered by other rules. */
5801 /* rule 350 can match eol */
5803 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5810 case YY_STATE_EOF(INITIAL):
5811 case YY_STATE_EOF(ROOT_surfxml_platform):
5812 case YY_STATE_EOF(S_surfxml_platform_2):
5813 case YY_STATE_EOF(S_surfxml_platform_4):
5814 case YY_STATE_EOF(S_surfxml_random_1):
5815 case YY_STATE_EOF(S_surfxml_foreach):
5816 case YY_STATE_EOF(S_surfxml_foreach_1):
5817 case YY_STATE_EOF(S_surfxml_host_1):
5818 case YY_STATE_EOF(S_surfxml_link_1):
5819 case YY_STATE_EOF(S_surfxml_route_c_multi):
5820 case YY_STATE_EOF(S_surfxml_route_c_multi_1):
5821 case YY_STATE_EOF(S_surfxml_route_1):
5822 case YY_STATE_EOF(S_surfxml_process_1):
5823 case YY_STATE_EOF(IMPOSSIBLE):
5826 case YY_END_OF_BUFFER:
5828 /* Amount of text matched not including the EOB char. */
5829 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5831 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5832 *yy_cp = (yy_hold_char);
5833 YY_RESTORE_YY_MORE_OFFSET
5835 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5837 /* We're scanning a new file or input source. It's
5838 * possible that this happened because the user
5839 * just pointed surf_parse_in at a new source and called
5840 * surf_parse_lex(). If so, then we have to assure
5841 * consistency between YY_CURRENT_BUFFER and our
5842 * globals. Here is the right place to do so, because
5843 * this is the first action (other than possibly a
5844 * back-up) that will match for the new input source.
5846 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5847 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5848 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5851 /* Note that here we test for yy_c_buf_p "<=" to the position
5852 * of the first EOB in the buffer, since yy_c_buf_p will
5853 * already have been incremented past the NUL character
5854 * (since all states make transitions on EOB to the
5855 * end-of-buffer state). Contrast this with the test
5858 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5859 { /* This was really a NUL. */
5860 yy_state_type yy_next_state;
5862 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5864 yy_current_state = yy_get_previous_state( );
5866 /* Okay, we're now positioned to make the NUL
5867 * transition. We couldn't have
5868 * yy_get_previous_state() go ahead and do it
5869 * for us because it doesn't know how to deal
5870 * with the possibility of jamming (and we don't
5871 * want to build jamming into it because then it
5872 * will run more slowly).
5875 yy_next_state = yy_try_NUL_trans( yy_current_state );
5877 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5879 if ( yy_next_state )
5881 /* Consume the NUL. */
5882 yy_cp = ++(yy_c_buf_p);
5883 yy_current_state = yy_next_state;
5889 yy_cp = (yy_c_buf_p);
5890 goto yy_find_action;
5894 else switch ( yy_get_next_buffer( ) )
5896 case EOB_ACT_END_OF_FILE:
5898 (yy_did_buffer_switch_on_eof) = 0;
5900 if ( surf_parse_wrap( ) )
5902 /* Note: because we've taken care in
5903 * yy_get_next_buffer() to have set up
5904 * surf_parse_text, we can now set up
5905 * yy_c_buf_p so that if some total
5906 * hoser (like flex itself) wants to
5907 * call the scanner after we return the
5908 * YY_NULL, it'll still work - another
5909 * YY_NULL will get returned.
5911 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5913 yy_act = YY_STATE_EOF(YY_START);
5919 if ( ! (yy_did_buffer_switch_on_eof) )
5925 case EOB_ACT_CONTINUE_SCAN:
5927 (yytext_ptr) + yy_amount_of_matched_text;
5929 yy_current_state = yy_get_previous_state( );
5931 yy_cp = (yy_c_buf_p);
5932 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5935 case EOB_ACT_LAST_MATCH:
5937 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5939 yy_current_state = yy_get_previous_state( );
5941 yy_cp = (yy_c_buf_p);
5942 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5943 goto yy_find_action;
5950 "fatal flex scanner internal error--no action found" );
5951 } /* end of action switch */
5952 } /* end of scanning one token */
5953 } /* end of surf_parse_lex */
5955 /* yy_get_next_buffer - try to read in a new buffer
5957 * Returns a code representing an action:
5958 * EOB_ACT_LAST_MATCH -
5959 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5960 * EOB_ACT_END_OF_FILE - end of file
5962 static int yy_get_next_buffer (void)
5964 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5965 register char *source = (yytext_ptr);
5966 register int number_to_move, i;
5969 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5971 "fatal flex scanner internal error--end of buffer missed" );
5973 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5974 { /* Don't try to fill the buffer, so this is an EOF. */
5975 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5977 /* We matched a single character, the EOB, so
5978 * treat this as a final EOF.
5980 return EOB_ACT_END_OF_FILE;
5985 /* We matched some text prior to the EOB, first
5988 return EOB_ACT_LAST_MATCH;
5992 /* Try to read more data. */
5994 /* First move last chars to start of buffer. */
5995 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5997 for ( i = 0; i < number_to_move; ++i )
5998 *(dest++) = *(source++);
6000 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6001 /* don't do the read, it's not guaranteed to return an EOF,
6004 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6009 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6011 while ( num_to_read <= 0 )
6012 { /* Not enough room in the buffer - grow it. */
6014 /* just a shorter name for the current buffer */
6015 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6017 int yy_c_buf_p_offset =
6018 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6020 if ( b->yy_is_our_buffer )
6022 int new_size = b->yy_buf_size * 2;
6024 if ( new_size <= 0 )
6025 b->yy_buf_size += b->yy_buf_size / 8;
6027 b->yy_buf_size *= 2;
6029 b->yy_ch_buf = (char *)
6030 /* Include room in for 2 EOB chars. */
6031 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6034 /* Can't grow it, we don't own it. */
6037 if ( ! b->yy_ch_buf )
6039 "fatal error - scanner input buffer overflow" );
6041 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6043 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6048 if ( num_to_read > YY_READ_BUF_SIZE )
6049 num_to_read = YY_READ_BUF_SIZE;
6051 /* Read in more data. */
6052 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6053 (yy_n_chars), (size_t) num_to_read );
6055 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6058 if ( (yy_n_chars) == 0 )
6060 if ( number_to_move == YY_MORE_ADJ )
6062 ret_val = EOB_ACT_END_OF_FILE;
6063 surf_parse_restart(surf_parse_in );
6068 ret_val = EOB_ACT_LAST_MATCH;
6069 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6070 YY_BUFFER_EOF_PENDING;
6075 ret_val = EOB_ACT_CONTINUE_SCAN;
6077 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6078 /* Extend the array by 50%, plus the number we really need. */
6079 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6080 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6081 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6082 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6085 (yy_n_chars) += number_to_move;
6086 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6087 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6089 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6094 /* yy_get_previous_state - get the state just before the EOB char was reached */
6096 static yy_state_type yy_get_previous_state (void)
6098 register yy_state_type yy_current_state;
6099 register char *yy_cp;
6101 yy_current_state = (yy_start);
6103 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6105 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6106 if ( yy_accept[yy_current_state] )
6108 (yy_last_accepting_state) = yy_current_state;
6109 (yy_last_accepting_cpos) = yy_cp;
6111 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6113 yy_current_state = (int) yy_def[yy_current_state];
6114 if ( yy_current_state >= 2023 )
6115 yy_c = yy_meta[(unsigned int) yy_c];
6117 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6120 return yy_current_state;
6123 /* yy_try_NUL_trans - try to make a transition on the NUL character
6126 * next_state = yy_try_NUL_trans( current_state );
6128 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6130 register int yy_is_jam;
6131 register char *yy_cp = (yy_c_buf_p);
6133 register YY_CHAR yy_c = 1;
6134 if ( yy_accept[yy_current_state] )
6136 (yy_last_accepting_state) = yy_current_state;
6137 (yy_last_accepting_cpos) = yy_cp;
6139 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6141 yy_current_state = (int) yy_def[yy_current_state];
6142 if ( yy_current_state >= 2023 )
6143 yy_c = yy_meta[(unsigned int) yy_c];
6145 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6146 yy_is_jam = (yy_current_state == 2022);
6148 return yy_is_jam ? 0 : yy_current_state;
6153 static int yyinput (void)
6155 static int input (void)
6161 *(yy_c_buf_p) = (yy_hold_char);
6163 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6165 /* yy_c_buf_p now points to the character we want to return.
6166 * If this occurs *before* the EOB characters, then it's a
6167 * valid NUL; if not, then we've hit the end of the buffer.
6169 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6170 /* This was really a NUL. */
6171 *(yy_c_buf_p) = '\0';
6174 { /* need more input */
6175 int offset = (yy_c_buf_p) - (yytext_ptr);
6178 switch ( yy_get_next_buffer( ) )
6180 case EOB_ACT_LAST_MATCH:
6181 /* This happens because yy_g_n_b()
6182 * sees that we've accumulated a
6183 * token and flags that we need to
6184 * try matching the token before
6185 * proceeding. But for input(),
6186 * there's no matching to consider.
6187 * So convert the EOB_ACT_LAST_MATCH
6188 * to EOB_ACT_END_OF_FILE.
6191 /* Reset buffer status. */
6192 surf_parse_restart(surf_parse_in );
6196 case EOB_ACT_END_OF_FILE:
6198 if ( surf_parse_wrap( ) )
6201 if ( ! (yy_did_buffer_switch_on_eof) )
6210 case EOB_ACT_CONTINUE_SCAN:
6211 (yy_c_buf_p) = (yytext_ptr) + offset;
6217 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6218 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6219 (yy_hold_char) = *++(yy_c_buf_p);
6223 surf_parse_lineno++;
6228 #endif /* ifndef YY_NO_INPUT */
6230 /** Immediately switch to a different input stream.
6231 * @param input_file A readable stream.
6233 * @note This function does not reset the start condition to @c INITIAL .
6235 void surf_parse_restart (FILE * input_file )
6238 if ( ! YY_CURRENT_BUFFER ){
6239 surf_parse_ensure_buffer_stack ();
6240 YY_CURRENT_BUFFER_LVALUE =
6241 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6244 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6245 surf_parse__load_buffer_state( );
6248 /** Switch to a different input buffer.
6249 * @param new_buffer The new input buffer.
6252 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6255 /* TODO. We should be able to replace this entire function body
6257 * surf_parse_pop_buffer_state();
6258 * surf_parse_push_buffer_state(new_buffer);
6260 surf_parse_ensure_buffer_stack ();
6261 if ( YY_CURRENT_BUFFER == new_buffer )
6264 if ( YY_CURRENT_BUFFER )
6266 /* Flush out information for old buffer. */
6267 *(yy_c_buf_p) = (yy_hold_char);
6268 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6269 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6272 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6273 surf_parse__load_buffer_state( );
6275 /* We don't actually know whether we did this switch during
6276 * EOF (surf_parse_wrap()) processing, but the only time this flag
6277 * is looked at is after surf_parse_wrap() is called, so it's safe
6278 * to go ahead and always set it.
6280 (yy_did_buffer_switch_on_eof) = 1;
6283 static void surf_parse__load_buffer_state (void)
6285 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6286 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6287 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6288 (yy_hold_char) = *(yy_c_buf_p);
6291 /** Allocate and initialize an input buffer state.
6292 * @param file A readable stream.
6293 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6295 * @return the allocated buffer state.
6297 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6301 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6303 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6305 b->yy_buf_size = size;
6307 /* yy_ch_buf has to be 2 characters longer than the size given because
6308 * we need to put in 2 end-of-buffer characters.
6310 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6311 if ( ! b->yy_ch_buf )
6312 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6314 b->yy_is_our_buffer = 1;
6316 surf_parse__init_buffer(b,file );
6321 /** Destroy the buffer.
6322 * @param b a buffer created with surf_parse__create_buffer()
6325 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6331 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6332 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6334 if ( b->yy_is_our_buffer )
6335 surf_parse_free((void *) b->yy_ch_buf );
6337 surf_parse_free((void *) b );
6341 extern int isatty (int );
6342 #endif /* __cplusplus */
6344 /* Initializes or reinitializes a buffer.
6345 * This function is sometimes called more than once on the same buffer,
6346 * such as during a surf_parse_restart() or at EOF.
6348 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6353 surf_parse__flush_buffer(b );
6355 b->yy_input_file = file;
6356 b->yy_fill_buffer = 1;
6358 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6359 * called from surf_parse_restart() or through yy_get_next_buffer.
6360 * In that case, we don't want to reset the lineno or column.
6362 if (b != YY_CURRENT_BUFFER){
6363 b->yy_bs_lineno = 1;
6364 b->yy_bs_column = 0;
6367 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6372 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6373 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6376 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6383 /* We always need two end-of-buffer characters. The first causes
6384 * a transition to the end-of-buffer state. The second causes
6385 * a jam in that state.
6387 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6388 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6390 b->yy_buf_pos = &b->yy_ch_buf[0];
6393 b->yy_buffer_status = YY_BUFFER_NEW;
6395 if ( b == YY_CURRENT_BUFFER )
6396 surf_parse__load_buffer_state( );
6399 /** Pushes the new state onto the stack. The new state becomes
6400 * the current state. This function will allocate the stack
6402 * @param new_buffer The new state.
6405 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6407 if (new_buffer == NULL)
6410 surf_parse_ensure_buffer_stack();
6412 /* This block is copied from surf_parse__switch_to_buffer. */
6413 if ( YY_CURRENT_BUFFER )
6415 /* Flush out information for old buffer. */
6416 *(yy_c_buf_p) = (yy_hold_char);
6417 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6418 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6421 /* Only push if top exists. Otherwise, replace top. */
6422 if (YY_CURRENT_BUFFER)
6423 (yy_buffer_stack_top)++;
6424 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6426 /* copied from surf_parse__switch_to_buffer. */
6427 surf_parse__load_buffer_state( );
6428 (yy_did_buffer_switch_on_eof) = 1;
6431 /** Removes and deletes the top of the stack, if present.
6432 * The next element becomes the new top.
6435 void surf_parse_pop_buffer_state (void)
6437 if (!YY_CURRENT_BUFFER)
6440 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6441 YY_CURRENT_BUFFER_LVALUE = NULL;
6442 if ((yy_buffer_stack_top) > 0)
6443 --(yy_buffer_stack_top);
6445 if (YY_CURRENT_BUFFER) {
6446 surf_parse__load_buffer_state( );
6447 (yy_did_buffer_switch_on_eof) = 1;
6451 /* Allocates the stack if it does not exist.
6452 * Guarantees space for at least one push.
6454 static void surf_parse_ensure_buffer_stack (void)
6458 if (!(yy_buffer_stack)) {
6460 /* First allocation is just for 2 elements, since we don't know if this
6461 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6462 * immediate realloc on the next call.
6465 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6466 (num_to_alloc * sizeof(struct yy_buffer_state*)
6468 if ( ! (yy_buffer_stack) )
6469 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6471 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6473 (yy_buffer_stack_max) = num_to_alloc;
6474 (yy_buffer_stack_top) = 0;
6478 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6480 /* Increase the buffer to prepare for a possible push. */
6481 int grow_size = 8 /* arbitrary grow size */;
6483 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6484 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6486 num_to_alloc * sizeof(struct yy_buffer_state*)
6488 if ( ! (yy_buffer_stack) )
6489 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6491 /* zero only the new slots.*/
6492 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6493 (yy_buffer_stack_max) = num_to_alloc;
6497 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6498 * @param base the character buffer
6499 * @param size the size in bytes of the character buffer
6501 * @return the newly allocated buffer state object.
6503 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6508 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6509 base[size-1] != YY_END_OF_BUFFER_CHAR )
6510 /* They forgot to leave room for the EOB's. */
6513 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6515 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6517 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6518 b->yy_buf_pos = b->yy_ch_buf = base;
6519 b->yy_is_our_buffer = 0;
6520 b->yy_input_file = 0;
6521 b->yy_n_chars = b->yy_buf_size;
6522 b->yy_is_interactive = 0;
6524 b->yy_fill_buffer = 0;
6525 b->yy_buffer_status = YY_BUFFER_NEW;
6527 surf_parse__switch_to_buffer(b );
6532 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6533 * scan from a @e copy of @a str.
6534 * @param yystr a NUL-terminated string to scan
6536 * @return the newly allocated buffer state object.
6537 * @note If you want to scan bytes that may contain NUL values, then use
6538 * surf_parse__scan_bytes() instead.
6540 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6543 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6546 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6547 * scan from a @e copy of @a bytes.
6548 * @param bytes the byte buffer to scan
6549 * @param len the number of bytes in the buffer pointed to by @a bytes.
6551 * @return the newly allocated buffer state object.
6553 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6560 /* Get memory for full buffer, including space for trailing EOB's. */
6561 n = _yybytes_len + 2;
6562 buf = (char *) surf_parse_alloc(n );
6564 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6566 for ( i = 0; i < _yybytes_len; ++i )
6567 buf[i] = yybytes[i];
6569 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6571 b = surf_parse__scan_buffer(buf,n );
6573 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6575 /* It's okay to grow etc. this buffer, and we should throw it
6576 * away when we're done.
6578 b->yy_is_our_buffer = 1;
6583 static void yy_push_state (int new_state )
6585 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6589 (yy_start_stack_depth) += YY_START_STACK_INCR;
6590 new_size = (yy_start_stack_depth) * sizeof( int );
6592 if ( ! (yy_start_stack) )
6593 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6596 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6598 if ( ! (yy_start_stack) )
6599 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6602 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6607 static void yy_pop_state (void)
6609 if ( --(yy_start_stack_ptr) < 0 )
6610 YY_FATAL_ERROR( "start-condition stack underflow" );
6612 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6615 #ifndef YY_EXIT_FAILURE
6616 #define YY_EXIT_FAILURE 2
6619 static void yy_fatal_error (yyconst char* msg )
6621 (void) fprintf( stderr, "%s\n", msg );
6622 exit( YY_EXIT_FAILURE );
6625 /* Redefine yyless() so it works in section 3 code. */
6631 /* Undo effects of setting up surf_parse_text. */ \
6632 int yyless_macro_arg = (n); \
6633 YY_LESS_LINENO(yyless_macro_arg);\
6634 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6635 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6636 (yy_hold_char) = *(yy_c_buf_p); \
6637 *(yy_c_buf_p) = '\0'; \
6638 surf_parse_leng = yyless_macro_arg; \
6642 /* Accessor methods (get/set functions) to struct members. */
6644 /** Get the current line number.
6647 int surf_parse_get_lineno (void)
6650 return surf_parse_lineno;
6653 /** Get the input stream.
6656 FILE *surf_parse_get_in (void)
6658 return surf_parse_in;
6661 /** Get the output stream.
6664 FILE *surf_parse_get_out (void)
6666 return surf_parse_out;
6669 /** Get the length of the current token.
6672 int surf_parse_get_leng (void)
6674 return surf_parse_leng;
6677 /** Get the current token.
6681 char *surf_parse_get_text (void)
6683 return surf_parse_text;
6686 /** Set the current line number.
6687 * @param line_number
6690 void surf_parse_set_lineno (int line_number )
6693 surf_parse_lineno = line_number;
6696 /** Set the input stream. This does not discard the current
6698 * @param in_str A readable stream.
6700 * @see surf_parse__switch_to_buffer
6702 void surf_parse_set_in (FILE * in_str )
6704 surf_parse_in = in_str ;
6707 void surf_parse_set_out (FILE * out_str )
6709 surf_parse_out = out_str ;
6712 int surf_parse_get_debug (void)
6714 return surf_parse__flex_debug;
6717 void surf_parse_set_debug (int bdebug )
6719 surf_parse__flex_debug = bdebug ;
6722 static int yy_init_globals (void)
6724 /* Initialization is the same as for the non-reentrant scanner.
6725 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6728 /* We do not touch surf_parse_lineno unless the option is enabled. */
6729 surf_parse_lineno = 1;
6731 (yy_buffer_stack) = 0;
6732 (yy_buffer_stack_top) = 0;
6733 (yy_buffer_stack_max) = 0;
6734 (yy_c_buf_p) = (char *) 0;
6738 (yy_start_stack_ptr) = 0;
6739 (yy_start_stack_depth) = 0;
6740 (yy_start_stack) = NULL;
6742 /* Defined in main.c */
6744 surf_parse_in = stdin;
6745 surf_parse_out = stdout;
6747 surf_parse_in = (FILE *) 0;
6748 surf_parse_out = (FILE *) 0;
6751 /* For future reference: Set errno on error, since we are called by
6752 * surf_parse_lex_init()
6757 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6758 int surf_parse_lex_destroy (void)
6761 /* Pop the buffer stack, destroying each element. */
6762 while(YY_CURRENT_BUFFER){
6763 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6764 YY_CURRENT_BUFFER_LVALUE = NULL;
6765 surf_parse_pop_buffer_state();
6768 /* Destroy the stack itself. */
6769 surf_parse_free((yy_buffer_stack) );
6770 (yy_buffer_stack) = NULL;
6772 /* Destroy the start condition stack. */
6773 surf_parse_free((yy_start_stack) );
6774 (yy_start_stack) = NULL;
6776 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6777 * surf_parse_lex() is called, initialization will occur. */
6784 * Internal utility routines.
6788 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6791 for ( i = 0; i < n; ++i )
6796 #ifdef YY_NEED_STRLEN
6797 static int yy_flex_strlen (yyconst char * s )
6800 for ( n = 0; s[n]; ++n )
6807 void *surf_parse_alloc (yy_size_t size )
6809 return (void *) malloc( size );
6812 void *surf_parse_realloc (void * ptr, yy_size_t size )
6814 /* The cast to (char *) in the following accommodates both
6815 * implementations that use char* generic pointers, and those
6816 * that use void* generic pointers. It works with the latter
6817 * because both ANSI C and C++ allow castless assignment from
6818 * any pointer type to void*, and deal with argument conversions
6819 * as though doing an assignment.
6821 return (void *) realloc( (char *) ptr, size );
6824 void surf_parse_free (void * ptr )
6826 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6829 #define YYTABLES_NAME "yytables"
6831 /* Element context stack lookup. */
6832 int surfxml_element_context(int i)
6834 return (0<i && i<yy_start_stack_depth
6835 ? yy_start_stack[yy_start_stack_ptr - i]
6840 void print_yy_stack(char* fmt, ...)
6842 int i = 0; va_list ap; va_start(ap, fmt);
6843 vfprintf(stderr, fmt, ap);
6844 if (surfxml_statenames) {
6845 for (i=1; i<yy_start_stack_ptr; i++) {
6846 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6848 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6853 void print_surfxml_bufferstack()
6856 fputs("Buffer: ", stderr);
6857 for (i = 0; i < blimit; i++) {
6858 if ( surfxml_bufferstack[i] == '\377' ) break;
6859 putc(surfxml_bufferstack[i], stderr);
6864 static void debug_enter(int state, const char* statename) {
6865 yy_push_state(state);
6866 if (surf_parse__flex_debug) {
6867 print_yy_stack("--ENTER(%s) : ",statename);
6868 print_surfxml_bufferstack();
6872 static void debug_leave(void) {
6873 if (surf_parse__flex_debug) {
6874 print_yy_stack("--LEAVE : ");
6875 print_surfxml_bufferstack();
6880 static void debug_set(int state, const char* statename) {
6882 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6886 static void cleanup(void)
6888 if (surfxml_statenames) {
6889 free(surfxml_statenames);
6890 surfxml_statenames = NULL;
6892 free(surfxml_bufferstack);
6893 surfxml_bufferstack = NULL;
6899 static int fail(const char* fmt, ...)
6901 int chars_left, used;
6902 va_list ap; va_start(ap, fmt);
6903 #ifdef FLEXML_yylineno
6904 used = sprintf(flexml_err_msg,
6905 "Invalid XML (XML input line %d, state %d): ",
6906 surf_parse_lineno, YY_START);
6908 used = sprintf(flexml_err_msg,
6909 "Invalid XML (state %d): ",
6912 chars_left = flexml_max_err_msg_size - used - 1;
6913 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6916 #ifndef FLEXML_quiet_parser
6917 /* print directly to sdterr */
6918 fprintf(stderr, "%s\n", flexml_err_msg);
6919 flexml_err_msg[0] = '\0';