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 349
407 #define YY_END_OF_BUFFER 350
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[2035] =
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 350, 348, 15, 10, 10, 15, 15, 328, 10, 328,
437 5, 6, 5, 8, 9, 8, 344, 336, 337, 345,
439 342, 345, 343, 347, 336, 337, 347, 348, 22, 10,
440 22, 22, 22, 20, 22, 26, 10, 26, 26, 26,
441 348, 348, 26, 37, 10, 37, 37, 37, 35, 37,
442 37, 37, 345, 344, 59, 10, 59, 59, 59, 57,
443 59, 59, 59, 59, 63, 10, 63, 348, 63, 82,
444 10, 82, 82, 82, 80, 82, 82, 82, 86, 10,
445 86, 95, 10, 95, 95, 95, 93, 95, 95, 99,
446 10, 99, 99, 348, 99, 99, 348, 348, 99, 348,
447 99, 348, 99, 120, 10, 120, 120, 120, 118, 120,
448 120, 120, 120, 120, 124, 10, 124, 124, 157, 10,
450 157, 157, 157, 155, 157, 157, 157, 157, 157, 157,
451 161, 10, 161, 168, 10, 168, 168, 168, 166, 168,
452 172, 10, 172, 199, 10, 199, 199, 199, 197, 199,
453 199, 199, 199, 203, 10, 203, 203, 216, 10, 216,
454 216, 216, 214, 216, 216, 220, 10, 220, 348, 220,
455 237, 10, 237, 237, 237, 235, 237, 237, 237, 241,
456 10, 241, 241, 254, 10, 254, 254, 254, 252, 254,
457 254, 258, 10, 258, 271, 10, 271, 271, 271, 269,
458 271, 271, 271, 275, 10, 275, 275, 288, 10, 288,
459 288, 288, 286, 288, 288, 288, 288, 292, 10, 292,
461 348, 292, 299, 10, 299, 299, 299, 297, 299, 303,
462 10, 303, 310, 10, 310, 310, 310, 308, 310, 314,
463 10, 314, 314, 314, 323, 10, 323, 323, 323, 321,
464 323, 323, 327, 10, 327, 10, 0, 2, 2, 0,
465 4, 7, 339, 338, 0, 0, 0, 0, 0, 0,
466 0, 21, 23, 23, 0, 0, 0, 0, 0, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
468 38, 38, 38, 38, 0, 0, 0, 58, 60, 60,
469 60, 60, 60, 60, 60, 0, 0, 81, 83, 83,
470 83, 83, 0, 94, 96, 96, 96, 0, 0, 0,
472 0, 0, 0, 0, 0, 0, 119, 121, 121, 121,
473 121, 121, 121, 0, 156, 158, 158, 158, 158, 158,
474 158, 158, 158, 158, 158, 0, 167, 169, 169, 0,
475 198, 200, 200, 200, 200, 200, 200, 0, 215, 217,
476 217, 217, 217, 0, 0, 236, 238, 238, 238, 238,
477 238, 0, 253, 255, 255, 255, 0, 270, 272, 272,
478 272, 272, 0, 287, 289, 289, 289, 289, 289, 0,
479 0, 298, 300, 300, 0, 309, 311, 311, 0, 0,
480 322, 324, 324, 324, 0, 0, 0, 0, 0, 3,
481 0, 0, 0, 0, 0, 0, 0, 346, 0, 23,
483 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 87, 0, 0, 0, 38,
485 0, 0, 38, 0, 0, 0, 341, 60, 0, 0,
486 60, 60, 60, 60, 0, 0, 0, 83, 83, 83,
487 0, 0, 0, 0, 96, 0, 0, 88, 0, 0,
488 0, 0, 87, 0, 0, 121, 0, 0, 121, 121,
489 121, 0, 0, 158, 0, 0, 0, 0, 158, 158,
490 158, 158, 158, 158, 0, 0, 0, 0, 0, 0,
491 200, 0, 0, 200, 200, 200, 0, 0, 217, 217,
492 217, 0, 0, 0, 238, 238, 238, 238, 0, 0,
494 255, 0, 0, 0, 0, 272, 272, 272, 0, 0,
495 289, 289, 289, 289, 0, 0, 0, 300, 0, 0,
496 0, 0, 0, 0, 0, 0, 0, 324, 0, 0,
497 0, 14, 1, 0, 0, 334, 0, 0, 0, 331,
498 330, 0, 0, 23, 0, 0, 25, 0, 88, 0,
499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 0, 0, 87, 0, 0, 0, 38, 0, 30, 29,
501 38, 0, 0, 0, 40, 0, 60, 0, 44, 43,
502 0, 0, 60, 0, 0, 60, 0, 0, 62, 0,
503 0, 83, 83, 83, 0, 0, 85, 0, 0, 90,
505 89, 96, 0, 0, 98, 0, 0, 0, 0, 0,
506 0, 0, 0, 121, 0, 103, 102, 121, 121, 121,
507 0, 0, 123, 0, 158, 158, 158, 0, 138, 137,
508 0, 128, 127, 0, 0, 158, 158, 158, 158, 158,
509 0, 0, 160, 0, 0, 165, 164, 0, 0, 171,
510 0, 200, 0, 176, 175, 200, 200, 200, 0, 0,
511 202, 0, 0, 0, 0, 0, 217, 0, 0, 219,
512 0, 0, 0, 0, 238, 238, 0, 0, 238, 0,
513 0, 240, 0, 255, 0, 245, 244, 0, 0, 257,
514 0, 0, 0, 272, 272, 0, 0, 0, 0, 274,
516 0, 289, 289, 289, 289, 0, 0, 291, 0, 0,
517 300, 0, 0, 302, 0, 0, 307, 306, 0, 0,
518 313, 0, 0, 0, 318, 317, 324, 0, 0, 326,
519 0, 0, 0, 335, 329, 0, 0, 0, 23, 0,
520 0, 0, 0, 0, 0, 100, 173, 0, 0, 315,
521 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
522 0, 0, 60, 0, 48, 47, 0, 0, 0, 46,
523 45, 60, 0, 316, 83, 0, 0, 83, 0, 96,
524 0, 97, 0, 0, 101, 174, 0, 0, 0, 121,
525 121, 121, 121, 0, 158, 158, 158, 0, 140, 139,
527 158, 158, 158, 158, 158, 0, 0, 200, 200, 200,
528 200, 0, 0, 209, 208, 0, 207, 206, 217, 0,
529 173, 0, 226, 225, 238, 238, 0, 224, 223, 238,
530 0, 255, 0, 0, 264, 263, 272, 272, 0, 262,
531 261, 0, 289, 0, 0, 289, 289, 0, 0, 300,
532 0, 0, 0, 324, 0, 0, 0, 0, 12, 0,
533 332, 333, 0, 23, 0, 0, 0, 0, 0, 0,
534 100, 173, 0, 0, 0, 315, 0, 204, 28, 0,
535 0, 27, 0, 0, 32, 31, 38, 0, 0, 60,
536 0, 50, 49, 60, 0, 316, 83, 0, 0, 0,
538 0, 0, 0, 96, 0, 0, 101, 174, 205, 205,
539 204, 121, 0, 0, 0, 0, 121, 121, 0, 0,
540 0, 158, 158, 0, 0, 158, 158, 158, 158, 0,
541 0, 200, 200, 200, 0, 0, 200, 0, 217, 0,
542 0, 238, 238, 238, 0, 255, 0, 272, 272, 0,
543 289, 0, 279, 278, 289, 289, 0, 0, 0, 0,
544 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
545 0, 23, 0, 0, 0, 0, 0, 305, 0, 0,
546 0, 41, 204, 162, 28, 0, 304, 0, 27, 0,
547 0, 38, 0, 0, 60, 60, 0, 83, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 77, 76, 0,
550 96, 0, 0, 205, 163, 121, 0, 105, 104, 0,
551 0, 0, 121, 121, 0, 122, 0, 148, 147, 0,
552 0, 158, 0, 136, 135, 0, 0, 158, 158, 0,
553 0, 0, 0, 200, 200, 200, 0, 0, 0, 200,
554 0, 201, 217, 0, 0, 0, 0, 0, 0, 238,
555 0, 255, 0, 0, 0, 0, 0, 0, 289, 289,
556 289, 0, 0, 0, 296, 295, 0, 0, 42, 0,
557 320, 319, 0, 325, 0, 0, 0, 0, 0, 0,
558 0, 221, 0, 0, 126, 305, 0, 0, 277, 41,
560 162, 0, 304, 125, 0, 276, 38, 0, 0, 39,
561 60, 60, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 0, 0, 0, 0, 0, 0, 222, 0,
563 163, 121, 0, 0, 121, 0, 0, 0, 150, 149,
564 158, 0, 130, 129, 0, 0, 158, 0, 132, 131,
565 0, 0, 200, 0, 0, 200, 200, 0, 0, 200,
566 217, 0, 218, 0, 0, 230, 229, 0, 228, 227,
567 238, 0, 255, 0, 0, 268, 267, 0, 266, 265,
568 0, 289, 289, 289, 0, 0, 0, 0, 42, 0,
569 0, 0, 17, 0, 19, 18, 0, 221, 293, 0,
571 126, 242, 16, 277, 0, 125, 0, 276, 38, 340,
572 60, 60, 0, 61, 0, 79, 78, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 92,
574 91, 222, 0, 121, 0, 0, 0, 0, 121, 0,
575 117, 116, 158, 0, 134, 133, 158, 0, 0, 170,
576 200, 0, 182, 181, 200, 200, 0, 0, 0, 0,
577 200, 217, 243, 238, 0, 255, 0, 0, 0, 0,
578 289, 289, 0, 294, 0, 0, 312, 0, 0, 0,
579 17, 0, 293, 0, 242, 16, 0, 0, 38, 0,
580 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 121, 0, 111, 0, 110, 121,
583 158, 158, 0, 159, 0, 0, 200, 200, 200, 0,
584 186, 0, 185, 200, 217, 243, 238, 0, 239, 0,
585 0, 0, 0, 0, 281, 280, 0, 0, 289, 0,
586 290, 294, 0, 0, 0, 0, 0, 24, 0, 0,
587 0, 38, 0, 0, 0, 60, 0, 0, 0, 0,
588 0, 0, 0, 0, 0, 0, 0, 0, 121, 113,
589 112, 0, 0, 158, 158, 0, 178, 177, 200, 200,
590 200, 188, 187, 0, 0, 217, 238, 0, 0, 0,
591 0, 256, 0, 0, 285, 284, 0, 0, 0, 301,
593 0, 0, 0, 259, 0, 0, 0, 0, 0, 0,
594 0, 0, 60, 0, 0, 0, 0, 69, 0, 0,
595 0, 0, 68, 0, 260, 121, 0, 115, 114, 158,
596 158, 200, 200, 200, 0, 190, 189, 0, 0, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 283,
598 282, 0, 0, 0, 259, 0, 0, 0, 34, 33,
599 0, 0, 0, 0, 60, 0, 0, 0, 0, 0,
600 0, 0, 0, 0, 260, 0, 0, 121, 158, 158,
601 200, 0, 0, 200, 0, 0, 0, 0, 0, 0,
602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 65, 64, 0, 0, 0, 0, 0, 0, 0,
605 0, 75, 0, 0, 0, 74, 0, 0, 0, 107,
606 106, 121, 158, 158, 200, 0, 184, 183, 200, 0,
607 0, 0, 0, 0, 0, 0, 0, 0, 0, 247,
608 0, 0, 246, 0, 273, 0, 0, 0, 0, 0,
609 0, 65, 64, 0, 0, 0, 0, 0, 52, 51,
610 0, 0, 0, 0, 0, 0, 0, 121, 158, 0,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 56, 0, 55, 73, 0, 0,
615 72, 0, 0, 0, 84, 121, 158, 0, 0, 0,
616 0, 180, 179, 0, 0, 0, 213, 0, 212, 0,
617 234, 0, 233, 0, 249, 251, 248, 250, 0, 0,
618 0, 12, 0, 12, 0, 0, 0, 67, 71, 66,
619 70, 121, 158, 0, 0, 0, 0, 0, 0, 0,
620 0, 211, 210, 232, 231, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623 54, 53, 0, 109, 108, 0, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 11, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 142,
632 0, 0, 141, 0, 0, 192, 0, 0, 191, 0,
633 0, 0, 0, 0, 146, 0, 145, 0, 194, 0,
634 193, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 152, 0, 151, 0, 0, 0, 0,
637 0, 0, 154, 153, 144, 143, 196, 195, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 static yyconst flex_int32_t yy_ec[256] =
645 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
646 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
648 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
649 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
650 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
651 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
652 16, 28, 29, 16, 30, 31, 32, 33, 34, 35,
653 16, 36, 37, 38, 39, 40, 41, 42, 43, 16,
654 44, 1, 45, 1, 46, 1, 47, 48, 49, 50,
656 51, 52, 53, 54, 55, 16, 56, 57, 58, 59,
657 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
658 70, 16, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
675 static yyconst flex_int32_t yy_meta[71] =
677 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
678 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
679 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
680 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
681 5, 5, 5, 1, 1, 5, 9, 9, 9, 9,
682 9, 9, 5, 5, 5, 5, 5, 5, 5, 5,
683 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
686 static yyconst flex_int16_t yy_base[2283] =
688 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
689 14, 17, 33, 36, 49, 55, 45, 61, 66, 73,
690 106, 173, 76, 79, 83, 126, 129, 134, 137, 154,
691 193, 196, 201, 204, 221, 224, 227, 230, 248, 309,
692 280, 286, 370, 434, 268, 273, 277, 330, 333, 337,
693 340, 390, 498, 563, 393, 398, 628, 691, 401, 454,
694 457, 462, 465, 518, 521, 526, 529, 583, 586, 591,
695 594, 648, 651, 656, 659, 711, 714, 719, 722, 739,
696 745, 748, 756, 765, 768, 773, 776, 785, 803, 870,
697 823, 826, 831, 834, 851, 890, 893, 898, 937, 1001,
699 901, 918, 1065, 1120, 957, 960, 1175, 1239, 965, 968,
700 1021, 1024, 1029, 1032, 1085, 1088, 1303, 1367, 1093, 1096,
701 1140, 1143, 1148, 1151, 1195, 1198, 1431, 1495, 1203, 1206,
702 1259, 1262, 1267, 1270, 1323, 1326, 1559, 1614, 1331, 1334,
703 1669, 1733, 1387, 1390, 1395, 1398, 1451, 1454, 1459, 1462,
704 1797, 1861, 1515, 1518, 1523, 1526, 1579, 1582, 1587, 1590,
705 1925, 1992, 1634, 1637, 2059, 2114, 1642, 1645, 1689, 1692,
706 1697, 1700, 1753, 1756, 2169, 2236, 1761, 1764, 0, 0,
707 4882, 7119, 7119, 96, 100, 29, 41, 7119, 157, 51,
708 7119, 7119, 4871, 7119, 7119, 4859, 7119, 4870, 4863, 360,
710 7119, 7119, 7119, 7119, 4861, 4852, 4809, 84, 7119, 160,
711 4832, 0, 144, 7119, 4787, 7119, 164, 2299, 4788, 428,
712 224, 4822, 4770, 7119, 167, 4809, 0, 216, 7119, 4772,
713 4776, 4773, 344, 4765, 7119, 303, 4789, 0, 341, 7119,
714 4751, 4751, 41, 4734, 7119, 427, 13, 81, 141, 7119,
715 482, 4774, 0, 342, 7119, 4736, 4736, 4722, 7119, 492,
716 345, 7119, 548, 4759, 0, 347, 7119, 4727, 4715, 7119,
717 553, 1772, 198, 4716, 80, 4750, 226, 275, 364, 548,
718 59, 4742, 83, 7119, 613, 4732, 0, 405, 7119, 4684,
719 4699, 4684, 4671, 4680, 7119, 618, 203, 284, 7119, 621,
721 4713, 0, 469, 7119, 141, 4675, 4677, 153, 4675, 352,
722 7119, 676, 476, 7119, 682, 4701, 0, 532, 7119, 4669,
723 7119, 685, 780, 7119, 793, 4693, 0, 540, 7119, 4660,
724 4656, 4657, 147, 7119, 796, 348, 409, 7119, 857, 4675,
725 0, 541, 7119, 4630, 238, 7119, 924, 614, 4680, 4630,
726 7119, 985, 4666, 0, 660, 7119, 4616, 4606, 464, 7119,
727 993, 4654, 502, 7119, 1049, 4641, 0, 723, 7119, 4604,
728 4608, 7119, 1057, 972, 7119, 1113, 4636, 0, 734, 7119,
729 4578, 4572, 4576, 7119, 1168, 4625, 546, 7119, 1223, 4612,
730 0, 740, 7119, 4565, 4569, 4569, 4558, 7119, 1231, 479,
732 4609, 415, 7119, 1234, 4590, 0, 760, 7119, 4562, 7119,
733 1287, 1036, 7119, 1295, 4586, 0, 835, 7119, 4554, 7119,
734 1298, 1775, 4540, 180, 7119, 1352, 4581, 0, 841, 7119,
735 4539, 4541, 7119, 1355, 1210, 1358, 18, 4517, 7119, 4568,
736 4557, 7119, 7119, 7119, 1350, 241, 4510, 4505, 4503, 4546,
737 4508, 7119, 0, 4500, 4497, 4520, 4485, 4475, 478, 4483,
738 4479, 3, 373, 4453, 553, 4478, 607, 4441, 543, 7119,
739 0, 4445, 1821, 4435, 234, 4427, 4470, 7119, 0, 4426,
740 1828, 4413, 4418, 4399, 4406, 4390, 613, 7119, 0, 4400,
741 4391, 4388, 4369, 7119, 0, 1841, 4366, 4399, 4383, 4341,
743 4349, 4344, 532, 4361, 597, 660, 7119, 0, 4334, 1881,
744 4312, 4326, 4304, 4316, 7119, 0, 4322, 1884, 1888, 4301,
745 4296, 4288, 4287, 4289, 4282, 4283, 7119, 0, 1891, 4268,
746 7119, 0, 4270, 1895, 4250, 4267, 4265, 4250, 7119, 0,
747 4241, 4246, 4226, 4220, 4226, 7119, 0, 4191, 4209, 4190,
748 4179, 4214, 7119, 0, 4171, 1945, 4172, 7119, 0, 4163,
749 4180, 4176, 4172, 7119, 0, 4160, 4153, 4159, 4145, 4130,
750 4126, 7119, 0, 4131, 4139, 7119, 0, 1948, 4132, 772,
751 7119, 0, 1952, 4123, 4112, 4152, 4160, 648, 4100, 7119,
752 1407, 0, 4095, 4092, 4133, 4132, 4087, 7119, 4092, 4073,
754 1955, 1958, 1423, 4083, 4073, 4066, 4072, 4065, 4055, 4065,
755 4047, 4047, 4038, 4049, 4036, 1426, 4023, 4039, 4024, 4028,
756 1970, 1547, 4023, 4052, 2014, 2018, 7119, 4014, 2021, 1721,
757 2024, 4004, 2027, 4012, 2080, 2089, 3997, 3997, 3993, 3992,
758 2085, 2092, 2135, 1786, 3975, 2140, 2148, 1489, 3976, 3972,
759 3975, 3961, 1663, 3926, 3920, 3926, 2143, 1977, 3928, 3913,
760 3929, 2189, 2192, 1426, 2196, 2045, 2199, 2104, 2202, 3917,
761 3915, 3906, 3896, 3902, 2256, 2259, 2263, 2223, 2266, 2269,
762 3899, 2281, 2290, 3897, 3878, 3875, 2303, 2306, 2311, 2315,
763 2333, 2329, 2337, 3879, 2340, 2363, 2366, 2370, 2373, 2384,
765 3872, 2376, 2396, 2404, 2412, 2407, 2415, 2427, 2433, 2436,
766 3873, 3855, 3858, 3845, 2439, 2446, 3854, 3839, 2458, 2466,
767 2469, 2478, 2472, 2487, 3831, 2491, 2494, 3823, 2510, 2513,
768 3867, 7119, 7119, 707, 3829, 7119, 3867, 3858, 3809, 7119,
769 7119, 3806, 3805, 3813, 2516, 2519, 7119, 2522, 1608, 3806,
770 3799, 3816, 3785, 3795, 3781, 3788, 3777, 741, 3791, 3774,
771 3776, 3772, 1852, 3758, 3772, 782, 2541, 2546, 7119, 7119,
772 2554, 3794, 2559, 2562, 7119, 2568, 3755, 2581, 7119, 7119,
773 2589, 2592, 2600, 2603, 2607, 3766, 2621, 2624, 7119, 2627,
774 790, 3753, 2630, 3752, 2633, 2636, 7119, 2648, 2655, 7119,
776 7119, 3746, 2663, 2667, 7119, 2670, 3732, 3743, 3720, 3728,
777 3707, 3705, 3697, 3704, 2673, 7119, 7119, 3693, 3704, 3696,
778 2689, 2694, 7119, 2697, 3678, 3697, 3672, 2701, 7119, 7119,
779 2709, 7119, 7119, 2717, 2720, 3661, 3668, 3672, 3664, 3663,
780 2728, 2731, 7119, 2735, 2738, 7119, 7119, 2750, 2754, 7119,
781 2760, 3648, 2763, 7119, 7119, 3631, 3634, 3635, 2773, 2779,
782 7119, 2782, 2785, 2788, 2803, 2806, 3634, 2814, 2817, 7119,
783 2825, 3627, 2821, 2829, 3601, 3601, 2840, 2844, 3607, 2852,
784 2858, 7119, 2861, 3608, 2864, 7119, 7119, 2872, 2880, 7119,
785 2883, 2886, 2892, 3591, 3591, 2904, 2907, 2915, 2918, 7119,
787 2923, 3587, 2926, 3605, 3576, 2929, 2937, 7119, 2944, 3570,
788 3583, 2948, 2951, 7119, 2956, 2963, 7119, 7119, 2959, 2971,
789 7119, 2978, 3576, 2983, 7119, 7119, 3563, 2991, 2997, 7119,
790 3003, 718, 3010, 7119, 7119, 3595, 3590, 3554, 3544, 3016,
791 3535, 3542, 3531, 3529, 3527, 1855, 1917, 3529, 3524, 1920,
792 3514, 3521, 3519, 3508, 3494, 3500, 3493, 3022, 3036, 3492,
793 3511, 3030, 3485, 3045, 7119, 7119, 3025, 3053, 3062, 7119,
794 7119, 3479, 3070, 2053, 3466, 3073, 3080, 3091, 3094, 3465,
795 3097, 7119, 3447, 3440, 2095, 2161, 3450, 3441, 3439, 3442,
796 3100, 3103, 3434, 3109, 3121, 3128, 3131, 3135, 7119, 7119,
798 3149, 3152, 3156, 3160, 3163, 3181, 3184, 3428, 3432, 3421,
799 3187, 3192, 3196, 7119, 7119, 3205, 7119, 7119, 3409, 3214,
800 2231, 3220, 7119, 7119, 3408, 3422, 3233, 7119, 7119, 3394,
801 3248, 3393, 3251, 3254, 7119, 7119, 3391, 3406, 3263, 7119,
802 7119, 3271, 3390, 3274, 3278, 3379, 3396, 3286, 3370, 3292,
803 3295, 3299, 3356, 3310, 3318, 710, 3394, 3321, 7119, 3388,
804 7119, 7119, 3346, 3339, 3324, 3330, 3342, 3325, 3335, 3332,
805 3124, 3328, 3329, 3304, 3299, 3343, 3285, 3346, 3350, 3289,
806 3289, 3353, 3275, 3356, 7119, 7119, 3282, 3298, 3364, 3269,
807 3371, 7119, 7119, 3266, 3367, 3379, 3252, 3388, 1873, 2188,
809 3398, 3401, 3409, 3263, 3245, 3245, 3416, 3419, 3422, 3428,
810 3431, 3257, 3434, 3437, 3445, 3448, 3252, 3245, 3459, 3463,
811 3466, 3474, 3484, 3493, 3496, 3504, 3507, 3512, 3515, 3518,
812 3525, 3242, 3216, 3232, 3533, 3537, 3231, 3546, 3207, 3551,
813 3215, 3554, 3558, 3565, 3576, 3207, 3583, 3586, 3589, 3595,
814 3201, 3607, 7119, 7119, 3204, 3182, 3615, 3195, 3618, 3621,
815 3629, 3636, 3186, 3641, 3644, 3659, 699, 339, 318, 7119,
816 3180, 3665, 3668, 3190, 3181, 3202, 3168, 3671, 3165, 3165,
817 3163, 3674, 3678, 3690, 3693, 3176, 3696, 3157, 3699, 3166,
818 3149, 3161, 3175, 3702, 3132, 3126, 3705, 3708, 3158, 3143,
820 519, 3142, 3151, 3138, 877, 3136, 3711, 7119, 7119, 3727,
821 3730, 3118, 3125, 3733, 3736, 3102, 3739, 7119, 7119, 3748,
822 3114, 3112, 3090, 3756, 3762, 7119, 3765, 7119, 7119, 3774,
823 3777, 3087, 3785, 7119, 7119, 3793, 3796, 3804, 3090, 3807,
824 3811, 3825, 3828, 3056, 3831, 3072, 3834, 3082, 3081, 3054,
825 3849, 7119, 3053, 3852, 3026, 3855, 3858, 3876, 3879, 3033,
826 3890, 3027, 3894, 3897, 3900, 3909, 3915, 3927, 3026, 3022,
827 3023, 3930, 3011, 3933, 7119, 7119, 3942, 3949, 3923, 3954,
828 7119, 7119, 3962, 7119, 837, 607, 670, 3011, 3968, 3971,
829 3981, 3986, 3002, 3001, 3993, 3996, 3001, 3000, 4001, 4004,
831 4007, 2993, 4010, 4013, 2992, 4016, 2991, 2999, 4019, 7119,
832 2972, 2975, 4022, 4026, 4029, 2988, 2979, 2977, 2977, 2967,
833 2970, 2965, 2959, 2963, 2949, 4044, 4047, 4050, 4058, 2928,
834 4065, 2926, 880, 885, 2921, 4068, 4071, 4079, 7119, 7119,
835 2918, 4088, 7119, 7119, 4096, 4099, 2909, 4107, 7119, 7119,
836 4115, 4118, 2902, 4121, 4124, 2892, 2876, 896, 897, 2879,
837 2885, 4139, 7119, 2856, 4142, 7119, 7119, 4151, 7119, 7119,
838 2865, 4159, 2853, 4162, 4165, 7119, 7119, 4181, 7119, 7119,
839 4173, 4192, 2853, 2844, 4195, 2834, 4198, 4201, 4204, 4210,
840 75, 822, 4220, 4229, 7119, 7119, 4238, 4241, 4244, 2831,
842 4247, 4250, 4258, 4261, 2834, 4264, 2821, 4267, 2814, 7119,
843 4270, 2812, 4273, 7119, 4276, 7119, 7119, 2846, 2831, 2832,
844 2827, 2826, 2826, 2811, 2813, 2806, 2788, 4284, 4288, 7119,
845 7119, 4296, 2747, 2756, 2776, 2790, 2768, 2769, 2695, 4299,
846 7119, 7119, 2692, 4307, 7119, 7119, 2668, 4315, 4318, 7119,
847 4321, 4324, 7119, 7119, 2672, 2648, 2679, 2696, 2667, 2680,
848 2637, 2634, 4339, 2616, 4343, 4346, 4349, 4352, 4355, 4373,
849 4381, 2597, 4358, 4384, 4387, 4390, 7119, 4393, 848, 1081,
850 4399, 4402, 4412, 2577, 4415, 4421, 2562, 2519, 2489, 4424,
851 4427, 2486, 2497, 108, 202, 236, 363, 383, 386, 430,
853 425, 437, 4435, 417, 526, 593, 7119, 609, 7119, 4438,
854 716, 707, 4442, 7119, 4445, 4457, 721, 725, 727, 787,
855 7119, 836, 7119, 4465, 808, 4468, 809, 4471, 7119, 4474,
856 4477, 4485, 4493, 4497, 7119, 7119, 4505, 4508, 4516, 4519,
857 7119, 4523, 4526, 933, 1093, 913, 4529, 7119, 858, 859,
858 881, 4534, 4538, 940, 955, 875, 937, 952, 955, 977,
859 1011, 1000, 1008, 1013, 1016, 1031, 4548, 992, 974, 7119,
860 7119, 4552, 4558, 993, 1000, 4570, 7119, 7119, 1008, 1030,
861 1038, 7119, 7119, 4578, 4581, 4589, 4592, 4596, 1069, 1079,
862 4610, 7119, 4613, 4616, 7119, 7119, 4624, 4632, 4642, 7119,
864 1171, 1153, 1208, 4645, 1056, 1058, 4648, 4651, 1083, 1127,
865 1120, 1135, 1100, 1135, 1122, 1120, 1127, 7119, 1143, 1134,
866 1160, 1164, 7119, 4661, 4666, 4669, 4673, 7119, 7119, 1151,
867 1165, 1160, 4681, 1180, 4687, 7119, 7119, 4695, 4699, 4707,
868 4714, 1221, 1234, 1240, 1242, 1244, 1244, 4725, 4728, 7119,
869 7119, 1266, 1330, 4736, 4739, 1216, 1217, 4744, 7119, 7119,
870 1270, 1260, 1273, 1286, 4755, 1294, 1317, 1334, 1320, 1305,
871 1323, 1337, 1329, 4758, 4761, 4764, 4778, 1314, 1338, 1326,
872 1352, 4767, 4786, 1334, 4794, 1427, 1435, 4802, 1491, 1499,
873 1365, 1374, 1403, 1369, 1381, 1406, 4810, 1427, 4813, 4816,
875 4819, 4838, 4841, 1385, 1398, 1426, 1442, 4844, 4847, 1443,
876 1444, 7119, 1453, 1457, 1458, 7119, 1459, 4855, 4858, 7119,
877 7119, 1439, 1456, 4866, 4869, 4874, 7119, 7119, 4887, 1489,
878 1505, 1501, 1511, 1504, 1517, 1512, 1521, 1521, 1529, 7119,
879 1524, 1532, 7119, 4890, 7119, 1582, 4893, 4896, 4905, 4925,
880 4970, 4915, 4919, 1550, 1581, 1563, 1586, 4945, 7119, 7119,
881 1590, 1567, 1568, 1592, 1575, 1576, 4936, 1556, 1581, 4961,
882 4990, 4964, 4998, 5006, 5014, 1637, 1613, 1642, 1616, 1648,
883 1619, 1648, 1624, 1656, 1662, 1676, 1688, 1686, 5024, 1692,
884 1696, 5044, 5089, 1694, 7119, 1695, 7119, 7119, 1705, 1711,
886 7119, 1711, 1712, 5009, 7119, 1677, 1659, 5032, 1735, 1743,
887 5064, 7119, 7119, 5072, 1748, 1754, 7119, 1725, 7119, 1723,
888 7119, 1755, 7119, 1760, 7119, 7119, 7119, 7119, 1776, 1807,
889 1816, 1767, 1819, 1767, 5082, 1778, 1804, 7119, 7119, 7119,
890 7119, 5109, 5112, 1811, 1793, 1943, 1818, 1946, 1820, 1969,
891 1824, 7119, 7119, 7119, 7119, 5115, 1871, 1868, 1893, 5118,
892 1903, 1902, 5121, 5139, 5147, 5150, 1874, 1885, 1896, 1903,
893 1922, 1944, 1938, 1946, 1962, 1949, 1957, 1968, 5158, 1994,
894 7119, 7119, 5161, 7119, 7119, 5170, 2005, 2008, 1984, 2002,
895 2003, 2006, 2013, 2014, 2017, 2022, 2022, 2040, 2054, 2050,
897 2110, 7119, 2068, 2073, 2080, 2083, 2111, 2116, 2122, 2120,
898 2131, 2131, 2132, 2141, 2141, 2168, 2183, 2184, 2258, 2179,
899 2198, 2184, 2206, 2195, 2192, 2239, 2239, 2236, 2262, 2253,
900 2251, 2272, 2263, 2262, 2277, 2307, 2277, 2286, 2289, 2289,
901 2302, 2303, 2344, 2325, 2319, 2346, 2332, 2328, 2365, 2355,
902 2348, 2375, 2370, 2363, 2368, 2372, 2377, 2406, 2389, 7119,
903 2413, 2392, 7119, 2419, 2402, 7119, 2435, 2414, 7119, 2431,
904 2412, 2427, 2419, 2430, 7119, 2431, 7119, 2432, 7119, 2438,
905 7119, 2451, 5178, 2457, 2479, 2473, 2492, 2460, 2462, 2463,
906 2466, 5181, 2505, 7119, 2518, 7119, 2522, 2522, 2526, 2525,
908 2517, 2533, 7119, 7119, 7119, 7119, 7119, 7119, 2520, 2531,
909 2554, 2560, 2515, 2547, 2526, 2557, 2623, 2625, 2634, 2635,
910 2705, 2739, 2723, 2729, 2534, 2597, 2748, 2780, 2640, 2751,
911 5189, 5200, 7119, 7119, 5220, 5229, 5238, 5247, 5256, 5265,
912 5274, 5283, 5292, 5301, 5310, 5319, 5328, 5337, 5346, 5355,
913 5364, 5373, 5382, 5391, 5400, 5409, 5418, 5427, 5436, 5445,
914 5454, 5463, 5472, 5481, 5490, 5499, 5508, 5517, 5526, 5535,
915 5544, 5553, 5562, 5571, 5578, 5585, 5592, 5599, 5606, 5613,
916 5620, 5627, 5634, 5641, 5648, 5655, 5662, 5669, 5676, 5683,
917 5690, 5699, 5704, 5709, 5716, 5721, 5728, 5733, 5740, 5745,
919 5750, 5755, 5762, 5767, 5774, 5779, 5786, 5791, 5798, 5803,
920 5810, 5815, 5822, 5827, 5834, 5839, 5846, 5851, 5858, 5863,
921 5870, 5875, 5884, 5890, 5897, 5905, 5912, 5920, 5927, 5935,
922 5942, 5950, 5957, 5965, 5972, 5980, 5987, 5995, 6003, 6010,
923 6018, 6026, 6034, 6042, 6050, 6057, 6065, 6073, 6081, 6088,
924 6096, 6103, 6111, 6119, 6126, 6134, 6143, 6149, 6156, 6164,
925 6172, 6180, 6187, 6195, 6202, 6210, 6217, 6225, 6232, 6240,
926 6247, 6255, 6263, 6270, 6278, 6285, 6293, 6300, 6308, 6315,
927 6323, 6330, 6338, 6345, 6353, 6360, 6368, 6376, 6383, 6391,
928 6400, 6409, 6416, 6424, 6431, 6439, 6446, 6454, 6461, 6469,
930 6476, 6483, 6491, 6499, 6507, 6515, 6522, 6530, 6537, 6545,
931 6552, 6560, 6567, 6575, 6582, 6590, 6597, 6605, 6613, 6621,
932 6629, 6637, 6645, 6654, 6663, 6670, 6678, 6685, 6693, 6700,
933 6708, 6715, 6723, 6730, 6737, 6745, 6753, 6761, 6769, 6776,
934 6784, 6791, 6799, 6807, 6815, 6822, 6830, 6838, 6846, 6853,
935 6861, 6869, 6877, 6885, 6894, 6903, 6911, 6919, 6926, 6934,
936 6941, 6949, 6957, 6965, 6973, 6980, 6987, 6995, 7003, 7010,
937 7017, 7025, 7032, 7040, 7047, 7055, 7064, 7073, 7082, 7091,
941 static yyconst flex_int16_t yy_def[2283] =
943 2035, 2035, 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038,
944 2039, 2039, 2040, 2040, 2040, 2040, 2041, 2041, 2035, 2035,
945 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043, 2035, 2035,
946 2043, 2043, 2035, 2035, 2043, 2043, 2043, 2043, 2044, 2044,
947 2040, 2040, 2045, 2045, 2046, 2046, 2035, 2035, 2046, 2046,
948 2046, 2046, 2047, 2047, 2048, 2048, 2049, 2049, 2050, 2050,
949 2050, 2050, 2035, 2035, 2050, 2050, 2050, 2050, 2035, 2035,
950 2050, 2050, 2035, 2035, 2050, 2050, 2050, 2050, 2035, 2035,
951 2050, 2050, 2035, 2035, 2050, 2050, 2050, 2050, 2051, 2051,
952 2052, 2052, 2035, 2035, 2052, 2052, 2052, 2052, 2053, 2053,
954 2054, 2054, 2055, 2055, 2056, 2056, 2057, 2057, 2058, 2058,
955 2035, 2035, 2058, 2058, 2058, 2058, 2059, 2059, 2060, 2060,
956 2035, 2035, 2060, 2060, 2060, 2060, 2061, 2061, 2062, 2062,
957 2035, 2035, 2062, 2062, 2062, 2062, 2063, 2063, 2064, 2064,
958 2065, 2065, 2066, 2066, 2035, 2035, 2066, 2066, 2066, 2066,
959 2067, 2067, 2068, 2068, 2035, 2035, 2068, 2068, 2068, 2068,
960 2069, 2069, 2070, 2070, 2071, 2071, 2072, 2072, 2035, 2035,
961 2072, 2072, 2072, 2072, 2073, 2073, 2074, 2074, 2035, 2035,
962 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
963 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
965 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
966 2034, 2075, 2034, 2034, 2075, 2034, 2034, 2034, 218, 218,
967 218, 220, 220, 2034, 2034, 2034, 2076, 2034, 2034, 2076,
968 2076, 2076, 2034, 2034, 2034, 2034, 2034, 2077, 2034, 2034,
969 2077, 2077, 2077, 2077, 2034, 2034, 220, 220, 220, 2034,
970 2034, 2034, 2078, 2034, 2034, 2078, 2078, 2078, 2034, 2034,
971 2034, 2034, 2034, 2034, 2079, 2034, 2034, 2079, 2079, 2034,
972 2034, 221, 221, 221, 272, 273, 273, 273, 273, 279,
973 280, 279, 279, 2034, 2034, 2034, 2080, 2034, 2034, 2080,
974 2080, 2080, 2080, 2080, 2034, 2034, 220, 220, 2034, 2034,
976 2034, 2081, 2034, 2034, 2081, 2081, 2081, 2081, 2081, 2081,
977 2034, 2034, 2034, 2034, 2034, 2034, 2082, 2034, 2034, 2082,
978 2034, 2034, 2034, 2034, 2034, 2034, 2083, 2034, 2034, 2083,
979 2083, 2083, 2083, 2034, 2034, 220, 220, 2034, 2034, 2034,
980 2084, 2034, 2034, 2084, 2084, 2034, 2034, 220, 348, 348,
981 2034, 2034, 2034, 2085, 2034, 2034, 2085, 2085, 2085, 2034,
982 2034, 348, 348, 2034, 2034, 2034, 2086, 2034, 2034, 2086,
983 2086, 2034, 2034, 2034, 2034, 2034, 2034, 2087, 2034, 2034,
984 2087, 2087, 2087, 2034, 2034, 348, 348, 2034, 2034, 2034,
985 2088, 2034, 2034, 2088, 2088, 2088, 2088, 2034, 2034, 220,
987 400, 400, 2034, 2034, 2034, 2089, 2034, 2034, 2089, 2034,
988 2034, 2034, 2034, 2034, 2034, 2090, 2034, 2034, 2090, 2034,
989 2034, 400, 422, 422, 2034, 2034, 2034, 2091, 2034, 2034,
990 2091, 2091, 2034, 2034, 2034, 2034, 2092, 2034, 2034, 2034,
991 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
992 2034, 2034, 2075, 2075, 2093, 2034, 2034, 2034, 2034, 2034,
993 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
994 2076, 2076, 2076, 2076, 2034, 2094, 2034, 2034, 2095, 2095,
995 2095, 2095, 2095, 2095, 2095, 2096, 2034, 2034, 2097, 2097,
996 2097, 2097, 2098, 2034, 2099, 2099, 2099, 2100, 2034, 2034,
998 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2080, 2080, 2080,
999 2080, 2080, 2080, 2101, 2034, 2081, 2081, 2081, 2081, 2081,
1000 2081, 2081, 2081, 2081, 2081, 2102, 2034, 2103, 2103, 2104,
1001 2034, 2105, 2105, 2105, 2105, 2105, 2105, 2106, 2034, 2107,
1002 2107, 2107, 2107, 2108, 2034, 2034, 2109, 2109, 2109, 2109,
1003 2109, 2110, 2034, 2111, 2111, 2111, 2112, 2034, 2113, 2113,
1004 2113, 2113, 2114, 2034, 2115, 2115, 2115, 2115, 2115, 2116,
1005 2034, 2034, 2117, 2117, 2118, 2034, 2119, 2119, 2120, 2034,
1006 2034, 2121, 2121, 2121, 2122, 2123, 2034, 2123, 2034, 2034,
1007 2034, 2124, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2125,
1009 2126, 2126, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1010 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2127,
1011 2034, 2034, 2127, 2034, 2128, 2128, 2034, 2129, 2034, 2034,
1012 2129, 2129, 2129, 2129, 2130, 2130, 2034, 2131, 2131, 2131,
1013 2132, 2132, 2034, 2034, 2133, 2134, 2134, 2034, 2034, 2034,
1014 2034, 2034, 2034, 2034, 2034, 2135, 2034, 2034, 2135, 2135,
1015 2135, 2136, 2136, 2137, 2034, 2034, 2034, 2034, 2137, 2137,
1016 2137, 2137, 2137, 2137, 2138, 2138, 2034, 2034, 2139, 2139,
1017 2140, 2034, 2034, 2140, 2140, 2140, 2141, 2141, 2142, 2142,
1018 2142, 2143, 2143, 2034, 2144, 2144, 2144, 2144, 2145, 2145,
1020 2146, 2034, 2034, 2147, 2147, 2148, 2148, 2148, 2149, 2149,
1021 2150, 2150, 2150, 2150, 2151, 2151, 2034, 2152, 2153, 2153,
1022 2034, 2034, 2154, 2154, 2034, 2034, 2034, 2155, 2156, 2156,
1023 2157, 2034, 2034, 2157, 2034, 2034, 2158, 2034, 2034, 2034,
1024 2034, 2034, 2034, 2159, 2034, 2160, 2034, 2160, 2034, 2034,
1025 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1026 2034, 2034, 2034, 2034, 2034, 2034, 2161, 2034, 2034, 2034,
1027 2161, 2034, 2034, 2162, 2034, 2162, 2163, 2034, 2034, 2034,
1028 2034, 2034, 2163, 2034, 2034, 2163, 2034, 2164, 2034, 2164,
1029 2034, 2165, 2165, 2165, 2034, 2166, 2034, 2166, 2034, 2034,
1031 2034, 2167, 2034, 2168, 2034, 2168, 2034, 2034, 2034, 2034,
1032 2034, 2034, 2034, 2169, 2034, 2034, 2034, 2169, 2169, 2169,
1033 2034, 2170, 2034, 2170, 2171, 2171, 2171, 2034, 2034, 2034,
1034 2034, 2034, 2034, 2034, 2034, 2171, 2171, 2171, 2171, 2171,
1035 2034, 2172, 2034, 2172, 2034, 2034, 2034, 2034, 2173, 2034,
1036 2173, 2174, 2034, 2034, 2034, 2174, 2174, 2174, 2034, 2175,
1037 2034, 2175, 2034, 2034, 2034, 2034, 2176, 2034, 2177, 2034,
1038 2177, 2034, 2034, 2034, 2178, 2178, 2034, 2034, 2178, 2034,
1039 2179, 2034, 2179, 2180, 2034, 2034, 2034, 2034, 2181, 2034,
1040 2181, 2034, 2034, 2182, 2182, 2034, 2034, 2034, 2183, 2034,
1042 2183, 2184, 2184, 2184, 2184, 2034, 2185, 2034, 2185, 2034,
1043 2186, 2034, 2187, 2034, 2187, 2034, 2034, 2034, 2034, 2188,
1044 2034, 2188, 2034, 2034, 2034, 2034, 2189, 2034, 2190, 2034,
1045 2190, 2191, 2192, 2034, 2034, 2034, 2034, 2034, 2193, 2194,
1046 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1047 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2195,
1048 2034, 2196, 2197, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1049 2034, 2197, 2198, 2034, 2199, 2034, 2034, 2199, 2200, 2201,
1050 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2202,
1051 2202, 2202, 2202, 2203, 2204, 2204, 2204, 2034, 2034, 2034,
1053 2204, 2204, 2204, 2204, 2204, 2205, 2206, 2207, 2207, 2207,
1054 2207, 2208, 2034, 2034, 2034, 2034, 2034, 2034, 2209, 2210,
1055 2034, 2034, 2034, 2034, 2211, 2211, 2034, 2034, 2034, 2211,
1056 2212, 2213, 2214, 2034, 2034, 2034, 2215, 2215, 2034, 2034,
1057 2034, 2216, 2217, 2034, 2034, 2217, 2217, 2218, 2034, 2219,
1058 2220, 2221, 2034, 2222, 2223, 2224, 2225, 2225, 2034, 2225,
1059 2034, 2034, 2034, 2226, 2227, 2034, 2034, 2034, 2034, 2034,
1060 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1061 2034, 2034, 2034, 2034, 2034, 2034, 2228, 2034, 2229, 2230,
1062 2034, 2034, 2034, 2230, 2231, 2034, 2232, 2034, 2034, 2034,
1064 2034, 2034, 2233, 2234, 2034, 2034, 2034, 2034, 2034, 2034,
1065 2034, 2235, 2034, 2034, 2034, 2034, 2235, 2235, 2236, 2034,
1066 2034, 2237, 2237, 2034, 2034, 2237, 2237, 2237, 2237, 2238,
1067 2239, 2240, 2240, 2240, 2034, 2034, 2240, 2241, 2242, 2243,
1068 2034, 2244, 2244, 2244, 2245, 2246, 2247, 2248, 2248, 2249,
1069 2250, 2034, 2034, 2034, 2250, 2250, 2251, 2034, 2034, 2034,
1070 2252, 2253, 2034, 2034, 2034, 2254, 2255, 2256, 2256, 2034,
1071 2034, 2257, 2258, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1072 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1073 2034, 2259, 2034, 2260, 2261, 2261, 2262, 2263, 2034, 2034,
1075 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2264,
1076 2265, 2034, 2034, 2034, 2034, 2266, 2034, 2034, 2034, 2034,
1077 2034, 2034, 2266, 2266, 2034, 2034, 2034, 2034, 2034, 2034,
1078 2034, 2267, 2034, 2034, 2034, 2034, 2034, 2267, 2267, 2034,
1079 2034, 2268, 2269, 2270, 2270, 2270, 2034, 2034, 2034, 2270,
1080 2034, 2034, 2271, 2272, 2034, 2034, 2034, 2034, 2034, 2273,
1081 2274, 2275, 2276, 2034, 2034, 2034, 2034, 2249, 2250, 2250,
1082 2250, 2251, 2034, 2034, 2034, 2034, 2252, 2253, 2034, 2034,
1083 2034, 2034, 2034, 2034, 2255, 2256, 2256, 2034, 2034, 2034,
1084 2258, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1086 2034, 2034, 2034, 2034, 2034, 2034, 2259, 2034, 2034, 2034,
1087 2261, 2261, 2262, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1088 2034, 2034, 2034, 2034, 2034, 2264, 2034, 2034, 2034, 2034,
1089 2034, 2266, 2034, 2034, 2266, 2034, 2034, 2034, 2034, 2034,
1090 2267, 2034, 2034, 2034, 2034, 2034, 2267, 2034, 2034, 2034,
1091 2268, 2269, 2270, 2034, 2034, 2270, 2270, 2034, 2034, 2270,
1092 2271, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1093 2273, 2274, 2275, 2276, 2034, 2034, 2034, 2034, 2034, 2034,
1094 2249, 2250, 2250, 2250, 2251, 2034, 2252, 2253, 2034, 2255,
1095 2256, 2256, 2034, 2034, 2034, 2034, 2258, 2034, 2034, 2034,
1097 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2259, 2034,
1098 2261, 2261, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1099 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2264, 2034, 2034,
1100 2034, 2034, 2034, 2266, 2034, 2034, 2034, 2034, 2266, 2034,
1101 2034, 2034, 2267, 2034, 2034, 2034, 2267, 2268, 2034, 2034,
1102 2270, 2034, 2034, 2034, 2270, 2270, 2034, 2034, 2034, 2034,
1103 2270, 2271, 2034, 2273, 2274, 2275, 2276, 2249, 2034, 2034,
1104 2250, 2250, 2251, 2034, 2252, 2034, 2034, 2255, 2256, 2256,
1105 2034, 2258, 2034, 2034, 2034, 2034, 2034, 2034, 2259, 2034,
1106 2034, 2261, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1108 2034, 2034, 2264, 2034, 2266, 2034, 2034, 2034, 2034, 2266,
1109 2267, 2267, 2034, 2034, 2034, 2034, 2270, 2270, 2270, 2034,
1110 2034, 2034, 2034, 2270, 2271, 2034, 2273, 2034, 2034, 2034,
1111 2034, 2276, 2249, 2034, 2034, 2034, 2034, 2034, 2250, 2034,
1112 2034, 2034, 2252, 2255, 2256, 2256, 2034, 2034, 2034, 2034,
1113 2034, 2259, 2034, 2034, 2034, 2261, 2034, 2034, 2034, 2034,
1114 2034, 2034, 2034, 2034, 2034, 2034, 2264, 2034, 2266, 2034,
1115 2034, 2034, 2034, 2267, 2267, 2034, 2034, 2034, 2270, 2270,
1116 2270, 2034, 2034, 2034, 2034, 2271, 2273, 2034, 2034, 2034,
1117 2034, 2034, 2249, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1119 2255, 2256, 2256, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1120 2034, 2034, 2261, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1121 2034, 2034, 2034, 2264, 2034, 2266, 2034, 2034, 2034, 2267,
1122 2267, 2270, 2270, 2270, 2034, 2034, 2034, 2034, 2034, 2034,
1123 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2249, 2034, 2034,
1124 2034, 2255, 2256, 2256, 2034, 2034, 2034, 2034, 2034, 2034,
1125 2034, 2034, 2034, 2034, 2261, 2034, 2034, 2034, 2034, 2034,
1126 2034, 2034, 2034, 2264, 2034, 2034, 2034, 2266, 2267, 2267,
1127 2270, 2034, 2034, 2270, 2034, 2034, 2034, 2034, 2034, 2034,
1128 2034, 2034, 2034, 2034, 2034, 2034, 2249, 2255, 2256, 2256,
1130 2256, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1131 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2264, 2034, 2034,
1132 2034, 2266, 2267, 2267, 2270, 2034, 2034, 2034, 2270, 2034,
1133 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1134 2034, 2034, 2034, 2034, 2034, 2255, 2256, 2256, 2256, 2277,
1135 2278, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1136 2034, 2034, 2034, 2034, 2034, 2034, 2264, 2266, 2267, 2034,
1137 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1138 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2255, 2256, 2279,
1139 2280, 2277, 2278, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1141 2034, 2034, 2034, 2034, 2034, 2266, 2267, 2034, 2034, 2034,
1142 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1143 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2255, 2279,
1144 2256, 2281, 2280, 2282, 2256, 2034, 2034, 2034, 2034, 2034,
1145 2034, 2266, 2267, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1146 2034, 2034, 2034, 2034, 2034, 2255, 2281, 2034, 2282, 2256,
1147 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1148 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2255, 2034,
1149 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1150 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1152 2255, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1153 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2255, 2034,
1154 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1155 2034, 2034, 2034, 2034, 2034, 2255, 2034, 2034, 2034, 2034,
1156 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1157 2034, 2034, 2255, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1158 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2255,
1159 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1160 2034, 2034, 2255, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1161 2034, 2255, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1163 2255, 2255, 2034, 2034, 2034, 2034, 2034, 2034, 2255, 2255,
1164 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255,
1165 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255, 2255,
1166 2255, 2255, 2034, 0, 2034, 2034, 2034, 2034, 2034, 2034,
1167 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1168 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1169 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1170 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1171 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1172 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1174 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1175 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1176 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1177 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1178 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1179 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1180 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1181 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1182 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1183 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1185 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1186 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1187 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1188 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1189 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1190 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1191 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1192 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1196 static yyconst flex_int16_t yy_nxt[7190] =
1198 2034, 184, 185, 184, 184, 185, 184, 184, 185, 184,
1199 184, 185, 184, 189, 185, 189, 195, 186, 192, 195,
1200 186, 192, 2034, 187, 486, 193, 187, 587, 193, 190,
1201 189, 185, 189, 437, 196, 198, 199, 196, 198, 199,
1202 200, 201, 588, 200, 201, 437, 190, 205, 206, 438,
1203 202, 198, 199, 202, 203, 440, 200, 198, 199, 610,
1204 203, 439, 200, 205, 206, 611, 202, 185, 185, 185,
1205 498, 439, 202, 487, 185, 185, 185, 217, 185, 217,
1206 217, 185, 217, 208, 217, 185, 217, 482, 440, 207,
1207 208, 483, 2034, 218, 1059, 484, 218, 436, 436, 436,
1209 219, 436, 436, 436, 439, 207, 209, 210, 185, 210,
1210 209, 209, 209, 209, 209, 209, 209, 211, 209, 209,
1211 209, 503, 209, 213, 209, 214, 209, 217, 185, 217,
1212 217, 185, 217, 460, 1479, 217, 185, 217, 185, 185,
1213 185, 487, 463, 219, 451, 463, 220, 468, 440, 209,
1214 209, 220, 486, 1558, 221, 185, 185, 185, 436, 436,
1215 436, 436, 436, 436, 439, 436, 436, 436, 436, 436,
1216 436, 221, 215, 209, 210, 185, 210, 209, 209, 209,
1217 209, 209, 209, 209, 211, 209, 209, 209, 517, 209,
1218 213, 209, 214, 209, 217, 185, 217, 217, 185, 217,
1220 536, 469, 185, 185, 185, 185, 185, 185, 518, 498,
1221 219, 537, 521, 219, 514, 522, 209, 209, 222, 504,
1222 440, 222, 217, 185, 217, 217, 185, 217, 217, 185,
1223 217, 217, 185, 217, 1559, 2034, 439, 2034, 220, 215,
1224 469, 220, 463, 587, 223, 500, 467, 223, 224, 225,
1225 185, 225, 224, 224, 224, 224, 224, 224, 224, 226,
1226 224, 224, 224, 487, 224, 228, 224, 229, 224, 246,
1227 185, 246, 465, 458, 246, 185, 246, 624, 185, 185,
1228 185, 1560, 198, 199, 469, 247, 2034, 200, 198, 199,
1229 247, 224, 224, 200, 248, 514, 466, 233, 593, 230,
1231 542, 594, 231, 233, 436, 436, 436, 543, 232, 224,
1232 225, 185, 225, 224, 224, 224, 224, 224, 224, 224,
1233 226, 224, 224, 224, 234, 224, 228, 224, 229, 224,
1234 234, 185, 185, 185, 246, 185, 246, 1059, 246, 185,
1235 246, 246, 185, 246, 469, 440, 440, 248, 475, 440,
1236 247, 440, 224, 224, 247, 476, 493, 249, 1059, 538,
1237 230, 439, 439, 231, 439, 439, 445, 439, 1287, 232,
1238 235, 236, 185, 236, 235, 235, 235, 235, 235, 235,
1239 235, 237, 235, 235, 235, 466, 235, 239, 235, 240,
1240 235, 246, 185, 246, 260, 185, 260, 1286, 1561, 260,
1242 185, 260, 271, 185, 271, 524, 446, 249, 487, 440,
1243 261, 458, 447, 235, 235, 261, 448, 525, 272, 612,
1244 538, 449, 241, 1562, 242, 439, 505, 243, 436, 436,
1245 436, 1563, 613, 244, 235, 236, 185, 236, 235, 235,
1246 235, 235, 235, 235, 235, 237, 235, 235, 235, 466,
1247 235, 239, 235, 240, 235, 271, 185, 271, 271, 185,
1248 271, 457, 1564, 271, 185, 271, 185, 185, 185, 469,
1249 1565, 272, 1566, 440, 273, 469, 467, 235, 235, 273,
1250 440, 1568, 274, 436, 436, 436, 241, 526, 242, 439,
1251 570, 243, 468, 436, 436, 436, 439, 244, 250, 251,
1253 185, 251, 250, 250, 250, 250, 250, 250, 250, 252,
1254 250, 250, 250, 552, 250, 254, 250, 255, 250, 185,
1255 185, 185, 271, 185, 271, 571, 550, 271, 185, 271,
1256 271, 185, 271, 551, 606, 274, 440, 607, 275, 487,
1257 1318, 250, 250, 275, 440, 440, 276, 1319, 256, 436,
1258 436, 436, 439, 257, 436, 436, 436, 563, 461, 2034,
1259 439, 439, 258, 250, 251, 185, 251, 250, 250, 250,
1260 250, 250, 250, 250, 252, 250, 250, 250, 612, 250,
1261 254, 250, 255, 250, 271, 185, 271, 185, 185, 185,
1262 1569, 652, 185, 185, 185, 271, 185, 271, 1570, 610,
1264 276, 501, 461, 277, 502, 619, 250, 250, 277, 606,
1265 506, 273, 615, 256, 436, 436, 436, 1571, 257, 436,
1266 436, 436, 436, 436, 436, 544, 1059, 258, 262, 263,
1267 185, 263, 262, 262, 262, 262, 262, 262, 262, 264,
1268 262, 262, 262, 612, 262, 266, 262, 267, 262, 271,
1269 185, 271, 185, 185, 185, 1391, 654, 185, 185, 185,
1270 271, 185, 271, 617, 440, 273, 615, 732, 278, 610,
1271 545, 262, 262, 278, 469, 637, 276, 436, 436, 436,
1272 439, 734, 268, 436, 436, 436, 436, 436, 436, 1059,
1273 269, 262, 263, 185, 263, 262, 262, 262, 262, 262,
1275 262, 262, 264, 262, 262, 262, 612, 262, 266, 262,
1276 267, 262, 271, 185, 271, 271, 185, 271, 732, 655,
1277 271, 185, 271, 185, 185, 185, 732, 440, 276, 732,
1278 932, 279, 1392, 1285, 262, 262, 279, 732, 440, 280,
1279 185, 185, 185, 439, 440, 268, 271, 185, 271, 271,
1280 185, 271, 1167, 269, 439, 1056, 280, 185, 185, 185,
1281 439, 1574, 281, 1575, 440, 281, 185, 185, 185, 271,
1282 185, 271, 1579, 282, 271, 185, 271, 271, 185, 271,
1283 439, 1580, 282, 1581, 440, 279, 271, 185, 271, 949,
1284 279, 530, 1582, 283, 436, 436, 436, 436, 436, 436,
1286 439, 950, 283, 284, 285, 185, 285, 284, 284, 284,
1287 284, 284, 284, 284, 286, 284, 284, 284, 725, 284,
1288 288, 284, 289, 284, 296, 185, 296, 296, 185, 296,
1289 957, 613, 185, 185, 185, 185, 185, 185, 957, 440,
1290 297, 1059, 950, 297, 1583, 440, 284, 284, 248, 290,
1291 974, 248, 296, 185, 296, 439, 732, 291, 436, 436,
1292 436, 439, 1390, 292, 1586, 1587, 293, 1059, 297, 294,
1293 284, 285, 185, 285, 284, 284, 284, 284, 284, 284,
1294 284, 286, 284, 284, 284, 1480, 284, 288, 284, 289,
1295 284, 296, 185, 296, 296, 185, 296, 1545, 1323, 296,
1297 185, 296, 312, 185, 312, 1324, 1435, 297, 1604, 1605,
1298 298, 1437, 1436, 284, 284, 298, 290, 1438, 313, 312,
1299 185, 312, 1457, 1459, 291, 436, 436, 436, 1458, 1460,
1300 292, 1606, 1059, 293, 1613, 313, 294, 299, 300, 185,
1301 300, 299, 299, 299, 299, 299, 299, 299, 301, 299,
1302 299, 299, 732, 299, 303, 299, 304, 299, 322, 185,
1303 322, 322, 185, 322, 1609, 1614, 335, 185, 335, 335,
1304 185, 335, 1603, 1615, 323, 1610, 440, 323, 1616, 1611,
1305 299, 299, 336, 557, 305, 336, 436, 436, 436, 1601,
1306 1612, 306, 439, 307, 436, 436, 436, 308, 1617, 309,
1308 310, 299, 300, 185, 300, 299, 299, 299, 299, 299,
1309 299, 299, 301, 299, 299, 299, 1618, 299, 303, 299,
1310 304, 299, 185, 185, 185, 185, 185, 185, 1619, 1620,
1311 335, 185, 335, 335, 185, 335, 1621, 1622, 248, 1623,
1312 440, 248, 1625, 1626, 299, 299, 336, 575, 305, 336,
1313 436, 436, 436, 1630, 1631, 306, 439, 307, 436, 436,
1314 436, 308, 1632, 309, 310, 314, 315, 185, 315, 314,
1315 314, 314, 314, 314, 314, 314, 316, 314, 314, 314,
1316 1633, 314, 318, 314, 319, 314, 335, 185, 335, 335,
1317 185, 335, 1634, 1642, 347, 185, 347, 347, 185, 347,
1319 1059, 1643, 337, 1645, 1656, 337, 1657, 1644, 314, 314,
1320 348, 1646, 1059, 348, 436, 436, 436, 1647, 1661, 320,
1321 314, 315, 185, 315, 314, 314, 314, 314, 314, 314,
1322 314, 316, 314, 314, 314, 1546, 314, 318, 314, 319,
1323 314, 185, 185, 185, 185, 185, 185, 1602, 1662, 347,
1324 185, 347, 347, 185, 347, 1663, 1664, 349, 1665, 1666,
1325 349, 1667, 1668, 314, 314, 348, 1669, 1670, 348, 436,
1326 436, 436, 1059, 1671, 320, 324, 325, 185, 325, 324,
1327 324, 324, 324, 324, 324, 324, 326, 324, 324, 324,
1328 732, 324, 328, 324, 329, 324, 347, 185, 347, 347,
1330 185, 347, 1672, 1673, 361, 185, 361, 361, 185, 361,
1331 1679, 1653, 350, 1680, 440, 350, 1681, 1652, 324, 324,
1332 362, 585, 330, 362, 436, 436, 436, 1059, 1684, 331,
1333 439, 332, 436, 436, 436, 436, 436, 436, 333, 324,
1334 325, 185, 325, 324, 324, 324, 324, 324, 324, 324,
1335 326, 324, 324, 324, 1691, 324, 328, 324, 329, 324,
1336 185, 185, 185, 185, 185, 185, 1654, 1692, 361, 185,
1337 361, 361, 185, 361, 1693, 1694, 349, 1695, 1696, 349,
1338 1702, 1703, 324, 324, 362, 732, 330, 362, 436, 436,
1339 436, 1704, 1705, 331, 1706, 332, 436, 436, 436, 436,
1341 436, 436, 333, 338, 339, 185, 339, 338, 338, 338,
1342 338, 338, 338, 338, 340, 338, 338, 338, 1707, 338,
1343 342, 338, 343, 338, 361, 185, 361, 361, 185, 361,
1344 1698, 1710, 373, 185, 373, 373, 185, 373, 1711, 1712,
1345 363, 1713, 1714, 363, 1715, 1716, 338, 338, 374, 1059,
1346 1717, 374, 344, 436, 436, 436, 436, 436, 436, 436,
1347 436, 436, 591, 591, 591, 1722, 345, 338, 339, 185,
1348 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1349 338, 338, 1699, 338, 342, 338, 343, 338, 385, 185,
1350 385, 385, 185, 385, 1723, 1724, 185, 185, 185, 185,
1352 185, 185, 1725, 1729, 386, 1738, 1739, 386, 1740, 1741,
1353 338, 338, 349, 1742, 1743, 349, 344, 1754, 592, 591,
1354 591, 591, 1755, 736, 749, 749, 749, 763, 763, 763,
1355 345, 351, 352, 185, 352, 351, 351, 351, 351, 351,
1356 351, 351, 353, 351, 351, 351, 732, 351, 355, 351,
1357 356, 351, 385, 185, 385, 385, 185, 385, 1756, 1730,
1358 385, 185, 385, 385, 185, 385, 1757, 1732, 386, 1731,
1359 1761, 386, 1762, 825, 351, 351, 387, 1733, 1746, 387,
1360 357, 1763, 826, 358, 1764, 750, 1765, 1766, 750, 827,
1361 749, 749, 749, 1768, 359, 351, 352, 185, 352, 351,
1363 351, 351, 351, 351, 351, 351, 353, 351, 351, 351,
1364 1769, 351, 355, 351, 356, 351, 399, 185, 399, 399,
1365 185, 399, 1776, 1734, 185, 185, 185, 185, 185, 185,
1366 1777, 1736, 400, 1735, 1778, 400, 1779, 1780, 351, 351,
1367 401, 1737, 1781, 401, 357, 1782, 1783, 358, 768, 768,
1368 768, 807, 769, 1784, 1785, 770, 1786, 1787, 359, 364,
1369 365, 185, 365, 364, 364, 364, 364, 364, 364, 364,
1370 366, 364, 364, 364, 1794, 364, 368, 364, 369, 364,
1371 399, 185, 399, 399, 185, 399, 1795, 1796, 399, 185,
1372 399, 399, 185, 399, 1797, 1798, 400, 1799, 1800, 400,
1374 1801, 732, 364, 364, 402, 1802, 1803, 402, 370, 749,
1375 749, 749, 1806, 371, 364, 365, 185, 365, 364, 364,
1376 364, 364, 364, 364, 364, 366, 364, 364, 364, 1807,
1377 364, 368, 364, 369, 364, 411, 185, 411, 411, 185,
1378 411, 1788, 1817, 421, 185, 421, 421, 185, 421, 1818,
1379 1819, 412, 1820, 1821, 412, 1822, 1823, 364, 364, 422,
1380 1824, 1825, 422, 370, 763, 763, 763, 1826, 371, 375,
1381 376, 185, 376, 375, 375, 375, 375, 375, 375, 375,
1382 377, 375, 375, 375, 1827, 375, 379, 375, 380, 375,
1383 185, 185, 185, 185, 185, 185, 1828, 1831, 421, 185,
1385 421, 421, 185, 421, 1831, 732, 248, 1836, 1837, 248,
1386 1838, 1832, 375, 375, 423, 1834, 1839, 423, 381, 1840,
1387 1841, 382, 778, 778, 778, 807, 779, 1842, 1843, 780,
1388 1852, 1853, 383, 375, 376, 185, 376, 375, 375, 375,
1389 375, 375, 375, 375, 377, 375, 375, 375, 1829, 375,
1390 379, 375, 380, 375, 421, 185, 421, 421, 185, 421,
1391 1854, 1844, 434, 185, 434, 434, 185, 434, 1855, 1846,
1392 424, 1845, 1858, 424, 1848, 1858, 375, 375, 435, 1847,
1393 1850, 435, 381, 498, 1849, 382, 579, 799, 799, 799,
1394 1851, 800, 1861, 499, 801, 732, 383, 388, 389, 185,
1396 389, 388, 388, 388, 388, 388, 388, 388, 390, 388,
1397 388, 388, 1831, 388, 392, 388, 393, 388, 1862, 500,
1398 1869, 457, 621, 621, 621, 501, 1832, 1831, 502, 629,
1399 629, 629, 1867, 1856, 503, 1059, 1060, 580, 1834, 622,
1400 388, 388, 643, 643, 643, 1872, 630, 1875, 394, 1868,
1401 395, 1878, 396, 763, 763, 763, 1071, 1071, 1071, 644,
1402 397, 388, 389, 185, 389, 388, 388, 388, 388, 388,
1403 388, 388, 390, 388, 388, 388, 1858, 388, 392, 388,
1404 393, 388, 657, 657, 657, 665, 665, 665, 1880, 667,
1405 667, 667, 677, 677, 677, 1199, 682, 682, 682, 658,
1407 1200, 1858, 666, 1201, 388, 388, 668, 1202, 1881, 678,
1408 1882, 1889, 394, 683, 395, 1890, 396, 1891, 1072, 1072,
1409 1072, 1076, 1076, 1076, 397, 403, 404, 185, 404, 403,
1410 403, 403, 403, 403, 403, 403, 405, 403, 403, 403,
1411 1892, 403, 407, 403, 408, 403, 702, 702, 702, 721,
1412 721, 721, 1893, 726, 726, 726, 745, 745, 745, 745,
1413 745, 745, 1073, 703, 1870, 1894, 722, 1873, 403, 403,
1414 727, 621, 621, 621, 747, 1895, 1896, 747, 815, 815,
1415 815, 1871, 816, 1897, 1874, 817, 1898, 1899, 622, 1900,
1416 1876, 409, 403, 404, 185, 404, 403, 403, 403, 403,
1418 403, 403, 403, 405, 403, 403, 403, 1877, 403, 407,
1419 403, 408, 403, 1902, 748, 773, 773, 773, 1907, 773,
1420 773, 773, 629, 629, 629, 781, 781, 781, 784, 784,
1421 784, 1903, 1908, 775, 1905, 403, 403, 775, 1909, 630,
1422 1910, 1904, 782, 1911, 1906, 785, 828, 828, 828, 1912,
1423 829, 1913, 1914, 830, 1096, 1096, 1096, 1915, 409, 413,
1424 414, 185, 414, 413, 413, 413, 413, 413, 413, 413,
1425 415, 413, 413, 413, 1916, 413, 417, 413, 418, 413,
1426 776, 787, 787, 787, 1917, 1918, 795, 795, 795, 1920,
1427 787, 787, 787, 795, 795, 795, 1107, 1107, 1107, 789,
1429 1921, 1922, 413, 413, 797, 831, 831, 831, 789, 832,
1430 1923, 797, 833, 419, 413, 414, 185, 414, 413, 413,
1431 413, 413, 413, 413, 413, 415, 413, 413, 413, 732,
1432 413, 417, 413, 418, 413, 790, 643, 643, 643, 1924,
1433 1925, 803, 803, 803, 657, 657, 657, 1926, 1927, 803,
1434 803, 803, 1919, 644, 798, 1928, 1929, 413, 413, 805,
1435 1930, 658, 1108, 1108, 1108, 1931, 1932, 805, 419, 425,
1436 426, 185, 426, 425, 425, 425, 425, 425, 425, 425,
1437 427, 425, 425, 425, 806, 425, 429, 425, 430, 425,
1438 821, 821, 821, 821, 821, 821, 1933, 665, 665, 665,
1440 667, 667, 667, 834, 834, 834, 1073, 1934, 823, 1935,
1441 1203, 823, 425, 425, 666, 1204, 1937, 668, 1205, 1938,
1442 835, 1939, 1206, 431, 845, 845, 845, 1940, 846, 1941,
1443 1942, 847, 1072, 1072, 1072, 432, 425, 426, 185, 426,
1444 425, 425, 425, 425, 425, 425, 425, 427, 425, 425,
1445 425, 824, 425, 429, 425, 430, 425, 841, 841, 841,
1446 841, 841, 841, 1943, 677, 677, 677, 848, 848, 848,
1447 848, 848, 848, 1944, 1945, 843, 1141, 732, 843, 425,
1448 425, 678, 682, 682, 682, 850, 1946, 1947, 850, 1948,
1449 431, 853, 853, 853, 1936, 854, 1949, 1950, 855, 683,
1451 1951, 1952, 432, 440, 859, 859, 859, 859, 859, 859,
1452 455, 1954, 863, 863, 863, 844, 865, 865, 865, 439,
1453 456, 1955, 861, 1956, 1957, 861, 732, 1958, 851, 864,
1454 868, 868, 868, 866, 2034, 2034, 2034, 1959, 868, 868,
1455 868, 873, 873, 873, 1953, 457, 458, 459, 870, 1960,
1456 1961, 2034, 460, 1962, 1963, 461, 870, 1964, 874, 462,
1457 862, 463, 1965, 464, 2034, 2034, 2034, 877, 877, 877,
1458 1966, 2034, 2034, 2034, 880, 880, 880, 702, 702, 702,
1459 1967, 2034, 1968, 1969, 878, 880, 880, 880, 2034, 732,
1460 867, 1971, 882, 1972, 703, 1970, 871, 885, 885, 885,
1462 1973, 886, 1974, 882, 887, 888, 888, 888, 892, 892,
1463 892, 1975, 875, 888, 888, 888, 2034, 2034, 2034, 1976,
1464 883, 1977, 1978, 890, 1979, 893, 876, 879, 896, 896,
1465 896, 890, 1980, 2034, 898, 898, 898, 898, 898, 898,
1466 906, 906, 906, 1981, 1982, 897, 1984, 906, 906, 906,
1467 732, 1985, 900, 1986, 1987, 900, 1988, 1989, 908, 912,
1468 912, 912, 1983, 1990, 894, 908, 891, 912, 912, 912,
1469 721, 721, 721, 919, 919, 919, 1991, 914, 895, 916,
1470 916, 916, 1993, 917, 1994, 914, 918, 722, 919, 919,
1471 919, 921, 726, 726, 726, 924, 924, 924, 1995, 925,
1473 1996, 1997, 926, 1998, 1999, 901, 921, 2000, 909, 727,
1474 2003, 928, 928, 928, 928, 928, 928, 745, 745, 745,
1475 745, 745, 745, 745, 745, 745, 2004, 2005, 915, 930,
1476 2006, 2007, 930, 2008, 732, 747, 732, 1557, 747, 732,
1477 1556, 747, 958, 958, 958, 732, 922, 768, 768, 768,
1478 732, 769, 732, 732, 770, 2034, 2034, 2034, 1552, 959,
1479 773, 773, 773, 773, 773, 773, 732, 2015, 940, 773,
1480 773, 773, 2034, 732, 2011, 931, 732, 1551, 775, 732,
1481 2009, 775, 778, 778, 778, 2012, 779, 775, 2017, 780,
1482 781, 781, 781, 964, 964, 964, 2010, 965, 2027, 2016,
1484 966, 967, 967, 967, 784, 784, 784, 782, 969, 969,
1485 969, 2013, 970, 960, 962, 971, 732, 2014, 968, 2018,
1486 1550, 785, 787, 787, 787, 787, 787, 787, 787, 787,
1487 787, 976, 976, 976, 795, 795, 795, 795, 795, 795,
1488 789, 1549, 732, 789, 732, 2031, 789, 1539, 977, 795,
1489 795, 795, 797, 732, 732, 797, 799, 799, 799, 732,
1490 800, 2028, 1527, 801, 803, 803, 803, 797, 803, 803,
1491 803, 981, 981, 981, 815, 815, 815, 2019, 816, 2020,
1492 1525, 817, 805, 2021, 2022, 973, 805, 1524, 1523, 982,
1493 821, 821, 821, 1522, 979, 821, 821, 821, 821, 821,
1495 821, 1521, 828, 828, 828, 1520, 829, 1519, 823, 830,
1496 831, 831, 831, 823, 832, 2023, 823, 833, 834, 834,
1497 834, 998, 998, 998, 732, 999, 1518, 1512, 1000, 841,
1498 841, 841, 841, 841, 841, 835, 841, 841, 841, 845,
1499 845, 845, 732, 846, 1511, 1510, 847, 843, 732, 2024,
1500 843, 848, 848, 848, 843, 848, 848, 848, 732, 2031,
1501 994, 848, 848, 848, 853, 853, 853, 732, 854, 850,
1502 732, 855, 2025, 850, 859, 859, 859, 1509, 2026, 850,
1503 859, 859, 859, 859, 859, 859, 863, 863, 863, 1013,
1504 1013, 1013, 861, 1014, 1508, 1507, 1015, 2029, 861, 732,
1506 1006, 861, 1506, 864, 865, 865, 865, 1016, 1016, 1016,
1507 1505, 1017, 1504, 1502, 1018, 868, 868, 868, 868, 868,
1508 868, 866, 873, 873, 873, 1007, 868, 868, 868, 2030,
1509 1022, 1022, 1022, 870, 1023, 1501, 870, 1024, 1500, 874,
1510 1012, 877, 877, 877, 870, 1027, 1027, 1027, 1499, 1028,
1511 1498, 1497, 1029, 880, 880, 880, 1496, 1495, 878, 880,
1512 880, 880, 880, 880, 880, 885, 885, 885, 1494, 886,
1513 1493, 882, 887, 888, 888, 888, 1492, 882, 1489, 1488,
1514 882, 888, 888, 888, 888, 888, 888, 892, 892, 892,
1515 1020, 890, 1487, 1034, 1034, 1034, 1484, 1035, 1474, 890,
1517 1036, 1472, 890, 1471, 893, 896, 896, 896, 1039, 1039,
1518 1039, 1466, 1040, 1464, 1463, 1041, 898, 898, 898, 898,
1519 898, 898, 897, 1031, 898, 898, 898, 1044, 1044, 1044,
1520 906, 906, 906, 1462, 900, 1461, 1456, 900, 906, 906,
1521 906, 1033, 900, 1455, 1045, 906, 906, 906, 908, 912,
1522 912, 912, 912, 912, 912, 1451, 908, 912, 912, 912,
1523 919, 919, 919, 908, 916, 916, 916, 914, 917, 1447,
1524 914, 918, 919, 919, 919, 914, 1443, 1439, 921, 919,
1525 919, 919, 1434, 1042, 924, 924, 924, 1433, 925, 1427,
1526 921, 926, 928, 928, 928, 1426, 1425, 921, 928, 928,
1528 928, 1424, 1423, 1048, 928, 928, 928, 1422, 1051, 1421,
1529 930, 1058, 1058, 1058, 1420, 1419, 930, 745, 745, 745,
1530 1418, 1412, 930, 958, 958, 958, 967, 967, 967, 1059,
1531 1060, 773, 773, 773, 1411, 747, 1052, 1084, 1084, 1084,
1532 959, 1085, 1410, 968, 1086, 1409, 964, 964, 964, 775,
1533 965, 1407, 1405, 966, 1091, 1091, 1091, 1403, 1092, 1402,
1534 1400, 1093, 1055, 969, 969, 969, 1399, 970, 1393, 1386,
1535 971, 787, 787, 787, 976, 976, 976, 1384, 1089, 1383,
1536 1065, 1098, 1098, 1098, 1382, 1099, 1373, 1371, 1100, 789,
1537 1364, 977, 1101, 1101, 1101, 795, 795, 795, 981, 981,
1539 981, 1113, 1113, 1113, 1115, 1115, 1115, 1361, 1360, 1102,
1540 821, 821, 821, 797, 1359, 1358, 982, 1357, 1114, 1095,
1541 1353, 1116, 1120, 1120, 1120, 1071, 1071, 1071, 823, 2034,
1542 2034, 2034, 2034, 2034, 2034, 1347, 998, 998, 998, 1121,
1543 999, 1341, 1103, 1000, 1335, 1334, 2034, 1333, 1117, 2034,
1544 1124, 1124, 1124, 2034, 2034, 2034, 1332, 2034, 2034, 2034,
1545 1330, 2034, 2034, 2034, 2034, 2034, 2034, 1125, 1329, 1325,
1546 2034, 1322, 1321, 1119, 2034, 1320, 1317, 1123, 2034, 1316,
1547 1312, 2034, 841, 841, 841, 848, 848, 848, 1135, 1135,
1548 1135, 1311, 1122, 859, 859, 859, 1308, 1013, 1013, 1013,
1550 843, 1014, 1127, 850, 1015, 1136, 1016, 1016, 1016, 1307,
1551 1017, 861, 1306, 1018, 1305, 868, 868, 868, 1128, 1304,
1552 1126, 1022, 1022, 1022, 1302, 1023, 1299, 1298, 1024, 1297,
1553 1295, 1129, 1137, 870, 1027, 1027, 1027, 1294, 1028, 1293,
1554 1292, 1029, 1288, 1279, 1130, 1273, 1271, 1138, 1131, 880,
1555 880, 880, 888, 888, 888, 1034, 1034, 1034, 1270, 1035,
1556 1269, 1262, 1036, 1255, 1039, 1039, 1039, 882, 1040, 1253,
1557 890, 1041, 898, 898, 898, 1044, 1044, 1044, 1140, 1152,
1558 1152, 1152, 1250, 1153, 1246, 1245, 1154, 906, 906, 906,
1559 900, 1244, 1045, 1159, 1159, 1159, 912, 912, 912, 1224,
1561 919, 919, 919, 1223, 1216, 908, 1147, 1145, 1213, 1212,
1562 1160, 1164, 1164, 1164, 914, 1211, 1198, 1150, 921, 928,
1563 928, 928, 1058, 1058, 1058, 745, 745, 745, 1165, 1072,
1564 1072, 1072, 1196, 1195, 1157, 1193, 1192, 930, 1191, 1188,
1565 1059, 1187, 1182, 747, 1076, 1076, 1076, 1183, 1183, 1183,
1566 1162, 1185, 1185, 1185, 1189, 1189, 1189, 1084, 1084, 1084,
1567 1161, 1085, 1181, 1180, 1086, 773, 773, 773, 787, 787,
1568 787, 1168, 1091, 1091, 1091, 1173, 1092, 1179, 1166, 1093,
1569 1096, 1096, 1096, 775, 1178, 1177, 789, 1169, 1176, 1098,
1570 1098, 1098, 1175, 1099, 1174, 1186, 1100, 1172, 1190, 1101,
1572 1101, 1101, 1207, 1207, 1207, 1171, 1208, 1170, 1184, 1209,
1573 795, 795, 795, 1059, 1194, 1163, 1102, 1107, 1107, 1107,
1574 1108, 1108, 1108, 1214, 1214, 1214, 1197, 1158, 797, 1214,
1575 1214, 1214, 1183, 1183, 1183, 1113, 1113, 1113, 1217, 1217,
1576 1217, 1156, 1218, 1155, 1151, 1219, 1115, 1115, 1115, 1220,
1577 1220, 1220, 1114, 1221, 1149, 1148, 1222, 1146, 1144, 1210,
1578 1225, 1225, 1225, 1116, 1120, 1120, 1120, 1227, 1227, 1227,
1579 1143, 1228, 1142, 1139, 1229, 1230, 1230, 1230, 1226, 1134,
1580 1133, 1121, 1132, 1118, 1215, 2034, 2034, 2034, 1112, 1111,
1581 1184, 1110, 1231, 1215, 1124, 1124, 1124, 1233, 1233, 1233,
1583 1109, 1234, 2034, 1106, 1235, 1236, 1236, 1236, 2034, 2034,
1584 2034, 1125, 1105, 2034, 2034, 2034, 1240, 1240, 1240, 841,
1585 841, 841, 1237, 1104, 1097, 2034, 848, 848, 848, 1094,
1586 2034, 1090, 1088, 1241, 1135, 1135, 1135, 843, 1247, 1247,
1587 1247, 1087, 1248, 1083, 850, 1249, 1232, 1251, 1251, 1251,
1588 1082, 1136, 868, 868, 868, 1256, 1256, 1256, 1081, 1258,
1589 1258, 1258, 1080, 1238, 1239, 1252, 2034, 2034, 2034, 1079,
1590 870, 1078, 1257, 1077, 1075, 1243, 1259, 880, 880, 880,
1591 1074, 1070, 1242, 2034, 888, 888, 888, 1264, 1264, 1264,
1592 1266, 1266, 1266, 1069, 1068, 882, 898, 898, 898, 1067,
1594 1066, 1254, 890, 1064, 1265, 1063, 1062, 1267, 1152, 1152,
1595 1152, 1061, 1153, 1054, 900, 1154, 906, 906, 906, 1159,
1596 1159, 1159, 1274, 1274, 1274, 1053, 1275, 1260, 1263, 1276,
1597 912, 912, 912, 1050, 908, 1049, 1160, 919, 919, 919,
1598 1047, 1261, 1164, 1164, 1164, 1280, 1280, 1280, 914, 1281,
1599 1046, 1043, 1282, 1038, 1037, 921, 1032, 1030, 1268, 1165,
1600 1283, 1283, 1283, 1026, 1025, 1272, 1289, 1289, 1289, 745,
1601 745, 745, 1296, 1296, 1296, 1300, 1300, 1300, 1284, 1183,
1602 1183, 1183, 1021, 1290, 1019, 1011, 1277, 747, 1010, 1009,
1603 1278, 1301, 1301, 1301, 1185, 1185, 1185, 1303, 1303, 1303,
1605 1189, 1189, 1189, 1309, 1309, 1309, 787, 787, 787, 1314,
1606 1314, 1314, 1207, 1207, 1207, 1008, 1208, 1005, 1004, 1209,
1607 1003, 1310, 1002, 1001, 789, 997, 1315, 1291, 795, 795,
1608 795, 1327, 1327, 1327, 1214, 1214, 1214, 1331, 1331, 1331,
1609 1217, 1217, 1217, 996, 1218, 995, 797, 1219, 1328, 1220,
1610 1220, 1220, 993, 1221, 992, 991, 1222, 1336, 1336, 1336,
1611 990, 989, 1313, 1225, 1225, 1225, 1227, 1227, 1227, 988,
1612 1228, 987, 1326, 1229, 1337, 1230, 1230, 1230, 1338, 1338,
1613 1338, 1226, 1339, 986, 985, 1340, 1233, 1233, 1233, 984,
1614 1234, 983, 1231, 1235, 1236, 1236, 1236, 1342, 1342, 1342,
1616 980, 1343, 978, 975, 1344, 1345, 1345, 1345, 1240, 1240,
1617 1240, 1237, 1348, 1348, 1348, 972, 1349, 963, 961, 1350,
1618 956, 955, 1346, 954, 953, 1241, 841, 841, 841, 848,
1619 848, 848, 1354, 1354, 1354, 1247, 1247, 1247, 952, 1248,
1620 951, 948, 1249, 947, 843, 946, 945, 850, 944, 1355,
1621 1251, 1251, 1251, 1362, 1362, 1362, 1256, 1256, 1256, 1365,
1622 1365, 1365, 943, 1366, 942, 941, 1367, 939, 1252, 938,
1623 937, 1363, 936, 1257, 935, 1351, 1356, 1258, 1258, 1258,
1624 1368, 1368, 1368, 934, 1369, 933, 732, 1370, 927, 923,
1625 1352, 880, 880, 880, 1259, 888, 888, 888, 1264, 1264,
1627 1264, 1375, 1375, 1375, 911, 1376, 910, 905, 1377, 882,
1628 1266, 1266, 1266, 890, 904, 1265, 1378, 1378, 1378, 903,
1629 1379, 902, 884, 1380, 1389, 1389, 1389, 1267, 898, 898,
1630 898, 906, 906, 906, 1274, 1274, 1274, 872, 1275, 858,
1631 857, 1276, 1374, 912, 912, 912, 900, 856, 852, 908,
1632 919, 919, 919, 840, 1372, 1280, 1280, 1280, 839, 1281,
1633 838, 914, 1282, 1283, 1283, 1283, 837, 836, 921, 1289,
1634 1289, 1289, 1394, 1394, 1394, 820, 1395, 819, 818, 1396,
1635 814, 1284, 745, 745, 745, 813, 1290, 1398, 1398, 1398,
1636 1381, 812, 1387, 1385, 1401, 1401, 1401, 1296, 1296, 1296,
1638 747, 1388, 1404, 1404, 1404, 1300, 1300, 1300, 1301, 1301,
1639 1301, 1303, 1303, 1303, 1406, 1406, 1406, 1408, 1408, 1408,
1640 1309, 1309, 1309, 1413, 1413, 1413, 811, 1314, 1314, 1314,
1641 1415, 1415, 1415, 810, 1416, 809, 808, 1417, 1310, 802,
1642 794, 1414, 793, 1397, 1315, 795, 795, 795, 1327, 1327,
1643 1327, 1429, 1429, 1429, 792, 1430, 791, 786, 1431, 1432,
1644 1432, 1432, 783, 797, 777, 1328, 1331, 1331, 1331, 1336,
1645 1336, 1336, 1440, 1440, 1440, 772, 1441, 771, 767, 1442,
1646 1338, 1338, 1338, 766, 1339, 765, 1337, 1340, 764, 1342,
1647 1342, 1342, 1428, 1343, 762, 761, 1344, 1345, 1345, 1345,
1649 1444, 1444, 1444, 760, 1445, 759, 758, 1446, 1348, 1348,
1650 1348, 757, 1349, 756, 1346, 1350, 841, 841, 841, 1449,
1651 1449, 1449, 1354, 1354, 1354, 1452, 1452, 1452, 755, 1453,
1652 754, 753, 1454, 752, 843, 751, 744, 1450, 743, 1355,
1653 1362, 1362, 1362, 1365, 1365, 1365, 742, 1366, 741, 740,
1654 1367, 739, 1368, 1368, 1368, 738, 1369, 735, 1363, 1370,
1655 880, 880, 880, 888, 888, 888, 1375, 1375, 1375, 733,
1656 1376, 732, 730, 1377, 898, 898, 898, 1448, 882, 728,
1657 724, 890, 1378, 1378, 1378, 720, 1379, 718, 717, 1380,
1658 716, 714, 900, 1469, 1469, 1469, 906, 906, 906, 912,
1660 912, 912, 1476, 1476, 1476, 1389, 1389, 1389, 1468, 1465,
1661 1470, 1478, 1478, 1478, 908, 713, 712, 914, 711, 710,
1662 1477, 1481, 1481, 1481, 708, 707, 1467, 706, 705, 732,
1663 1394, 1394, 1394, 701, 1395, 700, 698, 1396, 697, 745,
1664 745, 745, 1398, 1398, 1398, 1483, 1483, 1483, 1401, 1401,
1665 1401, 1485, 1485, 1485, 696, 695, 1475, 747, 1473, 1486,
1666 1486, 1486, 1404, 1404, 1404, 1406, 1406, 1406, 1408, 1408,
1667 1408, 1490, 1490, 1490, 1413, 1413, 1413, 1415, 1415, 1415,
1668 694, 1416, 693, 691, 1417, 795, 795, 795, 1491, 1429,
1669 1429, 1429, 1414, 1430, 690, 1482, 1431, 1432, 1432, 1432,
1671 1440, 1440, 1440, 797, 1441, 689, 688, 1442, 1444, 1444,
1672 1444, 686, 1445, 685, 684, 1446, 1513, 1513, 1513, 1449,
1673 1449, 1449, 1515, 1515, 1515, 1452, 1452, 1452, 681, 1453,
1674 680, 676, 1454, 674, 1514, 673, 672, 1450, 671, 1516,
1675 1526, 1526, 1526, 1503, 1528, 1528, 1528, 1530, 1530, 1530,
1676 888, 888, 888, 898, 898, 898, 1469, 1469, 1469, 1540,
1677 1540, 1540, 1529, 670, 1531, 669, 1517, 664, 890, 663,
1678 661, 900, 660, 1470, 1534, 1534, 1534, 1541, 1535, 659,
1679 656, 1536, 1537, 1537, 1537, 1542, 1542, 1542, 912, 912,
1680 912, 1476, 1476, 1476, 1478, 1478, 1478, 653, 651, 1538,
1682 1481, 1481, 1481, 1547, 1547, 1547, 914, 1532, 650, 1477,
1683 649, 1533, 732, 1483, 1483, 1483, 1485, 1485, 1485, 648,
1684 647, 1548, 1486, 1486, 1486, 1490, 1490, 1490, 1553, 1553,
1685 1553, 645, 1554, 642, 640, 1555, 795, 795, 795, 1572,
1686 1572, 1572, 1491, 1513, 1513, 1513, 1515, 1515, 1515, 639,
1687 638, 1543, 636, 1544, 797, 634, 1573, 633, 1576, 1576,
1688 1576, 1514, 1577, 1516, 632, 1578, 1584, 1584, 1584, 1526,
1689 1526, 1526, 1528, 1528, 1528, 1530, 1530, 1530, 1588, 1588,
1690 1588, 631, 1589, 1585, 628, 1590, 1591, 1591, 1591, 627,
1691 1529, 626, 1531, 1567, 898, 898, 898, 623, 1534, 1534,
1693 1534, 620, 1535, 618, 1592, 1536, 1537, 1537, 1537, 1594,
1694 1594, 1594, 900, 1595, 616, 614, 1596, 1597, 1597, 1597,
1695 1540, 1540, 1540, 1538, 1542, 1542, 1542, 1599, 1599, 1599,
1696 1547, 1547, 1547, 609, 1598, 1607, 1607, 1607, 1541, 1553,
1697 1553, 1553, 608, 1554, 605, 1600, 1555, 604, 1548, 795,
1698 795, 795, 1608, 1572, 1572, 1572, 603, 602, 1593, 1627,
1699 1627, 1627, 600, 1628, 599, 598, 1629, 797, 597, 596,
1700 1573, 1576, 1576, 1576, 595, 1577, 590, 587, 1578, 1584,
1701 1584, 1584, 1635, 1635, 1635, 589, 1636, 584, 583, 1637,
1702 1638, 1638, 1638, 1640, 1640, 1640, 1585, 1588, 1588, 1588,
1704 581, 1589, 463, 578, 1590, 576, 1624, 1639, 574, 572,
1705 1641, 1591, 1591, 1591, 898, 898, 898, 1594, 1594, 1594,
1706 2034, 1595, 569, 568, 1596, 1597, 1597, 1597, 567, 1592,
1707 566, 564, 900, 1649, 1649, 1649, 563, 1650, 562, 561,
1708 1651, 560, 1598, 1599, 1599, 1599, 1655, 1655, 1655, 1607,
1709 1607, 1607, 1658, 1658, 1658, 558, 1659, 556, 555, 1660,
1710 553, 1600, 795, 795, 795, 552, 1608, 1675, 1675, 1675,
1711 1676, 1676, 1676, 549, 1627, 1627, 1627, 1648, 1628, 548,
1712 797, 1629, 1682, 1682, 1682, 546, 461, 1677, 1635, 1635,
1713 1635, 2034, 1636, 541, 539, 1637, 1638, 1638, 1638, 1683,
1715 1685, 1685, 1685, 535, 1686, 534, 533, 1687, 1640, 1640,
1716 1640, 1674, 531, 1639, 1678, 1688, 1688, 1688, 529, 1689,
1717 527, 523, 1690, 520, 519, 1641, 898, 898, 898, 1649,
1718 1649, 1649, 515, 1650, 513, 512, 1651, 1700, 1700, 1700,
1719 1655, 1655, 1655, 511, 900, 1658, 1658, 1658, 510, 1659,
1720 509, 507, 1660, 2034, 1701, 1059, 1708, 1708, 1708, 795,
1721 795, 795, 1675, 1675, 1675, 1676, 1676, 1676, 1682, 1682,
1722 1682, 466, 502, 1709, 497, 1697, 496, 797, 494, 1719,
1723 1719, 1719, 1677, 1720, 492, 1683, 1721, 1726, 1726, 1726,
1724 491, 1727, 490, 488, 1728, 1685, 1685, 1685, 485, 1686,
1726 481, 480, 1687, 1688, 1688, 1688, 1718, 1689, 478, 477,
1727 1690, 1744, 1744, 1744, 1747, 1747, 1747, 1700, 1700, 1700,
1728 1749, 1749, 1749, 474, 1750, 473, 472, 1751, 470, 1745,
1729 469, 1748, 1059, 2034, 1701, 1059, 465, 454, 1059, 1752,
1730 1752, 1752, 1753, 1753, 1753, 1708, 1708, 1708, 1758, 1758,
1731 1758, 452, 1759, 450, 444, 1760, 795, 795, 795, 1719,
1732 1719, 1719, 1709, 1720, 443, 444, 1721, 1770, 1770, 1770,
1733 1772, 1772, 1772, 443, 797, 1726, 1726, 1726, 442, 1727,
1734 441, 2034, 1728, 2034, 1771, 2034, 2034, 1773, 1774, 1774,
1735 1774, 1744, 1744, 1744, 1747, 1747, 1747, 1789, 1789, 1789,
1737 2034, 1790, 2034, 2034, 1791, 1775, 1749, 1749, 1749, 1745,
1738 1750, 1748, 1059, 1751, 2034, 1059, 1752, 1752, 1752, 1767,
1739 1753, 1753, 1753, 2034, 1059, 1057, 1057, 1057, 1057, 1057,
1740 1057, 1057, 1057, 1057, 2034, 2034, 1057, 1804, 1804, 1804,
1741 2034, 1057, 1057, 1057, 1059, 1057, 1758, 1758, 1758, 2034,
1742 1759, 2034, 2034, 1760, 2034, 1805, 2034, 2034, 2034, 2034,
1743 2034, 2034, 1770, 1770, 1770, 1772, 1772, 1772, 1057, 1057,
1744 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1771,
1745 2034, 1057, 1773, 2034, 2034, 2034, 1057, 1057, 1057, 1059,
1746 1057, 1808, 1808, 1808, 2034, 1809, 2034, 2034, 1810, 1811,
1748 1811, 1811, 2034, 1812, 2034, 2034, 1813, 1774, 1774, 1774,
1749 1804, 1804, 1804, 1057, 1057, 1814, 1814, 1814, 2034, 1815,
1750 2034, 2034, 1816, 2034, 1775, 1789, 1789, 1789, 1805, 1790,
1751 2034, 2034, 1791, 1808, 1808, 1808, 2034, 1809, 2034, 2034,
1752 1810, 2034, 2034, 1059, 1057, 1057, 1057, 1057, 1057, 1835,
1753 1057, 1057, 1057, 2034, 2034, 1057, 2034, 2034, 2034, 2034,
1754 1057, 1057, 1057, 1059, 1057, 1811, 1811, 1811, 2034, 1812,
1755 2034, 2034, 1813, 1814, 1814, 1814, 2034, 1815, 2034, 2034,
1756 1816, 2034, 2034, 1860, 1860, 1860, 2034, 1057, 1057, 1057,
1757 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1835, 2034, 2034,
1759 1057, 1059, 1060, 2034, 2034, 1057, 1057, 1057, 1059, 1057,
1760 1863, 1863, 1863, 1865, 1865, 1865, 1879, 1879, 1879, 1860,
1761 1860, 1860, 1863, 1863, 1863, 2034, 2034, 1864, 2034, 2034,
1762 1866, 2034, 1057, 1057, 732, 2034, 2034, 1059, 2034, 1864,
1763 1883, 1883, 1883, 2034, 1884, 2034, 2034, 1885, 1865, 1865,
1764 1865, 1886, 1886, 1886, 2034, 1887, 2034, 2034, 1888, 1879,
1765 1879, 1879, 1883, 1883, 1883, 1866, 1884, 2034, 1168, 1885,
1766 2034, 1886, 1886, 1886, 2034, 1887, 2034, 732, 1888, 1992,
1767 1992, 1992, 1992, 1992, 1992, 2034, 2001, 2034, 2034, 2002,
1768 2032, 2032, 2032, 2034, 1901, 2034, 2034, 732, 2034, 2034,
1770 732, 2032, 2032, 2032, 2034, 2034, 2034, 2034, 2033, 2034,
1771 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2033,
1772 182, 182, 182, 182, 182, 182, 182, 182, 182, 183,
1773 183, 183, 183, 183, 183, 183, 183, 183, 188, 188,
1774 188, 188, 188, 188, 188, 188, 188, 191, 191, 191,
1775 191, 191, 191, 191, 191, 191, 194, 194, 194, 194,
1776 194, 194, 194, 194, 194, 197, 197, 197, 197, 197,
1777 197, 197, 197, 197, 204, 204, 204, 204, 204, 204,
1778 204, 204, 204, 212, 212, 212, 212, 212, 212, 212,
1779 212, 212, 216, 216, 216, 216, 216, 216, 216, 216,
1781 216, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1782 238, 238, 238, 238, 238, 238, 238, 238, 238, 245,
1783 245, 245, 245, 245, 245, 245, 245, 245, 253, 253,
1784 253, 253, 253, 253, 253, 253, 253, 259, 259, 259,
1785 259, 259, 259, 259, 259, 259, 265, 265, 265, 265,
1786 265, 265, 265, 265, 265, 270, 270, 270, 270, 270,
1787 270, 270, 270, 270, 287, 287, 287, 287, 287, 287,
1788 287, 287, 287, 295, 295, 295, 295, 295, 295, 295,
1789 295, 295, 302, 302, 302, 302, 302, 302, 302, 302,
1790 302, 311, 311, 311, 311, 311, 311, 311, 311, 311,
1792 317, 317, 317, 317, 317, 317, 317, 317, 317, 321,
1793 321, 321, 321, 321, 321, 321, 321, 321, 327, 327,
1794 327, 327, 327, 327, 327, 327, 327, 334, 334, 334,
1795 334, 334, 334, 334, 334, 334, 341, 341, 341, 341,
1796 341, 341, 341, 341, 341, 346, 346, 346, 346, 346,
1797 346, 346, 346, 346, 354, 354, 354, 354, 354, 354,
1798 354, 354, 354, 360, 360, 360, 360, 360, 360, 360,
1799 360, 360, 367, 367, 367, 367, 367, 367, 367, 367,
1800 367, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1801 378, 378, 378, 378, 378, 378, 378, 378, 378, 384,
1803 384, 384, 384, 384, 384, 384, 384, 384, 391, 391,
1804 391, 391, 391, 391, 391, 391, 391, 398, 398, 398,
1805 398, 398, 398, 398, 398, 398, 406, 406, 406, 406,
1806 406, 406, 406, 406, 406, 410, 410, 410, 410, 410,
1807 410, 410, 410, 410, 416, 416, 416, 416, 416, 416,
1808 416, 416, 416, 420, 420, 420, 420, 420, 420, 420,
1809 420, 420, 428, 428, 428, 428, 428, 428, 428, 428,
1810 428, 433, 433, 433, 433, 433, 433, 433, 433, 433,
1811 453, 453, 453, 2034, 2034, 2034, 453, 471, 471, 471,
1812 2034, 2034, 2034, 471, 479, 479, 479, 2034, 2034, 2034,
1814 479, 489, 489, 489, 2034, 2034, 2034, 489, 495, 495,
1815 495, 2034, 2034, 2034, 495, 508, 508, 508, 2034, 2034,
1816 2034, 508, 516, 516, 516, 2034, 2034, 2034, 516, 528,
1817 528, 528, 2034, 2034, 2034, 528, 532, 532, 532, 2034,
1818 2034, 2034, 532, 540, 540, 540, 2034, 2034, 2034, 540,
1819 547, 547, 547, 2034, 2034, 2034, 547, 554, 554, 554,
1820 2034, 2034, 2034, 554, 559, 559, 559, 2034, 2034, 2034,
1821 559, 565, 565, 565, 2034, 2034, 2034, 565, 573, 573,
1822 573, 2034, 2034, 2034, 573, 577, 577, 577, 2034, 2034,
1823 2034, 577, 582, 582, 582, 2034, 2034, 2034, 582, 586,
1825 586, 586, 586, 586, 586, 586, 2034, 586, 601, 2034,
1826 2034, 2034, 601, 625, 2034, 2034, 2034, 625, 479, 479,
1827 479, 2034, 2034, 2034, 479, 635, 2034, 2034, 2034, 635,
1828 489, 489, 489, 2034, 2034, 2034, 489, 641, 2034, 2034,
1829 2034, 641, 495, 495, 495, 2034, 2034, 2034, 495, 646,
1830 2034, 2034, 2034, 646, 662, 2034, 2034, 2034, 662, 675,
1831 2034, 2034, 2034, 675, 528, 528, 528, 2034, 2034, 2034,
1832 528, 679, 2034, 2034, 2034, 679, 532, 532, 532, 2034,
1833 2034, 2034, 532, 687, 2034, 2034, 2034, 687, 540, 540,
1834 540, 2034, 2034, 2034, 540, 692, 2034, 2034, 2034, 692,
1836 547, 547, 547, 2034, 2034, 2034, 547, 699, 2034, 2034,
1837 2034, 699, 554, 554, 554, 2034, 2034, 2034, 554, 704,
1838 2034, 2034, 2034, 704, 559, 559, 559, 2034, 2034, 2034,
1839 559, 709, 2034, 2034, 2034, 709, 565, 565, 565, 2034,
1840 2034, 2034, 565, 715, 2034, 2034, 2034, 715, 573, 573,
1841 573, 2034, 2034, 2034, 573, 719, 2034, 2034, 2034, 719,
1842 577, 577, 577, 2034, 2034, 2034, 577, 723, 2034, 2034,
1843 2034, 723, 582, 582, 582, 2034, 2034, 2034, 582, 729,
1844 2034, 2034, 2034, 729, 731, 731, 731, 731, 731, 731,
1845 731, 731, 731, 737, 2034, 2034, 2034, 2034, 737, 453,
1847 453, 453, 2034, 2034, 2034, 453, 746, 746, 746, 746,
1848 2034, 2034, 746, 746, 471, 471, 471, 2034, 2034, 2034,
1849 471, 774, 774, 774, 774, 2034, 2034, 774, 774, 479,
1850 479, 479, 2034, 2034, 2034, 479, 788, 788, 788, 788,
1851 2034, 2034, 788, 788, 489, 489, 489, 2034, 2034, 2034,
1852 489, 796, 796, 796, 796, 2034, 2034, 796, 796, 495,
1853 495, 495, 2034, 2034, 2034, 495, 804, 804, 804, 804,
1854 2034, 2034, 804, 804, 508, 508, 508, 2034, 2034, 2034,
1855 508, 822, 822, 822, 822, 2034, 2034, 822, 822, 516,
1856 516, 516, 2034, 2034, 2034, 516, 842, 842, 842, 842,
1858 2034, 2034, 842, 842, 849, 849, 849, 849, 2034, 2034,
1859 849, 849, 532, 532, 532, 2034, 2034, 2034, 532, 860,
1860 860, 860, 860, 2034, 2034, 860, 860, 540, 540, 540,
1861 540, 2034, 540, 2034, 540, 869, 869, 869, 869, 2034,
1862 2034, 869, 869, 547, 547, 547, 547, 2034, 547, 2034,
1863 547, 881, 881, 881, 881, 2034, 2034, 881, 881, 554,
1864 554, 554, 2034, 2034, 2034, 554, 889, 889, 889, 889,
1865 2034, 2034, 889, 889, 559, 559, 559, 559, 2034, 559,
1866 2034, 559, 899, 899, 899, 899, 2034, 2034, 899, 899,
1867 565, 565, 565, 2034, 2034, 2034, 565, 907, 907, 907,
1869 907, 2034, 2034, 907, 907, 573, 573, 573, 2034, 2034,
1870 2034, 573, 913, 913, 913, 913, 2034, 2034, 913, 913,
1871 920, 920, 920, 920, 2034, 2034, 920, 920, 582, 582,
1872 582, 2034, 2034, 2034, 582, 929, 929, 929, 929, 2034,
1873 2034, 929, 929, 731, 731, 731, 731, 731, 731, 731,
1874 731, 731, 737, 2034, 737, 2034, 2034, 737, 453, 453,
1875 453, 2034, 2034, 2034, 453, 746, 746, 746, 746, 2034,
1876 2034, 746, 746, 471, 471, 471, 471, 2034, 471, 2034,
1877 471, 774, 774, 774, 774, 2034, 2034, 774, 774, 479,
1878 479, 479, 2034, 2034, 2034, 479, 788, 788, 788, 788,
1880 2034, 2034, 788, 788, 489, 489, 489, 2034, 2034, 2034,
1881 489, 796, 796, 796, 796, 2034, 2034, 796, 796, 495,
1882 495, 495, 2034, 2034, 2034, 495, 804, 804, 804, 804,
1883 2034, 2034, 804, 804, 508, 508, 508, 2034, 2034, 2034,
1884 508, 822, 822, 822, 822, 2034, 2034, 822, 822, 516,
1885 516, 516, 2034, 2034, 2034, 516, 842, 842, 842, 842,
1886 2034, 2034, 842, 842, 849, 849, 849, 849, 2034, 2034,
1887 849, 849, 532, 532, 532, 2034, 2034, 2034, 532, 860,
1888 860, 860, 860, 2034, 2034, 860, 860, 540, 540, 540,
1889 2034, 2034, 2034, 540, 869, 869, 869, 869, 2034, 2034,
1891 869, 869, 547, 547, 547, 2034, 2034, 2034, 547, 881,
1892 881, 881, 881, 2034, 2034, 881, 881, 554, 554, 554,
1893 2034, 2034, 2034, 554, 889, 889, 889, 889, 2034, 2034,
1894 889, 889, 559, 559, 559, 2034, 2034, 2034, 559, 899,
1895 899, 899, 899, 2034, 2034, 899, 899, 565, 565, 565,
1896 2034, 2034, 2034, 565, 907, 907, 907, 907, 2034, 2034,
1897 907, 907, 573, 573, 573, 2034, 2034, 2034, 573, 913,
1898 913, 913, 913, 2034, 2034, 913, 913, 920, 920, 920,
1899 920, 2034, 2034, 920, 920, 582, 582, 582, 2034, 2034,
1900 2034, 582, 929, 929, 929, 929, 2034, 2034, 929, 929,
1902 731, 731, 731, 731, 731, 731, 731, 731, 731, 1057,
1903 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 453, 453,
1904 453, 2034, 2034, 2034, 453, 746, 746, 746, 746, 2034,
1905 2034, 746, 746, 471, 471, 471, 2034, 2034, 2034, 471,
1906 774, 774, 774, 774, 2034, 2034, 774, 774, 479, 479,
1907 479, 2034, 2034, 2034, 479, 788, 788, 788, 788, 2034,
1908 2034, 788, 788, 489, 489, 489, 2034, 2034, 2034, 489,
1909 796, 796, 796, 796, 2034, 2034, 796, 796, 495, 495,
1910 495, 2034, 2034, 2034, 495, 508, 508, 508, 2034, 2034,
1911 2034, 508, 822, 822, 822, 822, 2034, 2034, 822, 822,
1913 516, 516, 516, 516, 2034, 516, 2034, 516, 842, 842,
1914 842, 842, 2034, 2034, 842, 842, 849, 849, 849, 849,
1915 2034, 2034, 849, 849, 532, 532, 532, 2034, 2034, 2034,
1916 532, 860, 860, 860, 860, 2034, 2034, 860, 860, 540,
1917 540, 540, 2034, 2034, 2034, 540, 869, 869, 869, 869,
1918 2034, 2034, 869, 869, 547, 547, 547, 2034, 2034, 2034,
1919 547, 881, 881, 881, 881, 2034, 2034, 881, 881, 554,
1920 554, 554, 2034, 2034, 2034, 554, 889, 889, 889, 889,
1921 2034, 2034, 889, 889, 559, 559, 559, 2034, 2034, 2034,
1922 559, 899, 899, 899, 899, 2034, 2034, 899, 899, 565,
1924 565, 565, 2034, 2034, 2034, 565, 907, 907, 907, 907,
1925 2034, 2034, 907, 907, 573, 573, 573, 573, 2034, 573,
1926 2034, 573, 913, 913, 913, 913, 2034, 2034, 913, 913,
1927 920, 920, 920, 920, 2034, 2034, 920, 920, 582, 582,
1928 582, 582, 2034, 582, 2034, 582, 929, 929, 929, 929,
1929 2034, 2034, 929, 929, 731, 731, 731, 731, 731, 731,
1930 731, 731, 731, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1931 1057, 1057, 453, 453, 453, 2034, 2034, 2034, 453, 746,
1932 746, 746, 746, 2034, 2034, 746, 746, 471, 471, 471,
1933 2034, 2034, 2034, 471, 774, 774, 774, 774, 2034, 2034,
1935 774, 774, 479, 479, 479, 2034, 2034, 2034, 479, 788,
1936 788, 788, 788, 2034, 2034, 788, 788, 489, 489, 489,
1937 2034, 2034, 2034, 489, 796, 796, 796, 796, 2034, 2034,
1938 796, 796, 495, 495, 495, 2034, 2034, 2034, 495, 508,
1939 508, 508, 2034, 2034, 2034, 508, 822, 822, 822, 822,
1940 2034, 2034, 822, 822, 516, 516, 516, 516, 2034, 516,
1941 2034, 516, 842, 842, 842, 842, 2034, 2034, 842, 842,
1942 849, 849, 849, 849, 2034, 2034, 849, 849, 532, 532,
1943 532, 2034, 2034, 2034, 532, 860, 860, 860, 860, 2034,
1944 2034, 860, 860, 540, 540, 540, 2034, 2034, 2034, 540,
1946 869, 869, 869, 869, 2034, 2034, 869, 869, 547, 547,
1947 547, 547, 2034, 547, 2034, 547, 881, 881, 881, 881,
1948 2034, 2034, 881, 881, 554, 554, 554, 2034, 2034, 2034,
1949 554, 889, 889, 889, 889, 2034, 2034, 889, 889, 559,
1950 559, 559, 559, 2034, 559, 2034, 559, 899, 899, 899,
1951 899, 2034, 2034, 899, 899, 565, 565, 565, 2034, 2034,
1952 2034, 565, 907, 907, 907, 907, 2034, 2034, 907, 907,
1953 913, 913, 913, 913, 2034, 2034, 913, 913, 920, 920,
1954 920, 920, 2034, 2034, 920, 920, 929, 929, 929, 929,
1955 2034, 2034, 929, 929, 731, 731, 731, 731, 731, 731,
1957 731, 731, 731, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1958 1057, 1057, 453, 453, 453, 453, 2034, 453, 2034, 453,
1959 746, 746, 746, 746, 2034, 2034, 746, 746, 471, 471,
1960 471, 2034, 2034, 2034, 471, 774, 774, 774, 774, 2034,
1961 2034, 774, 774, 479, 479, 479, 2034, 2034, 2034, 479,
1962 788, 788, 788, 788, 2034, 2034, 788, 788, 489, 489,
1963 489, 489, 2034, 489, 2034, 489, 796, 796, 796, 796,
1964 2034, 2034, 796, 796, 495, 495, 495, 495, 2034, 495,
1965 2034, 495, 508, 508, 508, 2034, 2034, 2034, 508, 516,
1966 516, 516, 2034, 2034, 2034, 516, 842, 842, 842, 842,
1968 2034, 2034, 842, 842, 849, 849, 849, 849, 2034, 2034,
1969 849, 849, 532, 532, 532, 2034, 2034, 2034, 532, 540,
1970 540, 540, 2034, 2034, 2034, 540, 869, 869, 869, 869,
1971 2034, 2034, 869, 869, 547, 547, 547, 2034, 2034, 2034,
1972 547, 881, 881, 881, 881, 2034, 2034, 881, 881, 554,
1973 554, 554, 2034, 2034, 2034, 554, 889, 889, 889, 889,
1974 2034, 2034, 889, 889, 1792, 1792, 1792, 1792, 1792, 1792,
1975 1792, 1792, 1792, 1793, 1793, 1793, 1793, 1793, 1793, 1793,
1976 1793, 1793, 1830, 1830, 1830, 1830, 1830, 1830, 1830, 1830,
1977 1830, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833, 1833,
1979 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1859,
1980 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 181, 2034,
1981 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1982 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1983 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1984 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1985 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1986 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
1987 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034
1990 static yyconst flex_int16_t yy_chk[7190] =
1992 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1993 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1994 4, 10, 0, 5, 247, 9, 6, 437, 10, 7,
1995 8, 8, 8, 186, 11, 13, 13, 12, 14, 14,
1996 13, 13, 437, 14, 14, 187, 8, 17, 17, 186,
1997 13, 15, 15, 14, 15, 190, 15, 16, 16, 462,
1998 16, 187, 16, 18, 18, 462, 15, 19, 19, 19,
1999 281, 190, 16, 247, 20, 20, 20, 23, 23, 23,
2000 24, 24, 24, 19, 25, 25, 25, 243, 208, 17,
2001 20, 243, 248, 23, 1391, 243, 24, 184, 184, 184,
2003 25, 185, 185, 185, 208, 18, 21, 21, 21, 21,
2004 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2005 21, 281, 21, 21, 21, 21, 21, 26, 26, 26,
2006 27, 27, 27, 275, 1391, 28, 28, 28, 29, 29,
2007 29, 248, 275, 26, 208, 283, 27, 283, 213, 21,
2008 21, 28, 249, 1494, 29, 30, 30, 30, 189, 189,
2009 189, 210, 210, 210, 213, 217, 217, 217, 225, 225,
2010 225, 30, 21, 22, 22, 22, 22, 22, 22, 22,
2011 22, 22, 22, 22, 22, 22, 22, 22, 305, 22,
2012 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2014 333, 249, 33, 33, 33, 34, 34, 34, 305, 273,
2015 31, 333, 308, 32, 297, 308, 22, 22, 33, 273,
2016 228, 34, 35, 35, 35, 36, 36, 36, 37, 37,
2017 37, 38, 38, 38, 1495, 221, 228, 277, 35, 22,
2018 424, 36, 424, 475, 37, 273, 273, 38, 39, 39,
2019 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2020 39, 39, 39, 297, 39, 39, 39, 39, 39, 45,
2021 45, 45, 221, 277, 46, 46, 46, 475, 47, 47,
2022 47, 1496, 41, 41, 221, 45, 278, 41, 42, 42,
2023 46, 39, 39, 42, 47, 298, 278, 41, 446, 39,
2025 345, 446, 39, 42, 236, 236, 236, 345, 39, 40,
2026 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2027 40, 40, 40, 40, 41, 40, 40, 40, 40, 40,
2028 42, 48, 48, 48, 49, 49, 49, 1169, 50, 50,
2029 50, 51, 51, 51, 298, 239, 254, 48, 233, 261,
2030 49, 266, 40, 40, 50, 233, 261, 51, 1168, 336,
2031 40, 239, 254, 40, 233, 261, 200, 266, 1169, 40,
2032 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2033 43, 43, 43, 43, 43, 279, 43, 43, 43, 43,
2034 43, 52, 52, 52, 55, 55, 55, 1168, 1497, 56,
2036 56, 56, 59, 59, 59, 310, 200, 52, 336, 288,
2037 55, 279, 200, 43, 43, 56, 200, 310, 59, 463,
2038 337, 200, 43, 1498, 43, 288, 279, 43, 246, 246,
2039 246, 1499, 463, 43, 44, 44, 44, 44, 44, 44,
2040 44, 44, 44, 44, 44, 44, 44, 44, 44, 220,
2041 44, 44, 44, 44, 44, 60, 60, 60, 61, 61,
2042 61, 402, 1500, 62, 62, 62, 63, 63, 63, 337,
2043 1501, 60, 1502, 303, 61, 402, 220, 44, 44, 62,
2044 313, 1504, 63, 251, 251, 251, 44, 313, 44, 303,
2045 400, 44, 220, 260, 260, 260, 313, 44, 53, 53,
2047 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2048 53, 53, 53, 363, 53, 53, 53, 53, 53, 64,
2049 64, 64, 65, 65, 65, 400, 359, 66, 66, 66,
2050 67, 67, 67, 359, 459, 64, 318, 459, 65, 400,
2051 1201, 53, 53, 66, 328, 342, 67, 1201, 53, 263,
2052 263, 263, 318, 53, 271, 271, 271, 387, 363, 280,
2053 328, 342, 53, 54, 54, 54, 54, 54, 54, 54,
2054 54, 54, 54, 54, 54, 54, 54, 54, 503, 54,
2055 54, 54, 54, 54, 68, 68, 68, 69, 69, 69,
2056 1505, 503, 70, 70, 70, 71, 71, 71, 1506, 469,
2058 68, 280, 387, 69, 280, 469, 54, 54, 70, 465,
2059 280, 71, 465, 54, 285, 285, 285, 1508, 54, 296,
2060 296, 296, 300, 300, 300, 348, 1286, 54, 57, 57,
2061 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2062 57, 57, 57, 505, 57, 57, 57, 57, 57, 72,
2063 72, 72, 73, 73, 73, 1286, 505, 74, 74, 74,
2064 75, 75, 75, 467, 355, 72, 467, 588, 73, 487,
2065 348, 57, 57, 74, 348, 487, 75, 312, 312, 312,
2066 355, 588, 57, 315, 315, 315, 322, 322, 322, 1287,
2067 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2069 58, 58, 58, 58, 58, 58, 506, 58, 58, 58,
2070 58, 58, 76, 76, 76, 77, 77, 77, 1167, 506,
2071 78, 78, 78, 79, 79, 79, 734, 368, 76, 1056,
2072 734, 77, 1287, 1167, 58, 58, 78, 932, 379, 79,
2073 80, 80, 80, 368, 392, 58, 81, 81, 81, 82,
2074 82, 82, 1056, 58, 379, 932, 80, 83, 83, 83,
2075 392, 1511, 81, 1512, 407, 82, 84, 84, 84, 85,
2076 85, 85, 1517, 83, 86, 86, 86, 87, 87, 87,
2077 407, 1518, 84, 1519, 323, 85, 88, 88, 88, 758,
2078 86, 323, 1520, 87, 325, 325, 325, 335, 335, 335,
2080 323, 758, 88, 89, 89, 89, 89, 89, 89, 89,
2081 89, 89, 89, 89, 89, 89, 89, 89, 580, 89,
2082 89, 89, 89, 89, 91, 91, 91, 92, 92, 92,
2083 766, 580, 93, 93, 93, 94, 94, 94, 791, 417,
2084 91, 1392, 766, 92, 1522, 429, 89, 89, 93, 89,
2085 791, 94, 95, 95, 95, 417, 1285, 89, 339, 339,
2086 339, 429, 1285, 89, 1525, 1527, 89, 1479, 95, 89,
2087 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2088 90, 90, 90, 90, 90, 1392, 90, 90, 90, 90,
2089 90, 96, 96, 96, 97, 97, 97, 1479, 1205, 98,
2091 98, 98, 101, 101, 101, 1205, 1333, 96, 1549, 1550,
2092 97, 1334, 1333, 90, 90, 98, 90, 1334, 101, 102,
2093 102, 102, 1358, 1359, 90, 347, 347, 347, 1358, 1359,
2094 90, 1551, 1546, 90, 1556, 102, 90, 99, 99, 99,
2095 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2096 99, 99, 1544, 99, 99, 99, 99, 99, 105, 105,
2097 105, 106, 106, 106, 1554, 1557, 109, 109, 109, 110,
2098 110, 110, 1546, 1558, 105, 1554, 374, 106, 1559, 1555,
2099 99, 99, 109, 374, 99, 110, 352, 352, 352, 1544,
2100 1555, 99, 374, 99, 361, 361, 361, 99, 1560, 99,
2102 99, 100, 100, 100, 100, 100, 100, 100, 100, 100,
2103 100, 100, 100, 100, 100, 100, 1561, 100, 100, 100,
2104 100, 100, 111, 111, 111, 112, 112, 112, 1562, 1563,
2105 113, 113, 113, 114, 114, 114, 1564, 1565, 111, 1566,
2106 412, 112, 1568, 1569, 100, 100, 113, 412, 100, 114,
2107 365, 365, 365, 1574, 1575, 100, 412, 100, 373, 373,
2108 373, 100, 1579, 100, 100, 103, 103, 103, 103, 103,
2109 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2110 1580, 103, 103, 103, 103, 103, 115, 115, 115, 116,
2111 116, 116, 1581, 1589, 119, 119, 119, 120, 120, 120,
2113 1480, 1589, 115, 1590, 1605, 116, 1606, 1589, 103, 103,
2114 119, 1590, 1545, 120, 376, 376, 376, 1590, 1609, 103,
2115 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2116 104, 104, 104, 104, 104, 1480, 104, 104, 104, 104,
2117 104, 121, 121, 121, 122, 122, 122, 1545, 1610, 123,
2118 123, 123, 124, 124, 124, 1611, 1612, 121, 1613, 1614,
2119 122, 1615, 1616, 104, 104, 123, 1617, 1619, 124, 385,
2120 385, 385, 1602, 1620, 104, 107, 107, 107, 107, 107,
2121 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2122 1601, 107, 107, 107, 107, 107, 125, 125, 125, 126,
2124 126, 126, 1621, 1622, 129, 129, 129, 130, 130, 130,
2125 1630, 1602, 125, 1631, 435, 126, 1632, 1601, 107, 107,
2126 129, 435, 107, 130, 389, 389, 389, 1603, 1634, 107,
2127 435, 107, 399, 399, 399, 404, 404, 404, 107, 108,
2128 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2129 108, 108, 108, 108, 1642, 108, 108, 108, 108, 108,
2130 131, 131, 131, 132, 132, 132, 1603, 1643, 133, 133,
2131 133, 134, 134, 134, 1644, 1645, 131, 1646, 1647, 132,
2132 1656, 1657, 108, 108, 133, 1652, 108, 134, 411, 411,
2133 411, 1661, 1662, 108, 1663, 108, 414, 414, 414, 421,
2135 421, 421, 108, 117, 117, 117, 117, 117, 117, 117,
2136 117, 117, 117, 117, 117, 117, 117, 117, 1664, 117,
2137 117, 117, 117, 117, 135, 135, 135, 136, 136, 136,
2138 1652, 1666, 139, 139, 139, 140, 140, 140, 1667, 1668,
2139 135, 1669, 1670, 136, 1671, 1672, 117, 117, 139, 1653,
2140 1673, 140, 117, 426, 426, 426, 434, 434, 434, 436,
2141 436, 436, 445, 445, 445, 1678, 117, 118, 118, 118,
2142 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
2143 118, 118, 1653, 118, 118, 118, 118, 118, 143, 143,
2144 143, 144, 144, 144, 1679, 1680, 145, 145, 145, 146,
2146 146, 146, 1681, 1684, 143, 1691, 1692, 144, 1693, 1694,
2147 118, 118, 145, 1695, 1696, 146, 118, 1704, 445, 591,
2148 591, 591, 1705, 591, 603, 603, 603, 616, 616, 616,
2149 118, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2150 127, 127, 127, 127, 127, 127, 1698, 127, 127, 127,
2151 127, 127, 147, 147, 147, 148, 148, 148, 1706, 1686,
2152 149, 149, 149, 150, 150, 150, 1707, 1687, 147, 1686,
2153 1710, 148, 1711, 664, 127, 127, 149, 1687, 1698, 150,
2154 127, 1713, 664, 127, 1714, 603, 1715, 1717, 616, 664,
2155 648, 648, 648, 1722, 127, 128, 128, 128, 128, 128,
2157 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
2158 1723, 128, 128, 128, 128, 128, 153, 153, 153, 154,
2159 154, 154, 1730, 1689, 155, 155, 155, 156, 156, 156,
2160 1731, 1690, 153, 1689, 1732, 154, 1733, 1734, 128, 128,
2161 155, 1690, 1735, 156, 128, 1736, 1737, 128, 622, 622,
2162 622, 648, 622, 1738, 1739, 622, 1741, 1742, 128, 137,
2163 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2164 137, 137, 137, 137, 1754, 137, 137, 137, 137, 137,
2165 157, 157, 157, 158, 158, 158, 1755, 1756, 159, 159,
2166 159, 160, 160, 160, 1757, 1761, 157, 1762, 1763, 158,
2168 1764, 1746, 137, 137, 159, 1765, 1766, 160, 137, 749,
2169 749, 749, 1768, 137, 138, 138, 138, 138, 138, 138,
2170 138, 138, 138, 138, 138, 138, 138, 138, 138, 1769,
2171 138, 138, 138, 138, 138, 163, 163, 163, 164, 164,
2172 164, 1746, 1776, 167, 167, 167, 168, 168, 168, 1777,
2173 1778, 163, 1779, 1780, 164, 1781, 1782, 138, 138, 167,
2174 1783, 1784, 168, 138, 653, 653, 653, 1785, 138, 141,
2175 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2176 141, 141, 141, 141, 1786, 141, 141, 141, 141, 141,
2177 169, 169, 169, 170, 170, 170, 1787, 1790, 171, 171,
2179 171, 172, 172, 172, 1791, 1788, 169, 1794, 1796, 170,
2180 1799, 1790, 141, 141, 171, 1791, 1800, 172, 141, 1802,
2181 1803, 141, 630, 630, 630, 653, 630, 1806, 1807, 630,
2182 1818, 1820, 141, 142, 142, 142, 142, 142, 142, 142,
2183 142, 142, 142, 142, 142, 142, 142, 142, 1788, 142,
2184 142, 142, 142, 142, 173, 173, 173, 174, 174, 174,
2185 1822, 1809, 177, 177, 177, 178, 178, 178, 1824, 1810,
2186 173, 1809, 1832, 174, 1815, 1834, 142, 142, 177, 1810,
2187 1816, 178, 142, 272, 1815, 142, 422, 644, 644, 644,
2188 1816, 644, 1836, 272, 644, 1829, 142, 151, 151, 151,
2190 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
2191 151, 151, 1830, 151, 151, 151, 151, 151, 1837, 272,
2192 1845, 422, 473, 473, 473, 272, 1830, 1833, 272, 481,
2193 481, 481, 1844, 1829, 272, 1831, 1831, 422, 1833, 473,
2194 151, 151, 496, 496, 496, 1847, 481, 1849, 151, 1844,
2195 151, 1851, 151, 763, 763, 763, 946, 946, 946, 496,
2196 151, 152, 152, 152, 152, 152, 152, 152, 152, 152,
2197 152, 152, 152, 152, 152, 152, 1857, 152, 152, 152,
2198 152, 152, 510, 510, 510, 518, 518, 518, 1858, 519,
2199 519, 519, 529, 529, 529, 1099, 534, 534, 534, 510,
2201 1099, 1859, 518, 1099, 152, 152, 519, 1099, 1861, 529,
2202 1862, 1867, 152, 534, 152, 1868, 152, 1869, 947, 947,
2203 947, 950, 950, 950, 152, 161, 161, 161, 161, 161,
2204 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
2205 1870, 161, 161, 161, 161, 161, 556, 556, 556, 578,
2206 578, 578, 1871, 583, 583, 583, 601, 601, 601, 602,
2207 602, 602, 947, 556, 1846, 1872, 578, 1848, 161, 161,
2208 583, 621, 621, 621, 601, 1873, 1874, 602, 658, 658,
2209 658, 1846, 658, 1875, 1848, 658, 1876, 1877, 621, 1878,
2210 1850, 161, 162, 162, 162, 162, 162, 162, 162, 162,
2212 162, 162, 162, 162, 162, 162, 162, 1850, 162, 162,
2213 162, 162, 162, 1880, 602, 625, 625, 625, 1889, 626,
2214 626, 626, 629, 629, 629, 631, 631, 631, 633, 633,
2215 633, 1887, 1890, 625, 1888, 162, 162, 626, 1891, 629,
2216 1892, 1887, 631, 1893, 1888, 633, 666, 666, 666, 1894,
2217 666, 1895, 1896, 666, 974, 974, 974, 1897, 162, 165,
2218 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2219 165, 165, 165, 165, 1898, 165, 165, 165, 165, 165,
2220 626, 635, 635, 635, 1899, 1900, 641, 641, 641, 1903,
2221 636, 636, 636, 642, 642, 642, 985, 985, 985, 635,
2223 1904, 1905, 165, 165, 641, 668, 668, 668, 636, 668,
2224 1906, 642, 668, 165, 166, 166, 166, 166, 166, 166,
2225 166, 166, 166, 166, 166, 166, 166, 166, 166, 1901,
2226 166, 166, 166, 166, 166, 636, 643, 643, 643, 1907,
2227 1908, 646, 646, 646, 657, 657, 657, 1909, 1910, 647,
2228 647, 647, 1901, 643, 642, 1911, 1912, 166, 166, 646,
2229 1913, 657, 986, 986, 986, 1914, 1915, 647, 166, 175,
2230 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
2231 175, 175, 175, 175, 647, 175, 175, 175, 175, 175,
2232 662, 662, 662, 663, 663, 663, 1916, 665, 665, 665,
2234 667, 667, 667, 669, 669, 669, 986, 1917, 662, 1918,
2235 1100, 663, 175, 175, 665, 1100, 1920, 667, 1100, 1921,
2236 669, 1922, 1100, 175, 678, 678, 678, 1923, 678, 1924,
2237 1925, 678, 1021, 1021, 1021, 175, 176, 176, 176, 176,
2238 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
2239 176, 663, 176, 176, 176, 176, 176, 675, 675, 675,
2240 676, 676, 676, 1926, 677, 677, 677, 679, 679, 679,
2241 680, 680, 680, 1927, 1928, 675, 1021, 1919, 676, 176,
2242 176, 677, 682, 682, 682, 679, 1929, 1930, 680, 1931,
2243 176, 683, 683, 683, 1919, 683, 1932, 1933, 683, 682,
2245 1934, 1935, 176, 218, 687, 687, 687, 688, 688, 688,
2246 218, 1937, 689, 689, 689, 676, 690, 690, 690, 218,
2247 218, 1938, 687, 1939, 1940, 688, 1936, 1941, 680, 689,
2248 692, 692, 692, 690, 691, 691, 691, 1942, 693, 693,
2249 693, 695, 695, 695, 1936, 218, 218, 218, 692, 1943,
2250 1944, 691, 218, 1945, 1946, 218, 693, 1947, 695, 218,
2251 688, 218, 1948, 218, 696, 696, 696, 697, 697, 697,
2252 1949, 698, 698, 698, 699, 699, 699, 702, 702, 702,
2253 1950, 696, 1951, 1952, 697, 700, 700, 700, 698, 1953,
2254 691, 1954, 699, 1955, 702, 1953, 693, 703, 703, 703,
2256 1956, 703, 1957, 700, 703, 704, 704, 704, 706, 706,
2257 706, 1958, 696, 705, 705, 705, 707, 707, 707, 1959,
2258 700, 1961, 1962, 704, 1964, 706, 696, 698, 708, 708,
2259 708, 705, 1965, 707, 709, 709, 709, 710, 710, 710,
2260 715, 715, 715, 1967, 1968, 708, 1971, 716, 716, 716,
2261 1970, 1972, 709, 1973, 1974, 710, 1976, 1978, 715, 719,
2262 719, 719, 1970, 1980, 707, 716, 705, 720, 720, 720,
2263 721, 721, 721, 723, 723, 723, 1982, 719, 707, 722,
2264 722, 722, 1984, 722, 1985, 720, 722, 721, 724, 724,
2265 724, 723, 726, 726, 726, 727, 727, 727, 1986, 727,
2267 1987, 1988, 727, 1989, 1990, 710, 724, 1991, 716, 726,
2268 1993, 729, 729, 729, 730, 730, 730, 745, 745, 745,
2269 746, 746, 746, 748, 748, 748, 1995, 1997, 720, 729,
2270 1998, 1999, 730, 2000, 2013, 745, 2001, 1493, 746, 2009,
2271 1492, 748, 767, 767, 767, 2015, 724, 768, 768, 768,
2272 2010, 768, 2002, 2025, 768, 771, 771, 771, 1489, 767,
2273 773, 773, 773, 774, 774, 774, 2014, 2013, 748, 776,
2274 776, 776, 771, 2011, 2009, 730, 2016, 1488, 773, 2012,
2275 2001, 774, 778, 778, 778, 2010, 778, 776, 2015, 778,
2276 781, 781, 781, 782, 782, 782, 2002, 782, 2025, 2014,
2278 782, 783, 783, 783, 784, 784, 784, 781, 785, 785,
2279 785, 2011, 785, 771, 776, 785, 2026, 2012, 783, 2016,
2280 1487, 784, 787, 787, 787, 788, 788, 788, 790, 790,
2281 790, 793, 793, 793, 795, 795, 795, 796, 796, 796,
2282 787, 1484, 2017, 788, 2018, 2029, 790, 1472, 793, 798,
2283 798, 798, 795, 2019, 2020, 796, 799, 799, 799, 2029,
2284 799, 2026, 1464, 799, 803, 803, 803, 798, 804, 804,
2285 804, 806, 806, 806, 815, 815, 815, 2017, 815, 2018,
2286 1462, 815, 803, 2019, 2020, 790, 804, 1461, 1460, 806,
2287 821, 821, 821, 1459, 798, 822, 822, 822, 824, 824,
2289 824, 1458, 828, 828, 828, 1457, 828, 1456, 821, 828,
2290 831, 831, 831, 822, 831, 2021, 824, 831, 834, 834,
2291 834, 835, 835, 835, 2021, 835, 1455, 1447, 835, 841,
2292 841, 841, 842, 842, 842, 834, 844, 844, 844, 845,
2293 845, 845, 2023, 845, 1443, 1439, 845, 841, 2024, 2022,
2294 842, 848, 848, 848, 844, 849, 849, 849, 2022, 2030,
2295 824, 851, 851, 851, 853, 853, 853, 2027, 853, 848,
2296 2030, 853, 2023, 849, 859, 859, 859, 1438, 2024, 851,
2297 860, 860, 860, 862, 862, 862, 863, 863, 863, 864,
2298 864, 864, 859, 864, 1437, 1436, 864, 2027, 860, 2028,
2300 844, 862, 1435, 863, 865, 865, 865, 866, 866, 866,
2301 1434, 866, 1433, 1427, 866, 868, 868, 868, 869, 869,
2302 869, 865, 873, 873, 873, 851, 871, 871, 871, 2028,
2303 874, 874, 874, 868, 874, 1426, 869, 874, 1425, 873,
2304 862, 877, 877, 877, 871, 878, 878, 878, 1424, 878,
2305 1423, 1422, 878, 880, 880, 880, 1421, 1420, 877, 881,
2306 881, 881, 883, 883, 883, 885, 885, 885, 1419, 885,
2307 1418, 880, 885, 888, 888, 888, 1412, 881, 1409, 1407,
2308 883, 889, 889, 889, 891, 891, 891, 892, 892, 892,
2309 871, 888, 1405, 893, 893, 893, 1400, 893, 1386, 889,
2311 893, 1384, 891, 1383, 892, 896, 896, 896, 897, 897,
2312 897, 1373, 897, 1371, 1364, 897, 898, 898, 898, 899,
2313 899, 899, 896, 883, 901, 901, 901, 903, 903, 903,
2314 906, 906, 906, 1361, 898, 1360, 1357, 899, 907, 907,
2315 907, 891, 901, 1356, 903, 909, 909, 909, 906, 912,
2316 912, 912, 913, 913, 913, 1353, 907, 915, 915, 915,
2317 919, 919, 919, 909, 916, 916, 916, 912, 916, 1347,
2318 913, 916, 920, 920, 920, 915, 1341, 1335, 919, 922,
2319 922, 922, 1332, 901, 924, 924, 924, 1330, 924, 1325,
2320 920, 924, 928, 928, 928, 1324, 1323, 922, 929, 929,
2322 929, 1322, 1321, 909, 931, 931, 931, 1320, 915, 1319,
2323 928, 933, 933, 933, 1318, 1317, 929, 940, 940, 940,
2324 1316, 1312, 931, 958, 958, 958, 967, 967, 967, 933,
2325 933, 962, 962, 962, 1311, 940, 922, 959, 959, 959,
2326 958, 959, 1308, 967, 959, 1307, 964, 964, 964, 962,
2327 964, 1305, 1302, 964, 968, 968, 968, 1298, 968, 1297,
2328 1294, 968, 931, 969, 969, 969, 1293, 969, 1288, 1273,
2329 969, 973, 973, 973, 976, 976, 976, 1271, 962, 1270,
2330 940, 977, 977, 977, 1269, 977, 1262, 1260, 977, 973,
2331 1255, 976, 978, 978, 978, 979, 979, 979, 981, 981,
2333 981, 991, 991, 991, 992, 992, 992, 1253, 1250, 978,
2334 994, 994, 994, 979, 1249, 1248, 981, 1246, 991, 973,
2335 1244, 992, 995, 995, 995, 1071, 1071, 1071, 994, 996,
2336 996, 996, 997, 997, 997, 1239, 998, 998, 998, 995,
2337 998, 1232, 979, 998, 1223, 1222, 996, 1221, 992, 997,
2338 1001, 1001, 1001, 1002, 1002, 1002, 1216, 1003, 1003, 1003,
2339 1213, 1004, 1004, 1004, 1005, 1005, 1005, 1001, 1212, 1206,
2340 1002, 1204, 1203, 994, 1003, 1202, 1200, 997, 1004, 1199,
2341 1196, 1005, 1006, 1006, 1006, 1007, 1007, 1007, 1011, 1011,
2342 1011, 1195, 996, 1012, 1012, 1012, 1193, 1013, 1013, 1013,
2344 1006, 1013, 1003, 1007, 1013, 1011, 1016, 1016, 1016, 1192,
2345 1016, 1012, 1191, 1016, 1190, 1020, 1020, 1020, 1004, 1188,
2346 1002, 1022, 1022, 1022, 1186, 1022, 1181, 1180, 1022, 1179,
2347 1177, 1005, 1011, 1020, 1027, 1027, 1027, 1176, 1027, 1175,
2348 1174, 1027, 1171, 1163, 1006, 1158, 1156, 1012, 1007, 1031,
2349 1031, 1031, 1033, 1033, 1033, 1034, 1034, 1034, 1155, 1034,
2350 1151, 1146, 1034, 1141, 1039, 1039, 1039, 1031, 1039, 1139,
2351 1033, 1039, 1042, 1042, 1042, 1044, 1044, 1044, 1020, 1045,
2352 1045, 1045, 1137, 1045, 1134, 1133, 1045, 1048, 1048, 1048,
2353 1042, 1132, 1044, 1050, 1050, 1050, 1051, 1051, 1051, 1118,
2355 1052, 1052, 1052, 1117, 1112, 1048, 1033, 1031, 1106, 1105,
2356 1050, 1054, 1054, 1054, 1051, 1104, 1097, 1042, 1052, 1055,
2357 1055, 1055, 1058, 1058, 1058, 1065, 1065, 1065, 1054, 1072,
2358 1072, 1072, 1094, 1090, 1048, 1088, 1087, 1055, 1083, 1081,
2359 1058, 1080, 1077, 1065, 1076, 1076, 1076, 1078, 1078, 1078,
2360 1052, 1079, 1079, 1079, 1082, 1082, 1082, 1084, 1084, 1084,
2361 1051, 1084, 1075, 1074, 1084, 1089, 1089, 1089, 1095, 1095,
2362 1095, 1058, 1091, 1091, 1091, 1065, 1091, 1073, 1055, 1091,
2363 1096, 1096, 1096, 1089, 1070, 1069, 1095, 1058, 1068, 1098,
2364 1098, 1098, 1067, 1098, 1066, 1079, 1098, 1064, 1082, 1101,
2366 1101, 1101, 1102, 1102, 1102, 1063, 1102, 1060, 1078, 1102,
2367 1103, 1103, 1103, 1057, 1089, 1053, 1101, 1107, 1107, 1107,
2368 1108, 1108, 1108, 1109, 1109, 1109, 1095, 1049, 1103, 1110,
2369 1110, 1110, 1111, 1111, 1111, 1113, 1113, 1113, 1114, 1114,
2370 1114, 1047, 1114, 1046, 1043, 1114, 1115, 1115, 1115, 1116,
2371 1116, 1116, 1113, 1116, 1038, 1037, 1116, 1032, 1030, 1103,
2372 1119, 1119, 1119, 1115, 1120, 1120, 1120, 1121, 1121, 1121,
2373 1026, 1121, 1025, 1019, 1121, 1122, 1122, 1122, 1119, 1010,
2374 1009, 1120, 1008, 993, 1109, 1123, 1123, 1123, 990, 989,
2375 1110, 988, 1122, 1111, 1124, 1124, 1124, 1125, 1125, 1125,
2377 987, 1125, 1123, 984, 1125, 1126, 1126, 1126, 1127, 1127,
2378 1127, 1124, 983, 1128, 1128, 1128, 1129, 1129, 1129, 1130,
2379 1130, 1130, 1126, 980, 975, 1127, 1131, 1131, 1131, 972,
2380 1128, 963, 961, 1129, 1135, 1135, 1135, 1130, 1136, 1136,
2381 1136, 960, 1136, 957, 1131, 1136, 1123, 1138, 1138, 1138,
2382 956, 1135, 1140, 1140, 1140, 1142, 1142, 1142, 955, 1143,
2383 1143, 1143, 954, 1127, 1128, 1138, 1144, 1144, 1144, 953,
2384 1140, 952, 1142, 951, 949, 1131, 1143, 1145, 1145, 1145,
2385 948, 945, 1130, 1144, 1147, 1147, 1147, 1148, 1148, 1148,
2386 1149, 1149, 1149, 944, 943, 1145, 1150, 1150, 1150, 942,
2388 941, 1140, 1147, 939, 1148, 938, 937, 1149, 1152, 1152,
2389 1152, 936, 1152, 927, 1150, 1152, 1157, 1157, 1157, 1159,
2390 1159, 1159, 1160, 1160, 1160, 923, 1160, 1144, 1147, 1160,
2391 1161, 1161, 1161, 911, 1157, 910, 1159, 1162, 1162, 1162,
2392 905, 1145, 1164, 1164, 1164, 1165, 1165, 1165, 1161, 1165,
2393 904, 902, 1165, 895, 894, 1162, 884, 879, 1150, 1164,
2394 1166, 1166, 1166, 876, 875, 1157, 1172, 1172, 1172, 1173,
2395 1173, 1173, 1178, 1178, 1178, 1182, 1182, 1182, 1166, 1183,
2396 1183, 1183, 872, 1172, 867, 858, 1161, 1173, 857, 856,
2397 1162, 1184, 1184, 1184, 1185, 1185, 1185, 1187, 1187, 1187,
2399 1189, 1189, 1189, 1194, 1194, 1194, 1197, 1197, 1197, 1198,
2400 1198, 1198, 1207, 1207, 1207, 852, 1207, 840, 839, 1207,
2401 838, 1194, 837, 836, 1197, 827, 1198, 1173, 1210, 1210,
2402 1210, 1211, 1211, 1211, 1214, 1214, 1214, 1215, 1215, 1215,
2403 1217, 1217, 1217, 826, 1217, 825, 1210, 1217, 1211, 1220,
2404 1220, 1220, 820, 1220, 819, 818, 1220, 1224, 1224, 1224,
2405 814, 813, 1197, 1225, 1225, 1225, 1227, 1227, 1227, 812,
2406 1227, 811, 1210, 1227, 1224, 1230, 1230, 1230, 1231, 1231,
2407 1231, 1225, 1231, 810, 809, 1231, 1233, 1233, 1233, 808,
2408 1233, 807, 1230, 1233, 1236, 1236, 1236, 1237, 1237, 1237,
2410 802, 1237, 794, 792, 1237, 1238, 1238, 1238, 1240, 1240,
2411 1240, 1236, 1241, 1241, 1241, 786, 1241, 777, 772, 1241,
2412 765, 764, 1238, 762, 761, 1240, 1242, 1242, 1242, 1243,
2413 1243, 1243, 1245, 1245, 1245, 1247, 1247, 1247, 760, 1247,
2414 759, 757, 1247, 756, 1242, 755, 754, 1243, 753, 1245,
2415 1251, 1251, 1251, 1254, 1254, 1254, 1256, 1256, 1256, 1257,
2416 1257, 1257, 752, 1257, 751, 750, 1257, 744, 1251, 743,
2417 742, 1254, 739, 1256, 738, 1242, 1245, 1258, 1258, 1258,
2418 1259, 1259, 1259, 737, 1259, 735, 731, 1259, 728, 725,
2419 1243, 1261, 1261, 1261, 1258, 1263, 1263, 1263, 1264, 1264,
2421 1264, 1265, 1265, 1265, 718, 1265, 717, 714, 1265, 1261,
2422 1266, 1266, 1266, 1263, 713, 1264, 1267, 1267, 1267, 712,
2423 1267, 711, 701, 1267, 1279, 1279, 1279, 1266, 1268, 1268,
2424 1268, 1272, 1272, 1272, 1274, 1274, 1274, 694, 1274, 686,
2425 685, 1274, 1263, 1277, 1277, 1277, 1268, 684, 681, 1272,
2426 1278, 1278, 1278, 674, 1261, 1280, 1280, 1280, 673, 1280,
2427 672, 1277, 1280, 1283, 1283, 1283, 671, 670, 1278, 1289,
2428 1289, 1289, 1290, 1290, 1290, 661, 1290, 660, 659, 1290,
2429 656, 1283, 1291, 1291, 1291, 655, 1289, 1292, 1292, 1292,
2430 1268, 654, 1277, 1272, 1295, 1295, 1295, 1296, 1296, 1296,
2432 1291, 1278, 1299, 1299, 1299, 1300, 1300, 1300, 1301, 1301,
2433 1301, 1303, 1303, 1303, 1304, 1304, 1304, 1306, 1306, 1306,
2434 1309, 1309, 1309, 1313, 1313, 1313, 652, 1314, 1314, 1314,
2435 1315, 1315, 1315, 651, 1315, 650, 649, 1315, 1309, 645,
2436 640, 1313, 639, 1291, 1314, 1326, 1326, 1326, 1327, 1327,
2437 1327, 1328, 1328, 1328, 638, 1328, 637, 634, 1328, 1329,
2438 1329, 1329, 632, 1326, 628, 1327, 1331, 1331, 1331, 1336,
2439 1336, 1336, 1337, 1337, 1337, 624, 1337, 623, 620, 1337,
2440 1338, 1338, 1338, 619, 1338, 618, 1336, 1338, 617, 1342,
2441 1342, 1342, 1326, 1342, 615, 614, 1342, 1345, 1345, 1345,
2443 1346, 1346, 1346, 613, 1346, 612, 611, 1346, 1348, 1348,
2444 1348, 610, 1348, 609, 1345, 1348, 1351, 1351, 1351, 1352,
2445 1352, 1352, 1354, 1354, 1354, 1355, 1355, 1355, 608, 1355,
2446 607, 606, 1355, 605, 1351, 604, 600, 1352, 599, 1354,
2447 1362, 1362, 1362, 1365, 1365, 1365, 597, 1365, 596, 595,
2448 1365, 594, 1368, 1368, 1368, 593, 1368, 589, 1362, 1368,
2449 1372, 1372, 1372, 1374, 1374, 1374, 1375, 1375, 1375, 587,
2450 1375, 586, 585, 1375, 1381, 1381, 1381, 1351, 1372, 584,
2451 579, 1374, 1378, 1378, 1378, 575, 1378, 574, 571, 1378,
2452 570, 569, 1381, 1382, 1382, 1382, 1385, 1385, 1385, 1387,
2454 1387, 1387, 1388, 1388, 1388, 1389, 1389, 1389, 1381, 1372,
2455 1382, 1390, 1390, 1390, 1385, 568, 567, 1387, 566, 563,
2456 1388, 1393, 1393, 1393, 562, 561, 1374, 560, 557, 1390,
2457 1394, 1394, 1394, 555, 1394, 552, 551, 1394, 550, 1397,
2458 1397, 1397, 1398, 1398, 1398, 1399, 1399, 1399, 1401, 1401,
2459 1401, 1402, 1402, 1402, 549, 548, 1387, 1397, 1385, 1403,
2460 1403, 1403, 1404, 1404, 1404, 1406, 1406, 1406, 1408, 1408,
2461 1408, 1411, 1411, 1411, 1413, 1413, 1413, 1415, 1415, 1415,
2462 545, 1415, 544, 543, 1415, 1428, 1428, 1428, 1411, 1429,
2463 1429, 1429, 1413, 1429, 542, 1397, 1429, 1432, 1432, 1432,
2465 1440, 1440, 1440, 1428, 1440, 541, 538, 1440, 1444, 1444,
2466 1444, 537, 1444, 536, 535, 1444, 1448, 1448, 1448, 1449,
2467 1449, 1449, 1451, 1451, 1451, 1452, 1452, 1452, 533, 1452,
2468 530, 526, 1452, 525, 1448, 524, 523, 1449, 522, 1451,
2469 1463, 1463, 1463, 1428, 1465, 1465, 1465, 1466, 1466, 1466,
2470 1467, 1467, 1467, 1468, 1468, 1468, 1469, 1469, 1469, 1473,
2471 1473, 1473, 1465, 521, 1466, 520, 1451, 517, 1467, 514,
2472 513, 1468, 512, 1469, 1470, 1470, 1470, 1473, 1470, 511,
2473 509, 1470, 1471, 1471, 1471, 1474, 1474, 1474, 1475, 1475,
2474 1475, 1476, 1476, 1476, 1478, 1478, 1478, 504, 502, 1471,
2476 1481, 1481, 1481, 1482, 1482, 1482, 1475, 1467, 501, 1476,
2477 500, 1468, 1478, 1483, 1483, 1483, 1485, 1485, 1485, 499,
2478 498, 1482, 1486, 1486, 1486, 1490, 1490, 1490, 1491, 1491,
2479 1491, 497, 1491, 493, 492, 1491, 1503, 1503, 1503, 1510,
2480 1510, 1510, 1490, 1513, 1513, 1513, 1515, 1515, 1515, 491,
2481 490, 1475, 486, 1478, 1503, 485, 1510, 484, 1516, 1516,
2482 1516, 1513, 1516, 1515, 483, 1516, 1524, 1524, 1524, 1526,
2483 1526, 1526, 1528, 1528, 1528, 1530, 1530, 1530, 1531, 1531,
2484 1531, 482, 1531, 1524, 480, 1531, 1532, 1532, 1532, 477,
2485 1528, 476, 1530, 1503, 1533, 1533, 1533, 474, 1534, 1534,
2487 1534, 472, 1534, 468, 1532, 1534, 1537, 1537, 1537, 1538,
2488 1538, 1538, 1533, 1538, 466, 464, 1538, 1539, 1539, 1539,
2489 1540, 1540, 1540, 1537, 1542, 1542, 1542, 1543, 1543, 1543,
2490 1547, 1547, 1547, 461, 1539, 1552, 1552, 1552, 1540, 1553,
2491 1553, 1553, 460, 1553, 458, 1543, 1553, 457, 1547, 1567,
2492 1567, 1567, 1552, 1572, 1572, 1572, 456, 455, 1533, 1573,
2493 1573, 1573, 454, 1573, 451, 450, 1573, 1567, 449, 448,
2494 1572, 1576, 1576, 1576, 447, 1576, 441, 440, 1576, 1584,
2495 1584, 1584, 1585, 1585, 1585, 438, 1585, 432, 431, 1585,
2496 1586, 1586, 1586, 1587, 1587, 1587, 1584, 1588, 1588, 1588,
2498 427, 1588, 423, 419, 1588, 415, 1567, 1586, 409, 405,
2499 1587, 1591, 1591, 1591, 1593, 1593, 1593, 1594, 1594, 1594,
2500 401, 1594, 397, 396, 1594, 1597, 1597, 1597, 395, 1591,
2501 394, 390, 1593, 1598, 1598, 1598, 386, 1598, 383, 382,
2502 1598, 381, 1597, 1599, 1599, 1599, 1604, 1604, 1604, 1607,
2503 1607, 1607, 1608, 1608, 1608, 377, 1608, 371, 370, 1608,
2504 366, 1599, 1624, 1624, 1624, 362, 1607, 1625, 1625, 1625,
2505 1626, 1626, 1626, 358, 1627, 1627, 1627, 1593, 1627, 357,
2506 1624, 1627, 1633, 1633, 1633, 353, 350, 1626, 1635, 1635,
2507 1635, 349, 1635, 344, 340, 1635, 1638, 1638, 1638, 1633,
2509 1639, 1639, 1639, 332, 1639, 331, 330, 1639, 1640, 1640,
2510 1640, 1624, 326, 1638, 1626, 1641, 1641, 1641, 320, 1641,
2511 316, 309, 1641, 307, 306, 1640, 1648, 1648, 1648, 1649,
2512 1649, 1649, 301, 1649, 294, 293, 1649, 1654, 1654, 1654,
2513 1655, 1655, 1655, 292, 1648, 1658, 1658, 1658, 291, 1658,
2514 290, 286, 1658, 282, 1654, 1654, 1665, 1665, 1665, 1674,
2515 1674, 1674, 1675, 1675, 1675, 1676, 1676, 1676, 1682, 1682,
2516 1682, 276, 274, 1665, 269, 1648, 268, 1674, 264, 1677,
2517 1677, 1677, 1676, 1677, 258, 1682, 1677, 1683, 1683, 1683,
2518 257, 1683, 256, 252, 1683, 1685, 1685, 1685, 244, 1685,
2520 242, 241, 1685, 1688, 1688, 1688, 1674, 1688, 237, 234,
2521 1688, 1697, 1697, 1697, 1699, 1699, 1699, 1700, 1700, 1700,
2522 1701, 1701, 1701, 232, 1701, 231, 230, 1701, 226, 1697,
2523 223, 1699, 1699, 222, 1700, 1700, 219, 215, 1701, 1702,
2524 1702, 1702, 1703, 1703, 1703, 1708, 1708, 1708, 1709, 1709,
2525 1709, 211, 1709, 207, 206, 1709, 1718, 1718, 1718, 1719,
2526 1719, 1719, 1708, 1719, 205, 199, 1719, 1724, 1724, 1724,
2527 1725, 1725, 1725, 198, 1718, 1726, 1726, 1726, 196, 1726,
2528 193, 181, 1726, 0, 1724, 0, 0, 1725, 1729, 1729,
2529 1729, 1744, 1744, 1744, 1747, 1747, 1747, 1748, 1748, 1748,
2531 0, 1748, 0, 0, 1748, 1729, 1749, 1749, 1749, 1744,
2532 1749, 1747, 1747, 1749, 0, 1748, 1752, 1752, 1752, 1718,
2533 1753, 1753, 1753, 0, 1749, 1750, 1750, 1750, 1750, 1750,
2534 1750, 1750, 1750, 1750, 0, 0, 1750, 1767, 1767, 1767,
2535 0, 1750, 1750, 1750, 1750, 1750, 1758, 1758, 1758, 0,
2536 1758, 0, 0, 1758, 0, 1767, 0, 0, 0, 0,
2537 0, 0, 1770, 1770, 1770, 1772, 1772, 1772, 1750, 1750,
2538 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1751, 1770,
2539 0, 1751, 1772, 0, 0, 0, 1751, 1751, 1751, 1751,
2540 1751, 1771, 1771, 1771, 0, 1771, 0, 0, 1771, 1773,
2542 1773, 1773, 0, 1773, 0, 0, 1773, 1774, 1774, 1774,
2543 1804, 1804, 1804, 1751, 1751, 1775, 1775, 1775, 0, 1775,
2544 0, 0, 1775, 0, 1774, 1789, 1789, 1789, 1804, 1789,
2545 0, 0, 1789, 1808, 1808, 1808, 0, 1808, 0, 0,
2546 1808, 0, 0, 1789, 1792, 1792, 1792, 1792, 1792, 1792,
2547 1792, 1792, 1792, 0, 0, 1792, 0, 0, 0, 0,
2548 1792, 1792, 1792, 1792, 1792, 1811, 1811, 1811, 0, 1811,
2549 0, 0, 1811, 1814, 1814, 1814, 0, 1814, 0, 0,
2550 1814, 0, 0, 1835, 1835, 1835, 0, 1792, 1792, 1793,
2551 1793, 1793, 1793, 1793, 1793, 1793, 1793, 1793, 0, 0,
2553 1793, 1835, 1835, 0, 0, 1793, 1793, 1793, 1793, 1793,
2554 1842, 1842, 1842, 1843, 1843, 1843, 1856, 1856, 1856, 1860,
2555 1860, 1860, 1863, 1863, 1863, 0, 0, 1842, 0, 0,
2556 1843, 0, 1793, 1793, 1856, 0, 0, 1860, 0, 1863,
2557 1864, 1864, 1864, 0, 1864, 0, 0, 1864, 1865, 1865,
2558 1865, 1866, 1866, 1866, 0, 1866, 0, 0, 1866, 1879,
2559 1879, 1879, 1883, 1883, 1883, 1865, 1883, 0, 1860, 1883,
2560 0, 1886, 1886, 1886, 0, 1886, 0, 1879, 1886, 1983,
2561 1983, 1983, 1992, 1992, 1992, 0, 1992, 0, 0, 1992,
2562 2031, 2031, 2031, 0, 1879, 0, 0, 1983, 0, 0,
2564 1992, 2032, 2032, 2032, 0, 0, 0, 0, 2031, 0,
2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 2032,
2566 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2036,
2567 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2037, 2037,
2568 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038, 2038, 2038,
2569 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039, 2039, 2039,
2570 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040, 2040, 2040,
2571 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041, 2041, 2041,
2572 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042, 2042, 2042,
2573 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043, 2043, 2043,
2575 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2576 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2046,
2577 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2047, 2047,
2578 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048, 2048, 2048,
2579 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049, 2049, 2049,
2580 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050, 2050, 2050,
2581 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051, 2051, 2051,
2582 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052, 2052, 2052,
2583 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053,
2584 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2586 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2056,
2587 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2057, 2057,
2588 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058, 2058, 2058,
2589 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059, 2059, 2059,
2590 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060, 2060, 2060,
2591 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061, 2061, 2061,
2592 2061, 2061, 2061, 2062, 2062, 2062, 2062, 2062, 2062, 2062,
2593 2062, 2062, 2063, 2063, 2063, 2063, 2063, 2063, 2063, 2063,
2594 2063, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064, 2064,
2595 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2066,
2597 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2067, 2067,
2598 2067, 2067, 2067, 2067, 2067, 2067, 2067, 2068, 2068, 2068,
2599 2068, 2068, 2068, 2068, 2068, 2068, 2069, 2069, 2069, 2069,
2600 2069, 2069, 2069, 2069, 2069, 2070, 2070, 2070, 2070, 2070,
2601 2070, 2070, 2070, 2070, 2071, 2071, 2071, 2071, 2071, 2071,
2602 2071, 2071, 2071, 2072, 2072, 2072, 2072, 2072, 2072, 2072,
2603 2072, 2072, 2073, 2073, 2073, 2073, 2073, 2073, 2073, 2073,
2604 2073, 2074, 2074, 2074, 2074, 2074, 2074, 2074, 2074, 2074,
2605 2075, 2075, 2075, 0, 0, 0, 2075, 2076, 2076, 2076,
2606 0, 0, 0, 2076, 2077, 2077, 2077, 0, 0, 0,
2608 2077, 2078, 2078, 2078, 0, 0, 0, 2078, 2079, 2079,
2609 2079, 0, 0, 0, 2079, 2080, 2080, 2080, 0, 0,
2610 0, 2080, 2081, 2081, 2081, 0, 0, 0, 2081, 2082,
2611 2082, 2082, 0, 0, 0, 2082, 2083, 2083, 2083, 0,
2612 0, 0, 2083, 2084, 2084, 2084, 0, 0, 0, 2084,
2613 2085, 2085, 2085, 0, 0, 0, 2085, 2086, 2086, 2086,
2614 0, 0, 0, 2086, 2087, 2087, 2087, 0, 0, 0,
2615 2087, 2088, 2088, 2088, 0, 0, 0, 2088, 2089, 2089,
2616 2089, 0, 0, 0, 2089, 2090, 2090, 2090, 0, 0,
2617 0, 2090, 2091, 2091, 2091, 0, 0, 0, 2091, 2092,
2619 2092, 2092, 2092, 2092, 2092, 2092, 0, 2092, 2093, 0,
2620 0, 0, 2093, 2094, 0, 0, 0, 2094, 2095, 2095,
2621 2095, 0, 0, 0, 2095, 2096, 0, 0, 0, 2096,
2622 2097, 2097, 2097, 0, 0, 0, 2097, 2098, 0, 0,
2623 0, 2098, 2099, 2099, 2099, 0, 0, 0, 2099, 2100,
2624 0, 0, 0, 2100, 2101, 0, 0, 0, 2101, 2102,
2625 0, 0, 0, 2102, 2103, 2103, 2103, 0, 0, 0,
2626 2103, 2104, 0, 0, 0, 2104, 2105, 2105, 2105, 0,
2627 0, 0, 2105, 2106, 0, 0, 0, 2106, 2107, 2107,
2628 2107, 0, 0, 0, 2107, 2108, 0, 0, 0, 2108,
2630 2109, 2109, 2109, 0, 0, 0, 2109, 2110, 0, 0,
2631 0, 2110, 2111, 2111, 2111, 0, 0, 0, 2111, 2112,
2632 0, 0, 0, 2112, 2113, 2113, 2113, 0, 0, 0,
2633 2113, 2114, 0, 0, 0, 2114, 2115, 2115, 2115, 0,
2634 0, 0, 2115, 2116, 0, 0, 0, 2116, 2117, 2117,
2635 2117, 0, 0, 0, 2117, 2118, 0, 0, 0, 2118,
2636 2119, 2119, 2119, 0, 0, 0, 2119, 2120, 0, 0,
2637 0, 2120, 2121, 2121, 2121, 0, 0, 0, 2121, 2122,
2638 0, 0, 0, 2122, 2123, 2123, 2123, 2123, 2123, 2123,
2639 2123, 2123, 2123, 2124, 0, 0, 0, 0, 2124, 2125,
2641 2125, 2125, 0, 0, 0, 2125, 2126, 2126, 2126, 2126,
2642 0, 0, 2126, 2126, 2127, 2127, 2127, 0, 0, 0,
2643 2127, 2128, 2128, 2128, 2128, 0, 0, 2128, 2128, 2129,
2644 2129, 2129, 0, 0, 0, 2129, 2130, 2130, 2130, 2130,
2645 0, 0, 2130, 2130, 2131, 2131, 2131, 0, 0, 0,
2646 2131, 2132, 2132, 2132, 2132, 0, 0, 2132, 2132, 2133,
2647 2133, 2133, 0, 0, 0, 2133, 2134, 2134, 2134, 2134,
2648 0, 0, 2134, 2134, 2135, 2135, 2135, 0, 0, 0,
2649 2135, 2136, 2136, 2136, 2136, 0, 0, 2136, 2136, 2137,
2650 2137, 2137, 0, 0, 0, 2137, 2138, 2138, 2138, 2138,
2652 0, 0, 2138, 2138, 2139, 2139, 2139, 2139, 0, 0,
2653 2139, 2139, 2140, 2140, 2140, 0, 0, 0, 2140, 2141,
2654 2141, 2141, 2141, 0, 0, 2141, 2141, 2142, 2142, 2142,
2655 2142, 0, 2142, 0, 2142, 2143, 2143, 2143, 2143, 0,
2656 0, 2143, 2143, 2144, 2144, 2144, 2144, 0, 2144, 0,
2657 2144, 2145, 2145, 2145, 2145, 0, 0, 2145, 2145, 2146,
2658 2146, 2146, 0, 0, 0, 2146, 2147, 2147, 2147, 2147,
2659 0, 0, 2147, 2147, 2148, 2148, 2148, 2148, 0, 2148,
2660 0, 2148, 2149, 2149, 2149, 2149, 0, 0, 2149, 2149,
2661 2150, 2150, 2150, 0, 0, 0, 2150, 2151, 2151, 2151,
2663 2151, 0, 0, 2151, 2151, 2152, 2152, 2152, 0, 0,
2664 0, 2152, 2153, 2153, 2153, 2153, 0, 0, 2153, 2153,
2665 2154, 2154, 2154, 2154, 0, 0, 2154, 2154, 2155, 2155,
2666 2155, 0, 0, 0, 2155, 2156, 2156, 2156, 2156, 0,
2667 0, 2156, 2156, 2157, 2157, 2157, 2157, 2157, 2157, 2157,
2668 2157, 2157, 2158, 0, 2158, 0, 0, 2158, 2159, 2159,
2669 2159, 0, 0, 0, 2159, 2160, 2160, 2160, 2160, 0,
2670 0, 2160, 2160, 2161, 2161, 2161, 2161, 0, 2161, 0,
2671 2161, 2162, 2162, 2162, 2162, 0, 0, 2162, 2162, 2163,
2672 2163, 2163, 0, 0, 0, 2163, 2164, 2164, 2164, 2164,
2674 0, 0, 2164, 2164, 2165, 2165, 2165, 0, 0, 0,
2675 2165, 2166, 2166, 2166, 2166, 0, 0, 2166, 2166, 2167,
2676 2167, 2167, 0, 0, 0, 2167, 2168, 2168, 2168, 2168,
2677 0, 0, 2168, 2168, 2169, 2169, 2169, 0, 0, 0,
2678 2169, 2170, 2170, 2170, 2170, 0, 0, 2170, 2170, 2171,
2679 2171, 2171, 0, 0, 0, 2171, 2172, 2172, 2172, 2172,
2680 0, 0, 2172, 2172, 2173, 2173, 2173, 2173, 0, 0,
2681 2173, 2173, 2174, 2174, 2174, 0, 0, 0, 2174, 2175,
2682 2175, 2175, 2175, 0, 0, 2175, 2175, 2176, 2176, 2176,
2683 0, 0, 0, 2176, 2177, 2177, 2177, 2177, 0, 0,
2685 2177, 2177, 2178, 2178, 2178, 0, 0, 0, 2178, 2179,
2686 2179, 2179, 2179, 0, 0, 2179, 2179, 2180, 2180, 2180,
2687 0, 0, 0, 2180, 2181, 2181, 2181, 2181, 0, 0,
2688 2181, 2181, 2182, 2182, 2182, 0, 0, 0, 2182, 2183,
2689 2183, 2183, 2183, 0, 0, 2183, 2183, 2184, 2184, 2184,
2690 0, 0, 0, 2184, 2185, 2185, 2185, 2185, 0, 0,
2691 2185, 2185, 2186, 2186, 2186, 0, 0, 0, 2186, 2187,
2692 2187, 2187, 2187, 0, 0, 2187, 2187, 2188, 2188, 2188,
2693 2188, 0, 0, 2188, 2188, 2189, 2189, 2189, 0, 0,
2694 0, 2189, 2190, 2190, 2190, 2190, 0, 0, 2190, 2190,
2696 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2191, 2192,
2697 2192, 2192, 2192, 2192, 2192, 2192, 2192, 2192, 2193, 2193,
2698 2193, 0, 0, 0, 2193, 2194, 2194, 2194, 2194, 0,
2699 0, 2194, 2194, 2195, 2195, 2195, 0, 0, 0, 2195,
2700 2196, 2196, 2196, 2196, 0, 0, 2196, 2196, 2197, 2197,
2701 2197, 0, 0, 0, 2197, 2198, 2198, 2198, 2198, 0,
2702 0, 2198, 2198, 2199, 2199, 2199, 0, 0, 0, 2199,
2703 2200, 2200, 2200, 2200, 0, 0, 2200, 2200, 2201, 2201,
2704 2201, 0, 0, 0, 2201, 2202, 2202, 2202, 0, 0,
2705 0, 2202, 2203, 2203, 2203, 2203, 0, 0, 2203, 2203,
2707 2204, 2204, 2204, 2204, 0, 2204, 0, 2204, 2205, 2205,
2708 2205, 2205, 0, 0, 2205, 2205, 2206, 2206, 2206, 2206,
2709 0, 0, 2206, 2206, 2207, 2207, 2207, 0, 0, 0,
2710 2207, 2208, 2208, 2208, 2208, 0, 0, 2208, 2208, 2209,
2711 2209, 2209, 0, 0, 0, 2209, 2210, 2210, 2210, 2210,
2712 0, 0, 2210, 2210, 2211, 2211, 2211, 0, 0, 0,
2713 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2714 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2715 0, 0, 2214, 2214, 2215, 2215, 2215, 0, 0, 0,
2716 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216, 2217,
2718 2217, 2217, 0, 0, 0, 2217, 2218, 2218, 2218, 2218,
2719 0, 0, 2218, 2218, 2219, 2219, 2219, 2219, 0, 2219,
2720 0, 2219, 2220, 2220, 2220, 2220, 0, 0, 2220, 2220,
2721 2221, 2221, 2221, 2221, 0, 0, 2221, 2221, 2222, 2222,
2722 2222, 2222, 0, 2222, 0, 2222, 2223, 2223, 2223, 2223,
2723 0, 0, 2223, 2223, 2224, 2224, 2224, 2224, 2224, 2224,
2724 2224, 2224, 2224, 2225, 2225, 2225, 2225, 2225, 2225, 2225,
2725 2225, 2225, 2226, 2226, 2226, 0, 0, 0, 2226, 2227,
2726 2227, 2227, 2227, 0, 0, 2227, 2227, 2228, 2228, 2228,
2727 0, 0, 0, 2228, 2229, 2229, 2229, 2229, 0, 0,
2729 2229, 2229, 2230, 2230, 2230, 0, 0, 0, 2230, 2231,
2730 2231, 2231, 2231, 0, 0, 2231, 2231, 2232, 2232, 2232,
2731 0, 0, 0, 2232, 2233, 2233, 2233, 2233, 0, 0,
2732 2233, 2233, 2234, 2234, 2234, 0, 0, 0, 2234, 2235,
2733 2235, 2235, 0, 0, 0, 2235, 2236, 2236, 2236, 2236,
2734 0, 0, 2236, 2236, 2237, 2237, 2237, 2237, 0, 2237,
2735 0, 2237, 2238, 2238, 2238, 2238, 0, 0, 2238, 2238,
2736 2239, 2239, 2239, 2239, 0, 0, 2239, 2239, 2240, 2240,
2737 2240, 0, 0, 0, 2240, 2241, 2241, 2241, 2241, 0,
2738 0, 2241, 2241, 2242, 2242, 2242, 0, 0, 0, 2242,
2740 2243, 2243, 2243, 2243, 0, 0, 2243, 2243, 2244, 2244,
2741 2244, 2244, 0, 2244, 0, 2244, 2245, 2245, 2245, 2245,
2742 0, 0, 2245, 2245, 2246, 2246, 2246, 0, 0, 0,
2743 2246, 2247, 2247, 2247, 2247, 0, 0, 2247, 2247, 2248,
2744 2248, 2248, 2248, 0, 2248, 0, 2248, 2249, 2249, 2249,
2745 2249, 0, 0, 2249, 2249, 2250, 2250, 2250, 0, 0,
2746 0, 2250, 2251, 2251, 2251, 2251, 0, 0, 2251, 2251,
2747 2252, 2252, 2252, 2252, 0, 0, 2252, 2252, 2253, 2253,
2748 2253, 2253, 0, 0, 2253, 2253, 2254, 2254, 2254, 2254,
2749 0, 0, 2254, 2254, 2255, 2255, 2255, 2255, 2255, 2255,
2751 2255, 2255, 2255, 2256, 2256, 2256, 2256, 2256, 2256, 2256,
2752 2256, 2256, 2257, 2257, 2257, 2257, 0, 2257, 0, 2257,
2753 2258, 2258, 2258, 2258, 0, 0, 2258, 2258, 2259, 2259,
2754 2259, 0, 0, 0, 2259, 2260, 2260, 2260, 2260, 0,
2755 0, 2260, 2260, 2261, 2261, 2261, 0, 0, 0, 2261,
2756 2262, 2262, 2262, 2262, 0, 0, 2262, 2262, 2263, 2263,
2757 2263, 2263, 0, 2263, 0, 2263, 2264, 2264, 2264, 2264,
2758 0, 0, 2264, 2264, 2265, 2265, 2265, 2265, 0, 2265,
2759 0, 2265, 2266, 2266, 2266, 0, 0, 0, 2266, 2267,
2760 2267, 2267, 0, 0, 0, 2267, 2268, 2268, 2268, 2268,
2762 0, 0, 2268, 2268, 2269, 2269, 2269, 2269, 0, 0,
2763 2269, 2269, 2270, 2270, 2270, 0, 0, 0, 2270, 2271,
2764 2271, 2271, 0, 0, 0, 2271, 2272, 2272, 2272, 2272,
2765 0, 0, 2272, 2272, 2273, 2273, 2273, 0, 0, 0,
2766 2273, 2274, 2274, 2274, 2274, 0, 0, 2274, 2274, 2275,
2767 2275, 2275, 0, 0, 0, 2275, 2276, 2276, 2276, 2276,
2768 0, 0, 2276, 2276, 2277, 2277, 2277, 2277, 2277, 2277,
2769 2277, 2277, 2277, 2278, 2278, 2278, 2278, 2278, 2278, 2278,
2770 2278, 2278, 2279, 2279, 2279, 2279, 2279, 2279, 2279, 2279,
2771 2279, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280, 2280,
2773 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2281, 2282,
2774 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2282, 2034, 2034,
2775 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2776 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2777 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2778 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2779 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2780 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2781 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034, 2034
2784 /* Table of booleans, true if rule could match eol. */
2785 static yyconst flex_int32_t yy_rule_can_match_eol[350] =
2787 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2788 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2789 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2790 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2791 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
2792 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
2793 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2794 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2795 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
2796 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2797 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2798 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2799 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2800 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
2801 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
2802 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
2803 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
2804 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2806 static yy_state_type yy_last_accepting_state;
2807 static char *yy_last_accepting_cpos;
2809 extern int surf_parse__flex_debug;
2810 int surf_parse__flex_debug = 0;
2812 /* The intent behind this definition is that it'll catch
2813 * any uses of REJECT which flex missed.
2815 #define REJECT reject_used_but_not_detected
2816 #define yymore() yymore_used_but_not_detected
2817 #define YY_MORE_ADJ 0
2818 #define YY_RESTORE_YY_MORE_OFFSET
2819 char *surf_parse_text;
2820 /* Validating XML processor for src/surf/simgrid.dtd.
2821 * Generated 2010/12/01 17:15:43.
2823 * This program was generated with the FleXML XML processor generator.
2824 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2825 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2826 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2828 * There are two, intertwined parts to this program, part A and part B.
2833 * Some parts, here collectively called "Part A", are found in the
2834 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2835 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2837 * You can redistribute, use, perform, display and/or modify "Part A"
2838 * provided the following two conditions hold:
2840 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2841 * FleXML; without even the implied warranty of MERCHANTABILITY or
2842 * FITNESS FOR A PARTICULAR PURPOSE.
2844 * 2. The program distribution conditions do not in any way affect the
2845 * distribution conditions of the FleXML system used to generate this
2846 * file or any version of FleXML derived from that system.
2848 * Notice that these are explicit rights granted to you for files
2849 * generated by the FleXML system. For your rights in connection with
2850 * the FleXML system itself please consult the GNU General Public License.
2855 * The other parts, here collectively called "Part B", and which came
2856 * from the DTD used by FleXML to generate this program, can be
2857 * distributed (or not, as the case may be) under the terms of whoever
2858 * wrote them, provided these terms respect and obey the two conditions
2859 * above under the heading "Part A".
2861 * The author of and contributors to FleXML specifically disclaim
2862 * any copyright interest in "Part B", unless "Part B" was written
2863 * by the author of or contributors to FleXML.
2867 /* Version strings. */
2868 const char rcs_surfxml_flexml_skeleton[] =
2869 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2870 const char rcs_surfxml_flexml[] =
2871 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2874 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2881 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2882 # ifndef __STRICT_ANSI__
2884 # include <process.h>
2887 # include <unistd.h>
2890 #ifndef FLEXML_INDEXSTACKSIZE
2891 #define FLEXML_INDEXSTACKSIZE 1000
2894 /* Generated definitions. */
2895 #define FLEXML_yylineno
2896 #ifndef FLEXML_BUFFERSTACKSIZE
2897 #define FLEXML_BUFFERSTACKSIZE 1000000
2899 #define FLEXML_NEED_BUFFERLIT
2901 /* XML processor api. */
2902 /* FleXML-provided data. */
2903 int surfxml_pcdata_ix;
2904 extern char *surfxml_bufferstack;
2905 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2906 AT_surfxml_random_generator AX_surfxml_random_generator;
2907 #define A_surfxml_random_generator AX_surfxml_random_generator
2908 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
2909 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
2910 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
2911 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
2912 AT_surfxml_prop_id AX_surfxml_prop_id;
2913 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2914 AT_surfxml_host_id AX_surfxml_host_id;
2915 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2916 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
2917 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
2918 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2919 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2920 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
2921 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
2922 AT_surfxml_host_state AX_surfxml_host_state;
2923 #define A_surfxml_host_state AX_surfxml_host_state
2924 AT_surfxml_AS_id AX_surfxml_AS_id;
2925 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
2926 AT_surfxml_host_power AX_surfxml_host_power;
2927 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2928 AT_surfxml_router_id AX_surfxml_router_id;
2929 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2930 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2931 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2932 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2933 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2934 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
2935 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
2936 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2937 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2938 AT_surfxml_trace_file AX_surfxml_trace_file;
2939 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2940 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2941 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2942 AT_surfxml_random_min AX_surfxml_random_min;
2943 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2944 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
2945 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
2946 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2947 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2948 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2949 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2950 AT_surfxml_argument_value AX_surfxml_argument_value;
2951 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2952 AT_surfxml_link_state AX_surfxml_link_state;
2953 #define A_surfxml_link_state AX_surfxml_link_state
2954 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
2955 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
2956 AT_surfxml_AS_routing AX_surfxml_AS_routing;
2957 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
2958 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2959 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2960 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2961 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2962 AT_surfxml_random_mean AX_surfxml_random_mean;
2963 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2964 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2965 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2966 AT_surfxml_link_latency AX_surfxml_link_latency;
2967 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2968 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
2969 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
2970 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2971 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2972 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2973 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2974 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
2975 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
2976 AT_surfxml_random_id AX_surfxml_random_id;
2977 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2978 AT_surfxml_random_max AX_surfxml_random_max;
2979 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2980 AT_surfxml_link_id AX_surfxml_link_id;
2981 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2982 AT_surfxml_process_host AX_surfxml_process_host;
2983 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2984 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2985 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2986 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2987 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2988 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2989 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2990 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
2991 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
2992 AT_surfxml_prop_value AX_surfxml_prop_value;
2993 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2994 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
2995 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
2996 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2997 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2998 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
2999 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3000 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3001 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3002 AT_surfxml_process_function AX_surfxml_process_function;
3003 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3004 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3005 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3006 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3007 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3008 AT_surfxml_host_availability AX_surfxml_host_availability;
3009 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3010 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3011 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3012 AT_surfxml_route_src AX_surfxml_route_src;
3013 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3014 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3015 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3016 AT_surfxml_trace_id AX_surfxml_trace_id;
3017 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3018 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3019 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3020 AT_surfxml_config_id AX_surfxml_config_id;
3021 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3022 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3023 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3024 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3025 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3026 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3027 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3028 AT_surfxml_route_dst AX_surfxml_route_dst;
3029 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3030 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3031 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3032 AT_surfxml_platform_version AX_surfxml_platform_version;
3033 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3037 # define ENTER(state) debug_enter(state,#state)
3038 # define LEAVE debug_leave()
3039 # define SET(state) debug_set(state,#state)
3040 static void debug_enter(int, const char*);
3041 static void debug_leave(void);
3042 static void debug_set(int, const char*);
3044 # define ENTER(state) (yy_push_state(state))
3045 # define LEAVE (yy_pop_state())
3046 # define SET(state) BEGIN(state)
3049 /* Generic actions. */
3050 #define SKIP /*skip*/
3051 #define SUCCEED CLEANUP; return 0
3053 #define FAIL return fail
3054 static int fail(const char*, ...);
3056 enum {flexml_max_err_msg_size = 512};
3057 static char flexml_err_msg[flexml_max_err_msg_size];
3058 const char * surfxml_parse_err_msg()
3060 return flexml_err_msg;
3062 static void reset_surfxml_parse_err_msg()
3064 flexml_err_msg[0] = '\0';
3068 static void cleanup(void);
3069 #define CLEANUP cleanup()
3071 /* Text buffer stack handling. */
3072 char *surfxml_bufferstack = NULL;
3073 static int blimit = FLEXML_BUFFERSTACKSIZE;
3074 static int bnext = 1;
3076 static int *indexstack = NULL;
3077 static int ilimit = FLEXML_INDEXSTACKSIZE;
3078 static int inext = 1;
3080 #define BUFFERSET(P) (P = bnext)
3081 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3082 #define BUFFERDONE (BUFFERPUTC('\0'))
3084 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3086 /* after this is called, there are at least 2 slots left in the stack */
3087 static int ck_blimit()
3089 if (bnext >= blimit) {
3090 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3092 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3094 surfxml_bufferstack = temp;
3100 /* after this is called, there are at least 2 slots left in the stack */
3101 static int ck_ilimit()
3103 if (inext >= ilimit) {
3104 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3106 int *temp = (int *) realloc(indexstack, ilimit);
3114 #ifdef FLEXML_NEED_BUFFERLIT
3115 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3117 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3118 assert(s <= e); BUFFERSET(*pp);
3120 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3121 else BUFFERPUTC(*s);
3127 static void pushbuffer(int p)
3130 indexstack[inext++] = p;
3131 indexstack[inext++] = bnext;
3134 static int popbuffer(void)
3137 bnext = indexstack[--inext];
3138 return indexstack[--inext];
3141 /* General internal entities are `unput' back onto the input stream... */
3142 #define ENTITYTEXT(T) \
3143 { char *s = (T), *e = s+strlen(s);\
3144 while (--e >= s) { unput(*e); }}
3146 /* Flex standard options. */
3147 #define YY_NO_INPUT 1
3148 /* Flex user-requested options. */
3149 /* XML character classes (currently restricted to ASCII). */
3150 /* "Common syntactic structures." */
3151 /* "Names and Tokens." */
3152 /* Miscellaneous. */
3153 /* Parser states (flex `exclusive start conditions'):
3155 * PROLOG the XML prolog of the document before <?xml...>
3156 * DOCTYPE the XML prolog of the document after <?xml...>
3157 * EPILOG after the root element
3158 * INCOMMENT inside an XML comment <!--....-->
3159 * INPI inside an XML PI <?...?>
3160 * VALUE1 inside a '...'-delimited literal
3161 * VALUE2 inside a "..."-delimited literal
3162 * CDATA inside a <![CDATA[...] ]> section.
3163 * ROOT_<tag> expect root element <tag>
3164 * AL_<tag> inside the attribute list for <tag>
3165 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3166 * IMPOSSIBLE dummy to permit disabling rules; must be last
3170 const char* *surfxml_statenames=NULL;
3181 #define ROOT_surfxml_platform 9
3182 #define AL_surfxml_platform 10
3183 #define S_surfxml_platform 11
3184 #define S_surfxml_platform_1 12
3185 #define S_surfxml_platform_2 13
3186 #define S_surfxml_platform_3 14
3187 #define S_surfxml_platform_4 15
3188 #define S_surfxml_platform_5 16
3189 #define S_surfxml_platform_6 17
3190 #define E_surfxml_platform 18
3191 #define AL_surfxml_trace 19
3193 #define AL_surfxml_random 21
3194 #define S_surfxml_random 22
3195 #define S_surfxml_random_1 23
3196 #define S_surfxml_random_2 24
3197 #define E_surfxml_random 25
3198 #define AL_surfxml_trace_connect 26
3199 #define E_surfxml_trace_connect 27
3200 #define AL_surfxml_AS 28
3201 #define S_surfxml_AS 29
3202 #define S_surfxml_AS_1 30
3203 #define S_surfxml_AS_2 31
3204 #define S_surfxml_AS_3 32
3205 #define S_surfxml_AS_4 33
3206 #define S_surfxml_AS_5 34
3207 #define S_surfxml_AS_6 35
3208 #define S_surfxml_AS_7 36
3209 #define S_surfxml_AS_8 37
3210 #define S_surfxml_AS_9 38
3211 #define S_surfxml_AS_10 39
3212 #define S_surfxml_AS_11 40
3213 #define S_surfxml_AS_12 41
3214 #define S_surfxml_AS_13 42
3215 #define E_surfxml_AS 43
3216 #define AL_surfxml_host 44
3217 #define S_surfxml_host 45
3218 #define S_surfxml_host_1 46
3219 #define S_surfxml_host_2 47
3220 #define E_surfxml_host 48
3221 #define AL_surfxml_cluster 49
3222 #define E_surfxml_cluster 50
3223 #define AL_surfxml_router 51
3224 #define E_surfxml_router 52
3225 #define AL_surfxml_link 53
3226 #define S_surfxml_link 54
3227 #define S_surfxml_link_1 55
3228 #define S_surfxml_link_2 56
3229 #define E_surfxml_link 57
3230 #define AL_surfxml_route 58
3231 #define S_surfxml_route 59
3232 #define S_surfxml_route_1 60
3233 #define S_surfxml_route_2 61
3234 #define E_surfxml_route 62
3235 #define AL_surfxml_ASroute 63
3236 #define S_surfxml_ASroute 64
3237 #define S_surfxml_ASroute_1 65
3238 #define S_surfxml_ASroute_2 66
3239 #define E_surfxml_ASroute 67
3240 #define AL_surfxml_link_ctn 68
3241 #define E_surfxml_link_ctn 69
3242 #define AL_surfxml_bypassRoute 70
3243 #define S_surfxml_bypassRoute 71
3244 #define S_surfxml_bypassRoute_1 72
3245 #define S_surfxml_bypassRoute_2 73
3246 #define E_surfxml_bypassRoute 74
3247 #define AL_surfxml_process 75
3248 #define S_surfxml_process 76
3249 #define S_surfxml_process_1 77
3250 #define S_surfxml_process_2 78
3251 #define E_surfxml_process 79
3252 #define AL_surfxml_argument 80
3253 #define E_surfxml_argument 81
3254 #define AL_surfxml_config 82
3255 #define S_surfxml_config 83
3256 #define S_surfxml_config_1 84
3257 #define S_surfxml_config_2 85
3258 #define E_surfxml_config 86
3259 #define AL_surfxml_prop 87
3260 #define E_surfxml_prop 88
3261 #define IMPOSSIBLE 89
3263 #ifndef YY_NO_UNISTD_H
3264 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3265 * down here because we want the user's section 1 to have been scanned first.
3266 * The user has a chance to override it with an option.
3268 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3269 # ifndef __STRICT_ANSI__
3271 # include <process.h>
3274 # include <unistd.h>
3278 #ifndef YY_EXTRA_TYPE
3279 #define YY_EXTRA_TYPE void *
3282 static int yy_init_globals (void );
3284 /* Accessor methods to globals.
3285 These are made visible to non-reentrant scanners for convenience. */
3287 int surf_parse_lex_destroy (void );
3289 int surf_parse_get_debug (void );
3291 void surf_parse_set_debug (int debug_flag );
3293 YY_EXTRA_TYPE surf_parse_get_extra (void );
3295 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3297 FILE *surf_parse_get_in (void );
3299 void surf_parse_set_in (FILE * in_str );
3301 FILE *surf_parse_get_out (void );
3303 void surf_parse_set_out (FILE * out_str );
3305 int surf_parse_get_leng (void );
3307 char *surf_parse_get_text (void );
3309 int surf_parse_get_lineno (void );
3311 void surf_parse_set_lineno (int line_number );
3313 /* Macros after this point can all be overridden by user definitions in
3317 #ifndef YY_SKIP_YYWRAP
3319 extern "C" int surf_parse_wrap (void );
3321 extern int surf_parse_wrap (void );
3326 static void yy_flex_strncpy (char *,yyconst char *,int );
3329 #ifdef YY_NEED_STRLEN
3330 static int yy_flex_strlen (yyconst char * );
3336 static int yyinput (void );
3338 static int input (void );
3343 static int yy_start_stack_ptr = 0;
3344 static int yy_start_stack_depth = 0;
3345 static int *yy_start_stack = NULL;
3347 static void yy_push_state (int new_state );
3349 static void yy_pop_state (void );
3351 /* Amount of stuff to slurp up with each read. */
3352 #ifndef YY_READ_BUF_SIZE
3354 /* On IA-64, the buffer size is 16k, not 8k */
3355 #define YY_READ_BUF_SIZE 16384
3357 #define YY_READ_BUF_SIZE 8192
3358 #endif /* __ia64__ */
3361 /* Copy whatever the last rule matched to the standard output. */
3363 /* This used to be an fputs(), but since the string might contain NUL's,
3364 * we now use fwrite().
3366 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3369 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3370 * is returned in "result".
3373 #define YY_INPUT(buf,result,max_size) \
3374 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3378 for ( n = 0; n < max_size && \
3379 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3380 buf[n] = (char) c; \
3382 buf[n++] = (char) c; \
3383 if ( c == EOF && ferror( surf_parse_in ) ) \
3384 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3390 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3392 if( errno != EINTR) \
3394 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3398 clearerr(surf_parse_in); \
3405 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3406 * we don't want an extra ';' after the "return" because that will cause
3407 * some compilers to complain about unreachable statements.
3410 #define yyterminate() return YY_NULL
3413 /* Number of entries by which start-condition stack grows. */
3414 #ifndef YY_START_STACK_INCR
3415 #define YY_START_STACK_INCR 25
3418 /* Report a fatal error. */
3419 #ifndef YY_FATAL_ERROR
3420 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3423 /* end tables serialization structures and prototypes */
3425 /* Default declaration of generated scanner - a define so the user can
3426 * easily add parameters.
3429 #define YY_DECL_IS_OURS 1
3431 extern int surf_parse_lex (void);
3433 #define YY_DECL int surf_parse_lex (void)
3434 #endif /* !YY_DECL */
3436 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3439 #ifndef YY_USER_ACTION
3440 #define YY_USER_ACTION
3443 /* Code executed at the end of each rule. */
3445 #define YY_BREAK break;
3448 #define YY_RULE_SETUP \
3451 /** The main scanner function which does all the work.
3455 register yy_state_type yy_current_state;
3456 register char *yy_cp, *yy_bp;
3457 register int yy_act;
3459 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3461 reset_surfxml_parse_err_msg();
3462 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3463 assert(surfxml_bufferstack);
3467 for (i = 0; i < blimit; i++) {
3468 surfxml_bufferstack[i] = '\377';
3472 surfxml_bufferstack[0] = '\0';
3473 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3479 surfxml_bufferliteral('\0', &bnext, "0.0");
3480 surfxml_bufferliteral('\0', &bnext, "1.0");
3481 surfxml_bufferliteral('\0', &bnext, "0 0 0");
3482 surfxml_bufferliteral('\0', &bnext, "0.0");
3483 surfxml_bufferliteral('\0', &bnext, "-1.0");
3484 surfxml_bufferliteral('\0', &bnext, "-1.0");
3485 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3486 surfxml_statenames[PROLOG] = NULL;
3487 surfxml_statenames[DOCTYPE] = NULL;
3488 surfxml_statenames[EPILOG] = NULL;
3489 surfxml_statenames[INCOMMENT] = NULL;
3490 surfxml_statenames[INPI] = NULL;
3491 surfxml_statenames[VALUE1] = NULL;
3492 surfxml_statenames[VALUE2] = NULL;
3493 surfxml_statenames[CDATA] = NULL;
3494 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3495 surfxml_statenames[AL_surfxml_platform] = NULL;
3496 surfxml_statenames[S_surfxml_platform] = "platform";
3497 surfxml_statenames[S_surfxml_platform_1] = "platform";
3498 surfxml_statenames[S_surfxml_platform_2] = "platform";
3499 surfxml_statenames[S_surfxml_platform_3] = "platform";
3500 surfxml_statenames[S_surfxml_platform_4] = "platform";
3501 surfxml_statenames[S_surfxml_platform_5] = "platform";
3502 surfxml_statenames[S_surfxml_platform_6] = "platform";
3503 surfxml_statenames[E_surfxml_platform] = "platform";
3504 surfxml_statenames[AL_surfxml_trace] = NULL;
3505 surfxml_statenames[IN_trace] = "trace";
3506 surfxml_statenames[AL_surfxml_random] = NULL;
3507 surfxml_statenames[S_surfxml_random] = "random";
3508 surfxml_statenames[S_surfxml_random_1] = "random";
3509 surfxml_statenames[S_surfxml_random_2] = "random";
3510 surfxml_statenames[E_surfxml_random] = "random";
3511 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3512 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3513 surfxml_statenames[AL_surfxml_AS] = NULL;
3514 surfxml_statenames[S_surfxml_AS] = "AS";
3515 surfxml_statenames[S_surfxml_AS_1] = "AS";
3516 surfxml_statenames[S_surfxml_AS_2] = "AS";
3517 surfxml_statenames[S_surfxml_AS_3] = "AS";
3518 surfxml_statenames[S_surfxml_AS_4] = "AS";
3519 surfxml_statenames[S_surfxml_AS_5] = "AS";
3520 surfxml_statenames[S_surfxml_AS_6] = "AS";
3521 surfxml_statenames[S_surfxml_AS_7] = "AS";
3522 surfxml_statenames[S_surfxml_AS_8] = "AS";
3523 surfxml_statenames[S_surfxml_AS_9] = "AS";
3524 surfxml_statenames[S_surfxml_AS_10] = "AS";
3525 surfxml_statenames[S_surfxml_AS_11] = "AS";
3526 surfxml_statenames[S_surfxml_AS_12] = "AS";
3527 surfxml_statenames[S_surfxml_AS_13] = "AS";
3528 surfxml_statenames[E_surfxml_AS] = "AS";
3529 surfxml_statenames[AL_surfxml_host] = NULL;
3530 surfxml_statenames[S_surfxml_host] = "host";
3531 surfxml_statenames[S_surfxml_host_1] = "host";
3532 surfxml_statenames[S_surfxml_host_2] = "host";
3533 surfxml_statenames[E_surfxml_host] = "host";
3534 surfxml_statenames[AL_surfxml_cluster] = NULL;
3535 surfxml_statenames[E_surfxml_cluster] = "cluster";
3536 surfxml_statenames[AL_surfxml_router] = NULL;
3537 surfxml_statenames[E_surfxml_router] = "router";
3538 surfxml_statenames[AL_surfxml_link] = NULL;
3539 surfxml_statenames[S_surfxml_link] = "link";
3540 surfxml_statenames[S_surfxml_link_1] = "link";
3541 surfxml_statenames[S_surfxml_link_2] = "link";
3542 surfxml_statenames[E_surfxml_link] = "link";
3543 surfxml_statenames[AL_surfxml_route] = NULL;
3544 surfxml_statenames[S_surfxml_route] = "route";
3545 surfxml_statenames[S_surfxml_route_1] = "route";
3546 surfxml_statenames[S_surfxml_route_2] = "route";
3547 surfxml_statenames[E_surfxml_route] = "route";
3548 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3549 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3550 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3551 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3552 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3553 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3554 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3555 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3556 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3557 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3558 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3559 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3560 surfxml_statenames[AL_surfxml_process] = NULL;
3561 surfxml_statenames[S_surfxml_process] = "process";
3562 surfxml_statenames[S_surfxml_process_1] = "process";
3563 surfxml_statenames[S_surfxml_process_2] = "process";
3564 surfxml_statenames[E_surfxml_process] = "process";
3565 surfxml_statenames[AL_surfxml_argument] = NULL;
3566 surfxml_statenames[E_surfxml_argument] = "argument";
3567 surfxml_statenames[AL_surfxml_config] = NULL;
3568 surfxml_statenames[S_surfxml_config] = "config";
3569 surfxml_statenames[S_surfxml_config_1] = "config";
3570 surfxml_statenames[S_surfxml_config_2] = "config";
3571 surfxml_statenames[E_surfxml_config] = "config";
3572 surfxml_statenames[AL_surfxml_prop] = NULL;
3573 surfxml_statenames[E_surfxml_prop] = "prop";
3576 /* COMMENTS and PIs: handled uniformly for efficiency. */
3587 (yy_start) = 1; /* first start state */
3589 if ( ! surf_parse_in )
3590 surf_parse_in = stdin;
3592 if ( ! surf_parse_out )
3593 surf_parse_out = stdout;
3595 if ( ! YY_CURRENT_BUFFER ) {
3596 surf_parse_ensure_buffer_stack ();
3597 YY_CURRENT_BUFFER_LVALUE =
3598 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3601 surf_parse__load_buffer_state( );
3604 while ( 1 ) /* loops until end-of-file is reached */
3606 yy_cp = (yy_c_buf_p);
3608 /* Support of surf_parse_text. */
3609 *yy_cp = (yy_hold_char);
3611 /* yy_bp points to the position in yy_ch_buf of the start of
3616 yy_current_state = (yy_start);
3620 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3621 if ( yy_accept[yy_current_state] )
3623 (yy_last_accepting_state) = yy_current_state;
3624 (yy_last_accepting_cpos) = yy_cp;
3626 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3628 yy_current_state = (int) yy_def[yy_current_state];
3629 if ( yy_current_state >= 2035 )
3630 yy_c = yy_meta[(unsigned int) yy_c];
3632 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3635 while ( yy_base[yy_current_state] != 7119 );
3638 yy_act = yy_accept[yy_current_state];
3640 { /* have to back up */
3641 yy_cp = (yy_last_accepting_cpos);
3642 yy_current_state = (yy_last_accepting_state);
3643 yy_act = yy_accept[yy_current_state];
3646 YY_DO_BEFORE_ACTION;
3648 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3651 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3652 if ( surf_parse_text[yyl] == '\n' )
3654 surf_parse_lineno++;
3658 do_action: /* This label is used only to access EOF actions. */
3661 { /* beginning of action switch */
3662 case 0: /* must back up */
3663 /* undo the effects of YY_DO_BEFORE_ACTION */
3664 *yy_cp = (yy_hold_char);
3665 yy_cp = (yy_last_accepting_cpos);
3666 yy_current_state = (yy_last_accepting_state);
3667 goto yy_find_action;
3685 /* rule 6 can match eol */
3689 case YY_STATE_EOF(INCOMMENT):
3690 FAIL("EOF in comment.");
3699 /* rule 9 can match eol */
3703 case YY_STATE_EOF(INPI):
3704 FAIL("EOF in PI (processing instruction).");
3707 /* SPACES: skipped uniformly */
3709 /* rule 10 can match eol */
3713 /* PROLOG: determine root element and process it. */
3716 /* rule 11 can match eol */
3721 /* rule 12 can match eol */
3723 FAIL("Bad declaration %s.",surf_parse_text);
3727 /* rule 13 can match eol */
3729 SET(ROOT_surfxml_platform);
3732 /* rule 14 can match eol */
3734 FAIL("Bad declaration %s.",surf_parse_text);
3738 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3740 case YY_STATE_EOF(PROLOG):
3741 case YY_STATE_EOF(DOCTYPE):
3742 FAIL("EOF in prolog.");
3745 /* RULES DERIVED FROM DTD. */
3746 /* <!-- Small DTD for SURF based tools. --> */
3748 /* rule 16 can match eol */
3750 FAIL("Starting tag <platform> is not allowed here.");
3753 /* rule 17 can match eol */
3756 AX_surfxml_platform_version = 1;
3757 ENTER(AL_surfxml_platform); pushbuffer(0);
3762 /* rule 18 can match eol */
3764 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3767 /* rule 19 can match eol */
3769 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3774 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3780 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3782 case ROOT_surfxml_platform: SET(EPILOG); break;
3788 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3792 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3794 case YY_STATE_EOF(AL_surfxml_platform):
3795 FAIL("EOF in attribute list of `platform' element.");
3799 /* rule 24 can match eol */
3803 ETag_surfxml_platform();
3804 popbuffer(); /* attribute */
3806 case ROOT_surfxml_platform: SET(EPILOG); break;
3811 /* rule 25 can match eol */
3813 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3817 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3819 case YY_STATE_EOF(S_surfxml_platform_2):
3820 case YY_STATE_EOF(S_surfxml_platform_1):
3821 case YY_STATE_EOF(S_surfxml_platform):
3822 case YY_STATE_EOF(S_surfxml_platform_4):
3823 case YY_STATE_EOF(S_surfxml_platform_6):
3824 case YY_STATE_EOF(E_surfxml_platform):
3825 FAIL("Premature EOF: `</platform>' expected.");
3829 /* rule 27 can match eol */
3831 FAIL("Starting tag <trace> is not allowed here.");
3834 /* rule 28 can match eol */
3837 AX_surfxml_trace_id = 0;
3838 AX_surfxml_trace_file = 0;
3839 AX_surfxml_trace_periodicity = 0;
3840 ENTER(AL_surfxml_trace); pushbuffer(0);
3845 /* rule 29 can match eol */
3847 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3850 /* rule 30 can match eol */
3852 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3855 /* rule 31 can match eol */
3857 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3860 /* rule 32 can match eol */
3862 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3865 /* rule 33 can match eol */
3867 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3870 /* rule 34 can match eol */
3872 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3877 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3878 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3879 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3885 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3886 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3887 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3889 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;
3890 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3891 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3892 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3893 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;
3894 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3900 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3904 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3906 case YY_STATE_EOF(AL_surfxml_trace):
3907 FAIL("EOF in attribute list of `trace' element.");
3911 /* rule 39 can match eol */
3916 ETag_surfxml_trace();
3917 surfxml_pcdata_ix = popbuffer();
3918 popbuffer(); /* attribute */
3920 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;
3921 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
3922 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
3923 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
3924 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;
3925 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
3930 /* rule 40 can match eol */
3932 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3934 case YY_STATE_EOF(IN_trace):
3935 FAIL("Premature EOF: `</trace>' expected.");
3939 /* rule 41 can match eol */
3941 FAIL("Starting tag <random> is not allowed here.");
3944 /* rule 42 can match eol */
3947 AX_surfxml_random_id = 0;
3948 AX_surfxml_random_min = 0;
3949 AX_surfxml_random_max = 0;
3950 AX_surfxml_random_mean = 0;
3951 AX_surfxml_random_std_deviation = 0;
3952 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3953 ENTER(AL_surfxml_random); pushbuffer(0);
3958 /* rule 43 can match eol */
3960 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3963 /* rule 44 can match eol */
3965 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3968 /* rule 45 can match eol */
3970 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3973 /* rule 46 can match eol */
3975 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3978 /* rule 47 can match eol */
3980 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3983 /* rule 48 can match eol */
3985 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3988 /* rule 49 can match eol */
3990 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3993 /* rule 50 can match eol */
3995 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3998 /* rule 51 can match eol */
4000 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4003 /* rule 52 can match eol */
4005 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4008 /* rule 53 can match eol */
4010 /* rule 54 can match eol */
4012 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4015 /* rule 55 can match eol */
4017 /* rule 56 can match eol */
4019 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4024 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4025 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4026 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4027 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4028 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4029 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4035 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4036 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4037 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4038 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4039 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4040 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4042 case S_surfxml_config: SET(E_surfxml_config); break;
4048 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4052 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4054 case YY_STATE_EOF(AL_surfxml_random):
4055 FAIL("EOF in attribute list of `random' element.");
4059 /* rule 61 can match eol */
4063 ETag_surfxml_random();
4064 popbuffer(); /* attribute */
4066 case S_surfxml_config: SET(E_surfxml_config); break;
4071 /* rule 62 can match eol */
4073 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4077 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4079 case YY_STATE_EOF(S_surfxml_random_2):
4080 case YY_STATE_EOF(S_surfxml_random):
4081 case YY_STATE_EOF(E_surfxml_random):
4082 FAIL("Premature EOF: `</random>' expected.");
4086 /* rule 64 can match eol */
4088 FAIL("Starting tag <trace_connect> is not allowed here.");
4091 /* rule 65 can match eol */
4094 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4095 AX_surfxml_trace_connect_trace = 0;
4096 AX_surfxml_trace_connect_element = 0;
4097 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4102 /* rule 66 can match eol */
4104 /* rule 67 can match eol */
4106 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4109 /* rule 68 can match eol */
4111 /* rule 69 can match eol */
4113 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4116 /* rule 70 can match eol */
4118 /* rule 71 can match eol */
4120 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4123 /* rule 72 can match eol */
4125 /* rule 73 can match eol */
4127 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4130 /* rule 74 can match eol */
4132 /* rule 75 can match eol */
4134 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4137 /* rule 76 can match eol */
4139 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4142 /* rule 77 can match eol */
4144 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4147 /* rule 78 can match eol */
4149 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4152 /* rule 79 can match eol */
4154 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4159 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4160 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4161 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4167 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4168 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4169 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4171 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;
4172 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4173 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4174 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4175 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;
4176 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4182 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4186 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4188 case YY_STATE_EOF(AL_surfxml_trace_connect):
4189 FAIL("EOF in attribute list of `trace_connect' element.");
4193 /* rule 84 can match eol */
4197 ETag_surfxml_trace_connect();
4198 popbuffer(); /* attribute */
4200 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;
4201 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4202 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4203 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4204 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;
4205 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4210 /* rule 85 can match eol */
4212 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4216 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4218 case YY_STATE_EOF(E_surfxml_trace_connect):
4219 FAIL("Premature EOF: `</trace_connect>' expected.");
4223 /* rule 87 can match eol */
4225 FAIL("Starting tag <AS> is not allowed here.");
4228 /* rule 88 can match eol */
4231 AX_surfxml_AS_id = 0;
4232 AX_surfxml_AS_routing = 0;
4233 ENTER(AL_surfxml_AS); pushbuffer(0);
4238 /* rule 89 can match eol */
4240 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4243 /* rule 90 can match eol */
4245 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4248 /* rule 91 can match eol */
4250 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4253 /* rule 92 can match eol */
4255 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4260 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4261 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4262 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4268 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4269 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4270 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4272 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4273 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;
4279 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4283 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4285 case YY_STATE_EOF(AL_surfxml_AS):
4286 FAIL("EOF in attribute list of `AS' element.");
4290 /* rule 97 can match eol */
4295 popbuffer(); /* attribute */
4297 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4298 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;
4303 /* rule 98 can match eol */
4305 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4309 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4311 case YY_STATE_EOF(S_surfxml_AS_1):
4312 case YY_STATE_EOF(S_surfxml_AS_9):
4313 case YY_STATE_EOF(S_surfxml_AS_11):
4314 case YY_STATE_EOF(S_surfxml_AS_6):
4315 case YY_STATE_EOF(E_surfxml_AS):
4316 case YY_STATE_EOF(S_surfxml_AS_3):
4317 case YY_STATE_EOF(S_surfxml_AS_13):
4318 case YY_STATE_EOF(S_surfxml_AS_8):
4319 case YY_STATE_EOF(S_surfxml_AS):
4320 case YY_STATE_EOF(S_surfxml_AS_4):
4321 FAIL("Premature EOF: `</AS>' expected.");
4325 /* rule 100 can match eol */
4327 FAIL("Starting tag <host> is not allowed here.");
4330 /* rule 101 can match eol */
4333 AX_surfxml_host_id = 0;
4334 AX_surfxml_host_power = 0;
4335 AX_surfxml_host_availability = 5;
4336 AX_surfxml_host_availability_file = 0;
4337 AX_surfxml_host_state = A_surfxml_host_state_ON;
4338 AX_surfxml_host_state_file = 0;
4339 AX_surfxml_host_vivaldi = 9;
4340 ENTER(AL_surfxml_host); pushbuffer(0);
4345 /* rule 102 can match eol */
4347 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4350 /* rule 103 can match eol */
4352 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4355 /* rule 104 can match eol */
4357 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4360 /* rule 105 can match eol */
4362 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4365 /* rule 106 can match eol */
4367 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4370 /* rule 107 can match eol */
4372 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4375 /* rule 108 can match eol */
4377 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4380 /* rule 109 can match eol */
4382 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4385 /* rule 110 can match eol */
4387 /* rule 111 can match eol */
4389 A_surfxml_host_state = A_surfxml_host_state_ON;
4392 /* rule 112 can match eol */
4394 /* rule 113 can match eol */
4396 A_surfxml_host_state = A_surfxml_host_state_OFF;
4399 /* rule 114 can match eol */
4401 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4404 /* rule 115 can match eol */
4406 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4409 /* rule 116 can match eol */
4411 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_vivaldi);
4414 /* rule 117 can match eol */
4416 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_vivaldi);
4421 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4422 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4423 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4429 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4430 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4431 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4433 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4439 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4443 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4445 case YY_STATE_EOF(AL_surfxml_host):
4446 FAIL("EOF in attribute list of `host' element.");
4450 /* rule 122 can match eol */
4454 ETag_surfxml_host();
4455 popbuffer(); /* attribute */
4457 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4462 /* rule 123 can match eol */
4464 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4468 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4470 case YY_STATE_EOF(S_surfxml_host):
4471 case YY_STATE_EOF(E_surfxml_host):
4472 case YY_STATE_EOF(S_surfxml_host_2):
4473 FAIL("Premature EOF: `</host>' expected.");
4477 /* rule 125 can match eol */
4479 FAIL("Starting tag <cluster> is not allowed here.");
4482 /* rule 126 can match eol */
4485 AX_surfxml_cluster_id = 0;
4486 AX_surfxml_cluster_prefix = 0;
4487 AX_surfxml_cluster_suffix = 0;
4488 AX_surfxml_cluster_radical = 0;
4489 AX_surfxml_cluster_power = 0;
4490 AX_surfxml_cluster_bw = 0;
4491 AX_surfxml_cluster_lat = 0;
4492 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4493 AX_surfxml_cluster_bb_bw = 0;
4494 AX_surfxml_cluster_bb_lat = 0;
4495 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4496 ENTER(AL_surfxml_cluster); pushbuffer(0);
4501 /* rule 127 can match eol */
4503 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4506 /* rule 128 can match eol */
4508 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4511 /* rule 129 can match eol */
4513 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4516 /* rule 130 can match eol */
4518 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4521 /* rule 131 can match eol */
4523 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4526 /* rule 132 can match eol */
4528 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4531 /* rule 133 can match eol */
4533 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4536 /* rule 134 can match eol */
4538 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4541 /* rule 135 can match eol */
4543 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4546 /* rule 136 can match eol */
4548 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4551 /* rule 137 can match eol */
4553 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4556 /* rule 138 can match eol */
4558 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4561 /* rule 139 can match eol */
4563 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4566 /* rule 140 can match eol */
4568 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4571 /* rule 141 can match eol */
4573 /* rule 142 can match eol */
4575 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4578 /* rule 143 can match eol */
4580 /* rule 144 can match eol */
4582 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4585 /* rule 145 can match eol */
4587 /* rule 146 can match eol */
4589 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4592 /* rule 147 can match eol */
4594 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4597 /* rule 148 can match eol */
4599 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4602 /* rule 149 can match eol */
4604 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4607 /* rule 150 can match eol */
4609 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4612 /* rule 151 can match eol */
4614 /* rule 152 can match eol */
4616 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4619 /* rule 153 can match eol */
4621 /* rule 154 can match eol */
4623 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4628 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4629 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4630 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4631 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4632 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4633 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4634 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4635 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4636 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4637 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4643 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4644 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4645 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4646 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4647 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4648 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4649 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4650 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4651 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4652 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4654 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4655 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;
4661 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4665 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4667 case YY_STATE_EOF(AL_surfxml_cluster):
4668 FAIL("EOF in attribute list of `cluster' element.");
4672 /* rule 159 can match eol */
4676 ETag_surfxml_cluster();
4677 popbuffer(); /* attribute */
4679 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4680 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;
4685 /* rule 160 can match eol */
4687 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4691 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4693 case YY_STATE_EOF(E_surfxml_cluster):
4694 FAIL("Premature EOF: `</cluster>' expected.");
4698 /* rule 162 can match eol */
4700 FAIL("Starting tag <router> is not allowed here.");
4703 /* rule 163 can match eol */
4706 AX_surfxml_router_id = 0;
4707 ENTER(AL_surfxml_router); pushbuffer(0);
4712 /* rule 164 can match eol */
4714 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4717 /* rule 165 can match eol */
4719 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4724 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4725 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4731 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4732 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4734 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4740 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4744 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4746 case YY_STATE_EOF(AL_surfxml_router):
4747 FAIL("EOF in attribute list of `router' element.");
4751 /* rule 170 can match eol */
4755 ETag_surfxml_router();
4756 popbuffer(); /* attribute */
4758 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4763 /* rule 171 can match eol */
4765 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4769 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4771 case YY_STATE_EOF(E_surfxml_router):
4772 FAIL("Premature EOF: `</router>' expected.");
4776 /* rule 173 can match eol */
4778 FAIL("Starting tag <link> is not allowed here.");
4781 /* rule 174 can match eol */
4784 AX_surfxml_link_id = 0;
4785 AX_surfxml_link_bandwidth = 0;
4786 AX_surfxml_link_bandwidth_file = 0;
4787 AX_surfxml_link_latency = 15;
4788 AX_surfxml_link_latency_file = 0;
4789 AX_surfxml_link_state = A_surfxml_link_state_ON;
4790 AX_surfxml_link_state_file = 0;
4791 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4792 ENTER(AL_surfxml_link); pushbuffer(0);
4797 /* rule 175 can match eol */
4799 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4802 /* rule 176 can match eol */
4804 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4807 /* rule 177 can match eol */
4809 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4812 /* rule 178 can match eol */
4814 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4817 /* rule 179 can match eol */
4819 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4822 /* rule 180 can match eol */
4824 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
4827 /* rule 181 can match eol */
4829 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
4832 /* rule 182 can match eol */
4834 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
4837 /* rule 183 can match eol */
4839 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
4842 /* rule 184 can match eol */
4844 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
4847 /* rule 185 can match eol */
4849 /* rule 186 can match eol */
4851 A_surfxml_link_state = A_surfxml_link_state_ON;
4854 /* rule 187 can match eol */
4856 /* rule 188 can match eol */
4858 A_surfxml_link_state = A_surfxml_link_state_OFF;
4861 /* rule 189 can match eol */
4863 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
4866 /* rule 190 can match eol */
4868 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
4871 /* rule 191 can match eol */
4873 /* rule 192 can match eol */
4875 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4878 /* rule 193 can match eol */
4880 /* rule 194 can match eol */
4882 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4885 /* rule 195 can match eol */
4887 /* rule 196 can match eol */
4889 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
4894 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4895 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4896 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
4902 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4903 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4904 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
4906 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4907 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4913 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
4917 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
4919 case YY_STATE_EOF(AL_surfxml_link):
4920 FAIL("EOF in attribute list of `link' element.");
4924 /* rule 201 can match eol */
4928 ETag_surfxml_link();
4929 popbuffer(); /* attribute */
4931 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4932 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4937 /* rule 202 can match eol */
4939 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
4943 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
4945 case YY_STATE_EOF(E_surfxml_link):
4946 case YY_STATE_EOF(S_surfxml_link_2):
4947 case YY_STATE_EOF(S_surfxml_link):
4948 FAIL("Premature EOF: `</link>' expected.");
4952 /* rule 204 can match eol */
4954 FAIL("Starting tag <route> is not allowed here.");
4957 /* rule 205 can match eol */
4960 AX_surfxml_route_src = 0;
4961 AX_surfxml_route_dst = 0;
4962 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
4963 ENTER(AL_surfxml_route); pushbuffer(0);
4968 /* rule 206 can match eol */
4970 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
4973 /* rule 207 can match eol */
4975 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
4978 /* rule 208 can match eol */
4980 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
4983 /* rule 209 can match eol */
4985 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
4988 /* rule 210 can match eol */
4990 /* rule 211 can match eol */
4992 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
4995 /* rule 212 can match eol */
4997 /* rule 213 can match eol */
4999 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5004 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5005 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5006 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5012 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5013 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5014 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5016 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;
5022 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5026 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5028 case YY_STATE_EOF(AL_surfxml_route):
5029 FAIL("EOF in attribute list of `route' element.");
5033 /* rule 218 can match eol */
5037 ETag_surfxml_route();
5038 popbuffer(); /* attribute */
5040 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;
5045 /* rule 219 can match eol */
5047 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5051 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5053 case YY_STATE_EOF(S_surfxml_route):
5054 case YY_STATE_EOF(S_surfxml_route_2):
5055 case YY_STATE_EOF(E_surfxml_route):
5056 FAIL("Premature EOF: `</route>' expected.");
5060 /* rule 221 can match eol */
5062 FAIL("Starting tag <ASroute> is not allowed here.");
5065 /* rule 222 can match eol */
5068 AX_surfxml_ASroute_src = 0;
5069 AX_surfxml_ASroute_dst = 0;
5070 AX_surfxml_ASroute_gw_src = 0;
5071 AX_surfxml_ASroute_gw_dst = 0;
5072 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5073 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5078 /* rule 223 can match eol */
5080 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5083 /* rule 224 can match eol */
5085 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5088 /* rule 225 can match eol */
5090 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5093 /* rule 226 can match eol */
5095 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5098 /* rule 227 can match eol */
5100 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5103 /* rule 228 can match eol */
5105 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5108 /* rule 229 can match eol */
5110 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5113 /* rule 230 can match eol */
5115 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5118 /* rule 231 can match eol */
5120 /* rule 232 can match eol */
5122 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5125 /* rule 233 can match eol */
5127 /* rule 234 can match eol */
5129 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5134 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5135 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5136 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5137 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5138 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5144 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5145 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5146 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5147 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5148 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5150 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;
5156 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5160 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5162 case YY_STATE_EOF(AL_surfxml_ASroute):
5163 FAIL("EOF in attribute list of `ASroute' element.");
5167 /* rule 239 can match eol */
5171 ETag_surfxml_ASroute();
5172 popbuffer(); /* attribute */
5174 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;
5179 /* rule 240 can match eol */
5181 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5185 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5187 case YY_STATE_EOF(E_surfxml_ASroute):
5188 case YY_STATE_EOF(S_surfxml_ASroute):
5189 case YY_STATE_EOF(S_surfxml_ASroute_2):
5190 FAIL("Premature EOF: `</ASroute>' expected.");
5194 /* rule 242 can match eol */
5196 FAIL("Starting tag <link_ctn> is not allowed here.");
5199 /* rule 243 can match eol */
5202 AX_surfxml_link_ctn_id = 0;
5203 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5204 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5209 /* rule 244 can match eol */
5211 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5214 /* rule 245 can match eol */
5216 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5219 /* rule 246 can match eol */
5221 /* rule 247 can match eol */
5223 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5226 /* rule 248 can match eol */
5228 /* rule 249 can match eol */
5230 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5233 /* rule 250 can match eol */
5235 /* rule 251 can match eol */
5237 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5242 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5243 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5249 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5250 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5252 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5253 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5254 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5260 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5264 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5266 case YY_STATE_EOF(AL_surfxml_link_ctn):
5267 FAIL("EOF in attribute list of `link_ctn' element.");
5271 /* rule 256 can match eol */
5275 ETag_surfxml_link_ctn();
5276 popbuffer(); /* attribute */
5278 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5279 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5280 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5285 /* rule 257 can match eol */
5287 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5291 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5293 case YY_STATE_EOF(E_surfxml_link_ctn):
5294 FAIL("Premature EOF: `</link_ctn>' expected.");
5298 /* rule 259 can match eol */
5300 FAIL("Starting tag <bypassRoute> is not allowed here.");
5303 /* rule 260 can match eol */
5306 AX_surfxml_bypassRoute_src = 0;
5307 AX_surfxml_bypassRoute_dst = 0;
5308 AX_surfxml_bypassRoute_gw_src = 0;
5309 AX_surfxml_bypassRoute_gw_dst = 0;
5310 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5315 /* rule 261 can match eol */
5317 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5320 /* rule 262 can match eol */
5322 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5325 /* rule 263 can match eol */
5327 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5330 /* rule 264 can match eol */
5332 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5335 /* rule 265 can match eol */
5337 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5340 /* rule 266 can match eol */
5342 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5345 /* rule 267 can match eol */
5347 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5350 /* rule 268 can match eol */
5352 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5357 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5358 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5359 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5360 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5361 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5367 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5368 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5369 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5370 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5371 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5373 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;
5379 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5383 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5385 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5386 FAIL("EOF in attribute list of `bypassRoute' element.");
5390 /* rule 273 can match eol */
5394 ETag_surfxml_bypassRoute();
5395 popbuffer(); /* attribute */
5397 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;
5402 /* rule 274 can match eol */
5404 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5408 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5410 case YY_STATE_EOF(S_surfxml_bypassRoute):
5411 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5412 case YY_STATE_EOF(E_surfxml_bypassRoute):
5413 FAIL("Premature EOF: `</bypassRoute>' expected.");
5417 /* rule 276 can match eol */
5419 FAIL("Starting tag <process> is not allowed here.");
5422 /* rule 277 can match eol */
5425 AX_surfxml_process_host = 0;
5426 AX_surfxml_process_function = 0;
5427 AX_surfxml_process_start_time = 19;
5428 AX_surfxml_process_kill_time = 24;
5429 ENTER(AL_surfxml_process); pushbuffer(0);
5434 /* rule 278 can match eol */
5436 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5439 /* rule 279 can match eol */
5441 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5444 /* rule 280 can match eol */
5446 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5449 /* rule 281 can match eol */
5451 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5454 /* rule 282 can match eol */
5456 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5459 /* rule 283 can match eol */
5461 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5464 /* rule 284 can match eol */
5466 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5469 /* rule 285 can match eol */
5471 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5476 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5477 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5478 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5484 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5485 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5486 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5488 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;
5494 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5498 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5500 case YY_STATE_EOF(AL_surfxml_process):
5501 FAIL("EOF in attribute list of `process' element.");
5505 /* rule 290 can match eol */
5509 ETag_surfxml_process();
5510 popbuffer(); /* attribute */
5512 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;
5517 /* rule 291 can match eol */
5519 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5523 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5525 case YY_STATE_EOF(E_surfxml_process):
5526 case YY_STATE_EOF(S_surfxml_process):
5527 case YY_STATE_EOF(S_surfxml_process_2):
5528 FAIL("Premature EOF: `</process>' expected.");
5532 /* rule 293 can match eol */
5534 FAIL("Starting tag <argument> is not allowed here.");
5537 /* rule 294 can match eol */
5540 AX_surfxml_argument_value = 0;
5541 ENTER(AL_surfxml_argument); pushbuffer(0);
5546 /* rule 295 can match eol */
5548 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5551 /* rule 296 can match eol */
5553 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5558 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5559 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5565 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5566 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5568 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5574 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5578 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5580 case YY_STATE_EOF(AL_surfxml_argument):
5581 FAIL("EOF in attribute list of `argument' element.");
5585 /* rule 301 can match eol */
5589 ETag_surfxml_argument();
5590 popbuffer(); /* attribute */
5592 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5597 /* rule 302 can match eol */
5599 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5603 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5605 case YY_STATE_EOF(E_surfxml_argument):
5606 FAIL("Premature EOF: `</argument>' expected.");
5610 /* rule 304 can match eol */
5612 FAIL("Starting tag <config> is not allowed here.");
5615 /* rule 305 can match eol */
5618 AX_surfxml_config_id = 0;
5619 ENTER(AL_surfxml_config); pushbuffer(0);
5624 /* rule 306 can match eol */
5626 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
5629 /* rule 307 can match eol */
5631 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
5636 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
5642 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
5644 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5650 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
5654 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
5656 case YY_STATE_EOF(AL_surfxml_config):
5657 FAIL("EOF in attribute list of `config' element.");
5661 /* rule 312 can match eol */
5665 ETag_surfxml_config();
5666 popbuffer(); /* attribute */
5668 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
5673 /* rule 313 can match eol */
5675 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
5679 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
5681 case YY_STATE_EOF(S_surfxml_config):
5682 case YY_STATE_EOF(S_surfxml_config_2):
5683 case YY_STATE_EOF(E_surfxml_config):
5684 FAIL("Premature EOF: `</config>' expected.");
5687 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
5688 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
5690 /* rule 315 can match eol */
5692 FAIL("Starting tag <prop> is not allowed here.");
5695 /* rule 316 can match eol */
5698 AX_surfxml_prop_id = 0;
5699 AX_surfxml_prop_value = 0;
5700 ENTER(AL_surfxml_prop); pushbuffer(0);
5705 /* rule 317 can match eol */
5707 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
5710 /* rule 318 can match eol */
5712 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
5715 /* rule 319 can match eol */
5717 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
5720 /* rule 320 can match eol */
5722 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
5727 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5728 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5729 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
5735 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5736 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5737 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
5739 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5740 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5741 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5742 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5743 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5749 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
5753 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
5755 case YY_STATE_EOF(AL_surfxml_prop):
5756 FAIL("EOF in attribute list of `prop' element.");
5760 /* rule 325 can match eol */
5764 ETag_surfxml_prop();
5765 popbuffer(); /* attribute */
5767 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5768 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
5769 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5770 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5771 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5776 /* rule 326 can match eol */
5778 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
5782 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
5784 case YY_STATE_EOF(E_surfxml_prop):
5785 FAIL("Premature EOF: `</prop>' expected.");
5788 /* EPILOG: after the root element. */
5792 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5794 case YY_STATE_EOF(EPILOG):
5798 /* CHARACTER DATA. */
5800 /* Non-defined standard entities... */
5821 /* Character entities. */
5824 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5828 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5832 /* rule 336 can match eol */
5834 /* rule 337 can match eol */
5836 /* rule 338 can match eol */
5838 /* rule 339 can match eol */
5849 FAIL("Unexpected `]""]>' in character data.");
5856 case YY_STATE_EOF(VALUE1):
5857 FAIL("EOF in literal (\"'\" expected).");
5864 case YY_STATE_EOF(VALUE2):
5865 FAIL("EOF in literal (`\"' expected).");
5869 /* rule 344 can match eol */
5871 BUFFERPUTC(surf_parse_text[0]);
5875 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5882 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5885 BUFFERPUTC(surf_parse_text[0]);
5887 case YY_STATE_EOF(CDATA):
5888 FAIL("EOF in CDATA section.");
5891 /* Impossible rules to avoid warnings from flex(1). */
5892 /* Ideally, this should be replaced by code in flexml.pl that
5893 generates just the states not covered by other rules. */
5896 /* rule 348 can match eol */
5898 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5905 case YY_STATE_EOF(INITIAL):
5906 case YY_STATE_EOF(ROOT_surfxml_platform):
5907 case YY_STATE_EOF(S_surfxml_platform_3):
5908 case YY_STATE_EOF(S_surfxml_platform_5):
5909 case YY_STATE_EOF(S_surfxml_random_1):
5910 case YY_STATE_EOF(S_surfxml_AS_2):
5911 case YY_STATE_EOF(S_surfxml_AS_5):
5912 case YY_STATE_EOF(S_surfxml_AS_7):
5913 case YY_STATE_EOF(S_surfxml_AS_10):
5914 case YY_STATE_EOF(S_surfxml_AS_12):
5915 case YY_STATE_EOF(S_surfxml_host_1):
5916 case YY_STATE_EOF(S_surfxml_link_1):
5917 case YY_STATE_EOF(S_surfxml_route_1):
5918 case YY_STATE_EOF(S_surfxml_ASroute_1):
5919 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
5920 case YY_STATE_EOF(S_surfxml_process_1):
5921 case YY_STATE_EOF(S_surfxml_config_1):
5922 case YY_STATE_EOF(IMPOSSIBLE):
5925 case YY_END_OF_BUFFER:
5927 /* Amount of text matched not including the EOB char. */
5928 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5930 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5931 *yy_cp = (yy_hold_char);
5932 YY_RESTORE_YY_MORE_OFFSET
5934 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5936 /* We're scanning a new file or input source. It's
5937 * possible that this happened because the user
5938 * just pointed surf_parse_in at a new source and called
5939 * surf_parse_lex(). If so, then we have to assure
5940 * consistency between YY_CURRENT_BUFFER and our
5941 * globals. Here is the right place to do so, because
5942 * this is the first action (other than possibly a
5943 * back-up) that will match for the new input source.
5945 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5946 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5947 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5950 /* Note that here we test for yy_c_buf_p "<=" to the position
5951 * of the first EOB in the buffer, since yy_c_buf_p will
5952 * already have been incremented past the NUL character
5953 * (since all states make transitions on EOB to the
5954 * end-of-buffer state). Contrast this with the test
5957 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5958 { /* This was really a NUL. */
5959 yy_state_type yy_next_state;
5961 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5963 yy_current_state = yy_get_previous_state( );
5965 /* Okay, we're now positioned to make the NUL
5966 * transition. We couldn't have
5967 * yy_get_previous_state() go ahead and do it
5968 * for us because it doesn't know how to deal
5969 * with the possibility of jamming (and we don't
5970 * want to build jamming into it because then it
5971 * will run more slowly).
5974 yy_next_state = yy_try_NUL_trans( yy_current_state );
5976 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5978 if ( yy_next_state )
5980 /* Consume the NUL. */
5981 yy_cp = ++(yy_c_buf_p);
5982 yy_current_state = yy_next_state;
5988 yy_cp = (yy_c_buf_p);
5989 goto yy_find_action;
5993 else switch ( yy_get_next_buffer( ) )
5995 case EOB_ACT_END_OF_FILE:
5997 (yy_did_buffer_switch_on_eof) = 0;
5999 if ( surf_parse_wrap( ) )
6001 /* Note: because we've taken care in
6002 * yy_get_next_buffer() to have set up
6003 * surf_parse_text, we can now set up
6004 * yy_c_buf_p so that if some total
6005 * hoser (like flex itself) wants to
6006 * call the scanner after we return the
6007 * YY_NULL, it'll still work - another
6008 * YY_NULL will get returned.
6010 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6012 yy_act = YY_STATE_EOF(YY_START);
6018 if ( ! (yy_did_buffer_switch_on_eof) )
6024 case EOB_ACT_CONTINUE_SCAN:
6026 (yytext_ptr) + yy_amount_of_matched_text;
6028 yy_current_state = yy_get_previous_state( );
6030 yy_cp = (yy_c_buf_p);
6031 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6034 case EOB_ACT_LAST_MATCH:
6036 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6038 yy_current_state = yy_get_previous_state( );
6040 yy_cp = (yy_c_buf_p);
6041 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6042 goto yy_find_action;
6049 "fatal flex scanner internal error--no action found" );
6050 } /* end of action switch */
6051 } /* end of scanning one token */
6052 } /* end of surf_parse_lex */
6054 /* yy_get_next_buffer - try to read in a new buffer
6056 * Returns a code representing an action:
6057 * EOB_ACT_LAST_MATCH -
6058 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6059 * EOB_ACT_END_OF_FILE - end of file
6061 static int yy_get_next_buffer (void)
6063 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6064 register char *source = (yytext_ptr);
6065 register int number_to_move, i;
6068 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6070 "fatal flex scanner internal error--end of buffer missed" );
6072 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6073 { /* Don't try to fill the buffer, so this is an EOF. */
6074 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6076 /* We matched a single character, the EOB, so
6077 * treat this as a final EOF.
6079 return EOB_ACT_END_OF_FILE;
6084 /* We matched some text prior to the EOB, first
6087 return EOB_ACT_LAST_MATCH;
6091 /* Try to read more data. */
6093 /* First move last chars to start of buffer. */
6094 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6096 for ( i = 0; i < number_to_move; ++i )
6097 *(dest++) = *(source++);
6099 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6100 /* don't do the read, it's not guaranteed to return an EOF,
6103 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6108 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6110 while ( num_to_read <= 0 )
6111 { /* Not enough room in the buffer - grow it. */
6113 /* just a shorter name for the current buffer */
6114 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6116 int yy_c_buf_p_offset =
6117 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6119 if ( b->yy_is_our_buffer )
6121 int new_size = b->yy_buf_size * 2;
6123 if ( new_size <= 0 )
6124 b->yy_buf_size += b->yy_buf_size / 8;
6126 b->yy_buf_size *= 2;
6128 b->yy_ch_buf = (char *)
6129 /* Include room in for 2 EOB chars. */
6130 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6133 /* Can't grow it, we don't own it. */
6136 if ( ! b->yy_ch_buf )
6138 "fatal error - scanner input buffer overflow" );
6140 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6142 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6147 if ( num_to_read > YY_READ_BUF_SIZE )
6148 num_to_read = YY_READ_BUF_SIZE;
6150 /* Read in more data. */
6151 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6152 (yy_n_chars), (size_t) num_to_read );
6154 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6157 if ( (yy_n_chars) == 0 )
6159 if ( number_to_move == YY_MORE_ADJ )
6161 ret_val = EOB_ACT_END_OF_FILE;
6162 surf_parse_restart(surf_parse_in );
6167 ret_val = EOB_ACT_LAST_MATCH;
6168 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6169 YY_BUFFER_EOF_PENDING;
6174 ret_val = EOB_ACT_CONTINUE_SCAN;
6176 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6177 /* Extend the array by 50%, plus the number we really need. */
6178 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6179 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6180 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6181 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6184 (yy_n_chars) += number_to_move;
6185 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6186 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6188 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6193 /* yy_get_previous_state - get the state just before the EOB char was reached */
6195 static yy_state_type yy_get_previous_state (void)
6197 register yy_state_type yy_current_state;
6198 register char *yy_cp;
6200 yy_current_state = (yy_start);
6202 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6204 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6205 if ( yy_accept[yy_current_state] )
6207 (yy_last_accepting_state) = yy_current_state;
6208 (yy_last_accepting_cpos) = yy_cp;
6210 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6212 yy_current_state = (int) yy_def[yy_current_state];
6213 if ( yy_current_state >= 2035 )
6214 yy_c = yy_meta[(unsigned int) yy_c];
6216 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6219 return yy_current_state;
6222 /* yy_try_NUL_trans - try to make a transition on the NUL character
6225 * next_state = yy_try_NUL_trans( current_state );
6227 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6229 register int yy_is_jam;
6230 register char *yy_cp = (yy_c_buf_p);
6232 register YY_CHAR yy_c = 1;
6233 if ( yy_accept[yy_current_state] )
6235 (yy_last_accepting_state) = yy_current_state;
6236 (yy_last_accepting_cpos) = yy_cp;
6238 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6240 yy_current_state = (int) yy_def[yy_current_state];
6241 if ( yy_current_state >= 2035 )
6242 yy_c = yy_meta[(unsigned int) yy_c];
6244 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6245 yy_is_jam = (yy_current_state == 2034);
6247 return yy_is_jam ? 0 : yy_current_state;
6252 static int yyinput (void)
6254 static int input (void)
6260 *(yy_c_buf_p) = (yy_hold_char);
6262 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6264 /* yy_c_buf_p now points to the character we want to return.
6265 * If this occurs *before* the EOB characters, then it's a
6266 * valid NUL; if not, then we've hit the end of the buffer.
6268 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6269 /* This was really a NUL. */
6270 *(yy_c_buf_p) = '\0';
6273 { /* need more input */
6274 int offset = (yy_c_buf_p) - (yytext_ptr);
6277 switch ( yy_get_next_buffer( ) )
6279 case EOB_ACT_LAST_MATCH:
6280 /* This happens because yy_g_n_b()
6281 * sees that we've accumulated a
6282 * token and flags that we need to
6283 * try matching the token before
6284 * proceeding. But for input(),
6285 * there's no matching to consider.
6286 * So convert the EOB_ACT_LAST_MATCH
6287 * to EOB_ACT_END_OF_FILE.
6290 /* Reset buffer status. */
6291 surf_parse_restart(surf_parse_in );
6295 case EOB_ACT_END_OF_FILE:
6297 if ( surf_parse_wrap( ) )
6300 if ( ! (yy_did_buffer_switch_on_eof) )
6309 case EOB_ACT_CONTINUE_SCAN:
6310 (yy_c_buf_p) = (yytext_ptr) + offset;
6316 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6317 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6318 (yy_hold_char) = *++(yy_c_buf_p);
6322 surf_parse_lineno++;
6327 #endif /* ifndef YY_NO_INPUT */
6329 /** Immediately switch to a different input stream.
6330 * @param input_file A readable stream.
6332 * @note This function does not reset the start condition to @c INITIAL .
6334 void surf_parse_restart (FILE * input_file )
6337 if ( ! YY_CURRENT_BUFFER ){
6338 surf_parse_ensure_buffer_stack ();
6339 YY_CURRENT_BUFFER_LVALUE =
6340 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6343 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6344 surf_parse__load_buffer_state( );
6347 /** Switch to a different input buffer.
6348 * @param new_buffer The new input buffer.
6351 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6354 /* TODO. We should be able to replace this entire function body
6356 * surf_parse_pop_buffer_state();
6357 * surf_parse_push_buffer_state(new_buffer);
6359 surf_parse_ensure_buffer_stack ();
6360 if ( YY_CURRENT_BUFFER == new_buffer )
6363 if ( YY_CURRENT_BUFFER )
6365 /* Flush out information for old buffer. */
6366 *(yy_c_buf_p) = (yy_hold_char);
6367 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6368 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6371 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6372 surf_parse__load_buffer_state( );
6374 /* We don't actually know whether we did this switch during
6375 * EOF (surf_parse_wrap()) processing, but the only time this flag
6376 * is looked at is after surf_parse_wrap() is called, so it's safe
6377 * to go ahead and always set it.
6379 (yy_did_buffer_switch_on_eof) = 1;
6382 static void surf_parse__load_buffer_state (void)
6384 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6385 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6386 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6387 (yy_hold_char) = *(yy_c_buf_p);
6390 /** Allocate and initialize an input buffer state.
6391 * @param file A readable stream.
6392 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6394 * @return the allocated buffer state.
6396 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6400 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6402 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6404 b->yy_buf_size = size;
6406 /* yy_ch_buf has to be 2 characters longer than the size given because
6407 * we need to put in 2 end-of-buffer characters.
6409 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6410 if ( ! b->yy_ch_buf )
6411 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6413 b->yy_is_our_buffer = 1;
6415 surf_parse__init_buffer(b,file );
6420 /** Destroy the buffer.
6421 * @param b a buffer created with surf_parse__create_buffer()
6424 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6430 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6431 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6433 if ( b->yy_is_our_buffer )
6434 surf_parse_free((void *) b->yy_ch_buf );
6436 surf_parse_free((void *) b );
6440 extern int isatty (int );
6441 #endif /* __cplusplus */
6443 /* Initializes or reinitializes a buffer.
6444 * This function is sometimes called more than once on the same buffer,
6445 * such as during a surf_parse_restart() or at EOF.
6447 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6452 surf_parse__flush_buffer(b );
6454 b->yy_input_file = file;
6455 b->yy_fill_buffer = 1;
6457 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6458 * called from surf_parse_restart() or through yy_get_next_buffer.
6459 * In that case, we don't want to reset the lineno or column.
6461 if (b != YY_CURRENT_BUFFER){
6462 b->yy_bs_lineno = 1;
6463 b->yy_bs_column = 0;
6466 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6471 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6472 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6475 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6482 /* We always need two end-of-buffer characters. The first causes
6483 * a transition to the end-of-buffer state. The second causes
6484 * a jam in that state.
6486 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6487 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6489 b->yy_buf_pos = &b->yy_ch_buf[0];
6492 b->yy_buffer_status = YY_BUFFER_NEW;
6494 if ( b == YY_CURRENT_BUFFER )
6495 surf_parse__load_buffer_state( );
6498 /** Pushes the new state onto the stack. The new state becomes
6499 * the current state. This function will allocate the stack
6501 * @param new_buffer The new state.
6504 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6506 if (new_buffer == NULL)
6509 surf_parse_ensure_buffer_stack();
6511 /* This block is copied from surf_parse__switch_to_buffer. */
6512 if ( YY_CURRENT_BUFFER )
6514 /* Flush out information for old buffer. */
6515 *(yy_c_buf_p) = (yy_hold_char);
6516 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6517 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6520 /* Only push if top exists. Otherwise, replace top. */
6521 if (YY_CURRENT_BUFFER)
6522 (yy_buffer_stack_top)++;
6523 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6525 /* copied from surf_parse__switch_to_buffer. */
6526 surf_parse__load_buffer_state( );
6527 (yy_did_buffer_switch_on_eof) = 1;
6530 /** Removes and deletes the top of the stack, if present.
6531 * The next element becomes the new top.
6534 void surf_parse_pop_buffer_state (void)
6536 if (!YY_CURRENT_BUFFER)
6539 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6540 YY_CURRENT_BUFFER_LVALUE = NULL;
6541 if ((yy_buffer_stack_top) > 0)
6542 --(yy_buffer_stack_top);
6544 if (YY_CURRENT_BUFFER) {
6545 surf_parse__load_buffer_state( );
6546 (yy_did_buffer_switch_on_eof) = 1;
6550 /* Allocates the stack if it does not exist.
6551 * Guarantees space for at least one push.
6553 static void surf_parse_ensure_buffer_stack (void)
6557 if (!(yy_buffer_stack)) {
6559 /* First allocation is just for 2 elements, since we don't know if this
6560 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6561 * immediate realloc on the next call.
6564 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6565 (num_to_alloc * sizeof(struct yy_buffer_state*)
6567 if ( ! (yy_buffer_stack) )
6568 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6570 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6572 (yy_buffer_stack_max) = num_to_alloc;
6573 (yy_buffer_stack_top) = 0;
6577 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6579 /* Increase the buffer to prepare for a possible push. */
6580 int grow_size = 8 /* arbitrary grow size */;
6582 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6583 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6585 num_to_alloc * sizeof(struct yy_buffer_state*)
6587 if ( ! (yy_buffer_stack) )
6588 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6590 /* zero only the new slots.*/
6591 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6592 (yy_buffer_stack_max) = num_to_alloc;
6596 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6597 * @param base the character buffer
6598 * @param size the size in bytes of the character buffer
6600 * @return the newly allocated buffer state object.
6602 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6607 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6608 base[size-1] != YY_END_OF_BUFFER_CHAR )
6609 /* They forgot to leave room for the EOB's. */
6612 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6614 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6616 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6617 b->yy_buf_pos = b->yy_ch_buf = base;
6618 b->yy_is_our_buffer = 0;
6619 b->yy_input_file = 0;
6620 b->yy_n_chars = b->yy_buf_size;
6621 b->yy_is_interactive = 0;
6623 b->yy_fill_buffer = 0;
6624 b->yy_buffer_status = YY_BUFFER_NEW;
6626 surf_parse__switch_to_buffer(b );
6631 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6632 * scan from a @e copy of @a str.
6633 * @param yystr a NUL-terminated string to scan
6635 * @return the newly allocated buffer state object.
6636 * @note If you want to scan bytes that may contain NUL values, then use
6637 * surf_parse__scan_bytes() instead.
6639 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6642 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6645 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6646 * scan from a @e copy of @a bytes.
6647 * @param yybytes the byte buffer to scan
6648 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6650 * @return the newly allocated buffer state object.
6652 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6659 /* Get memory for full buffer, including space for trailing EOB's. */
6660 n = _yybytes_len + 2;
6661 buf = (char *) surf_parse_alloc(n );
6663 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6665 for ( i = 0; i < _yybytes_len; ++i )
6666 buf[i] = yybytes[i];
6668 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6670 b = surf_parse__scan_buffer(buf,n );
6672 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6674 /* It's okay to grow etc. this buffer, and we should throw it
6675 * away when we're done.
6677 b->yy_is_our_buffer = 1;
6682 static void yy_push_state (int new_state )
6684 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6688 (yy_start_stack_depth) += YY_START_STACK_INCR;
6689 new_size = (yy_start_stack_depth) * sizeof( int );
6691 if ( ! (yy_start_stack) )
6692 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6695 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6697 if ( ! (yy_start_stack) )
6698 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6701 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6706 static void yy_pop_state (void)
6708 if ( --(yy_start_stack_ptr) < 0 )
6709 YY_FATAL_ERROR( "start-condition stack underflow" );
6711 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6714 #ifndef YY_EXIT_FAILURE
6715 #define YY_EXIT_FAILURE 2
6718 static void yy_fatal_error (yyconst char* msg )
6720 (void) fprintf( stderr, "%s\n", msg );
6721 exit( YY_EXIT_FAILURE );
6724 /* Redefine yyless() so it works in section 3 code. */
6730 /* Undo effects of setting up surf_parse_text. */ \
6731 int yyless_macro_arg = (n); \
6732 YY_LESS_LINENO(yyless_macro_arg);\
6733 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6734 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6735 (yy_hold_char) = *(yy_c_buf_p); \
6736 *(yy_c_buf_p) = '\0'; \
6737 surf_parse_leng = yyless_macro_arg; \
6741 /* Accessor methods (get/set functions) to struct members. */
6743 /** Get the current line number.
6746 int surf_parse_get_lineno (void)
6749 return surf_parse_lineno;
6752 /** Get the input stream.
6755 FILE *surf_parse_get_in (void)
6757 return surf_parse_in;
6760 /** Get the output stream.
6763 FILE *surf_parse_get_out (void)
6765 return surf_parse_out;
6768 /** Get the length of the current token.
6771 int surf_parse_get_leng (void)
6773 return surf_parse_leng;
6776 /** Get the current token.
6780 char *surf_parse_get_text (void)
6782 return surf_parse_text;
6785 /** Set the current line number.
6786 * @param line_number
6789 void surf_parse_set_lineno (int line_number )
6792 surf_parse_lineno = line_number;
6795 /** Set the input stream. This does not discard the current
6797 * @param in_str A readable stream.
6799 * @see surf_parse__switch_to_buffer
6801 void surf_parse_set_in (FILE * in_str )
6803 surf_parse_in = in_str ;
6806 void surf_parse_set_out (FILE * out_str )
6808 surf_parse_out = out_str ;
6811 int surf_parse_get_debug (void)
6813 return surf_parse__flex_debug;
6816 void surf_parse_set_debug (int bdebug )
6818 surf_parse__flex_debug = bdebug ;
6821 static int yy_init_globals (void)
6823 /* Initialization is the same as for the non-reentrant scanner.
6824 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6827 /* We do not touch surf_parse_lineno unless the option is enabled. */
6828 surf_parse_lineno = 1;
6830 (yy_buffer_stack) = 0;
6831 (yy_buffer_stack_top) = 0;
6832 (yy_buffer_stack_max) = 0;
6833 (yy_c_buf_p) = (char *) 0;
6837 (yy_start_stack_ptr) = 0;
6838 (yy_start_stack_depth) = 0;
6839 (yy_start_stack) = NULL;
6841 /* Defined in main.c */
6843 surf_parse_in = stdin;
6844 surf_parse_out = stdout;
6846 surf_parse_in = (FILE *) 0;
6847 surf_parse_out = (FILE *) 0;
6850 /* For future reference: Set errno on error, since we are called by
6851 * surf_parse_lex_init()
6856 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6857 int surf_parse_lex_destroy (void)
6860 /* Pop the buffer stack, destroying each element. */
6861 while(YY_CURRENT_BUFFER){
6862 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6863 YY_CURRENT_BUFFER_LVALUE = NULL;
6864 surf_parse_pop_buffer_state();
6867 /* Destroy the stack itself. */
6868 surf_parse_free((yy_buffer_stack) );
6869 (yy_buffer_stack) = NULL;
6871 /* Destroy the start condition stack. */
6872 surf_parse_free((yy_start_stack) );
6873 (yy_start_stack) = NULL;
6875 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6876 * surf_parse_lex() is called, initialization will occur. */
6883 * Internal utility routines.
6887 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6890 for ( i = 0; i < n; ++i )
6895 #ifdef YY_NEED_STRLEN
6896 static int yy_flex_strlen (yyconst char * s )
6899 for ( n = 0; s[n]; ++n )
6906 void *surf_parse_alloc (yy_size_t size )
6908 return (void *) malloc( size );
6911 void *surf_parse_realloc (void * ptr, yy_size_t size )
6913 /* The cast to (char *) in the following accommodates both
6914 * implementations that use char* generic pointers, and those
6915 * that use void* generic pointers. It works with the latter
6916 * because both ANSI C and C++ allow castless assignment from
6917 * any pointer type to void*, and deal with argument conversions
6918 * as though doing an assignment.
6920 return (void *) realloc( (char *) ptr, size );
6923 void surf_parse_free (void * ptr )
6925 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6928 #define YYTABLES_NAME "yytables"
6930 /* Element context stack lookup. */
6931 int surfxml_element_context(int i)
6933 return (0<i && i<yy_start_stack_depth
6934 ? yy_start_stack[yy_start_stack_ptr - i]
6939 void print_yy_stack(char* fmt, ...)
6941 int i = 0; va_list ap; va_start(ap, fmt);
6942 vfprintf(stderr, fmt, ap);
6943 if (surfxml_statenames) {
6944 for (i=1; i<yy_start_stack_ptr; i++) {
6945 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6947 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6952 void print_surfxml_bufferstack()
6955 fputs("Buffer: ", stderr);
6956 for (i = 0; i < blimit; i++) {
6957 if ( surfxml_bufferstack[i] == '\377' ) break;
6958 putc(surfxml_bufferstack[i], stderr);
6963 static void debug_enter(int state, const char* statename) {
6964 yy_push_state(state);
6965 if (surf_parse__flex_debug) {
6966 print_yy_stack("--ENTER(%s) : ",statename);
6967 print_surfxml_bufferstack();
6971 static void debug_leave(void) {
6972 if (surf_parse__flex_debug) {
6973 print_yy_stack("--LEAVE : ");
6974 print_surfxml_bufferstack();
6979 static void debug_set(int state, const char* statename) {
6981 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6985 static void cleanup(void)
6987 if (surfxml_statenames) {
6988 free(surfxml_statenames);
6989 surfxml_statenames = NULL;
6991 free(surfxml_bufferstack);
6992 surfxml_bufferstack = NULL;
6998 static int fail(const char* fmt, ...)
7000 int chars_left, used;
7001 va_list ap; va_start(ap, fmt);
7002 #ifdef FLEXML_yylineno
7003 used = sprintf(flexml_err_msg,
7004 "Invalid XML (XML input line %d, state %d): ",
7005 surf_parse_lineno, YY_START);
7007 used = sprintf(flexml_err_msg,
7008 "Invalid XML (state %d): ",
7011 chars_left = flexml_max_err_msg_size - used - 1;
7012 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7015 #ifndef FLEXML_quiet_parser
7016 /* print directly to sdterr */
7017 fprintf(stderr, "%s\n", flexml_err_msg);
7018 flexml_err_msg[0] = '\0';