blob: 93a12c3430d5cfd1deb0d544eb57da9d20f955db [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001#define yy_create_buffer asn1p__create_buffer
2#define yy_delete_buffer asn1p__delete_buffer
3#define yy_scan_buffer asn1p__scan_buffer
4#define yy_scan_string asn1p__scan_string
5#define yy_scan_bytes asn1p__scan_bytes
6#define yy_flex_debug asn1p__flex_debug
7#define yy_init_buffer asn1p__init_buffer
8#define yy_flush_buffer asn1p__flush_buffer
9#define yy_load_buffer_state asn1p__load_buffer_state
10#define yy_switch_to_buffer asn1p__switch_to_buffer
11#define yyin asn1p_in
12#define yyleng asn1p_leng
13#define yylex asn1p_lex
14#define yyout asn1p_out
15#define yyrestart asn1p_restart
16#define yytext asn1p_text
17#define yylineno asn1p_lineno
18
vlm9283dbe2004-08-18 04:59:12 +000019#line 20 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +000020/* A lexical scanner generated by flex */
21
22/* Scanner skeleton version:
23 * $Header$
24 */
25
26#define FLEX_SCANNER
27#define YY_FLEX_MAJOR_VERSION 2
28#define YY_FLEX_MINOR_VERSION 5
29
30#include <stdio.h>
31
32
33/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
34#ifdef c_plusplus
35#ifndef __cplusplus
36#define __cplusplus
37#endif
38#endif
39
40
41#ifdef __cplusplus
42
43#include <stdlib.h>
44#include <unistd.h>
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
49/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
56#define YY_USE_PROTOS
57#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
62#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
71#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
77
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
84/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
98#define BEGIN yy_start = 1 + 2 *
99
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
104#define YY_START ((yy_start - 1) / 2)
105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
111#define YY_NEW_FILE yyrestart( yyin )
112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE 16384
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
120extern int yyleng;
121extern FILE *yyin, *yyout;
122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
143#define yyless(n) \
144 do \
145 { \
146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
148 YY_RESTORE_YY_MORE_OFFSET \
149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
151 } \
152 while ( 0 )
153
154#define unput(c) yyunput( c, yytext_ptr )
155
156/* The following is because we cannot portably get our hands on size_t
157 * (without autoconf's help, which isn't available because we want
158 * flex-generated scanners to compile on their own).
159 */
160typedef unsigned int yy_size_t;
161
162
163struct yy_buffer_state
164 {
165 FILE *yy_input_file;
166
167 char *yy_ch_buf; /* input buffer */
168 char *yy_buf_pos; /* current position in input buffer */
169
170 /* Size of input buffer in bytes, not including room for EOB
171 * characters.
172 */
173 yy_size_t yy_buf_size;
174
175 /* Number of characters read into yy_ch_buf, not including EOB
176 * characters.
177 */
178 int yy_n_chars;
179
180 /* Whether we "own" the buffer - i.e., we know we created it,
181 * and can realloc() it to grow it, and should free() it to
182 * delete it.
183 */
184 int yy_is_our_buffer;
185
186 /* Whether this is an "interactive" input source; if so, and
187 * if we're using stdio for input, then we want to use getc()
188 * instead of fread(), to make sure we stop fetching input after
189 * each newline.
190 */
191 int yy_is_interactive;
192
193 /* Whether we're considered to be at the beginning of a line.
194 * If so, '^' rules will be active on the next match, otherwise
195 * not.
196 */
197 int yy_at_bol;
198
199 /* Whether to try to fill the input buffer when we reach the
200 * end of it.
201 */
202 int yy_fill_buffer;
203
204 int yy_buffer_status;
205#define YY_BUFFER_NEW 0
206#define YY_BUFFER_NORMAL 1
207 /* When an EOF's been seen but there's still some text to process
208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209 * shouldn't try reading from the input source any more. We might
210 * still have a bunch of tokens to match, though, because of
211 * possible backing-up.
212 *
213 * When we actually see the EOF, we change the status to "new"
214 * (via yyrestart()), so that the user can continue scanning by
215 * just pointing yyin at a new input file.
216 */
217#define YY_BUFFER_EOF_PENDING 2
218 };
219
220static YY_BUFFER_STATE yy_current_buffer = 0;
221
222/* We provide macros for accessing buffer states in case in the
223 * future we want to put the buffer states in a more general
224 * "scanner state".
225 */
226#define YY_CURRENT_BUFFER yy_current_buffer
227
228
229/* yy_hold_char holds the character lost when yytext is formed. */
230static char yy_hold_char;
231
232static int yy_n_chars; /* number of characters read into yy_ch_buf */
233
234
235int yyleng;
236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
239static int yy_init = 1; /* whether we need to initialize */
240static int yy_start = 0; /* start state number */
241
242/* Flag which is used to allow yywrap()'s to do buffer switches
243 * instead of setting up a fresh yyin. A bit of a hack ...
244 */
245static int yy_did_buffer_switch_on_eof;
246
247void yyrestart YY_PROTO(( FILE *input_file ));
248
249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
262static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
263static void yy_flex_free YY_PROTO(( void * ));
264
265#define yy_new_buffer yy_create_buffer
266
267#define yy_set_interactive(is_interactive) \
268 { \
269 if ( ! yy_current_buffer ) \
270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271 yy_current_buffer->yy_is_interactive = is_interactive; \
272 }
273
274#define yy_set_bol(at_bol) \
275 { \
276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_at_bol = at_bol; \
279 }
280
281#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
282
283
284#define YY_USES_REJECT
285
286#define yywrap() 1
287#define YY_SKIP_YYWRAP
288
289#define FLEX_DEBUG
290typedef unsigned char YY_CHAR;
291FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
292typedef int yy_state_type;
293
294#define FLEX_DEBUG
295extern int yylineno;
296int yylineno = 1;
297extern char *yytext;
298#define yytext_ptr yytext
299
300static yy_state_type yy_get_previous_state YY_PROTO(( void ));
301static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
302static int yy_get_next_buffer YY_PROTO(( void ));
303static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
304
305/* Done after the current pattern has been matched and before the
306 * corresponding action - sets up yytext.
307 */
308#define YY_DO_BEFORE_ACTION \
309 yytext_ptr = yy_bp; \
310 yyleng = (int) (yy_cp - yy_bp); \
311 yy_hold_char = *yy_cp; \
312 *yy_cp = '\0'; \
313 yy_c_buf_p = yy_cp;
314
vlmc94e28f2004-09-15 11:59:51 +0000315#define YY_NUM_RULES 131
316#define YY_END_OF_BUFFER 132
317static yyconst short int yy_acclist[1266] =
vlmfa67ddc2004-06-03 03:38:44 +0000318 { 0,
vlmc94e28f2004-09-15 11:59:51 +0000319 132, 130, 131, 124, 130, 131, 124, 131, 123, 130,
320 131, 15, 130, 131, 123, 130, 131, 130, 131, 123,
321 130, 131, 130, 131, 123, 130, 131, 130, 131, 29,
322 130, 131, 28, 130, 131, 123, 130, 131, 130, 131,
323 118, 119, 130, 131, 118, 119, 130, 131, 118, 119,
324 130, 131, 118, 119, 130, 131, 118, 119, 130, 131,
325 118, 119, 130, 131, 118, 119, 130, 131, 118, 119,
326 130, 131, 118, 119, 130, 131, 118, 119, 130, 131,
327 118, 119, 130, 131, 118, 119, 130, 131, 118, 119,
328 130, 131, 118, 119, 130, 131, 118, 119, 130, 131,
vlmfa67ddc2004-06-03 03:38:44 +0000329
vlmc94e28f2004-09-15 11:59:51 +0000330 118, 119, 130, 131, 118, 119, 130, 131, 118, 119,
331 130, 131, 118, 119, 130, 131, 123, 130, 131, 129,
332 130, 131, 117, 130, 131, 123, 129, 130, 131, 5,
333 130, 131, 2, 131, 2, 130, 131, 4, 130, 131,
334 7, 9, 130, 131, 7, 131, 9, 130, 131, 9,
335 130, 131, 17, 130, 131, 17, 131, 18, 130, 131,
336 12, 130, 131, 12, 131, 14, 130, 131, 14, 130,
337 131, 10, 130, 131, 11, 130, 131, 21, 23, 130,
338 131, 23, 130, 131, 24, 131, 21, 22, 23, 130,
339 131, 21, 22, 23, 130, 131, 126, 130, 131, 127,
vlmfa67ddc2004-06-03 03:38:44 +0000340
vlmc94e28f2004-09-15 11:59:51 +0000341 130, 131, 127, 131, 130, 131, 128, 130, 131, 124,
342 15, 15, 115, 116, 1, 27, 122, 6, 28, 118,
343 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
344 119, 119, 118, 119, 118, 119, 118, 119, 118, 119,
345 41, 118, 119, 118, 119, 118, 119, 118, 119, 118,
346 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
347 119, 119, 119, 118, 119, 118, 119, 118, 119, 118,
348 119, 118, 119, 118, 119, 118, 119, 118, 119, 119,
349 118, 119, 118, 119, 86, 118, 119, 118, 119, 119,
350 118, 119, 118, 119, 118, 119, 118, 119, 119, 118,
vlmfa67ddc2004-06-03 03:38:44 +0000351
vlmc94e28f2004-09-15 11:59:51 +0000352 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
353 119, 118, 119, 118, 119, 118, 119, 119, 118, 119,
354 118, 119, 119, 119, 118, 119, 117, 5, 3, 8,
355 17, 16, 12, 21, 21, 22, 21, 22, 126, 127,
356 125, 115, 116, 27, 121, 120, 118, 119, 33, 118,
357 119, 34, 118, 119, 118, 119, 118, 119, 118, 119,
358 38, 118, 119, 118, 119, 118, 119, 118, 119, 118,
359 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
360 119, 118, 119, 55, 118, 119, 118, 119, 118, 119,
361 118, 119, 118, 119, 118, 119, 118, 119, 119, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000362
vlmc94e28f2004-09-15 11:59:51 +0000363 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
364 118, 119, 118, 119, 78, 118, 119, 79, 118, 119,
365 118, 119, 119, 118, 119, 118, 119, 118, 119, 119,
366 118, 119, 89, 118, 119, 118, 119, 118, 119, 118,
367 119, 119, 118, 119, 118, 119, 118, 119, 97, 118,
368 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
369 119, 118, 119, 118, 119, 119, 118, 119, 118, 119,
370 118, 119, 119, 119, 119, 118, 119, 30, 13, 21,
371 22, 20, 21, 22, 26, 25, 118, 119, 118, 119,
372 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000373
vlmc94e28f2004-09-15 11:59:51 +0000374 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
375 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
376 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
377 63, 118, 119, 119, 119, 118, 119, 118, 119, 118,
378 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
379 119, 118, 119, 81, 118, 119, 119, 118, 119, 118,
380 119, 118, 119, 119, 118, 119, 118, 119, 118, 119,
381 118, 119, 119, 94, 118, 119, 118, 119, 118, 119,
382 98, 118, 119, 118, 119, 118, 119, 118, 119, 102,
383 118, 119, 104, 118, 119, 118, 119, 119, 118, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000384
vlmc94e28f2004-09-15 11:59:51 +0000385 118, 119, 118, 119, 118, 119, 118, 119, 119, 119,
386 119, 114, 118, 119, 21, 22, 118, 119, 118, 119,
387 118, 119, 37, 118, 119, 119, 118, 119, 118, 119,
388 118, 119, 44, 118, 119, 118, 119, 118, 119, 118,
389 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
390 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
391 119, 62, 118, 119, 119, 119, 119, 118, 119, 118,
392 119, 118, 119, 118, 119, 118, 119, 118, 119, 118,
393 119, 118, 119, 118, 119, 118, 119, 119, 118, 119,
394 85, 118, 119, 118, 119, 119, 118, 119, 118, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000395
vlmc94e28f2004-09-15 11:59:51 +0000396 118, 119, 118, 119, 119, 118, 119, 118, 119, 118,
397 119, 118, 119, 119, 118, 119, 119, 106, 118, 119,
398 118, 119, 118, 119, 119, 118, 119, 119, 119, 119,
399 31, 21, 22, 32, 118, 119, 118, 119, 118, 119,
400 119, 118, 119, 118, 119, 43, 118, 119, 118, 119,
401 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
402 118, 119, 118, 119, 118, 119, 118, 119, 57, 118,
403 119, 118, 119, 118, 119, 118, 119, 118, 119, 119,
404 119, 119, 118, 119, 118, 119, 118, 119, 118, 119,
405 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000406
vlmc94e28f2004-09-15 11:59:51 +0000407 118, 119, 118, 119, 119, 83, 118, 119, 118, 119,
408 119, 118, 119, 118, 119, 118, 119, 118, 119, 119,
409 118, 119, 118, 119, 99, 118, 119, 100, 118, 119,
410 119, 118, 119, 119, 107, 118, 119, 118, 119, 119,
411 119, 119, 119, 119, 21, 22, 118, 119, 118, 119,
412 119, 40, 118, 119, 118, 119, 118, 119, 118, 119,
413 118, 119, 49, 118, 119, 50, 118, 119, 118, 119,
414 118, 119, 53, 118, 119, 118, 119, 118, 119, 118,
415 119, 59, 118, 119, 118, 119, 118, 119, 119, 119,
416 119, 118, 119, 118, 119, 70, 118, 119, 71, 118,
vlmfa67ddc2004-06-03 03:38:44 +0000417
vlmc94e28f2004-09-15 11:59:51 +0000418 119, 118, 119, 118, 119, 118, 119, 75, 118, 119,
419 118, 119, 118, 119, 118, 119, 119, 118, 119, 119,
420 88, 118, 119, 118, 119, 91, 118, 119, 93, 118,
421 119, 119, 118, 119, 118, 119, 119, 118, 119, 119,
422 118, 119, 110, 119, 119, 119, 119, 119, 21, 22,
423 118, 119, 118, 119, 119, 118, 119, 118, 119, 118,
424 119, 118, 119, 118, 119, 52, 118, 119, 118, 119,
425 118, 119, 58, 118, 119, 118, 119, 61, 118, 119,
426 119, 119, 119, 119, 118, 119, 69, 118, 119, 72,
427 118, 119, 73, 118, 119, 118, 119, 118, 119, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000428
vlmc94e28f2004-09-15 11:59:51 +0000429 118, 119, 119, 87, 118, 119, 119, 118, 119, 119,
430 118, 119, 96, 118, 119, 119, 118, 119, 119, 118,
431 119, 119, 119, 119, 119, 21, 22, 118, 119, 36,
432 118, 119, 39, 119, 42, 118, 119, 45, 118, 119,
433 118, 119, 118, 119, 118, 119, 118, 119, 118, 119,
434 118, 119, 119, 119, 119, 67, 119, 118, 119, 118,
435 119, 118, 119, 119, 118, 119, 119, 119, 118, 119,
436 119, 118, 119, 101, 119, 118, 119, 119, 108, 118,
437 119, 119, 119, 119, 119, 21, 118, 119, 46, 118,
438 119, 47, 118, 119, 48, 118, 119, 118, 119, 118,
vlmfa67ddc2004-06-03 03:38:44 +0000439
vlmc94e28f2004-09-15 11:59:51 +0000440 119, 56, 118, 119, 118, 119, 119, 119, 119, 68,
441 118, 119, 118, 119, 118, 119, 119, 118, 119, 119,
442 119, 118, 119, 119, 118, 119, 118, 119, 119, 111,
443 119, 119, 119, 119, 21, 35, 118, 119, 51, 118,
444 119, 118, 119, 118, 119, 119, 119, 119, 118, 119,
445 118, 119, 119, 118, 119, 119, 119, 118, 119, 119,
446 118, 119, 118, 119, 119, 119, 119, 119, 30, 31,
447 21, 118, 119, 118, 119, 119, 119, 119, 74, 118,
448 119, 76, 118, 119, 77, 119, 118, 119, 119, 119,
449 118, 119, 119, 95, 118, 119, 118, 119, 119, 119,
vlmfa67ddc2004-06-03 03:38:44 +0000450
vlmc94e28f2004-09-15 11:59:51 +0000451 119, 119, 21, 118, 119, 60, 118, 119, 65, 119,
452 119, 66, 119, 118, 119, 82, 119, 119, 90, 118,
453 119, 119, 118, 119, 103, 119, 119, 119, 113, 119,
454 21, 118, 119, 119, 80, 118, 119, 119, 119, 118,
455 119, 119, 112, 119, 21, 118, 119, 64, 119, 119,
456 92, 119, 105, 118, 119, 109, 119, 21, 54, 118,
457 119, 84, 119, 19, 21
vlmfa67ddc2004-06-03 03:38:44 +0000458 } ;
459
vlmc94e28f2004-09-15 11:59:51 +0000460static yyconst short int yy_accept[710] =
vlmfa67ddc2004-06-03 03:38:44 +0000461 { 0,
462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
vlm9283dbe2004-08-18 04:59:12 +0000463 1, 1, 1, 1, 1, 2, 4, 7, 9, 12,
464 15, 18, 20, 23, 25, 28, 30, 33, 36, 39,
465 41, 45, 49, 53, 57, 61, 65, 69, 73, 77,
466 81, 85, 89, 93, 97, 101, 105, 109, 113, 117,
467 120, 123, 126, 130, 133, 135, 138, 141, 145, 147,
468 150, 153, 156, 158, 161, 164, 166, 169, 172, 175,
469 178, 182, 185, 187, 192, 197, 200, 203, 205, 207,
470 210, 210, 211, 212, 213, 213, 214, 214, 215, 215,
471 215, 216, 217, 218, 219, 220, 220, 222, 224, 226,
vlmfa67ddc2004-06-03 03:38:44 +0000472
vlm9283dbe2004-08-18 04:59:12 +0000473 228, 230, 232, 233, 235, 237, 239, 241, 244, 246,
474 248, 250, 252, 254, 256, 258, 260, 262, 263, 264,
475 266, 268, 270, 272, 274, 276, 278, 280, 281, 283,
476 285, 288, 290, 291, 293, 295, 297, 299, 300, 302,
477 304, 306, 308, 310, 312, 314, 316, 318, 319, 321,
478 323, 324, 325, 327, 327, 327, 327, 327, 327, 328,
479 329, 330, 331, 332, 333, 334, 334, 335, 337, 339,
480 340, 341, 342, 342, 343, 344, 344, 344, 345, 346,
481 347, 349, 352, 355, 357, 359, 361, 364, 366, 368,
482 370, 372, 374, 376, 378, 380, 382, 384, 387, 389,
vlmfa67ddc2004-06-03 03:38:44 +0000483
vlm9283dbe2004-08-18 04:59:12 +0000484 391, 393, 395, 397, 399, 400, 401, 403, 405, 407,
485 409, 411, 413, 415, 418, 421, 423, 424, 426, 428,
486 430, 431, 433, 436, 438, 440, 442, 443, 445, 447,
487 449, 452, 454, 456, 458, 460, 462, 464, 466, 467,
488 469, 471, 473, 474, 475, 476, 478, 479, 479, 479,
489 479, 479, 480, 482, 485, 485, 486, 487, 489, 491,
490 493, 495, 497, 499, 501, 503, 505, 507, 509, 511,
491 513, 515, 517, 519, 521, 523, 525, 527, 529, 531,
vlmc94e28f2004-09-15 11:59:51 +0000492 534, 535, 536, 538, 540, 542, 544, 546, 548, 550,
493 552, 554, 557, 558, 560, 562, 564, 565, 567, 569,
vlmfa67ddc2004-06-03 03:38:44 +0000494
vlmc94e28f2004-09-15 11:59:51 +0000495 571, 573, 574, 577, 579, 581, 584, 586, 588, 590,
496 593, 596, 598, 599, 601, 603, 605, 607, 609, 610,
497 611, 612, 615, 615, 615, 615, 615, 617, 619, 621,
498 623, 626, 627, 629, 631, 633, 636, 638, 640, 642,
vlm9283dbe2004-08-18 04:59:12 +0000499 644, 646, 648, 650, 652, 654, 656, 658, 660, 662,
vlmc94e28f2004-09-15 11:59:51 +0000500 665, 666, 667, 668, 670, 672, 674, 676, 678, 680,
501 682, 684, 686, 688, 689, 691, 694, 696, 697, 699,
502 701, 703, 705, 706, 708, 710, 712, 714, 715, 717,
503 718, 721, 723, 725, 726, 728, 729, 730, 731, 732,
504 732, 732, 732, 734, 737, 739, 741, 742, 744, 746,
vlmfa67ddc2004-06-03 03:38:44 +0000505
vlmc94e28f2004-09-15 11:59:51 +0000506 749, 751, 753, 755, 757, 759, 761, 763, 765, 767,
507 769, 772, 774, 776, 778, 780, 781, 782, 783, 785,
508 787, 789, 791, 793, 795, 797, 799, 801, 803, 805,
509 806, 809, 811, 812, 814, 816, 818, 820, 821, 823,
510 825, 828, 831, 832, 834, 835, 838, 840, 841, 842,
511 843, 844, 845, 845, 845, 845, 847, 849, 851, 852,
512 855, 857, 859, 861, 863, 866, 869, 871, 873, 876,
513 878, 880, 882, 885, 887, 889, 890, 891, 892, 894,
514 896, 899, 902, 904, 906, 908, 911, 913, 915, 917,
515 918, 920, 921, 924, 926, 929, 932, 933, 935, 937,
vlmfa67ddc2004-06-03 03:38:44 +0000516
vlmc94e28f2004-09-15 11:59:51 +0000517 938, 940, 941, 943, 945, 946, 947, 948, 949, 949,
518 949, 949, 951, 953, 955, 956, 958, 960, 962, 964,
519 966, 969, 971, 973, 976, 978, 981, 982, 983, 984,
520 985, 987, 990, 993, 996, 998, 1000, 1001, 1003, 1004,
521 1007, 1008, 1010, 1011, 1013, 1016, 1017, 1019, 1020, 1022,
522 1023, 1024, 1025, 1026, 1026, 1026, 1026, 1028, 1030, 1033,
523 1035, 1038, 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1054,
524 1055, 1056, 1058, 1060, 1062, 1064, 1065, 1067, 1068, 1069,
525 1071, 1072, 1074, 1076, 1078, 1079, 1082, 1083, 1084, 1085,
526 1086, 1086, 1086, 1086, 1087, 1089, 1092, 1095, 1098, 1100,
vlmfa67ddc2004-06-03 03:38:44 +0000527
vlmc94e28f2004-09-15 11:59:51 +0000528 1102, 1105, 1107, 1108, 1109, 1110, 1113, 1115, 1117, 1118,
529 1120, 1121, 1122, 1124, 1125, 1127, 1129, 1130, 1132, 1133,
530 1134, 1135, 1135, 1135, 1135, 1136, 1139, 1142, 1144, 1146,
531 1147, 1148, 1149, 1151, 1153, 1154, 1156, 1157, 1158, 1160,
532 1161, 1163, 1165, 1166, 1167, 1168, 1169, 1169, 1171, 1171,
533 1172, 1174, 1176, 1177, 1178, 1179, 1182, 1185, 1187, 1189,
534 1190, 1191, 1193, 1194, 1197, 1199, 1200, 1201, 1202, 1203,
535 1203, 1204, 1206, 1209, 1211, 1212, 1214, 1216, 1218, 1219,
536 1222, 1223, 1225, 1227, 1228, 1229, 1231, 1231, 1232, 1234,
537 1235, 1238, 1239, 1240, 1242, 1243, 1245, 1246, 1248, 1250,
vlm9283dbe2004-08-18 04:59:12 +0000538
vlmc94e28f2004-09-15 11:59:51 +0000539 1251, 1253, 1256, 1258, 1259, 1262, 1264, 1266, 1266
vlmfa67ddc2004-06-03 03:38:44 +0000540 } ;
541
542static yyconst int yy_ec[256] =
543 { 0,
544 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
545 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
547 1, 2, 5, 6, 1, 1, 1, 7, 8, 9,
548 9, 10, 1, 9, 11, 12, 13, 14, 15, 16,
549 16, 17, 18, 19, 16, 20, 16, 21, 22, 23,
550 24, 1, 1, 9, 25, 26, 27, 28, 29, 30,
551 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
552 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
553 51, 1, 52, 53, 1, 1, 54, 55, 56, 57,
554
555 58, 59, 60, 61, 62, 63, 59, 64, 65, 66,
556 67, 68, 59, 69, 70, 71, 72, 73, 59, 74,
557 59, 75, 76, 77, 78, 1, 1, 1, 1, 1,
558 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
559 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
560 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
561 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
562 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
563 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
565
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
568 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
569 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
570 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571 1, 1, 1, 1, 1
572 } ;
573
574static yyconst int yy_meta[79] =
575 { 0,
576 1, 2, 3, 3, 1, 4, 5, 6, 1, 1,
577 7, 1, 1, 8, 8, 8, 8, 8, 8, 8,
578 9, 1, 1, 9, 8, 8, 8, 8, 8, 8,
579 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
580 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
581 1, 1, 1, 11, 11, 11, 11, 11, 11, 11,
582 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
583 11, 11, 11, 11, 11, 12, 1, 12
584 } ;
585
vlmc94e28f2004-09-15 11:59:51 +0000586static yyconst short int yy_base[728] =
vlmfa67ddc2004-06-03 03:38:44 +0000587 { 0,
588 0, 0, 76, 78, 80, 81, 82, 89, 83, 93,
vlm9283dbe2004-08-18 04:59:12 +0000589 171, 249, 109, 120, 961, 952, 95, 98, 951, 948,
vlmc94e28f2004-09-15 11:59:51 +0000590 320, 117, 4405, 118, 933, 100, 4405, 125, 923, 4405,
vlm9283dbe2004-08-18 04:59:12 +0000591 385, 176, 194, 120, 239, 267, 435, 163, 293, 441,
592 191, 259, 463, 471, 484, 500, 508, 270, 521, 553,
vlmc94e28f2004-09-15 11:59:51 +0000593 935, 0, 933, 0, 4405, 4405, 926, 4405, 4405, 922,
594 922, 0, 0, 924, 0, 0, 902, 4405, 4405, 4405,
595 0, 4405, 4405, 598, 675, 0, 148, 151, 182, 4405,
vlm9283dbe2004-08-18 04:59:12 +0000596 915, 160, 0, 913, 912, 0, 135, 0, 573, 908,
vlmc94e28f2004-09-15 11:59:51 +0000597 4405, 226, 902, 4405, 598, 886, 556, 597, 598, 618,
vlmfa67ddc2004-06-03 03:38:44 +0000598
vlm9283dbe2004-08-18 04:59:12 +0000599 619, 634, 0, 664, 667, 680, 693, 704, 720, 728,
600 741, 744, 757, 772, 778, 775, 793, 842, 852, 808,
601 811, 819, 834, 845, 856, 862, 873, 840, 886, 889,
602 902, 910, 840, 913, 926, 937, 950, 835, 966, 972,
603 983, 989, 1000, 1015, 1016, 1031, 1032, 831, 1047, 1048,
604 831, 48, 1063, 1095, 1102, 851, 88, 128, 0, 0,
vlmc94e28f2004-09-15 11:59:51 +0000605 4405, 4405, 0, 4405, 0, 865, 0, 849, 253, 0,
606 264, 4405, 875, 0, 0, 83, 848, 611, 4405, 4405,
607 1098, 1099, 1114, 1115, 1130, 1138, 1141, 1154, 1162, 1170,
608 1178, 1191, 1199, 1202, 1223, 1224, 1239, 1245, 1256, 1262,
vlmfa67ddc2004-06-03 03:38:44 +0000609
vlmc94e28f2004-09-15 11:59:51 +0000610 1273, 1279, 1290, 1301, 818, 807, 1314, 1322, 1325, 1340,
611 1343, 1346, 1370, 1364, 1367, 1385, 815, 1388, 1403, 1409,
612 811, 1420, 1431, 1437, 1448, 1459, 802, 1470, 1476, 1487,
613 1493, 1508, 1509, 1524, 1535, 1541, 1556, 1562, 809, 1573,
614 1584, 1595, 793, 807, 801, 1606, 4405, 1645, 822, 178,
615 250, 4405, 109, 820, 802, 4405, 4405, 1630, 1641, 1647,
616 1662, 1663, 1680, 1679, 1695, 1701, 1712, 1723, 1741, 1738,
617 1744, 1759, 1762, 1765, 1780, 1786, 1797, 1808, 1823, 1829,
618 783, 789, 1840, 1846, 1861, 1862, 1877, 1883, 1898, 1901,
619 1909, 1922, 774, 1930, 1933, 1946, 786, 1954, 1970, 1969,
vlmfa67ddc2004-06-03 03:38:44 +0000620
vlmc94e28f2004-09-15 11:59:51 +0000621 1986, 770, 1987, 2002, 2015, 2023, 2026, 2044, 2041, 2047,
622 2062, 2065, 768, 2068, 2083, 2089, 2100, 2106, 778, 768,
623 775, 2121, 2153, 170, 151, 242, 200, 2138, 2153, 2159,
624 2170, 759, 2176, 2191, 2194, 2202, 2215, 2218, 2226, 2239,
625 2247, 2260, 2268, 2276, 2284, 2299, 2305, 2316, 2322, 2337,
626 773, 763, 755, 2338, 2358, 2355, 2376, 2375, 2391, 2397,
627 2408, 2419, 2430, 759, 2436, 2447, 2453, 738, 2464, 2475,
628 2481, 2492, 753, 2505, 2508, 2516, 2529, 737, 2540, 745,
629 2546, 2561, 2562, 731, 2577, 725, 721, 727, 4405, 280,
630 297, 294, 231, 2583, 2599, 2605, 728, 2616, 2627, 2638,
vlmfa67ddc2004-06-03 03:38:44 +0000631
vlmc94e28f2004-09-15 11:59:51 +0000632 2644, 2655, 2661, 2672, 2683, 2689, 2706, 2712, 2723, 2729,
633 2740, 2746, 2757, 2763, 2779, 724, 731, 723, 2780, 2795,
634 2801, 2812, 2818, 2833, 2839, 2850, 2865, 2871, 2882, 720,
635 2893, 2899, 747, 2910, 2916, 2927, 2940, 716, 2948, 2963,
636 2966, 2969, 707, 2984, 689, 2987, 2990, 704, 692, 687,
637 697, 693, 271, 295, 301, 712, 3005, 3018, 682, 3021,
638 3036, 3042, 3053, 3059, 3070, 3076, 3087, 3098, 3104, 3115,
639 3121, 3132, 3143, 3149, 3160, 124, 704, 677, 3166, 3177,
640 3188, 3194, 3205, 3211, 3226, 3227, 3242, 3248, 3259, 698,
641 3265, 681, 3276, 3287, 3298, 3304, 673, 3319, 3325, 658,
vlmfa67ddc2004-06-03 03:38:44 +0000642
vlmc94e28f2004-09-15 11:59:51 +0000643 3340, 680, 3346, 0, 660, 667, 643, 672, 438, 368,
644 366, 286, 3357, 3372, 654, 3378, 3389, 3402, 3410, 3413,
645 3428, 3434, 3449, 3431, 3455, 3466, 639, 633, 630, 634,
646 3472, 3483, 3489, 3500, 3506, 3517, 623, 3528, 620, 3534,
647 619, 3545, 619, 3556, 3562, 613, 3573, 600, 3579, 603,
648 604, 623, 594, 300, 466, 447, 360, 3590, 3596, 0,
649 3607, 3613, 3629, 3628, 3644, 3645, 3660, 3661, 593, 603,
650 584, 0, 3676, 3684, 3699, 590, 3700, 579, 591, 3715,
651 603, 3723, 0, 3731, 572, 3744, 579, 589, 531, 528,
652 443, 3783, 454, 568, 3768, 3769, 3784, 3785, 3800, 3808,
vlmfa67ddc2004-06-03 03:38:44 +0000653
vlmc94e28f2004-09-15 11:59:51 +0000654 3816, 3824, 529, 533, 527, 3832, 3840, 3848, 520, 3856,
655 523, 515, 3864, 512, 3872, 3880, 518, 0, 508, 496,
656 498, 397, 3912, 560, 517, 3897, 3898, 3913, 3921, 489,
657 507, 484, 3934, 3942, 483, 3950, 475, 477, 3958, 468,
658 3971, 3974, 469, 462, 468, 461, 424, 4405, 4018, 485,
659 4003, 4004, 461, 456, 455, 4019, 4020, 0, 4035, 454,
660 444, 4036, 440, 4051, 4057, 438, 434, 429, 432, 732,
661 441, 4068, 4079, 0, 419, 0, 4085, 0, 411, 4100,
662 399, 4103, 0, 372, 347, 0, 4147, 330, 4132, 258,
663 4143, 227, 214, 4149, 177, 0, 180, 4160, 0, 138,
vlm9283dbe2004-08-18 04:59:12 +0000664
vlmc94e28f2004-09-15 11:59:51 +0000665 0, 4166, 0, 134, 4177, 0, 0, 4405, 4222, 4234,
666 4246, 4258, 4270, 4282, 4294, 4305, 4306, 4310, 4321, 4333,
667 4345, 4356, 4367, 4378, 4383, 4388, 4393
vlmfa67ddc2004-06-03 03:38:44 +0000668 } ;
669
vlmc94e28f2004-09-15 11:59:51 +0000670static yyconst short int yy_def[728] =
vlmfa67ddc2004-06-03 03:38:44 +0000671 { 0,
vlmc94e28f2004-09-15 11:59:51 +0000672 708, 1, 709, 709, 710, 710, 711, 711, 712, 712,
673 713, 713, 714, 714, 708, 708, 708, 708, 708, 715,
674 708, 716, 708, 708, 708, 708, 708, 708, 708, 708,
675 708, 31, 31, 31, 31, 31, 31, 31, 31, 31,
676 31, 31, 31, 31, 31, 31, 31, 31, 31, 717,
677 708, 718, 708, 719, 708, 708, 708, 708, 708, 708,
678 708, 720, 720, 708, 721, 721, 708, 708, 708, 708,
679 722, 708, 708, 723, 723, 724, 708, 708, 21, 708,
680 708, 708, 715, 715, 708, 725, 708, 726, 716, 716,
681 708, 708, 708, 708, 708, 708, 31, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +0000682
vlmc94e28f2004-09-15 11:59:51 +0000683 31, 31, 727, 31, 31, 31, 31, 31, 31, 31,
684 31, 31, 31, 31, 31, 31, 31, 727, 727, 31,
685 31, 31, 31, 31, 31, 31, 31, 727, 31, 31,
686 31, 31, 727, 31, 31, 31, 31, 727, 31, 31,
687 31, 31, 31, 31, 31, 31, 31, 727, 31, 31,
688 727, 727, 31, 708, 717, 155, 155, 155, 718, 719,
689 708, 708, 720, 708, 721, 708, 722, 75, 75, 724,
690 708, 708, 708, 725, 726, 708, 708, 708, 708, 708,
vlm9283dbe2004-08-18 04:59:12 +0000691 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
692 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +0000693
vlmc94e28f2004-09-15 11:59:51 +0000694 31, 31, 31, 31, 727, 727, 31, 31, 31, 31,
695 31, 31, 31, 31, 31, 31, 727, 31, 31, 31,
696 727, 31, 31, 31, 31, 31, 727, 31, 31, 31,
697 31, 31, 31, 31, 31, 31, 31, 31, 727, 31,
698 31, 31, 727, 727, 727, 31, 708, 708, 155, 155,
699 155, 708, 75, 75, 708, 708, 708, 31, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +0000700 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
701 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +0000702 727, 727, 31, 31, 31, 31, 31, 31, 31, 31,
703 31, 31, 727, 31, 31, 31, 727, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +0000704
vlmc94e28f2004-09-15 11:59:51 +0000705 31, 727, 31, 31, 31, 31, 31, 31, 31, 31,
706 31, 31, 727, 31, 31, 31, 31, 31, 727, 727,
707 727, 31, 708, 155, 155, 155, 75, 31, 31, 31,
708 31, 727, 31, 31, 31, 31, 31, 31, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +0000709 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +0000710 727, 727, 727, 31, 31, 31, 31, 31, 31, 31,
711 31, 31, 31, 727, 31, 31, 31, 727, 31, 31,
712 31, 31, 727, 31, 31, 31, 31, 727, 31, 727,
713 31, 31, 31, 727, 31, 727, 727, 727, 708, 155,
714 155, 155, 75, 31, 31, 31, 727, 31, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +0000715
vlm9283dbe2004-08-18 04:59:12 +0000716 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +0000717 31, 31, 31, 31, 31, 727, 727, 727, 31, 31,
718 31, 31, 31, 31, 31, 31, 31, 31, 31, 727,
719 31, 31, 727, 31, 31, 31, 31, 727, 31, 31,
720 31, 31, 727, 31, 727, 31, 31, 727, 727, 727,
721 727, 727, 155, 155, 155, 75, 31, 31, 727, 31,
vlm9283dbe2004-08-18 04:59:12 +0000722 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +0000723 31, 31, 31, 31, 31, 727, 727, 727, 31, 31,
724 31, 31, 31, 31, 31, 31, 31, 31, 31, 727,
725 31, 727, 31, 31, 31, 31, 727, 31, 31, 727,
vlmfa67ddc2004-06-03 03:38:44 +0000726
vlmc94e28f2004-09-15 11:59:51 +0000727 31, 727, 31, 727, 727, 727, 727, 727, 155, 155,
728 155, 75, 31, 31, 727, 31, 31, 31, 31, 31,
729 31, 31, 31, 31, 31, 31, 727, 727, 727, 727,
730 31, 31, 31, 31, 31, 31, 727, 31, 727, 31,
731 727, 31, 727, 31, 31, 727, 31, 727, 31, 727,
732 727, 727, 727, 155, 155, 155, 75, 31, 31, 727,
733 31, 31, 31, 31, 31, 31, 31, 31, 727, 727,
734 727, 727, 31, 31, 31, 727, 31, 727, 727, 31,
735 727, 31, 727, 31, 727, 31, 727, 727, 727, 727,
736 155, 708, 155, 722, 31, 31, 31, 31, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +0000737
vlmc94e28f2004-09-15 11:59:51 +0000738 31, 31, 727, 727, 727, 31, 31, 31, 727, 31,
739 727, 727, 31, 727, 31, 31, 727, 727, 727, 727,
740 727, 155, 708, 155, 722, 31, 31, 31, 31, 727,
741 727, 727, 31, 31, 727, 31, 727, 727, 31, 727,
742 31, 31, 727, 727, 727, 727, 155, 708, 708, 722,
743 31, 31, 727, 727, 727, 31, 31, 727, 31, 727,
744 727, 31, 727, 31, 31, 727, 727, 727, 727, 155,
745 722, 31, 31, 727, 727, 727, 31, 727, 727, 31,
746 727, 31, 727, 727, 727, 727, 708, 722, 31, 727,
747 31, 727, 727, 31, 727, 727, 722, 31, 727, 727,
748
749 727, 31, 727, 722, 31, 727, 722, 0, 708, 708,
750 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
751 708, 708, 708, 708, 708, 708, 708
vlmfa67ddc2004-06-03 03:38:44 +0000752 } ;
753
vlmc94e28f2004-09-15 11:59:51 +0000754static yyconst short int yy_nxt[4484] =
vlmfa67ddc2004-06-03 03:38:44 +0000755 { 0,
vlm9283dbe2004-08-18 04:59:12 +0000756 16, 17, 18, 17, 19, 20, 21, 22, 23, 16,
757 24, 25, 26, 27, 28, 28, 28, 28, 28, 28,
758 29, 19, 30, 30, 31, 32, 33, 34, 35, 36,
759 37, 38, 39, 38, 38, 38, 40, 41, 42, 43,
760 38, 44, 45, 46, 47, 48, 49, 38, 38, 38,
761 50, 19, 51, 52, 52, 52, 52, 52, 52, 52,
762 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
763 52, 52, 52, 52, 52, 23, 53, 23, 55, 56,
764 55, 56, 59, 59, 63, 66, 57, 64, 57, 60,
765 60, 63, 61, 61, 64, 66, 82, 82, 82, 82,
vlmfa67ddc2004-06-03 03:38:44 +0000766
vlm9283dbe2004-08-18 04:59:12 +0000767 82, 82, 81, 67, 244, 81, 68, 81, 256, 94,
768 77, 78, 77, 67, 257, 79, 68, 245, 89, 89,
769 89, 77, 78, 77, 81, 81, 79, 156, 91, 250,
770 89, 89, 92, 92, 92, 92, 92, 92, 95, 95,
vlmc94e28f2004-09-15 11:59:51 +0000771 95, 95, 95, 95, 95, 97, 168, 327, 112, 171,
vlm9283dbe2004-08-18 04:59:12 +0000772 171, 171, 171, 171, 171, 97, 85, 97, 69, 97,
vlmc94e28f2004-09-15 11:59:51 +0000773 70, 82, 82, 82, 97, 251, 527, 156, 69, 707,
vlm9283dbe2004-08-18 04:59:12 +0000774 70, 71, 72, 73, 72, 71, 71, 71, 71, 71,
vlmc94e28f2004-09-15 11:59:51 +0000775 71, 71, 71, 71, 30, 528, 80, 87, 97, 708,
776 156, 71, 71, 71, 71, 30, 391, 80, 97, 75,
vlmfa67ddc2004-06-03 03:38:44 +0000777
vlmc94e28f2004-09-15 11:59:51 +0000778 97, 97, 97, 708, 104, 390, 706, 97, 105, 156,
779 325, 97, 106, 97, 107, 97, 97, 156, 704, 97,
780 97, 71, 71, 71, 108, 109, 97, 393, 97, 110,
781 97, 97, 111, 97, 708, 127, 703, 168, 97, 178,
vlm9283dbe2004-08-18 04:59:12 +0000782 178, 178, 178, 178, 178, 178, 72, 71, 72, 71,
783 72, 73, 72, 71, 71, 71, 71, 71, 71, 71,
vlmc94e28f2004-09-15 11:59:51 +0000784 71, 71, 128, 456, 97, 171, 171, 171, 168, 71,
785 71, 71, 71, 701, 97, 113, 114, 75, 97, 253,
786 254, 156, 326, 97, 129, 130, 115, 392, 131, 156,
787 168, 116, 97, 700, 97, 97, 97, 509, 132, 71,
vlmfa67ddc2004-06-03 03:38:44 +0000788
vlm9283dbe2004-08-18 04:59:12 +0000789 71, 71, 97, 97, 97, 97, 97, 97, 117, 97,
vlmc94e28f2004-09-15 11:59:51 +0000790 156, 97, 453, 133, 97, 699, 557, 120, 97, 156,
791 121, 454, 455, 168, 72, 71, 72, 81, 97, 122,
792 123, 152, 97, 156, 156, 124, 156, 97, 510, 156,
793 156, 85, 511, 591, 86, 86, 86, 86, 86, 86,
vlm9283dbe2004-08-18 04:59:12 +0000794 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
795 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
vlmc94e28f2004-09-15 11:59:51 +0000796 594, 697, 87, 88, 88, 88, 88, 88, 88, 88,
vlm9283dbe2004-08-18 04:59:12 +0000797 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
vlmc94e28f2004-09-15 11:59:51 +0000798 88, 88, 88, 88, 88, 97, 555, 168, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000799
vlmc94e28f2004-09-15 11:59:51 +0000800 97, 97, 97, 97, 97, 156, 696, 156, 556, 97,
vlm9283dbe2004-08-18 04:59:12 +0000801 98, 97, 97, 97, 97, 97, 97, 97, 97, 97,
802 99, 97, 100, 97, 101, 97, 97, 97, 97, 102,
vlmc94e28f2004-09-15 11:59:51 +0000803 97, 97, 97, 97, 97, 647, 156, 695, 103, 103,
vlm9283dbe2004-08-18 04:59:12 +0000804 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
805 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
vlmc94e28f2004-09-15 11:59:51 +0000806 97, 670, 554, 156, 693, 125, 97, 592, 592, 592,
807 97, 593, 97, 126, 97, 622, 97, 156, 97, 97,
808 97, 692, 156, 690, 688, 97, 156, 134, 97, 624,
809 135, 686, 118, 156, 685, 684, 97, 683, 136, 139,
vlmfa67ddc2004-06-03 03:38:44 +0000810
vlmc94e28f2004-09-15 11:59:51 +0000811 97, 681, 97, 119, 137, 156, 97, 97, 97, 97,
812 97, 679, 140, 678, 676, 97, 141, 675, 144, 97,
813 674, 97, 671, 97, 145, 97, 669, 142, 97, 668,
814 667, 138, 143, 97, 666, 97, 663, 97, 661, 97,
815 660, 146, 658, 97, 97, 149, 97, 97, 147, 655,
816 654, 150, 97, 153, 653, 650, 97, 148, 97, 646,
817 97, 649, 649, 649, 645, 97, 154, 154, 154, 154,
818 154, 154, 154, 151, 89, 89, 89, 155, 644, 643,
819 176, 97, 640, 638, 637, 635, 89, 89, 632, 631,
820 630, 97, 157, 97, 625, 97, 621, 158, 167, 156,
vlmfa67ddc2004-06-03 03:38:44 +0000821
vlmc94e28f2004-09-15 11:59:51 +0000822 97, 620, 167, 167, 167, 167, 167, 167, 167, 167,
vlm9283dbe2004-08-18 04:59:12 +0000823 167, 95, 95, 95, 95, 95, 95, 95, 167, 167,
824 167, 167, 97, 97, 178, 178, 178, 178, 178, 178,
vlmc94e28f2004-09-15 11:59:51 +0000825 178, 619, 97, 182, 97, 97, 97, 97, 618, 181,
826 617, 97, 97, 97, 97, 614, 612, 611, 167, 167,
827 167, 609, 605, 97, 97, 97, 97, 97, 184, 97,
828 604, 603, 97, 97, 590, 589, 183, 588, 587, 97,
829 585, 97, 583, 97, 167, 167, 581, 185, 97, 167,
830 167, 167, 167, 167, 167, 167, 167, 167, 579, 97,
831 578, 576, 97, 572, 186, 167, 167, 167, 167, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000832
vlmc94e28f2004-09-15 11:59:51 +0000833 571, 97, 97, 97, 97, 97, 97, 570, 97, 569,
834 187, 97, 169, 560, 553, 97, 552, 97, 97, 188,
835 551, 550, 548, 546, 97, 167, 167, 167, 97, 97,
836 97, 189, 97, 687, 687, 687, 543, 97, 541, 97,
837 539, 97, 530, 97, 190, 97, 529, 515, 97, 512,
838 508, 167, 192, 97, 507, 97, 506, 97, 191, 97,
839 505, 504, 502, 97, 97, 97, 97, 97, 500, 97,
840 497, 156, 97, 195, 492, 490, 97, 193, 194, 97,
841 97, 97, 196, 97, 478, 97, 477, 476, 97, 459,
842 452, 451, 97, 450, 97, 448, 97, 97, 197, 198,
vlmfa67ddc2004-06-03 03:38:44 +0000843
vlmc94e28f2004-09-15 11:59:51 +0000844 97, 97, 445, 97, 200, 443, 438, 97, 433, 97,
vlm9283dbe2004-08-18 04:59:12 +0000845 203, 97, 97, 97, 97, 97, 199, 201, 97, 97,
vlmc94e28f2004-09-15 11:59:51 +0000846 430, 202, 97, 418, 417, 207, 416, 397, 97, 388,
847 97, 204, 97, 97, 387, 386, 97, 97, 380, 208,
848 373, 368, 364, 97, 97, 97, 97, 97, 97, 352,
849 97, 351, 97, 172, 97, 97, 97, 168, 209, 97,
850 210, 324, 321, 97, 320, 319, 313, 302, 297, 97,
851 97, 97, 293, 97, 282, 281, 211, 212, 97, 257,
vlm9283dbe2004-08-18 04:59:12 +0000852 97, 97, 97, 213, 97, 255, 168, 97, 252, 97,
853 156, 97, 243, 97, 239, 97, 227, 97, 97, 215,
vlmfa67ddc2004-06-03 03:38:44 +0000854
vlm9283dbe2004-08-18 04:59:12 +0000855 97, 97, 221, 214, 217, 206, 97, 205, 216, 180,
856 97, 97, 97, 179, 97, 177, 173, 97, 172, 218,
857 172, 97, 166, 97, 97, 97, 97, 97, 97, 164,
858 97, 94, 219, 97, 162, 97, 161, 97, 97, 97,
859 81, 97, 81, 96, 93, 97, 97, 97, 97, 97,
860 97, 97, 97, 220, 97, 84, 222, 97, 81, 81,
vlmc94e28f2004-09-15 11:59:51 +0000861 708, 97, 97, 97, 708, 97, 708, 708, 708, 708,
862 97, 223, 97, 708, 97, 97, 97, 708, 225, 708,
863 708, 224, 226, 708, 708, 97, 708, 97, 708, 97,
864 228, 97, 708, 708, 97, 708, 708, 97, 708, 708,
vlmfa67ddc2004-06-03 03:38:44 +0000865
vlmc94e28f2004-09-15 11:59:51 +0000866 708, 229, 708, 97, 708, 97, 708, 97, 97, 97,
867 97, 97, 230, 708, 97, 231, 97, 708, 97, 708,
868 97, 708, 97, 708, 97, 97, 97, 97, 97, 235,
869 233, 708, 232, 97, 708, 97, 708, 234, 708, 97,
870 97, 97, 708, 708, 97, 708, 236, 708, 708, 708,
871 97, 97, 97, 97, 97, 97, 97, 97, 708, 97,
872 97, 708, 708, 708, 708, 708, 97, 97, 97, 97,
873 97, 238, 97, 97, 241, 237, 97, 242, 708, 240,
874 708, 708, 97, 97, 97, 97, 97, 97, 97, 708,
875 708, 97, 97, 708, 708, 708, 708, 708, 97, 708,
vlmfa67ddc2004-06-03 03:38:44 +0000876
vlmc94e28f2004-09-15 11:59:51 +0000877 97, 708, 97, 248, 248, 248, 246, 97, 154, 154,
878 154, 154, 154, 154, 154, 708, 708, 708, 708, 708,
879 708, 708, 708, 97, 97, 708, 258, 708, 708, 708,
880 708, 708, 708, 97, 97, 97, 97, 97, 97, 97,
881 97, 249, 97, 97, 708, 708, 247, 708, 708, 97,
882 259, 97, 97, 97, 97, 97, 708, 708, 97, 97,
883 708, 708, 708, 97, 708, 97, 97, 97, 260, 97,
884 261, 708, 708, 97, 97, 97, 97, 97, 97, 97,
885 97, 708, 97, 708, 708, 97, 708, 97, 708, 97,
886 708, 97, 708, 97, 708, 97, 262, 263, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000887
vlmc94e28f2004-09-15 11:59:51 +0000888 708, 97, 708, 97, 708, 97, 97, 97, 708, 97,
889 265, 264, 708, 97, 97, 97, 97, 97, 708, 708,
890 708, 708, 97, 708, 97, 708, 97, 97, 97, 708,
891 97, 708, 708, 266, 97, 97, 97, 97, 267, 97,
892 708, 97, 708, 97, 268, 269, 97, 270, 97, 97,
893 708, 708, 272, 708, 708, 271, 708, 708, 97, 97,
894 97, 97, 97, 97, 97, 708, 708, 97, 97, 708,
895 97, 708, 708, 708, 97, 708, 97, 273, 97, 708,
896 97, 97, 97, 97, 97, 708, 708, 97, 708, 97,
897 275, 97, 274, 97, 708, 97, 708, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000898
vlmc94e28f2004-09-15 11:59:51 +0000899 97, 97, 708, 708, 97, 708, 97, 278, 276, 708,
900 97, 277, 97, 708, 97, 97, 97, 97, 97, 708,
901 708, 708, 708, 97, 708, 97, 97, 97, 708, 97,
902 708, 708, 279, 708, 97, 708, 97, 280, 97, 97,
903 97, 708, 708, 708, 708, 97, 708, 97, 708, 97,
904 97, 97, 708, 97, 708, 708, 283, 97, 97, 284,
905 285, 97, 97, 286, 97, 97, 97, 708, 97, 97,
906 708, 97, 708, 708, 289, 287, 708, 97, 97, 97,
907 97, 97, 97, 97, 97, 97, 288, 97, 290, 97,
908 97, 708, 97, 708, 708, 97, 708, 708, 708, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000909
vlmc94e28f2004-09-15 11:59:51 +0000910 708, 97, 97, 97, 97, 97, 97, 97, 97, 97,
911 97, 291, 708, 97, 97, 708, 294, 708, 708, 708,
912 292, 708, 97, 97, 97, 97, 708, 97, 97, 97,
913 708, 295, 97, 708, 97, 708, 708, 708, 97, 708,
914 97, 296, 97, 708, 97, 97, 97, 97, 97, 708,
915 708, 708, 708, 97, 708, 97, 97, 97, 708, 97,
916 708, 708, 97, 298, 97, 708, 97, 708, 97, 708,
917 97, 708, 97, 97, 97, 97, 97, 708, 708, 299,
918 708, 97, 708, 97, 97, 97, 708, 97, 708, 708,
919 300, 708, 97, 708, 97, 97, 97, 708, 97, 708,
vlmfa67ddc2004-06-03 03:38:44 +0000920
vlmc94e28f2004-09-15 11:59:51 +0000921 304, 97, 708, 97, 301, 303, 708, 97, 708, 97,
922 708, 97, 97, 97, 97, 97, 708, 708, 97, 708,
923 97, 708, 97, 708, 97, 708, 97, 708, 97, 708,
924 97, 305, 97, 97, 97, 708, 306, 97, 708, 708,
925 708, 307, 708, 97, 97, 97, 97, 97, 97, 97,
926 708, 708, 97, 97, 708, 708, 708, 708, 708, 97,
927 97, 97, 708, 97, 708, 708, 97, 308, 97, 708,
928 97, 708, 97, 708, 97, 708, 97, 309, 97, 97,
929 97, 97, 708, 310, 311, 97, 708, 97, 708, 708,
930 312, 97, 708, 97, 708, 97, 708, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000931
vlmc94e28f2004-09-15 11:59:51 +0000932 97, 97, 708, 708, 708, 708, 97, 708, 97, 97,
933 97, 314, 97, 315, 318, 708, 708, 97, 316, 97,
934 97, 97, 708, 97, 708, 708, 708, 317, 97, 708,
935 97, 97, 97, 708, 97, 708, 708, 322, 708, 97,
936 708, 97, 708, 97, 708, 97, 248, 248, 248, 708,
937 97, 708, 708, 708, 708, 97, 708, 708, 323, 323,
938 323, 323, 323, 323, 323, 97, 97, 328, 708, 97,
939 708, 708, 97, 329, 97, 708, 97, 708, 97, 708,
940 97, 708, 97, 330, 97, 97, 97, 97, 97, 708,
941 708, 97, 708, 708, 708, 708, 708, 97, 97, 331,
vlmfa67ddc2004-06-03 03:38:44 +0000942
vlmc94e28f2004-09-15 11:59:51 +0000943 97, 97, 97, 334, 97, 97, 97, 97, 333, 708,
944 708, 708, 708, 708, 97, 97, 97, 97, 97, 97,
945 97, 335, 708, 97, 97, 708, 97, 708, 708, 708,
946 97, 708, 97, 332, 97, 708, 97, 97, 97, 97,
947 97, 708, 708, 336, 708, 97, 708, 97, 97, 97,
948 337, 97, 708, 708, 708, 708, 97, 708, 97, 708,
949 97, 708, 97, 97, 338, 339, 97, 97, 708, 97,
950 708, 708, 708, 97, 708, 97, 97, 97, 97, 97,
951 97, 341, 340, 97, 97, 97, 342, 97, 97, 343,
952 97, 708, 708, 344, 97, 708, 97, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000953
vlmc94e28f2004-09-15 11:59:51 +0000954 97, 97, 97, 97, 97, 97, 97, 708, 708, 97,
955 708, 97, 708, 708, 708, 97, 708, 97, 346, 345,
956 708, 97, 97, 97, 97, 97, 708, 708, 708, 708,
957 97, 708, 97, 97, 97, 708, 97, 708, 347, 708,
958 708, 97, 708, 97, 708, 348, 708, 97, 97, 349,
959 708, 350, 97, 708, 97, 708, 708, 708, 97, 708,
960 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
961 708, 97, 708, 97, 708, 97, 708, 97, 708, 97,
962 708, 97, 708, 97, 97, 97, 97, 97, 708, 354,
963 97, 708, 708, 355, 708, 708, 97, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000964
vlmc94e28f2004-09-15 11:59:51 +0000965 97, 97, 97, 356, 708, 97, 97, 358, 97, 708,
966 353, 708, 97, 708, 97, 708, 97, 362, 97, 708,
967 97, 357, 97, 97, 359, 708, 97, 97, 360, 708,
968 708, 708, 708, 97, 97, 97, 97, 97, 97, 361,
969 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
970 708, 363, 708, 97, 708, 97, 365, 97, 97, 97,
971 708, 97, 708, 708, 708, 97, 97, 97, 97, 97,
972 97, 97, 97, 708, 97, 708, 366, 97, 708, 97,
973 370, 97, 369, 97, 367, 97, 708, 708, 708, 97,
974 97, 97, 708, 97, 97, 97, 708, 371, 97, 708,
vlmfa67ddc2004-06-03 03:38:44 +0000975
vlmc94e28f2004-09-15 11:59:51 +0000976 708, 708, 708, 708, 97, 97, 97, 97, 97, 97,
977 372, 97, 97, 97, 97, 708, 708, 708, 708, 708,
978 708, 97, 97, 97, 97, 97, 97, 97, 708, 708,
979 97, 97, 708, 708, 708, 708, 708, 97, 708, 97,
980 97, 97, 708, 375, 708, 374, 97, 708, 97, 708,
981 97, 97, 97, 708, 97, 708, 708, 708, 97, 97,
982 97, 97, 97, 376, 708, 97, 97, 97, 377, 97,
983 97, 708, 97, 708, 708, 379, 97, 708, 97, 97,
984 97, 97, 97, 97, 97, 97, 97, 97, 97, 708,
985 97, 97, 708, 97, 708, 708, 708, 97, 708, 97,
vlmfa67ddc2004-06-03 03:38:44 +0000986
vlmc94e28f2004-09-15 11:59:51 +0000987 97, 97, 97, 97, 97, 381, 97, 97, 97, 97,
988 708, 378, 97, 708, 97, 708, 708, 383, 97, 708,
989 97, 708, 97, 708, 97, 97, 97, 382, 97, 708,
990 708, 97, 708, 97, 708, 97, 708, 97, 708, 97,
991 708, 97, 708, 97, 97, 97, 97, 708, 385, 708,
992 97, 708, 708, 708, 708, 708, 97, 708, 97, 708,
993 97, 384, 708, 97, 708, 97, 323, 323, 323, 323,
994 323, 323, 323, 97, 708, 97, 708, 97, 97, 395,
995 708, 394, 97, 396, 97, 708, 708, 708, 97, 708,
996 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
vlmfa67ddc2004-06-03 03:38:44 +0000997
vlmc94e28f2004-09-15 11:59:51 +0000998 398, 97, 708, 97, 389, 97, 708, 97, 708, 97,
999 708, 97, 708, 97, 97, 97, 97, 399, 708, 97,
1000 97, 708, 400, 708, 708, 708, 97, 97, 97, 97,
1001 97, 97, 708, 97, 708, 97, 708, 97, 97, 97,
1002 97, 97, 402, 97, 708, 708, 97, 708, 708, 708,
1003 97, 97, 401, 97, 97, 97, 708, 97, 403, 97,
1004 708, 97, 97, 97, 97, 97, 708, 708, 708, 708,
1005 97, 708, 97, 708, 404, 405, 97, 708, 97, 406,
1006 708, 708, 97, 97, 97, 97, 97, 407, 708, 708,
1007 708, 97, 708, 97, 708, 97, 408, 97, 708, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001008
vlmc94e28f2004-09-15 11:59:51 +00001009 409, 97, 708, 97, 97, 97, 708, 97, 708, 97,
1010 708, 97, 97, 97, 708, 97, 708, 410, 708, 97,
1011 97, 97, 708, 97, 97, 412, 708, 411, 97, 708,
1012 97, 708, 708, 708, 97, 708, 97, 708, 97, 708,
1013 97, 97, 97, 97, 97, 708, 708, 97, 413, 97,
1014 708, 97, 708, 97, 708, 97, 708, 97, 414, 415,
1015 97, 97, 97, 97, 708, 708, 97, 708, 708, 708,
1016 419, 708, 97, 97, 97, 97, 97, 97, 708, 708,
1017 97, 97, 97, 97, 420, 708, 421, 708, 708, 708,
1018 97, 708, 97, 97, 97, 97, 708, 97, 422, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001019
vlmc94e28f2004-09-15 11:59:51 +00001020 97, 97, 97, 423, 708, 708, 708, 708, 708, 708,
1021 97, 97, 424, 97, 97, 97, 97, 708, 708, 97,
1022 97, 708, 97, 708, 708, 426, 97, 708, 97, 708,
1023 97, 708, 97, 97, 97, 425, 97, 428, 708, 708,
1024 429, 97, 708, 97, 97, 97, 708, 97, 708, 708,
1025 427, 708, 97, 708, 97, 97, 97, 708, 97, 708,
1026 708, 97, 708, 97, 708, 97, 708, 97, 708, 97,
1027 708, 97, 97, 97, 97, 97, 708, 708, 97, 431,
1028 97, 708, 97, 708, 97, 708, 97, 708, 97, 97,
1029 432, 97, 97, 708, 708, 708, 708, 97, 708, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001030
vlmc94e28f2004-09-15 11:59:51 +00001031 97, 97, 708, 97, 708, 434, 97, 435, 97, 708,
1032 97, 708, 97, 708, 97, 708, 97, 97, 436, 97,
1033 97, 708, 708, 708, 708, 97, 708, 97, 708, 97,
1034 97, 97, 708, 97, 708, 437, 97, 439, 708, 708,
1035 97, 97, 97, 97, 97, 440, 441, 97, 708, 97,
1036 708, 97, 97, 97, 97, 97, 708, 708, 708, 708,
1037 97, 708, 708, 708, 97, 97, 97, 708, 97, 708,
1038 708, 97, 444, 97, 708, 97, 442, 97, 708, 97,
1039 708, 97, 708, 97, 97, 97, 97, 97, 708, 446,
1040 97, 708, 708, 708, 708, 708, 97, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001041
vlmc94e28f2004-09-15 11:59:51 +00001042 97, 97, 97, 447, 708, 97, 97, 708, 97, 708,
1043 708, 708, 97, 708, 97, 708, 97, 708, 97, 708,
1044 97, 97, 97, 457, 97, 708, 708, 97, 708, 708,
1045 97, 708, 708, 708, 97, 708, 97, 708, 97, 708,
1046 97, 97, 97, 97, 97, 708, 708, 449, 458, 97,
1047 708, 97, 97, 460, 708, 97, 708, 708, 708, 708,
1048 97, 708, 97, 97, 97, 708, 97, 708, 708, 97,
1049 461, 97, 462, 97, 708, 97, 708, 97, 708, 97,
1050 97, 97, 97, 97, 708, 708, 97, 463, 97, 708,
1051 97, 708, 97, 708, 97, 708, 97, 97, 464, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001052
vlmc94e28f2004-09-15 11:59:51 +00001053 97, 708, 708, 708, 708, 97, 708, 97, 97, 97,
1054 466, 97, 708, 708, 97, 465, 97, 708, 97, 708,
1055 97, 708, 97, 708, 97, 708, 97, 97, 97, 708,
1056 708, 97, 467, 97, 468, 708, 708, 97, 708, 469,
1057 708, 97, 708, 97, 708, 97, 708, 97, 97, 97,
1058 97, 97, 708, 471, 97, 708, 97, 708, 97, 708,
1059 470, 708, 97, 708, 97, 97, 97, 97, 97, 708,
1060 708, 97, 708, 97, 708, 97, 708, 97, 472, 97,
1061 708, 97, 97, 97, 97, 97, 708, 708, 97, 708,
1062 97, 708, 97, 708, 97, 474, 97, 708, 97, 473,
vlmfa67ddc2004-06-03 03:38:44 +00001063
vlmc94e28f2004-09-15 11:59:51 +00001064 97, 97, 97, 475, 97, 97, 708, 97, 708, 479,
1065 708, 708, 708, 708, 97, 97, 97, 97, 97, 97,
1066 97, 708, 708, 97, 97, 708, 97, 480, 481, 708,
1067 97, 708, 97, 708, 97, 708, 97, 97, 97, 97,
1068 97, 708, 708, 97, 708, 97, 483, 97, 708, 97,
1069 708, 97, 708, 97, 482, 97, 97, 97, 97, 484,
1070 708, 708, 97, 708, 97, 485, 708, 708, 97, 708,
1071 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
1072 708, 708, 708, 97, 708, 97, 708, 97, 708, 97,
1073 97, 486, 708, 487, 97, 708, 97, 708, 708, 708,
vlmfa67ddc2004-06-03 03:38:44 +00001074
vlmc94e28f2004-09-15 11:59:51 +00001075 97, 708, 97, 708, 97, 708, 97, 97, 97, 97,
1076 97, 708, 708, 488, 489, 97, 708, 97, 97, 97,
1077 708, 97, 708, 491, 97, 708, 97, 708, 97, 708,
1078 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
1079 708, 97, 708, 97, 708, 97, 708, 493, 708, 97,
1080 708, 97, 97, 494, 97, 97, 708, 708, 708, 708,
1081 97, 708, 97, 708, 97, 97, 97, 708, 496, 708,
1082 495, 97, 708, 97, 708, 97, 708, 97, 708, 97,
1083 708, 708, 708, 97, 97, 97, 708, 97, 97, 499,
1084 708, 97, 97, 498, 97, 708, 708, 708, 97, 708,
vlmfa67ddc2004-06-03 03:38:44 +00001085
vlmc94e28f2004-09-15 11:59:51 +00001086 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1087 97, 501, 97, 97, 708, 97, 708, 708, 708, 97,
1088 708, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1089 97, 97, 503, 708, 97, 708, 708, 708, 708, 708,
1090 97, 708, 97, 97, 97, 708, 97, 708, 513, 97,
1091 514, 708, 708, 97, 708, 97, 97, 97, 97, 708,
1092 97, 97, 97, 708, 516, 97, 708, 97, 708, 708,
1093 708, 97, 708, 97, 708, 97, 708, 97, 97, 517,
1094 97, 97, 708, 708, 97, 708, 97, 708, 97, 708,
1095 518, 519, 97, 708, 97, 97, 97, 97, 97, 708,
vlmfa67ddc2004-06-03 03:38:44 +00001096
vlmc94e28f2004-09-15 11:59:51 +00001097 708, 97, 708, 97, 708, 97, 708, 97, 708, 97,
1098 708, 97, 97, 97, 97, 97, 708, 708, 708, 520,
1099 97, 708, 97, 97, 97, 521, 97, 708, 708, 97,
1100 708, 97, 708, 97, 708, 97, 708, 97, 708, 97,
1101 97, 97, 97, 97, 708, 522, 97, 708, 97, 708,
1102 97, 708, 97, 708, 97, 708, 97, 97, 97, 97,
1103 97, 708, 708, 708, 523, 97, 708, 97, 97, 97,
1104 708, 97, 708, 708, 525, 524, 97, 708, 97, 708,
1105 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
1106 708, 97, 708, 97, 708, 526, 708, 97, 531, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001107
vlmc94e28f2004-09-15 11:59:51 +00001108 708, 97, 97, 97, 97, 97, 708, 708, 708, 708,
1109 97, 708, 97, 97, 97, 708, 97, 708, 708, 97,
1110 532, 97, 708, 97, 708, 97, 708, 97, 708, 97,
1111 97, 97, 97, 97, 708, 708, 97, 708, 97, 534,
1112 97, 708, 97, 708, 97, 708, 97, 533, 97, 97,
1113 97, 97, 97, 708, 708, 97, 708, 708, 708, 708,
1114 708, 97, 97, 97, 97, 97, 97, 97, 536, 535,
1115 97, 97, 708, 97, 708, 708, 708, 97, 708, 97,
1116 708, 97, 708, 97, 97, 97, 97, 97, 708, 708,
1117 97, 708, 97, 708, 97, 708, 538, 708, 97, 708,
vlmfa67ddc2004-06-03 03:38:44 +00001118
vlmc94e28f2004-09-15 11:59:51 +00001119 540, 97, 97, 97, 97, 708, 708, 708, 708, 97,
1120 708, 97, 97, 97, 708, 97, 542, 708, 537, 708,
1121 97, 708, 97, 97, 97, 708, 97, 708, 708, 97,
1122 708, 97, 708, 97, 708, 97, 708, 97, 708, 97,
1123 708, 97, 97, 97, 97, 708, 708, 544, 97, 708,
1124 97, 708, 708, 545, 97, 708, 97, 708, 97, 708,
1125 97, 708, 97, 97, 97, 97, 708, 708, 547, 97,
1126 549, 97, 708, 708, 708, 97, 708, 97, 708, 97,
1127 708, 97, 97, 97, 97, 97, 708, 708, 708, 558,
1128 97, 708, 97, 708, 97, 708, 97, 97, 559, 708,
vlmfa67ddc2004-06-03 03:38:44 +00001129
vlmc94e28f2004-09-15 11:59:51 +00001130 708, 97, 708, 97, 708, 708, 708, 97, 708, 97,
1131 708, 97, 708, 97, 97, 97, 97, 97, 708, 561,
1132 708, 708, 97, 708, 97, 708, 97, 97, 97, 708,
1133 563, 708, 562, 97, 708, 97, 708, 97, 97, 97,
1134 708, 97, 708, 708, 566, 97, 97, 564, 97, 97,
1135 97, 565, 97, 97, 97, 708, 97, 97, 708, 97,
1136 708, 708, 708, 97, 708, 97, 97, 97, 97, 97,
1137 97, 97, 97, 97, 97, 97, 708, 567, 97, 708,
1138 97, 708, 708, 708, 97, 708, 97, 568, 97, 708,
1139 97, 97, 97, 97, 97, 708, 708, 97, 708, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001140
vlmc94e28f2004-09-15 11:59:51 +00001141 573, 97, 708, 97, 708, 97, 708, 97, 97, 97,
1142 97, 97, 708, 708, 97, 708, 97, 708, 97, 708,
1143 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
1144 708, 97, 708, 97, 708, 97, 708, 97, 574, 97,
1145 708, 97, 97, 97, 97, 97, 708, 708, 708, 708,
1146 97, 708, 97, 97, 97, 708, 97, 577, 708, 97,
1147 575, 97, 708, 97, 708, 97, 582, 97, 708, 97,
1148 97, 97, 97, 97, 708, 708, 708, 580, 97, 708,
1149 97, 97, 97, 708, 97, 708, 708, 97, 708, 97,
1150 708, 97, 708, 97, 708, 97, 708, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001151
vlmc94e28f2004-09-15 11:59:51 +00001152 97, 97, 708, 708, 97, 708, 97, 708, 97, 708,
1153 584, 708, 97, 708, 586, 97, 97, 97, 97, 708,
1154 708, 97, 708, 97, 708, 97, 708, 97, 595, 97,
1155 708, 97, 97, 97, 97, 97, 708, 708, 97, 708,
1156 97, 708, 97, 708, 97, 708, 97, 708, 97, 708,
1157 97, 97, 97, 97, 97, 596, 597, 97, 598, 708,
1158 708, 708, 708, 97, 97, 97, 97, 97, 97, 97,
1159 97, 600, 97, 97, 708, 708, 708, 708, 708, 97,
1160 97, 599, 97, 97, 97, 97, 97, 601, 97, 97,
1161 708, 708, 708, 708, 708, 97, 602, 97, 97, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001162
vlmc94e28f2004-09-15 11:59:51 +00001163 97, 97, 708, 708, 97, 97, 708, 708, 708, 97,
1164 708, 97, 708, 97, 708, 97, 708, 606, 708, 97,
1165 97, 97, 607, 97, 97, 97, 708, 708, 97, 708,
1166 708, 608, 610, 708, 97, 97, 97, 97, 97, 97,
1167 97, 708, 708, 97, 97, 708, 708, 708, 97, 708,
1168 97, 708, 613, 708, 97, 708, 97, 708, 97, 97,
1169 97, 615, 97, 708, 708, 708, 97, 97, 97, 97,
1170 97, 708, 708, 708, 616, 97, 708, 708, 708, 97,
1171 708, 97, 708, 97, 592, 592, 592, 708, 97, 708,
1172 708, 708, 708, 97, 97, 708, 623, 623, 623, 623,
vlmfa67ddc2004-06-03 03:38:44 +00001173
vlmc94e28f2004-09-15 11:59:51 +00001174 623, 623, 623, 97, 97, 626, 97, 97, 97, 97,
1175 97, 708, 97, 97, 708, 708, 708, 708, 708, 97,
1176 97, 97, 97, 97, 97, 97, 708, 708, 97, 97,
1177 708, 708, 708, 97, 708, 97, 708, 97, 708, 97,
1178 708, 97, 627, 97, 97, 97, 628, 97, 708, 97,
1179 708, 97, 97, 97, 708, 97, 629, 97, 708, 97,
1180 97, 97, 708, 97, 708, 97, 708, 97, 97, 97,
1181 708, 97, 708, 97, 708, 97, 97, 633, 708, 97,
1182 708, 97, 708, 97, 97, 97, 634, 97, 708, 97,
1183 708, 97, 97, 636, 708, 97, 639, 97, 708, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001184
vlmc94e28f2004-09-15 11:59:51 +00001185 97, 97, 708, 97, 641, 97, 708, 97, 97, 97,
1186 708, 97, 642, 708, 708, 97, 97, 97, 708, 97,
1187 708, 708, 97, 97, 97, 623, 623, 623, 623, 623,
1188 623, 623, 97, 97, 97, 97, 97, 97, 97, 708,
1189 708, 97, 97, 708, 708, 708, 97, 708, 97, 708,
1190 651, 708, 97, 708, 708, 708, 97, 97, 97, 97,
1191 97, 708, 708, 648, 652, 97, 708, 97, 708, 97,
1192 708, 97, 708, 97, 708, 97, 656, 97, 97, 657,
1193 708, 97, 659, 97, 708, 97, 97, 97, 708, 97,
1194 708, 708, 708, 97, 97, 97, 97, 97, 664, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001195
vlmc94e28f2004-09-15 11:59:51 +00001196 708, 662, 97, 665, 708, 708, 97, 708, 97, 97,
1197 97, 97, 708, 97, 708, 97, 708, 708, 97, 649,
1198 649, 649, 708, 708, 708, 708, 708, 708, 97, 97,
1199 708, 623, 623, 623, 623, 623, 623, 623, 97, 97,
1200 97, 97, 97, 97, 97, 97, 672, 97, 97, 708,
1201 708, 708, 673, 708, 97, 97, 97, 97, 97, 97,
1202 97, 97, 708, 97, 97, 708, 708, 708, 708, 708,
1203 97, 97, 97, 97, 97, 97, 97, 708, 677, 97,
1204 97, 708, 97, 708, 680, 708, 97, 708, 97, 682,
1205 97, 708, 97, 97, 97, 97, 97, 708, 708, 708,
vlmfa67ddc2004-06-03 03:38:44 +00001206
vlmc94e28f2004-09-15 11:59:51 +00001207 708, 97, 708, 97, 97, 97, 708, 97, 708, 689,
1208 97, 708, 97, 708, 97, 708, 97, 708, 97, 708,
1209 97, 708, 97, 97, 97, 97, 708, 708, 97, 97,
1210 708, 694, 708, 691, 708, 97, 708, 97, 97, 97,
1211 97, 708, 97, 708, 97, 708, 708, 97, 687, 687,
1212 687, 708, 708, 708, 708, 708, 708, 97, 708, 708,
1213 623, 623, 623, 623, 623, 623, 623, 97, 97, 97,
1214 698, 97, 708, 708, 97, 708, 97, 708, 97, 708,
1215 97, 708, 97, 708, 97, 97, 97, 97, 97, 708,
1216 702, 97, 708, 97, 708, 705, 708, 97, 708, 97,
vlmfa67ddc2004-06-03 03:38:44 +00001217
vlmc94e28f2004-09-15 11:59:51 +00001218 708, 97, 97, 97, 97, 97, 708, 708, 708, 708,
1219 97, 708, 97, 708, 97, 708, 97, 708, 708, 708,
1220 708, 97, 54, 54, 54, 54, 54, 54, 54, 54,
1221 54, 54, 54, 54, 58, 58, 58, 58, 58, 58,
1222 58, 58, 58, 58, 58, 58, 62, 62, 62, 62,
1223 62, 62, 62, 62, 62, 62, 62, 62, 65, 65,
1224 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
vlm9283dbe2004-08-18 04:59:12 +00001225 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
vlmc94e28f2004-09-15 11:59:51 +00001226 74, 74, 76, 76, 76, 76, 76, 76, 76, 76,
1227 76, 76, 76, 76, 83, 83, 83, 708, 83, 83,
vlm9283dbe2004-08-18 04:59:12 +00001228
vlmc94e28f2004-09-15 11:59:51 +00001229 83, 83, 83, 83, 83, 83, 90, 90, 708, 708,
1230 90, 708, 90, 156, 708, 156, 159, 159, 708, 159,
1231 159, 160, 160, 708, 160, 160, 160, 708, 160, 160,
1232 160, 160, 160, 163, 163, 163, 708, 163, 163, 163,
1233 163, 163, 163, 163, 163, 165, 165, 165, 165, 165,
1234 165, 165, 165, 708, 165, 165, 167, 708, 708, 167,
1235 167, 167, 167, 167, 167, 167, 167, 168, 708, 708,
1236 168, 168, 168, 168, 168, 168, 168, 168, 170, 708,
1237 708, 170, 708, 170, 170, 170, 170, 170, 170, 174,
1238 174, 708, 174, 174, 175, 175, 708, 175, 175, 103,
vlm9283dbe2004-08-18 04:59:12 +00001239
vlmc94e28f2004-09-15 11:59:51 +00001240 103, 708, 103, 103, 15, 708, 708, 708, 708, 708,
1241 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1242 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1243 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1244 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1245 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1246 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1247 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1248 708, 708, 708
vlmfa67ddc2004-06-03 03:38:44 +00001249 } ;
1250
vlmc94e28f2004-09-15 11:59:51 +00001251static yyconst short int yy_chk[4484] =
vlmfa67ddc2004-06-03 03:38:44 +00001252 { 0,
1253 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1254 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1255 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1256 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1257 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1258 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1259 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1260 1, 1, 1, 1, 1, 1, 1, 1, 3, 3,
1261 4, 4, 5, 6, 7, 9, 3, 7, 4, 5,
vlm9283dbe2004-08-18 04:59:12 +00001262 6, 8, 5, 6, 8, 10, 17, 17, 17, 18,
vlmfa67ddc2004-06-03 03:38:44 +00001263
vlm9283dbe2004-08-18 04:59:12 +00001264 18, 18, 17, 9, 152, 18, 9, 26, 176, 26,
1265 13, 13, 13, 10, 176, 13, 10, 152, 22, 22,
1266 22, 14, 14, 14, 22, 24, 14, 157, 24, 157,
1267 22, 22, 24, 24, 24, 24, 24, 24, 28, 28,
1268 28, 28, 28, 28, 28, 34, 253, 253, 34, 77,
1269 77, 77, 78, 78, 78, 34, 87, 34, 9, 34,
vlmc94e28f2004-09-15 11:59:51 +00001270 9, 82, 82, 82, 34, 158, 476, 158, 10, 704,
vlm9283dbe2004-08-18 04:59:12 +00001271 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
vlmc94e28f2004-09-15 11:59:51 +00001272 11, 11, 11, 11, 13, 476, 13, 87, 38, 79,
1273 325, 11, 11, 11, 11, 14, 325, 14, 38, 11,
vlmfa67ddc2004-06-03 03:38:44 +00001274
vlmc94e28f2004-09-15 11:59:51 +00001275 38, 32, 38, 79, 32, 324, 700, 38, 32, 324,
1276 250, 32, 32, 32, 32, 32, 41, 250, 697, 33,
1277 32, 11, 11, 11, 32, 33, 41, 327, 41, 33,
1278 41, 33, 33, 33, 79, 41, 695, 327, 33, 92,
vlm9283dbe2004-08-18 04:59:12 +00001279 92, 92, 92, 92, 92, 92, 11, 11, 11, 12,
1280 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
vlmc94e28f2004-09-15 11:59:51 +00001281 12, 12, 41, 393, 35, 171, 171, 171, 393, 12,
1282 12, 12, 12, 693, 35, 35, 35, 12, 35, 169,
1283 169, 326, 251, 35, 42, 42, 35, 326, 42, 251,
1284 169, 36, 36, 692, 42, 48, 42, 453, 42, 12,
vlmfa67ddc2004-06-03 03:38:44 +00001285
vlm9283dbe2004-08-18 04:59:12 +00001286 12, 12, 36, 42, 36, 48, 36, 48, 36, 48,
vlmc94e28f2004-09-15 11:59:51 +00001287 453, 36, 390, 42, 48, 690, 512, 39, 39, 390,
1288 39, 391, 392, 512, 12, 12, 12, 21, 39, 39,
1289 39, 48, 39, 392, 454, 39, 391, 39, 454, 554,
1290 455, 21, 455, 554, 21, 21, 21, 21, 21, 21,
vlm9283dbe2004-08-18 04:59:12 +00001291 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1292 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
vlmc94e28f2004-09-15 11:59:51 +00001293 557, 688, 21, 21, 21, 21, 21, 21, 21, 21,
vlm9283dbe2004-08-18 04:59:12 +00001294 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
vlmc94e28f2004-09-15 11:59:51 +00001295 21, 21, 21, 21, 21, 31, 510, 557, 31, 31,
vlmfa67ddc2004-06-03 03:38:44 +00001296
vlmc94e28f2004-09-15 11:59:51 +00001297 31, 31, 31, 31, 31, 511, 685, 510, 511, 31,
vlm9283dbe2004-08-18 04:59:12 +00001298 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1299 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +00001300 31, 31, 31, 31, 31, 622, 622, 684, 31, 31,
vlm9283dbe2004-08-18 04:59:12 +00001301 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1302 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
vlmc94e28f2004-09-15 11:59:51 +00001303 37, 647, 509, 647, 681, 40, 40, 555, 555, 555,
1304 37, 556, 37, 40, 37, 591, 40, 509, 40, 37,
1305 40, 679, 591, 675, 671, 40, 556, 43, 43, 593,
1306 43, 669, 37, 593, 668, 667, 44, 666, 43, 44,
vlmfa67ddc2004-06-03 03:38:44 +00001307
vlmc94e28f2004-09-15 11:59:51 +00001308 43, 663, 43, 37, 43, 555, 44, 43, 44, 45,
1309 44, 661, 45, 660, 655, 44, 45, 654, 46, 45,
1310 653, 45, 650, 45, 46, 46, 646, 45, 45, 645,
1311 644, 43, 45, 47, 643, 46, 640, 46, 638, 46,
1312 637, 46, 635, 47, 46, 47, 49, 47, 46, 632,
1313 631, 47, 47, 49, 630, 625, 49, 46, 49, 621,
1314 49, 624, 624, 624, 620, 49, 50, 50, 50, 50,
1315 50, 50, 50, 47, 89, 89, 89, 50, 619, 617,
1316 89, 97, 614, 612, 611, 609, 89, 89, 605, 604,
1317 603, 97, 50, 97, 594, 97, 590, 50, 74, 624,
vlmfa67ddc2004-06-03 03:38:44 +00001318
vlmc94e28f2004-09-15 11:59:51 +00001319 97, 589, 74, 74, 74, 74, 74, 74, 74, 74,
vlm9283dbe2004-08-18 04:59:12 +00001320 74, 95, 95, 95, 95, 95, 95, 95, 74, 74,
1321 74, 74, 98, 99, 178, 178, 178, 178, 178, 178,
vlmc94e28f2004-09-15 11:59:51 +00001322 178, 588, 98, 99, 98, 99, 98, 99, 587, 98,
1323 585, 98, 99, 100, 101, 581, 579, 578, 74, 74,
1324 74, 576, 571, 100, 101, 100, 101, 100, 101, 102,
1325 570, 569, 100, 101, 553, 552, 100, 551, 550, 102,
1326 548, 102, 546, 102, 74, 75, 543, 102, 102, 75,
1327 75, 75, 75, 75, 75, 75, 75, 75, 541, 104,
1328 539, 537, 105, 530, 104, 75, 75, 75, 75, 104,
vlmfa67ddc2004-06-03 03:38:44 +00001329
vlmc94e28f2004-09-15 11:59:51 +00001330 529, 104, 105, 104, 105, 106, 105, 528, 104, 527,
1331 105, 105, 75, 515, 508, 106, 507, 106, 107, 106,
1332 506, 505, 502, 500, 106, 75, 75, 75, 107, 108,
1333 107, 107, 107, 670, 670, 670, 497, 107, 492, 108,
1334 490, 108, 478, 108, 109, 109, 477, 459, 108, 456,
1335 452, 75, 110, 110, 451, 109, 450, 109, 109, 109,
1336 449, 448, 445, 110, 109, 110, 111, 110, 443, 112,
1337 438, 670, 110, 112, 433, 430, 111, 111, 111, 112,
1338 111, 112, 113, 112, 418, 111, 417, 416, 112, 397,
1339 388, 387, 113, 386, 113, 384, 113, 114, 114, 114,
vlmfa67ddc2004-06-03 03:38:44 +00001340
vlmc94e28f2004-09-15 11:59:51 +00001341 116, 113, 380, 115, 115, 378, 373, 114, 368, 114,
vlm9283dbe2004-08-18 04:59:12 +00001342 116, 114, 116, 115, 116, 115, 114, 115, 117, 116,
vlmc94e28f2004-09-15 11:59:51 +00001343 364, 115, 115, 353, 352, 120, 351, 332, 117, 321,
1344 117, 117, 117, 120, 320, 319, 121, 117, 313, 121,
1345 302, 297, 293, 120, 122, 120, 121, 120, 121, 282,
1346 121, 281, 120, 255, 122, 121, 122, 254, 122, 123,
vlm9283dbe2004-08-18 04:59:12 +00001347 123, 249, 245, 122, 244, 243, 239, 227, 221, 123,
1348 124, 123, 217, 123, 206, 205, 123, 123, 123, 177,
1349 124, 125, 124, 124, 124, 173, 168, 126, 166, 124,
1350 156, 125, 151, 125, 148, 125, 138, 126, 127, 126,
vlmfa67ddc2004-06-03 03:38:44 +00001351
vlm9283dbe2004-08-18 04:59:12 +00001352 125, 126, 133, 125, 128, 119, 126, 118, 127, 96,
1353 127, 129, 127, 93, 130, 90, 85, 127, 84, 129,
1354 81, 129, 67, 129, 130, 129, 130, 131, 130, 64,
1355 129, 61, 130, 130, 60, 132, 57, 131, 134, 131,
1356 53, 131, 51, 29, 25, 132, 131, 132, 134, 132,
1357 134, 135, 134, 132, 132, 20, 134, 134, 19, 16,
1358 15, 135, 136, 135, 0, 135, 0, 0, 0, 0,
1359 135, 135, 136, 0, 136, 137, 136, 0, 137, 0,
1360 0, 136, 137, 0, 0, 137, 0, 137, 0, 137,
1361 139, 139, 0, 0, 137, 0, 0, 140, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001362
vlm9283dbe2004-08-18 04:59:12 +00001363 0, 139, 0, 139, 0, 139, 0, 140, 141, 140,
1364 139, 140, 140, 0, 142, 140, 140, 0, 141, 0,
1365 141, 0, 141, 0, 142, 143, 142, 141, 142, 144,
1366 142, 0, 141, 142, 0, 143, 0, 143, 0, 143,
1367 144, 145, 0, 0, 143, 0, 145, 0, 0, 0,
1368 144, 145, 144, 145, 144, 145, 146, 147, 0, 144,
1369 145, 0, 0, 0, 0, 0, 146, 147, 146, 147,
1370 146, 147, 149, 150, 150, 146, 147, 150, 0, 149,
1371 0, 0, 149, 150, 149, 150, 149, 150, 153, 0,
1372 0, 149, 150, 0, 0, 0, 0, 0, 153, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001373
vlm9283dbe2004-08-18 04:59:12 +00001374 153, 0, 153, 155, 155, 155, 153, 153, 154, 154,
1375 154, 154, 154, 154, 154, 155, 155, 155, 155, 155,
vlmc94e28f2004-09-15 11:59:51 +00001376 155, 155, 0, 181, 182, 0, 181, 0, 0, 0,
1377 0, 0, 0, 181, 182, 181, 182, 181, 182, 183,
1378 184, 155, 181, 182, 0, 0, 154, 0, 0, 183,
1379 184, 183, 184, 183, 184, 185, 0, 0, 183, 184,
1380 0, 0, 0, 186, 0, 185, 187, 185, 185, 185,
1381 186, 0, 0, 186, 185, 186, 187, 186, 187, 188,
1382 187, 0, 186, 0, 0, 187, 0, 189, 0, 188,
1383 0, 188, 0, 188, 0, 190, 188, 189, 188, 189,
vlmfa67ddc2004-06-03 03:38:44 +00001384
vlmc94e28f2004-09-15 11:59:51 +00001385 0, 189, 0, 191, 0, 190, 189, 190, 0, 190,
1386 191, 190, 0, 191, 190, 191, 192, 191, 0, 0,
1387 0, 0, 191, 0, 193, 0, 192, 194, 192, 0,
1388 192, 0, 0, 192, 193, 192, 193, 194, 193, 194,
1389 0, 194, 0, 193, 194, 194, 194, 195, 195, 196,
1390 0, 0, 196, 0, 0, 195, 0, 0, 195, 196,
1391 195, 196, 195, 196, 197, 0, 0, 195, 196, 0,
1392 198, 0, 0, 0, 197, 0, 197, 197, 197, 0,
1393 198, 199, 198, 197, 198, 0, 0, 200, 0, 198,
1394 200, 199, 199, 199, 0, 199, 0, 200, 201, 200,
vlmfa67ddc2004-06-03 03:38:44 +00001395
vlmc94e28f2004-09-15 11:59:51 +00001396 199, 200, 0, 0, 202, 0, 200, 202, 201, 0,
1397 201, 201, 201, 0, 202, 203, 202, 201, 202, 0,
1398 0, 0, 0, 202, 0, 203, 204, 203, 0, 203,
1399 0, 0, 203, 0, 203, 0, 204, 204, 204, 207,
1400 204, 0, 0, 0, 0, 204, 0, 208, 0, 207,
1401 209, 207, 0, 207, 0, 0, 207, 208, 207, 208,
1402 209, 208, 209, 209, 209, 210, 208, 0, 211, 209,
1403 0, 212, 0, 0, 212, 210, 0, 210, 211, 210,
1404 211, 212, 211, 212, 210, 212, 211, 211, 213, 214,
1405 212, 0, 215, 0, 0, 213, 0, 0, 0, 214,
vlmfa67ddc2004-06-03 03:38:44 +00001406
vlmc94e28f2004-09-15 11:59:51 +00001407 0, 214, 215, 214, 215, 213, 215, 213, 214, 213,
1408 216, 215, 0, 218, 213, 0, 218, 0, 0, 0,
1409 216, 0, 216, 218, 216, 218, 0, 218, 219, 216,
1410 0, 219, 218, 0, 220, 0, 0, 0, 219, 0,
1411 219, 220, 219, 0, 220, 222, 220, 219, 220, 0,
1412 0, 0, 0, 220, 0, 222, 223, 222, 0, 222,
1413 0, 0, 224, 222, 222, 0, 223, 0, 223, 0,
1414 223, 0, 224, 225, 224, 223, 224, 0, 0, 224,
1415 0, 224, 0, 225, 226, 225, 0, 225, 0, 0,
1416 225, 0, 225, 0, 226, 228, 226, 0, 226, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001417
vlmc94e28f2004-09-15 11:59:51 +00001418 229, 229, 0, 226, 226, 228, 0, 228, 0, 228,
1419 0, 229, 230, 229, 228, 229, 0, 0, 231, 0,
1420 229, 0, 230, 0, 230, 0, 230, 0, 231, 0,
1421 231, 230, 231, 232, 233, 0, 232, 231, 0, 0,
1422 0, 233, 0, 232, 233, 232, 233, 232, 233, 234,
1423 0, 0, 232, 233, 0, 0, 0, 0, 0, 234,
1424 235, 234, 0, 234, 0, 0, 236, 234, 234, 0,
1425 235, 0, 235, 0, 235, 0, 236, 235, 236, 235,
1426 236, 237, 0, 236, 237, 236, 0, 238, 0, 0,
1427 238, 237, 0, 237, 0, 237, 0, 238, 240, 238,
vlmfa67ddc2004-06-03 03:38:44 +00001428
vlmc94e28f2004-09-15 11:59:51 +00001429 237, 238, 0, 0, 0, 0, 238, 0, 240, 241,
1430 240, 240, 240, 240, 242, 0, 0, 240, 240, 241,
1431 242, 241, 0, 241, 0, 0, 0, 241, 241, 0,
1432 242, 246, 242, 0, 242, 0, 0, 246, 0, 242,
1433 0, 246, 0, 246, 0, 246, 248, 248, 248, 0,
1434 246, 0, 0, 0, 0, 258, 0, 0, 248, 248,
1435 248, 248, 248, 248, 248, 258, 259, 258, 0, 258,
1436 0, 0, 260, 259, 258, 0, 259, 0, 259, 0,
1437 259, 0, 260, 260, 260, 259, 260, 261, 262, 0,
1438 0, 260, 0, 0, 0, 0, 0, 261, 262, 261,
vlmfa67ddc2004-06-03 03:38:44 +00001439
vlmc94e28f2004-09-15 11:59:51 +00001440 262, 261, 262, 264, 264, 263, 261, 262, 263, 0,
1441 0, 0, 0, 0, 264, 263, 264, 263, 264, 263,
1442 265, 265, 0, 264, 263, 0, 266, 0, 0, 0,
1443 265, 0, 265, 262, 265, 0, 266, 267, 266, 265,
1444 266, 0, 0, 266, 0, 266, 0, 267, 268, 267,
1445 267, 267, 0, 0, 0, 0, 267, 0, 268, 0,
1446 268, 0, 268, 270, 268, 269, 269, 268, 0, 271,
1447 0, 0, 0, 270, 0, 270, 269, 270, 269, 271,
1448 269, 271, 270, 271, 272, 269, 272, 273, 271, 273,
1449 274, 0, 0, 274, 272, 0, 272, 273, 272, 273,
vlmfa67ddc2004-06-03 03:38:44 +00001450
vlmc94e28f2004-09-15 11:59:51 +00001451 274, 273, 274, 272, 274, 275, 273, 0, 0, 274,
1452 0, 276, 0, 0, 0, 275, 0, 275, 276, 275,
1453 0, 276, 277, 276, 275, 276, 0, 0, 0, 0,
1454 276, 0, 277, 278, 277, 0, 277, 0, 277, 0,
1455 0, 277, 0, 278, 0, 278, 0, 278, 279, 278,
1456 0, 279, 278, 0, 280, 0, 0, 0, 279, 0,
1457 279, 0, 279, 0, 280, 283, 280, 279, 280, 0,
1458 0, 284, 0, 280, 0, 283, 0, 283, 0, 283,
1459 0, 284, 0, 284, 283, 284, 285, 286, 0, 284,
1460 284, 0, 0, 285, 0, 0, 285, 286, 285, 286,
vlmfa67ddc2004-06-03 03:38:44 +00001461
vlmc94e28f2004-09-15 11:59:51 +00001462 285, 286, 287, 286, 0, 285, 286, 288, 288, 0,
1463 283, 0, 287, 0, 287, 0, 287, 290, 288, 0,
1464 288, 287, 288, 289, 288, 0, 290, 288, 289, 0,
1465 0, 0, 0, 289, 291, 289, 290, 289, 290, 289,
1466 290, 0, 289, 0, 291, 290, 291, 292, 291, 0,
1467 0, 291, 0, 291, 0, 294, 294, 292, 295, 292,
1468 0, 292, 0, 0, 0, 294, 292, 294, 295, 294,
1469 295, 296, 295, 0, 294, 0, 295, 295, 0, 298,
1470 299, 296, 298, 296, 296, 296, 0, 0, 0, 298,
1471 296, 298, 0, 298, 300, 299, 0, 300, 298, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001472
vlmc94e28f2004-09-15 11:59:51 +00001473 0, 0, 0, 0, 300, 299, 300, 299, 300, 299,
1474 301, 301, 303, 300, 299, 0, 0, 0, 0, 0,
1475 0, 301, 303, 301, 303, 301, 303, 304, 0, 0,
1476 301, 303, 0, 0, 0, 0, 0, 304, 0, 304,
1477 305, 304, 0, 305, 0, 304, 304, 0, 306, 0,
1478 305, 307, 305, 0, 305, 0, 0, 0, 306, 305,
1479 306, 307, 306, 307, 0, 307, 309, 306, 308, 308,
1480 307, 0, 310, 0, 0, 312, 309, 0, 309, 308,
1481 309, 308, 310, 308, 310, 309, 310, 311, 308, 0,
1482 312, 310, 0, 314, 0, 0, 0, 311, 0, 311,
vlmfa67ddc2004-06-03 03:38:44 +00001483
vlmc94e28f2004-09-15 11:59:51 +00001484 312, 311, 312, 314, 312, 314, 311, 314, 315, 312,
1485 0, 309, 314, 0, 316, 0, 0, 316, 315, 0,
1486 315, 0, 315, 0, 316, 317, 316, 315, 316, 0,
1487 0, 318, 0, 316, 0, 317, 0, 317, 0, 317,
1488 0, 318, 0, 318, 317, 318, 322, 0, 318, 0,
1489 318, 0, 0, 0, 0, 0, 322, 0, 322, 0,
1490 322, 317, 0, 328, 0, 322, 323, 323, 323, 323,
1491 323, 323, 323, 328, 0, 328, 0, 328, 329, 329,
1492 0, 328, 328, 330, 330, 0, 0, 0, 329, 0,
1493 329, 0, 329, 0, 330, 331, 330, 329, 330, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001494
vlmc94e28f2004-09-15 11:59:51 +00001495 333, 333, 0, 330, 323, 331, 0, 331, 0, 331,
1496 0, 333, 0, 333, 331, 333, 334, 334, 0, 335,
1497 333, 0, 335, 0, 0, 0, 334, 336, 334, 335,
1498 334, 335, 0, 335, 0, 334, 0, 336, 335, 336,
1499 337, 336, 338, 338, 0, 0, 336, 0, 0, 0,
1500 337, 339, 337, 338, 337, 338, 0, 338, 339, 337,
1501 0, 339, 338, 339, 340, 339, 0, 0, 0, 0,
1502 339, 0, 341, 0, 340, 341, 340, 0, 340, 341,
1503 0, 0, 341, 340, 341, 342, 341, 342, 0, 0,
1504 0, 341, 0, 343, 0, 342, 343, 342, 0, 342,
vlmfa67ddc2004-06-03 03:38:44 +00001505
vlmc94e28f2004-09-15 11:59:51 +00001506 343, 344, 0, 343, 342, 343, 0, 343, 0, 345,
1507 0, 344, 343, 344, 0, 344, 0, 344, 0, 345,
1508 344, 345, 0, 345, 346, 346, 0, 345, 345, 0,
1509 347, 0, 0, 0, 346, 0, 346, 0, 346, 0,
1510 347, 348, 347, 346, 347, 0, 0, 349, 347, 347,
1511 0, 348, 0, 348, 0, 348, 0, 349, 348, 349,
1512 348, 349, 350, 354, 0, 0, 349, 0, 0, 0,
1513 354, 0, 350, 354, 350, 354, 350, 354, 0, 0,
1514 356, 350, 354, 355, 355, 0, 355, 0, 0, 0,
1515 356, 0, 356, 355, 356, 355, 0, 355, 356, 356,
vlmfa67ddc2004-06-03 03:38:44 +00001516
vlmc94e28f2004-09-15 11:59:51 +00001517 358, 357, 355, 357, 0, 0, 0, 0, 0, 0,
1518 358, 357, 358, 357, 358, 357, 359, 0, 0, 358,
1519 357, 0, 360, 0, 0, 360, 359, 0, 359, 0,
1520 359, 0, 360, 361, 360, 359, 360, 362, 0, 0,
1521 363, 360, 0, 361, 362, 361, 0, 361, 0, 0,
1522 361, 0, 361, 0, 362, 363, 362, 0, 362, 0,
1523 0, 365, 0, 362, 0, 363, 0, 363, 0, 363,
1524 0, 365, 366, 365, 363, 365, 0, 0, 367, 365,
1525 365, 0, 366, 0, 366, 0, 366, 0, 367, 369,
1526 367, 366, 367, 0, 0, 0, 0, 367, 0, 369,
vlmfa67ddc2004-06-03 03:38:44 +00001527
vlmc94e28f2004-09-15 11:59:51 +00001528 370, 369, 0, 369, 0, 369, 371, 370, 369, 0,
1529 370, 0, 370, 0, 370, 0, 371, 372, 371, 370,
1530 371, 0, 0, 0, 0, 371, 0, 372, 0, 372,
1531 374, 372, 0, 375, 0, 372, 372, 374, 0, 0,
1532 374, 376, 374, 375, 374, 375, 376, 375, 0, 374,
1533 0, 376, 375, 376, 377, 376, 0, 0, 0, 0,
1534 376, 0, 0, 0, 377, 379, 377, 0, 377, 0,
1535 0, 381, 379, 377, 0, 379, 377, 379, 0, 379,
1536 0, 381, 0, 381, 379, 381, 382, 383, 0, 382,
1537 381, 0, 0, 0, 0, 0, 382, 383, 382, 383,
vlmfa67ddc2004-06-03 03:38:44 +00001538
vlmc94e28f2004-09-15 11:59:51 +00001539 382, 383, 385, 383, 0, 382, 383, 0, 394, 0,
1540 0, 0, 385, 0, 385, 0, 385, 0, 394, 0,
1541 394, 385, 394, 395, 395, 0, 0, 394, 0, 0,
1542 396, 0, 0, 0, 395, 0, 395, 0, 395, 0,
1543 396, 398, 396, 395, 396, 0, 0, 385, 396, 396,
1544 0, 398, 399, 398, 0, 398, 0, 0, 0, 0,
1545 398, 0, 399, 400, 399, 0, 399, 0, 0, 401,
1546 399, 399, 401, 400, 0, 400, 0, 400, 0, 401,
1547 402, 401, 400, 401, 0, 0, 403, 402, 401, 0,
1548 402, 0, 402, 0, 402, 0, 403, 404, 403, 402,
vlmfa67ddc2004-06-03 03:38:44 +00001549
vlmc94e28f2004-09-15 11:59:51 +00001550 403, 0, 0, 0, 0, 403, 0, 404, 405, 404,
1551 405, 404, 0, 0, 406, 404, 404, 0, 405, 0,
1552 405, 0, 405, 0, 406, 0, 406, 405, 406, 0,
1553 0, 407, 406, 406, 407, 0, 0, 408, 0, 408,
1554 0, 407, 0, 407, 0, 407, 0, 408, 409, 408,
1555 407, 408, 0, 410, 410, 0, 408, 0, 409, 0,
1556 409, 0, 409, 0, 410, 411, 410, 409, 410, 0,
1557 0, 412, 0, 410, 0, 411, 0, 411, 412, 411,
1558 0, 412, 413, 412, 411, 412, 0, 0, 414, 0,
1559 412, 0, 413, 0, 413, 414, 413, 0, 414, 413,
vlmfa67ddc2004-06-03 03:38:44 +00001560
vlmc94e28f2004-09-15 11:59:51 +00001561 414, 413, 414, 415, 415, 419, 0, 414, 0, 419,
1562 0, 0, 0, 0, 415, 419, 415, 419, 415, 419,
1563 420, 0, 0, 415, 419, 0, 421, 420, 421, 0,
1564 420, 0, 420, 0, 420, 0, 421, 422, 421, 420,
1565 421, 0, 0, 423, 0, 421, 423, 422, 0, 422,
1566 0, 422, 0, 423, 422, 423, 422, 423, 424, 424,
1567 0, 0, 423, 0, 425, 425, 0, 0, 424, 0,
1568 424, 0, 424, 0, 425, 426, 425, 424, 425, 0,
1569 0, 0, 0, 425, 0, 426, 0, 426, 0, 426,
1570 427, 426, 0, 427, 426, 0, 428, 0, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001571
vlmc94e28f2004-09-15 11:59:51 +00001572 427, 0, 427, 0, 427, 0, 428, 429, 428, 427,
1573 428, 0, 0, 428, 429, 428, 0, 429, 431, 429,
1574 0, 429, 0, 432, 432, 0, 429, 0, 431, 0,
1575 431, 0, 431, 0, 432, 434, 432, 431, 432, 0,
1576 0, 435, 0, 432, 0, 434, 0, 434, 0, 434,
1577 0, 435, 436, 435, 434, 435, 0, 0, 0, 0,
1578 435, 0, 436, 0, 436, 437, 436, 0, 437, 0,
1579 436, 436, 0, 439, 0, 437, 0, 437, 0, 437,
1580 0, 0, 0, 439, 437, 439, 0, 439, 440, 440,
1581 0, 441, 439, 439, 442, 0, 0, 0, 440, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001582
vlmc94e28f2004-09-15 11:59:51 +00001583 440, 441, 440, 441, 442, 441, 442, 440, 442, 444,
1584 441, 444, 446, 442, 0, 447, 0, 0, 0, 444,
1585 0, 444, 446, 444, 446, 447, 446, 447, 444, 447,
1586 457, 446, 447, 0, 447, 0, 0, 0, 0, 0,
1587 457, 0, 457, 458, 457, 0, 460, 0, 457, 457,
1588 458, 0, 0, 458, 0, 458, 460, 458, 460, 0,
1589 460, 461, 458, 0, 461, 460, 0, 462, 0, 0,
1590 0, 461, 0, 461, 0, 461, 0, 462, 463, 462,
1591 461, 462, 0, 0, 464, 0, 462, 0, 463, 0,
1592 463, 464, 463, 0, 464, 465, 464, 463, 464, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001593
vlmc94e28f2004-09-15 11:59:51 +00001594 0, 466, 0, 464, 0, 465, 0, 465, 0, 465,
1595 0, 466, 467, 466, 465, 466, 0, 0, 0, 467,
1596 466, 0, 467, 468, 467, 468, 467, 0, 0, 469,
1597 0, 467, 0, 468, 0, 468, 0, 468, 0, 469,
1598 470, 469, 468, 469, 0, 470, 471, 0, 469, 0,
1599 470, 0, 470, 0, 470, 0, 471, 472, 471, 470,
1600 471, 0, 0, 0, 471, 471, 0, 472, 473, 472,
1601 0, 472, 0, 0, 474, 472, 472, 0, 473, 0,
1602 473, 0, 473, 0, 474, 475, 474, 473, 474, 0,
1603 0, 479, 0, 474, 0, 475, 0, 475, 479, 475,
vlmfa67ddc2004-06-03 03:38:44 +00001604
vlmc94e28f2004-09-15 11:59:51 +00001605 0, 479, 480, 479, 475, 479, 0, 0, 0, 0,
1606 479, 0, 480, 481, 480, 0, 480, 0, 0, 482,
1607 480, 480, 0, 481, 0, 481, 0, 481, 0, 482,
1608 483, 482, 481, 482, 0, 0, 484, 0, 482, 484,
1609 483, 0, 483, 0, 483, 0, 484, 483, 484, 483,
1610 484, 485, 486, 0, 0, 484, 0, 0, 0, 0,
1611 0, 485, 486, 485, 486, 485, 486, 487, 487, 485,
1612 485, 486, 0, 488, 0, 0, 0, 487, 0, 487,
1613 0, 487, 0, 488, 489, 488, 487, 488, 0, 0,
1614 491, 0, 488, 0, 489, 0, 489, 0, 489, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001615
vlmc94e28f2004-09-15 11:59:51 +00001616 491, 493, 491, 489, 491, 0, 0, 0, 0, 491,
1617 0, 493, 494, 493, 0, 493, 494, 0, 488, 0,
1618 493, 0, 494, 495, 494, 0, 494, 0, 0, 496,
1619 0, 494, 0, 495, 0, 495, 0, 495, 0, 496,
1620 0, 496, 495, 496, 498, 0, 0, 498, 496, 0,
1621 499, 0, 0, 499, 498, 0, 498, 0, 498, 0,
1622 499, 0, 499, 498, 499, 501, 0, 0, 501, 499,
1623 503, 503, 0, 0, 0, 501, 0, 501, 0, 501,
1624 0, 503, 513, 503, 501, 503, 0, 0, 0, 513,
1625 503, 0, 513, 0, 513, 0, 513, 514, 514, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001626
vlmc94e28f2004-09-15 11:59:51 +00001627 0, 513, 0, 516, 0, 0, 0, 514, 0, 514,
1628 0, 514, 0, 516, 517, 516, 514, 516, 0, 516,
1629 0, 0, 516, 0, 517, 0, 517, 518, 517, 0,
1630 518, 0, 517, 517, 0, 519, 0, 518, 520, 518,
1631 0, 518, 0, 0, 522, 519, 518, 519, 520, 519,
1632 520, 520, 520, 521, 519, 0, 524, 520, 0, 522,
1633 0, 0, 0, 521, 0, 521, 524, 521, 524, 522,
1634 524, 522, 521, 522, 523, 524, 0, 523, 522, 0,
1635 525, 0, 0, 0, 523, 0, 523, 525, 523, 0,
1636 525, 526, 525, 523, 525, 0, 0, 531, 0, 525,
vlmfa67ddc2004-06-03 03:38:44 +00001637
vlmc94e28f2004-09-15 11:59:51 +00001638 531, 526, 0, 526, 0, 526, 0, 531, 532, 531,
1639 526, 531, 0, 0, 533, 0, 531, 0, 532, 0,
1640 532, 0, 532, 0, 533, 534, 533, 532, 533, 0,
1641 0, 535, 0, 533, 0, 534, 0, 534, 535, 534,
1642 0, 535, 536, 535, 534, 535, 0, 0, 0, 0,
1643 535, 0, 536, 538, 536, 0, 536, 538, 0, 540,
1644 536, 536, 0, 538, 0, 538, 544, 538, 0, 540,
1645 542, 540, 538, 540, 0, 0, 0, 542, 540, 0,
1646 542, 544, 542, 0, 542, 0, 0, 545, 0, 542,
1647 0, 544, 0, 544, 0, 544, 0, 545, 547, 545,
vlmfa67ddc2004-06-03 03:38:44 +00001648
vlmc94e28f2004-09-15 11:59:51 +00001649 544, 545, 0, 0, 549, 0, 545, 0, 547, 0,
1650 547, 0, 547, 0, 549, 558, 549, 547, 549, 0,
1651 0, 559, 0, 549, 0, 558, 0, 558, 558, 558,
1652 0, 559, 561, 559, 558, 559, 0, 0, 562, 0,
1653 559, 0, 561, 0, 561, 0, 561, 0, 562, 0,
1654 562, 561, 562, 564, 563, 562, 563, 562, 564, 0,
1655 0, 0, 0, 564, 563, 564, 563, 564, 563, 565,
1656 566, 566, 564, 563, 0, 0, 0, 0, 0, 565,
1657 566, 565, 566, 565, 566, 567, 568, 567, 565, 566,
1658 0, 0, 0, 0, 0, 567, 568, 567, 568, 567,
vlmfa67ddc2004-06-03 03:38:44 +00001659
vlmc94e28f2004-09-15 11:59:51 +00001660 568, 573, 0, 0, 567, 568, 0, 0, 0, 574,
1661 0, 573, 0, 573, 0, 573, 0, 573, 0, 574,
1662 573, 574, 574, 574, 575, 577, 0, 0, 574, 0,
1663 0, 575, 577, 0, 575, 577, 575, 577, 575, 577,
1664 580, 0, 0, 575, 577, 0, 0, 0, 582, 0,
1665 580, 0, 580, 0, 580, 0, 584, 0, 582, 580,
1666 582, 582, 582, 0, 0, 0, 584, 582, 584, 586,
1667 584, 0, 0, 0, 584, 584, 0, 0, 0, 586,
1668 0, 586, 0, 586, 592, 592, 592, 0, 586, 0,
1669 0, 0, 0, 595, 596, 0, 592, 592, 592, 592,
vlmfa67ddc2004-06-03 03:38:44 +00001670
vlmc94e28f2004-09-15 11:59:51 +00001671 592, 592, 592, 595, 596, 595, 596, 595, 596, 597,
1672 598, 0, 595, 596, 0, 0, 0, 0, 0, 597,
1673 598, 597, 598, 597, 598, 599, 0, 0, 597, 598,
1674 0, 0, 0, 600, 0, 599, 0, 599, 0, 599,
1675 0, 601, 599, 600, 599, 600, 600, 600, 0, 602,
1676 0, 601, 600, 601, 0, 601, 602, 606, 0, 602,
1677 601, 602, 0, 602, 0, 607, 0, 606, 602, 606,
1678 0, 606, 0, 608, 0, 607, 606, 607, 0, 607,
1679 0, 610, 0, 608, 607, 608, 608, 608, 0, 613,
1680 0, 610, 608, 610, 0, 610, 613, 615, 0, 613,
vlmfa67ddc2004-06-03 03:38:44 +00001681
vlmc94e28f2004-09-15 11:59:51 +00001682 610, 613, 0, 613, 615, 616, 0, 615, 613, 615,
1683 0, 615, 616, 0, 0, 616, 615, 616, 0, 616,
1684 0, 0, 626, 627, 616, 623, 623, 623, 623, 623,
1685 623, 623, 626, 627, 626, 627, 626, 627, 628, 0,
1686 0, 626, 627, 0, 0, 0, 629, 0, 628, 0,
1687 628, 0, 628, 0, 0, 0, 629, 628, 629, 633,
1688 629, 0, 0, 623, 629, 629, 0, 634, 0, 633,
1689 0, 633, 0, 633, 0, 636, 633, 634, 633, 634,
1690 0, 634, 636, 639, 0, 636, 634, 636, 0, 636,
1691 0, 0, 0, 639, 636, 639, 641, 639, 641, 642,
vlmfa67ddc2004-06-03 03:38:44 +00001692
vlmc94e28f2004-09-15 11:59:51 +00001693 0, 639, 639, 642, 0, 0, 641, 0, 641, 642,
1694 641, 642, 0, 642, 0, 641, 0, 0, 642, 649,
1695 649, 649, 0, 0, 0, 0, 0, 0, 651, 652,
1696 0, 649, 649, 649, 649, 649, 649, 649, 651, 652,
1697 651, 652, 651, 652, 656, 657, 651, 651, 652, 0,
1698 0, 0, 652, 0, 656, 657, 656, 657, 656, 657,
1699 659, 662, 0, 656, 657, 0, 0, 0, 0, 0,
1700 659, 662, 659, 662, 659, 662, 664, 0, 659, 659,
1701 662, 0, 665, 0, 662, 0, 664, 0, 664, 665,
1702 664, 0, 665, 672, 665, 664, 665, 0, 0, 0,
vlmfa67ddc2004-06-03 03:38:44 +00001703
vlmc94e28f2004-09-15 11:59:51 +00001704 0, 665, 0, 672, 673, 672, 0, 672, 0, 672,
1705 677, 0, 672, 0, 673, 0, 673, 0, 673, 0,
1706 677, 0, 677, 673, 677, 680, 0, 0, 682, 677,
1707 0, 682, 0, 677, 0, 680, 0, 680, 682, 680,
1708 682, 0, 682, 0, 680, 0, 0, 682, 687, 687,
1709 687, 0, 0, 0, 0, 0, 0, 689, 0, 0,
1710 687, 687, 687, 687, 687, 687, 687, 689, 691, 689,
1711 689, 689, 0, 0, 694, 0, 689, 0, 691, 0,
1712 691, 0, 691, 0, 694, 698, 694, 691, 694, 0,
1713 694, 702, 0, 694, 0, 698, 0, 698, 0, 698,
vlmfa67ddc2004-06-03 03:38:44 +00001714
vlmc94e28f2004-09-15 11:59:51 +00001715 0, 702, 705, 702, 698, 702, 0, 0, 0, 0,
1716 702, 0, 705, 0, 705, 0, 705, 0, 0, 0,
1717 0, 705, 709, 709, 709, 709, 709, 709, 709, 709,
1718 709, 709, 709, 709, 710, 710, 710, 710, 710, 710,
1719 710, 710, 710, 710, 710, 710, 711, 711, 711, 711,
1720 711, 711, 711, 711, 711, 711, 711, 711, 712, 712,
1721 712, 712, 712, 712, 712, 712, 712, 712, 712, 712,
1722 713, 713, 713, 713, 713, 713, 713, 713, 713, 713,
1723 713, 713, 714, 714, 714, 714, 714, 714, 714, 714,
1724 714, 714, 714, 714, 715, 715, 715, 0, 715, 715,
vlm9283dbe2004-08-18 04:59:12 +00001725
vlmc94e28f2004-09-15 11:59:51 +00001726 715, 715, 715, 715, 715, 715, 716, 716, 0, 0,
1727 716, 0, 716, 717, 0, 717, 718, 718, 0, 718,
1728 718, 719, 719, 0, 719, 719, 719, 0, 719, 719,
1729 719, 719, 719, 720, 720, 720, 0, 720, 720, 720,
1730 720, 720, 720, 720, 720, 721, 721, 721, 721, 721,
1731 721, 721, 721, 0, 721, 721, 722, 0, 0, 722,
1732 722, 722, 722, 722, 722, 722, 722, 723, 0, 0,
1733 723, 723, 723, 723, 723, 723, 723, 723, 724, 0,
1734 0, 724, 0, 724, 724, 724, 724, 724, 724, 725,
1735 725, 0, 725, 725, 726, 726, 0, 726, 726, 727,
vlm9283dbe2004-08-18 04:59:12 +00001736
vlmc94e28f2004-09-15 11:59:51 +00001737 727, 0, 727, 727, 708, 708, 708, 708, 708, 708,
1738 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1739 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1740 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1741 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1742 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1743 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1744 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
1745 708, 708, 708
vlmfa67ddc2004-06-03 03:38:44 +00001746 } ;
1747
1748extern int yy_flex_debug;
1749int yy_flex_debug = 1;
1750
vlmc94e28f2004-09-15 11:59:51 +00001751static yyconst short int yy_rule_linenum[131] =
vlmfa67ddc2004-06-03 03:38:44 +00001752 { 0,
vlm9283dbe2004-08-18 04:59:12 +00001753 103, 106, 108, 109, 110, 113, 115, 116, 117, 129,
1754 136, 143, 149, 158, 166, 174, 175, 177, 196, 202,
1755 203, 204, 205, 206, 209, 215, 222, 229, 236, 246,
vlmc94e28f2004-09-15 11:59:51 +00001756 280, 287, 291, 292, 300, 301, 302, 303, 304, 309,
1757 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
1758 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
1759 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
1760 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
1761 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
1762 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
vlmfa67ddc2004-06-03 03:38:44 +00001763
vlmc94e28f2004-09-15 11:59:51 +00001764 378, 379, 380, 381, 382, 383, 384, 385, 386, 391,
1765 392, 397, 398, 399, 402, 408, 415, 424, 435, 441,
1766 443, 444, 446, 448, 450, 463, 469, 475, 482, 484
vlmfa67ddc2004-06-03 03:38:44 +00001767 } ;
1768
1769static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1770static char *yy_full_match;
1771static int yy_lp;
1772#define REJECT \
1773{ \
1774*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
1775yy_cp = yy_full_match; /* restore poss. backed-over text */ \
1776++yy_lp; \
1777goto find_rule; \
1778}
1779#define yymore() yymore_used_but_not_detected
1780#define YY_MORE_ADJ 0
1781#define YY_RESTORE_YY_MORE_OFFSET
1782char *yytext;
1783#line 1 "asn1p_l.l"
1784#define INITIAL 0
1785#line 2 "asn1p_l.l"
1786
1787#include <string.h>
1788#include <errno.h>
1789#include <assert.h>
1790
1791#include "asn1parser.h"
1792#include "asn1p_y.h"
1793
1794int asn1p_lex(void);
1795void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
1796void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
vlm9283dbe2004-08-18 04:59:12 +00001797void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
vlmfa67ddc2004-06-03 03:38:44 +00001798
1799#define YY_FATAL_ERROR(msg) do { \
1800 fprintf(stderr, \
1801 "lexer error at line %d, " \
1802 "text \"%s\"\n", \
1803 yylineno, yytext); \
1804 exit(1); \
1805 } while(0)
1806
1807int asn1p_lexer_pedantic_1990 = 0;
1808int asn1p_lexer_types_year = 0;
1809int asn1p_lexer_constructs_year = 0;
1810static int _check_dashes(char *ptr);
vlmec6acd42004-09-29 13:18:09 +00001811static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */
vlmfa67ddc2004-06-03 03:38:44 +00001812
1813/*
1814 * Check that the type is defined in the year of the standard choosen.
1815 */
1816#define TYPE_LIFETIME(fyr, lyr) \
1817 (!asn1p_lexer_types_year \
1818 || (fyr && fyr <= asn1p_lexer_types_year) \
1819 || (lyr && lyr > asn1p_lexer_types_year))
1820
1821/*
1822 * Check the the construction (or concept, i.e. CLASS) is defined in
1823 * a given year.
1824 */
1825#define CONSTRUCT_LIFETIME(fyr, lyr) \
1826 (!asn1p_lexer_constructs_year \
1827 || (fyr && fyr <= asn1p_lexer_constructs_year) \
1828 || (lyr && lyr > asn1p_lexer_constructs_year))
1829
1830/*
1831 * Make sure that the label is compliant with the naming rules.
1832 */
1833#define CHECK_DASHES do { \
1834 if(_check_dashes(yytext)) { \
1835 fprintf(stderr, \
1836 "%s: Identifier format invalid: " \
1837 "Improper dash location\n", yytext); \
1838 return -1; \
1839 } } while(0)
1840
1841/*
1842 * Append quoted string.
1843 */
1844#define QAPPEND(text, tlen) do { \
1845 char *prev_text = asn1p_lval.tv_opaque.buf; \
1846 int prev_len = asn1p_lval.tv_opaque.len; \
1847 char *p; \
1848 \
1849 p = malloc((tlen) + prev_len + 1); \
1850 if(p == NULL) return -1; \
1851 \
1852 if(prev_text) memcpy(p, prev_text, prev_len); \
1853 memcpy(p + prev_len, text, tlen); \
1854 p[prev_len + (tlen)] = '\0'; \
1855 \
1856 free(asn1p_lval.tv_opaque.buf); \
1857 asn1p_lval.tv_opaque.buf = p; \
1858 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
1859 } while(0)
1860
1861#define YY_NEVER_INTERACTIVE 1
1862#define YY_NO_INPUT 1
vlmfa67ddc2004-06-03 03:38:44 +00001863#define YY_STACK_USED 1
1864/* Performance penalty is OK */
1865/* Controlled from within application */
1866#define dash_comment 1
1867
1868#define cpp_comment 2
1869
1870#define quoted 3
1871
1872#define opaque 4
1873
vlm9283dbe2004-08-18 04:59:12 +00001874#define encoding_control 5
1875
1876#define with_syntax 6
vlmfa67ddc2004-06-03 03:38:44 +00001877
1878/* Newline */
1879/* White-space */
vlmc94e28f2004-09-15 11:59:51 +00001880#line 1881 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00001881
1882/* Macros after this point can all be overridden by user definitions in
1883 * section 1.
1884 */
1885
1886#ifndef YY_SKIP_YYWRAP
1887#ifdef __cplusplus
1888extern "C" int yywrap YY_PROTO(( void ));
1889#else
1890extern int yywrap YY_PROTO(( void ));
1891#endif
1892#endif
1893
1894#ifndef YY_NO_UNPUT
1895static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1896#endif
1897
1898#ifndef yytext_ptr
1899static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1900#endif
1901
1902#ifdef YY_NEED_STRLEN
1903static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1904#endif
1905
1906#ifndef YY_NO_INPUT
1907#ifdef __cplusplus
1908static int yyinput YY_PROTO(( void ));
1909#else
1910static int input YY_PROTO(( void ));
1911#endif
1912#endif
1913
1914#if YY_STACK_USED
1915static int yy_start_stack_ptr = 0;
1916static int yy_start_stack_depth = 0;
1917static int *yy_start_stack = 0;
1918#ifndef YY_NO_PUSH_STATE
1919static void yy_push_state YY_PROTO(( int new_state ));
1920#endif
1921#ifndef YY_NO_POP_STATE
1922static void yy_pop_state YY_PROTO(( void ));
1923#endif
1924#ifndef YY_NO_TOP_STATE
1925static int yy_top_state YY_PROTO(( void ));
1926#endif
1927
1928#else
1929#define YY_NO_PUSH_STATE 1
1930#define YY_NO_POP_STATE 1
1931#define YY_NO_TOP_STATE 1
1932#endif
1933
1934#ifdef YY_MALLOC_DECL
1935YY_MALLOC_DECL
1936#else
1937#if __STDC__
1938#ifndef __cplusplus
1939#include <stdlib.h>
1940#endif
1941#else
1942/* Just try to get by without declaring the routines. This will fail
1943 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1944 * or sizeof(void*) != sizeof(int).
1945 */
1946#endif
1947#endif
1948
1949/* Amount of stuff to slurp up with each read. */
1950#ifndef YY_READ_BUF_SIZE
1951#define YY_READ_BUF_SIZE 8192
1952#endif
1953
1954/* Copy whatever the last rule matched to the standard output. */
1955
1956#ifndef ECHO
1957/* This used to be an fputs(), but since the string might contain NUL's,
1958 * we now use fwrite().
1959 */
1960#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1961#endif
1962
1963/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1964 * is returned in "result".
1965 */
1966#ifndef YY_INPUT
1967#define YY_INPUT(buf,result,max_size) \
1968 if ( yy_current_buffer->yy_is_interactive ) \
1969 { \
1970 int c = '*', n; \
1971 for ( n = 0; n < max_size && \
1972 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1973 buf[n] = (char) c; \
1974 if ( c == '\n' ) \
1975 buf[n++] = (char) c; \
1976 if ( c == EOF && ferror( yyin ) ) \
1977 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1978 result = n; \
1979 } \
1980 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1981 && ferror( yyin ) ) \
1982 YY_FATAL_ERROR( "input in flex scanner failed" );
1983#endif
1984
1985/* No semi-colon after return; correct usage is to write "yyterminate();" -
1986 * we don't want an extra ';' after the "return" because that will cause
1987 * some compilers to complain about unreachable statements.
1988 */
1989#ifndef yyterminate
1990#define yyterminate() return YY_NULL
1991#endif
1992
1993/* Number of entries by which start-condition stack grows. */
1994#ifndef YY_START_STACK_INCR
1995#define YY_START_STACK_INCR 25
1996#endif
1997
1998/* Report a fatal error. */
1999#ifndef YY_FATAL_ERROR
2000#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2001#endif
2002
2003/* Default declaration of generated scanner - a define so the user can
2004 * easily add parameters.
2005 */
2006#ifndef YY_DECL
2007#define YY_DECL int yylex YY_PROTO(( void ))
2008#endif
2009
2010/* Code executed at the beginning of each rule, after yytext and yyleng
2011 * have been set up.
2012 */
2013#ifndef YY_USER_ACTION
2014#define YY_USER_ACTION
2015#endif
2016
2017/* Code executed at the end of each rule. */
2018#ifndef YY_BREAK
2019#define YY_BREAK break;
2020#endif
2021
2022#define YY_RULE_SETUP \
2023 YY_USER_ACTION
2024
2025YY_DECL
2026 {
2027 register yy_state_type yy_current_state;
2028 register char *yy_cp, *yy_bp;
2029 register int yy_act;
2030
vlm9283dbe2004-08-18 04:59:12 +00002031#line 101 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002032
2033
vlmc94e28f2004-09-15 11:59:51 +00002034#line 2035 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00002035
2036 if ( yy_init )
2037 {
2038 yy_init = 0;
2039
2040#ifdef YY_USER_INIT
2041 YY_USER_INIT;
2042#endif
2043
2044 if ( ! yy_start )
2045 yy_start = 1; /* first start state */
2046
2047 if ( ! yyin )
2048 yyin = stdin;
2049
2050 if ( ! yyout )
2051 yyout = stdout;
2052
2053 if ( ! yy_current_buffer )
2054 yy_current_buffer =
2055 yy_create_buffer( yyin, YY_BUF_SIZE );
2056
2057 yy_load_buffer_state();
2058 }
2059
2060 while ( 1 ) /* loops until end-of-file is reached */
2061 {
2062 yy_cp = yy_c_buf_p;
2063
2064 /* Support of yytext. */
2065 *yy_cp = yy_hold_char;
2066
2067 /* yy_bp points to the position in yy_ch_buf of the start of
2068 * the current run.
2069 */
2070 yy_bp = yy_cp;
2071
2072 yy_current_state = yy_start;
2073 yy_state_ptr = yy_state_buf;
2074 *yy_state_ptr++ = yy_current_state;
2075yy_match:
2076 do
2077 {
2078 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2079 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2080 {
2081 yy_current_state = (int) yy_def[yy_current_state];
vlmc94e28f2004-09-15 11:59:51 +00002082 if ( yy_current_state >= 709 )
vlmfa67ddc2004-06-03 03:38:44 +00002083 yy_c = yy_meta[(unsigned int) yy_c];
2084 }
2085 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2086 *yy_state_ptr++ = yy_current_state;
2087 ++yy_cp;
2088 }
vlmc94e28f2004-09-15 11:59:51 +00002089 while ( yy_base[yy_current_state] != 4405 );
vlmfa67ddc2004-06-03 03:38:44 +00002090
2091yy_find_action:
2092 yy_current_state = *--yy_state_ptr;
2093 yy_lp = yy_accept[yy_current_state];
2094find_rule: /* we branch to this label when backing up */
2095 for ( ; ; ) /* until we find what rule we matched */
2096 {
2097 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
2098 {
2099 yy_act = yy_acclist[yy_lp];
2100 {
2101 yy_full_match = yy_cp;
2102 break;
2103 }
2104 }
2105 --yy_cp;
2106 yy_current_state = *--yy_state_ptr;
2107 yy_lp = yy_accept[yy_current_state];
2108 }
2109
2110 YY_DO_BEFORE_ACTION;
2111
2112 if ( yy_act != YY_END_OF_BUFFER )
2113 {
2114 int yyl;
2115 for ( yyl = 0; yyl < yyleng; ++yyl )
2116 if ( yytext[yyl] == '\n' )
2117 ++yylineno;
2118 }
2119
2120do_action: /* This label is used only to access EOF actions. */
2121
2122 if ( yy_flex_debug )
2123 {
2124 if ( yy_act == 0 )
2125 fprintf( stderr, "--scanner backing up\n" );
vlmc94e28f2004-09-15 11:59:51 +00002126 else if ( yy_act < 131 )
vlmfa67ddc2004-06-03 03:38:44 +00002127 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2128 yy_rule_linenum[yy_act], yytext );
vlmc94e28f2004-09-15 11:59:51 +00002129 else if ( yy_act == 131 )
vlmfa67ddc2004-06-03 03:38:44 +00002130 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2131 yytext );
vlmc94e28f2004-09-15 11:59:51 +00002132 else if ( yy_act == 132 )
vlmfa67ddc2004-06-03 03:38:44 +00002133 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2134 else
2135 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2136 }
2137
2138 switch ( yy_act )
2139 { /* beginning of action switch */
2140case 1:
2141YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002142#line 103 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002143yy_push_state(dash_comment);
2144 YY_BREAK
2145
2146case 2:
2147YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002148#line 106 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002149yy_pop_state();
2150 YY_BREAK
2151case 3:
2152YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002153#line 108 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002154yy_pop_state(); /* End of comment */
2155 YY_BREAK
2156case 4:
2157YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002158#line 109 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002159/* Eat single dash */
2160 YY_BREAK
2161case 5:
2162YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002163#line 110 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002164/* Eat */
2165 YY_BREAK
2166
2167case 6:
2168YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002169#line 113 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002170yy_push_state(cpp_comment);
2171 YY_BREAK
2172
2173case 7:
2174YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002175#line 115 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002176/* Eat */
2177 YY_BREAK
2178case 8:
2179YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002180#line 116 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002181yy_pop_state();
2182 YY_BREAK
2183case 9:
2184YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002185#line 117 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002186/* Eat */
2187 YY_BREAK
2188
2189/*
2190 * This is state is being set from corresponding .y module when
2191 * higher-level data is necessary to make proper parsing of the
2192 * underlying data. Thus, we enter the <opaque> state and save
2193 * everything for later processing.
2194 */
2195
2196case 10:
2197YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002198#line 129 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002199{
2200 yy_push_state(opaque);
2201 asn1p_lval.tv_opaque.buf = strdup(yytext);
2202 asn1p_lval.tv_opaque.len = yyleng;
2203 return TOK_opaque;
2204 }
2205 YY_BREAK
2206case 11:
2207YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002208#line 136 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002209{
2210 yy_pop_state();
2211 asn1p_lval.tv_opaque.buf = strdup(yytext);
2212 asn1p_lval.tv_opaque.len = yyleng;
2213 return TOK_opaque;
2214 }
2215 YY_BREAK
2216case 12:
2217YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002218#line 143 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002219{
2220 asn1p_lval.tv_opaque.buf = strdup(yytext);
2221 asn1p_lval.tv_opaque.len = yyleng;
2222 return TOK_opaque;
2223 }
2224 YY_BREAK
2225case 13:
2226YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002227#line 149 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002228{
2229 fprintf(stderr,
2230 "ASN.1 Parser syncronization failure: "
2231 "\"%s\" at line %d must not appear "
2232 "inside value definition\n",
2233 yytext, yylineno);
2234 return -1;
2235 }
2236 YY_BREAK
2237case 14:
2238YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002239#line 158 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002240{
2241 asn1p_lval.tv_opaque.buf = strdup(yytext);
2242 asn1p_lval.tv_opaque.len = yyleng;
2243 return TOK_opaque;
2244 }
2245 YY_BREAK
2246
2247case 15:
2248YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002249#line 166 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002250{
2251 asn1p_lval.tv_opaque.buf = 0;
2252 asn1p_lval.tv_opaque.len = 0;
2253 QAPPEND(yytext+1, yyleng-1);
2254 yy_push_state(quoted);
2255 }
2256 YY_BREAK
2257
2258case 16:
2259YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002260#line 174 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002261{ QAPPEND(yytext, yyleng-1); } /* Add a single quote */
2262 YY_BREAK
2263case 17:
2264YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002265#line 175 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002266{ QAPPEND(yytext, yyleng); }
2267 YY_BREAK
2268case 18:
2269YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002270#line 177 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002271{
2272 yy_pop_state();
2273 /* Do not append last quote:
2274 // QAPPEND(yytext, yyleng); */
2275
2276 if(asn1p_lexer_pedantic_1990
2277 && strchr(yytext, '\n')) {
2278 fprintf(stderr, "%s: "
2279 "Newlines are prohibited by ASN.1:1990\n",
2280 asn1p_lval.tv_opaque.buf);
2281 return -1;
2282 }
2283
2284 return TOK_cstring;
2285 }
2286 YY_BREAK
2287
vlm9283dbe2004-08-18 04:59:12 +00002288
vlmfa67ddc2004-06-03 03:38:44 +00002289case 19:
2290YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002291#line 196 "asn1p_l.l"
2292{
2293 const char *s = "ENCODING-CONTROL";
2294 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2295 for(; p >= s; p--) unput(*p);
2296 yy_pop_state();
2297 }
2298 YY_BREAK
2299case 20:
2300YY_RULE_SETUP
2301#line 202 "asn1p_l.l"
2302unput('D'); unput('N'); unput('E'); yy_pop_state();
2303 YY_BREAK
2304case 21:
2305YY_RULE_SETUP
2306#line 203 "asn1p_l.l"
2307
2308 YY_BREAK
2309case 22:
2310YY_RULE_SETUP
2311#line 204 "asn1p_l.l"
2312
2313 YY_BREAK
2314case 23:
2315YY_RULE_SETUP
2316#line 205 "asn1p_l.l"
2317/* Eat everything else */
2318 YY_BREAK
2319case 24:
2320YY_RULE_SETUP
2321#line 206 "asn1p_l.l"
2322
2323 YY_BREAK
2324
2325case 25:
2326YY_RULE_SETUP
2327#line 209 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002328{
2329 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2330 asn1p_lval.tv_str = yytext;
2331 return TOK_hstring;
2332 }
2333 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002334case 26:
vlmfa67ddc2004-06-03 03:38:44 +00002335YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002336#line 215 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002337{
2338 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2339 asn1p_lval.tv_str = strdup(yytext);
2340 return TOK_bstring;
2341 }
2342 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002343case 27:
vlmfa67ddc2004-06-03 03:38:44 +00002344YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002345#line 222 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002346{
2347 asn1p_lval.a_int = asn1p_atoi(yytext);
2348 if(errno == ERANGE)
2349 return -1;
2350 return TOK_number_negative;
2351 }
2352 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002353case 28:
vlmfa67ddc2004-06-03 03:38:44 +00002354YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002355#line 229 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002356{
2357 asn1p_lval.a_int = asn1p_atoi(yytext);
2358 if(errno == ERANGE)
2359 return -1;
2360 return TOK_number;
2361 }
2362 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002363case 29:
vlmfa67ddc2004-06-03 03:38:44 +00002364YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002365#line 236 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002366{
2367 asn1p_lval.a_int = asn1p_atoi(yytext);
2368 if(errno == ERANGE)
2369 return -1;
2370 return TOK_number;
2371 }
2372 YY_BREAK
2373/*
2374 * Tags
2375 */
vlm9283dbe2004-08-18 04:59:12 +00002376case 30:
vlmfa67ddc2004-06-03 03:38:44 +00002377YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002378#line 246 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002379{
2380 char *p;
2381 memset(&asn1p_lval.a_tag, 0, sizeof(asn1p_lval.a_tag));
2382 switch(yytext[1]) {
2383 case 'U':
2384 asn1p_lval.a_tag.tag_class = TC_UNIVERSAL;
2385 p = yytext + sizeof("UNIVERSAL") + 1;
2386 break;
2387 case 'A':
2388 asn1p_lval.a_tag.tag_class = TC_APPLICATION;
2389 p = yytext + sizeof("APPLICATION") + 1;
2390 break;
2391 case 'P':
2392 asn1p_lval.a_tag.tag_class = TC_PRIVATE;
2393 p = yytext + sizeof("PRIVATE") + 1;
2394 break;
2395 default:
2396 assert(yytext[1] >= '0' && yytext[1] <= '9');
2397 asn1p_lval.a_tag.tag_class = TC_CONTEXT_SPECIFIC;
2398 p = yytext + 1;
2399 break;
2400 }
2401 asn1p_lval.a_tag.tag_value = asn1p_atoi(p);
2402 if(*p == '0' && asn1p_lval.a_tag.tag_value) {
2403 fprintf(stderr,
2404 "Tag value at line %d "
2405 "cannot start with zero "
2406 "and have multiple digits: \"%s\"\n",
2407 yylineno, yytext);
2408 return -1;
2409 }
2410 return TOK_tag;
2411 }
2412 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002413case 31:
vlmfa67ddc2004-06-03 03:38:44 +00002414YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002415#line 280 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002416{
2417 fprintf(stderr,
2418 "Unsupported tag syntax at line %d: \"%s\"\n",
2419 yylineno, yytext);
2420 return -1;
2421 }
2422 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002423case 32:
vlmfa67ddc2004-06-03 03:38:44 +00002424YY_RULE_SETUP
vlm9283dbe2004-08-18 04:59:12 +00002425#line 287 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002426return TOK_ABSENT;
2427 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002428/*
2429ABSTRACT-SYNTAX return TOK_ABSTRACT_SYNTAX;
2430 */
vlm9283dbe2004-08-18 04:59:12 +00002431case 33:
vlmfa67ddc2004-06-03 03:38:44 +00002432YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002433#line 291 "asn1p_l.l"
2434return TOK_ALL;
vlmfa67ddc2004-06-03 03:38:44 +00002435 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002436case 34:
vlmfa67ddc2004-06-03 03:38:44 +00002437YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002438#line 292 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002439{
2440 /* Appeared in 1990, removed in 1997 */
2441 if(TYPE_LIFETIME(1990, 1997))
2442 return TOK_ANY;
2443 fprintf(stderr, "Keyword \"%s\" at line %d "
2444 "is obsolete\n", yytext, yylineno);
2445 REJECT;
2446 }
2447 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002448case 35:
2449YY_RULE_SETUP
2450#line 300 "asn1p_l.l"
2451return TOK_APPLICATION;
2452 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002453case 36:
vlmfa67ddc2004-06-03 03:38:44 +00002454YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002455#line 301 "asn1p_l.l"
2456return TOK_AUTOMATIC;
vlmfa67ddc2004-06-03 03:38:44 +00002457 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002458case 37:
vlmfa67ddc2004-06-03 03:38:44 +00002459YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002460#line 302 "asn1p_l.l"
2461return TOK_BEGIN;
vlmfa67ddc2004-06-03 03:38:44 +00002462 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002463case 38:
vlmfa67ddc2004-06-03 03:38:44 +00002464YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002465#line 303 "asn1p_l.l"
2466return TOK_BIT;
vlmfa67ddc2004-06-03 03:38:44 +00002467 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002468case 39:
vlmfa67ddc2004-06-03 03:38:44 +00002469YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002470#line 304 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002471{
2472 if(TYPE_LIFETIME(1994, 0))
2473 return TOK_BMPString;
2474 REJECT;
2475 }
2476 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002477case 40:
2478YY_RULE_SETUP
2479#line 309 "asn1p_l.l"
2480return TOK_BOOLEAN;
2481 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002482case 41:
2483YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002484#line 310 "asn1p_l.l"
2485return TOK_BY;
vlmfa67ddc2004-06-03 03:38:44 +00002486 YY_BREAK
2487case 42:
2488YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002489#line 311 "asn1p_l.l"
2490return TOK_CHARACTER;
vlmfa67ddc2004-06-03 03:38:44 +00002491 YY_BREAK
2492case 43:
2493YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002494#line 312 "asn1p_l.l"
2495return TOK_CHOICE;
vlmfa67ddc2004-06-03 03:38:44 +00002496 YY_BREAK
2497case 44:
2498YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002499#line 313 "asn1p_l.l"
2500return TOK_CLASS;
vlmfa67ddc2004-06-03 03:38:44 +00002501 YY_BREAK
2502case 45:
2503YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002504#line 314 "asn1p_l.l"
2505return TOK_COMPONENT;
vlm9283dbe2004-08-18 04:59:12 +00002506 YY_BREAK
2507case 46:
2508YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002509#line 315 "asn1p_l.l"
2510return TOK_COMPONENTS;
vlm9283dbe2004-08-18 04:59:12 +00002511 YY_BREAK
2512case 47:
2513YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002514#line 316 "asn1p_l.l"
2515return TOK_CONSTRAINED;
vlm9283dbe2004-08-18 04:59:12 +00002516 YY_BREAK
2517case 48:
2518YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002519#line 317 "asn1p_l.l"
2520return TOK_CONTAINING;
vlm9283dbe2004-08-18 04:59:12 +00002521 YY_BREAK
2522case 49:
2523YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002524#line 318 "asn1p_l.l"
2525return TOK_DEFAULT;
vlm9283dbe2004-08-18 04:59:12 +00002526 YY_BREAK
2527case 50:
2528YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002529#line 319 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002530{
2531 /* Appeared in 1990, removed in 1997 */
2532 if(TYPE_LIFETIME(1990, 1997))
2533 return TOK_DEFINED;
2534 fprintf(stderr, "Keyword \"%s\" at line %d "
2535 "is obsolete\n", yytext, yylineno);
2536 /* Deprecated since */
2537 REJECT;
2538 }
2539 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002540case 51:
2541YY_RULE_SETUP
2542#line 328 "asn1p_l.l"
2543return TOK_DEFINITIONS;
2544 YY_BREAK
vlmfa67ddc2004-06-03 03:38:44 +00002545case 52:
2546YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002547#line 329 "asn1p_l.l"
2548return TOK_EMBEDDED;
vlmfa67ddc2004-06-03 03:38:44 +00002549 YY_BREAK
2550case 53:
2551YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002552#line 330 "asn1p_l.l"
2553return TOK_ENCODED;
vlmfa67ddc2004-06-03 03:38:44 +00002554 YY_BREAK
2555case 54:
2556YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002557#line 331 "asn1p_l.l"
2558return TOK_ENCODING_CONTROL;
vlmfa67ddc2004-06-03 03:38:44 +00002559 YY_BREAK
2560case 55:
2561YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002562#line 332 "asn1p_l.l"
2563return TOK_END;
vlmfa67ddc2004-06-03 03:38:44 +00002564 YY_BREAK
2565case 56:
2566YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002567#line 333 "asn1p_l.l"
2568return TOK_ENUMERATED;
vlmfa67ddc2004-06-03 03:38:44 +00002569 YY_BREAK
2570case 57:
2571YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002572#line 334 "asn1p_l.l"
2573return TOK_EXCEPT;
vlmfa67ddc2004-06-03 03:38:44 +00002574 YY_BREAK
2575case 58:
2576YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002577#line 335 "asn1p_l.l"
2578return TOK_EXPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002579 YY_BREAK
2580case 59:
2581YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002582#line 336 "asn1p_l.l"
2583return TOK_EXPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002584 YY_BREAK
2585case 60:
2586YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002587#line 337 "asn1p_l.l"
2588return TOK_EXTENSIBILITY;
vlmfa67ddc2004-06-03 03:38:44 +00002589 YY_BREAK
2590case 61:
2591YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002592#line 338 "asn1p_l.l"
2593return TOK_EXTERNAL;
vlmfa67ddc2004-06-03 03:38:44 +00002594 YY_BREAK
2595case 62:
2596YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002597#line 339 "asn1p_l.l"
2598return TOK_FALSE;
vlmfa67ddc2004-06-03 03:38:44 +00002599 YY_BREAK
2600case 63:
2601YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002602#line 340 "asn1p_l.l"
2603return TOK_FROM;
vlmfa67ddc2004-06-03 03:38:44 +00002604 YY_BREAK
2605case 64:
2606YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002607#line 341 "asn1p_l.l"
2608return TOK_GeneralizedTime;
vlmfa67ddc2004-06-03 03:38:44 +00002609 YY_BREAK
2610case 65:
2611YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002612#line 342 "asn1p_l.l"
2613return TOK_GeneralString;
vlmfa67ddc2004-06-03 03:38:44 +00002614 YY_BREAK
2615case 66:
2616YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002617#line 343 "asn1p_l.l"
2618return TOK_GraphicString;
vlmfa67ddc2004-06-03 03:38:44 +00002619 YY_BREAK
2620case 67:
2621YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002622#line 344 "asn1p_l.l"
2623return TOK_IA5String;
vlmfa67ddc2004-06-03 03:38:44 +00002624 YY_BREAK
2625case 68:
2626YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002627#line 345 "asn1p_l.l"
2628return TOK_IDENTIFIER;
vlmfa67ddc2004-06-03 03:38:44 +00002629 YY_BREAK
2630case 69:
2631YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002632#line 346 "asn1p_l.l"
2633return TOK_IMPLICIT;
vlmfa67ddc2004-06-03 03:38:44 +00002634 YY_BREAK
2635case 70:
2636YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002637#line 347 "asn1p_l.l"
2638return TOK_IMPLIED;
vlmfa67ddc2004-06-03 03:38:44 +00002639 YY_BREAK
2640case 71:
2641YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002642#line 348 "asn1p_l.l"
2643return TOK_IMPORTS;
vlmfa67ddc2004-06-03 03:38:44 +00002644 YY_BREAK
2645case 72:
2646YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002647#line 349 "asn1p_l.l"
2648return TOK_INCLUDES;
vlmfa67ddc2004-06-03 03:38:44 +00002649 YY_BREAK
2650case 73:
2651YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002652#line 350 "asn1p_l.l"
2653return TOK_INSTANCE;
vlmfa67ddc2004-06-03 03:38:44 +00002654 YY_BREAK
2655case 74:
2656YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002657#line 351 "asn1p_l.l"
2658return TOK_INSTRUCTIONS;
vlmfa67ddc2004-06-03 03:38:44 +00002659 YY_BREAK
2660case 75:
2661YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002662#line 352 "asn1p_l.l"
2663return TOK_INTEGER;
vlmfa67ddc2004-06-03 03:38:44 +00002664 YY_BREAK
2665case 76:
2666YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002667#line 353 "asn1p_l.l"
2668return TOK_INTERSECTION;
vlmfa67ddc2004-06-03 03:38:44 +00002669 YY_BREAK
2670case 77:
2671YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002672#line 354 "asn1p_l.l"
2673return TOK_ISO646String;
vlmfa67ddc2004-06-03 03:38:44 +00002674 YY_BREAK
2675case 78:
2676YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002677#line 355 "asn1p_l.l"
2678return TOK_MAX;
vlmfa67ddc2004-06-03 03:38:44 +00002679 YY_BREAK
2680case 79:
2681YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002682#line 356 "asn1p_l.l"
2683return TOK_MIN;
vlmfa67ddc2004-06-03 03:38:44 +00002684 YY_BREAK
2685case 80:
2686YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002687#line 357 "asn1p_l.l"
2688return TOK_MINUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002689 YY_BREAK
2690case 81:
2691YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002692#line 358 "asn1p_l.l"
2693return TOK_NULL;
vlmfa67ddc2004-06-03 03:38:44 +00002694 YY_BREAK
2695case 82:
2696YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002697#line 359 "asn1p_l.l"
2698return TOK_NumericString;
vlmfa67ddc2004-06-03 03:38:44 +00002699 YY_BREAK
2700case 83:
2701YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002702#line 360 "asn1p_l.l"
2703return TOK_OBJECT;
vlmfa67ddc2004-06-03 03:38:44 +00002704 YY_BREAK
2705case 84:
2706YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002707#line 361 "asn1p_l.l"
2708return TOK_ObjectDescriptor;
vlmfa67ddc2004-06-03 03:38:44 +00002709 YY_BREAK
2710case 85:
2711YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002712#line 362 "asn1p_l.l"
2713return TOK_OCTET;
vlmfa67ddc2004-06-03 03:38:44 +00002714 YY_BREAK
2715case 86:
2716YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002717#line 363 "asn1p_l.l"
2718return TOK_OF;
vlmfa67ddc2004-06-03 03:38:44 +00002719 YY_BREAK
2720case 87:
2721YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002722#line 364 "asn1p_l.l"
2723return TOK_OPTIONAL;
vlmfa67ddc2004-06-03 03:38:44 +00002724 YY_BREAK
2725case 88:
2726YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002727#line 365 "asn1p_l.l"
2728return TOK_PATTERN;
vlmfa67ddc2004-06-03 03:38:44 +00002729 YY_BREAK
2730case 89:
2731YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002732#line 366 "asn1p_l.l"
2733return TOK_PDV;
vlmfa67ddc2004-06-03 03:38:44 +00002734 YY_BREAK
2735case 90:
2736YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002737#line 367 "asn1p_l.l"
2738return TOK_PLUS_INFINITY;
vlmfa67ddc2004-06-03 03:38:44 +00002739 YY_BREAK
2740case 91:
2741YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002742#line 368 "asn1p_l.l"
2743return TOK_PRESENT;
vlmfa67ddc2004-06-03 03:38:44 +00002744 YY_BREAK
2745case 92:
2746YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002747#line 369 "asn1p_l.l"
2748return TOK_PrintableString;
vlmfa67ddc2004-06-03 03:38:44 +00002749 YY_BREAK
2750case 93:
2751YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002752#line 370 "asn1p_l.l"
2753return TOK_PRIVATE;
vlmfa67ddc2004-06-03 03:38:44 +00002754 YY_BREAK
2755case 94:
2756YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002757#line 371 "asn1p_l.l"
2758return TOK_REAL;
vlmfa67ddc2004-06-03 03:38:44 +00002759 YY_BREAK
2760case 95:
2761YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002762#line 372 "asn1p_l.l"
2763return TOK_RELATIVE_OID;
vlmfa67ddc2004-06-03 03:38:44 +00002764 YY_BREAK
2765case 96:
2766YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002767#line 373 "asn1p_l.l"
2768return TOK_SEQUENCE;
vlmfa67ddc2004-06-03 03:38:44 +00002769 YY_BREAK
2770case 97:
2771YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002772#line 374 "asn1p_l.l"
2773return TOK_SET;
vlmfa67ddc2004-06-03 03:38:44 +00002774 YY_BREAK
2775case 98:
2776YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002777#line 375 "asn1p_l.l"
2778return TOK_SIZE;
vlmfa67ddc2004-06-03 03:38:44 +00002779 YY_BREAK
2780case 99:
2781YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002782#line 376 "asn1p_l.l"
2783return TOK_STRING;
vlmfa67ddc2004-06-03 03:38:44 +00002784 YY_BREAK
2785case 100:
2786YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002787#line 377 "asn1p_l.l"
2788return TOK_SYNTAX;
vlmfa67ddc2004-06-03 03:38:44 +00002789 YY_BREAK
2790case 101:
2791YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002792#line 378 "asn1p_l.l"
2793return TOK_T61String;
vlmfa67ddc2004-06-03 03:38:44 +00002794 YY_BREAK
2795case 102:
2796YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002797#line 379 "asn1p_l.l"
2798return TOK_TAGS;
vlm9283dbe2004-08-18 04:59:12 +00002799 YY_BREAK
2800case 103:
2801YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002802#line 380 "asn1p_l.l"
2803return TOK_TeletexString;
vlm9283dbe2004-08-18 04:59:12 +00002804 YY_BREAK
2805case 104:
2806YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002807#line 381 "asn1p_l.l"
2808return TOK_TRUE;
vlm9283dbe2004-08-18 04:59:12 +00002809 YY_BREAK
2810case 105:
2811YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002812#line 382 "asn1p_l.l"
2813return TOK_TYPE_IDENTIFIER;
vlm9283dbe2004-08-18 04:59:12 +00002814 YY_BREAK
2815case 106:
2816YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002817#line 383 "asn1p_l.l"
2818return TOK_UNION;
vlm9283dbe2004-08-18 04:59:12 +00002819 YY_BREAK
2820case 107:
2821YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002822#line 384 "asn1p_l.l"
2823return TOK_UNIQUE;
vlm9283dbe2004-08-18 04:59:12 +00002824 YY_BREAK
2825case 108:
2826YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002827#line 385 "asn1p_l.l"
2828return TOK_UNIVERSAL;
vlm9283dbe2004-08-18 04:59:12 +00002829 YY_BREAK
2830case 109:
2831YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002832#line 386 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002833{
2834 if(TYPE_LIFETIME(1994, 0))
2835 return TOK_UniversalString;
2836 REJECT;
2837 }
2838 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002839case 110:
vlmfa67ddc2004-06-03 03:38:44 +00002840YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002841#line 391 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002842return TOK_UTCTime;
2843 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002844case 111:
vlmfa67ddc2004-06-03 03:38:44 +00002845YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002846#line 392 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002847{
2848 if(TYPE_LIFETIME(1994, 0))
2849 return TOK_UTF8String;
2850 REJECT;
2851 }
2852 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002853case 112:
2854YY_RULE_SETUP
2855#line 397 "asn1p_l.l"
2856return TOK_VideotexString;
2857 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002858case 113:
vlmfa67ddc2004-06-03 03:38:44 +00002859YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002860#line 398 "asn1p_l.l"
2861return TOK_VisibleString;
vlmfa67ddc2004-06-03 03:38:44 +00002862 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002863case 114:
vlmfa67ddc2004-06-03 03:38:44 +00002864YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002865#line 399 "asn1p_l.l"
2866return TOK_WITH;
vlmfa67ddc2004-06-03 03:38:44 +00002867 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002868case 115:
vlmfa67ddc2004-06-03 03:38:44 +00002869YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002870#line 402 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002871{
2872 CHECK_DASHES;
2873 asn1p_lval.tv_str = strdup(yytext);
2874 return TOK_typefieldreference;
2875 }
2876 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002877case 116:
vlmfa67ddc2004-06-03 03:38:44 +00002878YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002879#line 408 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002880{
2881 CHECK_DASHES;
2882 asn1p_lval.tv_str = strdup(yytext);
2883 return TOK_valuefieldreference;
2884 }
2885 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002886case 117:
vlmfa67ddc2004-06-03 03:38:44 +00002887YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002888#line 415 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002889{
2890 CHECK_DASHES;
2891 asn1p_lval.tv_str = strdup(yytext);
2892 return TOK_identifier;
2893 }
2894 YY_BREAK
2895/*
2896 * objectclassreference
2897 */
vlmc94e28f2004-09-15 11:59:51 +00002898case 118:
vlmfa67ddc2004-06-03 03:38:44 +00002899YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002900#line 424 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002901{
2902 CHECK_DASHES;
2903 asn1p_lval.tv_str = strdup(yytext);
vlm9283dbe2004-08-18 04:59:12 +00002904 return TOK_capitalreference;
vlmfa67ddc2004-06-03 03:38:44 +00002905 }
2906 YY_BREAK
2907/*
2908 * typereference, modulereference
2909 * NOTE: TOK_objectclassreference must be combined
2910 * with this token to produce true typereference.
2911 */
vlmc94e28f2004-09-15 11:59:51 +00002912case 119:
vlmfa67ddc2004-06-03 03:38:44 +00002913YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002914#line 435 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002915{
2916 CHECK_DASHES;
2917 asn1p_lval.tv_str = strdup(yytext);
2918 return TOK_typereference;
2919 }
2920 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00002921case 120:
2922YY_RULE_SETUP
2923#line 441 "asn1p_l.l"
2924return TOK_PPEQ;
2925 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002926case 121:
vlmfa67ddc2004-06-03 03:38:44 +00002927YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002928#line 443 "asn1p_l.l"
2929return TOK_ThreeDots;
vlmfa67ddc2004-06-03 03:38:44 +00002930 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002931case 122:
vlmfa67ddc2004-06-03 03:38:44 +00002932YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002933#line 444 "asn1p_l.l"
2934return TOK_TwoDots;
vlmfa67ddc2004-06-03 03:38:44 +00002935 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002936case 123:
vlmfa67ddc2004-06-03 03:38:44 +00002937YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002938#line 446 "asn1p_l.l"
2939return yytext[0];
vlmfa67ddc2004-06-03 03:38:44 +00002940 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002941case 124:
vlmfa67ddc2004-06-03 03:38:44 +00002942YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002943#line 448 "asn1p_l.l"
2944/* Ignore whitespace */
vlmfa67ddc2004-06-03 03:38:44 +00002945 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002946case 125:
vlmfa67ddc2004-06-03 03:38:44 +00002947YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002948#line 450 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002949{
2950 if(TYPE_LIFETIME(1994, 0))
2951 fprintf(stderr, "ERROR: ");
2952 fprintf(stderr,
2953 "Symbol '%c' at line %d is prohibited "
2954 "by ASN.1:1994 and ASN.1:1997\n",
2955 yytext[0], yylineno);
2956 if(TYPE_LIFETIME(1994, 0))
2957 return -1;
2958 }
2959 YY_BREAK
2960
vlmc94e28f2004-09-15 11:59:51 +00002961case 126:
2962YY_RULE_SETUP
2963#line 463 "asn1p_l.l"
2964{
2965 asn1p_lval.tv_opaque.buf = strdup(yytext);
2966 asn1p_lval.tv_opaque.len = yyleng;
2967 return TOK_opaque;
2968 }
2969 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002970case 127:
vlmfa67ddc2004-06-03 03:38:44 +00002971YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002972#line 469 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002973{
2974 asn1p_lval.tv_opaque.buf = strdup(yytext);
2975 asn1p_lval.tv_opaque.len = yyleng;
2976 return TOK_opaque;
2977 }
2978 YY_BREAK
vlm9283dbe2004-08-18 04:59:12 +00002979case 128:
vlmfa67ddc2004-06-03 03:38:44 +00002980YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00002981#line 475 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002982{
2983 yy_pop_state();
2984 return '}';
2985 }
2986 YY_BREAK
2987
vlmc94e28f2004-09-15 11:59:51 +00002988case 129:
vlm9283dbe2004-08-18 04:59:12 +00002989YY_RULE_SETUP
2990#line 482 "asn1p_l.l"
vlmc94e28f2004-09-15 11:59:51 +00002991return yytext[0]; /* Union, Intersection */
2992 YY_BREAK
2993case 130:
2994YY_RULE_SETUP
2995#line 484 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00002996{
2997 fprintf(stderr,
2998 "Unexpected token at line %d: \"%s\"\n",
2999 yylineno, yytext);
3000 while(YYSTATE != INITIAL)
3001 yy_pop_state();
vlmc94e28f2004-09-15 11:59:51 +00003002 if(0) {
3003 yy_top_state(); /* Just to use this function. */
3004 yy_fatal_error("Parse error");
3005 }
vlmfa67ddc2004-06-03 03:38:44 +00003006 return -1;
3007}
3008 YY_BREAK
3009case YY_STATE_EOF(INITIAL):
3010case YY_STATE_EOF(dash_comment):
3011case YY_STATE_EOF(cpp_comment):
3012case YY_STATE_EOF(quoted):
3013case YY_STATE_EOF(opaque):
vlm9283dbe2004-08-18 04:59:12 +00003014case YY_STATE_EOF(encoding_control):
vlmfa67ddc2004-06-03 03:38:44 +00003015case YY_STATE_EOF(with_syntax):
vlmc94e28f2004-09-15 11:59:51 +00003016#line 497 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003017{
3018 while(YYSTATE != INITIAL)
3019 yy_pop_state();
3020 yyterminate();
3021 }
3022 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00003023case 131:
vlmfa67ddc2004-06-03 03:38:44 +00003024YY_RULE_SETUP
vlmc94e28f2004-09-15 11:59:51 +00003025#line 504 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003026YY_FATAL_ERROR( "flex scanner jammed" );
3027 YY_BREAK
vlmc94e28f2004-09-15 11:59:51 +00003028#line 3029 "asn1p_l.c"
vlmfa67ddc2004-06-03 03:38:44 +00003029
3030 case YY_END_OF_BUFFER:
3031 {
3032 /* Amount of text matched not including the EOB char. */
3033 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3034
3035 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3036 *yy_cp = yy_hold_char;
3037 YY_RESTORE_YY_MORE_OFFSET
3038
3039 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3040 {
3041 /* We're scanning a new file or input source. It's
3042 * possible that this happened because the user
3043 * just pointed yyin at a new source and called
3044 * yylex(). If so, then we have to assure
3045 * consistency between yy_current_buffer and our
3046 * globals. Here is the right place to do so, because
3047 * this is the first action (other than possibly a
3048 * back-up) that will match for the new input source.
3049 */
3050 yy_n_chars = yy_current_buffer->yy_n_chars;
3051 yy_current_buffer->yy_input_file = yyin;
3052 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3053 }
3054
3055 /* Note that here we test for yy_c_buf_p "<=" to the position
3056 * of the first EOB in the buffer, since yy_c_buf_p will
3057 * already have been incremented past the NUL character
3058 * (since all states make transitions on EOB to the
3059 * end-of-buffer state). Contrast this with the test
3060 * in input().
3061 */
3062 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3063 { /* This was really a NUL. */
3064 yy_state_type yy_next_state;
3065
3066 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3067
3068 yy_current_state = yy_get_previous_state();
3069
3070 /* Okay, we're now positioned to make the NUL
3071 * transition. We couldn't have
3072 * yy_get_previous_state() go ahead and do it
3073 * for us because it doesn't know how to deal
3074 * with the possibility of jamming (and we don't
3075 * want to build jamming into it because then it
3076 * will run more slowly).
3077 */
3078
3079 yy_next_state = yy_try_NUL_trans( yy_current_state );
3080
3081 yy_bp = yytext_ptr + YY_MORE_ADJ;
3082
3083 if ( yy_next_state )
3084 {
3085 /* Consume the NUL. */
3086 yy_cp = ++yy_c_buf_p;
3087 yy_current_state = yy_next_state;
3088 goto yy_match;
3089 }
3090
3091 else
3092 {
3093 yy_cp = yy_c_buf_p;
3094 goto yy_find_action;
3095 }
3096 }
3097
3098 else switch ( yy_get_next_buffer() )
3099 {
3100 case EOB_ACT_END_OF_FILE:
3101 {
3102 yy_did_buffer_switch_on_eof = 0;
3103
3104 if ( yywrap() )
3105 {
3106 /* Note: because we've taken care in
3107 * yy_get_next_buffer() to have set up
3108 * yytext, we can now set up
3109 * yy_c_buf_p so that if some total
3110 * hoser (like flex itself) wants to
3111 * call the scanner after we return the
3112 * YY_NULL, it'll still work - another
3113 * YY_NULL will get returned.
3114 */
3115 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3116
3117 yy_act = YY_STATE_EOF(YY_START);
3118 goto do_action;
3119 }
3120
3121 else
3122 {
3123 if ( ! yy_did_buffer_switch_on_eof )
3124 YY_NEW_FILE;
3125 }
3126 break;
3127 }
3128
3129 case EOB_ACT_CONTINUE_SCAN:
3130 yy_c_buf_p =
3131 yytext_ptr + yy_amount_of_matched_text;
3132
3133 yy_current_state = yy_get_previous_state();
3134
3135 yy_cp = yy_c_buf_p;
3136 yy_bp = yytext_ptr + YY_MORE_ADJ;
3137 goto yy_match;
3138
3139 case EOB_ACT_LAST_MATCH:
3140 yy_c_buf_p =
3141 &yy_current_buffer->yy_ch_buf[yy_n_chars];
3142
3143 yy_current_state = yy_get_previous_state();
3144
3145 yy_cp = yy_c_buf_p;
3146 yy_bp = yytext_ptr + YY_MORE_ADJ;
3147 goto yy_find_action;
3148 }
3149 break;
3150 }
3151
3152 default:
3153 YY_FATAL_ERROR(
3154 "fatal flex scanner internal error--no action found" );
3155 } /* end of action switch */
3156 } /* end of scanning one token */
3157 } /* end of yylex */
3158
3159
3160/* yy_get_next_buffer - try to read in a new buffer
3161 *
3162 * Returns a code representing an action:
3163 * EOB_ACT_LAST_MATCH -
3164 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3165 * EOB_ACT_END_OF_FILE - end of file
3166 */
3167
3168static int yy_get_next_buffer()
3169 {
3170 register char *dest = yy_current_buffer->yy_ch_buf;
3171 register char *source = yytext_ptr;
3172 register int number_to_move, i;
3173 int ret_val;
3174
3175 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3176 YY_FATAL_ERROR(
3177 "fatal flex scanner internal error--end of buffer missed" );
3178
3179 if ( yy_current_buffer->yy_fill_buffer == 0 )
3180 { /* Don't try to fill the buffer, so this is an EOF. */
3181 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3182 {
3183 /* We matched a single character, the EOB, so
3184 * treat this as a final EOF.
3185 */
3186 return EOB_ACT_END_OF_FILE;
3187 }
3188
3189 else
3190 {
3191 /* We matched some text prior to the EOB, first
3192 * process it.
3193 */
3194 return EOB_ACT_LAST_MATCH;
3195 }
3196 }
3197
3198 /* Try to read more data. */
3199
3200 /* First move last chars to start of buffer. */
3201 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3202
3203 for ( i = 0; i < number_to_move; ++i )
3204 *(dest++) = *(source++);
3205
3206 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3207 /* don't do the read, it's not guaranteed to return an EOF,
3208 * just force an EOF
3209 */
3210 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3211
3212 else
3213 {
3214 int num_to_read =
3215 yy_current_buffer->yy_buf_size - number_to_move - 1;
3216
3217 while ( num_to_read <= 0 )
3218 { /* Not enough room in the buffer - grow it. */
3219#ifdef YY_USES_REJECT
3220 YY_FATAL_ERROR(
3221"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3222#else
3223
3224 /* just a shorter name for the current buffer */
3225 YY_BUFFER_STATE b = yy_current_buffer;
3226
3227 int yy_c_buf_p_offset =
3228 (int) (yy_c_buf_p - b->yy_ch_buf);
3229
3230 if ( b->yy_is_our_buffer )
3231 {
3232 int new_size = b->yy_buf_size * 2;
3233
3234 if ( new_size <= 0 )
3235 b->yy_buf_size += b->yy_buf_size / 8;
3236 else
3237 b->yy_buf_size *= 2;
3238
3239 b->yy_ch_buf = (char *)
3240 /* Include room in for 2 EOB chars. */
3241 yy_flex_realloc( (void *) b->yy_ch_buf,
3242 b->yy_buf_size + 2 );
3243 }
3244 else
3245 /* Can't grow it, we don't own it. */
3246 b->yy_ch_buf = 0;
3247
3248 if ( ! b->yy_ch_buf )
3249 YY_FATAL_ERROR(
3250 "fatal error - scanner input buffer overflow" );
3251
3252 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3253
3254 num_to_read = yy_current_buffer->yy_buf_size -
3255 number_to_move - 1;
3256#endif
3257 }
3258
3259 if ( num_to_read > YY_READ_BUF_SIZE )
3260 num_to_read = YY_READ_BUF_SIZE;
3261
3262 /* Read in more data. */
3263 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3264 yy_n_chars, num_to_read );
3265
3266 yy_current_buffer->yy_n_chars = yy_n_chars;
3267 }
3268
3269 if ( yy_n_chars == 0 )
3270 {
3271 if ( number_to_move == YY_MORE_ADJ )
3272 {
3273 ret_val = EOB_ACT_END_OF_FILE;
3274 yyrestart( yyin );
3275 }
3276
3277 else
3278 {
3279 ret_val = EOB_ACT_LAST_MATCH;
3280 yy_current_buffer->yy_buffer_status =
3281 YY_BUFFER_EOF_PENDING;
3282 }
3283 }
3284
3285 else
3286 ret_val = EOB_ACT_CONTINUE_SCAN;
3287
3288 yy_n_chars += number_to_move;
3289 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3290 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3291
3292 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3293
3294 return ret_val;
3295 }
3296
3297
3298/* yy_get_previous_state - get the state just before the EOB char was reached */
3299
3300static yy_state_type yy_get_previous_state()
3301 {
3302 register yy_state_type yy_current_state;
3303 register char *yy_cp;
3304
3305 yy_current_state = yy_start;
3306 yy_state_ptr = yy_state_buf;
3307 *yy_state_ptr++ = yy_current_state;
3308
3309 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3310 {
3311 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3312 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3313 {
3314 yy_current_state = (int) yy_def[yy_current_state];
vlmc94e28f2004-09-15 11:59:51 +00003315 if ( yy_current_state >= 709 )
vlmfa67ddc2004-06-03 03:38:44 +00003316 yy_c = yy_meta[(unsigned int) yy_c];
3317 }
3318 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3319 *yy_state_ptr++ = yy_current_state;
3320 }
3321
3322 return yy_current_state;
3323 }
3324
3325
3326/* yy_try_NUL_trans - try to make a transition on the NUL character
3327 *
3328 * synopsis
3329 * next_state = yy_try_NUL_trans( current_state );
3330 */
3331
3332#ifdef YY_USE_PROTOS
3333static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3334#else
3335static yy_state_type yy_try_NUL_trans( yy_current_state )
3336yy_state_type yy_current_state;
3337#endif
3338 {
3339 register int yy_is_jam;
3340
3341 register YY_CHAR yy_c = 1;
3342 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3343 {
3344 yy_current_state = (int) yy_def[yy_current_state];
vlmc94e28f2004-09-15 11:59:51 +00003345 if ( yy_current_state >= 709 )
vlmfa67ddc2004-06-03 03:38:44 +00003346 yy_c = yy_meta[(unsigned int) yy_c];
3347 }
3348 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
vlmc94e28f2004-09-15 11:59:51 +00003349 yy_is_jam = (yy_current_state == 708);
vlmfa67ddc2004-06-03 03:38:44 +00003350 if ( ! yy_is_jam )
3351 *yy_state_ptr++ = yy_current_state;
3352
3353 return yy_is_jam ? 0 : yy_current_state;
3354 }
3355
3356
3357#ifndef YY_NO_UNPUT
3358#ifdef YY_USE_PROTOS
3359static void yyunput( int c, register char *yy_bp )
3360#else
3361static void yyunput( c, yy_bp )
3362int c;
3363register char *yy_bp;
3364#endif
3365 {
3366 register char *yy_cp = yy_c_buf_p;
3367
3368 /* undo effects of setting up yytext */
3369 *yy_cp = yy_hold_char;
3370
3371 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3372 { /* need to shift things up to make room */
3373 /* +2 for EOB chars. */
3374 register int number_to_move = yy_n_chars + 2;
3375 register char *dest = &yy_current_buffer->yy_ch_buf[
3376 yy_current_buffer->yy_buf_size + 2];
3377 register char *source =
3378 &yy_current_buffer->yy_ch_buf[number_to_move];
3379
3380 while ( source > yy_current_buffer->yy_ch_buf )
3381 *--dest = *--source;
3382
3383 yy_cp += (int) (dest - source);
3384 yy_bp += (int) (dest - source);
3385 yy_current_buffer->yy_n_chars =
3386 yy_n_chars = yy_current_buffer->yy_buf_size;
3387
3388 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3389 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3390 }
3391
3392 *--yy_cp = (char) c;
3393
3394 if ( c == '\n' )
3395 --yylineno;
3396
3397 yytext_ptr = yy_bp;
3398 yy_hold_char = *yy_cp;
3399 yy_c_buf_p = yy_cp;
3400 }
3401#endif /* ifndef YY_NO_UNPUT */
3402
3403
3404#ifdef __cplusplus
3405static int yyinput()
3406#else
3407static int input()
3408#endif
3409 {
3410 int c;
3411
3412 *yy_c_buf_p = yy_hold_char;
3413
3414 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3415 {
3416 /* yy_c_buf_p now points to the character we want to return.
3417 * If this occurs *before* the EOB characters, then it's a
3418 * valid NUL; if not, then we've hit the end of the buffer.
3419 */
3420 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3421 /* This was really a NUL. */
3422 *yy_c_buf_p = '\0';
3423
3424 else
3425 { /* need more input */
3426 int offset = yy_c_buf_p - yytext_ptr;
3427 ++yy_c_buf_p;
3428
3429 switch ( yy_get_next_buffer() )
3430 {
3431 case EOB_ACT_LAST_MATCH:
3432 /* This happens because yy_g_n_b()
3433 * sees that we've accumulated a
3434 * token and flags that we need to
3435 * try matching the token before
3436 * proceeding. But for input(),
3437 * there's no matching to consider.
3438 * So convert the EOB_ACT_LAST_MATCH
3439 * to EOB_ACT_END_OF_FILE.
3440 */
3441
3442 /* Reset buffer status. */
3443 yyrestart( yyin );
3444
3445 /* fall through */
3446
3447 case EOB_ACT_END_OF_FILE:
3448 {
3449 if ( yywrap() )
3450 return EOF;
3451
3452 if ( ! yy_did_buffer_switch_on_eof )
3453 YY_NEW_FILE;
3454#ifdef __cplusplus
3455 return yyinput();
3456#else
3457 return input();
3458#endif
3459 }
3460
3461 case EOB_ACT_CONTINUE_SCAN:
3462 yy_c_buf_p = yytext_ptr + offset;
3463 break;
3464 }
3465 }
3466 }
3467
3468 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3469 *yy_c_buf_p = '\0'; /* preserve yytext */
3470 yy_hold_char = *++yy_c_buf_p;
3471
3472 if ( c == '\n' )
3473 ++yylineno;
3474
3475 return c;
3476 }
3477
3478
3479#ifdef YY_USE_PROTOS
3480void yyrestart( FILE *input_file )
3481#else
3482void yyrestart( input_file )
3483FILE *input_file;
3484#endif
3485 {
3486 if ( ! yy_current_buffer )
3487 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3488
3489 yy_init_buffer( yy_current_buffer, input_file );
3490 yy_load_buffer_state();
3491 }
3492
3493
3494#ifdef YY_USE_PROTOS
3495void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3496#else
3497void yy_switch_to_buffer( new_buffer )
3498YY_BUFFER_STATE new_buffer;
3499#endif
3500 {
3501 if ( yy_current_buffer == new_buffer )
3502 return;
3503
3504 if ( yy_current_buffer )
3505 {
3506 /* Flush out information for old buffer. */
3507 *yy_c_buf_p = yy_hold_char;
3508 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3509 yy_current_buffer->yy_n_chars = yy_n_chars;
3510 }
3511
3512 yy_current_buffer = new_buffer;
3513 yy_load_buffer_state();
3514
3515 /* We don't actually know whether we did this switch during
3516 * EOF (yywrap()) processing, but the only time this flag
3517 * is looked at is after yywrap() is called, so it's safe
3518 * to go ahead and always set it.
3519 */
3520 yy_did_buffer_switch_on_eof = 1;
3521 }
3522
3523
3524#ifdef YY_USE_PROTOS
3525void yy_load_buffer_state( void )
3526#else
3527void yy_load_buffer_state()
3528#endif
3529 {
3530 yy_n_chars = yy_current_buffer->yy_n_chars;
3531 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3532 yyin = yy_current_buffer->yy_input_file;
3533 yy_hold_char = *yy_c_buf_p;
3534 }
3535
3536
3537#ifdef YY_USE_PROTOS
3538YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3539#else
3540YY_BUFFER_STATE yy_create_buffer( file, size )
3541FILE *file;
3542int size;
3543#endif
3544 {
3545 YY_BUFFER_STATE b;
3546
3547 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3548 if ( ! b )
3549 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3550
3551 b->yy_buf_size = size;
3552
3553 /* yy_ch_buf has to be 2 characters longer than the size given because
3554 * we need to put in 2 end-of-buffer characters.
3555 */
3556 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3557 if ( ! b->yy_ch_buf )
3558 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3559
3560 b->yy_is_our_buffer = 1;
3561
3562 yy_init_buffer( b, file );
3563
3564 return b;
3565 }
3566
3567
3568#ifdef YY_USE_PROTOS
3569void yy_delete_buffer( YY_BUFFER_STATE b )
3570#else
3571void yy_delete_buffer( b )
3572YY_BUFFER_STATE b;
3573#endif
3574 {
3575 if ( ! b )
3576 return;
3577
3578 if ( b == yy_current_buffer )
3579 yy_current_buffer = (YY_BUFFER_STATE) 0;
3580
3581 if ( b->yy_is_our_buffer )
3582 yy_flex_free( (void *) b->yy_ch_buf );
3583
3584 yy_flex_free( (void *) b );
3585 }
3586
3587
3588#ifndef YY_ALWAYS_INTERACTIVE
3589#ifndef YY_NEVER_INTERACTIVE
3590extern int isatty YY_PROTO(( int ));
3591#endif
3592#endif
3593
3594#ifdef YY_USE_PROTOS
3595void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3596#else
3597void yy_init_buffer( b, file )
3598YY_BUFFER_STATE b;
3599FILE *file;
3600#endif
3601
3602
3603 {
3604 yy_flush_buffer( b );
3605
3606 b->yy_input_file = file;
3607 b->yy_fill_buffer = 1;
3608
3609#if YY_ALWAYS_INTERACTIVE
3610 b->yy_is_interactive = 1;
3611#else
3612#if YY_NEVER_INTERACTIVE
3613 b->yy_is_interactive = 0;
3614#else
3615 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3616#endif
3617#endif
3618 }
3619
3620
3621#ifdef YY_USE_PROTOS
3622void yy_flush_buffer( YY_BUFFER_STATE b )
3623#else
3624void yy_flush_buffer( b )
3625YY_BUFFER_STATE b;
3626#endif
3627
3628 {
3629 if ( ! b )
3630 return;
3631
3632 b->yy_n_chars = 0;
3633
3634 /* We always need two end-of-buffer characters. The first causes
3635 * a transition to the end-of-buffer state. The second causes
3636 * a jam in that state.
3637 */
3638 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3639 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3640
3641 b->yy_buf_pos = &b->yy_ch_buf[0];
3642
3643 b->yy_at_bol = 1;
3644 b->yy_buffer_status = YY_BUFFER_NEW;
3645
3646 if ( b == yy_current_buffer )
3647 yy_load_buffer_state();
3648 }
3649
3650
3651#ifndef YY_NO_SCAN_BUFFER
3652#ifdef YY_USE_PROTOS
3653YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3654#else
3655YY_BUFFER_STATE yy_scan_buffer( base, size )
3656char *base;
3657yy_size_t size;
3658#endif
3659 {
3660 YY_BUFFER_STATE b;
3661
3662 if ( size < 2 ||
3663 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3664 base[size-1] != YY_END_OF_BUFFER_CHAR )
3665 /* They forgot to leave room for the EOB's. */
3666 return 0;
3667
3668 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3669 if ( ! b )
3670 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3671
3672 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3673 b->yy_buf_pos = b->yy_ch_buf = base;
3674 b->yy_is_our_buffer = 0;
3675 b->yy_input_file = 0;
3676 b->yy_n_chars = b->yy_buf_size;
3677 b->yy_is_interactive = 0;
3678 b->yy_at_bol = 1;
3679 b->yy_fill_buffer = 0;
3680 b->yy_buffer_status = YY_BUFFER_NEW;
3681
3682 yy_switch_to_buffer( b );
3683
3684 return b;
3685 }
3686#endif
3687
3688
3689#ifndef YY_NO_SCAN_STRING
3690#ifdef YY_USE_PROTOS
3691YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3692#else
3693YY_BUFFER_STATE yy_scan_string( yy_str )
3694yyconst char *yy_str;
3695#endif
3696 {
3697 int len;
3698 for ( len = 0; yy_str[len]; ++len )
3699 ;
3700
3701 return yy_scan_bytes( yy_str, len );
3702 }
3703#endif
3704
3705
3706#ifndef YY_NO_SCAN_BYTES
3707#ifdef YY_USE_PROTOS
3708YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3709#else
3710YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3711yyconst char *bytes;
3712int len;
3713#endif
3714 {
3715 YY_BUFFER_STATE b;
3716 char *buf;
3717 yy_size_t n;
3718 int i;
3719
3720 /* Get memory for full buffer, including space for trailing EOB's. */
3721 n = len + 2;
3722 buf = (char *) yy_flex_alloc( n );
3723 if ( ! buf )
3724 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3725
3726 for ( i = 0; i < len; ++i )
3727 buf[i] = bytes[i];
3728
3729 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3730
3731 b = yy_scan_buffer( buf, n );
3732 if ( ! b )
3733 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3734
3735 /* It's okay to grow etc. this buffer, and we should throw it
3736 * away when we're done.
3737 */
3738 b->yy_is_our_buffer = 1;
3739
3740 return b;
3741 }
3742#endif
3743
3744
3745#ifndef YY_NO_PUSH_STATE
3746#ifdef YY_USE_PROTOS
3747static void yy_push_state( int new_state )
3748#else
3749static void yy_push_state( new_state )
3750int new_state;
3751#endif
3752 {
3753 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3754 {
3755 yy_size_t new_size;
3756
3757 yy_start_stack_depth += YY_START_STACK_INCR;
3758 new_size = yy_start_stack_depth * sizeof( int );
3759
3760 if ( ! yy_start_stack )
3761 yy_start_stack = (int *) yy_flex_alloc( new_size );
3762
3763 else
3764 yy_start_stack = (int *) yy_flex_realloc(
3765 (void *) yy_start_stack, new_size );
3766
3767 if ( ! yy_start_stack )
3768 YY_FATAL_ERROR(
3769 "out of memory expanding start-condition stack" );
3770 }
3771
3772 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3773
3774 BEGIN(new_state);
3775 }
3776#endif
3777
3778
3779#ifndef YY_NO_POP_STATE
3780static void yy_pop_state()
3781 {
3782 if ( --yy_start_stack_ptr < 0 )
3783 YY_FATAL_ERROR( "start-condition stack underflow" );
3784
3785 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3786 }
3787#endif
3788
3789
3790#ifndef YY_NO_TOP_STATE
3791static int yy_top_state()
3792 {
3793 return yy_start_stack[yy_start_stack_ptr - 1];
3794 }
3795#endif
3796
3797#ifndef YY_EXIT_FAILURE
3798#define YY_EXIT_FAILURE 2
3799#endif
3800
3801#ifdef YY_USE_PROTOS
3802static void yy_fatal_error( yyconst char msg[] )
3803#else
3804static void yy_fatal_error( msg )
3805char msg[];
3806#endif
3807 {
3808 (void) fprintf( stderr, "%s\n", msg );
3809 exit( YY_EXIT_FAILURE );
3810 }
3811
3812
3813
3814/* Redefine yyless() so it works in section 3 code. */
3815
3816#undef yyless
3817#define yyless(n) \
3818 do \
3819 { \
3820 /* Undo effects of setting up yytext. */ \
3821 yytext[yyleng] = yy_hold_char; \
3822 yy_c_buf_p = yytext + n; \
3823 yy_hold_char = *yy_c_buf_p; \
3824 *yy_c_buf_p = '\0'; \
3825 yyleng = n; \
3826 } \
3827 while ( 0 )
3828
3829
3830/* Internal utility routines. */
3831
3832#ifndef yytext_ptr
3833#ifdef YY_USE_PROTOS
3834static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3835#else
3836static void yy_flex_strncpy( s1, s2, n )
3837char *s1;
3838yyconst char *s2;
3839int n;
3840#endif
3841 {
3842 register int i;
3843 for ( i = 0; i < n; ++i )
3844 s1[i] = s2[i];
3845 }
3846#endif
3847
3848#ifdef YY_NEED_STRLEN
3849#ifdef YY_USE_PROTOS
3850static int yy_flex_strlen( yyconst char *s )
3851#else
3852static int yy_flex_strlen( s )
3853yyconst char *s;
3854#endif
3855 {
3856 register int n;
3857 for ( n = 0; s[n]; ++n )
3858 ;
3859
3860 return n;
3861 }
3862#endif
3863
3864
3865#ifdef YY_USE_PROTOS
3866static void *yy_flex_alloc( yy_size_t size )
3867#else
3868static void *yy_flex_alloc( size )
3869yy_size_t size;
3870#endif
3871 {
3872 return (void *) malloc( size );
3873 }
3874
3875#ifdef YY_USE_PROTOS
3876static void *yy_flex_realloc( void *ptr, yy_size_t size )
3877#else
3878static void *yy_flex_realloc( ptr, size )
3879void *ptr;
3880yy_size_t size;
3881#endif
3882 {
3883 /* The cast to (char *) in the following accommodates both
3884 * implementations that use char* generic pointers, and those
3885 * that use void* generic pointers. It works with the latter
3886 * because both ANSI C and C++ allow castless assignment from
3887 * any pointer type to void*, and deal with argument conversions
3888 * as though doing an assignment.
3889 */
3890 return (void *) realloc( (char *) ptr, size );
3891 }
3892
3893#ifdef YY_USE_PROTOS
3894static void yy_flex_free( void *ptr )
3895#else
3896static void yy_flex_free( ptr )
3897void *ptr;
3898#endif
3899 {
3900 free( ptr );
3901 }
3902
3903#if YY_MAIN
3904int main()
3905 {
3906 yylex();
3907 return 0;
3908 }
3909#endif
vlmc94e28f2004-09-15 11:59:51 +00003910#line 504 "asn1p_l.l"
vlmfa67ddc2004-06-03 03:38:44 +00003911
3912
3913/*
3914 * Very dirty but wonderful hack allowing to rule states from within .y file.
3915 */
vlm9283dbe2004-08-18 04:59:12 +00003916void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
vlmfa67ddc2004-06-03 03:38:44 +00003917
3918/*
3919 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
3920 */
vlm9283dbe2004-08-18 04:59:12 +00003921void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
3922
3923/* Yet another */
3924void asn1p_lexer_hack_push_encoding_control() {
3925 yy_push_state(encoding_control);
vlmfa67ddc2004-06-03 03:38:44 +00003926}
3927
3928/*
3929 * Check that a token does not end with dash and does not contain
3930 * several dashes in succession.
3931 * "Name", "Type-Id", "T-y-p-e-i-d" are OK
3932 * "end-", "vustom--value" are INVALID
3933 */
3934static int
3935_check_dashes(char *ptr) {
3936 int prev_dash = 0;
3937
3938 assert(*ptr != '-');
3939
3940 for(;; ptr++) {
3941 switch(*ptr) {
3942 case '-':
3943 if(prev_dash++) /* No double dashes */
3944 return -1;
3945 continue;
3946 case '\0':
3947 if(prev_dash) /* No dashes at the end */
3948 return -1;
3949 break;
3950 default:
3951 prev_dash = 0;
3952 continue;
3953 }
3954 break;
3955 }
3956
3957 return 0;
3958}
3959
vlmec6acd42004-09-29 13:18:09 +00003960static asn1c_integer_t
vlmfa67ddc2004-06-03 03:38:44 +00003961asn1p_atoi(char *ptr) {
vlmec6acd42004-09-29 13:18:09 +00003962 asn1c_integer_t value;
vlmfa67ddc2004-06-03 03:38:44 +00003963 errno = 0; /* Clear the error code */
3964
3965 if(sizeof(value) <= sizeof(int)) {
3966 value = strtol(ptr, 0, 10);
3967 } else {
3968#ifdef HAVE_STRTOIMAX
3969 value = strtoimax(ptr, 0, 10);
3970#elif HAVE_STRTOLL
3971 value = strtoll(ptr, 0, 10);
3972#else
3973 value = strtol(ptr, 0, 10);
3974#endif
3975 }
3976
3977 if(errno == ERANGE) {
3978 fprintf(stderr,
3979 "Value \"%s\" at line %d is too large "
3980 "for this compiler! Please contact the vendor.",
3981 ptr, yylineno);
3982 errno = ERANGE; /* Restore potentially clobbered errno */
3983 }
3984
3985 return value;
3986}
3987