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