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