xref: /freebsd/usr.bin/lex/initscan.c (revision 7877fdebeeb35fad1cbbafce22598b1bdf97c786)
1 /* $FreeBSD$ */
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 #if defined(__FreeBSD__)
20 #include <sys/cdefs.h>
21 #else
22 #define	__dead2
23 #endif
24 
25 /* begin standard C headers. */
26 #include <stdio.h>
27 #include <string.h>
28 #include <errno.h>
29 #include <stdlib.h>
30 
31 /* end standard C headers. */
32 
33 /* flex integer type definitions */
34 
35 #ifndef FLEXINT_H
36 #define FLEXINT_H
37 
38 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
39 
40 #if defined(__FreeBSD__) || \
41     (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
42 
43 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
44  * if you want the limit (max/min) macros for int types.
45  */
46 #ifndef __STDC_LIMIT_MACROS
47 #define __STDC_LIMIT_MACROS 1
48 #endif
49 
50 #include <inttypes.h>
51 typedef int8_t flex_int8_t;
52 typedef uint8_t flex_uint8_t;
53 typedef int16_t flex_int16_t;
54 typedef uint16_t flex_uint16_t;
55 typedef int32_t flex_int32_t;
56 typedef uint32_t flex_uint32_t;
57 #else
58 typedef signed char flex_int8_t;
59 typedef short int flex_int16_t;
60 typedef int flex_int32_t;
61 typedef unsigned char flex_uint8_t;
62 typedef unsigned short int flex_uint16_t;
63 typedef unsigned int flex_uint32_t;
64 
65 /* Limits of integral types. */
66 #ifndef INT8_MIN
67 #define INT8_MIN               (-128)
68 #endif
69 #ifndef INT16_MIN
70 #define INT16_MIN              (-32767-1)
71 #endif
72 #ifndef INT32_MIN
73 #define INT32_MIN              (-2147483647-1)
74 #endif
75 #ifndef INT8_MAX
76 #define INT8_MAX               (127)
77 #endif
78 #ifndef INT16_MAX
79 #define INT16_MAX              (32767)
80 #endif
81 #ifndef INT32_MAX
82 #define INT32_MAX              (2147483647)
83 #endif
84 #ifndef UINT8_MAX
85 #define UINT8_MAX              (255U)
86 #endif
87 #ifndef UINT16_MAX
88 #define UINT16_MAX             (65535U)
89 #endif
90 #ifndef UINT32_MAX
91 #define UINT32_MAX             (4294967295U)
92 #endif
93 
94 #ifndef SIZE_MAX
95 #define SIZE_MAX               (~(size_t)0)
96 #endif
97 
98 #endif /* ! C99 */
99 
100 #endif /* ! FLEXINT_H */
101 
102 /* begin standard C++ headers. */
103 
104 /* TODO: this is always defined, so inline it */
105 #define yyconst const
106 
107 #if defined(__GNUC__) && __GNUC__ >= 3
108 #define yynoreturn __attribute__((__noreturn__))
109 #else
110 #define yynoreturn
111 #endif
112 
113 /* Returned upon end-of-file. */
114 #define YY_NULL 0
115 
116 /* Promotes a possibly negative, possibly signed char to an
117  *   integer in range [0..255] for use as an array index.
118  */
119 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
120 
121 /* Enter a start condition.  This macro really ought to take a parameter,
122  * but we do it the disgusting crufty way forced on us by the ()-less
123  * definition of BEGIN.
124  */
125 #define BEGIN (yy_start) = 1 + 2 *
126 /* Translate the current start state into a value that can be later handed
127  * to BEGIN to return to the state.  The YYSTATE alias is for lex
128  * compatibility.
129  */
130 #define YY_START (((yy_start) - 1) / 2)
131 #define YYSTATE YY_START
132 /* Action number for EOF rule of a given start state. */
133 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
134 /* Special action meaning "start processing a new file". */
135 #define YY_NEW_FILE yyrestart( yyin  )
136 #define YY_END_OF_BUFFER_CHAR 0
137 
138 /* Size of default input buffer. */
139 #ifndef YY_BUF_SIZE
140 #ifdef __ia64__
141 /* On IA-64, the buffer size is 16k, not 8k.
142  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
143  * Ditto for the __ia64__ case accordingly.
144  */
145 #define YY_BUF_SIZE 32768
146 #else
147 #define YY_BUF_SIZE 16384
148 #endif /* __ia64__ */
149 #endif
150 
151 /* The state buf must be large enough to hold one state per character in the main buffer.
152  */
153 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
154 
155 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
156 #define YY_TYPEDEF_YY_BUFFER_STATE
157 typedef struct yy_buffer_state *YY_BUFFER_STATE;
158 #endif
159 
160 #ifndef YY_TYPEDEF_YY_SIZE_T
161 #define YY_TYPEDEF_YY_SIZE_T
162 typedef size_t yy_size_t;
163 #endif
164 
165 extern int yyleng;
166 
167 extern FILE *yyin, *yyout;
168 
169 #define EOB_ACT_CONTINUE_SCAN 0
170 #define EOB_ACT_END_OF_FILE 1
171 #define EOB_ACT_LAST_MATCH 2
172 
173     #define YY_LESS_LINENO(n)
174     #define YY_LINENO_REWIND_TO(ptr)
175 
176 /* Return all but the first "n" matched characters back to the input stream. */
177 #define yyless(n) \
178 	do \
179 		{ \
180 		/* Undo effects of setting up yytext. */ \
181         int yyless_macro_arg = (n); \
182         YY_LESS_LINENO(yyless_macro_arg);\
183 		*yy_cp = (yy_hold_char); \
184 		YY_RESTORE_YY_MORE_OFFSET \
185 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
186 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
187 		} \
188 	while ( 0 )
189 #define unput(c) yyunput( c, (yytext_ptr)  )
190 
191 #ifndef YY_STRUCT_YY_BUFFER_STATE
192 #define YY_STRUCT_YY_BUFFER_STATE
193 struct yy_buffer_state
194 	{
195 	FILE *yy_input_file;
196 
197 	char *yy_ch_buf;		/* input buffer */
198 	char *yy_buf_pos;		/* current position in input buffer */
199 
200 	/* Size of input buffer in bytes, not including room for EOB
201 	 * characters.
202 	 */
203 	int yy_buf_size;
204 
205 	/* Number of characters read into yy_ch_buf, not including EOB
206 	 * characters.
207 	 */
208 	int yy_n_chars;
209 
210 	/* Whether we "own" the buffer - i.e., we know we created it,
211 	 * and can realloc() it to grow it, and should free() it to
212 	 * delete it.
213 	 */
214 	int yy_is_our_buffer;
215 
216 	/* Whether this is an "interactive" input source; if so, and
217 	 * if we're using stdio for input, then we want to use getc()
218 	 * instead of fread(), to make sure we stop fetching input after
219 	 * each newline.
220 	 */
221 	int yy_is_interactive;
222 
223 	/* Whether we're considered to be at the beginning of a line.
224 	 * If so, '^' rules will be active on the next match, otherwise
225 	 * not.
226 	 */
227 	int yy_at_bol;
228 
229     int yy_bs_lineno; /**< The line count. */
230     int yy_bs_column; /**< The column count. */
231 
232 	/* Whether to try to fill the input buffer when we reach the
233 	 * end of it.
234 	 */
235 	int yy_fill_buffer;
236 
237 	int yy_buffer_status;
238 
239 #define YY_BUFFER_NEW 0
240 #define YY_BUFFER_NORMAL 1
241 	/* When an EOF's been seen but there's still some text to process
242 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
243 	 * shouldn't try reading from the input source any more.  We might
244 	 * still have a bunch of tokens to match, though, because of
245 	 * possible backing-up.
246 	 *
247 	 * When we actually see the EOF, we change the status to "new"
248 	 * (via yyrestart()), so that the user can continue scanning by
249 	 * just pointing yyin at a new input file.
250 	 */
251 #define YY_BUFFER_EOF_PENDING 2
252 
253 	};
254 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
255 
256 /* Stack of input buffers. */
257 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
258 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
259 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
260 
261 /* We provide macros for accessing buffer states in case in the
262  * future we want to put the buffer states in a more general
263  * "scanner state".
264  *
265  * Returns the top of the stack, or NULL.
266  */
267 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
268                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
269                           : NULL)
270 #define yy_current_buffer YY_CURRENT_BUFFER
271 /* Same as previous macro, but useful when we know that the buffer stack is not
272  * NULL or when we need an lvalue. For internal use only.
273  */
274 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
275 
276 /* yy_hold_char holds the character lost when yytext is formed. */
277 static char yy_hold_char;
278 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
279 int yyleng;
280 
281 /* Points to current character in buffer. */
282 static char *yy_c_buf_p = NULL;
283 static int yy_init = 0;		/* whether we need to initialize */
284 static int yy_start = 0;	/* start state number */
285 
286 /* Flag which is used to allow yywrap()'s to do buffer switches
287  * instead of setting up a fresh yyin.  A bit of a hack ...
288  */
289 static int yy_did_buffer_switch_on_eof;
290 
291 void yyrestart ( FILE *input_file  );
292 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
293 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
294 void yy_delete_buffer ( YY_BUFFER_STATE b  );
295 void yy_flush_buffer ( YY_BUFFER_STATE b  );
296 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
297 void yypop_buffer_state ( void );
298 
299 static void yyensure_buffer_stack ( void );
300 static void yy_load_buffer_state ( void );
301 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
302 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
303 
304 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
305 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
306 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
307 
308 void *yyalloc ( yy_size_t  );
309 void *yyrealloc ( void *, yy_size_t  );
310 void yyfree ( void *  );
311 
312 #define yy_new_buffer yy_create_buffer
313 #define yy_set_interactive(is_interactive) \
314 	{ \
315 	if ( ! YY_CURRENT_BUFFER ){ \
316         yyensure_buffer_stack (); \
317 		YY_CURRENT_BUFFER_LVALUE =    \
318             yy_create_buffer( yyin, YY_BUF_SIZE ); \
319 	} \
320 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
321 	}
322 #define yy_set_bol(at_bol) \
323 	{ \
324 	if ( ! YY_CURRENT_BUFFER ){\
325         yyensure_buffer_stack (); \
326 		YY_CURRENT_BUFFER_LVALUE =    \
327             yy_create_buffer( yyin, YY_BUF_SIZE ); \
328 	} \
329 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
330 	}
331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
332 
333 /* Begin user sect3 */
334 typedef flex_uint8_t YY_CHAR;
335 
336 FILE *yyin = NULL, *yyout = NULL;
337 
338 typedef int yy_state_type;
339 
340 extern int yylineno;
341 int yylineno = 1;
342 
343 extern char *yytext;
344 #ifdef yytext_ptr
345 #undef yytext_ptr
346 #endif
347 #define yytext_ptr yytext
348 
349 static yy_state_type yy_get_previous_state ( void );
350 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
351 static int yy_get_next_buffer ( void );
352 static void yynoreturn yy_fatal_error ( const char* msg  ) __dead2;
353 
354 /* Done after the current pattern has been matched and before the
355  * corresponding action - sets up yytext.
356  */
357 #define YY_DO_BEFORE_ACTION \
358 	(yytext_ptr) = yy_bp; \
359 	yyleng = (int) (yy_cp - yy_bp); \
360 	(yy_hold_char) = *yy_cp; \
361 	*yy_cp = '\0'; \
362 	(yy_c_buf_p) = yy_cp;
363 #define YY_NUM_RULES 253
364 #define YY_END_OF_BUFFER 254
365 /* This struct is not used in this scanner,
366    but its presence is necessary. */
367 struct yy_trans_info
368 	{
369 	flex_int32_t yy_verify;
370 	flex_int32_t yy_nxt;
371 	};
372 static const flex_int16_t yy_accept[1114] =
373     {   0,
374         0,    0,    0,    0,    0,    0,  246,  246,   40,   40,
375         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
376         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
377       239,  239,    0,    0,    0,    0,    0,    0,    0,    0,
378         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
379       250,  250,  239,  239,  254,  252,    9,   20,  252,   18,
380         1,   19,  252,  252,  252,  252,   17,  163,  148,  149,
381       163,  141,  163,  160,  161,  162,  162,  163,  163,  163,
382       162,  147,  137,  163,  163,  139,  140,  135,  136,  135,
383       134,  133,  134,  246,  247,  247,   40,   42,   40,   41,
384 
385        40,   40,   41,   41,   41,   50,   49,   51,  252,  169,
386       169,  164,  169,  165,  166,  168,  170,  218,  219,  218,
387       216,  215,  217,  171,  173,  171,  172,  171,  185,  185,
388       185,  185,  187,  189,  187,  187,  187,  187,  188,  228,
389       233,  228,  232,  231,  234,  229,  229,  229,  234,  234,
390       226,  227,  252,  130,  252,   21,   23,   21,   22,   22,
391        22,  235,  241,  235,  236,  242,  242,  242,  224,  224,
392       225,  224,  224,  224,  224,  224,  224,  224,  129,   53,
393        52,  129,  129,  129,  129,   54,  129,  129,  129,  129,
394       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
395 
396       129,  129,  129,  129,  129,  129,  129,   36,   33,   36,
397        34,   48,   45,  252,   48,   48,   44,   43,  175,  174,
398       176,  177,  178,  179,  180,  181,  182,   31,   32,   31,
399        30,   28,   29,   28,   27,   22,  250,  251,  251,  237,
400       237,  238,    9,   20,    0,   18,    1,   19,    0,    0,
401         0,   16,   10,    0,    0,    0,    0,    4,   16,    5,
402         0,    2,   17,  148,  149,    0,    0,    0,  143,    0,
403       159,  157,    0,  153,  153,    0,  243,  243,  243,    0,
404         0,  142,    0,  147,  137,    0,    0,    0,  139,  140,
405       152,  138,    0,  136,  134,  133,  131,  132,  246,  244,
406 
407       245,   40,   42,   40,   40,   37,   38,    0,   50,   49,
408        51,    0,  164,    0,  164,  167,  168,  219,  215,  173,
409         0,  183,  184,  189,  186,  228,  233,    0,    0,  221,
410       229,  229,  229,    0,  130,    0,   21,   23,   24,  235,
411       241,  240,  239,  240,    0,    0,  225,  220,    0,    0,
412        53,   52,    0,  128,    0,    0,  129,  129,  129,  129,
413       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
414       129,  129,  129,  129,  129,  129,   55,  129,  129,  129,
415       129,  129,  129,  129,  129,  129,  129,  129,    0,   35,
416        34,   48,   45,   46,   47,   31,   32,   29,   26,   25,
417 
418       250,  248,  249,  237,    0,   16,   10,    0,   14,    0,
419         0,    0,    0,    0,    4,   16,    5,    0,    6,    0,
420       144,    0,  145,    0,  158,    0,  153,  153,    0,  153,
421       153,  153,  243,  243,  155,  154,    0,  156,  138,  146,
422         0,  152,    0,  131,  132,   40,   40,    0,   39,    0,
423         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
424         0,    0,  230,  229,  229,    0,    0,  220,    0,    0,
425         0,    0,  129,  129,  129,  129,  129,  129,   65,  129,
426       129,  129,   70,  129,  129,  129,  129,  129,  129,  129,
427       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
428 
429       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
430       129,  129,  129,  129,  129,  129,  129,  129,    0,    0,
431         0,    0,   14,    0,    0,    0,    0,    0,    0,    4,
432         8,    5,    0,  153,  153,  153,  153,  153,  153,  153,
433       243,  156,    0,    0,   40,   40,    0,    0,    0,    0,
434         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
435         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
436         0,    0,   56,   57,  129,  129,  129,  129,  129,  129,
437       129,  129,  129,  129,   71,   72,  129,  129,  129,  129,
438        77,   78,  129,  129,  129,  129,  129,  129,  129,   83,
439 
440       129,  129,  129,  129,  129,  129,  129,  129,  129,   92,
441       129,  129,  129,  129,  129,  129,  129,  129,  129,    0,
442         0,    0,    0,   15,    0,    0,    0,    0,    0,    8,
443         8,    8,    0,  153,  153,  153,  153,  153,  153,  153,
444         0,    0,   40,   40,  214,    0,    0,    0,    0,    0,
445         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
446         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
447         0,    0,   58,  129,   60,  129,   62,  129,  129,  129,
448       129,   68,  129,  129,  129,   73,  129,  129,  129,  129,
449       129,  129,  129,  129,  129,  129,  129,   86,  129,  129,
450 
451       129,  129,   90,  129,  129,  129,  129,  129,  129,  129,
452       129,  129,  129,    0,    0,    0,    0,    3,    0,    0,
453         0,    8,    7,    8,    0,  153,  153,  153,    0,    0,
454        40,   40,    0,    0,    0,    0,    0,    0,    0,    0,
455         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
456         0,    0,    0,    0,    0,    0,  222,  223,  222,  223,
457       129,   61,  129,  129,  129,  129,  129,  129,  129,  125,
458       129,  129,  129,  129,  129,  129,  129,  129,  123,  129,
459        85,  129,   88,  129,   89,  129,  129,  129,  104,    0,
460       129,   94,  129,    0,   95,    0,    0,    0,    0,    0,
461 
462        12,    0,   13,    0,  151,    0,  150,    0,    0,    0,
463         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
464         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
465         0,  129,  129,  129,  129,  129,   66,  129,   69,  129,
466       129,  129,  129,  129,  129,  122,  129,   82,  129,  129,
467        87,  129,   91,  102,  124,    0,    0,    0,    0,    0,
468         0,  129,  129,    0,    0,    0,    0,    0,    0,    0,
469         0,    0,    0,  150,    0,    0,    0,    0,    0,    0,
470         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
471         0,    0,    0,    0,    0,    0,    0,    0,  129,  129,
472 
473       129,  129,  129,   67,  129,  129,  129,  129,   79,  129,
474       129,  129,  129,  129,  129,    0,    0,  113,    0,    0,
475         0,    0,    0,    0,   93,  129,    0,    0,  114,    0,
476         0,    0,    0,    0,    0,    0,    0,    0,   11,    0,
477       190,  191,  192,  193,  194,  195,  196,  197,  198,  199,
478       200,    0,    0,    0,    0,    0,    0,    0,    0,    0,
479         0,    0,    0,    0,  129,  129,  129,  129,  129,  129,
480       129,  129,  129,  129,  129,  129,   84,  129,  129,    0,
481         0,    0,    0,    0,    0,  115,    0,  103,    0,    0,
482         0,    0,    0,  116,    0,    0,    0,    0,    0,  201,
483 
484       202,  203,  204,  205,  206,  207,  208,  209,  210,  211,
485       212,    0,  129,  129,  129,  129,  129,  121,  129,  129,
486        75,  129,  129,  129,  129,  129,    0,    0,  109,    0,
487       119,  117,  110,    0,    0,    0,  120,  118,    0,    0,
488         0,    0,    0,    0,  213,  129,  129,  129,  129,  129,
489       125,   74,  129,   81,  129,  126,  129,  105,  107,    0,
490       106,  108,    0,    0,    0,    0,    0,    0,    0,  129,
491        63,  129,  129,  129,  129,   76,  129,  111,  112,   97,
492         0,    0,    0,    0,   98,  129,  129,  129,  129,  129,
493       127,   96,    0,  100,    0,  129,  129,  129,   66,  129,
494 
495        99,  101,  129,   64,  129,  129,  129,   67,  129,  129,
496        80,   59,    0
497     } ;
498 
499 static const YY_CHAR yy_ec[256] =
500     {   0,
501         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
502         4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
503         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
504         1,    2,    1,    6,    7,    8,    9,    1,   10,   11,
505        12,   13,   14,   15,   16,   17,   18,   19,   19,   19,
506        19,   19,   19,   19,   20,   21,   22,   23,    1,   24,
507        25,   26,   27,    1,   28,   29,   30,   31,   32,   33,
508        34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
509        44,   45,   46,   47,   48,   49,   50,   51,   52,   44,
510        53,   54,   55,   56,   57,    1,   58,   59,   60,   61,
511 
512        62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
513        72,   73,   44,   74,   75,   76,   77,   78,   79,   80,
514        81,   44,   82,   83,   84,    1,    1,    1,    1,    1,
515         1,    1,    1,    1,    1,    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,    1,    1,    1,    1,    1,    1,    1,
522 
523         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
524         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
525         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
526         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
527         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
528         1,    1,    1,    1,    1
529     } ;
530 
531 static const YY_CHAR yy_meta[85] =
532     {   0,
533         1,    1,    2,    1,    3,    4,    1,    1,    5,    6,
534         1,    7,    8,    9,    1,   10,    1,   11,   12,   12,
535        12,   12,   13,    1,    1,    1,    1,   14,   14,   14,
536        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
537        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
538        15,   15,   16,   17,   18,    1,   19,   14,   14,   14,
539        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
540        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
541        15,   20,    1,   21
542     } ;
543 
544 static const flex_int16_t yy_base[1221] =
545     {   0,
546         0,   84,  167,  250,  171,  184,  135,  142,  220,  231,
547       196,  200,  334,    0, 3627, 3625,  211,  416,  203,  212,
548       189,  225,  266,  417,  500,    0,  207,  208,  234,  421,
549       424,  436,  583,  588,  669,    0,  294,  304,  584,  751,
550       579,  580,  417,  576,  287,  306,  241,  441,  595,  608,
551       169,  238,  440,  754, 3680, 4511,  325, 4511, 3676,    0,
552       446, 4511, 3673,  430,  827, 3661,    0, 4511,  758, 4511,
553      3650, 4511,  453, 3621, 4511, 4511, 3619, 3584,  129,  746,
554       445,  766, 4511, 3604,  198, 3582, 4511, 4511, 4511, 3600,
555         0, 3599,  214,    0, 3506, 3483,    0, 4511, 3532, 4511,
556 
557       420,  119, 3481, 3478, 3446,    0, 3526, 4511, 3520, 4511,
558       482, 3520, 3518, 4511, 3455,    0, 4511, 4511, 4511, 3504,
559      4511,  598, 4511, 4511, 4511, 3499, 4511,  754, 4511, 3477,
560       759,  180, 4511, 4511, 3467,    0, 3442,  762, 4511,    0,
561      4511, 3459, 4511, 3406, 3434,    0,  562,  167, 3393, 3370,
562      4511, 4511,  326, 4511,  420,    0, 4511, 3418, 3402, 3366,
563      3342,    0, 4511, 3368, 4511, 3317,  444, 3314, 4511,  471,
564      4511, 3354, 3271, 3337,  572,  189, 3295, 3285, 4511, 3332,
565      4511, 3307, 3303,  585,  594, 4511,  746,  734,  744,  754,
566       763,  770,    0,  755,  748,  763,  818,  789,  240,  822,
567 
568       762,  381,  802,  791,  813,  824,  577, 4511, 4511, 3302,
569       871,    0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511,
570      4511, 4511, 4511, 4511, 4511, 4511, 4511,    0, 4511, 3279,
571      4511, 4511, 4511, 3276, 3260, 3259,    0, 3221, 3214,    0,
572      3264, 4511,  835, 4511, 3262,    0,  903, 4511, 3257,  842,
573       817,    0,    0,  910,  914,  918,  922,    0,  814,    0,
574       457, 4511,    0,  943, 4511, 3241, 3141,  483, 4511, 3217,
575      3212, 4511,  826,  556,  903,  930, 4511,  757,    0, 3134,
576      3131, 4511, 3129,  964, 4511, 3190, 3110, 3174, 3161, 4511,
577         0, 4511,  896, 4511,    0, 3172,    0,    0,    0, 4511,
578 
579      4511,    0, 4511,  910,  913, 4511, 4511,  602,    0, 3169,
580      4511,  957, 3164, 3161, 3127, 4511,    0, 4511,  976, 4511,
581      1020, 4511, 4511, 4511, 4511,    0, 4511, 3116,    0, 4511,
582         0,  926,  930,  644, 4511,  662,    0, 4511, 4511,    0,
583      4511, 4511, 3071, 3121,  794, 3037, 4511,    0,  934,  932,
584      3117, 4511, 3091, 4511,  938,  939,    0,  940,  738,  956,
585       802, 3059,  876,  978,  933,  933,  939,  948,  964, 1030,
586       938,  958,  976,  968,    0,  996, 4511,  999, 1057, 1068,
587       981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511,
588      1014,    0, 4511, 4511, 4511,    0, 4511, 4511, 4511, 4511,
589 
590         0, 4511, 4511,    0, 1078,    0,    0, 1153, 4511, 3063,
591      1166, 1077, 1076, 1091,    0, 1089,    0, 1018, 4511, 1022,
592      4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242,
593      1177, 1308, 1105,    0, 4511, 4511, 2954, 1198, 4511, 4511,
594      1144,    0, 1137,    0,    0, 1161, 1156, 1123, 4511, 1202,
595      1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321,
596      1323, 1382, 4511, 1172, 1166, 2589, 2537,    0, 1178, 1169,
597      1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323,    0, 1341,
598      1332, 1348,    0, 1346, 1350, 1348, 1361, 1350, 1367, 2573,
599      1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400,
600 
601      1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424,
602      1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450,
603      1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451,    0,
604      1143,    0, 1461, 1534, 1600, 1636,  204, 2525, 1606, 1681,
605      4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600,
606      1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654,
607      1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674,
608      1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692,
609      1731, 1711, 1702, 1718,    0,    0, 1719, 1706, 1716, 1735,
610         0,    0, 2553, 1722, 1732, 2540, 1725, 1722, 1733,    0,
611 
612      1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746,    0,
613      1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769,
614      1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780,    0,
615      1507, 1234, 2364,  732, 2273, 1809, 1845, 1430, 1076, 1585,
616      1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821,
617      1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825,
618      1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891,
619      1882, 1899,    0, 1887,    0, 1892,    0, 2260, 1900, 1891,
620      1909,    0, 1904, 2253, 1902,    0, 1916, 1907, 1918, 2227,
621      1912, 1909, 1924, 2201, 1908, 1918, 1922,    0, 1934, 1925,
622 
623      1931, 1947,    0, 1936, 1942, 1941, 1953, 2103, 1957, 1958,
624      1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961,
625      1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983,
626         0,    0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007,
627      2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029,
628      2037, 2035, 2045, 2051, 2054, 2061,    0,    0, 4511, 4511,
629      1922,    0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831,
630      2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085,    0, 2091,
631         0, 2074,    0, 1824,    0, 2091, 2094, 2082,    0, 2116,
632      2088,    0, 2092, 2133,    0, 1728, 2097, 2095, 1714, 1678,
633 
634      4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601,
635      1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128,
636      2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167,
637      2164, 2157, 2151, 2159, 2158, 2173,    0, 2165,    0, 2166,
638      2182, 2173, 2179, 2178, 2186,    0, 2185,    0, 2187, 2193,
639         0, 2202,    0,    0,    0, 2204, 2187, 2201, 2224, 2200,
640      2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162,
641      1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057,  984,
642       976,  969,  923,  913,  910,  931,  895,  891,  887,  881,
643       874,  856,  848,  843,  840,  804,  788, 2259, 2248, 2258,
644 
645      2265, 2264, 2241,    0, 2254, 2265, 2268, 2279,    0, 2262,
646      2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281,
647      2281, 2300, 2283, 2281,    0, 2303, 2307, 2292, 4511, 2302,
648      2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362,
649      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
650      4511,  746,  725,  597,  577,  441,  426,  420,  267,  253,
651       247,  230,  183,  181, 2317, 2338, 2342, 2330, 2336, 2343,
652      2339, 2331, 2334, 2350, 2341, 2345,    0, 2350, 2346, 2344,
653      2349, 2361, 2364, 2367, 2359, 4511, 2357,    0, 2358, 2362,
654      2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511,
655 
656      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
657      4511,  122, 2399, 2398, 2382, 2391, 2391,    0, 2407, 2408,
658         0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414,
659      4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437,
660      2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452,
661         0,    0, 2461,    0, 2444,    0, 2459, 4511, 4511, 2452,
662      4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481,
663         0, 2468, 2465, 2465, 2485,    0, 2465, 4511, 4511, 4511,
664      2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490,
665         0, 4511, 2497, 4511, 2510, 2500, 2502, 2500,    0, 2514,
666 
667      4511, 4511, 2516,    0, 2523, 2508, 2509,    0, 2528, 2531,
668         0,    0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719,
669      2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929,
670      2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108,
671      3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292,
672      3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463,
673      3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609,
674      3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789,
675      3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973,
676      3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167,
677 
678      4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325,
679      4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
680     } ;
681 
682 static const flex_int16_t yy_def[1221] =
683     {   0,
684      1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
685      1119, 1119, 1113,   13, 1120, 1120, 1121, 1121, 1122, 1122,
686      1123, 1123, 1124, 1124, 1113,   25, 1125, 1125, 1126, 1126,
687      1127, 1127, 1128, 1128, 1113,   35, 1129, 1129, 1130, 1130,
688      1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126,
689      1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135,
690      1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113,
691      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139,
692      1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
693      1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113,
694 
695      1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113,
696      1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113,
697      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113,
698      1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148,
699      1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113,
700      1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113,
701      1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113,
702      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
703      1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156,
704      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156,
705 
706      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158,
707      1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
708      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160,
709      1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162,
710      1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113,
711      1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167,
712      1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113,
713      1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113,
714      1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
715      1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113,
716 
717      1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113,
718      1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113,
719      1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113,
720      1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189,
721      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113,
722      1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192,
723      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
724      1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192,
725      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113,
726      1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113,
727 
728      1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113,
729      1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203,
730      1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113,
731      1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113,
732      1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212,
733      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
734      1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113,
735      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
736      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
737      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
738 
739      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
740      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113,
741      1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201,
742      1218, 1202, 1113, 1113, 1205,  432,  430,  430, 1205,  432,
743      1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213,
744      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
745      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
746      1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217,
747      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
748      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
749 
750      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
751      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
752      1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218,
753      1218, 1218, 1113,  534,  534, 1205,  432, 1205, 1205, 1205,
754      1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213,
755      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
756      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
757      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
758      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
759      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
760 
761      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
762      1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113,
763      1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113,
764      1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
765      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
766      1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113,
767      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
768      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
769      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
770      1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219,
771 
772      1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213,
773      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
774      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
775      1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
776      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
777      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
778      1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
779      1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
780      1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213,
781      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217,
782 
783      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
784      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
785      1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113,
786      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220,
787      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
788      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
789      1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217,
790      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
791      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113,
792      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
793 
794      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
795      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
796      1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113,
797      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
798      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
799      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
800      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217,
801      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
802      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
803      1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
804 
805      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
806      1217, 1217,    0, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
807      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
808      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
809      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
810      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
811      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
812      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
813      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
814      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
815 
816      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
817      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
818     } ;
819 
820 static const flex_int16_t yy_nxt[4596] =
821     {   0,
822        56,   57,   58,   56,   59,   56,   56,   56,   56,   56,
823        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
824        56,   56,   56,   56,   56,   56,   56,   60,   60,   60,
825        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
826        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
827        60,   60,   56,   56,   56,   56,   60,   60,   60,   60,
828        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
829        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
830        60,   56,   56,   56,   56,   61,   62,   56,   63,   56,
831        64,   56,   65,   56,   56,   56,   56,   56,   56,   56,
832 
833        56,   66,   56,   56,   56,   56,   56,   56,   56,   56,
834        56,   67,   67,   67,   67,   67,   67,   67,   67,   67,
835        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
836        67,   67,   67,   67,   67,   67,   56,   56,   56,   56,
837        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
838        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
839        67,   67,   67,   67,   67,   56,   56,   56,   69,   70,
840       305,   71,   72,   89,   73,   90, 1045,   74,   75,   76,
841        76,  275,  276,   76,   77,   92,   89,   95,   90,   96,
842        78,   56,   93,   76,   95,  323,   96,  107,  108,  305,
843 
844       109,  107,  108, 1012,  109,  125,  291,  126,  127,  154,
845       154,  155,  155,  119,  125,  120,  126,  127,  333,   79,
846        80,  238,   98,  239,   99,  121,  638,   56,  100,  122,
847       122,  122,  122,   98,  323,   99,  157, 1011,  158,  105,
848       350,  130,  131,  233,  132,  234,  159,  333,   81,   76,
849        76,   82,   83,  235,   84,   72,  128,   73,   85,  427,
850        74,   75,   76,   76,  101,  128,   76,   77,  134,  350,
851       135,  102,  103,   86,  104,  101,   76,  130,  131,  292,
852       132,  136,  102,  103, 1010,  104,  160,  378,  161,  229,
853       238,  230,  239,  101,  123,  297,  209,  298,  231,  210,
854 
855       102, 1009,   79,   80,  101,   87,  209, 1008,  229,  210,
856       230,  102,  211,  211,  211,  211,  378,  231,  137,  138,
857       139, 1007,  211,  211,  211,  211,  243,  244,  335,  245,
858       336,   81,   76,   76,  110,  111,  112,  110,  113,  110,
859       110,  110,  110,  110,  110,  110,  114,  110,  114,  110,
860       110,  110,  110,  110,  110,  110,  110,  110,  110,  115,
861       110,  116,  116,  116,  116,  116,  116,  116,  116,  116,
862       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
863       116,  116,  116,  116,  116,  116,  110,  110,  110,  110,
864       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
865 
866       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
867       116,  116,  116,  116,  116,  110,  110,  110,  119,  134,
868       120,  135,  335,  157,  336,  158,  163,  383,  164,  165,
869       121,  250,  136,  159,  122,  122,  122,  122,  163,  224,
870       164,  165,  163,  233,  241,  234,  343,  247,  248,  242,
871       249,  304,  225,  235,  269,  269,  383,  270,  280,  419,
872       281,  420,  226,  282,  282,  282,  282,  227,  251,  137,
873       138,  139,  345,  160, 1006,  161,  166,  167,  168,  346,
874      1005,  304,  225,  312,  313,  423,  314,  424,  166,  167,
875       168,  226,  166,  167,  168, 1004,  227,  344,  251,  123,
876 
877       140,  140,  141,  140,  142,  143,  140,  140,  140,  144,
878       140,  140,  140,  140,  140,  140,  140,  145,  140,  140,
879       140,  140,  140,  140,  140,  140,  140,  146,  146,  146,
880       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
881       146,  146,  146,  146,  147,  146,  146,  146,  146,  146,
882       146,  148,  149,  140,  150,  140,  146,  146,  146,  146,
883       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
884       146,  146,  146,  147,  146,  146,  146,  146,  146,  146,
885       148,  151,  140,  152,  170,  171,  213,  172,  214,  170,
886       171,  173,  172,  332,  219,  219,  173,  157,  224,  158,
887 
888       174,  220,  220,  349,  449,  174,  450,  236,  428,  429,
889       157,  225,  158,  355,  221,  221,  319,  319,  319,  319,
890       236,  226,  356,  332,  222,  222,  227,  175,  388,  223,
891       223, 1003,  175,  349,  176,  177,  215,  178,  216,  176,
892       177,  225,  178,  355,  221,  221,  335,  160,  336,  161,
893       226, 1002,  356,  222,  222,  227,  175,  388,  223,  223,
894       160,  175,  161,  176,  335,  217,  336,  218,  176,  179,
895       180,  181,  179,  182,  183,  179,  179,  179,  179,  179,
896       179,  179,  179,  179,  179,  179,  179,  179,  184,  185,
897       179,  179,  179,  186,  179,  179,  187,  188,  189,  190,
898 
899       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
900       199,  200,  193,  201,  202,  203,  204,  205,  206,  193,
901       207,  179,  179,  179,  179,  179,  187,  188,  189,  190,
902       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
903       199,  200,  201,  202,  203,  204,  205,  206,  193,  207,
904       179,  179,  179,  213,  726,  214,  163,  362,  241,  264,
905       265,  360,  266,  242,  278,  278,  267,  284,  285,  361,
906       286,  363,  278,  278,  287,  433,  433,  278,  278, 1001,
907       278,  278,  475,  288,  358,  364,  369,  427,  370,  289,
908       359,  360,  365,  382,  371,  345,  279,  367,  372,  361,
909 
910      1000,  363,  346,  215,  279,  216,  166,  167,  168,  279,
911       963,  475,  279,  366,  358,  364,  369,  368,  370,  359,
912       376,  290,  365,  382,  371,  279,  962,  367,  372,  384,
913       377,  385,  217,  279,  218,  253,  243,  244,  279,  245,
914       268,  279,  366,  250,  386,  373,  368,  478,  268,  374,
915       376,  387,  405,  379,  254,  416,  255,  426,  255,  384,
916       377,  385,  961,  380,  255,  960,  381,  255,  256,  257,
917       959,  255,  258,  259,  386,  373,  478,  260,  958,  374,
918       251,  387,  405,  379,  254,  416,  255,  426,  255,  391,
919       391,  391,  391,  380,  255,  381,  957,  255,  256,  257,
920 
921       255,  258,  259,  956,  247,  248,  260,  249,  261,  955,
922       251,  408,  409,  954,  410,  408,  409,  953,  410,  408,
923       409,  480,  410,  408,  409,  430,  410,  443,  411,  411,
924       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
925       411,  411,  411,  411,  264,  265,  446,  266,  431,  431,
926       480,  267,  447,  952,  412,  428,  429,  443,  312,  313,
927       413,  314,  464,  414,  951,  284,  285,  950,  286,  465,
928       469,  470,  287,  471,  472,  473,  446,  949,  483,  484,
929       432,  288,  447,  412,  485,  476,  486,  289,  490,  474,
930       413,  487,  464,  414,  319,  319,  319,  319,  491,  465,
931 
932       469,  470,  477,  471,  472,  473,  481,  483,  484,  432,
933       482,  492,  499,  485,  493,  476,  486,  490,  474,  290,
934       419,  487,  420,  948,  419,  268,  420,  423,  491,  424,
935       947,  477,  391,  391,  391,  391,  481,  423,  946,  424,
936       482,  492,  499,  493,  494,  495,  268,  451,  452,  453,
937       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
938       455,  455,  458,  455,  455,  459,  455,  460,  455,  455,
939       461,  455,  488,  494,  495,  462,  489,  451,  452,  453,
940       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
941       455,  455,  458,  455,  459,  455,  460,  455,  455,  461,
942 
943       455,  496,  488,  497,  503,  489,  500,  504,  505,  506,
944       501,  945,  508,  498,  509,  502,  507,  944,  520,  428,
945       429,  527,  528,  277,  277,  449,  529,  450,  428,  429,
946       496,  531,  533,  497,  503,  943,  500,  504,  505,  506,
947       501,  508,  498,  509,  631,  502,  507,  510,  520,  511,
948       527,  528,  512,  513,  522,  523,  529,  524,  514,  515,
949       534,  531,  533,  942,  516,  517,  941,  526,  409,  518,
950       410,  525,  525,  525,  525,  543,  519,  510,  544,  511,
951       535,  535,  512,  513,  411,  411,  411,  411,  514,  515,
952       428,  429,  545,  516,  517,  539,  539,  546,  518,  542,
953 
954       542,  542,  542,  569,  449,  543,  450,  570,  544,  571,
955       572,  624,  536,  625,  936,  573,  427,  523,  935,  625,
956       526,  409,  545,  410,  632,  885,  624,  546,  625,  428,
957       429,  626,  523,  569,  524,  722,  723,  570,  724,  571,
958       572,  536,  427,  427,  573,  427,  427,  427,  427,  427,
959       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
960       427,  427,  427,  427,  427,  427,  427,  427,  427,  537,
961       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
962       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
963       537,  537,  537,  537,  428,  429,  884,  538,  427,  537,
964 
965       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
966       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
967       537,  537,  537,  427,  427,  427,  540,  540,  540,  540,
968       547,  547,  547,  547,  547,  540,  540,  540,  540,  540,
969       540,  547,  547,  547,  574,  547,  548,  549,  575,  547,
970       550,  576,  553,  558,  551,  883,  552,  577,  578,  579,
971       428,  429,  556,  557,  580,  540,  540,  540,  540,  540,
972       540,  554,  581,  574,  555,  583,  548,  549,  575,  582,
973       550,  576,  553,  558,  551,  552,  586,  577,  578,  579,
974       584,  587,  556,  557,  580,  882,  585,  588,  589,  881,
975 
976       554,  591,  581,  555, 1113,  583,  592,  593,  582,  559,
977       560,  561,  562,  594,  595,  563,  586,  596,  597,  584,
978       564,  587,  598,  599,  565,  585,  588,  566,  589,  567,
979       600,  591,  568,  601,  602,  603,  592,  593,  606,  559,
980       560,  561,  562,  594,  595,  563,  607,  596,  597,  604,
981       564,  608,  598,  599,  565,  605,  566,  609,  567,  610,
982       600,  568,  611,  601,  602,  603,  612,  614,  606,  613,
983       615,  616,  617,  618,  620,  607,  619,  621,  622,  604,
984       608,  623,  428,  429,  274,  605,  644,  609,  627,  610,
985       628,  629,  611,  633,  641,  642,  612,  614,  613,  880,
986 
987       615,  616,  617,  618,  620,  619,  621,  622,  631,  522,
988       523,  623,  524,  626,  523,  644,  524,  801,  627,  802,
989       628,  629,  879,  633,  641,  642,  525,  525,  525,  525,
990       525,  525,  525,  525,  427,  427,  878,  427,  427,  427,
991       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
992       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
993       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
994       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
995       634,  634,  634,  634,  634,  634,  428,  429,  632,  635,
996       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
997 
998       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
999       634,  634,  634,  634,  634,  427,  427,  427,  636,  636,
1000       643,  547,  547,  877,  639,  639,  547,  547,  547,  547,
1001       547,  648,  651,  547,  876,  547,  547,  428,  429,  646,
1002       650,  647,  547,  653,  428,  429,  649,  655,  656,  657,
1003       643,  658,  428,  429,  637,  637,  637,  637,  428,  429,
1004       652,  648,  651,  637,  637,  637,  637,  637,  637,  646,
1005       650,  647,  547,  653,  547,  649,  547,  655,  656,  657,
1006       801,  658,  802,  547,  669,  547,  547,  661,  547,  652,
1007       654,  671,  659,  637,  637,  637,  637,  637,  637,  640,
1008 
1009       640,  640,  640,  660,  547,  662,  666,  663,  640,  640,
1010       640,  640,  640,  640,  669,  547,  547,  661,  670,  672,
1011       654,  671,  659,  673,  668,  875,  664,  674,  675,  665,
1012       676,  677,  678,  660,  662,  667,  666,  663,  640,  640,
1013       640,  640,  640,  640,  682,  684,  679,  670,  672,  683,
1014       685,  874,  686,  673,  668,  664,  674,  675,  665,  676,
1015       687,  677,  678,  680,  688,  667,  690,  691,  695,  681,
1016       872,  693,  694,  696,  682,  684,  697,  698,  683,  699,
1017       685,  686,  700,  701,  869,  702,  703,  704,  705,  687,
1018       706,  707,  709,  680,  688,  690,  708,  691,  695,  681,
1019 
1020       693,  694,  696,  710,  711,  713,  697,  698,  712,  699,
1021       714,  700,  716,  701,  702,  703,  715,  704,  705,  717,
1022       706,  707,  709,  719,  720,  708,  721,  727,  727,  729,
1023       547,  731,  710,  547,  711,  713,  547,  712,  732,  852,
1024       714,  757,  716,  547,  547,  715,  841,  547,  734,  717,
1025       738,  547,  719,  739,  720,  721,  737,  547,  733,  729,
1026       731,  428,  429,  728,  728,  728,  728,  547,  732,  735,
1027       757,  748,  728,  728,  728,  728,  728,  728,  734,  736,
1028       738,  547,  547,  739,  547,  740,  737,  733,  741,  742,
1029       547,  547,  547,  743,  428,  429,  547,  747,  547,  735,
1030 
1031       748,  744,  728,  728,  728,  728,  728,  728,  736,  745,
1032       547,  746,  547,  547,  753,  740,  547,  750,  741,  742,
1033       547,  749,  758,  743,  547,  751,  752,  747,  759,  754,
1034       760,  744,  761,  756,  762,  764,  755,  832,  766,  745,
1035       767,  746,  768,  771,  753,  765,  770,  750,  772,  773,
1036       775,  749,  758,  776,  751,  777,  752,  759,  779,  754,
1037       760,  761,  780,  756,  762,  764,  755,  766,  781,  782,
1038       767,  783,  768,  771,  765,  770,  784,  785,  772,  773,
1039       775,  786,  776,  787,  789,  777,  788,  779,  791,  792,
1040       793,  780,  795,  796,  547,  797,  798,  781,  799,  782,
1041 
1042       783,  803,  804,  722,  723,  784,  724,  785,  807,  547,
1043       786,  808,  547,  787,  789,  788,  547,  809,  791,  792,
1044       793,  547,  795,  796,  797,  811,  798,  547,  799,  547,
1045       547,  803,  804,  428,  429,  427,  810,  547,  547,  547,
1046       812,  808,  813,  547,  547,  547,  547,  809,  547,  814,
1047       806,  547,  547,  815,  817,  811,  819,  547,  821,  547,
1048       818,  816,  822,  805,  820,  824,  810,  547,  826,  812,
1049       823,  825,  813,  547,  828,  827,  547,  833,  814,  835,
1050       829,  836,  815,  547,  817,  830,  819,  834,  821,  818,
1051       816,  837,  822,  820,  831,  824,  838,  839,  826,  823,
1052 
1053       840,  825,  842,  843,  828,  827,  844,  833,  845,  835,
1054       829,  836,  846,  847,  849,  830,  848,  834,  850,  723,
1055       851,  837,  853,  854,  831,  838,  839,  855,  862,  840,
1056       863,  870,  842,  843,  718,  871,  844,  801,  845,  802,
1057       873,  794,  846,  847,  849,  848,  856,  857,  850,  851,
1058       547,  858,  853,  854,  859,  547,  855,  860,  862,  790,
1059       863,  870,  861,  864,  865,  871,  547,  887,  866,  873,
1060       547,  867,  547,  547,  868,  888,  856,  857,  547,  886,
1061       547,  858,  890,  547,  859,  547,  547,  860,  889,  547,
1062       892,  861,  899,  864,  865,  900,  891,  887,  866,  898,
1063 
1064       901,  867,  893,  902,  868,  888,  547,  894,  886,  895,
1065       904,  897,  890,  903,  906,  896,  778,  905,  889,  907,
1066       892,  908,  899,  909,  900,  891,  910,  911,  912,  898,
1067       901,  893,  902,  913,  914,  916,  894,  917,  895,  904,
1068       897,  918,  774,  903,  906,  896,  905,  923,  907,  928,
1069       915,  908,  909,  924,  925,  919,  910,  911,  912,  920,
1070       926,  927,  921,  913,  914,  916,  917,  929,  769,  933,
1071       934,  918,  922,  937,  930,  763,  923,  931,  928,  915,
1072       939,  547,  940,  924,  925,  919,  969,  932,  965,  920,
1073       926,  927,  921,  966,  967,  968,  970,  929,  933,  934,
1074 
1075       971,  922,  937,  972,  930,  964,  973,  931,  974,  975,
1076       976,  730,  977,  978,  979,  969,  932,  980,  965,  981,
1077       982,  983,  984,  966,  967,  968,  970,  985,  427,  986,
1078       971,  987,  988,  972,  964,  989,  973,  974,  990,  975,
1079       976,  977,  991,  978,  979,  992,  993,  980,  981,  994,
1080       982,  983,  984,  995,  996,  999,  997,  985,  986,  939,
1081       987,  940,  988, 1013,  939,  989,  940,  990, 1014, 1015,
1082      1016, 1017,  991,  998, 1018,  992,  993, 1019,  994, 1020,
1083      1021, 1022,  995,  996,  999, 1023,  997, 1024, 1025,  725,
1084      1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015,
1085 
1086      1016, 1017,  998, 1033, 1018, 1034, 1035, 1019, 1020, 1021,
1087      1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026,
1088      1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041,
1089      1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052,
1090      1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057,
1091      1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063,
1092      1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052,
1093      1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057,
1094      1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063,
1095      1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082,
1096 
1097      1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087,
1098      1072, 1088, 1073, 1089, 1090,  718, 1091, 1074, 1075, 1076,
1099      1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082,
1100      1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087,
1101      1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106,
1102      1092, 1107, 1093, 1094, 1108,  692, 1109, 1110, 1095, 1111,
1103      1096, 1097, 1112, 1098, 1099, 1100,  375,  375,  689,  434,
1104      1101,  434,  541, 1102,  541, 1103, 1104, 1105,  645, 1106,
1105       427, 1107,  415,  415, 1108, 1109, 1110,  415,  590, 1111,
1106       344,  343, 1112,   68,   68,   68,   68,   68,   68,   68,
1107 
1108        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
1109        68,   68,   68,   68,   88,   88,   88,   88,   88,   88,
1110        88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
1111        88,   88,   88,   88,   88,   91,   91,   91,   91,   91,
1112        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
1113        91,   91,   91,   91,   91,   91,   94,   94,   94,   94,
1114        94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
1115        94,   94,   94,   94,   94,   94,   94,   97,   97,   97,
1116        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
1117        97,   97,   97,   97,   97,   97,   97,   97,  106,  106,
1118 
1119       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
1120       106,  106,  106,  106,  106,  106,  106,  106,  106,   56,
1121        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1122        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1123       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1124       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1125       118,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1126       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1127       124,  124,  129,  129,  129,  129,  129,  129,  129,  129,
1128       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
1129 
1130       129,  129,  129,  133,  133,  133,  133,  133,  133,  133,
1131       133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
1132       133,  133,  133,  133,  153,  153,  153,  153,  153,  153,
1133       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
1134       153,  153,  153,  153,  153,  156,  156,  156,  156,  156,
1135       156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
1136       156,  156,  156,  156,  156,  156,  162,  162,  162,  162,
1137       162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
1138       162,  162,  162,  162,  162,  162,  162,  169,  169,  169,
1139       169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
1140 
1141       169,  169,  169,  169,  169,  169,  169,  169,  208,  208,
1142       208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
1143       208,  208,  208,  208,  208,  208,  208,  208,  208,  212,
1144       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1145       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1146       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1147       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1148       228,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1149       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1150       232,  232,  237,  237,  237,  237,  237,  237,  237,  237,
1151 
1152       237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
1153       237,  237,  237,  240,  240,  240,  240,  240,  240,  240,
1154       240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
1155       240,  240,  240,  240,  246,  547,  246,  438,  246,  246,
1156       455,  455,  455,  246,  252,  252,  252,  252,  252,  252,
1157       252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
1158       252,  252,  252,  252,  263,  409,  263,  390,  263,  263,
1159       417,  417,  479,  263,  274,  417,  274,  274,  274,  274,
1160       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1161       274,  274,  274,  274,  274,  277,  354,  277,  277,  277,
1162 
1163       277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
1164       277,  277,  277,  277,  277,  277,  283,  283,  351,  283,
1165       348,  283,  283,  467,  466,  463,  283,  295,  315,  295,
1166       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1167       295,  295,  295,  295,  295,  295,  295,  295,  299,  299,
1168       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1169       299,  299,  299,  313,  299,  315,  299,  299,  299,  302,
1170       310,  302,  302,  296,  302,  302,  302,  302,  302,  302,
1171       302,  302,  302,  302,  441,  302,  440,  302,  302,  302,
1172       309,  439,  285,  309,  309,  309,  309,  309,  309,  309,
1173 
1174       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1175       309,  317,  438,  317,  436,  317,  317,  435,  425,  269,
1176       317,  322,  421,  322,  322,  322,  322,  322,  322,  322,
1177       322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
1178       322,  322,  325,  265,  325,  325,  325,  325,  325,  325,
1179       325,  325,  325,  325,  325,  325,  325,  325,  325,  248,
1180       325,  325,  325,  326,  244,  326,  341,  326,  403,  326,
1181       326,  326,  326,  402,  326,  326,  400,  399,  398,  326,
1182       328,  397,  328,  328,  328,  395,  328,  328,  328,  328,
1183       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1184 
1185       328,  331,  394,  331,  393,  331,  331,  390,  354,  352,
1186       331,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1187       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1188       334,  334,  337,  351,  337,  337,  337,  337,  337,  307,
1189       337,  337,  337,  337,  337,  337,  337,  306,  337,  330,
1190       337,  337,  337,  340,  348,  340,  347,  340,  340,  340,
1191       340,  340,  340,  340,  340,  340,  340,  340,  307,  306,
1192       341,  340,  340,  340,  342,  342,  342,  342,  342,  342,
1193       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1194       342,  342,  342,  342,  342,  353,  307,  353,  353,  353,
1195 
1196       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1197       353,  353,  353,  353,  353,  353,  357,  357,  306,  339,
1198       338,  357,  357,  389,  307,  389,  389,  389,  389,  389,
1199       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1200       389,  389,  389,  389,  392,  306,  330,  392,  392,  392,
1201       392,  392,  392,  392,  392,  392,  392,  392,  392,  329,
1202       392,  327,  392,  396,  321,  396,  396,  396,  396,  324,
1203       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1204       396,  396,  396,  396,  401,  401,  401,  401,  401,  401,
1205       401,  401,  401,  401,  401,  401,  401,  401,  401,  321,
1206 
1207       401,  320,  401,  401,  401,  404,  318,  404,  404,  404,
1208       316,  404,  404,  404,  404,  404,  404,  404,  404,  404,
1209       313,  315,  311,  404,  404,  404,  246,  310,  246,  308,
1210       246,  246,  307,  306,  303,  246,  406,  301,  406,  406,
1211       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1212       406,  406,  406,  406,  406,  406,  406,  407,  300,  407,
1213       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1214       407,  407,  407,  407,  407,  407,  407,  407,  418,  418,
1215       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1216       418,  418,  418,  418,  418,  418,  418,  418,  418,  263,
1217 
1218       296,  263,  294,  263,  263,  293,  285,  273,  263,  422,
1219       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1220       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1221       427,  272,  427,  427,  427,  427,  427,  427,  427,  427,
1222       427,  427,  427,  427,  427,  427,  427,  271,  427,  427,
1223       427,  274,  265,  274,  274,  274,  274,  274,  274,  274,
1224       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1225       274,  274,  437,  262,  437,  248,  437,  437,  244, 1113,
1226       117,  437,  117,  437,  442, 1113,  442,  442,  442,  442,
1227       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1228 
1229       442,  442,  442,  442,  442,  295, 1113,  295,  295,  295,
1230       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1231       295,  295,  295,  295,  295,  295,  444, 1113,  444,  444,
1232       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1233       444,  444,  444,  444,  444,  444,  444,  445, 1113,  445,
1234       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1235       445,  445,  445,  445,  445,  445,  445,  445,  299,  299,
1236       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1237       299,  299,  299, 1113,  299, 1113,  299,  299,  299,  302,
1238      1113,  302,  302, 1113,  302,  302,  302,  302,  302,  302,
1239 
1240       302,  302,  302,  302, 1113,  302, 1113,  302,  302,  302,
1241       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1242       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1243       448,  309, 1113, 1113,  309,  309,  309,  309,  309,  309,
1244       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1245       309,  309,  317, 1113,  317, 1113,  317,  317, 1113, 1113,
1246      1113,  317,  326, 1113,  326, 1113,  326, 1113,  326,  326,
1247       326,  326, 1113,  326,  326, 1113, 1113, 1113,  326,  328,
1248      1113,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1249       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1250 
1251       331, 1113,  331, 1113,  331,  331, 1113, 1113, 1113,  331,
1252       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1253       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1254       334,  337, 1113,  337,  337,  337,  337,  337, 1113,  337,
1255       337,  337,  337,  337,  337,  337, 1113,  337, 1113,  337,
1256       337,  337,  340, 1113,  340, 1113,  340,  340,  340,  340,
1257       340,  340,  340,  340,  340,  340,  340, 1113, 1113, 1113,
1258       340,  340,  340,  468, 1113,  468,  468,  468,  468,  468,
1259       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1260       468,  468,  468,  468,  353, 1113,  353,  353,  353,  353,
1261 
1262       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1263       353,  353,  353,  353,  353,  357,  357, 1113, 1113, 1113,
1264       357,  357,  389, 1113,  389,  389,  389,  389,  389,  389,
1265       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1266       389,  389,  389,  392, 1113, 1113,  392,  392,  392,  392,
1267       392,  392,  392,  392,  392,  392,  392,  392, 1113,  392,
1268      1113,  392,  396, 1113,  396,  396,  396,  396, 1113,  396,
1269       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1270       396,  396,  396,  401,  401,  401,  401,  401,  401,  401,
1271       401,  401,  401,  401,  401,  401,  401,  401, 1113,  401,
1272 
1273      1113,  401,  401,  401,  404, 1113,  404,  404,  404, 1113,
1274       404,  404,  404,  404,  404,  404,  404,  404,  404, 1113,
1275      1113, 1113,  404,  404,  404,  406, 1113,  406,  406,  406,
1276       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1277       406,  406,  406,  406,  406,  406,  407, 1113,  407,  407,
1278       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1279       407,  407,  407,  407,  407,  407,  407,  521,  521,  521,
1280       521,  521,  521,  521,  521,  521,  521,  521,  521,  521,
1281       521,  521,  521,  521,  521,  521,  521,  521,  530, 1113,
1282       530, 1113,  530,  530, 1113, 1113, 1113,  530,  532, 1113,
1283 
1284       532, 1113,  532,  532, 1113, 1113, 1113,  532,  418,  418,
1285       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1286       418,  418,  418,  418,  418,  418,  418,  418,  418,  422,
1287       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1288       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1289       427, 1113,  427,  427,  427,  427,  427,  427,  427,  427,
1290       427,  427,  427,  427,  427,  427,  427, 1113,  427,  427,
1291       427,  437, 1113,  437, 1113,  437,  437, 1113, 1113, 1113,
1292       437, 1113,  437,  442, 1113,  442,  442,  442,  442,  442,
1293       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1294 
1295       442,  442,  442,  442,  444, 1113,  444,  444,  444,  444,
1296       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1297       444,  444,  444,  444,  444,  445, 1113,  445,  445,  445,
1298       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1299       445,  445,  445,  445,  445,  445,  302, 1113,  302,  302,
1300      1113,  302,  302,  302,  302,  302,  302,  302,  302,  302,
1301       302, 1113,  302, 1113,  302,  302,  302,  448,  448,  448,
1302       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1303       448,  448,  448,  448,  448,  448,  448,  448,  331, 1113,
1304       331, 1113,  331,  331, 1113, 1113, 1113,  331,  342, 1113,
1305 
1306       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1307       342,  342,  342,  342,  342,  342,  342,  342,  342,  468,
1308      1113,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1309       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1310       357,  357, 1113, 1113, 1113,  357,  357,  630, 1113,  630,
1311       630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
1312       630,  630,  630,  630,  630,  630,  630,  630,  800,  800,
1313       800,  800,  800,  800,  800,  800,  800,  800,  800,  800,
1314       800,  800,  800,  800,  800,  800,  800,  800,  800,  938,
1315       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1316 
1317       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1318        55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1319      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1320      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1321      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1322      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1323      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1324      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1325      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1326      1113, 1113, 1113, 1113, 1113
1327 
1328     } ;
1329 
1330 static const flex_int16_t yy_chk[4596] =
1331     {   0,
1332         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1333         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1334         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1335         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1336         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1337         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1338         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1339         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1340         1,    1,    1,    1,    2,    2,    2,    2,    2,    2,
1341         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1342 
1343         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1344         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1345         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1346         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1347         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1348         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1349         2,    2,    2,    2,    2,    2,    2,    2,    3,    3,
1350       102,    3,    3,    5,    3,    5, 1012,    3,    3,    3,
1351         3,   79,   79,    3,    3,    6,    6,    7,    6,    7,
1352         3,   21,    6,    3,    8,  132,    8,   11,   11,  102,
1353 
1354        11,   12,   12,  964,   12,   19,   85,   19,   19,   27,
1355        28,   27,   28,   17,   20,   17,   20,   20,  148,    3,
1356         3,   51,    9,   51,    9,   17,  537,   22,    9,   17,
1357        17,   17,   17,   10,  132,   10,   29,  963,   29,   10,
1358       176,   21,   21,   47,   21,   47,   29,  148,    3,    3,
1359         3,    4,    4,   47,    4,    4,   19,    4,    4,  537,
1360         4,    4,    4,    4,    9,   20,    4,    4,   23,  176,
1361        23,    9,    9,    4,    9,   10,    4,   22,   22,   85,
1362        22,   23,   10,   10,  962,   10,   29,  199,   29,   45,
1363        52,   45,   52,    9,   17,   93,   37,   93,   45,   37,
1364 
1365         9,  961,    4,    4,   10,    4,   38,  960,   46,   38,
1366        46,   10,   37,   37,   37,   37,  199,   46,   23,   23,
1367        23,  959,   38,   38,   38,   38,   57,   57,  153,   57,
1368       153,    4,    4,    4,   13,   13,   13,   13,   13,   13,
1369        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1370        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1371        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1372        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1373        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1374        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1375 
1376        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1377        13,   13,   13,   13,   13,   13,   13,   13,   18,   24,
1378        18,   24,  155,   30,  155,   30,   31,  202,   31,   31,
1379        18,   64,   24,   30,   18,   18,   18,   18,   32,   43,
1380        32,   32,   53,   48,   53,   48,  167,   61,   61,   53,
1381        61,  101,   43,   48,   73,   73,  202,   73,   81,  261,
1382        81,  261,   43,   81,   81,   81,   81,   43,   64,   24,
1383        24,   24,  170,   30,  958,   30,   31,   31,   31,  170,
1384       957,  101,   43,  111,  111,  268,  111,  268,   32,   32,
1385        32,   43,   53,   53,   53,  956,   43,  167,   64,   18,
1386 
1387        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1388        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1389        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1390        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1391        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1392        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1393        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1394        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1395        25,   25,   25,   25,   33,   33,   39,   33,   39,   34,
1396        34,   33,   34,  147,   41,   42,   34,   49,   44,   49,
1397 
1398        33,   41,   42,  175,  308,   34,  308,   49,  274,  274,
1399        50,   44,   50,  184,   41,   42,  122,  122,  122,  122,
1400        50,   44,  185,  147,   41,   42,   44,   33,  207,   41,
1401        42,  955,   34,  175,   33,   33,   39,   33,   39,   34,
1402        34,   44,   34,  184,   41,   42,  334,   49,  334,   49,
1403        44,  954,  185,   41,   42,   44,   33,  207,   41,   42,
1404        50,   34,   50,   33,  336,   39,  336,   39,   34,   35,
1405        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1406        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1407        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1408 
1409        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1410        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1411        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1412        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1413        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1414        35,   35,   35,   40,  634,   40,   54,  189,   54,   69,
1415        69,  188,   69,   54,   80,   80,   69,   82,   82,  188,
1416        82,  189,  128,  128,   82,  278,  278,  131,  131,  953,
1417       138,  138,  359,   82,  187,  190,  194,  634,  195,   82,
1418       187,  188,  191,  201,  196,  345,   80,  192,  196,  188,
1419 
1420       952,  189,  345,   40,  128,   40,   54,   54,   54,  131,
1421       897,  359,  138,  191,  187,  190,  194,  192,  195,  187,
1422       198,   82,  191,  201,  196,   80,  896,  192,  196,  203,
1423       198,  204,   40,  128,   40,   65,  243,  243,  131,  243,
1424        69,  138,  191,  250,  205,  197,  192,  361,   82,  197,
1425       198,  206,  251,  200,   65,  259,   65,  273,   65,  203,
1426       198,  204,  895,  200,   65,  894,  200,   65,   65,   65,
1427       893,   65,   65,   65,  205,  197,  361,   65,  892,  197,
1428       250,  206,  251,  200,   65,  259,   65,  273,   65,  211,
1429       211,  211,  211,  200,   65,  200,  891,   65,   65,   65,
1430 
1431        65,   65,   65,  890,  247,  247,   65,  247,   65,  889,
1432       250,  254,  254,  888,  254,  255,  255,  887,  255,  256,
1433       256,  363,  256,  257,  257,  275,  257,  293,  254,  254,
1434       254,  254,  255,  255,  255,  255,  256,  256,  256,  256,
1435       257,  257,  257,  257,  264,  264,  304,  264,  276,  276,
1436       363,  264,  305,  886,  254,  275,  275,  293,  312,  312,
1437       256,  312,  332,  257,  885,  284,  284,  884,  284,  333,
1438       349,  350,  284,  355,  356,  358,  304,  883,  365,  366,
1439       276,  284,  305,  254,  367,  360,  368,  284,  371,  358,
1440       256,  369,  332,  257,  319,  319,  319,  319,  372,  333,
1441 
1442       349,  350,  360,  355,  356,  358,  364,  365,  366,  276,
1443       364,  373,  381,  367,  374,  360,  368,  371,  358,  284,
1444       418,  369,  418,  882,  420,  264,  420,  422,  372,  422,
1445       881,  360,  391,  391,  391,  391,  364,  424,  880,  424,
1446       364,  373,  381,  374,  376,  378,  284,  321,  321,  321,
1447       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1448       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1449       321,  321,  370,  376,  378,  321,  370,  321,  321,  321,
1450       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1451       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1452 
1453       321,  379,  370,  380,  383,  370,  382,  383,  384,  385,
1454       382,  879,  386,  380,  387,  382,  385,  878,  405,  427,
1455       427,  412,  413,  433,  433,  448,  414,  448,  639,  639,
1456       379,  416,  426,  380,  383,  877,  382,  383,  384,  385,
1457       382,  386,  380,  387,  531,  382,  385,  388,  405,  388,
1458       412,  413,  388,  388,  408,  408,  414,  408,  388,  388,
1459       428,  416,  426,  876,  388,  388,  875,  411,  411,  388,
1460       411,  408,  408,  408,  408,  441,  388,  388,  443,  388,
1461       429,  429,  388,  388,  411,  411,  411,  411,  388,  388,
1462       428,  428,  446,  388,  388,  431,  431,  447,  388,  438,
1463 
1464       438,  438,  438,  464,  450,  441,  450,  465,  443,  469,
1465       470,  521,  429,  521,  871,  471,  429,  524,  870,  524,
1466       526,  526,  446,  526,  531,  818,  625,  447,  625,  431,
1467       431,  626,  626,  464,  626,  632,  632,  465,  632,  469,
1468       470,  429,  430,  430,  471,  430,  430,  430,  430,  430,
1469       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1470       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1471       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1472       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1473       430,  430,  430,  430,  430,  430,  817,  430,  430,  430,
1474 
1475       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1476       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1477       430,  430,  430,  430,  430,  430,  432,  432,  432,  432,
1478       451,  452,  453,  457,  456,  432,  432,  432,  432,  432,
1479       432,  454,  459,  460,  472,  461,  451,  452,  473,  458,
1480       453,  474,  457,  461,  454,  816,  456,  475,  476,  477,
1481       432,  432,  459,  460,  478,  432,  432,  432,  432,  432,
1482       432,  458,  480,  472,  458,  482,  451,  452,  473,  481,
1483       453,  474,  457,  461,  454,  456,  486,  475,  476,  477,
1484       484,  487,  459,  460,  478,  815,  485,  488,  489,  814,
1485 
1486       458,  491,  480,  458,  462,  482,  492,  493,  481,  462,
1487       462,  462,  462,  494,  495,  462,  486,  496,  497,  484,
1488       462,  487,  498,  499,  462,  485,  488,  462,  489,  462,
1489       500,  491,  462,  501,  502,  503,  492,  493,  505,  462,
1490       462,  462,  462,  494,  495,  462,  506,  496,  497,  504,
1491       462,  507,  498,  499,  462,  504,  462,  508,  462,  509,
1492       500,  462,  510,  501,  502,  503,  511,  513,  505,  512,
1493       514,  515,  516,  517,  519,  506,  518,  519,  519,  504,
1494       507,  520,  638,  638,  638,  504,  546,  508,  527,  509,
1495       528,  529,  510,  533,  543,  544,  511,  513,  512,  813,
1496 
1497       514,  515,  516,  517,  519,  518,  519,  519,  631,  522,
1498       522,  520,  522,  525,  525,  546,  525,  719,  527,  719,
1499       528,  529,  812,  533,  543,  544,  522,  522,  522,  522,
1500       525,  525,  525,  525,  534,  534,  811,  534,  534,  534,
1501       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1502       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1503       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1504       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1505       534,  534,  534,  534,  534,  534,  534,  534,  631,  534,
1506       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1507 
1508       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1509       534,  534,  534,  534,  534,  534,  534,  534,  535,  535,
1510       545,  548,  550,  810,  539,  539,  549,  552,  557,  551,
1511       554,  549,  552,  553,  809,  559,  558,  640,  640,  548,
1512       551,  548,  556,  554,  727,  727,  550,  556,  557,  558,
1513       545,  559,  535,  535,  536,  536,  536,  536,  539,  539,
1514       553,  549,  552,  536,  536,  536,  536,  536,  536,  548,
1515       551,  548,  555,  554,  562,  550,  560,  556,  557,  558,
1516       800,  559,  800,  563,  569,  561,  566,  562,  564,  553,
1517       555,  571,  560,  536,  536,  536,  536,  536,  536,  540,
1518 
1519       540,  540,  540,  561,  565,  563,  566,  564,  540,  540,
1520       540,  540,  540,  540,  569,  567,  568,  562,  570,  572,
1521       555,  571,  560,  575,  568,  808,  565,  576,  577,  565,
1522       578,  579,  580,  561,  563,  567,  566,  564,  540,  540,
1523       540,  540,  540,  540,  582,  584,  581,  570,  572,  583,
1524       587,  806,  588,  575,  568,  565,  576,  577,  565,  578,
1525       589,  579,  580,  581,  590,  567,  594,  595,  599,  581,
1526       799,  597,  598,  601,  582,  584,  602,  603,  583,  604,
1527       587,  588,  605,  606,  796,  607,  608,  609,  611,  589,
1528       612,  613,  615,  581,  590,  594,  614,  595,  599,  581,
1529 
1530       597,  598,  601,  616,  617,  619,  602,  603,  618,  604,
1531       620,  605,  621,  606,  607,  608,  620,  609,  611,  622,
1532       612,  613,  615,  627,  628,  614,  629,  636,  636,  641,
1533       651,  643,  616,  646,  617,  619,  647,  618,  644,  784,
1534       620,  669,  621,  650,  652,  620,  770,  660,  647,  622,
1535       651,  648,  627,  652,  628,  629,  650,  649,  646,  641,
1536       643,  636,  636,  637,  637,  637,  637,  653,  644,  648,
1537       669,  660,  637,  637,  637,  637,  637,  637,  647,  649,
1538       651,  654,  655,  652,  656,  653,  650,  646,  654,  655,
1539       657,  658,  659,  656,  728,  728,  665,  659,  663,  648,
1540 
1541       660,  657,  637,  637,  637,  637,  637,  637,  649,  658,
1542       661,  658,  662,  664,  665,  653,  667,  662,  654,  655,
1543       668,  661,  670,  656,  666,  663,  664,  659,  671,  666,
1544       672,  657,  674,  668,  676,  679,  667,  761,  680,  658,
1545       681,  658,  683,  687,  665,  679,  685,  662,  688,  689,
1546       691,  661,  670,  692,  663,  693,  664,  671,  695,  666,
1547       672,  674,  696,  668,  676,  679,  667,  680,  697,  699,
1548       681,  700,  683,  687,  679,  685,  701,  702,  688,  689,
1549       691,  704,  692,  705,  707,  693,  706,  695,  709,  710,
1550       711,  696,  713,  714,  733,  715,  716,  697,  717,  699,
1551 
1552       700,  720,  721,  722,  722,  701,  722,  702,  730,  736,
1553       704,  733,  734,  705,  707,  706,  737,  734,  709,  710,
1554       711,  735,  713,  714,  715,  736,  716,  739,  717,  740,
1555       738,  720,  721,  726,  726,  726,  735,  741,  743,  745,
1556       737,  733,  738,  744,  747,  742,  746,  734,  748,  739,
1557       729,  750,  749,  740,  742,  736,  744,  752,  746,  751,
1558       743,  741,  747,  725,  745,  749,  735,  753,  751,  737,
1559       748,  750,  738,  754,  753,  752,  755,  763,  739,  764,
1560       754,  765,  740,  756,  742,  755,  744,  763,  746,  743,
1561       741,  766,  747,  745,  756,  749,  767,  768,  751,  748,
1562 
1563       769,  750,  771,  772,  753,  752,  773,  763,  774,  764,
1564       754,  765,  775,  776,  778,  755,  777,  763,  780,  724,
1565       782,  766,  786,  787,  756,  767,  768,  788,  791,  769,
1566       793,  797,  771,  772,  718,  798,  773,  802,  774,  802,
1567       804,  712,  775,  776,  778,  777,  790,  790,  780,  782,
1568       820,  790,  786,  787,  790,  819,  788,  790,  791,  708,
1569       793,  797,  790,  794,  794,  798,  823,  820,  794,  804,
1570       821,  794,  824,  822,  794,  821,  790,  790,  825,  819,
1571       826,  790,  823,  827,  790,  828,  831,  790,  822,  830,
1572       825,  790,  832,  794,  794,  833,  824,  820,  794,  831,
1573 
1574       834,  794,  826,  835,  794,  821,  829,  827,  819,  828,
1575       838,  830,  823,  836,  841,  829,  694,  840,  822,  842,
1576       825,  843,  832,  844,  833,  824,  845,  847,  849,  831,
1577       834,  826,  835,  850,  852,  856,  827,  857,  828,  838,
1578       830,  858,  690,  836,  841,  829,  840,  860,  842,  865,
1579       852,  843,  844,  861,  862,  859,  845,  847,  849,  859,
1580       863,  864,  859,  850,  852,  856,  857,  866,  684,  868,
1581       869,  858,  859,  872,  867,  678,  860,  867,  865,  852,
1582       873,  898,  873,  861,  862,  859,  903,  867,  899,  859,
1583       863,  864,  859,  900,  901,  902,  905,  866,  868,  869,
1584 
1585       906,  859,  872,  907,  867,  898,  908,  867,  910,  911,
1586       912,  642,  913,  914,  915,  903,  867,  916,  899,  917,
1587       919,  920,  921,  900,  901,  902,  905,  922,  635,  923,
1588       906,  924,  926,  907,  898,  927,  908,  910,  928,  911,
1589       912,  913,  930,  914,  915,  931,  932,  916,  917,  933,
1590       919,  920,  921,  934,  935,  937,  936,  922,  923,  938,
1591       924,  938,  926,  965,  940,  927,  940,  928,  966,  967,
1592       968,  969,  930,  936,  970,  931,  932,  971,  933,  972,
1593       973,  974,  934,  935,  937,  975,  936,  976,  978,  633,
1594       979,  980,  965,  981,  982,  983,  984,  985,  966,  967,
1595 
1596       968,  969,  936,  987,  970,  989,  990,  971,  972,  973,
1597       991,  974,  992,  993,  975,  995,  999,  976,  978,  979,
1598       980,  996,  981,  998,  982,  983,  984,  985, 1015,  997,
1599      1013, 1014,  987,  997,  989,  990, 1016, 1017, 1019, 1020,
1600       991, 1022,  992,  993, 1023,  995,  999, 1024, 1025, 1026,
1601       996, 1027,  998, 1028, 1030, 1034, 1035, 1015,  997, 1036,
1602      1013, 1014,  997, 1039, 1040, 1016, 1017, 1041, 1019, 1020,
1603      1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026,
1604      1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036,
1605      1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066,
1606 
1607      1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072,
1608      1048, 1073, 1049, 1074, 1075,  623, 1077, 1050, 1053, 1055,
1609      1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066,
1610      1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072,
1611      1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100,
1612      1081, 1103, 1082, 1083, 1105,  596, 1106, 1107, 1084, 1109,
1613      1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157,  593, 1173,
1614      1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098,  547, 1100,
1615       538, 1103, 1166, 1166, 1105, 1106, 1107, 1166,  490, 1109,
1616       467,  466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1617 
1618      1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1619      1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
1620      1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1621      1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116,
1622      1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1623      1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117,
1624      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1625      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118,
1626      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1627      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
1628 
1629      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1630      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
1631      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1632      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1633      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1634      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1635      1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1636      1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1637      1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1638      1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1639 
1640      1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1641      1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1642      1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125,
1643      1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1644      1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126,
1645      1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1646      1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
1647      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1648      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
1649      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1650 
1651      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129,
1652      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1653      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
1654      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1655      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1656      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1657      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1658      1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1659      1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1660      1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1661 
1662      1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1663      1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1664      1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1665      1134, 1134, 1134, 1134, 1135,  455, 1135,  437, 1135, 1135,
1666      1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136,
1667      1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1668      1136, 1136, 1136, 1136, 1137,  410, 1137,  389, 1137, 1137,
1669      1167, 1167,  362, 1137, 1138, 1167, 1138, 1138, 1138, 1138,
1670      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1671      1138, 1138, 1138, 1138, 1138, 1139,  353, 1139, 1139, 1139,
1672 
1673      1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1674      1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140,  351, 1140,
1675       346, 1140, 1140,  344,  343,  328, 1140, 1141,  315, 1141,
1676      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1677      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142,
1678      1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1679      1142, 1142, 1142,  314, 1142,  313, 1142, 1142, 1142, 1143,
1680       310, 1143, 1143,  296, 1143, 1143, 1143, 1143, 1143, 1143,
1681      1143, 1143, 1143, 1143,  289, 1143,  288, 1143, 1143, 1143,
1682      1144,  287,  286, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1683 
1684      1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1685      1144, 1145,  283, 1145,  281, 1145, 1145,  280,  271,  270,
1686      1145, 1146,  267, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1687      1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1688      1146, 1146, 1147,  266, 1147, 1147, 1147, 1147, 1147, 1147,
1689      1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,  249,
1690      1147, 1147, 1147, 1148,  245, 1148,  241, 1148,  239, 1148,
1691      1148, 1148, 1148,  238, 1148, 1148,  236,  235,  234, 1148,
1692      1149,  230, 1149, 1149, 1149,  216, 1149, 1149, 1149, 1149,
1693      1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1694 
1695      1149, 1150,  215, 1150,  214, 1150, 1150,  210,  183,  182,
1696      1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1697      1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1698      1151, 1151, 1152,  180, 1152, 1152, 1152, 1152, 1152,  178,
1699      1152, 1152, 1152, 1152, 1152, 1152, 1152,  177, 1152,  174,
1700      1152, 1152, 1152, 1153,  173, 1153,  172, 1153, 1153, 1153,
1701      1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,  168,  166,
1702       164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1703      1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1704      1154, 1154, 1154, 1154, 1154, 1155,  161, 1155, 1155, 1155,
1705 
1706      1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1707      1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156,  160,  159,
1708       158, 1156, 1156, 1158,  150, 1158, 1158, 1158, 1158, 1158,
1709      1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1710      1158, 1158, 1158, 1158, 1159,  149,  145, 1159, 1159, 1159,
1711      1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,  144,
1712      1159,  142, 1159, 1160,  137, 1160, 1160, 1160, 1160,  135,
1713      1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1714      1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
1715      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,  130,
1716 
1717      1161,  126, 1161, 1161, 1161, 1162,  120, 1162, 1162, 1162,
1718       115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1719       113,  112,  109, 1162, 1162, 1162, 1163,  107, 1163,  105,
1720      1163, 1163,  104,  103,   99, 1163, 1164,   96, 1164, 1164,
1721      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1722      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165,   95, 1165,
1723      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1724      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168,
1725      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1726      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169,
1727 
1728        92, 1169,   90, 1169, 1169,   86,   84,   78, 1169, 1170,
1729      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1730      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1731      1171,   77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1732      1171, 1171, 1171, 1171, 1171, 1171, 1171,   74, 1171, 1171,
1733      1171, 1172,   71, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1734      1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1735      1172, 1172, 1174,   66, 1174,   63, 1174, 1174,   59,   55,
1736        16, 1174,   15, 1174, 1175,    0, 1175, 1175, 1175, 1175,
1737      1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1738 
1739      1175, 1175, 1175, 1175, 1175, 1176,    0, 1176, 1176, 1176,
1740      1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1741      1176, 1176, 1176, 1176, 1176, 1176, 1177,    0, 1177, 1177,
1742      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1743      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178,    0, 1178,
1744      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1745      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179,
1746      1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1747      1179, 1179, 1179,    0, 1179,    0, 1179, 1179, 1179, 1180,
1748         0, 1180, 1180,    0, 1180, 1180, 1180, 1180, 1180, 1180,
1749 
1750      1180, 1180, 1180, 1180,    0, 1180,    0, 1180, 1180, 1180,
1751      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1752      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1753      1181, 1182,    0,    0, 1182, 1182, 1182, 1182, 1182, 1182,
1754      1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1755      1182, 1182, 1183,    0, 1183,    0, 1183, 1183,    0,    0,
1756         0, 1183, 1184,    0, 1184,    0, 1184,    0, 1184, 1184,
1757      1184, 1184,    0, 1184, 1184,    0,    0,    0, 1184, 1185,
1758         0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1759      1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1760 
1761      1186,    0, 1186,    0, 1186, 1186,    0,    0,    0, 1186,
1762      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1763      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1764      1187, 1188,    0, 1188, 1188, 1188, 1188, 1188,    0, 1188,
1765      1188, 1188, 1188, 1188, 1188, 1188,    0, 1188,    0, 1188,
1766      1188, 1188, 1189,    0, 1189,    0, 1189, 1189, 1189, 1189,
1767      1189, 1189, 1189, 1189, 1189, 1189, 1189,    0,    0,    0,
1768      1189, 1189, 1189, 1190,    0, 1190, 1190, 1190, 1190, 1190,
1769      1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1770      1190, 1190, 1190, 1190, 1191,    0, 1191, 1191, 1191, 1191,
1771 
1772      1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1773      1191, 1191, 1191, 1191, 1191, 1192, 1192,    0,    0,    0,
1774      1192, 1192, 1193,    0, 1193, 1193, 1193, 1193, 1193, 1193,
1775      1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1776      1193, 1193, 1193, 1194,    0,    0, 1194, 1194, 1194, 1194,
1777      1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,    0, 1194,
1778         0, 1194, 1195,    0, 1195, 1195, 1195, 1195,    0, 1195,
1779      1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1780      1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
1781      1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,    0, 1196,
1782 
1783         0, 1196, 1196, 1196, 1197,    0, 1197, 1197, 1197,    0,
1784      1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,    0,
1785         0,    0, 1197, 1197, 1197, 1198,    0, 1198, 1198, 1198,
1786      1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1787      1198, 1198, 1198, 1198, 1198, 1198, 1199,    0, 1199, 1199,
1788      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1789      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1790      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1791      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201,    0,
1792      1201,    0, 1201, 1201,    0,    0,    0, 1201, 1202,    0,
1793 
1794      1202,    0, 1202, 1202,    0,    0,    0, 1202, 1203, 1203,
1795      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1796      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204,
1797      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1798      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1799      1205,    0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1800      1205, 1205, 1205, 1205, 1205, 1205, 1205,    0, 1205, 1205,
1801      1205, 1207,    0, 1207,    0, 1207, 1207,    0,    0,    0,
1802      1207,    0, 1207, 1208,    0, 1208, 1208, 1208, 1208, 1208,
1803      1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1804 
1805      1208, 1208, 1208, 1208, 1209,    0, 1209, 1209, 1209, 1209,
1806      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1807      1209, 1209, 1209, 1209, 1209, 1210,    0, 1210, 1210, 1210,
1808      1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1809      1210, 1210, 1210, 1210, 1210, 1210, 1211,    0, 1211, 1211,
1810         0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1811      1211,    0, 1211,    0, 1211, 1211, 1211, 1212, 1212, 1212,
1812      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1813      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214,    0,
1814      1214,    0, 1214, 1214,    0,    0,    0, 1214, 1215,    0,
1815 
1816      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1817      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
1818         0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1819      1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1820      1217, 1217,    0,    0,    0, 1217, 1217, 1218,    0, 1218,
1821      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1822      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1823      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1824      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220,
1825      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1826 
1827      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1828      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1829      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1830      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1831      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1832      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1833      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1834      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1835      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1836      1113, 1113, 1113, 1113, 1113
1837 
1838     } ;
1839 
1840 static yy_state_type yy_last_accepting_state;
1841 static char *yy_last_accepting_cpos;
1842 
1843 extern int yy_flex_debug;
1844 int yy_flex_debug = 0;
1845 
1846 /* The intent behind this definition is that it'll catch
1847  * any uses of REJECT which flex missed.
1848  */
1849 #define REJECT reject_used_but_not_detected
1850 #define yymore() yymore_used_but_not_detected
1851 #define YY_MORE_ADJ 0
1852 #define YY_RESTORE_YY_MORE_OFFSET
1853 char *yytext;
1854 #line 1 "scan.l"
1855 /* scan.l - scanner for flex input -*-C-*- */
1856 #line 4 "scan.l"
1857 /*  Copyright (c) 1990 The Regents of the University of California. */
1858 /*  All rights reserved. */
1859 
1860 /*  This code is derived from software contributed to Berkeley by */
1861 /*  Vern Paxson. */
1862 
1863 /*  The United States Government has rights in this work pursuant */
1864 /*  to contract no. DE-AC03-76SF00098 between the United States */
1865 /*  Department of Energy and the University of California. */
1866 
1867 /*  This file is part of flex. */
1868 
1869 /*  Redistribution and use in source and binary forms, with or without */
1870 /*  modification, are permitted provided that the following conditions */
1871 /*  are met: */
1872 
1873 /*  1. Redistributions of source code must retain the above copyright */
1874 /*     notice, this list of conditions and the following disclaimer. */
1875 /*  2. Redistributions in binary form must reproduce the above copyright */
1876 /*     notice, this list of conditions and the following disclaimer in the */
1877 /*     documentation and/or other materials provided with the distribution. */
1878 
1879 /*  Neither the name of the University nor the names of its contributors */
1880 /*  may be used to endorse or promote products derived from this software */
1881 /*  without specific prior written permission. */
1882 
1883 /*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1884 /*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1885 /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1886 /*  PURPOSE. */
1887 
1888 #include "flexdef.h"
1889 #include "parse.h"
1890 extern bool tablesverify, tablesext;
1891 extern int trlcontxt; /* Set in  parse.y for each rule. */
1892 extern const char *escaped_qstart, *escaped_qend;
1893 extern int yylval;
1894 
1895 #define M4QSTART "[""["
1896 #define M4QEND "]""]"
1897 
1898 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART
1899 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART
1900 
1901 #define ACTION_ECHO add_action( yytext )
1902 #define ACTION_IFDEF(def, should_define) \
1903 	{ \
1904 	if ( should_define ) \
1905 		action_define( def, 1 ); \
1906 	}
1907 
1908 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART)
1909 #define ACTION_ECHO_QEND   add_action (ESCAPED_QEND)
1910 
1911 #define ACTION_M4_IFDEF(def, should_define) \
1912     do{ \
1913         if ( should_define ) \
1914             buf_m4_define( &m4defs_buf, def, NULL);\
1915         else \
1916             buf_m4_undefine( &m4defs_buf, def);\
1917     } while(0)
1918 
1919 #define MARK_END_OF_PROLOG mark_prolog();
1920 
1921 #define YY_DECL \
1922 	int flexscan(void)
1923 
1924 #define RETURNCHAR \
1925 	yylval = (unsigned char) yytext[0]; \
1926 	return CHAR;
1927 
1928 #define RETURNNAME \
1929 	if(yyleng < MAXLINE) \
1930          { \
1931 	strncpy( nmstr, yytext, sizeof(nmstr) ); \
1932 	return NAME; \
1933 	 } \
1934 	else \
1935 	 do { \
1936 	   synerr(_("Input line too long\n")); \
1937 	   FLEX_EXIT(EXIT_FAILURE);  \
1938 	 } while (0)
1939 
1940 #define PUT_BACK_STRING(str, start) \
1941 	{ size_t i = strlen( str );	\
1942 	  while ( i > start )		\
1943 	    unput((str)[--i]);		\
1944 	}
1945 
1946 #define CHECK_REJECT(str) \
1947 	if ( all_upper( str ) ) \
1948 		reject = true;
1949 
1950 #define CHECK_YYMORE(str) \
1951 	if ( all_lower( str ) ) \
1952 		yymore_used = true;
1953 
1954 #define YY_USER_INIT \
1955 	if ( getenv("POSIXLY_CORRECT") ) \
1956 		posix_compat = true;
1957 
1958 #define START_CODEBLOCK(x) do { \
1959     /* Emit the needed line directive... */\
1960     if (indented_code == false) { \
1961         linenum++; \
1962         line_directive_out(NULL, 1); \
1963     } \
1964     add_action(M4QSTART); \
1965     yy_push_state(CODEBLOCK); \
1966     if ((indented_code = x)) ACTION_ECHO; \
1967 } while(0)
1968 
1969 #define END_CODEBLOCK do { \
1970     yy_pop_state();\
1971     add_action(M4QEND); \
1972     if (!indented_code) line_directive_out(NULL, 0);\
1973 } while (0)
1974 
1975 #line 1974 "<stdout>"
1976 
1977 #line 1976 "<stdout>"
1978 
1979 #define INITIAL 0
1980 #define SECT2 1
1981 #define SECT2PROLOG 2
1982 #define SECT3 3
1983 #define CODEBLOCK 4
1984 #define PICKUPDEF 5
1985 #define SC 6
1986 #define CARETISBOL 7
1987 #define NUM 8
1988 #define QUOTE 9
1989 #define FIRSTCCL 10
1990 #define CCL 11
1991 #define ACTION 12
1992 #define RECOVER 13
1993 #define COMMENT 14
1994 #define ACTION_STRING 15
1995 #define PERCENT_BRACE_ACTION 16
1996 #define OPTION 17
1997 #define LINEDIR 18
1998 #define CODEBLOCK_MATCH_BRACE 19
1999 #define GROUP_WITH_PARAMS 20
2000 #define GROUP_MINUS_PARAMS 21
2001 #define EXTENDED_COMMENT 22
2002 #define COMMENT_DISCARD 23
2003 #define CODE_COMMENT 24
2004 #define SECT3_NOESCAPE 25
2005 #define CHARACTER_CONSTANT 26
2006 
2007 #ifndef YY_NO_UNISTD_H
2008 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2009  * down here because we want the user's section 1 to have been scanned first.
2010  * The user has a chance to override it with an option.
2011  */
2012 #include <unistd.h>
2013 #endif
2014 
2015 #ifndef YY_EXTRA_TYPE
2016 #define YY_EXTRA_TYPE void *
2017 #endif
2018 
2019 static int yy_init_globals ( void );
2020 
2021 /* Accessor methods to globals.
2022    These are made visible to non-reentrant scanners for convenience. */
2023 
2024 int yylex_destroy ( void );
2025 
2026 int yyget_debug ( void );
2027 
2028 void yyset_debug ( int debug_flag  );
2029 
2030 YY_EXTRA_TYPE yyget_extra ( void );
2031 
2032 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2033 
2034 FILE *yyget_in ( void );
2035 
2036 void yyset_in  ( FILE * _in_str  );
2037 
2038 FILE *yyget_out ( void );
2039 
2040 void yyset_out  ( FILE * _out_str  );
2041 
2042 			int yyget_leng ( void );
2043 
2044 char *yyget_text ( void );
2045 
2046 int yyget_lineno ( void );
2047 
2048 void yyset_lineno ( int _line_number  );
2049 
2050 /* Macros after this point can all be overridden by user definitions in
2051  * section 1.
2052  */
2053 
2054 #ifndef YY_SKIP_YYWRAP
2055 #ifdef __cplusplus
2056 extern "C" int yywrap ( void );
2057 #else
2058 extern int yywrap ( void );
2059 #endif
2060 #endif
2061 
2062 #ifndef YY_NO_UNPUT
2063 
2064     static void yyunput ( int c, char *buf_ptr  );
2065 
2066 #endif
2067 
2068 #ifndef yytext_ptr
2069 static void yy_flex_strncpy ( char *, const char *, int );
2070 #endif
2071 
2072 #ifdef YY_NEED_STRLEN
2073 static int yy_flex_strlen ( const char * );
2074 #endif
2075 
2076 #ifndef YY_NO_INPUT
2077 #ifdef __cplusplus
2078 static int yyinput ( void );
2079 #else
2080 static int input ( void );
2081 #endif
2082 
2083 #endif
2084 
2085         static int yy_start_stack_ptr = 0;
2086         static int yy_start_stack_depth = 0;
2087         static int *yy_start_stack = NULL;
2088 
2089     static void yy_push_state ( int _new_state );
2090 
2091     static void yy_pop_state ( void );
2092 
2093 /* Amount of stuff to slurp up with each read. */
2094 #ifndef YY_READ_BUF_SIZE
2095 #ifdef __ia64__
2096 /* On IA-64, the buffer size is 16k, not 8k */
2097 #define YY_READ_BUF_SIZE 16384
2098 #else
2099 #define YY_READ_BUF_SIZE 8192
2100 #endif /* __ia64__ */
2101 #endif
2102 
2103 /* Copy whatever the last rule matched to the standard output. */
2104 #ifndef ECHO
2105 /* This used to be an fputs(), but since the string might contain NUL's,
2106  * we now use fwrite().
2107  */
2108 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2109 #endif
2110 
2111 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2112  * is returned in "result".
2113  */
2114 #ifndef YY_INPUT
2115 #define YY_INPUT(buf,result,max_size) \
2116 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2117 		{ \
2118 		int c = '*'; \
2119 		int n; \
2120 		for ( n = 0; n < max_size && \
2121 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2122 			buf[n] = (char) c; \
2123 		if ( c == '\n' ) \
2124 			buf[n++] = (char) c; \
2125 		if ( c == EOF && ferror( yyin ) ) \
2126 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
2127 		result = n; \
2128 		} \
2129 	else \
2130 		{ \
2131 		errno=0; \
2132 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2133 			{ \
2134 			if( errno != EINTR) \
2135 				{ \
2136 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2137 				break; \
2138 				} \
2139 			errno=0; \
2140 			clearerr(yyin); \
2141 			} \
2142 		}\
2143 \
2144 
2145 #endif
2146 
2147 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2148  * we don't want an extra ';' after the "return" because that will cause
2149  * some compilers to complain about unreachable statements.
2150  */
2151 #ifndef yyterminate
2152 #define yyterminate() return YY_NULL
2153 #endif
2154 
2155 /* Number of entries by which start-condition stack grows. */
2156 #ifndef YY_START_STACK_INCR
2157 #define YY_START_STACK_INCR 25
2158 #endif
2159 
2160 /* Report a fatal error. */
2161 #ifndef YY_FATAL_ERROR
2162 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2163 #endif
2164 
2165 /* end tables serialization structures and prototypes */
2166 
2167 /* Default declaration of generated scanner - a define so the user can
2168  * easily add parameters.
2169  */
2170 #ifndef YY_DECL
2171 #define YY_DECL_IS_OURS 1
2172 
2173 extern int yylex (void);
2174 
2175 #define YY_DECL int yylex (void)
2176 #endif /* !YY_DECL */
2177 
2178 /* Code executed at the beginning of each rule, after yytext and yyleng
2179  * have been set up.
2180  */
2181 #ifndef YY_USER_ACTION
2182 #define YY_USER_ACTION
2183 #endif
2184 
2185 /* Code executed at the end of each rule. */
2186 #ifndef YY_BREAK
2187 #define YY_BREAK /*LINTED*/break;
2188 #endif
2189 
2190 #define YY_RULE_SETUP \
2191 	if ( yyleng > 0 ) \
2192 		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2193 				(yytext[yyleng - 1] == '\n'); \
2194 	YY_USER_ACTION
2195 
2196 /** The main scanner function which does all the work.
2197  */
2198 YY_DECL
2199 {
2200 	yy_state_type yy_current_state;
2201 	char *yy_cp, *yy_bp;
2202 	int yy_act;
2203 
2204 	if ( !(yy_init) )
2205 		{
2206 		(yy_init) = 1;
2207 
2208 #ifdef YY_USER_INIT
2209 		YY_USER_INIT;
2210 #endif
2211 
2212 		if ( ! (yy_start) )
2213 			(yy_start) = 1;	/* first start state */
2214 
2215 		if ( ! yyin )
2216 			yyin = stdin;
2217 
2218 		if ( ! yyout )
2219 			yyout = stdout;
2220 
2221 		if ( ! YY_CURRENT_BUFFER ) {
2222 			yyensure_buffer_stack ();
2223 			YY_CURRENT_BUFFER_LVALUE =
2224 				yy_create_buffer( yyin, YY_BUF_SIZE );
2225 		}
2226 
2227 		yy_load_buffer_state(  );
2228 		}
2229 
2230 	{
2231 #line 159 "scan.l"
2232 
2233 #line 161 "scan.l"
2234 	static int bracelevel, didadef, indented_code;
2235 	static int doing_rule_action = false;
2236 	static int option_sense;
2237 
2238 	int doing_codeblock = false;
2239 	int brace_depth=0, brace_start_line=0;
2240 	char nmdef[MAXLINE];
2241 
2242 
2243 #line 2242 "<stdout>"
2244 
2245 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2246 		{
2247 		yy_cp = (yy_c_buf_p);
2248 
2249 		/* Support of yytext. */
2250 		*yy_cp = (yy_hold_char);
2251 
2252 		/* yy_bp points to the position in yy_ch_buf of the start of
2253 		 * the current run.
2254 		 */
2255 		yy_bp = yy_cp;
2256 
2257 		yy_current_state = (yy_start);
2258 		yy_current_state += YY_AT_BOL();
2259 yy_match:
2260 		do
2261 			{
2262 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2263 			if ( yy_accept[yy_current_state] )
2264 				{
2265 				(yy_last_accepting_state) = yy_current_state;
2266 				(yy_last_accepting_cpos) = yy_cp;
2267 				}
2268 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2269 				{
2270 				yy_current_state = (int) yy_def[yy_current_state];
2271 				if ( yy_current_state >= 1114 )
2272 					yy_c = yy_meta[yy_c];
2273 				}
2274 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2275 			++yy_cp;
2276 			}
2277 		while ( yy_base[yy_current_state] != 4511 );
2278 
2279 yy_find_action:
2280 		yy_act = yy_accept[yy_current_state];
2281 		if ( yy_act == 0 )
2282 			{ /* have to back up */
2283 			yy_cp = (yy_last_accepting_cpos);
2284 			yy_current_state = (yy_last_accepting_state);
2285 			yy_act = yy_accept[yy_current_state];
2286 			}
2287 
2288 		YY_DO_BEFORE_ACTION;
2289 
2290 do_action:	/* This label is used only to access EOF actions. */
2291 
2292 		switch ( yy_act )
2293 	{ /* beginning of action switch */
2294 			case 0: /* must back up */
2295 			/* undo the effects of YY_DO_BEFORE_ACTION */
2296 			*yy_cp = (yy_hold_char);
2297 			yy_cp = (yy_last_accepting_cpos);
2298 			yy_current_state = (yy_last_accepting_state);
2299 			goto yy_find_action;
2300 
2301 case 1:
2302 YY_RULE_SETUP
2303 #line 171 "scan.l"
2304 START_CODEBLOCK(true);
2305 	YY_BREAK
2306 case 2:
2307 YY_RULE_SETUP
2308 #line 172 "scan.l"
2309 add_action("/*[""["); yy_push_state( COMMENT );
2310 	YY_BREAK
2311 case 3:
2312 YY_RULE_SETUP
2313 #line 173 "scan.l"
2314 yy_push_state( LINEDIR );
2315 	YY_BREAK
2316 case 4:
2317 YY_RULE_SETUP
2318 #line 174 "scan.l"
2319 return SCDECL;
2320 	YY_BREAK
2321 case 5:
2322 YY_RULE_SETUP
2323 #line 175 "scan.l"
2324 return XSCDECL;
2325 	YY_BREAK
2326 case 6:
2327 /* rule 6 can match eol */
2328 YY_RULE_SETUP
2329 #line 176 "scan.l"
2330 START_CODEBLOCK(false);
2331 	YY_BREAK
2332 case 7:
2333 /* rule 7 can match eol */
2334 YY_RULE_SETUP
2335 #line 177 "scan.l"
2336 {
2337                 brace_start_line = linenum;
2338                 ++linenum;
2339                 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2340                 brace_depth = 1;
2341                 yy_push_state(CODEBLOCK_MATCH_BRACE);
2342             }
2343 	YY_BREAK
2344 case 8:
2345 YY_RULE_SETUP
2346 #line 185 "scan.l"
2347 synerr( _("malformed '%top' directive") );
2348 	YY_BREAK
2349 case 9:
2350 YY_RULE_SETUP
2351 #line 187 "scan.l"
2352 /* discard */
2353 	YY_BREAK
2354 case 10:
2355 YY_RULE_SETUP
2356 #line 189 "scan.l"
2357 {
2358 			sectnum = 2;
2359 			bracelevel = 0;
2360 			mark_defs1();
2361 			line_directive_out(NULL, 1);
2362 			BEGIN(SECT2PROLOG);
2363 			return SECTEND;
2364 			}
2365 	YY_BREAK
2366 case 11:
2367 /* rule 11 can match eol */
2368 YY_RULE_SETUP
2369 #line 198 "scan.l"
2370 yytext_is_array = false; ++linenum;
2371 	YY_BREAK
2372 case 12:
2373 /* rule 12 can match eol */
2374 YY_RULE_SETUP
2375 #line 199 "scan.l"
2376 yytext_is_array = true; ++linenum;
2377 	YY_BREAK
2378 case 13:
2379 YY_RULE_SETUP
2380 #line 201 "scan.l"
2381 BEGIN(OPTION); return TOK_OPTION;
2382 	YY_BREAK
2383 case 14:
2384 /* rule 14 can match eol */
2385 YY_RULE_SETUP
2386 #line 203 "scan.l"
2387 ++linenum; /* ignore */
2388 	YY_BREAK
2389 case 15:
2390 /* rule 15 can match eol */
2391 YY_RULE_SETUP
2392 #line 204 "scan.l"
2393 ++linenum;	/* ignore */
2394 	YY_BREAK
2395 /* xgettext: no-c-format */
2396 case 16:
2397 /* rule 16 can match eol */
2398 YY_RULE_SETUP
2399 #line 207 "scan.l"
2400 synerr( _( "unrecognized '%' directive" ) );
2401 	YY_BREAK
2402 case 17:
2403 YY_RULE_SETUP
2404 #line 209 "scan.l"
2405 {
2406 			if(yyleng < MAXLINE)
2407         		 {
2408 			strncpy( nmstr, yytext, sizeof(nmstr) );
2409 			 }
2410 			else
2411 			 {
2412 			   synerr( _("Definition name too long\n"));
2413 			   FLEX_EXIT(EXIT_FAILURE);
2414 			 }
2415 
2416 			didadef = false;
2417 			BEGIN(PICKUPDEF);
2418 			}
2419 	YY_BREAK
2420 case 18:
2421 YY_RULE_SETUP
2422 #line 224 "scan.l"
2423 RETURNNAME;
2424 	YY_BREAK
2425 case 19:
2426 /* rule 19 can match eol */
2427 YY_RULE_SETUP
2428 #line 225 "scan.l"
2429 ++linenum; /* allows blank lines in section 1 */
2430 	YY_BREAK
2431 case 20:
2432 /* rule 20 can match eol */
2433 YY_RULE_SETUP
2434 #line 226 "scan.l"
2435 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2436 	YY_BREAK
2437 
2438 /* */
2439 case 21:
2440 YY_RULE_SETUP
2441 #line 231 "scan.l"
2442 ACTION_ECHO;
2443 	YY_BREAK
2444 case 22:
2445 YY_RULE_SETUP
2446 #line 232 "scan.l"
2447 ACTION_ECHO;
2448 	YY_BREAK
2449 case 23:
2450 /* rule 23 can match eol */
2451 YY_RULE_SETUP
2452 #line 234 "scan.l"
2453 ++linenum; ACTION_ECHO;
2454 	YY_BREAK
2455 
2456 
2457 case 24:
2458 YY_RULE_SETUP
2459 #line 237 "scan.l"
2460 add_action("*/]""]"); yy_pop_state();
2461 	YY_BREAK
2462 
2463 
2464 case 25:
2465 YY_RULE_SETUP
2466 #line 240 "scan.l"
2467 ACTION_ECHO; yy_pop_state();
2468 	YY_BREAK
2469 
2470 
2471 /* This is the same as COMMENT, but is discarded rather than output. */
2472 case 26:
2473 YY_RULE_SETUP
2474 #line 245 "scan.l"
2475 yy_pop_state();
2476 	YY_BREAK
2477 case 27:
2478 YY_RULE_SETUP
2479 #line 246 "scan.l"
2480 ;
2481 	YY_BREAK
2482 case 28:
2483 YY_RULE_SETUP
2484 #line 247 "scan.l"
2485 ;
2486 	YY_BREAK
2487 case 29:
2488 /* rule 29 can match eol */
2489 YY_RULE_SETUP
2490 #line 248 "scan.l"
2491 ++linenum;
2492 	YY_BREAK
2493 
2494 
2495 case 30:
2496 YY_RULE_SETUP
2497 #line 252 "scan.l"
2498 yy_pop_state();
2499 	YY_BREAK
2500 case 31:
2501 YY_RULE_SETUP
2502 #line 253 "scan.l"
2503 ;
2504 	YY_BREAK
2505 case 32:
2506 /* rule 32 can match eol */
2507 YY_RULE_SETUP
2508 #line 254 "scan.l"
2509 ++linenum;
2510 	YY_BREAK
2511 
2512 
2513 case 33:
2514 /* rule 33 can match eol */
2515 YY_RULE_SETUP
2516 #line 258 "scan.l"
2517 yy_pop_state();
2518 	YY_BREAK
2519 case 34:
2520 YY_RULE_SETUP
2521 #line 259 "scan.l"
2522 linenum = myctoi( yytext );
2523 	YY_BREAK
2524 case 35:
2525 YY_RULE_SETUP
2526 #line 261 "scan.l"
2527 {
2528 			free(infilename);
2529 			infilename = xstrdup(yytext + 1);
2530 			infilename[strlen( infilename ) - 1] = '\0';
2531 			}
2532 	YY_BREAK
2533 case 36:
2534 YY_RULE_SETUP
2535 #line 266 "scan.l"
2536 /* ignore spurious characters */
2537 	YY_BREAK
2538 
2539 
2540 case 37:
2541 YY_RULE_SETUP
2542 #line 269 "scan.l"
2543 ACTION_ECHO_QSTART;
2544 	YY_BREAK
2545 case 38:
2546 YY_RULE_SETUP
2547 #line 270 "scan.l"
2548 ACTION_ECHO_QEND;
2549 	YY_BREAK
2550 
2551 
2552 case 39:
2553 /* rule 39 can match eol */
2554 YY_RULE_SETUP
2555 #line 274 "scan.l"
2556 ++linenum; END_CODEBLOCK;
2557 	YY_BREAK
2558 case 40:
2559 YY_RULE_SETUP
2560 #line 275 "scan.l"
2561 ACTION_ECHO;
2562 	YY_BREAK
2563 case 41:
2564 YY_RULE_SETUP
2565 #line 276 "scan.l"
2566 ACTION_ECHO;
2567 	YY_BREAK
2568 case 42:
2569 /* rule 42 can match eol */
2570 YY_RULE_SETUP
2571 #line 277 "scan.l"
2572 {
2573 			++linenum;
2574 			ACTION_ECHO;
2575 			if ( indented_code ) END_CODEBLOCK;
2576 			}
2577 	YY_BREAK
2578 
2579 
2580 case 43:
2581 YY_RULE_SETUP
2582 #line 285 "scan.l"
2583 {
2584                 if( --brace_depth == 0){
2585                     /* TODO: Matched. */
2586                     yy_pop_state();
2587                 }else
2588                     buf_strnappend(&top_buf, yytext, yyleng);
2589             }
2590 	YY_BREAK
2591 case 44:
2592 YY_RULE_SETUP
2593 #line 293 "scan.l"
2594 {
2595                 brace_depth++;
2596                 buf_strnappend(&top_buf, yytext, yyleng);
2597             }
2598 	YY_BREAK
2599 case 45:
2600 /* rule 45 can match eol */
2601 YY_RULE_SETUP
2602 #line 298 "scan.l"
2603 {
2604                 ++linenum;
2605                 buf_strnappend(&top_buf, yytext, yyleng);
2606             }
2607 	YY_BREAK
2608 case 46:
2609 YY_RULE_SETUP
2610 #line 303 "scan.l"
2611 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
2612 	YY_BREAK
2613 case 47:
2614 YY_RULE_SETUP
2615 #line 304 "scan.l"
2616 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
2617 	YY_BREAK
2618 case 48:
2619 YY_RULE_SETUP
2620 #line 305 "scan.l"
2621 {
2622        buf_strnappend(&top_buf, yytext, yyleng);
2623     }
2624 	YY_BREAK
2625 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2626 #line 309 "scan.l"
2627 {
2628                 linenum = brace_start_line;
2629                 synerr(_("Unmatched '{'"));
2630                 yyterminate();
2631                 }
2632 	YY_BREAK
2633 
2634 
2635 case 49:
2636 YY_RULE_SETUP
2637 #line 318 "scan.l"
2638 /* separates name and definition */
2639 	YY_BREAK
2640 case 50:
2641 YY_RULE_SETUP
2642 #line 320 "scan.l"
2643 {
2644  		        if(yyleng < MAXLINE)
2645  		         {
2646 			strncpy( nmdef, yytext, sizeof(nmdef) );
2647  		         }
2648  		        else
2649  		         {
2650  		           format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2651  		           FLEX_EXIT(EXIT_FAILURE);
2652 			 }
2653 			/* Skip trailing whitespace. */
2654 			{
2655 			    size_t i = strlen( nmdef );
2656 			    while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t'))
2657 			       --i;
2658 			    nmdef[i] = '\0';
2659 			}
2660 
2661 			ndinstal( nmstr, nmdef );
2662 			didadef = true;
2663 			}
2664 	YY_BREAK
2665 case 51:
2666 /* rule 51 can match eol */
2667 YY_RULE_SETUP
2668 #line 342 "scan.l"
2669 {
2670 			if ( ! didadef )
2671 				synerr( _( "incomplete name definition" ) );
2672 			BEGIN(INITIAL);
2673 			++linenum;
2674 			}
2675 	YY_BREAK
2676 
2677 
2678 case 52:
2679 /* rule 52 can match eol */
2680 YY_RULE_SETUP
2681 #line 352 "scan.l"
2682 ++linenum; BEGIN(INITIAL);
2683 	YY_BREAK
2684 case 53:
2685 YY_RULE_SETUP
2686 #line 353 "scan.l"
2687 option_sense = true;
2688 	YY_BREAK
2689 case 54:
2690 YY_RULE_SETUP
2691 #line 355 "scan.l"
2692 return '=';
2693 	YY_BREAK
2694 case 55:
2695 YY_RULE_SETUP
2696 #line 357 "scan.l"
2697 option_sense = ! option_sense;
2698 	YY_BREAK
2699 case 56:
2700 YY_RULE_SETUP
2701 #line 359 "scan.l"
2702 csize = option_sense ? 128 : 256;
2703 	YY_BREAK
2704 case 57:
2705 YY_RULE_SETUP
2706 #line 360 "scan.l"
2707 csize = option_sense ? 256 : 128;
2708 	YY_BREAK
2709 case 58:
2710 YY_RULE_SETUP
2711 #line 362 "scan.l"
2712 long_align = option_sense;
2713 	YY_BREAK
2714 case 59:
2715 YY_RULE_SETUP
2716 #line 363 "scan.l"
2717 {
2718 			ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2719             interactive = option_sense;
2720 			}
2721 	YY_BREAK
2722 case 60:
2723 YY_RULE_SETUP
2724 #line 367 "scan.l"
2725 yytext_is_array = option_sense;
2726 	YY_BREAK
2727 case 61:
2728 YY_RULE_SETUP
2729 #line 368 "scan.l"
2730 backing_up_report = option_sense;
2731 	YY_BREAK
2732 case 62:
2733 YY_RULE_SETUP
2734 #line 369 "scan.l"
2735 interactive = ! option_sense;
2736 	YY_BREAK
2737 case 63:
2738 YY_RULE_SETUP
2739 #line 370 "scan.l"
2740 bison_bridge_lval = option_sense;
2741 	YY_BREAK
2742 case 64:
2743 YY_RULE_SETUP
2744 #line 371 "scan.l"
2745 { if((bison_bridge_lloc = option_sense))
2746                             bison_bridge_lval = true;
2747                      }
2748 	YY_BREAK
2749 case 65:
2750 YY_RULE_SETUP
2751 #line 374 "scan.l"
2752 C_plus_plus = option_sense;
2753 	YY_BREAK
2754 case 66:
2755 YY_RULE_SETUP
2756 #line 375 "scan.l"
2757 sf_set_case_ins(!option_sense);
2758 	YY_BREAK
2759 case 67:
2760 YY_RULE_SETUP
2761 #line 376 "scan.l"
2762 sf_set_case_ins(option_sense);
2763 	YY_BREAK
2764 case 68:
2765 YY_RULE_SETUP
2766 #line 377 "scan.l"
2767 ddebug = option_sense;
2768 	YY_BREAK
2769 case 69:
2770 YY_RULE_SETUP
2771 #line 378 "scan.l"
2772 spprdflt = ! option_sense;
2773 	YY_BREAK
2774 case 70:
2775 YY_RULE_SETUP
2776 #line 379 "scan.l"
2777 useecs = option_sense;
2778 	YY_BREAK
2779 case 71:
2780 YY_RULE_SETUP
2781 #line 380 "scan.l"
2782 {
2783 			useecs = usemecs = false;
2784 			use_read = fullspd = true;
2785 			}
2786 	YY_BREAK
2787 case 72:
2788 YY_RULE_SETUP
2789 #line 384 "scan.l"
2790 {
2791 			useecs = usemecs = false;
2792 			use_read = fulltbl = true;
2793 			}
2794 	YY_BREAK
2795 case 73:
2796 YY_RULE_SETUP
2797 #line 388 "scan.l"
2798 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2799 	YY_BREAK
2800 case 74:
2801 YY_RULE_SETUP
2802 #line 389 "scan.l"
2803 interactive = option_sense;
2804 	YY_BREAK
2805 case 75:
2806 YY_RULE_SETUP
2807 #line 390 "scan.l"
2808 lex_compat = option_sense;
2809 	YY_BREAK
2810 case 76:
2811 YY_RULE_SETUP
2812 #line 391 "scan.l"
2813 posix_compat = option_sense;
2814 	YY_BREAK
2815 case 77:
2816 YY_RULE_SETUP
2817 #line 392 "scan.l"
2818 gen_line_dirs = option_sense;
2819 	YY_BREAK
2820 case 78:
2821 YY_RULE_SETUP
2822 #line 393 "scan.l"
2823 {
2824 			ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2825             /* Override yywrap */
2826             if( option_sense == true )
2827                 do_yywrap = false;
2828 			}
2829 	YY_BREAK
2830 case 79:
2831 YY_RULE_SETUP
2832 #line 399 "scan.l"
2833 usemecs = option_sense;
2834 	YY_BREAK
2835 case 80:
2836 YY_RULE_SETUP
2837 #line 400 "scan.l"
2838 {
2839 			ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2840             interactive = !option_sense;
2841 			}
2842 	YY_BREAK
2843 case 81:
2844 YY_RULE_SETUP
2845 #line 404 "scan.l"
2846 performance_report += option_sense ? 1 : -1;
2847 	YY_BREAK
2848 case 82:
2849 YY_RULE_SETUP
2850 #line 405 "scan.l"
2851 yytext_is_array = ! option_sense;
2852 	YY_BREAK
2853 case 83:
2854 YY_RULE_SETUP
2855 #line 406 "scan.l"
2856 use_read = option_sense;
2857 	YY_BREAK
2858 case 84:
2859 YY_RULE_SETUP
2860 #line 407 "scan.l"
2861 reentrant = option_sense;
2862 	YY_BREAK
2863 case 85:
2864 YY_RULE_SETUP
2865 #line 408 "scan.l"
2866 reject_really_used = option_sense;
2867 	YY_BREAK
2868 case 86:
2869 YY_RULE_SETUP
2870 #line 409 "scan.l"
2871 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2872 	YY_BREAK
2873 case 87:
2874 YY_RULE_SETUP
2875 #line 410 "scan.l"
2876 do_stdinit = option_sense;
2877 	YY_BREAK
2878 case 88:
2879 YY_RULE_SETUP
2880 #line 411 "scan.l"
2881 use_stdout = option_sense;
2882 	YY_BREAK
2883 case 89:
2884 YY_RULE_SETUP
2885 #line 412 "scan.l"
2886 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2887 	YY_BREAK
2888 case 90:
2889 YY_RULE_SETUP
2890 #line 413 "scan.l"
2891 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2892 	YY_BREAK
2893 case 91:
2894 YY_RULE_SETUP
2895 #line 414 "scan.l"
2896 printstats = option_sense;
2897 	YY_BREAK
2898 case 92:
2899 YY_RULE_SETUP
2900 #line 415 "scan.l"
2901 nowarn = ! option_sense;
2902 	YY_BREAK
2903 case 93:
2904 YY_RULE_SETUP
2905 #line 416 "scan.l"
2906 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2907 	YY_BREAK
2908 case 94:
2909 YY_RULE_SETUP
2910 #line 417 "scan.l"
2911 yymore_really_used = option_sense;
2912 	YY_BREAK
2913 case 95:
2914 YY_RULE_SETUP
2915 #line 418 "scan.l"
2916 do_yywrap = option_sense;
2917 	YY_BREAK
2918 case 96:
2919 YY_RULE_SETUP
2920 #line 420 "scan.l"
2921 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2922 	YY_BREAK
2923 case 97:
2924 YY_RULE_SETUP
2925 #line 421 "scan.l"
2926 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2927 	YY_BREAK
2928 case 98:
2929 YY_RULE_SETUP
2930 #line 422 "scan.l"
2931 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2932 	YY_BREAK
2933 case 99:
2934 YY_RULE_SETUP
2935 #line 424 "scan.l"
2936 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2937 	YY_BREAK
2938 case 100:
2939 YY_RULE_SETUP
2940 #line 425 "scan.l"
2941 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2942 	YY_BREAK
2943 case 101:
2944 YY_RULE_SETUP
2945 #line 426 "scan.l"
2946 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2947 	YY_BREAK
2948 case 102:
2949 YY_RULE_SETUP
2950 #line 428 "scan.l"
2951 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2952 	YY_BREAK
2953 case 103:
2954 YY_RULE_SETUP
2955 #line 429 "scan.l"
2956 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2957 	YY_BREAK
2958 case 104:
2959 YY_RULE_SETUP
2960 #line 430 "scan.l"
2961 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2962 	YY_BREAK
2963 case 105:
2964 YY_RULE_SETUP
2965 #line 432 "scan.l"
2966 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2967 	YY_BREAK
2968 case 106:
2969 YY_RULE_SETUP
2970 #line 433 "scan.l"
2971 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2972 	YY_BREAK
2973 case 107:
2974 YY_RULE_SETUP
2975 #line 434 "scan.l"
2976 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2977 	YY_BREAK
2978 case 108:
2979 YY_RULE_SETUP
2980 #line 435 "scan.l"
2981 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2982 	YY_BREAK
2983 case 109:
2984 YY_RULE_SETUP
2985 #line 436 "scan.l"
2986 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2987 	YY_BREAK
2988 case 110:
2989 YY_RULE_SETUP
2990 #line 437 "scan.l"
2991 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2992 	YY_BREAK
2993 case 111:
2994 YY_RULE_SETUP
2995 #line 438 "scan.l"
2996 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
2997 	YY_BREAK
2998 case 112:
2999 YY_RULE_SETUP
3000 #line 439 "scan.l"
3001 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
3002 	YY_BREAK
3003 case 113:
3004 YY_RULE_SETUP
3005 #line 440 "scan.l"
3006 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
3007 	YY_BREAK
3008 case 114:
3009 YY_RULE_SETUP
3010 #line 441 "scan.l"
3011 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
3012 	YY_BREAK
3013 case 115:
3014 YY_RULE_SETUP
3015 #line 442 "scan.l"
3016 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
3017 	YY_BREAK
3018 case 116:
3019 YY_RULE_SETUP
3020 #line 443 "scan.l"
3021 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
3022 	YY_BREAK
3023 case 117:
3024 YY_RULE_SETUP
3025 #line 444 "scan.l"
3026 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
3027 	YY_BREAK
3028 case 118:
3029 YY_RULE_SETUP
3030 #line 445 "scan.l"
3031 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
3032 	YY_BREAK
3033 case 119:
3034 YY_RULE_SETUP
3035 #line 446 "scan.l"
3036 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
3037 	YY_BREAK
3038 case 120:
3039 YY_RULE_SETUP
3040 #line 447 "scan.l"
3041 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
3042 	YY_BREAK
3043 case 121:
3044 YY_RULE_SETUP
3045 #line 449 "scan.l"
3046 return TOK_EXTRA_TYPE;
3047 	YY_BREAK
3048 case 122:
3049 YY_RULE_SETUP
3050 #line 450 "scan.l"
3051 return TOK_OUTFILE;
3052 	YY_BREAK
3053 case 123:
3054 YY_RULE_SETUP
3055 #line 451 "scan.l"
3056 return TOK_PREFIX;
3057 	YY_BREAK
3058 case 124:
3059 YY_RULE_SETUP
3060 #line 452 "scan.l"
3061 return TOK_YYCLASS;
3062 	YY_BREAK
3063 case 125:
3064 YY_RULE_SETUP
3065 #line 453 "scan.l"
3066 return TOK_HEADER_FILE;
3067 	YY_BREAK
3068 case 126:
3069 YY_RULE_SETUP
3070 #line 454 "scan.l"
3071 return TOK_TABLES_FILE;
3072 	YY_BREAK
3073 case 127:
3074 YY_RULE_SETUP
3075 #line 455 "scan.l"
3076 {
3077                     tablesverify = option_sense;
3078                     if(!tablesext && option_sense)
3079                         tablesext = true;
3080                     }
3081 	YY_BREAK
3082 case 128:
3083 YY_RULE_SETUP
3084 #line 462 "scan.l"
3085 {
3086 			if(yyleng-1 < MAXLINE)
3087         		 {
3088 			strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3089 			 }
3090 			else
3091 			 {
3092 			   synerr( _("Option line too long\n"));
3093 			   FLEX_EXIT(EXIT_FAILURE);
3094 			 }
3095 			nmstr[strlen( nmstr ) - 1] = '\0';
3096 			return NAME;
3097 			}
3098 	YY_BREAK
3099 case 129:
3100 YY_RULE_SETUP
3101 #line 476 "scan.l"
3102 {
3103 			format_synerr( _( "unrecognized %%option: %s" ),
3104 				yytext );
3105 			BEGIN(RECOVER);
3106 			}
3107 	YY_BREAK
3108 
3109 case 130:
3110 /* rule 130 can match eol */
3111 YY_RULE_SETUP
3112 #line 483 "scan.l"
3113 ++linenum; BEGIN(INITIAL);
3114 	YY_BREAK
3115 
3116 case 131:
3117 YY_RULE_SETUP
3118 #line 487 "scan.l"
3119 ++bracelevel; yyless( 2 );	/* eat only %{ */
3120 	YY_BREAK
3121 case 132:
3122 YY_RULE_SETUP
3123 #line 488 "scan.l"
3124 --bracelevel; yyless( 2 );	/* eat only %} */
3125 	YY_BREAK
3126 case 133:
3127 YY_RULE_SETUP
3128 #line 490 "scan.l"
3129 START_CODEBLOCK(true); /* indented code in prolog */
3130 	YY_BREAK
3131 case 134:
3132 YY_RULE_SETUP
3133 #line 492 "scan.l"
3134 {
3135         /* non-indented code */
3136 		if ( bracelevel <= 0 ) {
3137             /* not in %{ ... %} */
3138             yyless( 0 );	/* put it all back */
3139             yy_set_bol( 1 );
3140             mark_prolog();
3141             BEGIN(SECT2);
3142         } else {
3143             START_CODEBLOCK(true);
3144         }
3145     }
3146 	YY_BREAK
3147 case 135:
3148 YY_RULE_SETUP
3149 #line 505 "scan.l"
3150 ACTION_ECHO;
3151 	YY_BREAK
3152 case 136:
3153 /* rule 136 can match eol */
3154 YY_RULE_SETUP
3155 #line 506 "scan.l"
3156 ++linenum; ACTION_ECHO;
3157 	YY_BREAK
3158 case YY_STATE_EOF(SECT2PROLOG):
3159 #line 508 "scan.l"
3160 {
3161 			mark_prolog();
3162 			sectnum = 0;
3163 			yyterminate(); /* to stop the parser */
3164 			}
3165 	YY_BREAK
3166 
3167 
3168 case 137:
3169 /* rule 137 can match eol */
3170 YY_RULE_SETUP
3171 #line 516 "scan.l"
3172 ++linenum; /* allow blank lines in section 2 */
3173 	YY_BREAK
3174 case 138:
3175 YY_RULE_SETUP
3176 #line 518 "scan.l"
3177 {
3178 			indented_code = false;
3179 			doing_codeblock = true;
3180 			bracelevel = 1;
3181 			BEGIN(PERCENT_BRACE_ACTION);
3182 			}
3183 	YY_BREAK
3184 case 139:
3185 YY_RULE_SETUP
3186 #line 525 "scan.l"
3187 {
3188                         /* Allow "<" to appear in (?x) patterns. */
3189                         if (!sf_skip_ws())
3190                             BEGIN(SC);
3191                         return '<';
3192                     }
3193 	YY_BREAK
3194 case 140:
3195 YY_RULE_SETUP
3196 #line 531 "scan.l"
3197 return '^';
3198 	YY_BREAK
3199 case 141:
3200 YY_RULE_SETUP
3201 #line 532 "scan.l"
3202 BEGIN(QUOTE); return '"';
3203 	YY_BREAK
3204 case 142:
3205 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3206 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3207 YY_DO_BEFORE_ACTION; /* set up yytext again */
3208 YY_RULE_SETUP
3209 #line 533 "scan.l"
3210 {
3211 			BEGIN(NUM);
3212 			if ( lex_compat || posix_compat )
3213 				return BEGIN_REPEAT_POSIX;
3214 			else
3215 				return BEGIN_REPEAT_FLEX;
3216 			}
3217 	YY_BREAK
3218 case 143:
3219 /* rule 143 can match eol */
3220 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3221 YY_LINENO_REWIND_TO(yy_bp + 1);
3222 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3223 YY_DO_BEFORE_ACTION; /* set up yytext again */
3224 YY_RULE_SETUP
3225 #line 540 "scan.l"
3226 return '$';
3227 	YY_BREAK
3228 case 144:
3229 YY_RULE_SETUP
3230 #line 542 "scan.l"
3231 {
3232 			bracelevel = 1;
3233 			BEGIN(PERCENT_BRACE_ACTION);
3234 
3235 			if ( in_rule )
3236 				{
3237 				doing_rule_action = true;
3238 				in_rule = false;
3239 				return '\n';
3240 				}
3241 			}
3242 	YY_BREAK
3243 case 145:
3244 /* rule 145 can match eol */
3245 YY_RULE_SETUP
3246 #line 553 "scan.l"
3247 {
3248                         if (sf_skip_ws()){
3249                             /* We're in the middle of a (?x: ) pattern. */
3250                             /* Push back everything starting at the "|" */
3251                             int amt = (int) (strchr (yytext, '|') - yytext);
3252                             yyless(amt);
3253                         }
3254                         else {
3255                             add_action("]""]");
3256                             continued_action = true;
3257                             ++linenum;
3258                             return '\n';
3259                         }
3260                     }
3261 	YY_BREAK
3262 case 146:
3263 YY_RULE_SETUP
3264 #line 568 "scan.l"
3265 {
3266 
3267                 if (sf_skip_ws()){
3268                     /* We're in the middle of a (?x: ) pattern. */
3269                     yy_push_state(COMMENT_DISCARD);
3270                 }
3271                 else{
3272                     yyless( yyleng - 2 );	/* put back '/', '*' */
3273                     bracelevel = 0;
3274                     continued_action = false;
3275                     BEGIN(ACTION);
3276                 }
3277 			}
3278 	YY_BREAK
3279 case 147:
3280 YY_RULE_SETUP
3281 #line 582 "scan.l"
3282 /* allow indented rules */ ;
3283 	YY_BREAK
3284 case 148:
3285 YY_RULE_SETUP
3286 #line 584 "scan.l"
3287 {
3288             if (sf_skip_ws()){
3289                 /* We're in the middle of a (?x: ) pattern. */
3290             }
3291             else{
3292                 /* This rule is separate from the one below because
3293                  * otherwise we get variable trailing context, so
3294                  * we can't build the scanner using -{f,F}.
3295                  */
3296                 bracelevel = 0;
3297                 continued_action = false;
3298                 BEGIN(ACTION);
3299 
3300                 if ( in_rule )
3301                     {
3302                     doing_rule_action = true;
3303                     in_rule = false;
3304                     return '\n';
3305                     }
3306             }
3307 			}
3308 	YY_BREAK
3309 case 149:
3310 /* rule 149 can match eol */
3311 YY_RULE_SETUP
3312 #line 606 "scan.l"
3313 {
3314             if (sf_skip_ws()){
3315                 /* We're in the middle of a (?x: ) pattern. */
3316                 ++linenum;
3317             }
3318             else{
3319                 bracelevel = 0;
3320                 continued_action = false;
3321                 BEGIN(ACTION);
3322                 unput( '\n' );	/* so <ACTION> sees it */
3323 
3324                 if ( in_rule )
3325                     {
3326                     doing_rule_action = true;
3327                     in_rule = false;
3328                     return '\n';
3329                     }
3330             }
3331 			}
3332 	YY_BREAK
3333 case 150:
3334 #line 627 "scan.l"
3335 case 151:
3336 YY_RULE_SETUP
3337 #line 627 "scan.l"
3338 return EOF_OP;
3339 	YY_BREAK
3340 case 152:
3341 YY_RULE_SETUP
3342 #line 629 "scan.l"
3343 {
3344 			sectnum = 3;
3345 			BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
3346 			outn("/* Begin user sect3 */");
3347 			yyterminate(); /* to stop the parser */
3348 
3349 			}
3350 	YY_BREAK
3351 case 153:
3352 YY_RULE_SETUP
3353 #line 637 "scan.l"
3354 {
3355 			int cclval;
3356 
3357 			if(yyleng < MAXLINE)
3358         		 {
3359 			strncpy( nmstr, yytext, sizeof(nmstr) );
3360 			 }
3361 			else
3362 			 {
3363 			   synerr( _("Input line too long\n"));
3364 			   FLEX_EXIT(EXIT_FAILURE);
3365 			 }
3366 
3367 			/* Check to see if we've already encountered this
3368 			 * ccl.
3369 			 */
3370 			if (0 /* <--- This "0" effectively disables the reuse of a
3371                    * character class (purely based on its source text).
3372                    * The reason it was disabled is so yacc/bison can parse
3373                    * ccl operations, such as ccl difference and union.
3374                    */
3375                 &&  (cclval = ccllookup( nmstr )) != 0 )
3376 				{
3377 				if ( input() != ']' )
3378 					synerr( _( "bad character class" ) );
3379 
3380 				yylval = cclval;
3381 				++cclreuse;
3382 				return PREVCCL;
3383 				}
3384 			else
3385 				{
3386 				/* We fudge a bit.  We know that this ccl will
3387 				 * soon be numbered as lastccl + 1 by cclinit.
3388 				 */
3389 				cclinstal( nmstr, lastccl + 1 );
3390 
3391 				/* Push back everything but the leading bracket
3392 				 * so the ccl can be rescanned.
3393 				 */
3394 				yyless( 1 );
3395 
3396 				BEGIN(FIRSTCCL);
3397 				return '[';
3398 				}
3399 			}
3400 	YY_BREAK
3401 case 154:
3402 YY_RULE_SETUP
3403 #line 683 "scan.l"
3404 return CCL_OP_DIFF;
3405 	YY_BREAK
3406 case 155:
3407 YY_RULE_SETUP
3408 #line 684 "scan.l"
3409 return CCL_OP_UNION;
3410 	YY_BREAK
3411 /* Check for :space: at the end of the rule so we don't
3412      * wrap the expanded regex in '(' ')' -- breaking trailing
3413      * context.
3414      */
3415 case 156:
3416 /* rule 156 can match eol */
3417 YY_RULE_SETUP
3418 #line 691 "scan.l"
3419 {
3420 			char *nmdefptr;
3421             int end_is_ws, end_ch;
3422 
3423             end_ch = yytext[yyleng-1];
3424             end_is_ws = end_ch != '}' ? 1 : 0;
3425 
3426  			if(yyleng-1 < MAXLINE)
3427          		 {
3428 			strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3429  			 }
3430  			else
3431  			 {
3432  			   synerr( _("Input line too long\n"));
3433  			   FLEX_EXIT(EXIT_FAILURE);
3434  			 }
3435 nmstr[yyleng - 2 - end_is_ws] = '\0';  /* chop trailing brace */
3436 
3437 			if ( (nmdefptr = ndlookup( nmstr )) == NULL )
3438 				format_synerr(
3439 					_( "undefined definition {%s}" ),
3440 						nmstr );
3441 
3442 			else
3443 				{ /* push back name surrounded by ()'s */
3444 				size_t len = strlen( nmdefptr );
3445                 if (end_is_ws)
3446                     unput(end_ch);
3447 
3448 				if ( lex_compat || nmdefptr[0] == '^' ||
3449 				     (len > 0 && nmdefptr[len - 1] == '$')
3450                      || (end_is_ws && trlcontxt && !sf_skip_ws()))
3451 					{ /* don't use ()'s after all */
3452 					PUT_BACK_STRING(nmdefptr, 0);
3453 
3454 					if ( nmdefptr[0] == '^' )
3455 						BEGIN(CARETISBOL);
3456 					}
3457 
3458 				else
3459 					{
3460 					unput(')');
3461 					PUT_BACK_STRING(nmdefptr, 0);
3462 					unput('(');
3463 					}
3464 				}
3465 			}
3466 	YY_BREAK
3467 case 157:
3468 YY_RULE_SETUP
3469 #line 739 "scan.l"
3470 {
3471                     if (sf_skip_ws())
3472                         yy_push_state(COMMENT_DISCARD);
3473                     else{
3474                         /* Push back the "*" and return "/" as usual. */
3475                         yyless(1);
3476                         return '/';
3477                     }
3478                 }
3479 	YY_BREAK
3480 case 158:
3481 YY_RULE_SETUP
3482 #line 749 "scan.l"
3483 {
3484                     if (lex_compat || posix_compat){
3485                         /* Push back the "?#" and treat it like a normal parens. */
3486                         yyless(1);
3487                         sf_push();
3488                         return '(';
3489                     }
3490                     else
3491                         yy_push_state(EXTENDED_COMMENT);
3492                 }
3493 	YY_BREAK
3494 case 159:
3495 YY_RULE_SETUP
3496 #line 759 "scan.l"
3497 {
3498                     sf_push();
3499                     if (lex_compat || posix_compat)
3500                         /* Push back the "?" and treat it like a normal parens. */
3501                         yyless(1);
3502                     else
3503                         BEGIN(GROUP_WITH_PARAMS);
3504                     return '(';
3505                 }
3506 	YY_BREAK
3507 case 160:
3508 YY_RULE_SETUP
3509 #line 768 "scan.l"
3510 sf_push(); return '(';
3511 	YY_BREAK
3512 case 161:
3513 YY_RULE_SETUP
3514 #line 769 "scan.l"
3515 {
3516                     if (_sf_top_ix > 0) {
3517                         sf_pop();
3518                         return ')';
3519                     } else
3520                         synerr(_("unbalanced parenthesis"));
3521                 }
3522 	YY_BREAK
3523 case 162:
3524 YY_RULE_SETUP
3525 #line 777 "scan.l"
3526 return (unsigned char) yytext[0];
3527 	YY_BREAK
3528 case 163:
3529 YY_RULE_SETUP
3530 #line 778 "scan.l"
3531 RETURNCHAR;
3532 	YY_BREAK
3533 
3534 
3535 case 164:
3536 /* rule 164 can match eol */
3537 YY_RULE_SETUP
3538 #line 783 "scan.l"
3539 ++linenum;	/* Allow blank lines & continuations */
3540 	YY_BREAK
3541 case 165:
3542 YY_RULE_SETUP
3543 #line 784 "scan.l"
3544 return (unsigned char) yytext[0];
3545 	YY_BREAK
3546 case 166:
3547 YY_RULE_SETUP
3548 #line 785 "scan.l"
3549 BEGIN(SECT2); return '>';
3550 	YY_BREAK
3551 case 167:
3552 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3553 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3554 YY_DO_BEFORE_ACTION; /* set up yytext again */
3555 YY_RULE_SETUP
3556 #line 786 "scan.l"
3557 BEGIN(CARETISBOL); return '>';
3558 	YY_BREAK
3559 case 168:
3560 YY_RULE_SETUP
3561 #line 787 "scan.l"
3562 RETURNNAME;
3563 	YY_BREAK
3564 case 169:
3565 YY_RULE_SETUP
3566 #line 788 "scan.l"
3567 {
3568 			format_synerr( _( "bad <start condition>: %s" ),
3569 				yytext );
3570 			}
3571 	YY_BREAK
3572 
3573 case 170:
3574 YY_RULE_SETUP
3575 #line 794 "scan.l"
3576 BEGIN(SECT2); return '^';
3577 	YY_BREAK
3578 
3579 case 171:
3580 YY_RULE_SETUP
3581 #line 798 "scan.l"
3582 RETURNCHAR;
3583 	YY_BREAK
3584 case 172:
3585 YY_RULE_SETUP
3586 #line 799 "scan.l"
3587 BEGIN(SECT2); return '"';
3588 	YY_BREAK
3589 case 173:
3590 /* rule 173 can match eol */
3591 YY_RULE_SETUP
3592 #line 801 "scan.l"
3593 {
3594 			synerr( _( "missing quote" ) );
3595 			BEGIN(SECT2);
3596 			++linenum;
3597 			return '"';
3598 			}
3599 	YY_BREAK
3600 
3601 
3602 case 174:
3603 YY_RULE_SETUP
3604 #line 810 "scan.l"
3605 BEGIN(SECT2);
3606 	YY_BREAK
3607 case 175:
3608 YY_RULE_SETUP
3609 #line 811 "scan.l"
3610 BEGIN(GROUP_MINUS_PARAMS);
3611 	YY_BREAK
3612 case 176:
3613 YY_RULE_SETUP
3614 #line 812 "scan.l"
3615 sf_set_case_ins(1);
3616 	YY_BREAK
3617 case 177:
3618 YY_RULE_SETUP
3619 #line 813 "scan.l"
3620 sf_set_dot_all(1);
3621 	YY_BREAK
3622 case 178:
3623 YY_RULE_SETUP
3624 #line 814 "scan.l"
3625 sf_set_skip_ws(1);
3626 	YY_BREAK
3627 
3628 
3629 case 179:
3630 YY_RULE_SETUP
3631 #line 817 "scan.l"
3632 BEGIN(SECT2);
3633 	YY_BREAK
3634 case 180:
3635 YY_RULE_SETUP
3636 #line 818 "scan.l"
3637 sf_set_case_ins(0);
3638 	YY_BREAK
3639 case 181:
3640 YY_RULE_SETUP
3641 #line 819 "scan.l"
3642 sf_set_dot_all(0);
3643 	YY_BREAK
3644 case 182:
3645 YY_RULE_SETUP
3646 #line 820 "scan.l"
3647 sf_set_skip_ws(0);
3648 	YY_BREAK
3649 
3650 
3651 case 183:
3652 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3653 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3654 YY_DO_BEFORE_ACTION; /* set up yytext again */
3655 YY_RULE_SETUP
3656 #line 824 "scan.l"
3657 BEGIN(CCL); return '^';
3658 	YY_BREAK
3659 case 184:
3660 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3661 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3662 YY_DO_BEFORE_ACTION; /* set up yytext again */
3663 YY_RULE_SETUP
3664 #line 825 "scan.l"
3665 return '^';
3666 	YY_BREAK
3667 case 185:
3668 YY_RULE_SETUP
3669 #line 826 "scan.l"
3670 BEGIN(CCL); RETURNCHAR;
3671 	YY_BREAK
3672 
3673 
3674 case 186:
3675 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3676 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3677 YY_DO_BEFORE_ACTION; /* set up yytext again */
3678 YY_RULE_SETUP
3679 #line 830 "scan.l"
3680 return '-';
3681 	YY_BREAK
3682 case 187:
3683 YY_RULE_SETUP
3684 #line 831 "scan.l"
3685 RETURNCHAR;
3686 	YY_BREAK
3687 case 188:
3688 YY_RULE_SETUP
3689 #line 832 "scan.l"
3690 BEGIN(SECT2); return ']';
3691 	YY_BREAK
3692 case 189:
3693 /* rule 189 can match eol */
3694 YY_RULE_SETUP
3695 #line 833 "scan.l"
3696 {
3697 			synerr( _( "bad character class" ) );
3698 			BEGIN(SECT2);
3699 			return ']';
3700 			}
3701 	YY_BREAK
3702 
3703 
3704 case 190:
3705 YY_RULE_SETUP
3706 #line 841 "scan.l"
3707 BEGIN(CCL); return CCE_ALNUM;
3708 	YY_BREAK
3709 case 191:
3710 YY_RULE_SETUP
3711 #line 842 "scan.l"
3712 BEGIN(CCL); return CCE_ALPHA;
3713 	YY_BREAK
3714 case 192:
3715 YY_RULE_SETUP
3716 #line 843 "scan.l"
3717 BEGIN(CCL); return CCE_BLANK;
3718 	YY_BREAK
3719 case 193:
3720 YY_RULE_SETUP
3721 #line 844 "scan.l"
3722 BEGIN(CCL); return CCE_CNTRL;
3723 	YY_BREAK
3724 case 194:
3725 YY_RULE_SETUP
3726 #line 845 "scan.l"
3727 BEGIN(CCL); return CCE_DIGIT;
3728 	YY_BREAK
3729 case 195:
3730 YY_RULE_SETUP
3731 #line 846 "scan.l"
3732 BEGIN(CCL); return CCE_GRAPH;
3733 	YY_BREAK
3734 case 196:
3735 YY_RULE_SETUP
3736 #line 847 "scan.l"
3737 BEGIN(CCL); return CCE_LOWER;
3738 	YY_BREAK
3739 case 197:
3740 YY_RULE_SETUP
3741 #line 848 "scan.l"
3742 BEGIN(CCL); return CCE_PRINT;
3743 	YY_BREAK
3744 case 198:
3745 YY_RULE_SETUP
3746 #line 849 "scan.l"
3747 BEGIN(CCL); return CCE_PUNCT;
3748 	YY_BREAK
3749 case 199:
3750 YY_RULE_SETUP
3751 #line 850 "scan.l"
3752 BEGIN(CCL); return CCE_SPACE;
3753 	YY_BREAK
3754 case 200:
3755 YY_RULE_SETUP
3756 #line 851 "scan.l"
3757 BEGIN(CCL); return CCE_UPPER;
3758 	YY_BREAK
3759 case 201:
3760 YY_RULE_SETUP
3761 #line 852 "scan.l"
3762 BEGIN(CCL); return CCE_XDIGIT;
3763 	YY_BREAK
3764 case 202:
3765 YY_RULE_SETUP
3766 #line 854 "scan.l"
3767 BEGIN(CCL); return CCE_NEG_ALNUM;
3768 	YY_BREAK
3769 case 203:
3770 YY_RULE_SETUP
3771 #line 855 "scan.l"
3772 BEGIN(CCL); return CCE_NEG_ALPHA;
3773 	YY_BREAK
3774 case 204:
3775 YY_RULE_SETUP
3776 #line 856 "scan.l"
3777 BEGIN(CCL); return CCE_NEG_BLANK;
3778 	YY_BREAK
3779 case 205:
3780 YY_RULE_SETUP
3781 #line 857 "scan.l"
3782 BEGIN(CCL); return CCE_NEG_CNTRL;
3783 	YY_BREAK
3784 case 206:
3785 YY_RULE_SETUP
3786 #line 858 "scan.l"
3787 BEGIN(CCL); return CCE_NEG_DIGIT;
3788 	YY_BREAK
3789 case 207:
3790 YY_RULE_SETUP
3791 #line 859 "scan.l"
3792 BEGIN(CCL); return CCE_NEG_GRAPH;
3793 	YY_BREAK
3794 case 208:
3795 YY_RULE_SETUP
3796 #line 860 "scan.l"
3797 BEGIN(CCL); return CCE_NEG_LOWER;
3798 	YY_BREAK
3799 case 209:
3800 YY_RULE_SETUP
3801 #line 861 "scan.l"
3802 BEGIN(CCL); return CCE_NEG_PRINT;
3803 	YY_BREAK
3804 case 210:
3805 YY_RULE_SETUP
3806 #line 862 "scan.l"
3807 BEGIN(CCL); return CCE_NEG_PUNCT;
3808 	YY_BREAK
3809 case 211:
3810 YY_RULE_SETUP
3811 #line 863 "scan.l"
3812 BEGIN(CCL); return CCE_NEG_SPACE;
3813 	YY_BREAK
3814 case 212:
3815 YY_RULE_SETUP
3816 #line 864 "scan.l"
3817 BEGIN(CCL); return CCE_NEG_UPPER;
3818 	YY_BREAK
3819 case 213:
3820 YY_RULE_SETUP
3821 #line 865 "scan.l"
3822 BEGIN(CCL); return CCE_NEG_XDIGIT;
3823 	YY_BREAK
3824 case 214:
3825 YY_RULE_SETUP
3826 #line 866 "scan.l"
3827 {
3828 			format_synerr(
3829 				_( "bad character class expression: %s" ),
3830 					yytext );
3831 			BEGIN(CCL); return CCE_ALNUM;
3832 			}
3833 	YY_BREAK
3834 
3835 
3836 case 215:
3837 YY_RULE_SETUP
3838 #line 875 "scan.l"
3839 {
3840 			yylval = myctoi( yytext );
3841 			return NUMBER;
3842 			}
3843 	YY_BREAK
3844 case 216:
3845 YY_RULE_SETUP
3846 #line 880 "scan.l"
3847 return ',';
3848 	YY_BREAK
3849 case 217:
3850 YY_RULE_SETUP
3851 #line 881 "scan.l"
3852 {
3853 			BEGIN(SECT2);
3854 			if ( lex_compat || posix_compat )
3855 				return END_REPEAT_POSIX;
3856 			else
3857 				return END_REPEAT_FLEX;
3858 			}
3859 	YY_BREAK
3860 case 218:
3861 YY_RULE_SETUP
3862 #line 889 "scan.l"
3863 {
3864 			synerr( _( "bad character inside {}'s" ) );
3865 			BEGIN(SECT2);
3866 			return '}';
3867 			}
3868 	YY_BREAK
3869 case 219:
3870 /* rule 219 can match eol */
3871 YY_RULE_SETUP
3872 #line 895 "scan.l"
3873 {
3874 			synerr( _( "missing }" ) );
3875 			BEGIN(SECT2);
3876 			++linenum;
3877 			return '}';
3878 			}
3879 	YY_BREAK
3880 
3881 
3882 case 220:
3883 YY_RULE_SETUP
3884 #line 905 "scan.l"
3885 bracelevel = 0;
3886 	YY_BREAK
3887 case 221:
3888 YY_RULE_SETUP
3889 #line 907 "scan.l"
3890 ACTION_ECHO; yy_push_state( CODE_COMMENT );
3891 	YY_BREAK
3892 
3893 case 222:
3894 YY_RULE_SETUP
3895 #line 910 "scan.l"
3896 {
3897             ACTION_ECHO;
3898             CHECK_REJECT(yytext);
3899         }
3900 	YY_BREAK
3901 case 223:
3902 YY_RULE_SETUP
3903 #line 914 "scan.l"
3904 {
3905             ACTION_ECHO;
3906             CHECK_YYMORE(yytext);
3907         }
3908 	YY_BREAK
3909 
3910 case 224:
3911 YY_RULE_SETUP
3912 #line 920 "scan.l"
3913 ACTION_ECHO;
3914 	YY_BREAK
3915 case 225:
3916 /* rule 225 can match eol */
3917 YY_RULE_SETUP
3918 #line 921 "scan.l"
3919 {
3920 		++linenum;
3921 		ACTION_ECHO;
3922 		if (bracelevel <= 0 || (doing_codeblock && indented_code)) {
3923             if ( doing_rule_action )
3924                 add_action( "\tYY_BREAK]""]\n" );
3925 
3926             doing_rule_action = doing_codeblock = false;
3927             BEGIN(SECT2);
3928         }
3929     }
3930 	YY_BREAK
3931 
3932 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3933 
3934 case 226:
3935 YY_RULE_SETUP
3936 #line 937 "scan.l"
3937 ACTION_ECHO; ++bracelevel;
3938 	YY_BREAK
3939 case 227:
3940 YY_RULE_SETUP
3941 #line 938 "scan.l"
3942 ACTION_ECHO; --bracelevel;
3943 	YY_BREAK
3944 case 228:
3945 YY_RULE_SETUP
3946 #line 939 "scan.l"
3947 ACTION_ECHO;
3948 	YY_BREAK
3949 case 229:
3950 YY_RULE_SETUP
3951 #line 940 "scan.l"
3952 ACTION_ECHO;
3953 	YY_BREAK
3954 case 230:
3955 YY_RULE_SETUP
3956 #line 941 "scan.l"
3957 ACTION_ECHO; /* character constant */
3958 	YY_BREAK
3959 case 231:
3960 YY_RULE_SETUP
3961 #line 942 "scan.l"
3962 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
3963 	YY_BREAK
3964 case 232:
3965 YY_RULE_SETUP
3966 #line 943 "scan.l"
3967 ACTION_ECHO; BEGIN(ACTION_STRING);
3968 	YY_BREAK
3969 case 233:
3970 /* rule 233 can match eol */
3971 YY_RULE_SETUP
3972 #line 944 "scan.l"
3973 {
3974                 ++linenum;
3975                 ACTION_ECHO;
3976                 if (bracelevel <= 0) {
3977                    if ( doing_rule_action )
3978                       add_action( "\tYY_BREAK]""]\n" );
3979 
3980                    doing_rule_action = false;
3981                    BEGIN(SECT2);
3982                 }
3983              }
3984 	YY_BREAK
3985 case 234:
3986 YY_RULE_SETUP
3987 #line 955 "scan.l"
3988 ACTION_ECHO;
3989 	YY_BREAK
3990 
3991 
3992 case 235:
3993 YY_RULE_SETUP
3994 #line 959 "scan.l"
3995 ACTION_ECHO;
3996 	YY_BREAK
3997 case 236:
3998 YY_RULE_SETUP
3999 #line 960 "scan.l"
4000 ACTION_ECHO; BEGIN(ACTION);
4001 	YY_BREAK
4002 
4003 
4004 case 237:
4005 YY_RULE_SETUP
4006 #line 963 "scan.l"
4007 ACTION_ECHO;
4008 	YY_BREAK
4009 case 238:
4010 YY_RULE_SETUP
4011 #line 964 "scan.l"
4012 ACTION_ECHO; BEGIN(ACTION);
4013 	YY_BREAK
4014 
4015 
4016 case 239:
4017 /* rule 239 can match eol */
4018 YY_RULE_SETUP
4019 #line 967 "scan.l"
4020 ACTION_ECHO;
4021 	YY_BREAK
4022 case 240:
4023 /* rule 240 can match eol */
4024 YY_RULE_SETUP
4025 #line 968 "scan.l"
4026 ACTION_ECHO;
4027 	YY_BREAK
4028 case 241:
4029 /* rule 241 can match eol */
4030 YY_RULE_SETUP
4031 #line 969 "scan.l"
4032 ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); } else { BEGIN(ACTION); }
4033 	YY_BREAK
4034 case 242:
4035 YY_RULE_SETUP
4036 #line 970 "scan.l"
4037 ACTION_ECHO;
4038 	YY_BREAK
4039 
4040 case YY_STATE_EOF(COMMENT):
4041 case YY_STATE_EOF(CODE_COMMENT):
4042 case YY_STATE_EOF(COMMENT_DISCARD):
4043 case YY_STATE_EOF(ACTION):
4044 case YY_STATE_EOF(ACTION_STRING):
4045 case YY_STATE_EOF(CHARACTER_CONSTANT):
4046 #line 973 "scan.l"
4047 {
4048 			synerr( _( "EOF encountered inside an action" ) );
4049 			yyterminate();
4050 			}
4051 	YY_BREAK
4052 case YY_STATE_EOF(EXTENDED_COMMENT):
4053 case YY_STATE_EOF(GROUP_WITH_PARAMS):
4054 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
4055 #line 978 "scan.l"
4056 {
4057 			synerr( _( "EOF encountered inside pattern" ) );
4058 			yyterminate();
4059 			}
4060 	YY_BREAK
4061 case 243:
4062 YY_RULE_SETUP
4063 #line 983 "scan.l"
4064 {
4065 			yylval = myesc( (unsigned char *) yytext );
4066 
4067 			if ( YY_START == FIRSTCCL )
4068 				BEGIN(CCL);
4069 
4070 			return CHAR;
4071 			}
4072 	YY_BREAK
4073 
4074 case 244:
4075 YY_RULE_SETUP
4076 #line 993 "scan.l"
4077 fputs(escaped_qstart, yyout);
4078 	YY_BREAK
4079 case 245:
4080 YY_RULE_SETUP
4081 #line 994 "scan.l"
4082 fputs(escaped_qend, yyout);
4083 	YY_BREAK
4084 case 246:
4085 /* rule 246 can match eol */
4086 YY_RULE_SETUP
4087 #line 995 "scan.l"
4088 ECHO;
4089 	YY_BREAK
4090 case 247:
4091 YY_RULE_SETUP
4092 #line 996 "scan.l"
4093 ECHO;
4094 	YY_BREAK
4095 case YY_STATE_EOF(SECT3):
4096 #line 997 "scan.l"
4097 {
4098         sectnum = 0;
4099         yyterminate();
4100     }
4101 	YY_BREAK
4102 
4103 
4104 case 248:
4105 YY_RULE_SETUP
4106 #line 1003 "scan.l"
4107 fprintf(yyout, "[""[%s]""]", escaped_qstart);
4108 	YY_BREAK
4109 case 249:
4110 YY_RULE_SETUP
4111 #line 1004 "scan.l"
4112 fprintf(yyout, "[""[%s]""]", escaped_qend);
4113 	YY_BREAK
4114 case 250:
4115 /* rule 250 can match eol */
4116 YY_RULE_SETUP
4117 #line 1005 "scan.l"
4118 ECHO;
4119 	YY_BREAK
4120 case 251:
4121 YY_RULE_SETUP
4122 #line 1006 "scan.l"
4123 ECHO;
4124 	YY_BREAK
4125 case YY_STATE_EOF(SECT3_NOESCAPE):
4126 #line 1007 "scan.l"
4127 {
4128        sectnum = 0;
4129        yyterminate();
4130     }
4131 	YY_BREAK
4132 
4133 case 252:
4134 /* rule 252 can match eol */
4135 YY_RULE_SETUP
4136 #line 1012 "scan.l"
4137 format_synerr( _( "bad character: %s" ), yytext );
4138 	YY_BREAK
4139 case 253:
4140 YY_RULE_SETUP
4141 #line 1014 "scan.l"
4142 YY_FATAL_ERROR( "flex scanner jammed" );
4143 	YY_BREAK
4144 #line 4143 "<stdout>"
4145 case YY_STATE_EOF(INITIAL):
4146 case YY_STATE_EOF(SECT2):
4147 case YY_STATE_EOF(CODEBLOCK):
4148 case YY_STATE_EOF(PICKUPDEF):
4149 case YY_STATE_EOF(SC):
4150 case YY_STATE_EOF(CARETISBOL):
4151 case YY_STATE_EOF(NUM):
4152 case YY_STATE_EOF(QUOTE):
4153 case YY_STATE_EOF(FIRSTCCL):
4154 case YY_STATE_EOF(CCL):
4155 case YY_STATE_EOF(RECOVER):
4156 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
4157 case YY_STATE_EOF(OPTION):
4158 case YY_STATE_EOF(LINEDIR):
4159 	yyterminate();
4160 
4161 	case YY_END_OF_BUFFER:
4162 		{
4163 		/* Amount of text matched not including the EOB char. */
4164 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4165 
4166 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
4167 		*yy_cp = (yy_hold_char);
4168 		YY_RESTORE_YY_MORE_OFFSET
4169 
4170 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4171 			{
4172 			/* We're scanning a new file or input source.  It's
4173 			 * possible that this happened because the user
4174 			 * just pointed yyin at a new source and called
4175 			 * yylex().  If so, then we have to assure
4176 			 * consistency between YY_CURRENT_BUFFER and our
4177 			 * globals.  Here is the right place to do so, because
4178 			 * this is the first action (other than possibly a
4179 			 * back-up) that will match for the new input source.
4180 			 */
4181 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4182 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4183 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4184 			}
4185 
4186 		/* Note that here we test for yy_c_buf_p "<=" to the position
4187 		 * of the first EOB in the buffer, since yy_c_buf_p will
4188 		 * already have been incremented past the NUL character
4189 		 * (since all states make transitions on EOB to the
4190 		 * end-of-buffer state).  Contrast this with the test
4191 		 * in input().
4192 		 */
4193 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4194 			{ /* This was really a NUL. */
4195 			yy_state_type yy_next_state;
4196 
4197 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4198 
4199 			yy_current_state = yy_get_previous_state(  );
4200 
4201 			/* Okay, we're now positioned to make the NUL
4202 			 * transition.  We couldn't have
4203 			 * yy_get_previous_state() go ahead and do it
4204 			 * for us because it doesn't know how to deal
4205 			 * with the possibility of jamming (and we don't
4206 			 * want to build jamming into it because then it
4207 			 * will run more slowly).
4208 			 */
4209 
4210 			yy_next_state = yy_try_NUL_trans( yy_current_state );
4211 
4212 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4213 
4214 			if ( yy_next_state )
4215 				{
4216 				/* Consume the NUL. */
4217 				yy_cp = ++(yy_c_buf_p);
4218 				yy_current_state = yy_next_state;
4219 				goto yy_match;
4220 				}
4221 
4222 			else
4223 				{
4224 				yy_cp = (yy_c_buf_p);
4225 				goto yy_find_action;
4226 				}
4227 			}
4228 
4229 		else switch ( yy_get_next_buffer(  ) )
4230 			{
4231 			case EOB_ACT_END_OF_FILE:
4232 				{
4233 				(yy_did_buffer_switch_on_eof) = 0;
4234 
4235 				if ( yywrap(  ) )
4236 					{
4237 					/* Note: because we've taken care in
4238 					 * yy_get_next_buffer() to have set up
4239 					 * yytext, we can now set up
4240 					 * yy_c_buf_p so that if some total
4241 					 * hoser (like flex itself) wants to
4242 					 * call the scanner after we return the
4243 					 * YY_NULL, it'll still work - another
4244 					 * YY_NULL will get returned.
4245 					 */
4246 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4247 
4248 					yy_act = YY_STATE_EOF(YY_START);
4249 					goto do_action;
4250 					}
4251 
4252 				else
4253 					{
4254 					if ( ! (yy_did_buffer_switch_on_eof) )
4255 						YY_NEW_FILE;
4256 					}
4257 				break;
4258 				}
4259 
4260 			case EOB_ACT_CONTINUE_SCAN:
4261 				(yy_c_buf_p) =
4262 					(yytext_ptr) + yy_amount_of_matched_text;
4263 
4264 				yy_current_state = yy_get_previous_state(  );
4265 
4266 				yy_cp = (yy_c_buf_p);
4267 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4268 				goto yy_match;
4269 
4270 			case EOB_ACT_LAST_MATCH:
4271 				(yy_c_buf_p) =
4272 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4273 
4274 				yy_current_state = yy_get_previous_state(  );
4275 
4276 				yy_cp = (yy_c_buf_p);
4277 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4278 				goto yy_find_action;
4279 			}
4280 		break;
4281 		}
4282 
4283 	default:
4284 		YY_FATAL_ERROR(
4285 			"fatal flex scanner internal error--no action found" );
4286 	} /* end of action switch */
4287 		} /* end of scanning one token */
4288 	} /* end of user's declarations */
4289 } /* end of yylex */
4290 
4291 /* yy_get_next_buffer - try to read in a new buffer
4292  *
4293  * Returns a code representing an action:
4294  *	EOB_ACT_LAST_MATCH -
4295  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4296  *	EOB_ACT_END_OF_FILE - end of file
4297  */
4298 static int yy_get_next_buffer (void)
4299 {
4300     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4301 	char *source = (yytext_ptr);
4302 	int number_to_move, i;
4303 	int ret_val;
4304 
4305 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4306 		YY_FATAL_ERROR(
4307 		"fatal flex scanner internal error--end of buffer missed" );
4308 
4309 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4310 		{ /* Don't try to fill the buffer, so this is an EOF. */
4311 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4312 			{
4313 			/* We matched a single character, the EOB, so
4314 			 * treat this as a final EOF.
4315 			 */
4316 			return EOB_ACT_END_OF_FILE;
4317 			}
4318 
4319 		else
4320 			{
4321 			/* We matched some text prior to the EOB, first
4322 			 * process it.
4323 			 */
4324 			return EOB_ACT_LAST_MATCH;
4325 			}
4326 		}
4327 
4328 	/* Try to read more data. */
4329 
4330 	/* First move last chars to start of buffer. */
4331 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4332 
4333 	for ( i = 0; i < number_to_move; ++i )
4334 		*(dest++) = *(source++);
4335 
4336 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4337 		/* don't do the read, it's not guaranteed to return an EOF,
4338 		 * just force an EOF
4339 		 */
4340 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4341 
4342 	else
4343 		{
4344 			int num_to_read =
4345 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4346 
4347 		while ( num_to_read <= 0 )
4348 			{ /* Not enough room in the buffer - grow it. */
4349 
4350 			/* just a shorter name for the current buffer */
4351 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4352 
4353 			int yy_c_buf_p_offset =
4354 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
4355 
4356 			if ( b->yy_is_our_buffer )
4357 				{
4358 				int new_size = b->yy_buf_size * 2;
4359 
4360 				if ( new_size <= 0 )
4361 					b->yy_buf_size += b->yy_buf_size / 8;
4362 				else
4363 					b->yy_buf_size *= 2;
4364 
4365 				b->yy_ch_buf = (char *)
4366 					/* Include room in for 2 EOB chars. */
4367 					yyrealloc( (void *) b->yy_ch_buf,
4368 							 (yy_size_t) (b->yy_buf_size + 2)  );
4369 				}
4370 			else
4371 				/* Can't grow it, we don't own it. */
4372 				b->yy_ch_buf = NULL;
4373 
4374 			if ( ! b->yy_ch_buf )
4375 				YY_FATAL_ERROR(
4376 				"fatal error - scanner input buffer overflow" );
4377 
4378 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4379 
4380 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4381 						number_to_move - 1;
4382 
4383 			}
4384 
4385 		if ( num_to_read > YY_READ_BUF_SIZE )
4386 			num_to_read = YY_READ_BUF_SIZE;
4387 
4388 		/* Read in more data. */
4389 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4390 			(yy_n_chars), num_to_read );
4391 
4392 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4393 		}
4394 
4395 	if ( (yy_n_chars) == 0 )
4396 		{
4397 		if ( number_to_move == YY_MORE_ADJ )
4398 			{
4399 			ret_val = EOB_ACT_END_OF_FILE;
4400 			yyrestart( yyin  );
4401 			}
4402 
4403 		else
4404 			{
4405 			ret_val = EOB_ACT_LAST_MATCH;
4406 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4407 				YY_BUFFER_EOF_PENDING;
4408 			}
4409 		}
4410 
4411 	else
4412 		ret_val = EOB_ACT_CONTINUE_SCAN;
4413 
4414 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4415 		/* Extend the array by 50%, plus the number we really need. */
4416 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4417 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4418 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
4419 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4420 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4421 		/* "- 2" to take care of EOB's */
4422 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4423 	}
4424 
4425 	(yy_n_chars) += number_to_move;
4426 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4427 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4428 
4429 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4430 
4431 	return ret_val;
4432 }
4433 
4434 /* yy_get_previous_state - get the state just before the EOB char was reached */
4435 
4436     static yy_state_type yy_get_previous_state (void)
4437 {
4438 	yy_state_type yy_current_state;
4439 	char *yy_cp;
4440 
4441 	yy_current_state = (yy_start);
4442 	yy_current_state += YY_AT_BOL();
4443 
4444 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4445 		{
4446 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4447 		if ( yy_accept[yy_current_state] )
4448 			{
4449 			(yy_last_accepting_state) = yy_current_state;
4450 			(yy_last_accepting_cpos) = yy_cp;
4451 			}
4452 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4453 			{
4454 			yy_current_state = (int) yy_def[yy_current_state];
4455 			if ( yy_current_state >= 1114 )
4456 				yy_c = yy_meta[yy_c];
4457 			}
4458 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4459 		}
4460 
4461 	return yy_current_state;
4462 }
4463 
4464 /* yy_try_NUL_trans - try to make a transition on the NUL character
4465  *
4466  * synopsis
4467  *	next_state = yy_try_NUL_trans( current_state );
4468  */
4469     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4470 {
4471 	int yy_is_jam;
4472     	char *yy_cp = (yy_c_buf_p);
4473 
4474 	YY_CHAR yy_c = 1;
4475 	if ( yy_accept[yy_current_state] )
4476 		{
4477 		(yy_last_accepting_state) = yy_current_state;
4478 		(yy_last_accepting_cpos) = yy_cp;
4479 		}
4480 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4481 		{
4482 		yy_current_state = (int) yy_def[yy_current_state];
4483 		if ( yy_current_state >= 1114 )
4484 			yy_c = yy_meta[yy_c];
4485 		}
4486 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4487 	yy_is_jam = (yy_current_state == 1113);
4488 
4489 		return yy_is_jam ? 0 : yy_current_state;
4490 }
4491 
4492 #ifndef YY_NO_UNPUT
4493 
4494     static void yyunput (int c, char * yy_bp )
4495 {
4496 	char *yy_cp;
4497 
4498     yy_cp = (yy_c_buf_p);
4499 
4500 	/* undo effects of setting up yytext */
4501 	*yy_cp = (yy_hold_char);
4502 
4503 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4504 		{ /* need to shift things up to make room */
4505 		/* +2 for EOB chars. */
4506 		int number_to_move = (yy_n_chars) + 2;
4507 		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4508 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4509 		char *source =
4510 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4511 
4512 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4513 			*--dest = *--source;
4514 
4515 		yy_cp += (int) (dest - source);
4516 		yy_bp += (int) (dest - source);
4517 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4518 			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4519 
4520 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4521 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
4522 		}
4523 
4524 	*--yy_cp = (char) c;
4525 
4526 	(yytext_ptr) = yy_bp;
4527 	(yy_hold_char) = *yy_cp;
4528 	(yy_c_buf_p) = yy_cp;
4529 }
4530 
4531 #endif
4532 
4533 #ifndef YY_NO_INPUT
4534 #ifdef __cplusplus
4535     static int yyinput (void)
4536 #else
4537     static int input  (void)
4538 #endif
4539 
4540 {
4541 	int c;
4542 
4543 	*(yy_c_buf_p) = (yy_hold_char);
4544 
4545 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4546 		{
4547 		/* yy_c_buf_p now points to the character we want to return.
4548 		 * If this occurs *before* the EOB characters, then it's a
4549 		 * valid NUL; if not, then we've hit the end of the buffer.
4550 		 */
4551 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4552 			/* This was really a NUL. */
4553 			*(yy_c_buf_p) = '\0';
4554 
4555 		else
4556 			{ /* need more input */
4557 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4558 			++(yy_c_buf_p);
4559 
4560 			switch ( yy_get_next_buffer(  ) )
4561 				{
4562 				case EOB_ACT_LAST_MATCH:
4563 					/* This happens because yy_g_n_b()
4564 					 * sees that we've accumulated a
4565 					 * token and flags that we need to
4566 					 * try matching the token before
4567 					 * proceeding.  But for input(),
4568 					 * there's no matching to consider.
4569 					 * So convert the EOB_ACT_LAST_MATCH
4570 					 * to EOB_ACT_END_OF_FILE.
4571 					 */
4572 
4573 					/* Reset buffer status. */
4574 					yyrestart( yyin );
4575 
4576 					/*FALLTHROUGH*/
4577 
4578 				case EOB_ACT_END_OF_FILE:
4579 					{
4580 					if ( yywrap(  ) )
4581 						return 0;
4582 
4583 					if ( ! (yy_did_buffer_switch_on_eof) )
4584 						YY_NEW_FILE;
4585 #ifdef __cplusplus
4586 					return yyinput();
4587 #else
4588 					return input();
4589 #endif
4590 					}
4591 
4592 				case EOB_ACT_CONTINUE_SCAN:
4593 					(yy_c_buf_p) = (yytext_ptr) + offset;
4594 					break;
4595 				}
4596 			}
4597 		}
4598 
4599 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
4600 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
4601 	(yy_hold_char) = *++(yy_c_buf_p);
4602 
4603 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4604 
4605 	return c;
4606 }
4607 #endif	/* ifndef YY_NO_INPUT */
4608 
4609 /** Immediately switch to a different input stream.
4610  * @param input_file A readable stream.
4611  *
4612  * @note This function does not reset the start condition to @c INITIAL .
4613  */
4614     void yyrestart  (FILE * input_file )
4615 {
4616 
4617 	if ( ! YY_CURRENT_BUFFER ){
4618         yyensure_buffer_stack ();
4619 		YY_CURRENT_BUFFER_LVALUE =
4620             yy_create_buffer( yyin, YY_BUF_SIZE );
4621 	}
4622 
4623 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4624 	yy_load_buffer_state(  );
4625 }
4626 
4627 /** Switch to a different input buffer.
4628  * @param new_buffer The new input buffer.
4629  *
4630  */
4631     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
4632 {
4633 
4634 	/* TODO. We should be able to replace this entire function body
4635 	 * with
4636 	 *		yypop_buffer_state();
4637 	 *		yypush_buffer_state(new_buffer);
4638      */
4639 	yyensure_buffer_stack ();
4640 	if ( YY_CURRENT_BUFFER == new_buffer )
4641 		return;
4642 
4643 	if ( YY_CURRENT_BUFFER )
4644 		{
4645 		/* Flush out information for old buffer. */
4646 		*(yy_c_buf_p) = (yy_hold_char);
4647 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4648 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4649 		}
4650 
4651 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4652 	yy_load_buffer_state(  );
4653 
4654 	/* We don't actually know whether we did this switch during
4655 	 * EOF (yywrap()) processing, but the only time this flag
4656 	 * is looked at is after yywrap() is called, so it's safe
4657 	 * to go ahead and always set it.
4658 	 */
4659 	(yy_did_buffer_switch_on_eof) = 1;
4660 }
4661 
4662 static void yy_load_buffer_state  (void)
4663 {
4664     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4665 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4666 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4667 	(yy_hold_char) = *(yy_c_buf_p);
4668 }
4669 
4670 /** Allocate and initialize an input buffer state.
4671  * @param file A readable stream.
4672  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4673  *
4674  * @return the allocated buffer state.
4675  */
4676     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4677 {
4678 	YY_BUFFER_STATE b;
4679 
4680 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4681 	if ( ! b )
4682 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4683 
4684 	b->yy_buf_size = size;
4685 
4686 	/* yy_ch_buf has to be 2 characters longer than the size given because
4687 	 * we need to put in 2 end-of-buffer characters.
4688 	 */
4689 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
4690 	if ( ! b->yy_ch_buf )
4691 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4692 
4693 	b->yy_is_our_buffer = 1;
4694 
4695 	yy_init_buffer( b, file );
4696 
4697 	return b;
4698 }
4699 
4700 /** Destroy the buffer.
4701  * @param b a buffer created with yy_create_buffer()
4702  *
4703  */
4704     void yy_delete_buffer (YY_BUFFER_STATE  b )
4705 {
4706 
4707 	if ( ! b )
4708 		return;
4709 
4710 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4711 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4712 
4713 	if ( b->yy_is_our_buffer )
4714 		yyfree( (void *) b->yy_ch_buf  );
4715 
4716 	yyfree( (void *) b  );
4717 }
4718 
4719 /* Initializes or reinitializes a buffer.
4720  * This function is sometimes called more than once on the same buffer,
4721  * such as during a yyrestart() or at EOF.
4722  */
4723     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
4724 
4725 {
4726 	int oerrno = errno;
4727 
4728 	yy_flush_buffer( b );
4729 
4730 	b->yy_input_file = file;
4731 	b->yy_fill_buffer = 1;
4732 
4733     /* If b is the current buffer, then yy_init_buffer was _probably_
4734      * called from yyrestart() or through yy_get_next_buffer.
4735      * In that case, we don't want to reset the lineno or column.
4736      */
4737     if (b != YY_CURRENT_BUFFER){
4738         b->yy_bs_lineno = 1;
4739         b->yy_bs_column = 0;
4740     }
4741 
4742         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4743 
4744 	errno = oerrno;
4745 }
4746 
4747 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4748  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4749  *
4750  */
4751     void yy_flush_buffer (YY_BUFFER_STATE  b )
4752 {
4753     	if ( ! b )
4754 		return;
4755 
4756 	b->yy_n_chars = 0;
4757 
4758 	/* We always need two end-of-buffer characters.  The first causes
4759 	 * a transition to the end-of-buffer state.  The second causes
4760 	 * a jam in that state.
4761 	 */
4762 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4763 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4764 
4765 	b->yy_buf_pos = &b->yy_ch_buf[0];
4766 
4767 	b->yy_at_bol = 1;
4768 	b->yy_buffer_status = YY_BUFFER_NEW;
4769 
4770 	if ( b == YY_CURRENT_BUFFER )
4771 		yy_load_buffer_state(  );
4772 }
4773 
4774 /** Pushes the new state onto the stack. The new state becomes
4775  *  the current state. This function will allocate the stack
4776  *  if necessary.
4777  *  @param new_buffer The new state.
4778  *
4779  */
4780 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4781 {
4782     	if (new_buffer == NULL)
4783 		return;
4784 
4785 	yyensure_buffer_stack();
4786 
4787 	/* This block is copied from yy_switch_to_buffer. */
4788 	if ( YY_CURRENT_BUFFER )
4789 		{
4790 		/* Flush out information for old buffer. */
4791 		*(yy_c_buf_p) = (yy_hold_char);
4792 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4793 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4794 		}
4795 
4796 	/* Only push if top exists. Otherwise, replace top. */
4797 	if (YY_CURRENT_BUFFER)
4798 		(yy_buffer_stack_top)++;
4799 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4800 
4801 	/* copied from yy_switch_to_buffer. */
4802 	yy_load_buffer_state(  );
4803 	(yy_did_buffer_switch_on_eof) = 1;
4804 }
4805 
4806 /** Removes and deletes the top of the stack, if present.
4807  *  The next element becomes the new top.
4808  *
4809  */
4810 void yypop_buffer_state (void)
4811 {
4812     	if (!YY_CURRENT_BUFFER)
4813 		return;
4814 
4815 	yy_delete_buffer(YY_CURRENT_BUFFER );
4816 	YY_CURRENT_BUFFER_LVALUE = NULL;
4817 	if ((yy_buffer_stack_top) > 0)
4818 		--(yy_buffer_stack_top);
4819 
4820 	if (YY_CURRENT_BUFFER) {
4821 		yy_load_buffer_state(  );
4822 		(yy_did_buffer_switch_on_eof) = 1;
4823 	}
4824 }
4825 
4826 /* Allocates the stack if it does not exist.
4827  *  Guarantees space for at least one push.
4828  */
4829 static void yyensure_buffer_stack (void)
4830 {
4831 	yy_size_t num_to_alloc;
4832 
4833 	if (!(yy_buffer_stack)) {
4834 
4835 		/* First allocation is just for 2 elements, since we don't know if this
4836 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4837 		 * immediate realloc on the next call.
4838          */
4839       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4840 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4841 								(num_to_alloc * sizeof(struct yy_buffer_state*)
4842 								);
4843 		if ( ! (yy_buffer_stack) )
4844 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4845 
4846 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4847 
4848 		(yy_buffer_stack_max) = num_to_alloc;
4849 		(yy_buffer_stack_top) = 0;
4850 		return;
4851 	}
4852 
4853 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4854 
4855 		/* Increase the buffer to prepare for a possible push. */
4856 		yy_size_t grow_size = 8 /* arbitrary grow size */;
4857 
4858 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
4859 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4860 								((yy_buffer_stack),
4861 								num_to_alloc * sizeof(struct yy_buffer_state*)
4862 								);
4863 		if ( ! (yy_buffer_stack) )
4864 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4865 
4866 		/* zero only the new slots.*/
4867 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4868 		(yy_buffer_stack_max) = num_to_alloc;
4869 	}
4870 }
4871 
4872 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4873  * @param base the character buffer
4874  * @param size the size in bytes of the character buffer
4875  *
4876  * @return the newly allocated buffer state object.
4877  */
4878 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4879 {
4880 	YY_BUFFER_STATE b;
4881 
4882 	if ( size < 2 ||
4883 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
4884 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
4885 		/* They forgot to leave room for the EOB's. */
4886 		return NULL;
4887 
4888 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4889 	if ( ! b )
4890 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4891 
4892 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
4893 	b->yy_buf_pos = b->yy_ch_buf = base;
4894 	b->yy_is_our_buffer = 0;
4895 	b->yy_input_file = NULL;
4896 	b->yy_n_chars = b->yy_buf_size;
4897 	b->yy_is_interactive = 0;
4898 	b->yy_at_bol = 1;
4899 	b->yy_fill_buffer = 0;
4900 	b->yy_buffer_status = YY_BUFFER_NEW;
4901 
4902 	yy_switch_to_buffer( b  );
4903 
4904 	return b;
4905 }
4906 
4907 /** Setup the input buffer state to scan a string. The next call to yylex() will
4908  * scan from a @e copy of @a str.
4909  * @param yystr a NUL-terminated string to scan
4910  *
4911  * @return the newly allocated buffer state object.
4912  * @note If you want to scan bytes that may contain NUL values, then use
4913  *       yy_scan_bytes() instead.
4914  */
4915 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4916 {
4917 
4918 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
4919 }
4920 
4921 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4922  * scan from a @e copy of @a bytes.
4923  * @param yybytes the byte buffer to scan
4924  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4925  *
4926  * @return the newly allocated buffer state object.
4927  */
4928 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
4929 {
4930 	YY_BUFFER_STATE b;
4931 	char *buf;
4932 	yy_size_t n;
4933 	int i;
4934 
4935 	/* Get memory for full buffer, including space for trailing EOB's. */
4936 	n = (yy_size_t) (_yybytes_len + 2);
4937 	buf = (char *) yyalloc( n  );
4938 	if ( ! buf )
4939 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4940 
4941 	for ( i = 0; i < _yybytes_len; ++i )
4942 		buf[i] = yybytes[i];
4943 
4944 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4945 
4946 	b = yy_scan_buffer( buf, n );
4947 	if ( ! b )
4948 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4949 
4950 	/* It's okay to grow etc. this buffer, and we should throw it
4951 	 * away when we're done.
4952 	 */
4953 	b->yy_is_our_buffer = 1;
4954 
4955 	return b;
4956 }
4957 
4958     static void yy_push_state (int  _new_state )
4959 {
4960     	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4961 		{
4962 		yy_size_t new_size;
4963 
4964 		(yy_start_stack_depth) += YY_START_STACK_INCR;
4965 		new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4966 
4967 		if ( ! (yy_start_stack) )
4968 			(yy_start_stack) = (int *) yyalloc( new_size  );
4969 
4970 		else
4971 			(yy_start_stack) = (int *) yyrealloc(
4972 					(void *) (yy_start_stack), new_size  );
4973 
4974 		if ( ! (yy_start_stack) )
4975 			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4976 		}
4977 
4978 	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4979 
4980 	BEGIN(_new_state);
4981 }
4982 
4983     static void yy_pop_state  (void)
4984 {
4985     	if ( --(yy_start_stack_ptr) < 0 )
4986 		YY_FATAL_ERROR( "start-condition stack underflow" );
4987 
4988 	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4989 }
4990 
4991 #ifndef YY_EXIT_FAILURE
4992 #define YY_EXIT_FAILURE 2
4993 #endif
4994 
4995 static void yynoreturn yy_fatal_error (const char* msg )
4996 {
4997 			fprintf( stderr, "%s\n", msg );
4998 	exit( YY_EXIT_FAILURE );
4999 }
5000 
5001 /* Redefine yyless() so it works in section 3 code. */
5002 
5003 #undef yyless
5004 #define yyless(n) \
5005 	do \
5006 		{ \
5007 		/* Undo effects of setting up yytext. */ \
5008         int yyless_macro_arg = (n); \
5009         YY_LESS_LINENO(yyless_macro_arg);\
5010 		yytext[yyleng] = (yy_hold_char); \
5011 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
5012 		(yy_hold_char) = *(yy_c_buf_p); \
5013 		*(yy_c_buf_p) = '\0'; \
5014 		yyleng = yyless_macro_arg; \
5015 		} \
5016 	while ( 0 )
5017 
5018 /* Accessor  methods (get/set functions) to struct members. */
5019 
5020 /** Get the current line number.
5021  *
5022  */
5023 int yyget_lineno  (void)
5024 {
5025 
5026     return yylineno;
5027 }
5028 
5029 /** Get the input stream.
5030  *
5031  */
5032 FILE *yyget_in  (void)
5033 {
5034         return yyin;
5035 }
5036 
5037 /** Get the output stream.
5038  *
5039  */
5040 FILE *yyget_out  (void)
5041 {
5042         return yyout;
5043 }
5044 
5045 /** Get the length of the current token.
5046  *
5047  */
5048 int yyget_leng  (void)
5049 {
5050         return yyleng;
5051 }
5052 
5053 /** Get the current token.
5054  *
5055  */
5056 
5057 char *yyget_text  (void)
5058 {
5059         return yytext;
5060 }
5061 
5062 /** Set the current line number.
5063  * @param _line_number line number
5064  *
5065  */
5066 void yyset_lineno (int  _line_number )
5067 {
5068 
5069     yylineno = _line_number;
5070 }
5071 
5072 /** Set the input stream. This does not discard the current
5073  * input buffer.
5074  * @param _in_str A readable stream.
5075  *
5076  * @see yy_switch_to_buffer
5077  */
5078 void yyset_in (FILE *  _in_str )
5079 {
5080         yyin = _in_str ;
5081 }
5082 
5083 void yyset_out (FILE *  _out_str )
5084 {
5085         yyout = _out_str ;
5086 }
5087 
5088 int yyget_debug  (void)
5089 {
5090         return yy_flex_debug;
5091 }
5092 
5093 void yyset_debug (int  _bdebug )
5094 {
5095         yy_flex_debug = _bdebug ;
5096 }
5097 
5098 static int yy_init_globals (void)
5099 {
5100         /* Initialization is the same as for the non-reentrant scanner.
5101      * This function is called from yylex_destroy(), so don't allocate here.
5102      */
5103 
5104     (yy_buffer_stack) = NULL;
5105     (yy_buffer_stack_top) = 0;
5106     (yy_buffer_stack_max) = 0;
5107     (yy_c_buf_p) = NULL;
5108     (yy_init) = 0;
5109     (yy_start) = 0;
5110 
5111     (yy_start_stack_ptr) = 0;
5112     (yy_start_stack_depth) = 0;
5113     (yy_start_stack) =  NULL;
5114 
5115 /* Defined in main.c */
5116 #ifdef YY_STDINIT
5117     yyin = stdin;
5118     yyout = stdout;
5119 #else
5120     yyin = NULL;
5121     yyout = NULL;
5122 #endif
5123 
5124     /* For future reference: Set errno on error, since we are called by
5125      * yylex_init()
5126      */
5127     return 0;
5128 }
5129 
5130 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
5131 int yylex_destroy  (void)
5132 {
5133 
5134     /* Pop the buffer stack, destroying each element. */
5135 	while(YY_CURRENT_BUFFER){
5136 		yy_delete_buffer( YY_CURRENT_BUFFER  );
5137 		YY_CURRENT_BUFFER_LVALUE = NULL;
5138 		yypop_buffer_state();
5139 	}
5140 
5141 	/* Destroy the stack itself. */
5142 	yyfree((yy_buffer_stack) );
5143 	(yy_buffer_stack) = NULL;
5144 
5145     /* Destroy the start condition stack. */
5146         yyfree( (yy_start_stack)  );
5147         (yy_start_stack) = NULL;
5148 
5149     /* Reset the globals. This is important in a non-reentrant scanner so the next time
5150      * yylex() is called, initialization will occur. */
5151     yy_init_globals( );
5152 
5153     return 0;
5154 }
5155 
5156 /*
5157  * Internal utility routines.
5158  */
5159 
5160 #ifndef yytext_ptr
5161 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5162 {
5163 
5164 	int i;
5165 	for ( i = 0; i < n; ++i )
5166 		s1[i] = s2[i];
5167 }
5168 #endif
5169 
5170 #ifdef YY_NEED_STRLEN
5171 static int yy_flex_strlen (const char * s )
5172 {
5173 	int n;
5174 	for ( n = 0; s[n]; ++n )
5175 		;
5176 
5177 	return n;
5178 }
5179 #endif
5180 
5181 void *yyalloc (yy_size_t  size )
5182 {
5183 			return malloc(size);
5184 }
5185 
5186 void *yyrealloc  (void * ptr, yy_size_t  size )
5187 {
5188 
5189 	/* The cast to (char *) in the following accommodates both
5190 	 * implementations that use char* generic pointers, and those
5191 	 * that use void* generic pointers.  It works with the latter
5192 	 * because both ANSI C and C++ allow castless assignment from
5193 	 * any pointer type to void*, and deal with argument conversions
5194 	 * as though doing an assignment.
5195 	 */
5196 	return realloc(ptr, size);
5197 }
5198 
5199 void yyfree (void * ptr )
5200 {
5201 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
5202 }
5203 
5204 #define YYTABLES_NAME "yytables"
5205 
5206 #line 1014 "scan.l"
5207 
5208 
5209 
5210 int yywrap(void)
5211 	{
5212 	if ( --num_input_files > 0 )
5213 		{
5214 		set_input_file( *++input_files );
5215 		return 0;
5216 		}
5217 
5218 	else
5219 		return 1;
5220 	}
5221 
5222 
5223 /* set_input_file - open the given file (if NULL, stdin) for scanning */
5224 
5225 void set_input_file( char *file )
5226 	{
5227 	if ( file && strcmp( file, "-" ) )
5228 		{
5229 		infilename = xstrdup(file);
5230 		yyin = fopen( infilename, "r" );
5231 
5232 		if ( yyin == NULL )
5233 			lerr( _( "can't open %s" ), file );
5234 		}
5235 
5236 	else
5237 		{
5238 		yyin = stdin;
5239 		infilename = xstrdup("<stdin>");
5240 		}
5241 
5242 	linenum = 1;
5243 	}
5244 
5245