ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-8/src/conf_lexer.c
Revision: 1353
Committed: Sun Apr 15 18:35:55 2012 UTC (13 years, 4 months ago) by michael
Content type: text/x-csrc
File size: 146846 byte(s)
Log Message:
- move conf_yy_input and conf_yy_fatal_error to conf_lexer.l
- conf_lexer.l: replace a strcpy with strlcpy

File Contents

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

Properties

Name Value
svn:eol-style native