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