From 69007484498bbfd9e46d69ac8cb0f49a5db35e71 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 31 Oct 2002 23:20:35 +0000 Subject: [PATCH] Oops. Kill generated binaries. --- extra/config/.cvsignore | 6 + extra/config/conf | Bin 163714 -> 0 bytes extra/config/lex.zconf.c | 3270 -------------------------------------- extra/config/lkc_defs.h | 38 - extra/config/lxdialog/.cvsignore | 1 + extra/config/lxdialog/lxdialog | Bin 34594 -> 0 bytes extra/config/mconf | Bin 178758 -> 0 bytes extra/config/zconf.tab.c | 1866 ---------------------- extra/config/zconf.tab.h | 53 - 9 files changed, 7 insertions(+), 5227 deletions(-) create mode 100644 extra/config/.cvsignore delete mode 100755 extra/config/conf delete mode 100644 extra/config/lex.zconf.c delete mode 100644 extra/config/lkc_defs.h create mode 100644 extra/config/lxdialog/.cvsignore delete mode 100755 extra/config/lxdialog/lxdialog delete mode 100755 extra/config/mconf delete mode 100644 extra/config/zconf.tab.c delete mode 100644 extra/config/zconf.tab.h diff --git a/extra/config/.cvsignore b/extra/config/.cvsignore new file mode 100644 index 000000000..4bd9a80f9 --- /dev/null +++ b/extra/config/.cvsignore @@ -0,0 +1,6 @@ +conf +mconf +lkc_defs.h +lex.zconf.c +zconf.tab.h +zconf.tab.c diff --git a/extra/config/conf b/extra/config/conf deleted file mode 100755 index ed1a65310d70ed1913f5271ad4d83415039c4ee1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163714 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 diff --git a/extra/config/lex.zconf.c b/extra/config/lex.zconf.c deleted file mode 100644 index 4507671a4..000000000 --- a/extra/config/lex.zconf.c +++ /dev/null @@ -1,3270 +0,0 @@ -#define yy_create_buffer zconf_create_buffer -#define yy_delete_buffer zconf_delete_buffer -#define yy_scan_buffer zconf_scan_buffer -#define yy_scan_string zconf_scan_string -#define yy_scan_bytes zconf_scan_bytes -#define yy_flex_debug zconf_flex_debug -#define yy_init_buffer zconf_init_buffer -#define yy_flush_buffer zconf_flush_buffer -#define yy_load_buffer_state zconf_load_buffer_state -#define yy_switch_to_buffer zconf_switch_to_buffer -#define yyin zconfin -#define yyleng zconfleng -#define yylex zconflex -#define yyout zconfout -#define yyrestart zconfrestart -#define yytext zconftext - -/* A lexical scanner generated by flex */ - -/* Scanner skeleton version: - * $Header: /var/cvs/uClibc/extra/config/Attic/lex.zconf.c,v 1.1 2002/10/31 18:19:05 andersen Exp $ - */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 - -#include -#include - -/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ -#ifdef c_plusplus -#ifndef __cplusplus -#define __cplusplus -#endif -#endif - - -#ifdef __cplusplus - -#include -#ifndef _WIN32 -#include -#endif - -/* Use prototypes in function declarations. */ -#define YY_USE_PROTOS - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -#if __STDC__ - -#define YY_USE_PROTOS -#define YY_USE_CONST - -#endif /* __STDC__ */ -#endif /* ! __cplusplus */ - -#ifdef __TURBOC__ - #pragma warn -rch - #pragma warn -use -#include -#include -#define YY_USE_CONST -#define YY_USE_PROTOS -#endif - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - - -#ifdef YY_USE_PROTOS -#define YY_PROTO(proto) proto -#else -#define YY_PROTO(proto) () -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN yy_start = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START ((yy_start - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#define YY_BUF_SIZE 16384 - -typedef struct yy_buffer_state *YY_BUFFER_STATE; - -extern int yyleng; -extern FILE *yyin, *yyout; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - -/* The funky do-while in the following #define is used to turn the definition - * int a single C statement (which needs a semi-colon terminator). This - * avoids problems with code like: - * - * if ( condition_holds ) - * yyless( 5 ); - * else - * do_something_else(); - * - * Prior to using the do-while the compiler would get upset at the - * "else" because it interpreted the "if" statement as being all - * done when it reached the ';' after the yyless() call. - */ - -/* Return all but the first 'n' matched characters back to the input stream. */ - -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - *yy_cp = yy_hold_char; \ - YY_RESTORE_YY_MORE_OFFSET \ - yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, yytext_ptr ) - -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ -typedef unsigned int yy_size_t; - - -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - }; - -static YY_BUFFER_STATE yy_current_buffer = 0; - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - */ -#define YY_CURRENT_BUFFER yy_current_buffer - - -/* yy_hold_char holds the character lost when yytext is formed. */ -static char yy_hold_char; - -static int yy_n_chars; /* number of characters read into yy_ch_buf */ - - -int yyleng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 1; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; - -void yyrestart YY_PROTO(( FILE *input_file )); - -void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); -void yy_load_buffer_state YY_PROTO(( void )); -YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); -void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); -void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); -void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); -#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) - -YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); -YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); -YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); - -static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); -static void yy_flex_free YY_PROTO(( void * )); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - - -#define yywrap() 1 -#define YY_SKIP_YYWRAP -typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; -typedef int yy_state_type; -extern char *yytext; -#define yytext_ptr yytext -static yyconst short yy_nxt[][37] = - { - { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0 - }, - - { - 11, 12, 13, 14, 12, 12, 15, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12 - }, - - { - 11, 12, 13, 14, 12, 12, 15, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12 - }, - - { - 11, 16, 16, 17, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 18, 16, 16, 18, 19, 20, 21, - 22, 18, 18, 23, 24, 18, 25, 18, 26, 27, - 18, 28, 29, 30, 18, 18, 16 - }, - - { - 11, 16, 16, 17, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 18, 16, 16, 18, 19, 20, 21, - 22, 18, 18, 23, 24, 18, 25, 18, 26, 27, - 18, 28, 29, 30, 18, 18, 16 - - }, - - { - 11, 31, 32, 33, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31 - }, - - { - 11, 31, 32, 33, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31 - }, - - { - 11, 34, 34, 35, 34, 36, 34, 34, 36, 34, - 34, 34, 34, 34, 34, 37, 34, 34, 34, 34, - - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34 - }, - - { - 11, 34, 34, 35, 34, 36, 34, 34, 36, 34, - 34, 34, 34, 34, 34, 37, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34 - }, - - { - 11, 38, 38, 39, 40, 41, 38, 42, 41, 43, - 44, 45, 46, 46, 47, 38, 46, 46, 46, 46, - 46, 46, 46, 46, 48, 46, 46, 46, 49, 46, - 46, 46, 46, 46, 46, 46, 50 - - }, - - { - 11, 38, 38, 39, 40, 41, 38, 42, 41, 43, - 44, 45, 46, 46, 47, 38, 46, 46, 46, 46, - 46, 46, 46, 46, 48, 46, 46, 46, 49, 46, - 46, 46, 46, 46, 46, 46, 50 - }, - - { - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11 - }, - - { - 11, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - - -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12 - }, - - { - 11, -13, 51, 52, -13, -13, 53, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13 - }, - - { - 11, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14 - - }, - - { - 11, 54, 54, 55, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54 - }, - - { - 11, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16 - }, - - { - 11, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - - -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17 - }, - - { - 11, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, 56, -18, -18, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -18 - }, - - { - 11, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, 56, -19, -19, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 57, 56, - 56, 56, 56, 56, 56, 56, -19 - - }, - - { - 11, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, 56, -20, -20, 56, 56, 56, 56, - 56, 56, 56, 58, 56, 56, 56, 56, 59, 56, - 56, 56, 56, 56, 56, 56, -20 - }, - - { - 11, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, 56, -21, -21, 56, 56, 56, 56, - 60, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -21 - }, - - { - 11, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, 56, -22, -22, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 61, 56, 56, - 56, 56, 56, 56, 56, 56, -22 - }, - - { - 11, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, 56, -23, -23, 56, 56, 56, 56, - 62, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -23 - }, - - { - 11, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, 56, -24, -24, 56, 56, 56, 56, - 56, 63, 56, 56, 56, 56, 56, 64, 56, 56, - 56, 56, 56, 56, 56, 56, -24 - - }, - - { - 11, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, 56, -25, -25, 65, 56, 56, 56, - 66, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -25 - }, - - { - 11, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, 56, -26, -26, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 67, - 56, 56, 56, 56, 56, 56, -26 - }, - - { - 11, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, 56, -27, -27, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 68, 56, 56, 56, 56, -27 - }, - - { - 11, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, 56, -28, -28, 56, 56, 56, 56, - 69, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -28 - }, - - { - 11, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, 56, -29, -29, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 70, 56, - 56, 56, 56, 71, 56, 56, -29 - - }, - - { - 11, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, 56, -30, -30, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 72, 56, 56, 56, 56, -30 - }, - - { - 11, 73, 73, -31, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73 - }, - - { - 11, -32, 74, 75, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, - - -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32 - }, - - { - 11, 76, -33, -33, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 76 - }, - - { - 11, 77, 77, -34, 77, -34, 77, 77, -34, 77, - 77, 77, 77, 77, 77, -34, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77 - - }, - - { - 11, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, -35, -35, -35, -35, -35, -35 - }, - - { - 11, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36 - }, - - { - 11, 78, 79, 80, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78 - }, - - { - 11, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, -38 - }, - - { - 11, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39 - - }, - - { - 11, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, 81, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40 - }, - - { - 11, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, - -41, -41, -41, -41, -41, -41, -41 - }, - - { - 11, -42, -42, -42, -42, -42, -42, 82, -42, -42, - -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, - - -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, - -42, -42, -42, -42, -42, -42, -42 - }, - - { - 11, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43 - }, - - { - 11, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, -44, -44, -44, -44 - - }, - - { - 11, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, 83, 84, 84, -45, -45, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -45 - }, - - { - 11, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, 84, 84, 84, -46, -46, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -46 - }, - - { - 11, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47 - }, - - { - 11, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, 84, 84, 84, -48, -48, 84, 84, 84, 84, - 84, 85, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -48 - }, - - { - 11, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, 84, 84, 84, -49, -49, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 86, 84, 84, - 84, 84, 84, 84, 84, 84, -49 - - }, - - { - 11, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, -50, -50, -50, -50, -50, 87 - }, - - { - 11, -51, 51, 52, -51, -51, 53, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51 - }, - - { - 11, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - - -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52 - }, - - { - 11, 54, 54, 55, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54 - }, - - { - 11, 54, 54, 55, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54 - - }, - - { - 11, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55 - }, - - { - 11, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, 56, -56, -56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -56 - }, - - { - 11, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, 56, -57, -57, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 88, 56, - 56, 56, 56, 56, 56, 56, -57 - }, - - { - 11, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, 56, -58, -58, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 89, 56, - 56, 56, 56, 56, 56, 56, -58 - }, - - { - 11, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, 56, -59, -59, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 90, 91, 56, 56, - 56, 56, 56, 56, 56, 56, -59 - - }, - - { - 11, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, -60, -60, 56, -60, -60, 56, 56, 56, 56, - 56, 92, 56, 56, 56, 56, 56, 56, 56, 93, - 56, 56, 56, 56, 56, 56, -60 - }, - - { - 11, -61, -61, -61, -61, -61, -61, -61, -61, -61, - -61, -61, -61, 56, -61, -61, 56, 56, 56, 94, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -61 - }, - - { - 11, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, 56, -62, -62, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 95, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 96, -62 - }, - - { - 11, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, 56, -63, -63, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -63 - }, - - { - 11, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, 56, -64, -64, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 97, 56, 56, -64 - - }, - - { - 11, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, 56, -65, -65, 56, 56, 56, 56, - 56, 56, 56, 56, 98, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -65 - }, - - { - 11, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, 56, -66, -66, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 99, 56, 56, - 56, 56, 56, 56, 56, 56, -66 - }, - - { - 11, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, 56, -67, -67, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 100, 56, 56, -67 - }, - - { - 11, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, 56, -68, -68, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 101, 56, - 56, 56, 56, 56, 56, 56, -68 - }, - - { - 11, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, 56, -69, -69, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 102, 56, 56, 56, 56, 56, -69 - - }, - - { - 11, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, 56, -70, -70, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 103, 56, -70 - }, - - { - 11, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, 56, -71, -71, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 104, 56, 56, 56, 56, -71 - }, - - { - 11, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, 56, -72, -72, 56, 56, 56, 56, - - 56, 56, 56, 56, 105, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -72 - }, - - { - 11, 73, 73, -73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73 - }, - - { - 11, -74, 74, 75, -74, -74, -74, -74, -74, -74, - -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, - -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, - -74, -74, -74, -74, -74, -74, -74 - - }, - - { - 11, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75 - }, - - { - 11, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, - -76, -76, -76, -76, -76, -76, -76 - }, - - { - 11, 77, 77, -77, 77, -77, 77, 77, -77, 77, - 77, 77, 77, 77, 77, -77, 77, 77, 77, 77, - - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77 - }, - - { - 11, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, - -78, -78, -78, -78, -78, -78, -78 - }, - - { - 11, -79, 106, 80, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79 - - }, - - { - 11, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, - -80, -80, -80, -80, -80, -80, -80 - }, - - { - 11, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, -81 - }, - - { - 11, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - - -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, - -82, -82, -82, -82, -82, -82, -82 - }, - - { - 11, -83, -83, -83, -83, -83, -83, -83, -83, -83, - -83, 107, 84, 84, -83, -83, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -83 - }, - - { - 11, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, 84, 84, 84, -84, -84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -84 - - }, - - { - 11, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, 84, 84, 84, -85, -85, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -85 - }, - - { - 11, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, 84, 84, 84, -86, -86, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -86 - }, - - { - 11, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, - - -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, -87, -87, -87, -87, -87, -87 - }, - - { - 11, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, -88, -88, 56, -88, -88, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 108, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -88 - }, - - { - 11, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, 56, -89, -89, 56, 56, 56, 56, - 56, 56, 56, 56, 109, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -89 - - }, - - { - 11, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, 56, -90, -90, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 110, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -90 - }, - - { - 11, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, -91, -91, 56, -91, -91, 56, 56, 56, 56, - 56, 111, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -91 - }, - - { - 11, -92, -92, -92, -92, -92, -92, -92, -92, -92, - -92, -92, -92, 56, -92, -92, 112, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -92 - }, - - { - 11, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, 56, -93, -93, 56, 56, 56, 56, - 113, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -93 - }, - - { - 11, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, 56, -94, -94, 56, 56, 114, 56, - 56, 56, 56, 56, 115, 56, 116, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -94 - - }, - - { - 11, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, 56, -95, -95, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 117, - 56, 56, 56, 56, 56, 56, -95 - }, - - { - 11, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, 56, -96, -96, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -96 - }, - - { - 11, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, 56, -97, -97, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -97 - }, - - { - 11, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, 56, -98, -98, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 118, 56, 56, - 56, 56, 56, 56, 56, 56, -98 - }, - - { - 11, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, 56, -99, -99, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 119, 56, -99 - - }, - - { - 11, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, 56, -100, -100, 56, 56, 56, 56, - 56, 56, 56, 56, 120, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -100 - }, - - { - 11, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, 56, -101, -101, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 121, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -101 - }, - - { - 11, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, 56, -102, -102, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 122, 56, -102 - }, - - { - 11, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, 56, -103, -103, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 123, 56, 56, 56, 56, -103 - }, - - { - 11, -104, -104, -104, -104, -104, -104, -104, -104, -104, - -104, -104, -104, 56, -104, -104, 56, 56, 56, 56, - 56, 56, 56, 56, 124, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -104 - - }, - - { - 11, -105, -105, -105, -105, -105, -105, -105, -105, -105, - -105, -105, -105, 56, -105, -105, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 125, 56, 56, 56, -105 - }, - - { - 11, -106, 106, 80, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, -106, -106, -106, -106 - }, - - { - 11, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, 84, 84, 84, -107, -107, 84, 84, 84, 84, - - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 84, 84, 84, 84, 84, -107 - }, - - { - 11, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, -108, -108, 56, -108, -108, 56, 56, 56, 56, - 126, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -108 - }, - - { - 11, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, 56, -109, -109, 56, 56, 127, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -109 - - }, - - { - 11, -110, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, 56, -110, -110, 56, 56, 56, 56, - 128, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -110 - }, - - { - 11, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, 56, -111, -111, 56, 56, 56, 56, - 56, 56, 56, 56, 129, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -111 - }, - - { - 11, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, 56, -112, -112, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 130, 56, -112 - }, - - { - 11, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, 56, -113, -113, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 131, 56, 56, - 56, 56, 56, 56, 56, 56, -113 - }, - - { - 11, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, 56, -114, -114, 56, 56, 56, 56, - 56, 56, 56, 132, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -114 - - }, - - { - 11, -115, -115, -115, -115, -115, -115, -115, -115, -115, - -115, -115, -115, 56, -115, -115, 56, 56, 56, 56, - 56, 133, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -115 - }, - - { - 11, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, 56, -116, -116, 56, 56, 56, 56, - 134, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -116 - }, - - { - 11, -117, -117, -117, -117, -117, -117, -117, -117, -117, - -117, -117, -117, 56, -117, -117, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -117 - }, - - { - 11, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, 56, -118, -118, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 135, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -118 - }, - - { - 11, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, 56, -119, -119, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -119 - - }, - - { - 11, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, 56, -120, -120, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 136, 56, - 56, 56, 56, 56, 56, 56, -120 - }, - - { - 11, -121, -121, -121, -121, -121, -121, -121, -121, -121, - -121, -121, -121, 56, -121, -121, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 137, - 56, 56, 56, 56, 56, 56, -121 - }, - - { - 11, -122, -122, -122, -122, -122, -122, -122, -122, -122, - -122, -122, -122, 56, -122, -122, 56, 56, 56, 56, - - 56, 56, 56, 56, 138, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -122 - }, - - { - 11, -123, -123, -123, -123, -123, -123, -123, -123, -123, - -123, -123, -123, 56, -123, -123, 56, 56, 139, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -123 - }, - - { - 11, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, 56, -124, -124, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 140, 56, 56, - 56, 56, 56, 56, 56, 56, -124 - - }, - - { - 11, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, 56, -125, -125, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 141, 56, 56, -125 - }, - - { - 11, -126, -126, -126, -126, -126, -126, -126, -126, -126, - -126, -126, -126, 56, -126, -126, 142, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -126 - }, - - { - 11, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, 56, -127, -127, 56, 56, 56, 56, - - 143, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -127 - }, - - { - 11, -128, -128, -128, -128, -128, -128, -128, -128, -128, - -128, -128, -128, 56, -128, -128, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 144, 56, 56, - 56, 56, 56, 56, 56, 56, -128 - }, - - { - 11, -129, -129, -129, -129, -129, -129, -129, -129, -129, - -129, -129, -129, 56, -129, -129, 56, 56, 56, 56, - 56, 56, 145, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -129 - - }, - - { - 11, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, 56, -130, -130, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 146, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -130 - }, - - { - 11, -131, -131, -131, -131, -131, -131, -131, -131, -131, - -131, -131, -131, 56, -131, -131, 56, 56, 56, 147, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -131 - }, - - { - 11, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, 56, -132, -132, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 148, 56, - 56, 56, 56, 56, 56, 56, -132 - }, - - { - 11, -133, -133, -133, -133, -133, -133, -133, -133, -133, - -133, -133, -133, 56, -133, -133, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -133 - }, - - { - 11, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, 56, -134, -134, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 149, 56, 56, - 56, 56, 56, 56, 56, 56, -134 - - }, - - { - 11, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, 56, -135, -135, 56, 56, 56, 56, - 150, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -135 - }, - - { - 11, -136, -136, -136, -136, -136, -136, -136, -136, -136, - -136, -136, -136, 56, -136, -136, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 151, 56, 56, - 56, 56, 56, 56, 56, 56, -136 - }, - - { - 11, -137, -137, -137, -137, -137, -137, -137, -137, -137, - -137, -137, -137, 56, -137, -137, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 152, 56, 56, -137 - }, - - { - 11, -138, -138, -138, -138, -138, -138, -138, -138, -138, - -138, -138, -138, 56, -138, -138, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 153, 56, 56, 56, 56, -138 - }, - - { - 11, -139, -139, -139, -139, -139, -139, -139, -139, -139, - -139, -139, -139, 56, -139, -139, 56, 56, 56, 56, - 154, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -139 - - }, - - { - 11, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, 56, -140, -140, 56, 56, 56, 56, - 56, 56, 155, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -140 - }, - - { - 11, -141, -141, -141, -141, -141, -141, -141, -141, -141, - -141, -141, -141, 56, -141, -141, 156, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -141 - }, - - { - 11, -142, -142, -142, -142, -142, -142, -142, -142, -142, - -142, -142, -142, 56, -142, -142, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 157, 56, 56, - 56, 56, 56, 56, 56, 56, -142 - }, - - { - 11, -143, -143, -143, -143, -143, -143, -143, -143, -143, - -143, -143, -143, 56, -143, -143, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -143 - }, - - { - 11, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, 56, -144, -144, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 158, 56, 56, -144 - - }, - - { - 11, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, 56, -145, -145, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -145 - }, - - { - 11, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, 56, -146, -146, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 159, 56, 56, -146 - }, - - { - 11, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, 56, -147, -147, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 160, 56, 56, 56, -147 - }, - - { - 11, -148, -148, -148, -148, -148, -148, -148, -148, -148, - -148, -148, -148, 56, -148, -148, 56, 56, 56, 56, - 56, 56, 56, 56, 161, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -148 - }, - - { - 11, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, 56, -149, -149, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 162, 56, -149 - - }, - - { - 11, -150, -150, -150, -150, -150, -150, -150, -150, -150, - -150, -150, -150, 56, -150, -150, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 163, 56, 56, - 56, 56, 56, 56, 56, 56, -150 - }, - - { - 11, -151, -151, -151, -151, -151, -151, -151, -151, -151, - -151, -151, -151, 56, -151, -151, 164, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -151 - }, - - { - 11, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, 56, -152, -152, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -152 - }, - - { - 11, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, 56, -153, -153, 56, 56, 56, 56, - 165, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -153 - }, - - { - 11, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, 56, -154, -154, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -154 - - }, - - { - 11, -155, -155, -155, -155, -155, -155, -155, -155, -155, - -155, -155, -155, 56, -155, -155, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -155 - }, - - { - 11, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, 56, -156, -156, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 166, 56, 56, -156 - }, - - { - 11, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, 56, -157, -157, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -157 - }, - - { - 11, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, 56, -158, -158, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -158 - }, - - { - 11, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, 56, -159, -159, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -159 - - }, - - { - 11, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, 56, -160, -160, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -160 - }, - - { - 11, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, -161, -161, 56, -161, -161, 56, 56, 167, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -161 - }, - - { - 11, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, 56, -162, -162, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -162 - }, - - { - 11, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, 56, -163, -163, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 168, 56, -163 - }, - - { - 11, -164, -164, -164, -164, -164, -164, -164, -164, -164, - -164, -164, -164, 56, -164, -164, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 169, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -164 - - }, - - { - 11, -165, -165, -165, -165, -165, -165, -165, -165, -165, - -165, -165, -165, 56, -165, -165, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 170, 56, 56, 56, -165 - }, - - { - 11, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, 56, -166, -166, 56, 56, 56, 56, - 171, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -166 - }, - - { - 11, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, 56, -167, -167, 56, 56, 56, 56, - - 172, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -167 - }, - - { - 11, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, 56, -168, -168, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -168 - }, - - { - 11, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, 56, -169, -169, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -169 - - }, - - { - 11, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, 56, -170, -170, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -170 - }, - - { - 11, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, 56, -171, -171, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -171 - }, - - { - 11, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -172, 56, -172, -172, 56, 56, 56, 56, - - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, -172 - }, - - } ; - - -static yy_state_type yy_get_previous_state YY_PROTO(( void )); -static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); -static int yy_get_next_buffer YY_PROTO(( void )); -static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - yytext_ptr = yy_bp; \ - yyleng = (int) (yy_cp - yy_bp); \ - yy_hold_char = *yy_cp; \ - *yy_cp = '\0'; \ - yy_c_buf_p = yy_cp; - -#define YY_NUM_RULES 55 -#define YY_END_OF_BUFFER 56 -static yyconst short int yy_accept[173] = - { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 5, 4, 3, 2, 29, 30, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 54, 51, 53, 45, 50, 46, 48, 44, 41, 35, - 40, 44, 33, 34, 43, 43, 36, 43, 43, 44, - 4, 3, 2, 2, 1, 28, 28, 28, 28, 28, - 28, 28, 15, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 54, 51, 53, 52, 45, 49, 48, 47, - 37, 31, 43, 43, 38, 39, 32, 28, 28, 28, - 28, 28, 28, 28, 28, 26, 25, 28, 28, 28, - - 28, 28, 28, 28, 28, 48, 42, 23, 28, 28, - 28, 28, 28, 28, 28, 28, 14, 28, 7, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 16, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 10, 28, 13, 28, 28, 28, 28, 28, - 28, 21, 28, 9, 27, 28, 24, 12, 20, 17, - 28, 8, 28, 28, 28, 28, 28, 6, 19, 18, - 22, 11 - } ; - -static yyconst int yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 4, 5, 6, 1, 1, 7, 8, 9, - 10, 1, 1, 1, 11, 12, 12, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 1, 1, 1, - 14, 1, 1, 1, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 1, 15, 1, 1, 13, 1, 16, 17, 18, 19, - - 20, 21, 22, 23, 24, 13, 13, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 13, 13, 35, - 13, 13, 1, 36, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -char *yytext; -#line 1 "zconf.l" -#define INITIAL 0 -#define COMMAND 1 -#define HELP 2 -#define STRING 3 -#define PARAM 4 - -#line 5 "zconf.l" -/* - * Copyright (C) 2002 Roman Zippel - * Released under the terms of the GNU GPL v2.0. - */ - -#include -#include -#include -#include - -#define LKC_DIRECT_LINK -#include "lkc.h" -#include "zconf.tab.h" - -#define START_STRSIZE 16 - -char *text; -static char *text_ptr; -static int text_size, text_asize; - -struct buffer { - struct buffer *parent; - YY_BUFFER_STATE state; -}; - -struct buffer *current_buf; - -static int last_ts, first_ts; - -static void zconf_endhelp(void); -static struct buffer *zconf_endfile(void); - -void new_string(void) -{ - text = malloc(START_STRSIZE); - text_asize = START_STRSIZE; - text_ptr = text; - text_size = 0; - *text_ptr = 0; -} - -void append_string(const char *str, int size) -{ - int new_size = text_size + size + 1; - if (new_size > text_asize) { - text = realloc(text, new_size); - text_asize = new_size; - text_ptr = text + text_size; - } - memcpy(text_ptr, str, size); - text_ptr += size; - text_size += size; - *text_ptr = 0; -} - -void alloc_string(const char *str, int size) -{ - text = malloc(size + 1); - memcpy(text, str, size); - text[size] = 0; -} -#line 1726 "lex.zconf.c" - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int yywrap YY_PROTO(( void )); -#else -extern int yywrap YY_PROTO(( void )); -#endif -#endif - -#ifndef YY_NO_UNPUT -static void yyunput YY_PROTO(( int c, char *buf_ptr )); -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen YY_PROTO(( yyconst char * )); -#endif - -#ifndef YY_NO_INPUT -#ifdef __cplusplus -static int yyinput YY_PROTO(( void )); -#else -static int input YY_PROTO(( void )); -#endif -#endif - -#if YY_STACK_USED -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -#ifndef YY_NO_PUSH_STATE -static void yy_push_state YY_PROTO(( int new_state )); -#endif -#ifndef YY_NO_POP_STATE -static void yy_pop_state YY_PROTO(( void )); -#endif -#ifndef YY_NO_TOP_STATE -static int yy_top_state YY_PROTO(( void )); -#endif - -#else -#define YY_NO_PUSH_STATE 1 -#define YY_NO_POP_STATE 1 -#define YY_NO_TOP_STATE 1 -#endif - -#ifdef YY_MALLOC_DECL -YY_MALLOC_DECL -#else -#if __STDC__ -#ifndef __cplusplus -#include -#endif -#else -/* Just try to get by without declaring the routines. This will fail - * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) - * or sizeof(void*) != sizeof(int). - */ -#endif -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ - -#ifndef ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - errno=0; \ - while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \ - { \ - if( errno != EINTR) \ - { \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - break; \ - } \ - errno=0; \ - clearerr(yyin); \ - } -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL int yylex YY_PROTO(( void )) -#endif - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - YY_USER_ACTION - -YY_DECL - { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 71 "zconf.l" - - int str = 0; - int ts, i; - -#line 1878 "lex.zconf.c" - - if ( yy_init ) - { - yy_init = 0; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! yy_start ) - yy_start = 1; /* first start state */ - - if ( ! yyin ) - yyin = stdin; - - if ( ! yyout ) - yyout = stdout; - - if ( ! yy_current_buffer ) - yy_current_buffer = - yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_load_buffer_state(); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yy_start; -yy_match: - while ( (yy_current_state = yy_nxt[yy_current_state][yy_ec[YY_SC_TO_UI(*yy_cp)]]) > 0 ) - ++yy_cp; - - yy_current_state = -yy_current_state; - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - - YY_DO_BEFORE_ACTION; - - -do_action: /* This label is used only to access EOF actions. */ - - - switch ( yy_act ) - { /* beginning of action switch */ -case 1: -YY_RULE_SETUP -#line 75 "zconf.l" -current_file->lineno++; - YY_BREAK -case 2: -YY_RULE_SETUP -#line 76 "zconf.l" - - YY_BREAK -case 3: -YY_RULE_SETUP -#line 78 "zconf.l" -current_file->lineno++; return T_EOL; - YY_BREAK -case 4: -YY_RULE_SETUP -#line 80 "zconf.l" -{ - BEGIN(COMMAND); -} - YY_BREAK -case 5: -YY_RULE_SETUP -#line 84 "zconf.l" -{ - unput(yytext[0]); - //printf("new config: "); - //symbol_end(NULL); - BEGIN(COMMAND); -} - YY_BREAK - -case 6: -YY_RULE_SETUP -#line 93 "zconf.l" -BEGIN(PARAM); return T_MAINMENU; - YY_BREAK -case 7: -YY_RULE_SETUP -#line 94 "zconf.l" -BEGIN(PARAM); return T_MENU; - YY_BREAK -case 8: -YY_RULE_SETUP -#line 95 "zconf.l" -BEGIN(PARAM); return T_ENDMENU; - YY_BREAK -case 9: -YY_RULE_SETUP -#line 96 "zconf.l" -BEGIN(PARAM); return T_SOURCE; - YY_BREAK -case 10: -YY_RULE_SETUP -#line 97 "zconf.l" -BEGIN(PARAM); return T_CHOICE; - YY_BREAK -case 11: -YY_RULE_SETUP -#line 98 "zconf.l" -BEGIN(PARAM); return T_ENDCHOICE; - YY_BREAK -case 12: -YY_RULE_SETUP -#line 99 "zconf.l" -BEGIN(PARAM); return T_COMMENT; - YY_BREAK -case 13: -YY_RULE_SETUP -#line 100 "zconf.l" -BEGIN(PARAM); return T_CONFIG; - YY_BREAK -case 14: -YY_RULE_SETUP -#line 101 "zconf.l" -BEGIN(PARAM); return T_HELP; - YY_BREAK -case 15: -YY_RULE_SETUP -#line 102 "zconf.l" -BEGIN(PARAM); return T_IF; - YY_BREAK -case 16: -YY_RULE_SETUP -#line 103 "zconf.l" -BEGIN(PARAM); return T_ENDIF; - YY_BREAK -case 17: -YY_RULE_SETUP -#line 104 "zconf.l" -BEGIN(PARAM); return T_DEPENDS; - YY_BREAK -case 18: -YY_RULE_SETUP -#line 105 "zconf.l" -BEGIN(PARAM); return T_REQUIRES; - YY_BREAK -case 19: -YY_RULE_SETUP -#line 106 "zconf.l" -BEGIN(PARAM); return T_OPTIONAL; - YY_BREAK -case 20: -YY_RULE_SETUP -#line 107 "zconf.l" -BEGIN(PARAM); return T_DEFAULT; - YY_BREAK -case 21: -YY_RULE_SETUP -#line 108 "zconf.l" -BEGIN(PARAM); return T_PROMPT; - YY_BREAK -case 22: -YY_RULE_SETUP -#line 109 "zconf.l" -BEGIN(PARAM); return T_TRISTATE; - YY_BREAK -case 23: -YY_RULE_SETUP -#line 110 "zconf.l" -BEGIN(PARAM); return T_BOOLEAN; - YY_BREAK -case 24: -YY_RULE_SETUP -#line 111 "zconf.l" -BEGIN(PARAM); return T_BOOLEAN; - YY_BREAK -case 25: -YY_RULE_SETUP -#line 112 "zconf.l" -BEGIN(PARAM); return T_INT; - YY_BREAK -case 26: -YY_RULE_SETUP -#line 113 "zconf.l" -BEGIN(PARAM); return T_HEX; - YY_BREAK -case 27: -YY_RULE_SETUP -#line 114 "zconf.l" -BEGIN(PARAM); return T_STRING; - YY_BREAK -case 28: -YY_RULE_SETUP -#line 115 "zconf.l" -{ - alloc_string(yytext, yyleng); - zconflval.string = text; - return T_WORD; - } - YY_BREAK -case 29: -YY_RULE_SETUP -#line 120 "zconf.l" - - YY_BREAK -case 30: -YY_RULE_SETUP -#line 121 "zconf.l" -current_file->lineno++; BEGIN(INITIAL); - YY_BREAK - - -case 31: -YY_RULE_SETUP -#line 125 "zconf.l" -return T_AND; - YY_BREAK -case 32: -YY_RULE_SETUP -#line 126 "zconf.l" -return T_OR; - YY_BREAK -case 33: -YY_RULE_SETUP -#line 127 "zconf.l" -return T_OPEN_PAREN; - YY_BREAK -case 34: -YY_RULE_SETUP -#line 128 "zconf.l" -return T_CLOSE_PAREN; - YY_BREAK -case 35: -YY_RULE_SETUP -#line 129 "zconf.l" -return T_NOT; - YY_BREAK -case 36: -YY_RULE_SETUP -#line 130 "zconf.l" -return T_EQUAL; - YY_BREAK -case 37: -YY_RULE_SETUP -#line 131 "zconf.l" -return T_UNEQUAL; - YY_BREAK -case 38: -YY_RULE_SETUP -#line 132 "zconf.l" -return T_IF; - YY_BREAK -case 39: -YY_RULE_SETUP -#line 133 "zconf.l" -return T_ON; - YY_BREAK -case 40: -YY_RULE_SETUP -#line 134 "zconf.l" -{ - str = yytext[0]; - new_string(); - BEGIN(STRING); - } - YY_BREAK -case 41: -YY_RULE_SETUP -#line 139 "zconf.l" -BEGIN(INITIAL); current_file->lineno++; return T_EOL; - YY_BREAK -case 42: -YY_RULE_SETUP -#line 140 "zconf.l" -/* ignore */ - YY_BREAK -case 43: -YY_RULE_SETUP -#line 141 "zconf.l" -{ - alloc_string(yytext, yyleng); - zconflval.string = text; - return T_WORD; - } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 146 "zconf.l" - - YY_BREAK - - -case 45: -YY_RULE_SETUP -#line 150 "zconf.l" -{ - append_string(yytext, yyleng); - } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 153 "zconf.l" -{ - if (str == yytext[0]) { - BEGIN(PARAM); - zconflval.string = text; - //printf("s:%s\n", text); - return T_STRING; - } else - append_string(yytext, 1); - } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 162 "zconf.l" -append_string(yytext+yyleng-1, 1); current_file->lineno++; - YY_BREAK -case 48: -YY_RULE_SETUP -#line 163 "zconf.l" -append_string(yytext+1, yyleng-1); - YY_BREAK -case 49: -YY_RULE_SETUP -#line 164 "zconf.l" -append_string(yytext+1, 1); - YY_BREAK -case 50: -YY_RULE_SETUP -#line 165 "zconf.l" -{ - //printf(":%d: open string!\n", current_file->lineno+1); - exit(0); - } - YY_BREAK -case YY_STATE_EOF(STRING): -#line 169 "zconf.l" -{ - //printf(":%d: open string!\n", current_file->lineno+1); - exit(0); - } - YY_BREAK - - -case 51: -YY_RULE_SETUP -#line 176 "zconf.l" -{ - ts = 0; - for (i = 0; i < yyleng; i++) { - if (yytext[i] == '\t') - ts = (ts & ~7) + 8; - else - ts++; - } - last_ts = ts; - if (first_ts) { - if (ts < first_ts) { - zconf_endhelp(); - return T_HELPTEXT; - } - ts -= first_ts; - while (ts > 8) { - append_string(" ", 8); - ts -= 8; - } - append_string(" ", ts); - } - - } - YY_BREAK -case 52: -*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ -yy_c_buf_p = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 199 "zconf.l" -{ - current_file->lineno++; - zconf_endhelp(); - return T_HELPTEXT; - } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 204 "zconf.l" -{ - current_file->lineno++; - append_string("\n", 1); - } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 208 "zconf.l" -{ - append_string(yytext, yyleng); - if (!first_ts) - first_ts = last_ts; - } - YY_BREAK -case YY_STATE_EOF(HELP): -#line 213 "zconf.l" -{ - zconf_endhelp(); - return T_HELPTEXT; - } - YY_BREAK - -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(COMMAND): -case YY_STATE_EOF(PARAM): -#line 219 "zconf.l" -{ - if (current_buf) { - zconf_endfile(); - return T_EOF; - } - yyterminate(); -} - YY_BREAK -case 55: -YY_RULE_SETUP -#line 227 "zconf.l" -YY_FATAL_ERROR( "flex scanner jammed" ); - YY_BREAK -#line 2311 "lex.zconf.c" - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between yy_current_buffer and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yy_n_chars = yy_current_buffer->yy_n_chars; - yy_current_buffer->yy_input_file = yyin; - yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = yytext_ptr + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yy_c_buf_p; - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer() ) - { - case EOB_ACT_END_OF_FILE: - { - yy_did_buffer_switch_on_eof = 0; - - if ( yywrap() ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = - yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yy_c_buf_p = - &yy_current_buffer->yy_ch_buf[yy_n_chars]; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of yylex */ - - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ - -static int yy_get_next_buffer() - { - register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr; - register int number_to_move, i; - int ret_val; - - if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( yy_current_buffer->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - yy_current_buffer->yy_n_chars = yy_n_chars = 0; - - else - { - int num_to_read = - yy_current_buffer->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ -#ifdef YY_USES_REJECT - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); -#else - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = yy_current_buffer; - - int yy_c_buf_p_offset = - (int) (yy_c_buf_p - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = yy_current_buffer->yy_buf_size - - number_to_move - 1; -#endif - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), - yy_n_chars, num_to_read ); - - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - if ( yy_n_chars == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - yy_current_buffer->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - yy_n_chars += number_to_move; - yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; - yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; - - yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; - - return ret_val; - } - - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - -static yy_state_type yy_get_previous_state() - { - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = yy_start; - - for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) - { - yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)]; - } - - return yy_current_state; - } - - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - -#ifdef YY_USE_PROTOS -static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) -#else -static yy_state_type yy_try_NUL_trans( yy_current_state ) -yy_state_type yy_current_state; -#endif - { - register int yy_is_jam; - - yy_current_state = yy_nxt[yy_current_state][1]; - yy_is_jam = (yy_current_state <= 0); - - return yy_is_jam ? 0 : yy_current_state; - } - - -#ifndef YY_NO_UNPUT -#ifdef YY_USE_PROTOS -static void yyunput( int c, register char *yy_bp ) -#else -static void yyunput( c, yy_bp ) -int c; -register char *yy_bp; -#endif - { - register char *yy_cp = yy_c_buf_p; - - /* undo effects of setting up yytext */ - *yy_cp = yy_hold_char; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register int number_to_move = yy_n_chars + 2; - register char *dest = &yy_current_buffer->yy_ch_buf[ - yy_current_buffer->yy_buf_size + 2]; - register char *source = - &yy_current_buffer->yy_ch_buf[number_to_move]; - - while ( source > yy_current_buffer->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - yy_current_buffer->yy_n_chars = - yy_n_chars = yy_current_buffer->yy_buf_size; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - - yytext_ptr = yy_bp; - yy_hold_char = *yy_cp; - yy_c_buf_p = yy_cp; - } -#endif /* ifndef YY_NO_UNPUT */ - - -#ifdef __cplusplus -static int yyinput() -#else -static int input() -#endif - { - int c; - - *yy_c_buf_p = yy_hold_char; - - if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - /* This was really a NUL. */ - *yy_c_buf_p = '\0'; - - else - { /* need more input */ - int offset = yy_c_buf_p - yytext_ptr; - ++yy_c_buf_p; - - switch ( yy_get_next_buffer() ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart( yyin ); - - /* fall through */ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap() ) - return EOF; - - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = yytext_ptr + offset; - break; - } - } - } - - c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ - *yy_c_buf_p = '\0'; /* preserve yytext */ - yy_hold_char = *++yy_c_buf_p; - - - return c; - } - - -#ifdef YY_USE_PROTOS -void yyrestart( FILE *input_file ) -#else -void yyrestart( input_file ) -FILE *input_file; -#endif - { - if ( ! yy_current_buffer ) - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_init_buffer( yy_current_buffer, input_file ); - yy_load_buffer_state(); - } - - -#ifdef YY_USE_PROTOS -void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -#else -void yy_switch_to_buffer( new_buffer ) -YY_BUFFER_STATE new_buffer; -#endif - { - if ( yy_current_buffer == new_buffer ) - return; - - if ( yy_current_buffer ) - { - /* Flush out information for old buffer. */ - *yy_c_buf_p = yy_hold_char; - yy_current_buffer->yy_buf_pos = yy_c_buf_p; - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - yy_current_buffer = new_buffer; - yy_load_buffer_state(); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - yy_did_buffer_switch_on_eof = 1; - } - - -#ifdef YY_USE_PROTOS -void yy_load_buffer_state( void ) -#else -void yy_load_buffer_state() -#endif - { - yy_n_chars = yy_current_buffer->yy_n_chars; - yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; - yyin = yy_current_buffer->yy_input_file; - yy_hold_char = *yy_c_buf_p; - } - - -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) -#else -YY_BUFFER_STATE yy_create_buffer( file, size ) -FILE *file; -int size; -#endif - { - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer( b, file ); - - return b; - } - - -#ifdef YY_USE_PROTOS -void yy_delete_buffer( YY_BUFFER_STATE b ) -#else -void yy_delete_buffer( b ) -YY_BUFFER_STATE b; -#endif - { - if ( ! b ) - return; - - if ( b == yy_current_buffer ) - yy_current_buffer = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - yy_flex_free( (void *) b->yy_ch_buf ); - - yy_flex_free( (void *) b ); - } - - -#ifndef _WIN32 -#include -#else -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif -#endif - -#ifdef YY_USE_PROTOS -void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) -#else -void yy_init_buffer( b, file ) -YY_BUFFER_STATE b; -FILE *file; -#endif - - - { - yy_flush_buffer( b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - -#if YY_ALWAYS_INTERACTIVE - b->yy_is_interactive = 1; -#else -#if YY_NEVER_INTERACTIVE - b->yy_is_interactive = 0; -#else - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; -#endif -#endif - } - - -#ifdef YY_USE_PROTOS -void yy_flush_buffer( YY_BUFFER_STATE b ) -#else -void yy_flush_buffer( b ) -YY_BUFFER_STATE b; -#endif - - { - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == yy_current_buffer ) - yy_load_buffer_state(); - } - - -#ifndef YY_NO_SCAN_BUFFER -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) -#else -YY_BUFFER_STATE yy_scan_buffer( base, size ) -char *base; -yy_size_t size; -#endif - { - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - yy_switch_to_buffer( b ); - - return b; - } -#endif - - -#ifndef YY_NO_SCAN_STRING -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) -#else -YY_BUFFER_STATE yy_scan_string( yy_str ) -yyconst char *yy_str; -#endif - { - int len; - for ( len = 0; yy_str[len]; ++len ) - ; - - return yy_scan_bytes( yy_str, len ); - } -#endif - - -#ifndef YY_NO_SCAN_BYTES -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) -#else -YY_BUFFER_STATE yy_scan_bytes( bytes, len ) -yyconst char *bytes; -int len; -#endif - { - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; - int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = len + 2; - buf = (char *) yy_flex_alloc( n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); - - for ( i = 0; i < len; ++i ) - buf[i] = bytes[i]; - - buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; - - b = yy_scan_buffer( buf, n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; - } -#endif - - -#ifndef YY_NO_PUSH_STATE -#ifdef YY_USE_PROTOS -static void yy_push_state( int new_state ) -#else -static void yy_push_state( new_state ) -int new_state; -#endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); - - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); - - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); - - if ( ! yy_start_stack ) - YY_FATAL_ERROR( - "out of memory expanding start-condition stack" ); - } - - yy_start_stack[yy_start_stack_ptr++] = YY_START; - - BEGIN(new_state); - } -#endif - - -#ifndef YY_NO_POP_STATE -static void yy_pop_state() - { - if ( --yy_start_stack_ptr < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN(yy_start_stack[yy_start_stack_ptr]); - } -#endif - - -#ifndef YY_NO_TOP_STATE -static int yy_top_state() - { - return yy_start_stack[yy_start_stack_ptr - 1]; - } -#endif - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -#ifdef YY_USE_PROTOS -static void yy_fatal_error( yyconst char msg[] ) -#else -static void yy_fatal_error( msg ) -char msg[]; -#endif - { - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); - } - - - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - yytext[yyleng] = yy_hold_char; \ - yy_c_buf_p = yytext + n; \ - yy_hold_char = *yy_c_buf_p; \ - *yy_c_buf_p = '\0'; \ - yyleng = n; \ - } \ - while ( 0 ) - - -/* Internal utility routines. */ - -#ifndef yytext_ptr -#ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) -#else -static void yy_flex_strncpy( s1, s2, n ) -char *s1; -yyconst char *s2; -int n; -#endif - { - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; - } -#endif - -#ifdef YY_NEED_STRLEN -#ifdef YY_USE_PROTOS -static int yy_flex_strlen( yyconst char *s ) -#else -static int yy_flex_strlen( s ) -yyconst char *s; -#endif - { - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; - } -#endif - - -#ifdef YY_USE_PROTOS -static void *yy_flex_alloc( yy_size_t size ) -#else -static void *yy_flex_alloc( size ) -yy_size_t size; -#endif - { - return (void *) malloc( size ); - } - -#ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, yy_size_t size ) -#else -static void *yy_flex_realloc( ptr, size ) -void *ptr; -yy_size_t size; -#endif - { - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); - } - -#ifdef YY_USE_PROTOS -static void yy_flex_free( void *ptr ) -#else -static void yy_flex_free( ptr ) -void *ptr; -#endif - { - free( ptr ); - } - -#if YY_MAIN -int main() - { - yylex(); - return 0; - } -#endif -#line 227 "zconf.l" - -void zconf_starthelp(void) -{ - new_string(); - last_ts = first_ts = 0; - BEGIN(HELP); -} - -static void zconf_endhelp(void) -{ - zconflval.string = text; - BEGIN(INITIAL); -} - -void zconf_initscan(const char *name) -{ - yyin = fopen(name, "r"); - if (!yyin) { - printf("can't find file %s\n", name); - exit(1); - } - //fprintf(stderr, "zconf_initscan: %s\n", name); - - current_buf = malloc(sizeof(*current_buf)); - memset(current_buf, 0, sizeof(*current_buf)); - - current_file = file_lookup(name); - current_file->lineno = 1; - current_file->flags = FILE_BUSY; -} - -void zconf_nextfile(const char *name) -{ - struct file *file = file_lookup(name); - struct buffer *buf = malloc(sizeof(*buf)); - memset(buf, 0, sizeof(*buf)); - - current_buf->state = YY_CURRENT_BUFFER; - yyin = fopen(name, "r"); - if (!yyin) { - printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), zconf_lineno(), name); - exit(1); - } - yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); - buf->parent = current_buf; - current_buf = buf; - - //fprintf(stderr, "zconf_nextfile: %s\n", name); - - if (file->flags & FILE_BUSY) { - printf("recursive scan (%s)?\n", name); - exit(1); - } - if (file->flags & FILE_SCANNED) { - printf("file %s already scanned?\n", name); - exit(1); - } - file->flags |= FILE_BUSY; - file->lineno = 1; - file->parent = current_file; - current_file = file; -} - -static struct buffer *zconf_endfile(void) -{ - struct buffer *parent; - - current_file->flags |= FILE_SCANNED; - current_file->flags &= ~FILE_BUSY; - current_file = current_file->parent; - - parent = current_buf->parent; - if (parent) { - yy_delete_buffer(YY_CURRENT_BUFFER); - yy_switch_to_buffer(parent->state); - } - free(current_buf); - current_buf = parent; - - return parent; -} - -int zconf_lineno(void) -{ - if (current_buf) - return current_file->lineno; - else - return 0; -} - -char *zconf_curname(void) -{ - if (current_buf) - return current_file->name; - else - return ""; -} diff --git a/extra/config/lkc_defs.h b/extra/config/lkc_defs.h deleted file mode 100644 index ab7441263..000000000 --- a/extra/config/lkc_defs.h +++ /dev/null @@ -1,38 +0,0 @@ - -/* confdata.c */ -#define conf_parse (*conf_parse_p) -#define conf_read (*conf_read_p) -#define conf_write (*conf_write_p) - -/* menu.c */ -#define rootmenu (*rootmenu_p) - -#define menu_is_visible (*menu_is_visible_p) -#define menu_get_prompt (*menu_get_prompt_p) -#define menu_get_root_menu (*menu_get_root_menu_p) -#define menu_get_parent_menu (*menu_get_parent_menu_p) - -/* symbol.c */ -#define symbol_hash (*symbol_hash_p) -#define sym_change_count (*sym_change_count_p) - -#define sym_lookup (*sym_lookup_p) -#define sym_find (*sym_find_p) -#define sym_type_name (*sym_type_name_p) -#define sym_calc_value (*sym_calc_value_p) -#define sym_get_type (*sym_get_type_p) -#define sym_tristate_within_range (*sym_tristate_within_range_p) -#define sym_set_tristate_value (*sym_set_tristate_value_p) -#define sym_toggle_tristate_value (*sym_toggle_tristate_value_p) -#define sym_string_valid (*sym_string_valid_p) -#define sym_set_string_value (*sym_set_string_value_p) -#define sym_is_changable (*sym_is_changable_p) -#define sym_get_choice_prop (*sym_get_choice_prop_p) -#define sym_get_default_prop (*sym_get_default_prop_p) -#define sym_get_string_value (*sym_get_string_value_p) - -#define prop_get_type_name (*prop_get_type_name_p) - -/* expr.c */ -#define expr_compare_type (*expr_compare_type_p) -#define expr_print (*expr_print_p) diff --git a/extra/config/lxdialog/.cvsignore b/extra/config/lxdialog/.cvsignore new file mode 100644 index 000000000..bebf29560 --- /dev/null +++ b/extra/config/lxdialog/.cvsignore @@ -0,0 +1 @@ +lxdialog diff --git a/extra/config/lxdialog/lxdialog b/extra/config/lxdialog/lxdialog deleted file mode 100755 index 8a36532bce03c634ddb24307c68a5b1053d799ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34594 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 CyDO^z diff --git a/extra/config/mconf b/extra/config/mconf deleted file mode 100755 index c9299e1217f92a2cfca6532d2eefcfe203e8747d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178758 zcmd?Sdtg-6wLg9`nSmh$5+x`q)=@#h2ZEx4JPb%EQqd8N;;Rrsa1uj8lNrEAG&rO( zPSd7VtXiv3Y-?{{wpxu^H6S%;ZAEKas??%ldrlADMol%^l>9!Qwf8>fObA}@{oec6 zFEDe?+K;u@UTf{O_g?!kHRaSd^+&XPXwPZKKb}`^Mg2kM&O+v#u2wy8saQ`HjK@)_+fslSjBGwyy+K_ zC_kk@IB~uuA!eg497ys2_j?Jes(z-1B&y!v@Kp0n_oqv134vqV47*3V<`9F5OV z4TCgms($C=_`o|~3-O8JGZvo-`0%e(zAbAAp5yT$|49@7rsG4}XW~3eUszyLnJYPS(J1JO|@*q=t{i^E7-$;WG}OvB%ka4i@S7U`8{!`XO!+hZeSF#hlW&AC#AgTKJsM`a+!cU#1GWJh{MCSa08=K+ zUkUutuZE+PA>kxGqX3@?Wg`3)e8vGb`KkL;0N;uyul5egoiIG(N)o+y$8W!gpGZ2LXSe z;TMp;9dJILjQ<&)I{;HR3EzUxF2Gl6cpBnuz(3LO*YWHDZ0g&N_~_TdQQ9Kr?*%*x z@B$6Lisv}MKh^N1h@S$uL&Gkf^8m9gGynaFUkrGwhU@W605sD1QS!P{Rm8_~;ZLPqwk%TudPw^mlv z*49^A)r}R&$Gi6;{>S zs>;Ll5N=(_qPsB?v2Us1oRs?J(+{zXevvg+EZx_W`7E=y94Rm-gk&qbou$#;n4SDh6^0Bj@A0V8*Oe7Y$|PWBcoMYjbH%6HW`7j-;43yU?8^n zMBaUT=37=5pD^Oxe4?}N;S-&GFQ4q>k$-R${VksuL`C^5K!4098eK7;7O~{ zkR+ez{MYgcV{{{*7%(>T38S>0Pjt2$_{1RQD|}+`(#Gcm%esS4827vQgihVdCyePP zK2Nu-2l&K*=RrO(2>lVC82CQKCyeMLe4?{z=M#g9U-CH>^8-F%B)9Vk=W{=Y?>3VmX2hoZzl{$oA)Paqv;txg5SYP&2$gl z{2<<1xW}vr#SmAsAS@mq6 zhp7%S9Gc$VljvfFB-bgx-n^@zcX?NpIdV6uEBi+-N zI=VB`;Y6aNP+n(bJKo}WbB}0!M5d!fkCpXoVLV@O>MyrdUWc&~5u3h2K67&rHV_)-64Q-&U%|pd*1GWrc9Q{nMDsRN{o?lZsyrluI?qtlXFfD}YE>Ss$j`$BsP^QB+#B18AhYdc zC9Lu;QLHYlR6@W^jjkh8)|GDRvTmNv@21K2Mxf1fWVWTx2`5YJTRmuKa*#WyHF<*N z-UkX2Kc=#O{E;xtEzFj6Db;k>wH>I4tR(9Eq)M$gRn{HX%JGPKE$hy-T!rYYd}mtNnNRA-ZsfD*(O1%++?+gALFu<{Zh0jc zq0-T^o(Uc8mpi@Z=6K@gtlQB+=EoJ##`>f7Mm4K7=~Q(Smikb)8Wb>woZ3!oFPW4S zWk_Mu^6IBKV^vC@u8pkQy0vc_An*vP^QA^2RsLR=~MPhSXI#LDBeVAeh zy@<=k3p3>~EqE!;l=q~Ydaa_Cz0BIwV->A`0dI($7Ky=P6|H|Vfb%kgGgG!3Ld?da z=}+>LA@}M&F@?gwXgu)>>-bHjQoyusZFo~(B$_;eb&GAL`7Dhm{=h^Znsxxr?~W(_ z%&@mqn0*!yIDf^cIo-6|N>0u#;;&3O*%Yxm?&JMCV~$iYZnRCcZ_8N>L|R^|jeS|O zhZ?Wj-CkIG&9b8PBfv}(@uZ1By*tY|=7UwG@fRjWGv(dsrfw^h?@nryEZuRteUpbP zc?iS@rcW#1of<{w%l0zQ2<8d7hdx*K_DSwx zt&bw5h4%$+0ls5ySn;c;=;^YzXOG{);m6K93x2 zDhH~R7(_Vi!OUhyHt8w`Bv`<7yLA(3+8avUAlR!|HA-q%-2UzTCR?JIsej@%sKjA} z?^Ce-KAy;sUK_QNN2jId4jCNJscuMx?stc(`rFSSi&GEbYnZm#Il_aD8iEek@!K)u z7LCb(qgsm|HDPG-lOT&w>SWU}L~C{5;&J4CWeA;RutS*-wKxkXn)4ib>r7@5`Yctk zPm}U@G`>RxUrz3Pm0OFyM2UZdi2rac&;LUH8aGu%@yFmlnrz=`Mz}1KC5YPXW2d=XVWtbZGwA4H%qA42|xq2J`s<& zq<|JZ^KDZ~O)OisFP@mdvhEh!8?)cV)4kHuR}b&l0N$v=JE$!e@rnRqW4HwO42}Ei zc%sj-^F+6D%|X~bPWR8S2a8Q>)eZm8njYjGFL}+FaGt5u-|y9x!eH;YvKKYK-H7uz z+(-7Df3jogPMpP>o-EW9i!9Lmd#qHXeI^-{n8)Zs6WyKo0^wfCi{#yjrI>=)`wZN( znM3V(Vj)xg!4H*Dx(e;^Lzy<+@u5!seJ`T5>_uJhH&htdvW1D|nLd0K;R!yxl89-#`qLB=OMlu~ z)qNl^5))H&8jaf?3VTOKe3_yQ51F zI$-2eLtv<+$44KvV^Gnp4KNGYvK^Uit>KN#o^5*(8T;Py^l^K-JKhnP&Sfp}($*d@T{e2>*{+MZ0!1)FL@=vCu(<*kw=(*g4v zan>^h;_@W!^MSY#HS=o*CH9m?qL@0=NU~ygahsq+d6+{;mJ*f4@9$Wg#4D8DY8>Hy zPSY>>RjonHD>}F3%t3F%`sn#tdLQP^gi zH9H%vt(Rld6q-fv(pfYgpsCk0`Y(J_3p#G!FJ%IQ%p=qLqHXpVX#={FLrn#`6PsA+ zf2jrngh7M%jvpE@crU3?`%2&t2L_Bn$i3ey3vyHg?sE)1pxcc)Tu8-S+y2%+6hA~F zw|GUMCQ`W^LtSa2yAw~4&P6`lJQMJFKKvZx&+y^r2_NsnFA^T1U~n{Ge_;$3+79Le z;5qFdsmDkjGXd4!(0dd(EocyCek0R08^%I1U^)?UFBe(B!9$~C|46FH?niim$=!rI zjcim8belwW|tlrT?(Ui^AI%d zk!}^@XNaA?+`ZhiKUza{VPXwwIPIUiqF$6;9%MHWWYSb{8nnr;Hyly&Zq)Mrp|n`tG2i~5Qnqkw0C_i>=_C%7Wx-&pjqV!y#h$$5A$tE5Vdl)fTN5GYbZXagP{-?4n zF64?dEdOm4LilaMzca8BtYX=0V?=c){}YwSJ_iL*P-vt*Wc7RsY7hif=q^-JI^R9N z4Xlv<%v3N8P1Aani5QBqT^~N4@aqQdNi_chy{cHw=TxA*5Xe|hI_Fr= zt65JvNlV;@%!jI`OWkWU|C?t}31P(CD@=Qm`rF^cqLSaBX4IU3dY^#8(Hrg7v#jG$ zKk}<|HfWee!X8zlNOy=^sPQ{PVf&1I9o5$6)nByU)Zf&nJ7LXX{Z*5ooK^jOSk>Ra zIrUe8(*OJ~)c=M#x%Hop`Y+Y>SJM>N)V~=tC+?K`Yt9_3{-P*_>5g!=7;PKNmf$eL zz|(P9ixmKF)$YW@M0VXf+AzcuPXbPehqlC)Kzp*oC-en_QM*zN8EGHwU+aihiQ?yf z*X%Z`vz+JX#~ry!bp*fkceC@A|8h z=CVqOO$_<63YpY#fd98Vnw?*g*+KUZeezkt#r@zhTb*$F%{&zfT{Gzr9yv(((DZwG zUKIWQ;^!?{MEna1fg`gsv!Ew?bt8>i#Dvt2*m@{0wFm7MASNN5I zdz85{Qqcg#t@H9TtuevJZ_A9NHFvzJW!5GTmI~@2HCBEci zdVP=4)!nYu8b0cY+DkD>d}ea-y8TvjUtemF^BzVN$S+EpI?L#1Q1#dQ=)U5i`?J02 zXy|Ci7G_l0t(#|x777LC=~)+V{ZlWJeMWr?(it%?CCN zBTY@`VBX}-E}yvfBBTx%$2T)WJnW6Muq4}xqmJe?{Zr%R7f&Atp zTf=8PQG7Z16E2=s)}0F2f0-yEdiQ0DeJvk09i>@_p#WSwAHCr`4J7VJ>3>^3gumgB z2-fvqw;vuVD;0INU~>%nTg~4IpH_?QKD{N1UQB)-IRS_)_i4@YWC2z!P-og3rCs68 z<6w!h8>wlT5ZyG%{JsS}nGc*>5u)=`6M8Q(RY^shlR+yL!!^hq{%3ox+68yBe( z56Btub3UeWw$A-H-Ltsp*62_e%5ckFU!+sQ=r6}G$YFm3`Jsb%-Y(#?J8>=p-_n7< zMWFFlV)Vu|m)adZWU(6XVpUD71Qz@{m)r;VQ&-T7mhf0LJ) z#|gMHig9~tvn1c#fklt>o)AWfC-}H}uumz|5x0v^muKRuB;jEt6z3?CjQLMJFa)y4 zz&`sKo$-(AnYf=Buh$vhg8#+&Grr7tvnFKUa{w8FXN|`5HI3&X;yGR8xd$l3e~C4! zD+bPgw$6W%&fmfO?<=7>S9tmJ?IQ=y|ItLnfFhm$CFcLR&VQtrKWx8tbAL7p{g3JV zFR5qZHRf;7`Co&XQ}jpddj`(GM(6*U&i{_oU+2F^^6QqB7x$E4c5fUUnLcoh#%hc+ zG{z5zanEjP0M0yM^zdmlAU3NeV(%N6!rxAEJxD4#l_GF9DPN3cj3b!cfn|Aeg2^ z1Yf?Ye?7P;Vn2iA{dL-%plX`0i~1ak`rhk`bHjn!wBO#%V`xU>qZjIzQScST6QxYQ zTBYxkF`u&wjzy2({p5G!O#^CFm8POeJrg3on5JR_@r~RLqn@2zs9)w6W-lJo{M)=t zd`$lu9ieee(zw==!dG8YHJT1w91nvmWxJ_i(1X27F#U1;=2XR&^9}=OQ`u+ypk6+(^ zfrS1Aou~^sR~NLK1--RP)ptHHe@cC=tC99ml~&hxl+e-wu_Vjl5*L6h|`5cxU)b7WVImy(>j5rg(jem5vLlu{G`e3%WrU^bK85k_DZmiM$U;jJ@eLg~aU> z6&w1any69D)2O~oRPG;CeHZno=dHB^GR+0osigTD$wngio<=gV*N$f;ottET>5G{l|EJb7NF z?Vo*0o`}u^hXE%6-aKo(%wPS$L&tZTnM|YdEu=g4Yo7roT;GLq>AjPSUJ)v$iYEcC z{Rt32T1K@YHHa;Grg&lE7k-B0R0j7qdVJZFc-)VSs7O8G$%+oBnq@-%sDE;C>)hRN zZM3(^q-}Jl=$XNJ&$hgNAlL|HL=T)<7kzaXTGP7yccGx7uf2%(PN^Nj<7rSBb+%Sih;v^$@c3WF>!FvVdlwr%};82-I&Ti*(gf0ZsMdaKe;@f-WbYNYY@ z2tiqiira4}pE0e$D51CKzfVtAvSP1IKU_~yRNMvGJ%<#|aaPI2MPhFzD5^yMRVba)!PxW$~4K&(FO!%#+ zr<>pAZui|97>l5tSw&yQ za1t%U!b9dmz3Ic9pz8}5^0fT@2atcW$RCCcV>86##WHSE`n{7wvEIZ#~W1t@HEG2_pM*S7G3GemytDV@rJR5-e5a+h=}BBH?X(2-6~a0#{FF zh{IhD8DQXXyiy(NrL3h4R=u0_lZnHZBGcAu4UWl}*mXu?_-38VnrpT!8rcuJ(>(=i zO5y)0MJCVx)4t|nG|h?a#~{!hpZT!eAslNzk?;|K?;u>M8EQ)vTNDRYxCqa%KpJIY6Q7eJrjRGM%{kvUXThM zxVK-OpE&K;5{>eMefd-d+kjwC+PBh*F_Y&LLEl8|t}%Bry^{*xT~ zmZBEieqRKD|gLd!>{nU@mmXTCJP#+{tRwdxnOi6b|UVPZD83_B$HOT2q%IhQ6djm&tgN z^e2vD_+vVJzDYfnp__H+WR4F^%tXfAs$-5cp=UGnOFC5c_X_FbxcNi*uVwdOf%8u^ zKpEf3evL8H$_ufXiie+Yzyt1Vrydd=M|+wLveQYnDm~(ki%$`A3bne&Xa zN+r$(%zs!Qzac;fd>7llU@xS3BLYY-J17w^cj~k`MEtJ29}y?1vbgs{QLva4+@UhN zCmMNDJ5geEVWJxGLd??VqyRS`<5xz?ew%#uS%iCKxAbBm6>1$_XvY;!tno|4;C zEyZTX?!2ANQwp%92K(EYFuS0;HGIf(=!{-7Z33k>nNt7$t6;Ti3hZiy*6jP*{2+P| zt|M_PebnLlhS0;U^UzNm)fgo;?N%cHg5s#dZO&M$k+Tf2B1P+YIgm6wXlW=}#O*Tk zgZr5jv+gCcu2GB-wA>`A^l_Gq?I0_alCv9ohGto*3H=`PpEzLtyaDq6TUB26+6cFx z0p*Rp8cs8Ke@whD<*>@6e|b?q4Hy?F9wtHvy+dUMM?{Rp!Wy1XaIewrxf|!rk_8Nx z6A0iYn1}t>-7vu+cb4QtGmJ@iar*jbeyYS!*G}pt`9%QJa1WC@5A={T4Vq;7ZuGBE zq?%&;s_i0u3=}3xC*S?|NVFKuXEVVq`v7%Dy6}x4YcoOUk#CnbGYb6z7R0gI&ciFc z(;`H1(-a}CH!gVMcDbTW7lUM5m`WnEBZ;K7Fq9ca{Gy`VQi;=bgyZ)4re1}45r&{M z$P=0lphu033QOa5%d^311#z-oar>XD+KK?uFV%ux%f5+IWYa@0>x}U^mWZrm9fsF@ zk)WM?OJO0AFHmcwdQ}B&-iIy4TL`3Q?9xGd7(@UEB_)Wb?h;lh7|MikdleWi!I2AXFN?{ z`;lOhvlAiCbBqT4igz+ic^E_ zBCj4Wp8cV-i1FtS7%vXDGZ;U9z<8eUbw)6L$bj)&QE@)NN{HidIphHP#Dn)c#y>w` zJg=c}9%lRx28^eMIp1J>X2AF%jBjLo^?>nQ9dH&g{`>*s#ie)#2II#M7+=EtBN#tq!1$4j{{U+s4tMV!SpUNr|2xJ%@5fW$*~pZ>$8B!6felb* zm-`Xgc_Wu|FSFgwuU34S_T(ELXEjlxJ+<>9FlQxGR^qFz{d0t`CcH@C(S#QeK2PAI z2+tsVhQQoK;+#tOc!6Vtk0v}q;8BE!5zZG_wCdk*W;h?llw3_K_`E?DxjQ=x-zxr&8 zGZzWSFGJtd^4`?(zA*{#U&J;V$#Dcv_IuXkDGOy=s1K-cK7mmJg*rStlJaCv*tgLB zv)U?Y>gK$pk_t)ll+4jfJ*HAQKg&Uc2z^e@xeF2AdI#2f>Yi35H%kVt09~a+>JVaf z)~RDC=>MlhNYah@?sz2+JvJPY!pN{^40gzIcR98wf**ZlJ$+@}?hA<6(gUlXp3#eM zD|saXrbYPPRAe7N9Okxwf)1m&%?ur1)}#2{)DyiqujgDsor8tgx*GiB+ro*s7( z!hs3P!HjuE#W;_{1)|%F?&4b4+Zi znu^Fr4Z+UWrJjcr(%%Hz-zl0{Rqa&4W-?(5Yv}OAX`6kbR}8P(a`uA@=^1m-P_5($ z`}88va0D6S;*0#8)ZxgT6MxV!Mq7#VS@&a9ujV|3h)mbX5q5e|nM`??X2E6-0@7>8 zSg8}`l_ThpdqIeTMsm!MDHfo!l-JZ@)eS)yD`tl=8OHikBjn(krJ}Fd@-7)%G00vA zea<`!ViwtQgjXFk*q4=_p9lSthv6h8(Wx%~>V3{v!5Oz$!OjZ+MBa{zf^BwfY6Jf< z+-+TeS>S5tWyG{$j9;`KCoe2#8@}Kli`bwIud3yVh&R(D%*&M7*>Zd9C&zFb<1u)J zmt3}QPR*3t&aEtcH0G}}BtMV%bn9W$0$5`-LwC8?o^z^tCsZ`^tgeUD&v_OH?zFxc zo^2MEVfZsl_)~FUravMR_Ahddm{>{)UR@yNI+qh$)edpasr|MbH!8%7!`U+_Sp|vs zW@qPxJ=v@lberx0y5S0)q)e}kS*gjJMF1n2fBa7HHFcwrjWP;>LthN6Bkvgp8nkI!ihJ zw?sh|`SHT>pR~^I!w~{{A#RE||3JJ%$tjiY>_{QFG@N;P{MO8ZE}5#7Sjih?s#2KY zZdrYf^ycvlEAPgfG_zn&7XQyL%q-ZOU9fknldnSZ=ND$?6>{<_2?4!;kt~A5gmBiG z-WI})kh7zO_Badyp#)f(Dd4{l@gBcA;<4UJ&{MD!10w< zBmVx?bqe9`Q~X_rn#U~bCLDT_7kk8GPz&6^&`Ckio^U=NS6uldAEfz;I`2`j+FV6m z`M7@FLUyNT2-C6Ayv%+UiHMIkI>=d&!f%1p_t0Zf$H&@Rbi69hNB(Pt+_?dyD*8p+ zGVx-KJvFtZFBQ}NXg^;OG@Y1_Q1#RPXu$xp!b-V3;Kj=237MKXzLj~-SRN@*X*Z^U z&xJgLlo1^^u58^@4qkCWIDV%97dyEXRj_)wj^k#p@LAx zsedR+-wB$s!l!g+NXtRY^8CW|))3O=y?~*R;bGn<=y(-S-ZL#8UW3#AeG7WA>lA*x z+d|;jhLHOgOp{N>Z8Fd4=d-zJGh*#C^Hf)0C}|WmFQxAM0^>AD_`=)DICm6A>nWX@ z&$U+V3fQhuVnJ>jDO1g20h*^^$@WoH%#hu$gJ~Ql$)E>L8&mmaOZ$mcS7PtMs7>_} zC$X2{*`v5yK`+n{_X^!!eZ}Nz6v%FeKKHqa0qi~;ZcJd8Apv*ZyXUdLryhZMURUQT zdWs%}H>KCmsR$D2w&D#^SFN3%PvfAo^cPgIaA8OXt-Mge8LWY#A0$c3kjD7sC2Cq( z6#nxsu>WE%D>+^jZrCg;BIYv_4|W!4zEDHu55T|!(`9yl?CjOK5iOCNkpV_?3X`-t zl>!MkUdXAj?*qbUt-EHNyx4GfWhp-Rljgpfx=4>mC2+of$Qua%*OGm26gjG~8v-KMf{)990==tp| z<>ZXOjD6 z13lC;N5GpXV6C@G!0B!KA!B*(rM=YT^+I@xsNPOKK^@egH_L7sOhoi36K(2&u$UJn zH4?T$>TfFVu-E8xy>K0j^fY8qc`yCf7F1wpA5QG))gB@&#daxTyQY;D;=J@2jwjKXV>Fq!Qw~sd<-NeM zQ(sw^`zLRFfq3{0@s(ZBllMaF{JiJ#ESN$yN{MqYV1FL6BcVK%D5r|0X$`p-Ws_%! z68=fs@L1yM6Gs%$c;ZAP*UN?H{zULms3Ciq(ojuLz<%lVz*|&ejw#f2M2gq&k)jbQ z2dn+`PYr?n)39~nys#?6v?Z(wJDkeP)DRWujBu7j=BXJpIviu4#C=RZhCk8w?G9;3 zoQ!%&AxD^|rv0WgSXSy-p%e8#mFzlG5z3n9*$E%O`r?mu6}E6PhGAGuw8q-Zcbq@> z5=ue4FIRfgv4ze`nLu`y()*=mix~Lw-K=|v`T)uIOfCu$VziK;j$ z9NUmljSR*I!KzMBDbRFX$wgNm2DAr5IMAV2KQ{azR^P!#F0UR)`W zhLt=XbnCwOQB`>nA1aGEg1&=|Nt9k(<`JxzqV`&N`l+Y&!xa@+<=W{Ea>Lk7pmn2P zJa79dc89lr6^!X`kJjy@-|V@_9tS$z+R_b!0L!HPNigKluh)Lyw?QtaVFS!dP(wAL zfcY7}6UGGXfGF%%l^EU{9~nnzv{!JN_84?E7Q~ZtFzn-U4X$o)np;QNj zX3C<@NQ}|6zDn1xYH^uL)6Ocn5sCNofonL4P1LccwDr`cN$ldfeUG5BIFTydMQ6(@ z;Ai#ah7B&(`DSICD#SCsNpH1`XUFXiRJ4;uZpfpvoX#v7u zX4JjZ^he4?T6s`;sQ0#?-~Sy+OkwvO_jIq zDS@F(n1BBaG`C^L7E*XSO`llG1`)<7v|0qWrJv%1=i6^o@|EE9+QLD}#aVgJZe)t= zd>oF7;t+}kXJgkuWX+jaoo$$iqrf`XC@Xm!1+Fs2M=i8VR1H*!83L&2;*4N+t^@i$ zA<~(NH&JNZhto`kx7>)3xLx<4)_t%x;yj4?dY_2&Hi@5pMbX#RBW(JtqSjfc`Se)w z=;^VWhfFU>7CYB6;&|+DScVtu2V07Vb0xlve0pkPrkFL~)5T<3){>H^_>KL8P6AIY z?~M%0$c>pQ5geJZth~nUvj#>`;GBp|ioXZu@2x3FguV@-Xe4=lWwB{P-L8U7$%@F< zI7ZYL%{479C?Sd@v}PuzP7PB%`=UiLvJJPzW{2H@?@WADX5MHWu4H?~nC8EIlvz9m z`;nYd85Z}{%rHz@_T2%QGRRp3m2S%(Sf8Gn0#lU}{JcqUApI1-t>lnw3tz;LbenQ6 z{d`WPjACLxvq_Q_nJX(71H<%a=VB=&=6o5>2+$+is&?%Z-OBCq+_{6)*mB14n&Q~V zV&O;0!2E!&zw;4v-DzQV5li!wm8m05=D1|O#LMiCGBKZu*09-`0JLU&sQK5YOF0fA z=R%k&H6whY#kfcmgj|c;u>rZN_g_hl<|)UehI&lqeY>(FO5);nsmYIxuf$lYpK<%n z2SnC=671fp`X4P!RmHgd#dEcsFg>3vjh!tbZeOuQ>xmLUX0~C9XFr6e?&-8}+CYRC zddO*^m1vjxqFpUGV`|%loa~hEjSH zM!3_mEfS9*&h?{1Da$=67=Ryv@jyi>D&r28_6u9LQL@f1*4XEdMsxD-^We>{4$qw% z`vUuq4)K?YvjKDc$O)j`%CXlJ{Aab-&MU}`{XD`I+UuhAKgwms$csHjVL#5-5GnH1 z);Vq;JvoMFS+EBM%!B>4}R{5e0lx_7TwC4UVw6eB;}cY~xN#J_D46^Fv% zf8rxz=vF}(O*6>44?%C{1Py1g7{5zcEIot!WpU%5y?F{I7-|!hT;hwK z?k4n8a6HQnDz&ldOVswVuDE^p1-^6(oPWb=>-wqaS`(cSQLs~$mv~~${kk?sD53&U zw@4Id+kd}Q)cG#ZV#Jq?k4e8(jLlgscS!GmA~0VbdxlV;;@7=}AKZ z&k8$0%%}@BJJ{5Dby0&{!MWD?q38&v$g&QQ_`0e6QL2hE+E7v7F}1f;l$;L<#Q)4> z-E*H-0}tzCChM@4?m@x0k8fWu&>MpQ16dl2fSPIK(7@=nhoUKPnBOx*ibsq>hsud6Gf(uguy! z<*MW`g#}#^rWEr$E#sD*#J>&s8^7(bQcwh9p@wTzY@bBA4+Qa}!Qes~>>oNB#mSf% zL&iKPhP}|MHtAMjGgX-Ldr=0ZzUNHW8l#wNsGXR?*obu~ZJx3=sab*d#pqvW)7}be zj5>u;qL_vk@0E)5iykV`sL792w0oHm?Ju!sT)BJ%VZVGH+SGt(V+QS|8ZCMaTqDd| za*M=VV7x@07Tt&`4C;&B2NTp3(LJOMuuAs&w>-&n)*46tRyDq}|vWT;n_4aky_24sq;HhbdIP zLU1S#rsfIowL3As&PRo8q0)qF&% z=`J>Fg|i|?!}`R3lQ`pn-EaCS*L{-uvL)4dr9FiMWNo$jMi1F0(?D$ zSu4yIXG2_>!WMPNw-^#ZPp`cUjBH zk0TNt$7unojP?Q*03L9xf%_ao$*JCb zfykF=#>CM6*1sehHyjk=wjdL{-VZL$gm{}JMvY8=tskM&OYkLrFw^_C3-aMFk0d__ zGWk4A^oFb`$Xe6#a9^9+&;5l!+Y}ApEjUL8>O`fmpEqm(7NJ&GoJJlicY&Y zid(Od3r=n4EF#qYN+}6)ogFT^gG=w3oesC$nfVFz8i#&FC&i0NjNeY?d$9|GmnWRi5L9aGQ z@hi|D!JZVY|7AYpK;sErEm|)Nd|Xd=9zZzTlj4pr?pK;|ln~6NiGdY?lah^)x{MfV z9x{LrMJ-Q3UJ6`yeVBTmy3piJ{5a?F0 z|3Fzl&eo8+*q{RPCpHREk^ti!7$KZsiDoa3W(zX9L&z>fZ>@w4Gn~;G1pN;&%vSb< zCSB^X)zl?w>cYJ_iU6GV`NWs0>IKSF2on5Pb(x96+$uGHW_?&dZhgR-zu)242g5V3 zKH-Da=W(4u>hn6A1mx-b8ZQB|yZ#*%T~Mfh$cYIGwcRj+d>5f!6u>w;K<8)T`yoL( z&j5Mu6^f~b3oub0o4b1Yv-u4b(vQt#AA^D_^G8FslBZXV1LX;J-|&t9CcEeB3}m-k z?_TZOCtsfP0yR0|fSQzi)|z0M$gEdOW1!hL<0n1-g4NxC>b4ug>9L#AC;QZuZB<5~ml{du|Q^xNl!& zVZQ>DsTiKh+)3&yB{f5EdJ$`M%s>bSuwdYExnZ&pH1Ox6b$iFD$U>a2L?m8Rf5{&u z_4-Q*E^0Xs4MV67r?8irl}s%H3;~Fxz%i{tyq7}llcO<&lo&#(Q&kL8VWNEux_cRb zaGHkusCqu|nZ3y`BB6^|8YrSfA!;U~ai%{}@eE5%4ipr1Pf+q;aU??*mkAU%3B}QV zvnu_{V-DGmqV?<3%46DOPI;DJ-VuTFwn}>tHs__TR>DY?3jz5l@SkF3=Z&o^VDI4M z81W}6A>$$iE#wp?$RK%eGJ-9S+|RGaXTN^WW2AcpLwnf&{_3j|3NCoPc)@6|7Y}Vl zlJDdskzV|7M|nx47r$90$(fsSKN3|CgKo5$mJe0wxT&A#XH`S`(fb}rPB&MyVE=`9 zX&JOpTJ_!l`0BbrTB6 zd$81pdN~pGGV%KNUhu1dM!&-L<6SURC#f-sQNG#1nBtT% zvb=j*JgVp8JZK9W5VpH@S_sH?ziXeuwxdgB-?P=TPZ4dO z1}v|Xvh8ON8Fp}cNd9WpUl%Cv;)9nb_)5U*|2KOWwuc1DdsEp%$kXVn*B+!!%RT!i z@uG6YN?#>@j*1WD_w?N&PlEbB8u_R*K8YH&uj!pR_O8A<0akf`(u0SCsdrf1MAUdhjk zi4o_rRs&Q{EZw<&2LBVK=85rNK`|;1P|^C2 zARFgR#0(_Olaw?e8Hmr9k8Ai5$5lL!I$9QS`yx;+^KEfQ7~%PMO>xgEoD|(~QlKkI zVKlB&%PK#^9#<=BGVtaO3emcS<_<0dX!+Yg`3F2-SW#Qy`pN^0mjysfrspY8j`$2z z<0+npDW}FCdzD0ux0}-A_SM2T*#WEgBkHPtt3g6@YV4}hF4|p;%7MOrOwwGy2q{qG zO^U^=F^!fTHf4&&=hissr4@`-0T4C5RDo{JT!%heXa*e?Jj9myPMdp4diW=fyIK82ghkX~`^jp*0*IAK-9urU8#Xe$@RJ$9O@{ zj?8(TVkC8j=A=h?m@l(7ABeSK2iQz{21KC8cSs{NpPNhbQqsKYmVs!d`UdKLE5}T{ z@5S`D9FH8xypneg#=N;efcC9Hwsfe+m+2alfF- z1%_rS>Ny9HarLKQpd$Lemtb){i&myz|Bd-8jUyd0FOp;$2(^IsI6&?rF=wEje>L^wW|j3VfM^Vdae?S4 z=T`vfPvFg4cT3dZ2m{AAc?e=oFuqI zGmxZzC7$`S<}ABE8A$#E%5wmfd-i+D&~;L-0V<#MBL}83&)yU$WfpmBKx~xZE95fmGL;XijgB6V4 z)%j3utito8Ss?%A1LvRZ2kZQeI{)n4{73i+d!>q*Z70*vJG}KPP|k1EeAa}3#3yq@ z&}f@*wo}h}F*B6jg>_ls2X~33?1CC%F1tUeTMq^f!=!BU`^`MR@324C`eu-!jI!KP zfu5Itv9r+yBF#TX3`oZtesB&Qt9?4~Q|KJM>Kg=LFu*)^k%=x&0amUSg4K$E>?z{LRaQo4Vi!~I%=^!Xw8EVf_l z-!kwCfZHJ?T%;mOt2*?=7!-gzHvFt>dxzQP`#v7PbqgA%jQYmil;zzeW+igdl>!eJ&6nYA$2|i zTRi#pB+C26*FayrK3AI5=M0Uj`6!h`|e5Lg|`GI|?OY-FD7M&#<6_)%#A7ks<^+ z3vgwC*gp=HaTEoMa^&(PaY5wM`)T zeRomiXY`=Ywcyd;%T3i-$4~tp!S&Na><)5vXTY|+r z$YS>43Nv9a{2rj>V72K{{Ag{v1$D(Z8zi5laC!0+TZJ2Nc>p<-!qv}eyz{lAbph~K z9*Q)$(kYZ0f=Lb;?aDc2bvQ!Vpkn`U1h3m+A~j3G?1i?tDH>UG9?%4K+}Wr{-&^gE z;^Cgw{xl!s+S)t$jJ3bS2k%$^9bbyuU*m)KtG~sUppUanDgcG*mGuCgKMlFqVaa=j z2c-rpDlnVG_E)5F-w5nD+}-6Va|g~^(d~_Ul#&`b zH)|;5k7NHJi8K4Rg|rw}C-s$f9;s4XzU&_(oq4GRf%4kSk_l;Nc~i@J*6=urA*jB8 z0&HO(;tcEu=vgR~gQL_^*Fgx;9e4})-`SZFz+uSBG zcla^b55j>r41hOd28?~MTqKS-LK->D zW71rw6kTF_vI}}~7fohf2|(UXR}+!W2FLY1?9T?Umm72|0)cu{bKL%g>LWNf z-6z-1DIEK7Il)5v0Yd;m+zF7qq6C-DXRhvbh2;3C?7Y!nLuP?&5uY9NhPKdM-3pHl z6j~%oqxSzmr@S=p9O3aIdA6!vNT#@WkK2DVT?#17;y-UK$8VfQG5!LR)%XtAlU(AB zKUDMI9mpmXJ45)W6vyM0s^>2i6EyZfJxwjXp_UBP-AOa(Z;IlwBQ^eS>dk|H=S(Ek zhpp-qwp@E6q!!C~us1J73&Rj;zSz29WNXTMa+JrBqV=V)MKo#FbKxx0|RtLLhN`EILA{o@4&?{ECRzhyJgYr}>yuUSJP_Vb@Hx zTa&WK2tbUQc(b1oy+x}kq1Ma(cRD*geWLYFE}#jQRr^NgHfGTF=58~rgJ`v>45fym zQ>*P~A2#TObUepR?kfYihbfvuG9jEG4Nz~7cVm+}0Ouu#!fHbgLumhIXT7^3J0@`mWOUvct6!&AYsrdazoVtdoG5QyrMlcp%PJ8>HaNSho zc2geMFimEwG*C#4-)=F30qJJtM;I`w!C`X#a0T4=Jv8(ek7@qvN1~u8tuPZGt%)9K zUj^$1Jkuf^JmF9+ZKs+Q_gkOfI9mz~%+*n0+(rTp^iYN)DMRe24JD6s$3fva=5mk0 zix^A&dri6_c>8sQYxE7GDtGx@OAdAq*XdXbk52*f5+)-EF*H>29+|+k!YFJKC(bHvpxK?wsy6mN-SV?LH&i-*_ zh8`MZn#exB5SMAm4%bszSXp6a+ijr@WkkE4_nDle19muD)= z3gtj03*u?Y;7N9+)i*dwgVOh2W2LU&`PU#GjyccG_SZzXX|ATftXnP5z)ROtp|RjP9klsZICjGzj_u<)Ya;pu{koQ2 z#DzLP7k=n~0%o*2%)bsbSY)ytlV%R&-!j2D$X)F+!-|E*fUP9fa-lr>V3jC7wMw#2wXsJLg%)wzaqMc|<$iXS{z`wsv!j zveV5yUrNVT;`ieWc zp^Mh@*E~@u&BEn)LV#8(jvC(XjOs|Os9_%=i?Zqra`IC`SzOrPtIn&xM5t-rd#@1lnZ;J#|d|u_NID` z+AkVi#Swtvo$4xevJW+b0BWY#Cm9lC=R|MK6t+{S)9FePi5S;xVcUgx7f=?Xd9fp% z%%s>KBBh@ntcOULB);5Q!aV@i<4e)QWlIWpn7BW4Fkml~y?nCyN1ZFyvq4R&tTeFo zza<5WlsQ8cDbF`jo&+fmgOrc(?})zmKd+zTd{1mbb{41SVd|;Y+dlSvvYh#8Kk;N7^^_;rjP6ki-`Lq;Y2?j91>_;m!NSpBJ-7 z8-leq#I!byQCcF}5Y^XejwC*%8RkB`QFiucxOS?8)tNndGfUwsMBlqb06a;68ONHZ z{Lr${CvWMFs3aGkk^JPHfcnSpaAh7#HhJZ@e_$2y+Y{>Nn&GPXc&p~S`uX(C>=JK` zZhq4l-2!V9FPv5$g~tb%dvnB(TeQ47y4PU7W31GF^@L3$cgq{5-QsXQG9RBL@k3&N;ZZ*SX%EM z!g2P9hdjQYLY7O5GX5u1i93}KSI-rYTj=7=r)=JuSDa6w&11N#E>A6%%X<-0l8Iw3 zffheh)d!{UT3@gYE?sO90yDKsm*c6==Fe562Jg$IUz`=zqkw6KWFtwqfX)0)Ir)*2 z>Cwv+eM;JKNTKeh!3(dTC|Z9Z2FUysu%h*MzzztH&;fs0EuP7i)SD#}CdOu7xLB$S z7MzP1(PYU+HG)4ZZr`oOEJ)=?@=BS7_RT8B_iyXQ|Gj{{M(Kr5d-i%C@4x`5_>nA} zcLDM6*p$F~gFBqGKMu|~_;L{AQ5bc2J`3@NEVP9m{J}$Mi+QruL~S3&AkXNixZUX& zj8y16?702R@BN$1K$kkgSX}wpT50@te6l|h@Flh-jJvg z*5GuZ_L3uESGIhwRHTb8l`ba^wP7v*z0NQ8<4!5fU$WJV$5sE$<$WZL+YfqzRvzEK zIB&2=6>WMIZ(4Fi>pK--qzB%rb8j`cmmM{H=+7QyWV@h8@IPPm1appg#Scs9SsZ0f zVr5Vfap>8S>O)h+dWojEgTy95V-#0;)&)Ep{3neWBaQ+mf~;ozu8zYX$%}rHhM*F9x|yjjT-tpvtJBtQQ8oi*64*u8pX1m zFb}ssqesSfmftK^D#=v`E4kFDk80HLLZT!50>}7h)My1gZD4}opcr-;zvv~px23%x zzE`meyaxU#IcIjW5|K2o?c_N2oBQJq-BQFqbd>-wudzVgs??r4Dm@h&t1i7RcEo_o z+9u)*fN4db5q=l+Z?l+;LMqy*E@SZ5igba>WeJSn#18j(SI+Zd03iM@+H>3&zQY}0 z{vl&2qEqA5HfcZWnxY(H`S;I}IQUP&17*Uwk5TBy4YA-C_Hzh*`AKXS>kVVD%72fO z$2(n|7xMYjwz-tUELEF;{}>}43I~gM(YXDqg<8yLBYHKe((v4Uj{1s`MTtFgkxoW* z7+I81uh2~9!Yup4`cl{@(FmAw$ajH_2O~~bh33?DhRy55PSOwOK*g?j%d za`AJZ$C=32Riwv^@0!_9tX&)bPqkdaC!JEN#xIv-rmTb*$F%{=}BNKQJ0 zM-CDmJxKV_^m}<;R9oOrbh%{FlRF-R0B7*KFIkw)@7tMvwl_VkFV%ge*+Zb8C5voG z(7JNnvkzU5KE!?#7Dw0*PWTGmz zvZ^jMAr_lnR+p@5m>FxVs;#O_HpUuL%NWxbJN494XCi)H^)-oFe3DhmW3^RDq-~5< zG*rbB^-1DHig-g+V`FvQHL>ZJ8#Gl&6I)SLkxVsIof2DGCm7l`k04Pv7B8T@QSqa~=MxGKunOqcRM#yB6G6r*R#y0@7!a#pAy9R) zYGv%Y`V^8jCP=-a2&C86)~^9!%dV4j(-*~OomUo{J!>JDE1dIcSh0M0b+Wp?uA(+p zU56^KtRNJtSXQ4(A}`3OU&W9K9_jKDudS*;6{;vk@N{`qW%Wv+SY1(@s+tg++fY%- zOsoTVUss=uEd%Q-E2~yPqF|`0{`5;`&7Mg$A@M8gS69VWG}NzDb*ozi3RYBC)h=fw zm1kKhnIzI>Rj6I8I@yn=Acg(tOH{3`=ttxKEeZX~Z%j5&S2cV7Z;KW-Ttdm|wgBm@ zg8D*|kSk=7fXL7~Dig6p1({h@7pttVTTy)t+RgG9f+`@2<*C}L2?etVK>1R&XcVFi z2B!!XLS2@su1)4-(&bm7xq^ne`d9*uC|0q$qPn(X8JZ;9RZy|;dtwLviG2{E*Hx^n zGWu@FR64qX4Lqp*we=NLu34gIe&)tR{hB)J5Gs z8_TO#tN>H$lCjizwbjci3vx&Rqdg8$PB9uc)Nf@)Wum$cq9{0jg;X{{q8jl9QPD80 z77}uBp(P_u*rTMKOjLjYiK+rs@`;U5i4_$hRB6G~O)@3OYsn5(sZwpYf)<4Y6i7=& zWoTL|lDUlZ$)vST)m2tCBrB@xs5{Uya#_e<)lk0-x^P{rj=YJb8d;fIn36j56S;hm zYS7?cj?9o`ispc1QH@}Pzzk8QeqtI>sRC-I^h+^GYK>Z{HX+z@*{O?#wrjpaSm3ZB zSUQMv;z=yK}Fqi3Wg|1J3kp)nS#Aw zx0a+H;(gN8SS^|=OzL&9DHG8!YEvug8Uuy;*{unuRjo}nRGg-YIIVW=^6HA(`fI!w z>(o=1Ra9P^tWMTeS+Fn5t-@;dwGAoupyS3aA779YQedqdyUL2iVq;ILw8l2ZWFTdo zgD{M!5H_~aN&>iYY~|I~^s$vQt+ACVy`>^!aVXK6?%lez5fa)9~a$%GrwW z7JMeKgPf3DNm(VK7R&0_T8)(r)vJn!V{3$2Uh&P7x;2TjaBX`*%Znf-Vg1Zhph6tBd%h|sI5y>Z8g;(8azP~oR_Go#NYsCFvr!tx48o>ueae8CI!vo;BB+Z(V4`txK#+tt+iBT1%`- z>l&-ZT4{aBYP42cYpm<7ChKOa#mZQ>S*=!^^$qJz>mKV~YqRx$^h>xb4)te;!I zu-dIBt!J!l*01n8Y%f^9v0k=bwf<=BvR<>^u=ZGQS$nO&TDJ9fYoGP5)n&bJeQ14R z?YHvsB6&mdhUWG4jj_g}4kzHliO^Jh@~t_b&$77V9UI5Fgo`>dWHLT8@fn8?E*zJz z0t@>mtrM-$s3rf#TPNY2&;O6T_YRYy*#7@d^(?S6g9-?Winzd%5dj58BrGsXP;y4W zB@0SkP*8*+NKga>5d-RqpqLR8Dk3T>Dk|oLy5{WVn)Ryld!N%?r)zfy^>Z)({GR7q z_0;rhPMtbkUEN(>U0q$>DOl#oKbBR+mJ?Nz-y`JrNclZVeyd=;T@imcb(duYaAVjw z0n2=ZCMd(>#U>NG6R4T|KOtDx2`F2Z^17_G%3!w0uDNXIA=C}b7F$5GC7mexKC@O! z(P}AW(Nan!3ppdykTs|ymYkCJWJ1z0v1=o#+DNK4lBx|#jdN07QlBCm6>b+;ii@lR zRTK*ygRST&(!+4{a6S){-%9dJk~&HL7I3*^G_UL@-bcKzczu|U4bIo$?e0#sW&69+ z(Xy-wTNtlTb;M>j$_bXWWNEDu4WXeljE2k6If6#gC>*2XXgp28ae5Ap)7dya=hFgO zNQ-C*j?p!A6G^ESGNw&RF=miExgI2vE0*KtI?jid2X9E1O&A8`DYH`(S;Q^`~| zRm_p5rpYx;OjC1`X=PfQggM!?HJwa%)5i=p!_62o){HX~%w$t&E-)9G`DU?MVlFn9 znB``rS!Gt6HRcMl&Rl7(GFO{x%zAUZDKh8x$GhMN;}M1<3_|FE&>5i(LQ{lXgkun@ zB193g5Pt7hF8e!#&k*(@yn^ry!VZLc5$;6TjBo?Ol?W>kmLe=bn1OH>!YG8{2!j!N zBXmdTjL;6D8N#s$l@b2LWBUCFUm)y5cnRT2gsli05!NAGj&Lc$MF?{c_>ulZgwY5? z5qcqXMK}e4AN$usI0oSegeZbR_%}uc@W_Bq5%wXxitr-BZUjD73TICmHDw}=oi%kj zO&C`o%gGZ9rc5swJ7pZ>nz`WpwmdU*9 zdi<0Luf#xy0|y-b;o zt12PzwX3ABhg#V8_2s(T5Z590jY{~&xRxA`I=U&Y71lSywWJxY5Y2H_I1yL6lW-mI zeJj-V3DoN+qmH-!6kPw>;ab=MSDcRGJE8XOgzFglBz(U3F1SW^h3{6vcMq;d9(*TFTbxm;=U@LL}8GbEOOD&xx7hx$@K>_x)Wi|<{CPQm`*R!M8@ zh12D_H56B{(49usA0a}FKF4vvu08^{e`;aRa|`E092Z@&Y>&Op?Un9ms||!d68EIl zam76vSJ=a`hpR%?NRGi1u$TE-T|=&`4bZ0RiGN&{hhfVqV|&_R`wo}(Pc_&bhddua z6Jar5ES?IRC&DVHuZeOP0ee$%eLWv*IS%bVK3XYN8TsX7jZz%=_s4VtA^t}xly(Yl zPJlY$7x@7pAE~}Vz7Dn+QtKPw9LYn;@&8fsi*^;5QrM>{j^(3yG|dd8lo|*+72AW7 zO;HMa48K+IJ3@$3<4_(AkjKsl)>G;%v=b;b9f4ygRfsSHf&IC`^1NWlIm$zOVhR2) z4P?G1rC4Tt9@fLmzntO<`A4aD(pJM?zESGGFD))19ZF+xgz|mcm+1&yoPIsMC(Y;l zB{&XqafH>Cqpco}gidJZ)W^Q=jU#Xsj`GuRR%GG0E{|`jWaAu&p=Hzqwko2HGyuoP zEF9&NaC~yz(G=x)F3yQVX$nn7tLf=X zNVL3`V#)tYrZ@$63!I`B&KXYC7H7^1S>sBy&RR$cUc*Vj8d~D~Wc>+}!)Z8L2TNP; zbev<;apv$EhC`LH_at*sfb-GfyNJfpV(g`5w45%(y$j)(=X}nR z67jG;t|Oy3uA3nj)v@F<;B(@{GG&$z8Lu^8&X>VB3-VF&IoP5avVJ}@YCtwd($^@H zp3h27&&!%PV_3f?EN~4y155s2axWc?t+pvRRc&Z2lQk~Kw$_joyjN=kd$k5ijP+|s z4r|~H;Ip|J&f+5>+o5BI9kwLs>5(RaJ==0z!ujp=`{8Qw~@GGb?V6J zg=1sRDW{mQ=_l}j(vOl|N4)gFizI*$N3Qro8%yausvqx zXf}TC1U$gOvm8ms-ID;;LGKCW9N#{tZehj_h?(f0nTl>1Y(afwhnsNq{j76?kV-{Q z80SXv`b#PJO)^)haQ5UGBWLCKZGyUmZR(C`S+&JyhKpJ01S*ylnHZI>u=o0@l%Wmxk6^6n_(GUT7N-8K0C zoxIyFLXHUfuY!E~w*k(c3vL{2Uig;6a`-T^l*Im>K6ctnbP3|P^iLK1;u(wo}_Z5`=>EZKQTI;wXtn@ z?mc}R9JPlaM>^o^8Fd&>fN1{-3(zW!WM-6{C_L{BkV+|bWc|H zDuf~gwoCVxwaxNokf#v#I`P%-%gUaC!0~&7rJFapANfTXgTV5g!P3>)4_T!LpocIO z;YozO2<5kh`N#p+MVN|kUm&Lkv$As#tgR%tKf)+SHVvFYSc7mc!UqVI9?HtjMd*q! z1EC1vRfHZBCeNIea~hsDqPMoQ`&fc{_D&A$ft#h^2-H zWjdqOs5v*t&yd>BscJ@^ShheQ0jxC=P1WHA^nrm9hIJEPavA>=P1W zEpU(3U->U!>GO1EpOBa^bqB{%p2NPz=dkoyI=P1GQa}9H zMJ;y~`UsXjOlS59i3!tYqHb#MLs;S-=nvBT`@i`(6{k-{FIaK-&}XXQlsa8K>9M2gk?h)%3yfae5_P*5mmeJj;3c zPy8#WRbEb)^?q8G{}U^$^D->Gls-5lO=w> zQCj{aEbU5X_6dmzQw%GWdU%QdyI|>wbY`EB7~j&FB~pdfLwW+19#3cX35f}HEfr+2 zIs&?JdMusUCnUzE|GVX5u(UIs*(W6C?<^$nT#$8k!qTJZ%swG8r7exhux+gKC@k$r zXZ8t+DQ(IBKe~*)9kBFBI#?W}lE4 zH+5+q=U96fmL5uH_6dn8ojTM1vtaQdSb8v>*(W3>Q_4^_UUT&zENx3?_6dmzQ~5MO z)0T|c21|Tr@W4U2N4Q_^5$;d_uRc!qr4Npe)4l0~oly#r^< z?dh`K*JOFwG?^v0!_sZ(vfkHbdFFIwrMJP-t?9Df*JOFwG?^v0!qP42gX810Ii1-j zB&K97#Q!E{tf4j|PdBGC`-H@lwlpcD9oCK0P3g=&Au**b@&Cygtlb1lo6?zmLSjNo zQ!=CvV>iLl#&l+%keI1|nLf0%5teRDXZ8t+vAWa##^Q~zv>~0@CnSa~O?Rvmf@e7Y z?V2{g(hcd%J|Qtyv+Qza341rdQc*gyPe@Ez3z;QFuylPovrkA&=5%GH*Td3v>C8SM zF=f-RDqK=pOBc$mP$&`gQaU>X?;4gPe@G3GzpC2DlPHVuyj>AvrkA&=~N~EU!b|W3YM-+XZ8t+DVZ{X z5pks@{{JgsX=P1Ww`1-B%E!iE4ohp&nSDZHSaaUrSYe$tu(Udz*(W5%t~2#F)>gyPW$Da5Au-mH zUCuv%#miu6RXVdzNQ|}cSIY&kz6zFBrZfA5#ALRxuuRTY!qSR#W}lFll9m>gv0&p@ zz|y7Z%swG8Rx^Roq9K>1OJQkwIC8SMF{LeCTq1oKyBL-(N@w;sf)K;HmmDB|lQFfm z&C3g6X-+z`M;ib!uC~jUm$E$vmM%zV_6dn`Q~woT088hmGy8C8SM zG3);#wY!!=Sel;B>~UX*7*{*wYs=W54olP0nSDZH!qk6F(_m?8It`HKxGQWct4W*3W^Zv(uSNoSh9z6VjP|LSiHslQ~^k>3CQ=E1lUVB*v!M^f!4s3zo*EGy8sTER9NM_6dn8sej;qqhM)d zI~G{hV@ZONFCurwl_*(W5Xr2c{bjew)83MCTZh5Y8R^VEAu(kwm6Y5X*gXT5 zPETj{35l`kZp)Yx8_T+J8k)}R6B1)}Z~q%hLt$x1IL3nSDZHtmfY>2f@<7bY`EBn7^}N;|IdhfOKY`kQl4^cgq3%y^jB*OW=Lq zEWCs2$@>xZozAk$R(PwmCEna_ff4!5Fm}Ho-Y{r@CBLWJ7(Q2in*_G_9s80t4lDJa zV||+^!D@5ZJOS?}94A)zO@W*;`bXn!j*>QOAXOuIXSJl9-)yZ=MmN-{lp!t#*&!w5 z)$lJW@4{Bcn=e)I<~zSX8(JxkH)5;comrj@z&Zo?tKcC%@;5qvmHw~d*mf2I&ve9d z3|QR?V1D6>=QQBgHm#hOoOhnDhXcRG`%i+Ko@eQC|NoQp2SbO~iSH}vy4fbn@I5l@ zC!Q~f=Sku@ns|mL!d@aACxmx`!foW)hK@$y8HRYKA)ZC3Cc<$DIS927Y9rYE)^V8E zm5ad3{}=vW8SpWX6F3?-aqO%dyc9cm^4RG)XOF~-d;F?DjT<>*e7gI?P;FncP1p zKfDRalM{}b$bKI`*Y_*|fy&8i)Cs9fPGZSweN{ z%);?9U1|6xGtVB5%#E2ndE}%CqwP!8SjX(y1^%p%1%AdG_%pebGEaY%o{zS_PEG$H z{p=ZI3$gN1BQZ<5Uxa?{eCt6hzoI&wus%#?iCK)s_>(Hjd$lqlL5?3a1#hSNQMKz9 z)<%-Cm?gJx0#DQo1({nFZ_UaZym-TR2L z7oOlRo8}Ja*sp6o=9uc&xm(j<>H;^BQ;2n9bueQuzX>1cVK#6+%Xn&NWWP>~WNz*m zn4KEaxs-Lmo5Ywwi*4}KtC;BEtjQ%N?)2v#lUIpr4=ZKDPakN=wC6d&E6x5iqdbuT z7h~%4tn94_TfXo^B`nV)o(wf8ix8WRch z;LP!px54bCyzj-C$5WkuyqXgl#c~=Qa1EU^ zna^o-LaYv6hprV&c$HI7&?Ud)fPt8NtDsv>y?SoMS7Wg?W7$2+SpRT=R zPHfB|BHt@$J8A-^fi0ohbbR|@($tBwPmy_<+Xl0;7jo2u$(XhP6QRSNOeRss&reRr zfdhK;%wCvFtaFcn$^2w2=5OU7d|iR({O>h$(kQ&^E!z>KDJU4&xkvX-oeTUDDv)ER zOq`Tu<~Up61rklz2X%tuFIYJa0$w4p*q<+6j!6h`w2mEzLabX@P{4CTw3`H>uA8O) z+xj`pC3be{*g%fAgG(gJsZGP`jwYO?Fv*8tspw|2G6-1|?2!{P?GV^%I%OiRVST>E zbq9g|ot3>{Kjt#{S5~%PM~t2_6*H#Kp6bv2QuG6^HwYsUQbFMVeGo8RJ)d#orjNz6 zvVH>85t!5E$E<7)34}gDn1y94gq(Iclmo3wzv9~Riy!)6NkL$FGceCQGKpuXp`1B$ z@PosW5BD-Im>D2P&+!~omwa;ZiCceC{SNY<|BZ$axvf9BzB^6I|2_R|NuPIUx$Gi@ zEr(!!Lo7MGd>EDpl`8q62+P7C?8I^eLX{)SW!JA(E_;5}a@l*a^p5ZY%fAEj#E1o` zC`K1ZWz+@}5lESCLHtyN{Rq{oW8DbVk1Chl4gb%mJLaqz&>N1@NkKLpVJyOsAgsc2 zHtq}C`ZFH1M}W?7yH?$xhaQV^Zd4z?_YkGFoPBz|1=`-2!2v2IPC) zapkh7AOTyX z|DoPLwfEnwfBKXuGk9VP%)KceVc?VRvSyf*6rl*=W`r#W4Sy#Dca8 zt~PR=%2+G5$;oZt*l!q%mHgl4FIEt&@6`wVGT8ZGx$K>9h2_EbAlA9evS-($91(2% zftLKOV;jfJeG0Cd@BYca{K;f1W-gtN1vc^kOaAn-jdIz_7FjsJ@^UA=%T_&QA;XgM z%7Obrik4?(^L>Afc9=&O%LenavbkTSXbI+J!LrXn%*ldfV-yhgp>V$g_cO5L{+&0m zkGSmi!yxxTaGwPCKWw=e^YLT36ie=-Xn?@|6ui;+Ox%{vD~xl!1qH? z$>@+?`T^~dg5!mi-@|r&i|{AHp_gW5*Fo=|!kGw@5#}PSK)4R!PJ|r@FCe^! z@GZih2#2mfdW5D3?Gbt*oQW_QVJ^Z7gzFIQMA(7w0>XO;-y-~paOg^;M`()B9-$Y) znFx~+<|3>>xDMe?gdGSkAiRh0EyAA&hps|;gr*4X5qcqk#fl;BDtJ z#k|*5W-a#n!q7CKqRX=67`2QUBQejP@A9xn`G`3VLtf_aBM$%Qa0{#~h5zj4I{d7| zd~Bpd1N~4qSS;r`Jl5fP4qxr?!w&!8@R2wWt<6&$9_#RI@PZ%@s~x`8VUFGq=sa-% zxvR6!(fQfo%30yMT>S%aqd@=6`fnH z8O`&pBF_=|cdWm`qW24~43!f;Q5{ zlkok*orRwlP6~f2oG<)`a2Met(1D$jxolD9!rerEs&IGVk;1)%HwyO^enhyR@cY93 zg?|R_3qCo+7!G&z9=!lB^YzXisk#ny((Jn{lP+TbOG1*htPjChv4y5pmhuv&p z|2TP0*x$e9(TSgu*@kgk3H#;$kg(r_@|*Aou~QxSOJP1(>ulcmzvbr8;q9`{%6mxK zt|C5Pc)Re*Kz|3;bEC*@%Ft$Up!3EyL%#=XwXFT4Ds$d^H(1y|Pp3HY7jUspVOCvs zp9}l?r=yXO@{#sB+@)G5pX%@?ho5)2=@Fs+g$^%6<0D12aK$0oBpj>^3!DGO0+d6%-e5ZUe{V2SBIloPl2to>+S2vU#gv1rz)!clsuur9N)r?#ms5K zO@zk_A8*a;b}fUP^I)A_@6Dp$NyO!HeVvB*n;S4kv~igK+q5nZgieYDfwMYE9Qvt1 zcDC?Y^3R?}{D;q@#{(T+*t9M$K-vWmJbfbW+Z~&(PDfk2YZXmo& z*x#o`!p%i~zp#J(eO|be$UheDD*U@}58-Msm%^Oi?3xG<7Va!OTKII~Ny3G~g~H2) zX9#Z+_OC&<&b$WuaJ$I6h|Vj*{&n^n;WI_fKeo(myU0dZdAWw1&nrZHwD3CNX2Mqr zCxv$ipCSCH@O0sw!pnpo6D|_oCH$c9lfo|xKPCK?@YBLsjW`d_2-gHJ0Bx#Gln7WN z@MH6A+l{5=wtPyW>!rD3PrfK3n*8VPAJKPKlI{^c$G%v*Y9HaUbQ^+N{)+^*4Jq z%F5e8z90}DC~f~hr%gqo364G|vv%CHOJrU9#cGl8&%zG{Y1iGAMQ?~)#5AB;xGj+m zA#<#?-v)Ahx*GLe!^kiq*SoZQ4TLcHErczI{XSQjaJUdY(7){Gna|0vm840(91Xi zeUc9e*PvAUa@pSq*P^@*<+AJGR<<7c2a3T%g&WX_ymHyAg&R{b_#xq@G@@g<><@&S zQ4#o19OCu(yBeMF{Vidf&`ErAOt=%Jz-xtj)0X?nWp5JhOZS2w5$;FZz|Vnm@qG{O zTjTsE!Kj+WCGnk(kk4^=VsMtT{-mI0VxFw6_#}Ga^3=}M;L5`~h4^}o?~-^&f1L76 zywPms=hABB*;J%_KE@&YE{Sh~+*yj>!?vW5=U;+8)t!j9`7Z`r{ao-CgwJH#=Te{5 zcH8HweiCo~+O$bntpt5`Nqm6>w?pERI5YfK0LvE!Jub|P@Wl|Tb5YPs!ScoUa*35M z33?Iyv1#W){2$5B#k3pwiJ=}ZqGi(8%qfy|v6G)m9A4q@N++MIWQ?4j_A+OGt-<$K ze3zuPbgJ?dL93J3<@1rqLke#_{*LmjCA|EAWouhHT((@}HimvK-eAgIW6Sm`>1*fJ zCGj=M2m@S_u8}@>pV!OyK4!LqW;=BdJJ(YZcKkBA&MA}Yooz32_(q2}I_0p*DTkY# za@g#Y!>#(grzG8mFAw_8vR@`ePMO?rz%sFEd0WOH^ptJcLYuKIqrpXVm$NNfoIKy{ z@KzZ+$+<}4>xQ)%;F9?MW)mN!teS!+i~Vi%rk43O8As~tKj`oy4)4%1PvUEyCj>T= z^q5m7PvC1ZzDv?Be5J4itEbqpVW%*h1uV9?#=jcI|@1ZA^pQjg;U%+=m zeV3#c=||^fq5L{^Repo|D!)m?l;0wI^-JO_kr%7{9a^Ql zkFHRDm(ZmoE{SiPKBQbs{H%ao65l=Dqx=!Qru;Fzsr(6jq5LWRqWn1>=2<&mP<7=m z=~(5jsJ`;o)K2+Z>ZbfJTBy9AZc_eIGnAW{ z^OcXs_gSr-rsj6#CT6R0bF*E!h1sioq6yEqs!ngyPPwm1D)%!zl>3{$$^*?X=Jk%^! zKHc1)e1^GCd6;=pdAQl5TwvZ)9$~&y9%-s&+43K4YABB}&6LNQ4$9+959PB=KjjH# znDW_Xn({<5M|qN2r99a@pghGqtvuB{uRP7Xs$6Jlmb3YsVd^NKXPPL_Hs>p!Z{{gq zXi~~^%`)YAX1(%UbDMI?Y*(Ido-D=lrQY)lxAB$>M-12DR|#hsuETE@E@!w7-x~1O z;Ozl_4&E(X-h2#xMYw|b2+Ui#6M^f%eIl=9_BryAkh3dB;QHY!(P-qZ#w$6 z9$|f4T8{IQYE2)HKFA z*d=L&Y33t%rO8uXWeSupGgFjTn|aD>%v$Bk&27qS%`W9D%$v&VOtJEn=3mNJnO~Hz zHenm-8gq!&UF!|Hh{Pr7T64Veb*7#2^`@tC5x#wG^*1>6?TzL~qWq)@+fGlLpH#lv{73m& zlcn|5b58yIyosy)MN?IIuQ^)zWz$&s71K=lHPcf0b;ILF*d^%=(@*(LGg$d8Gg%tqx84UawX*Y%NkSossPOZijttnz2(E#)uFJIY_0k4tfN zoWCi$Na`iO-dHU4l3!mfk$S0t=qxpRP(S!>&Shpd*srganO)%CqO;8Gbm|b>9xF!1 z?RvT1_!M~<4E9i(Qg( zy@o!5>w11KHOuQcd8n^>NKylDmg+b3!uyLx-jynE;)VAY$9vrW#x6-sy{CNypWuD0 z+|2t`xw(g7FXEEa!aGc_5hr@hm797P#ueza^2R8)_9iQz>|L(h#tW}Ir+D|Pysa1B z%eVK!d-)FDJF3&s`&hZN_o;Hy`>GWCb=R?SEctD!njW{W_~cH}aUQp?{JJa0!2V%Kn@e52IUDW1?&9q0uFn4L=J09GzV6}d>z>ZO?&a+3-p;=6 zV zeJ$J3UQ&6C=Reut{ET(>`#3LbtBm(%tNsLUsq#5q*yl6J3-1{xJI9I7{(kHx`_bQD z-DN*=R(B$}`^z3&+|5^JmuZ4Jl}gNO`{lXvfaPiRxjebT=_=)Un^%1^zDo-( zqFbdt86I$W?Y_+^&)Xfo!{IxfdS(j`uMvlKyVqO!9;ZC-cj}f0oMUyHccJP(=v}J( zkaw-}!`>ar+r6-zv%}l1@<+X}Z+WNpj>@0#zEa-hl=D+gc|PqNt3LZ>d;0;));(5Z zI9A7_3>#op_Z+}`;?FK`($0+=piS?u?tq}uQ6 z*zf1q@9)?jAn#9bR+A_buHSt7eM{J{2Knb=e=rSG`-2?&gB|-r9Q#8Z`#$^j2bHm( zg@;tR_=3p{wLikKKhm*3+Oa=I=BDuT@3U`zL<#%Vp>QN5B7kX*srq`_0E7 ztO9=m9m~xjYm2}x4_!IVP?~uhh}Ge-AC~Qyv3@v^+_cxpdPj-PH-z~vB^-x&%XYkHHH^2b zw#e%V*AZ?jj6#L$BaEF1H&(cw@cF|2)#Wl_zg2Xz@bRMah%g`dL@x`s6aHMdlklIy zU4^R+=lt{#K3=%5aA)Dc!b62e3r`UqFT6;2lJI(Azh!W*@C=df5k6m-#~gAQ@|aAw z+&&bYD@5mK;dR1?VCYhct`x2%?6)Km!jFo)xA0Ekal(%YUnsmw_zK}Ch3^u6N_e-h ze<${V@G~N}<0=QEczIkU=b0UkrDW!JaQ-9u{(iCB#pCmT%kgz&OmzY0-`^Kag3 z>LPrq@JeC7%vrEOq!_2+toJ6-`BY*a75-BAZQ*Z&6k*yQMed6?jo>`^j>jU}ZE?%L z@krL$>;-C?2OfWzNuS3!v7E;^4Mp0V;0kn>*zu1^zP{VEcD&ysgA5%qD$LI!hi?(i zl`K5w$ZO-UO9dGl>hKK?zwL0fF`@ps4yVS3@=qOpeq1Q$)ocjX#p9hG5BS`(c-+w# zDn7Mb_O-%`$?H)r`%&RF^f zG;l68HGCah04|~iCL3{=1SsQgb;tnBtxlG9d?comGVl%y;#93N8N zYp?POURUL8ua9!ndt4d)fxMI8k{FHAOSzIaK)I^J)x5J+ezdnj`55nhW zm5=j^m1{X%$IFV?JT&*pE4T2fD4*zs&js3eIVx}KHB@fr^;hoX6(}dY@yhw$6y>fS zzhlZSiP0oCDxcVuhBfLE2QC`0CIbL7oN!~!^ z$=-0~Dc&gMsoognY2F0o>E2Z3LT`rhOfRK;uD4WqwiiCbJ>LtT+g|9stU7bOca&4! zC(28_UzL}7Y2}MO57$O^+}Dw%yxOazyvD1ce7TpSywTVQ-H;$k@)fq{Blts8T6>~OnO!MT>4ab7F7=_L>}jvqdbS|D$k|9%8O}`@-iBsd@)T@UQSmj zucRX7Rdk2)YI;j~Efp(YLEk7}Nk_@mg7@z=l%u?!j#s{phAQ7cBa}DLB;}2CmGaG0 zq`a9PRlb$JQoe)sE8j_nMeY9DLZ>L-M|sNk(_rNXXrl5qnydUEtx$fL9#Y;xJCz@$ zCzT(gXO(x+Ugan02j!>eSLJ7@ZgAmDVuT;Rr^}AV^$k>hiOx{oM3XXq&N1($~~k`6ue8{4>o^{*~q{|3+(-|3gYnh9c z>zI|w^~~kU_02Zr2Idjv#^wv>jFBRT+B~0bnkWx5&6NvGE9H@< zyYhI`NBJBxP=6&TWO-0y@uHdz7y?dzFifSJ~RU!L(A|U=m>4KF@yGUW1F>L=e_C5FL+CpU-VWh@AY;nzvR8H{Hnw6dS9vheeY-GVlN&%U{2Bp zUIXQiyjIGec=^iTczu-r<(;nloi{@H2XCVCPu?Qs-@Fyde|T3a|LJX2PJ26*DY8%b zPcJvP8NhhdNHb+GGF&+l*`S;ic}%%{gx`br%e+G58|7%^L4k91M480n*YNMx$= zVUd(_<;Z&FDv^hk50C6qt{OR%JA&boR4r0f`A~IlNh$vK1fo2eZ{)V=Y~}@qo4s*xiWbUvo1=v@EXHo<0pgj=yK_=m?QFaChtG#^mW2lnzrDr!dIC};75fwn*{hJ;XBMp;P-^@ zHO;_WiaQaw3Gk)J-!x4e`Mr?;Eb@rg0P?JJIR9B*uA{^E<41`++skp}_P)CqHg>2^ zw1kemA7`DG!96mwy$5G5hP;v3zpq4Edr!nVd|z{t=oFHhH+w(AI>(}I@9W%GLdUkH zS?5u-X*-CWJtel$UTau~uN{6_{Uka)MgM0hpVNhZ@wg1f1YE-@6Rzi{i@bcKx+CYh z_d=0Zj#PEzw*KVx+Pab1)_crc*ZFxKULvinLs-Yw3C#9b%>}QL%Z#;E*0bD{G6+V8~qUxsk2pnnbuKjiSkCI>Qh zN!o7e`v`u->Fe8JTC4m~lc&7X$@Al;kIJ7gg9GNg;n61TmApM=dOU9P_N3(PGs)+Z z(vSCRz(I2fd3eex+ov7gZGz?`be=JtbiL0y?}qF#Jyia@!DA0`xG!`1=w38iRle73 zQ-0ZOSANAj5ioDdQwY(Ce4M;)sy>mGT?1T%x1NGqRpjS&C!cRP{FcLSn}%xt9dm;6 zyH5V!GkDA(4)0zGH^jP97~^`Nae7vt^Em?HM9Jp|W`^do*vaPyPJTXg_#@r#Y^Mc6 z7qRoH*$g|QWP3jmJLd*m5jyOW^r>U#Gl#!)_$w1!BB1}ZN%%>@-#Ft!zcr_+{9k5_ z@_sW*`QOgi^6#8?e7-l=sLl`O_ENkMc}~%1Qihibe=gS@R@;ey>Qh`Xer;MVhdUA0 zK|hy%HbZu0W#0}iqMxK3wgp@fI_#3rv38Pp+b!fjOmKSvoj(oRWtYTs6>WS38*iX; z#KR>=9QX0gRW9$Plq-0bD@UC%IWcEkQ$>&S&kmy~oH0&^dAofvW)Qtyiw+h3_#n@OG=b zk@taeWA9hxCf*^zb(6a(nN4Wt5?EM=yNeu#;C=8cA%YvsX_!>4onl<$JwU-o=}s z+|}W3-uWu`*}vBRBFFrbI95~iYnfx-KNmX5_)OlGod`BR#bCQGW^131-#J*<%dnYC zr+KeFZO@BSo$;BcIb)@II^5UceqLCg_jkqy4{*k64)i)=ee8I=Wj`Om!#%8CT$0Xo z&Wi%?3YCxWZdD%ToEM|Lohl#WjMW_LeW~)P-q*_0yevK5raQ-fq1RO9GrbPVv%LPw zv%T;=-1D7t;R0`l>df(YK2CN?y3o5+d9JrXd7d+NH|24A($}BwJ*B+R8OOWGdqL$F zd9RdW|9I#rXSh1HMam zKkWrS3Qkc?+1l5^IfTjI;68QuXVJ+K`QcO8ejW4p$a2};g-G0e*R%bQrEZ__TZbPuV4)RpMAA)m{i`$>c%Kj0& z2=c99j>cGYy*A-pQHL8i^D{I=dfz4S?I~nMToT`{3a_(GC@+w+ZYP94WW6WQeyq#C zrZ**C>EToP8rRfz-y#nuIO}cZaB~W7Nukq%Y6bR__$pUB<&&H_B3e1`*SE$8JA8+F z6;D4bpDf$Y|B}>(maE+7@jcuK6Z0l@eJ7>Gv zJKVvUS0OK$Ig<0%5hE6T$Lq>R=q&3xt-@}si_eQiki7(Ett6dR0k>A-lGH=k?(0ye z8?lZ}`=+KHT%nSt9a`Zi<$?-zlt)x(qCBcXE9KD@a5##?xbX_zmB&>G>(cQR!glh6 z3S(7gVg-BbVxE%1r#ymwR~|_EUkLX{~F*FM^&JeM9J)vb^7-_g z@&fY8Svw1nW{#9Yt|1^6g(wJP)+bMO0mR z12tB@kp?Mmq#4Sa=u+jI=}P5WXp{17#PdV@_V1tvl<%hP%3J9P<$LH&<$LKf<@@Ou z<*oD|W!#OUpUSuYAZ05*M3t2vrW(rIsh08%YOMSyov6H%@{}K=e#(zK&(oivAu4~G zCMrKevy`8udCJexGUeTLi}EvcxAL=ezw#d1sr)?cR(^r@D(|Ham0zOIm0zZ`@+*`r zH6R~LuTd4{*QvVl8+5GlTU1|pA2m^ams%>nM{SggshjeL)LZ!@8lwC$jR)K76n`_# z-(T@)_}u@{=mn}@Il4f(M)XqUW24t7*NkpfZV%bCl=v_P3>Lw7PP)Xieo)qYadMM2}bQ6CI*FJUU9b zAR3NI7!h5m@{!TYmB&V}R2~<-L3w<1tMbI?HsvYNXOyQ!!|@5zqpz#HFuG6q-00`Z zv!j11Ul1)9v)el-8dttB%44(ra+nvbuAGVN@*ECO6McIu7306%kIZ(vm~H-Z!L6|^@4`+lt%=fW_BdY?4T=!w;N=dl zjRucQA-^gb_IF(!Z4O)PFfT#0qmSV0qdk;2Mr}V{k~T%htNivTRxb|oVntKR_eEDJ z-ybbfzAt*K^0w#}60sm|}waL$B3qTw7W>ZTs-!n$}7ggxfBkK9inZpO0i>OpHF?vXcSpv8CJ**|b%&2} z_}Ew+>DeXexER}Fm!xB3qkII{j*V5W6Pr+q{rajpzt$GiS4YKyB9}6;c_>D_P0Q=y z^K_}?xkYR}@_Ylhh>nj1mmsXSh1$VAvcoMMZWXHqJM3^@9Bb?&_~cmFSM2jcu%8Dz zUZArROPkMPu+`_hwMBSN@|KLfiM;vqIkcC&y(9T-AFBu*c6k3T7S?b1j=Wo}imw8l zQ)A(MXwO)9@7XKXQg!;odMWphouND+cDC}M*c|1-u|>*5V#}4!h~20>EVfm7c;>g9vDcKx#@;E#{`IK6>|l75E5V<&^olSa>ggRV=)hzdE)_^{+zhiO45MCFx_QUi!r0Ph*u?0WL|O#p?P9{+vHs zBrZu`#5x4b_PKnn7yIAGw!r?wQV!opIr#mJ-#GQm_f9$d;P6il{~S9au#abLu^P(1 zIr}B;)I}8Ur#dDc)|YaqD0575l41m_&)dElVYh61 z<#=*mR`$oT?G@uv$cRf)<+!b9l2pav!{c1%u*2A}_@O?6kBEnLZ}oT`l^+$ibxx9w ziMLmIjd;(1IX}G-zLos6h+nSxX(aja_e&#Zy)EKg*RjJj%i)&su>4!aYx*kCX&-N( z+%Y~fU|#PygzQ4D>rRXRuItTr%HcF;+j}_N)5%Zocz7-hbk;j4USHQcB;H*4^my18 zeMa2Y4|skQ@2fgz#)l~vl*sdF$m>X+&yJ6HH!HgxxQNC`o=*)p+(&0Sc|OPCNe)ko zH`8?$##<}TaPl@&_g9k6i`(-Q^I*hndjoZTJbWg8etd!2xgdUt@|^fO>vN<#7o!7oV*yp>hpf*dU&vu;mUa8y{znMQf?PJ z`+cQTKC2wQ%;C$O<7#a@tZ#kxpJT2%V1BGV=jT*}`I4U-;){@c8ojc+ql()nuDsPQnqa+upxN*c5l~qiwxZ413ll zm*G= zKfg|{7}k^RE86@dse{9L6_0i790xWtIB(r6ZiJoc;3DcQc6^(iD~9{GyJM%X!~H7S z{m6OaI<}73JiX#>wK>qq+v!f)GaMdPv6_>&Bf$x=^9dEhj(x82DVWug^ojHA=~IV4 zqj+Ek*ID9iWQXf4HS|%+uraug*#DX;7F(NN>wN+4mmU6=4hhmGF>f&EjU8_eWSO@dDIeGiu;UApmfIs4Cr0e>imJ3@~!@# zmZcN4a4vtBemR5-wL}d)_1mThchcI!5_a>h@#b~qv97&#kw zX6rKDPyi;)JO% zGaP$xio+~_oDINDcjQYQzS-d?9p*H4T?gV1{*U@4?3~Nxu_y{>jZ0K{amT{{IqqQF%0$OTMxdx zK843&1LwOQ4ds~ebsFgyLLP&$m4$FgYJx8V_%2DuV^PN`A3$Wx#ewH6~nZ(&&L># zaf+PBW!{RCAKS8R<<$AD9ZsOseaC6}zM!t8J%z>~t$!V9<6K8hp;(}wL@!my9pwAe z9F?Se=i3ckoa;+hvVB~5kDKz;PIt_@}^nh}2nIDM% zCh;|wmsCE0!uot5Mko0$NrN38LLaL9bi9#ib=57VfL@^t5W3WfSj0sdyqFx8n!la%pH zU->)=$4Sm|#x2aIJ5=X<+M|2{y`(&c_AAe$iV>T)6y++h0+p^hqFO2d_x z(KzLcDV&e}61q_3ct2YCQre)rf^Jh@N#T6#tLO!lUq(MEuW`mmtaZjnTtO#g*=<=z z-IcGRUdmU~Q04VhsC+G5qI?|{DHqZ0$~VxX${T2x@{RPn@_DRLN6)bORp&3NB>g3-x;5-w|-R)~zx4-Sw?e93(*?kUw^=I(4OtzV(msQ7@Hnd+z!ZGkC zn0Hm)%$Ya7xj9Vh(i2T1<&#WT<(8(8ax3Ti8VR#hetGQqKR1=PEJI%bP@*d_} z<(}pctuuR@!<74(unzBUj#Bvm6OL^gWE!Y^uxX||#I#W!YPu_*Zu%;pVTLLXH)klH zX@)BonDNRZ%z4VA%wpxyX1VehbA$3&vsrnZxlj2lvrTz|*{yuG`AGR3^Q-bi6OL`0 zWRBK)dx~kQJk2DOr<=B=_-?7|_DLPPJz(w!^Xt!drETnwfq##?d0*;Sf4==< zsbjwud9l>7KL~#ybu3pGI}zNrw9P{<lXA1a&qUFP#`&0PG zJ{+?XA;>ZngRMSq%c%&*OP-IUSCO}*zp=wjoNYPY*_Nixww&N>OEYI%nmgO#v%f8k|M9jwAlq^hZO69w z`{G2|7JpxyDBI$f)k#jCTRPmz(P>RpSs9MsFF3_VoL`uy6yXI~*D3Tn)>SO!Q}UkF z9`k%p8gj|^0>WdvqqD9~R4-T;&uMJe%lEM1J!uyjp*r1Yta5kf+k!phoaZPW)4ob| zdeM62e$xNx>-47`Djz^^Di3n{83xmSl@AGKU1j@2<(ar|XBc`weI-02Loa4Y_V=mZ zM&+2D2)2BR!B(HknfoojmU13JRe#LN{!_}iK=vu3vEC7yHc2BL9_8%EF{tf)m&DzB zZRPQ@FZnNjzqOUhCpyRH6sOO5YVf6B)}MyEYTxm9TE{5Qp!1c_b=s5X;p?Ej zA$vC0)$?d0w#%>g=E`>ELS963CI5+l!}G4>w^nVr@wZm11ort`t6{(BLg(9*7s+#5 zR^#uhhR?5;5H3IBFc&?oQNGwYPL|WFD!)|Q^Z2e4h3(sw^rz~q((w{W^lH`9V_*%n zRlc11E3c)qmDf4nn!FM-J@`g39+JW_e%I>z6kMLyK_@BYSwzX7v$D^Wa=Tv2(=Ws8 zo#Ua%IZkeHcmsOZ?7D7r%5bCeP2Np7%B;>!gw=@SJY0Zqw&dY<+KD{)_0Mfi{d1d> zhufX?-r?|F4sUVx>D`ngYvO%(FXbuUFJs2|Z<4k-=lH`;pW$|S*5>Ox;+)Gnoc^Up zo$rS}M&Y+49;YT+{!idbeg2C1+oqkBpQZ45!E-cP<$I`5`FUEb{G#)n(7nz+_1XV^ z?j2I+&qjHsFn6~*CdwZ3#mI_19=QDZJ;!BI{;$xOUu|9SvQt;Q;*{;H4!`d3o6a%t z7IpDA7iIglQ{TQLbAfYI5@*6()p^$`|M#?yJ4u+6O?8U#HCo?c9wdB4*7AqW{pLqH zz6;}L@U+e9e1a!nmOs^c660rrw-q@*Upo8iD`$UwP2qjzH_mrmzop5#U;ahmcR==I z<`uiHe^dCL^>?&Z<=@k7%0FP%2dn=hW?!)U6NUGcKjSM&R{opwe$(%GbKT1SpktK( z)cH*K9z3aXGX0f}8LRA>$;uJ4L^;b`pUgmShC$Js{Bdn%8a&z0lm zJLN-7_%799&bP@bIo~6zY??&uHdb-IL3X$a-^;FQ!hXnVW{m0|VJ=WU(p;)s-CVDH zl-aC&wAreBj0xY*s%dy0cXk-R>U<-zjtS=`_4!6Q?_ND%yUXhHdG{J@-YMr@L(}#T zd*1nT2>a`5=sdq``BW1VwzZm>Mw}2XNzF~tM{o<7%fgqpG-FiW%1l*mZRRK^ z%tgwlIM4Drn9Eh3r*l5=wp@$wlx#~Evk%+i*Wvl{EZA>D<~w=r;%rM-hfj6*G-v*n z9?o1SJbCSwOnU2ci%tgxM zo$nq_G(V_(vhy9o>1K?ccQc*u5}s?;s(hC7{lN>&mnxrQep9~Cgk$69nq&36z`TOW zDU+u>-}$bq&;B{mRh|XEBj-yudG`HT!0tOH?lmhJ*yQ7_3;26E-WHi$Q!Y5({O@o2 z$J;{Zcv~d%R`D)K;(LEV*DrXf!^=z#E5PAfLMFWDy~LTvX1N*dt3c;c=eu|-%yN~l zbk31ghR+LjXv>-K`nB4b>t>C4(pQ1b&NqnfHOp0gpL0y!Z?>xZLFan$i1Ur$N1gu3C!BiwNfW+T`;2LlJi zCfVvv1bciIgRPxhaC6v<;wCAV-Zn$ZmkaKF-jX`jZ@0fC$GqQef6IjTK5skq>bnlV z?{KjR?}I*Y#)o`pxUY#F+Ek{ukKj*Ccpvns3GahGbL!hK%$2JDrP-+bwYf$4TjyN( z-l-*Z*@1Ng5I_I3{Jh$_l=RCLbJfm&>?{oUP>~nG1rr!X3rnKo% z@xqL6(<5VUHfoz5DZk;UZF*#!wCPdiEtg{r{Coo+Z+@Hdgg9B-o){->I?w!O*2!_w zrl*+Saho3}W9X^zZK3T>i<35ek@?-R)8hvN&%*e~AgeRXn?+~F$(raa^G^OE^ILn1 z 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 diff --git a/extra/config/zconf.tab.c b/extra/config/zconf.tab.c deleted file mode 100644 index da46314d8..000000000 --- a/extra/config/zconf.tab.c +++ /dev/null @@ -1,1866 +0,0 @@ -/* A Bison parser, made from zconf.y - by GNU bison 1.35. */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define yyparse zconfparse -#define yylex zconflex -#define yyerror zconferror -#define yylval zconflval -#define yychar zconfchar -#define yydebug zconfdebug -#define yynerrs zconfnerrs -# define T_MAINMENU 257 -# define T_MENU 258 -# define T_ENDMENU 259 -# define T_SOURCE 260 -# define T_CHOICE 261 -# define T_ENDCHOICE 262 -# define T_COMMENT 263 -# define T_CONFIG 264 -# define T_HELP 265 -# define T_HELPTEXT 266 -# define T_IF 267 -# define T_ENDIF 268 -# define T_DEPENDS 269 -# define T_REQUIRES 270 -# define T_OPTIONAL 271 -# define T_PROMPT 272 -# define T_DEFAULT 273 -# define T_TRISTATE 274 -# define T_BOOLEAN 275 -# define T_INT 276 -# define T_HEX 277 -# define T_WORD 278 -# define T_STRING 279 -# define T_UNEQUAL 280 -# define T_EOF 281 -# define T_EOL 282 -# define T_CLOSE_PAREN 283 -# define T_OPEN_PAREN 284 -# define T_ON 285 -# define T_OR 286 -# define T_AND 287 -# define T_EQUAL 288 -# define T_NOT 289 - -#line 1 "zconf.y" - -/* - * Copyright (C) 2002 Roman Zippel - * Released under the terms of the GNU GPL v2.0. - */ - -#include -#include -#include -#include -#include -#include - -#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) - -#define PRINTD 0x0001 -#define DEBUG_PARSE 0x0002 - -int cdebug = PRINTD; - -extern int zconflex(void); -static void zconfprint(const char *err, ...); -static void zconferror(const char *err); -static bool zconf_endtoken(int token, int starttoken, int endtoken); - -struct symbol *symbol_hash[257]; - -#define YYERROR_VERBOSE - -#line 32 "zconf.y" -#ifndef YYSTYPE -typedef union -{ - int token; - char *string; - struct symbol *symbol; - struct expr *expr; - struct menu *menu; -} yystype; -# define YYSTYPE yystype -# define YYSTYPE_IS_TRIVIAL 1 -#endif -#line 83 "zconf.y" - -#define LKC_DIRECT_LINK -#include "lkc.h" -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif - - - -#define YYFINAL 145 -#define YYFLAG -32768 -#define YYNTBASE 36 - -/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ -#define YYTRANSLATE(x) ((unsigned)(x) <= 289 ? yytranslate[x] : 74) - -/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ -static const char yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 -}; - -#if YYDEBUG -static const short yyprhs[] = -{ - 0, 0, 1, 4, 6, 8, 10, 14, 16, 18, - 20, 23, 25, 27, 29, 31, 33, 36, 40, 41, - 45, 49, 52, 55, 58, 61, 64, 67, 70, 74, - 78, 80, 84, 86, 91, 94, 95, 99, 103, 106, - 109, 113, 115, 118, 119, 122, 125, 127, 133, 137, - 138, 141, 144, 147, 150, 154, 156, 161, 164, 165, - 168, 171, 174, 178, 181, 184, 187, 191, 194, 197, - 198, 202, 205, 209, 212, 215, 216, 218, 222, 224, - 226, 228, 230, 232, 234, 236, 237, 240, 242, 246, - 250, 254, 257, 261, 265, 267 -}; -static const short yyrhs[] = -{ - -1, 36, 37, 0, 38, 0, 46, 0, 57, 0, - 3, 68, 70, 0, 5, 0, 14, 0, 8, 0, - 1, 70, 0, 52, 0, 62, 0, 40, 0, 60, - 0, 70, 0, 10, 24, 0, 39, 28, 41, 0, - 0, 41, 42, 28, 0, 41, 66, 28, 0, 41, - 64, 0, 41, 28, 0, 20, 67, 0, 21, 67, - 0, 22, 67, 0, 23, 67, 0, 25, 67, 0, - 18, 68, 71, 0, 19, 73, 71, 0, 7, 0, - 43, 28, 47, 0, 69, 0, 44, 49, 45, 28, - 0, 44, 49, 0, 0, 47, 48, 28, 0, 47, - 66, 28, 0, 47, 64, 0, 47, 28, 0, 18, - 68, 71, 0, 17, 0, 19, 73, 0, 0, 49, - 38, 0, 13, 72, 0, 69, 0, 50, 28, 53, - 51, 28, 0, 50, 28, 53, 0, 0, 53, 38, - 0, 53, 57, 0, 53, 46, 0, 4, 68, 0, - 54, 28, 65, 0, 69, 0, 55, 58, 56, 28, - 0, 55, 58, 0, 0, 58, 38, 0, 58, 57, - 0, 58, 46, 0, 58, 1, 28, 0, 6, 68, - 0, 59, 28, 0, 9, 68, 0, 61, 28, 65, - 0, 11, 28, 0, 63, 12, 0, 0, 65, 66, - 28, 0, 65, 28, 0, 15, 31, 72, 0, 15, - 72, 0, 16, 72, 0, 0, 68, 0, 68, 13, - 72, 0, 24, 0, 25, 0, 5, 0, 8, 0, - 14, 0, 28, 0, 27, 0, 0, 13, 72, 0, - 73, 0, 73, 34, 73, 0, 73, 26, 73, 0, - 30, 72, 29, 0, 35, 72, 0, 72, 32, 72, - 0, 72, 33, 72, 0, 24, 0, 25, 0 -}; - -#endif - -#if YYDEBUG -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const short yyrline[] = -{ - 0, 88, 89, 92, 93, 94, 95, 96, 97, 98, - 99, 102, 104, 105, 106, 107, 113, 121, 127, 129, - 130, 131, 132, 135, 141, 147, 153, 159, 165, 171, - 179, 188, 194, 202, 204, 210, 212, 213, 214, 215, - 218, 224, 230, 237, 239, 244, 254, 262, 264, 270, - 272, 273, 274, 279, 286, 292, 300, 302, 308, 310, - 311, 312, 313, 316, 322, 329, 336, 343, 349, 356, - 357, 358, 361, 366, 371, 379, 381, 385, 390, 391, - 394, 395, 396, 399, 400, 402, 403, 406, 407, 408, - 409, 410, 411, 412, 415, 416 -}; -#endif - - -#if (YYDEBUG) || defined YYERROR_VERBOSE - -/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ -static const char *const yytname[] = -{ - "$", "error", "$undefined.", "T_MAINMENU", "T_MENU", "T_ENDMENU", - "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", - "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", "T_REQUIRES", - "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE", "T_BOOLEAN", - "T_INT", "T_HEX", "T_WORD", "T_STRING", "T_UNEQUAL", "T_EOF", "T_EOL", - "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_OR", "T_AND", "T_EQUAL", - "T_NOT", "input", "block", "common_block", "config_entry_start", - "config_stmt", "config_option_list", "config_option", "choice", - "choice_entry", "choice_end", "choice_stmt", "choice_option_list", - "choice_option", "choice_block", "if", "if_end", "if_stmt", "if_block", - "menu", "menu_entry", "menu_end", "menu_stmt", "menu_block", "source", - "source_stmt", "comment", "comment_stmt", "help_start", "help", - "depends_list", "depends", "prompt_stmt_opt", "prompt", "end", - "nl_or_eof", "if_expr", "expr", "symbol", 0 -}; -#endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const short yyr1[] = -{ - 0, 36, 36, 37, 37, 37, 37, 37, 37, 37, - 37, 38, 38, 38, 38, 38, 39, 40, 41, 41, - 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, - 43, 44, 45, 46, 46, 47, 47, 47, 47, 47, - 48, 48, 48, 49, 49, 50, 51, 52, 52, 53, - 53, 53, 53, 54, 55, 56, 57, 57, 58, 58, - 58, 58, 58, 59, 60, 61, 62, 63, 64, 65, - 65, 65, 66, 66, 66, 67, 67, 67, 68, 68, - 69, 69, 69, 70, 70, 71, 71, 72, 72, 72, - 72, 72, 72, 72, 73, 73 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const short yyr2[] = -{ - 0, 0, 2, 1, 1, 1, 3, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 2, 3, 0, 3, - 3, 2, 2, 2, 2, 2, 2, 2, 3, 3, - 1, 3, 1, 4, 2, 0, 3, 3, 2, 2, - 3, 1, 2, 0, 2, 2, 1, 5, 3, 0, - 2, 2, 2, 2, 3, 1, 4, 2, 0, 2, - 2, 2, 3, 2, 2, 2, 3, 2, 2, 0, - 3, 2, 3, 2, 2, 0, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 0, 2, 1, 3, 3, - 3, 2, 3, 3, 1, 1 -}; - -/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE - doesn't specify something else to do. Zero means the default is an - error. */ -static const short yydefact[] = -{ - 1, 0, 0, 0, 0, 7, 0, 30, 9, 0, - 0, 0, 8, 84, 83, 2, 3, 0, 13, 0, - 43, 4, 0, 11, 0, 58, 5, 0, 14, 0, - 12, 15, 10, 78, 79, 0, 53, 63, 65, 16, - 94, 95, 0, 0, 45, 87, 18, 35, 34, 49, - 69, 0, 64, 69, 6, 0, 91, 0, 0, 0, - 0, 17, 31, 80, 81, 82, 44, 0, 32, 48, - 54, 0, 59, 61, 0, 60, 55, 66, 90, 92, - 93, 89, 88, 0, 0, 0, 0, 0, 75, 75, - 75, 75, 75, 22, 0, 0, 21, 0, 41, 0, - 0, 39, 0, 38, 0, 33, 50, 52, 0, 51, - 46, 71, 0, 62, 56, 67, 0, 73, 74, 85, - 85, 23, 76, 24, 25, 26, 27, 19, 68, 20, - 85, 42, 36, 37, 47, 70, 72, 0, 28, 29, - 0, 40, 86, 77, 0, 0 -}; - -static const short yydefgoto[] = -{ - 1, 15, 16, 17, 18, 61, 94, 19, 20, 67, - 21, 62, 102, 48, 22, 108, 23, 69, 24, 25, - 74, 26, 51, 27, 28, 29, 30, 95, 96, 70, - 112, 121, 122, 68, 31, 138, 44, 45 -}; - -static const short yypact[] = -{ - -32768, 17, 41, 65, 65,-32768, 65,-32768,-32768, 65, - -11, 40,-32768,-32768,-32768,-32768,-32768, 13,-32768, 23, - -32768,-32768, 66,-32768, 72,-32768,-32768, 77,-32768, 81, - -32768,-32768,-32768,-32768,-32768, 41,-32768,-32768,-32768,-32768, - -32768,-32768, 40, 40, 64, 59,-32768,-32768, 98,-32768, - -32768, 49,-32768,-32768,-32768, 7,-32768, 40, 40, 67, - 67, 99, 117,-32768,-32768,-32768,-32768, 85,-32768, 74, - 18, 88,-32768,-32768, 95,-32768,-32768, 18,-32768, 96, - -32768,-32768,-32768, 102, 36, 40, 65, 67, 65, 65, - 65, 65, 65,-32768, 103, 129,-32768, 114,-32768, 65, - 67,-32768, 115,-32768, 116,-32768,-32768,-32768, 118,-32768, - -32768,-32768, 119,-32768,-32768,-32768, 40, 64, 64, 135, - 135,-32768, 136,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 135,-32768,-32768,-32768,-32768,-32768, 64, 40,-32768,-32768, - 40,-32768, 64, 64, 150,-32768 -}; - -static const short yypgoto[] = -{ - -32768,-32768, -37,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -41,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768, -32,-32768,-32768,-32768,-32768,-32768,-32768, 89, 100, - 11, 48, 0, -22, 3, -118, -42, -52 -}; - - -#define YYLAST 153 - - -static const short yytable[] = -{ - 55, 56, 139, 35, 36, 32, 37, 81, 82, 38, - 73, 66, 141, 39, 72, 79, 80, 144, 2, 75, - 3, 4, 5, 6, 7, 8, 9, 10, 107, 76, - 11, 12, 106, 84, 85, 120, 78, 109, 54, 57, - 58, 46, 117, 118, 13, 14, 111, 110, 131, -57, - 71, 47, -57, 4, 63, 6, 7, 64, 9, 10, - 40, 41, 11, 65, 40, 41, 42, 116, 13, 14, - 42, 43, 97, 104, 136, 43, 13, 14, 4, 63, - 6, 7, 64, 9, 10, 59, 119, 11, 65, 33, - 34, 40, 41, 60, 49, 142, 57, 58, 143, 130, - 50, 13, 14, 63, 6, 52, 64, 9, 10, 53, - 83, 11, 65, 105, 84, 85, 113, 86, 87, 88, - 89, 90, 91, 114, 92, 13, 14, 93, 83, 58, - 115, 127, 84, 85, 98, 99, 100, 123, 124, 125, - 126, 128, 129, 132, 133, 101, 134, 135, 137, 140, - 145, 103, 0, 77 -}; - -static const short yycheck[] = -{ - 42, 43, 120, 3, 4, 2, 6, 59, 60, 9, - 51, 48, 130, 24, 51, 57, 58, 0, 1, 51, - 3, 4, 5, 6, 7, 8, 9, 10, 69, 51, - 13, 14, 69, 15, 16, 87, 29, 69, 35, 32, - 33, 28, 84, 85, 27, 28, 28, 69, 100, 0, - 1, 28, 3, 4, 5, 6, 7, 8, 9, 10, - 24, 25, 13, 14, 24, 25, 30, 31, 27, 28, - 30, 35, 61, 62, 116, 35, 27, 28, 4, 5, - 6, 7, 8, 9, 10, 26, 86, 13, 14, 24, - 25, 24, 25, 34, 28, 137, 32, 33, 140, 99, - 28, 27, 28, 5, 6, 28, 8, 9, 10, 28, - 11, 13, 14, 28, 15, 16, 28, 18, 19, 20, - 21, 22, 23, 28, 25, 27, 28, 28, 11, 33, - 28, 28, 15, 16, 17, 18, 19, 89, 90, 91, - 92, 12, 28, 28, 28, 28, 28, 28, 13, 13, - 0, 62, -1, 53 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/bison/bison.simple" - -/* Skeleton output parser for bison, - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software - Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser when - the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# if YYSTACK_USE_ALLOCA -# define YYSTACK_ALLOC alloca -# else -# ifndef YYSTACK_USE_ALLOCA -# if defined (alloca) || defined (_ALLOCA_H) -# define YYSTACK_ALLOC alloca -# else -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# else -# if defined (__STDC__) || defined (__cplusplus) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# endif -# define YYSTACK_ALLOC malloc -# define YYSTACK_FREE free -# endif -#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ - - -#if (! defined (yyoverflow) \ - && (! defined (__cplusplus) \ - || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - short yyss; - YYSTYPE yyvs; -# if YYLSP_NEEDED - YYLTYPE yyls; -# endif -}; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# if YYLSP_NEEDED -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ - + 2 * YYSTACK_GAP_MAX) -# else -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAX) -# endif - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - register YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (0) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (0) - -#endif - - -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) -# define YYSIZE_T __SIZE_TYPE__ -#endif -#if ! defined (YYSIZE_T) && defined (size_t) -# define YYSIZE_T size_t -#endif -#if ! defined (YYSIZE_T) -# if defined (__STDC__) || defined (__cplusplus) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# endif -#endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int -#endif - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror ("syntax error: cannot back up"); \ - YYERROR; \ - } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Compute the default location (before the actions - are run). - - When YYLLOC_DEFAULT is run, CURRENT is set the location of the - first token. By default, to implement support for ranges, extend - its range to the last symbol. */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - Current.last_line = Rhs[N].last_line; \ - Current.last_column = Rhs[N].last_column; -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#if YYPURE -# if YYLSP_NEEDED -# ifdef YYLEX_PARAM -# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) -# else -# define YYLEX yylex (&yylval, &yylloc) -# endif -# else /* !YYLSP_NEEDED */ -# ifdef YYLEX_PARAM -# define YYLEX yylex (&yylval, YYLEX_PARAM) -# else -# define YYLEX yylex (&yylval) -# endif -# endif /* !YYLSP_NEEDED */ -#else /* !YYPURE */ -# define YYLEX yylex () -#endif /* !YYPURE */ - - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (0) -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -#endif /* !YYDEBUG */ - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#if YYMAXDEPTH == 0 -# undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - -#ifdef YYERROR_VERBOSE - -# ifndef yystrlen -# if defined (__GLIBC__) && defined (_STRING_H) -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -static YYSIZE_T -# if defined (__STDC__) || defined (__cplusplus) -yystrlen (const char *yystr) -# else -yystrlen (yystr) - const char *yystr; -# endif -{ - register const char *yys = yystr; - - while (*yys++ != '\0') - continue; - - return yys - yystr - 1; -} -# endif -# endif - -# ifndef yystpcpy -# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -# if defined (__STDC__) || defined (__cplusplus) -yystpcpy (char *yydest, const char *yysrc) -# else -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -# endif -{ - register char *yyd = yydest; - register const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif -#endif - -#line 315 "/usr/share/bison/bison.simple" - - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -# define YYPARSE_PARAM_DECL -# else -# define YYPARSE_PARAM_ARG YYPARSE_PARAM -# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -# endif -#else /* !YYPARSE_PARAM */ -# define YYPARSE_PARAM_ARG -# define YYPARSE_PARAM_DECL -#endif /* !YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -# ifdef YYPARSE_PARAM -int yyparse (void *); -# else -int yyparse (void); -# endif -#endif - -/* YY_DECL_VARIABLES -- depending whether we use a pure parser, - variables are global, or local to YYPARSE. */ - -#define YY_DECL_NON_LSP_VARIABLES \ -/* The lookahead symbol. */ \ -int yychar; \ - \ -/* The semantic value of the lookahead symbol. */ \ -YYSTYPE yylval; \ - \ -/* Number of parse errors so far. */ \ -int yynerrs; - -#if YYLSP_NEEDED -# define YY_DECL_VARIABLES \ -YY_DECL_NON_LSP_VARIABLES \ - \ -/* Location data for the lookahead symbol. */ \ -YYLTYPE yylloc; -#else -# define YY_DECL_VARIABLES \ -YY_DECL_NON_LSP_VARIABLES -#endif - - -/* If nonreentrant, generate the variables here. */ - -#if !YYPURE -YY_DECL_VARIABLES -#endif /* !YYPURE */ - -int -yyparse (YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - /* If reentrant, generate the variables here. */ -#if YYPURE - YY_DECL_VARIABLES -#endif /* !YYPURE */ - - register int yystate; - register int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Lookahead token as an internal (translated) token number. */ - int yychar1 = 0; - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - short yyssa[YYINITDEPTH]; - short *yyss = yyssa; - register short *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - register YYSTYPE *yyvsp; - -#if YYLSP_NEEDED - /* The location stack. */ - YYLTYPE yylsa[YYINITDEPTH]; - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; -#endif - -#if YYLSP_NEEDED -# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -# define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - YYSIZE_T yystacksize = YYINITDEPTH; - - - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; -#if YYLSP_NEEDED - YYLTYPE yyloc; -#endif - - /* When reducing, the number of symbols on the RHS of the reduced - rule. */ - int yylen; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss; - yyvsp = yyvs; -#if YYLSP_NEEDED - yylsp = yyls; -#endif - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. - */ - yyssp++; - - yysetstate: - *yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; - -#ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. */ -# if YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow ("parser stack overflow", - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yyls1, yysize * sizeof (*yylsp), - &yystacksize); - yyls = yyls1; -# else - yyoverflow ("parser stack overflow", - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); -# endif - yyss = yyss1; - yyvs = yyvs1; - } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyoverflowlab; -# else - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - goto yyoverflowlab; - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; - - { - short *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyoverflowlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); -# if YYLSP_NEEDED - YYSTACK_RELOCATE (yyls); -# endif -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif -#endif /* no yyoverflow */ - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; -#if YYLSP_NEEDED - yylsp = yyls + yysize - 1; -#endif - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - - goto yybackup; - - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yychar1 = YYTRANSLATE (yychar); - -#if YYDEBUG - /* We have to keep this `#if YYDEBUG', since we use variables - which are defined only if `YYDEBUG' is set. */ - if (yydebug) - { - YYFPRINTF (stderr, "Next token is %d (%s", - yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise - meaning of a token, for further debugging info. */ -# ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -# endif - YYFPRINTF (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - YYDPRINTF ((stderr, "Shifting token %d (%s), ", - yychar, yytname[yychar1])); - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#if YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - yystate = yyn; - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. - - Otherwise, the following line sets YYVAL to the semantic value of - the lookahead token. This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - -#if YYLSP_NEEDED - /* Similarly for the default location. Let the user run additional - commands if for instance locations are ranges. */ - yyloc = yylsp[1-yylen]; - YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); -#endif - -#if YYDEBUG - /* We have to keep this `#if YYDEBUG', since we use variables which - are defined only if `YYDEBUG' is set. */ - if (yydebug) - { - int yyi; - - YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) - YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); - YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - switch (yyn) { - -case 7: -#line 96 "zconf.y" -{ zconfprint("unexpected 'endmenu' statement"); ; - break;} -case 8: -#line 97 "zconf.y" -{ zconfprint("unexpected 'endif' statement"); ; - break;} -case 9: -#line 98 "zconf.y" -{ zconfprint("unexpected 'endchoice' statement"); ; - break;} -case 10: -#line 99 "zconf.y" -{ zconfprint("syntax error"); yyerrok; ; - break;} -case 16: -#line 114 "zconf.y" -{ - struct symbol *sym = sym_lookup(yyvsp[0].string, 0); - sym->flags |= SYMBOL_OPTIONAL; - menu_add_entry(sym); - printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), yyvsp[0].string); -; - break;} -case 17: -#line 122 "zconf.y" -{ - menu_end_entry(); - printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); -; - break;} -case 22: -#line 133 "zconf.y" -{ ; - break;} -case 23: -#line 136 "zconf.y" -{ - menu_set_type(S_TRISTATE); - printd(DEBUG_PARSE, "%s:%d:tristate\n", zconf_curname(), zconf_lineno()); -; - break;} -case 24: -#line 142 "zconf.y" -{ - menu_set_type(S_BOOLEAN); - printd(DEBUG_PARSE, "%s:%d:boolean\n", zconf_curname(), zconf_lineno()); -; - break;} -case 25: -#line 148 "zconf.y" -{ - menu_set_type(S_INT); - printd(DEBUG_PARSE, "%s:%d:int\n", zconf_curname(), zconf_lineno()); -; - break;} -case 26: -#line 154 "zconf.y" -{ - menu_set_type(S_HEX); - printd(DEBUG_PARSE, "%s:%d:hex\n", zconf_curname(), zconf_lineno()); -; - break;} -case 27: -#line 160 "zconf.y" -{ - menu_set_type(S_STRING); - printd(DEBUG_PARSE, "%s:%d:string\n", zconf_curname(), zconf_lineno()); -; - break;} -case 28: -#line 166 "zconf.y" -{ - menu_add_prop(P_PROMPT, yyvsp[-1].string, NULL, yyvsp[0].expr); - printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); -; - break;} -case 29: -#line 172 "zconf.y" -{ - menu_add_prop(P_DEFAULT, NULL, yyvsp[-1].symbol, yyvsp[0].expr); - printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno()); -; - break;} -case 30: -#line 180 "zconf.y" -{ - struct symbol *sym = sym_lookup(NULL, 0); - sym->flags |= SYMBOL_CHOICE; - menu_add_entry(sym); - menu_add_prop(P_CHOICE, NULL, NULL, NULL); - printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); -; - break;} -case 31: -#line 189 "zconf.y" -{ - menu_end_entry(); - menu_add_menu(); -; - break;} -case 32: -#line 195 "zconf.y" -{ - if (zconf_endtoken(yyvsp[0].token, T_CHOICE, T_ENDCHOICE)) { - menu_end_menu(); - printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); - } -; - break;} -case 34: -#line 205 "zconf.y" -{ - printf("%s:%d: missing 'endchoice' for this 'choice' statement\n", current_menu->file->name, current_menu->lineno); - zconfnerrs++; -; - break;} -case 40: -#line 219 "zconf.y" -{ - menu_add_prop(P_PROMPT, yyvsp[-1].string, NULL, yyvsp[0].expr); - printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); -; - break;} -case 41: -#line 225 "zconf.y" -{ - current_entry->sym->flags |= SYMBOL_OPTIONAL; - printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); -; - break;} -case 42: -#line 231 "zconf.y" -{ - menu_add_prop(P_DEFAULT, NULL, yyvsp[0].symbol, NULL); - //current_choice->prop->def = $2; - printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno()); -; - break;} -case 45: -#line 245 "zconf.y" -{ - printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); - menu_add_entry(NULL); - //current_entry->prompt = menu_add_prop(T_IF, NULL, NULL, $2); - menu_add_dep(yyvsp[0].expr); - menu_end_entry(); - menu_add_menu(); -; - break;} -case 46: -#line 255 "zconf.y" -{ - if (zconf_endtoken(yyvsp[0].token, T_IF, T_ENDIF)) { - menu_end_menu(); - printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); - } -; - break;} -case 48: -#line 265 "zconf.y" -{ - printf("%s:%d: missing 'endif' for this 'if' statement\n", current_menu->file->name, current_menu->lineno); - zconfnerrs++; -; - break;} -case 53: -#line 280 "zconf.y" -{ - menu_add_entry(NULL); - menu_add_prop(P_MENU, yyvsp[0].string, NULL, NULL); - printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); -; - break;} -case 54: -#line 287 "zconf.y" -{ - menu_end_entry(); - menu_add_menu(); -; - break;} -case 55: -#line 293 "zconf.y" -{ - if (zconf_endtoken(yyvsp[0].token, T_MENU, T_ENDMENU)) { - menu_end_menu(); - printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); - } -; - break;} -case 57: -#line 303 "zconf.y" -{ - printf("%s:%d: missing 'endmenu' for this 'menu' statement\n", current_menu->file->name, current_menu->lineno); - zconfnerrs++; -; - break;} -case 62: -#line 313 "zconf.y" -{ zconfprint("invalid menu option"); yyerrok; ; - break;} -case 63: -#line 317 "zconf.y" -{ - yyval.string = yyvsp[0].string; - printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), yyvsp[0].string); -; - break;} -case 64: -#line 323 "zconf.y" -{ - zconf_nextfile(yyvsp[-1].string); -; - break;} -case 65: -#line 330 "zconf.y" -{ - menu_add_entry(NULL); - menu_add_prop(P_COMMENT, yyvsp[0].string, NULL, NULL); - printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); -; - break;} -case 66: -#line 337 "zconf.y" -{ - menu_end_entry(); -; - break;} -case 67: -#line 344 "zconf.y" -{ - printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); - zconf_starthelp(); -; - break;} -case 68: -#line 350 "zconf.y" -{ - current_entry->sym->help = yyvsp[0].string; -; - break;} -case 71: -#line 359 "zconf.y" -{ ; - break;} -case 72: -#line 362 "zconf.y" -{ - menu_add_dep(yyvsp[0].expr); - printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); -; - break;} -case 73: -#line 367 "zconf.y" -{ - menu_add_dep(yyvsp[0].expr); - printd(DEBUG_PARSE, "%s:%d:depends\n", zconf_curname(), zconf_lineno()); -; - break;} -case 74: -#line 372 "zconf.y" -{ - menu_add_dep(yyvsp[0].expr); - printd(DEBUG_PARSE, "%s:%d:requires\n", zconf_curname(), zconf_lineno()); -; - break;} -case 76: -#line 382 "zconf.y" -{ - menu_add_prop(P_PROMPT, yyvsp[0].string, NULL, NULL); -; - break;} -case 77: -#line 386 "zconf.y" -{ - menu_add_prop(P_PROMPT, yyvsp[-2].string, NULL, yyvsp[0].expr); -; - break;} -case 80: -#line 394 "zconf.y" -{ yyval.token = T_ENDMENU; ; - break;} -case 81: -#line 395 "zconf.y" -{ yyval.token = T_ENDCHOICE; ; - break;} -case 82: -#line 396 "zconf.y" -{ yyval.token = T_ENDIF; ; - break;} -case 85: -#line 402 "zconf.y" -{ yyval.expr = NULL; ; - break;} -case 86: -#line 403 "zconf.y" -{ yyval.expr = yyvsp[0].expr; ; - break;} -case 87: -#line 406 "zconf.y" -{ yyval.expr = expr_alloc_symbol(yyvsp[0].symbol); ; - break;} -case 88: -#line 407 "zconf.y" -{ yyval.expr = expr_alloc_comp(E_EQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ; - break;} -case 89: -#line 408 "zconf.y" -{ yyval.expr = expr_alloc_comp(E_UNEQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ; - break;} -case 90: -#line 409 "zconf.y" -{ yyval.expr = yyvsp[-1].expr; ; - break;} -case 91: -#line 410 "zconf.y" -{ yyval.expr = expr_alloc_one(E_NOT, yyvsp[0].expr); ; - break;} -case 92: -#line 411 "zconf.y" -{ yyval.expr = expr_alloc_two(E_OR, yyvsp[-2].expr, yyvsp[0].expr); ; - break;} -case 93: -#line 412 "zconf.y" -{ yyval.expr = expr_alloc_two(E_AND, yyvsp[-2].expr, yyvsp[0].expr); ; - break;} -case 94: -#line 415 "zconf.y" -{ yyval.symbol = sym_lookup(yyvsp[0].string, 0); free(yyvsp[0].string); ; - break;} -case 95: -#line 416 "zconf.y" -{ yyval.symbol = sym_lookup(yyvsp[0].string, 1); free(yyvsp[0].string); ; - break;} -} - -#line 705 "/usr/share/bison/bison.simple" - - - yyvsp -= yylen; - yyssp -= yylen; -#if YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG - if (yydebug) - { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; -#if YYLSP_NEEDED - *++yylsp = yyloc; -#endif - - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - - -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - YYSIZE_T yysize = 0; - char *yymsg; - int yyx, yycount; - - yycount = 0; - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) - if (yycheck[yyx + yyn] == yyx) - yysize += yystrlen (yytname[yyx]) + 15, yycount++; - yysize += yystrlen ("parse error, unexpected ") + 1; - yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); - yymsg = (char *) YYSTACK_ALLOC (yysize); - if (yymsg != 0) - { - char *yyp = yystpcpy (yymsg, "parse error, unexpected "); - yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); - - if (yycount < 5) - { - yycount = 0; - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); - yyx++) - if (yycheck[yyx + yyn] == yyx) - { - const char *yyq = ! yycount ? ", expecting " : " or "; - yyp = yystpcpy (yyp, yyq); - yyp = yystpcpy (yyp, yytname[yyx]); - yycount++; - } - } - yyerror (yymsg); - YYSTACK_FREE (yymsg); - } - else - yyerror ("parse error; also virtual memory exhausted"); - } - else -#endif /* defined (YYERROR_VERBOSE) */ - yyerror ("parse error"); - } - goto yyerrlab1; - - -/*--------------------------------------------------. -| yyerrlab1 -- error raised explicitly by an action | -`--------------------------------------------------*/ -yyerrlab1: - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - YYDPRINTF ((stderr, "Discarding token %d (%s).\n", - yychar, yytname[yychar1])); - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token after shifting the error - token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - - -/*-------------------------------------------------------------------. -| yyerrdefault -- current state does not do anything special for the | -| error token. | -`-------------------------------------------------------------------*/ -yyerrdefault: -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - - /* If its default is to accept any token, ok. Otherwise pop it. */ - yyn = yydefact[yystate]; - if (yyn) - goto yydefault; -#endif - - -/*---------------------------------------------------------------. -| yyerrpop -- pop the current state because it cannot handle the | -| error token | -`---------------------------------------------------------------*/ -yyerrpop: - if (yyssp == yyss) - YYABORT; - yyvsp--; - yystate = *--yyssp; -#if YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG - if (yydebug) - { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "Error: state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif - -/*--------------. -| yyerrhandle. | -`--------------*/ -yyerrhandle: - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - - YYDPRINTF ((stderr, "Shifting error token, ")); - - *++yyvsp = yylval; -#if YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -/*---------------------------------------------. -| yyoverflowab -- parser overflow comes here. | -`---------------------------------------------*/ -yyoverflowlab: - yyerror ("parser stack overflow"); - yyresult = 2; - /* Fall through. */ - -yyreturn: -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif - return yyresult; -} -#line 419 "zconf.y" - - -void conf_parse(const char *name) -{ - zconf_initscan(name); - - sym_init(); - menu_init(); - rootmenu.prompt = menu_add_prop(P_MENU, "Linux Kernel Configuration", NULL, NULL); - - //zconfdebug = 1; - zconfparse(); - if (zconfnerrs) - exit(1); - menu_finalize(&rootmenu); - - modules_sym = sym_lookup("MODULES", 0); - - sym_change_count = 1; -} - -const char *zconf_tokenname(int token) -{ - switch (token) { - case T_MENU: return "menu"; - case T_ENDMENU: return "endmenu"; - case T_CHOICE: return "choice"; - case T_ENDCHOICE: return "endchoice"; - case T_IF: return "if"; - case T_ENDIF: return "endif"; - } - return ""; -} - -static bool zconf_endtoken(int token, int starttoken, int endtoken) -{ - if (token != endtoken) { - zconfprint("unexpected '%s' within %s block", zconf_tokenname(token), zconf_tokenname(starttoken)); - zconfnerrs++; - return false; - } - if (current_menu->file != current_file) { - zconfprint("'%s' in different file than '%s'", zconf_tokenname(token), zconf_tokenname(starttoken)); - zconfprint("location of the '%s'", zconf_tokenname(starttoken)); - zconfnerrs++; - return false; - } - return true; -} - -static void zconfprint(const char *err, ...) -{ - va_list ap; - - fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno()); - va_start(ap, err); - vfprintf(stderr, err, ap); - va_end(ap); - fprintf(stderr, "\n"); -} - -static void zconferror(const char *err) -{ - fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno(), err); -} - -void print_quoted_string(FILE *out, const char *str) -{ - const char *p; - int len; - - putc('"', out); - while ((p = strchr(str, '"'))) { - len = p - str; - if (len) - fprintf(out, "%.*s", len, str); - fputs("\\\"", out); - str = p + 1; - } - fputs(str, out); - putc('"', out); -} - -void print_symbol(FILE *out, struct menu *menu) -{ - struct symbol *sym = menu->sym; - struct property *prop; - - //sym->flags |= SYMBOL_PRINTED; - - if (sym_is_choice(sym)) - fprintf(out, "choice\n"); - else - fprintf(out, "config %s\n", sym->name); - switch (sym->type) { - case S_BOOLEAN: - fputs(" boolean\n", out); - break; - case S_TRISTATE: - fputs(" tristate\n", out); - break; - case S_STRING: - fputs(" string\n", out); - break; - case S_INT: - fputs(" integer\n", out); - break; - case S_HEX: - fputs(" hex\n", out); - break; - default: - fputs(" ???\n", out); - break; - } -#if 0 - if (!expr_is_yes(sym->dep)) { - fputs(" depends ", out); - expr_fprint(sym->dep, out); - fputc('\n', out); - } -#endif - for (prop = sym->prop; prop; prop = prop->next) { - if (prop->menu != menu) - continue; - switch (prop->type) { - case P_PROMPT: - fputs(" prompt ", out); - print_quoted_string(out, prop->text); - if (prop->def) { - fputc(' ', out); - if (prop->def->flags & SYMBOL_CONST) - print_quoted_string(out, prop->def->name); - else - fputs(prop->def->name, out); - } - if (!expr_is_yes(E_EXPR(prop->visible))) { - fputs(" if ", out); - expr_fprint(E_EXPR(prop->visible), out); - } - fputc('\n', out); - break; - case P_DEFAULT: - fputs( " default ", out); - print_quoted_string(out, prop->def->name); - if (!expr_is_yes(E_EXPR(prop->visible))) { - fputs(" if ", out); - expr_fprint(E_EXPR(prop->visible), out); - } - fputc('\n', out); - break; - case P_CHOICE: - fputs(" #choice value\n", out); - break; - default: - fprintf(out, " unknown prop %d!\n", prop->type); - break; - } - } - if (sym->help) { - int len = strlen(sym->help); - while (sym->help[--len] == '\n') - sym->help[len] = 0; - fprintf(out, " help\n%s\n", sym->help); - } - fputc('\n', out); -} - -void zconfdump(FILE *out) -{ - //struct file *file; - struct property *prop; - struct symbol *sym; - struct menu *menu; - - menu = rootmenu.list; - while (menu) { - if ((sym = menu->sym)) - print_symbol(out, menu); - else if ((prop = menu->prompt)) { - switch (prop->type) { - //case T_MAINMENU: - // fputs("\nmainmenu ", out); - // print_quoted_string(out, prop->text); - // fputs("\n", out); - // break; - case P_COMMENT: - fputs("\ncomment ", out); - print_quoted_string(out, prop->text); - fputs("\n", out); - break; - case P_MENU: - fputs("\nmenu ", out); - print_quoted_string(out, prop->text); - fputs("\n", out); - break; - //case T_SOURCE: - // fputs("\nsource ", out); - // print_quoted_string(out, prop->text); - // fputs("\n", out); - // break; - //case T_IF: - // fputs("\nif\n", out); - default: - ; - } - if (!expr_is_yes(E_EXPR(prop->visible))) { - fputs(" depends ", out); - expr_fprint(E_EXPR(prop->visible), out); - fputc('\n', out); - } - fputs("\n", out); - } - - if (menu->list) - menu = menu->list; - else if (menu->next) - menu = menu->next; - else while ((menu = menu->parent)) { - if (menu->prompt && menu->prompt->type == P_MENU) - fputs("\nendmenu\n", out); - if (menu->next) { - menu = menu->next; - break; - } - } - } -} - -#include "lex.zconf.c" -#include "confdata.c" -#include "expr.c" -#include "symbol.c" -#include "menu.c" diff --git a/extra/config/zconf.tab.h b/extra/config/zconf.tab.h deleted file mode 100644 index 1dcffa989..000000000 --- a/extra/config/zconf.tab.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef BISON_ZCONF_TAB_H -# define BISON_ZCONF_TAB_H - -#ifndef YYSTYPE -typedef union -{ - int token; - char *string; - struct symbol *symbol; - struct expr *expr; - struct menu *menu; -} yystype; -# define YYSTYPE yystype -# define YYSTYPE_IS_TRIVIAL 1 -#endif -# define T_MAINMENU 257 -# define T_MENU 258 -# define T_ENDMENU 259 -# define T_SOURCE 260 -# define T_CHOICE 261 -# define T_ENDCHOICE 262 -# define T_COMMENT 263 -# define T_CONFIG 264 -# define T_HELP 265 -# define T_HELPTEXT 266 -# define T_IF 267 -# define T_ENDIF 268 -# define T_DEPENDS 269 -# define T_REQUIRES 270 -# define T_OPTIONAL 271 -# define T_PROMPT 272 -# define T_DEFAULT 273 -# define T_TRISTATE 274 -# define T_BOOLEAN 275 -# define T_INT 276 -# define T_HEX 277 -# define T_WORD 278 -# define T_STRING 279 -# define T_UNEQUAL 280 -# define T_EOF 281 -# define T_EOL 282 -# define T_CLOSE_PAREN 283 -# define T_OPEN_PAREN 284 -# define T_ON 285 -# define T_OR 286 -# define T_AND 287 -# define T_EQUAL 288 -# define T_NOT 289 - - -extern YYSTYPE zconflval; - -#endif /* not BISON_ZCONF_TAB_H */ -- 2.11.0