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 324
407 #define YY_END_OF_BUFFER 325
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[1857] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 325, 323, 15, 10,
437 10, 15, 15, 303, 10, 303, 5, 6, 5, 8,
439 9, 8, 319, 311, 312, 320, 317, 320, 318, 322,
440 311, 312, 322, 323, 26, 10, 26, 26, 26, 24,
441 26, 26, 30, 10, 30, 323, 30, 323, 323, 30,
442 41, 10, 41, 41, 41, 39, 41, 41, 41, 320,
443 319, 63, 10, 63, 63, 63, 61, 63, 63, 63,
444 63, 67, 10, 67, 323, 67, 86, 10, 86, 86,
445 86, 84, 86, 86, 86, 90, 10, 90, 99, 10,
446 99, 99, 99, 97, 99, 99, 103, 10, 103, 103,
447 323, 103, 103, 323, 103, 323, 323, 103, 323, 103,
448 103, 323, 103, 132, 10, 132, 132, 132, 130, 132,
450 132, 132, 132, 132, 132, 136, 10, 136, 136, 159,
451 10, 159, 159, 159, 157, 159, 159, 159, 159, 159,
452 159, 163, 10, 163, 170, 10, 170, 170, 170, 168,
453 170, 174, 10, 174, 199, 10, 199, 199, 199, 197,
454 199, 199, 199, 199, 203, 10, 203, 203, 212, 10,
455 212, 212, 212, 210, 212, 212, 216, 10, 216, 323,
456 216, 229, 10, 229, 229, 229, 227, 229, 229, 229,
457 233, 10, 233, 233, 240, 10, 240, 240, 240, 238,
458 240, 244, 10, 244, 257, 10, 257, 257, 257, 255,
459 257, 257, 257, 261, 10, 261, 261, 274, 10, 274,
461 274, 274, 272, 274, 274, 274, 274, 278, 10, 278,
462 323, 278, 285, 10, 285, 285, 285, 283, 285, 289,
463 10, 289, 298, 10, 298, 298, 298, 296, 298, 298,
464 302, 10, 302, 10, 0, 2, 2, 0, 4, 7,
465 314, 313, 0, 0, 0, 0, 0, 0, 0, 25,
466 27, 27, 27, 0, 0, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
468 0, 0, 0, 0, 40, 42, 42, 42, 42, 0,
469 0, 0, 62, 64, 64, 64, 64, 64, 64, 64,
470 0, 0, 85, 87, 87, 87, 87, 0, 98, 100,
472 100, 100, 0, 0, 0, 0, 0, 0, 131, 133,
473 133, 133, 133, 133, 133, 133, 133, 0, 158, 160,
474 160, 160, 160, 160, 160, 160, 160, 160, 0, 169,
475 171, 171, 0, 198, 200, 200, 200, 200, 200, 200,
476 0, 211, 213, 213, 213, 0, 0, 228, 230, 230,
477 230, 230, 0, 239, 241, 241, 0, 256, 258, 258,
478 258, 258, 0, 273, 275, 275, 275, 275, 275, 0,
479 0, 284, 286, 286, 0, 297, 299, 299, 299, 0,
480 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
481 0, 0, 321, 0, 27, 27, 0, 0, 92, 0,
483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 91, 0, 0, 0, 0, 0, 0,
485 42, 0, 0, 42, 0, 0, 0, 316, 64, 0,
486 0, 64, 64, 64, 64, 0, 0, 0, 87, 87,
487 87, 0, 0, 0, 0, 100, 0, 0, 92, 0,
488 91, 133, 0, 0, 133, 133, 133, 133, 133, 0,
489 0, 160, 0, 0, 0, 0, 160, 160, 160, 160,
490 160, 0, 0, 0, 0, 0, 0, 200, 0, 0,
491 200, 200, 200, 0, 0, 213, 213, 0, 0, 0,
492 230, 230, 230, 0, 0, 0, 0, 0, 0, 258,
494 258, 258, 0, 0, 275, 275, 275, 275, 0, 0,
495 0, 286, 0, 0, 0, 0, 299, 0, 0, 0,
496 14, 1, 0, 0, 309, 0, 0, 0, 306, 305,
497 0, 0, 27, 27, 0, 0, 29, 0, 92, 0,
498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499 0, 0, 0, 0, 91, 0, 0, 0, 0, 0,
500 0, 42, 0, 34, 33, 42, 0, 0, 0, 44,
501 0, 64, 0, 48, 47, 0, 0, 64, 0, 0,
502 64, 0, 0, 66, 0, 0, 87, 87, 87, 0,
503 0, 89, 0, 0, 94, 93, 100, 0, 0, 102,
505 0, 0, 0, 133, 0, 107, 106, 133, 133, 133,
506 133, 133, 0, 0, 135, 0, 160, 160, 0, 150,
507 149, 0, 140, 139, 0, 0, 160, 160, 160, 160,
508 0, 0, 162, 0, 0, 167, 166, 0, 0, 173,
509 0, 200, 0, 178, 177, 200, 200, 200, 0, 0,
510 202, 0, 0, 0, 0, 0, 0, 0, 215, 0,
511 0, 0, 0, 230, 230, 0, 0, 0, 0, 232,
512 0, 0, 237, 236, 0, 0, 243, 0, 0, 0,
513 258, 258, 0, 0, 0, 0, 260, 0, 275, 275,
514 275, 275, 0, 0, 277, 0, 0, 286, 0, 0,
516 288, 0, 0, 293, 292, 299, 0, 0, 301, 0,
517 0, 0, 310, 304, 0, 0, 0, 27, 27, 0,
518 0, 0, 0, 0, 105, 176, 0, 0, 290, 0,
519 0, 0, 104, 175, 0, 0, 0, 0, 0, 0,
520 0, 0, 0, 0, 42, 0, 0, 64, 0, 52,
521 51, 0, 0, 0, 50, 49, 64, 0, 291, 87,
522 0, 0, 87, 0, 100, 0, 101, 0, 0, 133,
523 133, 133, 133, 133, 133, 0, 160, 160, 0, 152,
524 151, 160, 160, 160, 160, 0, 0, 200, 200, 200,
525 200, 0, 0, 209, 208, 0, 207, 206, 0, 175,
527 0, 222, 221, 230, 230, 0, 220, 219, 0, 0,
528 0, 250, 249, 258, 258, 0, 248, 247, 0, 275,
529 0, 0, 275, 275, 0, 0, 286, 0, 299, 0,
530 0, 0, 0, 12, 0, 307, 308, 0, 27, 27,
531 0, 0, 0, 0, 0, 105, 176, 0, 0, 0,
532 290, 0, 205, 32, 104, 175, 0, 204, 0, 0,
533 205, 31, 204, 31, 0, 36, 35, 42, 0, 0,
534 64, 0, 54, 53, 64, 0, 291, 87, 0, 0,
535 0, 0, 0, 0, 100, 0, 0, 133, 133, 133,
536 0, 0, 0, 0, 133, 133, 0, 0, 0, 160,
538 0, 0, 160, 160, 160, 0, 0, 200, 200, 200,
539 0, 0, 200, 0, 0, 0, 230, 230, 0, 0,
540 258, 258, 0, 275, 0, 265, 264, 275, 275, 0,
541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
542 11, 0, 27, 27, 27, 0, 0, 0, 0, 0,
543 0, 0, 0, 46, 205, 165, 32, 0, 0, 204,
544 164, 0, 45, 31, 0, 42, 0, 0, 64, 64,
545 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
546 0, 81, 80, 0, 100, 0, 0, 133, 133, 133,
547 0, 109, 108, 0, 0, 0, 133, 133, 0, 134,
549 0, 154, 153, 0, 0, 0, 148, 147, 0, 0,
550 160, 0, 0, 0, 0, 200, 200, 200, 0, 0,
551 0, 200, 0, 201, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 0, 0, 0, 0, 275, 275, 275,
553 0, 0, 0, 282, 281, 0, 0, 295, 294, 0,
554 300, 0, 0, 0, 0, 0, 0, 27, 27, 0,
555 217, 0, 0, 138, 0, 0, 263, 46, 165, 0,
556 262, 164, 137, 45, 0, 42, 0, 0, 43, 64,
557 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 218, 0, 133,
560 133, 133, 0, 0, 133, 0, 0, 0, 156, 155,
561 0, 142, 141, 0, 0, 0, 144, 143, 0, 0,
562 200, 0, 0, 200, 200, 0, 0, 200, 0, 214,
563 0, 0, 226, 225, 0, 224, 223, 0, 0, 0,
564 254, 253, 0, 252, 251, 0, 275, 275, 275, 0,
565 0, 0, 0, 0, 0, 17, 0, 19, 18, 27,
566 27, 0, 217, 279, 0, 138, 234, 16, 263, 0,
567 262, 137, 0, 42, 315, 64, 64, 0, 65, 0,
568 83, 82, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 0, 0, 0, 96, 95, 218, 0, 133, 133,
571 133, 0, 0, 0, 0, 133, 0, 129, 128, 0,
572 146, 145, 0, 0, 172, 200, 0, 184, 183, 200,
573 200, 0, 0, 0, 0, 200, 235, 0, 0, 0,
574 0, 0, 275, 275, 0, 280, 0, 0, 0, 0,
575 17, 27, 27, 0, 279, 0, 234, 16, 0, 0,
576 42, 0, 0, 64, 0, 0, 0, 0, 0, 0,
577 0, 0, 0, 0, 0, 0, 133, 133, 133, 0,
578 115, 0, 114, 133, 0, 161, 0, 0, 200, 200,
579 200, 0, 188, 0, 187, 200, 235, 0, 231, 0,
580 0, 0, 267, 266, 0, 0, 275, 0, 276, 280,
582 0, 0, 0, 0, 0, 0, 27, 0, 28, 0,
583 0, 0, 42, 0, 0, 0, 64, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 0, 133,
585 133, 133, 117, 116, 0, 0, 0, 180, 179, 200,
586 200, 200, 190, 189, 0, 0, 0, 242, 0, 0,
587 271, 270, 0, 0, 0, 287, 0, 0, 0, 0,
588 21, 20, 0, 0, 245, 0, 0, 0, 0, 0,
589 0, 0, 0, 64, 0, 0, 0, 0, 73, 0,
590 0, 0, 0, 72, 0, 246, 133, 133, 133, 0,
591 119, 118, 200, 200, 200, 0, 192, 191, 0, 0,
593 269, 268, 0, 0, 0, 0, 23, 22, 245, 0,
594 0, 0, 38, 37, 0, 0, 0, 0, 64, 0,
595 0, 0, 0, 0, 0, 0, 0, 0, 246, 0,
596 0, 133, 133, 133, 200, 0, 0, 200, 0, 0,
597 0, 0, 0, 69, 68, 0, 0, 0, 0, 0,
598 0, 0, 0, 79, 0, 0, 0, 78, 0, 0,
599 0, 111, 110, 133, 133, 133, 133, 200, 0, 186,
600 185, 200, 0, 259, 0, 0, 0, 0, 0, 0,
601 69, 68, 0, 0, 0, 0, 0, 56, 55, 0,
602 0, 0, 0, 0, 0, 0, 133, 133, 133, 133,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 60, 0, 59, 77, 0, 0, 76, 0, 0,
606 0, 88, 133, 133, 133, 133, 0, 182, 181, 0,
607 0, 0, 0, 0, 0, 12, 0, 12, 0, 0,
608 0, 71, 75, 70, 74, 133, 133, 133, 133, 0,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 0, 0, 0, 133, 0, 0, 0,
611 0, 0, 0, 0, 0, 58, 57, 0, 113, 112,
612 0, 123, 122, 0, 121, 120, 133, 0, 127, 126,
613 0, 0, 0, 0, 0, 11, 133, 0, 0, 0,
615 0, 0, 133, 0, 0, 0, 0, 0, 133, 0,
616 0, 0, 0, 0, 0, 0, 0, 194, 0, 193,
617 0, 0, 125, 124, 196, 195, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623 static yyconst flex_int32_t yy_ec[256] =
625 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
626 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
628 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
629 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
630 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
631 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
632 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
633 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
634 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
636 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
637 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
638 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
640 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
641 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
655 static yyconst flex_int32_t yy_meta[70] =
657 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
658 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
659 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
660 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
661 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
662 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
663 5, 5, 5, 5, 5, 5, 5, 5, 5
666 static yyconst flex_int16_t yy_base[2059] =
668 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
669 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
670 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
671 193, 196, 200, 203, 206, 224, 227, 230, 233, 250,
672 253, 256, 274, 334, 306, 312, 394, 457, 294, 301,
673 304, 355, 358, 361, 364, 368, 520, 584, 414, 417,
674 648, 710, 421, 424, 427, 477, 480, 484, 487, 490,
675 540, 543, 547, 550, 553, 604, 607, 611, 614, 617,
676 668, 671, 675, 678, 681, 730, 733, 737, 740, 743,
677 763, 766, 771, 774, 783, 791, 794, 800, 803, 811,
679 820, 823, 828, 831, 849, 0, 917, 920, 923, 926,
680 929, 946, 949, 952, 970, 0, 1038, 1041, 1059, 1113,
681 1079, 1082, 1167, 1230, 1086, 1089, 1092, 1133, 1136, 1140,
682 1143, 1146, 1293, 1356, 1187, 1190, 1194, 1197, 1200, 1250,
683 1253, 1257, 1419, 1482, 1260, 1263, 1313, 1316, 1320, 1323,
684 1326, 1376, 1545, 1599, 1379, 1383, 1653, 1716, 1386, 1389,
685 1439, 1442, 1446, 1449, 1452, 1502, 1779, 1842, 1505, 1509,
686 1512, 1515, 1565, 1568, 1572, 1575, 1905, 1971, 1578, 1619,
687 2037, 2103, 1622, 1626, 0, 0, 4590, 6550, 6550, 95,
688 100, 29, 41, 6550, 155, 51, 6550, 6550, 4569, 6550,
690 6550, 4558, 6550, 4568, 4564, 1629, 6550, 6550, 6550, 6550,
691 4561, 4558, 4515, 241, 6550, 158, 4528, 0, 142, 6550,
692 4497, 4488, 6550, 162, 2165, 210, 388, 207, 4528, 108,
693 6550, 329, 4519, 0, 146, 6550, 4483, 4486, 4484, 369,
694 4483, 6550, 389, 4489, 0, 244, 6550, 4458, 4457, 453,
695 4434, 6550, 451, 11, 31, 4482, 6550, 513, 4472, 0,
696 306, 6550, 4435, 4427, 4418, 6550, 570, 428, 6550, 574,
697 4450, 0, 308, 6550, 4420, 4399, 6550, 577, 1629, 642,
698 133, 30, 4408, 121, 13, 132, 200, 500, 451, 191,
699 4397, 213, 4432, 6550, 634, 4419, 0, 561, 6550, 4372,
701 215, 4390, 4368, 4362, 4367, 6550, 638, 309, 4408, 6550,
702 641, 4394, 0, 562, 6550, 173, 4360, 4362, 240, 4352,
703 4332, 6550, 703, 682, 6550, 840, 4375, 0, 625, 6550,
704 4338, 6550, 955, 778, 6550, 958, 4366, 0, 626, 6550,
705 4337, 4333, 4334, 432, 6550, 1044, 678, 4367, 6550, 1047,
706 4357, 0, 758, 6550, 4302, 4302, 6550, 1050, 696, 744,
707 4350, 6550, 1222, 4334, 0, 815, 6550, 4290, 4280, 4283,
708 6550, 1225, 1043, 4331, 6550, 1285, 4322, 0, 1201, 6550,
709 4291, 6550, 1288, 1264, 6550, 1343, 4312, 0, 1327, 6550,
710 4262, 4257, 4260, 6550, 1347, 1045, 4296, 6550, 1350, 4287,
712 0, 1334, 6550, 4240, 4244, 4248, 4236, 6550, 1406, 1401,
713 4287, 4280, 6550, 1412, 4254, 0, 1390, 6550, 4227, 6550,
714 1470, 1391, 6550, 1473, 4251, 0, 1397, 6550, 4214, 4216,
715 6550, 1476, 1516, 1536, 1456, 4192, 6550, 4248, 4235, 6550,
716 6550, 6550, 1529, 266, 4189, 4185, 4179, 4213, 4175, 6550,
717 0, 4164, 4147, 4142, 4162, 4130, 4122, 4124, 4120, 4119,
718 32, 388, 4109, 4111, 4114, 188, 397, 4129, 4102, 451,
719 4095, 460, 642, 4078, 6550, 0, 4082, 1629, 4075, 379,
720 4067, 4107, 6550, 0, 4052, 1675, 4041, 4061, 4047, 4055,
721 4040, 726, 6550, 0, 4050, 4041, 4051, 4019, 6550, 0,
723 1680, 4017, 4058, 4037, 4005, 703, 4026, 1052, 6550, 0,
724 4017, 1684, 3987, 3981, 3965, 3968, 3947, 3955, 6550, 0,
725 3962, 1736, 1739, 3941, 3928, 3944, 3943, 3940, 3937, 6550,
726 0, 1742, 3920, 6550, 0, 3923, 1745, 3901, 3917, 3916,
727 3904, 6550, 0, 3891, 3906, 3890, 3896, 6550, 0, 3885,
728 3902, 3898, 3922, 6550, 0, 1748, 3876, 6550, 0, 3866,
729 3881, 3876, 3876, 6550, 0, 3863, 3850, 3855, 3864, 3848,
730 3844, 6550, 0, 3849, 3857, 6550, 0, 1799, 3832, 3826,
731 3861, 3870, 1614, 3821, 6550, 1693, 0, 3809, 3808, 3844,
732 3842, 3795, 6550, 3807, 3788, 3785, 1804, 1808, 1709, 3789,
734 3776, 3770, 3770, 3764, 3773, 3758, 3757, 3749, 3766, 3717,
735 3719, 3717, 3699, 1771, 3693, 3699, 3690, 3696, 3675, 3684,
736 3679, 1812, 1863, 3673, 3702, 1817, 1871, 6550, 3674, 1875,
737 1878, 1925, 3654, 1928, 3666, 1932, 2007, 3650, 3647, 3648,
738 3648, 1935, 1938, 1993, 1957, 3630, 1999, 2057, 1774, 3619,
739 1836, 3624, 2002, 2014, 3626, 3630, 3623, 3599, 3615, 2062,
740 2066, 328, 2069, 2022, 2081, 2090, 2124, 3610, 3607, 3602,
741 3604, 2128, 2132, 2135, 2147, 2138, 2158, 3604, 2161, 2170,
742 3589, 3575, 3572, 2164, 2179, 2187, 2190, 2194, 2199, 3576,
743 2220, 2228, 2232, 2239, 2242, 2246, 2251, 2264, 2267, 2270,
745 2279, 2290, 2293, 2297, 3584, 3567, 3573, 3553, 2300, 2303,
746 3562, 3547, 2312, 2323, 2327, 2331, 3546, 2347, 2350, 3589,
747 6550, 6550, 363, 3552, 6550, 3589, 3577, 3530, 6550, 6550,
748 3527, 3519, 3526, 3512, 2353, 2356, 6550, 2359, 1643, 3515,
749 3498, 3516, 3486, 3476, 3484, 3473, 552, 3477, 3460, 3474,
750 3457, 3464, 649, 3453, 1823, 3453, 3465, 3412, 3417, 3400,
751 3414, 2378, 2384, 6550, 6550, 2392, 3430, 2396, 2399, 6550,
752 2404, 3392, 2411, 6550, 6550, 2419, 2423, 2433, 2437, 2440,
753 3403, 2451, 2455, 6550, 2458, 711, 3394, 2461, 3393, 2464,
754 2470, 6550, 2479, 2483, 6550, 6550, 3383, 2491, 2494, 6550,
756 2498, 3376, 3385, 3370, 2501, 6550, 6550, 3363, 3363, 3358,
757 3365, 3356, 2517, 2520, 6550, 2524, 3336, 3356, 2527, 6550,
758 6550, 2539, 6550, 6550, 2547, 2550, 3332, 3334, 3337, 3329,
759 2558, 2561, 6550, 2565, 2568, 6550, 6550, 2580, 2586, 6550,
760 2589, 3315, 2592, 6550, 6550, 3322, 3325, 3314, 2600, 2608,
761 6550, 2611, 2614, 2620, 2632, 2635, 2643, 2646, 6550, 2653,
762 3308, 2656, 2668, 3295, 3293, 2676, 2679, 2687, 2690, 6550,
763 2694, 2697, 6550, 6550, 2709, 2713, 6550, 2717, 2720, 2732,
764 3283, 3283, 2723, 2741, 2728, 2749, 6550, 2756, 3279, 2759,
765 3297, 3273, 2762, 2768, 6550, 2777, 3271, 3275, 2781, 2787,
767 6550, 2790, 2796, 6550, 6550, 3274, 2809, 2815, 6550, 2818,
768 771, 2823, 6550, 6550, 3301, 3299, 3261, 3248, 3289, 2828,
769 3235, 3240, 3223, 3221, 1886, 2308, 3232, 3232, 1897, 3221,
770 3225, 3223, 1900, 2837, 3218, 3216, 3201, 3204, 3204, 3199,
771 3198, 3196, 2843, 2848, 3189, 3214, 2856, 3189, 2861, 6550,
772 6550, 2869, 2876, 2887, 6550, 6550, 3182, 2895, 1965, 3171,
773 2898, 2903, 2916, 2919, 3159, 2922, 6550, 3151, 3151, 3157,
774 3150, 3132, 2926, 2929, 3146, 2934, 2947, 2953, 2956, 6550,
775 6550, 2966, 2973, 2976, 2980, 2984, 2987, 3136, 3141, 3129,
776 2999, 3006, 3010, 6550, 6550, 3021, 6550, 6550, 3029, 3034,
778 3050, 6550, 6550, 3121, 3132, 3060, 6550, 6550, 3068, 3071,
779 3074, 6550, 6550, 3102, 3112, 3083, 6550, 6550, 3092, 3105,
780 3095, 3098, 3093, 3111, 3113, 3080, 3106, 3116, 3120, 3126,
781 181, 3115, 3138, 6550, 3114, 6550, 6550, 3073, 3073, 755,
782 3145, 3057, 3063, 3048, 3056, 2030, 2072, 3057, 3044, 3027,
783 3141, 3027, 3148, 3151, 3160, 3166, 3019, 3169, 3031, 3022,
784 3172, 3175, 3180, 3190, 3196, 6550, 6550, 3014, 3028, 3205,
785 3001, 3209, 6550, 6550, 2994, 3217, 3220, 2994, 3224, 1130,
786 1184, 3237, 3241, 3249, 3005, 2991, 2983, 2998, 2993, 2978,
787 3255, 3258, 3268, 3275, 2989, 2985, 3286, 3289, 3292, 3300,
789 3307, 3311, 3319, 3325, 3328, 3331, 3337, 2986, 2965, 2977,
790 3346, 3350, 2977, 3358, 3364, 2973, 3367, 3370, 3373, 3388,
791 3394, 3397, 3403, 2961, 3415, 6550, 6550, 2961, 2947, 3407,
792 2956, 3426, 3430, 3438, 3444, 3447, 3457, 1678, 8, 730,
793 6550, 2943, 3465, 2946, 2938, 3468, 2946, 2936, 2956, 2919,
794 2909, 2909, 2901, 3471, 3476, 3479, 3483, 2915, 2898, 3487,
795 3490, 2891, 3494, 3497, 2904, 2899, 2924, 3500, 2884, 2887,
796 3503, 3506, 2918, 2899, 786, 2892, 2894, 2879, 815, 2878,
797 3509, 6550, 6550, 3526, 3529, 2861, 2873, 2854, 2841, 2843,
798 3532, 6550, 6550, 3541, 2859, 2852, 2832, 3549, 3552, 6550,
800 3555, 6550, 6550, 3563, 3567, 3575, 6550, 6550, 3583, 3586,
801 3594, 3597, 3601, 3615, 3618, 2820, 3621, 2838, 3624, 2846,
802 2840, 2820, 3639, 6550, 3642, 2805, 3645, 3648, 3665, 3668,
803 3679, 3683, 3686, 3689, 3698, 3704, 3712, 2810, 2809, 2807,
804 3716, 2798, 3719, 6550, 6550, 3731, 3735, 6550, 6550, 3743,
805 6550, 914, 195, 498, 2798, 3746, 3750, 2791, 2772, 3758,
806 3764, 2770, 2774, 3767, 2770, 2767, 3770, 3780, 3783, 2764,
807 3786, 3789, 3792, 3795, 2756, 2760, 2766, 3798, 6550, 2746,
808 2760, 3801, 3804, 3807, 2770, 2765, 2757, 2761, 2746, 2752,
809 2739, 2735, 2739, 2727, 3822, 3825, 3828, 3836, 2708, 2701,
811 2705, 2695, 599, 813, 2693, 3843, 3846, 3854, 6550, 6550,
812 3862, 6550, 6550, 3870, 3873, 3881, 6550, 6550, 3889, 3892,
813 2693, 3895, 3898, 2689, 2668, 909, 912, 2653, 3913, 6550,
814 2650, 3916, 6550, 6550, 3925, 6550, 6550, 3933, 3936, 3939,
815 6550, 6550, 3955, 6550, 6550, 3964, 3967, 2655, 2647, 3970,
816 2638, 3973, 3976, 1199, 1089, 3985, 4000, 6550, 6550, 2632,
817 2622, 3995, 4008, 4014, 2619, 4017, 4020, 4023, 4026, 2618,
818 4032, 4035, 2610, 2603, 6550, 4038, 2601, 4041, 6550, 4044,
819 6550, 6550, 2639, 2623, 2635, 2622, 2626, 2618, 2603, 2614,
820 2601, 2601, 4052, 4056, 6550, 6550, 4064, 2560, 2567, 2561,
822 2554, 2580, 2599, 2572, 2588, 2536, 4067, 6550, 6550, 4075,
823 6550, 6550, 4083, 4086, 6550, 4089, 4092, 6550, 6550, 2526,
824 2520, 2549, 2567, 2530, 2546, 2489, 4110, 4113, 4116, 4119,
825 4122, 4126, 4140, 2484, 4143, 4146, 4149, 4152, 799, 706,
826 4158, 4162, 2482, 4173, 4180, 2451, 4183, 4186, 2454, 2450,
827 2437, 4192, 4195, 2422, 2389, 2383, 2384, 2326, 2332, 2298,
828 50, 66, 76, 115, 4203, 226, 236, 332, 478, 553,
829 6550, 560, 6550, 4206, 4212, 6550, 4215, 4218, 572, 568,
830 620, 694, 6550, 748, 6550, 4226, 4233, 4236, 6550, 4239,
831 4244, 4248, 6550, 6550, 4263, 4266, 4274, 4277, 6550, 4281,
833 4284, 1085, 1109, 1250, 4287, 4292, 4308, 4311, 6550, 778,
834 789, 887, 4314, 4317, 1050, 1158, 883, 915, 941, 941,
835 944, 962, 939, 1036, 1082, 1086, 1103, 4326, 1105, 1091,
836 1115, 1157, 6550, 6550, 4332, 4335, 4346, 6550, 6550, 1163,
837 1196, 1218, 6550, 6550, 4354, 4357, 4365, 6550, 4368, 4372,
838 6550, 6550, 4387, 4390, 4398, 6550, 1352, 1263, 1478, 4401,
839 6550, 6550, 4409, 4413, 4421, 1231, 1232, 4427, 4431, 1245,
840 1311, 1298, 1318, 1285, 1359, 1366, 1375, 1395, 6550, 1433,
841 1419, 1423, 1429, 6550, 4439, 4445, 4448, 1465, 1477, 4451,
842 6550, 6550, 1468, 4459, 1481, 4462, 6550, 6550, 4470, 4473,
844 6550, 6550, 1521, 1575, 4481, 4493, 6550, 6550, 4484, 1468,
845 1471, 4501, 6550, 6550, 1539, 1539, 1562, 1553, 4509, 1552,
846 1570, 1588, 1576, 1576, 1613, 1629, 1617, 4512, 4515, 4519,
847 4527, 1599, 1638, 1590, 1619, 4522, 4540, 1611, 4548, 1712,
848 4551, 4554, 4560, 4573, 4579, 1655, 1667, 1661, 1679, 4582,
849 4585, 1680, 1685, 6550, 1723, 1725, 1726, 6550, 1727, 4593,
850 4596, 6550, 6550, 1708, 1716, 1719, 1724, 4604, 4608, 6550,
851 6550, 4616, 4622, 6550, 1809, 4625, 4628, 4647, 4667, 4711,
852 4636, 4656, 1747, 1789, 1779, 1796, 4687, 6550, 6550, 1803,
853 1781, 1785, 1826, 1809, 1826, 4660, 1814, 1823, 1818, 1819,
855 4679, 4697, 4705, 4731, 1925, 4739, 1937, 1942, 4759, 4803,
856 1878, 6550, 1882, 6550, 6550, 1915, 1940, 6550, 1941, 1944,
857 4749, 6550, 1904, 1890, 1915, 1915, 4779, 6550, 6550, 4787,
858 2040, 2052, 1950, 1988, 1978, 1987, 2078, 2004, 4754, 2007,
859 2014, 6550, 6550, 6550, 6550, 4795, 4814, 4823, 4826, 2008,
860 2006, 2014, 2033, 4832, 2057, 2068, 2088, 4835, 2095, 2093,
861 4846, 4854, 4867, 4870, 4878, 4885, 2057, 4896, 4899, 2090,
862 2111, 2105, 2123, 4907, 2135, 6550, 6550, 4910, 6550, 6550,
863 4919, 6550, 6550, 4927, 6550, 6550, 2109, 4935, 6550, 6550,
864 2135, 2138, 2149, 2158, 2184, 6550, 2152, 2175, 2181, 2178,
866 2184, 2200, 2149, 2180, 2203, 2201, 2215, 2236, 4944, 2226,
867 2255, 2237, 2255, 2259, 4947, 4950, 2270, 6550, 2269, 6550,
868 2344, 4958, 6550, 6550, 6550, 6550, 4966, 4969, 2321, 2328,
869 2268, 2318, 2288, 2390, 2266, 2316, 2327, 2372, 2324, 2355,
870 2270, 2384, 2363, 2459, 2428, 2468, 2449, 2471, 2489, 2526,
871 2425, 2538, 4977, 4980, 6550, 6550, 5000, 5009, 5018, 5027,
872 5036, 5045, 5054, 5063, 5072, 5081, 5090, 5099, 5108, 5117,
873 5126, 5135, 5144, 5153, 5162, 5171, 5180, 5189, 5198, 5207,
874 5216, 5225, 5234, 5243, 5252, 5261, 5270, 5279, 5288, 5297,
875 5306, 5315, 5322, 5329, 5336, 5343, 5350, 5357, 5364, 5371,
877 5378, 5385, 5392, 5399, 5406, 5413, 5420, 5427, 5436, 5441,
878 5446, 5451, 5456, 5463, 5468, 5473, 5478, 5483, 5488, 5493,
879 5500, 5505, 5512, 5517, 5524, 5529, 5536, 5541, 5548, 5553,
880 5560, 5565, 5574, 5580, 5587, 5595, 5602, 5610, 5617, 5625,
881 5632, 5640, 5647, 5655, 5662, 5670, 5677, 5685, 5693, 5700,
882 5708, 5716, 5724, 5732, 5740, 5748, 5756, 5764, 5771, 5779,
883 5786, 5794, 5801, 5809, 5818, 5824, 5831, 5839, 5847, 5855,
884 5862, 5870, 5877, 5885, 5892, 5900, 5907, 5915, 5922, 5930,
885 5938, 5945, 5953, 5961, 5968, 5976, 5984, 5991, 5999, 6006,
886 6014, 6021, 6029, 6036, 6044, 6053, 6062, 6069, 6077, 6084,
888 6092, 6099, 6107, 6114, 6122, 6129, 6136, 6144, 6152, 6160,
889 6168, 6175, 6183, 6191, 6198, 6206, 6214, 6221, 6229, 6236,
890 6244, 6252, 6260, 6268, 6276, 6285, 6294, 6301, 6309, 6316,
891 6324, 6331, 6339, 6346, 6354, 6361, 6368, 6376, 6384, 6392,
892 6400, 6407, 6415, 6423, 6431, 6439, 6447, 6455, 6463, 6470,
893 6478, 6486, 6495, 6504, 6513, 6522, 6531, 6540
896 static yyconst flex_int16_t yy_def[2059] =
898 1857, 1857, 1858, 1858, 1858, 1858, 1859, 1859, 1860, 1860,
899 1861, 1861, 1862, 1862, 1862, 1862, 1863, 1863, 1857, 1857,
900 1864, 1864, 1865, 1865, 1865, 1865, 1857, 1857, 1865, 1865,
901 1865, 1865, 1857, 1857, 1865, 1865, 1857, 1857, 1865, 1865,
902 1865, 1865, 1866, 1866, 1862, 1862, 1867, 1867, 1868, 1868,
903 1857, 1857, 1868, 1868, 1868, 1868, 1869, 1869, 1870, 1870,
904 1871, 1871, 1872, 1872, 1872, 1872, 1857, 1857, 1872, 1872,
905 1872, 1872, 1857, 1857, 1872, 1872, 1872, 1872, 1857, 1857,
906 1872, 1872, 1857, 1857, 1872, 1872, 1872, 1872, 1857, 1857,
907 1872, 1872, 1872, 1872, 1857, 1857, 1872, 1872, 1857, 1857,
909 1872, 1872, 1872, 1872, 1856, 105, 1873, 1873, 1857, 1857,
910 1873, 1873, 1873, 1873, 1856, 115, 1874, 1874, 1875, 1875,
911 1876, 1876, 1877, 1877, 1878, 1878, 1857, 1857, 1878, 1878,
912 1878, 1878, 1879, 1879, 1880, 1880, 1857, 1857, 1880, 1880,
913 1880, 1880, 1881, 1881, 1882, 1882, 1857, 1857, 1882, 1882,
914 1882, 1882, 1883, 1883, 1884, 1884, 1885, 1885, 1886, 1886,
915 1857, 1857, 1886, 1886, 1886, 1886, 1887, 1887, 1888, 1888,
916 1857, 1857, 1888, 1888, 1888, 1888, 1889, 1889, 1890, 1890,
917 1891, 1891, 1892, 1892, 1857, 1857, 1856, 1856, 1856, 1856,
918 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
920 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
921 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1893, 1856, 1856,
922 1893, 1893, 1856, 1856, 1856, 225, 225, 225, 227, 227,
923 1856, 1856, 1856, 1894, 1856, 1856, 1894, 1894, 1894, 1856,
924 1856, 1856, 1856, 1856, 1895, 1856, 1856, 1895, 1895, 1895,
925 1895, 1856, 1856, 230, 230, 230, 1856, 1856, 1856, 1896,
926 1856, 1856, 1896, 1896, 1896, 1856, 1856, 1856, 1856, 1856,
927 1856, 1897, 1856, 1856, 1897, 1897, 1856, 1856, 228, 279,
928 230, 279, 280, 230, 230, 230, 230, 230, 281, 279,
929 288, 288, 230, 1856, 1856, 1856, 1898, 1856, 1856, 1898,
931 1898, 1898, 1898, 1898, 1898, 1856, 1856, 230, 230, 1856,
932 1856, 1856, 1899, 1856, 1856, 1899, 1899, 1899, 1899, 1899,
933 1899, 1856, 1856, 1856, 1856, 1856, 1856, 1900, 1856, 1856,
934 1900, 1856, 1856, 1856, 1856, 1856, 1856, 1901, 1856, 1856,
935 1901, 1901, 1901, 1901, 1856, 1856, 230, 230, 1856, 1856,
936 1856, 1902, 1856, 1856, 1902, 1902, 1856, 1856, 230, 230,
937 230, 1856, 1856, 1856, 1903, 1856, 1856, 1903, 1903, 1903,
938 1856, 1856, 230, 230, 1856, 1856, 1856, 1904, 1856, 1856,
939 1904, 1856, 1856, 1856, 1856, 1856, 1856, 1905, 1856, 1856,
940 1905, 1905, 1905, 1856, 1856, 230, 230, 1856, 1856, 1856,
942 1906, 1856, 1856, 1906, 1906, 1906, 1906, 1856, 1856, 230,
943 410, 230, 1856, 1856, 1856, 1907, 1856, 1856, 1907, 1856,
944 1856, 1856, 1856, 1856, 1856, 1908, 1856, 1856, 1908, 1908,
945 1856, 1856, 1856, 1856, 1909, 1856, 1856, 1856, 1856, 1856,
946 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
947 1893, 1893, 1893, 1910, 1856, 1856, 1856, 1856, 1856, 1856,
948 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
949 1856, 1856, 1856, 1856, 1856, 1894, 1894, 1894, 1894, 1856,
950 1911, 1856, 1856, 1895, 1895, 1895, 1895, 1895, 1895, 1895,
951 1912, 1856, 1856, 1896, 1896, 1896, 1896, 1913, 1856, 1914,
953 1914, 1914, 1915, 1856, 1856, 1856, 1856, 1856, 1856, 1898,
954 1898, 1898, 1898, 1898, 1898, 1898, 1898, 1916, 1856, 1899,
955 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1899, 1917, 1856,
956 1900, 1900, 1918, 1856, 1901, 1901, 1901, 1901, 1901, 1901,
957 1919, 1856, 1902, 1902, 1902, 1920, 1856, 1856, 1921, 1921,
958 1921, 1921, 1922, 1856, 1923, 1923, 1924, 1856, 1925, 1925,
959 1925, 1925, 1926, 1856, 1927, 1927, 1927, 1927, 1927, 1928,
960 1856, 1856, 1929, 1929, 1930, 1856, 1931, 1931, 1931, 1932,
961 1933, 1856, 1933, 1856, 1856, 1856, 1934, 1856, 1856, 1856,
962 1856, 1856, 1856, 1856, 1935, 1935, 1936, 1936, 1856, 1856,
964 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
965 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
966 1937, 1856, 1856, 1937, 1856, 1938, 1938, 1856, 1939, 1856,
967 1856, 1939, 1939, 1939, 1939, 1940, 1940, 1856, 1941, 1941,
968 1941, 1942, 1942, 1856, 1856, 1943, 1944, 1944, 1856, 1856,
969 1856, 1945, 1856, 1856, 1945, 1945, 1945, 1945, 1945, 1946,
970 1946, 1947, 1856, 1856, 1856, 1856, 1947, 1947, 1947, 1947,
971 1947, 1948, 1948, 1856, 1856, 1949, 1949, 1950, 1856, 1856,
972 1950, 1950, 1950, 1951, 1951, 1952, 1952, 1953, 1953, 1856,
973 1954, 1954, 1954, 1955, 1955, 1856, 1856, 1956, 1956, 1957,
975 1957, 1957, 1958, 1958, 1959, 1959, 1959, 1959, 1960, 1960,
976 1856, 1961, 1962, 1962, 1856, 1856, 1963, 1964, 1964, 1965,
977 1856, 1856, 1965, 1856, 1856, 1966, 1856, 1856, 1856, 1856,
978 1856, 1856, 1967, 1967, 1856, 1968, 1856, 1968, 1856, 1856,
979 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
980 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
981 1856, 1969, 1856, 1856, 1856, 1969, 1856, 1856, 1970, 1856,
982 1970, 1971, 1856, 1856, 1856, 1856, 1856, 1971, 1856, 1856,
983 1971, 1856, 1972, 1856, 1972, 1856, 1973, 1973, 1973, 1856,
984 1974, 1856, 1974, 1856, 1856, 1856, 1975, 1856, 1976, 1856,
986 1976, 1856, 1856, 1977, 1856, 1856, 1856, 1977, 1977, 1977,
987 1977, 1977, 1856, 1978, 1856, 1978, 1979, 1979, 1856, 1856,
988 1856, 1856, 1856, 1856, 1856, 1856, 1979, 1979, 1979, 1979,
989 1856, 1980, 1856, 1980, 1856, 1856, 1856, 1856, 1981, 1856,
990 1981, 1982, 1856, 1856, 1856, 1982, 1982, 1982, 1856, 1983,
991 1856, 1983, 1856, 1856, 1856, 1856, 1856, 1984, 1856, 1984,
992 1856, 1856, 1856, 1985, 1985, 1856, 1856, 1856, 1986, 1856,
993 1986, 1856, 1856, 1856, 1856, 1987, 1856, 1987, 1856, 1856,
994 1988, 1988, 1856, 1856, 1856, 1989, 1856, 1989, 1990, 1990,
995 1990, 1990, 1856, 1991, 1856, 1991, 1856, 1992, 1856, 1993,
997 1856, 1993, 1856, 1856, 1856, 1994, 1856, 1995, 1856, 1995,
998 1996, 1997, 1856, 1856, 1856, 1856, 1856, 1998, 1998, 1999,
999 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1000 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1001 1856, 1856, 1856, 1856, 2000, 1856, 2001, 2002, 1856, 1856,
1002 1856, 1856, 1856, 1856, 1856, 1856, 2002, 2003, 1856, 2004,
1003 1856, 1856, 2004, 2005, 2006, 1856, 1856, 1856, 1856, 2007,
1004 2007, 2007, 2007, 2007, 2007, 2008, 2009, 2009, 1856, 1856,
1005 1856, 2009, 2009, 2009, 2009, 2010, 2011, 2012, 2012, 2012,
1006 2012, 2013, 1856, 1856, 1856, 1856, 1856, 1856, 2014, 1856,
1008 1856, 1856, 1856, 2015, 2015, 1856, 1856, 1856, 2016, 2017,
1009 1856, 1856, 1856, 2018, 2018, 1856, 1856, 1856, 2019, 2020,
1010 1856, 1856, 2020, 2020, 2021, 1856, 2022, 2023, 2024, 2025,
1011 2026, 2027, 2027, 1856, 2027, 1856, 1856, 1856, 2028, 2028,
1012 2029, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1013 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1014 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2030, 1856, 2031,
1015 2032, 1856, 1856, 1856, 2032, 2033, 1856, 2034, 1856, 1856,
1016 1856, 1856, 1856, 2035, 2036, 1856, 1856, 2037, 2037, 2037,
1017 1856, 1856, 1856, 1856, 2037, 2037, 2038, 1856, 1856, 2039,
1019 1856, 1856, 2039, 2039, 2039, 2040, 2041, 2042, 2042, 2042,
1020 1856, 1856, 2042, 2043, 2044, 1856, 2045, 2045, 2046, 2047,
1021 2048, 2048, 2049, 2050, 1856, 1856, 1856, 2050, 2050, 2051,
1022 1856, 1856, 1856, 2052, 1856, 1856, 2025, 2026, 2027, 2027,
1023 1856, 1856, 2028, 2028, 2028, 2029, 1856, 1856, 1856, 1856,
1024 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1025 1856, 1856, 1856, 1856, 1856, 2030, 1856, 2031, 2032, 2032,
1026 2033, 2034, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1027 1856, 1856, 1856, 2035, 2036, 1856, 1856, 2037, 2037, 2037,
1028 1856, 1856, 1856, 1856, 1856, 1856, 2037, 2037, 1856, 1856,
1030 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1031 2039, 1856, 1856, 2040, 2041, 2042, 2042, 2042, 1856, 1856,
1032 1856, 2042, 1856, 1856, 2044, 1856, 1856, 1856, 1856, 1856,
1033 2046, 2047, 1856, 1856, 1856, 1856, 2049, 2050, 2050, 2050,
1034 2051, 1856, 1856, 1856, 1856, 2052, 1856, 1856, 1856, 1856,
1035 1856, 2026, 2027, 2027, 1856, 1856, 1856, 2028, 2028, 2029,
1036 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1037 1856, 1856, 1856, 1856, 1856, 2030, 1856, 1856, 1856, 2032,
1038 2032, 2033, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1039 1856, 1856, 1856, 1856, 2035, 1856, 1856, 1856, 1856, 2037,
1041 2037, 2037, 1856, 1856, 2037, 1856, 1856, 1856, 1856, 1856,
1042 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2040, 2041,
1043 2042, 1856, 1856, 2042, 2042, 1856, 1856, 2042, 1856, 1856,
1044 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2046, 2047, 1856,
1045 1856, 1856, 1856, 1856, 1856, 2049, 2050, 2050, 2050, 2051,
1046 1856, 2052, 2026, 2027, 2027, 1856, 1856, 1856, 1856, 2028,
1047 2028, 2029, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1048 1856, 1856, 1856, 2030, 1856, 2032, 2032, 1856, 1856, 1856,
1049 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1050 1856, 1856, 2035, 1856, 1856, 1856, 1856, 1856, 2037, 2037,
1052 2037, 1856, 1856, 1856, 1856, 2037, 1856, 1856, 1856, 1856,
1053 1856, 1856, 2040, 1856, 1856, 2042, 1856, 1856, 1856, 2042,
1054 2042, 1856, 1856, 1856, 1856, 2042, 1856, 2046, 2047, 2049,
1055 1856, 1856, 2050, 2050, 2051, 1856, 2052, 2026, 2027, 2027,
1056 1856, 2028, 2028, 2029, 1856, 1856, 1856, 1856, 1856, 1856,
1057 2030, 1856, 1856, 2032, 1856, 1856, 1856, 1856, 1856, 1856,
1058 1856, 1856, 1856, 1856, 2035, 1856, 2037, 2037, 2037, 1856,
1059 1856, 1856, 1856, 2037, 1856, 1856, 1856, 1856, 2042, 2042,
1060 2042, 1856, 1856, 1856, 1856, 2042, 1856, 1856, 1856, 2047,
1061 2049, 1856, 1856, 1856, 1856, 1856, 2050, 1856, 1856, 1856,
1063 2052, 2026, 2027, 2027, 1856, 1856, 2028, 1856, 1856, 1856,
1064 1856, 1856, 2030, 1856, 1856, 1856, 2032, 1856, 1856, 1856,
1065 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2035, 1856, 2037,
1066 2037, 2037, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2042,
1067 2042, 2042, 1856, 1856, 1856, 1856, 1856, 1856, 2049, 1856,
1068 1856, 1856, 1856, 1856, 1856, 1856, 2026, 2027, 2027, 1856,
1069 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1070 1856, 1856, 1856, 2032, 1856, 1856, 1856, 1856, 1856, 1856,
1071 1856, 1856, 1856, 1856, 2035, 1856, 2037, 2037, 2037, 1856,
1072 1856, 1856, 2042, 2042, 2042, 1856, 1856, 1856, 2049, 1856,
1074 1856, 1856, 2026, 2027, 2027, 1856, 1856, 1856, 1856, 1856,
1075 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2032, 1856,
1076 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2035, 1856, 1856,
1077 1856, 2037, 2037, 2037, 2042, 1856, 1856, 2042, 2049, 2026,
1078 2027, 2027, 2027, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1079 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 2035,
1080 1856, 1856, 1856, 2037, 2037, 2037, 2037, 2042, 1856, 1856,
1081 1856, 2042, 1856, 1856, 2026, 2027, 2027, 2027, 2053, 2054,
1082 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1083 1856, 1856, 1856, 1856, 1856, 2035, 2037, 2037, 2037, 2037,
1085 1856, 1856, 1856, 1856, 2026, 2027, 2055, 2056, 2053, 2054,
1086 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1087 1856, 1856, 2037, 2037, 2037, 2037, 1856, 1856, 1856, 1856,
1088 1856, 1856, 2026, 2055, 2027, 2057, 2056, 2058, 2027, 1856,
1089 1856, 1856, 1856, 1856, 1856, 2037, 2037, 2037, 2037, 1856,
1090 1856, 1856, 1856, 2026, 2057, 1856, 2058, 2027, 1856, 1856,
1091 1856, 1856, 1856, 1856, 1856, 1856, 2037, 1856, 1856, 1856,
1092 1856, 1856, 1856, 2026, 1856, 1856, 1856, 1856, 1856, 1856,
1093 1856, 1856, 1856, 1856, 1856, 1856, 2037, 1856, 1856, 1856,
1094 1856, 1856, 1856, 1856, 2026, 1856, 2037, 1856, 1856, 1856,
1096 1856, 2026, 2037, 1856, 1856, 1856, 1856, 2026, 2037, 1856,
1097 1856, 1856, 1856, 2026, 1856, 1856, 1856, 1856, 1856, 1856,
1098 2026, 1856, 1856, 1856, 1856, 1856, 2026, 2026, 2026, 2026,
1099 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
1100 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
1101 2026, 2026, 2026, 2026, 1856, 0, 1856, 1856, 1856, 1856,
1102 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1103 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1104 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1105 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1107 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1108 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1109 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1110 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1111 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1112 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1113 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1114 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1115 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1116 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1118 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1119 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1120 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1121 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1122 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1123 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
1126 static yyconst flex_int16_t yy_nxt[6620] =
1128 1856, 190, 191, 190, 190, 191, 190, 190, 191, 190,
1129 190, 191, 190, 195, 191, 195, 201, 192, 198, 201,
1130 192, 198, 491, 193, 503, 199, 193, 1034, 199, 196,
1131 195, 191, 195, 435, 202, 204, 205, 202, 204, 205,
1132 206, 207, 1856, 206, 207, 435, 196, 211, 212, 436,
1133 208, 204, 205, 208, 209, 438, 206, 204, 205, 505,
1134 209, 437, 206, 211, 212, 1253, 208, 191, 191, 191,
1135 492, 437, 208, 191, 191, 191, 224, 191, 224, 224,
1136 191, 224, 464, 214, 224, 191, 224, 605, 213, 214,
1137 492, 473, 225, 606, 1524, 225, 434, 434, 434, 1525,
1139 225, 434, 434, 434, 213, 215, 216, 191, 216, 215,
1140 215, 215, 215, 215, 215, 215, 217, 215, 215, 215,
1141 1526, 215, 219, 215, 220, 215, 224, 191, 224, 191,
1142 191, 191, 1856, 191, 191, 191, 224, 191, 224, 224,
1143 191, 224, 225, 1856, 1856, 226, 438, 215, 215, 226,
1144 438, 1527, 225, 507, 455, 225, 434, 434, 434, 434,
1145 434, 434, 437, 434, 434, 434, 437, 466, 458, 473,
1146 221, 474, 222, 215, 216, 191, 216, 215, 215, 215,
1147 215, 215, 215, 215, 217, 215, 215, 215, 460, 215,
1148 219, 215, 220, 215, 224, 191, 224, 224, 191, 224,
1150 721, 191, 191, 191, 191, 191, 191, 224, 191, 224,
1151 227, 1856, 468, 227, 1034, 215, 215, 228, 1856, 521,
1152 228, 1856, 1138, 225, 1856, 224, 191, 224, 191, 191,
1153 191, 191, 191, 191, 224, 191, 224, 457, 221, 522,
1154 222, 225, 1354, 605, 229, 438, 505, 229, 438, 612,
1155 227, 224, 191, 224, 224, 191, 224, 224, 191, 224,
1156 469, 437, 464, 512, 437, 465, 466, 227, 472, 466,
1157 230, 467, 513, 230, 231, 232, 191, 232, 231, 231,
1158 231, 231, 231, 231, 231, 233, 231, 231, 231, 1529,
1159 231, 235, 231, 236, 231, 253, 191, 253, 525, 1530,
1161 449, 526, 253, 191, 253, 191, 191, 191, 204, 205,
1162 438, 254, 438, 206, 204, 205, 231, 231, 254, 206,
1163 518, 255, 588, 240, 237, 589, 437, 238, 437, 240,
1164 434, 434, 434, 239, 231, 232, 191, 232, 231, 231,
1165 231, 231, 231, 231, 231, 233, 231, 231, 231, 241,
1166 231, 235, 231, 236, 231, 241, 191, 191, 191, 253,
1167 191, 253, 253, 191, 253, 253, 191, 253, 492, 253,
1168 191, 253, 255, 480, 817, 254, 231, 231, 254, 1531,
1169 481, 256, 721, 818, 237, 256, 911, 238, 582, 437,
1170 434, 434, 434, 239, 242, 243, 191, 243, 242, 242,
1172 242, 242, 242, 242, 242, 244, 242, 242, 242, 468,
1173 242, 246, 242, 247, 242, 267, 191, 267, 267, 191,
1174 267, 625, 278, 191, 278, 278, 191, 278, 278, 191,
1175 278, 268, 438, 607, 268, 469, 242, 242, 279, 498,
1176 464, 279, 607, 465, 280, 248, 608, 249, 437, 470,
1177 250, 471, 434, 434, 434, 613, 251, 242, 243, 191,
1178 243, 242, 242, 242, 242, 242, 242, 242, 244, 242,
1179 242, 242, 468, 242, 246, 242, 247, 242, 278, 191,
1180 278, 191, 191, 191, 539, 191, 191, 191, 278, 191,
1181 278, 278, 191, 278, 280, 540, 616, 281, 487, 242,
1183 242, 281, 488, 459, 282, 607, 489, 282, 248, 617,
1184 249, 503, 508, 250, 434, 434, 434, 1034, 619, 251,
1185 257, 258, 191, 258, 257, 257, 257, 257, 257, 257,
1186 257, 259, 257, 257, 257, 1532, 257, 261, 257, 262,
1187 257, 278, 191, 278, 278, 191, 278, 458, 191, 191,
1188 191, 191, 191, 191, 278, 191, 278, 283, 1533, 1355,
1189 283, 470, 257, 257, 284, 438, 438, 284, 1534, 263,
1190 280, 434, 434, 434, 264, 434, 434, 434, 434, 434,
1191 434, 437, 437, 265, 257, 258, 191, 258, 257, 257,
1192 257, 257, 257, 257, 257, 259, 257, 257, 257, 928,
1194 257, 261, 257, 262, 257, 278, 191, 278, 278, 191,
1195 278, 929, 278, 191, 278, 191, 191, 191, 191, 191,
1196 191, 280, 1540, 1541, 285, 1402, 257, 257, 285, 438,
1197 438, 286, 1403, 263, 286, 434, 434, 434, 264, 434,
1198 434, 434, 434, 434, 434, 437, 437, 265, 269, 270,
1199 191, 270, 269, 269, 269, 269, 269, 269, 269, 271,
1200 269, 269, 269, 507, 269, 273, 269, 274, 269, 278,
1201 191, 278, 278, 191, 278, 1542, 191, 191, 191, 191,
1202 191, 191, 278, 191, 278, 283, 438, 616, 283, 541,
1203 269, 269, 287, 529, 464, 287, 935, 465, 285, 1543,
1205 613, 275, 437, 473, 434, 434, 434, 546, 929, 276,
1206 269, 270, 191, 270, 269, 269, 269, 269, 269, 269,
1207 269, 271, 269, 269, 269, 1034, 269, 273, 269, 274,
1208 269, 278, 191, 278, 278, 191, 278, 492, 278, 191,
1209 278, 191, 191, 191, 191, 191, 191, 285, 616, 1034,
1210 288, 547, 269, 269, 288, 1856, 1544, 289, 935, 1504,
1211 289, 608, 438, 275, 278, 191, 278, 278, 191, 278,
1212 959, 276, 278, 191, 278, 278, 191, 278, 437, 1254,
1213 290, 605, 438, 290, 191, 191, 191, 638, 291, 533,
1214 721, 291, 191, 191, 191, 278, 191, 278, 437, 547,
1216 284, 278, 191, 278, 191, 191, 191, 1287, 284, 1031,
1217 1144, 288, 191, 191, 191, 1288, 1145, 288, 1034, 438,
1218 292, 278, 191, 278, 278, 191, 278, 1565, 292, 278,
1219 191, 278, 278, 191, 278, 437, 1292, 291, 1566, 1404,
1220 291, 434, 434, 434, 1293, 293, 1405, 1503, 293, 294,
1221 295, 191, 295, 294, 294, 294, 294, 294, 294, 294,
1222 296, 294, 294, 294, 297, 294, 298, 294, 299, 294,
1223 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
1224 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
1225 297, 294, 294, 297, 300, 297, 297, 297, 297, 297,
1227 297, 297, 301, 297, 297, 302, 297, 297, 303, 297,
1228 297, 304, 297, 297, 305, 297, 297, 297, 307, 191,
1229 307, 307, 191, 307, 191, 191, 191, 191, 191, 191,
1230 307, 191, 307, 721, 308, 1422, 1567, 308, 1424, 1353,
1231 255, 1574, 1423, 255, 1575, 1425, 308, 307, 191, 307,
1232 307, 191, 307, 307, 191, 307, 434, 434, 434, 434,
1233 434, 434, 1576, 308, 1577, 1578, 309, 1579, 1580, 309,
1234 310, 311, 191, 311, 310, 310, 310, 310, 310, 310,
1235 310, 312, 310, 310, 310, 313, 310, 314, 310, 315,
1236 310, 313, 313, 313, 313, 313, 313, 313, 313, 313,
1238 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
1239 313, 313, 310, 310, 313, 313, 316, 313, 313, 313,
1240 313, 313, 313, 317, 313, 318, 313, 313, 313, 319,
1241 313, 320, 321, 313, 313, 313, 313, 313, 313, 323,
1242 191, 323, 323, 191, 323, 434, 434, 434, 434, 434,
1243 434, 434, 434, 434, 553, 324, 563, 1581, 324, 325,
1244 326, 191, 326, 325, 325, 325, 325, 325, 325, 325,
1245 327, 325, 325, 325, 1570, 325, 329, 325, 330, 325,
1246 333, 191, 333, 333, 191, 333, 1571, 346, 191, 346,
1247 346, 191, 346, 191, 191, 191, 334, 616, 547, 334,
1249 547, 325, 325, 347, 721, 1582, 347, 1583, 1034, 255,
1250 619, 1584, 331, 325, 326, 191, 326, 325, 325, 325,
1251 325, 325, 325, 325, 327, 325, 325, 325, 1034, 325,
1252 329, 325, 330, 325, 191, 191, 191, 346, 191, 346,
1253 1557, 346, 191, 346, 346, 191, 346, 346, 191, 346,
1254 255, 1440, 1173, 347, 1586, 325, 325, 347, 1174, 1587,
1255 348, 1175, 1558, 348, 1588, 1176, 331, 335, 336, 191,
1256 336, 335, 335, 335, 335, 335, 335, 335, 337, 335,
1257 335, 335, 1572, 335, 339, 335, 340, 335, 358, 191,
1258 358, 358, 191, 358, 1573, 191, 191, 191, 191, 191,
1260 191, 358, 191, 358, 359, 438, 1177, 359, 1589, 335,
1261 335, 360, 1178, 341, 360, 1179, 1593, 359, 1034, 1180,
1262 342, 437, 343, 434, 434, 434, 434, 434, 434, 344,
1263 335, 336, 191, 336, 335, 335, 335, 335, 335, 335,
1264 335, 337, 335, 335, 335, 1594, 335, 339, 335, 340,
1265 335, 358, 191, 358, 358, 191, 358, 1439, 358, 191,
1266 358, 372, 191, 372, 372, 191, 372, 359, 438, 1034,
1267 361, 1595, 335, 335, 361, 557, 341, 373, 1610, 1611,
1268 373, 1615, 1034, 342, 437, 343, 434, 434, 434, 434,
1269 434, 434, 344, 349, 350, 191, 350, 349, 349, 349,
1271 349, 349, 349, 349, 351, 349, 349, 349, 1559, 349,
1272 353, 349, 354, 349, 191, 191, 191, 191, 191, 191,
1273 1604, 372, 191, 372, 372, 191, 372, 372, 191, 372,
1274 360, 438, 1616, 360, 1617, 349, 349, 373, 438, 1618,
1275 373, 355, 1619, 374, 434, 434, 434, 437, 434, 434,
1276 434, 434, 434, 434, 437, 356, 349, 350, 191, 350,
1277 349, 349, 349, 349, 349, 349, 349, 351, 349, 349,
1278 349, 721, 349, 353, 349, 354, 349, 372, 191, 372,
1279 383, 191, 383, 1620, 383, 191, 383, 395, 191, 395,
1280 395, 191, 395, 374, 438, 438, 384, 1603, 349, 349,
1282 384, 438, 575, 396, 355, 1621, 396, 434, 434, 434,
1283 437, 437, 570, 434, 434, 434, 1622, 437, 356, 362,
1284 363, 191, 363, 362, 362, 362, 362, 362, 362, 362,
1285 364, 362, 362, 362, 1623, 362, 366, 362, 367, 362,
1286 191, 191, 191, 191, 191, 191, 571, 395, 191, 395,
1287 395, 191, 395, 395, 191, 395, 360, 1624, 1625, 360,
1288 492, 362, 362, 396, 1626, 582, 396, 368, 1627, 397,
1289 369, 434, 434, 434, 434, 434, 434, 434, 434, 434,
1290 583, 370, 362, 363, 191, 363, 362, 362, 362, 362,
1291 362, 362, 362, 364, 362, 362, 362, 1034, 362, 366,
1293 362, 367, 362, 395, 191, 395, 409, 191, 409, 1633,
1294 409, 191, 409, 191, 191, 191, 191, 191, 191, 397,
1295 438, 1634, 410, 1635, 362, 362, 410, 580, 1638, 411,
1296 368, 1644, 411, 369, 1645, 1605, 437, 434, 434, 434,
1297 721, 586, 586, 586, 370, 375, 376, 191, 376, 375,
1298 375, 375, 375, 375, 375, 375, 377, 375, 375, 375,
1299 1646, 375, 379, 375, 380, 375, 409, 191, 409, 409,
1300 191, 409, 1647, 409, 191, 409, 409, 191, 409, 421,
1301 191, 421, 410, 1648, 1640, 410, 1649, 375, 375, 412,
1302 1652, 1653, 412, 1654, 1034, 422, 587, 1655, 381, 375,
1304 376, 191, 376, 375, 375, 375, 375, 375, 375, 375,
1305 377, 375, 375, 375, 1656, 375, 379, 375, 380, 375,
1306 421, 191, 421, 432, 191, 432, 1641, 432, 191, 432,
1307 622, 622, 622, 721, 1657, 443, 422, 1658, 1659, 433,
1308 503, 375, 375, 433, 739, 739, 739, 623, 723, 1664,
1309 504, 1667, 381, 385, 386, 191, 386, 385, 385, 385,
1310 385, 385, 385, 385, 387, 385, 385, 385, 1668, 385,
1311 389, 385, 390, 385, 444, 505, 630, 630, 630, 1672,
1312 445, 644, 644, 644, 446, 653, 653, 653, 1683, 447,
1313 506, 1684, 474, 631, 1685, 385, 385, 721, 645, 1665,
1315 1666, 391, 654, 1686, 392, 586, 586, 586, 1690, 725,
1316 739, 739, 739, 1252, 1691, 393, 385, 386, 191, 386,
1317 385, 385, 385, 385, 385, 385, 385, 387, 385, 385,
1318 385, 721, 385, 389, 385, 390, 385, 663, 663, 663,
1319 665, 665, 665, 674, 674, 674, 679, 679, 679, 696,
1320 696, 696, 1692, 1693, 664, 1694, 1695, 666, 385, 385,
1321 675, 1697, 1675, 680, 391, 1698, 697, 392, 1699, 1700,
1322 740, 1711, 755, 755, 755, 739, 739, 739, 393, 398,
1323 399, 191, 399, 398, 398, 398, 398, 398, 398, 398,
1324 400, 398, 398, 398, 1712, 398, 402, 398, 403, 398,
1326 715, 715, 715, 1713, 1714, 735, 735, 735, 1715, 735,
1327 735, 735, 1716, 622, 622, 622, 1717, 716, 768, 768,
1328 768, 398, 398, 737, 755, 755, 755, 737, 721, 404,
1329 623, 405, 740, 406, 1718, 802, 770, 755, 755, 755,
1330 1719, 407, 398, 399, 191, 399, 398, 398, 398, 398,
1331 398, 398, 398, 400, 398, 398, 398, 1720, 398, 402,
1332 398, 403, 398, 738, 763, 763, 763, 1705, 764, 1723,
1333 1724, 765, 768, 768, 768, 1725, 630, 630, 630, 773,
1334 773, 773, 1726, 774, 398, 398, 775, 1046, 1046, 1046,
1335 770, 1740, 404, 631, 405, 1741, 406, 802, 1051, 1051,
1337 1051, 1055, 1055, 1055, 407, 413, 414, 191, 414, 413,
1338 413, 413, 413, 413, 413, 413, 415, 413, 413, 413,
1339 1742, 413, 417, 413, 418, 413, 776, 776, 776, 779,
1340 779, 779, 771, 782, 782, 782, 790, 790, 790, 790,
1341 790, 790, 1735, 777, 721, 1743, 780, 413, 413, 1744,
1342 1735, 784, 1745, 1746, 792, 1747, 1736, 792, 794, 794,
1343 794, 1738, 795, 1748, 1749, 796, 1077, 1077, 1077, 721,
1344 419, 413, 414, 191, 414, 413, 413, 413, 413, 413,
1345 413, 413, 415, 413, 413, 413, 1733, 413, 417, 413,
1346 418, 413, 1756, 1735, 644, 644, 644, 1034, 1035, 793,
1348 798, 798, 798, 653, 653, 653, 1754, 1736, 782, 782,
1349 782, 645, 1756, 413, 413, 805, 805, 805, 800, 806,
1350 654, 1759, 807, 819, 819, 819, 784, 820, 1760, 1770,
1351 821, 1046, 1046, 1046, 1771, 1772, 419, 423, 424, 191,
1352 424, 423, 423, 423, 423, 423, 423, 423, 425, 423,
1353 423, 423, 785, 423, 427, 423, 428, 423, 798, 798,
1354 798, 1773, 1756, 813, 813, 813, 1750, 813, 813, 813,
1355 663, 663, 663, 1047, 1047, 1047, 800, 1751, 1752, 423,
1356 423, 815, 665, 665, 665, 815, 1735, 664, 1775, 1753,
1357 429, 822, 822, 822, 801, 823, 1756, 1738, 824, 666,
1359 1776, 1777, 430, 423, 424, 191, 424, 423, 423, 423,
1360 423, 423, 423, 423, 425, 423, 423, 423, 1787, 423,
1361 427, 423, 428, 423, 816, 825, 825, 825, 1791, 831,
1362 831, 831, 1792, 831, 831, 831, 674, 674, 674, 838,
1363 838, 838, 826, 1793, 1794, 423, 423, 833, 835, 835,
1364 835, 833, 836, 675, 1796, 837, 429, 840, 1797, 838,
1365 838, 838, 679, 679, 679, 849, 849, 849, 430, 438,
1366 1798, 843, 843, 843, 1799, 844, 454, 840, 845, 680,
1367 849, 849, 849, 851, 1800, 437, 455, 834, 853, 853,
1368 853, 855, 855, 855, 1801, 857, 857, 857, 851, 1803,
1370 857, 857, 857, 721, 1804, 854, 1805, 1806, 856, 1807,
1371 456, 457, 458, 859, 1809, 1810, 841, 459, 859, 721,
1372 460, 862, 862, 862, 461, 1802, 462, 1811, 463, 1856,
1373 1856, 1856, 852, 866, 866, 866, 1812, 1808, 863, 1813,
1374 868, 868, 868, 868, 868, 868, 1856, 696, 696, 696,
1375 867, 1817, 872, 872, 872, 721, 873, 860, 870, 874,
1376 1818, 870, 1819, 1820, 697, 875, 875, 875, 875, 875,
1377 875, 879, 879, 879, 1814, 1825, 864, 1826, 721, 871,
1378 1856, 1856, 1856, 877, 1821, 721, 877, 721, 880, 721,
1379 865, 883, 883, 883, 885, 885, 885, 1856, 885, 885,
1381 885, 893, 893, 893, 893, 893, 893, 721, 884, 1047,
1382 1047, 1047, 887, 899, 899, 899, 887, 1837, 1843, 895,
1383 878, 1833, 895, 1048, 899, 899, 899, 881, 715, 715,
1384 715, 901, 903, 903, 903, 721, 904, 721, 1523, 905,
1385 721, 882, 901, 721, 1835, 716, 721, 721, 907, 907,
1386 907, 907, 907, 907, 735, 735, 735, 735, 735, 735,
1387 735, 735, 735, 721, 896, 888, 909, 1838, 1522, 909,
1388 1521, 1834, 737, 1845, 721, 737, 1827, 1841, 737, 943,
1389 943, 943, 721, 1831, 902, 763, 763, 763, 1839, 764,
1390 1832, 721, 765, 1856, 1856, 1856, 944, 768, 768, 768,
1392 768, 768, 768, 721, 920, 768, 768, 768, 1842, 721,
1393 1856, 910, 773, 773, 773, 770, 774, 1520, 770, 775,
1394 776, 776, 776, 770, 949, 949, 949, 1519, 950, 1518,
1395 1853, 951, 1844, 1840, 952, 952, 952, 777, 779, 779,
1396 779, 954, 954, 954, 721, 955, 1836, 721, 956, 947,
1397 945, 953, 782, 782, 782, 780, 782, 782, 782, 782,
1398 782, 782, 961, 961, 961, 790, 790, 790, 721, 1846,
1399 784, 790, 790, 790, 784, 1517, 1847, 784, 721, 962,
1400 790, 790, 790, 792, 794, 794, 794, 721, 795, 792,
1401 721, 796, 798, 798, 798, 798, 798, 798, 792, 966,
1403 966, 966, 805, 805, 805, 1513, 806, 1512, 721, 807,
1404 800, 1511, 1849, 800, 1510, 958, 1848, 967, 813, 813,
1405 813, 813, 813, 813, 964, 813, 813, 813, 819, 819,
1406 819, 1507, 820, 1497, 1850, 821, 815, 1851, 1486, 815,
1407 822, 822, 822, 815, 823, 721, 1853, 824, 825, 825,
1408 825, 979, 979, 979, 1485, 980, 1484, 721, 981, 831,
1409 831, 831, 831, 831, 831, 826, 831, 831, 831, 835,
1410 835, 835, 1483, 836, 1852, 1482, 837, 833, 1481, 1480,
1411 833, 838, 838, 838, 833, 1474, 976, 838, 838, 838,
1412 838, 838, 838, 843, 843, 843, 1473, 844, 1472, 840,
1414 845, 849, 849, 849, 1471, 840, 1470, 1469, 840, 849,
1415 849, 849, 849, 849, 849, 853, 853, 853, 1468, 851,
1416 1467, 993, 993, 993, 1466, 994, 1464, 851, 995, 986,
1417 851, 1463, 854, 855, 855, 855, 996, 996, 996, 1462,
1418 997, 1461, 1460, 998, 857, 857, 857, 857, 857, 857,
1419 856, 1459, 1458, 987, 857, 857, 857, 862, 862, 862,
1420 1457, 1456, 859, 1455, 1454, 859, 1451, 1450, 992, 1001,
1421 1001, 1001, 859, 1002, 863, 1449, 1003, 866, 866, 866,
1422 1006, 1006, 1006, 1446, 1007, 1443, 1442, 1008, 868, 868,
1423 868, 868, 868, 868, 867, 868, 868, 868, 872, 872,
1425 872, 1436, 873, 1434, 1433, 874, 870, 1427, 1426, 870,
1426 875, 875, 875, 870, 875, 875, 875, 999, 875, 875,
1427 875, 879, 879, 879, 883, 883, 883, 1421, 877, 885,
1428 885, 885, 877, 1011, 1011, 1011, 877, 1012, 880, 1420,
1429 1013, 884, 1016, 1016, 1016, 1416, 1017, 887, 1406, 1018,
1430 885, 885, 885, 1401, 1400, 1009, 1399, 885, 885, 885,
1431 1021, 1021, 1021, 893, 893, 893, 1398, 1392, 887, 893,
1432 893, 893, 1391, 1390, 1010, 887, 1389, 1022, 893, 893,
1433 893, 895, 899, 899, 899, 1388, 1387, 895, 899, 899,
1434 899, 899, 899, 899, 1386, 1385, 895, 903, 903, 903,
1436 901, 904, 1384, 1383, 905, 1377, 901, 1376, 1375, 901,
1437 907, 907, 907, 1374, 1373, 1019, 907, 907, 907, 907,
1438 907, 907, 1370, 1368, 1033, 1033, 1033, 1367, 909, 735,
1439 735, 735, 1365, 1364, 909, 1025, 1361, 909, 1056, 1056,
1440 1056, 1028, 1034, 1035, 943, 943, 943, 737, 1360, 1065,
1441 1065, 1065, 1048, 1066, 1356, 1351, 1067, 768, 768, 768,
1442 1349, 944, 949, 949, 949, 1348, 950, 1347, 1331, 951,
1443 952, 952, 952, 1328, 1327, 770, 1030, 1072, 1072, 1072,
1444 1326, 1073, 1325, 1321, 1074, 1305, 1304, 953, 954, 954,
1445 954, 1041, 955, 1303, 1302, 956, 782, 782, 782, 961,
1447 961, 961, 1301, 1070, 1079, 1079, 1079, 1300, 1080, 1299,
1448 1298, 1081, 1294, 1291, 784, 1290, 962, 1082, 1082, 1082,
1449 790, 790, 790, 966, 966, 966, 1289, 1091, 1091, 1091,
1450 1093, 1093, 1093, 1286, 1083, 813, 813, 813, 792, 1285,
1451 1281, 967, 1280, 1076, 1092, 1277, 1276, 1094, 1098, 1098,
1452 1098, 1275, 1273, 815, 1856, 1856, 1856, 979, 979, 979,
1453 1271, 980, 1270, 1267, 981, 1099, 1084, 1101, 1101, 1101,
1454 1266, 1856, 1265, 1095, 1856, 1856, 1856, 1856, 1856, 1856,
1455 1264, 1856, 1856, 1856, 1102, 831, 831, 831, 838, 838,
1456 838, 1856, 1263, 1262, 1856, 1261, 1259, 1097, 1856, 1258,
1458 1111, 1111, 1111, 833, 1255, 1242, 840, 849, 849, 849,
1459 1240, 993, 993, 993, 1239, 994, 1100, 1112, 995, 1238,
1460 1226, 1104, 996, 996, 996, 851, 997, 1222, 1218, 998,
1461 857, 857, 857, 1217, 1216, 1056, 1056, 1056, 1198, 1197,
1462 1103, 1190, 1189, 1113, 1188, 1187, 1106, 1105, 859, 1116,
1463 1107, 1001, 1001, 1001, 1186, 1002, 1185, 1172, 1003, 1170,
1464 1114, 1006, 1006, 1006, 1169, 1007, 1167, 1166, 1008, 868,
1465 868, 868, 875, 875, 875, 1011, 1011, 1011, 1163, 1012,
1466 1162, 1159, 1013, 1154, 1016, 1016, 1016, 870, 1017, 1153,
1467 877, 1018, 1115, 885, 885, 885, 1021, 1021, 1021, 1125,
1469 1125, 1125, 1152, 1126, 1151, 1150, 1127, 1132, 1132, 1132,
1470 1149, 887, 1148, 1022, 893, 893, 893, 899, 899, 899,
1471 1147, 1135, 1135, 1135, 1133, 1120, 1119, 907, 907, 907,
1472 1143, 1142, 895, 1141, 1034, 901, 1131, 1123, 1136, 1033,
1473 1033, 1033, 1051, 1051, 1051, 909, 735, 735, 735, 1155,
1474 1155, 1155, 1157, 1157, 1157, 1129, 1128, 1034, 1124, 1122,
1475 1130, 1055, 1055, 1055, 737, 1121, 1158, 1056, 1056, 1056,
1476 1160, 1160, 1160, 1155, 1155, 1155, 1164, 1164, 1164, 1118,
1477 1134, 1160, 1160, 1160, 1117, 1137, 1110, 1139, 1109, 1108,
1478 1158, 1164, 1164, 1164, 1096, 1146, 1090, 1065, 1065, 1065,
1480 1089, 1066, 1088, 1140, 1067, 1165, 768, 768, 768, 1156,
1481 1072, 1072, 1072, 1087, 1073, 1086, 1085, 1074, 782, 782,
1482 782, 1077, 1077, 1077, 770, 1079, 1079, 1079, 1078, 1080,
1483 1161, 1075, 1081, 1161, 1071, 1069, 784, 1068, 1082, 1082,
1484 1082, 1156, 1181, 1181, 1181, 1064, 1182, 1063, 1062, 1183,
1485 790, 790, 790, 1061, 1168, 1083, 1091, 1091, 1091, 1191,
1486 1191, 1191, 1060, 1192, 1059, 1058, 1193, 1057, 792, 1093,
1487 1093, 1093, 1054, 1092, 1053, 1171, 1194, 1194, 1194, 1052,
1488 1195, 1050, 1049, 1196, 1045, 1044, 1094, 1199, 1199, 1199,
1489 1098, 1098, 1098, 1201, 1201, 1201, 1043, 1202, 1184, 1042,
1491 1203, 1204, 1204, 1204, 1040, 1200, 1039, 1099, 1101, 1101,
1492 1101, 1038, 1206, 1206, 1206, 1037, 1207, 1036, 1205, 1208,
1493 1209, 1209, 1209, 1029, 1027, 1102, 1856, 1856, 1856, 1212,
1494 1212, 1212, 831, 831, 831, 1026, 1024, 1210, 838, 838,
1495 838, 1023, 1020, 1856, 1015, 1014, 1213, 1111, 1111, 1111,
1496 833, 1219, 1219, 1219, 1005, 1220, 840, 1004, 1221, 1223,
1497 1223, 1223, 1000, 991, 1112, 857, 857, 857, 1227, 1227,
1498 1227, 1229, 1229, 1229, 868, 868, 868, 1224, 990, 989,
1499 1211, 988, 985, 859, 984, 1228, 1215, 983, 1230, 875,
1500 875, 875, 870, 982, 1214, 1233, 1233, 1233, 1235, 1235,
1502 1235, 978, 977, 1232, 885, 885, 885, 877, 893, 893,
1503 893, 975, 1234, 1225, 974, 1236, 1125, 1125, 1125, 973,
1504 1126, 972, 887, 1127, 971, 970, 895, 1132, 1132, 1132,
1505 969, 1243, 1243, 1243, 968, 1244, 965, 1231, 1245, 899,
1506 899, 899, 963, 960, 1133, 1135, 1135, 1135, 1247, 1247,
1507 1247, 957, 1248, 948, 946, 1249, 1241, 901, 1250, 1250,
1508 1250, 942, 1136, 941, 940, 1237, 1256, 1256, 1256, 735,
1509 735, 735, 1268, 1268, 1268, 939, 1251, 1155, 1155, 1155,
1510 1269, 1269, 1269, 1257, 1157, 1157, 1157, 737, 1160, 1160,
1511 1160, 1272, 1272, 1272, 1246, 1274, 1274, 1274, 1164, 1164,
1513 1164, 1278, 1278, 1278, 782, 782, 782, 1283, 1283, 1283,
1514 1181, 1181, 1181, 938, 1182, 937, 936, 1183, 934, 1279,
1515 933, 932, 784, 931, 1284, 930, 1260, 790, 790, 790,
1516 1296, 1296, 1296, 1191, 1191, 1191, 927, 1192, 926, 925,
1517 1193, 1295, 1194, 1194, 1194, 792, 1195, 1297, 924, 1196,
1518 1306, 1306, 1306, 1199, 1199, 1199, 1201, 1201, 1201, 1282,
1519 1202, 923, 922, 1203, 1204, 1204, 1204, 1307, 1308, 1308,
1520 1308, 1200, 1309, 921, 919, 1310, 1206, 1206, 1206, 918,
1521 1207, 1205, 917, 1208, 1209, 1209, 1209, 1311, 1311, 1311,
1522 916, 1312, 915, 914, 1313, 1314, 1314, 1314, 1212, 1212,
1524 1212, 1210, 1316, 1316, 1316, 913, 1317, 912, 721, 1318,
1525 906, 898, 1315, 897, 892, 1213, 831, 831, 831, 838,
1526 838, 838, 1322, 1322, 1322, 1219, 1219, 1219, 891, 1220,
1527 890, 889, 1221, 861, 833, 848, 847, 840, 846, 1323,
1528 1223, 1223, 1223, 1329, 1329, 1329, 1227, 1227, 1227, 1332,
1529 1332, 1332, 842, 1333, 830, 829, 1334, 828, 1224, 827,
1530 812, 1330, 811, 1228, 1319, 1324, 1229, 1229, 1229, 1335,
1531 1335, 1335, 810, 1336, 809, 808, 1337, 804, 803, 1320,
1532 868, 868, 868, 1230, 875, 875, 875, 1233, 1233, 1233,
1533 1340, 1340, 1340, 797, 1341, 789, 788, 1342, 870, 1235,
1535 1235, 1235, 877, 787, 1234, 1343, 1343, 1343, 786, 1344,
1536 781, 778, 1345, 885, 885, 885, 1236, 893, 893, 893,
1537 1243, 1243, 1243, 772, 1244, 767, 766, 1245, 762, 761,
1538 1339, 887, 899, 899, 899, 895, 1247, 1247, 1247, 760,
1539 1248, 759, 1338, 1249, 1250, 1250, 1250, 1256, 1256, 1256,
1540 901, 1357, 1357, 1357, 758, 1358, 757, 756, 1359, 735,
1541 735, 735, 1251, 754, 1257, 1363, 1363, 1363, 1366, 1366,
1542 1366, 1369, 1369, 1369, 1346, 753, 752, 737, 1350, 751,
1543 1352, 1268, 1268, 1268, 1269, 1269, 1269, 1371, 1371, 1371,
1544 1272, 1272, 1272, 1372, 1372, 1372, 1274, 1274, 1274, 1278,
1546 1278, 1278, 1378, 1378, 1378, 1283, 1283, 1283, 1380, 1380,
1547 1380, 750, 1381, 749, 748, 1382, 747, 1279, 746, 1362,
1548 1379, 745, 1284, 790, 790, 790, 1296, 1296, 1296, 1394,
1549 1394, 1394, 744, 1395, 743, 742, 1396, 1397, 1397, 1397,
1550 741, 792, 734, 1297, 1306, 1306, 1306, 1407, 1407, 1407,
1551 733, 1408, 732, 731, 1409, 1308, 1308, 1308, 730, 1309,
1552 729, 1307, 1310, 1311, 1311, 1311, 728, 1312, 727, 1393,
1553 1313, 1314, 1314, 1314, 1410, 1410, 1410, 724, 1411, 722,
1554 721, 1412, 1316, 1316, 1316, 719, 1317, 717, 1315, 1318,
1555 831, 831, 831, 1414, 1414, 1414, 1322, 1322, 1322, 1417,
1557 1417, 1417, 714, 1418, 712, 711, 1419, 710, 833, 708,
1558 707, 1415, 706, 1323, 1329, 1329, 1329, 1332, 1332, 1332,
1559 705, 1333, 704, 702, 1334, 701, 1335, 1335, 1335, 700,
1560 1336, 699, 1330, 1337, 868, 868, 868, 875, 875, 875,
1561 1340, 1340, 1340, 695, 1341, 693, 692, 1342, 691, 690,
1562 1413, 689, 870, 687, 686, 877, 1343, 1343, 1343, 685,
1563 1344, 683, 682, 1345, 681, 885, 885, 885, 1431, 1431,
1564 1431, 893, 893, 893, 899, 899, 899, 1438, 1438, 1438,
1565 678, 677, 1428, 887, 673, 1432, 1441, 1441, 1441, 895,
1566 671, 670, 901, 669, 668, 721, 735, 735, 735, 1429,
1568 1430, 1357, 1357, 1357, 667, 1358, 662, 661, 1359, 1363,
1569 1363, 1363, 659, 658, 737, 1445, 1445, 1445, 1366, 1366,
1570 1366, 1447, 1447, 1447, 1448, 1448, 1448, 1369, 1369, 1369,
1571 1437, 657, 1435, 1371, 1371, 1371, 1372, 1372, 1372, 1452,
1572 1452, 1452, 1378, 1378, 1378, 1380, 1380, 1380, 656, 1381,
1573 655, 1444, 1382, 790, 790, 790, 1453, 1394, 1394, 1394,
1574 1379, 1395, 652, 651, 1396, 1397, 1397, 1397, 1407, 1407,
1575 1407, 792, 1408, 650, 649, 1409, 1410, 1410, 1410, 648,
1576 1411, 646, 643, 1412, 1475, 1475, 1475, 1414, 1414, 1414,
1577 1477, 1477, 1477, 1417, 1417, 1417, 641, 1418, 640, 639,
1579 1419, 637, 1476, 635, 634, 1415, 633, 1478, 632, 629,
1580 1465, 1487, 1487, 1487, 1488, 1488, 1488, 875, 875, 875,
1581 885, 885, 885, 1431, 1431, 1431, 628, 1492, 1492, 1492,
1582 627, 1493, 1489, 1479, 1494, 877, 624, 621, 887, 620,
1583 1432, 1495, 1495, 1495, 1498, 1498, 1498, 1500, 1500, 1500,
1584 899, 899, 899, 1438, 1438, 1438, 618, 615, 1496, 1441,
1585 1441, 1441, 1499, 1505, 1505, 1505, 614, 611, 901, 610,
1586 609, 721, 604, 1490, 1508, 1508, 1508, 1491, 603, 602,
1587 1506, 1445, 1445, 1445, 1447, 1447, 1447, 1448, 1448, 1448,
1588 601, 600, 1509, 1452, 1452, 1452, 1514, 1514, 1514, 599,
1590 1515, 598, 596, 1516, 790, 790, 790, 1535, 1535, 1535,
1591 1453, 1502, 1501, 1475, 1475, 1475, 1477, 1477, 1477, 1537,
1592 1537, 1537, 792, 1538, 1536, 595, 1539, 1545, 1545, 1545,
1593 594, 1476, 593, 1478, 1487, 1487, 1487, 1488, 1488, 1488,
1594 1547, 1547, 1547, 592, 1546, 885, 885, 885, 591, 1492,
1595 1492, 1492, 590, 1493, 585, 1489, 1494, 582, 1548, 584,
1596 1528, 579, 578, 887, 1495, 1495, 1495, 1550, 1550, 1550,
1597 576, 1551, 574, 572, 1552, 1553, 1553, 1553, 1498, 1498,
1598 1498, 1496, 1500, 1500, 1500, 1555, 1555, 1555, 1505, 1505,
1599 1505, 570, 1554, 1560, 1560, 1560, 1499, 1561, 1856, 569,
1601 1562, 568, 567, 1556, 566, 1506, 564, 563, 1549, 1563,
1602 1563, 1563, 1508, 1508, 1508, 1568, 1568, 1568, 1514, 1514,
1603 1514, 562, 1515, 561, 560, 1516, 1564, 790, 790, 790,
1604 1509, 558, 1569, 1535, 1535, 1535, 1590, 1590, 1590, 556,
1605 1591, 554, 553, 1592, 552, 792, 551, 1537, 1537, 1537,
1606 1536, 1538, 550, 548, 1539, 1545, 1545, 1545, 1596, 1596,
1607 1596, 546, 1597, 545, 544, 1598, 1547, 1547, 1547, 885,
1608 885, 885, 1546, 1550, 1550, 1550, 542, 1551, 541, 538,
1609 1552, 537, 536, 1585, 1548, 534, 532, 887, 1553, 1553,
1610 1553, 1600, 1600, 1600, 530, 1601, 528, 527, 1602, 1555,
1612 1555, 1555, 1560, 1560, 1560, 1554, 1561, 524, 523, 1562,
1613 1563, 1563, 1563, 519, 1606, 1606, 1606, 1556, 1607, 518,
1614 517, 1608, 1609, 1609, 1609, 516, 515, 1564, 1568, 1568,
1615 1568, 1599, 1612, 1612, 1612, 514, 1613, 511, 509, 1614,
1616 790, 790, 790, 503, 469, 1569, 1629, 1629, 1629, 1630,
1617 1630, 1630, 1590, 1590, 1590, 469, 1591, 502, 792, 1592,
1618 1636, 1636, 1636, 1596, 1596, 1596, 1631, 1597, 501, 499,
1619 1598, 885, 885, 885, 1600, 1600, 1600, 1637, 1601, 497,
1620 496, 1602, 1642, 1642, 1642, 1609, 1609, 1609, 1628, 887,
1621 495, 493, 1632, 491, 1606, 1606, 1606, 490, 1607, 1643,
1623 1034, 1608, 1612, 1612, 1612, 486, 1613, 485, 483, 1614,
1624 1650, 1650, 1650, 790, 790, 790, 1629, 1629, 1629, 1639,
1625 1630, 1630, 1630, 1636, 1636, 1636, 482, 1651, 1661, 1661,
1626 1661, 792, 1662, 479, 478, 1663, 477, 1631, 475, 1856,
1627 1637, 1669, 1669, 1669, 453, 1670, 452, 450, 1671, 1673,
1628 1673, 1673, 1676, 1676, 1676, 1642, 1642, 1642, 448, 1660,
1629 442, 1678, 1678, 1678, 441, 1679, 442, 1674, 1680, 1677,
1630 1034, 441, 1643, 1034, 1681, 1681, 1681, 440, 439, 1034,
1631 1682, 1682, 1682, 1650, 1650, 1650, 1687, 1687, 1687, 1856,
1632 1688, 1856, 1856, 1689, 790, 790, 790, 1661, 1661, 1661,
1634 1651, 1662, 1856, 1856, 1663, 1701, 1701, 1701, 1856, 1669,
1635 1669, 1669, 792, 1670, 1856, 1856, 1671, 1703, 1703, 1703,
1636 1856, 1856, 1702, 1673, 1673, 1673, 1676, 1676, 1676, 1706,
1637 1706, 1706, 1856, 1707, 1704, 1856, 1708, 1681, 1681, 1681,
1638 1856, 1674, 1856, 1677, 1034, 1856, 1856, 1034, 1678, 1678,
1639 1678, 1856, 1679, 1856, 1856, 1680, 1696, 1682, 1682, 1682,
1640 1856, 1721, 1721, 1721, 1856, 1856, 1034, 1032, 1032, 1032,
1641 1032, 1032, 1032, 1032, 1032, 1032, 1856, 1856, 1032, 1722,
1642 1701, 1701, 1701, 1032, 1032, 1032, 1034, 1032, 1687, 1687,
1643 1687, 1856, 1688, 1856, 1856, 1689, 1856, 1702, 1727, 1727,
1645 1727, 1856, 1728, 1856, 1856, 1729, 1703, 1703, 1703, 1032,
1646 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1647 1856, 1856, 1032, 1704, 1856, 1856, 1856, 1032, 1032, 1032,
1648 1034, 1032, 1730, 1730, 1730, 1856, 1731, 1856, 1856, 1732,
1649 1706, 1706, 1706, 1856, 1707, 1856, 1856, 1708, 1856, 1856,
1650 1721, 1721, 1721, 1032, 1032, 1758, 1758, 1758, 1034, 1032,
1651 1032, 1032, 1032, 1032, 1739, 1032, 1032, 1032, 1722, 1856,
1652 1032, 1856, 1856, 1034, 1035, 1032, 1032, 1032, 1034, 1032,
1653 1727, 1727, 1727, 1856, 1728, 1856, 1856, 1729, 1730, 1730,
1654 1730, 1856, 1731, 1856, 1856, 1732, 1761, 1761, 1761, 1856,
1656 1856, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1657 1032, 1739, 1856, 1762, 1032, 1763, 1763, 1763, 1856, 1032,
1658 1032, 1032, 1034, 1032, 1765, 1765, 1765, 1768, 1768, 1768,
1659 1856, 1856, 1764, 1774, 1774, 1774, 1758, 1758, 1758, 1856,
1660 1856, 1766, 1856, 1856, 1769, 1032, 1032, 1761, 1761, 1761,
1661 1856, 721, 1856, 1856, 1034, 1778, 1778, 1778, 1856, 1779,
1662 1856, 1856, 1780, 1856, 1762, 1856, 1856, 1767, 1763, 1763,
1663 1763, 1781, 1781, 1781, 1856, 1782, 1856, 1856, 1783, 1765,
1664 1765, 1765, 1856, 1856, 1139, 1764, 1784, 1784, 1784, 1856,
1665 1785, 1856, 1856, 1786, 1856, 1856, 1766, 1768, 1768, 1768,
1667 1788, 1788, 1788, 1856, 1789, 1856, 1856, 1790, 1774, 1774,
1668 1774, 1778, 1778, 1778, 1769, 1779, 1856, 1856, 1780, 1856,
1669 1781, 1781, 1781, 1856, 1782, 1856, 721, 1783, 1784, 1784,
1670 1784, 1856, 1785, 1856, 1856, 1786, 1788, 1788, 1788, 1856,
1671 1789, 1856, 1856, 1790, 1795, 1815, 1815, 1815, 1815, 1815,
1672 1815, 1822, 1822, 1822, 1856, 1823, 1856, 1856, 1824, 1822,
1673 1822, 1822, 1816, 1823, 1856, 1816, 1824, 1828, 1828, 1828,
1674 1828, 1828, 1828, 1856, 1829, 1856, 1856, 1830, 1854, 1854,
1675 1854, 1854, 1854, 1854, 1856, 721, 1856, 1856, 721, 1856,
1676 1856, 1856, 1856, 1856, 1856, 1856, 1855, 1856, 1856, 1855,
1678 188, 188, 188, 188, 188, 188, 188, 188, 188, 189,
1679 189, 189, 189, 189, 189, 189, 189, 189, 194, 194,
1680 194, 194, 194, 194, 194, 194, 194, 197, 197, 197,
1681 197, 197, 197, 197, 197, 197, 200, 200, 200, 200,
1682 200, 200, 200, 200, 200, 203, 203, 203, 203, 203,
1683 203, 203, 203, 203, 210, 210, 210, 210, 210, 210,
1684 210, 210, 210, 218, 218, 218, 218, 218, 218, 218,
1685 218, 218, 223, 223, 223, 223, 223, 223, 223, 223,
1686 223, 234, 234, 234, 234, 234, 234, 234, 234, 234,
1687 245, 245, 245, 245, 245, 245, 245, 245, 245, 252,
1689 252, 252, 252, 252, 252, 252, 252, 252, 260, 260,
1690 260, 260, 260, 260, 260, 260, 260, 266, 266, 266,
1691 266, 266, 266, 266, 266, 266, 272, 272, 272, 272,
1692 272, 272, 272, 272, 272, 277, 277, 277, 277, 277,
1693 277, 277, 277, 277, 306, 306, 306, 306, 306, 306,
1694 306, 306, 306, 322, 322, 322, 322, 322, 322, 322,
1695 322, 322, 328, 328, 328, 328, 328, 328, 328, 328,
1696 328, 332, 332, 332, 332, 332, 332, 332, 332, 332,
1697 338, 338, 338, 338, 338, 338, 338, 338, 338, 345,
1698 345, 345, 345, 345, 345, 345, 345, 345, 352, 352,
1700 352, 352, 352, 352, 352, 352, 352, 357, 357, 357,
1701 357, 357, 357, 357, 357, 357, 365, 365, 365, 365,
1702 365, 365, 365, 365, 365, 371, 371, 371, 371, 371,
1703 371, 371, 371, 371, 378, 378, 378, 378, 378, 378,
1704 378, 378, 378, 382, 382, 382, 382, 382, 382, 382,
1705 382, 382, 388, 388, 388, 388, 388, 388, 388, 388,
1706 388, 394, 394, 394, 394, 394, 394, 394, 394, 394,
1707 401, 401, 401, 401, 401, 401, 401, 401, 401, 408,
1708 408, 408, 408, 408, 408, 408, 408, 408, 416, 416,
1709 416, 416, 416, 416, 416, 416, 416, 420, 420, 420,
1711 420, 420, 420, 420, 420, 420, 426, 426, 426, 426,
1712 426, 426, 426, 426, 426, 431, 431, 431, 431, 431,
1713 431, 431, 431, 431, 451, 451, 451, 1856, 1856, 1856,
1714 451, 476, 476, 476, 1856, 1856, 1856, 476, 484, 484,
1715 484, 1856, 1856, 1856, 484, 494, 494, 494, 1856, 1856,
1716 1856, 494, 500, 500, 500, 1856, 1856, 1856, 500, 510,
1717 510, 510, 1856, 1856, 1856, 510, 520, 520, 520, 1856,
1718 1856, 1856, 520, 531, 531, 531, 1856, 1856, 1856, 531,
1719 535, 535, 535, 1856, 1856, 1856, 535, 543, 543, 543,
1720 1856, 1856, 1856, 543, 549, 549, 549, 1856, 1856, 1856,
1722 549, 555, 555, 555, 1856, 1856, 1856, 555, 559, 559,
1723 559, 1856, 1856, 1856, 559, 565, 565, 565, 1856, 1856,
1724 1856, 565, 573, 573, 573, 1856, 1856, 1856, 573, 577,
1725 577, 577, 1856, 1856, 1856, 577, 581, 581, 581, 581,
1726 581, 581, 581, 1856, 581, 597, 1856, 1856, 1856, 597,
1727 626, 1856, 1856, 1856, 626, 636, 1856, 1856, 1856, 636,
1728 642, 1856, 1856, 1856, 642, 500, 500, 500, 1856, 1856,
1729 1856, 500, 647, 1856, 1856, 1856, 647, 660, 1856, 1856,
1730 1856, 660, 672, 1856, 1856, 1856, 672, 676, 1856, 1856,
1731 1856, 676, 684, 1856, 1856, 1856, 684, 688, 1856, 1856,
1733 1856, 688, 549, 549, 549, 1856, 1856, 1856, 549, 694,
1734 1856, 1856, 1856, 694, 555, 555, 555, 1856, 1856, 1856,
1735 555, 698, 1856, 1856, 1856, 698, 559, 559, 559, 1856,
1736 1856, 1856, 559, 703, 1856, 1856, 1856, 703, 565, 565,
1737 565, 1856, 1856, 1856, 565, 709, 1856, 1856, 1856, 709,
1738 573, 573, 573, 1856, 1856, 1856, 573, 713, 1856, 1856,
1739 1856, 713, 577, 577, 577, 1856, 1856, 1856, 577, 718,
1740 1856, 1856, 1856, 718, 720, 720, 720, 720, 720, 720,
1741 720, 720, 720, 726, 1856, 1856, 1856, 1856, 726, 451,
1742 451, 451, 1856, 1856, 1856, 451, 736, 736, 736, 736,
1744 1856, 1856, 736, 736, 476, 476, 476, 1856, 1856, 1856,
1745 476, 769, 769, 769, 769, 1856, 1856, 769, 769, 484,
1746 484, 484, 1856, 1856, 1856, 484, 783, 783, 783, 783,
1747 1856, 1856, 783, 783, 494, 494, 494, 1856, 1856, 1856,
1748 494, 791, 791, 791, 791, 1856, 1856, 791, 791, 500,
1749 500, 500, 1856, 1856, 1856, 500, 799, 799, 799, 799,
1750 1856, 1856, 799, 799, 510, 510, 510, 1856, 1856, 1856,
1751 510, 814, 814, 814, 814, 1856, 1856, 814, 814, 520,
1752 520, 520, 1856, 1856, 1856, 520, 832, 832, 832, 832,
1753 1856, 1856, 832, 832, 839, 839, 839, 839, 1856, 1856,
1755 839, 839, 535, 535, 535, 1856, 1856, 1856, 535, 850,
1756 850, 850, 850, 1856, 1856, 850, 850, 543, 543, 543,
1757 543, 1856, 543, 1856, 543, 858, 858, 858, 858, 1856,
1758 1856, 858, 858, 549, 549, 549, 549, 1856, 549, 1856,
1759 549, 869, 869, 869, 869, 1856, 1856, 869, 869, 876,
1760 876, 876, 876, 1856, 1856, 876, 876, 559, 559, 559,
1761 559, 1856, 559, 1856, 559, 886, 886, 886, 886, 1856,
1762 1856, 886, 886, 565, 565, 565, 1856, 1856, 1856, 565,
1763 894, 894, 894, 894, 1856, 1856, 894, 894, 573, 573,
1764 573, 1856, 1856, 1856, 573, 900, 900, 900, 900, 1856,
1766 1856, 900, 900, 577, 577, 577, 1856, 1856, 1856, 577,
1767 908, 908, 908, 908, 1856, 1856, 908, 908, 720, 720,
1768 720, 720, 720, 720, 720, 720, 720, 726, 1856, 726,
1769 1856, 1856, 726, 451, 451, 451, 1856, 1856, 1856, 451,
1770 736, 736, 736, 736, 1856, 1856, 736, 736, 476, 476,
1771 476, 476, 1856, 476, 1856, 476, 769, 769, 769, 769,
1772 1856, 1856, 769, 769, 484, 484, 484, 1856, 1856, 1856,
1773 484, 783, 783, 783, 783, 1856, 1856, 783, 783, 494,
1774 494, 494, 1856, 1856, 1856, 494, 791, 791, 791, 791,
1775 1856, 1856, 791, 791, 500, 500, 500, 1856, 1856, 1856,
1777 500, 799, 799, 799, 799, 1856, 1856, 799, 799, 510,
1778 510, 510, 1856, 1856, 1856, 510, 814, 814, 814, 814,
1779 1856, 1856, 814, 814, 520, 520, 520, 1856, 1856, 1856,
1780 520, 832, 832, 832, 832, 1856, 1856, 832, 832, 839,
1781 839, 839, 839, 1856, 1856, 839, 839, 535, 535, 535,
1782 1856, 1856, 1856, 535, 850, 850, 850, 850, 1856, 1856,
1783 850, 850, 858, 858, 858, 858, 1856, 1856, 858, 858,
1784 549, 549, 549, 1856, 1856, 1856, 549, 869, 869, 869,
1785 869, 1856, 1856, 869, 869, 876, 876, 876, 876, 1856,
1786 1856, 876, 876, 559, 559, 559, 1856, 1856, 1856, 559,
1788 886, 886, 886, 886, 1856, 1856, 886, 886, 565, 565,
1789 565, 1856, 1856, 1856, 565, 894, 894, 894, 894, 1856,
1790 1856, 894, 894, 573, 573, 573, 1856, 1856, 1856, 573,
1791 900, 900, 900, 900, 1856, 1856, 900, 900, 577, 577,
1792 577, 1856, 1856, 1856, 577, 908, 908, 908, 908, 1856,
1793 1856, 908, 908, 720, 720, 720, 720, 720, 720, 720,
1794 720, 720, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1795 1032, 451, 451, 451, 1856, 1856, 1856, 451, 736, 736,
1796 736, 736, 1856, 1856, 736, 736, 476, 476, 476, 1856,
1797 1856, 1856, 476, 769, 769, 769, 769, 1856, 1856, 769,
1799 769, 484, 484, 484, 1856, 1856, 1856, 484, 783, 783,
1800 783, 783, 1856, 1856, 783, 783, 494, 494, 494, 1856,
1801 1856, 1856, 494, 791, 791, 791, 791, 1856, 1856, 791,
1802 791, 500, 500, 500, 1856, 1856, 1856, 500, 510, 510,
1803 510, 1856, 1856, 1856, 510, 814, 814, 814, 814, 1856,
1804 1856, 814, 814, 520, 520, 520, 520, 1856, 520, 1856,
1805 520, 832, 832, 832, 832, 1856, 1856, 832, 832, 839,
1806 839, 839, 839, 1856, 1856, 839, 839, 535, 535, 535,
1807 1856, 1856, 1856, 535, 850, 850, 850, 850, 1856, 1856,
1808 850, 850, 858, 858, 858, 858, 1856, 1856, 858, 858,
1810 549, 549, 549, 1856, 1856, 1856, 549, 869, 869, 869,
1811 869, 1856, 1856, 869, 869, 876, 876, 876, 876, 1856,
1812 1856, 876, 876, 559, 559, 559, 1856, 1856, 1856, 559,
1813 886, 886, 886, 886, 1856, 1856, 886, 886, 565, 565,
1814 565, 1856, 1856, 1856, 565, 894, 894, 894, 894, 1856,
1815 1856, 894, 894, 573, 573, 573, 573, 1856, 573, 1856,
1816 573, 900, 900, 900, 900, 1856, 1856, 900, 900, 577,
1817 577, 577, 577, 1856, 577, 1856, 577, 908, 908, 908,
1818 908, 1856, 1856, 908, 908, 720, 720, 720, 720, 720,
1819 720, 720, 720, 720, 1032, 1032, 1032, 1032, 1032, 1032,
1821 1032, 1032, 1032, 451, 451, 451, 1856, 1856, 1856, 451,
1822 736, 736, 736, 736, 1856, 1856, 736, 736, 476, 476,
1823 476, 1856, 1856, 1856, 476, 769, 769, 769, 769, 1856,
1824 1856, 769, 769, 484, 484, 484, 1856, 1856, 1856, 484,
1825 783, 783, 783, 783, 1856, 1856, 783, 783, 494, 494,
1826 494, 1856, 1856, 1856, 494, 791, 791, 791, 791, 1856,
1827 1856, 791, 791, 500, 500, 500, 1856, 1856, 1856, 500,
1828 510, 510, 510, 1856, 1856, 1856, 510, 814, 814, 814,
1829 814, 1856, 1856, 814, 814, 520, 520, 520, 520, 1856,
1830 520, 1856, 520, 832, 832, 832, 832, 1856, 1856, 832,
1832 832, 839, 839, 839, 839, 1856, 1856, 839, 839, 535,
1833 535, 535, 1856, 1856, 1856, 535, 850, 850, 850, 850,
1834 1856, 1856, 850, 850, 858, 858, 858, 858, 1856, 1856,
1835 858, 858, 549, 549, 549, 549, 1856, 549, 1856, 549,
1836 869, 869, 869, 869, 1856, 1856, 869, 869, 876, 876,
1837 876, 876, 1856, 1856, 876, 876, 559, 559, 559, 559,
1838 1856, 559, 1856, 559, 886, 886, 886, 886, 1856, 1856,
1839 886, 886, 565, 565, 565, 1856, 1856, 1856, 565, 894,
1840 894, 894, 894, 1856, 1856, 894, 894, 900, 900, 900,
1841 900, 1856, 1856, 900, 900, 1709, 1709, 1709, 1709, 1709,
1843 1709, 1709, 1709, 1709, 1710, 1710, 1710, 1710, 1710, 1710,
1844 1710, 1710, 1710, 1734, 1734, 1734, 1734, 1734, 1734, 1734,
1845 1734, 1734, 1737, 1737, 1737, 1737, 1737, 1737, 1737, 1737,
1846 1737, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755, 1755,
1847 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 1757, 187,
1848 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1849 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1850 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1851 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1852 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1854 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
1855 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
1858 static yyconst flex_int16_t yy_chk[6620] =
1860 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1861 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1862 4, 10, 254, 5, 285, 9, 6, 1139, 10, 7,
1863 8, 8, 8, 192, 11, 13, 13, 12, 14, 14,
1864 13, 13, 255, 14, 14, 193, 8, 17, 17, 192,
1865 13, 15, 15, 14, 15, 196, 15, 16, 16, 285,
1866 16, 193, 16, 18, 18, 1139, 15, 19, 19, 19,
1867 254, 196, 16, 20, 20, 20, 23, 23, 23, 24,
1868 24, 24, 282, 19, 25, 25, 25, 461, 17, 20,
1869 255, 282, 23, 461, 1461, 24, 190, 190, 190, 1462,
1871 25, 191, 191, 191, 18, 21, 21, 21, 21, 21,
1872 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1873 1463, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1874 27, 27, 284, 28, 28, 28, 29, 29, 29, 30,
1875 30, 30, 26, 286, 281, 27, 219, 21, 21, 28,
1876 235, 1464, 29, 286, 281, 30, 195, 195, 195, 216,
1877 216, 216, 219, 224, 224, 224, 235, 230, 284, 230,
1878 21, 230, 21, 22, 22, 22, 22, 22, 22, 22,
1879 22, 22, 22, 22, 22, 22, 22, 22, 281, 22,
1880 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1882 1031, 33, 33, 33, 34, 34, 34, 35, 35, 35,
1883 31, 287, 290, 32, 1253, 22, 22, 33, 228, 316,
1884 34, 226, 1031, 35, 292, 36, 36, 36, 37, 37,
1885 37, 38, 38, 38, 39, 39, 39, 290, 22, 316,
1886 22, 36, 1253, 466, 37, 214, 287, 38, 246, 466,
1887 39, 40, 40, 40, 41, 41, 41, 42, 42, 42,
1888 292, 214, 226, 301, 246, 226, 228, 40, 228, 226,
1889 41, 226, 301, 42, 43, 43, 43, 43, 43, 43,
1890 43, 43, 43, 43, 43, 43, 43, 43, 43, 1466,
1891 43, 43, 43, 43, 43, 49, 49, 49, 319, 1467,
1893 214, 319, 50, 50, 50, 51, 51, 51, 45, 45,
1894 261, 49, 273, 45, 46, 46, 43, 43, 50, 46,
1895 308, 51, 444, 45, 43, 444, 261, 43, 273, 46,
1896 232, 232, 232, 43, 44, 44, 44, 44, 44, 44,
1897 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
1898 44, 44, 44, 44, 44, 46, 52, 52, 52, 53,
1899 53, 53, 54, 54, 54, 55, 55, 55, 308, 56,
1900 56, 56, 52, 240, 662, 53, 44, 44, 54, 1468,
1901 240, 55, 723, 662, 44, 56, 723, 44, 480, 240,
1902 243, 243, 243, 44, 47, 47, 47, 47, 47, 47,
1904 47, 47, 47, 47, 47, 47, 47, 47, 47, 227,
1905 47, 47, 47, 47, 47, 59, 59, 59, 60, 60,
1906 60, 480, 63, 63, 63, 64, 64, 64, 65, 65,
1907 65, 59, 268, 462, 60, 227, 47, 47, 63, 268,
1908 227, 64, 467, 227, 65, 47, 462, 47, 268, 227,
1909 47, 227, 253, 253, 253, 467, 47, 48, 48, 48,
1910 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1911 48, 48, 289, 48, 48, 48, 48, 48, 66, 66,
1912 66, 67, 67, 67, 344, 68, 68, 68, 69, 69,
1913 69, 70, 70, 70, 66, 344, 470, 67, 250, 48,
1915 48, 68, 250, 289, 69, 472, 250, 70, 48, 470,
1916 48, 288, 289, 48, 258, 258, 258, 1254, 472, 48,
1917 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1918 57, 57, 57, 57, 57, 1469, 57, 57, 57, 57,
1919 57, 71, 71, 71, 72, 72, 72, 288, 73, 73,
1920 73, 74, 74, 74, 75, 75, 75, 71, 1470, 1254,
1921 72, 288, 57, 57, 73, 298, 314, 74, 1472, 57,
1922 75, 267, 267, 267, 57, 270, 270, 270, 278, 278,
1923 278, 298, 314, 57, 58, 58, 58, 58, 58, 58,
1924 58, 58, 58, 58, 58, 58, 58, 58, 58, 747,
1926 58, 58, 58, 58, 58, 76, 76, 76, 77, 77,
1927 77, 747, 78, 78, 78, 79, 79, 79, 80, 80,
1928 80, 76, 1479, 1480, 77, 1303, 58, 58, 78, 329,
1929 339, 79, 1303, 58, 80, 295, 295, 295, 58, 307,
1930 307, 307, 311, 311, 311, 329, 339, 58, 61, 61,
1931 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1932 61, 61, 61, 280, 61, 61, 61, 61, 61, 81,
1933 81, 81, 82, 82, 82, 1481, 83, 83, 83, 84,
1934 84, 84, 85, 85, 85, 81, 324, 473, 82, 347,
1935 61, 61, 83, 324, 280, 84, 753, 280, 85, 1482,
1937 473, 61, 324, 280, 323, 323, 323, 359, 753, 61,
1938 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
1939 62, 62, 62, 62, 62, 1440, 62, 62, 62, 62,
1940 62, 86, 86, 86, 87, 87, 87, 347, 88, 88,
1941 88, 89, 89, 89, 90, 90, 90, 86, 506, 1140,
1942 87, 359, 62, 62, 88, 360, 1484, 89, 786, 1440,
1943 90, 506, 353, 62, 91, 91, 91, 92, 92, 92,
1944 786, 62, 93, 93, 93, 94, 94, 94, 353, 1140,
1945 91, 492, 334, 92, 95, 95, 95, 492, 93, 334,
1946 911, 94, 96, 96, 96, 97, 97, 97, 334, 360,
1948 95, 98, 98, 98, 99, 99, 99, 1175, 96, 911,
1949 1040, 97, 100, 100, 100, 1175, 1040, 98, 1439, 366,
1950 99, 101, 101, 101, 102, 102, 102, 1510, 100, 103,
1951 103, 103, 104, 104, 104, 366, 1179, 101, 1511, 1304,
1952 102, 326, 326, 326, 1179, 103, 1304, 1439, 104, 105,
1953 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1954 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1955 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1956 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1957 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1959 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
1960 105, 105, 105, 105, 105, 105, 105, 105, 107, 107,
1961 107, 108, 108, 108, 109, 109, 109, 110, 110, 110,
1962 111, 111, 111, 1252, 107, 1326, 1512, 108, 1327, 1252,
1963 109, 1517, 1326, 110, 1518, 1327, 111, 112, 112, 112,
1964 113, 113, 113, 114, 114, 114, 333, 333, 333, 336,
1965 336, 336, 1519, 112, 1520, 1521, 113, 1522, 1523, 114,
1966 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1967 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1968 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1970 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1971 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1972 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
1973 115, 115, 115, 115, 115, 115, 115, 115, 115, 117,
1974 117, 117, 118, 118, 118, 346, 346, 346, 350, 350,
1975 350, 358, 358, 358, 373, 117, 396, 1524, 118, 119,
1976 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
1977 119, 119, 119, 119, 1515, 119, 119, 119, 119, 119,
1978 121, 121, 121, 122, 122, 122, 1515, 125, 125, 125,
1979 126, 126, 126, 127, 127, 127, 121, 508, 373, 122,
1981 396, 119, 119, 125, 1502, 1525, 126, 1526, 1355, 127,
1982 508, 1527, 119, 120, 120, 120, 120, 120, 120, 120,
1983 120, 120, 120, 120, 120, 120, 120, 120, 1503, 120,
1984 120, 120, 120, 120, 128, 128, 128, 129, 129, 129,
1985 1502, 130, 130, 130, 131, 131, 131, 132, 132, 132,
1986 128, 1355, 1080, 129, 1529, 120, 120, 130, 1080, 1530,
1987 131, 1080, 1503, 132, 1531, 1080, 120, 123, 123, 123,
1988 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
1989 123, 123, 1516, 123, 123, 123, 123, 123, 135, 135,
1990 135, 136, 136, 136, 1516, 137, 137, 137, 138, 138,
1992 138, 139, 139, 139, 135, 379, 1081, 136, 1532, 123,
1993 123, 137, 1081, 123, 138, 1081, 1540, 139, 1354, 1081,
1994 123, 379, 123, 363, 363, 363, 372, 372, 372, 123,
1995 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1996 124, 124, 124, 124, 124, 1541, 124, 124, 124, 124,
1997 124, 140, 140, 140, 141, 141, 141, 1354, 142, 142,
1998 142, 145, 145, 145, 146, 146, 146, 140, 384, 1504,
1999 141, 1542, 124, 124, 142, 384, 124, 145, 1566, 1567,
2000 146, 1570, 1558, 124, 384, 124, 376, 376, 376, 383,
2001 383, 383, 124, 133, 133, 133, 133, 133, 133, 133,
2003 133, 133, 133, 133, 133, 133, 133, 133, 1504, 133,
2004 133, 133, 133, 133, 147, 147, 147, 148, 148, 148,
2005 1558, 149, 149, 149, 150, 150, 150, 151, 151, 151,
2006 147, 389, 1571, 148, 1572, 133, 133, 149, 402, 1573,
2007 150, 133, 1574, 151, 386, 386, 386, 389, 395, 395,
2008 395, 399, 399, 399, 402, 133, 134, 134, 134, 134,
2009 134, 134, 134, 134, 134, 134, 134, 134, 134, 134,
2010 134, 1557, 134, 134, 134, 134, 134, 152, 152, 152,
2011 155, 155, 155, 1575, 156, 156, 156, 159, 159, 159,
2012 160, 160, 160, 152, 417, 422, 155, 1557, 134, 134,
2014 156, 427, 422, 159, 134, 1576, 160, 409, 409, 409,
2015 417, 422, 410, 414, 414, 414, 1577, 427, 134, 143,
2016 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2017 143, 143, 143, 143, 1578, 143, 143, 143, 143, 143,
2018 161, 161, 161, 162, 162, 162, 410, 163, 163, 163,
2019 164, 164, 164, 165, 165, 165, 161, 1580, 1581, 162,
2020 410, 143, 143, 163, 1582, 435, 164, 143, 1583, 165,
2021 143, 421, 421, 421, 424, 424, 424, 432, 432, 432,
2022 435, 143, 144, 144, 144, 144, 144, 144, 144, 144,
2023 144, 144, 144, 144, 144, 144, 144, 1559, 144, 144,
2025 144, 144, 144, 166, 166, 166, 169, 169, 169, 1588,
2026 170, 170, 170, 171, 171, 171, 172, 172, 172, 166,
2027 433, 1589, 169, 1593, 144, 144, 170, 433, 1595, 171,
2028 144, 1610, 172, 144, 1611, 1559, 433, 434, 434, 434,
2029 1603, 443, 443, 443, 144, 153, 153, 153, 153, 153,
2030 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
2031 1615, 153, 153, 153, 153, 153, 173, 173, 173, 174,
2032 174, 174, 1616, 175, 175, 175, 176, 176, 176, 179,
2033 179, 179, 173, 1617, 1603, 174, 1618, 153, 153, 175,
2034 1620, 1621, 176, 1622, 1604, 179, 443, 1623, 153, 154,
2036 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2037 154, 154, 154, 154, 1624, 154, 154, 154, 154, 154,
2038 180, 180, 180, 183, 183, 183, 1604, 184, 184, 184,
2039 478, 478, 478, 583, 1625, 206, 180, 1626, 1627, 183,
2040 279, 154, 154, 184, 739, 739, 739, 478, 583, 1632,
2041 279, 1634, 154, 157, 157, 157, 157, 157, 157, 157,
2042 157, 157, 157, 157, 157, 157, 157, 157, 1635, 157,
2043 157, 157, 157, 157, 206, 279, 486, 486, 486, 1638,
2044 206, 501, 501, 501, 206, 512, 512, 512, 1646, 206,
2045 279, 1647, 279, 486, 1648, 157, 157, 1138, 501, 1633,
2047 1633, 157, 512, 1649, 157, 586, 586, 586, 1652, 586,
2048 599, 599, 599, 1138, 1653, 157, 158, 158, 158, 158,
2049 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
2050 158, 1640, 158, 158, 158, 158, 158, 522, 522, 522,
2051 523, 523, 523, 532, 532, 532, 537, 537, 537, 556,
2052 556, 556, 1655, 1656, 522, 1657, 1659, 523, 158, 158,
2053 532, 1664, 1640, 537, 158, 1665, 556, 158, 1666, 1667,
2054 599, 1683, 614, 614, 614, 649, 649, 649, 158, 167,
2055 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
2056 167, 167, 167, 167, 1684, 167, 167, 167, 167, 167,
2058 578, 578, 578, 1685, 1686, 597, 597, 597, 1690, 598,
2059 598, 598, 1691, 622, 622, 622, 1692, 578, 626, 626,
2060 626, 167, 167, 597, 755, 755, 755, 598, 1675, 167,
2061 622, 167, 614, 167, 1693, 649, 626, 651, 651, 651,
2062 1694, 167, 168, 168, 168, 168, 168, 168, 168, 168,
2063 168, 168, 168, 168, 168, 168, 168, 1695, 168, 168,
2064 168, 168, 168, 598, 623, 623, 623, 1675, 623, 1697,
2065 1698, 623, 627, 627, 627, 1699, 630, 630, 630, 631,
2066 631, 631, 1700, 631, 168, 168, 631, 925, 925, 925,
2067 627, 1711, 168, 630, 168, 1713, 168, 651, 929, 929,
2069 929, 933, 933, 933, 168, 177, 177, 177, 177, 177,
2070 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
2071 1716, 177, 177, 177, 177, 177, 632, 632, 632, 634,
2072 634, 634, 627, 636, 636, 636, 642, 642, 642, 643,
2073 643, 643, 1707, 632, 1705, 1717, 634, 177, 177, 1719,
2074 1708, 636, 1720, 1723, 642, 1724, 1707, 643, 645, 645,
2075 645, 1708, 645, 1725, 1726, 645, 959, 959, 959, 1733,
2076 177, 178, 178, 178, 178, 178, 178, 178, 178, 178,
2077 178, 178, 178, 178, 178, 178, 1705, 178, 178, 178,
2078 178, 178, 1736, 1734, 644, 644, 644, 1735, 1735, 643,
2080 647, 647, 647, 653, 653, 653, 1733, 1734, 637, 637,
2081 637, 644, 1738, 178, 178, 654, 654, 654, 647, 654,
2082 653, 1740, 654, 664, 664, 664, 637, 664, 1741, 1750,
2083 664, 1046, 1046, 1046, 1751, 1752, 178, 181, 181, 181,
2084 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
2085 181, 181, 637, 181, 181, 181, 181, 181, 648, 648,
2086 648, 1753, 1755, 660, 660, 660, 1731, 661, 661, 661,
2087 663, 663, 663, 1047, 1047, 1047, 648, 1731, 1732, 181,
2088 181, 660, 665, 665, 665, 661, 1737, 663, 1756, 1732,
2089 181, 666, 666, 666, 648, 666, 1757, 1737, 666, 665,
2091 1759, 1760, 181, 182, 182, 182, 182, 182, 182, 182,
2092 182, 182, 182, 182, 182, 182, 182, 182, 1767, 182,
2093 182, 182, 182, 182, 661, 667, 667, 667, 1770, 672,
2094 672, 672, 1771, 673, 673, 673, 674, 674, 674, 676,
2095 676, 676, 667, 1772, 1773, 182, 182, 672, 675, 675,
2096 675, 673, 675, 674, 1775, 675, 182, 676, 1787, 677,
2097 677, 677, 679, 679, 679, 684, 684, 684, 182, 225,
2098 1791, 680, 680, 680, 1792, 680, 225, 677, 680, 679,
2099 685, 685, 685, 684, 1793, 225, 225, 673, 686, 686,
2100 686, 687, 687, 687, 1794, 688, 688, 688, 685, 1797,
2102 689, 689, 689, 1795, 1798, 686, 1799, 1800, 687, 1801,
2103 225, 225, 225, 688, 1803, 1804, 677, 225, 689, 1802,
2104 225, 691, 691, 691, 225, 1795, 225, 1805, 225, 692,
2105 692, 692, 685, 693, 693, 693, 1806, 1802, 691, 1807,
2106 694, 694, 694, 695, 695, 695, 692, 696, 696, 696,
2107 693, 1810, 697, 697, 697, 1808, 697, 689, 694, 697,
2108 1811, 695, 1812, 1813, 696, 698, 698, 698, 699, 699,
2109 699, 700, 700, 700, 1808, 1817, 692, 1819, 1814, 695,
2110 701, 701, 701, 698, 1814, 1835, 699, 1831, 700, 1841,
2111 692, 702, 702, 702, 703, 703, 703, 701, 704, 704,
2113 704, 709, 709, 709, 710, 710, 710, 1833, 702, 926,
2114 926, 926, 703, 713, 713, 713, 704, 1835, 1841, 709,
2115 699, 1831, 710, 926, 714, 714, 714, 701, 715, 715,
2116 715, 713, 716, 716, 716, 1836, 716, 1832, 1460, 716,
2117 1829, 701, 714, 1839, 1833, 715, 1837, 1830, 718, 718,
2118 718, 719, 719, 719, 735, 735, 735, 736, 736, 736,
2119 738, 738, 738, 1821, 710, 704, 718, 1836, 1459, 719,
2120 1458, 1832, 735, 1843, 1840, 736, 1821, 1839, 738, 762,
2121 762, 762, 1843, 1829, 714, 763, 763, 763, 1837, 763,
2122 1830, 1838, 763, 766, 766, 766, 762, 768, 768, 768,
2124 769, 769, 769, 1842, 738, 771, 771, 771, 1840, 1834,
2125 766, 719, 773, 773, 773, 768, 773, 1457, 769, 773,
2126 776, 776, 776, 771, 777, 777, 777, 1456, 777, 1455,
2127 1851, 777, 1842, 1838, 778, 778, 778, 776, 779, 779,
2128 779, 780, 780, 780, 1851, 780, 1834, 1845, 780, 771,
2129 766, 778, 782, 782, 782, 779, 783, 783, 783, 785,
2130 785, 785, 788, 788, 788, 790, 790, 790, 1847, 1844,
2131 782, 791, 791, 791, 783, 1454, 1845, 785, 1844, 788,
2132 793, 793, 793, 790, 794, 794, 794, 1846, 794, 791,
2133 1848, 794, 798, 798, 798, 799, 799, 799, 793, 801,
2135 801, 801, 805, 805, 805, 1451, 805, 1450, 1849, 805,
2136 798, 1449, 1847, 799, 1446, 785, 1846, 801, 813, 813,
2137 813, 814, 814, 814, 793, 816, 816, 816, 819, 819,
2138 819, 1443, 819, 1434, 1848, 819, 813, 1849, 1426, 814,
2139 822, 822, 822, 816, 822, 1850, 1852, 822, 825, 825,
2140 825, 826, 826, 826, 1425, 826, 1424, 1852, 826, 831,
2141 831, 831, 832, 832, 832, 825, 834, 834, 834, 835,
2142 835, 835, 1423, 835, 1850, 1422, 835, 831, 1421, 1420,
2143 832, 838, 838, 838, 834, 1406, 816, 839, 839, 839,
2144 841, 841, 841, 843, 843, 843, 1405, 843, 1404, 838,
2146 843, 849, 849, 849, 1403, 839, 1402, 1401, 841, 850,
2147 850, 850, 852, 852, 852, 853, 853, 853, 1400, 849,
2148 1399, 854, 854, 854, 1398, 854, 1392, 850, 854, 834,
2149 852, 1391, 853, 855, 855, 855, 856, 856, 856, 1390,
2150 856, 1389, 1388, 856, 857, 857, 857, 858, 858, 858,
2151 855, 1387, 1386, 841, 860, 860, 860, 862, 862, 862,
2152 1385, 1384, 857, 1383, 1377, 858, 1374, 1373, 852, 863,
2153 863, 863, 860, 863, 862, 1370, 863, 866, 866, 866,
2154 867, 867, 867, 1365, 867, 1361, 1360, 867, 868, 868,
2155 868, 869, 869, 869, 866, 871, 871, 871, 872, 872,
2157 872, 1351, 872, 1349, 1348, 872, 868, 1331, 1328, 869,
2158 875, 875, 875, 871, 876, 876, 876, 860, 878, 878,
2159 878, 879, 879, 879, 883, 883, 883, 1325, 875, 885,
2160 885, 885, 876, 880, 880, 880, 878, 880, 879, 1324,
2161 880, 883, 884, 884, 884, 1321, 884, 885, 1305, 884,
2162 886, 886, 886, 1302, 1301, 871, 1300, 888, 888, 888,
2163 890, 890, 890, 893, 893, 893, 1299, 1294, 886, 894,
2164 894, 894, 1293, 1292, 878, 888, 1291, 890, 896, 896,
2165 896, 893, 899, 899, 899, 1290, 1289, 894, 900, 900,
2166 900, 902, 902, 902, 1288, 1287, 896, 903, 903, 903,
2168 899, 903, 1286, 1285, 903, 1281, 900, 1280, 1277, 902,
2169 907, 907, 907, 1276, 1275, 888, 908, 908, 908, 910,
2170 910, 910, 1270, 1266, 912, 912, 912, 1265, 907, 920,
2171 920, 920, 1263, 1262, 908, 896, 1259, 910, 934, 934,
2172 934, 902, 912, 912, 943, 943, 943, 920, 1258, 944,
2173 944, 944, 934, 944, 1255, 1242, 944, 947, 947, 947,
2174 1240, 943, 949, 949, 949, 1239, 949, 1238, 1226, 949,
2175 952, 952, 952, 1222, 1221, 947, 910, 953, 953, 953,
2176 1220, 953, 1218, 1216, 953, 1197, 1196, 952, 954, 954,
2177 954, 920, 954, 1195, 1190, 954, 958, 958, 958, 961,
2179 961, 961, 1189, 947, 962, 962, 962, 1188, 962, 1187,
2180 1186, 962, 1180, 1178, 958, 1177, 961, 963, 963, 963,
2181 964, 964, 964, 966, 966, 966, 1176, 973, 973, 973,
2182 974, 974, 974, 1174, 963, 976, 976, 976, 964, 1173,
2183 1170, 966, 1169, 958, 973, 1167, 1166, 974, 977, 977,
2184 977, 1165, 1162, 976, 978, 978, 978, 979, 979, 979,
2185 1159, 979, 1158, 1153, 979, 977, 964, 982, 982, 982,
2186 1152, 978, 1151, 974, 983, 983, 983, 984, 984, 984,
2187 1150, 985, 985, 985, 982, 986, 986, 986, 987, 987,
2188 987, 983, 1149, 1148, 984, 1147, 1145, 976, 985, 1144,
2190 991, 991, 991, 986, 1142, 1131, 987, 992, 992, 992,
2191 1129, 993, 993, 993, 1128, 993, 978, 991, 993, 1124,
2192 1116, 984, 996, 996, 996, 992, 996, 1113, 1110, 996,
2193 999, 999, 999, 1109, 1108, 1000, 1000, 1000, 1096, 1095,
2194 983, 1090, 1089, 991, 1088, 1087, 986, 985, 999, 1000,
2195 987, 1001, 1001, 1001, 1086, 1001, 1085, 1078, 1001, 1075,
2196 992, 1006, 1006, 1006, 1071, 1006, 1069, 1068, 1006, 1009,
2197 1009, 1009, 1010, 1010, 1010, 1011, 1011, 1011, 1060, 1011,
2198 1059, 1057, 1011, 1052, 1016, 1016, 1016, 1009, 1016, 1050,
2199 1010, 1016, 999, 1019, 1019, 1019, 1021, 1021, 1021, 1022,
2201 1022, 1022, 1049, 1022, 1048, 1045, 1022, 1027, 1027, 1027,
2202 1044, 1019, 1043, 1021, 1025, 1025, 1025, 1028, 1028, 1028,
2203 1042, 1029, 1029, 1029, 1027, 1010, 1009, 1030, 1030, 1030,
2204 1039, 1038, 1025, 1035, 1032, 1028, 1026, 1019, 1029, 1033,
2205 1033, 1033, 1051, 1051, 1051, 1030, 1041, 1041, 1041, 1053,
2206 1053, 1053, 1054, 1054, 1054, 1024, 1023, 1033, 1020, 1015,
2207 1025, 1055, 1055, 1055, 1041, 1014, 1054, 1056, 1056, 1056,
2208 1058, 1058, 1058, 1061, 1061, 1061, 1062, 1062, 1062, 1005,
2209 1028, 1063, 1063, 1063, 1004, 1030, 990, 1033, 989, 988,
2210 1062, 1064, 1064, 1064, 975, 1041, 972, 1065, 1065, 1065,
2212 971, 1065, 970, 1033, 1065, 1064, 1070, 1070, 1070, 1053,
2213 1072, 1072, 1072, 969, 1072, 968, 965, 1072, 1076, 1076,
2214 1076, 1077, 1077, 1077, 1070, 1079, 1079, 1079, 960, 1079,
2215 1058, 957, 1079, 1061, 948, 946, 1076, 945, 1082, 1082,
2216 1082, 1063, 1083, 1083, 1083, 942, 1083, 941, 940, 1083,
2217 1084, 1084, 1084, 939, 1070, 1082, 1091, 1091, 1091, 1092,
2218 1092, 1092, 938, 1092, 937, 936, 1092, 935, 1084, 1093,
2219 1093, 1093, 932, 1091, 931, 1076, 1094, 1094, 1094, 930,
2220 1094, 928, 927, 1094, 924, 923, 1093, 1097, 1097, 1097,
2221 1098, 1098, 1098, 1099, 1099, 1099, 922, 1099, 1084, 921,
2223 1099, 1100, 1100, 1100, 919, 1097, 918, 1098, 1101, 1101,
2224 1101, 917, 1102, 1102, 1102, 916, 1102, 915, 1100, 1102,
2225 1103, 1103, 1103, 906, 898, 1101, 1104, 1104, 1104, 1105,
2226 1105, 1105, 1106, 1106, 1106, 897, 892, 1103, 1107, 1107,
2227 1107, 891, 889, 1104, 882, 881, 1105, 1111, 1111, 1111,
2228 1106, 1112, 1112, 1112, 865, 1112, 1107, 864, 1112, 1114,
2229 1114, 1114, 861, 848, 1111, 1115, 1115, 1115, 1117, 1117,
2230 1117, 1118, 1118, 1118, 1119, 1119, 1119, 1114, 847, 846,
2231 1104, 842, 830, 1115, 829, 1117, 1107, 828, 1118, 1120,
2232 1120, 1120, 1119, 827, 1106, 1121, 1121, 1121, 1122, 1122,
2234 1122, 818, 817, 1120, 1123, 1123, 1123, 1120, 1130, 1130,
2235 1130, 812, 1121, 1115, 811, 1122, 1125, 1125, 1125, 810,
2236 1125, 809, 1123, 1125, 808, 804, 1130, 1132, 1132, 1132,
2237 803, 1133, 1133, 1133, 802, 1133, 797, 1119, 1133, 1134,
2238 1134, 1134, 789, 787, 1132, 1135, 1135, 1135, 1136, 1136,
2239 1136, 781, 1136, 772, 767, 1136, 1130, 1134, 1137, 1137,
2240 1137, 761, 1135, 760, 759, 1123, 1143, 1143, 1143, 1146,
2241 1146, 1146, 1154, 1154, 1154, 758, 1137, 1155, 1155, 1155,
2242 1156, 1156, 1156, 1143, 1157, 1157, 1157, 1146, 1160, 1160,
2243 1160, 1161, 1161, 1161, 1134, 1163, 1163, 1163, 1164, 1164,
2245 1164, 1168, 1168, 1168, 1171, 1171, 1171, 1172, 1172, 1172,
2246 1181, 1181, 1181, 757, 1181, 756, 754, 1181, 752, 1168,
2247 751, 750, 1171, 749, 1172, 748, 1146, 1184, 1184, 1184,
2248 1185, 1185, 1185, 1191, 1191, 1191, 746, 1191, 745, 744,
2249 1191, 1184, 1194, 1194, 1194, 1184, 1194, 1185, 743, 1194,
2250 1198, 1198, 1198, 1199, 1199, 1199, 1201, 1201, 1201, 1171,
2251 1201, 742, 741, 1201, 1204, 1204, 1204, 1198, 1205, 1205,
2252 1205, 1199, 1205, 740, 734, 1205, 1206, 1206, 1206, 733,
2253 1206, 1204, 732, 1206, 1209, 1209, 1209, 1210, 1210, 1210,
2254 731, 1210, 728, 727, 1210, 1211, 1211, 1211, 1212, 1212,
2256 1212, 1209, 1213, 1213, 1213, 726, 1213, 724, 720, 1213,
2257 717, 712, 1211, 711, 708, 1212, 1214, 1214, 1214, 1215,
2258 1215, 1215, 1217, 1217, 1217, 1219, 1219, 1219, 707, 1219,
2259 706, 705, 1219, 690, 1214, 683, 682, 1215, 681, 1217,
2260 1223, 1223, 1223, 1225, 1225, 1225, 1227, 1227, 1227, 1228,
2261 1228, 1228, 678, 1228, 671, 670, 1228, 669, 1223, 668,
2262 659, 1225, 658, 1227, 1214, 1217, 1229, 1229, 1229, 1230,
2263 1230, 1230, 657, 1230, 656, 655, 1230, 652, 650, 1215,
2264 1231, 1231, 1231, 1229, 1232, 1232, 1232, 1233, 1233, 1233,
2265 1234, 1234, 1234, 646, 1234, 641, 640, 1234, 1231, 1235,
2267 1235, 1235, 1232, 639, 1233, 1236, 1236, 1236, 638, 1236,
2268 635, 633, 1236, 1237, 1237, 1237, 1235, 1241, 1241, 1241,
2269 1243, 1243, 1243, 629, 1243, 625, 624, 1243, 621, 620,
2270 1232, 1237, 1246, 1246, 1246, 1241, 1247, 1247, 1247, 619,
2271 1247, 618, 1231, 1247, 1250, 1250, 1250, 1256, 1256, 1256,
2272 1246, 1257, 1257, 1257, 617, 1257, 616, 615, 1257, 1260,
2273 1260, 1260, 1250, 613, 1256, 1261, 1261, 1261, 1264, 1264,
2274 1264, 1267, 1267, 1267, 1237, 612, 611, 1260, 1241, 610,
2275 1246, 1268, 1268, 1268, 1269, 1269, 1269, 1271, 1271, 1271,
2276 1272, 1272, 1272, 1273, 1273, 1273, 1274, 1274, 1274, 1278,
2278 1278, 1278, 1282, 1282, 1282, 1283, 1283, 1283, 1284, 1284,
2279 1284, 609, 1284, 608, 607, 1284, 606, 1278, 605, 1260,
2280 1282, 604, 1283, 1295, 1295, 1295, 1296, 1296, 1296, 1297,
2281 1297, 1297, 603, 1297, 602, 601, 1297, 1298, 1298, 1298,
2282 600, 1295, 596, 1296, 1306, 1306, 1306, 1307, 1307, 1307,
2283 595, 1307, 594, 592, 1307, 1308, 1308, 1308, 591, 1308,
2284 590, 1306, 1308, 1311, 1311, 1311, 589, 1311, 588, 1295,
2285 1311, 1314, 1314, 1314, 1315, 1315, 1315, 584, 1315, 582,
2286 581, 1315, 1316, 1316, 1316, 580, 1316, 579, 1314, 1316,
2287 1319, 1319, 1319, 1320, 1320, 1320, 1322, 1322, 1322, 1323,
2289 1323, 1323, 575, 1323, 574, 571, 1323, 570, 1319, 569,
2290 568, 1320, 567, 1322, 1329, 1329, 1329, 1332, 1332, 1332,
2291 566, 1332, 563, 562, 1332, 561, 1335, 1335, 1335, 560,
2292 1335, 557, 1329, 1335, 1338, 1338, 1338, 1339, 1339, 1339,
2293 1340, 1340, 1340, 553, 1340, 552, 551, 1340, 550, 547,
2294 1319, 546, 1338, 545, 544, 1339, 1343, 1343, 1343, 541,
2295 1343, 540, 539, 1343, 538, 1346, 1346, 1346, 1347, 1347,
2296 1347, 1350, 1350, 1350, 1352, 1352, 1352, 1353, 1353, 1353,
2297 536, 533, 1338, 1346, 529, 1347, 1356, 1356, 1356, 1350,
2298 528, 527, 1352, 526, 525, 1353, 1362, 1362, 1362, 1339,
2300 1346, 1357, 1357, 1357, 524, 1357, 521, 518, 1357, 1363,
2301 1363, 1363, 517, 516, 1362, 1364, 1364, 1364, 1366, 1366,
2302 1366, 1367, 1367, 1367, 1368, 1368, 1368, 1369, 1369, 1369,
2303 1352, 515, 1350, 1371, 1371, 1371, 1372, 1372, 1372, 1376,
2304 1376, 1376, 1378, 1378, 1378, 1380, 1380, 1380, 514, 1380,
2305 513, 1362, 1380, 1393, 1393, 1393, 1376, 1394, 1394, 1394,
2306 1378, 1394, 511, 507, 1394, 1397, 1397, 1397, 1407, 1407,
2307 1407, 1393, 1407, 505, 504, 1407, 1410, 1410, 1410, 503,
2308 1410, 502, 498, 1410, 1413, 1413, 1413, 1414, 1414, 1414,
2309 1416, 1416, 1416, 1417, 1417, 1417, 497, 1417, 496, 495,
2311 1417, 491, 1413, 490, 489, 1414, 488, 1416, 487, 485,
2312 1393, 1427, 1427, 1427, 1428, 1428, 1428, 1429, 1429, 1429,
2313 1430, 1430, 1430, 1431, 1431, 1431, 482, 1432, 1432, 1432,
2314 481, 1432, 1428, 1416, 1432, 1429, 479, 477, 1430, 474,
2315 1431, 1433, 1433, 1433, 1435, 1435, 1435, 1436, 1436, 1436,
2316 1437, 1437, 1437, 1438, 1438, 1438, 471, 469, 1433, 1441,
2317 1441, 1441, 1435, 1442, 1442, 1442, 468, 465, 1437, 464,
2318 463, 1438, 460, 1429, 1444, 1444, 1444, 1430, 459, 458,
2319 1442, 1445, 1445, 1445, 1447, 1447, 1447, 1448, 1448, 1448,
2320 457, 456, 1444, 1452, 1452, 1452, 1453, 1453, 1453, 455,
2322 1453, 454, 453, 1453, 1465, 1465, 1465, 1474, 1474, 1474,
2323 1452, 1438, 1437, 1475, 1475, 1475, 1477, 1477, 1477, 1478,
2324 1478, 1478, 1465, 1478, 1474, 452, 1478, 1486, 1486, 1486,
2325 449, 1475, 448, 1477, 1487, 1487, 1487, 1488, 1488, 1488,
2326 1490, 1490, 1490, 447, 1486, 1491, 1491, 1491, 446, 1492,
2327 1492, 1492, 445, 1492, 439, 1488, 1492, 438, 1490, 436,
2328 1465, 430, 429, 1491, 1495, 1495, 1495, 1496, 1496, 1496,
2329 425, 1496, 419, 415, 1496, 1497, 1497, 1497, 1498, 1498,
2330 1498, 1495, 1500, 1500, 1500, 1501, 1501, 1501, 1505, 1505,
2331 1505, 412, 1497, 1506, 1506, 1506, 1498, 1506, 411, 407,
2333 1506, 406, 405, 1501, 404, 1505, 400, 397, 1491, 1507,
2334 1507, 1507, 1508, 1508, 1508, 1513, 1513, 1513, 1514, 1514,
2335 1514, 393, 1514, 392, 391, 1514, 1507, 1528, 1528, 1528,
2336 1508, 387, 1513, 1535, 1535, 1535, 1536, 1536, 1536, 381,
2337 1536, 377, 374, 1536, 370, 1528, 369, 1537, 1537, 1537,
2338 1535, 1537, 368, 364, 1537, 1545, 1545, 1545, 1546, 1546,
2339 1546, 361, 1546, 356, 355, 1546, 1547, 1547, 1547, 1549,
2340 1549, 1549, 1545, 1550, 1550, 1550, 351, 1550, 348, 343,
2341 1550, 342, 341, 1528, 1547, 337, 331, 1549, 1553, 1553,
2342 1553, 1554, 1554, 1554, 327, 1554, 321, 320, 1554, 1555,
2344 1555, 1555, 1560, 1560, 1560, 1553, 1560, 318, 317, 1560,
2345 1563, 1563, 1563, 312, 1564, 1564, 1564, 1555, 1564, 309,
2346 305, 1564, 1565, 1565, 1565, 304, 303, 1563, 1568, 1568,
2347 1568, 1549, 1569, 1569, 1569, 302, 1569, 300, 296, 1569,
2348 1585, 1585, 1585, 293, 291, 1568, 1586, 1586, 1586, 1587,
2349 1587, 1587, 1590, 1590, 1590, 283, 1590, 276, 1585, 1590,
2350 1594, 1594, 1594, 1596, 1596, 1596, 1587, 1596, 275, 271,
2351 1596, 1599, 1599, 1599, 1600, 1600, 1600, 1594, 1600, 265,
2352 264, 1600, 1605, 1605, 1605, 1609, 1609, 1609, 1585, 1599,
2353 263, 259, 1587, 256, 1606, 1606, 1606, 251, 1606, 1605,
2355 1605, 1606, 1612, 1612, 1612, 249, 1612, 248, 244, 1612,
2356 1619, 1619, 1619, 1628, 1628, 1628, 1629, 1629, 1629, 1599,
2357 1630, 1630, 1630, 1636, 1636, 1636, 241, 1619, 1631, 1631,
2358 1631, 1628, 1631, 239, 238, 1631, 237, 1630, 233, 229,
2359 1636, 1637, 1637, 1637, 222, 1637, 221, 217, 1637, 1639,
2360 1639, 1639, 1641, 1641, 1641, 1642, 1642, 1642, 213, 1628,
2361 212, 1643, 1643, 1643, 211, 1643, 205, 1639, 1643, 1641,
2362 1641, 204, 1642, 1642, 1644, 1644, 1644, 202, 199, 1643,
2363 1645, 1645, 1645, 1650, 1650, 1650, 1651, 1651, 1651, 187,
2364 1651, 0, 0, 1651, 1660, 1660, 1660, 1661, 1661, 1661,
2366 1650, 1661, 0, 0, 1661, 1668, 1668, 1668, 0, 1669,
2367 1669, 1669, 1660, 1669, 0, 0, 1669, 1672, 1672, 1672,
2368 0, 0, 1668, 1673, 1673, 1673, 1676, 1676, 1676, 1677,
2369 1677, 1677, 0, 1677, 1672, 0, 1677, 1681, 1681, 1681,
2370 0, 1673, 0, 1676, 1676, 0, 0, 1677, 1678, 1678,
2371 1678, 0, 1678, 0, 0, 1678, 1660, 1682, 1682, 1682,
2372 0, 1696, 1696, 1696, 0, 0, 1678, 1679, 1679, 1679,
2373 1679, 1679, 1679, 1679, 1679, 1679, 0, 0, 1679, 1696,
2374 1701, 1701, 1701, 1679, 1679, 1679, 1679, 1679, 1687, 1687,
2375 1687, 0, 1687, 0, 0, 1687, 0, 1701, 1702, 1702,
2377 1702, 0, 1702, 0, 0, 1702, 1703, 1703, 1703, 1679,
2378 1679, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680,
2379 0, 0, 1680, 1703, 0, 0, 0, 1680, 1680, 1680,
2380 1680, 1680, 1704, 1704, 1704, 0, 1704, 0, 0, 1704,
2381 1706, 1706, 1706, 0, 1706, 0, 0, 1706, 0, 0,
2382 1721, 1721, 1721, 1680, 1680, 1739, 1739, 1739, 1706, 1709,
2383 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1709, 1721, 0,
2384 1709, 0, 0, 1739, 1739, 1709, 1709, 1709, 1709, 1709,
2385 1727, 1727, 1727, 0, 1727, 0, 0, 1727, 1730, 1730,
2386 1730, 0, 1730, 0, 0, 1730, 1746, 1746, 1746, 0,
2388 0, 1709, 1709, 1710, 1710, 1710, 1710, 1710, 1710, 1710,
2389 1710, 1710, 0, 1746, 1710, 1747, 1747, 1747, 0, 1710,
2390 1710, 1710, 1710, 1710, 1748, 1748, 1748, 1749, 1749, 1749,
2391 0, 0, 1747, 1754, 1754, 1754, 1758, 1758, 1758, 0,
2392 0, 1748, 0, 0, 1749, 1710, 1710, 1761, 1761, 1761,
2393 0, 1754, 0, 0, 1758, 1762, 1762, 1762, 0, 1762,
2394 0, 0, 1762, 0, 1761, 0, 0, 1748, 1763, 1763,
2395 1763, 1764, 1764, 1764, 0, 1764, 0, 0, 1764, 1765,
2396 1765, 1765, 0, 0, 1758, 1763, 1766, 1766, 1766, 0,
2397 1766, 0, 0, 1766, 0, 0, 1765, 1768, 1768, 1768,
2399 1769, 1769, 1769, 0, 1769, 0, 0, 1769, 1774, 1774,
2400 1774, 1778, 1778, 1778, 1768, 1778, 0, 0, 1778, 0,
2401 1781, 1781, 1781, 0, 1781, 0, 1774, 1781, 1784, 1784,
2402 1784, 0, 1784, 0, 0, 1784, 1788, 1788, 1788, 0,
2403 1788, 0, 0, 1788, 1774, 1809, 1809, 1809, 1815, 1815,
2404 1815, 1816, 1816, 1816, 0, 1816, 0, 0, 1816, 1822,
2405 1822, 1822, 1809, 1822, 0, 1815, 1822, 1827, 1827, 1827,
2406 1828, 1828, 1828, 0, 1828, 0, 0, 1828, 1853, 1853,
2407 1853, 1854, 1854, 1854, 0, 1827, 0, 0, 1828, 0,
2408 0, 0, 0, 0, 0, 0, 1853, 0, 0, 1854,
2410 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1858,
2411 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1859, 1859,
2412 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1860, 1860, 1860,
2413 1860, 1860, 1860, 1860, 1860, 1860, 1861, 1861, 1861, 1861,
2414 1861, 1861, 1861, 1861, 1861, 1862, 1862, 1862, 1862, 1862,
2415 1862, 1862, 1862, 1862, 1863, 1863, 1863, 1863, 1863, 1863,
2416 1863, 1863, 1863, 1864, 1864, 1864, 1864, 1864, 1864, 1864,
2417 1864, 1864, 1865, 1865, 1865, 1865, 1865, 1865, 1865, 1865,
2418 1865, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866,
2419 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1868,
2421 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1869, 1869,
2422 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1870, 1870, 1870,
2423 1870, 1870, 1870, 1870, 1870, 1870, 1871, 1871, 1871, 1871,
2424 1871, 1871, 1871, 1871, 1871, 1872, 1872, 1872, 1872, 1872,
2425 1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873, 1873, 1873,
2426 1873, 1873, 1873, 1874, 1874, 1874, 1874, 1874, 1874, 1874,
2427 1874, 1874, 1875, 1875, 1875, 1875, 1875, 1875, 1875, 1875,
2428 1875, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876,
2429 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1878,
2430 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1879, 1879,
2432 1879, 1879, 1879, 1879, 1879, 1879, 1879, 1880, 1880, 1880,
2433 1880, 1880, 1880, 1880, 1880, 1880, 1881, 1881, 1881, 1881,
2434 1881, 1881, 1881, 1881, 1881, 1882, 1882, 1882, 1882, 1882,
2435 1882, 1882, 1882, 1882, 1883, 1883, 1883, 1883, 1883, 1883,
2436 1883, 1883, 1883, 1884, 1884, 1884, 1884, 1884, 1884, 1884,
2437 1884, 1884, 1885, 1885, 1885, 1885, 1885, 1885, 1885, 1885,
2438 1885, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886, 1886,
2439 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1888,
2440 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1888, 1889, 1889,
2441 1889, 1889, 1889, 1889, 1889, 1889, 1889, 1890, 1890, 1890,
2443 1890, 1890, 1890, 1890, 1890, 1890, 1891, 1891, 1891, 1891,
2444 1891, 1891, 1891, 1891, 1891, 1892, 1892, 1892, 1892, 1892,
2445 1892, 1892, 1892, 1892, 1893, 1893, 1893, 0, 0, 0,
2446 1893, 1894, 1894, 1894, 0, 0, 0, 1894, 1895, 1895,
2447 1895, 0, 0, 0, 1895, 1896, 1896, 1896, 0, 0,
2448 0, 1896, 1897, 1897, 1897, 0, 0, 0, 1897, 1898,
2449 1898, 1898, 0, 0, 0, 1898, 1899, 1899, 1899, 0,
2450 0, 0, 1899, 1900, 1900, 1900, 0, 0, 0, 1900,
2451 1901, 1901, 1901, 0, 0, 0, 1901, 1902, 1902, 1902,
2452 0, 0, 0, 1902, 1903, 1903, 1903, 0, 0, 0,
2454 1903, 1904, 1904, 1904, 0, 0, 0, 1904, 1905, 1905,
2455 1905, 0, 0, 0, 1905, 1906, 1906, 1906, 0, 0,
2456 0, 1906, 1907, 1907, 1907, 0, 0, 0, 1907, 1908,
2457 1908, 1908, 0, 0, 0, 1908, 1909, 1909, 1909, 1909,
2458 1909, 1909, 1909, 0, 1909, 1910, 0, 0, 0, 1910,
2459 1911, 0, 0, 0, 1911, 1912, 0, 0, 0, 1912,
2460 1913, 0, 0, 0, 1913, 1914, 1914, 1914, 0, 0,
2461 0, 1914, 1915, 0, 0, 0, 1915, 1916, 0, 0,
2462 0, 1916, 1917, 0, 0, 0, 1917, 1918, 0, 0,
2463 0, 1918, 1919, 0, 0, 0, 1919, 1920, 0, 0,
2465 0, 1920, 1921, 1921, 1921, 0, 0, 0, 1921, 1922,
2466 0, 0, 0, 1922, 1923, 1923, 1923, 0, 0, 0,
2467 1923, 1924, 0, 0, 0, 1924, 1925, 1925, 1925, 0,
2468 0, 0, 1925, 1926, 0, 0, 0, 1926, 1927, 1927,
2469 1927, 0, 0, 0, 1927, 1928, 0, 0, 0, 1928,
2470 1929, 1929, 1929, 0, 0, 0, 1929, 1930, 0, 0,
2471 0, 1930, 1931, 1931, 1931, 0, 0, 0, 1931, 1932,
2472 0, 0, 0, 1932, 1933, 1933, 1933, 1933, 1933, 1933,
2473 1933, 1933, 1933, 1934, 0, 0, 0, 0, 1934, 1935,
2474 1935, 1935, 0, 0, 0, 1935, 1936, 1936, 1936, 1936,
2476 0, 0, 1936, 1936, 1937, 1937, 1937, 0, 0, 0,
2477 1937, 1938, 1938, 1938, 1938, 0, 0, 1938, 1938, 1939,
2478 1939, 1939, 0, 0, 0, 1939, 1940, 1940, 1940, 1940,
2479 0, 0, 1940, 1940, 1941, 1941, 1941, 0, 0, 0,
2480 1941, 1942, 1942, 1942, 1942, 0, 0, 1942, 1942, 1943,
2481 1943, 1943, 0, 0, 0, 1943, 1944, 1944, 1944, 1944,
2482 0, 0, 1944, 1944, 1945, 1945, 1945, 0, 0, 0,
2483 1945, 1946, 1946, 1946, 1946, 0, 0, 1946, 1946, 1947,
2484 1947, 1947, 0, 0, 0, 1947, 1948, 1948, 1948, 1948,
2485 0, 0, 1948, 1948, 1949, 1949, 1949, 1949, 0, 0,
2487 1949, 1949, 1950, 1950, 1950, 0, 0, 0, 1950, 1951,
2488 1951, 1951, 1951, 0, 0, 1951, 1951, 1952, 1952, 1952,
2489 1952, 0, 1952, 0, 1952, 1953, 1953, 1953, 1953, 0,
2490 0, 1953, 1953, 1954, 1954, 1954, 1954, 0, 1954, 0,
2491 1954, 1955, 1955, 1955, 1955, 0, 0, 1955, 1955, 1956,
2492 1956, 1956, 1956, 0, 0, 1956, 1956, 1957, 1957, 1957,
2493 1957, 0, 1957, 0, 1957, 1958, 1958, 1958, 1958, 0,
2494 0, 1958, 1958, 1959, 1959, 1959, 0, 0, 0, 1959,
2495 1960, 1960, 1960, 1960, 0, 0, 1960, 1960, 1961, 1961,
2496 1961, 0, 0, 0, 1961, 1962, 1962, 1962, 1962, 0,
2498 0, 1962, 1962, 1963, 1963, 1963, 0, 0, 0, 1963,
2499 1964, 1964, 1964, 1964, 0, 0, 1964, 1964, 1965, 1965,
2500 1965, 1965, 1965, 1965, 1965, 1965, 1965, 1966, 0, 1966,
2501 0, 0, 1966, 1967, 1967, 1967, 0, 0, 0, 1967,
2502 1968, 1968, 1968, 1968, 0, 0, 1968, 1968, 1969, 1969,
2503 1969, 1969, 0, 1969, 0, 1969, 1970, 1970, 1970, 1970,
2504 0, 0, 1970, 1970, 1971, 1971, 1971, 0, 0, 0,
2505 1971, 1972, 1972, 1972, 1972, 0, 0, 1972, 1972, 1973,
2506 1973, 1973, 0, 0, 0, 1973, 1974, 1974, 1974, 1974,
2507 0, 0, 1974, 1974, 1975, 1975, 1975, 0, 0, 0,
2509 1975, 1976, 1976, 1976, 1976, 0, 0, 1976, 1976, 1977,
2510 1977, 1977, 0, 0, 0, 1977, 1978, 1978, 1978, 1978,
2511 0, 0, 1978, 1978, 1979, 1979, 1979, 0, 0, 0,
2512 1979, 1980, 1980, 1980, 1980, 0, 0, 1980, 1980, 1981,
2513 1981, 1981, 1981, 0, 0, 1981, 1981, 1982, 1982, 1982,
2514 0, 0, 0, 1982, 1983, 1983, 1983, 1983, 0, 0,
2515 1983, 1983, 1984, 1984, 1984, 1984, 0, 0, 1984, 1984,
2516 1985, 1985, 1985, 0, 0, 0, 1985, 1986, 1986, 1986,
2517 1986, 0, 0, 1986, 1986, 1987, 1987, 1987, 1987, 0,
2518 0, 1987, 1987, 1988, 1988, 1988, 0, 0, 0, 1988,
2520 1989, 1989, 1989, 1989, 0, 0, 1989, 1989, 1990, 1990,
2521 1990, 0, 0, 0, 1990, 1991, 1991, 1991, 1991, 0,
2522 0, 1991, 1991, 1992, 1992, 1992, 0, 0, 0, 1992,
2523 1993, 1993, 1993, 1993, 0, 0, 1993, 1993, 1994, 1994,
2524 1994, 0, 0, 0, 1994, 1995, 1995, 1995, 1995, 0,
2525 0, 1995, 1995, 1996, 1996, 1996, 1996, 1996, 1996, 1996,
2526 1996, 1996, 1997, 1997, 1997, 1997, 1997, 1997, 1997, 1997,
2527 1997, 1998, 1998, 1998, 0, 0, 0, 1998, 1999, 1999,
2528 1999, 1999, 0, 0, 1999, 1999, 2000, 2000, 2000, 0,
2529 0, 0, 2000, 2001, 2001, 2001, 2001, 0, 0, 2001,
2531 2001, 2002, 2002, 2002, 0, 0, 0, 2002, 2003, 2003,
2532 2003, 2003, 0, 0, 2003, 2003, 2004, 2004, 2004, 0,
2533 0, 0, 2004, 2005, 2005, 2005, 2005, 0, 0, 2005,
2534 2005, 2006, 2006, 2006, 0, 0, 0, 2006, 2007, 2007,
2535 2007, 0, 0, 0, 2007, 2008, 2008, 2008, 2008, 0,
2536 0, 2008, 2008, 2009, 2009, 2009, 2009, 0, 2009, 0,
2537 2009, 2010, 2010, 2010, 2010, 0, 0, 2010, 2010, 2011,
2538 2011, 2011, 2011, 0, 0, 2011, 2011, 2012, 2012, 2012,
2539 0, 0, 0, 2012, 2013, 2013, 2013, 2013, 0, 0,
2540 2013, 2013, 2014, 2014, 2014, 2014, 0, 0, 2014, 2014,
2542 2015, 2015, 2015, 0, 0, 0, 2015, 2016, 2016, 2016,
2543 2016, 0, 0, 2016, 2016, 2017, 2017, 2017, 2017, 0,
2544 0, 2017, 2017, 2018, 2018, 2018, 0, 0, 0, 2018,
2545 2019, 2019, 2019, 2019, 0, 0, 2019, 2019, 2020, 2020,
2546 2020, 0, 0, 0, 2020, 2021, 2021, 2021, 2021, 0,
2547 0, 2021, 2021, 2022, 2022, 2022, 2022, 0, 2022, 0,
2548 2022, 2023, 2023, 2023, 2023, 0, 0, 2023, 2023, 2024,
2549 2024, 2024, 2024, 0, 2024, 0, 2024, 2025, 2025, 2025,
2550 2025, 0, 0, 2025, 2025, 2026, 2026, 2026, 2026, 2026,
2551 2026, 2026, 2026, 2026, 2027, 2027, 2027, 2027, 2027, 2027,
2553 2027, 2027, 2027, 2028, 2028, 2028, 0, 0, 0, 2028,
2554 2029, 2029, 2029, 2029, 0, 0, 2029, 2029, 2030, 2030,
2555 2030, 0, 0, 0, 2030, 2031, 2031, 2031, 2031, 0,
2556 0, 2031, 2031, 2032, 2032, 2032, 0, 0, 0, 2032,
2557 2033, 2033, 2033, 2033, 0, 0, 2033, 2033, 2034, 2034,
2558 2034, 0, 0, 0, 2034, 2035, 2035, 2035, 2035, 0,
2559 0, 2035, 2035, 2036, 2036, 2036, 0, 0, 0, 2036,
2560 2037, 2037, 2037, 0, 0, 0, 2037, 2038, 2038, 2038,
2561 2038, 0, 0, 2038, 2038, 2039, 2039, 2039, 2039, 0,
2562 2039, 0, 2039, 2040, 2040, 2040, 2040, 0, 0, 2040,
2564 2040, 2041, 2041, 2041, 2041, 0, 0, 2041, 2041, 2042,
2565 2042, 2042, 0, 0, 0, 2042, 2043, 2043, 2043, 2043,
2566 0, 0, 2043, 2043, 2044, 2044, 2044, 2044, 0, 0,
2567 2044, 2044, 2045, 2045, 2045, 2045, 0, 2045, 0, 2045,
2568 2046, 2046, 2046, 2046, 0, 0, 2046, 2046, 2047, 2047,
2569 2047, 2047, 0, 0, 2047, 2047, 2048, 2048, 2048, 2048,
2570 0, 2048, 0, 2048, 2049, 2049, 2049, 2049, 0, 0,
2571 2049, 2049, 2050, 2050, 2050, 0, 0, 0, 2050, 2051,
2572 2051, 2051, 2051, 0, 0, 2051, 2051, 2052, 2052, 2052,
2573 2052, 0, 0, 2052, 2052, 2053, 2053, 2053, 2053, 2053,
2575 2053, 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054,
2576 2054, 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2577 2055, 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2578 2056, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057,
2579 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 1856,
2580 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2581 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2582 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2583 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2584 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2586 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2587 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856
2590 /* Table of booleans, true if rule could match eol. */
2591 static yyconst flex_int32_t yy_rule_can_match_eol[325] =
2593 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2594 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2595 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2596 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2597 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2598 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2599 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
2600 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2601 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
2602 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2603 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
2604 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
2605 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2606 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2607 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2608 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2611 static yy_state_type yy_last_accepting_state;
2612 static char *yy_last_accepting_cpos;
2614 extern int surf_parse__flex_debug;
2615 int surf_parse__flex_debug = 0;
2617 /* The intent behind this definition is that it'll catch
2618 * any uses of REJECT which flex missed.
2620 #define REJECT reject_used_but_not_detected
2621 #define yymore() yymore_used_but_not_detected
2622 #define YY_MORE_ADJ 0
2623 #define YY_RESTORE_YY_MORE_OFFSET
2624 char *surf_parse_text;
2625 /* Validating XML processor for src/surf/simgrid.dtd.
2626 * Generated 2010/09/21 16:29:30.
2628 * This program was generated with the FleXML XML processor generator.
2629 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2630 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2631 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2633 * There are two, intertwined parts to this program, part A and part B.
2638 * Some parts, here collectively called "Part A", are found in the
2639 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2640 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2642 * You can redistribute, use, perform, display and/or modify "Part A"
2643 * provided the following two conditions hold:
2645 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2646 * FleXML; without even the implied warranty of MERCHANTABILITY or
2647 * FITNESS FOR A PARTICULAR PURPOSE.
2649 * 2. The program distribution conditions do not in any way affect the
2650 * distribution conditions of the FleXML system used to generate this
2651 * file or any version of FleXML derived from that system.
2653 * Notice that these are explicit rights granted to you for files
2654 * generated by the FleXML system. For your rights in connection with
2655 * the FleXML system itself please consult the GNU General Public License.
2660 * The other parts, here collectively called "Part B", and which came
2661 * from the DTD used by FleXML to generate this program, can be
2662 * distributed (or not, as the case may be) under the terms of whoever
2663 * wrote them, provided these terms respect and obey the two conditions
2664 * above under the heading "Part A".
2666 * The author of and contributors to FleXML specifically disclaim
2667 * any copyright interest in "Part B", unless "Part B" was written
2668 * by the author of or contributors to FleXML.
2672 /* Version strings. */
2673 const char rcs_surfxml_flexml_skeleton[] =
2674 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2675 const char rcs_surfxml_flexml[] =
2676 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2679 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2686 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2687 # ifndef __STRICT_ANSI__
2689 # include <process.h>
2692 # include <unistd.h>
2695 #ifndef FLEXML_INDEXSTACKSIZE
2696 #define FLEXML_INDEXSTACKSIZE 1000
2699 /* Generated definitions. */
2700 #define FLEXML_yylineno
2701 #ifndef FLEXML_BUFFERSTACKSIZE
2702 #define FLEXML_BUFFERSTACKSIZE 1000000
2704 #define FLEXML_NEED_BUFFERLIT
2706 /* XML processor api. */
2707 /* FleXML-provided data. */
2708 int surfxml_pcdata_ix;
2709 extern char *surfxml_bufferstack;
2710 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2711 AT_surfxml_random_generator AX_surfxml_random_generator;
2712 #define A_surfxml_random_generator AX_surfxml_random_generator
2713 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
2714 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
2715 AT_surfxml_prop_id AX_surfxml_prop_id;
2716 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2717 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2718 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2719 AT_surfxml_host_id AX_surfxml_host_id;
2720 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2721 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2722 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2723 AT_surfxml_host_state AX_surfxml_host_state;
2724 #define A_surfxml_host_state AX_surfxml_host_state
2725 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2726 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2727 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2728 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2729 AT_surfxml_AS_id AX_surfxml_AS_id;
2730 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
2731 AT_surfxml_host_power AX_surfxml_host_power;
2732 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2733 AT_surfxml_router_id AX_surfxml_router_id;
2734 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2735 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2736 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2737 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2738 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2739 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2740 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2741 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
2742 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
2743 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2744 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2745 AT_surfxml_trace_file AX_surfxml_trace_file;
2746 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2747 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2748 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2749 AT_surfxml_random_min AX_surfxml_random_min;
2750 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2751 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2752 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2753 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2754 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2755 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2756 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2757 AT_surfxml_argument_value AX_surfxml_argument_value;
2758 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2759 AT_surfxml_link_state AX_surfxml_link_state;
2760 #define A_surfxml_link_state AX_surfxml_link_state
2761 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
2762 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
2763 AT_surfxml_AS_routing AX_surfxml_AS_routing;
2764 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
2765 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2766 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2767 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2768 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2769 AT_surfxml_random_mean AX_surfxml_random_mean;
2770 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2771 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2772 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2773 AT_surfxml_link_latency AX_surfxml_link_latency;
2774 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2775 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2776 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2777 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2778 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2779 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2780 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2781 AT_surfxml_random_id AX_surfxml_random_id;
2782 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2783 AT_surfxml_random_max AX_surfxml_random_max;
2784 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2785 AT_surfxml_link_id AX_surfxml_link_id;
2786 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2787 AT_surfxml_process_host AX_surfxml_process_host;
2788 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2789 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2790 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2791 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2792 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2793 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2794 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2795 AT_surfxml_prop_value AX_surfxml_prop_value;
2796 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2797 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
2798 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
2799 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2800 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2801 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2802 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2803 AT_surfxml_process_function AX_surfxml_process_function;
2804 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2805 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2806 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2807 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2808 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2809 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
2810 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
2811 AT_surfxml_host_availability AX_surfxml_host_availability;
2812 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2813 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
2814 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
2815 AT_surfxml_route_src AX_surfxml_route_src;
2816 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2817 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
2818 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
2819 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
2820 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
2821 AT_surfxml_trace_id AX_surfxml_trace_id;
2822 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2823 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2824 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
2825 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
2826 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
2827 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
2828 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
2829 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
2830 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
2831 AT_surfxml_host_state_file AX_surfxml_host_state_file;
2832 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
2833 AT_surfxml_route_dst AX_surfxml_route_dst;
2834 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
2835 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
2836 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
2837 AT_surfxml_platform_version AX_surfxml_platform_version;
2838 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
2842 # define ENTER(state) debug_enter(state,#state)
2843 # define LEAVE debug_leave()
2844 # define SET(state) debug_set(state,#state)
2845 static void debug_enter(int, const char*);
2846 static void debug_leave(void);
2847 static void debug_set(int, const char*);
2849 # define ENTER(state) (yy_push_state(state))
2850 # define LEAVE (yy_pop_state())
2851 # define SET(state) BEGIN(state)
2854 /* Generic actions. */
2855 #define SKIP /*skip*/
2856 #define SUCCEED CLEANUP; return 0
2858 #define FAIL return fail
2859 static int fail(const char*, ...);
2861 enum {flexml_max_err_msg_size = 512};
2862 static char flexml_err_msg[flexml_max_err_msg_size];
2863 const char * surfxml_parse_err_msg()
2865 return flexml_err_msg;
2867 static void reset_surfxml_parse_err_msg()
2869 flexml_err_msg[0] = '\0';
2873 static void cleanup(void);
2874 #define CLEANUP cleanup()
2876 /* Text buffer stack handling. */
2877 char *surfxml_bufferstack = NULL;
2878 static int blimit = FLEXML_BUFFERSTACKSIZE;
2879 static int bnext = 1;
2881 static int *indexstack = NULL;
2882 static int ilimit = FLEXML_INDEXSTACKSIZE;
2883 static int inext = 1;
2885 #define BUFFERSET(P) (P = bnext)
2886 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
2887 #define BUFFERDONE (BUFFERPUTC('\0'))
2889 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
2891 /* after this is called, there are at least 2 slots left in the stack */
2892 static int ck_blimit()
2894 if (bnext >= blimit) {
2895 blimit += FLEXML_BUFFERSTACKSIZE + 2;
2897 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
2899 surfxml_bufferstack = temp;
2905 /* after this is called, there are at least 2 slots left in the stack */
2906 static int ck_ilimit()
2908 if (inext >= ilimit) {
2909 ilimit += FLEXML_INDEXSTACKSIZE + 2;
2911 int *temp = (int *) realloc(indexstack, ilimit);
2919 #ifdef FLEXML_NEED_BUFFERLIT
2920 static void surfxml_bufferliteral(char c, int* pp, const char* text)
2922 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
2923 assert(s <= e); BUFFERSET(*pp);
2925 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
2926 else BUFFERPUTC(*s);
2932 static void pushbuffer(int p)
2935 indexstack[inext++] = p;
2936 indexstack[inext++] = bnext;
2939 static int popbuffer(void)
2942 bnext = indexstack[--inext];
2943 return indexstack[--inext];
2946 /* General internal entities are `unput' back onto the input stream... */
2947 #define ENTITYTEXT(T) \
2948 { char *s = (T), *e = s+strlen(s);\
2949 while (--e >= s) { unput(*e); }}
2951 /* Flex standard options. */
2952 #define YY_NO_INPUT 1
2953 /* Flex user-requested options. */
2954 /* XML character classes (currently restricted to ASCII). */
2955 /* "Common syntactic structures." */
2956 /* "Names and Tokens." */
2957 /* Miscellaneous. */
2958 /* Parser states (flex `exclusive start conditions'):
2960 * PROLOG the XML prolog of the document before <?xml...>
2961 * DOCTYPE the XML prolog of the document after <?xml...>
2962 * EPILOG after the root element
2963 * INCOMMENT inside an XML comment <!--....-->
2964 * INPI inside an XML PI <?...?>
2965 * VALUE1 inside a '...'-delimited literal
2966 * VALUE2 inside a "..."-delimited literal
2967 * CDATA inside a <![CDATA[...] ]> section.
2968 * ROOT_<tag> expect root element <tag>
2969 * AL_<tag> inside the attribute list for <tag>
2970 * IN_<tag> inside a <tag> with element contents (ready for end tag)
2971 * IMPOSSIBLE dummy to permit disabling rules; must be last
2975 const char* *surfxml_statenames=NULL;
2986 #define ROOT_surfxml_platform 9
2987 #define AL_surfxml_platform 10
2988 #define S_surfxml_platform 11
2989 #define S_surfxml_platform_1 12
2990 #define S_surfxml_platform_2 13
2991 #define S_surfxml_platform_3 14
2992 #define S_surfxml_platform_4 15
2993 #define S_surfxml_platform_5 16
2994 #define S_surfxml_platform_6 17
2995 #define S_surfxml_platform_7 18
2996 #define S_surfxml_platform_8 19
2997 #define E_surfxml_platform 20
2998 #define AL_surfxml_trace 21
3000 #define AL_surfxml_random 23
3001 #define S_surfxml_random 24
3002 #define S_surfxml_random_1 25
3003 #define S_surfxml_random_2 26
3004 #define E_surfxml_random 27
3005 #define AL_surfxml_trace_c_connect 28
3006 #define E_surfxml_trace_c_connect 29
3007 #define AL_surfxml_AS 30
3008 #define S_surfxml_AS 31
3009 #define S_surfxml_AS_1 32
3010 #define S_surfxml_AS_2 33
3011 #define S_surfxml_AS_3 34
3012 #define S_surfxml_AS_4 35
3013 #define S_surfxml_AS_5 36
3014 #define S_surfxml_AS_6 37
3015 #define S_surfxml_AS_7 38
3016 #define S_surfxml_AS_8 39
3017 #define S_surfxml_AS_9 40
3018 #define S_surfxml_AS_10 41
3019 #define S_surfxml_AS_11 42
3020 #define S_surfxml_AS_12 43
3021 #define S_surfxml_AS_13 44
3022 #define S_surfxml_AS_14 45
3023 #define S_surfxml_AS_15 46
3024 #define S_surfxml_AS_16 47
3025 #define S_surfxml_AS_17 48
3026 #define S_surfxml_AS_18 49
3027 #define S_surfxml_AS_19 50
3028 #define E_surfxml_AS 51
3029 #define AL_surfxml_host 52
3030 #define S_surfxml_host 53
3031 #define S_surfxml_host_1 54
3032 #define S_surfxml_host_2 55
3033 #define E_surfxml_host 56
3034 #define AL_surfxml_cluster 57
3035 #define E_surfxml_cluster 58
3036 #define AL_surfxml_router 59
3037 #define E_surfxml_router 60
3038 #define AL_surfxml_link 61
3039 #define S_surfxml_link 62
3040 #define S_surfxml_link_1 63
3041 #define S_surfxml_link_2 64
3042 #define E_surfxml_link 65
3043 #define AL_surfxml_route 66
3044 #define S_surfxml_route 67
3045 #define S_surfxml_route_1 68
3046 #define S_surfxml_route_2 69
3047 #define E_surfxml_route 70
3048 #define AL_surfxml_ASroute 71
3049 #define S_surfxml_ASroute 72
3050 #define S_surfxml_ASroute_1 73
3051 #define S_surfxml_ASroute_2 74
3052 #define E_surfxml_ASroute 75
3053 #define AL_surfxml_link_c_ctn 76
3054 #define E_surfxml_link_c_ctn 77
3055 #define AL_surfxml_bypassRoute 78
3056 #define S_surfxml_bypassRoute 79
3057 #define S_surfxml_bypassRoute_1 80
3058 #define S_surfxml_bypassRoute_2 81
3059 #define E_surfxml_bypassRoute 82
3060 #define AL_surfxml_process 83
3061 #define S_surfxml_process 84
3062 #define S_surfxml_process_1 85
3063 #define S_surfxml_process_2 86
3064 #define E_surfxml_process 87
3065 #define AL_surfxml_argument 88
3066 #define E_surfxml_argument 89
3067 #define AL_surfxml_prop 90
3068 #define E_surfxml_prop 91
3069 #define IMPOSSIBLE 92
3071 #ifndef YY_NO_UNISTD_H
3072 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3073 * down here because we want the user's section 1 to have been scanned first.
3074 * The user has a chance to override it with an option.
3076 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3077 # ifndef __STRICT_ANSI__
3079 # include <process.h>
3082 # include <unistd.h>
3086 #ifndef YY_EXTRA_TYPE
3087 #define YY_EXTRA_TYPE void *
3090 static int yy_init_globals (void );
3092 /* Accessor methods to globals.
3093 These are made visible to non-reentrant scanners for convenience. */
3095 int surf_parse_lex_destroy (void );
3097 int surf_parse_get_debug (void );
3099 void surf_parse_set_debug (int debug_flag );
3101 YY_EXTRA_TYPE surf_parse_get_extra (void );
3103 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3105 FILE *surf_parse_get_in (void );
3107 void surf_parse_set_in (FILE * in_str );
3109 FILE *surf_parse_get_out (void );
3111 void surf_parse_set_out (FILE * out_str );
3113 int surf_parse_get_leng (void );
3115 char *surf_parse_get_text (void );
3117 int surf_parse_get_lineno (void );
3119 void surf_parse_set_lineno (int line_number );
3121 /* Macros after this point can all be overridden by user definitions in
3125 #ifndef YY_SKIP_YYWRAP
3127 extern "C" int surf_parse_wrap (void );
3129 extern int surf_parse_wrap (void );
3134 static void yy_flex_strncpy (char *,yyconst char *,int );
3137 #ifdef YY_NEED_STRLEN
3138 static int yy_flex_strlen (yyconst char * );
3144 static int yyinput (void );
3146 static int input (void );
3151 static int yy_start_stack_ptr = 0;
3152 static int yy_start_stack_depth = 0;
3153 static int *yy_start_stack = NULL;
3155 static void yy_push_state (int new_state );
3157 static void yy_pop_state (void );
3159 /* Amount of stuff to slurp up with each read. */
3160 #ifndef YY_READ_BUF_SIZE
3162 /* On IA-64, the buffer size is 16k, not 8k */
3163 #define YY_READ_BUF_SIZE 16384
3165 #define YY_READ_BUF_SIZE 8192
3166 #endif /* __ia64__ */
3169 /* Copy whatever the last rule matched to the standard output. */
3171 /* This used to be an fputs(), but since the string might contain NUL's,
3172 * we now use fwrite().
3174 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3177 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3178 * is returned in "result".
3181 #define YY_INPUT(buf,result,max_size) \
3182 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3186 for ( n = 0; n < max_size && \
3187 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3188 buf[n] = (char) c; \
3190 buf[n++] = (char) c; \
3191 if ( c == EOF && ferror( surf_parse_in ) ) \
3192 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3198 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3200 if( errno != EINTR) \
3202 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3206 clearerr(surf_parse_in); \
3213 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3214 * we don't want an extra ';' after the "return" because that will cause
3215 * some compilers to complain about unreachable statements.
3218 #define yyterminate() return YY_NULL
3221 /* Number of entries by which start-condition stack grows. */
3222 #ifndef YY_START_STACK_INCR
3223 #define YY_START_STACK_INCR 25
3226 /* Report a fatal error. */
3227 #ifndef YY_FATAL_ERROR
3228 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3231 /* end tables serialization structures and prototypes */
3233 /* Default declaration of generated scanner - a define so the user can
3234 * easily add parameters.
3237 #define YY_DECL_IS_OURS 1
3239 extern int surf_parse_lex (void);
3241 #define YY_DECL int surf_parse_lex (void)
3242 #endif /* !YY_DECL */
3244 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3247 #ifndef YY_USER_ACTION
3248 #define YY_USER_ACTION
3251 /* Code executed at the end of each rule. */
3253 #define YY_BREAK break;
3256 #define YY_RULE_SETUP \
3259 /** The main scanner function which does all the work.
3263 register yy_state_type yy_current_state;
3264 register char *yy_cp, *yy_bp;
3265 register int yy_act;
3267 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3269 reset_surfxml_parse_err_msg();
3270 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3271 assert(surfxml_bufferstack);
3275 for (i = 0; i < blimit; i++) {
3276 surfxml_bufferstack[i] = '\377';
3280 surfxml_bufferstack[0] = '\0';
3281 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3287 surfxml_bufferliteral('\0', &bnext, "0.0");
3288 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3289 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3290 surfxml_bufferliteral('\0', &bnext, "1.0");
3291 surfxml_bufferliteral('\0', &bnext, "1.0");
3292 surfxml_bufferliteral('\0', &bnext, "1.0");
3293 surfxml_bufferliteral('\0', &bnext, "1.0");
3294 surfxml_bufferliteral('\0', &bnext, "-1.0");
3295 surfxml_bufferliteral('\0', &bnext, "0 0 0");
3296 surfxml_bufferliteral('\0', &bnext, "0.0");
3297 surfxml_bufferliteral('\0', &bnext, "-1.0");
3298 surfxml_bufferliteral('\0', &bnext, "-1.0");
3299 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3300 surfxml_statenames[PROLOG] = NULL;
3301 surfxml_statenames[DOCTYPE] = NULL;
3302 surfxml_statenames[EPILOG] = NULL;
3303 surfxml_statenames[INCOMMENT] = NULL;
3304 surfxml_statenames[INPI] = NULL;
3305 surfxml_statenames[VALUE1] = NULL;
3306 surfxml_statenames[VALUE2] = NULL;
3307 surfxml_statenames[CDATA] = NULL;
3308 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3309 surfxml_statenames[AL_surfxml_platform] = NULL;
3310 surfxml_statenames[S_surfxml_platform] = "platform";
3311 surfxml_statenames[S_surfxml_platform_1] = "platform";
3312 surfxml_statenames[S_surfxml_platform_2] = "platform";
3313 surfxml_statenames[S_surfxml_platform_3] = "platform";
3314 surfxml_statenames[S_surfxml_platform_4] = "platform";
3315 surfxml_statenames[S_surfxml_platform_5] = "platform";
3316 surfxml_statenames[S_surfxml_platform_6] = "platform";
3317 surfxml_statenames[S_surfxml_platform_7] = "platform";
3318 surfxml_statenames[S_surfxml_platform_8] = "platform";
3319 surfxml_statenames[E_surfxml_platform] = "platform";
3320 surfxml_statenames[AL_surfxml_trace] = NULL;
3321 surfxml_statenames[IN_trace] = "trace";
3322 surfxml_statenames[AL_surfxml_random] = NULL;
3323 surfxml_statenames[S_surfxml_random] = "random";
3324 surfxml_statenames[S_surfxml_random_1] = "random";
3325 surfxml_statenames[S_surfxml_random_2] = "random";
3326 surfxml_statenames[E_surfxml_random] = "random";
3327 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3328 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3329 surfxml_statenames[AL_surfxml_AS] = NULL;
3330 surfxml_statenames[S_surfxml_AS] = "AS";
3331 surfxml_statenames[S_surfxml_AS_1] = "AS";
3332 surfxml_statenames[S_surfxml_AS_2] = "AS";
3333 surfxml_statenames[S_surfxml_AS_3] = "AS";
3334 surfxml_statenames[S_surfxml_AS_4] = "AS";
3335 surfxml_statenames[S_surfxml_AS_5] = "AS";
3336 surfxml_statenames[S_surfxml_AS_6] = "AS";
3337 surfxml_statenames[S_surfxml_AS_7] = "AS";
3338 surfxml_statenames[S_surfxml_AS_8] = "AS";
3339 surfxml_statenames[S_surfxml_AS_9] = "AS";
3340 surfxml_statenames[S_surfxml_AS_10] = "AS";
3341 surfxml_statenames[S_surfxml_AS_11] = "AS";
3342 surfxml_statenames[S_surfxml_AS_12] = "AS";
3343 surfxml_statenames[S_surfxml_AS_13] = "AS";
3344 surfxml_statenames[S_surfxml_AS_14] = "AS";
3345 surfxml_statenames[S_surfxml_AS_15] = "AS";
3346 surfxml_statenames[S_surfxml_AS_16] = "AS";
3347 surfxml_statenames[S_surfxml_AS_17] = "AS";
3348 surfxml_statenames[S_surfxml_AS_18] = "AS";
3349 surfxml_statenames[S_surfxml_AS_19] = "AS";
3350 surfxml_statenames[E_surfxml_AS] = "AS";
3351 surfxml_statenames[AL_surfxml_host] = NULL;
3352 surfxml_statenames[S_surfxml_host] = "host";
3353 surfxml_statenames[S_surfxml_host_1] = "host";
3354 surfxml_statenames[S_surfxml_host_2] = "host";
3355 surfxml_statenames[E_surfxml_host] = "host";
3356 surfxml_statenames[AL_surfxml_cluster] = NULL;
3357 surfxml_statenames[E_surfxml_cluster] = "cluster";
3358 surfxml_statenames[AL_surfxml_router] = NULL;
3359 surfxml_statenames[E_surfxml_router] = "router";
3360 surfxml_statenames[AL_surfxml_link] = NULL;
3361 surfxml_statenames[S_surfxml_link] = "link";
3362 surfxml_statenames[S_surfxml_link_1] = "link";
3363 surfxml_statenames[S_surfxml_link_2] = "link";
3364 surfxml_statenames[E_surfxml_link] = "link";
3365 surfxml_statenames[AL_surfxml_route] = NULL;
3366 surfxml_statenames[S_surfxml_route] = "route";
3367 surfxml_statenames[S_surfxml_route_1] = "route";
3368 surfxml_statenames[S_surfxml_route_2] = "route";
3369 surfxml_statenames[E_surfxml_route] = "route";
3370 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3371 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3372 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3373 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3374 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3375 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3376 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3377 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3378 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3379 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3380 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3381 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3382 surfxml_statenames[AL_surfxml_process] = NULL;
3383 surfxml_statenames[S_surfxml_process] = "process";
3384 surfxml_statenames[S_surfxml_process_1] = "process";
3385 surfxml_statenames[S_surfxml_process_2] = "process";
3386 surfxml_statenames[E_surfxml_process] = "process";
3387 surfxml_statenames[AL_surfxml_argument] = NULL;
3388 surfxml_statenames[E_surfxml_argument] = "argument";
3389 surfxml_statenames[AL_surfxml_prop] = NULL;
3390 surfxml_statenames[E_surfxml_prop] = "prop";
3393 /* COMMENTS and PIs: handled uniformly for efficiency. */
3404 (yy_start) = 1; /* first start state */
3406 if ( ! surf_parse_in )
3407 surf_parse_in = stdin;
3409 if ( ! surf_parse_out )
3410 surf_parse_out = stdout;
3412 if ( ! YY_CURRENT_BUFFER ) {
3413 surf_parse_ensure_buffer_stack ();
3414 YY_CURRENT_BUFFER_LVALUE =
3415 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3418 surf_parse__load_buffer_state( );
3421 while ( 1 ) /* loops until end-of-file is reached */
3423 yy_cp = (yy_c_buf_p);
3425 /* Support of surf_parse_text. */
3426 *yy_cp = (yy_hold_char);
3428 /* yy_bp points to the position in yy_ch_buf of the start of
3433 yy_current_state = (yy_start);
3437 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3438 if ( yy_accept[yy_current_state] )
3440 (yy_last_accepting_state) = yy_current_state;
3441 (yy_last_accepting_cpos) = yy_cp;
3443 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3445 yy_current_state = (int) yy_def[yy_current_state];
3446 if ( yy_current_state >= 1857 )
3447 yy_c = yy_meta[(unsigned int) yy_c];
3449 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3452 while ( yy_base[yy_current_state] != 6550 );
3455 yy_act = yy_accept[yy_current_state];
3457 { /* have to back up */
3458 yy_cp = (yy_last_accepting_cpos);
3459 yy_current_state = (yy_last_accepting_state);
3460 yy_act = yy_accept[yy_current_state];
3463 YY_DO_BEFORE_ACTION;
3465 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3468 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3469 if ( surf_parse_text[yyl] == '\n' )
3471 surf_parse_lineno++;
3475 do_action: /* This label is used only to access EOF actions. */
3478 { /* beginning of action switch */
3479 case 0: /* must back up */
3480 /* undo the effects of YY_DO_BEFORE_ACTION */
3481 *yy_cp = (yy_hold_char);
3482 yy_cp = (yy_last_accepting_cpos);
3483 yy_current_state = (yy_last_accepting_state);
3484 goto yy_find_action;
3502 /* rule 6 can match eol */
3506 case YY_STATE_EOF(INCOMMENT):
3507 FAIL("EOF in comment.");
3516 /* rule 9 can match eol */
3520 case YY_STATE_EOF(INPI):
3521 FAIL("EOF in PI (processing instruction).");
3524 /* SPACES: skipped uniformly */
3526 /* rule 10 can match eol */
3530 /* PROLOG: determine root element and process it. */
3533 /* rule 11 can match eol */
3538 /* rule 12 can match eol */
3540 FAIL("Bad declaration %s.",surf_parse_text);
3544 /* rule 13 can match eol */
3546 SET(ROOT_surfxml_platform);
3549 /* rule 14 can match eol */
3551 FAIL("Bad declaration %s.",surf_parse_text);
3555 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3557 case YY_STATE_EOF(PROLOG):
3558 case YY_STATE_EOF(DOCTYPE):
3559 FAIL("EOF in prolog.");
3562 /* RULES DERIVED FROM DTD. */
3563 /* <!-- Small DTD for SURF based tools. --> */
3565 /* rule 16 can match eol */
3567 FAIL("Starting tag <platform> is not allowed here.");
3570 /* rule 17 can match eol */
3573 AX_surfxml_platform_version = 1;
3574 AX_surfxml_platform_xmlns_c_link = 5;
3575 AX_surfxml_platform_xmlns_c_route = 37;
3576 ENTER(AL_surfxml_platform); pushbuffer(0);
3581 /* rule 18 can match eol */
3583 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3586 /* rule 19 can match eol */
3588 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3591 /* rule 20 can match eol */
3593 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3596 /* rule 21 can match eol */
3598 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3601 /* rule 22 can match eol */
3603 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3606 /* rule 23 can match eol */
3608 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3613 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3619 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3621 case ROOT_surfxml_platform: SET(EPILOG); break;
3627 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3631 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3633 case YY_STATE_EOF(AL_surfxml_platform):
3634 FAIL("EOF in attribute list of `platform' element.");
3638 /* rule 28 can match eol */
3642 ETag_surfxml_platform();
3643 popbuffer(); /* attribute */
3645 case ROOT_surfxml_platform: SET(EPILOG); break;
3650 /* rule 29 can match eol */
3652 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3656 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3658 case YY_STATE_EOF(S_surfxml_platform_8):
3659 case YY_STATE_EOF(S_surfxml_platform_1):
3660 case YY_STATE_EOF(S_surfxml_platform_3):
3661 case YY_STATE_EOF(S_surfxml_platform):
3662 case YY_STATE_EOF(S_surfxml_platform_4):
3663 case YY_STATE_EOF(S_surfxml_platform_6):
3664 case YY_STATE_EOF(E_surfxml_platform):
3665 FAIL("Premature EOF: `</platform>' expected.");
3669 /* rule 31 can match eol */
3671 FAIL("Starting tag <trace> is not allowed here.");
3674 /* rule 32 can match eol */
3677 AX_surfxml_trace_id = 0;
3678 AX_surfxml_trace_file = 0;
3679 AX_surfxml_trace_periodicity = 0;
3680 ENTER(AL_surfxml_trace); pushbuffer(0);
3685 /* rule 33 can match eol */
3687 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3690 /* rule 34 can match eol */
3692 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3695 /* rule 35 can match eol */
3697 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3700 /* rule 36 can match eol */
3702 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3705 /* rule 37 can match eol */
3707 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3710 /* rule 38 can match eol */
3712 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3717 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3718 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3719 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3725 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3726 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3727 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3729 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3730 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3736 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3740 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3742 case YY_STATE_EOF(AL_surfxml_trace):
3743 FAIL("EOF in attribute list of `trace' element.");
3747 /* rule 43 can match eol */
3752 ETag_surfxml_trace();
3753 surfxml_pcdata_ix = popbuffer();
3754 popbuffer(); /* attribute */
3756 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3757 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3762 /* rule 44 can match eol */
3764 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3766 case YY_STATE_EOF(IN_trace):
3767 FAIL("Premature EOF: `</trace>' expected.");
3771 /* rule 45 can match eol */
3773 FAIL("Starting tag <random> is not allowed here.");
3776 /* rule 46 can match eol */
3779 AX_surfxml_random_id = 0;
3780 AX_surfxml_random_min = 0;
3781 AX_surfxml_random_max = 0;
3782 AX_surfxml_random_mean = 0;
3783 AX_surfxml_random_std_deviation = 0;
3784 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3785 ENTER(AL_surfxml_random); pushbuffer(0);
3790 /* rule 47 can match eol */
3792 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3795 /* rule 48 can match eol */
3797 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3800 /* rule 49 can match eol */
3802 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3805 /* rule 50 can match eol */
3807 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3810 /* rule 51 can match eol */
3812 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3815 /* rule 52 can match eol */
3817 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3820 /* rule 53 can match eol */
3822 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3825 /* rule 54 can match eol */
3827 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3830 /* rule 55 can match eol */
3832 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
3835 /* rule 56 can match eol */
3837 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
3840 /* rule 57 can match eol */
3842 /* rule 58 can match eol */
3844 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3847 /* rule 59 can match eol */
3849 /* rule 60 can match eol */
3851 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
3856 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3857 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3858 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3859 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3860 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3861 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
3867 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3868 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3869 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3870 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3871 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3872 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
3874 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3875 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3881 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
3885 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
3887 case YY_STATE_EOF(AL_surfxml_random):
3888 FAIL("EOF in attribute list of `random' element.");
3892 /* rule 65 can match eol */
3896 ETag_surfxml_random();
3897 popbuffer(); /* attribute */
3899 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3900 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3905 /* rule 66 can match eol */
3907 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
3911 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
3913 case YY_STATE_EOF(S_surfxml_random):
3914 case YY_STATE_EOF(S_surfxml_random_2):
3915 case YY_STATE_EOF(E_surfxml_random):
3916 FAIL("Premature EOF: `</random>' expected.");
3920 /* rule 68 can match eol */
3922 FAIL("Starting tag <trace:connect> is not allowed here.");
3925 /* rule 69 can match eol */
3928 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
3929 AX_surfxml_trace_c_connect_trace = 0;
3930 AX_surfxml_trace_c_connect_element = 0;
3931 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
3936 /* rule 70 can match eol */
3938 /* rule 71 can match eol */
3940 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
3943 /* rule 72 can match eol */
3945 /* rule 73 can match eol */
3947 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
3950 /* rule 74 can match eol */
3952 /* rule 75 can match eol */
3954 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
3957 /* rule 76 can match eol */
3959 /* rule 77 can match eol */
3961 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
3964 /* rule 78 can match eol */
3966 /* rule 79 can match eol */
3968 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
3971 /* rule 80 can match eol */
3973 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
3976 /* rule 81 can match eol */
3978 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
3981 /* rule 82 can match eol */
3983 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
3986 /* rule 83 can match eol */
3988 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
3993 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
3994 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
3995 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4001 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4002 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4003 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4005 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4006 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4007 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4013 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4017 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4019 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4020 FAIL("EOF in attribute list of `trace:connect' element.");
4024 /* rule 88 can match eol */
4028 ETag_surfxml_trace_c_connect();
4029 popbuffer(); /* attribute */
4031 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4032 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4033 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4038 /* rule 89 can match eol */
4040 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4044 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4046 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4047 FAIL("Premature EOF: `</trace:connect>' expected.");
4051 /* rule 91 can match eol */
4053 FAIL("Starting tag <AS> is not allowed here.");
4056 /* rule 92 can match eol */
4059 AX_surfxml_AS_id = 0;
4060 AX_surfxml_AS_routing = 0;
4061 ENTER(AL_surfxml_AS); pushbuffer(0);
4066 /* rule 93 can match eol */
4068 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4071 /* rule 94 can match eol */
4073 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4076 /* rule 95 can match eol */
4078 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4081 /* rule 96 can match eol */
4083 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4088 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4089 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4090 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4096 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4097 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4098 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4100 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4101 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4102 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4108 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4112 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4114 case YY_STATE_EOF(AL_surfxml_AS):
4115 FAIL("EOF in attribute list of `AS' element.");
4119 /* rule 101 can match eol */
4124 popbuffer(); /* attribute */
4126 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4127 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4128 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4133 /* rule 102 can match eol */
4135 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4139 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4141 case YY_STATE_EOF(S_surfxml_AS_15):
4142 case YY_STATE_EOF(S_surfxml_AS_12):
4143 case YY_STATE_EOF(S_surfxml_AS_9):
4144 case YY_STATE_EOF(S_surfxml_AS_1):
4145 case YY_STATE_EOF(S_surfxml_AS_7):
4146 case YY_STATE_EOF(S_surfxml_AS_11):
4147 case YY_STATE_EOF(S_surfxml_AS_14):
4148 case YY_STATE_EOF(S_surfxml_AS_6):
4149 case YY_STATE_EOF(S_surfxml_AS_19):
4150 case YY_STATE_EOF(E_surfxml_AS):
4151 case YY_STATE_EOF(S_surfxml_AS_3):
4152 case YY_STATE_EOF(S_surfxml_AS_17):
4153 case YY_STATE_EOF(S_surfxml_AS):
4154 case YY_STATE_EOF(S_surfxml_AS_4):
4155 FAIL("Premature EOF: `</AS>' expected.");
4159 /* rule 104 can match eol */
4161 FAIL("Starting tag <host> is not allowed here.");
4164 /* rule 105 can match eol */
4167 AX_surfxml_host_id = 0;
4168 AX_surfxml_host_power = 0;
4169 AX_surfxml_host_availability = 69;
4170 AX_surfxml_host_availability_file = 0;
4171 AX_surfxml_host_state = A_surfxml_host_state_ON;
4172 AX_surfxml_host_state_file = 0;
4173 AX_surfxml_host_interference_send = 73;
4174 AX_surfxml_host_interference_recv = 77;
4175 AX_surfxml_host_interference_send_recv = 81;
4176 AX_surfxml_host_max_outgoing_rate = 85;
4177 AX_surfxml_host_vivaldi = 90;
4178 ENTER(AL_surfxml_host); pushbuffer(0);
4183 /* rule 106 can match eol */
4185 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4188 /* rule 107 can match eol */
4190 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4193 /* rule 108 can match eol */
4195 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4198 /* rule 109 can match eol */
4200 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4203 /* rule 110 can match eol */
4205 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4208 /* rule 111 can match eol */
4210 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4213 /* rule 112 can match eol */
4215 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4218 /* rule 113 can match eol */
4220 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4223 /* rule 114 can match eol */
4225 /* rule 115 can match eol */
4227 A_surfxml_host_state = A_surfxml_host_state_ON;
4230 /* rule 116 can match eol */
4232 /* rule 117 can match eol */
4234 A_surfxml_host_state = A_surfxml_host_state_OFF;
4237 /* rule 118 can match eol */
4239 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4242 /* rule 119 can match eol */
4244 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4247 /* rule 120 can match eol */
4249 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4252 /* rule 121 can match eol */
4254 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4257 /* rule 122 can match eol */
4259 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4262 /* rule 123 can match eol */
4264 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4267 /* rule 124 can match eol */
4269 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4272 /* rule 125 can match eol */
4274 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4277 /* rule 126 can match eol */
4279 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4282 /* rule 127 can match eol */
4284 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4287 /* rule 128 can match eol */
4289 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_vivaldi);
4292 /* rule 129 can match eol */
4294 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_vivaldi);
4299 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4300 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4301 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4307 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4308 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4309 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4311 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4312 case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
4318 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4322 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4324 case YY_STATE_EOF(AL_surfxml_host):
4325 FAIL("EOF in attribute list of `host' element.");
4329 /* rule 134 can match eol */
4333 ETag_surfxml_host();
4334 popbuffer(); /* attribute */
4336 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4337 case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
4342 /* rule 135 can match eol */
4344 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4348 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4350 case YY_STATE_EOF(S_surfxml_host):
4351 case YY_STATE_EOF(E_surfxml_host):
4352 case YY_STATE_EOF(S_surfxml_host_2):
4353 FAIL("Premature EOF: `</host>' expected.");
4357 /* rule 137 can match eol */
4359 FAIL("Starting tag <cluster> is not allowed here.");
4362 /* rule 138 can match eol */
4365 AX_surfxml_cluster_id = 0;
4366 AX_surfxml_cluster_prefix = 0;
4367 AX_surfxml_cluster_suffix = 0;
4368 AX_surfxml_cluster_radical = 0;
4369 AX_surfxml_cluster_power = 0;
4370 AX_surfxml_cluster_bw = 0;
4371 AX_surfxml_cluster_lat = 0;
4372 AX_surfxml_cluster_bb_bw = 0;
4373 AX_surfxml_cluster_bb_lat = 0;
4374 ENTER(AL_surfxml_cluster); pushbuffer(0);
4379 /* rule 139 can match eol */
4381 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4384 /* rule 140 can match eol */
4386 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4389 /* rule 141 can match eol */
4391 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4394 /* rule 142 can match eol */
4396 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4399 /* rule 143 can match eol */
4401 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4404 /* rule 144 can match eol */
4406 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4409 /* rule 145 can match eol */
4411 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4414 /* rule 146 can match eol */
4416 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4419 /* rule 147 can match eol */
4421 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4424 /* rule 148 can match eol */
4426 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4429 /* rule 149 can match eol */
4431 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4434 /* rule 150 can match eol */
4436 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4439 /* rule 151 can match eol */
4441 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4444 /* rule 152 can match eol */
4446 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4449 /* rule 153 can match eol */
4451 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4454 /* rule 154 can match eol */
4456 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4459 /* rule 155 can match eol */
4461 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4464 /* rule 156 can match eol */
4466 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4471 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4472 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4473 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4474 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4475 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4476 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4477 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4478 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4479 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4480 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4486 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4487 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4488 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4489 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4490 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4491 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4492 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4493 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4494 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4495 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4497 case S_surfxml_AS_12: case S_surfxml_AS_14: case S_surfxml_AS_16: case S_surfxml_AS_17: case S_surfxml_AS: SET(S_surfxml_AS_17); break;
4498 case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4499 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4500 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4506 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4510 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4512 case YY_STATE_EOF(AL_surfxml_cluster):
4513 FAIL("EOF in attribute list of `cluster' element.");
4517 /* rule 161 can match eol */
4521 ETag_surfxml_cluster();
4522 popbuffer(); /* attribute */
4524 case S_surfxml_AS_12: case S_surfxml_AS_14: case S_surfxml_AS_16: case S_surfxml_AS_17: case S_surfxml_AS: SET(S_surfxml_AS_17); break;
4525 case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4526 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4527 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4532 /* rule 162 can match eol */
4534 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4538 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4540 case YY_STATE_EOF(E_surfxml_cluster):
4541 FAIL("Premature EOF: `</cluster>' expected.");
4545 /* rule 164 can match eol */
4547 FAIL("Starting tag <router> is not allowed here.");
4550 /* rule 165 can match eol */
4553 AX_surfxml_router_id = 0;
4554 ENTER(AL_surfxml_router); pushbuffer(0);
4559 /* rule 166 can match eol */
4561 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4564 /* rule 167 can match eol */
4566 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4571 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4572 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4578 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4579 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4581 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4582 case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
4588 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4592 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4594 case YY_STATE_EOF(AL_surfxml_router):
4595 FAIL("EOF in attribute list of `router' element.");
4599 /* rule 172 can match eol */
4603 ETag_surfxml_router();
4604 popbuffer(); /* attribute */
4606 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4607 case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
4612 /* rule 173 can match eol */
4614 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4618 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4620 case YY_STATE_EOF(E_surfxml_router):
4621 FAIL("Premature EOF: `</router>' expected.");
4625 /* rule 175 can match eol */
4627 FAIL("Starting tag <link> is not allowed here.");
4630 /* rule 176 can match eol */
4633 AX_surfxml_link_id = 0;
4634 AX_surfxml_link_bandwidth = 0;
4635 AX_surfxml_link_bandwidth_file = 0;
4636 AX_surfxml_link_latency = 96;
4637 AX_surfxml_link_latency_file = 0;
4638 AX_surfxml_link_state = A_surfxml_link_state_ON;
4639 AX_surfxml_link_state_file = 0;
4640 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4641 ENTER(AL_surfxml_link); pushbuffer(0);
4646 /* rule 177 can match eol */
4648 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4651 /* rule 178 can match eol */
4653 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4656 /* rule 179 can match eol */
4658 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4661 /* rule 180 can match eol */
4663 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4666 /* rule 181 can match eol */
4668 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4671 /* rule 182 can match eol */
4673 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
4676 /* rule 183 can match eol */
4678 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
4681 /* rule 184 can match eol */
4683 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
4686 /* rule 185 can match eol */
4688 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
4691 /* rule 186 can match eol */
4693 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
4696 /* rule 187 can match eol */
4698 /* rule 188 can match eol */
4700 A_surfxml_link_state = A_surfxml_link_state_ON;
4703 /* rule 189 can match eol */
4705 /* rule 190 can match eol */
4707 A_surfxml_link_state = A_surfxml_link_state_OFF;
4710 /* rule 191 can match eol */
4712 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
4715 /* rule 192 can match eol */
4717 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
4720 /* rule 193 can match eol */
4722 /* rule 194 can match eol */
4724 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4727 /* rule 195 can match eol */
4729 /* rule 196 can match eol */
4731 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4736 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4737 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4738 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
4744 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4745 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4746 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
4748 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4749 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4750 case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
4756 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
4760 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
4762 case YY_STATE_EOF(AL_surfxml_link):
4763 FAIL("EOF in attribute list of `link' element.");
4767 /* rule 201 can match eol */
4771 ETag_surfxml_link();
4772 popbuffer(); /* attribute */
4774 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4775 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4776 case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
4781 /* rule 202 can match eol */
4783 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
4787 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
4789 case YY_STATE_EOF(E_surfxml_link):
4790 case YY_STATE_EOF(S_surfxml_link_2):
4791 case YY_STATE_EOF(S_surfxml_link):
4792 FAIL("Premature EOF: `</link>' expected.");
4796 /* rule 204 can match eol */
4798 FAIL("Starting tag <route> is not allowed here.");
4801 /* rule 205 can match eol */
4804 AX_surfxml_route_src = 0;
4805 AX_surfxml_route_dst = 0;
4806 ENTER(AL_surfxml_route); pushbuffer(0);
4811 /* rule 206 can match eol */
4813 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
4816 /* rule 207 can match eol */
4818 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
4821 /* rule 208 can match eol */
4823 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
4826 /* rule 209 can match eol */
4828 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
4833 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4834 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4835 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
4841 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4842 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4843 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
4845 case S_surfxml_AS_15: case S_surfxml_AS_12: case S_surfxml_AS_18: case S_surfxml_AS_14: case S_surfxml_AS_19: case S_surfxml_AS_17: case S_surfxml_AS: SET(S_surfxml_AS_19); break;
4846 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4852 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
4856 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
4858 case YY_STATE_EOF(AL_surfxml_route):
4859 FAIL("EOF in attribute list of `route' element.");
4863 /* rule 214 can match eol */
4867 ETag_surfxml_route();
4868 popbuffer(); /* attribute */
4870 case S_surfxml_AS_15: case S_surfxml_AS_12: case S_surfxml_AS_18: case S_surfxml_AS_14: case S_surfxml_AS_19: case S_surfxml_AS_17: case S_surfxml_AS: SET(S_surfxml_AS_19); break;
4871 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4876 /* rule 215 can match eol */
4878 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
4882 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
4884 case YY_STATE_EOF(S_surfxml_route):
4885 case YY_STATE_EOF(S_surfxml_route_2):
4886 case YY_STATE_EOF(E_surfxml_route):
4887 FAIL("Premature EOF: `</route>' expected.");
4891 /* rule 217 can match eol */
4893 FAIL("Starting tag <ASroute> is not allowed here.");
4896 /* rule 218 can match eol */
4899 AX_surfxml_ASroute_src = 0;
4900 AX_surfxml_ASroute_dst = 0;
4901 AX_surfxml_ASroute_gw_src = 0;
4902 AX_surfxml_ASroute_gw_dst = 0;
4903 ENTER(AL_surfxml_ASroute); pushbuffer(0);
4908 /* rule 219 can match eol */
4910 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
4913 /* rule 220 can match eol */
4915 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
4918 /* rule 221 can match eol */
4920 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
4923 /* rule 222 can match eol */
4925 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
4928 /* rule 223 can match eol */
4930 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
4933 /* rule 224 can match eol */
4935 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
4938 /* rule 225 can match eol */
4940 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
4943 /* rule 226 can match eol */
4945 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
4950 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
4951 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
4952 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
4953 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
4954 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
4960 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
4961 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
4962 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
4963 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
4964 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
4966 case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: SET(S_surfxml_AS_9); break;
4972 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
4976 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
4978 case YY_STATE_EOF(AL_surfxml_ASroute):
4979 FAIL("EOF in attribute list of `ASroute' element.");
4983 /* rule 231 can match eol */
4987 ETag_surfxml_ASroute();
4988 popbuffer(); /* attribute */
4990 case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: SET(S_surfxml_AS_9); break;
4995 /* rule 232 can match eol */
4997 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5001 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5003 case YY_STATE_EOF(E_surfxml_ASroute):
5004 case YY_STATE_EOF(S_surfxml_ASroute):
5005 case YY_STATE_EOF(S_surfxml_ASroute_2):
5006 FAIL("Premature EOF: `</ASroute>' expected.");
5010 /* rule 234 can match eol */
5012 FAIL("Starting tag <link:ctn> is not allowed here.");
5015 /* rule 235 can match eol */
5018 AX_surfxml_link_c_ctn_id = 0;
5019 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5024 /* rule 236 can match eol */
5026 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5029 /* rule 237 can match eol */
5031 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5036 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5037 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5043 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5044 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5046 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5047 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5048 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5054 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5058 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5060 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5061 FAIL("EOF in attribute list of `link:ctn' element.");
5065 /* rule 242 can match eol */
5069 ETag_surfxml_link_c_ctn();
5070 popbuffer(); /* attribute */
5072 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5073 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5074 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5079 /* rule 243 can match eol */
5081 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5085 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5087 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5088 FAIL("Premature EOF: `</link:ctn>' expected.");
5092 /* rule 245 can match eol */
5094 FAIL("Starting tag <bypassRoute> is not allowed here.");
5097 /* rule 246 can match eol */
5100 AX_surfxml_bypassRoute_src = 0;
5101 AX_surfxml_bypassRoute_dst = 0;
5102 AX_surfxml_bypassRoute_gw_src = 0;
5103 AX_surfxml_bypassRoute_gw_dst = 0;
5104 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5109 /* rule 247 can match eol */
5111 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5114 /* rule 248 can match eol */
5116 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5119 /* rule 249 can match eol */
5121 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5124 /* rule 250 can match eol */
5126 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5129 /* rule 251 can match eol */
5131 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5134 /* rule 252 can match eol */
5136 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5139 /* rule 253 can match eol */
5141 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5144 /* rule 254 can match eol */
5146 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5151 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5152 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5153 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5154 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5155 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5161 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5162 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5163 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5164 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5165 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5167 case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_7: case S_surfxml_AS_11: case S_surfxml_AS_6: case S_surfxml_AS_10: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_4: SET(S_surfxml_AS_11); break;
5173 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5177 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5179 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5180 FAIL("EOF in attribute list of `bypassRoute' element.");
5184 /* rule 259 can match eol */
5188 ETag_surfxml_bypassRoute();
5189 popbuffer(); /* attribute */
5191 case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_7: case S_surfxml_AS_11: case S_surfxml_AS_6: case S_surfxml_AS_10: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_4: SET(S_surfxml_AS_11); break;
5196 /* rule 260 can match eol */
5198 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5202 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5204 case YY_STATE_EOF(S_surfxml_bypassRoute):
5205 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5206 case YY_STATE_EOF(E_surfxml_bypassRoute):
5207 FAIL("Premature EOF: `</bypassRoute>' expected.");
5211 /* rule 262 can match eol */
5213 FAIL("Starting tag <process> is not allowed here.");
5216 /* rule 263 can match eol */
5219 AX_surfxml_process_host = 0;
5220 AX_surfxml_process_function = 0;
5221 AX_surfxml_process_start_time = 100;
5222 AX_surfxml_process_kill_time = 105;
5223 ENTER(AL_surfxml_process); pushbuffer(0);
5228 /* rule 264 can match eol */
5230 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5233 /* rule 265 can match eol */
5235 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5238 /* rule 266 can match eol */
5240 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5243 /* rule 267 can match eol */
5245 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5248 /* rule 268 can match eol */
5250 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5253 /* rule 269 can match eol */
5255 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5258 /* rule 270 can match eol */
5260 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5263 /* rule 271 can match eol */
5265 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5270 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5271 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5272 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5278 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5279 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5280 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5282 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
5288 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5292 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5294 case YY_STATE_EOF(AL_surfxml_process):
5295 FAIL("EOF in attribute list of `process' element.");
5299 /* rule 276 can match eol */
5303 ETag_surfxml_process();
5304 popbuffer(); /* attribute */
5306 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
5311 /* rule 277 can match eol */
5313 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5317 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5319 case YY_STATE_EOF(E_surfxml_process):
5320 case YY_STATE_EOF(S_surfxml_process):
5321 case YY_STATE_EOF(S_surfxml_process_2):
5322 FAIL("Premature EOF: `</process>' expected.");
5326 /* rule 279 can match eol */
5328 FAIL("Starting tag <argument> is not allowed here.");
5331 /* rule 280 can match eol */
5334 AX_surfxml_argument_value = 0;
5335 ENTER(AL_surfxml_argument); pushbuffer(0);
5340 /* rule 281 can match eol */
5342 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5345 /* rule 282 can match eol */
5347 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5352 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5353 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5359 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5360 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5362 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5368 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5372 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5374 case YY_STATE_EOF(AL_surfxml_argument):
5375 FAIL("EOF in attribute list of `argument' element.");
5379 /* rule 287 can match eol */
5383 ETag_surfxml_argument();
5384 popbuffer(); /* attribute */
5386 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5391 /* rule 288 can match eol */
5393 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5397 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5399 case YY_STATE_EOF(E_surfxml_argument):
5400 FAIL("Premature EOF: `</argument>' expected.");
5403 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
5404 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
5406 /* rule 290 can match eol */
5408 FAIL("Starting tag <prop> is not allowed here.");
5411 /* rule 291 can match eol */
5414 AX_surfxml_prop_id = 0;
5415 AX_surfxml_prop_value = 0;
5416 ENTER(AL_surfxml_prop); pushbuffer(0);
5421 /* rule 292 can match eol */
5423 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
5426 /* rule 293 can match eol */
5428 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
5431 /* rule 294 can match eol */
5433 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
5436 /* rule 295 can match eol */
5438 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
5443 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5444 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5445 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
5451 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5452 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5453 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
5455 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5456 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5457 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
5458 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5464 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
5468 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
5470 case YY_STATE_EOF(AL_surfxml_prop):
5471 FAIL("EOF in attribute list of `prop' element.");
5475 /* rule 300 can match eol */
5479 ETag_surfxml_prop();
5480 popbuffer(); /* attribute */
5482 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5483 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5484 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
5485 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5490 /* rule 301 can match eol */
5492 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
5496 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
5498 case YY_STATE_EOF(E_surfxml_prop):
5499 FAIL("Premature EOF: `</prop>' expected.");
5502 /* EPILOG: after the root element. */
5506 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5508 case YY_STATE_EOF(EPILOG):
5512 /* CHARACTER DATA. */
5514 /* Non-defined standard entities... */
5535 /* Character entities. */
5538 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5542 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5546 /* rule 311 can match eol */
5548 /* rule 312 can match eol */
5550 /* rule 313 can match eol */
5552 /* rule 314 can match eol */
5563 FAIL("Unexpected `]""]>' in character data.");
5570 case YY_STATE_EOF(VALUE1):
5571 FAIL("EOF in literal (\"'\" expected).");
5578 case YY_STATE_EOF(VALUE2):
5579 FAIL("EOF in literal (`\"' expected).");
5583 /* rule 319 can match eol */
5585 BUFFERPUTC(surf_parse_text[0]);
5589 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5596 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5599 BUFFERPUTC(surf_parse_text[0]);
5601 case YY_STATE_EOF(CDATA):
5602 FAIL("EOF in CDATA section.");
5605 /* Impossible rules to avoid warnings from flex(1). */
5606 /* Ideally, this should be replaced by code in flexml.pl that
5607 generates just the states not covered by other rules. */
5610 /* rule 323 can match eol */
5612 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5619 case YY_STATE_EOF(INITIAL):
5620 case YY_STATE_EOF(ROOT_surfxml_platform):
5621 case YY_STATE_EOF(S_surfxml_platform_2):
5622 case YY_STATE_EOF(S_surfxml_platform_5):
5623 case YY_STATE_EOF(S_surfxml_platform_7):
5624 case YY_STATE_EOF(S_surfxml_random_1):
5625 case YY_STATE_EOF(S_surfxml_AS_2):
5626 case YY_STATE_EOF(S_surfxml_AS_5):
5627 case YY_STATE_EOF(S_surfxml_AS_8):
5628 case YY_STATE_EOF(S_surfxml_AS_10):
5629 case YY_STATE_EOF(S_surfxml_AS_13):
5630 case YY_STATE_EOF(S_surfxml_AS_16):
5631 case YY_STATE_EOF(S_surfxml_AS_18):
5632 case YY_STATE_EOF(S_surfxml_host_1):
5633 case YY_STATE_EOF(S_surfxml_link_1):
5634 case YY_STATE_EOF(S_surfxml_route_1):
5635 case YY_STATE_EOF(S_surfxml_ASroute_1):
5636 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
5637 case YY_STATE_EOF(S_surfxml_process_1):
5638 case YY_STATE_EOF(IMPOSSIBLE):
5641 case YY_END_OF_BUFFER:
5643 /* Amount of text matched not including the EOB char. */
5644 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5646 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5647 *yy_cp = (yy_hold_char);
5648 YY_RESTORE_YY_MORE_OFFSET
5650 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5652 /* We're scanning a new file or input source. It's
5653 * possible that this happened because the user
5654 * just pointed surf_parse_in at a new source and called
5655 * surf_parse_lex(). If so, then we have to assure
5656 * consistency between YY_CURRENT_BUFFER and our
5657 * globals. Here is the right place to do so, because
5658 * this is the first action (other than possibly a
5659 * back-up) that will match for the new input source.
5661 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5662 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5663 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5666 /* Note that here we test for yy_c_buf_p "<=" to the position
5667 * of the first EOB in the buffer, since yy_c_buf_p will
5668 * already have been incremented past the NUL character
5669 * (since all states make transitions on EOB to the
5670 * end-of-buffer state). Contrast this with the test
5673 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5674 { /* This was really a NUL. */
5675 yy_state_type yy_next_state;
5677 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5679 yy_current_state = yy_get_previous_state( );
5681 /* Okay, we're now positioned to make the NUL
5682 * transition. We couldn't have
5683 * yy_get_previous_state() go ahead and do it
5684 * for us because it doesn't know how to deal
5685 * with the possibility of jamming (and we don't
5686 * want to build jamming into it because then it
5687 * will run more slowly).
5690 yy_next_state = yy_try_NUL_trans( yy_current_state );
5692 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5694 if ( yy_next_state )
5696 /* Consume the NUL. */
5697 yy_cp = ++(yy_c_buf_p);
5698 yy_current_state = yy_next_state;
5704 yy_cp = (yy_c_buf_p);
5705 goto yy_find_action;
5709 else switch ( yy_get_next_buffer( ) )
5711 case EOB_ACT_END_OF_FILE:
5713 (yy_did_buffer_switch_on_eof) = 0;
5715 if ( surf_parse_wrap( ) )
5717 /* Note: because we've taken care in
5718 * yy_get_next_buffer() to have set up
5719 * surf_parse_text, we can now set up
5720 * yy_c_buf_p so that if some total
5721 * hoser (like flex itself) wants to
5722 * call the scanner after we return the
5723 * YY_NULL, it'll still work - another
5724 * YY_NULL will get returned.
5726 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5728 yy_act = YY_STATE_EOF(YY_START);
5734 if ( ! (yy_did_buffer_switch_on_eof) )
5740 case EOB_ACT_CONTINUE_SCAN:
5742 (yytext_ptr) + yy_amount_of_matched_text;
5744 yy_current_state = yy_get_previous_state( );
5746 yy_cp = (yy_c_buf_p);
5747 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5750 case EOB_ACT_LAST_MATCH:
5752 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5754 yy_current_state = yy_get_previous_state( );
5756 yy_cp = (yy_c_buf_p);
5757 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5758 goto yy_find_action;
5765 "fatal flex scanner internal error--no action found" );
5766 } /* end of action switch */
5767 } /* end of scanning one token */
5768 } /* end of surf_parse_lex */
5770 /* yy_get_next_buffer - try to read in a new buffer
5772 * Returns a code representing an action:
5773 * EOB_ACT_LAST_MATCH -
5774 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5775 * EOB_ACT_END_OF_FILE - end of file
5777 static int yy_get_next_buffer (void)
5779 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5780 register char *source = (yytext_ptr);
5781 register int number_to_move, i;
5784 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5786 "fatal flex scanner internal error--end of buffer missed" );
5788 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5789 { /* Don't try to fill the buffer, so this is an EOF. */
5790 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5792 /* We matched a single character, the EOB, so
5793 * treat this as a final EOF.
5795 return EOB_ACT_END_OF_FILE;
5800 /* We matched some text prior to the EOB, first
5803 return EOB_ACT_LAST_MATCH;
5807 /* Try to read more data. */
5809 /* First move last chars to start of buffer. */
5810 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5812 for ( i = 0; i < number_to_move; ++i )
5813 *(dest++) = *(source++);
5815 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5816 /* don't do the read, it's not guaranteed to return an EOF,
5819 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5824 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5826 while ( num_to_read <= 0 )
5827 { /* Not enough room in the buffer - grow it. */
5829 /* just a shorter name for the current buffer */
5830 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5832 int yy_c_buf_p_offset =
5833 (int) ((yy_c_buf_p) - b->yy_ch_buf);
5835 if ( b->yy_is_our_buffer )
5837 int new_size = b->yy_buf_size * 2;
5839 if ( new_size <= 0 )
5840 b->yy_buf_size += b->yy_buf_size / 8;
5842 b->yy_buf_size *= 2;
5844 b->yy_ch_buf = (char *)
5845 /* Include room in for 2 EOB chars. */
5846 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
5849 /* Can't grow it, we don't own it. */
5852 if ( ! b->yy_ch_buf )
5854 "fatal error - scanner input buffer overflow" );
5856 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5858 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5863 if ( num_to_read > YY_READ_BUF_SIZE )
5864 num_to_read = YY_READ_BUF_SIZE;
5866 /* Read in more data. */
5867 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5868 (yy_n_chars), (size_t) num_to_read );
5870 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5873 if ( (yy_n_chars) == 0 )
5875 if ( number_to_move == YY_MORE_ADJ )
5877 ret_val = EOB_ACT_END_OF_FILE;
5878 surf_parse_restart(surf_parse_in );
5883 ret_val = EOB_ACT_LAST_MATCH;
5884 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
5885 YY_BUFFER_EOF_PENDING;
5890 ret_val = EOB_ACT_CONTINUE_SCAN;
5892 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
5893 /* Extend the array by 50%, plus the number we really need. */
5894 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5895 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
5896 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
5897 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
5900 (yy_n_chars) += number_to_move;
5901 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5902 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
5904 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5909 /* yy_get_previous_state - get the state just before the EOB char was reached */
5911 static yy_state_type yy_get_previous_state (void)
5913 register yy_state_type yy_current_state;
5914 register char *yy_cp;
5916 yy_current_state = (yy_start);
5918 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
5920 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5921 if ( yy_accept[yy_current_state] )
5923 (yy_last_accepting_state) = yy_current_state;
5924 (yy_last_accepting_cpos) = yy_cp;
5926 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5928 yy_current_state = (int) yy_def[yy_current_state];
5929 if ( yy_current_state >= 1857 )
5930 yy_c = yy_meta[(unsigned int) yy_c];
5932 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5935 return yy_current_state;
5938 /* yy_try_NUL_trans - try to make a transition on the NUL character
5941 * next_state = yy_try_NUL_trans( current_state );
5943 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
5945 register int yy_is_jam;
5946 register char *yy_cp = (yy_c_buf_p);
5948 register YY_CHAR yy_c = 1;
5949 if ( yy_accept[yy_current_state] )
5951 (yy_last_accepting_state) = yy_current_state;
5952 (yy_last_accepting_cpos) = yy_cp;
5954 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5956 yy_current_state = (int) yy_def[yy_current_state];
5957 if ( yy_current_state >= 1857 )
5958 yy_c = yy_meta[(unsigned int) yy_c];
5960 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5961 yy_is_jam = (yy_current_state == 1856);
5963 return yy_is_jam ? 0 : yy_current_state;
5968 static int yyinput (void)
5970 static int input (void)
5976 *(yy_c_buf_p) = (yy_hold_char);
5978 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
5980 /* yy_c_buf_p now points to the character we want to return.
5981 * If this occurs *before* the EOB characters, then it's a
5982 * valid NUL; if not, then we've hit the end of the buffer.
5984 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5985 /* This was really a NUL. */
5986 *(yy_c_buf_p) = '\0';
5989 { /* need more input */
5990 int offset = (yy_c_buf_p) - (yytext_ptr);
5993 switch ( yy_get_next_buffer( ) )
5995 case EOB_ACT_LAST_MATCH:
5996 /* This happens because yy_g_n_b()
5997 * sees that we've accumulated a
5998 * token and flags that we need to
5999 * try matching the token before
6000 * proceeding. But for input(),
6001 * there's no matching to consider.
6002 * So convert the EOB_ACT_LAST_MATCH
6003 * to EOB_ACT_END_OF_FILE.
6006 /* Reset buffer status. */
6007 surf_parse_restart(surf_parse_in );
6011 case EOB_ACT_END_OF_FILE:
6013 if ( surf_parse_wrap( ) )
6016 if ( ! (yy_did_buffer_switch_on_eof) )
6025 case EOB_ACT_CONTINUE_SCAN:
6026 (yy_c_buf_p) = (yytext_ptr) + offset;
6032 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6033 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6034 (yy_hold_char) = *++(yy_c_buf_p);
6038 surf_parse_lineno++;
6043 #endif /* ifndef YY_NO_INPUT */
6045 /** Immediately switch to a different input stream.
6046 * @param input_file A readable stream.
6048 * @note This function does not reset the start condition to @c INITIAL .
6050 void surf_parse_restart (FILE * input_file )
6053 if ( ! YY_CURRENT_BUFFER ){
6054 surf_parse_ensure_buffer_stack ();
6055 YY_CURRENT_BUFFER_LVALUE =
6056 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6059 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6060 surf_parse__load_buffer_state( );
6063 /** Switch to a different input buffer.
6064 * @param new_buffer The new input buffer.
6067 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6070 /* TODO. We should be able to replace this entire function body
6072 * surf_parse_pop_buffer_state();
6073 * surf_parse_push_buffer_state(new_buffer);
6075 surf_parse_ensure_buffer_stack ();
6076 if ( YY_CURRENT_BUFFER == new_buffer )
6079 if ( YY_CURRENT_BUFFER )
6081 /* Flush out information for old buffer. */
6082 *(yy_c_buf_p) = (yy_hold_char);
6083 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6084 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6087 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6088 surf_parse__load_buffer_state( );
6090 /* We don't actually know whether we did this switch during
6091 * EOF (surf_parse_wrap()) processing, but the only time this flag
6092 * is looked at is after surf_parse_wrap() is called, so it's safe
6093 * to go ahead and always set it.
6095 (yy_did_buffer_switch_on_eof) = 1;
6098 static void surf_parse__load_buffer_state (void)
6100 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6101 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6102 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6103 (yy_hold_char) = *(yy_c_buf_p);
6106 /** Allocate and initialize an input buffer state.
6107 * @param file A readable stream.
6108 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6110 * @return the allocated buffer state.
6112 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6116 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6118 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6120 b->yy_buf_size = size;
6122 /* yy_ch_buf has to be 2 characters longer than the size given because
6123 * we need to put in 2 end-of-buffer characters.
6125 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6126 if ( ! b->yy_ch_buf )
6127 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6129 b->yy_is_our_buffer = 1;
6131 surf_parse__init_buffer(b,file );
6136 /** Destroy the buffer.
6137 * @param b a buffer created with surf_parse__create_buffer()
6140 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6146 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6147 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6149 if ( b->yy_is_our_buffer )
6150 surf_parse_free((void *) b->yy_ch_buf );
6152 surf_parse_free((void *) b );
6156 extern int isatty (int );
6157 #endif /* __cplusplus */
6159 /* Initializes or reinitializes a buffer.
6160 * This function is sometimes called more than once on the same buffer,
6161 * such as during a surf_parse_restart() or at EOF.
6163 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6168 surf_parse__flush_buffer(b );
6170 b->yy_input_file = file;
6171 b->yy_fill_buffer = 1;
6173 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6174 * called from surf_parse_restart() or through yy_get_next_buffer.
6175 * In that case, we don't want to reset the lineno or column.
6177 if (b != YY_CURRENT_BUFFER){
6178 b->yy_bs_lineno = 1;
6179 b->yy_bs_column = 0;
6182 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6187 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6188 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6191 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6198 /* We always need two end-of-buffer characters. The first causes
6199 * a transition to the end-of-buffer state. The second causes
6200 * a jam in that state.
6202 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6203 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6205 b->yy_buf_pos = &b->yy_ch_buf[0];
6208 b->yy_buffer_status = YY_BUFFER_NEW;
6210 if ( b == YY_CURRENT_BUFFER )
6211 surf_parse__load_buffer_state( );
6214 /** Pushes the new state onto the stack. The new state becomes
6215 * the current state. This function will allocate the stack
6217 * @param new_buffer The new state.
6220 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6222 if (new_buffer == NULL)
6225 surf_parse_ensure_buffer_stack();
6227 /* This block is copied from surf_parse__switch_to_buffer. */
6228 if ( YY_CURRENT_BUFFER )
6230 /* Flush out information for old buffer. */
6231 *(yy_c_buf_p) = (yy_hold_char);
6232 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6233 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6236 /* Only push if top exists. Otherwise, replace top. */
6237 if (YY_CURRENT_BUFFER)
6238 (yy_buffer_stack_top)++;
6239 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6241 /* copied from surf_parse__switch_to_buffer. */
6242 surf_parse__load_buffer_state( );
6243 (yy_did_buffer_switch_on_eof) = 1;
6246 /** Removes and deletes the top of the stack, if present.
6247 * The next element becomes the new top.
6250 void surf_parse_pop_buffer_state (void)
6252 if (!YY_CURRENT_BUFFER)
6255 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6256 YY_CURRENT_BUFFER_LVALUE = NULL;
6257 if ((yy_buffer_stack_top) > 0)
6258 --(yy_buffer_stack_top);
6260 if (YY_CURRENT_BUFFER) {
6261 surf_parse__load_buffer_state( );
6262 (yy_did_buffer_switch_on_eof) = 1;
6266 /* Allocates the stack if it does not exist.
6267 * Guarantees space for at least one push.
6269 static void surf_parse_ensure_buffer_stack (void)
6273 if (!(yy_buffer_stack)) {
6275 /* First allocation is just for 2 elements, since we don't know if this
6276 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6277 * immediate realloc on the next call.
6280 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6281 (num_to_alloc * sizeof(struct yy_buffer_state*)
6283 if ( ! (yy_buffer_stack) )
6284 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6286 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6288 (yy_buffer_stack_max) = num_to_alloc;
6289 (yy_buffer_stack_top) = 0;
6293 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6295 /* Increase the buffer to prepare for a possible push. */
6296 int grow_size = 8 /* arbitrary grow size */;
6298 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6299 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6301 num_to_alloc * sizeof(struct yy_buffer_state*)
6303 if ( ! (yy_buffer_stack) )
6304 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6306 /* zero only the new slots.*/
6307 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6308 (yy_buffer_stack_max) = num_to_alloc;
6312 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6313 * @param base the character buffer
6314 * @param size the size in bytes of the character buffer
6316 * @return the newly allocated buffer state object.
6318 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6323 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6324 base[size-1] != YY_END_OF_BUFFER_CHAR )
6325 /* They forgot to leave room for the EOB's. */
6328 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6330 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6332 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6333 b->yy_buf_pos = b->yy_ch_buf = base;
6334 b->yy_is_our_buffer = 0;
6335 b->yy_input_file = 0;
6336 b->yy_n_chars = b->yy_buf_size;
6337 b->yy_is_interactive = 0;
6339 b->yy_fill_buffer = 0;
6340 b->yy_buffer_status = YY_BUFFER_NEW;
6342 surf_parse__switch_to_buffer(b );
6347 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6348 * scan from a @e copy of @a str.
6349 * @param yystr a NUL-terminated string to scan
6351 * @return the newly allocated buffer state object.
6352 * @note If you want to scan bytes that may contain NUL values, then use
6353 * surf_parse__scan_bytes() instead.
6355 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6358 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6361 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6362 * scan from a @e copy of @a bytes.
6363 * @param yybytes the byte buffer to scan
6364 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6366 * @return the newly allocated buffer state object.
6368 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6375 /* Get memory for full buffer, including space for trailing EOB's. */
6376 n = _yybytes_len + 2;
6377 buf = (char *) surf_parse_alloc(n );
6379 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6381 for ( i = 0; i < _yybytes_len; ++i )
6382 buf[i] = yybytes[i];
6384 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6386 b = surf_parse__scan_buffer(buf,n );
6388 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6390 /* It's okay to grow etc. this buffer, and we should throw it
6391 * away when we're done.
6393 b->yy_is_our_buffer = 1;
6398 static void yy_push_state (int new_state )
6400 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6404 (yy_start_stack_depth) += YY_START_STACK_INCR;
6405 new_size = (yy_start_stack_depth) * sizeof( int );
6407 if ( ! (yy_start_stack) )
6408 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6411 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6413 if ( ! (yy_start_stack) )
6414 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6417 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6422 static void yy_pop_state (void)
6424 if ( --(yy_start_stack_ptr) < 0 )
6425 YY_FATAL_ERROR( "start-condition stack underflow" );
6427 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6430 #ifndef YY_EXIT_FAILURE
6431 #define YY_EXIT_FAILURE 2
6434 static void yy_fatal_error (yyconst char* msg )
6436 (void) fprintf( stderr, "%s\n", msg );
6437 exit( YY_EXIT_FAILURE );
6440 /* Redefine yyless() so it works in section 3 code. */
6446 /* Undo effects of setting up surf_parse_text. */ \
6447 int yyless_macro_arg = (n); \
6448 YY_LESS_LINENO(yyless_macro_arg);\
6449 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6450 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6451 (yy_hold_char) = *(yy_c_buf_p); \
6452 *(yy_c_buf_p) = '\0'; \
6453 surf_parse_leng = yyless_macro_arg; \
6457 /* Accessor methods (get/set functions) to struct members. */
6459 /** Get the current line number.
6462 int surf_parse_get_lineno (void)
6465 return surf_parse_lineno;
6468 /** Get the input stream.
6471 FILE *surf_parse_get_in (void)
6473 return surf_parse_in;
6476 /** Get the output stream.
6479 FILE *surf_parse_get_out (void)
6481 return surf_parse_out;
6484 /** Get the length of the current token.
6487 int surf_parse_get_leng (void)
6489 return surf_parse_leng;
6492 /** Get the current token.
6496 char *surf_parse_get_text (void)
6498 return surf_parse_text;
6501 /** Set the current line number.
6502 * @param line_number
6505 void surf_parse_set_lineno (int line_number )
6508 surf_parse_lineno = line_number;
6511 /** Set the input stream. This does not discard the current
6513 * @param in_str A readable stream.
6515 * @see surf_parse__switch_to_buffer
6517 void surf_parse_set_in (FILE * in_str )
6519 surf_parse_in = in_str ;
6522 void surf_parse_set_out (FILE * out_str )
6524 surf_parse_out = out_str ;
6527 int surf_parse_get_debug (void)
6529 return surf_parse__flex_debug;
6532 void surf_parse_set_debug (int bdebug )
6534 surf_parse__flex_debug = bdebug ;
6537 static int yy_init_globals (void)
6539 /* Initialization is the same as for the non-reentrant scanner.
6540 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6543 /* We do not touch surf_parse_lineno unless the option is enabled. */
6544 surf_parse_lineno = 1;
6546 (yy_buffer_stack) = 0;
6547 (yy_buffer_stack_top) = 0;
6548 (yy_buffer_stack_max) = 0;
6549 (yy_c_buf_p) = (char *) 0;
6553 (yy_start_stack_ptr) = 0;
6554 (yy_start_stack_depth) = 0;
6555 (yy_start_stack) = NULL;
6557 /* Defined in main.c */
6559 surf_parse_in = stdin;
6560 surf_parse_out = stdout;
6562 surf_parse_in = (FILE *) 0;
6563 surf_parse_out = (FILE *) 0;
6566 /* For future reference: Set errno on error, since we are called by
6567 * surf_parse_lex_init()
6572 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6573 int surf_parse_lex_destroy (void)
6576 /* Pop the buffer stack, destroying each element. */
6577 while(YY_CURRENT_BUFFER){
6578 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6579 YY_CURRENT_BUFFER_LVALUE = NULL;
6580 surf_parse_pop_buffer_state();
6583 /* Destroy the stack itself. */
6584 surf_parse_free((yy_buffer_stack) );
6585 (yy_buffer_stack) = NULL;
6587 /* Destroy the start condition stack. */
6588 surf_parse_free((yy_start_stack) );
6589 (yy_start_stack) = NULL;
6591 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6592 * surf_parse_lex() is called, initialization will occur. */
6599 * Internal utility routines.
6603 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6606 for ( i = 0; i < n; ++i )
6611 #ifdef YY_NEED_STRLEN
6612 static int yy_flex_strlen (yyconst char * s )
6615 for ( n = 0; s[n]; ++n )
6622 void *surf_parse_alloc (yy_size_t size )
6624 return (void *) malloc( size );
6627 void *surf_parse_realloc (void * ptr, yy_size_t size )
6629 /* The cast to (char *) in the following accommodates both
6630 * implementations that use char* generic pointers, and those
6631 * that use void* generic pointers. It works with the latter
6632 * because both ANSI C and C++ allow castless assignment from
6633 * any pointer type to void*, and deal with argument conversions
6634 * as though doing an assignment.
6636 return (void *) realloc( (char *) ptr, size );
6639 void surf_parse_free (void * ptr )
6641 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6644 #define YYTABLES_NAME "yytables"
6646 /* Element context stack lookup. */
6647 int surfxml_element_context(int i)
6649 return (0<i && i<yy_start_stack_depth
6650 ? yy_start_stack[yy_start_stack_ptr - i]
6655 void print_yy_stack(char* fmt, ...)
6657 int i = 0; va_list ap; va_start(ap, fmt);
6658 vfprintf(stderr, fmt, ap);
6659 if (surfxml_statenames) {
6660 for (i=1; i<yy_start_stack_ptr; i++) {
6661 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6663 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6668 void print_surfxml_bufferstack()
6671 fputs("Buffer: ", stderr);
6672 for (i = 0; i < blimit; i++) {
6673 if ( surfxml_bufferstack[i] == '\377' ) break;
6674 putc(surfxml_bufferstack[i], stderr);
6679 static void debug_enter(int state, const char* statename) {
6680 yy_push_state(state);
6681 if (surf_parse__flex_debug) {
6682 print_yy_stack("--ENTER(%s) : ",statename);
6683 print_surfxml_bufferstack();
6687 static void debug_leave(void) {
6688 if (surf_parse__flex_debug) {
6689 print_yy_stack("--LEAVE : ");
6690 print_surfxml_bufferstack();
6695 static void debug_set(int state, const char* statename) {
6697 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6701 static void cleanup(void)
6703 if (surfxml_statenames) {
6704 free(surfxml_statenames);
6705 surfxml_statenames = NULL;
6707 free(surfxml_bufferstack);
6708 surfxml_bufferstack = NULL;
6714 static int fail(const char* fmt, ...)
6716 int chars_left, used;
6717 va_list ap; va_start(ap, fmt);
6718 #ifdef FLEXML_yylineno
6719 used = sprintf(flexml_err_msg,
6720 "Invalid XML (XML input line %d, state %d): ",
6721 surf_parse_lineno, YY_START);
6723 used = sprintf(flexml_err_msg,
6724 "Invalid XML (state %d): ",
6727 chars_left = flexml_max_err_msg_size - used - 1;
6728 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6731 #ifndef FLEXML_quiet_parser
6732 /* print directly to sdterr */
6733 fprintf(stderr, "%s\n", flexml_err_msg);
6734 flexml_err_msg[0] = '\0';