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