1 #include "config.h"
2 
3 #line 2 "<stdout>"
4 
5 #define  YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 #define yy_create_buffer c__create_buffer
10 #define yy_delete_buffer c__delete_buffer
11 #define yy_scan_buffer c__scan_buffer
12 #define yy_scan_string c__scan_string
13 #define yy_scan_bytes c__scan_bytes
14 #define yy_init_buffer c__init_buffer
15 #define yy_flush_buffer c__flush_buffer
16 #define yy_load_buffer_state c__load_buffer_state
17 #define yy_switch_to_buffer c__switch_to_buffer
18 #define yypush_buffer_state c_push_buffer_state
19 #define yypop_buffer_state c_pop_buffer_state
20 #define yyensure_buffer_stack c_ensure_buffer_stack
21 #define yy_flex_debug c__flex_debug
22 #define yyin c_in
23 #define yyleng c_leng
24 #define yylex c_lex
25 #define yylineno c_lineno
26 #define yyout c_out
27 #define yyrestart c_restart
28 #define yytext c_text
29 #define yywrap c_wrap
30 #define yyalloc c_alloc
31 #define yyrealloc c_realloc
32 #define yyfree c_free
33 
34 #define FLEX_SCANNER
35 #define YY_FLEX_MAJOR_VERSION 2
36 #define YY_FLEX_MINOR_VERSION 6
37 #define YY_FLEX_SUBMINOR_VERSION 4
38 #if YY_FLEX_SUBMINOR_VERSION > 0
39 #define FLEX_BETA
40 #endif
41 
42 #ifdef yy_create_buffer
43 #define c__create_buffer_ALREADY_DEFINED
44 #else
45 #define yy_create_buffer c__create_buffer
46 #endif
47 
48 #ifdef yy_delete_buffer
49 #define c__delete_buffer_ALREADY_DEFINED
50 #else
51 #define yy_delete_buffer c__delete_buffer
52 #endif
53 
54 #ifdef yy_scan_buffer
55 #define c__scan_buffer_ALREADY_DEFINED
56 #else
57 #define yy_scan_buffer c__scan_buffer
58 #endif
59 
60 #ifdef yy_scan_string
61 #define c__scan_string_ALREADY_DEFINED
62 #else
63 #define yy_scan_string c__scan_string
64 #endif
65 
66 #ifdef yy_scan_bytes
67 #define c__scan_bytes_ALREADY_DEFINED
68 #else
69 #define yy_scan_bytes c__scan_bytes
70 #endif
71 
72 #ifdef yy_init_buffer
73 #define c__init_buffer_ALREADY_DEFINED
74 #else
75 #define yy_init_buffer c__init_buffer
76 #endif
77 
78 #ifdef yy_flush_buffer
79 #define c__flush_buffer_ALREADY_DEFINED
80 #else
81 #define yy_flush_buffer c__flush_buffer
82 #endif
83 
84 #ifdef yy_load_buffer_state
85 #define c__load_buffer_state_ALREADY_DEFINED
86 #else
87 #define yy_load_buffer_state c__load_buffer_state
88 #endif
89 
90 #ifdef yy_switch_to_buffer
91 #define c__switch_to_buffer_ALREADY_DEFINED
92 #else
93 #define yy_switch_to_buffer c__switch_to_buffer
94 #endif
95 
96 #ifdef yypush_buffer_state
97 #define c_push_buffer_state_ALREADY_DEFINED
98 #else
99 #define yypush_buffer_state c_push_buffer_state
100 #endif
101 
102 #ifdef yypop_buffer_state
103 #define c_pop_buffer_state_ALREADY_DEFINED
104 #else
105 #define yypop_buffer_state c_pop_buffer_state
106 #endif
107 
108 #ifdef yyensure_buffer_stack
109 #define c_ensure_buffer_stack_ALREADY_DEFINED
110 #else
111 #define yyensure_buffer_stack c_ensure_buffer_stack
112 #endif
113 
114 #ifdef yylex
115 #define c_lex_ALREADY_DEFINED
116 #else
117 #define yylex c_lex
118 #endif
119 
120 #ifdef yyrestart
121 #define c_restart_ALREADY_DEFINED
122 #else
123 #define yyrestart c_restart
124 #endif
125 
126 #ifdef yylex_init
127 #define c_lex_init_ALREADY_DEFINED
128 #else
129 #define yylex_init c_lex_init
130 #endif
131 
132 #ifdef yylex_init_extra
133 #define c_lex_init_extra_ALREADY_DEFINED
134 #else
135 #define yylex_init_extra c_lex_init_extra
136 #endif
137 
138 #ifdef yylex_destroy
139 #define c_lex_destroy_ALREADY_DEFINED
140 #else
141 #define yylex_destroy c_lex_destroy
142 #endif
143 
144 #ifdef yyget_debug
145 #define c_get_debug_ALREADY_DEFINED
146 #else
147 #define yyget_debug c_get_debug
148 #endif
149 
150 #ifdef yyset_debug
151 #define c_set_debug_ALREADY_DEFINED
152 #else
153 #define yyset_debug c_set_debug
154 #endif
155 
156 #ifdef yyget_extra
157 #define c_get_extra_ALREADY_DEFINED
158 #else
159 #define yyget_extra c_get_extra
160 #endif
161 
162 #ifdef yyset_extra
163 #define c_set_extra_ALREADY_DEFINED
164 #else
165 #define yyset_extra c_set_extra
166 #endif
167 
168 #ifdef yyget_in
169 #define c_get_in_ALREADY_DEFINED
170 #else
171 #define yyget_in c_get_in
172 #endif
173 
174 #ifdef yyset_in
175 #define c_set_in_ALREADY_DEFINED
176 #else
177 #define yyset_in c_set_in
178 #endif
179 
180 #ifdef yyget_out
181 #define c_get_out_ALREADY_DEFINED
182 #else
183 #define yyget_out c_get_out
184 #endif
185 
186 #ifdef yyset_out
187 #define c_set_out_ALREADY_DEFINED
188 #else
189 #define yyset_out c_set_out
190 #endif
191 
192 #ifdef yyget_leng
193 #define c_get_leng_ALREADY_DEFINED
194 #else
195 #define yyget_leng c_get_leng
196 #endif
197 
198 #ifdef yyget_text
199 #define c_get_text_ALREADY_DEFINED
200 #else
201 #define yyget_text c_get_text
202 #endif
203 
204 #ifdef yyget_lineno
205 #define c_get_lineno_ALREADY_DEFINED
206 #else
207 #define yyget_lineno c_get_lineno
208 #endif
209 
210 #ifdef yyset_lineno
211 #define c_set_lineno_ALREADY_DEFINED
212 #else
213 #define yyset_lineno c_set_lineno
214 #endif
215 
216 #ifdef yywrap
217 #define c_wrap_ALREADY_DEFINED
218 #else
219 #define yywrap c_wrap
220 #endif
221 
222 #ifdef yyalloc
223 #define c_alloc_ALREADY_DEFINED
224 #else
225 #define yyalloc c_alloc
226 #endif
227 
228 #ifdef yyrealloc
229 #define c_realloc_ALREADY_DEFINED
230 #else
231 #define yyrealloc c_realloc
232 #endif
233 
234 #ifdef yyfree
235 #define c_free_ALREADY_DEFINED
236 #else
237 #define yyfree c_free
238 #endif
239 
240 #ifdef yytext
241 #define c_text_ALREADY_DEFINED
242 #else
243 #define yytext c_text
244 #endif
245 
246 #ifdef yyleng
247 #define c_leng_ALREADY_DEFINED
248 #else
249 #define yyleng c_leng
250 #endif
251 
252 #ifdef yyin
253 #define c_in_ALREADY_DEFINED
254 #else
255 #define yyin c_in
256 #endif
257 
258 #ifdef yyout
259 #define c_out_ALREADY_DEFINED
260 #else
261 #define yyout c_out
262 #endif
263 
264 #ifdef yy_flex_debug
265 #define c__flex_debug_ALREADY_DEFINED
266 #else
267 #define yy_flex_debug c__flex_debug
268 #endif
269 
270 #ifdef yylineno
271 #define c_lineno_ALREADY_DEFINED
272 #else
273 #define yylineno c_lineno
274 #endif
275 
276 /* First, we deal with  platform-specific or compiler-specific issues. */
277 
278 /* begin standard C headers. */
279 #include <stdio.h>
280 #include <string.h>
281 #include <errno.h>
282 #include <stdlib.h>
283 
284 /* end standard C headers. */
285 
286 /* flex integer type definitions */
287 
288 #ifndef FLEXINT_H
289 #define FLEXINT_H
290 
291 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
292 
293 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
294 
295 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
296  * if you want the limit (max/min) macros for int types.
297  */
298 #ifndef __STDC_LIMIT_MACROS
299 #define __STDC_LIMIT_MACROS 1
300 #endif
301 
302 #include <inttypes.h>
303 typedef int8_t flex_int8_t;
304 typedef uint8_t flex_uint8_t;
305 typedef int16_t flex_int16_t;
306 typedef uint16_t flex_uint16_t;
307 typedef int32_t flex_int32_t;
308 typedef uint32_t flex_uint32_t;
309 #else
310 typedef signed char flex_int8_t;
311 typedef short int flex_int16_t;
312 typedef int flex_int32_t;
313 typedef unsigned char flex_uint8_t;
314 typedef unsigned short int flex_uint16_t;
315 typedef unsigned int flex_uint32_t;
316 
317 /* Limits of integral types. */
318 #ifndef INT8_MIN
319 #define INT8_MIN               (-128)
320 #endif
321 #ifndef INT16_MIN
322 #define INT16_MIN              (-32767-1)
323 #endif
324 #ifndef INT32_MIN
325 #define INT32_MIN              (-2147483647-1)
326 #endif
327 #ifndef INT8_MAX
328 #define INT8_MAX               (127)
329 #endif
330 #ifndef INT16_MAX
331 #define INT16_MAX              (32767)
332 #endif
333 #ifndef INT32_MAX
334 #define INT32_MAX              (2147483647)
335 #endif
336 #ifndef UINT8_MAX
337 #define UINT8_MAX              (255U)
338 #endif
339 #ifndef UINT16_MAX
340 #define UINT16_MAX             (65535U)
341 #endif
342 #ifndef UINT32_MAX
343 #define UINT32_MAX             (4294967295U)
344 #endif
345 
346 #ifndef SIZE_MAX
347 #define SIZE_MAX               (~(size_t)0)
348 #endif
349 
350 #endif /* ! C99 */
351 
352 #endif /* ! FLEXINT_H */
353 
354 /* begin standard C++ headers. */
355 
356 /* TODO: this is always defined, so inline it */
357 #define yyconst const
358 
359 #if defined(__GNUC__) && __GNUC__ >= 3
360 #define yynoreturn __attribute__((__noreturn__))
361 #else
362 #define yynoreturn
363 #endif
364 
365 /* Returned upon end-of-file. */
366 #define YY_NULL 0
367 
368 /* Promotes a possibly negative, possibly signed char to an
369  *   integer in range [0..255] for use as an array index.
370  */
371 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
372 
373 /* Enter a start condition.  This macro really ought to take a parameter,
374  * but we do it the disgusting crufty way forced on us by the ()-less
375  * definition of BEGIN.
376  */
377 #define BEGIN (yy_start) = 1 + 2 *
378 /* Translate the current start state into a value that can be later handed
379  * to BEGIN to return to the state.  The YYSTATE alias is for lex
380  * compatibility.
381  */
382 #define YY_START (((yy_start) - 1) / 2)
383 #define YYSTATE YY_START
384 /* Action number for EOF rule of a given start state. */
385 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
386 /* Special action meaning "start processing a new file". */
387 #define YY_NEW_FILE yyrestart( yyin  )
388 #define YY_END_OF_BUFFER_CHAR 0
389 
390 /* Size of default input buffer. */
391 #ifndef YY_BUF_SIZE
392 #ifdef __ia64__
393 /* On IA-64, the buffer size is 16k, not 8k.
394  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
395  * Ditto for the __ia64__ case accordingly.
396  */
397 #define YY_BUF_SIZE 32768
398 #else
399 #define YY_BUF_SIZE 16384
400 #endif /* __ia64__ */
401 #endif
402 
403 /* The state buf must be large enough to hold one state per character in the main buffer.
404  */
405 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
406 
407 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
408 #define YY_TYPEDEF_YY_BUFFER_STATE
409 typedef struct yy_buffer_state *YY_BUFFER_STATE;
410 #endif
411 
412 #ifndef YY_TYPEDEF_YY_SIZE_T
413 #define YY_TYPEDEF_YY_SIZE_T
414 typedef size_t yy_size_t;
415 #endif
416 
417 extern int yyleng;
418 
419 extern FILE *yyin, *yyout;
420 
421 #define EOB_ACT_CONTINUE_SCAN 0
422 #define EOB_ACT_END_OF_FILE 1
423 #define EOB_ACT_LAST_MATCH 2
424 
425     #define YY_LESS_LINENO(n)
426     #define YY_LINENO_REWIND_TO(ptr)
427 
428 /* Return all but the first "n" matched characters back to the input stream. */
429 #define yyless(n) \
430 	do \
431 		{ \
432 		/* Undo effects of setting up yytext. */ \
433         int yyless_macro_arg = (n); \
434         YY_LESS_LINENO(yyless_macro_arg);\
435 		*yy_cp = (yy_hold_char); \
436 		YY_RESTORE_YY_MORE_OFFSET \
437 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
438 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
439 		} \
440 	while ( 0 )
441 #define unput(c) yyunput( c, (yytext_ptr)  )
442 
443 #ifndef YY_STRUCT_YY_BUFFER_STATE
444 #define YY_STRUCT_YY_BUFFER_STATE
445 struct yy_buffer_state
446 	{
447 	FILE *yy_input_file;
448 
449 	char *yy_ch_buf;		/* input buffer */
450 	char *yy_buf_pos;		/* current position in input buffer */
451 
452 	/* Size of input buffer in bytes, not including room for EOB
453 	 * characters.
454 	 */
455 	int yy_buf_size;
456 
457 	/* Number of characters read into yy_ch_buf, not including EOB
458 	 * characters.
459 	 */
460 	int yy_n_chars;
461 
462 	/* Whether we "own" the buffer - i.e., we know we created it,
463 	 * and can realloc() it to grow it, and should free() it to
464 	 * delete it.
465 	 */
466 	int yy_is_our_buffer;
467 
468 	/* Whether this is an "interactive" input source; if so, and
469 	 * if we're using stdio for input, then we want to use getc()
470 	 * instead of fread(), to make sure we stop fetching input after
471 	 * each newline.
472 	 */
473 	int yy_is_interactive;
474 
475 	/* Whether we're considered to be at the beginning of a line.
476 	 * If so, '^' rules will be active on the next match, otherwise
477 	 * not.
478 	 */
479 	int yy_at_bol;
480 
481     int yy_bs_lineno; /**< The line count. */
482     int yy_bs_column; /**< The column count. */
483 
484 	/* Whether to try to fill the input buffer when we reach the
485 	 * end of it.
486 	 */
487 	int yy_fill_buffer;
488 
489 	int yy_buffer_status;
490 
491 #define YY_BUFFER_NEW 0
492 #define YY_BUFFER_NORMAL 1
493 	/* When an EOF's been seen but there's still some text to process
494 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
495 	 * shouldn't try reading from the input source any more.  We might
496 	 * still have a bunch of tokens to match, though, because of
497 	 * possible backing-up.
498 	 *
499 	 * When we actually see the EOF, we change the status to "new"
500 	 * (via yyrestart()), so that the user can continue scanning by
501 	 * just pointing yyin at a new input file.
502 	 */
503 #define YY_BUFFER_EOF_PENDING 2
504 
505 	};
506 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
507 
508 /* Stack of input buffers. */
509 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
510 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
511 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
512 
513 /* We provide macros for accessing buffer states in case in the
514  * future we want to put the buffer states in a more general
515  * "scanner state".
516  *
517  * Returns the top of the stack, or NULL.
518  */
519 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
520                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
521                           : NULL)
522 /* Same as previous macro, but useful when we know that the buffer stack is not
523  * NULL or when we need an lvalue. For internal use only.
524  */
525 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
526 
527 /* yy_hold_char holds the character lost when yytext is formed. */
528 static char yy_hold_char;
529 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
530 int yyleng;
531 
532 /* Points to current character in buffer. */
533 static char *yy_c_buf_p = NULL;
534 static int yy_init = 0;		/* whether we need to initialize */
535 static int yy_start = 0;	/* start state number */
536 
537 /* Flag which is used to allow yywrap()'s to do buffer switches
538  * instead of setting up a fresh yyin.  A bit of a hack ...
539  */
540 static int yy_did_buffer_switch_on_eof;
541 
542 void yyrestart ( FILE *input_file  );
543 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
544 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
545 void yy_delete_buffer ( YY_BUFFER_STATE b  );
546 void yy_flush_buffer ( YY_BUFFER_STATE b  );
547 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
548 void yypop_buffer_state ( void );
549 
550 static void yyensure_buffer_stack ( void );
551 static void yy_load_buffer_state ( void );
552 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
553 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
554 
555 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
556 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
557 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
558 
559 void *yyalloc ( yy_size_t  );
560 void *yyrealloc ( void *, yy_size_t  );
561 void yyfree ( void *  );
562 
563 #define yy_new_buffer yy_create_buffer
564 #define yy_set_interactive(is_interactive) \
565 	{ \
566 	if ( ! YY_CURRENT_BUFFER ){ \
567         yyensure_buffer_stack (); \
568 		YY_CURRENT_BUFFER_LVALUE =    \
569             yy_create_buffer( yyin, YY_BUF_SIZE ); \
570 	} \
571 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
572 	}
573 #define yy_set_bol(at_bol) \
574 	{ \
575 	if ( ! YY_CURRENT_BUFFER ){\
576         yyensure_buffer_stack (); \
577 		YY_CURRENT_BUFFER_LVALUE =    \
578             yy_create_buffer( yyin, YY_BUF_SIZE ); \
579 	} \
580 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
581 	}
582 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
583 
584 /* Begin user sect3 */
585 typedef flex_uint8_t YY_CHAR;
586 
587 FILE *yyin = NULL, *yyout = NULL;
588 
589 typedef int yy_state_type;
590 
591 extern int yylineno;
592 int yylineno = 1;
593 
594 extern char *yytext;
595 #ifdef yytext_ptr
596 #undef yytext_ptr
597 #endif
598 #define yytext_ptr yytext
599 
600 static yy_state_type yy_get_previous_state ( void );
601 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
602 static int yy_get_next_buffer ( void );
603 static void yynoreturn yy_fatal_error ( const char* msg  );
604 
605 /* Done after the current pattern has been matched and before the
606  * corresponding action - sets up yytext.
607  */
608 #define YY_DO_BEFORE_ACTION \
609 	(yytext_ptr) = yy_bp; \
610 	(yytext_ptr) -= (yy_more_len); \
611 	yyleng = (int) (yy_cp - (yytext_ptr)); \
612 	(yy_hold_char) = *yy_cp; \
613 	*yy_cp = '\0'; \
614 	(yy_c_buf_p) = yy_cp;
615 #define YY_NUM_RULES 137
616 #define YY_END_OF_BUFFER 138
617 /* This struct is not used in this scanner,
618    but its presence is necessary. */
619 struct yy_trans_info
620 	{
621 	flex_int32_t yy_verify;
622 	flex_int32_t yy_nxt;
623 	};
624 static const flex_int16_t yy_accept[1206] =
625     {   0,
626         1,    1,  125,  125,  129,  129,  133,  133,  138,  136,
627         1,  117,  124,    2,  136,  136,  136,  136,  136,  136,
628       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
629       136,  136,  136,  137,  125,  126,  137,  127,  137,  132,
630       129,  130,  131,  137,  133,  134,  135,  137,  136,    0,
631         1,    2,    2,    2,    2,  136,  136,  136,  136,  136,
632       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
633       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
634       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
635       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
636 
637       125,    0,  132,    0,  129,  133,    0,  136,  136,  136,
638       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
639       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
640       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
641       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
642       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
643        79,  136,  136,  136,  136,  136,  136,  136,  136,   78,
644       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
645       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
646       136,  136,  136,  136,   65,  136,  136,  136,  136,  136,
647 
648       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
649       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
650       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
651       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
652       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
653       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
654       136,  136,  136,  136,  136,  136,    4,  136,   23,  136,
655       136,  136,   36,  136,  136,  136,  136,  136,  136,  136,
656       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
657       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
658 
659       136,  136,  136,  136,  136,  136,   48,  136,  136,  136,
660       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
661       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
662       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
663       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
664       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
665       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
666       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
667       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
668       136,  136,  136,  136,  136,  136,  136,  136,   39,  136,
669 
670       136,  136,  136,  136,  136,  136,  136,  136,   89,   18,
671        19,  136,  136,  136,  136,  136,  136,  136,  136,  136,
672       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
673       136,  136,  136,  136,  136,   54,  136,  136,  136,  136,
674       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
675       136,   67,  136,  136,    3,  136,  120,  136,  136,  136,
676       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
677       136,  136,  136,  136,  136,   45,  136,  136,  136,  136,
678       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
679       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
680 
681       136,  136,  136,  136,  136,  136,  128,  136,  136,  136,
682       136,  136,  136,  136,  136,  136,  136,   24,  136,  136,
683       136,  136,  136,  136,  136,  136,  136,   68,   35,  136,
684       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
685       136,  136,  136,  136,  136,  136,  118,  120,    0,  136,
686       136,  136,   31,  136,  136,  136,  136,  136,  136,  136,
687       136,  136,  136,   22,  136,  136,  136,  136,  136,  136,
688       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
689       136,  136,  136,  136,  136,  136,  136,  136,   20,  136,
690        43,  136,  136,  136,  136,  136,  136,  136,  136,  136,
691 
692        21,  136,  136,  136,  136,  136,   16,   17,  136,  136,
693       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
694       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
695       136,   80,   82,  136,  136,  136,  136,  136,  136,  136,
696       118,    0,  136,  136,  136,  136,  136,  136,   60,  136,
697       112,  136,  136,   40,  136,  136,  136,   44,   49,  136,
698       136,   41,  136,   66,  136,  136,  136,  136,  136,  136,
699       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
700       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
701       136,    6,  136,  136,  136,  136,  136,  136,  136,  136,
702 
703       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
704       136,  136,  136,  136,   37,  136,  136,  136,  136,  136,
705       136,  136,  136,  136,  136,  136,  136,   27,  136,  136,
706       136,  136,  136,  136,   47,  136,  136,  136,  136,   50,
707       136,  136,  136,  136,  136,  136,  136,  136,   63,  136,
708       136,  136,  136,  136,  136,  136,  136,   11,  136,  136,
709       136,  136,  136,  136,  136,  136,  136,  136,    5,  136,
710       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
711       136,  136,  136,  136,  136,  136,  136,  102,  136,  136,
712       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
713 
714       136,   38,  136,  136,  136,  136,  136,  136,  136,  136,
715       136,  136,  136,  136,  136,   57,  136,  136,  136,   62,
716       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
717       136,  136,  136,  136,  136,  136,  136,  136,  136,    8,
718       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
719       136,  136,  136,  136,  136,   56,  136,  136,   53,   99,
720       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
721       136,  136,   30,  136,  136,   12,  136,  136,  136,  136,
722       136,  136,   51,  136,  136,  119,  136,  136,  136,  136,
723       136,  136,   73,  136,  121,  136,  136,  136,  136,  136,
724 
725       136,  136,   15,  136,   13,  136,  136,  136,  136,  136,
726       136,  136,  136,  136,  136,  136,  136,  136,   55,  136,
727       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
728        26,  136,  136,  136,  136,  136,  136,  136,  136,  136,
729       136,  136,  136,   42,  136,  114,  136,  119,    0,   64,
730       136,  136,  136,  136,  136,  136,  115,   90,  136,  136,
731       136,  136,  136,  136,   14,  136,  136,  136,  136,  136,
732       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
733       136,  136,  136,  136,   81,  136,   86,  136,  136,  136,
734       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
735 
736       136,  136,  136,  136,  136,  136,   71,  136,  136,  136,
737       136,  136,  136,  136,  136,   95,  136,    7,   33,   34,
738       136,   98,  136,  105,  136,  136,  106,  136,  136,  136,
739       136,  136,   70,  136,  136,  136,  136,  136,  136,  136,
740        52,  136,  136,  136,  136,  136,  136,  136,  136,  136,
741       136,  136,  136,  101,  136,  136,  136,  136,   94,  136,
742       136,  136,  136,   69,   25,  136,  107,  136,  136,  136,
743       136,  136,  136,  136,  136,  136,  136,  136,  136,   74,
744        29,  136,  113,  109,  136,  111,  136,  136,   87,   88,
745       136,   61,  136,  136,   76,  136,  136,  136,  136,  136,
746 
747       136,  103,  104,  136,  136,  136,   32,  136,  136,  136,
748       136,    9,  136,   75,  136,  110,  136,  136,  136,   77,
749        72,  136,  136,  136,  136,  136,  136,  100,  136,  136,
750       136,  136,  136,  136,  136,  136,  122,  136,  136,  116,
751       136,  136,  136,  136,   91,  108,   58,  136,  136,  136,
752       136,  136,  136,  136,   59,  136,  136,  136,   93,   10,
753       136,  136,  136,  136,   28,   46,  136,  136,   92,  136,
754       136,  136,  136,  136,  136,  136,  136,  136,  123,  136,
755       136,   83,   84,  136,  136,  136,   85,  136,  136,  136,
756       136,  136,  136,  136,  136,  136,  136,  136,  136,   96,
757 
758       136,  136,  136,   97,    0
759     } ;
760 
761 static const YY_CHAR yy_ec[256] =
762     {   0,
763         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
764         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
765         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
766         1,    2,    1,    5,    6,    1,    1,    1,    1,    1,
767         1,    1,    1,    1,    7,    1,    1,    8,    9,    9,
768         9,   10,    9,   11,    9,    9,    9,   12,    1,    1,
769        13,    1,    1,    1,   14,   15,   16,   17,   18,   19,
770        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
771        30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
772         1,   40,    1,    1,    1,    1,   41,   42,   43,   44,
773 
774        45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
775        55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
776        65,   66,    1,    1,    1,    1,    1,    1,    1,    1,
777         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
778         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
779         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
780         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
781         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
782         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
783         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
784 
785         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
786         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
787         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
788         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
789         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
790         1,    1,    1,    1,    1
791     } ;
792 
793 static const YY_CHAR yy_meta[67] =
794     {   0,
795         1,    2,    3,    4,    4,    1,    1,    1,    1,    1,
796         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
797         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
798         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
799         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
800         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
801         1,    1,    1,    1,    1,    1
802     } ;
803 
804 static const flex_int16_t yy_base[1218] =
805     {   0,
806         0,    0,   64,   67,   71,   75,   78,   81, 3398, 3350,
807        85, 3400, 3400,   88,   72,   73,  102,  145,   76,  112,
808        92,   80,  147,  151,  109,  183,  189,  197,  137,  181,
809       164,   98,  120,   98, 3333, 3400, 3400, 3400,   84, 3332,
810      3369, 3400, 3400,  231, 3330, 3400, 3400,  141, 3328,  246,
811        99,    0,  250,    0,    0,  233,  115,  162,  199,  124,
812       225,  221,  232,  228,  231,  186,  248,  234,  209,  241,
813       258,  259,  268,  296,  257,  272,  273,  278,  275,  290,
814       281,  295,  293,  305,  306,  289,  311,  351,  300,  317,
815       347,  309,  342,  333,  320,  355,  353,  328,  369,  375,
816 
817      3326,  274, 3325,  412, 3360, 3320,  320,  348,  378,  356,
818       392,  390,  382,  395,  402,  391,  401,  269,  414,  404,
819       417,  406,  421,  416,  431,  433,  428,  441,  450,  427,
820       455,  464,  172,  475,  471,  477,  452,  461,  467,  480,
821       478,  469,  494,  490,  465,  496,  488,  491,  498,  503,
822       512,  530,  502,  527,  513,  528,  533,  521,  548,  549,
823      3319,  551,  554,  540,  545,  552,  536,  561,  557, 3318,
824       560,  567,  571,  565,  572,  586,  588,  600,  584,  597,
825       604,  592,  610,  612,  594,  599,  607,  619,  615,  618,
826       613,  629,  616,  654, 3315,  638,  640,  639,  646,  648,
827 
828       650,  655,  656,  669,  672,  665,  681,  673,  684,  685,
829       676,  678,  674,  697,  700,  714,  708,  680,  711,  709,
830       715,  717,  762,  767,  720,  735,  719,  721,  778,  809,
831       742,  725,  736,  769,  776,  792,  796,  744,  802,  772,
832       814,  797,  761,  813,  810,  833,  806,  823,  825,  831,
833       840,  847,  852,  837,  842,  849,  861,  865,  854,  862,
834       873,  872,  867,  875,  881,  892, 3314,  876, 3313,  878,
835       888,  884, 3310,  909,  894,  905,  912,  903,  904,  930,
836       911,  924,  933,  766,  914,  944,  908,  948,  943,  937,
837       947,  939,  938,  963,  967,  957,  974,  965,  982,  966,
838 
839       995,  981,  983,  994,  990,  984, 3309, 1004, 1006, 1016,
840      1008, 1031,  954, 1019, 1026,  729, 1010, 1033, 1029, 1022,
841      1044, 1035, 1039, 1055, 1070, 1071, 1074, 1060, 1047, 1075,
842      1063, 1079, 1085, 1073, 1087, 1081, 1077, 1093, 1111, 1113,
843      1097, 1108, 1118, 1119, 1110, 1127, 1116, 1136, 1135, 1137,
844      1142, 1152, 1153, 1154, 1167, 1171, 1148, 1155, 1169, 1150,
845      1173, 1162, 1181, 1182, 1100, 1180, 1211, 1192, 1195, 1186,
846      1200, 1197, 1207, 1213, 1219, 1209, 1208, 1224, 1227, 1222,
847      1231, 1228, 1233, 1236, 1256, 1250, 1266, 1255, 1251, 1264,
848      1274, 1268, 1257, 1265, 1269, 1282, 1286, 1293, 3296, 1303,
849 
850      1292, 1310, 1296, 1302, 1300, 1301, 1313, 1341, 3283, 3263,
851      3246, 1317, 1329, 1304, 1327, 1365, 1344, 1330, 1349, 1339,
852      1342, 1345, 1361, 1368, 1356, 1379, 1366, 1371, 1373, 1377,
853      1378, 1383, 1405, 1402, 1394, 3241, 1400, 1415, 1416, 1423,
854      1425, 1419, 1421, 1428, 1408, 1418, 1439, 1435, 1436, 1422,
855      1434, 3151, 1450, 1461, 3146, 1444, 3054, 1457, 1460, 1459,
856      1475, 1458, 1474, 1477, 1481, 1478, 1487, 1468, 1491, 1488,
857      1492, 1495, 1500, 1501, 1505, 3003, 1518, 1504, 1508, 1509,
858      1517, 1527, 1522, 1536, 1528, 1545, 1525, 1553, 1554, 1544,
859      1589, 1556, 1548, 1566, 1572, 1568, 1563, 1575, 1569, 1582,
860 
861      1596, 1606, 1599, 1591, 1609, 1604, 2924, 1612, 1603, 1626,
862      1625, 1616, 1630, 1619, 1623, 1618, 1654, 2909, 1646, 1631,
863      1637, 1658, 1634, 1648, 1652, 1662, 1660, 2860, 2857, 1650,
864      1668, 1677, 1657, 1676, 1682, 1678, 1694, 1698, 1684, 1707,
865      1709, 1705, 1706, 1719, 1715, 1717, 2813, 2811, 1749, 1726,
866      1721, 1723, 2805, 1727, 1728, 1741, 1746, 1732, 1761, 1754,
867      1759, 1762, 1740, 2781, 1772, 1760, 1770, 1777, 1768, 1773,
868      1766, 1778, 1753, 1794, 1788, 1767, 1798, 1799, 1792, 1786,
869      1801, 1809, 1804, 1813, 1812, 1805, 1819, 1815, 2774, 1843,
870      2703, 1828, 1845, 1846, 1838, 1854, 1840, 1839, 1841, 1851,
871 
872      2696, 1862, 1865, 1855, 1869, 1870, 2660, 2622, 1868, 1875,
873      1872, 1892, 1881, 1882, 1889, 1884, 1910, 1901, 1885, 1887,
874      1904, 1909, 1896, 1914, 1908, 1919, 1927, 1920, 1932, 1934,
875      1936, 2585, 2561, 1926, 1952, 1940, 1991, 1937, 1947, 1944,
876      2438, 1989, 1956, 1971, 1974, 1964, 1972, 1973, 2437, 1995,
877      2415, 1999, 1980, 2397, 2005, 2007, 2009, 2395, 2371, 2011,
878      2003, 2352, 2014, 2351, 2015, 2000, 1998, 2017, 2026, 2042,
879      2027, 2049, 2022, 2033, 2030, 2032, 2036, 2038, 2044, 2046,
880      2065, 2068, 2063, 2074, 2071, 2069, 2067, 2076, 2073, 2072,
881      2064, 2303, 2106, 2108, 2092, 2096, 2097, 2093, 2098, 2113,
882 
883      2102, 2132, 2119, 2111, 2109, 2125, 2123, 2120, 2148, 2135,
884      2150, 2133, 2143, 2146, 2284, 2152, 2147, 2149, 2158, 2160,
885      2154, 2168, 2162, 2174, 2192, 2203, 2201, 2254, 2199, 2209,
886      2185, 2183, 2208, 2210, 2253, 2200, 2212, 2215, 2195, 2236,
887      2217, 2221, 2222, 2242, 2226, 2220, 2255, 2240, 2197, 2231,
888      2239, 2258, 2263, 2261, 2244, 2265, 2247, 2190, 2250, 2273,
889      2274, 2267, 2271, 2287, 2285, 2286, 2291, 2288, 2181, 2280,
890      2311, 2300, 2301, 2298, 2318, 2325, 2313, 2314, 2330, 2320,
891      2323, 2324, 2328, 2338, 2343, 2327, 2340, 2079, 2344, 2361,
892      2364, 2363, 2367, 2365, 2356, 2370, 2355, 2383, 2373, 2378,
893 
894      2380, 2058, 2381, 2391, 2382, 2398, 2419, 2388, 2408, 2422,
895      2409, 2403, 2423, 2425, 2420, 2019, 2424, 2413, 2432, 1988,
896      2411, 2430, 2443, 2446, 2442, 2456, 2444, 2447, 2464, 2461,
897      2459, 2454, 2470, 2457, 2463, 2481, 2471, 2483, 2494, 1987,
898      2486, 2485, 2488, 2489, 2498, 2497, 2505, 2513, 2509, 2520,
899      2515, 2482, 2504, 2532, 2526, 1984, 2534, 2528, 1935, 1933,
900      2540, 2542, 2531, 2545, 2535, 2541, 2544, 2553, 2567, 2557,
901      2558, 2560, 1757, 2570, 2580, 1751, 2577, 2573, 2578, 2589,
902      2590, 2587, 1701, 2603, 2607, 1692, 2612, 2601, 2613, 2616,
903      2618, 2620, 1649, 2633, 1633, 2632, 2617, 2630, 2634, 2631,
904 
905      2639, 2627, 1555, 2653, 1551, 2644, 2647, 2664, 2665, 2657,
906      2646, 2666, 2671, 2668, 2674, 2673, 2690, 2682, 1539, 2661,
907      2694, 2693, 2701, 2705, 2706, 2691, 2725, 2717, 2721, 2718,
908      1465, 2723, 2698, 2732, 2724, 2743, 2731, 2734, 2742, 2751,
909      2730, 2757, 2748, 1453, 2759, 1451, 2754, 1448, 2788, 1404,
910      2778, 2763, 2777, 2784, 2776, 2787, 1398, 1328, 2764, 2792,
911      2791, 2779, 2786, 2808, 1312, 2795, 2818, 2822, 2826, 2821,
912      2827, 2817, 2832, 2829, 2820, 2838, 2823, 2831, 2835, 2824,
913      2659, 2847, 2840, 2848, 1309, 2853, 1297, 2850, 2846, 2851,
914      2877, 2884, 2861, 2867, 2887, 2868, 2870, 2873, 2896, 2888,
915 
916      2891, 2912, 2904, 2916, 2897, 2895, 1283, 2922, 2930, 2918,
917      2911, 2932, 2923, 2928, 2939, 1260, 2931, 1239, 1198, 1184,
918      2942, 1176, 2941, 1175, 2943, 2948, 1146, 2951, 2955, 2962,
919      2952, 2957, 1144, 2967, 2978, 2964, 2972, 2975, 2980, 2987,
920      1140, 2989, 2990, 2994, 2998, 2979, 3001, 2991, 3004, 3002,
921      3014, 3018, 3016, 1114, 3005, 3015, 3025, 3021, 1104, 3017,
922      3029, 3030, 3031, 1103, 1069, 3027, 1066, 3028, 3040, 3047,
923      3060, 3041, 3044, 3052, 3057, 3045, 3071, 3066, 3074, 1061,
924      1058, 3070, 1017,  992, 3084,  961, 3078, 3073,  940,  936,
925      3086,  902, 3095, 3096,  848, 3080, 3083, 3094, 3097, 3093,
926 
927      3109,  763,  740, 3115, 3107, 3114,  688, 3101, 3120, 3124,
928      3132,  683, 3126,  642, 3123,  611, 3133, 3122, 3128,  537,
929       525, 3149, 3152, 3142, 3148, 3144, 3163,  505, 3164, 3173,
930      3169, 3166, 3167, 3165, 3178, 3159,  468, 3179, 3184,  463,
931      3171, 3186, 3185, 3198,  453,  448,  437, 3204, 3208, 3211,
932      3212, 3197, 3220, 3223,  418, 3203, 3219, 3224,  332,  324,
933      3213, 3216, 3214, 3231,  315,  314, 3226, 3235,  242, 3244,
934      3251, 3248, 3265, 3253, 3250, 3268, 3271, 3254,  223, 3267,
935      3277,  191,  187, 3286, 3270, 3238,  153, 3281, 3275, 3290,
936      3298, 3280, 3292, 3301, 3293, 3302, 3304, 3323, 3317,  131,
937 
938      3329, 3316, 3327,  100, 3400, 3375, 3379, 3383,  133, 3387,
939      3391,  118, 3393, 3395,  113,   95,   93
940     } ;
941 
942 static const flex_int16_t yy_def[1218] =
943     {   0,
944      1205,    1, 1206, 1206, 1207, 1207, 1208, 1208, 1205, 1209,
945      1205, 1205, 1205, 1210, 1209, 1209, 1209, 1209, 1209, 1209,
946      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
947      1209, 1209, 1209, 1209, 1211, 1205, 1205, 1205, 1211, 1212,
948      1205, 1205, 1205, 1212, 1213, 1205, 1205, 1213, 1209, 1209,
949      1205, 1214, 1210, 1214, 1210, 1209, 1209, 1209, 1209, 1209,
950      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
951      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
952      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
953      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
954 
955      1211, 1211, 1212, 1212, 1205, 1213, 1213, 1209, 1209, 1209,
956      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
957      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
958      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
959      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
960      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
961      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
962      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
963      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
964      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
965 
966      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
967      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
968      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
969      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
970      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
971      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
972      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
973      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
974      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
975      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
976 
977      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
978      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
979      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
980      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
981      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
982      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
983      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
984      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
985      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
986      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
987 
988      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
989      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
990      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
991      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
992      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
993      1209, 1209, 1209, 1209, 1209, 1209, 1215, 1209, 1209, 1209,
994      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
995      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
996      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
997      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
998 
999      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1000      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1001      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1002      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1003      1209, 1209, 1209, 1209, 1209, 1209, 1216, 1215, 1215, 1209,
1004      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1005      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1006      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1007      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1008      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1009 
1010      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1011      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1012      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1013      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1014      1216, 1216, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1015      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1016      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1017      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1018      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1019      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1020 
1021      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1022      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1023      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1024      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1025      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1026      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1027      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1028      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1029      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1030      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1031 
1032      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1033      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1034      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1035      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1036      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1037      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1038      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1039      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1040      1209, 1209, 1209, 1209, 1209, 1217, 1209, 1209, 1209, 1209,
1041      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1042 
1043      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1044      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1045      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1046      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1047      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1217, 1217, 1209,
1048      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1049      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1050      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1051      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1052      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1053 
1054      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1055      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1056      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1057      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1058      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1059      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1060      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1061      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1062      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1063      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1064 
1065      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1066      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1067      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1068      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1069      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1070      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1071      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1072      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1073      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1074      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1075 
1076      1209, 1209, 1209, 1209,    0, 1205, 1205, 1205, 1205, 1205,
1077      1205, 1205, 1205, 1205, 1205, 1205, 1205
1078     } ;
1079 
1080 static const flex_int16_t yy_nxt[3467] =
1081     {   0,
1082        10,   11,   12,   12,   13,   14,   10,   10,   10,   10,
1083        10,   10,   10,   15,   16,   17,   18,   10,   10,   10,
1084        19,   20,   10,   21,   22,   23,   24,   25,   26,   10,
1085        27,   28,   29,   30,   31,   10,   32,   10,   33,   34,
1086        15,   16,   17,   18,   10,   10,   10,   19,   20,   10,
1087        21,   22,   23,   24,   25,   26,   10,   27,   28,   29,
1088        30,   31,   10,   32,   10,   33,   36,   37,   38,   36,
1089        37,   38,   41,   42,   42,   43,   41,   42,   42,   43,
1090        46,   46,   47,   46,   46,   47,   51,  101,  101,   54,
1091        52,   54,   54,  948,   60,  641,   56,   71,   57,   49,
1092 
1093        51,   49,   49,   39,   52,   58,   39,   76,   59,   75,
1094        44,   50,   50,  548,   44,   50,   99,   48,  103,   50,
1095        48,   60,   61,   56,   71,   57,   62,   55,   72,   63,
1096        64,   50,   58,   49,   76,   59,   75,   50,   73,   50,
1097        74,   50,   83,   99,  106,  106,  110,  100,   50,   61,
1098       113,   50,   94,   62,   50,   72,   63,   64,   65,   50,
1099        77,   95,   66,   50,   80,   73,   67,   74,   78,   83,
1100        50,   68,   69,  110,  100,   70,   50,  113,   81,   94,
1101        79,   98,   82,  195,   50,   65,   50,   77,   95,   66,
1102        50,   80,   50,   67,  111,   78,   84,   96,   68,   69,
1103 
1104       120,   50,   70,   50,   85,   81,   88,   79,   98,   82,
1105        86,   50,   97,   87,   91,  123,   89,  112,   92,   90,
1106        50,  111,   50,   84,   96,   50,   50,  120,   50,   93,
1107        50,   85,  103,   88,  103,  103,   50,   86,   50,   97,
1108        87,   91,  115,   89,  112,   92,   90,   49,   50,   49,
1109        49,   54,  108,   54,   54,  114,   93,  109,  116,  117,
1110        50,  118,   50,  119,   50,  122,  121,   50,  124,  115,
1111        50,   50,   50,   50,  125,  177,  126,  101,  101,  108,
1112        50,   50,  114,  127,  109,  116,  117,   50,  118,   55,
1113       119,  134,  122,  121,  133,  124,   50,   50,   50,  137,
1114 
1115       128,  125,  129,  126,  136,  130,  131,   50,   50,  135,
1116       127,   50,   50,  139,   50,  138,  140,   50,  134,  144,
1117        50,  133,  143,  106,  106,  141,  137,  128,   50,   50,
1118       132,  136,   50,  151,   50,   50,  135,  142,  145,   50,
1119       139,  152,  138,  140,   50,   50,  144,  157,   50,  143,
1120        50,  160,  141,   50,   50,  158,   50,  132,  163,   50,
1121       151,  159,  153,   50,  142,  145,  146,   50,  152,  147,
1122       162,   50,   50,  154,  157,  166,  148,  155,  160,  156,
1123       149,   50,  158,  161,  150,  163,   50,   50,  159,  153,
1124        50,  168,   50,  146,   50,   50,  147,  162,  171,  164,
1125 
1126       154,  165,  166,  148,  155,  167,  156,  149,   50,  174,
1127       161,  150,  169,  103,   50,  103,  103,   50,  168,  173,
1128       170,   50,  172,  175,  176,  171,  164,  178,  165,   50,
1129        50,   50,  167,  191,   50,  180,  174,  179,  181,  169,
1130        50,   50,  182,   50,  183,   50,  173,  170,  184,  172,
1131       175,  176,  186,   50,  178,   50,   50,   50,  187,  185,
1132        50,  192,  180,  188,  179,  181,   50,   50,  189,  182,
1133        50,  183,   50,  193,  194,  184,   50,  198,  202,  186,
1134        50,  196,  190,  199,  201,  187,  185,   50,  203,   50,
1135       188,   50,   50,  197,   50,  189,  204,  205,  200,  209,
1136 
1137        50,  206,   50,   50,   50,  202,   50,   50,   50,  190,
1138        50,  201,  207,  210,   50,  203,   50,   50,  212,   50,
1139       197,  211,  208,  204,  205,  200,  209,   50,  206,   50,
1140        50,  213,  217,   50,  214,   50,  216,   50,  215,  207,
1141       210,   50,   50,  218,   50,  212,  220,  219,  211,  208,
1142       221,   50,   50,  222,  223,  224,  229,  225,  213,  217,
1143        50,  214,  230,  234,   50,  215,   50,   50,  227,   50,
1144       218,  232,   50,  220,  219,   50,   50,  221,  233,   50,
1145       222,  226,  231,  229,   50,  228,  238,   50,   50,  230,
1146        50,   50,  235,   50,  236,  227,   50,  237,  232,   50,
1147 
1148        50,  241,  239,  243,   50,  233,   50,  240,  226,  231,
1149        50,   50,  228,  238,  242,  244,  247,  245,  248,  235,
1150       246,  236,  257,   50,  237,   50,  249,   50,  241,  239,
1151       243,   50,  250,   50,  240,  252,   50,  251,   50,   50,
1152       255,  242,  244,   50,  245,  253,   50,  246,  254,   50,
1153        50,   50,   50,  249,   50,   50,  256,   50,   50,  250,
1154       258,  261,  252,  263,  251,  259,  267,  255,   50,  262,
1155       260,  266,  253,  265,  268,  254,  264,   50,   50,   50,
1156       269,   50,  271,  256,  273,   50,  286,   50,  261,   50,
1157       263,  278,  259,   50,   50,   50,  262,  260,  266,  270,
1158 
1159       265,  268,  272,  264,   50,  274,  275,  276,   50,  271,
1160       277,   50,   50,   50,  279,   50,  280,   50,  278,   50,
1161        50,  289,   50,   50,   50,  285,  270,   50,  287,  272,
1162       288,  312,  274,  275,  276,  281,   50,  277,  290,   50,
1163       399,  279,  303,  280,  282,  283,  302,   50,   50,  284,
1164        50,  300,  285,   50,   50,  287,   50,  288,   50,   50,
1165        50,  301,  281,  311,   50,  290,  313,  323,   50,  303,
1166       318,  282,  283,  302,   50,   50,  284,  291,  300,   50,
1167       296,   50,  297,   50,  304,  314,  364,  292,  301,  320,
1168       311,  293,  294,  313,  295,  298,  305,  318,  299,  306,
1169 
1170        50,   50,   50,  315,  291,   50,   50,  296,   50,  297,
1171       322,   50,  314,  364,  292,   50,  320,   50,  293,  294,
1172       307,  295,  298,  305,  316,  299,  306,  308,  317,  319,
1173       315,   50,  321,  309,  324,   50,   50,  322,  325,  328,
1174       310,   50,  326,  327,  329,   50,  331,  332,   50,   50,
1175       336,  316,   50,   50,  308,  317,  319,  330,  333,  321,
1176       309,  324,   50,  334,   50,  325,  328,  310,  337,  335,
1177        50,  329,   50,  331,  332,  338,   50,  336,  339,   50,
1178       341,   50,  340,  342,  330,  333,   50,   50,   50,  344,
1179       334,   50,  346,   50,  347,  337,  335,  343,  348,  350,
1180 
1181        50,   50,  338,  345,   50,  339,   50,  341,  352,  340,
1182       342,   50,   50,  349,   50,   50,  344,   50,  351,  346,
1183        50,  347,  355,   50,  343,  353,  350,   50,  354,  356,
1184       345,   50,  358,   50,  357,  352,  359,  361,  367,  360,
1185       349,   50,   50,   50,   50,  351,  365,   50,   50,  355,
1186        50,   50,  353,   50,  362,  354,  356,  363,  366,  358,
1187       396,  357,  368,   50,  361,  367,  360,  369,  370,   50,
1188       372,  373,   50,  365,  371,   50,   50,   50,   50,   50,
1189       374,  362,   50,   50,  363,  366,   50,   50,  375,  368,
1190       376,  377,  378,   50,  369,  370,   50,  372,  373,  379,
1191 
1192        50,  371,   50,  380,   50,   50,   50,  374,  381,  384,
1193       383,  386,  382,   50,  387,  375,  400,  376,  377,  378,
1194        50,   50,   50,   50,  385,  388,  379,  389,  403,   50,
1195       380,   50,  390,   50,   50,  381,  384,  383,  386,  382,
1196       392,  387,  398,   50,  393,   50,  397,   50,  391,   50,
1197       401,  385,  388,  402,  389,   50,   50,  394,   50,  390,
1198       395,   50,  404,  413,  406,   50,  405,  392,   50,  398,
1199        50,  393,   50,  397,   50,  391,  408,  401,   50,  407,
1200       402,  409,  410,   50,  394,  411,   50,  395,  412,  404,
1201       413,  406,  414,  405,   50,  415,  416,   50,  417,   50,
1202 
1203        50,  421,   50,  418,  419,   50,  407,  420,   50,   50,
1204        50,  452,   50,   50,   50,  412,   50,  422,   50,  414,
1205        50,  425,  415,  416,   50,  417,   50,  423,  421,  424,
1206       418,  419,   50,  426,  420,  427,   50,  428,  430,   50,
1207       433,  435,   50,   50,  422,  431,  436,   50,  425,   50,
1208        50,  429,   50,   50,  423,   50,  424,   50,   50,  432,
1209       426,  434,  427,  437,  428,  430,   50,  433,  438,  439,
1210       440,  441,  431,  442,   50,   50,   50,  443,  429,   50,
1211       444,   50,  445,   50,  447,   50,  432,   50,  434,   50,
1212       437,   50,   50,   50,   50,  438,  439,  440,  441,  446,
1213 
1214       449,   50,  450,  451,  457,  448,   50,  444,   50,  445,
1215        50,  447,   50,  453,   50,   50,  458,  454,  459,   50,
1216        50,   50,  455,   50,  462,   50,  446,  449,  461,  450,
1217       451,   50,  448,  460,   50,  463,   50,   50,  466,   50,
1218       453,  465,  456,  458,  464,  459,   50,   50,   50,  471,
1219        50,  462,   50,  469,  467,  461,  470,  468,   50,  472,
1220       460,   50,  463,   50,  473,  466,   50,   50,  465,  456,
1221        50,  464,   50,  474,  475,   50,  471,  476,   50,  477,
1222       469,  467,  478,  470,  468,  479,  472,  480,  481,   50,
1223        50,  473,  483,  482,   50,   50,   50,  485,  490,   50,
1224 
1225       474,  475,  484,   50,   50,   50,  477,   50,   50,  478,
1226       487,  486,  479,   50,  480,  481,  491,  494,  488,  483,
1227       482,   50,   50,  493,  485,   50,  489,  492,  495,  484,
1228       496,   50,   50,  502,  504,   50,   50,  487,  486,   50,
1229        50,   50,   50,   50,  494,  488,  503,  509,   50,   50,
1230       493,   50,   50,  489,  492,  495,   50,  496,  497,  508,
1231       502,  504,  498,  510,  505,  499,   50,   50,   50,   50,
1232       511,  506,  500,  503,  509,  501,  507,  518,   50,  512,
1233        50,   50,  513,   50,   50,  497,  508,  514,   50,  498,
1234       510,  505,  499,  516,  515,   50,  517,  511,  521,  500,
1235 
1236        50,  519,  501,  520,   50,   50,  512,   50,  522,  513,
1237        50,  524,   50,  523,  514,  525,   50,   50,   50,  527,
1238       516,  515,   50,  517,  526,  521,  528,  529,  519,  530,
1239       520,  531,  532,   50,  534,  522,  533,   50,  535,   50,
1240       523,   50,  525,   50,   50,  536,  527,   50,  537,  538,
1241       541,  526,  539,  540,   50,   50,  547,   50,   50,  532,
1242        50,   50,   50,  533,   50,  535,  542,   50,  543,  544,
1243       544,  544,  536,   50,   50,   50,  545,  541,   50,  539,
1244       540,  551,  550,   50,  546,  552,  553,  949,  554,   50,
1245        50,  555,   50,  542,  556,  543,   50,   50,   50,   50,
1246 
1247        50,  557,  560,  545,   50,  562,  564,   50,  551,  550,
1248       558,  546,  552,   50,   50,  554,   50,   50,  555,  559,
1249        50,  556,  567,  561,  563,  566,   50,   50,  557,  560,
1250        50,   50,  562,  565,   50,  568,  569,  558,  570,   50,
1251        50,  571,  572,   50,   50,  573,  559,   50,   50,  567,
1252       561,  563,  566,  575,  574,  576,   50,   50,  577,  578,
1253       565,   50,  568,  569,   50,  570,   50,   50,  571,  572,
1254       579,  580,  573,  587,  588,   50,  581,  589,   50,  591,
1255       575,  574,  576,   50,   50,  577,  578,   50,  590,  592,
1256        50,  593,   50,   50,   50,   50,  594,  579,  580,  595,
1257 
1258       587,  588,   50,  581,  582,   50,  583,   50,   50,  596,
1259       584,   50,  585,  597,   50,  590,  592,  586,  593,  598,
1260       601,   50,  600,  594,  611,  599,  595,  607,   50,  603,
1261        50,  582,  602,  583,  604,   50,  596,  584,   50,  585,
1262       597,  608,   50,   50,  586,   50,  598,  605,   50,  600,
1263       609,   50,  599,  606,  610,   50,  603,   50,   50,  602,
1264       612,  604,   50,  613,   50,   50,  621,  615,  614,   50,
1265        50,  617,   50,   50,  605,  616,   50,  609,  618,  620,
1266       606,  610,  623,  619,  625,   50,  622,   50,   50,   50,
1267       613,   50,  628,   50,  615,  614,   50,   50,  617,   50,
1268 
1269       629,   50,  616,  624,  630,  618,  620,   50,  631,  623,
1270       619,  625,  626,  622,  627,   50,   50,   50,  632,  628,
1271       633,   50,  634,   50,  635,  636,  637,  637,  637,  637,
1272       624,  949,  638,   50,  640,  631,  644,   50,  650,  626,
1273        50,  627,  639,  647,   50,   50,   50,  643,   50,  634,
1274       548,  635,  548,  548,   50,  645,   50,  649,   50,  638,
1275        50,  640,   50,  644,  646,   50,   50,   50,  648,  639,
1276       647,   50,  651,  654,  643,  652,  653,  655,  656,   50,
1277        50,  658,  645,  665,  662,   50,  661,  657,  659,  664,
1278        50,  646,   50,   50,  668,  648,   50,  663,   50,   50,
1279 
1280        50,   50,  652,  653,  655,   50,   50,   50,  660,   50,
1281       665,   50,   50,  661,  657,  666,   50,   50,  667,  669,
1282       670,  668,  671,  672,  663,   50,  674,   50,  673,  677,
1283       675,   50,  678,   50,  679,  660,  680,   50,   50,  676,
1284        50,  682,  666,   50,   50,  667,  669,  670,   50,  671,
1285       672,   50,   50,  674,   50,  673,  677,  675,   50,  678,
1286       681,  679,  683,  680,  685,  684,  676,   50,  682,  686,
1287       687,  688,  690,  689,  696,  691,  692,   50,   50,   50,
1288        50,  697,   50,  695,   50,   50,  693,  681,  701,  683,
1289        50,  685,  684,   50,   50,  694,  686,  687,  688,  690,
1290 
1291       689,   50,  691,  698,   50,  699,  702,   50,   50,   50,
1292       695,   50,  700,  693,   50,  703,  704,  706,  705,  707,
1293        50,   50,  694,   50,   50,  708,   50,  710,   50,  711,
1294       698,   50,  699,  702,  713,   50,  709,  714,  715,  700,
1295        50,  716,  703,   50,  706,  705,  707,   50,   50,   50,
1296       720,  712,  708,   50,  710,  722,  711,  719,   50,   50,
1297       717,  713,  718,  709,  714,   50,   50,  723,  716,  721,
1298       729,   50,   50,   50,   50,   50,   50,  720,  712,   50,
1299       724,  725,  722,   50,  719,  728,   50,  717,  726,  718,
1300       641,   50,  641,  641,  723,   50,  721,  636,  637,  637,
1301 
1302       637,  637,  727,   50,  730,  734,  731,  724,  725,  732,
1303        50,   50,   50,   50,  733,  726,  735,  738,  742,   50,
1304       736,  741,  737,   50,  739,  740,   50,   50,  750,  727,
1305        50,  730,  734,  731,   50,  743,  732,   50,   50,   50,
1306       744,  733,   50,  752,   50,  742,   50,  736,   50,  737,
1307        50,  739,  745,   50,   50,  748,   50,  746,   50,  747,
1308       749,   50,  743,  751,  753,   50,   50,  744,  755,   50,
1309       752,   50,   50,  754,  756,   50,  758,   50,  757,  745,
1310       761,   50,  759,   50,  746,   50,  747,  762,   50,  760,
1311       751,  753,  763,  765,  766,  755,  768,   50,  764,  767,
1312 
1313       754,  756,   50,   50,   50,  757,   50,   50,   50,  759,
1314        50,   50,   50,   50,  762,   50,  760,  769,   50,  763,
1315       765,  766,  771,  768,  770,  764,  767,  772,  773,  775,
1316       774,   50,   50,  776,  777,   50,   50,   50,  778,  779,
1317       781,   50,  782,  780,  788,   50,  784,   50,   50,  771,
1318        50,  770,   50,  783,  772,  773,  775,  774,   50,   50,
1319       776,  777,   50,  785,   50,  786,  779,  781,  787,  782,
1320       780,   50,   50,  784,   50,  789,  790,  792,  791,  793,
1321       783,  795,   50,  794,  796,   50,   50,   50,   50,   50,
1322       785,   50,  786,   50,  798,  787,  797,   50,  800,   50,
1323 
1324       799,   50,  789,  790,  792,  791,  793,   50,  795,  801,
1325       794,  796,  802,   50,  803,  804,  806,  805,  809,  813,
1326        50,  798,   50,  797,   50,  807,  808,  799,  810,   50,
1327       811,   50,  818,  816,   50,  814,   50,  819,   50,   50,
1328        50,  803,   50,  806,  805,  809,  813,   50,   50,   50,
1329       812,   50,  807,  808,   50,  810,   50,  811,  815,   50,
1330        50,   50,  814,  817,  819,   50,  820,  826,  821,  822,
1331        50,  823,  824,  833,  830,   50,  827,  812,   50,   50,
1332       825,   50,  828,   50,  829,  815,   50,  832,  834,   50,
1333       817,  840,   50,   50,   50,  821,  822,   50,  823,  824,
1334 
1335        50,  830,   50,  827,   50,  831,   50,  825,  835,  828,
1336        50,  829,   50,   50,  832,  834,  836,  838,  837,   50,
1337       839,  842,  843,   50,   50,   50,   50,   50,  841,  844,
1338        50,  846,  831,  845,  847,  835,  849,   50,  856,   50,
1339        50,  850,   50,  836,  838,  837,  848,  839,  842,  843,
1340        50,  851,   50,   50,  852,  841,  844,   50,  857,   50,
1341       845,  847,   50,   50,   50,  853,   50,   50,  850,   50,
1342       854,  855,  859,  848,  858,  860,  865,   50,  851,   50,
1343       861,  852,   50,   50,  862,  857,  863,  864,  866,  867,
1344        50,   50,  853,  873,   50,   50,  869,  854,  855,  876,
1345 
1346        50,  858,   50,   50,   50,  868,   50,  861,  871,   50,
1347        50,  862,   50,  863,  864,  866,  870,   50,  872,   50,
1348        50,   50,   50,  869,  874,  875,  877,   50,  878,  879,
1349        50,  883,  868,  880,   50,  871,   50,   50,  882,  885,
1350       881,  884,   50,  870,  886,  872,  887,   50,   50,  889,
1351        50,  874,   50,  877,   50,  893,  879,  888,   50,   50,
1352       880,   50,   50,   50,   50,  882,  885,  881,  884,   50,
1353       890,   50,  891,  887,  892,  895,   50,  642,  896,  894,
1354       897,   50,   50,   50,  888,   50,   50,  898,  918,  901,
1355       902,  899,  903,   50,  905,   50,   50,  890,   50,  891,
1356 
1357        50,  892,   50,   50,  900,  896,  894,  897,  904,   50,
1358        50,  906,  907,  910,  898,  919,  901,  902,  899,  911,
1359        50,   50,   50,  908,   50,   50,  909,   50,   50,  912,
1360       913,  900,  921,   50,  914,  904,   50,   50,  906,  907,
1361       910,  915,  917,   50,   50,  916,  911,  929,   50,  920,
1362       908,  922,   50,  909,   50,  923,  912,  913,  924,   50,
1363       925,  914,  930,  926,  931,   50,  928,   50,  915,  917,
1364        50,   50,  916,   50,   50,  933,  920,  927,  922,   50,
1365        50,   50,  923,   50,   50,  924,  936,  925,  932,  930,
1366       926,  934,   50,  928,  935,  942,   50,   50,  940,   50,
1367 
1368        50,  944,  933,  937,  927,  941,   50,  938,  939,   50,
1369       943,  945,   50,  936,  946,  932,   50,   50,  934,   50,
1370       947,  935,  942,  950,   50,  940,   50,  951,   50,   50,
1371       937,  952,  941,  953,  938,  939,  954,  943,  945,  956,
1372        50,  955,   50,  958,  957,  963,   50,  947,  962,  959,
1373       961,   50,   50,  964,  951,   50,   50,   50,  952,   50,
1374       953,   50,  960,  954,  965, 1032,   50,  971,  955,   50,
1375        50,   50,   50,   50,  966,  962,  959,  961,   50,  967,
1376       964,  968,  969,   50,  970,   50,   50,  972,  973,  960,
1377       976,  979,   50,  974,  971,  975,   50,  978,   50,   50,
1378 
1379        50,  966,  985,   50,   50,   50,  967,   50,  968,  969,
1380        50,  970,   50,   50,  972,  973,  977,  976,  979,  980,
1381       974,   50,  975,  981,  978,  982,  983,  984,  992,   50,
1382        50,  986,   50,   50,  989,   50,  987,   50,  988,  990,
1383        50,  994,   50,  977,   50,   50,  980,  991,  996,  997,
1384       981, 1000,  982,  983,  984,  992,   50,   50,  993,  998,
1385        50,  989,   50,   50,   50,  988,  990,  995,  994,   50,
1386        50,   50, 1001,   50,  991,  996,  997,  999, 1000, 1004,
1387      1002,   50,   50, 1003, 1006,  993,  998,   50, 1007,  948,
1388        50,  948,  948,   50,  995, 1005,   50, 1008,   50, 1001,
1389 
1390      1009, 1011,   50,   50,  999, 1010, 1004, 1002, 1013, 1014,
1391      1003, 1006, 1012,   50, 1015,   50,   50,   50,   50, 1016,
1392        50, 1017, 1005,   50, 1008,   50,   50, 1009, 1011, 1018,
1393        50,   50, 1010, 1019,   50, 1013, 1014, 1020, 1022, 1012,
1394      1021, 1015, 1023, 1024,   50, 1026, 1025,   50, 1017, 1027,
1395       549, 1029,  642, 1030, 1028, 1031,   50,   50, 1033,   50,
1396        50,   50,   50,   50, 1038,   50,   50, 1021,   50, 1023,
1397        50,   50, 1026, 1025,   50, 1039, 1034,   50, 1029,   50,
1398      1030, 1028, 1031, 1036, 1035,   50,   50,   50, 1037,   50,
1399        50, 1038,   50, 1042, 1040, 1041,   50, 1043, 1047,   50,
1400 
1401        50, 1046, 1039, 1034, 1044, 1045,   50,   50, 1054,   50,
1402      1036, 1035,   50, 1049, 1050, 1037,   50, 1048, 1052, 1055,
1403      1042, 1040, 1059,   50, 1043, 1047,   50,   50, 1046, 1051,
1404        50, 1044, 1045, 1053,   50,   50,   50, 1056, 1060, 1058,
1405      1049, 1050, 1064,   50, 1048, 1052, 1055, 1057,   50, 1061,
1406        50,   50, 1063, 1065, 1067,   50, 1051,   50, 1066, 1062,
1407      1053,   50,   50,   50, 1056, 1068, 1058,   50, 1069,   50,
1408        50,   50, 1070, 1074, 1057, 1071, 1061, 1076,   50, 1063,
1409        50,   50,   50, 1072, 1075, 1066, 1062,   50, 1073, 1077,
1410        50,   50, 1068, 1078,   50, 1069,   50, 1079, 1080, 1070,
1411 
1412      1081,   50, 1071,   50, 1076, 1083,   50, 1085, 1082, 1084,
1413      1072,   50, 1086, 1089,   50, 1073, 1077,   50,   50,   50,
1414      1078, 1088, 1093, 1087, 1079, 1090,   50, 1092,   50,   50,
1415        50, 1091, 1094,   50, 1085, 1082, 1095,   50, 1102, 1103,
1416        50,   50,   50,   50,   50, 1096, 1097, 1098, 1088, 1093,
1417      1087, 1100, 1107,   50,   50,   50,   50,   50, 1091, 1094,
1418        50, 1099, 1105, 1101,   50, 1108,   50,   50,   50,   50,
1419        50, 1104, 1096, 1097, 1098, 1106, 1109, 1111, 1100,   50,
1420        50, 1110, 1112,   50,   50, 1114,   50, 1113, 1099, 1105,
1421      1101,   50, 1108,  549, 1115, 1116,   50, 1122, 1104,   50,
1422 
1423      1118, 1119, 1106, 1109, 1111,   50, 1120, 1121, 1110,   50,
1424        50, 1124,   50,   50, 1113, 1117, 1123,   50, 1125,   50,
1425      1126, 1115,   50,   50, 1122,   50, 1128, 1118, 1119, 1127,
1426      1129, 1130,   50,   50,   50,   50,   50, 1132, 1124, 1131,
1427        50, 1133, 1117, 1123, 1137, 1125,   50, 1126,   50, 1134,
1428      1136, 1139, 1135,   50,   50, 1138, 1127, 1129, 1130,   50,
1429      1140,   50,   50,   50, 1132,   50, 1131,   50, 1133, 1141,
1430      1144,   50,   50, 1142, 1145, 1146, 1134, 1136, 1139, 1135,
1431      1143,   50, 1138,   50, 1147,   50, 1148,   50,   50, 1151,
1432        50,   50, 1149, 1150, 1153, 1155, 1141, 1144,   50, 1152,
1433 
1434      1142, 1156,   50,   50,   50,   50,   50, 1143,   50, 1159,
1435        50, 1154,   50, 1148, 1157, 1160, 1151,   50,   50, 1149,
1436      1150, 1153, 1158,   50,   50,   50, 1152, 1161, 1156, 1164,
1437      1162, 1165, 1174, 1163, 1166, 1169,   50,   50, 1154, 1172,
1438      1167, 1157,   50,   50, 1189, 1170, 1168,   50, 1171, 1158,
1439        50,   50,   50,   50, 1161,   50, 1164, 1162,   50,   50,
1440      1163, 1175,   50,   50, 1176,   50, 1172, 1167, 1173, 1178,
1441        50, 1177, 1170, 1168,   50, 1171, 1179,   50, 1180, 1182,
1442        50, 1181, 1183,   50, 1185,   50, 1184,   50, 1175,   50,
1443        50, 1176,   50,   50, 1186, 1173, 1178, 1187, 1177, 1194,
1444 
1445      1191, 1188,   50, 1192,   50, 1180,   50,   50, 1181,   50,
1446        50, 1185, 1190, 1184,   50, 1193,   50, 1199, 1196,   50,
1447        50, 1186,   50, 1195, 1197,   50, 1194, 1191, 1188,   50,
1448      1192,   50,   50, 1198, 1200,   50, 1201,   50, 1204, 1190,
1449        50,   50, 1193,   50, 1199, 1196, 1202, 1203,   50,   50,
1450      1195, 1197,   50,   50,   50,   50,   50,   50,   50,  107,
1451      1198,  105,   50, 1201,  104,  102,   50,   50,   50,  107,
1452       105,  104,  102, 1202, 1203,   35,   35,   35,   35,   40,
1453        40,   40,   40,   45,   45,   45,   45,   53,   53,   50,
1454        53,  101,  101,  106,  106,   54,   54, 1205,   54,    9,
1455 
1456      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1457      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1458      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1459      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1460      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1461      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1462      1205, 1205, 1205, 1205, 1205, 1205
1463     } ;
1464 
1465 static const flex_int16_t yy_chk[3467] =
1466     {   0,
1467         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1468         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1469         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1470         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1471         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1472         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1473         1,    1,    1,    1,    1,    1,    3,    3,    3,    4,
1474         4,    4,    5,    5,    5,    5,    6,    6,    6,    6,
1475         7,    7,    7,    8,    8,    8,   11,   39,   39,   14,
1476        11,   14,   14, 1217,   16, 1216,   15,   19,   15,   34,
1477 
1478        51,   34,   34,    3,   51,   15,    4,   22,   15,   21,
1479         5,   15,   16, 1215,    6,   19,   32,    7, 1212,   22,
1480         8,   16,   17,   15,   19,   15,   17,   14,   20,   17,
1481        17,   21,   15, 1209,   22,   15,   21,   32,   20, 1204,
1482        20,   17,   25,   32,   48,   48,   57,   33,   25,   17,
1483        60,   20,   29,   17,   57,   20,   17,   17,   18,   33,
1484        23,   29,   18,   60,   24,   20,   18,   20,   23,   25,
1485      1200,   18,   18,   57,   33,   18,   29,   60,   24,   29,
1486        23,   31,   24,  133,   18,   18,   23,   23,   29,   18,
1487        24,   24, 1187,   18,   58,   23,   26,   30,   18,   18,
1488 
1489        66,   58,   18,   31,   26,   24,   27,   23,   31,   24,
1490        26,  133,   30,   26,   28,   69,   27,   59,   28,   27,
1491        30,   58,   26,   26,   30,   66, 1183,   66,   27,   28,
1492      1182,   26,   44,   27,   44,   44,   28,   26,   59,   30,
1493        26,   28,   62,   27,   59,   28,   27,   50,   69,   50,
1494        50,   53,   56,   53,   53,   61,   28,   56,   63,   63,
1495        62,   64, 1179,   65,   61,   68,   67,   64,   70,   62,
1496        65,   63,   56,   68,   71,  118,   72,  102,  102,   56,
1497        70, 1169,   61,   73,   56,   63,   63,   67,   64,   53,
1498        65,   76,   68,   67,   75,   70,   75,   71,   72,   79,
1499 
1500        73,   71,   74,   72,   78,   74,   74,   73,  118,   77,
1501        73,   76,   77,   81,   79,   80,   82,   78,   76,   86,
1502        81,   75,   85,  107,  107,   83,   79,   73,   86,   80,
1503        74,   78,   83,   89,   82,   74,   77,   84,   87,   89,
1504        81,   90,   80,   82,   84,   85,   86,   92,   92,   85,
1505        87,   95,   83, 1166, 1165,   93,   90,   74,   98,   95,
1506        89,   94,   91, 1160,   84,   87,   88,   98,   90,   88,
1507        97, 1159,   94,   91,   92,  108,   88,   91,   95,   91,
1508        88,   93,   93,   96,   88,   98,   91,  108,   94,   91,
1509        88,  110,   97,   88,   96,  110,   88,   97,  113,   99,
1510 
1511        91,  100,  108,   88,   91,  109,   91,   88,   99,  116,
1512        96,   88,  111,  104,  100,  104,  104,  109,  110,  115,
1513       112,  113,  114,  116,  117,  113,   99,  119,  100,  112,
1514       116,  111,  109,  130,  114,  121,  116,  120,  122,  111,
1515       117,  115,  123,  120,  124,  122,  115,  112,  125,  114,
1516       116,  117,  127,  119,  119,  124,  121, 1155,  128,  126,
1517       123,  131,  121,  129,  120,  122,  130,  127,  129,  123,
1518       125,  124,  126,  132,  132,  125, 1147,  135,  138,  127,
1519       128,  134,  129,  136,  137,  128,  126, 1146,  139,  129,
1520       129,  137, 1145,  134,  131,  129,  140,  141,  136,  145,
1521 
1522       138,  142, 1140,  132,  145,  138,  139, 1137,  142,  129,
1523       135,  137,  143,  146,  134,  139,  136,  141,  148,  140,
1524       134,  147,  144,  140,  141,  136,  145,  147,  142,  144,
1525       148,  149,  153,  143,  150,  146,  152,  149,  151,  143,
1526       146,  153,  150,  154, 1128,  148,  156,  155,  147,  144,
1527       157,  151,  155,  158,  159,  160,  164,  162,  149,  153,
1528       158,  150,  165,  169, 1121,  151,  154,  156,  163,  152,
1529       154,  167,  157,  156,  155,  167, 1120,  157,  168,  164,
1530       158,  162,  166,  164,  165,  163,  174,  159,  160,  165,
1531       162,  166,  171,  163,  172,  163,  169,  173,  167,  171,
1532 
1533       168,  177,  175,  179,  174,  168,  172,  176,  162,  166,
1534       173,  175,  163,  174,  178,  180,  183,  181,  184,  171,
1535       182,  172,  193,  179,  173,  176,  185,  177,  177,  175,
1536       179,  182,  186,  185,  176,  188,  180,  187,  186,  178,
1537       191,  178,  180,  181,  181,  189,  187,  182,  190,  183,
1538      1116,  184,  191,  185,  189,  193,  192,  190,  188,  186,
1539       194,  197,  188,  199,  187,  196,  202,  191,  192,  198,
1540       196,  201,  189,  200,  203,  190,  199,  196,  198,  197,
1541       204, 1114,  206,  192,  208,  199,  218,  200,  197,  201,
1542       199,  213,  196,  194,  202,  203,  198,  196,  201,  205,
1543 
1544       200,  203,  207,  199,  206,  209,  210,  211,  204,  206,
1545       212,  205,  208,  213,  214,  211,  215,  212,  213,  218,
1546       207,  221, 1112,  209,  210,  217,  205, 1107,  219,  207,
1547       220,  232,  209,  210,  211,  216,  214,  212,  222,  215,
1548       316,  214,  228,  215,  216,  216,  227,  217,  220,  216,
1549       219,  225,  217,  216,  221,  219,  222,  220,  227,  225,
1550       228,  226,  216,  231,  232,  222,  233,  243,  316,  228,
1551       238,  216,  216,  227,  226,  233,  216,  223,  225, 1103,
1552       224,  231,  224,  238,  229,  234,  284,  223,  226,  240,
1553       231,  223,  223,  233,  223,  224,  229,  238,  224,  229,
1554 
1555       243,  223, 1102,  235,  223,  284,  224,  224,  234,  224,
1556       242,  240,  234,  284,  223,  235,  240,  229,  223,  223,
1557       230,  223,  224,  229,  236,  224,  229,  230,  237,  239,
1558       235,  236,  241,  230,  244,  237,  242,  242,  245,  247,
1559       230,  239,  246,  246,  248,  247,  249,  250,  230,  245,
1560       254,  236,  244,  241,  230,  237,  239,  248,  251,  241,
1561       230,  244,  248,  252,  249,  245,  247,  230,  255,  253,
1562       250,  248,  246,  249,  250,  256,  254,  254,  257,  251,
1563       259,  255,  258,  260,  248,  251,  252, 1095,  256,  262,
1564       252,  253,  264,  259,  265,  255,  253,  261,  266,  270,
1565 
1566       257,  260,  256,  263,  258,  257,  263,  259,  272,  258,
1567       260,  262,  261,  268,  264,  268,  262,  270,  271,  264,
1568       265,  265,  276,  272,  261,  274,  270,  271,  275,  277,
1569       263,  266,  279,  275,  278,  272,  280,  282,  287,  281,
1570       268, 1092,  278,  279,  276,  271,  285,  287,  274,  276,
1571       281,  277,  274,  285,  283,  275,  277,  283,  286,  279,
1572       313,  278,  288,  282,  282,  287,  281,  289,  290,  280,
1573       292,  293,  283,  285,  291, 1090,  290,  293,  292, 1089,
1574       294,  283,  289,  286,  283,  286,  291,  288,  295,  288,
1575       296,  297,  298,  313,  289,  290,  296,  292,  293,  299,
1576 
1577      1086,  291,  294,  300,  298,  300,  295,  294,  301,  304,
1578       303,  305,  302,  297,  306,  295,  317,  296,  297,  298,
1579       302,  299,  303,  306,  304,  308,  299,  309,  320,  305,
1580       300, 1084,  310,  304,  301,  301,  304,  303,  305,  302,
1581       311,  306,  315,  308,  312,  309,  314,  311,  310,  317,
1582       318,  304,  308,  319,  309,  310, 1083,  312,  314,  310,
1583       312,  320,  321,  329,  323,  315,  322,  311,  319,  315,
1584       312,  312,  318,  314,  322,  310,  325,  318,  323,  324,
1585       319,  325,  326,  321,  312,  327,  329,  312,  328,  321,
1586       329,  323,  330,  322,  324,  331,  332, 1081,  333,  328,
1587 
1588      1080,  337,  331,  334,  335, 1067,  324,  336, 1065,  325,
1589       326,  365,  334,  327,  330,  328,  337,  338,  332,  330,
1590       336,  341,  331,  332,  333,  333,  335,  339,  337,  340,
1591       334,  335,  338,  342,  336,  343,  341,  344,  345,  365,
1592       347,  349, 1064, 1059,  338,  346,  349,  342,  341,  345,
1593       339,  344,  340, 1054,  339,  347,  340,  343,  344,  346,
1594       342,  348,  343,  350,  344,  345,  346,  347,  351,  352,
1595       353,  354,  346,  355,  349,  348,  350,  356,  344, 1041,
1596       357,  351,  358, 1033,  360, 1027,  346,  357,  348,  360,
1597       350,  352,  353,  354,  358,  351,  352,  353,  354,  359,
1598 
1599       362,  362,  363,  364,  368,  361,  355,  357,  359,  358,
1600       356,  360,  361,  366, 1024, 1022,  369,  367,  370,  366,
1601       363,  364,  367, 1020,  373,  370,  359,  362,  372,  363,
1602       364,  368,  361,  371,  369,  374,  372, 1019,  377,  371,
1603       366,  376,  367,  369,  375,  370,  373,  377,  376,  382,
1604       367,  373,  374,  380,  378,  372,  381,  379,  375,  383,
1605       371,  380,  374,  378,  384,  377,  379,  382,  376,  367,
1606       381,  375,  383,  385,  386,  384,  382,  387, 1018,  388,
1607       380,  378,  389,  381,  379,  390,  383,  391,  392,  386,
1608       389,  384,  394,  393,  388,  385,  393,  396,  401, 1016,
1609 
1610       385,  386,  395,  390,  394,  387,  388,  392,  395,  389,
1611       398,  397,  390,  391,  391,  392,  402,  405,  400,  394,
1612       393,  396, 1007,  404,  396,  397,  400,  403,  406,  395,
1613       407,  401,  398,  412,  414,  403,  987,  398,  397,  405,
1614       406,  404,  400,  414,  405,  400,  413,  418,  985,  402,
1615       404,  965,  407,  400,  403,  406,  412,  407,  408,  417,
1616       412,  414,  408,  419,  415,  408,  415,  958,  413,  418,
1617       420,  416,  408,  413,  418,  408,  416,  427,  420,  421,
1618       408,  421,  422,  417,  422,  408,  417,  423,  419,  408,
1619       419,  415,  408,  425,  424,  425,  426,  420,  430,  408,
1620 
1621       423,  428,  408,  429,  416,  427,  421,  424,  431,  422,
1622       428,  433,  429,  432,  423,  434,  430,  431,  426,  437,
1623       425,  424,  432,  426,  435,  430,  438,  439,  428,  440,
1624       429,  441,  442,  435,  444,  431,  443,  957,  445,  437,
1625       432,  434,  434,  950,  433,  446,  437,  445,  447,  447,
1626       450,  435,  448,  449,  438,  439,  456,  446,  442,  442,
1627       443,  450,  440,  443,  441,  445,  451,  444,  453,  454,
1628       454,  454,  446,  451,  448,  449,  454,  450,  447,  448,
1629       449,  459,  458,  456,  454,  460,  461,  948,  462,  453,
1630       946,  463,  944,  451,  464,  453,  458,  462,  460,  459,
1631 
1632       454,  465,  468,  454,  931,  470,  472,  468,  459,  458,
1633       466,  454,  460,  463,  461,  462,  464,  466,  463,  467,
1634       465,  464,  475,  469,  471,  474,  467,  470,  465,  468,
1635       469,  471,  470,  473,  472,  477,  478,  466,  479,  473,
1636       474,  480,  481,  478,  475,  482,  467,  479,  480,  475,
1637       469,  471,  474,  484,  483,  485,  481,  477,  486,  487,
1638       473,  483,  477,  478,  487,  479,  482,  485,  480,  481,
1639       488,  489,  482,  492,  493,  484,  490,  494,  919,  496,
1640       484,  483,  485,  490,  486,  486,  487,  493,  495,  497,
1641       905,  498,  488,  489,  903,  492,  499,  488,  489,  500,
1642 
1643       492,  493,  497,  490,  491,  494,  491,  496,  499,  500,
1644       491,  495,  491,  501,  498,  495,  497,  491,  498,  502,
1645       505,  500,  504,  499,  516,  503,  500,  512,  491,  508,
1646       504,  491,  506,  491,  509,  501,  500,  491,  503,  491,
1647       501,  513,  509,  506,  491,  502,  502,  510,  505,  504,
1648       514,  508,  503,  511,  515,  512,  508,  516,  514,  506,
1649       517,  509,  515,  519,  511,  510,  527,  521,  520,  513,
1650       520,  523,  895,  523,  510,  522,  521,  514,  524,  526,
1651       511,  515,  531,  525,  533,  519,  530,  524,  893,  530,
1652       519,  525,  536,  517,  521,  520,  533,  522,  523,  527,
1653 
1654       537,  526,  522,  532,  538,  524,  526,  531,  539,  531,
1655       525,  533,  534,  530,  535,  534,  532,  536,  540,  536,
1656       541,  535,  542,  539,  543,  544,  544,  544,  544,  544,
1657       532,  886,  545,  537,  546,  539,  551,  538,  558,  534,
1658       883,  535,  545,  555,  542,  543,  540,  550,  541,  542,
1659       549,  543,  549,  549,  545,  552,  546,  557,  544,  545,
1660       551,  546,  552,  551,  554,  550,  554,  555,  556,  545,
1661       555,  558,  559,  562,  550,  560,  561,  563,  565,  563,
1662       556,  567,  552,  573,  570,  557,  569,  566,  568,  572,
1663       876,  554,  573,  560,  576,  556,  873,  571,  561,  566,
1664 
1665       559,  562,  560,  561,  563,  571,  576,  569,  568,  567,
1666       573,  565,  570,  569,  566,  574,  568,  572,  575,  577,
1667       578,  576,  579,  580,  571,  580,  582,  575,  581,  585,
1668       583,  579,  586,  574,  587,  568,  588,  577,  578,  584,
1669       581,  592,  574,  583,  586,  575,  577,  578,  582,  579,
1670       580,  585,  584,  582,  588,  581,  585,  583,  587,  586,
1671       590,  587,  593,  588,  595,  594,  584,  592,  592,  596,
1672       597,  598,  600,  599,  609,  602,  603,  595,  598,  597,
1673       599,  610,  590,  606,  593,  594,  604,  590,  614,  593,
1674       600,  595,  594,  596,  604,  605,  596,  597,  598,  600,
1675 
1676       599,  602,  602,  611,  603,  612,  615,  609,  605,  606,
1677       606,  611,  613,  604,  610,  616,  617,  619,  618,  620,
1678       613,  614,  605,  616,  619,  621,  620,  622,  615,  623,
1679       611,  612,  612,  615,  625,  623,  621,  626,  627,  613,
1680       618,  628,  616,  621,  619,  618,  620,  625,  622,  617,
1681       634,  624,  621,  624,  622,  636,  623,  631,  626,  628,
1682       629,  625,  630,  621,  626,  634,  627,  638,  628,  635,
1683       646,  629,  860,  630,  859,  631,  638,  634,  624,  636,
1684       639,  640,  636,  640,  631,  645,  639,  629,  643,  630,
1685       642,  635,  642,  642,  638,  643,  635,  637,  637,  637,
1686 
1687       637,  637,  644,  646,  647,  653,  648,  639,  640,  650,
1688       644,  647,  648,  645,  652,  643,  655,  660,  666,  653,
1689       656,  665,  657,  856,  661,  663,  840,  820,  673,  644,
1690       637,  647,  653,  648,  650,  667,  650,  667,  652,  666,
1691       668,  652,  661,  675,  655,  666,  656,  656,  657,  657,
1692       660,  661,  669,  663,  665,  672,  668,  670,  816,  671,
1693       672,  673,  667,  674,  676,  669,  671,  668,  678,  675,
1694       675,  676,  674,  677,  679,  677,  681,  678,  680,  669,
1695       684,  670,  682,  679,  670,  680,  671,  685,  672,  683,
1696       674,  676,  686,  688,  689,  678,  691,  802,  687,  690,
1697 
1698       677,  679,  683,  691,  681,  680,  687,  682,  686,  682,
1699       685,  690,  689,  684,  685,  688,  683,  693,  788,  686,
1700       688,  689,  695,  691,  694,  687,  690,  696,  697,  699,
1701       698,  695,  698,  700,  701,  696,  697,  699,  702,  703,
1702       705,  701,  706,  704,  712,  693,  708,  694,  705,  695,
1703       704,  694,  700,  707,  696,  697,  699,  698,  703,  708,
1704       700,  701,  707,  709,  706,  710,  703,  705,  711,  706,
1705       704,  702,  712,  708,  710,  713,  714,  717,  716,  718,
1706       707,  720,  713,  719,  721,  714,  717,  709,  718,  711,
1707       709,  716,  710,  721,  723,  711,  722,  719,  725,  720,
1708 
1709       724,  723,  713,  714,  717,  716,  718,  722,  720,  726,
1710       719,  721,  727,  724,  729,  730,  732,  731,  736,  739,
1711       769,  723,  732,  722,  731,  733,  734,  724,  737,  758,
1712       738,  725,  745,  743,  739,  741,  749,  746,  729,  736,
1713       727,  729,  726,  732,  731,  736,  739,  733,  730,  734,
1714       738,  737,  733,  734,  738,  737,  741,  738,  742,  746,
1715       742,  743,  741,  744,  746,  745,  747,  754,  748,  750,
1716       750,  751,  752,  762,  759,  740,  755,  738,  751,  748,
1717       753,  744,  756,  755,  757,  742,  757,  761,  763,  759,
1718       744,  770,  735,  728,  747,  748,  750,  752,  751,  752,
1719 
1720       754,  759,  753,  755,  756,  760,  762,  753,  764,  756,
1721       763,  757,  760,  761,  761,  763,  765,  767,  766,  770,
1722       768,  772,  773,  715,  765,  766,  764,  768,  771,  774,
1723       767,  776,  760,  775,  777,  764,  779,  774,  786,  772,
1724       773,  780,  692,  765,  767,  766,  778,  768,  772,  773,
1725       771,  781,  777,  778,  782,  771,  774,  775,  787,  780,
1726       775,  777,  781,  782,  776,  783,  786,  783,  780,  779,
1727       784,  785,  790,  778,  789,  791,  796,  784,  781,  787,
1728       792,  782,  785,  789,  793,  787,  794,  795,  797,  798,
1729       664,  662,  783,  805,  797,  795,  800,  784,  785,  808,
1730 
1731       790,  789,  792,  791,  794,  799,  793,  792,  803,  796,
1732       659,  793,  799,  794,  795,  797,  801,  800,  804,  801,
1733       803,  805,  798,  800,  806,  807,  809,  808,  810,  811,
1734       804,  815,  799,  812,  658,  803,  654,  806,  814,  818,
1735       813,  817,  812,  801,  819,  804,  821,  809,  811,  823,
1736       821,  806,  818,  809,  651,  827,  811,  822,  807,  815,
1737       812,  810,  813,  817,  814,  814,  818,  813,  817,  822,
1738       824,  819,  825,  821,  826,  829,  649,  641,  830,  828,
1739       831,  825,  823,  827,  822,  824,  828,  832,  852,  834,
1740       835,  833,  836,  832,  838,  826,  834,  824,  831,  825,
1741 
1742       830,  826,  835,  829,  833,  830,  828,  831,  837,  833,
1743       837,  839,  841,  844,  832,  853,  834,  835,  833,  845,
1744       836,  852,  838,  842,  842,  841,  843,  843,  844,  846,
1745       847,  833,  855,  839,  848,  837,  846,  845,  839,  841,
1746       844,  849,  851,  853,  847,  850,  845,  866,  849,  854,
1747       842,  857,  848,  843,  851,  858,  846,  847,  861,  850,
1748       862,  848,  867,  863,  868,  855,  865,  858,  849,  851,
1749       863,  854,  850,  857,  865,  870,  854,  864,  857,  861,
1750       866,  862,  858,  867,  864,  861,  874,  862,  869,  867,
1751       863,  871,  868,  865,  872,  879,  870,  871,  877,  872,
1752 
1753       633,  881,  870,  875,  864,  878,  869,  875,  875,  874,
1754       880,  882,  878,  874,  884,  869,  877,  879,  871,  875,
1755       885,  872,  879,  887,  632,  877,  882,  888,  880,  881,
1756       875,  889,  878,  890,  875,  875,  891,  880,  882,  894,
1757       888,  892,  884,  896,  894,  901,  885,  885,  900,  897,
1758       899,  887,  889,  902,  888,  890,  897,  891,  889,  892,
1759       890,  608,  898,  891,  904,  981,  902,  911,  892,  898,
1760       900,  896,  894,  899,  906,  900,  897,  899,  901,  907,
1761       902,  908,  909,  906,  910,  911,  907,  912,  913,  898,
1762       916,  920,  904,  914,  911,  915,  910,  918,  981,  607,
1763 
1764       920,  906,  926,  908,  909,  912,  907,  914,  908,  909,
1765       913,  910,  916,  915,  912,  913,  917,  916,  920,  921,
1766       914,  918,  915,  922,  918,  923,  924,  925,  933,  917,
1767       926,  927,  922,  921,  929,  601,  927,  933,  928,  930,
1768       923,  935,  591,  917,  924,  925,  921,  932,  937,  938,
1769       922,  941,  923,  924,  925,  933,  928,  930,  934,  939,
1770       929,  929,  932,  935,  927,  928,  930,  936,  935,  941,
1771       937,  934,  942,  938,  932,  937,  938,  940,  941,  947,
1772       943,  939,  936,  945,  952,  934,  939,  943,  953,  949,
1773       940,  949,  949,  947,  936,  951,  942,  954,  945,  942,
1774 
1775       955,  959,  952,  959,  940,  956,  947,  943,  961,  962,
1776       945,  952,  960,  589,  963,  955,  953,  951,  962,  964,
1777       564,  966,  951,  954,  954,  963,  956,  955,  959,  967,
1778       961,  960,  956,  968,  966,  961,  962,  969,  971,  960,
1779       970,  963,  972,  973,  553,  975,  974,  964,  966,  976,
1780       548,  978,  547,  979,  977,  980,  972,  967,  982,  975,
1781       970,  968,  977,  980,  989,  969,  971,  970,  974,  972,
1782       978,  973,  975,  974,  979,  990,  983,  976,  978,  983,
1783       979,  977,  980,  986,  984,  989,  982,  984,  988,  988,
1784       990,  989,  986,  993,  991,  992,  529,  994,  998,  528,
1785 
1786       993,  997,  990,  983,  995,  996,  994,  996, 1005,  997,
1787       986,  984,  998, 1000, 1001,  988,  991,  999, 1003, 1006,
1788       993,  991, 1011,  992,  994,  998,  995, 1000,  997, 1002,
1789      1001,  995,  996, 1004, 1006,  999, 1005, 1008, 1012, 1010,
1790      1000, 1001, 1017, 1003,  999, 1003, 1006, 1009,  518, 1013,
1791      1011, 1002, 1015, 1021, 1025, 1004, 1002, 1010, 1023, 1014,
1792      1004, 1008, 1013,  507, 1008, 1026, 1010, 1014, 1028, 1009,
1793      1017, 1012, 1029, 1034, 1009, 1030, 1013, 1036, 1015, 1015,
1794      1023, 1021, 1025, 1031, 1035, 1023, 1014, 1026, 1032, 1037,
1795      1028, 1031, 1026, 1038, 1029, 1028, 1032, 1039, 1040, 1029,
1796 
1797      1042, 1030, 1030, 1036, 1036, 1044, 1034, 1046, 1043, 1045,
1798      1031, 1037, 1047, 1050, 1038, 1032, 1037, 1035, 1046, 1039,
1799      1038, 1049, 1055, 1048, 1039, 1051, 1040, 1053, 1042, 1043,
1800      1048, 1052, 1056, 1044, 1046, 1043, 1057, 1045, 1066, 1068,
1801      1047, 1050,  476, 1049, 1055, 1058, 1060, 1060, 1049, 1055,
1802      1048, 1062, 1072, 1051, 1056, 1053, 1060, 1052, 1052, 1056,
1803      1058, 1061, 1070, 1063, 1057, 1073, 1066, 1068, 1061, 1062,
1804      1063, 1069, 1058, 1060, 1060, 1071, 1074, 1076, 1062, 1069,
1805      1072, 1075, 1077, 1073, 1076, 1079, 1070, 1078, 1061, 1070,
1806      1063, 1074, 1073,  457, 1082, 1085, 1075, 1096, 1069, 1071,
1807 
1808      1088, 1091, 1071, 1074, 1076, 1078, 1093, 1094, 1075, 1082,
1809      1077, 1098, 1088, 1079, 1078, 1087, 1097, 1087, 1099, 1096,
1810      1100, 1082, 1097, 1085, 1096, 1091, 1104, 1088, 1091, 1101,
1811      1105, 1106, 1100, 1098, 1093, 1094, 1099, 1109, 1098, 1108,
1812      1108, 1110, 1087, 1097, 1117, 1099, 1105, 1100, 1101, 1111,
1813      1115, 1119, 1113, 1106, 1104, 1118, 1101, 1105, 1106, 1109,
1814      1122, 1118, 1115, 1110, 1109, 1113, 1108, 1119, 1110, 1123,
1815      1126, 1111, 1117, 1124, 1127, 1129, 1111, 1115, 1119, 1113,
1816      1125, 1124, 1118, 1126, 1130,  455, 1131, 1125, 1122, 1134,
1817       452, 1123, 1132, 1133, 1136, 1139, 1123, 1126, 1136, 1135,
1818 
1819      1124, 1141, 1127, 1129, 1134, 1132, 1133, 1125, 1131, 1144,
1820      1141, 1138, 1130, 1131, 1142, 1148, 1134, 1135, 1138, 1132,
1821      1133, 1136, 1143, 1139, 1143, 1142, 1135, 1149, 1141, 1152,
1822      1150, 1153, 1167, 1151, 1154, 1158, 1152, 1144, 1138, 1163,
1823      1156, 1142, 1156, 1148, 1186, 1161, 1157, 1149, 1162, 1143,
1824      1150, 1151, 1161, 1163, 1149, 1162, 1152, 1150, 1157, 1153,
1825      1151, 1168, 1154, 1158, 1170, 1167, 1163, 1156, 1164, 1172,
1826      1164, 1171, 1161, 1157, 1168, 1162, 1173, 1186, 1174, 1176,
1827       436, 1175, 1177, 1170, 1180,  411, 1178, 1172, 1168, 1175,
1828      1171, 1170, 1174, 1178, 1181, 1164, 1172, 1184, 1171, 1192,
1829 
1830      1189, 1185,  410, 1190, 1173, 1174, 1180, 1176, 1175, 1185,
1831      1177, 1180, 1188, 1178, 1189, 1191, 1181, 1197, 1194, 1192,
1832      1188, 1181,  409, 1193, 1195, 1184, 1192, 1189, 1185, 1190,
1833      1190, 1193, 1195, 1196, 1198,  399, 1199, 1191, 1203, 1188,
1834      1194, 1196, 1191, 1197, 1197, 1194, 1201, 1202,  307,  273,
1835      1193, 1195,  269,  267,  195, 1202, 1199,  170,  161,  106,
1836      1196,  105, 1198, 1199,  103,  101, 1203,   49, 1201,   45,
1837        41,   40,   35, 1201, 1202, 1206, 1206, 1206, 1206, 1207,
1838      1207, 1207, 1207, 1208, 1208, 1208, 1208, 1210, 1210,   10,
1839      1210, 1211, 1211, 1213, 1213, 1214, 1214,    9, 1214, 1205,
1840 
1841      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1842      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1843      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1844      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1845      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1846      1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1847      1205, 1205, 1205, 1205, 1205, 1205
1848     } ;
1849 
1850 static yy_state_type yy_last_accepting_state;
1851 static char *yy_last_accepting_cpos;
1852 
1853 extern int yy_flex_debug;
1854 int yy_flex_debug = 0;
1855 
1856 /* The intent behind this definition is that it'll catch
1857  * any uses of REJECT which flex missed.
1858  */
1859 #define REJECT reject_used_but_not_detected
1860 static int yy_more_flag = 0;
1861 static int yy_more_len = 0;
1862 #define yymore() ((yy_more_flag) = 1)
1863 #define YY_MORE_ADJ (yy_more_len)
1864 #define YY_RESTORE_YY_MORE_OFFSET
1865 char *yytext;
1866 #line 1 "configlexer.lex"
1867 #line 2 "configlexer.lex"
1868 /*
1869  * configlexer.lex - lexical analyzer for NSD config file
1870  *
1871  * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
1872  *
1873  * See LICENSE for the license.
1874  *
1875  */
1876 /* because flex keeps having sign-unsigned compare problems that are unfixed*/
1877 #if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2))))
1878 #pragma GCC diagnostic ignored "-Wsign-compare"
1879 #endif
1880 #include <ctype.h>
1881 #include <errno.h>
1882 #include <string.h>
1883 #include <strings.h>
1884 #ifdef HAVE_GLOB_H
1885 # include <glob.h>
1886 #endif
1887 
1888 #include "options.h"
1889 #include "configparser.h"
1890 
1891 #if 0
1892 #define LEXOUT(s)  printf s /* used ONLY when debugging */
1893 #else
1894 #define LEXOUT(s)
1895 #endif
1896 
1897 struct inc_state {
1898 	char* filename;
1899 	int line;
1900 	YY_BUFFER_STATE buffer;
1901 	struct inc_state* next;
1902 };
1903 static struct inc_state* config_include_stack = NULL;
1904 static int inc_depth = 0;
1905 
config_start_include(const char * filename)1906 static void config_start_include(const char* filename)
1907 {
1908 	FILE *input;
1909 	struct inc_state* s;
1910 	char* nm;
1911 	if(inc_depth++ > 10000000) {
1912 		c_error("too many include files");
1913 		return;
1914 	}
1915 	if(strlen(filename) == 0) {
1916 		c_error("empty include file name");
1917 		return;
1918 	}
1919 	s = (struct inc_state*)malloc(sizeof(*s));
1920 	if(!s) {
1921 		c_error("include %s: malloc failure", filename);
1922 		return;
1923 	}
1924 	nm = strdup(filename);
1925 	if(!nm) {
1926 		c_error("include %s: strdup failure", filename);
1927 		free(s);
1928 		return;
1929 	}
1930 	input = fopen(filename, "r");
1931 	if(!input) {
1932 		c_error("cannot open include file '%s': %s",
1933 			filename, strerror(errno));
1934 		free(s);
1935 		free(nm);
1936 		return;
1937 	}
1938 	LEXOUT(("switch_to_include_file(%s) ", filename));
1939 	s->filename = cfg_parser->filename;
1940 	s->line = cfg_parser->line;
1941 	s->buffer = YY_CURRENT_BUFFER;
1942 	s->next = config_include_stack;
1943 	config_include_stack = s;
1944 
1945 	cfg_parser->filename = nm;
1946 	cfg_parser->line = 1;
1947 	yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE));
1948 }
1949 
config_start_include_glob(const char * filename)1950 static void config_start_include_glob(const char* filename)
1951 {
1952 	/* check for wildcards */
1953 #ifdef HAVE_GLOB
1954 	glob_t g;
1955 	int i, r, flags;
1956 #endif /* HAVE_GLOB */
1957 	if (cfg_parser->chroot) {
1958 		int l = strlen(cfg_parser->chroot); /* chroot has trailing slash */
1959 		if (strncmp(cfg_parser->chroot, filename, l) != 0) {
1960 			c_error("include file '%s' is not relative to chroot '%s'",
1961 				filename, cfg_parser->chroot);
1962 			return;
1963 		}
1964 		filename += l - 1; /* strip chroot without trailing slash */
1965 	}
1966 #ifdef HAVE_GLOB
1967 	if(!(!strchr(filename, '*') && !strchr(filename, '?') &&
1968 		 !strchr(filename, '[') && !strchr(filename, '{') &&
1969 		 !strchr(filename, '~'))) {
1970 		 flags = 0
1971 #ifdef GLOB_ERR
1972 		 	 | GLOB_ERR
1973 #endif
1974 			 /* do not set GLOB_NOSORT so the results are sorted
1975 			    and in a predictable order. */
1976 #ifdef GLOB_BRACE
1977 			 | GLOB_BRACE
1978 #endif
1979 #ifdef GLOB_TILDE
1980 			 | GLOB_TILDE
1981 #endif
1982 		;
1983 		memset(&g, 0, sizeof(g));
1984 		r = glob(filename, flags, NULL, &g);
1985 		if(r) {
1986 			/* some error */
1987 			globfree(&g);
1988 			if(r == GLOB_NOMATCH)
1989 				return; /* no matches for pattern */
1990 			config_start_include(filename); /* let original deal with it */
1991 			return;
1992 		}
1993 		/* process files found, if any */
1994 		for(i=(int)g.gl_pathc-1; i>=0; i--) {
1995 			config_start_include(g.gl_pathv[i]);
1996 		}
1997 		globfree(&g);
1998 		return;
1999 	}
2000 #endif /* HAVE_GLOB */
2001 	config_start_include(filename);
2002 }
2003 
config_end_include(void)2004 static void config_end_include(void)
2005 {
2006 	struct inc_state* s = config_include_stack;
2007 	--inc_depth;
2008 	if(!s) return;
2009 	free(cfg_parser->filename);
2010 	cfg_parser->filename = s->filename;
2011 	cfg_parser->line = s->line;
2012 	yy_delete_buffer(YY_CURRENT_BUFFER);
2013 	yy_switch_to_buffer(s->buffer);
2014 	config_include_stack = s->next;
2015 	free(s);
2016 }
2017 
2018 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
2019 #define yy_set_bol(at_bol) \
2020         { \
2021 	        if ( ! yy_current_buffer ) \
2022 	                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
2023 	        yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
2024         }
2025 #endif
2026 
2027 #line 2026 "<stdout>"
2028 #define YY_NO_INPUT 1
2029 #line 165 "configlexer.lex"
2030 #ifndef YY_NO_UNPUT
2031 #define YY_NO_UNPUT 1
2032 #endif
2033 #ifndef YY_NO_INPUT
2034 #define YY_NO_INPUT 1
2035 #endif
2036 #line 2035 "<stdout>"
2037 
2038 #line 2037 "<stdout>"
2039 
2040 #define INITIAL 0
2041 #define quotedstring 1
2042 #define include 2
2043 #define include_quoted 3
2044 
2045 #ifndef YY_NO_UNISTD_H
2046 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2047  * down here because we want the user's section 1 to have been scanned first.
2048  * The user has a chance to override it with an option.
2049  */
2050 #include <unistd.h>
2051 #endif
2052 
2053 #ifndef YY_EXTRA_TYPE
2054 #define YY_EXTRA_TYPE void *
2055 #endif
2056 
2057 static int yy_init_globals ( void );
2058 
2059 /* Accessor methods to globals.
2060    These are made visible to non-reentrant scanners for convenience. */
2061 
2062 int yylex_destroy ( void );
2063 
2064 int yyget_debug ( void );
2065 
2066 void yyset_debug ( int debug_flag  );
2067 
2068 YY_EXTRA_TYPE yyget_extra ( void );
2069 
2070 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2071 
2072 FILE *yyget_in ( void );
2073 
2074 void yyset_in  ( FILE * _in_str  );
2075 
2076 FILE *yyget_out ( void );
2077 
2078 void yyset_out  ( FILE * _out_str  );
2079 
2080 			int yyget_leng ( void );
2081 
2082 char *yyget_text ( void );
2083 
2084 int yyget_lineno ( void );
2085 
2086 void yyset_lineno ( int _line_number  );
2087 
2088 /* Macros after this point can all be overridden by user definitions in
2089  * section 1.
2090  */
2091 
2092 #ifndef YY_SKIP_YYWRAP
2093 #ifdef __cplusplus
2094 extern "C" int yywrap ( void );
2095 #else
2096 extern int yywrap ( void );
2097 #endif
2098 #endif
2099 
2100 #ifndef YY_NO_UNPUT
2101 
2102 #endif
2103 
2104 #ifndef yytext_ptr
2105 static void yy_flex_strncpy ( char *, const char *, int );
2106 #endif
2107 
2108 #ifdef YY_NEED_STRLEN
2109 static int yy_flex_strlen ( const char * );
2110 #endif
2111 
2112 #ifndef YY_NO_INPUT
2113 #ifdef __cplusplus
2114 static int yyinput ( void );
2115 #else
2116 static int input ( void );
2117 #endif
2118 
2119 #endif
2120 
2121 /* Amount of stuff to slurp up with each read. */
2122 #ifndef YY_READ_BUF_SIZE
2123 #ifdef __ia64__
2124 /* On IA-64, the buffer size is 16k, not 8k */
2125 #define YY_READ_BUF_SIZE 16384
2126 #else
2127 #define YY_READ_BUF_SIZE 8192
2128 #endif /* __ia64__ */
2129 #endif
2130 
2131 /* Copy whatever the last rule matched to the standard output. */
2132 #ifndef ECHO
2133 /* This used to be an fputs(), but since the string might contain NUL's,
2134  * we now use fwrite().
2135  */
2136 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2137 #endif
2138 
2139 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2140  * is returned in "result".
2141  */
2142 #ifndef YY_INPUT
2143 #define YY_INPUT(buf,result,max_size) \
2144 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2145 		{ \
2146 		int c = '*'; \
2147 		int n; \
2148 		for ( n = 0; n < max_size && \
2149 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2150 			buf[n] = (char) c; \
2151 		if ( c == '\n' ) \
2152 			buf[n++] = (char) c; \
2153 		if ( c == EOF && ferror( yyin ) ) \
2154 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
2155 		result = n; \
2156 		} \
2157 	else \
2158 		{ \
2159 		errno=0; \
2160 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2161 			{ \
2162 			if( errno != EINTR) \
2163 				{ \
2164 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2165 				break; \
2166 				} \
2167 			errno=0; \
2168 			clearerr(yyin); \
2169 			} \
2170 		}\
2171 \
2172 
2173 #endif
2174 
2175 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2176  * we don't want an extra ';' after the "return" because that will cause
2177  * some compilers to complain about unreachable statements.
2178  */
2179 #ifndef yyterminate
2180 #define yyterminate() return YY_NULL
2181 #endif
2182 
2183 /* Number of entries by which start-condition stack grows. */
2184 #ifndef YY_START_STACK_INCR
2185 #define YY_START_STACK_INCR 25
2186 #endif
2187 
2188 /* Report a fatal error. */
2189 #ifndef YY_FATAL_ERROR
2190 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2191 #endif
2192 
2193 /* end tables serialization structures and prototypes */
2194 
2195 /* Default declaration of generated scanner - a define so the user can
2196  * easily add parameters.
2197  */
2198 #ifndef YY_DECL
2199 #define YY_DECL_IS_OURS 1
2200 
2201 extern int yylex (void);
2202 
2203 #define YY_DECL int yylex (void)
2204 #endif /* !YY_DECL */
2205 
2206 /* Code executed at the beginning of each rule, after yytext and yyleng
2207  * have been set up.
2208  */
2209 #ifndef YY_USER_ACTION
2210 #define YY_USER_ACTION
2211 #endif
2212 
2213 /* Code executed at the end of each rule. */
2214 #ifndef YY_BREAK
2215 #define YY_BREAK /*LINTED*/break;
2216 #endif
2217 
2218 #define YY_RULE_SETUP \
2219 	YY_USER_ACTION
2220 
2221 /** The main scanner function which does all the work.
2222  */
2223 YY_DECL
2224 {
2225 	yy_state_type yy_current_state;
2226 	char *yy_cp, *yy_bp;
2227 	int yy_act;
2228 
2229 	if ( !(yy_init) )
2230 		{
2231 		(yy_init) = 1;
2232 
2233 #ifdef YY_USER_INIT
2234 		YY_USER_INIT;
2235 #endif
2236 
2237 		if ( ! (yy_start) )
2238 			(yy_start) = 1;	/* first start state */
2239 
2240 		if ( ! yyin )
2241 			yyin = stdin;
2242 
2243 		if ( ! yyout )
2244 			yyout = stdout;
2245 
2246 		if ( ! YY_CURRENT_BUFFER ) {
2247 			yyensure_buffer_stack ();
2248 			YY_CURRENT_BUFFER_LVALUE =
2249 				yy_create_buffer( yyin, YY_BUF_SIZE );
2250 		}
2251 
2252 		yy_load_buffer_state(  );
2253 		}
2254 
2255 	{
2256 #line 183 "configlexer.lex"
2257 
2258 #line 2257 "<stdout>"
2259 
2260 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2261 		{
2262 		(yy_more_len) = 0;
2263 		if ( (yy_more_flag) )
2264 			{
2265 			(yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
2266 			(yy_more_flag) = 0;
2267 			}
2268 		yy_cp = (yy_c_buf_p);
2269 
2270 		/* Support of yytext. */
2271 		*yy_cp = (yy_hold_char);
2272 
2273 		/* yy_bp points to the position in yy_ch_buf of the start of
2274 		 * the current run.
2275 		 */
2276 		yy_bp = yy_cp;
2277 
2278 		yy_current_state = (yy_start);
2279 yy_match:
2280 		do
2281 			{
2282 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2283 			if ( yy_accept[yy_current_state] )
2284 				{
2285 				(yy_last_accepting_state) = yy_current_state;
2286 				(yy_last_accepting_cpos) = yy_cp;
2287 				}
2288 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2289 				{
2290 				yy_current_state = (int) yy_def[yy_current_state];
2291 				if ( yy_current_state >= 1206 )
2292 					yy_c = yy_meta[yy_c];
2293 				}
2294 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2295 			++yy_cp;
2296 			}
2297 		while ( yy_base[yy_current_state] != 3400 );
2298 
2299 yy_find_action:
2300 		yy_act = yy_accept[yy_current_state];
2301 		if ( yy_act == 0 )
2302 			{ /* have to back up */
2303 			yy_cp = (yy_last_accepting_cpos);
2304 			yy_current_state = (yy_last_accepting_state);
2305 			yy_act = yy_accept[yy_current_state];
2306 			}
2307 
2308 		YY_DO_BEFORE_ACTION;
2309 
2310 do_action:	/* This label is used only to access EOF actions. */
2311 
2312 		switch ( yy_act )
2313 	{ /* beginning of action switch */
2314 			case 0: /* must back up */
2315 			/* undo the effects of YY_DO_BEFORE_ACTION */
2316 			*yy_cp = (yy_hold_char);
2317 			yy_cp = (yy_last_accepting_cpos);
2318 			yy_current_state = (yy_last_accepting_state);
2319 			goto yy_find_action;
2320 
2321 case 1:
2322 YY_RULE_SETUP
2323 #line 184 "configlexer.lex"
2324 { LEXOUT(("SP ")); /* ignore */ }
2325 	YY_BREAK
2326 case 2:
2327 YY_RULE_SETUP
2328 #line 185 "configlexer.lex"
2329 { LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
2330 	YY_BREAK
2331 case 3:
2332 YY_RULE_SETUP
2333 #line 186 "configlexer.lex"
2334 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER;}
2335 	YY_BREAK
2336 case 4:
2337 YY_RULE_SETUP
2338 #line 187 "configlexer.lex"
2339 { LEXOUT(("v(%s) ", yytext)); return VAR_NAME;}
2340 	YY_BREAK
2341 case 5:
2342 YY_RULE_SETUP
2343 #line 188 "configlexer.lex"
2344 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_ADDRESS;}
2345 	YY_BREAK
2346 case 6:
2347 YY_RULE_SETUP
2348 #line 189 "configlexer.lex"
2349 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_ADDRESS;}
2350 	YY_BREAK
2351 case 7:
2352 YY_RULE_SETUP
2353 #line 190 "configlexer.lex"
2354 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_TRANSPARENT;}
2355 	YY_BREAK
2356 case 8:
2357 YY_RULE_SETUP
2358 #line 191 "configlexer.lex"
2359 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_FREEBIND;}
2360 	YY_BREAK
2361 case 9:
2362 YY_RULE_SETUP
2363 #line 192 "configlexer.lex"
2364 { LEXOUT(("v(%s) ", yytext)); return VAR_SEND_BUFFER_SIZE;}
2365 	YY_BREAK
2366 case 10:
2367 YY_RULE_SETUP
2368 #line 193 "configlexer.lex"
2369 { LEXOUT(("v(%s) ", yytext)); return VAR_RECEIVE_BUFFER_SIZE;}
2370 	YY_BREAK
2371 case 11:
2372 YY_RULE_SETUP
2373 #line 194 "configlexer.lex"
2374 { LEXOUT(("v(%s) ", yytext)); return VAR_DEBUG_MODE;}
2375 	YY_BREAK
2376 case 12:
2377 YY_RULE_SETUP
2378 #line 195 "configlexer.lex"
2379 { LEXOUT(("v(%s) ", yytext)); return VAR_USE_SYSTEMD;}
2380 	YY_BREAK
2381 case 13:
2382 YY_RULE_SETUP
2383 #line 196 "configlexer.lex"
2384 { LEXOUT(("v(%s) ", yytext)); return VAR_HIDE_VERSION;}
2385 	YY_BREAK
2386 case 14:
2387 YY_RULE_SETUP
2388 #line 197 "configlexer.lex"
2389 { LEXOUT(("v(%s) ", yytext)); return VAR_HIDE_IDENTITY;}
2390 	YY_BREAK
2391 case 15:
2392 YY_RULE_SETUP
2393 #line 198 "configlexer.lex"
2394 { LEXOUT(("v(%s) ", yytext)); return VAR_DROP_UPDATES; }
2395 	YY_BREAK
2396 case 16:
2397 YY_RULE_SETUP
2398 #line 199 "configlexer.lex"
2399 { LEXOUT(("v(%s) ", yytext)); return VAR_IP4_ONLY;}
2400 	YY_BREAK
2401 case 17:
2402 YY_RULE_SETUP
2403 #line 200 "configlexer.lex"
2404 { LEXOUT(("v(%s) ", yytext)); return VAR_IP6_ONLY;}
2405 	YY_BREAK
2406 case 18:
2407 YY_RULE_SETUP
2408 #line 201 "configlexer.lex"
2409 { LEXOUT(("v(%s) ", yytext)); return VAR_DO_IP4;}
2410 	YY_BREAK
2411 case 19:
2412 YY_RULE_SETUP
2413 #line 202 "configlexer.lex"
2414 { LEXOUT(("v(%s) ", yytext)); return VAR_DO_IP6;}
2415 	YY_BREAK
2416 case 20:
2417 YY_RULE_SETUP
2418 #line 203 "configlexer.lex"
2419 { LEXOUT(("v(%s) ", yytext)); return VAR_DATABASE;}
2420 	YY_BREAK
2421 case 21:
2422 YY_RULE_SETUP
2423 #line 204 "configlexer.lex"
2424 { LEXOUT(("v(%s) ", yytext)); return VAR_IDENTITY;}
2425 	YY_BREAK
2426 case 22:
2427 YY_RULE_SETUP
2428 #line 205 "configlexer.lex"
2429 { LEXOUT(("v(%s) ", yytext)); return VAR_VERSION;}
2430 	YY_BREAK
2431 case 23:
2432 YY_RULE_SETUP
2433 #line 206 "configlexer.lex"
2434 { LEXOUT(("v(%s) ", yytext)); return VAR_NSID;}
2435 	YY_BREAK
2436 case 24:
2437 YY_RULE_SETUP
2438 #line 207 "configlexer.lex"
2439 { LEXOUT(("v(%s) ", yytext)); return VAR_LOGFILE;}
2440 	YY_BREAK
2441 case 25:
2442 YY_RULE_SETUP
2443 #line 208 "configlexer.lex"
2444 { LEXOUT(("v(%s) ", yytext)); return VAR_LOG_ONLY_SYSLOG;}
2445 	YY_BREAK
2446 case 26:
2447 YY_RULE_SETUP
2448 #line 209 "configlexer.lex"
2449 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_COUNT;}
2450 	YY_BREAK
2451 case 27:
2452 YY_RULE_SETUP
2453 #line 210 "configlexer.lex"
2454 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_COUNT;}
2455 	YY_BREAK
2456 case 28:
2457 YY_RULE_SETUP
2458 #line 211 "configlexer.lex"
2459 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_REJECT_OVERFLOW;}
2460 	YY_BREAK
2461 case 29:
2462 YY_RULE_SETUP
2463 #line 212 "configlexer.lex"
2464 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_QUERY_COUNT;}
2465 	YY_BREAK
2466 case 30:
2467 YY_RULE_SETUP
2468 #line 213 "configlexer.lex"
2469 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_TIMEOUT;}
2470 	YY_BREAK
2471 case 31:
2472 YY_RULE_SETUP
2473 #line 214 "configlexer.lex"
2474 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_MSS;}
2475 	YY_BREAK
2476 case 32:
2477 YY_RULE_SETUP
2478 #line 215 "configlexer.lex"
2479 { LEXOUT(("v(%s) ", yytext)); return VAR_OUTGOING_TCP_MSS;}
2480 	YY_BREAK
2481 case 33:
2482 YY_RULE_SETUP
2483 #line 216 "configlexer.lex"
2484 { LEXOUT(("v(%s) ", yytext)); return VAR_IPV4_EDNS_SIZE;}
2485 	YY_BREAK
2486 case 34:
2487 YY_RULE_SETUP
2488 #line 217 "configlexer.lex"
2489 { LEXOUT(("v(%s) ", yytext)); return VAR_IPV6_EDNS_SIZE;}
2490 	YY_BREAK
2491 case 35:
2492 YY_RULE_SETUP
2493 #line 218 "configlexer.lex"
2494 { LEXOUT(("v(%s) ", yytext)); return VAR_PIDFILE;}
2495 	YY_BREAK
2496 case 36:
2497 YY_RULE_SETUP
2498 #line 219 "configlexer.lex"
2499 { LEXOUT(("v(%s) ", yytext)); return VAR_PORT;}
2500 	YY_BREAK
2501 case 37:
2502 YY_RULE_SETUP
2503 #line 220 "configlexer.lex"
2504 { LEXOUT(("v(%s) ", yytext)); return VAR_REUSEPORT;}
2505 	YY_BREAK
2506 case 38:
2507 YY_RULE_SETUP
2508 #line 221 "configlexer.lex"
2509 { LEXOUT(("v(%s) ", yytext)); return VAR_STATISTICS;}
2510 	YY_BREAK
2511 case 39:
2512 YY_RULE_SETUP
2513 #line 222 "configlexer.lex"
2514 { LEXOUT(("v(%s) ", yytext)); return VAR_CHROOT;}
2515 	YY_BREAK
2516 case 40:
2517 YY_RULE_SETUP
2518 #line 223 "configlexer.lex"
2519 { LEXOUT(("v(%s) ", yytext)); return VAR_USERNAME;}
2520 	YY_BREAK
2521 case 41:
2522 YY_RULE_SETUP
2523 #line 224 "configlexer.lex"
2524 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONESDIR;}
2525 	YY_BREAK
2526 case 42:
2527 YY_RULE_SETUP
2528 #line 225 "configlexer.lex"
2529 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONELISTFILE;}
2530 	YY_BREAK
2531 case 43:
2532 YY_RULE_SETUP
2533 #line 226 "configlexer.lex"
2534 { LEXOUT(("v(%s) ", yytext)); return VAR_DIFFFILE;}
2535 	YY_BREAK
2536 case 44:
2537 YY_RULE_SETUP
2538 #line 227 "configlexer.lex"
2539 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRDFILE;}
2540 	YY_BREAK
2541 case 45:
2542 YY_RULE_SETUP
2543 #line 228 "configlexer.lex"
2544 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRDIR;}
2545 	YY_BREAK
2546 case 46:
2547 YY_RULE_SETUP
2548 #line 229 "configlexer.lex"
2549 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_RELOAD_TIMEOUT;}
2550 	YY_BREAK
2551 case 47:
2552 YY_RULE_SETUP
2553 #line 230 "configlexer.lex"
2554 { LEXOUT(("v(%s) ", yytext)); return VAR_VERBOSITY;}
2555 	YY_BREAK
2556 case 48:
2557 YY_RULE_SETUP
2558 #line 231 "configlexer.lex"
2559 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONE;}
2560 	YY_BREAK
2561 case 49:
2562 YY_RULE_SETUP
2563 #line 232 "configlexer.lex"
2564 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILE;}
2565 	YY_BREAK
2566 case 50:
2567 YY_RULE_SETUP
2568 #line 233 "configlexer.lex"
2569 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONESTATS;}
2570 	YY_BREAK
2571 case 51:
2572 YY_RULE_SETUP
2573 #line 234 "configlexer.lex"
2574 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_NOTIFY;}
2575 	YY_BREAK
2576 case 52:
2577 YY_RULE_SETUP
2578 #line 235 "configlexer.lex"
2579 { LEXOUT(("v(%s) ", yytext)); return VAR_SIZE_LIMIT_XFR;}
2580 	YY_BREAK
2581 case 53:
2582 YY_RULE_SETUP
2583 #line 236 "configlexer.lex"
2584 { LEXOUT(("v(%s) ", yytext)); return VAR_REQUEST_XFR;}
2585 	YY_BREAK
2586 case 54:
2587 YY_RULE_SETUP
2588 #line 237 "configlexer.lex"
2589 { LEXOUT(("v(%s) ", yytext)); return VAR_NOTIFY;}
2590 	YY_BREAK
2591 case 55:
2592 YY_RULE_SETUP
2593 #line 238 "configlexer.lex"
2594 { LEXOUT(("v(%s) ", yytext)); return VAR_NOTIFY_RETRY;}
2595 	YY_BREAK
2596 case 56:
2597 YY_RULE_SETUP
2598 #line 239 "configlexer.lex"
2599 { LEXOUT(("v(%s) ", yytext)); return VAR_PROVIDE_XFR;}
2600 	YY_BREAK
2601 case 57:
2602 YY_RULE_SETUP
2603 #line 240 "configlexer.lex"
2604 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_QUERY;}
2605 	YY_BREAK
2606 case 58:
2607 YY_RULE_SETUP
2608 #line 241 "configlexer.lex"
2609 { LEXOUT(("v(%s) ", yytext)); return VAR_OUTGOING_INTERFACE;}
2610 	YY_BREAK
2611 case 59:
2612 YY_RULE_SETUP
2613 #line 242 "configlexer.lex"
2614 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_AXFR_FALLBACK;}
2615 	YY_BREAK
2616 case 60:
2617 YY_RULE_SETUP
2618 #line 243 "configlexer.lex"
2619 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH;}
2620 	YY_BREAK
2621 case 61:
2622 YY_RULE_SETUP
2623 #line 244 "configlexer.lex"
2624 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_DOMAIN_NAME;}
2625 	YY_BREAK
2626 case 62:
2627 YY_RULE_SETUP
2628 #line 245 "configlexer.lex"
2629 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_CERT;}
2630 	YY_BREAK
2631 case 63:
2632 YY_RULE_SETUP
2633 #line 246 "configlexer.lex"
2634 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_KEY;}
2635 	YY_BREAK
2636 case 64:
2637 YY_RULE_SETUP
2638 #line 247 "configlexer.lex"
2639 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_KEY_PW;}
2640 	YY_BREAK
2641 case 65:
2642 YY_RULE_SETUP
2643 #line 248 "configlexer.lex"
2644 { LEXOUT(("v(%s) ", yytext)); return VAR_KEY;}
2645 	YY_BREAK
2646 case 66:
2647 YY_RULE_SETUP
2648 #line 249 "configlexer.lex"
2649 { LEXOUT(("v(%s) ", yytext)); return VAR_ALGORITHM;}
2650 	YY_BREAK
2651 case 67:
2652 YY_RULE_SETUP
2653 #line 250 "configlexer.lex"
2654 { LEXOUT(("v(%s) ", yytext)); return VAR_SECRET;}
2655 	YY_BREAK
2656 case 68:
2657 YY_RULE_SETUP
2658 #line 251 "configlexer.lex"
2659 { LEXOUT(("v(%s) ", yytext)); return VAR_PATTERN;}
2660 	YY_BREAK
2661 case 69:
2662 YY_RULE_SETUP
2663 #line 252 "configlexer.lex"
2664 { LEXOUT(("v(%s) ", yytext)); return VAR_INCLUDE_PATTERN;}
2665 	YY_BREAK
2666 case 70:
2667 YY_RULE_SETUP
2668 #line 253 "configlexer.lex"
2669 { LEXOUT(("v(%s) ", yytext)); return VAR_REMOTE_CONTROL;}
2670 	YY_BREAK
2671 case 71:
2672 YY_RULE_SETUP
2673 #line 254 "configlexer.lex"
2674 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_ENABLE;}
2675 	YY_BREAK
2676 case 72:
2677 YY_RULE_SETUP
2678 #line 255 "configlexer.lex"
2679 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_INTERFACE;}
2680 	YY_BREAK
2681 case 73:
2682 YY_RULE_SETUP
2683 #line 256 "configlexer.lex"
2684 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_PORT;}
2685 	YY_BREAK
2686 case 74:
2687 YY_RULE_SETUP
2688 #line 257 "configlexer.lex"
2689 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_KEY_FILE;}
2690 	YY_BREAK
2691 case 75:
2692 YY_RULE_SETUP
2693 #line 258 "configlexer.lex"
2694 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_CERT_FILE;}
2695 	YY_BREAK
2696 case 76:
2697 YY_RULE_SETUP
2698 #line 259 "configlexer.lex"
2699 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_KEY_FILE;}
2700 	YY_BREAK
2701 case 77:
2702 YY_RULE_SETUP
2703 #line 260 "configlexer.lex"
2704 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_CERT_FILE;}
2705 	YY_BREAK
2706 case 78:
2707 YY_RULE_SETUP
2708 #line 261 "configlexer.lex"
2709 { LEXOUT(("v(%s) ", yytext)); return VAR_AXFR;}
2710 	YY_BREAK
2711 case 79:
2712 YY_RULE_SETUP
2713 #line 262 "configlexer.lex"
2714 { LEXOUT(("v(%s) ", yytext)); return VAR_UDP;}
2715 	YY_BREAK
2716 case 80:
2717 YY_RULE_SETUP
2718 #line 263 "configlexer.lex"
2719 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_SIZE;}
2720 	YY_BREAK
2721 case 81:
2722 YY_RULE_SETUP
2723 #line 264 "configlexer.lex"
2724 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_RATELIMIT;}
2725 	YY_BREAK
2726 case 82:
2727 YY_RULE_SETUP
2728 #line 265 "configlexer.lex"
2729 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_SLIP;}
2730 	YY_BREAK
2731 case 83:
2732 YY_RULE_SETUP
2733 #line 266 "configlexer.lex"
2734 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_IPV4_PREFIX_LENGTH;}
2735 	YY_BREAK
2736 case 84:
2737 YY_RULE_SETUP
2738 #line 267 "configlexer.lex"
2739 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_IPV6_PREFIX_LENGTH;}
2740 	YY_BREAK
2741 case 85:
2742 YY_RULE_SETUP
2743 #line 268 "configlexer.lex"
2744 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_WHITELIST_RATELIMIT;}
2745 	YY_BREAK
2746 case 86:
2747 YY_RULE_SETUP
2748 #line 269 "configlexer.lex"
2749 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_WHITELIST;}
2750 	YY_BREAK
2751 case 87:
2752 YY_RULE_SETUP
2753 #line 270 "configlexer.lex"
2754 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILES_CHECK;}
2755 	YY_BREAK
2756 case 88:
2757 YY_RULE_SETUP
2758 #line 271 "configlexer.lex"
2759 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILES_WRITE;}
2760 	YY_BREAK
2761 case 89:
2762 YY_RULE_SETUP
2763 #line 272 "configlexer.lex"
2764 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP;}
2765 	YY_BREAK
2766 case 90:
2767 YY_RULE_SETUP
2768 #line 273 "configlexer.lex"
2769 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_ENABLE;}
2770 	YY_BREAK
2771 case 91:
2772 YY_RULE_SETUP
2773 #line 274 "configlexer.lex"
2774 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SOCKET_PATH; }
2775 	YY_BREAK
2776 case 92:
2777 YY_RULE_SETUP
2778 #line 275 "configlexer.lex"
2779 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SEND_IDENTITY; }
2780 	YY_BREAK
2781 case 93:
2782 YY_RULE_SETUP
2783 #line 276 "configlexer.lex"
2784 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SEND_VERSION; }
2785 	YY_BREAK
2786 case 94:
2787 YY_RULE_SETUP
2788 #line 277 "configlexer.lex"
2789 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_IDENTITY; }
2790 	YY_BREAK
2791 case 95:
2792 YY_RULE_SETUP
2793 #line 278 "configlexer.lex"
2794 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_VERSION; }
2795 	YY_BREAK
2796 case 96:
2797 YY_RULE_SETUP
2798 #line 279 "configlexer.lex"
2799 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES; }
2800 	YY_BREAK
2801 case 97:
2802 YY_RULE_SETUP
2803 #line 280 "configlexer.lex"
2804 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES; }
2805 	YY_BREAK
2806 case 98:
2807 YY_RULE_SETUP
2808 #line 281 "configlexer.lex"
2809 { LEXOUT(("v(%s) ", yytext)); return VAR_LOG_TIME_ASCII;}
2810 	YY_BREAK
2811 case 99:
2812 YY_RULE_SETUP
2813 #line 282 "configlexer.lex"
2814 { LEXOUT(("v(%s) ", yytext)); return VAR_ROUND_ROBIN;}
2815 	YY_BREAK
2816 case 100:
2817 YY_RULE_SETUP
2818 #line 283 "configlexer.lex"
2819 { LEXOUT(("v(%s) ", yytext)); return VAR_MINIMAL_RESPONSES;}
2820 	YY_BREAK
2821 case 101:
2822 YY_RULE_SETUP
2823 #line 284 "configlexer.lex"
2824 { LEXOUT(("v(%s) ", yytext)); return VAR_CONFINE_TO_ZONE;}
2825 	YY_BREAK
2826 case 102:
2827 YY_RULE_SETUP
2828 #line 285 "configlexer.lex"
2829 { LEXOUT(("v(%s) ", yytext)); return VAR_REFUSE_ANY;}
2830 	YY_BREAK
2831 case 103:
2832 YY_RULE_SETUP
2833 #line 286 "configlexer.lex"
2834 { LEXOUT(("v(%s) ", yytext)); return VAR_MAX_REFRESH_TIME;}
2835 	YY_BREAK
2836 case 104:
2837 YY_RULE_SETUP
2838 #line 287 "configlexer.lex"
2839 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_REFRESH_TIME;}
2840 	YY_BREAK
2841 case 105:
2842 YY_RULE_SETUP
2843 #line 288 "configlexer.lex"
2844 { LEXOUT(("v(%s) ", yytext)); return VAR_MAX_RETRY_TIME;}
2845 	YY_BREAK
2846 case 106:
2847 YY_RULE_SETUP
2848 #line 289 "configlexer.lex"
2849 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_RETRY_TIME;}
2850 	YY_BREAK
2851 case 107:
2852 YY_RULE_SETUP
2853 #line 290 "configlexer.lex"
2854 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_EXPIRE_TIME;}
2855 	YY_BREAK
2856 case 108:
2857 YY_RULE_SETUP
2858 #line 291 "configlexer.lex"
2859 { LEXOUT(("v(%s) ", yytext)); return VAR_MULTI_MASTER_CHECK;}
2860 	YY_BREAK
2861 case 109:
2862 YY_RULE_SETUP
2863 #line 292 "configlexer.lex"
2864 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_KEY;}
2865 	YY_BREAK
2866 case 110:
2867 YY_RULE_SETUP
2868 #line 293 "configlexer.lex"
2869 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_OCSP;}
2870 	YY_BREAK
2871 case 111:
2872 YY_RULE_SETUP
2873 #line 294 "configlexer.lex"
2874 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_PEM;}
2875 	YY_BREAK
2876 case 112:
2877 YY_RULE_SETUP
2878 #line 295 "configlexer.lex"
2879 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_PORT;}
2880 	YY_BREAK
2881 case 113:
2882 YY_RULE_SETUP
2883 #line 296 "configlexer.lex"
2884 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_CERT_BUNDLE; }
2885 	YY_BREAK
2886 case 114:
2887 YY_RULE_SETUP
2888 #line 297 "configlexer.lex"
2889 { LEXOUT(("v(%s) ", yytext)); return VAR_ANSWER_COOKIE;}
2890 	YY_BREAK
2891 case 115:
2892 YY_RULE_SETUP
2893 #line 298 "configlexer.lex"
2894 { LEXOUT(("v(%s) ", yytext)); return VAR_COOKIE_SECRET;}
2895 	YY_BREAK
2896 case 116:
2897 YY_RULE_SETUP
2898 #line 299 "configlexer.lex"
2899 { LEXOUT(("v(%s) ", yytext)); return VAR_COOKIE_SECRET_FILE;}
2900 	YY_BREAK
2901 case 117:
2902 /* rule 117 can match eol */
2903 YY_RULE_SETUP
2904 #line 300 "configlexer.lex"
2905 { LEXOUT(("NL\n")); cfg_parser->line++;}
2906 	YY_BREAK
2907 case 118:
2908 YY_RULE_SETUP
2909 #line 302 "configlexer.lex"
2910 {
2911 	yyless(yyleng - (yyleng - 8));
2912 	LEXOUT(("v(%s) ", yytext));
2913 	return VAR_SERVERS;
2914 }
2915 	YY_BREAK
2916 case 119:
2917 YY_RULE_SETUP
2918 #line 307 "configlexer.lex"
2919 {
2920 	yyless(yyleng - (yyleng - 13));
2921 	LEXOUT(("v(%s) ", yytext));
2922 	return VAR_BINDTODEVICE;
2923 }
2924 	YY_BREAK
2925 case 120:
2926 YY_RULE_SETUP
2927 #line 312 "configlexer.lex"
2928 {
2929 	yyless(yyleng - (yyleng - 7));
2930 	LEXOUT(("v(%s) ", yytext));
2931 	return VAR_SETFIB;
2932 }
2933 	YY_BREAK
2934 case 121:
2935 YY_RULE_SETUP
2936 #line 318 "configlexer.lex"
2937 { LEXOUT(("v(%s) ", yytext)); return VAR_CPU_AFFINITY; }
2938 	YY_BREAK
2939 case 122:
2940 YY_RULE_SETUP
2941 #line 319 "configlexer.lex"
2942 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_CPU_AFFINITY; }
2943 	YY_BREAK
2944 case 123:
2945 YY_RULE_SETUP
2946 #line 320 "configlexer.lex"
2947 {
2948 		char *str = yytext;
2949 		LEXOUT(("v(%s) ", yytext));
2950 		/* Skip server- */
2951 		while (*str != '\0' && (*str < '0' || *str > '9')) {
2952 			str++;
2953 		}
2954 		c_lval.llng = strtoll(str, NULL, 10);
2955 		return VAR_SERVER_CPU_AFFINITY;
2956 	}
2957 	YY_BREAK
2958 /* Quoted strings. Strip leading and ending quotes */
2959 case 124:
2960 YY_RULE_SETUP
2961 #line 332 "configlexer.lex"
2962 { BEGIN(quotedstring); LEXOUT(("QS ")); }
2963 	YY_BREAK
2964 case YY_STATE_EOF(quotedstring):
2965 #line 333 "configlexer.lex"
2966 {
2967         c_error("EOF inside quoted string");
2968         BEGIN(INITIAL);
2969 }
2970 	YY_BREAK
2971 case 125:
2972 YY_RULE_SETUP
2973 #line 337 "configlexer.lex"
2974 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
2975 	YY_BREAK
2976 case 126:
2977 /* rule 126 can match eol */
2978 YY_RULE_SETUP
2979 #line 338 "configlexer.lex"
2980 { cfg_parser->line++; yymore(); }
2981 	YY_BREAK
2982 case 127:
2983 YY_RULE_SETUP
2984 #line 339 "configlexer.lex"
2985 {
2986         LEXOUT(("QE "));
2987         BEGIN(INITIAL);
2988         yytext[yyleng - 1] = '\0';
2989 	c_lval.str = region_strdup(cfg_parser->opt->region, yytext);
2990         return STRING;
2991 }
2992 	YY_BREAK
2993 /* include: directive */
2994 case 128:
2995 YY_RULE_SETUP
2996 #line 348 "configlexer.lex"
2997 { LEXOUT(("v(%s) ", yytext)); BEGIN(include); }
2998 	YY_BREAK
2999 case YY_STATE_EOF(include):
3000 #line 349 "configlexer.lex"
3001 {
3002         c_error("EOF inside include directive");
3003         BEGIN(INITIAL);
3004 }
3005 	YY_BREAK
3006 case 129:
3007 YY_RULE_SETUP
3008 #line 353 "configlexer.lex"
3009 { LEXOUT(("ISP ")); /* ignore */ }
3010 	YY_BREAK
3011 case 130:
3012 /* rule 130 can match eol */
3013 YY_RULE_SETUP
3014 #line 354 "configlexer.lex"
3015 { LEXOUT(("NL\n")); cfg_parser->line++;}
3016 	YY_BREAK
3017 case 131:
3018 YY_RULE_SETUP
3019 #line 355 "configlexer.lex"
3020 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
3021 	YY_BREAK
3022 case 132:
3023 YY_RULE_SETUP
3024 #line 356 "configlexer.lex"
3025 {
3026 	LEXOUT(("Iunquotedstr(%s) ", yytext));
3027 	config_start_include_glob(yytext);
3028 	BEGIN(INITIAL);
3029 }
3030 	YY_BREAK
3031 case YY_STATE_EOF(include_quoted):
3032 #line 361 "configlexer.lex"
3033 {
3034         c_error("EOF inside quoted string");
3035         BEGIN(INITIAL);
3036 }
3037 	YY_BREAK
3038 case 133:
3039 YY_RULE_SETUP
3040 #line 365 "configlexer.lex"
3041 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
3042 	YY_BREAK
3043 case 134:
3044 /* rule 134 can match eol */
3045 YY_RULE_SETUP
3046 #line 366 "configlexer.lex"
3047 { cfg_parser->line++; yymore(); }
3048 	YY_BREAK
3049 case 135:
3050 YY_RULE_SETUP
3051 #line 367 "configlexer.lex"
3052 {
3053 	LEXOUT(("IQE "));
3054 	yytext[yyleng - 1] = '\0';
3055 	config_start_include_glob(yytext);
3056 	BEGIN(INITIAL);
3057 }
3058 	YY_BREAK
3059 case YY_STATE_EOF(INITIAL):
3060 #line 373 "configlexer.lex"
3061 {
3062 	yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
3063 	if (!config_include_stack) {
3064 		yyterminate();
3065 	} else {
3066 		fclose(yyin);
3067 		config_end_include();
3068 	}
3069 }
3070 	YY_BREAK
3071 case 136:
3072 YY_RULE_SETUP
3073 #line 383 "configlexer.lex"
3074 { LEXOUT(("unquotedstr(%s) ", yytext));
3075 			c_lval.str = region_strdup(cfg_parser->opt->region, yytext); return STRING; }
3076 	YY_BREAK
3077 case 137:
3078 YY_RULE_SETUP
3079 #line 386 "configlexer.lex"
3080 ECHO;
3081 	YY_BREAK
3082 #line 3081 "<stdout>"
3083 
3084 	case YY_END_OF_BUFFER:
3085 		{
3086 		/* Amount of text matched not including the EOB char. */
3087 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3088 
3089 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
3090 		*yy_cp = (yy_hold_char);
3091 		YY_RESTORE_YY_MORE_OFFSET
3092 
3093 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3094 			{
3095 			/* We're scanning a new file or input source.  It's
3096 			 * possible that this happened because the user
3097 			 * just pointed yyin at a new source and called
3098 			 * yylex().  If so, then we have to assure
3099 			 * consistency between YY_CURRENT_BUFFER and our
3100 			 * globals.  Here is the right place to do so, because
3101 			 * this is the first action (other than possibly a
3102 			 * back-up) that will match for the new input source.
3103 			 */
3104 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3105 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3106 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3107 			}
3108 
3109 		/* Note that here we test for yy_c_buf_p "<=" to the position
3110 		 * of the first EOB in the buffer, since yy_c_buf_p will
3111 		 * already have been incremented past the NUL character
3112 		 * (since all states make transitions on EOB to the
3113 		 * end-of-buffer state).  Contrast this with the test
3114 		 * in input().
3115 		 */
3116 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3117 			{ /* This was really a NUL. */
3118 			yy_state_type yy_next_state;
3119 
3120 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3121 
3122 			yy_current_state = yy_get_previous_state(  );
3123 
3124 			/* Okay, we're now positioned to make the NUL
3125 			 * transition.  We couldn't have
3126 			 * yy_get_previous_state() go ahead and do it
3127 			 * for us because it doesn't know how to deal
3128 			 * with the possibility of jamming (and we don't
3129 			 * want to build jamming into it because then it
3130 			 * will run more slowly).
3131 			 */
3132 
3133 			yy_next_state = yy_try_NUL_trans( yy_current_state );
3134 
3135 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3136 
3137 			if ( yy_next_state )
3138 				{
3139 				/* Consume the NUL. */
3140 				yy_cp = ++(yy_c_buf_p);
3141 				yy_current_state = yy_next_state;
3142 				goto yy_match;
3143 				}
3144 
3145 			else
3146 				{
3147 				yy_cp = (yy_c_buf_p);
3148 				goto yy_find_action;
3149 				}
3150 			}
3151 
3152 		else switch ( yy_get_next_buffer(  ) )
3153 			{
3154 			case EOB_ACT_END_OF_FILE:
3155 				{
3156 				(yy_did_buffer_switch_on_eof) = 0;
3157 
3158 				if ( yywrap(  ) )
3159 					{
3160 					/* Note: because we've taken care in
3161 					 * yy_get_next_buffer() to have set up
3162 					 * yytext, we can now set up
3163 					 * yy_c_buf_p so that if some total
3164 					 * hoser (like flex itself) wants to
3165 					 * call the scanner after we return the
3166 					 * YY_NULL, it'll still work - another
3167 					 * YY_NULL will get returned.
3168 					 */
3169 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3170 
3171 					yy_act = YY_STATE_EOF(YY_START);
3172 					goto do_action;
3173 					}
3174 
3175 				else
3176 					{
3177 					if ( ! (yy_did_buffer_switch_on_eof) )
3178 						YY_NEW_FILE;
3179 					}
3180 				break;
3181 				}
3182 
3183 			case EOB_ACT_CONTINUE_SCAN:
3184 				(yy_c_buf_p) =
3185 					(yytext_ptr) + yy_amount_of_matched_text;
3186 
3187 				yy_current_state = yy_get_previous_state(  );
3188 
3189 				yy_cp = (yy_c_buf_p);
3190 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3191 				goto yy_match;
3192 
3193 			case EOB_ACT_LAST_MATCH:
3194 				(yy_c_buf_p) =
3195 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3196 
3197 				yy_current_state = yy_get_previous_state(  );
3198 
3199 				yy_cp = (yy_c_buf_p);
3200 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3201 				goto yy_find_action;
3202 			}
3203 		break;
3204 		}
3205 
3206 	default:
3207 		YY_FATAL_ERROR(
3208 			"fatal flex scanner internal error--no action found" );
3209 	} /* end of action switch */
3210 		} /* end of scanning one token */
3211 	} /* end of user's declarations */
3212 } /* end of yylex */
3213 
3214 /* yy_get_next_buffer - try to read in a new buffer
3215  *
3216  * Returns a code representing an action:
3217  *	EOB_ACT_LAST_MATCH -
3218  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3219  *	EOB_ACT_END_OF_FILE - end of file
3220  */
yy_get_next_buffer(void)3221 static int yy_get_next_buffer (void)
3222 {
3223     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3224 	char *source = (yytext_ptr);
3225 	int number_to_move, i;
3226 	int ret_val;
3227 
3228 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3229 		YY_FATAL_ERROR(
3230 		"fatal flex scanner internal error--end of buffer missed" );
3231 
3232 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3233 		{ /* Don't try to fill the buffer, so this is an EOF. */
3234 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3235 			{
3236 			/* We matched a single character, the EOB, so
3237 			 * treat this as a final EOF.
3238 			 */
3239 			return EOB_ACT_END_OF_FILE;
3240 			}
3241 
3242 		else
3243 			{
3244 			/* We matched some text prior to the EOB, first
3245 			 * process it.
3246 			 */
3247 			return EOB_ACT_LAST_MATCH;
3248 			}
3249 		}
3250 
3251 	/* Try to read more data. */
3252 
3253 	/* First move last chars to start of buffer. */
3254 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3255 
3256 	for ( i = 0; i < number_to_move; ++i )
3257 		*(dest++) = *(source++);
3258 
3259 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3260 		/* don't do the read, it's not guaranteed to return an EOF,
3261 		 * just force an EOF
3262 		 */
3263 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3264 
3265 	else
3266 		{
3267 			int num_to_read =
3268 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3269 
3270 		while ( num_to_read <= 0 )
3271 			{ /* Not enough room in the buffer - grow it. */
3272 
3273 			/* just a shorter name for the current buffer */
3274 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3275 
3276 			int yy_c_buf_p_offset =
3277 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
3278 
3279 			if ( b->yy_is_our_buffer )
3280 				{
3281 				int new_size = b->yy_buf_size * 2;
3282 
3283 				if ( new_size <= 0 )
3284 					b->yy_buf_size += b->yy_buf_size / 8;
3285 				else
3286 					b->yy_buf_size *= 2;
3287 
3288 				b->yy_ch_buf = (char *)
3289 					/* Include room in for 2 EOB chars. */
3290 					yyrealloc( (void *) b->yy_ch_buf,
3291 							 (yy_size_t) (b->yy_buf_size + 2)  );
3292 				}
3293 			else
3294 				/* Can't grow it, we don't own it. */
3295 				b->yy_ch_buf = NULL;
3296 
3297 			if ( ! b->yy_ch_buf )
3298 				YY_FATAL_ERROR(
3299 				"fatal error - scanner input buffer overflow" );
3300 
3301 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3302 
3303 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3304 						number_to_move - 1;
3305 
3306 			}
3307 
3308 		if ( num_to_read > YY_READ_BUF_SIZE )
3309 			num_to_read = YY_READ_BUF_SIZE;
3310 
3311 		/* Read in more data. */
3312 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3313 			(yy_n_chars), num_to_read );
3314 
3315 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3316 		}
3317 
3318 	if ( (yy_n_chars) == 0 )
3319 		{
3320 		if ( number_to_move == YY_MORE_ADJ )
3321 			{
3322 			ret_val = EOB_ACT_END_OF_FILE;
3323 			yyrestart( yyin  );
3324 			}
3325 
3326 		else
3327 			{
3328 			ret_val = EOB_ACT_LAST_MATCH;
3329 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3330 				YY_BUFFER_EOF_PENDING;
3331 			}
3332 		}
3333 
3334 	else
3335 		ret_val = EOB_ACT_CONTINUE_SCAN;
3336 
3337 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3338 		/* Extend the array by 50%, plus the number we really need. */
3339 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3340 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3341 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
3342 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3343 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3344 		/* "- 2" to take care of EOB's */
3345 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3346 	}
3347 
3348 	(yy_n_chars) += number_to_move;
3349 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3350 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3351 
3352 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3353 
3354 	return ret_val;
3355 }
3356 
3357 /* yy_get_previous_state - get the state just before the EOB char was reached */
3358 
yy_get_previous_state(void)3359     static yy_state_type yy_get_previous_state (void)
3360 {
3361 	yy_state_type yy_current_state;
3362 	char *yy_cp;
3363 
3364 	yy_current_state = (yy_start);
3365 
3366 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3367 		{
3368 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3369 		if ( yy_accept[yy_current_state] )
3370 			{
3371 			(yy_last_accepting_state) = yy_current_state;
3372 			(yy_last_accepting_cpos) = yy_cp;
3373 			}
3374 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3375 			{
3376 			yy_current_state = (int) yy_def[yy_current_state];
3377 			if ( yy_current_state >= 1206 )
3378 				yy_c = yy_meta[yy_c];
3379 			}
3380 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3381 		}
3382 
3383 	return yy_current_state;
3384 }
3385 
3386 /* yy_try_NUL_trans - try to make a transition on the NUL character
3387  *
3388  * synopsis
3389  *	next_state = yy_try_NUL_trans( current_state );
3390  */
yy_try_NUL_trans(yy_state_type yy_current_state)3391     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
3392 {
3393 	int yy_is_jam;
3394     	char *yy_cp = (yy_c_buf_p);
3395 
3396 	YY_CHAR yy_c = 1;
3397 	if ( yy_accept[yy_current_state] )
3398 		{
3399 		(yy_last_accepting_state) = yy_current_state;
3400 		(yy_last_accepting_cpos) = yy_cp;
3401 		}
3402 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3403 		{
3404 		yy_current_state = (int) yy_def[yy_current_state];
3405 		if ( yy_current_state >= 1206 )
3406 			yy_c = yy_meta[yy_c];
3407 		}
3408 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3409 	yy_is_jam = (yy_current_state == 1205);
3410 
3411 		return yy_is_jam ? 0 : yy_current_state;
3412 }
3413 
3414 #ifndef YY_NO_UNPUT
3415 
3416 #endif
3417 
3418 #ifndef YY_NO_INPUT
3419 #ifdef __cplusplus
yyinput(void)3420     static int yyinput (void)
3421 #else
3422     static int input  (void)
3423 #endif
3424 
3425 {
3426 	int c;
3427 
3428 	*(yy_c_buf_p) = (yy_hold_char);
3429 
3430 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3431 		{
3432 		/* yy_c_buf_p now points to the character we want to return.
3433 		 * If this occurs *before* the EOB characters, then it's a
3434 		 * valid NUL; if not, then we've hit the end of the buffer.
3435 		 */
3436 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3437 			/* This was really a NUL. */
3438 			*(yy_c_buf_p) = '\0';
3439 
3440 		else
3441 			{ /* need more input */
3442 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3443 			++(yy_c_buf_p);
3444 
3445 			switch ( yy_get_next_buffer(  ) )
3446 				{
3447 				case EOB_ACT_LAST_MATCH:
3448 					/* This happens because yy_g_n_b()
3449 					 * sees that we've accumulated a
3450 					 * token and flags that we need to
3451 					 * try matching the token before
3452 					 * proceeding.  But for input(),
3453 					 * there's no matching to consider.
3454 					 * So convert the EOB_ACT_LAST_MATCH
3455 					 * to EOB_ACT_END_OF_FILE.
3456 					 */
3457 
3458 					/* Reset buffer status. */
3459 					yyrestart( yyin );
3460 
3461 					/*FALLTHROUGH*/
3462 
3463 				case EOB_ACT_END_OF_FILE:
3464 					{
3465 					if ( yywrap(  ) )
3466 						return 0;
3467 
3468 					if ( ! (yy_did_buffer_switch_on_eof) )
3469 						YY_NEW_FILE;
3470 #ifdef __cplusplus
3471 					return yyinput();
3472 #else
3473 					return input();
3474 #endif
3475 					}
3476 
3477 				case EOB_ACT_CONTINUE_SCAN:
3478 					(yy_c_buf_p) = (yytext_ptr) + offset;
3479 					break;
3480 				}
3481 			}
3482 		}
3483 
3484 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
3485 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
3486 	(yy_hold_char) = *++(yy_c_buf_p);
3487 
3488 	return c;
3489 }
3490 #endif	/* ifndef YY_NO_INPUT */
3491 
3492 /** Immediately switch to a different input stream.
3493  * @param input_file A readable stream.
3494  *
3495  * @note This function does not reset the start condition to @c INITIAL .
3496  */
yyrestart(FILE * input_file)3497     void yyrestart  (FILE * input_file )
3498 {
3499 
3500 	if ( ! YY_CURRENT_BUFFER ){
3501         yyensure_buffer_stack ();
3502 		YY_CURRENT_BUFFER_LVALUE =
3503             yy_create_buffer( yyin, YY_BUF_SIZE );
3504 	}
3505 
3506 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3507 	yy_load_buffer_state(  );
3508 }
3509 
3510 /** Switch to a different input buffer.
3511  * @param new_buffer The new input buffer.
3512  *
3513  */
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)3514     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
3515 {
3516 
3517 	/* TODO. We should be able to replace this entire function body
3518 	 * with
3519 	 *		yypop_buffer_state();
3520 	 *		yypush_buffer_state(new_buffer);
3521      */
3522 	yyensure_buffer_stack ();
3523 	if ( YY_CURRENT_BUFFER == new_buffer )
3524 		return;
3525 
3526 	if ( YY_CURRENT_BUFFER )
3527 		{
3528 		/* Flush out information for old buffer. */
3529 		*(yy_c_buf_p) = (yy_hold_char);
3530 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3531 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3532 		}
3533 
3534 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3535 	yy_load_buffer_state(  );
3536 
3537 	/* We don't actually know whether we did this switch during
3538 	 * EOF (yywrap()) processing, but the only time this flag
3539 	 * is looked at is after yywrap() is called, so it's safe
3540 	 * to go ahead and always set it.
3541 	 */
3542 	(yy_did_buffer_switch_on_eof) = 1;
3543 }
3544 
yy_load_buffer_state(void)3545 static void yy_load_buffer_state  (void)
3546 {
3547     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3548 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3549 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3550 	(yy_hold_char) = *(yy_c_buf_p);
3551 }
3552 
3553 /** Allocate and initialize an input buffer state.
3554  * @param file A readable stream.
3555  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3556  *
3557  * @return the allocated buffer state.
3558  */
yy_create_buffer(FILE * file,int size)3559     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
3560 {
3561 	YY_BUFFER_STATE b;
3562 
3563 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
3564 	if ( ! b )
3565 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3566 
3567 	b->yy_buf_size = size;
3568 
3569 	/* yy_ch_buf has to be 2 characters longer than the size given because
3570 	 * we need to put in 2 end-of-buffer characters.
3571 	 */
3572 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
3573 	if ( ! b->yy_ch_buf )
3574 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3575 
3576 	b->yy_is_our_buffer = 1;
3577 
3578 	yy_init_buffer( b, file );
3579 
3580 	return b;
3581 }
3582 
3583 /** Destroy the buffer.
3584  * @param b a buffer created with yy_create_buffer()
3585  *
3586  */
yy_delete_buffer(YY_BUFFER_STATE b)3587     void yy_delete_buffer (YY_BUFFER_STATE  b )
3588 {
3589 
3590 	if ( ! b )
3591 		return;
3592 
3593 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3594 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3595 
3596 	if ( b->yy_is_our_buffer )
3597 		yyfree( (void *) b->yy_ch_buf  );
3598 
3599 	yyfree( (void *) b  );
3600 }
3601 
3602 /* Initializes or reinitializes a buffer.
3603  * This function is sometimes called more than once on the same buffer,
3604  * such as during a yyrestart() or at EOF.
3605  */
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)3606     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
3607 
3608 {
3609 	int oerrno = errno;
3610 
3611 	yy_flush_buffer( b );
3612 
3613 	b->yy_input_file = file;
3614 	b->yy_fill_buffer = 1;
3615 
3616     /* If b is the current buffer, then yy_init_buffer was _probably_
3617      * called from yyrestart() or through yy_get_next_buffer.
3618      * In that case, we don't want to reset the lineno or column.
3619      */
3620     if (b != YY_CURRENT_BUFFER){
3621         b->yy_bs_lineno = 1;
3622         b->yy_bs_column = 0;
3623     }
3624 
3625         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3626 
3627 	errno = oerrno;
3628 }
3629 
3630 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3631  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3632  *
3633  */
yy_flush_buffer(YY_BUFFER_STATE b)3634     void yy_flush_buffer (YY_BUFFER_STATE  b )
3635 {
3636     	if ( ! b )
3637 		return;
3638 
3639 	b->yy_n_chars = 0;
3640 
3641 	/* We always need two end-of-buffer characters.  The first causes
3642 	 * a transition to the end-of-buffer state.  The second causes
3643 	 * a jam in that state.
3644 	 */
3645 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3646 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3647 
3648 	b->yy_buf_pos = &b->yy_ch_buf[0];
3649 
3650 	b->yy_at_bol = 1;
3651 	b->yy_buffer_status = YY_BUFFER_NEW;
3652 
3653 	if ( b == YY_CURRENT_BUFFER )
3654 		yy_load_buffer_state(  );
3655 }
3656 
3657 /** Pushes the new state onto the stack. The new state becomes
3658  *  the current state. This function will allocate the stack
3659  *  if necessary.
3660  *  @param new_buffer The new state.
3661  *
3662  */
yypush_buffer_state(YY_BUFFER_STATE new_buffer)3663 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3664 {
3665     	if (new_buffer == NULL)
3666 		return;
3667 
3668 	yyensure_buffer_stack();
3669 
3670 	/* This block is copied from yy_switch_to_buffer. */
3671 	if ( YY_CURRENT_BUFFER )
3672 		{
3673 		/* Flush out information for old buffer. */
3674 		*(yy_c_buf_p) = (yy_hold_char);
3675 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3676 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3677 		}
3678 
3679 	/* Only push if top exists. Otherwise, replace top. */
3680 	if (YY_CURRENT_BUFFER)
3681 		(yy_buffer_stack_top)++;
3682 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3683 
3684 	/* copied from yy_switch_to_buffer. */
3685 	yy_load_buffer_state(  );
3686 	(yy_did_buffer_switch_on_eof) = 1;
3687 }
3688 
3689 /** Removes and deletes the top of the stack, if present.
3690  *  The next element becomes the new top.
3691  *
3692  */
yypop_buffer_state(void)3693 void yypop_buffer_state (void)
3694 {
3695     	if (!YY_CURRENT_BUFFER)
3696 		return;
3697 
3698 	yy_delete_buffer(YY_CURRENT_BUFFER );
3699 	YY_CURRENT_BUFFER_LVALUE = NULL;
3700 	if ((yy_buffer_stack_top) > 0)
3701 		--(yy_buffer_stack_top);
3702 
3703 	if (YY_CURRENT_BUFFER) {
3704 		yy_load_buffer_state(  );
3705 		(yy_did_buffer_switch_on_eof) = 1;
3706 	}
3707 }
3708 
3709 /* Allocates the stack if it does not exist.
3710  *  Guarantees space for at least one push.
3711  */
yyensure_buffer_stack(void)3712 static void yyensure_buffer_stack (void)
3713 {
3714 	yy_size_t num_to_alloc;
3715 
3716 	if (!(yy_buffer_stack)) {
3717 
3718 		/* First allocation is just for 2 elements, since we don't know if this
3719 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3720 		 * immediate realloc on the next call.
3721          */
3722       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3723 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3724 								(num_to_alloc * sizeof(struct yy_buffer_state*)
3725 								);
3726 		if ( ! (yy_buffer_stack) )
3727 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3728 
3729 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3730 
3731 		(yy_buffer_stack_max) = num_to_alloc;
3732 		(yy_buffer_stack_top) = 0;
3733 		return;
3734 	}
3735 
3736 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3737 
3738 		/* Increase the buffer to prepare for a possible push. */
3739 		yy_size_t grow_size = 8 /* arbitrary grow size */;
3740 
3741 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
3742 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3743 								((yy_buffer_stack),
3744 								num_to_alloc * sizeof(struct yy_buffer_state*)
3745 								);
3746 		if ( ! (yy_buffer_stack) )
3747 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3748 
3749 		/* zero only the new slots.*/
3750 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3751 		(yy_buffer_stack_max) = num_to_alloc;
3752 	}
3753 }
3754 
3755 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3756  * @param base the character buffer
3757  * @param size the size in bytes of the character buffer
3758  *
3759  * @return the newly allocated buffer state object.
3760  */
yy_scan_buffer(char * base,yy_size_t size)3761 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
3762 {
3763 	YY_BUFFER_STATE b;
3764 
3765 	if ( size < 2 ||
3766 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
3767 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
3768 		/* They forgot to leave room for the EOB's. */
3769 		return NULL;
3770 
3771 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
3772 	if ( ! b )
3773 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3774 
3775 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
3776 	b->yy_buf_pos = b->yy_ch_buf = base;
3777 	b->yy_is_our_buffer = 0;
3778 	b->yy_input_file = NULL;
3779 	b->yy_n_chars = b->yy_buf_size;
3780 	b->yy_is_interactive = 0;
3781 	b->yy_at_bol = 1;
3782 	b->yy_fill_buffer = 0;
3783 	b->yy_buffer_status = YY_BUFFER_NEW;
3784 
3785 	yy_switch_to_buffer( b  );
3786 
3787 	return b;
3788 }
3789 
3790 /** Setup the input buffer state to scan a string. The next call to yylex() will
3791  * scan from a @e copy of @a str.
3792  * @param yystr a NUL-terminated string to scan
3793  *
3794  * @return the newly allocated buffer state object.
3795  * @note If you want to scan bytes that may contain NUL values, then use
3796  *       yy_scan_bytes() instead.
3797  */
yy_scan_string(const char * yystr)3798 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3799 {
3800 
3801 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
3802 }
3803 
3804 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3805  * scan from a @e copy of @a bytes.
3806  * @param yybytes the byte buffer to scan
3807  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3808  *
3809  * @return the newly allocated buffer state object.
3810  */
yy_scan_bytes(const char * yybytes,int _yybytes_len)3811 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
3812 {
3813 	YY_BUFFER_STATE b;
3814 	char *buf;
3815 	yy_size_t n;
3816 	int i;
3817 
3818 	/* Get memory for full buffer, including space for trailing EOB's. */
3819 	n = (yy_size_t) (_yybytes_len + 2);
3820 	buf = (char *) yyalloc( n  );
3821 	if ( ! buf )
3822 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3823 
3824 	for ( i = 0; i < _yybytes_len; ++i )
3825 		buf[i] = yybytes[i];
3826 
3827 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3828 
3829 	b = yy_scan_buffer( buf, n );
3830 	if ( ! b )
3831 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3832 
3833 	/* It's okay to grow etc. this buffer, and we should throw it
3834 	 * away when we're done.
3835 	 */
3836 	b->yy_is_our_buffer = 1;
3837 
3838 	return b;
3839 }
3840 
3841 #ifndef YY_EXIT_FAILURE
3842 #define YY_EXIT_FAILURE 2
3843 #endif
3844 
yy_fatal_error(const char * msg)3845 static void yynoreturn yy_fatal_error (const char* msg )
3846 {
3847 			fprintf( stderr, "%s\n", msg );
3848 	exit( YY_EXIT_FAILURE );
3849 }
3850 
3851 /* Redefine yyless() so it works in section 3 code. */
3852 
3853 #undef yyless
3854 #define yyless(n) \
3855 	do \
3856 		{ \
3857 		/* Undo effects of setting up yytext. */ \
3858         int yyless_macro_arg = (n); \
3859         YY_LESS_LINENO(yyless_macro_arg);\
3860 		yytext[yyleng] = (yy_hold_char); \
3861 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
3862 		(yy_hold_char) = *(yy_c_buf_p); \
3863 		*(yy_c_buf_p) = '\0'; \
3864 		yyleng = yyless_macro_arg; \
3865 		} \
3866 	while ( 0 )
3867 
3868 /* Accessor  methods (get/set functions) to struct members. */
3869 
3870 /** Get the current line number.
3871  *
3872  */
yyget_lineno(void)3873 int yyget_lineno  (void)
3874 {
3875 
3876     return yylineno;
3877 }
3878 
3879 /** Get the input stream.
3880  *
3881  */
yyget_in(void)3882 FILE *yyget_in  (void)
3883 {
3884         return yyin;
3885 }
3886 
3887 /** Get the output stream.
3888  *
3889  */
yyget_out(void)3890 FILE *yyget_out  (void)
3891 {
3892         return yyout;
3893 }
3894 
3895 /** Get the length of the current token.
3896  *
3897  */
yyget_leng(void)3898 int yyget_leng  (void)
3899 {
3900         return yyleng;
3901 }
3902 
3903 /** Get the current token.
3904  *
3905  */
3906 
yyget_text(void)3907 char *yyget_text  (void)
3908 {
3909         return yytext;
3910 }
3911 
3912 /** Set the current line number.
3913  * @param _line_number line number
3914  *
3915  */
yyset_lineno(int _line_number)3916 void yyset_lineno (int  _line_number )
3917 {
3918 
3919     yylineno = _line_number;
3920 }
3921 
3922 /** Set the input stream. This does not discard the current
3923  * input buffer.
3924  * @param _in_str A readable stream.
3925  *
3926  * @see yy_switch_to_buffer
3927  */
yyset_in(FILE * _in_str)3928 void yyset_in (FILE *  _in_str )
3929 {
3930         yyin = _in_str ;
3931 }
3932 
yyset_out(FILE * _out_str)3933 void yyset_out (FILE *  _out_str )
3934 {
3935         yyout = _out_str ;
3936 }
3937 
yyget_debug(void)3938 int yyget_debug  (void)
3939 {
3940         return yy_flex_debug;
3941 }
3942 
yyset_debug(int _bdebug)3943 void yyset_debug (int  _bdebug )
3944 {
3945         yy_flex_debug = _bdebug ;
3946 }
3947 
yy_init_globals(void)3948 static int yy_init_globals (void)
3949 {
3950         /* Initialization is the same as for the non-reentrant scanner.
3951      * This function is called from yylex_destroy(), so don't allocate here.
3952      */
3953 
3954     (yy_buffer_stack) = NULL;
3955     (yy_buffer_stack_top) = 0;
3956     (yy_buffer_stack_max) = 0;
3957     (yy_c_buf_p) = NULL;
3958     (yy_init) = 0;
3959     (yy_start) = 0;
3960 
3961 /* Defined in main.c */
3962 #ifdef YY_STDINIT
3963     yyin = stdin;
3964     yyout = stdout;
3965 #else
3966     yyin = NULL;
3967     yyout = NULL;
3968 #endif
3969 
3970     /* For future reference: Set errno on error, since we are called by
3971      * yylex_init()
3972      */
3973     return 0;
3974 }
3975 
3976 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
yylex_destroy(void)3977 int yylex_destroy  (void)
3978 {
3979 
3980     /* Pop the buffer stack, destroying each element. */
3981 	while(YY_CURRENT_BUFFER){
3982 		yy_delete_buffer( YY_CURRENT_BUFFER  );
3983 		YY_CURRENT_BUFFER_LVALUE = NULL;
3984 		yypop_buffer_state();
3985 	}
3986 
3987 	/* Destroy the stack itself. */
3988 	yyfree((yy_buffer_stack) );
3989 	(yy_buffer_stack) = NULL;
3990 
3991     /* Reset the globals. This is important in a non-reentrant scanner so the next time
3992      * yylex() is called, initialization will occur. */
3993     yy_init_globals( );
3994 
3995     return 0;
3996 }
3997 
3998 /*
3999  * Internal utility routines.
4000  */
4001 
4002 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,const char * s2,int n)4003 static void yy_flex_strncpy (char* s1, const char * s2, int n )
4004 {
4005 
4006 	int i;
4007 	for ( i = 0; i < n; ++i )
4008 		s1[i] = s2[i];
4009 }
4010 #endif
4011 
4012 #ifdef YY_NEED_STRLEN
yy_flex_strlen(const char * s)4013 static int yy_flex_strlen (const char * s )
4014 {
4015 	int n;
4016 	for ( n = 0; s[n]; ++n )
4017 		;
4018 
4019 	return n;
4020 }
4021 #endif
4022 
yyalloc(yy_size_t size)4023 void *yyalloc (yy_size_t  size )
4024 {
4025 			return malloc(size);
4026 }
4027 
yyrealloc(void * ptr,yy_size_t size)4028 void *yyrealloc  (void * ptr, yy_size_t  size )
4029 {
4030 
4031 	/* The cast to (char *) in the following accommodates both
4032 	 * implementations that use char* generic pointers, and those
4033 	 * that use void* generic pointers.  It works with the latter
4034 	 * because both ANSI C and C++ allow castless assignment from
4035 	 * any pointer type to void*, and deal with argument conversions
4036 	 * as though doing an assignment.
4037 	 */
4038 	return realloc(ptr, size);
4039 }
4040 
yyfree(void * ptr)4041 void yyfree (void * ptr )
4042 {
4043 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
4044 }
4045 
4046 #define YYTABLES_NAME "yytables"
4047 
4048 #line 386 "configlexer.lex"
4049 
4050 
4051