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 378
407 #define YY_END_OF_BUFFER 379
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[2212] =
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, 379, 377, 15, 10, 10, 15,
437 15, 357, 10, 357, 5, 6, 5, 8, 9, 8,
439 373, 365, 366, 374, 371, 374, 372, 376, 365, 366,
440 376, 377, 22, 10, 22, 22, 22, 20, 22, 26,
441 10, 26, 26, 26, 377, 377, 26, 37, 10, 37,
442 37, 37, 35, 37, 37, 37, 374, 373, 59, 10,
443 59, 59, 59, 57, 59, 59, 59, 59, 63, 10,
444 63, 377, 63, 82, 10, 82, 82, 82, 80, 82,
445 82, 82, 86, 10, 86, 95, 10, 95, 95, 95,
446 93, 95, 95, 99, 10, 99, 99, 377, 99, 99,
447 377, 377, 99, 377, 99, 377, 99, 122, 10, 122,
448 122, 122, 120, 122, 122, 122, 122, 122, 126, 10,
450 126, 126, 159, 10, 159, 159, 159, 157, 159, 159,
451 159, 159, 159, 159, 163, 10, 163, 184, 10, 184,
452 184, 184, 182, 184, 184, 184, 184, 184, 184, 188,
453 10, 188, 197, 10, 197, 197, 197, 195, 197, 197,
454 201, 10, 201, 228, 10, 228, 228, 228, 226, 228,
455 228, 228, 228, 232, 10, 232, 232, 245, 10, 245,
456 245, 245, 243, 245, 245, 249, 10, 249, 377, 249,
457 266, 10, 266, 266, 266, 264, 266, 266, 266, 270,
458 10, 270, 270, 283, 10, 283, 283, 283, 281, 283,
459 283, 287, 10, 287, 300, 10, 300, 300, 300, 298,
461 300, 300, 300, 304, 10, 304, 304, 317, 10, 317,
462 317, 317, 315, 317, 317, 317, 317, 321, 10, 321,
463 377, 321, 328, 10, 328, 328, 328, 326, 328, 332,
464 10, 332, 339, 10, 339, 339, 339, 337, 339, 343,
465 10, 343, 343, 343, 352, 10, 352, 352, 352, 350,
466 352, 352, 356, 10, 356, 10, 0, 2, 2, 0,
467 4, 7, 368, 367, 0, 0, 0, 0, 0, 0,
468 0, 21, 23, 23, 0, 0, 0, 0, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 36, 38, 38, 38, 38, 0, 0, 0, 58,
472 60, 60, 60, 60, 60, 60, 60, 0, 0, 81,
473 83, 83, 83, 83, 0, 94, 96, 96, 96, 0,
474 0, 0, 0, 0, 0, 0, 0, 0, 121, 123,
475 123, 123, 123, 123, 123, 0, 158, 160, 160, 160,
476 160, 160, 160, 160, 160, 160, 160, 0, 183, 185,
477 185, 185, 185, 185, 185, 185, 0, 196, 198, 198,
478 198, 0, 227, 229, 229, 229, 229, 229, 229, 0,
479 244, 246, 246, 246, 246, 0, 0, 265, 267, 267,
480 267, 267, 267, 0, 282, 284, 284, 284, 0, 299,
481 301, 301, 301, 301, 0, 316, 318, 318, 318, 318,
483 318, 0, 0, 327, 329, 329, 0, 338, 340, 340,
484 0, 0, 351, 353, 353, 353, 0, 0, 0, 0,
485 0, 3, 0, 0, 0, 0, 0, 0, 0, 375,
486 0, 23, 0, 0, 88, 0, 0, 0, 0, 0,
487 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
488 0, 0, 0, 38, 0, 0, 38, 0, 0, 0,
489 370, 60, 0, 0, 60, 60, 60, 60, 0, 0,
490 0, 83, 83, 83, 0, 0, 0, 0, 96, 0,
491 0, 88, 0, 0, 0, 0, 87, 0, 0, 123,
492 123, 123, 0, 0, 123, 123, 0, 0, 160, 0,
494 0, 0, 0, 160, 160, 160, 160, 160, 160, 0,
495 0, 185, 185, 0, 0, 185, 185, 185, 0, 0,
496 198, 0, 0, 0, 0, 229, 0, 0, 229, 229,
497 229, 0, 0, 246, 246, 246, 0, 0, 0, 267,
498 267, 267, 267, 0, 0, 284, 0, 0, 0, 0,
499 301, 301, 301, 0, 0, 318, 318, 318, 318, 0,
500 0, 0, 329, 0, 0, 0, 0, 0, 0, 0,
501 0, 0, 353, 0, 0, 0, 14, 1, 0, 0,
502 363, 0, 0, 0, 360, 359, 0, 0, 23, 0,
503 0, 25, 0, 88, 0, 0, 0, 0, 0, 0,
505 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
506 0, 0, 0, 38, 0, 30, 29, 38, 0, 0,
507 0, 40, 0, 60, 0, 44, 43, 0, 0, 60,
508 0, 0, 60, 0, 0, 62, 0, 0, 83, 83,
509 83, 0, 0, 85, 0, 0, 90, 89, 96, 0,
510 0, 98, 0, 0, 0, 0, 0, 0, 0, 0,
511 123, 123, 123, 0, 103, 102, 123, 123, 0, 0,
512 125, 0, 160, 160, 160, 0, 140, 139, 0, 130,
513 129, 0, 0, 160, 160, 160, 160, 160, 0, 0,
514 162, 0, 185, 185, 185, 0, 167, 166, 0, 0,
516 185, 185, 0, 0, 187, 0, 198, 0, 192, 191,
517 0, 0, 200, 0, 229, 0, 205, 204, 229, 229,
518 229, 0, 0, 231, 0, 0, 0, 0, 0, 246,
519 0, 0, 248, 0, 0, 0, 0, 267, 267, 0,
520 0, 267, 0, 0, 269, 0, 284, 0, 274, 273,
521 0, 0, 286, 0, 0, 0, 301, 301, 0, 0,
522 0, 0, 303, 0, 318, 318, 318, 318, 0, 0,
523 320, 0, 0, 329, 0, 0, 331, 0, 0, 336,
524 335, 0, 0, 342, 0, 0, 0, 347, 346, 353,
525 0, 0, 355, 0, 0, 0, 364, 358, 0, 0,
527 0, 23, 0, 0, 0, 0, 0, 0, 100, 202,
528 165, 0, 0, 344, 0, 0, 0, 0, 0, 164,
529 0, 0, 0, 0, 38, 0, 0, 60, 0, 48,
530 47, 0, 0, 0, 46, 45, 60, 0, 345, 83,
531 0, 0, 83, 0, 96, 0, 97, 0, 0, 101,
532 203, 0, 0, 0, 123, 123, 0, 0, 123, 123,
533 0, 160, 160, 160, 0, 142, 141, 160, 160, 160,
534 160, 160, 0, 185, 185, 185, 0, 175, 174, 185,
535 185, 0, 198, 0, 229, 229, 229, 229, 0, 0,
536 238, 237, 0, 236, 235, 246, 0, 202, 0, 255,
538 254, 267, 267, 0, 253, 252, 267, 0, 284, 0,
539 0, 293, 292, 301, 301, 0, 291, 290, 0, 318,
540 0, 0, 318, 318, 0, 0, 329, 0, 0, 0,
541 353, 0, 0, 0, 0, 12, 0, 361, 362, 0,
542 23, 0, 0, 0, 0, 0, 0, 100, 202, 0,
543 165, 0, 0, 344, 0, 233, 28, 0, 0, 164,
544 27, 0, 0, 32, 31, 38, 0, 0, 60, 0,
545 50, 49, 60, 0, 345, 83, 0, 0, 0, 0,
546 0, 0, 96, 0, 0, 101, 203, 234, 234, 233,
547 123, 123, 0, 107, 106, 0, 0, 0, 0, 123,
549 0, 0, 0, 160, 160, 0, 0, 160, 160, 160,
550 160, 0, 0, 0, 185, 185, 0, 0, 185, 0,
551 198, 0, 229, 229, 229, 0, 0, 229, 0, 246,
552 0, 0, 267, 267, 267, 0, 284, 0, 301, 301,
553 0, 318, 0, 308, 307, 318, 318, 0, 0, 0,
554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
555 11, 0, 23, 0, 0, 0, 0, 0, 334, 0,
556 0, 0, 41, 233, 189, 28, 0, 333, 0, 27,
557 0, 0, 38, 0, 0, 60, 60, 0, 83, 0,
558 0, 0, 0, 0, 0, 0, 0, 0, 77, 76,
560 0, 96, 0, 0, 234, 190, 123, 123, 0, 105,
561 104, 0, 0, 0, 123, 0, 124, 0, 150, 149,
562 0, 0, 160, 0, 138, 137, 0, 0, 160, 160,
563 0, 0, 0, 0, 171, 170, 0, 0, 185, 0,
564 169, 168, 185, 0, 186, 198, 0, 229, 229, 229,
565 0, 0, 0, 229, 0, 230, 246, 0, 0, 0,
566 0, 0, 0, 267, 0, 284, 0, 0, 0, 0,
567 0, 0, 318, 318, 318, 0, 0, 0, 325, 324,
568 0, 0, 42, 0, 349, 348, 0, 354, 0, 0,
569 0, 0, 0, 0, 0, 250, 0, 0, 128, 334,
571 0, 0, 306, 41, 189, 0, 333, 127, 0, 305,
572 38, 0, 0, 39, 60, 60, 0, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 251, 0, 190, 123, 123, 0, 0, 123,
575 0, 152, 151, 160, 0, 132, 131, 0, 0, 160,
576 0, 134, 133, 0, 0, 173, 172, 185, 185, 198,
577 0, 229, 0, 0, 229, 229, 0, 0, 229, 246,
578 0, 247, 0, 0, 259, 258, 0, 257, 256, 267,
579 0, 284, 0, 0, 297, 296, 0, 295, 294, 0,
580 318, 318, 318, 0, 0, 0, 0, 42, 0, 0,
582 0, 17, 0, 19, 18, 0, 250, 322, 0, 128,
583 271, 16, 306, 0, 127, 0, 305, 38, 369, 60,
584 60, 0, 61, 0, 79, 78, 0, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 92, 91,
586 251, 0, 123, 123, 0, 0, 0, 0, 123, 160,
587 0, 136, 135, 160, 0, 185, 185, 198, 0, 199,
588 229, 0, 211, 210, 229, 229, 0, 0, 0, 0,
589 229, 246, 272, 267, 0, 284, 0, 0, 0, 0,
590 318, 318, 0, 323, 0, 0, 341, 0, 0, 0,
591 17, 0, 322, 0, 271, 16, 0, 0, 38, 0,
593 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
594 0, 0, 0, 0, 123, 123, 0, 113, 0, 112,
595 123, 160, 160, 0, 161, 185, 185, 198, 0, 0,
596 229, 229, 229, 0, 215, 0, 214, 229, 246, 272,
597 267, 0, 268, 0, 0, 0, 0, 0, 310, 309,
598 0, 0, 318, 0, 319, 323, 0, 0, 0, 0,
599 0, 24, 0, 0, 0, 38, 0, 0, 0, 60,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 0, 123, 123, 115, 114, 0, 0, 160, 160,
602 185, 185, 198, 0, 207, 206, 229, 229, 229, 217,
604 216, 0, 0, 246, 267, 0, 0, 0, 0, 285,
605 0, 0, 314, 313, 0, 0, 0, 330, 0, 0,
606 0, 288, 0, 0, 0, 0, 0, 0, 0, 0,
607 60, 0, 0, 0, 0, 69, 0, 0, 0, 0,
608 68, 0, 289, 123, 0, 0, 0, 117, 116, 160,
609 160, 0, 0, 185, 0, 0, 229, 229, 229, 0,
610 219, 218, 0, 0, 0, 0, 0, 0, 0, 0,
611 0, 0, 0, 0, 312, 311, 0, 0, 0, 288,
612 0, 0, 0, 34, 33, 0, 0, 0, 0, 60,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 289,
615 0, 0, 123, 0, 119, 118, 160, 160, 0, 177,
616 176, 185, 0, 194, 193, 229, 0, 0, 229, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 65, 64, 0, 0,
619 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
620 74, 0, 0, 0, 109, 108, 123, 160, 160, 185,
621 229, 0, 213, 212, 229, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 276, 0, 0, 275, 0,
623 302, 0, 0, 0, 0, 0, 0, 65, 64, 0,
624 0, 0, 0, 0, 52, 51, 0, 0, 0, 0,
626 0, 0, 0, 123, 160, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 56, 0, 55, 73, 0, 0, 72, 0,
630 0, 0, 84, 123, 160, 0, 0, 0, 0, 0,
631 0, 0, 209, 208, 0, 0, 0, 242, 0, 241,
632 0, 263, 0, 262, 0, 278, 280, 277, 279, 0,
633 0, 0, 12, 0, 12, 0, 0, 0, 67, 71,
634 66, 70, 123, 160, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 0, 0, 240, 239, 261, 260,
637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,
640 53, 0, 111, 110, 0, 0, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 11, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 144, 0, 0, 143, 0, 179,
651 0, 178, 0, 0, 221, 0, 0, 220, 0, 0,
652 0, 0, 0, 148, 0, 147, 0, 0, 0, 223,
653 0, 222, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 154, 0, 153, 0,
655 0, 0, 0, 0, 0, 0, 0, 156, 155, 146,
656 145, 181, 180, 225, 224, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
663 static yyconst flex_int32_t yy_ec[256] =
665 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
666 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
669 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
670 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
671 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
672 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
673 16, 36, 37, 38, 39, 40, 41, 42, 43, 16,
674 44, 1, 45, 1, 46, 1, 47, 48, 49, 50,
676 51, 52, 53, 54, 55, 16, 56, 57, 58, 59,
677 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
678 70, 16, 1, 1, 1, 1, 1, 1, 1, 1,
679 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
684 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
685 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
695 static yyconst flex_int32_t yy_meta[71] =
697 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
698 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
699 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
700 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
701 5, 5, 5, 1, 1, 5, 9, 9, 9, 9,
702 9, 9, 5, 5, 5, 5, 5, 5, 5, 5,
703 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
706 static yyconst flex_int16_t yy_base[2489] =
708 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
709 14, 17, 33, 36, 49, 55, 45, 61, 66, 73,
710 106, 173, 76, 79, 83, 126, 129, 134, 137, 154,
711 193, 196, 201, 204, 221, 224, 227, 230, 248, 309,
712 280, 286, 370, 434, 268, 273, 277, 330, 333, 337,
713 340, 390, 498, 563, 393, 398, 628, 691, 401, 454,
714 457, 462, 465, 518, 521, 526, 529, 583, 586, 591,
715 594, 648, 651, 656, 659, 711, 714, 719, 722, 739,
716 745, 748, 756, 765, 768, 773, 776, 785, 803, 867,
717 823, 826, 831, 835, 887, 890, 895, 899, 931, 995,
719 951, 954, 1059, 1123, 959, 962, 1187, 1242, 1015, 1018,
720 1297, 1361, 1023, 1026, 1079, 1082, 1087, 1091, 1143, 1146,
721 1425, 1489, 1151, 1155, 1207, 1210, 1215, 1219, 1262, 1265,
722 1553, 1617, 1270, 1274, 1317, 1320, 1325, 1328, 1381, 1384,
723 1681, 1736, 1389, 1392, 1791, 1855, 1445, 1448, 1453, 1456,
724 1509, 1512, 1517, 1520, 1919, 1983, 1573, 1576, 1581, 1584,
725 1637, 1640, 1645, 1648, 2047, 2114, 1701, 1704, 2181, 2236,
726 1709, 1712, 1756, 1759, 1764, 1767, 1811, 1814, 2291, 2358,
727 1819, 1822, 0, 0, 5339, 7727, 7727, 96, 100, 29,
728 41, 7727, 157, 51, 7727, 7727, 5328, 7727, 7727, 5317,
730 7727, 5332, 5332, 360, 7727, 7727, 7727, 7727, 5329, 5328,
731 5285, 84, 7727, 160, 5308, 0, 144, 7727, 5268, 7727,
732 164, 2421, 5265, 492, 224, 5301, 5234, 7727, 167, 5273,
733 0, 216, 7727, 5229, 5231, 5228, 344, 5223, 7727, 303,
734 5243, 0, 341, 7727, 5209, 5208, 41, 5185, 7727, 427,
735 13, 81, 141, 7727, 482, 5222, 0, 342, 7727, 5184,
736 5176, 5167, 7727, 491, 345, 7727, 548, 5208, 0, 347,
737 7727, 5164, 5153, 7727, 556, 1830, 1831, 5153, 80, 5185,
738 198, 252, 364, 613, 59, 5193, 83, 7727, 613, 5183,
739 0, 405, 7727, 5135, 5140, 5136, 5125, 5118, 7727, 618,
741 177, 235, 7727, 676, 5158, 0, 469, 7727, 167, 5127,
742 5128, 149, 5123, 147, 7727, 682, 476, 7727, 685, 5149,
743 0, 535, 7727, 5099, 5101, 5109, 5108, 5093, 5098, 7727,
744 793, 606, 7727, 796, 5130, 0, 540, 7727, 5085, 5094,
745 7727, 852, 780, 7727, 857, 5116, 0, 541, 7727, 5088,
746 5074, 5062, 243, 7727, 916, 348, 357, 7727, 921, 5087,
747 0, 605, 7727, 5042, 275, 7727, 979, 670, 5092, 5039,
748 7727, 987, 5071, 0, 660, 7727, 5026, 5020, 336, 7727,
749 1043, 5071, 420, 7727, 1051, 5062, 0, 723, 7727, 5022,
750 5026, 7727, 1108, 966, 7727, 1115, 5054, 0, 734, 7727,
752 5001, 4996, 4999, 7727, 1172, 5045, 470, 7727, 1179, 5036,
753 0, 740, 7727, 4985, 4990, 4993, 4974, 7727, 1236, 1045,
754 5026, 240, 7727, 1291, 5016, 0, 760, 7727, 4984, 7727,
755 1345, 1030, 7727, 1353, 5004, 0, 841, 7727, 4973, 7727,
756 1356, 1834, 4958, 180, 7727, 1409, 4993, 0, 905, 7727,
757 4962, 4963, 7727, 1417, 1158, 1420, 18, 4936, 7727, 4992,
758 4980, 7727, 7727, 7727, 1463, 241, 4931, 4929, 4926, 4961,
759 4923, 7727, 0, 4911, 4911, 4931, 4897, 4885, 364, 4894,
760 4897, 794, 373, 4884, 413, 4905, 477, 858, 4878, 1178,
761 1233, 7727, 0, 4882, 1887, 4875, 234, 4871, 4908, 7727,
763 0, 4864, 1892, 4852, 4873, 4859, 4855, 4841, 1410, 7727,
764 0, 4851, 4838, 4846, 4825, 7727, 0, 1899, 4823, 4865,
765 4842, 4808, 4812, 4814, 403, 4824, 488, 532, 7727, 0,
766 4813, 539, 1939, 4783, 4801, 4792, 7727, 0, 4791, 1942,
767 1946, 4754, 4750, 4756, 4756, 4757, 4744, 4740, 7727, 0,
768 4742, 4726, 1949, 4711, 4706, 4722, 4707, 7727, 0, 4701,
769 1953, 4693, 7727, 0, 4695, 2003, 4687, 4700, 4688, 4677,
770 7727, 0, 4646, 4661, 4650, 4644, 4650, 7727, 0, 4639,
771 4656, 4652, 4634, 4669, 7727, 0, 4609, 2006, 4608, 7727,
772 0, 4599, 4616, 4601, 4601, 7727, 0, 4579, 4572, 4578,
774 4586, 4570, 4567, 7727, 0, 4571, 4567, 7727, 0, 2010,
775 4564, 553, 7727, 0, 2013, 4546, 4541, 4580, 4581, 442,
776 4532, 7727, 1466, 0, 4526, 4525, 4564, 4547, 4489, 7727,
777 4501, 4479, 2016, 2073, 1482, 4489, 4474, 4460, 4466, 4458,
778 4457, 4443, 4441, 4426, 4426, 4405, 4422, 4406, 1538, 4397,
779 4411, 4413, 4392, 4399, 2067, 1605, 4394, 4423, 2070, 2076,
780 7727, 4395, 2079, 1669, 2085, 4385, 2134, 4393, 2140, 2159,
781 4371, 4372, 4378, 4371, 2144, 2147, 2152, 1845, 4352, 2201,
782 2215, 1547, 4351, 4347, 4346, 4334, 1911, 4333, 4331, 4337,
783 4328, 4338, 2205, 2097, 4330, 4314, 2209, 2212, 1480, 2256,
785 2166, 2259, 2262, 2311, 4323, 4321, 4316, 4296, 4305, 2314,
786 2317, 436, 4293, 2320, 2280, 2323, 4302, 4289, 2329, 2378,
787 4287, 2381, 2341, 2384, 2387, 4293, 2390, 2408, 4257, 4239,
788 4232, 2416, 2419, 2442, 2446, 2452, 2456, 2460, 4236, 2485,
789 2488, 2492, 2495, 2498, 2513, 4243, 2520, 2428, 2523, 2526,
790 2532, 2538, 2545, 2552, 2556, 4243, 4219, 4226, 4214, 2559,
791 2564, 4222, 4204, 2567, 2571, 2590, 2594, 2602, 2608, 4206,
792 2611, 2614, 4198, 2629, 2633, 4237, 7727, 7727, 196, 4199,
793 7727, 4237, 4222, 4174, 7727, 7727, 4171, 4166, 4169, 2636,
794 2639, 7727, 2642, 1544, 4163, 4155, 4159, 4141, 4151, 4137,
796 4144, 4129, 4126, 477, 4139, 4122, 4137, 4132, 1730, 4118,
797 4118, 4130, 542, 2648, 2667, 7727, 7727, 2661, 4140, 2675,
798 2679, 7727, 2682, 4100, 2688, 7727, 7727, 2701, 2704, 2712,
799 2715, 2721, 4112, 2733, 2736, 7727, 2739, 595, 4107, 2742,
800 4106, 2745, 2748, 7727, 2760, 2767, 7727, 7727, 4100, 2775,
801 2779, 7727, 2782, 4082, 4093, 4072, 4076, 4066, 4060, 4055,
802 4062, 4067, 2785, 2788, 7727, 7727, 4046, 4057, 2806, 2809,
803 7727, 2812, 4038, 4058, 4049, 2815, 7727, 7727, 2831, 7727,
804 7727, 2839, 2842, 4039, 4045, 4039, 4032, 4030, 2850, 2853,
805 7727, 2857, 4017, 4008, 4019, 2860, 7727, 7727, 2876, 2879,
807 4005, 4011, 2887, 2890, 7727, 2894, 4007, 2897, 7727, 7727,
808 2909, 2913, 7727, 2916, 3988, 2922, 7727, 7727, 3995, 3993,
809 3994, 2935, 2938, 7727, 2944, 2947, 2950, 2958, 2965, 3989,
810 2976, 2981, 7727, 2984, 3983, 2987, 2991, 3968, 3955, 3005,
811 3008, 3962, 3016, 3019, 7727, 3023, 3962, 3026, 7727, 7727,
812 3038, 3042, 7727, 3045, 3049, 3057, 3946, 3945, 3052, 3070,
813 3078, 3081, 7727, 3085, 3941, 3088, 3959, 3938, 3091, 3106,
814 7727, 3110, 3920, 3923, 3113, 3116, 7727, 3119, 3125, 7727,
815 7727, 3138, 3141, 7727, 3145, 3922, 3148, 7727, 7727, 3920,
816 3160, 3164, 7727, 3171, 585, 3174, 7727, 7727, 3936, 3933,
818 3896, 3887, 3179, 3879, 3882, 3869, 3866, 3875, 1785, 1975,
819 1978, 3875, 3874, 2038, 3864, 3867, 3858, 3851, 3839, 2041,
820 3848, 3846, 3183, 3194, 3845, 3865, 3186, 3839, 3205, 7727,
821 7727, 3213, 3216, 3224, 7727, 7727, 3826, 3234, 2105, 3817,
822 3237, 3243, 3255, 3258, 3815, 3261, 7727, 3802, 3792, 2108,
823 2174, 3804, 3795, 3794, 3796, 3781, 3264, 3267, 3283, 3286,
824 3289, 3292, 3295, 3314, 3317, 7727, 7727, 3325, 3332, 3336,
825 3339, 3343, 3346, 3361, 3365, 3368, 3372, 7727, 7727, 3386,
826 3389, 3393, 3779, 3400, 3775, 3773, 3758, 3412, 3415, 3423,
827 7727, 7727, 3434, 7727, 7727, 3751, 3442, 2349, 3448, 7727,
829 7727, 3744, 3759, 3457, 7727, 7727, 3741, 3465, 3740, 3470,
830 3473, 7727, 7727, 3737, 3752, 3485, 7727, 7727, 3493, 3741,
831 3496, 3499, 3716, 3728, 3507, 3715, 3514, 3517, 3526, 3711,
832 3520, 3532, 687, 3750, 3539, 7727, 3748, 7727, 7727, 3707,
833 3699, 3545, 3682, 3695, 3676, 3688, 3672, 2352, 2449, 3674,
834 3551, 3657, 3640, 3558, 3645, 3564, 3567, 3648, 3649, 3570,
835 3573, 3634, 3578, 7727, 7727, 3637, 3653, 3592, 3621, 3596,
836 7727, 7727, 3618, 3605, 3612, 3618, 3620, 1881, 1931, 3628,
837 3631, 3642, 3622, 3609, 3608, 3646, 3649, 3652, 3655, 3664,
838 3616, 3604, 3667, 7727, 7727, 3675, 3678, 3686, 3693, 3609,
840 3704, 3707, 3710, 3718, 3726, 3729, 3732, 3740, 3747, 3750,
841 3753, 3758, 3761, 3773, 3781, 3788, 3791, 3809, 3795, 3817,
842 3601, 3822, 3592, 3571, 3586, 3825, 3829, 3586, 3837, 3573,
843 3847, 3579, 3850, 3856, 3859, 3862, 3566, 3868, 3877, 3881,
844 3887, 3560, 3899, 7727, 7727, 3563, 3552, 3890, 3560, 3913,
845 3917, 3909, 3932, 3552, 3935, 3940, 3953, 655, 339, 713,
846 7727, 3541, 3956, 3959, 3552, 3542, 3556, 3528, 3784, 3524,
847 3525, 3522, 3962, 3966, 3974, 3978, 3536, 3981, 3516, 3986,
848 3515, 3499, 3509, 3535, 3989, 3491, 3495, 3992, 3995, 3523,
849 3510, 635, 3504, 3510, 3497, 814, 3480, 3998, 7727, 7727,
851 4013, 4018, 3461, 3470, 4021, 4024, 3449, 3446, 4032, 7727,
852 7727, 4040, 3458, 3452, 3429, 4027, 7727, 4049, 7727, 7727,
853 4058, 4061, 3428, 4069, 7727, 7727, 4077, 4080, 4088, 3435,
854 4091, 4095, 4109, 4112, 7727, 7727, 4120, 4124, 3433, 4132,
855 7727, 7727, 3432, 4141, 7727, 3423, 4144, 3399, 4147, 3409,
856 4150, 3419, 3415, 3392, 4165, 7727, 3387, 4168, 3376, 4171,
857 4174, 4192, 4195, 3384, 4206, 3374, 4210, 4213, 4216, 4225,
858 4231, 4243, 3374, 3370, 3369, 4246, 3363, 4249, 7727, 7727,
859 4258, 4265, 4239, 4270, 7727, 7727, 4278, 7727, 40, 733,
860 699, 3363, 4284, 4287, 4297, 4302, 3346, 3349, 4309, 4312,
862 3348, 3348, 4317, 4320, 4323, 3340, 4326, 4329, 3339, 4332,
863 3339, 3342, 4335, 7727, 3322, 3335, 4338, 4342, 4345, 3346,
864 3340, 3335, 3326, 3316, 3323, 3316, 3299, 3297, 3284, 4360,
865 4363, 4366, 4374, 3253, 4381, 3251, 3241, 757, 873, 3246,
866 4384, 7727, 7727, 3216, 4392, 7727, 7727, 4400, 4404, 3211,
867 4412, 7727, 7727, 4420, 4423, 7727, 7727, 3186, 3168, 3159,
868 4431, 3169, 4434, 4439, 3108, 3095, 940, 941, 3096, 3088,
869 4452, 7727, 3065, 4455, 7727, 7727, 4464, 7727, 7727, 3057,
870 4472, 3037, 4475, 4478, 7727, 7727, 4487, 7727, 7727, 4495,
871 4498, 3026, 3017, 4501, 2992, 4504, 4507, 4510, 4516, 75,
873 604, 4526, 4535, 7727, 7727, 4530, 4543, 4549, 2972, 4552,
874 4555, 4558, 4564, 95, 4567, 223, 4570, 406, 7727, 4573,
875 490, 4576, 7727, 4580, 7727, 7727, 581, 633, 694, 704,
876 712, 731, 735, 767, 772, 793, 4591, 4595, 7727, 7727,
877 4603, 765, 777, 789, 815, 857, 838, 857, 832, 842,
878 4606, 7727, 7727, 836, 4614, 853, 847, 876, 4617, 7727,
879 4620, 4623, 7727, 7727, 874, 870, 920, 953, 933, 961,
880 933, 938, 4638, 946, 4641, 4644, 4650, 4653, 4656, 4665,
881 4674, 960, 4677, 4680, 4683, 4686, 7727, 4692, 1101, 1067,
882 4696, 4712, 4715, 958, 4718, 4721, 965, 972, 962, 4724,
884 4727, 979, 996, 992, 1015, 1003, 1039, 1047, 1050, 1065,
885 1053, 1065, 4735, 1037, 1048, 1051, 1133, 7727, 1143, 7727,
886 4738, 1110, 1103, 4742, 7727, 1098, 1108, 1102, 4747, 4761,
887 1125, 1128, 1129, 1197, 7727, 1206, 7727, 4756, 1159, 4769,
888 1163, 4775, 7727, 4778, 4781, 4789, 4796, 4799, 7727, 7727,
889 4808, 4811, 4819, 4822, 7727, 4826, 4829, 1214, 1433, 1210,
890 4832, 7727, 1173, 1175, 1176, 4837, 4841, 1300, 1301, 1198,
891 1246, 1257, 1257, 1260, 1279, 1260, 1291, 1309, 1312, 1330,
892 4851, 1289, 1274, 4855, 7727, 7727, 4861, 4864, 1289, 1296,
893 4873, 1298, 4879, 4882, 7727, 7727, 1322, 1338, 1335, 7727,
895 7727, 4892, 4897, 4905, 4910, 4913, 1375, 1429, 4923, 7727,
896 4928, 4931, 7727, 7727, 4942, 4947, 4955, 7727, 1505, 1467,
897 1523, 4960, 1348, 1349, 4963, 4967, 1365, 1381, 1368, 1393,
898 1358, 1416, 1424, 1422, 1432, 7727, 1457, 1465, 1474, 1478,
899 7727, 4975, 4981, 4984, 4987, 4995, 5005, 7727, 7727, 1469,
900 1482, 5013, 5016, 1487, 5025, 5031, 1512, 5039, 1532, 5043,
901 7727, 7727, 5051, 5057, 5065, 5069, 1555, 1556, 1557, 1559,
902 1561, 1561, 5077, 5083, 7727, 7727, 1580, 1593, 5091, 5096,
903 1539, 1540, 5099, 7727, 7727, 1590, 1582, 1594, 1600, 5110,
904 1615, 1632, 1650, 1635, 1621, 1638, 1655, 1643, 5113, 5116,
906 5119, 5128, 1616, 5137, 7727, 7727, 1612, 1604, 5145, 7727,
907 7727, 1606, 5154, 7727, 7727, 1626, 5123, 5162, 1609, 5170,
908 1677, 1685, 5178, 1732, 1740, 1639, 1664, 1703, 1676, 1688,
909 1714, 5186, 1732, 5189, 5192, 5195, 5214, 5217, 1691, 1704,
910 1702, 1739, 5220, 5223, 1744, 1747, 7727, 1749, 1751, 1761,
911 7727, 1778, 5231, 5234, 7727, 7727, 1764, 1765, 5242, 5245,
912 5250, 5253, 7727, 7727, 5263, 1793, 1802, 1796, 1805, 1799,
913 1808, 1804, 1813, 1812, 1824, 7727, 1838, 1851, 7727, 5268,
914 7727, 1887, 5271, 5274, 5283, 5303, 5348, 5295, 5298, 1857,
915 1877, 1860, 1877, 5323, 7727, 7727, 1882, 1867, 1879, 1908,
917 1904, 1929, 5314, 1910, 1920, 5339, 5368, 5342, 5376, 5384,
918 5392, 5387, 5405, 1964, 1939, 1990, 1974, 2017, 1987, 2017,
919 1993, 2025, 2027, 2025, 2029, 2077, 5413, 2146, 2075, 5433,
920 5478, 2032, 7727, 2049, 7727, 7727, 2079, 2088, 7727, 2093,
921 2096, 5423, 7727, 2062, 2071, 5453, 2196, 2240, 5461, 2242,
922 2301, 5498, 7727, 7727, 5506, 2369, 2378, 7727, 2139, 7727,
923 2148, 7727, 2159, 7727, 2164, 7727, 7727, 7727, 7727, 2377,
924 2267, 2207, 2168, 2265, 2171, 5426, 2182, 2207, 7727, 7727,
925 7727, 7727, 5469, 5472, 2268, 2202, 2318, 2203, 2195, 2242,
926 2237, 2260, 2377, 2301, 2402, 2313, 7727, 7727, 7727, 7727,
928 5514, 2342, 2380, 2399, 5517, 2421, 2419, 5522, 5526, 5536,
929 5540, 2400, 2409, 2435, 2428, 2436, 2450, 2442, 2455, 2448,
930 2459, 2445, 2454, 2471, 2465, 2474, 2484, 5549, 2488, 7727,
931 7727, 5554, 7727, 7727, 5568, 2482, 2494, 2477, 2482, 2496,
932 2502, 2513, 2509, 2534, 2541, 2547, 2544, 2547, 2552, 2549,
933 2551, 2558, 2554, 2581, 7727, 2573, 2571, 2585, 2580, 2590,
934 2596, 2599, 2600, 2622, 2622, 2629, 2629, 2632, 2632, 2631,
935 2636, 2640, 2643, 2649, 2649, 2689, 2649, 2666, 2655, 2676,
936 2665, 2662, 2686, 2677, 2683, 2703, 2693, 2708, 2715, 2730,
937 2722, 2719, 2735, 2731, 2728, 2747, 2755, 2739, 2760, 2765,
939 2765, 2777, 2770, 2800, 2794, 2787, 2814, 2790, 2821, 2793,
940 2821, 2805, 2801, 2832, 2813, 2812, 2840, 2845, 2821, 2841,
941 2839, 2846, 2868, 2844, 7727, 2875, 2855, 7727, 2856, 7727,
942 2871, 7727, 2898, 2874, 7727, 2899, 2878, 7727, 2902, 2886,
943 2902, 2895, 2907, 7727, 2909, 7727, 2917, 2918, 2931, 7727,
944 2937, 7727, 2939, 5562, 2944, 2966, 2947, 2966, 2934, 2939,
945 2950, 2956, 2957, 2960, 5581, 2999, 7727, 3004, 7727, 3009,
946 3007, 3025, 3024, 3028, 3028, 3105, 3115, 7727, 7727, 7727,
947 7727, 7727, 7727, 7727, 7727, 3044, 3047, 3080, 3135, 3050,
948 3139, 3185, 3190, 3077, 3222, 3151, 3193, 3058, 3201, 3230,
950 3262, 3214, 3235, 3281, 3302, 3304, 3295, 5576, 5589, 7727,
951 7727, 5609, 5618, 5627, 5636, 5645, 5654, 5663, 5672, 5681,
952 5690, 5699, 5708, 5717, 5726, 5735, 5744, 5753, 5762, 5771,
953 5780, 5789, 5798, 5807, 5816, 5825, 5834, 5843, 5852, 5861,
954 5870, 5879, 5888, 5897, 5906, 5915, 5924, 5933, 5942, 5951,
955 5960, 5969, 5978, 5985, 5992, 5999, 6006, 6013, 6020, 6027,
956 6034, 6041, 6048, 6055, 6062, 6069, 6076, 6083, 6090, 6097,
957 6104, 6113, 6120, 6125, 6132, 6137, 6144, 6149, 6156, 6161,
958 6168, 6173, 6178, 6185, 6190, 6197, 6202, 6209, 6214, 6221,
959 6226, 6233, 6238, 6245, 6250, 6257, 6262, 6269, 6274, 6281,
961 6286, 6293, 6298, 6305, 6310, 6317, 6322, 6331, 6337, 6344,
962 6352, 6359, 6367, 6374, 6382, 6389, 6397, 6404, 6412, 6419,
963 6427, 6434, 6442, 6449, 6457, 6464, 6472, 6479, 6487, 6495,
964 6503, 6511, 6519, 6526, 6534, 6542, 6550, 6557, 6565, 6572,
965 6580, 6588, 6595, 6603, 6612, 6618, 6625, 6633, 6641, 6649,
966 6656, 6664, 6671, 6679, 6686, 6694, 6701, 6709, 6716, 6724,
967 6731, 6739, 6746, 6754, 6761, 6769, 6776, 6784, 6791, 6799,
968 6806, 6814, 6821, 6829, 6836, 6844, 6851, 6859, 6867, 6874,
969 6882, 6891, 6900, 6907, 6915, 6922, 6930, 6937, 6945, 6952,
970 6960, 6967, 6974, 6982, 6990, 6998, 7006, 7014, 7021, 7029,
972 7036, 7044, 7051, 7059, 7066, 7074, 7081, 7089, 7096, 7104,
973 7111, 7119, 7127, 7135, 7143, 7151, 7159, 7168, 7177, 7184,
974 7192, 7199, 7207, 7214, 7222, 7229, 7237, 7244, 7251, 7259,
975 7267, 7275, 7283, 7291, 7298, 7306, 7313, 7321, 7328, 7336,
976 7344, 7352, 7359, 7367, 7375, 7383, 7390, 7398, 7406, 7414,
977 7422, 7431, 7440, 7448, 7456, 7463, 7471, 7478, 7486, 7494,
978 7502, 7510, 7517, 7524, 7532, 7539, 7546, 7554, 7561, 7568,
979 7576, 7583, 7591, 7598, 7606, 7614, 7621, 7629, 7637, 7645,
980 7654, 7663, 7672, 7681, 7690, 7699, 7708, 7717
983 static yyconst flex_int16_t yy_def[2489] =
985 2212, 2212, 2213, 2213, 2213, 2213, 2214, 2214, 2215, 2215,
986 2216, 2216, 2217, 2217, 2217, 2217, 2218, 2218, 2212, 2212,
987 2219, 2219, 2220, 2220, 2220, 2220, 2220, 2220, 2212, 2212,
988 2220, 2220, 2212, 2212, 2220, 2220, 2220, 2220, 2221, 2221,
989 2217, 2217, 2222, 2222, 2223, 2223, 2212, 2212, 2223, 2223,
990 2223, 2223, 2224, 2224, 2225, 2225, 2226, 2226, 2227, 2227,
991 2227, 2227, 2212, 2212, 2227, 2227, 2227, 2227, 2212, 2212,
992 2227, 2227, 2212, 2212, 2227, 2227, 2227, 2227, 2212, 2212,
993 2227, 2227, 2212, 2212, 2227, 2227, 2227, 2227, 2228, 2228,
994 2229, 2229, 2212, 2212, 2229, 2229, 2229, 2229, 2230, 2230,
996 2231, 2231, 2232, 2232, 2233, 2233, 2234, 2234, 2235, 2235,
997 2236, 2236, 2237, 2237, 2212, 2212, 2237, 2237, 2237, 2237,
998 2238, 2238, 2239, 2239, 2212, 2212, 2239, 2239, 2239, 2239,
999 2240, 2240, 2241, 2241, 2212, 2212, 2241, 2241, 2241, 2241,
1000 2242, 2242, 2243, 2243, 2244, 2244, 2245, 2245, 2212, 2212,
1001 2245, 2245, 2245, 2245, 2246, 2246, 2247, 2247, 2212, 2212,
1002 2247, 2247, 2247, 2247, 2248, 2248, 2249, 2249, 2250, 2250,
1003 2251, 2251, 2212, 2212, 2251, 2251, 2251, 2251, 2252, 2252,
1004 2253, 2253, 2212, 2212, 2211, 2211, 2211, 2211, 2211, 2211,
1005 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1007 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1008 2211, 2211, 2211, 2211, 2211, 2254, 2211, 2211, 2254, 2211,
1009 2211, 2211, 222, 222, 222, 224, 224, 2211, 2211, 2211,
1010 2255, 2211, 2211, 2255, 2255, 2255, 2211, 2211, 2211, 2211,
1011 2211, 2256, 2211, 2211, 2256, 2256, 2256, 2256, 2211, 2211,
1012 224, 224, 224, 2211, 2211, 2211, 2257, 2211, 2211, 2257,
1013 2257, 2257, 2211, 2211, 2211, 2211, 2211, 2211, 2258, 2211,
1014 2211, 2258, 2258, 2211, 2211, 225, 225, 225, 276, 277,
1015 277, 277, 277, 283, 284, 283, 283, 2211, 2211, 2211,
1016 2259, 2211, 2211, 2259, 2259, 2259, 2259, 2259, 2211, 2211,
1018 224, 224, 2211, 2211, 2211, 2260, 2211, 2211, 2260, 2260,
1019 2260, 2260, 2260, 2260, 2211, 2211, 2211, 2211, 2211, 2211,
1020 2261, 2211, 2211, 2261, 2261, 2261, 2261, 2261, 2261, 2211,
1021 2211, 2211, 2211, 2211, 2211, 2262, 2211, 2211, 2262, 2262,
1022 2211, 2211, 2211, 2211, 2211, 2211, 2263, 2211, 2211, 2263,
1023 2263, 2263, 2263, 2211, 2211, 224, 224, 2211, 2211, 2211,
1024 2264, 2211, 2211, 2264, 2264, 2211, 2211, 224, 368, 368,
1025 2211, 2211, 2211, 2265, 2211, 2211, 2265, 2265, 2265, 2211,
1026 2211, 368, 368, 2211, 2211, 2211, 2266, 2211, 2211, 2266,
1027 2266, 2211, 2211, 2211, 2211, 2211, 2211, 2267, 2211, 2211,
1029 2267, 2267, 2267, 2211, 2211, 368, 368, 2211, 2211, 2211,
1030 2268, 2211, 2211, 2268, 2268, 2268, 2268, 2211, 2211, 224,
1031 420, 420, 2211, 2211, 2211, 2269, 2211, 2211, 2269, 2211,
1032 2211, 2211, 2211, 2211, 2211, 2270, 2211, 2211, 2270, 2211,
1033 2211, 420, 442, 442, 2211, 2211, 2211, 2271, 2211, 2211,
1034 2271, 2271, 2211, 2211, 2211, 2211, 2272, 2211, 2211, 2211,
1035 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1036 2211, 2211, 2273, 2273, 2274, 2211, 2211, 2211, 2211, 2211,
1037 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1038 2211, 2211, 2275, 2275, 2275, 2275, 2211, 2276, 2211, 2211,
1040 2277, 2277, 2277, 2277, 2277, 2277, 2277, 2278, 2211, 2211,
1041 2279, 2279, 2279, 2279, 2280, 2211, 2281, 2281, 2281, 2282,
1042 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2259,
1043 2259, 2259, 2259, 2259, 2259, 2283, 2211, 2284, 2284, 2284,
1044 2284, 2284, 2284, 2284, 2284, 2284, 2284, 2285, 2211, 2286,
1045 2286, 2286, 2286, 2286, 2286, 2286, 2287, 2211, 2288, 2288,
1046 2288, 2289, 2211, 2290, 2290, 2290, 2290, 2290, 2290, 2291,
1047 2211, 2292, 2292, 2292, 2292, 2293, 2211, 2211, 2294, 2294,
1048 2294, 2294, 2294, 2295, 2211, 2296, 2296, 2296, 2297, 2211,
1049 2298, 2298, 2298, 2298, 2299, 2211, 2300, 2300, 2300, 2300,
1051 2300, 2301, 2211, 2211, 2302, 2302, 2303, 2211, 2304, 2304,
1052 2305, 2211, 2211, 2306, 2306, 2306, 2307, 2308, 2211, 2308,
1053 2211, 2211, 2211, 2309, 2211, 2211, 2211, 2211, 2211, 2211,
1054 2211, 2310, 2311, 2311, 2211, 2211, 2211, 2211, 2211, 2211,
1055 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1056 2211, 2211, 2211, 2312, 2211, 2211, 2312, 2211, 2313, 2313,
1057 2211, 2314, 2211, 2211, 2314, 2314, 2314, 2314, 2315, 2315,
1058 2211, 2316, 2316, 2316, 2317, 2317, 2211, 2211, 2318, 2319,
1059 2319, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2320,
1060 2320, 2320, 2211, 2211, 2320, 2320, 2321, 2321, 2322, 2211,
1062 2211, 2211, 2211, 2322, 2322, 2322, 2322, 2322, 2322, 2323,
1063 2323, 2324, 2324, 2211, 2211, 2324, 2324, 2324, 2325, 2325,
1064 2326, 2211, 2211, 2327, 2327, 2328, 2211, 2211, 2328, 2328,
1065 2328, 2329, 2329, 2330, 2330, 2330, 2331, 2331, 2211, 2332,
1066 2332, 2332, 2332, 2333, 2333, 2334, 2211, 2211, 2335, 2335,
1067 2336, 2336, 2336, 2337, 2337, 2338, 2338, 2338, 2338, 2339,
1068 2339, 2211, 2340, 2341, 2341, 2211, 2211, 2342, 2342, 2211,
1069 2211, 2211, 2343, 2344, 2344, 2345, 2211, 2211, 2345, 2211,
1070 2211, 2346, 2211, 2211, 2211, 2211, 2211, 2211, 2347, 2211,
1071 2348, 2211, 2348, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1073 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1074 2211, 2211, 2211, 2349, 2211, 2211, 2211, 2349, 2211, 2211,
1075 2350, 2211, 2350, 2351, 2211, 2211, 2211, 2211, 2211, 2351,
1076 2211, 2211, 2351, 2211, 2352, 2211, 2352, 2211, 2353, 2353,
1077 2353, 2211, 2354, 2211, 2354, 2211, 2211, 2211, 2355, 2211,
1078 2356, 2211, 2356, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1079 2357, 2357, 2357, 2211, 2211, 2211, 2357, 2357, 2211, 2358,
1080 2211, 2358, 2359, 2359, 2359, 2211, 2211, 2211, 2211, 2211,
1081 2211, 2211, 2211, 2359, 2359, 2359, 2359, 2359, 2211, 2360,
1082 2211, 2360, 2361, 2361, 2361, 2211, 2211, 2211, 2211, 2211,
1084 2361, 2361, 2211, 2362, 2211, 2362, 2363, 2211, 2211, 2211,
1085 2211, 2364, 2211, 2364, 2365, 2211, 2211, 2211, 2365, 2365,
1086 2365, 2211, 2366, 2211, 2366, 2211, 2211, 2211, 2211, 2367,
1087 2211, 2368, 2211, 2368, 2211, 2211, 2211, 2369, 2369, 2211,
1088 2211, 2369, 2211, 2370, 2211, 2370, 2371, 2211, 2211, 2211,
1089 2211, 2372, 2211, 2372, 2211, 2211, 2373, 2373, 2211, 2211,
1090 2211, 2374, 2211, 2374, 2375, 2375, 2375, 2375, 2211, 2376,
1091 2211, 2376, 2211, 2377, 2211, 2378, 2211, 2378, 2211, 2211,
1092 2211, 2211, 2379, 2211, 2379, 2211, 2211, 2211, 2211, 2380,
1093 2211, 2381, 2211, 2381, 2382, 2383, 2211, 2211, 2211, 2211,
1095 2211, 2384, 2385, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1096 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1097 2211, 2211, 2211, 2211, 2386, 2211, 2387, 2388, 2211, 2211,
1098 2211, 2211, 2211, 2211, 2211, 2211, 2388, 2389, 2211, 2390,
1099 2211, 2211, 2390, 2391, 2392, 2211, 2211, 2211, 2211, 2211,
1100 2211, 2211, 2211, 2211, 2393, 2393, 2211, 2211, 2393, 2393,
1101 2394, 2395, 2395, 2395, 2211, 2211, 2211, 2395, 2395, 2395,
1102 2395, 2395, 2396, 2397, 2397, 2397, 2211, 2211, 2211, 2397,
1103 2397, 2398, 2399, 2400, 2401, 2401, 2401, 2401, 2402, 2211,
1104 2211, 2211, 2211, 2211, 2211, 2403, 2404, 2211, 2211, 2211,
1106 2211, 2405, 2405, 2211, 2211, 2211, 2405, 2406, 2407, 2408,
1107 2211, 2211, 2211, 2409, 2409, 2211, 2211, 2211, 2410, 2411,
1108 2211, 2211, 2411, 2411, 2412, 2211, 2413, 2414, 2415, 2211,
1109 2416, 2417, 2418, 2419, 2419, 2211, 2419, 2211, 2211, 2211,
1110 2420, 2421, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1111 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1112 2211, 2211, 2211, 2211, 2211, 2422, 2211, 2423, 2424, 2211,
1113 2211, 2211, 2424, 2425, 2211, 2426, 2211, 2211, 2211, 2211,
1114 2211, 2427, 2428, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1115 2429, 2429, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2429,
1117 2430, 2211, 2211, 2431, 2431, 2211, 2211, 2431, 2431, 2431,
1118 2431, 2432, 2211, 2211, 2433, 2433, 2211, 2211, 2433, 2434,
1119 2435, 2436, 2437, 2437, 2437, 2211, 2211, 2437, 2438, 2439,
1120 2440, 2211, 2441, 2441, 2441, 2442, 2443, 2444, 2445, 2445,
1121 2446, 2447, 2211, 2211, 2211, 2447, 2447, 2448, 2211, 2211,
1122 2211, 2449, 2450, 2211, 2211, 2211, 2451, 2452, 2453, 2453,
1123 2211, 2211, 2454, 2455, 2211, 2211, 2211, 2211, 2211, 2211,
1124 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1125 2211, 2211, 2456, 2211, 2457, 2458, 2458, 2459, 2460, 2211,
1126 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1128 2461, 2462, 2211, 2211, 2211, 2211, 2463, 2463, 2211, 2211,
1129 2211, 2211, 2211, 2211, 2463, 2211, 2211, 2211, 2211, 2211,
1130 2211, 2211, 2464, 2211, 2211, 2211, 2211, 2211, 2464, 2464,
1131 2211, 2211, 2465, 2211, 2211, 2211, 2211, 2211, 2466, 2211,
1132 2211, 2211, 2466, 2211, 2211, 2467, 2468, 2469, 2469, 2469,
1133 2211, 2211, 2211, 2469, 2211, 2211, 2470, 2471, 2211, 2211,
1134 2211, 2211, 2211, 2472, 2473, 2474, 2475, 2211, 2211, 2211,
1135 2211, 2476, 2477, 2477, 2477, 2478, 2211, 2211, 2211, 2211,
1136 2479, 2480, 2211, 2211, 2211, 2211, 2211, 2211, 2481, 2482,
1137 2482, 2211, 2211, 2211, 2455, 2211, 2211, 2211, 2211, 2211,
1139 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1140 2456, 2211, 2211, 2211, 2458, 2458, 2459, 2211, 2211, 2211,
1141 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2461,
1142 2211, 2211, 2211, 2211, 2211, 2463, 2463, 2211, 2211, 2463,
1143 2211, 2211, 2211, 2464, 2211, 2211, 2211, 2211, 2211, 2464,
1144 2211, 2211, 2211, 2465, 2211, 2211, 2211, 2466, 2466, 2467,
1145 2468, 2469, 2211, 2211, 2469, 2469, 2211, 2211, 2469, 2470,
1146 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2472,
1147 2473, 2474, 2475, 2211, 2211, 2211, 2211, 2211, 2211, 2476,
1148 2477, 2477, 2477, 2478, 2211, 2479, 2480, 2211, 2481, 2482,
1150 2482, 2211, 2211, 2211, 2211, 2455, 2211, 2211, 2211, 2211,
1151 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2456, 2211, 2458,
1152 2458, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1153 2211, 2211, 2211, 2211, 2211, 2211, 2461, 2211, 2211, 2211,
1154 2211, 2211, 2463, 2463, 2211, 2211, 2211, 2211, 2463, 2464,
1155 2211, 2211, 2211, 2464, 2465, 2466, 2466, 2467, 2211, 2211,
1156 2469, 2211, 2211, 2211, 2469, 2469, 2211, 2211, 2211, 2211,
1157 2469, 2470, 2211, 2472, 2473, 2474, 2475, 2476, 2211, 2211,
1158 2477, 2477, 2478, 2211, 2479, 2211, 2211, 2481, 2482, 2482,
1159 2211, 2455, 2211, 2211, 2211, 2211, 2211, 2211, 2456, 2211,
1161 2211, 2458, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1162 2211, 2211, 2461, 2211, 2463, 2463, 2211, 2211, 2211, 2211,
1163 2463, 2464, 2464, 2211, 2211, 2466, 2466, 2467, 2211, 2211,
1164 2469, 2469, 2469, 2211, 2211, 2211, 2211, 2469, 2470, 2211,
1165 2472, 2211, 2211, 2211, 2211, 2475, 2476, 2211, 2211, 2211,
1166 2211, 2211, 2477, 2211, 2211, 2211, 2479, 2481, 2482, 2482,
1167 2211, 2211, 2211, 2211, 2211, 2456, 2211, 2211, 2211, 2458,
1168 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1169 2461, 2211, 2463, 2463, 2211, 2211, 2211, 2211, 2464, 2464,
1170 2466, 2466, 2467, 2211, 2211, 2211, 2469, 2469, 2469, 2211,
1172 2211, 2211, 2211, 2470, 2472, 2211, 2211, 2211, 2211, 2211,
1173 2476, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2481, 2482,
1174 2482, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1175 2458, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1176 2211, 2461, 2211, 2463, 2211, 2211, 2211, 2211, 2211, 2464,
1177 2464, 2211, 2211, 2466, 2211, 2211, 2469, 2469, 2469, 2211,
1178 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1179 2211, 2211, 2476, 2211, 2211, 2211, 2481, 2482, 2482, 2211,
1180 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2458,
1181 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2461, 2211,
1183 2211, 2211, 2463, 2211, 2211, 2211, 2464, 2464, 2211, 2211,
1184 2211, 2466, 2211, 2211, 2211, 2469, 2211, 2211, 2469, 2211,
1185 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1186 2211, 2476, 2481, 2482, 2482, 2482, 2211, 2211, 2211, 2211,
1187 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1188 2211, 2211, 2461, 2211, 2211, 2211, 2463, 2464, 2464, 2466,
1189 2469, 2211, 2211, 2211, 2469, 2211, 2211, 2211, 2211, 2211,
1190 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1191 2211, 2481, 2482, 2482, 2482, 2483, 2484, 2211, 2211, 2211,
1192 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1194 2211, 2211, 2461, 2463, 2464, 2211, 2211, 2211, 2211, 2211,
1195 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1196 2211, 2211, 2211, 2211, 2211, 2481, 2482, 2485, 2486, 2483,
1197 2484, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1198 2211, 2211, 2211, 2463, 2464, 2211, 2211, 2211, 2211, 2211,
1199 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1200 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2481,
1201 2485, 2482, 2487, 2486, 2488, 2482, 2211, 2211, 2211, 2211,
1202 2211, 2211, 2463, 2464, 2211, 2211, 2211, 2211, 2211, 2211,
1203 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1205 2481, 2487, 2211, 2488, 2482, 2211, 2211, 2211, 2211, 2211,
1206 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1207 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2481, 2211, 2211,
1208 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1209 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1210 2211, 2211, 2211, 2481, 2211, 2211, 2211, 2211, 2211, 2211,
1211 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1212 2211, 2211, 2211, 2211, 2211, 2481, 2211, 2211, 2211, 2211,
1213 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1214 2211, 2211, 2211, 2211, 2211, 2211, 2481, 2211, 2211, 2211,
1216 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1217 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2481, 2211, 2211,
1218 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1219 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2481, 2211,
1220 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1221 2211, 2211, 2211, 2481, 2211, 2211, 2211, 2211, 2211, 2211,
1222 2211, 2211, 2211, 2211, 2481, 2211, 2211, 2211, 2211, 2211,
1223 2211, 2211, 2211, 2211, 2211, 2481, 2481, 2211, 2211, 2211,
1224 2211, 2211, 2211, 2211, 2211, 2481, 2481, 2481, 2481, 2481,
1225 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481,
1227 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2481, 2211,
1228 0, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1229 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1230 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1231 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1232 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1233 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1234 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1235 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1236 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1238 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1239 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1240 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1241 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1242 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1243 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1244 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1245 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1246 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1247 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1249 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1250 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1251 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1252 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1253 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1254 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1255 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1256 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
1257 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211
1260 static yyconst flex_int16_t yy_nxt[7798] =
1262 2211, 188, 189, 188, 188, 189, 188, 188, 189, 188,
1263 188, 189, 188, 193, 189, 193, 199, 190, 196, 199,
1264 190, 196, 2211, 191, 508, 197, 191, 619, 197, 194,
1265 193, 189, 193, 457, 200, 202, 203, 200, 202, 203,
1266 204, 205, 620, 204, 205, 457, 194, 209, 210, 458,
1267 206, 202, 203, 206, 207, 460, 204, 202, 203, 777,
1268 207, 459, 204, 209, 210, 1499, 206, 189, 189, 189,
1269 520, 459, 206, 509, 189, 189, 189, 221, 189, 221,
1270 221, 189, 221, 212, 221, 189, 221, 504, 460, 211,
1271 212, 505, 2211, 222, 1136, 506, 222, 456, 456, 456,
1273 223, 456, 456, 456, 459, 211, 213, 214, 189, 214,
1274 213, 213, 213, 213, 213, 213, 213, 215, 213, 213,
1275 213, 525, 213, 217, 213, 218, 213, 221, 189, 221,
1276 221, 189, 221, 480, 1589, 221, 189, 221, 189, 189,
1277 189, 509, 483, 223, 471, 483, 224, 489, 460, 213,
1278 213, 224, 508, 1597, 225, 189, 189, 189, 456, 456,
1279 456, 456, 456, 456, 459, 456, 456, 456, 456, 456,
1280 456, 225, 219, 213, 214, 189, 214, 213, 213, 213,
1281 213, 213, 213, 213, 215, 213, 213, 213, 536, 213,
1282 217, 213, 218, 213, 221, 189, 221, 221, 189, 221,
1284 546, 491, 189, 189, 189, 189, 189, 189, 543, 2211,
1285 223, 544, 547, 223, 539, 777, 213, 213, 226, 995,
1286 460, 226, 221, 189, 221, 221, 189, 221, 221, 189,
1287 221, 221, 189, 221, 540, 2211, 459, 509, 224, 219,
1288 491, 224, 483, 619, 227, 478, 536, 227, 228, 229,
1289 189, 229, 228, 228, 228, 228, 228, 228, 228, 230,
1290 228, 228, 228, 2211, 228, 232, 228, 233, 228, 250,
1291 189, 250, 485, 486, 250, 189, 250, 658, 189, 189,
1292 189, 1598, 202, 203, 490, 251, 477, 204, 202, 203,
1293 251, 228, 228, 204, 252, 491, 568, 237, 625, 234,
1295 491, 626, 235, 237, 456, 456, 456, 569, 236, 228,
1296 229, 189, 229, 228, 228, 228, 228, 228, 228, 228,
1297 230, 228, 228, 228, 238, 228, 232, 228, 233, 228,
1298 238, 189, 189, 189, 250, 189, 250, 574, 250, 189,
1299 250, 250, 189, 250, 575, 460, 460, 252, 497, 460,
1300 251, 460, 228, 228, 251, 498, 515, 253, 1136, 570,
1301 234, 459, 459, 235, 459, 459, 465, 459, 570, 236,
1302 239, 240, 189, 240, 239, 239, 239, 239, 239, 239,
1303 239, 241, 239, 239, 239, 486, 239, 243, 239, 244,
1304 239, 250, 189, 250, 264, 189, 264, 1390, 582, 264,
1306 189, 264, 275, 189, 275, 583, 466, 253, 509, 460,
1307 265, 478, 467, 239, 239, 265, 468, 491, 276, 645,
1308 638, 469, 245, 639, 246, 459, 527, 247, 456, 456,
1309 456, 584, 646, 248, 239, 240, 189, 240, 239, 239,
1310 239, 239, 239, 239, 239, 241, 239, 239, 239, 645,
1311 239, 243, 239, 244, 239, 275, 189, 275, 275, 189,
1312 275, 777, 686, 275, 189, 275, 189, 189, 189, 638,
1313 1599, 276, 648, 460, 277, 779, 481, 239, 239, 277,
1314 460, 595, 278, 456, 456, 456, 245, 548, 246, 459,
1315 893, 247, 456, 456, 456, 894, 459, 248, 254, 255,
1317 189, 255, 254, 254, 254, 254, 254, 254, 254, 256,
1318 254, 254, 254, 486, 254, 258, 254, 259, 254, 189,
1319 189, 189, 275, 189, 275, 1013, 481, 275, 189, 275,
1320 275, 189, 275, 650, 645, 278, 648, 1014, 279, 460,
1321 487, 254, 254, 279, 460, 460, 280, 688, 260, 456,
1322 456, 456, 488, 261, 1602, 459, 489, 456, 456, 456,
1323 459, 459, 262, 254, 255, 189, 255, 254, 254, 254,
1324 254, 254, 254, 254, 256, 254, 254, 254, 645, 254,
1325 258, 254, 259, 254, 275, 189, 275, 189, 189, 189,
1326 1022, 689, 189, 189, 189, 275, 189, 275, 691, 770,
1328 280, 692, 1014, 281, 777, 1603, 254, 254, 281, 460,
1329 460, 277, 646, 260, 456, 456, 456, 557, 261, 456,
1330 456, 456, 1133, 1136, 2211, 459, 459, 262, 266, 267,
1331 189, 267, 266, 266, 266, 266, 266, 266, 266, 268,
1332 266, 266, 266, 1022, 266, 270, 266, 271, 266, 275,
1333 189, 275, 189, 189, 189, 1039, 1422, 189, 189, 189,
1334 275, 189, 275, 1423, 460, 277, 523, 1590, 282, 524,
1335 1604, 266, 266, 282, 777, 528, 280, 456, 456, 456,
1336 459, 576, 272, 456, 456, 456, 456, 456, 456, 1389,
1337 273, 266, 267, 189, 267, 266, 266, 266, 266, 266,
1339 266, 266, 268, 266, 266, 266, 777, 266, 270, 266,
1340 271, 266, 275, 189, 275, 275, 189, 275, 1136, 1605,
1341 275, 189, 275, 189, 189, 189, 577, 460, 280, 1258,
1342 491, 283, 1136, 1606, 266, 266, 283, 1607, 460, 284,
1343 189, 189, 189, 459, 460, 272, 275, 189, 275, 275,
1344 189, 275, 1136, 273, 459, 1608, 284, 189, 189, 189,
1345 459, 1501, 285, 1391, 460, 285, 189, 189, 189, 275,
1346 189, 275, 1609, 286, 275, 189, 275, 275, 189, 275,
1347 459, 1500, 286, 1545, 460, 283, 275, 189, 275, 1546,
1348 283, 562, 1610, 287, 456, 456, 456, 456, 456, 456,
1350 459, 1611, 287, 288, 289, 189, 289, 288, 288, 288,
1351 288, 288, 288, 288, 290, 288, 288, 288, 1612, 288,
1352 292, 288, 293, 288, 300, 189, 300, 300, 189, 300,
1353 1614, 1615, 189, 189, 189, 1427, 189, 189, 189, 1616,
1354 301, 1617, 1428, 301, 642, 460, 288, 288, 252, 294,
1355 643, 295, 252, 456, 456, 456, 644, 296, 456, 456,
1356 456, 459, 1618, 297, 1619, 1620, 298, 288, 289, 189,
1357 289, 288, 288, 288, 288, 288, 288, 288, 290, 288,
1358 288, 288, 1621, 288, 292, 288, 293, 288, 300, 189,
1359 300, 300, 189, 300, 1622, 1623, 300, 189, 300, 1547,
1361 300, 189, 300, 1626, 301, 1548, 1627, 301, 651, 460,
1362 288, 288, 302, 294, 643, 295, 302, 456, 456, 456,
1363 644, 296, 456, 456, 456, 459, 1628, 297, 1632, 1633,
1364 298, 303, 304, 189, 304, 303, 303, 303, 303, 303,
1365 303, 303, 305, 303, 303, 303, 1634, 303, 307, 303,
1366 308, 303, 316, 189, 316, 316, 189, 316, 1635, 1636,
1367 331, 189, 331, 331, 189, 331, 1567, 1569, 317, 1637,
1368 460, 317, 1568, 1570, 303, 303, 332, 589, 309, 332,
1369 456, 456, 456, 1638, 1639, 310, 459, 311, 456, 456,
1370 456, 312, 1641, 313, 314, 303, 304, 189, 304, 303,
1372 303, 303, 303, 303, 303, 303, 305, 303, 303, 303,
1373 1653, 303, 307, 303, 308, 303, 342, 189, 342, 342,
1374 189, 342, 1663, 1664, 355, 189, 355, 355, 189, 355,
1375 1665, 1666, 343, 1670, 460, 343, 1671, 1672, 303, 303,
1376 356, 607, 309, 356, 456, 456, 456, 1673, 1674, 310,
1377 459, 311, 456, 456, 456, 312, 602, 313, 314, 318,
1378 319, 189, 319, 318, 318, 318, 318, 318, 318, 318,
1379 320, 318, 318, 318, 1675, 318, 322, 318, 323, 318,
1380 189, 189, 189, 189, 189, 189, 1136, 1676, 355, 189,
1381 355, 603, 355, 189, 355, 1677, 252, 1678, 1679, 252,
1383 1680, 1682, 318, 318, 356, 509, 324, 325, 356, 456,
1384 456, 456, 1683, 326, 1684, 327, 456, 456, 456, 328,
1385 1136, 1660, 329, 318, 319, 189, 319, 318, 318, 318,
1386 318, 318, 318, 318, 320, 318, 318, 318, 1685, 318,
1387 322, 318, 323, 318, 355, 189, 355, 355, 189, 355,
1388 1659, 1686, 367, 189, 367, 1689, 367, 189, 367, 1690,
1389 357, 1691, 460, 357, 1692, 1693, 318, 318, 368, 617,
1390 324, 325, 368, 456, 456, 456, 1697, 326, 459, 327,
1391 456, 456, 456, 328, 1698, 1699, 329, 333, 334, 189,
1392 334, 333, 333, 333, 333, 333, 333, 333, 335, 333,
1394 333, 333, 1700, 333, 337, 333, 338, 333, 189, 189,
1395 189, 189, 189, 189, 1701, 1704, 367, 189, 367, 1705,
1396 367, 189, 367, 1722, 369, 1723, 1724, 369, 642, 1136,
1397 333, 333, 368, 777, 643, 339, 368, 456, 456, 456,
1398 653, 340, 333, 334, 189, 334, 333, 333, 333, 333,
1399 333, 333, 333, 335, 333, 333, 333, 1731, 333, 337,
1400 333, 338, 333, 367, 189, 367, 367, 189, 367, 1721,
1401 1719, 381, 189, 381, 1732, 381, 189, 381, 1733, 370,
1402 1734, 1735, 370, 651, 1736, 333, 333, 382, 1737, 643,
1403 339, 382, 456, 456, 456, 653, 340, 344, 345, 189,
1405 345, 344, 344, 344, 344, 344, 344, 344, 346, 344,
1406 344, 344, 1738, 344, 348, 344, 349, 344, 189, 189,
1407 189, 189, 189, 189, 1727, 1729, 381, 189, 381, 381,
1408 189, 381, 1739, 1740, 369, 1728, 1730, 369, 1741, 1743,
1409 344, 344, 382, 1744, 350, 382, 456, 456, 456, 1750,
1410 1751, 351, 1754, 352, 456, 456, 456, 456, 456, 456,
1411 353, 344, 345, 189, 345, 344, 344, 344, 344, 344,
1412 344, 344, 346, 344, 344, 344, 1757, 344, 348, 344,
1413 349, 344, 381, 189, 381, 381, 189, 381, 1758, 1759,
1414 393, 189, 393, 393, 189, 393, 1781, 1782, 383, 1767,
1416 1786, 383, 1787, 1788, 344, 344, 394, 1768, 350, 394,
1417 456, 456, 456, 1769, 1789, 351, 1790, 352, 456, 456,
1418 456, 456, 456, 456, 353, 358, 359, 189, 359, 358,
1419 358, 358, 358, 358, 358, 358, 360, 358, 358, 358,
1420 1791, 358, 362, 358, 363, 358, 405, 189, 405, 405,
1421 189, 405, 1136, 1770, 189, 189, 189, 189, 189, 189,
1422 651, 1771, 406, 1792, 1793, 406, 643, 1772, 358, 358,
1423 369, 1794, 671, 369, 364, 623, 623, 623, 623, 623,
1424 623, 1795, 781, 794, 794, 794, 1136, 1720, 365, 358,
1425 359, 189, 359, 358, 358, 358, 358, 358, 358, 358,
1427 360, 358, 358, 358, 1796, 358, 362, 358, 363, 358,
1428 405, 189, 405, 405, 189, 405, 1797, 1798, 405, 189,
1429 405, 405, 189, 405, 777, 1778, 406, 873, 1807, 406,
1430 1808, 624, 358, 358, 407, 1812, 874, 407, 364, 809,
1431 809, 809, 1136, 875, 795, 794, 794, 794, 794, 794,
1432 794, 1777, 365, 371, 372, 189, 372, 371, 371, 371,
1433 371, 371, 371, 371, 373, 371, 371, 371, 1816, 371,
1434 375, 371, 376, 371, 419, 189, 419, 419, 189, 419,
1435 1819, 1779, 189, 189, 189, 189, 189, 189, 1826, 1827,
1436 420, 1828, 1829, 420, 1830, 1831, 371, 371, 421, 777,
1438 795, 421, 377, 1837, 1838, 378, 815, 815, 815, 854,
1439 816, 1839, 1136, 817, 1840, 1841, 379, 371, 372, 189,
1440 372, 371, 371, 371, 371, 371, 371, 371, 373, 371,
1441 371, 371, 1842, 371, 375, 371, 376, 371, 419, 189,
1442 419, 419, 189, 419, 1833, 1834, 419, 189, 419, 419,
1443 189, 419, 1845, 1846, 420, 1847, 1848, 420, 1849, 1850,
1444 371, 371, 422, 1851, 1852, 422, 377, 1857, 1858, 378,
1445 825, 825, 825, 1859, 826, 1860, 1861, 827, 1865, 1874,
1446 379, 384, 385, 189, 385, 384, 384, 384, 384, 384,
1447 384, 384, 386, 384, 384, 384, 1875, 384, 388, 384,
1449 389, 384, 431, 189, 431, 431, 189, 431, 1876, 1866,
1450 441, 189, 441, 441, 189, 441, 1877, 1868, 432, 1867,
1451 1878, 432, 1879, 1890, 384, 384, 442, 1869, 1891, 442,
1452 390, 809, 809, 809, 1892, 391, 384, 385, 189, 385,
1453 384, 384, 384, 384, 384, 384, 384, 386, 384, 384,
1454 384, 777, 384, 388, 384, 389, 384, 189, 189, 189,
1455 189, 189, 189, 1893, 1870, 441, 189, 441, 441, 189,
1456 441, 1897, 1872, 252, 1871, 1898, 252, 1899, 1900, 384,
1457 384, 443, 1873, 1882, 443, 390, 1148, 1148, 1148, 1901,
1458 391, 395, 396, 189, 396, 395, 395, 395, 395, 395,
1460 395, 395, 397, 395, 395, 395, 1902, 395, 399, 395,
1461 400, 395, 441, 189, 441, 441, 189, 441, 1904, 1905,
1462 454, 189, 454, 454, 189, 454, 1914, 1915, 444, 1916,
1463 1917, 444, 1918, 1919, 395, 395, 455, 1920, 1921, 455,
1464 401, 520, 520, 402, 1922, 611, 846, 846, 846, 1923,
1465 847, 521, 526, 848, 403, 395, 396, 189, 396, 395,
1466 395, 395, 395, 395, 395, 395, 397, 395, 395, 395,
1467 1924, 395, 399, 395, 400, 395, 1925, 522, 522, 487,
1468 477, 1932, 1933, 523, 1934, 1935, 524, 1936, 655, 655,
1469 655, 491, 525, 663, 663, 663, 612, 1937, 395, 395,
1471 677, 677, 677, 1290, 401, 656, 777, 402, 1291, 1938,
1472 664, 1292, 809, 809, 809, 1293, 1939, 678, 403, 408,
1473 409, 189, 409, 408, 408, 408, 408, 408, 408, 408,
1474 410, 408, 408, 408, 1940, 408, 412, 408, 413, 408,
1475 693, 693, 693, 700, 700, 700, 1926, 702, 702, 702,
1476 714, 714, 714, 1294, 722, 722, 722, 694, 1295, 1941,
1477 701, 1296, 408, 408, 703, 1297, 1944, 715, 1945, 1958,
1478 414, 723, 415, 854, 416, 1959, 1149, 1149, 1149, 1151,
1479 1151, 1151, 417, 408, 409, 189, 409, 408, 408, 408,
1480 408, 408, 408, 408, 410, 408, 408, 408, 1960, 408,
1482 412, 408, 413, 408, 727, 727, 727, 747, 747, 747,
1483 1961, 766, 766, 766, 771, 771, 771, 790, 790, 790,
1484 1150, 728, 1962, 1963, 748, 1964, 408, 408, 767, 1965,
1485 1966, 772, 1967, 1968, 414, 792, 415, 1969, 416, 1154,
1486 1154, 1154, 1160, 1160, 1160, 1977, 417, 423, 424, 189,
1487 424, 423, 423, 423, 423, 423, 423, 423, 425, 423,
1488 423, 423, 1978, 423, 427, 423, 428, 423, 655, 655,
1489 655, 820, 820, 820, 790, 790, 790, 820, 820, 820,
1490 663, 663, 663, 1972, 1979, 656, 828, 828, 828, 822,
1491 423, 423, 792, 1980, 1975, 822, 777, 664, 864, 864,
1493 864, 1981, 865, 829, 1982, 866, 1175, 1175, 1175, 1186,
1494 1186, 1186, 1983, 429, 423, 424, 189, 424, 423, 423,
1495 423, 423, 423, 423, 423, 425, 423, 423, 423, 793,
1496 423, 427, 423, 428, 423, 831, 831, 831, 823, 1970,
1497 1984, 834, 834, 834, 1997, 842, 842, 842, 842, 842,
1498 842, 1972, 832, 677, 677, 677, 1998, 423, 423, 836,
1499 834, 834, 834, 844, 1999, 1973, 844, 876, 876, 876,
1500 678, 877, 2000, 2003, 878, 1187, 1187, 1187, 836, 2003,
1501 429, 433, 434, 189, 434, 433, 433, 433, 433, 433,
1502 433, 433, 435, 433, 433, 433, 2006, 433, 437, 433,
1504 438, 433, 850, 850, 850, 837, 693, 693, 693, 845,
1505 869, 869, 869, 869, 869, 869, 850, 850, 850, 1150,
1506 852, 2007, 1985, 694, 433, 433, 1136, 1137, 871, 2014,
1507 2017, 871, 1986, 2018, 852, 439, 433, 434, 189, 434,
1508 433, 433, 433, 433, 433, 433, 433, 435, 433, 433,
1509 433, 853, 433, 437, 433, 438, 433, 700, 700, 700,
1510 702, 702, 702, 879, 879, 879, 1987, 880, 1989, 2019,
1511 881, 872, 1972, 1972, 701, 2020, 1988, 703, 1990, 433,
1512 433, 896, 896, 896, 1975, 897, 1973, 2021, 898, 2012,
1513 439, 445, 446, 189, 446, 445, 445, 445, 445, 445,
1515 445, 445, 447, 445, 445, 445, 2013, 445, 449, 445,
1516 450, 445, 882, 882, 882, 889, 889, 889, 889, 889,
1517 889, 714, 714, 714, 899, 899, 899, 1991, 2024, 883,
1518 903, 903, 903, 891, 445, 445, 891, 1992, 715, 2015,
1519 2027, 900, 908, 908, 908, 451, 909, 2003, 905, 910,
1520 1149, 1149, 1149, 1148, 1148, 1148, 2016, 452, 445, 446,
1521 189, 446, 445, 445, 445, 445, 445, 445, 445, 447,
1522 445, 445, 445, 892, 445, 449, 445, 450, 445, 903,
1523 903, 903, 722, 722, 722, 911, 911, 911, 911, 911,
1524 911, 727, 727, 727, 1232, 1993, 777, 905, 2022, 723,
1526 2029, 445, 445, 913, 1995, 1994, 913, 2003, 728, 916,
1527 916, 916, 451, 917, 1996, 2023, 918, 922, 922, 922,
1528 922, 922, 922, 2025, 452, 460, 2030, 2031, 906, 948,
1529 948, 948, 475, 949, 2001, 924, 950, 2038, 924, 2039,
1530 2026, 459, 476, 926, 926, 926, 914, 928, 928, 928,
1531 1149, 1149, 1149, 2211, 2211, 2211, 2040, 931, 931, 931,
1532 927, 931, 931, 931, 929, 2041, 2042, 477, 478, 479,
1533 2211, 2043, 2044, 925, 480, 933, 2045, 481, 2046, 933,
1534 2047, 482, 2048, 483, 2049, 484, 936, 936, 936, 2211,
1535 2211, 2211, 2050, 940, 940, 940, 2211, 2211, 2211, 943,
1537 943, 943, 2051, 937, 2052, 2053, 2211, 2055, 2056, 930,
1538 941, 2060, 2061, 2211, 943, 943, 943, 945, 2057, 934,
1539 2058, 747, 747, 747, 951, 951, 951, 951, 951, 951,
1540 2059, 2062, 945, 955, 955, 955, 2063, 938, 748, 2211,
1541 2211, 2211, 953, 2064, 2065, 953, 959, 959, 959, 946,
1542 956, 939, 942, 961, 961, 961, 2211, 961, 961, 961,
1543 969, 969, 969, 960, 2066, 969, 969, 969, 975, 975,
1544 975, 963, 975, 975, 975, 963, 2067, 2068, 971, 2069,
1545 954, 2070, 2071, 971, 2072, 2073, 977, 957, 2074, 2075,
1546 977, 766, 766, 766, 2077, 979, 979, 979, 2078, 980,
1548 777, 958, 981, 982, 982, 982, 2079, 2080, 767, 982,
1549 982, 982, 771, 771, 771, 987, 987, 987, 2081, 988,
1550 2082, 984, 989, 2076, 2083, 964, 972, 984, 2084, 772,
1551 991, 991, 991, 978, 991, 991, 991, 790, 790, 790,
1552 790, 790, 790, 790, 790, 790, 2085, 2086, 993, 1023,
1553 1023, 1023, 993, 2087, 2088, 792, 2089, 2090, 792, 2091,
1554 2092, 792, 2211, 2211, 2211, 2093, 1024, 985, 815, 815,
1555 815, 2094, 816, 2095, 2096, 817, 820, 820, 820, 2211,
1556 820, 820, 820, 820, 820, 820, 2098, 2099, 1003, 825,
1557 825, 825, 2100, 826, 822, 994, 827, 2101, 822, 2102,
1559 2103, 822, 828, 828, 828, 1029, 1029, 1029, 777, 1030,
1560 2104, 2105, 1031, 1032, 1032, 1032, 831, 831, 831, 829,
1561 1025, 2106, 1034, 1034, 1034, 2097, 1035, 2107, 1027, 1036,
1562 1033, 2108, 2109, 832, 834, 834, 834, 834, 834, 834,
1563 834, 834, 834, 1041, 1041, 1041, 842, 842, 842, 842,
1564 842, 842, 836, 2110, 2111, 836, 2112, 2113, 836, 2114,
1565 1042, 842, 842, 842, 844, 2115, 2116, 844, 846, 846,
1566 846, 2117, 847, 2119, 777, 848, 850, 850, 850, 844,
1567 850, 850, 850, 1046, 1046, 1046, 1057, 1057, 1057, 864,
1568 864, 864, 2118, 865, 852, 2120, 866, 1038, 852, 2121,
1570 2122, 1047, 2123, 1058, 2124, 2125, 1044, 869, 869, 869,
1571 869, 869, 869, 869, 869, 869, 876, 876, 876, 2126,
1572 877, 2127, 2128, 878, 2129, 871, 2130, 2131, 871, 2132,
1573 2133, 871, 879, 879, 879, 2134, 880, 2135, 2136, 881,
1574 882, 882, 882, 1065, 1065, 1065, 2137, 1066, 2138, 2140,
1575 1067, 889, 889, 889, 889, 889, 889, 883, 889, 889,
1576 889, 896, 896, 896, 777, 897, 2141, 2142, 898, 891,
1577 2139, 2143, 891, 2144, 2145, 1061, 891, 899, 899, 899,
1578 1077, 1077, 1077, 2146, 1078, 2147, 2148, 1079, 903, 903,
1579 903, 903, 903, 903, 900, 903, 903, 903, 908, 908,
1581 908, 2149, 909, 2150, 2151, 910, 905, 2152, 2153, 905,
1582 911, 911, 911, 905, 911, 911, 911, 911, 911, 911,
1583 2155, 777, 1073, 916, 916, 916, 2156, 917, 913, 2157,
1584 918, 2158, 913, 2154, 2159, 913, 922, 922, 922, 922,
1585 922, 922, 2160, 2161, 1082, 922, 922, 922, 926, 926,
1586 926, 1090, 1090, 1090, 924, 1091, 2162, 924, 1092, 928,
1587 928, 928, 2163, 924, 2164, 927, 1093, 1093, 1093, 2166,
1588 1094, 2167, 2168, 1095, 2169, 2170, 929, 931, 931, 931,
1589 2171, 1084, 931, 931, 931, 931, 931, 931, 936, 936,
1590 936, 2172, 1099, 1099, 1099, 933, 1100, 2173, 2174, 1101,
1592 933, 2175, 1089, 933, 2178, 937, 940, 940, 940, 1104,
1593 1104, 1104, 2179, 1105, 2180, 2181, 1106, 943, 943, 943,
1594 943, 943, 943, 941, 943, 943, 943, 948, 948, 948,
1595 2182, 949, 2183, 2184, 950, 945, 2185, 1594, 945, 951,
1596 951, 951, 945, 951, 951, 951, 951, 951, 951, 1097,
1597 955, 955, 955, 959, 959, 959, 1584, 953, 1111, 1111,
1598 1111, 953, 1112, 777, 953, 1113, 777, 956, 2200, 777,
1599 960, 1116, 1116, 1116, 1582, 1117, 1581, 777, 1118, 961,
1600 961, 961, 961, 961, 961, 1108, 961, 961, 961, 1121,
1601 1121, 1121, 969, 969, 969, 1576, 777, 963, 2188, 777,
1603 963, 2189, 2192, 1110, 963, 1574, 1122, 969, 969, 969,
1604 971, 969, 969, 969, 975, 975, 975, 975, 975, 975,
1605 975, 975, 975, 1573, 777, 971, 979, 979, 979, 971,
1606 980, 2196, 977, 981, 777, 977, 1572, 2190, 977, 982,
1607 982, 982, 982, 982, 982, 1119, 982, 982, 982, 987,
1608 987, 987, 1571, 988, 777, 1566, 989, 984, 777, 1565,
1609 984, 991, 991, 991, 984, 991, 991, 991, 2186, 1125,
1610 777, 1128, 991, 991, 991, 1135, 1135, 1135, 2187, 993,
1611 790, 790, 790, 993, 1023, 1023, 1023, 820, 820, 820,
1612 993, 2193, 2191, 1136, 1137, 1163, 1163, 1163, 792, 1164,
1614 2198, 1024, 1165, 1129, 777, 822, 1029, 1029, 1029, 777,
1615 1030, 2201, 777, 1031, 1032, 1032, 1032, 1170, 1170, 1170,
1616 777, 1171, 1561, 1558, 1172, 1034, 1034, 1034, 1557, 1035,
1617 1132, 1033, 1036, 777, 1168, 834, 834, 834, 1041, 1041,
1618 1041, 777, 2199, 1142, 1177, 1177, 1177, 2194, 1178, 777,
1619 1556, 1179, 2195, 836, 777, 1042, 1180, 1180, 1180, 842,
1620 842, 842, 1046, 1046, 1046, 1057, 1057, 1057, 1193, 1193,
1621 1193, 1554, 1194, 1181, 1550, 1195, 2197, 844, 2204, 2202,
1622 1047, 777, 1058, 1174, 1196, 1196, 1196, 1198, 1198, 1198,
1623 869, 869, 869, 1202, 1202, 1202, 2211, 2211, 2211, 2205,
1625 777, 1197, 1549, 2208, 1199, 1544, 1182, 1543, 871, 2208,
1626 1203, 2203, 1542, 2211, 777, 2211, 2211, 2211, 1065, 1065,
1627 1065, 777, 1066, 777, 1536, 1067, 1206, 1206, 1206, 1535,
1628 2206, 1200, 2211, 2211, 2211, 2211, 1534, 2211, 2211, 2211,
1629 2211, 2211, 2211, 1207, 2211, 2211, 2211, 889, 889, 889,
1630 2211, 2207, 1533, 1201, 2211, 1532, 1531, 2211, 1530, 1204,
1631 1205, 2211, 1213, 1213, 1213, 891, 2211, 2211, 2211, 2211,
1632 2211, 2211, 1529, 1077, 1077, 1077, 1528, 1078, 1527, 1214,
1633 1079, 1521, 1209, 2211, 1520, 1519, 2211, 1217, 1217, 1217,
1634 2211, 2211, 2211, 1518, 903, 903, 903, 1210, 1516, 1514,
1636 1208, 911, 911, 911, 1218, 1512, 1511, 2211, 1509, 1212,
1637 1508, 1211, 905, 1226, 1226, 1226, 922, 922, 922, 913,
1638 1502, 1495, 1216, 1493, 1090, 1090, 1090, 1492, 1091, 1215,
1639 1227, 1092, 1491, 1482, 924, 1093, 1093, 1093, 1480, 1094,
1640 1473, 1470, 1095, 931, 931, 931, 1469, 1219, 1468, 1099,
1641 1099, 1099, 1467, 1100, 1466, 1220, 1101, 1228, 1104, 1104,
1642 1104, 933, 1105, 1462, 1222, 1106, 943, 943, 943, 1460,
1643 1229, 951, 951, 951, 1111, 1111, 1111, 1459, 1112, 1458,
1644 1450, 1113, 1444, 1440, 945, 1439, 1116, 1116, 1116, 953,
1645 1117, 1438, 1437, 1118, 961, 961, 961, 1121, 1121, 1121,
1647 1243, 1243, 1243, 1436, 1244, 1434, 1231, 1245, 969, 969,
1648 969, 1433, 963, 1429, 1122, 1250, 1250, 1250, 975, 975,
1649 975, 1255, 1255, 1255, 1236, 1238, 971, 982, 982, 982,
1650 1426, 1425, 1251, 991, 991, 991, 977, 1424, 1256, 1241,
1651 1135, 1135, 1135, 1421, 1420, 984, 790, 790, 790, 1416,
1652 1415, 993, 1151, 1151, 1151, 1248, 1412, 1411, 1136, 1154,
1653 1154, 1154, 1410, 1409, 792, 1274, 1274, 1274, 1276, 1276,
1654 1276, 1160, 1160, 1160, 1280, 1280, 1280, 1253, 1408, 1163,
1655 1163, 1163, 1252, 1164, 1406, 1403, 1165, 1402, 1401, 1259,
1656 1399, 1398, 1257, 820, 820, 820, 1264, 1170, 1170, 1170,
1658 1397, 1171, 1396, 1392, 1172, 1260, 834, 834, 834, 1383,
1659 1377, 822, 1277, 1175, 1175, 1175, 1375, 1374, 1281, 1373,
1660 1366, 1177, 1177, 1177, 836, 1178, 1275, 1359, 1179, 1180,
1661 1180, 1180, 1298, 1298, 1298, 1357, 1299, 1354, 1350, 1300,
1662 1349, 1348, 1285, 842, 842, 842, 1181, 1186, 1186, 1186,
1663 1187, 1187, 1187, 1305, 1305, 1305, 1305, 1305, 1305, 1346,
1664 1315, 844, 1308, 1307, 1288, 1274, 1274, 1274, 1193, 1193,
1665 1193, 1304, 1194, 1303, 1302, 1195, 1196, 1196, 1196, 1309,
1666 1309, 1309, 1289, 1310, 1287, 1286, 1311, 1198, 1198, 1198,
1667 1284, 1283, 1301, 1197, 1312, 1312, 1312, 1282, 1313, 1279,
1669 1278, 1314, 1273, 1272, 1199, 1316, 1316, 1316, 1202, 1202,
1670 1202, 1318, 1318, 1318, 1306, 1319, 1271, 1275, 1320, 1321,
1671 1321, 1321, 1270, 1317, 1269, 1203, 1306, 2211, 2211, 2211,
1672 1206, 1206, 1206, 1324, 1324, 1324, 1322, 1325, 1268, 1267,
1673 1326, 1327, 1327, 1327, 2211, 1266, 1265, 1207, 2211, 2211,
1674 2211, 2211, 2211, 2211, 1331, 1331, 1331, 1263, 1328, 889,
1675 889, 889, 1213, 1213, 1213, 2211, 1262, 1261, 2211, 1136,
1676 1254, 1332, 1249, 1247, 1334, 1334, 1334, 891, 1335, 1214,
1677 1246, 1336, 1337, 1337, 1337, 1400, 1400, 1400, 1323, 2211,
1678 2211, 2211, 1217, 1217, 1217, 1242, 2211, 2211, 2211, 1338,
1680 1240, 1239, 1330, 1329, 1237, 1235, 2211, 1234, 1233, 1218,
1681 1340, 1340, 1340, 2211, 1341, 1230, 1225, 1342, 1344, 1344,
1682 1344, 1224, 1333, 911, 911, 911, 1226, 1226, 1226, 1223,
1683 1351, 1351, 1351, 1221, 1352, 1192, 1345, 1353, 1355, 1355,
1684 1355, 913, 1191, 1227, 1190, 1189, 1339, 1343, 931, 931,
1685 931, 1360, 1360, 1360, 1188, 1185, 1356, 1362, 1362, 1362,
1686 2211, 2211, 2211, 943, 943, 943, 933, 1184, 1361, 951,
1687 951, 951, 1347, 1183, 1363, 1176, 1173, 2211, 1368, 1368,
1688 1368, 945, 1370, 1370, 1370, 1169, 1167, 953, 961, 961,
1689 961, 969, 969, 969, 1166, 1369, 1162, 1358, 1161, 1371,
1691 1243, 1243, 1243, 1159, 1244, 1158, 963, 1245, 1157, 971,
1692 975, 975, 975, 1367, 1250, 1250, 1250, 1156, 1378, 1378,
1693 1378, 1364, 1379, 1155, 1153, 1380, 1152, 1365, 977, 1147,
1694 1146, 1251, 1145, 982, 982, 982, 1255, 1255, 1255, 1144,
1695 1376, 1384, 1384, 1384, 1143, 1385, 1141, 1140, 1386, 1139,
1696 1372, 984, 1138, 1256, 1387, 1387, 1387, 1393, 1393, 1393,
1697 790, 790, 790, 1404, 1404, 1404, 1381, 1274, 1274, 1274,
1698 1131, 1130, 1388, 1127, 1394, 1405, 1405, 1405, 792, 1276,
1699 1276, 1276, 1407, 1407, 1407, 1126, 1382, 1280, 1280, 1280,
1700 1413, 1413, 1413, 834, 834, 834, 1418, 1418, 1418, 1298,
1702 1298, 1298, 1124, 1299, 1123, 1120, 1300, 1115, 1414, 1114,
1703 1109, 836, 1107, 1419, 842, 842, 842, 1103, 1395, 1431,
1704 1431, 1431, 1305, 1305, 1305, 1435, 1435, 1435, 1316, 1316,
1705 1316, 1102, 844, 1309, 1309, 1309, 1432, 1310, 1098, 1096,
1706 1311, 1312, 1312, 1312, 1088, 1313, 1317, 1087, 1314, 1417,
1707 1318, 1318, 1318, 1086, 1319, 1085, 1083, 1320, 1430, 1321,
1708 1321, 1321, 1441, 1441, 1441, 1081, 1442, 1080, 1076, 1443,
1709 1324, 1324, 1324, 1075, 1325, 1074, 1322, 1326, 1327, 1327,
1710 1327, 1445, 1445, 1445, 1072, 1446, 1071, 1070, 1447, 1448,
1711 1448, 1448, 1331, 1331, 1331, 1328, 1451, 1451, 1451, 1069,
1713 1452, 1068, 1064, 1453, 1063, 1062, 1449, 1060, 1059, 1332,
1714 889, 889, 889, 1334, 1334, 1334, 1056, 1335, 1055, 1054,
1715 1336, 1337, 1337, 1337, 1053, 1455, 1455, 1455, 891, 1456,
1716 1052, 1051, 1457, 1340, 1340, 1340, 1050, 1341, 1338, 1049,
1717 1342, 1048, 1344, 1344, 1344, 911, 911, 911, 1463, 1463,
1718 1463, 1351, 1351, 1351, 1045, 1352, 1043, 1040, 1353, 1454,
1719 1345, 1037, 1028, 913, 1026, 1464, 1355, 1355, 1355, 1471,
1720 1471, 1471, 1360, 1360, 1360, 1474, 1474, 1474, 1021, 1475,
1721 1020, 1019, 1476, 1018, 1356, 1017, 1016, 1472, 1015, 1361,
1722 1012, 1011, 1465, 1362, 1362, 1362, 1477, 1477, 1477, 1010,
1724 1478, 1009, 1008, 1479, 1007, 1006, 1461, 943, 943, 943,
1725 1363, 951, 951, 951, 1368, 1368, 1368, 1484, 1484, 1484,
1726 1005, 1485, 1004, 1002, 1486, 945, 1370, 1370, 1370, 953,
1727 1001, 1369, 1487, 1487, 1487, 1000, 1488, 999, 998, 1489,
1728 1498, 1498, 1498, 1371, 961, 961, 961, 969, 969, 969,
1729 1378, 1378, 1378, 997, 1379, 996, 777, 1380, 1483, 975,
1730 975, 975, 963, 990, 986, 971, 982, 982, 982, 974,
1731 1481, 1384, 1384, 1384, 973, 1385, 968, 977, 1386, 1387,
1732 1387, 1387, 967, 966, 984, 1393, 1393, 1393, 1503, 1503,
1733 1503, 965, 1504, 947, 935, 1505, 921, 1388, 790, 790,
1735 790, 920, 1394, 1507, 1507, 1507, 1490, 919, 1496, 1494,
1736 1510, 1510, 1510, 1400, 1400, 1400, 792, 1497, 1513, 1513,
1737 1513, 1404, 1404, 1404, 1405, 1405, 1405, 1407, 1407, 1407,
1738 1515, 1515, 1515, 1517, 1517, 1517, 1413, 1413, 1413, 1522,
1739 1522, 1522, 915, 1418, 1418, 1418, 1524, 1524, 1524, 907,
1740 1525, 902, 901, 1526, 1414, 895, 888, 1523, 887, 1506,
1741 1419, 842, 842, 842, 1431, 1431, 1431, 1538, 1538, 1538,
1742 886, 1539, 885, 884, 1540, 1541, 1541, 1541, 868, 844,
1743 867, 1432, 1435, 1435, 1435, 1441, 1441, 1441, 863, 1442,
1744 862, 861, 1443, 1445, 1445, 1445, 860, 1446, 859, 858,
1746 1447, 1448, 1448, 1448, 857, 1551, 1551, 1551, 1537, 1552,
1747 856, 855, 1553, 1451, 1451, 1451, 849, 1452, 1449, 841,
1748 1453, 889, 889, 889, 1455, 1455, 1455, 840, 1456, 839,
1749 838, 1457, 1559, 1559, 1559, 1463, 1463, 1463, 833, 891,
1750 1562, 1562, 1562, 830, 1563, 824, 819, 1564, 818, 814,
1751 1560, 813, 1464, 1471, 1471, 1471, 1474, 1474, 1474, 812,
1752 1475, 811, 810, 1476, 808, 1477, 1477, 1477, 807, 1478,
1753 806, 1472, 1479, 943, 943, 943, 951, 951, 951, 1484,
1754 1484, 1484, 1555, 1485, 805, 804, 1486, 803, 1487, 1487,
1755 1487, 945, 1488, 802, 953, 1489, 961, 961, 961, 1579,
1757 1579, 1579, 969, 969, 969, 975, 975, 975, 1586, 1586,
1758 1586, 1498, 1498, 1498, 963, 801, 1580, 1588, 1588, 1588,
1759 971, 800, 1575, 977, 799, 798, 1587, 1591, 1591, 1591,
1760 1578, 790, 790, 790, 797, 777, 1503, 1503, 1503, 1577,
1761 1504, 796, 789, 1505, 1507, 1507, 1507, 788, 787, 792,
1762 1593, 1593, 1593, 1510, 1510, 1510, 1595, 1595, 1595, 1596,
1763 1596, 1596, 1585, 786, 1583, 1513, 1513, 1513, 1515, 1515,
1764 1515, 1517, 1517, 1517, 1600, 1600, 1600, 1522, 1522, 1522,
1765 785, 1524, 1524, 1524, 784, 1525, 783, 1592, 1526, 780,
1766 778, 1601, 842, 842, 842, 1523, 1538, 1538, 1538, 777,
1768 1539, 775, 773, 1540, 1541, 1541, 1541, 1551, 1551, 1551,
1769 844, 1552, 769, 765, 1553, 1624, 1624, 1624, 1559, 1559,
1770 1559, 1629, 1629, 1629, 1562, 1562, 1562, 763, 1563, 762,
1771 761, 1564, 759, 1625, 758, 757, 1560, 756, 1630, 1640,
1772 1640, 1640, 1642, 1642, 1642, 1644, 1644, 1644, 755, 753,
1773 1613, 951, 951, 951, 961, 961, 961, 1579, 1579, 1579,
1774 1643, 752, 1645, 751, 750, 1631, 1648, 1648, 1648, 953,
1775 1649, 746, 963, 1650, 1580, 1651, 1651, 1651, 1654, 1654,
1776 1654, 1656, 1656, 1656, 975, 975, 975, 1586, 1586, 1586,
1777 745, 743, 1652, 1588, 1588, 1588, 1655, 1591, 1591, 1591,
1779 742, 741, 977, 740, 739, 1587, 738, 736, 1646, 735,
1780 734, 777, 1647, 1661, 1661, 1661, 1593, 1593, 1593, 1595,
1781 1595, 1595, 1596, 1596, 1596, 1600, 1600, 1600, 1667, 1667,
1782 1667, 1662, 1668, 733, 731, 1669, 842, 842, 842, 1687,
1783 1687, 1687, 1601, 1624, 1624, 1624, 730, 1657, 1629, 1629,
1784 1629, 729, 1658, 726, 844, 725, 1688, 1702, 1702, 1702,
1785 721, 1625, 1694, 1694, 1694, 1630, 1695, 720, 718, 1696,
1786 1640, 1640, 1640, 717, 1703, 716, 1642, 1642, 1642, 1644,
1787 1644, 1644, 1706, 1706, 1706, 713, 1707, 712, 711, 1708,
1788 1709, 1709, 1709, 1681, 1643, 709, 1645, 961, 961, 961,
1790 1648, 1648, 1648, 708, 1649, 707, 706, 1650, 1710, 1651,
1791 1651, 1651, 1712, 1712, 1712, 963, 1713, 705, 704, 1714,
1792 1715, 1715, 1715, 1654, 1654, 1654, 1652, 1656, 1656, 1656,
1793 1717, 1717, 1717, 1661, 1661, 1661, 699, 1716, 1725, 1725,
1794 1725, 1655, 1667, 1667, 1667, 698, 1668, 696, 1718, 1669,
1795 695, 1662, 842, 842, 842, 1726, 1745, 1745, 1745, 690,
1796 687, 1711, 1687, 1687, 1687, 1747, 1747, 1747, 685, 1748,
1797 844, 684, 1749, 1746, 1752, 1752, 1752, 683, 682, 1688,
1798 1755, 1755, 1755, 1694, 1694, 1694, 681, 1695, 679, 676,
1799 1696, 1753, 674, 1702, 1702, 1702, 673, 1756, 1760, 1760,
1801 1760, 672, 1761, 670, 668, 1762, 1763, 1763, 1763, 1742,
1802 1703, 1765, 1765, 1765, 1706, 1706, 1706, 667, 1707, 666,
1803 665, 1708, 662, 1764, 1709, 1709, 1709, 661, 1766, 961,
1804 961, 961, 1712, 1712, 1712, 660, 1713, 657, 654, 1714,
1805 652, 649, 1710, 1715, 1715, 1715, 647, 963, 1774, 1774,
1806 1774, 641, 1775, 640, 637, 1776, 1717, 1717, 1717, 636,
1807 1716, 1780, 1780, 1780, 1725, 1725, 1725, 635, 1783, 1783,
1808 1783, 634, 1784, 632, 1718, 1785, 842, 842, 842, 631,
1809 630, 1726, 1800, 1800, 1800, 1801, 1801, 1801, 1745, 1745,
1810 1745, 629, 1773, 628, 844, 627, 1804, 1804, 1804, 622,
1812 1805, 619, 1802, 1806, 621, 1746, 1747, 1747, 1747, 616,
1813 1748, 615, 613, 1749, 1752, 1752, 1752, 1809, 1809, 1809,
1814 483, 1810, 610, 608, 1811, 1799, 1755, 1755, 1755, 1803,
1815 606, 1753, 1813, 1813, 1813, 604, 1814, 2211, 601, 1815,
1816 1817, 1817, 1817, 1756, 1760, 1760, 1760, 600, 1761, 599,
1817 598, 1762, 1763, 1763, 1763, 596, 595, 1818, 1820, 1820,
1818 1820, 594, 1821, 593, 592, 1822, 1765, 1765, 1765, 1764,
1819 1823, 1823, 1823, 590, 1824, 588, 587, 1825, 961, 961,
1820 961, 585, 584, 1766, 1774, 1774, 1774, 581, 1775, 580,
1821 578, 1776, 1835, 1835, 1835, 481, 963, 1780, 1780, 1780,
1823 1783, 1783, 1783, 2211, 1784, 573, 571, 1785, 567, 1836,
1824 1136, 1843, 1843, 1843, 842, 842, 842, 1800, 1800, 1800,
1825 1801, 1801, 1801, 566, 1817, 1817, 1817, 1832, 1844, 1854,
1826 1854, 1854, 844, 1855, 565, 563, 1856, 1802, 1804, 1804,
1827 1804, 1818, 1805, 561, 560, 1806, 1809, 1809, 1809, 558,
1828 1810, 556, 555, 1811, 554, 1813, 1813, 1813, 553, 1814,
1829 552, 1853, 1815, 1862, 1862, 1862, 551, 1863, 549, 545,
1830 1864, 1820, 1820, 1820, 542, 1821, 541, 537, 1822, 1823,
1831 1823, 1823, 535, 1824, 534, 533, 1825, 1880, 1880, 1880,
1832 1883, 1883, 1883, 1835, 1835, 1835, 1885, 1885, 1885, 532,
1834 1886, 531, 529, 1887, 2211, 1881, 486, 1884, 1136, 524,
1835 1836, 1136, 519, 518, 1136, 1888, 1888, 1888, 1889, 1889,
1836 1889, 1843, 1843, 1843, 1894, 1894, 1894, 516, 1895, 514,
1837 513, 1896, 842, 842, 842, 1854, 1854, 1854, 1844, 1855,
1838 512, 510, 1856, 1906, 1906, 1906, 1908, 1908, 1908, 507,
1839 844, 1910, 1910, 1910, 1862, 1862, 1862, 503, 1863, 502,
1840 1907, 1864, 500, 1909, 1912, 1912, 1912, 499, 1911, 1880,
1841 1880, 1880, 1883, 1883, 1883, 1927, 1927, 1927, 496, 1928,
1842 495, 1913, 1929, 494, 1885, 1885, 1885, 1881, 1886, 1884,
1843 1136, 1887, 492, 1136, 491, 1903, 1888, 1888, 1888, 1889,
1845 1889, 1889, 1136, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1846 1134, 1134, 2211, 485, 1134, 1942, 1942, 1942, 474, 1134,
1847 1134, 1134, 1136, 1134, 1894, 1894, 1894, 472, 1895, 470,
1848 464, 1896, 463, 1943, 464, 463, 462, 461, 2211, 2211,
1849 1906, 1906, 1906, 1908, 1908, 1908, 1134, 1134, 1134, 1134,
1850 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1907, 2211, 1134,
1851 1909, 2211, 2211, 2211, 1134, 1134, 1134, 1136, 1134, 1946,
1852 1946, 1946, 2211, 1947, 2211, 2211, 1948, 1949, 1949, 1949,
1853 2211, 1950, 2211, 2211, 1951, 1910, 1910, 1910, 1912, 1912,
1854 1912, 1134, 1134, 1952, 1952, 1952, 2211, 1953, 2211, 2211,
1856 1954, 2211, 1911, 2211, 2211, 1913, 1955, 1955, 1955, 2211,
1857 1956, 2211, 2211, 1957, 1927, 1927, 1927, 2211, 1928, 2211,
1858 2211, 1929, 2211, 2211, 1942, 1942, 1942, 2005, 2005, 2005,
1859 2211, 2211, 1136, 1134, 1134, 1134, 1134, 1134, 1976, 1134,
1860 1134, 1134, 1943, 2211, 1134, 1136, 1137, 2211, 2211, 1134,
1861 1134, 1134, 1136, 1134, 1946, 1946, 1946, 2211, 1947, 2211,
1862 2211, 1948, 1949, 1949, 1949, 2211, 1950, 2211, 2211, 1951,
1863 2008, 2008, 2008, 2010, 2010, 2010, 1134, 1134, 1134, 1134,
1864 1134, 1134, 1134, 1134, 1134, 1134, 1976, 2009, 2211, 1134,
1865 2011, 2211, 2211, 2211, 1134, 1134, 1134, 1136, 1134, 1952,
1867 1952, 1952, 2211, 1953, 2211, 2211, 1954, 1955, 1955, 1955,
1868 2211, 1956, 2211, 2211, 1957, 2028, 2028, 2028, 2005, 2005,
1869 2005, 1134, 1134, 2008, 2008, 2008, 2211, 2032, 2032, 2032,
1870 2211, 2033, 2211, 777, 2034, 2211, 1136, 2010, 2010, 2010,
1871 2009, 2035, 2035, 2035, 2211, 2036, 2211, 2211, 2037, 2211,
1872 2028, 2028, 2028, 2211, 2011, 2032, 2032, 2032, 2211, 2033,
1873 2211, 2211, 2034, 2165, 2165, 2165, 2211, 1259, 777, 2035,
1874 2035, 2035, 2211, 2036, 2211, 2211, 2037, 2209, 2209, 2209,
1875 2211, 777, 2165, 2165, 2165, 2054, 2176, 2211, 2211, 2177,
1876 2209, 2209, 2209, 2211, 2211, 2210, 2211, 2211, 2211, 2211,
1878 777, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2210, 186,
1879 186, 186, 186, 186, 186, 186, 186, 186, 187, 187,
1880 187, 187, 187, 187, 187, 187, 187, 192, 192, 192,
1881 192, 192, 192, 192, 192, 192, 195, 195, 195, 195,
1882 195, 195, 195, 195, 195, 198, 198, 198, 198, 198,
1883 198, 198, 198, 198, 201, 201, 201, 201, 201, 201,
1884 201, 201, 201, 208, 208, 208, 208, 208, 208, 208,
1885 208, 208, 216, 216, 216, 216, 216, 216, 216, 216,
1886 216, 220, 220, 220, 220, 220, 220, 220, 220, 220,
1887 231, 231, 231, 231, 231, 231, 231, 231, 231, 242,
1889 242, 242, 242, 242, 242, 242, 242, 242, 249, 249,
1890 249, 249, 249, 249, 249, 249, 249, 257, 257, 257,
1891 257, 257, 257, 257, 257, 257, 263, 263, 263, 263,
1892 263, 263, 263, 263, 263, 269, 269, 269, 269, 269,
1893 269, 269, 269, 269, 274, 274, 274, 274, 274, 274,
1894 274, 274, 274, 291, 291, 291, 291, 291, 291, 291,
1895 291, 291, 299, 299, 299, 299, 299, 299, 299, 299,
1896 299, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1897 315, 315, 315, 315, 315, 315, 315, 315, 315, 321,
1898 321, 321, 321, 321, 321, 321, 321, 321, 330, 330,
1900 330, 330, 330, 330, 330, 330, 330, 336, 336, 336,
1901 336, 336, 336, 336, 336, 336, 341, 341, 341, 341,
1902 341, 341, 341, 341, 341, 347, 347, 347, 347, 347,
1903 347, 347, 347, 347, 354, 354, 354, 354, 354, 354,
1904 354, 354, 354, 361, 361, 361, 361, 361, 361, 361,
1905 361, 361, 366, 366, 366, 366, 366, 366, 366, 366,
1906 366, 374, 374, 374, 374, 374, 374, 374, 374, 374,
1907 380, 380, 380, 380, 380, 380, 380, 380, 380, 387,
1908 387, 387, 387, 387, 387, 387, 387, 387, 392, 392,
1909 392, 392, 392, 392, 392, 392, 392, 398, 398, 398,
1911 398, 398, 398, 398, 398, 398, 404, 404, 404, 404,
1912 404, 404, 404, 404, 404, 411, 411, 411, 411, 411,
1913 411, 411, 411, 411, 418, 418, 418, 418, 418, 418,
1914 418, 418, 418, 426, 426, 426, 426, 426, 426, 426,
1915 426, 426, 430, 430, 430, 430, 430, 430, 430, 430,
1916 430, 436, 436, 436, 436, 436, 436, 436, 436, 436,
1917 440, 440, 440, 440, 440, 440, 440, 440, 440, 448,
1918 448, 448, 448, 448, 448, 448, 448, 448, 453, 453,
1919 453, 453, 453, 453, 453, 453, 453, 473, 473, 473,
1920 2211, 2211, 2211, 473, 493, 493, 493, 2211, 2211, 2211,
1922 493, 501, 501, 501, 2211, 2211, 2211, 501, 511, 511,
1923 511, 2211, 2211, 2211, 511, 517, 517, 517, 2211, 2211,
1924 2211, 517, 530, 530, 530, 2211, 2211, 2211, 530, 538,
1925 538, 538, 2211, 2211, 2211, 538, 550, 550, 550, 2211,
1926 2211, 2211, 550, 559, 559, 559, 2211, 2211, 2211, 559,
1927 564, 564, 564, 2211, 2211, 2211, 564, 572, 572, 572,
1928 2211, 2211, 2211, 572, 579, 579, 579, 2211, 2211, 2211,
1929 579, 586, 586, 586, 2211, 2211, 2211, 586, 591, 591,
1930 591, 2211, 2211, 2211, 591, 597, 597, 597, 2211, 2211,
1931 2211, 597, 605, 605, 605, 2211, 2211, 2211, 605, 609,
1933 609, 609, 2211, 2211, 2211, 609, 614, 614, 614, 2211,
1934 2211, 2211, 614, 618, 618, 618, 618, 618, 618, 618,
1935 2211, 618, 473, 473, 473, 2211, 2211, 2211, 473, 633,
1936 2211, 2211, 2211, 633, 493, 493, 493, 2211, 2211, 2211,
1937 493, 659, 2211, 2211, 2211, 659, 501, 501, 501, 2211,
1938 2211, 2211, 501, 669, 2211, 2211, 2211, 669, 511, 511,
1939 511, 2211, 2211, 2211, 511, 675, 2211, 2211, 2211, 675,
1940 517, 517, 517, 2211, 2211, 2211, 517, 680, 2211, 2211,
1941 2211, 680, 697, 2211, 2211, 2211, 697, 538, 538, 538,
1942 2211, 2211, 2211, 538, 710, 2211, 2211, 2211, 710, 550,
1944 550, 550, 2211, 2211, 2211, 550, 719, 2211, 2211, 2211,
1945 719, 559, 559, 559, 2211, 2211, 2211, 559, 724, 2211,
1946 2211, 2211, 724, 564, 564, 564, 2211, 2211, 2211, 564,
1947 732, 2211, 2211, 2211, 732, 572, 572, 572, 2211, 2211,
1948 2211, 572, 737, 2211, 2211, 2211, 737, 579, 579, 579,
1949 2211, 2211, 2211, 579, 744, 2211, 2211, 2211, 744, 586,
1950 586, 586, 2211, 2211, 2211, 586, 749, 2211, 2211, 2211,
1951 749, 591, 591, 591, 2211, 2211, 2211, 591, 754, 2211,
1952 2211, 2211, 754, 597, 597, 597, 2211, 2211, 2211, 597,
1953 760, 2211, 2211, 2211, 760, 605, 605, 605, 2211, 2211,
1955 2211, 605, 764, 2211, 2211, 2211, 764, 609, 609, 609,
1956 2211, 2211, 2211, 609, 768, 2211, 2211, 2211, 768, 614,
1957 614, 614, 2211, 2211, 2211, 614, 774, 2211, 2211, 2211,
1958 774, 776, 776, 776, 776, 776, 776, 776, 776, 776,
1959 782, 2211, 2211, 2211, 2211, 782, 473, 473, 473, 2211,
1960 2211, 2211, 473, 791, 791, 791, 791, 2211, 2211, 791,
1961 791, 493, 493, 493, 2211, 2211, 2211, 493, 821, 821,
1962 821, 821, 2211, 2211, 821, 821, 501, 501, 501, 2211,
1963 2211, 2211, 501, 835, 835, 835, 835, 2211, 2211, 835,
1964 835, 511, 511, 511, 2211, 2211, 2211, 511, 843, 843,
1966 843, 843, 2211, 2211, 843, 843, 517, 517, 517, 2211,
1967 2211, 2211, 517, 851, 851, 851, 851, 2211, 2211, 851,
1968 851, 530, 530, 530, 2211, 2211, 2211, 530, 870, 870,
1969 870, 870, 2211, 2211, 870, 870, 538, 538, 538, 2211,
1970 2211, 2211, 538, 890, 890, 890, 890, 2211, 2211, 890,
1971 890, 550, 550, 550, 2211, 2211, 2211, 550, 904, 904,
1972 904, 904, 2211, 2211, 904, 904, 559, 559, 559, 2211,
1973 2211, 2211, 559, 912, 912, 912, 912, 2211, 2211, 912,
1974 912, 564, 564, 564, 2211, 2211, 2211, 564, 923, 923,
1975 923, 923, 2211, 2211, 923, 923, 572, 572, 572, 572,
1977 2211, 572, 2211, 572, 932, 932, 932, 932, 2211, 2211,
1978 932, 932, 579, 579, 579, 579, 2211, 579, 2211, 579,
1979 944, 944, 944, 944, 2211, 2211, 944, 944, 586, 586,
1980 586, 2211, 2211, 2211, 586, 952, 952, 952, 952, 2211,
1981 2211, 952, 952, 591, 591, 591, 591, 2211, 591, 2211,
1982 591, 962, 962, 962, 962, 2211, 2211, 962, 962, 597,
1983 597, 597, 2211, 2211, 2211, 597, 970, 970, 970, 970,
1984 2211, 2211, 970, 970, 605, 605, 605, 2211, 2211, 2211,
1985 605, 976, 976, 976, 976, 2211, 2211, 976, 976, 983,
1986 983, 983, 983, 2211, 2211, 983, 983, 614, 614, 614,
1988 2211, 2211, 2211, 614, 992, 992, 992, 992, 2211, 2211,
1989 992, 992, 776, 776, 776, 776, 776, 776, 776, 776,
1990 776, 782, 2211, 782, 2211, 2211, 782, 473, 473, 473,
1991 2211, 2211, 2211, 473, 791, 791, 791, 791, 2211, 2211,
1992 791, 791, 493, 493, 493, 493, 2211, 493, 2211, 493,
1993 821, 821, 821, 821, 2211, 2211, 821, 821, 501, 501,
1994 501, 2211, 2211, 2211, 501, 835, 835, 835, 835, 2211,
1995 2211, 835, 835, 511, 511, 511, 2211, 2211, 2211, 511,
1996 843, 843, 843, 843, 2211, 2211, 843, 843, 517, 517,
1997 517, 2211, 2211, 2211, 517, 851, 851, 851, 851, 2211,
1999 2211, 851, 851, 530, 530, 530, 2211, 2211, 2211, 530,
2000 870, 870, 870, 870, 2211, 2211, 870, 870, 538, 538,
2001 538, 2211, 2211, 2211, 538, 890, 890, 890, 890, 2211,
2002 2211, 890, 890, 550, 550, 550, 2211, 2211, 2211, 550,
2003 904, 904, 904, 904, 2211, 2211, 904, 904, 559, 559,
2004 559, 2211, 2211, 2211, 559, 912, 912, 912, 912, 2211,
2005 2211, 912, 912, 564, 564, 564, 2211, 2211, 2211, 564,
2006 923, 923, 923, 923, 2211, 2211, 923, 923, 572, 572,
2007 572, 2211, 2211, 2211, 572, 932, 932, 932, 932, 2211,
2008 2211, 932, 932, 579, 579, 579, 2211, 2211, 2211, 579,
2010 944, 944, 944, 944, 2211, 2211, 944, 944, 586, 586,
2011 586, 2211, 2211, 2211, 586, 952, 952, 952, 952, 2211,
2012 2211, 952, 952, 591, 591, 591, 2211, 2211, 2211, 591,
2013 962, 962, 962, 962, 2211, 2211, 962, 962, 597, 597,
2014 597, 2211, 2211, 2211, 597, 970, 970, 970, 970, 2211,
2015 2211, 970, 970, 605, 605, 605, 2211, 2211, 2211, 605,
2016 976, 976, 976, 976, 2211, 2211, 976, 976, 983, 983,
2017 983, 983, 2211, 2211, 983, 983, 614, 614, 614, 2211,
2018 2211, 2211, 614, 992, 992, 992, 992, 2211, 2211, 992,
2019 992, 776, 776, 776, 776, 776, 776, 776, 776, 776,
2021 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 473,
2022 473, 473, 2211, 2211, 2211, 473, 791, 791, 791, 791,
2023 2211, 2211, 791, 791, 493, 493, 493, 2211, 2211, 2211,
2024 493, 821, 821, 821, 821, 2211, 2211, 821, 821, 501,
2025 501, 501, 2211, 2211, 2211, 501, 835, 835, 835, 835,
2026 2211, 2211, 835, 835, 511, 511, 511, 2211, 2211, 2211,
2027 511, 843, 843, 843, 843, 2211, 2211, 843, 843, 517,
2028 517, 517, 2211, 2211, 2211, 517, 530, 530, 530, 2211,
2029 2211, 2211, 530, 870, 870, 870, 870, 2211, 2211, 870,
2030 870, 538, 538, 538, 538, 2211, 538, 2211, 538, 890,
2032 890, 890, 890, 2211, 2211, 890, 890, 550, 550, 550,
2033 550, 2211, 550, 2211, 550, 904, 904, 904, 904, 2211,
2034 2211, 904, 904, 559, 559, 559, 2211, 2211, 2211, 559,
2035 912, 912, 912, 912, 2211, 2211, 912, 912, 564, 564,
2036 564, 2211, 2211, 2211, 564, 923, 923, 923, 923, 2211,
2037 2211, 923, 923, 572, 572, 572, 2211, 2211, 2211, 572,
2038 932, 932, 932, 932, 2211, 2211, 932, 932, 579, 579,
2039 579, 2211, 2211, 2211, 579, 944, 944, 944, 944, 2211,
2040 2211, 944, 944, 586, 586, 586, 2211, 2211, 2211, 586,
2041 952, 952, 952, 952, 2211, 2211, 952, 952, 591, 591,
2043 591, 2211, 2211, 2211, 591, 962, 962, 962, 962, 2211,
2044 2211, 962, 962, 597, 597, 597, 2211, 2211, 2211, 597,
2045 970, 970, 970, 970, 2211, 2211, 970, 970, 605, 605,
2046 605, 605, 2211, 605, 2211, 605, 976, 976, 976, 976,
2047 2211, 2211, 976, 976, 983, 983, 983, 983, 2211, 2211,
2048 983, 983, 614, 614, 614, 614, 2211, 614, 2211, 614,
2049 992, 992, 992, 992, 2211, 2211, 992, 992, 776, 776,
2050 776, 776, 776, 776, 776, 776, 776, 1134, 1134, 1134,
2051 1134, 1134, 1134, 1134, 1134, 1134, 473, 473, 473, 2211,
2052 2211, 2211, 473, 791, 791, 791, 791, 2211, 2211, 791,
2054 791, 493, 493, 493, 2211, 2211, 2211, 493, 821, 821,
2055 821, 821, 2211, 2211, 821, 821, 501, 501, 501, 2211,
2056 2211, 2211, 501, 835, 835, 835, 835, 2211, 2211, 835,
2057 835, 511, 511, 511, 2211, 2211, 2211, 511, 843, 843,
2058 843, 843, 2211, 2211, 843, 843, 517, 517, 517, 2211,
2059 2211, 2211, 517, 530, 530, 530, 2211, 2211, 2211, 530,
2060 870, 870, 870, 870, 2211, 2211, 870, 870, 538, 538,
2061 538, 538, 2211, 538, 2211, 538, 890, 890, 890, 890,
2062 2211, 2211, 890, 890, 550, 550, 550, 550, 2211, 550,
2063 2211, 550, 904, 904, 904, 904, 2211, 2211, 904, 904,
2065 559, 559, 559, 2211, 2211, 2211, 559, 912, 912, 912,
2066 912, 2211, 2211, 912, 912, 564, 564, 564, 2211, 2211,
2067 2211, 564, 923, 923, 923, 923, 2211, 2211, 923, 923,
2068 572, 572, 572, 2211, 2211, 2211, 572, 932, 932, 932,
2069 932, 2211, 2211, 932, 932, 579, 579, 579, 579, 2211,
2070 579, 2211, 579, 944, 944, 944, 944, 2211, 2211, 944,
2071 944, 586, 586, 586, 2211, 2211, 2211, 586, 952, 952,
2072 952, 952, 2211, 2211, 952, 952, 591, 591, 591, 591,
2073 2211, 591, 2211, 591, 962, 962, 962, 962, 2211, 2211,
2074 962, 962, 597, 597, 597, 2211, 2211, 2211, 597, 970,
2076 970, 970, 970, 2211, 2211, 970, 970, 976, 976, 976,
2077 976, 2211, 2211, 976, 976, 983, 983, 983, 983, 2211,
2078 2211, 983, 983, 992, 992, 992, 992, 2211, 2211, 992,
2079 992, 776, 776, 776, 776, 776, 776, 776, 776, 776,
2080 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 473,
2081 473, 473, 473, 2211, 473, 2211, 473, 791, 791, 791,
2082 791, 2211, 2211, 791, 791, 493, 493, 493, 2211, 2211,
2083 2211, 493, 821, 821, 821, 821, 2211, 2211, 821, 821,
2084 501, 501, 501, 2211, 2211, 2211, 501, 835, 835, 835,
2085 835, 2211, 2211, 835, 835, 511, 511, 511, 511, 2211,
2087 511, 2211, 511, 843, 843, 843, 843, 2211, 2211, 843,
2088 843, 517, 517, 517, 517, 2211, 517, 2211, 517, 530,
2089 530, 530, 2211, 2211, 2211, 530, 538, 538, 538, 2211,
2090 2211, 2211, 538, 890, 890, 890, 890, 2211, 2211, 890,
2091 890, 550, 550, 550, 2211, 2211, 2211, 550, 559, 559,
2092 559, 2211, 2211, 2211, 559, 912, 912, 912, 912, 2211,
2093 2211, 912, 912, 564, 564, 564, 2211, 2211, 2211, 564,
2094 572, 572, 572, 2211, 2211, 2211, 572, 932, 932, 932,
2095 932, 2211, 2211, 932, 932, 579, 579, 579, 2211, 2211,
2096 2211, 579, 944, 944, 944, 944, 2211, 2211, 944, 944,
2098 586, 586, 586, 2211, 2211, 2211, 586, 952, 952, 952,
2099 952, 2211, 2211, 952, 952, 962, 962, 962, 962, 2211,
2100 2211, 962, 962, 597, 597, 597, 2211, 2211, 2211, 597,
2101 970, 970, 970, 970, 2211, 2211, 970, 970, 976, 976,
2102 976, 976, 2211, 2211, 976, 976, 983, 983, 983, 983,
2103 2211, 2211, 983, 983, 776, 776, 776, 776, 776, 776,
2104 776, 776, 776, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
2105 1134, 1134, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930,
2106 1930, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931,
2107 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1971, 1974,
2109 1974, 1974, 1974, 1974, 1974, 1974, 1974, 1974, 2002, 2002,
2110 2002, 2002, 2002, 2002, 2002, 2002, 2002, 2004, 2004, 2004,
2111 2004, 2004, 2004, 2004, 2004, 2004, 185, 2211, 2211, 2211,
2112 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2113 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2114 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2115 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2116 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2117 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2118 2211, 2211, 2211, 2211, 2211, 2211, 2211
2122 static yyconst flex_int16_t yy_chk[7798] =
2124 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2125 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2126 4, 10, 0, 5, 251, 9, 6, 457, 10, 7,
2127 8, 8, 8, 190, 11, 13, 13, 12, 14, 14,
2128 13, 13, 457, 14, 14, 191, 8, 17, 17, 190,
2129 13, 15, 15, 14, 15, 194, 15, 16, 16, 1389,
2130 16, 191, 16, 18, 18, 1389, 15, 19, 19, 19,
2131 285, 194, 16, 251, 20, 20, 20, 23, 23, 23,
2132 24, 24, 24, 19, 25, 25, 25, 247, 212, 17,
2133 20, 247, 252, 23, 1500, 247, 24, 188, 188, 188,
2135 25, 189, 189, 189, 212, 18, 21, 21, 21, 21,
2136 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2137 21, 285, 21, 21, 21, 21, 21, 26, 26, 26,
2138 27, 27, 27, 279, 1500, 28, 28, 28, 29, 29,
2139 29, 252, 279, 26, 212, 287, 27, 287, 217, 21,
2140 21, 28, 253, 1514, 29, 30, 30, 30, 193, 193,
2141 193, 214, 214, 214, 217, 221, 221, 221, 229, 229,
2142 229, 30, 21, 22, 22, 22, 22, 22, 22, 22,
2143 22, 22, 22, 22, 22, 22, 22, 22, 301, 22,
2144 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2146 314, 253, 33, 33, 33, 34, 34, 34, 312, 281,
2147 31, 312, 314, 32, 309, 779, 22, 22, 33, 779,
2148 232, 34, 35, 35, 35, 36, 36, 36, 37, 37,
2149 37, 38, 38, 38, 309, 225, 232, 301, 35, 22,
2150 444, 36, 444, 497, 37, 281, 302, 38, 39, 39,
2151 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2152 39, 39, 39, 282, 39, 39, 39, 39, 39, 45,
2153 45, 45, 225, 282, 46, 46, 46, 497, 47, 47,
2154 47, 1516, 41, 41, 225, 45, 422, 41, 42, 42,
2155 46, 39, 39, 42, 47, 302, 353, 41, 466, 39,
2157 422, 466, 39, 42, 240, 240, 240, 353, 39, 40,
2158 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2159 40, 40, 40, 40, 41, 40, 40, 40, 40, 40,
2160 42, 48, 48, 48, 49, 49, 49, 365, 50, 50,
2161 50, 51, 51, 51, 365, 243, 258, 48, 237, 265,
2162 49, 270, 40, 40, 50, 237, 265, 51, 1259, 356,
2163 40, 243, 258, 40, 237, 265, 204, 270, 357, 40,
2164 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2165 43, 43, 43, 43, 43, 283, 43, 43, 43, 43,
2166 43, 52, 52, 52, 55, 55, 55, 1259, 379, 56,
2168 56, 56, 59, 59, 59, 379, 204, 52, 356, 292,
2169 55, 283, 204, 43, 43, 56, 204, 357, 59, 483,
2170 479, 204, 43, 479, 43, 292, 283, 43, 250, 250,
2171 250, 383, 483, 43, 44, 44, 44, 44, 44, 44,
2172 44, 44, 44, 44, 44, 44, 44, 44, 44, 525,
2173 44, 44, 44, 44, 44, 60, 60, 60, 61, 61,
2174 61, 620, 525, 62, 62, 62, 63, 63, 63, 485,
2175 1518, 60, 485, 307, 61, 620, 383, 44, 44, 62,
2176 317, 407, 63, 255, 255, 255, 44, 317, 44, 307,
2177 712, 44, 264, 264, 264, 712, 317, 44, 53, 53,
2179 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2180 53, 53, 53, 224, 53, 53, 53, 53, 53, 64,
2181 64, 64, 65, 65, 65, 804, 407, 66, 66, 66,
2182 67, 67, 67, 487, 527, 64, 487, 804, 65, 322,
2183 224, 53, 53, 66, 337, 348, 67, 527, 53, 267,
2184 267, 267, 224, 53, 1521, 322, 224, 275, 275, 275,
2185 337, 348, 53, 54, 54, 54, 54, 54, 54, 54,
2186 54, 54, 54, 54, 54, 54, 54, 54, 528, 54,
2187 54, 54, 54, 54, 68, 68, 68, 69, 69, 69,
2188 813, 528, 70, 70, 70, 71, 71, 71, 532, 612,
2190 68, 532, 813, 69, 995, 1527, 54, 54, 70, 362,
2191 332, 71, 612, 54, 289, 289, 289, 332, 54, 300,
2192 300, 300, 995, 1501, 284, 362, 332, 54, 57, 57,
2193 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2194 57, 57, 57, 838, 57, 57, 57, 57, 57, 72,
2195 72, 72, 73, 73, 73, 838, 1292, 74, 74, 74,
2196 75, 75, 75, 1292, 375, 72, 284, 1501, 73, 284,
2197 1528, 57, 57, 74, 1258, 284, 75, 304, 304, 304,
2198 375, 368, 57, 316, 316, 316, 319, 319, 319, 1258,
2199 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2201 58, 58, 58, 58, 58, 58, 1133, 58, 58, 58,
2202 58, 58, 76, 76, 76, 77, 77, 77, 1391, 1529,
2203 78, 78, 78, 79, 79, 79, 368, 388, 76, 1133,
2204 368, 77, 1260, 1530, 58, 58, 78, 1531, 399, 79,
2205 80, 80, 80, 388, 412, 58, 81, 81, 81, 82,
2206 82, 82, 1390, 58, 399, 1532, 80, 83, 83, 83,
2207 412, 1391, 81, 1260, 427, 82, 84, 84, 84, 85,
2208 85, 85, 1533, 83, 86, 86, 86, 87, 87, 87,
2209 427, 1390, 84, 1438, 343, 85, 88, 88, 88, 1438,
2210 86, 343, 1534, 87, 331, 331, 331, 334, 334, 334,
2212 343, 1535, 88, 89, 89, 89, 89, 89, 89, 89,
2213 89, 89, 89, 89, 89, 89, 89, 89, 1536, 89,
2214 89, 89, 89, 89, 91, 91, 91, 92, 92, 92,
2215 1542, 1543, 93, 93, 93, 1296, 94, 94, 94, 1544,
2216 91, 1545, 1296, 92, 482, 437, 89, 89, 93, 89,
2217 482, 89, 94, 342, 342, 342, 482, 89, 345, 345,
2218 345, 437, 1546, 89, 1547, 1548, 89, 90, 90, 90,
2219 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2220 90, 90, 1549, 90, 90, 90, 90, 90, 95, 95,
2221 95, 96, 96, 96, 1550, 1554, 97, 97, 97, 1439,
2223 98, 98, 98, 1556, 95, 1439, 1557, 96, 488, 449,
2224 90, 90, 97, 90, 488, 90, 98, 355, 355, 355,
2225 488, 90, 359, 359, 359, 449, 1558, 90, 1565, 1566,
2226 90, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2227 99, 99, 99, 99, 99, 99, 1567, 99, 99, 99,
2228 99, 99, 101, 101, 101, 102, 102, 102, 1568, 1569,
2229 105, 105, 105, 106, 106, 106, 1467, 1468, 101, 1570,
2230 394, 102, 1467, 1468, 99, 99, 105, 394, 99, 106,
2231 367, 367, 367, 1571, 1572, 99, 394, 99, 372, 372,
2232 372, 99, 1574, 99, 99, 100, 100, 100, 100, 100,
2234 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
2235 1582, 100, 100, 100, 100, 100, 109, 109, 109, 110,
2236 110, 110, 1594, 1597, 113, 113, 113, 114, 114, 114,
2237 1598, 1599, 109, 1602, 432, 110, 1603, 1604, 100, 100,
2238 113, 432, 100, 114, 381, 381, 381, 1605, 1606, 100,
2239 432, 100, 385, 385, 385, 100, 420, 100, 100, 103,
2240 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2241 103, 103, 103, 103, 1607, 103, 103, 103, 103, 103,
2242 115, 115, 115, 116, 116, 116, 1590, 1608, 117, 117,
2243 117, 420, 118, 118, 118, 1609, 115, 1610, 1611, 116,
2245 1612, 1614, 103, 103, 117, 420, 103, 103, 118, 393,
2246 393, 393, 1615, 103, 1616, 103, 396, 396, 396, 103,
2247 1589, 1590, 103, 104, 104, 104, 104, 104, 104, 104,
2248 104, 104, 104, 104, 104, 104, 104, 104, 1617, 104,
2249 104, 104, 104, 104, 119, 119, 119, 120, 120, 120,
2250 1589, 1619, 123, 123, 123, 1622, 124, 124, 124, 1623,
2251 119, 1626, 455, 120, 1627, 1628, 104, 104, 123, 455,
2252 104, 104, 124, 405, 405, 405, 1631, 104, 455, 104,
2253 409, 409, 409, 104, 1632, 1633, 104, 107, 107, 107,
2254 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2256 107, 107, 1634, 107, 107, 107, 107, 107, 125, 125,
2257 125, 126, 126, 126, 1636, 1639, 127, 127, 127, 1641,
2258 128, 128, 128, 1663, 125, 1664, 1665, 126, 490, 1660,
2259 107, 107, 127, 1658, 490, 107, 128, 419, 419, 419,
2260 490, 107, 108, 108, 108, 108, 108, 108, 108, 108,
2261 108, 108, 108, 108, 108, 108, 108, 1670, 108, 108,
2262 108, 108, 108, 129, 129, 129, 130, 130, 130, 1660,
2263 1658, 133, 133, 133, 1671, 134, 134, 134, 1672, 129,
2264 1673, 1674, 130, 491, 1675, 108, 108, 133, 1676, 491,
2265 108, 134, 424, 424, 424, 491, 108, 111, 111, 111,
2267 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2268 111, 111, 1677, 111, 111, 111, 111, 111, 135, 135,
2269 135, 136, 136, 136, 1668, 1669, 137, 137, 137, 138,
2270 138, 138, 1678, 1679, 135, 1668, 1669, 136, 1680, 1682,
2271 111, 111, 137, 1683, 111, 138, 431, 431, 431, 1689,
2272 1690, 111, 1692, 111, 434, 434, 434, 441, 441, 441,
2273 111, 112, 112, 112, 112, 112, 112, 112, 112, 112,
2274 112, 112, 112, 112, 112, 112, 1697, 112, 112, 112,
2275 112, 112, 139, 139, 139, 140, 140, 140, 1698, 1699,
2276 143, 143, 143, 144, 144, 144, 1723, 1724, 139, 1707,
2278 1727, 140, 1728, 1729, 112, 112, 143, 1707, 112, 144,
2279 446, 446, 446, 1707, 1730, 112, 1731, 112, 454, 454,
2280 454, 456, 456, 456, 112, 121, 121, 121, 121, 121,
2281 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2282 1732, 121, 121, 121, 121, 121, 147, 147, 147, 148,
2283 148, 148, 1659, 1708, 149, 149, 149, 150, 150, 150,
2284 509, 1708, 147, 1733, 1734, 148, 509, 1708, 121, 121,
2285 149, 1735, 509, 150, 121, 465, 465, 465, 623, 623,
2286 623, 1737, 623, 635, 635, 635, 1720, 1659, 121, 122,
2287 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
2289 122, 122, 122, 122, 1738, 122, 122, 122, 122, 122,
2290 151, 151, 151, 152, 152, 152, 1739, 1740, 153, 153,
2291 153, 154, 154, 154, 1719, 1720, 151, 699, 1750, 152,
2292 1751, 465, 122, 122, 153, 1754, 699, 154, 122, 649,
2293 649, 649, 1721, 699, 635, 794, 794, 794, 682, 682,
2294 682, 1719, 122, 131, 131, 131, 131, 131, 131, 131,
2295 131, 131, 131, 131, 131, 131, 131, 131, 1757, 131,
2296 131, 131, 131, 131, 157, 157, 157, 158, 158, 158,
2297 1759, 1721, 159, 159, 159, 160, 160, 160, 1767, 1768,
2298 157, 1769, 1770, 158, 1771, 1772, 131, 131, 159, 1777,
2300 649, 160, 131, 1781, 1782, 131, 656, 656, 656, 682,
2301 656, 1786, 1778, 656, 1787, 1788, 131, 132, 132, 132,
2302 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2303 132, 132, 1789, 132, 132, 132, 132, 132, 161, 161,
2304 161, 162, 162, 162, 1777, 1778, 163, 163, 163, 164,
2305 164, 164, 1791, 1792, 161, 1793, 1794, 162, 1795, 1796,
2306 132, 132, 163, 1797, 1798, 164, 132, 1803, 1807, 132,
2307 664, 664, 664, 1808, 664, 1812, 1816, 664, 1819, 1826,
2308 132, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2309 141, 141, 141, 141, 141, 141, 1827, 141, 141, 141,
2311 141, 141, 167, 167, 167, 168, 168, 168, 1828, 1821,
2312 171, 171, 171, 172, 172, 172, 1829, 1822, 167, 1821,
2313 1830, 168, 1831, 1839, 141, 141, 171, 1822, 1840, 172,
2314 141, 809, 809, 809, 1841, 141, 142, 142, 142, 142,
2315 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
2316 142, 1833, 142, 142, 142, 142, 142, 173, 173, 173,
2317 174, 174, 174, 1842, 1824, 175, 175, 175, 176, 176,
2318 176, 1845, 1825, 173, 1824, 1846, 174, 1848, 1849, 142,
2319 142, 175, 1825, 1833, 176, 142, 1009, 1009, 1009, 1850,
2320 142, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2322 145, 145, 145, 145, 145, 145, 1852, 145, 145, 145,
2323 145, 145, 177, 177, 177, 178, 178, 178, 1857, 1858,
2324 181, 181, 181, 182, 182, 182, 1866, 1867, 177, 1868,
2325 1869, 178, 1870, 1871, 145, 145, 181, 1872, 1873, 182,
2326 145, 276, 277, 145, 1874, 442, 678, 678, 678, 1875,
2327 678, 276, 277, 678, 145, 146, 146, 146, 146, 146,
2328 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2329 1877, 146, 146, 146, 146, 146, 1878, 276, 277, 277,
2330 442, 1890, 1891, 276, 1892, 1893, 276, 1897, 495, 495,
2331 495, 277, 276, 503, 503, 503, 442, 1898, 146, 146,
2333 518, 518, 518, 1178, 146, 495, 1882, 146, 1178, 1899,
2334 503, 1178, 687, 687, 687, 1178, 1900, 518, 146, 155,
2335 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
2336 155, 155, 155, 155, 1901, 155, 155, 155, 155, 155,
2337 533, 533, 533, 540, 540, 540, 1882, 541, 541, 541,
2338 553, 553, 553, 1179, 561, 561, 561, 533, 1179, 1902,
2339 540, 1179, 155, 155, 541, 1179, 1904, 553, 1905, 1914,
2340 155, 561, 155, 687, 155, 1915, 1010, 1010, 1010, 1011,
2341 1011, 1011, 155, 156, 156, 156, 156, 156, 156, 156,
2342 156, 156, 156, 156, 156, 156, 156, 156, 1916, 156,
2344 156, 156, 156, 156, 566, 566, 566, 588, 588, 588,
2345 1917, 610, 610, 610, 615, 615, 615, 633, 633, 633,
2346 1010, 566, 1918, 1919, 588, 1920, 156, 156, 610, 1921,
2347 1922, 615, 1923, 1924, 156, 633, 156, 1925, 156, 1014,
2348 1014, 1014, 1020, 1020, 1020, 1932, 156, 165, 165, 165,
2349 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2350 165, 165, 1934, 165, 165, 165, 165, 165, 655, 655,
2351 655, 659, 659, 659, 634, 634, 634, 660, 660, 660,
2352 663, 663, 663, 1929, 1937, 655, 665, 665, 665, 659,
2353 165, 165, 634, 1938, 1929, 660, 1926, 663, 694, 694,
2355 694, 1940, 694, 665, 1941, 694, 1039, 1039, 1039, 1050,
2356 1050, 1050, 1944, 165, 166, 166, 166, 166, 166, 166,
2357 166, 166, 166, 166, 166, 166, 166, 166, 166, 634,
2358 166, 166, 166, 166, 166, 667, 667, 667, 660, 1926,
2359 1945, 669, 669, 669, 1959, 675, 675, 675, 676, 676,
2360 676, 1928, 667, 677, 677, 677, 1961, 166, 166, 669,
2361 670, 670, 670, 675, 1963, 1928, 676, 701, 701, 701,
2362 677, 701, 1965, 1973, 701, 1051, 1051, 1051, 670, 1975,
2363 166, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2364 169, 169, 169, 169, 169, 169, 1977, 169, 169, 169,
2366 169, 169, 680, 680, 680, 670, 693, 693, 693, 676,
2367 697, 697, 697, 698, 698, 698, 681, 681, 681, 1051,
2368 680, 1978, 1947, 693, 169, 169, 1972, 1972, 697, 1986,
2369 1988, 698, 1947, 1989, 681, 169, 170, 170, 170, 170,
2370 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2371 170, 681, 170, 170, 170, 170, 170, 700, 700, 700,
2372 702, 702, 702, 703, 703, 703, 1948, 703, 1950, 1990,
2373 703, 698, 1971, 1974, 700, 1991, 1948, 702, 1950, 170,
2374 170, 715, 715, 715, 1974, 715, 1971, 1992, 715, 1985,
2375 170, 179, 179, 179, 179, 179, 179, 179, 179, 179,
2377 179, 179, 179, 179, 179, 179, 1985, 179, 179, 179,
2378 179, 179, 704, 704, 704, 710, 710, 710, 711, 711,
2379 711, 714, 714, 714, 716, 716, 716, 1951, 1994, 704,
2380 719, 719, 719, 710, 179, 179, 711, 1951, 714, 1987,
2381 1996, 716, 723, 723, 723, 179, 723, 2002, 719, 723,
2382 1098, 1098, 1098, 1148, 1148, 1148, 1987, 179, 180, 180,
2383 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
2384 180, 180, 180, 711, 180, 180, 180, 180, 180, 720,
2385 720, 720, 722, 722, 722, 724, 724, 724, 725, 725,
2386 725, 727, 727, 727, 1098, 1956, 1970, 720, 1993, 722,
2388 2003, 180, 180, 724, 1957, 1956, 725, 2004, 727, 728,
2389 728, 728, 180, 728, 1957, 1993, 728, 732, 732, 732,
2390 733, 733, 733, 1995, 180, 222, 2006, 2007, 720, 748,
2391 748, 748, 222, 748, 1970, 732, 748, 2012, 733, 2013,
2392 1995, 222, 222, 734, 734, 734, 725, 735, 735, 735,
2393 1149, 1149, 1149, 736, 736, 736, 2014, 737, 737, 737,
2394 734, 738, 738, 738, 735, 2015, 2016, 222, 222, 222,
2395 736, 2017, 2018, 733, 222, 737, 2019, 222, 2020, 738,
2396 2021, 222, 2022, 222, 2023, 222, 740, 740, 740, 741,
2397 741, 741, 2024, 742, 742, 742, 743, 743, 743, 744,
2399 744, 744, 2025, 740, 2026, 2027, 741, 2029, 2036, 736,
2400 742, 2038, 2039, 743, 745, 745, 745, 744, 2036, 738,
2401 2037, 747, 747, 747, 749, 749, 749, 750, 750, 750,
2402 2037, 2040, 745, 751, 751, 751, 2041, 741, 747, 752,
2403 752, 752, 749, 2042, 2043, 750, 753, 753, 753, 745,
2404 751, 741, 743, 754, 754, 754, 752, 755, 755, 755,
2405 760, 760, 760, 753, 2044, 761, 761, 761, 764, 764,
2406 764, 754, 765, 765, 765, 755, 2045, 2046, 760, 2047,
2407 750, 2048, 2049, 761, 2050, 2051, 764, 752, 2052, 2053,
2408 765, 766, 766, 766, 2056, 767, 767, 767, 2057, 767,
2410 2054, 752, 767, 768, 768, 768, 2058, 2059, 766, 769,
2411 769, 769, 771, 771, 771, 772, 772, 772, 2060, 772,
2412 2061, 768, 772, 2054, 2062, 755, 761, 769, 2063, 771,
2413 774, 774, 774, 765, 775, 775, 775, 790, 790, 790,
2414 791, 791, 791, 793, 793, 793, 2064, 2065, 774, 814,
2415 814, 814, 775, 2066, 2067, 790, 2068, 2069, 791, 2070,
2416 2071, 793, 818, 818, 818, 2072, 814, 769, 815, 815,
2417 815, 2073, 815, 2074, 2075, 815, 820, 820, 820, 818,
2418 821, 821, 821, 823, 823, 823, 2077, 2078, 793, 825,
2419 825, 825, 2079, 825, 820, 775, 825, 2080, 821, 2081,
2421 2082, 823, 828, 828, 828, 829, 829, 829, 2076, 829,
2422 2083, 2084, 829, 830, 830, 830, 831, 831, 831, 828,
2423 818, 2085, 832, 832, 832, 2076, 832, 2086, 823, 832,
2424 830, 2087, 2088, 831, 834, 834, 834, 835, 835, 835,
2425 837, 837, 837, 840, 840, 840, 842, 842, 842, 843,
2426 843, 843, 834, 2089, 2090, 835, 2091, 2092, 837, 2093,
2427 840, 845, 845, 845, 842, 2094, 2095, 843, 846, 846,
2428 846, 2096, 846, 2098, 2097, 846, 850, 850, 850, 845,
2429 851, 851, 851, 853, 853, 853, 863, 863, 863, 864,
2430 864, 864, 2097, 864, 850, 2099, 864, 837, 851, 2100,
2432 2101, 853, 2102, 863, 2103, 2104, 845, 869, 869, 869,
2433 870, 870, 870, 872, 872, 872, 876, 876, 876, 2105,
2434 876, 2106, 2107, 876, 2108, 869, 2109, 2110, 870, 2111,
2435 2112, 872, 879, 879, 879, 2113, 879, 2114, 2115, 879,
2436 882, 882, 882, 883, 883, 883, 2116, 883, 2117, 2119,
2437 883, 889, 889, 889, 890, 890, 890, 882, 892, 892,
2438 892, 896, 896, 896, 2118, 896, 2120, 2121, 896, 889,
2439 2118, 2122, 890, 2123, 2124, 872, 892, 899, 899, 899,
2440 900, 900, 900, 2126, 900, 2127, 2129, 900, 903, 903,
2441 903, 904, 904, 904, 899, 906, 906, 906, 908, 908,
2443 908, 2131, 908, 2133, 2134, 908, 903, 2136, 2137, 904,
2444 911, 911, 911, 906, 912, 912, 912, 914, 914, 914,
2445 2140, 2139, 892, 916, 916, 916, 2141, 916, 911, 2142,
2446 916, 2143, 912, 2139, 2145, 914, 922, 922, 922, 923,
2447 923, 923, 2147, 2148, 906, 925, 925, 925, 926, 926,
2448 926, 927, 927, 927, 922, 927, 2149, 923, 927, 928,
2449 928, 928, 2151, 925, 2153, 926, 929, 929, 929, 2155,
2450 929, 2156, 2157, 929, 2158, 2159, 928, 931, 931, 931,
2451 2160, 914, 932, 932, 932, 934, 934, 934, 936, 936,
2452 936, 2161, 937, 937, 937, 931, 937, 2162, 2163, 937,
2454 932, 2164, 925, 934, 2166, 936, 940, 940, 940, 941,
2455 941, 941, 2168, 941, 2170, 2171, 941, 943, 943, 943,
2456 944, 944, 944, 940, 946, 946, 946, 948, 948, 948,
2457 2172, 948, 2173, 2174, 948, 943, 2175, 1509, 944, 951,
2458 951, 951, 946, 952, 952, 952, 954, 954, 954, 934,
2459 955, 955, 955, 959, 959, 959, 1495, 951, 956, 956,
2460 956, 952, 956, 2186, 954, 956, 2187, 955, 2198, 2190,
2461 959, 960, 960, 960, 1493, 960, 1492, 2198, 960, 961,
2462 961, 961, 962, 962, 962, 946, 964, 964, 964, 966,
2463 966, 966, 969, 969, 969, 1482, 2194, 961, 2186, 2188,
2465 962, 2187, 2190, 954, 964, 1480, 966, 970, 970, 970,
2466 969, 972, 972, 972, 975, 975, 975, 976, 976, 976,
2467 978, 978, 978, 1473, 2176, 970, 979, 979, 979, 972,
2468 979, 2194, 975, 979, 2177, 976, 1470, 2188, 978, 982,
2469 982, 982, 983, 983, 983, 964, 985, 985, 985, 987,
2470 987, 987, 1469, 987, 2189, 1466, 987, 982, 2191, 1465,
2471 983, 991, 991, 991, 985, 992, 992, 992, 2176, 972,
2472 2196, 978, 994, 994, 994, 996, 996, 996, 2177, 991,
2473 1003, 1003, 1003, 992, 1023, 1023, 1023, 1027, 1027, 1027,
2474 994, 2191, 2189, 996, 996, 1024, 1024, 1024, 1003, 1024,
2476 2196, 1023, 1024, 985, 2192, 1027, 1029, 1029, 1029, 2193,
2477 1029, 2199, 2197, 1029, 1032, 1032, 1032, 1033, 1033, 1033,
2478 2199, 1033, 1462, 1460, 1033, 1034, 1034, 1034, 1459, 1034,
2479 994, 1032, 1034, 2202, 1027, 1038, 1038, 1038, 1041, 1041,
2480 1041, 2195, 2197, 1003, 1042, 1042, 1042, 2192, 1042, 2200,
2481 1458, 1042, 2193, 1038, 2203, 1041, 1043, 1043, 1043, 1044,
2482 1044, 1044, 1046, 1046, 1046, 1057, 1057, 1057, 1058, 1058,
2483 1058, 1450, 1058, 1043, 1444, 1058, 2195, 1044, 2202, 2200,
2484 1046, 2201, 1057, 1038, 1059, 1059, 1059, 1060, 1060, 1060,
2485 1061, 1061, 1061, 1062, 1062, 1062, 1063, 1063, 1063, 2203,
2487 2204, 1059, 1440, 2207, 1060, 1437, 1044, 1436, 1061, 2206,
2488 1062, 2201, 1434, 1063, 2207, 1064, 1064, 1064, 1065, 1065,
2489 1065, 2205, 1065, 2206, 1429, 1065, 1068, 1068, 1068, 1428,
2490 2204, 1060, 1064, 1069, 1069, 1069, 1427, 1070, 1070, 1070,
2491 1071, 1071, 1071, 1068, 1072, 1072, 1072, 1073, 1073, 1073,
2492 1069, 2205, 1426, 1061, 1070, 1425, 1424, 1071, 1423, 1063,
2493 1064, 1072, 1074, 1074, 1074, 1073, 1075, 1075, 1075, 1076,
2494 1076, 1076, 1422, 1077, 1077, 1077, 1421, 1077, 1420, 1074,
2495 1077, 1416, 1070, 1075, 1415, 1412, 1076, 1080, 1080, 1080,
2496 1081, 1081, 1081, 1411, 1082, 1082, 1082, 1071, 1409, 1406,
2498 1069, 1084, 1084, 1084, 1080, 1402, 1401, 1081, 1398, 1073,
2499 1397, 1072, 1082, 1088, 1088, 1088, 1089, 1089, 1089, 1084,
2500 1392, 1377, 1076, 1375, 1090, 1090, 1090, 1374, 1090, 1075,
2501 1088, 1090, 1373, 1366, 1089, 1093, 1093, 1093, 1364, 1093,
2502 1359, 1357, 1093, 1097, 1097, 1097, 1354, 1081, 1353, 1099,
2503 1099, 1099, 1352, 1099, 1350, 1082, 1099, 1088, 1104, 1104,
2504 1104, 1097, 1104, 1348, 1084, 1104, 1108, 1108, 1108, 1346,
2505 1089, 1110, 1110, 1110, 1111, 1111, 1111, 1343, 1111, 1339,
2506 1330, 1111, 1323, 1315, 1108, 1314, 1116, 1116, 1116, 1110,
2507 1116, 1313, 1308, 1116, 1119, 1119, 1119, 1121, 1121, 1121,
2509 1122, 1122, 1122, 1307, 1122, 1304, 1097, 1122, 1125, 1125,
2510 1125, 1303, 1119, 1297, 1121, 1127, 1127, 1127, 1128, 1128,
2511 1128, 1131, 1131, 1131, 1108, 1110, 1125, 1129, 1129, 1129,
2512 1295, 1294, 1127, 1132, 1132, 1132, 1128, 1293, 1131, 1119,
2513 1135, 1135, 1135, 1291, 1290, 1129, 1142, 1142, 1142, 1287,
2514 1286, 1132, 1151, 1151, 1151, 1125, 1284, 1283, 1135, 1154,
2515 1154, 1154, 1282, 1281, 1142, 1156, 1156, 1156, 1157, 1157,
2516 1157, 1160, 1160, 1160, 1161, 1161, 1161, 1129, 1279, 1163,
2517 1163, 1163, 1128, 1163, 1277, 1272, 1163, 1271, 1270, 1135,
2518 1268, 1267, 1132, 1168, 1168, 1168, 1142, 1170, 1170, 1170,
2520 1266, 1170, 1265, 1262, 1170, 1135, 1174, 1174, 1174, 1254,
2521 1249, 1168, 1157, 1175, 1175, 1175, 1247, 1246, 1161, 1242,
2522 1237, 1177, 1177, 1177, 1174, 1177, 1156, 1232, 1177, 1180,
2523 1180, 1180, 1181, 1181, 1181, 1230, 1181, 1228, 1225, 1181,
2524 1224, 1223, 1168, 1182, 1182, 1182, 1180, 1186, 1186, 1186,
2525 1187, 1187, 1187, 1188, 1188, 1188, 1189, 1189, 1189, 1221,
2526 1200, 1182, 1192, 1191, 1174, 1190, 1190, 1190, 1193, 1193,
2527 1193, 1185, 1193, 1184, 1183, 1193, 1196, 1196, 1196, 1197,
2528 1197, 1197, 1176, 1197, 1173, 1169, 1197, 1198, 1198, 1198,
2529 1167, 1166, 1182, 1196, 1199, 1199, 1199, 1162, 1199, 1159,
2531 1158, 1199, 1155, 1153, 1198, 1201, 1201, 1201, 1202, 1202,
2532 1202, 1203, 1203, 1203, 1188, 1203, 1152, 1189, 1203, 1204,
2533 1204, 1204, 1150, 1201, 1147, 1202, 1190, 1205, 1205, 1205,
2534 1206, 1206, 1206, 1207, 1207, 1207, 1204, 1207, 1146, 1145,
2535 1207, 1208, 1208, 1208, 1205, 1144, 1143, 1206, 1209, 1209,
2536 1209, 1210, 1210, 1210, 1211, 1211, 1211, 1141, 1208, 1212,
2537 1212, 1212, 1213, 1213, 1213, 1209, 1140, 1137, 1210, 1134,
2538 1130, 1211, 1126, 1124, 1214, 1214, 1214, 1212, 1214, 1213,
2539 1123, 1214, 1215, 1215, 1215, 1269, 1269, 1269, 1205, 1216,
2540 1216, 1216, 1217, 1217, 1217, 1120, 1219, 1219, 1219, 1215,
2542 1115, 1114, 1210, 1209, 1109, 1107, 1216, 1103, 1102, 1217,
2543 1218, 1218, 1218, 1219, 1218, 1096, 1087, 1218, 1220, 1220,
2544 1220, 1086, 1212, 1222, 1222, 1222, 1226, 1226, 1226, 1085,
2545 1227, 1227, 1227, 1083, 1227, 1056, 1220, 1227, 1229, 1229,
2546 1229, 1222, 1055, 1226, 1054, 1053, 1216, 1219, 1231, 1231,
2547 1231, 1233, 1233, 1233, 1052, 1049, 1229, 1234, 1234, 1234,
2548 1235, 1235, 1235, 1236, 1236, 1236, 1231, 1048, 1233, 1238,
2549 1238, 1238, 1222, 1045, 1234, 1040, 1037, 1235, 1239, 1239,
2550 1239, 1236, 1240, 1240, 1240, 1028, 1026, 1238, 1241, 1241,
2551 1241, 1248, 1248, 1248, 1025, 1239, 1022, 1231, 1021, 1240,
2553 1243, 1243, 1243, 1019, 1243, 1018, 1241, 1243, 1017, 1248,
2554 1252, 1252, 1252, 1238, 1250, 1250, 1250, 1016, 1251, 1251,
2555 1251, 1235, 1251, 1015, 1013, 1251, 1012, 1236, 1252, 1008,
2556 1007, 1250, 1006, 1253, 1253, 1253, 1255, 1255, 1255, 1005,
2557 1248, 1256, 1256, 1256, 1004, 1256, 1002, 1001, 1256, 1000,
2558 1241, 1253, 999, 1255, 1257, 1257, 1257, 1263, 1263, 1263,
2559 1264, 1264, 1264, 1273, 1273, 1273, 1252, 1274, 1274, 1274,
2560 990, 986, 1257, 974, 1263, 1275, 1275, 1275, 1264, 1276,
2561 1276, 1276, 1278, 1278, 1278, 973, 1253, 1280, 1280, 1280,
2562 1285, 1285, 1285, 1288, 1288, 1288, 1289, 1289, 1289, 1298,
2564 1298, 1298, 968, 1298, 967, 965, 1298, 958, 1285, 957,
2565 947, 1288, 942, 1289, 1301, 1301, 1301, 939, 1264, 1302,
2566 1302, 1302, 1305, 1305, 1305, 1306, 1306, 1306, 1316, 1316,
2567 1316, 938, 1301, 1309, 1309, 1309, 1302, 1309, 935, 930,
2568 1309, 1312, 1312, 1312, 921, 1312, 1316, 920, 1312, 1288,
2569 1318, 1318, 1318, 919, 1318, 915, 907, 1318, 1301, 1321,
2570 1321, 1321, 1322, 1322, 1322, 902, 1322, 901, 895, 1322,
2571 1324, 1324, 1324, 894, 1324, 893, 1321, 1324, 1327, 1327,
2572 1327, 1328, 1328, 1328, 888, 1328, 887, 886, 1328, 1329,
2573 1329, 1329, 1331, 1331, 1331, 1327, 1332, 1332, 1332, 885,
2575 1332, 884, 875, 1332, 874, 873, 1329, 868, 867, 1331,
2576 1333, 1333, 1333, 1334, 1334, 1334, 862, 1334, 861, 860,
2577 1334, 1337, 1337, 1337, 859, 1338, 1338, 1338, 1333, 1338,
2578 858, 857, 1338, 1340, 1340, 1340, 856, 1340, 1337, 855,
2579 1340, 854, 1344, 1344, 1344, 1347, 1347, 1347, 1349, 1349,
2580 1349, 1351, 1351, 1351, 849, 1351, 841, 839, 1351, 1333,
2581 1344, 833, 824, 1347, 819, 1349, 1355, 1355, 1355, 1358,
2582 1358, 1358, 1360, 1360, 1360, 1361, 1361, 1361, 812, 1361,
2583 811, 810, 1361, 808, 1355, 807, 806, 1358, 805, 1360,
2584 803, 802, 1349, 1362, 1362, 1362, 1363, 1363, 1363, 801,
2586 1363, 800, 799, 1363, 798, 797, 1347, 1365, 1365, 1365,
2587 1362, 1367, 1367, 1367, 1368, 1368, 1368, 1369, 1369, 1369,
2588 796, 1369, 795, 789, 1369, 1365, 1370, 1370, 1370, 1367,
2589 788, 1368, 1371, 1371, 1371, 787, 1371, 784, 783, 1371,
2590 1383, 1383, 1383, 1370, 1372, 1372, 1372, 1376, 1376, 1376,
2591 1378, 1378, 1378, 782, 1378, 780, 776, 1378, 1367, 1381,
2592 1381, 1381, 1372, 773, 770, 1376, 1382, 1382, 1382, 763,
2593 1365, 1384, 1384, 1384, 762, 1384, 759, 1381, 1384, 1387,
2594 1387, 1387, 758, 757, 1382, 1393, 1393, 1393, 1394, 1394,
2595 1394, 756, 1394, 746, 739, 1394, 731, 1387, 1395, 1395,
2597 1395, 730, 1393, 1396, 1396, 1396, 1372, 729, 1381, 1376,
2598 1399, 1399, 1399, 1400, 1400, 1400, 1395, 1382, 1403, 1403,
2599 1403, 1404, 1404, 1404, 1405, 1405, 1405, 1407, 1407, 1407,
2600 1408, 1408, 1408, 1410, 1410, 1410, 1413, 1413, 1413, 1417,
2601 1417, 1417, 726, 1418, 1418, 1418, 1419, 1419, 1419, 721,
2602 1419, 718, 717, 1419, 1413, 713, 709, 1417, 708, 1395,
2603 1418, 1430, 1430, 1430, 1431, 1431, 1431, 1432, 1432, 1432,
2604 707, 1432, 706, 705, 1432, 1433, 1433, 1433, 696, 1430,
2605 695, 1431, 1435, 1435, 1435, 1441, 1441, 1441, 692, 1441,
2606 691, 690, 1441, 1445, 1445, 1445, 689, 1445, 688, 686,
2608 1445, 1448, 1448, 1448, 685, 1449, 1449, 1449, 1430, 1449,
2609 684, 683, 1449, 1451, 1451, 1451, 679, 1451, 1448, 674,
2610 1451, 1454, 1454, 1454, 1455, 1455, 1455, 673, 1455, 672,
2611 671, 1455, 1461, 1461, 1461, 1463, 1463, 1463, 668, 1454,
2612 1464, 1464, 1464, 666, 1464, 662, 658, 1464, 657, 654,
2613 1461, 653, 1463, 1471, 1471, 1471, 1474, 1474, 1474, 652,
2614 1474, 651, 650, 1474, 648, 1477, 1477, 1477, 647, 1477,
2615 646, 1471, 1477, 1481, 1481, 1481, 1483, 1483, 1483, 1484,
2616 1484, 1484, 1454, 1484, 645, 644, 1484, 643, 1487, 1487,
2617 1487, 1481, 1487, 642, 1483, 1487, 1490, 1490, 1490, 1491,
2619 1491, 1491, 1494, 1494, 1494, 1496, 1496, 1496, 1497, 1497,
2620 1497, 1498, 1498, 1498, 1490, 641, 1491, 1499, 1499, 1499,
2621 1494, 640, 1481, 1496, 639, 638, 1497, 1502, 1502, 1502,
2622 1490, 1506, 1506, 1506, 637, 1499, 1503, 1503, 1503, 1483,
2623 1503, 636, 632, 1503, 1507, 1507, 1507, 631, 629, 1506,
2624 1508, 1508, 1508, 1510, 1510, 1510, 1511, 1511, 1511, 1512,
2625 1512, 1512, 1496, 628, 1494, 1513, 1513, 1513, 1515, 1515,
2626 1515, 1517, 1517, 1517, 1520, 1520, 1520, 1522, 1522, 1522,
2627 627, 1524, 1524, 1524, 626, 1524, 625, 1506, 1524, 621,
2628 619, 1520, 1537, 1537, 1537, 1522, 1538, 1538, 1538, 618,
2630 1538, 617, 616, 1538, 1541, 1541, 1541, 1551, 1551, 1551,
2631 1537, 1551, 611, 607, 1551, 1555, 1555, 1555, 1559, 1559,
2632 1559, 1561, 1561, 1561, 1562, 1562, 1562, 606, 1562, 603,
2633 602, 1562, 601, 1555, 600, 599, 1559, 598, 1561, 1573,
2634 1573, 1573, 1575, 1575, 1575, 1576, 1576, 1576, 595, 594,
2635 1537, 1577, 1577, 1577, 1578, 1578, 1578, 1579, 1579, 1579,
2636 1575, 593, 1576, 592, 589, 1561, 1580, 1580, 1580, 1577,
2637 1580, 587, 1578, 1580, 1579, 1581, 1581, 1581, 1583, 1583,
2638 1583, 1584, 1584, 1584, 1585, 1585, 1585, 1586, 1586, 1586,
2639 584, 583, 1581, 1588, 1588, 1588, 1583, 1591, 1591, 1591,
2641 582, 581, 1585, 580, 577, 1586, 576, 575, 1577, 574,
2642 573, 1588, 1578, 1592, 1592, 1592, 1593, 1593, 1593, 1595,
2643 1595, 1595, 1596, 1596, 1596, 1600, 1600, 1600, 1601, 1601,
2644 1601, 1592, 1601, 570, 569, 1601, 1613, 1613, 1613, 1621,
2645 1621, 1621, 1600, 1624, 1624, 1624, 568, 1585, 1629, 1629,
2646 1629, 567, 1588, 565, 1613, 562, 1621, 1638, 1638, 1638,
2647 560, 1624, 1630, 1630, 1630, 1629, 1630, 557, 556, 1630,
2648 1640, 1640, 1640, 555, 1638, 554, 1642, 1642, 1642, 1644,
2649 1644, 1644, 1645, 1645, 1645, 552, 1645, 551, 548, 1645,
2650 1646, 1646, 1646, 1613, 1642, 547, 1644, 1647, 1647, 1647,
2652 1648, 1648, 1648, 546, 1648, 545, 544, 1648, 1646, 1651,
2653 1651, 1651, 1652, 1652, 1652, 1647, 1652, 543, 542, 1652,
2654 1653, 1653, 1653, 1654, 1654, 1654, 1651, 1656, 1656, 1656,
2655 1657, 1657, 1657, 1661, 1661, 1661, 539, 1653, 1666, 1666,
2656 1666, 1654, 1667, 1667, 1667, 536, 1667, 535, 1657, 1667,
2657 534, 1661, 1681, 1681, 1681, 1666, 1684, 1684, 1684, 531,
2658 526, 1647, 1687, 1687, 1687, 1688, 1688, 1688, 524, 1688,
2659 1681, 523, 1688, 1684, 1691, 1691, 1691, 522, 521, 1687,
2660 1693, 1693, 1693, 1694, 1694, 1694, 520, 1694, 519, 515,
2661 1694, 1691, 514, 1702, 1702, 1702, 513, 1693, 1703, 1703,
2663 1703, 512, 1703, 508, 507, 1703, 1704, 1704, 1704, 1681,
2664 1702, 1705, 1705, 1705, 1706, 1706, 1706, 506, 1706, 505,
2665 504, 1706, 502, 1704, 1709, 1709, 1709, 499, 1705, 1711,
2666 1711, 1711, 1712, 1712, 1712, 498, 1712, 496, 494, 1712,
2667 489, 486, 1709, 1715, 1715, 1715, 484, 1711, 1716, 1716,
2668 1716, 481, 1716, 480, 478, 1716, 1717, 1717, 1717, 477,
2669 1715, 1722, 1722, 1722, 1725, 1725, 1725, 476, 1726, 1726,
2670 1726, 475, 1726, 474, 1717, 1726, 1742, 1742, 1742, 471,
2671 470, 1725, 1743, 1743, 1743, 1744, 1744, 1744, 1745, 1745,
2672 1745, 469, 1711, 468, 1742, 467, 1746, 1746, 1746, 461,
2674 1746, 460, 1744, 1746, 458, 1745, 1747, 1747, 1747, 452,
2675 1747, 451, 447, 1747, 1752, 1752, 1752, 1753, 1753, 1753,
2676 443, 1753, 439, 435, 1753, 1742, 1755, 1755, 1755, 1744,
2677 429, 1752, 1756, 1756, 1756, 425, 1756, 421, 417, 1756,
2678 1758, 1758, 1758, 1755, 1760, 1760, 1760, 416, 1760, 415,
2679 414, 1760, 1763, 1763, 1763, 410, 406, 1758, 1764, 1764,
2680 1764, 403, 1764, 402, 401, 1764, 1765, 1765, 1765, 1763,
2681 1766, 1766, 1766, 397, 1766, 391, 390, 1766, 1773, 1773,
2682 1773, 386, 382, 1765, 1774, 1774, 1774, 378, 1774, 377,
2683 373, 1774, 1779, 1779, 1779, 370, 1773, 1780, 1780, 1780,
2685 1783, 1783, 1783, 369, 1783, 364, 360, 1783, 352, 1779,
2686 1779, 1790, 1790, 1790, 1799, 1799, 1799, 1800, 1800, 1800,
2687 1801, 1801, 1801, 351, 1817, 1817, 1817, 1773, 1790, 1802,
2688 1802, 1802, 1799, 1802, 350, 346, 1802, 1801, 1804, 1804,
2689 1804, 1817, 1804, 340, 339, 1804, 1809, 1809, 1809, 335,
2690 1809, 329, 328, 1809, 327, 1813, 1813, 1813, 326, 1813,
2691 325, 1799, 1813, 1818, 1818, 1818, 324, 1818, 320, 313,
2692 1818, 1820, 1820, 1820, 311, 1820, 310, 305, 1820, 1823,
2693 1823, 1823, 298, 1823, 297, 296, 1823, 1832, 1832, 1832,
2694 1834, 1834, 1834, 1835, 1835, 1835, 1836, 1836, 1836, 295,
2696 1836, 294, 290, 1836, 286, 1832, 280, 1834, 1834, 278,
2697 1835, 1835, 273, 272, 1836, 1837, 1837, 1837, 1838, 1838,
2698 1838, 1843, 1843, 1843, 1844, 1844, 1844, 268, 1844, 262,
2699 261, 1844, 1853, 1853, 1853, 1854, 1854, 1854, 1843, 1854,
2700 260, 256, 1854, 1859, 1859, 1859, 1860, 1860, 1860, 248,
2701 1853, 1861, 1861, 1861, 1862, 1862, 1862, 246, 1862, 245,
2702 1859, 1862, 241, 1860, 1865, 1865, 1865, 238, 1861, 1880,
2703 1880, 1880, 1883, 1883, 1883, 1884, 1884, 1884, 236, 1884,
2704 235, 1865, 1884, 234, 1885, 1885, 1885, 1880, 1885, 1883,
2705 1883, 1885, 230, 1884, 227, 1853, 1888, 1888, 1888, 1889,
2707 1889, 1889, 1885, 1886, 1886, 1886, 1886, 1886, 1886, 1886,
2708 1886, 1886, 226, 223, 1886, 1903, 1903, 1903, 219, 1886,
2709 1886, 1886, 1886, 1886, 1894, 1894, 1894, 215, 1894, 211,
2710 210, 1894, 209, 1903, 203, 202, 200, 197, 185, 0,
2711 1906, 1906, 1906, 1908, 1908, 1908, 1886, 1886, 1887, 1887,
2712 1887, 1887, 1887, 1887, 1887, 1887, 1887, 1906, 0, 1887,
2713 1908, 0, 0, 0, 1887, 1887, 1887, 1887, 1887, 1907,
2714 1907, 1907, 0, 1907, 0, 0, 1907, 1909, 1909, 1909,
2715 0, 1909, 0, 0, 1909, 1910, 1910, 1910, 1912, 1912,
2716 1912, 1887, 1887, 1911, 1911, 1911, 0, 1911, 0, 0,
2718 1911, 0, 1910, 0, 0, 1912, 1913, 1913, 1913, 0,
2719 1913, 0, 0, 1913, 1927, 1927, 1927, 0, 1927, 0,
2720 0, 1927, 0, 0, 1942, 1942, 1942, 1976, 1976, 1976,
2721 0, 0, 1927, 1930, 1930, 1930, 1930, 1930, 1930, 1930,
2722 1930, 1930, 1942, 0, 1930, 1976, 1976, 0, 0, 1930,
2723 1930, 1930, 1930, 1930, 1946, 1946, 1946, 0, 1946, 0,
2724 0, 1946, 1949, 1949, 1949, 0, 1949, 0, 0, 1949,
2725 1983, 1983, 1983, 1984, 1984, 1984, 1930, 1930, 1931, 1931,
2726 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1983, 0, 1931,
2727 1984, 0, 0, 0, 1931, 1931, 1931, 1931, 1931, 1952,
2729 1952, 1952, 0, 1952, 0, 0, 1952, 1955, 1955, 1955,
2730 0, 1955, 0, 0, 1955, 2001, 2001, 2001, 2005, 2005,
2731 2005, 1931, 1931, 2008, 2008, 2008, 0, 2009, 2009, 2009,
2732 0, 2009, 0, 2001, 2009, 0, 2005, 2010, 2010, 2010,
2733 2008, 2011, 2011, 2011, 0, 2011, 0, 0, 2011, 0,
2734 2028, 2028, 2028, 0, 2010, 2032, 2032, 2032, 0, 2032,
2735 0, 0, 2032, 2154, 2154, 2154, 0, 2005, 2028, 2035,
2736 2035, 2035, 0, 2035, 0, 0, 2035, 2208, 2208, 2208,
2737 0, 2154, 2165, 2165, 2165, 2028, 2165, 0, 0, 2165,
2738 2209, 2209, 2209, 0, 0, 2208, 0, 0, 0, 0,
2740 2165, 0, 0, 0, 0, 0, 0, 0, 2209, 2212,
2741 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2213, 2213,
2742 2213, 2213, 2213, 2213, 2213, 2213, 2213, 2214, 2214, 2214,
2743 2214, 2214, 2214, 2214, 2214, 2214, 2215, 2215, 2215, 2215,
2744 2215, 2215, 2215, 2215, 2215, 2216, 2216, 2216, 2216, 2216,
2745 2216, 2216, 2216, 2216, 2217, 2217, 2217, 2217, 2217, 2217,
2746 2217, 2217, 2217, 2218, 2218, 2218, 2218, 2218, 2218, 2218,
2747 2218, 2218, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219,
2748 2219, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220,
2749 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2221, 2222,
2751 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2222, 2223, 2223,
2752 2223, 2223, 2223, 2223, 2223, 2223, 2223, 2224, 2224, 2224,
2753 2224, 2224, 2224, 2224, 2224, 2224, 2225, 2225, 2225, 2225,
2754 2225, 2225, 2225, 2225, 2225, 2226, 2226, 2226, 2226, 2226,
2755 2226, 2226, 2226, 2226, 2227, 2227, 2227, 2227, 2227, 2227,
2756 2227, 2227, 2227, 2228, 2228, 2228, 2228, 2228, 2228, 2228,
2757 2228, 2228, 2229, 2229, 2229, 2229, 2229, 2229, 2229, 2229,
2758 2229, 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2230, 2230,
2759 2231, 2231, 2231, 2231, 2231, 2231, 2231, 2231, 2231, 2232,
2760 2232, 2232, 2232, 2232, 2232, 2232, 2232, 2232, 2233, 2233,
2762 2233, 2233, 2233, 2233, 2233, 2233, 2233, 2234, 2234, 2234,
2763 2234, 2234, 2234, 2234, 2234, 2234, 2235, 2235, 2235, 2235,
2764 2235, 2235, 2235, 2235, 2235, 2236, 2236, 2236, 2236, 2236,
2765 2236, 2236, 2236, 2236, 2237, 2237, 2237, 2237, 2237, 2237,
2766 2237, 2237, 2237, 2238, 2238, 2238, 2238, 2238, 2238, 2238,
2767 2238, 2238, 2239, 2239, 2239, 2239, 2239, 2239, 2239, 2239,
2768 2239, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240, 2240,
2769 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2241, 2242,
2770 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2243, 2243,
2771 2243, 2243, 2243, 2243, 2243, 2243, 2243, 2244, 2244, 2244,
2773 2244, 2244, 2244, 2244, 2244, 2244, 2245, 2245, 2245, 2245,
2774 2245, 2245, 2245, 2245, 2245, 2246, 2246, 2246, 2246, 2246,
2775 2246, 2246, 2246, 2246, 2247, 2247, 2247, 2247, 2247, 2247,
2776 2247, 2247, 2247, 2248, 2248, 2248, 2248, 2248, 2248, 2248,
2777 2248, 2248, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249,
2778 2249, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250,
2779 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252,
2780 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253,
2781 2253, 2253, 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254,
2782 0, 0, 0, 2254, 2255, 2255, 2255, 0, 0, 0,
2784 2255, 2256, 2256, 2256, 0, 0, 0, 2256, 2257, 2257,
2785 2257, 0, 0, 0, 2257, 2258, 2258, 2258, 0, 0,
2786 0, 2258, 2259, 2259, 2259, 0, 0, 0, 2259, 2260,
2787 2260, 2260, 0, 0, 0, 2260, 2261, 2261, 2261, 0,
2788 0, 0, 2261, 2262, 2262, 2262, 0, 0, 0, 2262,
2789 2263, 2263, 2263, 0, 0, 0, 2263, 2264, 2264, 2264,
2790 0, 0, 0, 2264, 2265, 2265, 2265, 0, 0, 0,
2791 2265, 2266, 2266, 2266, 0, 0, 0, 2266, 2267, 2267,
2792 2267, 0, 0, 0, 2267, 2268, 2268, 2268, 0, 0,
2793 0, 2268, 2269, 2269, 2269, 0, 0, 0, 2269, 2270,
2795 2270, 2270, 0, 0, 0, 2270, 2271, 2271, 2271, 0,
2796 0, 0, 2271, 2272, 2272, 2272, 2272, 2272, 2272, 2272,
2797 0, 2272, 2273, 2273, 2273, 0, 0, 0, 2273, 2274,
2798 0, 0, 0, 2274, 2275, 2275, 2275, 0, 0, 0,
2799 2275, 2276, 0, 0, 0, 2276, 2277, 2277, 2277, 0,
2800 0, 0, 2277, 2278, 0, 0, 0, 2278, 2279, 2279,
2801 2279, 0, 0, 0, 2279, 2280, 0, 0, 0, 2280,
2802 2281, 2281, 2281, 0, 0, 0, 2281, 2282, 0, 0,
2803 0, 2282, 2283, 0, 0, 0, 2283, 2284, 2284, 2284,
2804 0, 0, 0, 2284, 2285, 0, 0, 0, 2285, 2286,
2806 2286, 2286, 0, 0, 0, 2286, 2287, 0, 0, 0,
2807 2287, 2288, 2288, 2288, 0, 0, 0, 2288, 2289, 0,
2808 0, 0, 2289, 2290, 2290, 2290, 0, 0, 0, 2290,
2809 2291, 0, 0, 0, 2291, 2292, 2292, 2292, 0, 0,
2810 0, 2292, 2293, 0, 0, 0, 2293, 2294, 2294, 2294,
2811 0, 0, 0, 2294, 2295, 0, 0, 0, 2295, 2296,
2812 2296, 2296, 0, 0, 0, 2296, 2297, 0, 0, 0,
2813 2297, 2298, 2298, 2298, 0, 0, 0, 2298, 2299, 0,
2814 0, 0, 2299, 2300, 2300, 2300, 0, 0, 0, 2300,
2815 2301, 0, 0, 0, 2301, 2302, 2302, 2302, 0, 0,
2817 0, 2302, 2303, 0, 0, 0, 2303, 2304, 2304, 2304,
2818 0, 0, 0, 2304, 2305, 0, 0, 0, 2305, 2306,
2819 2306, 2306, 0, 0, 0, 2306, 2307, 0, 0, 0,
2820 2307, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308, 2308,
2821 2309, 0, 0, 0, 0, 2309, 2310, 2310, 2310, 0,
2822 0, 0, 2310, 2311, 2311, 2311, 2311, 0, 0, 2311,
2823 2311, 2312, 2312, 2312, 0, 0, 0, 2312, 2313, 2313,
2824 2313, 2313, 0, 0, 2313, 2313, 2314, 2314, 2314, 0,
2825 0, 0, 2314, 2315, 2315, 2315, 2315, 0, 0, 2315,
2826 2315, 2316, 2316, 2316, 0, 0, 0, 2316, 2317, 2317,
2828 2317, 2317, 0, 0, 2317, 2317, 2318, 2318, 2318, 0,
2829 0, 0, 2318, 2319, 2319, 2319, 2319, 0, 0, 2319,
2830 2319, 2320, 2320, 2320, 0, 0, 0, 2320, 2321, 2321,
2831 2321, 2321, 0, 0, 2321, 2321, 2322, 2322, 2322, 0,
2832 0, 0, 2322, 2323, 2323, 2323, 2323, 0, 0, 2323,
2833 2323, 2324, 2324, 2324, 0, 0, 0, 2324, 2325, 2325,
2834 2325, 2325, 0, 0, 2325, 2325, 2326, 2326, 2326, 0,
2835 0, 0, 2326, 2327, 2327, 2327, 2327, 0, 0, 2327,
2836 2327, 2328, 2328, 2328, 0, 0, 0, 2328, 2329, 2329,
2837 2329, 2329, 0, 0, 2329, 2329, 2330, 2330, 2330, 2330,
2839 0, 2330, 0, 2330, 2331, 2331, 2331, 2331, 0, 0,
2840 2331, 2331, 2332, 2332, 2332, 2332, 0, 2332, 0, 2332,
2841 2333, 2333, 2333, 2333, 0, 0, 2333, 2333, 2334, 2334,
2842 2334, 0, 0, 0, 2334, 2335, 2335, 2335, 2335, 0,
2843 0, 2335, 2335, 2336, 2336, 2336, 2336, 0, 2336, 0,
2844 2336, 2337, 2337, 2337, 2337, 0, 0, 2337, 2337, 2338,
2845 2338, 2338, 0, 0, 0, 2338, 2339, 2339, 2339, 2339,
2846 0, 0, 2339, 2339, 2340, 2340, 2340, 0, 0, 0,
2847 2340, 2341, 2341, 2341, 2341, 0, 0, 2341, 2341, 2342,
2848 2342, 2342, 2342, 0, 0, 2342, 2342, 2343, 2343, 2343,
2850 0, 0, 0, 2343, 2344, 2344, 2344, 2344, 0, 0,
2851 2344, 2344, 2345, 2345, 2345, 2345, 2345, 2345, 2345, 2345,
2852 2345, 2346, 0, 2346, 0, 0, 2346, 2347, 2347, 2347,
2853 0, 0, 0, 2347, 2348, 2348, 2348, 2348, 0, 0,
2854 2348, 2348, 2349, 2349, 2349, 2349, 0, 2349, 0, 2349,
2855 2350, 2350, 2350, 2350, 0, 0, 2350, 2350, 2351, 2351,
2856 2351, 0, 0, 0, 2351, 2352, 2352, 2352, 2352, 0,
2857 0, 2352, 2352, 2353, 2353, 2353, 0, 0, 0, 2353,
2858 2354, 2354, 2354, 2354, 0, 0, 2354, 2354, 2355, 2355,
2859 2355, 0, 0, 0, 2355, 2356, 2356, 2356, 2356, 0,
2861 0, 2356, 2356, 2357, 2357, 2357, 0, 0, 0, 2357,
2862 2358, 2358, 2358, 2358, 0, 0, 2358, 2358, 2359, 2359,
2863 2359, 0, 0, 0, 2359, 2360, 2360, 2360, 2360, 0,
2864 0, 2360, 2360, 2361, 2361, 2361, 0, 0, 0, 2361,
2865 2362, 2362, 2362, 2362, 0, 0, 2362, 2362, 2363, 2363,
2866 2363, 0, 0, 0, 2363, 2364, 2364, 2364, 2364, 0,
2867 0, 2364, 2364, 2365, 2365, 2365, 0, 0, 0, 2365,
2868 2366, 2366, 2366, 2366, 0, 0, 2366, 2366, 2367, 2367,
2869 2367, 0, 0, 0, 2367, 2368, 2368, 2368, 2368, 0,
2870 0, 2368, 2368, 2369, 2369, 2369, 0, 0, 0, 2369,
2872 2370, 2370, 2370, 2370, 0, 0, 2370, 2370, 2371, 2371,
2873 2371, 0, 0, 0, 2371, 2372, 2372, 2372, 2372, 0,
2874 0, 2372, 2372, 2373, 2373, 2373, 0, 0, 0, 2373,
2875 2374, 2374, 2374, 2374, 0, 0, 2374, 2374, 2375, 2375,
2876 2375, 0, 0, 0, 2375, 2376, 2376, 2376, 2376, 0,
2877 0, 2376, 2376, 2377, 2377, 2377, 0, 0, 0, 2377,
2878 2378, 2378, 2378, 2378, 0, 0, 2378, 2378, 2379, 2379,
2879 2379, 2379, 0, 0, 2379, 2379, 2380, 2380, 2380, 0,
2880 0, 0, 2380, 2381, 2381, 2381, 2381, 0, 0, 2381,
2881 2381, 2382, 2382, 2382, 2382, 2382, 2382, 2382, 2382, 2382,
2883 2383, 2383, 2383, 2383, 2383, 2383, 2383, 2383, 2383, 2384,
2884 2384, 2384, 0, 0, 0, 2384, 2385, 2385, 2385, 2385,
2885 0, 0, 2385, 2385, 2386, 2386, 2386, 0, 0, 0,
2886 2386, 2387, 2387, 2387, 2387, 0, 0, 2387, 2387, 2388,
2887 2388, 2388, 0, 0, 0, 2388, 2389, 2389, 2389, 2389,
2888 0, 0, 2389, 2389, 2390, 2390, 2390, 0, 0, 0,
2889 2390, 2391, 2391, 2391, 2391, 0, 0, 2391, 2391, 2392,
2890 2392, 2392, 0, 0, 0, 2392, 2393, 2393, 2393, 0,
2891 0, 0, 2393, 2394, 2394, 2394, 2394, 0, 0, 2394,
2892 2394, 2395, 2395, 2395, 2395, 0, 2395, 0, 2395, 2396,
2894 2396, 2396, 2396, 0, 0, 2396, 2396, 2397, 2397, 2397,
2895 2397, 0, 2397, 0, 2397, 2398, 2398, 2398, 2398, 0,
2896 0, 2398, 2398, 2399, 2399, 2399, 0, 0, 0, 2399,
2897 2400, 2400, 2400, 2400, 0, 0, 2400, 2400, 2401, 2401,
2898 2401, 0, 0, 0, 2401, 2402, 2402, 2402, 2402, 0,
2899 0, 2402, 2402, 2403, 2403, 2403, 0, 0, 0, 2403,
2900 2404, 2404, 2404, 2404, 0, 0, 2404, 2404, 2405, 2405,
2901 2405, 0, 0, 0, 2405, 2406, 2406, 2406, 2406, 0,
2902 0, 2406, 2406, 2407, 2407, 2407, 0, 0, 0, 2407,
2903 2408, 2408, 2408, 2408, 0, 0, 2408, 2408, 2409, 2409,
2905 2409, 0, 0, 0, 2409, 2410, 2410, 2410, 2410, 0,
2906 0, 2410, 2410, 2411, 2411, 2411, 0, 0, 0, 2411,
2907 2412, 2412, 2412, 2412, 0, 0, 2412, 2412, 2413, 2413,
2908 2413, 2413, 0, 2413, 0, 2413, 2414, 2414, 2414, 2414,
2909 0, 0, 2414, 2414, 2415, 2415, 2415, 2415, 0, 0,
2910 2415, 2415, 2416, 2416, 2416, 2416, 0, 2416, 0, 2416,
2911 2417, 2417, 2417, 2417, 0, 0, 2417, 2417, 2418, 2418,
2912 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2419, 2419, 2419,
2913 2419, 2419, 2419, 2419, 2419, 2419, 2420, 2420, 2420, 0,
2914 0, 0, 2420, 2421, 2421, 2421, 2421, 0, 0, 2421,
2916 2421, 2422, 2422, 2422, 0, 0, 0, 2422, 2423, 2423,
2917 2423, 2423, 0, 0, 2423, 2423, 2424, 2424, 2424, 0,
2918 0, 0, 2424, 2425, 2425, 2425, 2425, 0, 0, 2425,
2919 2425, 2426, 2426, 2426, 0, 0, 0, 2426, 2427, 2427,
2920 2427, 2427, 0, 0, 2427, 2427, 2428, 2428, 2428, 0,
2921 0, 0, 2428, 2429, 2429, 2429, 0, 0, 0, 2429,
2922 2430, 2430, 2430, 2430, 0, 0, 2430, 2430, 2431, 2431,
2923 2431, 2431, 0, 2431, 0, 2431, 2432, 2432, 2432, 2432,
2924 0, 0, 2432, 2432, 2433, 2433, 2433, 2433, 0, 2433,
2925 0, 2433, 2434, 2434, 2434, 2434, 0, 0, 2434, 2434,
2927 2435, 2435, 2435, 0, 0, 0, 2435, 2436, 2436, 2436,
2928 2436, 0, 0, 2436, 2436, 2437, 2437, 2437, 0, 0,
2929 0, 2437, 2438, 2438, 2438, 2438, 0, 0, 2438, 2438,
2930 2439, 2439, 2439, 0, 0, 0, 2439, 2440, 2440, 2440,
2931 2440, 0, 0, 2440, 2440, 2441, 2441, 2441, 2441, 0,
2932 2441, 0, 2441, 2442, 2442, 2442, 2442, 0, 0, 2442,
2933 2442, 2443, 2443, 2443, 0, 0, 0, 2443, 2444, 2444,
2934 2444, 2444, 0, 0, 2444, 2444, 2445, 2445, 2445, 2445,
2935 0, 2445, 0, 2445, 2446, 2446, 2446, 2446, 0, 0,
2936 2446, 2446, 2447, 2447, 2447, 0, 0, 0, 2447, 2448,
2938 2448, 2448, 2448, 0, 0, 2448, 2448, 2449, 2449, 2449,
2939 2449, 0, 0, 2449, 2449, 2450, 2450, 2450, 2450, 0,
2940 0, 2450, 2450, 2451, 2451, 2451, 2451, 0, 0, 2451,
2941 2451, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452, 2452,
2942 2453, 2453, 2453, 2453, 2453, 2453, 2453, 2453, 2453, 2454,
2943 2454, 2454, 2454, 0, 2454, 0, 2454, 2455, 2455, 2455,
2944 2455, 0, 0, 2455, 2455, 2456, 2456, 2456, 0, 0,
2945 0, 2456, 2457, 2457, 2457, 2457, 0, 0, 2457, 2457,
2946 2458, 2458, 2458, 0, 0, 0, 2458, 2459, 2459, 2459,
2947 2459, 0, 0, 2459, 2459, 2460, 2460, 2460, 2460, 0,
2949 2460, 0, 2460, 2461, 2461, 2461, 2461, 0, 0, 2461,
2950 2461, 2462, 2462, 2462, 2462, 0, 2462, 0, 2462, 2463,
2951 2463, 2463, 0, 0, 0, 2463, 2464, 2464, 2464, 0,
2952 0, 0, 2464, 2465, 2465, 2465, 2465, 0, 0, 2465,
2953 2465, 2466, 2466, 2466, 0, 0, 0, 2466, 2467, 2467,
2954 2467, 0, 0, 0, 2467, 2468, 2468, 2468, 2468, 0,
2955 0, 2468, 2468, 2469, 2469, 2469, 0, 0, 0, 2469,
2956 2470, 2470, 2470, 0, 0, 0, 2470, 2471, 2471, 2471,
2957 2471, 0, 0, 2471, 2471, 2472, 2472, 2472, 0, 0,
2958 0, 2472, 2473, 2473, 2473, 2473, 0, 0, 2473, 2473,
2960 2474, 2474, 2474, 0, 0, 0, 2474, 2475, 2475, 2475,
2961 2475, 0, 0, 2475, 2475, 2476, 2476, 2476, 2476, 0,
2962 0, 2476, 2476, 2477, 2477, 2477, 0, 0, 0, 2477,
2963 2478, 2478, 2478, 2478, 0, 0, 2478, 2478, 2479, 2479,
2964 2479, 2479, 0, 0, 2479, 2479, 2480, 2480, 2480, 2480,
2965 0, 0, 2480, 2480, 2481, 2481, 2481, 2481, 2481, 2481,
2966 2481, 2481, 2481, 2482, 2482, 2482, 2482, 2482, 2482, 2482,
2967 2482, 2482, 2483, 2483, 2483, 2483, 2483, 2483, 2483, 2483,
2968 2483, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484, 2484,
2969 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2485, 2486,
2971 2486, 2486, 2486, 2486, 2486, 2486, 2486, 2486, 2487, 2487,
2972 2487, 2487, 2487, 2487, 2487, 2487, 2487, 2488, 2488, 2488,
2973 2488, 2488, 2488, 2488, 2488, 2488, 2211, 2211, 2211, 2211,
2974 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2975 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2976 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2977 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2978 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2979 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211, 2211,
2980 2211, 2211, 2211, 2211, 2211, 2211, 2211
2984 /* Table of booleans, true if rule could match eol. */
2985 static yyconst flex_int32_t yy_rule_can_match_eol[379] =
2987 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2988 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2989 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2990 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2991 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
2992 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2993 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2994 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2995 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2996 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2997 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2998 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
2999 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3000 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3001 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3002 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3003 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
3004 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
3005 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3007 static yy_state_type yy_last_accepting_state;
3008 static char *yy_last_accepting_cpos;
3010 extern int surf_parse__flex_debug;
3011 int surf_parse__flex_debug = 0;
3013 /* The intent behind this definition is that it'll catch
3014 * any uses of REJECT which flex missed.
3016 #define REJECT reject_used_but_not_detected
3017 #define yymore() yymore_used_but_not_detected
3018 #define YY_MORE_ADJ 0
3019 #define YY_RESTORE_YY_MORE_OFFSET
3020 char *surf_parse_text;
3021 /* Validating XML processor for src/surf/simgrid.dtd.
3022 * Generated 2010/12/02 23:27:41.
3024 * This program was generated with the FleXML XML processor generator.
3025 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3026 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3027 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3029 * There are two, intertwined parts to this program, part A and part B.
3034 * Some parts, here collectively called "Part A", are found in the
3035 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3036 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3038 * You can redistribute, use, perform, display and/or modify "Part A"
3039 * provided the following two conditions hold:
3041 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3042 * FleXML; without even the implied warranty of MERCHANTABILITY or
3043 * FITNESS FOR A PARTICULAR PURPOSE.
3045 * 2. The program distribution conditions do not in any way affect the
3046 * distribution conditions of the FleXML system used to generate this
3047 * file or any version of FleXML derived from that system.
3049 * Notice that these are explicit rights granted to you for files
3050 * generated by the FleXML system. For your rights in connection with
3051 * the FleXML system itself please consult the GNU General Public License.
3056 * The other parts, here collectively called "Part B", and which came
3057 * from the DTD used by FleXML to generate this program, can be
3058 * distributed (or not, as the case may be) under the terms of whoever
3059 * wrote them, provided these terms respect and obey the two conditions
3060 * above under the heading "Part A".
3062 * The author of and contributors to FleXML specifically disclaim
3063 * any copyright interest in "Part B", unless "Part B" was written
3064 * by the author of or contributors to FleXML.
3068 /* Version strings. */
3069 const char rcs_surfxml_flexml_skeleton[] =
3070 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3071 const char rcs_surfxml_flexml[] =
3072 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3075 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3082 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3083 # ifndef __STRICT_ANSI__
3085 # include <process.h>
3088 # include <unistd.h>
3091 #ifndef FLEXML_INDEXSTACKSIZE
3092 #define FLEXML_INDEXSTACKSIZE 1000
3095 /* Generated definitions. */
3096 #define FLEXML_yylineno
3097 #ifndef FLEXML_BUFFERSTACKSIZE
3098 #define FLEXML_BUFFERSTACKSIZE 1000000
3100 #define FLEXML_NEED_BUFFERLIT
3102 /* XML processor api. */
3103 /* FleXML-provided data. */
3104 int surfxml_pcdata_ix;
3105 extern char *surfxml_bufferstack;
3106 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3107 AT_surfxml_random_generator AX_surfxml_random_generator;
3108 #define A_surfxml_random_generator AX_surfxml_random_generator
3109 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3110 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3111 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3112 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3113 AT_surfxml_prop_id AX_surfxml_prop_id;
3114 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3115 AT_surfxml_host_id AX_surfxml_host_id;
3116 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3117 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3118 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3119 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3120 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3121 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3122 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3123 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3124 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3125 AT_surfxml_host_state AX_surfxml_host_state;
3126 #define A_surfxml_host_state AX_surfxml_host_state
3127 AT_surfxml_AS_id AX_surfxml_AS_id;
3128 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3129 AT_surfxml_host_power AX_surfxml_host_power;
3130 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3131 AT_surfxml_router_id AX_surfxml_router_id;
3132 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3133 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3134 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3135 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3136 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3137 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3138 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3139 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3140 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3141 AT_surfxml_trace_file AX_surfxml_trace_file;
3142 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3143 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3144 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3145 AT_surfxml_random_min AX_surfxml_random_min;
3146 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3147 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3148 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3149 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3150 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3151 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3152 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3153 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3154 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3155 AT_surfxml_argument_value AX_surfxml_argument_value;
3156 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3157 AT_surfxml_link_state AX_surfxml_link_state;
3158 #define A_surfxml_link_state AX_surfxml_link_state
3159 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3160 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3161 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3162 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3163 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3164 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3165 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3166 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3167 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3168 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3169 AT_surfxml_random_mean AX_surfxml_random_mean;
3170 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3171 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3172 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3173 AT_surfxml_link_latency AX_surfxml_link_latency;
3174 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3175 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3176 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3177 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3178 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3179 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3180 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3181 AT_surfxml_random_id AX_surfxml_random_id;
3182 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3183 AT_surfxml_random_max AX_surfxml_random_max;
3184 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3185 AT_surfxml_link_id AX_surfxml_link_id;
3186 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3187 AT_surfxml_process_host AX_surfxml_process_host;
3188 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3189 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3190 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3191 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3192 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3193 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3194 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3195 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3196 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3197 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3198 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3199 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3200 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3201 AT_surfxml_prop_value AX_surfxml_prop_value;
3202 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3203 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3204 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3205 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3206 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3207 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3208 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3209 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3210 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3211 AT_surfxml_process_function AX_surfxml_process_function;
3212 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3213 AT_surfxml_peer_id AX_surfxml_peer_id;
3214 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3215 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3216 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3217 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3218 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3219 AT_surfxml_host_core AX_surfxml_host_core;
3220 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3221 AT_surfxml_host_availability AX_surfxml_host_availability;
3222 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3223 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3224 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3225 AT_surfxml_route_src AX_surfxml_route_src;
3226 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3227 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3228 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3229 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3230 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3231 AT_surfxml_trace_id AX_surfxml_trace_id;
3232 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3233 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3234 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3235 AT_surfxml_peer_power AX_surfxml_peer_power;
3236 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3237 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3238 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3239 AT_surfxml_config_id AX_surfxml_config_id;
3240 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3241 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3242 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3243 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3244 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3245 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3246 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3247 AT_surfxml_route_dst AX_surfxml_route_dst;
3248 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3249 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3250 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3251 AT_surfxml_platform_version AX_surfxml_platform_version;
3252 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3256 # define ENTER(state) debug_enter(state,#state)
3257 # define LEAVE debug_leave()
3258 # define SET(state) debug_set(state,#state)
3259 static void debug_enter(int, const char*);
3260 static void debug_leave(void);
3261 static void debug_set(int, const char*);
3263 # define ENTER(state) (yy_push_state(state))
3264 # define LEAVE (yy_pop_state())
3265 # define SET(state) BEGIN(state)
3268 /* Generic actions. */
3269 #define SKIP /*skip*/
3270 #define SUCCEED CLEANUP; return 0
3272 #define FAIL return fail
3273 static int fail(const char*, ...);
3275 enum {flexml_max_err_msg_size = 512};
3276 static char flexml_err_msg[flexml_max_err_msg_size];
3277 const char * surfxml_parse_err_msg()
3279 return flexml_err_msg;
3281 static void reset_surfxml_parse_err_msg()
3283 flexml_err_msg[0] = '\0';
3287 static void cleanup(void);
3288 #define CLEANUP cleanup()
3290 /* Text buffer stack handling. */
3291 char *surfxml_bufferstack = NULL;
3292 static int blimit = FLEXML_BUFFERSTACKSIZE;
3293 static int bnext = 1;
3295 static int *indexstack = NULL;
3296 static int ilimit = FLEXML_INDEXSTACKSIZE;
3297 static int inext = 1;
3299 #define BUFFERSET(P) (P = bnext)
3300 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3301 #define BUFFERDONE (BUFFERPUTC('\0'))
3303 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3305 /* after this is called, there are at least 2 slots left in the stack */
3306 static int ck_blimit()
3308 if (bnext >= blimit) {
3309 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3311 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3313 surfxml_bufferstack = temp;
3319 /* after this is called, there are at least 2 slots left in the stack */
3320 static int ck_ilimit()
3322 if (inext >= ilimit) {
3323 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3325 int *temp = (int *) realloc(indexstack, ilimit);
3333 #ifdef FLEXML_NEED_BUFFERLIT
3334 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3336 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3337 assert(s <= e); BUFFERSET(*pp);
3339 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3340 else BUFFERPUTC(*s);
3346 static void pushbuffer(int p)
3349 indexstack[inext++] = p;
3350 indexstack[inext++] = bnext;
3353 static int popbuffer(void)
3356 bnext = indexstack[--inext];
3357 return indexstack[--inext];
3360 /* General internal entities are `unput' back onto the input stream... */
3361 #define ENTITYTEXT(T) \
3362 { char *s = (T), *e = s+strlen(s);\
3363 while (--e >= s) { unput(*e); }}
3365 /* Flex standard options. */
3366 #define YY_NO_INPUT 1
3367 /* Flex user-requested options. */
3368 /* XML character classes (currently restricted to ASCII). */
3369 /* "Common syntactic structures." */
3370 /* "Names and Tokens." */
3371 /* Miscellaneous. */
3372 /* Parser states (flex `exclusive start conditions'):
3374 * PROLOG the XML prolog of the document before <?xml...>
3375 * DOCTYPE the XML prolog of the document after <?xml...>
3376 * EPILOG after the root element
3377 * INCOMMENT inside an XML comment <!--....-->
3378 * INPI inside an XML PI <?...?>
3379 * VALUE1 inside a '...'-delimited literal
3380 * VALUE2 inside a "..."-delimited literal
3381 * CDATA inside a <![CDATA[...] ]> section.
3382 * ROOT_<tag> expect root element <tag>
3383 * AL_<tag> inside the attribute list for <tag>
3384 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3385 * IMPOSSIBLE dummy to permit disabling rules; must be last
3389 const char* *surfxml_statenames=NULL;
3400 #define ROOT_surfxml_platform 9
3401 #define AL_surfxml_platform 10
3402 #define S_surfxml_platform 11
3403 #define S_surfxml_platform_1 12
3404 #define S_surfxml_platform_2 13
3405 #define S_surfxml_platform_3 14
3406 #define S_surfxml_platform_4 15
3407 #define S_surfxml_platform_5 16
3408 #define S_surfxml_platform_6 17
3409 #define E_surfxml_platform 18
3410 #define AL_surfxml_trace 19
3412 #define AL_surfxml_random 21
3413 #define S_surfxml_random 22
3414 #define S_surfxml_random_1 23
3415 #define S_surfxml_random_2 24
3416 #define E_surfxml_random 25
3417 #define AL_surfxml_trace_connect 26
3418 #define E_surfxml_trace_connect 27
3419 #define AL_surfxml_AS 28
3420 #define S_surfxml_AS 29
3421 #define S_surfxml_AS_1 30
3422 #define S_surfxml_AS_2 31
3423 #define S_surfxml_AS_3 32
3424 #define S_surfxml_AS_4 33
3425 #define S_surfxml_AS_5 34
3426 #define S_surfxml_AS_6 35
3427 #define S_surfxml_AS_7 36
3428 #define S_surfxml_AS_8 37
3429 #define S_surfxml_AS_9 38
3430 #define S_surfxml_AS_10 39
3431 #define S_surfxml_AS_11 40
3432 #define S_surfxml_AS_12 41
3433 #define S_surfxml_AS_13 42
3434 #define E_surfxml_AS 43
3435 #define AL_surfxml_host 44
3436 #define S_surfxml_host 45
3437 #define S_surfxml_host_1 46
3438 #define S_surfxml_host_2 47
3439 #define E_surfxml_host 48
3440 #define AL_surfxml_cluster 49
3441 #define E_surfxml_cluster 50
3442 #define AL_surfxml_peer 51
3443 #define E_surfxml_peer 52
3444 #define AL_surfxml_router 53
3445 #define E_surfxml_router 54
3446 #define AL_surfxml_link 55
3447 #define S_surfxml_link 56
3448 #define S_surfxml_link_1 57
3449 #define S_surfxml_link_2 58
3450 #define E_surfxml_link 59
3451 #define AL_surfxml_route 60
3452 #define S_surfxml_route 61
3453 #define S_surfxml_route_1 62
3454 #define S_surfxml_route_2 63
3455 #define E_surfxml_route 64
3456 #define AL_surfxml_ASroute 65
3457 #define S_surfxml_ASroute 66
3458 #define S_surfxml_ASroute_1 67
3459 #define S_surfxml_ASroute_2 68
3460 #define E_surfxml_ASroute 69
3461 #define AL_surfxml_link_ctn 70
3462 #define E_surfxml_link_ctn 71
3463 #define AL_surfxml_bypassRoute 72
3464 #define S_surfxml_bypassRoute 73
3465 #define S_surfxml_bypassRoute_1 74
3466 #define S_surfxml_bypassRoute_2 75
3467 #define E_surfxml_bypassRoute 76
3468 #define AL_surfxml_process 77
3469 #define S_surfxml_process 78
3470 #define S_surfxml_process_1 79
3471 #define S_surfxml_process_2 80
3472 #define E_surfxml_process 81
3473 #define AL_surfxml_argument 82
3474 #define E_surfxml_argument 83
3475 #define AL_surfxml_config 84
3476 #define S_surfxml_config 85
3477 #define S_surfxml_config_1 86
3478 #define S_surfxml_config_2 87
3479 #define E_surfxml_config 88
3480 #define AL_surfxml_prop 89
3481 #define E_surfxml_prop 90
3482 #define IMPOSSIBLE 91
3484 #ifndef YY_NO_UNISTD_H
3485 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3486 * down here because we want the user's section 1 to have been scanned first.
3487 * The user has a chance to override it with an option.
3489 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3490 # ifndef __STRICT_ANSI__
3492 # include <process.h>
3495 # include <unistd.h>
3499 #ifndef YY_EXTRA_TYPE
3500 #define YY_EXTRA_TYPE void *
3503 static int yy_init_globals (void );
3505 /* Accessor methods to globals.
3506 These are made visible to non-reentrant scanners for convenience. */
3508 int surf_parse_lex_destroy (void );
3510 int surf_parse_get_debug (void );
3512 void surf_parse_set_debug (int debug_flag );
3514 YY_EXTRA_TYPE surf_parse_get_extra (void );
3516 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3518 FILE *surf_parse_get_in (void );
3520 void surf_parse_set_in (FILE * in_str );
3522 FILE *surf_parse_get_out (void );
3524 void surf_parse_set_out (FILE * out_str );
3526 int surf_parse_get_leng (void );
3528 char *surf_parse_get_text (void );
3530 int surf_parse_get_lineno (void );
3532 void surf_parse_set_lineno (int line_number );
3534 /* Macros after this point can all be overridden by user definitions in
3538 #ifndef YY_SKIP_YYWRAP
3540 extern "C" int surf_parse_wrap (void );
3542 extern int surf_parse_wrap (void );
3547 static void yy_flex_strncpy (char *,yyconst char *,int );
3550 #ifdef YY_NEED_STRLEN
3551 static int yy_flex_strlen (yyconst char * );
3557 static int yyinput (void );
3559 static int input (void );
3564 static int yy_start_stack_ptr = 0;
3565 static int yy_start_stack_depth = 0;
3566 static int *yy_start_stack = NULL;
3568 static void yy_push_state (int new_state );
3570 static void yy_pop_state (void );
3572 /* Amount of stuff to slurp up with each read. */
3573 #ifndef YY_READ_BUF_SIZE
3575 /* On IA-64, the buffer size is 16k, not 8k */
3576 #define YY_READ_BUF_SIZE 16384
3578 #define YY_READ_BUF_SIZE 8192
3579 #endif /* __ia64__ */
3582 /* Copy whatever the last rule matched to the standard output. */
3584 /* This used to be an fputs(), but since the string might contain NUL's,
3585 * we now use fwrite().
3587 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3590 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3591 * is returned in "result".
3594 #define YY_INPUT(buf,result,max_size) \
3595 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3599 for ( n = 0; n < max_size && \
3600 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3601 buf[n] = (char) c; \
3603 buf[n++] = (char) c; \
3604 if ( c == EOF && ferror( surf_parse_in ) ) \
3605 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3611 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3613 if( errno != EINTR) \
3615 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3619 clearerr(surf_parse_in); \
3626 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3627 * we don't want an extra ';' after the "return" because that will cause
3628 * some compilers to complain about unreachable statements.
3631 #define yyterminate() return YY_NULL
3634 /* Number of entries by which start-condition stack grows. */
3635 #ifndef YY_START_STACK_INCR
3636 #define YY_START_STACK_INCR 25
3639 /* Report a fatal error. */
3640 #ifndef YY_FATAL_ERROR
3641 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3644 /* end tables serialization structures and prototypes */
3646 /* Default declaration of generated scanner - a define so the user can
3647 * easily add parameters.
3650 #define YY_DECL_IS_OURS 1
3652 extern int surf_parse_lex (void);
3654 #define YY_DECL int surf_parse_lex (void)
3655 #endif /* !YY_DECL */
3657 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3660 #ifndef YY_USER_ACTION
3661 #define YY_USER_ACTION
3664 /* Code executed at the end of each rule. */
3666 #define YY_BREAK break;
3669 #define YY_RULE_SETUP \
3672 /** The main scanner function which does all the work.
3676 register yy_state_type yy_current_state;
3677 register char *yy_cp, *yy_bp;
3678 register int yy_act;
3680 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3682 reset_surfxml_parse_err_msg();
3683 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3684 assert(surfxml_bufferstack);
3688 for (i = 0; i < blimit; i++) {
3689 surfxml_bufferstack[i] = '\377';
3693 surfxml_bufferstack[0] = '\0';
3694 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3700 surfxml_bufferliteral('\0', &bnext, "0.0");
3701 surfxml_bufferliteral('\0', &bnext, "1");
3702 surfxml_bufferliteral('\0', &bnext, "1.0");
3703 surfxml_bufferliteral('\0', &bnext, "0.0");
3704 surfxml_bufferliteral('\0', &bnext, "-1.0");
3705 surfxml_bufferliteral('\0', &bnext, "-1.0");
3706 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3707 surfxml_statenames[PROLOG] = NULL;
3708 surfxml_statenames[DOCTYPE] = NULL;
3709 surfxml_statenames[EPILOG] = NULL;
3710 surfxml_statenames[INCOMMENT] = NULL;
3711 surfxml_statenames[INPI] = NULL;
3712 surfxml_statenames[VALUE1] = NULL;
3713 surfxml_statenames[VALUE2] = NULL;
3714 surfxml_statenames[CDATA] = NULL;
3715 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3716 surfxml_statenames[AL_surfxml_platform] = NULL;
3717 surfxml_statenames[S_surfxml_platform] = "platform";
3718 surfxml_statenames[S_surfxml_platform_1] = "platform";
3719 surfxml_statenames[S_surfxml_platform_2] = "platform";
3720 surfxml_statenames[S_surfxml_platform_3] = "platform";
3721 surfxml_statenames[S_surfxml_platform_4] = "platform";
3722 surfxml_statenames[S_surfxml_platform_5] = "platform";
3723 surfxml_statenames[S_surfxml_platform_6] = "platform";
3724 surfxml_statenames[E_surfxml_platform] = "platform";
3725 surfxml_statenames[AL_surfxml_trace] = NULL;
3726 surfxml_statenames[IN_trace] = "trace";
3727 surfxml_statenames[AL_surfxml_random] = NULL;
3728 surfxml_statenames[S_surfxml_random] = "random";
3729 surfxml_statenames[S_surfxml_random_1] = "random";
3730 surfxml_statenames[S_surfxml_random_2] = "random";
3731 surfxml_statenames[E_surfxml_random] = "random";
3732 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3733 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3734 surfxml_statenames[AL_surfxml_AS] = NULL;
3735 surfxml_statenames[S_surfxml_AS] = "AS";
3736 surfxml_statenames[S_surfxml_AS_1] = "AS";
3737 surfxml_statenames[S_surfxml_AS_2] = "AS";
3738 surfxml_statenames[S_surfxml_AS_3] = "AS";
3739 surfxml_statenames[S_surfxml_AS_4] = "AS";
3740 surfxml_statenames[S_surfxml_AS_5] = "AS";
3741 surfxml_statenames[S_surfxml_AS_6] = "AS";
3742 surfxml_statenames[S_surfxml_AS_7] = "AS";
3743 surfxml_statenames[S_surfxml_AS_8] = "AS";
3744 surfxml_statenames[S_surfxml_AS_9] = "AS";
3745 surfxml_statenames[S_surfxml_AS_10] = "AS";
3746 surfxml_statenames[S_surfxml_AS_11] = "AS";
3747 surfxml_statenames[S_surfxml_AS_12] = "AS";
3748 surfxml_statenames[S_surfxml_AS_13] = "AS";
3749 surfxml_statenames[E_surfxml_AS] = "AS";
3750 surfxml_statenames[AL_surfxml_host] = NULL;
3751 surfxml_statenames[S_surfxml_host] = "host";
3752 surfxml_statenames[S_surfxml_host_1] = "host";
3753 surfxml_statenames[S_surfxml_host_2] = "host";
3754 surfxml_statenames[E_surfxml_host] = "host";
3755 surfxml_statenames[AL_surfxml_cluster] = NULL;
3756 surfxml_statenames[E_surfxml_cluster] = "cluster";
3757 surfxml_statenames[AL_surfxml_peer] = NULL;
3758 surfxml_statenames[E_surfxml_peer] = "peer";
3759 surfxml_statenames[AL_surfxml_router] = NULL;
3760 surfxml_statenames[E_surfxml_router] = "router";
3761 surfxml_statenames[AL_surfxml_link] = NULL;
3762 surfxml_statenames[S_surfxml_link] = "link";
3763 surfxml_statenames[S_surfxml_link_1] = "link";
3764 surfxml_statenames[S_surfxml_link_2] = "link";
3765 surfxml_statenames[E_surfxml_link] = "link";
3766 surfxml_statenames[AL_surfxml_route] = NULL;
3767 surfxml_statenames[S_surfxml_route] = "route";
3768 surfxml_statenames[S_surfxml_route_1] = "route";
3769 surfxml_statenames[S_surfxml_route_2] = "route";
3770 surfxml_statenames[E_surfxml_route] = "route";
3771 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3772 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3773 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3774 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3775 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3776 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3777 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3778 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3779 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3780 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3781 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3782 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3783 surfxml_statenames[AL_surfxml_process] = NULL;
3784 surfxml_statenames[S_surfxml_process] = "process";
3785 surfxml_statenames[S_surfxml_process_1] = "process";
3786 surfxml_statenames[S_surfxml_process_2] = "process";
3787 surfxml_statenames[E_surfxml_process] = "process";
3788 surfxml_statenames[AL_surfxml_argument] = NULL;
3789 surfxml_statenames[E_surfxml_argument] = "argument";
3790 surfxml_statenames[AL_surfxml_config] = NULL;
3791 surfxml_statenames[S_surfxml_config] = "config";
3792 surfxml_statenames[S_surfxml_config_1] = "config";
3793 surfxml_statenames[S_surfxml_config_2] = "config";
3794 surfxml_statenames[E_surfxml_config] = "config";
3795 surfxml_statenames[AL_surfxml_prop] = NULL;
3796 surfxml_statenames[E_surfxml_prop] = "prop";
3799 /* COMMENTS and PIs: handled uniformly for efficiency. */
3810 (yy_start) = 1; /* first start state */
3812 if ( ! surf_parse_in )
3813 surf_parse_in = stdin;
3815 if ( ! surf_parse_out )
3816 surf_parse_out = stdout;
3818 if ( ! YY_CURRENT_BUFFER ) {
3819 surf_parse_ensure_buffer_stack ();
3820 YY_CURRENT_BUFFER_LVALUE =
3821 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3824 surf_parse__load_buffer_state( );
3827 while ( 1 ) /* loops until end-of-file is reached */
3829 yy_cp = (yy_c_buf_p);
3831 /* Support of surf_parse_text. */
3832 *yy_cp = (yy_hold_char);
3834 /* yy_bp points to the position in yy_ch_buf of the start of
3839 yy_current_state = (yy_start);
3843 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3844 if ( yy_accept[yy_current_state] )
3846 (yy_last_accepting_state) = yy_current_state;
3847 (yy_last_accepting_cpos) = yy_cp;
3849 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3851 yy_current_state = (int) yy_def[yy_current_state];
3852 if ( yy_current_state >= 2212 )
3853 yy_c = yy_meta[(unsigned int) yy_c];
3855 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3858 while ( yy_base[yy_current_state] != 7727 );
3861 yy_act = yy_accept[yy_current_state];
3863 { /* have to back up */
3864 yy_cp = (yy_last_accepting_cpos);
3865 yy_current_state = (yy_last_accepting_state);
3866 yy_act = yy_accept[yy_current_state];
3869 YY_DO_BEFORE_ACTION;
3871 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3874 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3875 if ( surf_parse_text[yyl] == '\n' )
3877 surf_parse_lineno++;
3881 do_action: /* This label is used only to access EOF actions. */
3884 { /* beginning of action switch */
3885 case 0: /* must back up */
3886 /* undo the effects of YY_DO_BEFORE_ACTION */
3887 *yy_cp = (yy_hold_char);
3888 yy_cp = (yy_last_accepting_cpos);
3889 yy_current_state = (yy_last_accepting_state);
3890 goto yy_find_action;
3908 /* rule 6 can match eol */
3912 case YY_STATE_EOF(INCOMMENT):
3913 FAIL("EOF in comment.");
3922 /* rule 9 can match eol */
3926 case YY_STATE_EOF(INPI):
3927 FAIL("EOF in PI (processing instruction).");
3930 /* SPACES: skipped uniformly */
3932 /* rule 10 can match eol */
3936 /* PROLOG: determine root element and process it. */
3939 /* rule 11 can match eol */
3944 /* rule 12 can match eol */
3946 FAIL("Bad declaration %s.",surf_parse_text);
3950 /* rule 13 can match eol */
3952 SET(ROOT_surfxml_platform);
3955 /* rule 14 can match eol */
3957 FAIL("Bad declaration %s.",surf_parse_text);
3961 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3963 case YY_STATE_EOF(PROLOG):
3964 case YY_STATE_EOF(DOCTYPE):
3965 FAIL("EOF in prolog.");
3968 /* RULES DERIVED FROM DTD. */
3969 /* <!-- Small DTD for SURF based tools. --> */
3971 /* rule 16 can match eol */
3973 FAIL("Starting tag <platform> is not allowed here.");
3976 /* rule 17 can match eol */
3979 AX_surfxml_platform_version = 1;
3980 ENTER(AL_surfxml_platform); pushbuffer(0);
3985 /* rule 18 can match eol */
3987 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3990 /* rule 19 can match eol */
3992 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3997 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4003 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4005 case ROOT_surfxml_platform: SET(EPILOG); break;
4011 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4015 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4017 case YY_STATE_EOF(AL_surfxml_platform):
4018 FAIL("EOF in attribute list of `platform' element.");
4022 /* rule 24 can match eol */
4026 ETag_surfxml_platform();
4027 popbuffer(); /* attribute */
4029 case ROOT_surfxml_platform: SET(EPILOG); break;
4034 /* rule 25 can match eol */
4036 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4040 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4042 case YY_STATE_EOF(S_surfxml_platform_2):
4043 case YY_STATE_EOF(S_surfxml_platform_1):
4044 case YY_STATE_EOF(S_surfxml_platform):
4045 case YY_STATE_EOF(S_surfxml_platform_4):
4046 case YY_STATE_EOF(S_surfxml_platform_6):
4047 case YY_STATE_EOF(E_surfxml_platform):
4048 FAIL("Premature EOF: `</platform>' expected.");
4052 /* rule 27 can match eol */
4054 FAIL("Starting tag <trace> is not allowed here.");
4057 /* rule 28 can match eol */
4060 AX_surfxml_trace_id = 0;
4061 AX_surfxml_trace_file = 0;
4062 AX_surfxml_trace_periodicity = 0;
4063 ENTER(AL_surfxml_trace); pushbuffer(0);
4068 /* rule 29 can match eol */
4070 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4073 /* rule 30 can match eol */
4075 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4078 /* rule 31 can match eol */
4080 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4083 /* rule 32 can match eol */
4085 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4088 /* rule 33 can match eol */
4090 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4093 /* rule 34 can match eol */
4095 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4100 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4101 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4102 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4108 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4109 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4110 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4112 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4113 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4114 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4115 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4116 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4117 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4123 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4127 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4129 case YY_STATE_EOF(AL_surfxml_trace):
4130 FAIL("EOF in attribute list of `trace' element.");
4134 /* rule 39 can match eol */
4139 ETag_surfxml_trace();
4140 surfxml_pcdata_ix = popbuffer();
4141 popbuffer(); /* attribute */
4143 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4144 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4145 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4146 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4147 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4148 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4153 /* rule 40 can match eol */
4155 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4157 case YY_STATE_EOF(IN_trace):
4158 FAIL("Premature EOF: `</trace>' expected.");
4162 /* rule 41 can match eol */
4164 FAIL("Starting tag <random> is not allowed here.");
4167 /* rule 42 can match eol */
4170 AX_surfxml_random_id = 0;
4171 AX_surfxml_random_min = 0;
4172 AX_surfxml_random_max = 0;
4173 AX_surfxml_random_mean = 0;
4174 AX_surfxml_random_std_deviation = 0;
4175 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4176 ENTER(AL_surfxml_random); pushbuffer(0);
4181 /* rule 43 can match eol */
4183 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4186 /* rule 44 can match eol */
4188 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4191 /* rule 45 can match eol */
4193 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4196 /* rule 46 can match eol */
4198 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4201 /* rule 47 can match eol */
4203 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4206 /* rule 48 can match eol */
4208 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4211 /* rule 49 can match eol */
4213 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4216 /* rule 50 can match eol */
4218 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4221 /* rule 51 can match eol */
4223 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4226 /* rule 52 can match eol */
4228 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4231 /* rule 53 can match eol */
4233 /* rule 54 can match eol */
4235 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4238 /* rule 55 can match eol */
4240 /* rule 56 can match eol */
4242 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4247 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4248 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4249 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4250 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4251 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4252 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4258 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4259 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4260 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4261 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4262 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4263 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4265 case S_surfxml_config: SET(E_surfxml_config); break;
4271 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4275 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4277 case YY_STATE_EOF(AL_surfxml_random):
4278 FAIL("EOF in attribute list of `random' element.");
4282 /* rule 61 can match eol */
4286 ETag_surfxml_random();
4287 popbuffer(); /* attribute */
4289 case S_surfxml_config: SET(E_surfxml_config); break;
4294 /* rule 62 can match eol */
4296 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4300 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4302 case YY_STATE_EOF(S_surfxml_random_2):
4303 case YY_STATE_EOF(S_surfxml_random):
4304 case YY_STATE_EOF(E_surfxml_random):
4305 FAIL("Premature EOF: `</random>' expected.");
4309 /* rule 64 can match eol */
4311 FAIL("Starting tag <trace_connect> is not allowed here.");
4314 /* rule 65 can match eol */
4317 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4318 AX_surfxml_trace_connect_trace = 0;
4319 AX_surfxml_trace_connect_element = 0;
4320 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4325 /* rule 66 can match eol */
4327 /* rule 67 can match eol */
4329 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4332 /* rule 68 can match eol */
4334 /* rule 69 can match eol */
4336 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4339 /* rule 70 can match eol */
4341 /* rule 71 can match eol */
4343 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4346 /* rule 72 can match eol */
4348 /* rule 73 can match eol */
4350 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4353 /* rule 74 can match eol */
4355 /* rule 75 can match eol */
4357 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4360 /* rule 76 can match eol */
4362 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4365 /* rule 77 can match eol */
4367 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4370 /* rule 78 can match eol */
4372 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4375 /* rule 79 can match eol */
4377 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4382 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4383 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4384 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4390 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4391 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4392 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4394 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4395 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4396 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4397 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4398 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4399 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4405 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4409 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4411 case YY_STATE_EOF(AL_surfxml_trace_connect):
4412 FAIL("EOF in attribute list of `trace_connect' element.");
4416 /* rule 84 can match eol */
4420 ETag_surfxml_trace_connect();
4421 popbuffer(); /* attribute */
4423 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4424 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4425 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4426 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4427 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4428 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4433 /* rule 85 can match eol */
4435 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4439 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4441 case YY_STATE_EOF(E_surfxml_trace_connect):
4442 FAIL("Premature EOF: `</trace_connect>' expected.");
4446 /* rule 87 can match eol */
4448 FAIL("Starting tag <AS> is not allowed here.");
4451 /* rule 88 can match eol */
4454 AX_surfxml_AS_id = 0;
4455 AX_surfxml_AS_routing = 0;
4456 ENTER(AL_surfxml_AS); pushbuffer(0);
4461 /* rule 89 can match eol */
4463 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4466 /* rule 90 can match eol */
4468 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4471 /* rule 91 can match eol */
4473 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4476 /* rule 92 can match eol */
4478 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4483 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4484 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4485 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4491 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4492 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4493 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4495 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4496 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4502 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4506 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4508 case YY_STATE_EOF(AL_surfxml_AS):
4509 FAIL("EOF in attribute list of `AS' element.");
4513 /* rule 97 can match eol */
4518 popbuffer(); /* attribute */
4520 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4521 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4526 /* rule 98 can match eol */
4528 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4532 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4534 case YY_STATE_EOF(S_surfxml_AS_1):
4535 case YY_STATE_EOF(S_surfxml_AS_9):
4536 case YY_STATE_EOF(S_surfxml_AS_11):
4537 case YY_STATE_EOF(S_surfxml_AS_6):
4538 case YY_STATE_EOF(E_surfxml_AS):
4539 case YY_STATE_EOF(S_surfxml_AS_3):
4540 case YY_STATE_EOF(S_surfxml_AS_13):
4541 case YY_STATE_EOF(S_surfxml_AS_8):
4542 case YY_STATE_EOF(S_surfxml_AS):
4543 case YY_STATE_EOF(S_surfxml_AS_4):
4544 FAIL("Premature EOF: `</AS>' expected.");
4548 /* rule 100 can match eol */
4550 FAIL("Starting tag <host> is not allowed here.");
4553 /* rule 101 can match eol */
4556 AX_surfxml_host_id = 0;
4557 AX_surfxml_host_power = 0;
4558 AX_surfxml_host_core = 5;
4559 AX_surfxml_host_availability = 7;
4560 AX_surfxml_host_availability_file = 0;
4561 AX_surfxml_host_state = A_surfxml_host_state_ON;
4562 AX_surfxml_host_state_file = 0;
4563 AX_surfxml_host_coordinates = 0;
4564 ENTER(AL_surfxml_host); pushbuffer(0);
4569 /* rule 102 can match eol */
4571 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4574 /* rule 103 can match eol */
4576 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4579 /* rule 104 can match eol */
4581 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4584 /* rule 105 can match eol */
4586 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4589 /* rule 106 can match eol */
4591 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4594 /* rule 107 can match eol */
4596 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4599 /* rule 108 can match eol */
4601 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4604 /* rule 109 can match eol */
4606 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4609 /* rule 110 can match eol */
4611 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4614 /* rule 111 can match eol */
4616 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4619 /* rule 112 can match eol */
4621 /* rule 113 can match eol */
4623 A_surfxml_host_state = A_surfxml_host_state_ON;
4626 /* rule 114 can match eol */
4628 /* rule 115 can match eol */
4630 A_surfxml_host_state = A_surfxml_host_state_OFF;
4633 /* rule 116 can match eol */
4635 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4638 /* rule 117 can match eol */
4640 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4643 /* rule 118 can match eol */
4645 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4648 /* rule 119 can match eol */
4650 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4655 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4656 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4657 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4663 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4664 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4665 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4667 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4673 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4677 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4679 case YY_STATE_EOF(AL_surfxml_host):
4680 FAIL("EOF in attribute list of `host' element.");
4684 /* rule 124 can match eol */
4688 ETag_surfxml_host();
4689 popbuffer(); /* attribute */
4691 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4696 /* rule 125 can match eol */
4698 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4702 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4704 case YY_STATE_EOF(S_surfxml_host):
4705 case YY_STATE_EOF(E_surfxml_host):
4706 case YY_STATE_EOF(S_surfxml_host_2):
4707 FAIL("Premature EOF: `</host>' expected.");
4711 /* rule 127 can match eol */
4713 FAIL("Starting tag <cluster> is not allowed here.");
4716 /* rule 128 can match eol */
4719 AX_surfxml_cluster_id = 0;
4720 AX_surfxml_cluster_prefix = 0;
4721 AX_surfxml_cluster_suffix = 0;
4722 AX_surfxml_cluster_radical = 0;
4723 AX_surfxml_cluster_power = 0;
4724 AX_surfxml_cluster_bw = 0;
4725 AX_surfxml_cluster_lat = 0;
4726 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4727 AX_surfxml_cluster_bb_bw = 0;
4728 AX_surfxml_cluster_bb_lat = 0;
4729 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4730 ENTER(AL_surfxml_cluster); pushbuffer(0);
4735 /* rule 129 can match eol */
4737 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4740 /* rule 130 can match eol */
4742 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4745 /* rule 131 can match eol */
4747 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4750 /* rule 132 can match eol */
4752 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4755 /* rule 133 can match eol */
4757 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4760 /* rule 134 can match eol */
4762 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4765 /* rule 135 can match eol */
4767 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4770 /* rule 136 can match eol */
4772 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4775 /* rule 137 can match eol */
4777 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4780 /* rule 138 can match eol */
4782 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4785 /* rule 139 can match eol */
4787 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4790 /* rule 140 can match eol */
4792 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4795 /* rule 141 can match eol */
4797 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4800 /* rule 142 can match eol */
4802 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4805 /* rule 143 can match eol */
4807 /* rule 144 can match eol */
4809 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4812 /* rule 145 can match eol */
4814 /* rule 146 can match eol */
4816 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4819 /* rule 147 can match eol */
4821 /* rule 148 can match eol */
4823 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4826 /* rule 149 can match eol */
4828 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4831 /* rule 150 can match eol */
4833 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4836 /* rule 151 can match eol */
4838 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4841 /* rule 152 can match eol */
4843 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4846 /* rule 153 can match eol */
4848 /* rule 154 can match eol */
4850 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4853 /* rule 155 can match eol */
4855 /* rule 156 can match eol */
4857 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4862 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4863 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4864 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4865 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4866 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4867 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4868 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4869 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4870 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4871 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4877 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4878 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4879 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4880 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4881 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4882 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4883 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4884 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4885 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4886 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4888 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4889 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4895 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4899 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4901 case YY_STATE_EOF(AL_surfxml_cluster):
4902 FAIL("EOF in attribute list of `cluster' element.");
4906 /* rule 161 can match eol */
4910 ETag_surfxml_cluster();
4911 popbuffer(); /* attribute */
4913 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4914 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4919 /* rule 162 can match eol */
4921 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4925 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4927 case YY_STATE_EOF(E_surfxml_cluster):
4928 FAIL("Premature EOF: `</cluster>' expected.");
4932 /* rule 164 can match eol */
4934 FAIL("Starting tag <peer> is not allowed here.");
4937 /* rule 165 can match eol */
4940 AX_surfxml_peer_id = 0;
4941 AX_surfxml_peer_power = 0;
4942 AX_surfxml_peer_bw_in = 0;
4943 AX_surfxml_peer_bw_out = 0;
4944 AX_surfxml_peer_lat = 0;
4945 AX_surfxml_peer_coordinates = 0;
4946 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
4947 ENTER(AL_surfxml_peer); pushbuffer(0);
4952 /* rule 166 can match eol */
4954 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
4957 /* rule 167 can match eol */
4959 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
4962 /* rule 168 can match eol */
4964 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
4967 /* rule 169 can match eol */
4969 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
4972 /* rule 170 can match eol */
4974 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
4977 /* rule 171 can match eol */
4979 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
4982 /* rule 172 can match eol */
4984 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
4987 /* rule 173 can match eol */
4989 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
4992 /* rule 174 can match eol */
4994 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
4997 /* rule 175 can match eol */
4999 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5002 /* rule 176 can match eol */
5004 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5007 /* rule 177 can match eol */
5009 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5012 /* rule 178 can match eol */
5014 /* rule 179 can match eol */
5016 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5019 /* rule 180 can match eol */
5021 /* rule 181 can match eol */
5023 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5028 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5029 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5030 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5031 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5032 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5033 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5039 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5040 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5041 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5042 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5043 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5044 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5046 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5047 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5053 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5057 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5059 case YY_STATE_EOF(AL_surfxml_peer):
5060 FAIL("EOF in attribute list of `peer' element.");
5064 /* rule 186 can match eol */
5068 ETag_surfxml_peer();
5069 popbuffer(); /* attribute */
5071 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5072 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5077 /* rule 187 can match eol */
5079 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5083 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5085 case YY_STATE_EOF(E_surfxml_peer):
5086 FAIL("Premature EOF: `</peer>' expected.");
5090 /* rule 189 can match eol */
5092 FAIL("Starting tag <router> is not allowed here.");
5095 /* rule 190 can match eol */
5098 AX_surfxml_router_id = 0;
5099 AX_surfxml_router_coordinates = 0;
5100 ENTER(AL_surfxml_router); pushbuffer(0);
5105 /* rule 191 can match eol */
5107 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5110 /* rule 192 can match eol */
5112 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5115 /* rule 193 can match eol */
5117 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5120 /* rule 194 can match eol */
5122 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5127 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5128 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5134 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5135 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5137 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5143 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5147 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5149 case YY_STATE_EOF(AL_surfxml_router):
5150 FAIL("EOF in attribute list of `router' element.");
5154 /* rule 199 can match eol */
5158 ETag_surfxml_router();
5159 popbuffer(); /* attribute */
5161 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5166 /* rule 200 can match eol */
5168 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5172 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5174 case YY_STATE_EOF(E_surfxml_router):
5175 FAIL("Premature EOF: `</router>' expected.");
5179 /* rule 202 can match eol */
5181 FAIL("Starting tag <link> is not allowed here.");
5184 /* rule 203 can match eol */
5187 AX_surfxml_link_id = 0;
5188 AX_surfxml_link_bandwidth = 0;
5189 AX_surfxml_link_bandwidth_file = 0;
5190 AX_surfxml_link_latency = 11;
5191 AX_surfxml_link_latency_file = 0;
5192 AX_surfxml_link_state = A_surfxml_link_state_ON;
5193 AX_surfxml_link_state_file = 0;
5194 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5195 ENTER(AL_surfxml_link); pushbuffer(0);
5200 /* rule 204 can match eol */
5202 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5205 /* rule 205 can match eol */
5207 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5210 /* rule 206 can match eol */
5212 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5215 /* rule 207 can match eol */
5217 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5220 /* rule 208 can match eol */
5222 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5225 /* rule 209 can match eol */
5227 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5230 /* rule 210 can match eol */
5232 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5235 /* rule 211 can match eol */
5237 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5240 /* rule 212 can match eol */
5242 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5245 /* rule 213 can match eol */
5247 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5250 /* rule 214 can match eol */
5252 /* rule 215 can match eol */
5254 A_surfxml_link_state = A_surfxml_link_state_ON;
5257 /* rule 216 can match eol */
5259 /* rule 217 can match eol */
5261 A_surfxml_link_state = A_surfxml_link_state_OFF;
5264 /* rule 218 can match eol */
5266 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5269 /* rule 219 can match eol */
5271 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5274 /* rule 220 can match eol */
5276 /* rule 221 can match eol */
5278 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5281 /* rule 222 can match eol */
5283 /* rule 223 can match eol */
5285 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5288 /* rule 224 can match eol */
5290 /* rule 225 can match eol */
5292 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5297 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5298 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5299 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5305 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5306 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5307 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5309 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5310 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5316 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5320 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5322 case YY_STATE_EOF(AL_surfxml_link):
5323 FAIL("EOF in attribute list of `link' element.");
5327 /* rule 230 can match eol */
5331 ETag_surfxml_link();
5332 popbuffer(); /* attribute */
5334 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5335 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5340 /* rule 231 can match eol */
5342 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5346 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5348 case YY_STATE_EOF(E_surfxml_link):
5349 case YY_STATE_EOF(S_surfxml_link_2):
5350 case YY_STATE_EOF(S_surfxml_link):
5351 FAIL("Premature EOF: `</link>' expected.");
5355 /* rule 233 can match eol */
5357 FAIL("Starting tag <route> is not allowed here.");
5360 /* rule 234 can match eol */
5363 AX_surfxml_route_src = 0;
5364 AX_surfxml_route_dst = 0;
5365 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5366 ENTER(AL_surfxml_route); pushbuffer(0);
5371 /* rule 235 can match eol */
5373 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5376 /* rule 236 can match eol */
5378 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5381 /* rule 237 can match eol */
5383 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5386 /* rule 238 can match eol */
5388 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5391 /* rule 239 can match eol */
5393 /* rule 240 can match eol */
5395 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5398 /* rule 241 can match eol */
5400 /* rule 242 can match eol */
5402 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5407 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5408 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5409 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5415 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5416 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5417 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5419 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5425 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5429 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5431 case YY_STATE_EOF(AL_surfxml_route):
5432 FAIL("EOF in attribute list of `route' element.");
5436 /* rule 247 can match eol */
5440 ETag_surfxml_route();
5441 popbuffer(); /* attribute */
5443 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
5448 /* rule 248 can match eol */
5450 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5454 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5456 case YY_STATE_EOF(S_surfxml_route):
5457 case YY_STATE_EOF(S_surfxml_route_2):
5458 case YY_STATE_EOF(E_surfxml_route):
5459 FAIL("Premature EOF: `</route>' expected.");
5463 /* rule 250 can match eol */
5465 FAIL("Starting tag <ASroute> is not allowed here.");
5468 /* rule 251 can match eol */
5471 AX_surfxml_ASroute_src = 0;
5472 AX_surfxml_ASroute_dst = 0;
5473 AX_surfxml_ASroute_gw_src = 0;
5474 AX_surfxml_ASroute_gw_dst = 0;
5475 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5476 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5481 /* rule 252 can match eol */
5483 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5486 /* rule 253 can match eol */
5488 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5491 /* rule 254 can match eol */
5493 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5496 /* rule 255 can match eol */
5498 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5501 /* rule 256 can match eol */
5503 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5506 /* rule 257 can match eol */
5508 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5511 /* rule 258 can match eol */
5513 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5516 /* rule 259 can match eol */
5518 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5521 /* rule 260 can match eol */
5523 /* rule 261 can match eol */
5525 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5528 /* rule 262 can match eol */
5530 /* rule 263 can match eol */
5532 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5537 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5538 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5539 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5540 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5541 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5547 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5548 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5549 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5550 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5551 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5553 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5559 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5563 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5565 case YY_STATE_EOF(AL_surfxml_ASroute):
5566 FAIL("EOF in attribute list of `ASroute' element.");
5570 /* rule 268 can match eol */
5574 ETag_surfxml_ASroute();
5575 popbuffer(); /* attribute */
5577 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5582 /* rule 269 can match eol */
5584 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5588 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5590 case YY_STATE_EOF(E_surfxml_ASroute):
5591 case YY_STATE_EOF(S_surfxml_ASroute):
5592 case YY_STATE_EOF(S_surfxml_ASroute_2):
5593 FAIL("Premature EOF: `</ASroute>' expected.");
5597 /* rule 271 can match eol */
5599 FAIL("Starting tag <link_ctn> is not allowed here.");
5602 /* rule 272 can match eol */
5605 AX_surfxml_link_ctn_id = 0;
5606 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5607 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5612 /* rule 273 can match eol */
5614 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5617 /* rule 274 can match eol */
5619 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5622 /* rule 275 can match eol */
5624 /* rule 276 can match eol */
5626 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5629 /* rule 277 can match eol */
5631 /* rule 278 can match eol */
5633 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5636 /* rule 279 can match eol */
5638 /* rule 280 can match eol */
5640 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5645 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5646 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5652 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5653 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5655 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5656 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5657 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5663 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5667 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5669 case YY_STATE_EOF(AL_surfxml_link_ctn):
5670 FAIL("EOF in attribute list of `link_ctn' element.");
5674 /* rule 285 can match eol */
5678 ETag_surfxml_link_ctn();
5679 popbuffer(); /* attribute */
5681 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5682 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5683 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5688 /* rule 286 can match eol */
5690 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5694 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5696 case YY_STATE_EOF(E_surfxml_link_ctn):
5697 FAIL("Premature EOF: `</link_ctn>' expected.");
5701 /* rule 288 can match eol */
5703 FAIL("Starting tag <bypassRoute> is not allowed here.");
5706 /* rule 289 can match eol */
5709 AX_surfxml_bypassRoute_src = 0;
5710 AX_surfxml_bypassRoute_dst = 0;
5711 AX_surfxml_bypassRoute_gw_src = 0;
5712 AX_surfxml_bypassRoute_gw_dst = 0;
5713 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5718 /* rule 290 can match eol */
5720 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5723 /* rule 291 can match eol */
5725 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5728 /* rule 292 can match eol */
5730 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5733 /* rule 293 can match eol */
5735 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5738 /* rule 294 can match eol */
5740 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5743 /* rule 295 can match eol */
5745 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5748 /* rule 296 can match eol */
5750 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5753 /* rule 297 can match eol */
5755 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5760 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5761 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5762 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5763 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5764 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5770 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5771 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5772 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5773 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5774 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5776 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5782 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5786 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5788 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5789 FAIL("EOF in attribute list of `bypassRoute' element.");
5793 /* rule 302 can match eol */
5797 ETag_surfxml_bypassRoute();
5798 popbuffer(); /* attribute */
5800 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5805 /* rule 303 can match eol */
5807 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5811 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5813 case YY_STATE_EOF(S_surfxml_bypassRoute):
5814 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5815 case YY_STATE_EOF(E_surfxml_bypassRoute):
5816 FAIL("Premature EOF: `</bypassRoute>' expected.");
5820 /* rule 305 can match eol */
5822 FAIL("Starting tag <process> is not allowed here.");
5825 /* rule 306 can match eol */
5828 AX_surfxml_process_host = 0;
5829 AX_surfxml_process_function = 0;
5830 AX_surfxml_process_start_time = 15;
5831 AX_surfxml_process_kill_time = 20;
5832 ENTER(AL_surfxml_process); pushbuffer(0);
5837 /* rule 307 can match eol */
5839 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5842 /* rule 308 can match eol */
5844 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5847 /* rule 309 can match eol */
5849 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5852 /* rule 310 can match eol */
5854 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5857 /* rule 311 can match eol */
5859 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5862 /* rule 312 can match eol */
5864 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5867 /* rule 313 can match eol */
5869 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5872 /* rule 314 can match eol */
5874 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5879 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5880 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5881 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5887 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5888 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5889 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5891 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5897 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5901 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5903 case YY_STATE_EOF(AL_surfxml_process):
5904 FAIL("EOF in attribute list of `process' element.");
5908 /* rule 319 can match eol */
5912 ETag_surfxml_process();
5913 popbuffer(); /* attribute */
5915 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
5920 /* rule 320 can match eol */
5922 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5926 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5928 case YY_STATE_EOF(E_surfxml_process):
5929 case YY_STATE_EOF(S_surfxml_process):
5930 case YY_STATE_EOF(S_surfxml_process_2):
5931 FAIL("Premature EOF: `</process>' expected.");
5935 /* rule 322 can match eol */
5937 FAIL("Starting tag <argument> is not allowed here.");
5940 /* rule 323 can match eol */
5943 AX_surfxml_argument_value = 0;
5944 ENTER(AL_surfxml_argument); pushbuffer(0);
5949 /* rule 324 can match eol */
5951 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5954 /* rule 325 can match eol */
5956 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5961 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5962 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5968 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5969 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5971 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5977 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5981 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5983 case YY_STATE_EOF(AL_surfxml_argument):
5984 FAIL("EOF in attribute list of `argument' element.");
5988 /* rule 330 can match eol */
5992 ETag_surfxml_argument();
5993 popbuffer(); /* attribute */
5995 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6000 /* rule 331 can match eol */
6002 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6006 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6008 case YY_STATE_EOF(E_surfxml_argument):
6009 FAIL("Premature EOF: `</argument>' expected.");
6013 /* rule 333 can match eol */
6015 FAIL("Starting tag <config> is not allowed here.");
6018 /* rule 334 can match eol */
6021 AX_surfxml_config_id = 0;
6022 ENTER(AL_surfxml_config); pushbuffer(0);
6027 /* rule 335 can match eol */
6029 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6032 /* rule 336 can match eol */
6034 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6039 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6045 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6047 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6053 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6057 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6059 case YY_STATE_EOF(AL_surfxml_config):
6060 FAIL("EOF in attribute list of `config' element.");
6064 /* rule 341 can match eol */
6068 ETag_surfxml_config();
6069 popbuffer(); /* attribute */
6071 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6076 /* rule 342 can match eol */
6078 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6082 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6084 case YY_STATE_EOF(S_surfxml_config):
6085 case YY_STATE_EOF(S_surfxml_config_2):
6086 case YY_STATE_EOF(E_surfxml_config):
6087 FAIL("Premature EOF: `</config>' expected.");
6090 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6091 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6093 /* rule 344 can match eol */
6095 FAIL("Starting tag <prop> is not allowed here.");
6098 /* rule 345 can match eol */
6101 AX_surfxml_prop_id = 0;
6102 AX_surfxml_prop_value = 0;
6103 ENTER(AL_surfxml_prop); pushbuffer(0);
6108 /* rule 346 can match eol */
6110 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6113 /* rule 347 can match eol */
6115 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6118 /* rule 348 can match eol */
6120 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6123 /* rule 349 can match eol */
6125 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6130 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6131 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6132 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6138 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6139 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6140 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6142 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6143 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6144 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6145 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6146 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6152 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6156 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6158 case YY_STATE_EOF(AL_surfxml_prop):
6159 FAIL("EOF in attribute list of `prop' element.");
6163 /* rule 354 can match eol */
6167 ETag_surfxml_prop();
6168 popbuffer(); /* attribute */
6170 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6171 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6172 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6173 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6174 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6179 /* rule 355 can match eol */
6181 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6185 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6187 case YY_STATE_EOF(E_surfxml_prop):
6188 FAIL("Premature EOF: `</prop>' expected.");
6191 /* EPILOG: after the root element. */
6195 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6197 case YY_STATE_EOF(EPILOG):
6201 /* CHARACTER DATA. */
6203 /* Non-defined standard entities... */
6224 /* Character entities. */
6227 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6231 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6235 /* rule 365 can match eol */
6237 /* rule 366 can match eol */
6239 /* rule 367 can match eol */
6241 /* rule 368 can match eol */
6252 FAIL("Unexpected `]""]>' in character data.");
6259 case YY_STATE_EOF(VALUE1):
6260 FAIL("EOF in literal (\"'\" expected).");
6267 case YY_STATE_EOF(VALUE2):
6268 FAIL("EOF in literal (`\"' expected).");
6272 /* rule 373 can match eol */
6274 BUFFERPUTC(surf_parse_text[0]);
6278 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6285 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6288 BUFFERPUTC(surf_parse_text[0]);
6290 case YY_STATE_EOF(CDATA):
6291 FAIL("EOF in CDATA section.");
6294 /* Impossible rules to avoid warnings from flex(1). */
6295 /* Ideally, this should be replaced by code in flexml.pl that
6296 generates just the states not covered by other rules. */
6299 /* rule 377 can match eol */
6301 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6308 case YY_STATE_EOF(INITIAL):
6309 case YY_STATE_EOF(ROOT_surfxml_platform):
6310 case YY_STATE_EOF(S_surfxml_platform_3):
6311 case YY_STATE_EOF(S_surfxml_platform_5):
6312 case YY_STATE_EOF(S_surfxml_random_1):
6313 case YY_STATE_EOF(S_surfxml_AS_2):
6314 case YY_STATE_EOF(S_surfxml_AS_5):
6315 case YY_STATE_EOF(S_surfxml_AS_7):
6316 case YY_STATE_EOF(S_surfxml_AS_10):
6317 case YY_STATE_EOF(S_surfxml_AS_12):
6318 case YY_STATE_EOF(S_surfxml_host_1):
6319 case YY_STATE_EOF(S_surfxml_link_1):
6320 case YY_STATE_EOF(S_surfxml_route_1):
6321 case YY_STATE_EOF(S_surfxml_ASroute_1):
6322 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6323 case YY_STATE_EOF(S_surfxml_process_1):
6324 case YY_STATE_EOF(S_surfxml_config_1):
6325 case YY_STATE_EOF(IMPOSSIBLE):
6328 case YY_END_OF_BUFFER:
6330 /* Amount of text matched not including the EOB char. */
6331 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6333 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6334 *yy_cp = (yy_hold_char);
6335 YY_RESTORE_YY_MORE_OFFSET
6337 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6339 /* We're scanning a new file or input source. It's
6340 * possible that this happened because the user
6341 * just pointed surf_parse_in at a new source and called
6342 * surf_parse_lex(). If so, then we have to assure
6343 * consistency between YY_CURRENT_BUFFER and our
6344 * globals. Here is the right place to do so, because
6345 * this is the first action (other than possibly a
6346 * back-up) that will match for the new input source.
6348 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6349 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6350 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6353 /* Note that here we test for yy_c_buf_p "<=" to the position
6354 * of the first EOB in the buffer, since yy_c_buf_p will
6355 * already have been incremented past the NUL character
6356 * (since all states make transitions on EOB to the
6357 * end-of-buffer state). Contrast this with the test
6360 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6361 { /* This was really a NUL. */
6362 yy_state_type yy_next_state;
6364 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6366 yy_current_state = yy_get_previous_state( );
6368 /* Okay, we're now positioned to make the NUL
6369 * transition. We couldn't have
6370 * yy_get_previous_state() go ahead and do it
6371 * for us because it doesn't know how to deal
6372 * with the possibility of jamming (and we don't
6373 * want to build jamming into it because then it
6374 * will run more slowly).
6377 yy_next_state = yy_try_NUL_trans( yy_current_state );
6379 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6381 if ( yy_next_state )
6383 /* Consume the NUL. */
6384 yy_cp = ++(yy_c_buf_p);
6385 yy_current_state = yy_next_state;
6391 yy_cp = (yy_c_buf_p);
6392 goto yy_find_action;
6396 else switch ( yy_get_next_buffer( ) )
6398 case EOB_ACT_END_OF_FILE:
6400 (yy_did_buffer_switch_on_eof) = 0;
6402 if ( surf_parse_wrap( ) )
6404 /* Note: because we've taken care in
6405 * yy_get_next_buffer() to have set up
6406 * surf_parse_text, we can now set up
6407 * yy_c_buf_p so that if some total
6408 * hoser (like flex itself) wants to
6409 * call the scanner after we return the
6410 * YY_NULL, it'll still work - another
6411 * YY_NULL will get returned.
6413 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6415 yy_act = YY_STATE_EOF(YY_START);
6421 if ( ! (yy_did_buffer_switch_on_eof) )
6427 case EOB_ACT_CONTINUE_SCAN:
6429 (yytext_ptr) + yy_amount_of_matched_text;
6431 yy_current_state = yy_get_previous_state( );
6433 yy_cp = (yy_c_buf_p);
6434 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6437 case EOB_ACT_LAST_MATCH:
6439 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6441 yy_current_state = yy_get_previous_state( );
6443 yy_cp = (yy_c_buf_p);
6444 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6445 goto yy_find_action;
6452 "fatal flex scanner internal error--no action found" );
6453 } /* end of action switch */
6454 } /* end of scanning one token */
6455 } /* end of surf_parse_lex */
6457 /* yy_get_next_buffer - try to read in a new buffer
6459 * Returns a code representing an action:
6460 * EOB_ACT_LAST_MATCH -
6461 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6462 * EOB_ACT_END_OF_FILE - end of file
6464 static int yy_get_next_buffer (void)
6466 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6467 register char *source = (yytext_ptr);
6468 register int number_to_move, i;
6471 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6473 "fatal flex scanner internal error--end of buffer missed" );
6475 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6476 { /* Don't try to fill the buffer, so this is an EOF. */
6477 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6479 /* We matched a single character, the EOB, so
6480 * treat this as a final EOF.
6482 return EOB_ACT_END_OF_FILE;
6487 /* We matched some text prior to the EOB, first
6490 return EOB_ACT_LAST_MATCH;
6494 /* Try to read more data. */
6496 /* First move last chars to start of buffer. */
6497 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6499 for ( i = 0; i < number_to_move; ++i )
6500 *(dest++) = *(source++);
6502 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6503 /* don't do the read, it's not guaranteed to return an EOF,
6506 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6511 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6513 while ( num_to_read <= 0 )
6514 { /* Not enough room in the buffer - grow it. */
6516 /* just a shorter name for the current buffer */
6517 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6519 int yy_c_buf_p_offset =
6520 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6522 if ( b->yy_is_our_buffer )
6524 int new_size = b->yy_buf_size * 2;
6526 if ( new_size <= 0 )
6527 b->yy_buf_size += b->yy_buf_size / 8;
6529 b->yy_buf_size *= 2;
6531 b->yy_ch_buf = (char *)
6532 /* Include room in for 2 EOB chars. */
6533 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6536 /* Can't grow it, we don't own it. */
6539 if ( ! b->yy_ch_buf )
6541 "fatal error - scanner input buffer overflow" );
6543 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6545 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6550 if ( num_to_read > YY_READ_BUF_SIZE )
6551 num_to_read = YY_READ_BUF_SIZE;
6553 /* Read in more data. */
6554 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6555 (yy_n_chars), (size_t) num_to_read );
6557 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6560 if ( (yy_n_chars) == 0 )
6562 if ( number_to_move == YY_MORE_ADJ )
6564 ret_val = EOB_ACT_END_OF_FILE;
6565 surf_parse_restart(surf_parse_in );
6570 ret_val = EOB_ACT_LAST_MATCH;
6571 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6572 YY_BUFFER_EOF_PENDING;
6577 ret_val = EOB_ACT_CONTINUE_SCAN;
6579 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6580 /* Extend the array by 50%, plus the number we really need. */
6581 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6582 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6583 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6584 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6587 (yy_n_chars) += number_to_move;
6588 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6589 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6591 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6596 /* yy_get_previous_state - get the state just before the EOB char was reached */
6598 static yy_state_type yy_get_previous_state (void)
6600 register yy_state_type yy_current_state;
6601 register char *yy_cp;
6603 yy_current_state = (yy_start);
6605 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6607 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6608 if ( yy_accept[yy_current_state] )
6610 (yy_last_accepting_state) = yy_current_state;
6611 (yy_last_accepting_cpos) = yy_cp;
6613 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6615 yy_current_state = (int) yy_def[yy_current_state];
6616 if ( yy_current_state >= 2212 )
6617 yy_c = yy_meta[(unsigned int) yy_c];
6619 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6622 return yy_current_state;
6625 /* yy_try_NUL_trans - try to make a transition on the NUL character
6628 * next_state = yy_try_NUL_trans( current_state );
6630 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6632 register int yy_is_jam;
6633 register char *yy_cp = (yy_c_buf_p);
6635 register YY_CHAR yy_c = 1;
6636 if ( yy_accept[yy_current_state] )
6638 (yy_last_accepting_state) = yy_current_state;
6639 (yy_last_accepting_cpos) = yy_cp;
6641 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6643 yy_current_state = (int) yy_def[yy_current_state];
6644 if ( yy_current_state >= 2212 )
6645 yy_c = yy_meta[(unsigned int) yy_c];
6647 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6648 yy_is_jam = (yy_current_state == 2211);
6650 return yy_is_jam ? 0 : yy_current_state;
6655 static int yyinput (void)
6657 static int input (void)
6663 *(yy_c_buf_p) = (yy_hold_char);
6665 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6667 /* yy_c_buf_p now points to the character we want to return.
6668 * If this occurs *before* the EOB characters, then it's a
6669 * valid NUL; if not, then we've hit the end of the buffer.
6671 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6672 /* This was really a NUL. */
6673 *(yy_c_buf_p) = '\0';
6676 { /* need more input */
6677 int offset = (yy_c_buf_p) - (yytext_ptr);
6680 switch ( yy_get_next_buffer( ) )
6682 case EOB_ACT_LAST_MATCH:
6683 /* This happens because yy_g_n_b()
6684 * sees that we've accumulated a
6685 * token and flags that we need to
6686 * try matching the token before
6687 * proceeding. But for input(),
6688 * there's no matching to consider.
6689 * So convert the EOB_ACT_LAST_MATCH
6690 * to EOB_ACT_END_OF_FILE.
6693 /* Reset buffer status. */
6694 surf_parse_restart(surf_parse_in );
6698 case EOB_ACT_END_OF_FILE:
6700 if ( surf_parse_wrap( ) )
6703 if ( ! (yy_did_buffer_switch_on_eof) )
6712 case EOB_ACT_CONTINUE_SCAN:
6713 (yy_c_buf_p) = (yytext_ptr) + offset;
6719 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6720 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6721 (yy_hold_char) = *++(yy_c_buf_p);
6725 surf_parse_lineno++;
6730 #endif /* ifndef YY_NO_INPUT */
6732 /** Immediately switch to a different input stream.
6733 * @param input_file A readable stream.
6735 * @note This function does not reset the start condition to @c INITIAL .
6737 void surf_parse_restart (FILE * input_file )
6740 if ( ! YY_CURRENT_BUFFER ){
6741 surf_parse_ensure_buffer_stack ();
6742 YY_CURRENT_BUFFER_LVALUE =
6743 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6746 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6747 surf_parse__load_buffer_state( );
6750 /** Switch to a different input buffer.
6751 * @param new_buffer The new input buffer.
6754 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6757 /* TODO. We should be able to replace this entire function body
6759 * surf_parse_pop_buffer_state();
6760 * surf_parse_push_buffer_state(new_buffer);
6762 surf_parse_ensure_buffer_stack ();
6763 if ( YY_CURRENT_BUFFER == new_buffer )
6766 if ( YY_CURRENT_BUFFER )
6768 /* Flush out information for old buffer. */
6769 *(yy_c_buf_p) = (yy_hold_char);
6770 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6771 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6774 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6775 surf_parse__load_buffer_state( );
6777 /* We don't actually know whether we did this switch during
6778 * EOF (surf_parse_wrap()) processing, but the only time this flag
6779 * is looked at is after surf_parse_wrap() is called, so it's safe
6780 * to go ahead and always set it.
6782 (yy_did_buffer_switch_on_eof) = 1;
6785 static void surf_parse__load_buffer_state (void)
6787 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6788 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6789 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6790 (yy_hold_char) = *(yy_c_buf_p);
6793 /** Allocate and initialize an input buffer state.
6794 * @param file A readable stream.
6795 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6797 * @return the allocated buffer state.
6799 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6803 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6805 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6807 b->yy_buf_size = size;
6809 /* yy_ch_buf has to be 2 characters longer than the size given because
6810 * we need to put in 2 end-of-buffer characters.
6812 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6813 if ( ! b->yy_ch_buf )
6814 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6816 b->yy_is_our_buffer = 1;
6818 surf_parse__init_buffer(b,file );
6823 /** Destroy the buffer.
6824 * @param b a buffer created with surf_parse__create_buffer()
6827 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6833 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6834 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6836 if ( b->yy_is_our_buffer )
6837 surf_parse_free((void *) b->yy_ch_buf );
6839 surf_parse_free((void *) b );
6843 extern int isatty (int );
6844 #endif /* __cplusplus */
6846 /* Initializes or reinitializes a buffer.
6847 * This function is sometimes called more than once on the same buffer,
6848 * such as during a surf_parse_restart() or at EOF.
6850 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6855 surf_parse__flush_buffer(b );
6857 b->yy_input_file = file;
6858 b->yy_fill_buffer = 1;
6860 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6861 * called from surf_parse_restart() or through yy_get_next_buffer.
6862 * In that case, we don't want to reset the lineno or column.
6864 if (b != YY_CURRENT_BUFFER){
6865 b->yy_bs_lineno = 1;
6866 b->yy_bs_column = 0;
6869 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6874 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6875 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6878 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6885 /* We always need two end-of-buffer characters. The first causes
6886 * a transition to the end-of-buffer state. The second causes
6887 * a jam in that state.
6889 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6890 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6892 b->yy_buf_pos = &b->yy_ch_buf[0];
6895 b->yy_buffer_status = YY_BUFFER_NEW;
6897 if ( b == YY_CURRENT_BUFFER )
6898 surf_parse__load_buffer_state( );
6901 /** Pushes the new state onto the stack. The new state becomes
6902 * the current state. This function will allocate the stack
6904 * @param new_buffer The new state.
6907 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6909 if (new_buffer == NULL)
6912 surf_parse_ensure_buffer_stack();
6914 /* This block is copied from surf_parse__switch_to_buffer. */
6915 if ( YY_CURRENT_BUFFER )
6917 /* Flush out information for old buffer. */
6918 *(yy_c_buf_p) = (yy_hold_char);
6919 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6920 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6923 /* Only push if top exists. Otherwise, replace top. */
6924 if (YY_CURRENT_BUFFER)
6925 (yy_buffer_stack_top)++;
6926 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6928 /* copied from surf_parse__switch_to_buffer. */
6929 surf_parse__load_buffer_state( );
6930 (yy_did_buffer_switch_on_eof) = 1;
6933 /** Removes and deletes the top of the stack, if present.
6934 * The next element becomes the new top.
6937 void surf_parse_pop_buffer_state (void)
6939 if (!YY_CURRENT_BUFFER)
6942 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6943 YY_CURRENT_BUFFER_LVALUE = NULL;
6944 if ((yy_buffer_stack_top) > 0)
6945 --(yy_buffer_stack_top);
6947 if (YY_CURRENT_BUFFER) {
6948 surf_parse__load_buffer_state( );
6949 (yy_did_buffer_switch_on_eof) = 1;
6953 /* Allocates the stack if it does not exist.
6954 * Guarantees space for at least one push.
6956 static void surf_parse_ensure_buffer_stack (void)
6960 if (!(yy_buffer_stack)) {
6962 /* First allocation is just for 2 elements, since we don't know if this
6963 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6964 * immediate realloc on the next call.
6967 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6968 (num_to_alloc * sizeof(struct yy_buffer_state*)
6970 if ( ! (yy_buffer_stack) )
6971 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6973 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6975 (yy_buffer_stack_max) = num_to_alloc;
6976 (yy_buffer_stack_top) = 0;
6980 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6982 /* Increase the buffer to prepare for a possible push. */
6983 int grow_size = 8 /* arbitrary grow size */;
6985 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6986 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6988 num_to_alloc * sizeof(struct yy_buffer_state*)
6990 if ( ! (yy_buffer_stack) )
6991 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6993 /* zero only the new slots.*/
6994 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6995 (yy_buffer_stack_max) = num_to_alloc;
6999 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7000 * @param base the character buffer
7001 * @param size the size in bytes of the character buffer
7003 * @return the newly allocated buffer state object.
7005 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7010 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7011 base[size-1] != YY_END_OF_BUFFER_CHAR )
7012 /* They forgot to leave room for the EOB's. */
7015 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7017 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7019 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7020 b->yy_buf_pos = b->yy_ch_buf = base;
7021 b->yy_is_our_buffer = 0;
7022 b->yy_input_file = 0;
7023 b->yy_n_chars = b->yy_buf_size;
7024 b->yy_is_interactive = 0;
7026 b->yy_fill_buffer = 0;
7027 b->yy_buffer_status = YY_BUFFER_NEW;
7029 surf_parse__switch_to_buffer(b );
7034 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7035 * scan from a @e copy of @a str.
7036 * @param yystr a NUL-terminated string to scan
7038 * @return the newly allocated buffer state object.
7039 * @note If you want to scan bytes that may contain NUL values, then use
7040 * surf_parse__scan_bytes() instead.
7042 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7045 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7048 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7049 * scan from a @e copy of @a bytes.
7050 * @param yybytes the byte buffer to scan
7051 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7053 * @return the newly allocated buffer state object.
7055 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7062 /* Get memory for full buffer, including space for trailing EOB's. */
7063 n = _yybytes_len + 2;
7064 buf = (char *) surf_parse_alloc(n );
7066 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7068 for ( i = 0; i < _yybytes_len; ++i )
7069 buf[i] = yybytes[i];
7071 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7073 b = surf_parse__scan_buffer(buf,n );
7075 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7077 /* It's okay to grow etc. this buffer, and we should throw it
7078 * away when we're done.
7080 b->yy_is_our_buffer = 1;
7085 static void yy_push_state (int new_state )
7087 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7091 (yy_start_stack_depth) += YY_START_STACK_INCR;
7092 new_size = (yy_start_stack_depth) * sizeof( int );
7094 if ( ! (yy_start_stack) )
7095 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7098 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7100 if ( ! (yy_start_stack) )
7101 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7104 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7109 static void yy_pop_state (void)
7111 if ( --(yy_start_stack_ptr) < 0 )
7112 YY_FATAL_ERROR( "start-condition stack underflow" );
7114 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7117 #ifndef YY_EXIT_FAILURE
7118 #define YY_EXIT_FAILURE 2
7121 static void yy_fatal_error (yyconst char* msg )
7123 (void) fprintf( stderr, "%s\n", msg );
7124 exit( YY_EXIT_FAILURE );
7127 /* Redefine yyless() so it works in section 3 code. */
7133 /* Undo effects of setting up surf_parse_text. */ \
7134 int yyless_macro_arg = (n); \
7135 YY_LESS_LINENO(yyless_macro_arg);\
7136 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7137 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7138 (yy_hold_char) = *(yy_c_buf_p); \
7139 *(yy_c_buf_p) = '\0'; \
7140 surf_parse_leng = yyless_macro_arg; \
7144 /* Accessor methods (get/set functions) to struct members. */
7146 /** Get the current line number.
7149 int surf_parse_get_lineno (void)
7152 return surf_parse_lineno;
7155 /** Get the input stream.
7158 FILE *surf_parse_get_in (void)
7160 return surf_parse_in;
7163 /** Get the output stream.
7166 FILE *surf_parse_get_out (void)
7168 return surf_parse_out;
7171 /** Get the length of the current token.
7174 int surf_parse_get_leng (void)
7176 return surf_parse_leng;
7179 /** Get the current token.
7183 char *surf_parse_get_text (void)
7185 return surf_parse_text;
7188 /** Set the current line number.
7189 * @param line_number
7192 void surf_parse_set_lineno (int line_number )
7195 surf_parse_lineno = line_number;
7198 /** Set the input stream. This does not discard the current
7200 * @param in_str A readable stream.
7202 * @see surf_parse__switch_to_buffer
7204 void surf_parse_set_in (FILE * in_str )
7206 surf_parse_in = in_str ;
7209 void surf_parse_set_out (FILE * out_str )
7211 surf_parse_out = out_str ;
7214 int surf_parse_get_debug (void)
7216 return surf_parse__flex_debug;
7219 void surf_parse_set_debug (int bdebug )
7221 surf_parse__flex_debug = bdebug ;
7224 static int yy_init_globals (void)
7226 /* Initialization is the same as for the non-reentrant scanner.
7227 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7230 /* We do not touch surf_parse_lineno unless the option is enabled. */
7231 surf_parse_lineno = 1;
7233 (yy_buffer_stack) = 0;
7234 (yy_buffer_stack_top) = 0;
7235 (yy_buffer_stack_max) = 0;
7236 (yy_c_buf_p) = (char *) 0;
7240 (yy_start_stack_ptr) = 0;
7241 (yy_start_stack_depth) = 0;
7242 (yy_start_stack) = NULL;
7244 /* Defined in main.c */
7246 surf_parse_in = stdin;
7247 surf_parse_out = stdout;
7249 surf_parse_in = (FILE *) 0;
7250 surf_parse_out = (FILE *) 0;
7253 /* For future reference: Set errno on error, since we are called by
7254 * surf_parse_lex_init()
7259 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7260 int surf_parse_lex_destroy (void)
7263 /* Pop the buffer stack, destroying each element. */
7264 while(YY_CURRENT_BUFFER){
7265 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7266 YY_CURRENT_BUFFER_LVALUE = NULL;
7267 surf_parse_pop_buffer_state();
7270 /* Destroy the stack itself. */
7271 surf_parse_free((yy_buffer_stack) );
7272 (yy_buffer_stack) = NULL;
7274 /* Destroy the start condition stack. */
7275 surf_parse_free((yy_start_stack) );
7276 (yy_start_stack) = NULL;
7278 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7279 * surf_parse_lex() is called, initialization will occur. */
7286 * Internal utility routines.
7290 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7293 for ( i = 0; i < n; ++i )
7298 #ifdef YY_NEED_STRLEN
7299 static int yy_flex_strlen (yyconst char * s )
7302 for ( n = 0; s[n]; ++n )
7309 void *surf_parse_alloc (yy_size_t size )
7311 return (void *) malloc( size );
7314 void *surf_parse_realloc (void * ptr, yy_size_t size )
7316 /* The cast to (char *) in the following accommodates both
7317 * implementations that use char* generic pointers, and those
7318 * that use void* generic pointers. It works with the latter
7319 * because both ANSI C and C++ allow castless assignment from
7320 * any pointer type to void*, and deal with argument conversions
7321 * as though doing an assignment.
7323 return (void *) realloc( (char *) ptr, size );
7326 void surf_parse_free (void * ptr )
7328 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7331 #define YYTABLES_NAME "yytables"
7333 /* Element context stack lookup. */
7334 int surfxml_element_context(int i)
7336 return (0<i && i<yy_start_stack_depth
7337 ? yy_start_stack[yy_start_stack_ptr - i]
7342 void print_yy_stack(char* fmt, ...)
7344 int i = 0; va_list ap; va_start(ap, fmt);
7345 vfprintf(stderr, fmt, ap);
7346 if (surfxml_statenames) {
7347 for (i=1; i<yy_start_stack_ptr; i++) {
7348 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7350 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7355 void print_surfxml_bufferstack()
7358 fputs("Buffer: ", stderr);
7359 for (i = 0; i < blimit; i++) {
7360 if ( surfxml_bufferstack[i] == '\377' ) break;
7361 putc(surfxml_bufferstack[i], stderr);
7366 static void debug_enter(int state, const char* statename) {
7367 yy_push_state(state);
7368 if (surf_parse__flex_debug) {
7369 print_yy_stack("--ENTER(%s) : ",statename);
7370 print_surfxml_bufferstack();
7374 static void debug_leave(void) {
7375 if (surf_parse__flex_debug) {
7376 print_yy_stack("--LEAVE : ");
7377 print_surfxml_bufferstack();
7382 static void debug_set(int state, const char* statename) {
7384 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7388 static void cleanup(void)
7390 if (surfxml_statenames) {
7391 free(surfxml_statenames);
7392 surfxml_statenames = NULL;
7394 free(surfxml_bufferstack);
7395 surfxml_bufferstack = NULL;
7401 static int fail(const char* fmt, ...)
7403 int chars_left, used;
7404 va_list ap; va_start(ap, fmt);
7405 #ifdef FLEXML_yylineno
7406 used = sprintf(flexml_err_msg,
7407 "Invalid XML (XML input line %d, state %d): ",
7408 surf_parse_lineno, YY_START);
7410 used = sprintf(flexml_err_msg,
7411 "Invalid XML (state %d): ",
7414 chars_left = flexml_max_err_msg_size - used - 1;
7415 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7418 #ifndef FLEXML_quiet_parser
7419 /* print directly to sdterr */
7420 fprintf(stderr, "%s\n", flexml_err_msg);
7421 flexml_err_msg[0] = '\0';