Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Change the namespace of flexml-generated parser from surfxml to simgrid_parse
[simgrid.git] / src / surf / xml / simgrid_dtd.c
1
2 #define  YY_INT_ALIGNED short int
3
4 /* A lexical scanner generated by flex */
5
6 #define yy_create_buffer surf_parse__create_buffer
7 #define yy_delete_buffer surf_parse__delete_buffer
8 #define yy_scan_buffer surf_parse__scan_buffer
9 #define yy_scan_string surf_parse__scan_string
10 #define yy_scan_bytes surf_parse__scan_bytes
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 yypush_buffer_state surf_parse_push_buffer_state
16 #define yypop_buffer_state surf_parse_pop_buffer_state
17 #define yyensure_buffer_stack surf_parse_ensure_buffer_stack
18 #define yy_flex_debug surf_parse__flex_debug
19 #define yyin surf_parse_in
20 #define yyleng surf_parse_leng
21 #define yylex surf_parse_lex
22 #define yylineno surf_parse_lineno
23 #define yyout surf_parse_out
24 #define yyrestart surf_parse_restart
25 #define yytext surf_parse_text
26 #define yywrap surf_parse_wrap
27 #define yyalloc surf_parse_alloc
28 #define yyrealloc surf_parse_realloc
29 #define yyfree surf_parse_free
30
31 #define FLEX_SCANNER
32 #define YY_FLEX_MAJOR_VERSION 2
33 #define YY_FLEX_MINOR_VERSION 6
34 #define YY_FLEX_SUBMINOR_VERSION 4
35 #if YY_FLEX_SUBMINOR_VERSION > 0
36 #define FLEX_BETA
37 #endif
38
39 #ifdef yy_create_buffer
40 #define surf_parse__create_buffer_ALREADY_DEFINED
41 #else
42 #define yy_create_buffer surf_parse__create_buffer
43 #endif
44
45 #ifdef yy_delete_buffer
46 #define surf_parse__delete_buffer_ALREADY_DEFINED
47 #else
48 #define yy_delete_buffer surf_parse__delete_buffer
49 #endif
50
51 #ifdef yy_scan_buffer
52 #define surf_parse__scan_buffer_ALREADY_DEFINED
53 #else
54 #define yy_scan_buffer surf_parse__scan_buffer
55 #endif
56
57 #ifdef yy_scan_string
58 #define surf_parse__scan_string_ALREADY_DEFINED
59 #else
60 #define yy_scan_string surf_parse__scan_string
61 #endif
62
63 #ifdef yy_scan_bytes
64 #define surf_parse__scan_bytes_ALREADY_DEFINED
65 #else
66 #define yy_scan_bytes surf_parse__scan_bytes
67 #endif
68
69 #ifdef yy_init_buffer
70 #define surf_parse__init_buffer_ALREADY_DEFINED
71 #else
72 #define yy_init_buffer surf_parse__init_buffer
73 #endif
74
75 #ifdef yy_flush_buffer
76 #define surf_parse__flush_buffer_ALREADY_DEFINED
77 #else
78 #define yy_flush_buffer surf_parse__flush_buffer
79 #endif
80
81 #ifdef yy_load_buffer_state
82 #define surf_parse__load_buffer_state_ALREADY_DEFINED
83 #else
84 #define yy_load_buffer_state surf_parse__load_buffer_state
85 #endif
86
87 #ifdef yy_switch_to_buffer
88 #define surf_parse__switch_to_buffer_ALREADY_DEFINED
89 #else
90 #define yy_switch_to_buffer surf_parse__switch_to_buffer
91 #endif
92
93 #ifdef yypush_buffer_state
94 #define surf_parse_push_buffer_state_ALREADY_DEFINED
95 #else
96 #define yypush_buffer_state surf_parse_push_buffer_state
97 #endif
98
99 #ifdef yypop_buffer_state
100 #define surf_parse_pop_buffer_state_ALREADY_DEFINED
101 #else
102 #define yypop_buffer_state surf_parse_pop_buffer_state
103 #endif
104
105 #ifdef yyensure_buffer_stack
106 #define surf_parse_ensure_buffer_stack_ALREADY_DEFINED
107 #else
108 #define yyensure_buffer_stack surf_parse_ensure_buffer_stack
109 #endif
110
111 #ifdef yylex
112 #define surf_parse_lex_ALREADY_DEFINED
113 #else
114 #define yylex surf_parse_lex
115 #endif
116
117 #ifdef yyrestart
118 #define surf_parse_restart_ALREADY_DEFINED
119 #else
120 #define yyrestart surf_parse_restart
121 #endif
122
123 #ifdef yylex_init
124 #define surf_parse_lex_init_ALREADY_DEFINED
125 #else
126 #define yylex_init surf_parse_lex_init
127 #endif
128
129 #ifdef yylex_init_extra
130 #define surf_parse_lex_init_extra_ALREADY_DEFINED
131 #else
132 #define yylex_init_extra surf_parse_lex_init_extra
133 #endif
134
135 #ifdef yylex_destroy
136 #define surf_parse_lex_destroy_ALREADY_DEFINED
137 #else
138 #define yylex_destroy surf_parse_lex_destroy
139 #endif
140
141 #ifdef yyget_debug
142 #define surf_parse_get_debug_ALREADY_DEFINED
143 #else
144 #define yyget_debug surf_parse_get_debug
145 #endif
146
147 #ifdef yyset_debug
148 #define surf_parse_set_debug_ALREADY_DEFINED
149 #else
150 #define yyset_debug surf_parse_set_debug
151 #endif
152
153 #ifdef yyget_extra
154 #define surf_parse_get_extra_ALREADY_DEFINED
155 #else
156 #define yyget_extra surf_parse_get_extra
157 #endif
158
159 #ifdef yyset_extra
160 #define surf_parse_set_extra_ALREADY_DEFINED
161 #else
162 #define yyset_extra surf_parse_set_extra
163 #endif
164
165 #ifdef yyget_in
166 #define surf_parse_get_in_ALREADY_DEFINED
167 #else
168 #define yyget_in surf_parse_get_in
169 #endif
170
171 #ifdef yyset_in
172 #define surf_parse_set_in_ALREADY_DEFINED
173 #else
174 #define yyset_in surf_parse_set_in
175 #endif
176
177 #ifdef yyget_out
178 #define surf_parse_get_out_ALREADY_DEFINED
179 #else
180 #define yyget_out surf_parse_get_out
181 #endif
182
183 #ifdef yyset_out
184 #define surf_parse_set_out_ALREADY_DEFINED
185 #else
186 #define yyset_out surf_parse_set_out
187 #endif
188
189 #ifdef yyget_leng
190 #define surf_parse_get_leng_ALREADY_DEFINED
191 #else
192 #define yyget_leng surf_parse_get_leng
193 #endif
194
195 #ifdef yyget_text
196 #define surf_parse_get_text_ALREADY_DEFINED
197 #else
198 #define yyget_text surf_parse_get_text
199 #endif
200
201 #ifdef yyget_lineno
202 #define surf_parse_get_lineno_ALREADY_DEFINED
203 #else
204 #define yyget_lineno surf_parse_get_lineno
205 #endif
206
207 #ifdef yyset_lineno
208 #define surf_parse_set_lineno_ALREADY_DEFINED
209 #else
210 #define yyset_lineno surf_parse_set_lineno
211 #endif
212
213 #ifdef yywrap
214 #define surf_parse_wrap_ALREADY_DEFINED
215 #else
216 #define yywrap surf_parse_wrap
217 #endif
218
219 #ifdef yyalloc
220 #define surf_parse_alloc_ALREADY_DEFINED
221 #else
222 #define yyalloc surf_parse_alloc
223 #endif
224
225 #ifdef yyrealloc
226 #define surf_parse_realloc_ALREADY_DEFINED
227 #else
228 #define yyrealloc surf_parse_realloc
229 #endif
230
231 #ifdef yyfree
232 #define surf_parse_free_ALREADY_DEFINED
233 #else
234 #define yyfree surf_parse_free
235 #endif
236
237 #ifdef yytext
238 #define surf_parse_text_ALREADY_DEFINED
239 #else
240 #define yytext surf_parse_text
241 #endif
242
243 #ifdef yyleng
244 #define surf_parse_leng_ALREADY_DEFINED
245 #else
246 #define yyleng surf_parse_leng
247 #endif
248
249 #ifdef yyin
250 #define surf_parse_in_ALREADY_DEFINED
251 #else
252 #define yyin surf_parse_in
253 #endif
254
255 #ifdef yyout
256 #define surf_parse_out_ALREADY_DEFINED
257 #else
258 #define yyout surf_parse_out
259 #endif
260
261 #ifdef yy_flex_debug
262 #define surf_parse__flex_debug_ALREADY_DEFINED
263 #else
264 #define yy_flex_debug surf_parse__flex_debug
265 #endif
266
267 #ifdef yylineno
268 #define surf_parse_lineno_ALREADY_DEFINED
269 #else
270 #define yylineno surf_parse_lineno
271 #endif
272
273 /* First, we deal with  platform-specific or compiler-specific issues. */
274
275 /* begin standard C headers. */
276 #include <stdio.h>
277 #include <string.h>
278 #include <errno.h>
279 #include <stdlib.h>
280
281 /* end standard C headers. */
282
283 /* flex integer type definitions */
284
285 #ifndef FLEXINT_H
286 #define FLEXINT_H
287
288 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
289
290 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
291
292 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
293  * if you want the limit (max/min) macros for int types. 
294  */
295 #ifndef __STDC_LIMIT_MACROS
296 #define __STDC_LIMIT_MACROS 1
297 #endif
298
299 #include <inttypes.h>
300 typedef int8_t flex_int8_t;
301 typedef uint8_t flex_uint8_t;
302 typedef int16_t flex_int16_t;
303 typedef uint16_t flex_uint16_t;
304 typedef int32_t flex_int32_t;
305 typedef uint32_t flex_uint32_t;
306 #else
307 typedef signed char flex_int8_t;
308 typedef short int flex_int16_t;
309 typedef int flex_int32_t;
310 typedef unsigned char flex_uint8_t; 
311 typedef unsigned short int flex_uint16_t;
312 typedef unsigned int flex_uint32_t;
313
314 /* Limits of integral types. */
315 #ifndef INT8_MIN
316 #define INT8_MIN               (-128)
317 #endif
318 #ifndef INT16_MIN
319 #define INT16_MIN              (-32767-1)
320 #endif
321 #ifndef INT32_MIN
322 #define INT32_MIN              (-2147483647-1)
323 #endif
324 #ifndef INT8_MAX
325 #define INT8_MAX               (127)
326 #endif
327 #ifndef INT16_MAX
328 #define INT16_MAX              (32767)
329 #endif
330 #ifndef INT32_MAX
331 #define INT32_MAX              (2147483647)
332 #endif
333 #ifndef UINT8_MAX
334 #define UINT8_MAX              (255U)
335 #endif
336 #ifndef UINT16_MAX
337 #define UINT16_MAX             (65535U)
338 #endif
339 #ifndef UINT32_MAX
340 #define UINT32_MAX             (4294967295U)
341 #endif
342
343 #ifndef SIZE_MAX
344 #define SIZE_MAX               (~(size_t)0)
345 #endif
346
347 #endif /* ! C99 */
348
349 #endif /* ! FLEXINT_H */
350
351 /* begin standard C++ headers. */
352
353 /* TODO: this is always defined, so inline it */
354 #define yyconst const
355
356 #if defined(__GNUC__) && __GNUC__ >= 3
357 #define yynoreturn __attribute__((__noreturn__))
358 #else
359 #define yynoreturn
360 #endif
361
362 /* Returned upon end-of-file. */
363 #define YY_NULL 0
364
365 /* Promotes a possibly negative, possibly signed char to an
366  *   integer in range [0..255] for use as an array index.
367  */
368 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
369
370 /* Enter a start condition.  This macro really ought to take a parameter,
371  * but we do it the disgusting crufty way forced on us by the ()-less
372  * definition of BEGIN.
373  */
374 #define BEGIN (yy_start) = 1 + 2 *
375 /* Translate the current start state into a value that can be later handed
376  * to BEGIN to return to the state.  The YYSTATE alias is for lex
377  * compatibility.
378  */
379 #define YY_START (((yy_start) - 1) / 2)
380 #define YYSTATE YY_START
381 /* Action number for EOF rule of a given start state. */
382 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
383 /* Special action meaning "start processing a new file". */
384 #define YY_NEW_FILE yyrestart( yyin  )
385 #define YY_END_OF_BUFFER_CHAR 0
386
387 /* Size of default input buffer. */
388 #ifndef YY_BUF_SIZE
389 #ifdef __ia64__
390 /* On IA-64, the buffer size is 16k, not 8k.
391  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
392  * Ditto for the __ia64__ case accordingly.
393  */
394 #define YY_BUF_SIZE 32768
395 #else
396 #define YY_BUF_SIZE 16384
397 #endif /* __ia64__ */
398 #endif
399
400 /* The state buf must be large enough to hold one state per character in the main buffer.
401  */
402 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
403
404 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
405 #define YY_TYPEDEF_YY_BUFFER_STATE
406 typedef struct yy_buffer_state *YY_BUFFER_STATE;
407 #endif
408
409 #ifndef YY_TYPEDEF_YY_SIZE_T
410 #define YY_TYPEDEF_YY_SIZE_T
411 typedef size_t yy_size_t;
412 #endif
413
414 extern int yyleng;
415
416 extern FILE *yyin, *yyout;
417
418 #define EOB_ACT_CONTINUE_SCAN 0
419 #define EOB_ACT_END_OF_FILE 1
420 #define EOB_ACT_LAST_MATCH 2
421     
422     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
423      *       access to the local variable yy_act. Since yyless() is a macro, it would break
424      *       existing scanners that call yyless() from OUTSIDE yylex.
425      *       One obvious solution it to make yy_act a global. I tried that, and saw
426      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
427      *       normally declared as a register variable-- so it is not worth it.
428      */
429     #define  YY_LESS_LINENO(n) \
430             do { \
431                 int yyl;\
432                 for ( yyl = n; yyl < yyleng; ++yyl )\
433                     if ( yytext[yyl] == '\n' )\
434                         --yylineno;\
435             }while(0)
436     #define YY_LINENO_REWIND_TO(dst) \
437             do {\
438                 const char *p;\
439                 for ( p = yy_cp-1; p >= (dst); --p)\
440                     if ( *p == '\n' )\
441                         --yylineno;\
442             }while(0)
443     
444 /* Return all but the first "n" matched characters back to the input stream. */
445 #define yyless(n) \
446         do \
447                 { \
448                 /* Undo effects of setting up yytext. */ \
449         int yyless_macro_arg = (n); \
450         YY_LESS_LINENO(yyless_macro_arg);\
451                 *yy_cp = (yy_hold_char); \
452                 YY_RESTORE_YY_MORE_OFFSET \
453                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
454                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
455                 } \
456         while ( 0 )
457 #define unput(c) yyunput( c, (yytext_ptr)  )
458
459 #ifndef YY_STRUCT_YY_BUFFER_STATE
460 #define YY_STRUCT_YY_BUFFER_STATE
461 struct yy_buffer_state
462         {
463         FILE *yy_input_file;
464
465         char *yy_ch_buf;                /* input buffer */
466         char *yy_buf_pos;               /* current position in input buffer */
467
468         /* Size of input buffer in bytes, not including room for EOB
469          * characters.
470          */
471         int yy_buf_size;
472
473         /* Number of characters read into yy_ch_buf, not including EOB
474          * characters.
475          */
476         int yy_n_chars;
477
478         /* Whether we "own" the buffer - i.e., we know we created it,
479          * and can realloc() it to grow it, and should free() it to
480          * delete it.
481          */
482         int yy_is_our_buffer;
483
484         /* Whether this is an "interactive" input source; if so, and
485          * if we're using stdio for input, then we want to use getc()
486          * instead of fread(), to make sure we stop fetching input after
487          * each newline.
488          */
489         int yy_is_interactive;
490
491         /* Whether we're considered to be at the beginning of a line.
492          * If so, '^' rules will be active on the next match, otherwise
493          * not.
494          */
495         int yy_at_bol;
496
497     int yy_bs_lineno; /**< The line count. */
498     int yy_bs_column; /**< The column count. */
499
500         /* Whether to try to fill the input buffer when we reach the
501          * end of it.
502          */
503         int yy_fill_buffer;
504
505         int yy_buffer_status;
506
507 #define YY_BUFFER_NEW 0
508 #define YY_BUFFER_NORMAL 1
509         /* When an EOF's been seen but there's still some text to process
510          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
511          * shouldn't try reading from the input source any more.  We might
512          * still have a bunch of tokens to match, though, because of
513          * possible backing-up.
514          *
515          * When we actually see the EOF, we change the status to "new"
516          * (via yyrestart()), so that the user can continue scanning by
517          * just pointing yyin at a new input file.
518          */
519 #define YY_BUFFER_EOF_PENDING 2
520
521         };
522 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
523
524 /* Stack of input buffers. */
525 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
526 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
527 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
528
529 /* We provide macros for accessing buffer states in case in the
530  * future we want to put the buffer states in a more general
531  * "scanner state".
532  *
533  * Returns the top of the stack, or NULL.
534  */
535 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
536                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
537                           : NULL)
538 /* Same as previous macro, but useful when we know that the buffer stack is not
539  * NULL or when we need an lvalue. For internal use only.
540  */
541 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
542
543 /* yy_hold_char holds the character lost when yytext is formed. */
544 static char yy_hold_char;
545 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
546 int yyleng;
547
548 /* Points to current character in buffer. */
549 static char *yy_c_buf_p = NULL;
550 static int yy_init = 0;         /* whether we need to initialize */
551 static int yy_start = 0;        /* start state number */
552
553 /* Flag which is used to allow yywrap()'s to do buffer switches
554  * instead of setting up a fresh yyin.  A bit of a hack ...
555  */
556 static int yy_did_buffer_switch_on_eof;
557
558 void yyrestart ( FILE *input_file  );
559 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
560 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
561 void yy_delete_buffer ( YY_BUFFER_STATE b  );
562 void yy_flush_buffer ( YY_BUFFER_STATE b  );
563 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
564 void yypop_buffer_state ( void );
565
566 static void yyensure_buffer_stack ( void );
567 static void yy_load_buffer_state ( void );
568 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
569 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
570
571 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
572 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
573 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
574
575 void *yyalloc ( yy_size_t  );
576 void *yyrealloc ( void *, yy_size_t  );
577 void yyfree ( void *  );
578
579 #define yy_new_buffer yy_create_buffer
580 #define yy_set_interactive(is_interactive) \
581         { \
582         if ( ! YY_CURRENT_BUFFER ){ \
583         yyensure_buffer_stack (); \
584                 YY_CURRENT_BUFFER_LVALUE =    \
585             yy_create_buffer( yyin, YY_BUF_SIZE ); \
586         } \
587         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
588         }
589 #define yy_set_bol(at_bol) \
590         { \
591         if ( ! YY_CURRENT_BUFFER ){\
592         yyensure_buffer_stack (); \
593                 YY_CURRENT_BUFFER_LVALUE =    \
594             yy_create_buffer( yyin, YY_BUF_SIZE ); \
595         } \
596         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
597         }
598 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
599
600 /* Begin user sect3 */
601
602 #define surf_parse_wrap() (/*CONSTCOND*/1)
603 #define YY_SKIP_YYWRAP
604 typedef flex_uint8_t YY_CHAR;
605
606 FILE *yyin = NULL, *yyout = NULL;
607
608 typedef int yy_state_type;
609
610 extern int yylineno;
611 int yylineno = 1;
612
613 extern char *yytext;
614 #ifdef yytext_ptr
615 #undef yytext_ptr
616 #endif
617 #define yytext_ptr yytext
618
619 static yy_state_type yy_get_previous_state ( void );
620 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
621 static int yy_get_next_buffer ( void );
622 static void yynoreturn yy_fatal_error ( const char* msg  );
623
624 /* Done after the current pattern has been matched and before the
625  * corresponding action - sets up yytext.
626  */
627 #define YY_DO_BEFORE_ACTION \
628         (yytext_ptr) = yy_bp; \
629         yyleng = (int) (yy_cp - yy_bp); \
630         (yy_hold_char) = *yy_cp; \
631         *yy_cp = '\0'; \
632         (yy_c_buf_p) = yy_cp;
633 #define YY_NUM_RULES 649
634 #define YY_END_OF_BUFFER 650
635 /* This struct is not used in this scanner,
636    but its presence is necessary. */
637 struct yy_trans_info
638         {
639         flex_int32_t yy_verify;
640         flex_int32_t yy_nxt;
641         };
642 static const flex_int16_t yy_accept[3913] =
643     {   0,
644         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
645         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
646         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
647         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
648         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
649         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
650         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
651         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
652         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
653         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
654
655         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
656         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
657         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
658         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
659         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
660         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
661         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
662         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
663         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
664         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
665
666         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
667         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
668         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
669         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
670         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
671         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
672         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
673         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
674         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
675         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
676
677         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
678         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
679         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
680         0,    0,  650,  648,   16,   10,   10,   16,   16,  628,
681        10,  628,    5,    6,    5,    8,    9,    8,  644,  636,
682       637,  645,  642,  645,  643,  647,  636,  637,  647,   25,
683        10,   25,   25,   25,   23,   25,   25,   29,   10,   29,
684        29,  648,   29,  648,   29,   29,  648,  648,   29,  648,
685        29,  648,   29,   50,   10,   50,   50,   50,   48,   50,
686        50,   50,   54,   10,   54,  648,   54,   71,   10,   71,
687
688        71,   71,   69,   71,   71,   71,   71,   71,   75,   10,
689        75,  648,   75,   82,   10,   82,   82,   82,   80,   82,
690        86,   10,   86,   97,   10,   97,   97,   97,   95,   97,
691        97,   97,  101,   10,  101,  114,   10,  114,  114,  114,
692       112,  114,  114,  114,  118,   10,  118,  118,  127,   10,
693       127,  127,  127,  125,  127,  127,  131,   10,  131,  131,
694       144,   10,  144,  144,  144,  142,  144,  144,  144,  148,
695        10,  148,  148,  167,   10,  167,  167,  167,  165,  167,
696       167,  167,  167,  167,  167,  171,   10,  171,  226,   10,
697       226,  226,  226,  224,  226,  226,  226,  226,  226,  226,
698
699       226,  226,  230,   10,  230,  230,  237,   10,  237,  237,
700       237,  235,  237,  241,   10,  241,  241,  252,   10,  252,
701       252,  252,  250,  252,  252,  252,  256,   10,  256,  256,
702       277,   10,  277,  277,  277,  275,  277,  277,  277,  277,
703       277,  281,   10,  281,  648,  281,  292,   10,  292,  292,
704       292,  290,  292,  292,  292,  296,   10,  296,  303,   10,
705       303,  303,  303,  301,  303,  307,   10,  307,  648,  307,
706       334,   10,  334,  334,  334,  332,  334,  334,  334,  334,
707       338,   10,  338,  338,  351,   10,  351,  351,  351,  349,
708       351,  351,  355,   10,  355,  364,   10,  364,  364,  364,
709
710       362,  364,  364,  368,   10,  368,  377,   10,  377,  377,
711       377,  375,  377,  377,  381,   10,  381,  404,   10,  404,
712       404,  404,  402,  404,  404,  404,  404,  404,  404,  408,
713        10,  408,  648,  415,   10,  415,  415,  415,  413,  415,
714       419,   10,  419,  419,  648,  419,  648,  419,  436,   10,
715       436,  436,  436,  434,  436,  436,  436,  436,  436,  440,
716        10,  440,  440,  449,   10,  449,  449,  449,  447,  449,
717       449,  453,   10,  453,  480,   10,  480,  480,  480,  478,
718       480,  480,  480,  480,  480,  484,   10,  484,  501,   10,
719       501,  501,  501,  499,  501,  501,  505,   10,  505,  505,
720
721       514,   10,  514,  514,  514,  512,  514,  514,  518,   10,
722       518,  531,   10,  531,  531,  531,  529,  531,  531,  531,
723       531,  535,   10,  535,  535,  548,   10,  548,  548,  548,
724       546,  548,  548,  548,  548,  552,   10,  552,  648,  552,
725       563,   10,  563,  563,  563,  561,  563,  563,  563,  645,
726       644,  585,   10,  585,  585,  585,  583,  585,  585,  585,
727       589,   10,  589,  598,   10,  598,  598,  598,  596,  598,
728       598,  602,   10,  602,  602,  602,  648,  602,  602,  602,
729       602,  602,  623,   10,  623,  623,  623,  621,  623,  623,
730       623,  627,   10,  627,  627,   10,    0,    2,    2,    0,
731
732         4,    7,  639,  638,    0,    0,    0,    0,    0,    0,
733        24,   26,   26,   26,    0,    0,    0,    0,    0,    0,
734         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
735         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
736         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
737         0,    0,    0,    0,   49,   51,   51,   51,   51,   51,
738         0,    0,   70,   72,   72,   72,   72,   72,   72,    0,
739         0,   81,   83,   83,    0,   96,   98,   98,   98,   98,
740         0,  113,  115,  115,  115,  115,    0,  126,  128,  128,
741       128,    0,  143,  145,  145,  145,  145,    0,  166,  168,
742
743       168,  168,  168,  168,  168,  168,  168,    0,  225,  227,
744       227,  227,  227,  227,  227,  227,  227,  227,  227,  227,
745       227,  227,  227,  227,    0,  236,  238,  238,    0,  251,
746       253,  253,  253,  253,    0,  276,  278,  278,  278,  278,
747       278,  278,  278,    0,    0,    0,  291,  293,  293,  293,
748       293,    0,  302,  304,  304,    0,  333,  335,  335,  335,
749       335,  335,  335,    0,  350,  352,  352,  352,    0,  363,
750       365,  365,  365,    0,  376,  378,  378,  378,    0,  403,
751       405,  405,  405,  405,  405,  405,  405,  405,    0,    0,
752       414,  416,  416,    0,    0,    0,    0,    0,    0,    0,
753
754       435,  437,  437,  437,  437,  437,  437,    0,  448,  450,
755       450,  450,    0,  479,  481,  481,  481,  481,  481,  481,
756       481,  481,  481,    0,  500,  502,  502,  502,  502,    0,
757       513,  515,  515,  515,    0,  530,  532,  532,  532,  532,
758       532,    0,  547,  549,  549,  549,  549,  549,    0,    0,
759       562,  564,  564,  564,  564,    0,    0,    0,  584,  586,
760       586,  586,  586,    0,  597,  599,  599,  599,    0,    0,
761       622,  624,  624,  624,  624,  624,    0,    0,    0,    0,
762         0,    3,    0,    0,    0,    0,    0,    0,    0,  646,
763         0,    0,   26,    0,    0,   18,    0,    0,    0,    0,
764
765         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
766         0,    0,    0,    0,    0,    0,    0,   17,    0,    0,
767         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
768        17,    0,    0,   18,    0,    0,    0,    0,   51,   51,
769        51,   51,    0,    0,    0,   72,   72,   72,   72,   72,
770         0,    0,    0,   83,    0,    0,   98,    0,    0,   98,
771         0,    0,  115,  115,  115,    0,    0,  128,  128,    0,
772         0,  145,  145,  145,    0,    0,    0,    0,    0,    0,
773       168,  168,  168,  168,  168,    0,    0,  227,    0,    0,
774       227,    0,    0,  227,  227,  227,  227,  227,  227,  227,
775
776       227,  227,  227,    0,    0,    0,    0,    0,    0,    0,
777         0,  253,  253,    0,    0,  278,  278,  278,    0,    0,
778       278,  278,  278,    0,    0,    0,    0,  293,    0,    0,
779         0,    0,    0,    0,  304,    0,    0,  335,    0,    0,
780       335,  335,  335,    0,    0,  352,    0,    0,    0,    0,
781         0,    0,  365,    0,    0,  378,  378,    0,    0,  405,
782       405,  405,    0,    0,  405,  405,  405,    0,    0,    0,
783       416,    0,    0,    0,    0,    0,    0,  437,  437,  437,
784       437,  437,    0,    0,    0,    0,  450,    0,    0,  481,
785         0,    0,  481,  481,  481,  481,  481,  481,    0,    0,
786
787       502,  502,  502,    0,    0,  515,    0,    0,    0,    0,
788       532,  532,    0,    0,  532,    0,    0,  549,    0,    0,
789       549,  549,    0,    0,    0,  564,    0,    0,  564,    0,
790         0,    0,  641,  586,  586,  586,    0,    0,    0,    0,
791       599,    0,    0,  624,  624,  624,  624,    0,    0,    0,
792        15,    1,    0,    0,  634,    0,    0,    0,  631,  630,
793         0,    0,   20,   19,   26,    0,    0,   28,    0,   18,
794         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
795         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
796         0,    0,    0,   17,    0,    0,    0,    0,    0,    0,
797
798         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
799         0,    0,    0,    0,    0,   51,   51,    0,    0,   51,
800         0,    0,   53,    0,    0,   72,   72,   72,   72,   72,
801         0,    0,   74,    0,    0,   83,    0,    0,   85,    0,
802        98,    0,   92,   91,   98,    0,    0,  100,    0,    0,
803         0,  115,  115,    0,    0,    0,    0,  117,    0,    0,
804         0,    0,    0,    0,    0,  130,    0,    0,    0,  145,
805       145,    0,    0,    0,    0,  147,    0,    0,  152,  151,
806         0,  154,  153,    0,    0,  168,  168,  168,  168,    0,
807         0,  170,    0,  227,  227,  227,    0,  183,  182,  227,
808
809         0,  187,  186,    0,    0,  227,  227,  227,  227,  227,
810       227,  227,  227,  227,    0,    0,  229,    0,    0,  234,
811       233,    0,    0,  240,    0,    0,  245,  244,  253,  253,
812         0,    0,  255,    0,  278,  278,  278,    0,  266,  265,
813       278,  278,  278,    0,    0,  280,    0,    0,    0,  293,
814         0,  287,  286,    0,  289,  288,    0,    0,  295,    0,
815       304,    0,    0,  306,    0,  335,    0,  315,  314,  335,
816       335,  335,    0,    0,  337,    0,  352,    0,  348,  347,
817         0,    0,  354,    0,    0,  359,  358,  365,    0,    0,
818       367,    0,  378,  378,    0,    0,  380,    0,  405,  405,
819
820       405,  405,    0,  393,  392,    0,    0,  405,  405,    0,
821         0,  407,    0,    0,  416,    0,    0,  418,    0,    0,
822         0,    0,    0,  437,  437,  437,  437,  437,    0,    0,
823       439,    0,    0,  444,  443,  450,    0,    0,  452,    0,
824       481,    0,  465,  464,    0,    0,  481,    0,    0,  481,
825       481,  481,    0,    0,  483,    0,    0,    0,    0,    0,
826       502,    0,    0,  504,    0,  515,    0,  511,  510,    0,
827         0,  517,    0,  532,  532,    0,  526,  525,  532,    0,
828         0,  534,    0,  549,    0,  541,  540,  549,  549,    0,
829         0,  551,    0,    0,  564,    0,  558,  557,  564,    0,
830
831         0,    0,  566,    0,  586,  586,  586,    0,    0,  588,
832         0,    0,  593,  592,  599,    0,    0,  601,    0,    0,
833         0,  624,  624,    0,    0,  624,    0,    0,  626,    0,
834         0,    0,  635,  629,    0,    0,   26,    0,   27,    0,
835         0,    0,    0,    0,    0,    0,    0,  242,  258,    0,
836       309,    0,    0,  383,    0,    0,  442,    0,    0,    0,
837         0,  591,  441,    0,    0,    0,    0,    0,  257,    0,
838       308,  382,    0,    0,    0,  590,    0,  590,  591,    0,
839         0,    0,    0,   33,   32,   51,   51,    0,   39,   38,
840        51,    0,  308,   72,    0,    0,   72,   72,   72,    0,
841
842         0,   83,    0,   98,   98,    0,    0,  105,  104,  115,
843       115,    0,  111,  110,    0,    0,  122,  121,    0,  124,
844       123,    0,    0,  135,  134,  145,  145,    0,  141,  140,
845         0,    0,  156,  155,  168,  168,  168,  168,    0,  227,
846       227,  227,    0,    0,    0,  189,  188,  227,  227,  227,
847       227,  227,  227,  227,  227,  227,  227,    0,    0,  253,
848       253,    0,  278,  278,    0,    0,  278,  278,  278,    0,
849       243,    0,    0,    0,    0,    0,    0,    0,  335,  335,
850       335,  335,    0,  352,    0,  365,    0,    0,    0,  378,
851         0,  405,  405,  405,  405,    0,  395,  394,  405,  405,
852
853         0,    0,  416,    0,    0,    0,    0,    0,  437,    0,
854         0,  437,  437,  437,    0,  450,    0,  481,    0,  467,
855       466,    0,    0,    0,  471,  470,  481,    0,    0,  481,
856         0,    0,  488,  487,    0,  490,  489,  502,    0,  515,
857         0,  532,  532,  532,    0,  549,  549,    0,    0,    0,
858         0,    0,    0,  564,    0,    0,  586,    0,    0,  586,
859         0,  599,    0,    0,  606,  605,  624,  624,    0,  612,
860       611,  624,    0,    0,    0,    0,   12,    0,  632,  633,
861        26,    0,   55,    0,    0,    0,    0,    0,    0,  242,
862       258,    0,    0,  309,    0,    0,  369,  383,    0,    0,
863
864       442,    0,  486,    0,  554,  591,    0,  441,    0,    0,
865         0,    0,    0,  257,    0,    0,  308,  382,  485,    0,
866       553,  590,    0,    0,    0,  486,  485,   51,   51,   51,
867         0,    0,   72,    0,   60,   59,   72,   72,   72,    0,
868         0,    0,    0,    0,   98,   98,    0,  115,  115,    0,
869         0,  145,  145,    0,  168,  168,    0,    0,  168,    0,
870         0,    0,  227,  227,    0,  185,  184,  227,  227,  227,
871       227,  227,  227,    0,    0,  227,  227,  227,    0,    0,
872       253,  253,    0,  278,  278,    0,  264,  263,  278,    0,
873         0,  278,  278,    0,  243,  370,    0,  285,  284,    0,
874
875         0,  300,  299,    0,  335,  335,  335,  335,    0,  352,
876         0,    0,    0,    0,    0,  372,  371,  378,    0,  405,
877         0,    0,  405,  405,    0,    0,  405,  405,    0,    0,
878       416,    0,   56,    0,    0,    0,  437,    0,  425,  424,
879       437,  437,  437,    0,    0,    0,    0,  481,    0,  469,
880       468,  481,    0,  475,  474,  481,    0,  502,    0,  515,
881         0,  532,  532,  532,    0,  549,    0,    0,    0,  545,
882       544,    0,    0,    0,  556,  555,  564,    0,    0,  586,
883         0,    0,    0,    0,    0,    0,  599,    0,  624,  624,
884       624,    0,    0,    0,    0,   11,   26,    0,   55,    0,
885
886         0,    0,    0,    0,  231,    0,    0,    0,    0,  369,
887         0,    0,  454,  486,  507,    0,  554,    0,    0,    0,
888         0,    0,    0,    0,    0,    0,  485,  506,    0,  553,
889         0,    0,    0,    0,    0,    0,    0,    0,   51,    0,
890         0,   72,   72,   72,   72,    0,    0,    0,   79,   78,
891         0,   98,   98,    0,    0,    0,    0,    0,    0,    0,
892         0,    0,    0,    0,    0,    0,    0,  168,    0,  162,
893       161,    0,    0,    0,    0,  175,  174,    0,    0,  227,
894       227,  227,    0,    0,  227,  227,  227,    0,  211,  210,
895         0,    0,  227,  227,    0,    0,  253,  253,    0,  254,
896
897       278,  278,    0,    0,    0,  270,  269,  278,  278,    0,
898       279,  370,    0,    0,  335,  335,  335,  335,    0,  336,
899       352,    0,    0,  361,  360,    0,  378,    0,  405,    0,
900       387,  386,    0,    0,  405,    0,  397,  396,  405,  405,
901         0,  406,    0,  416,    0,   56,  232,    0,  455,  437,
902       437,  437,  437,    0,    0,  446,  445,    0,  451,  481,
903       481,  481,    0,  502,    0,  515,    0,    0,    0,  532,
904         0,    0,    0,  549,    0,  543,  542,    0,    0,  564,
905         0,    0,  586,    0,    0,    0,    0,    0,    0,    0,
906         0,    0,  582,  581,    0,  599,    0,  600,    0,    0,
907
908         0,    0,  624,    0,    0,    0,    0,    0,    0,   31,
909         0,    0,    0,    0,    0,  150,  173,  231,    0,  298,
910         0,    0,    0,  420,  454,  507,  520,    0,    0,   30,
911         0,    0,    0,    0,  149,  172,    0,  297,  506,  519,
912         0,    0,    0,   35,   34,    0,   37,   36,   51,    0,
913         0,   72,   72,   72,   72,    0,   73,    0,    0,   98,
914         0,    0,    0,    0,  107,  106,    0,  109,  108,    0,
915         0,    0,  137,  136,    0,  139,  138,    0,    0,  158,
916       157,    0,    0,    0,  164,  163,    0,    0,  177,  176,
917       227,  227,  227,    0,  197,  196,    0,    0,  227,  227,
918
919         0,  213,  212,  227,  227,    0,    0,    0,    0,  253,
920       278,  278,    0,  268,  267,  278,  278,    0,    0,  335,
921         0,    0,  335,  335,  335,  352,    0,    0,  378,    0,
922       379,  405,    0,  389,  388,  405,  405,  405,    0,    0,
923         0,    0,  232,  421,  455,  437,  437,  437,  437,    0,
924       481,    0,    0,  481,    0,  502,    0,  503,  515,    0,
925         0,  522,  521,    0,    0,    0,  528,  527,    0,    0,
926         0,    0,    0,  564,    0,    0,  565,    0,    0,    0,
927         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
928         0,    0,    0,  608,  607,    0,  610,  609,  624,    0,
929
930         0,    0,    0,    0,   22,   21,   31,   76,   88,    0,
931         0,    0,  150,  173,    0,  298,  339,    0,  409,  420,
932       520,    0,    0,    0,   30,   87,    0,    0,    0,  149,
933       172,    0,  297,  519,    0,    0,    0,   51,    0,  340,
934         0,    0,   72,   72,   72,   77,    0,   98,    0,   94,
935        93,    0,    0,    0,    0,    0,  160,  159,    0,  227,
936       227,  227,    0,  199,  198,  227,  227,  227,    0,    0,
937         0,    0,  239,    0,  247,  246,    0,    0,  278,  278,
938       278,  278,    0,    0,  335,    0,  317,  316,  335,  335,
939       335,  352,    0,    0,  378,  405,  405,  405,  405,  410,
940
941         0,  412,  411,    0,  421,    0,    0,  437,  437,  437,
942         0,  481,    0,  473,  472,  481,    0,  482,  502,  515,
943         0,  516,    0,  524,  523,    0,    0,  539,  538,    0,
944         0,  564,  640,    0,  570,  569,    0,    0,    0,    0,
945         0,    0,    0,    0,    0,    0,    0,    0,  595,  594,
946       624,    0,    0,    0,    0,   76,   88,    0,    0,    0,
947       283,  339,    0,  409,    0,    0,  604,   87,    0,    0,
948         0,  282,    0,    0,  603,   51,    0,   52,  340,    0,
949        58,   57,    0,    0,   72,   72,   77,    0,    0,    0,
950         0,    0,    0,    0,    0,  169,  227,  227,  227,  227,
951
952         0,    0,  227,  227,    0,    0,    0,    0,  228,    0,
953       249,  248,  278,  278,  278,  278,    0,    0,  305,    0,
954         0,  335,  335,  335,  335,    0,    0,    0,    0,    0,
955         0,  405,  405,  405,  405,  410,    0,    0,  423,  422,
956         0,    0,  437,  437,    0,  438,    0,    0,  481,  502,
957       515,    0,  533,    0,    0,  564,    0,    0,    0,    0,
958         0,    0,    0,    0,    0,    0,    0,  624,    0,    0,
959         0,    0,    0,    0,    0,  283,  356,    0,    0,  604,
960         0,    0,    0,  282,    0,    0,  603,   51,    0,   62,
961        61,    0,    0,    0,    0,    0,   84,    0,   90,   89,
962
963         0,   99,    0,    0,    0,  227,  227,  227,  227,    0,
964       201,  200,  227,  227,    0,    0,    0,    0,    0,    0,
965       278,  278,    0,    0,    0,    0,    0,    0,  311,  310,
966       335,  335,  335,    0,    0,    0,    0,    0,    0,  353,
967         0,    0,  374,  373,  405,  405,    0,    0,    0,    0,
968         0,  417,    0,  427,  426,    0,    0,    0,    0,    0,
969         0,    0,  481,  502,  515,    0,  357,  564,    0,    0,
970         0,    0,    0,    0,    0,    0,    0,    0,    0,  624,
971         0,    0,    0,    0,    0,  120,    0,  356,    0,    0,
972         0,  119,    0,    0,    0,    0,    0,    0,    0,    0,
973
974         0,   68,   67,    0,    0,    0,  227,  227,    0,    0,
975       227,  227,  227,    0,    0,    0,    0,    0,    0,    0,
976         0,  278,    0,    0,    0,  272,  271,    0,  274,  273,
977         0,  294,  335,  335,  335,    0,  331,  330,    0,    0,
978         0,    0,    0,    0,    0,  405,    0,    0,    0,  399,
979       398,    0,  401,  400,    0,    0,    0,    0,  433,  432,
980         0,    0,    0,    0,    0,    0,  481,    0,    0,    0,
981         0,    0,  357,    0,    0,    0,    0,    0,    0,  574,
982         0,    0,    0,    0,  573,    0,    0,    0,    0,  625,
983         0,    0,    0,    0,  120,    0,  537,    0,    0,  119,
984
985         0,  536,    0,    0,    0,    0,    0,    0,    0,    0,
986         0,    0,    0,  227,    0,    0,    0,  193,  192,    0,
987         0,  227,  227,    0,    0,    0,    0,    0,    0,    0,
988         0,  278,    0,  262,  261,  335,    0,    0,  335,    0,
989         0,    0,    0,    0,    0,    0,  366,  405,    0,  391,
990       390,    0,    0,    0,    0,    0,    0,    0,    0,    0,
991         0,    0,    0,  481,    0,    0,    0,    0,  509,  508,
992         0,    0,  560,  559,    0,    0,    0,    0,    0,    0,
993         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
994       103,    0,  537,  568,  102,    0,  536,  567,    0,    0,
995
996         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
997         0,    0,  129,    0,  227,    0,  191,  190,    0,  195,
998       194,  227,  227,    0,    0,    0,    0,    0,    0,    0,
999         0,  278,  335,    0,  319,  318,  335,    0,    0,  342,
1000         0,    0,  341,  405,    0,    0,    0,    0,    0,    0,
1001         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1002         0,    0,    0,    0,    0,    0,    0,    0,    0,  580,
1003         0,    0,    0,  579,    0,    0,    0,    0,    0,    0,
1004         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1005       103,    0,  568,  102,    0,  567,    0,    0,    0,    0,
1006
1007         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1008       227,    0,    0,  227,    0,    0,  217,    0,    0,    0,
1009       216,    0,  278,    0,    0,    0,    0,    0,    0,    0,
1010         0,  405,    0,    0,    0,    0,    0,    0,    0,    0,
1011         0,    0,    0,    0,    0,  477,  476,    0,    0,    0,
1012         0,    0,    0,    0,    0,    0,  550,    0,    0,    0,
1013         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1014         0,    0,    0,    0,    0,    0,    0,    0,  133,  132,
1015        43,    0,   47,    0,   42,    0,   46,    0,   64,    0,
1016        63,    0,    0,  116,    0,  227,    0,    0,    0,    0,
1017
1018         0,    0,    0,  219,    0,    0,  218,  278,    0,  313,
1019       312,    0,    0,    0,  344,  346,  343,  345,  405,  429,
1020         0,  428,    0,    0,  463,  459,    0,    0,  462,  458,
1021         0,  494,    0,  498,    0,  493,    0,  497,    0,  578,
1022         0,    0,  577,    0,    0,    0,  587,  616,    0,  620,
1023         0,  615,    0,  619,    0,    0,    0,    0,   12,    0,
1024        12,    0,  133,  132,   41,   45,   40,   44,    0,    0,
1025         0,  227,    0,    0,    0,    0,    0,  215,  214,    0,
1026         0,    0,    0,  278,    0,    0,    0,    0,    0,    0,
1027       405,    0,    0,    0,    0,    0,    0,  492,  496,  491,
1028
1029       495,  572,  576,  571,  575,  614,  618,  613,  617,    0,
1030         0,    0,    0,    0,    0,    0,    0,  146,    0,    0,
1031         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1032         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1033         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1034         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1035         0,    0,    0,    0,    0,    0,    0,    0,  221,    0,
1036       220,    0,  260,  259,    0,    0,    0,    0,    0,    0,
1037         0,    0,    0,    0,    0,  385,  384,    0,    0,  457,
1038         0,  456,    0,    0,   11,   66,   65,    0,    0,    0,
1039
1040         0,    0,    0,    0,    0,    0,    0,    0,    0,  223,
1041       222,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1042         0,  431,  430,    0,    0,    0,    0,    0,    0,    0,
1043         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1044         0,    0,  329,    0,    0,    0,    0,  328,  461,  460,
1045         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1046         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1047         0,    0,    0,    0,    0,    0,    0,    0,  203,    0,
1048         0,    0,  202,    0,    0,    0,  321,    0,    0,    0,
1049       320,    0,    0,    0,    0,    0,    0,  209,    0,    0,
1050
1051       208,    0,    0,  327,    0,    0,  326,    0,    0,    0,
1052         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1053         0,    0,    0,    0,  179,    0,  178,    0,    0,    0,
1054         0,    0,    0,    0,    0,    0,    0,  181,  180,  207,
1055         0,  206,    0,  325,    0,  324,    0,    0,    0,  205,
1056       204,  323,  322,    0,    0,    0,    0,    0,    0,    0,
1057         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1058         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1059         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1060         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1061
1062         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1063         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1064         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1065         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1066         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1067         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1068         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1069         0,    0,   14,    0,    0,    0,    0,    0,    0,    0,
1070         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1071         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1072
1073         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1074        13,    0
1075     } ;
1076
1077 static const YY_CHAR yy_ec[256] =
1078     {   0,
1079         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
1080         1,    2,    4,    1,    1,    1,    1,    1,    1,    1,
1081         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1082         1,    2,    5,    6,    7,    1,    1,    8,    9,    1,
1083         1,    1,    1,    1,   10,   11,   12,   13,   13,   13,
1084        13,   14,   13,   13,   13,   15,   13,   16,   17,   18,
1085        19,   20,   21,    1,   22,   23,   24,   25,   26,   27,
1086        28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
1087        31,   38,   39,   40,   41,   42,   43,   44,   45,   46,
1088        47,    1,   48,    1,   49,    1,   50,   51,   52,   53,
1089
1090        54,   55,   56,   57,   58,   31,   59,   60,   61,   62,
1091        63,   64,   65,   66,   67,   68,   69,   70,   71,   72,
1092        73,   74,    1,    1,    1,    1,    1,    1,    1,    1,
1093         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1094         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1095         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1096         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1097         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1098         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1099         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1100
1101         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1102         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1103         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1104         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1105         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1106         1,    1,    1,    1,    1
1107     } ;
1108
1109 static const YY_CHAR yy_meta[75] =
1110     {   0,
1111         1,    2,    2,    2,    1,    1,    1,    1,    1,    3,
1112         3,    1,    4,    4,    4,    5,    6,    1,    7,    8,
1113         1,    9,    9,    9,    9,    9,    9,    5,    5,    5,
1114         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
1115         5,    5,    5,    5,    5,    5,    1,    1,    5,    9,
1116         9,    9,    9,    9,    9,    5,    5,    5,    5,    5,
1117         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
1118         5,    5,    5,    5
1119     } ;
1120
1121 static const flex_int16_t yy_base[4476] =
1122     {   0,
1123         0,    0,    0,    3,    6,    9,   12,   29,   16,   19,
1124        14,   17,   33,   36,   49,   55,   45,   61,  109,  175,
1125        66,   72,   76,   79,   83,  129,  132,  135,  140,  195,
1126       198,  201,  206,  224,  227,  232,  235,  244,  252,  255,
1127       261,  264,  272,  281,  284,  289,  292,  301,  309,  312,
1128       318,  321,  329,  338,  341,  346,  364,  431,  384,  387,
1129       390,  395,  412,  451,  454,  457,  498,  565,  462,  479,
1130       518,  521,  524,  529,  546,  585,  632,  702,  588,  591,
1131       772,  832,  596,  613,  892,  959,  652,  655,  658,  663,
1132       680,  683,  722,  725, 1026, 1093,  728,  733,  750,  753,
1133
1134       792,  795,  798,  803, 1160, 1227,  852,  855,  858,  863,
1135       912,  915,  918,  923, 1294, 1361,  940,  979, 1428,    0,
1136       982,  985,  990, 1007, 1046, 1049, 1052, 1057, 1502, 1560,
1137      1074, 1113, 1116, 1119, 1124, 1141, 1180, 1183, 1618, 1689,
1138      1186, 1191, 1208, 1247, 1250, 1253, 1258, 1275, 1760, 1827,
1139      1314, 1317, 1320, 1325, 1381, 1384, 1387, 1392, 1894, 1963,
1140      1522, 1525, 2032, 2087, 1528, 1533, 1580, 1583, 1586, 1591,
1141      1638, 1641, 2142, 2209, 1644, 1649, 1667, 1670, 1709, 1712,
1142      1715, 1720, 2276, 2334, 1738, 1741, 2392, 2462, 1780, 1783,
1143      2532, 2599, 1786, 1791, 2666, 2733, 1847, 1850, 1853, 1858,
1144
1145      2800, 2870, 1914, 1917, 1920, 1925, 1942, 1983, 1986, 1989,
1146      1994, 2011, 2052, 2055, 2058, 2063, 2107, 2110, 2113, 2118,
1147      2162, 2165, 2940, 3007, 2168, 2173, 2229, 2232, 2235, 2240,
1148      2296, 2299, 3074, 3144, 2302, 2307, 3214, 3281, 2354, 2357,
1149      3348, 3415, 2360, 2365, 2412, 2415, 2418, 2423, 2440, 2443,
1150      3482, 3540, 2482, 2485, 3598, 3666, 2488, 2493, 2510, 2513,
1151      2552, 2555, 2558, 2563, 3734, 3801, 2580, 2619, 2622, 2625,
1152      2630, 2647, 2686, 2689, 3868, 3932,  203,  800, 3996, 4064,
1153      2692, 2697, 4132, 4198, 2753, 2756, 2759, 2764, 2820, 2823,
1154      2826, 2831, 2848, 2851, 2890, 2893, 2896, 2901, 2918, 2921,
1155
1156      2960, 2963, 2966, 2971, 2988, 3027, 3030, 3033, 3038, 3055,
1157      3094, 3097, 3100, 3105, 3122, 3125, 3164, 3167, 3170, 3175,
1158      4264, 4331, 3192, 3195, 3234, 3237, 3240, 3245, 3301, 3304,
1159         0,    0, 9902,14462,14462,   96,  100,   29,   41,14462,
1160       103,   51,14462,14462, 9891,14462,14462, 9879,14462, 9894,
1161      9888,  822,14462,14462,14462,14462, 9886, 9885, 9832,14462,
1162       157, 9859,    0,   87,14462, 9824, 9813,14462,  160, 4394,
1163      9810, 4464, 3313, 3324,  286,   77, 9848,   27,   74, 3257,
1164       411, 9847,   13,14462,  166, 9823,    0,  144,14462, 9775,
1165      9768,  100,14462,  349,  237,   91,  179,14462,  359, 9817,
1166
1167         0,  239,14462, 9763, 9766, 9759, 9750, 9743,14462,  422,
1168        16, 9750,  205,14462,  425, 9779,    0,  256,14462, 9747,
1169     14462,  486,  398,14462,  489, 9775,    0,  313,14462, 9744,
1170      9739, 9740,14462,  492,  539,14462,  623, 9769,    0,  333,
1171     14462, 9720, 9696, 9693,14462,  686,  410,  208,14462,  689,
1172      9738,    0,  375,14462, 9681, 9681,14462,  692,  474,  294,
1173     14462,  756, 9721,    0,  442,14462, 9666, 9660, 9664,14462,
1174       759,  544,  343,14462,  762, 9704,    0,  509,14462, 9651,
1175      9665, 9662, 9640, 9655,  331,14462,  822,  810,14462,  882,
1176      9683,    0,  538,14462,  101, 9629, 9638,  547, 9623,  162,
1177
1178       554, 9621,14462,  947, 9671,  345,14462,  950, 9661,    0,
1179       643,14462, 9627,14462,  953, 9666,  409,14462, 1014, 9656,
1180         0,  713,14462, 9622, 9619, 9587,14462, 1017, 9640,  473,
1181     14462, 1020, 9615,    0,  806,14462, 9562, 9568, 9576, 9561,
1182       150,14462, 1078,  228,   93,  517,14462, 1081, 9606,    0,
1183       807,14462, 9551, 9560, 9543,14462, 1084,  926,14462, 1087,
1184      9582,    0,  870,14462, 9543,14462, 1145,  220,  249,  607,
1185     14462, 1148, 9579,    0,  903,14462, 9540, 9535, 9533,    3,
1186     14462, 1151, 9570,  805,14462, 1154, 9552,    0,  970,14462,
1187      9513, 9516,14462, 1215,  993,14462, 1218, 9539,    0, 1037,
1188
1189     14462, 9504, 9506,14462, 1221, 1194,14462, 1282, 9534,    0,
1190      1104,14462, 9495, 9475,14462, 1285, 1261,14462, 1288, 9518,
1191         0, 1171,14462, 9467, 9464, 9464, 9473, 9474,  403,14462,
1192      1344, 1328, 1329,14462, 1353, 9499,    0, 1238,14462, 9463,
1193     14462, 1411, 3266,  352,  488, 1347,  557,  859,14462, 1414,
1194      9496,    0, 1305,14462, 9445, 9448, 9451, 9430, 9421,14462,
1195      1420,  546,  865,14462, 1550, 9461,    0, 1332,14462, 9425,
1196      9427,14462, 1553, 1591,14462, 1611, 9455,    0, 1399,14462,
1197      9420, 9402, 1484, 9404,  609,14462, 1675, 1727,14462, 1678,
1198      9432,    0, 1571,14462, 9380,  262,14462, 1747, 1546, 1001,
1199
1200     14462, 1750, 9422,    0, 1595,14462, 9374, 9382,14462, 1811,
1201      1861,14462, 1817, 9414,    0, 1629,14462, 9364, 9355, 9364,
1202      9342,14462, 1884, 9402, 1060,14462, 1946, 9392,    0, 1700,
1203     14462, 9344, 9353, 9337, 9341,14462, 1951,  617, 9336, 1127,
1204     14462, 1954, 9366,    0, 1771,14462, 9327, 9330, 9324, 1997,
1205      9329,14462, 2020, 9355,    0, 1795,14462, 9310, 9311, 9301,
1206     14462, 2023, 2063,14462, 2135, 9342,    0, 1801,14462, 9308,
1207      9292,14462, 2192, 3387, 9289, 3391, 9299, 3454, 1339, 1859,
1208      2794, 1313,14462, 2195, 9330,    0, 1838,14462, 9281, 9269,
1209       602,14462, 2201, 1671, 1527, 2204,  723, 9262,14462, 9323,
1210
1211      9311,14462,14462,14462, 2249,  110, 9251, 9250, 9241, 9282,
1212     14462,    0, 3308, 9231, 9267, 9249,  822,  624, 1820, 9226,
1213      9214, 9214, 9200, 9194,  936, 1281, 9187, 9188, 9189, 1003,
1214      9208,  694, 1876, 9183, 9177, 9179, 1204, 1605, 9168, 9168,
1215      9162, 9168,  697, 1545, 9138, 9161, 1468, 9135, 1613, 1614,
1216      1945, 2014, 1956, 1684,14462,    0, 9129, 9146, 9142, 9116,
1217      9154, 9111,14462,    0, 9106, 9099, 9101, 9111, 9104, 9098,
1218       880,14462,    0, 9083, 9092,14462,    0, 9070, 3370, 9063,
1219      9069,14462,    0, 9050, 9061, 9057, 9056,14462,    0, 9034,
1220      9049, 9048,14462,    0, 9020, 9038, 9028, 9028,14462,    0,
1221
1222      3437, 3445, 9009, 9018, 9018, 9012, 9010, 9006,14462,    0,
1223      9001, 3505, 8980, 3508, 8977, 8979, 8976, 8979, 8979, 8961,
1224      8967, 8957, 8954, 8944, 8954,14462,    0, 3512, 8943,14462,
1225         0, 3516, 8937, 8928, 8923,14462,    0, 8925,  263, 3519,
1226      8905, 8910, 8912, 8902, 8899, 8889,14462,    0, 8880, 3560,
1227      3563, 8888,14462,    0, 8883, 8881,14462,    0, 8863, 3566,
1228      8852, 8869, 8867, 8856,14462,    0, 8848, 3570, 8846,14462,
1229         0, 3574, 8835, 8832,14462,    0, 8826, 8803, 8804,14462,
1230         0, 8804, 8802, 8771, 3618, 8765, 8777, 8780, 8763, 8766,
1231     14462,    0, 8743, 8744, 1148, 2022, 1737, 1967, 2069, 1745,
1232
1233     14462,    0, 8744, 8731, 8737, 8746, 8744, 8728,14462,    0,
1234      3621, 8731, 8713,14462,    0, 8714, 3624, 8702, 8706, 8693,
1235      8700, 8692, 8691, 8677,14462,    0, 8673, 8684, 8674, 8667,
1236     14462,    0, 8665, 3628, 8660,14462,    0, 8657, 8661, 3632,
1237      8658, 8653,14462,    0, 8657, 3686, 8664, 8642, 8626, 8628,
1238     14462,    0, 8626, 3689, 8619,  205, 8615, 8662,14462,    0,
1239      8611, 8602, 8612, 8593,14462,    0, 3692, 8590, 8579, 2124,
1240     14462,    0, 8584, 8598, 8593, 8583, 8568, 8614, 8623, 2104,
1241      8549,14462, 2257,    0, 8545, 8544, 8588, 8569, 8522,14462,
1242      3696, 2324, 8515, 3699, 3754, 2382, 8510, 8521, 8521, 8507,
1243
1244      8519, 8495, 8497, 8491, 8489, 8496, 8483, 2132, 8489, 8490,
1245      8476, 8475, 8454, 8459, 8464, 8451, 8448, 2386, 8458, 8444,
1246      8456, 8436, 8420, 8433, 8422, 8428, 8408, 8413, 8424, 8407,
1247      2452, 8404, 8401, 2519, 8399, 8390, 8383, 8372, 3757, 3764,
1248      3760, 3768, 3821, 3824, 8378, 8382, 8365, 8371, 8375, 8362,
1249      3830, 3902, 8371, 8356, 3834, 3889, 8371, 3892, 2584, 8368,
1250      3897, 3910, 3954, 3959, 3962, 3965, 3968, 3972, 4016, 4019,
1251      4025, 4028, 4034, 4086, 4089, 4093, 4100, 2650, 4112, 2719,
1252      4152, 4159, 4165, 4170, 4173, 4104, 4230, 2194, 4218, 2786,
1253      8367, 4223, 2858, 4236, 8346, 8338, 8346, 8341, 8329, 8330,
1254
1255      8340, 8325, 8315, 4227, 4287, 4284, 2924, 4290, 4293, 4296,
1256      3132, 8324, 8307, 4302, 4351, 8312, 8303, 8313, 4355, 3202,
1257      8312, 8307, 8291, 4360, 4363, 8280, 2172, 8283, 4366, 3262,
1258      4373, 3402, 4387, 4393, 8290, 4398, 4401, 8289, 4408, 3468,
1259      8286, 8273, 8269, 4420, 4429, 8275, 4434, 3651, 4439, 4462,
1260      4469, 3719, 8255, 4472, 4476, 8269, 8255, 4487, 4491, 8262,
1261       343, 8252, 4499, 3980, 4531, 8262, 8247, 4506, 4538, 8263,
1262      8238, 4541, 4544, 8236, 8239, 8234, 8232, 8229, 8208, 8213,
1263      8216, 8200, 4549, 4553, 4563, 4054, 8196, 4568, 4573, 8209,
1264      4576, 4179, 4581, 8183, 4587, 8182, 8185, 8188, 4594, 4605,
1265
1266      4599, 4608, 4613, 4618, 4626, 8169, 4631, 4321, 4638, 4641,
1267      8125, 8106, 4645, 4650, 8114, 4663, 4666, 8099, 4669, 4673,
1268      8107, 8099, 4688, 4691, 2196, 8098, 4694, 4697, 8092, 8121,
1269      4712, 4715,14462, 8083, 8089, 8089, 4718, 4721, 4724, 4727,
1270      8062, 4742, 4745, 4748, 4751, 4754, 4772, 4775, 4780, 8100,
1271     14462,14462,  718, 8058,14462, 8096, 8080, 8024,14462,14462,
1272      8021, 4790,14462,14462, 8020, 4786, 4799,14462, 4807, 2522,
1273      8011, 8009, 7998, 7995, 8002, 7993, 7982, 7993, 7966, 7955,
1274      7952, 7950, 7952, 7943, 7912, 7892, 1217, 7899, 7882, 7863,
1275      7873, 7869, 1481, 2593, 7844, 7846, 7836, 7802, 7771, 7726,
1276
1277      7726, 7676, 7650, 7643, 7632, 7630, 7627, 7558, 7551, 7549,
1278      7548, 7525, 7486, 4810, 4819, 7390, 7378, 4813, 4832, 7366,
1279      4842, 4845,14462, 4848, 7340, 7312, 4851, 7329, 7259, 7210,
1280      4854, 4857,14462, 4869, 7187, 7197, 4876, 4879,14462, 4882,
1281      7154, 4888,14462,14462, 7118, 4901, 4904,14462, 4907, 4913,
1282      4916, 7071, 7021, 4926, 4937, 4931, 4945,14462, 4950, 4953,
1283      4958, 4971, 4974, 4982, 4985,14462, 4989, 4992, 4995, 6912,
1284      6884, 5004, 5013, 5022, 5025,14462, 5028, 5031,14462,14462,
1285      5048,14462,14462, 5056, 5059, 6834, 6809, 6763, 6752, 5067,
1286      5070,14462, 5074, 6680, 6674, 6638, 5077,14462,14462, 5093,
1287
1288      5096,14462,14462, 5104, 5107, 6572, 6569, 6561, 6561, 6509,
1289      6502, 6484, 6477, 1499, 5115, 5118,14462, 5124, 5127,14462,
1290     14462, 5137, 5143,14462, 5146, 5149,14462,14462,   39,  224,
1291      5157, 5165,14462, 5168,  257,  293, 5171, 5177,14462,14462,
1292       400,  423,  481, 5192, 5195,14462, 5198,  482,  500, 5201,
1293      5207,14462,14462, 5219,14462,14462, 5227, 5230,14462, 5234,
1294      5237, 5240, 5249,14462, 5255,  492, 5264,14462,14462,  539,
1295       544,  576, 5259, 5274,14462, 5278,  617, 5281,14462,14462,
1296      5289, 5293,14462, 5300, 5308,14462,14462,  618, 5319, 5322,
1297     14462, 5325, 5328, 5331, 5334, 5349,14462, 5353,  639,  638,
1298
1299       670,  688, 5357,14462,14462, 5368, 5373,  692,  715, 5381,
1300      5386,14462, 5389,  720,  751, 5392, 5395,14462, 5400,  751,
1301       808, 1597,  811,  800, 5414,  840,  878,  866, 5421, 5424,
1302     14462, 5427, 5433,14462,14462,  881, 5449, 5452,14462, 5455,
1303       871, 5458,14462,14462, 5474, 5477, 5485, 5492, 5496,  943,
1304      5504,  946, 5510, 5513,14462, 5517, 5522, 5525, 5536, 5540,
1305       947, 5548, 5554,14462, 5557,  951, 5560,14462,14462, 5568,
1306      5578,14462, 5581, 1010, 1012, 5587,14462,14462, 1038, 5600,
1307      5603,14462, 5607, 1017, 5610,14462,14462, 1069, 5626, 5629,
1308      5632,14462, 5635, 1076, 5638, 5656,14462,14462, 5644, 1107,
1309
1310      5664, 5669,14462, 5672, 1079, 5675, 1081, 5679, 5683,14462,
1311      5693, 5702,14462,14462, 1078, 5698, 5712,14462, 5717, 5721,
1312      5724, 1071, 1130, 5732, 5743, 1143, 5751, 5754,14462, 5757,
1313      1386, 5760,14462,14462, 1185, 1186, 1143, 5763,14462, 1194,
1314      1201, 1211, 1279, 1269, 1277, 1324, 1340, 2660, 2727, 1331,
1315      2794, 1341, 1476, 2998, 1492, 1543, 3065, 1539, 1563, 1604,
1316      1603, 3341, 3476, 1589, 1609, 1608, 1658, 1657, 3592, 1657,
1317      3660, 3727, 1674, 1679, 1692, 4126, 1691, 4155, 5766, 1729,
1318      1748, 1763, 5782,14462,14462, 1755, 1773, 5790,14462,14462,
1319      1758, 5798, 3786, 1800, 5803, 5806, 1795, 1806, 1818, 5821,
1320
1321      1808, 5824, 5827, 1814, 1826, 5830, 5833,14462,14462, 1816,
1322      1837, 5842,14462,14462, 5850, 5853,14462,14462, 5862,14462,
1323     14462, 5870, 5873,14462,14462, 1822, 1840, 5889,14462,14462,
1324      5883, 5902,14462,14462, 1821, 1880, 5910, 1859, 5914, 5919,
1325      5922, 5928, 5933, 5940, 5951,14462,14462, 5960, 5963, 5966,
1326      5972, 5984, 5990, 5993, 5996, 6002, 6014, 6021, 6024, 1883,
1327      1888, 6027, 1890, 1893, 6032, 6051, 1905, 6059, 1912, 6067,
1328      3794, 1894, 6070, 6088, 6078, 6081, 6100, 6108, 1921, 1942,
1329      1937, 1951, 6111, 1935, 6114, 6117, 6120, 6123, 6135, 1949,
1330      6145, 1970, 6148, 1960, 1973, 6151,14462,14462, 6159, 1999,
1331
1332      6173, 2008, 2006, 6177, 2005, 2020, 2029, 2023, 2045, 6180,
1333      6183, 2050, 2065, 2077, 6192, 6198, 6201, 2077, 6207,14462,
1334     14462, 6216, 6220, 6228,14462,14462, 2080, 6238, 6244, 2079,
1335      6252, 6257,14462,14462, 6265,14462,14462, 2073, 6273, 2100,
1336      6276, 2116, 2116, 2126, 6279, 2119, 6282, 6285, 6288, 6304,
1337      2122, 6307, 6310, 2135, 2170, 6319, 2178, 6327, 6331, 6345,
1338      6348, 2184, 6352, 6356,14462,14462, 2180, 2199, 6371,14462,
1339     14462, 2184, 6379, 2287, 2235, 6382,14462, 2239,14462,14462,
1340      2210, 2200, 3843, 2219, 2212, 2225, 2254, 2258, 2257, 3853,
1341      3862, 2255, 2263, 3916, 2266, 2270, 3925, 3990, 2259, 2264,
1342
1343      4118, 2289, 4192, 2309, 4259, 4123, 2303, 4249, 2302, 2308,
1344      2306, 2320, 2322, 4426, 2317, 2326, 4495, 4502, 6385, 2324,
1345      6388, 6391, 2328, 2341, 2356, 6394, 6401, 6405, 6408, 6411,
1346      6414, 2372, 2365, 6417,14462,14462, 2371, 2371, 2364, 6436,
1347      2380, 6439, 6444, 6459, 2382, 2364, 6462, 6466, 6469, 6472,
1348      6487, 6491, 6495, 6501, 6513, 6521, 6524, 6527, 6542, 6545,
1349      6548, 6553, 6567, 6570, 6573,14462,14462, 6581, 6589, 6592,
1350      6595, 6599, 6602, 6613, 6620, 6631, 6635, 6640, 6649, 6658,
1351      2367, 2398, 6661, 2400, 2391, 6664,14462,14462, 6672, 6680,
1352      6684, 2402, 2404, 6698, 6701, 6704, 6717,14462,14462, 6707,
1353
1354      6726,14462,14462, 6711, 2407, 2405, 2437, 2439, 6734, 2440,
1355      6737, 6740, 6743, 6758, 6761,14462,14462, 2445, 6769, 2450,
1356      6772, 6779, 6790, 2440, 6793, 6796, 2449, 2450, 6804, 2444,
1357      2446, 6811, 6817, 2463, 2460, 2468, 2467, 6823,14462,14462,
1358      2490, 2503, 2496, 6831, 6836, 6839, 6850, 2500, 6854,14462,
1359     14462, 2509, 6865,14462,14462, 2501, 6873, 2506, 6876, 2512,
1360      6879, 6884, 6887, 6898, 6906, 2507, 6909, 6912, 6935,14462,
1361     14462, 6920, 2528, 6943,14462,14462, 2520, 2549, 6955, 2523,
1362      6958, 4490, 5335, 6969, 6974, 6982, 2536, 6987, 6991, 6994,
1363      6997, 7001, 2618, 2595, 2678,14462, 7015, 2576, 7020, 2569,
1364
1365      2573, 2681, 2568, 2573, 7023, 2583, 2588, 2576, 2581, 7026,
1366      2592, 2593, 7029, 7038, 7041, 2628, 7044, 2645, 2633, 2651,
1367      2644, 2727, 2640, 2643, 2653, 2658, 7047, 7050, 2666, 7053,
1368      2712, 2700, 2748, 2864, 7056, 7062, 7070, 7074, 2714, 7082,
1369      2707, 2716, 2718, 2718, 2741, 7088, 2769, 7091,14462,14462,
1370      7101, 2764, 7107, 7110, 7113, 7116, 7125, 7131, 7139, 7143,
1371      7149, 7158, 7167, 7172, 7180, 7185, 7188, 7199, 7205,14462,
1372     14462, 7213, 7217, 7225, 7231,14462,14462, 7239, 7246, 2778,
1373      2788, 2780, 7257, 7260, 7268, 2782, 2793, 7271,14462,14462,
1374      7279, 7282, 2790, 2784, 7290, 7293, 7297, 7300, 7303,14462,
1375
1376      2801, 2813, 7318, 7322, 7330,14462,14462, 2807, 2843, 7338,
1377     14462, 7154, 7343, 7348, 2838, 7351, 2858, 2851, 7357,14462,
1378      2849, 7362, 7370,14462,14462, 7382, 2883, 7385, 2857, 7388,
1379     14462,14462, 7404, 7407, 2866, 7415,14462,14462, 2871, 2873,
1380      7423,14462, 2866, 7426, 7430, 7433, 7436, 2867, 7444, 2873,
1381      2876, 2869, 2898, 7449, 7452,14462,14462, 7460,14462, 2908,
1382      7463, 2914, 7468, 2918, 7471, 2927, 7474, 7481, 7493, 7501,
1383      7504, 7508, 7522, 7528, 7532,14462,14462, 7541, 2915, 2928,
1384      2960, 7546, 7549, 2961, 2949, 2964, 2956, 2974, 2962, 3016,
1385      2967, 7553,14462,14462, 7561, 7567, 7570,14462, 7573, 7585,
1386
1387      7580, 7598, 2947, 7609, 3023, 3019, 3024, 7612, 7615, 7623,
1388      2955, 2993, 3011, 2989, 2990, 7630, 7633, 7636, 2998, 7639,
1389      2999, 2997, 3004, 7642, 7645, 7648, 7651, 3009, 3037, 7654,
1390      3052, 3071, 3048, 3050, 7657, 7660, 3052, 7663, 7666, 7671,
1391      3053, 3049, 7674,14462,14462, 7682,14462,14462, 3067, 7690,
1392      3058, 7693, 7699, 7702, 7705, 7711,14462, 3062, 7723, 3074,
1393      7726, 7730, 7738, 7745,14462,14462, 7753,14462,14462, 7761,
1394      7767, 7770,14462,14462, 7786,14462,14462, 7794, 7800,14462,
1395     14462, 7808, 7813, 7822,14462,14462, 7830, 7833,14462,14462,
1396      3071, 3077, 3090, 7842,14462,14462, 7850, 7853, 3089, 3096,
1397
1398      7861,14462,14462, 3125, 7869, 7872, 7875, 7878, 7881, 7897,
1399      3116, 3112, 7900,14462,14462, 3121, 3123, 7908, 7911, 3127,
1400      7915, 7918, 3131, 3123, 3129, 3128, 7933, 7938, 3147, 7941,
1401     14462, 3141, 7945,14462,14462, 3135, 3147, 3149, 3151, 7953,
1402      7965, 7960, 7973, 7979, 7982, 7985, 7988, 7991, 7994, 8012,
1403      3164, 8015, 8018, 3195, 8026, 3194, 8033,14462, 3182, 8036,
1404      8041,14462,14462, 8056, 8059, 8067,14462,14462, 8078, 8081,
1405      8084, 8092, 3185, 3195, 3207, 8099,14462, 8102, 8105, 3221,
1406      3218, 3219, 3225, 3241, 3234, 3234, 3234, 3241, 3251, 8113,
1407      8120, 8125, 8134,14462,14462, 8145,14462,14462, 3245, 8153,
1408
1409      8156, 3320, 3313, 8160,14462,14462, 8168, 8175, 8178, 3247,
1410      3246, 3258, 8181, 8184, 3275, 8187, 8190, 3273, 8193, 8196,
1411      8199, 3270, 3279, 3316, 8202, 8205, 3305, 3309, 3323, 8208,
1412      8211, 3327, 8214, 8217, 3322, 3329, 3339, 3344, 8221, 8224,
1413      8227, 8230, 8240, 8245, 8248, 8251, 8254, 8258, 8266,14462,
1414     14462, 8276, 8280, 8283, 8286, 8289,14462,14462, 8305, 3341,
1415      3342, 3386, 8308,14462,14462, 8324, 3339, 3346, 8329, 8332,
1416      8348, 8351,14462, 8354,14462,14462, 8362, 8370, 3352, 3358,
1417      3360, 3377, 8380, 8383, 8386, 8389,14462,14462, 8404, 8407,
1418      8410, 8413, 8416, 8435, 8441, 3385, 3391, 3396, 3398, 8444,
1419
1420      8447,14462,14462, 8455, 8463, 8469, 8477, 8487, 8490, 8493,
1421      8500, 8496, 8515,14462,14462, 8523, 8526,14462, 3407, 3404,
1422      8529,14462, 8532,14462,14462, 8548, 8551,14462,14462, 8559,
1423      3397, 3399,14462, 8563,14462,14462, 3444, 3433, 3449, 3449,
1424      3472, 3479, 3473, 3491, 3493, 3500, 8572, 8578,14462,14462,
1425      3482, 8586, 8591, 3561, 3513, 8594, 8597, 3473, 3469, 3485,
1426      8600, 8610, 3492, 8613, 3502, 3518, 8616, 8619, 3520, 3516,
1427      3532, 8622, 3517, 3529, 8625, 3537, 8628,14462, 8634, 8637,
1428     14462,14462, 8647, 8654, 8665, 8668, 8671, 8674, 8677, 8686,
1429      8695, 8698, 8701, 8704, 8707,14462, 3580, 3571, 3567, 3589,
1430
1431      8710, 8728, 3582, 3590, 8736, 4021, 4289, 8745,14462, 8748,
1432     14462,14462, 3581, 3585, 8756, 8759, 8765, 8769,14462, 8777,
1433      8784, 3603, 3599, 3601, 8780, 8798, 8801, 8809, 8812, 8816,
1434      8819, 3597, 3615, 8834, 8837, 8840, 8843, 8846,14462,14462,
1435      8855, 8858, 8866, 8869, 8874,14462, 8877, 8880, 8888, 3637,
1436      3637, 8895,14462, 8898, 3642, 3634, 3667, 3663, 3682, 3671,
1437      3701, 3684, 3683, 3698, 3701, 3740, 8901, 3709, 8906, 3779,
1438      3832, 3780, 3704, 3721, 3739, 8909, 8920, 3714, 3726, 8925,
1439      3715, 3731, 3753, 8928, 3730, 3776, 8931, 8934, 8938,14462,
1440     14462, 8946, 8952, 8965, 8968, 8976,14462, 8979,14462,14462,
1441
1442      8987,14462, 8990, 8995, 8998, 3776, 3783, 9001, 3783, 9010,
1443     14462,14462, 3800, 3792, 3823, 3875, 3831, 3846, 3888, 3862,
1444      3829, 9019, 9022, 9025, 9040, 9045, 9053, 9058,14462,14462,
1445      3845, 3853, 3866, 9066, 9072, 9080, 3999, 4219, 9088,14462,
1446      9091, 9094,14462,14462, 3852, 9102, 9110, 9113, 9121, 9124,
1447      9132,14462, 9135,14462,14462, 9143, 9147, 9155, 9161, 9169,
1448      4024, 4432, 9177, 9180, 9183, 9186, 9033, 9189, 3901, 3926,
1449      3935, 3955, 3989, 3995, 4011, 4018, 4029, 4043, 9201, 9207,
1450      9210, 4060, 4239, 4298, 3986, 9213, 4023, 9216, 4040, 4047,
1451      4032, 9220, 4054, 4094, 4108, 9225, 9229, 9239, 4210, 4211,
1452
1453      9247,14462,14462, 9258, 9262, 9265, 4102, 9268, 9271, 9277,
1454      9289, 4118, 4132, 4165, 4151, 4175, 4203, 4221, 4217, 4280,
1455      4271, 4270, 9292, 9295, 9303,14462,14462, 9311,14462,14462,
1456      9319,14462, 4261, 9322, 4274, 9326,14462,14462, 4292, 4325,
1457      4335, 4337, 4345, 4345, 9334, 4337, 9340, 9343, 9354,14462,
1458     14462, 9362,14462,14462, 9370, 4410, 4511, 9378,14462,14462,
1459      4350, 4357, 4546, 4356, 4372, 4552, 9386, 9389, 9392, 9400,
1460      9407, 9418, 9421, 9424, 9427, 4389, 4375, 4374, 4378,14462,
1461      4400, 4392, 4394, 4408,14462, 9437, 9442, 9447, 9456,14462,
1462      4492, 4507, 9460, 4423, 9463, 4412, 9466, 4415, 4430, 9469,
1463
1464      4431, 9481, 4469, 9484, 5376, 5776, 4529, 4536, 4556, 4568,
1465      9492, 9495, 9498, 4539, 9501, 9504, 9519,14462,14462, 9527,
1466      9530, 4532, 4547, 4595, 4575, 4586, 4590, 4608, 4588, 4611,
1467      4616, 4605, 9538,14462,14462, 4608, 9546, 9549, 4590, 4635,
1468      4645, 4675, 4641, 4650, 4678, 9560,14462, 4647, 9564,14462,
1469     14462, 4675, 4681, 4679, 4684, 4690, 4702, 4704, 4712, 4720,
1470      4725, 4726, 4735, 9572, 9575, 5975, 6280, 9583,14462,14462,
1471      9591, 9594,14462,14462, 4724, 4744, 4762, 4747, 4731, 4750,
1472      4771, 4763, 9602, 9606, 7034, 7104, 4785, 9614, 9617, 9621,
1473      9636, 4718, 9640, 9644, 9647, 4729, 9653, 9656, 4762, 4781,
1474
1475      4757, 4770, 4790, 4804, 4768, 4783, 4813, 4803, 4837, 4825,
1476      9659, 9662,14462, 9665, 4808, 9668,14462,14462, 9684,14462,
1477     14462, 9692, 4800, 4833, 4835, 4870, 4848, 4852, 4853, 4886,
1478      4859, 4842, 9695, 9698,14462,14462, 9706, 4866, 4886,14462,
1479      4878, 4897,14462, 4868, 4905, 4897, 4916, 4905, 4915, 4932,
1480      4938, 4927, 4933, 4943, 4946, 4940, 9713, 9717, 4945, 4956,
1481      4937, 4949, 4974, 4986, 4950, 4964, 9725, 4991, 4991,14462,
1482      5006, 5009, 5009,14462, 5011, 9733, 5007, 5018, 4983, 4993,
1483      5013, 5029, 4993, 5010, 5069, 9736, 9740, 9748, 9801, 9849,
1484      9759, 5012, 9762, 9767, 5013, 9770, 5076, 5045, 5079, 5021,
1485
1486      5082, 5054, 5092, 5036, 5098, 5074, 5106, 5084, 9773, 9776,
1487      5082, 9779, 9782, 9812, 5102, 5104,14462, 5137, 5119, 5118,
1488     14462, 5153, 5104, 9821, 9824, 9843, 9832, 5159, 5170, 5169,
1489      5173, 5124, 5181, 5149, 5182, 5152, 5181, 5201, 5208, 5177,
1490      5194, 5215, 5217, 5187, 9869,14462,14462, 5239, 5207, 5242,
1491      5182, 5246, 5225, 5262, 5205, 9861,14462, 5268, 5253, 5255,
1492      5280, 5266, 5267, 9880, 5299, 5267, 5302, 5248, 5307, 5279,
1493      5310, 5274, 5347, 9883, 5380, 5399, 9903, 9951, 9891, 9914,
1494     14462, 5337,14462, 5338,14462, 5337,14462, 5339,14462, 5327,
1495     14462, 5343, 9923,14462, 9926, 5307, 9929, 5407, 5443, 9945,
1496
1497      9972, 5378, 5381,14462, 5383, 5388,14462, 5378, 9980,14462,
1498     14462, 9988, 5458, 5934,14462,14462,14462,14462, 5386,14462,
1499      5423,14462, 5426, 5449,14462,14462, 5427, 5452,14462,14462,
1500      5430,14462, 5465,14462, 5467,14462, 5465,14462, 5475,14462,
1501      5485, 5486,14462, 5494, 5500, 9998,14462,14462, 5504,14462,
1502      5516,14462, 5523,14462, 5526, 5525, 5547, 5527, 5530, 5545,
1503      5564,10001, 9937, 9963,14462,14462,14462,14462, 5537, 5538,
1504     10004,10007, 5556, 5558, 5577, 5563,10010,14462,14462, 5561,
1505      5582, 5582, 5591,10025, 5602, 5624, 5591, 5603, 5627, 5592,
1506     10028, 5613, 5616, 5654, 5654, 5673, 5664,14462,14462,14462,
1507
1508     14462,14462,14462,14462,14462,14462,14462,14462,14462,10031,
1509      5685, 5672, 5700,10034, 5670, 5672,10037,14462,10046,10057,
1510      5677, 5696, 5709, 5705, 5699, 5708, 5720, 5711, 5703, 5744,
1511      5727, 5764,10065,10068, 5735, 5743, 5756, 5749, 5760, 5749,
1512      5757, 5773, 5764, 5771,10076,10083, 5763, 5773, 5808, 5794,
1513      5808, 5798,10079, 5820, 5852, 5851,10094, 5842, 5870, 5826,
1514      5834, 5840, 5850, 5846, 5855, 5856, 5869, 5895,14462, 5893,
1515     14462,10102,14462,14462, 5870, 5877, 5877, 5889, 5897, 5891,
1516      5906, 5902, 5915, 5918,10110,14462,14462, 5944, 5942,14462,
1517      5922,14462, 5924, 5939,14462,14462,14462, 5949, 5951, 5959,
1518
1519      5954, 5959, 5976, 5976, 5967, 5978, 5986, 5993, 5992,14462,
1520     14462, 6009, 6015, 6016, 6003, 6039, 6016, 6024, 6030, 6018,
1521      6050,14462,14462, 6058, 6056, 6056, 6027, 6053, 6053, 6074,
1522      6062, 6060, 6080, 6082, 6092, 6089, 6107, 6108, 6106, 6104,
1523      6131, 6133,14462, 6122, 6123, 6141, 6144,14462,14462,14462,
1524      6151, 6135, 6150, 6153, 6160, 6180, 6177, 6209, 6184, 6201,
1525      6191, 6224, 6195, 6212, 6206, 6243, 6210, 6226, 6221, 6253,
1526      6223, 6312, 6240, 6247, 6265, 6272, 6294, 6269,14462, 6266,
1527      6308, 6285,14462, 6283, 6321, 6295,14462, 6299, 6334, 6324,
1528     14462, 6324, 6411, 6326, 6341, 6330, 6344,14462, 6350, 6345,
1529
1530     14462, 6353, 6368,14462, 6396, 6392,14462, 6402, 6396,10118,
1531      6406, 6429, 6418, 6440, 6410, 6429, 6413, 6433, 6434, 6454,
1532      6437, 6458,10121, 6480,14462, 6478,14462, 6490, 6456, 6492,
1533      6462, 6502, 6465, 6502, 6468, 6521, 6533,14462,14462,14462,
1534      6512,14462, 6510,14462, 6516,14462, 6525, 6544, 6560,14462,
1535     14462,14462,14462, 6589, 6611, 6546, 6607, 6830, 6915, 6660,
1536      6522, 6677, 6629, 6713, 6738, 6757, 6767, 6610, 6791, 6797,
1537      6810, 6567, 6827, 6636, 6852, 6692, 6746, 6864, 6770, 6678,
1538      6887, 6728, 6907, 6626, 6803, 6702, 6842, 6884, 6735, 6885,
1539      6829, 6900, 6934, 6912, 6954, 6995, 6961, 7000, 7017, 6931,
1540
1541      7185, 7042, 7202, 6914, 7018, 7068, 7116, 7173, 7165, 7175,
1542      7178, 7245, 7233, 7248, 7234, 7292, 6824, 7337, 6853, 6909,
1543      7015, 7047, 7145, 7219, 7041, 7297, 7298, 7309, 7111, 7323,
1544      7429, 6946, 7342, 7086, 7459, 7349, 7375, 7376, 7402, 7440,
1545      7461, 7469, 7481, 6538, 7204, 7104, 7439, 7498, 7502, 7517,
1546      7547, 7466, 7526, 7540, 7669, 7467, 7247, 7651, 7307, 7318,
1547      7670, 7392, 7699, 7179, 7600, 7679, 7576, 7717,10129, 7741,
1548      7730,10132,14462, 7740, 7757, 7762, 7718, 7800, 7803, 7810,
1549      7788, 7838, 7610, 7667, 7827, 7829, 7888, 7912, 7760, 7869,
1550      7773, 7787, 7873, 7913, 7953, 7983, 7906, 7980, 7988, 8115,
1551
1552      8011, 8046, 7315, 7560, 8057, 8072, 7603, 7758,10140,10143,
1553     14462,14462,10163,10172,10181,10190,10199,10208,10217,10226,
1554     10235,10244,10253,10262,10271,10280,10289,10298,10307,10316,
1555     10325,10334,10343,10352,10361,10370,10379,10388,10397,10406,
1556     10415,10424,10433,10442,10451,10460,10469,10478,10487,10496,
1557     10505,10514,10523,10532,10541,10550,10559,10568,10577,10586,
1558     10595,10604,10613,10622,10631,10640,10649,10658,10667,10676,
1559     10685,10694,10703,10712,10721,10730,10739,10748,10757,10766,
1560     10775,10784,10791,10798,10805,10812,10819,10826,10833,10840,
1561     10847,10854,10861,10868,10875,10882,10889,10896,10903,10910,
1562
1563     10917,10924,10931,10938,10945,10952,10959,10966,10973,10980,
1564     10987,10994,11001,11008,11017,11024,11029,11036,11041,11048,
1565     11053,11060,11065,11072,11077,11084,11089,11096,11101,11108,
1566     11113,11120,11125,11132,11137,11144,11149,11156,11161,11168,
1567     11173,11180,11185,11192,11197,11204,11209,11216,11221,11228,
1568     11233,11240,11245,11252,11257,11264,11269,11276,11281,11288,
1569     11293,11300,11305,11312,11317,11324,11329,11336,11341,11348,
1570     11353,11360,11365,11372,11377,11384,11389,11396,11401,11410,
1571     11416,11423,11431,11439,11447,11454,11462,11469,11477,11484,
1572     11492,11500,11508,11516,11524,11532,11540,11548,11556,11563,
1573
1574     11571,11579,11586,11594,11601,11609,11616,11624,11631,11639,
1575     11646,11654,11661,11669,11676,11684,11691,11699,11706,11714,
1576     11721,11729,11736,11744,11751,11759,11766,11774,11782,11790,
1577     11797,11805,11812,11820,11827,11835,11842,11850,11857,11865,
1578     11872,11880,11888,11896,11905,11911,11918,11926,11933,11941,
1579     11948,11956,11963,11971,11978,11986,11993,12001,12009,12016,
1580     12024,12031,12039,12046,12054,12062,12069,12077,12084,12092,
1581     12100,12108,12116,12124,12131,12139,12146,12154,12161,12169,
1582     12177,12185,12192,12200,12207,12215,12222,12230,12237,12245,
1583     12252,12260,12267,12275,12282,12290,12297,12305,12312,12320,
1584
1585     12328,12336,12343,12351,12358,12366,12373,12381,12390,12399,
1586     12406,12413,12421,12428,12436,12444,12452,12459,12467,12474,
1587     12482,12490,12497,12505,12512,12520,12528,12536,12544,12551,
1588     12559,12566,12574,12582,12590,12597,12605,12612,12620,12628,
1589     12636,12643,12651,12658,12666,12673,12681,12688,12696,12704,
1590     12712,12719,12727,12734,12742,12749,12757,12764,12772,12779,
1591     12787,12794,12802,12809,12817,12824,12832,12839,12847,12856,
1592     12865,12872,12880,12888,12895,12903,12911,12918,12926,12934,
1593     12942,12950,12958,12966,12974,12982,12990,12998,13006,13013,
1594     13021,13028,13036,13044,13052,13059,13067,13074,13082,13090,
1595
1596     13097,13105,13112,13120,13127,13135,13142,13150,13158,13165,
1597     13173,13180,13188,13195,13203,13211,13219,13226,13234,13241,
1598     13249,13256,13264,13271,13279,13287,13295,13304,13313,13321,
1599     13328,13336,13343,13351,13359,13366,13374,13382,13390,13398,
1600     13406,13414,13421,13429,13437,13445,13452,13460,13468,13475,
1601     13482,13490,13498,13505,13513,13520,13528,13536,13543,13551,
1602     13558,13566,13573,13581,13588,13596,13604,13612,13620,13628,
1603     13635,13643,13651,13659,13667,13674,13682,13691,13700,13707,
1604     13715,13723,13731,13738,13746,13754,13762,13770,13778,13785,
1605     13793,13801,13809,13816,13824,13832,13839,13846,13854,13862,
1606
1607     13869,13876,13884,13892,13900,13907,13915,13922,13929,13937,
1608     13945,13953,13960,13968,13975,13983,13992,14001,14008,14016,
1609     14024,14032,14040,14048,14056,14064,14072,14080,14087,14095,
1610     14102,14110,14118,14126,14134,14142,14150,14158,14165,14173,
1611     14181,14189,14197,14204,14211,14219,14227,14234,14242,14249,
1612     14257,14266,14275,14282,14290,14298,14306,14314,14322,14330,
1613     14337,14344,14352,14359,14367,14375,14382,14390,14398,14407,
1614     14416,14425,14434,14443,14452
1615     } ;
1616
1617 static const flex_int16_t yy_def[4476] =
1618     {   0,
1619      3913, 3913, 3914, 3914, 3914, 3914, 3915, 3915, 3916, 3916,
1620      3917, 3917, 3918, 3918, 3918, 3918, 3919, 3919, 3920, 3920,
1621      3921, 3921, 3921, 3921, 3913, 3913, 3921, 3921, 3921, 3921,
1622      3913, 3913, 3921, 3921, 3921, 3921, 3913, 3913, 3921, 3921,
1623      3913, 3913, 3921, 3921, 3921, 3921, 3913, 3913, 3921, 3921,
1624      3913, 3913, 3921, 3921, 3921, 3921, 3922, 3922, 3923, 3923,
1625      3913, 3913, 3923, 3923, 3923, 3923, 3924, 3924, 3925, 3925,
1626      3913, 3913, 3925, 3925, 3925, 3925, 3926, 3926, 3927, 3927,
1627      3928, 3928, 3929, 3929, 3930, 3930, 3931, 3931, 3913, 3913,
1628      3931, 3931, 3931, 3931, 3932, 3932, 3933, 3933, 3913, 3913,
1629
1630      3933, 3933, 3933, 3933, 3934, 3934, 3935, 3935, 3913, 3913,
1631      3935, 3935, 3935, 3935, 3936, 3936, 3937, 3937, 3912,  119,
1632      3938, 3938, 3913, 3913, 3938, 3938, 3938, 3938, 3939, 3939,
1633      3940, 3940, 3913, 3913, 3940, 3940, 3940, 3940, 3941, 3941,
1634      3942, 3942, 3913, 3913, 3942, 3942, 3942, 3942, 3943, 3943,
1635      3944, 3944, 3913, 3913, 3944, 3944, 3944, 3944, 3945, 3945,
1636      3946, 3946, 3947, 3947, 3948, 3948, 3913, 3913, 3948, 3948,
1637      3948, 3948, 3949, 3949, 3950, 3950, 3913, 3913, 3950, 3950,
1638      3950, 3950, 3951, 3951, 3952, 3952, 3953, 3953, 3954, 3954,
1639      3955, 3955, 3956, 3956, 3957, 3957, 3958, 3958, 3913, 3913,
1640
1641      3959, 3959, 3960, 3960, 3960, 3960, 3913, 3913, 3960, 3960,
1642      3960, 3960, 3913, 3913, 3960, 3960, 3913, 3913, 3960, 3960,
1643      3960, 3960, 3961, 3961, 3962, 3962, 3913, 3913, 3962, 3962,
1644      3962, 3962, 3963, 3963, 3964, 3964, 3965, 3965, 3966, 3966,
1645      3967, 3967, 3968, 3968, 3913, 3913, 3968, 3968, 3968, 3968,
1646      3969, 3969, 3970, 3970, 3971, 3971, 3972, 3972, 3913, 3913,
1647      3972, 3972, 3972, 3972, 3973, 3973, 3974, 3974, 3913, 3913,
1648      3974, 3974, 3974, 3974, 3975, 3975, 3976, 3976, 3977, 3977,
1649      3978, 3978, 3979, 3979, 3980, 3980, 3980, 3980, 3913, 3913,
1650      3980, 3980, 3980, 3980, 3913, 3913, 3980, 3980, 3980, 3980,
1651
1652      3913, 3913, 3980, 3980, 3913, 3913, 3980, 3980, 3980, 3980,
1653      3913, 3913, 3980, 3980, 3913, 3913, 3980, 3980, 3980, 3980,
1654      3981, 3981, 3982, 3982, 3913, 3913, 3982, 3982, 3982, 3982,
1655      3913, 3913, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1656      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1657      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1658      3912, 3912, 3983, 3912, 3912, 3983, 3983, 3912, 3912, 3912,
1659       370, 3912,  372,  372,  374,  372,  373,  372,  373,  374,
1660       380,  379,  372, 3912, 3912, 3912, 3984, 3912, 3912, 3984,
1661      3984, 3984, 3912, 3912,  372,  372,  372, 3912, 3912, 3912,
1662
1663      3985, 3912, 3912, 3985, 3985, 3985, 3985, 3985, 3912, 3912,
1664       372,  372,  372, 3912, 3912, 3912, 3986, 3912, 3912, 3986,
1665      3912, 3912, 3912, 3912, 3912, 3912, 3987, 3912, 3912, 3987,
1666      3987, 3987, 3912, 3912, 3912, 3912, 3912, 3912, 3988, 3912,
1667      3912, 3988, 3988, 3988, 3912, 3912,  372,  372, 3912, 3912,
1668      3912, 3989, 3912, 3912, 3989, 3989, 3912, 3912,  372,  372,
1669      3912, 3912, 3912, 3990, 3912, 3912, 3990, 3990, 3990, 3912,
1670      3912,  372,  372, 3912, 3912, 3912, 3991, 3912, 3912, 3991,
1671      3991, 3991, 3991, 3991, 3991, 3912, 3912, 3912, 3912, 3912,
1672      3912, 3992, 3912, 3912, 3992, 3992, 3992, 3992, 3992, 3992,
1673
1674      3992, 3992, 3912, 3912,  372,  372, 3912, 3912, 3912, 3993,
1675      3912, 3912, 3993, 3912, 3912,  372,  372, 3912, 3912, 3912,
1676      3994, 3912, 3912, 3994, 3994, 3994, 3912, 3912,  372,  372,
1677      3912, 3912, 3912, 3995, 3912, 3912, 3995, 3995, 3995, 3995,
1678      3995, 3912, 3912,  372,  372,  372, 3912, 3912, 3912, 3996,
1679      3912, 3912, 3996, 3996, 3996, 3912, 3912, 3912, 3912, 3912,
1680      3912, 3997, 3912, 3912, 3997, 3912, 3912,  374,  374,  372,
1681      3912, 3912, 3912, 3998, 3912, 3912, 3998, 3998, 3998, 3998,
1682      3912, 3912,  372,  372, 3912, 3912, 3912, 3999, 3912, 3912,
1683      3999, 3999, 3912, 3912, 3912, 3912, 3912, 3912, 4000, 3912,
1684
1685      3912, 4000, 4000, 3912, 3912, 3912, 3912, 3912, 3912, 4001,
1686      3912, 3912, 4001, 4001, 3912, 3912, 3912, 3912, 3912, 3912,
1687      4002, 3912, 3912, 4002, 4002, 4002, 4002, 4002, 4002, 3912,
1688      3912, 3912, 3912, 3912, 3912, 3912, 4003, 3912, 3912, 4003,
1689      3912, 3912,  374,  643,  372,  372,  372,  372, 3912, 3912,
1690      3912, 4004, 3912, 3912, 4004, 4004, 4004, 4004, 4004, 3912,
1691      3912,  372,  372, 3912, 3912, 3912, 4005, 3912, 3912, 4005,
1692      4005, 3912, 3912, 3912, 3912, 3912, 3912, 4006, 3912, 3912,
1693      4006, 4006, 4006, 4006, 4006, 3912, 3912, 3912, 3912, 3912,
1694      3912, 4007, 3912, 3912, 4007, 4007, 3912, 3912,  372,  372,
1695
1696      3912, 3912, 3912, 4008, 3912, 3912, 4008, 4008, 3912, 3912,
1697      3912, 3912, 3912, 3912, 4009, 3912, 3912, 4009, 4009, 4009,
1698      4009, 3912, 3912,  372,  372, 3912, 3912, 3912, 4010, 3912,
1699      3912, 4010, 4010, 4010, 4010, 3912, 3912,  372,  372,  372,
1700      3912, 3912, 3912, 4011, 3912, 3912, 4011, 4011, 4011, 3912,
1701      3912, 3912, 3912, 3912, 4012, 3912, 3912, 4012, 4012, 4012,
1702      3912, 3912, 3912, 3912, 3912, 3912, 4013, 3912, 3912, 4013,
1703      4013, 3912, 3912,  374,  774,  372,  374,  374,  372,  776,
1704       774,  372, 3912, 3912, 3912, 4014, 3912, 3912, 4014, 4014,
1705      4014, 3912, 3912,  372,  372, 3912, 4015, 3912, 3912, 3912,
1706
1707      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1708      3912, 4016, 4016, 4016, 4017, 3912, 3912, 3912, 3912, 3912,
1709      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1710      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1711      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1712      3912, 3912, 3912, 3912, 3912, 4018, 4018, 4018, 4018, 4018,
1713      4019, 3912, 3912, 4020, 4020, 4020, 4020, 4020, 4020, 4021,
1714      3912, 3912, 4022, 4022, 4023, 3912, 4024, 4024, 4024, 4024,
1715      4025, 3912, 4026, 4026, 4026, 4026, 4027, 3912, 4028, 4028,
1716      4028, 4029, 3912, 4030, 4030, 4030, 4030, 4031, 3912, 4032,
1717
1718      4032, 4032, 4032, 4032, 4032, 4032, 4032, 4033, 3912, 4034,
1719      4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034, 4034,
1720      4034, 4034, 4034, 4034, 4035, 3912, 4036, 4036, 4037, 3912,
1721      4038, 4038, 4038, 4038, 4039, 3912, 4040, 4040, 4040, 4040,
1722      4040, 4040, 4040, 4041, 3912, 3912, 3912, 4042, 4042, 4042,
1723      4042, 4043, 3912, 4044, 4044, 4045, 3912, 4046, 4046, 4046,
1724      4046, 4046, 4046, 4047, 3912, 4048, 4048, 4048, 4049, 3912,
1725      4050, 4050, 4050, 4051, 3912, 4052, 4052, 4052, 4053, 3912,
1726      4054, 4054, 4054, 4054, 4054, 4054, 4054, 4054, 4055, 3912,
1727      3912, 4056, 4056, 4057, 3912, 3912, 3912, 3912, 3912, 3912,
1728
1729      3912, 4058, 4058, 4058, 4058, 4058, 4058, 4059, 3912, 4060,
1730      4060, 4060, 4061, 3912, 4062, 4062, 4062, 4062, 4062, 4062,
1731      4062, 4062, 4062, 4063, 3912, 4064, 4064, 4064, 4064, 4065,
1732      3912, 4066, 4066, 4066, 4067, 3912, 4068, 4068, 4068, 4068,
1733      4068, 4069, 3912, 4070, 4070, 4070, 4070, 4070, 4071, 3912,
1734      3912, 4072, 4072, 4072, 4072, 3912, 4073, 3912, 3912, 4074,
1735      4074, 4074, 4074, 4075, 3912, 4076, 4076, 4076, 4077, 3912,
1736      3912, 4078, 4078, 4078, 4078, 4078, 4079, 4080, 3912, 4080,
1737      3912, 3912, 3912, 4081, 3912, 3912, 3912, 3912, 3912, 3912,
1738      3912, 3912, 4082, 4083, 4083, 3912, 3912, 3912, 3912, 3912,
1739
1740      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1741      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1742      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1743      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4084, 4084,
1744      4084, 4084, 4085, 4085, 3912, 4086, 4086, 4086, 4086, 4086,
1745      4087, 4087, 3912, 4088, 4089, 4089, 4090, 3912, 3912, 4090,
1746      4091, 4091, 4092, 4092, 4092, 4093, 4093, 4094, 4094, 4095,
1747      4095, 4096, 4096, 4096, 4097, 4097, 3912, 3912, 3912, 3912,
1748      4098, 4098, 4098, 4098, 4098, 4099, 4099, 4100, 3912, 3912,
1749      4100, 3912, 3912, 4100, 4100, 4100, 4100, 4100, 4100, 4100,
1750
1751      4100, 4100, 4100, 4101, 4101, 3912, 3912, 4102, 4102, 3912,
1752      3912, 4103, 4103, 4104, 4104, 4105, 4105, 4105, 3912, 3912,
1753      4105, 4105, 4105, 4106, 4106, 3912, 3912, 4107, 3912, 3912,
1754      3912, 3912, 4108, 4108, 4109, 4110, 4110, 4111, 3912, 3912,
1755      4111, 4111, 4111, 4112, 4112, 4113, 3912, 3912, 4114, 4114,
1756      3912, 3912, 4115, 4116, 4116, 4117, 4117, 4118, 4118, 4119,
1757      4119, 4119, 3912, 3912, 4119, 4119, 4119, 4120, 4120, 3912,
1758      4121, 4122, 4122, 3912, 3912, 3912, 3912, 4123, 4123, 4123,
1759      4123, 4123, 4124, 4124, 3912, 3912, 4125, 4126, 4126, 4127,
1760      3912, 3912, 4127, 4127, 4127, 4127, 4127, 4127, 4128, 4128,
1761
1762      4129, 4129, 4129, 4130, 4130, 4131, 3912, 3912, 4132, 4132,
1763      4133, 4133, 3912, 3912, 4133, 4134, 4134, 4135, 3912, 3912,
1764      4135, 4135, 4136, 4136, 3912, 4137, 3912, 3912, 4137, 3912,
1765      4138, 4138, 3912, 4139, 4139, 4139, 4140, 4140, 3912, 3912,
1766      4141, 4142, 4142, 4143, 4143, 4143, 4143, 4144, 4144, 4145,
1767      3912, 3912, 4145, 3912, 3912, 4146, 3912, 3912, 3912, 3912,
1768      3912, 3912, 3912, 3912, 4147, 3912, 4148, 3912, 4148, 3912,
1769      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1770      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1771      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1772
1773      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1774      3912, 3912, 3912, 3912, 3912, 4149, 4149, 3912, 3912, 4149,
1775      3912, 4150, 3912, 4150, 3912, 4151, 4151, 4151, 4151, 4151,
1776      3912, 4152, 3912, 4152, 3912, 4153, 3912, 4154, 3912, 4154,
1777      4155, 3912, 3912, 3912, 4155, 3912, 4156, 3912, 4156, 3912,
1778      3912, 4157, 4157, 3912, 3912, 3912, 4158, 3912, 4158, 3912,
1779      3912, 3912, 3912, 3912, 4159, 3912, 4159, 3912, 3912, 4160,
1780      4160, 3912, 3912, 3912, 4161, 3912, 4161, 3912, 3912, 3912,
1781      3912, 3912, 3912, 3912, 3912, 4162, 4162, 4162, 4162, 3912,
1782      4163, 3912, 4163, 4164, 4164, 4164, 3912, 3912, 3912, 4164,
1783
1784      3912, 3912, 3912, 3912, 3912, 4164, 4164, 4164, 4164, 4164,
1785      4164, 4164, 4164, 4164, 3912, 4165, 3912, 4165, 3912, 3912,
1786      3912, 3912, 4166, 3912, 4166, 3912, 3912, 3912, 4167, 4167,
1787      3912, 4168, 3912, 4168, 4169, 4169, 4169, 3912, 3912, 3912,
1788      4169, 4169, 4169, 3912, 4170, 3912, 4170, 3912, 3912, 4171,
1789      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4172, 3912, 4172,
1790      4173, 3912, 4174, 3912, 4174, 4175, 3912, 3912, 3912, 4175,
1791      4175, 4175, 3912, 4176, 3912, 4176, 4177, 3912, 3912, 3912,
1792      3912, 4178, 3912, 4178, 3912, 3912, 3912, 4179, 3912, 4180,
1793      3912, 4180, 4181, 4181, 3912, 4182, 3912, 4182, 4183, 4183,
1794
1795      4183, 4183, 3912, 3912, 3912, 3912, 3912, 4183, 4183, 3912,
1796      4184, 3912, 4184, 3912, 4185, 3912, 4186, 3912, 4186, 3912,
1797      3912, 3912, 3912, 4187, 4187, 4187, 4187, 4187, 3912, 4188,
1798      3912, 4188, 3912, 3912, 3912, 4189, 3912, 4190, 3912, 4190,
1799      4191, 3912, 3912, 3912, 3912, 3912, 4191, 3912, 3912, 4191,
1800      4191, 4191, 3912, 4192, 3912, 4192, 3912, 3912, 3912, 3912,
1801      4193, 3912, 4194, 3912, 4194, 4195, 3912, 3912, 3912, 3912,
1802      4196, 3912, 4196, 4197, 4197, 3912, 3912, 3912, 4197, 3912,
1803      4198, 3912, 4198, 4199, 3912, 3912, 3912, 4199, 4199, 3912,
1804      4200, 3912, 4200, 3912, 4201, 3912, 3912, 3912, 4201, 3912,
1805
1806      3912, 4202, 3912, 4202, 4203, 4203, 4203, 3912, 4204, 3912,
1807      4204, 3912, 3912, 3912, 4205, 3912, 4206, 3912, 4206, 3912,
1808      3912, 4207, 4207, 3912, 3912, 4207, 3912, 4208, 3912, 4208,
1809      4209, 4210, 3912, 3912, 3912, 3912, 4211, 3912, 3912, 3912,
1810      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1811      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1812      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1813      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1814      3912, 3912, 3912, 3912, 3912, 4212, 4212, 3912, 3912, 3912,
1815      4212, 4213, 3912, 4214, 3912, 3912, 4214, 4214, 4214, 4215,
1816
1817      3912, 4216, 4217, 4218, 4218, 4219, 3912, 3912, 3912, 4220,
1818      4220, 3912, 3912, 3912, 4221, 3912, 3912, 3912, 3912, 3912,
1819      3912, 4222, 3912, 3912, 3912, 4223, 4223, 3912, 3912, 3912,
1820      4224, 3912, 3912, 3912, 4225, 4225, 4225, 4225, 4226, 4227,
1821      4227, 4227, 3912, 3912, 3912, 3912, 3912, 4227, 4227, 4227,
1822      4227, 4227, 4227, 4227, 4227, 4227, 4227, 4228, 4229, 4230,
1823      4230, 4231, 4232, 4232, 3912, 3912, 4232, 4232, 4232, 4233,
1824      3912, 3912, 3912, 3912, 4234, 3912, 3912, 4235, 4236, 4236,
1825      4236, 4236, 4237, 4238, 4239, 4240, 4241, 3912, 3912, 4242,
1826      4243, 4244, 4244, 4244, 4244, 3912, 3912, 3912, 4244, 4244,
1827
1828      4245, 3912, 4246, 4247, 3912, 3912, 3912, 3912, 4248, 3912,
1829      3912, 4248, 4248, 4248, 4249, 4250, 4251, 4252, 3912, 3912,
1830      3912, 3912, 3912, 3912, 3912, 3912, 4252, 3912, 3912, 4252,
1831      4253, 3912, 3912, 3912, 3912, 3912, 3912, 4254, 4255, 4256,
1832      4257, 4258, 4258, 4258, 4259, 4260, 4260, 3912, 3912, 4261,
1833      3912, 3912, 3912, 4262, 3912, 4263, 4264, 3912, 3912, 4264,
1834      4265, 4266, 4267, 3912, 3912, 3912, 4268, 4268, 3912, 3912,
1835      3912, 4268, 4269, 4270, 4271, 4271, 3912, 4271, 3912, 3912,
1836      4272, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1837      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1838
1839      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1840      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1841      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4273, 4273, 4273,
1842      4274, 3912, 4275, 3912, 3912, 3912, 4275, 4275, 4275, 4276,
1843      3912, 3912, 3912, 4277, 4278, 4278, 4279, 4280, 4280, 4281,
1844      4282, 4283, 4283, 4284, 4285, 4285, 3912, 3912, 4285, 4286,
1845      3912, 3912, 4287, 4287, 3912, 3912, 3912, 4287, 4287, 4287,
1846      4287, 4287, 4287, 3912, 3912, 4287, 4287, 4287, 4288, 4289,
1847      4290, 4290, 4291, 4292, 4292, 3912, 3912, 3912, 4292, 3912,
1848      3912, 4292, 4292, 4293, 3912, 3912, 3912, 3912, 3912, 4294,
1849
1850      3912, 3912, 3912, 4295, 4296, 4296, 4296, 4296, 4297, 4298,
1851      4299, 3912, 3912, 4300, 3912, 3912, 3912, 4301, 4302, 4303,
1852      3912, 3912, 4303, 4303, 3912, 3912, 4303, 4303, 4304, 3912,
1853      4305, 4306, 3912, 3912, 3912, 3912, 4307, 3912, 3912, 3912,
1854      4307, 4307, 4307, 4308, 3912, 3912, 4309, 4310, 3912, 3912,
1855      3912, 4310, 3912, 3912, 3912, 4310, 4311, 4312, 4313, 4314,
1856      4315, 4316, 4316, 4316, 4317, 4318, 3912, 3912, 3912, 3912,
1857      3912, 4319, 3912, 3912, 3912, 3912, 4320, 3912, 4321, 4322,
1858      3912, 3912, 3912, 3912, 3912, 4323, 4324, 4325, 4326, 4326,
1859      4326, 4327, 4328, 4329, 4329, 3912, 4330, 3912, 3912, 3912,
1860
1861      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1862      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1863      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1864      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4331, 4332,
1865      3912, 4333, 4333, 4333, 4333, 4334, 3912, 3912, 3912, 3912,
1866      4335, 4336, 4336, 4337, 3912, 3912, 3912, 3912, 4338, 4339,
1867      3912, 3912, 3912, 3912, 4340, 3912, 3912, 4341, 3912, 3912,
1868      3912, 3912, 3912, 4342, 3912, 3912, 3912, 3912, 3912, 4343,
1869      4343, 4343, 3912, 3912, 4343, 4343, 4343, 3912, 3912, 3912,
1870      3912, 3912, 4343, 4343, 4344, 4345, 4346, 4346, 3912, 3912,
1871
1872      4347, 4347, 3912, 3912, 3912, 3912, 3912, 4347, 4347, 3912,
1873      3912, 3912, 4348, 4349, 4350, 4350, 4350, 4350, 3912, 3912,
1874      4351, 4352, 3912, 3912, 3912, 4353, 4354, 4355, 4356, 3912,
1875      3912, 3912, 3912, 3912, 4356, 3912, 3912, 3912, 4356, 4356,
1876      3912, 3912, 3912, 4357, 4358, 3912, 3912, 3912, 3912, 4359,
1877      4359, 4359, 4359, 4360, 3912, 3912, 3912, 3912, 3912, 4361,
1878      4361, 4361, 4362, 4363, 4364, 4365, 4366, 3912, 3912, 4367,
1879      3912, 3912, 4368, 4369, 3912, 3912, 3912, 4370, 3912, 4371,
1880      3912, 4372, 4373, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1881      3912, 3912, 3912, 3912, 4374, 4375, 3912, 3912, 3912, 3912,
1882
1883      3912, 3912, 4376, 4377, 4378, 4379, 4379, 3912, 3912, 3912,
1884      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1885      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1886      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1887      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4380, 4381,
1888      3912, 4382, 4382, 4382, 4382, 3912, 3912, 3912, 4383, 4384,
1889      3912, 3912, 4385, 3912, 3912, 3912, 3912, 3912, 3912, 4386,
1890      4387, 3912, 3912, 3912, 3912, 3912, 3912, 4388, 3912, 3912,
1891      3912, 3912, 3912, 3912, 3912, 3912, 4389, 3912, 3912, 3912,
1892      4390, 4390, 4390, 3912, 3912, 3912, 3912, 3912, 4390, 4390,
1893
1894      3912, 3912, 3912, 4390, 4390, 4391, 4392, 3912, 3912, 4393,
1895      4394, 4394, 3912, 3912, 3912, 4394, 4394, 4395, 4396, 4397,
1896      3912, 3912, 4397, 4397, 4397, 4398, 4399, 4400, 4401, 3912,
1897      3912, 4402, 3912, 3912, 3912, 4402, 4402, 4402, 3912, 3912,
1898      3912, 4403, 3912, 3912, 3912, 4404, 4404, 4404, 4404, 4405,
1899      4406, 3912, 3912, 4406, 4407, 4408, 3912, 3912, 4409, 4410,
1900      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4411, 3912,
1901      3912, 4412, 3912, 4413, 3912, 3912, 3912, 3912, 3912, 3912,
1902      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4414,
1903      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4415, 4416,
1904
1905      4417, 4418, 4418, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1906      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1907      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1908      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4419, 4420, 3912,
1909      3912, 3912, 4421, 4421, 4421, 3912, 4422, 4423, 3912, 3912,
1910      3912, 4424, 4425, 4426, 4427, 3912, 3912, 3912, 4428, 4429,
1911      4429, 4429, 3912, 3912, 3912, 4429, 4429, 4429, 3912, 3912,
1912      4430, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4431, 4431,
1913      4431, 4431, 4432, 4433, 4434, 3912, 3912, 3912, 4434, 4434,
1914      4434, 4435, 4436, 4437, 4438, 4439, 4439, 4439, 4439, 3912,
1915
1916      3912, 3912, 3912, 4440, 3912, 3912, 3912, 4441, 4441, 4441,
1917      4442, 4443, 3912, 3912, 3912, 4443, 3912, 3912, 4444, 4445,
1918      3912, 3912, 3912, 3912, 3912, 4446, 3912, 3912, 3912, 4447,
1919      3912, 4448, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1920      3912, 3912, 3912, 3912, 3912, 3912, 4449, 3912, 3912, 3912,
1921      4450, 4451, 4452, 4453, 4453, 3912, 3912, 3912, 3912, 3912,
1922      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1923      3912, 3912, 3912, 3912, 3912, 4454, 3912, 3912, 3912, 3912,
1924      3912, 3912, 3912, 3912, 4455, 4455, 3912, 4456, 3912, 3912,
1925      4457, 4458, 4459, 4460, 3912, 3912, 4461, 4461, 4461, 4461,
1926
1927      3912, 3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1928      3912, 3912, 4462, 4462, 4462, 4462, 4463, 3912, 3912, 3912,
1929      3912, 4464, 4464, 4464, 4464, 3912, 3912, 4465, 4466, 3912,
1930      3912, 4467, 4467, 4467, 4467, 3912, 4468, 3912, 3912, 3912,
1931      3912, 3912, 4469, 4469, 3912, 3912, 3912, 3912, 4443, 4444,
1932      4445, 3912, 3912, 4447, 3912, 4448, 3912, 3912, 3912, 3912,
1933      3912, 3912, 3912, 3912, 3912, 3912, 4449, 4450, 4451, 4452,
1934      4453, 4453, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1935      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4454, 3912, 3912,
1936      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1937
1938      3912, 3912, 4458, 4459, 4460, 4461, 4461, 4461, 4461, 3912,
1939      3912, 3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1940      4462, 4462, 3912, 3912, 3912, 3912, 4463, 3912, 3912, 3912,
1941      4464, 4464, 4464, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1942      4466, 3912, 3912, 3912, 4467, 4467, 3912, 3912, 3912, 3912,
1943      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1944      3912, 3912, 4443, 4444, 4445, 4447, 3912, 4448, 3912, 3912,
1945      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4449, 4450,
1946      4451, 4452, 4453, 4453, 3912, 3912, 3912, 3912, 3912, 3912,
1947      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1948
1949      3912, 3912, 3912, 4458, 4459, 4460, 4461, 4461, 3912, 3912,
1950      4461, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1951      3912, 4462, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1952      3912, 3912, 4464, 4464, 4464, 3912, 3912, 3912, 3912, 3912,
1953      3912, 3912, 3912, 3912, 4466, 4467, 3912, 3912, 3912, 3912,
1954      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1955      3912, 3912, 3912, 3912, 3912, 3912, 4443, 3912, 3912, 3912,
1956      3912, 4447, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1957      3912, 3912, 3912, 3912, 3912, 4449, 3912, 3912, 3912, 3912,
1958      4452, 4453, 4453, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1959
1960      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1961      4458, 4459, 4460, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1962      3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1963      3912, 4462, 3912, 3912, 3912, 4464, 3912, 3912, 4464, 3912,
1964      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4467, 3912, 3912,
1965      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1966      3912, 3912, 3912, 4443, 3912, 3912, 3912, 3912, 3912, 3912,
1967      4447, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1968      3912, 3912, 4449, 3912, 3912, 3912, 4452, 4453, 4453, 4453,
1969      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1970
1971      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1972      4458, 3912, 3912, 4460, 4461, 3912, 3912, 3912, 3912, 3912,
1973      3912, 4461, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1974      3912, 4462, 4464, 3912, 3912, 3912, 4464, 3912, 3912, 3912,
1975      3912, 3912, 3912, 4467, 3912, 3912, 3912, 3912, 3912, 3912,
1976      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1977      3912, 3912, 3912, 3912, 3912, 3912, 4447, 3912, 3912, 3912,
1978      3912, 3912, 3912, 3912, 3912, 4449, 3912, 3912, 3912, 3912,
1979      3912, 3912, 3912, 3912, 4452, 4453, 4453, 4453, 4470, 4471,
1980      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1981
1982      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4458, 4460,
1983      4461, 3912, 3912, 4461, 3912, 3912, 3912, 3912, 3912, 3912,
1984      3912, 3912, 4462, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1985      3912, 4467, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1986      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1987      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1988      3912, 3912, 3912, 4449, 3912, 3912, 3912, 3912, 3912, 3912,
1989      3912, 3912, 4452, 4453, 4472, 4473, 4470, 4471, 3912, 3912,
1990      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1991      3912, 3912, 3912, 3912, 4460, 4461, 3912, 3912, 3912, 3912,
1992
1993      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4462, 3912, 3912,
1994      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4467, 3912,
1995      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1996      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1997      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
1998      3912, 3912, 3912, 3912, 3912, 4452, 4472, 4453, 4474, 4473,
1999      4475, 4453, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2000      4460, 4461, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2001      3912, 3912, 3912, 4462, 3912, 3912, 3912, 3912, 3912, 3912,
2002      4467, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2003
2004      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4452,
2005      4474, 3912, 4475, 4453, 3912, 3912, 3912, 3912, 3912, 3912,
2006      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2007      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2008      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2009      3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2010      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2011      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2012      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2013      3912, 3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912,
2014
2015      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2016      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2017      3912, 3912, 3912, 3912, 3912, 4452, 3912, 3912, 3912, 3912,
2018      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2019      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2020      4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2021      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2022      3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2023      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2024      3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2025
2026      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 4452,
2027      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2028      3912, 3912, 4452, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2029      3912, 3912, 3912, 3912, 3912, 4452, 4452, 3912, 3912, 3912,
2030      3912, 3912, 3912, 3912, 3912, 3912, 3912, 4452, 4452, 3912,
2031      3912, 3912, 3912, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2032      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2033      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2034      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2035      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2036
2037      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2038      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2039      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2040      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2041      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2042      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2043      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2044      4452, 4452, 3912, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2045      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2046      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2047
2048      4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452, 4452,
2049      3912,    0, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2050      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2051      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2052      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2053      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2054      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2055      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2056      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2057      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2058
2059      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2060      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2061      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2062      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2063      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2064      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2065      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2066      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2067      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2068      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2069
2070      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2071      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2072      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2073      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2074      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2075      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2076      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2077      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2078      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2079      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2080
2081      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2082      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2083      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2084      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2085      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2086      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2087      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2088      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2089      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2090      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2091
2092      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2093      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2094      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2095      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2096      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2097      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2098      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2099      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2100      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2101      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2102
2103      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2104      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2105      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2106      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2107      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2108      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2109      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2110      3912, 3912, 3912, 3912, 3912
2111     } ;
2112
2113 static const flex_int16_t yy_nxt[14537] =
2114     {   0,
2115      3912,  336,  337,  336,  336,  337,  336,  336,  337,  336,
2116       336,  337,  336,  341,  337,  341,  347,  338,  344,  347,
2117       338,  344, 3912,  339,  815,  345,  339,  870,  345,  342,
2118       341,  337,  341,  797,  348,  350,  351,  348,  350,  351,
2119       352,  353, 3912,  352,  353,  797,  342,  357,  358,  798,
2120       354,  350,  351,  354,  355,  800,  352,  350,  351,  962,
2121       355,  799,  352,  357,  358,  871,  354,  369,  337,  369,
2122       963,  799,  354,  369,  337,  369,  844,  369,  337,  369,
2123       369,  337,  369,  370,  337,  337,  337, 1860,  815,  370,
2124       844,  800,  359,  371,  828,  831,  371,  796,  796,  796,
2125
2126       372,  796,  796,  796,  796,  796,  796,  799,  359,  360,
2127       361,  337,  361,  360,  360,  360,  360,  360,  360,  360,
2128       362,  360,  360,  360,  850,  360,  364,  360,  365,  360,
2129       337,  337,  337,  369,  337,  369,  369,  337,  369,  851,
2130       844,  369,  337,  369,  828,  945,  372,  841,  800,  370,
2131       862,  911,  370,  946,  844,  360,  360,  373,  796,  796,
2132       796,  796,  796,  796,  799,  859,  366,  796,  796,  796,
2133      1085,  912,  860, 1086,  367,  360,  361,  337,  361,  360,
2134       360,  360,  360,  360,  360,  360,  362,  360,  360,  360,
2135       861,  360,  364,  360,  365,  360,  369,  337,  369,  337,
2136
2137       337,  337,  337,  337,  337,  350,  351,  369,  337,  369,
2138       352,  919,  373,  942, 1079,  374,  870,  943,  374,  887,
2139       750,  360,  360,  375,  920,  369,  337,  369,  369,  337,
2140       369,  956,  366,  369,  337,  369,  337,  337,  337,  944,
2141       367,  375,  844,  800,  376,  337,  337,  337,  861,  376,
2142       751, 1330,  377,  369,  337,  369,  369,  337,  369,  799,
2143       800,  377,  337,  337,  337,  337,  337,  337,  844,  373,
2144       832,  844,  373,  369,  337,  369,  799, 1861,  378,  836,
2145       945,  378,  369,  337,  369,  369,  337,  369,  946,  376,
2146       369,  337,  369,  337,  337,  337,  862,  815,  376,  832,
2147
2148       844,  379,  337,  337,  337,  892,  379,  816,  836,  380,
2149       369,  337,  369,  369,  337,  369, 1863,  800,  380,  337,
2150       337,  337,  337,  337,  337, 1217,  381, 1028, 1218,  381,
2151       369,  337,  369,  799, 1029,  382,  849,  800,  382,  369,
2152       337,  369,  369,  337,  369, 1864,  379,  369,  337,  369,
2153       796,  796,  796,  799,  898,  379,  925,  844,  383,  829,
2154       796,  796,  796,  383,  384,  385,  337,  385,  384,  384,
2155       384,  384,  384,  384,  384,  386,  384,  384,  384,  800,
2156       384,  388,  384,  389,  384,  394,  337,  394,  394,  337,
2157       394,  337,  337,  337,  906,  799,  337,  337,  337,  907,
2158
2159      1600,  395,  800,  819,  395, 1601,  844,  396,  844,  875,
2160       384,  384,  396,  394,  337,  394,  390,  838,  799,  391,
2161       929,  887,  815,  796,  796,  796,  796,  796,  796,  395,
2162       392,  384,  385,  337,  385,  384,  384,  384,  384,  384,
2163       384,  384,  386,  384,  384,  384,  800,  384,  388,  384,
2164       389,  384,  394,  337,  394,  394,  337,  394,  394,  337,
2165       394,  854,  799,  410,  337,  410,  987, 1867,  395,  862,
2166       988,  397,  844,  844,  397, 1868,  826,  384,  384,  411,
2167       410,  337,  410,  390,  935,  892,  391,  796,  796,  796,
2168       796,  796,  796,  796,  796,  796,  411,  392,  398,  399,
2169
2170       337,  399,  398,  398,  398,  398,  398,  398,  398,  400,
2171       398,  398,  398,  800,  398,  402,  398,  403,  398,  337,
2172       337,  337,  337,  337,  337,  410,  337,  410,  944,  799,
2173       410,  337,  410,  862, 1869,  412,  844,  844,  412,  999,
2174      1871,  411,  800,  800,  398,  398,  411,  410,  337,  410,
2175       881,  844,  404,  998,  405,  898,  406, 1008,  799,  799,
2176       407, 1872, 1879,  413,  408,  398,  399,  337,  399,  398,
2177       398,  398,  398,  398,  398,  398,  400,  398,  398,  398,
2178       844,  398,  402,  398,  403,  398,  410,  337,  410,  422,
2179       337,  422,  422,  337,  422,  871,  915,  434,  337,  434,
2180
2181      1880, 1881,  413,  862,  916,  423,  995,  844,  423,  917,
2182       921,  398,  398,  435,  434,  337,  434,  922,  956,  404,
2183      1000,  405,  923,  406,  796,  796,  796,  407, 1049, 1882,
2184       435,  408,  414,  415,  337,  415,  414,  414,  414,  414,
2185       414,  414,  414,  416,  414,  414,  414,  800,  414,  418,
2186       414,  419,  414,  446,  337,  446,  446,  337,  446,  337,
2187       337,  337, 1022,  799,  337,  337,  337, 1075, 1884,  447,
2188       844, 1886,  447, 1099, 1076,  396, 1023, 1050,  414,  414,
2189       396,  446,  337,  446,  446,  337,  446,  796,  796,  796,
2190       796,  796,  796,  796,  796,  796, 1100,  447, 1892, 1893,
2191
2192       447,  420,  414,  415,  337,  415,  414,  414,  414,  414,
2193       414,  414,  414,  416,  414,  414,  414,  800,  414,  418,
2194       414,  419,  414,  446,  337,  446,  446,  337,  446,  458,
2195       337,  458, 1079,  799,  458,  337,  458, 1351, 1894,  448,
2196      1895, 1731,  448, 1119, 1899,  459, 1119, 1080,  414,  414,
2197       459,  337,  337,  337,  337,  337,  337,  796,  796,  796,
2198       796,  796,  796,  796,  796,  796, 1120,  396, 1900, 1132,
2199       396,  420,  424,  425,  337,  425,  424,  424,  424,  424,
2200       424,  424,  424,  426,  424,  424,  424, 1902,  424,  428,
2201       424,  429,  424,  458,  337,  458,  458,  337,  458,  458,
2202
2203       337,  458,  350,  351,  458,  337,  458,  352, 1903,  459,
2204       800,  800,  459, 1905,  800,  460,  964,  750,  424,  424,
2205       460,  908,  430,  796,  796,  796,  799,  799,  805,  431,
2206       799,  432,  424,  425,  337,  425,  424,  424,  424,  424,
2207       424,  424,  424,  426,  424,  424,  424,  751,  424,  428,
2208       424,  429,  424,  471,  337,  471,  471,  337,  471,  337,
2209       337,  337, 1906, 1908,  337,  337,  337, 1909,  844,  472,
2210       994,  806,  472, 1097,  800,  396, 1008,  807,  424,  424,
2211       396,  808,  430,  796,  796,  796,  809, 1098, 1912,  431,
2212       799,  432,  436,  437,  337,  437,  436,  436,  436,  436,
2213
2214       436,  436,  436,  438,  436,  436,  436,  800,  436,  440,
2215       436,  441,  436,  471,  337,  471,  471,  337,  471,  471,
2216       337,  471,  844,  799,  471,  337,  471, 1913,  844,  472,
2217       800, 1097,  472, 1914, 1916,  473, 1918,  952,  436,  436,
2218       473,  487,  337,  487,  442, 1153,  799,  443,  796,  796,
2219       796,  796,  796,  796,  796,  796,  796,  488,  444,  436,
2220       437,  337,  437,  436,  436,  436,  436,  436,  436,  436,
2221       438,  436,  436,  436,  800,  436,  440,  436,  441,  436,
2222       487,  337,  487,  504,  337,  504,  504,  337,  504, 1109,
2223       799,  337,  337,  337, 1927, 1110,  488,  800, 1930,  505,
2224
2225      1938, 1111,  505, 1940,  969,  436,  436,  372,  337,  337,
2226       337,  442, 1030,  799,  443,  796,  796,  796,  796,  796,
2227       796,  796,  796,  796,  372,  444,  449,  450,  337,  450,
2228       449,  449,  449,  449,  449,  449,  449,  451,  449,  449,
2229       449,  800,  449,  453,  449,  454,  449,  504,  337,  504,
2230       504,  337,  504,  504,  337,  504, 1109,  799,  504,  337,
2231       504, 1942, 1110,  505,  844, 1943,  505, 1944, 1117,  506,
2232      1946, 1042,  449,  449,  506,  515,  337,  515,  455,  796,
2233       796,  796,  796,  796,  796,  796,  796,  796,  796,  796,
2234       796,  516,  456,  449,  450,  337,  450,  449,  449,  449,
2235
2236       449,  449,  449,  449,  451,  449,  449,  449,  800,  449,
2237       453,  449,  454,  449,  515,  337,  515,  337,  337,  337,
2238       337,  337,  337,  844,  799,  515,  337,  515, 1947, 1951,
2239       516, 1955, 1957,  372, 1960, 1962,  372, 1967, 1049,  449,
2240       449,  516,  515,  337,  515,  455,  796,  796,  796,  796,
2241       796,  796,  796,  796,  796,  796,  796,  796,  516,  456,
2242       461,  462,  337,  462,  461,  461,  461,  461,  461,  461,
2243       461,  463,  461,  461,  461,  800,  461,  465,  461,  466,
2244       461,  515,  337,  515,  515,  337,  515,  528,  337,  528,
2245       844,  799,  528,  337,  528, 1968, 1972,  517,  800, 1274,
2246
2247       517, 1979, 1980,  529, 1981,  974,  461,  461,  529,  337,
2248       337,  337,  467, 1098,  799,  468,  796,  796,  796,  796,
2249       796,  796,  796,  796,  796,  372,  469,  461,  462,  337,
2250       462,  461,  461,  461,  461,  461,  461,  461,  463,  461,
2251       461,  461,  800,  461,  465,  461,  466,  461,  337,  337,
2252       337,  528,  337,  528,  528,  337,  528, 1126,  799,  528,
2253       337,  528, 1982, 1110,  372,  800, 1983,  529, 1756, 1111,
2254       529, 1984,  979,  461,  461,  530,  528,  337,  528,  467,
2255      1757,  799,  468,  796,  796,  796,  796,  796,  796,  796,
2256       796,  796,  530,  469,  474,  475,  337,  475,  474,  474,
2257
2258       474,  474,  474,  474,  474,  476,  474,  474,  474,  800,
2259       474,  478,  474,  479,  474,  543,  337,  543,  543,  337,
2260       543,  337,  337,  337, 1069,  799,  337,  337,  337, 1985,
2261      1112,  544,  800,  800,  544, 1986,  800,  545, 1987,  989,
2262       474,  474,  545, 1113,  480,  796,  796,  796,  799,  799,
2263      1069,  481,  799,  482,  796,  796,  796,  483,  994,  484,
2264       485,  474,  475,  337,  475,  474,  474,  474,  474,  474,
2265       474,  474,  476,  474,  474,  474,  844,  474,  478,  474,
2266       479,  474,  543,  337,  543,  543,  337,  543,  543,  337,
2267       543, 1988,  990,  543,  337,  543,  995, 1989,  544, 1993,
2268
2269      1996,  544,  844,  800,  546, 1351,  828,  474,  474,  546,
2270      1000,  480,  796,  796,  796,  796,  796,  796,  481,  799,
2271       482,  796,  796,  796,  483, 1974,  484,  485,  489,  490,
2272       337,  490,  489,  489,  489,  489,  489,  489,  489,  491,
2273       489,  489,  489,  492,  489,  493,  489,  494,  489,  492,
2274       492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
2275       492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
2276       492,  492,  492,  492,  489,  489,  492,  492,  495,  496,
2277       492,  492,  492,  492,  492,  497,  492,  498,  492,  492,
2278       492,  499,  492,  500,  501,  502,  492,  492,  492,  492,
2279
2280       492,  492,  507,  508,  337,  508,  507,  507,  507,  507,
2281       507,  507,  507,  509,  507,  507,  507, 1099,  507,  511,
2282       507,  512,  507,  557,  337,  557,  557,  337,  557,  567,
2283       337,  567, 1756, 1018,  567,  337,  567, 1019, 1077,  558,
2284      1120, 1020,  558, 1997, 1763,  568, 1999, 1856,  507,  507,
2285       568,  796,  796,  796,  796,  796,  796, 1030, 1857,  513,
2286       507,  508,  337,  508,  507,  507,  507,  507,  507,  507,
2287       507,  509,  507,  507,  507,  800,  507,  511,  507,  512,
2288       507,  337,  337,  337,  337,  337,  337,  567,  337,  567,
2289       844,  799,  567,  337,  567,  800, 2000,  569, 1126,  800,
2290
2291       569, 2002, 1013,  568, 1110,  862,  507,  507,  568,  844,
2292      1117,  799,  796,  796,  796,  799, 2003,  513,  518,  519,
2293       337,  519,  518,  518,  518,  518,  518,  518,  518,  520,
2294       518,  518,  518,  800,  518,  522,  518,  523,  518,  567,
2295       337,  567,  567,  337,  567,  582,  337,  582, 1907,  799,
2296       582,  337,  582, 2004, 1112,  570, 2005, 2009,  570, 2010,
2297      1763,  583, 1099, 1119,  518,  518,  583, 1127,  337,  337,
2298       337,  337,  337,  337, 2011,  524,  796,  796,  796,  796,
2299       796,  796, 1077,  525,  372, 1132, 1136,  372,  526,  518,
2300       519,  337,  519,  518,  518,  518,  518,  518,  518,  518,
2301
2302       520,  518,  518,  518,  800,  518,  522,  518,  523,  518,
2303       582,  337,  582,  582,  337,  582,  582,  337,  582, 2012,
2304       799,  582,  337,  582, 2013, 2016,  583, 2019, 2020,  583,
2305       862,  800,  584, 1099,  844,  518,  518,  584, 1024,  594,
2306       337,  594,  594,  337,  594, 2021,  524,  799,  796,  796,
2307       796,  796,  796,  796,  525,  595, 1136, 2024,  595,  526,
2308       531,  532,  337,  532,  531,  531,  531,  531,  531,  531,
2309       531,  533,  531,  531,  531,  800,  531,  535,  531,  536,
2310       531,  605,  337,  605,  605,  337,  605,  616,  337,  616,
2311      1109,  799,  616,  337,  616, 2025, 1110,  606, 1126,  800,
2312
2313       606, 2026, 1276,  617, 1110,  800,  531,  531,  617,  537,
2314      1276,  538,  796,  796,  796,  799, 2027,  539,  796,  796,
2315       796,  799, 2028,  540, 2029, 2030,  541,  531,  532,  337,
2316       532,  531,  531,  531,  531,  531,  531,  531,  533,  531,
2317       531,  531,  800,  531,  535,  531,  536,  531,  631,  337,
2318       631,  631,  337,  631,  337,  337,  337, 2033,  799,  337,
2319       337,  337, 2037, 2038,  632,  800, 2039,  632, 2041, 1101,
2320       633, 2045, 1035,  531,  531,  633,  537, 2046,  538, 1102,
2321       831,  799, 1103, 2048,  539,  796,  796,  796, 2049, 2052,
2322       540, 2053, 2055,  541,  547,  548,  337,  548,  547,  547,
2323
2324       547,  547,  547,  547,  547,  549,  547,  547,  547,  850,
2325       547,  551,  547,  552,  547,  642,  337,  642,  642,  337,
2326       642,  642,  337,  642,  851, 1121,  642,  337,  642, 2056,
2327      2059,  643,  841, 2081,  643, 1122, 2082,  644, 1103, 2084,
2328       547,  547,  644,  337,  337,  337,  553,  796,  796,  796,
2329      2085,  554,  796,  796,  796,  796,  796,  796, 2089,  645,
2330      2093, 2096,  555,  547,  548,  337,  548,  547,  547,  547,
2331       547,  547,  547,  547,  549,  547,  547,  547, 2105,  547,
2332       551,  547,  552,  547,  337,  337,  337,  642,  337,  642,
2333       642,  337,  642, 2106, 1112,  642,  337,  642, 2107, 2108,
2334
2335       645, 1056, 2110,  643, 2118, 1112,  643, 1137, 1057,  547,
2336       547,  646,  642,  337,  642,  553, 1277,  799, 1138, 2120,
2337       554,  796,  796,  796,  796,  796,  796, 2123,  646, 1127,
2338      2124,  555,  559,  560,  337,  560,  559,  559,  559,  559,
2339       559,  559,  559,  561,  559,  559,  559, 2128,  559,  563,
2340       559,  564,  559,  337,  337,  337,  337,  337,  337,  642,
2341       337,  642, 2130, 1101,  642,  337,  642,  800, 2131,  569,
2342      2133, 1101,  569, 1122, 1064,  644, 1103, 2134,  559,  559,
2343       644, 1102, 2135,  799, 1275, 2136,  565,  559,  560,  337,
2344       560,  559,  559,  559,  559,  559,  559,  559,  561,  559,
2345
2346       559,  559, 2137,  559,  563,  559,  564,  559,  337,  337,
2347       337,  337,  337,  337,  642,  337,  642, 2141, 1121,  642,
2348       337,  642, 2142, 1351,  647, 2143, 2148,  647, 1122, 2152,
2349       646, 1275, 2156,  559,  559,  646,  796,  796,  796, 1353,
2350      2158,  565,  571,  572,  337,  572,  571,  571,  571,  571,
2351       571,  571,  571,  573,  571,  571,  571, 2160,  571,  575,
2352       571,  576,  571,  642,  337,  642,  642,  337,  642,  661,
2353       337,  661, 2162, 1121,  661,  337,  661, 2163, 2164,  648,
2354      2166, 2173,  648, 1102, 1383,  662, 1103, 2177,  571,  571,
2355       662, 2178,  577,  796,  796,  796,  796,  796,  796,  578,
2356
2357      1384,  579,  796,  796,  796,  796,  796,  796,  580,  571,
2358       572,  337,  572,  571,  571,  571,  571,  571,  571,  571,
2359       573,  571,  571,  571, 1383,  571,  575,  571,  576,  571,
2360       337,  337,  337,  337,  337,  337,  661,  337,  661, 2180,
2361      1549,  661,  337,  661, 1494, 2187,  412, 2189, 1694,  412,
2362      2190, 2191,  662, 1495, 1977,  571,  571,  662, 2196,  577,
2363      1496, 1083, 1083, 1083, 1384, 2197,  578, 2198,  579, 1083,
2364      1083, 1083, 2200, 1355, 2201,  580,  585,  586,  337,  586,
2365       585,  585,  585,  585,  585,  585,  585,  587,  585,  585,
2366       585, 2202,  585,  589,  585,  590,  585,  661,  337,  661,
2367
2368       661,  337,  661,  673,  337,  673, 1351, 2203,  673,  337,
2369       673, 2204, 2205,  663, 2206, 2207,  663, 2208, 2209,  674,
2370      1084, 2211,  585,  585,  674, 1362, 1362, 1362,  591, 1363,
2371      2212, 2193, 1364,  592,  585,  586,  337,  586,  585,  585,
2372       585,  585,  585,  585,  585,  587,  585,  585,  585, 2213,
2373       585,  589,  585,  590,  585,  687,  337,  687,  687,  337,
2374       687,  698,  337,  698, 2216, 2219,  698,  337,  698, 2220,
2375      2221,  688, 2222, 2223,  688, 2224, 2225,  699, 2226, 2229,
2376       585,  585,  699, 1370, 1370, 1370,  591, 1394, 1394, 1394,
2377      2232,  592,  596,  597,  337,  597,  596,  596,  596,  596,
2378
2379       596,  596,  596,  598,  596,  596,  596, 2233,  596,  600,
2380       596,  601,  596,  337,  337,  337,  337,  337,  337,  698,
2381       337,  698, 2234, 2241,  698,  337,  698, 2242, 2243,  396,
2382      2244, 2245,  396, 2247, 2252,  699, 2253, 2297,  596,  596,
2383       699,  698,  337,  698,  698,  337,  698, 1371, 2298,  602,
2384      2301, 1395, 2302, 1394, 1394, 1394, 2308,  700, 2309, 2315,
2385       700,  603,  596,  597,  337,  597,  596,  596,  596,  596,
2386       596,  596,  596,  598,  596,  596,  596, 2316,  596,  600,
2387       596,  601,  596,  710,  337,  710,  710,  337,  710,  723,
2388       337,  723, 2317, 2318,  723,  337,  723, 2321, 2327,  711,
2389
2390      2329, 2335,  711, 2339, 2340,  724, 2343, 2344,  596,  596,
2391       724,  337,  337,  337,  337,  337,  337, 1371, 2347,  602,
2392      1370, 1370, 1370, 1370, 1370, 1370, 2348,  372, 2349, 2350,
2393       372,  603,  607,  608,  337,  608,  607,  607,  607,  607,
2394       607,  607,  607,  609,  607,  607,  607, 2351,  607,  611,
2395       607,  612,  607,  723,  337,  723,  723,  337,  723,  723,
2396       337,  723, 2352, 2353,  723,  337,  723, 2360, 2361,  724,
2397      2362, 2364,  724, 2366, 2374,  725, 2379, 2380,  607,  607,
2398       725,  737,  337,  737, 1395, 1442, 1442, 1442, 2381, 1443,
2399      2383, 2396, 1444,  613, 1394, 1394, 1394,  738,  614,  607,
2400
2401       608,  337,  608,  607,  607,  607,  607,  607,  607,  607,
2402       609,  607,  607,  607, 1977,  607,  611,  607,  612,  607,
2403       737,  337,  737,  337,  337,  337,  337,  337,  337, 2410,
2404      2411,  737,  337,  737, 2412, 2416,  738, 1351, 2417,  739,
2405      2419, 2420,  739, 2421, 2422,  607,  607,  738,  737,  337,
2406       737, 1478, 1478, 1478, 2405, 1479, 2406, 2423, 1480, 2424,
2407       613, 1990, 1990, 1990,  738,  614,  618,  619,  337,  619,
2408       618,  618,  618,  618,  618,  618,  618,  620,  618,  618,
2409       618, 2427,  618,  622,  618,  623,  618,  737,  337,  737,
2410       737,  337,  737,  762,  337,  762, 2428, 1977,  762,  337,
2411
2412       762, 2429, 2413,  740, 2430, 2431,  740, 2435, 2436,  763,
2413      2437, 2438,  618,  618,  763,  624,  625,  626, 2414, 2440,
2414      1481, 1481, 1481,  627, 1482,  628, 2415, 1483, 1991, 1991,
2415      1991, 2407,  629,  618,  619,  337,  619,  618,  618,  618,
2416       618,  618,  618,  618,  620,  618,  618,  618, 2432,  618,
2417       622,  618,  623,  618,  773,  337,  773,  773,  337,  773,
2418       773,  337,  773, 2441, 2433,  773,  337,  773, 2442, 2413,
2419       774, 2449, 2434,  774, 2451, 1992,  775, 2452, 2453,  618,
2420       618,  775,  624,  625,  626, 2433, 2454, 1497, 1497, 1497,
2421       627, 1498,  628, 2415, 1499, 1994, 1994, 1994, 2455,  629,
2422
2423       634,  635,  337,  635,  634,  634,  634,  634,  634,  634,
2424       634,  636,  634,  634,  634,  831,  634,  638,  634,  639,
2425       634,  337,  337,  337,  337,  337,  337,  773,  337,  773,
2426      2458, 2460,  773,  337,  773, 2491, 2492,  372, 2493, 2499,
2427       372, 2500, 1995,  774,  854,  852,  634,  634,  774,  773,
2428       337,  773,  773,  337,  773, 2504, 2505,  844, 2511, 1501,
2429      1501, 1501, 2512, 1502, 2516,  776, 1503,  841,  776,  640,
2430       634,  635,  337,  635,  634,  634,  634,  634,  634,  634,
2431       634,  636,  634,  634,  634, 2432,  634,  638,  634,  639,
2432       634,  337,  337,  337,  337,  337,  337,  773,  337,  773,
2433
2434      2517, 2414,  773,  337,  773, 2520, 2524,  777, 2525, 2434,
2435       777, 2526, 2529,  778, 2532, 2536,  634,  634,  778,  773,
2436       337,  773,  773,  337,  773, 1519, 1519, 1519, 2537, 1520,
2437      2538, 2539, 1521, 2544, 2546,  779, 2547, 2548,  779,  640,
2438       649,  650,  337,  650,  649,  649,  649,  649,  649,  649,
2439       649,  651,  649,  649,  649, 2549,  649,  653,  649,  654,
2440       649,  337,  337,  337,  337,  337,  337,  773,  337,  773,
2441      2551, 2554,  773,  337,  773, 2556, 2559,  377, 2573, 2574,
2442       377, 2575, 2580,  776, 2581, 2582,  649,  649,  776,  337,
2443       337,  337, 2584, 2583,  655, 2585,  656, 2586,  657, 1998,
2444
2445      1998, 1998,  658, 2589, 2599,  378,  659,  649,  650,  337,
2446       650,  649,  649,  649,  649,  649,  649,  649,  651,  649,
2447       649,  649, 2608,  649,  653,  649,  654,  649,  337,  337,
2448       337,  773,  337,  773,  773,  337,  773, 2587, 1977,  773,
2449       337,  773, 1351, 1977,  378, 2588, 2609,  779, 2601, 2610,
2450       779, 2611, 2612,  649,  649,  780,  773,  337,  773, 2615,
2451      2617,  655, 2618,  656, 2619,  657, 2001, 2001, 2001,  658,
2452      2602, 2623,  780,  659,  664,  665,  337,  665,  664,  664,
2453       664,  664,  664,  664,  664,  666,  664,  664,  664, 2603,
2454       664,  668,  664,  669,  664,  337,  337,  337,  337,  337,
2455
2456       337,  773,  337,  773, 2624, 2626,  773,  337,  773, 2627,
2457      2628,  380, 2629, 2632,  380, 2636, 2637,  781, 2638, 2640,
2458       664,  664,  781,  337,  337,  337,  337,  337,  337, 2646,
2459      2648,  670, 2660, 1526, 1526, 1526, 2661, 1527, 2662,  382,
2460      1528, 2666,  382,  671,  664,  665,  337,  665,  664,  664,
2461       664,  664,  664,  664,  664,  666,  664,  664,  664, 2667,
2462       664,  668,  664,  669,  664,  773,  337,  773,  773,  337,
2463       773,  773,  337,  773, 2668, 2679,  773,  337,  773, 2680,
2464      2681,  780, 2682, 2685,  780, 2689, 2690,  782, 2691, 2692,
2465       664,  664,  782,  793,  337,  793,  793,  337,  793, 2695,
2466
2467      2696,  670, 2697, 1538, 1538, 1538, 2698, 1539, 2699,  794,
2468      1540, 2700,  794,  671,  675,  676,  337,  676,  675,  675,
2469       675,  675,  675,  675,  675,  677,  675,  675,  675, 2712,
2470       675,  679,  675,  680,  675,  337,  337,  337,  337,  337,
2471       337,  793,  337,  793, 2716, 2719,  793,  337,  793, 2720,
2472      2731,  396, 2732, 2733,  396, 2737, 2738,  794, 2739, 2740,
2473       675,  675,  794, 1551, 1551, 1551, 2741, 1552, 2742,  681,
2474      1553,  682, 2743, 2744,  683, 2745, 2746,  994,  831,  684,
2475       685,  675,  676,  337,  676,  675,  675,  675,  675,  675,
2476       675,  675,  677,  675,  675,  675, 2751,  675,  679,  675,
2477
2478       680,  675,  793,  337,  793,  793,  337,  793,  852, 1091,
2479      1091, 1091, 2758,  821, 2759,  995,  832,  996,  795, 2760,
2480       844,  795,  853,  827,  815,  836, 1092,  675,  675,  997,
2481       841,  998, 1977, 2761,  842, 2763,  681, 2765,  682, 1977,
2482      2766,  683, 2006, 2006, 2006,  846,  684,  685,  689,  690,
2483       337,  690,  689,  689,  689,  689,  689,  689,  689,  691,
2484       689,  689,  689,  843,  689,  693,  689,  694,  689, 2767,
2485      2769, 1158, 1158, 1158,  847,  819,  844, 2770, 2007, 2755,
2486       828,  822, 2754,  823, 2771, 2772,  845,  830, 1159, 2773,
2487      2774,  828, 2775, 2776,  689,  689, 2797,  848, 1069, 2798,
2488
2489       695, 2803, 1069, 1554, 1554, 1554, 2804, 1555,  816, 2813,
2490      1556, 2814,  842, 2815,  696,  689,  690,  337,  690,  689,
2491       689,  689,  689,  689,  689,  689,  691,  689,  689,  689,
2492      2816,  689,  693,  689,  694,  689, 2799,  818, 1177, 1177,
2493      1177,  843, 2832,  821, 2833, 2800, 1179, 1179, 1179, 2834,
2494       825, 2835,  826,  827,  844, 1178, 2850, 2851,  828, 2855,
2495       829,  689,  689, 1180,  845, 1069, 2856,  695, 2857, 1567,
2496      1567, 1567, 2858, 1568, 2859,  816, 1569, 2008, 2008, 2008,
2497      2860,  696,  701,  702,  337,  702,  701,  701,  701,  701,
2498       701,  701,  701,  703,  701,  701,  701, 2861,  701,  705,
2499
2500       701,  706,  701, 2862,  849, 1070, 1189, 1189, 1189, 1192,
2501      1192, 1192, 2863, 1206, 1206, 1206, 2864, 1210, 1210, 1210,
2502      1219, 1219, 1219, 1190, 2865, 2866, 1193,  829,  701,  701,
2503      1207, 2868, 1977,  707, 1211, 2873, 2874, 1220, 2875,  708,
2504       701,  702,  337,  702,  701,  701,  701,  701,  701,  701,
2505       701,  703,  701,  701,  701, 2877,  701,  705,  701,  706,
2506       701, 1229, 1229, 1229, 1231, 1231, 1231, 1239, 1239, 1239,
2507      2872, 1247, 1247, 1247, 2878, 1251, 1251, 1251, 1230, 2879,
2508      1977, 1232, 2881, 2882, 1240, 2883,  701,  701, 1248, 2885,
2509      2886,  707, 1252, 2014, 2014, 2014, 2888,  708,  712,  713,
2510
2511       337,  713,  712,  712,  712,  712,  712,  712,  712,  714,
2512       712,  712,  712, 2871,  712,  716,  712,  717,  712, 1263,
2513      1263, 1263, 1285, 1285, 1285, 1291, 1291, 1291, 2906, 1307,
2514      1307, 1307, 2907, 1313, 1313, 1313, 1264, 2908, 2909, 1286,
2515      2015, 2913, 1292, 2914,  712,  712, 1308,  718, 2921,  719,
2516      1314, 2922, 1578, 1578, 1578,  720, 1579, 2931, 2932, 1580,
2517      2933, 2017, 2017, 2017, 2945,  721,  712,  713,  337,  713,
2518       712,  712,  712,  712,  712,  712,  712,  714,  712,  712,
2519       712, 2946,  712,  716,  712,  717,  712, 1319, 1319, 1319,
2520      1327, 1327, 1327, 1339, 1339, 1339, 2964, 1091, 1091, 1091,
2521
2522      1366, 1366, 1366, 2965, 1320, 2967, 2968, 1328, 1995, 2969,
2523      1340, 2970,  712,  712, 1092,  718, 2971,  719, 1368, 2972,
2524      1585, 1585, 1585,  720, 1586, 2973, 2974, 1587, 2018, 2018,
2525      2018, 2975, 2976,  721,  726,  727,  337,  727,  726,  726,
2526       726,  726,  726,  726,  726,  728,  726,  726,  726, 2977,
2527       726,  730,  726,  731,  726, 1366, 1366, 1366, 1414, 1414,
2528      1414, 1418, 1418, 1418, 2978, 3912, 3912, 3912, 2980, 3912,
2529      3912, 3912, 2985, 1368, 2986, 1415, 2987, 2989, 1419, 2990,
2530       726,  726, 3912, 2991, 2992,  732, 3912, 2017, 2017, 2017,
2531      2993,  733, 1369, 2994,  734, 2095, 2095, 2095, 1351, 1977,
2532
2533       735,  726,  727,  337,  727,  726,  726,  726,  726,  726,
2534       726,  726,  728,  726,  726,  726, 1416,  726,  730,  726,
2535       731,  726, 1421, 1421, 1421, 1421, 1421, 1421, 1420, 2995,
2536      1417, 1431, 1431, 1431, 2032, 1437, 1437, 1437, 2982, 3007,
2537      1423, 3008, 2984, 1423, 2199, 2199, 2199,  726,  726, 1433,
2538      3011, 1977,  732, 1439, 1990, 1990, 1990, 3012,  733, 3013,
2539      3014,  734, 1424, 1991, 1991, 1991, 3017,  735,  741,  742,
2540       337,  742,  741,  741,  741,  741,  741,  741,  741,  743,
2541       741,  741,  741, 3018,  741,  745,  741,  746,  741, 2983,
2542      1437, 1437, 1437, 1158, 1158, 1158, 3015, 3021, 1446, 1446,
2543
2544      1446, 3022, 3033, 1431, 1431, 1431, 3034, 3016, 1439, 3019,
2545      1159, 1446, 1446, 1446,  741,  741, 1448, 1994, 1994, 1994,
2546      3020, 1433,  747, 3035, 3046,  748, 2210, 2210, 2210, 1448,
2547      3076,  749,  741,  742,  337,  742,  741,  741,  741,  741,
2548       741,  741,  741,  743,  741,  741,  741, 3077,  741,  745,
2549       741,  746,  741, 1434, 1440, 1450, 1450, 1450, 3078, 1449,
2550      3912, 3912, 3912, 1454, 1454, 1454, 1456, 1456, 1456, 1456,
2551      1456, 1456, 1451, 1460, 1460, 1460, 3079, 3912,  741,  741,
2552      1455, 1603, 1603, 1603, 1458, 1604,  747, 1458, 1605,  748,
2553      1461, 1998, 1998, 1998, 3080,  749,  752,  753,  337,  753,
2554
2555       752,  752,  752,  752,  752,  752,  752,  754,  752,  752,
2556       752, 1452,  752,  756,  752,  757,  752, 1462, 1462, 1462,
2557      1464, 1464, 1464, 3039, 3081, 1453, 1464, 1464, 1464, 1468,
2558      1468, 1468, 3082, 3040, 1463, 3912, 3912, 3912, 1466, 3041,
2559      1459, 3083,  752,  752, 1466, 2915, 1469, 2916, 3061,  758,
2560      3084, 3085, 3912, 3094,  759, 1633, 1633, 1633, 3062, 1634,
2561      2917, 3063, 1635,  760,  752,  753,  337,  753,  752,  752,
2562       752,  752,  752,  752,  752,  754,  752,  752,  752, 1351,
2563       752,  756,  752,  757,  752, 3096, 1470, 1472, 1472, 1472,
2564      1474, 1474, 1474, 3097, 1474, 1474, 1474, 1467, 3098, 3099,
2565
2566      1471, 1177, 1177, 1177, 1473, 1490, 1490, 1490, 1476, 3091,
2567       752,  752, 1476, 1179, 1179, 1179, 3101,  758, 1178, 2001,
2568      2001, 2001,  759, 1492, 2006, 2006, 2006, 2022, 2022, 2022,
2569      1180,  760,  764,  765,  337,  765,  764,  764,  764,  764,
2570       764,  764,  764,  766,  764,  764,  764, 3102,  764,  768,
2571       764,  769,  764, 1484, 1484, 1484, 2022, 2022, 2022, 3103,
2572      3912, 3912, 3912, 2023, 3114, 1477, 3912, 3912, 3912, 3122,
2573      1485, 3912, 3912, 3912, 3912, 3912, 3912, 3912,  764,  764,
2574      1642, 1642, 1642, 3912, 1643, 3123, 3124, 1644, 3912,  770,
2575      3125, 3912, 2007, 2214, 2214, 2214, 3126,  771,  764,  765,
2576
2577       337,  765,  764,  764,  764,  764,  764,  764,  764,  766,
2578       764,  764,  764, 1486,  764,  768,  764,  769,  764, 1189,
2579      1189, 1189, 1487, 1488, 1192, 1192, 1192, 1489, 1515, 1515,
2580      1515, 1490, 1490, 1490, 3107, 3109, 1190, 1504, 1504, 1504,
2581      3127, 1193, 3128, 3042,  764,  764, 1517, 3108, 3110, 1492,
2582      2008, 2008, 2008, 3043, 1505,  770, 3129, 2215, 1977, 3044,
2583      2217, 2217, 2217,  771,  783,  784,  337,  784,  783,  783,
2584       783,  783,  783,  783,  783,  785,  783,  783,  783, 1493,
2585       783,  787,  783,  788,  783, 1206, 1206, 1206, 1515, 1515,
2586      1515, 1522, 1522, 1522, 1522, 1522, 1522, 1210, 1210, 1210,
2587
2588      3092, 3130, 1207, 1531, 1531, 1531, 1517, 2218, 3131, 1524,
2589       783,  783, 1524, 2918, 1211, 2919,  789, 1977, 3132,  790,
2590      3136, 1533, 1667, 1667, 1667, 3139, 1668, 3140, 2920, 1669,
2591       791,  783,  784,  337,  784,  783,  783,  783,  783,  783,
2592       783,  783,  785,  783,  783,  783, 1518,  783,  787,  783,
2593       788,  783, 1531, 1531, 1531, 1525, 1219, 1219, 1219, 3093,
2594      3141, 1544, 1544, 1544, 1544, 1544, 1544, 1229, 1229, 1229,
2595      1533, 3142, 3143, 1220, 1231, 1231, 1231,  783,  783, 1546,
2596      3144, 3145, 1546,  789, 1230, 3148,  790, 3156, 1557, 1557,
2597      1557, 1232, 3157, 3160, 1557, 1557, 1557,  791,  800, 1562,
2598
2599      1562, 1562, 1562, 1562, 1562,  815, 1559, 3161, 1534, 1239,
2600      1239, 1239, 1559, 3175,  799,  816, 3176, 1564, 3177, 3178,
2601      1564, 1573, 1573, 1573, 3179, 1547, 1240, 2014, 2014, 2014,
2602      1573, 1573, 1573, 3180, 3152, 1247, 1247, 1247, 3181, 1575,
2603      1581, 1581, 1581,  817,  818,  819,  820, 3153, 1575, 3182,
2604       821,  822, 1248,  823,  824, 1560, 3064,  825, 1583,  826,
2605       827,  828, 1565, 1581, 1581, 1581, 3065,  829,  800, 3066,
2606      1251, 1251, 1251, 1589, 1589, 1589, 3191, 1589, 1589, 1589,
2607      3192, 1583, 3194, 3195,  799,  831, 1576, 1252, 1595, 1595,
2608      1595, 1591, 1595, 1595, 1595, 1591, 2017, 2017, 2017, 3196,
2609
2610      1263, 1263, 1263, 2018, 2018, 2018, 1597, 1610, 1610, 1610,
2611      1597, 1351, 2384,  817,  832,  833,  820, 1264, 2385, 1584,
2612       834,  835, 2386,  836,  824, 1612, 1977,  837, 2387,  838,
2613       839,  840, 1606, 1606, 1606, 3154, 3198,  841, 1592, 1610,
2614      1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 3155, 1607,
2615      1629, 1629, 1629, 1598, 1629, 1629, 1629, 1612, 3207, 3187,
2616      1618, 3208, 3188, 1618, 1285, 1285, 1285, 3158, 1631, 1637,
2617      1637, 1637, 1631, 3162, 1637, 1637, 1637, 1291, 1291, 1291,
2618      3159, 1286, 1645, 1645, 1645, 3209, 3163, 1639, 1648, 1648,
2619      1648, 1613, 1639, 3210, 1292, 1653, 1653, 1653, 3215, 1646,
2620
2621      1657, 1657, 1657, 1619, 3222, 1649, 1653, 1653, 1653, 1659,
2622      1659, 1659, 3223, 1655, 3912, 3912, 3912, 1658, 1632, 1662,
2623      1662, 1662, 3224, 3225, 1655, 3226, 1660, 1662, 1662, 1662,
2624      3227, 3912, 1307, 1307, 1307, 3228, 3229, 1664, 1640, 1670,
2625      1670, 1670, 1670, 1670, 1670, 1664, 1313, 1313, 1313, 1308,
2626      3230, 1676, 1676, 1676, 1656, 1677, 3231, 1672, 1678, 3232,
2627      1672, 3233, 3237, 1314, 1680, 1680, 1680, 1680, 1680, 1680,
2628      1319, 1319, 1319, 1661, 1685, 1685, 1685, 3238, 1686, 3239,
2629      3240, 1687, 1682, 3241, 3242, 1682, 3243, 1320, 1665, 1690,
2630      1690, 1690, 1690, 1690, 1690, 1327, 1327, 1327, 1696, 1696,
2631
2632      1696, 3244, 1697, 1673, 3245, 1698, 3246, 1692, 3247, 3248,
2633      1692, 3249, 1328, 1701, 1701, 1701, 1701, 1701, 1701, 1708,
2634      1708, 1708, 1708, 1708, 1708, 1339, 1339, 1339, 1712, 1712,
2635      1712, 1703, 1713, 1683, 1703, 1714, 3250, 1710, 3251, 3252,
2636      1710, 3253, 1340, 1716, 1716, 1716, 1716, 1716, 1716, 1720,
2637      1720, 1720, 3912, 3912, 3912, 1724, 1724, 1724, 1693, 3254,
2638      3255, 1718, 3256, 3268, 1718, 3269, 1721, 3270, 3271, 3912,
2639      3272, 3273, 1725, 3912, 3912, 3912, 1727, 1727, 1727, 3274,
2640      1704, 1727, 1727, 1727, 3275, 3292, 1711, 1366, 1366, 1366,
2641      3912, 1362, 1362, 1362, 1729, 1363, 3295, 3297, 1364, 1729,
2642
2643      1366, 1366, 1366, 1722, 1351, 1368, 3298, 1719, 1738, 1738,
2644      1738, 1414, 1414, 1414, 1418, 1418, 1418, 1723, 1368, 3299,
2645      1783, 1783, 1783, 3300, 1784, 3301, 1739, 1785, 1415, 3302,
2646      3303, 1419, 1726, 1788, 1788, 1788, 3304, 1789, 3305, 3285,
2647      1790, 3306, 1730, 1421, 1421, 1421, 1421, 1421, 1421, 1421,
2648      1421, 1421, 1795, 1795, 1795, 1431, 1431, 1431, 1431, 1431,
2649      1431, 1423, 3307, 3308, 1423, 3311, 3314, 1423, 3315, 1796,
2650      1431, 1431, 1431, 1433, 3316, 3317, 1433, 1437, 1437, 1437,
2651      1437, 1437, 1437, 1437, 1437, 1437, 3318, 3319, 1433, 1442,
2652      1442, 1442, 3320, 1443, 3321, 1439, 1444, 3322, 1439, 3323,
2653
2654      3328, 1439, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446,
2655      1446, 3329, 3330, 1792, 1450, 1450, 1450, 1807, 1807, 1807,
2656      1448, 1808, 3331, 1448, 1809, 3332, 1448, 1454, 1454, 1454,
2657      3333, 1451, 1456, 1456, 1456, 3334, 1800, 1803, 1812, 1812,
2658      1812, 3335, 1813, 3336, 1455, 1814, 1456, 1456, 1456, 3337,
2659      1458, 1456, 1456, 1456, 1460, 1460, 1460, 3338, 1806, 1816,
2660      1816, 1816, 3339, 1817, 1458, 3340, 1818, 3341, 3342, 1458,
2661      3343, 1461, 1462, 1462, 1462, 1819, 1819, 1819, 3344, 1820,
2662      3348, 3349, 1821, 1464, 1464, 1464, 1464, 1464, 1464, 1463,
2663      1464, 1464, 1464, 1468, 1468, 1468, 1823, 1823, 1823, 3350,
2664
2665      1824, 1466, 3351, 1825, 1466, 1472, 1472, 1472, 1466, 3352,
2666      1469, 3353, 3354, 1815, 1828, 1828, 1828, 3355, 1829, 3358,
2667      3359, 1830, 1473, 1474, 1474, 1474, 1474, 1474, 1474, 1474,
2668      1474, 1474, 1478, 1478, 1478, 3360, 1479, 3361, 3362, 1480,
2669      3363, 1476, 3365, 3366, 1476, 3367, 3368, 1476, 3369, 1481,
2670      1481, 1481, 1822, 1482, 3370, 3371, 1483, 1484, 1484, 1484,
2671      1832, 1832, 1832, 3372, 1833, 3379, 3380, 1834, 1490, 1490,
2672      1490, 1490, 1490, 1490, 1485, 1490, 1490, 1490, 1497, 1497,
2673      1497, 3381, 1498, 3382, 3383, 1499, 1492, 3384, 1351, 1492,
2674      3385, 1831, 3386, 1492, 1843, 1843, 1843, 1501, 1501, 1501,
2675
2676      3387, 1502, 3388, 3389, 1503, 1504, 1504, 1504, 1845, 1845,
2677      1845, 1844, 1846, 3390, 3391, 1847, 1515, 1515, 1515, 1515,
2678      1515, 1515, 1505, 3392, 1839, 1515, 1515, 1515, 1519, 1519,
2679      1519, 3373, 1520, 3396, 1517, 1521, 3402, 1517, 1522, 1522,
2680      1522, 3403, 3404, 1517, 1522, 1522, 1522, 1522, 1522, 1522,
2681      1526, 1526, 1526, 3405, 1527, 3406, 1524, 1528, 1531, 1531,
2682      1531, 3407, 1524, 3408, 3415, 1524, 1531, 1531, 1531, 1531,
2683      1531, 1531, 1865, 1865, 1865, 3416, 1533, 3417, 1538, 1538,
2684      1538, 3418, 1539, 3419, 1533, 1540, 3420, 1533, 3421, 1866,
2685      3422, 3423, 1858, 1544, 1544, 1544, 1544, 1544, 1544, 1544,
2686
2687      1544, 1544, 1873, 1873, 1873, 3424, 3425, 1859, 1551, 1551,
2688      1551, 1546, 1552, 3426, 1546, 1553, 3427, 1546, 3428, 1874,
2689      1554, 1554, 1554, 3429, 1555, 3430, 3431, 1556, 1557, 1557,
2690      1557, 1557, 1557, 1557, 1862, 1557, 1557, 1557, 1876, 1876,
2691      1876, 1562, 1562, 1562, 3432, 3433, 1559, 3434, 3435, 1559,
2692      1562, 1562, 1562, 1559, 3436, 1877, 1562, 1562, 1562, 1564,
2693      1573, 1573, 1573, 3437, 1870, 1567, 1567, 1567, 1564, 1568,
2694      3438, 3439, 1569, 3440, 1564, 1573, 1573, 1573, 1575, 1573,
2695      1573, 1573, 1578, 1578, 1578, 3441, 1579, 3442, 3443, 1580,
2696      1581, 1581, 1581, 1575, 1581, 1581, 1581, 1575, 3444, 3445,
2697
2698      1875, 1581, 1581, 1581, 3448, 3449, 1878, 3450, 1583, 1585,
2699      1585, 1585, 1583, 1586, 3451, 3452, 1587, 3453, 3454, 1583,
2700      1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1589, 1888,
2701      1888, 1888, 3912, 3912, 3912, 1595, 1595, 1595, 1591, 1883,
2702      3455, 1591, 3465, 3466, 1591, 3467, 1889, 3468, 3469, 3912,
2703      1595, 1595, 1595, 1597, 1595, 1595, 1595, 2388, 1603, 1603,
2704      1603, 1885, 1604, 2389, 3470, 1605, 1351, 2390, 1597, 1606,
2705      1606, 1606, 1597, 2391, 1896, 1896, 1896, 1887, 1897, 3472,
2706      1890, 1898, 1610, 1610, 1610, 3458, 1607, 1610, 1610, 1610,
2707      1610, 1610, 1610, 1616, 1616, 1616, 1616, 1616, 1616, 3459,
2708
2709      1612, 1616, 1616, 1616, 3480, 1612, 3481, 3458, 1612, 3482,
2710      3199, 1618, 3456, 3483, 1618, 1910, 1910, 1910, 3461, 1618,
2711      3200, 1891, 1629, 1629, 1629, 1629, 1629, 1629, 1629, 1629,
2712      1629, 3484, 1911, 3473, 1633, 1633, 1633, 3201, 1634, 3491,
2713      1631, 1635, 1901, 1631, 3492, 3474, 1631, 3493, 3202, 1904,
2714      1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1637, 1642,
2715      1642, 1642, 3494, 1643, 3495, 3496, 1644, 3497, 1639, 3475,
2716      3498, 1639, 3499, 3500, 1639, 1645, 1645, 1645, 1919, 1919,
2717      1919, 3476, 1920, 3501, 3485, 1921, 1922, 1922, 1922, 1915,
2718      3502, 3503, 1646, 1648, 1648, 1648, 3486, 1924, 1924, 1924,
2719
2720      3487, 1925, 3504, 1923, 1926, 1928, 1928, 1928, 3505, 3506,
2721      1649, 1653, 1653, 1653, 1653, 1653, 1653, 1917, 1653, 1653,
2722      1653, 3507, 1929, 1657, 1657, 1657, 1932, 1932, 1932, 1655,
2723      1933, 3508, 1655, 1934, 3509, 3512, 1655, 1659, 1659, 1659,
2724      1658, 1935, 1935, 1935, 1351, 1936, 1977, 1978, 1937, 1662,
2725      1662, 1662, 3458, 3458, 1660, 1662, 1662, 1662, 1662, 1662,
2726      1662, 1667, 1667, 1667, 3461, 1668, 3459, 1664, 1669, 1670,
2727      1670, 1670, 3512, 1664, 3515, 3516, 1664, 3521, 1931, 1670,
2728      1670, 1670, 1670, 1670, 1670, 3510, 3523, 1672, 1676, 1676,
2729      1676, 3527, 1677, 3529, 3524, 1678, 3522, 1672, 3525, 3528,
2730
2731      1672, 1680, 1680, 1680, 1680, 1680, 1680, 3530, 1680, 1680,
2732      1680, 1685, 1685, 1685, 3531, 1686, 3532, 3526, 1687, 1682,
2733      3539, 3544, 1682, 3535, 3540, 1939, 1682, 1948, 1948, 1948,
2734      1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1690, 1952,
2735      1952, 1952, 3536, 3541, 1949, 3912, 3912, 3912, 1692, 1941,
2736      3547, 1692, 3537, 3548, 1692, 3542, 1953, 1696, 1696, 1696,
2737      3538, 1697, 3912, 3543, 1698, 1701, 1701, 1701, 3549, 1945,
2738      1701, 1701, 1701, 1701, 1701, 1701, 1958, 1958, 1958, 3550,
2739      1708, 1708, 1708, 1703, 1708, 1708, 1708, 3551, 1703, 3552,
2740      3512, 1703, 3554, 1959, 1708, 1708, 1708, 1950, 1710, 1716,
2741
2742      1716, 1716, 1710, 1712, 1712, 1712, 1954, 1713, 3512, 3555,
2743      1714, 3556, 1710, 1716, 1716, 1716, 3560, 1718, 1716, 1716,
2744      1716, 1956, 1720, 1720, 1720, 1964, 1964, 1964, 3561, 1965,
2745      3562, 1718, 1966, 1724, 1724, 1724, 1718, 3563, 3564, 1721,
2746      3565, 3566, 1961, 3567, 1969, 1969, 1969, 3568, 1970, 3569,
2747      1725, 1971, 1727, 1727, 1727, 1727, 1727, 1727, 1727, 1727,
2748      1727, 1976, 1976, 1976, 1738, 1738, 1738, 2006, 2006, 2006,
2749      1729, 3570, 3571, 1729, 3575, 3576, 1729, 3577, 1963, 1977,
2750      1978, 3578, 1739, 1783, 1783, 1783, 3579, 1784, 3580, 3581,
2751      1785, 1788, 1788, 1788, 3582, 1789, 3583, 3584, 1790, 1421,
2752
2753      1421, 1421, 3588, 2023, 1795, 1795, 1795, 2034, 2034, 2034,
2754      3203, 2035, 3589, 3590, 2036, 3591, 3592, 1423, 1973, 3593,
2755      3204, 1796, 1431, 1431, 1431, 2042, 2042, 2042, 1437, 1437,
2756      1437, 1446, 1446, 1446, 1807, 1807, 1807, 3205, 1808, 3595,
2757      1433, 1809, 2043, 1812, 1812, 1812, 1439, 1813, 3206, 1448,
2758      1814, 1456, 1456, 1456, 1816, 1816, 1816, 3596, 1817, 3597,
2759      2031, 1818, 3602, 1819, 1819, 1819, 3603, 1820, 3598, 1458,
2760      1821, 1464, 1464, 1464, 1823, 1823, 1823, 3604, 1824, 3605,
2761      3599, 1825, 3606, 2040, 1474, 1474, 1474, 3607, 2047, 1466,
2762      1828, 1828, 1828, 3608, 1829, 2044, 3600, 1830, 3609, 2050,
2763
2764      3610, 3611, 1476, 1832, 1832, 1832, 3612, 1833, 3601, 3613,
2765      1834, 2057, 2057, 2057, 3614, 1490, 1490, 1490, 3615, 2051,
2766      2061, 2061, 2061, 3912, 3912, 3912, 3616, 3617, 2058, 3912,
2767      3912, 3912, 2054, 1492, 1843, 1843, 1843, 2062, 3618, 3619,
2768      3912, 2065, 2065, 2065, 3620, 2066, 3912, 3621, 2067, 3622,
2769      3623, 1844, 1845, 1845, 1845, 3624, 1846, 3625, 1351, 1847,
2770      3488, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
2771      3627, 2060, 3489, 3912, 3912, 3912, 3490, 2064, 3912, 3628,
2772      3629, 3912, 3630, 3626, 3912, 3912, 3912, 3912, 3631, 2063,
2773      3912, 3912, 3912, 3912, 2074, 2074, 2074, 3912, 3912, 3912,
2774
2775      3632, 3633, 3912, 3912, 3912, 3912, 3634, 3635, 3912, 3259,
2776      3636, 2075, 2069, 2068, 3912, 3912, 3912, 3912, 3637, 3260,
2777      3912, 2071, 1515, 1515, 1515, 1522, 1522, 1522, 1531, 1531,
2778      1531, 3638, 3912, 1865, 1865, 1865, 3261, 2070, 3639, 3640,
2779      1517, 3641, 3642, 1524, 3643, 3644, 1533, 3262, 3645, 2072,
2780      1866, 2073, 2086, 2086, 2086, 3646, 2087, 3647, 3648, 2088,
2781      2090, 2090, 2090, 3649, 3650, 2077, 3652, 2076, 1544, 1544,
2782      1544, 1873, 1873, 1873, 3653, 1351, 2078, 2091, 2080, 1557,
2783      1557, 1557, 1876, 1876, 1876, 2083, 1546, 2079, 1874, 2097,
2784      2097, 2097, 3654, 2098, 3651, 3655, 2099, 1559, 3656, 1877,
2785
2786      3657, 2101, 2101, 2101, 3658, 2102, 3659, 2092, 2103, 1562,
2787      1562, 1562, 1573, 1573, 1573, 1581, 1581, 1581, 2112, 2112,
2788      2112, 1589, 1589, 1589, 1888, 1888, 1888, 1564, 3660, 3661,
2789      1575, 3662, 3663, 1583, 2094, 2113, 2115, 2115, 2115, 1591,
2790      2116, 1889, 3664, 2117, 3665, 2100, 1595, 1595, 1595, 2121,
2791      2121, 2121, 1896, 1896, 1896, 3666, 1897, 3667, 3668, 1898,
2792      2125, 2125, 2125, 3669, 1597, 3670, 2122, 2104, 3671, 2109,
2793      1351, 3673, 2111, 2114, 1610, 1610, 1610, 2126, 1616, 1616,
2794      1616, 1910, 1910, 1910, 2138, 2138, 2138, 3674, 2139, 3675,
2795      3672, 2140, 1612, 1629, 1629, 1629, 1618, 3676, 1911, 2145,
2796
2797      2145, 2145, 1637, 1637, 1637, 3677, 2119, 2127, 1919, 1919,
2798      1919, 1631, 1920, 3678, 3679, 1921, 2146, 1922, 1922, 1922,
2799      1639, 2149, 2149, 2149, 3680, 2150, 3681, 3682, 2151, 1924,
2800      1924, 1924, 3683, 1925, 1923, 3684, 1926, 3685, 2129, 1928,
2801      1928, 1928, 3686, 2144, 2132, 2153, 2153, 2153, 3687, 2154,
2802      3688, 3689, 2155, 1653, 1653, 1653, 1929, 3690, 1932, 1932,
2803      1932, 3691, 1933, 3692, 2147, 1934, 1935, 1935, 1935, 3694,
2804      1936, 1655, 3695, 1937, 1662, 1662, 1662, 1670, 1670, 1670,
2805      1680, 1680, 1680, 2167, 2167, 2167, 1948, 1948, 1948, 2169,
2806      2169, 2169, 1664, 2170, 3696, 1672, 2171, 3697, 1682, 3698,
2807
2808      2168, 3699, 3700, 1949, 2157, 1690, 1690, 1690, 1952, 1952,
2809      1952, 2174, 2174, 2174, 3263, 2175, 3701, 3702, 2176, 3703,
2810      1701, 1701, 1701, 1692, 3264, 1953, 3704, 3705, 1958, 1958,
2811      1958, 1351, 2181, 2181, 2181, 3706, 2182, 3693, 1703, 2183,
2812      2159, 3265, 3707, 2161, 2165, 1959, 2184, 2184, 2184, 1708,
2813      1708, 1708, 3266, 1716, 1716, 1716, 3708, 1964, 1964, 1964,
2814      3709, 1965, 3711, 2185, 1966, 3712, 3713, 1710, 3714, 2172,
2815      2179, 1718, 1969, 1969, 1969, 3715, 1970, 3716, 3717, 1971,
2816      1727, 1727, 1727, 1976, 1976, 1976, 2227, 2227, 2227, 2230,
2817      2230, 2230, 2022, 2022, 2022, 2214, 2214, 2214, 1729, 2186,
2818
2819      3718, 1977, 2227, 2227, 2227, 2188, 2235, 2235, 2235, 2237,
2820      2237, 2237, 3912, 3912, 3912, 1421, 1421, 1421, 2034, 2034,
2821      2034, 3719, 2035, 2236, 3720, 2036, 2238, 3721, 3722, 3912,
2822      1351, 3724, 2192, 1423, 3725, 2194, 2231, 1431, 1431, 1431,
2823      2042, 2042, 2042, 3726, 3710, 2248, 2248, 2248, 3727, 2249,
2824      2228, 2195, 2250, 3728, 3729, 1433, 3730, 2043, 3731, 2228,
2825      1437, 1437, 1437, 1446, 1446, 1446, 2215, 2255, 2255, 2255,
2826      2257, 2257, 2257, 1456, 1456, 1456, 2239, 3732, 1439, 3733,
2827      3734, 1448, 2240, 3735, 2256, 3738, 3739, 2258, 1464, 1464,
2828      1464, 1458, 2261, 2261, 2261, 3740, 2263, 2263, 2263, 3741,
2829
2830      3742, 2246, 1474, 1474, 1474, 3743, 1466, 3744, 3745, 2262,
2831      3746, 3747, 2254, 2264, 2266, 2266, 2266, 3750, 3751, 2251,
2832      1476, 3752, 3912, 3912, 3912, 2057, 2057, 2057, 2269, 2269,
2833      2269, 2267, 2270, 3753, 1855, 2271, 1854, 3765, 2259, 3912,
2834      1351, 1351, 2058, 2272, 2272, 2272, 1490, 1490, 1490, 2061,
2835      2061, 2061, 1351, 2260, 2275, 2275, 2275, 1351, 2276, 1853,
2836      2273, 2277, 1852, 1351, 1492, 1351, 2062, 2265, 2278, 2278,
2837      2278, 3912, 3912, 3912, 2065, 2065, 2065, 3748, 2066, 1351,
2838      2268, 2067, 3912, 3912, 3912, 2279, 1351, 3848, 3912, 3749,
2839      3912, 3912, 3912, 2283, 2283, 2283, 3912, 3912, 3912, 3912,
2840
2841      3912, 3912, 3912, 3912, 3912, 3912, 2274, 3912, 1351, 3758,
2842      2284, 3754, 1851, 3912, 2074, 2074, 2074, 3912, 1850, 1849,
2843      3912, 2288, 2288, 2288, 3776, 2289, 1351, 3755, 2290, 1351,
2844      1351, 2075, 2291, 2291, 2291, 2280, 3912, 3912, 3912, 1848,
2845      2282, 3912, 3912, 3912, 3767, 1351, 2281, 2286, 1351, 2292,
2846      1515, 1515, 1515, 3912, 2285, 1351, 3756, 2287, 3912, 1522,
2847      1522, 1522, 2299, 2299, 2299, 2086, 2086, 2086, 1517, 2087,
2848      3759, 3764, 2088, 2303, 2303, 2303, 3772, 1524, 3757, 1351,
2849      2300, 2090, 2090, 2090, 2293, 2305, 2305, 2305, 3766, 2306,
2850      2304, 3788, 2307, 3778, 1842, 2294, 1351, 1351, 2091, 2310,
2851
2852      2310, 2310, 2095, 2095, 2095, 2312, 2312, 2312, 1557, 1557,
2853      1557, 1351, 1562, 1562, 1562, 2296, 2295, 2311, 2097, 2097,
2854      2097, 1351, 2098, 1841, 3768, 2099, 1559, 2101, 2101, 2101,
2855      1564, 2102, 1351, 3784, 2103, 2319, 2319, 2319, 1581, 1581,
2856      1581, 2112, 2112, 2112, 2323, 2323, 2323, 1351, 2324, 3769,
2857      1840, 2325, 3780, 2320, 1351, 2313, 1583, 1351, 2113, 1589,
2858      1589, 1589, 2115, 2115, 2115, 1351, 2116, 3790, 3770, 2117,
2859      1595, 1595, 1595, 2121, 2121, 2121, 1351, 1591, 3771, 2314,
2860      2330, 2330, 2330, 3786, 2331, 2322, 1351, 2332, 1597, 1351,
2861      2122, 2333, 2333, 2333, 2125, 2125, 2125, 2336, 2336, 2336,
2862
2863      3793, 2337, 3773, 3781, 2338, 2341, 2341, 2341, 2334, 1838,
2864      1351, 2126, 1616, 1616, 1616, 1837, 1351, 2326, 2346, 2346,
2865      2346, 3775, 1351, 2342, 2138, 2138, 2138, 3783, 2139, 1351,
2866      1618, 2140, 1629, 1629, 1629, 3821, 2328, 2145, 2145, 2145,
2867      2355, 2355, 2355, 1351, 2356, 3760, 1351, 2357, 1351, 1351,
2868      1631, 2358, 2358, 2358, 2146, 2149, 2149, 2149, 3789, 2150,
2869      1836, 1351, 2151, 3774, 3823, 2345, 2153, 2153, 2153, 2359,
2870      2154, 1351, 1351, 2155, 1653, 1653, 1653, 1662, 1662, 1662,
2871      1670, 1670, 1670, 1351, 2354, 2368, 2368, 2368, 3912, 3912,
2872      3912, 1835, 1655, 3777, 3795, 1664, 3761, 3791, 1672, 2371,
2873
2874      2371, 2371, 2369, 1351, 1351, 3912, 1351, 1680, 1680, 1680,
2875      2167, 2167, 2167, 2375, 2375, 2375, 2372, 2376, 3779, 1351,
2876      2377, 1690, 1690, 1690, 3782, 1682, 1351, 2168, 1351, 2365,
2877      3762, 1351, 2367, 1351, 1351, 2363, 2169, 2169, 2169, 1692,
2878      2170, 3792, 3794, 2171, 2174, 2174, 2174, 3785, 2175, 1827,
2879      1351, 2176, 3796, 1351, 2370, 2373, 1701, 1701, 1701, 2181,
2880      2181, 2181, 3824, 2182, 3798, 1351, 2183, 3787, 3808, 2378,
2881      2184, 2184, 2184, 1351, 1703, 2392, 2392, 2392, 1826, 2393,
2882      1351, 3763, 2394, 1708, 1708, 1708, 3804, 2185, 2397, 2397,
2883      2397, 3797, 2399, 2399, 2399, 2401, 2401, 2401, 3912, 3912,
2884
2885      3912, 1710, 1727, 1727, 1727, 3800, 2398, 3836, 2382, 2400,
2886      3802, 3799, 2402, 3801, 1351, 3912, 2408, 2408, 2408, 1351,
2887      1729, 2199, 2199, 2199, 2418, 2418, 2418, 2210, 2210, 2210,
2888      2425, 2425, 2425, 2409, 1351, 2395, 1351, 1351, 2404, 2214,
2889      2214, 2214, 2426, 2426, 2426, 2217, 2217, 2217, 2227, 2227,
2890      2227, 2439, 2439, 2439, 2230, 2230, 2230, 2235, 2235, 2235,
2891      1351, 1351, 2403, 2443, 2443, 2443, 1351, 2444, 3277, 3803,
2892      2445, 2237, 2237, 2237, 2236, 2446, 2446, 2446, 3278, 2447,
2893      3809, 3825, 2448, 1421, 1421, 1421, 1811, 1351, 2238, 2456,
2894      2456, 2456, 2248, 2248, 2248, 3279, 2249, 3806, 3829, 2250,
2895
2896      3826, 1423, 1437, 1437, 1437, 1351, 3280, 2457, 2461, 2461,
2897      2461, 1446, 1446, 1446, 2255, 2255, 2255, 2464, 2464, 2464,
2898      1439, 2465, 3810, 1351, 2466, 2462, 2257, 2257, 2257, 1448,
2899      1351, 2256, 2467, 2467, 2467, 1351, 2468, 1810, 3281, 2469,
2900      1456, 1456, 1456, 2258, 1464, 1464, 1464, 3838, 3282, 2450,
2901      2261, 2261, 2261, 3850, 2459, 2312, 2312, 2312, 1458, 2472,
2902      2472, 2472, 1466, 2473, 1351, 3283, 2474, 2262, 2263, 2263,
2903      2263, 3833, 2463, 2475, 2475, 2475, 3284, 2476, 3811, 1805,
2904      2477, 1474, 1474, 1474, 1351, 2264, 2266, 2266, 2266, 2479,
2905      2479, 2479, 1351, 2480, 1351, 3805, 2481, 1351, 1351, 1476,
2906
2907      2482, 2482, 2482, 2267, 1351, 2470, 2269, 2269, 2269, 2471,
2908      2270, 3827, 3807, 2271, 2272, 2272, 2272, 2483, 2484, 2484,
2909      2484, 1351, 2485, 1351, 1804, 2486, 1490, 1490, 1490, 3828,
2910      3813, 2273, 2275, 2275, 2275, 3812, 2276, 3814, 1351, 2277,
2911      2278, 2278, 2278, 3815, 1492, 3868, 2478, 2488, 2488, 2488,
2912      1802, 2489, 1351, 1351, 2490, 1801, 3849, 2279, 2283, 2283,
2913      2283, 2494, 2494, 2494, 1351, 2495, 1351, 1351, 2496, 2497,
2914      2497, 2497, 2288, 2288, 2288, 2284, 2289, 1799, 2487, 2290,
2915      2291, 2291, 2291, 2501, 2501, 2501, 2498, 2502, 3817, 3819,
2916      2503, 1515, 1515, 1515, 1522, 1522, 1522, 2292, 2508, 2508,
2917
2918      2508, 3912, 3912, 3912, 2299, 2299, 2299, 3830, 1798, 1517,
2919      3816, 1351, 1524, 3818, 3861, 2509, 1351, 1351, 3912, 2303,
2920      2303, 2303, 2300, 2513, 2513, 2513, 1351, 2514, 1351, 3864,
2921      2515, 2305, 2305, 2305, 1351, 2306, 2304, 1351, 2307, 2310,
2922      2310, 2310, 1351, 2506, 1557, 1557, 1557, 3820, 2507, 1562,
2923      1562, 1562, 2521, 2521, 2521, 3831, 1351, 2311, 2319, 2319,
2924      2319, 1351, 1559, 1581, 1581, 1581, 3832, 1564, 1351, 2522,
2925      2510, 2323, 2323, 2323, 3863, 2324, 2320, 1797, 2325, 1794,
2926      3834, 1583, 3905, 1589, 1589, 1589, 2530, 2530, 2530, 2330,
2927      2330, 2330, 3822, 2331, 1351, 1351, 2332, 3837, 1793, 2523,
2928
2929      2519, 1591, 2518, 3866, 2531, 2333, 2333, 2333, 2533, 2533,
2930      2533, 1351, 2534, 2527, 3840, 2535, 2336, 2336, 2336, 1791,
2931      2337, 1351, 2334, 2338, 2341, 2341, 2341, 2540, 2540, 2540,
2932      2528, 1616, 1616, 1616, 2346, 2346, 2346, 2543, 2543, 2543,
2933      3841, 3842, 2342, 1787, 2541, 2545, 2545, 2545, 1351, 1618,
2934      1629, 1629, 1629, 2355, 2355, 2355, 1786, 2356, 1351, 1351,
2935      2357, 2358, 2358, 2358, 2552, 2552, 2552, 3843, 1631, 1653,
2936      1653, 1653, 2557, 2557, 2557, 1670, 1670, 1670, 1351, 2359,
2937      1351, 2553, 2368, 2368, 2368, 1351, 1351, 1655, 1351, 3835,
2938      2558, 3851, 2542, 1672, 2561, 2561, 2561, 3844, 2562, 2369,
2939
2940      1351, 2563, 2564, 2564, 2564, 2371, 2371, 2371, 3852, 2566,
2941      2566, 2566, 3853, 2567, 3839, 2550, 2568, 1351, 3845, 2565,
2942      3856, 1351, 2372, 1680, 1680, 1680, 3846, 3854, 2555, 2570,
2943      2570, 2570, 3860, 2375, 2375, 2375, 1351, 2376, 3847, 2560,
2944      2377, 1682, 1690, 1690, 1690, 1351, 2571, 2576, 2576, 2576,
2945      2578, 2578, 2578, 1782, 2392, 2392, 2392, 3855, 2393, 1351,
2946      1692, 2394, 1708, 1708, 1708, 2577, 1351, 2579, 2591, 2591,
2947      2591, 2397, 2397, 2397, 2399, 2399, 2399, 2569, 3857, 1351,
2948      1710, 2401, 2401, 2401, 3869, 2592, 2593, 2593, 2593, 2398,
2949      2594, 2400, 1781, 2595, 3858, 1351, 2572, 1780, 2402, 2596,
2950
2951      2596, 2596, 1779, 2597, 1778, 3869, 2598, 1777, 3909, 2590,
2952      1727, 1727, 1727, 2408, 2408, 2408, 2604, 2604, 2604, 1351,
2953      2605, 3885, 1351, 2606, 2607, 2607, 2607, 3906, 1729, 1351,
2954      2409, 2613, 2613, 2613, 2614, 2614, 2614, 2418, 2418, 2418,
2955      2616, 2616, 2616, 2620, 2620, 2620, 2425, 2425, 2425, 2426,
2956      2426, 2426, 2621, 2621, 2621, 2625, 2625, 2625, 2630, 2630,
2957      2630, 2631, 2631, 2631, 2633, 2633, 2633, 2439, 2439, 2439,
2958      1351, 2600, 2634, 2634, 2634, 2443, 2443, 2443, 3886, 2444,
2959      1776, 1775, 2445, 2446, 2446, 2446, 1351, 2447, 1351, 1351,
2960      2448, 1421, 1421, 1421, 2641, 2641, 2641, 1774, 1351, 2622,
2961
2962      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 1423,
2963      1773, 2642, 2456, 2456, 2456, 1772, 3862, 3912, 1351, 2635,
2964      3912, 3859, 3865, 3912, 1437, 1437, 1437, 2461, 2461, 2461,
2965      2457, 2649, 2649, 2649, 1771, 2650, 1351, 1351, 2651, 1446,
2966      1446, 1446, 1439, 2639, 2462, 3870, 2464, 2464, 2464, 1351,
2967      2465, 3867, 2643, 2466, 2467, 2467, 2467, 1448, 2468, 1351,
2968      1351, 2469, 1456, 1456, 1456, 2645, 3909, 2644, 1464, 1464,
2969      1464, 2472, 2472, 2472, 3871, 2473, 1351, 1351, 2474, 1351,
2970      1458, 1351, 2653, 3879, 2647, 1770, 1466, 2475, 2475, 2475,
2971      3875, 2476, 1351, 1769, 2477, 1474, 1474, 1474, 3874, 2652,
2972
2973      3876, 2479, 2479, 2479, 2654, 2480, 1351, 1351, 2481, 2482,
2974      2482, 2482, 3877, 1476, 2656, 2656, 2656, 3878, 2657, 1351,
2975      3891, 2658, 1351, 2484, 2484, 2484, 2483, 2485, 3893, 1351,
2976      2486, 1490, 1490, 1490, 2488, 2488, 2488, 1768, 2489, 2655,
2977      3883, 2490, 3894, 2494, 2494, 2494, 1351, 2495, 1351, 1492,
2978      2496, 2497, 2497, 2497, 2663, 2663, 2663, 1351, 2664, 1767,
2979      3881, 2665, 2501, 2501, 2501, 3880, 2502, 3882, 2498, 2503,
2980      2669, 2669, 2669, 1515, 1515, 1515, 2672, 2672, 2672, 2508,
2981      2508, 2508, 2674, 2674, 2674, 1766, 2675, 2670, 1351, 2676,
2982      3884, 1517, 1351, 3887, 2673, 3888, 2509, 2659, 2677, 2677,
2983
2984      2677, 2513, 2513, 2513, 1765, 2514, 1764, 1351, 2515, 1557,
2985      1557, 1557, 1562, 1562, 1562, 2678, 2521, 2521, 2521, 2686,
2986      2686, 2686, 1762, 2687, 1761, 1351, 2688, 1559, 1760, 3892,
2987      1564, 1351, 1351, 2522, 1581, 1581, 1581, 2671, 3895, 1589,
2988      1589, 1589, 2530, 2530, 2530, 3889, 2533, 2533, 2533, 1759,
2989      2534, 1758, 1583, 2535, 2540, 2540, 2540, 1591, 3899, 1755,
2990      2531, 1616, 1616, 1616, 2684, 2683, 2701, 2701, 2701, 3890,
2991      2702, 2541, 1351, 2703, 2543, 2543, 2543, 1754, 3896, 1618,
2992      2705, 2705, 2705, 2545, 2545, 2545, 2706, 2706, 2706, 3912,
2993      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3901, 1351,
2994
2995      2693, 2694, 1351, 2707, 1753, 1752, 3912, 1351, 1751, 3912,
2996      3897, 1750, 3912, 1629, 1629, 1629, 2552, 2552, 2552, 2713,
2997      2713, 2713, 1749, 2714, 1748, 2704, 2715, 2717, 2717, 2717,
2998      1351, 1631, 3900, 2553, 2557, 2557, 2557, 2721, 2721, 2721,
2999      3898, 2708, 2561, 2561, 2561, 2718, 2562, 1747, 1746, 2563,
3000      1745, 1744, 2558, 1743, 2710, 2722, 2709, 2564, 2564, 2564,
3001      2723, 2723, 2723, 3903, 2724, 1351, 1742, 2725, 2566, 2566,
3002      2566, 1741, 2567, 1740, 2565, 2568, 1351, 1737, 2711, 1680,
3003      1680, 1680, 2570, 2570, 2570, 2727, 2727, 2727, 1736, 2728,
3004      1735, 1351, 2729, 1690, 1690, 1690, 1734, 1682, 3904, 2571,
3005
3006      2576, 2576, 2576, 2578, 2578, 2578, 2734, 2734, 2734, 3907,
3007      2735, 1692, 1733, 2736, 1708, 1708, 1708, 1732, 2577, 1351,
3008      2579, 2591, 2591, 2591, 3908, 3902, 2748, 2748, 2748, 1715,
3009      2749, 2726, 1710, 2750, 1351, 2593, 2593, 2593, 2592, 2594,
3010      1707, 1706, 2595, 1705, 1700, 2730, 2596, 2596, 2596, 1699,
3011      2597, 1695, 1689, 2598, 1727, 1727, 1727, 2753, 2753, 2753,
3012      1688, 2604, 2604, 2604, 2747, 2605, 1684, 1679, 2606, 2607,
3013      2607, 2607, 1729, 1675, 1674, 1351, 2756, 2756, 2756, 2757,
3014      2757, 2757, 2613, 2613, 2613, 2614, 2614, 2614, 2616, 2616,
3015      2616, 2762, 2762, 2762, 2764, 2764, 2764, 2620, 2620, 2620,
3016
3017      2621, 2621, 2621, 2625, 2625, 2625, 2768, 2768, 2768, 2630,
3018      2630, 2630, 2631, 2631, 2631, 2633, 2633, 2633, 2634, 2634,
3019      2634, 2752, 2777, 2777, 2777, 2779, 2779, 2779, 2641, 2641,
3020      2641, 2780, 2780, 2780, 1666, 2781, 1652, 1651, 2782, 1650,
3021      2778, 2783, 2783, 2783, 1647, 2642, 3912, 3912, 3912, 3912,
3022      3912, 3912, 2787, 2787, 2787, 1437, 1437, 1437, 2784, 2789,
3023      2789, 2789, 1641, 3912, 1636, 1628, 3912, 2649, 2649, 2649,
3024      1627, 2650, 1626, 1439, 2651, 1625, 2790, 1446, 1446, 1446,
3025      1624, 1456, 1456, 1456, 1464, 1464, 1464, 1474, 1474, 1474,
3026      2656, 2656, 2656, 1623, 2657, 1448, 1622, 2658, 2785, 1458,
3027
3028      1621, 2786, 1466, 1620, 1615, 1476, 2795, 2795, 2795, 2663,
3029      2663, 2663, 1614, 2664, 1609, 1608, 2665, 1602, 2792, 1599,
3030      1594, 2788, 1593, 1588, 2796, 2801, 2801, 2801, 1577, 2791,
3031      2669, 2669, 2669, 2805, 2805, 2805, 1572, 2806, 1571, 1570,
3032      2807, 1566, 2802, 1561, 1550, 2793, 1548, 2670, 2794, 2808,
3033      2808, 2808, 2672, 2672, 2672, 2674, 2674, 2674, 1543, 2675,
3034      1542, 1541, 2676, 2677, 2677, 2677, 1537, 2809, 1536, 1535,
3035      2673, 2810, 2810, 2810, 1530, 2811, 1529, 1514, 2812, 1513,
3036      2678, 1557, 1557, 1557, 2818, 2818, 2818, 2820, 2820, 2820,
3037      2686, 2686, 2686, 1512, 2687, 1511, 1510, 2688, 1509, 1559,
3038
3039      1508, 1507, 2819, 1506, 2821, 3912, 3912, 3912, 3912, 3912,
3040      3912, 3912, 3912, 3912, 2826, 2826, 2826, 1581, 1581, 1581,
3041      1500, 1445, 3912, 1441, 1436, 3912, 1435, 1430, 3912, 1429,
3042      1428, 2827, 1427, 1426, 2822, 1583, 1589, 1589, 1589, 1425,
3043      1413, 2817, 2830, 2830, 2830, 2836, 2836, 2836, 2701, 2701,
3044      2701, 1412, 2702, 1411, 1591, 2703, 1616, 1616, 1616, 2831,
3045      1410, 2823, 1409, 2825, 2705, 2705, 2705, 1408, 1407, 2824,
3046      2706, 2706, 2706, 1406, 1618, 1405, 1404, 2828, 2838, 2838,
3047      2838, 1403, 2839, 1402, 1401, 2840, 1400, 2707, 2841, 2841,
3048      2841, 3912, 3912, 3912, 3912, 3912, 3912, 2847, 2847, 2847,
3049
3050      2829, 2845, 2845, 2845, 1399, 2842, 1398, 1397, 3912, 1396,
3051      1393, 3912, 1392, 1391, 2848, 2837, 2713, 2713, 2713, 2846,
3052      2714, 1390, 1389, 2715, 3912, 3912, 3912, 2717, 2717, 2717,
3053      2721, 2721, 2721, 2723, 2723, 2723, 1388, 2724, 1387, 1386,
3054      2725, 3912, 1385, 2843, 1382, 2718, 2844, 1381, 2722, 2852,
3055      2852, 2852, 2727, 2727, 2727, 1380, 2728, 1379, 1378, 2729,
3056      1690, 1690, 1690, 1377, 2734, 2734, 2734, 2853, 2735, 1376,
3057      1375, 2736, 1374, 1708, 1708, 1708, 1373, 1372, 1692, 2748,
3058      2748, 2748, 1365, 2749, 1361, 1360, 2750, 1727, 1727, 1727,
3059      2849, 1710, 2753, 2753, 2753, 2756, 2756, 2756, 2757, 2757,
3060
3061      2757, 2876, 2876, 2876, 1359, 1729, 1358, 2854, 1357, 1354,
3062      1351, 2762, 2762, 2762, 2764, 2764, 2764, 2880, 2880, 2880,
3063      2768, 2768, 2768, 2884, 2884, 2884, 2887, 2887, 2887, 2777,
3064      2777, 2777, 1352, 1351, 2867, 2779, 2779, 2779, 2780, 2780,
3065      2780, 1349, 2781, 1347, 1346, 2782, 1345, 2778, 2783, 2783,
3066      2783, 1344, 1343, 2869, 2870, 2889, 2889, 2889, 1341, 2890,
3067      1338, 1336, 2891, 1335, 1334, 2784, 2892, 2892, 2892, 2894,
3068      2894, 2894, 2787, 2787, 2787, 2896, 2896, 2896, 2789, 2789,
3069      2789, 1333, 1332, 2893, 1329, 1326, 2895, 2898, 2898, 2898,
3070      1325, 2899, 1324, 2897, 2900, 2790, 2901, 2901, 2901, 1456,
3071
3072      1456, 1456, 1464, 1464, 1464, 1474, 1474, 1474, 2795, 2795,
3073      2795, 2801, 2801, 2801, 2902, 1322, 1321, 1458, 1318, 1317,
3074      1466, 1315, 1312, 1476, 1311, 1310, 2796, 1306, 2802, 2910,
3075      2910, 2910, 1305, 2911, 1303, 1302, 2912, 2805, 2805, 2805,
3076      1301, 2806, 1300, 1298, 2807, 1297, 2808, 2808, 2808, 2810,
3077      2810, 2810, 1296, 2811, 1295, 1294, 2812, 2923, 2923, 2923,
3078      2925, 2925, 2925, 2903, 2809, 2905, 1557, 1557, 1557, 2904,
3079      2818, 2818, 2818, 1293, 2924, 1290, 1289, 2926, 2820, 2820,
3080      2820, 2934, 2934, 2934, 1559, 2928, 2928, 2928, 2819, 2929,
3081      1287, 1284, 2930, 1282, 1281, 2821, 1280, 1279, 2935, 2826,
3082
3083      2826, 2826, 2936, 2936, 2936, 1278, 2937, 1273, 1271, 2938,
3084      2939, 2939, 2939, 1589, 1589, 1589, 2827, 2830, 2830, 2830,
3085      2942, 2942, 2942, 2927, 2943, 1270, 1269, 2944, 2940, 1267,
3086      1266, 1591, 1265, 1262, 2831, 2947, 2947, 2947, 2949, 2949,
3087      2949, 2836, 2836, 2836, 2951, 2951, 2951, 2838, 2838, 2838,
3088      1261, 2839, 2948, 1260, 2840, 2950, 2841, 2841, 2841, 2953,
3089      2953, 2953, 2952, 2954, 1259, 1257, 2955, 2956, 2956, 2956,
3090      2958, 2958, 2958, 2842, 2941, 2845, 2845, 2845, 2847, 2847,
3091      2847, 2960, 2960, 2960, 2957, 2961, 1256, 2959, 2962, 3912,
3092      3912, 3912, 1255, 2846, 1253, 2848, 2852, 2852, 2852, 1690,
3093
3094      1690, 1690, 1708, 1708, 1708, 1250, 3912, 1727, 1727, 1727,
3095      2876, 2876, 2876, 1246, 2853, 1245, 1243, 1692, 1242, 1241,
3096      1710, 2988, 2988, 2988, 1238, 1729, 2880, 2880, 2880, 2884,
3097      2884, 2884, 2887, 2887, 2887, 2996, 2996, 2996, 1237, 2889,
3098      2889, 2889, 1235, 2890, 1234, 2963, 2891, 2892, 2892, 2892,
3099      1228, 1227, 2997, 2998, 2998, 2998, 1226, 2999, 1225, 2981,
3100      3000, 1223, 2979, 1222, 2893, 2966, 2894, 2894, 2894, 3001,
3101      3001, 3001, 1221, 3002, 1216, 1215, 3003, 2896, 2896, 2896,
3102      2898, 2898, 2898, 2895, 2899, 1213, 1212, 2900, 2901, 2901,
3103      2901, 1456, 1456, 1456, 1209, 2897, 1464, 1464, 1464, 1474,
3104
3105      1474, 1474, 3009, 3009, 3009, 1205, 2902, 1203, 1202, 1458,
3106      1201, 2910, 2910, 2910, 1466, 2911, 1200, 1476, 2912, 3010,
3107      3023, 3023, 3023, 2923, 2923, 2923, 3025, 3025, 3025, 1199,
3108      3026, 1198, 1197, 3027, 3073, 3073, 3073, 3024, 1196, 1195,
3109      2924, 2925, 2925, 2925, 1194, 1191, 3028, 3028, 3028, 1188,
3110      3029, 3006, 3004, 3030, 3031, 3031, 3031, 1187, 2926, 2928,
3111      2928, 2928, 3005, 2929, 1185, 1184, 2930, 2934, 2934, 2934,
3112      1183, 1182, 3032, 3036, 3036, 3036, 1181, 3037, 1176, 1174,
3113      3038, 2936, 2936, 2936, 2935, 2937, 1173, 1172, 2938, 2939,
3114      2939, 2939, 1589, 1589, 1589, 2942, 2942, 2942, 1171, 2943,
3115
3116      1169, 1168, 2944, 3047, 3047, 3047, 1167, 2940, 1165, 1164,
3117      1591, 2947, 2947, 2947, 3049, 3049, 3049, 1163, 3050, 1162,
3118      3048, 3051, 2949, 2949, 2949, 3052, 3052, 3052, 2948, 3053,
3119      1160, 1157, 3054, 2951, 2951, 2951, 2953, 2953, 2953, 2950,
3120      2954, 1156, 1154, 2955, 2956, 2956, 2956, 1152, 3055, 3055,
3121      3055, 2952, 3056, 1150, 3045, 3057, 2958, 2958, 2958, 1149,
3122      1148, 2957, 3058, 3058, 3058, 1147, 3059, 1146, 1145, 3060,
3123      2960, 2960, 2960, 2959, 2961, 1144, 1142, 2962, 3912, 3912,
3124      3912, 3068, 3068, 3068, 3070, 3070, 3070, 1690, 1690, 1690,
3125      3074, 3074, 3074, 1141, 1140, 3912, 1139, 1135, 3069, 1134,
3126
3127      1133, 3071, 1708, 1708, 1708, 1692, 1131, 3075, 3087, 3087,
3128      3087, 3089, 3089, 3089, 3095, 3095, 3095, 2988, 2988, 2988,
3129      1710, 3100, 3100, 3100, 1130, 3088, 2996, 2996, 2996, 3090,
3130      3104, 3104, 3104, 1129, 3105, 1128, 1125, 3106, 1124, 3067,
3131      2998, 2998, 2998, 2997, 2999, 1123, 1118, 3000, 3001, 3001,
3132      3001, 1116, 3002, 1115, 1114, 3003, 1108, 1107, 3072, 1456,
3133      1456, 1456, 3086, 1464, 1464, 1464, 1474, 1474, 1474, 3115,
3134      3115, 3115, 3009, 3009, 3009, 1106, 1105, 1458, 3117, 3117,
3135      3117, 1466, 3118, 1104, 1476, 3119, 3116, 1096, 1095, 3010,
3136      3120, 3120, 3120, 3023, 3023, 3023, 3133, 3133, 3133, 1093,
3137
3138      3134, 1090, 3113, 3135, 3025, 3025, 3025, 3121, 3026, 1089,
3139      3024, 3027, 3028, 3028, 3028, 3112, 3029, 1088, 1087, 3030,
3140      3031, 3031, 3031, 3137, 3137, 3137, 3111, 3036, 3036, 3036,
3141      1082, 3037, 1079, 1081, 3038, 3146, 3146, 3146, 3032, 1074,
3142      3138, 3047, 3047, 3047, 3149, 3149, 3149, 1073, 3150, 1071,
3143      1070, 3151,  830, 3147, 1068, 3049, 3049, 3049, 3048, 3050,
3144      1067, 1065, 3051, 3052, 3052, 3052, 1063, 3053, 1062, 1061,
3145      3054, 3055, 3055, 3055, 1059, 3056, 1058, 1055, 3057, 3058,
3146      3058, 3058, 1054, 3059, 1053, 1051, 3060, 3912, 3912, 3912,
3147      3068, 3068, 3068, 3165, 3165, 3165, 1050, 3166, 1048, 1047,
3148
3149      3167, 3070, 3070, 3070, 3912, 1046, 1045, 3069, 3168, 3168,
3150      3168, 1043, 3169, 1042, 1041, 3170, 1040, 1039, 3071, 1690,
3151      1690, 1690, 3073, 3073, 3073, 3074, 3074, 3074, 3172, 3172,
3152      3172, 1038, 3173, 1036, 1034, 3174, 1033, 1692, 1708, 1708,
3153      1708, 1031, 3075, 3087, 3087, 3087, 1027, 3164, 3184, 3184,
3154      3184, 1025, 3185, 1021, 1017, 3186, 1710, 3089, 3089, 3089,
3155      3088, 3189, 3189, 3189, 3095, 3095, 3095, 3193, 3193, 3193,
3156      3100, 3100, 3100, 1016, 1014, 3090, 1012, 1011, 3190, 1977,
3157      1009, 3171, 3197, 3197, 3197, 3104, 3104, 3104, 1007, 3105,
3158      3183, 1006, 3106, 1456, 1456, 1456, 3212, 3212, 3212, 1474,
3159
3160      1474, 1474, 3115, 3115, 3115, 3216, 3216, 3216, 1005, 3217,
3161      1004, 1458, 3218, 1003, 3213, 1001,  993, 1476,  991, 3116,
3162      3117, 3117, 3117,  986, 3118,  985,  984, 3119, 3120, 3120,
3163      3120, 3219, 3219, 3219,  983, 3220,  982,  980, 3221, 3133,
3164      3133, 3133,  978, 3134,  977, 3121, 3135, 3137, 3137, 3137,
3165      3234, 3234, 3234,  975, 3235,  973,  972, 3236,  970, 3211,
3166      3214, 3146, 3146, 3146, 3138, 3149, 3149, 3149,  968, 3150,
3167       967,  965, 3151, 3257, 3257, 3257, 3165, 3165, 3165, 3147,
3168      3166,  964,  961, 3167, 3168, 3168, 3168,  960, 3169,  959,
3169      3258, 3170, 1690, 1690, 1690, 3172, 3172, 3172,  957, 3173,
3170
3171       955,  953, 3174, 1708, 1708, 1708,  951, 3184, 3184, 3184,
3172      1692, 3185,  950,  949, 3186, 3286, 3286, 3286, 3189, 3189,
3173      3189, 1710, 3288, 3288, 3288,  947, 3289,  941,  940, 3290,
3174       939,  938, 3287, 1977,  936, 3190, 1977, 3291, 3291, 3291,
3175      1977, 3193, 3193, 3193, 3267, 3293, 3293, 3293, 3294, 3294,
3176      3294,  935,  934, 3276, 3197, 3197, 3197, 3296, 3296, 3296,
3177      1456, 1456, 1456, 3212, 3212, 3212, 1474, 1474, 1474, 3216,
3178      3216, 3216,  933, 3217,  932,  930, 3218,  929, 1458,  928,
3179       926, 3213,  925,  924, 1476, 3219, 3219, 3219,  918, 3220,
3180       914,  913, 3221, 3312, 3312, 3312, 3324, 3324, 3324, 3234,
3181
3182      3234, 3234,  909, 3235,  905,  904, 3236, 3326, 3326, 3326,
3183      3313,  903, 3309, 3325, 3257, 3257, 3257,  902, 3345, 3345,
3184      3345,  901, 3346,  899, 3327, 3347, 3356, 3356, 3356,  897,
3185       896, 3258,  895, 3310, 1708, 1708, 1708, 3286, 3286, 3286,
3186       893, 3374, 3374, 3374, 3357, 3375,  891,  890, 3376, 3288,
3187      3288, 3288, 1710, 3289, 3287, 1977, 3290,  888,  886, 1977,
3188      3291, 3291, 3291, 3293, 3293, 3293,  885, 1977, 3294, 3294,
3189      3294, 3296, 3296, 3296, 3393, 3393, 3393, 1474, 1474, 1474,
3190      3312, 3312, 3312, 3397, 3397, 3397,  884, 3398,  882,  880,
3191      3399,  879, 3394,  878,  876, 1476,  874, 3313,  872,  871,
3192
3193      3364, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,
3194       869,  868, 1975, 3400, 3400, 3400,  867, 1975, 1975, 1975,
3195      1977, 1975, 3324, 3324, 3324, 3409, 3409, 3409,  866, 3410,
3196      3401,  865, 3411, 3412, 3412, 3412,  863, 3413,  858, 3325,
3197      3414,  857,  855, 3395, 3326, 3326, 3326, 1975, 1975, 1975,
3198      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 3912, 3912,
3199      1975, 3327, 3356, 3356, 3356, 1975, 1975, 1975, 1977, 1975,
3200      3345, 3345, 3345,  830, 3346,  814,  813, 3347,  811,  810,
3201      3357, 3446, 3446, 3446, 3374, 3374, 3374,  804, 3375,  803,
3202       804, 3376, 3463, 3463, 3463, 1975, 1975,  803,  802, 3447,
3203
3204       801, 3912, 1977, 1975, 1975, 1975, 1975, 1975, 3462, 1975,
3205      1975, 1975, 3912, 3912, 1975, 3464, 3464, 3464, 3912, 1975,
3206      1975, 1975, 1977, 1975, 3393, 3393, 3393, 1474, 1474, 1474,
3207      3397, 3397, 3397, 3912, 3398, 3912, 3912, 3399, 3463, 3463,
3208      3463, 3912, 3394, 3912, 3912, 1476, 3400, 3400, 3400, 1975,
3209      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 3462,
3210      3912, 3912, 1975, 3401, 3464, 3464, 3464, 1975, 1975, 1975,
3211      1977, 1975, 3912, 3477, 3477, 3477, 3912, 3478, 3912, 3471,
3212      3479, 3409, 3409, 3409, 3912, 3410, 3912, 3912, 3411, 3412,
3213      3412, 3412, 3912, 3413, 3912, 3912, 3414, 1975, 1975, 3446,
3214
3215      3446, 3446, 3514, 3514, 3514, 3517, 3517, 3517, 3519, 3519,
3216      3519, 3477, 3477, 3477, 3912, 3478, 3912, 3447, 3479, 3912,
3217      1977, 1978, 3912, 3518, 3912, 3520, 3533, 3533, 3533, 3545,
3218      3545, 3545, 3553, 3553, 3553, 3514, 3514, 3514, 3517, 3517,
3219      3517, 3912, 3912, 3534, 3912, 3912, 3546, 3519, 3519, 3519,
3220      1351, 3912, 3912, 1977, 3912, 3912, 3518, 3912, 3557, 3557,
3221      3557, 3912, 3558, 3912, 3520, 3559, 3533, 3533, 3533, 3572,
3222      3572, 3572, 3912, 3573, 3912, 3912, 3574, 3545, 3545, 3545,
3223      3553, 3553, 3553, 3534, 3585, 3585, 3585, 2194, 3586, 3912,
3224      3912, 3587, 3912, 3912, 3546, 3557, 3557, 3557, 1351, 3558,
3225
3226      3912, 3912, 3559, 3572, 3572, 3572, 3912, 3573, 3912, 3912,
3227      3574, 3585, 3585, 3585, 3912, 3586, 3912, 3594, 3587, 3723,
3228      3723, 3723, 3723, 3723, 3723, 3912, 3736, 3912, 3912, 3737,
3229      3872, 3872, 3872, 3872, 3872, 3872, 3912, 1351, 3912, 3912,
3230      1351, 3910, 3910, 3910, 3910, 3910, 3910, 3912, 3873, 3912,
3231      3912, 3873, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3911,
3232      3912, 3912, 3911,  334,  334,  334,  334,  334,  334,  334,
3233       334,  334,  335,  335,  335,  335,  335,  335,  335,  335,
3234       335,  340,  340,  340,  340,  340,  340,  340,  340,  340,
3235       343,  343,  343,  343,  343,  343,  343,  343,  343,  346,
3236
3237       346,  346,  346,  346,  346,  346,  346,  346,  349,  349,
3238       349,  349,  349,  349,  349,  349,  349,  356,  356,  356,
3239       356,  356,  356,  356,  356,  356,  363,  363,  363,  363,
3240       363,  363,  363,  363,  363,  368,  368,  368,  368,  368,
3241       368,  368,  368,  368,  387,  387,  387,  387,  387,  387,
3242       387,  387,  387,  393,  393,  393,  393,  393,  393,  393,
3243       393,  393,  401,  401,  401,  401,  401,  401,  401,  401,
3244       401,  409,  409,  409,  409,  409,  409,  409,  409,  409,
3245       417,  417,  417,  417,  417,  417,  417,  417,  417,  421,
3246       421,  421,  421,  421,  421,  421,  421,  421,  427,  427,
3247
3248       427,  427,  427,  427,  427,  427,  427,  433,  433,  433,
3249       433,  433,  433,  433,  433,  433,  439,  439,  439,  439,
3250       439,  439,  439,  439,  439,  445,  445,  445,  445,  445,
3251       445,  445,  445,  445,  452,  452,  452,  452,  452,  452,
3252       452,  452,  452,  457,  457,  457,  457,  457,  457,  457,
3253       457,  457,  464,  464,  464,  464,  464,  464,  464,  464,
3254       464,  470,  470,  470,  470,  470,  470,  470,  470,  470,
3255       477,  477,  477,  477,  477,  477,  477,  477,  477,  486,
3256       486,  486,  486,  486,  486,  486,  486,  486,  503,  503,
3257       503,  503,  503,  503,  503,  503,  503,  510,  510,  510,
3258
3259       510,  510,  510,  510,  510,  510,  514,  514,  514,  514,
3260       514,  514,  514,  514,  514,  521,  521,  521,  521,  521,
3261       521,  521,  521,  521,  527,  527,  527,  527,  527,  527,
3262       527,  527,  527,  534,  534,  534,  534,  534,  534,  534,
3263       534,  534,  542,  542,  542,  542,  542,  542,  542,  542,
3264       542,  550,  550,  550,  550,  550,  550,  550,  550,  550,
3265       556,  556,  556,  556,  556,  556,  556,  556,  556,  562,
3266       562,  562,  562,  562,  562,  562,  562,  562,  566,  566,
3267       566,  566,  566,  566,  566,  566,  566,  574,  574,  574,
3268       574,  574,  574,  574,  574,  574,  581,  581,  581,  581,
3269
3270       581,  581,  581,  581,  581,  588,  588,  588,  588,  588,
3271       588,  588,  588,  588,  593,  593,  593,  593,  593,  593,
3272       593,  593,  593,  599,  599,  599,  599,  599,  599,  599,
3273       599,  599,  604,  604,  604,  604,  604,  604,  604,  604,
3274       604,  610,  610,  610,  610,  610,  610,  610,  610,  610,
3275       615,  615,  615,  615,  615,  615,  615,  615,  615,  621,
3276       621,  621,  621,  621,  621,  621,  621,  621,  630,  630,
3277       630,  630,  630,  630,  630,  630,  630,  637,  637,  637,
3278       637,  637,  637,  637,  637,  637,  641,  641,  641,  641,
3279       641,  641,  641,  641,  641,  652,  652,  652,  652,  652,
3280
3281       652,  652,  652,  652,  660,  660,  660,  660,  660,  660,
3282       660,  660,  660,  667,  667,  667,  667,  667,  667,  667,
3283       667,  667,  672,  672,  672,  672,  672,  672,  672,  672,
3284       672,  678,  678,  678,  678,  678,  678,  678,  678,  678,
3285       686,  686,  686,  686,  686,  686,  686,  686,  686,  692,
3286       692,  692,  692,  692,  692,  692,  692,  692,  697,  697,
3287       697,  697,  697,  697,  697,  697,  697,  704,  704,  704,
3288       704,  704,  704,  704,  704,  704,  709,  709,  709,  709,
3289       709,  709,  709,  709,  709,  715,  715,  715,  715,  715,
3290       715,  715,  715,  715,  722,  722,  722,  722,  722,  722,
3291
3292       722,  722,  722,  729,  729,  729,  729,  729,  729,  729,
3293       729,  729,  736,  736,  736,  736,  736,  736,  736,  736,
3294       736,  744,  744,  744,  744,  744,  744,  744,  744,  744,
3295       349,  349,  349,  349,  349,  349,  349,  349,  349,  755,
3296       755,  755,  755,  755,  755,  755,  755,  755,  761,  761,
3297       761,  761,  761,  761,  761,  761,  761,  767,  767,  767,
3298       767,  767,  767,  767,  767,  767,  772,  772,  772,  772,
3299       772,  772,  772,  772,  772,  786,  786,  786,  786,  786,
3300       786,  786,  786,  786,  792,  792,  792,  792,  792,  792,
3301       792,  792,  792,  812,  812,  812, 3912, 3912, 3912,  812,
3302
3303       856,  856,  856, 3912, 3912, 3912,  856,  864,  864,  864,
3304      3912, 3912, 3912,  864,  873,  873,  873, 3912, 3912, 3912,
3305       873,  877,  877,  877, 3912, 3912, 3912,  877,  883,  883,
3306       883, 3912, 3912, 3912,  883,  889,  889,  889, 3912, 3912,
3307      3912,  889,  894,  894,  894, 3912, 3912, 3912,  894,  900,
3308       900,  900, 3912, 3912, 3912,  900,  910,  910,  910, 3912,
3309      3912, 3912,  910,  927,  927,  927, 3912, 3912, 3912,  927,
3310       931,  931,  931, 3912, 3912, 3912,  931,  937,  937,  937,
3311      3912, 3912, 3912,  937,  948,  948,  948, 3912, 3912, 3912,
3312       948,  954,  954,  954, 3912, 3912, 3912,  954,  958,  958,
3313
3314       958, 3912, 3912, 3912,  958,  966,  966,  966, 3912, 3912,
3315      3912,  966,  971,  971,  971, 3912, 3912, 3912,  971,  976,
3316       976,  976, 3912, 3912, 3912,  976,  981,  981,  981, 3912,
3317      3912, 3912,  981,  992,  992,  992, 3912, 3912, 3912,  992,
3318      1002, 1002, 1002, 3912, 3912, 3912, 1002, 1010, 1010, 1010,
3319      3912, 3912, 3912, 1010, 1015, 1015, 1015, 3912, 3912, 3912,
3320      1015, 1026, 1026, 1026, 3912, 3912, 3912, 1026, 1032, 1032,
3321      1032, 3912, 3912, 3912, 1032, 1037, 1037, 1037, 3912, 3912,
3322      3912, 1037, 1044, 1044, 1044, 3912, 3912, 3912, 1044, 1052,
3323      1052, 1052, 3912, 3912, 3912, 1052, 1060, 1060, 1060, 3912,
3324
3325      3912, 3912, 1060, 1066, 1066, 1066, 3912, 3912, 3912, 1066,
3326      1072, 1072, 1072, 3912, 3912, 3912, 1072, 1078, 1078, 1078,
3327      1078, 1078, 1078, 1078, 3912, 1078,  812,  812,  812, 3912,
3328      3912, 3912,  812, 1094, 3912, 3912, 3912, 1094,  856,  856,
3329       856, 3912, 3912, 3912,  856, 1143, 3912, 3912, 3912, 1143,
3330       864,  864,  864, 3912, 3912, 3912,  864, 1151, 3912, 3912,
3331      3912, 1151,  873,  873,  873, 3912, 3912, 3912,  873, 1155,
3332      3912, 3912, 3912, 1155,  877,  877,  877, 3912, 3912, 3912,
3333       877, 1161, 3912, 3912, 3912, 1161,  883,  883,  883, 3912,
3334      3912, 3912,  883, 1166, 3912, 3912, 3912, 1166,  889,  889,
3335
3336       889, 3912, 3912, 3912,  889, 1170, 3912, 3912, 3912, 1170,
3337       894,  894,  894, 3912, 3912, 3912,  894, 1175, 3912, 3912,
3338      3912, 1175,  900,  900,  900, 3912, 3912, 3912,  900, 1186,
3339      3912, 3912, 3912, 1186,  910,  910,  910, 3912, 3912, 3912,
3340       910, 1204, 3912, 3912, 3912, 1204,  927,  927,  927, 3912,
3341      3912, 3912,  927, 1208, 3912, 3912, 3912, 1208,  931,  931,
3342       931, 3912, 3912, 3912,  931, 1214, 3912, 3912, 3912, 1214,
3343       937,  937,  937, 3912, 3912, 3912,  937, 1224, 3912, 3912,
3344      3912, 1224,  948,  948,  948, 3912, 3912, 3912,  948, 1233,
3345      3912, 3912, 3912, 1233,  954,  954,  954, 3912, 3912, 3912,
3346
3347       954, 1236, 3912, 3912, 3912, 1236,  958,  958,  958, 3912,
3348      3912, 3912,  958, 1244, 3912, 3912, 3912, 1244,  966,  966,
3349       966, 3912, 3912, 3912,  966, 1249, 3912, 3912, 3912, 1249,
3350       971,  971,  971, 3912, 3912, 3912,  971, 1254, 3912, 3912,
3351      3912, 1254,  976,  976,  976, 3912, 3912, 3912,  976, 1258,
3352      3912, 3912, 3912, 1258,  981,  981,  981, 3912, 3912, 3912,
3353       981, 1268, 3912, 3912, 3912, 1268,  992,  992,  992, 3912,
3354      3912, 3912,  992, 1272, 3912, 3912, 3912, 1272, 1002, 1002,
3355      1002, 3912, 3912, 3912, 1002, 1283, 3912, 3912, 3912, 1283,
3356      1010, 1010, 1010, 3912, 3912, 3912, 1010, 1288, 3912, 3912,
3357
3358      3912, 1288, 1015, 1015, 1015, 3912, 3912, 3912, 1015, 1299,
3359      3912, 3912, 3912, 1299, 1026, 1026, 1026, 3912, 3912, 3912,
3360      1026, 1304, 3912, 3912, 3912, 1304, 1032, 1032, 1032, 3912,
3361      3912, 3912, 1032, 1309, 3912, 3912, 3912, 1309, 1037, 1037,
3362      1037, 3912, 3912, 3912, 1037, 1316, 3912, 3912, 3912, 1316,
3363      1044, 1044, 1044, 3912, 3912, 3912, 1044, 1323, 3912, 3912,
3364      3912, 1323, 1052, 1052, 1052, 3912, 3912, 3912, 1052, 1331,
3365      3912, 3912, 3912, 1331, 1060, 1060, 1060, 3912, 3912, 3912,
3366      1060, 1337, 3912, 3912, 3912, 1337, 1066, 1066, 1066, 3912,
3367      3912, 3912, 1066, 1342, 3912, 3912, 3912, 1342, 1072, 1072,
3368
3369      1072, 3912, 3912, 3912, 1072, 1348, 3912, 3912, 3912, 1348,
3370      1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1356,
3371      3912, 3912, 3912, 3912, 1356,  812,  812,  812, 3912, 3912,
3372      3912,  812, 1367, 1367, 1367, 1367, 3912, 3912, 1367, 1367,
3373       856,  856,  856,  856, 3912,  856, 3912,  856, 1422, 1422,
3374      1422, 1422, 3912, 3912, 1422, 1422,  864,  864,  864, 3912,
3375      3912, 3912,  864, 1432, 1432, 1432, 1432, 3912, 3912, 1432,
3376      1432,  873,  873,  873, 3912, 3912, 3912,  873, 1438, 1438,
3377      1438, 1438, 3912, 3912, 1438, 1438,  877,  877,  877, 3912,
3378      3912, 3912,  877, 1447, 1447, 1447, 1447, 3912, 3912, 1447,
3379
3380      1447,  883,  883,  883,  883, 3912,  883, 3912,  883, 1457,
3381      1457, 1457, 1457, 3912, 3912, 1457, 1457,  889,  889,  889,
3382       889, 3912,  889, 3912,  889, 1465, 1465, 1465, 1465, 3912,
3383      3912, 1465, 1465,  894,  894,  894,  894, 3912,  894, 3912,
3384       894, 1475, 1475, 1475, 1475, 3912, 3912, 1475, 1475,  900,
3385       900,  900,  900, 3912,  900, 3912,  900, 1491, 1491, 1491,
3386      1491, 3912, 3912, 1491, 1491,  910,  910,  910, 3912, 3912,
3387      3912,  910, 1516, 1516, 1516, 1516, 3912, 3912, 1516, 1516,
3388      1523, 1523, 1523, 1523, 3912, 3912, 1523, 1523,  931,  931,
3389       931, 3912, 3912, 3912,  931, 1532, 1532, 1532, 1532, 3912,
3390
3391      3912, 1532, 1532,  937,  937,  937, 3912, 3912, 3912,  937,
3392      1545, 1545, 1545, 1545, 3912, 3912, 1545, 1545,  948,  948,
3393       948, 3912, 3912, 3912,  948, 1558, 1558, 1558, 1558, 3912,
3394      3912, 1558, 1558,  954,  954,  954, 3912, 3912, 3912,  954,
3395      1563, 1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,  958,
3396       958, 3912, 3912, 3912,  958, 1574, 1574, 1574, 1574, 3912,
3397      3912, 1574, 1574,  966,  966,  966, 3912, 3912, 3912,  966,
3398      1582, 1582, 1582, 1582, 3912, 3912, 1582, 1582,  971,  971,
3399       971, 3912, 3912, 3912,  971, 1590, 1590, 1590, 1590, 3912,
3400      3912, 1590, 1590,  976,  976,  976, 3912, 3912, 3912,  976,
3401
3402      1596, 1596, 1596, 1596, 3912, 3912, 1596, 1596,  981,  981,
3403       981, 3912, 3912, 3912,  981, 1611, 1611, 1611, 1611, 3912,
3404      3912, 1611, 1611,  992,  992,  992, 3912, 3912, 3912,  992,
3405      1617, 1617, 1617, 1617, 3912, 3912, 1617, 1617, 1002, 1002,
3406      1002, 3912, 3912, 3912, 1002, 1630, 1630, 1630, 1630, 3912,
3407      3912, 1630, 1630, 1010, 1010, 1010, 3912, 3912, 3912, 1010,
3408      1638, 1638, 1638, 1638, 3912, 3912, 1638, 1638, 1015, 1015,
3409      1015, 3912, 3912, 3912, 1015, 1654, 1654, 1654, 1654, 3912,
3410      3912, 1654, 1654, 1026, 1026, 1026, 1026, 3912, 1026, 3912,
3411      1026, 1663, 1663, 1663, 1663, 3912, 3912, 1663, 1663, 1032,
3412
3413      1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671, 1671, 1671,
3414      3912, 3912, 1671, 1671, 1037, 1037, 1037, 3912, 3912, 3912,
3415      1037, 1681, 1681, 1681, 1681, 3912, 3912, 1681, 1681, 1044,
3416      1044, 1044, 3912, 3912, 3912, 1044, 1691, 1691, 1691, 1691,
3417      3912, 3912, 1691, 1691, 1052, 1052, 1052, 3912, 3912, 3912,
3418      1052, 1702, 1702, 1702, 1702, 3912, 3912, 1702, 1702, 1060,
3419      1060, 1060, 3912, 3912, 3912, 1060, 1709, 1709, 1709, 1709,
3420      3912, 3912, 1709, 1709, 1066, 1066, 1066, 3912, 3912, 3912,
3421      1066, 1717, 1717, 1717, 1717, 3912, 3912, 1717, 1717, 1072,
3422      1072, 1072, 1072, 3912, 1072, 3912, 1072, 1728, 1728, 1728,
3423
3424      1728, 3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350, 1350,
3425      1350, 1350, 1350, 1350, 1356, 3912, 1356, 3912, 3912, 1356,
3426       812,  812,  812, 3912, 3912, 3912,  812, 1367, 1367, 1367,
3427      1367, 3912, 3912, 1367, 1367,  856,  856,  856, 3912, 3912,
3428      3912,  856, 1422, 1422, 1422, 1422, 3912, 3912, 1422, 1422,
3429       864,  864,  864, 3912, 3912, 3912,  864, 1432, 1432, 1432,
3430      1432, 3912, 3912, 1432, 1432,  873,  873,  873, 3912, 3912,
3431      3912,  873, 1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,
3432       877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447, 1447,
3433      1447, 3912, 3912, 1447, 1447,  883,  883,  883, 3912, 3912,
3434
3435      3912,  883, 1457, 1457, 1457, 1457, 3912, 3912, 1457, 1457,
3436      1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465,  894,  894,
3437       894, 3912, 3912, 3912,  894, 1475, 1475, 1475, 1475, 3912,
3438      3912, 1475, 1475,  900,  900,  900, 3912, 3912, 3912,  900,
3439      1491, 1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,  910,
3440       910, 3912, 3912, 3912,  910, 1516, 1516, 1516, 1516, 3912,
3441      3912, 1516, 1516, 1523, 1523, 1523, 1523, 3912, 3912, 1523,
3442      1523,  931,  931,  931, 3912, 3912, 3912,  931, 1532, 1532,
3443      1532, 1532, 3912, 3912, 1532, 1532,  937,  937,  937, 3912,
3444      3912, 3912,  937, 1545, 1545, 1545, 1545, 3912, 3912, 1545,
3445
3446      1545,  948,  948,  948,  948, 3912,  948, 3912,  948, 1558,
3447      1558, 1558, 1558, 3912, 3912, 1558, 1558,  954,  954,  954,
3448       954, 3912,  954, 3912,  954, 1563, 1563, 1563, 1563, 3912,
3449      3912, 1563, 1563,  958,  958,  958, 3912, 3912, 3912,  958,
3450      1574, 1574, 1574, 1574, 3912, 3912, 1574, 1574,  966,  966,
3451       966, 3912, 3912, 3912,  966, 1582, 1582, 1582, 1582, 3912,
3452      3912, 1582, 1582,  971,  971,  971, 3912, 3912, 3912,  971,
3453      1590, 1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,  976,
3454       976,  976, 3912,  976, 3912,  976, 1596, 1596, 1596, 1596,
3455      3912, 3912, 1596, 1596,  981,  981,  981, 3912, 3912, 3912,
3456
3457       981, 1611, 1611, 1611, 1611, 3912, 3912, 1611, 1611,  992,
3458       992,  992, 3912, 3912, 3912,  992, 1617, 1617, 1617, 1617,
3459      3912, 3912, 1617, 1617, 1002, 1002, 1002, 3912, 3912, 3912,
3460      1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1010,
3461      1010, 1010, 3912, 3912, 3912, 1010, 1638, 1638, 1638, 1638,
3462      3912, 3912, 1638, 1638, 1015, 1015, 1015, 3912, 3912, 3912,
3463      1015, 1654, 1654, 1654, 1654, 3912, 3912, 1654, 1654, 1026,
3464      1026, 1026, 3912, 3912, 3912, 1026, 1663, 1663, 1663, 1663,
3465      3912, 3912, 1663, 1663, 1032, 1032, 1032, 3912, 3912, 3912,
3466      1032, 1671, 1671, 1671, 1671, 3912, 3912, 1671, 1671, 1037,
3467
3468      1037, 1037, 3912, 3912, 3912, 1037, 1681, 1681, 1681, 1681,
3469      3912, 3912, 1681, 1681, 1044, 1044, 1044, 3912, 3912, 3912,
3470      1044, 1691, 1691, 1691, 1691, 3912, 3912, 1691, 1691, 1052,
3471      1052, 1052, 1052, 3912, 1052, 3912, 1052, 1702, 1702, 1702,
3472      1702, 3912, 3912, 1702, 1702, 1060, 1060, 1060, 3912, 3912,
3473      3912, 1060, 1709, 1709, 1709, 1709, 3912, 3912, 1709, 1709,
3474      1066, 1066, 1066, 3912, 3912, 3912, 1066, 1717, 1717, 1717,
3475      1717, 3912, 3912, 1717, 1717, 1072, 1072, 1072, 3912, 3912,
3476      3912, 1072, 1728, 1728, 1728, 1728, 3912, 3912, 1728, 1728,
3477      1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1975,
3478
3479      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,  812,  812,
3480       812, 3912, 3912, 3912,  812,  856,  856,  856, 3912, 3912,
3481      3912,  856, 1422, 1422, 1422, 1422, 3912, 3912, 1422, 1422,
3482       864,  864,  864, 3912, 3912, 3912,  864, 1432, 1432, 1432,
3483      1432, 3912, 3912, 1432, 1432,  873,  873,  873,  873, 3912,
3484       873, 3912,  873, 1438, 1438, 1438, 1438, 3912, 3912, 1438,
3485      1438,  877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447,
3486      1447, 1447, 3912, 3912, 1447, 1447,  883,  883,  883, 3912,
3487      3912, 3912,  883, 1457, 1457, 1457, 1457, 3912, 3912, 1457,
3488      1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465,  894,
3489
3490       894,  894, 3912, 3912, 3912,  894, 1475, 1475, 1475, 1475,
3491      3912, 3912, 1475, 1475,  900,  900,  900, 3912, 3912, 3912,
3492       900, 1491, 1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,
3493       910,  910,  910, 3912,  910, 3912,  910, 1516, 1516, 1516,
3494      1516, 3912, 3912, 1516, 1516, 1523, 1523, 1523, 1523, 3912,
3495      3912, 1523, 1523,  931,  931,  931, 3912, 3912, 3912,  931,
3496      1532, 1532, 1532, 1532, 3912, 3912, 1532, 1532,  937,  937,
3497       937, 3912, 3912, 3912,  937, 1545, 1545, 1545, 1545, 3912,
3498      3912, 1545, 1545, 1558, 1558, 1558, 1558, 3912, 3912, 1558,
3499      1558, 1563, 1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,
3500
3501       958,  958, 3912, 3912, 3912,  958, 1574, 1574, 1574, 1574,
3502      3912, 3912, 1574, 1574,  966,  966,  966, 3912, 3912, 3912,
3503       966, 1582, 1582, 1582, 1582, 3912, 3912, 1582, 1582,  971,
3504       971,  971,  971, 3912,  971, 3912,  971, 1590, 1590, 1590,
3505      1590, 3912, 3912, 1590, 1590,  976,  976,  976, 3912, 3912,
3506      3912,  976, 1596, 1596, 1596, 1596, 3912, 3912, 1596, 1596,
3507       981,  981,  981, 3912, 3912, 3912,  981, 1611, 1611, 1611,
3508      1611, 3912, 3912, 1611, 1611,  992,  992,  992, 3912, 3912,
3509      3912,  992, 1617, 1617, 1617, 1617, 3912, 3912, 1617, 1617,
3510      1002, 1002, 1002, 3912, 3912, 3912, 1002, 1630, 1630, 1630,
3511
3512      1630, 3912, 3912, 1630, 1630, 1010, 1010, 1010, 1010, 3912,
3513      1010, 3912, 1010, 1638, 1638, 1638, 1638, 3912, 3912, 1638,
3514      1638, 1015, 1015, 1015, 3912, 3912, 3912, 1015, 1654, 1654,
3515      1654, 1654, 3912, 3912, 1654, 1654, 1026, 1026, 1026, 3912,
3516      3912, 3912, 1026, 1663, 1663, 1663, 1663, 3912, 3912, 1663,
3517      1663, 1032, 1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671,
3518      1671, 1671, 3912, 3912, 1671, 1671, 1037, 1037, 1037, 3912,
3519      3912, 3912, 1037, 1681, 1681, 1681, 1681, 3912, 3912, 1681,
3520      1681, 1044, 1044, 1044, 3912, 3912, 3912, 1044, 1691, 1691,
3521      1691, 1691, 3912, 3912, 1691, 1691, 1052, 1052, 1052, 3912,
3522
3523      3912, 3912, 1052, 1702, 1702, 1702, 1702, 3912, 3912, 1702,
3524      1702, 1060, 1060, 1060, 3912, 3912, 3912, 1060, 1709, 1709,
3525      1709, 1709, 3912, 3912, 1709, 1709, 1066, 1066, 1066, 3912,
3526      3912, 3912, 1066, 1717, 1717, 1717, 1717, 3912, 3912, 1717,
3527      1717, 1072, 1072, 1072, 3912, 3912, 3912, 1072, 1728, 1728,
3528      1728, 1728, 3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350,
3529      1350, 1350, 1350, 1350, 1350, 1975, 1975, 1975, 1975, 1975,
3530      1975, 1975, 1975, 1975,  812,  812,  812, 3912, 3912, 3912,
3531       812,  856,  856,  856,  856, 3912,  856, 3912,  856, 1422,
3532      1422, 1422, 1422, 3912, 3912, 1422, 1422,  864,  864,  864,
3533
3534      3912, 3912, 3912,  864, 1432, 1432, 1432, 1432, 3912, 3912,
3535      1432, 1432, 1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,
3536       877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447, 1447,
3537      1447, 3912, 3912, 1447, 1447,  883,  883,  883,  883, 3912,
3538       883, 3912,  883, 1457, 1457, 1457, 1457, 3912, 3912, 1457,
3539      1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465,  894,
3540       894,  894,  894, 3912,  894, 3912,  894, 1475, 1475, 1475,
3541      1475, 3912, 3912, 1475, 1475,  900,  900,  900,  900, 3912,
3542       900, 3912,  900, 1491, 1491, 1491, 1491, 3912, 3912, 1491,
3543      1491,  910,  910,  910,  910, 3912,  910, 3912,  910, 1516,
3544
3545      1516, 1516, 1516, 3912, 3912, 1516, 1516, 1523, 1523, 1523,
3546      1523, 3912, 3912, 1523, 1523,  931,  931,  931, 3912, 3912,
3547      3912,  931, 1532, 1532, 1532, 1532, 3912, 3912, 1532, 1532,
3548       937,  937,  937, 3912, 3912, 3912,  937, 1545, 1545, 1545,
3549      1545, 3912, 3912, 1545, 1545, 1558, 1558, 1558, 1558, 3912,
3550      3912, 1558, 1558, 1563, 1563, 1563, 1563, 3912, 3912, 1563,
3551      1563,  958,  958,  958, 3912, 3912, 3912,  958, 1574, 1574,
3552      1574, 1574, 3912, 3912, 1574, 1574,  966,  966,  966, 3912,
3553      3912, 3912,  966, 1582, 1582, 1582, 1582, 3912, 3912, 1582,
3554      1582, 1590, 1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,
3555
3556       976,  976, 3912, 3912, 3912,  976, 1596, 1596, 1596, 1596,
3557      3912, 3912, 1596, 1596,  981,  981,  981, 3912, 3912, 3912,
3558       981, 1611, 1611, 1611, 1611, 3912, 3912, 1611, 1611,  992,
3559       992,  992, 3912, 3912, 3912,  992, 1617, 1617, 1617, 1617,
3560      3912, 3912, 1617, 1617, 1002, 1002, 1002, 3912, 3912, 3912,
3561      1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1638,
3562      1638, 1638, 1638, 3912, 3912, 1638, 1638, 1015, 1015, 1015,
3563      3912, 3912, 3912, 1015, 1654, 1654, 1654, 1654, 3912, 3912,
3564      1654, 1654, 1026, 1026, 1026, 3912, 3912, 3912, 1026, 1663,
3565      1663, 1663, 1663, 3912, 3912, 1663, 1663, 1032, 1032, 1032,
3566
3567      3912, 3912, 3912, 1032, 1671, 1671, 1671, 1671, 3912, 3912,
3568      1671, 1671, 1037, 1037, 1037, 1037, 3912, 1037, 3912, 1037,
3569      1681, 1681, 1681, 1681, 3912, 3912, 1681, 1681, 1044, 1044,
3570      1044, 3912, 3912, 3912, 1044, 1691, 1691, 1691, 1691, 3912,
3571      3912, 1691, 1691, 1052, 1052, 1052, 3912, 3912, 3912, 1052,
3572      1702, 1702, 1702, 1702, 3912, 3912, 1702, 1702, 1060, 1060,
3573      1060, 3912, 3912, 3912, 1060, 1709, 1709, 1709, 1709, 3912,
3574      3912, 1709, 1709, 1066, 1066, 1066, 3912, 3912, 3912, 1066,
3575      1717, 1717, 1717, 1717, 3912, 3912, 1717, 1717, 1072, 1072,
3576      1072, 1072, 3912, 1072, 3912, 1072, 1728, 1728, 1728, 1728,
3577
3578      3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350, 1350, 1350,
3579      1350, 1350, 1350, 1975, 1975, 1975, 1975, 1975, 1975, 1975,
3580      1975, 1975,  812,  812,  812,  812, 3912,  812, 3912,  812,
3581       856,  856,  856, 3912, 3912, 3912,  856, 1422, 1422, 1422,
3582      1422, 3912, 3912, 1422, 1422,  864,  864,  864, 3912, 3912,
3583      3912,  864, 1432, 1432, 1432, 1432, 3912, 3912, 1432, 1432,
3584      1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,  877,  877,
3585       877, 3912, 3912, 3912,  877, 1447, 1447, 1447, 1447, 3912,
3586      3912, 1447, 1447, 1457, 1457, 1457, 1457, 3912, 3912, 1457,
3587      1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465, 1465, 1475,
3588
3589      1475, 1475, 1475, 3912, 3912, 1475, 1475,  900,  900,  900,
3590       900, 3912,  900, 3912,  900, 1491, 1491, 1491, 1491, 3912,
3591      3912, 1491, 1491,  910,  910,  910, 3912, 3912, 3912,  910,
3592      1516, 1516, 1516, 1516, 3912, 3912, 1516, 1516, 1523, 1523,
3593      1523, 1523, 3912, 3912, 1523, 1523,  931,  931,  931,  931,
3594      3912,  931, 3912,  931,  937,  937,  937, 3912, 3912, 3912,
3595       937, 1558, 1558, 1558, 1558, 3912, 3912, 1558, 1558, 1563,
3596      1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,  958,  958,
3597      3912, 3912, 3912,  958,  966,  966,  966, 3912, 3912, 3912,
3598       966, 1582, 1582, 1582, 1582, 3912, 3912, 1582, 1582, 1590,
3599
3600      1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,  976,  976,
3601      3912, 3912, 3912,  976, 1596, 1596, 1596, 1596, 3912, 3912,
3602      1596, 1596,  981,  981,  981, 3912, 3912, 3912,  981,  992,
3603       992,  992,  992, 3912,  992, 3912,  992, 1617, 1617, 1617,
3604      1617, 3912, 3912, 1617, 1617, 1002, 1002, 1002, 3912, 3912,
3605      3912, 1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630,
3606      1015, 1015, 1015, 3912, 3912, 3912, 1015, 1654, 1654, 1654,
3607      1654, 3912, 3912, 1654, 1654, 1026, 1026, 1026, 3912, 3912,
3608      3912, 1026, 1663, 1663, 1663, 1663, 3912, 3912, 1663, 1663,
3609      1032, 1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671, 1671,
3610
3611      1671, 3912, 3912, 1671, 1671, 1037, 1037, 1037, 1037, 3912,
3612      1037, 3912, 1037, 1681, 1681, 1681, 1681, 3912, 3912, 1681,
3613      1681, 1044, 1044, 1044, 1044, 3912, 1044, 3912, 1044, 1691,
3614      1691, 1691, 1691, 3912, 3912, 1691, 1691, 1052, 1052, 1052,
3615      3912, 3912, 3912, 1052, 1702, 1702, 1702, 1702, 3912, 3912,
3616      1702, 1702, 1060, 1060, 1060, 1060, 3912, 1060, 3912, 1060,
3617      1709, 1709, 1709, 1709, 3912, 3912, 1709, 1709, 1066, 1066,
3618      1066, 1066, 3912, 1066, 3912, 1066, 1072, 1072, 1072, 3912,
3619      3912, 3912, 1072, 1728, 1728, 1728, 1728, 3912, 3912, 1728,
3620      1728, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
3621
3622      1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,  856,
3623       856,  856, 3912, 3912, 3912,  856, 1422, 1422, 1422, 1422,
3624      3912, 3912, 1422, 1422,  864,  864,  864,  864, 3912,  864,
3625      3912,  864, 1438, 1438, 1438, 1438, 3912, 3912, 1438, 1438,
3626       877,  877,  877, 3912, 3912, 3912,  877, 1447, 1447, 1447,
3627      1447, 3912, 3912, 1447, 1447, 1457, 1457, 1457, 1457, 3912,
3628      3912, 1457, 1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465,
3629      1465, 1475, 1475, 1475, 1475, 3912, 3912, 1475, 1475, 1491,
3630      1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,  910,  910,
3631      3912, 3912, 3912,  910, 1516, 1516, 1516, 1516, 3912, 3912,
3632
3633      1516, 1516, 1523, 1523, 1523, 1523, 3912, 3912, 1523, 1523,
3634       931,  931,  931,  931, 3912,  931, 3912,  931,  937,  937,
3635       937, 3912, 3912, 3912,  937, 1558, 1558, 1558, 1558, 3912,
3636      3912, 1558, 1558, 1563, 1563, 1563, 1563, 3912, 3912, 1563,
3637      1563,  958,  958,  958, 3912, 3912, 3912,  958,  966,  966,
3638       966, 3912, 3912, 3912,  966, 1582, 1582, 1582, 1582, 3912,
3639      3912, 1582, 1582, 1590, 1590, 1590, 1590, 3912, 3912, 1590,
3640      1590,  976,  976,  976, 3912, 3912, 3912,  976,  981,  981,
3641       981, 3912, 3912, 3912,  981, 1617, 1617, 1617, 1617, 3912,
3642      3912, 1617, 1617, 1002, 1002, 1002, 1002, 3912, 1002, 3912,
3643
3644      1002, 1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1015,
3645      1015, 1015, 3912, 3912, 3912, 1015, 1654, 1654, 1654, 1654,
3646      3912, 3912, 1654, 1654, 1026, 1026, 1026, 3912, 3912, 3912,
3647      1026, 1032, 1032, 1032, 3912, 3912, 3912, 1032, 1671, 1671,
3648      1671, 1671, 3912, 3912, 1671, 1671, 1681, 1681, 1681, 1681,
3649      3912, 3912, 1681, 1681, 1691, 1691, 1691, 1691, 3912, 3912,
3650      1691, 1691, 1052, 1052, 1052, 3912, 3912, 3912, 1052, 1709,
3651      1709, 1709, 1709, 3912, 3912, 1709, 1709, 1072, 1072, 1072,
3652      3912, 3912, 3912, 1072, 1728, 1728, 1728, 1728, 3912, 3912,
3653      1728, 1728, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
3654
3655      1350, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975, 1975,
3656       856,  856,  856, 3912, 3912, 3912,  856, 1422, 1422, 1422,
3657      1422, 3912, 3912, 1422, 1422,  864,  864,  864,  864, 3912,
3658       864, 3912,  864, 1438, 1438, 1438, 1438, 3912, 3912, 1438,
3659      1438,  877,  877,  877,  877, 3912,  877, 3912,  877, 1447,
3660      1447, 1447, 1447, 3912, 3912, 1447, 1447, 1457, 1457, 1457,
3661      1457, 3912, 3912, 1457, 1457, 1465, 1465, 1465, 1465, 3912,
3662      3912, 1465, 1465, 1475, 1475, 1475, 1475, 3912, 3912, 1475,
3663      1475, 1491, 1491, 1491, 1491, 3912, 3912, 1491, 1491,  910,
3664       910,  910, 3912, 3912, 3912,  910, 1516, 1516, 1516, 1516,
3665
3666      3912, 3912, 1516, 1516,  937,  937,  937, 3912, 3912, 3912,
3667       937, 1558, 1558, 1558, 1558, 3912, 3912, 1558, 1558, 1563,
3668      1563, 1563, 1563, 3912, 3912, 1563, 1563,  958,  958,  958,
3669       958, 3912,  958, 3912,  958,  966,  966,  966,  966, 3912,
3670       966, 3912,  966, 1582, 1582, 1582, 1582, 3912, 3912, 1582,
3671      1582, 1590, 1590, 1590, 1590, 3912, 3912, 1590, 1590,  976,
3672       976,  976,  976, 3912,  976, 3912,  976,  981,  981,  981,
3673      3912, 3912, 3912,  981, 1617, 1617, 1617, 1617, 3912, 3912,
3674      1617, 1617, 1002, 1002, 1002, 1002, 3912, 1002, 3912, 1002,
3675      1630, 1630, 1630, 1630, 3912, 3912, 1630, 1630, 1015, 1015,
3676
3677      1015, 1015, 3912, 1015, 3912, 1015, 1026, 1026, 1026, 3912,
3678      3912, 3912, 1026, 1032, 1032, 1032, 3912, 3912, 3912, 1032,
3679      1681, 1681, 1681, 1681, 3912, 3912, 1681, 1681, 1691, 1691,
3680      1691, 1691, 3912, 3912, 1691, 1691, 1052, 1052, 1052, 3912,
3681      3912, 3912, 1052, 1709, 1709, 1709, 1709, 3912, 3912, 1709,
3682      1709, 1072, 1072, 1072, 3912, 3912, 3912, 1072, 1728, 1728,
3683      1728, 1728, 3912, 3912, 1728, 1728, 1350, 1350, 1350, 1350,
3684      1350, 1350, 1350, 1350, 1350, 1975, 1975, 1975, 1975, 1975,
3685      1975, 1975, 1975, 1975,  856,  856,  856, 3912, 3912, 3912,
3686       856,  864,  864,  864,  864, 3912,  864, 3912,  864, 1438,
3687
3688      1438, 1438, 1438, 3912, 3912, 1438, 1438, 1447, 1447, 1447,
3689      1447, 3912, 3912, 1447, 1447, 1457, 1457, 1457, 1457, 3912,
3690      3912, 1457, 1457, 1465, 1465, 1465, 1465, 3912, 3912, 1465,
3691      1465, 1475, 1475, 1475, 1475, 3912, 3912, 1475, 1475,  910,
3692       910,  910, 3912, 3912, 3912,  910,  937,  937,  937, 3912,
3693      3912, 3912,  937, 1558, 1558, 1558, 1558, 3912, 3912, 1558,
3694      1558,  958,  958,  958, 3912, 3912, 3912,  958, 1582, 1582,
3695      1582, 1582, 3912, 3912, 1582, 1582, 1590, 1590, 1590, 1590,
3696      3912, 3912, 1590, 1590,  981,  981,  981, 3912, 3912, 3912,
3697       981, 1617, 1617, 1617, 1617, 3912, 3912, 1617, 1617, 1002,
3698
3699      1002, 1002, 1002, 3912, 1002, 3912, 1002, 3377, 3377, 3377,
3700      3377, 3377, 3377, 3377, 3377, 3377, 3378, 3378, 3378, 3378,
3701      3378, 3378, 3378, 3378, 3378, 3457, 3457, 3457, 3457, 3457,
3702      3457, 3457, 3457, 3457, 3460, 3460, 3460, 3460, 3460, 3460,
3703      3460, 3460, 3460, 3511, 3511, 3511, 3511, 3511, 3511, 3511,
3704      3511, 3511, 3513, 3513, 3513, 3513, 3513, 3513, 3513, 3513,
3705      3513,  333, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3706      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3707      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3708      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3709
3710      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3711      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3712      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
3713      3912, 3912, 3912, 3912, 3912, 3912
3714     } ;
3715
3716 static const flex_int16_t yy_chk[14537] =
3717     {   0,
3718         0,    3,    3,    3,    4,    4,    4,    5,    5,    5,
3719         6,    6,    6,    7,    7,    7,   11,    3,    9,   12,
3720         4,   10,    0,    5,  383,    9,    6,  411,   10,    7,
3721         8,    8,    8,  338,   11,   13,   13,   12,   14,   14,
3722        13,   13,    0,   14,   14,  339,    8,   17,   17,  338,
3723        13,   15,   15,   14,   15,  342,   15,   16,   16,  580,
3724        16,  339,   16,   18,   18,  411,   15,   21,   21,   21,
3725       580,  342,   16,   22,   22,   22,  383,   23,   23,   23,
3726        24,   24,   24,   21,   25,   25,   25, 1529,  376,   22,
3727       378,  364,   17,   23,  378,  379,   24,  336,  336,  336,
3728
3729        25,  337,  337,  337,  341,  341,  341,  364,   18,   19,
3730        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
3731        19,   19,   19,   19,  379,   19,   19,   19,   19,   19,
3732        26,   26,   26,   27,   27,   27,   28,   28,   28,  379,
3733       376,   29,   29,   29,  376,  545,   26,  379,  388,   27,
3734       396,  495,   28,  545,  396,   19,   19,   29,  361,  361,
3735       361,  369,  369,  369,  388,  392,   19,  385,  385,  385,
3736       806,  495,  392,  806,   19,   20,   20,   20,   20,   20,
3737        20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
3738       397,   20,   20,   20,   20,   20,   30,   30,   30,   31,
3739
3740        31,   31,   32,   32,   32,  277,  277,   33,   33,   33,
3741       277,  500,   30,  541, 1056,   31,  413,  541,   32,  448,
3742       277,   20,   20,   33,  500,   34,   34,   34,   35,   35,
3743        35,  568,   20,   36,   36,   36,   37,   37,   37,  544,
3744        20,   34,  397,  402,   35,   38,   38,   38,  395,   36,
3745       277, 1056,   37,   39,   39,   39,   40,   40,   40,  402,
3746       418,   38,   41,   41,   41,   42,   42,   42,  413,   39,
3747       568,  448,   40,   43,   43,   43,  418, 1530,   41,  568,
3748       544,   42,   44,   44,   44,   45,   45,   45,  544,   43,
3749        46,   46,   46,   47,   47,   47,  395,  375,   44,  569,
3750
3751       395,   45,   48,   48,   48,  460,   46,  375,  569,   47,
3752        49,   49,   49,   50,   50,   50, 1535,  428,   48,   51,
3753        51,   51,   52,   52,   52,  939,   49,  696,  939,   50,
3754        53,   53,   53,  428,  696,   51,  375,  440,   52,   54,
3755        54,   54,   55,   55,   55, 1536,   53,   56,   56,   56,
3756       394,  394,  394,  440,  473,   54,  506,  460,   55,  375,
3757       399,  399,  399,   56,   57,   57,   57,   57,   57,   57,
3758        57,   57,   57,   57,   57,   57,   57,   57,   57,  453,
3759        57,   57,   57,   57,   57,   59,   59,   59,   60,   60,
3760        60,   61,   61,   61,  485,  453,   62,   62,   62,  485,
3761
3762      1261,   59,  423,  644,   60, 1261,  473,   61,  506,  423,
3763        57,   57,   62,   63,   63,   63,   57,  644,  423,   57,
3764       517,  447,  381,  410,  410,  410,  415,  415,  415,   63,
3765        57,   58,   58,   58,   58,   58,   58,   58,   58,   58,
3766        58,   58,   58,   58,   58,   58,  465,   58,   58,   58,
3767        58,   58,   64,   64,   64,   65,   65,   65,   66,   66,
3768        66,  381,  465,   69,   69,   69,  629, 1541,   64,  447,
3769       629,   65,  517,  447,   66, 1542,  381,   58,   58,   69,
3770        70,   70,   70,   58,  530,  459,   58,  422,  422,  422,
3771       425,  425,  425,  434,  434,  434,   70,   58,   67,   67,
3772
3773        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
3774        67,   67,   67,  478,   67,   67,   67,   67,   67,   71,
3775        71,   71,   72,   72,   72,   73,   73,   73,  546,  478,
3776        74,   74,   74,  459, 1543,   71,  530,  459,   72,  645,
3777      1548,   73,  493,  435,   67,   67,   74,   75,   75,   75,
3778       435,  645,   67,  645,   67,  472,   67,  662,  493,  435,
3779        67, 1549, 1566,   75,   67,   68,   68,   68,   68,   68,
3780        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
3781       546,   68,   68,   68,   68,   68,   76,   76,   76,   79,
3782        79,   79,   80,   80,   80,  662,  498,   83,   83,   83,
3783
3784      1570, 1571,   76,  472,  498,   79,  647,  472,   80,  498,
3785       501,   68,   68,   83,   84,   84,   84,  501,  570,   68,
3786       647,   68,  501,   68,  437,  437,  437,   68,  738, 1572,
3787        84,   68,   77,   77,   77,   77,   77,   77,   77,   77,
3788        77,   77,   77,   77,   77,   77,   77,  511,   77,   77,
3789        77,   77,   77,   87,   87,   87,   88,   88,   88,   89,
3790        89,   89,  685,  511,   90,   90,   90,  791, 1577,   87,
3791       570, 1588,   88,  818,  791,   89,  685,  738,   77,   77,
3792        90,   91,   91,   91,   92,   92,   92,  446,  446,  446,
3793       450,  450,  450,  458,  458,  458,  818,   91, 1599, 1600,
3794
3795        92,   77,   78,   78,   78,   78,   78,   78,   78,   78,
3796        78,   78,   78,   78,   78,   78,   78,  522,   78,   78,
3797        78,   78,   78,   93,   93,   93,   94,   94,   94,   97,
3798        97,   97,  797,  522,   98,   98,   98, 1353, 1601,   93,
3799      1602, 1353,   94,  832, 1608,   97,  843,  797,   78,   78,
3800        98,   99,   99,   99,  100,  100,  100,  462,  462,  462,
3801       471,  471,  471,  475,  475,  475,  832,   99, 1609,  843,
3802       100,   78,   81,   81,   81,   81,   81,   81,   81,   81,
3803        81,   81,   81,   81,   81,   81,   81, 1614,   81,   81,
3804        81,   81,   81,  101,  101,  101,  102,  102,  102,  103,
3805
3806       103,  103,  278,  278,  104,  104,  104,  278, 1615,  101,
3807       535,  551,  102, 1620,  488,  103,  584,  278,   81,   81,
3808       104,  488,   81,  487,  487,  487,  535,  551,  352,   81,
3809       488,   81,   82,   82,   82,   82,   82,   82,   82,   82,
3810        82,   82,   82,   82,   82,   82,   82,  278,   82,   82,
3811        82,   82,   82,  107,  107,  107,  108,  108,  108,  109,
3812       109,  109, 1621, 1623,  110,  110,  110, 1624,  584,  107,
3813       648,  352,  108,  817,  563,  109,  663,  352,   82,   82,
3814       110,  352,   82,  490,  490,  490,  352,  817, 1626,   82,
3815       563,   82,   85,   85,   85,   85,   85,   85,   85,   85,
3816
3817        85,   85,   85,   85,   85,   85,   85,  575,   85,   85,
3818        85,   85,   85,  111,  111,  111,  112,  112,  112,  113,
3819       113,  113,  648,  575,  114,  114,  114, 1627,  663,  111,
3820       558,  871,  112, 1628, 1636,  113, 1641,  558,   85,   85,
3821       114,  117,  117,  117,   85,  871,  558,   85,  504,  504,
3822       504,  508,  508,  508,  515,  515,  515,  117,   85,   86,
3823        86,   86,   86,   86,   86,   86,   86,   86,   86,   86,
3824        86,   86,   86,   86,  589,   86,   86,   86,   86,   86,
3825       118,  118,  118,  121,  121,  121,  122,  122,  122,  825,
3826       589,  123,  123,  123, 1650,  825,  118,  595, 1652,  121,
3827
3828      1661,  825,  122, 1666,  595,   86,   86,  123,  124,  124,
3829       124,   86,  700,  595,   86,  519,  519,  519,  528,  528,
3830       528,  532,  532,  532,  124,   86,   95,   95,   95,   95,
3831        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
3832        95,  600,   95,   95,   95,   95,   95,  125,  125,  125,
3833       126,  126,  126,  127,  127,  127,  830,  600,  128,  128,
3834       128, 1674,  830,  125,  700, 1675,  126, 1679,  830,  127,
3835      1684,  725,   95,   95,  128,  131,  131,  131,   95,  543,
3836       543,  543,  548,  548,  548,  557,  557,  557,  560,  560,
3837       560,  131,   95,   96,   96,   96,   96,   96,   96,   96,
3838
3839        96,   96,   96,   96,   96,   96,   96,   96,  611,   96,
3840        96,   96,   96,   96,  132,  132,  132,  133,  133,  133,
3841       134,  134,  134,  725,  611,  135,  135,  135, 1688, 1694,
3842       132, 1700, 1705,  133, 1707, 1715,  134, 1722,  740,   96,
3843        96,  135,  136,  136,  136,   96,  567,  567,  567,  572,
3844       572,  572,  582,  582,  582,  586,  586,  586,  136,   96,
3845       105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
3846       105,  105,  105,  105,  105,  622,  105,  105,  105,  105,
3847       105,  137,  137,  137,  138,  138,  138,  141,  141,  141,
3848       740,  622,  142,  142,  142, 1723, 1726,  137,  606,  995,
3849
3850       138, 1735, 1736,  141, 1737,  606,  105,  105,  142,  143,
3851       143,  143,  105,  995,  606,  105,  594,  594,  594,  597,
3852       597,  597,  605,  605,  605,  143,  105,  106,  106,  106,
3853       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
3854       106,  106,  638,  106,  106,  106,  106,  106,  144,  144,
3855       144,  145,  145,  145,  146,  146,  146,  837,  638,  147,
3856       147,  147, 1740,  837,  144,  617, 1741,  145, 1387,  837,
3857       146, 1742,  617,  106,  106,  147,  148,  148,  148,  106,
3858      1387,  617,  106,  608,  608,  608,  616,  616,  616,  619,
3859       619,  619,  148,  106,  115,  115,  115,  115,  115,  115,
3860
3861       115,  115,  115,  115,  115,  115,  115,  115,  115,  653,
3862       115,  115,  115,  115,  115,  151,  151,  151,  152,  152,
3863       152,  153,  153,  153,  782,  653,  154,  154,  154, 1743,
3864       826,  151,  632,  633,  152, 1744,  668,  153, 1745,  632,
3865       115,  115,  154,  826,  115,  631,  631,  631,  632,  633,
3866       779,  115,  668,  115,  635,  635,  635,  115,  646,  115,
3867       115,  116,  116,  116,  116,  116,  116,  116,  116,  116,
3868       116,  116,  116,  116,  116,  116,  782,  116,  116,  116,
3869       116,  116,  155,  155,  155,  156,  156,  156,  157,  157,
3870       157, 1746,  633,  158,  158,  158,  646, 1747,  155, 1750,
3871
3872      1752,  156,  779,  679,  157, 1731,  779,  116,  116,  158,
3873       646,  116,  642,  642,  642,  650,  650,  650,  116,  679,
3874       116,  661,  661,  661,  116, 1731,  116,  116,  119,  119,
3875       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3876       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3877       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3878       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3879       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3880       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3881       119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
3882
3883       119,  119,  129,  129,  129,  129,  129,  129,  129,  129,
3884       129,  129,  129,  129,  129,  129,  129,  847,  129,  129,
3885       129,  129,  129,  161,  161,  161,  162,  162,  162,  165,
3886       165,  165, 1393,  683,  166,  166,  166,  683,  795,  161,
3887       847,  683,  162, 1753, 1393,  165, 1755, 1514,  129,  129,
3888       166,  665,  665,  665,  673,  673,  673,  699, 1514,  129,
3889       130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
3890       130,  130,  130,  130,  130,  693,  130,  130,  130,  130,
3891       130,  167,  167,  167,  168,  168,  168,  169,  169,  169,
3892       795,  693,  170,  170,  170,  674, 1756,  167,  844,  705,
3893
3894       168, 1758,  674,  169,  844,  699,  130,  130,  170,  699,
3895       844,  674,  676,  676,  676,  705, 1759,  130,  139,  139,
3896       139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
3897       139,  139,  139,  716,  139,  139,  139,  139,  139,  171,
3898       171,  171,  172,  172,  172,  175,  175,  175, 1622,  716,
3899       176,  176,  176, 1760,  838,  171, 1761, 1764,  172, 1765,
3900      1622,  175,  849,  850,  139,  139,  176,  838,  177,  177,
3901       177,  178,  178,  178, 1766,  139,  687,  687,  687,  690,
3902       690,  690,  794,  139,  177,  849,  850,  178,  139,  140,
3903       140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
3904
3905       140,  140,  140,  140,  730,  140,  140,  140,  140,  140,
3906       179,  179,  179,  180,  180,  180,  181,  181,  181, 1767,
3907       730,  182,  182,  182, 1768, 1770,  179, 1773, 1774,  180,
3908       794,  688,  181,  854,  794,  140,  140,  182,  688,  185,
3909       185,  185,  186,  186,  186, 1775,  140,  688,  698,  698,
3910       698,  702,  702,  702,  140,  185,  854, 1777,  186,  140,
3911       149,  149,  149,  149,  149,  149,  149,  149,  149,  149,
3912       149,  149,  149,  149,  149,  745,  149,  149,  149,  149,
3913       149,  189,  189,  189,  190,  190,  190,  193,  193,  193,
3914       997,  745,  194,  194,  194, 1780,  997,  189, 1000,  756,
3915
3916       190, 1781,  997,  193, 1000,  768,  149,  149,  194,  149,
3917      1000,  149,  710,  710,  710,  756, 1782,  149,  713,  713,
3918       713,  768, 1786,  149, 1787, 1791,  149,  150,  150,  150,
3919       150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
3920       150,  150,  787,  150,  150,  150,  150,  150,  197,  197,
3921       197,  198,  198,  198,  199,  199,  199, 1794,  787,  200,
3922       200,  200, 1797, 1798,  197,  711, 1799,  198, 1801,  819,
3923       199, 1804,  711,  150,  150,  200,  150, 1805,  150,  819,
3924       780,  711,  819, 1810,  150,  723,  723,  723, 1811, 1826,
3925       150, 1827, 1835,  150,  159,  159,  159,  159,  159,  159,
3926
3927       159,  159,  159,  159,  159,  159,  159,  159,  159,  780,
3928       159,  159,  159,  159,  159,  203,  203,  203,  204,  204,
3929       204,  205,  205,  205,  780,  833,  206,  206,  206, 1836,
3930      1838,  203,  780, 1860,  204,  833, 1861,  205,  833, 1863,
3931       159,  159,  206,  207,  207,  207,  159,  727,  727,  727,
3932      1864,  159,  737,  737,  737,  742,  742,  742, 1867,  207,
3933      1869, 1872,  159,  160,  160,  160,  160,  160,  160,  160,
3934       160,  160,  160,  160,  160,  160,  160,  160, 1879,  160,
3935       160,  160,  160,  160,  208,  208,  208,  209,  209,  209,
3936       210,  210,  210, 1880,  851,  211,  211,  211, 1881, 1882,
3937
3938       208,  750, 1884,  209, 1890,  853,  210,  851,  750,  160,
3939       160,  211,  212,  212,  212,  160,  998,  750,  853, 1892,
3940       160,  753,  753,  753,  762,  762,  762, 1894,  212,  998,
3941      1895,  160,  163,  163,  163,  163,  163,  163,  163,  163,
3942       163,  163,  163,  163,  163,  163,  163, 1900,  163,  163,
3943       163,  163,  163,  213,  213,  213,  214,  214,  214,  215,
3944       215,  215, 1902,  852,  216,  216,  216,  763, 1903,  213,
3945      1905,  996,  214,  852,  763,  215,  852, 1906,  163,  163,
3946       216,  996, 1907,  763,  996, 1908,  163,  164,  164,  164,
3947       164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
3948
3949       164,  164, 1909,  164,  164,  164,  164,  164,  217,  217,
3950       217,  218,  218,  218,  219,  219,  219, 1912,  999,  220,
3951       220,  220, 1913, 1080,  217, 1914, 1918,  218,  999, 1927,
3952       219,  999, 1930,  164,  164,  220,  765,  765,  765, 1080,
3953      1938,  164,  173,  173,  173,  173,  173,  173,  173,  173,
3954       173,  173,  173,  173,  173,  173,  173, 1940,  173,  173,
3955       173,  173,  173,  221,  221,  221,  222,  222,  222,  225,
3956       225,  225, 1942, 1070,  226,  226,  226, 1943, 1944,  221,
3957      1946, 1951,  222, 1070, 1108,  225, 1070, 1954,  173,  173,
3958       226, 1955,  173,  773,  773,  773,  784,  784,  784,  173,
3959
3960      1108,  173,  793,  793,  793,  796,  796,  796,  173,  174,
3961       174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
3962       174,  174,  174,  174, 1227,  174,  174,  174,  174,  174,
3963       227,  227,  227,  228,  228,  228,  229,  229,  229, 1957,
3964      1227,  230,  230,  230, 1188, 1962,  227, 1967, 1325,  228,
3965      1968, 1972,  229, 1188, 1975,  174,  174,  230, 1978,  174,
3966      1188,  805,  805,  805, 1325, 1981,  174, 1982,  174, 1083,
3967      1083, 1083, 1984, 1083, 1985,  174,  183,  183,  183,  183,
3968       183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
3969       183, 1986,  183,  183,  183,  183,  183,  231,  231,  231,
3970
3971       232,  232,  232,  235,  235,  235, 1974, 1987,  236,  236,
3972       236, 1988, 1989,  231, 1992, 1993,  232, 1995, 1996,  235,
3973       805, 1999,  183,  183,  236, 1092, 1092, 1092,  183, 1092,
3974      2000, 1974, 1092,  183,  184,  184,  184,  184,  184,  184,
3975       184,  184,  184,  184,  184,  184,  184,  184,  184, 2002,
3976       184,  184,  184,  184,  184,  239,  239,  239,  240,  240,
3977       240,  243,  243,  243, 2004, 2007,  244,  244,  244, 2009,
3978      2010,  239, 2011, 2012,  240, 2013, 2015,  243, 2016, 2020,
3979       184,  184,  244, 1096, 1096, 1096,  184, 1118, 1118, 1118,
3980      2023,  184,  187,  187,  187,  187,  187,  187,  187,  187,
3981
3982       187,  187,  187,  187,  187,  187,  187, 2024,  187,  187,
3983       187,  187,  187,  245,  245,  245,  246,  246,  246,  247,
3984       247,  247, 2025, 2032,  248,  248,  248, 2033, 2037,  245,
3985      2038, 2039,  246, 2041, 2045,  247, 2046, 2081,  187,  187,
3986       248,  249,  249,  249,  250,  250,  250, 1096, 2082,  187,
3987      2084, 1118, 2085, 1131, 1131, 1131, 2092,  249, 2093, 2105,
3988       250,  187,  188,  188,  188,  188,  188,  188,  188,  188,
3989       188,  188,  188,  188,  188,  188,  188, 2106,  188,  188,
3990       188,  188,  188,  253,  253,  253,  254,  254,  254,  257,
3991       257,  257, 2107, 2108,  258,  258,  258, 2110, 2118,  253,
3992
3993      2120, 2124,  254, 2127, 2128,  257, 2130, 2131,  188,  188,
3994       258,  259,  259,  259,  260,  260,  260, 1131, 2134,  188,
3995      1134, 1134, 1134, 1370, 1370, 1370, 2135,  259, 2136, 2137,
3996       260,  188,  191,  191,  191,  191,  191,  191,  191,  191,
3997       191,  191,  191,  191,  191,  191,  191, 2141,  191,  191,
3998       191,  191,  191,  261,  261,  261,  262,  262,  262,  263,
3999       263,  263, 2142, 2143,  264,  264,  264, 2148, 2152,  261,
4000      2156, 2158,  262, 2160, 2166,  263, 2173, 2177,  191,  191,
4001       264,  267,  267,  267, 1134, 1159, 1159, 1159, 2178, 1159,
4002      2180, 2187, 1159,  191, 1394, 1394, 1394,  267,  191,  192,
4003
4004       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
4005       192,  192,  192,  192, 2194,  192,  192,  192,  192,  192,
4006       268,  268,  268,  269,  269,  269,  270,  270,  270, 2198,
4007      2200,  271,  271,  271, 2201, 2203,  268, 2193, 2204,  269,
4008      2206, 2207,  270, 2208, 2209,  192,  192,  271,  272,  272,
4009       272, 1178, 1178, 1178, 2193, 1178, 2194, 2211, 1178, 2212,
4010       192, 1748, 1748, 1748,  272,  192,  195,  195,  195,  195,
4011       195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
4012       195, 2216,  195,  195,  195,  195,  195,  273,  273,  273,
4013       274,  274,  274,  281,  281,  281, 2218, 2195,  282,  282,
4014
4015       282, 2219, 2202,  273, 2220, 2221,  274, 2223, 2224,  281,
4016      2225, 2226,  195,  195,  282,  195,  195,  195, 2202, 2229,
4017      1180, 1180, 1180,  195, 1180,  195, 2202, 1180, 1749, 1749,
4018      1749, 2195,  195,  196,  196,  196,  196,  196,  196,  196,
4019       196,  196,  196,  196,  196,  196,  196,  196, 2222,  196,
4020       196,  196,  196,  196,  285,  285,  285,  286,  286,  286,
4021       287,  287,  287, 2231, 2222,  288,  288,  288, 2232, 2233,
4022       285, 2239, 2222,  286, 2241, 1749,  287, 2242, 2243,  196,
4023       196,  288,  196,  196,  196, 2233, 2244, 1190, 1190, 1190,
4024       196, 1190,  196, 2233, 1190, 1751, 1751, 1751, 2245,  196,
4025
4026       201,  201,  201,  201,  201,  201,  201,  201,  201,  201,
4027       201,  201,  201,  201,  201,  781,  201,  201,  201,  201,
4028       201,  289,  289,  289,  290,  290,  290,  291,  291,  291,
4029      2247, 2252,  292,  292,  292, 2280, 2281,  289, 2282, 2286,
4030       290, 2287, 1751,  291,  781,  781,  201,  201,  292,  293,
4031       293,  293,  294,  294,  294, 2293, 2294,  781, 2301, 1193,
4032      1193, 1193, 2302, 1193, 2308,  293, 1193,  781,  294,  201,
4033       202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
4034       202,  202,  202,  202,  202, 2234,  202,  202,  202,  202,
4035       202,  295,  295,  295,  296,  296,  296,  297,  297,  297,
4036
4037      2309, 2234,  298,  298,  298, 2315, 2317,  295, 2318, 2234,
4038       296, 2321, 2327,  297, 2329, 2335,  202,  202,  298,  299,
4039       299,  299,  300,  300,  300, 1207, 1207, 1207, 2339, 1207,
4040      2340, 2343, 1207, 2348, 2350,  299, 2351, 2352,  300,  202,
4041       223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
4042       223,  223,  223,  223,  223, 2353,  223,  223,  223,  223,
4043       223,  301,  301,  301,  302,  302,  302,  303,  303,  303,
4044      2360, 2362,  304,  304,  304, 2364, 2366,  301, 2379, 2380,
4045       302, 2381, 2384,  303, 2385, 2386,  223,  223,  304,  305,
4046       305,  305, 2387, 2386,  223, 2388,  223, 2389,  223, 1754,
4047
4048      1754, 1754,  223, 2391, 2403,  305,  223,  224,  224,  224,
4049       224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
4050       224,  224, 2411,  224,  224,  224,  224,  224,  306,  306,
4051       306,  307,  307,  307,  308,  308,  308, 2390, 2406,  309,
4052       309,  309, 2405, 2407,  306, 2390, 2412,  307, 2405, 2413,
4053       308, 2414, 2415,  224,  224,  309,  310,  310,  310, 2419,
4054      2421,  224, 2422,  224, 2423,  224, 1757, 1757, 1757,  224,
4055      2406, 2428,  310,  224,  233,  233,  233,  233,  233,  233,
4056       233,  233,  233,  233,  233,  233,  233,  233,  233, 2407,
4057       233,  233,  233,  233,  233,  311,  311,  311,  312,  312,
4058
4059       312,  313,  313,  313, 2429, 2431,  314,  314,  314, 2432,
4060      2433,  311, 2434, 2437,  312, 2441, 2442,  313, 2449, 2451,
4061       233,  233,  314,  315,  315,  315,  316,  316,  316, 2458,
4062      2460,  233, 2491, 1211, 1211, 1211, 2492, 1211, 2493,  315,
4063      1211, 2499,  316,  233,  234,  234,  234,  234,  234,  234,
4064       234,  234,  234,  234,  234,  234,  234,  234,  234, 2500,
4065       234,  234,  234,  234,  234,  317,  317,  317,  318,  318,
4066       318,  319,  319,  319, 2504, 2511,  320,  320,  320, 2512,
4067      2516,  317, 2517, 2520,  318, 2523, 2524,  319, 2525, 2526,
4068       234,  234,  320,  323,  323,  323,  324,  324,  324, 2529,
4069
4070      2532,  234, 2536, 1220, 1220, 1220, 2537, 1220, 2538,  323,
4071      1220, 2539,  324,  234,  237,  237,  237,  237,  237,  237,
4072       237,  237,  237,  237,  237,  237,  237,  237,  237, 2551,
4073       237,  237,  237,  237,  237,  325,  325,  325,  326,  326,
4074       326,  327,  327,  327, 2554, 2556,  328,  328,  328, 2559,
4075      2573,  325, 2574, 2575,  326, 2580, 2581,  327, 2582, 2583,
4076       237,  237,  328, 1230, 1230, 1230, 2584, 1230, 2585,  237,
4077      1230,  237, 2586, 2587,  237, 2588, 2589,  643,  380,  237,
4078       237,  238,  238,  238,  238,  238,  238,  238,  238,  238,
4079       238,  238,  238,  238,  238,  238, 2599,  238,  238,  238,
4080
4081       238,  238,  329,  329,  329,  330,  330,  330,  380,  813,
4082       813,  813, 2610,  380, 2611,  643,  643,  643,  329, 2612,
4083       380,  330,  380,  380,  373,  643,  813,  238,  238,  643,
4084       380,  643, 2603, 2615,  373, 2618,  238, 2622,  238, 2602,
4085      2623,  238, 1762, 1762, 1762,  374,  238,  238,  241,  241,
4086       241,  241,  241,  241,  241,  241,  241,  241,  241,  241,
4087       241,  241,  241,  373,  241,  241,  241,  241,  241, 2624,
4088      2627,  879,  879,  879,  374,  374,  373, 2628, 1762, 2603,
4089       373,  374, 2602,  374, 2629, 2632,  373,  374,  879, 2635,
4090      2636,  374, 2637, 2638,  241,  241, 2660,  374,  774, 2661,
4091
4092       241, 2667,  776, 1232, 1232, 1232, 2668, 1232,  774, 2679,
4093      1232, 2680,  776, 2681,  241,  242,  242,  242,  242,  242,
4094       242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
4095      2682,  242,  242,  242,  242,  242, 2662,  774,  901,  901,
4096       901,  776, 2696,  774, 2697, 2662,  902,  902,  902, 2698,
4097       774, 2699,  774,  774,  776,  901, 2719, 2720,  776, 2731,
4098       774,  242,  242,  902,  776,  778, 2732,  242, 2737, 1240,
4099      1240, 1240, 2738, 1240, 2739,  778, 1240, 1763, 1763, 1763,
4100      2740,  242,  251,  251,  251,  251,  251,  251,  251,  251,
4101       251,  251,  251,  251,  251,  251,  251, 2741,  251,  251,
4102
4103       251,  251,  251, 2742,  778,  778,  912,  912,  912,  914,
4104       914,  914, 2743,  928,  928,  928, 2744,  932,  932,  932,
4105       940,  940,  940,  912, 2745, 2746,  914,  778,  251,  251,
4106       928, 2751, 2755,  251,  932, 2758, 2759,  940, 2760,  251,
4107       252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
4108       252,  252,  252,  252,  252, 2763,  252,  252,  252,  252,
4109       252,  950,  950,  950,  951,  951,  951,  960,  960,  960,
4110      2755,  968,  968,  968, 2765,  972,  972,  972,  950, 2766,
4111      2754,  951, 2769, 2770,  960, 2771,  252,  252,  968, 2773,
4112      2774,  252,  972, 1769, 1769, 1769, 2776,  252,  255,  255,
4113
4114       255,  255,  255,  255,  255,  255,  255,  255,  255,  255,
4115       255,  255,  255, 2754,  255,  255,  255,  255,  255,  985,
4116       985,  985, 1011, 1011, 1011, 1017, 1017, 1017, 2797, 1034,
4117      1034, 1034, 2798, 1040, 1040, 1040,  985, 2799, 2800, 1011,
4118      1769, 2803, 1017, 2804,  255,  255, 1034,  255, 2813,  255,
4119      1040, 2814, 1248, 1248, 1248,  255, 1248, 2822, 2823, 1248,
4120      2824, 1771, 1771, 1771, 2832,  255,  256,  256,  256,  256,
4121       256,  256,  256,  256,  256,  256,  256,  256,  256,  256,
4122       256, 2833,  256,  256,  256,  256,  256, 1046, 1046, 1046,
4123      1054, 1054, 1054, 1067, 1067, 1067, 2850, 1091, 1091, 1091,
4124
4125      1094, 1094, 1094, 2851, 1046, 2855, 2856, 1054, 1771, 2857,
4126      1067, 2858,  256,  256, 1091,  256, 2859,  256, 1094, 2860,
4127      1252, 1252, 1252,  256, 1252, 2861, 2862, 1252, 1772, 1772,
4128      1772, 2863, 2864,  256,  265,  265,  265,  265,  265,  265,
4129       265,  265,  265,  265,  265,  265,  265,  265,  265, 2865,
4130       265,  265,  265,  265,  265, 1095, 1095, 1095, 1139, 1139,
4131      1139, 1141, 1141, 1141, 2866, 1140, 1140, 1140, 2868, 1142,
4132      1142, 1142, 2873, 1095, 2874, 1139, 2875, 2878, 1141, 2879,
4133       265,  265, 1140, 2881, 2882,  265, 1142, 1793, 1793, 1793,
4134      2883,  265, 1095, 2885,  265, 1871, 1871, 1871, 2870, 2872,
4135
4136       265,  266,  266,  266,  266,  266,  266,  266,  266,  266,
4137       266,  266,  266,  266,  266,  266, 1140,  266,  266,  266,
4138       266,  266, 1143, 1143, 1143, 1144, 1144, 1144, 1142, 2886,
4139      1140, 1151, 1151, 1151, 1793, 1155, 1155, 1155, 2870, 2906,
4140      1143, 2907, 2872, 1144, 1983, 1983, 1983,  266,  266, 1151,
4141      2909, 2871,  266, 1155, 1990, 1990, 1990, 2913,  266, 2914,
4142      2915,  266, 1144, 1991, 1991, 1991, 2917,  266,  275,  275,
4143       275,  275,  275,  275,  275,  275,  275,  275,  275,  275,
4144       275,  275,  275, 2918,  275,  275,  275,  275,  275, 2871,
4145      1156, 1156, 1156, 1158, 1158, 1158, 2916, 2920, 1161, 1161,
4146
4147      1161, 2921, 2931, 1152, 1152, 1152, 2932, 2916, 1156, 2919,
4148      1158, 1162, 1162, 1162,  275,  275, 1161, 1994, 1994, 1994,
4149      2919, 1152,  275, 2933, 2945,  275, 1997, 1997, 1997, 1162,
4150      2969,  275,  276,  276,  276,  276,  276,  276,  276,  276,
4151       276,  276,  276,  276,  276,  276,  276, 2970,  276,  276,
4152       276,  276,  276, 1152, 1156, 1163, 1163, 1163, 2971, 1162,
4153      1164, 1164, 1164, 1165, 1165, 1165, 1166, 1166, 1166, 1167,
4154      1167, 1167, 1163, 1168, 1168, 1168, 2972, 1164,  276,  276,
4155      1165, 1264, 1264, 1264, 1166, 1264,  276, 1167, 1264,  276,
4156      1168, 1998, 1998, 1998, 2973,  276,  279,  279,  279,  279,
4157
4158       279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
4159       279, 1164,  279,  279,  279,  279,  279, 1169, 1169, 1169,
4160      1170, 1170, 1170, 2937, 2974, 1164, 1171, 1171, 1171, 1172,
4161      1172, 1172, 2975, 2937, 1169, 1173, 1173, 1173, 1170, 2937,
4162      1167, 2976,  279,  279, 1171, 2806, 1172, 2806, 2961,  279,
4163      2977, 2978, 1173, 2985,  279, 1286, 1286, 1286, 2961, 1286,
4164      2806, 2961, 1286,  279,  280,  280,  280,  280,  280,  280,
4165       280,  280,  280,  280,  280,  280,  280,  280,  280, 2982,
4166       280,  280,  280,  280,  280, 2987, 1173, 1174, 1174, 1174,
4167      1175, 1175, 1175, 2989, 1176, 1176, 1176, 1171, 2990, 2991,
4168
4169      1173, 1177, 1177, 1177, 1174, 1186, 1186, 1186, 1175, 2982,
4170       280,  280, 1176, 1179, 1179, 1179, 2993,  280, 1177, 2001,
4171      2001, 2001,  280, 1186, 2006, 2006, 2006, 1776, 1776, 1776,
4172      1179,  280,  283,  283,  283,  283,  283,  283,  283,  283,
4173       283,  283,  283,  283,  283,  283,  283, 2994,  283,  283,
4174       283,  283,  283, 1181, 1181, 1181, 1778, 1778, 1778, 2995,
4175      1182, 1182, 1182, 1776, 3007, 1176, 1183, 1183, 1183, 3012,
4176      1181, 1184, 1184, 1184, 1185, 1185, 1185, 1182,  283,  283,
4177      1292, 1292, 1292, 1183, 1292, 3013, 3014, 1292, 1184,  283,
4178      3015, 1185, 1778, 2003, 2003, 2003, 3016,  283,  284,  284,
4179
4180       284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
4181       284,  284,  284, 1182,  284,  284,  284,  284,  284, 1189,
4182      1189, 1189, 1183, 1184, 1192, 1192, 1192, 1185, 1204, 1204,
4183      1204, 1187, 1187, 1187, 2999, 3000, 1189, 1194, 1194, 1194,
4184      3017, 1192, 3018, 2938,  284,  284, 1204, 2999, 3000, 1187,
4185      2008, 2008, 2008, 2938, 1194,  284, 3019, 2003, 2983, 2938,
4186      2005, 2005, 2005,  284,  321,  321,  321,  321,  321,  321,
4187       321,  321,  321,  321,  321,  321,  321,  321,  321, 1187,
4188       321,  321,  321,  321,  321, 1206, 1206, 1206, 1205, 1205,
4189      1205, 1208, 1208, 1208, 1209, 1209, 1209, 1210, 1210, 1210,
4190
4191      2983, 3020, 1206, 1214, 1214, 1214, 1205, 2005, 3021, 1208,
4192       321,  321, 1209, 2807, 1210, 2807,  321, 2984, 3022,  321,
4193      3033, 1214, 1308, 1308, 1308, 3035, 1308, 3039, 2807, 1308,
4194       321,  322,  322,  322,  322,  322,  322,  322,  322,  322,
4195       322,  322,  322,  322,  322,  322, 1205,  322,  322,  322,
4196       322,  322, 1215, 1215, 1215, 1209, 1219, 1219, 1219, 2984,
4197      3040, 1224, 1224, 1224, 1225, 1225, 1225, 1229, 1229, 1229,
4198      1215, 3041, 3042, 1219, 1231, 1231, 1231,  322,  322, 1224,
4199      3043, 3044, 1225,  322, 1229, 3046,  322, 3061, 1233, 1233,
4200      1233, 1231, 3062, 3064, 1234, 1234, 1234,  322,  370, 1236,
4201
4202      1236, 1236, 1237, 1237, 1237,  370, 1233, 3065, 1215, 1239,
4203      1239, 1239, 1234, 3076,  370,  370, 3077, 1236, 3078, 3079,
4204      1237, 1244, 1244, 1244, 3081, 1225, 1239, 2014, 2014, 2014,
4205      1245, 1245, 1245, 3082, 3056, 1247, 1247, 1247, 3083, 1244,
4206      1249, 1249, 1249,  370,  370,  370,  370, 3056, 1245, 3084,
4207       370,  370, 1247,  370,  370, 1234, 2962,  370, 1249,  370,
4208       370,  370, 1237, 1250, 1250, 1250, 2962,  370,  372, 2962,
4209      1251, 1251, 1251, 1254, 1254, 1254, 3094, 1255, 1255, 1255,
4210      3096, 1250, 3098, 3099,  372,  372, 1245, 1251, 1258, 1258,
4211      1258, 1254, 1259, 1259, 1259, 1255, 2017, 2017, 2017, 3101,
4212
4213      1263, 1263, 1263, 2018, 2018, 2018, 1258, 1268, 1268, 1268,
4214      1259, 3091, 2182,  372,  372,  372,  372, 1263, 2182, 1250,
4215       372,  372, 2182,  372,  372, 1268, 3092,  372, 2182,  372,
4216       372,  372, 1265, 1265, 1265, 3057, 3103,  372, 1255, 1269,
4217      1269, 1269, 1272, 1272, 1272, 1273, 1273, 1273, 3057, 1265,
4218      1283, 1283, 1283, 1259, 1284, 1284, 1284, 1269, 3107, 3091,
4219      1272, 3108, 3092, 1273, 1285, 1285, 1285, 3063, 1283, 1288,
4220      1288, 1288, 1284, 3066, 1289, 1289, 1289, 1291, 1291, 1291,
4221      3063, 1285, 1293, 1293, 1293, 3109, 3066, 1288, 1295, 1295,
4222      1295, 1269, 1289, 3110, 1291, 1299, 1299, 1299, 3114, 1293,
4223
4224      1301, 1301, 1301, 1273, 3122, 1295, 1300, 1300, 1300, 1302,
4225      1302, 1302, 3123, 1299, 1303, 1303, 1303, 1301, 1284, 1304,
4226      1304, 1304, 3124, 3125, 1300, 3126, 1302, 1305, 1305, 1305,
4227      3127, 1303, 1307, 1307, 1307, 3128, 3129, 1304, 1289, 1309,
4228      1309, 1309, 1310, 1310, 1310, 1305, 1313, 1313, 1313, 1307,
4229      3130, 1314, 1314, 1314, 1300, 1314, 3131, 1309, 1314, 3132,
4230      1310, 3136, 3139, 1313, 1316, 1316, 1316, 1317, 1317, 1317,
4231      1319, 1319, 1319, 1303, 1320, 1320, 1320, 3140, 1320, 3141,
4232      3142, 1320, 1316, 3143, 3144, 1317, 3145, 1319, 1305, 1323,
4233      1323, 1323, 1324, 1324, 1324, 1327, 1327, 1327, 1328, 1328,
4234
4235      1328, 3148, 1328, 1310, 3152, 1328, 3153, 1323, 3154, 3155,
4236      1324, 3156, 1327, 1331, 1331, 1331, 1332, 1332, 1332, 1337,
4237      1337, 1337, 1338, 1338, 1338, 1339, 1339, 1339, 1340, 1340,
4238      1340, 1331, 1340, 1317, 1332, 1340, 3157, 1337, 3158, 3159,
4239      1338, 3160, 1339, 1342, 1342, 1342, 1343, 1343, 1343, 1344,
4240      1344, 1344, 1345, 1345, 1345, 1346, 1346, 1346, 1324, 3161,
4241      3162, 1342, 3163, 3175, 1343, 3176, 1344, 3177, 3178, 1345,
4242      3179, 3180, 1346, 1347, 1347, 1347, 1348, 1348, 1348, 3181,
4243      1332, 1349, 1349, 1349, 3182, 3192, 1338, 1366, 1366, 1366,
4244      1347, 1362, 1362, 1362, 1348, 1362, 3196, 3199, 1362, 1349,
4245
4246      1367, 1367, 1367, 1345, 3187, 1366, 3200, 1343, 1369, 1369,
4247      1369, 1414, 1414, 1414, 1418, 1418, 1418, 1345, 1367, 3201,
4248      1415, 1415, 1415, 3202, 1415, 3203, 1369, 1415, 1414, 3204,
4249      3205, 1418, 1347, 1419, 1419, 1419, 3206, 1419, 3207, 3187,
4250      1419, 3208, 1349, 1421, 1421, 1421, 1422, 1422, 1422, 1424,
4251      1424, 1424, 1427, 1427, 1427, 1431, 1431, 1431, 1432, 1432,
4252      1432, 1421, 3209, 3210, 1422, 3215, 3223, 1424, 3224, 1427,
4253      1434, 1434, 1434, 1431, 3225, 3226, 1432, 1437, 1437, 1437,
4254      1438, 1438, 1438, 1440, 1440, 1440, 3227, 3228, 1434, 1442,
4255      1442, 1442, 3229, 1442, 3230, 1437, 1442, 3231, 1438, 3232,
4256
4257      3238, 1440, 1446, 1446, 1446, 1447, 1447, 1447, 1449, 1449,
4258      1449, 3239, 3241, 1424, 1450, 1450, 1450, 1451, 1451, 1451,
4259      1446, 1451, 3242, 1447, 1451, 3244, 1449, 1454, 1454, 1454,
4260      3245, 1450, 1456, 1456, 1456, 3246, 1434, 1440, 1455, 1455,
4261      1455, 3247, 1455, 3248, 1454, 1455, 1457, 1457, 1457, 3249,
4262      1456, 1459, 1459, 1459, 1460, 1460, 1460, 3250, 1449, 1461,
4263      1461, 1461, 3251, 1461, 1457, 3252, 1461, 3253, 3254, 1459,
4264      3255, 1460, 1462, 1462, 1462, 1463, 1463, 1463, 3256, 1463,
4265      3259, 3260, 1463, 1464, 1464, 1464, 1465, 1465, 1465, 1462,
4266      1467, 1467, 1467, 1468, 1468, 1468, 1469, 1469, 1469, 3261,
4267
4268      1469, 1464, 3262, 1469, 1465, 1472, 1472, 1472, 1467, 3263,
4269      1468, 3264, 3265, 1459, 1473, 1473, 1473, 3266, 1473, 3268,
4270      3269, 1473, 1472, 1474, 1474, 1474, 1475, 1475, 1475, 1477,
4271      1477, 1477, 1478, 1478, 1478, 3271, 1478, 3272, 3273, 1478,
4272      3275, 1474, 3277, 3278, 1475, 3279, 3280, 1477, 3281, 1481,
4273      1481, 1481, 1467, 1481, 3282, 3283, 1481, 1484, 1484, 1484,
4274      1485, 1485, 1485, 3284, 1485, 3292, 3295, 1485, 1490, 1490,
4275      1490, 1491, 1491, 1491, 1484, 1493, 1493, 1493, 1497, 1497,
4276      1497, 3297, 1497, 3298, 3299, 1497, 1490, 3300, 3285, 1491,
4277      3301, 1477, 3302, 1493, 1500, 1500, 1500, 1501, 1501, 1501,
4278
4279      3303, 1501, 3304, 3305, 1501, 1504, 1504, 1504, 1505, 1505,
4280      1505, 1500, 1505, 3306, 3307, 1505, 1515, 1515, 1515, 1516,
4281      1516, 1516, 1504, 3308, 1493, 1518, 1518, 1518, 1519, 1519,
4282      1519, 3285, 1519, 3311, 1515, 1519, 3315, 1516, 1522, 1522,
4283      1522, 3316, 3318, 1518, 1523, 1523, 1523, 1525, 1525, 1525,
4284      1526, 1526, 1526, 3319, 1526, 3320, 1522, 1526, 1531, 1531,
4285      1531, 3322, 1523, 3323, 3328, 1525, 1532, 1532, 1532, 1534,
4286      1534, 1534, 1537, 1537, 1537, 3329, 1531, 3330, 1538, 1538,
4287      1538, 3331, 1538, 3332, 1532, 1538, 3333, 1534, 3334, 1537,
4288      3335, 3336, 1518, 1544, 1544, 1544, 1545, 1545, 1545, 1547,
4289
4290      1547, 1547, 1550, 1550, 1550, 3337, 3338, 1525, 1551, 1551,
4291      1551, 1544, 1551, 3339, 1545, 1551, 3340, 1547, 3341, 1550,
4292      1554, 1554, 1554, 3342, 1554, 3343, 3344, 1554, 1557, 1557,
4293      1557, 1558, 1558, 1558, 1534, 1560, 1560, 1560, 1561, 1561,
4294      1561, 1562, 1562, 1562, 3348, 3349, 1557, 3350, 3351, 1558,
4295      1563, 1563, 1563, 1560, 3352, 1561, 1565, 1565, 1565, 1562,
4296      1573, 1573, 1573, 3353, 1547, 1567, 1567, 1567, 1563, 1567,
4297      3354, 3355, 1567, 3358, 1565, 1574, 1574, 1574, 1573, 1576,
4298      1576, 1576, 1578, 1578, 1578, 3359, 1578, 3360, 3361, 1578,
4299      1581, 1581, 1581, 1574, 1582, 1582, 1582, 1576, 3362, 3363,
4300
4301      1560, 1584, 1584, 1584, 3365, 3366, 1565, 3367, 1581, 1585,
4302      1585, 1585, 1582, 1585, 3368, 3369, 1585, 3370, 3371, 1584,
4303      1589, 1589, 1589, 1590, 1590, 1590, 1592, 1592, 1592, 1593,
4304      1593, 1593, 1594, 1594, 1594, 1595, 1595, 1595, 1589, 1576,
4305      3372, 1590, 3382, 3384, 1592, 3386, 1593, 3388, 3390, 1594,
4306      1596, 1596, 1596, 1595, 1598, 1598, 1598, 2183, 1603, 1603,
4307      1603, 1584, 1603, 2183, 3392, 1603, 3373, 2183, 1596, 1606,
4308      1606, 1606, 1598, 2183, 1607, 1607, 1607, 1592, 1607, 3396,
4309      1594, 1607, 1610, 1610, 1610, 3375, 1606, 1611, 1611, 1611,
4310      1613, 1613, 1613, 1616, 1616, 1616, 1617, 1617, 1617, 3375,
4311
4312      1610, 1619, 1619, 1619, 3402, 1611, 3403, 3376, 1613, 3405,
4313      3105, 1616, 3373, 3406, 1617, 1625, 1625, 1625, 3376, 1619,
4314      3105, 1598, 1629, 1629, 1629, 1630, 1630, 1630, 1632, 1632,
4315      1632, 3408, 1625, 3398, 1633, 1633, 1633, 3105, 1633, 3419,
4316      1629, 1633, 1613, 1630, 3421, 3398, 1632, 3423, 3105, 1619,
4317      1637, 1637, 1637, 1638, 1638, 1638, 1640, 1640, 1640, 1642,
4318      1642, 1642, 3424, 1642, 3427, 3428, 1642, 3431, 1637, 3399,
4319      3433, 1638, 3435, 3437, 1640, 1645, 1645, 1645, 1646, 1646,
4320      1646, 3399, 1646, 3439, 3413, 1646, 1647, 1647, 1647, 1632,
4321      3441, 3442, 1645, 1648, 1648, 1648, 3413, 1649, 1649, 1649,
4322
4323      3413, 1649, 3444, 1647, 1649, 1651, 1651, 1651, 3445, 3449,
4324      1648, 1653, 1653, 1653, 1654, 1654, 1654, 1640, 1656, 1656,
4325      1656, 3451, 1651, 1657, 1657, 1657, 1658, 1658, 1658, 1653,
4326      1658, 3453, 1654, 1658, 3455, 3459, 1656, 1659, 1659, 1659,
4327      1657, 1660, 1660, 1660, 3456, 1660, 3458, 3458, 1660, 1662,
4328      1662, 1662, 3457, 3460, 1659, 1663, 1663, 1663, 1665, 1665,
4329      1665, 1667, 1667, 1667, 3460, 1667, 3457, 1662, 1667, 1670,
4330      1670, 1670, 3461, 1663, 3469, 3470, 1665, 3473, 1656, 1671,
4331      1671, 1671, 1673, 1673, 1673, 3456, 3474, 1670, 1676, 1676,
4332      1676, 3476, 1676, 3480, 3474, 1676, 3473, 1671, 3475, 3476,
4333
4334      1673, 1680, 1680, 1680, 1681, 1681, 1681, 3481, 1683, 1683,
4335      1683, 1685, 1685, 1685, 3482, 1685, 3483, 3475, 1685, 1680,
4336      3487, 3490, 1681, 3485, 3488, 1665, 1683, 1689, 1689, 1689,
4337      1690, 1690, 1690, 1691, 1691, 1691, 1693, 1693, 1693, 1695,
4338      1695, 1695, 3485, 3488, 1689, 1699, 1699, 1699, 1690, 1673,
4339      3492, 1691, 3486, 3493, 1693, 3489, 1695, 1696, 1696, 1696,
4340      3486, 1696, 1699, 3489, 1696, 1701, 1701, 1701, 3494, 1683,
4341      1702, 1702, 1702, 1704, 1704, 1704, 1706, 1706, 1706, 3495,
4342      1708, 1708, 1708, 1701, 1709, 1709, 1709, 3496, 1702, 3497,
4343      3511, 1704, 3512, 1706, 1711, 1711, 1711, 1693, 1708, 1716,
4344
4345      1716, 1716, 1709, 1712, 1712, 1712, 1699, 1712, 3513, 3515,
4346      1712, 3516, 1711, 1717, 1717, 1717, 3521, 1716, 1719, 1719,
4347      1719, 1704, 1720, 1720, 1720, 1721, 1721, 1721, 3522, 1721,
4348      3523, 1717, 1721, 1724, 1724, 1724, 1719, 3524, 3525, 1720,
4349      3526, 3527, 1711, 3528, 1725, 1725, 1725, 3529, 1725, 3530,
4350      1724, 1725, 1727, 1727, 1727, 1728, 1728, 1728, 1730, 1730,
4351      1730, 1732, 1732, 1732, 1738, 1738, 1738, 1779, 1779, 1779,
4352      1727, 3531, 3532, 1728, 3535, 3536, 1730, 3537, 1719, 1732,
4353      1732, 3538, 1738, 1783, 1783, 1783, 3539, 1783, 3540, 3541,
4354      1783, 1788, 1788, 1788, 3542, 1788, 3543, 3544, 1788, 1792,
4355
4356      1792, 1792, 3547, 1779, 1795, 1795, 1795, 1796, 1796, 1796,
4357      3106, 1796, 3548, 3549, 1796, 3550, 3551, 1792, 1730, 3552,
4358      3106, 1795, 1800, 1800, 1800, 1802, 1802, 1802, 1803, 1803,
4359      1803, 1806, 1806, 1806, 1807, 1807, 1807, 3106, 1807, 3554,
4360      1800, 1807, 1802, 1812, 1812, 1812, 1803, 1812, 3106, 1806,
4361      1812, 1815, 1815, 1815, 1816, 1816, 1816, 3555, 1816, 3556,
4362      1792, 1816, 3560, 1819, 1819, 1819, 3561, 1819, 3558, 1815,
4363      1819, 1822, 1822, 1822, 1823, 1823, 1823, 3562, 1823, 3563,
4364      3558, 1823, 3564, 1800, 1831, 1831, 1831, 3565, 1806, 1822,
4365      1828, 1828, 1828, 3566, 1828, 1803, 3559, 1828, 3567, 1815,
4366
4367      3568, 3570, 1831, 1832, 1832, 1832, 3575, 1832, 3559, 3576,
4368      1832, 1837, 1837, 1837, 3577, 1839, 1839, 1839, 3578, 1822,
4369      1840, 1840, 1840, 1841, 1841, 1841, 3579, 3580, 1837, 1842,
4370      1842, 1842, 1831, 1839, 1843, 1843, 1843, 1840, 3581, 3582,
4371      1841, 1844, 1844, 1844, 3583, 1844, 1842, 3584, 1844, 3588,
4372      3589, 1843, 1845, 1845, 1845, 3591, 1845, 3593, 3594, 1845,
4373      3414, 1848, 1848, 1848, 1849, 1849, 1849, 1850, 1850, 1850,
4374      3598, 1839, 3414, 1851, 1851, 1851, 3414, 1842, 1848, 3599,
4375      3600, 1849, 3601, 3594, 1850, 1852, 1852, 1852, 3602, 1841,
4376      1851, 1853, 1853, 1853, 1854, 1854, 1854, 1855, 1855, 1855,
4377
4378      3603, 3604, 1852, 1856, 1856, 1856, 3605, 3606, 1853, 3166,
4379      3607, 1854, 1849, 1848, 1855, 1857, 1857, 1857, 3608, 3166,
4380      1856, 1851, 1858, 1858, 1858, 1859, 1859, 1859, 1862, 1862,
4381      1862, 3609, 1857, 1865, 1865, 1865, 3166, 1850, 3612, 3613,
4382      1858, 3614, 3615, 1859, 3616, 3617, 1862, 3166, 3618, 1852,
4383      1865, 1853, 1866, 1866, 1866, 3619, 1866, 3620, 3621, 1866,
4384      1868, 1868, 1868, 3624, 3625, 1856, 3627, 1855, 1870, 1870,
4385      1870, 1873, 1873, 1873, 3628, 3626, 1857, 1868, 1859, 1875,
4386      1875, 1875, 1876, 1876, 1876, 1862, 1870, 1858, 1873, 1874,
4387      1874, 1874, 3629, 1874, 3626, 3630, 1874, 1875, 3631, 1876,
4388
4389      3632, 1877, 1877, 1877, 3633, 1877, 3634, 1868, 1877, 1878,
4390      1878, 1878, 1883, 1883, 1883, 1885, 1885, 1885, 1886, 1886,
4391      1886, 1887, 1887, 1887, 1888, 1888, 1888, 1878, 3635, 3636,
4392      1883, 3637, 3638, 1885, 1870, 1886, 1889, 1889, 1889, 1887,
4393      1889, 1888, 3639, 1889, 3640, 1875, 1891, 1891, 1891, 1893,
4394      1893, 1893, 1896, 1896, 1896, 3641, 1896, 3642, 3644, 1896,
4395      1899, 1899, 1899, 3645, 1891, 3646, 1893, 1878, 3647, 1883,
4396      3651, 3652, 1885, 1887, 1901, 1901, 1901, 1899, 1904, 1904,
4397      1904, 1910, 1910, 1910, 1911, 1911, 1911, 3653, 1911, 3654,
4398      3651, 1911, 1901, 1915, 1915, 1915, 1904, 3655, 1910, 1916,
4399
4400      1916, 1916, 1917, 1917, 1917, 3656, 1891, 1899, 1919, 1919,
4401      1919, 1915, 1919, 3657, 3658, 1919, 1916, 1922, 1922, 1922,
4402      1917, 1923, 1923, 1923, 3659, 1923, 3660, 3661, 1923, 1924,
4403      1924, 1924, 3662, 1924, 1922, 3663, 1924, 3664, 1901, 1928,
4404      1928, 1928, 3665, 1915, 1904, 1929, 1929, 1929, 3666, 1929,
4405      3667, 3668, 1929, 1931, 1931, 1931, 1928, 3669, 1932, 1932,
4406      1932, 3670, 1932, 3671, 1917, 1932, 1935, 1935, 1935, 3673,
4407      1935, 1931, 3674, 1935, 1939, 1939, 1939, 1941, 1941, 1941,
4408      1945, 1945, 1945, 1947, 1947, 1947, 1948, 1948, 1948, 1949,
4409      1949, 1949, 1939, 1949, 3675, 1941, 1949, 3676, 1945, 3677,
4410
4411      1947, 3678, 3680, 1948, 1931, 1950, 1950, 1950, 1952, 1952,
4412      1952, 1953, 1953, 1953, 3167, 1953, 3681, 3682, 1953, 3684,
4413      1956, 1956, 1956, 1950, 3167, 1952, 3685, 3686, 1958, 1958,
4414      1958, 3672, 1959, 1959, 1959, 3688, 1959, 3672, 1956, 1959,
4415      1939, 3167, 3689, 1941, 1945, 1958, 1960, 1960, 1960, 1961,
4416      1961, 1961, 3167, 1963, 1963, 1963, 3690, 1964, 1964, 1964,
4417      3692, 1964, 3694, 1960, 1964, 3695, 3696, 1961, 3697, 1950,
4418      1956, 1963, 1969, 1969, 1969, 3699, 1969, 3700, 3702, 1969,
4419      1973, 1973, 1973, 1976, 1976, 1976, 2019, 2019, 2019, 2021,
4420      2021, 2021, 2022, 2022, 2022, 2026, 2026, 2026, 1973, 1961,
4421
4422      3703, 1976, 2027, 2027, 2027, 1963, 2028, 2028, 2028, 2029,
4423      2029, 2029, 2030, 2030, 2030, 2031, 2031, 2031, 2034, 2034,
4424      2034, 3705, 2034, 2028, 3706, 2034, 2029, 3708, 3709, 2030,
4425      3693, 3711, 1973, 2031, 3712, 1976, 2021, 2040, 2040, 2040,
4426      2042, 2042, 2042, 3713, 3693, 2043, 2043, 2043, 3714, 2043,
4427      2019, 1976, 2043, 3715, 3716, 2040, 3717, 2042, 3718, 2026,
4428      2044, 2044, 2044, 2047, 2047, 2047, 2027, 2048, 2048, 2048,
4429      2049, 2049, 2049, 2050, 2050, 2050, 2030, 3719, 2044, 3720,
4430      3721, 2047, 2031, 3722, 2048, 3724, 3726, 2049, 2051, 2051,
4431      2051, 2050, 2052, 2052, 2052, 3728, 2053, 2053, 2053, 3729,
4432
4433      3730, 2040, 2054, 2054, 2054, 3731, 2051, 3732, 3733, 2052,
4434      3734, 3735, 2047, 2053, 2055, 2055, 2055, 3741, 3743, 2044,
4435      2054, 3745, 2056, 2056, 2056, 2057, 2057, 2057, 2058, 2058,
4436      2058, 2055, 2058, 3747, 1513, 2058, 1512, 3761, 2050, 2056,
4437      3736, 3761, 2057, 2059, 2059, 2059, 2060, 2060, 2060, 2061,
4438      2061, 2061, 3737, 2051, 2062, 2062, 2062, 3844, 2062, 1511,
4439      2059, 2062, 1510, 3748, 2060, 3756, 2061, 2054, 2063, 2063,
4440      2063, 2064, 2064, 2064, 2065, 2065, 2065, 3736, 2065, 3749,
4441      2056, 2065, 2068, 2068, 2068, 2063, 3772, 3844, 2064, 3737,
4442      2069, 2069, 2069, 2070, 2070, 2070, 2071, 2071, 2071, 2068,
4443
4444      2072, 2072, 2072, 2073, 2073, 2073, 2060, 2069, 3754, 3756,
4445      2070, 3748, 1509, 2071, 2074, 2074, 2074, 2072, 1508, 1507,
4446      2073, 2075, 2075, 2075, 3772, 2075, 3757, 3749, 2075, 3768,
4447      3755, 2074, 2076, 2076, 2076, 2064, 2077, 2077, 2077, 1506,
4448      2069, 2078, 2078, 2078, 3763, 3784, 2068, 2072, 3763, 2076,
4449      2079, 2079, 2079, 2077, 2071, 3774, 3754, 2073, 2078, 2080,
4450      2080, 2080, 2083, 2083, 2083, 2086, 2086, 2086, 2079, 2086,
4451      3757, 3760, 2086, 2089, 2089, 2089, 3768, 2080, 3755, 3760,
4452      2083, 2090, 2090, 2090, 2077, 2091, 2091, 2091, 3762, 2091,
4453      2089, 3784, 2091, 3774, 1496, 2078, 3762, 3780, 2090, 2094,
4454
4455      2094, 2094, 2095, 2095, 2095, 2096, 2096, 2096, 2100, 2100,
4456      2100, 3776, 2104, 2104, 2104, 2080, 2079, 2094, 2097, 2097,
4457      2097, 3786, 2097, 1495, 3764, 2097, 2100, 2101, 2101, 2101,
4458      2104, 2101, 3764, 3780, 2101, 2109, 2109, 2109, 2111, 2111,
4459      2111, 2112, 2112, 2112, 2113, 2113, 2113, 3782, 2113, 3765,
4460      1494, 2113, 3776, 2109, 3789, 2100, 2111, 3765, 2112, 2114,
4461      2114, 2114, 2115, 2115, 2115, 3777, 2115, 3786, 3766, 2115,
4462      2119, 2119, 2119, 2121, 2121, 2121, 3766, 2114, 3767, 2104,
4463      2122, 2122, 2122, 3782, 2122, 2111, 3767, 2122, 2119, 3779,
4464      2121, 2123, 2123, 2123, 2125, 2125, 2125, 2126, 2126, 2126,
4465
4466      3789, 2126, 3769, 3777, 2126, 2129, 2129, 2129, 2123, 1489,
4467      3769, 2125, 2132, 2132, 2132, 1488, 3770, 2114, 2133, 2133,
4468      2133, 3771, 3785, 2129, 2138, 2138, 2138, 3779, 2138, 3771,
4469      2132, 2138, 2144, 2144, 2144, 3817, 2119, 2145, 2145, 2145,
4470      2146, 2146, 2146, 3817, 2146, 3758, 3773, 2146, 3791, 3758,
4471      2144, 2147, 2147, 2147, 2145, 2149, 2149, 2149, 3785, 2149,
4472      1487, 3787, 2149, 3770, 3819, 2132, 2153, 2153, 2153, 2147,
4473      2153, 3775, 3819, 2153, 2157, 2157, 2157, 2159, 2159, 2159,
4474      2161, 2161, 2161, 3778, 2144, 2162, 2162, 2162, 2163, 2163,
4475      2163, 1486, 2157, 3773, 3791, 2159, 3758, 3787, 2161, 2164,
4476
4477      2164, 2164, 2162, 3788, 3790, 2163, 3781, 2165, 2165, 2165,
4478      2167, 2167, 2167, 2168, 2168, 2168, 2164, 2168, 3775, 3792,
4479      2168, 2172, 2172, 2172, 3778, 2165, 3783, 2167, 3820, 2159,
4480      3759, 3794, 2161, 3804, 3759, 2157, 2169, 2169, 2169, 2172,
4481      2169, 3788, 3790, 2169, 2174, 2174, 2174, 3781, 2174, 1471,
4482      3800, 2174, 3792, 3793, 2163, 2165, 2179, 2179, 2179, 2181,
4483      2181, 2181, 3820, 2181, 3794, 3832, 2181, 3783, 3804, 2172,
4484      2184, 2184, 2184, 3795, 2179, 2185, 2185, 2185, 1470, 2185,
4485      3797, 3759, 2185, 2186, 2186, 2186, 3800, 2184, 2188, 2188,
4486      2188, 3793, 2189, 2189, 2189, 2190, 2190, 2190, 2191, 2191,
4487
4488      2191, 2186, 2192, 2192, 2192, 3796, 2188, 3832, 2179, 2189,
4489      3798, 3795, 2190, 3797, 3796, 2191, 2197, 2197, 2197, 3798,
4490      2192, 2199, 2199, 2199, 2205, 2205, 2205, 2210, 2210, 2210,
4491      2213, 2213, 2213, 2197, 3821, 2186, 3799, 3805, 2192, 2214,
4492      2214, 2214, 2215, 2215, 2215, 2217, 2217, 2217, 2227, 2227,
4493      2227, 2228, 2228, 2228, 2230, 2230, 2230, 2235, 2235, 2235,
4494      3825, 3802, 2191, 2236, 2236, 2236, 3822, 2236, 3185, 3799,
4495      2236, 2237, 2237, 2237, 2235, 2238, 2238, 2238, 3185, 2238,
4496      3805, 3821, 2238, 2240, 2240, 2240, 1453, 3806, 2237, 2246,
4497      2246, 2246, 2248, 2248, 2248, 3185, 2248, 3802, 3825, 2248,
4498
4499      3822, 2240, 2251, 2251, 2251, 3834, 3185, 2246, 2253, 2253,
4500      2253, 2254, 2254, 2254, 2255, 2255, 2255, 2256, 2256, 2256,
4501      2251, 2256, 3806, 3846, 2256, 2253, 2257, 2257, 2257, 2254,
4502      3829, 2255, 2258, 2258, 2258, 3807, 2258, 1452, 3186, 2258,
4503      2259, 2259, 2259, 2257, 2260, 2260, 2260, 3834, 3186, 2240,
4504      2261, 2261, 2261, 3846, 2251, 2312, 2312, 2312, 2259, 2262,
4505      2262, 2262, 2260, 2262, 3823, 3186, 2262, 2261, 2263, 2263,
4506      2263, 3829, 2254, 2264, 2264, 2264, 3186, 2264, 3807, 1445,
4507      2264, 2265, 2265, 2265, 3809, 2263, 2266, 2266, 2266, 2267,
4508      2267, 2267, 3808, 2267, 3810, 3801, 2267, 3811, 3864, 2265,
4509
4510      2268, 2268, 2268, 2266, 3801, 2259, 2269, 2269, 2269, 2260,
4511      2269, 3823, 3803, 2269, 2272, 2272, 2272, 2268, 2273, 2273,
4512      2273, 3803, 2273, 3845, 1441, 2273, 2274, 2274, 2274, 3824,
4513      3809, 2272, 2275, 2275, 2275, 3808, 2275, 3810, 3824, 2275,
4514      2278, 2278, 2278, 3811, 2274, 3864, 2265, 2279, 2279, 2279,
4515      1436, 2279, 3813, 3815, 2279, 1435, 3845, 2278, 2283, 2283,
4516      2283, 2284, 2284, 2284, 3812, 2284, 3857, 3814, 2284, 2285,
4517      2285, 2285, 2288, 2288, 2288, 2283, 2288, 1430, 2274, 2288,
4518      2291, 2291, 2291, 2292, 2292, 2292, 2285, 2292, 3813, 3815,
4519      2292, 2295, 2295, 2295, 2296, 2296, 2296, 2291, 2297, 2297,
4520
4521      2297, 2298, 2298, 2298, 2299, 2299, 2299, 3826, 1429, 2295,
4522      3812, 3816, 2296, 3814, 3857, 2297, 3826, 3827, 2298, 2303,
4523      2303, 2303, 2299, 2304, 2304, 2304, 3859, 2304, 3828, 3860,
4524      2304, 2305, 2305, 2305, 3903, 2305, 2303, 3860, 2305, 2310,
4525      2310, 2310, 3830, 2295, 2313, 2313, 2313, 3816, 2296, 2314,
4526      2314, 2314, 2316, 2316, 2316, 3827, 3818, 2310, 2319, 2319,
4527      2319, 3833, 2313, 2322, 2322, 2322, 3828, 2314, 3836, 2316,
4528      2298, 2323, 2323, 2323, 3859, 2323, 2319, 1428, 2323, 1426,
4529      3830, 2322, 3903, 2326, 2326, 2326, 2328, 2328, 2328, 2330,
4530      2330, 2330, 3818, 2330, 3837, 3838, 2330, 3833, 1425, 2316,
4531
4532      2314, 2326, 2313, 3862, 2328, 2333, 2333, 2333, 2334, 2334,
4533      2334, 3862, 2334, 2322, 3836, 2334, 2336, 2336, 2336, 1420,
4534      2336, 3839, 2333, 2336, 2341, 2341, 2341, 2344, 2344, 2344,
4535      2326, 2345, 2345, 2345, 2346, 2346, 2346, 2347, 2347, 2347,
4536      3837, 3838, 2341, 1417, 2344, 2349, 2349, 2349, 3831, 2345,
4537      2354, 2354, 2354, 2355, 2355, 2355, 1416, 2355, 3847, 3840,
4538      2355, 2358, 2358, 2358, 2361, 2361, 2361, 3839, 2354, 2363,
4539      2363, 2363, 2365, 2365, 2365, 2367, 2367, 2367, 3835, 2358,
4540      3841, 2361, 2368, 2368, 2368, 3852, 3856, 2363, 3842, 3831,
4541      2365, 3847, 2345, 2367, 2369, 2369, 2369, 3840, 2369, 2368,
4542
4543      3843, 2369, 2370, 2370, 2370, 2371, 2371, 2371, 3848, 2372,
4544      2372, 2372, 3849, 2372, 3835, 2354, 2372, 3848, 3841, 2370,
4545      3852, 3849, 2371, 2373, 2373, 2373, 3842, 3850, 2363, 2374,
4546      2374, 2374, 3856, 2375, 2375, 2375, 3850, 2375, 3843, 2367,
4547      2375, 2373, 2378, 2378, 2378, 3853, 2374, 2382, 2382, 2382,
4548      2383, 2383, 2383, 1413, 2392, 2392, 2392, 3851, 2392, 3854,
4549      2378, 2392, 2395, 2395, 2395, 2382, 3851, 2383, 2396, 2396,
4550      2396, 2397, 2397, 2397, 2399, 2399, 2399, 2373, 3853, 3904,
4551      2395, 2401, 2401, 2401, 3867, 2396, 2400, 2400, 2400, 2397,
4552      2400, 2399, 1412, 2400, 3854, 3867, 2378, 1411, 2401, 2402,
4553
4554      2402, 2402, 1410, 2402, 1409, 3865, 2402, 1408, 3907, 2395,
4555      2404, 2404, 2404, 2408, 2408, 2408, 2409, 2409, 2409, 3865,
4556      2409, 3883, 3907, 2409, 2410, 2410, 2410, 3904, 2404, 3883,
4557      2408, 2416, 2416, 2416, 2417, 2417, 2417, 2418, 2418, 2418,
4558      2420, 2420, 2420, 2424, 2424, 2424, 2425, 2425, 2425, 2426,
4559      2426, 2426, 2427, 2427, 2427, 2430, 2430, 2430, 2435, 2435,
4560      2435, 2436, 2436, 2436, 2438, 2438, 2438, 2439, 2439, 2439,
4561      3858, 2404, 2440, 2440, 2440, 2443, 2443, 2443, 3884, 2443,
4562      1407, 1406, 2443, 2446, 2446, 2446, 3884, 2446, 3855, 3861,
4563      2446, 2450, 2450, 2450, 2452, 2452, 2452, 1405, 3866, 2427,
4564
4565      2453, 2453, 2453, 2454, 2454, 2454, 2455, 2455, 2455, 2450,
4566      1404, 2452, 2456, 2456, 2456, 1403, 3858, 2453, 3863, 2440,
4567      2454, 3855, 3861, 2455, 2459, 2459, 2459, 2461, 2461, 2461,
4568      2456, 2462, 2462, 2462, 1402, 2462, 3868, 3877, 2462, 2463,
4569      2463, 2463, 2459, 2450, 2461, 3866, 2464, 2464, 2464, 3871,
4570      2464, 3863, 2453, 2464, 2467, 2467, 2467, 2463, 2467, 3874,
4571      3870, 2467, 2470, 2470, 2470, 2455, 3908, 2454, 2471, 2471,
4572      2471, 2472, 2472, 2472, 3868, 2472, 3875, 3908, 2472, 3889,
4573      2470, 3876, 2470, 3877, 2459, 1401, 2471, 2475, 2475, 2475,
4574      3871, 2475, 3891, 1400, 2475, 2478, 2478, 2478, 3870, 2463,
4575
4576      3874, 2479, 2479, 2479, 2471, 2479, 3892, 3881, 2479, 2482,
4577      2482, 2482, 3875, 2478, 2483, 2483, 2483, 3876, 2483, 3878,
4578      3889, 2483, 3879, 2484, 2484, 2484, 2482, 2484, 3891, 3880,
4579      2484, 2487, 2487, 2487, 2488, 2488, 2488, 1399, 2488, 2478,
4580      3881, 2488, 3892, 2494, 2494, 2494, 3885, 2494, 3886, 2487,
4581      2494, 2497, 2497, 2497, 2498, 2498, 2498, 3882, 2498, 1398,
4582      3879, 2498, 2501, 2501, 2501, 3878, 2501, 3880, 2497, 2501,
4583      2505, 2505, 2505, 2506, 2506, 2506, 2507, 2507, 2507, 2508,
4584      2508, 2508, 2509, 2509, 2509, 1397, 2509, 2505, 3890, 2509,
4585      3882, 2506, 3893, 3885, 2507, 3886, 2508, 2487, 2510, 2510,
4586
4587      2510, 2513, 2513, 2513, 1396, 2513, 1395, 3887, 2513, 2518,
4588      2518, 2518, 2519, 2519, 2519, 2510, 2521, 2521, 2521, 2522,
4589      2522, 2522, 1392, 2522, 1391, 3897, 2522, 2518, 1390, 3890,
4590      2519, 3888, 3894, 2521, 2527, 2527, 2527, 2506, 3893, 2528,
4591      2528, 2528, 2530, 2530, 2530, 3887, 2533, 2533, 2533, 1389,
4592      2533, 1388, 2527, 2533, 2540, 2540, 2540, 2528, 3897, 1386,
4593      2530, 2542, 2542, 2542, 2519, 2518, 2541, 2541, 2541, 3888,
4594      2541, 2540, 3895, 2541, 2543, 2543, 2543, 1385, 3894, 2542,
4595      2544, 2544, 2544, 2545, 2545, 2545, 2546, 2546, 2546, 2547,
4596      2547, 2547, 2548, 2548, 2548, 2549, 2549, 2549, 3899, 3898,
4597
4598      2527, 2528, 3896, 2546, 1384, 1383, 2547, 3899, 1382, 2548,
4599      3895, 1381, 2549, 2550, 2550, 2550, 2552, 2552, 2552, 2553,
4600      2553, 2553, 1380, 2553, 1379, 2542, 2553, 2555, 2555, 2555,
4601      3901, 2550, 3898, 2552, 2557, 2557, 2557, 2560, 2560, 2560,
4602      3896, 2547, 2561, 2561, 2561, 2555, 2561, 1378, 1377, 2561,
4603      1376, 1375, 2557, 1374, 2549, 2560, 2548, 2564, 2564, 2564,
4604      2565, 2565, 2565, 3901, 2565, 3902, 1373, 2565, 2566, 2566,
4605      2566, 1372, 2566, 1371, 2564, 2566, 3905, 1365, 2550, 2569,
4606      2569, 2569, 2570, 2570, 2570, 2571, 2571, 2571, 1361, 2571,
4607      1358, 3906, 2571, 2572, 2572, 2572, 1357, 2569, 3902, 2570,
4608
4609      2576, 2576, 2576, 2578, 2578, 2578, 2579, 2579, 2579, 3905,
4610      2579, 2572, 1356, 2579, 2590, 2590, 2590, 1354, 2576, 1350,
4611      2578, 2591, 2591, 2591, 3906, 3900, 2592, 2592, 2592, 1341,
4612      2592, 2569, 2590, 2592, 3900, 2593, 2593, 2593, 2591, 2593,
4613      1336, 1335, 2593, 1334, 1330, 2572, 2596, 2596, 2596, 1329,
4614      2596, 1326, 1322, 2596, 2600, 2600, 2600, 2601, 2601, 2601,
4615      1321, 2604, 2604, 2604, 2590, 2604, 1318, 1315, 2604, 2607,
4616      2607, 2607, 2600, 1312, 1311, 2601, 2608, 2608, 2608, 2609,
4617      2609, 2609, 2613, 2613, 2613, 2614, 2614, 2614, 2616, 2616,
4618      2616, 2617, 2617, 2617, 2619, 2619, 2619, 2620, 2620, 2620,
4619
4620      2621, 2621, 2621, 2625, 2625, 2625, 2626, 2626, 2626, 2630,
4621      2630, 2630, 2631, 2631, 2631, 2633, 2633, 2633, 2634, 2634,
4622      2634, 2600, 2639, 2639, 2639, 2640, 2640, 2640, 2641, 2641,
4623      2641, 2642, 2642, 2642, 1306, 2642, 1298, 1297, 2642, 1296,
4624      2639, 2643, 2643, 2643, 1294, 2641, 2644, 2644, 2644, 2645,
4625      2645, 2645, 2646, 2646, 2646, 2647, 2647, 2647, 2643, 2648,
4626      2648, 2648, 1290, 2644, 1287, 1282, 2645, 2649, 2649, 2649,
4627      1281, 2649, 1280, 2647, 2649, 1279, 2648, 2652, 2652, 2652,
4628      1278, 2653, 2653, 2653, 2654, 2654, 2654, 2655, 2655, 2655,
4629      2656, 2656, 2656, 1277, 2656, 2652, 1276, 2656, 2644, 2653,
4630
4631      1275, 2645, 2654, 1274, 1271, 2655, 2659, 2659, 2659, 2663,
4632      2663, 2663, 1270, 2663, 1267, 1266, 2663, 1262, 2653, 1260,
4633      1257, 2647, 1256, 1253, 2659, 2666, 2666, 2666, 1246, 2652,
4634      2669, 2669, 2669, 2670, 2670, 2670, 1243, 2670, 1242, 1241,
4635      2670, 1238, 2666, 1235, 1228, 2654, 1226, 2669, 2655, 2671,
4636      2671, 2671, 2672, 2672, 2672, 2674, 2674, 2674, 1223, 2674,
4637      1222, 1221, 2674, 2677, 2677, 2677, 1218, 2671, 1217, 1216,
4638      2672, 2678, 2678, 2678, 1213, 2678, 1212, 1203, 2678, 1202,
4639      2677, 2683, 2683, 2683, 2684, 2684, 2684, 2685, 2685, 2685,
4640      2686, 2686, 2686, 1201, 2686, 1200, 1199, 2686, 1198, 2683,
4641
4642      1197, 1196, 2684, 1195, 2685, 2689, 2689, 2689, 2690, 2690,
4643      2690, 2691, 2691, 2691, 2692, 2692, 2692, 2693, 2693, 2693,
4644      1191, 1160, 2689, 1157, 1154, 2690, 1153, 1150, 2691, 1149,
4645      1148, 2692, 1147, 1146, 2685, 2693, 2694, 2694, 2694, 1145,
4646      1138, 2683, 2695, 2695, 2695, 2700, 2700, 2700, 2701, 2701,
4647      2701, 1137, 2701, 1136, 2694, 2701, 2704, 2704, 2704, 2695,
4648      1135, 2689, 1133, 2691, 2705, 2705, 2705, 1132, 1130, 2690,
4649      2706, 2706, 2706, 1129, 2704, 1128, 1127, 2693, 2707, 2707,
4650      2707, 1126, 2707, 1125, 1124, 2707, 1123, 2706, 2708, 2708,
4651      2708, 2709, 2709, 2709, 2710, 2710, 2710, 2712, 2712, 2712,
4652
4653      2694, 2711, 2711, 2711, 1122, 2708, 1121, 1120, 2709, 1119,
4654      1117, 2710, 1116, 1115, 2712, 2704, 2713, 2713, 2713, 2711,
4655      2713, 1114, 1113, 2713, 2716, 2716, 2716, 2717, 2717, 2717,
4656      2721, 2721, 2721, 2723, 2723, 2723, 1112, 2723, 1111, 1110,
4657      2723, 2716, 1109, 2709, 1107, 2717, 2710, 1106, 2721, 2726,
4658      2726, 2726, 2727, 2727, 2727, 1105, 2727, 1104, 1103, 2727,
4659      2730, 2730, 2730, 1102, 2734, 2734, 2734, 2726, 2734, 1101,
4660      1100, 2734, 1099, 2747, 2747, 2747, 1098, 1097, 2730, 2748,
4661      2748, 2748, 1093, 2748, 1089, 1088, 2748, 2752, 2752, 2752,
4662      2716, 2747, 2753, 2753, 2753, 2756, 2756, 2756, 2757, 2757,
4663
4664      2757, 2761, 2761, 2761, 1087, 2752, 1086, 2730, 1085, 1081,
4665      2753, 2762, 2762, 2762, 2764, 2764, 2764, 2767, 2767, 2767,
4666      2768, 2768, 2768, 2772, 2772, 2772, 2775, 2775, 2775, 2777,
4667      2777, 2777, 1079, 1078, 2747, 2779, 2779, 2779, 2780, 2780,
4668      2780, 1077, 2780, 1076, 1075, 2780, 1074, 2777, 2783, 2783,
4669      2783, 1073, 1069, 2752, 2753, 2784, 2784, 2784, 1068, 2784,
4670      1064, 1063, 2784, 1062, 1061, 2783, 2785, 2785, 2785, 2786,
4671      2786, 2786, 2787, 2787, 2787, 2788, 2788, 2788, 2789, 2789,
4672      2789, 1058, 1057, 2785, 1055, 1053, 2786, 2790, 2790, 2790,
4673      1050, 2790, 1049, 2788, 2790, 2789, 2791, 2791, 2791, 2792,
4674
4675      2792, 2792, 2793, 2793, 2793, 2794, 2794, 2794, 2795, 2795,
4676      2795, 2801, 2801, 2801, 2791, 1048, 1047, 2792, 1045, 1042,
4677      2793, 1041, 1039, 2794, 1038, 1035, 2795, 1033, 2801, 2802,
4678      2802, 2802, 1030, 2802, 1029, 1028, 2802, 2805, 2805, 2805,
4679      1027, 2805, 1024, 1023, 2805, 1022, 2808, 2808, 2808, 2810,
4680      2810, 2810, 1021, 2810, 1020, 1019, 2810, 2815, 2815, 2815,
4681      2816, 2816, 2816, 2792, 2808, 2794, 2817, 2817, 2817, 2793,
4682      2818, 2818, 2818, 1018, 2815, 1016, 1013, 2816, 2820, 2820,
4683      2820, 2825, 2825, 2825, 2817, 2821, 2821, 2821, 2818, 2821,
4684      1012, 1008, 2821, 1007, 1006, 2820, 1005, 1004, 2825, 2826,
4685
4686      2826, 2826, 2827, 2827, 2827, 1003, 2827,  994,  993, 2827,
4687      2828, 2828, 2828, 2829, 2829, 2829, 2826, 2830, 2830, 2830,
4688      2831, 2831, 2831, 2817, 2831,  990,  989, 2831, 2828,  988,
4689       987, 2829,  986,  984, 2830, 2834, 2834, 2834, 2835, 2835,
4690      2835, 2836, 2836, 2836, 2837, 2837, 2837, 2838, 2838, 2838,
4691       983, 2838, 2834,  982, 2838, 2835, 2841, 2841, 2841, 2842,
4692      2842, 2842, 2837, 2842,  979,  978, 2842, 2843, 2843, 2843,
4693      2844, 2844, 2844, 2841, 2829, 2845, 2845, 2845, 2847, 2847,
4694      2847, 2848, 2848, 2848, 2843, 2848,  977, 2844, 2848, 2849,
4695      2849, 2849,  974, 2845,  973, 2847, 2852, 2852, 2852, 2854,
4696
4697      2854, 2854, 2867, 2867, 2867,  969, 2849, 2869, 2869, 2869,
4698      2876, 2876, 2876,  967, 2852,  964,  963, 2854,  962,  961,
4699      2867, 2877, 2877, 2877,  959, 2869, 2880, 2880, 2880, 2884,
4700      2884, 2884, 2887, 2887, 2887, 2888, 2888, 2888,  956, 2889,
4701      2889, 2889,  955, 2889,  952, 2849, 2889, 2892, 2892, 2892,
4702       949,  946, 2888, 2893, 2893, 2893,  945, 2893,  944, 2869,
4703      2893,  943, 2867,  942, 2892, 2854, 2894, 2894, 2894, 2895,
4704      2895, 2895,  941, 2895,  938,  935, 2895, 2896, 2896, 2896,
4705      2898, 2898, 2898, 2894, 2898,  934,  933, 2898, 2901, 2901,
4706      2901, 2903, 2903, 2903,  929, 2896, 2904, 2904, 2904, 2905,
4707
4708      2905, 2905, 2908, 2908, 2908,  925, 2901,  924,  923, 2903,
4709       922, 2910, 2910, 2910, 2904, 2910,  921, 2905, 2910, 2908,
4710      2922, 2922, 2922, 2923, 2923, 2923, 2924, 2924, 2924,  920,
4711      2924,  919,  918, 2924, 2967, 2967, 2967, 2922,  917,  916,
4712      2923, 2925, 2925, 2925,  915,  913, 2926, 2926, 2926,  911,
4713      2926, 2905, 2903, 2926, 2927, 2927, 2927,  908, 2925, 2928,
4714      2928, 2928, 2904, 2928,  907,  906, 2928, 2934, 2934, 2934,
4715       905,  904, 2927, 2935, 2935, 2935,  903, 2935,  898,  897,
4716      2935, 2936, 2936, 2936, 2934, 2936,  896,  895, 2936, 2939,
4717      2939, 2939, 2941, 2941, 2941, 2942, 2942, 2942,  892, 2942,
4718
4719       891,  890, 2942, 2946, 2946, 2946,  887, 2939,  886,  885,
4720      2941, 2947, 2947, 2947, 2948, 2948, 2948,  884, 2948,  881,
4721      2946, 2948, 2949, 2949, 2949, 2950, 2950, 2950, 2947, 2950,
4722       880,  878, 2950, 2951, 2951, 2951, 2953, 2953, 2953, 2949,
4723      2953,  875,  874, 2953, 2956, 2956, 2956,  870, 2957, 2957,
4724      2957, 2951, 2957,  869, 2941, 2957, 2958, 2958, 2958,  868,
4725       867, 2956, 2959, 2959, 2959,  866, 2959,  865,  862, 2959,
4726      2960, 2960, 2960, 2958, 2960,  861,  860, 2960, 2963, 2963,
4727      2963, 2964, 2964, 2964, 2965, 2965, 2965, 2966, 2966, 2966,
4728      2968, 2968, 2968,  859,  858, 2963,  857,  848, 2964,  846,
4729
4730       845, 2965, 2979, 2979, 2979, 2966,  842, 2968, 2980, 2980,
4731      2980, 2981, 2981, 2981, 2986, 2986, 2986, 2988, 2988, 2988,
4732      2979, 2992, 2992, 2992,  841, 2980, 2996, 2996, 2996, 2981,
4733      2997, 2997, 2997,  840, 2997,  839,  836, 2997,  835, 2963,
4734      2998, 2998, 2998, 2996, 2998,  834,  831, 2998, 3001, 3001,
4735      3001,  829, 3001,  828,  827, 3001,  824,  823, 2966, 3004,
4736      3004, 3004, 2979, 3005, 3005, 3005, 3006, 3006, 3006, 3008,
4737      3008, 3008, 3009, 3009, 3009,  822,  821, 3004, 3010, 3010,
4738      3010, 3005, 3010,  820, 3006, 3010, 3008,  816,  815, 3009,
4739      3011, 3011, 3011, 3023, 3023, 3023, 3024, 3024, 3024,  814,
4740
4741      3024,  810, 3006, 3024, 3025, 3025, 3025, 3011, 3025,  809,
4742      3023, 3025, 3028, 3028, 3028, 3005, 3028,  808,  807, 3028,
4743      3031, 3031, 3031, 3034, 3034, 3034, 3004, 3036, 3036, 3036,
4744       801, 3036,  800,  798, 3036, 3045, 3045, 3045, 3031,  790,
4745      3034, 3047, 3047, 3047, 3048, 3048, 3048,  789, 3048,  785,
4746       777, 3048,  775, 3045,  771, 3049, 3049, 3049, 3047, 3049,
4747       770,  766, 3049, 3052, 3052, 3052,  760, 3052,  759,  758,
4748      3052, 3055, 3055, 3055,  754, 3055,  751,  749, 3055, 3058,
4749      3058, 3058,  748, 3058,  747,  743, 3058, 3067, 3067, 3067,
4750      3068, 3068, 3068, 3069, 3069, 3069,  739, 3069,  735,  734,
4751
4752      3069, 3070, 3070, 3070, 3067,  733,  732, 3068, 3071, 3071,
4753      3071,  728, 3071,  724,  721, 3071,  720,  719, 3070, 3072,
4754      3072, 3072, 3073, 3073, 3073, 3074, 3074, 3074, 3075, 3075,
4755      3075,  718, 3075,  714,  708, 3075,  707, 3072, 3086, 3086,
4756      3086,  703, 3074, 3087, 3087, 3087,  695, 3067, 3088, 3088,
4757      3088,  691, 3088,  684,  682, 3088, 3086, 3089, 3089, 3089,
4758      3087, 3093, 3093, 3093, 3095, 3095, 3095, 3097, 3097, 3097,
4759      3100, 3100, 3100,  681,  677, 3089,  671,  670, 3093, 3093,
4760       666, 3072, 3102, 3102, 3102, 3104, 3104, 3104,  659, 3104,
4761      3086,  658, 3104, 3111, 3111, 3111, 3112, 3112, 3112, 3113,
4762
4763      3113, 3113, 3115, 3115, 3115, 3116, 3116, 3116,  657, 3116,
4764       656, 3111, 3116,  655, 3112,  651,  640, 3113,  636, 3115,
4765      3117, 3117, 3117,  628, 3117,  627,  626, 3117, 3120, 3120,
4766      3120, 3121, 3121, 3121,  625, 3121,  624,  620, 3121, 3133,
4767      3133, 3133,  614, 3133,  613, 3120, 3133, 3137, 3137, 3137,
4768      3138, 3138, 3138,  609, 3138,  603,  602, 3138,  598, 3111,
4769      3113, 3146, 3146, 3146, 3137, 3149, 3149, 3149,  592, 3149,
4770       591,  587, 3149, 3164, 3164, 3164, 3165, 3165, 3165, 3146,
4771      3165,  583,  579, 3165, 3168, 3168, 3168,  578, 3168,  577,
4772      3164, 3168, 3171, 3171, 3171, 3172, 3172, 3172,  573, 3172,
4773
4774       565,  561, 3172, 3183, 3183, 3183,  555, 3184, 3184, 3184,
4775      3171, 3184,  554,  553, 3184, 3188, 3188, 3188, 3189, 3189,
4776      3189, 3183, 3190, 3190, 3190,  549, 3190,  540,  539, 3190,
4777       538,  537, 3188, 3188,  533, 3189, 3189, 3191, 3191, 3191,
4778      3190, 3193, 3193, 3193, 3171, 3194, 3194, 3194, 3195, 3195,
4779      3195,  529,  526, 3183, 3197, 3197, 3197, 3198, 3198, 3198,
4780      3211, 3211, 3211, 3212, 3212, 3212, 3214, 3214, 3214, 3216,
4781      3216, 3216,  525, 3216,  524,  520, 3216,  516, 3211,  513,
4782       509, 3212,  505,  502, 3214, 3219, 3219, 3219,  499, 3219,
4783       497,  496, 3219, 3222, 3222, 3222, 3233, 3233, 3233, 3234,
4784
4785      3234, 3234,  491, 3234,  484,  483, 3234, 3237, 3237, 3237,
4786      3222,  482, 3211, 3233, 3257, 3257, 3257,  481, 3258, 3258,
4787      3258,  480, 3258,  476, 3237, 3258, 3267, 3267, 3267,  469,
4788       468, 3257,  467, 3214, 3276, 3276, 3276, 3286, 3286, 3286,
4789       463, 3287, 3287, 3287, 3267, 3287,  456,  455, 3287, 3288,
4790      3288, 3288, 3276, 3288, 3286, 3286, 3288,  451,  444, 3287,
4791      3291, 3291, 3291, 3293, 3293, 3293,  443, 3288, 3294, 3294,
4792      3294, 3296, 3296, 3296, 3309, 3309, 3309, 3310, 3310, 3310,
4793      3312, 3312, 3312, 3313, 3313, 3313,  442, 3313,  438,  432,
4794      3313,  431, 3309,  430,  426, 3310,  420, 3312,  416,  412,
4795
4796      3276, 3289, 3289, 3289, 3289, 3289, 3289, 3289, 3289, 3289,
4797       408,  407, 3289, 3314, 3314, 3314,  406, 3289, 3289, 3289,
4798      3289, 3289, 3324, 3324, 3324, 3325, 3325, 3325,  405, 3325,
4799      3314,  404, 3325, 3327, 3327, 3327,  400, 3327,  391, 3324,
4800      3327,  390,  386, 3310, 3326, 3326, 3326, 3289, 3289, 3290,
4801      3290, 3290, 3290, 3290, 3290, 3290, 3290, 3290,  382,  377,
4802      3290, 3326, 3356, 3356, 3356, 3290, 3290, 3290, 3290, 3290,
4803      3345, 3345, 3345,  371, 3345,  367,  366, 3345,  362,  359,
4804      3356, 3364, 3364, 3364, 3374, 3374, 3374,  358, 3374,  357,
4805       351, 3374, 3379, 3379, 3379, 3290, 3290,  350,  348, 3364,
4806
4807       345,  333, 3374, 3377, 3377, 3377, 3377, 3377, 3377, 3377,
4808      3377, 3377,    0,    0, 3377, 3380, 3380, 3380,    0, 3377,
4809      3377, 3377, 3377, 3377, 3393, 3393, 3393, 3395, 3395, 3395,
4810      3397, 3397, 3397,    0, 3397,    0,    0, 3397, 3463, 3463,
4811      3463,    0, 3393,    0,    0, 3395, 3400, 3400, 3400, 3377,
4812      3377, 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3378, 3378,
4813         0,    0, 3378, 3400, 3464, 3464, 3464, 3378, 3378, 3378,
4814      3378, 3378,    0, 3401, 3401, 3401,    0, 3401,    0, 3395,
4815      3401, 3409, 3409, 3409,    0, 3409,    0,    0, 3409, 3412,
4816      3412, 3412,    0, 3412,    0,    0, 3412, 3378, 3378, 3446,
4817
4818      3446, 3446, 3462, 3462, 3462, 3471, 3471, 3471, 3472, 3472,
4819      3472, 3477, 3477, 3477,    0, 3477,    0, 3446, 3477,    0,
4820      3462, 3462,    0, 3471,    0, 3472, 3484, 3484, 3484, 3491,
4821      3491, 3491, 3510, 3510, 3510, 3514, 3514, 3514, 3517, 3517,
4822      3517,    0,    0, 3484,    0,    0, 3491, 3519, 3519, 3519,
4823      3510,    0,    0, 3514,    0,    0, 3517,    0, 3520, 3520,
4824      3520,    0, 3520,    0, 3519, 3520, 3533, 3533, 3533, 3534,
4825      3534, 3534,    0, 3534,    0,    0, 3534, 3545, 3545, 3545,
4826      3553, 3553, 3553, 3533, 3546, 3546, 3546, 3514, 3546,    0,
4827         0, 3546,    0,    0, 3545, 3557, 3557, 3557, 3553, 3557,
4828
4829         0,    0, 3557, 3572, 3572, 3572,    0, 3572,    0,    0,
4830      3572, 3585, 3585, 3585,    0, 3585,    0, 3553, 3585, 3710,
4831      3710, 3710, 3723, 3723, 3723,    0, 3723,    0,    0, 3723,
4832      3869, 3869, 3869, 3872, 3872, 3872,    0, 3710,    0,    0,
4833      3723, 3909, 3909, 3909, 3910, 3910, 3910,    0, 3869,    0,
4834         0, 3872,    0,    0,    0,    0,    0,    0,    0, 3909,
4835         0,    0, 3910, 3913, 3913, 3913, 3913, 3913, 3913, 3913,
4836      3913, 3913, 3914, 3914, 3914, 3914, 3914, 3914, 3914, 3914,
4837      3914, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915, 3915,
4838      3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3916, 3917,
4839
4840      3917, 3917, 3917, 3917, 3917, 3917, 3917, 3917, 3918, 3918,
4841      3918, 3918, 3918, 3918, 3918, 3918, 3918, 3919, 3919, 3919,
4842      3919, 3919, 3919, 3919, 3919, 3919, 3920, 3920, 3920, 3920,
4843      3920, 3920, 3920, 3920, 3920, 3921, 3921, 3921, 3921, 3921,
4844      3921, 3921, 3921, 3921, 3922, 3922, 3922, 3922, 3922, 3922,
4845      3922, 3922, 3922, 3923, 3923, 3923, 3923, 3923, 3923, 3923,
4846      3923, 3923, 3924, 3924, 3924, 3924, 3924, 3924, 3924, 3924,
4847      3924, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925, 3925,
4848      3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3926, 3927,
4849      3927, 3927, 3927, 3927, 3927, 3927, 3927, 3927, 3928, 3928,
4850
4851      3928, 3928, 3928, 3928, 3928, 3928, 3928, 3929, 3929, 3929,
4852      3929, 3929, 3929, 3929, 3929, 3929, 3930, 3930, 3930, 3930,
4853      3930, 3930, 3930, 3930, 3930, 3931, 3931, 3931, 3931, 3931,
4854      3931, 3931, 3931, 3931, 3932, 3932, 3932, 3932, 3932, 3932,
4855      3932, 3932, 3932, 3933, 3933, 3933, 3933, 3933, 3933, 3933,
4856      3933, 3933, 3934, 3934, 3934, 3934, 3934, 3934, 3934, 3934,
4857      3934, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935, 3935,
4858      3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3936, 3937,
4859      3937, 3937, 3937, 3937, 3937, 3937, 3937, 3937, 3938, 3938,
4860      3938, 3938, 3938, 3938, 3938, 3938, 3938, 3939, 3939, 3939,
4861
4862      3939, 3939, 3939, 3939, 3939, 3939, 3940, 3940, 3940, 3940,
4863      3940, 3940, 3940, 3940, 3940, 3941, 3941, 3941, 3941, 3941,
4864      3941, 3941, 3941, 3941, 3942, 3942, 3942, 3942, 3942, 3942,
4865      3942, 3942, 3942, 3943, 3943, 3943, 3943, 3943, 3943, 3943,
4866      3943, 3943, 3944, 3944, 3944, 3944, 3944, 3944, 3944, 3944,
4867      3944, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945, 3945,
4868      3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3946, 3947,
4869      3947, 3947, 3947, 3947, 3947, 3947, 3947, 3947, 3948, 3948,
4870      3948, 3948, 3948, 3948, 3948, 3948, 3948, 3949, 3949, 3949,
4871      3949, 3949, 3949, 3949, 3949, 3949, 3950, 3950, 3950, 3950,
4872
4873      3950, 3950, 3950, 3950, 3950, 3951, 3951, 3951, 3951, 3951,
4874      3951, 3951, 3951, 3951, 3952, 3952, 3952, 3952, 3952, 3952,
4875      3952, 3952, 3952, 3953, 3953, 3953, 3953, 3953, 3953, 3953,
4876      3953, 3953, 3954, 3954, 3954, 3954, 3954, 3954, 3954, 3954,
4877      3954, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955, 3955,
4878      3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3956, 3957,
4879      3957, 3957, 3957, 3957, 3957, 3957, 3957, 3957, 3958, 3958,
4880      3958, 3958, 3958, 3958, 3958, 3958, 3958, 3959, 3959, 3959,
4881      3959, 3959, 3959, 3959, 3959, 3959, 3960, 3960, 3960, 3960,
4882      3960, 3960, 3960, 3960, 3960, 3961, 3961, 3961, 3961, 3961,
4883
4884      3961, 3961, 3961, 3961, 3962, 3962, 3962, 3962, 3962, 3962,
4885      3962, 3962, 3962, 3963, 3963, 3963, 3963, 3963, 3963, 3963,
4886      3963, 3963, 3964, 3964, 3964, 3964, 3964, 3964, 3964, 3964,
4887      3964, 3965, 3965, 3965, 3965, 3965, 3965, 3965, 3965, 3965,
4888      3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3966, 3967,
4889      3967, 3967, 3967, 3967, 3967, 3967, 3967, 3967, 3968, 3968,
4890      3968, 3968, 3968, 3968, 3968, 3968, 3968, 3969, 3969, 3969,
4891      3969, 3969, 3969, 3969, 3969, 3969, 3970, 3970, 3970, 3970,
4892      3970, 3970, 3970, 3970, 3970, 3971, 3971, 3971, 3971, 3971,
4893      3971, 3971, 3971, 3971, 3972, 3972, 3972, 3972, 3972, 3972,
4894
4895      3972, 3972, 3972, 3973, 3973, 3973, 3973, 3973, 3973, 3973,
4896      3973, 3973, 3974, 3974, 3974, 3974, 3974, 3974, 3974, 3974,
4897      3974, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,
4898      3976, 3976, 3976, 3976, 3976, 3976, 3976, 3976, 3976, 3977,
4899      3977, 3977, 3977, 3977, 3977, 3977, 3977, 3977, 3978, 3978,
4900      3978, 3978, 3978, 3978, 3978, 3978, 3978, 3979, 3979, 3979,
4901      3979, 3979, 3979, 3979, 3979, 3979, 3980, 3980, 3980, 3980,
4902      3980, 3980, 3980, 3980, 3980, 3981, 3981, 3981, 3981, 3981,
4903      3981, 3981, 3981, 3981, 3982, 3982, 3982, 3982, 3982, 3982,
4904      3982, 3982, 3982, 3983, 3983, 3983,    0,    0,    0, 3983,
4905
4906      3984, 3984, 3984,    0,    0,    0, 3984, 3985, 3985, 3985,
4907         0,    0,    0, 3985, 3986, 3986, 3986,    0,    0,    0,
4908      3986, 3987, 3987, 3987,    0,    0,    0, 3987, 3988, 3988,
4909      3988,    0,    0,    0, 3988, 3989, 3989, 3989,    0,    0,
4910         0, 3989, 3990, 3990, 3990,    0,    0,    0, 3990, 3991,
4911      3991, 3991,    0,    0,    0, 3991, 3992, 3992, 3992,    0,
4912         0,    0, 3992, 3993, 3993, 3993,    0,    0,    0, 3993,
4913      3994, 3994, 3994,    0,    0,    0, 3994, 3995, 3995, 3995,
4914         0,    0,    0, 3995, 3996, 3996, 3996,    0,    0,    0,
4915      3996, 3997, 3997, 3997,    0,    0,    0, 3997, 3998, 3998,
4916
4917      3998,    0,    0,    0, 3998, 3999, 3999, 3999,    0,    0,
4918         0, 3999, 4000, 4000, 4000,    0,    0,    0, 4000, 4001,
4919      4001, 4001,    0,    0,    0, 4001, 4002, 4002, 4002,    0,
4920         0,    0, 4002, 4003, 4003, 4003,    0,    0,    0, 4003,
4921      4004, 4004, 4004,    0,    0,    0, 4004, 4005, 4005, 4005,
4922         0,    0,    0, 4005, 4006, 4006, 4006,    0,    0,    0,
4923      4006, 4007, 4007, 4007,    0,    0,    0, 4007, 4008, 4008,
4924      4008,    0,    0,    0, 4008, 4009, 4009, 4009,    0,    0,
4925         0, 4009, 4010, 4010, 4010,    0,    0,    0, 4010, 4011,
4926      4011, 4011,    0,    0,    0, 4011, 4012, 4012, 4012,    0,
4927
4928         0,    0, 4012, 4013, 4013, 4013,    0,    0,    0, 4013,
4929      4014, 4014, 4014,    0,    0,    0, 4014, 4015, 4015, 4015,
4930      4015, 4015, 4015, 4015,    0, 4015, 4016, 4016, 4016,    0,
4931         0,    0, 4016, 4017,    0,    0,    0, 4017, 4018, 4018,
4932      4018,    0,    0,    0, 4018, 4019,    0,    0,    0, 4019,
4933      4020, 4020, 4020,    0,    0,    0, 4020, 4021,    0,    0,
4934         0, 4021, 4022, 4022, 4022,    0,    0,    0, 4022, 4023,
4935         0,    0,    0, 4023, 4024, 4024, 4024,    0,    0,    0,
4936      4024, 4025,    0,    0,    0, 4025, 4026, 4026, 4026,    0,
4937         0,    0, 4026, 4027,    0,    0,    0, 4027, 4028, 4028,
4938
4939      4028,    0,    0,    0, 4028, 4029,    0,    0,    0, 4029,
4940      4030, 4030, 4030,    0,    0,    0, 4030, 4031,    0,    0,
4941         0, 4031, 4032, 4032, 4032,    0,    0,    0, 4032, 4033,
4942         0,    0,    0, 4033, 4034, 4034, 4034,    0,    0,    0,
4943      4034, 4035,    0,    0,    0, 4035, 4036, 4036, 4036,    0,
4944         0,    0, 4036, 4037,    0,    0,    0, 4037, 4038, 4038,
4945      4038,    0,    0,    0, 4038, 4039,    0,    0,    0, 4039,
4946      4040, 4040, 4040,    0,    0,    0, 4040, 4041,    0,    0,
4947         0, 4041, 4042, 4042, 4042,    0,    0,    0, 4042, 4043,
4948         0,    0,    0, 4043, 4044, 4044, 4044,    0,    0,    0,
4949
4950      4044, 4045,    0,    0,    0, 4045, 4046, 4046, 4046,    0,
4951         0,    0, 4046, 4047,    0,    0,    0, 4047, 4048, 4048,
4952      4048,    0,    0,    0, 4048, 4049,    0,    0,    0, 4049,
4953      4050, 4050, 4050,    0,    0,    0, 4050, 4051,    0,    0,
4954         0, 4051, 4052, 4052, 4052,    0,    0,    0, 4052, 4053,
4955         0,    0,    0, 4053, 4054, 4054, 4054,    0,    0,    0,
4956      4054, 4055,    0,    0,    0, 4055, 4056, 4056, 4056,    0,
4957         0,    0, 4056, 4057,    0,    0,    0, 4057, 4058, 4058,
4958      4058,    0,    0,    0, 4058, 4059,    0,    0,    0, 4059,
4959      4060, 4060, 4060,    0,    0,    0, 4060, 4061,    0,    0,
4960
4961         0, 4061, 4062, 4062, 4062,    0,    0,    0, 4062, 4063,
4962         0,    0,    0, 4063, 4064, 4064, 4064,    0,    0,    0,
4963      4064, 4065,    0,    0,    0, 4065, 4066, 4066, 4066,    0,
4964         0,    0, 4066, 4067,    0,    0,    0, 4067, 4068, 4068,
4965      4068,    0,    0,    0, 4068, 4069,    0,    0,    0, 4069,
4966      4070, 4070, 4070,    0,    0,    0, 4070, 4071,    0,    0,
4967         0, 4071, 4072, 4072, 4072,    0,    0,    0, 4072, 4073,
4968         0,    0,    0, 4073, 4074, 4074, 4074,    0,    0,    0,
4969      4074, 4075,    0,    0,    0, 4075, 4076, 4076, 4076,    0,
4970         0,    0, 4076, 4077,    0,    0,    0, 4077, 4078, 4078,
4971
4972      4078,    0,    0,    0, 4078, 4079,    0,    0,    0, 4079,
4973      4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4080, 4081,
4974         0,    0,    0,    0, 4081, 4082, 4082, 4082,    0,    0,
4975         0, 4082, 4083, 4083, 4083, 4083,    0,    0, 4083, 4083,
4976      4084, 4084, 4084, 4084,    0, 4084,    0, 4084, 4085, 4085,
4977      4085, 4085,    0,    0, 4085, 4085, 4086, 4086, 4086,    0,
4978         0,    0, 4086, 4087, 4087, 4087, 4087,    0,    0, 4087,
4979      4087, 4088, 4088, 4088,    0,    0,    0, 4088, 4089, 4089,
4980      4089, 4089,    0,    0, 4089, 4089, 4090, 4090, 4090,    0,
4981         0,    0, 4090, 4091, 4091, 4091, 4091,    0,    0, 4091,
4982
4983      4091, 4092, 4092, 4092, 4092,    0, 4092,    0, 4092, 4093,
4984      4093, 4093, 4093,    0,    0, 4093, 4093, 4094, 4094, 4094,
4985      4094,    0, 4094,    0, 4094, 4095, 4095, 4095, 4095,    0,
4986         0, 4095, 4095, 4096, 4096, 4096, 4096,    0, 4096,    0,
4987      4096, 4097, 4097, 4097, 4097,    0,    0, 4097, 4097, 4098,
4988      4098, 4098, 4098,    0, 4098,    0, 4098, 4099, 4099, 4099,
4989      4099,    0,    0, 4099, 4099, 4100, 4100, 4100,    0,    0,
4990         0, 4100, 4101, 4101, 4101, 4101,    0,    0, 4101, 4101,
4991      4102, 4102, 4102, 4102,    0,    0, 4102, 4102, 4103, 4103,
4992      4103,    0,    0,    0, 4103, 4104, 4104, 4104, 4104,    0,
4993
4994         0, 4104, 4104, 4105, 4105, 4105,    0,    0,    0, 4105,
4995      4106, 4106, 4106, 4106,    0,    0, 4106, 4106, 4107, 4107,
4996      4107,    0,    0,    0, 4107, 4108, 4108, 4108, 4108,    0,
4997         0, 4108, 4108, 4109, 4109, 4109,    0,    0,    0, 4109,
4998      4110, 4110, 4110, 4110,    0,    0, 4110, 4110, 4111, 4111,
4999      4111,    0,    0,    0, 4111, 4112, 4112, 4112, 4112,    0,
5000         0, 4112, 4112, 4113, 4113, 4113,    0,    0,    0, 4113,
5001      4114, 4114, 4114, 4114,    0,    0, 4114, 4114, 4115, 4115,
5002      4115,    0,    0,    0, 4115, 4116, 4116, 4116, 4116,    0,
5003         0, 4116, 4116, 4117, 4117, 4117,    0,    0,    0, 4117,
5004
5005      4118, 4118, 4118, 4118,    0,    0, 4118, 4118, 4119, 4119,
5006      4119,    0,    0,    0, 4119, 4120, 4120, 4120, 4120,    0,
5007         0, 4120, 4120, 4121, 4121, 4121,    0,    0,    0, 4121,
5008      4122, 4122, 4122, 4122,    0,    0, 4122, 4122, 4123, 4123,
5009      4123,    0,    0,    0, 4123, 4124, 4124, 4124, 4124,    0,
5010         0, 4124, 4124, 4125, 4125, 4125,    0,    0,    0, 4125,
5011      4126, 4126, 4126, 4126,    0,    0, 4126, 4126, 4127, 4127,
5012      4127,    0,    0,    0, 4127, 4128, 4128, 4128, 4128,    0,
5013         0, 4128, 4128, 4129, 4129, 4129, 4129,    0, 4129,    0,
5014      4129, 4130, 4130, 4130, 4130,    0,    0, 4130, 4130, 4131,
5015
5016      4131, 4131,    0,    0,    0, 4131, 4132, 4132, 4132, 4132,
5017         0,    0, 4132, 4132, 4133, 4133, 4133,    0,    0,    0,
5018      4133, 4134, 4134, 4134, 4134,    0,    0, 4134, 4134, 4135,
5019      4135, 4135,    0,    0,    0, 4135, 4136, 4136, 4136, 4136,
5020         0,    0, 4136, 4136, 4137, 4137, 4137,    0,    0,    0,
5021      4137, 4138, 4138, 4138, 4138,    0,    0, 4138, 4138, 4139,
5022      4139, 4139,    0,    0,    0, 4139, 4140, 4140, 4140, 4140,
5023         0,    0, 4140, 4140, 4141, 4141, 4141,    0,    0,    0,
5024      4141, 4142, 4142, 4142, 4142,    0,    0, 4142, 4142, 4143,
5025      4143, 4143, 4143,    0, 4143,    0, 4143, 4144, 4144, 4144,
5026
5027      4144,    0,    0, 4144, 4144, 4145, 4145, 4145, 4145, 4145,
5028      4145, 4145, 4145, 4145, 4146,    0, 4146,    0,    0, 4146,
5029      4147, 4147, 4147,    0,    0,    0, 4147, 4148, 4148, 4148,
5030      4148,    0,    0, 4148, 4148, 4149, 4149, 4149,    0,    0,
5031         0, 4149, 4150, 4150, 4150, 4150,    0,    0, 4150, 4150,
5032      4151, 4151, 4151,    0,    0,    0, 4151, 4152, 4152, 4152,
5033      4152,    0,    0, 4152, 4152, 4153, 4153, 4153,    0,    0,
5034         0, 4153, 4154, 4154, 4154, 4154,    0,    0, 4154, 4154,
5035      4155, 4155, 4155,    0,    0,    0, 4155, 4156, 4156, 4156,
5036      4156,    0,    0, 4156, 4156, 4157, 4157, 4157,    0,    0,
5037
5038         0, 4157, 4158, 4158, 4158, 4158,    0,    0, 4158, 4158,
5039      4159, 4159, 4159, 4159,    0,    0, 4159, 4159, 4160, 4160,
5040      4160,    0,    0,    0, 4160, 4161, 4161, 4161, 4161,    0,
5041         0, 4161, 4161, 4162, 4162, 4162,    0,    0,    0, 4162,
5042      4163, 4163, 4163, 4163,    0,    0, 4163, 4163, 4164, 4164,
5043      4164,    0,    0,    0, 4164, 4165, 4165, 4165, 4165,    0,
5044         0, 4165, 4165, 4166, 4166, 4166, 4166,    0,    0, 4166,
5045      4166, 4167, 4167, 4167,    0,    0,    0, 4167, 4168, 4168,
5046      4168, 4168,    0,    0, 4168, 4168, 4169, 4169, 4169,    0,
5047         0,    0, 4169, 4170, 4170, 4170, 4170,    0,    0, 4170,
5048
5049      4170, 4171, 4171, 4171, 4171,    0, 4171,    0, 4171, 4172,
5050      4172, 4172, 4172,    0,    0, 4172, 4172, 4173, 4173, 4173,
5051      4173,    0, 4173,    0, 4173, 4174, 4174, 4174, 4174,    0,
5052         0, 4174, 4174, 4175, 4175, 4175,    0,    0,    0, 4175,
5053      4176, 4176, 4176, 4176,    0,    0, 4176, 4176, 4177, 4177,
5054      4177,    0,    0,    0, 4177, 4178, 4178, 4178, 4178,    0,
5055         0, 4178, 4178, 4179, 4179, 4179,    0,    0,    0, 4179,
5056      4180, 4180, 4180, 4180,    0,    0, 4180, 4180, 4181, 4181,
5057      4181, 4181,    0, 4181,    0, 4181, 4182, 4182, 4182, 4182,
5058         0,    0, 4182, 4182, 4183, 4183, 4183,    0,    0,    0,
5059
5060      4183, 4184, 4184, 4184, 4184,    0,    0, 4184, 4184, 4185,
5061      4185, 4185,    0,    0,    0, 4185, 4186, 4186, 4186, 4186,
5062         0,    0, 4186, 4186, 4187, 4187, 4187,    0,    0,    0,
5063      4187, 4188, 4188, 4188, 4188,    0,    0, 4188, 4188, 4189,
5064      4189, 4189,    0,    0,    0, 4189, 4190, 4190, 4190, 4190,
5065         0,    0, 4190, 4190, 4191, 4191, 4191,    0,    0,    0,
5066      4191, 4192, 4192, 4192, 4192,    0,    0, 4192, 4192, 4193,
5067      4193, 4193,    0,    0,    0, 4193, 4194, 4194, 4194, 4194,
5068         0,    0, 4194, 4194, 4195, 4195, 4195,    0,    0,    0,
5069      4195, 4196, 4196, 4196, 4196,    0,    0, 4196, 4196, 4197,
5070
5071      4197, 4197,    0,    0,    0, 4197, 4198, 4198, 4198, 4198,
5072         0,    0, 4198, 4198, 4199, 4199, 4199,    0,    0,    0,
5073      4199, 4200, 4200, 4200, 4200,    0,    0, 4200, 4200, 4201,
5074      4201, 4201, 4201,    0, 4201,    0, 4201, 4202, 4202, 4202,
5075      4202,    0,    0, 4202, 4202, 4203, 4203, 4203,    0,    0,
5076         0, 4203, 4204, 4204, 4204, 4204,    0,    0, 4204, 4204,
5077      4205, 4205, 4205,    0,    0,    0, 4205, 4206, 4206, 4206,
5078      4206,    0,    0, 4206, 4206, 4207, 4207, 4207,    0,    0,
5079         0, 4207, 4208, 4208, 4208, 4208,    0,    0, 4208, 4208,
5080      4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4209, 4210,
5081
5082      4210, 4210, 4210, 4210, 4210, 4210, 4210, 4210, 4211, 4211,
5083      4211,    0,    0,    0, 4211, 4212, 4212, 4212,    0,    0,
5084         0, 4212, 4213, 4213, 4213, 4213,    0,    0, 4213, 4213,
5085      4214, 4214, 4214,    0,    0,    0, 4214, 4215, 4215, 4215,
5086      4215,    0,    0, 4215, 4215, 4216, 4216, 4216, 4216,    0,
5087      4216,    0, 4216, 4217, 4217, 4217, 4217,    0,    0, 4217,
5088      4217, 4218, 4218, 4218,    0,    0,    0, 4218, 4219, 4219,
5089      4219, 4219,    0,    0, 4219, 4219, 4220, 4220, 4220,    0,
5090         0,    0, 4220, 4221, 4221, 4221, 4221,    0,    0, 4221,
5091      4221, 4222, 4222, 4222, 4222,    0,    0, 4222, 4222, 4223,
5092
5093      4223, 4223,    0,    0,    0, 4223, 4224, 4224, 4224, 4224,
5094         0,    0, 4224, 4224, 4225, 4225, 4225,    0,    0,    0,
5095      4225, 4226, 4226, 4226, 4226,    0,    0, 4226, 4226, 4227,
5096      4227, 4227, 4227,    0, 4227,    0, 4227, 4228, 4228, 4228,
5097      4228,    0,    0, 4228, 4228, 4229, 4229, 4229, 4229,    0,
5098         0, 4229, 4229, 4230, 4230, 4230,    0,    0,    0, 4230,
5099      4231, 4231, 4231, 4231,    0,    0, 4231, 4231, 4232, 4232,
5100      4232,    0,    0,    0, 4232, 4233, 4233, 4233, 4233,    0,
5101         0, 4233, 4233, 4234, 4234, 4234, 4234,    0,    0, 4234,
5102      4234, 4235, 4235, 4235, 4235,    0,    0, 4235, 4235, 4236,
5103
5104      4236, 4236,    0,    0,    0, 4236, 4237, 4237, 4237, 4237,
5105         0,    0, 4237, 4237, 4238, 4238, 4238,    0,    0,    0,
5106      4238, 4239, 4239, 4239, 4239,    0,    0, 4239, 4239, 4240,
5107      4240, 4240, 4240,    0, 4240,    0, 4240, 4241, 4241, 4241,
5108      4241,    0,    0, 4241, 4241, 4242, 4242, 4242,    0,    0,
5109         0, 4242, 4243, 4243, 4243, 4243,    0,    0, 4243, 4243,
5110      4244, 4244, 4244,    0,    0,    0, 4244, 4245, 4245, 4245,
5111      4245,    0,    0, 4245, 4245, 4246, 4246, 4246,    0,    0,
5112         0, 4246, 4247, 4247, 4247, 4247,    0,    0, 4247, 4247,
5113      4248, 4248, 4248,    0,    0,    0, 4248, 4249, 4249, 4249,
5114
5115      4249,    0,    0, 4249, 4249, 4250, 4250, 4250, 4250,    0,
5116      4250,    0, 4250, 4251, 4251, 4251, 4251,    0,    0, 4251,
5117      4251, 4252, 4252, 4252,    0,    0,    0, 4252, 4253, 4253,
5118      4253, 4253,    0,    0, 4253, 4253, 4254, 4254, 4254,    0,
5119         0,    0, 4254, 4255, 4255, 4255, 4255,    0,    0, 4255,
5120      4255, 4256, 4256, 4256,    0,    0,    0, 4256, 4257, 4257,
5121      4257, 4257,    0,    0, 4257, 4257, 4258, 4258, 4258,    0,
5122         0,    0, 4258, 4259, 4259, 4259, 4259,    0,    0, 4259,
5123      4259, 4260, 4260, 4260,    0,    0,    0, 4260, 4261, 4261,
5124      4261, 4261,    0,    0, 4261, 4261, 4262, 4262, 4262,    0,
5125
5126         0,    0, 4262, 4263, 4263, 4263, 4263,    0,    0, 4263,
5127      4263, 4264, 4264, 4264,    0,    0,    0, 4264, 4265, 4265,
5128      4265, 4265,    0,    0, 4265, 4265, 4266, 4266, 4266,    0,
5129         0,    0, 4266, 4267, 4267, 4267, 4267,    0,    0, 4267,
5130      4267, 4268, 4268, 4268,    0,    0,    0, 4268, 4269, 4269,
5131      4269, 4269,    0,    0, 4269, 4269, 4270, 4270, 4270, 4270,
5132      4270, 4270, 4270, 4270, 4270, 4271, 4271, 4271, 4271, 4271,
5133      4271, 4271, 4271, 4271, 4272, 4272, 4272,    0,    0,    0,
5134      4272, 4273, 4273, 4273, 4273,    0, 4273,    0, 4273, 4274,
5135      4274, 4274, 4274,    0,    0, 4274, 4274, 4275, 4275, 4275,
5136
5137         0,    0,    0, 4275, 4276, 4276, 4276, 4276,    0,    0,
5138      4276, 4276, 4277, 4277, 4277, 4277,    0,    0, 4277, 4277,
5139      4278, 4278, 4278,    0,    0,    0, 4278, 4279, 4279, 4279,
5140      4279,    0,    0, 4279, 4279, 4280, 4280, 4280, 4280,    0,
5141      4280,    0, 4280, 4281, 4281, 4281, 4281,    0,    0, 4281,
5142      4281, 4282, 4282, 4282, 4282,    0,    0, 4282, 4282, 4283,
5143      4283, 4283, 4283,    0, 4283,    0, 4283, 4284, 4284, 4284,
5144      4284,    0,    0, 4284, 4284, 4285, 4285, 4285, 4285,    0,
5145      4285,    0, 4285, 4286, 4286, 4286, 4286,    0,    0, 4286,
5146      4286, 4287, 4287, 4287, 4287,    0, 4287,    0, 4287, 4288,
5147
5148      4288, 4288, 4288,    0,    0, 4288, 4288, 4289, 4289, 4289,
5149      4289,    0,    0, 4289, 4289, 4290, 4290, 4290,    0,    0,
5150         0, 4290, 4291, 4291, 4291, 4291,    0,    0, 4291, 4291,
5151      4292, 4292, 4292,    0,    0,    0, 4292, 4293, 4293, 4293,
5152      4293,    0,    0, 4293, 4293, 4294, 4294, 4294, 4294,    0,
5153         0, 4294, 4294, 4295, 4295, 4295, 4295,    0,    0, 4295,
5154      4295, 4296, 4296, 4296,    0,    0,    0, 4296, 4297, 4297,
5155      4297, 4297,    0,    0, 4297, 4297, 4298, 4298, 4298,    0,
5156         0,    0, 4298, 4299, 4299, 4299, 4299,    0,    0, 4299,
5157      4299, 4300, 4300, 4300, 4300,    0,    0, 4300, 4300, 4301,
5158
5159      4301, 4301,    0,    0,    0, 4301, 4302, 4302, 4302, 4302,
5160         0,    0, 4302, 4302, 4303, 4303, 4303,    0,    0,    0,
5161      4303, 4304, 4304, 4304, 4304,    0,    0, 4304, 4304, 4305,
5162      4305, 4305,    0,    0,    0, 4305, 4306, 4306, 4306, 4306,
5163         0,    0, 4306, 4306, 4307, 4307, 4307,    0,    0,    0,
5164      4307, 4308, 4308, 4308, 4308,    0,    0, 4308, 4308, 4309,
5165      4309, 4309, 4309,    0,    0, 4309, 4309, 4310, 4310, 4310,
5166         0,    0,    0, 4310, 4311, 4311, 4311, 4311,    0,    0,
5167      4311, 4311, 4312, 4312, 4312,    0,    0,    0, 4312, 4313,
5168      4313, 4313, 4313,    0,    0, 4313, 4313, 4314, 4314, 4314,
5169
5170         0,    0,    0, 4314, 4315, 4315, 4315, 4315,    0,    0,
5171      4315, 4315, 4316, 4316, 4316, 4316,    0, 4316,    0, 4316,
5172      4317, 4317, 4317, 4317,    0,    0, 4317, 4317, 4318, 4318,
5173      4318,    0,    0,    0, 4318, 4319, 4319, 4319, 4319,    0,
5174         0, 4319, 4319, 4320, 4320, 4320,    0,    0,    0, 4320,
5175      4321, 4321, 4321, 4321,    0,    0, 4321, 4321, 4322, 4322,
5176      4322,    0,    0,    0, 4322, 4323, 4323, 4323, 4323,    0,
5177         0, 4323, 4323, 4324, 4324, 4324,    0,    0,    0, 4324,
5178      4325, 4325, 4325, 4325,    0,    0, 4325, 4325, 4326, 4326,
5179      4326, 4326,    0, 4326,    0, 4326, 4327, 4327, 4327, 4327,
5180
5181         0,    0, 4327, 4327, 4328, 4328, 4328, 4328, 4328, 4328,
5182      4328, 4328, 4328, 4329, 4329, 4329, 4329, 4329, 4329, 4329,
5183      4329, 4329, 4330, 4330, 4330, 4330,    0, 4330,    0, 4330,
5184      4331, 4331, 4331,    0,    0,    0, 4331, 4332, 4332, 4332,
5185      4332,    0,    0, 4332, 4332, 4333, 4333, 4333,    0,    0,
5186         0, 4333, 4334, 4334, 4334, 4334,    0,    0, 4334, 4334,
5187      4335, 4335, 4335, 4335,    0,    0, 4335, 4335, 4336, 4336,
5188      4336,    0,    0,    0, 4336, 4337, 4337, 4337, 4337,    0,
5189         0, 4337, 4337, 4338, 4338, 4338, 4338,    0,    0, 4338,
5190      4338, 4339, 4339, 4339, 4339,    0,    0, 4339, 4339, 4340,
5191
5192      4340, 4340, 4340,    0,    0, 4340, 4340, 4341, 4341, 4341,
5193      4341,    0, 4341,    0, 4341, 4342, 4342, 4342, 4342,    0,
5194         0, 4342, 4342, 4343, 4343, 4343,    0,    0,    0, 4343,
5195      4344, 4344, 4344, 4344,    0,    0, 4344, 4344, 4345, 4345,
5196      4345, 4345,    0,    0, 4345, 4345, 4346, 4346, 4346, 4346,
5197         0, 4346,    0, 4346, 4347, 4347, 4347,    0,    0,    0,
5198      4347, 4348, 4348, 4348, 4348,    0,    0, 4348, 4348, 4349,
5199      4349, 4349, 4349,    0,    0, 4349, 4349, 4350, 4350, 4350,
5200         0,    0,    0, 4350, 4351, 4351, 4351,    0,    0,    0,
5201      4351, 4352, 4352, 4352, 4352,    0,    0, 4352, 4352, 4353,
5202
5203      4353, 4353, 4353,    0,    0, 4353, 4353, 4354, 4354, 4354,
5204         0,    0,    0, 4354, 4355, 4355, 4355, 4355,    0,    0,
5205      4355, 4355, 4356, 4356, 4356,    0,    0,    0, 4356, 4357,
5206      4357, 4357, 4357,    0, 4357,    0, 4357, 4358, 4358, 4358,
5207      4358,    0,    0, 4358, 4358, 4359, 4359, 4359,    0,    0,
5208         0, 4359, 4360, 4360, 4360, 4360,    0,    0, 4360, 4360,
5209      4361, 4361, 4361,    0,    0,    0, 4361, 4362, 4362, 4362,
5210      4362,    0,    0, 4362, 4362, 4363, 4363, 4363,    0,    0,
5211         0, 4363, 4364, 4364, 4364, 4364,    0,    0, 4364, 4364,
5212      4365, 4365, 4365,    0,    0,    0, 4365, 4366, 4366, 4366,
5213
5214      4366,    0,    0, 4366, 4366, 4367, 4367, 4367, 4367,    0,
5215      4367,    0, 4367, 4368, 4368, 4368, 4368,    0,    0, 4368,
5216      4368, 4369, 4369, 4369, 4369,    0, 4369,    0, 4369, 4370,
5217      4370, 4370, 4370,    0,    0, 4370, 4370, 4371, 4371, 4371,
5218         0,    0,    0, 4371, 4372, 4372, 4372, 4372,    0,    0,
5219      4372, 4372, 4373, 4373, 4373, 4373,    0, 4373,    0, 4373,
5220      4374, 4374, 4374, 4374,    0,    0, 4374, 4374, 4375, 4375,
5221      4375, 4375,    0, 4375,    0, 4375, 4376, 4376, 4376,    0,
5222         0,    0, 4376, 4377, 4377, 4377, 4377,    0,    0, 4377,
5223      4377, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378, 4378,
5224
5225      4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4379, 4380,
5226      4380, 4380,    0,    0,    0, 4380, 4381, 4381, 4381, 4381,
5227         0,    0, 4381, 4381, 4382, 4382, 4382, 4382,    0, 4382,
5228         0, 4382, 4383, 4383, 4383, 4383,    0,    0, 4383, 4383,
5229      4384, 4384, 4384,    0,    0,    0, 4384, 4385, 4385, 4385,
5230      4385,    0,    0, 4385, 4385, 4386, 4386, 4386, 4386,    0,
5231         0, 4386, 4386, 4387, 4387, 4387, 4387,    0,    0, 4387,
5232      4387, 4388, 4388, 4388, 4388,    0,    0, 4388, 4388, 4389,
5233      4389, 4389, 4389,    0,    0, 4389, 4389, 4390, 4390, 4390,
5234         0,    0,    0, 4390, 4391, 4391, 4391, 4391,    0,    0,
5235
5236      4391, 4391, 4392, 4392, 4392, 4392,    0,    0, 4392, 4392,
5237      4393, 4393, 4393, 4393,    0, 4393,    0, 4393, 4394, 4394,
5238      4394,    0,    0,    0, 4394, 4395, 4395, 4395, 4395,    0,
5239         0, 4395, 4395, 4396, 4396, 4396, 4396,    0,    0, 4396,
5240      4396, 4397, 4397, 4397,    0,    0,    0, 4397, 4398, 4398,
5241      4398,    0,    0,    0, 4398, 4399, 4399, 4399, 4399,    0,
5242         0, 4399, 4399, 4400, 4400, 4400, 4400,    0,    0, 4400,
5243      4400, 4401, 4401, 4401,    0,    0,    0, 4401, 4402, 4402,
5244      4402,    0,    0,    0, 4402, 4403, 4403, 4403, 4403,    0,
5245         0, 4403, 4403, 4404, 4404, 4404, 4404,    0, 4404,    0,
5246
5247      4404, 4405, 4405, 4405, 4405,    0,    0, 4405, 4405, 4406,
5248      4406, 4406,    0,    0,    0, 4406, 4407, 4407, 4407, 4407,
5249         0,    0, 4407, 4407, 4408, 4408, 4408,    0,    0,    0,
5250      4408, 4409, 4409, 4409,    0,    0,    0, 4409, 4410, 4410,
5251      4410, 4410,    0,    0, 4410, 4410, 4411, 4411, 4411, 4411,
5252         0,    0, 4411, 4411, 4412, 4412, 4412, 4412,    0,    0,
5253      4412, 4412, 4413, 4413, 4413,    0,    0,    0, 4413, 4414,
5254      4414, 4414, 4414,    0,    0, 4414, 4414, 4415, 4415, 4415,
5255         0,    0,    0, 4415, 4416, 4416, 4416, 4416,    0,    0,
5256      4416, 4416, 4417, 4417, 4417, 4417, 4417, 4417, 4417, 4417,
5257
5258      4417, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418, 4418,
5259      4419, 4419, 4419,    0,    0,    0, 4419, 4420, 4420, 4420,
5260      4420,    0,    0, 4420, 4420, 4421, 4421, 4421, 4421,    0,
5261      4421,    0, 4421, 4422, 4422, 4422, 4422,    0,    0, 4422,
5262      4422, 4423, 4423, 4423, 4423,    0, 4423,    0, 4423, 4424,
5263      4424, 4424, 4424,    0,    0, 4424, 4424, 4425, 4425, 4425,
5264      4425,    0,    0, 4425, 4425, 4426, 4426, 4426, 4426,    0,
5265         0, 4426, 4426, 4427, 4427, 4427, 4427,    0,    0, 4427,
5266      4427, 4428, 4428, 4428, 4428,    0,    0, 4428, 4428, 4429,
5267      4429, 4429,    0,    0,    0, 4429, 4430, 4430, 4430, 4430,
5268
5269         0,    0, 4430, 4430, 4431, 4431, 4431,    0,    0,    0,
5270      4431, 4432, 4432, 4432, 4432,    0,    0, 4432, 4432, 4433,
5271      4433, 4433, 4433,    0,    0, 4433, 4433, 4434, 4434, 4434,
5272      4434,    0, 4434,    0, 4434, 4435, 4435, 4435, 4435,    0,
5273      4435,    0, 4435, 4436, 4436, 4436, 4436,    0,    0, 4436,
5274      4436, 4437, 4437, 4437, 4437,    0,    0, 4437, 4437, 4438,
5275      4438, 4438, 4438,    0, 4438,    0, 4438, 4439, 4439, 4439,
5276         0,    0,    0, 4439, 4440, 4440, 4440, 4440,    0,    0,
5277      4440, 4440, 4441, 4441, 4441, 4441,    0, 4441,    0, 4441,
5278      4442, 4442, 4442, 4442,    0,    0, 4442, 4442, 4443, 4443,
5279
5280      4443, 4443,    0, 4443,    0, 4443, 4444, 4444, 4444,    0,
5281         0,    0, 4444, 4445, 4445, 4445,    0,    0,    0, 4445,
5282      4446, 4446, 4446, 4446,    0,    0, 4446, 4446, 4447, 4447,
5283      4447, 4447,    0,    0, 4447, 4447, 4448, 4448, 4448,    0,
5284         0,    0, 4448, 4449, 4449, 4449, 4449,    0,    0, 4449,
5285      4449, 4450, 4450, 4450,    0,    0,    0, 4450, 4451, 4451,
5286      4451, 4451,    0,    0, 4451, 4451, 4452, 4452, 4452, 4452,
5287      4452, 4452, 4452, 4452, 4452, 4453, 4453, 4453, 4453, 4453,
5288      4453, 4453, 4453, 4453, 4454, 4454, 4454,    0,    0,    0,
5289      4454, 4455, 4455, 4455, 4455,    0, 4455,    0, 4455, 4456,
5290
5291      4456, 4456, 4456,    0,    0, 4456, 4456, 4457, 4457, 4457,
5292      4457,    0,    0, 4457, 4457, 4458, 4458, 4458, 4458,    0,
5293         0, 4458, 4458, 4459, 4459, 4459, 4459,    0,    0, 4459,
5294      4459, 4460, 4460, 4460, 4460,    0,    0, 4460, 4460, 4461,
5295      4461, 4461,    0,    0,    0, 4461, 4462, 4462, 4462,    0,
5296         0,    0, 4462, 4463, 4463, 4463, 4463,    0,    0, 4463,
5297      4463, 4464, 4464, 4464,    0,    0,    0, 4464, 4465, 4465,
5298      4465, 4465,    0,    0, 4465, 4465, 4466, 4466, 4466, 4466,
5299         0,    0, 4466, 4466, 4467, 4467, 4467,    0,    0,    0,
5300      4467, 4468, 4468, 4468, 4468,    0,    0, 4468, 4468, 4469,
5301
5302      4469, 4469, 4469,    0, 4469,    0, 4469, 4470, 4470, 4470,
5303      4470, 4470, 4470, 4470, 4470, 4470, 4471, 4471, 4471, 4471,
5304      4471, 4471, 4471, 4471, 4471, 4472, 4472, 4472, 4472, 4472,
5305      4472, 4472, 4472, 4472, 4473, 4473, 4473, 4473, 4473, 4473,
5306      4473, 4473, 4473, 4474, 4474, 4474, 4474, 4474, 4474, 4474,
5307      4474, 4474, 4475, 4475, 4475, 4475, 4475, 4475, 4475, 4475,
5308      4475, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5309      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5310      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5311      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5312
5313      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5314      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5315      3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912, 3912,
5316      3912, 3912, 3912, 3912, 3912, 3912
5317     } ;
5318
5319 /* Table of booleans, true if rule could match eol. */
5320 static const flex_int32_t yy_rule_can_match_eol[650] =
5321     {   0,
5322 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 
5323     1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5324     1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 
5325     1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 
5326     0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5327     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 
5328     1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
5329     1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5330     1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
5331     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5332     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5333     1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5334     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 
5335     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5336     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 
5337     1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5338     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 
5339     1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 
5340     1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 
5341     1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5342     1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 
5343     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 
5344     0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 
5345     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 
5346     0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 
5347     0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 
5348     1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 
5349     1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 
5350     1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5351     1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 
5352     1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
5353     1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 
5354     0, 0, 0, 0, 1, 0, 0, 0, 1, 0,     };
5355
5356 static yy_state_type yy_last_accepting_state;
5357 static char *yy_last_accepting_cpos;
5358
5359 extern int yy_flex_debug;
5360 int yy_flex_debug = 0;
5361
5362 /* The intent behind this definition is that it'll catch
5363  * any uses of REJECT which flex missed.
5364  */
5365 #define REJECT reject_used_but_not_detected
5366 #define yymore() yymore_used_but_not_detected
5367 #define YY_MORE_ADJ 0
5368 #define YY_RESTORE_YY_MORE_OFFSET
5369 char *yytext;
5370 /* Validating XML processor for src/surf/xml/simgrid.dtd.
5371  *
5372  * This program was generated with the FleXML XML processor generator.
5373  * FleXML is Copyright (C) 1999-2005 Kristoffer Rose.  All rights reserved.
5374  * FleXML is Copyright (C) 2003-2013 Martin Quinson.  All rights reserved.
5375  * (1.9.6).
5376  * 
5377  * There are two, intertwined parts to this program, part A and part B.
5378  *
5379  * Part A
5380  * ------
5381  * 
5382  * Some parts, here collectively called "Part A", are found in the 
5383  * FleXML package.  They are Copyright (C) 1999-2005 Kristoffer Rose
5384  * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved.
5385  *
5386  * You can redistribute, use, perform, display and/or modify "Part A"
5387  * provided the following two conditions hold:
5388  *
5389  * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
5390  *    FleXML; without even the implied warranty of MERCHANTABILITY or
5391  *    FITNESS FOR A PARTICULAR PURPOSE.
5392  *
5393  * 2. The program distribution conditions do not in any way affect the
5394  *    distribution conditions of the FleXML system used to generate this
5395  *    file or any version of FleXML derived from that system.
5396  *
5397  * Notice that these are explicit rights granted to you for files
5398  * generated by the FleXML system.  For your rights in connection with
5399  * the FleXML system itself please consult the GNU General Public License.
5400  * 
5401  * Part B
5402  * ------
5403  * 
5404  * The other parts, here collectively called "Part B", and which came 
5405  * from the DTD used by FleXML to generate this program, can be 
5406  * distributed (or not, as the case may be) under the terms of whoever
5407  * wrote them, provided these terms respect and obey the two conditions 
5408  * above under the heading "Part A".
5409  *
5410  * The author of and contributors to FleXML specifically disclaim
5411  * any copyright interest in "Part B", unless "Part B" was written 
5412  * by the author of or contributors to FleXML.
5413  * 
5414  */
5415
5416 /* Version strings. */
5417 const char simgrid_parse_flexml_version[] = "1.9.6";
5418
5419 /* ANSI headers. */
5420 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
5421 #include <stdio.h>
5422 #include <string.h>
5423 #include <assert.h>
5424 #include <stdarg.h>
5425 #include <ctype.h>
5426      
5427 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
5428 # ifndef __STRICT_ANSI__
5429 #  include <io.h>
5430 #  include <process.h>
5431 # endif
5432 #else
5433 # include <unistd.h>
5434 #endif
5435      
5436 #ifndef FLEXML_INDEXSTACKSIZE
5437 #define FLEXML_INDEXSTACKSIZE 1000
5438 #endif
5439
5440 /* Generated definitions. */
5441 #define FLEXML_yylineno
5442 #ifndef FLEXML_BUFFERSTACKSIZE
5443 #define FLEXML_BUFFERSTACKSIZE 1000000
5444 #endif
5445 #define FLEXML_NEED_BUFFERLIT
5446
5447 /* XML processor api. */
5448 /* FleXML-provided data. */
5449 int simgrid_parse_pcdata_ix;
5450 extern char *simgrid_parse_bufferstack;
5451 #define simgrid_parse_pcdata (simgrid_parse_bufferstack + simgrid_parse_pcdata_ix)
5452 AT_simgrid_parse_AS_id AX_simgrid_parse_AS_id;
5453 #define A_simgrid_parse_AS_id (simgrid_parse_bufferstack + AX_simgrid_parse_AS_id)
5454 short int simgrid_parse_AS_id_isset;
5455 AT_simgrid_parse_AS_routing AX_simgrid_parse_AS_routing;
5456 #define A_simgrid_parse_AS_routing (simgrid_parse_bufferstack + AX_simgrid_parse_AS_routing)
5457 short int simgrid_parse_AS_routing_isset;
5458 AT_simgrid_parse_ASroute_dst AX_simgrid_parse_ASroute_dst;
5459 #define A_simgrid_parse_ASroute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_dst)
5460 short int simgrid_parse_ASroute_dst_isset;
5461 AT_simgrid_parse_ASroute_gw___dst AX_simgrid_parse_ASroute_gw___dst;
5462 #define A_simgrid_parse_ASroute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_gw___dst)
5463 short int simgrid_parse_ASroute_gw___dst_isset;
5464 AT_simgrid_parse_ASroute_gw___src AX_simgrid_parse_ASroute_gw___src;
5465 #define A_simgrid_parse_ASroute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_gw___src)
5466 short int simgrid_parse_ASroute_gw___src_isset;
5467 AT_simgrid_parse_ASroute_src AX_simgrid_parse_ASroute_src;
5468 #define A_simgrid_parse_ASroute_src (simgrid_parse_bufferstack + AX_simgrid_parse_ASroute_src)
5469 short int simgrid_parse_ASroute_src_isset;
5470 AT_simgrid_parse_ASroute_symmetrical AX_simgrid_parse_ASroute_symmetrical;
5471 #define A_simgrid_parse_ASroute_symmetrical AX_simgrid_parse_ASroute_symmetrical
5472 short int simgrid_parse_ASroute_symmetrical_isset;
5473 AT_simgrid_parse_actor_function AX_simgrid_parse_actor_function;
5474 #define A_simgrid_parse_actor_function (simgrid_parse_bufferstack + AX_simgrid_parse_actor_function)
5475 short int simgrid_parse_actor_function_isset;
5476 AT_simgrid_parse_actor_host AX_simgrid_parse_actor_host;
5477 #define A_simgrid_parse_actor_host (simgrid_parse_bufferstack + AX_simgrid_parse_actor_host)
5478 short int simgrid_parse_actor_host_isset;
5479 AT_simgrid_parse_actor_kill___time AX_simgrid_parse_actor_kill___time;
5480 #define A_simgrid_parse_actor_kill___time (simgrid_parse_bufferstack + AX_simgrid_parse_actor_kill___time)
5481 short int simgrid_parse_actor_kill___time_isset;
5482 AT_simgrid_parse_actor_on___failure AX_simgrid_parse_actor_on___failure;
5483 #define A_simgrid_parse_actor_on___failure AX_simgrid_parse_actor_on___failure
5484 short int simgrid_parse_actor_on___failure_isset;
5485 AT_simgrid_parse_actor_start___time AX_simgrid_parse_actor_start___time;
5486 #define A_simgrid_parse_actor_start___time (simgrid_parse_bufferstack + AX_simgrid_parse_actor_start___time)
5487 short int simgrid_parse_actor_start___time_isset;
5488 AT_simgrid_parse_argument_value AX_simgrid_parse_argument_value;
5489 #define A_simgrid_parse_argument_value (simgrid_parse_bufferstack + AX_simgrid_parse_argument_value)
5490 short int simgrid_parse_argument_value_isset;
5491 AT_simgrid_parse_backbone_bandwidth AX_simgrid_parse_backbone_bandwidth;
5492 #define A_simgrid_parse_backbone_bandwidth (simgrid_parse_bufferstack + AX_simgrid_parse_backbone_bandwidth)
5493 short int simgrid_parse_backbone_bandwidth_isset;
5494 AT_simgrid_parse_backbone_id AX_simgrid_parse_backbone_id;
5495 #define A_simgrid_parse_backbone_id (simgrid_parse_bufferstack + AX_simgrid_parse_backbone_id)
5496 short int simgrid_parse_backbone_id_isset;
5497 AT_simgrid_parse_backbone_latency AX_simgrid_parse_backbone_latency;
5498 #define A_simgrid_parse_backbone_latency (simgrid_parse_bufferstack + AX_simgrid_parse_backbone_latency)
5499 short int simgrid_parse_backbone_latency_isset;
5500 AT_simgrid_parse_bypassASroute_dst AX_simgrid_parse_bypassASroute_dst;
5501 #define A_simgrid_parse_bypassASroute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_dst)
5502 short int simgrid_parse_bypassASroute_dst_isset;
5503 AT_simgrid_parse_bypassASroute_gw___dst AX_simgrid_parse_bypassASroute_gw___dst;
5504 #define A_simgrid_parse_bypassASroute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_gw___dst)
5505 short int simgrid_parse_bypassASroute_gw___dst_isset;
5506 AT_simgrid_parse_bypassASroute_gw___src AX_simgrid_parse_bypassASroute_gw___src;
5507 #define A_simgrid_parse_bypassASroute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_gw___src)
5508 short int simgrid_parse_bypassASroute_gw___src_isset;
5509 AT_simgrid_parse_bypassASroute_src AX_simgrid_parse_bypassASroute_src;
5510 #define A_simgrid_parse_bypassASroute_src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassASroute_src)
5511 short int simgrid_parse_bypassASroute_src_isset;
5512 AT_simgrid_parse_bypassRoute_dst AX_simgrid_parse_bypassRoute_dst;
5513 #define A_simgrid_parse_bypassRoute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassRoute_dst)
5514 short int simgrid_parse_bypassRoute_dst_isset;
5515 AT_simgrid_parse_bypassRoute_src AX_simgrid_parse_bypassRoute_src;
5516 #define A_simgrid_parse_bypassRoute_src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassRoute_src)
5517 short int simgrid_parse_bypassRoute_src_isset;
5518 AT_simgrid_parse_bypassZoneRoute_dst AX_simgrid_parse_bypassZoneRoute_dst;
5519 #define A_simgrid_parse_bypassZoneRoute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_dst)
5520 short int simgrid_parse_bypassZoneRoute_dst_isset;
5521 AT_simgrid_parse_bypassZoneRoute_gw___dst AX_simgrid_parse_bypassZoneRoute_gw___dst;
5522 #define A_simgrid_parse_bypassZoneRoute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_gw___dst)
5523 short int simgrid_parse_bypassZoneRoute_gw___dst_isset;
5524 AT_simgrid_parse_bypassZoneRoute_gw___src AX_simgrid_parse_bypassZoneRoute_gw___src;
5525 #define A_simgrid_parse_bypassZoneRoute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_gw___src)
5526 short int simgrid_parse_bypassZoneRoute_gw___src_isset;
5527 AT_simgrid_parse_bypassZoneRoute_src AX_simgrid_parse_bypassZoneRoute_src;
5528 #define A_simgrid_parse_bypassZoneRoute_src (simgrid_parse_bufferstack + AX_simgrid_parse_bypassZoneRoute_src)
5529 short int simgrid_parse_bypassZoneRoute_src_isset;
5530 AT_simgrid_parse_cabinet_bw AX_simgrid_parse_cabinet_bw;
5531 #define A_simgrid_parse_cabinet_bw (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_bw)
5532 short int simgrid_parse_cabinet_bw_isset;
5533 AT_simgrid_parse_cabinet_id AX_simgrid_parse_cabinet_id;
5534 #define A_simgrid_parse_cabinet_id (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_id)
5535 short int simgrid_parse_cabinet_id_isset;
5536 AT_simgrid_parse_cabinet_lat AX_simgrid_parse_cabinet_lat;
5537 #define A_simgrid_parse_cabinet_lat (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_lat)
5538 short int simgrid_parse_cabinet_lat_isset;
5539 AT_simgrid_parse_cabinet_prefix AX_simgrid_parse_cabinet_prefix;
5540 #define A_simgrid_parse_cabinet_prefix (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_prefix)
5541 short int simgrid_parse_cabinet_prefix_isset;
5542 AT_simgrid_parse_cabinet_radical AX_simgrid_parse_cabinet_radical;
5543 #define A_simgrid_parse_cabinet_radical (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_radical)
5544 short int simgrid_parse_cabinet_radical_isset;
5545 AT_simgrid_parse_cabinet_speed AX_simgrid_parse_cabinet_speed;
5546 #define A_simgrid_parse_cabinet_speed (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_speed)
5547 short int simgrid_parse_cabinet_speed_isset;
5548 AT_simgrid_parse_cabinet_suffix AX_simgrid_parse_cabinet_suffix;
5549 #define A_simgrid_parse_cabinet_suffix (simgrid_parse_bufferstack + AX_simgrid_parse_cabinet_suffix)
5550 short int simgrid_parse_cabinet_suffix_isset;
5551 AT_simgrid_parse_cluster_bb___bw AX_simgrid_parse_cluster_bb___bw;
5552 #define A_simgrid_parse_cluster_bb___bw (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_bb___bw)
5553 short int simgrid_parse_cluster_bb___bw_isset;
5554 AT_simgrid_parse_cluster_bb___lat AX_simgrid_parse_cluster_bb___lat;
5555 #define A_simgrid_parse_cluster_bb___lat (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_bb___lat)
5556 short int simgrid_parse_cluster_bb___lat_isset;
5557 AT_simgrid_parse_cluster_bb___sharing___policy AX_simgrid_parse_cluster_bb___sharing___policy;
5558 #define A_simgrid_parse_cluster_bb___sharing___policy AX_simgrid_parse_cluster_bb___sharing___policy
5559 short int simgrid_parse_cluster_bb___sharing___policy_isset;
5560 AT_simgrid_parse_cluster_bw AX_simgrid_parse_cluster_bw;
5561 #define A_simgrid_parse_cluster_bw (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_bw)
5562 short int simgrid_parse_cluster_bw_isset;
5563 AT_simgrid_parse_cluster_core AX_simgrid_parse_cluster_core;
5564 #define A_simgrid_parse_cluster_core (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_core)
5565 short int simgrid_parse_cluster_core_isset;
5566 AT_simgrid_parse_cluster_id AX_simgrid_parse_cluster_id;
5567 #define A_simgrid_parse_cluster_id (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_id)
5568 short int simgrid_parse_cluster_id_isset;
5569 AT_simgrid_parse_cluster_lat AX_simgrid_parse_cluster_lat;
5570 #define A_simgrid_parse_cluster_lat (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_lat)
5571 short int simgrid_parse_cluster_lat_isset;
5572 AT_simgrid_parse_cluster_limiter___link AX_simgrid_parse_cluster_limiter___link;
5573 #define A_simgrid_parse_cluster_limiter___link (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_limiter___link)
5574 short int simgrid_parse_cluster_limiter___link_isset;
5575 AT_simgrid_parse_cluster_loopback___bw AX_simgrid_parse_cluster_loopback___bw;
5576 #define A_simgrid_parse_cluster_loopback___bw (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_loopback___bw)
5577 short int simgrid_parse_cluster_loopback___bw_isset;
5578 AT_simgrid_parse_cluster_loopback___lat AX_simgrid_parse_cluster_loopback___lat;
5579 #define A_simgrid_parse_cluster_loopback___lat (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_loopback___lat)
5580 short int simgrid_parse_cluster_loopback___lat_isset;
5581 AT_simgrid_parse_cluster_prefix AX_simgrid_parse_cluster_prefix;
5582 #define A_simgrid_parse_cluster_prefix (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_prefix)
5583 short int simgrid_parse_cluster_prefix_isset;
5584 AT_simgrid_parse_cluster_radical AX_simgrid_parse_cluster_radical;
5585 #define A_simgrid_parse_cluster_radical (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_radical)
5586 short int simgrid_parse_cluster_radical_isset;
5587 AT_simgrid_parse_cluster_router___id AX_simgrid_parse_cluster_router___id;
5588 #define A_simgrid_parse_cluster_router___id (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_router___id)
5589 short int simgrid_parse_cluster_router___id_isset;
5590 AT_simgrid_parse_cluster_sharing___policy AX_simgrid_parse_cluster_sharing___policy;
5591 #define A_simgrid_parse_cluster_sharing___policy AX_simgrid_parse_cluster_sharing___policy
5592 short int simgrid_parse_cluster_sharing___policy_isset;
5593 AT_simgrid_parse_cluster_speed AX_simgrid_parse_cluster_speed;
5594 #define A_simgrid_parse_cluster_speed (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_speed)
5595 short int simgrid_parse_cluster_speed_isset;
5596 AT_simgrid_parse_cluster_suffix AX_simgrid_parse_cluster_suffix;
5597 #define A_simgrid_parse_cluster_suffix (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_suffix)
5598 short int simgrid_parse_cluster_suffix_isset;
5599 AT_simgrid_parse_cluster_topo___parameters AX_simgrid_parse_cluster_topo___parameters;
5600 #define A_simgrid_parse_cluster_topo___parameters (simgrid_parse_bufferstack + AX_simgrid_parse_cluster_topo___parameters)
5601 short int simgrid_parse_cluster_topo___parameters_isset;
5602 AT_simgrid_parse_cluster_topology AX_simgrid_parse_cluster_topology;
5603 #define A_simgrid_parse_cluster_topology AX_simgrid_parse_cluster_topology
5604 short int simgrid_parse_cluster_topology_isset;
5605 AT_simgrid_parse_config_id AX_simgrid_parse_config_id;
5606 #define A_simgrid_parse_config_id (simgrid_parse_bufferstack + AX_simgrid_parse_config_id)
5607 short int simgrid_parse_config_id_isset;
5608 AT_simgrid_parse_disk_id AX_simgrid_parse_disk_id;
5609 #define A_simgrid_parse_disk_id (simgrid_parse_bufferstack + AX_simgrid_parse_disk_id)
5610 short int simgrid_parse_disk_id_isset;
5611 AT_simgrid_parse_disk_read___bw AX_simgrid_parse_disk_read___bw;
5612 #define A_simgrid_parse_disk_read___bw (simgrid_parse_bufferstack + AX_simgrid_parse_disk_read___bw)
5613 short int simgrid_parse_disk_read___bw_isset;
5614 AT_simgrid_parse_disk_write___bw AX_simgrid_parse_disk_write___bw;
5615 #define A_simgrid_parse_disk_write___bw (simgrid_parse_bufferstack + AX_simgrid_parse_disk_write___bw)
5616 short int simgrid_parse_disk_write___bw_isset;
5617 AT_simgrid_parse_host_availability___file AX_simgrid_parse_host_availability___file;
5618 #define A_simgrid_parse_host_availability___file (simgrid_parse_bufferstack + AX_simgrid_parse_host_availability___file)
5619 short int simgrid_parse_host_availability___file_isset;
5620 AT_simgrid_parse_host_coordinates AX_simgrid_parse_host_coordinates;
5621 #define A_simgrid_parse_host_coordinates (simgrid_parse_bufferstack + AX_simgrid_parse_host_coordinates)
5622 short int simgrid_parse_host_coordinates_isset;
5623 AT_simgrid_parse_host_core AX_simgrid_parse_host_core;
5624 #define A_simgrid_parse_host_core (simgrid_parse_bufferstack + AX_simgrid_parse_host_core)
5625 short int simgrid_parse_host_core_isset;
5626 AT_simgrid_parse_host_id AX_simgrid_parse_host_id;
5627 #define A_simgrid_parse_host_id (simgrid_parse_bufferstack + AX_simgrid_parse_host_id)
5628 short int simgrid_parse_host_id_isset;
5629 AT_simgrid_parse_host_pstate AX_simgrid_parse_host_pstate;
5630 #define A_simgrid_parse_host_pstate (simgrid_parse_bufferstack + AX_simgrid_parse_host_pstate)
5631 short int simgrid_parse_host_pstate_isset;
5632 AT_simgrid_parse_host_speed AX_simgrid_parse_host_speed;
5633 #define A_simgrid_parse_host_speed (simgrid_parse_bufferstack + AX_simgrid_parse_host_speed)
5634 short int simgrid_parse_host_speed_isset;
5635 AT_simgrid_parse_host_speed___file AX_simgrid_parse_host_speed___file;
5636 #define A_simgrid_parse_host_speed___file (simgrid_parse_bufferstack + AX_simgrid_parse_host_speed___file)
5637 short int simgrid_parse_host_speed___file_isset;
5638 AT_simgrid_parse_host_state___file AX_simgrid_parse_host_state___file;
5639 #define A_simgrid_parse_host_state___file (simgrid_parse_bufferstack + AX_simgrid_parse_host_state___file)
5640 short int simgrid_parse_host_state___file_isset;
5641 AT_simgrid_parse_host___link_down AX_simgrid_parse_host___link_down;
5642 #define A_simgrid_parse_host___link_down (simgrid_parse_bufferstack + AX_simgrid_parse_host___link_down)
5643 short int simgrid_parse_host___link_down_isset;
5644 AT_simgrid_parse_host___link_id AX_simgrid_parse_host___link_id;
5645 #define A_simgrid_parse_host___link_id (simgrid_parse_bufferstack + AX_simgrid_parse_host___link_id)
5646 short int simgrid_parse_host___link_id_isset;
5647 AT_simgrid_parse_host___link_up AX_simgrid_parse_host___link_up;
5648 #define A_simgrid_parse_host___link_up (simgrid_parse_bufferstack + AX_simgrid_parse_host___link_up)
5649 short int simgrid_parse_host___link_up_isset;
5650 AT_simgrid_parse_include_file AX_simgrid_parse_include_file;
5651 #define A_simgrid_parse_include_file (simgrid_parse_bufferstack + AX_simgrid_parse_include_file)
5652 short int simgrid_parse_include_file_isset;
5653 AT_simgrid_parse_link_bandwidth AX_simgrid_parse_link_bandwidth;
5654 #define A_simgrid_parse_link_bandwidth (simgrid_parse_bufferstack + AX_simgrid_parse_link_bandwidth)
5655 short int simgrid_parse_link_bandwidth_isset;
5656 AT_simgrid_parse_link_bandwidth___file AX_simgrid_parse_link_bandwidth___file;
5657 #define A_simgrid_parse_link_bandwidth___file (simgrid_parse_bufferstack + AX_simgrid_parse_link_bandwidth___file)
5658 short int simgrid_parse_link_bandwidth___file_isset;
5659 AT_simgrid_parse_link_id AX_simgrid_parse_link_id;
5660 #define A_simgrid_parse_link_id (simgrid_parse_bufferstack + AX_simgrid_parse_link_id)
5661 short int simgrid_parse_link_id_isset;
5662 AT_simgrid_parse_link_latency AX_simgrid_parse_link_latency;
5663 #define A_simgrid_parse_link_latency (simgrid_parse_bufferstack + AX_simgrid_parse_link_latency)
5664 short int simgrid_parse_link_latency_isset;
5665 AT_simgrid_parse_link_latency___file AX_simgrid_parse_link_latency___file;
5666 #define A_simgrid_parse_link_latency___file (simgrid_parse_bufferstack + AX_simgrid_parse_link_latency___file)
5667 short int simgrid_parse_link_latency___file_isset;
5668 AT_simgrid_parse_link_sharing___policy AX_simgrid_parse_link_sharing___policy;
5669 #define A_simgrid_parse_link_sharing___policy AX_simgrid_parse_link_sharing___policy
5670 short int simgrid_parse_link_sharing___policy_isset;
5671 AT_simgrid_parse_link_state___file AX_simgrid_parse_link_state___file;
5672 #define A_simgrid_parse_link_state___file (simgrid_parse_bufferstack + AX_simgrid_parse_link_state___file)
5673 short int simgrid_parse_link_state___file_isset;
5674 AT_simgrid_parse_link___ctn_direction AX_simgrid_parse_link___ctn_direction;
5675 #define A_simgrid_parse_link___ctn_direction AX_simgrid_parse_link___ctn_direction
5676 short int simgrid_parse_link___ctn_direction_isset;
5677 AT_simgrid_parse_link___ctn_id AX_simgrid_parse_link___ctn_id;
5678 #define A_simgrid_parse_link___ctn_id (simgrid_parse_bufferstack + AX_simgrid_parse_link___ctn_id)
5679 short int simgrid_parse_link___ctn_id_isset;
5680 AT_simgrid_parse_model___prop_id AX_simgrid_parse_model___prop_id;
5681 #define A_simgrid_parse_model___prop_id (simgrid_parse_bufferstack + AX_simgrid_parse_model___prop_id)
5682 short int simgrid_parse_model___prop_id_isset;
5683 AT_simgrid_parse_model___prop_value AX_simgrid_parse_model___prop_value;
5684 #define A_simgrid_parse_model___prop_value (simgrid_parse_bufferstack + AX_simgrid_parse_model___prop_value)
5685 short int simgrid_parse_model___prop_value_isset;
5686 AT_simgrid_parse_mount_name AX_simgrid_parse_mount_name;
5687 #define A_simgrid_parse_mount_name (simgrid_parse_bufferstack + AX_simgrid_parse_mount_name)
5688 short int simgrid_parse_mount_name_isset;
5689 AT_simgrid_parse_mount_storageId AX_simgrid_parse_mount_storageId;
5690 #define A_simgrid_parse_mount_storageId (simgrid_parse_bufferstack + AX_simgrid_parse_mount_storageId)
5691 short int simgrid_parse_mount_storageId_isset;
5692 AT_simgrid_parse_peer_availability___file AX_simgrid_parse_peer_availability___file;
5693 #define A_simgrid_parse_peer_availability___file (simgrid_parse_bufferstack + AX_simgrid_parse_peer_availability___file)
5694 short int simgrid_parse_peer_availability___file_isset;
5695 AT_simgrid_parse_peer_bw___in AX_simgrid_parse_peer_bw___in;
5696 #define A_simgrid_parse_peer_bw___in (simgrid_parse_bufferstack + AX_simgrid_parse_peer_bw___in)
5697 short int simgrid_parse_peer_bw___in_isset;
5698 AT_simgrid_parse_peer_bw___out AX_simgrid_parse_peer_bw___out;
5699 #define A_simgrid_parse_peer_bw___out (simgrid_parse_bufferstack + AX_simgrid_parse_peer_bw___out)
5700 short int simgrid_parse_peer_bw___out_isset;
5701 AT_simgrid_parse_peer_coordinates AX_simgrid_parse_peer_coordinates;
5702 #define A_simgrid_parse_peer_coordinates (simgrid_parse_bufferstack + AX_simgrid_parse_peer_coordinates)
5703 short int simgrid_parse_peer_coordinates_isset;
5704 AT_simgrid_parse_peer_id AX_simgrid_parse_peer_id;
5705 #define A_simgrid_parse_peer_id (simgrid_parse_bufferstack + AX_simgrid_parse_peer_id)
5706 short int simgrid_parse_peer_id_isset;
5707 AT_simgrid_parse_peer_lat AX_simgrid_parse_peer_lat;
5708 #define A_simgrid_parse_peer_lat (simgrid_parse_bufferstack + AX_simgrid_parse_peer_lat)
5709 short int simgrid_parse_peer_lat_isset;
5710 AT_simgrid_parse_peer_speed AX_simgrid_parse_peer_speed;
5711 #define A_simgrid_parse_peer_speed (simgrid_parse_bufferstack + AX_simgrid_parse_peer_speed)
5712 short int simgrid_parse_peer_speed_isset;
5713 AT_simgrid_parse_peer_speed___file AX_simgrid_parse_peer_speed___file;
5714 #define A_simgrid_parse_peer_speed___file (simgrid_parse_bufferstack + AX_simgrid_parse_peer_speed___file)
5715 short int simgrid_parse_peer_speed___file_isset;
5716 AT_simgrid_parse_peer_state___file AX_simgrid_parse_peer_state___file;
5717 #define A_simgrid_parse_peer_state___file (simgrid_parse_bufferstack + AX_simgrid_parse_peer_state___file)
5718 short int simgrid_parse_peer_state___file_isset;
5719 AT_simgrid_parse_platform_version AX_simgrid_parse_platform_version;
5720 #define A_simgrid_parse_platform_version (simgrid_parse_bufferstack + AX_simgrid_parse_platform_version)
5721 short int simgrid_parse_platform_version_isset;
5722 AT_simgrid_parse_process_function AX_simgrid_parse_process_function;
5723 #define A_simgrid_parse_process_function (simgrid_parse_bufferstack + AX_simgrid_parse_process_function)
5724 short int simgrid_parse_process_function_isset;
5725 AT_simgrid_parse_process_host AX_simgrid_parse_process_host;
5726 #define A_simgrid_parse_process_host (simgrid_parse_bufferstack + AX_simgrid_parse_process_host)
5727 short int simgrid_parse_process_host_isset;
5728 AT_simgrid_parse_process_kill___time AX_simgrid_parse_process_kill___time;
5729 #define A_simgrid_parse_process_kill___time (simgrid_parse_bufferstack + AX_simgrid_parse_process_kill___time)
5730 short int simgrid_parse_process_kill___time_isset;
5731 AT_simgrid_parse_process_on___failure AX_simgrid_parse_process_on___failure;
5732 #define A_simgrid_parse_process_on___failure AX_simgrid_parse_process_on___failure
5733 short int simgrid_parse_process_on___failure_isset;
5734 AT_simgrid_parse_process_start___time AX_simgrid_parse_process_start___time;
5735 #define A_simgrid_parse_process_start___time (simgrid_parse_bufferstack + AX_simgrid_parse_process_start___time)
5736 short int simgrid_parse_process_start___time_isset;
5737 AT_simgrid_parse_prop_id AX_simgrid_parse_prop_id;
5738 #define A_simgrid_parse_prop_id (simgrid_parse_bufferstack + AX_simgrid_parse_prop_id)
5739 short int simgrid_parse_prop_id_isset;
5740 AT_simgrid_parse_prop_value AX_simgrid_parse_prop_value;
5741 #define A_simgrid_parse_prop_value (simgrid_parse_bufferstack + AX_simgrid_parse_prop_value)
5742 short int simgrid_parse_prop_value_isset;
5743 AT_simgrid_parse_random_generator AX_simgrid_parse_random_generator;
5744 #define A_simgrid_parse_random_generator AX_simgrid_parse_random_generator
5745 short int simgrid_parse_random_generator_isset;
5746 AT_simgrid_parse_random_id AX_simgrid_parse_random_id;
5747 #define A_simgrid_parse_random_id (simgrid_parse_bufferstack + AX_simgrid_parse_random_id)
5748 short int simgrid_parse_random_id_isset;
5749 AT_simgrid_parse_random_max AX_simgrid_parse_random_max;
5750 #define A_simgrid_parse_random_max (simgrid_parse_bufferstack + AX_simgrid_parse_random_max)
5751 short int simgrid_parse_random_max_isset;
5752 AT_simgrid_parse_random_mean AX_simgrid_parse_random_mean;
5753 #define A_simgrid_parse_random_mean (simgrid_parse_bufferstack + AX_simgrid_parse_random_mean)
5754 short int simgrid_parse_random_mean_isset;
5755 AT_simgrid_parse_random_min AX_simgrid_parse_random_min;
5756 #define A_simgrid_parse_random_min (simgrid_parse_bufferstack + AX_simgrid_parse_random_min)
5757 short int simgrid_parse_random_min_isset;
5758 AT_simgrid_parse_random_radical AX_simgrid_parse_random_radical;
5759 #define A_simgrid_parse_random_radical (simgrid_parse_bufferstack + AX_simgrid_parse_random_radical)
5760 short int simgrid_parse_random_radical_isset;
5761 AT_simgrid_parse_random_seed AX_simgrid_parse_random_seed;
5762 #define A_simgrid_parse_random_seed (simgrid_parse_bufferstack + AX_simgrid_parse_random_seed)
5763 short int simgrid_parse_random_seed_isset;
5764 AT_simgrid_parse_random_std___deviation AX_simgrid_parse_random_std___deviation;
5765 #define A_simgrid_parse_random_std___deviation (simgrid_parse_bufferstack + AX_simgrid_parse_random_std___deviation)
5766 short int simgrid_parse_random_std___deviation_isset;
5767 AT_simgrid_parse_route_dst AX_simgrid_parse_route_dst;
5768 #define A_simgrid_parse_route_dst (simgrid_parse_bufferstack + AX_simgrid_parse_route_dst)
5769 short int simgrid_parse_route_dst_isset;
5770 AT_simgrid_parse_route_src AX_simgrid_parse_route_src;
5771 #define A_simgrid_parse_route_src (simgrid_parse_bufferstack + AX_simgrid_parse_route_src)
5772 short int simgrid_parse_route_src_isset;
5773 AT_simgrid_parse_route_symmetrical AX_simgrid_parse_route_symmetrical;
5774 #define A_simgrid_parse_route_symmetrical AX_simgrid_parse_route_symmetrical
5775 short int simgrid_parse_route_symmetrical_isset;
5776 AT_simgrid_parse_router_coordinates AX_simgrid_parse_router_coordinates;
5777 #define A_simgrid_parse_router_coordinates (simgrid_parse_bufferstack + AX_simgrid_parse_router_coordinates)
5778 short int simgrid_parse_router_coordinates_isset;
5779 AT_simgrid_parse_router_id AX_simgrid_parse_router_id;
5780 #define A_simgrid_parse_router_id (simgrid_parse_bufferstack + AX_simgrid_parse_router_id)
5781 short int simgrid_parse_router_id_isset;
5782 AT_simgrid_parse_storage_attach AX_simgrid_parse_storage_attach;
5783 #define A_simgrid_parse_storage_attach (simgrid_parse_bufferstack + AX_simgrid_parse_storage_attach)
5784 short int simgrid_parse_storage_attach_isset;
5785 AT_simgrid_parse_storage_content AX_simgrid_parse_storage_content;
5786 #define A_simgrid_parse_storage_content (simgrid_parse_bufferstack + AX_simgrid_parse_storage_content)
5787 short int simgrid_parse_storage_content_isset;
5788 AT_simgrid_parse_storage_id AX_simgrid_parse_storage_id;
5789 #define A_simgrid_parse_storage_id (simgrid_parse_bufferstack + AX_simgrid_parse_storage_id)
5790 short int simgrid_parse_storage_id_isset;
5791 AT_simgrid_parse_storage_typeId AX_simgrid_parse_storage_typeId;
5792 #define A_simgrid_parse_storage_typeId (simgrid_parse_bufferstack + AX_simgrid_parse_storage_typeId)
5793 short int simgrid_parse_storage_typeId_isset;
5794 AT_simgrid_parse_storage___type_content AX_simgrid_parse_storage___type_content;
5795 #define A_simgrid_parse_storage___type_content (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_content)
5796 short int simgrid_parse_storage___type_content_isset;
5797 AT_simgrid_parse_storage___type_id AX_simgrid_parse_storage___type_id;
5798 #define A_simgrid_parse_storage___type_id (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_id)
5799 short int simgrid_parse_storage___type_id_isset;
5800 AT_simgrid_parse_storage___type_model AX_simgrid_parse_storage___type_model;
5801 #define A_simgrid_parse_storage___type_model (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_model)
5802 short int simgrid_parse_storage___type_model_isset;
5803 AT_simgrid_parse_storage___type_size AX_simgrid_parse_storage___type_size;
5804 #define A_simgrid_parse_storage___type_size (simgrid_parse_bufferstack + AX_simgrid_parse_storage___type_size)
5805 short int simgrid_parse_storage___type_size_isset;
5806 AT_simgrid_parse_trace_file AX_simgrid_parse_trace_file;
5807 #define A_simgrid_parse_trace_file (simgrid_parse_bufferstack + AX_simgrid_parse_trace_file)
5808 short int simgrid_parse_trace_file_isset;
5809 AT_simgrid_parse_trace_id AX_simgrid_parse_trace_id;
5810 #define A_simgrid_parse_trace_id (simgrid_parse_bufferstack + AX_simgrid_parse_trace_id)
5811 short int simgrid_parse_trace_id_isset;
5812 AT_simgrid_parse_trace_periodicity AX_simgrid_parse_trace_periodicity;
5813 #define A_simgrid_parse_trace_periodicity (simgrid_parse_bufferstack + AX_simgrid_parse_trace_periodicity)
5814 short int simgrid_parse_trace_periodicity_isset;
5815 AT_simgrid_parse_trace___connect_element AX_simgrid_parse_trace___connect_element;
5816 #define A_simgrid_parse_trace___connect_element (simgrid_parse_bufferstack + AX_simgrid_parse_trace___connect_element)
5817 short int simgrid_parse_trace___connect_element_isset;
5818 AT_simgrid_parse_trace___connect_kind AX_simgrid_parse_trace___connect_kind;
5819 #define A_simgrid_parse_trace___connect_kind AX_simgrid_parse_trace___connect_kind
5820 short int simgrid_parse_trace___connect_kind_isset;
5821 AT_simgrid_parse_trace___connect_trace AX_simgrid_parse_trace___connect_trace;
5822 #define A_simgrid_parse_trace___connect_trace (simgrid_parse_bufferstack + AX_simgrid_parse_trace___connect_trace)
5823 short int simgrid_parse_trace___connect_trace_isset;
5824 AT_simgrid_parse_zone_id AX_simgrid_parse_zone_id;
5825 #define A_simgrid_parse_zone_id (simgrid_parse_bufferstack + AX_simgrid_parse_zone_id)
5826 short int simgrid_parse_zone_id_isset;
5827 AT_simgrid_parse_zone_routing AX_simgrid_parse_zone_routing;
5828 #define A_simgrid_parse_zone_routing (simgrid_parse_bufferstack + AX_simgrid_parse_zone_routing)
5829 short int simgrid_parse_zone_routing_isset;
5830 AT_simgrid_parse_zoneRoute_dst AX_simgrid_parse_zoneRoute_dst;
5831 #define A_simgrid_parse_zoneRoute_dst (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_dst)
5832 short int simgrid_parse_zoneRoute_dst_isset;
5833 AT_simgrid_parse_zoneRoute_gw___dst AX_simgrid_parse_zoneRoute_gw___dst;
5834 #define A_simgrid_parse_zoneRoute_gw___dst (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_gw___dst)
5835 short int simgrid_parse_zoneRoute_gw___dst_isset;
5836 AT_simgrid_parse_zoneRoute_gw___src AX_simgrid_parse_zoneRoute_gw___src;
5837 #define A_simgrid_parse_zoneRoute_gw___src (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_gw___src)
5838 short int simgrid_parse_zoneRoute_gw___src_isset;
5839 AT_simgrid_parse_zoneRoute_src AX_simgrid_parse_zoneRoute_src;
5840 #define A_simgrid_parse_zoneRoute_src (simgrid_parse_bufferstack + AX_simgrid_parse_zoneRoute_src)
5841 short int simgrid_parse_zoneRoute_src_isset;
5842 AT_simgrid_parse_zoneRoute_symmetrical AX_simgrid_parse_zoneRoute_symmetrical;
5843 #define A_simgrid_parse_zoneRoute_symmetrical AX_simgrid_parse_zoneRoute_symmetrical
5844 short int simgrid_parse_zoneRoute_symmetrical_isset;
5845
5846 /* XML state. */
5847 #ifdef FLEX_DEBUG
5848 # define ENTER(state)   debug_enter(state,#state)
5849 # define LEAVE          debug_leave()
5850 # define SET(state)     debug_set(state,#state)
5851   static void debug_enter(int, const char*);
5852   static void debug_leave(void);
5853   static void debug_set(int, const char*);
5854 #else
5855 # define ENTER(state)   (yy_push_state(state))
5856 # define LEAVE          (yy_pop_state())
5857 # define SET(state)     BEGIN(state)
5858 #endif
5859
5860 /* Generic actions. */
5861 #define SKIP    /*skip*/
5862 #define SUCCEED        CLEANUP; return 0
5863
5864 #define FAIL    return fail
5865 static int fail(const char*, ...);
5866
5867 enum {flexml_max_err_msg_size = 512};
5868 static char flexml_err_msg[flexml_max_err_msg_size];
5869 const char * simgrid_parse_parse_err_msg()
5870 {
5871     return flexml_err_msg;
5872 }
5873 static void reset_simgrid_parse_parse_err_msg()
5874 {
5875     flexml_err_msg[0] = '\0';
5876 }
5877
5878 /* Cleanup */
5879 static void cleanup(void);
5880 #define CLEANUP  cleanup()
5881
5882 /* Text buffer stack handling. */
5883 char *simgrid_parse_bufferstack = NULL;
5884 static int blimit = FLEXML_BUFFERSTACKSIZE;
5885 static int bnext = 1;
5886
5887 static int *indexstack = NULL;
5888 static int ilimit = FLEXML_INDEXSTACKSIZE;
5889 static int inext = 1;
5890
5891 #define BUFFERSET(P)  (P = bnext)
5892 #define BUFFERPUTC(C) (ck_blimit(), simgrid_parse_bufferstack[bnext++] = (C))
5893 #define BUFFERDONE    (BUFFERPUTC('\0'))
5894
5895 #define BUFFERLITERAL(C, P) simgrid_parse_bufferliteral(C, &(P), yytext)
5896
5897 /* after this is called, there are at least 2 slots left in the stack */
5898 static int ck_blimit()
5899 {
5900      if (bnext >= blimit) {
5901          blimit += FLEXML_BUFFERSTACKSIZE + 2;
5902          {
5903              char *temp = (char *) realloc(simgrid_parse_bufferstack, blimit);
5904              assert(temp);
5905              simgrid_parse_bufferstack = temp;
5906          }
5907      }
5908      return 0;
5909 }
5910
5911 /* after this is called, there are at least 2 slots left in the stack */
5912 static int ck_ilimit()
5913 {
5914      if (inext >= ilimit) {
5915          ilimit += FLEXML_INDEXSTACKSIZE + 2;
5916          {
5917              int *temp = (int *) realloc(indexstack, ilimit);
5918              assert(temp);
5919              indexstack = temp;
5920          }
5921      }
5922      return 0;
5923 }
5924
5925 #ifdef FLEXML_NEED_BUFFERLIT
5926 static void simgrid_parse_bufferliteral(char c, int* pp, const char* text)
5927 {
5928    BUFFERSET(*pp);
5929    if (c) {
5930       const char *s = strchr(text, c), *e = strrchr(text, c);
5931       assert(s && e && s <= e);
5932       ++s;
5933       while (s < e) {
5934          if (isspace(*s)) {
5935             BUFFERPUTC(' ');
5936             do ++s; while (s < e && isspace(*s));
5937          } else
5938            BUFFERPUTC(*s++);
5939       }
5940    } else {
5941       const char *s = text;
5942       while (*s)
5943         BUFFERPUTC(*s++);
5944    }
5945    BUFFERDONE;
5946 }
5947 #endif
5948
5949 static void pushbuffer(int p)
5950 {
5951     ck_ilimit();
5952     indexstack[inext++] = p;
5953     indexstack[inext++] = bnext;    
5954 }
5955
5956 static int popbuffer(void)
5957 {
5958     assert(inext >= 2);
5959     bnext = indexstack[--inext];
5960     return indexstack[--inext];
5961 }
5962
5963 /* General internal entities are `unput' back onto the input stream... */
5964 #define ENTITYTEXT(T) \
5965   { char *s = (T), *e = s+strlen(s);\
5966     while (--e >= s) { unput(*e); }}
5967
5968 /* Flex standard options. */
5969 #define YY_NO_INPUT 1
5970 /* Flex user-requested options. */
5971 /* XML character classes (currently restricted to ASCII). */
5972 /* "Common syntactic structures." */
5973 /* "Names and Tokens." */
5974 /* Miscellaneous. */
5975 /* Parser states (flex `exclusive start conditions'):
5976  *
5977  * PROLOG       the XML prolog of the document before <?xml...>
5978  * DOCTYPE      the XML prolog of the document after <?xml...>
5979  * EPILOG       after the root element
5980  * INCOMMENT    inside an XML comment <!--....-->
5981  * INPI         inside an XML PI <?...?>
5982  * VALUE1       inside a '...'-delimited literal
5983  * VALUE2       inside a "..."-delimited literal
5984  * CDATA        inside a <![CDATA[...] ]> section.
5985  * ROOT_<tag>   expect root element <tag>
5986  * AL_<tag>     inside the attribute list for <tag>
5987  * IN_<tag>     inside a <tag> with element contents (ready for end tag)
5988  * IMPOSSIBLE   dummy to permit disabling rules; must be last
5989  */
5990
5991 /* State names. */
5992 const char* *simgrid_parse_statenames=NULL;
5993
5994 #define INITIAL 0
5995 #define PROLOG 1
5996 #define DOCTYPE 2
5997 #define EPILOG 3
5998 #define INCOMMENT 4
5999 #define INPI 5
6000 #define VALUE1 6
6001 #define VALUE2 7
6002 #define CDATA 8
6003 #define AL_simgrid_parse_AS 9
6004 #define S_simgrid_parse_AS 10
6005 #define S_simgrid_parse_AS_1 11
6006 #define S_simgrid_parse_AS_2 12
6007 #define S_simgrid_parse_AS_3 13
6008 #define S_simgrid_parse_AS_4 14
6009 #define S_simgrid_parse_AS_5 15
6010 #define S_simgrid_parse_AS_6 16
6011 #define S_simgrid_parse_AS_7 17
6012 #define S_simgrid_parse_AS_8 18
6013 #define S_simgrid_parse_AS_9 19
6014 #define S_simgrid_parse_AS_10 20
6015 #define S_simgrid_parse_AS_11 21
6016 #define S_simgrid_parse_AS_12 22
6017 #define S_simgrid_parse_AS_13 23
6018 #define S_simgrid_parse_AS_14 24
6019 #define S_simgrid_parse_AS_15 25
6020 #define S_simgrid_parse_AS_16 26
6021 #define E_simgrid_parse_AS 27
6022 #define AL_simgrid_parse_ASroute 28
6023 #define S_simgrid_parse_ASroute 29
6024 #define S_simgrid_parse_ASroute_1 30
6025 #define S_simgrid_parse_ASroute_2 31
6026 #define E_simgrid_parse_ASroute 32
6027 #define AL_simgrid_parse_actor 33
6028 #define S_simgrid_parse_actor 34
6029 #define S_simgrid_parse_actor_1 35
6030 #define S_simgrid_parse_actor_2 36
6031 #define E_simgrid_parse_actor 37
6032 #define AL_simgrid_parse_argument 38
6033 #define E_simgrid_parse_argument 39
6034 #define AL_simgrid_parse_backbone 40
6035 #define E_simgrid_parse_backbone 41
6036 #define AL_simgrid_parse_bypassASroute 42
6037 #define S_simgrid_parse_bypassASroute 43
6038 #define S_simgrid_parse_bypassASroute_1 44
6039 #define S_simgrid_parse_bypassASroute_2 45
6040 #define E_simgrid_parse_bypassASroute 46
6041 #define AL_simgrid_parse_bypassRoute 47
6042 #define S_simgrid_parse_bypassRoute 48
6043 #define S_simgrid_parse_bypassRoute_1 49
6044 #define S_simgrid_parse_bypassRoute_2 50
6045 #define E_simgrid_parse_bypassRoute 51
6046 #define AL_simgrid_parse_bypassZoneRoute 52
6047 #define S_simgrid_parse_bypassZoneRoute 53
6048 #define S_simgrid_parse_bypassZoneRoute_1 54
6049 #define S_simgrid_parse_bypassZoneRoute_2 55
6050 #define E_simgrid_parse_bypassZoneRoute 56
6051 #define AL_simgrid_parse_cabinet 57
6052 #define E_simgrid_parse_cabinet 58
6053 #define AL_simgrid_parse_cluster 59
6054 #define S_simgrid_parse_cluster 60
6055 #define S_simgrid_parse_cluster_1 61
6056 #define S_simgrid_parse_cluster_2 62
6057 #define E_simgrid_parse_cluster 63
6058 #define AL_simgrid_parse_config 64
6059 #define S_simgrid_parse_config 65
6060 #define S_simgrid_parse_config_1 66
6061 #define S_simgrid_parse_config_2 67
6062 #define E_simgrid_parse_config 68
6063 #define AL_simgrid_parse_disk 69
6064 #define S_simgrid_parse_disk 70
6065 #define S_simgrid_parse_disk_1 71
6066 #define S_simgrid_parse_disk_2 72
6067 #define E_simgrid_parse_disk 73
6068 #define AL_simgrid_parse_host 74
6069 #define S_simgrid_parse_host 75
6070 #define S_simgrid_parse_host_1 76
6071 #define S_simgrid_parse_host_2 77
6072 #define E_simgrid_parse_host 78
6073 #define AL_simgrid_parse_host___link 79
6074 #define E_simgrid_parse_host___link 80
6075 #define AL_simgrid_parse_include 81
6076 #define S_simgrid_parse_include 82
6077 #define S_simgrid_parse_include_1 83
6078 #define S_simgrid_parse_include_2 84
6079 #define E_simgrid_parse_include 85
6080 #define AL_simgrid_parse_link 86
6081 #define S_simgrid_parse_link 87
6082 #define S_simgrid_parse_link_1 88
6083 #define S_simgrid_parse_link_2 89
6084 #define E_simgrid_parse_link 90
6085 #define AL_simgrid_parse_link___ctn 91
6086 #define E_simgrid_parse_link___ctn 92
6087 #define AL_simgrid_parse_model___prop 93
6088 #define E_simgrid_parse_model___prop 94
6089 #define AL_simgrid_parse_mount 95
6090 #define E_simgrid_parse_mount 96
6091 #define AL_simgrid_parse_peer 97
6092 #define E_simgrid_parse_peer 98
6093 #define ROOT_simgrid_parse_platform 99
6094 #define AL_simgrid_parse_platform 100
6095 #define S_simgrid_parse_platform 101
6096 #define S_simgrid_parse_platform_1 102
6097 #define S_simgrid_parse_platform_2 103
6098 #define S_simgrid_parse_platform_3 104
6099 #define S_simgrid_parse_platform_4 105
6100 #define S_simgrid_parse_platform_5 106
6101 #define S_simgrid_parse_platform_6 107
6102 #define S_simgrid_parse_platform_7 108
6103 #define S_simgrid_parse_platform_8 109
6104 #define E_simgrid_parse_platform 110
6105 #define AL_simgrid_parse_process 111
6106 #define S_simgrid_parse_process 112
6107 #define S_simgrid_parse_process_1 113
6108 #define S_simgrid_parse_process_2 114
6109 #define E_simgrid_parse_process 115
6110 #define AL_simgrid_parse_prop 116
6111 #define E_simgrid_parse_prop 117
6112 #define AL_simgrid_parse_random 118
6113 #define E_simgrid_parse_random 119
6114 #define AL_simgrid_parse_route 120
6115 #define S_simgrid_parse_route 121
6116 #define S_simgrid_parse_route_1 122
6117 #define S_simgrid_parse_route_2 123
6118 #define E_simgrid_parse_route 124
6119 #define AL_simgrid_parse_router 125
6120 #define E_simgrid_parse_router 126
6121 #define AL_simgrid_parse_storage 127
6122 #define S_simgrid_parse_storage 128
6123 #define S_simgrid_parse_storage_1 129
6124 #define S_simgrid_parse_storage_2 130
6125 #define E_simgrid_parse_storage 131
6126 #define AL_simgrid_parse_storage___type 132
6127 #define S_simgrid_parse_storage___type 133
6128 #define S_simgrid_parse_storage___type_1 134
6129 #define S_simgrid_parse_storage___type_2 135
6130 #define E_simgrid_parse_storage___type 136
6131 #define AL_simgrid_parse_trace 137
6132 #define IN_trace 138
6133 #define AL_simgrid_parse_trace___connect 139
6134 #define E_simgrid_parse_trace___connect 140
6135 #define AL_simgrid_parse_zone 141
6136 #define S_simgrid_parse_zone 142
6137 #define S_simgrid_parse_zone_1 143
6138 #define S_simgrid_parse_zone_2 144
6139 #define S_simgrid_parse_zone_3 145
6140 #define S_simgrid_parse_zone_4 146
6141 #define S_simgrid_parse_zone_5 147
6142 #define S_simgrid_parse_zone_6 148
6143 #define S_simgrid_parse_zone_7 149
6144 #define S_simgrid_parse_zone_8 150
6145 #define S_simgrid_parse_zone_9 151
6146 #define S_simgrid_parse_zone_10 152
6147 #define S_simgrid_parse_zone_11 153
6148 #define S_simgrid_parse_zone_12 154
6149 #define S_simgrid_parse_zone_13 155
6150 #define S_simgrid_parse_zone_14 156
6151 #define S_simgrid_parse_zone_15 157
6152 #define S_simgrid_parse_zone_16 158
6153 #define E_simgrid_parse_zone 159
6154 #define AL_simgrid_parse_zoneRoute 160
6155 #define S_simgrid_parse_zoneRoute 161
6156 #define S_simgrid_parse_zoneRoute_1 162
6157 #define S_simgrid_parse_zoneRoute_2 163
6158 #define E_simgrid_parse_zoneRoute 164
6159 #define IMPOSSIBLE 165
6160
6161 #ifndef YY_NO_UNISTD_H
6162 /* Special case for "unistd.h", since it is non-ANSI. We include it way
6163  * down here because we want the user's section 1 to have been scanned first.
6164  * The user has a chance to override it with an option.
6165  */
6166 #include <unistd.h>
6167 #endif
6168
6169 #ifndef YY_EXTRA_TYPE
6170 #define YY_EXTRA_TYPE void *
6171 #endif
6172
6173 static int yy_init_globals ( void );
6174
6175 /* Accessor methods to globals.
6176    These are made visible to non-reentrant scanners for convenience. */
6177
6178 int yylex_destroy ( void );
6179
6180 int yyget_debug ( void );
6181
6182 void yyset_debug ( int debug_flag  );
6183
6184 YY_EXTRA_TYPE yyget_extra ( void );
6185
6186 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
6187
6188 FILE *yyget_in ( void );
6189
6190 void yyset_in  ( FILE * _in_str  );
6191
6192 FILE *yyget_out ( void );
6193
6194 void yyset_out  ( FILE * _out_str  );
6195
6196                         int yyget_leng ( void );
6197
6198 char *yyget_text ( void );
6199
6200 int yyget_lineno ( void );
6201
6202 void yyset_lineno ( int _line_number  );
6203
6204 /* Macros after this point can all be overridden by user definitions in
6205  * section 1.
6206  */
6207
6208 #ifndef YY_SKIP_YYWRAP
6209 #ifdef __cplusplus
6210 extern "C" int yywrap ( void );
6211 #else
6212 extern int yywrap ( void );
6213 #endif
6214 #endif
6215
6216 #ifndef YY_NO_UNPUT
6217     
6218 #endif
6219
6220 #ifndef yytext_ptr
6221 static void yy_flex_strncpy ( char *, const char *, int );
6222 #endif
6223
6224 #ifdef YY_NEED_STRLEN
6225 static int yy_flex_strlen ( const char * );
6226 #endif
6227
6228 #ifndef YY_NO_INPUT
6229 #ifdef __cplusplus
6230 static int yyinput ( void );
6231 #else
6232 static int input ( void );
6233 #endif
6234
6235 #endif
6236
6237         static int yy_start_stack_ptr = 0;
6238         static int yy_start_stack_depth = 0;
6239         static int *yy_start_stack = NULL;
6240     
6241     static void yy_push_state ( int _new_state );
6242     
6243     static void yy_pop_state ( void );
6244     
6245 /* Amount of stuff to slurp up with each read. */
6246 #ifndef YY_READ_BUF_SIZE
6247 #ifdef __ia64__
6248 /* On IA-64, the buffer size is 16k, not 8k */
6249 #define YY_READ_BUF_SIZE 16384
6250 #else
6251 #define YY_READ_BUF_SIZE 8192
6252 #endif /* __ia64__ */
6253 #endif
6254
6255 /* Copy whatever the last rule matched to the standard output. */
6256 #ifndef ECHO
6257 /* This used to be an fputs(), but since the string might contain NUL's,
6258  * we now use fwrite().
6259  */
6260 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
6261 #endif
6262
6263 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
6264  * is returned in "result".
6265  */
6266 #ifndef YY_INPUT
6267 #define YY_INPUT(buf,result,max_size) \
6268         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
6269                 { \
6270                 int c = '*'; \
6271                 int n; \
6272                 for ( n = 0; n < max_size && \
6273                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
6274                         buf[n] = (char) c; \
6275                 if ( c == '\n' ) \
6276                         buf[n++] = (char) c; \
6277                 if ( c == EOF && ferror( yyin ) ) \
6278                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
6279                 result = n; \
6280                 } \
6281         else \
6282                 { \
6283                 errno=0; \
6284                 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
6285                         { \
6286                         if( errno != EINTR) \
6287                                 { \
6288                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
6289                                 break; \
6290                                 } \
6291                         errno=0; \
6292                         clearerr(yyin); \
6293                         } \
6294                 }\
6295 \
6296
6297 #endif
6298
6299 /* No semi-colon after return; correct usage is to write "yyterminate();" -
6300  * we don't want an extra ';' after the "return" because that will cause
6301  * some compilers to complain about unreachable statements.
6302  */
6303 #ifndef yyterminate
6304 #define yyterminate() return YY_NULL
6305 #endif
6306
6307 /* Number of entries by which start-condition stack grows. */
6308 #ifndef YY_START_STACK_INCR
6309 #define YY_START_STACK_INCR 25
6310 #endif
6311
6312 /* Report a fatal error. */
6313 #ifndef YY_FATAL_ERROR
6314 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
6315 #endif
6316
6317 /* end tables serialization structures and prototypes */
6318
6319 /* Default declaration of generated scanner - a define so the user can
6320  * easily add parameters.
6321  */
6322 #ifndef YY_DECL
6323 #define YY_DECL_IS_OURS 1
6324
6325 extern int yylex (void);
6326
6327 #define YY_DECL int yylex (void)
6328 #endif /* !YY_DECL */
6329
6330 /* Code executed at the beginning of each rule, after yytext and yyleng
6331  * have been set up.
6332  */
6333 #ifndef YY_USER_ACTION
6334 #define YY_USER_ACTION
6335 #endif
6336
6337 /* Code executed at the end of each rule. */
6338 #ifndef YY_BREAK
6339 #define YY_BREAK /*LINTED*/break;
6340 #endif
6341
6342 #define YY_RULE_SETUP \
6343         YY_USER_ACTION
6344
6345 /** The main scanner function which does all the work.
6346  */
6347 YY_DECL
6348 {
6349         yy_state_type yy_current_state;
6350         char *yy_cp, *yy_bp;
6351         int yy_act;
6352     
6353         if ( !(yy_init) )
6354                 {
6355                 (yy_init) = 1;
6356
6357 #ifdef YY_USER_INIT
6358                 YY_USER_INIT;
6359 #endif
6360
6361                 if ( ! (yy_start) )
6362                         (yy_start) = 1; /* first start state */
6363
6364                 if ( ! yyin )
6365                         yyin = stdin;
6366
6367                 if ( ! yyout )
6368                         yyout = stdout;
6369
6370                 if ( ! YY_CURRENT_BUFFER ) {
6371                         yyensure_buffer_stack ();
6372                         YY_CURRENT_BUFFER_LVALUE =
6373                                 yy_create_buffer( yyin, YY_BUF_SIZE );
6374                 }
6375
6376                 yy_load_buffer_state(  );
6377                 }
6378
6379         {
6380
6381  /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
6382  SET(PROLOG);
6383  reset_simgrid_parse_parse_err_msg();
6384  simgrid_parse_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
6385  assert(simgrid_parse_bufferstack);
6386  #ifdef FLEX_DEBUG
6387  {
6388      int i;
6389      for (i = 0; i < blimit; i++) {
6390          simgrid_parse_bufferstack[i] = '\377';
6391      }
6392  }
6393  #endif
6394  simgrid_parse_bufferstack[0] = '\0';
6395  indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
6396  assert(indexstack);
6397  indexstack[0] = 0;
6398
6399   /* FleXML_init */
6400   bnext = inext = 1;
6401   simgrid_parse_bufferliteral('\0', &bnext, "0.0");
6402   simgrid_parse_bufferliteral('\0', &bnext, "2147483647");
6403   simgrid_parse_bufferliteral('\0', &bnext, "N11");
6404   simgrid_parse_bufferliteral('\0', &bnext, "1");
6405   simgrid_parse_bufferliteral('\0', &bnext, "0.0");
6406   simgrid_parse_bufferliteral('\0', &bnext, "/");
6407   simgrid_parse_bufferliteral('\0', &bnext, "1");
6408   simgrid_parse_bufferliteral('\0', &bnext, "0s");
6409   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6410   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6411   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6412   simgrid_parse_bufferliteral('\0', &bnext, "-1.0");
6413   if(!simgrid_parse_statenames) {simgrid_parse_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
6414   simgrid_parse_statenames[PROLOG] = NULL;
6415   simgrid_parse_statenames[DOCTYPE] = NULL;
6416   simgrid_parse_statenames[EPILOG] = NULL;
6417   simgrid_parse_statenames[INCOMMENT] = NULL;
6418   simgrid_parse_statenames[INPI] = NULL;
6419   simgrid_parse_statenames[VALUE1] = NULL;
6420   simgrid_parse_statenames[VALUE2] = NULL;
6421   simgrid_parse_statenames[CDATA] = NULL;
6422   simgrid_parse_statenames[AL_simgrid_parse_AS] = NULL;
6423   simgrid_parse_statenames[S_simgrid_parse_AS] = "AS";
6424   simgrid_parse_statenames[S_simgrid_parse_AS_1] = "AS";
6425   simgrid_parse_statenames[S_simgrid_parse_AS_2] = "AS";
6426   simgrid_parse_statenames[S_simgrid_parse_AS_3] = "AS";
6427   simgrid_parse_statenames[S_simgrid_parse_AS_4] = "AS";
6428   simgrid_parse_statenames[S_simgrid_parse_AS_5] = "AS";
6429   simgrid_parse_statenames[S_simgrid_parse_AS_6] = "AS";
6430   simgrid_parse_statenames[S_simgrid_parse_AS_7] = "AS";
6431   simgrid_parse_statenames[S_simgrid_parse_AS_8] = "AS";
6432   simgrid_parse_statenames[S_simgrid_parse_AS_9] = "AS";
6433   simgrid_parse_statenames[S_simgrid_parse_AS_10] = "AS";
6434   simgrid_parse_statenames[S_simgrid_parse_AS_11] = "AS";
6435   simgrid_parse_statenames[S_simgrid_parse_AS_12] = "AS";
6436   simgrid_parse_statenames[S_simgrid_parse_AS_13] = "AS";
6437   simgrid_parse_statenames[S_simgrid_parse_AS_14] = "AS";
6438   simgrid_parse_statenames[S_simgrid_parse_AS_15] = "AS";
6439   simgrid_parse_statenames[S_simgrid_parse_AS_16] = "AS";
6440   simgrid_parse_statenames[E_simgrid_parse_AS] = "AS";
6441   simgrid_parse_statenames[AL_simgrid_parse_ASroute] = NULL;
6442   simgrid_parse_statenames[S_simgrid_parse_ASroute] = "ASroute";
6443   simgrid_parse_statenames[S_simgrid_parse_ASroute_1] = "ASroute";
6444   simgrid_parse_statenames[S_simgrid_parse_ASroute_2] = "ASroute";
6445   simgrid_parse_statenames[E_simgrid_parse_ASroute] = "ASroute";
6446   simgrid_parse_statenames[AL_simgrid_parse_actor] = NULL;
6447   simgrid_parse_statenames[S_simgrid_parse_actor] = "actor";
6448   simgrid_parse_statenames[S_simgrid_parse_actor_1] = "actor";
6449   simgrid_parse_statenames[S_simgrid_parse_actor_2] = "actor";
6450   simgrid_parse_statenames[E_simgrid_parse_actor] = "actor";
6451   simgrid_parse_statenames[AL_simgrid_parse_argument] = NULL;
6452   simgrid_parse_statenames[E_simgrid_parse_argument] = "argument";
6453   simgrid_parse_statenames[AL_simgrid_parse_backbone] = NULL;
6454   simgrid_parse_statenames[E_simgrid_parse_backbone] = "backbone";
6455   simgrid_parse_statenames[AL_simgrid_parse_bypassASroute] = NULL;
6456   simgrid_parse_statenames[S_simgrid_parse_bypassASroute] = "bypassASroute";
6457   simgrid_parse_statenames[S_simgrid_parse_bypassASroute_1] = "bypassASroute";
6458   simgrid_parse_statenames[S_simgrid_parse_bypassASroute_2] = "bypassASroute";
6459   simgrid_parse_statenames[E_simgrid_parse_bypassASroute] = "bypassASroute";
6460   simgrid_parse_statenames[AL_simgrid_parse_bypassRoute] = NULL;
6461   simgrid_parse_statenames[S_simgrid_parse_bypassRoute] = "bypassRoute";
6462   simgrid_parse_statenames[S_simgrid_parse_bypassRoute_1] = "bypassRoute";
6463   simgrid_parse_statenames[S_simgrid_parse_bypassRoute_2] = "bypassRoute";
6464   simgrid_parse_statenames[E_simgrid_parse_bypassRoute] = "bypassRoute";
6465   simgrid_parse_statenames[AL_simgrid_parse_bypassZoneRoute] = NULL;
6466   simgrid_parse_statenames[S_simgrid_parse_bypassZoneRoute] = "bypassZoneRoute";
6467   simgrid_parse_statenames[S_simgrid_parse_bypassZoneRoute_1] = "bypassZoneRoute";
6468   simgrid_parse_statenames[S_simgrid_parse_bypassZoneRoute_2] = "bypassZoneRoute";
6469   simgrid_parse_statenames[E_simgrid_parse_bypassZoneRoute] = "bypassZoneRoute";
6470   simgrid_parse_statenames[AL_simgrid_parse_cabinet] = NULL;
6471   simgrid_parse_statenames[E_simgrid_parse_cabinet] = "cabinet";
6472   simgrid_parse_statenames[AL_simgrid_parse_cluster] = NULL;
6473   simgrid_parse_statenames[S_simgrid_parse_cluster] = "cluster";
6474   simgrid_parse_statenames[S_simgrid_parse_cluster_1] = "cluster";
6475   simgrid_parse_statenames[S_simgrid_parse_cluster_2] = "cluster";
6476   simgrid_parse_statenames[E_simgrid_parse_cluster] = "cluster";
6477   simgrid_parse_statenames[AL_simgrid_parse_config] = NULL;
6478   simgrid_parse_statenames[S_simgrid_parse_config] = "config";
6479   simgrid_parse_statenames[S_simgrid_parse_config_1] = "config";
6480   simgrid_parse_statenames[S_simgrid_parse_config_2] = "config";
6481   simgrid_parse_statenames[E_simgrid_parse_config] = "config";
6482   simgrid_parse_statenames[AL_simgrid_parse_disk] = NULL;
6483   simgrid_parse_statenames[S_simgrid_parse_disk] = "disk";
6484   simgrid_parse_statenames[S_simgrid_parse_disk_1] = "disk";
6485   simgrid_parse_statenames[S_simgrid_parse_disk_2] = "disk";
6486   simgrid_parse_statenames[E_simgrid_parse_disk] = "disk";
6487   simgrid_parse_statenames[AL_simgrid_parse_host] = NULL;
6488   simgrid_parse_statenames[S_simgrid_parse_host] = "host";
6489   simgrid_parse_statenames[S_simgrid_parse_host_1] = "host";
6490   simgrid_parse_statenames[S_simgrid_parse_host_2] = "host";
6491   simgrid_parse_statenames[E_simgrid_parse_host] = "host";
6492   simgrid_parse_statenames[AL_simgrid_parse_host___link] = NULL;
6493   simgrid_parse_statenames[E_simgrid_parse_host___link] = "host_link";
6494   simgrid_parse_statenames[AL_simgrid_parse_include] = NULL;
6495   simgrid_parse_statenames[S_simgrid_parse_include] = "include";
6496   simgrid_parse_statenames[S_simgrid_parse_include_1] = "include";
6497   simgrid_parse_statenames[S_simgrid_parse_include_2] = "include";
6498   simgrid_parse_statenames[E_simgrid_parse_include] = "include";
6499   simgrid_parse_statenames[AL_simgrid_parse_link] = NULL;
6500   simgrid_parse_statenames[S_simgrid_parse_link] = "link";
6501   simgrid_parse_statenames[S_simgrid_parse_link_1] = "link";
6502   simgrid_parse_statenames[S_simgrid_parse_link_2] = "link";
6503   simgrid_parse_statenames[E_simgrid_parse_link] = "link";
6504   simgrid_parse_statenames[AL_simgrid_parse_link___ctn] = NULL;
6505   simgrid_parse_statenames[E_simgrid_parse_link___ctn] = "link_ctn";
6506   simgrid_parse_statenames[AL_simgrid_parse_model___prop] = NULL;
6507   simgrid_parse_statenames[E_simgrid_parse_model___prop] = "model_prop";
6508   simgrid_parse_statenames[AL_simgrid_parse_mount] = NULL;
6509   simgrid_parse_statenames[E_simgrid_parse_mount] = "mount";
6510   simgrid_parse_statenames[AL_simgrid_parse_peer] = NULL;
6511   simgrid_parse_statenames[E_simgrid_parse_peer] = "peer";
6512   simgrid_parse_statenames[ROOT_simgrid_parse_platform] = NULL;
6513   simgrid_parse_statenames[AL_simgrid_parse_platform] = NULL;
6514   simgrid_parse_statenames[S_simgrid_parse_platform] = "platform";
6515   simgrid_parse_statenames[S_simgrid_parse_platform_1] = "platform";
6516   simgrid_parse_statenames[S_simgrid_parse_platform_2] = "platform";
6517   simgrid_parse_statenames[S_simgrid_parse_platform_3] = "platform";
6518   simgrid_parse_statenames[S_simgrid_parse_platform_4] = "platform";
6519   simgrid_parse_statenames[S_simgrid_parse_platform_5] = "platform";
6520   simgrid_parse_statenames[S_simgrid_parse_platform_6] = "platform";
6521   simgrid_parse_statenames[S_simgrid_parse_platform_7] = "platform";
6522   simgrid_parse_statenames[S_simgrid_parse_platform_8] = "platform";
6523   simgrid_parse_statenames[E_simgrid_parse_platform] = "platform";
6524   simgrid_parse_statenames[AL_simgrid_parse_process] = NULL;
6525   simgrid_parse_statenames[S_simgrid_parse_process] = "process";
6526   simgrid_parse_statenames[S_simgrid_parse_process_1] = "process";
6527   simgrid_parse_statenames[S_simgrid_parse_process_2] = "process";
6528   simgrid_parse_statenames[E_simgrid_parse_process] = "process";
6529   simgrid_parse_statenames[AL_simgrid_parse_prop] = NULL;
6530   simgrid_parse_statenames[E_simgrid_parse_prop] = "prop";
6531   simgrid_parse_statenames[AL_simgrid_parse_random] = NULL;
6532   simgrid_parse_statenames[E_simgrid_parse_random] = "random";
6533   simgrid_parse_statenames[AL_simgrid_parse_route] = NULL;
6534   simgrid_parse_statenames[S_simgrid_parse_route] = "route";
6535   simgrid_parse_statenames[S_simgrid_parse_route_1] = "route";
6536   simgrid_parse_statenames[S_simgrid_parse_route_2] = "route";
6537   simgrid_parse_statenames[E_simgrid_parse_route] = "route";
6538   simgrid_parse_statenames[AL_simgrid_parse_router] = NULL;
6539   simgrid_parse_statenames[E_simgrid_parse_router] = "router";
6540   simgrid_parse_statenames[AL_simgrid_parse_storage] = NULL;
6541   simgrid_parse_statenames[S_simgrid_parse_storage] = "storage";
6542   simgrid_parse_statenames[S_simgrid_parse_storage_1] = "storage";
6543   simgrid_parse_statenames[S_simgrid_parse_storage_2] = "storage";
6544   simgrid_parse_statenames[E_simgrid_parse_storage] = "storage";
6545   simgrid_parse_statenames[AL_simgrid_parse_storage___type] = NULL;
6546   simgrid_parse_statenames[S_simgrid_parse_storage___type] = "storage_type";
6547   simgrid_parse_statenames[S_simgrid_parse_storage___type_1] = "storage_type";
6548   simgrid_parse_statenames[S_simgrid_parse_storage___type_2] = "storage_type";
6549   simgrid_parse_statenames[E_simgrid_parse_storage___type] = "storage_type";
6550   simgrid_parse_statenames[AL_simgrid_parse_trace] = NULL;
6551   simgrid_parse_statenames[IN_trace] = "trace";
6552   simgrid_parse_statenames[AL_simgrid_parse_trace___connect] = NULL;
6553   simgrid_parse_statenames[E_simgrid_parse_trace___connect] = "trace_connect";
6554   simgrid_parse_statenames[AL_simgrid_parse_zone] = NULL;
6555   simgrid_parse_statenames[S_simgrid_parse_zone] = "zone";
6556   simgrid_parse_statenames[S_simgrid_parse_zone_1] = "zone";
6557   simgrid_parse_statenames[S_simgrid_parse_zone_2] = "zone";
6558   simgrid_parse_statenames[S_simgrid_parse_zone_3] = "zone";
6559   simgrid_parse_statenames[S_simgrid_parse_zone_4] = "zone";
6560   simgrid_parse_statenames[S_simgrid_parse_zone_5] = "zone";
6561   simgrid_parse_statenames[S_simgrid_parse_zone_6] = "zone";
6562   simgrid_parse_statenames[S_simgrid_parse_zone_7] = "zone";
6563   simgrid_parse_statenames[S_simgrid_parse_zone_8] = "zone";
6564   simgrid_parse_statenames[S_simgrid_parse_zone_9] = "zone";
6565   simgrid_parse_statenames[S_simgrid_parse_zone_10] = "zone";
6566   simgrid_parse_statenames[S_simgrid_parse_zone_11] = "zone";
6567   simgrid_parse_statenames[S_simgrid_parse_zone_12] = "zone";
6568   simgrid_parse_statenames[S_simgrid_parse_zone_13] = "zone";
6569   simgrid_parse_statenames[S_simgrid_parse_zone_14] = "zone";
6570   simgrid_parse_statenames[S_simgrid_parse_zone_15] = "zone";
6571   simgrid_parse_statenames[S_simgrid_parse_zone_16] = "zone";
6572   simgrid_parse_statenames[E_simgrid_parse_zone] = "zone";
6573   simgrid_parse_statenames[AL_simgrid_parse_zoneRoute] = NULL;
6574   simgrid_parse_statenames[S_simgrid_parse_zoneRoute] = "zoneRoute";
6575   simgrid_parse_statenames[S_simgrid_parse_zoneRoute_1] = "zoneRoute";
6576   simgrid_parse_statenames[S_simgrid_parse_zoneRoute_2] = "zoneRoute";
6577   simgrid_parse_statenames[E_simgrid_parse_zoneRoute] = "zoneRoute";
6578   }
6579
6580  /* COMMENTS and PIs: handled uniformly for efficiency. */
6581
6582         while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
6583                 {
6584                 yy_cp = (yy_c_buf_p);
6585
6586                 /* Support of yytext. */
6587                 *yy_cp = (yy_hold_char);
6588
6589                 /* yy_bp points to the position in yy_ch_buf of the start of
6590                  * the current run.
6591                  */
6592                 yy_bp = yy_cp;
6593
6594                 yy_current_state = (yy_start);
6595 yy_match:
6596                 do
6597                         {
6598                         YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
6599                         if ( yy_accept[yy_current_state] )
6600                                 {
6601                                 (yy_last_accepting_state) = yy_current_state;
6602                                 (yy_last_accepting_cpos) = yy_cp;
6603                                 }
6604                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6605                                 {
6606                                 yy_current_state = (int) yy_def[yy_current_state];
6607                                 if ( yy_current_state >= 3913 )
6608                                         yy_c = yy_meta[yy_c];
6609                                 }
6610                         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6611                         ++yy_cp;
6612                         }
6613                 while ( yy_base[yy_current_state] != 14462 );
6614
6615 yy_find_action:
6616                 yy_act = yy_accept[yy_current_state];
6617                 if ( yy_act == 0 )
6618                         { /* have to back up */
6619                         yy_cp = (yy_last_accepting_cpos);
6620                         yy_current_state = (yy_last_accepting_state);
6621                         yy_act = yy_accept[yy_current_state];
6622                         }
6623
6624                 YY_DO_BEFORE_ACTION;
6625
6626                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
6627                         {
6628                         int yyl;
6629                         for ( yyl = 0; yyl < yyleng; ++yyl )
6630                                 if ( yytext[yyl] == '\n' )
6631                                         
6632     yylineno++;
6633 ;
6634                         }
6635
6636 do_action:      /* This label is used only to access EOF actions. */
6637
6638                 switch ( yy_act )
6639         { /* beginning of action switch */
6640                         case 0: /* must back up */
6641                         /* undo the effects of YY_DO_BEFORE_ACTION */
6642                         *yy_cp = (yy_hold_char);
6643                         yy_cp = (yy_last_accepting_cpos);
6644                         yy_current_state = (yy_last_accepting_state);
6645                         goto yy_find_action;
6646
6647 case 1:
6648 YY_RULE_SETUP
6649 ENTER(INCOMMENT);
6650         YY_BREAK
6651 case 2:
6652 YY_RULE_SETUP
6653 ENTER(INPI);
6654         YY_BREAK
6655
6656 case 3:
6657 YY_RULE_SETUP
6658 LEAVE;
6659         YY_BREAK
6660 case 4:
6661 case 5:
6662 case 6:
6663 /* rule 6 can match eol */
6664 YY_RULE_SETUP
6665 SKIP;
6666         YY_BREAK
6667 case YY_STATE_EOF(INCOMMENT):
6668 FAIL("EOF in comment.");
6669         YY_BREAK
6670
6671 case 7:
6672 YY_RULE_SETUP
6673 LEAVE;
6674         YY_BREAK
6675 case 8:
6676 case 9:
6677 /* rule 9 can match eol */
6678 YY_RULE_SETUP
6679 SKIP;
6680         YY_BREAK
6681 case YY_STATE_EOF(INPI):
6682 FAIL("EOF in PI (processing instruction).");
6683         YY_BREAK
6684
6685 /* SPACES: skipped uniformly */
6686 case 10:
6687 /* rule 10 can match eol */
6688 YY_RULE_SETUP
6689 SKIP;
6690         YY_BREAK
6691 /* PROLOG: determine root element and process it. */
6692
6693 case 11:
6694 /* rule 11 can match eol */
6695 YY_RULE_SETUP
6696 SET(DOCTYPE); 
6697         YY_BREAK
6698 case 12:
6699 /* rule 12 can match eol */
6700 YY_RULE_SETUP
6701 FAIL("Bad declaration %s.\nIf you are using an XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",yytext);
6702         YY_BREAK
6703
6704 case 13:
6705 /* rule 13 can match eol */
6706 YY_RULE_SETUP
6707 SET(ROOT_simgrid_parse_platform);
6708         YY_BREAK
6709 case 14:
6710 /* rule 14 can match eol */
6711 YY_RULE_SETUP
6712 SET(ROOT_simgrid_parse_platform);
6713         YY_BREAK
6714 case 15:
6715 /* rule 15 can match eol */
6716 YY_RULE_SETUP
6717 FAIL("Bad declaration %s.\nIf you are using an XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl",yytext);
6718         YY_BREAK
6719 case 16:
6720 YY_RULE_SETUP
6721 FAIL("Unexpected character `%c' in prolog.", yytext[0]);
6722         YY_BREAK
6723 case YY_STATE_EOF(PROLOG):
6724 case YY_STATE_EOF(DOCTYPE):
6725 FAIL("EOF in prolog.");
6726         YY_BREAK
6727
6728 /* RULES DERIVED FROM DTD. */
6729 /* <!-- AS is a deprecated equivalent of zone -->
6730   *           (((AS|zone|include|link|backbone|cabinet|cluster|peer|trace|trace_connect)*,
6731   *         (zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
6732   *         (trace|trace_connect)*)
6733   *        |((include|storage_type|storage|host|cabinet|router|link|backbone|trace|trace_connect|host_link)*,
6734   *          (route|trace|trace_connect|bypassRoute)*)))>  */
6735 case 17:
6736 /* rule 17 can match eol */
6737 YY_RULE_SETUP
6738 FAIL("Starting tag <AS> is not allowed here.");
6739         YY_BREAK
6740 case 18:
6741 /* rule 18 can match eol */
6742 YY_RULE_SETUP
6743 {
6744   AX_simgrid_parse_AS_id = 0;
6745   simgrid_parse_AS_id_isset = 0;
6746   AX_simgrid_parse_AS_routing = 0;
6747   simgrid_parse_AS_routing_isset = 0;
6748   ENTER(AL_simgrid_parse_AS); pushbuffer(0);
6749   }
6750         YY_BREAK
6751
6752 case 19:
6753 /* rule 19 can match eol */
6754 YY_RULE_SETUP
6755 if (simgrid_parse_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_AS>");} simgrid_parse_AS_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_AS_id);
6756         YY_BREAK
6757 case 20:
6758 /* rule 20 can match eol */
6759 YY_RULE_SETUP
6760 if (simgrid_parse_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_AS>");}  simgrid_parse_AS_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_AS_id);
6761         YY_BREAK
6762 case 21:
6763 /* rule 21 can match eol */
6764 YY_RULE_SETUP
6765 if (simgrid_parse_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_AS>");} simgrid_parse_AS_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_AS_routing);
6766         YY_BREAK
6767 case 22:
6768 /* rule 22 can match eol */
6769 YY_RULE_SETUP
6770 if (simgrid_parse_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_AS>");}  simgrid_parse_AS_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_AS_routing);
6771         YY_BREAK
6772 case 23:
6773 YY_RULE_SETUP
6774 {
6775   if (!AX_simgrid_parse_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
6776   if (!AX_simgrid_parse_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
6777   LEAVE; STag_simgrid_parse_AS();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_AS);
6778  }
6779         YY_BREAK
6780 case 24:
6781 YY_RULE_SETUP
6782 {
6783   if (!AX_simgrid_parse_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
6784   if (!AX_simgrid_parse_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
6785   LEAVE; STag_simgrid_parse_AS(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_AS(); popbuffer(); /* attribute */
6786   switch (YY_START) {
6787    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
6788    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
6789    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
6790    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
6791   }
6792  }
6793         YY_BREAK
6794 case 25:
6795 YY_RULE_SETUP
6796 FAIL("Unexpected character `%c' in attribute list of AS element.", yytext[0]);
6797         YY_BREAK
6798 case 26:
6799 YY_RULE_SETUP
6800 FAIL("Bad attribute `%s' in `AS' element start tag.",yytext);
6801         YY_BREAK
6802 case YY_STATE_EOF(AL_simgrid_parse_AS):
6803 FAIL("EOF in attribute list of `AS' element.");
6804         YY_BREAK
6805
6806 case 27:
6807 /* rule 27 can match eol */
6808 YY_RULE_SETUP
6809 {
6810   LEAVE;
6811   ETag_simgrid_parse_AS();
6812   popbuffer(); /* attribute */
6813   switch (YY_START) {
6814    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
6815    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
6816    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
6817    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
6818   }
6819  }
6820         YY_BREAK
6821 case 28:
6822 /* rule 28 can match eol */
6823 YY_RULE_SETUP
6824 FAIL("Unexpected end-tag `%s': `</AS>' expected.",yytext);
6825         YY_BREAK
6826 case 29:
6827 YY_RULE_SETUP
6828 FAIL("Unexpected character `%c': `</AS>' expected.",yytext[0]);
6829         YY_BREAK
6830 case YY_STATE_EOF(E_simgrid_parse_AS):
6831 case YY_STATE_EOF(S_simgrid_parse_AS):
6832 case YY_STATE_EOF(S_simgrid_parse_AS_1):
6833 case YY_STATE_EOF(S_simgrid_parse_AS_11):
6834 case YY_STATE_EOF(S_simgrid_parse_AS_12):
6835 case YY_STATE_EOF(S_simgrid_parse_AS_14):
6836 case YY_STATE_EOF(S_simgrid_parse_AS_16):
6837 case YY_STATE_EOF(S_simgrid_parse_AS_3):
6838 case YY_STATE_EOF(S_simgrid_parse_AS_4):
6839 case YY_STATE_EOF(S_simgrid_parse_AS_6):
6840 case YY_STATE_EOF(S_simgrid_parse_AS_7):
6841 case YY_STATE_EOF(S_simgrid_parse_AS_9):
6842 FAIL("Premature EOF: `</AS>' expected.");
6843         YY_BREAK
6844
6845 /* <!-- ASroute bypassASRoute are deprecated (prefer zoneRoute and friends) -->  */
6846 case 30:
6847 /* rule 30 can match eol */
6848 YY_RULE_SETUP
6849 FAIL("Starting tag <ASroute> is not allowed here.");
6850         YY_BREAK
6851 case 31:
6852 /* rule 31 can match eol */
6853 YY_RULE_SETUP
6854 {
6855   AX_simgrid_parse_ASroute_dst = 0;
6856   simgrid_parse_ASroute_dst_isset = 0;
6857   AX_simgrid_parse_ASroute_gw___dst = 0;
6858   simgrid_parse_ASroute_gw___dst_isset = 0;
6859   AX_simgrid_parse_ASroute_gw___src = 0;
6860   simgrid_parse_ASroute_gw___src_isset = 0;
6861   AX_simgrid_parse_ASroute_src = 0;
6862   simgrid_parse_ASroute_src_isset = 0;
6863   AX_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_YES;
6864   simgrid_parse_ASroute_symmetrical_isset = 0;
6865   ENTER(AL_simgrid_parse_ASroute); pushbuffer(0);
6866   }
6867         YY_BREAK
6868
6869 case 32:
6870 /* rule 32 can match eol */
6871 YY_RULE_SETUP
6872 if (simgrid_parse_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_dst);
6873         YY_BREAK
6874 case 33:
6875 /* rule 33 can match eol */
6876 YY_RULE_SETUP
6877 if (simgrid_parse_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_dst);
6878         YY_BREAK
6879 case 34:
6880 /* rule 34 can match eol */
6881 YY_RULE_SETUP
6882 if (simgrid_parse_ASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_gw___dst);
6883         YY_BREAK
6884 case 35:
6885 /* rule 35 can match eol */
6886 YY_RULE_SETUP
6887 if (simgrid_parse_ASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_gw___dst);
6888         YY_BREAK
6889 case 36:
6890 /* rule 36 can match eol */
6891 YY_RULE_SETUP
6892 if (simgrid_parse_ASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_gw___src);
6893         YY_BREAK
6894 case 37:
6895 /* rule 37 can match eol */
6896 YY_RULE_SETUP
6897 if (simgrid_parse_ASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_gw___src);
6898         YY_BREAK
6899 case 38:
6900 /* rule 38 can match eol */
6901 YY_RULE_SETUP
6902 if (simgrid_parse_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_ASroute>");} simgrid_parse_ASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_ASroute_src);
6903         YY_BREAK
6904 case 39:
6905 /* rule 39 can match eol */
6906 YY_RULE_SETUP
6907 if (simgrid_parse_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_ASroute>");}  simgrid_parse_ASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_ASroute_src);
6908         YY_BREAK
6909 case 40:
6910 /* rule 40 can match eol */
6911 case 41:
6912 /* rule 41 can match eol */
6913 YY_RULE_SETUP
6914 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_YES;
6915         YY_BREAK
6916 case 42:
6917 /* rule 42 can match eol */
6918 case 43:
6919 /* rule 43 can match eol */
6920 YY_RULE_SETUP
6921 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_NO;
6922         YY_BREAK
6923 case 44:
6924 /* rule 44 can match eol */
6925 case 45:
6926 /* rule 45 can match eol */
6927 YY_RULE_SETUP
6928 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_yes;
6929         YY_BREAK
6930 case 46:
6931 /* rule 46 can match eol */
6932 case 47:
6933 /* rule 47 can match eol */
6934 YY_RULE_SETUP
6935 A_simgrid_parse_ASroute_symmetrical = A_simgrid_parse_ASroute_symmetrical_no;
6936         YY_BREAK
6937 case 48:
6938 YY_RULE_SETUP
6939 {
6940   if (!AX_simgrid_parse_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6941   if (!AX_simgrid_parse_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6942   if (!AX_simgrid_parse_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6943   if (!AX_simgrid_parse_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6944   LEAVE; STag_simgrid_parse_ASroute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_ASroute);
6945  }
6946         YY_BREAK
6947 case 49:
6948 YY_RULE_SETUP
6949 {
6950   if (!AX_simgrid_parse_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6951   if (!AX_simgrid_parse_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6952   if (!AX_simgrid_parse_ASroute_gw___src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6953   if (!AX_simgrid_parse_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6954   LEAVE; STag_simgrid_parse_ASroute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_ASroute(); popbuffer(); /* attribute */
6955   switch (YY_START) {
6956    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
6957    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
6958   }
6959  }
6960         YY_BREAK
6961 case 50:
6962 YY_RULE_SETUP
6963 FAIL("Unexpected character `%c' in attribute list of ASroute element.", yytext[0]);
6964         YY_BREAK
6965 case 51:
6966 YY_RULE_SETUP
6967 FAIL("Bad attribute `%s' in `ASroute' element start tag.",yytext);
6968         YY_BREAK
6969 case YY_STATE_EOF(AL_simgrid_parse_ASroute):
6970 FAIL("EOF in attribute list of `ASroute' element.");
6971         YY_BREAK
6972
6973 case 52:
6974 /* rule 52 can match eol */
6975 YY_RULE_SETUP
6976 {
6977   LEAVE;
6978   ETag_simgrid_parse_ASroute();
6979   popbuffer(); /* attribute */
6980   switch (YY_START) {
6981    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
6982    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
6983   }
6984  }
6985         YY_BREAK
6986 case 53:
6987 /* rule 53 can match eol */
6988 YY_RULE_SETUP
6989 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",yytext);
6990         YY_BREAK
6991 case 54:
6992 YY_RULE_SETUP
6993 FAIL("Unexpected character `%c': `</ASroute>' expected.",yytext[0]);
6994         YY_BREAK
6995 case YY_STATE_EOF(E_simgrid_parse_ASroute):
6996 case YY_STATE_EOF(S_simgrid_parse_ASroute):
6997 case YY_STATE_EOF(S_simgrid_parse_ASroute_2):
6998 FAIL("Premature EOF: `</ASroute>' expected.");
6999         YY_BREAK
7000
7001 case 55:
7002 /* rule 55 can match eol */
7003 YY_RULE_SETUP
7004 FAIL("Starting tag <actor> is not allowed here.");
7005         YY_BREAK
7006 case 56:
7007 /* rule 56 can match eol */
7008 YY_RULE_SETUP
7009 {
7010   AX_simgrid_parse_actor_function = 0;
7011   simgrid_parse_actor_function_isset = 0;
7012   AX_simgrid_parse_actor_host = 0;
7013   simgrid_parse_actor_host_isset = 0;
7014   AX_simgrid_parse_actor_kill___time = 48;
7015   simgrid_parse_actor_kill___time_isset = 0;
7016   AX_simgrid_parse_actor_on___failure = A_simgrid_parse_actor_on___failure_DIE;
7017   simgrid_parse_actor_on___failure_isset = 0;
7018   AX_simgrid_parse_actor_start___time = 43;
7019   simgrid_parse_actor_start___time_isset = 0;
7020   ENTER(AL_simgrid_parse_actor); pushbuffer(0);
7021   }
7022         YY_BREAK
7023
7024 case 57:
7025 /* rule 57 can match eol */
7026 YY_RULE_SETUP
7027 if (simgrid_parse_actor_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_actor>");} simgrid_parse_actor_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_function);
7028         YY_BREAK
7029 case 58:
7030 /* rule 58 can match eol */
7031 YY_RULE_SETUP
7032 if (simgrid_parse_actor_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_actor>");}  simgrid_parse_actor_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_function);
7033         YY_BREAK
7034 case 59:
7035 /* rule 59 can match eol */
7036 YY_RULE_SETUP
7037 if (simgrid_parse_actor_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_actor>");} simgrid_parse_actor_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_host);
7038         YY_BREAK
7039 case 60:
7040 /* rule 60 can match eol */
7041 YY_RULE_SETUP
7042 if (simgrid_parse_actor_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_actor>");}  simgrid_parse_actor_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_host);
7043         YY_BREAK
7044 case 61:
7045 /* rule 61 can match eol */
7046 YY_RULE_SETUP
7047 if (simgrid_parse_actor_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_actor>");} simgrid_parse_actor_kill___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_kill___time);
7048         YY_BREAK
7049 case 62:
7050 /* rule 62 can match eol */
7051 YY_RULE_SETUP
7052 if (simgrid_parse_actor_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_actor>");}  simgrid_parse_actor_kill___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_kill___time);
7053         YY_BREAK
7054 case 63:
7055 /* rule 63 can match eol */
7056 case 64:
7057 /* rule 64 can match eol */
7058 YY_RULE_SETUP
7059 A_simgrid_parse_actor_on___failure = A_simgrid_parse_actor_on___failure_DIE;
7060         YY_BREAK
7061 case 65:
7062 /* rule 65 can match eol */
7063 case 66:
7064 /* rule 66 can match eol */
7065 YY_RULE_SETUP
7066 A_simgrid_parse_actor_on___failure = A_simgrid_parse_actor_on___failure_RESTART;
7067         YY_BREAK
7068 case 67:
7069 /* rule 67 can match eol */
7070 YY_RULE_SETUP
7071 if (simgrid_parse_actor_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_actor>");} simgrid_parse_actor_start___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_actor_start___time);
7072         YY_BREAK
7073 case 68:
7074 /* rule 68 can match eol */
7075 YY_RULE_SETUP
7076 if (simgrid_parse_actor_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_actor>");}  simgrid_parse_actor_start___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_actor_start___time);
7077         YY_BREAK
7078 case 69:
7079 YY_RULE_SETUP
7080 {
7081   if (!AX_simgrid_parse_actor_function) FAIL("Required attribute `function' not set for `actor' element.");
7082   if (!AX_simgrid_parse_actor_host) FAIL("Required attribute `host' not set for `actor' element.");
7083   LEAVE; STag_simgrid_parse_actor();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_actor);
7084  }
7085         YY_BREAK
7086 case 70:
7087 YY_RULE_SETUP
7088 {
7089   if (!AX_simgrid_parse_actor_function) FAIL("Required attribute `function' not set for `actor' element.");
7090   if (!AX_simgrid_parse_actor_host) FAIL("Required attribute `host' not set for `actor' element.");
7091   LEAVE; STag_simgrid_parse_actor(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_actor(); popbuffer(); /* attribute */
7092   switch (YY_START) {
7093    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
7094   }
7095  }
7096         YY_BREAK
7097 case 71:
7098 YY_RULE_SETUP
7099 FAIL("Unexpected character `%c' in attribute list of actor element.", yytext[0]);
7100         YY_BREAK
7101 case 72:
7102 YY_RULE_SETUP
7103 FAIL("Bad attribute `%s' in `actor' element start tag.",yytext);
7104         YY_BREAK
7105 case YY_STATE_EOF(AL_simgrid_parse_actor):
7106 FAIL("EOF in attribute list of `actor' element.");
7107         YY_BREAK
7108
7109 case 73:
7110 /* rule 73 can match eol */
7111 YY_RULE_SETUP
7112 {
7113   LEAVE;
7114   ETag_simgrid_parse_actor();
7115   popbuffer(); /* attribute */
7116   switch (YY_START) {
7117    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
7118   }
7119  }
7120         YY_BREAK
7121 case 74:
7122 /* rule 74 can match eol */
7123 YY_RULE_SETUP
7124 FAIL("Unexpected end-tag `%s': `</actor>' expected.",yytext);
7125         YY_BREAK
7126 case 75:
7127 YY_RULE_SETUP
7128 FAIL("Unexpected character `%c': `</actor>' expected.",yytext[0]);
7129         YY_BREAK
7130 case YY_STATE_EOF(E_simgrid_parse_actor):
7131 case YY_STATE_EOF(S_simgrid_parse_actor):
7132 case YY_STATE_EOF(S_simgrid_parse_actor_2):
7133 FAIL("Premature EOF: `</actor>' expected.");
7134         YY_BREAK
7135
7136 case 76:
7137 /* rule 76 can match eol */
7138 YY_RULE_SETUP
7139 FAIL("Starting tag <argument> is not allowed here.");
7140         YY_BREAK
7141 case 77:
7142 /* rule 77 can match eol */
7143 YY_RULE_SETUP
7144 {
7145   AX_simgrid_parse_argument_value = 0;
7146   simgrid_parse_argument_value_isset = 0;
7147   ENTER(AL_simgrid_parse_argument); pushbuffer(0);
7148   }
7149         YY_BREAK
7150
7151 case 78:
7152 /* rule 78 can match eol */
7153 YY_RULE_SETUP
7154 if (simgrid_parse_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_argument>");} simgrid_parse_argument_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_argument_value);
7155         YY_BREAK
7156 case 79:
7157 /* rule 79 can match eol */
7158 YY_RULE_SETUP
7159 if (simgrid_parse_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_argument>");}  simgrid_parse_argument_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_argument_value);
7160         YY_BREAK
7161 case 80:
7162 YY_RULE_SETUP
7163 {
7164   if (!AX_simgrid_parse_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7165   LEAVE; STag_simgrid_parse_argument();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_argument);
7166  }
7167         YY_BREAK
7168 case 81:
7169 YY_RULE_SETUP
7170 {
7171   if (!AX_simgrid_parse_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7172   LEAVE; STag_simgrid_parse_argument(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_argument(); popbuffer(); /* attribute */
7173   switch (YY_START) {
7174    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
7175    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
7176   }
7177  }
7178         YY_BREAK
7179 case 82:
7180 YY_RULE_SETUP
7181 FAIL("Unexpected character `%c' in attribute list of argument element.", yytext[0]);
7182         YY_BREAK
7183 case 83:
7184 YY_RULE_SETUP
7185 FAIL("Bad attribute `%s' in `argument' element start tag.",yytext);
7186         YY_BREAK
7187 case YY_STATE_EOF(AL_simgrid_parse_argument):
7188 FAIL("EOF in attribute list of `argument' element.");
7189         YY_BREAK
7190
7191 case 84:
7192 /* rule 84 can match eol */
7193 YY_RULE_SETUP
7194 {
7195   LEAVE;
7196   ETag_simgrid_parse_argument();
7197   popbuffer(); /* attribute */
7198   switch (YY_START) {
7199    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
7200    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
7201   }
7202  }
7203         YY_BREAK
7204 case 85:
7205 /* rule 85 can match eol */
7206 YY_RULE_SETUP
7207 FAIL("Unexpected end-tag `%s': `</argument>' expected.",yytext);
7208         YY_BREAK
7209 case 86:
7210 YY_RULE_SETUP
7211 FAIL("Unexpected character `%c': `</argument>' expected.",yytext[0]);
7212         YY_BREAK
7213 case YY_STATE_EOF(E_simgrid_parse_argument):
7214 FAIL("Premature EOF: `</argument>' expected.");
7215         YY_BREAK
7216
7217 case 87:
7218 /* rule 87 can match eol */
7219 YY_RULE_SETUP
7220 FAIL("Starting tag <backbone> is not allowed here.");
7221         YY_BREAK
7222 case 88:
7223 /* rule 88 can match eol */
7224 YY_RULE_SETUP
7225 {
7226   AX_simgrid_parse_backbone_bandwidth = 0;
7227   simgrid_parse_backbone_bandwidth_isset = 0;
7228   AX_simgrid_parse_backbone_id = 0;
7229   simgrid_parse_backbone_id_isset = 0;
7230   AX_simgrid_parse_backbone_latency = 0;
7231   simgrid_parse_backbone_latency_isset = 0;
7232   ENTER(AL_simgrid_parse_backbone); pushbuffer(0);
7233   }
7234         YY_BREAK
7235
7236 case 89:
7237 /* rule 89 can match eol */
7238 YY_RULE_SETUP
7239 if (simgrid_parse_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_backbone>");} simgrid_parse_backbone_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_backbone_bandwidth);
7240         YY_BREAK
7241 case 90:
7242 /* rule 90 can match eol */
7243 YY_RULE_SETUP
7244 if (simgrid_parse_backbone_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_backbone>");}  simgrid_parse_backbone_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_backbone_bandwidth);
7245         YY_BREAK
7246 case 91:
7247 /* rule 91 can match eol */
7248 YY_RULE_SETUP
7249 if (simgrid_parse_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_backbone>");} simgrid_parse_backbone_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_backbone_id);
7250         YY_BREAK
7251 case 92:
7252 /* rule 92 can match eol */
7253 YY_RULE_SETUP
7254 if (simgrid_parse_backbone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_backbone>");}  simgrid_parse_backbone_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_backbone_id);
7255         YY_BREAK
7256 case 93:
7257 /* rule 93 can match eol */
7258 YY_RULE_SETUP
7259 if (simgrid_parse_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_backbone>");} simgrid_parse_backbone_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_backbone_latency);
7260         YY_BREAK
7261 case 94:
7262 /* rule 94 can match eol */
7263 YY_RULE_SETUP
7264 if (simgrid_parse_backbone_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_backbone>");}  simgrid_parse_backbone_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_backbone_latency);
7265         YY_BREAK
7266 case 95:
7267 YY_RULE_SETUP
7268 {
7269   if (!AX_simgrid_parse_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
7270   if (!AX_simgrid_parse_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
7271   if (!AX_simgrid_parse_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
7272   LEAVE; STag_simgrid_parse_backbone();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_backbone);
7273  }
7274         YY_BREAK
7275 case 96:
7276 YY_RULE_SETUP
7277 {
7278   if (!AX_simgrid_parse_backbone_bandwidth) FAIL("Required attribute `bandwidth' not set for `backbone' element.");
7279   if (!AX_simgrid_parse_backbone_id) FAIL("Required attribute `id' not set for `backbone' element.");
7280   if (!AX_simgrid_parse_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
7281   LEAVE; STag_simgrid_parse_backbone(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_backbone(); popbuffer(); /* attribute */
7282   switch (YY_START) {
7283    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
7284    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
7285    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
7286    case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
7287   }
7288  }
7289         YY_BREAK
7290 case 97:
7291 YY_RULE_SETUP
7292 FAIL("Unexpected character `%c' in attribute list of backbone element.", yytext[0]);
7293         YY_BREAK
7294 case 98:
7295 YY_RULE_SETUP
7296 FAIL("Bad attribute `%s' in `backbone' element start tag.",yytext);
7297         YY_BREAK
7298 case YY_STATE_EOF(AL_simgrid_parse_backbone):
7299 FAIL("EOF in attribute list of `backbone' element.");
7300         YY_BREAK
7301
7302 case 99:
7303 /* rule 99 can match eol */
7304 YY_RULE_SETUP
7305 {
7306   LEAVE;
7307   ETag_simgrid_parse_backbone();
7308   popbuffer(); /* attribute */
7309   switch (YY_START) {
7310    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
7311    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
7312    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
7313    case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
7314   }
7315  }
7316         YY_BREAK
7317 case 100:
7318 /* rule 100 can match eol */
7319 YY_RULE_SETUP
7320 FAIL("Unexpected end-tag `%s': `</backbone>' expected.",yytext);
7321         YY_BREAK
7322 case 101:
7323 YY_RULE_SETUP
7324 FAIL("Unexpected character `%c': `</backbone>' expected.",yytext[0]);
7325         YY_BREAK
7326 case YY_STATE_EOF(E_simgrid_parse_backbone):
7327 FAIL("Premature EOF: `</backbone>' expected.");
7328         YY_BREAK
7329
7330 case 102:
7331 /* rule 102 can match eol */
7332 YY_RULE_SETUP
7333 FAIL("Starting tag <bypassASroute> is not allowed here.");
7334         YY_BREAK
7335 case 103:
7336 /* rule 103 can match eol */
7337 YY_RULE_SETUP
7338 {
7339   AX_simgrid_parse_bypassASroute_dst = 0;
7340   simgrid_parse_bypassASroute_dst_isset = 0;
7341   AX_simgrid_parse_bypassASroute_gw___dst = 0;
7342   simgrid_parse_bypassASroute_gw___dst_isset = 0;
7343   AX_simgrid_parse_bypassASroute_gw___src = 0;
7344   simgrid_parse_bypassASroute_gw___src_isset = 0;
7345   AX_simgrid_parse_bypassASroute_src = 0;
7346   simgrid_parse_bypassASroute_src_isset = 0;
7347   ENTER(AL_simgrid_parse_bypassASroute); pushbuffer(0);
7348   }
7349         YY_BREAK
7350
7351 case 104:
7352 /* rule 104 can match eol */
7353 YY_RULE_SETUP
7354 if (simgrid_parse_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_dst);
7355         YY_BREAK
7356 case 105:
7357 /* rule 105 can match eol */
7358 YY_RULE_SETUP
7359 if (simgrid_parse_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_dst);
7360         YY_BREAK
7361 case 106:
7362 /* rule 106 can match eol */
7363 YY_RULE_SETUP
7364 if (simgrid_parse_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___dst);
7365         YY_BREAK
7366 case 107:
7367 /* rule 107 can match eol */
7368 YY_RULE_SETUP
7369 if (simgrid_parse_bypassASroute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___dst);
7370         YY_BREAK
7371 case 108:
7372 /* rule 108 can match eol */
7373 YY_RULE_SETUP
7374 if (simgrid_parse_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___src);
7375         YY_BREAK
7376 case 109:
7377 /* rule 109 can match eol */
7378 YY_RULE_SETUP
7379 if (simgrid_parse_bypassASroute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_gw___src);
7380         YY_BREAK
7381 case 110:
7382 /* rule 110 can match eol */
7383 YY_RULE_SETUP
7384 if (simgrid_parse_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassASroute>");} simgrid_parse_bypassASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassASroute_src);
7385         YY_BREAK
7386 case 111:
7387 /* rule 111 can match eol */
7388 YY_RULE_SETUP
7389 if (simgrid_parse_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassASroute>");}  simgrid_parse_bypassASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassASroute_src);
7390         YY_BREAK
7391 case 112:
7392 YY_RULE_SETUP
7393 {
7394   if (!AX_simgrid_parse_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7395   if (!AX_simgrid_parse_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7396   if (!AX_simgrid_parse_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7397   if (!AX_simgrid_parse_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7398   LEAVE; STag_simgrid_parse_bypassASroute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_bypassASroute);
7399  }
7400         YY_BREAK
7401 case 113:
7402 YY_RULE_SETUP
7403 {
7404   if (!AX_simgrid_parse_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7405   if (!AX_simgrid_parse_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7406   if (!AX_simgrid_parse_bypassASroute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7407   if (!AX_simgrid_parse_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7408   LEAVE; STag_simgrid_parse_bypassASroute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_bypassASroute(); popbuffer(); /* attribute */
7409   switch (YY_START) {
7410    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7411    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7412   }
7413  }
7414         YY_BREAK
7415 case 114:
7416 YY_RULE_SETUP
7417 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", yytext[0]);
7418         YY_BREAK
7419 case 115:
7420 YY_RULE_SETUP
7421 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",yytext);
7422         YY_BREAK
7423 case YY_STATE_EOF(AL_simgrid_parse_bypassASroute):
7424 FAIL("EOF in attribute list of `bypassASroute' element.");
7425         YY_BREAK
7426
7427 case 116:
7428 /* rule 116 can match eol */
7429 YY_RULE_SETUP
7430 {
7431   LEAVE;
7432   ETag_simgrid_parse_bypassASroute();
7433   popbuffer(); /* attribute */
7434   switch (YY_START) {
7435    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7436    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7437   }
7438  }
7439         YY_BREAK
7440 case 117:
7441 /* rule 117 can match eol */
7442 YY_RULE_SETUP
7443 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",yytext);
7444         YY_BREAK
7445 case 118:
7446 YY_RULE_SETUP
7447 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",yytext[0]);
7448         YY_BREAK
7449 case YY_STATE_EOF(E_simgrid_parse_bypassASroute):
7450 case YY_STATE_EOF(S_simgrid_parse_bypassASroute):
7451 case YY_STATE_EOF(S_simgrid_parse_bypassASroute_2):
7452 FAIL("Premature EOF: `</bypassASroute>' expected.");
7453         YY_BREAK
7454
7455 case 119:
7456 /* rule 119 can match eol */
7457 YY_RULE_SETUP
7458 FAIL("Starting tag <bypassRoute> is not allowed here.");
7459         YY_BREAK
7460 case 120:
7461 /* rule 120 can match eol */
7462 YY_RULE_SETUP
7463 {
7464   AX_simgrid_parse_bypassRoute_dst = 0;
7465   simgrid_parse_bypassRoute_dst_isset = 0;
7466   AX_simgrid_parse_bypassRoute_src = 0;
7467   simgrid_parse_bypassRoute_src_isset = 0;
7468   ENTER(AL_simgrid_parse_bypassRoute); pushbuffer(0);
7469   }
7470         YY_BREAK
7471
7472 case 121:
7473 /* rule 121 can match eol */
7474 YY_RULE_SETUP
7475 if (simgrid_parse_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassRoute>");} simgrid_parse_bypassRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassRoute_dst);
7476         YY_BREAK
7477 case 122:
7478 /* rule 122 can match eol */
7479 YY_RULE_SETUP
7480 if (simgrid_parse_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassRoute>");}  simgrid_parse_bypassRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassRoute_dst);
7481         YY_BREAK
7482 case 123:
7483 /* rule 123 can match eol */
7484 YY_RULE_SETUP
7485 if (simgrid_parse_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassRoute>");} simgrid_parse_bypassRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassRoute_src);
7486         YY_BREAK
7487 case 124:
7488 /* rule 124 can match eol */
7489 YY_RULE_SETUP
7490 if (simgrid_parse_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassRoute>");}  simgrid_parse_bypassRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassRoute_src);
7491         YY_BREAK
7492 case 125:
7493 YY_RULE_SETUP
7494 {
7495   if (!AX_simgrid_parse_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7496   if (!AX_simgrid_parse_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7497   LEAVE; STag_simgrid_parse_bypassRoute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_bypassRoute);
7498  }
7499         YY_BREAK
7500 case 126:
7501 YY_RULE_SETUP
7502 {
7503   if (!AX_simgrid_parse_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7504   if (!AX_simgrid_parse_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7505   LEAVE; STag_simgrid_parse_bypassRoute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_bypassRoute(); popbuffer(); /* attribute */
7506   switch (YY_START) {
7507    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
7508    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
7509   }
7510  }
7511         YY_BREAK
7512 case 127:
7513 YY_RULE_SETUP
7514 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", yytext[0]);
7515         YY_BREAK
7516 case 128:
7517 YY_RULE_SETUP
7518 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",yytext);
7519         YY_BREAK
7520 case YY_STATE_EOF(AL_simgrid_parse_bypassRoute):
7521 FAIL("EOF in attribute list of `bypassRoute' element.");
7522         YY_BREAK
7523
7524 case 129:
7525 /* rule 129 can match eol */
7526 YY_RULE_SETUP
7527 {
7528   LEAVE;
7529   ETag_simgrid_parse_bypassRoute();
7530   popbuffer(); /* attribute */
7531   switch (YY_START) {
7532    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
7533    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
7534   }
7535  }
7536         YY_BREAK
7537 case 130:
7538 /* rule 130 can match eol */
7539 YY_RULE_SETUP
7540 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",yytext);
7541         YY_BREAK
7542 case 131:
7543 YY_RULE_SETUP
7544 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",yytext[0]);
7545         YY_BREAK
7546 case YY_STATE_EOF(E_simgrid_parse_bypassRoute):
7547 case YY_STATE_EOF(S_simgrid_parse_bypassRoute):
7548 case YY_STATE_EOF(S_simgrid_parse_bypassRoute_2):
7549 FAIL("Premature EOF: `</bypassRoute>' expected.");
7550         YY_BREAK
7551
7552 case 132:
7553 /* rule 132 can match eol */
7554 YY_RULE_SETUP
7555 FAIL("Starting tag <bypassZoneRoute> is not allowed here.");
7556         YY_BREAK
7557 case 133:
7558 /* rule 133 can match eol */
7559 YY_RULE_SETUP
7560 {
7561   AX_simgrid_parse_bypassZoneRoute_dst = 0;
7562   simgrid_parse_bypassZoneRoute_dst_isset = 0;
7563   AX_simgrid_parse_bypassZoneRoute_gw___dst = 0;
7564   simgrid_parse_bypassZoneRoute_gw___dst_isset = 0;
7565   AX_simgrid_parse_bypassZoneRoute_gw___src = 0;
7566   simgrid_parse_bypassZoneRoute_gw___src_isset = 0;
7567   AX_simgrid_parse_bypassZoneRoute_src = 0;
7568   simgrid_parse_bypassZoneRoute_src_isset = 0;
7569   ENTER(AL_simgrid_parse_bypassZoneRoute); pushbuffer(0);
7570   }
7571         YY_BREAK
7572
7573 case 134:
7574 /* rule 134 can match eol */
7575 YY_RULE_SETUP
7576 if (simgrid_parse_bypassZoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_dst);
7577         YY_BREAK
7578 case 135:
7579 /* rule 135 can match eol */
7580 YY_RULE_SETUP
7581 if (simgrid_parse_bypassZoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_dst);
7582         YY_BREAK
7583 case 136:
7584 /* rule 136 can match eol */
7585 YY_RULE_SETUP
7586 if (simgrid_parse_bypassZoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___dst);
7587         YY_BREAK
7588 case 137:
7589 /* rule 137 can match eol */
7590 YY_RULE_SETUP
7591 if (simgrid_parse_bypassZoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___dst);
7592         YY_BREAK
7593 case 138:
7594 /* rule 138 can match eol */
7595 YY_RULE_SETUP
7596 if (simgrid_parse_bypassZoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___src);
7597         YY_BREAK
7598 case 139:
7599 /* rule 139 can match eol */
7600 YY_RULE_SETUP
7601 if (simgrid_parse_bypassZoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_gw___src);
7602         YY_BREAK
7603 case 140:
7604 /* rule 140 can match eol */
7605 YY_RULE_SETUP
7606 if (simgrid_parse_bypassZoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassZoneRoute>");} simgrid_parse_bypassZoneRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_src);
7607         YY_BREAK
7608 case 141:
7609 /* rule 141 can match eol */
7610 YY_RULE_SETUP
7611 if (simgrid_parse_bypassZoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_bypassZoneRoute>");}  simgrid_parse_bypassZoneRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_bypassZoneRoute_src);
7612         YY_BREAK
7613 case 142:
7614 YY_RULE_SETUP
7615 {
7616   if (!AX_simgrid_parse_bypassZoneRoute_dst) FAIL("Required attribute `dst' not set for `bypassZoneRoute' element.");
7617   if (!AX_simgrid_parse_bypassZoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassZoneRoute' element.");
7618   if (!AX_simgrid_parse_bypassZoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassZoneRoute' element.");
7619   if (!AX_simgrid_parse_bypassZoneRoute_src) FAIL("Required attribute `src' not set for `bypassZoneRoute' element.");
7620   LEAVE; STag_simgrid_parse_bypassZoneRoute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_bypassZoneRoute);
7621  }
7622         YY_BREAK
7623 case 143:
7624 YY_RULE_SETUP
7625 {
7626   if (!AX_simgrid_parse_bypassZoneRoute_dst) FAIL("Required attribute `dst' not set for `bypassZoneRoute' element.");
7627   if (!AX_simgrid_parse_bypassZoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassZoneRoute' element.");
7628   if (!AX_simgrid_parse_bypassZoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `bypassZoneRoute' element.");
7629   if (!AX_simgrid_parse_bypassZoneRoute_src) FAIL("Required attribute `src' not set for `bypassZoneRoute' element.");
7630   LEAVE; STag_simgrid_parse_bypassZoneRoute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_bypassZoneRoute(); popbuffer(); /* attribute */
7631   switch (YY_START) {
7632    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7633    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7634   }
7635  }
7636         YY_BREAK
7637 case 144:
7638 YY_RULE_SETUP
7639 FAIL("Unexpected character `%c' in attribute list of bypassZoneRoute element.", yytext[0]);
7640         YY_BREAK
7641 case 145:
7642 YY_RULE_SETUP
7643 FAIL("Bad attribute `%s' in `bypassZoneRoute' element start tag.",yytext);
7644         YY_BREAK
7645 case YY_STATE_EOF(AL_simgrid_parse_bypassZoneRoute):
7646 FAIL("EOF in attribute list of `bypassZoneRoute' element.");
7647         YY_BREAK
7648
7649 case 146:
7650 /* rule 146 can match eol */
7651 YY_RULE_SETUP
7652 {
7653   LEAVE;
7654   ETag_simgrid_parse_bypassZoneRoute();
7655   popbuffer(); /* attribute */
7656   switch (YY_START) {
7657    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
7658    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
7659   }
7660  }
7661         YY_BREAK
7662 case 147:
7663 /* rule 147 can match eol */
7664 YY_RULE_SETUP
7665 FAIL("Unexpected end-tag `%s': `</bypassZoneRoute>' expected.",yytext);
7666         YY_BREAK
7667 case 148:
7668 YY_RULE_SETUP
7669 FAIL("Unexpected character `%c': `</bypassZoneRoute>' expected.",yytext[0]);
7670         YY_BREAK
7671 case YY_STATE_EOF(E_simgrid_parse_bypassZoneRoute):
7672 case YY_STATE_EOF(S_simgrid_parse_bypassZoneRoute):
7673 case YY_STATE_EOF(S_simgrid_parse_bypassZoneRoute_2):
7674 FAIL("Premature EOF: `</bypassZoneRoute>' expected.");
7675         YY_BREAK
7676
7677 case 149:
7678 /* rule 149 can match eol */
7679 YY_RULE_SETUP
7680 FAIL("Starting tag <cabinet> is not allowed here.");
7681         YY_BREAK
7682 case 150:
7683 /* rule 150 can match eol */
7684 YY_RULE_SETUP
7685 {
7686   AX_simgrid_parse_cabinet_bw = 0;
7687   simgrid_parse_cabinet_bw_isset = 0;
7688   AX_simgrid_parse_cabinet_id = 0;
7689   simgrid_parse_cabinet_id_isset = 0;
7690   AX_simgrid_parse_cabinet_lat = 0;
7691   simgrid_parse_cabinet_lat_isset = 0;
7692   AX_simgrid_parse_cabinet_prefix = 0;
7693   simgrid_parse_cabinet_prefix_isset = 0;
7694   AX_simgrid_parse_cabinet_radical = 0;
7695   simgrid_parse_cabinet_radical_isset = 0;
7696   AX_simgrid_parse_cabinet_speed = 0;
7697   simgrid_parse_cabinet_speed_isset = 0;
7698   AX_simgrid_parse_cabinet_suffix = 0;
7699   simgrid_parse_cabinet_suffix_isset = 0;
7700   ENTER(AL_simgrid_parse_cabinet); pushbuffer(0);
7701   }
7702         YY_BREAK
7703
7704 case 151:
7705 /* rule 151 can match eol */
7706 YY_RULE_SETUP
7707 if (simgrid_parse_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_bw);
7708         YY_BREAK
7709 case 152:
7710 /* rule 152 can match eol */
7711 YY_RULE_SETUP
7712 if (simgrid_parse_cabinet_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_bw);
7713         YY_BREAK
7714 case 153:
7715 /* rule 153 can match eol */
7716 YY_RULE_SETUP
7717 if (simgrid_parse_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_id);
7718         YY_BREAK
7719 case 154:
7720 /* rule 154 can match eol */
7721 YY_RULE_SETUP
7722 if (simgrid_parse_cabinet_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_id);
7723         YY_BREAK
7724 case 155:
7725 /* rule 155 can match eol */
7726 YY_RULE_SETUP
7727 if (simgrid_parse_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_lat);
7728         YY_BREAK
7729 case 156:
7730 /* rule 156 can match eol */
7731 YY_RULE_SETUP
7732 if (simgrid_parse_cabinet_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_lat);
7733         YY_BREAK
7734 case 157:
7735 /* rule 157 can match eol */
7736 YY_RULE_SETUP
7737 if (simgrid_parse_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_prefix);
7738         YY_BREAK
7739 case 158:
7740 /* rule 158 can match eol */
7741 YY_RULE_SETUP
7742 if (simgrid_parse_cabinet_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_prefix);
7743         YY_BREAK
7744 case 159:
7745 /* rule 159 can match eol */
7746 YY_RULE_SETUP
7747 if (simgrid_parse_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_radical);
7748         YY_BREAK
7749 case 160:
7750 /* rule 160 can match eol */
7751 YY_RULE_SETUP
7752 if (simgrid_parse_cabinet_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_radical);
7753         YY_BREAK
7754 case 161:
7755 /* rule 161 can match eol */
7756 YY_RULE_SETUP
7757 if (simgrid_parse_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_speed);
7758         YY_BREAK
7759 case 162:
7760 /* rule 162 can match eol */
7761 YY_RULE_SETUP
7762 if (simgrid_parse_cabinet_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_speed);
7763         YY_BREAK
7764 case 163:
7765 /* rule 163 can match eol */
7766 YY_RULE_SETUP
7767 if (simgrid_parse_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cabinet>");} simgrid_parse_cabinet_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cabinet_suffix);
7768         YY_BREAK
7769 case 164:
7770 /* rule 164 can match eol */
7771 YY_RULE_SETUP
7772 if (simgrid_parse_cabinet_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cabinet>");}  simgrid_parse_cabinet_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cabinet_suffix);
7773         YY_BREAK
7774 case 165:
7775 YY_RULE_SETUP
7776 {
7777   if (!AX_simgrid_parse_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
7778   if (!AX_simgrid_parse_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
7779   if (!AX_simgrid_parse_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
7780   if (!AX_simgrid_parse_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
7781   if (!AX_simgrid_parse_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
7782   if (!AX_simgrid_parse_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
7783   if (!AX_simgrid_parse_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
7784   LEAVE; STag_simgrid_parse_cabinet();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_cabinet);
7785  }
7786         YY_BREAK
7787 case 166:
7788 YY_RULE_SETUP
7789 {
7790   if (!AX_simgrid_parse_cabinet_bw) FAIL("Required attribute `bw' not set for `cabinet' element.");
7791   if (!AX_simgrid_parse_cabinet_id) FAIL("Required attribute `id' not set for `cabinet' element.");
7792   if (!AX_simgrid_parse_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
7793   if (!AX_simgrid_parse_cabinet_prefix) FAIL("Required attribute `prefix' not set for `cabinet' element.");
7794   if (!AX_simgrid_parse_cabinet_radical) FAIL("Required attribute `radical' not set for `cabinet' element.");
7795   if (!AX_simgrid_parse_cabinet_speed) FAIL("Required attribute `speed' not set for `cabinet' element.");
7796   if (!AX_simgrid_parse_cabinet_suffix) FAIL("Required attribute `suffix' not set for `cabinet' element.");
7797   LEAVE; STag_simgrid_parse_cabinet(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_cabinet(); popbuffer(); /* attribute */
7798   switch (YY_START) {
7799    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
7800    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
7801    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
7802    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
7803    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
7804   }
7805  }
7806         YY_BREAK
7807 case 167:
7808 YY_RULE_SETUP
7809 FAIL("Unexpected character `%c' in attribute list of cabinet element.", yytext[0]);
7810         YY_BREAK
7811 case 168:
7812 YY_RULE_SETUP
7813 FAIL("Bad attribute `%s' in `cabinet' element start tag.",yytext);
7814         YY_BREAK
7815 case YY_STATE_EOF(AL_simgrid_parse_cabinet):
7816 FAIL("EOF in attribute list of `cabinet' element.");
7817         YY_BREAK
7818
7819 case 169:
7820 /* rule 169 can match eol */
7821 YY_RULE_SETUP
7822 {
7823   LEAVE;
7824   ETag_simgrid_parse_cabinet();
7825   popbuffer(); /* attribute */
7826   switch (YY_START) {
7827    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
7828    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
7829    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
7830    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
7831    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
7832   }
7833  }
7834         YY_BREAK
7835 case 170:
7836 /* rule 170 can match eol */
7837 YY_RULE_SETUP
7838 FAIL("Unexpected end-tag `%s': `</cabinet>' expected.",yytext);
7839         YY_BREAK
7840 case 171:
7841 YY_RULE_SETUP
7842 FAIL("Unexpected character `%c': `</cabinet>' expected.",yytext[0]);
7843         YY_BREAK
7844 case YY_STATE_EOF(E_simgrid_parse_cabinet):
7845 FAIL("Premature EOF: `</cabinet>' expected.");
7846         YY_BREAK
7847
7848 case 172:
7849 /* rule 172 can match eol */
7850 YY_RULE_SETUP
7851 FAIL("Starting tag <cluster> is not allowed here.");
7852         YY_BREAK
7853 case 173:
7854 /* rule 173 can match eol */
7855 YY_RULE_SETUP
7856 {
7857   AX_simgrid_parse_cluster_bb___bw = 0;
7858   simgrid_parse_cluster_bb___bw_isset = 0;
7859   AX_simgrid_parse_cluster_bb___lat = 30;
7860   simgrid_parse_cluster_bb___lat_isset = 0;
7861   AX_simgrid_parse_cluster_bb___sharing___policy = A_simgrid_parse_cluster_bb___sharing___policy_SHARED;
7862   simgrid_parse_cluster_bb___sharing___policy_isset = 0;
7863   AX_simgrid_parse_cluster_bw = 0;
7864   simgrid_parse_cluster_bw_isset = 0;
7865   AX_simgrid_parse_cluster_core = 28;
7866   simgrid_parse_cluster_core_isset = 0;
7867   AX_simgrid_parse_cluster_id = 0;
7868   simgrid_parse_cluster_id_isset = 0;
7869   AX_simgrid_parse_cluster_lat = 0;
7870   simgrid_parse_cluster_lat_isset = 0;
7871   AX_simgrid_parse_cluster_limiter___link = 0;
7872   simgrid_parse_cluster_limiter___link_isset = 0;
7873   AX_simgrid_parse_cluster_loopback___bw = 0;
7874   simgrid_parse_cluster_loopback___bw_isset = 0;
7875   AX_simgrid_parse_cluster_loopback___lat = 0;
7876   simgrid_parse_cluster_loopback___lat_isset = 0;
7877   AX_simgrid_parse_cluster_prefix = 0;
7878   simgrid_parse_cluster_prefix_isset = 0;
7879   AX_simgrid_parse_cluster_radical = 0;
7880   simgrid_parse_cluster_radical_isset = 0;
7881   AX_simgrid_parse_cluster_router___id = 0;
7882   simgrid_parse_cluster_router___id_isset = 0;
7883   AX_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_SPLITDUPLEX;
7884   simgrid_parse_cluster_sharing___policy_isset = 0;
7885   AX_simgrid_parse_cluster_speed = 0;
7886   simgrid_parse_cluster_speed_isset = 0;
7887   AX_simgrid_parse_cluster_suffix = 0;
7888   simgrid_parse_cluster_suffix_isset = 0;
7889   AX_simgrid_parse_cluster_topo___parameters = 0;
7890   simgrid_parse_cluster_topo___parameters_isset = 0;
7891   AX_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_FLAT;
7892   simgrid_parse_cluster_topology_isset = 0;
7893   ENTER(AL_simgrid_parse_cluster); pushbuffer(0);
7894   }
7895         YY_BREAK
7896
7897 case 174:
7898 /* rule 174 can match eol */
7899 YY_RULE_SETUP
7900 if (simgrid_parse_cluster_bb___bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <simgrid_parse_cluster>");} simgrid_parse_cluster_bb___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_bb___bw);
7901         YY_BREAK
7902 case 175:
7903 /* rule 175 can match eol */
7904 YY_RULE_SETUP
7905 if (simgrid_parse_cluster_bb___bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <simgrid_parse_cluster>");}  simgrid_parse_cluster_bb___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_bb___bw);
7906         YY_BREAK
7907 case 176:
7908 /* rule 176 can match eol */
7909 YY_RULE_SETUP
7910 if (simgrid_parse_cluster_bb___lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <simgrid_parse_cluster>");} simgrid_parse_cluster_bb___lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_bb___lat);
7911         YY_BREAK
7912 case 177:
7913 /* rule 177 can match eol */
7914 YY_RULE_SETUP
7915 if (simgrid_parse_cluster_bb___lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <simgrid_parse_cluster>");}  simgrid_parse_cluster_bb___lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_bb___lat);
7916         YY_BREAK
7917 case 178:
7918 /* rule 178 can match eol */
7919 case 179:
7920 /* rule 179 can match eol */
7921 YY_RULE_SETUP
7922 A_simgrid_parse_cluster_bb___sharing___policy = A_simgrid_parse_cluster_bb___sharing___policy_SHARED;
7923         YY_BREAK
7924 case 180:
7925 /* rule 180 can match eol */
7926 case 181:
7927 /* rule 181 can match eol */
7928 YY_RULE_SETUP
7929 A_simgrid_parse_cluster_bb___sharing___policy = A_simgrid_parse_cluster_bb___sharing___policy_FATPIPE;
7930         YY_BREAK
7931 case 182:
7932 /* rule 182 can match eol */
7933 YY_RULE_SETUP
7934 if (simgrid_parse_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cluster>");} simgrid_parse_cluster_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_bw);
7935         YY_BREAK
7936 case 183:
7937 /* rule 183 can match eol */
7938 YY_RULE_SETUP
7939 if (simgrid_parse_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <simgrid_parse_cluster>");}  simgrid_parse_cluster_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_bw);
7940         YY_BREAK
7941 case 184:
7942 /* rule 184 can match eol */
7943 YY_RULE_SETUP
7944 if (simgrid_parse_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_cluster>");} simgrid_parse_cluster_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_core);
7945         YY_BREAK
7946 case 185:
7947 /* rule 185 can match eol */
7948 YY_RULE_SETUP
7949 if (simgrid_parse_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_cluster>");}  simgrid_parse_cluster_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_core);
7950         YY_BREAK
7951 case 186:
7952 /* rule 186 can match eol */
7953 YY_RULE_SETUP
7954 if (simgrid_parse_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cluster>");} simgrid_parse_cluster_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_id);
7955         YY_BREAK
7956 case 187:
7957 /* rule 187 can match eol */
7958 YY_RULE_SETUP
7959 if (simgrid_parse_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_cluster>");}  simgrid_parse_cluster_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_id);
7960         YY_BREAK
7961 case 188:
7962 /* rule 188 can match eol */
7963 YY_RULE_SETUP
7964 if (simgrid_parse_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cluster>");} simgrid_parse_cluster_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_lat);
7965         YY_BREAK
7966 case 189:
7967 /* rule 189 can match eol */
7968 YY_RULE_SETUP
7969 if (simgrid_parse_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_cluster>");}  simgrid_parse_cluster_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_lat);
7970         YY_BREAK
7971 case 190:
7972 /* rule 190 can match eol */
7973 YY_RULE_SETUP
7974 if (simgrid_parse_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <simgrid_parse_cluster>");} simgrid_parse_cluster_limiter___link_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_limiter___link);
7975         YY_BREAK
7976 case 191:
7977 /* rule 191 can match eol */
7978 YY_RULE_SETUP
7979 if (simgrid_parse_cluster_limiter___link_isset != 0) {FAIL("Multiple definition of attribute limiter_link in <simgrid_parse_cluster>");}  simgrid_parse_cluster_limiter___link_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_limiter___link);
7980         YY_BREAK
7981 case 192:
7982 /* rule 192 can match eol */
7983 YY_RULE_SETUP
7984 if (simgrid_parse_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <simgrid_parse_cluster>");} simgrid_parse_cluster_loopback___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_loopback___bw);
7985         YY_BREAK
7986 case 193:
7987 /* rule 193 can match eol */
7988 YY_RULE_SETUP
7989 if (simgrid_parse_cluster_loopback___bw_isset != 0) {FAIL("Multiple definition of attribute loopback_bw in <simgrid_parse_cluster>");}  simgrid_parse_cluster_loopback___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_loopback___bw);
7990         YY_BREAK
7991 case 194:
7992 /* rule 194 can match eol */
7993 YY_RULE_SETUP
7994 if (simgrid_parse_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <simgrid_parse_cluster>");} simgrid_parse_cluster_loopback___lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_loopback___lat);
7995         YY_BREAK
7996 case 195:
7997 /* rule 195 can match eol */
7998 YY_RULE_SETUP
7999 if (simgrid_parse_cluster_loopback___lat_isset != 0) {FAIL("Multiple definition of attribute loopback_lat in <simgrid_parse_cluster>");}  simgrid_parse_cluster_loopback___lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_loopback___lat);
8000         YY_BREAK
8001 case 196:
8002 /* rule 196 can match eol */
8003 YY_RULE_SETUP
8004 if (simgrid_parse_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cluster>");} simgrid_parse_cluster_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_prefix);
8005         YY_BREAK
8006 case 197:
8007 /* rule 197 can match eol */
8008 YY_RULE_SETUP
8009 if (simgrid_parse_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <simgrid_parse_cluster>");}  simgrid_parse_cluster_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_prefix);
8010         YY_BREAK
8011 case 198:
8012 /* rule 198 can match eol */
8013 YY_RULE_SETUP
8014 if (simgrid_parse_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cluster>");} simgrid_parse_cluster_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_radical);
8015         YY_BREAK
8016 case 199:
8017 /* rule 199 can match eol */
8018 YY_RULE_SETUP
8019 if (simgrid_parse_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_cluster>");}  simgrid_parse_cluster_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_radical);
8020         YY_BREAK
8021 case 200:
8022 /* rule 200 can match eol */
8023 YY_RULE_SETUP
8024 if (simgrid_parse_cluster_router___id_isset != 0) {FAIL("Multiple definition of attribute router_id in <simgrid_parse_cluster>");} simgrid_parse_cluster_router___id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_router___id);
8025         YY_BREAK
8026 case 201:
8027 /* rule 201 can match eol */
8028 YY_RULE_SETUP
8029 if (simgrid_parse_cluster_router___id_isset != 0) {FAIL("Multiple definition of attribute router_id in <simgrid_parse_cluster>");}  simgrid_parse_cluster_router___id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_router___id);
8030         YY_BREAK
8031 case 202:
8032 /* rule 202 can match eol */
8033 case 203:
8034 /* rule 203 can match eol */
8035 YY_RULE_SETUP
8036 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_SHARED;
8037         YY_BREAK
8038 case 204:
8039 /* rule 204 can match eol */
8040 case 205:
8041 /* rule 205 can match eol */
8042 YY_RULE_SETUP
8043 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_SPLITDUPLEX;
8044         YY_BREAK
8045 case 206:
8046 /* rule 206 can match eol */
8047 case 207:
8048 /* rule 207 can match eol */
8049 YY_RULE_SETUP
8050 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_FULLDUPLEX;
8051         YY_BREAK
8052 case 208:
8053 /* rule 208 can match eol */
8054 case 209:
8055 /* rule 209 can match eol */
8056 YY_RULE_SETUP
8057 A_simgrid_parse_cluster_sharing___policy = A_simgrid_parse_cluster_sharing___policy_FATPIPE;
8058         YY_BREAK
8059 case 210:
8060 /* rule 210 can match eol */
8061 YY_RULE_SETUP
8062 if (simgrid_parse_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cluster>");} simgrid_parse_cluster_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_speed);
8063         YY_BREAK
8064 case 211:
8065 /* rule 211 can match eol */
8066 YY_RULE_SETUP
8067 if (simgrid_parse_cluster_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_cluster>");}  simgrid_parse_cluster_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_speed);
8068         YY_BREAK
8069 case 212:
8070 /* rule 212 can match eol */
8071 YY_RULE_SETUP
8072 if (simgrid_parse_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cluster>");} simgrid_parse_cluster_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_suffix);
8073         YY_BREAK
8074 case 213:
8075 /* rule 213 can match eol */
8076 YY_RULE_SETUP
8077 if (simgrid_parse_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <simgrid_parse_cluster>");}  simgrid_parse_cluster_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_suffix);
8078         YY_BREAK
8079 case 214:
8080 /* rule 214 can match eol */
8081 YY_RULE_SETUP
8082 if (simgrid_parse_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <simgrid_parse_cluster>");} simgrid_parse_cluster_topo___parameters_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_cluster_topo___parameters);
8083         YY_BREAK
8084 case 215:
8085 /* rule 215 can match eol */
8086 YY_RULE_SETUP
8087 if (simgrid_parse_cluster_topo___parameters_isset != 0) {FAIL("Multiple definition of attribute topo_parameters in <simgrid_parse_cluster>");}  simgrid_parse_cluster_topo___parameters_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_cluster_topo___parameters);
8088         YY_BREAK
8089 case 216:
8090 /* rule 216 can match eol */
8091 case 217:
8092 /* rule 217 can match eol */
8093 YY_RULE_SETUP
8094 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_FLAT;
8095         YY_BREAK
8096 case 218:
8097 /* rule 218 can match eol */
8098 case 219:
8099 /* rule 219 can match eol */
8100 YY_RULE_SETUP
8101 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_TORUS;
8102         YY_BREAK
8103 case 220:
8104 /* rule 220 can match eol */
8105 case 221:
8106 /* rule 221 can match eol */
8107 YY_RULE_SETUP
8108 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_FAT___TREE;
8109         YY_BREAK
8110 case 222:
8111 /* rule 222 can match eol */
8112 case 223:
8113 /* rule 223 can match eol */
8114 YY_RULE_SETUP
8115 A_simgrid_parse_cluster_topology = A_simgrid_parse_cluster_topology_DRAGONFLY;
8116         YY_BREAK
8117 case 224:
8118 YY_RULE_SETUP
8119 {
8120   if (!AX_simgrid_parse_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
8121   if (!AX_simgrid_parse_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
8122   if (!AX_simgrid_parse_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
8123   if (!AX_simgrid_parse_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
8124   if (!AX_simgrid_parse_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
8125   if (!AX_simgrid_parse_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
8126   if (!AX_simgrid_parse_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
8127   LEAVE; STag_simgrid_parse_cluster();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_cluster);
8128  }
8129         YY_BREAK
8130 case 225:
8131 YY_RULE_SETUP
8132 {
8133   if (!AX_simgrid_parse_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
8134   if (!AX_simgrid_parse_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
8135   if (!AX_simgrid_parse_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
8136   if (!AX_simgrid_parse_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
8137   if (!AX_simgrid_parse_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
8138   if (!AX_simgrid_parse_cluster_speed) FAIL("Required attribute `speed' not set for `cluster' element.");
8139   if (!AX_simgrid_parse_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
8140   LEAVE; STag_simgrid_parse_cluster(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_cluster(); popbuffer(); /* attribute */
8141   switch (YY_START) {
8142    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8143    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
8144    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
8145    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8146   }
8147  }
8148         YY_BREAK
8149 case 226:
8150 YY_RULE_SETUP
8151 FAIL("Unexpected character `%c' in attribute list of cluster element.", yytext[0]);
8152         YY_BREAK
8153 case 227:
8154 YY_RULE_SETUP
8155 FAIL("Bad attribute `%s' in `cluster' element start tag.",yytext);
8156         YY_BREAK
8157 case YY_STATE_EOF(AL_simgrid_parse_cluster):
8158 FAIL("EOF in attribute list of `cluster' element.");
8159         YY_BREAK
8160
8161 case 228:
8162 /* rule 228 can match eol */
8163 YY_RULE_SETUP
8164 {
8165   LEAVE;
8166   ETag_simgrid_parse_cluster();
8167   popbuffer(); /* attribute */
8168   switch (YY_START) {
8169    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8170    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
8171    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
8172    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8173   }
8174  }
8175         YY_BREAK
8176 case 229:
8177 /* rule 229 can match eol */
8178 YY_RULE_SETUP
8179 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",yytext);
8180         YY_BREAK
8181 case 230:
8182 YY_RULE_SETUP
8183 FAIL("Unexpected character `%c': `</cluster>' expected.",yytext[0]);
8184         YY_BREAK
8185 case YY_STATE_EOF(E_simgrid_parse_cluster):
8186 case YY_STATE_EOF(S_simgrid_parse_cluster):
8187 case YY_STATE_EOF(S_simgrid_parse_cluster_2):
8188 FAIL("Premature EOF: `</cluster>' expected.");
8189         YY_BREAK
8190
8191 case 231:
8192 /* rule 231 can match eol */
8193 YY_RULE_SETUP
8194 FAIL("Starting tag <config> is not allowed here.");
8195         YY_BREAK
8196 case 232:
8197 /* rule 232 can match eol */
8198 YY_RULE_SETUP
8199 {
8200   AX_simgrid_parse_config_id = 0;
8201   simgrid_parse_config_id_isset = 0;
8202   ENTER(AL_simgrid_parse_config); pushbuffer(0);
8203   }
8204         YY_BREAK
8205
8206 case 233:
8207 /* rule 233 can match eol */
8208 YY_RULE_SETUP
8209 if (simgrid_parse_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_config>");} simgrid_parse_config_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_config_id);
8210         YY_BREAK
8211 case 234:
8212 /* rule 234 can match eol */
8213 YY_RULE_SETUP
8214 if (simgrid_parse_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_config>");}  simgrid_parse_config_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_config_id);
8215         YY_BREAK
8216 case 235:
8217 YY_RULE_SETUP
8218 {
8219   LEAVE; STag_simgrid_parse_config();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_config);
8220  }
8221         YY_BREAK
8222 case 236:
8223 YY_RULE_SETUP
8224 {
8225   LEAVE; STag_simgrid_parse_config(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_config(); popbuffer(); /* attribute */
8226   switch (YY_START) {
8227    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
8228   }
8229  }
8230         YY_BREAK
8231 case 237:
8232 YY_RULE_SETUP
8233 FAIL("Unexpected character `%c' in attribute list of config element.", yytext[0]);
8234         YY_BREAK
8235 case 238:
8236 YY_RULE_SETUP
8237 FAIL("Bad attribute `%s' in `config' element start tag.",yytext);
8238         YY_BREAK
8239 case YY_STATE_EOF(AL_simgrid_parse_config):
8240 FAIL("EOF in attribute list of `config' element.");
8241         YY_BREAK
8242
8243 case 239:
8244 /* rule 239 can match eol */
8245 YY_RULE_SETUP
8246 {
8247   LEAVE;
8248   ETag_simgrid_parse_config();
8249   popbuffer(); /* attribute */
8250   switch (YY_START) {
8251    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
8252   }
8253  }
8254         YY_BREAK
8255 case 240:
8256 /* rule 240 can match eol */
8257 YY_RULE_SETUP
8258 FAIL("Unexpected end-tag `%s': `</config>' expected.",yytext);
8259         YY_BREAK
8260 case 241:
8261 YY_RULE_SETUP
8262 FAIL("Unexpected character `%c': `</config>' expected.",yytext[0]);
8263         YY_BREAK
8264 case YY_STATE_EOF(E_simgrid_parse_config):
8265 case YY_STATE_EOF(S_simgrid_parse_config):
8266 case YY_STATE_EOF(S_simgrid_parse_config_2):
8267 FAIL("Premature EOF: `</config>' expected.");
8268         YY_BREAK
8269
8270 case 242:
8271 /* rule 242 can match eol */
8272 YY_RULE_SETUP
8273 FAIL("Starting tag <disk> is not allowed here.");
8274         YY_BREAK
8275 case 243:
8276 /* rule 243 can match eol */
8277 YY_RULE_SETUP
8278 {
8279   AX_simgrid_parse_disk_id = 26;
8280   simgrid_parse_disk_id_isset = 0;
8281   AX_simgrid_parse_disk_read___bw = 0;
8282   simgrid_parse_disk_read___bw_isset = 0;
8283   AX_simgrid_parse_disk_write___bw = 0;
8284   simgrid_parse_disk_write___bw_isset = 0;
8285   ENTER(AL_simgrid_parse_disk); pushbuffer(0);
8286   }
8287         YY_BREAK
8288
8289 case 244:
8290 /* rule 244 can match eol */
8291 YY_RULE_SETUP
8292 if (simgrid_parse_disk_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_disk>");} simgrid_parse_disk_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_disk_id);
8293         YY_BREAK
8294 case 245:
8295 /* rule 245 can match eol */
8296 YY_RULE_SETUP
8297 if (simgrid_parse_disk_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_disk>");}  simgrid_parse_disk_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_disk_id);
8298         YY_BREAK
8299 case 246:
8300 /* rule 246 can match eol */
8301 YY_RULE_SETUP
8302 if (simgrid_parse_disk_read___bw_isset != 0) {FAIL("Multiple definition of attribute read_bw in <simgrid_parse_disk>");} simgrid_parse_disk_read___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_disk_read___bw);
8303         YY_BREAK
8304 case 247:
8305 /* rule 247 can match eol */
8306 YY_RULE_SETUP
8307 if (simgrid_parse_disk_read___bw_isset != 0) {FAIL("Multiple definition of attribute read_bw in <simgrid_parse_disk>");}  simgrid_parse_disk_read___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_disk_read___bw);
8308         YY_BREAK
8309 case 248:
8310 /* rule 248 can match eol */
8311 YY_RULE_SETUP
8312 if (simgrid_parse_disk_write___bw_isset != 0) {FAIL("Multiple definition of attribute write_bw in <simgrid_parse_disk>");} simgrid_parse_disk_write___bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_disk_write___bw);
8313         YY_BREAK
8314 case 249:
8315 /* rule 249 can match eol */
8316 YY_RULE_SETUP
8317 if (simgrid_parse_disk_write___bw_isset != 0) {FAIL("Multiple definition of attribute write_bw in <simgrid_parse_disk>");}  simgrid_parse_disk_write___bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_disk_write___bw);
8318         YY_BREAK
8319 case 250:
8320 YY_RULE_SETUP
8321 {
8322   if (!AX_simgrid_parse_disk_read___bw) FAIL("Required attribute `read_bw' not set for `disk' element.");
8323   if (!AX_simgrid_parse_disk_write___bw) FAIL("Required attribute `write_bw' not set for `disk' element.");
8324   LEAVE; STag_simgrid_parse_disk();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_disk);
8325  }
8326         YY_BREAK
8327 case 251:
8328 YY_RULE_SETUP
8329 {
8330   if (!AX_simgrid_parse_disk_read___bw) FAIL("Required attribute `read_bw' not set for `disk' element.");
8331   if (!AX_simgrid_parse_disk_write___bw) FAIL("Required attribute `write_bw' not set for `disk' element.");
8332   LEAVE; STag_simgrid_parse_disk(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_disk(); popbuffer(); /* attribute */
8333   switch (YY_START) {
8334    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
8335   }
8336  }
8337         YY_BREAK
8338 case 252:
8339 YY_RULE_SETUP
8340 FAIL("Unexpected character `%c' in attribute list of disk element.", yytext[0]);
8341         YY_BREAK
8342 case 253:
8343 YY_RULE_SETUP
8344 FAIL("Bad attribute `%s' in `disk' element start tag.",yytext);
8345         YY_BREAK
8346 case YY_STATE_EOF(AL_simgrid_parse_disk):
8347 FAIL("EOF in attribute list of `disk' element.");
8348         YY_BREAK
8349
8350 case 254:
8351 /* rule 254 can match eol */
8352 YY_RULE_SETUP
8353 {
8354   LEAVE;
8355   ETag_simgrid_parse_disk();
8356   popbuffer(); /* attribute */
8357   switch (YY_START) {
8358    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
8359   }
8360  }
8361         YY_BREAK
8362 case 255:
8363 /* rule 255 can match eol */
8364 YY_RULE_SETUP
8365 FAIL("Unexpected end-tag `%s': `</disk>' expected.",yytext);
8366         YY_BREAK
8367 case 256:
8368 YY_RULE_SETUP
8369 FAIL("Unexpected character `%c': `</disk>' expected.",yytext[0]);
8370         YY_BREAK
8371 case YY_STATE_EOF(E_simgrid_parse_disk):
8372 case YY_STATE_EOF(S_simgrid_parse_disk):
8373 case YY_STATE_EOF(S_simgrid_parse_disk_2):
8374 FAIL("Premature EOF: `</disk>' expected.");
8375         YY_BREAK
8376
8377 /* <!-- deprecated -->
8378   * <!-- deprecated -->  */
8379 case 257:
8380 /* rule 257 can match eol */
8381 YY_RULE_SETUP
8382 FAIL("Starting tag <host> is not allowed here.");
8383         YY_BREAK
8384 case 258:
8385 /* rule 258 can match eol */
8386 YY_RULE_SETUP
8387 {
8388   AX_simgrid_parse_host_availability___file = 0;
8389   simgrid_parse_host_availability___file_isset = 0;
8390   AX_simgrid_parse_host_coordinates = 0;
8391   simgrid_parse_host_coordinates_isset = 0;
8392   AX_simgrid_parse_host_core = 20;
8393   simgrid_parse_host_core_isset = 0;
8394   AX_simgrid_parse_host_id = 0;
8395   simgrid_parse_host_id_isset = 0;
8396   AX_simgrid_parse_host_pstate = 22;
8397   simgrid_parse_host_pstate_isset = 0;
8398   AX_simgrid_parse_host_speed = 0;
8399   simgrid_parse_host_speed_isset = 0;
8400   AX_simgrid_parse_host_speed___file = 0;
8401   simgrid_parse_host_speed___file_isset = 0;
8402   AX_simgrid_parse_host_state___file = 0;
8403   simgrid_parse_host_state___file_isset = 0;
8404   ENTER(AL_simgrid_parse_host); pushbuffer(0);
8405   }
8406         YY_BREAK
8407
8408 case 259:
8409 /* rule 259 can match eol */
8410 YY_RULE_SETUP
8411 if (simgrid_parse_host_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_host>");} simgrid_parse_host_availability___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_availability___file);
8412         YY_BREAK
8413 case 260:
8414 /* rule 260 can match eol */
8415 YY_RULE_SETUP
8416 if (simgrid_parse_host_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_host>");}  simgrid_parse_host_availability___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_availability___file);
8417         YY_BREAK
8418 case 261:
8419 /* rule 261 can match eol */
8420 YY_RULE_SETUP
8421 if (simgrid_parse_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_host>");} simgrid_parse_host_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_coordinates);
8422         YY_BREAK
8423 case 262:
8424 /* rule 262 can match eol */
8425 YY_RULE_SETUP
8426 if (simgrid_parse_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_host>");}  simgrid_parse_host_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_coordinates);
8427         YY_BREAK
8428 case 263:
8429 /* rule 263 can match eol */
8430 YY_RULE_SETUP
8431 if (simgrid_parse_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_host>");} simgrid_parse_host_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_core);
8432         YY_BREAK
8433 case 264:
8434 /* rule 264 can match eol */
8435 YY_RULE_SETUP
8436 if (simgrid_parse_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <simgrid_parse_host>");}  simgrid_parse_host_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_core);
8437         YY_BREAK
8438 case 265:
8439 /* rule 265 can match eol */
8440 YY_RULE_SETUP
8441 if (simgrid_parse_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host>");} simgrid_parse_host_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_id);
8442         YY_BREAK
8443 case 266:
8444 /* rule 266 can match eol */
8445 YY_RULE_SETUP
8446 if (simgrid_parse_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host>");}  simgrid_parse_host_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_id);
8447         YY_BREAK
8448 case 267:
8449 /* rule 267 can match eol */
8450 YY_RULE_SETUP
8451 if (simgrid_parse_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <simgrid_parse_host>");} simgrid_parse_host_pstate_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_pstate);
8452         YY_BREAK
8453 case 268:
8454 /* rule 268 can match eol */
8455 YY_RULE_SETUP
8456 if (simgrid_parse_host_pstate_isset != 0) {FAIL("Multiple definition of attribute pstate in <simgrid_parse_host>");}  simgrid_parse_host_pstate_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_pstate);
8457         YY_BREAK
8458 case 269:
8459 /* rule 269 can match eol */
8460 YY_RULE_SETUP
8461 if (simgrid_parse_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_host>");} simgrid_parse_host_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_speed);
8462         YY_BREAK
8463 case 270:
8464 /* rule 270 can match eol */
8465 YY_RULE_SETUP
8466 if (simgrid_parse_host_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_host>");}  simgrid_parse_host_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_speed);
8467         YY_BREAK
8468 case 271:
8469 /* rule 271 can match eol */
8470 YY_RULE_SETUP
8471 if (simgrid_parse_host_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_host>");} simgrid_parse_host_speed___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_speed___file);
8472         YY_BREAK
8473 case 272:
8474 /* rule 272 can match eol */
8475 YY_RULE_SETUP
8476 if (simgrid_parse_host_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_host>");}  simgrid_parse_host_speed___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_speed___file);
8477         YY_BREAK
8478 case 273:
8479 /* rule 273 can match eol */
8480 YY_RULE_SETUP
8481 if (simgrid_parse_host_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_host>");} simgrid_parse_host_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host_state___file);
8482         YY_BREAK
8483 case 274:
8484 /* rule 274 can match eol */
8485 YY_RULE_SETUP
8486 if (simgrid_parse_host_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_host>");}  simgrid_parse_host_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host_state___file);
8487         YY_BREAK
8488 case 275:
8489 YY_RULE_SETUP
8490 {
8491   if (!AX_simgrid_parse_host_id) FAIL("Required attribute `id' not set for `host' element.");
8492   if (!AX_simgrid_parse_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
8493   LEAVE; STag_simgrid_parse_host();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_host);
8494  }
8495         YY_BREAK
8496 case 276:
8497 YY_RULE_SETUP
8498 {
8499   if (!AX_simgrid_parse_host_id) FAIL("Required attribute `id' not set for `host' element.");
8500   if (!AX_simgrid_parse_host_speed) FAIL("Required attribute `speed' not set for `host' element.");
8501   LEAVE; STag_simgrid_parse_host(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_host(); popbuffer(); /* attribute */
8502   switch (YY_START) {
8503    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8504    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8505   }
8506  }
8507         YY_BREAK
8508 case 277:
8509 YY_RULE_SETUP
8510 FAIL("Unexpected character `%c' in attribute list of host element.", yytext[0]);
8511         YY_BREAK
8512 case 278:
8513 YY_RULE_SETUP
8514 FAIL("Bad attribute `%s' in `host' element start tag.",yytext);
8515         YY_BREAK
8516 case YY_STATE_EOF(AL_simgrid_parse_host):
8517 FAIL("EOF in attribute list of `host' element.");
8518         YY_BREAK
8519
8520 case 279:
8521 /* rule 279 can match eol */
8522 YY_RULE_SETUP
8523 {
8524   LEAVE;
8525   ETag_simgrid_parse_host();
8526   popbuffer(); /* attribute */
8527   switch (YY_START) {
8528    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8529    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8530   }
8531  }
8532         YY_BREAK
8533 case 280:
8534 /* rule 280 can match eol */
8535 YY_RULE_SETUP
8536 FAIL("Unexpected end-tag `%s': `</host>' expected.",yytext);
8537         YY_BREAK
8538 case 281:
8539 YY_RULE_SETUP
8540 FAIL("Unexpected character `%c': `</host>' expected.",yytext[0]);
8541         YY_BREAK
8542 case YY_STATE_EOF(E_simgrid_parse_host):
8543 case YY_STATE_EOF(S_simgrid_parse_host):
8544 case YY_STATE_EOF(S_simgrid_parse_host_2):
8545 FAIL("Premature EOF: `</host>' expected.");
8546         YY_BREAK
8547
8548 case 282:
8549 /* rule 282 can match eol */
8550 YY_RULE_SETUP
8551 FAIL("Starting tag <host_link> is not allowed here.");
8552         YY_BREAK
8553 case 283:
8554 /* rule 283 can match eol */
8555 YY_RULE_SETUP
8556 {
8557   AX_simgrid_parse_host___link_down = 0;
8558   simgrid_parse_host___link_down_isset = 0;
8559   AX_simgrid_parse_host___link_id = 0;
8560   simgrid_parse_host___link_id_isset = 0;
8561   AX_simgrid_parse_host___link_up = 0;
8562   simgrid_parse_host___link_up_isset = 0;
8563   ENTER(AL_simgrid_parse_host___link); pushbuffer(0);
8564   }
8565         YY_BREAK
8566
8567 case 284:
8568 /* rule 284 can match eol */
8569 YY_RULE_SETUP
8570 if (simgrid_parse_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <simgrid_parse_host___link>");} simgrid_parse_host___link_down_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host___link_down);
8571         YY_BREAK
8572 case 285:
8573 /* rule 285 can match eol */
8574 YY_RULE_SETUP
8575 if (simgrid_parse_host___link_down_isset != 0) {FAIL("Multiple definition of attribute down in <simgrid_parse_host___link>");}  simgrid_parse_host___link_down_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host___link_down);
8576         YY_BREAK
8577 case 286:
8578 /* rule 286 can match eol */
8579 YY_RULE_SETUP
8580 if (simgrid_parse_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host___link>");} simgrid_parse_host___link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host___link_id);
8581         YY_BREAK
8582 case 287:
8583 /* rule 287 can match eol */
8584 YY_RULE_SETUP
8585 if (simgrid_parse_host___link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_host___link>");}  simgrid_parse_host___link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host___link_id);
8586         YY_BREAK
8587 case 288:
8588 /* rule 288 can match eol */
8589 YY_RULE_SETUP
8590 if (simgrid_parse_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <simgrid_parse_host___link>");} simgrid_parse_host___link_up_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_host___link_up);
8591         YY_BREAK
8592 case 289:
8593 /* rule 289 can match eol */
8594 YY_RULE_SETUP
8595 if (simgrid_parse_host___link_up_isset != 0) {FAIL("Multiple definition of attribute up in <simgrid_parse_host___link>");}  simgrid_parse_host___link_up_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_host___link_up);
8596         YY_BREAK
8597 case 290:
8598 YY_RULE_SETUP
8599 {
8600   if (!AX_simgrid_parse_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
8601   if (!AX_simgrid_parse_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
8602   if (!AX_simgrid_parse_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
8603   LEAVE; STag_simgrid_parse_host___link();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_host___link);
8604  }
8605         YY_BREAK
8606 case 291:
8607 YY_RULE_SETUP
8608 {
8609   if (!AX_simgrid_parse_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
8610   if (!AX_simgrid_parse_host___link_id) FAIL("Required attribute `id' not set for `host_link' element.");
8611   if (!AX_simgrid_parse_host___link_up) FAIL("Required attribute `up' not set for `host_link' element.");
8612   LEAVE; STag_simgrid_parse_host___link(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_host___link(); popbuffer(); /* attribute */
8613   switch (YY_START) {
8614    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8615    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8616   }
8617  }
8618         YY_BREAK
8619 case 292:
8620 YY_RULE_SETUP
8621 FAIL("Unexpected character `%c' in attribute list of host_link element.", yytext[0]);
8622         YY_BREAK
8623 case 293:
8624 YY_RULE_SETUP
8625 FAIL("Bad attribute `%s' in `host_link' element start tag.",yytext);
8626         YY_BREAK
8627 case YY_STATE_EOF(AL_simgrid_parse_host___link):
8628 FAIL("EOF in attribute list of `host_link' element.");
8629         YY_BREAK
8630
8631 case 294:
8632 /* rule 294 can match eol */
8633 YY_RULE_SETUP
8634 {
8635   LEAVE;
8636   ETag_simgrid_parse_host___link();
8637   popbuffer(); /* attribute */
8638   switch (YY_START) {
8639    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8640    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8641   }
8642  }
8643         YY_BREAK
8644 case 295:
8645 /* rule 295 can match eol */
8646 YY_RULE_SETUP
8647 FAIL("Unexpected end-tag `%s': `</host_link>' expected.",yytext);
8648         YY_BREAK
8649 case 296:
8650 YY_RULE_SETUP
8651 FAIL("Unexpected character `%c': `</host_link>' expected.",yytext[0]);
8652         YY_BREAK
8653 case YY_STATE_EOF(E_simgrid_parse_host___link):
8654 FAIL("Premature EOF: `</host_link>' expected.");
8655         YY_BREAK
8656
8657 /* <!-- tag include is deprecated. Not documented, and removed in v3.22 -->  */
8658 case 297:
8659 /* rule 297 can match eol */
8660 YY_RULE_SETUP
8661 FAIL("Starting tag <include> is not allowed here.");
8662         YY_BREAK
8663 case 298:
8664 /* rule 298 can match eol */
8665 YY_RULE_SETUP
8666 {
8667   AX_simgrid_parse_include_file = 0;
8668   simgrid_parse_include_file_isset = 0;
8669   ENTER(AL_simgrid_parse_include); pushbuffer(0);
8670   }
8671         YY_BREAK
8672
8673 case 299:
8674 /* rule 299 can match eol */
8675 YY_RULE_SETUP
8676 if (simgrid_parse_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_include>");} simgrid_parse_include_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_include_file);
8677         YY_BREAK
8678 case 300:
8679 /* rule 300 can match eol */
8680 YY_RULE_SETUP
8681 if (simgrid_parse_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_include>");}  simgrid_parse_include_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_include_file);
8682         YY_BREAK
8683 case 301:
8684 YY_RULE_SETUP
8685 {
8686   if (!AX_simgrid_parse_include_file) FAIL("Required attribute `file' not set for `include' element.");
8687   LEAVE; STag_simgrid_parse_include();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_include);
8688  }
8689         YY_BREAK
8690 case 302:
8691 YY_RULE_SETUP
8692 {
8693   if (!AX_simgrid_parse_include_file) FAIL("Required attribute `file' not set for `include' element.");
8694   LEAVE; STag_simgrid_parse_include(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_include(); popbuffer(); /* attribute */
8695   switch (YY_START) {
8696    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8697    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8698    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
8699    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
8700    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8701    case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8702   }
8703  }
8704         YY_BREAK
8705 case 303:
8706 YY_RULE_SETUP
8707 FAIL("Unexpected character `%c' in attribute list of include element.", yytext[0]);
8708         YY_BREAK
8709 case 304:
8710 YY_RULE_SETUP
8711 FAIL("Bad attribute `%s' in `include' element start tag.",yytext);
8712         YY_BREAK
8713 case YY_STATE_EOF(AL_simgrid_parse_include):
8714 FAIL("EOF in attribute list of `include' element.");
8715         YY_BREAK
8716
8717 case 305:
8718 /* rule 305 can match eol */
8719 YY_RULE_SETUP
8720 {
8721   LEAVE;
8722   ETag_simgrid_parse_include();
8723   popbuffer(); /* attribute */
8724   switch (YY_START) {
8725    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8726    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8727    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
8728    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
8729    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8730    case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8731   }
8732  }
8733         YY_BREAK
8734 case 306:
8735 /* rule 306 can match eol */
8736 YY_RULE_SETUP
8737 FAIL("Unexpected end-tag `%s': `</include>' expected.",yytext);
8738         YY_BREAK
8739 case 307:
8740 YY_RULE_SETUP
8741 FAIL("Unexpected character `%c': `</include>' expected.",yytext[0]);
8742         YY_BREAK
8743 case YY_STATE_EOF(E_simgrid_parse_include):
8744 case YY_STATE_EOF(S_simgrid_parse_include):
8745 case YY_STATE_EOF(S_simgrid_parse_include_2):
8746 FAIL("Premature EOF: `</include>' expected.");
8747         YY_BREAK
8748
8749 case 308:
8750 /* rule 308 can match eol */
8751 YY_RULE_SETUP
8752 FAIL("Starting tag <link> is not allowed here.");
8753         YY_BREAK
8754 case 309:
8755 /* rule 309 can match eol */
8756 YY_RULE_SETUP
8757 {
8758   AX_simgrid_parse_link_bandwidth = 0;
8759   simgrid_parse_link_bandwidth_isset = 0;
8760   AX_simgrid_parse_link_bandwidth___file = 0;
8761   simgrid_parse_link_bandwidth___file_isset = 0;
8762   AX_simgrid_parse_link_id = 0;
8763   simgrid_parse_link_id_isset = 0;
8764   AX_simgrid_parse_link_latency = 0;
8765   simgrid_parse_link_latency_isset = 0;
8766   AX_simgrid_parse_link_latency___file = 0;
8767   simgrid_parse_link_latency___file_isset = 0;
8768   AX_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_SHARED;
8769   simgrid_parse_link_sharing___policy_isset = 0;
8770   AX_simgrid_parse_link_state___file = 0;
8771   simgrid_parse_link_state___file_isset = 0;
8772   ENTER(AL_simgrid_parse_link); pushbuffer(0);
8773   }
8774         YY_BREAK
8775
8776 case 310:
8777 /* rule 310 can match eol */
8778 YY_RULE_SETUP
8779 if (simgrid_parse_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_link>");} simgrid_parse_link_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_bandwidth);
8780         YY_BREAK
8781 case 311:
8782 /* rule 311 can match eol */
8783 YY_RULE_SETUP
8784 if (simgrid_parse_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <simgrid_parse_link>");}  simgrid_parse_link_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_bandwidth);
8785         YY_BREAK
8786 case 312:
8787 /* rule 312 can match eol */
8788 YY_RULE_SETUP
8789 if (simgrid_parse_link_bandwidth___file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <simgrid_parse_link>");} simgrid_parse_link_bandwidth___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_bandwidth___file);
8790         YY_BREAK
8791 case 313:
8792 /* rule 313 can match eol */
8793 YY_RULE_SETUP
8794 if (simgrid_parse_link_bandwidth___file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <simgrid_parse_link>");}  simgrid_parse_link_bandwidth___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_bandwidth___file);
8795         YY_BREAK
8796 case 314:
8797 /* rule 314 can match eol */
8798 YY_RULE_SETUP
8799 if (simgrid_parse_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link>");} simgrid_parse_link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_id);
8800         YY_BREAK
8801 case 315:
8802 /* rule 315 can match eol */
8803 YY_RULE_SETUP
8804 if (simgrid_parse_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link>");}  simgrid_parse_link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_id);
8805         YY_BREAK
8806 case 316:
8807 /* rule 316 can match eol */
8808 YY_RULE_SETUP
8809 if (simgrid_parse_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_link>");} simgrid_parse_link_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_latency);
8810         YY_BREAK
8811 case 317:
8812 /* rule 317 can match eol */
8813 YY_RULE_SETUP
8814 if (simgrid_parse_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <simgrid_parse_link>");}  simgrid_parse_link_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_latency);
8815         YY_BREAK
8816 case 318:
8817 /* rule 318 can match eol */
8818 YY_RULE_SETUP
8819 if (simgrid_parse_link_latency___file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <simgrid_parse_link>");} simgrid_parse_link_latency___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_latency___file);
8820         YY_BREAK
8821 case 319:
8822 /* rule 319 can match eol */
8823 YY_RULE_SETUP
8824 if (simgrid_parse_link_latency___file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <simgrid_parse_link>");}  simgrid_parse_link_latency___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_latency___file);
8825         YY_BREAK
8826 case 320:
8827 /* rule 320 can match eol */
8828 case 321:
8829 /* rule 321 can match eol */
8830 YY_RULE_SETUP
8831 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_SHARED;
8832         YY_BREAK
8833 case 322:
8834 /* rule 322 can match eol */
8835 case 323:
8836 /* rule 323 can match eol */
8837 YY_RULE_SETUP
8838 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_SPLITDUPLEX;
8839         YY_BREAK
8840 case 324:
8841 /* rule 324 can match eol */
8842 case 325:
8843 /* rule 325 can match eol */
8844 YY_RULE_SETUP
8845 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_FULLDUPLEX;
8846         YY_BREAK
8847 case 326:
8848 /* rule 326 can match eol */
8849 case 327:
8850 /* rule 327 can match eol */
8851 YY_RULE_SETUP
8852 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_FATPIPE;
8853         YY_BREAK
8854 case 328:
8855 /* rule 328 can match eol */
8856 case 329:
8857 /* rule 329 can match eol */
8858 YY_RULE_SETUP
8859 A_simgrid_parse_link_sharing___policy = A_simgrid_parse_link_sharing___policy_WIFI;
8860         YY_BREAK
8861 case 330:
8862 /* rule 330 can match eol */
8863 YY_RULE_SETUP
8864 if (simgrid_parse_link_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_link>");} simgrid_parse_link_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link_state___file);
8865         YY_BREAK
8866 case 331:
8867 /* rule 331 can match eol */
8868 YY_RULE_SETUP
8869 if (simgrid_parse_link_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_link>");}  simgrid_parse_link_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link_state___file);
8870         YY_BREAK
8871 case 332:
8872 YY_RULE_SETUP
8873 {
8874   if (!AX_simgrid_parse_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
8875   if (!AX_simgrid_parse_link_id) FAIL("Required attribute `id' not set for `link' element.");
8876   LEAVE; STag_simgrid_parse_link();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_link);
8877  }
8878         YY_BREAK
8879 case 333:
8880 YY_RULE_SETUP
8881 {
8882   if (!AX_simgrid_parse_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
8883   if (!AX_simgrid_parse_link_id) FAIL("Required attribute `id' not set for `link' element.");
8884   LEAVE; STag_simgrid_parse_link(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_link(); popbuffer(); /* attribute */
8885   switch (YY_START) {
8886    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8887    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8888    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8889    case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8890   }
8891  }
8892         YY_BREAK
8893 case 334:
8894 YY_RULE_SETUP
8895 FAIL("Unexpected character `%c' in attribute list of link element.", yytext[0]);
8896         YY_BREAK
8897 case 335:
8898 YY_RULE_SETUP
8899 FAIL("Bad attribute `%s' in `link' element start tag.",yytext);
8900         YY_BREAK
8901 case YY_STATE_EOF(AL_simgrid_parse_link):
8902 FAIL("EOF in attribute list of `link' element.");
8903         YY_BREAK
8904
8905 case 336:
8906 /* rule 336 can match eol */
8907 YY_RULE_SETUP
8908 {
8909   LEAVE;
8910   ETag_simgrid_parse_link();
8911   popbuffer(); /* attribute */
8912   switch (YY_START) {
8913    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
8914    case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
8915    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
8916    case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
8917   }
8918  }
8919         YY_BREAK
8920 case 337:
8921 /* rule 337 can match eol */
8922 YY_RULE_SETUP
8923 FAIL("Unexpected end-tag `%s': `</link>' expected.",yytext);
8924         YY_BREAK
8925 case 338:
8926 YY_RULE_SETUP
8927 FAIL("Unexpected character `%c': `</link>' expected.",yytext[0]);
8928         YY_BREAK
8929 case YY_STATE_EOF(E_simgrid_parse_link):
8930 case YY_STATE_EOF(S_simgrid_parse_link):
8931 case YY_STATE_EOF(S_simgrid_parse_link_2):
8932 FAIL("Premature EOF: `</link>' expected.");
8933         YY_BREAK
8934
8935 case 339:
8936 /* rule 339 can match eol */
8937 YY_RULE_SETUP
8938 FAIL("Starting tag <link_ctn> is not allowed here.");
8939         YY_BREAK
8940 case 340:
8941 /* rule 340 can match eol */
8942 YY_RULE_SETUP
8943 {
8944   AX_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_NONE;
8945   simgrid_parse_link___ctn_direction_isset = 0;
8946   AX_simgrid_parse_link___ctn_id = 0;
8947   simgrid_parse_link___ctn_id_isset = 0;
8948   ENTER(AL_simgrid_parse_link___ctn); pushbuffer(0);
8949   }
8950         YY_BREAK
8951
8952 case 341:
8953 /* rule 341 can match eol */
8954 case 342:
8955 /* rule 342 can match eol */
8956 YY_RULE_SETUP
8957 A_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_UP;
8958         YY_BREAK
8959 case 343:
8960 /* rule 343 can match eol */
8961 case 344:
8962 /* rule 344 can match eol */
8963 YY_RULE_SETUP
8964 A_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_DOWN;
8965         YY_BREAK
8966 case 345:
8967 /* rule 345 can match eol */
8968 case 346:
8969 /* rule 346 can match eol */
8970 YY_RULE_SETUP
8971 A_simgrid_parse_link___ctn_direction = A_simgrid_parse_link___ctn_direction_NONE;
8972         YY_BREAK
8973 case 347:
8974 /* rule 347 can match eol */
8975 YY_RULE_SETUP
8976 if (simgrid_parse_link___ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link___ctn>");} simgrid_parse_link___ctn_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_link___ctn_id);
8977         YY_BREAK
8978 case 348:
8979 /* rule 348 can match eol */
8980 YY_RULE_SETUP
8981 if (simgrid_parse_link___ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_link___ctn>");}  simgrid_parse_link___ctn_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_link___ctn_id);
8982         YY_BREAK
8983 case 349:
8984 YY_RULE_SETUP
8985 {
8986   if (!AX_simgrid_parse_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
8987   LEAVE; STag_simgrid_parse_link___ctn();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_link___ctn);
8988  }
8989         YY_BREAK
8990 case 350:
8991 YY_RULE_SETUP
8992 {
8993   if (!AX_simgrid_parse_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
8994   LEAVE; STag_simgrid_parse_link___ctn(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_link___ctn(); popbuffer(); /* attribute */
8995   switch (YY_START) {
8996    case S_simgrid_parse_ASroute: case S_simgrid_parse_ASroute_1: case S_simgrid_parse_ASroute_2: SET(S_simgrid_parse_ASroute_2); break;
8997    case S_simgrid_parse_bypassASroute: case S_simgrid_parse_bypassASroute_1: case S_simgrid_parse_bypassASroute_2: SET(S_simgrid_parse_bypassASroute_2); break;
8998    case S_simgrid_parse_bypassRoute: case S_simgrid_parse_bypassRoute_1: case S_simgrid_parse_bypassRoute_2: SET(S_simgrid_parse_bypassRoute_2); break;
8999    case S_simgrid_parse_bypassZoneRoute: case S_simgrid_parse_bypassZoneRoute_1: case S_simgrid_parse_bypassZoneRoute_2: SET(S_simgrid_parse_bypassZoneRoute_2); break;
9000    case S_simgrid_parse_route: case S_simgrid_parse_route_1: case S_simgrid_parse_route_2: SET(S_simgrid_parse_route_2); break;
9001    case S_simgrid_parse_zoneRoute: case S_simgrid_parse_zoneRoute_1: case S_simgrid_parse_zoneRoute_2: SET(S_simgrid_parse_zoneRoute_2); break;
9002   }
9003  }
9004         YY_BREAK
9005 case 351:
9006 YY_RULE_SETUP
9007 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", yytext[0]);
9008         YY_BREAK
9009 case 352:
9010 YY_RULE_SETUP
9011 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",yytext);
9012         YY_BREAK
9013 case YY_STATE_EOF(AL_simgrid_parse_link___ctn):
9014 FAIL("EOF in attribute list of `link_ctn' element.");
9015         YY_BREAK
9016
9017 case 353:
9018 /* rule 353 can match eol */
9019 YY_RULE_SETUP
9020 {
9021   LEAVE;
9022   ETag_simgrid_parse_link___ctn();
9023   popbuffer(); /* attribute */
9024   switch (YY_START) {
9025    case S_simgrid_parse_ASroute: case S_simgrid_parse_ASroute_1: case S_simgrid_parse_ASroute_2: SET(S_simgrid_parse_ASroute_2); break;
9026    case S_simgrid_parse_bypassASroute: case S_simgrid_parse_bypassASroute_1: case S_simgrid_parse_bypassASroute_2: SET(S_simgrid_parse_bypassASroute_2); break;
9027    case S_simgrid_parse_bypassRoute: case S_simgrid_parse_bypassRoute_1: case S_simgrid_parse_bypassRoute_2: SET(S_simgrid_parse_bypassRoute_2); break;
9028    case S_simgrid_parse_bypassZoneRoute: case S_simgrid_parse_bypassZoneRoute_1: case S_simgrid_parse_bypassZoneRoute_2: SET(S_simgrid_parse_bypassZoneRoute_2); break;
9029    case S_simgrid_parse_route: case S_simgrid_parse_route_1: case S_simgrid_parse_route_2: SET(S_simgrid_parse_route_2); break;
9030    case S_simgrid_parse_zoneRoute: case S_simgrid_parse_zoneRoute_1: case S_simgrid_parse_zoneRoute_2: SET(S_simgrid_parse_zoneRoute_2); break;
9031   }
9032  }
9033         YY_BREAK
9034 case 354:
9035 /* rule 354 can match eol */
9036 YY_RULE_SETUP
9037 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",yytext);
9038         YY_BREAK
9039 case 355:
9040 YY_RULE_SETUP
9041 FAIL("Unexpected character `%c': `</link_ctn>' expected.",yytext[0]);
9042         YY_BREAK
9043 case YY_STATE_EOF(E_simgrid_parse_link___ctn):
9044 FAIL("Premature EOF: `</link_ctn>' expected.");
9045         YY_BREAK
9046
9047 /* <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->
9048   * <!-- <!ATTLIST model_prop key CDATA #REQUIRED> -->  */
9049 case 356:
9050 /* rule 356 can match eol */
9051 YY_RULE_SETUP
9052 FAIL("Starting tag <model_prop> is not allowed here.");
9053         YY_BREAK
9054 case 357:
9055 /* rule 357 can match eol */
9056 YY_RULE_SETUP
9057 {
9058   AX_simgrid_parse_model___prop_id = 0;
9059   simgrid_parse_model___prop_id_isset = 0;
9060   AX_simgrid_parse_model___prop_value = 0;
9061   simgrid_parse_model___prop_value_isset = 0;
9062   ENTER(AL_simgrid_parse_model___prop); pushbuffer(0);
9063   }
9064         YY_BREAK
9065
9066 case 358:
9067 /* rule 358 can match eol */
9068 YY_RULE_SETUP
9069 if (simgrid_parse_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_model___prop>");} simgrid_parse_model___prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_model___prop_id);
9070         YY_BREAK
9071 case 359:
9072 /* rule 359 can match eol */
9073 YY_RULE_SETUP
9074 if (simgrid_parse_model___prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_model___prop>");}  simgrid_parse_model___prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_model___prop_id);
9075         YY_BREAK
9076 case 360:
9077 /* rule 360 can match eol */
9078 YY_RULE_SETUP
9079 if (simgrid_parse_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_model___prop>");} simgrid_parse_model___prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_model___prop_value);
9080         YY_BREAK
9081 case 361:
9082 /* rule 361 can match eol */
9083 YY_RULE_SETUP
9084 if (simgrid_parse_model___prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_model___prop>");}  simgrid_parse_model___prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_model___prop_value);
9085         YY_BREAK
9086 case 362:
9087 YY_RULE_SETUP
9088 {
9089   if (!AX_simgrid_parse_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
9090   if (!AX_simgrid_parse_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
9091   LEAVE; STag_simgrid_parse_model___prop();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_model___prop);
9092  }
9093         YY_BREAK
9094 case 363:
9095 YY_RULE_SETUP
9096 {
9097   if (!AX_simgrid_parse_model___prop_id) FAIL("Required attribute `id' not set for `model_prop' element.");
9098   if (!AX_simgrid_parse_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
9099   LEAVE; STag_simgrid_parse_model___prop(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_model___prop(); popbuffer(); /* attribute */
9100   switch (YY_START) {
9101    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9102   }
9103  }
9104         YY_BREAK
9105 case 364:
9106 YY_RULE_SETUP
9107 FAIL("Unexpected character `%c' in attribute list of model_prop element.", yytext[0]);
9108         YY_BREAK
9109 case 365:
9110 YY_RULE_SETUP
9111 FAIL("Bad attribute `%s' in `model_prop' element start tag.",yytext);
9112         YY_BREAK
9113 case YY_STATE_EOF(AL_simgrid_parse_model___prop):
9114 FAIL("EOF in attribute list of `model_prop' element.");
9115         YY_BREAK
9116
9117 case 366:
9118 /* rule 366 can match eol */
9119 YY_RULE_SETUP
9120 {
9121   LEAVE;
9122   ETag_simgrid_parse_model___prop();
9123   popbuffer(); /* attribute */
9124   switch (YY_START) {
9125    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9126   }
9127  }
9128         YY_BREAK
9129 case 367:
9130 /* rule 367 can match eol */
9131 YY_RULE_SETUP
9132 FAIL("Unexpected end-tag `%s': `</model_prop>' expected.",yytext);
9133         YY_BREAK
9134 case 368:
9135 YY_RULE_SETUP
9136 FAIL("Unexpected character `%c': `</model_prop>' expected.",yytext[0]);
9137         YY_BREAK
9138 case YY_STATE_EOF(E_simgrid_parse_model___prop):
9139 FAIL("Premature EOF: `</model_prop>' expected.");
9140         YY_BREAK
9141
9142 case 369:
9143 /* rule 369 can match eol */
9144 YY_RULE_SETUP
9145 FAIL("Starting tag <mount> is not allowed here.");
9146         YY_BREAK
9147 case 370:
9148 /* rule 370 can match eol */
9149 YY_RULE_SETUP
9150 {
9151   AX_simgrid_parse_mount_name = 0;
9152   simgrid_parse_mount_name_isset = 0;
9153   AX_simgrid_parse_mount_storageId = 0;
9154   simgrid_parse_mount_storageId_isset = 0;
9155   ENTER(AL_simgrid_parse_mount); pushbuffer(0);
9156   }
9157         YY_BREAK
9158
9159 case 371:
9160 /* rule 371 can match eol */
9161 YY_RULE_SETUP
9162 if (simgrid_parse_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <simgrid_parse_mount>");} simgrid_parse_mount_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_mount_name);
9163         YY_BREAK
9164 case 372:
9165 /* rule 372 can match eol */
9166 YY_RULE_SETUP
9167 if (simgrid_parse_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <simgrid_parse_mount>");}  simgrid_parse_mount_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_mount_name);
9168         YY_BREAK
9169 case 373:
9170 /* rule 373 can match eol */
9171 YY_RULE_SETUP
9172 if (simgrid_parse_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <simgrid_parse_mount>");} simgrid_parse_mount_storageId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_mount_storageId);
9173         YY_BREAK
9174 case 374:
9175 /* rule 374 can match eol */
9176 YY_RULE_SETUP
9177 if (simgrid_parse_mount_storageId_isset != 0) {FAIL("Multiple definition of attribute storageId in <simgrid_parse_mount>");}  simgrid_parse_mount_storageId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_mount_storageId);
9178         YY_BREAK
9179 case 375:
9180 YY_RULE_SETUP
9181 {
9182   if (!AX_simgrid_parse_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
9183   if (!AX_simgrid_parse_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
9184   LEAVE; STag_simgrid_parse_mount();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_mount);
9185  }
9186         YY_BREAK
9187 case 376:
9188 YY_RULE_SETUP
9189 {
9190   if (!AX_simgrid_parse_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
9191   if (!AX_simgrid_parse_mount_storageId) FAIL("Required attribute `storageId' not set for `mount' element.");
9192   LEAVE; STag_simgrid_parse_mount(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_mount(); popbuffer(); /* attribute */
9193   switch (YY_START) {
9194    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9195   }
9196  }
9197         YY_BREAK
9198 case 377:
9199 YY_RULE_SETUP
9200 FAIL("Unexpected character `%c' in attribute list of mount element.", yytext[0]);
9201         YY_BREAK
9202 case 378:
9203 YY_RULE_SETUP
9204 FAIL("Bad attribute `%s' in `mount' element start tag.",yytext);
9205         YY_BREAK
9206 case YY_STATE_EOF(AL_simgrid_parse_mount):
9207 FAIL("EOF in attribute list of `mount' element.");
9208         YY_BREAK
9209
9210 case 379:
9211 /* rule 379 can match eol */
9212 YY_RULE_SETUP
9213 {
9214   LEAVE;
9215   ETag_simgrid_parse_mount();
9216   popbuffer(); /* attribute */
9217   switch (YY_START) {
9218    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9219   }
9220  }
9221         YY_BREAK
9222 case 380:
9223 /* rule 380 can match eol */
9224 YY_RULE_SETUP
9225 FAIL("Unexpected end-tag `%s': `</mount>' expected.",yytext);
9226         YY_BREAK
9227 case 381:
9228 YY_RULE_SETUP
9229 FAIL("Unexpected character `%c': `</mount>' expected.",yytext[0]);
9230         YY_BREAK
9231 case YY_STATE_EOF(E_simgrid_parse_mount):
9232 FAIL("Premature EOF: `</mount>' expected.");
9233         YY_BREAK
9234
9235 /* <!-- deprecated -->
9236   * <!-- deprecated -->  */
9237 case 382:
9238 /* rule 382 can match eol */
9239 YY_RULE_SETUP
9240 FAIL("Starting tag <peer> is not allowed here.");
9241         YY_BREAK
9242 case 383:
9243 /* rule 383 can match eol */
9244 YY_RULE_SETUP
9245 {
9246   AX_simgrid_parse_peer_availability___file = 0;
9247   simgrid_parse_peer_availability___file_isset = 0;
9248   AX_simgrid_parse_peer_bw___in = 0;
9249   simgrid_parse_peer_bw___in_isset = 0;
9250   AX_simgrid_parse_peer_bw___out = 0;
9251   simgrid_parse_peer_bw___out_isset = 0;
9252   AX_simgrid_parse_peer_coordinates = 0;
9253   simgrid_parse_peer_coordinates_isset = 0;
9254   AX_simgrid_parse_peer_id = 0;
9255   simgrid_parse_peer_id_isset = 0;
9256   AX_simgrid_parse_peer_lat = 0;
9257   simgrid_parse_peer_lat_isset = 0;
9258   AX_simgrid_parse_peer_speed = 0;
9259   simgrid_parse_peer_speed_isset = 0;
9260   AX_simgrid_parse_peer_speed___file = 0;
9261   simgrid_parse_peer_speed___file_isset = 0;
9262   AX_simgrid_parse_peer_state___file = 0;
9263   simgrid_parse_peer_state___file_isset = 0;
9264   ENTER(AL_simgrid_parse_peer); pushbuffer(0);
9265   }
9266         YY_BREAK
9267
9268 case 384:
9269 /* rule 384 can match eol */
9270 YY_RULE_SETUP
9271 if (simgrid_parse_peer_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_peer>");} simgrid_parse_peer_availability___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_availability___file);
9272         YY_BREAK
9273 case 385:
9274 /* rule 385 can match eol */
9275 YY_RULE_SETUP
9276 if (simgrid_parse_peer_availability___file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <simgrid_parse_peer>");}  simgrid_parse_peer_availability___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_availability___file);
9277         YY_BREAK
9278 case 386:
9279 /* rule 386 can match eol */
9280 YY_RULE_SETUP
9281 if (simgrid_parse_peer_bw___in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <simgrid_parse_peer>");} simgrid_parse_peer_bw___in_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_bw___in);
9282         YY_BREAK
9283 case 387:
9284 /* rule 387 can match eol */
9285 YY_RULE_SETUP
9286 if (simgrid_parse_peer_bw___in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <simgrid_parse_peer>");}  simgrid_parse_peer_bw___in_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_bw___in);
9287         YY_BREAK
9288 case 388:
9289 /* rule 388 can match eol */
9290 YY_RULE_SETUP
9291 if (simgrid_parse_peer_bw___out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <simgrid_parse_peer>");} simgrid_parse_peer_bw___out_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_bw___out);
9292         YY_BREAK
9293 case 389:
9294 /* rule 389 can match eol */
9295 YY_RULE_SETUP
9296 if (simgrid_parse_peer_bw___out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <simgrid_parse_peer>");}  simgrid_parse_peer_bw___out_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_bw___out);
9297         YY_BREAK
9298 case 390:
9299 /* rule 390 can match eol */
9300 YY_RULE_SETUP
9301 if (simgrid_parse_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_peer>");} simgrid_parse_peer_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_coordinates);
9302         YY_BREAK
9303 case 391:
9304 /* rule 391 can match eol */
9305 YY_RULE_SETUP
9306 if (simgrid_parse_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_peer>");}  simgrid_parse_peer_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_coordinates);
9307         YY_BREAK
9308 case 392:
9309 /* rule 392 can match eol */
9310 YY_RULE_SETUP
9311 if (simgrid_parse_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_peer>");} simgrid_parse_peer_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_id);
9312         YY_BREAK
9313 case 393:
9314 /* rule 393 can match eol */
9315 YY_RULE_SETUP
9316 if (simgrid_parse_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_peer>");}  simgrid_parse_peer_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_id);
9317         YY_BREAK
9318 case 394:
9319 /* rule 394 can match eol */
9320 YY_RULE_SETUP
9321 if (simgrid_parse_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_peer>");} simgrid_parse_peer_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_lat);
9322         YY_BREAK
9323 case 395:
9324 /* rule 395 can match eol */
9325 YY_RULE_SETUP
9326 if (simgrid_parse_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <simgrid_parse_peer>");}  simgrid_parse_peer_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_lat);
9327         YY_BREAK
9328 case 396:
9329 /* rule 396 can match eol */
9330 YY_RULE_SETUP
9331 if (simgrid_parse_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_peer>");} simgrid_parse_peer_speed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_speed);
9332         YY_BREAK
9333 case 397:
9334 /* rule 397 can match eol */
9335 YY_RULE_SETUP
9336 if (simgrid_parse_peer_speed_isset != 0) {FAIL("Multiple definition of attribute speed in <simgrid_parse_peer>");}  simgrid_parse_peer_speed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_speed);
9337         YY_BREAK
9338 case 398:
9339 /* rule 398 can match eol */
9340 YY_RULE_SETUP
9341 if (simgrid_parse_peer_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_peer>");} simgrid_parse_peer_speed___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_speed___file);
9342         YY_BREAK
9343 case 399:
9344 /* rule 399 can match eol */
9345 YY_RULE_SETUP
9346 if (simgrid_parse_peer_speed___file_isset != 0) {FAIL("Multiple definition of attribute speed_file in <simgrid_parse_peer>");}  simgrid_parse_peer_speed___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_speed___file);
9347         YY_BREAK
9348 case 400:
9349 /* rule 400 can match eol */
9350 YY_RULE_SETUP
9351 if (simgrid_parse_peer_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_peer>");} simgrid_parse_peer_state___file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_peer_state___file);
9352         YY_BREAK
9353 case 401:
9354 /* rule 401 can match eol */
9355 YY_RULE_SETUP
9356 if (simgrid_parse_peer_state___file_isset != 0) {FAIL("Multiple definition of attribute state_file in <simgrid_parse_peer>");}  simgrid_parse_peer_state___file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_peer_state___file);
9357         YY_BREAK
9358 case 402:
9359 YY_RULE_SETUP
9360 {
9361   if (!AX_simgrid_parse_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
9362   if (!AX_simgrid_parse_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
9363   if (!AX_simgrid_parse_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
9364   if (!AX_simgrid_parse_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
9365   LEAVE; STag_simgrid_parse_peer();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_peer);
9366  }
9367         YY_BREAK
9368 case 403:
9369 YY_RULE_SETUP
9370 {
9371   if (!AX_simgrid_parse_peer_bw___in) FAIL("Required attribute `bw_in' not set for `peer' element.");
9372   if (!AX_simgrid_parse_peer_bw___out) FAIL("Required attribute `bw_out' not set for `peer' element.");
9373   if (!AX_simgrid_parse_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
9374   if (!AX_simgrid_parse_peer_speed) FAIL("Required attribute `speed' not set for `peer' element.");
9375   LEAVE; STag_simgrid_parse_peer(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_peer(); popbuffer(); /* attribute */
9376   switch (YY_START) {
9377    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
9378    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
9379    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
9380    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
9381   }
9382  }
9383         YY_BREAK
9384 case 404:
9385 YY_RULE_SETUP
9386 FAIL("Unexpected character `%c' in attribute list of peer element.", yytext[0]);
9387         YY_BREAK
9388 case 405:
9389 YY_RULE_SETUP
9390 FAIL("Bad attribute `%s' in `peer' element start tag.",yytext);
9391         YY_BREAK
9392 case YY_STATE_EOF(AL_simgrid_parse_peer):
9393 FAIL("EOF in attribute list of `peer' element.");
9394         YY_BREAK
9395
9396 case 406:
9397 /* rule 406 can match eol */
9398 YY_RULE_SETUP
9399 {
9400   LEAVE;
9401   ETag_simgrid_parse_peer();
9402   popbuffer(); /* attribute */
9403   switch (YY_START) {
9404    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
9405    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
9406    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
9407    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
9408   }
9409  }
9410         YY_BREAK
9411 case 407:
9412 /* rule 407 can match eol */
9413 YY_RULE_SETUP
9414 FAIL("Unexpected end-tag `%s': `</peer>' expected.",yytext);
9415         YY_BREAK
9416 case 408:
9417 YY_RULE_SETUP
9418 FAIL("Unexpected character `%c': `</peer>' expected.",yytext[0]);
9419         YY_BREAK
9420 case YY_STATE_EOF(E_simgrid_parse_peer):
9421 FAIL("Premature EOF: `</peer>' expected.");
9422         YY_BREAK
9423
9424 /* <!--
9425   *              DTD of SimGrid platform and deployment files.
9426   * More info: https://simgrid.org/doc/latest/platform.html
9427   * To upgrade your files, use the tool simgrid_update_xml
9428   * * Things that will change in upcoming version 5 (TODO):
9429   *   - The following tags will be removed:
9430   *     - <include> spits an error since v3.18
9431   *     - <random> and <model_prop> do nothing since a very long time
9432   *     - <as>, <asroute>, <bypassASRoute> and <process>, deprecated in DTD4.1
9433   *   - FULLDUPLEX sharing will be removed, deprecated in DTD4.2 (v3.19)
9434   * * New in DTD version 4.1 (in SimGrid 3.16): backward compatible change (v4 files are valid v4.1 files)
9435   *    - <zone> can be used as a synonym for the now deprecated <as>
9436   *    - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
9437   *    - <bypassZoneRoute> can be used as a synonym for the now deprecated <bypassAsRoute>
9438   *    - <actor> can be used as a synonym for the now deprecated <process>
9439   *   Other backward-compatible changes for which we did not bump the DTD version.
9440   *   - SPLITDUPLEX is the new spelling of the deprecated FULLDUPLEX (SimGrid v3.19)
9441   *   - In <host> and <peer> availability_file is now speed_file (SimGrid v3.22)
9442   * * New in DTD version 4 (in SimGrid 3.13):
9443   *    - Rename (power->speed) the attributes describing the amount of flop
9444   *      that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
9445   *    - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
9446   *    - In <host> and <link>, attributes availability and state are gone.
9447   *      It was redundant with state and availability profiles, and with peak values.
9448   *    - In <cluster>, cannot set the availability nor state profiles.
9449   *      This was too complex and unused.
9450   *    - The DOCTYPE points to the right URL (this file).
9451   *    - Kill <gpu>. Was not doing anything.
9452   *    - A warning is emitted for unit-less values (they are still accepted).
9453   *      The value 0 can remain unit-less, as its unit does not matter.
9454   *      - speed. Default: 'f' or 'flops'. Also defined:
9455   *         'Yf',         'Zf',         'Ef',       'Pf',        'Tf',        'Gf',        'Mf',        'kf'
9456   *         'yottaflops', 'zettaflops', 'exaflops', 'petaflops', 'teraflops', 'gigaflops', 'megaflops', 'kiloflops'
9457   *      - bandwidth. Default: 'Bps' bytes per second
9458   *        In bytes and powers of 2  (1 KiBps = 1024 Bps): 'EiBps', 'PiBps', 'TiBps', 'GiBps', 'MiBps', 'KiBps'
9459   *        In bits  and powers of 2  (1 Bps = 8 bps)     : 'Eibps', 'Pibps', 'Tibps', 'Gibps', 'Mibps', 'Kibps'
9460   *        In bytes and powers of 10 (1 KBps = 1000 Bps) : 'EBps', 'PBps', 'TBps', 'GBps', 'MBps', 'kBps', 'Bps'
9461   *        In bits  and powers of 10                     : 'Ebps', 'Pbps', 'Tbps', 'Gbps', 'Mbps', 'kbps', 'bps'
9462   *        (Exa and Peta notations were introduced in SimGrid v3.14)
9463   *      - latency. Default: 's' second. Also defined:
9464   *        'w' week, 'd' day, 'h' hour, 'm' minute, 'ms' millisecond, 'us' microsecond, 'ns' nanosecond, 'ps' picosecond
9465   * * New in DTD version 3 (in SimGrid 3.5):
9466   *    - The AS tag were introduced. Every platform should now
9467   *      contain an englobing AS tag.
9468   *    - Routes are now symmetric by default.
9469   *    - Renamed tags (for sake of XML sanity):
9470   *      - LINK:CTN -> LINK_CTN
9471   *      - TRACE:CONNECT -> TRACE_CONNECT
9472   * * New in DTD version 2 (in SimGrid 3.4):
9473   *    - Renamed tags:
9474   *      - CPU -> HOST
9475   *      - NETWORK_LINK -> LINK
9476   *      - ROUTE_ELEMENT ->  LINK:CTN (changed again in v3)
9477   *      - PLATFORM_DESCRIPTION -> PLATFORM
9478   * * New in DTD version 1 (in SimGrid 3.3):
9479   *    - DTD is now versioned with the version attribute of platform
9480   *    - Unit change:
9481   *      - Link bandwidth: from Mb/s to b/s
9482   *      - CPU speed: from MFlop/s to Flop/s
9483   * -->  */
9484 case 409:
9485 /* rule 409 can match eol */
9486 YY_RULE_SETUP
9487 FAIL("Starting tag <platform> is not allowed here.");
9488         YY_BREAK
9489 case 410:
9490 /* rule 410 can match eol */
9491 YY_RULE_SETUP
9492 {
9493   AX_simgrid_parse_platform_version = 1;
9494   simgrid_parse_platform_version_isset = 0;
9495   ENTER(AL_simgrid_parse_platform); pushbuffer(0);
9496   }
9497         YY_BREAK
9498
9499 case 411:
9500 /* rule 411 can match eol */
9501 YY_RULE_SETUP
9502 if (simgrid_parse_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <simgrid_parse_platform>");} simgrid_parse_platform_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_platform_version);
9503         YY_BREAK
9504 case 412:
9505 /* rule 412 can match eol */
9506 YY_RULE_SETUP
9507 if (simgrid_parse_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <simgrid_parse_platform>");}  simgrid_parse_platform_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_platform_version);
9508         YY_BREAK
9509 case 413:
9510 YY_RULE_SETUP
9511 {
9512   LEAVE; STag_simgrid_parse_platform();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_platform);
9513  }
9514         YY_BREAK
9515 case 414:
9516 YY_RULE_SETUP
9517 {
9518   LEAVE; STag_simgrid_parse_platform(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_platform(); popbuffer(); /* attribute */
9519   switch (YY_START) {
9520    case ROOT_simgrid_parse_platform: SET(EPILOG); break;
9521   }
9522  }
9523         YY_BREAK
9524 case 415:
9525 YY_RULE_SETUP
9526 FAIL("Unexpected character `%c' in attribute list of platform element.", yytext[0]);
9527         YY_BREAK
9528 case 416:
9529 YY_RULE_SETUP
9530 FAIL("Bad attribute `%s' in `platform' element start tag.",yytext);
9531         YY_BREAK
9532 case YY_STATE_EOF(AL_simgrid_parse_platform):
9533 FAIL("EOF in attribute list of `platform' element.");
9534         YY_BREAK
9535
9536 case 417:
9537 /* rule 417 can match eol */
9538 YY_RULE_SETUP
9539 {
9540   LEAVE;
9541   ETag_simgrid_parse_platform();
9542   popbuffer(); /* attribute */
9543   switch (YY_START) {
9544    case ROOT_simgrid_parse_platform: SET(EPILOG); break;
9545   }
9546  }
9547         YY_BREAK
9548 case 418:
9549 /* rule 418 can match eol */
9550 YY_RULE_SETUP
9551 FAIL("Unexpected end-tag `%s': `</platform>' expected.",yytext);
9552         YY_BREAK
9553 case 419:
9554 YY_RULE_SETUP
9555 FAIL("Unexpected character `%c': `</platform>' expected.",yytext[0]);
9556         YY_BREAK
9557 case YY_STATE_EOF(E_simgrid_parse_platform):
9558 case YY_STATE_EOF(S_simgrid_parse_platform):
9559 case YY_STATE_EOF(S_simgrid_parse_platform_1):
9560 case YY_STATE_EOF(S_simgrid_parse_platform_3):
9561 case YY_STATE_EOF(S_simgrid_parse_platform_4):
9562 case YY_STATE_EOF(S_simgrid_parse_platform_6):
9563 case YY_STATE_EOF(S_simgrid_parse_platform_8):
9564 FAIL("Premature EOF: `</platform>' expected.");
9565         YY_BREAK
9566
9567 /* <!-- process is deprecated -->  */
9568 case 420:
9569 /* rule 420 can match eol */
9570 YY_RULE_SETUP
9571 FAIL("Starting tag <process> is not allowed here.");
9572         YY_BREAK
9573 case 421:
9574 /* rule 421 can match eol */
9575 YY_RULE_SETUP
9576 {
9577   AX_simgrid_parse_process_function = 0;
9578   simgrid_parse_process_function_isset = 0;
9579   AX_simgrid_parse_process_host = 0;
9580   simgrid_parse_process_host_isset = 0;
9581   AX_simgrid_parse_process_kill___time = 38;
9582   simgrid_parse_process_kill___time_isset = 0;
9583   AX_simgrid_parse_process_on___failure = A_simgrid_parse_process_on___failure_DIE;
9584   simgrid_parse_process_on___failure_isset = 0;
9585   AX_simgrid_parse_process_start___time = 33;
9586   simgrid_parse_process_start___time_isset = 0;
9587   ENTER(AL_simgrid_parse_process); pushbuffer(0);
9588   }
9589         YY_BREAK
9590
9591 case 422:
9592 /* rule 422 can match eol */
9593 YY_RULE_SETUP
9594 if (simgrid_parse_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_process>");} simgrid_parse_process_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_function);
9595         YY_BREAK
9596 case 423:
9597 /* rule 423 can match eol */
9598 YY_RULE_SETUP
9599 if (simgrid_parse_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <simgrid_parse_process>");}  simgrid_parse_process_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_function);
9600         YY_BREAK
9601 case 424:
9602 /* rule 424 can match eol */
9603 YY_RULE_SETUP
9604 if (simgrid_parse_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_process>");} simgrid_parse_process_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_host);
9605         YY_BREAK
9606 case 425:
9607 /* rule 425 can match eol */
9608 YY_RULE_SETUP
9609 if (simgrid_parse_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <simgrid_parse_process>");}  simgrid_parse_process_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_host);
9610         YY_BREAK
9611 case 426:
9612 /* rule 426 can match eol */
9613 YY_RULE_SETUP
9614 if (simgrid_parse_process_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_process>");} simgrid_parse_process_kill___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_kill___time);
9615         YY_BREAK
9616 case 427:
9617 /* rule 427 can match eol */
9618 YY_RULE_SETUP
9619 if (simgrid_parse_process_kill___time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <simgrid_parse_process>");}  simgrid_parse_process_kill___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_kill___time);
9620         YY_BREAK
9621 case 428:
9622 /* rule 428 can match eol */
9623 case 429:
9624 /* rule 429 can match eol */
9625 YY_RULE_SETUP
9626 A_simgrid_parse_process_on___failure = A_simgrid_parse_process_on___failure_DIE;
9627         YY_BREAK
9628 case 430:
9629 /* rule 430 can match eol */
9630 case 431:
9631 /* rule 431 can match eol */
9632 YY_RULE_SETUP
9633 A_simgrid_parse_process_on___failure = A_simgrid_parse_process_on___failure_RESTART;
9634         YY_BREAK
9635 case 432:
9636 /* rule 432 can match eol */
9637 YY_RULE_SETUP
9638 if (simgrid_parse_process_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_process>");} simgrid_parse_process_start___time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_process_start___time);
9639         YY_BREAK
9640 case 433:
9641 /* rule 433 can match eol */
9642 YY_RULE_SETUP
9643 if (simgrid_parse_process_start___time_isset != 0) {FAIL("Multiple definition of attribute start_time in <simgrid_parse_process>");}  simgrid_parse_process_start___time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_process_start___time);
9644         YY_BREAK
9645 case 434:
9646 YY_RULE_SETUP
9647 {
9648   if (!AX_simgrid_parse_process_function) FAIL("Required attribute `function' not set for `process' element.");
9649   if (!AX_simgrid_parse_process_host) FAIL("Required attribute `host' not set for `process' element.");
9650   LEAVE; STag_simgrid_parse_process();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_process);
9651  }
9652         YY_BREAK
9653 case 435:
9654 YY_RULE_SETUP
9655 {
9656   if (!AX_simgrid_parse_process_function) FAIL("Required attribute `function' not set for `process' element.");
9657   if (!AX_simgrid_parse_process_host) FAIL("Required attribute `host' not set for `process' element.");
9658   LEAVE; STag_simgrid_parse_process(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_process(); popbuffer(); /* attribute */
9659   switch (YY_START) {
9660    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
9661   }
9662  }
9663         YY_BREAK
9664 case 436:
9665 YY_RULE_SETUP
9666 FAIL("Unexpected character `%c' in attribute list of process element.", yytext[0]);
9667         YY_BREAK
9668 case 437:
9669 YY_RULE_SETUP
9670 FAIL("Bad attribute `%s' in `process' element start tag.",yytext);
9671         YY_BREAK
9672 case YY_STATE_EOF(AL_simgrid_parse_process):
9673 FAIL("EOF in attribute list of `process' element.");
9674         YY_BREAK
9675
9676 case 438:
9677 /* rule 438 can match eol */
9678 YY_RULE_SETUP
9679 {
9680   LEAVE;
9681   ETag_simgrid_parse_process();
9682   popbuffer(); /* attribute */
9683   switch (YY_START) {
9684    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_4: case S_simgrid_parse_platform_6: case S_simgrid_parse_platform_7: case S_simgrid_parse_platform_8: SET(S_simgrid_parse_platform_8); break;
9685   }
9686  }
9687         YY_BREAK
9688 case 439:
9689 /* rule 439 can match eol */
9690 YY_RULE_SETUP
9691 FAIL("Unexpected end-tag `%s': `</process>' expected.",yytext);
9692         YY_BREAK
9693 case 440:
9694 YY_RULE_SETUP
9695 FAIL("Unexpected character `%c': `</process>' expected.",yytext[0]);
9696         YY_BREAK
9697 case YY_STATE_EOF(E_simgrid_parse_process):
9698 case YY_STATE_EOF(S_simgrid_parse_process):
9699 case YY_STATE_EOF(S_simgrid_parse_process_2):
9700 FAIL("Premature EOF: `</process>' expected.");
9701         YY_BREAK
9702
9703 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
9704   * <!-- <!ATTLIST prop key CDATA #REQUIRED> -->  */
9705 case 441:
9706 /* rule 441 can match eol */
9707 YY_RULE_SETUP
9708 FAIL("Starting tag <prop> is not allowed here.");
9709         YY_BREAK
9710 case 442:
9711 /* rule 442 can match eol */
9712 YY_RULE_SETUP
9713 {
9714   AX_simgrid_parse_prop_id = 0;
9715   simgrid_parse_prop_id_isset = 0;
9716   AX_simgrid_parse_prop_value = 0;
9717   simgrid_parse_prop_value_isset = 0;
9718   ENTER(AL_simgrid_parse_prop); pushbuffer(0);
9719   }
9720         YY_BREAK
9721
9722 case 443:
9723 /* rule 443 can match eol */
9724 YY_RULE_SETUP
9725 if (simgrid_parse_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_prop>");} simgrid_parse_prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_prop_id);
9726         YY_BREAK
9727 case 444:
9728 /* rule 444 can match eol */
9729 YY_RULE_SETUP
9730 if (simgrid_parse_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_prop>");}  simgrid_parse_prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_prop_id);
9731         YY_BREAK
9732 case 445:
9733 /* rule 445 can match eol */
9734 YY_RULE_SETUP
9735 if (simgrid_parse_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_prop>");} simgrid_parse_prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_prop_value);
9736         YY_BREAK
9737 case 446:
9738 /* rule 446 can match eol */
9739 YY_RULE_SETUP
9740 if (simgrid_parse_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <simgrid_parse_prop>");}  simgrid_parse_prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_prop_value);
9741         YY_BREAK
9742 case 447:
9743 YY_RULE_SETUP
9744 {
9745   if (!AX_simgrid_parse_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
9746   if (!AX_simgrid_parse_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
9747   LEAVE; STag_simgrid_parse_prop();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_prop);
9748  }
9749         YY_BREAK
9750 case 448:
9751 YY_RULE_SETUP
9752 {
9753   if (!AX_simgrid_parse_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
9754   if (!AX_simgrid_parse_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
9755   LEAVE; STag_simgrid_parse_prop(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_prop(); popbuffer(); /* attribute */
9756   switch (YY_START) {
9757    case S_simgrid_parse_AS: case S_simgrid_parse_AS_2: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_3); break;
9758    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
9759    case S_simgrid_parse_cluster: case S_simgrid_parse_cluster_1: case S_simgrid_parse_cluster_2: SET(S_simgrid_parse_cluster_2); break;
9760    case S_simgrid_parse_config: case S_simgrid_parse_config_1: case S_simgrid_parse_config_2: SET(S_simgrid_parse_config_2); break;
9761    case S_simgrid_parse_disk: case S_simgrid_parse_disk_1: case S_simgrid_parse_disk_2: SET(S_simgrid_parse_disk_2); break;
9762    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9763    case S_simgrid_parse_link: case S_simgrid_parse_link_1: case S_simgrid_parse_link_2: SET(S_simgrid_parse_link_2); break;
9764    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
9765    case S_simgrid_parse_storage: case S_simgrid_parse_storage_1: case S_simgrid_parse_storage_2: SET(S_simgrid_parse_storage_2); break;
9766    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9767    case S_simgrid_parse_zone: case S_simgrid_parse_zone_2: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_3); break;
9768   }
9769  }
9770         YY_BREAK
9771 case 449:
9772 YY_RULE_SETUP
9773 FAIL("Unexpected character `%c' in attribute list of prop element.", yytext[0]);
9774         YY_BREAK
9775 case 450:
9776 YY_RULE_SETUP
9777 FAIL("Bad attribute `%s' in `prop' element start tag.",yytext);
9778         YY_BREAK
9779 case YY_STATE_EOF(AL_simgrid_parse_prop):
9780 FAIL("EOF in attribute list of `prop' element.");
9781         YY_BREAK
9782
9783 case 451:
9784 /* rule 451 can match eol */
9785 YY_RULE_SETUP
9786 {
9787   LEAVE;
9788   ETag_simgrid_parse_prop();
9789   popbuffer(); /* attribute */
9790   switch (YY_START) {
9791    case S_simgrid_parse_AS: case S_simgrid_parse_AS_2: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_3); break;
9792    case S_simgrid_parse_actor: case S_simgrid_parse_actor_1: case S_simgrid_parse_actor_2: SET(S_simgrid_parse_actor_2); break;
9793    case S_simgrid_parse_cluster: case S_simgrid_parse_cluster_1: case S_simgrid_parse_cluster_2: SET(S_simgrid_parse_cluster_2); break;
9794    case S_simgrid_parse_config: case S_simgrid_parse_config_1: case S_simgrid_parse_config_2: SET(S_simgrid_parse_config_2); break;
9795    case S_simgrid_parse_disk: case S_simgrid_parse_disk_1: case S_simgrid_parse_disk_2: SET(S_simgrid_parse_disk_2); break;
9796    case S_simgrid_parse_host: case S_simgrid_parse_host_1: case S_simgrid_parse_host_2: SET(S_simgrid_parse_host_2); break;
9797    case S_simgrid_parse_link: case S_simgrid_parse_link_1: case S_simgrid_parse_link_2: SET(S_simgrid_parse_link_2); break;
9798    case S_simgrid_parse_process: case S_simgrid_parse_process_1: case S_simgrid_parse_process_2: SET(S_simgrid_parse_process_2); break;
9799    case S_simgrid_parse_storage: case S_simgrid_parse_storage_1: case S_simgrid_parse_storage_2: SET(S_simgrid_parse_storage_2); break;
9800    case S_simgrid_parse_storage___type: case S_simgrid_parse_storage___type_1: case S_simgrid_parse_storage___type_2: SET(S_simgrid_parse_storage___type_2); break;
9801    case S_simgrid_parse_zone: case S_simgrid_parse_zone_2: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_3); break;
9802   }
9803  }
9804         YY_BREAK
9805 case 452:
9806 /* rule 452 can match eol */
9807 YY_RULE_SETUP
9808 FAIL("Unexpected end-tag `%s': `</prop>' expected.",yytext);
9809         YY_BREAK
9810 case 453:
9811 YY_RULE_SETUP
9812 FAIL("Unexpected character `%c': `</prop>' expected.",yytext[0]);
9813         YY_BREAK
9814 case YY_STATE_EOF(E_simgrid_parse_prop):
9815 FAIL("Premature EOF: `</prop>' expected.");
9816         YY_BREAK
9817
9818 /* <!-- random is deprecated -->  */
9819 case 454:
9820 /* rule 454 can match eol */
9821 YY_RULE_SETUP
9822 FAIL("Starting tag <random> is not allowed here.");
9823         YY_BREAK
9824 case 455:
9825 /* rule 455 can match eol */
9826 YY_RULE_SETUP
9827 {
9828   AX_simgrid_parse_random_generator = A_simgrid_parse_random_generator_DRAND48;
9829   simgrid_parse_random_generator_isset = 0;
9830   AX_simgrid_parse_random_id = 0;
9831   simgrid_parse_random_id_isset = 0;
9832   AX_simgrid_parse_random_max = 0;
9833   simgrid_parse_random_max_isset = 0;
9834   AX_simgrid_parse_random_mean = 0;
9835   simgrid_parse_random_mean_isset = 0;
9836   AX_simgrid_parse_random_min = 0;
9837   simgrid_parse_random_min_isset = 0;
9838   AX_simgrid_parse_random_radical = 0;
9839   simgrid_parse_random_radical_isset = 0;
9840   AX_simgrid_parse_random_seed = 5;
9841   simgrid_parse_random_seed_isset = 0;
9842   AX_simgrid_parse_random_std___deviation = 0;
9843   simgrid_parse_random_std___deviation_isset = 0;
9844   ENTER(AL_simgrid_parse_random); pushbuffer(0);
9845   }
9846         YY_BREAK
9847
9848 case 456:
9849 /* rule 456 can match eol */
9850 case 457:
9851 /* rule 457 can match eol */
9852 YY_RULE_SETUP
9853 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_DRAND48;
9854         YY_BREAK
9855 case 458:
9856 /* rule 458 can match eol */
9857 case 459:
9858 /* rule 459 can match eol */
9859 YY_RULE_SETUP
9860 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_RAND;
9861         YY_BREAK
9862 case 460:
9863 /* rule 460 can match eol */
9864 case 461:
9865 /* rule 461 can match eol */
9866 YY_RULE_SETUP
9867 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_RNGSTREAM;
9868         YY_BREAK
9869 case 462:
9870 /* rule 462 can match eol */
9871 case 463:
9872 /* rule 463 can match eol */
9873 YY_RULE_SETUP
9874 A_simgrid_parse_random_generator = A_simgrid_parse_random_generator_NONE;
9875         YY_BREAK
9876 case 464:
9877 /* rule 464 can match eol */
9878 YY_RULE_SETUP
9879 if (simgrid_parse_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_random>");} simgrid_parse_random_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_id);
9880         YY_BREAK
9881 case 465:
9882 /* rule 465 can match eol */
9883 YY_RULE_SETUP
9884 if (simgrid_parse_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_random>");}  simgrid_parse_random_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_id);
9885         YY_BREAK
9886 case 466:
9887 /* rule 466 can match eol */
9888 YY_RULE_SETUP
9889 if (simgrid_parse_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <simgrid_parse_random>");} simgrid_parse_random_max_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_max);
9890         YY_BREAK
9891 case 467:
9892 /* rule 467 can match eol */
9893 YY_RULE_SETUP
9894 if (simgrid_parse_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <simgrid_parse_random>");}  simgrid_parse_random_max_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_max);
9895         YY_BREAK
9896 case 468:
9897 /* rule 468 can match eol */
9898 YY_RULE_SETUP
9899 if (simgrid_parse_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <simgrid_parse_random>");} simgrid_parse_random_mean_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_mean);
9900         YY_BREAK
9901 case 469:
9902 /* rule 469 can match eol */
9903 YY_RULE_SETUP
9904 if (simgrid_parse_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <simgrid_parse_random>");}  simgrid_parse_random_mean_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_mean);
9905         YY_BREAK
9906 case 470:
9907 /* rule 470 can match eol */
9908 YY_RULE_SETUP
9909 if (simgrid_parse_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <simgrid_parse_random>");} simgrid_parse_random_min_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_min);
9910         YY_BREAK
9911 case 471:
9912 /* rule 471 can match eol */
9913 YY_RULE_SETUP
9914 if (simgrid_parse_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <simgrid_parse_random>");}  simgrid_parse_random_min_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_min);
9915         YY_BREAK
9916 case 472:
9917 /* rule 472 can match eol */
9918 YY_RULE_SETUP
9919 if (simgrid_parse_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_random>");} simgrid_parse_random_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_radical);
9920         YY_BREAK
9921 case 473:
9922 /* rule 473 can match eol */
9923 YY_RULE_SETUP
9924 if (simgrid_parse_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <simgrid_parse_random>");}  simgrid_parse_random_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_radical);
9925         YY_BREAK
9926 case 474:
9927 /* rule 474 can match eol */
9928 YY_RULE_SETUP
9929 if (simgrid_parse_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <simgrid_parse_random>");} simgrid_parse_random_seed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_seed);
9930         YY_BREAK
9931 case 475:
9932 /* rule 475 can match eol */
9933 YY_RULE_SETUP
9934 if (simgrid_parse_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <simgrid_parse_random>");}  simgrid_parse_random_seed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_seed);
9935         YY_BREAK
9936 case 476:
9937 /* rule 476 can match eol */
9938 YY_RULE_SETUP
9939 if (simgrid_parse_random_std___deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <simgrid_parse_random>");} simgrid_parse_random_std___deviation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_random_std___deviation);
9940         YY_BREAK
9941 case 477:
9942 /* rule 477 can match eol */
9943 YY_RULE_SETUP
9944 if (simgrid_parse_random_std___deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <simgrid_parse_random>");}  simgrid_parse_random_std___deviation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_random_std___deviation);
9945         YY_BREAK
9946 case 478:
9947 YY_RULE_SETUP
9948 {
9949   if (!AX_simgrid_parse_random_id) FAIL("Required attribute `id' not set for `random' element.");
9950   if (!AX_simgrid_parse_random_max) FAIL("Required attribute `max' not set for `random' element.");
9951   if (!AX_simgrid_parse_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
9952   if (!AX_simgrid_parse_random_min) FAIL("Required attribute `min' not set for `random' element.");
9953   if (!AX_simgrid_parse_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
9954   LEAVE; STag_simgrid_parse_random();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_random);
9955  }
9956         YY_BREAK
9957 case 479:
9958 YY_RULE_SETUP
9959 {
9960   if (!AX_simgrid_parse_random_id) FAIL("Required attribute `id' not set for `random' element.");
9961   if (!AX_simgrid_parse_random_max) FAIL("Required attribute `max' not set for `random' element.");
9962   if (!AX_simgrid_parse_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
9963   if (!AX_simgrid_parse_random_min) FAIL("Required attribute `min' not set for `random' element.");
9964   if (!AX_simgrid_parse_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
9965   LEAVE; STag_simgrid_parse_random(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_random(); popbuffer(); /* attribute */
9966   switch (YY_START) {
9967    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
9968   }
9969  }
9970         YY_BREAK
9971 case 480:
9972 YY_RULE_SETUP
9973 FAIL("Unexpected character `%c' in attribute list of random element.", yytext[0]);
9974         YY_BREAK
9975 case 481:
9976 YY_RULE_SETUP
9977 FAIL("Bad attribute `%s' in `random' element start tag.",yytext);
9978         YY_BREAK
9979 case YY_STATE_EOF(AL_simgrid_parse_random):
9980 FAIL("EOF in attribute list of `random' element.");
9981         YY_BREAK
9982
9983 case 482:
9984 /* rule 482 can match eol */
9985 YY_RULE_SETUP
9986 {
9987   LEAVE;
9988   ETag_simgrid_parse_random();
9989   popbuffer(); /* attribute */
9990   switch (YY_START) {
9991    case S_simgrid_parse_platform: case S_simgrid_parse_platform_2: case S_simgrid_parse_platform_3: SET(S_simgrid_parse_platform_3); break;
9992   }
9993  }
9994         YY_BREAK
9995 case 483:
9996 /* rule 483 can match eol */
9997 YY_RULE_SETUP
9998 FAIL("Unexpected end-tag `%s': `</random>' expected.",yytext);
9999         YY_BREAK
10000 case 484:
10001 YY_RULE_SETUP
10002 FAIL("Unexpected character `%c': `</random>' expected.",yytext[0]);
10003         YY_BREAK
10004 case YY_STATE_EOF(E_simgrid_parse_random):
10005 FAIL("Premature EOF: `</random>' expected.");
10006         YY_BREAK
10007
10008 case 485:
10009 /* rule 485 can match eol */
10010 YY_RULE_SETUP
10011 FAIL("Starting tag <route> is not allowed here.");
10012         YY_BREAK
10013 case 486:
10014 /* rule 486 can match eol */
10015 YY_RULE_SETUP
10016 {
10017   AX_simgrid_parse_route_dst = 0;
10018   simgrid_parse_route_dst_isset = 0;
10019   AX_simgrid_parse_route_src = 0;
10020   simgrid_parse_route_src_isset = 0;
10021   AX_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_YES;
10022   simgrid_parse_route_symmetrical_isset = 0;
10023   ENTER(AL_simgrid_parse_route); pushbuffer(0);
10024   }
10025         YY_BREAK
10026
10027 case 487:
10028 /* rule 487 can match eol */
10029 YY_RULE_SETUP
10030 if (simgrid_parse_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_route>");} simgrid_parse_route_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_route_dst);
10031         YY_BREAK
10032 case 488:
10033 /* rule 488 can match eol */
10034 YY_RULE_SETUP
10035 if (simgrid_parse_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_route>");}  simgrid_parse_route_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_route_dst);
10036         YY_BREAK
10037 case 489:
10038 /* rule 489 can match eol */
10039 YY_RULE_SETUP
10040 if (simgrid_parse_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_route>");} simgrid_parse_route_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_route_src);
10041         YY_BREAK
10042 case 490:
10043 /* rule 490 can match eol */
10044 YY_RULE_SETUP
10045 if (simgrid_parse_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_route>");}  simgrid_parse_route_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_route_src);
10046         YY_BREAK
10047 case 491:
10048 /* rule 491 can match eol */
10049 case 492:
10050 /* rule 492 can match eol */
10051 YY_RULE_SETUP
10052 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_YES;
10053         YY_BREAK
10054 case 493:
10055 /* rule 493 can match eol */
10056 case 494:
10057 /* rule 494 can match eol */
10058 YY_RULE_SETUP
10059 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_NO;
10060         YY_BREAK
10061 case 495:
10062 /* rule 495 can match eol */
10063 case 496:
10064 /* rule 496 can match eol */
10065 YY_RULE_SETUP
10066 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_yes;
10067         YY_BREAK
10068 case 497:
10069 /* rule 497 can match eol */
10070 case 498:
10071 /* rule 498 can match eol */
10072 YY_RULE_SETUP
10073 A_simgrid_parse_route_symmetrical = A_simgrid_parse_route_symmetrical_no;
10074         YY_BREAK
10075 case 499:
10076 YY_RULE_SETUP
10077 {
10078   if (!AX_simgrid_parse_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
10079   if (!AX_simgrid_parse_route_src) FAIL("Required attribute `src' not set for `route' element.");
10080   LEAVE; STag_simgrid_parse_route();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_route);
10081  }
10082         YY_BREAK
10083 case 500:
10084 YY_RULE_SETUP
10085 {
10086   if (!AX_simgrid_parse_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
10087   if (!AX_simgrid_parse_route_src) FAIL("Required attribute `src' not set for `route' element.");
10088   LEAVE; STag_simgrid_parse_route(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_route(); popbuffer(); /* attribute */
10089   switch (YY_START) {
10090    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
10091    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
10092   }
10093  }
10094         YY_BREAK
10095 case 501:
10096 YY_RULE_SETUP
10097 FAIL("Unexpected character `%c' in attribute list of route element.", yytext[0]);
10098         YY_BREAK
10099 case 502:
10100 YY_RULE_SETUP
10101 FAIL("Bad attribute `%s' in `route' element start tag.",yytext);
10102         YY_BREAK
10103 case YY_STATE_EOF(AL_simgrid_parse_route):
10104 FAIL("EOF in attribute list of `route' element.");
10105         YY_BREAK
10106
10107 case 503:
10108 /* rule 503 can match eol */
10109 YY_RULE_SETUP
10110 {
10111   LEAVE;
10112   ETag_simgrid_parse_route();
10113   popbuffer(); /* attribute */
10114   switch (YY_START) {
10115    case S_simgrid_parse_AS: case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_16); break;
10116    case S_simgrid_parse_zone: case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_16); break;
10117   }
10118  }
10119         YY_BREAK
10120 case 504:
10121 /* rule 504 can match eol */
10122 YY_RULE_SETUP
10123 FAIL("Unexpected end-tag `%s': `</route>' expected.",yytext);
10124         YY_BREAK
10125 case 505:
10126 YY_RULE_SETUP
10127 FAIL("Unexpected character `%c': `</route>' expected.",yytext[0]);
10128         YY_BREAK
10129 case YY_STATE_EOF(E_simgrid_parse_route):
10130 case YY_STATE_EOF(S_simgrid_parse_route):
10131 case YY_STATE_EOF(S_simgrid_parse_route_2):
10132 FAIL("Premature EOF: `</route>' expected.");
10133         YY_BREAK
10134
10135 case 506:
10136 /* rule 506 can match eol */
10137 YY_RULE_SETUP
10138 FAIL("Starting tag <router> is not allowed here.");
10139         YY_BREAK
10140 case 507:
10141 /* rule 507 can match eol */
10142 YY_RULE_SETUP
10143 {
10144   AX_simgrid_parse_router_coordinates = 0;
10145   simgrid_parse_router_coordinates_isset = 0;
10146   AX_simgrid_parse_router_id = 0;
10147   simgrid_parse_router_id_isset = 0;
10148   ENTER(AL_simgrid_parse_router); pushbuffer(0);
10149   }
10150         YY_BREAK
10151
10152 case 508:
10153 /* rule 508 can match eol */
10154 YY_RULE_SETUP
10155 if (simgrid_parse_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_router>");} simgrid_parse_router_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_router_coordinates);
10156         YY_BREAK
10157 case 509:
10158 /* rule 509 can match eol */
10159 YY_RULE_SETUP
10160 if (simgrid_parse_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <simgrid_parse_router>");}  simgrid_parse_router_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_router_coordinates);
10161         YY_BREAK
10162 case 510:
10163 /* rule 510 can match eol */
10164 YY_RULE_SETUP
10165 if (simgrid_parse_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_router>");} simgrid_parse_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_router_id);
10166         YY_BREAK
10167 case 511:
10168 /* rule 511 can match eol */
10169 YY_RULE_SETUP
10170 if (simgrid_parse_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_router>");}  simgrid_parse_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_router_id);
10171         YY_BREAK
10172 case 512:
10173 YY_RULE_SETUP
10174 {
10175   if (!AX_simgrid_parse_router_id) FAIL("Required attribute `id' not set for `router' element.");
10176   LEAVE; STag_simgrid_parse_router();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_router);
10177  }
10178         YY_BREAK
10179 case 513:
10180 YY_RULE_SETUP
10181 {
10182   if (!AX_simgrid_parse_router_id) FAIL("Required attribute `id' not set for `router' element.");
10183   LEAVE; STag_simgrid_parse_router(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_router(); popbuffer(); /* attribute */
10184   switch (YY_START) {
10185    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10186    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10187   }
10188  }
10189         YY_BREAK
10190 case 514:
10191 YY_RULE_SETUP
10192 FAIL("Unexpected character `%c' in attribute list of router element.", yytext[0]);
10193         YY_BREAK
10194 case 515:
10195 YY_RULE_SETUP
10196 FAIL("Bad attribute `%s' in `router' element start tag.",yytext);
10197         YY_BREAK
10198 case YY_STATE_EOF(AL_simgrid_parse_router):
10199 FAIL("EOF in attribute list of `router' element.");
10200         YY_BREAK
10201
10202 case 516:
10203 /* rule 516 can match eol */
10204 YY_RULE_SETUP
10205 {
10206   LEAVE;
10207   ETag_simgrid_parse_router();
10208   popbuffer(); /* attribute */
10209   switch (YY_START) {
10210    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10211    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10212   }
10213  }
10214         YY_BREAK
10215 case 517:
10216 /* rule 517 can match eol */
10217 YY_RULE_SETUP
10218 FAIL("Unexpected end-tag `%s': `</router>' expected.",yytext);
10219         YY_BREAK
10220 case 518:
10221 YY_RULE_SETUP
10222 FAIL("Unexpected character `%c': `</router>' expected.",yytext[0]);
10223         YY_BREAK
10224 case YY_STATE_EOF(E_simgrid_parse_router):
10225 FAIL("Premature EOF: `</router>' expected.");
10226         YY_BREAK
10227
10228 case 519:
10229 /* rule 519 can match eol */
10230 YY_RULE_SETUP
10231 FAIL("Starting tag <storage> is not allowed here.");
10232         YY_BREAK
10233 case 520:
10234 /* rule 520 can match eol */
10235 YY_RULE_SETUP
10236 {
10237   AX_simgrid_parse_storage_attach = 0;
10238   simgrid_parse_storage_attach_isset = 0;
10239   AX_simgrid_parse_storage_content = 0;
10240   simgrid_parse_storage_content_isset = 0;
10241   AX_simgrid_parse_storage_id = 0;
10242   simgrid_parse_storage_id_isset = 0;
10243   AX_simgrid_parse_storage_typeId = 0;
10244   simgrid_parse_storage_typeId_isset = 0;
10245   ENTER(AL_simgrid_parse_storage); pushbuffer(0);
10246   }
10247         YY_BREAK
10248
10249 case 521:
10250 /* rule 521 can match eol */
10251 YY_RULE_SETUP
10252 if (simgrid_parse_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <simgrid_parse_storage>");} simgrid_parse_storage_attach_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_attach);
10253         YY_BREAK
10254 case 522:
10255 /* rule 522 can match eol */
10256 YY_RULE_SETUP
10257 if (simgrid_parse_storage_attach_isset != 0) {FAIL("Multiple definition of attribute attach in <simgrid_parse_storage>");}  simgrid_parse_storage_attach_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_attach);
10258         YY_BREAK
10259 case 523:
10260 /* rule 523 can match eol */
10261 YY_RULE_SETUP
10262 if (simgrid_parse_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage>");} simgrid_parse_storage_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_content);
10263         YY_BREAK
10264 case 524:
10265 /* rule 524 can match eol */
10266 YY_RULE_SETUP
10267 if (simgrid_parse_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage>");}  simgrid_parse_storage_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_content);
10268         YY_BREAK
10269 case 525:
10270 /* rule 525 can match eol */
10271 YY_RULE_SETUP
10272 if (simgrid_parse_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage>");} simgrid_parse_storage_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_id);
10273         YY_BREAK
10274 case 526:
10275 /* rule 526 can match eol */
10276 YY_RULE_SETUP
10277 if (simgrid_parse_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage>");}  simgrid_parse_storage_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_id);
10278         YY_BREAK
10279 case 527:
10280 /* rule 527 can match eol */
10281 YY_RULE_SETUP
10282 if (simgrid_parse_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <simgrid_parse_storage>");} simgrid_parse_storage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage_typeId);
10283         YY_BREAK
10284 case 528:
10285 /* rule 528 can match eol */
10286 YY_RULE_SETUP
10287 if (simgrid_parse_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <simgrid_parse_storage>");}  simgrid_parse_storage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage_typeId);
10288         YY_BREAK
10289 case 529:
10290 YY_RULE_SETUP
10291 {
10292   if (!AX_simgrid_parse_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
10293   if (!AX_simgrid_parse_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
10294   if (!AX_simgrid_parse_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
10295   LEAVE; STag_simgrid_parse_storage();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_storage);
10296  }
10297         YY_BREAK
10298 case 530:
10299 YY_RULE_SETUP
10300 {
10301   if (!AX_simgrid_parse_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
10302   if (!AX_simgrid_parse_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
10303   if (!AX_simgrid_parse_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
10304   LEAVE; STag_simgrid_parse_storage(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_storage(); popbuffer(); /* attribute */
10305   switch (YY_START) {
10306    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10307    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10308   }
10309  }
10310         YY_BREAK
10311 case 531:
10312 YY_RULE_SETUP
10313 FAIL("Unexpected character `%c' in attribute list of storage element.", yytext[0]);
10314         YY_BREAK
10315 case 532:
10316 YY_RULE_SETUP
10317 FAIL("Bad attribute `%s' in `storage' element start tag.",yytext);
10318         YY_BREAK
10319 case YY_STATE_EOF(AL_simgrid_parse_storage):
10320 FAIL("EOF in attribute list of `storage' element.");
10321         YY_BREAK
10322
10323 case 533:
10324 /* rule 533 can match eol */
10325 YY_RULE_SETUP
10326 {
10327   LEAVE;
10328   ETag_simgrid_parse_storage();
10329   popbuffer(); /* attribute */
10330   switch (YY_START) {
10331    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10332    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10333   }
10334  }
10335         YY_BREAK
10336 case 534:
10337 /* rule 534 can match eol */
10338 YY_RULE_SETUP
10339 FAIL("Unexpected end-tag `%s': `</storage>' expected.",yytext);
10340         YY_BREAK
10341 case 535:
10342 YY_RULE_SETUP
10343 FAIL("Unexpected character `%c': `</storage>' expected.",yytext[0]);
10344         YY_BREAK
10345 case YY_STATE_EOF(E_simgrid_parse_storage):
10346 case YY_STATE_EOF(S_simgrid_parse_storage):
10347 case YY_STATE_EOF(S_simgrid_parse_storage_2):
10348 FAIL("Premature EOF: `</storage>' expected.");
10349         YY_BREAK
10350
10351 /* <!-- storage, storage_type and mount are deprecated -->  */
10352 case 536:
10353 /* rule 536 can match eol */
10354 YY_RULE_SETUP
10355 FAIL("Starting tag <storage_type> is not allowed here.");
10356         YY_BREAK
10357 case 537:
10358 /* rule 537 can match eol */
10359 YY_RULE_SETUP
10360 {
10361   AX_simgrid_parse_storage___type_content = 0;
10362   simgrid_parse_storage___type_content_isset = 0;
10363   AX_simgrid_parse_storage___type_id = 0;
10364   simgrid_parse_storage___type_id_isset = 0;
10365   AX_simgrid_parse_storage___type_model = 16;
10366   simgrid_parse_storage___type_model_isset = 0;
10367   AX_simgrid_parse_storage___type_size = 0;
10368   simgrid_parse_storage___type_size_isset = 0;
10369   ENTER(AL_simgrid_parse_storage___type); pushbuffer(0);
10370   }
10371         YY_BREAK
10372
10373 case 538:
10374 /* rule 538 can match eol */
10375 YY_RULE_SETUP
10376 if (simgrid_parse_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_content);
10377         YY_BREAK
10378 case 539:
10379 /* rule 539 can match eol */
10380 YY_RULE_SETUP
10381 if (simgrid_parse_storage___type_content_isset != 0) {FAIL("Multiple definition of attribute content in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_content);
10382         YY_BREAK
10383 case 540:
10384 /* rule 540 can match eol */
10385 YY_RULE_SETUP
10386 if (simgrid_parse_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_id);
10387         YY_BREAK
10388 case 541:
10389 /* rule 541 can match eol */
10390 YY_RULE_SETUP
10391 if (simgrid_parse_storage___type_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_id);
10392         YY_BREAK
10393 case 542:
10394 /* rule 542 can match eol */
10395 YY_RULE_SETUP
10396 if (simgrid_parse_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_model);
10397         YY_BREAK
10398 case 543:
10399 /* rule 543 can match eol */
10400 YY_RULE_SETUP
10401 if (simgrid_parse_storage___type_model_isset != 0) {FAIL("Multiple definition of attribute model in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_model);
10402         YY_BREAK
10403 case 544:
10404 /* rule 544 can match eol */
10405 YY_RULE_SETUP
10406 if (simgrid_parse_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <simgrid_parse_storage___type>");} simgrid_parse_storage___type_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_storage___type_size);
10407         YY_BREAK
10408 case 545:
10409 /* rule 545 can match eol */
10410 YY_RULE_SETUP
10411 if (simgrid_parse_storage___type_size_isset != 0) {FAIL("Multiple definition of attribute size in <simgrid_parse_storage___type>");}  simgrid_parse_storage___type_size_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_storage___type_size);
10412         YY_BREAK
10413 case 546:
10414 YY_RULE_SETUP
10415 {
10416   if (!AX_simgrid_parse_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
10417   if (!AX_simgrid_parse_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
10418   LEAVE; STag_simgrid_parse_storage___type();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_storage___type);
10419  }
10420         YY_BREAK
10421 case 547:
10422 YY_RULE_SETUP
10423 {
10424   if (!AX_simgrid_parse_storage___type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
10425   if (!AX_simgrid_parse_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
10426   LEAVE; STag_simgrid_parse_storage___type(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_storage___type(); popbuffer(); /* attribute */
10427   switch (YY_START) {
10428    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10429    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10430   }
10431  }
10432         YY_BREAK
10433 case 548:
10434 YY_RULE_SETUP
10435 FAIL("Unexpected character `%c' in attribute list of storage_type element.", yytext[0]);
10436         YY_BREAK
10437 case 549:
10438 YY_RULE_SETUP
10439 FAIL("Bad attribute `%s' in `storage_type' element start tag.",yytext);
10440         YY_BREAK
10441 case YY_STATE_EOF(AL_simgrid_parse_storage___type):
10442 FAIL("EOF in attribute list of `storage_type' element.");
10443         YY_BREAK
10444
10445 case 550:
10446 /* rule 550 can match eol */
10447 YY_RULE_SETUP
10448 {
10449   LEAVE;
10450   ETag_simgrid_parse_storage___type();
10451   popbuffer(); /* attribute */
10452   switch (YY_START) {
10453    case S_simgrid_parse_AS: case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: SET(S_simgrid_parse_AS_14); break;
10454    case S_simgrid_parse_zone: case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10455   }
10456  }
10457         YY_BREAK
10458 case 551:
10459 /* rule 551 can match eol */
10460 YY_RULE_SETUP
10461 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",yytext);
10462         YY_BREAK
10463 case 552:
10464 YY_RULE_SETUP
10465 FAIL("Unexpected character `%c': `</storage_type>' expected.",yytext[0]);
10466         YY_BREAK
10467 case YY_STATE_EOF(E_simgrid_parse_storage___type):
10468 case YY_STATE_EOF(S_simgrid_parse_storage___type):
10469 case YY_STATE_EOF(S_simgrid_parse_storage___type_2):
10470 FAIL("Premature EOF: `</storage_type>' expected.");
10471         YY_BREAK
10472
10473 case 553:
10474 /* rule 553 can match eol */
10475 YY_RULE_SETUP
10476 FAIL("Starting tag <trace> is not allowed here.");
10477         YY_BREAK
10478 case 554:
10479 /* rule 554 can match eol */
10480 YY_RULE_SETUP
10481 {
10482   AX_simgrid_parse_trace_file = 0;
10483   simgrid_parse_trace_file_isset = 0;
10484   AX_simgrid_parse_trace_id = 0;
10485   simgrid_parse_trace_id_isset = 0;
10486   AX_simgrid_parse_trace_periodicity = 0;
10487   simgrid_parse_trace_periodicity_isset = 0;
10488   ENTER(AL_simgrid_parse_trace); pushbuffer(0);
10489   }
10490         YY_BREAK
10491
10492 case 555:
10493 /* rule 555 can match eol */
10494 YY_RULE_SETUP
10495 if (simgrid_parse_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_trace>");} simgrid_parse_trace_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace_file);
10496         YY_BREAK
10497 case 556:
10498 /* rule 556 can match eol */
10499 YY_RULE_SETUP
10500 if (simgrid_parse_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <simgrid_parse_trace>");}  simgrid_parse_trace_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace_file);
10501         YY_BREAK
10502 case 557:
10503 /* rule 557 can match eol */
10504 YY_RULE_SETUP
10505 if (simgrid_parse_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_trace>");} simgrid_parse_trace_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace_id);
10506         YY_BREAK
10507 case 558:
10508 /* rule 558 can match eol */
10509 YY_RULE_SETUP
10510 if (simgrid_parse_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_trace>");}  simgrid_parse_trace_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace_id);
10511         YY_BREAK
10512 case 559:
10513 /* rule 559 can match eol */
10514 YY_RULE_SETUP
10515 if (simgrid_parse_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <simgrid_parse_trace>");} simgrid_parse_trace_periodicity_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace_periodicity);
10516         YY_BREAK
10517 case 560:
10518 /* rule 560 can match eol */
10519 YY_RULE_SETUP
10520 if (simgrid_parse_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <simgrid_parse_trace>");}  simgrid_parse_trace_periodicity_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace_periodicity);
10521         YY_BREAK
10522 case 561:
10523 YY_RULE_SETUP
10524 {
10525   if (!AX_simgrid_parse_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
10526   if (!AX_simgrid_parse_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
10527   LEAVE; STag_simgrid_parse_trace();pushbuffer(simgrid_parse_pcdata_ix); BUFFERSET(simgrid_parse_pcdata_ix);; ENTER(IN_trace);
10528  }
10529         YY_BREAK
10530 case 562:
10531 YY_RULE_SETUP
10532 {
10533   if (!AX_simgrid_parse_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
10534   if (!AX_simgrid_parse_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
10535   LEAVE; STag_simgrid_parse_trace(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_trace(); popbuffer(); /* attribute */
10536   switch (YY_START) {
10537    case S_simgrid_parse_AS: case S_simgrid_parse_AS_10: case S_simgrid_parse_AS_11: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_7: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_11); break;
10538    case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: SET(S_simgrid_parse_AS_14); break;
10539    case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: SET(S_simgrid_parse_AS_16); break;
10540    case S_simgrid_parse_AS_5: SET(S_simgrid_parse_AS_6); break;
10541    case S_simgrid_parse_AS_8: SET(S_simgrid_parse_AS_9); break;
10542    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
10543    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
10544    case S_simgrid_parse_zone: case S_simgrid_parse_zone_10: case S_simgrid_parse_zone_11: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_7: SET(S_simgrid_parse_zone_11); break;
10545    case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10546    case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: SET(S_simgrid_parse_zone_16); break;
10547    case S_simgrid_parse_zone_5: SET(S_simgrid_parse_zone_6); break;
10548    case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
10549   }
10550  }
10551         YY_BREAK
10552 case 563:
10553 YY_RULE_SETUP
10554 FAIL("Unexpected character `%c' in attribute list of trace element.", yytext[0]);
10555         YY_BREAK
10556 case 564:
10557 YY_RULE_SETUP
10558 FAIL("Bad attribute `%s' in `trace' element start tag.",yytext);
10559         YY_BREAK
10560 case YY_STATE_EOF(AL_simgrid_parse_trace):
10561 FAIL("EOF in attribute list of `trace' element.");
10562         YY_BREAK
10563
10564 case 565:
10565 /* rule 565 can match eol */
10566 YY_RULE_SETUP
10567 {
10568   LEAVE;
10569   BUFFERDONE;
10570   ETag_simgrid_parse_trace();
10571   simgrid_parse_pcdata_ix = popbuffer();
10572   popbuffer(); /* attribute */
10573   switch (YY_START) {
10574    case S_simgrid_parse_AS: case S_simgrid_parse_AS_10: case S_simgrid_parse_AS_11: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_7: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_11); break;
10575    case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: SET(S_simgrid_parse_AS_14); break;
10576    case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: SET(S_simgrid_parse_AS_16); break;
10577    case S_simgrid_parse_AS_5: SET(S_simgrid_parse_AS_6); break;
10578    case S_simgrid_parse_AS_8: SET(S_simgrid_parse_AS_9); break;
10579    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
10580    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
10581    case S_simgrid_parse_zone: case S_simgrid_parse_zone_10: case S_simgrid_parse_zone_11: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_7: SET(S_simgrid_parse_zone_11); break;
10582    case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10583    case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: SET(S_simgrid_parse_zone_16); break;
10584    case S_simgrid_parse_zone_5: SET(S_simgrid_parse_zone_6); break;
10585    case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
10586   }
10587  }
10588         YY_BREAK
10589 case 566:
10590 /* rule 566 can match eol */
10591 YY_RULE_SETUP
10592 FAIL("Unexpected end-tag `%s': `</trace>' expected.",yytext);
10593         YY_BREAK
10594 case YY_STATE_EOF(IN_trace):
10595 FAIL("Premature EOF: `</trace>' expected.");
10596         YY_BREAK
10597
10598 case 567:
10599 /* rule 567 can match eol */
10600 YY_RULE_SETUP
10601 FAIL("Starting tag <trace_connect> is not allowed here.");
10602         YY_BREAK
10603 case 568:
10604 /* rule 568 can match eol */
10605 YY_RULE_SETUP
10606 {
10607   AX_simgrid_parse_trace___connect_element = 0;
10608   simgrid_parse_trace___connect_element_isset = 0;
10609   AX_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_HOST___AVAIL;
10610   simgrid_parse_trace___connect_kind_isset = 0;
10611   AX_simgrid_parse_trace___connect_trace = 0;
10612   simgrid_parse_trace___connect_trace_isset = 0;
10613   ENTER(AL_simgrid_parse_trace___connect); pushbuffer(0);
10614   }
10615         YY_BREAK
10616
10617 case 569:
10618 /* rule 569 can match eol */
10619 YY_RULE_SETUP
10620 if (simgrid_parse_trace___connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <simgrid_parse_trace___connect>");} simgrid_parse_trace___connect_element_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace___connect_element);
10621         YY_BREAK
10622 case 570:
10623 /* rule 570 can match eol */
10624 YY_RULE_SETUP
10625 if (simgrid_parse_trace___connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <simgrid_parse_trace___connect>");}  simgrid_parse_trace___connect_element_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace___connect_element);
10626         YY_BREAK
10627 case 571:
10628 /* rule 571 can match eol */
10629 case 572:
10630 /* rule 572 can match eol */
10631 YY_RULE_SETUP
10632 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_HOST___AVAIL;
10633         YY_BREAK
10634 case 573:
10635 /* rule 573 can match eol */
10636 case 574:
10637 /* rule 574 can match eol */
10638 YY_RULE_SETUP
10639 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_SPEED;
10640         YY_BREAK
10641 case 575:
10642 /* rule 575 can match eol */
10643 case 576:
10644 /* rule 576 can match eol */
10645 YY_RULE_SETUP
10646 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_LINK___AVAIL;
10647         YY_BREAK
10648 case 577:
10649 /* rule 577 can match eol */
10650 case 578:
10651 /* rule 578 can match eol */
10652 YY_RULE_SETUP
10653 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_BANDWIDTH;
10654         YY_BREAK
10655 case 579:
10656 /* rule 579 can match eol */
10657 case 580:
10658 /* rule 580 can match eol */
10659 YY_RULE_SETUP
10660 A_simgrid_parse_trace___connect_kind = A_simgrid_parse_trace___connect_kind_LATENCY;
10661         YY_BREAK
10662 case 581:
10663 /* rule 581 can match eol */
10664 YY_RULE_SETUP
10665 if (simgrid_parse_trace___connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <simgrid_parse_trace___connect>");} simgrid_parse_trace___connect_trace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_trace___connect_trace);
10666         YY_BREAK
10667 case 582:
10668 /* rule 582 can match eol */
10669 YY_RULE_SETUP
10670 if (simgrid_parse_trace___connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <simgrid_parse_trace___connect>");}  simgrid_parse_trace___connect_trace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_trace___connect_trace);
10671         YY_BREAK
10672 case 583:
10673 YY_RULE_SETUP
10674 {
10675   if (!AX_simgrid_parse_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
10676   if (!AX_simgrid_parse_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
10677   LEAVE; STag_simgrid_parse_trace___connect();simgrid_parse_pcdata_ix = 0; ENTER(E_simgrid_parse_trace___connect);
10678  }
10679         YY_BREAK
10680 case 584:
10681 YY_RULE_SETUP
10682 {
10683   if (!AX_simgrid_parse_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
10684   if (!AX_simgrid_parse_trace___connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
10685   LEAVE; STag_simgrid_parse_trace___connect(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_trace___connect(); popbuffer(); /* attribute */
10686   switch (YY_START) {
10687    case S_simgrid_parse_AS: case S_simgrid_parse_AS_10: case S_simgrid_parse_AS_11: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_7: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_11); break;
10688    case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: SET(S_simgrid_parse_AS_14); break;
10689    case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: SET(S_simgrid_parse_AS_16); break;
10690    case S_simgrid_parse_AS_5: SET(S_simgrid_parse_AS_6); break;
10691    case S_simgrid_parse_AS_8: SET(S_simgrid_parse_AS_9); break;
10692    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
10693    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
10694    case S_simgrid_parse_zone: case S_simgrid_parse_zone_10: case S_simgrid_parse_zone_11: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_7: SET(S_simgrid_parse_zone_11); break;
10695    case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10696    case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: SET(S_simgrid_parse_zone_16); break;
10697    case S_simgrid_parse_zone_5: SET(S_simgrid_parse_zone_6); break;
10698    case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
10699   }
10700  }
10701         YY_BREAK
10702 case 585:
10703 YY_RULE_SETUP
10704 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", yytext[0]);
10705         YY_BREAK
10706 case 586:
10707 YY_RULE_SETUP
10708 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",yytext);
10709         YY_BREAK
10710 case YY_STATE_EOF(AL_simgrid_parse_trace___connect):
10711 FAIL("EOF in attribute list of `trace_connect' element.");
10712         YY_BREAK
10713
10714 case 587:
10715 /* rule 587 can match eol */
10716 YY_RULE_SETUP
10717 {
10718   LEAVE;
10719   ETag_simgrid_parse_trace___connect();
10720   popbuffer(); /* attribute */
10721   switch (YY_START) {
10722    case S_simgrid_parse_AS: case S_simgrid_parse_AS_10: case S_simgrid_parse_AS_11: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_7: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_11); break;
10723    case S_simgrid_parse_AS_13: case S_simgrid_parse_AS_14: SET(S_simgrid_parse_AS_14); break;
10724    case S_simgrid_parse_AS_12: case S_simgrid_parse_AS_15: case S_simgrid_parse_AS_16: case S_simgrid_parse_AS_1: SET(S_simgrid_parse_AS_16); break;
10725    case S_simgrid_parse_AS_5: SET(S_simgrid_parse_AS_6); break;
10726    case S_simgrid_parse_AS_8: SET(S_simgrid_parse_AS_9); break;
10727    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
10728    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
10729    case S_simgrid_parse_zone: case S_simgrid_parse_zone_10: case S_simgrid_parse_zone_11: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_7: SET(S_simgrid_parse_zone_11); break;
10730    case S_simgrid_parse_zone_13: case S_simgrid_parse_zone_14: case S_simgrid_parse_zone_3: SET(S_simgrid_parse_zone_14); break;
10731    case S_simgrid_parse_zone_12: case S_simgrid_parse_zone_15: case S_simgrid_parse_zone_16: case S_simgrid_parse_zone_1: SET(S_simgrid_parse_zone_16); break;
10732    case S_simgrid_parse_zone_5: SET(S_simgrid_parse_zone_6); break;
10733    case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
10734   }
10735  }
10736         YY_BREAK
10737 case 588:
10738 /* rule 588 can match eol */
10739 YY_RULE_SETUP
10740 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",yytext);
10741         YY_BREAK
10742 case 589:
10743 YY_RULE_SETUP
10744 FAIL("Unexpected character `%c': `</trace_connect>' expected.",yytext[0]);
10745         YY_BREAK
10746 case YY_STATE_EOF(E_simgrid_parse_trace___connect):
10747 FAIL("Premature EOF: `</trace_connect>' expected.");
10748         YY_BREAK
10749
10750 /* <!-- A zone is either an internal node that contains other zones, 
10751   *      or a  leaf containing hosts and other leaf-like elements -->
10752   *           (((AS|zone|include|link|backbone|cluster|peer|trace|trace_connect)*,
10753   *             (zoneRoute|ASroute|trace|trace_connect|bypassASroute|bypassZoneRoute)*,
10754   *         (trace|trace_connect)*)
10755   *        |((include|storage_type|storage|host|cabinet|router|link|backbone|trace|trace_connect|host_link)*,
10756   *          (route|trace|trace_connect|bypassRoute)*)))>  */
10757 case 590:
10758 /* rule 590 can match eol */
10759 YY_RULE_SETUP
10760 FAIL("Starting tag <zone> is not allowed here.");
10761         YY_BREAK
10762 case 591:
10763 /* rule 591 can match eol */
10764 YY_RULE_SETUP
10765 {
10766   AX_simgrid_parse_zone_id = 0;
10767   simgrid_parse_zone_id_isset = 0;
10768   AX_simgrid_parse_zone_routing = 0;
10769   simgrid_parse_zone_routing_isset = 0;
10770   ENTER(AL_simgrid_parse_zone); pushbuffer(0);
10771   }
10772         YY_BREAK
10773
10774 case 592:
10775 /* rule 592 can match eol */
10776 YY_RULE_SETUP
10777 if (simgrid_parse_zone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_zone>");} simgrid_parse_zone_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zone_id);
10778         YY_BREAK
10779 case 593:
10780 /* rule 593 can match eol */
10781 YY_RULE_SETUP
10782 if (simgrid_parse_zone_id_isset != 0) {FAIL("Multiple definition of attribute id in <simgrid_parse_zone>");}  simgrid_parse_zone_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zone_id);
10783         YY_BREAK
10784 case 594:
10785 /* rule 594 can match eol */
10786 YY_RULE_SETUP
10787 if (simgrid_parse_zone_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_zone>");} simgrid_parse_zone_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zone_routing);
10788         YY_BREAK
10789 case 595:
10790 /* rule 595 can match eol */
10791 YY_RULE_SETUP
10792 if (simgrid_parse_zone_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <simgrid_parse_zone>");}  simgrid_parse_zone_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zone_routing);
10793         YY_BREAK
10794 case 596:
10795 YY_RULE_SETUP
10796 {
10797   if (!AX_simgrid_parse_zone_id) FAIL("Required attribute `id' not set for `zone' element.");
10798   if (!AX_simgrid_parse_zone_routing) FAIL("Required attribute `routing' not set for `zone' element.");
10799   LEAVE; STag_simgrid_parse_zone();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_zone);
10800  }
10801         YY_BREAK
10802 case 597:
10803 YY_RULE_SETUP
10804 {
10805   if (!AX_simgrid_parse_zone_id) FAIL("Required attribute `id' not set for `zone' element.");
10806   if (!AX_simgrid_parse_zone_routing) FAIL("Required attribute `routing' not set for `zone' element.");
10807   LEAVE; STag_simgrid_parse_zone(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_zone(); popbuffer(); /* attribute */
10808   switch (YY_START) {
10809    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
10810    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
10811    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
10812    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
10813   }
10814  }
10815         YY_BREAK
10816 case 598:
10817 YY_RULE_SETUP
10818 FAIL("Unexpected character `%c' in attribute list of zone element.", yytext[0]);
10819         YY_BREAK
10820 case 599:
10821 YY_RULE_SETUP
10822 FAIL("Bad attribute `%s' in `zone' element start tag.",yytext);
10823         YY_BREAK
10824 case YY_STATE_EOF(AL_simgrid_parse_zone):
10825 FAIL("EOF in attribute list of `zone' element.");
10826         YY_BREAK
10827
10828 case 600:
10829 /* rule 600 can match eol */
10830 YY_RULE_SETUP
10831 {
10832   LEAVE;
10833   ETag_simgrid_parse_zone();
10834   popbuffer(); /* attribute */
10835   switch (YY_START) {
10836    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_5: case S_simgrid_parse_AS_6: SET(S_simgrid_parse_AS_6); break;
10837    case S_simgrid_parse_include: case S_simgrid_parse_include_1: case S_simgrid_parse_include_2: SET(S_simgrid_parse_include_2); break;
10838    case S_simgrid_parse_platform: case S_simgrid_parse_platform_1: case S_simgrid_parse_platform_3: case S_simgrid_parse_platform_5: case S_simgrid_parse_platform_6: SET(S_simgrid_parse_platform_6); break;
10839    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_5: case S_simgrid_parse_zone_6: SET(S_simgrid_parse_zone_6); break;
10840   }
10841  }
10842         YY_BREAK
10843 case 601:
10844 /* rule 601 can match eol */
10845 YY_RULE_SETUP
10846 FAIL("Unexpected end-tag `%s': `</zone>' expected.",yytext);
10847         YY_BREAK
10848 case 602:
10849 YY_RULE_SETUP
10850 FAIL("Unexpected character `%c': `</zone>' expected.",yytext[0]);
10851         YY_BREAK
10852 case YY_STATE_EOF(E_simgrid_parse_zone):
10853 case YY_STATE_EOF(S_simgrid_parse_zone):
10854 case YY_STATE_EOF(S_simgrid_parse_zone_1):
10855 case YY_STATE_EOF(S_simgrid_parse_zone_11):
10856 case YY_STATE_EOF(S_simgrid_parse_zone_12):
10857 case YY_STATE_EOF(S_simgrid_parse_zone_14):
10858 case YY_STATE_EOF(S_simgrid_parse_zone_16):
10859 case YY_STATE_EOF(S_simgrid_parse_zone_3):
10860 case YY_STATE_EOF(S_simgrid_parse_zone_4):
10861 case YY_STATE_EOF(S_simgrid_parse_zone_6):
10862 case YY_STATE_EOF(S_simgrid_parse_zone_7):
10863 case YY_STATE_EOF(S_simgrid_parse_zone_9):
10864 FAIL("Premature EOF: `</zone>' expected.");
10865         YY_BREAK
10866
10867 case 603:
10868 /* rule 603 can match eol */
10869 YY_RULE_SETUP
10870 FAIL("Starting tag <zoneRoute> is not allowed here.");
10871         YY_BREAK
10872 case 604:
10873 /* rule 604 can match eol */
10874 YY_RULE_SETUP
10875 {
10876   AX_simgrid_parse_zoneRoute_dst = 0;
10877   simgrid_parse_zoneRoute_dst_isset = 0;
10878   AX_simgrid_parse_zoneRoute_gw___dst = 0;
10879   simgrid_parse_zoneRoute_gw___dst_isset = 0;
10880   AX_simgrid_parse_zoneRoute_gw___src = 0;
10881   simgrid_parse_zoneRoute_gw___src_isset = 0;
10882   AX_simgrid_parse_zoneRoute_src = 0;
10883   simgrid_parse_zoneRoute_src_isset = 0;
10884   AX_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_YES;
10885   simgrid_parse_zoneRoute_symmetrical_isset = 0;
10886   ENTER(AL_simgrid_parse_zoneRoute); pushbuffer(0);
10887   }
10888         YY_BREAK
10889
10890 case 605:
10891 /* rule 605 can match eol */
10892 YY_RULE_SETUP
10893 if (simgrid_parse_zoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_dst);
10894         YY_BREAK
10895 case 606:
10896 /* rule 606 can match eol */
10897 YY_RULE_SETUP
10898 if (simgrid_parse_zoneRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_dst);
10899         YY_BREAK
10900 case 607:
10901 /* rule 607 can match eol */
10902 YY_RULE_SETUP
10903 if (simgrid_parse_zoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_gw___dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___dst);
10904         YY_BREAK
10905 case 608:
10906 /* rule 608 can match eol */
10907 YY_RULE_SETUP
10908 if (simgrid_parse_zoneRoute_gw___dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_gw___dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___dst);
10909         YY_BREAK
10910 case 609:
10911 /* rule 609 can match eol */
10912 YY_RULE_SETUP
10913 if (simgrid_parse_zoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_gw___src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___src);
10914         YY_BREAK
10915 case 610:
10916 /* rule 610 can match eol */
10917 YY_RULE_SETUP
10918 if (simgrid_parse_zoneRoute_gw___src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_gw___src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_gw___src);
10919         YY_BREAK
10920 case 611:
10921 /* rule 611 can match eol */
10922 YY_RULE_SETUP
10923 if (simgrid_parse_zoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_zoneRoute>");} simgrid_parse_zoneRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_simgrid_parse_zoneRoute_src);
10924         YY_BREAK
10925 case 612:
10926 /* rule 612 can match eol */
10927 YY_RULE_SETUP
10928 if (simgrid_parse_zoneRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <simgrid_parse_zoneRoute>");}  simgrid_parse_zoneRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_simgrid_parse_zoneRoute_src);
10929         YY_BREAK
10930 case 613:
10931 /* rule 613 can match eol */
10932 case 614:
10933 /* rule 614 can match eol */
10934 YY_RULE_SETUP
10935 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_YES;
10936         YY_BREAK
10937 case 615:
10938 /* rule 615 can match eol */
10939 case 616:
10940 /* rule 616 can match eol */
10941 YY_RULE_SETUP
10942 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_NO;
10943         YY_BREAK
10944 case 617:
10945 /* rule 617 can match eol */
10946 case 618:
10947 /* rule 618 can match eol */
10948 YY_RULE_SETUP
10949 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_yes;
10950         YY_BREAK
10951 case 619:
10952 /* rule 619 can match eol */
10953 case 620:
10954 /* rule 620 can match eol */
10955 YY_RULE_SETUP
10956 A_simgrid_parse_zoneRoute_symmetrical = A_simgrid_parse_zoneRoute_symmetrical_no;
10957         YY_BREAK
10958 case 621:
10959 YY_RULE_SETUP
10960 {
10961   if (!AX_simgrid_parse_zoneRoute_dst) FAIL("Required attribute `dst' not set for `zoneRoute' element.");
10962   if (!AX_simgrid_parse_zoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `zoneRoute' element.");
10963   if (!AX_simgrid_parse_zoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `zoneRoute' element.");
10964   if (!AX_simgrid_parse_zoneRoute_src) FAIL("Required attribute `src' not set for `zoneRoute' element.");
10965   LEAVE; STag_simgrid_parse_zoneRoute();simgrid_parse_pcdata_ix = 0; ENTER(S_simgrid_parse_zoneRoute);
10966  }
10967         YY_BREAK
10968 case 622:
10969 YY_RULE_SETUP
10970 {
10971   if (!AX_simgrid_parse_zoneRoute_dst) FAIL("Required attribute `dst' not set for `zoneRoute' element.");
10972   if (!AX_simgrid_parse_zoneRoute_gw___dst) FAIL("Required attribute `gw_dst' not set for `zoneRoute' element.");
10973   if (!AX_simgrid_parse_zoneRoute_gw___src) FAIL("Required attribute `gw_src' not set for `zoneRoute' element.");
10974   if (!AX_simgrid_parse_zoneRoute_src) FAIL("Required attribute `src' not set for `zoneRoute' element.");
10975   LEAVE; STag_simgrid_parse_zoneRoute(); simgrid_parse_pcdata_ix = 0; ETag_simgrid_parse_zoneRoute(); popbuffer(); /* attribute */
10976   switch (YY_START) {
10977    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
10978    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
10979   }
10980  }
10981         YY_BREAK
10982 case 623:
10983 YY_RULE_SETUP
10984 FAIL("Unexpected character `%c' in attribute list of zoneRoute element.", yytext[0]);
10985         YY_BREAK
10986 case 624:
10987 YY_RULE_SETUP
10988 FAIL("Bad attribute `%s' in `zoneRoute' element start tag.",yytext);
10989         YY_BREAK
10990 case YY_STATE_EOF(AL_simgrid_parse_zoneRoute):
10991 FAIL("EOF in attribute list of `zoneRoute' element.");
10992         YY_BREAK
10993
10994 case 625:
10995 /* rule 625 can match eol */
10996 YY_RULE_SETUP
10997 {
10998   LEAVE;
10999   ETag_simgrid_parse_zoneRoute();
11000   popbuffer(); /* attribute */
11001   switch (YY_START) {
11002    case S_simgrid_parse_AS: case S_simgrid_parse_AS_1: case S_simgrid_parse_AS_3: case S_simgrid_parse_AS_4: case S_simgrid_parse_AS_6: case S_simgrid_parse_AS_8: case S_simgrid_parse_AS_9: SET(S_simgrid_parse_AS_9); break;
11003    case S_simgrid_parse_zone: case S_simgrid_parse_zone_1: case S_simgrid_parse_zone_3: case S_simgrid_parse_zone_4: case S_simgrid_parse_zone_6: case S_simgrid_parse_zone_8: case S_simgrid_parse_zone_9: SET(S_simgrid_parse_zone_9); break;
11004   }
11005  }
11006         YY_BREAK
11007 case 626:
11008 /* rule 626 can match eol */
11009 YY_RULE_SETUP
11010 FAIL("Unexpected end-tag `%s': `</zoneRoute>' expected.",yytext);
11011         YY_BREAK
11012 case 627:
11013 YY_RULE_SETUP
11014 FAIL("Unexpected character `%c': `</zoneRoute>' expected.",yytext[0]);
11015         YY_BREAK
11016 case YY_STATE_EOF(E_simgrid_parse_zoneRoute):
11017 case YY_STATE_EOF(S_simgrid_parse_zoneRoute):
11018 case YY_STATE_EOF(S_simgrid_parse_zoneRoute_2):
11019 FAIL("Premature EOF: `</zoneRoute>' expected.");
11020         YY_BREAK
11021
11022 /* EPILOG: after the root element. */
11023
11024 case 628:
11025 YY_RULE_SETUP
11026 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
11027         YY_BREAK
11028 case YY_STATE_EOF(EPILOG):
11029 SUCCEED;
11030         YY_BREAK
11031
11032 /* CHARACTER DATA. */
11033
11034 /* Non-defined standard entities... */
11035 case 629:
11036 YY_RULE_SETUP
11037 BUFFERPUTC('&');
11038         YY_BREAK
11039 case 630:
11040 YY_RULE_SETUP
11041 BUFFERPUTC('<');
11042         YY_BREAK
11043 case 631:
11044 YY_RULE_SETUP
11045 BUFFERPUTC('>');
11046         YY_BREAK
11047 case 632:
11048 YY_RULE_SETUP
11049 BUFFERPUTC('\'');
11050         YY_BREAK
11051 case 633:
11052 YY_RULE_SETUP
11053 BUFFERPUTC('"');
11054         YY_BREAK
11055 /* Character entities. */
11056 case 634:
11057 YY_RULE_SETUP
11058 BUFFERPUTC((unsigned char)atoi(yytext+2));
11059         YY_BREAK
11060 case 635:
11061 YY_RULE_SETUP
11062 BUFFERPUTC((unsigned char)strtol(yytext+3,NULL,16));
11063         YY_BREAK
11064
11065 case 636:
11066 /* rule 636 can match eol */
11067 case 637:
11068 /* rule 637 can match eol */
11069 case 638:
11070 /* rule 638 can match eol */
11071 case 639:
11072 /* rule 639 can match eol */
11073 YY_RULE_SETUP
11074 BUFFERPUTC('\n');
11075         YY_BREAK
11076
11077 case 640:
11078 YY_RULE_SETUP
11079 ENTER(CDATA);
11080         YY_BREAK
11081 case 641:
11082 YY_RULE_SETUP
11083 FAIL("Unexpected `]""]>' in character data.");
11084         YY_BREAK
11085
11086 case 642:
11087 YY_RULE_SETUP
11088 BUFFERDONE; LEAVE;
11089         YY_BREAK
11090 case YY_STATE_EOF(VALUE1):
11091 FAIL("EOF in literal (\"'\" expected).");
11092         YY_BREAK
11093
11094 case 643:
11095 YY_RULE_SETUP
11096 BUFFERDONE; LEAVE;
11097         YY_BREAK
11098 case YY_STATE_EOF(VALUE2):
11099 FAIL("EOF in literal (`\"' expected).");
11100         YY_BREAK
11101
11102 case 644:
11103 /* rule 644 can match eol */
11104 YY_RULE_SETUP
11105 BUFFERPUTC(yytext[0]);
11106         YY_BREAK
11107 case 645:
11108 YY_RULE_SETUP
11109 FAIL("Spurious `%c' in character data.",yytext[0]);
11110         YY_BREAK
11111
11112 case 646:
11113 YY_RULE_SETUP
11114 LEAVE;
11115         YY_BREAK
11116 /* "]""]"               BUFFERPUTC(yytext[0]); BUFFERPUTC(yytext[1]); */
11117 case 647:
11118 YY_RULE_SETUP
11119 BUFFERPUTC(yytext[0]);
11120         YY_BREAK
11121 case YY_STATE_EOF(CDATA):
11122 FAIL("EOF in CDATA section.");
11123         YY_BREAK
11124
11125 /* Impossible rules to avoid warnings from flex(1). */
11126 /* Ideally, this should be replaced by code in flexml.pl that
11127     generates just the states not covered by other rules. */
11128
11129 case 648:
11130 /* rule 648 can match eol */
11131 YY_RULE_SETUP
11132 FAIL("Syntax error on character `%c'.", yytext[0]);
11133         YY_BREAK
11134
11135 case 649:
11136 YY_RULE_SETUP
11137 ECHO;
11138         YY_BREAK
11139 case YY_STATE_EOF(INITIAL):
11140 case YY_STATE_EOF(S_simgrid_parse_AS_2):
11141 case YY_STATE_EOF(S_simgrid_parse_AS_5):
11142 case YY_STATE_EOF(S_simgrid_parse_AS_8):
11143 case YY_STATE_EOF(S_simgrid_parse_AS_10):
11144 case YY_STATE_EOF(S_simgrid_parse_AS_13):
11145 case YY_STATE_EOF(S_simgrid_parse_AS_15):
11146 case YY_STATE_EOF(S_simgrid_parse_ASroute_1):
11147 case YY_STATE_EOF(S_simgrid_parse_actor_1):
11148 case YY_STATE_EOF(S_simgrid_parse_bypassASroute_1):
11149 case YY_STATE_EOF(S_simgrid_parse_bypassRoute_1):
11150 case YY_STATE_EOF(S_simgrid_parse_bypassZoneRoute_1):
11151 case YY_STATE_EOF(S_simgrid_parse_cluster_1):
11152 case YY_STATE_EOF(S_simgrid_parse_config_1):
11153 case YY_STATE_EOF(S_simgrid_parse_disk_1):
11154 case YY_STATE_EOF(S_simgrid_parse_host_1):
11155 case YY_STATE_EOF(S_simgrid_parse_include_1):
11156 case YY_STATE_EOF(S_simgrid_parse_link_1):
11157 case YY_STATE_EOF(ROOT_simgrid_parse_platform):
11158 case YY_STATE_EOF(S_simgrid_parse_platform_2):
11159 case YY_STATE_EOF(S_simgrid_parse_platform_5):
11160 case YY_STATE_EOF(S_simgrid_parse_platform_7):
11161 case YY_STATE_EOF(S_simgrid_parse_process_1):
11162 case YY_STATE_EOF(S_simgrid_parse_route_1):
11163 case YY_STATE_EOF(S_simgrid_parse_storage_1):
11164 case YY_STATE_EOF(S_simgrid_parse_storage___type_1):
11165 case YY_STATE_EOF(S_simgrid_parse_zone_2):
11166 case YY_STATE_EOF(S_simgrid_parse_zone_5):
11167 case YY_STATE_EOF(S_simgrid_parse_zone_8):
11168 case YY_STATE_EOF(S_simgrid_parse_zone_10):
11169 case YY_STATE_EOF(S_simgrid_parse_zone_13):
11170 case YY_STATE_EOF(S_simgrid_parse_zone_15):
11171 case YY_STATE_EOF(S_simgrid_parse_zoneRoute_1):
11172 case YY_STATE_EOF(IMPOSSIBLE):
11173         yyterminate();
11174
11175         case YY_END_OF_BUFFER:
11176                 {
11177                 /* Amount of text matched not including the EOB char. */
11178                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
11179
11180                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
11181                 *yy_cp = (yy_hold_char);
11182                 YY_RESTORE_YY_MORE_OFFSET
11183
11184                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
11185                         {
11186                         /* We're scanning a new file or input source.  It's
11187                          * possible that this happened because the user
11188                          * just pointed yyin at a new source and called
11189                          * yylex().  If so, then we have to assure
11190                          * consistency between YY_CURRENT_BUFFER and our
11191                          * globals.  Here is the right place to do so, because
11192                          * this is the first action (other than possibly a
11193                          * back-up) that will match for the new input source.
11194                          */
11195                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
11196                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
11197                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
11198                         }
11199
11200                 /* Note that here we test for yy_c_buf_p "<=" to the position
11201                  * of the first EOB in the buffer, since yy_c_buf_p will
11202                  * already have been incremented past the NUL character
11203                  * (since all states make transitions on EOB to the
11204                  * end-of-buffer state).  Contrast this with the test
11205                  * in input().
11206                  */
11207                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
11208                         { /* This was really a NUL. */
11209                         yy_state_type yy_next_state;
11210
11211                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
11212
11213                         yy_current_state = yy_get_previous_state(  );
11214
11215                         /* Okay, we're now positioned to make the NUL
11216                          * transition.  We couldn't have
11217                          * yy_get_previous_state() go ahead and do it
11218                          * for us because it doesn't know how to deal
11219                          * with the possibility of jamming (and we don't
11220                          * want to build jamming into it because then it
11221                          * will run more slowly).
11222                          */
11223
11224                         yy_next_state = yy_try_NUL_trans( yy_current_state );
11225
11226                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
11227
11228                         if ( yy_next_state )
11229                                 {
11230                                 /* Consume the NUL. */
11231                                 yy_cp = ++(yy_c_buf_p);
11232                                 yy_current_state = yy_next_state;
11233                                 goto yy_match;
11234                                 }
11235
11236                         else
11237                                 {
11238                                 yy_cp = (yy_c_buf_p);
11239                                 goto yy_find_action;
11240                                 }
11241                         }
11242
11243                 else switch ( yy_get_next_buffer(  ) )
11244                         {
11245                         case EOB_ACT_END_OF_FILE:
11246                                 {
11247                                 (yy_did_buffer_switch_on_eof) = 0;
11248
11249                                 if ( yywrap(  ) )
11250                                         {
11251                                         /* Note: because we've taken care in
11252                                          * yy_get_next_buffer() to have set up
11253                                          * yytext, we can now set up
11254                                          * yy_c_buf_p so that if some total
11255                                          * hoser (like flex itself) wants to
11256                                          * call the scanner after we return the
11257                                          * YY_NULL, it'll still work - another
11258                                          * YY_NULL will get returned.
11259                                          */
11260                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
11261
11262                                         yy_act = YY_STATE_EOF(YY_START);
11263                                         goto do_action;
11264                                         }
11265
11266                                 else
11267                                         {
11268                                         if ( ! (yy_did_buffer_switch_on_eof) )
11269                                                 YY_NEW_FILE;
11270                                         }
11271                                 break;
11272                                 }
11273
11274                         case EOB_ACT_CONTINUE_SCAN:
11275                                 (yy_c_buf_p) =
11276                                         (yytext_ptr) + yy_amount_of_matched_text;
11277
11278                                 yy_current_state = yy_get_previous_state(  );
11279
11280                                 yy_cp = (yy_c_buf_p);
11281                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
11282                                 goto yy_match;
11283
11284                         case EOB_ACT_LAST_MATCH:
11285                                 (yy_c_buf_p) =
11286                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
11287
11288                                 yy_current_state = yy_get_previous_state(  );
11289
11290                                 yy_cp = (yy_c_buf_p);
11291                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
11292                                 goto yy_find_action;
11293                         }
11294                 break;
11295                 }
11296
11297         default:
11298                 YY_FATAL_ERROR(
11299                         "fatal flex scanner internal error--no action found" );
11300         } /* end of action switch */
11301                 } /* end of scanning one token */
11302         } /* end of user's declarations */
11303 } /* end of yylex */
11304
11305 /* yy_get_next_buffer - try to read in a new buffer
11306  *
11307  * Returns a code representing an action:
11308  *      EOB_ACT_LAST_MATCH -
11309  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
11310  *      EOB_ACT_END_OF_FILE - end of file
11311  */
11312 static int yy_get_next_buffer (void)
11313 {
11314         char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
11315         char *source = (yytext_ptr);
11316         int number_to_move, i;
11317         int ret_val;
11318
11319         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
11320                 YY_FATAL_ERROR(
11321                 "fatal flex scanner internal error--end of buffer missed" );
11322
11323         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
11324                 { /* Don't try to fill the buffer, so this is an EOF. */
11325                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
11326                         {
11327                         /* We matched a single character, the EOB, so
11328                          * treat this as a final EOF.
11329                          */
11330                         return EOB_ACT_END_OF_FILE;
11331                         }
11332
11333                 else
11334                         {
11335                         /* We matched some text prior to the EOB, first
11336                          * process it.
11337                          */
11338                         return EOB_ACT_LAST_MATCH;
11339                         }
11340                 }
11341
11342         /* Try to read more data. */
11343
11344         /* First move last chars to start of buffer. */
11345         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
11346
11347         for ( i = 0; i < number_to_move; ++i )
11348                 *(dest++) = *(source++);
11349
11350         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
11351                 /* don't do the read, it's not guaranteed to return an EOF,
11352                  * just force an EOF
11353                  */
11354                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
11355
11356         else
11357                 {
11358                         int num_to_read =
11359                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
11360
11361                 while ( num_to_read <= 0 )
11362                         { /* Not enough room in the buffer - grow it. */
11363
11364                         /* just a shorter name for the current buffer */
11365                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
11366
11367                         int yy_c_buf_p_offset =
11368                                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
11369
11370                         if ( b->yy_is_our_buffer )
11371                                 {
11372                                 int new_size = b->yy_buf_size * 2;
11373
11374                                 if ( new_size <= 0 )
11375                                         b->yy_buf_size += b->yy_buf_size / 8;
11376                                 else
11377                                         b->yy_buf_size *= 2;
11378
11379                                 b->yy_ch_buf = (char *)
11380                                         /* Include room in for 2 EOB chars. */
11381                                         yyrealloc( (void *) b->yy_ch_buf,
11382                                                          (yy_size_t) (b->yy_buf_size + 2)  );
11383                                 }
11384                         else
11385                                 /* Can't grow it, we don't own it. */
11386                                 b->yy_ch_buf = NULL;
11387
11388                         if ( ! b->yy_ch_buf )
11389                                 YY_FATAL_ERROR(
11390                                 "fatal error - scanner input buffer overflow" );
11391
11392                         (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
11393
11394                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
11395                                                 number_to_move - 1;
11396
11397                         }
11398
11399                 if ( num_to_read > YY_READ_BUF_SIZE )
11400                         num_to_read = YY_READ_BUF_SIZE;
11401
11402                 /* Read in more data. */
11403                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
11404                         (yy_n_chars), num_to_read );
11405
11406                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
11407                 }
11408
11409         if ( (yy_n_chars) == 0 )
11410                 {
11411                 if ( number_to_move == YY_MORE_ADJ )
11412                         {
11413                         ret_val = EOB_ACT_END_OF_FILE;
11414                         yyrestart( yyin  );
11415                         }
11416
11417                 else
11418                         {
11419                         ret_val = EOB_ACT_LAST_MATCH;
11420                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
11421                                 YY_BUFFER_EOF_PENDING;
11422                         }
11423                 }
11424
11425         else
11426                 ret_val = EOB_ACT_CONTINUE_SCAN;
11427
11428         if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
11429                 /* Extend the array by 50%, plus the number we really need. */
11430                 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
11431                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
11432                         (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
11433                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
11434                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
11435                 /* "- 2" to take care of EOB's */
11436                 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
11437         }
11438
11439         (yy_n_chars) += number_to_move;
11440         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
11441         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
11442
11443         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
11444
11445         return ret_val;
11446 }
11447
11448 /* yy_get_previous_state - get the state just before the EOB char was reached */
11449
11450     static yy_state_type yy_get_previous_state (void)
11451 {
11452         yy_state_type yy_current_state;
11453         char *yy_cp;
11454     
11455         yy_current_state = (yy_start);
11456
11457         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
11458                 {
11459                 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
11460                 if ( yy_accept[yy_current_state] )
11461                         {
11462                         (yy_last_accepting_state) = yy_current_state;
11463                         (yy_last_accepting_cpos) = yy_cp;
11464                         }
11465                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
11466                         {
11467                         yy_current_state = (int) yy_def[yy_current_state];
11468                         if ( yy_current_state >= 3913 )
11469                                 yy_c = yy_meta[yy_c];
11470                         }
11471                 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
11472                 }
11473
11474         return yy_current_state;
11475 }
11476
11477 /* yy_try_NUL_trans - try to make a transition on the NUL character
11478  *
11479  * synopsis
11480  *      next_state = yy_try_NUL_trans( current_state );
11481  */
11482     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
11483 {
11484         int yy_is_jam;
11485         char *yy_cp = (yy_c_buf_p);
11486
11487         YY_CHAR yy_c = 1;
11488         if ( yy_accept[yy_current_state] )
11489                 {
11490                 (yy_last_accepting_state) = yy_current_state;
11491                 (yy_last_accepting_cpos) = yy_cp;
11492                 }
11493         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
11494                 {
11495                 yy_current_state = (int) yy_def[yy_current_state];
11496                 if ( yy_current_state >= 3913 )
11497                         yy_c = yy_meta[yy_c];
11498                 }
11499         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
11500         yy_is_jam = (yy_current_state == 3912);
11501
11502                 return yy_is_jam ? 0 : yy_current_state;
11503 }
11504
11505 #ifndef YY_NO_UNPUT
11506
11507 #endif
11508
11509 #ifndef YY_NO_INPUT
11510 #ifdef __cplusplus
11511     static int yyinput (void)
11512 #else
11513     static int input  (void)
11514 #endif
11515
11516 {
11517         int c;
11518     
11519         *(yy_c_buf_p) = (yy_hold_char);
11520
11521         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
11522                 {
11523                 /* yy_c_buf_p now points to the character we want to return.
11524                  * If this occurs *before* the EOB characters, then it's a
11525                  * valid NUL; if not, then we've hit the end of the buffer.
11526                  */
11527                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
11528                         /* This was really a NUL. */
11529                         *(yy_c_buf_p) = '\0';
11530
11531                 else
11532                         { /* need more input */
11533                         int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
11534                         ++(yy_c_buf_p);
11535
11536                         switch ( yy_get_next_buffer(  ) )
11537                                 {
11538                                 case EOB_ACT_LAST_MATCH:
11539                                         /* This happens because yy_g_n_b()
11540                                          * sees that we've accumulated a
11541                                          * token and flags that we need to
11542                                          * try matching the token before
11543                                          * proceeding.  But for input(),
11544                                          * there's no matching to consider.
11545                                          * So convert the EOB_ACT_LAST_MATCH
11546                                          * to EOB_ACT_END_OF_FILE.
11547                                          */
11548
11549                                         /* Reset buffer status. */
11550                                         yyrestart( yyin );
11551
11552                                         /*FALLTHROUGH*/
11553
11554                                 case EOB_ACT_END_OF_FILE:
11555                                         {
11556                                         if ( yywrap(  ) )
11557                                                 return 0;
11558
11559                                         if ( ! (yy_did_buffer_switch_on_eof) )
11560                                                 YY_NEW_FILE;
11561 #ifdef __cplusplus
11562                                         return yyinput();
11563 #else
11564                                         return input();
11565 #endif
11566                                         }
11567
11568                                 case EOB_ACT_CONTINUE_SCAN:
11569                                         (yy_c_buf_p) = (yytext_ptr) + offset;
11570                                         break;
11571                                 }
11572                         }
11573                 }
11574
11575         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
11576         *(yy_c_buf_p) = '\0';   /* preserve yytext */
11577         (yy_hold_char) = *++(yy_c_buf_p);
11578
11579         if ( c == '\n' )
11580                 
11581     yylineno++;
11582 ;
11583
11584         return c;
11585 }
11586 #endif  /* ifndef YY_NO_INPUT */
11587
11588 /** Immediately switch to a different input stream.
11589  * @param input_file A readable stream.
11590  * 
11591  * @note This function does not reset the start condition to @c INITIAL .
11592  */
11593     void yyrestart  (FILE * input_file )
11594 {
11595     
11596         if ( ! YY_CURRENT_BUFFER ){
11597         yyensure_buffer_stack ();
11598                 YY_CURRENT_BUFFER_LVALUE =
11599             yy_create_buffer( yyin, YY_BUF_SIZE );
11600         }
11601
11602         yy_init_buffer( YY_CURRENT_BUFFER, input_file );
11603         yy_load_buffer_state(  );
11604 }
11605
11606 /** Switch to a different input buffer.
11607  * @param new_buffer The new input buffer.
11608  * 
11609  */
11610     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
11611 {
11612     
11613         /* TODO. We should be able to replace this entire function body
11614          * with
11615          *              yypop_buffer_state();
11616          *              yypush_buffer_state(new_buffer);
11617      */
11618         yyensure_buffer_stack ();
11619         if ( YY_CURRENT_BUFFER == new_buffer )
11620                 return;
11621
11622         if ( YY_CURRENT_BUFFER )
11623                 {
11624                 /* Flush out information for old buffer. */
11625                 *(yy_c_buf_p) = (yy_hold_char);
11626                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
11627                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
11628                 }
11629
11630         YY_CURRENT_BUFFER_LVALUE = new_buffer;
11631         yy_load_buffer_state(  );
11632
11633         /* We don't actually know whether we did this switch during
11634          * EOF (yywrap()) processing, but the only time this flag
11635          * is looked at is after yywrap() is called, so it's safe
11636          * to go ahead and always set it.
11637          */
11638         (yy_did_buffer_switch_on_eof) = 1;
11639 }
11640
11641 static void yy_load_buffer_state  (void)
11642 {
11643         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
11644         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
11645         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
11646         (yy_hold_char) = *(yy_c_buf_p);
11647 }
11648
11649 /** Allocate and initialize an input buffer state.
11650  * @param file A readable stream.
11651  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
11652  * 
11653  * @return the allocated buffer state.
11654  */
11655     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
11656 {
11657         YY_BUFFER_STATE b;
11658     
11659         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
11660         if ( ! b )
11661                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
11662
11663         b->yy_buf_size = size;
11664
11665         /* yy_ch_buf has to be 2 characters longer than the size given because
11666          * we need to put in 2 end-of-buffer characters.
11667          */
11668         b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
11669         if ( ! b->yy_ch_buf )
11670                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
11671
11672         b->yy_is_our_buffer = 1;
11673
11674         yy_init_buffer( b, file );
11675
11676         return b;
11677 }
11678
11679 /** Destroy the buffer.
11680  * @param b a buffer created with yy_create_buffer()
11681  * 
11682  */
11683     void yy_delete_buffer (YY_BUFFER_STATE  b )
11684 {
11685     
11686         if ( ! b )
11687                 return;
11688
11689         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
11690                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
11691
11692         if ( b->yy_is_our_buffer )
11693                 yyfree( (void *) b->yy_ch_buf  );
11694
11695         yyfree( (void *) b  );
11696 }
11697
11698 /* Initializes or reinitializes a buffer.
11699  * This function is sometimes called more than once on the same buffer,
11700  * such as during a yyrestart() or at EOF.
11701  */
11702     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
11703
11704 {
11705         int oerrno = errno;
11706     
11707         yy_flush_buffer( b );
11708
11709         b->yy_input_file = file;
11710         b->yy_fill_buffer = 1;
11711
11712     /* If b is the current buffer, then yy_init_buffer was _probably_
11713      * called from yyrestart() or through yy_get_next_buffer.
11714      * In that case, we don't want to reset the lineno or column.
11715      */
11716     if (b != YY_CURRENT_BUFFER){
11717         b->yy_bs_lineno = 1;
11718         b->yy_bs_column = 0;
11719     }
11720
11721         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
11722     
11723         errno = oerrno;
11724 }
11725
11726 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
11727  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
11728  * 
11729  */
11730     void yy_flush_buffer (YY_BUFFER_STATE  b )
11731 {
11732         if ( ! b )
11733                 return;
11734
11735         b->yy_n_chars = 0;
11736
11737         /* We always need two end-of-buffer characters.  The first causes
11738          * a transition to the end-of-buffer state.  The second causes
11739          * a jam in that state.
11740          */
11741         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
11742         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
11743
11744         b->yy_buf_pos = &b->yy_ch_buf[0];
11745
11746         b->yy_at_bol = 1;
11747         b->yy_buffer_status = YY_BUFFER_NEW;
11748
11749         if ( b == YY_CURRENT_BUFFER )
11750                 yy_load_buffer_state(  );
11751 }
11752
11753 /** Pushes the new state onto the stack. The new state becomes
11754  *  the current state. This function will allocate the stack
11755  *  if necessary.
11756  *  @param new_buffer The new state.
11757  *  
11758  */
11759 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
11760 {
11761         if (new_buffer == NULL)
11762                 return;
11763
11764         yyensure_buffer_stack();
11765
11766         /* This block is copied from yy_switch_to_buffer. */
11767         if ( YY_CURRENT_BUFFER )
11768                 {
11769                 /* Flush out information for old buffer. */
11770                 *(yy_c_buf_p) = (yy_hold_char);
11771                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
11772                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
11773                 }
11774
11775         /* Only push if top exists. Otherwise, replace top. */
11776         if (YY_CURRENT_BUFFER)
11777                 (yy_buffer_stack_top)++;
11778         YY_CURRENT_BUFFER_LVALUE = new_buffer;
11779
11780         /* copied from yy_switch_to_buffer. */
11781         yy_load_buffer_state(  );
11782         (yy_did_buffer_switch_on_eof) = 1;
11783 }
11784
11785 /** Removes and deletes the top of the stack, if present.
11786  *  The next element becomes the new top.
11787  *  
11788  */
11789 void yypop_buffer_state (void)
11790 {
11791         if (!YY_CURRENT_BUFFER)
11792                 return;
11793
11794         yy_delete_buffer(YY_CURRENT_BUFFER );
11795         YY_CURRENT_BUFFER_LVALUE = NULL;
11796         if ((yy_buffer_stack_top) > 0)
11797                 --(yy_buffer_stack_top);
11798
11799         if (YY_CURRENT_BUFFER) {
11800                 yy_load_buffer_state(  );
11801                 (yy_did_buffer_switch_on_eof) = 1;
11802         }
11803 }
11804
11805 /* Allocates the stack if it does not exist.
11806  *  Guarantees space for at least one push.
11807  */
11808 static void yyensure_buffer_stack (void)
11809 {
11810         yy_size_t num_to_alloc;
11811     
11812         if (!(yy_buffer_stack)) {
11813
11814                 /* First allocation is just for 2 elements, since we don't know if this
11815                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
11816                  * immediate realloc on the next call.
11817          */
11818       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
11819                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
11820                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
11821                                                                 );
11822                 if ( ! (yy_buffer_stack) )
11823                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
11824
11825                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
11826
11827                 (yy_buffer_stack_max) = num_to_alloc;
11828                 (yy_buffer_stack_top) = 0;
11829                 return;
11830         }
11831
11832         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
11833
11834                 /* Increase the buffer to prepare for a possible push. */
11835                 yy_size_t grow_size = 8 /* arbitrary grow size */;
11836
11837                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
11838                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
11839                                                                 ((yy_buffer_stack),
11840                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
11841                                                                 );
11842                 if ( ! (yy_buffer_stack) )
11843                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
11844
11845                 /* zero only the new slots.*/
11846                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
11847                 (yy_buffer_stack_max) = num_to_alloc;
11848         }
11849 }
11850
11851 /** Setup the input buffer state to scan directly from a user-specified character buffer.
11852  * @param base the character buffer
11853  * @param size the size in bytes of the character buffer
11854  * 
11855  * @return the newly allocated buffer state object.
11856  */
11857 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
11858 {
11859         YY_BUFFER_STATE b;
11860     
11861         if ( size < 2 ||
11862              base[size-2] != YY_END_OF_BUFFER_CHAR ||
11863              base[size-1] != YY_END_OF_BUFFER_CHAR )
11864                 /* They forgot to leave room for the EOB's. */
11865                 return NULL;
11866
11867         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
11868         if ( ! b )
11869                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
11870
11871         b->yy_buf_size = (int) (size - 2);      /* "- 2" to take care of EOB's */
11872         b->yy_buf_pos = b->yy_ch_buf = base;
11873         b->yy_is_our_buffer = 0;
11874         b->yy_input_file = NULL;
11875         b->yy_n_chars = b->yy_buf_size;
11876         b->yy_is_interactive = 0;
11877         b->yy_at_bol = 1;
11878         b->yy_fill_buffer = 0;
11879         b->yy_buffer_status = YY_BUFFER_NEW;
11880
11881         yy_switch_to_buffer( b  );
11882
11883         return b;
11884 }
11885
11886 /** Setup the input buffer state to scan a string. The next call to yylex() will
11887  * scan from a @e copy of @a str.
11888  * @param yystr a NUL-terminated string to scan
11889  * 
11890  * @return the newly allocated buffer state object.
11891  * @note If you want to scan bytes that may contain NUL values, then use
11892  *       yy_scan_bytes() instead.
11893  */
11894 YY_BUFFER_STATE yy_scan_string (const char * yystr )
11895 {
11896     
11897         return yy_scan_bytes( yystr, (int) strlen(yystr) );
11898 }
11899
11900 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
11901  * scan from a @e copy of @a bytes.
11902  * @param yybytes the byte buffer to scan
11903  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
11904  * 
11905  * @return the newly allocated buffer state object.
11906  */
11907 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
11908 {
11909         YY_BUFFER_STATE b;
11910         char *buf;
11911         yy_size_t n;
11912         int i;
11913     
11914         /* Get memory for full buffer, including space for trailing EOB's. */
11915         n = (yy_size_t) (_yybytes_len + 2);
11916         buf = (char *) yyalloc( n  );
11917         if ( ! buf )
11918                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
11919
11920         for ( i = 0; i < _yybytes_len; ++i )
11921                 buf[i] = yybytes[i];
11922
11923         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
11924
11925         b = yy_scan_buffer( buf, n );
11926         if ( ! b )
11927                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
11928
11929         /* It's okay to grow etc. this buffer, and we should throw it
11930          * away when we're done.
11931          */
11932         b->yy_is_our_buffer = 1;
11933
11934         return b;
11935 }
11936
11937     static void yy_push_state (int  _new_state )
11938 {
11939         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
11940                 {
11941                 yy_size_t new_size;
11942
11943                 (yy_start_stack_depth) += YY_START_STACK_INCR;
11944                 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
11945
11946                 if ( ! (yy_start_stack) )
11947                         (yy_start_stack) = (int *) yyalloc( new_size  );
11948
11949                 else
11950                         (yy_start_stack) = (int *) yyrealloc(
11951                                         (void *) (yy_start_stack), new_size  );
11952
11953                 if ( ! (yy_start_stack) )
11954                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
11955                 }
11956
11957         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
11958
11959         BEGIN(_new_state);
11960 }
11961
11962     static void yy_pop_state  (void)
11963 {
11964         if ( --(yy_start_stack_ptr) < 0 )
11965                 YY_FATAL_ERROR( "start-condition stack underflow" );
11966
11967         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
11968 }
11969
11970 #ifndef YY_EXIT_FAILURE
11971 #define YY_EXIT_FAILURE 2
11972 #endif
11973
11974 static void yynoreturn yy_fatal_error (const char* msg )
11975 {
11976                         fprintf( stderr, "%s\n", msg );
11977         exit( YY_EXIT_FAILURE );
11978 }
11979
11980 /* Redefine yyless() so it works in section 3 code. */
11981
11982 #undef yyless
11983 #define yyless(n) \
11984         do \
11985                 { \
11986                 /* Undo effects of setting up yytext. */ \
11987         int yyless_macro_arg = (n); \
11988         YY_LESS_LINENO(yyless_macro_arg);\
11989                 yytext[yyleng] = (yy_hold_char); \
11990                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
11991                 (yy_hold_char) = *(yy_c_buf_p); \
11992                 *(yy_c_buf_p) = '\0'; \
11993                 yyleng = yyless_macro_arg; \
11994                 } \
11995         while ( 0 )
11996
11997 /* Accessor  methods (get/set functions) to struct members. */
11998
11999 /** Get the current line number.
12000  * 
12001  */
12002 int yyget_lineno  (void)
12003 {
12004     
12005     return yylineno;
12006 }
12007
12008 /** Get the input stream.
12009  * 
12010  */
12011 FILE *yyget_in  (void)
12012 {
12013         return yyin;
12014 }
12015
12016 /** Get the output stream.
12017  * 
12018  */
12019 FILE *yyget_out  (void)
12020 {
12021         return yyout;
12022 }
12023
12024 /** Get the length of the current token.
12025  * 
12026  */
12027 int yyget_leng  (void)
12028 {
12029         return yyleng;
12030 }
12031
12032 /** Get the current token.
12033  * 
12034  */
12035
12036 char *yyget_text  (void)
12037 {
12038         return yytext;
12039 }
12040
12041 /** Set the current line number.
12042  * @param _line_number line number
12043  * 
12044  */
12045 void yyset_lineno (int  _line_number )
12046 {
12047     
12048     yylineno = _line_number;
12049 }
12050
12051 /** Set the input stream. This does not discard the current
12052  * input buffer.
12053  * @param _in_str A readable stream.
12054  * 
12055  * @see yy_switch_to_buffer
12056  */
12057 void yyset_in (FILE *  _in_str )
12058 {
12059         yyin = _in_str ;
12060 }
12061
12062 void yyset_out (FILE *  _out_str )
12063 {
12064         yyout = _out_str ;
12065 }
12066
12067 int yyget_debug  (void)
12068 {
12069         return yy_flex_debug;
12070 }
12071
12072 void yyset_debug (int  _bdebug )
12073 {
12074         yy_flex_debug = _bdebug ;
12075 }
12076
12077 static int yy_init_globals (void)
12078 {
12079         /* Initialization is the same as for the non-reentrant scanner.
12080      * This function is called from yylex_destroy(), so don't allocate here.
12081      */
12082
12083     /* We do not touch yylineno unless the option is enabled. */
12084     yylineno =  1;
12085     
12086     (yy_buffer_stack) = NULL;
12087     (yy_buffer_stack_top) = 0;
12088     (yy_buffer_stack_max) = 0;
12089     (yy_c_buf_p) = NULL;
12090     (yy_init) = 0;
12091     (yy_start) = 0;
12092
12093     (yy_start_stack_ptr) = 0;
12094     (yy_start_stack_depth) = 0;
12095     (yy_start_stack) =  NULL;
12096
12097 /* Defined in main.c */
12098 #ifdef YY_STDINIT
12099     yyin = stdin;
12100     yyout = stdout;
12101 #else
12102     yyin = NULL;
12103     yyout = NULL;
12104 #endif
12105
12106     /* For future reference: Set errno on error, since we are called by
12107      * yylex_init()
12108      */
12109     return 0;
12110 }
12111
12112 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
12113 int yylex_destroy  (void)
12114 {
12115     
12116     /* Pop the buffer stack, destroying each element. */
12117         while(YY_CURRENT_BUFFER){
12118                 yy_delete_buffer( YY_CURRENT_BUFFER  );
12119                 YY_CURRENT_BUFFER_LVALUE = NULL;
12120                 yypop_buffer_state();
12121         }
12122
12123         /* Destroy the stack itself. */
12124         yyfree((yy_buffer_stack) );
12125         (yy_buffer_stack) = NULL;
12126
12127     /* Destroy the start condition stack. */
12128         yyfree( (yy_start_stack)  );
12129         (yy_start_stack) = NULL;
12130
12131     /* Reset the globals. This is important in a non-reentrant scanner so the next time
12132      * yylex() is called, initialization will occur. */
12133     yy_init_globals( );
12134
12135     return 0;
12136 }
12137
12138 /*
12139  * Internal utility routines.
12140  */
12141
12142 #ifndef yytext_ptr
12143 static void yy_flex_strncpy (char* s1, const char * s2, int n )
12144 {
12145                 
12146         int i;
12147         for ( i = 0; i < n; ++i )
12148                 s1[i] = s2[i];
12149 }
12150 #endif
12151
12152 #ifdef YY_NEED_STRLEN
12153 static int yy_flex_strlen (const char * s )
12154 {
12155         int n;
12156         for ( n = 0; s[n]; ++n )
12157                 ;
12158
12159         return n;
12160 }
12161 #endif
12162
12163 void *yyalloc (yy_size_t  size )
12164 {
12165                         return malloc(size);
12166 }
12167
12168 void *yyrealloc  (void * ptr, yy_size_t  size )
12169 {
12170                 
12171         /* The cast to (char *) in the following accommodates both
12172          * implementations that use char* generic pointers, and those
12173          * that use void* generic pointers.  It works with the latter
12174          * because both ANSI C and C++ allow castless assignment from
12175          * any pointer type to void*, and deal with argument conversions
12176          * as though doing an assignment.
12177          */
12178         return realloc(ptr, size);
12179 }
12180
12181 void yyfree (void * ptr )
12182 {
12183                         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
12184 }
12185
12186 #define YYTABLES_NAME "yytables"
12187
12188 /* Element context stack lookup. */
12189 int simgrid_parse_element_context(int i)
12190 {
12191   return (0<i && i<yy_start_stack_depth
12192           ? yy_start_stack[yy_start_stack_ptr - i]
12193           : 0);
12194 }
12195
12196 #ifdef FLEX_DEBUG
12197 void print_yy_stack(char* fmt, ...)
12198 {
12199   int i = 0; va_list ap; va_start(ap, fmt);
12200   vfprintf(stderr, fmt, ap);
12201   if (simgrid_parse_statenames) {
12202       for (i=1; i<yy_start_stack_ptr; i++) {
12203           fprintf(stderr, "%s/", simgrid_parse_statenames[yy_start_stack[i] ]);
12204       }
12205       fprintf(stderr,"%s\n", simgrid_parse_statenames[YY_START]);
12206   }
12207   va_end(ap);
12208 }
12209
12210 void print_simgrid_parse_bufferstack()
12211 {
12212     int i;
12213     fputs("Buffer: ", stderr);
12214     for (i = 0; i < blimit; i++) {
12215        if ( simgrid_parse_bufferstack[i] == '\377' ) break;
12216          putc(simgrid_parse_bufferstack[i], stderr);
12217     }
12218     putc('\n', stderr);
12219 }
12220
12221 static void debug_enter(int state, const char* statename) {
12222   yy_push_state(state);
12223   if (yy_flex_debug) {
12224        print_yy_stack("--ENTER(%s) : ",statename);
12225        print_simgrid_parse_bufferstack();
12226   }
12227 }
12228
12229 static void debug_leave(void) {
12230     if (yy_flex_debug) {
12231         print_yy_stack("--LEAVE : ");
12232         print_simgrid_parse_bufferstack();
12233     }
12234   yy_pop_state();
12235 }
12236
12237 static void debug_set(int state, const char* statename) {
12238   BEGIN(state);
12239   if (yy_flex_debug) print_yy_stack("--SET(%s) : ",statename);
12240 }
12241 #endif
12242
12243 static void cleanup(void)
12244 {
12245     if (simgrid_parse_statenames) {
12246         free(simgrid_parse_statenames);
12247         simgrid_parse_statenames = NULL;
12248     }
12249     free(simgrid_parse_bufferstack);
12250     simgrid_parse_bufferstack = NULL;
12251
12252     free(indexstack);
12253     indexstack = NULL;
12254 }
12255
12256 static int fail(const char* fmt, ...)
12257 {
12258     int chars_left, used;
12259     va_list ap; va_start(ap, fmt);
12260 #ifdef FLEXML_yylineno
12261     used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
12262                    "Invalid XML (XML input line %d, state %d): ",
12263                    yylineno, YY_START);
12264 #else
12265     used = snprintf(flexml_err_msg,flexml_max_err_msg_size,
12266                    "Invalid XML (state %d): ",
12267                    YY_START);
12268 #endif
12269     chars_left = flexml_max_err_msg_size - used - 1;
12270     vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
12271     va_end(ap);
12272
12273 #ifndef FLEXML_quiet_parser
12274     /* print directly to sdterr */
12275     surf_parse_error(flexml_err_msg);
12276     flexml_err_msg[0] = '\0';
12277 #endif
12278
12279     cleanup();
12280
12281     return 1;
12282 }
12283