2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 380
407 #define YY_END_OF_BUFFER 381
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2221] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 381, 379, 15, 10, 10, 15,
437 15, 359, 10, 359, 5, 6, 5, 8, 9, 8,
439 375, 367, 368, 376, 373, 376, 374, 378, 367, 368,
440 378, 379, 22, 10, 22, 22, 22, 20, 22, 26,
441 10, 26, 26, 26, 379, 379, 26, 37, 10, 37,
442 37, 37, 35, 37, 37, 37, 376, 375, 59, 10,
443 59, 59, 59, 57, 59, 59, 59, 59, 63, 10,
444 63, 379, 63, 82, 10, 82, 82, 82, 80, 82,
445 82, 82, 86, 10, 86, 95, 10, 95, 95, 95,
446 93, 95, 95, 99, 10, 99, 99, 379, 99, 99,
447 379, 379, 99, 379, 99, 379, 99, 122, 10, 122,
448 122, 122, 120, 122, 122, 122, 122, 122, 126, 10,
450 126, 126, 161, 10, 161, 161, 161, 159, 161, 161,
451 161, 161, 161, 161, 161, 165, 10, 165, 186, 10,
452 186, 186, 186, 184, 186, 186, 186, 186, 186, 186,
453 190, 10, 190, 199, 10, 199, 199, 199, 197, 199,
454 199, 203, 10, 203, 230, 10, 230, 230, 230, 228,
455 230, 230, 230, 230, 234, 10, 234, 234, 247, 10,
456 247, 247, 247, 245, 247, 247, 251, 10, 251, 379,
457 251, 268, 10, 268, 268, 268, 266, 268, 268, 268,
458 272, 10, 272, 272, 285, 10, 285, 285, 285, 283,
459 285, 285, 289, 10, 289, 302, 10, 302, 302, 302,
461 300, 302, 302, 302, 306, 10, 306, 306, 319, 10,
462 319, 319, 319, 317, 319, 319, 319, 319, 323, 10,
463 323, 379, 323, 330, 10, 330, 330, 330, 328, 330,
464 334, 10, 334, 341, 10, 341, 341, 341, 339, 341,
465 345, 10, 345, 345, 345, 354, 10, 354, 354, 354,
466 352, 354, 354, 358, 10, 358, 10, 0, 2, 2,
467 0, 4, 7, 370, 369, 0, 0, 0, 0, 0,
468 0, 0, 21, 23, 23, 0, 0, 0, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 36, 38, 38, 38, 38, 0, 0, 0,
472 58, 60, 60, 60, 60, 60, 60, 60, 0, 0,
473 81, 83, 83, 83, 83, 0, 94, 96, 96, 96,
474 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
475 123, 123, 123, 123, 123, 123, 0, 160, 162, 162,
476 162, 162, 162, 162, 162, 162, 162, 162, 162, 0,
477 185, 187, 187, 187, 187, 187, 187, 187, 0, 198,
478 200, 200, 200, 0, 229, 231, 231, 231, 231, 231,
479 231, 0, 246, 248, 248, 248, 248, 0, 0, 267,
480 269, 269, 269, 269, 269, 0, 284, 286, 286, 286,
481 0, 301, 303, 303, 303, 303, 0, 318, 320, 320,
483 320, 320, 320, 0, 0, 329, 331, 331, 0, 340,
484 342, 342, 0, 0, 353, 355, 355, 355, 0, 0,
485 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
486 0, 377, 0, 23, 0, 0, 88, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
488 87, 0, 0, 0, 0, 38, 0, 0, 38, 0,
489 0, 0, 372, 60, 0, 0, 60, 60, 60, 60,
490 0, 0, 0, 83, 83, 83, 0, 0, 0, 0,
491 96, 0, 0, 88, 0, 0, 0, 0, 87, 0,
492 0, 123, 123, 123, 0, 0, 123, 123, 0, 0,
494 162, 0, 0, 162, 0, 0, 162, 162, 162, 162,
495 162, 162, 0, 0, 187, 187, 0, 0, 187, 187,
496 187, 0, 0, 200, 0, 0, 0, 0, 231, 0,
497 0, 231, 231, 231, 0, 0, 248, 248, 248, 0,
498 0, 0, 269, 269, 269, 269, 0, 0, 286, 0,
499 0, 0, 0, 303, 303, 303, 0, 0, 320, 320,
500 320, 320, 0, 0, 0, 331, 0, 0, 0, 0,
501 0, 0, 0, 0, 0, 355, 0, 0, 0, 14,
502 1, 0, 0, 365, 0, 0, 0, 362, 361, 0,
503 0, 23, 0, 0, 25, 0, 88, 0, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 0, 87, 0, 0, 0, 0, 38, 0, 30, 29,
507 38, 0, 0, 0, 40, 0, 60, 0, 44, 43,
508 0, 0, 60, 0, 0, 60, 0, 0, 62, 0,
509 0, 83, 83, 83, 0, 0, 85, 0, 0, 90,
510 89, 96, 0, 0, 98, 0, 0, 0, 0, 0,
511 0, 0, 0, 123, 123, 123, 0, 103, 102, 123,
512 123, 0, 0, 125, 0, 162, 162, 162, 0, 142,
513 141, 162, 0, 130, 129, 0, 0, 162, 162, 162,
514 162, 162, 0, 0, 164, 0, 187, 187, 187, 0,
516 169, 168, 0, 0, 187, 187, 0, 0, 189, 0,
517 200, 0, 194, 193, 0, 0, 202, 0, 231, 0,
518 207, 206, 231, 231, 231, 0, 0, 233, 0, 0,
519 0, 0, 0, 248, 0, 0, 250, 0, 0, 0,
520 0, 269, 269, 0, 0, 269, 0, 0, 271, 0,
521 286, 0, 276, 275, 0, 0, 288, 0, 0, 0,
522 303, 303, 0, 0, 0, 0, 305, 0, 320, 320,
523 320, 320, 0, 0, 322, 0, 0, 331, 0, 0,
524 333, 0, 0, 338, 337, 0, 0, 344, 0, 0,
525 0, 349, 348, 355, 0, 0, 357, 0, 0, 0,
527 366, 360, 0, 0, 0, 23, 0, 0, 0, 0,
528 0, 0, 100, 204, 167, 0, 0, 346, 0, 0,
529 0, 0, 0, 166, 0, 0, 0, 0, 38, 0,
530 0, 60, 0, 48, 47, 0, 0, 0, 46, 45,
531 60, 0, 347, 83, 0, 0, 83, 0, 96, 0,
532 97, 0, 0, 101, 205, 0, 0, 0, 123, 123,
533 0, 0, 123, 123, 0, 162, 162, 162, 0, 0,
534 0, 144, 143, 162, 162, 162, 162, 162, 0, 187,
535 187, 187, 0, 177, 176, 187, 187, 0, 200, 0,
536 231, 231, 231, 231, 0, 0, 240, 239, 0, 238,
538 237, 248, 0, 204, 0, 257, 256, 269, 269, 0,
539 255, 254, 269, 0, 286, 0, 0, 295, 294, 303,
540 303, 0, 293, 292, 0, 320, 0, 0, 320, 320,
541 0, 0, 331, 0, 0, 0, 355, 0, 0, 0,
542 0, 12, 0, 363, 364, 0, 23, 0, 0, 0,
543 0, 0, 0, 100, 204, 0, 167, 0, 0, 346,
544 0, 235, 28, 0, 0, 166, 27, 0, 0, 32,
545 31, 38, 0, 0, 60, 0, 50, 49, 60, 0,
546 347, 83, 0, 0, 0, 0, 0, 0, 96, 0,
547 0, 101, 205, 236, 236, 235, 123, 123, 0, 107,
549 106, 0, 0, 0, 0, 123, 0, 0, 0, 162,
550 162, 0, 140, 139, 0, 0, 162, 162, 162, 162,
551 0, 0, 0, 187, 187, 0, 0, 187, 0, 200,
552 0, 231, 231, 231, 0, 0, 231, 0, 248, 0,
553 0, 269, 269, 269, 0, 286, 0, 303, 303, 0,
554 320, 0, 310, 309, 320, 320, 0, 0, 0, 0,
555 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
556 0, 23, 0, 0, 0, 0, 0, 336, 0, 0,
557 0, 41, 235, 191, 28, 0, 335, 0, 27, 0,
558 0, 38, 0, 0, 60, 60, 0, 83, 0, 0,
560 0, 0, 0, 0, 0, 0, 0, 77, 76, 0,
561 96, 0, 0, 236, 192, 123, 123, 0, 105, 104,
562 0, 0, 0, 123, 0, 124, 0, 152, 151, 0,
563 0, 162, 0, 138, 137, 0, 0, 162, 162, 0,
564 0, 0, 0, 173, 172, 0, 0, 187, 0, 171,
565 170, 187, 0, 188, 200, 0, 231, 231, 231, 0,
566 0, 0, 231, 0, 232, 248, 0, 0, 0, 0,
567 0, 0, 269, 0, 286, 0, 0, 0, 0, 0,
568 0, 320, 320, 320, 0, 0, 0, 327, 326, 0,
569 0, 42, 0, 351, 350, 0, 356, 0, 0, 0,
571 0, 0, 0, 0, 252, 0, 0, 128, 336, 0,
572 0, 308, 41, 191, 0, 335, 127, 0, 307, 38,
573 0, 0, 39, 60, 60, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
575 0, 253, 0, 192, 123, 123, 0, 0, 123, 0,
576 154, 153, 162, 0, 132, 131, 0, 0, 162, 0,
577 134, 133, 0, 0, 175, 174, 187, 187, 200, 0,
578 231, 0, 0, 231, 231, 0, 0, 231, 248, 0,
579 249, 0, 0, 261, 260, 0, 259, 258, 269, 0,
580 286, 0, 0, 299, 298, 0, 297, 296, 0, 320,
582 320, 320, 0, 0, 0, 0, 42, 0, 0, 0,
583 17, 0, 19, 18, 0, 252, 324, 0, 128, 273,
584 16, 308, 0, 127, 0, 307, 38, 371, 60, 60,
585 0, 61, 0, 79, 78, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 92, 91, 253,
587 0, 123, 123, 0, 0, 0, 0, 123, 162, 0,
588 136, 135, 162, 0, 187, 187, 200, 0, 201, 231,
589 0, 213, 212, 231, 231, 0, 0, 0, 0, 231,
590 248, 274, 269, 0, 286, 0, 0, 0, 0, 320,
591 320, 0, 325, 0, 0, 343, 0, 0, 0, 17,
593 0, 324, 0, 273, 16, 0, 0, 38, 0, 0,
594 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595 0, 0, 0, 123, 123, 0, 113, 0, 112, 123,
596 162, 162, 0, 163, 187, 187, 200, 0, 0, 231,
597 231, 231, 0, 217, 0, 216, 231, 248, 274, 269,
598 0, 270, 0, 0, 0, 0, 0, 312, 311, 0,
599 0, 320, 0, 321, 325, 0, 0, 0, 0, 0,
600 24, 0, 0, 0, 38, 0, 0, 0, 60, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 0, 123, 123, 115, 114, 0, 0, 162, 162, 187,
604 187, 200, 0, 209, 208, 231, 231, 231, 219, 218,
605 0, 0, 248, 269, 0, 0, 0, 0, 287, 0,
606 0, 316, 315, 0, 0, 0, 332, 0, 0, 0,
607 290, 0, 0, 0, 0, 0, 0, 0, 0, 60,
608 0, 0, 0, 0, 69, 0, 0, 0, 0, 68,
609 0, 291, 123, 0, 0, 0, 117, 116, 162, 162,
610 0, 0, 187, 0, 0, 231, 231, 231, 0, 221,
611 220, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 314, 313, 0, 0, 0, 290, 0,
613 0, 0, 34, 33, 0, 0, 0, 0, 60, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 291, 0,
616 0, 123, 0, 119, 118, 162, 162, 0, 179, 178,
617 187, 0, 196, 195, 231, 0, 0, 231, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 65, 64, 0, 0, 0,
620 0, 0, 0, 0, 0, 75, 0, 0, 0, 74,
621 0, 0, 0, 109, 108, 123, 162, 162, 187, 231,
622 0, 215, 214, 231, 0, 0, 0, 0, 0, 0,
623 0, 0, 0, 0, 278, 0, 0, 277, 0, 304,
624 0, 0, 0, 0, 0, 0, 65, 64, 0, 0,
626 0, 0, 0, 52, 51, 0, 0, 0, 0, 0,
627 0, 0, 123, 162, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 56, 0, 55, 73, 0, 0, 72, 0, 0,
631 0, 84, 123, 162, 0, 0, 0, 0, 0, 0,
632 0, 211, 210, 0, 0, 0, 244, 0, 243, 0,
633 265, 0, 264, 0, 280, 282, 279, 281, 0, 0,
634 0, 12, 0, 12, 0, 0, 0, 67, 71, 66,
635 70, 123, 162, 0, 0, 0, 0, 0, 0, 0,
637 0, 0, 0, 0, 0, 242, 241, 263, 262, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 0, 0, 54, 53,
641 0, 111, 110, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 11, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 146, 0, 0, 145, 0, 181, 0,
652 180, 0, 0, 223, 0, 0, 222, 0, 0, 0,
653 0, 0, 150, 0, 149, 0, 0, 0, 225, 0,
654 224, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 156, 0, 155, 0, 0,
656 0, 0, 0, 0, 0, 0, 158, 157, 148, 147,
657 183, 182, 227, 226, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 13, 0
663 static yyconst flex_int32_t yy_ec[256] =
665 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
666 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
669 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
670 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
671 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
672 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
673 16, 36, 37, 38, 39, 40, 41, 42, 43, 16,
674 44, 1, 45, 1, 46, 1, 47, 48, 49, 50,
676 51, 52, 53, 54, 55, 16, 56, 57, 58, 59,
677 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
678 70, 16, 1, 1, 1, 1, 1, 1, 1, 1,
679 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
684 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
685 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
695 static yyconst flex_int32_t yy_meta[71] =
697 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
698 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
699 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
700 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
701 5, 5, 5, 1, 1, 5, 9, 9, 9, 9,
702 9, 9, 5, 5, 5, 5, 5, 5, 5, 5,
703 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
706 static yyconst flex_int16_t yy_base[2497] =
708 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
709 14, 17, 33, 36, 49, 55, 45, 61, 66, 73,
710 106, 173, 76, 79, 83, 126, 129, 134, 137, 154,
711 193, 196, 201, 204, 221, 224, 227, 230, 248, 309,
712 280, 286, 370, 434, 268, 273, 277, 330, 333, 337,
713 340, 390, 498, 563, 393, 398, 628, 691, 401, 454,
714 457, 462, 465, 518, 521, 526, 529, 583, 586, 591,
715 594, 648, 651, 656, 659, 711, 714, 719, 722, 739,
716 745, 748, 756, 765, 768, 773, 776, 785, 803, 867,
717 823, 826, 831, 835, 887, 890, 895, 899, 931, 0,
719 1000, 1003, 1021, 1085, 1041, 1044, 1149, 1204, 1049, 1053,
720 1259, 1323, 1105, 1108, 1113, 1117, 1169, 1172, 1177, 1181,
721 1387, 1451, 1224, 1227, 1232, 1236, 1279, 1282, 1287, 1290,
722 1515, 1579, 1343, 1346, 1351, 1354, 1407, 1410, 1415, 1418,
723 1643, 1698, 1471, 1474, 1753, 1817, 1479, 1482, 1535, 1538,
724 1543, 1546, 1599, 1602, 1881, 1945, 1607, 1610, 1663, 1666,
725 1671, 1674, 1718, 1721, 2009, 2076, 1726, 1729, 2143, 2198,
726 1773, 1776, 1781, 1784, 1837, 1840, 1845, 1848, 2253, 2320,
727 1901, 1904, 0, 0, 5394, 7748, 7748, 96, 100, 29,
728 41, 7748, 157, 51, 7748, 7748, 5383, 7748, 7748, 5372,
730 7748, 5385, 5367, 360, 7748, 7748, 7748, 7748, 5365, 5365,
731 5322, 84, 7748, 160, 5346, 0, 144, 7748, 5314, 7748,
732 164, 2383, 5314, 492, 224, 5349, 5299, 7748, 167, 5338,
733 0, 216, 7748, 5294, 5294, 5292, 344, 5280, 7748, 303,
734 5303, 0, 341, 7748, 5263, 5261, 41, 5244, 7748, 427,
735 13, 81, 141, 7748, 482, 5278, 0, 342, 7748, 5236,
736 5235, 5225, 7748, 491, 345, 7748, 548, 5260, 0, 347,
737 7748, 5222, 5211, 7748, 556, 1919, 1920, 5204, 80, 5238,
738 198, 252, 364, 613, 59, 5246, 83, 7748, 613, 5224,
739 0, 405, 7748, 5176, 5180, 5187, 5175, 5168, 7748, 618,
741 177, 235, 7748, 676, 5212, 0, 469, 7748, 167, 5170,
742 5166, 5168, 149, 5166, 147, 7748, 682, 476, 7748, 685,
743 5188, 0, 535, 7748, 5139, 5145, 5150, 5152, 5137, 5137,
744 7748, 793, 606, 7748, 796, 5169, 0, 540, 7748, 5125,
745 5133, 7748, 852, 780, 7748, 857, 5162, 0, 541, 7748,
746 5133, 5125, 5127, 243, 7748, 916, 348, 357, 7748, 921,
747 5146, 0, 605, 7748, 5101, 275, 7748, 1006, 670, 5142,
748 5082, 7748, 1009, 5117, 0, 660, 7748, 5072, 5066, 336,
749 7748, 1012, 5114, 420, 7748, 1070, 5101, 0, 723, 7748,
750 5065, 5068, 7748, 1077, 1056, 7748, 1134, 5093, 0, 734,
752 7748, 5048, 5039, 5043, 7748, 1141, 5092, 470, 7748, 1198,
753 5075, 0, 740, 7748, 5028, 5032, 5032, 5021, 7748, 1253,
754 1071, 5069, 240, 7748, 1307, 5060, 0, 760, 7748, 5031,
755 7748, 1315, 1294, 7748, 1318, 5049, 0, 841, 7748, 5018,
756 7748, 1371, 1864, 5003, 180, 7748, 1379, 5041, 0, 905,
757 7748, 5004, 5006, 7748, 1382, 1358, 1436, 18, 4982, 7748,
758 5033, 5022, 7748, 7748, 7748, 1429, 241, 4975, 4970, 4966,
759 5010, 4969, 7748, 0, 4961, 4961, 4974, 4947, 4934, 364,
760 4942, 4943, 794, 373, 4927, 413, 4948, 477, 858, 4921,
761 1140, 1195, 7748, 0, 4925, 1910, 4914, 234, 4907, 4951,
763 7748, 0, 4910, 1968, 4899, 4919, 4899, 4903, 4888, 1372,
764 7748, 0, 4899, 4889, 4888, 4869, 7748, 0, 1975, 4866,
765 4905, 4886, 4850, 4859, 4862, 403, 4872, 488, 532, 7748,
766 0, 4861, 539, 1981, 4834, 4852, 4837, 7748, 0, 4844,
767 1989, 4818, 2029, 4813, 4808, 4816, 4799, 4801, 4785, 4787,
768 7748, 0, 4788, 4766, 2032, 4754, 4750, 4769, 4745, 7748,
769 0, 4744, 2036, 4736, 7748, 0, 4739, 2039, 4726, 4739,
770 4737, 4725, 7748, 0, 4712, 4716, 4706, 4678, 4685, 7748,
771 0, 4673, 4691, 4686, 4676, 4710, 7748, 0, 4668, 2042,
772 4665, 7748, 0, 4656, 4656, 4646, 4646, 7748, 0, 4633,
774 4616, 4622, 4621, 4605, 4602, 7748, 0, 4606, 4614, 7748,
775 0, 2096, 4611, 553, 7748, 0, 2099, 4601, 4583, 4623,
776 4623, 442, 4574, 7748, 1432, 0, 4569, 4561, 4603, 4600,
777 4555, 7748, 4564, 4530, 1914, 2102, 1500, 4526, 4517, 4507,
778 4513, 4501, 4497, 4504, 4505, 4486, 4465, 4452, 4469, 4456,
779 1503, 4435, 4448, 4448, 4433, 4441, 2105, 1567, 4435, 4458,
780 2108, 2163, 7748, 4429, 2123, 1631, 2166, 4420, 2170, 4431,
781 2173, 2176, 4416, 4416, 4419, 4412, 2218, 2225, 2228, 1805,
782 4395, 2231, 2273, 1509, 4397, 4386, 4388, 4376, 1747, 4375,
783 4369, 4375, 4366, 4376, 2276, 1869, 4371, 4356, 2279, 2282,
785 1510, 2287, 2060, 4368, 2341, 2127, 2344, 4360, 4357, 4349,
786 4340, 4349, 2347, 2350, 436, 4326, 2353, 2188, 2374, 4336,
787 4323, 2377, 2382, 4320, 2387, 2309, 2396, 2406, 4332, 2409,
788 2415, 4329, 4310, 4273, 2432, 2439, 2451, 2454, 2458, 2447,
789 2461, 4273, 2472, 2476, 2480, 2483, 2486, 2494, 4276, 2501,
790 2506, 2515, 2525, 2520, 2534, 2530, 2540, 2544, 4276, 4259,
791 4265, 4251, 2548, 2552, 4260, 4241, 2555, 2559, 2563, 2567,
792 2583, 2586, 4246, 2589, 2593, 4234, 2607, 2614, 4275, 7748,
793 7748, 196, 4237, 7748, 4270, 4269, 4220, 7748, 7748, 4204,
794 4203, 4211, 2617, 2621, 7748, 2627, 1506, 4201, 4188, 4206,
796 4187, 4184, 4170, 4177, 4169, 4165, 477, 4172, 4156, 4170,
797 4165, 1692, 4152, 4151, 4163, 542, 2636, 2647, 7748, 7748,
798 2640, 4186, 2658, 2661, 7748, 2664, 4146, 2667, 7748, 7748,
799 2683, 2686, 2694, 2701, 2706, 4145, 2714, 2719, 7748, 2722,
800 595, 4142, 2725, 4141, 2728, 2733, 7748, 2743, 2748, 7748,
801 7748, 4133, 2756, 2762, 7748, 2765, 4127, 4138, 4107, 4114,
802 4102, 4097, 4096, 4098, 4100, 2768, 2771, 7748, 7748, 4086,
803 4096, 2789, 2792, 7748, 2795, 4071, 4091, 4082, 2798, 7748,
804 7748, 2814, 2817, 7748, 7748, 2825, 2828, 4072, 4078, 4083,
805 4075, 4063, 2836, 2843, 7748, 2846, 4058, 4049, 4057, 2849,
807 7748, 7748, 2858, 2865, 4043, 4045, 2876, 2879, 7748, 2882,
808 4048, 2885, 7748, 7748, 2901, 2904, 7748, 2907, 4029, 2911,
809 7748, 7748, 4036, 4035, 4033, 2926, 2932, 7748, 2935, 2938,
810 2941, 2956, 2959, 4032, 2967, 2975, 7748, 2978, 4025, 2981,
811 2987, 4012, 4008, 2999, 3002, 4019, 3010, 3013, 7748, 3017,
812 4019, 3020, 7748, 7748, 3032, 3036, 7748, 3039, 3043, 3051,
813 3999, 3993, 3046, 3064, 3072, 3075, 7748, 3079, 3983, 3082,
814 3994, 3973, 3085, 3100, 7748, 3104, 3971, 3984, 3107, 3110,
815 7748, 3113, 3119, 7748, 7748, 3132, 3135, 7748, 3139, 3983,
816 3142, 7748, 7748, 3981, 3154, 3158, 7748, 3165, 585, 3168,
818 7748, 7748, 4013, 3987, 3931, 3921, 3173, 3914, 3920, 3913,
819 3907, 3913, 1936, 2001, 2068, 3908, 3905, 2071, 3894, 3901,
820 3899, 3894, 3878, 2135, 3890, 3882, 3177, 3188, 3882, 3903,
821 3180, 3877, 3199, 7748, 7748, 3207, 3210, 3218, 7748, 7748,
822 3871, 3228, 2237, 3861, 3231, 3237, 3249, 3252, 3860, 3255,
823 7748, 3850, 3851, 2246, 3258, 3848, 3846, 3844, 3846, 3837,
824 3261, 3267, 3279, 3283, 3286, 3289, 3292, 3311, 3314, 3317,
825 3332, 7748, 7748, 3340, 3343, 3346, 3350, 3364, 3368, 3371,
826 3375, 3382, 3393, 7748, 7748, 3401, 3404, 3378, 3835, 3411,
827 3834, 3838, 3826, 3415, 3422, 3441, 7748, 7748, 3449, 7748,
829 7748, 3819, 3426, 3462, 3465, 7748, 7748, 3810, 3825, 3477,
830 7748, 7748, 3801, 3485, 3795, 3490, 3493, 7748, 7748, 3794,
831 3804, 3509, 7748, 7748, 3517, 3790, 3520, 3523, 3779, 3792,
832 3531, 3777, 3538, 3545, 3550, 3750, 3556, 3559, 687, 3789,
833 3564, 7748, 3787, 7748, 7748, 3742, 3737, 3569, 3730, 3742,
834 3728, 3739, 3736, 2301, 2839, 3738, 3574, 3726, 3705, 3579,
835 3710, 3583, 3588, 3713, 3714, 3591, 3594, 3699, 3597, 7748,
836 7748, 3703, 3719, 3605, 3686, 3610, 7748, 7748, 3683, 3624,
837 3620, 3683, 3633, 2338, 2392, 3645, 3648, 3656, 3684, 3671,
838 3670, 3659, 3663, 3666, 3669, 3675, 3685, 3672, 3679, 7748,
840 7748, 3687, 3690, 3698, 3706, 3676, 3701, 3716, 3721, 3737,
841 3740, 3743, 7748, 7748, 3751, 3758, 3769, 3772, 3775, 3778,
842 3781, 3796, 3802, 3814, 3817, 3820, 3828, 3838, 3823, 3667,
843 3845, 3672, 3646, 3661, 3848, 3852, 3661, 3860, 3648, 3866,
844 3649, 3869, 3875, 3879, 3898, 3642, 3901, 3904, 3907, 3910,
845 3635, 3925, 7748, 7748, 3632, 3621, 3933, 3629, 3936, 3942,
846 3955, 3959, 3617, 3963, 3967, 3983, 655, 339, 713, 7748,
847 3611, 3986, 3989, 3604, 3594, 3609, 3580, 3810, 3576, 3575,
848 3569, 3992, 3995, 3998, 4004, 3583, 4008, 3567, 4013, 3580,
849 3554, 3568, 3588, 4016, 3545, 3549, 4019, 4022, 3566, 3540,
851 635, 3535, 3534, 3521, 814, 3516, 4025, 7748, 7748, 4040,
852 4043, 3493, 3507, 4048, 4051, 3483, 3489, 4055, 7748, 7748,
853 4063, 3497, 3496, 3473, 4071, 7748, 4076, 7748, 7748, 4085,
854 4090, 3462, 4099, 7748, 7748, 4107, 4110, 4118, 3470, 4121,
855 4125, 4139, 4142, 7748, 7748, 4150, 4154, 3467, 4162, 7748,
856 7748, 3463, 4171, 7748, 3460, 4174, 3441, 4177, 3458, 4180,
857 3469, 3467, 3445, 4195, 7748, 3443, 4198, 3425, 4201, 4204,
858 4222, 4225, 3430, 4236, 3424, 4240, 4243, 4246, 4255, 4261,
859 4273, 3423, 3419, 3420, 4276, 3414, 4279, 7748, 7748, 4288,
860 4295, 4269, 4300, 7748, 7748, 4308, 7748, 40, 733, 699,
862 3414, 4314, 4317, 4327, 4332, 3405, 3402, 4339, 4342, 3401,
863 3401, 4347, 4350, 4353, 3397, 4356, 4359, 3396, 4362, 3399,
864 3405, 4365, 7748, 3385, 3392, 4368, 4372, 4375, 3405, 3399,
865 3397, 3394, 3380, 3383, 3374, 3372, 3356, 3346, 4390, 4393,
866 4396, 4404, 3316, 4411, 3307, 3298, 757, 873, 3303, 4414,
867 7748, 7748, 3297, 4422, 7748, 7748, 4430, 4434, 3267, 4442,
868 7748, 7748, 4450, 4453, 7748, 7748, 3262, 3263, 3240, 4461,
869 3246, 4464, 4469, 3247, 3223, 1027, 1031, 3210, 3174, 4482,
870 7748, 3159, 4485, 7748, 7748, 4494, 7748, 7748, 3105, 4502,
871 3088, 4505, 4508, 7748, 7748, 4517, 7748, 7748, 4525, 4528,
873 3080, 37, 4531, 70, 4534, 4537, 4540, 4546, 782, 604,
874 4556, 4565, 7748, 7748, 4560, 4573, 4579, 88, 4582, 4585,
875 4588, 4594, 223, 4597, 412, 4600, 490, 7748, 4603, 541,
876 4606, 7748, 4610, 7748, 7748, 646, 682, 708, 708, 730,
877 748, 755, 793, 801, 806, 4621, 4625, 7748, 7748, 4633,
878 774, 808, 814, 839, 877, 868, 887, 853, 854, 4636,
879 7748, 7748, 867, 4644, 878, 870, 966, 4647, 7748, 4650,
880 4653, 7748, 7748, 964, 960, 1010, 1043, 1023, 1054, 1024,
881 1037, 4668, 1054, 4671, 4674, 4680, 4683, 4686, 4695, 4704,
882 1062, 4707, 4710, 4713, 4716, 7748, 4722, 1127, 1395, 4726,
884 4742, 4745, 1049, 4748, 4751, 1063, 1065, 1055, 4754, 4757,
885 1072, 1087, 1093, 1108, 1102, 1129, 1137, 1136, 1153, 1142,
886 1153, 4765, 1127, 1131, 1156, 1226, 7748, 1224, 7748, 4768,
887 1191, 1184, 4772, 7748, 1179, 1187, 1183, 4777, 4791, 1199,
888 1218, 1230, 1282, 7748, 1286, 7748, 4786, 1239, 4799, 1241,
889 4805, 7748, 4808, 4811, 4819, 4826, 4829, 7748, 7748, 4838,
890 4841, 4849, 4852, 7748, 4856, 4859, 1282, 1459, 1292, 4862,
891 7748, 1250, 1262, 1300, 4867, 4871, 1340, 1341, 1299, 1331,
892 1340, 1379, 1394, 1418, 1397, 1405, 1406, 1412, 1432, 4881,
893 1397, 1397, 4885, 7748, 7748, 4891, 4894, 1419, 1432, 4903,
895 1433, 4909, 4912, 7748, 7748, 1435, 1440, 1438, 7748, 7748,
896 4922, 4927, 4935, 4940, 4943, 1518, 1582, 4953, 7748, 4958,
897 4961, 7748, 7748, 4972, 4977, 4985, 7748, 1575, 1557, 1621,
898 4990, 1445, 1450, 4993, 4997, 1495, 1522, 1516, 1532, 1496,
899 1537, 1535, 1535, 1568, 7748, 1593, 1579, 1583, 1587, 7748,
900 5005, 5011, 5014, 5017, 5025, 5035, 7748, 7748, 1570, 1582,
901 5043, 5046, 1587, 5055, 5061, 1581, 5069, 1590, 5073, 7748,
902 7748, 5081, 5087, 5095, 5099, 1608, 1625, 1636, 1638, 1645,
903 1647, 5107, 5113, 7748, 7748, 1670, 1762, 5121, 5126, 1618,
904 1620, 5129, 7748, 7748, 1664, 1658, 1675, 1681, 5140, 1688,
906 1705, 1728, 1715, 1700, 1718, 1732, 1723, 5143, 5146, 5149,
907 5158, 1694, 5167, 7748, 7748, 1695, 1699, 5175, 7748, 7748,
908 1711, 5184, 7748, 7748, 1738, 5153, 5192, 1720, 5200, 1762,
909 1813, 5208, 1821, 1826, 1751, 1760, 1790, 1759, 1768, 1795,
910 5216, 1793, 5219, 5222, 5225, 5244, 5247, 1779, 1791, 1800,
911 1828, 5250, 5253, 1829, 1831, 7748, 1836, 1840, 1845, 7748,
912 1848, 5261, 5264, 7748, 7748, 1824, 1825, 5272, 5275, 5280,
913 5283, 7748, 7748, 5293, 1863, 1883, 1876, 1889, 1886, 1895,
914 1889, 1898, 1895, 1904, 7748, 1903, 1917, 7748, 5298, 7748,
915 2005, 5301, 5304, 5313, 5333, 5378, 5325, 5328, 1919, 1955,
917 1949, 1966, 5353, 7748, 7748, 1974, 1955, 1957, 1986, 1965,
918 1967, 5344, 1945, 1957, 5369, 5398, 5372, 5406, 5414, 5422,
919 5417, 5435, 2001, 2000, 2040, 2013, 2046, 2019, 2048, 2022,
920 2054, 2061, 2059, 2083, 2121, 5443, 2175, 2114, 5463, 5508,
921 2099, 7748, 2100, 7748, 7748, 2110, 2111, 7748, 2110, 2123,
922 5453, 7748, 2084, 2070, 5483, 2187, 2209, 5491, 2280, 2282,
923 5528, 7748, 7748, 5536, 2331, 2355, 7748, 2165, 7748, 2173,
924 7748, 2180, 7748, 2216, 7748, 7748, 7748, 7748, 2316, 2281,
925 2418, 2231, 2374, 2235, 5456, 2237, 2254, 7748, 7748, 7748,
926 7748, 5499, 5502, 2491, 2264, 2555, 2266, 2257, 2272, 2275,
928 2288, 2561, 2331, 2606, 2334, 7748, 7748, 7748, 7748, 5544,
929 2365, 2375, 2392, 5547, 2397, 2405, 5552, 5556, 5566, 5570,
930 2384, 2394, 2407, 2407, 2416, 2446, 2438, 2449, 2441, 2470,
931 2455, 2469, 2479, 2469, 2480, 2503, 5579, 2554, 7748, 7748,
932 5584, 7748, 7748, 5598, 2599, 2621, 2543, 2550, 2565, 2569,
933 2574, 2571, 2581, 2577, 2601, 2597, 2600, 2621, 2618, 2622,
934 2641, 2639, 2663, 7748, 2657, 2652, 2660, 2663, 2664, 2669,
935 2673, 2672, 2682, 2688, 2694, 2707, 2713, 2714, 2712, 2718,
936 2723, 2726, 2731, 2735, 2742, 2740, 2761, 2746, 2764, 2753,
937 2750, 2778, 2770, 2767, 2783, 2771, 2786, 2774, 2789, 2787,
939 2785, 2800, 2800, 2797, 2829, 2837, 2829, 2829, 2835, 2836,
940 2847, 2841, 2884, 2866, 2858, 2886, 2862, 2892, 2865, 2892,
941 2890, 2883, 2913, 2896, 2888, 2916, 2906, 2902, 2922, 2920,
942 2925, 2947, 2923, 7748, 2947, 2933, 7748, 2935, 7748, 2936,
943 7748, 2966, 2943, 7748, 2967, 2955, 7748, 2977, 2953, 2967,
944 2964, 2982, 7748, 2984, 7748, 2999, 3001, 3002, 7748, 3005,
945 7748, 3006, 5592, 3025, 3052, 3035, 3054, 3022, 3027, 3029,
946 3030, 3048, 3049, 5611, 3087, 7748, 3085, 7748, 3090, 3088,
947 3094, 3109, 3113, 3117, 3109, 3143, 7748, 7748, 7748, 7748,
948 7748, 7748, 7748, 7748, 3222, 3224, 3129, 3179, 3112, 3133,
950 3184, 3186, 3254, 3277, 3195, 3216, 3292, 3311, 3287, 3290,
951 3130, 3335, 3341, 3372, 3319, 3208, 5606, 5619, 7748, 7748,
952 5639, 5648, 5657, 5666, 5675, 5684, 5693, 5702, 5711, 5720,
953 5729, 5738, 5747, 5756, 5765, 5774, 5783, 5792, 5801, 5810,
954 5819, 5828, 5837, 5846, 5855, 5864, 5873, 5882, 5891, 5900,
955 5909, 5918, 5927, 5936, 5945, 5954, 5963, 5972, 5981, 5990,
956 5999, 6006, 6013, 6020, 6027, 6034, 6041, 6048, 6055, 6062,
957 6069, 6076, 6083, 6090, 6097, 6104, 6111, 6118, 6125, 6134,
958 6141, 6146, 6153, 6158, 6165, 6170, 6177, 6182, 6189, 6194,
959 6199, 6206, 6211, 6218, 6223, 6230, 6235, 6242, 6247, 6254,
961 6259, 6266, 6271, 6278, 6283, 6290, 6295, 6302, 6307, 6314,
962 6319, 6326, 6331, 6338, 6343, 6352, 6358, 6365, 6373, 6380,
963 6388, 6395, 6403, 6410, 6418, 6425, 6433, 6440, 6448, 6455,
964 6463, 6470, 6478, 6485, 6493, 6500, 6508, 6516, 6524, 6532,
965 6540, 6547, 6555, 6563, 6571, 6578, 6586, 6593, 6601, 6609,
966 6616, 6624, 6633, 6639, 6646, 6654, 6662, 6670, 6677, 6685,
967 6692, 6700, 6707, 6715, 6722, 6730, 6737, 6745, 6752, 6760,
968 6767, 6775, 6782, 6790, 6797, 6805, 6812, 6820, 6827, 6835,
969 6842, 6850, 6857, 6865, 6872, 6880, 6888, 6895, 6903, 6912,
970 6921, 6928, 6936, 6943, 6951, 6958, 6966, 6973, 6981, 6988,
972 6995, 7003, 7011, 7019, 7027, 7035, 7042, 7050, 7057, 7065,
973 7072, 7080, 7087, 7095, 7102, 7110, 7117, 7125, 7132, 7140,
974 7148, 7156, 7164, 7172, 7180, 7189, 7198, 7205, 7213, 7220,
975 7228, 7235, 7243, 7250, 7258, 7265, 7272, 7280, 7288, 7296,
976 7304, 7312, 7319, 7327, 7334, 7342, 7349, 7357, 7365, 7373,
977 7380, 7388, 7396, 7404, 7411, 7419, 7427, 7435, 7443, 7452,
978 7461, 7469, 7477, 7484, 7492, 7499, 7507, 7515, 7523, 7531,
979 7538, 7545, 7553, 7560, 7567, 7575, 7582, 7589, 7597, 7604,
980 7612, 7619, 7627, 7635, 7642, 7650, 7658, 7666, 7675, 7684,
981 7693, 7702, 7711, 7720, 7729, 7738
985 static yyconst flex_int16_t yy_def[2497] =
987 2221, 2221, 2222, 2222, 2222, 2222, 2223, 2223, 2224, 2224,
988 2225, 2225, 2226, 2226, 2226, 2226, 2227, 2227, 2221, 2221,
989 2228, 2228, 2229, 2229, 2229, 2229, 2229, 2229, 2221, 2221,
990 2229, 2229, 2221, 2221, 2229, 2229, 2229, 2229, 2230, 2230,
991 2226, 2226, 2231, 2231, 2232, 2232, 2221, 2221, 2232, 2232,
992 2232, 2232, 2233, 2233, 2234, 2234, 2235, 2235, 2236, 2236,
993 2236, 2236, 2221, 2221, 2236, 2236, 2236, 2236, 2221, 2221,
994 2236, 2236, 2221, 2221, 2236, 2236, 2236, 2236, 2221, 2221,
995 2236, 2236, 2221, 2221, 2236, 2236, 2236, 2236, 2237, 2237,
996 2238, 2238, 2221, 2221, 2238, 2238, 2238, 2238, 2220, 99,
998 2239, 2239, 2240, 2240, 2241, 2241, 2242, 2242, 2243, 2243,
999 2244, 2244, 2245, 2245, 2221, 2221, 2245, 2245, 2245, 2245,
1000 2246, 2246, 2247, 2247, 2221, 2221, 2247, 2247, 2247, 2247,
1001 2248, 2248, 2249, 2249, 2221, 2221, 2249, 2249, 2249, 2249,
1002 2250, 2250, 2251, 2251, 2252, 2252, 2253, 2253, 2221, 2221,
1003 2253, 2253, 2253, 2253, 2254, 2254, 2255, 2255, 2221, 2221,
1004 2255, 2255, 2255, 2255, 2256, 2256, 2257, 2257, 2258, 2258,
1005 2259, 2259, 2221, 2221, 2259, 2259, 2259, 2259, 2260, 2260,
1006 2261, 2261, 2221, 2221, 2220, 2220, 2220, 2220, 2220, 2220,
1007 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1009 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1010 2220, 2220, 2220, 2220, 2220, 2262, 2220, 2220, 2262, 2220,
1011 2220, 2220, 222, 222, 222, 224, 224, 2220, 2220, 2220,
1012 2263, 2220, 2220, 2263, 2263, 2263, 2220, 2220, 2220, 2220,
1013 2220, 2264, 2220, 2220, 2264, 2264, 2264, 2264, 2220, 2220,
1014 224, 224, 224, 2220, 2220, 2220, 2265, 2220, 2220, 2265,
1015 2265, 2265, 2220, 2220, 2220, 2220, 2220, 2220, 2266, 2220,
1016 2220, 2266, 2266, 2220, 2220, 225, 225, 225, 276, 277,
1017 277, 277, 277, 283, 284, 283, 283, 2220, 2220, 2220,
1018 2267, 2220, 2220, 2267, 2267, 2267, 2267, 2267, 2220, 2220,
1020 224, 224, 2220, 2220, 2220, 2268, 2220, 2220, 2268, 2268,
1021 2268, 2268, 2268, 2268, 2268, 2220, 2220, 2220, 2220, 2220,
1022 2220, 2269, 2220, 2220, 2269, 2269, 2269, 2269, 2269, 2269,
1023 2220, 2220, 2220, 2220, 2220, 2220, 2270, 2220, 2220, 2270,
1024 2270, 2220, 2220, 2220, 2220, 2220, 2220, 2271, 2220, 2220,
1025 2271, 2271, 2271, 2271, 2220, 2220, 224, 224, 2220, 2220,
1026 2220, 2272, 2220, 2220, 2272, 2272, 2220, 2220, 224, 369,
1027 369, 2220, 2220, 2220, 2273, 2220, 2220, 2273, 2273, 2273,
1028 2220, 2220, 369, 369, 2220, 2220, 2220, 2274, 2220, 2220,
1029 2274, 2274, 2220, 2220, 2220, 2220, 2220, 2220, 2275, 2220,
1031 2220, 2275, 2275, 2275, 2220, 2220, 369, 369, 2220, 2220,
1032 2220, 2276, 2220, 2220, 2276, 2276, 2276, 2276, 2220, 2220,
1033 224, 421, 421, 2220, 2220, 2220, 2277, 2220, 2220, 2277,
1034 2220, 2220, 2220, 2220, 2220, 2220, 2278, 2220, 2220, 2278,
1035 2220, 2220, 421, 443, 443, 2220, 2220, 2220, 2279, 2220,
1036 2220, 2279, 2279, 2220, 2220, 2220, 2220, 2280, 2220, 2220,
1037 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1038 2220, 2220, 2220, 2281, 2281, 2282, 2220, 2220, 2220, 2220,
1039 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1040 2220, 2220, 2220, 2283, 2283, 2283, 2283, 2220, 2284, 2220,
1042 2220, 2285, 2285, 2285, 2285, 2285, 2285, 2285, 2286, 2220,
1043 2220, 2287, 2287, 2287, 2287, 2288, 2220, 2289, 2289, 2289,
1044 2290, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1045 2267, 2267, 2267, 2267, 2267, 2267, 2291, 2220, 2292, 2292,
1046 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2292, 2293,
1047 2220, 2294, 2294, 2294, 2294, 2294, 2294, 2294, 2295, 2220,
1048 2296, 2296, 2296, 2297, 2220, 2298, 2298, 2298, 2298, 2298,
1049 2298, 2299, 2220, 2300, 2300, 2300, 2300, 2301, 2220, 2220,
1050 2302, 2302, 2302, 2302, 2302, 2303, 2220, 2304, 2304, 2304,
1051 2305, 2220, 2306, 2306, 2306, 2306, 2307, 2220, 2308, 2308,
1053 2308, 2308, 2308, 2309, 2220, 2220, 2310, 2310, 2311, 2220,
1054 2312, 2312, 2313, 2220, 2220, 2314, 2314, 2314, 2315, 2316,
1055 2220, 2316, 2220, 2220, 2220, 2317, 2220, 2220, 2220, 2220,
1056 2220, 2220, 2220, 2318, 2319, 2319, 2220, 2220, 2220, 2220,
1057 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1058 2220, 2220, 2220, 2220, 2220, 2320, 2220, 2220, 2320, 2220,
1059 2321, 2321, 2220, 2322, 2220, 2220, 2322, 2322, 2322, 2322,
1060 2323, 2323, 2220, 2324, 2324, 2324, 2325, 2325, 2220, 2220,
1061 2326, 2327, 2327, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1062 2220, 2328, 2328, 2328, 2220, 2220, 2328, 2328, 2329, 2329,
1064 2330, 2220, 2220, 2330, 2220, 2220, 2330, 2330, 2330, 2330,
1065 2330, 2330, 2331, 2331, 2332, 2332, 2220, 2220, 2332, 2332,
1066 2332, 2333, 2333, 2334, 2220, 2220, 2335, 2335, 2336, 2220,
1067 2220, 2336, 2336, 2336, 2337, 2337, 2338, 2338, 2338, 2339,
1068 2339, 2220, 2340, 2340, 2340, 2340, 2341, 2341, 2342, 2220,
1069 2220, 2343, 2343, 2344, 2344, 2344, 2345, 2345, 2346, 2346,
1070 2346, 2346, 2347, 2347, 2220, 2348, 2349, 2349, 2220, 2220,
1071 2350, 2350, 2220, 2220, 2220, 2351, 2352, 2352, 2353, 2220,
1072 2220, 2353, 2220, 2220, 2354, 2220, 2220, 2220, 2220, 2220,
1073 2220, 2355, 2220, 2356, 2220, 2356, 2220, 2220, 2220, 2220,
1075 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1076 2220, 2220, 2220, 2220, 2220, 2220, 2357, 2220, 2220, 2220,
1077 2357, 2220, 2220, 2358, 2220, 2358, 2359, 2220, 2220, 2220,
1078 2220, 2220, 2359, 2220, 2220, 2359, 2220, 2360, 2220, 2360,
1079 2220, 2361, 2361, 2361, 2220, 2362, 2220, 2362, 2220, 2220,
1080 2220, 2363, 2220, 2364, 2220, 2364, 2220, 2220, 2220, 2220,
1081 2220, 2220, 2220, 2365, 2365, 2365, 2220, 2220, 2220, 2365,
1082 2365, 2220, 2366, 2220, 2366, 2367, 2367, 2367, 2220, 2220,
1083 2220, 2367, 2220, 2220, 2220, 2220, 2220, 2367, 2367, 2367,
1084 2367, 2367, 2220, 2368, 2220, 2368, 2369, 2369, 2369, 2220,
1086 2220, 2220, 2220, 2220, 2369, 2369, 2220, 2370, 2220, 2370,
1087 2371, 2220, 2220, 2220, 2220, 2372, 2220, 2372, 2373, 2220,
1088 2220, 2220, 2373, 2373, 2373, 2220, 2374, 2220, 2374, 2220,
1089 2220, 2220, 2220, 2375, 2220, 2376, 2220, 2376, 2220, 2220,
1090 2220, 2377, 2377, 2220, 2220, 2377, 2220, 2378, 2220, 2378,
1091 2379, 2220, 2220, 2220, 2220, 2380, 2220, 2380, 2220, 2220,
1092 2381, 2381, 2220, 2220, 2220, 2382, 2220, 2382, 2383, 2383,
1093 2383, 2383, 2220, 2384, 2220, 2384, 2220, 2385, 2220, 2386,
1094 2220, 2386, 2220, 2220, 2220, 2220, 2387, 2220, 2387, 2220,
1095 2220, 2220, 2220, 2388, 2220, 2389, 2220, 2389, 2390, 2391,
1097 2220, 2220, 2220, 2220, 2220, 2392, 2393, 2220, 2220, 2220,
1098 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1099 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2394, 2220,
1100 2395, 2396, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1101 2396, 2397, 2220, 2398, 2220, 2220, 2398, 2399, 2400, 2220,
1102 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2401, 2401,
1103 2220, 2220, 2401, 2401, 2402, 2403, 2403, 2403, 2220, 2220,
1104 2220, 2220, 2220, 2403, 2403, 2403, 2403, 2403, 2404, 2405,
1105 2405, 2405, 2220, 2220, 2220, 2405, 2405, 2406, 2407, 2408,
1106 2409, 2409, 2409, 2409, 2410, 2220, 2220, 2220, 2220, 2220,
1108 2220, 2411, 2412, 2220, 2220, 2220, 2220, 2413, 2413, 2220,
1109 2220, 2220, 2413, 2414, 2415, 2416, 2220, 2220, 2220, 2417,
1110 2417, 2220, 2220, 2220, 2418, 2419, 2220, 2220, 2419, 2419,
1111 2420, 2220, 2421, 2422, 2423, 2220, 2424, 2425, 2426, 2427,
1112 2427, 2220, 2427, 2220, 2220, 2220, 2428, 2429, 2220, 2220,
1113 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1114 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1115 2220, 2430, 2220, 2431, 2432, 2220, 2220, 2220, 2432, 2433,
1116 2220, 2434, 2220, 2220, 2220, 2220, 2220, 2435, 2436, 2220,
1117 2220, 2220, 2220, 2220, 2220, 2220, 2437, 2437, 2220, 2220,
1119 2220, 2220, 2220, 2220, 2220, 2437, 2438, 2220, 2220, 2439,
1120 2439, 2220, 2220, 2220, 2220, 2220, 2439, 2439, 2439, 2439,
1121 2440, 2220, 2220, 2441, 2441, 2220, 2220, 2441, 2442, 2443,
1122 2444, 2445, 2445, 2445, 2220, 2220, 2445, 2446, 2447, 2448,
1123 2220, 2449, 2449, 2449, 2450, 2451, 2452, 2453, 2453, 2454,
1124 2455, 2220, 2220, 2220, 2455, 2455, 2456, 2220, 2220, 2220,
1125 2457, 2458, 2220, 2220, 2220, 2459, 2460, 2461, 2461, 2220,
1126 2220, 2462, 2463, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1127 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1128 2220, 2464, 2220, 2465, 2466, 2466, 2467, 2468, 2220, 2220,
1130 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2469,
1131 2470, 2220, 2220, 2220, 2220, 2471, 2471, 2220, 2220, 2220,
1132 2220, 2220, 2220, 2471, 2220, 2220, 2220, 2220, 2220, 2220,
1133 2220, 2472, 2220, 2220, 2220, 2220, 2220, 2472, 2472, 2220,
1134 2220, 2473, 2220, 2220, 2220, 2220, 2220, 2474, 2220, 2220,
1135 2220, 2474, 2220, 2220, 2475, 2476, 2477, 2477, 2477, 2220,
1136 2220, 2220, 2477, 2220, 2220, 2478, 2479, 2220, 2220, 2220,
1137 2220, 2220, 2480, 2481, 2482, 2483, 2220, 2220, 2220, 2220,
1138 2484, 2485, 2485, 2485, 2486, 2220, 2220, 2220, 2220, 2487,
1139 2488, 2220, 2220, 2220, 2220, 2220, 2220, 2489, 2490, 2490,
1141 2220, 2220, 2220, 2463, 2220, 2220, 2220, 2220, 2220, 2220,
1142 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2464,
1143 2220, 2220, 2220, 2466, 2466, 2467, 2220, 2220, 2220, 2220,
1144 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2469, 2220,
1145 2220, 2220, 2220, 2220, 2471, 2471, 2220, 2220, 2471, 2220,
1146 2220, 2220, 2472, 2220, 2220, 2220, 2220, 2220, 2472, 2220,
1147 2220, 2220, 2473, 2220, 2220, 2220, 2474, 2474, 2475, 2476,
1148 2477, 2220, 2220, 2477, 2477, 2220, 2220, 2477, 2478, 2220,
1149 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2480, 2481,
1150 2482, 2483, 2220, 2220, 2220, 2220, 2220, 2220, 2484, 2485,
1152 2485, 2485, 2486, 2220, 2487, 2488, 2220, 2489, 2490, 2490,
1153 2220, 2220, 2220, 2220, 2463, 2220, 2220, 2220, 2220, 2220,
1154 2220, 2220, 2220, 2220, 2220, 2220, 2464, 2220, 2466, 2466,
1155 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1156 2220, 2220, 2220, 2220, 2220, 2469, 2220, 2220, 2220, 2220,
1157 2220, 2471, 2471, 2220, 2220, 2220, 2220, 2471, 2472, 2220,
1158 2220, 2220, 2472, 2473, 2474, 2474, 2475, 2220, 2220, 2477,
1159 2220, 2220, 2220, 2477, 2477, 2220, 2220, 2220, 2220, 2477,
1160 2478, 2220, 2480, 2481, 2482, 2483, 2484, 2220, 2220, 2485,
1161 2485, 2486, 2220, 2487, 2220, 2220, 2489, 2490, 2490, 2220,
1163 2463, 2220, 2220, 2220, 2220, 2220, 2220, 2464, 2220, 2220,
1164 2466, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1165 2220, 2469, 2220, 2471, 2471, 2220, 2220, 2220, 2220, 2471,
1166 2472, 2472, 2220, 2220, 2474, 2474, 2475, 2220, 2220, 2477,
1167 2477, 2477, 2220, 2220, 2220, 2220, 2477, 2478, 2220, 2480,
1168 2220, 2220, 2220, 2220, 2483, 2484, 2220, 2220, 2220, 2220,
1169 2220, 2485, 2220, 2220, 2220, 2487, 2489, 2490, 2490, 2220,
1170 2220, 2220, 2220, 2220, 2464, 2220, 2220, 2220, 2466, 2220,
1171 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2469,
1172 2220, 2471, 2471, 2220, 2220, 2220, 2220, 2472, 2472, 2474,
1174 2474, 2475, 2220, 2220, 2220, 2477, 2477, 2477, 2220, 2220,
1175 2220, 2220, 2478, 2480, 2220, 2220, 2220, 2220, 2220, 2484,
1176 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2489, 2490, 2490,
1177 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2466,
1178 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1179 2469, 2220, 2471, 2220, 2220, 2220, 2220, 2220, 2472, 2472,
1180 2220, 2220, 2474, 2220, 2220, 2477, 2477, 2477, 2220, 2220,
1181 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1182 2220, 2484, 2220, 2220, 2220, 2489, 2490, 2490, 2220, 2220,
1183 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2466, 2220,
1185 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2469, 2220, 2220,
1186 2220, 2471, 2220, 2220, 2220, 2472, 2472, 2220, 2220, 2220,
1187 2474, 2220, 2220, 2220, 2477, 2220, 2220, 2477, 2220, 2220,
1188 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1189 2484, 2489, 2490, 2490, 2490, 2220, 2220, 2220, 2220, 2220,
1190 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1191 2220, 2469, 2220, 2220, 2220, 2471, 2472, 2472, 2474, 2477,
1192 2220, 2220, 2220, 2477, 2220, 2220, 2220, 2220, 2220, 2220,
1193 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1194 2489, 2490, 2490, 2490, 2491, 2492, 2220, 2220, 2220, 2220,
1196 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1197 2220, 2469, 2471, 2472, 2220, 2220, 2220, 2220, 2220, 2220,
1198 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1199 2220, 2220, 2220, 2220, 2489, 2490, 2493, 2494, 2491, 2492,
1200 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1201 2220, 2220, 2471, 2472, 2220, 2220, 2220, 2220, 2220, 2220,
1202 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1203 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2489, 2493,
1204 2490, 2495, 2494, 2496, 2490, 2220, 2220, 2220, 2220, 2220,
1205 2220, 2471, 2472, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1207 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2489,
1208 2495, 2220, 2496, 2490, 2220, 2220, 2220, 2220, 2220, 2220,
1209 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1210 2220, 2220, 2220, 2220, 2220, 2220, 2489, 2220, 2220, 2220,
1211 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1212 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1213 2220, 2220, 2489, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1214 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1215 2220, 2220, 2220, 2220, 2489, 2220, 2220, 2220, 2220, 2220,
1216 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1218 2220, 2220, 2220, 2220, 2220, 2489, 2220, 2220, 2220, 2220,
1219 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1220 2220, 2220, 2220, 2220, 2220, 2220, 2489, 2220, 2220, 2220,
1221 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1222 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2489, 2220, 2220,
1223 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1224 2220, 2220, 2489, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1225 2220, 2220, 2220, 2489, 2220, 2220, 2220, 2220, 2220, 2220,
1226 2220, 2220, 2220, 2220, 2489, 2489, 2220, 2220, 2220, 2220,
1227 2220, 2220, 2220, 2220, 2489, 2489, 2489, 2489, 2489, 2489,
1229 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489,
1230 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2220, 0,
1231 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1232 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1233 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1234 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1235 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1236 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1237 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1238 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1240 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1241 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1242 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1243 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1244 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1245 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1246 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1247 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1248 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1249 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1251 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1252 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1253 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1254 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1255 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1256 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1257 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1258 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1259 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
1260 2220, 2220, 2220, 2220, 2220, 2220
1264 static yyconst flex_int16_t yy_nxt[7819] =
1266 2220, 188, 189, 188, 188, 189, 188, 188, 189, 188,
1267 188, 189, 188, 193, 189, 193, 199, 190, 196, 199,
1268 190, 196, 2220, 191, 509, 197, 191, 621, 197, 194,
1269 193, 189, 193, 458, 200, 202, 203, 200, 202, 203,
1270 204, 205, 622, 204, 205, 458, 194, 209, 210, 459,
1271 206, 202, 203, 206, 207, 461, 204, 202, 203, 780,
1272 207, 460, 204, 209, 210, 1508, 206, 189, 189, 189,
1273 521, 460, 206, 510, 189, 189, 189, 221, 189, 221,
1274 221, 189, 221, 212, 221, 189, 221, 505, 461, 211,
1275 212, 506, 2220, 222, 1591, 507, 222, 457, 457, 457,
1277 223, 457, 457, 457, 460, 211, 213, 214, 189, 214,
1278 213, 213, 213, 213, 213, 213, 213, 215, 213, 213,
1279 213, 526, 213, 217, 213, 218, 213, 221, 189, 221,
1280 221, 189, 221, 481, 1593, 221, 189, 221, 189, 189,
1281 189, 510, 484, 223, 472, 484, 224, 490, 461, 213,
1282 213, 224, 509, 1603, 225, 189, 189, 189, 457, 457,
1283 457, 457, 457, 457, 460, 457, 457, 457, 457, 457,
1284 457, 225, 219, 213, 214, 189, 214, 213, 213, 213,
1285 213, 213, 213, 213, 215, 213, 213, 213, 537, 213,
1286 217, 213, 218, 213, 221, 189, 221, 221, 189, 221,
1288 548, 492, 189, 189, 189, 189, 189, 189, 545, 2220,
1289 223, 546, 549, 223, 540, 780, 213, 213, 226, 999,
1290 461, 226, 221, 189, 221, 221, 189, 221, 221, 189,
1291 221, 221, 189, 221, 541, 2220, 460, 510, 224, 219,
1292 492, 224, 484, 621, 227, 479, 537, 227, 228, 229,
1293 189, 229, 228, 228, 228, 228, 228, 228, 228, 230,
1294 228, 228, 228, 2220, 228, 232, 228, 233, 228, 250,
1295 189, 250, 486, 487, 250, 189, 250, 660, 189, 189,
1296 189, 1606, 202, 203, 491, 251, 478, 204, 202, 203,
1297 251, 228, 228, 204, 252, 492, 570, 237, 627, 234,
1299 492, 628, 235, 237, 457, 457, 457, 571, 236, 228,
1300 229, 189, 229, 228, 228, 228, 228, 228, 228, 228,
1301 230, 228, 228, 228, 238, 228, 232, 228, 233, 228,
1302 238, 189, 189, 189, 250, 189, 250, 576, 250, 189,
1303 250, 250, 189, 250, 577, 461, 461, 252, 498, 461,
1304 251, 461, 228, 228, 251, 499, 516, 253, 1142, 572,
1305 234, 460, 460, 235, 460, 460, 466, 460, 572, 236,
1306 239, 240, 189, 240, 239, 239, 239, 239, 239, 239,
1307 239, 241, 239, 239, 239, 487, 239, 243, 239, 244,
1308 239, 250, 189, 250, 264, 189, 264, 1399, 584, 264,
1310 189, 264, 275, 189, 275, 585, 467, 253, 510, 461,
1311 265, 479, 468, 239, 239, 265, 469, 492, 276, 647,
1312 640, 470, 245, 641, 246, 460, 528, 247, 457, 457,
1313 457, 586, 648, 248, 239, 240, 189, 240, 239, 239,
1314 239, 239, 239, 239, 239, 241, 239, 239, 239, 647,
1315 239, 243, 239, 244, 239, 275, 189, 275, 275, 189,
1316 275, 780, 688, 275, 189, 275, 189, 189, 189, 640,
1317 1607, 276, 650, 461, 277, 782, 482, 239, 239, 277,
1318 461, 597, 278, 457, 457, 457, 245, 550, 246, 460,
1319 897, 247, 457, 457, 457, 898, 460, 248, 254, 255,
1321 189, 255, 254, 254, 254, 254, 254, 254, 254, 256,
1322 254, 254, 254, 487, 254, 258, 254, 259, 254, 189,
1323 189, 189, 275, 189, 275, 1017, 482, 275, 189, 275,
1324 275, 189, 275, 652, 647, 278, 650, 1018, 279, 461,
1325 488, 254, 254, 279, 461, 461, 280, 690, 260, 457,
1326 457, 457, 489, 261, 1608, 460, 490, 457, 457, 457,
1327 460, 460, 262, 254, 255, 189, 255, 254, 254, 254,
1328 254, 254, 254, 254, 256, 254, 254, 254, 647, 254,
1329 258, 254, 259, 254, 275, 189, 275, 189, 189, 189,
1330 1026, 691, 189, 189, 189, 275, 189, 275, 693, 773,
1332 280, 694, 1018, 281, 780, 1611, 254, 254, 281, 461,
1333 461, 277, 648, 260, 457, 457, 457, 559, 261, 457,
1334 457, 457, 1139, 1142, 2220, 460, 460, 262, 266, 267,
1335 189, 267, 266, 266, 266, 266, 266, 266, 266, 268,
1336 266, 266, 266, 1026, 266, 270, 266, 271, 266, 275,
1337 189, 275, 189, 189, 189, 1043, 1431, 189, 189, 189,
1338 275, 189, 275, 1432, 461, 277, 524, 1599, 282, 525,
1339 1612, 266, 266, 282, 780, 529, 280, 457, 457, 457,
1340 460, 578, 272, 457, 457, 457, 457, 457, 457, 1398,
1341 273, 266, 267, 189, 267, 266, 266, 266, 266, 266,
1343 266, 266, 268, 266, 266, 266, 780, 266, 270, 266,
1344 271, 266, 275, 189, 275, 275, 189, 275, 1142, 1613,
1345 275, 189, 275, 189, 189, 189, 579, 461, 280, 1267,
1346 492, 283, 1142, 1614, 266, 266, 283, 1615, 461, 284,
1347 189, 189, 189, 460, 461, 272, 275, 189, 275, 275,
1348 189, 275, 1142, 273, 460, 1616, 284, 189, 189, 189,
1349 460, 1510, 285, 1400, 461, 285, 189, 189, 189, 275,
1350 189, 275, 1617, 286, 275, 189, 275, 275, 189, 275,
1351 460, 1509, 286, 1554, 461, 283, 275, 189, 275, 1555,
1352 283, 564, 1618, 287, 457, 457, 457, 457, 457, 457,
1354 460, 1142, 287, 288, 289, 189, 289, 288, 288, 288,
1355 288, 288, 288, 288, 290, 288, 288, 288, 1619, 288,
1356 292, 288, 293, 288, 300, 189, 300, 300, 189, 300,
1357 1620, 1621, 189, 189, 189, 1436, 189, 189, 189, 1623,
1358 301, 1598, 1437, 301, 644, 461, 288, 288, 252, 294,
1359 645, 295, 252, 457, 457, 457, 646, 296, 457, 457,
1360 457, 460, 1624, 297, 1625, 1626, 298, 288, 289, 189,
1361 289, 288, 288, 288, 288, 288, 288, 288, 290, 288,
1362 288, 288, 1627, 288, 292, 288, 293, 288, 300, 189,
1363 300, 300, 189, 300, 1628, 1629, 300, 189, 300, 1556,
1365 300, 189, 300, 1630, 301, 1557, 1631, 301, 653, 461,
1366 288, 288, 302, 294, 645, 295, 302, 457, 457, 457,
1367 646, 296, 457, 457, 457, 460, 1632, 297, 1635, 1636,
1368 298, 303, 304, 189, 304, 303, 303, 303, 303, 303,
1369 303, 303, 305, 303, 303, 303, 306, 303, 307, 303,
1370 308, 303, 306, 306, 306, 306, 306, 306, 306, 306,
1371 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1372 306, 306, 306, 306, 303, 303, 306, 306, 309, 310,
1373 306, 306, 306, 306, 306, 311, 306, 312, 306, 306,
1374 306, 313, 306, 314, 315, 306, 306, 306, 306, 306,
1376 306, 317, 189, 317, 317, 189, 317, 457, 457, 457,
1377 457, 457, 457, 457, 457, 457, 1637, 318, 1641, 1642,
1378 318, 319, 320, 189, 320, 319, 319, 319, 319, 319,
1379 319, 319, 321, 319, 319, 319, 1643, 319, 323, 319,
1380 324, 319, 332, 189, 332, 332, 189, 332, 1644, 1645,
1381 343, 189, 343, 1576, 343, 189, 343, 1578, 333, 1577,
1382 461, 333, 1646, 1579, 319, 319, 344, 591, 325, 326,
1383 344, 457, 457, 457, 1647, 327, 460, 328, 457, 457,
1384 457, 329, 604, 1648, 330, 319, 320, 189, 320, 319,
1385 319, 319, 319, 319, 319, 319, 321, 319, 319, 319,
1387 1650, 319, 323, 319, 324, 319, 356, 189, 356, 356,
1388 189, 356, 1662, 1672, 189, 189, 189, 605, 189, 189,
1389 189, 1673, 357, 1674, 1675, 357, 1679, 1680, 319, 319,
1390 252, 510, 325, 326, 252, 457, 457, 457, 1681, 327,
1391 1682, 328, 457, 457, 457, 329, 1142, 1683, 330, 334,
1392 335, 189, 335, 334, 334, 334, 334, 334, 334, 334,
1393 336, 334, 334, 334, 1684, 334, 338, 334, 339, 334,
1394 356, 189, 356, 356, 189, 356, 1668, 1685, 356, 189,
1395 356, 1686, 356, 189, 356, 1687, 357, 1688, 1689, 357,
1396 644, 1691, 334, 334, 358, 1692, 645, 340, 358, 457,
1398 457, 457, 655, 341, 334, 335, 189, 335, 334, 334,
1399 334, 334, 334, 334, 334, 336, 334, 334, 334, 1693,
1400 334, 338, 334, 339, 334, 368, 189, 368, 368, 189,
1401 368, 1694, 1695, 189, 189, 189, 1698, 189, 189, 189,
1402 1699, 369, 1700, 1701, 369, 653, 1702, 334, 334, 370,
1403 1706, 645, 340, 370, 457, 457, 457, 655, 341, 345,
1404 346, 189, 346, 345, 345, 345, 345, 345, 345, 345,
1405 347, 345, 345, 345, 1707, 345, 349, 345, 350, 345,
1406 368, 189, 368, 368, 189, 368, 1708, 1709, 368, 189,
1407 368, 368, 189, 368, 1710, 1713, 369, 1714, 461, 369,
1409 1731, 780, 345, 345, 371, 609, 351, 371, 457, 457,
1410 457, 1142, 1732, 352, 460, 353, 457, 457, 457, 457,
1411 457, 457, 354, 345, 346, 189, 346, 345, 345, 345,
1412 345, 345, 345, 345, 347, 345, 345, 345, 1728, 345,
1413 349, 345, 350, 345, 382, 189, 382, 382, 189, 382,
1414 1733, 1730, 189, 189, 189, 189, 189, 189, 1740, 1741,
1415 383, 1742, 461, 383, 1736, 1738, 345, 345, 370, 619,
1416 351, 370, 457, 457, 457, 1737, 1739, 352, 460, 353,
1417 457, 457, 457, 457, 457, 457, 354, 359, 360, 189,
1418 360, 359, 359, 359, 359, 359, 359, 359, 361, 359,
1420 359, 359, 1743, 359, 363, 359, 364, 359, 382, 189,
1421 382, 382, 189, 382, 1142, 1744, 382, 189, 382, 382,
1422 189, 382, 653, 1745, 383, 1746, 1747, 383, 645, 1748,
1423 359, 359, 384, 1749, 673, 384, 365, 457, 457, 457,
1424 1750, 625, 625, 625, 625, 625, 625, 1752, 784, 1669,
1425 366, 359, 360, 189, 360, 359, 359, 359, 359, 359,
1426 359, 359, 361, 359, 359, 359, 1753, 359, 363, 359,
1427 364, 359, 394, 189, 394, 394, 189, 394, 1142, 1759,
1428 406, 189, 406, 406, 189, 406, 1760, 1763, 395, 1766,
1429 1767, 395, 1768, 1790, 359, 359, 407, 626, 1791, 407,
1431 365, 797, 797, 797, 812, 812, 812, 797, 797, 797,
1432 797, 797, 797, 1729, 366, 372, 373, 189, 373, 372,
1433 372, 372, 372, 372, 372, 372, 374, 372, 372, 372,
1434 1795, 372, 376, 372, 377, 372, 189, 189, 189, 189,
1435 189, 189, 1776, 1796, 406, 189, 406, 406, 189, 406,
1436 1777, 1797, 370, 1798, 1799, 370, 1778, 876, 372, 372,
1437 407, 1800, 798, 407, 378, 798, 877, 379, 818, 818,
1438 818, 857, 819, 878, 1801, 820, 1142, 1802, 380, 372,
1439 373, 189, 373, 372, 372, 372, 372, 372, 372, 372,
1440 374, 372, 372, 372, 780, 372, 376, 372, 377, 372,
1442 406, 189, 406, 406, 189, 406, 1779, 1803, 420, 189,
1443 420, 420, 189, 420, 1780, 1787, 408, 1804, 1805, 408,
1444 1781, 1786, 372, 372, 421, 1806, 1807, 421, 378, 1816,
1445 1817, 379, 828, 828, 828, 1821, 829, 1825, 1828, 830,
1446 1142, 1835, 380, 385, 386, 189, 386, 385, 385, 385,
1447 385, 385, 385, 385, 387, 385, 385, 385, 1836, 385,
1448 389, 385, 390, 385, 189, 189, 189, 189, 189, 189,
1449 1837, 1838, 420, 189, 420, 420, 189, 420, 1839, 1788,
1450 422, 1840, 1846, 422, 1847, 1848, 385, 385, 421, 780,
1451 1849, 421, 391, 812, 812, 812, 1850, 392, 385, 386,
1453 189, 386, 385, 385, 385, 385, 385, 385, 385, 387,
1454 385, 385, 385, 1851, 385, 389, 385, 390, 385, 420,
1455 189, 420, 420, 189, 420, 1854, 1855, 432, 189, 432,
1456 432, 189, 432, 1856, 1842, 423, 1857, 1858, 423, 1859,
1457 1860, 385, 385, 433, 1861, 1866, 433, 391, 812, 812,
1458 812, 1867, 392, 396, 397, 189, 397, 396, 396, 396,
1459 396, 396, 396, 396, 398, 396, 396, 396, 1868, 396,
1460 400, 396, 401, 396, 442, 189, 442, 442, 189, 442,
1461 1869, 1142, 189, 189, 189, 189, 189, 189, 1870, 1874,
1462 443, 1883, 1884, 443, 1875, 1885, 396, 396, 252, 1886,
1464 1887, 252, 402, 1888, 1876, 403, 849, 849, 849, 857,
1465 850, 1899, 780, 851, 1843, 1900, 404, 396, 397, 189,
1466 397, 396, 396, 396, 396, 396, 396, 396, 398, 396,
1467 396, 396, 1901, 396, 400, 396, 401, 396, 442, 189,
1468 442, 442, 189, 442, 1891, 1877, 442, 189, 442, 442,
1469 189, 442, 1902, 1879, 444, 1878, 1906, 444, 1881, 1907,
1470 396, 396, 445, 1880, 1908, 445, 402, 1909, 1882, 403,
1471 867, 867, 867, 1910, 868, 613, 1911, 869, 1913, 1914,
1472 404, 409, 410, 189, 410, 409, 409, 409, 409, 409,
1473 409, 409, 411, 409, 409, 409, 1923, 409, 413, 409,
1475 414, 409, 455, 189, 455, 455, 189, 455, 1924, 1925,
1476 478, 657, 657, 657, 1926, 793, 793, 793, 456, 1927,
1477 1928, 456, 1929, 1930, 409, 409, 614, 1931, 658, 1932,
1478 521, 521, 415, 795, 416, 1933, 417, 1154, 1154, 1154,
1479 522, 527, 1934, 1941, 418, 409, 410, 189, 410, 409,
1480 409, 409, 409, 409, 409, 409, 411, 409, 409, 409,
1481 1942, 409, 413, 409, 414, 409, 523, 523, 488, 665,
1482 665, 665, 524, 1943, 1944, 525, 679, 679, 679, 1945,
1483 492, 526, 695, 695, 695, 1946, 666, 1947, 409, 409,
1484 702, 702, 702, 680, 1948, 1949, 415, 1950, 416, 696,
1486 417, 1953, 1155, 1155, 1155, 1954, 1967, 703, 418, 424,
1487 425, 189, 425, 424, 424, 424, 424, 424, 424, 424,
1488 426, 424, 424, 424, 780, 424, 428, 424, 429, 424,
1489 705, 705, 705, 717, 717, 717, 1968, 725, 725, 725,
1490 730, 730, 730, 750, 750, 750, 1156, 706, 1969, 1970,
1491 718, 1971, 424, 424, 726, 1972, 1973, 731, 1974, 1975,
1492 751, 879, 879, 879, 1935, 880, 1976, 1977, 881, 1157,
1493 1157, 1157, 1160, 1160, 1160, 430, 424, 425, 189, 425,
1494 424, 424, 424, 424, 424, 424, 424, 426, 424, 424,
1495 424, 1978, 424, 428, 424, 429, 424, 769, 769, 769,
1497 774, 774, 774, 793, 793, 793, 657, 657, 657, 823,
1498 823, 823, 1986, 1987, 770, 1988, 1989, 775, 1990, 424,
1499 424, 795, 1981, 658, 665, 665, 665, 825, 883, 883,
1500 883, 1991, 884, 1984, 1992, 885, 1166, 1166, 1166, 1993,
1501 780, 666, 430, 434, 435, 189, 435, 434, 434, 434,
1502 434, 434, 434, 434, 436, 434, 434, 434, 796, 434,
1503 438, 434, 439, 434, 823, 823, 823, 831, 831, 831,
1504 2006, 834, 834, 834, 837, 837, 837, 837, 837, 837,
1505 1981, 2007, 825, 1979, 832, 2008, 434, 434, 835, 900,
1506 900, 900, 839, 901, 1982, 839, 902, 440, 434, 435,
1508 189, 435, 434, 434, 434, 434, 434, 434, 434, 436,
1509 434, 434, 434, 1994, 434, 438, 434, 439, 434, 845,
1510 845, 845, 840, 1995, 2009, 826, 845, 845, 845, 679,
1511 679, 679, 853, 853, 853, 1996, 2012, 847, 1181, 1181,
1512 1181, 434, 434, 2012, 847, 1997, 680, 1192, 1192, 1192,
1513 855, 2015, 440, 446, 447, 189, 447, 446, 446, 446,
1514 446, 446, 446, 446, 448, 446, 446, 446, 2016, 446,
1515 450, 446, 451, 446, 853, 853, 853, 695, 695, 695,
1516 872, 872, 872, 872, 872, 872, 1981, 848, 702, 702,
1517 702, 2023, 855, 2026, 696, 2027, 446, 446, 874, 2028,
1519 1982, 874, 1154, 1154, 1154, 703, 1998, 452, 2000, 856,
1520 912, 912, 912, 2029, 913, 2030, 1999, 914, 2001, 453,
1521 446, 447, 189, 447, 446, 446, 446, 446, 446, 446,
1522 446, 448, 446, 446, 446, 780, 446, 450, 446, 451,
1523 446, 875, 705, 705, 705, 886, 886, 886, 893, 893,
1524 893, 893, 893, 893, 717, 717, 717, 2002, 2033, 706,
1525 1299, 2036, 887, 446, 446, 1300, 895, 2003, 1301, 895,
1526 2012, 718, 1302, 2010, 452, 903, 903, 903, 907, 907,
1527 907, 2004, 1981, 907, 907, 907, 453, 461, 725, 725,
1528 725, 2005, 904, 1984, 476, 2038, 909, 915, 915, 915,
1530 2012, 909, 2039, 460, 477, 726, 896, 915, 915, 915,
1531 730, 730, 730, 2040, 1303, 917, 920, 920, 920, 1304,
1532 921, 2047, 1305, 922, 2048, 917, 1306, 731, 2049, 478,
1533 479, 480, 910, 926, 926, 926, 481, 1142, 1143, 482,
1534 926, 926, 926, 483, 2050, 484, 2051, 485, 935, 935,
1535 935, 928, 930, 930, 930, 932, 932, 932, 928, 2220,
1536 2220, 2220, 935, 935, 935, 918, 937, 2052, 2053, 931,
1537 2054, 2055, 933, 940, 940, 940, 2220, 2220, 2220, 2220,
1538 937, 944, 944, 944, 2220, 2220, 2220, 947, 947, 947,
1539 941, 2056, 2057, 929, 2220, 947, 947, 947, 945, 2058,
1541 2059, 2220, 750, 750, 750, 949, 2060, 952, 952, 952,
1542 2061, 953, 2021, 949, 954, 934, 955, 955, 955, 751,
1543 938, 959, 959, 959, 2062, 942, 955, 955, 955, 2022,
1544 950, 963, 963, 963, 957, 2220, 2220, 2220, 960, 943,
1545 946, 965, 965, 965, 957, 965, 965, 965, 964, 973,
1546 973, 973, 2220, 973, 973, 973, 979, 979, 979, 967,
1547 979, 979, 979, 967, 769, 769, 769, 975, 983, 983,
1548 983, 975, 984, 2064, 981, 985, 2024, 2069, 981, 958,
1549 2070, 770, 2031, 961, 986, 986, 986, 986, 986, 986,
1550 774, 774, 774, 2025, 991, 991, 991, 962, 992, 2032,
1552 2071, 993, 988, 2072, 2073, 988, 2074, 775, 995, 995,
1553 995, 2075, 2076, 968, 976, 995, 995, 995, 793, 793,
1554 793, 982, 793, 793, 793, 2065, 997, 2034, 793, 793,
1555 793, 2077, 2078, 997, 2079, 2066, 795, 1027, 1027, 1027,
1556 795, 2220, 2220, 2220, 2035, 989, 795, 2067, 818, 818,
1557 818, 2080, 819, 2081, 1028, 820, 2082, 2068, 2220, 823,
1558 823, 823, 823, 823, 823, 823, 823, 823, 828, 828,
1559 828, 2083, 829, 1007, 2084, 830, 998, 825, 2086, 2087,
1560 825, 2088, 780, 825, 831, 831, 831, 1033, 1033, 1033,
1561 2089, 1034, 2090, 2091, 1035, 1036, 1036, 1036, 2092, 1029,
1563 2093, 832, 834, 834, 834, 2085, 2094, 1038, 1038, 1038,
1564 1031, 1039, 1037, 2095, 1040, 837, 837, 837, 2096, 835,
1565 837, 837, 837, 837, 837, 837, 1045, 1045, 1045, 845,
1566 845, 845, 2097, 839, 845, 845, 845, 2098, 839, 2099,
1567 2100, 839, 2101, 1046, 845, 845, 845, 847, 2102, 849,
1568 849, 849, 847, 850, 2103, 2104, 851, 853, 853, 853,
1569 2105, 780, 847, 853, 853, 853, 1050, 1050, 1050, 1061,
1570 1061, 1061, 867, 867, 867, 855, 868, 2107, 2106, 869,
1571 1042, 855, 2108, 2109, 1051, 2110, 1062, 2111, 2112, 1048,
1572 872, 872, 872, 872, 872, 872, 872, 872, 872, 879,
1574 879, 879, 2113, 880, 2114, 2115, 881, 2116, 874, 2117,
1575 2118, 874, 2119, 2120, 874, 1069, 1069, 1069, 883, 883,
1576 883, 2121, 884, 2122, 2123, 885, 886, 886, 886, 1071,
1577 1071, 1071, 1070, 1072, 2124, 2125, 1073, 893, 893, 893,
1578 1155, 1155, 1155, 887, 893, 893, 893, 893, 893, 893,
1579 900, 900, 900, 2126, 901, 895, 780, 902, 1065, 903,
1580 903, 903, 895, 2128, 2129, 895, 1083, 1083, 1083, 2130,
1581 1084, 2131, 2132, 1085, 2127, 2133, 904, 907, 907, 907,
1582 907, 907, 907, 907, 907, 907, 912, 912, 912, 2134,
1583 913, 2135, 2136, 914, 2137, 909, 2138, 2139, 909, 2140,
1585 2141, 909, 915, 915, 915, 915, 915, 915, 915, 915,
1586 915, 1079, 920, 920, 920, 2142, 921, 2143, 2144, 922,
1587 917, 2145, 2146, 917, 2147, 780, 917, 926, 926, 926,
1588 2149, 2148, 1088, 926, 926, 926, 926, 926, 926, 930,
1589 930, 930, 1096, 1096, 1096, 928, 1097, 2150, 2151, 1098,
1590 2152, 928, 2153, 2154, 928, 2155, 931, 932, 932, 932,
1591 1099, 1099, 1099, 2156, 1100, 2157, 2158, 1101, 935, 935,
1592 935, 2159, 1090, 2160, 933, 2161, 935, 935, 935, 935,
1593 935, 935, 940, 940, 940, 2162, 937, 2164, 1105, 1105,
1594 1105, 2165, 1106, 1095, 937, 1107, 780, 937, 2166, 941,
1596 944, 944, 944, 1110, 1110, 1110, 2167, 1111, 2163, 2168,
1597 1112, 947, 947, 947, 947, 947, 947, 945, 947, 947,
1598 947, 952, 952, 952, 2169, 953, 2170, 2171, 954, 949,
1599 2172, 2173, 949, 955, 955, 955, 949, 955, 955, 955,
1600 955, 955, 955, 1103, 959, 959, 959, 963, 963, 963,
1601 2175, 957, 1117, 1117, 1117, 957, 1118, 2176, 957, 1119,
1602 2177, 960, 2178, 2179, 964, 1122, 1122, 1122, 2180, 1123,
1603 2181, 2182, 1124, 965, 965, 965, 965, 965, 965, 1114,
1604 965, 965, 965, 1127, 1127, 1127, 973, 973, 973, 2183,
1605 2184, 967, 2187, 2188, 967, 2189, 2190, 1116, 967, 2191,
1607 1128, 973, 973, 973, 975, 973, 973, 973, 979, 979,
1608 979, 979, 979, 979, 979, 979, 979, 2192, 2193, 975,
1609 983, 983, 983, 975, 984, 2194, 981, 985, 780, 981,
1610 1590, 780, 981, 986, 986, 986, 986, 986, 986, 1125,
1611 986, 986, 986, 991, 991, 991, 1585, 992, 780, 780,
1612 993, 988, 780, 1583, 988, 995, 995, 995, 988, 995,
1613 995, 995, 780, 1131, 2201, 1134, 995, 995, 995, 1141,
1614 1141, 1141, 2195, 997, 793, 793, 793, 997, 1027, 1027,
1615 1027, 823, 823, 823, 997, 2202, 2199, 1142, 1143, 1169,
1616 1169, 1169, 795, 1170, 2213, 1028, 1171, 1135, 780, 825,
1618 1033, 1033, 1033, 780, 1034, 780, 2196, 1035, 1036, 1036,
1619 1036, 1176, 1176, 1176, 780, 1177, 2217, 1582, 1178, 1038,
1620 1038, 1038, 1581, 1039, 1138, 1037, 1040, 780, 1174, 837,
1621 837, 837, 1045, 1045, 1045, 780, 2200, 1148, 1183, 1183,
1622 1183, 780, 1184, 780, 2207, 1185, 2203, 839, 2204, 1046,
1623 1186, 1186, 1186, 845, 845, 845, 1050, 1050, 1050, 1193,
1624 1193, 1193, 1061, 1061, 1061, 2208, 1580, 1187, 1199, 1199,
1625 1199, 847, 1200, 780, 1051, 1201, 2197, 1180, 2198, 1062,
1626 1202, 1202, 1202, 1575, 1204, 1204, 1204, 872, 872, 872,
1627 1208, 1208, 1208, 2220, 2220, 2220, 780, 1203, 1574, 1570,
1629 1188, 1205, 2209, 1156, 1567, 874, 780, 1209, 2205, 780,
1630 2220, 780, 2220, 2220, 2220, 1069, 1069, 1069, 1212, 1212,
1631 1212, 2210, 1213, 1566, 2217, 1214, 1565, 1563, 1206, 2220,
1632 780, 2206, 1070, 1071, 1071, 1071, 2211, 1072, 780, 2212,
1633 1073, 1215, 1215, 1215, 2220, 2220, 2220, 2220, 2220, 2220,
1634 1207, 2220, 2220, 2220, 780, 1559, 1210, 1211, 1216, 1558,
1635 780, 2220, 1553, 1552, 2220, 2220, 2220, 2220, 2220, 893,
1636 893, 893, 1222, 1222, 1222, 1551, 2220, 2220, 2220, 907,
1637 907, 907, 2220, 2220, 2220, 2220, 1545, 895, 1544, 1223,
1638 2215, 780, 1218, 2220, 1083, 1083, 1083, 909, 1084, 2214,
1640 2220, 1085, 1226, 1226, 1226, 2220, 2220, 2220, 1219, 1543,
1641 1542, 1217, 915, 915, 915, 1541, 1235, 1235, 1235, 1227,
1642 1540, 2216, 2220, 926, 926, 926, 1539, 935, 935, 935,
1643 917, 1221, 1220, 1236, 1538, 1537, 1225, 1536, 1530, 1224,
1644 1229, 928, 1096, 1096, 1096, 937, 1097, 1529, 1528, 1098,
1645 1099, 1099, 1099, 1527, 1100, 1525, 1523, 1101, 1521, 1520,
1646 1237, 1518, 1228, 1155, 1155, 1155, 1105, 1105, 1105, 1517,
1647 1106, 1511, 1504, 1107, 1502, 1231, 1501, 1238, 1110, 1110,
1648 1110, 1500, 1111, 1491, 1489, 1112, 947, 947, 947, 1482,
1649 1240, 955, 955, 955, 1117, 1117, 1117, 1479, 1118, 1478,
1651 1477, 1119, 1476, 1475, 949, 1471, 1469, 1241, 1468, 957,
1652 1122, 1122, 1122, 1467, 1123, 1459, 1453, 1124, 965, 965,
1653 965, 1127, 1127, 1127, 1252, 1252, 1252, 1449, 1253, 1448,
1654 1447, 1254, 973, 973, 973, 1446, 967, 1445, 1128, 1259,
1655 1259, 1259, 1443, 1442, 1245, 1247, 979, 979, 979, 1438,
1656 975, 986, 986, 986, 1435, 1434, 1260, 1264, 1264, 1264,
1657 995, 995, 995, 1250, 981, 1141, 1141, 1141, 1433, 988,
1658 793, 793, 793, 1430, 1265, 1157, 1157, 1157, 997, 1257,
1659 1160, 1160, 1160, 1142, 1283, 1283, 1283, 1429, 795, 1285,
1660 1285, 1285, 1166, 1166, 1166, 1289, 1289, 1289, 1169, 1169,
1662 1169, 1262, 1170, 1425, 1424, 1171, 823, 823, 823, 1421,
1663 1261, 1176, 1176, 1176, 1268, 1177, 1420, 1419, 1178, 1266,
1664 1273, 1181, 1181, 1181, 825, 837, 837, 837, 1418, 1417,
1665 1269, 1415, 1412, 1286, 1183, 1183, 1183, 1411, 1184, 1290,
1666 1410, 1185, 1408, 839, 1407, 1284, 1186, 1186, 1186, 1307,
1667 1307, 1307, 1406, 1308, 1405, 1294, 1309, 845, 845, 845,
1668 1192, 1192, 1192, 1187, 1193, 1193, 1193, 1314, 1314, 1314,
1669 1314, 1314, 1314, 1401, 1392, 847, 1283, 1283, 1283, 1386,
1670 1199, 1199, 1199, 1297, 1200, 1384, 1383, 1201, 1202, 1202,
1671 1202, 1318, 1318, 1318, 1382, 1319, 1375, 1368, 1320, 1204,
1673 1204, 1204, 1325, 1325, 1325, 1203, 1310, 1321, 1321, 1321,
1674 1366, 1322, 1363, 1359, 1323, 1358, 1205, 1208, 1208, 1208,
1675 1326, 1357, 1327, 1327, 1327, 1355, 1328, 1324, 1315, 1329,
1676 1317, 1284, 1316, 1313, 1209, 1312, 1311, 1315, 1330, 1330,
1677 1330, 2220, 2220, 2220, 1212, 1212, 1212, 1298, 1213, 1296,
1678 1295, 1214, 1215, 1215, 1215, 1331, 1293, 1292, 2220, 1333,
1679 1333, 1333, 1291, 1334, 1288, 1287, 1335, 1282, 1281, 1216,
1680 1336, 1336, 1336, 2220, 2220, 2220, 2220, 2220, 2220, 1340,
1681 1340, 1340, 893, 893, 893, 1280, 1279, 1337, 1278, 1277,
1682 2220, 1276, 1275, 2220, 1274, 1272, 1341, 1222, 1222, 1222,
1684 895, 1271, 1332, 1343, 1343, 1343, 1270, 1344, 1142, 1263,
1685 1345, 1409, 1409, 1409, 1223, 1346, 1346, 1346, 2220, 2220,
1686 2220, 1226, 1226, 1226, 1353, 1353, 1353, 1339, 1338, 1349,
1687 1349, 1349, 1347, 1350, 1258, 2220, 1351, 1256, 1227, 2220,
1688 2220, 2220, 1354, 1255, 1251, 1342, 915, 915, 915, 1235,
1689 1235, 1235, 1249, 1360, 1360, 1360, 2220, 1361, 1248, 1246,
1690 1362, 1364, 1364, 1364, 917, 1244, 1236, 935, 935, 935,
1691 1369, 1369, 1369, 1243, 1242, 1348, 1371, 1371, 1371, 1365,
1692 2220, 2220, 2220, 1239, 1234, 937, 1233, 1370, 1232, 1230,
1693 1352, 1198, 1197, 1372, 1196, 1356, 1195, 2220, 1194, 947,
1695 947, 947, 955, 955, 955, 1377, 1377, 1377, 1379, 1379,
1696 1379, 965, 965, 965, 1191, 1190, 1367, 949, 1189, 1182,
1697 957, 1179, 1378, 1175, 1173, 1380, 1252, 1252, 1252, 967,
1698 1253, 1172, 1168, 1254, 973, 973, 973, 1259, 1259, 1259,
1699 1167, 1373, 1165, 1387, 1387, 1387, 1376, 1388, 1164, 1163,
1700 1389, 1162, 975, 1161, 1260, 1159, 979, 979, 979, 1158,
1701 986, 986, 986, 1374, 1264, 1264, 1264, 1153, 1393, 1393,
1702 1393, 1152, 1394, 1381, 981, 1395, 1151, 1150, 988, 1149,
1703 1147, 1265, 1146, 1385, 1396, 1396, 1396, 1402, 1402, 1402,
1704 793, 793, 793, 1413, 1413, 1413, 1283, 1283, 1283, 1414,
1706 1414, 1414, 1397, 1145, 1403, 1285, 1285, 1285, 795, 1416,
1707 1416, 1416, 1390, 1391, 1289, 1289, 1289, 1422, 1422, 1422,
1708 837, 837, 837, 1427, 1427, 1427, 1307, 1307, 1307, 1144,
1709 1308, 1137, 1136, 1309, 1133, 1423, 1132, 1130, 839, 1129,
1710 1428, 845, 845, 845, 1440, 1440, 1440, 1126, 1404, 1314,
1711 1314, 1314, 1444, 1444, 1444, 1121, 1318, 1318, 1318, 847,
1712 1319, 1441, 1120, 1320, 1321, 1321, 1321, 1115, 1322, 1113,
1713 1109, 1323, 1325, 1325, 1325, 1108, 1426, 1327, 1327, 1327,
1714 1104, 1328, 1102, 1094, 1329, 1439, 1330, 1330, 1330, 1093,
1715 1326, 1450, 1450, 1450, 1092, 1451, 1091, 1089, 1452, 1087,
1717 1333, 1333, 1333, 1331, 1334, 1086, 1082, 1335, 1336, 1336,
1718 1336, 1454, 1454, 1454, 1081, 1455, 1080, 1078, 1456, 1457,
1719 1457, 1457, 1340, 1340, 1340, 1337, 1460, 1460, 1460, 1077,
1720 1461, 1076, 1075, 1462, 1074, 1068, 1458, 1067, 1066, 1341,
1721 893, 893, 893, 1343, 1343, 1343, 1064, 1344, 1063, 1060,
1722 1345, 1346, 1346, 1346, 1059, 1464, 1464, 1464, 895, 1465,
1723 1058, 1057, 1466, 1349, 1349, 1349, 1056, 1350, 1347, 1055,
1724 1351, 1054, 1353, 1353, 1353, 915, 915, 915, 1472, 1472,
1725 1472, 1360, 1360, 1360, 1053, 1361, 1052, 1049, 1362, 1463,
1726 1354, 1047, 1044, 917, 1041, 1473, 1364, 1364, 1364, 1480,
1728 1480, 1480, 1369, 1369, 1369, 1483, 1483, 1483, 1032, 1484,
1729 1030, 1025, 1485, 1024, 1365, 1023, 1022, 1481, 1021, 1370,
1730 1020, 1019, 1474, 1371, 1371, 1371, 1486, 1486, 1486, 1016,
1731 1487, 1015, 1014, 1488, 1013, 1012, 1470, 947, 947, 947,
1732 1372, 955, 955, 955, 1377, 1377, 1377, 1493, 1493, 1493,
1733 1011, 1494, 1010, 1009, 1495, 949, 1379, 1379, 1379, 957,
1734 1008, 1378, 1496, 1496, 1496, 1006, 1497, 1005, 1004, 1498,
1735 1507, 1507, 1507, 1380, 965, 965, 965, 973, 973, 973,
1736 1387, 1387, 1387, 1003, 1388, 1002, 1001, 1389, 1492, 979,
1737 979, 979, 967, 1000, 780, 975, 986, 986, 986, 994,
1739 1490, 1393, 1393, 1393, 990, 1394, 978, 981, 1395, 1396,
1740 1396, 1396, 977, 972, 988, 1402, 1402, 1402, 1512, 1512,
1741 1512, 971, 1513, 970, 969, 1514, 951, 1397, 793, 793,
1742 793, 939, 1403, 1516, 1516, 1516, 1499, 925, 1505, 1503,
1743 1519, 1519, 1519, 1409, 1409, 1409, 795, 1506, 1522, 1522,
1744 1522, 1413, 1413, 1413, 1414, 1414, 1414, 1416, 1416, 1416,
1745 1524, 1524, 1524, 1526, 1526, 1526, 1422, 1422, 1422, 1531,
1746 1531, 1531, 924, 1427, 1427, 1427, 1533, 1533, 1533, 923,
1747 1534, 919, 911, 1535, 1423, 906, 905, 1532, 899, 1515,
1748 1428, 845, 845, 845, 1440, 1440, 1440, 1547, 1547, 1547,
1750 892, 1548, 891, 890, 1549, 1550, 1550, 1550, 889, 847,
1751 888, 1441, 1444, 1444, 1444, 1450, 1450, 1450, 882, 1451,
1752 871, 870, 1452, 1454, 1454, 1454, 866, 1455, 865, 864,
1753 1456, 1457, 1457, 1457, 863, 1560, 1560, 1560, 1546, 1561,
1754 862, 861, 1562, 1460, 1460, 1460, 860, 1461, 1458, 859,
1755 1462, 893, 893, 893, 1464, 1464, 1464, 858, 1465, 852,
1756 844, 1466, 1568, 1568, 1568, 1472, 1472, 1472, 843, 895,
1757 1571, 1571, 1571, 842, 1572, 841, 836, 1573, 833, 827,
1758 1569, 822, 1473, 1480, 1480, 1480, 1483, 1483, 1483, 821,
1759 1484, 817, 816, 1485, 815, 1486, 1486, 1486, 814, 1487,
1761 813, 1481, 1488, 947, 947, 947, 955, 955, 955, 1493,
1762 1493, 1493, 1564, 1494, 811, 810, 1495, 809, 1496, 1496,
1763 1496, 949, 1497, 808, 957, 1498, 965, 965, 965, 1588,
1764 1588, 1588, 973, 973, 973, 979, 979, 979, 1595, 1595,
1765 1595, 1507, 1507, 1507, 967, 807, 1589, 1597, 1597, 1597,
1766 975, 806, 1584, 981, 805, 804, 1596, 1600, 1600, 1600,
1767 1587, 793, 793, 793, 803, 780, 1512, 1512, 1512, 1586,
1768 1513, 802, 801, 1514, 1516, 1516, 1516, 800, 799, 795,
1769 1602, 1602, 1602, 1519, 1519, 1519, 1604, 1604, 1604, 1605,
1770 1605, 1605, 1594, 792, 1592, 1522, 1522, 1522, 1524, 1524,
1772 1524, 1526, 1526, 1526, 1609, 1609, 1609, 1531, 1531, 1531,
1773 791, 1533, 1533, 1533, 790, 1534, 789, 1601, 1535, 788,
1774 787, 1610, 845, 845, 845, 1532, 1547, 1547, 1547, 786,
1775 1548, 783, 781, 1549, 1550, 1550, 1550, 1560, 1560, 1560,
1776 847, 1561, 780, 778, 1562, 1633, 1633, 1633, 1568, 1568,
1777 1568, 1638, 1638, 1638, 1571, 1571, 1571, 776, 1572, 772,
1778 768, 1573, 766, 1634, 765, 764, 1569, 762, 1639, 1649,
1779 1649, 1649, 1651, 1651, 1651, 1653, 1653, 1653, 761, 760,
1780 1622, 955, 955, 955, 965, 965, 965, 1588, 1588, 1588,
1781 1652, 759, 1654, 758, 756, 1640, 1657, 1657, 1657, 957,
1783 1658, 755, 967, 1659, 1589, 1660, 1660, 1660, 1663, 1663,
1784 1663, 1665, 1665, 1665, 979, 979, 979, 1595, 1595, 1595,
1785 754, 753, 1661, 1597, 1597, 1597, 1664, 1600, 1600, 1600,
1786 749, 748, 981, 746, 745, 1596, 744, 743, 1655, 742,
1787 741, 780, 1656, 1670, 1670, 1670, 1602, 1602, 1602, 1604,
1788 1604, 1604, 1605, 1605, 1605, 1609, 1609, 1609, 1676, 1676,
1789 1676, 1671, 1677, 739, 738, 1678, 845, 845, 845, 1696,
1790 1696, 1696, 1610, 1633, 1633, 1633, 737, 1666, 1638, 1638,
1791 1638, 736, 1667, 734, 847, 733, 1697, 1711, 1711, 1711,
1792 732, 1634, 1703, 1703, 1703, 1639, 1704, 729, 728, 1705,
1794 1649, 1649, 1649, 724, 1712, 723, 1651, 1651, 1651, 1653,
1795 1653, 1653, 1715, 1715, 1715, 721, 1716, 720, 719, 1717,
1796 1718, 1718, 1718, 1690, 1652, 716, 1654, 965, 965, 965,
1797 1657, 1657, 1657, 715, 1658, 714, 712, 1659, 1719, 1660,
1798 1660, 1660, 1721, 1721, 1721, 967, 1722, 711, 710, 1723,
1799 1724, 1724, 1724, 1663, 1663, 1663, 1661, 1665, 1665, 1665,
1800 1726, 1726, 1726, 1670, 1670, 1670, 709, 1725, 1734, 1734,
1801 1734, 1664, 1676, 1676, 1676, 708, 1677, 707, 1727, 1678,
1802 704, 1671, 845, 845, 845, 1735, 1754, 1754, 1754, 701,
1803 700, 1720, 1696, 1696, 1696, 1756, 1756, 1756, 698, 1757,
1805 847, 697, 1758, 1755, 1761, 1761, 1761, 692, 689, 1697,
1806 1764, 1764, 1764, 1703, 1703, 1703, 687, 1704, 686, 685,
1807 1705, 1762, 684, 1711, 1711, 1711, 683, 1765, 1769, 1769,
1808 1769, 681, 1770, 678, 676, 1771, 1772, 1772, 1772, 1751,
1809 1712, 1774, 1774, 1774, 1715, 1715, 1715, 675, 1716, 674,
1810 672, 1717, 670, 1773, 1718, 1718, 1718, 669, 1775, 965,
1811 965, 965, 1721, 1721, 1721, 668, 1722, 667, 664, 1723,
1812 663, 662, 1719, 1724, 1724, 1724, 659, 967, 1783, 1783,
1813 1783, 656, 1784, 654, 651, 1785, 1726, 1726, 1726, 649,
1814 1725, 1789, 1789, 1789, 1734, 1734, 1734, 643, 1792, 1792,
1816 1792, 642, 1793, 639, 1727, 1794, 845, 845, 845, 638,
1817 637, 1735, 1809, 1809, 1809, 1810, 1810, 1810, 1754, 1754,
1818 1754, 636, 1782, 634, 847, 633, 1813, 1813, 1813, 632,
1819 1814, 631, 1811, 1815, 630, 1755, 1756, 1756, 1756, 629,
1820 1757, 624, 621, 1758, 1761, 1761, 1761, 1818, 1818, 1818,
1821 623, 1819, 618, 617, 1820, 1808, 1764, 1764, 1764, 1812,
1822 615, 1762, 1822, 1822, 1822, 484, 1823, 612, 610, 1824,
1823 1826, 1826, 1826, 1765, 1769, 1769, 1769, 608, 1770, 606,
1824 2220, 1771, 1772, 1772, 1772, 603, 602, 1827, 1829, 1829,
1825 1829, 601, 1830, 600, 598, 1831, 1774, 1774, 1774, 1773,
1827 1832, 1832, 1832, 597, 1833, 596, 595, 1834, 965, 965,
1828 965, 594, 592, 1775, 1783, 1783, 1783, 590, 1784, 589,
1829 587, 1785, 1844, 1844, 1844, 586, 967, 1789, 1789, 1789,
1830 1792, 1792, 1792, 583, 1793, 582, 580, 1794, 482, 1845,
1831 1142, 1852, 1852, 1852, 845, 845, 845, 1809, 1809, 1809,
1832 1810, 1810, 1810, 2220, 1826, 1826, 1826, 1841, 1853, 1863,
1833 1863, 1863, 847, 1864, 575, 573, 1865, 1811, 1813, 1813,
1834 1813, 1827, 1814, 569, 568, 1815, 1818, 1818, 1818, 567,
1835 1819, 565, 563, 1820, 562, 1822, 1822, 1822, 560, 1823,
1836 558, 1862, 1824, 1871, 1871, 1871, 557, 1872, 556, 555,
1838 1873, 1829, 1829, 1829, 554, 1830, 553, 551, 1831, 1832,
1839 1832, 1832, 547, 1833, 544, 543, 1834, 1889, 1889, 1889,
1840 1892, 1892, 1892, 1844, 1844, 1844, 1894, 1894, 1894, 542,
1841 1895, 538, 536, 1896, 535, 1890, 534, 1893, 1142, 533,
1842 1845, 1142, 532, 530, 1142, 1897, 1897, 1897, 1898, 1898,
1843 1898, 1852, 1852, 1852, 1903, 1903, 1903, 2220, 1904, 487,
1844 525, 1905, 845, 845, 845, 1863, 1863, 1863, 1853, 1864,
1845 520, 519, 1865, 1915, 1915, 1915, 1917, 1917, 1917, 517,
1846 847, 1919, 1919, 1919, 1871, 1871, 1871, 515, 1872, 514,
1847 1916, 1873, 513, 1918, 1921, 1921, 1921, 511, 1920, 1889,
1849 1889, 1889, 1892, 1892, 1892, 1936, 1936, 1936, 508, 1937,
1850 504, 1922, 1938, 503, 1894, 1894, 1894, 1890, 1895, 1893,
1851 1142, 1896, 501, 1142, 500, 1912, 1897, 1897, 1897, 1898,
1852 1898, 1898, 1142, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
1853 1140, 1140, 497, 496, 1140, 1951, 1951, 1951, 495, 1140,
1854 1140, 1140, 1142, 1140, 1903, 1903, 1903, 493, 1904, 492,
1855 2220, 1905, 486, 1952, 475, 473, 471, 465, 464, 465,
1856 1915, 1915, 1915, 1917, 1917, 1917, 1140, 1140, 1140, 1140,
1857 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1916, 464, 1140,
1858 1918, 463, 462, 2220, 1140, 1140, 1140, 1142, 1140, 1955,
1860 1955, 1955, 2220, 1956, 2220, 2220, 1957, 1958, 1958, 1958,
1861 2220, 1959, 2220, 2220, 1960, 1919, 1919, 1919, 1921, 1921,
1862 1921, 1140, 1140, 1961, 1961, 1961, 2220, 1962, 2220, 2220,
1863 1963, 2220, 1920, 2220, 2220, 1922, 1964, 1964, 1964, 2220,
1864 1965, 2220, 2220, 1966, 1936, 1936, 1936, 2220, 1937, 2220,
1865 2220, 1938, 2220, 2220, 1951, 1951, 1951, 2014, 2014, 2014,
1866 2220, 2220, 1142, 1140, 1140, 1140, 1140, 1140, 1985, 1140,
1867 1140, 1140, 1952, 2220, 1140, 1142, 1143, 2220, 2220, 1140,
1868 1140, 1140, 1142, 1140, 1955, 1955, 1955, 2220, 1956, 2220,
1869 2220, 1957, 1958, 1958, 1958, 2220, 1959, 2220, 2220, 1960,
1871 2017, 2017, 2017, 2019, 2019, 2019, 1140, 1140, 1140, 1140,
1872 1140, 1140, 1140, 1140, 1140, 1140, 1985, 2018, 2220, 1140,
1873 2020, 2220, 2220, 2220, 1140, 1140, 1140, 1142, 1140, 1961,
1874 1961, 1961, 2220, 1962, 2220, 2220, 1963, 1964, 1964, 1964,
1875 2220, 1965, 2220, 2220, 1966, 2037, 2037, 2037, 2014, 2014,
1876 2014, 1140, 1140, 2017, 2017, 2017, 2220, 2041, 2041, 2041,
1877 2220, 2042, 2220, 780, 2043, 2220, 1142, 2019, 2019, 2019,
1878 2018, 2044, 2044, 2044, 2220, 2045, 2220, 2220, 2046, 2220,
1879 2037, 2037, 2037, 2220, 2020, 2041, 2041, 2041, 2220, 2042,
1880 2220, 2220, 2043, 2174, 2174, 2174, 2220, 1268, 780, 2044,
1882 2044, 2044, 2220, 2045, 2220, 2220, 2046, 2218, 2218, 2218,
1883 2220, 780, 2174, 2174, 2174, 2063, 2185, 2220, 2220, 2186,
1884 2218, 2218, 2218, 2220, 2220, 2219, 2220, 2220, 2220, 2220,
1885 780, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2219, 186,
1886 186, 186, 186, 186, 186, 186, 186, 186, 187, 187,
1887 187, 187, 187, 187, 187, 187, 187, 192, 192, 192,
1888 192, 192, 192, 192, 192, 192, 195, 195, 195, 195,
1889 195, 195, 195, 195, 195, 198, 198, 198, 198, 198,
1890 198, 198, 198, 198, 201, 201, 201, 201, 201, 201,
1891 201, 201, 201, 208, 208, 208, 208, 208, 208, 208,
1893 208, 208, 216, 216, 216, 216, 216, 216, 216, 216,
1894 216, 220, 220, 220, 220, 220, 220, 220, 220, 220,
1895 231, 231, 231, 231, 231, 231, 231, 231, 231, 242,
1896 242, 242, 242, 242, 242, 242, 242, 242, 249, 249,
1897 249, 249, 249, 249, 249, 249, 249, 257, 257, 257,
1898 257, 257, 257, 257, 257, 257, 263, 263, 263, 263,
1899 263, 263, 263, 263, 263, 269, 269, 269, 269, 269,
1900 269, 269, 269, 269, 274, 274, 274, 274, 274, 274,
1901 274, 274, 274, 291, 291, 291, 291, 291, 291, 291,
1902 291, 291, 299, 299, 299, 299, 299, 299, 299, 299,
1904 299, 316, 316, 316, 316, 316, 316, 316, 316, 316,
1905 322, 322, 322, 322, 322, 322, 322, 322, 322, 331,
1906 331, 331, 331, 331, 331, 331, 331, 331, 337, 337,
1907 337, 337, 337, 337, 337, 337, 337, 342, 342, 342,
1908 342, 342, 342, 342, 342, 342, 348, 348, 348, 348,
1909 348, 348, 348, 348, 348, 355, 355, 355, 355, 355,
1910 355, 355, 355, 355, 362, 362, 362, 362, 362, 362,
1911 362, 362, 362, 367, 367, 367, 367, 367, 367, 367,
1912 367, 367, 375, 375, 375, 375, 375, 375, 375, 375,
1913 375, 381, 381, 381, 381, 381, 381, 381, 381, 381,
1915 388, 388, 388, 388, 388, 388, 388, 388, 388, 393,
1916 393, 393, 393, 393, 393, 393, 393, 393, 399, 399,
1917 399, 399, 399, 399, 399, 399, 399, 405, 405, 405,
1918 405, 405, 405, 405, 405, 405, 412, 412, 412, 412,
1919 412, 412, 412, 412, 412, 419, 419, 419, 419, 419,
1920 419, 419, 419, 419, 427, 427, 427, 427, 427, 427,
1921 427, 427, 427, 431, 431, 431, 431, 431, 431, 431,
1922 431, 431, 437, 437, 437, 437, 437, 437, 437, 437,
1923 437, 441, 441, 441, 441, 441, 441, 441, 441, 441,
1924 449, 449, 449, 449, 449, 449, 449, 449, 449, 454,
1926 454, 454, 454, 454, 454, 454, 454, 454, 474, 474,
1927 474, 2220, 2220, 2220, 474, 494, 494, 494, 2220, 2220,
1928 2220, 494, 502, 502, 502, 2220, 2220, 2220, 502, 512,
1929 512, 512, 2220, 2220, 2220, 512, 518, 518, 518, 2220,
1930 2220, 2220, 518, 531, 531, 531, 2220, 2220, 2220, 531,
1931 539, 539, 539, 2220, 2220, 2220, 539, 552, 552, 552,
1932 2220, 2220, 2220, 552, 561, 561, 561, 2220, 2220, 2220,
1933 561, 566, 566, 566, 2220, 2220, 2220, 566, 574, 574,
1934 574, 2220, 2220, 2220, 574, 581, 581, 581, 2220, 2220,
1935 2220, 581, 588, 588, 588, 2220, 2220, 2220, 588, 593,
1937 593, 593, 2220, 2220, 2220, 593, 599, 599, 599, 2220,
1938 2220, 2220, 599, 607, 607, 607, 2220, 2220, 2220, 607,
1939 611, 611, 611, 2220, 2220, 2220, 611, 616, 616, 616,
1940 2220, 2220, 2220, 616, 620, 620, 620, 620, 620, 620,
1941 620, 2220, 620, 474, 474, 474, 2220, 2220, 2220, 474,
1942 635, 2220, 2220, 2220, 635, 494, 494, 494, 2220, 2220,
1943 2220, 494, 661, 2220, 2220, 2220, 661, 502, 502, 502,
1944 2220, 2220, 2220, 502, 671, 2220, 2220, 2220, 671, 512,
1945 512, 512, 2220, 2220, 2220, 512, 677, 2220, 2220, 2220,
1946 677, 518, 518, 518, 2220, 2220, 2220, 518, 682, 2220,
1948 2220, 2220, 682, 699, 2220, 2220, 2220, 699, 539, 539,
1949 539, 2220, 2220, 2220, 539, 713, 2220, 2220, 2220, 713,
1950 552, 552, 552, 2220, 2220, 2220, 552, 722, 2220, 2220,
1951 2220, 722, 561, 561, 561, 2220, 2220, 2220, 561, 727,
1952 2220, 2220, 2220, 727, 566, 566, 566, 2220, 2220, 2220,
1953 566, 735, 2220, 2220, 2220, 735, 574, 574, 574, 2220,
1954 2220, 2220, 574, 740, 2220, 2220, 2220, 740, 581, 581,
1955 581, 2220, 2220, 2220, 581, 747, 2220, 2220, 2220, 747,
1956 588, 588, 588, 2220, 2220, 2220, 588, 752, 2220, 2220,
1957 2220, 752, 593, 593, 593, 2220, 2220, 2220, 593, 757,
1959 2220, 2220, 2220, 757, 599, 599, 599, 2220, 2220, 2220,
1960 599, 763, 2220, 2220, 2220, 763, 607, 607, 607, 2220,
1961 2220, 2220, 607, 767, 2220, 2220, 2220, 767, 611, 611,
1962 611, 2220, 2220, 2220, 611, 771, 2220, 2220, 2220, 771,
1963 616, 616, 616, 2220, 2220, 2220, 616, 777, 2220, 2220,
1964 2220, 777, 779, 779, 779, 779, 779, 779, 779, 779,
1965 779, 785, 2220, 2220, 2220, 2220, 785, 474, 474, 474,
1966 2220, 2220, 2220, 474, 794, 794, 794, 794, 2220, 2220,
1967 794, 794, 494, 494, 494, 2220, 2220, 2220, 494, 824,
1968 824, 824, 824, 2220, 2220, 824, 824, 502, 502, 502,
1970 2220, 2220, 2220, 502, 838, 838, 838, 838, 2220, 2220,
1971 838, 838, 512, 512, 512, 2220, 2220, 2220, 512, 846,
1972 846, 846, 846, 2220, 2220, 846, 846, 518, 518, 518,
1973 2220, 2220, 2220, 518, 854, 854, 854, 854, 2220, 2220,
1974 854, 854, 531, 531, 531, 2220, 2220, 2220, 531, 873,
1975 873, 873, 873, 2220, 2220, 873, 873, 539, 539, 539,
1976 2220, 2220, 2220, 539, 894, 894, 894, 894, 2220, 2220,
1977 894, 894, 552, 552, 552, 2220, 2220, 2220, 552, 908,
1978 908, 908, 908, 2220, 2220, 908, 908, 561, 561, 561,
1979 2220, 2220, 2220, 561, 916, 916, 916, 916, 2220, 2220,
1981 916, 916, 566, 566, 566, 2220, 2220, 2220, 566, 927,
1982 927, 927, 927, 2220, 2220, 927, 927, 574, 574, 574,
1983 574, 2220, 574, 2220, 574, 936, 936, 936, 936, 2220,
1984 2220, 936, 936, 581, 581, 581, 581, 2220, 581, 2220,
1985 581, 948, 948, 948, 948, 2220, 2220, 948, 948, 588,
1986 588, 588, 2220, 2220, 2220, 588, 956, 956, 956, 956,
1987 2220, 2220, 956, 956, 593, 593, 593, 593, 2220, 593,
1988 2220, 593, 966, 966, 966, 966, 2220, 2220, 966, 966,
1989 599, 599, 599, 2220, 2220, 2220, 599, 974, 974, 974,
1990 974, 2220, 2220, 974, 974, 607, 607, 607, 2220, 2220,
1992 2220, 607, 980, 980, 980, 980, 2220, 2220, 980, 980,
1993 987, 987, 987, 987, 2220, 2220, 987, 987, 616, 616,
1994 616, 2220, 2220, 2220, 616, 996, 996, 996, 996, 2220,
1995 2220, 996, 996, 779, 779, 779, 779, 779, 779, 779,
1996 779, 779, 785, 2220, 785, 2220, 2220, 785, 474, 474,
1997 474, 2220, 2220, 2220, 474, 794, 794, 794, 794, 2220,
1998 2220, 794, 794, 494, 494, 494, 494, 2220, 494, 2220,
1999 494, 824, 824, 824, 824, 2220, 2220, 824, 824, 502,
2000 502, 502, 2220, 2220, 2220, 502, 838, 838, 838, 838,
2001 2220, 2220, 838, 838, 512, 512, 512, 2220, 2220, 2220,
2003 512, 846, 846, 846, 846, 2220, 2220, 846, 846, 518,
2004 518, 518, 2220, 2220, 2220, 518, 854, 854, 854, 854,
2005 2220, 2220, 854, 854, 531, 531, 531, 2220, 2220, 2220,
2006 531, 873, 873, 873, 873, 2220, 2220, 873, 873, 539,
2007 539, 539, 2220, 2220, 2220, 539, 894, 894, 894, 894,
2008 2220, 2220, 894, 894, 552, 552, 552, 2220, 2220, 2220,
2009 552, 908, 908, 908, 908, 2220, 2220, 908, 908, 561,
2010 561, 561, 2220, 2220, 2220, 561, 916, 916, 916, 916,
2011 2220, 2220, 916, 916, 566, 566, 566, 2220, 2220, 2220,
2012 566, 927, 927, 927, 927, 2220, 2220, 927, 927, 574,
2014 574, 574, 2220, 2220, 2220, 574, 936, 936, 936, 936,
2015 2220, 2220, 936, 936, 581, 581, 581, 2220, 2220, 2220,
2016 581, 948, 948, 948, 948, 2220, 2220, 948, 948, 588,
2017 588, 588, 2220, 2220, 2220, 588, 956, 956, 956, 956,
2018 2220, 2220, 956, 956, 593, 593, 593, 2220, 2220, 2220,
2019 593, 966, 966, 966, 966, 2220, 2220, 966, 966, 599,
2020 599, 599, 2220, 2220, 2220, 599, 974, 974, 974, 974,
2021 2220, 2220, 974, 974, 607, 607, 607, 2220, 2220, 2220,
2022 607, 980, 980, 980, 980, 2220, 2220, 980, 980, 987,
2023 987, 987, 987, 2220, 2220, 987, 987, 616, 616, 616,
2025 2220, 2220, 2220, 616, 996, 996, 996, 996, 2220, 2220,
2026 996, 996, 779, 779, 779, 779, 779, 779, 779, 779,
2027 779, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
2028 474, 474, 474, 2220, 2220, 2220, 474, 794, 794, 794,
2029 794, 2220, 2220, 794, 794, 494, 494, 494, 2220, 2220,
2030 2220, 494, 824, 824, 824, 824, 2220, 2220, 824, 824,
2031 502, 502, 502, 2220, 2220, 2220, 502, 838, 838, 838,
2032 838, 2220, 2220, 838, 838, 512, 512, 512, 2220, 2220,
2033 2220, 512, 846, 846, 846, 846, 2220, 2220, 846, 846,
2034 518, 518, 518, 2220, 2220, 2220, 518, 531, 531, 531,
2036 2220, 2220, 2220, 531, 873, 873, 873, 873, 2220, 2220,
2037 873, 873, 539, 539, 539, 539, 2220, 539, 2220, 539,
2038 894, 894, 894, 894, 2220, 2220, 894, 894, 552, 552,
2039 552, 552, 2220, 552, 2220, 552, 908, 908, 908, 908,
2040 2220, 2220, 908, 908, 561, 561, 561, 2220, 2220, 2220,
2041 561, 916, 916, 916, 916, 2220, 2220, 916, 916, 566,
2042 566, 566, 2220, 2220, 2220, 566, 927, 927, 927, 927,
2043 2220, 2220, 927, 927, 574, 574, 574, 2220, 2220, 2220,
2044 574, 936, 936, 936, 936, 2220, 2220, 936, 936, 581,
2045 581, 581, 2220, 2220, 2220, 581, 948, 948, 948, 948,
2047 2220, 2220, 948, 948, 588, 588, 588, 2220, 2220, 2220,
2048 588, 956, 956, 956, 956, 2220, 2220, 956, 956, 593,
2049 593, 593, 2220, 2220, 2220, 593, 966, 966, 966, 966,
2050 2220, 2220, 966, 966, 599, 599, 599, 2220, 2220, 2220,
2051 599, 974, 974, 974, 974, 2220, 2220, 974, 974, 607,
2052 607, 607, 607, 2220, 607, 2220, 607, 980, 980, 980,
2053 980, 2220, 2220, 980, 980, 987, 987, 987, 987, 2220,
2054 2220, 987, 987, 616, 616, 616, 616, 2220, 616, 2220,
2055 616, 996, 996, 996, 996, 2220, 2220, 996, 996, 779,
2056 779, 779, 779, 779, 779, 779, 779, 779, 1140, 1140,
2058 1140, 1140, 1140, 1140, 1140, 1140, 1140, 474, 474, 474,
2059 2220, 2220, 2220, 474, 794, 794, 794, 794, 2220, 2220,
2060 794, 794, 494, 494, 494, 2220, 2220, 2220, 494, 824,
2061 824, 824, 824, 2220, 2220, 824, 824, 502, 502, 502,
2062 2220, 2220, 2220, 502, 838, 838, 838, 838, 2220, 2220,
2063 838, 838, 512, 512, 512, 2220, 2220, 2220, 512, 846,
2064 846, 846, 846, 2220, 2220, 846, 846, 518, 518, 518,
2065 2220, 2220, 2220, 518, 531, 531, 531, 2220, 2220, 2220,
2066 531, 873, 873, 873, 873, 2220, 2220, 873, 873, 539,
2067 539, 539, 539, 2220, 539, 2220, 539, 894, 894, 894,
2069 894, 2220, 2220, 894, 894, 552, 552, 552, 552, 2220,
2070 552, 2220, 552, 908, 908, 908, 908, 2220, 2220, 908,
2071 908, 561, 561, 561, 2220, 2220, 2220, 561, 916, 916,
2072 916, 916, 2220, 2220, 916, 916, 566, 566, 566, 2220,
2073 2220, 2220, 566, 927, 927, 927, 927, 2220, 2220, 927,
2074 927, 574, 574, 574, 2220, 2220, 2220, 574, 936, 936,
2075 936, 936, 2220, 2220, 936, 936, 581, 581, 581, 581,
2076 2220, 581, 2220, 581, 948, 948, 948, 948, 2220, 2220,
2077 948, 948, 588, 588, 588, 2220, 2220, 2220, 588, 956,
2078 956, 956, 956, 2220, 2220, 956, 956, 593, 593, 593,
2080 593, 2220, 593, 2220, 593, 966, 966, 966, 966, 2220,
2081 2220, 966, 966, 599, 599, 599, 2220, 2220, 2220, 599,
2082 974, 974, 974, 974, 2220, 2220, 974, 974, 980, 980,
2083 980, 980, 2220, 2220, 980, 980, 987, 987, 987, 987,
2084 2220, 2220, 987, 987, 996, 996, 996, 996, 2220, 2220,
2085 996, 996, 779, 779, 779, 779, 779, 779, 779, 779,
2086 779, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
2087 474, 474, 474, 474, 2220, 474, 2220, 474, 794, 794,
2088 794, 794, 2220, 2220, 794, 794, 494, 494, 494, 2220,
2089 2220, 2220, 494, 824, 824, 824, 824, 2220, 2220, 824,
2091 824, 502, 502, 502, 2220, 2220, 2220, 502, 838, 838,
2092 838, 838, 2220, 2220, 838, 838, 512, 512, 512, 512,
2093 2220, 512, 2220, 512, 846, 846, 846, 846, 2220, 2220,
2094 846, 846, 518, 518, 518, 518, 2220, 518, 2220, 518,
2095 531, 531, 531, 2220, 2220, 2220, 531, 539, 539, 539,
2096 2220, 2220, 2220, 539, 894, 894, 894, 894, 2220, 2220,
2097 894, 894, 552, 552, 552, 2220, 2220, 2220, 552, 561,
2098 561, 561, 2220, 2220, 2220, 561, 916, 916, 916, 916,
2099 2220, 2220, 916, 916, 566, 566, 566, 2220, 2220, 2220,
2100 566, 574, 574, 574, 2220, 2220, 2220, 574, 936, 936,
2102 936, 936, 2220, 2220, 936, 936, 581, 581, 581, 2220,
2103 2220, 2220, 581, 948, 948, 948, 948, 2220, 2220, 948,
2104 948, 588, 588, 588, 2220, 2220, 2220, 588, 956, 956,
2105 956, 956, 2220, 2220, 956, 956, 966, 966, 966, 966,
2106 2220, 2220, 966, 966, 599, 599, 599, 2220, 2220, 2220,
2107 599, 974, 974, 974, 974, 2220, 2220, 974, 974, 980,
2108 980, 980, 980, 2220, 2220, 980, 980, 987, 987, 987,
2109 987, 2220, 2220, 987, 987, 779, 779, 779, 779, 779,
2110 779, 779, 779, 779, 1140, 1140, 1140, 1140, 1140, 1140,
2111 1140, 1140, 1140, 1939, 1939, 1939, 1939, 1939, 1939, 1939,
2113 1939, 1939, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940,
2114 1940, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980,
2115 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 1983, 2011,
2116 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2011, 2013, 2013,
2117 2013, 2013, 2013, 2013, 2013, 2013, 2013, 185, 2220, 2220,
2118 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2119 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2120 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2121 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2122 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2124 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2125 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220
2128 static yyconst flex_int16_t yy_chk[7819] =
2130 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2131 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2132 4, 10, 0, 5, 251, 9, 6, 458, 10, 7,
2133 8, 8, 8, 190, 11, 13, 13, 12, 14, 14,
2134 13, 13, 458, 14, 14, 191, 8, 17, 17, 190,
2135 13, 15, 15, 14, 15, 194, 15, 16, 16, 1398,
2136 16, 191, 16, 18, 18, 1398, 15, 19, 19, 19,
2137 285, 194, 16, 251, 20, 20, 20, 23, 23, 23,
2138 24, 24, 24, 19, 25, 25, 25, 247, 212, 17,
2139 20, 247, 252, 23, 1502, 247, 24, 188, 188, 188,
2141 25, 189, 189, 189, 212, 18, 21, 21, 21, 21,
2142 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2143 21, 285, 21, 21, 21, 21, 21, 26, 26, 26,
2144 27, 27, 27, 279, 1504, 28, 28, 28, 29, 29,
2145 29, 252, 279, 26, 212, 287, 27, 287, 217, 21,
2146 21, 28, 253, 1518, 29, 30, 30, 30, 193, 193,
2147 193, 214, 214, 214, 217, 221, 221, 221, 229, 229,
2148 229, 30, 21, 22, 22, 22, 22, 22, 22, 22,
2149 22, 22, 22, 22, 22, 22, 22, 22, 301, 22,
2150 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2152 315, 253, 33, 33, 33, 34, 34, 34, 313, 281,
2153 31, 313, 315, 32, 309, 782, 22, 22, 33, 782,
2154 232, 34, 35, 35, 35, 36, 36, 36, 37, 37,
2155 37, 38, 38, 38, 309, 225, 232, 301, 35, 22,
2156 445, 36, 445, 498, 37, 281, 302, 38, 39, 39,
2157 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2158 39, 39, 39, 282, 39, 39, 39, 39, 39, 45,
2159 45, 45, 225, 282, 46, 46, 46, 498, 47, 47,
2160 47, 1523, 41, 41, 225, 45, 423, 41, 42, 42,
2161 46, 39, 39, 42, 47, 302, 354, 41, 467, 39,
2163 423, 467, 39, 42, 240, 240, 240, 354, 39, 40,
2164 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2165 40, 40, 40, 40, 41, 40, 40, 40, 40, 40,
2166 42, 48, 48, 48, 49, 49, 49, 366, 50, 50,
2167 50, 51, 51, 51, 366, 243, 258, 48, 237, 265,
2168 49, 270, 40, 40, 50, 237, 265, 51, 1268, 357,
2169 40, 243, 258, 40, 237, 265, 204, 270, 358, 40,
2170 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2171 43, 43, 43, 43, 43, 283, 43, 43, 43, 43,
2172 43, 52, 52, 52, 55, 55, 55, 1268, 380, 56,
2174 56, 56, 59, 59, 59, 380, 204, 52, 357, 292,
2175 55, 283, 204, 43, 43, 56, 204, 358, 59, 484,
2176 480, 204, 43, 480, 43, 292, 283, 43, 250, 250,
2177 250, 384, 484, 43, 44, 44, 44, 44, 44, 44,
2178 44, 44, 44, 44, 44, 44, 44, 44, 44, 526,
2179 44, 44, 44, 44, 44, 60, 60, 60, 61, 61,
2180 61, 622, 526, 62, 62, 62, 63, 63, 63, 486,
2181 1525, 60, 486, 307, 61, 622, 384, 44, 44, 62,
2182 318, 408, 63, 255, 255, 255, 44, 318, 44, 307,
2183 715, 44, 264, 264, 264, 715, 318, 44, 53, 53,
2185 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2186 53, 53, 53, 224, 53, 53, 53, 53, 53, 64,
2187 64, 64, 65, 65, 65, 807, 408, 66, 66, 66,
2188 67, 67, 67, 488, 528, 64, 488, 807, 65, 323,
2189 224, 53, 53, 66, 338, 349, 67, 528, 53, 267,
2190 267, 267, 224, 53, 1527, 323, 224, 275, 275, 275,
2191 338, 349, 53, 54, 54, 54, 54, 54, 54, 54,
2192 54, 54, 54, 54, 54, 54, 54, 54, 529, 54,
2193 54, 54, 54, 54, 68, 68, 68, 69, 69, 69,
2194 816, 529, 70, 70, 70, 71, 71, 71, 533, 614,
2196 68, 533, 816, 69, 999, 1530, 54, 54, 70, 363,
2197 333, 71, 614, 54, 289, 289, 289, 333, 54, 300,
2198 300, 300, 999, 1510, 284, 363, 333, 54, 57, 57,
2199 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2200 57, 57, 57, 841, 57, 57, 57, 57, 57, 72,
2201 72, 72, 73, 73, 73, 841, 1301, 74, 74, 74,
2202 75, 75, 75, 1301, 376, 72, 284, 1510, 73, 284,
2203 1536, 57, 57, 74, 1267, 284, 75, 304, 304, 304,
2204 376, 369, 57, 317, 317, 317, 320, 320, 320, 1267,
2205 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2207 58, 58, 58, 58, 58, 58, 1139, 58, 58, 58,
2208 58, 58, 76, 76, 76, 77, 77, 77, 1400, 1537,
2209 78, 78, 78, 79, 79, 79, 369, 389, 76, 1139,
2210 369, 77, 1269, 1538, 58, 58, 78, 1539, 400, 79,
2211 80, 80, 80, 389, 413, 58, 81, 81, 81, 82,
2212 82, 82, 1399, 58, 400, 1540, 80, 83, 83, 83,
2213 413, 1400, 81, 1269, 428, 82, 84, 84, 84, 85,
2214 85, 85, 1541, 83, 86, 86, 86, 87, 87, 87,
2215 428, 1399, 84, 1447, 344, 85, 88, 88, 88, 1447,
2216 86, 344, 1542, 87, 332, 332, 332, 335, 335, 335,
2218 344, 1509, 88, 89, 89, 89, 89, 89, 89, 89,
2219 89, 89, 89, 89, 89, 89, 89, 89, 1543, 89,
2220 89, 89, 89, 89, 91, 91, 91, 92, 92, 92,
2221 1544, 1545, 93, 93, 93, 1305, 94, 94, 94, 1551,
2222 91, 1509, 1305, 92, 483, 438, 89, 89, 93, 89,
2223 483, 89, 94, 343, 343, 343, 483, 89, 346, 346,
2224 346, 438, 1552, 89, 1553, 1554, 89, 90, 90, 90,
2225 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2226 90, 90, 1555, 90, 90, 90, 90, 90, 95, 95,
2227 95, 96, 96, 96, 1556, 1557, 97, 97, 97, 1448,
2229 98, 98, 98, 1558, 95, 1448, 1559, 96, 489, 450,
2230 90, 90, 97, 90, 489, 90, 98, 356, 356, 356,
2231 489, 90, 360, 360, 360, 450, 1563, 90, 1565, 1566,
2232 90, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2233 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2234 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2235 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2236 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2237 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2238 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2240 99, 101, 101, 101, 102, 102, 102, 368, 368, 368,
2241 373, 373, 373, 382, 382, 382, 1567, 101, 1574, 1575,
2242 102, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2243 103, 103, 103, 103, 103, 103, 1576, 103, 103, 103,
2244 103, 103, 105, 105, 105, 106, 106, 106, 1577, 1578,
2245 109, 109, 109, 1476, 110, 110, 110, 1477, 105, 1476,
2246 395, 106, 1579, 1477, 103, 103, 109, 395, 103, 103,
2247 110, 386, 386, 386, 1580, 103, 395, 103, 394, 394,
2248 394, 103, 421, 1581, 103, 104, 104, 104, 104, 104,
2249 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2251 1583, 104, 104, 104, 104, 104, 113, 113, 113, 114,
2252 114, 114, 1591, 1603, 115, 115, 115, 421, 116, 116,
2253 116, 1606, 113, 1607, 1608, 114, 1611, 1612, 104, 104,
2254 115, 421, 104, 104, 116, 397, 397, 397, 1613, 104,
2255 1614, 104, 406, 406, 406, 104, 1598, 1615, 104, 107,
2256 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2257 107, 107, 107, 107, 1616, 107, 107, 107, 107, 107,
2258 117, 117, 117, 118, 118, 118, 1598, 1617, 119, 119,
2259 119, 1618, 120, 120, 120, 1619, 117, 1620, 1621, 118,
2260 491, 1623, 107, 107, 119, 1624, 491, 107, 120, 410,
2262 410, 410, 491, 107, 108, 108, 108, 108, 108, 108,
2263 108, 108, 108, 108, 108, 108, 108, 108, 108, 1625,
2264 108, 108, 108, 108, 108, 123, 123, 123, 124, 124,
2265 124, 1626, 1628, 125, 125, 125, 1631, 126, 126, 126,
2266 1632, 123, 1635, 1636, 124, 492, 1637, 108, 108, 125,
2267 1640, 492, 108, 126, 420, 420, 420, 492, 108, 111,
2268 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2269 111, 111, 111, 111, 1641, 111, 111, 111, 111, 111,
2270 127, 127, 127, 128, 128, 128, 1642, 1643, 129, 129,
2271 129, 130, 130, 130, 1645, 1648, 127, 1650, 433, 128,
2273 1672, 1667, 111, 111, 129, 433, 111, 130, 425, 425,
2274 425, 1669, 1673, 111, 433, 111, 432, 432, 432, 435,
2275 435, 435, 111, 112, 112, 112, 112, 112, 112, 112,
2276 112, 112, 112, 112, 112, 112, 112, 112, 1667, 112,
2277 112, 112, 112, 112, 133, 133, 133, 134, 134, 134,
2278 1674, 1669, 135, 135, 135, 136, 136, 136, 1679, 1680,
2279 133, 1681, 456, 134, 1677, 1678, 112, 112, 135, 456,
2280 112, 136, 442, 442, 442, 1677, 1678, 112, 456, 112,
2281 447, 447, 447, 455, 455, 455, 112, 121, 121, 121,
2282 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2284 121, 121, 1682, 121, 121, 121, 121, 121, 137, 137,
2285 137, 138, 138, 138, 1599, 1683, 139, 139, 139, 140,
2286 140, 140, 510, 1684, 137, 1685, 1686, 138, 510, 1687,
2287 121, 121, 139, 1688, 510, 140, 121, 457, 457, 457,
2288 1689, 466, 466, 466, 625, 625, 625, 1691, 625, 1599,
2289 121, 122, 122, 122, 122, 122, 122, 122, 122, 122,
2290 122, 122, 122, 122, 122, 122, 1692, 122, 122, 122,
2291 122, 122, 143, 143, 143, 144, 144, 144, 1668, 1698,
2292 147, 147, 147, 148, 148, 148, 1699, 1701, 143, 1706,
2293 1707, 144, 1708, 1732, 122, 122, 147, 466, 1733, 148,
2295 122, 637, 637, 637, 651, 651, 651, 797, 797, 797,
2296 684, 684, 684, 1668, 122, 131, 131, 131, 131, 131,
2297 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2298 1736, 131, 131, 131, 131, 131, 149, 149, 149, 150,
2299 150, 150, 1716, 1737, 151, 151, 151, 152, 152, 152,
2300 1716, 1738, 149, 1739, 1740, 150, 1716, 701, 131, 131,
2301 151, 1741, 637, 152, 131, 651, 701, 131, 658, 658,
2302 658, 684, 658, 701, 1742, 658, 1729, 1743, 131, 132,
2303 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2304 132, 132, 132, 132, 1728, 132, 132, 132, 132, 132,
2306 153, 153, 153, 154, 154, 154, 1717, 1744, 157, 157,
2307 157, 158, 158, 158, 1717, 1729, 153, 1746, 1747, 154,
2308 1717, 1728, 132, 132, 157, 1748, 1749, 158, 132, 1759,
2309 1760, 132, 666, 666, 666, 1763, 666, 1766, 1768, 666,
2310 1730, 1776, 132, 141, 141, 141, 141, 141, 141, 141,
2311 141, 141, 141, 141, 141, 141, 141, 141, 1777, 141,
2312 141, 141, 141, 141, 159, 159, 159, 160, 160, 160,
2313 1778, 1779, 161, 161, 161, 162, 162, 162, 1780, 1730,
2314 159, 1781, 1790, 160, 1791, 1795, 141, 141, 161, 1786,
2315 1796, 162, 141, 812, 812, 812, 1797, 141, 142, 142,
2317 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
2318 142, 142, 142, 1798, 142, 142, 142, 142, 142, 163,
2319 163, 163, 164, 164, 164, 1800, 1801, 167, 167, 167,
2320 168, 168, 168, 1802, 1786, 163, 1803, 1804, 164, 1805,
2321 1806, 142, 142, 167, 1807, 1812, 168, 142, 689, 689,
2322 689, 1816, 142, 145, 145, 145, 145, 145, 145, 145,
2323 145, 145, 145, 145, 145, 145, 145, 145, 1817, 145,
2324 145, 145, 145, 145, 171, 171, 171, 172, 172, 172,
2325 1821, 1787, 173, 173, 173, 174, 174, 174, 1825, 1828,
2326 171, 1835, 1836, 172, 1830, 1837, 145, 145, 173, 1838,
2328 1839, 174, 145, 1840, 1830, 145, 680, 680, 680, 689,
2329 680, 1848, 1842, 680, 1787, 1849, 145, 146, 146, 146,
2330 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2331 146, 146, 1850, 146, 146, 146, 146, 146, 175, 175,
2332 175, 176, 176, 176, 1842, 1831, 177, 177, 177, 178,
2333 178, 178, 1851, 1833, 175, 1831, 1854, 176, 1834, 1855,
2334 146, 146, 177, 1833, 1857, 178, 146, 1858, 1834, 146,
2335 696, 696, 696, 1859, 696, 443, 1861, 696, 1866, 1867,
2336 146, 155, 155, 155, 155, 155, 155, 155, 155, 155,
2337 155, 155, 155, 155, 155, 155, 1875, 155, 155, 155,
2339 155, 155, 181, 181, 181, 182, 182, 182, 1876, 1877,
2340 443, 496, 496, 496, 1878, 635, 635, 635, 181, 1879,
2341 1880, 182, 1881, 1882, 155, 155, 443, 1883, 496, 1884,
2342 276, 277, 155, 635, 155, 1886, 155, 1013, 1013, 1013,
2343 276, 277, 1887, 1899, 155, 156, 156, 156, 156, 156,
2344 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
2345 1900, 156, 156, 156, 156, 156, 276, 277, 277, 504,
2346 504, 504, 276, 1901, 1902, 276, 519, 519, 519, 1906,
2347 277, 276, 534, 534, 534, 1907, 504, 1908, 156, 156,
2348 541, 541, 541, 519, 1909, 1910, 156, 1911, 156, 534,
2350 156, 1913, 1014, 1014, 1014, 1914, 1923, 541, 156, 165,
2351 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2352 165, 165, 165, 165, 1891, 165, 165, 165, 165, 165,
2353 543, 543, 543, 555, 555, 555, 1924, 563, 563, 563,
2354 568, 568, 568, 590, 590, 590, 1014, 543, 1925, 1926,
2355 555, 1927, 165, 165, 563, 1928, 1929, 568, 1930, 1931,
2356 590, 703, 703, 703, 1891, 703, 1932, 1933, 703, 1015,
2357 1015, 1015, 1018, 1018, 1018, 165, 166, 166, 166, 166,
2358 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
2359 166, 1934, 166, 166, 166, 166, 166, 612, 612, 612,
2361 617, 617, 617, 636, 636, 636, 657, 657, 657, 661,
2362 661, 661, 1941, 1943, 612, 1946, 1947, 617, 1949, 166,
2363 166, 636, 1938, 657, 665, 665, 665, 661, 706, 706,
2364 706, 1950, 706, 1938, 1953, 706, 1024, 1024, 1024, 1954,
2365 1935, 665, 166, 169, 169, 169, 169, 169, 169, 169,
2366 169, 169, 169, 169, 169, 169, 169, 169, 636, 169,
2367 169, 169, 169, 169, 662, 662, 662, 667, 667, 667,
2368 1968, 669, 669, 669, 671, 671, 671, 672, 672, 672,
2369 1937, 1970, 662, 1935, 667, 1972, 169, 169, 669, 718,
2370 718, 718, 671, 718, 1937, 672, 718, 169, 170, 170,
2372 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2373 170, 170, 170, 1956, 170, 170, 170, 170, 170, 677,
2374 677, 677, 672, 1956, 1974, 662, 678, 678, 678, 679,
2375 679, 679, 682, 682, 682, 1957, 1982, 677, 1043, 1043,
2376 1043, 170, 170, 1984, 678, 1957, 679, 1054, 1054, 1054,
2377 682, 1986, 170, 179, 179, 179, 179, 179, 179, 179,
2378 179, 179, 179, 179, 179, 179, 179, 179, 1987, 179,
2379 179, 179, 179, 179, 683, 683, 683, 695, 695, 695,
2380 699, 699, 699, 700, 700, 700, 1980, 678, 702, 702,
2381 702, 1995, 683, 1997, 695, 1998, 179, 179, 699, 1999,
2383 1980, 700, 1154, 1154, 1154, 702, 1959, 179, 1960, 683,
2384 726, 726, 726, 2000, 726, 2001, 1959, 726, 1960, 179,
2385 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
2386 180, 180, 180, 180, 180, 1979, 180, 180, 180, 180,
2387 180, 700, 705, 705, 705, 707, 707, 707, 713, 713,
2388 713, 714, 714, 714, 717, 717, 717, 1965, 2003, 705,
2389 1184, 2005, 707, 180, 180, 1184, 713, 1965, 1184, 714,
2390 2011, 717, 1184, 1979, 180, 719, 719, 719, 722, 722,
2391 722, 1966, 1983, 723, 723, 723, 180, 222, 725, 725,
2392 725, 1966, 719, 1983, 222, 2012, 722, 727, 727, 727,
2394 2013, 723, 2015, 222, 222, 725, 714, 728, 728, 728,
2395 730, 730, 730, 2016, 1185, 727, 731, 731, 731, 1185,
2396 731, 2021, 1185, 731, 2022, 728, 1185, 730, 2023, 222,
2397 222, 222, 723, 735, 735, 735, 222, 1981, 1981, 222,
2398 736, 736, 736, 222, 2024, 222, 2025, 222, 740, 740,
2399 740, 735, 737, 737, 737, 738, 738, 738, 736, 739,
2400 739, 739, 741, 741, 741, 728, 740, 2026, 2027, 737,
2401 2028, 2029, 738, 743, 743, 743, 739, 744, 744, 744,
2402 741, 745, 745, 745, 746, 746, 746, 747, 747, 747,
2403 743, 2030, 2031, 736, 744, 748, 748, 748, 745, 2032,
2405 2033, 746, 750, 750, 750, 747, 2034, 751, 751, 751,
2406 2035, 751, 1994, 748, 751, 739, 752, 752, 752, 750,
2407 741, 754, 754, 754, 2036, 744, 753, 753, 753, 1994,
2408 748, 756, 756, 756, 752, 755, 755, 755, 754, 744,
2409 746, 757, 757, 757, 753, 758, 758, 758, 756, 763,
2410 763, 763, 755, 764, 764, 764, 767, 767, 767, 757,
2411 768, 768, 768, 758, 769, 769, 769, 763, 770, 770,
2412 770, 764, 770, 2038, 767, 770, 1996, 2047, 768, 753,
2413 2048, 769, 2002, 755, 771, 771, 771, 772, 772, 772,
2414 774, 774, 774, 1996, 775, 775, 775, 755, 775, 2002,
2416 2049, 775, 771, 2050, 2051, 772, 2052, 774, 777, 777,
2417 777, 2053, 2054, 758, 764, 778, 778, 778, 793, 793,
2418 793, 768, 794, 794, 794, 2045, 777, 2004, 796, 796,
2419 796, 2055, 2056, 778, 2057, 2045, 793, 817, 817, 817,
2420 794, 821, 821, 821, 2004, 772, 796, 2046, 818, 818,
2421 818, 2058, 818, 2059, 817, 818, 2060, 2046, 821, 823,
2422 823, 823, 824, 824, 824, 826, 826, 826, 828, 828,
2423 828, 2061, 828, 796, 2062, 828, 778, 823, 2065, 2066,
2424 824, 2067, 2063, 826, 831, 831, 831, 832, 832, 832,
2425 2068, 832, 2069, 2070, 832, 833, 833, 833, 2071, 821,
2427 2072, 831, 834, 834, 834, 2063, 2073, 835, 835, 835,
2428 826, 835, 833, 2074, 835, 837, 837, 837, 2075, 834,
2429 838, 838, 838, 840, 840, 840, 843, 843, 843, 845,
2430 845, 845, 2076, 837, 846, 846, 846, 2077, 838, 2078,
2431 2079, 840, 2080, 843, 848, 848, 848, 845, 2081, 849,
2432 849, 849, 846, 849, 2082, 2083, 849, 853, 853, 853,
2433 2084, 2085, 848, 854, 854, 854, 856, 856, 856, 866,
2434 866, 866, 867, 867, 867, 853, 867, 2086, 2085, 867,
2435 840, 854, 2087, 2088, 856, 2089, 866, 2090, 2091, 848,
2436 872, 872, 872, 873, 873, 873, 875, 875, 875, 879,
2438 879, 879, 2092, 879, 2093, 2094, 879, 2095, 872, 2096,
2439 2097, 873, 2098, 2099, 875, 882, 882, 882, 883, 883,
2440 883, 2100, 883, 2101, 2102, 883, 886, 886, 886, 887,
2441 887, 887, 882, 887, 2103, 2104, 887, 893, 893, 893,
2442 1155, 1155, 1155, 886, 894, 894, 894, 896, 896, 896,
2443 900, 900, 900, 2105, 900, 893, 2106, 900, 875, 903,
2444 903, 903, 894, 2107, 2108, 896, 904, 904, 904, 2109,
2445 904, 2110, 2111, 904, 2106, 2112, 903, 907, 907, 907,
2446 908, 908, 908, 910, 910, 910, 912, 912, 912, 2113,
2447 912, 2114, 2115, 912, 2116, 907, 2117, 2118, 908, 2119,
2449 2120, 910, 915, 915, 915, 916, 916, 916, 918, 918,
2450 918, 896, 920, 920, 920, 2121, 920, 2122, 2123, 920,
2451 915, 2124, 2125, 916, 2126, 2127, 918, 926, 926, 926,
2452 2128, 2127, 910, 927, 927, 927, 929, 929, 929, 930,
2453 930, 930, 931, 931, 931, 926, 931, 2129, 2130, 931,
2454 2131, 927, 2132, 2133, 929, 2135, 930, 932, 932, 932,
2455 933, 933, 933, 2136, 933, 2138, 2140, 933, 935, 935,
2456 935, 2142, 918, 2143, 932, 2145, 936, 936, 936, 938,
2457 938, 938, 940, 940, 940, 2146, 935, 2149, 941, 941,
2458 941, 2150, 941, 929, 936, 941, 2148, 938, 2151, 940,
2460 944, 944, 944, 945, 945, 945, 2152, 945, 2148, 2154,
2461 945, 947, 947, 947, 948, 948, 948, 944, 950, 950,
2462 950, 952, 952, 952, 2156, 952, 2157, 2158, 952, 947,
2463 2160, 2162, 948, 955, 955, 955, 950, 956, 956, 956,
2464 958, 958, 958, 938, 959, 959, 959, 963, 963, 963,
2465 2164, 955, 960, 960, 960, 956, 960, 2165, 958, 960,
2466 2166, 959, 2167, 2168, 963, 964, 964, 964, 2169, 964,
2467 2170, 2171, 964, 965, 965, 965, 966, 966, 966, 950,
2468 968, 968, 968, 970, 970, 970, 973, 973, 973, 2172,
2469 2173, 965, 2175, 2177, 966, 2179, 2180, 958, 968, 2181,
2471 970, 974, 974, 974, 973, 976, 976, 976, 979, 979,
2472 979, 980, 980, 980, 982, 982, 982, 2182, 2183, 974,
2473 983, 983, 983, 976, 983, 2184, 979, 983, 2185, 980,
2474 1501, 2199, 982, 986, 986, 986, 987, 987, 987, 968,
2475 989, 989, 989, 991, 991, 991, 1491, 991, 2197, 2211,
2476 991, 986, 2200, 1489, 987, 995, 995, 995, 989, 996,
2477 996, 996, 2186, 976, 2199, 982, 998, 998, 998, 1000,
2478 1000, 1000, 2185, 995, 1007, 1007, 1007, 996, 1027, 1027,
2479 1027, 1031, 1031, 1031, 998, 2200, 2197, 1000, 1000, 1028,
2480 1028, 1028, 1007, 1028, 2211, 1027, 1028, 989, 2198, 1031,
2482 1033, 1033, 1033, 2201, 1033, 2202, 2186, 1033, 1036, 1036,
2483 1036, 1037, 1037, 1037, 2205, 1037, 2216, 1482, 1037, 1038,
2484 1038, 1038, 1479, 1038, 998, 1036, 1038, 2216, 1031, 1042,
2485 1042, 1042, 1045, 1045, 1045, 2206, 2198, 1007, 1046, 1046,
2486 1046, 2195, 1046, 2196, 2205, 1046, 2201, 1042, 2202, 1045,
2487 1047, 1047, 1047, 1048, 1048, 1048, 1050, 1050, 1050, 1055,
2488 1055, 1055, 1061, 1061, 1061, 2206, 1478, 1047, 1062, 1062,
2489 1062, 1048, 1062, 2203, 1050, 1062, 2195, 1042, 2196, 1061,
2490 1063, 1063, 1063, 1475, 1064, 1064, 1064, 1065, 1065, 1065,
2491 1066, 1066, 1066, 1067, 1067, 1067, 2204, 1063, 1474, 1471,
2493 1048, 1064, 2207, 1055, 1469, 1065, 2209, 1066, 2203, 2210,
2494 1067, 2207, 1068, 1068, 1068, 1069, 1069, 1069, 1070, 1070,
2495 1070, 2208, 1070, 1468, 2215, 1070, 1467, 1459, 1064, 1068,
2496 2208, 2204, 1069, 1071, 1071, 1071, 2209, 1071, 2215, 2210,
2497 1071, 1074, 1074, 1074, 1075, 1075, 1075, 1076, 1076, 1076,
2498 1065, 1077, 1077, 1077, 2212, 1453, 1067, 1068, 1074, 1449,
2499 2213, 1075, 1446, 1445, 1076, 1078, 1078, 1078, 1077, 1079,
2500 1079, 1079, 1080, 1080, 1080, 1443, 1081, 1081, 1081, 1088,
2501 1088, 1088, 1078, 1082, 1082, 1082, 1438, 1079, 1437, 1080,
2502 2213, 2214, 1076, 1081, 1083, 1083, 1083, 1088, 1083, 2212,
2504 1082, 1083, 1086, 1086, 1086, 1087, 1087, 1087, 1077, 1436,
2505 1435, 1075, 1090, 1090, 1090, 1434, 1094, 1094, 1094, 1086,
2506 1433, 2214, 1087, 1095, 1095, 1095, 1432, 1103, 1103, 1103,
2507 1090, 1079, 1078, 1094, 1431, 1430, 1082, 1429, 1425, 1081,
2508 1088, 1095, 1096, 1096, 1096, 1103, 1096, 1424, 1421, 1096,
2509 1099, 1099, 1099, 1420, 1099, 1418, 1415, 1099, 1411, 1410,
2510 1094, 1407, 1087, 1104, 1104, 1104, 1105, 1105, 1105, 1406,
2511 1105, 1401, 1386, 1105, 1384, 1090, 1383, 1095, 1110, 1110,
2512 1110, 1382, 1110, 1375, 1373, 1110, 1114, 1114, 1114, 1368,
2513 1103, 1116, 1116, 1116, 1117, 1117, 1117, 1366, 1117, 1363,
2515 1362, 1117, 1361, 1359, 1114, 1357, 1355, 1104, 1352, 1116,
2516 1122, 1122, 1122, 1348, 1122, 1339, 1332, 1122, 1125, 1125,
2517 1125, 1127, 1127, 1127, 1128, 1128, 1128, 1324, 1128, 1323,
2518 1322, 1128, 1131, 1131, 1131, 1317, 1125, 1316, 1127, 1133,
2519 1133, 1133, 1313, 1312, 1114, 1116, 1134, 1134, 1134, 1306,
2520 1131, 1135, 1135, 1135, 1304, 1303, 1133, 1137, 1137, 1137,
2521 1138, 1138, 1138, 1125, 1134, 1141, 1141, 1141, 1302, 1135,
2522 1148, 1148, 1148, 1300, 1137, 1157, 1157, 1157, 1138, 1131,
2523 1160, 1160, 1160, 1141, 1162, 1162, 1162, 1299, 1148, 1163,
2524 1163, 1163, 1166, 1166, 1166, 1167, 1167, 1167, 1169, 1169,
2526 1169, 1135, 1169, 1296, 1295, 1169, 1174, 1174, 1174, 1293,
2527 1134, 1176, 1176, 1176, 1141, 1176, 1292, 1291, 1176, 1138,
2528 1148, 1181, 1181, 1181, 1174, 1180, 1180, 1180, 1290, 1288,
2529 1141, 1286, 1281, 1163, 1183, 1183, 1183, 1280, 1183, 1167,
2530 1279, 1183, 1277, 1180, 1276, 1162, 1186, 1186, 1186, 1187,
2531 1187, 1187, 1275, 1187, 1274, 1174, 1187, 1188, 1188, 1188,
2532 1192, 1192, 1192, 1186, 1193, 1193, 1193, 1194, 1194, 1194,
2533 1195, 1195, 1195, 1271, 1263, 1188, 1196, 1196, 1196, 1258,
2534 1199, 1199, 1199, 1180, 1199, 1256, 1255, 1199, 1202, 1202,
2535 1202, 1203, 1203, 1203, 1251, 1203, 1246, 1241, 1203, 1204,
2537 1204, 1204, 1207, 1207, 1207, 1202, 1188, 1205, 1205, 1205,
2538 1239, 1205, 1237, 1234, 1205, 1233, 1204, 1208, 1208, 1208,
2539 1207, 1232, 1209, 1209, 1209, 1230, 1209, 1206, 1194, 1209,
2540 1198, 1195, 1197, 1191, 1208, 1190, 1189, 1196, 1210, 1210,
2541 1210, 1211, 1211, 1211, 1212, 1212, 1212, 1182, 1212, 1179,
2542 1175, 1212, 1215, 1215, 1215, 1210, 1173, 1172, 1211, 1216,
2543 1216, 1216, 1168, 1216, 1165, 1164, 1216, 1161, 1159, 1215,
2544 1217, 1217, 1217, 1218, 1218, 1218, 1219, 1219, 1219, 1220,
2545 1220, 1220, 1221, 1221, 1221, 1158, 1156, 1217, 1153, 1152,
2546 1218, 1151, 1150, 1219, 1149, 1147, 1220, 1222, 1222, 1222,
2548 1221, 1146, 1211, 1223, 1223, 1223, 1143, 1223, 1140, 1136,
2549 1223, 1278, 1278, 1278, 1222, 1224, 1224, 1224, 1225, 1225,
2550 1225, 1226, 1226, 1226, 1229, 1229, 1229, 1219, 1218, 1227,
2551 1227, 1227, 1224, 1227, 1132, 1225, 1227, 1130, 1226, 1228,
2552 1228, 1228, 1229, 1129, 1126, 1221, 1231, 1231, 1231, 1235,
2553 1235, 1235, 1121, 1236, 1236, 1236, 1228, 1236, 1120, 1115,
2554 1236, 1238, 1238, 1238, 1231, 1113, 1235, 1240, 1240, 1240,
2555 1242, 1242, 1242, 1109, 1108, 1225, 1243, 1243, 1243, 1238,
2556 1244, 1244, 1244, 1102, 1093, 1240, 1092, 1242, 1091, 1089,
2557 1228, 1060, 1059, 1243, 1058, 1231, 1057, 1244, 1056, 1245,
2559 1245, 1245, 1247, 1247, 1247, 1248, 1248, 1248, 1249, 1249,
2560 1249, 1250, 1250, 1250, 1053, 1052, 1240, 1245, 1049, 1044,
2561 1247, 1041, 1248, 1032, 1030, 1249, 1252, 1252, 1252, 1250,
2562 1252, 1029, 1026, 1252, 1257, 1257, 1257, 1259, 1259, 1259,
2563 1025, 1244, 1023, 1260, 1260, 1260, 1247, 1260, 1022, 1021,
2564 1260, 1020, 1257, 1019, 1259, 1017, 1261, 1261, 1261, 1016,
2565 1262, 1262, 1262, 1245, 1264, 1264, 1264, 1012, 1265, 1265,
2566 1265, 1011, 1265, 1250, 1261, 1265, 1010, 1009, 1262, 1008,
2567 1006, 1264, 1005, 1257, 1266, 1266, 1266, 1272, 1272, 1272,
2568 1273, 1273, 1273, 1282, 1282, 1282, 1283, 1283, 1283, 1284,
2570 1284, 1284, 1266, 1004, 1272, 1285, 1285, 1285, 1273, 1287,
2571 1287, 1287, 1261, 1262, 1289, 1289, 1289, 1294, 1294, 1294,
2572 1297, 1297, 1297, 1298, 1298, 1298, 1307, 1307, 1307, 1003,
2573 1307, 994, 990, 1307, 978, 1294, 977, 972, 1297, 971,
2574 1298, 1310, 1310, 1310, 1311, 1311, 1311, 969, 1273, 1314,
2575 1314, 1314, 1315, 1315, 1315, 962, 1318, 1318, 1318, 1310,
2576 1318, 1311, 961, 1318, 1321, 1321, 1321, 951, 1321, 946,
2577 943, 1321, 1325, 1325, 1325, 942, 1297, 1327, 1327, 1327,
2578 939, 1327, 934, 925, 1327, 1310, 1330, 1330, 1330, 924,
2579 1325, 1331, 1331, 1331, 923, 1331, 919, 911, 1331, 906,
2581 1333, 1333, 1333, 1330, 1333, 905, 899, 1333, 1336, 1336,
2582 1336, 1337, 1337, 1337, 898, 1337, 897, 892, 1337, 1338,
2583 1338, 1338, 1340, 1340, 1340, 1336, 1341, 1341, 1341, 891,
2584 1341, 890, 889, 1341, 888, 878, 1338, 877, 876, 1340,
2585 1342, 1342, 1342, 1343, 1343, 1343, 871, 1343, 870, 865,
2586 1343, 1346, 1346, 1346, 864, 1347, 1347, 1347, 1342, 1347,
2587 863, 862, 1347, 1349, 1349, 1349, 861, 1349, 1346, 860,
2588 1349, 859, 1353, 1353, 1353, 1356, 1356, 1356, 1358, 1358,
2589 1358, 1360, 1360, 1360, 858, 1360, 857, 852, 1360, 1342,
2590 1353, 844, 842, 1356, 836, 1358, 1364, 1364, 1364, 1367,
2592 1367, 1367, 1369, 1369, 1369, 1370, 1370, 1370, 827, 1370,
2593 822, 815, 1370, 814, 1364, 813, 811, 1367, 810, 1369,
2594 809, 808, 1358, 1371, 1371, 1371, 1372, 1372, 1372, 806,
2595 1372, 805, 804, 1372, 803, 802, 1356, 1374, 1374, 1374,
2596 1371, 1376, 1376, 1376, 1377, 1377, 1377, 1378, 1378, 1378,
2597 801, 1378, 800, 799, 1378, 1374, 1379, 1379, 1379, 1376,
2598 798, 1377, 1380, 1380, 1380, 792, 1380, 791, 790, 1380,
2599 1392, 1392, 1392, 1379, 1381, 1381, 1381, 1385, 1385, 1385,
2600 1387, 1387, 1387, 787, 1387, 786, 785, 1387, 1376, 1390,
2601 1390, 1390, 1381, 783, 779, 1385, 1391, 1391, 1391, 776,
2603 1374, 1393, 1393, 1393, 773, 1393, 766, 1390, 1393, 1396,
2604 1396, 1396, 765, 762, 1391, 1402, 1402, 1402, 1403, 1403,
2605 1403, 761, 1403, 760, 759, 1403, 749, 1396, 1404, 1404,
2606 1404, 742, 1402, 1405, 1405, 1405, 1381, 734, 1390, 1385,
2607 1408, 1408, 1408, 1409, 1409, 1409, 1404, 1391, 1412, 1412,
2608 1412, 1413, 1413, 1413, 1414, 1414, 1414, 1416, 1416, 1416,
2609 1417, 1417, 1417, 1419, 1419, 1419, 1422, 1422, 1422, 1426,
2610 1426, 1426, 733, 1427, 1427, 1427, 1428, 1428, 1428, 732,
2611 1428, 729, 724, 1428, 1422, 721, 720, 1426, 716, 1404,
2612 1427, 1439, 1439, 1439, 1440, 1440, 1440, 1441, 1441, 1441,
2614 712, 1441, 711, 710, 1441, 1442, 1442, 1442, 709, 1439,
2615 708, 1440, 1444, 1444, 1444, 1450, 1450, 1450, 704, 1450,
2616 698, 697, 1450, 1454, 1454, 1454, 694, 1454, 693, 692,
2617 1454, 1457, 1457, 1457, 691, 1458, 1458, 1458, 1439, 1458,
2618 690, 688, 1458, 1460, 1460, 1460, 687, 1460, 1457, 686,
2619 1460, 1463, 1463, 1463, 1464, 1464, 1464, 685, 1464, 681,
2620 676, 1464, 1470, 1470, 1470, 1472, 1472, 1472, 675, 1463,
2621 1473, 1473, 1473, 674, 1473, 673, 670, 1473, 668, 664,
2622 1470, 660, 1472, 1480, 1480, 1480, 1483, 1483, 1483, 659,
2623 1483, 656, 655, 1483, 654, 1486, 1486, 1486, 653, 1486,
2625 652, 1480, 1486, 1490, 1490, 1490, 1492, 1492, 1492, 1493,
2626 1493, 1493, 1463, 1493, 650, 649, 1493, 648, 1496, 1496,
2627 1496, 1490, 1496, 647, 1492, 1496, 1499, 1499, 1499, 1500,
2628 1500, 1500, 1503, 1503, 1503, 1505, 1505, 1505, 1506, 1506,
2629 1506, 1507, 1507, 1507, 1499, 646, 1500, 1508, 1508, 1508,
2630 1503, 645, 1490, 1505, 644, 643, 1506, 1511, 1511, 1511,
2631 1499, 1515, 1515, 1515, 642, 1508, 1512, 1512, 1512, 1492,
2632 1512, 641, 640, 1512, 1516, 1516, 1516, 639, 638, 1515,
2633 1517, 1517, 1517, 1519, 1519, 1519, 1520, 1520, 1520, 1521,
2634 1521, 1521, 1505, 634, 1503, 1522, 1522, 1522, 1524, 1524,
2636 1524, 1526, 1526, 1526, 1529, 1529, 1529, 1531, 1531, 1531,
2637 633, 1533, 1533, 1533, 631, 1533, 630, 1515, 1533, 629,
2638 628, 1529, 1546, 1546, 1546, 1531, 1547, 1547, 1547, 627,
2639 1547, 623, 621, 1547, 1550, 1550, 1550, 1560, 1560, 1560,
2640 1546, 1560, 620, 619, 1560, 1564, 1564, 1564, 1568, 1568,
2641 1568, 1570, 1570, 1570, 1571, 1571, 1571, 618, 1571, 613,
2642 609, 1571, 608, 1564, 605, 604, 1568, 603, 1570, 1582,
2643 1582, 1582, 1584, 1584, 1584, 1585, 1585, 1585, 602, 601,
2644 1546, 1586, 1586, 1586, 1587, 1587, 1587, 1588, 1588, 1588,
2645 1584, 600, 1585, 597, 596, 1570, 1589, 1589, 1589, 1586,
2647 1589, 595, 1587, 1589, 1588, 1590, 1590, 1590, 1592, 1592,
2648 1592, 1593, 1593, 1593, 1594, 1594, 1594, 1595, 1595, 1595,
2649 594, 591, 1590, 1597, 1597, 1597, 1592, 1600, 1600, 1600,
2650 589, 586, 1594, 585, 584, 1595, 583, 582, 1586, 579,
2651 578, 1597, 1587, 1601, 1601, 1601, 1602, 1602, 1602, 1604,
2652 1604, 1604, 1605, 1605, 1605, 1609, 1609, 1609, 1610, 1610,
2653 1610, 1601, 1610, 577, 576, 1610, 1622, 1622, 1622, 1630,
2654 1630, 1630, 1609, 1633, 1633, 1633, 575, 1594, 1638, 1638,
2655 1638, 572, 1597, 571, 1622, 570, 1630, 1647, 1647, 1647,
2656 569, 1633, 1639, 1639, 1639, 1638, 1639, 567, 564, 1639,
2658 1649, 1649, 1649, 562, 1647, 559, 1651, 1651, 1651, 1653,
2659 1653, 1653, 1654, 1654, 1654, 558, 1654, 557, 556, 1654,
2660 1655, 1655, 1655, 1622, 1651, 554, 1653, 1656, 1656, 1656,
2661 1657, 1657, 1657, 553, 1657, 550, 549, 1657, 1655, 1660,
2662 1660, 1660, 1661, 1661, 1661, 1656, 1661, 548, 547, 1661,
2663 1662, 1662, 1662, 1663, 1663, 1663, 1660, 1665, 1665, 1665,
2664 1666, 1666, 1666, 1670, 1670, 1670, 546, 1662, 1675, 1675,
2665 1675, 1663, 1676, 1676, 1676, 545, 1676, 544, 1666, 1676,
2666 542, 1670, 1690, 1690, 1690, 1675, 1693, 1693, 1693, 540,
2667 537, 1656, 1696, 1696, 1696, 1697, 1697, 1697, 536, 1697,
2669 1690, 535, 1697, 1693, 1700, 1700, 1700, 532, 527, 1696,
2670 1702, 1702, 1702, 1703, 1703, 1703, 525, 1703, 524, 523,
2671 1703, 1700, 522, 1711, 1711, 1711, 521, 1702, 1712, 1712,
2672 1712, 520, 1712, 516, 515, 1712, 1713, 1713, 1713, 1690,
2673 1711, 1714, 1714, 1714, 1715, 1715, 1715, 514, 1715, 513,
2674 509, 1715, 508, 1713, 1718, 1718, 1718, 507, 1714, 1720,
2675 1720, 1720, 1721, 1721, 1721, 506, 1721, 505, 503, 1721,
2676 500, 499, 1718, 1724, 1724, 1724, 497, 1720, 1725, 1725,
2677 1725, 495, 1725, 490, 487, 1725, 1726, 1726, 1726, 485,
2678 1724, 1731, 1731, 1731, 1734, 1734, 1734, 482, 1735, 1735,
2680 1735, 481, 1735, 479, 1726, 1735, 1751, 1751, 1751, 478,
2681 477, 1734, 1752, 1752, 1752, 1753, 1753, 1753, 1754, 1754,
2682 1754, 476, 1720, 475, 1751, 472, 1755, 1755, 1755, 471,
2683 1755, 470, 1753, 1755, 469, 1754, 1756, 1756, 1756, 468,
2684 1756, 462, 461, 1756, 1761, 1761, 1761, 1762, 1762, 1762,
2685 459, 1762, 453, 452, 1762, 1751, 1764, 1764, 1764, 1753,
2686 448, 1761, 1765, 1765, 1765, 444, 1765, 440, 436, 1765,
2687 1767, 1767, 1767, 1764, 1769, 1769, 1769, 430, 1769, 426,
2688 422, 1769, 1772, 1772, 1772, 418, 417, 1767, 1773, 1773,
2689 1773, 416, 1773, 415, 411, 1773, 1774, 1774, 1774, 1772,
2691 1775, 1775, 1775, 407, 1775, 404, 403, 1775, 1782, 1782,
2692 1782, 402, 398, 1774, 1783, 1783, 1783, 392, 1783, 391,
2693 387, 1783, 1788, 1788, 1788, 383, 1782, 1789, 1789, 1789,
2694 1792, 1792, 1792, 379, 1792, 378, 374, 1792, 371, 1788,
2695 1788, 1799, 1799, 1799, 1808, 1808, 1808, 1809, 1809, 1809,
2696 1810, 1810, 1810, 370, 1826, 1826, 1826, 1782, 1799, 1811,
2697 1811, 1811, 1808, 1811, 365, 361, 1811, 1810, 1813, 1813,
2698 1813, 1826, 1813, 353, 352, 1813, 1818, 1818, 1818, 351,
2699 1818, 347, 341, 1818, 340, 1822, 1822, 1822, 336, 1822,
2700 330, 1808, 1822, 1827, 1827, 1827, 329, 1827, 328, 327,
2702 1827, 1829, 1829, 1829, 326, 1829, 325, 321, 1829, 1832,
2703 1832, 1832, 314, 1832, 312, 311, 1832, 1841, 1841, 1841,
2704 1843, 1843, 1843, 1844, 1844, 1844, 1845, 1845, 1845, 310,
2705 1845, 305, 298, 1845, 297, 1841, 296, 1843, 1843, 295,
2706 1844, 1844, 294, 290, 1845, 1846, 1846, 1846, 1847, 1847,
2707 1847, 1852, 1852, 1852, 1853, 1853, 1853, 286, 1853, 280,
2708 278, 1853, 1862, 1862, 1862, 1863, 1863, 1863, 1852, 1863,
2709 273, 272, 1863, 1868, 1868, 1868, 1869, 1869, 1869, 268,
2710 1862, 1870, 1870, 1870, 1871, 1871, 1871, 262, 1871, 261,
2711 1868, 1871, 260, 1869, 1874, 1874, 1874, 256, 1870, 1889,
2713 1889, 1889, 1892, 1892, 1892, 1893, 1893, 1893, 248, 1893,
2714 246, 1874, 1893, 245, 1894, 1894, 1894, 1889, 1894, 1892,
2715 1892, 1894, 241, 1893, 238, 1862, 1897, 1897, 1897, 1898,
2716 1898, 1898, 1894, 1895, 1895, 1895, 1895, 1895, 1895, 1895,
2717 1895, 1895, 236, 235, 1895, 1912, 1912, 1912, 234, 1895,
2718 1895, 1895, 1895, 1895, 1903, 1903, 1903, 230, 1903, 227,
2719 226, 1903, 223, 1912, 219, 215, 211, 210, 209, 203,
2720 1915, 1915, 1915, 1917, 1917, 1917, 1895, 1895, 1896, 1896,
2721 1896, 1896, 1896, 1896, 1896, 1896, 1896, 1915, 202, 1896,
2722 1917, 200, 197, 185, 1896, 1896, 1896, 1896, 1896, 1916,
2724 1916, 1916, 0, 1916, 0, 0, 1916, 1918, 1918, 1918,
2725 0, 1918, 0, 0, 1918, 1919, 1919, 1919, 1921, 1921,
2726 1921, 1896, 1896, 1920, 1920, 1920, 0, 1920, 0, 0,
2727 1920, 0, 1919, 0, 0, 1921, 1922, 1922, 1922, 0,
2728 1922, 0, 0, 1922, 1936, 1936, 1936, 0, 1936, 0,
2729 0, 1936, 0, 0, 1951, 1951, 1951, 1985, 1985, 1985,
2730 0, 0, 1936, 1939, 1939, 1939, 1939, 1939, 1939, 1939,
2731 1939, 1939, 1951, 0, 1939, 1985, 1985, 0, 0, 1939,
2732 1939, 1939, 1939, 1939, 1955, 1955, 1955, 0, 1955, 0,
2733 0, 1955, 1958, 1958, 1958, 0, 1958, 0, 0, 1958,
2735 1992, 1992, 1992, 1993, 1993, 1993, 1939, 1939, 1940, 1940,
2736 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1992, 0, 1940,
2737 1993, 0, 0, 0, 1940, 1940, 1940, 1940, 1940, 1961,
2738 1961, 1961, 0, 1961, 0, 0, 1961, 1964, 1964, 1964,
2739 0, 1964, 0, 0, 1964, 2010, 2010, 2010, 2014, 2014,
2740 2014, 1940, 1940, 2017, 2017, 2017, 0, 2018, 2018, 2018,
2741 0, 2018, 0, 2010, 2018, 0, 2014, 2019, 2019, 2019,
2742 2017, 2020, 2020, 2020, 0, 2020, 0, 0, 2020, 0,
2743 2037, 2037, 2037, 0, 2019, 2041, 2041, 2041, 0, 2041,
2744 0, 0, 2041, 2163, 2163, 2163, 0, 2014, 2037, 2044,
2746 2044, 2044, 0, 2044, 0, 0, 2044, 2217, 2217, 2217,
2747 0, 2163, 2174, 2174, 2174, 2037, 2174, 0, 0, 2174,
2748 2218, 2218, 2218, 0, 0, 2217, 0, 0, 0, 0,
2749 2174, 0, 0, 0, 0, 0, 0, 0, 2218, 2221,
2750 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2222, 2222,
2751 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2223, 2223, 2223,
2752 2223, 2223, 2223, 2223, 2223, 2223, 2224, 2224, 2224, 2224,
2753 2224, 2224, 2224, 2224, 2224, 2225, 2225, 2225, 2225, 2225,
2754 2225, 2225, 2225, 2225, 2226, 2226, 2226, 2226, 2226, 2226,
2755 2226, 2226, 2226, 2227, 2227, 2227, 2227, 2227, 2227, 2227,
2757 2227, 2227, 2228, 2228, 2228, 2228, 2228, 2228, 2228, 2228,
2758 2228, 2229, 2229, 2229, 2229, 2229, 2229, 2229, 2229, 2229,
2759 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2231,
2760 2231, 2231, 2231, 2231, 2231, 2231, 2231, 2231, 2232, 2232,
2761 2232, 2232, 2232, 2232, 2232, 2232, 2232, 2233, 2233, 2233,
2762 2233, 2233, 2233, 2233, 2233, 2233, 2234, 2234, 2234, 2234,
2763 2234, 2234, 2234, 2234, 2234, 2235, 2235, 2235, 2235, 2235,
2764 2235, 2235, 2235, 2235, 2236, 2236, 2236, 2236, 2236, 2236,
2765 2236, 2236, 2236, 2237, 2237, 2237, 2237, 2237, 2237, 2237,
2766 2237, 2237, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238,
2768 2238, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239,
2769 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2241,
2770 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2242, 2242,
2771 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2243, 2243, 2243,
2772 2243, 2243, 2243, 2243, 2243, 2243, 2244, 2244, 2244, 2244,
2773 2244, 2244, 2244, 2244, 2244, 2245, 2245, 2245, 2245, 2245,
2774 2245, 2245, 2245, 2245, 2246, 2246, 2246, 2246, 2246, 2246,
2775 2246, 2246, 2246, 2247, 2247, 2247, 2247, 2247, 2247, 2247,
2776 2247, 2247, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248,
2777 2248, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249,
2779 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251,
2780 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252,
2781 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253,
2782 2253, 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254,
2783 2254, 2254, 2254, 2254, 2254, 2255, 2255, 2255, 2255, 2255,
2784 2255, 2255, 2255, 2255, 2256, 2256, 2256, 2256, 2256, 2256,
2785 2256, 2256, 2256, 2257, 2257, 2257, 2257, 2257, 2257, 2257,
2786 2257, 2257, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258,
2787 2258, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259,
2788 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2261,
2790 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2261, 2262, 2262,
2791 2262, 0, 0, 0, 2262, 2263, 2263, 2263, 0, 0,
2792 0, 2263, 2264, 2264, 2264, 0, 0, 0, 2264, 2265,
2793 2265, 2265, 0, 0, 0, 2265, 2266, 2266, 2266, 0,
2794 0, 0, 2266, 2267, 2267, 2267, 0, 0, 0, 2267,
2795 2268, 2268, 2268, 0, 0, 0, 2268, 2269, 2269, 2269,
2796 0, 0, 0, 2269, 2270, 2270, 2270, 0, 0, 0,
2797 2270, 2271, 2271, 2271, 0, 0, 0, 2271, 2272, 2272,
2798 2272, 0, 0, 0, 2272, 2273, 2273, 2273, 0, 0,
2799 0, 2273, 2274, 2274, 2274, 0, 0, 0, 2274, 2275,
2801 2275, 2275, 0, 0, 0, 2275, 2276, 2276, 2276, 0,
2802 0, 0, 2276, 2277, 2277, 2277, 0, 0, 0, 2277,
2803 2278, 2278, 2278, 0, 0, 0, 2278, 2279, 2279, 2279,
2804 0, 0, 0, 2279, 2280, 2280, 2280, 2280, 2280, 2280,
2805 2280, 0, 2280, 2281, 2281, 2281, 0, 0, 0, 2281,
2806 2282, 0, 0, 0, 2282, 2283, 2283, 2283, 0, 0,
2807 0, 2283, 2284, 0, 0, 0, 2284, 2285, 2285, 2285,
2808 0, 0, 0, 2285, 2286, 0, 0, 0, 2286, 2287,
2809 2287, 2287, 0, 0, 0, 2287, 2288, 0, 0, 0,
2810 2288, 2289, 2289, 2289, 0, 0, 0, 2289, 2290, 0,
2812 0, 0, 2290, 2291, 0, 0, 0, 2291, 2292, 2292,
2813 2292, 0, 0, 0, 2292, 2293, 0, 0, 0, 2293,
2814 2294, 2294, 2294, 0, 0, 0, 2294, 2295, 0, 0,
2815 0, 2295, 2296, 2296, 2296, 0, 0, 0, 2296, 2297,
2816 0, 0, 0, 2297, 2298, 2298, 2298, 0, 0, 0,
2817 2298, 2299, 0, 0, 0, 2299, 2300, 2300, 2300, 0,
2818 0, 0, 2300, 2301, 0, 0, 0, 2301, 2302, 2302,
2819 2302, 0, 0, 0, 2302, 2303, 0, 0, 0, 2303,
2820 2304, 2304, 2304, 0, 0, 0, 2304, 2305, 0, 0,
2821 0, 2305, 2306, 2306, 2306, 0, 0, 0, 2306, 2307,
2823 0, 0, 0, 2307, 2308, 2308, 2308, 0, 0, 0,
2824 2308, 2309, 0, 0, 0, 2309, 2310, 2310, 2310, 0,
2825 0, 0, 2310, 2311, 0, 0, 0, 2311, 2312, 2312,
2826 2312, 0, 0, 0, 2312, 2313, 0, 0, 0, 2313,
2827 2314, 2314, 2314, 0, 0, 0, 2314, 2315, 0, 0,
2828 0, 2315, 2316, 2316, 2316, 2316, 2316, 2316, 2316, 2316,
2829 2316, 2317, 0, 0, 0, 0, 2317, 2318, 2318, 2318,
2830 0, 0, 0, 2318, 2319, 2319, 2319, 2319, 0, 0,
2831 2319, 2319, 2320, 2320, 2320, 0, 0, 0, 2320, 2321,
2832 2321, 2321, 2321, 0, 0, 2321, 2321, 2322, 2322, 2322,
2834 0, 0, 0, 2322, 2323, 2323, 2323, 2323, 0, 0,
2835 2323, 2323, 2324, 2324, 2324, 0, 0, 0, 2324, 2325,
2836 2325, 2325, 2325, 0, 0, 2325, 2325, 2326, 2326, 2326,
2837 0, 0, 0, 2326, 2327, 2327, 2327, 2327, 0, 0,
2838 2327, 2327, 2328, 2328, 2328, 0, 0, 0, 2328, 2329,
2839 2329, 2329, 2329, 0, 0, 2329, 2329, 2330, 2330, 2330,
2840 0, 0, 0, 2330, 2331, 2331, 2331, 2331, 0, 0,
2841 2331, 2331, 2332, 2332, 2332, 0, 0, 0, 2332, 2333,
2842 2333, 2333, 2333, 0, 0, 2333, 2333, 2334, 2334, 2334,
2843 0, 0, 0, 2334, 2335, 2335, 2335, 2335, 0, 0,
2845 2335, 2335, 2336, 2336, 2336, 0, 0, 0, 2336, 2337,
2846 2337, 2337, 2337, 0, 0, 2337, 2337, 2338, 2338, 2338,
2847 2338, 0, 2338, 0, 2338, 2339, 2339, 2339, 2339, 0,
2848 0, 2339, 2339, 2340, 2340, 2340, 2340, 0, 2340, 0,
2849 2340, 2341, 2341, 2341, 2341, 0, 0, 2341, 2341, 2342,
2850 2342, 2342, 0, 0, 0, 2342, 2343, 2343, 2343, 2343,
2851 0, 0, 2343, 2343, 2344, 2344, 2344, 2344, 0, 2344,
2852 0, 2344, 2345, 2345, 2345, 2345, 0, 0, 2345, 2345,
2853 2346, 2346, 2346, 0, 0, 0, 2346, 2347, 2347, 2347,
2854 2347, 0, 0, 2347, 2347, 2348, 2348, 2348, 0, 0,
2856 0, 2348, 2349, 2349, 2349, 2349, 0, 0, 2349, 2349,
2857 2350, 2350, 2350, 2350, 0, 0, 2350, 2350, 2351, 2351,
2858 2351, 0, 0, 0, 2351, 2352, 2352, 2352, 2352, 0,
2859 0, 2352, 2352, 2353, 2353, 2353, 2353, 2353, 2353, 2353,
2860 2353, 2353, 2354, 0, 2354, 0, 0, 2354, 2355, 2355,
2861 2355, 0, 0, 0, 2355, 2356, 2356, 2356, 2356, 0,
2862 0, 2356, 2356, 2357, 2357, 2357, 2357, 0, 2357, 0,
2863 2357, 2358, 2358, 2358, 2358, 0, 0, 2358, 2358, 2359,
2864 2359, 2359, 0, 0, 0, 2359, 2360, 2360, 2360, 2360,
2865 0, 0, 2360, 2360, 2361, 2361, 2361, 0, 0, 0,
2867 2361, 2362, 2362, 2362, 2362, 0, 0, 2362, 2362, 2363,
2868 2363, 2363, 0, 0, 0, 2363, 2364, 2364, 2364, 2364,
2869 0, 0, 2364, 2364, 2365, 2365, 2365, 0, 0, 0,
2870 2365, 2366, 2366, 2366, 2366, 0, 0, 2366, 2366, 2367,
2871 2367, 2367, 0, 0, 0, 2367, 2368, 2368, 2368, 2368,
2872 0, 0, 2368, 2368, 2369, 2369, 2369, 0, 0, 0,
2873 2369, 2370, 2370, 2370, 2370, 0, 0, 2370, 2370, 2371,
2874 2371, 2371, 0, 0, 0, 2371, 2372, 2372, 2372, 2372,
2875 0, 0, 2372, 2372, 2373, 2373, 2373, 0, 0, 0,
2876 2373, 2374, 2374, 2374, 2374, 0, 0, 2374, 2374, 2375,
2878 2375, 2375, 0, 0, 0, 2375, 2376, 2376, 2376, 2376,
2879 0, 0, 2376, 2376, 2377, 2377, 2377, 0, 0, 0,
2880 2377, 2378, 2378, 2378, 2378, 0, 0, 2378, 2378, 2379,
2881 2379, 2379, 0, 0, 0, 2379, 2380, 2380, 2380, 2380,
2882 0, 0, 2380, 2380, 2381, 2381, 2381, 0, 0, 0,
2883 2381, 2382, 2382, 2382, 2382, 0, 0, 2382, 2382, 2383,
2884 2383, 2383, 0, 0, 0, 2383, 2384, 2384, 2384, 2384,
2885 0, 0, 2384, 2384, 2385, 2385, 2385, 0, 0, 0,
2886 2385, 2386, 2386, 2386, 2386, 0, 0, 2386, 2386, 2387,
2887 2387, 2387, 2387, 0, 0, 2387, 2387, 2388, 2388, 2388,
2889 0, 0, 0, 2388, 2389, 2389, 2389, 2389, 0, 0,
2890 2389, 2389, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390,
2891 2390, 2391, 2391, 2391, 2391, 2391, 2391, 2391, 2391, 2391,
2892 2392, 2392, 2392, 0, 0, 0, 2392, 2393, 2393, 2393,
2893 2393, 0, 0, 2393, 2393, 2394, 2394, 2394, 0, 0,
2894 0, 2394, 2395, 2395, 2395, 2395, 0, 0, 2395, 2395,
2895 2396, 2396, 2396, 0, 0, 0, 2396, 2397, 2397, 2397,
2896 2397, 0, 0, 2397, 2397, 2398, 2398, 2398, 0, 0,
2897 0, 2398, 2399, 2399, 2399, 2399, 0, 0, 2399, 2399,
2898 2400, 2400, 2400, 0, 0, 0, 2400, 2401, 2401, 2401,
2900 0, 0, 0, 2401, 2402, 2402, 2402, 2402, 0, 0,
2901 2402, 2402, 2403, 2403, 2403, 2403, 0, 2403, 0, 2403,
2902 2404, 2404, 2404, 2404, 0, 0, 2404, 2404, 2405, 2405,
2903 2405, 2405, 0, 2405, 0, 2405, 2406, 2406, 2406, 2406,
2904 0, 0, 2406, 2406, 2407, 2407, 2407, 0, 0, 0,
2905 2407, 2408, 2408, 2408, 2408, 0, 0, 2408, 2408, 2409,
2906 2409, 2409, 0, 0, 0, 2409, 2410, 2410, 2410, 2410,
2907 0, 0, 2410, 2410, 2411, 2411, 2411, 0, 0, 0,
2908 2411, 2412, 2412, 2412, 2412, 0, 0, 2412, 2412, 2413,
2909 2413, 2413, 0, 0, 0, 2413, 2414, 2414, 2414, 2414,
2911 0, 0, 2414, 2414, 2415, 2415, 2415, 0, 0, 0,
2912 2415, 2416, 2416, 2416, 2416, 0, 0, 2416, 2416, 2417,
2913 2417, 2417, 0, 0, 0, 2417, 2418, 2418, 2418, 2418,
2914 0, 0, 2418, 2418, 2419, 2419, 2419, 0, 0, 0,
2915 2419, 2420, 2420, 2420, 2420, 0, 0, 2420, 2420, 2421,
2916 2421, 2421, 2421, 0, 2421, 0, 2421, 2422, 2422, 2422,
2917 2422, 0, 0, 2422, 2422, 2423, 2423, 2423, 2423, 0,
2918 0, 2423, 2423, 2424, 2424, 2424, 2424, 0, 2424, 0,
2919 2424, 2425, 2425, 2425, 2425, 0, 0, 2425, 2425, 2426,
2920 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2427, 2427,
2922 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2428, 2428, 2428,
2923 0, 0, 0, 2428, 2429, 2429, 2429, 2429, 0, 0,
2924 2429, 2429, 2430, 2430, 2430, 0, 0, 0, 2430, 2431,
2925 2431, 2431, 2431, 0, 0, 2431, 2431, 2432, 2432, 2432,
2926 0, 0, 0, 2432, 2433, 2433, 2433, 2433, 0, 0,
2927 2433, 2433, 2434, 2434, 2434, 0, 0, 0, 2434, 2435,
2928 2435, 2435, 2435, 0, 0, 2435, 2435, 2436, 2436, 2436,
2929 0, 0, 0, 2436, 2437, 2437, 2437, 0, 0, 0,
2930 2437, 2438, 2438, 2438, 2438, 0, 0, 2438, 2438, 2439,
2931 2439, 2439, 2439, 0, 2439, 0, 2439, 2440, 2440, 2440,
2933 2440, 0, 0, 2440, 2440, 2441, 2441, 2441, 2441, 0,
2934 2441, 0, 2441, 2442, 2442, 2442, 2442, 0, 0, 2442,
2935 2442, 2443, 2443, 2443, 0, 0, 0, 2443, 2444, 2444,
2936 2444, 2444, 0, 0, 2444, 2444, 2445, 2445, 2445, 0,
2937 0, 0, 2445, 2446, 2446, 2446, 2446, 0, 0, 2446,
2938 2446, 2447, 2447, 2447, 0, 0, 0, 2447, 2448, 2448,
2939 2448, 2448, 0, 0, 2448, 2448, 2449, 2449, 2449, 2449,
2940 0, 2449, 0, 2449, 2450, 2450, 2450, 2450, 0, 0,
2941 2450, 2450, 2451, 2451, 2451, 0, 0, 0, 2451, 2452,
2942 2452, 2452, 2452, 0, 0, 2452, 2452, 2453, 2453, 2453,
2944 2453, 0, 2453, 0, 2453, 2454, 2454, 2454, 2454, 0,
2945 0, 2454, 2454, 2455, 2455, 2455, 0, 0, 0, 2455,
2946 2456, 2456, 2456, 2456, 0, 0, 2456, 2456, 2457, 2457,
2947 2457, 2457, 0, 0, 2457, 2457, 2458, 2458, 2458, 2458,
2948 0, 0, 2458, 2458, 2459, 2459, 2459, 2459, 0, 0,
2949 2459, 2459, 2460, 2460, 2460, 2460, 2460, 2460, 2460, 2460,
2950 2460, 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2461,
2951 2462, 2462, 2462, 2462, 0, 2462, 0, 2462, 2463, 2463,
2952 2463, 2463, 0, 0, 2463, 2463, 2464, 2464, 2464, 0,
2953 0, 0, 2464, 2465, 2465, 2465, 2465, 0, 0, 2465,
2955 2465, 2466, 2466, 2466, 0, 0, 0, 2466, 2467, 2467,
2956 2467, 2467, 0, 0, 2467, 2467, 2468, 2468, 2468, 2468,
2957 0, 2468, 0, 2468, 2469, 2469, 2469, 2469, 0, 0,
2958 2469, 2469, 2470, 2470, 2470, 2470, 0, 2470, 0, 2470,
2959 2471, 2471, 2471, 0, 0, 0, 2471, 2472, 2472, 2472,
2960 0, 0, 0, 2472, 2473, 2473, 2473, 2473, 0, 0,
2961 2473, 2473, 2474, 2474, 2474, 0, 0, 0, 2474, 2475,
2962 2475, 2475, 0, 0, 0, 2475, 2476, 2476, 2476, 2476,
2963 0, 0, 2476, 2476, 2477, 2477, 2477, 0, 0, 0,
2964 2477, 2478, 2478, 2478, 0, 0, 0, 2478, 2479, 2479,
2966 2479, 2479, 0, 0, 2479, 2479, 2480, 2480, 2480, 0,
2967 0, 0, 2480, 2481, 2481, 2481, 2481, 0, 0, 2481,
2968 2481, 2482, 2482, 2482, 0, 0, 0, 2482, 2483, 2483,
2969 2483, 2483, 0, 0, 2483, 2483, 2484, 2484, 2484, 2484,
2970 0, 0, 2484, 2484, 2485, 2485, 2485, 0, 0, 0,
2971 2485, 2486, 2486, 2486, 2486, 0, 0, 2486, 2486, 2487,
2972 2487, 2487, 2487, 0, 0, 2487, 2487, 2488, 2488, 2488,
2973 2488, 0, 0, 2488, 2488, 2489, 2489, 2489, 2489, 2489,
2974 2489, 2489, 2489, 2489, 2490, 2490, 2490, 2490, 2490, 2490,
2975 2490, 2490, 2490, 2491, 2491, 2491, 2491, 2491, 2491, 2491,
2977 2491, 2491, 2492, 2492, 2492, 2492, 2492, 2492, 2492, 2492,
2978 2492, 2493, 2493, 2493, 2493, 2493, 2493, 2493, 2493, 2493,
2979 2494, 2494, 2494, 2494, 2494, 2494, 2494, 2494, 2494, 2495,
2980 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2496, 2496,
2981 2496, 2496, 2496, 2496, 2496, 2496, 2496, 2220, 2220, 2220,
2982 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2983 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2984 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2985 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2986 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2988 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2989 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220
2992 /* Table of booleans, true if rule could match eol. */
2993 static yyconst flex_int32_t yy_rule_can_match_eol[381] =
2995 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2996 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2997 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2998 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2999 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3000 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3001 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3002 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3003 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3004 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3005 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3006 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3007 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3008 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3009 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3010 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3011 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0,
3012 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
3013 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1,
3016 static yy_state_type yy_last_accepting_state;
3017 static char *yy_last_accepting_cpos;
3019 extern int surf_parse__flex_debug;
3020 int surf_parse__flex_debug = 0;
3022 /* The intent behind this definition is that it'll catch
3023 * any uses of REJECT which flex missed.
3025 #define REJECT reject_used_but_not_detected
3026 #define yymore() yymore_used_but_not_detected
3027 #define YY_MORE_ADJ 0
3028 #define YY_RESTORE_YY_MORE_OFFSET
3029 char *surf_parse_text;
3030 /* Validating XML processor for src/surf/simgrid.dtd.
3031 * Generated 2010/12/03 11:37:14.
3033 * This program was generated with the FleXML XML processor generator.
3034 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3035 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3036 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3038 * There are two, intertwined parts to this program, part A and part B.
3043 * Some parts, here collectively called "Part A", are found in the
3044 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3045 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3047 * You can redistribute, use, perform, display and/or modify "Part A"
3048 * provided the following two conditions hold:
3050 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3051 * FleXML; without even the implied warranty of MERCHANTABILITY or
3052 * FITNESS FOR A PARTICULAR PURPOSE.
3054 * 2. The program distribution conditions do not in any way affect the
3055 * distribution conditions of the FleXML system used to generate this
3056 * file or any version of FleXML derived from that system.
3058 * Notice that these are explicit rights granted to you for files
3059 * generated by the FleXML system. For your rights in connection with
3060 * the FleXML system itself please consult the GNU General Public License.
3065 * The other parts, here collectively called "Part B", and which came
3066 * from the DTD used by FleXML to generate this program, can be
3067 * distributed (or not, as the case may be) under the terms of whoever
3068 * wrote them, provided these terms respect and obey the two conditions
3069 * above under the heading "Part A".
3071 * The author of and contributors to FleXML specifically disclaim
3072 * any copyright interest in "Part B", unless "Part B" was written
3073 * by the author of or contributors to FleXML.
3077 /* Version strings. */
3078 const char rcs_surfxml_flexml_skeleton[] =
3079 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3080 const char rcs_surfxml_flexml[] =
3081 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3084 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3091 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3092 # ifndef __STRICT_ANSI__
3094 # include <process.h>
3097 # include <unistd.h>
3100 #ifndef FLEXML_INDEXSTACKSIZE
3101 #define FLEXML_INDEXSTACKSIZE 1000
3104 /* Generated definitions. */
3105 #define FLEXML_yylineno
3106 #ifndef FLEXML_BUFFERSTACKSIZE
3107 #define FLEXML_BUFFERSTACKSIZE 1000000
3109 #define FLEXML_NEED_BUFFERLIT
3111 /* XML processor api. */
3112 /* FleXML-provided data. */
3113 int surfxml_pcdata_ix;
3114 extern char *surfxml_bufferstack;
3115 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3116 AT_surfxml_random_generator AX_surfxml_random_generator;
3117 #define A_surfxml_random_generator AX_surfxml_random_generator
3118 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3119 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3120 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3121 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3122 AT_surfxml_prop_id AX_surfxml_prop_id;
3123 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3124 AT_surfxml_host_id AX_surfxml_host_id;
3125 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3126 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3127 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3128 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3129 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3130 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3131 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3132 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3133 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3134 AT_surfxml_host_state AX_surfxml_host_state;
3135 #define A_surfxml_host_state AX_surfxml_host_state
3136 AT_surfxml_AS_id AX_surfxml_AS_id;
3137 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3138 AT_surfxml_host_power AX_surfxml_host_power;
3139 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3140 AT_surfxml_router_id AX_surfxml_router_id;
3141 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3142 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3143 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3144 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3145 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3146 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3147 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3148 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3149 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3150 AT_surfxml_trace_file AX_surfxml_trace_file;
3151 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3152 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3153 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3154 AT_surfxml_random_min AX_surfxml_random_min;
3155 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3156 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3157 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3158 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3159 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3160 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3161 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3162 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3163 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3164 AT_surfxml_argument_value AX_surfxml_argument_value;
3165 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3166 AT_surfxml_link_state AX_surfxml_link_state;
3167 #define A_surfxml_link_state AX_surfxml_link_state
3168 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3169 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3170 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3171 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3172 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3173 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3174 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3175 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3176 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3177 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3178 AT_surfxml_random_mean AX_surfxml_random_mean;
3179 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3180 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3181 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3182 AT_surfxml_link_latency AX_surfxml_link_latency;
3183 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3184 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3185 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3186 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3187 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3188 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3189 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3190 AT_surfxml_random_id AX_surfxml_random_id;
3191 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3192 AT_surfxml_random_max AX_surfxml_random_max;
3193 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3194 AT_surfxml_link_id AX_surfxml_link_id;
3195 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3196 AT_surfxml_process_host AX_surfxml_process_host;
3197 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3198 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3199 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3200 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3201 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3202 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3203 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3204 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3205 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3206 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3207 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3208 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3209 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3210 AT_surfxml_prop_value AX_surfxml_prop_value;
3211 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3212 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3213 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3214 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3215 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3216 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3217 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3218 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3219 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3220 AT_surfxml_process_function AX_surfxml_process_function;
3221 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3222 AT_surfxml_peer_id AX_surfxml_peer_id;
3223 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3224 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3225 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3226 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3227 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3228 AT_surfxml_host_core AX_surfxml_host_core;
3229 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3230 AT_surfxml_host_availability AX_surfxml_host_availability;
3231 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3232 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3233 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3234 AT_surfxml_route_src AX_surfxml_route_src;
3235 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3236 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3237 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3238 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3239 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3240 AT_surfxml_trace_id AX_surfxml_trace_id;
3241 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3242 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3243 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3244 AT_surfxml_peer_power AX_surfxml_peer_power;
3245 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3246 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3247 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3248 AT_surfxml_config_id AX_surfxml_config_id;
3249 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3250 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3251 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3252 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3253 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3254 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3255 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3256 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3257 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3258 AT_surfxml_route_dst AX_surfxml_route_dst;
3259 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3260 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3261 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3262 AT_surfxml_platform_version AX_surfxml_platform_version;
3263 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3267 # define ENTER(state) debug_enter(state,#state)
3268 # define LEAVE debug_leave()
3269 # define SET(state) debug_set(state,#state)
3270 static void debug_enter(int, const char*);
3271 static void debug_leave(void);
3272 static void debug_set(int, const char*);
3274 # define ENTER(state) (yy_push_state(state))
3275 # define LEAVE (yy_pop_state())
3276 # define SET(state) BEGIN(state)
3279 /* Generic actions. */
3280 #define SKIP /*skip*/
3281 #define SUCCEED CLEANUP; return 0
3283 #define FAIL return fail
3284 static int fail(const char*, ...);
3286 enum {flexml_max_err_msg_size = 512};
3287 static char flexml_err_msg[flexml_max_err_msg_size];
3288 const char * surfxml_parse_err_msg()
3290 return flexml_err_msg;
3292 static void reset_surfxml_parse_err_msg()
3294 flexml_err_msg[0] = '\0';
3298 static void cleanup(void);
3299 #define CLEANUP cleanup()
3301 /* Text buffer stack handling. */
3302 char *surfxml_bufferstack = NULL;
3303 static int blimit = FLEXML_BUFFERSTACKSIZE;
3304 static int bnext = 1;
3306 static int *indexstack = NULL;
3307 static int ilimit = FLEXML_INDEXSTACKSIZE;
3308 static int inext = 1;
3310 #define BUFFERSET(P) (P = bnext)
3311 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3312 #define BUFFERDONE (BUFFERPUTC('\0'))
3314 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3316 /* after this is called, there are at least 2 slots left in the stack */
3317 static int ck_blimit()
3319 if (bnext >= blimit) {
3320 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3322 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3324 surfxml_bufferstack = temp;
3330 /* after this is called, there are at least 2 slots left in the stack */
3331 static int ck_ilimit()
3333 if (inext >= ilimit) {
3334 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3336 int *temp = (int *) realloc(indexstack, ilimit);
3344 #ifdef FLEXML_NEED_BUFFERLIT
3345 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3347 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3348 assert(s <= e); BUFFERSET(*pp);
3350 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3351 else BUFFERPUTC(*s);
3357 static void pushbuffer(int p)
3360 indexstack[inext++] = p;
3361 indexstack[inext++] = bnext;
3364 static int popbuffer(void)
3367 bnext = indexstack[--inext];
3368 return indexstack[--inext];
3371 /* General internal entities are `unput' back onto the input stream... */
3372 #define ENTITYTEXT(T) \
3373 { char *s = (T), *e = s+strlen(s);\
3374 while (--e >= s) { unput(*e); }}
3376 /* Flex standard options. */
3377 #define YY_NO_INPUT 1
3378 /* Flex user-requested options. */
3379 /* XML character classes (currently restricted to ASCII). */
3380 /* "Common syntactic structures." */
3381 /* "Names and Tokens." */
3382 /* Miscellaneous. */
3383 /* Parser states (flex `exclusive start conditions'):
3385 * PROLOG the XML prolog of the document before <?xml...>
3386 * DOCTYPE the XML prolog of the document after <?xml...>
3387 * EPILOG after the root element
3388 * INCOMMENT inside an XML comment <!--....-->
3389 * INPI inside an XML PI <?...?>
3390 * VALUE1 inside a '...'-delimited literal
3391 * VALUE2 inside a "..."-delimited literal
3392 * CDATA inside a <![CDATA[...] ]> section.
3393 * ROOT_<tag> expect root element <tag>
3394 * AL_<tag> inside the attribute list for <tag>
3395 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3396 * IMPOSSIBLE dummy to permit disabling rules; must be last
3400 const char* *surfxml_statenames=NULL;
3411 #define ROOT_surfxml_platform 9
3412 #define AL_surfxml_platform 10
3413 #define S_surfxml_platform 11
3414 #define S_surfxml_platform_1 12
3415 #define S_surfxml_platform_2 13
3416 #define S_surfxml_platform_3 14
3417 #define S_surfxml_platform_4 15
3418 #define S_surfxml_platform_5 16
3419 #define S_surfxml_platform_6 17
3420 #define E_surfxml_platform 18
3421 #define AL_surfxml_trace 19
3423 #define AL_surfxml_random 21
3424 #define S_surfxml_random 22
3425 #define S_surfxml_random_1 23
3426 #define S_surfxml_random_2 24
3427 #define E_surfxml_random 25
3428 #define AL_surfxml_trace_connect 26
3429 #define E_surfxml_trace_connect 27
3430 #define AL_surfxml_AS 28
3431 #define S_surfxml_AS 29
3432 #define S_surfxml_AS_1 30
3433 #define S_surfxml_AS_2 31
3434 #define S_surfxml_AS_3 32
3435 #define S_surfxml_AS_4 33
3436 #define S_surfxml_AS_5 34
3437 #define S_surfxml_AS_6 35
3438 #define S_surfxml_AS_7 36
3439 #define S_surfxml_AS_8 37
3440 #define S_surfxml_AS_9 38
3441 #define S_surfxml_AS_10 39
3442 #define S_surfxml_AS_11 40
3443 #define S_surfxml_AS_12 41
3444 #define S_surfxml_AS_13 42
3445 #define E_surfxml_AS 43
3446 #define AL_surfxml_host 44
3447 #define S_surfxml_host 45
3448 #define S_surfxml_host_1 46
3449 #define S_surfxml_host_2 47
3450 #define E_surfxml_host 48
3451 #define AL_surfxml_cluster 49
3452 #define E_surfxml_cluster 50
3453 #define AL_surfxml_peer 51
3454 #define E_surfxml_peer 52
3455 #define AL_surfxml_router 53
3456 #define E_surfxml_router 54
3457 #define AL_surfxml_link 55
3458 #define S_surfxml_link 56
3459 #define S_surfxml_link_1 57
3460 #define S_surfxml_link_2 58
3461 #define E_surfxml_link 59
3462 #define AL_surfxml_route 60
3463 #define S_surfxml_route 61
3464 #define S_surfxml_route_1 62
3465 #define S_surfxml_route_2 63
3466 #define E_surfxml_route 64
3467 #define AL_surfxml_ASroute 65
3468 #define S_surfxml_ASroute 66
3469 #define S_surfxml_ASroute_1 67
3470 #define S_surfxml_ASroute_2 68
3471 #define E_surfxml_ASroute 69
3472 #define AL_surfxml_link_ctn 70
3473 #define E_surfxml_link_ctn 71
3474 #define AL_surfxml_bypassRoute 72
3475 #define S_surfxml_bypassRoute 73
3476 #define S_surfxml_bypassRoute_1 74
3477 #define S_surfxml_bypassRoute_2 75
3478 #define E_surfxml_bypassRoute 76
3479 #define AL_surfxml_process 77
3480 #define S_surfxml_process 78
3481 #define S_surfxml_process_1 79
3482 #define S_surfxml_process_2 80
3483 #define E_surfxml_process 81
3484 #define AL_surfxml_argument 82
3485 #define E_surfxml_argument 83
3486 #define AL_surfxml_config 84
3487 #define S_surfxml_config 85
3488 #define S_surfxml_config_1 86
3489 #define S_surfxml_config_2 87
3490 #define E_surfxml_config 88
3491 #define AL_surfxml_prop 89
3492 #define E_surfxml_prop 90
3493 #define IMPOSSIBLE 91
3495 #ifndef YY_NO_UNISTD_H
3496 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3497 * down here because we want the user's section 1 to have been scanned first.
3498 * The user has a chance to override it with an option.
3500 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3501 # ifndef __STRICT_ANSI__
3503 # include <process.h>
3506 # include <unistd.h>
3510 #ifndef YY_EXTRA_TYPE
3511 #define YY_EXTRA_TYPE void *
3514 static int yy_init_globals (void );
3516 /* Accessor methods to globals.
3517 These are made visible to non-reentrant scanners for convenience. */
3519 int surf_parse_lex_destroy (void );
3521 int surf_parse_get_debug (void );
3523 void surf_parse_set_debug (int debug_flag );
3525 YY_EXTRA_TYPE surf_parse_get_extra (void );
3527 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3529 FILE *surf_parse_get_in (void );
3531 void surf_parse_set_in (FILE * in_str );
3533 FILE *surf_parse_get_out (void );
3535 void surf_parse_set_out (FILE * out_str );
3537 int surf_parse_get_leng (void );
3539 char *surf_parse_get_text (void );
3541 int surf_parse_get_lineno (void );
3543 void surf_parse_set_lineno (int line_number );
3545 /* Macros after this point can all be overridden by user definitions in
3549 #ifndef YY_SKIP_YYWRAP
3551 extern "C" int surf_parse_wrap (void );
3553 extern int surf_parse_wrap (void );
3558 static void yy_flex_strncpy (char *,yyconst char *,int );
3561 #ifdef YY_NEED_STRLEN
3562 static int yy_flex_strlen (yyconst char * );
3568 static int yyinput (void );
3570 static int input (void );
3575 static int yy_start_stack_ptr = 0;
3576 static int yy_start_stack_depth = 0;
3577 static int *yy_start_stack = NULL;
3579 static void yy_push_state (int new_state );
3581 static void yy_pop_state (void );
3583 /* Amount of stuff to slurp up with each read. */
3584 #ifndef YY_READ_BUF_SIZE
3586 /* On IA-64, the buffer size is 16k, not 8k */
3587 #define YY_READ_BUF_SIZE 16384
3589 #define YY_READ_BUF_SIZE 8192
3590 #endif /* __ia64__ */
3593 /* Copy whatever the last rule matched to the standard output. */
3595 /* This used to be an fputs(), but since the string might contain NUL's,
3596 * we now use fwrite().
3598 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3601 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3602 * is returned in "result".
3605 #define YY_INPUT(buf,result,max_size) \
3606 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3610 for ( n = 0; n < max_size && \
3611 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3612 buf[n] = (char) c; \
3614 buf[n++] = (char) c; \
3615 if ( c == EOF && ferror( surf_parse_in ) ) \
3616 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3622 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3624 if( errno != EINTR) \
3626 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3630 clearerr(surf_parse_in); \
3637 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3638 * we don't want an extra ';' after the "return" because that will cause
3639 * some compilers to complain about unreachable statements.
3642 #define yyterminate() return YY_NULL
3645 /* Number of entries by which start-condition stack grows. */
3646 #ifndef YY_START_STACK_INCR
3647 #define YY_START_STACK_INCR 25
3650 /* Report a fatal error. */
3651 #ifndef YY_FATAL_ERROR
3652 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3655 /* end tables serialization structures and prototypes */
3657 /* Default declaration of generated scanner - a define so the user can
3658 * easily add parameters.
3661 #define YY_DECL_IS_OURS 1
3663 extern int surf_parse_lex (void);
3665 #define YY_DECL int surf_parse_lex (void)
3666 #endif /* !YY_DECL */
3668 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3671 #ifndef YY_USER_ACTION
3672 #define YY_USER_ACTION
3675 /* Code executed at the end of each rule. */
3677 #define YY_BREAK break;
3680 #define YY_RULE_SETUP \
3683 /** The main scanner function which does all the work.
3687 register yy_state_type yy_current_state;
3688 register char *yy_cp, *yy_bp;
3689 register int yy_act;
3691 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3693 reset_surfxml_parse_err_msg();
3694 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3695 assert(surfxml_bufferstack);
3699 for (i = 0; i < blimit; i++) {
3700 surfxml_bufferstack[i] = '\377';
3704 surfxml_bufferstack[0] = '\0';
3705 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3711 surfxml_bufferliteral('\0', &bnext, "0.0");
3712 surfxml_bufferliteral('\0', &bnext, "1");
3713 surfxml_bufferliteral('\0', &bnext, "1.0");
3714 surfxml_bufferliteral('\0', &bnext, "1");
3715 surfxml_bufferliteral('\0', &bnext, "0.0");
3716 surfxml_bufferliteral('\0', &bnext, "-1.0");
3717 surfxml_bufferliteral('\0', &bnext, "-1.0");
3718 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3719 surfxml_statenames[PROLOG] = NULL;
3720 surfxml_statenames[DOCTYPE] = NULL;
3721 surfxml_statenames[EPILOG] = NULL;
3722 surfxml_statenames[INCOMMENT] = NULL;
3723 surfxml_statenames[INPI] = NULL;
3724 surfxml_statenames[VALUE1] = NULL;
3725 surfxml_statenames[VALUE2] = NULL;
3726 surfxml_statenames[CDATA] = NULL;
3727 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3728 surfxml_statenames[AL_surfxml_platform] = NULL;
3729 surfxml_statenames[S_surfxml_platform] = "platform";
3730 surfxml_statenames[S_surfxml_platform_1] = "platform";
3731 surfxml_statenames[S_surfxml_platform_2] = "platform";
3732 surfxml_statenames[S_surfxml_platform_3] = "platform";
3733 surfxml_statenames[S_surfxml_platform_4] = "platform";
3734 surfxml_statenames[S_surfxml_platform_5] = "platform";
3735 surfxml_statenames[S_surfxml_platform_6] = "platform";
3736 surfxml_statenames[E_surfxml_platform] = "platform";
3737 surfxml_statenames[AL_surfxml_trace] = NULL;
3738 surfxml_statenames[IN_trace] = "trace";
3739 surfxml_statenames[AL_surfxml_random] = NULL;
3740 surfxml_statenames[S_surfxml_random] = "random";
3741 surfxml_statenames[S_surfxml_random_1] = "random";
3742 surfxml_statenames[S_surfxml_random_2] = "random";
3743 surfxml_statenames[E_surfxml_random] = "random";
3744 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3745 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3746 surfxml_statenames[AL_surfxml_AS] = NULL;
3747 surfxml_statenames[S_surfxml_AS] = "AS";
3748 surfxml_statenames[S_surfxml_AS_1] = "AS";
3749 surfxml_statenames[S_surfxml_AS_2] = "AS";
3750 surfxml_statenames[S_surfxml_AS_3] = "AS";
3751 surfxml_statenames[S_surfxml_AS_4] = "AS";
3752 surfxml_statenames[S_surfxml_AS_5] = "AS";
3753 surfxml_statenames[S_surfxml_AS_6] = "AS";
3754 surfxml_statenames[S_surfxml_AS_7] = "AS";
3755 surfxml_statenames[S_surfxml_AS_8] = "AS";
3756 surfxml_statenames[S_surfxml_AS_9] = "AS";
3757 surfxml_statenames[S_surfxml_AS_10] = "AS";
3758 surfxml_statenames[S_surfxml_AS_11] = "AS";
3759 surfxml_statenames[S_surfxml_AS_12] = "AS";
3760 surfxml_statenames[S_surfxml_AS_13] = "AS";
3761 surfxml_statenames[E_surfxml_AS] = "AS";
3762 surfxml_statenames[AL_surfxml_host] = NULL;
3763 surfxml_statenames[S_surfxml_host] = "host";
3764 surfxml_statenames[S_surfxml_host_1] = "host";
3765 surfxml_statenames[S_surfxml_host_2] = "host";
3766 surfxml_statenames[E_surfxml_host] = "host";
3767 surfxml_statenames[AL_surfxml_cluster] = NULL;
3768 surfxml_statenames[E_surfxml_cluster] = "cluster";
3769 surfxml_statenames[AL_surfxml_peer] = NULL;
3770 surfxml_statenames[E_surfxml_peer] = "peer";
3771 surfxml_statenames[AL_surfxml_router] = NULL;
3772 surfxml_statenames[E_surfxml_router] = "router";
3773 surfxml_statenames[AL_surfxml_link] = NULL;
3774 surfxml_statenames[S_surfxml_link] = "link";
3775 surfxml_statenames[S_surfxml_link_1] = "link";
3776 surfxml_statenames[S_surfxml_link_2] = "link";
3777 surfxml_statenames[E_surfxml_link] = "link";
3778 surfxml_statenames[AL_surfxml_route] = NULL;
3779 surfxml_statenames[S_surfxml_route] = "route";
3780 surfxml_statenames[S_surfxml_route_1] = "route";
3781 surfxml_statenames[S_surfxml_route_2] = "route";
3782 surfxml_statenames[E_surfxml_route] = "route";
3783 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3784 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3785 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3786 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3787 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3788 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3789 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3790 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3791 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3792 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3793 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3794 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3795 surfxml_statenames[AL_surfxml_process] = NULL;
3796 surfxml_statenames[S_surfxml_process] = "process";
3797 surfxml_statenames[S_surfxml_process_1] = "process";
3798 surfxml_statenames[S_surfxml_process_2] = "process";
3799 surfxml_statenames[E_surfxml_process] = "process";
3800 surfxml_statenames[AL_surfxml_argument] = NULL;
3801 surfxml_statenames[E_surfxml_argument] = "argument";
3802 surfxml_statenames[AL_surfxml_config] = NULL;
3803 surfxml_statenames[S_surfxml_config] = "config";
3804 surfxml_statenames[S_surfxml_config_1] = "config";
3805 surfxml_statenames[S_surfxml_config_2] = "config";
3806 surfxml_statenames[E_surfxml_config] = "config";
3807 surfxml_statenames[AL_surfxml_prop] = NULL;
3808 surfxml_statenames[E_surfxml_prop] = "prop";
3811 /* COMMENTS and PIs: handled uniformly for efficiency. */
3822 (yy_start) = 1; /* first start state */
3824 if ( ! surf_parse_in )
3825 surf_parse_in = stdin;
3827 if ( ! surf_parse_out )
3828 surf_parse_out = stdout;
3830 if ( ! YY_CURRENT_BUFFER ) {
3831 surf_parse_ensure_buffer_stack ();
3832 YY_CURRENT_BUFFER_LVALUE =
3833 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3836 surf_parse__load_buffer_state( );
3839 while ( 1 ) /* loops until end-of-file is reached */
3841 yy_cp = (yy_c_buf_p);
3843 /* Support of surf_parse_text. */
3844 *yy_cp = (yy_hold_char);
3846 /* yy_bp points to the position in yy_ch_buf of the start of
3851 yy_current_state = (yy_start);
3855 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3856 if ( yy_accept[yy_current_state] )
3858 (yy_last_accepting_state) = yy_current_state;
3859 (yy_last_accepting_cpos) = yy_cp;
3861 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3863 yy_current_state = (int) yy_def[yy_current_state];
3864 if ( yy_current_state >= 2221 )
3865 yy_c = yy_meta[(unsigned int) yy_c];
3867 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3870 while ( yy_base[yy_current_state] != 7748 );
3873 yy_act = yy_accept[yy_current_state];
3875 { /* have to back up */
3876 yy_cp = (yy_last_accepting_cpos);
3877 yy_current_state = (yy_last_accepting_state);
3878 yy_act = yy_accept[yy_current_state];
3881 YY_DO_BEFORE_ACTION;
3883 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3886 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3887 if ( surf_parse_text[yyl] == '\n' )
3889 surf_parse_lineno++;
3893 do_action: /* This label is used only to access EOF actions. */
3896 { /* beginning of action switch */
3897 case 0: /* must back up */
3898 /* undo the effects of YY_DO_BEFORE_ACTION */
3899 *yy_cp = (yy_hold_char);
3900 yy_cp = (yy_last_accepting_cpos);
3901 yy_current_state = (yy_last_accepting_state);
3902 goto yy_find_action;
3920 /* rule 6 can match eol */
3924 case YY_STATE_EOF(INCOMMENT):
3925 FAIL("EOF in comment.");
3934 /* rule 9 can match eol */
3938 case YY_STATE_EOF(INPI):
3939 FAIL("EOF in PI (processing instruction).");
3942 /* SPACES: skipped uniformly */
3944 /* rule 10 can match eol */
3948 /* PROLOG: determine root element and process it. */
3951 /* rule 11 can match eol */
3956 /* rule 12 can match eol */
3958 FAIL("Bad declaration %s.",surf_parse_text);
3962 /* rule 13 can match eol */
3964 SET(ROOT_surfxml_platform);
3967 /* rule 14 can match eol */
3969 FAIL("Bad declaration %s.",surf_parse_text);
3973 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3975 case YY_STATE_EOF(PROLOG):
3976 case YY_STATE_EOF(DOCTYPE):
3977 FAIL("EOF in prolog.");
3980 /* RULES DERIVED FROM DTD. */
3981 /* <!-- Small DTD for SURF based tools. --> */
3983 /* rule 16 can match eol */
3985 FAIL("Starting tag <platform> is not allowed here.");
3988 /* rule 17 can match eol */
3991 AX_surfxml_platform_version = 1;
3992 ENTER(AL_surfxml_platform); pushbuffer(0);
3997 /* rule 18 can match eol */
3999 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4002 /* rule 19 can match eol */
4004 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4009 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4015 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4017 case ROOT_surfxml_platform: SET(EPILOG); break;
4023 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4027 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4029 case YY_STATE_EOF(AL_surfxml_platform):
4030 FAIL("EOF in attribute list of `platform' element.");
4034 /* rule 24 can match eol */
4038 ETag_surfxml_platform();
4039 popbuffer(); /* attribute */
4041 case ROOT_surfxml_platform: SET(EPILOG); break;
4046 /* rule 25 can match eol */
4048 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4052 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4054 case YY_STATE_EOF(S_surfxml_platform_2):
4055 case YY_STATE_EOF(S_surfxml_platform_1):
4056 case YY_STATE_EOF(S_surfxml_platform):
4057 case YY_STATE_EOF(S_surfxml_platform_4):
4058 case YY_STATE_EOF(S_surfxml_platform_6):
4059 case YY_STATE_EOF(E_surfxml_platform):
4060 FAIL("Premature EOF: `</platform>' expected.");
4064 /* rule 27 can match eol */
4066 FAIL("Starting tag <trace> is not allowed here.");
4069 /* rule 28 can match eol */
4072 AX_surfxml_trace_id = 0;
4073 AX_surfxml_trace_file = 0;
4074 AX_surfxml_trace_periodicity = 0;
4075 ENTER(AL_surfxml_trace); pushbuffer(0);
4080 /* rule 29 can match eol */
4082 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4085 /* rule 30 can match eol */
4087 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4090 /* rule 31 can match eol */
4092 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4095 /* rule 32 can match eol */
4097 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4100 /* rule 33 can match eol */
4102 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4105 /* rule 34 can match eol */
4107 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4112 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4113 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4114 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4120 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4121 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4122 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4124 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4125 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4126 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4127 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4128 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4129 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4135 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4139 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4141 case YY_STATE_EOF(AL_surfxml_trace):
4142 FAIL("EOF in attribute list of `trace' element.");
4146 /* rule 39 can match eol */
4151 ETag_surfxml_trace();
4152 surfxml_pcdata_ix = popbuffer();
4153 popbuffer(); /* attribute */
4155 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4156 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4157 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4158 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4159 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4160 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4165 /* rule 40 can match eol */
4167 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4169 case YY_STATE_EOF(IN_trace):
4170 FAIL("Premature EOF: `</trace>' expected.");
4174 /* rule 41 can match eol */
4176 FAIL("Starting tag <random> is not allowed here.");
4179 /* rule 42 can match eol */
4182 AX_surfxml_random_id = 0;
4183 AX_surfxml_random_min = 0;
4184 AX_surfxml_random_max = 0;
4185 AX_surfxml_random_mean = 0;
4186 AX_surfxml_random_std_deviation = 0;
4187 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4188 ENTER(AL_surfxml_random); pushbuffer(0);
4193 /* rule 43 can match eol */
4195 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4198 /* rule 44 can match eol */
4200 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4203 /* rule 45 can match eol */
4205 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4208 /* rule 46 can match eol */
4210 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4213 /* rule 47 can match eol */
4215 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4218 /* rule 48 can match eol */
4220 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4223 /* rule 49 can match eol */
4225 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4228 /* rule 50 can match eol */
4230 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4233 /* rule 51 can match eol */
4235 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4238 /* rule 52 can match eol */
4240 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4243 /* rule 53 can match eol */
4245 /* rule 54 can match eol */
4247 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4250 /* rule 55 can match eol */
4252 /* rule 56 can match eol */
4254 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4259 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4260 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4261 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4262 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4263 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4264 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4270 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4271 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4272 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4273 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4274 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4275 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4277 case S_surfxml_config: SET(E_surfxml_config); break;
4283 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4287 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4289 case YY_STATE_EOF(AL_surfxml_random):
4290 FAIL("EOF in attribute list of `random' element.");
4294 /* rule 61 can match eol */
4298 ETag_surfxml_random();
4299 popbuffer(); /* attribute */
4301 case S_surfxml_config: SET(E_surfxml_config); break;
4306 /* rule 62 can match eol */
4308 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4312 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4314 case YY_STATE_EOF(S_surfxml_random_2):
4315 case YY_STATE_EOF(S_surfxml_random):
4316 case YY_STATE_EOF(E_surfxml_random):
4317 FAIL("Premature EOF: `</random>' expected.");
4321 /* rule 64 can match eol */
4323 FAIL("Starting tag <trace_connect> is not allowed here.");
4326 /* rule 65 can match eol */
4329 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4330 AX_surfxml_trace_connect_trace = 0;
4331 AX_surfxml_trace_connect_element = 0;
4332 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4337 /* rule 66 can match eol */
4339 /* rule 67 can match eol */
4341 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4344 /* rule 68 can match eol */
4346 /* rule 69 can match eol */
4348 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4351 /* rule 70 can match eol */
4353 /* rule 71 can match eol */
4355 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4358 /* rule 72 can match eol */
4360 /* rule 73 can match eol */
4362 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4365 /* rule 74 can match eol */
4367 /* rule 75 can match eol */
4369 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4372 /* rule 76 can match eol */
4374 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4377 /* rule 77 can match eol */
4379 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4382 /* rule 78 can match eol */
4384 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4387 /* rule 79 can match eol */
4389 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4394 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4395 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4396 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4402 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4403 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4404 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4406 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4407 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4408 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4409 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4410 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4411 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4417 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4421 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4423 case YY_STATE_EOF(AL_surfxml_trace_connect):
4424 FAIL("EOF in attribute list of `trace_connect' element.");
4428 /* rule 84 can match eol */
4432 ETag_surfxml_trace_connect();
4433 popbuffer(); /* attribute */
4435 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4436 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4437 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4438 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4439 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4440 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4445 /* rule 85 can match eol */
4447 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4451 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4453 case YY_STATE_EOF(E_surfxml_trace_connect):
4454 FAIL("Premature EOF: `</trace_connect>' expected.");
4458 /* rule 87 can match eol */
4460 FAIL("Starting tag <AS> is not allowed here.");
4463 /* rule 88 can match eol */
4466 AX_surfxml_AS_id = 0;
4467 AX_surfxml_AS_routing = 0;
4468 ENTER(AL_surfxml_AS); pushbuffer(0);
4473 /* rule 89 can match eol */
4475 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4478 /* rule 90 can match eol */
4480 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4483 /* rule 91 can match eol */
4485 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4488 /* rule 92 can match eol */
4490 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4495 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4496 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4497 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4503 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4504 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4505 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4507 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4508 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4514 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4518 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4520 case YY_STATE_EOF(AL_surfxml_AS):
4521 FAIL("EOF in attribute list of `AS' element.");
4525 /* rule 97 can match eol */
4530 popbuffer(); /* attribute */
4532 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4533 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4538 /* rule 98 can match eol */
4540 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4544 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4546 case YY_STATE_EOF(S_surfxml_AS_1):
4547 case YY_STATE_EOF(S_surfxml_AS_9):
4548 case YY_STATE_EOF(S_surfxml_AS_11):
4549 case YY_STATE_EOF(S_surfxml_AS_6):
4550 case YY_STATE_EOF(E_surfxml_AS):
4551 case YY_STATE_EOF(S_surfxml_AS_3):
4552 case YY_STATE_EOF(S_surfxml_AS_13):
4553 case YY_STATE_EOF(S_surfxml_AS_8):
4554 case YY_STATE_EOF(S_surfxml_AS):
4555 case YY_STATE_EOF(S_surfxml_AS_4):
4556 FAIL("Premature EOF: `</AS>' expected.");
4560 /* rule 100 can match eol */
4562 FAIL("Starting tag <host> is not allowed here.");
4565 /* rule 101 can match eol */
4568 AX_surfxml_host_id = 0;
4569 AX_surfxml_host_power = 0;
4570 AX_surfxml_host_core = 5;
4571 AX_surfxml_host_availability = 7;
4572 AX_surfxml_host_availability_file = 0;
4573 AX_surfxml_host_state = A_surfxml_host_state_ON;
4574 AX_surfxml_host_state_file = 0;
4575 AX_surfxml_host_coordinates = 0;
4576 ENTER(AL_surfxml_host); pushbuffer(0);
4581 /* rule 102 can match eol */
4583 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4586 /* rule 103 can match eol */
4588 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4591 /* rule 104 can match eol */
4593 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4596 /* rule 105 can match eol */
4598 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4601 /* rule 106 can match eol */
4603 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4606 /* rule 107 can match eol */
4608 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4611 /* rule 108 can match eol */
4613 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4616 /* rule 109 can match eol */
4618 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4621 /* rule 110 can match eol */
4623 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4626 /* rule 111 can match eol */
4628 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4631 /* rule 112 can match eol */
4633 /* rule 113 can match eol */
4635 A_surfxml_host_state = A_surfxml_host_state_ON;
4638 /* rule 114 can match eol */
4640 /* rule 115 can match eol */
4642 A_surfxml_host_state = A_surfxml_host_state_OFF;
4645 /* rule 116 can match eol */
4647 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4650 /* rule 117 can match eol */
4652 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4655 /* rule 118 can match eol */
4657 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4660 /* rule 119 can match eol */
4662 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4667 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4668 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4669 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4675 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4676 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4677 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4679 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4685 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4689 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4691 case YY_STATE_EOF(AL_surfxml_host):
4692 FAIL("EOF in attribute list of `host' element.");
4696 /* rule 124 can match eol */
4700 ETag_surfxml_host();
4701 popbuffer(); /* attribute */
4703 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4708 /* rule 125 can match eol */
4710 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4714 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4716 case YY_STATE_EOF(S_surfxml_host):
4717 case YY_STATE_EOF(E_surfxml_host):
4718 case YY_STATE_EOF(S_surfxml_host_2):
4719 FAIL("Premature EOF: `</host>' expected.");
4723 /* rule 127 can match eol */
4725 FAIL("Starting tag <cluster> is not allowed here.");
4728 /* rule 128 can match eol */
4731 AX_surfxml_cluster_id = 0;
4732 AX_surfxml_cluster_prefix = 0;
4733 AX_surfxml_cluster_suffix = 0;
4734 AX_surfxml_cluster_radical = 0;
4735 AX_surfxml_cluster_power = 0;
4736 AX_surfxml_cluster_core = 11;
4737 AX_surfxml_cluster_bw = 0;
4738 AX_surfxml_cluster_lat = 0;
4739 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4740 AX_surfxml_cluster_bb_bw = 0;
4741 AX_surfxml_cluster_bb_lat = 0;
4742 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4743 ENTER(AL_surfxml_cluster); pushbuffer(0);
4748 /* rule 129 can match eol */
4750 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4753 /* rule 130 can match eol */
4755 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4758 /* rule 131 can match eol */
4760 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4763 /* rule 132 can match eol */
4765 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4768 /* rule 133 can match eol */
4770 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4773 /* rule 134 can match eol */
4775 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4778 /* rule 135 can match eol */
4780 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4783 /* rule 136 can match eol */
4785 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4788 /* rule 137 can match eol */
4790 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4793 /* rule 138 can match eol */
4795 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4798 /* rule 139 can match eol */
4800 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
4803 /* rule 140 can match eol */
4805 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
4808 /* rule 141 can match eol */
4810 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4813 /* rule 142 can match eol */
4815 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4818 /* rule 143 can match eol */
4820 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4823 /* rule 144 can match eol */
4825 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4828 /* rule 145 can match eol */
4830 /* rule 146 can match eol */
4832 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4835 /* rule 147 can match eol */
4837 /* rule 148 can match eol */
4839 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4842 /* rule 149 can match eol */
4844 /* rule 150 can match eol */
4846 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4849 /* rule 151 can match eol */
4851 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4854 /* rule 152 can match eol */
4856 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4859 /* rule 153 can match eol */
4861 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4864 /* rule 154 can match eol */
4866 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4869 /* rule 155 can match eol */
4871 /* rule 156 can match eol */
4873 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4876 /* rule 157 can match eol */
4878 /* rule 158 can match eol */
4880 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4885 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4886 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4887 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4888 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4889 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4890 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4891 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4892 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4893 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4894 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4900 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4901 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4902 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4903 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4904 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4905 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4906 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4907 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4908 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4909 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4911 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4912 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4918 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4922 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4924 case YY_STATE_EOF(AL_surfxml_cluster):
4925 FAIL("EOF in attribute list of `cluster' element.");
4929 /* rule 163 can match eol */
4933 ETag_surfxml_cluster();
4934 popbuffer(); /* attribute */
4936 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4937 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4942 /* rule 164 can match eol */
4944 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4948 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4950 case YY_STATE_EOF(E_surfxml_cluster):
4951 FAIL("Premature EOF: `</cluster>' expected.");
4955 /* rule 166 can match eol */
4957 FAIL("Starting tag <peer> is not allowed here.");
4960 /* rule 167 can match eol */
4963 AX_surfxml_peer_id = 0;
4964 AX_surfxml_peer_power = 0;
4965 AX_surfxml_peer_bw_in = 0;
4966 AX_surfxml_peer_bw_out = 0;
4967 AX_surfxml_peer_lat = 0;
4968 AX_surfxml_peer_coordinates = 0;
4969 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
4970 ENTER(AL_surfxml_peer); pushbuffer(0);
4975 /* rule 168 can match eol */
4977 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
4980 /* rule 169 can match eol */
4982 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
4985 /* rule 170 can match eol */
4987 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
4990 /* rule 171 can match eol */
4992 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
4995 /* rule 172 can match eol */
4997 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5000 /* rule 173 can match eol */
5002 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5005 /* rule 174 can match eol */
5007 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5010 /* rule 175 can match eol */
5012 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5015 /* rule 176 can match eol */
5017 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5020 /* rule 177 can match eol */
5022 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5025 /* rule 178 can match eol */
5027 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5030 /* rule 179 can match eol */
5032 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5035 /* rule 180 can match eol */
5037 /* rule 181 can match eol */
5039 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5042 /* rule 182 can match eol */
5044 /* rule 183 can match eol */
5046 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5051 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5052 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5053 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5054 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5055 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5056 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5062 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5063 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5064 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5065 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5066 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5067 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5069 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5070 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5076 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5080 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5082 case YY_STATE_EOF(AL_surfxml_peer):
5083 FAIL("EOF in attribute list of `peer' element.");
5087 /* rule 188 can match eol */
5091 ETag_surfxml_peer();
5092 popbuffer(); /* attribute */
5094 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5095 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5100 /* rule 189 can match eol */
5102 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5106 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5108 case YY_STATE_EOF(E_surfxml_peer):
5109 FAIL("Premature EOF: `</peer>' expected.");
5113 /* rule 191 can match eol */
5115 FAIL("Starting tag <router> is not allowed here.");
5118 /* rule 192 can match eol */
5121 AX_surfxml_router_id = 0;
5122 AX_surfxml_router_coordinates = 0;
5123 ENTER(AL_surfxml_router); pushbuffer(0);
5128 /* rule 193 can match eol */
5130 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5133 /* rule 194 can match eol */
5135 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5138 /* rule 195 can match eol */
5140 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5143 /* rule 196 can match eol */
5145 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5150 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5151 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5157 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5158 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5160 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5166 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5170 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5172 case YY_STATE_EOF(AL_surfxml_router):
5173 FAIL("EOF in attribute list of `router' element.");
5177 /* rule 201 can match eol */
5181 ETag_surfxml_router();
5182 popbuffer(); /* attribute */
5184 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5189 /* rule 202 can match eol */
5191 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5195 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5197 case YY_STATE_EOF(E_surfxml_router):
5198 FAIL("Premature EOF: `</router>' expected.");
5202 /* rule 204 can match eol */
5204 FAIL("Starting tag <link> is not allowed here.");
5207 /* rule 205 can match eol */
5210 AX_surfxml_link_id = 0;
5211 AX_surfxml_link_bandwidth = 0;
5212 AX_surfxml_link_bandwidth_file = 0;
5213 AX_surfxml_link_latency = 13;
5214 AX_surfxml_link_latency_file = 0;
5215 AX_surfxml_link_state = A_surfxml_link_state_ON;
5216 AX_surfxml_link_state_file = 0;
5217 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5218 ENTER(AL_surfxml_link); pushbuffer(0);
5223 /* rule 206 can match eol */
5225 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5228 /* rule 207 can match eol */
5230 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5233 /* rule 208 can match eol */
5235 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5238 /* rule 209 can match eol */
5240 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5243 /* rule 210 can match eol */
5245 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5248 /* rule 211 can match eol */
5250 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5253 /* rule 212 can match eol */
5255 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5258 /* rule 213 can match eol */
5260 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5263 /* rule 214 can match eol */
5265 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5268 /* rule 215 can match eol */
5270 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5273 /* rule 216 can match eol */
5275 /* rule 217 can match eol */
5277 A_surfxml_link_state = A_surfxml_link_state_ON;
5280 /* rule 218 can match eol */
5282 /* rule 219 can match eol */
5284 A_surfxml_link_state = A_surfxml_link_state_OFF;
5287 /* rule 220 can match eol */
5289 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5292 /* rule 221 can match eol */
5294 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5297 /* rule 222 can match eol */
5299 /* rule 223 can match eol */
5301 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5304 /* rule 224 can match eol */
5306 /* rule 225 can match eol */
5308 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5311 /* rule 226 can match eol */
5313 /* rule 227 can match eol */
5315 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5320 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5321 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5322 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5328 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5329 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5330 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5332 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5333 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5339 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5343 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5345 case YY_STATE_EOF(AL_surfxml_link):
5346 FAIL("EOF in attribute list of `link' element.");
5350 /* rule 232 can match eol */
5354 ETag_surfxml_link();
5355 popbuffer(); /* attribute */
5357 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5358 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5363 /* rule 233 can match eol */
5365 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5369 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5371 case YY_STATE_EOF(E_surfxml_link):
5372 case YY_STATE_EOF(S_surfxml_link_2):
5373 case YY_STATE_EOF(S_surfxml_link):
5374 FAIL("Premature EOF: `</link>' expected.");
5378 /* rule 235 can match eol */
5380 FAIL("Starting tag <route> is not allowed here.");
5383 /* rule 236 can match eol */
5386 AX_surfxml_route_src = 0;
5387 AX_surfxml_route_dst = 0;
5388 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5389 ENTER(AL_surfxml_route); pushbuffer(0);
5394 /* rule 237 can match eol */
5396 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5399 /* rule 238 can match eol */
5401 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5404 /* rule 239 can match eol */
5406 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5409 /* rule 240 can match eol */
5411 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5414 /* rule 241 can match eol */
5416 /* rule 242 can match eol */
5418 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5421 /* rule 243 can match eol */
5423 /* rule 244 can match eol */
5425 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5430 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5431 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5432 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5438 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5439 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5440 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5442 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5448 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5452 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5454 case YY_STATE_EOF(AL_surfxml_route):
5455 FAIL("EOF in attribute list of `route' element.");
5459 /* rule 249 can match eol */
5463 ETag_surfxml_route();
5464 popbuffer(); /* attribute */
5466 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5471 /* rule 250 can match eol */
5473 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5477 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5479 case YY_STATE_EOF(S_surfxml_route):
5480 case YY_STATE_EOF(S_surfxml_route_2):
5481 case YY_STATE_EOF(E_surfxml_route):
5482 FAIL("Premature EOF: `</route>' expected.");
5486 /* rule 252 can match eol */
5488 FAIL("Starting tag <ASroute> is not allowed here.");
5491 /* rule 253 can match eol */
5494 AX_surfxml_ASroute_src = 0;
5495 AX_surfxml_ASroute_dst = 0;
5496 AX_surfxml_ASroute_gw_src = 0;
5497 AX_surfxml_ASroute_gw_dst = 0;
5498 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5499 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5504 /* rule 254 can match eol */
5506 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5509 /* rule 255 can match eol */
5511 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5514 /* rule 256 can match eol */
5516 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5519 /* rule 257 can match eol */
5521 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5524 /* rule 258 can match eol */
5526 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5529 /* rule 259 can match eol */
5531 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5534 /* rule 260 can match eol */
5536 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5539 /* rule 261 can match eol */
5541 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5544 /* rule 262 can match eol */
5546 /* rule 263 can match eol */
5548 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5551 /* rule 264 can match eol */
5553 /* rule 265 can match eol */
5555 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5560 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5561 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5562 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5563 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5564 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5570 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5571 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5572 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5573 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5574 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5576 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5582 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5586 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5588 case YY_STATE_EOF(AL_surfxml_ASroute):
5589 FAIL("EOF in attribute list of `ASroute' element.");
5593 /* rule 270 can match eol */
5597 ETag_surfxml_ASroute();
5598 popbuffer(); /* attribute */
5600 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5605 /* rule 271 can match eol */
5607 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5611 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5613 case YY_STATE_EOF(E_surfxml_ASroute):
5614 case YY_STATE_EOF(S_surfxml_ASroute):
5615 case YY_STATE_EOF(S_surfxml_ASroute_2):
5616 FAIL("Premature EOF: `</ASroute>' expected.");
5620 /* rule 273 can match eol */
5622 FAIL("Starting tag <link_ctn> is not allowed here.");
5625 /* rule 274 can match eol */
5628 AX_surfxml_link_ctn_id = 0;
5629 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5630 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5635 /* rule 275 can match eol */
5637 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5640 /* rule 276 can match eol */
5642 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5645 /* rule 277 can match eol */
5647 /* rule 278 can match eol */
5649 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5652 /* rule 279 can match eol */
5654 /* rule 280 can match eol */
5656 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5659 /* rule 281 can match eol */
5661 /* rule 282 can match eol */
5663 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5668 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5669 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5675 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5676 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5678 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5679 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5680 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5686 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5690 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5692 case YY_STATE_EOF(AL_surfxml_link_ctn):
5693 FAIL("EOF in attribute list of `link_ctn' element.");
5697 /* rule 287 can match eol */
5701 ETag_surfxml_link_ctn();
5702 popbuffer(); /* attribute */
5704 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5705 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5706 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5711 /* rule 288 can match eol */
5713 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5717 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5719 case YY_STATE_EOF(E_surfxml_link_ctn):
5720 FAIL("Premature EOF: `</link_ctn>' expected.");
5724 /* rule 290 can match eol */
5726 FAIL("Starting tag <bypassRoute> is not allowed here.");
5729 /* rule 291 can match eol */
5732 AX_surfxml_bypassRoute_src = 0;
5733 AX_surfxml_bypassRoute_dst = 0;
5734 AX_surfxml_bypassRoute_gw_src = 0;
5735 AX_surfxml_bypassRoute_gw_dst = 0;
5736 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5741 /* rule 292 can match eol */
5743 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5746 /* rule 293 can match eol */
5748 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5751 /* rule 294 can match eol */
5753 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5756 /* rule 295 can match eol */
5758 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5761 /* rule 296 can match eol */
5763 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5766 /* rule 297 can match eol */
5768 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5771 /* rule 298 can match eol */
5773 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5776 /* rule 299 can match eol */
5778 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5783 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5784 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5785 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5786 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5787 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5793 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5794 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5795 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5796 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5797 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5799 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5805 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5809 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5811 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5812 FAIL("EOF in attribute list of `bypassRoute' element.");
5816 /* rule 304 can match eol */
5820 ETag_surfxml_bypassRoute();
5821 popbuffer(); /* attribute */
5823 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5828 /* rule 305 can match eol */
5830 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5834 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5836 case YY_STATE_EOF(S_surfxml_bypassRoute):
5837 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5838 case YY_STATE_EOF(E_surfxml_bypassRoute):
5839 FAIL("Premature EOF: `</bypassRoute>' expected.");
5843 /* rule 307 can match eol */
5845 FAIL("Starting tag <process> is not allowed here.");
5848 /* rule 308 can match eol */
5851 AX_surfxml_process_host = 0;
5852 AX_surfxml_process_function = 0;
5853 AX_surfxml_process_start_time = 17;
5854 AX_surfxml_process_kill_time = 22;
5855 ENTER(AL_surfxml_process); pushbuffer(0);
5860 /* rule 309 can match eol */
5862 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5865 /* rule 310 can match eol */
5867 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5870 /* rule 311 can match eol */
5872 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5875 /* rule 312 can match eol */
5877 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5880 /* rule 313 can match eol */
5882 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5885 /* rule 314 can match eol */
5887 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5890 /* rule 315 can match eol */
5892 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5895 /* rule 316 can match eol */
5897 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5902 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5903 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5904 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5910 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5911 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5912 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5914 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5920 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5924 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5926 case YY_STATE_EOF(AL_surfxml_process):
5927 FAIL("EOF in attribute list of `process' element.");
5931 /* rule 321 can match eol */
5935 ETag_surfxml_process();
5936 popbuffer(); /* attribute */
5938 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5943 /* rule 322 can match eol */
5945 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5949 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5951 case YY_STATE_EOF(E_surfxml_process):
5952 case YY_STATE_EOF(S_surfxml_process):
5953 case YY_STATE_EOF(S_surfxml_process_2):
5954 FAIL("Premature EOF: `</process>' expected.");
5958 /* rule 324 can match eol */
5960 FAIL("Starting tag <argument> is not allowed here.");
5963 /* rule 325 can match eol */
5966 AX_surfxml_argument_value = 0;
5967 ENTER(AL_surfxml_argument); pushbuffer(0);
5972 /* rule 326 can match eol */
5974 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5977 /* rule 327 can match eol */
5979 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5984 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5985 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5991 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5992 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5994 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6000 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6004 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6006 case YY_STATE_EOF(AL_surfxml_argument):
6007 FAIL("EOF in attribute list of `argument' element.");
6011 /* rule 332 can match eol */
6015 ETag_surfxml_argument();
6016 popbuffer(); /* attribute */
6018 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6023 /* rule 333 can match eol */
6025 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6029 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6031 case YY_STATE_EOF(E_surfxml_argument):
6032 FAIL("Premature EOF: `</argument>' expected.");
6036 /* rule 335 can match eol */
6038 FAIL("Starting tag <config> is not allowed here.");
6041 /* rule 336 can match eol */
6044 AX_surfxml_config_id = 0;
6045 ENTER(AL_surfxml_config); pushbuffer(0);
6050 /* rule 337 can match eol */
6052 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6055 /* rule 338 can match eol */
6057 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6062 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6068 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6070 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6076 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6080 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6082 case YY_STATE_EOF(AL_surfxml_config):
6083 FAIL("EOF in attribute list of `config' element.");
6087 /* rule 343 can match eol */
6091 ETag_surfxml_config();
6092 popbuffer(); /* attribute */
6094 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6099 /* rule 344 can match eol */
6101 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6105 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6107 case YY_STATE_EOF(S_surfxml_config):
6108 case YY_STATE_EOF(S_surfxml_config_2):
6109 case YY_STATE_EOF(E_surfxml_config):
6110 FAIL("Premature EOF: `</config>' expected.");
6113 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6114 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6116 /* rule 346 can match eol */
6118 FAIL("Starting tag <prop> is not allowed here.");
6121 /* rule 347 can match eol */
6124 AX_surfxml_prop_id = 0;
6125 AX_surfxml_prop_value = 0;
6126 ENTER(AL_surfxml_prop); pushbuffer(0);
6131 /* rule 348 can match eol */
6133 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6136 /* rule 349 can match eol */
6138 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6141 /* rule 350 can match eol */
6143 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6146 /* rule 351 can match eol */
6148 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6153 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6154 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6155 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6161 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6162 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6163 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6165 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6166 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6167 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6168 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6169 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6175 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6179 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6181 case YY_STATE_EOF(AL_surfxml_prop):
6182 FAIL("EOF in attribute list of `prop' element.");
6186 /* rule 356 can match eol */
6190 ETag_surfxml_prop();
6191 popbuffer(); /* attribute */
6193 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6194 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6195 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6196 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6197 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6202 /* rule 357 can match eol */
6204 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6208 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6210 case YY_STATE_EOF(E_surfxml_prop):
6211 FAIL("Premature EOF: `</prop>' expected.");
6214 /* EPILOG: after the root element. */
6218 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6220 case YY_STATE_EOF(EPILOG):
6224 /* CHARACTER DATA. */
6226 /* Non-defined standard entities... */
6247 /* Character entities. */
6250 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6254 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6258 /* rule 367 can match eol */
6260 /* rule 368 can match eol */
6262 /* rule 369 can match eol */
6264 /* rule 370 can match eol */
6275 FAIL("Unexpected `]""]>' in character data.");
6282 case YY_STATE_EOF(VALUE1):
6283 FAIL("EOF in literal (\"'\" expected).");
6290 case YY_STATE_EOF(VALUE2):
6291 FAIL("EOF in literal (`\"' expected).");
6295 /* rule 375 can match eol */
6297 BUFFERPUTC(surf_parse_text[0]);
6301 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6308 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6311 BUFFERPUTC(surf_parse_text[0]);
6313 case YY_STATE_EOF(CDATA):
6314 FAIL("EOF in CDATA section.");
6317 /* Impossible rules to avoid warnings from flex(1). */
6318 /* Ideally, this should be replaced by code in flexml.pl that
6319 generates just the states not covered by other rules. */
6322 /* rule 379 can match eol */
6324 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6331 case YY_STATE_EOF(INITIAL):
6332 case YY_STATE_EOF(ROOT_surfxml_platform):
6333 case YY_STATE_EOF(S_surfxml_platform_3):
6334 case YY_STATE_EOF(S_surfxml_platform_5):
6335 case YY_STATE_EOF(S_surfxml_random_1):
6336 case YY_STATE_EOF(S_surfxml_AS_2):
6337 case YY_STATE_EOF(S_surfxml_AS_5):
6338 case YY_STATE_EOF(S_surfxml_AS_7):
6339 case YY_STATE_EOF(S_surfxml_AS_10):
6340 case YY_STATE_EOF(S_surfxml_AS_12):
6341 case YY_STATE_EOF(S_surfxml_host_1):
6342 case YY_STATE_EOF(S_surfxml_link_1):
6343 case YY_STATE_EOF(S_surfxml_route_1):
6344 case YY_STATE_EOF(S_surfxml_ASroute_1):
6345 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6346 case YY_STATE_EOF(S_surfxml_process_1):
6347 case YY_STATE_EOF(S_surfxml_config_1):
6348 case YY_STATE_EOF(IMPOSSIBLE):
6351 case YY_END_OF_BUFFER:
6353 /* Amount of text matched not including the EOB char. */
6354 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6356 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6357 *yy_cp = (yy_hold_char);
6358 YY_RESTORE_YY_MORE_OFFSET
6360 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6362 /* We're scanning a new file or input source. It's
6363 * possible that this happened because the user
6364 * just pointed surf_parse_in at a new source and called
6365 * surf_parse_lex(). If so, then we have to assure
6366 * consistency between YY_CURRENT_BUFFER and our
6367 * globals. Here is the right place to do so, because
6368 * this is the first action (other than possibly a
6369 * back-up) that will match for the new input source.
6371 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6372 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6373 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6376 /* Note that here we test for yy_c_buf_p "<=" to the position
6377 * of the first EOB in the buffer, since yy_c_buf_p will
6378 * already have been incremented past the NUL character
6379 * (since all states make transitions on EOB to the
6380 * end-of-buffer state). Contrast this with the test
6383 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6384 { /* This was really a NUL. */
6385 yy_state_type yy_next_state;
6387 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6389 yy_current_state = yy_get_previous_state( );
6391 /* Okay, we're now positioned to make the NUL
6392 * transition. We couldn't have
6393 * yy_get_previous_state() go ahead and do it
6394 * for us because it doesn't know how to deal
6395 * with the possibility of jamming (and we don't
6396 * want to build jamming into it because then it
6397 * will run more slowly).
6400 yy_next_state = yy_try_NUL_trans( yy_current_state );
6402 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6404 if ( yy_next_state )
6406 /* Consume the NUL. */
6407 yy_cp = ++(yy_c_buf_p);
6408 yy_current_state = yy_next_state;
6414 yy_cp = (yy_c_buf_p);
6415 goto yy_find_action;
6419 else switch ( yy_get_next_buffer( ) )
6421 case EOB_ACT_END_OF_FILE:
6423 (yy_did_buffer_switch_on_eof) = 0;
6425 if ( surf_parse_wrap( ) )
6427 /* Note: because we've taken care in
6428 * yy_get_next_buffer() to have set up
6429 * surf_parse_text, we can now set up
6430 * yy_c_buf_p so that if some total
6431 * hoser (like flex itself) wants to
6432 * call the scanner after we return the
6433 * YY_NULL, it'll still work - another
6434 * YY_NULL will get returned.
6436 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6438 yy_act = YY_STATE_EOF(YY_START);
6444 if ( ! (yy_did_buffer_switch_on_eof) )
6450 case EOB_ACT_CONTINUE_SCAN:
6452 (yytext_ptr) + yy_amount_of_matched_text;
6454 yy_current_state = yy_get_previous_state( );
6456 yy_cp = (yy_c_buf_p);
6457 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6460 case EOB_ACT_LAST_MATCH:
6462 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6464 yy_current_state = yy_get_previous_state( );
6466 yy_cp = (yy_c_buf_p);
6467 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6468 goto yy_find_action;
6475 "fatal flex scanner internal error--no action found" );
6476 } /* end of action switch */
6477 } /* end of scanning one token */
6478 } /* end of surf_parse_lex */
6480 /* yy_get_next_buffer - try to read in a new buffer
6482 * Returns a code representing an action:
6483 * EOB_ACT_LAST_MATCH -
6484 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6485 * EOB_ACT_END_OF_FILE - end of file
6487 static int yy_get_next_buffer (void)
6489 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6490 register char *source = (yytext_ptr);
6491 register int number_to_move, i;
6494 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6496 "fatal flex scanner internal error--end of buffer missed" );
6498 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6499 { /* Don't try to fill the buffer, so this is an EOF. */
6500 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6502 /* We matched a single character, the EOB, so
6503 * treat this as a final EOF.
6505 return EOB_ACT_END_OF_FILE;
6510 /* We matched some text prior to the EOB, first
6513 return EOB_ACT_LAST_MATCH;
6517 /* Try to read more data. */
6519 /* First move last chars to start of buffer. */
6520 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6522 for ( i = 0; i < number_to_move; ++i )
6523 *(dest++) = *(source++);
6525 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6526 /* don't do the read, it's not guaranteed to return an EOF,
6529 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6534 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6536 while ( num_to_read <= 0 )
6537 { /* Not enough room in the buffer - grow it. */
6539 /* just a shorter name for the current buffer */
6540 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6542 int yy_c_buf_p_offset =
6543 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6545 if ( b->yy_is_our_buffer )
6547 int new_size = b->yy_buf_size * 2;
6549 if ( new_size <= 0 )
6550 b->yy_buf_size += b->yy_buf_size / 8;
6552 b->yy_buf_size *= 2;
6554 b->yy_ch_buf = (char *)
6555 /* Include room in for 2 EOB chars. */
6556 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6559 /* Can't grow it, we don't own it. */
6562 if ( ! b->yy_ch_buf )
6564 "fatal error - scanner input buffer overflow" );
6566 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6568 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6573 if ( num_to_read > YY_READ_BUF_SIZE )
6574 num_to_read = YY_READ_BUF_SIZE;
6576 /* Read in more data. */
6577 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6578 (yy_n_chars), (size_t) num_to_read );
6580 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6583 if ( (yy_n_chars) == 0 )
6585 if ( number_to_move == YY_MORE_ADJ )
6587 ret_val = EOB_ACT_END_OF_FILE;
6588 surf_parse_restart(surf_parse_in );
6593 ret_val = EOB_ACT_LAST_MATCH;
6594 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6595 YY_BUFFER_EOF_PENDING;
6600 ret_val = EOB_ACT_CONTINUE_SCAN;
6602 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6603 /* Extend the array by 50%, plus the number we really need. */
6604 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6605 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6606 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6607 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6610 (yy_n_chars) += number_to_move;
6611 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6612 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6614 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6619 /* yy_get_previous_state - get the state just before the EOB char was reached */
6621 static yy_state_type yy_get_previous_state (void)
6623 register yy_state_type yy_current_state;
6624 register char *yy_cp;
6626 yy_current_state = (yy_start);
6628 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6630 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6631 if ( yy_accept[yy_current_state] )
6633 (yy_last_accepting_state) = yy_current_state;
6634 (yy_last_accepting_cpos) = yy_cp;
6636 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6638 yy_current_state = (int) yy_def[yy_current_state];
6639 if ( yy_current_state >= 2221 )
6640 yy_c = yy_meta[(unsigned int) yy_c];
6642 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6645 return yy_current_state;
6648 /* yy_try_NUL_trans - try to make a transition on the NUL character
6651 * next_state = yy_try_NUL_trans( current_state );
6653 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6655 register int yy_is_jam;
6656 register char *yy_cp = (yy_c_buf_p);
6658 register YY_CHAR yy_c = 1;
6659 if ( yy_accept[yy_current_state] )
6661 (yy_last_accepting_state) = yy_current_state;
6662 (yy_last_accepting_cpos) = yy_cp;
6664 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6666 yy_current_state = (int) yy_def[yy_current_state];
6667 if ( yy_current_state >= 2221 )
6668 yy_c = yy_meta[(unsigned int) yy_c];
6670 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6671 yy_is_jam = (yy_current_state == 2220);
6673 return yy_is_jam ? 0 : yy_current_state;
6678 static int yyinput (void)
6680 static int input (void)
6686 *(yy_c_buf_p) = (yy_hold_char);
6688 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6690 /* yy_c_buf_p now points to the character we want to return.
6691 * If this occurs *before* the EOB characters, then it's a
6692 * valid NUL; if not, then we've hit the end of the buffer.
6694 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6695 /* This was really a NUL. */
6696 *(yy_c_buf_p) = '\0';
6699 { /* need more input */
6700 int offset = (yy_c_buf_p) - (yytext_ptr);
6703 switch ( yy_get_next_buffer( ) )
6705 case EOB_ACT_LAST_MATCH:
6706 /* This happens because yy_g_n_b()
6707 * sees that we've accumulated a
6708 * token and flags that we need to
6709 * try matching the token before
6710 * proceeding. But for input(),
6711 * there's no matching to consider.
6712 * So convert the EOB_ACT_LAST_MATCH
6713 * to EOB_ACT_END_OF_FILE.
6716 /* Reset buffer status. */
6717 surf_parse_restart(surf_parse_in );
6721 case EOB_ACT_END_OF_FILE:
6723 if ( surf_parse_wrap( ) )
6726 if ( ! (yy_did_buffer_switch_on_eof) )
6735 case EOB_ACT_CONTINUE_SCAN:
6736 (yy_c_buf_p) = (yytext_ptr) + offset;
6742 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6743 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6744 (yy_hold_char) = *++(yy_c_buf_p);
6748 surf_parse_lineno++;
6753 #endif /* ifndef YY_NO_INPUT */
6755 /** Immediately switch to a different input stream.
6756 * @param input_file A readable stream.
6758 * @note This function does not reset the start condition to @c INITIAL .
6760 void surf_parse_restart (FILE * input_file )
6763 if ( ! YY_CURRENT_BUFFER ){
6764 surf_parse_ensure_buffer_stack ();
6765 YY_CURRENT_BUFFER_LVALUE =
6766 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6769 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6770 surf_parse__load_buffer_state( );
6773 /** Switch to a different input buffer.
6774 * @param new_buffer The new input buffer.
6777 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6780 /* TODO. We should be able to replace this entire function body
6782 * surf_parse_pop_buffer_state();
6783 * surf_parse_push_buffer_state(new_buffer);
6785 surf_parse_ensure_buffer_stack ();
6786 if ( YY_CURRENT_BUFFER == new_buffer )
6789 if ( YY_CURRENT_BUFFER )
6791 /* Flush out information for old buffer. */
6792 *(yy_c_buf_p) = (yy_hold_char);
6793 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6794 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6797 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6798 surf_parse__load_buffer_state( );
6800 /* We don't actually know whether we did this switch during
6801 * EOF (surf_parse_wrap()) processing, but the only time this flag
6802 * is looked at is after surf_parse_wrap() is called, so it's safe
6803 * to go ahead and always set it.
6805 (yy_did_buffer_switch_on_eof) = 1;
6808 static void surf_parse__load_buffer_state (void)
6810 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6811 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6812 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6813 (yy_hold_char) = *(yy_c_buf_p);
6816 /** Allocate and initialize an input buffer state.
6817 * @param file A readable stream.
6818 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6820 * @return the allocated buffer state.
6822 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6826 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6828 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6830 b->yy_buf_size = size;
6832 /* yy_ch_buf has to be 2 characters longer than the size given because
6833 * we need to put in 2 end-of-buffer characters.
6835 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6836 if ( ! b->yy_ch_buf )
6837 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6839 b->yy_is_our_buffer = 1;
6841 surf_parse__init_buffer(b,file );
6846 /** Destroy the buffer.
6847 * @param b a buffer created with surf_parse__create_buffer()
6850 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6856 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6857 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6859 if ( b->yy_is_our_buffer )
6860 surf_parse_free((void *) b->yy_ch_buf );
6862 surf_parse_free((void *) b );
6866 extern int isatty (int );
6867 #endif /* __cplusplus */
6869 /* Initializes or reinitializes a buffer.
6870 * This function is sometimes called more than once on the same buffer,
6871 * such as during a surf_parse_restart() or at EOF.
6873 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6878 surf_parse__flush_buffer(b );
6880 b->yy_input_file = file;
6881 b->yy_fill_buffer = 1;
6883 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6884 * called from surf_parse_restart() or through yy_get_next_buffer.
6885 * In that case, we don't want to reset the lineno or column.
6887 if (b != YY_CURRENT_BUFFER){
6888 b->yy_bs_lineno = 1;
6889 b->yy_bs_column = 0;
6892 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6897 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6898 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6901 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6908 /* We always need two end-of-buffer characters. The first causes
6909 * a transition to the end-of-buffer state. The second causes
6910 * a jam in that state.
6912 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6913 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6915 b->yy_buf_pos = &b->yy_ch_buf[0];
6918 b->yy_buffer_status = YY_BUFFER_NEW;
6920 if ( b == YY_CURRENT_BUFFER )
6921 surf_parse__load_buffer_state( );
6924 /** Pushes the new state onto the stack. The new state becomes
6925 * the current state. This function will allocate the stack
6927 * @param new_buffer The new state.
6930 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6932 if (new_buffer == NULL)
6935 surf_parse_ensure_buffer_stack();
6937 /* This block is copied from surf_parse__switch_to_buffer. */
6938 if ( YY_CURRENT_BUFFER )
6940 /* Flush out information for old buffer. */
6941 *(yy_c_buf_p) = (yy_hold_char);
6942 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6943 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6946 /* Only push if top exists. Otherwise, replace top. */
6947 if (YY_CURRENT_BUFFER)
6948 (yy_buffer_stack_top)++;
6949 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6951 /* copied from surf_parse__switch_to_buffer. */
6952 surf_parse__load_buffer_state( );
6953 (yy_did_buffer_switch_on_eof) = 1;
6956 /** Removes and deletes the top of the stack, if present.
6957 * The next element becomes the new top.
6960 void surf_parse_pop_buffer_state (void)
6962 if (!YY_CURRENT_BUFFER)
6965 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6966 YY_CURRENT_BUFFER_LVALUE = NULL;
6967 if ((yy_buffer_stack_top) > 0)
6968 --(yy_buffer_stack_top);
6970 if (YY_CURRENT_BUFFER) {
6971 surf_parse__load_buffer_state( );
6972 (yy_did_buffer_switch_on_eof) = 1;
6976 /* Allocates the stack if it does not exist.
6977 * Guarantees space for at least one push.
6979 static void surf_parse_ensure_buffer_stack (void)
6983 if (!(yy_buffer_stack)) {
6985 /* First allocation is just for 2 elements, since we don't know if this
6986 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6987 * immediate realloc on the next call.
6990 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6991 (num_to_alloc * sizeof(struct yy_buffer_state*)
6993 if ( ! (yy_buffer_stack) )
6994 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6996 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6998 (yy_buffer_stack_max) = num_to_alloc;
6999 (yy_buffer_stack_top) = 0;
7003 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7005 /* Increase the buffer to prepare for a possible push. */
7006 int grow_size = 8 /* arbitrary grow size */;
7008 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7009 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7011 num_to_alloc * sizeof(struct yy_buffer_state*)
7013 if ( ! (yy_buffer_stack) )
7014 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7016 /* zero only the new slots.*/
7017 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7018 (yy_buffer_stack_max) = num_to_alloc;
7022 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7023 * @param base the character buffer
7024 * @param size the size in bytes of the character buffer
7026 * @return the newly allocated buffer state object.
7028 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7033 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7034 base[size-1] != YY_END_OF_BUFFER_CHAR )
7035 /* They forgot to leave room for the EOB's. */
7038 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7040 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7042 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7043 b->yy_buf_pos = b->yy_ch_buf = base;
7044 b->yy_is_our_buffer = 0;
7045 b->yy_input_file = 0;
7046 b->yy_n_chars = b->yy_buf_size;
7047 b->yy_is_interactive = 0;
7049 b->yy_fill_buffer = 0;
7050 b->yy_buffer_status = YY_BUFFER_NEW;
7052 surf_parse__switch_to_buffer(b );
7057 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7058 * scan from a @e copy of @a str.
7059 * @param yystr a NUL-terminated string to scan
7061 * @return the newly allocated buffer state object.
7062 * @note If you want to scan bytes that may contain NUL values, then use
7063 * surf_parse__scan_bytes() instead.
7065 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7068 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7071 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7072 * scan from a @e copy of @a bytes.
7073 * @param yybytes the byte buffer to scan
7074 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7076 * @return the newly allocated buffer state object.
7078 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7085 /* Get memory for full buffer, including space for trailing EOB's. */
7086 n = _yybytes_len + 2;
7087 buf = (char *) surf_parse_alloc(n );
7089 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7091 for ( i = 0; i < _yybytes_len; ++i )
7092 buf[i] = yybytes[i];
7094 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7096 b = surf_parse__scan_buffer(buf,n );
7098 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7100 /* It's okay to grow etc. this buffer, and we should throw it
7101 * away when we're done.
7103 b->yy_is_our_buffer = 1;
7108 static void yy_push_state (int new_state )
7110 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7114 (yy_start_stack_depth) += YY_START_STACK_INCR;
7115 new_size = (yy_start_stack_depth) * sizeof( int );
7117 if ( ! (yy_start_stack) )
7118 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7121 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7123 if ( ! (yy_start_stack) )
7124 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7127 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7132 static void yy_pop_state (void)
7134 if ( --(yy_start_stack_ptr) < 0 )
7135 YY_FATAL_ERROR( "start-condition stack underflow" );
7137 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7140 #ifndef YY_EXIT_FAILURE
7141 #define YY_EXIT_FAILURE 2
7144 static void yy_fatal_error (yyconst char* msg )
7146 (void) fprintf( stderr, "%s\n", msg );
7147 exit( YY_EXIT_FAILURE );
7150 /* Redefine yyless() so it works in section 3 code. */
7156 /* Undo effects of setting up surf_parse_text. */ \
7157 int yyless_macro_arg = (n); \
7158 YY_LESS_LINENO(yyless_macro_arg);\
7159 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7160 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7161 (yy_hold_char) = *(yy_c_buf_p); \
7162 *(yy_c_buf_p) = '\0'; \
7163 surf_parse_leng = yyless_macro_arg; \
7167 /* Accessor methods (get/set functions) to struct members. */
7169 /** Get the current line number.
7172 int surf_parse_get_lineno (void)
7175 return surf_parse_lineno;
7178 /** Get the input stream.
7181 FILE *surf_parse_get_in (void)
7183 return surf_parse_in;
7186 /** Get the output stream.
7189 FILE *surf_parse_get_out (void)
7191 return surf_parse_out;
7194 /** Get the length of the current token.
7197 int surf_parse_get_leng (void)
7199 return surf_parse_leng;
7202 /** Get the current token.
7206 char *surf_parse_get_text (void)
7208 return surf_parse_text;
7211 /** Set the current line number.
7212 * @param line_number
7215 void surf_parse_set_lineno (int line_number )
7218 surf_parse_lineno = line_number;
7221 /** Set the input stream. This does not discard the current
7223 * @param in_str A readable stream.
7225 * @see surf_parse__switch_to_buffer
7227 void surf_parse_set_in (FILE * in_str )
7229 surf_parse_in = in_str ;
7232 void surf_parse_set_out (FILE * out_str )
7234 surf_parse_out = out_str ;
7237 int surf_parse_get_debug (void)
7239 return surf_parse__flex_debug;
7242 void surf_parse_set_debug (int bdebug )
7244 surf_parse__flex_debug = bdebug ;
7247 static int yy_init_globals (void)
7249 /* Initialization is the same as for the non-reentrant scanner.
7250 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7253 /* We do not touch surf_parse_lineno unless the option is enabled. */
7254 surf_parse_lineno = 1;
7256 (yy_buffer_stack) = 0;
7257 (yy_buffer_stack_top) = 0;
7258 (yy_buffer_stack_max) = 0;
7259 (yy_c_buf_p) = (char *) 0;
7263 (yy_start_stack_ptr) = 0;
7264 (yy_start_stack_depth) = 0;
7265 (yy_start_stack) = NULL;
7267 /* Defined in main.c */
7269 surf_parse_in = stdin;
7270 surf_parse_out = stdout;
7272 surf_parse_in = (FILE *) 0;
7273 surf_parse_out = (FILE *) 0;
7276 /* For future reference: Set errno on error, since we are called by
7277 * surf_parse_lex_init()
7282 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7283 int surf_parse_lex_destroy (void)
7286 /* Pop the buffer stack, destroying each element. */
7287 while(YY_CURRENT_BUFFER){
7288 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7289 YY_CURRENT_BUFFER_LVALUE = NULL;
7290 surf_parse_pop_buffer_state();
7293 /* Destroy the stack itself. */
7294 surf_parse_free((yy_buffer_stack) );
7295 (yy_buffer_stack) = NULL;
7297 /* Destroy the start condition stack. */
7298 surf_parse_free((yy_start_stack) );
7299 (yy_start_stack) = NULL;
7301 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7302 * surf_parse_lex() is called, initialization will occur. */
7309 * Internal utility routines.
7313 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7316 for ( i = 0; i < n; ++i )
7321 #ifdef YY_NEED_STRLEN
7322 static int yy_flex_strlen (yyconst char * s )
7325 for ( n = 0; s[n]; ++n )
7332 void *surf_parse_alloc (yy_size_t size )
7334 return (void *) malloc( size );
7337 void *surf_parse_realloc (void * ptr, yy_size_t size )
7339 /* The cast to (char *) in the following accommodates both
7340 * implementations that use char* generic pointers, and those
7341 * that use void* generic pointers. It works with the latter
7342 * because both ANSI C and C++ allow castless assignment from
7343 * any pointer type to void*, and deal with argument conversions
7344 * as though doing an assignment.
7346 return (void *) realloc( (char *) ptr, size );
7349 void surf_parse_free (void * ptr )
7351 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7354 #define YYTABLES_NAME "yytables"
7356 /* Element context stack lookup. */
7357 int surfxml_element_context(int i)
7359 return (0<i && i<yy_start_stack_depth
7360 ? yy_start_stack[yy_start_stack_ptr - i]
7365 void print_yy_stack(char* fmt, ...)
7367 int i = 0; va_list ap; va_start(ap, fmt);
7368 vfprintf(stderr, fmt, ap);
7369 if (surfxml_statenames) {
7370 for (i=1; i<yy_start_stack_ptr; i++) {
7371 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7373 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7378 void print_surfxml_bufferstack()
7381 fputs("Buffer: ", stderr);
7382 for (i = 0; i < blimit; i++) {
7383 if ( surfxml_bufferstack[i] == '\377' ) break;
7384 putc(surfxml_bufferstack[i], stderr);
7389 static void debug_enter(int state, const char* statename) {
7390 yy_push_state(state);
7391 if (surf_parse__flex_debug) {
7392 print_yy_stack("--ENTER(%s) : ",statename);
7393 print_surfxml_bufferstack();
7397 static void debug_leave(void) {
7398 if (surf_parse__flex_debug) {
7399 print_yy_stack("--LEAVE : ");
7400 print_surfxml_bufferstack();
7405 static void debug_set(int state, const char* statename) {
7407 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7411 static void cleanup(void)
7413 if (surfxml_statenames) {
7414 free(surfxml_statenames);
7415 surfxml_statenames = NULL;
7417 free(surfxml_bufferstack);
7418 surfxml_bufferstack = NULL;
7424 static int fail(const char* fmt, ...)
7426 int chars_left, used;
7427 va_list ap; va_start(ap, fmt);
7428 #ifdef FLEXML_yylineno
7429 used = sprintf(flexml_err_msg,
7430 "Invalid XML (XML input line %d, state %d): ",
7431 surf_parse_lineno, YY_START);
7433 used = sprintf(flexml_err_msg,
7434 "Invalid XML (state %d): ",
7437 chars_left = flexml_max_err_msg_size - used - 1;
7438 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7441 #ifndef FLEXML_quiet_parser
7442 /* print directly to sdterr */
7443 fprintf(stderr, "%s\n", flexml_err_msg);
7444 flexml_err_msg[0] = '\0';