~ubuntu-branches/ubuntu/jaunty/ipsec-tools/jaunty-security

« back to all changes in this revision

Viewing changes to src/racoon/cftoken.c

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2008-06-18 17:34:55 UTC
  • mfrom: (1.1.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20080618173455-nxdb1h0gikjgqux3
Tags: 1:0.7-2.1ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/control:
    - Set Ubuntu maintainer address.
    - Depend on lsb-base.
  - debian/ipsec-tools.setkey.init:
    - LSB init script.
* Dropped:
  - debian/ipsec-tools.setkey.init:
    - restart method: stop then start.
    - Use {} instead of () in usage (bash_completion).
  - debian/racoon.init:
    - Create /var/run/racoon.
    - Use {} instead of () in usage (bash_completion).
* Bug fixed by this merge:
    - fix XAuth with U-FQDN (LP: #234166).
* Enable build with hardened options:
  - src/libipsec/policy_token.c: don't check return code of fwrite.
  - src/setkey/setkey.c: stop scanning stdin if fgets fails.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#line 2 "cftoken.c"
2
 
/* A lexical scanner generated by flex */
3
 
 
4
 
/* Scanner skeleton version:
5
 
 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
6
 
 */
7
 
 
8
 
#define FLEX_SCANNER
9
 
#define YY_FLEX_MAJOR_VERSION 2
10
 
#define YY_FLEX_MINOR_VERSION 5
11
 
 
12
 
#include <stdio.h>
13
 
#include <unistd.h>
14
 
 
15
 
 
16
 
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
17
 
#ifdef c_plusplus
18
 
#ifndef __cplusplus
19
 
#define __cplusplus
20
 
#endif
21
 
#endif
22
 
 
23
 
 
24
 
#ifdef __cplusplus
25
 
 
26
 
#include <stdlib.h>
27
 
 
28
 
/* Use prototypes in function declarations. */
29
 
#define YY_USE_PROTOS
30
 
 
31
 
/* The "const" storage-class-modifier is valid. */
32
 
#define YY_USE_CONST
33
 
 
34
 
#else   /* ! __cplusplus */
35
 
 
36
 
#if __STDC__
37
 
 
38
 
#define YY_USE_PROTOS
39
 
#define YY_USE_CONST
40
 
 
41
 
#endif  /* __STDC__ */
42
 
#endif  /* ! __cplusplus */
43
 
 
44
 
#ifdef __TURBOC__
45
 
 #pragma warn -rch
46
 
 #pragma warn -use
47
 
#include <io.h>
48
 
#include <stdlib.h>
49
 
#define YY_USE_CONST
50
 
#define YY_USE_PROTOS
51
 
#endif
52
 
 
53
 
#ifdef YY_USE_CONST
54
 
#define yyconst const
55
 
#else
56
 
#define yyconst
57
 
#endif
58
 
 
59
 
 
60
 
#ifdef YY_USE_PROTOS
61
 
#define YY_PROTO(proto) proto
62
 
#else
63
 
#define YY_PROTO(proto) ()
64
 
#endif
65
 
 
66
 
/* Returned upon end-of-file. */
67
 
#define YY_NULL 0
68
 
 
69
 
/* Promotes a possibly negative, possibly signed char to an unsigned
70
 
 * integer for use as an array index.  If the signed char is negative,
71
 
 * we want to instead treat it as an 8-bit unsigned char, hence the
72
 
 * double cast.
73
 
 */
74
 
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
75
 
 
76
 
/* Enter a start condition.  This macro really ought to take a parameter,
77
 
 * but we do it the disgusting crufty way forced on us by the ()-less
78
 
 * definition of BEGIN.
79
 
 */
80
 
#define BEGIN yy_start = 1 + 2 *
81
 
 
82
 
/* Translate the current start state into a value that can be later handed
83
 
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
84
 
 * compatibility.
85
 
 */
86
 
#define YY_START ((yy_start - 1) / 2)
87
 
#define YYSTATE YY_START
88
 
 
89
 
/* Action number for EOF rule of a given start state. */
90
 
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
91
 
 
92
 
/* Special action meaning "start processing a new file". */
93
 
#define YY_NEW_FILE yyrestart( yyin )
94
 
 
95
 
#define YY_END_OF_BUFFER_CHAR 0
96
 
 
97
 
/* Size of default input buffer. */
98
 
#define YY_BUF_SIZE 16384
99
 
 
100
 
typedef struct yy_buffer_state *YY_BUFFER_STATE;
101
 
 
102
 
extern int yyleng;
103
 
extern FILE *yyin, *yyout;
104
 
 
105
 
#define EOB_ACT_CONTINUE_SCAN 0
106
 
#define EOB_ACT_END_OF_FILE 1
107
 
#define EOB_ACT_LAST_MATCH 2
108
 
 
109
 
/* The funky do-while in the following #define is used to turn the definition
110
 
 * int a single C statement (which needs a semi-colon terminator).  This
111
 
 * avoids problems with code like:
112
 
 *
113
 
 *      if ( condition_holds )
114
 
 *              yyless( 5 );
115
 
 *      else
116
 
 *              do_something_else();
117
 
 *
118
 
 * Prior to using the do-while the compiler would get upset at the
119
 
 * "else" because it interpreted the "if" statement as being all
120
 
 * done when it reached the ';' after the yyless() call.
121
 
 */
122
 
 
123
 
/* Return all but the first 'n' matched characters back to the input stream. */
124
 
 
125
 
#define yyless(n) \
126
 
        do \
127
 
                { \
128
 
                /* Undo effects of setting up yytext. */ \
129
 
                *yy_cp = yy_hold_char; \
130
 
                YY_RESTORE_YY_MORE_OFFSET \
131
 
                yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
132
 
                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
133
 
                } \
134
 
        while ( 0 )
135
 
 
136
 
#define unput(c) yyunput( c, yytext_ptr )
137
 
 
138
 
/* The following is because we cannot portably get our hands on size_t
139
 
 * (without autoconf's help, which isn't available because we want
140
 
 * flex-generated scanners to compile on their own).
141
 
 */
142
 
typedef unsigned int yy_size_t;
143
 
 
144
 
 
145
 
struct yy_buffer_state
146
 
        {
147
 
        FILE *yy_input_file;
148
 
 
149
 
        char *yy_ch_buf;                /* input buffer */
150
 
        char *yy_buf_pos;               /* current position in input buffer */
151
 
 
152
 
        /* Size of input buffer in bytes, not including room for EOB
153
 
         * characters.
154
 
         */
155
 
        yy_size_t yy_buf_size;
156
 
 
157
 
        /* Number of characters read into yy_ch_buf, not including EOB
158
 
         * characters.
159
 
         */
160
 
        int yy_n_chars;
161
 
 
162
 
        /* Whether we "own" the buffer - i.e., we know we created it,
163
 
         * and can realloc() it to grow it, and should free() it to
164
 
         * delete it.
165
 
         */
166
 
        int yy_is_our_buffer;
167
 
 
168
 
        /* Whether this is an "interactive" input source; if so, and
169
 
         * if we're using stdio for input, then we want to use getc()
170
 
         * instead of fread(), to make sure we stop fetching input after
171
 
         * each newline.
172
 
         */
173
 
        int yy_is_interactive;
174
 
 
175
 
        /* Whether we're considered to be at the beginning of a line.
176
 
         * If so, '^' rules will be active on the next match, otherwise
177
 
         * not.
178
 
         */
179
 
        int yy_at_bol;
180
 
 
181
 
        /* Whether to try to fill the input buffer when we reach the
182
 
         * end of it.
183
 
         */
184
 
        int yy_fill_buffer;
185
 
 
186
 
        int yy_buffer_status;
187
 
#define YY_BUFFER_NEW 0
188
 
#define YY_BUFFER_NORMAL 1
189
 
        /* When an EOF's been seen but there's still some text to process
190
 
         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
191
 
         * shouldn't try reading from the input source any more.  We might
192
 
         * still have a bunch of tokens to match, though, because of
193
 
         * possible backing-up.
194
 
         *
195
 
         * When we actually see the EOF, we change the status to "new"
196
 
         * (via yyrestart()), so that the user can continue scanning by
197
 
         * just pointing yyin at a new input file.
198
 
         */
199
 
#define YY_BUFFER_EOF_PENDING 2
200
 
        };
201
 
 
202
 
static YY_BUFFER_STATE yy_current_buffer = 0;
203
 
 
204
 
/* We provide macros for accessing buffer states in case in the
205
 
 * future we want to put the buffer states in a more general
206
 
 * "scanner state".
207
 
 */
208
 
#define YY_CURRENT_BUFFER yy_current_buffer
209
 
 
210
 
 
211
 
/* yy_hold_char holds the character lost when yytext is formed. */
212
 
static char yy_hold_char;
213
 
 
214
 
static int yy_n_chars;          /* number of characters read into yy_ch_buf */
215
 
 
216
 
 
217
 
int yyleng;
218
 
 
219
 
/* Points to current character in buffer. */
220
 
static char *yy_c_buf_p = (char *) 0;
221
 
static int yy_init = 1;         /* whether we need to initialize */
222
 
static int yy_start = 0;        /* start state number */
223
 
 
224
 
/* Flag which is used to allow yywrap()'s to do buffer switches
225
 
 * instead of setting up a fresh yyin.  A bit of a hack ...
226
 
 */
227
 
static int yy_did_buffer_switch_on_eof;
228
 
 
229
 
void yyrestart YY_PROTO(( FILE *input_file ));
230
 
 
231
 
void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
232
 
void yy_load_buffer_state YY_PROTO(( void ));
233
 
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
234
 
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
235
 
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
236
 
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
237
 
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
238
 
 
239
 
YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
240
 
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
241
 
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
242
 
 
243
 
static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
244
 
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
245
 
static void yy_flex_free YY_PROTO(( void * ));
246
 
 
247
 
#define yy_new_buffer yy_create_buffer
248
 
 
249
 
#define yy_set_interactive(is_interactive) \
250
 
        { \
251
 
        if ( ! yy_current_buffer ) \
252
 
                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
253
 
        yy_current_buffer->yy_is_interactive = is_interactive; \
254
 
        }
255
 
 
256
 
#define yy_set_bol(at_bol) \
257
 
        { \
258
 
        if ( ! yy_current_buffer ) \
259
 
                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
260
 
        yy_current_buffer->yy_at_bol = at_bol; \
261
 
        }
262
 
 
263
 
#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
264
 
 
265
 
typedef unsigned char YY_CHAR;
266
 
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
267
 
typedef int yy_state_type;
268
 
extern char *yytext;
269
 
#define yytext_ptr yytext
270
 
 
271
 
static yy_state_type yy_get_previous_state YY_PROTO(( void ));
272
 
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
273
 
static int yy_get_next_buffer YY_PROTO(( void ));
274
 
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
275
 
 
276
 
/* Done after the current pattern has been matched and before the
277
 
 * corresponding action - sets up yytext.
278
 
 */
279
 
#define YY_DO_BEFORE_ACTION \
280
 
        yytext_ptr = yy_bp; \
281
 
        yytext_ptr -= yy_more_len; \
282
 
        yyleng = (int) (yy_cp - yytext_ptr); \
283
 
        yy_hold_char = *yy_cp; \
284
 
        *yy_cp = '\0'; \
285
 
        yy_c_buf_p = yy_cp;
286
 
 
287
 
#define YY_NUM_RULES 260
288
 
#define YY_END_OF_BUFFER 261
289
 
static yyconst short int yy_accept[1533] =
290
 
    {   0,
291
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
292
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
293
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
294
 
        0,    0,    0,    0,    0,    0,    0,    0,  261,  259,
295
 
      255,  256,  259,  257,  259,  251,  251,  251,  254,  258,
296
 
      242,  259,  259,  259,  259,  254,  254,  254,  254,  254,
297
 
      254,  259,  259,  259,  259,  259,  259,  259,  259,  259,
298
 
      259,  259,  259,  259,  259,  259,  254,  259,  259,  259,
299
 
      259,  259,  259,  259,  259,  254,  259,  259,    2,    6,
300
 
       14,  254,  254,  259,  259,  259,   17,   26,  254,  259,
301
 
 
302
 
      259,  254,  259,  259,  259,   28,   34,  254,  254,  259,
303
 
      259,   36,   43,  254,  259,  259,  259,   65,   72,  254,
304
 
      254,  254,  254,  259,  259,  259,  259,  259,  259,   45,
305
 
       63,   79,  259,  254,  254,   78,   90,  254,  254,  254,
306
 
      254,  259,  259,  259,  259,  259,   80,  254,  259,   94,
307
 
       97,  254,  254,  254,  254,  254,  254,  259,  259,  259,
308
 
      259,  259,  259,  259,  259,  259,  259,  259,  259,   95,
309
 
      254,  254,  254,  254,  259,  259,  259,  259,  150,  151,
310
 
      164,  259,  259,  255,    0,  253,  257,  167,  254,  254,
311
 
      251,    0,  254,    0,  243,  244,  245,    0,  254,  254,
312
 
 
313
 
      170,    0,    0,    0,  254,  254,  254,    0,  254,    0,
314
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
315
 
        0,    0,    0,    0,  250,    0,    0,  165,    0,    0,
316
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
317
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
318
 
        0,    0,    0,    0,    0,    0,    0,    0,  254,  254,
319
 
        0,    0,    0,    0,  254,    0,  250,    0,    0,    0,
320
 
        0,  254,    0,    0,    0,    0,    0,    0,    0,    0,
321
 
      254,    0,  254,    0,    0,    0,    0,  250,    0,    0,
322
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
323
 
 
324
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
325
 
      254,    0,  254,  254,    0,    0,    0,    0,    0,    0,
326
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
327
 
        0,    0,    0,  250,    0,    0,    0,    0,    0,    0,
328
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
329
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,  167,
330
 
      254,  252,  254,    0,  168,  254,  188,    0,    0,    0,
331
 
        0,    0,  254,  177,    0,  254,  169,    0,    0,    0,
332
 
        0,    0,    0,    0,    0,    0,    0,  213,  202,  247,
333
 
        0,    0,    0,  166,  211,    0,  185,  179,    0,    0,
334
 
 
335
 
      246,    0,    0,  174,    0,    0,  175,    0,    0,  249,
336
 
        0,    0,    0,    0,    0,   19,    0,    0,    0,    0,
337
 
        0,    0,    0,    0,    0,    0,  254,    0,    0,    0,
338
 
        0,    0,  254,    0,    0,    0,    0,    0,    0,    0,
339
 
        0,    0,    0,    0,    0,    0,    0,    0,  254,    0,
340
 
        0,    0,    0,    0,    0,    0,   57,    0,    0,    0,
341
 
        0,    0,    0,    0,    0,   76,    0,    0,    0,    0,
342
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
343
 
        0,    0,    0,    0,    0,    0,  101,  139,  169,    0,
344
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
345
 
 
346
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
347
 
        0,    0,  246,    0,    0,    0,    0,    0,    0,    0,
348
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
349
 
        0,  167,  178,    0,    0,    0,    0,  242,    0,    0,
350
 
        0,    0,    0,    0,  236,    0,    0,  248,    0,  172,
351
 
      180,    0,    0,  201,  247,    0,    0,    0,  187,    0,
352
 
        0,    0,    0,    0,    0,  246,  203,    0,    0,    0,
353
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
354
 
        0,    0,    7,    0,    0,    0,    0,    0,    0,    3,
355
 
        0,    0,    0,    0,    0,    0,    0,   20,    0,    0,
356
 
 
357
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
358
 
        0,    0,    0,    0,    0,    0,   48,    0,    0,    0,
359
 
       55,    0,    0,    0,    0,    0,    0,    0,    0,   77,
360
 
        0,   86,    0,    0,    0,    0,    0,    0,   85,    0,
361
 
        0,    0,   98,  138,    0,    0,    0,    0,    0,    0,
362
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
363
 
        0,    0,   99,    0,    0,    0,    0,  130,    0,    0,
364
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,  137,
365
 
        0,  114,    0,    0,  154,    0,    0,    0,    0,    0,
366
 
        0,  153,    0,    0,  183,    0,    0,    0,  242,    0,
367
 
 
368
 
        0,    0,    0,    0,    0,    0,    0,    0,  248,    0,
369
 
      173,    0,  237,    0,    0,    0,    0,    0,    0,    0,
370
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
371
 
        0,    0,    0,    0,  204,    0,    0,    0,    0,    0,
372
 
        0,    0,    0,    0,    0,    0,    0,    0,   64,    0,
373
 
        4,    0,    0,    0,    0,    0,    0,   22,    0,    0,
374
 
        0,    0,    0,   39,    0,    0,    0,    0,    0,    0,
375
 
        0,    0,    0,    0,    0,    0,   54,    0,    0,    0,
376
 
        0,    0,    0,    0,   49,   75,    0,    0,    0,    0,
377
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,  133,
378
 
 
379
 
        0,    0,    0,    0,    0,    0,  132,    0,  128,    0,
380
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
381
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
382
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
383
 
        0,    0,    0,    0,  240,    0,    0,    0,    0,    0,
384
 
        0,  226,    0,    0,    0,    0,    0,    0,  171,  247,
385
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
386
 
        0,    0,  227,  228,  225,  246,  206,    0,    0,    0,
387
 
      208,  210,  239,    0,    0,    0,    0,    0,    0,    0,
388
 
       35,    0,    0,    0,   91,   73,    5,    0,    0,    0,
389
 
 
390
 
        0,    0,   11,   23,   24,   25,   21,    0,    0,    0,
391
 
        0,    0,    0,   37,    0,    0,    0,    0,    0,   69,
392
 
       70,    0,    0,    0,   59,    0,    0,    0,    0,    0,
393
 
       56,    0,   53,    0,    0,    0,    0,    0,    0,    0,
394
 
        0,    0,    0,    0,    0,    0,    0,  117,    0,    0,
395
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
396
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
397
 
      145,    0,    0,    0,  131,    0,    0,    0,    0,    0,
398
 
        0,  159,    0,    0,    0,  162,    0,  238,    0,  181,
399
 
        0,  212,    0,    0,  200,  217,  218,    0,    0,    0,
400
 
 
401
 
        0,    0,    0,    0,    0,    0,    0,  214,    0,    0,
402
 
        0,    0,    0,    0,    0,    0,  190,    0,    0,    0,
403
 
        0,    0,   15,    0,   27,    1,    0,    0,    8,   13,
404
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,   66,
405
 
        0,    0,   68,    0,    0,    0,    0,    0,    0,    0,
406
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
407
 
        0,   93,    0,  113,    0,    0,    0,    0,    0,    0,
408
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
409
 
        0,    0,    0,    0,  135,    0,    0,    0,    0,    0,
410
 
      105,    0,  120,    0,    0,    0,    0,    0,    0,    0,
411
 
 
412
 
        0,    0,    0,    0,  182,  241,  184,  176,    0,  192,
413
 
        0,    0,    0,  215,  216,  219,  220,  221,  222,  223,
414
 
      191,  186,    0,  189,  205,  207,  209,    0,    0,    0,
415
 
        0,    0,   44,   12,    0,    0,    0,    0,    0,    0,
416
 
        0,   41,    0,    0,   67,    0,    0,    0,    0,    0,
417
 
       47,   46,    0,    0,    0,    0,    0,    0,    0,    0,
418
 
       84,    0,    0,    0,    0,    0,  121,    0,    0,    0,
419
 
      144,    0,    0,    0,    0,  143,    0,    0,    0,    0,
420
 
      136,  148,    0,    0,    0,    0,    0,    0,    0,    0,
421
 
      149,    0,    0,    0,    0,    0,    0,    0,  158,    0,
422
 
 
423
 
        0,    0,  152,  163,    0,  193,    0,    0,    0,    0,
424
 
        0,    0,  235,  234,    0,    0,    0,    0,    0,    0,
425
 
        0,   29,    0,   40,    0,    0,    0,    0,    0,    0,
426
 
        0,   61,   58,    0,   74,    0,    0,    0,    0,    0,
427
 
       81,   92,    0,    0,  140,    0,  141,    0,    0,    0,
428
 
        0,    0,  106,  102,  134,    0,    0,    0,    0,    0,
429
 
        0,  146,  115,    0,  119,  103,    0,    0,    0,    0,
430
 
        0,    0,    0,  160,    0,  229,    0,    0,    0,    0,
431
 
        0,    0,    0,    0,  161,   16,    0,    0,    0,    0,
432
 
        0,    0,    0,    0,    0,   52,    0,    0,    0,    0,
433
 
 
434
 
        0,    0,    0,   82,    0,  100,    0,    0,    0,    0,
435
 
      107,    0,    0,    0,    0,  122,    0,    0,    0,    0,
436
 
        0,    0,    0,    0,    0,    0,    0,    0,  195,    0,
437
 
        0,    0,  197,  199,    0,    0,    0,    0,   10,    0,
438
 
        0,    0,    0,    0,   38,    0,    0,   50,    0,   51,
439
 
       62,    0,    0,    0,    0,    0,  142,    0,    0,    0,
440
 
        0,    0,    0,    0,    0,  147,    0,    0,    0,  118,
441
 
        0,  109,    0,    0,    0,    0,    0,    0,    0,    0,
442
 
        0,    0,    0,    0,    0,    0,    0,    0,   32,    0,
443
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
444
 
 
445
 
        0,    0,    0,    0,    0,    0,  124,    0,    0,    0,
446
 
        0,    0,  194,  196,  198,    0,    0,    0,    0,    0,
447
 
        0,    0,    0,    0,    0,    0,    0,   60,    0,    0,
448
 
        0,   83,    0,   96,    0,  104,    0,  108,  127,    0,
449
 
        0,    0,  125,    0,    0,    0,    0,    0,    0,    0,
450
 
        0,  224,   18,    9,   33,   31,    0,   42,   71,    0,
451
 
        0,    0,    0,    0,    0,  116,    0,  129,    0,    0,
452
 
        0,  157,    0,    0,    0,    0,    0,    0,    0,    0,
453
 
        0,  123,  126,    0,    0,    0,    0,    0,    0,    0,
454
 
        0,   30,    0,    0,    0,  112,  110,    0,    0,    0,
455
 
 
456
 
      233,  231,  232,  230,    0,    0,    0,  111,    0,    0,
457
 
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
458
 
        0,    0,   87,    0,  155,    0,   89,  156,    0,    0,
459
 
       88,    0
460
 
    } ;
461
 
 
462
 
static yyconst int yy_ec[256] =
463
 
    {   0,
464
 
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
465
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
466
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
467
 
        1,    2,    1,    4,    5,    1,    6,    1,    1,    1,
468
 
        1,    1,    1,    7,    8,    9,   10,   11,   12,   13,
469
 
       14,   15,   16,   17,   18,   19,   20,   21,   22,    1,
470
 
        1,    1,    1,    1,   23,   24,   23,   23,   23,   23,
471
 
       25,   25,   25,   25,   26,   25,   27,   25,   25,   25,
472
 
       25,   25,   25,   28,   25,   25,   25,   25,   25,   25,
473
 
       29,    1,   30,    1,   31,    1,   32,   33,   34,   35,
474
 
 
475
 
       36,   37,   38,   39,   40,   41,   42,   43,   44,   45,
476
 
       46,   47,   48,   49,   50,   51,   52,   53,   54,   55,
477
 
       56,   57,   58,    1,   59,    1,    1,    1,    1,    1,
478
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
479
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
480
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
481
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
482
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
483
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
484
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
485
 
 
486
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
487
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
488
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
489
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
490
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
491
 
        1,    1,    1,    1,    1
492
 
    } ;
493
 
 
494
 
static yyconst int yy_meta[60] =
495
 
    {   0,
496
 
        1,    1,    2,    1,    1,    3,    1,    1,    3,    1,
497
 
        4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
498
 
        3,    1,    5,    5,    6,    6,    6,    6,    1,    1,
499
 
        1,    5,    5,    5,    5,    5,    5,    6,    6,    6,
500
 
        6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
501
 
        6,    6,    6,    6,    6,    6,    6,    1,    1
502
 
    } ;
503
 
 
504
 
static yyconst short int yy_base[1542] =
505
 
    {   0,
506
 
        0,    0,   26,   44,   27,   58,   68,   87, 1820, 1819,
507
 
       84,   90,   92,   95,  108,  120,  128,  137,  165,    0,
508
 
        0,    0,    0,    0,  127,  172,  224,  277,   31,   40,
509
 
      330,    0,  358,  386,    0,    0,   61,  150, 1840, 1843,
510
 
     1837, 1843, 1834,    0,    0,  440, 1782,  134, 1830, 1843,
511
 
     1829, 1810, 1809, 1808,    0,  182,  120,   75,   97,  177,
512
 
      117, 1781,  182,  156,  110, 1773,  194,   16,  168, 1780,
513
 
      199,  207,  182,   64, 1792, 1791,  219, 1776,  207,  204,
514
 
      234,   73,  236,  246,  239,  256,  131,  157, 1843, 1843,
515
 
     1843,  271,  283,  271,  241,  260, 1843, 1843,  294,  288,
516
 
 
517
 
       86,  291,  294,  213,  303, 1843, 1843, 1790,  342,  352,
518
 
      359, 1843, 1843,  325,  393,  255,  311, 1843, 1843,  214,
519
 
      435,  433,  397,  245,  307,  434,  373,  449, 1784, 1843,
520
 
     1843, 1843, 1791, 1777,  382, 1843, 1843, 1769,  302,  462,
521
 
      398,  452,  292,  380,  363,  450, 1843, 1775,  462, 1843,
522
 
     1843, 1781,  483,  486,  496,  494,  464,  302,  489,  446,
523
 
      463,  481,  501,  515,  519,  525,  516, 1782,  418, 1843,
524
 
     1765,  532,  548,  551, 1766,  534,  529,  539, 1843, 1843,
525
 
     1843,  540,  554, 1813, 1810, 1843,    0,    0,    0, 1807,
526
 
     1757,    0,   61, 1776, 1843, 1843, 1843, 1780,  200,  456,
527
 
 
528
 
     1843, 1764, 1762, 1756,  513,  534,  565, 1756,  568, 1758,
529
 
     1769, 1753, 1770, 1749, 1767, 1755, 1762, 1763, 1740, 1760,
530
 
     1744, 1777, 1747, 1756, 1745, 1746, 1751, 1843, 1747, 1750,
531
 
      576, 1744, 1752, 1749, 1750, 1748, 1733, 1741, 1732, 1730,
532
 
     1740, 1730, 1724, 1729, 1722, 1735, 1736, 1719, 1730, 1732,
533
 
      479,  559, 1722, 1725,  370, 1715, 1717, 1726,  345,  576,
534
 
     1727, 1725, 1723, 1709,  594, 1720,  466, 1722, 1700, 1709,
535
 
     1704,  588, 1702, 1719, 1701, 1697, 1697, 1696, 1697, 1713,
536
 
      350, 1693,  597, 1698, 1692, 1707, 1689, 1694, 1694, 1687,
537
 
     1690, 1700, 1681, 1683, 1687, 1686,  560, 1684, 1678, 1677,
538
 
 
539
 
     1683, 1692, 1689, 1687, 1692, 1672,  569, 1675, 1681, 1681,
540
 
      602, 1667,  603,  605, 1685, 1685, 1665, 1674, 1678, 1665,
541
 
      578, 1662, 1665, 1673, 1672,  577,  580,  489, 1670, 1666,
542
 
     1670, 1673, 1652, 1657, 1665, 1650, 1663, 1666, 1665,  583,
543
 
     1647,  588, 1644, 1645,  588,  580,  591, 1682, 1640, 1640,
544
 
     1639, 1658, 1654, 1637, 1636, 1648,  582, 1633, 1646,    0,
545
 
        0,    0,  631, 1646, 1843,  633, 1843, 1669, 1626, 1643,
546
 
     1627, 1626,  363, 1645, 1625,  632, 1843, 1629, 1641, 1638,
547
 
     1622, 1621, 1622, 1636, 1621, 1626, 1623, 1843, 1843,  591,
548
 
     1617, 1632, 1619, 1843, 1843, 1630, 1843, 1843, 1615,  609,
549
 
 
550
 
      600,  635, 1614, 1843, 1622, 1620, 1843, 1607, 1620, 1843,
551
 
     1607,  624,  625, 1610, 1601, 1843,  624, 1616, 1611, 1596,
552
 
     1602, 1602, 1610, 1599, 1592, 1594,  655, 1591, 1598, 1603,
553
 
     1608, 1598,  656, 1591, 1596, 1592, 1594, 1598, 1592, 1591,
554
 
     1598, 1587, 1588, 1582, 1590, 1574, 1574, 1573,  657, 1583,
555
 
     1576, 1583, 1604, 1586,  620,  636, 1843, 1586, 1573, 1575,
556
 
     1578, 1562, 1562, 1555, 1565, 1843, 1565, 1569, 1571, 1559,
557
 
     1556,  633, 1568, 1563, 1571, 1565, 1555, 1563, 1549, 1561,
558
 
     1560, 1544, 1543, 1553, 1554, 1541, 1843, 1559, 1558, 1554,
559
 
     1548, 1552, 1549,  634, 1553, 1532, 1546, 1545, 1533, 1543,
560
 
 
561
 
     1533,  633, 1537, 1545,  642, 1519, 1524, 1524, 1522, 1531,
562
 
     1523, 1529,  637, 1533, 1515, 1526, 1518, 1528, 1523, 1542,
563
 
     1510, 1521, 1523, 1520, 1508,  653, 1517, 1519, 1518, 1513,
564
 
     1544, 1843, 1843, 1519, 1514, 1514, 1511, 1497, 1534, 1500,
565
 
     1512,  648, 1503, 1530, 1843, 1494, 1509, 1489, 1498, 1520,
566
 
     1843, 1492, 1500, 1843, 1843, 1483,  681, 1501, 1501, 1481,
567
 
     1495, 1484, 1492, 1487, 1481, 1843, 1843,  659, 1506, 1512,
568
 
     1487, 1473, 1481, 1489, 1473, 1475, 1477, 1465, 1463, 1478,
569
 
     1482, 1472, 1843, 1461, 1459, 1472, 1459, 1461, 1459, 1474,
570
 
     1452,  661, 1451, 1462, 1451, 1453, 1461, 1843, 1461, 1445,
571
 
 
572
 
     1452, 1449, 1460, 1448, 1459, 1447, 1456, 1438, 1439, 1456,
573
 
     1450, 1449, 1432, 1452, 1446, 1450, 1843, 1437, 1447, 1432,
574
 
     1843, 1439, 1445, 1423, 1443, 1437, 1457, 1441, 1414, 1843,
575
 
     1433, 1418, 1418, 1410, 1414, 1413, 1428, 1424, 1843, 1405,
576
 
     1411, 1423, 1843, 1408, 1401,  662, 1412, 1406, 1418,  669,
577
 
     1416, 1401, 1419, 1414, 1400, 1397, 1410, 1406, 1407, 1410,
578
 
     1411, 1391, 1843, 1410, 1405, 1388, 1402, 1843, 1397, 1386,
579
 
     1399, 1389, 1387, 1385, 1395, 1399, 1397, 1394, 1381, 1843,
580
 
     1389, 1843, 1386, 1388, 1373, 1373, 1365, 1380, 1372, 1387,
581
 
     1366, 1843, 1371, 1403, 1843, 1364, 1368, 1372, 1843, 1398,
582
 
 
583
 
     1378, 1358, 1355, 1375, 1368,  693, 1365,  661, 1843, 1369,
584
 
     1843, 1356, 1843, 1366,  699, 1390, 1389, 1388, 1386, 1380,
585
 
     1384, 1343, 1358, 1354, 1360, 1357, 1337, 1351, 1353, 1370,
586
 
      703, 1371, 1372, 1333, 1843, 1333, 1345, 1332, 1344, 1344,
587
 
     1338, 1342, 1331, 1341, 1329, 1337, 1336, 1325, 1843, 1319,
588
 
     1843, 1322, 1331, 1332, 1323, 1326, 1313,  707, 1307, 1312,
589
 
     1309, 1316, 1308, 1308, 1314, 1309, 1304, 1318, 1300, 1310,
590
 
     1306,  711, 1305,  675, 1300, 1298, 1843, 1297, 1297, 1296,
591
 
     1294,   24,   53,  117, 1843, 1843,  193,  259,  399,  621,
592
 
      649,  651,  678,  678,  684,  689,  680,  684,  695, 1843,
593
 
 
594
 
      687,  700,  699,  704,  701,  689, 1843,  694, 1843,  708,
595
 
      701,  693,  711,  695,  714,  703,  707,  714,  713,  701,
596
 
      720,  699,  722,  742,  724,  706,  706,  724,  725,  709,
597
 
      710,  713,  707,  733,  720,  720,  720,  733,  729,  738,
598
 
      731,  760,  756,  724, 1843,  725,  757,  733,  742,  765,
599
 
      746, 1843,  765,  767,  753,  750,  747,  756, 1843,  738,
600
 
      776,  776,  776,  774,  773,  779,  776,  776,  746,  753,
601
 
      767,  764, 1843, 1843, 1843,  751, 1843,  786,  784,  792,
602
 
     1843, 1843, 1843,  766,  758,  776,  753,  778,  773,  775,
603
 
     1843,  775,  775,  767, 1843, 1843, 1843,  765,  776,  781,
604
 
 
605
 
      782,  787, 1843, 1843, 1843, 1843, 1843,  780,  777,  782,
606
 
      792,  778,  789,  795,  796,  779,  797,  794,  796, 1843,
607
 
     1843,  781,  787,  795, 1843,  789,  794,  795,  792,  799,
608
 
     1843,  808, 1843,  795,  791,  793,  793,  808,  802,  802,
609
 
      802,  803,  799,  801,  816,  813,  802, 1843,  812,  801,
610
 
      806,  826,  821,  809,  824,  830,  820,  824,  830,  826,
611
 
      823,  831,  824,  838,  821,  836,  839,  843,  827,  845,
612
 
     1843,  822,  844,  841, 1843,  831,  852,  841,  834,  834,
613
 
      836, 1843,  857,  846,  846, 1843,  848, 1843,  853, 1843,
614
 
      858, 1843,  882,  881, 1843, 1843, 1843,  855,  882,  867,
615
 
 
616
 
      865,  886,  885,  884,  891,  888,  891, 1843,  894,  869,
617
 
      875,  861,  868,  895,  898,  902, 1843,  881,  877,  887,
618
 
      883,  880, 1843,  883, 1843, 1843,  890,  889, 1843, 1843,
619
 
      875,  872,  895,  870,  894,  895,  895,  886,  900, 1843,
620
 
      890,  898, 1843,  895,  884,  888,  886,  924,  925,  889,
621
 
      885,  893,  892,  905,  896,  907,  908,  913,  899,  899,
622
 
      900, 1843,  913, 1843,  920,  908,  924,  920,  909,  921,
623
 
      924,  925,  922,  907,  926,  934,  915,  921,  915,  933,
624
 
      932,  920,  919,  933, 1843,  938,  940,  941,  927,  935,
625
 
     1843,  930, 1843,  934,  950,  948,  937,  944,  938,  946,
626
 
 
627
 
      947,  952,  955,  956, 1843, 1843, 1843, 1843,  945, 1843,
628
 
      983,  948,  950, 1843, 1843, 1843, 1843, 1843, 1843, 1843,
629
 
     1843, 1843,  965, 1843, 1843, 1843, 1843,  957,  968,  971,
630
 
      960,  970, 1843, 1843,  975,  972,  973,  967,  975,  973,
631
 
      971, 1843,  982,  980, 1843,  969,  972,  969,  973,  971,
632
 
     1843, 1843,  974,  986,  973,  974,  991,  986,  981,  992,
633
 
     1843,  989,  983,  981,  979, 1001, 1843,  978, 1003,  980,
634
 
     1843, 1006, 1007, 1003, 1009, 1843, 1007,  986, 1003, 1008,
635
 
     1843, 1843, 1005, 1010,  990,  999, 1013, 1004, 1004, 1020,
636
 
     1022, 1003, 1010, 1012, 1021, 1023, 1022, 1027, 1843, 1016,
637
 
 
638
 
     1028, 1018, 1843, 1843, 1032, 1843, 1050, 1048, 1056, 1019,
639
 
     1038, 1036, 1843, 1843, 1020, 1039, 1025, 1024, 1041, 1046,
640
 
     1042, 1048, 1044, 1843, 1031, 1048, 1052, 1047, 1052, 1036,
641
 
     1054, 1843, 1843, 1035, 1843, 1058, 1045, 1047, 1044, 1057,
642
 
     1843, 1843, 1059, 1045, 1843, 1057, 1843, 1054, 1052, 1051,
643
 
     1055, 1056, 1843, 1843, 1843, 1066, 1055, 1069, 1055, 1062,
644
 
     1054, 1843, 1843, 1075, 1843, 1843, 1070, 1062, 1063, 1077,
645
 
     1074, 1083, 1071, 1843, 1068, 1843, 1101, 1106, 1106, 1110,
646
 
     1093, 1094, 1095, 1082, 1843, 1843, 1092, 1098, 1079, 1086,
647
 
     1089, 1099, 1083, 1086, 1093, 1843, 1101, 1087, 1103, 1105,
648
 
 
649
 
     1090, 1097, 1112, 1843, 1104, 1843, 1109, 1103, 1101, 1102,
650
 
     1843, 1104, 1105, 1111, 1102, 1843, 1116, 1103, 1110, 1117,
651
 
     1110, 1112, 1108, 1115, 1116, 1111, 1132, 1124, 1843, 1149,
652
 
     1147, 1155, 1843, 1843, 1134, 1135, 1128, 1136, 1843, 1130,
653
 
     1141, 1136, 1139, 1134, 1843, 1141, 1138, 1843, 1136, 1843,
654
 
     1843, 1140, 1150, 1150, 1147, 1155, 1843, 1152, 1145, 1146,
655
 
     1139, 1155, 1160, 1153, 1154, 1843, 1159, 1179, 1142, 1843,
656
 
     1147, 1843, 1159, 1168, 1150, 1185, 1188, 1191, 1162, 1170,
657
 
     1164, 1172, 1173, 1167, 1175, 1172, 1162, 1169, 1843, 1165,
658
 
     1163, 1181, 1172, 1187, 1177, 1172, 1171, 1187, 1184, 1169,
659
 
 
660
 
     1194, 1178, 1185, 1186, 1193, 1197, 1843, 1176, 1193, 1188,
661
 
     1192, 1197, 1843, 1843, 1843, 1197, 1189, 1199, 1191, 1185,
662
 
     1206, 1187, 1201, 1206, 1208, 1197, 1212, 1843, 1204, 1207,
663
 
     1213, 1843, 1196, 1843, 1219, 1843, 1220, 1843, 1843, 1219,
664
 
     1216, 1215, 1843, 1221, 1214, 1222, 1217, 1226, 1210, 1228,
665
 
     1212, 1843, 1843, 1843, 1843, 1843, 1215, 1843, 1843, 1236,
666
 
     1230, 1223, 1223, 1215, 1221, 1843, 1237, 1843, 1234, 1244,
667
 
     1230, 1843, 1232, 1242, 1234, 1244, 1242, 1250, 1237, 1235,
668
 
     1249, 1843, 1843, 1237, 1251, 1244, 1240, 1239, 1242, 1241,
669
 
     1244, 1843, 1251, 1246, 1256, 1843, 1843, 1248, 1262, 1259,
670
 
 
671
 
     1843, 1843, 1843, 1843, 1262, 1261, 1251, 1843, 1252, 1253,
672
 
     1259, 1255, 1268, 1269, 1270, 1261, 1272, 1268, 1267, 1270,
673
 
     1275, 1272, 1843, 1282, 1843, 1267, 1843, 1843, 1280, 1276,
674
 
     1843, 1843, 1320, 1326, 1324, 1330, 1332, 1333, 1334, 1337,
675
 
     1339
676
 
    } ;
677
 
 
678
 
static yyconst short int yy_def[1542] =
679
 
    {   0,
680
 
     1532,    1,    1,    1,    1,    1,    1,    1,    1,    1,
681
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,   19,
682
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
683
 
        1,   31,    1,    1,    1,    1,    1,    1, 1532, 1532,
684
 
     1532, 1532, 1533, 1534, 1535, 1532,   46,   46, 1536, 1532,
685
 
     1536, 1532, 1532, 1532, 1537, 1536, 1536, 1536, 1536, 1536,
686
 
     1536, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
687
 
     1532, 1532, 1532, 1532, 1532, 1532, 1536, 1532, 1532, 1532,
688
 
     1532, 1532, 1532, 1532, 1532, 1536, 1532, 1532, 1532, 1532,
689
 
     1532, 1536, 1536, 1532, 1532, 1532, 1532, 1532, 1536, 1532,
690
 
 
691
 
     1532, 1536, 1532, 1532, 1532, 1532, 1532,   56, 1536, 1532,
692
 
     1532, 1532, 1532, 1536, 1532, 1532, 1532, 1532, 1532,   56,
693
 
     1536, 1536, 1536, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
694
 
     1532, 1532, 1537,   56, 1536, 1532, 1532,   56, 1536, 1536,
695
 
     1536, 1532, 1532, 1532, 1532, 1532, 1532,   56, 1532, 1532,
696
 
     1532,   56, 1536, 1536, 1536, 1536, 1536, 1532, 1532, 1532,
697
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
698
 
       56, 1536, 1536, 1536, 1532, 1532, 1532, 1532, 1532, 1532,
699
 
     1532, 1532, 1532, 1532, 1533, 1532, 1534, 1538, 1539, 1536,
700
 
       46, 1540, 1536, 1532, 1532, 1532, 1532, 1537, 1536, 1536,
701
 
 
702
 
     1532, 1532, 1532, 1532, 1536, 1536, 1536, 1532, 1536, 1532,
703
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
704
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
705
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
706
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
707
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1536, 1536,
708
 
     1532, 1532, 1532, 1532, 1536, 1532, 1532, 1532, 1532, 1532,
709
 
     1532, 1536, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
710
 
     1536, 1532, 1536, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
711
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
712
 
 
713
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
714
 
     1536, 1532, 1536, 1536, 1532, 1532, 1532, 1532, 1532, 1532,
715
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
716
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
717
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
718
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1541,
719
 
     1539, 1540, 1536, 1532, 1532, 1536, 1532, 1532, 1532, 1532,
720
 
     1532, 1532, 1536, 1532, 1532, 1536, 1532, 1532, 1532, 1532,
721
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
722
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
723
 
 
724
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
725
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
726
 
     1532, 1532, 1532, 1532, 1532, 1532, 1536, 1532, 1532, 1532,
727
 
     1532, 1532, 1536, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
728
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1536, 1532,
729
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
730
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
731
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
732
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
733
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
734
 
 
735
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
736
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
737
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
738
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
739
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
740
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
741
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
742
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
743
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
744
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
745
 
 
746
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
747
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
748
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
749
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
750
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
751
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
752
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
753
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
754
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
755
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
756
 
 
757
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
758
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
759
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
760
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
761
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
762
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
763
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
764
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
765
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
766
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
767
 
 
768
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
769
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
770
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
771
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
772
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
773
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
774
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
775
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
776
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
777
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
778
 
 
779
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
780
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
781
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
782
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
783
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
784
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
785
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
786
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
787
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
788
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
789
 
 
790
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
791
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
792
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
793
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
794
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
795
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
796
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
797
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
798
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
799
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
800
 
 
801
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
802
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
803
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
804
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
805
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
806
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
807
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
808
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
809
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
810
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
811
 
 
812
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
813
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
814
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
815
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
816
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
817
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
818
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
819
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
820
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
821
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
822
 
 
823
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
824
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
825
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
826
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
827
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
828
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
829
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
830
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
831
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
832
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
833
 
 
834
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
835
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
836
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
837
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
838
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
839
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
840
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
841
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
842
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
843
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
844
 
 
845
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
846
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
847
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
848
 
     1532,    0, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
849
 
     1532
850
 
    } ;
851
 
 
852
 
static yyconst short int yy_nxt[1903] =
853
 
    {   0,
854
 
       40,   41,   42,   43,   44,   40,   40,   40,   40,   45,
855
 
       46,   47,   47,   48,   47,   47,   47,   47,   47,   47,
856
 
       49,   50,   49,   51,   40,   52,   53,   54,   55,   40,
857
 
       40,   56,   57,   58,   59,   60,   61,   62,   63,   64,
858
 
       40,   65,   66,   67,   68,   69,   70,   40,   71,   72,
859
 
       73,   74,   75,   40,   40,   76,   40,   40,   40,   77,
860
 
       86,  225,  148,   78,   87,   79,  189,  226,   80,   81,
861
 
      149,  148,   82,  931,   83,   84,   85,   77,   88,  149,
862
 
      189,   78,  181,   79,   89,   90,   80,   81,  150,   91,
863
 
       82,   86,   83,   84,   85,   87,  363,  150,  240,  932,
864
 
 
865
 
       92,   93,  189,  182,  251,   98,  205,   94,   91,   88,
866
 
      206,   98,  183,  241,   95,   89,   90,   96,   99,   92,
867
 
       93,  252,  189,  100,   99,  189,   94,  102,  101,  100,
868
 
      102,  267,  207,   95,  101,  103,   96,  226,  103,  108,
869
 
      104,  105,  109,  104,  105,  219,  208,  110,  132,  106,
870
 
      107,  108,  106,  107,  109,  133,  220,  111,  134,  110,
871
 
      933,  114,  203,  135,  211,  112,  113,  115,  193,  111,
872
 
      114,  181,  116,  194,  117,  204,  115,  112,  113,  257,
873
 
      212,  116,  189,  117,  136,  118,  119,  189, 1532,  216,
874
 
      217,  240,  182,  132,  118,  119,  120,  121,  122,  123,
875
 
 
876
 
      133,  183,  218,  134,  227,  189,  258,  124,  135,  125,
877
 
      209,  126,  228,  127,  128,  237,  199,  200,  129,  229,
878
 
      201,  238,  130,  131,  189,  213,  210,  214,  222,  136,
879
 
      137,  202,  231,  223,  366,  239,  934,  215,  232,  224,
880
 
      216,  246,  234,  248,  270,  235,  231,  281,  233,  249,
881
 
      205,  247,  232,  218,  206,  138,  139,  140,  236,  141,
882
 
      221,  189,  233,  142,  244,  282,  143,  144,  222,  231,
883
 
      145,  253,  237,  223,  146,  232,  189,  254,  255,  250,
884
 
      262,  234,  147,  137,  235,  233,  278,  205,  189,  263,
885
 
      286,  206,  239,  264,  256,  234,  189,  236,  235,  189,
886
 
 
887
 
      225,  221,  259,  935,  216,  217,  226,  189,  138,  139,
888
 
      140,  236,  141,  203,  205,  261,  142,  218,  260,  143,
889
 
      144,  216,  217,  145,  209,  269,  204,  146,  222,  265,
890
 
      189,  304,  266,  223,  218,  147,  151,  323,  234,  224,
891
 
      210,  235,  287,  208,  203,  268,  279,  189,  221,  280,
892
 
      189,  212,  288,  271,  236,  189,  205,  300,  226,  230,
893
 
      206,  152,  153,  154,  155,  156,  157,  158,  189,  159,
894
 
      276,  160,  161,  162,  163,  164,  165,  207,  427,  166,
895
 
      167,  273,  168,  449,  169,  216,  217,  189,  170,  171,
896
 
      172,  208,  173,  174,  234,  175,  176,  235,  218,  306,
897
 
 
898
 
      177,  274,  189,  189,  292,  541,  231,  405,  178,  275,
899
 
      236,  230,  232,  423,  222,  179,  180,  171,  172,  223,
900
 
      173,  174,  233,  175,  176,  224,  216,  217,  177,  211,
901
 
      298,  209,  207,  348,  936,  305,  178,  277,  189,  218,
902
 
      189,  285,  302,  179,  180,  189,  208,  210,  190,  349,
903
 
      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
904
 
      190,  189,  190,  190,  205,  289,  283,  189,  206,  189,
905
 
      290,  190,  190,  190,  190,  190,  190,  203,  284,  291,
906
 
      293,  328,  230,  237,  234,  216,  303,  235,  189,  307,
907
 
      204,  189,  220,  205,  192,  216,  217,  206,  218,  189,
908
 
 
909
 
      236,  189,  329,  239,  294,  367,  309,  301,  218,  322,
910
 
      392,  211,  330,  418,  311,  222,  435,  313,  189,  221,
911
 
      223,  314,  216,  324,  499,  203,  331,  209,  315,  419,
912
 
      325,  207,  333,  326,  316,  327,  332,  189,  312,  189,
913
 
      317,  318,  319,  320,  386,  208,  334,  335,  321,  237,
914
 
      336,  227,  226,  189,  337,  346,  189,  338,  341,  228,
915
 
      342,  339,  371,  235,  343,  355,  229,  340,  356,  239,
916
 
      189,  358,  237,  189,  203,  344,  345,  213,  357,  214,
917
 
      376,  189,  372,  207,  209,  221,  352,  351,  240,  215,
918
 
      397,  398,  239,  189,  396,  353,  221,  208,  420,  189,
919
 
 
920
 
      210,  373,  189,  241,  359,  465,  405,  189,  189,  490,
921
 
      189,  491,  476,  385,  374,  466,  496,  405,  396,  405,
922
 
      403,  513,  366,  518,  428,  529,  433,  497,  511,  498,
923
 
      373,  440,  514,  482,  517,  409,  189,  189,  189,  519,
924
 
      555,  451,  556,  374,  562,  565,  567,  568,  569,  566,
925
 
      570,  480,  371,  483,  577,  546,  551,  563,  564,  581,
926
 
      189,  189,  189,  619,  551,  551,  558,  937,  664,  578,
927
 
      557,  621,  558,  620,  730,  667,  544,  635,  656,  557,
928
 
      533,  535,  565,  688,  689,  675,  566,  703,  938,  731,
929
 
      939,  704,  715,  716,  717,  718,  591,  719,  720,  721,
930
 
 
931
 
      753,  799,  613,  803,  856,  701,  701,  597,  853,  861,
932
 
      857,  854,  804,  940,  862,  878,  879,  805,  880,  904,
933
 
      905,  906,  920,  921,  923,  924,  941,  942,  943,  944,
934
 
      945,  946,  947,  948,  949,  950,  951,  952,  953,  954,
935
 
      955,  956,  957,  958,  959,  960,  961,  962,  963,  964,
936
 
      965,  966,  967,  968,  969,  970,  971,  972,  973,  974,
937
 
      975,  976,  977,  978,  979,  980,  981,  982,  983,  984,
938
 
      985,  986,  987,  988,  989,  990,  991,  992,  993,  995,
939
 
      996,  994,  997,  998,  999, 1000, 1001,  555, 1002, 1003,
940
 
     1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
941
 
 
942
 
      566, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
943
 
     1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032,
944
 
     1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042,
945
 
     1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052,
946
 
     1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
947
 
     1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072,
948
 
     1073, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
949
 
     1084, 1085, 1086, 1088, 1074, 1089, 1090, 1091, 1087, 1092,
950
 
     1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
951
 
     1104, 1105, 1093, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
952
 
 
953
 
     1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123,
954
 
     1124, 1125, 1126, 1113, 1127, 1128, 1129, 1130, 1131, 1132,
955
 
     1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
956
 
     1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152,
957
 
     1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162,
958
 
     1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172,
959
 
     1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182,
960
 
     1183, 1184, 1185, 1186, 1187, 1188, 1190, 1191, 1192, 1193,
961
 
     1194, 1195, 1197, 1198, 1199, 1200, 1201, 1196, 1109, 1202,
962
 
     1203, 1204, 1189, 1205, 1206, 1207, 1208, 1210, 1209, 1211,
963
 
 
964
 
     1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221,
965
 
     1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231,
966
 
     1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
967
 
     1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
968
 
     1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261,
969
 
     1262, 1263, 1264, 1265, 1266, 1267, 1269, 1270, 1268, 1271,
970
 
     1272, 1273, 1274, 1275, 1276, 1277, 1279, 1280, 1281, 1282,
971
 
     1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
972
 
     1278, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301,
973
 
     1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311,
974
 
 
975
 
     1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321,
976
 
     1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331,
977
 
     1333, 1332, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341,
978
 
     1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
979
 
     1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361,
980
 
     1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371,
981
 
     1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1381, 1383,
982
 
     1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
983
 
     1394, 1395, 1396, 1380, 1382, 1397, 1398, 1399, 1400, 1401,
984
 
     1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
985
 
 
986
 
     1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
987
 
     1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431,
988
 
     1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441,
989
 
     1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451,
990
 
     1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461,
991
 
     1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471,
992
 
     1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481,
993
 
     1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491,
994
 
     1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501,
995
 
     1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511,
996
 
 
997
 
     1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521,
998
 
     1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531,
999
 
      185,  185,  185,  185,  185,  185,  187,  188,  187,  187,
1000
 
      187,  187,  190,  190,  190,  198,  360,  361,  361,  361,
1001
 
      362,  362,  532,  930,  929,  928,  927,  926,  925,  922,
1002
 
      919,  918,  917,  916,  915,  914,  913,  912,  911,  910,
1003
 
      909,  908,  907,  903,  902,  901,  900,  899,  898,  897,
1004
 
      896,  895,  894,  893,  892,  891,  890,  889,  888,  887,
1005
 
      886,  885,  884,  883,  882,  881,  877,  876,  875,  874,
1006
 
      873,  872,  871,  870,  869,  868,  867,  866,  865,  864,
1007
 
 
1008
 
      863,  860,  859,  858,  855,  852,  851,  850,  849,  848,
1009
 
      847,  846,  845,  844,  843,  842,  841,  840,  839,  838,
1010
 
      837,  836,  699,  835,  834,  833,  832,  831,  830,  829,
1011
 
      828,  827,  826,  825,  824,  823,  822,  821,  820,  819,
1012
 
      818,  817,  816,  815,  814,  813,  812,  811,  810,  809,
1013
 
      808,  807,  806,  802,  801,  800,  798,  699,  797,  796,
1014
 
      795,  794,  793,  792,  791,  790,  789,  699,  788,  787,
1015
 
      786,  785,  784,  783,  782,  781,  780,  779,  778,  777,
1016
 
      776,  775,  774,  773,  772,  771,  770,  769,  768,  767,
1017
 
      766,  765,  764,  763,  762,  761,  760,  759,  758,  757,
1018
 
 
1019
 
      756,  755,  754,  752,  737,  751,  750,  749,  748,  747,
1020
 
      746,  745,  744,  743,  742,  741,  740,  739,  738,  737,
1021
 
      736,  735,  734,  733,  732,  729,  728,  727,  726,  725,
1022
 
      724,  723,  722,  714,  713,  712,  711,  710,  709,  708,
1023
 
      707,  706,  705,  702,  701,  700,  699,  698,  697,  696,
1024
 
      695,  694,  693,  692,  691,  690,  687,  686,  685,  684,
1025
 
      683,  682,  681,  680,  679,  678,  677,  676,  674,  673,
1026
 
      672,  671,  670,  669,  668,  666,  665,  663,  662,  661,
1027
 
      660,  659,  658,  657,  655,  654,  653,  652,  651,  650,
1028
 
      649,  648,  647,  646,  645,  644,  643,  642,  641,  640,
1029
 
 
1030
 
      639,  638,  637,  636,  634,  633,  632,  631,  630,  629,
1031
 
      628,  627,  626,  625,  624,  623,  622,  618,  617,  616,
1032
 
      615,  614,  612,  611,  610,  609,  608,  607,  606,  605,
1033
 
      604,  603,  602,  601,  600,  599,  598,  596,  595,  594,
1034
 
      593,  592,  590,  589,  588,  587,  586,  585,  584,  583,
1035
 
      582,  580,  579,  576,  575,  574,  573,  572,  571,  561,
1036
 
      560,  559,  558,  557,  554,  553,  552,  551,  550,  549,
1037
 
      548,  547,  546,  545,  543,  542,  540,  539,  538,  537,
1038
 
      536,  534,  531,  530,  528,  527,  526,  525,  524,  523,
1039
 
      522,  521,  520,  516,  515,  512,  510,  509,  508,  507,
1040
 
 
1041
 
      506,  505,  504,  503,  502,  501,  500,  495,  494,  493,
1042
 
      492,  489,  488,  487,  486,  485,  484,  481,  479,  478,
1043
 
      477,  475,  474,  473,  472,  471,  470,  469,  468,  467,
1044
 
      464,  463,  462,  461,  460,  459,  458,  457,  456,  455,
1045
 
      454,  453,  452,  450,  448,  447,  446,  445,  444,  443,
1046
 
      442,  441,  439,  438,  437,  436,  434,  432,  431,  430,
1047
 
      429,  426,  425,  424,  422,  421,  417,  416,  415,  414,
1048
 
      413,  412,  411,  410,  409,  408,  407,  406,  405,  404,
1049
 
      403,  402,  401,  400,  399,  396,  395,  394,  393,  392,
1050
 
      391,  390,  389,  388,  387,  386,  385,  384,  383,  382,
1051
 
 
1052
 
      381,  380,  379,  378,  377,  375,  370,  369,  368,  365,
1053
 
      364, 1532,  189,  186,  184,  354,  350,  347,  310,  308,
1054
 
      299,  297,  296,  295,  272,  245,  243,  242,  230,  221,
1055
 
      212,  197,  196,  195,  189,  189, 1532,  186,  184, 1532,
1056
 
       97,   97,   39, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1057
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1058
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1059
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1060
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1061
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1062
 
 
1063
 
     1532, 1532
1064
 
    } ;
1065
 
 
1066
 
static yyconst short int yy_chk[1903] =
1067
 
    {   0,
1068
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1069
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1070
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1071
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1072
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1073
 
        1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
1074
 
        5,   68,   29,    3,    5,    3,  193,   68,    3,    3,
1075
 
       29,   30,    3,  782,    3,    3,    3,    4,    5,   30,
1076
 
       58,    4,   37,    4,    5,    5,    4,    4,   29,    7,
1077
 
        4,    6,    4,    4,    4,    6,  193,   30,   74,  783,
1078
 
 
1079
 
        7,    7,   59,   37,   82,   11,   58,    7,    8,    6,
1080
 
       58,   12,   37,   74,    7,    6,    6,    7,   11,    8,
1081
 
        8,   82,   61,   11,   12,   57,    8,   13,   11,   12,
1082
 
       14,  101,   59,    8,   12,   13,    8,  101,   14,   15,
1083
 
       13,   13,   15,   14,   14,   65,   59,   15,   25,   13,
1084
 
       13,   16,   14,   14,   16,   25,   65,   15,   25,   16,
1085
 
      784,   17,   57,   25,   61,   15,   15,   17,   48,   16,
1086
 
       18,   38,   17,   48,   17,   57,   18,   16,   16,   87,
1087
 
       87,   18,   60,   18,   25,   17,   17,   56,   48,   64,
1088
 
       64,   88,   38,   26,   18,   18,   19,   19,   19,   19,
1089
 
 
1090
 
       26,   38,   64,   26,   69,  199,   88,   19,   26,   19,
1091
 
       60,   19,   69,   19,   19,   73,   56,   56,   19,   69,
1092
 
       56,   73,   19,   19,   77,   63,   60,   63,   67,   26,
1093
 
       27,   56,   71,   67,  199,   73,  787,   63,   71,   67,
1094
 
       79,   79,   72,   80,  104,   72,  104,  120,   71,   80,
1095
 
       77,   79,  104,   79,   77,   27,   27,   27,   72,   27,
1096
 
       80,   86,  104,   27,   77,  120,   27,   27,   81,   83,
1097
 
       27,   83,   85,   81,   27,   83,   92,   84,   85,   81,
1098
 
       95,   84,   27,   28,   84,   83,  116,   86,   93,   95,
1099
 
      124,   86,   85,   96,   86,   96,  102,   84,   96,   99,
1100
 
 
1101
 
      116,  124,   92,  788,   94,   94,  116,  139,   28,   28,
1102
 
       28,   96,   28,   92,   93,   94,   28,   94,   93,   28,
1103
 
       28,  100,  100,   28,  102,  103,   92,   28,  103,   99,
1104
 
      114,  143,  100,  103,  100,   28,   31,  158,  105,  103,
1105
 
      102,  105,  125,   99,  139,  102,  117,  109,  143,  117,
1106
 
      259,  158,  125,  105,  105,  281,  114,  139,  125,  117,
1107
 
      114,   31,   31,   31,   31,   31,   31,   31,  373,   31,
1108
 
      114,   31,   31,   31,   31,   31,   31,  109,  259,   31,
1109
 
       31,  109,   31,  281,   31,  110,  110,  135,   31,   33,
1110
 
       33,  109,   33,   33,  111,   33,   33,  111,  110,  145,
1111
 
 
1112
 
       33,  110,  123,  141,  127,  373,  127,  255,   33,  111,
1113
 
      111,  145,  127,  255,  144,   33,   33,   34,   34,  144,
1114
 
       34,   34,  127,   34,   34,  144,  115,  115,   34,  135,
1115
 
      135,  141,  123,  169,  789,  144,   34,  115,  122,  115,
1116
 
      121,  123,  141,   34,   34,   46,  123,  141,   46,  169,
1117
 
       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
1118
 
       46,  200,   46,   46,  122,  126,  121,  140,  122,  157,
1119
 
      126,   46,   46,   46,   46,   46,   46,  121,  122,  126,
1120
 
      128,  160,  126,  146,  128,  142,  142,  128,  153,  146,
1121
 
      121,  154,  160,  140,   46,  149,  149,  140,  142,  156,
1122
 
 
1123
 
      128,  155,  161,  146,  128,  200,  149,  140,  149,  157,
1124
 
      267,  157,  162,  251,  153,  162,  267,  154,  205,  161,
1125
 
      162,  154,  159,  159,  328,  153,  162,  156,  154,  251,
1126
 
      159,  155,  163,  159,  155,  159,  162,  172,  153,  206,
1127
 
      155,  155,  155,  156,  328,  155,  163,  164,  156,  167,
1128
 
      165,  164,  163,  173,  165,  167,  174,  165,  166,  164,
1129
 
      166,  165,  205,  166,  166,  176,  164,  165,  177,  167,
1130
 
      207,  182,  178,  209,  172,  166,  166,  176,  178,  176,
1131
 
      209,  260,  206,  173,  174,  177,  173,  172,  183,  176,
1132
 
      231,  231,  178,  272,  252,  174,  182,  173,  252,  265,
1133
 
 
1134
 
      174,  207,  283,  183,  183,  297,  307,  311,  313,  321,
1135
 
      314,  321,  307,  327,  207,  297,  326,  346,  340,  357,
1136
 
      345,  342,  272,  346,  260,  357,  265,  326,  340,  327,
1137
 
      265,  272,  342,  313,  345,  347,  363,  376,  366,  347,
1138
 
      390,  283,  390,  265,  400,  401,  402,  402,  402,  401,
1139
 
      402,  311,  313,  314,  412,  412,  413,  400,  400,  417,
1140
 
      427,  433,  449,  455,  472,  494,  456,  790,  502,  413,
1141
 
      417,  456,  505,  455,  568,  505,  376,  472,  494,  502,
1142
 
      363,  366,  513,  526,  526,  513,  513,  542,  791,  568,
1143
 
      792,  542,  557,  557,  557,  557,  427,  557,  557,  557,
1144
 
 
1145
 
      592,  646,  449,  650,  708,  592,  646,  433,  706,  715,
1146
 
      708,  706,  650,  793,  715,  731,  731,  650,  731,  758,
1147
 
      758,  758,  772,  772,  774,  774,  794,  795,  796,  797,
1148
 
      798,  799,  801,  802,  803,  804,  805,  806,  808,  810,
1149
 
      811,  812,  813,  814,  815,  816,  817,  818,  819,  820,
1150
 
      821,  822,  823,  824,  825,  826,  827,  828,  829,  830,
1151
 
      831,  832,  833,  834,  835,  836,  837,  838,  839,  840,
1152
 
      841,  842,  843,  844,  846,  847,  848,  849,  850,  851,
1153
 
      853,  850,  854,  855,  856,  857,  858,  860,  861,  862,
1154
 
      863,  864,  865,  866,  867,  868,  869,  870,  871,  872,
1155
 
 
1156
 
      876,  878,  879,  880,  884,  885,  886,  887,  888,  889,
1157
 
      890,  892,  893,  894,  898,  899,  900,  901,  902,  908,
1158
 
      909,  910,  911,  912,  913,  914,  915,  916,  917,  918,
1159
 
      919,  922,  923,  924,  926,  927,  928,  929,  930,  932,
1160
 
      934,  935,  936,  937,  938,  939,  940,  941,  942,  943,
1161
 
      944,  945,  946,  947,  949,  950,  951,  952,  953,  954,
1162
 
      955,  956,  957,  958,  959,  960,  961,  962,  963,  964,
1163
 
      965,  966,  967,  968,  955,  969,  970,  972,  967,  973,
1164
 
      974,  976,  977,  978,  979,  980,  981,  983,  984,  985,
1165
 
      987,  989,  973,  991,  993,  994,  998,  999, 1000, 1001,
1166
 
 
1167
 
     1002, 1003, 1004, 1005, 1006, 1007, 1009, 1010, 1011, 1012,
1168
 
     1013, 1014, 1015, 1001, 1016, 1018, 1019, 1020, 1021, 1022,
1169
 
     1024, 1027, 1028, 1031, 1032, 1033, 1034, 1035, 1036, 1037,
1170
 
     1038, 1039, 1041, 1042, 1044, 1045, 1046, 1047, 1048, 1049,
1171
 
     1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059,
1172
 
     1060, 1061, 1063, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
1173
 
     1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
1174
 
     1082, 1083, 1084, 1086, 1087, 1088, 1089, 1090, 1092, 1094,
1175
 
     1095, 1096, 1097, 1098, 1099, 1100, 1101, 1096, 1101, 1102,
1176
 
     1103, 1104, 1088, 1109, 1111, 1111, 1111, 1112, 1111, 1113,
1177
 
 
1178
 
     1123, 1128, 1129, 1130, 1131, 1132, 1135, 1136, 1137, 1138,
1179
 
     1139, 1140, 1141, 1143, 1144, 1146, 1147, 1148, 1149, 1150,
1180
 
     1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1162, 1163,
1181
 
     1164, 1165, 1166, 1168, 1169, 1170, 1172, 1173, 1174, 1175,
1182
 
     1177, 1178, 1179, 1180, 1183, 1184, 1185, 1186, 1187, 1188,
1183
 
     1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1194, 1197,
1184
 
     1198, 1200, 1201, 1202, 1205, 1207, 1208, 1209, 1210, 1211,
1185
 
     1212, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223,
1186
 
     1207, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1234, 1236,
1187
 
     1237, 1238, 1239, 1240, 1243, 1244, 1246, 1248, 1249, 1250,
1188
 
 
1189
 
     1251, 1252, 1256, 1257, 1258, 1259, 1260, 1261, 1264, 1267,
1190
 
     1268, 1269, 1270, 1271, 1272, 1273, 1275, 1277, 1278, 1278,
1191
 
     1279, 1278, 1280, 1281, 1282, 1283, 1284, 1287, 1288, 1289,
1192
 
     1290, 1291, 1292, 1293, 1294, 1295, 1297, 1298, 1299, 1300,
1193
 
     1301, 1302, 1303, 1305, 1307, 1308, 1309, 1310, 1312, 1313,
1194
 
     1314, 1315, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324,
1195
 
     1325, 1326, 1327, 1328, 1330, 1331, 1332, 1335, 1336, 1337,
1196
 
     1338, 1340, 1341, 1342, 1343, 1344, 1346, 1347, 1349, 1352,
1197
 
     1353, 1354, 1355, 1335, 1336, 1356, 1358, 1359, 1360, 1361,
1198
 
     1362, 1363, 1364, 1365, 1367, 1368, 1369, 1371, 1373, 1374,
1199
 
 
1200
 
     1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384,
1201
 
     1385, 1386, 1387, 1388, 1390, 1391, 1392, 1393, 1394, 1395,
1202
 
     1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405,
1203
 
     1406, 1408, 1409, 1410, 1411, 1412, 1416, 1417, 1418, 1419,
1204
 
     1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1429, 1430,
1205
 
     1431, 1433, 1435, 1437, 1440, 1441, 1442, 1444, 1445, 1446,
1206
 
     1447, 1448, 1449, 1450, 1451, 1457, 1460, 1461, 1462, 1463,
1207
 
     1464, 1465, 1467, 1469, 1470, 1471, 1473, 1474, 1475, 1476,
1208
 
     1477, 1478, 1479, 1480, 1481, 1484, 1485, 1486, 1487, 1488,
1209
 
     1489, 1490, 1491, 1493, 1494, 1495, 1498, 1499, 1500, 1505,
1210
 
 
1211
 
     1506, 1507, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516,
1212
 
     1517, 1518, 1519, 1520, 1521, 1522, 1524, 1526, 1529, 1530,
1213
 
     1533, 1533, 1533, 1533, 1533, 1533, 1534, 1535, 1534, 1534,
1214
 
     1534, 1534, 1536, 1536, 1536, 1537, 1538, 1539, 1539, 1539,
1215
 
     1540, 1540, 1541,  781,  780,  779,  778,  776,  775,  773,
1216
 
      771,  770,  769,  768,  767,  766,  765,  764,  763,  762,
1217
 
      761,  760,  759,  757,  756,  755,  754,  753,  752,  750,
1218
 
      748,  747,  746,  745,  744,  743,  742,  741,  740,  739,
1219
 
      738,  737,  736,  734,  733,  732,  730,  729,  728,  727,
1220
 
      726,  725,  724,  723,  722,  721,  720,  719,  718,  717,
1221
 
 
1222
 
      716,  714,  712,  710,  707,  705,  704,  703,  702,  701,
1223
 
      700,  698,  697,  696,  694,  693,  691,  690,  689,  688,
1224
 
      687,  686,  685,  684,  683,  681,  679,  678,  677,  676,
1225
 
      675,  674,  673,  672,  671,  670,  669,  667,  666,  665,
1226
 
      664,  662,  661,  660,  659,  658,  657,  656,  655,  654,
1227
 
      653,  652,  651,  649,  648,  647,  645,  644,  642,  641,
1228
 
      640,  638,  637,  636,  635,  634,  633,  632,  631,  629,
1229
 
      628,  627,  626,  625,  624,  623,  622,  620,  619,  618,
1230
 
      616,  615,  614,  613,  612,  611,  610,  609,  608,  607,
1231
 
      606,  605,  604,  603,  602,  601,  600,  599,  597,  596,
1232
 
 
1233
 
      595,  594,  593,  591,  590,  589,  588,  587,  586,  585,
1234
 
      584,  582,  581,  580,  579,  578,  577,  576,  575,  574,
1235
 
      573,  572,  571,  570,  569,  565,  564,  563,  562,  561,
1236
 
      560,  559,  558,  556,  553,  552,  550,  549,  548,  547,
1237
 
      546,  544,  543,  541,  540,  539,  538,  537,  536,  535,
1238
 
      534,  531,  530,  529,  528,  527,  525,  524,  523,  522,
1239
 
      521,  520,  519,  518,  517,  516,  515,  514,  512,  511,
1240
 
      510,  509,  508,  507,  506,  504,  503,  501,  500,  499,
1241
 
      498,  497,  496,  495,  493,  492,  491,  490,  489,  488,
1242
 
      486,  485,  484,  483,  482,  481,  480,  479,  478,  477,
1243
 
 
1244
 
      476,  475,  474,  473,  471,  470,  469,  468,  467,  465,
1245
 
      464,  463,  462,  461,  460,  459,  458,  454,  453,  452,
1246
 
      451,  450,  448,  447,  446,  445,  444,  443,  442,  441,
1247
 
      440,  439,  438,  437,  436,  435,  434,  432,  431,  430,
1248
 
      429,  428,  426,  425,  424,  423,  422,  421,  420,  419,
1249
 
      418,  415,  414,  411,  409,  408,  406,  405,  403,  399,
1250
 
      396,  393,  392,  391,  387,  386,  385,  384,  383,  382,
1251
 
      381,  380,  379,  378,  375,  374,  372,  371,  370,  369,
1252
 
      368,  364,  359,  358,  356,  355,  354,  353,  352,  351,
1253
 
      350,  349,  348,  344,  343,  341,  339,  338,  337,  336,
1254
 
 
1255
 
      335,  334,  333,  332,  331,  330,  329,  325,  324,  323,
1256
 
      322,  320,  319,  318,  317,  316,  315,  312,  310,  309,
1257
 
      308,  306,  305,  304,  303,  302,  301,  300,  299,  298,
1258
 
      296,  295,  294,  293,  292,  291,  290,  289,  288,  287,
1259
 
      286,  285,  284,  282,  280,  279,  278,  277,  276,  275,
1260
 
      274,  273,  271,  270,  269,  268,  266,  264,  263,  262,
1261
 
      261,  258,  257,  256,  254,  253,  250,  249,  248,  247,
1262
 
      246,  245,  244,  243,  242,  241,  240,  239,  238,  237,
1263
 
      236,  235,  234,  233,  232,  230,  229,  227,  226,  225,
1264
 
      224,  223,  222,  221,  220,  219,  218,  217,  216,  215,
1265
 
 
1266
 
      214,  213,  212,  211,  210,  208,  204,  203,  202,  198,
1267
 
      194,  191,  190,  185,  184,  175,  171,  168,  152,  148,
1268
 
      138,  134,  133,  129,  108,   78,   76,   75,   70,   66,
1269
 
       62,   54,   53,   52,   51,   49,   47,   43,   41,   39,
1270
 
       10,    9, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1271
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1272
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1273
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1274
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1275
 
     1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532, 1532,
1276
 
 
1277
 
     1532, 1532
1278
 
    } ;
1279
 
 
1280
 
static yy_state_type yy_last_accepting_state;
1281
 
static char *yy_last_accepting_cpos;
1282
 
 
1283
 
/* The intent behind this definition is that it'll catch
1284
 
 * any uses of REJECT which flex missed.
1285
 
 */
1286
 
#define REJECT reject_used_but_not_detected
1287
 
static int yy_more_flag = 0;
1288
 
static int yy_more_len = 0;
1289
 
#define yymore() (yy_more_flag = 1)
1290
 
#define YY_MORE_ADJ yy_more_len
1291
 
#define YY_RESTORE_YY_MORE_OFFSET
1292
 
char *yytext;
1293
 
#line 1 "./cftoken.l"
1294
 
#define INITIAL 0
1295
 
/* $Id: cftoken.l,v 1.31.2.7 2005/11/06 17:18:26 monas Exp $ */
1296
 
#line 4 "./cftoken.l"
1297
 
/*
1298
 
 * Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 and 2003 WIDE Project.
1299
 
 * All rights reserved.
1300
 
 *
1301
 
 * Redistribution and use in source and binary forms, with or without
1302
 
 * modification, are permitted provided that the following conditions
1303
 
 * are met:
1304
 
 * 1. Redistributions of source code must retain the above copyright
1305
 
 *    notice, this list of conditions and the following disclaimer.
1306
 
 * 2. Redistributions in binary form must reproduce the above copyright
1307
 
 *    notice, this list of conditions and the following disclaimer in the
1308
 
 *    documentation and/or other materials provided with the distribution.
1309
 
 * 3. Neither the name of the project nor the names of its contributors
1310
 
 *    may be used to endorse or promote products derived from this software
1311
 
 *    without specific prior written permission.
1312
 
 *
1313
 
 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
1314
 
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1315
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1316
 
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
1317
 
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1318
 
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1319
 
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1320
 
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1321
 
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1322
 
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1323
 
 * SUCH DAMAGE.
1324
 
 */
1325
 
 
1326
 
#include "config.h"
1327
 
 
1328
 
#include <sys/types.h>
1329
 
#include <sys/param.h>
1330
 
#include <sys/socket.h>
1331
 
 
1332
 
#include <netinet/in.h>
1333
 
#ifdef HAVE_NETINET6_IPSEC 
1334
 
#  include <netinet6/ipsec.h>
1335
 
#else 
1336
 
#  include <netinet/ipsec.h>
1337
 
#endif
1338
 
 
1339
 
#include <stdlib.h>
1340
 
#include <stdio.h>
1341
 
#include <string.h>
1342
 
#include <errno.h>
1343
 
#include <limits.h>
1344
 
#include <ctype.h>
1345
 
#include <glob.h>
1346
 
#ifdef HAVE_STDARG_H
1347
 
#include <stdarg.h>
1348
 
#else
1349
 
#include <varargs.h>
1350
 
#endif
1351
 
 
1352
 
#include "var.h"
1353
 
#include "misc.h"
1354
 
#include "vmbuf.h"
1355
 
#include "plog.h"
1356
 
#include "debug.h"
1357
 
 
1358
 
#include "algorithm.h"
1359
 
#include "cfparse_proto.h"
1360
 
#include "cftoken_proto.h"
1361
 
#include "localconf.h"
1362
 
#include "oakley.h"
1363
 
#include "isakmp_var.h"
1364
 
#include "isakmp.h"
1365
 
#include "ipsec_doi.h"
1366
 
#include "proposal.h"
1367
 
#include "nattraversal.h"
1368
 
#ifdef GC
1369
 
#include "gcmalloc.h"
1370
 
#endif
1371
 
 
1372
 
#include "cfparse.h"
1373
 
 
1374
 
int yyerrorcount = 0;
1375
 
 
1376
 
#if defined(YIPS_DEBUG)
1377
 
#  define YYDB plog(LLV_DEBUG2, LOCATION, NULL,                                \
1378
 
                "begin <%d>%s\n", yy_start, yytext);
1379
 
#  define YYD {                                                                \
1380
 
        plog(LLV_DEBUG2, LOCATION, NULL, "<%d>%s",                             \
1381
 
            yy_start, loglevel >= LLV_DEBUG2 ? "\n" : "");                     \
1382
 
}
1383
 
#else
1384
 
#  define YYDB
1385
 
#  define YYD
1386
 
#endif /* defined(YIPS_DEBUG) */
1387
 
 
1388
 
#define MAX_INCLUDE_DEPTH 10
1389
 
 
1390
 
static struct include_stack {
1391
 
        char *path;
1392
 
        FILE *fp;
1393
 
        YY_BUFFER_STATE prevstate;
1394
 
        int lineno;
1395
 
        glob_t matches;
1396
 
        int matchon;
1397
 
} incstack[MAX_INCLUDE_DEPTH];
1398
 
static int incstackp = 0;
1399
 
 
1400
 
static int yy_first_time = 1;
1401
 
/* common seciton */
1402
 
/*octet         (([01]?{digit}?{digit})|((2([0-4]{digit}))|(25[0-5]))) */
1403
 
#define S_INI 1
1404
 
#define S_PRIV 2
1405
 
#define S_PTH 3
1406
 
#define S_INF 4
1407
 
#define S_LOG 5
1408
 
#define S_PAD 6
1409
 
#define S_LST 7
1410
 
#define S_RTRY 8
1411
 
#define S_CFG 9
1412
 
 
1413
 
#define S_ALGST 10
1414
 
#define S_ALGCL 11
1415
 
 
1416
 
#define S_SAINF 12
1417
 
#define S_SAINFS 13
1418
 
 
1419
 
#define S_RMT 14
1420
 
#define S_RMTS 15
1421
 
#define S_RMTP 16
1422
 
 
1423
 
#define S_SA 17
1424
 
 
1425
 
#define S_GSSENC 18
1426
 
 
1427
 
#line 1428 "cftoken.c"
1428
 
 
1429
 
/* Macros after this point can all be overridden by user definitions in
1430
 
 * section 1.
1431
 
 */
1432
 
 
1433
 
#ifndef YY_SKIP_YYWRAP
1434
 
#ifdef __cplusplus
1435
 
extern "C" int yywrap YY_PROTO(( void ));
1436
 
#else
1437
 
extern int yywrap YY_PROTO(( void ));
1438
 
#endif
1439
 
#endif
1440
 
 
1441
 
#ifndef YY_NO_UNPUT
1442
 
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1443
 
#endif
1444
 
 
1445
 
#ifndef yytext_ptr
1446
 
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1447
 
#endif
1448
 
 
1449
 
#ifdef YY_NEED_STRLEN
1450
 
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1451
 
#endif
1452
 
 
1453
 
#ifndef YY_NO_INPUT
1454
 
#ifdef __cplusplus
1455
 
static int yyinput YY_PROTO(( void ));
1456
 
#else
1457
 
static int input YY_PROTO(( void ));
1458
 
#endif
1459
 
#endif
1460
 
 
1461
 
#if YY_STACK_USED
1462
 
static int yy_start_stack_ptr = 0;
1463
 
static int yy_start_stack_depth = 0;
1464
 
static int *yy_start_stack = 0;
1465
 
#ifndef YY_NO_PUSH_STATE
1466
 
static void yy_push_state YY_PROTO(( int new_state ));
1467
 
#endif
1468
 
#ifndef YY_NO_POP_STATE
1469
 
static void yy_pop_state YY_PROTO(( void ));
1470
 
#endif
1471
 
#ifndef YY_NO_TOP_STATE
1472
 
static int yy_top_state YY_PROTO(( void ));
1473
 
#endif
1474
 
 
1475
 
#else
1476
 
#define YY_NO_PUSH_STATE 1
1477
 
#define YY_NO_POP_STATE 1
1478
 
#define YY_NO_TOP_STATE 1
1479
 
#endif
1480
 
 
1481
 
#ifdef YY_MALLOC_DECL
1482
 
YY_MALLOC_DECL
1483
 
#else
1484
 
#if __STDC__
1485
 
#ifndef __cplusplus
1486
 
#include <stdlib.h>
1487
 
#endif
1488
 
#else
1489
 
/* Just try to get by without declaring the routines.  This will fail
1490
 
 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1491
 
 * or sizeof(void*) != sizeof(int).
1492
 
 */
1493
 
#endif
1494
 
#endif
1495
 
 
1496
 
/* Amount of stuff to slurp up with each read. */
1497
 
#ifndef YY_READ_BUF_SIZE
1498
 
#define YY_READ_BUF_SIZE 8192
1499
 
#endif
1500
 
 
1501
 
/* Copy whatever the last rule matched to the standard output. */
1502
 
 
1503
 
#ifndef ECHO
1504
 
/* This used to be an fputs(), but since the string might contain NUL's,
1505
 
 * we now use fwrite().
1506
 
 */
1507
 
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1508
 
#endif
1509
 
 
1510
 
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1511
 
 * is returned in "result".
1512
 
 */
1513
 
#ifndef YY_INPUT
1514
 
#define YY_INPUT(buf,result,max_size) \
1515
 
        if ( yy_current_buffer->yy_is_interactive ) \
1516
 
                { \
1517
 
                int c = '*', n; \
1518
 
                for ( n = 0; n < max_size && \
1519
 
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1520
 
                        buf[n] = (char) c; \
1521
 
                if ( c == '\n' ) \
1522
 
                        buf[n++] = (char) c; \
1523
 
                if ( c == EOF && ferror( yyin ) ) \
1524
 
                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
1525
 
                result = n; \
1526
 
                } \
1527
 
        else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1528
 
                  && ferror( yyin ) ) \
1529
 
                YY_FATAL_ERROR( "input in flex scanner failed" );
1530
 
#endif
1531
 
 
1532
 
/* No semi-colon after return; correct usage is to write "yyterminate();" -
1533
 
 * we don't want an extra ';' after the "return" because that will cause
1534
 
 * some compilers to complain about unreachable statements.
1535
 
 */
1536
 
#ifndef yyterminate
1537
 
#define yyterminate() return YY_NULL
1538
 
#endif
1539
 
 
1540
 
/* Number of entries by which start-condition stack grows. */
1541
 
#ifndef YY_START_STACK_INCR
1542
 
#define YY_START_STACK_INCR 25
1543
 
#endif
1544
 
 
1545
 
/* Report a fatal error. */
1546
 
#ifndef YY_FATAL_ERROR
1547
 
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1548
 
#endif
1549
 
 
1550
 
/* Default declaration of generated scanner - a define so the user can
1551
 
 * easily add parameters.
1552
 
 */
1553
 
#ifndef YY_DECL
1554
 
#define YY_DECL int yylex YY_PROTO(( void ))
1555
 
#endif
1556
 
 
1557
 
/* Code executed at the beginning of each rule, after yytext and yyleng
1558
 
 * have been set up.
1559
 
 */
1560
 
#ifndef YY_USER_ACTION
1561
 
#define YY_USER_ACTION
1562
 
#endif
1563
 
 
1564
 
/* Code executed at the end of each rule. */
1565
 
#ifndef YY_BREAK
1566
 
#define YY_BREAK break;
1567
 
#endif
1568
 
 
1569
 
#define YY_RULE_SETUP \
1570
 
        YY_USER_ACTION
1571
 
 
1572
 
YY_DECL
1573
 
        {
1574
 
        register yy_state_type yy_current_state;
1575
 
        register char *yy_cp = NULL, *yy_bp = NULL;
1576
 
        register int yy_act;
1577
 
 
1578
 
#line 142 "./cftoken.l"
1579
 
 
1580
 
 
1581
 
        if (yy_first_time) {
1582
 
                BEGIN S_INI;
1583
 
                yy_first_time = 0;
1584
 
        }
1585
 
 
1586
 
 
1587
 
        /* privsep */
1588
 
#line 1589 "cftoken.c"
1589
 
 
1590
 
        if ( yy_init )
1591
 
                {
1592
 
                yy_init = 0;
1593
 
 
1594
 
#ifdef YY_USER_INIT
1595
 
                YY_USER_INIT;
1596
 
#endif
1597
 
 
1598
 
                if ( ! yy_start )
1599
 
                        yy_start = 1;   /* first start state */
1600
 
 
1601
 
                if ( ! yyin )
1602
 
                        yyin = stdin;
1603
 
 
1604
 
                if ( ! yyout )
1605
 
                        yyout = stdout;
1606
 
 
1607
 
                if ( ! yy_current_buffer )
1608
 
                        yy_current_buffer =
1609
 
                                yy_create_buffer( yyin, YY_BUF_SIZE );
1610
 
 
1611
 
                yy_load_buffer_state();
1612
 
                }
1613
 
 
1614
 
        while ( 1 )             /* loops until end-of-file is reached */
1615
 
                {
1616
 
                yy_more_len = 0;
1617
 
                if ( yy_more_flag )
1618
 
                        {
1619
 
                        yy_more_len = yy_c_buf_p - yytext_ptr;
1620
 
                        yy_more_flag = 0;
1621
 
                        }
1622
 
                yy_cp = yy_c_buf_p;
1623
 
 
1624
 
                /* Support of yytext. */
1625
 
                *yy_cp = yy_hold_char;
1626
 
 
1627
 
                /* yy_bp points to the position in yy_ch_buf of the start of
1628
 
                 * the current run.
1629
 
                 */
1630
 
                yy_bp = yy_cp;
1631
 
 
1632
 
                yy_current_state = yy_start;
1633
 
yy_match:
1634
 
                do
1635
 
                        {
1636
 
                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1637
 
                        if ( yy_accept[yy_current_state] )
1638
 
                                {
1639
 
                                yy_last_accepting_state = yy_current_state;
1640
 
                                yy_last_accepting_cpos = yy_cp;
1641
 
                                }
1642
 
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1643
 
                                {
1644
 
                                yy_current_state = (int) yy_def[yy_current_state];
1645
 
                                if ( yy_current_state >= 1533 )
1646
 
                                        yy_c = yy_meta[(unsigned int) yy_c];
1647
 
                                }
1648
 
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1649
 
                        ++yy_cp;
1650
 
                        }
1651
 
                while ( yy_base[yy_current_state] != 1843 );
1652
 
 
1653
 
yy_find_action:
1654
 
                yy_act = yy_accept[yy_current_state];
1655
 
                if ( yy_act == 0 )
1656
 
                        { /* have to back up */
1657
 
                        yy_cp = yy_last_accepting_cpos;
1658
 
                        yy_current_state = yy_last_accepting_state;
1659
 
                        yy_act = yy_accept[yy_current_state];
1660
 
                        }
1661
 
 
1662
 
                YY_DO_BEFORE_ACTION;
1663
 
 
1664
 
 
1665
 
do_action:      /* This label is used only to access EOF actions. */
1666
 
 
1667
 
 
1668
 
                switch ( yy_act )
1669
 
        { /* beginning of action switch */
1670
 
                        case 0: /* must back up */
1671
 
                        /* undo the effects of YY_DO_BEFORE_ACTION */
1672
 
                        *yy_cp = yy_hold_char;
1673
 
                        yy_cp = yy_last_accepting_cpos;
1674
 
                        yy_current_state = yy_last_accepting_state;
1675
 
                        goto yy_find_action;
1676
 
 
1677
 
case 1:
1678
 
YY_RULE_SETUP
1679
 
#line 151 "./cftoken.l"
1680
 
{ BEGIN S_PRIV; YYDB; return(PRIVSEP); }
1681
 
        YY_BREAK
1682
 
case 2:
1683
 
YY_RULE_SETUP
1684
 
#line 152 "./cftoken.l"
1685
 
{ return(BOC); }
1686
 
        YY_BREAK
1687
 
case 3:
1688
 
YY_RULE_SETUP
1689
 
#line 153 "./cftoken.l"
1690
 
{ YYD; return(USER); }
1691
 
        YY_BREAK
1692
 
case 4:
1693
 
YY_RULE_SETUP
1694
 
#line 154 "./cftoken.l"
1695
 
{ YYD; return(GROUP); }
1696
 
        YY_BREAK
1697
 
case 5:
1698
 
YY_RULE_SETUP
1699
 
#line 155 "./cftoken.l"
1700
 
{ YYD; return(CHROOT); }
1701
 
        YY_BREAK
1702
 
case 6:
1703
 
YY_RULE_SETUP
1704
 
#line 156 "./cftoken.l"
1705
 
{ BEGIN S_INI; return(EOC); }
1706
 
        YY_BREAK
1707
 
/* path */
1708
 
case 7:
1709
 
YY_RULE_SETUP
1710
 
#line 159 "./cftoken.l"
1711
 
{ BEGIN S_PTH; YYDB; return(PATH); }
1712
 
        YY_BREAK
1713
 
case 8:
1714
 
YY_RULE_SETUP
1715
 
#line 160 "./cftoken.l"
1716
 
{ YYD; yylval.num = LC_PATHTYPE_INCLUDE;
1717
 
                                return(PATHTYPE); }
1718
 
        YY_BREAK
1719
 
case 9:
1720
 
YY_RULE_SETUP
1721
 
#line 162 "./cftoken.l"
1722
 
{ YYD; yylval.num = LC_PATHTYPE_PSK;
1723
 
                                return(PATHTYPE); }
1724
 
        YY_BREAK
1725
 
case 10:
1726
 
YY_RULE_SETUP
1727
 
#line 164 "./cftoken.l"
1728
 
{ YYD; yylval.num = LC_PATHTYPE_CERT;
1729
 
                                return(PATHTYPE); }
1730
 
        YY_BREAK
1731
 
case 11:
1732
 
YY_RULE_SETUP
1733
 
#line 166 "./cftoken.l"
1734
 
{ YYD; yylval.num = LC_PATHTYPE_SCRIPT;
1735
 
                                return(PATHTYPE); }
1736
 
        YY_BREAK
1737
 
case 12:
1738
 
YY_RULE_SETUP
1739
 
#line 168 "./cftoken.l"
1740
 
{ YYD; yylval.num = LC_PATHTYPE_BACKUPSA;
1741
 
                                return(PATHTYPE); }
1742
 
        YY_BREAK
1743
 
case 13:
1744
 
YY_RULE_SETUP
1745
 
#line 170 "./cftoken.l"
1746
 
{ YYD; yylval.num = LC_PATHTYPE_PIDFILE;
1747
 
                                return(PATHTYPE); }
1748
 
        YY_BREAK
1749
 
case 14:
1750
 
YY_RULE_SETUP
1751
 
#line 172 "./cftoken.l"
1752
 
{ BEGIN S_INI; YYDB; return(EOS); }
1753
 
        YY_BREAK
1754
 
/* include */
1755
 
case 15:
1756
 
YY_RULE_SETUP
1757
 
#line 175 "./cftoken.l"
1758
 
{ YYDB; return(INCLUDE); }
1759
 
        YY_BREAK
1760
 
/* self information */
1761
 
case 16:
1762
 
YY_RULE_SETUP
1763
 
#line 178 "./cftoken.l"
1764
 
{ BEGIN S_INF; YYDB; yywarn("it is obsoleted.  use \"my_identifier\" in each remote directives."); return(IDENTIFIER); }
1765
 
        YY_BREAK
1766
 
case 17:
1767
 
YY_RULE_SETUP
1768
 
#line 179 "./cftoken.l"
1769
 
{ BEGIN S_INI; return(EOS); }
1770
 
        YY_BREAK
1771
 
/* special */
1772
 
case 18:
1773
 
YY_RULE_SETUP
1774
 
#line 182 "./cftoken.l"
1775
 
{ YYDB; return(COMPLEX_BUNDLE); }
1776
 
        YY_BREAK
1777
 
/* logging */
1778
 
case 19:
1779
 
YY_RULE_SETUP
1780
 
#line 185 "./cftoken.l"
1781
 
{ BEGIN S_LOG; YYDB; return(LOGGING); }
1782
 
        YY_BREAK
1783
 
case 20:
1784
 
YY_RULE_SETUP
1785
 
#line 186 "./cftoken.l"
1786
 
{ YYD; yywarn("it is obsoleted.  use \"notify\""); yylval.num = 0; return(LOGLEV); }
1787
 
        YY_BREAK
1788
 
case 21:
1789
 
YY_RULE_SETUP
1790
 
#line 187 "./cftoken.l"
1791
 
{ YYD; yylval.num = 0; return(LOGLEV); }
1792
 
        YY_BREAK
1793
 
case 22:
1794
 
YY_RULE_SETUP
1795
 
#line 188 "./cftoken.l"
1796
 
{ YYD; yylval.num = 1; return(LOGLEV); }
1797
 
        YY_BREAK
1798
 
case 23:
1799
 
YY_RULE_SETUP
1800
 
#line 189 "./cftoken.l"
1801
 
{ YYD; yylval.num = 2; return(LOGLEV); }
1802
 
        YY_BREAK
1803
 
case 24:
1804
 
YY_RULE_SETUP
1805
 
#line 190 "./cftoken.l"
1806
 
{ YYD; yywarn("it is osboleted.  use \"debug2\""); yylval.num = 2; return(LOGLEV); }
1807
 
        YY_BREAK
1808
 
case 25:
1809
 
YY_RULE_SETUP
1810
 
#line 191 "./cftoken.l"
1811
 
{ YYD; yywarn("it is obsoleted.  use \"debug2\""); yylval.num = 2; return(LOGLEV); }
1812
 
        YY_BREAK
1813
 
case 26:
1814
 
YY_RULE_SETUP
1815
 
#line 192 "./cftoken.l"
1816
 
{ BEGIN S_INI; return(EOS); }
1817
 
        YY_BREAK
1818
 
/* padding */
1819
 
case 27:
1820
 
YY_RULE_SETUP
1821
 
#line 195 "./cftoken.l"
1822
 
{ BEGIN S_PAD; YYDB; return(PADDING); }
1823
 
        YY_BREAK
1824
 
case 28:
1825
 
YY_RULE_SETUP
1826
 
#line 196 "./cftoken.l"
1827
 
{ return(BOC); }
1828
 
        YY_BREAK
1829
 
case 29:
1830
 
YY_RULE_SETUP
1831
 
#line 197 "./cftoken.l"
1832
 
{ YYD; return(PAD_RANDOMIZE); }
1833
 
        YY_BREAK
1834
 
case 30:
1835
 
YY_RULE_SETUP
1836
 
#line 198 "./cftoken.l"
1837
 
{ YYD; return(PAD_RANDOMIZELEN); }
1838
 
        YY_BREAK
1839
 
case 31:
1840
 
YY_RULE_SETUP
1841
 
#line 199 "./cftoken.l"
1842
 
{ YYD; return(PAD_MAXLEN); }
1843
 
        YY_BREAK
1844
 
case 32:
1845
 
YY_RULE_SETUP
1846
 
#line 200 "./cftoken.l"
1847
 
{ YYD; return(PAD_STRICT); }
1848
 
        YY_BREAK
1849
 
case 33:
1850
 
YY_RULE_SETUP
1851
 
#line 201 "./cftoken.l"
1852
 
{ YYD; return(PAD_EXCLTAIL); }
1853
 
        YY_BREAK
1854
 
case 34:
1855
 
YY_RULE_SETUP
1856
 
#line 202 "./cftoken.l"
1857
 
{ BEGIN S_INI; return(EOC); }
1858
 
        YY_BREAK
1859
 
/* listen */
1860
 
case 35:
1861
 
YY_RULE_SETUP
1862
 
#line 205 "./cftoken.l"
1863
 
{ BEGIN S_LST; YYDB; return(LISTEN); }
1864
 
        YY_BREAK
1865
 
case 36:
1866
 
YY_RULE_SETUP
1867
 
#line 206 "./cftoken.l"
1868
 
{ return(BOC); }
1869
 
        YY_BREAK
1870
 
case 37:
1871
 
YY_RULE_SETUP
1872
 
#line 207 "./cftoken.l"
1873
 
{ YYD; return(X_ISAKMP); }
1874
 
        YY_BREAK
1875
 
case 38:
1876
 
YY_RULE_SETUP
1877
 
#line 208 "./cftoken.l"
1878
 
{ YYD; return(X_ISAKMP_NATT); }
1879
 
        YY_BREAK
1880
 
case 39:
1881
 
YY_RULE_SETUP
1882
 
#line 209 "./cftoken.l"
1883
 
{ YYD; return(X_ADMIN); }
1884
 
        YY_BREAK
1885
 
case 40:
1886
 
YY_RULE_SETUP
1887
 
#line 210 "./cftoken.l"
1888
 
{ YYD; return(ADMINSOCK); }
1889
 
        YY_BREAK
1890
 
case 41:
1891
 
YY_RULE_SETUP
1892
 
#line 211 "./cftoken.l"
1893
 
{ YYD; return(DISABLED); }
1894
 
        YY_BREAK
1895
 
case 42:
1896
 
YY_RULE_SETUP
1897
 
#line 212 "./cftoken.l"
1898
 
{ YYD; return(STRICT_ADDRESS); }
1899
 
        YY_BREAK
1900
 
case 43:
1901
 
YY_RULE_SETUP
1902
 
#line 213 "./cftoken.l"
1903
 
{ BEGIN S_INI; return(EOC); }
1904
 
        YY_BREAK
1905
 
/* mode_cfg */
1906
 
case 44:
1907
 
YY_RULE_SETUP
1908
 
#line 216 "./cftoken.l"
1909
 
{ BEGIN S_CFG; YYDB; return(MODECFG); }
1910
 
        YY_BREAK
1911
 
case 45:
1912
 
YY_RULE_SETUP
1913
 
#line 217 "./cftoken.l"
1914
 
{ return(BOC); }
1915
 
        YY_BREAK
1916
 
case 46:
1917
 
YY_RULE_SETUP
1918
 
#line 218 "./cftoken.l"
1919
 
{ YYD; return(CFG_NET4); }
1920
 
        YY_BREAK
1921
 
case 47:
1922
 
YY_RULE_SETUP
1923
 
#line 219 "./cftoken.l"
1924
 
{ YYD; return(CFG_MASK4); }
1925
 
        YY_BREAK
1926
 
case 48:
1927
 
YY_RULE_SETUP
1928
 
#line 220 "./cftoken.l"
1929
 
{ YYD; return(CFG_DNS4); }
1930
 
        YY_BREAK
1931
 
case 49:
1932
 
YY_RULE_SETUP
1933
 
#line 221 "./cftoken.l"
1934
 
{ YYD; return(CFG_NBNS4); }
1935
 
        YY_BREAK
1936
 
case 50:
1937
 
YY_RULE_SETUP
1938
 
#line 222 "./cftoken.l"
1939
 
{ YYD; return(CFG_AUTH_SOURCE); }
1940
 
        YY_BREAK
1941
 
case 51:
1942
 
YY_RULE_SETUP
1943
 
#line 223 "./cftoken.l"
1944
 
{ YYD; return(CFG_CONF_SOURCE); }
1945
 
        YY_BREAK
1946
 
case 52:
1947
 
YY_RULE_SETUP
1948
 
#line 224 "./cftoken.l"
1949
 
{ YYD; return(CFG_ACCOUNTING); }
1950
 
        YY_BREAK
1951
 
case 53:
1952
 
YY_RULE_SETUP
1953
 
#line 225 "./cftoken.l"
1954
 
{ YYD; return(CFG_SYSTEM); }
1955
 
        YY_BREAK
1956
 
case 54:
1957
 
YY_RULE_SETUP
1958
 
#line 226 "./cftoken.l"
1959
 
{ YYD; return(CFG_LOCAL); }
1960
 
        YY_BREAK
1961
 
case 55:
1962
 
YY_RULE_SETUP
1963
 
#line 227 "./cftoken.l"
1964
 
{ YYD; return(CFG_NONE); }
1965
 
        YY_BREAK
1966
 
case 56:
1967
 
YY_RULE_SETUP
1968
 
#line 228 "./cftoken.l"
1969
 
{ YYD; return(CFG_RADIUS); }
1970
 
        YY_BREAK
1971
 
case 57:
1972
 
YY_RULE_SETUP
1973
 
#line 229 "./cftoken.l"
1974
 
{ YYD; return(CFG_PAM); }
1975
 
        YY_BREAK
1976
 
case 58:
1977
 
YY_RULE_SETUP
1978
 
#line 230 "./cftoken.l"
1979
 
{ YYD; return(CFG_POOL_SIZE); }
1980
 
        YY_BREAK
1981
 
case 59:
1982
 
YY_RULE_SETUP
1983
 
#line 231 "./cftoken.l"
1984
 
{ YYD; return(CFG_MOTD); }
1985
 
        YY_BREAK
1986
 
case 60:
1987
 
YY_RULE_SETUP
1988
 
#line 232 "./cftoken.l"
1989
 
{ YYD; return(CFG_AUTH_THROTTLE); }
1990
 
        YY_BREAK
1991
 
case 61:
1992
 
YY_RULE_SETUP
1993
 
#line 233 "./cftoken.l"
1994
 
{ YYD; return(CFG_PFS_GROUP); }
1995
 
        YY_BREAK
1996
 
case 62:
1997
 
YY_RULE_SETUP
1998
 
#line 234 "./cftoken.l"
1999
 
{ YYD; return(CFG_SAVE_PASSWD); }
2000
 
        YY_BREAK
2001
 
case 63:
2002
 
YY_RULE_SETUP
2003
 
#line 235 "./cftoken.l"
2004
 
{ BEGIN S_INI; return(EOC); }
2005
 
        YY_BREAK
2006
 
/* timer */
2007
 
case 64:
2008
 
YY_RULE_SETUP
2009
 
#line 238 "./cftoken.l"
2010
 
{ BEGIN S_RTRY; YYDB; return(RETRY); }
2011
 
        YY_BREAK
2012
 
case 65:
2013
 
YY_RULE_SETUP
2014
 
#line 239 "./cftoken.l"
2015
 
{ return(BOC); }
2016
 
        YY_BREAK
2017
 
case 66:
2018
 
YY_RULE_SETUP
2019
 
#line 240 "./cftoken.l"
2020
 
{ YYD; return(RETRY_COUNTER); }
2021
 
        YY_BREAK
2022
 
case 67:
2023
 
YY_RULE_SETUP
2024
 
#line 241 "./cftoken.l"
2025
 
{ YYD; return(RETRY_INTERVAL); }
2026
 
        YY_BREAK
2027
 
case 68:
2028
 
YY_RULE_SETUP
2029
 
#line 242 "./cftoken.l"
2030
 
{ YYD; return(RETRY_PERSEND); }
2031
 
        YY_BREAK
2032
 
case 69:
2033
 
YY_RULE_SETUP
2034
 
#line 243 "./cftoken.l"
2035
 
{ YYD; return(RETRY_PHASE1); }
2036
 
        YY_BREAK
2037
 
case 70:
2038
 
YY_RULE_SETUP
2039
 
#line 244 "./cftoken.l"
2040
 
{ YYD; return(RETRY_PHASE2); }
2041
 
        YY_BREAK
2042
 
case 71:
2043
 
YY_RULE_SETUP
2044
 
#line 245 "./cftoken.l"
2045
 
{ YYD; return(NATT_KA); }
2046
 
        YY_BREAK
2047
 
case 72:
2048
 
YY_RULE_SETUP
2049
 
#line 246 "./cftoken.l"
2050
 
{ BEGIN S_INI; return(EOC); }
2051
 
        YY_BREAK
2052
 
/* sainfo */
2053
 
case 73:
2054
 
YY_RULE_SETUP
2055
 
#line 249 "./cftoken.l"
2056
 
{ BEGIN S_SAINF; YYDB; return(SAINFO); }
2057
 
        YY_BREAK
2058
 
case 74:
2059
 
YY_RULE_SETUP
2060
 
#line 250 "./cftoken.l"
2061
 
{ YYD; return(ANONYMOUS); }
2062
 
        YY_BREAK
2063
 
case 75:
2064
 
YY_RULE_SETUP
2065
 
#line 251 "./cftoken.l"
2066
 
{ YYD; return(PORTANY); }
2067
 
        YY_BREAK
2068
 
case 76:
2069
 
YY_RULE_SETUP
2070
 
#line 252 "./cftoken.l"
2071
 
{ YYD; return(ANY); }
2072
 
        YY_BREAK
2073
 
case 77:
2074
 
YY_RULE_SETUP
2075
 
#line 253 "./cftoken.l"
2076
 
{ YYD; return(FROM); }
2077
 
        YY_BREAK
2078
 
/* sainfo spec */
2079
 
case 78:
2080
 
YY_RULE_SETUP
2081
 
#line 255 "./cftoken.l"
2082
 
{ BEGIN S_SAINFS; return(BOC); }
2083
 
        YY_BREAK
2084
 
case 79:
2085
 
YY_RULE_SETUP
2086
 
#line 256 "./cftoken.l"
2087
 
{ BEGIN S_INI; return(EOS); }
2088
 
        YY_BREAK
2089
 
case 80:
2090
 
YY_RULE_SETUP
2091
 
#line 257 "./cftoken.l"
2092
 
{ BEGIN S_INI; return(EOC); }
2093
 
        YY_BREAK
2094
 
case 81:
2095
 
YY_RULE_SETUP
2096
 
#line 258 "./cftoken.l"
2097
 
{ YYD; return(PFS_GROUP); }
2098
 
        YY_BREAK
2099
 
case 82:
2100
 
YY_RULE_SETUP
2101
 
#line 259 "./cftoken.l"
2102
 
{ YYD; yywarn("it is obsoleted.  use \"my_identifier\"."); return(IDENTIFIER); }
2103
 
        YY_BREAK
2104
 
case 83:
2105
 
YY_RULE_SETUP
2106
 
#line 260 "./cftoken.l"
2107
 
{ YYD; return(MY_IDENTIFIER); }
2108
 
        YY_BREAK
2109
 
case 84:
2110
 
YY_RULE_SETUP
2111
 
#line 261 "./cftoken.l"
2112
 
{ YYD; return(LIFETIME); }
2113
 
        YY_BREAK
2114
 
case 85:
2115
 
YY_RULE_SETUP
2116
 
#line 262 "./cftoken.l"
2117
 
{ YYD; return(LIFETYPE_TIME); }
2118
 
        YY_BREAK
2119
 
case 86:
2120
 
YY_RULE_SETUP
2121
 
#line 263 "./cftoken.l"
2122
 
{ YYD; return(LIFETYPE_BYTE); }
2123
 
        YY_BREAK
2124
 
case 87:
2125
 
YY_RULE_SETUP
2126
 
#line 264 "./cftoken.l"
2127
 
{ YYD; yylval.num = algclass_ipsec_enc; return(ALGORITHM_CLASS); }
2128
 
        YY_BREAK
2129
 
case 88:
2130
 
YY_RULE_SETUP
2131
 
#line 265 "./cftoken.l"
2132
 
{ YYD; yylval.num = algclass_ipsec_auth; return(ALGORITHM_CLASS); }
2133
 
        YY_BREAK
2134
 
case 89:
2135
 
YY_RULE_SETUP
2136
 
#line 266 "./cftoken.l"
2137
 
{ YYD; yylval.num = algclass_ipsec_comp; return(ALGORITHM_CLASS); }
2138
 
        YY_BREAK
2139
 
case 90:
2140
 
YY_RULE_SETUP
2141
 
#line 267 "./cftoken.l"
2142
 
{ YYD; return(COMMA); }
2143
 
        YY_BREAK
2144
 
/* remote */
2145
 
case 91:
2146
 
YY_RULE_SETUP
2147
 
#line 270 "./cftoken.l"
2148
 
{ BEGIN S_RMT; YYDB; return(REMOTE); }
2149
 
        YY_BREAK
2150
 
case 92:
2151
 
YY_RULE_SETUP
2152
 
#line 271 "./cftoken.l"
2153
 
{ YYD; return(ANONYMOUS); }
2154
 
        YY_BREAK
2155
 
case 93:
2156
 
YY_RULE_SETUP
2157
 
#line 272 "./cftoken.l"
2158
 
{ YYD; return(INHERIT); }
2159
 
        YY_BREAK
2160
 
/* remote spec */
2161
 
case 94:
2162
 
YY_RULE_SETUP
2163
 
#line 274 "./cftoken.l"
2164
 
{ BEGIN S_RMTS; return(BOC); }
2165
 
        YY_BREAK
2166
 
case 95:
2167
 
YY_RULE_SETUP
2168
 
#line 275 "./cftoken.l"
2169
 
{ BEGIN S_INI; return(EOC); }
2170
 
        YY_BREAK
2171
 
case 96:
2172
 
YY_RULE_SETUP
2173
 
#line 276 "./cftoken.l"
2174
 
{ YYD; return(EXCHANGE_MODE); }
2175
 
        YY_BREAK
2176
 
case 97:
2177
 
YY_RULE_SETUP
2178
 
#line 277 "./cftoken.l"
2179
 
{ YYD; /* XXX ignored, but to be handled. */ ; }
2180
 
        YY_BREAK
2181
 
case 98:
2182
 
YY_RULE_SETUP
2183
 
#line 278 "./cftoken.l"
2184
 
{ YYD; yylval.num = ISAKMP_ETYPE_BASE; return(EXCHANGETYPE); }
2185
 
        YY_BREAK
2186
 
case 99:
2187
 
YY_RULE_SETUP
2188
 
#line 279 "./cftoken.l"
2189
 
{ YYD; yylval.num = ISAKMP_ETYPE_IDENT; return(EXCHANGETYPE); }
2190
 
        YY_BREAK
2191
 
case 100:
2192
 
YY_RULE_SETUP
2193
 
#line 280 "./cftoken.l"
2194
 
{ YYD; yylval.num = ISAKMP_ETYPE_AGG; return(EXCHANGETYPE); }
2195
 
        YY_BREAK
2196
 
case 101:
2197
 
YY_RULE_SETUP
2198
 
#line 281 "./cftoken.l"
2199
 
{ YYD; return(DOI); }
2200
 
        YY_BREAK
2201
 
case 102:
2202
 
YY_RULE_SETUP
2203
 
#line 282 "./cftoken.l"
2204
 
{ YYD; yylval.num = IPSEC_DOI; return(DOITYPE); }
2205
 
        YY_BREAK
2206
 
case 103:
2207
 
YY_RULE_SETUP
2208
 
#line 283 "./cftoken.l"
2209
 
{ YYD; return(SITUATION); }
2210
 
        YY_BREAK
2211
 
case 104:
2212
 
YY_RULE_SETUP
2213
 
#line 284 "./cftoken.l"
2214
 
{ YYD; yylval.num = IPSECDOI_SIT_IDENTITY_ONLY; return(SITUATIONTYPE); }
2215
 
        YY_BREAK
2216
 
case 105:
2217
 
YY_RULE_SETUP
2218
 
#line 285 "./cftoken.l"
2219
 
{ YYD; yylval.num = IPSECDOI_SIT_SECRECY; return(SITUATIONTYPE); }
2220
 
        YY_BREAK
2221
 
case 106:
2222
 
YY_RULE_SETUP
2223
 
#line 286 "./cftoken.l"
2224
 
{ YYD; yylval.num = IPSECDOI_SIT_INTEGRITY; return(SITUATIONTYPE); }
2225
 
        YY_BREAK
2226
 
case 107:
2227
 
YY_RULE_SETUP
2228
 
#line 287 "./cftoken.l"
2229
 
{ YYD; yywarn("it is obsoleted.  use \"my_identifier\"."); return(IDENTIFIER); }
2230
 
        YY_BREAK
2231
 
case 108:
2232
 
YY_RULE_SETUP
2233
 
#line 288 "./cftoken.l"
2234
 
{ YYD; return(MY_IDENTIFIER); }
2235
 
        YY_BREAK
2236
 
case 109:
2237
 
YY_RULE_SETUP
2238
 
#line 289 "./cftoken.l"
2239
 
{ YYD; return(XAUTH_LOGIN); /* formerly identifier type login */ }
2240
 
        YY_BREAK
2241
 
case 110:
2242
 
YY_RULE_SETUP
2243
 
#line 290 "./cftoken.l"
2244
 
{ YYD; return(PEERS_IDENTIFIER); }
2245
 
        YY_BREAK
2246
 
case 111:
2247
 
YY_RULE_SETUP
2248
 
#line 291 "./cftoken.l"
2249
 
{ YYD; return(VERIFY_IDENTIFIER); }
2250
 
        YY_BREAK
2251
 
case 112:
2252
 
YY_RULE_SETUP
2253
 
#line 292 "./cftoken.l"
2254
 
{ YYD; return(CERTIFICATE_TYPE); }
2255
 
        YY_BREAK
2256
 
case 113:
2257
 
YY_RULE_SETUP
2258
 
#line 293 "./cftoken.l"
2259
 
{ YYD; return(CA_TYPE); }
2260
 
        YY_BREAK
2261
 
case 114:
2262
 
YY_RULE_SETUP
2263
 
#line 294 "./cftoken.l"
2264
 
{ YYD; yylval.num = ISAKMP_CERT_X509SIGN; return(CERT_X509); }
2265
 
        YY_BREAK
2266
 
case 115:
2267
 
YY_RULE_SETUP
2268
 
#line 295 "./cftoken.l"
2269
 
{ YYD; yylval.num = ISAKMP_CERT_PLAINRSA; return(CERT_PLAINRSA); }
2270
 
        YY_BREAK
2271
 
case 116:
2272
 
YY_RULE_SETUP
2273
 
#line 296 "./cftoken.l"
2274
 
{ YYD; return(PEERS_CERTFILE); }
2275
 
        YY_BREAK
2276
 
case 117:
2277
 
YY_RULE_SETUP
2278
 
#line 297 "./cftoken.l"
2279
 
{ YYD; return(DNSSEC); }
2280
 
        YY_BREAK
2281
 
case 118:
2282
 
YY_RULE_SETUP
2283
 
#line 298 "./cftoken.l"
2284
 
{ YYD; return(VERIFY_CERT); }
2285
 
        YY_BREAK
2286
 
case 119:
2287
 
YY_RULE_SETUP
2288
 
#line 299 "./cftoken.l"
2289
 
{ YYD; return(SEND_CERT); }
2290
 
        YY_BREAK
2291
 
case 120:
2292
 
YY_RULE_SETUP
2293
 
#line 300 "./cftoken.l"
2294
 
{ YYD; return(SEND_CR); }
2295
 
        YY_BREAK
2296
 
case 121:
2297
 
YY_RULE_SETUP
2298
 
#line 301 "./cftoken.l"
2299
 
{ YYD; return(DH_GROUP); }
2300
 
        YY_BREAK
2301
 
case 122:
2302
 
YY_RULE_SETUP
2303
 
#line 302 "./cftoken.l"
2304
 
{ YYD; return(NONCE_SIZE); }
2305
 
        YY_BREAK
2306
 
case 123:
2307
 
YY_RULE_SETUP
2308
 
#line 303 "./cftoken.l"
2309
 
{ YYD; return(GENERATE_POLICY); }
2310
 
        YY_BREAK
2311
 
case 124:
2312
 
YY_RULE_SETUP
2313
 
#line 304 "./cftoken.l"
2314
 
{ YYD; yywarn("it is obsoleted.  use \"support_proxy\"."); return(SUPPORT_PROXY); }
2315
 
        YY_BREAK
2316
 
case 125:
2317
 
YY_RULE_SETUP
2318
 
#line 305 "./cftoken.l"
2319
 
{ YYD; return(SUPPORT_PROXY); }
2320
 
        YY_BREAK
2321
 
case 126:
2322
 
YY_RULE_SETUP
2323
 
#line 306 "./cftoken.l"
2324
 
{ YYD; return(INITIAL_CONTACT); }
2325
 
        YY_BREAK
2326
 
case 127:
2327
 
YY_RULE_SETUP
2328
 
#line 307 "./cftoken.l"
2329
 
{ YYD; return(NAT_TRAVERSAL); }
2330
 
        YY_BREAK
2331
 
case 128:
2332
 
YY_RULE_SETUP
2333
 
#line 308 "./cftoken.l"
2334
 
{ YYD; yylval.num = NATT_FORCE; return(NAT_TRAVERSAL_LEVEL); }
2335
 
        YY_BREAK
2336
 
case 129:
2337
 
YY_RULE_SETUP
2338
 
#line 309 "./cftoken.l"
2339
 
{ YYD; return(PROPOSAL_CHECK); }
2340
 
        YY_BREAK
2341
 
case 130:
2342
 
YY_RULE_SETUP
2343
 
#line 310 "./cftoken.l"
2344
 
{ YYD; yylval.num = PROP_CHECK_OBEY; return(PROPOSAL_CHECK_LEVEL); }
2345
 
        YY_BREAK
2346
 
case 131:
2347
 
YY_RULE_SETUP
2348
 
#line 311 "./cftoken.l"
2349
 
{ YYD; yylval.num = PROP_CHECK_STRICT; return(PROPOSAL_CHECK_LEVEL); }
2350
 
        YY_BREAK
2351
 
case 132:
2352
 
YY_RULE_SETUP
2353
 
#line 312 "./cftoken.l"
2354
 
{ YYD; yylval.num = PROP_CHECK_EXACT; return(PROPOSAL_CHECK_LEVEL); }
2355
 
        YY_BREAK
2356
 
case 133:
2357
 
YY_RULE_SETUP
2358
 
#line 313 "./cftoken.l"
2359
 
{ YYD; yylval.num = PROP_CHECK_CLAIM; return(PROPOSAL_CHECK_LEVEL); }
2360
 
        YY_BREAK
2361
 
case 134:
2362
 
YY_RULE_SETUP
2363
 
#line 314 "./cftoken.l"
2364
 
{ YYD; return(KEEPALIVE); }
2365
 
        YY_BREAK
2366
 
case 135:
2367
 
YY_RULE_SETUP
2368
 
#line 315 "./cftoken.l"
2369
 
{ YYD; return(PASSIVE); }
2370
 
        YY_BREAK
2371
 
case 136:
2372
 
YY_RULE_SETUP
2373
 
#line 316 "./cftoken.l"
2374
 
{ YYD; return(LIFETIME); }
2375
 
        YY_BREAK
2376
 
case 137:
2377
 
YY_RULE_SETUP
2378
 
#line 317 "./cftoken.l"
2379
 
{ YYD; return(LIFETYPE_TIME); }
2380
 
        YY_BREAK
2381
 
case 138:
2382
 
YY_RULE_SETUP
2383
 
#line 318 "./cftoken.l"
2384
 
{ YYD; return(LIFETYPE_BYTE); }
2385
 
        YY_BREAK
2386
 
case 139:
2387
 
YY_RULE_SETUP
2388
 
#line 319 "./cftoken.l"
2389
 
{ YYD; return(DPD); }
2390
 
        YY_BREAK
2391
 
case 140:
2392
 
YY_RULE_SETUP
2393
 
#line 320 "./cftoken.l"
2394
 
{ YYD; return(DPD_DELAY); }
2395
 
        YY_BREAK
2396
 
case 141:
2397
 
YY_RULE_SETUP
2398
 
#line 321 "./cftoken.l"
2399
 
{ YYD; return(DPD_RETRY); }
2400
 
        YY_BREAK
2401
 
case 142:
2402
 
YY_RULE_SETUP
2403
 
#line 322 "./cftoken.l"
2404
 
{ YYD; return(DPD_MAXFAIL); }
2405
 
        YY_BREAK
2406
 
case 143:
2407
 
YY_RULE_SETUP
2408
 
#line 323 "./cftoken.l"
2409
 
{ YYD; return(IKE_FRAG); }
2410
 
        YY_BREAK
2411
 
case 144:
2412
 
YY_RULE_SETUP
2413
 
#line 324 "./cftoken.l"
2414
 
{ YYD; return(ESP_FRAG); }
2415
 
        YY_BREAK
2416
 
case 145:
2417
 
YY_RULE_SETUP
2418
 
#line 325 "./cftoken.l"
2419
 
{ YYD; return(SCRIPT); }
2420
 
        YY_BREAK
2421
 
case 146:
2422
 
YY_RULE_SETUP
2423
 
#line 326 "./cftoken.l"
2424
 
{ YYD; return(PHASE1_UP); }
2425
 
        YY_BREAK
2426
 
case 147:
2427
 
YY_RULE_SETUP
2428
 
#line 327 "./cftoken.l"
2429
 
{ YYD; return(PHASE1_DOWN); }
2430
 
        YY_BREAK
2431
 
case 148:
2432
 
YY_RULE_SETUP
2433
 
#line 328 "./cftoken.l"
2434
 
{ YYD; return(MODE_CFG); }
2435
 
        YY_BREAK
2436
 
/* remote proposal */
2437
 
case 149:
2438
 
YY_RULE_SETUP
2439
 
#line 330 "./cftoken.l"
2440
 
{ BEGIN S_RMTP; YYDB; return(PROPOSAL); }
2441
 
        YY_BREAK
2442
 
case 150:
2443
 
YY_RULE_SETUP
2444
 
#line 331 "./cftoken.l"
2445
 
{ return(BOC); }
2446
 
        YY_BREAK
2447
 
case 151:
2448
 
YY_RULE_SETUP
2449
 
#line 332 "./cftoken.l"
2450
 
{ BEGIN S_RMTS; return(EOC); }
2451
 
        YY_BREAK
2452
 
case 152:
2453
 
YY_RULE_SETUP
2454
 
#line 333 "./cftoken.l"
2455
 
{ YYD; return(LIFETIME); }
2456
 
        YY_BREAK
2457
 
case 153:
2458
 
YY_RULE_SETUP
2459
 
#line 334 "./cftoken.l"
2460
 
{ YYD; return(LIFETYPE_TIME); }
2461
 
        YY_BREAK
2462
 
case 154:
2463
 
YY_RULE_SETUP
2464
 
#line 335 "./cftoken.l"
2465
 
{ YYD; return(LIFETYPE_BYTE); }
2466
 
        YY_BREAK
2467
 
case 155:
2468
 
YY_RULE_SETUP
2469
 
#line 336 "./cftoken.l"
2470
 
{ YYD; yylval.num = algclass_isakmp_enc; return(ALGORITHM_CLASS); }
2471
 
        YY_BREAK
2472
 
case 156:
2473
 
YY_RULE_SETUP
2474
 
#line 337 "./cftoken.l"
2475
 
{ YYD; yylval.num = algclass_isakmp_ameth; return(ALGORITHM_CLASS); }
2476
 
        YY_BREAK
2477
 
case 157:
2478
 
YY_RULE_SETUP
2479
 
#line 338 "./cftoken.l"
2480
 
{ YYD; yylval.num = algclass_isakmp_hash; return(ALGORITHM_CLASS); }
2481
 
        YY_BREAK
2482
 
case 158:
2483
 
YY_RULE_SETUP
2484
 
#line 339 "./cftoken.l"
2485
 
{ YYD; return(DH_GROUP); }
2486
 
        YY_BREAK
2487
 
case 159:
2488
 
YY_RULE_SETUP
2489
 
#line 340 "./cftoken.l"
2490
 
{ YYD; return(GSS_ID); }
2491
 
        YY_BREAK
2492
 
case 160:
2493
 
YY_RULE_SETUP
2494
 
#line 341 "./cftoken.l"
2495
 
{ YYD; return(GSS_ID); } /* for back compatibility */
2496
 
        YY_BREAK
2497
 
/* GSS ID encoding type (global) */
2498
 
case 161:
2499
 
YY_RULE_SETUP
2500
 
#line 344 "./cftoken.l"
2501
 
{ BEGIN S_GSSENC; YYDB; return(GSS_ID_ENC); }
2502
 
        YY_BREAK
2503
 
case 162:
2504
 
YY_RULE_SETUP
2505
 
#line 345 "./cftoken.l"
2506
 
{ YYD; yylval.num = LC_GSSENC_LATIN1;
2507
 
                                return(GSS_ID_ENCTYPE); }
2508
 
        YY_BREAK
2509
 
case 163:
2510
 
YY_RULE_SETUP
2511
 
#line 347 "./cftoken.l"
2512
 
{ YYD; yylval.num = LC_GSSENC_UTF16LE;
2513
 
                                return(GSS_ID_ENCTYPE); }
2514
 
        YY_BREAK
2515
 
case 164:
2516
 
YY_RULE_SETUP
2517
 
#line 349 "./cftoken.l"
2518
 
{ BEGIN S_INI; YYDB; return(EOS); }
2519
 
        YY_BREAK
2520
 
/* parameter */
2521
 
case 165:
2522
 
YY_RULE_SETUP
2523
 
#line 352 "./cftoken.l"
2524
 
{ YYD; yylval.num = TRUE; return(SWITCH); }
2525
 
        YY_BREAK
2526
 
case 166:
2527
 
YY_RULE_SETUP
2528
 
#line 353 "./cftoken.l"
2529
 
{ YYD; yylval.num = FALSE; return(SWITCH); }
2530
 
        YY_BREAK
2531
 
/* prefix */
2532
 
case 167:
2533
 
YY_RULE_SETUP
2534
 
#line 356 "./cftoken.l"
2535
 
{
2536
 
                        YYD;
2537
 
                        yytext++;
2538
 
                        yylval.num = atoi(yytext);
2539
 
                        return(PREFIX);
2540
 
                }
2541
 
        YY_BREAK
2542
 
/* port number */
2543
 
case 168:
2544
 
YY_RULE_SETUP
2545
 
#line 364 "./cftoken.l"
2546
 
{
2547
 
                        char *p = yytext;
2548
 
                        YYD;
2549
 
                        while (*++p != ']') ;
2550
 
                        *p = 0;
2551
 
                        yytext++;
2552
 
                        yylval.num = atoi(yytext);
2553
 
                        return(PORT);
2554
 
                }
2555
 
        YY_BREAK
2556
 
/* upper protocol */
2557
 
case 169:
2558
 
YY_RULE_SETUP
2559
 
#line 375 "./cftoken.l"
2560
 
{ YYD; yylval.num = IPPROTO_ESP; return(UL_PROTO); }
2561
 
        YY_BREAK
2562
 
case 170:
2563
 
YY_RULE_SETUP
2564
 
#line 376 "./cftoken.l"
2565
 
{ YYD; yylval.num = IPPROTO_AH; return(UL_PROTO); }
2566
 
        YY_BREAK
2567
 
case 171:
2568
 
YY_RULE_SETUP
2569
 
#line 377 "./cftoken.l"
2570
 
{ YYD; yylval.num = IPPROTO_IPCOMP; return(UL_PROTO); }
2571
 
        YY_BREAK
2572
 
case 172:
2573
 
YY_RULE_SETUP
2574
 
#line 378 "./cftoken.l"
2575
 
{ YYD; yylval.num = IPPROTO_ICMP; return(UL_PROTO); }
2576
 
        YY_BREAK
2577
 
case 173:
2578
 
YY_RULE_SETUP
2579
 
#line 379 "./cftoken.l"
2580
 
{ YYD; yylval.num = IPPROTO_ICMPV6; return(UL_PROTO); }
2581
 
        YY_BREAK
2582
 
case 174:
2583
 
YY_RULE_SETUP
2584
 
#line 380 "./cftoken.l"
2585
 
{ YYD; yylval.num = IPPROTO_TCP; return(UL_PROTO); }
2586
 
        YY_BREAK
2587
 
case 175:
2588
 
YY_RULE_SETUP
2589
 
#line 381 "./cftoken.l"
2590
 
{ YYD; yylval.num = IPPROTO_UDP; return(UL_PROTO); }
2591
 
        YY_BREAK
2592
 
/* algorithm type */
2593
 
case 176:
2594
 
YY_RULE_SETUP
2595
 
#line 384 "./cftoken.l"
2596
 
{ YYD; yylval.num = algtype_des_iv64;   return(ALGORITHMTYPE); }
2597
 
        YY_BREAK
2598
 
case 177:
2599
 
YY_RULE_SETUP
2600
 
#line 385 "./cftoken.l"
2601
 
{ YYD; yylval.num = algtype_des;        return(ALGORITHMTYPE); }
2602
 
        YY_BREAK
2603
 
case 178:
2604
 
YY_RULE_SETUP
2605
 
#line 386 "./cftoken.l"
2606
 
{ YYD; yylval.num = algtype_3des;       return(ALGORITHMTYPE); }
2607
 
        YY_BREAK
2608
 
case 179:
2609
 
YY_RULE_SETUP
2610
 
#line 387 "./cftoken.l"
2611
 
{ YYD; yylval.num = algtype_rc5;        return(ALGORITHMTYPE); }
2612
 
        YY_BREAK
2613
 
case 180:
2614
 
YY_RULE_SETUP
2615
 
#line 388 "./cftoken.l"
2616
 
{ YYD; yylval.num = algtype_idea;       return(ALGORITHMTYPE); }
2617
 
        YY_BREAK
2618
 
case 181:
2619
 
YY_RULE_SETUP
2620
 
#line 389 "./cftoken.l"
2621
 
{ YYD; yylval.num = algtype_cast128;    return(ALGORITHMTYPE); }
2622
 
        YY_BREAK
2623
 
case 182:
2624
 
YY_RULE_SETUP
2625
 
#line 390 "./cftoken.l"
2626
 
{ YYD; yylval.num = algtype_blowfish;   return(ALGORITHMTYPE); }
2627
 
        YY_BREAK
2628
 
case 183:
2629
 
YY_RULE_SETUP
2630
 
#line 391 "./cftoken.l"
2631
 
{ YYD; yylval.num = algtype_3idea;      return(ALGORITHMTYPE); }
2632
 
        YY_BREAK
2633
 
case 184:
2634
 
YY_RULE_SETUP
2635
 
#line 392 "./cftoken.l"
2636
 
{ YYD; yylval.num = algtype_des_iv32;   return(ALGORITHMTYPE); }
2637
 
        YY_BREAK
2638
 
case 185:
2639
 
YY_RULE_SETUP
2640
 
#line 393 "./cftoken.l"
2641
 
{ YYD; yylval.num = algtype_rc4;        return(ALGORITHMTYPE); }
2642
 
        YY_BREAK
2643
 
case 186:
2644
 
YY_RULE_SETUP
2645
 
#line 394 "./cftoken.l"
2646
 
{ YYD; yylval.num = algtype_null_enc;   return(ALGORITHMTYPE); }
2647
 
        YY_BREAK
2648
 
case 187:
2649
 
YY_RULE_SETUP
2650
 
#line 395 "./cftoken.l"
2651
 
{ YYD; yylval.num = algtype_null_enc;   return(ALGORITHMTYPE); }
2652
 
        YY_BREAK
2653
 
case 188:
2654
 
YY_RULE_SETUP
2655
 
#line 396 "./cftoken.l"
2656
 
{ YYD; yylval.num = algtype_aes;        return(ALGORITHMTYPE); }
2657
 
        YY_BREAK
2658
 
case 189:
2659
 
YY_RULE_SETUP
2660
 
#line 397 "./cftoken.l"
2661
 
{ YYD; yylval.num = algtype_aes;        return(ALGORITHMTYPE); }
2662
 
        YY_BREAK
2663
 
case 190:
2664
 
YY_RULE_SETUP
2665
 
#line 398 "./cftoken.l"
2666
 
{ YYD; yylval.num = algtype_twofish;    return(ALGORITHMTYPE); }
2667
 
        YY_BREAK
2668
 
case 191:
2669
 
YY_RULE_SETUP
2670
 
#line 399 "./cftoken.l"
2671
 
{ YYD; yylval.num = algtype_non_auth;   return(ALGORITHMTYPE); }
2672
 
        YY_BREAK
2673
 
case 192:
2674
 
YY_RULE_SETUP
2675
 
#line 400 "./cftoken.l"
2676
 
{ YYD; yylval.num = algtype_hmac_md5;   return(ALGORITHMTYPE); }
2677
 
        YY_BREAK
2678
 
case 193:
2679
 
YY_RULE_SETUP
2680
 
#line 401 "./cftoken.l"
2681
 
{ YYD; yylval.num = algtype_hmac_sha1;  return(ALGORITHMTYPE); }
2682
 
        YY_BREAK
2683
 
case 194:
2684
 
YY_RULE_SETUP
2685
 
#line 402 "./cftoken.l"
2686
 
{ YYD; yylval.num = algtype_hmac_sha2_256;      return(ALGORITHMTYPE); }
2687
 
        YY_BREAK
2688
 
case 195:
2689
 
YY_RULE_SETUP
2690
 
#line 403 "./cftoken.l"
2691
 
{ YYD; yylval.num = algtype_hmac_sha2_256;      return(ALGORITHMTYPE); }
2692
 
        YY_BREAK
2693
 
case 196:
2694
 
YY_RULE_SETUP
2695
 
#line 404 "./cftoken.l"
2696
 
{ YYD; yylval.num = algtype_hmac_sha2_384;      return(ALGORITHMTYPE); }
2697
 
        YY_BREAK
2698
 
case 197:
2699
 
YY_RULE_SETUP
2700
 
#line 405 "./cftoken.l"
2701
 
{ YYD; yylval.num = algtype_hmac_sha2_384;      return(ALGORITHMTYPE); }
2702
 
        YY_BREAK
2703
 
case 198:
2704
 
YY_RULE_SETUP
2705
 
#line 406 "./cftoken.l"
2706
 
{ YYD; yylval.num = algtype_hmac_sha2_512;      return(ALGORITHMTYPE); }
2707
 
        YY_BREAK
2708
 
case 199:
2709
 
YY_RULE_SETUP
2710
 
#line 407 "./cftoken.l"
2711
 
{ YYD; yylval.num = algtype_hmac_sha2_512;      return(ALGORITHMTYPE); }
2712
 
        YY_BREAK
2713
 
case 200:
2714
 
YY_RULE_SETUP
2715
 
#line 408 "./cftoken.l"
2716
 
{ YYD; yylval.num = algtype_des_mac;    return(ALGORITHMTYPE); }
2717
 
        YY_BREAK
2718
 
case 201:
2719
 
YY_RULE_SETUP
2720
 
#line 409 "./cftoken.l"
2721
 
{ YYD; yylval.num = algtype_kpdk;       return(ALGORITHMTYPE); }
2722
 
        YY_BREAK
2723
 
case 202:
2724
 
YY_RULE_SETUP
2725
 
#line 410 "./cftoken.l"
2726
 
{ YYD; yylval.num = algtype_md5;        return(ALGORITHMTYPE); }
2727
 
        YY_BREAK
2728
 
case 203:
2729
 
YY_RULE_SETUP
2730
 
#line 411 "./cftoken.l"
2731
 
{ YYD; yylval.num = algtype_sha1;       return(ALGORITHMTYPE); }
2732
 
        YY_BREAK
2733
 
case 204:
2734
 
YY_RULE_SETUP
2735
 
#line 412 "./cftoken.l"
2736
 
{ YYD; yylval.num = algtype_tiger;      return(ALGORITHMTYPE); }
2737
 
        YY_BREAK
2738
 
case 205:
2739
 
YY_RULE_SETUP
2740
 
#line 413 "./cftoken.l"
2741
 
{ YYD; yylval.num = algtype_sha2_256;   return(ALGORITHMTYPE); }
2742
 
        YY_BREAK
2743
 
case 206:
2744
 
YY_RULE_SETUP
2745
 
#line 414 "./cftoken.l"
2746
 
{ YYD; yylval.num = algtype_sha2_256;   return(ALGORITHMTYPE); }
2747
 
        YY_BREAK
2748
 
case 207:
2749
 
YY_RULE_SETUP
2750
 
#line 415 "./cftoken.l"
2751
 
{ YYD; yylval.num = algtype_sha2_384;   return(ALGORITHMTYPE); }
2752
 
        YY_BREAK
2753
 
case 208:
2754
 
YY_RULE_SETUP
2755
 
#line 416 "./cftoken.l"
2756
 
{ YYD; yylval.num = algtype_sha2_384;   return(ALGORITHMTYPE); }
2757
 
        YY_BREAK
2758
 
case 209:
2759
 
YY_RULE_SETUP
2760
 
#line 417 "./cftoken.l"
2761
 
{ YYD; yylval.num = algtype_sha2_512;   return(ALGORITHMTYPE); }
2762
 
        YY_BREAK
2763
 
case 210:
2764
 
YY_RULE_SETUP
2765
 
#line 418 "./cftoken.l"
2766
 
{ YYD; yylval.num = algtype_sha2_512;   return(ALGORITHMTYPE); }
2767
 
        YY_BREAK
2768
 
case 211:
2769
 
YY_RULE_SETUP
2770
 
#line 419 "./cftoken.l"
2771
 
{ YYD; yylval.num = algtype_oui;        return(ALGORITHMTYPE); }
2772
 
        YY_BREAK
2773
 
case 212:
2774
 
YY_RULE_SETUP
2775
 
#line 420 "./cftoken.l"
2776
 
{ YYD; yylval.num = algtype_deflate;    return(ALGORITHMTYPE); }
2777
 
        YY_BREAK
2778
 
case 213:
2779
 
YY_RULE_SETUP
2780
 
#line 421 "./cftoken.l"
2781
 
{ YYD; yylval.num = algtype_lzs;        return(ALGORITHMTYPE); }
2782
 
        YY_BREAK
2783
 
case 214:
2784
 
YY_RULE_SETUP
2785
 
#line 422 "./cftoken.l"
2786
 
{ YYD; yylval.num = algtype_modp768;    return(ALGORITHMTYPE); }
2787
 
        YY_BREAK
2788
 
case 215:
2789
 
YY_RULE_SETUP
2790
 
#line 423 "./cftoken.l"
2791
 
{ YYD; yylval.num = algtype_modp1024;   return(ALGORITHMTYPE); }
2792
 
        YY_BREAK
2793
 
case 216:
2794
 
YY_RULE_SETUP
2795
 
#line 424 "./cftoken.l"
2796
 
{ YYD; yylval.num = algtype_modp1536;   return(ALGORITHMTYPE); }
2797
 
        YY_BREAK
2798
 
case 217:
2799
 
YY_RULE_SETUP
2800
 
#line 425 "./cftoken.l"
2801
 
{ YYD; yylval.num = algtype_ec2n155;    return(ALGORITHMTYPE); }
2802
 
        YY_BREAK
2803
 
case 218:
2804
 
YY_RULE_SETUP
2805
 
#line 426 "./cftoken.l"
2806
 
{ YYD; yylval.num = algtype_ec2n185;    return(ALGORITHMTYPE); }
2807
 
        YY_BREAK
2808
 
case 219:
2809
 
YY_RULE_SETUP
2810
 
#line 427 "./cftoken.l"
2811
 
{ YYD; yylval.num = algtype_modp2048;   return(ALGORITHMTYPE); }
2812
 
        YY_BREAK
2813
 
case 220:
2814
 
YY_RULE_SETUP
2815
 
#line 428 "./cftoken.l"
2816
 
{ YYD; yylval.num = algtype_modp3072;   return(ALGORITHMTYPE); }
2817
 
        YY_BREAK
2818
 
case 221:
2819
 
YY_RULE_SETUP
2820
 
#line 429 "./cftoken.l"
2821
 
{ YYD; yylval.num = algtype_modp4096;   return(ALGORITHMTYPE); }
2822
 
        YY_BREAK
2823
 
case 222:
2824
 
YY_RULE_SETUP
2825
 
#line 430 "./cftoken.l"
2826
 
{ YYD; yylval.num = algtype_modp6144;   return(ALGORITHMTYPE); }
2827
 
        YY_BREAK
2828
 
case 223:
2829
 
YY_RULE_SETUP
2830
 
#line 431 "./cftoken.l"
2831
 
{ YYD; yylval.num = algtype_modp8192;   return(ALGORITHMTYPE); }
2832
 
        YY_BREAK
2833
 
case 224:
2834
 
YY_RULE_SETUP
2835
 
#line 432 "./cftoken.l"
2836
 
{ YYD; yylval.num = algtype_psk;        return(ALGORITHMTYPE); }
2837
 
        YY_BREAK
2838
 
case 225:
2839
 
YY_RULE_SETUP
2840
 
#line 433 "./cftoken.l"
2841
 
{ YYD; yylval.num = algtype_rsasig;     return(ALGORITHMTYPE); }
2842
 
        YY_BREAK
2843
 
case 226:
2844
 
YY_RULE_SETUP
2845
 
#line 434 "./cftoken.l"
2846
 
{ YYD; yylval.num = algtype_dsssig;     return(ALGORITHMTYPE); }
2847
 
        YY_BREAK
2848
 
case 227:
2849
 
YY_RULE_SETUP
2850
 
#line 435 "./cftoken.l"
2851
 
{ YYD; yylval.num = algtype_rsaenc;     return(ALGORITHMTYPE); }
2852
 
        YY_BREAK
2853
 
case 228:
2854
 
YY_RULE_SETUP
2855
 
#line 436 "./cftoken.l"
2856
 
{ YYD; yylval.num = algtype_rsarev;     return(ALGORITHMTYPE); }
2857
 
        YY_BREAK
2858
 
case 229:
2859
 
YY_RULE_SETUP
2860
 
#line 437 "./cftoken.l"
2861
 
{ YYD; yylval.num = algtype_gssapikrb;  return(ALGORITHMTYPE); }
2862
 
        YY_BREAK
2863
 
case 230:
2864
 
YY_RULE_SETUP
2865
 
#line 438 "./cftoken.l"
2866
 
{
2867
 
#ifdef ENABLE_HYBRID
2868
 
        YYD; yylval.num = algtype_hybrid_rsa_s; return(ALGORITHMTYPE);
2869
 
#else
2870
 
        yyerror("racoon not configured with --enable-hybrid");
2871
 
#endif
2872
 
}
2873
 
        YY_BREAK
2874
 
case 231:
2875
 
YY_RULE_SETUP
2876
 
#line 445 "./cftoken.l"
2877
 
{
2878
 
#ifdef ENABLE_HYBRID
2879
 
        YYD; yylval.num = algtype_hybrid_dss_s; return(ALGORITHMTYPE);
2880
 
#else
2881
 
        yyerror("racoon not configured with --enable-hybrid");
2882
 
#endif
2883
 
}
2884
 
        YY_BREAK
2885
 
case 232:
2886
 
YY_RULE_SETUP
2887
 
#line 452 "./cftoken.l"
2888
 
{
2889
 
#ifdef ENABLE_HYBRID
2890
 
        YYD; yylval.num = algtype_hybrid_rsa_c; return(ALGORITHMTYPE);
2891
 
#else
2892
 
        yyerror("racoon not configured with --enable-hybrid");
2893
 
#endif
2894
 
}
2895
 
        YY_BREAK
2896
 
case 233:
2897
 
YY_RULE_SETUP
2898
 
#line 459 "./cftoken.l"
2899
 
{
2900
 
#ifdef ENABLE_HYBRID
2901
 
        YYD; yylval.num = algtype_hybrid_dss_c; return(ALGORITHMTYPE);
2902
 
#else
2903
 
        yyerror("racoon not configured with --enable-hybrid");
2904
 
#endif
2905
 
}
2906
 
        YY_BREAK
2907
 
/* identifier type */
2908
 
case 234:
2909
 
YY_RULE_SETUP
2910
 
#line 469 "./cftoken.l"
2911
 
{ YYD; yywarn("it is obsoleted."); return(VENDORID); }
2912
 
        YY_BREAK
2913
 
case 235:
2914
 
YY_RULE_SETUP
2915
 
#line 470 "./cftoken.l"
2916
 
{ YYD; yylval.num = IDTYPE_USERFQDN; return(IDENTIFIERTYPE); }
2917
 
        YY_BREAK
2918
 
case 236:
2919
 
YY_RULE_SETUP
2920
 
#line 471 "./cftoken.l"
2921
 
{ YYD; yylval.num = IDTYPE_FQDN; return(IDENTIFIERTYPE); }
2922
 
        YY_BREAK
2923
 
case 237:
2924
 
YY_RULE_SETUP
2925
 
#line 472 "./cftoken.l"
2926
 
{ YYD; yylval.num = IDTYPE_KEYID; return(IDENTIFIERTYPE); }
2927
 
        YY_BREAK
2928
 
case 238:
2929
 
YY_RULE_SETUP
2930
 
#line 473 "./cftoken.l"
2931
 
{ YYD; yylval.num = IDTYPE_ADDRESS; return(IDENTIFIERTYPE); }
2932
 
        YY_BREAK
2933
 
case 239:
2934
 
YY_RULE_SETUP
2935
 
#line 474 "./cftoken.l"
2936
 
{ YYD; yylval.num = IDTYPE_SUBNET; return(IDENTIFIERTYPE); }
2937
 
        YY_BREAK
2938
 
case 240:
2939
 
YY_RULE_SETUP
2940
 
#line 475 "./cftoken.l"
2941
 
{ YYD; yylval.num = IDTYPE_ASN1DN; return(IDENTIFIERTYPE); }
2942
 
        YY_BREAK
2943
 
case 241:
2944
 
YY_RULE_SETUP
2945
 
#line 476 "./cftoken.l"
2946
 
{ YYD; yywarn("certname will be obsoleted in near future."); yylval.num = IDTYPE_ASN1DN; return(IDENTIFIERTYPE); }
2947
 
        YY_BREAK
2948
 
/* units */
2949
 
case 242:
2950
 
YY_RULE_SETUP
2951
 
#line 479 "./cftoken.l"
2952
 
{ YYD; return(UNITTYPE_BYTE); }
2953
 
        YY_BREAK
2954
 
case 243:
2955
 
YY_RULE_SETUP
2956
 
#line 480 "./cftoken.l"
2957
 
{ YYD; return(UNITTYPE_KBYTES); }
2958
 
        YY_BREAK
2959
 
case 244:
2960
 
YY_RULE_SETUP
2961
 
#line 481 "./cftoken.l"
2962
 
{ YYD; return(UNITTYPE_MBYTES); }
2963
 
        YY_BREAK
2964
 
case 245:
2965
 
YY_RULE_SETUP
2966
 
#line 482 "./cftoken.l"
2967
 
{ YYD; return(UNITTYPE_TBYTES); }
2968
 
        YY_BREAK
2969
 
case 246:
2970
 
YY_RULE_SETUP
2971
 
#line 483 "./cftoken.l"
2972
 
{ YYD; return(UNITTYPE_SEC); }
2973
 
        YY_BREAK
2974
 
case 247:
2975
 
YY_RULE_SETUP
2976
 
#line 484 "./cftoken.l"
2977
 
{ YYD; return(UNITTYPE_MIN); }
2978
 
        YY_BREAK
2979
 
case 248:
2980
 
YY_RULE_SETUP
2981
 
#line 485 "./cftoken.l"
2982
 
{ YYD; return(UNITTYPE_HOUR); }
2983
 
        YY_BREAK
2984
 
/* boolean */
2985
 
case 249:
2986
 
YY_RULE_SETUP
2987
 
#line 488 "./cftoken.l"
2988
 
{ YYD; yylval.num = TRUE; return(BOOLEAN); }
2989
 
        YY_BREAK
2990
 
case 250:
2991
 
YY_RULE_SETUP
2992
 
#line 489 "./cftoken.l"
2993
 
{ YYD; yylval.num = FALSE; return(BOOLEAN); }
2994
 
        YY_BREAK
2995
 
case 251:
2996
 
YY_RULE_SETUP
2997
 
#line 491 "./cftoken.l"
2998
 
{
2999
 
                        char *bp;
3000
 
 
3001
 
                        YYD;
3002
 
                        yylval.num = strtol(yytext, &bp, 10);
3003
 
                        return(NUMBER);
3004
 
                }
3005
 
        YY_BREAK
3006
 
case 252:
3007
 
YY_RULE_SETUP
3008
 
#line 499 "./cftoken.l"
3009
 
{
3010
 
                        char *p;
3011
 
 
3012
 
                        YYD; 
3013
 
                        yylval.val = vmalloc(yyleng + (yyleng & 1) + 1);
3014
 
                        if (yylval.val == NULL) {
3015
 
                                yyerror("vmalloc failed");
3016
 
                                return -1;
3017
 
                        }
3018
 
 
3019
 
                        p = yylval.val->v;
3020
 
                        *p++ = '0';
3021
 
                        *p++ = 'x';
3022
 
 
3023
 
                        /* fixed string if length is odd. */
3024
 
                        if (yyleng & 1)
3025
 
                                *p++ = '0';
3026
 
                        memcpy(p, &yytext[2], yyleng - 1);
3027
 
 
3028
 
                        return(HEXSTRING);
3029
 
                }
3030
 
        YY_BREAK
3031
 
case 253:
3032
 
YY_RULE_SETUP
3033
 
#line 521 "./cftoken.l"
3034
 
{
3035
 
                        char *p = yytext;
3036
 
 
3037
 
                        YYD;
3038
 
                        while (*++p != '"') ;
3039
 
                        *p = '\0';
3040
 
 
3041
 
                        yylval.val = vmalloc(yyleng - 1);
3042
 
                        if (yylval.val == NULL) {
3043
 
                                yyerror("vmalloc failed");
3044
 
                                return -1;
3045
 
                        }
3046
 
                        memcpy(yylval.val->v, &yytext[1], yylval.val->l);
3047
 
 
3048
 
                        return(QUOTEDSTRING);
3049
 
                }
3050
 
        YY_BREAK
3051
 
case 254:
3052
 
YY_RULE_SETUP
3053
 
#line 538 "./cftoken.l"
3054
 
{
3055
 
                        YYD;
3056
 
 
3057
 
                        yylval.val = vmalloc(yyleng + 1);
3058
 
                        if (yylval.val == NULL) {
3059
 
                                yyerror("vmalloc failed");
3060
 
                                return -1;
3061
 
                        }
3062
 
                        memcpy(yylval.val->v, yytext, yylval.val->l);
3063
 
 
3064
 
                        return(ADDRSTRING);
3065
 
                }
3066
 
        YY_BREAK
3067
 
case YY_STATE_EOF(INITIAL):
3068
 
case YY_STATE_EOF(S_INI):
3069
 
case YY_STATE_EOF(S_PRIV):
3070
 
case YY_STATE_EOF(S_PTH):
3071
 
case YY_STATE_EOF(S_INF):
3072
 
case YY_STATE_EOF(S_LOG):
3073
 
case YY_STATE_EOF(S_PAD):
3074
 
case YY_STATE_EOF(S_LST):
3075
 
case YY_STATE_EOF(S_RTRY):
3076
 
case YY_STATE_EOF(S_CFG):
3077
 
case YY_STATE_EOF(S_ALGST):
3078
 
case YY_STATE_EOF(S_ALGCL):
3079
 
case YY_STATE_EOF(S_SAINF):
3080
 
case YY_STATE_EOF(S_SAINFS):
3081
 
case YY_STATE_EOF(S_RMT):
3082
 
case YY_STATE_EOF(S_RMTS):
3083
 
case YY_STATE_EOF(S_RMTP):
3084
 
case YY_STATE_EOF(S_SA):
3085
 
case YY_STATE_EOF(S_GSSENC):
3086
 
#line 551 "./cftoken.l"
3087
 
{
3088
 
                        yy_delete_buffer(YY_CURRENT_BUFFER);
3089
 
                        incstackp--;
3090
 
    nextfile:
3091
 
                        if (incstack[incstackp].matchon <
3092
 
                            incstack[incstackp].matches.gl_pathc) {
3093
 
                                char* filepath = incstack[incstackp].matches.gl_pathv[incstack[incstackp].matchon];
3094
 
                                incstack[incstackp].matchon++;
3095
 
                                incstackp++;
3096
 
                                if (yycf_set_buffer(filepath) != 0) {
3097
 
                                        incstackp--;
3098
 
                                        goto nextfile;
3099
 
                                }
3100
 
                                yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
3101
 
                                BEGIN(S_INI);
3102
 
                        } else {
3103
 
                                globfree(&incstack[incstackp].matches);
3104
 
                                if (incstackp == 0)
3105
 
                                        yyterminate();
3106
 
                                else
3107
 
                                        yy_switch_to_buffer(incstack[incstackp].prevstate);
3108
 
                        }
3109
 
                }
3110
 
        YY_BREAK
3111
 
/* ... */
3112
 
case 255:
3113
 
YY_RULE_SETUP
3114
 
#line 576 "./cftoken.l"
3115
 
{ ; }
3116
 
        YY_BREAK
3117
 
case 256:
3118
 
YY_RULE_SETUP
3119
 
#line 577 "./cftoken.l"
3120
 
{ incstack[incstackp].lineno++; }
3121
 
        YY_BREAK
3122
 
case 257:
3123
 
YY_RULE_SETUP
3124
 
#line 578 "./cftoken.l"
3125
 
{ YYD; }
3126
 
        YY_BREAK
3127
 
case 258:
3128
 
YY_RULE_SETUP
3129
 
#line 579 "./cftoken.l"
3130
 
{ return(EOS); }
3131
 
        YY_BREAK
3132
 
case 259:
3133
 
YY_RULE_SETUP
3134
 
#line 580 "./cftoken.l"
3135
 
{ yymore(); }
3136
 
        YY_BREAK
3137
 
case 260:
3138
 
YY_RULE_SETUP
3139
 
#line 582 "./cftoken.l"
3140
 
ECHO;
3141
 
        YY_BREAK
3142
 
#line 3143 "cftoken.c"
3143
 
 
3144
 
        case YY_END_OF_BUFFER:
3145
 
                {
3146
 
                /* Amount of text matched not including the EOB char. */
3147
 
                int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3148
 
 
3149
 
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
3150
 
                *yy_cp = yy_hold_char;
3151
 
                YY_RESTORE_YY_MORE_OFFSET
3152
 
 
3153
 
                if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3154
 
                        {
3155
 
                        /* We're scanning a new file or input source.  It's
3156
 
                         * possible that this happened because the user
3157
 
                         * just pointed yyin at a new source and called
3158
 
                         * yylex().  If so, then we have to assure
3159
 
                         * consistency between yy_current_buffer and our
3160
 
                         * globals.  Here is the right place to do so, because
3161
 
                         * this is the first action (other than possibly a
3162
 
                         * back-up) that will match for the new input source.
3163
 
                         */
3164
 
                        yy_n_chars = yy_current_buffer->yy_n_chars;
3165
 
                        yy_current_buffer->yy_input_file = yyin;
3166
 
                        yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3167
 
                        }
3168
 
 
3169
 
                /* Note that here we test for yy_c_buf_p "<=" to the position
3170
 
                 * of the first EOB in the buffer, since yy_c_buf_p will
3171
 
                 * already have been incremented past the NUL character
3172
 
                 * (since all states make transitions on EOB to the
3173
 
                 * end-of-buffer state).  Contrast this with the test
3174
 
                 * in input().
3175
 
                 */
3176
 
                if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3177
 
                        { /* This was really a NUL. */
3178
 
                        yy_state_type yy_next_state;
3179
 
 
3180
 
                        yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3181
 
 
3182
 
                        yy_current_state = yy_get_previous_state();
3183
 
 
3184
 
                        /* Okay, we're now positioned to make the NUL
3185
 
                         * transition.  We couldn't have
3186
 
                         * yy_get_previous_state() go ahead and do it
3187
 
                         * for us because it doesn't know how to deal
3188
 
                         * with the possibility of jamming (and we don't
3189
 
                         * want to build jamming into it because then it
3190
 
                         * will run more slowly).
3191
 
                         */
3192
 
 
3193
 
                        yy_next_state = yy_try_NUL_trans( yy_current_state );
3194
 
 
3195
 
                        yy_bp = yytext_ptr + YY_MORE_ADJ;
3196
 
 
3197
 
                        if ( yy_next_state )
3198
 
                                {
3199
 
                                /* Consume the NUL. */
3200
 
                                yy_cp = ++yy_c_buf_p;
3201
 
                                yy_current_state = yy_next_state;
3202
 
                                goto yy_match;
3203
 
                                }
3204
 
 
3205
 
                        else
3206
 
                                {
3207
 
                                yy_cp = yy_c_buf_p;
3208
 
                                goto yy_find_action;
3209
 
                                }
3210
 
                        }
3211
 
 
3212
 
                else switch ( yy_get_next_buffer() )
3213
 
                        {
3214
 
                        case EOB_ACT_END_OF_FILE:
3215
 
                                {
3216
 
                                yy_did_buffer_switch_on_eof = 0;
3217
 
 
3218
 
                                if ( yywrap() )
3219
 
                                        {
3220
 
                                        /* Note: because we've taken care in
3221
 
                                         * yy_get_next_buffer() to have set up
3222
 
                                         * yytext, we can now set up
3223
 
                                         * yy_c_buf_p so that if some total
3224
 
                                         * hoser (like flex itself) wants to
3225
 
                                         * call the scanner after we return the
3226
 
                                         * YY_NULL, it'll still work - another
3227
 
                                         * YY_NULL will get returned.
3228
 
                                         */
3229
 
                                        yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3230
 
 
3231
 
                                        yy_act = YY_STATE_EOF(YY_START);
3232
 
                                        goto do_action;
3233
 
                                        }
3234
 
 
3235
 
                                else
3236
 
                                        {
3237
 
                                        if ( ! yy_did_buffer_switch_on_eof )
3238
 
                                                YY_NEW_FILE;
3239
 
                                        }
3240
 
                                break;
3241
 
                                }
3242
 
 
3243
 
                        case EOB_ACT_CONTINUE_SCAN:
3244
 
                                yy_c_buf_p =
3245
 
                                        yytext_ptr + yy_amount_of_matched_text;
3246
 
 
3247
 
                                yy_current_state = yy_get_previous_state();
3248
 
 
3249
 
                                yy_cp = yy_c_buf_p;
3250
 
                                yy_bp = yytext_ptr + YY_MORE_ADJ;
3251
 
                                goto yy_match;
3252
 
 
3253
 
                        case EOB_ACT_LAST_MATCH:
3254
 
                                yy_c_buf_p =
3255
 
                                &yy_current_buffer->yy_ch_buf[yy_n_chars];
3256
 
 
3257
 
                                yy_current_state = yy_get_previous_state();
3258
 
 
3259
 
                                yy_cp = yy_c_buf_p;
3260
 
                                yy_bp = yytext_ptr + YY_MORE_ADJ;
3261
 
                                goto yy_find_action;
3262
 
                        }
3263
 
                break;
3264
 
                }
3265
 
 
3266
 
        default:
3267
 
                YY_FATAL_ERROR(
3268
 
                        "fatal flex scanner internal error--no action found" );
3269
 
        } /* end of action switch */
3270
 
                } /* end of scanning one token */
3271
 
        } /* end of yylex */
3272
 
 
3273
 
 
3274
 
/* yy_get_next_buffer - try to read in a new buffer
3275
 
 *
3276
 
 * Returns a code representing an action:
3277
 
 *      EOB_ACT_LAST_MATCH -
3278
 
 *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3279
 
 *      EOB_ACT_END_OF_FILE - end of file
3280
 
 */
3281
 
 
3282
 
static int yy_get_next_buffer()
3283
 
        {
3284
 
        register char *dest = yy_current_buffer->yy_ch_buf;
3285
 
        register char *source = yytext_ptr;
3286
 
        register int number_to_move, i;
3287
 
        int ret_val;
3288
 
 
3289
 
        if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3290
 
                YY_FATAL_ERROR(
3291
 
                "fatal flex scanner internal error--end of buffer missed" );
3292
 
 
3293
 
        if ( yy_current_buffer->yy_fill_buffer == 0 )
3294
 
                { /* Don't try to fill the buffer, so this is an EOF. */
3295
 
                if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3296
 
                        {
3297
 
                        /* We matched a single character, the EOB, so
3298
 
                         * treat this as a final EOF.
3299
 
                         */
3300
 
                        return EOB_ACT_END_OF_FILE;
3301
 
                        }
3302
 
 
3303
 
                else
3304
 
                        {
3305
 
                        /* We matched some text prior to the EOB, first
3306
 
                         * process it.
3307
 
                         */
3308
 
                        return EOB_ACT_LAST_MATCH;
3309
 
                        }
3310
 
                }
3311
 
 
3312
 
        /* Try to read more data. */
3313
 
 
3314
 
        /* First move last chars to start of buffer. */
3315
 
        number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3316
 
 
3317
 
        for ( i = 0; i < number_to_move; ++i )
3318
 
                *(dest++) = *(source++);
3319
 
 
3320
 
        if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3321
 
                /* don't do the read, it's not guaranteed to return an EOF,
3322
 
                 * just force an EOF
3323
 
                 */
3324
 
                yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3325
 
 
3326
 
        else
3327
 
                {
3328
 
                int num_to_read =
3329
 
                        yy_current_buffer->yy_buf_size - number_to_move - 1;
3330
 
 
3331
 
                while ( num_to_read <= 0 )
3332
 
                        { /* Not enough room in the buffer - grow it. */
3333
 
#ifdef YY_USES_REJECT
3334
 
                        YY_FATAL_ERROR(
3335
 
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3336
 
#else
3337
 
 
3338
 
                        /* just a shorter name for the current buffer */
3339
 
                        YY_BUFFER_STATE b = yy_current_buffer;
3340
 
 
3341
 
                        int yy_c_buf_p_offset =
3342
 
                                (int) (yy_c_buf_p - b->yy_ch_buf);
3343
 
 
3344
 
                        if ( b->yy_is_our_buffer )
3345
 
                                {
3346
 
                                int new_size = b->yy_buf_size * 2;
3347
 
 
3348
 
                                if ( new_size <= 0 )
3349
 
                                        b->yy_buf_size += b->yy_buf_size / 8;
3350
 
                                else
3351
 
                                        b->yy_buf_size *= 2;
3352
 
 
3353
 
                                b->yy_ch_buf = (char *)
3354
 
                                        /* Include room in for 2 EOB chars. */
3355
 
                                        yy_flex_realloc( (void *) b->yy_ch_buf,
3356
 
                                                         b->yy_buf_size + 2 );
3357
 
                                }
3358
 
                        else
3359
 
                                /* Can't grow it, we don't own it. */
3360
 
                                b->yy_ch_buf = 0;
3361
 
 
3362
 
                        if ( ! b->yy_ch_buf )
3363
 
                                YY_FATAL_ERROR(
3364
 
                                "fatal error - scanner input buffer overflow" );
3365
 
 
3366
 
                        yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3367
 
 
3368
 
                        num_to_read = yy_current_buffer->yy_buf_size -
3369
 
                                                number_to_move - 1;
3370
 
#endif
3371
 
                        }
3372
 
 
3373
 
                if ( num_to_read > YY_READ_BUF_SIZE )
3374
 
                        num_to_read = YY_READ_BUF_SIZE;
3375
 
 
3376
 
                /* Read in more data. */
3377
 
                YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3378
 
                        yy_n_chars, num_to_read );
3379
 
 
3380
 
                yy_current_buffer->yy_n_chars = yy_n_chars;
3381
 
                }
3382
 
 
3383
 
        if ( yy_n_chars == 0 )
3384
 
                {
3385
 
                if ( number_to_move == YY_MORE_ADJ )
3386
 
                        {
3387
 
                        ret_val = EOB_ACT_END_OF_FILE;
3388
 
                        yyrestart( yyin );
3389
 
                        }
3390
 
 
3391
 
                else
3392
 
                        {
3393
 
                        ret_val = EOB_ACT_LAST_MATCH;
3394
 
                        yy_current_buffer->yy_buffer_status =
3395
 
                                YY_BUFFER_EOF_PENDING;
3396
 
                        }
3397
 
                }
3398
 
 
3399
 
        else
3400
 
                ret_val = EOB_ACT_CONTINUE_SCAN;
3401
 
 
3402
 
        yy_n_chars += number_to_move;
3403
 
        yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3404
 
        yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3405
 
 
3406
 
        yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3407
 
 
3408
 
        return ret_val;
3409
 
        }
3410
 
 
3411
 
 
3412
 
/* yy_get_previous_state - get the state just before the EOB char was reached */
3413
 
 
3414
 
static yy_state_type yy_get_previous_state()
3415
 
        {
3416
 
        register yy_state_type yy_current_state;
3417
 
        register char *yy_cp;
3418
 
 
3419
 
        yy_current_state = yy_start;
3420
 
 
3421
 
        for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3422
 
                {
3423
 
                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3424
 
                if ( yy_accept[yy_current_state] )
3425
 
                        {
3426
 
                        yy_last_accepting_state = yy_current_state;
3427
 
                        yy_last_accepting_cpos = yy_cp;
3428
 
                        }
3429
 
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3430
 
                        {
3431
 
                        yy_current_state = (int) yy_def[yy_current_state];
3432
 
                        if ( yy_current_state >= 1533 )
3433
 
                                yy_c = yy_meta[(unsigned int) yy_c];
3434
 
                        }
3435
 
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3436
 
                }
3437
 
 
3438
 
        return yy_current_state;
3439
 
        }
3440
 
 
3441
 
 
3442
 
/* yy_try_NUL_trans - try to make a transition on the NUL character
3443
 
 *
3444
 
 * synopsis
3445
 
 *      next_state = yy_try_NUL_trans( current_state );
3446
 
 */
3447
 
 
3448
 
#ifdef YY_USE_PROTOS
3449
 
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3450
 
#else
3451
 
static yy_state_type yy_try_NUL_trans( yy_current_state )
3452
 
yy_state_type yy_current_state;
3453
 
#endif
3454
 
        {
3455
 
        register int yy_is_jam;
3456
 
        register char *yy_cp = yy_c_buf_p;
3457
 
 
3458
 
        register YY_CHAR yy_c = 1;
3459
 
        if ( yy_accept[yy_current_state] )
3460
 
                {
3461
 
                yy_last_accepting_state = yy_current_state;
3462
 
                yy_last_accepting_cpos = yy_cp;
3463
 
                }
3464
 
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3465
 
                {
3466
 
                yy_current_state = (int) yy_def[yy_current_state];
3467
 
                if ( yy_current_state >= 1533 )
3468
 
                        yy_c = yy_meta[(unsigned int) yy_c];
3469
 
                }
3470
 
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3471
 
        yy_is_jam = (yy_current_state == 1532);
3472
 
 
3473
 
        return yy_is_jam ? 0 : yy_current_state;
3474
 
        }
3475
 
 
3476
 
 
3477
 
#ifndef YY_NO_UNPUT
3478
 
#ifdef YY_USE_PROTOS
3479
 
static void yyunput( int c, register char *yy_bp )
3480
 
#else
3481
 
static void yyunput( c, yy_bp )
3482
 
int c;
3483
 
register char *yy_bp;
3484
 
#endif
3485
 
        {
3486
 
        register char *yy_cp = yy_c_buf_p;
3487
 
 
3488
 
        /* undo effects of setting up yytext */
3489
 
        *yy_cp = yy_hold_char;
3490
 
 
3491
 
        if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3492
 
                { /* need to shift things up to make room */
3493
 
                /* +2 for EOB chars. */
3494
 
                register int number_to_move = yy_n_chars + 2;
3495
 
                register char *dest = &yy_current_buffer->yy_ch_buf[
3496
 
                                        yy_current_buffer->yy_buf_size + 2];
3497
 
                register char *source =
3498
 
                                &yy_current_buffer->yy_ch_buf[number_to_move];
3499
 
 
3500
 
                while ( source > yy_current_buffer->yy_ch_buf )
3501
 
                        *--dest = *--source;
3502
 
 
3503
 
                yy_cp += (int) (dest - source);
3504
 
                yy_bp += (int) (dest - source);
3505
 
                yy_current_buffer->yy_n_chars =
3506
 
                        yy_n_chars = yy_current_buffer->yy_buf_size;
3507
 
 
3508
 
                if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3509
 
                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
3510
 
                }
3511
 
 
3512
 
        *--yy_cp = (char) c;
3513
 
 
3514
 
 
3515
 
        yytext_ptr = yy_bp;
3516
 
        yy_hold_char = *yy_cp;
3517
 
        yy_c_buf_p = yy_cp;
3518
 
        }
3519
 
#endif  /* ifndef YY_NO_UNPUT */
3520
 
 
3521
 
 
3522
 
#ifndef YY_NO_INPUT
3523
 
#ifdef __cplusplus
3524
 
static int yyinput()
3525
 
#else
3526
 
static int input()
3527
 
#endif
3528
 
        {
3529
 
        int c;
3530
 
 
3531
 
        *yy_c_buf_p = yy_hold_char;
3532
 
 
3533
 
        if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3534
 
                {
3535
 
                /* yy_c_buf_p now points to the character we want to return.
3536
 
                 * If this occurs *before* the EOB characters, then it's a
3537
 
                 * valid NUL; if not, then we've hit the end of the buffer.
3538
 
                 */
3539
 
                if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3540
 
                        /* This was really a NUL. */
3541
 
                        *yy_c_buf_p = '\0';
3542
 
 
3543
 
                else
3544
 
                        { /* need more input */
3545
 
                        int offset = yy_c_buf_p - yytext_ptr;
3546
 
                        ++yy_c_buf_p;
3547
 
 
3548
 
                        switch ( yy_get_next_buffer() )
3549
 
                                {
3550
 
                                case EOB_ACT_LAST_MATCH:
3551
 
                                        /* This happens because yy_g_n_b()
3552
 
                                         * sees that we've accumulated a
3553
 
                                         * token and flags that we need to
3554
 
                                         * try matching the token before
3555
 
                                         * proceeding.  But for input(),
3556
 
                                         * there's no matching to consider.
3557
 
                                         * So convert the EOB_ACT_LAST_MATCH
3558
 
                                         * to EOB_ACT_END_OF_FILE.
3559
 
                                         */
3560
 
 
3561
 
                                        /* Reset buffer status. */
3562
 
                                        yyrestart( yyin );
3563
 
 
3564
 
                                        /* fall through */
3565
 
 
3566
 
                                case EOB_ACT_END_OF_FILE:
3567
 
                                        {
3568
 
                                        if ( yywrap() )
3569
 
                                                return EOF;
3570
 
 
3571
 
                                        if ( ! yy_did_buffer_switch_on_eof )
3572
 
                                                YY_NEW_FILE;
3573
 
#ifdef __cplusplus
3574
 
                                        return yyinput();
3575
 
#else
3576
 
                                        return input();
3577
 
#endif
3578
 
                                        }
3579
 
 
3580
 
                                case EOB_ACT_CONTINUE_SCAN:
3581
 
                                        yy_c_buf_p = yytext_ptr + offset;
3582
 
                                        break;
3583
 
                                }
3584
 
                        }
3585
 
                }
3586
 
 
3587
 
        c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
3588
 
        *yy_c_buf_p = '\0';     /* preserve yytext */
3589
 
        yy_hold_char = *++yy_c_buf_p;
3590
 
 
3591
 
 
3592
 
        return c;
3593
 
        }
3594
 
#endif /* YY_NO_INPUT */
3595
 
 
3596
 
#ifdef YY_USE_PROTOS
3597
 
void yyrestart( FILE *input_file )
3598
 
#else
3599
 
void yyrestart( input_file )
3600
 
FILE *input_file;
3601
 
#endif
3602
 
        {
3603
 
        if ( ! yy_current_buffer )
3604
 
                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3605
 
 
3606
 
        yy_init_buffer( yy_current_buffer, input_file );
3607
 
        yy_load_buffer_state();
3608
 
        }
3609
 
 
3610
 
 
3611
 
#ifdef YY_USE_PROTOS
3612
 
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3613
 
#else
3614
 
void yy_switch_to_buffer( new_buffer )
3615
 
YY_BUFFER_STATE new_buffer;
3616
 
#endif
3617
 
        {
3618
 
        if ( yy_current_buffer == new_buffer )
3619
 
                return;
3620
 
 
3621
 
        if ( yy_current_buffer )
3622
 
                {
3623
 
                /* Flush out information for old buffer. */
3624
 
                *yy_c_buf_p = yy_hold_char;
3625
 
                yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3626
 
                yy_current_buffer->yy_n_chars = yy_n_chars;
3627
 
                }
3628
 
 
3629
 
        yy_current_buffer = new_buffer;
3630
 
        yy_load_buffer_state();
3631
 
 
3632
 
        /* We don't actually know whether we did this switch during
3633
 
         * EOF (yywrap()) processing, but the only time this flag
3634
 
         * is looked at is after yywrap() is called, so it's safe
3635
 
         * to go ahead and always set it.
3636
 
         */
3637
 
        yy_did_buffer_switch_on_eof = 1;
3638
 
        }
3639
 
 
3640
 
 
3641
 
#ifdef YY_USE_PROTOS
3642
 
void yy_load_buffer_state( void )
3643
 
#else
3644
 
void yy_load_buffer_state()
3645
 
#endif
3646
 
        {
3647
 
        yy_n_chars = yy_current_buffer->yy_n_chars;
3648
 
        yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3649
 
        yyin = yy_current_buffer->yy_input_file;
3650
 
        yy_hold_char = *yy_c_buf_p;
3651
 
        }
3652
 
 
3653
 
 
3654
 
#ifdef YY_USE_PROTOS
3655
 
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3656
 
#else
3657
 
YY_BUFFER_STATE yy_create_buffer( file, size )
3658
 
FILE *file;
3659
 
int size;
3660
 
#endif
3661
 
        {
3662
 
        YY_BUFFER_STATE b;
3663
 
 
3664
 
        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3665
 
        if ( ! b )
3666
 
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3667
 
 
3668
 
        b->yy_buf_size = size;
3669
 
 
3670
 
        /* yy_ch_buf has to be 2 characters longer than the size given because
3671
 
         * we need to put in 2 end-of-buffer characters.
3672
 
         */
3673
 
        b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3674
 
        if ( ! b->yy_ch_buf )
3675
 
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3676
 
 
3677
 
        b->yy_is_our_buffer = 1;
3678
 
 
3679
 
        yy_init_buffer( b, file );
3680
 
 
3681
 
        return b;
3682
 
        }
3683
 
 
3684
 
 
3685
 
#ifdef YY_USE_PROTOS
3686
 
void yy_delete_buffer( YY_BUFFER_STATE b )
3687
 
#else
3688
 
void yy_delete_buffer( b )
3689
 
YY_BUFFER_STATE b;
3690
 
#endif
3691
 
        {
3692
 
        if ( ! b )
3693
 
                return;
3694
 
 
3695
 
        if ( b == yy_current_buffer )
3696
 
                yy_current_buffer = (YY_BUFFER_STATE) 0;
3697
 
 
3698
 
        if ( b->yy_is_our_buffer )
3699
 
                yy_flex_free( (void *) b->yy_ch_buf );
3700
 
 
3701
 
        yy_flex_free( (void *) b );
3702
 
        }
3703
 
 
3704
 
 
3705
 
 
3706
 
#ifdef YY_USE_PROTOS
3707
 
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3708
 
#else
3709
 
void yy_init_buffer( b, file )
3710
 
YY_BUFFER_STATE b;
3711
 
FILE *file;
3712
 
#endif
3713
 
 
3714
 
 
3715
 
        {
3716
 
        yy_flush_buffer( b );
3717
 
 
3718
 
        b->yy_input_file = file;
3719
 
        b->yy_fill_buffer = 1;
3720
 
 
3721
 
#if YY_ALWAYS_INTERACTIVE
3722
 
        b->yy_is_interactive = 1;
3723
 
#else
3724
 
#if YY_NEVER_INTERACTIVE
3725
 
        b->yy_is_interactive = 0;
3726
 
#else
3727
 
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3728
 
#endif
3729
 
#endif
3730
 
        }
3731
 
 
3732
 
 
3733
 
#ifdef YY_USE_PROTOS
3734
 
void yy_flush_buffer( YY_BUFFER_STATE b )
3735
 
#else
3736
 
void yy_flush_buffer( b )
3737
 
YY_BUFFER_STATE b;
3738
 
#endif
3739
 
 
3740
 
        {
3741
 
        if ( ! b )
3742
 
                return;
3743
 
 
3744
 
        b->yy_n_chars = 0;
3745
 
 
3746
 
        /* We always need two end-of-buffer characters.  The first causes
3747
 
         * a transition to the end-of-buffer state.  The second causes
3748
 
         * a jam in that state.
3749
 
         */
3750
 
        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3751
 
        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3752
 
 
3753
 
        b->yy_buf_pos = &b->yy_ch_buf[0];
3754
 
 
3755
 
        b->yy_at_bol = 1;
3756
 
        b->yy_buffer_status = YY_BUFFER_NEW;
3757
 
 
3758
 
        if ( b == yy_current_buffer )
3759
 
                yy_load_buffer_state();
3760
 
        }
3761
 
 
3762
 
 
3763
 
#ifndef YY_NO_SCAN_BUFFER
3764
 
#ifdef YY_USE_PROTOS
3765
 
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3766
 
#else
3767
 
YY_BUFFER_STATE yy_scan_buffer( base, size )
3768
 
char *base;
3769
 
yy_size_t size;
3770
 
#endif
3771
 
        {
3772
 
        YY_BUFFER_STATE b;
3773
 
 
3774
 
        if ( size < 2 ||
3775
 
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
3776
 
             base[size-1] != YY_END_OF_BUFFER_CHAR )
3777
 
                /* They forgot to leave room for the EOB's. */
3778
 
                return 0;
3779
 
 
3780
 
        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3781
 
        if ( ! b )
3782
 
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3783
 
 
3784
 
        b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
3785
 
        b->yy_buf_pos = b->yy_ch_buf = base;
3786
 
        b->yy_is_our_buffer = 0;
3787
 
        b->yy_input_file = 0;
3788
 
        b->yy_n_chars = b->yy_buf_size;
3789
 
        b->yy_is_interactive = 0;
3790
 
        b->yy_at_bol = 1;
3791
 
        b->yy_fill_buffer = 0;
3792
 
        b->yy_buffer_status = YY_BUFFER_NEW;
3793
 
 
3794
 
        yy_switch_to_buffer( b );
3795
 
 
3796
 
        return b;
3797
 
        }
3798
 
#endif
3799
 
 
3800
 
 
3801
 
#ifndef YY_NO_SCAN_STRING
3802
 
#ifdef YY_USE_PROTOS
3803
 
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3804
 
#else
3805
 
YY_BUFFER_STATE yy_scan_string( yy_str )
3806
 
yyconst char *yy_str;
3807
 
#endif
3808
 
        {
3809
 
        int len;
3810
 
        for ( len = 0; yy_str[len]; ++len )
3811
 
                ;
3812
 
 
3813
 
        return yy_scan_bytes( yy_str, len );
3814
 
        }
3815
 
#endif
3816
 
 
3817
 
 
3818
 
#ifndef YY_NO_SCAN_BYTES
3819
 
#ifdef YY_USE_PROTOS
3820
 
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3821
 
#else
3822
 
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3823
 
yyconst char *bytes;
3824
 
int len;
3825
 
#endif
3826
 
        {
3827
 
        YY_BUFFER_STATE b;
3828
 
        char *buf;
3829
 
        yy_size_t n;
3830
 
        int i;
3831
 
 
3832
 
        /* Get memory for full buffer, including space for trailing EOB's. */
3833
 
        n = len + 2;
3834
 
        buf = (char *) yy_flex_alloc( n );
3835
 
        if ( ! buf )
3836
 
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3837
 
 
3838
 
        for ( i = 0; i < len; ++i )
3839
 
                buf[i] = bytes[i];
3840
 
 
3841
 
        buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3842
 
 
3843
 
        b = yy_scan_buffer( buf, n );
3844
 
        if ( ! b )
3845
 
                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3846
 
 
3847
 
        /* It's okay to grow etc. this buffer, and we should throw it
3848
 
         * away when we're done.
3849
 
         */
3850
 
        b->yy_is_our_buffer = 1;
3851
 
 
3852
 
        return b;
3853
 
        }
3854
 
#endif
3855
 
 
3856
 
 
3857
 
#ifndef YY_NO_PUSH_STATE
3858
 
#ifdef YY_USE_PROTOS
3859
 
static void yy_push_state( int new_state )
3860
 
#else
3861
 
static void yy_push_state( new_state )
3862
 
int new_state;
3863
 
#endif
3864
 
        {
3865
 
        if ( yy_start_stack_ptr >= yy_start_stack_depth )
3866
 
                {
3867
 
                yy_size_t new_size;
3868
 
 
3869
 
                yy_start_stack_depth += YY_START_STACK_INCR;
3870
 
                new_size = yy_start_stack_depth * sizeof( int );
3871
 
 
3872
 
                if ( ! yy_start_stack )
3873
 
                        yy_start_stack = (int *) yy_flex_alloc( new_size );
3874
 
 
3875
 
                else
3876
 
                        yy_start_stack = (int *) yy_flex_realloc(
3877
 
                                        (void *) yy_start_stack, new_size );
3878
 
 
3879
 
                if ( ! yy_start_stack )
3880
 
                        YY_FATAL_ERROR(
3881
 
                        "out of memory expanding start-condition stack" );
3882
 
                }
3883
 
 
3884
 
        yy_start_stack[yy_start_stack_ptr++] = YY_START;
3885
 
 
3886
 
        BEGIN(new_state);
3887
 
        }
3888
 
#endif
3889
 
 
3890
 
 
3891
 
#ifndef YY_NO_POP_STATE
3892
 
static void yy_pop_state()
3893
 
        {
3894
 
        if ( --yy_start_stack_ptr < 0 )
3895
 
                YY_FATAL_ERROR( "start-condition stack underflow" );
3896
 
 
3897
 
        BEGIN(yy_start_stack[yy_start_stack_ptr]);
3898
 
        }
3899
 
#endif
3900
 
 
3901
 
 
3902
 
#ifndef YY_NO_TOP_STATE
3903
 
static int yy_top_state()
3904
 
        {
3905
 
        return yy_start_stack[yy_start_stack_ptr - 1];
3906
 
        }
3907
 
#endif
3908
 
 
3909
 
#ifndef YY_EXIT_FAILURE
3910
 
#define YY_EXIT_FAILURE 2
3911
 
#endif
3912
 
 
3913
 
#ifdef YY_USE_PROTOS
3914
 
static void yy_fatal_error( yyconst char msg[] )
3915
 
#else
3916
 
static void yy_fatal_error( msg )
3917
 
char msg[];
3918
 
#endif
3919
 
        {
3920
 
        (void) fprintf( stderr, "%s\n", msg );
3921
 
        exit( YY_EXIT_FAILURE );
3922
 
        }
3923
 
 
3924
 
 
3925
 
 
3926
 
/* Redefine yyless() so it works in section 3 code. */
3927
 
 
3928
 
#undef yyless
3929
 
#define yyless(n) \
3930
 
        do \
3931
 
                { \
3932
 
                /* Undo effects of setting up yytext. */ \
3933
 
                yytext[yyleng] = yy_hold_char; \
3934
 
                yy_c_buf_p = yytext + n; \
3935
 
                yy_hold_char = *yy_c_buf_p; \
3936
 
                *yy_c_buf_p = '\0'; \
3937
 
                yyleng = n; \
3938
 
                } \
3939
 
        while ( 0 )
3940
 
 
3941
 
 
3942
 
/* Internal utility routines. */
3943
 
 
3944
 
#ifndef yytext_ptr
3945
 
#ifdef YY_USE_PROTOS
3946
 
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3947
 
#else
3948
 
static void yy_flex_strncpy( s1, s2, n )
3949
 
char *s1;
3950
 
yyconst char *s2;
3951
 
int n;
3952
 
#endif
3953
 
        {
3954
 
        register int i;
3955
 
        for ( i = 0; i < n; ++i )
3956
 
                s1[i] = s2[i];
3957
 
        }
3958
 
#endif
3959
 
 
3960
 
#ifdef YY_NEED_STRLEN
3961
 
#ifdef YY_USE_PROTOS
3962
 
static int yy_flex_strlen( yyconst char *s )
3963
 
#else
3964
 
static int yy_flex_strlen( s )
3965
 
yyconst char *s;
3966
 
#endif
3967
 
        {
3968
 
        register int n;
3969
 
        for ( n = 0; s[n]; ++n )
3970
 
                ;
3971
 
 
3972
 
        return n;
3973
 
        }
3974
 
#endif
3975
 
 
3976
 
 
3977
 
#ifdef YY_USE_PROTOS
3978
 
static void *yy_flex_alloc( yy_size_t size )
3979
 
#else
3980
 
static void *yy_flex_alloc( size )
3981
 
yy_size_t size;
3982
 
#endif
3983
 
        {
3984
 
        return (void *) malloc( size );
3985
 
        }
3986
 
 
3987
 
#ifdef YY_USE_PROTOS
3988
 
static void *yy_flex_realloc( void *ptr, yy_size_t size )
3989
 
#else
3990
 
static void *yy_flex_realloc( ptr, size )
3991
 
void *ptr;
3992
 
yy_size_t size;
3993
 
#endif
3994
 
        {
3995
 
        /* The cast to (char *) in the following accommodates both
3996
 
         * implementations that use char* generic pointers, and those
3997
 
         * that use void* generic pointers.  It works with the latter
3998
 
         * because both ANSI C and C++ allow castless assignment from
3999
 
         * any pointer type to void*, and deal with argument conversions
4000
 
         * as though doing an assignment.
4001
 
         */
4002
 
        return (void *) realloc( (char *) ptr, size );
4003
 
        }
4004
 
 
4005
 
#ifdef YY_USE_PROTOS
4006
 
static void yy_flex_free( void *ptr )
4007
 
#else
4008
 
static void yy_flex_free( ptr )
4009
 
void *ptr;
4010
 
#endif
4011
 
        {
4012
 
        free( ptr );
4013
 
        }
4014
 
 
4015
 
#if YY_MAIN
4016
 
int main()
4017
 
        {
4018
 
        yylex();
4019
 
        return 0;
4020
 
        }
4021
 
#endif
4022
 
#line 582 "./cftoken.l"
4023
 
 
4024
 
 
4025
 
void
4026
 
yyerror(char *s, ...)
4027
 
{
4028
 
        char fmt[512];
4029
 
 
4030
 
        va_list ap;
4031
 
#ifdef HAVE_STDARG_H
4032
 
        va_start(ap, s);
4033
 
#else
4034
 
        va_start(ap);
4035
 
#endif
4036
 
        snprintf(fmt, sizeof(fmt), "%s:%d: \"%s\" %s\n",
4037
 
                incstack[incstackp].path, incstack[incstackp].lineno,
4038
 
                yytext, s);
4039
 
        plogv(LLV_ERROR, LOCATION, NULL, fmt, ap);
4040
 
        va_end(ap);
4041
 
 
4042
 
        yyerrorcount++;
4043
 
}
4044
 
 
4045
 
void
4046
 
yywarn(char *s, ...)
4047
 
{
4048
 
        char fmt[512];
4049
 
 
4050
 
        va_list ap;
4051
 
#ifdef HAVE_STDARG_H
4052
 
        va_start(ap, s);
4053
 
#else
4054
 
        va_start(ap);
4055
 
#endif
4056
 
        snprintf(fmt, sizeof(fmt), "%s:%d: \"%s\" %s\n",
4057
 
                incstack[incstackp].path, incstack[incstackp].lineno,
4058
 
                yytext, s);
4059
 
        plogv(LLV_WARNING, LOCATION, NULL, fmt, ap);
4060
 
        va_end(ap);
4061
 
}
4062
 
 
4063
 
int
4064
 
yycf_switch_buffer(path)
4065
 
        char *path;
4066
 
{
4067
 
        char *filepath = NULL;
4068
 
 
4069
 
        /* got the include file name */
4070
 
        if (incstackp >= MAX_INCLUDE_DEPTH) {
4071
 
                plog(LLV_ERROR, LOCATION, NULL,
4072
 
                        "Includes nested too deeply");
4073
 
                return -1;
4074
 
        }
4075
 
 
4076
 
        if (glob(path, GLOB_TILDE, NULL, &incstack[incstackp].matches) != 0 ||
4077
 
            incstack[incstackp].matches.gl_pathc == 0) {
4078
 
                plog(LLV_ERROR, LOCATION, NULL,
4079
 
                        "glob found no matches for path");
4080
 
                return -1;
4081
 
        }
4082
 
        incstack[incstackp].matchon = 0;
4083
 
        incstack[incstackp].prevstate = YY_CURRENT_BUFFER;
4084
 
 
4085
 
    nextmatch:
4086
 
        if (incstack[incstackp].matchon >= incstack[incstackp].matches.gl_pathc)
4087
 
                return -1;
4088
 
        filepath =
4089
 
            incstack[incstackp].matches.gl_pathv[incstack[incstackp].matchon];
4090
 
        incstack[incstackp].matchon++;
4091
 
        incstackp++;
4092
 
 
4093
 
        if (yycf_set_buffer(filepath) != 0) {
4094
 
              incstackp--;
4095
 
              goto nextmatch;
4096
 
        }
4097
 
 
4098
 
        yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
4099
 
 
4100
 
        BEGIN(S_INI);
4101
 
 
4102
 
        return 0;
4103
 
}
4104
 
 
4105
 
int
4106
 
yycf_set_buffer(path)
4107
 
        char *path;
4108
 
{
4109
 
        yyin = fopen(path, "r");
4110
 
        if (yyin == NULL) {
4111
 
                fprintf(stderr, "failed to open file %s (%s)\n",
4112
 
                        path, strerror(errno));
4113
 
                plog(LLV_ERROR, LOCATION, NULL,
4114
 
                        "failed to open file %s (%s)\n",
4115
 
                        path, strerror(errno));
4116
 
                return -1;
4117
 
        }
4118
 
 
4119
 
        /* initialize */
4120
 
        incstack[incstackp].fp = yyin;
4121
 
        incstack[incstackp].path = strdup(path);
4122
 
        incstack[incstackp].lineno = 1;
4123
 
        plog(LLV_DEBUG, LOCATION, NULL,
4124
 
                "reading config file %s\n", path);
4125
 
 
4126
 
        return 0;
4127
 
}
4128
 
 
4129
 
void
4130
 
yycf_init_buffer()
4131
 
{
4132
 
        int i;
4133
 
 
4134
 
        for (i = 0; i < MAX_INCLUDE_DEPTH; i++)
4135
 
                memset(&incstack[i], 0, sizeof(incstack[i]));
4136
 
        incstackp = 0;
4137
 
}
4138
 
 
4139
 
void
4140
 
yycf_clean_buffer()
4141
 
{
4142
 
        int i;
4143
 
 
4144
 
        for (i = 0; i < MAX_INCLUDE_DEPTH; i++) {
4145
 
                if (incstack[i].path != NULL) {
4146
 
                        fclose(incstack[i].fp);
4147
 
                        racoon_free(incstack[i].path);
4148
 
                        incstack[i].path = NULL;
4149
 
                }
4150
 
        }
4151
 
}
4152