blob: 569bc73d18fef772e318972c6f30bd7fdf49bf46 [file] [log] [blame]
Lev Walkinf15320b2004-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
Lev Walkinf59d0752004-08-18 04:59:12 +000019#line 20 "asn1p_l.c"
Lev Walkinf15320b2004-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
Lev Walkin9d542d22006-03-14 16:31:37 +0000315#define YY_NUM_RULES 137
316#define YY_END_OF_BUFFER 138
317static yyconst short int yy_acclist[1258] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000318 { 0,
Lev Walkin9d542d22006-03-14 16:31:37 +0000319 138, 136, 137, 131, 136, 137, 131, 137, 134, 136,
320 137, 19, 136, 137, 134, 136, 137, 136, 137, 134,
321 136, 137, 136, 137, 134, 136, 137, 136, 137, 33,
322 136, 137, 32, 136, 137, 134, 136, 137, 136, 137,
323 119, 120, 136, 137, 119, 120, 136, 137, 119, 120,
324 136, 137, 119, 120, 136, 137, 119, 120, 136, 137,
325 119, 120, 136, 137, 119, 120, 136, 137, 119, 120,
326 136, 137, 119, 120, 136, 137, 119, 120, 136, 137,
327 119, 120, 136, 137, 119, 120, 136, 137, 119, 120,
328 136, 137, 119, 120, 136, 137, 119, 120, 136, 137,
Lev Walkinf15320b2004-06-03 03:38:44 +0000329
Lev Walkin9d542d22006-03-14 16:31:37 +0000330 119, 120, 136, 137, 119, 120, 136, 137, 119, 120,
331 136, 137, 119, 120, 136, 137, 118, 136, 137, 134,
332 136, 137, 9, 136, 137, 6, 137, 6, 136, 137,
333 8, 136, 137, 8, 136, 137, 11, 13, 136, 137,
334 11, 137, 13, 136, 137, 13, 136, 137, 13, 136,
335 137, 21, 136, 137, 21, 137, 22, 136, 137, 16,
336 136, 137, 16, 137, 18, 136, 137, 18, 136, 137,
337 14, 136, 137, 15, 136, 137, 25, 27, 136, 137,
338 27, 136, 137, 28, 137, 25, 26, 27, 136, 137,
339 25, 26, 27, 136, 137, 129, 136, 137, 129, 137,
Lev Walkinf15320b2004-06-03 03:38:44 +0000340
Lev Walkin9d542d22006-03-14 16:31:37 +0000341 136, 137, 125, 136, 137, 136, 137, 136, 137, 124,
342 136, 137, 127, 136, 137, 128, 136, 137, 126, 136,
343 137, 130, 136, 137, 131, 19, 19, 116, 117, 5,
344 31, 123, 10, 32, 119, 120, 119, 120, 119, 120,
Lev Walkina2fcce42006-03-06 11:28:17 +0000345 119, 120, 119, 120, 119, 120, 120, 119, 120, 119,
Lev Walkin9d542d22006-03-14 16:31:37 +0000346 120, 119, 120, 119, 120, 43, 119, 120, 119, 120,
347 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
348 119, 120, 119, 120, 119, 120, 120, 120, 119, 120,
349 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
350 119, 120, 119, 120, 120, 119, 120, 119, 120, 88,
Lev Walkind9574ae2005-03-24 16:22:35 +0000351
Lev Walkin9d542d22006-03-14 16:31:37 +0000352 119, 120, 119, 120, 120, 119, 120, 119, 120, 119,
353 120, 119, 120, 120, 119, 120, 119, 120, 119, 120,
354 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
355 120, 119, 120, 119, 120, 120, 120, 119, 120, 118,
356 9, 7, 7, 12, 21, 20, 16, 25, 25, 26,
357 25, 26, 129, 5, 124, 135, 116, 117, 31, 122,
358 121, 119, 120, 120, 119, 120, 35, 119, 120, 36,
359 119, 120, 119, 120, 119, 120, 119, 120, 40, 119,
Lev Walkina2fcce42006-03-06 11:28:17 +0000360 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
Lev Walkin9d542d22006-03-14 16:31:37 +0000361 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
Lev Walkind9574ae2005-03-24 16:22:35 +0000362
Lev Walkin9d542d22006-03-14 16:31:37 +0000363 120, 57, 119, 120, 119, 120, 119, 120, 119, 120,
364 119, 120, 119, 120, 119, 120, 120, 120, 119, 120,
365 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
366 119, 120, 80, 119, 120, 81, 119, 120, 119, 120,
367 120, 119, 120, 119, 120, 119, 120, 120, 119, 120,
368 91, 119, 120, 119, 120, 119, 120, 119, 120, 120,
369 119, 120, 119, 120, 119, 120, 99, 119, 120, 119,
370 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
371 120, 120, 119, 120, 119, 120, 119, 120, 120, 120,
372 120, 119, 120, 118, 3, 17, 25, 26, 24, 25,
Lev Walkind9574ae2005-03-24 16:22:35 +0000373
Lev Walkin9d542d22006-03-14 16:31:37 +0000374 26, 124, 116, 117, 30, 29, 2, 1, 119, 120,
375 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
376 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
377 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
378 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
379 119, 120, 65, 119, 120, 120, 120, 119, 120, 119,
380 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
381 120, 119, 120, 119, 120, 83, 119, 120, 120, 119,
382 120, 119, 120, 119, 120, 120, 119, 120, 119, 120,
383 119, 120, 119, 120, 120, 96, 119, 120, 119, 120,
384
385 119, 120, 100, 119, 120, 119, 120, 119, 120, 119,
386 120, 104, 119, 120, 106, 119, 120, 120, 119, 120,
387 119, 120, 119, 120, 119, 120, 119, 120, 120, 120,
388 120, 115, 119, 120, 3, 25, 26, 119, 120, 119,
389 120, 119, 120, 39, 119, 120, 120, 119, 120, 119,
390 120, 119, 120, 46, 119, 120, 119, 120, 119, 120,
391 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
392 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
393 119, 120, 64, 119, 120, 120, 120, 120, 119, 120,
394 119, 120, 119, 120, 119, 120, 119, 120, 119, 120,
395
396 119, 120, 119, 120, 119, 120, 119, 120, 120, 119,
397 120, 87, 119, 120, 119, 120, 120, 119, 120, 119,
398 120, 119, 120, 120, 119, 120, 119, 120, 119, 120,
399 119, 120, 120, 120, 107, 119, 120, 119, 120, 119,
400 120, 120, 119, 120, 120, 120, 120, 132, 25, 26,
401 34, 119, 120, 119, 120, 119, 120, 120, 119, 120,
402 119, 120, 45, 119, 120, 119, 120, 119, 120, 119,
403 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
404 120, 119, 120, 119, 120, 59, 119, 120, 119, 120,
405 119, 120, 119, 120, 119, 120, 120, 120, 120, 119,
406
407 120, 119, 120, 119, 120, 119, 120, 119, 120, 119,
408 120, 119, 120, 119, 120, 119, 120, 119, 120, 120,
409 85, 119, 120, 119, 120, 120, 119, 120, 119, 120,
410 119, 120, 119, 120, 120, 119, 120, 119, 120, 101,
411 119, 120, 102, 119, 120, 120, 120, 108, 119, 120,
412 119, 120, 120, 120, 120, 120, 120, 25, 26, 119,
413 120, 119, 120, 120, 42, 119, 120, 119, 120, 119,
414 120, 119, 120, 119, 120, 51, 119, 120, 52, 119,
415 120, 119, 120, 119, 120, 55, 119, 120, 119, 120,
416 119, 120, 119, 120, 61, 119, 120, 119, 120, 119,
417
418 120, 120, 120, 120, 119, 120, 119, 120, 72, 119,
419 120, 73, 119, 120, 119, 120, 119, 120, 119, 120,
420 77, 119, 120, 119, 120, 119, 120, 119, 120, 120,
421 119, 120, 120, 90, 119, 120, 119, 120, 93, 119,
422 120, 95, 119, 120, 120, 119, 120, 119, 120, 120,
423 120, 119, 120, 111, 120, 120, 120, 120, 120, 25,
424 26, 119, 120, 119, 120, 120, 119, 120, 119, 120,
425 119, 120, 119, 120, 119, 120, 54, 119, 120, 119,
426 120, 119, 120, 60, 119, 120, 119, 120, 63, 119,
427 120, 120, 120, 120, 120, 119, 120, 71, 119, 120,
428
429 74, 119, 120, 75, 119, 120, 119, 120, 119, 120,
430 120, 119, 120, 120, 89, 119, 120, 120, 119, 120,
431 120, 119, 120, 98, 119, 120, 120, 120, 119, 120,
432 120, 120, 120, 120, 25, 26, 119, 120, 38, 119,
433 120, 41, 120, 44, 119, 120, 47, 119, 120, 119,
434 120, 119, 120, 119, 120, 119, 120, 119, 120, 120,
435 120, 120, 69, 120, 119, 120, 119, 120, 119, 120,
436 120, 119, 120, 120, 120, 119, 120, 120, 103, 120,
437 120, 109, 119, 120, 120, 120, 120, 120, 133, 25,
438 119, 120, 48, 119, 120, 119, 120, 50, 119, 120,
439
440 119, 120, 119, 120, 58, 119, 120, 119, 120, 120,
441 120, 120, 70, 119, 120, 119, 120, 119, 120, 120,
442 119, 120, 120, 120, 119, 120, 120, 119, 120, 120,
443 112, 120, 120, 120, 120, 25, 37, 119, 120, 49,
444 119, 120, 53, 119, 120, 119, 120, 119, 120, 120,
445 120, 120, 119, 120, 119, 120, 120, 119, 120, 120,
446 120, 119, 120, 120, 119, 120, 120, 120, 120, 120,
447 25, 119, 120, 119, 120, 120, 120, 120, 76, 119,
448 120, 78, 119, 120, 79, 120, 119, 120, 120, 120,
449 119, 120, 120, 97, 119, 120, 120, 120, 120, 120,
450
451 25, 119, 120, 62, 119, 120, 67, 120, 120, 68,
452 120, 119, 120, 84, 120, 120, 92, 119, 120, 120,
453 105, 120, 120, 120, 114, 120, 25, 119, 120, 120,
454 82, 119, 120, 120, 120, 120, 113, 120, 25, 119,
455 120, 66, 120, 120, 94, 120, 110, 120, 25, 56,
456 119, 120, 86, 120, 23, 25, 4
Lev Walkinf15320b2004-06-03 03:38:44 +0000457 } ;
458
Lev Walkin9d542d22006-03-14 16:31:37 +0000459static yyconst short int yy_accept[736] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000460 { 0,
461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000462 1, 1, 1, 1, 1, 1, 1, 2, 4, 7,
463 9, 12, 15, 18, 20, 23, 25, 28, 30, 33,
464 36, 39, 41, 45, 49, 53, 57, 61, 65, 69,
465 73, 77, 81, 85, 89, 93, 97, 101, 105, 109,
Lev Walkinef625402005-09-05 05:17:57 +0000466 113, 117, 120, 123, 126, 128, 131, 134, 137, 141,
467 143, 146, 149, 152, 155, 157, 160, 163, 165, 168,
Lev Walkin9d542d22006-03-14 16:31:37 +0000468 171, 174, 177, 181, 184, 186, 191, 196, 199, 201,
469 203, 206, 208, 210, 213, 216, 219, 222, 225, 225,
470 226, 227, 228, 228, 229, 229, 230, 230, 230, 231,
Lev Walkinf15320b2004-06-03 03:38:44 +0000471
Lev Walkin9d542d22006-03-14 16:31:37 +0000472 232, 233, 234, 235, 235, 235, 237, 239, 241, 243,
473 245, 247, 248, 250, 252, 254, 256, 259, 261, 263,
474 265, 267, 269, 271, 273, 275, 277, 278, 279, 281,
475 283, 285, 287, 289, 291, 293, 295, 296, 298, 300,
476 303, 305, 306, 308, 310, 312, 314, 315, 317, 319,
477 321, 323, 325, 327, 329, 331, 332, 334, 336, 337,
478 338, 340, 340, 341, 341, 341, 341, 342, 343, 344,
479 345, 346, 347, 348, 348, 349, 351, 353, 354, 355,
480 355, 356, 357, 357, 357, 358, 358, 359, 359, 359,
481 359, 359, 360, 361, 362, 364, 365, 367, 370, 373,
Lev Walkinf15320b2004-06-03 03:38:44 +0000482
Lev Walkin9d542d22006-03-14 16:31:37 +0000483 375, 377, 377, 379, 382, 384, 386, 388, 390, 392,
484 394, 396, 398, 400, 402, 405, 407, 409, 411, 413,
485 415, 417, 418, 419, 421, 423, 425, 427, 429, 431,
486 433, 436, 439, 441, 442, 444, 446, 448, 449, 451,
487 454, 456, 458, 460, 461, 463, 465, 467, 470, 472,
488 474, 476, 478, 480, 482, 483, 485, 487, 489, 490,
489 491, 492, 494, 495, 495, 495, 496, 497, 499, 502,
490 503, 503, 504, 505, 506, 507, 508, 509, 509, 509,
Lev Walkinef625402005-09-05 05:17:57 +0000491 509, 511, 513, 515, 517, 519, 521, 523, 525, 527,
Lev Walkin9d542d22006-03-14 16:31:37 +0000492 529, 531, 533, 535, 537, 539, 541, 543, 545, 547,
Lev Walkinf15320b2004-06-03 03:38:44 +0000493
Lev Walkin9d542d22006-03-14 16:31:37 +0000494 549, 551, 553, 556, 557, 558, 560, 562, 564, 566,
495 568, 570, 572, 574, 576, 579, 580, 582, 584, 586,
496 587, 589, 591, 593, 595, 596, 599, 601, 603, 606,
497 608, 610, 612, 615, 618, 619, 621, 623, 625, 627,
498 629, 630, 631, 632, 635, 635, 635, 635, 635, 636,
499 638, 638, 640, 642, 644, 647, 648, 650, 652, 654,
500 657, 659, 661, 663, 665, 667, 669, 671, 673, 675,
501 677, 679, 681, 683, 686, 687, 688, 689, 691, 693,
502 695, 697, 699, 701, 703, 705, 707, 709, 710, 712,
503 715, 717, 718, 720, 720, 722, 724, 725, 727, 729,
Lev Walkinf15320b2004-06-03 03:38:44 +0000504
Lev Walkin9d542d22006-03-14 16:31:37 +0000505 731, 733, 734, 735, 738, 740, 742, 743, 745, 746,
506 747, 748, 748, 748, 749, 751, 751, 754, 756, 758,
507 759, 761, 763, 766, 768, 770, 772, 774, 776, 778,
508 780, 782, 784, 786, 789, 791, 793, 795, 797, 798,
509 799, 800, 802, 804, 806, 808, 810, 812, 814, 816,
510 818, 820, 820, 821, 824, 826, 827, 829, 831, 833,
511 835, 836, 838, 840, 843, 846, 847, 848, 851, 853,
512 854, 855, 856, 857, 858, 858, 858, 860, 860, 862,
513 864, 865, 868, 870, 872, 874, 876, 879, 882, 884,
514 886, 889, 891, 893, 895, 898, 900, 902, 903, 904,
Lev Walkinf15320b2004-06-03 03:38:44 +0000515
Lev Walkin9d542d22006-03-14 16:31:37 +0000516 905, 907, 909, 912, 915, 917, 919, 921, 924, 926,
517 928, 930, 931, 933, 934, 937, 939, 942, 945, 946,
518 948, 950, 951, 952, 954, 956, 957, 958, 959, 960,
519 960, 962, 962, 964, 966, 967, 969, 971, 973, 975,
520 977, 980, 982, 984, 987, 989, 992, 993, 994, 995,
521 996, 998, 1001, 1004, 1007, 1009, 1011, 1012, 1014, 1015,
522 1018, 1019, 1021, 1022, 1024, 1027, 1028, 1029, 1031, 1032,
523 1033, 1034, 1035, 1035, 1035, 1037, 1037, 1039, 1042, 1044,
524 1047, 1050, 1052, 1054, 1056, 1056, 1058, 1060, 1061, 1062,
525 1063, 1065, 1067, 1069, 1071, 1072, 1074, 1075, 1076, 1078,
Lev Walkinf15320b2004-06-03 03:38:44 +0000526
Lev Walkin9d542d22006-03-14 16:31:37 +0000527 1079, 1079, 1081, 1082, 1085, 1086, 1087, 1088, 1089, 1089,
528 1090, 1091, 1091, 1093, 1096, 1098, 1101, 1103, 1105, 1108,
529 1110, 1111, 1112, 1113, 1116, 1118, 1120, 1121, 1123, 1124,
530 1125, 1127, 1128, 1130, 1131, 1133, 1134, 1135, 1136, 1137,
531 1137, 1140, 1143, 1146, 1148, 1150, 1151, 1152, 1153, 1155,
532 1157, 1158, 1160, 1161, 1162, 1164, 1165, 1167, 1168, 1169,
533 1170, 1171, 1172, 1172, 1174, 1176, 1177, 1178, 1179, 1182,
534 1185, 1187, 1189, 1190, 1191, 1193, 1194, 1197, 1198, 1199,
535 1200, 1201, 1202, 1202, 1204, 1207, 1209, 1210, 1212, 1214,
536 1216, 1217, 1220, 1221, 1223, 1224, 1225, 1227, 1228, 1228,
Lev Walkin2535a692005-07-02 21:42:40 +0000537
Lev Walkin9d542d22006-03-14 16:31:37 +0000538 1230, 1231, 1234, 1235, 1236, 1237, 1239, 1240, 1240, 1242,
539 1244, 1245, 1247, 1249, 1250, 1250, 1253, 1255, 1257, 1257,
540 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
541 1257, 1257, 1257, 1258, 1258
Lev Walkinf15320b2004-06-03 03:38:44 +0000542 } ;
543
544static yyconst int yy_ec[256] =
545 { 0,
546 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
Lev Walkin2535a692005-07-02 21:42:40 +0000547 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000548 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin2535a692005-07-02 21:42:40 +0000549 1, 2, 6, 7, 1, 1, 1, 8, 9, 10,
550 10, 11, 1, 12, 13, 14, 15, 16, 17, 18,
551 18, 19, 20, 21, 18, 22, 23, 24, 25, 26,
Lev Walkin4696c742005-08-22 12:23:54 +0000552 27, 28, 1, 10, 29, 30, 31, 32, 33, 34,
553 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
554 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
Lev Walkin9d542d22006-03-14 16:31:37 +0000555 55, 1, 56, 57, 1, 1, 58, 59, 60, 61,
Lev Walkinf15320b2004-06-03 03:38:44 +0000556
Lev Walkin9d542d22006-03-14 16:31:37 +0000557 62, 63, 64, 65, 66, 67, 63, 68, 69, 70,
558 71, 72, 63, 73, 74, 75, 76, 77, 63, 78,
559 63, 79, 80, 81, 82, 1, 1, 1, 1, 1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000560 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 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
567
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, 1, 1, 1, 1, 1,
572 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
573 1, 1, 1, 1, 1
574 } ;
575
Lev Walkin9d542d22006-03-14 16:31:37 +0000576static yyconst int yy_meta[83] =
Lev Walkinf15320b2004-06-03 03:38:44 +0000577 { 0,
Lev Walkin9d542d22006-03-14 16:31:37 +0000578 1, 2, 3, 4, 4, 1, 5, 1, 6, 1,
579 1, 1, 7, 1, 1, 8, 8, 8, 8, 8,
580 8, 8, 8, 9, 1, 1, 9, 1, 10, 10,
581 10, 10, 10, 10, 11, 11, 11, 11, 11, 11,
582 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
583 11, 11, 11, 11, 1, 1, 1, 11, 11, 11,
584 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
585 11, 11, 11, 11, 11, 11, 11, 11, 11, 12,
586 1, 13
Lev Walkin2535a692005-07-02 21:42:40 +0000587 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000588
Lev Walkin9d542d22006-03-14 16:31:37 +0000589static yyconst short int yy_base[761] =
Lev Walkin2535a692005-07-02 21:42:40 +0000590 { 0,
Lev Walkin9d542d22006-03-14 16:31:37 +0000591 0, 0, 80, 83, 86, 97, 92, 94, 91, 101,
592 89, 103, 185, 267, 349, 0, 1572, 1561, 119, 129,
593 1557, 1555, 423, 137, 4413, 138, 1548, 103, 4413, 156,
594 1537, 4413, 490, 184, 208, 190, 257, 285, 540, 205,
595 546, 567, 561, 277, 585, 600, 606, 631, 634, 623,
596 654, 1547, 697, 0, 4413, 4413, 1546, 1540, 4413, 4413,
597 1536, 1538, 4413, 0, 0, 1541, 0, 0, 1522, 4413,
598 4413, 4413, 0, 4413, 4413, 720, 801, 160, 199, 110,
599 4413, 1529, 1529, 1526, 4413, 4413, 4413, 4413, 1531, 203,
600 0, 1530, 1525, 1514, 86, 1510, 433, 1512, 123, 321,
Lev Walkinf15320b2004-06-03 03:38:44 +0000601
Lev Walkin9d542d22006-03-14 16:31:37 +0000602 1506, 4413, 689, 1487, 825, 709, 710, 725, 738, 741,
603 756, 1499, 800, 806, 821, 829, 875, 878, 896, 893,
604 909, 917, 932, 938, 935, 953, 112, 157, 968, 971,
605 979, 994, 1005, 1016, 1022, 1033, 153, 1046, 1049, 1062,
606 1070, 113, 1073, 1086, 1097, 1110, 102, 1126, 1132, 1143,
607 1149, 1160, 1171, 1177, 1188, 116, 1194, 1210, 218, 242,
608 1209, 0, 1493, 1258, 1270, 1282, 0, 4413, 1491, 4413,
609 0, 4413, 0, 1476, 0, 1455, 254, 256, 4413, 0,
610 1480, 4413, 1478, 0, 1477, 0, 1476, 114, 1451, 299,
611 214, 801, 4413, 4413, 1293, 1471, 1277, 1278, 1293, 1294,
Lev Walkinf15320b2004-06-03 03:38:44 +0000612
Lev Walkin9d542d22006-03-14 16:31:37 +0000613 1343, 1470, 1351, 1354, 1367, 1375, 1383, 1391, 1404, 1412,
614 1415, 1436, 1437, 1452, 1458, 1469, 1475, 1486, 1492, 1503,
615 1514, 243, 216, 1527, 1535, 1538, 1553, 1556, 1559, 1585,
616 1577, 1588, 1601, 251, 1609, 1622, 1630, 270, 1633, 1646,
617 1654, 1662, 1670, 240, 1683, 1686, 1694, 1707, 1715, 1723,
618 1731, 1744, 1752, 1765, 532, 1773, 1789, 1790, 104, 558,
619 223, 1805, 1462, 1848, 1856, 1461, 4413, 220, 1430, 1458,
620 1413, 1455, 1447, 4413, 4413, 4413, 4413, 315, 217, 1411,
621 1850, 1851, 1866, 1872, 1883, 1889, 1905, 1906, 1921, 1929,
622 1937, 1953, 1950, 1961, 1974, 1977, 1992, 1998, 2009, 2015,
Lev Walkinf15320b2004-06-03 03:38:44 +0000623
Lev Walkin9d542d22006-03-14 16:31:37 +0000624 2026, 2041, 2047, 431, 533, 2058, 2064, 2079, 2080, 2095,
625 2101, 2116, 2119, 2127, 2140, 432, 2148, 2151, 2164, 559,
626 2172, 2185, 2193, 2201, 502, 2209, 2217, 2230, 2238, 2241,
627 2259, 2256, 2262, 2277, 504, 2280, 2283, 2300, 2306, 2317,
628 560, 503, 420, 2333, 2376, 2398, 2420, 2432, 1437, 303,
629 1407, 2416, 2432, 2448, 2417, 568, 2454, 2469, 2472, 2480,
630 2493, 2501, 2509, 2522, 2530, 2543, 2551, 2559, 2567, 2582,
631 2588, 2599, 2605, 2620, 534, 572, 593, 2621, 2641, 2638,
632 2659, 2658, 2674, 2680, 2691, 2704, 2715, 613, 2712, 2728,
633 2736, 570, 2744, 586, 2752, 2765, 599, 2778, 2781, 2789,
Lev Walkinf15320b2004-06-03 03:38:44 +0000634
Lev Walkin9d542d22006-03-14 16:31:37 +0000635 2802, 595, 608, 2813, 2819, 2830, 277, 2841, 615, 587,
636 619, 759, 2884, 4413, 397, 1430, 2868, 2884, 2881, 656,
637 2892, 2905, 2908, 2925, 2931, 2942, 2948, 2963, 2969, 2986,
638 2992, 3003, 3009, 3020, 3026, 3037, 3043, 3059, 622, 682,
639 672, 3060, 3075, 3081, 3092, 3098, 3113, 3119, 3130, 3145,
640 3151, 723, 710, 3162, 3178, 711, 3175, 1401, 3186, 3199,
641 638, 3207, 3222, 3225, 3228, 728, 753, 3243, 3246, 771,
642 724, 760, 775, 776, 3294, 3306, 1399, 1408, 3290, 3303,
643 611, 3306, 3321, 3327, 3338, 3344, 3355, 3361, 3372, 3383,
644 3389, 3400, 3406, 3417, 3428, 3434, 3445, 862, 759, 782,
Lev Walkinf15320b2004-06-03 03:38:44 +0000645
Lev Walkin9d542d22006-03-14 16:31:37 +0000646 3451, 3462, 3473, 3479, 3490, 3496, 3511, 3512, 3527, 3533,
647 1396, 819, 3544, 849, 3550, 1403, 3561, 3567, 779, 3582,
648 3588, 790, 832, 3604, 1423, 840, 634, 786, 863, 3638,
649 110, 0, 3632, 3633, 867, 3648, 3656, 3659, 3672, 3680,
650 3688, 3696, 3709, 3717, 3725, 3733, 854, 928, 855, 868,
651 3746, 3754, 3757, 3770, 3778, 3781, 766, 1396, 931, 3794,
652 899, 1389, 937, 3815, 3802, 903, 939, 3818, 900, 935,
653 942, 941, 3866, 1027, 943, 1376, 3850, 3861, 1407, 3867,
654 3878, 3884, 3899, 3900, 987, 3915, 3916, 977, 978, 1014,
655 1405, 3931, 3939, 3954, 1042, 1375, 1026, 1009, 1368, 947,
Lev Walkinf15320b2004-06-03 03:38:44 +0000656
Lev Walkin9d542d22006-03-14 16:31:37 +0000657 643, 1395, 1059, 3955, 1061, 958, 1048, 1065, 1243, 4413,
658 1375, 1342, 3970, 3971, 3986, 3987, 4002, 1359, 4003, 4018,
659 1054, 1020, 1067, 4024, 4035, 4046, 1013, 1357, 1083, 1072,
660 1352, 1088, 1343, 1092, 1366, 1094, 1111, 1116, 1335, 1305,
661 4052, 4063, 4069, 1334, 4080, 1024, 430, 1129, 4091, 4097,
662 1144, 1338, 1135, 1140, 1326, 1121, 1315, 1152, 1154, 1148,
663 1165, 1304, 1272, 1296, 4112, 1203, 1190, 1220, 4113, 4128,
664 1328, 1292, 1251, 979, 1261, 1229, 0, 1252, 1283, 1242,
665 1284, 1265, 1249, 1263, 4129, 1260, 1197, 1256, 1215, 1212,
666 1210, 0, 1258, 1183, 1259, 1318, 1151, 1105, 1070, 1088,
Lev Walkinf15320b2004-06-03 03:38:44 +0000667
Lev Walkin9d542d22006-03-14 16:31:37 +0000668 1270, 0, 1158, 1326, 1337, 1046, 1014, 991, 906, 901,
669 1257, 864, 861, 753, 686, 0, 712, 0, 543, 489,
670 440, 407, 376, 380, 371, 365, 271, 257, 1042, 1158,
671 135, 124, 4413, 4413, 4178, 4191, 4204, 4217, 4230, 4243,
672 4255, 4259, 4270, 4283, 4296, 4307, 4318, 4323, 4328, 4333,
673 4337, 4342, 4346, 4350, 4354, 4358, 4369, 4376, 4387, 4399
Lev Walkin2535a692005-07-02 21:42:40 +0000674 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000675
Lev Walkin9d542d22006-03-14 16:31:37 +0000676static yyconst short int yy_def[761] =
Lev Walkin2535a692005-07-02 21:42:40 +0000677 { 0,
Lev Walkin9d542d22006-03-14 16:31:37 +0000678 734, 1, 735, 735, 735, 735, 736, 736, 737, 737,
679 738, 738, 739, 739, 734, 15, 734, 734, 734, 734,
680 734, 740, 734, 741, 734, 734, 734, 734, 734, 734,
681 734, 734, 734, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin2535a692005-07-02 21:42:40 +0000682 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin9d542d22006-03-14 16:31:37 +0000683 33, 742, 734, 743, 734, 734, 734, 734, 734, 734,
684 734, 734, 734, 744, 744, 734, 745, 745, 734, 734,
685 734, 734, 746, 734, 734, 747, 747, 734, 734, 23,
686 734, 734, 734, 748, 734, 734, 734, 734, 734, 734,
687 740, 740, 734, 749, 734, 750, 741, 741, 734, 734,
Lev Walkinf15320b2004-06-03 03:38:44 +0000688
Lev Walkin9d542d22006-03-14 16:31:37 +0000689 734, 734, 734, 734, 751, 33, 33, 33, 33, 33,
690 33, 752, 33, 33, 33, 33, 33, 33, 33, 33,
691 33, 33, 33, 33, 33, 33, 752, 752, 33, 33,
692 33, 33, 33, 33, 33, 33, 752, 33, 33, 33,
693 33, 752, 33, 33, 33, 33, 752, 33, 33, 33,
694 33, 33, 33, 33, 33, 752, 33, 33, 752, 752,
695 33, 753, 742, 734, 734, 734, 743, 734, 734, 734,
696 744, 734, 745, 734, 746, 77, 77, 734, 734, 754,
697 748, 734, 734, 755, 749, 756, 750, 734, 734, 757,
698 734, 734, 734, 734, 751, 758, 33, 33, 33, 33,
699
700 33, 758, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin4696c742005-08-22 12:23:54 +0000701 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin9d542d22006-03-14 16:31:37 +0000702 33, 752, 752, 33, 33, 33, 33, 33, 33, 33,
703 33, 33, 33, 752, 33, 33, 33, 752, 33, 33,
704 33, 33, 33, 752, 33, 33, 33, 33, 33, 33,
705 33, 33, 33, 33, 752, 33, 33, 33, 752, 752,
706 752, 33, 753, 734, 734, 734, 734, 77, 77, 754,
707 734, 755, 756, 734, 734, 734, 734, 757, 734, 734,
708 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
709 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
710
711 33, 33, 33, 752, 752, 33, 33, 33, 33, 33,
712 33, 33, 33, 33, 33, 752, 33, 33, 33, 752,
713 33, 33, 33, 33, 752, 33, 33, 33, 33, 33,
714 33, 33, 33, 33, 752, 33, 33, 33, 33, 33,
715 752, 752, 752, 33, 734, 734, 734, 734, 734, 77,
716 734, 33, 33, 33, 33, 752, 33, 33, 33, 33,
717 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
718 33, 33, 33, 33, 752, 752, 752, 33, 33, 33,
719 33, 33, 33, 33, 33, 33, 33, 752, 33, 33,
720 33, 752, 33, 195, 33, 33, 752, 33, 33, 33,
721
722 33, 752, 752, 33, 33, 33, 752, 33, 752, 752,
723 752, 734, 734, 734, 77, 734, 33, 33, 33, 752,
724 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
725 33, 33, 33, 33, 33, 33, 33, 33, 752, 752,
726 752, 33, 33, 33, 33, 33, 33, 33, 33, 33,
727 33, 195, 752, 33, 33, 752, 33, 195, 33, 33,
728 752, 33, 33, 33, 33, 752, 752, 33, 33, 752,
729 752, 752, 752, 752, 734, 734, 77, 734, 33, 33,
730 752, 33, 33, 33, 33, 33, 33, 33, 33, 33,
731 33, 33, 33, 33, 33, 33, 33, 752, 752, 752,
Lev Walkinf15320b2004-06-03 03:38:44 +0000732
Lev Walkin2535a692005-07-02 21:42:40 +0000733 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin9d542d22006-03-14 16:31:37 +0000734 195, 752, 33, 752, 33, 195, 33, 33, 752, 33,
735 33, 752, 752, 33, 752, 752, 752, 752, 752, 734,
736 77, 759, 33, 33, 752, 33, 33, 33, 33, 33,
737 33, 33, 33, 33, 33, 33, 752, 752, 752, 752,
738 33, 33, 33, 33, 33, 33, 752, 195, 752, 33,
739 752, 195, 752, 33, 33, 752, 752, 33, 752, 752,
740 752, 752, 734, 760, 77, 734, 33, 33, 752, 33,
741 33, 33, 33, 33, 195, 33, 33, 752, 752, 752,
742 752, 33, 33, 33, 752, 195, 752, 752, 195, 752,
Lev Walkinef625402005-09-05 05:17:57 +0000743
Lev Walkin9d542d22006-03-14 16:31:37 +0000744 195, 752, 752, 33, 752, 752, 752, 752, 734, 734,
745 746, 734, 33, 33, 33, 33, 33, 195, 33, 33,
746 752, 752, 752, 33, 33, 33, 752, 195, 752, 752,
747 195, 752, 195, 752, 752, 752, 752, 752, 746, 734,
748 33, 33, 33, 195, 33, 752, 752, 752, 33, 33,
749 752, 195, 752, 752, 195, 752, 195, 752, 752, 752,
750 752, 746, 734, 195, 33, 752, 752, 752, 33, 33,
751 752, 195, 752, 752, 195, 752, 195, 752, 752, 752,
752 752, 746, 734, 195, 33, 752, 752, 752, 195, 752,
753 752, 195, 752, 752, 752, 752, 752, 746, 734, 195,
Lev Walkinf15320b2004-06-03 03:38:44 +0000754
Lev Walkin9d542d22006-03-14 16:31:37 +0000755 752, 195, 752, 752, 752, 752, 746, 734, 195, 752,
756 752, 752, 752, 746, 734, 195, 752, 746, 734, 734,
757 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
758 734, 734, 734, 0, 734, 734, 734, 734, 734, 734,
759 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
760 734, 734, 734, 734, 734, 734, 734, 734, 734, 734
Lev Walkin2535a692005-07-02 21:42:40 +0000761 } ;
Lev Walkinf15320b2004-06-03 03:38:44 +0000762
Lev Walkin9d542d22006-03-14 16:31:37 +0000763static yyconst short int yy_nxt[4496] =
Lev Walkin2535a692005-07-02 21:42:40 +0000764 { 0,
765 18, 19, 20, 19, 19, 21, 22, 23, 24, 25,
766 18, 25, 26, 27, 28, 29, 30, 30, 30, 30,
Lev Walkin4696c742005-08-22 12:23:54 +0000767 30, 30, 30, 31, 21, 32, 32, 18, 33, 34,
768 35, 36, 37, 38, 39, 40, 41, 40, 40, 40,
769 42, 43, 44, 45, 40, 46, 47, 48, 49, 50,
Lev Walkin9d542d22006-03-14 16:31:37 +0000770 51, 40, 40, 40, 25, 21, 21, 52, 52, 52,
Lev Walkin2535a692005-07-02 21:42:40 +0000771 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
Lev Walkin9d542d22006-03-14 16:31:37 +0000772 52, 52, 52, 52, 52, 52, 52, 52, 52, 53,
773 21, 25, 55, 56, 56, 55, 56, 56, 55, 56,
774 56, 68, 57, 65, 60, 57, 60, 66, 58, 55,
Lev Walkinf15320b2004-06-03 03:38:44 +0000775
Lev Walkin9d542d22006-03-14 16:31:37 +0000776 56, 56, 61, 65, 61, 68, 62, 66, 62, 58,
777 93, 89, 69, 102, 202, 70, 202, 63, 734, 63,
778 90, 90, 90, 90, 202, 202, 69, 89, 202, 70,
779 90, 90, 90, 90, 734, 190, 733, 89, 97, 97,
780 97, 97, 95, 274, 575, 89, 89, 732, 191, 275,
781 99, 176, 97, 97, 100, 100, 100, 100, 100, 100,
782 100, 178, 178, 178, 178, 202, 734, 244, 71, 202,
783 72, 103, 103, 103, 103, 103, 103, 103, 103, 238,
784 341, 222, 71, 255, 72, 73, 74, 75, 74, 74,
785 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
Lev Walkinf15320b2004-06-03 03:38:44 +0000786
Lev Walkin9d542d22006-03-14 16:31:37 +0000787 178, 178, 178, 178, 90, 90, 90, 90, 73, 73,
788 73, 73, 73, 106, 223, 279, 113, 77, 279, 106,
789 114, 234, 121, 106, 115, 106, 116, 106, 202, 106,
790 202, 106, 106, 106, 106, 202, 117, 106, 106, 73,
791 73, 73, 280, 118, 106, 280, 106, 119, 106, 106,
792 120, 106, 202, 106, 202, 202, 106, 178, 178, 178,
793 178, 176, 350, 202, 74, 73, 74, 73, 74, 75,
794 74, 74, 73, 73, 73, 73, 73, 73, 73, 73,
795 73, 73, 202, 259, 268, 269, 106, 305, 343, 202,
796 73, 73, 73, 73, 73, 176, 106, 122, 123, 77,
Lev Walkinf15320b2004-06-03 03:38:44 +0000797
Lev Walkin9d542d22006-03-14 16:31:37 +0000798 106, 277, 260, 277, 304, 106, 138, 139, 124, 325,
799 140, 278, 316, 125, 106, 261, 106, 277, 106, 277,
800 141, 73, 73, 73, 106, 106, 106, 278, 106, 729,
801 126, 320, 728, 106, 415, 142, 192, 192, 192, 192,
802 192, 192, 192, 192, 176, 470, 74, 73, 74, 32,
803 78, 79, 78, 78, 32, 32, 80, 32, 32, 32,
804 81, 82, 32, 83, 32, 32, 32, 32, 32, 32,
805 32, 32, 32, 32, 32, 32, 32, 84, 84, 84,
806 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
807 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
Lev Walkinf15320b2004-06-03 03:38:44 +0000808
Lev Walkin9d542d22006-03-14 16:31:37 +0000809 84, 84, 84, 85, 86, 32, 32, 32, 32, 32,
810 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
811 32, 32, 32, 32, 32, 32, 32, 32, 87, 32,
812 88, 89, 202, 477, 97, 97, 97, 97, 176, 727,
813 726, 188, 202, 202, 202, 725, 724, 93, 97, 97,
814 723, 94, 94, 94, 94, 94, 94, 94, 94, 94,
815 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
816 94, 94, 94, 94, 94, 94, 94, 667, 411, 95,
817 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
818 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
Lev Walkinf15320b2004-06-03 03:38:44 +0000819
Lev Walkin9d542d22006-03-14 16:31:37 +0000820 96, 96, 105, 375, 388, 106, 106, 106, 106, 106,
821 106, 106, 106, 722, 202, 202, 202, 721, 106, 107,
822 106, 106, 106, 106, 106, 106, 106, 106, 106, 108,
823 106, 109, 106, 110, 106, 106, 106, 106, 111, 106,
824 106, 106, 106, 106, 202, 202, 202, 112, 112, 112,
825 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
826 112, 112, 112, 112, 112, 112, 112, 112, 112, 106,
827 202, 202, 202, 410, 129, 106, 397, 130, 403, 106,
828 202, 106, 202, 106, 202, 106, 131, 132, 106, 106,
829 106, 439, 133, 335, 106, 134, 106, 376, 734, 202,
Lev Walkinf15320b2004-06-03 03:38:44 +0000830
Lev Walkin9d542d22006-03-14 16:31:37 +0000831 106, 127, 106, 135, 106, 202, 106, 202, 106, 136,
832 106, 202, 128, 143, 106, 106, 144, 720, 392, 342,
833 202, 409, 458, 202, 145, 202, 106, 202, 106, 106,
834 146, 202, 148, 106, 202, 106, 137, 440, 149, 106,
835 420, 106, 150, 106, 456, 106, 202, 106, 106, 106,
836 202, 153, 106, 151, 106, 734, 461, 147, 152, 154,
837 106, 473, 106, 106, 106, 441, 106, 466, 202, 467,
838 106, 106, 106, 106, 106, 157, 155, 106, 453, 106,
839 535, 158, 106, 106, 202, 633, 474, 472, 160, 498,
840 161, 570, 156, 106, 202, 106, 519, 106, 164, 164,
Lev Walkinf15320b2004-06-03 03:38:44 +0000841
Lev Walkin9d542d22006-03-14 16:31:37 +0000842 164, 164, 106, 159, 103, 103, 103, 103, 103, 103,
843 103, 103, 165, 165, 165, 165, 165, 165, 166, 166,
844 175, 481, 202, 202, 202, 175, 175, 175, 175, 175,
845 175, 175, 175, 175, 175, 734, 202, 500, 106, 106,
846 202, 499, 514, 175, 175, 175, 175, 175, 106, 106,
847 106, 106, 106, 106, 106, 719, 197, 106, 106, 511,
848 412, 412, 412, 412, 198, 202, 106, 106, 106, 512,
849 106, 202, 202, 106, 175, 175, 175, 106, 202, 106,
850 106, 106, 106, 202, 200, 106, 106, 202, 202, 106,
851 199, 202, 718, 522, 202, 106, 526, 106, 202, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000852
Lev Walkin9d542d22006-03-14 16:31:37 +0000853 175, 175, 202, 201, 106, 549, 175, 175, 175, 175,
854 175, 175, 175, 175, 175, 175, 192, 192, 192, 192,
855 192, 192, 192, 192, 175, 175, 175, 175, 175, 106,
856 523, 202, 525, 527, 203, 106, 528, 529, 595, 106,
857 414, 106, 177, 106, 202, 106, 563, 106, 106, 106,
858 106, 550, 202, 204, 106, 175, 175, 175, 106, 566,
859 106, 202, 106, 571, 205, 559, 202, 202, 106, 106,
860 106, 206, 106, 202, 202, 202, 202, 106, 567, 202,
861 202, 175, 196, 196, 196, 196, 196, 196, 196, 196,
862 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
Lev Walkinf15320b2004-06-03 03:38:44 +0000863
Lev Walkin9d542d22006-03-14 16:31:37 +0000864 196, 196, 196, 196, 106, 569, 207, 106, 547, 572,
865 561, 202, 202, 202, 106, 202, 106, 106, 106, 106,
866 208, 106, 106, 106, 209, 106, 106, 548, 588, 590,
867 579, 591, 106, 210, 211, 106, 106, 106, 106, 106,
868 202, 106, 212, 202, 106, 716, 213, 202, 106, 202,
869 106, 202, 106, 202, 202, 611, 106, 106, 106, 202,
870 106, 106, 214, 215, 106, 106, 602, 106, 217, 605,
871 202, 106, 598, 106, 220, 106, 106, 106, 106, 106,
872 216, 218, 106, 106, 176, 219, 106, 224, 607, 202,
873 202, 202, 106, 632, 106, 221, 106, 106, 600, 734,
Lev Walkinf15320b2004-06-03 03:38:44 +0000874
Lev Walkin9d542d22006-03-14 16:31:37 +0000875 106, 106, 606, 225, 636, 597, 589, 106, 106, 106,
876 106, 106, 106, 603, 106, 608, 106, 618, 106, 106,
877 106, 202, 226, 106, 227, 202, 202, 106, 609, 609,
878 609, 609, 202, 106, 106, 106, 202, 106, 202, 622,
879 228, 229, 106, 730, 106, 106, 106, 230, 106, 621,
880 691, 106, 715, 106, 202, 106, 714, 106, 202, 106,
881 202, 106, 106, 232, 106, 106, 202, 231, 630, 731,
882 106, 202, 233, 202, 106, 106, 106, 202, 106, 202,
883 647, 106, 651, 235, 202, 106, 623, 106, 106, 106,
884 106, 106, 106, 666, 106, 202, 236, 106, 629, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000885
Lev Walkin9d542d22006-03-14 16:31:37 +0000886 202, 106, 106, 106, 202, 106, 202, 627, 610, 106,
887 106, 106, 106, 106, 106, 106, 106, 237, 106, 646,
888 239, 106, 637, 202, 635, 106, 106, 106, 202, 106,
889 709, 634, 648, 202, 106, 240, 106, 638, 106, 106,
890 106, 202, 242, 708, 654, 241, 243, 202, 653, 106,
891 707, 106, 202, 106, 245, 106, 202, 658, 106, 730,
892 202, 106, 656, 202, 202, 246, 202, 106, 659, 106,
893 202, 106, 106, 106, 106, 106, 247, 202, 106, 248,
894 106, 661, 106, 660, 106, 731, 106, 252, 106, 106,
895 106, 106, 106, 676, 250, 202, 249, 106, 668, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000896
Lev Walkin9d542d22006-03-14 16:31:37 +0000897 106, 251, 202, 106, 673, 674, 106, 671, 106, 202,
898 106, 253, 106, 680, 106, 202, 106, 106, 106, 106,
899 106, 678, 202, 106, 202, 106, 679, 106, 711, 106,
900 256, 106, 202, 106, 681, 106, 254, 106, 106, 106,
901 257, 202, 106, 258, 609, 609, 609, 609, 106, 106,
902 106, 106, 106, 106, 202, 687, 262, 106, 106, 164,
903 164, 164, 164, 202, 202, 701, 686, 702, 202, 202,
904 202, 202, 202, 165, 165, 165, 165, 165, 165, 166,
905 166, 264, 202, 688, 703, 166, 166, 166, 166, 166,
906 166, 166, 166, 265, 693, 202, 202, 166, 166, 166,
Lev Walkinf15320b2004-06-03 03:38:44 +0000907
Lev Walkin9d542d22006-03-14 16:31:37 +0000908 166, 166, 166, 166, 166, 105, 106, 106, 700, 281,
909 699, 696, 698, 692, 690, 694, 106, 106, 106, 106,
910 106, 106, 106, 106, 610, 106, 106, 704, 705, 717,
911 202, 710, 106, 282, 106, 106, 106, 106, 202, 689,
912 202, 106, 106, 684, 683, 682, 677, 697, 695, 202,
913 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
914 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
915 196, 196, 106, 675, 672, 664, 663, 662, 202, 657,
916 106, 706, 106, 106, 106, 283, 106, 284, 655, 712,
917 106, 106, 106, 106, 106, 106, 106, 106, 652, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000918
Lev Walkin9d542d22006-03-14 16:31:37 +0000919 713, 644, 106, 640, 106, 639, 106, 202, 106, 631,
920 106, 628, 106, 285, 286, 106, 106, 202, 106, 202,
921 106, 612, 106, 106, 106, 599, 106, 288, 287, 596,
922 106, 106, 106, 106, 106, 202, 562, 558, 532, 106,
923 531, 106, 516, 106, 106, 106, 478, 106, 416, 349,
924 289, 106, 106, 106, 106, 290, 106, 351, 106, 186,
925 106, 291, 292, 106, 293, 106, 106, 184, 182, 295,
926 180, 176, 294, 349, 162, 106, 106, 106, 106, 106,
927 106, 106, 734, 202, 106, 106, 275, 106, 186, 184,
928 271, 106, 180, 106, 296, 106, 176, 106, 106, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000929
Lev Walkin9d542d22006-03-14 16:31:37 +0000930 106, 106, 267, 266, 106, 162, 106, 298, 106, 297,
931 106, 202, 106, 194, 106, 106, 106, 106, 106, 193,
932 189, 106, 186, 106, 301, 299, 184, 106, 300, 106,
933 183, 106, 106, 106, 106, 106, 182, 182, 180, 102,
934 106, 179, 106, 106, 106, 174, 106, 172, 102, 302,
935 170, 106, 169, 106, 303, 106, 106, 106, 168, 162,
936 104, 101, 106, 92, 106, 89, 106, 106, 106, 89,
937 106, 734, 734, 306, 106, 106, 307, 308, 106, 106,
938 309, 106, 106, 106, 734, 106, 106, 734, 106, 734,
939 734, 312, 310, 734, 106, 106, 106, 106, 106, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000940
Lev Walkin9d542d22006-03-14 16:31:37 +0000941 106, 106, 106, 311, 106, 313, 106, 106, 734, 734,
942 734, 734, 734, 734, 106, 734, 106, 106, 106, 734,
943 106, 734, 734, 734, 106, 106, 106, 106, 106, 106,
944 106, 106, 734, 106, 734, 734, 314, 734, 106, 734,
945 315, 317, 106, 734, 106, 734, 734, 734, 106, 106,
946 106, 106, 106, 734, 318, 734, 734, 106, 734, 106,
947 734, 106, 106, 106, 734, 106, 319, 734, 734, 106,
948 106, 106, 106, 106, 106, 106, 106, 734, 106, 734,
949 321, 106, 734, 106, 734, 106, 734, 106, 734, 106,
950 734, 106, 734, 106, 106, 106, 734, 106, 734, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000951
Lev Walkin9d542d22006-03-14 16:31:37 +0000952 322, 106, 106, 106, 734, 106, 734, 734, 323, 106,
953 106, 106, 106, 106, 327, 106, 734, 734, 106, 324,
954 734, 734, 326, 106, 106, 106, 106, 106, 734, 106,
955 734, 106, 734, 106, 106, 106, 106, 106, 734, 734,
956 734, 734, 328, 734, 106, 734, 106, 329, 106, 734,
957 106, 734, 106, 734, 106, 106, 106, 734, 106, 330,
958 106, 734, 106, 106, 106, 734, 106, 734, 734, 734,
959 106, 106, 106, 106, 106, 734, 734, 734, 331, 106,
960 734, 106, 734, 106, 734, 106, 734, 106, 734, 734,
961 332, 106, 106, 106, 106, 106, 734, 334, 333, 734,
Lev Walkinf15320b2004-06-03 03:38:44 +0000962
Lev Walkin9d542d22006-03-14 16:31:37 +0000963 106, 734, 106, 734, 106, 734, 106, 734, 106, 734,
964 734, 340, 106, 106, 106, 336, 106, 337, 106, 106,
965 734, 106, 338, 734, 734, 734, 734, 734, 106, 106,
966 106, 106, 106, 106, 106, 734, 339, 106, 106, 734,
967 344, 734, 734, 734, 106, 734, 106, 734, 106, 345,
968 345, 345, 345, 106, 734, 734, 734, 347, 347, 347,
969 347, 734, 734, 346, 346, 346, 346, 346, 346, 346,
970 346, 348, 348, 348, 348, 348, 348, 348, 348, 106,
971 106, 734, 734, 734, 734, 734, 734, 353, 734, 106,
972 106, 352, 106, 106, 106, 106, 734, 734, 106, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000973
Lev Walkin9d542d22006-03-14 16:31:37 +0000974 734, 106, 734, 734, 734, 106, 354, 106, 734, 106,
975 734, 106, 106, 355, 106, 106, 734, 734, 106, 734,
976 106, 357, 106, 734, 106, 734, 106, 734, 106, 734,
977 106, 106, 106, 358, 106, 106, 359, 106, 734, 734,
978 734, 734, 734, 734, 106, 106, 106, 106, 106, 106,
979 106, 734, 734, 106, 106, 734, 734, 356, 106, 734,
980 106, 734, 106, 734, 106, 734, 106, 360, 106, 106,
981 106, 361, 106, 734, 734, 734, 106, 106, 106, 106,
982 106, 363, 106, 734, 362, 106, 734, 734, 734, 106,
983 106, 106, 106, 106, 106, 734, 106, 734, 364, 734,
Lev Walkinf15320b2004-06-03 03:38:44 +0000984
Lev Walkin9d542d22006-03-14 16:31:37 +0000985 106, 106, 365, 106, 106, 366, 106, 734, 367, 106,
986 734, 734, 734, 106, 734, 106, 106, 106, 106, 734,
987 106, 106, 106, 734, 368, 106, 734, 106, 734, 734,
988 734, 106, 734, 106, 734, 106, 734, 106, 106, 106,
989 106, 369, 734, 734, 106, 370, 106, 734, 106, 734,
990 106, 734, 106, 734, 106, 106, 106, 106, 106, 734,
991 371, 734, 734, 106, 734, 106, 734, 372, 734, 106,
992 106, 373, 734, 374, 106, 734, 106, 734, 734, 734,
993 106, 734, 106, 734, 106, 734, 106, 106, 106, 106,
994 106, 734, 734, 106, 734, 106, 734, 106, 734, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +0000995
Lev Walkin9d542d22006-03-14 16:31:37 +0000996 734, 106, 734, 106, 734, 106, 106, 106, 106, 106,
997 734, 378, 106, 734, 734, 379, 734, 734, 106, 106,
998 106, 106, 106, 106, 106, 380, 734, 106, 106, 382,
999 106, 734, 377, 734, 106, 734, 106, 386, 106, 734,
1000 106, 734, 106, 381, 106, 106, 383, 734, 106, 106,
1001 384, 734, 734, 734, 734, 106, 106, 106, 106, 106,
1002 106, 385, 106, 734, 106, 734, 106, 106, 106, 106,
1003 106, 734, 734, 387, 734, 106, 734, 106, 389, 106,
1004 106, 106, 734, 106, 734, 734, 734, 106, 106, 106,
1005 106, 106, 106, 106, 106, 734, 106, 394, 390, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +00001006
Lev Walkin9d542d22006-03-14 16:31:37 +00001007 734, 106, 734, 106, 393, 106, 391, 106, 734, 734,
1008 734, 106, 106, 106, 106, 106, 734, 734, 734, 734,
1009 106, 734, 106, 734, 106, 395, 106, 734, 106, 396,
1010 106, 734, 106, 106, 106, 734, 106, 734, 106, 734,
1011 106, 106, 106, 734, 106, 734, 106, 734, 106, 106,
1012 106, 734, 106, 734, 734, 734, 106, 106, 106, 106,
1013 106, 734, 399, 734, 398, 106, 734, 106, 734, 106,
1014 106, 106, 734, 106, 734, 734, 734, 106, 106, 106,
1015 106, 106, 400, 734, 106, 106, 106, 401, 106, 106,
1016 734, 106, 734, 734, 734, 106, 734, 106, 106, 106,
Lev Walkinf15320b2004-06-03 03:38:44 +00001017
Lev Walkin9d542d22006-03-14 16:31:37 +00001018 106, 106, 106, 106, 106, 106, 106, 106, 734, 106,
1019 106, 734, 106, 734, 734, 734, 106, 734, 106, 106,
1020 106, 404, 106, 106, 106, 106, 106, 734, 106, 106,
1021 402, 405, 406, 734, 734, 106, 734, 734, 734, 106,
1022 734, 106, 734, 106, 734, 106, 106, 106, 106, 106,
1023 734, 734, 734, 734, 106, 734, 106, 734, 106, 734,
1024 106, 734, 106, 408, 734, 106, 734, 734, 734, 734,
1025 734, 407, 106, 734, 106, 734, 106, 345, 345, 345,
1026 345, 106, 734, 734, 734, 734, 734, 734, 734, 734,
1027 734, 346, 346, 346, 346, 346, 346, 346, 346, 412,
Lev Walkinf15320b2004-06-03 03:38:44 +00001028
Lev Walkin9d542d22006-03-14 16:31:37 +00001029 412, 412, 412, 734, 734, 734, 734, 734, 734, 413,
1030 734, 734, 734, 346, 346, 346, 346, 346, 346, 346,
1031 346, 347, 347, 347, 347, 734, 734, 734, 734, 734,
1032 734, 734, 734, 734, 734, 348, 348, 348, 348, 348,
1033 348, 348, 348, 413, 734, 106, 106, 348, 348, 348,
1034 348, 348, 348, 348, 348, 106, 106, 106, 106, 106,
1035 106, 106, 418, 417, 106, 106, 734, 734, 734, 734,
1036 734, 106, 734, 106, 734, 106, 419, 106, 734, 414,
1037 106, 734, 421, 106, 734, 734, 734, 106, 734, 106,
1038 734, 106, 734, 106, 734, 106, 106, 106, 106, 422,
Lev Walkinf59d0752004-08-18 04:59:12 +00001039
Lev Walkin9d542d22006-03-14 16:31:37 +00001040 734, 106, 106, 734, 423, 734, 734, 734, 106, 106,
1041 106, 106, 106, 106, 734, 106, 734, 106, 734, 106,
1042 106, 106, 106, 106, 734, 734, 734, 734, 106, 734,
1043 106, 734, 106, 734, 424, 734, 106, 734, 106, 734,
1044 106, 106, 106, 734, 106, 426, 425, 734, 106, 106,
1045 106, 106, 106, 734, 734, 734, 734, 106, 734, 106,
1046 734, 427, 428, 106, 734, 106, 429, 734, 734, 106,
1047 106, 106, 106, 106, 430, 734, 734, 734, 106, 734,
1048 106, 734, 106, 431, 106, 734, 106, 432, 106, 734,
1049 106, 106, 106, 734, 106, 734, 106, 734, 106, 106,
Lev Walkind9574ae2005-03-24 16:22:35 +00001050
Lev Walkin9d542d22006-03-14 16:31:37 +00001051 106, 734, 106, 734, 433, 734, 106, 106, 106, 734,
1052 106, 106, 435, 734, 434, 106, 734, 106, 734, 734,
1053 734, 106, 734, 106, 734, 106, 734, 106, 106, 106,
1054 106, 106, 734, 734, 106, 436, 106, 734, 106, 734,
1055 106, 734, 106, 734, 106, 437, 438, 106, 106, 106,
1056 106, 734, 734, 106, 734, 734, 734, 442, 734, 106,
1057 106, 106, 106, 106, 106, 734, 734, 106, 106, 106,
1058 106, 443, 734, 444, 734, 734, 734, 106, 734, 106,
1059 106, 106, 106, 734, 106, 445, 106, 106, 106, 106,
1060 446, 734, 734, 734, 734, 734, 734, 106, 106, 447,
Lev Walkind9574ae2005-03-24 16:22:35 +00001061
Lev Walkin9d542d22006-03-14 16:31:37 +00001062 106, 106, 106, 106, 734, 734, 106, 106, 734, 106,
1063 734, 734, 449, 106, 734, 106, 734, 106, 734, 106,
1064 106, 106, 448, 106, 451, 734, 734, 452, 106, 734,
1065 106, 734, 106, 106, 106, 734, 734, 450, 734, 106,
1066 734, 106, 734, 106, 106, 106, 734, 106, 734, 734,
1067 734, 106, 106, 106, 106, 106, 106, 106, 106, 454,
1068 106, 734, 734, 106, 734, 106, 734, 106, 734, 106,
1069 734, 106, 734, 106, 734, 106, 106, 455, 734, 106,
1070 734, 106, 734, 106, 106, 106, 734, 106, 734, 457,
1071 734, 106, 106, 459, 106, 106, 734, 734, 734, 734,
Lev Walkind9574ae2005-03-24 16:22:35 +00001072
Lev Walkin9d542d22006-03-14 16:31:37 +00001073 106, 734, 734, 734, 106, 734, 106, 106, 106, 734,
1074 106, 734, 460, 106, 462, 734, 734, 106, 106, 106,
1075 106, 106, 463, 464, 106, 734, 106, 734, 106, 106,
1076 106, 106, 106, 734, 734, 734, 734, 106, 734, 734,
1077 734, 106, 106, 106, 734, 106, 734, 734, 106, 734,
1078 106, 468, 106, 465, 106, 734, 106, 734, 106, 106,
1079 106, 106, 106, 734, 734, 734, 734, 106, 734, 106,
1080 106, 106, 734, 106, 734, 469, 734, 734, 106, 734,
1081 106, 734, 106, 734, 106, 475, 475, 475, 475, 106,
1082 734, 734, 734, 734, 734, 734, 734, 106, 734, 476,
Lev Walkin2535a692005-07-02 21:42:40 +00001083
Lev Walkin9d542d22006-03-14 16:31:37 +00001084 476, 476, 476, 476, 476, 476, 476, 106, 734, 106,
1085 106, 106, 479, 106, 734, 471, 106, 734, 734, 734,
1086 106, 106, 106, 106, 106, 106, 734, 106, 480, 106,
1087 734, 106, 106, 482, 106, 106, 734, 106, 734, 734,
1088 106, 734, 734, 734, 106, 734, 106, 106, 106, 106,
1089 734, 106, 483, 106, 106, 734, 106, 484, 734, 485,
1090 106, 734, 734, 734, 106, 734, 106, 734, 106, 734,
1091 106, 106, 106, 106, 106, 734, 734, 106, 734, 106,
1092 734, 106, 734, 486, 734, 106, 734, 106, 734, 106,
1093 106, 106, 106, 734, 488, 487, 106, 734, 106, 734,
Lev Walkin2535a692005-07-02 21:42:40 +00001094
Lev Walkin9d542d22006-03-14 16:31:37 +00001095 734, 734, 106, 734, 106, 734, 106, 734, 106, 734,
1096 106, 106, 106, 734, 734, 106, 489, 106, 490, 734,
1097 734, 106, 734, 491, 734, 106, 734, 106, 734, 106,
1098 734, 106, 106, 106, 106, 106, 734, 493, 106, 734,
1099 106, 734, 106, 734, 492, 734, 106, 734, 106, 106,
1100 106, 106, 106, 734, 734, 106, 734, 106, 734, 106,
1101 734, 106, 494, 106, 734, 106, 106, 106, 106, 106,
1102 734, 734, 106, 734, 106, 734, 106, 734, 106, 496,
1103 106, 734, 106, 495, 106, 106, 106, 497, 106, 106,
1104 734, 106, 734, 501, 734, 734, 734, 734, 106, 106,
Lev Walkin2535a692005-07-02 21:42:40 +00001105
Lev Walkin9d542d22006-03-14 16:31:37 +00001106 106, 106, 106, 106, 106, 734, 734, 106, 106, 734,
1107 106, 502, 503, 734, 106, 734, 106, 734, 106, 734,
1108 106, 106, 106, 106, 106, 734, 734, 106, 734, 106,
1109 505, 106, 734, 106, 734, 106, 734, 106, 504, 106,
1110 106, 106, 106, 506, 734, 734, 106, 734, 106, 507,
1111 734, 734, 106, 734, 106, 734, 106, 734, 106, 106,
1112 106, 106, 106, 734, 734, 734, 734, 106, 734, 106,
1113 734, 106, 734, 106, 106, 508, 734, 509, 106, 734,
1114 106, 734, 734, 734, 106, 734, 106, 734, 106, 734,
1115 106, 106, 106, 106, 106, 734, 734, 510, 734, 106,
Lev Walkin2535a692005-07-02 21:42:40 +00001116
Lev Walkin9d542d22006-03-14 16:31:37 +00001117 734, 106, 734, 106, 106, 106, 513, 106, 734, 734,
1118 106, 734, 734, 734, 106, 106, 515, 106, 106, 106,
1119 734, 106, 734, 106, 734, 106, 106, 106, 106, 106,
1120 734, 518, 734, 517, 106, 734, 106, 734, 106, 734,
1121 106, 734, 106, 734, 734, 734, 106, 106, 106, 734,
1122 106, 106, 521, 734, 106, 106, 520, 106, 734, 734,
1123 734, 106, 734, 106, 106, 106, 106, 106, 106, 106,
1124 106, 106, 106, 106, 734, 106, 106, 734, 734, 734,
1125 734, 734, 106, 734, 106, 106, 106, 106, 734, 106,
1126 734, 106, 524, 734, 106, 475, 475, 475, 475, 734,
Lev Walkin2535a692005-07-02 21:42:40 +00001127
Lev Walkin9d542d22006-03-14 16:31:37 +00001128 734, 734, 734, 734, 734, 734, 734, 734, 734, 476,
1129 476, 476, 476, 476, 476, 476, 476, 530, 734, 106,
1130 734, 476, 476, 476, 476, 476, 476, 476, 476, 106,
1131 734, 106, 106, 106, 734, 106, 734, 533, 106, 534,
1132 734, 734, 106, 734, 106, 106, 106, 106, 734, 106,
1133 106, 106, 734, 536, 106, 734, 106, 734, 734, 734,
1134 106, 734, 106, 734, 106, 734, 106, 106, 537, 106,
1135 106, 734, 734, 106, 538, 106, 734, 106, 734, 106,
1136 539, 106, 734, 106, 106, 106, 106, 106, 734, 734,
1137 106, 734, 106, 734, 106, 734, 106, 734, 106, 734,
Lev Walkin2535a692005-07-02 21:42:40 +00001138
Lev Walkin9d542d22006-03-14 16:31:37 +00001139 106, 106, 106, 106, 106, 734, 734, 734, 540, 106,
1140 734, 106, 106, 106, 541, 106, 734, 734, 106, 734,
1141 106, 734, 106, 734, 106, 734, 106, 734, 106, 106,
1142 106, 106, 106, 734, 542, 106, 734, 106, 734, 106,
1143 734, 106, 734, 106, 734, 106, 106, 106, 106, 106,
1144 734, 734, 734, 543, 106, 734, 106, 106, 106, 734,
1145 106, 734, 734, 545, 544, 106, 734, 106, 734, 106,
1146 734, 106, 734, 106, 106, 106, 106, 106, 734, 734,
1147 106, 734, 106, 734, 546, 734, 106, 551, 106, 734,
1148 106, 106, 106, 106, 106, 734, 734, 734, 734, 106,
Lev Walkin2535a692005-07-02 21:42:40 +00001149
Lev Walkin9d542d22006-03-14 16:31:37 +00001150 734, 106, 106, 106, 734, 106, 734, 734, 106, 552,
1151 106, 734, 106, 734, 106, 734, 106, 734, 106, 106,
1152 106, 106, 106, 734, 734, 106, 734, 106, 554, 106,
1153 734, 106, 734, 106, 734, 106, 553, 106, 106, 106,
1154 106, 106, 734, 734, 106, 734, 734, 734, 734, 734,
1155 106, 106, 106, 106, 106, 106, 106, 556, 555, 106,
1156 106, 734, 106, 734, 734, 734, 106, 734, 106, 734,
1157 106, 734, 106, 106, 106, 106, 106, 734, 734, 106,
1158 734, 106, 734, 560, 734, 106, 734, 106, 734, 106,
1159 106, 106, 106, 106, 734, 734, 106, 734, 106, 734,
Lev Walkin2535a692005-07-02 21:42:40 +00001160
Lev Walkin9d542d22006-03-14 16:31:37 +00001161 106, 734, 106, 734, 106, 734, 106, 557, 106, 106,
1162 106, 106, 734, 734, 564, 106, 734, 106, 734, 734,
1163 565, 106, 734, 106, 734, 106, 734, 106, 734, 106,
1164 106, 106, 568, 106, 734, 734, 106, 734, 734, 573,
1165 573, 573, 573, 106, 734, 106, 734, 106, 734, 734,
1166 734, 734, 106, 574, 574, 574, 574, 574, 574, 574,
1167 574, 106, 106, 578, 734, 734, 734, 734, 577, 734,
1168 734, 106, 106, 106, 106, 106, 106, 106, 734, 734,
1169 106, 106, 734, 734, 734, 106, 734, 106, 106, 106,
1170 734, 106, 734, 580, 734, 106, 106, 106, 106, 106,
Lev Walkin2535a692005-07-02 21:42:40 +00001171
Lev Walkin9d542d22006-03-14 16:31:37 +00001172 582, 106, 106, 581, 106, 734, 734, 106, 585, 106,
1173 734, 106, 734, 583, 734, 106, 734, 106, 734, 106,
1174 106, 106, 584, 106, 734, 106, 734, 106, 106, 106,
1175 734, 106, 734, 734, 734, 106, 106, 106, 106, 106,
1176 734, 586, 734, 734, 106, 734, 106, 734, 106, 734,
1177 106, 734, 106, 734, 106, 734, 106, 106, 106, 734,
1178 106, 587, 106, 734, 106, 106, 106, 734, 106, 734,
1179 734, 734, 106, 106, 106, 106, 106, 734, 592, 734,
1180 734, 106, 734, 106, 734, 106, 106, 106, 734, 106,
1181 734, 734, 734, 106, 106, 106, 106, 106, 106, 106,
Lev Walkin2535a692005-07-02 21:42:40 +00001182
Lev Walkin9d542d22006-03-14 16:31:37 +00001183 106, 734, 106, 734, 734, 106, 734, 106, 734, 106,
1184 106, 106, 734, 106, 593, 734, 734, 106, 106, 106,
1185 106, 106, 106, 106, 106, 734, 106, 601, 594, 106,
1186 734, 106, 734, 106, 734, 106, 734, 106, 734, 734,
1187 734, 106, 106, 106, 106, 106, 734, 106, 734, 734,
1188 106, 734, 734, 734, 106, 734, 106, 604, 106, 106,
1189 734, 106, 734, 106, 734, 734, 106, 573, 573, 573,
1190 573, 734, 734, 734, 734, 734, 734, 734, 734, 106,
1191 734, 574, 574, 574, 574, 574, 574, 574, 574, 106,
1192 106, 106, 613, 106, 734, 734, 106, 734, 106, 734,
Lev Walkin2535a692005-07-02 21:42:40 +00001193
Lev Walkin9d542d22006-03-14 16:31:37 +00001194 106, 734, 106, 734, 106, 734, 106, 106, 106, 106,
1195 106, 734, 734, 106, 734, 106, 615, 106, 734, 106,
1196 734, 106, 734, 106, 614, 106, 106, 106, 106, 106,
1197 734, 734, 106, 616, 734, 734, 734, 734, 106, 106,
1198 106, 617, 106, 106, 106, 106, 619, 106, 106, 734,
1199 734, 734, 734, 734, 106, 620, 106, 106, 106, 106,
1200 106, 734, 734, 106, 106, 734, 734, 734, 106, 734,
1201 106, 734, 106, 734, 106, 734, 624, 734, 106, 106,
1202 106, 625, 106, 106, 106, 734, 734, 106, 734, 734,
1203 626, 734, 734, 106, 106, 106, 106, 106, 106, 106,
Lev Walkin2535a692005-07-02 21:42:40 +00001204
Lev Walkin9d542d22006-03-14 16:31:37 +00001205 106, 734, 106, 106, 734, 734, 734, 734, 734, 106,
1206 106, 641, 106, 106, 106, 106, 106, 642, 106, 106,
1207 734, 734, 734, 734, 734, 106, 106, 106, 106, 106,
1208 106, 106, 106, 734, 106, 106, 734, 734, 734, 734,
1209 734, 106, 106, 106, 106, 106, 106, 106, 643, 734,
1210 106, 106, 734, 106, 645, 734, 734, 106, 734, 106,
1211 734, 106, 734, 106, 106, 106, 106, 106, 734, 734,
1212 734, 734, 106, 734, 106, 106, 649, 734, 106, 734,
1213 734, 106, 734, 106, 734, 106, 734, 106, 650, 106,
1214 734, 106, 106, 106, 106, 106, 734, 734, 106, 734,
Lev Walkin2535a692005-07-02 21:42:40 +00001215
Lev Walkin9d542d22006-03-14 16:31:37 +00001216 106, 734, 106, 734, 106, 734, 106, 734, 106, 106,
1217 106, 106, 106, 734, 734, 734, 734, 106, 734, 106,
1218 106, 106, 734, 106, 734, 734, 106, 665, 106, 734,
1219 106, 734, 106, 734, 106, 734, 106, 669, 670, 106,
1220 106, 106, 106, 734, 734, 106, 734, 734, 734, 734,
1221 734, 106, 106, 106, 106, 106, 106, 106, 106, 734,
1222 106, 106, 734, 734, 685, 734, 734, 106, 106, 106,
1223 106, 106, 106, 734, 734, 734, 106, 106, 54, 54,
1224 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
1225 54, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1226
1227 59, 59, 59, 59, 64, 64, 64, 64, 64, 64,
1228 64, 64, 64, 64, 64, 64, 64, 67, 67, 67,
1229 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
Lev Walkina2fcce42006-03-06 11:28:17 +00001230 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
Lev Walkin9d542d22006-03-14 16:31:37 +00001231 76, 76, 76, 91, 91, 91, 91, 734, 91, 91,
1232 91, 91, 91, 91, 91, 91, 98, 98, 98, 734,
1233 98, 734, 98, 734, 98, 163, 163, 734, 163, 163,
1234 167, 167, 734, 734, 167, 167, 734, 167, 167, 167,
1235 167, 167, 167, 171, 171, 171, 171, 734, 171, 171,
1236 171, 171, 171, 171, 171, 171, 173, 173, 173, 173,
Lev Walkin2535a692005-07-02 21:42:40 +00001237
Lev Walkin9d542d22006-03-14 16:31:37 +00001238 173, 173, 173, 173, 734, 173, 173, 175, 734, 734,
1239 734, 175, 175, 175, 175, 175, 175, 175, 176, 734,
1240 734, 734, 176, 176, 176, 176, 176, 176, 176, 181,
1241 181, 734, 181, 181, 185, 185, 734, 185, 185, 187,
1242 187, 734, 187, 187, 195, 734, 195, 195, 112, 112,
1243 734, 112, 112, 263, 734, 263, 263, 270, 734, 270,
1244 270, 272, 734, 272, 272, 273, 734, 273, 273, 276,
1245 276, 276, 276, 276, 276, 276, 276, 276, 276, 276,
1246 276, 276, 196, 196, 734, 196, 196, 576, 576, 734,
1247 576, 576, 576, 576, 576, 576, 576, 576, 576, 576,
Lev Walkin4696c742005-08-22 12:23:54 +00001248
Lev Walkin9d542d22006-03-14 16:31:37 +00001249 574, 574, 574, 734, 734, 734, 574, 734, 734, 734,
1250 734, 574, 17, 734, 734, 734, 734, 734, 734, 734,
1251 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1252 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1253 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1254 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1255 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1256 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1257 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1258 734, 734, 734, 734, 734
Lev Walkin4696c742005-08-22 12:23:54 +00001259
Lev Walkin2535a692005-07-02 21:42:40 +00001260 } ;
1261
Lev Walkin9d542d22006-03-14 16:31:37 +00001262static yyconst short int yy_chk[4496] =
Lev Walkin2535a692005-07-02 21:42:40 +00001263 { 0,
1264 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1265 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1266 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1267 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1268 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1269 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1270 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1271 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
Lev Walkin9d542d22006-03-14 16:31:37 +00001272 1, 1, 3, 3, 3, 4, 4, 4, 5, 5,
1273 5, 11, 3, 9, 7, 4, 8, 9, 5, 6,
Lev Walkin2535a692005-07-02 21:42:40 +00001274
Lev Walkin9d542d22006-03-14 16:31:37 +00001275 6, 6, 7, 10, 8, 12, 7, 10, 8, 6,
1276 95, 28, 11, 28, 147, 11, 259, 7, 80, 8,
1277 19, 19, 19, 19, 127, 142, 12, 19, 156, 12,
1278 20, 20, 20, 20, 80, 99, 732, 20, 24, 24,
1279 24, 24, 95, 188, 531, 24, 26, 731, 99, 188,
1280 26, 531, 24, 24, 26, 26, 26, 26, 26, 26,
1281 26, 78, 78, 78, 78, 137, 80, 147, 11, 128,
1282 11, 30, 30, 30, 30, 30, 30, 30, 30, 142,
1283 259, 127, 12, 156, 12, 13, 13, 13, 13, 13,
1284 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
Lev Walkin2535a692005-07-02 21:42:40 +00001285
Lev Walkin9d542d22006-03-14 16:31:37 +00001286 79, 79, 79, 79, 90, 90, 90, 90, 13, 13,
1287 13, 13, 13, 34, 128, 191, 34, 13, 279, 36,
1288 34, 137, 36, 34, 34, 34, 34, 34, 223, 36,
1289 159, 36, 34, 36, 40, 261, 34, 35, 36, 13,
1290 13, 13, 191, 35, 40, 279, 40, 35, 40, 35,
1291 35, 35, 244, 40, 160, 222, 35, 178, 178, 178,
1292 178, 268, 268, 234, 13, 13, 13, 14, 14, 14,
1293 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
1294 14, 14, 238, 159, 177, 177, 37, 223, 261, 407,
1295 14, 14, 14, 14, 14, 177, 37, 37, 37, 14,
Lev Walkin2535a692005-07-02 21:42:40 +00001296
Lev Walkin9d542d22006-03-14 16:31:37 +00001297 37, 190, 160, 190, 222, 37, 44, 44, 37, 244,
1298 44, 190, 234, 38, 38, 160, 44, 278, 44, 278,
1299 44, 14, 14, 14, 38, 44, 38, 278, 38, 728,
1300 38, 238, 727, 38, 350, 44, 100, 100, 100, 100,
1301 100, 100, 100, 100, 350, 407, 14, 14, 14, 15,
1302 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1303 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1304 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1305 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1306 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1307
1308 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1309 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1310 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1311 15, 23, 343, 415, 97, 97, 97, 97, 415, 726,
1312 725, 97, 647, 304, 316, 724, 723, 23, 97, 97,
1313 722, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1314 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1315 23, 23, 23, 23, 23, 23, 23, 647, 343, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001316 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1317 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
Lev Walkin2535a692005-07-02 21:42:40 +00001318
Lev Walkin9d542d22006-03-14 16:31:37 +00001319 23, 23, 33, 304, 316, 33, 33, 33, 33, 33,
1320 33, 33, 33, 721, 325, 342, 335, 720, 33, 33,
Lev Walkin2535a692005-07-02 21:42:40 +00001321 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1322 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
Lev Walkin9d542d22006-03-14 16:31:37 +00001323 33, 33, 33, 33, 255, 305, 375, 33, 33, 33,
1324 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1325 33, 33, 33, 33, 33, 33, 33, 33, 33, 39,
1326 260, 320, 341, 342, 41, 41, 325, 41, 335, 39,
1327 356, 39, 392, 39, 376, 41, 41, 41, 39, 41,
1328 43, 375, 41, 255, 41, 42, 42, 305, 394, 410,
Lev Walkin2535a692005-07-02 21:42:40 +00001329
Lev Walkin9d542d22006-03-14 16:31:37 +00001330 43, 39, 43, 42, 43, 377, 42, 402, 42, 43,
1331 42, 397, 39, 45, 45, 42, 45, 719, 320, 260,
1332 403, 341, 394, 481, 45, 388, 45, 409, 45, 46,
1333 45, 411, 46, 45, 439, 47, 43, 376, 47, 46,
1334 356, 46, 47, 46, 392, 47, 527, 47, 46, 47,
1335 461, 48, 50, 47, 47, 601, 397, 45, 47, 48,
1336 48, 410, 50, 49, 50, 377, 50, 402, 420, 403,
1337 48, 50, 48, 49, 48, 49, 48, 49, 388, 48,
1338 481, 49, 49, 51, 441, 601, 411, 409, 50, 439,
1339 51, 527, 48, 51, 440, 51, 461, 51, 53, 53,
Lev Walkin2535a692005-07-02 21:42:40 +00001340
Lev Walkin9d542d22006-03-14 16:31:37 +00001341 53, 53, 51, 49, 103, 103, 103, 103, 103, 103,
1342 103, 103, 53, 53, 53, 53, 53, 53, 53, 53,
1343 76, 420, 453, 456, 717, 76, 76, 76, 76, 76,
1344 76, 76, 76, 76, 76, 452, 471, 441, 106, 107,
1345 466, 440, 456, 76, 76, 76, 76, 76, 106, 107,
1346 106, 107, 106, 107, 108, 715, 107, 106, 107, 452,
1347 412, 412, 412, 412, 108, 467, 108, 109, 108, 453,
1348 110, 499, 472, 108, 76, 76, 76, 109, 557, 109,
1349 110, 109, 110, 470, 110, 111, 109, 473, 474, 110,
1350 109, 519, 714, 466, 500, 111, 471, 111, 528, 111,
Lev Walkin2535a692005-07-02 21:42:40 +00001351
Lev Walkin9d542d22006-03-14 16:31:37 +00001352 76, 77, 522, 111, 111, 499, 77, 77, 77, 77,
1353 77, 77, 77, 77, 77, 77, 192, 192, 192, 192,
1354 192, 192, 192, 192, 77, 77, 77, 77, 77, 113,
1355 467, 512, 470, 472, 113, 114, 473, 474, 557, 113,
1356 412, 113, 77, 113, 523, 114, 519, 114, 113, 114,
1357 115, 500, 526, 114, 114, 77, 77, 77, 116, 522,
1358 115, 514, 115, 528, 115, 512, 547, 549, 116, 115,
1359 116, 116, 116, 713, 498, 529, 712, 116, 523, 535,
1360 550, 77, 105, 105, 105, 105, 105, 105, 105, 105,
1361 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
Lev Walkin2535a692005-07-02 21:42:40 +00001362
Lev Walkin9d542d22006-03-14 16:31:37 +00001363 105, 105, 105, 105, 117, 526, 118, 118, 498, 529,
1364 514, 561, 569, 710, 117, 566, 117, 118, 117, 118,
1365 118, 118, 120, 117, 119, 119, 118, 498, 547, 549,
1366 535, 550, 120, 120, 120, 119, 120, 119, 121, 119,
1367 548, 120, 121, 559, 119, 709, 122, 570, 121, 563,
1368 121, 567, 121, 572, 571, 575, 122, 121, 122, 600,
1369 122, 123, 123, 123, 125, 122, 566, 124, 124, 569,
1370 606, 123, 561, 123, 125, 123, 125, 124, 125, 124,
1371 123, 124, 126, 125, 575, 124, 124, 129, 571, 588,
1372 589, 674, 126, 600, 126, 126, 126, 129, 563, 585,
Lev Walkin2535a692005-07-02 21:42:40 +00001373
Lev Walkin9d542d22006-03-14 16:31:37 +00001374 130, 126, 570, 130, 606, 559, 548, 129, 131, 129,
1375 130, 129, 130, 567, 130, 572, 129, 585, 131, 130,
1376 131, 598, 131, 132, 132, 627, 590, 131, 574, 574,
1377 574, 574, 622, 132, 133, 132, 646, 132, 597, 589,
1378 132, 132, 132, 729, 133, 134, 133, 133, 133, 588,
1379 674, 135, 708, 133, 595, 134, 707, 134, 706, 134,
1380 607, 135, 136, 135, 134, 135, 621, 134, 598, 729,
1381 135, 603, 136, 605, 136, 138, 136, 608, 139, 623,
1382 622, 136, 627, 138, 630, 138, 590, 138, 139, 138,
1383 139, 140, 139, 646, 138, 629, 139, 139, 597, 141,
Lev Walkin2535a692005-07-02 21:42:40 +00001384
Lev Walkin9d542d22006-03-14 16:31:37 +00001385 632, 140, 143, 140, 634, 140, 636, 595, 574, 141,
1386 140, 141, 143, 141, 143, 144, 143, 141, 141, 621,
1387 143, 143, 607, 637, 605, 144, 145, 144, 638, 144,
1388 700, 603, 623, 656, 144, 144, 145, 608, 145, 146,
1389 145, 648, 146, 699, 630, 145, 146, 653, 629, 146,
1390 698, 146, 654, 146, 148, 148, 651, 634, 146, 730,
1391 660, 149, 632, 697, 658, 148, 659, 148, 636, 148,
1392 703, 149, 150, 149, 148, 149, 149, 661, 151, 149,
1393 149, 638, 150, 637, 150, 730, 150, 153, 151, 152,
1394 151, 150, 151, 656, 151, 694, 150, 151, 648, 152,
Lev Walkin2535a692005-07-02 21:42:40 +00001395
Lev Walkin9d542d22006-03-14 16:31:37 +00001396 153, 152, 667, 152, 653, 654, 154, 651, 152, 687,
1397 153, 154, 153, 660, 153, 666, 154, 155, 154, 153,
1398 154, 658, 691, 157, 690, 154, 659, 155, 703, 155,
1399 157, 155, 668, 157, 661, 157, 155, 157, 161, 158,
1400 158, 676, 157, 158, 609, 609, 609, 609, 161, 158,
1401 161, 158, 161, 158, 680, 667, 161, 161, 158, 164,
1402 164, 164, 164, 673, 678, 687, 666, 689, 688, 711,
1403 693, 695, 686, 164, 164, 164, 164, 164, 164, 164,
1404 164, 165, 701, 668, 691, 165, 165, 165, 165, 165,
1405 165, 165, 165, 166, 676, 679, 681, 166, 166, 166,
Lev Walkin2535a692005-07-02 21:42:40 +00001406
Lev Walkin9d542d22006-03-14 16:31:37 +00001407 166, 166, 166, 166, 166, 195, 197, 198, 684, 197,
1408 683, 680, 682, 675, 673, 678, 197, 198, 197, 198,
1409 197, 198, 199, 200, 609, 197, 198, 693, 695, 711,
1410 696, 701, 199, 200, 199, 200, 199, 200, 704, 672,
1411 671, 199, 200, 664, 663, 662, 657, 681, 679, 705,
1412 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
1413 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
1414 195, 195, 201, 655, 652, 644, 640, 639, 635, 633,
1415 203, 696, 201, 204, 201, 201, 201, 203, 631, 704,
1416 203, 201, 203, 204, 203, 204, 205, 204, 628, 203,
Lev Walkin2535a692005-07-02 21:42:40 +00001417
Lev Walkin9d542d22006-03-14 16:31:37 +00001418 705, 618, 204, 612, 206, 611, 205, 602, 205, 599,
1419 205, 596, 207, 205, 206, 205, 206, 591, 206, 579,
1420 208, 576, 207, 206, 207, 562, 207, 208, 207, 558,
1421 208, 207, 208, 209, 208, 525, 516, 511, 478, 208,
1422 477, 210, 458, 209, 211, 209, 416, 209, 351, 349,
1423 209, 210, 209, 210, 211, 210, 211, 280, 211, 273,
1424 210, 211, 211, 211, 212, 212, 213, 272, 271, 213,
1425 270, 269, 212, 266, 263, 212, 213, 212, 213, 212,
1426 213, 214, 202, 196, 212, 213, 189, 215, 187, 185,
1427 183, 214, 181, 214, 214, 214, 176, 215, 216, 215,
Lev Walkin2535a692005-07-02 21:42:40 +00001428
Lev Walkin9d542d22006-03-14 16:31:37 +00001429 214, 215, 174, 169, 217, 163, 215, 217, 216, 216,
1430 216, 112, 216, 104, 217, 218, 217, 216, 217, 101,
1431 98, 219, 96, 217, 219, 218, 94, 218, 218, 218,
1432 93, 219, 220, 219, 218, 219, 92, 89, 84, 83,
1433 219, 82, 220, 221, 220, 69, 220, 66, 62, 220,
1434 61, 220, 58, 221, 221, 221, 224, 221, 57, 52,
1435 31, 27, 221, 22, 225, 21, 224, 226, 224, 18,
1436 224, 17, 0, 224, 225, 224, 225, 226, 225, 226,
1437 226, 226, 227, 225, 0, 228, 226, 0, 229, 0,
1438 0, 229, 227, 0, 227, 228, 227, 228, 229, 228,
Lev Walkin2535a692005-07-02 21:42:40 +00001439
Lev Walkin9d542d22006-03-14 16:31:37 +00001440 229, 227, 229, 228, 228, 230, 231, 229, 0, 0,
1441 0, 0, 0, 0, 230, 0, 231, 232, 231, 0,
1442 231, 0, 0, 0, 230, 231, 230, 232, 230, 232,
1443 233, 232, 0, 230, 0, 0, 232, 0, 235, 0,
1444 233, 235, 233, 0, 233, 0, 0, 0, 235, 233,
1445 235, 236, 235, 0, 236, 0, 0, 235, 0, 237,
1446 0, 236, 239, 236, 0, 236, 237, 0, 0, 237,
1447 236, 237, 239, 237, 239, 240, 239, 0, 237, 0,
1448 239, 239, 0, 241, 0, 240, 0, 240, 0, 240,
1449 0, 242, 0, 241, 240, 241, 0, 241, 0, 243,
Lev Walkin2535a692005-07-02 21:42:40 +00001450
Lev Walkin9d542d22006-03-14 16:31:37 +00001451 241, 242, 241, 242, 0, 242, 0, 0, 242, 243,
1452 242, 243, 245, 243, 246, 246, 0, 0, 243, 243,
1453 0, 0, 245, 247, 245, 246, 245, 246, 0, 246,
1454 0, 245, 0, 247, 246, 247, 248, 247, 0, 0,
1455 0, 0, 247, 0, 249, 0, 248, 249, 248, 0,
1456 248, 0, 250, 0, 249, 248, 249, 0, 249, 250,
1457 251, 0, 250, 249, 250, 0, 250, 0, 0, 0,
1458 251, 250, 251, 252, 251, 0, 0, 0, 251, 251,
1459 0, 253, 0, 252, 0, 252, 0, 252, 0, 0,
1460 252, 253, 252, 253, 254, 253, 0, 254, 253, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001461
Lev Walkin9d542d22006-03-14 16:31:37 +00001462 253, 0, 256, 0, 254, 0, 254, 0, 254, 0,
1463 0, 258, 256, 254, 256, 256, 256, 256, 257, 258,
1464 0, 256, 256, 0, 0, 0, 0, 0, 257, 258,
1465 257, 258, 257, 258, 262, 0, 257, 257, 258, 0,
1466 262, 0, 0, 0, 262, 0, 262, 0, 262, 264,
1467 264, 264, 264, 262, 0, 0, 0, 265, 265, 265,
1468 265, 0, 0, 264, 264, 264, 264, 264, 264, 264,
1469 264, 265, 265, 265, 265, 265, 265, 265, 265, 281,
1470 282, 0, 0, 0, 0, 0, 0, 282, 0, 281,
1471 282, 281, 282, 281, 282, 283, 0, 0, 281, 282,
Lev Walkin2535a692005-07-02 21:42:40 +00001472
Lev Walkin9d542d22006-03-14 16:31:37 +00001473 0, 284, 0, 0, 0, 283, 283, 283, 0, 283,
1474 0, 284, 285, 284, 283, 284, 0, 0, 286, 0,
1475 284, 286, 285, 0, 285, 0, 285, 0, 286, 0,
1476 286, 285, 286, 287, 287, 288, 288, 286, 0, 0,
1477 0, 0, 0, 0, 287, 288, 287, 288, 287, 288,
1478 289, 0, 0, 287, 288, 0, 0, 285, 290, 0,
1479 289, 0, 289, 0, 289, 0, 291, 289, 290, 289,
1480 290, 290, 290, 0, 0, 0, 291, 290, 291, 293,
1481 291, 292, 292, 0, 291, 291, 0, 0, 0, 293,
1482 294, 293, 292, 293, 292, 0, 292, 0, 293, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001483
Lev Walkin9d542d22006-03-14 16:31:37 +00001484 294, 292, 294, 295, 294, 295, 296, 0, 296, 294,
1485 0, 0, 0, 295, 0, 295, 296, 295, 296, 0,
1486 296, 297, 295, 0, 297, 296, 0, 298, 0, 0,
1487 0, 297, 0, 297, 0, 297, 0, 298, 299, 298,
1488 297, 298, 0, 0, 300, 299, 298, 0, 299, 0,
1489 299, 0, 299, 0, 300, 301, 300, 299, 300, 0,
1490 300, 0, 0, 300, 0, 301, 0, 301, 0, 301,
1491 302, 301, 0, 302, 301, 0, 303, 0, 0, 0,
1492 302, 0, 302, 0, 302, 0, 303, 306, 303, 302,
1493 303, 0, 0, 307, 0, 303, 0, 306, 0, 306,
Lev Walkin2535a692005-07-02 21:42:40 +00001494
Lev Walkin9d542d22006-03-14 16:31:37 +00001495 0, 306, 0, 307, 0, 307, 306, 307, 308, 309,
1496 0, 307, 307, 0, 0, 308, 0, 0, 308, 309,
1497 308, 309, 308, 309, 310, 309, 0, 308, 309, 311,
1498 311, 0, 306, 0, 310, 0, 310, 313, 310, 0,
1499 311, 0, 311, 310, 311, 312, 311, 0, 313, 311,
1500 312, 0, 0, 0, 0, 312, 314, 312, 313, 312,
1501 313, 312, 313, 0, 312, 0, 314, 313, 314, 315,
1502 314, 0, 0, 314, 0, 314, 0, 317, 317, 315,
1503 318, 315, 0, 315, 0, 0, 0, 317, 315, 317,
1504 318, 317, 318, 319, 318, 0, 317, 322, 318, 318,
Lev Walkin2535a692005-07-02 21:42:40 +00001505
Lev Walkin9d542d22006-03-14 16:31:37 +00001506 0, 321, 0, 319, 321, 319, 319, 319, 0, 0,
1507 0, 321, 319, 321, 322, 321, 0, 0, 0, 0,
1508 321, 0, 323, 0, 322, 323, 322, 0, 322, 324,
1509 324, 0, 323, 322, 323, 0, 323, 0, 326, 0,
1510 324, 323, 324, 0, 324, 0, 327, 0, 326, 324,
1511 326, 0, 326, 0, 0, 0, 327, 326, 327, 328,
1512 327, 0, 328, 0, 327, 327, 0, 329, 0, 328,
1513 330, 328, 0, 328, 0, 0, 0, 329, 328, 329,
1514 330, 329, 330, 0, 330, 332, 329, 331, 331, 330,
1515 0, 333, 0, 0, 0, 332, 0, 332, 331, 332,
Lev Walkin2535a692005-07-02 21:42:40 +00001516
Lev Walkin9d542d22006-03-14 16:31:37 +00001517 331, 333, 331, 333, 332, 333, 334, 331, 0, 336,
1518 333, 0, 337, 0, 0, 0, 334, 0, 334, 336,
1519 334, 336, 337, 336, 337, 334, 337, 0, 336, 338,
1520 332, 337, 338, 0, 0, 339, 0, 0, 0, 338,
1521 0, 338, 0, 338, 0, 339, 340, 339, 338, 339,
1522 0, 0, 0, 0, 339, 0, 340, 0, 340, 0,
1523 340, 0, 344, 340, 0, 340, 0, 0, 0, 0,
1524 0, 339, 344, 0, 344, 0, 344, 345, 345, 345,
1525 345, 344, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 345, 345, 345, 345, 345, 345, 345, 345, 346,
Lev Walkin2535a692005-07-02 21:42:40 +00001527
Lev Walkin9d542d22006-03-14 16:31:37 +00001528 346, 346, 346, 0, 0, 0, 0, 0, 0, 346,
1529 0, 0, 0, 346, 346, 346, 346, 346, 346, 346,
1530 346, 347, 347, 347, 347, 0, 0, 0, 0, 0,
1531 0, 0, 0, 0, 0, 347, 347, 347, 347, 347,
1532 347, 347, 347, 348, 0, 352, 355, 348, 348, 348,
1533 348, 348, 348, 348, 348, 352, 355, 352, 355, 352,
1534 355, 353, 353, 352, 352, 355, 0, 0, 0, 0,
1535 0, 353, 0, 353, 0, 353, 354, 354, 0, 346,
1536 353, 0, 357, 357, 0, 0, 0, 354, 0, 354,
1537 0, 354, 0, 357, 0, 357, 354, 357, 358, 358,
Lev Walkin2535a692005-07-02 21:42:40 +00001538
Lev Walkin9d542d22006-03-14 16:31:37 +00001539 0, 359, 357, 0, 359, 0, 0, 0, 358, 360,
1540 358, 359, 358, 359, 0, 359, 0, 358, 0, 360,
1541 359, 360, 361, 360, 0, 0, 0, 0, 360, 0,
1542 362, 0, 361, 0, 361, 0, 361, 0, 363, 0,
1543 362, 361, 362, 0, 362, 363, 362, 0, 363, 362,
1544 363, 364, 363, 0, 0, 0, 0, 363, 0, 365,
1545 0, 364, 365, 364, 0, 364, 365, 0, 0, 365,
1546 364, 365, 366, 365, 366, 0, 0, 0, 365, 0,
1547 367, 0, 366, 367, 366, 0, 366, 367, 368, 0,
1548 367, 366, 367, 0, 367, 0, 369, 0, 368, 367,
Lev Walkin2535a692005-07-02 21:42:40 +00001549
Lev Walkin9d542d22006-03-14 16:31:37 +00001550 368, 0, 368, 0, 368, 0, 369, 368, 369, 0,
1551 369, 370, 370, 0, 369, 369, 0, 371, 0, 0,
1552 0, 370, 0, 370, 0, 370, 0, 371, 372, 371,
1553 370, 371, 0, 0, 373, 371, 371, 0, 372, 0,
1554 372, 0, 372, 0, 373, 372, 373, 372, 373, 374,
1555 378, 0, 0, 373, 0, 0, 0, 378, 0, 374,
1556 378, 374, 378, 374, 378, 0, 0, 380, 374, 378,
1557 379, 379, 0, 379, 0, 0, 0, 380, 0, 380,
1558 379, 380, 379, 0, 379, 380, 380, 382, 381, 379,
1559 381, 0, 0, 0, 0, 0, 0, 382, 381, 382,
Lev Walkin2535a692005-07-02 21:42:40 +00001560
Lev Walkin9d542d22006-03-14 16:31:37 +00001561 381, 382, 381, 383, 0, 0, 382, 381, 0, 384,
1562 0, 0, 384, 383, 0, 383, 0, 383, 0, 384,
1563 385, 384, 383, 384, 386, 0, 0, 387, 384, 0,
1564 385, 0, 385, 386, 385, 0, 0, 385, 0, 385,
1565 0, 389, 0, 386, 387, 386, 0, 386, 0, 0,
1566 0, 389, 386, 389, 387, 389, 387, 390, 387, 389,
1567 389, 0, 0, 387, 0, 391, 0, 390, 0, 390,
1568 0, 390, 0, 393, 0, 391, 390, 391, 0, 391,
1569 0, 395, 0, 393, 391, 393, 0, 393, 0, 393,
1570 0, 395, 393, 395, 396, 395, 0, 0, 0, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001571
Lev Walkin9d542d22006-03-14 16:31:37 +00001572 395, 0, 0, 0, 396, 0, 396, 398, 396, 0,
1573 399, 0, 396, 396, 398, 0, 0, 398, 400, 398,
1574 399, 398, 399, 400, 399, 0, 398, 0, 400, 399,
1575 400, 401, 400, 0, 0, 0, 0, 400, 0, 0,
1576 0, 401, 404, 401, 0, 401, 0, 0, 405, 0,
1577 401, 405, 404, 401, 404, 0, 404, 0, 405, 406,
1578 405, 404, 405, 0, 0, 0, 0, 405, 0, 406,
1579 408, 406, 0, 406, 0, 406, 0, 0, 406, 0,
1580 408, 0, 408, 0, 408, 413, 413, 413, 413, 408,
1581 0, 0, 0, 0, 0, 0, 0, 417, 0, 413,
Lev Walkin2535a692005-07-02 21:42:40 +00001582
Lev Walkin9d542d22006-03-14 16:31:37 +00001583 413, 413, 413, 413, 413, 413, 413, 417, 0, 417,
1584 419, 417, 418, 418, 0, 408, 417, 0, 0, 0,
1585 419, 421, 419, 418, 419, 418, 0, 418, 419, 419,
1586 0, 421, 418, 421, 422, 421, 0, 423, 0, 0,
1587 421, 0, 0, 0, 422, 0, 422, 423, 422, 423,
1588 0, 423, 422, 422, 424, 0, 423, 424, 0, 425,
1589 425, 0, 0, 0, 424, 0, 424, 0, 424, 0,
1590 425, 426, 425, 424, 425, 0, 0, 427, 0, 425,
1591 0, 426, 0, 426, 0, 426, 0, 427, 0, 427,
1592 426, 427, 428, 0, 428, 427, 427, 0, 429, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001593
Lev Walkin9d542d22006-03-14 16:31:37 +00001594 0, 0, 428, 0, 428, 0, 428, 0, 429, 0,
1595 429, 428, 429, 0, 0, 430, 429, 429, 430, 0,
1596 0, 431, 0, 431, 0, 430, 0, 430, 0, 430,
1597 0, 431, 432, 431, 430, 431, 0, 433, 433, 0,
1598 431, 0, 432, 0, 432, 0, 432, 0, 433, 434,
1599 433, 432, 433, 0, 0, 435, 0, 433, 0, 434,
1600 0, 434, 435, 434, 0, 435, 436, 435, 434, 435,
1601 0, 0, 437, 0, 435, 0, 436, 0, 436, 437,
1602 436, 0, 437, 436, 437, 436, 437, 438, 438, 442,
1603 0, 437, 0, 442, 0, 0, 0, 0, 438, 442,
Lev Walkin2535a692005-07-02 21:42:40 +00001604
Lev Walkin9d542d22006-03-14 16:31:37 +00001605 438, 442, 438, 442, 443, 0, 0, 438, 442, 0,
1606 444, 443, 444, 0, 443, 0, 443, 0, 443, 0,
1607 444, 445, 444, 443, 444, 0, 0, 446, 0, 444,
1608 446, 445, 0, 445, 0, 445, 0, 446, 445, 446,
1609 445, 446, 447, 447, 0, 0, 446, 0, 448, 448,
1610 0, 0, 447, 0, 447, 0, 447, 0, 448, 449,
1611 448, 447, 448, 0, 0, 0, 0, 448, 0, 449,
1612 0, 449, 0, 449, 450, 449, 0, 450, 449, 0,
1613 451, 0, 0, 0, 450, 0, 450, 0, 450, 0,
1614 451, 454, 451, 450, 451, 0, 0, 451, 0, 451,
Lev Walkin2535a692005-07-02 21:42:40 +00001615
Lev Walkin9d542d22006-03-14 16:31:37 +00001616 0, 454, 0, 454, 457, 454, 455, 455, 0, 0,
1617 454, 0, 0, 0, 457, 459, 457, 455, 457, 455,
1618 0, 455, 0, 457, 0, 459, 455, 459, 460, 459,
1619 0, 460, 0, 459, 459, 0, 462, 0, 460, 0,
1620 460, 0, 460, 0, 0, 0, 462, 460, 462, 0,
1621 462, 463, 463, 0, 464, 462, 462, 465, 0, 0,
1622 0, 463, 0, 463, 464, 463, 464, 465, 464, 465,
1623 463, 465, 468, 464, 0, 469, 465, 0, 0, 0,
1624 0, 0, 468, 0, 468, 469, 468, 469, 0, 469,
1625 0, 468, 469, 0, 469, 475, 475, 475, 475, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001626
Lev Walkin9d542d22006-03-14 16:31:37 +00001627 0, 0, 0, 0, 0, 0, 0, 0, 0, 475,
1628 475, 475, 475, 475, 475, 475, 475, 476, 0, 479,
1629 0, 476, 476, 476, 476, 476, 476, 476, 476, 479,
1630 0, 479, 480, 479, 0, 482, 0, 479, 479, 480,
1631 0, 0, 480, 0, 480, 482, 480, 482, 0, 482,
1632 483, 480, 0, 483, 482, 0, 484, 0, 0, 0,
Lev Walkina2fcce42006-03-06 11:28:17 +00001633 483, 0, 483, 0, 483, 0, 484, 485, 484, 483,
Lev Walkin9d542d22006-03-14 16:31:37 +00001634 484, 0, 0, 486, 485, 484, 0, 485, 0, 485,
1635 486, 485, 0, 486, 487, 486, 485, 486, 0, 0,
1636 488, 0, 486, 0, 487, 0, 487, 0, 487, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001637
Lev Walkin9d542d22006-03-14 16:31:37 +00001638 488, 489, 488, 487, 488, 0, 0, 0, 489, 488,
1639 0, 489, 490, 489, 490, 489, 0, 0, 491, 0,
1640 489, 0, 490, 0, 490, 0, 490, 0, 491, 492,
1641 491, 490, 491, 0, 492, 493, 0, 491, 0, 492,
1642 0, 492, 0, 492, 0, 493, 494, 493, 492, 493,
1643 0, 0, 0, 493, 493, 0, 494, 495, 494, 0,
1644 494, 0, 0, 496, 494, 494, 0, 495, 0, 495,
1645 0, 495, 0, 496, 497, 496, 495, 496, 0, 0,
1646 501, 0, 496, 0, 497, 0, 497, 501, 497, 0,
1647 501, 502, 501, 497, 501, 0, 0, 0, 0, 501,
Lev Walkin2535a692005-07-02 21:42:40 +00001648
Lev Walkin9d542d22006-03-14 16:31:37 +00001649 0, 502, 503, 502, 0, 502, 0, 0, 504, 502,
1650 502, 0, 503, 0, 503, 0, 503, 0, 504, 505,
1651 504, 503, 504, 0, 0, 506, 0, 504, 506, 505,
1652 0, 505, 0, 505, 0, 506, 505, 506, 505, 506,
1653 507, 508, 0, 0, 506, 0, 0, 0, 0, 0,
1654 507, 508, 507, 508, 507, 508, 509, 509, 507, 507,
1655 508, 0, 510, 0, 0, 0, 509, 0, 509, 0,
1656 509, 0, 510, 513, 510, 509, 510, 0, 0, 515,
1657 0, 510, 0, 513, 0, 513, 0, 513, 0, 515,
1658 517, 515, 513, 515, 0, 0, 518, 0, 515, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001659
Lev Walkin9d542d22006-03-14 16:31:37 +00001660 517, 0, 517, 0, 517, 0, 518, 510, 518, 517,
1661 518, 520, 0, 0, 520, 518, 0, 521, 0, 0,
1662 521, 520, 0, 520, 0, 520, 0, 521, 0, 521,
1663 520, 521, 524, 524, 0, 0, 521, 0, 0, 530,
1664 530, 530, 530, 524, 0, 524, 0, 524, 0, 0,
1665 0, 0, 524, 530, 530, 530, 530, 530, 530, 530,
1666 530, 533, 534, 534, 0, 0, 0, 0, 533, 0,
1667 0, 533, 534, 533, 534, 533, 534, 536, 0, 0,
1668 533, 534, 0, 0, 0, 537, 0, 536, 538, 536,
1669 0, 536, 0, 536, 0, 537, 536, 537, 538, 537,
Lev Walkin2535a692005-07-02 21:42:40 +00001670
Lev Walkin9d542d22006-03-14 16:31:37 +00001671 538, 539, 538, 537, 537, 0, 0, 538, 542, 540,
1672 0, 539, 0, 539, 0, 539, 0, 541, 0, 540,
1673 539, 540, 540, 540, 0, 542, 0, 541, 540, 541,
1674 0, 541, 0, 0, 0, 542, 541, 542, 543, 542,
1675 0, 543, 0, 0, 542, 0, 544, 0, 543, 0,
1676 543, 0, 543, 0, 545, 0, 544, 543, 544, 0,
1677 544, 545, 546, 0, 545, 544, 545, 0, 545, 0,
1678 0, 0, 546, 545, 546, 551, 546, 0, 551, 0,
1679 0, 546, 0, 552, 0, 551, 553, 551, 0, 551,
1680 0, 0, 0, 552, 551, 552, 553, 552, 553, 554,
Lev Walkin2535a692005-07-02 21:42:40 +00001681
Lev Walkin9d542d22006-03-14 16:31:37 +00001682 553, 0, 552, 0, 0, 553, 0, 555, 0, 554,
1683 556, 554, 0, 554, 555, 0, 0, 555, 554, 555,
1684 556, 555, 556, 560, 556, 0, 555, 564, 556, 556,
1685 0, 565, 0, 560, 0, 560, 0, 560, 0, 0,
1686 0, 565, 560, 565, 564, 565, 0, 568, 0, 0,
1687 565, 0, 0, 0, 564, 0, 564, 568, 564, 568,
1688 0, 568, 0, 564, 0, 0, 568, 573, 573, 573,
1689 573, 0, 0, 0, 0, 0, 0, 0, 0, 577,
1690 0, 573, 573, 573, 573, 573, 573, 573, 573, 577,
1691 578, 577, 577, 577, 0, 0, 580, 0, 577, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001692
Lev Walkin9d542d22006-03-14 16:31:37 +00001693 578, 0, 578, 0, 578, 0, 580, 581, 580, 578,
1694 580, 0, 0, 582, 0, 580, 582, 581, 0, 581,
1695 0, 581, 0, 582, 581, 582, 581, 582, 583, 584,
1696 0, 0, 582, 583, 0, 0, 0, 0, 583, 584,
1697 583, 584, 583, 584, 586, 587, 586, 583, 584, 0,
1698 0, 0, 0, 0, 586, 587, 586, 587, 586, 587,
1699 592, 0, 0, 586, 587, 0, 0, 0, 593, 0,
1700 592, 0, 592, 0, 592, 0, 592, 0, 593, 592,
1701 593, 593, 593, 594, 604, 0, 0, 593, 0, 0,
1702 594, 0, 0, 594, 604, 594, 604, 594, 604, 613,
Lev Walkin2535a692005-07-02 21:42:40 +00001703
Lev Walkin9d542d22006-03-14 16:31:37 +00001704 614, 0, 594, 604, 0, 0, 0, 0, 0, 613,
1705 614, 613, 614, 613, 614, 615, 616, 615, 613, 614,
1706 0, 0, 0, 0, 0, 615, 616, 615, 616, 615,
1707 616, 617, 619, 0, 615, 616, 0, 0, 0, 0,
1708 0, 617, 619, 617, 619, 617, 619, 620, 617, 0,
1709 617, 619, 0, 624, 620, 0, 0, 620, 0, 620,
1710 0, 620, 0, 624, 625, 624, 620, 624, 0, 0,
1711 0, 0, 624, 0, 625, 626, 625, 0, 625, 0,
1712 0, 641, 0, 625, 0, 626, 0, 626, 626, 626,
1713 0, 641, 642, 641, 626, 641, 0, 0, 643, 0,
Lev Walkin2535a692005-07-02 21:42:40 +00001714
Lev Walkin9d542d22006-03-14 16:31:37 +00001715 641, 0, 642, 0, 642, 0, 642, 0, 643, 645,
1716 643, 642, 643, 0, 0, 0, 0, 643, 0, 645,
1717 649, 645, 0, 645, 0, 0, 650, 645, 645, 0,
1718 649, 0, 649, 0, 649, 0, 650, 649, 650, 649,
1719 650, 665, 669, 0, 0, 650, 0, 0, 0, 0,
1720 0, 665, 669, 665, 669, 665, 669, 670, 685, 0,
1721 665, 669, 0, 0, 665, 0, 0, 670, 685, 670,
1722 685, 670, 685, 0, 0, 0, 670, 685, 735, 735,
1723 735, 735, 735, 735, 735, 735, 735, 735, 735, 735,
1724 735, 736, 736, 736, 736, 736, 736, 736, 736, 736,
Lev Walkin2535a692005-07-02 21:42:40 +00001725
Lev Walkina2fcce42006-03-06 11:28:17 +00001726 736, 736, 736, 736, 737, 737, 737, 737, 737, 737,
Lev Walkin9d542d22006-03-14 16:31:37 +00001727 737, 737, 737, 737, 737, 737, 737, 738, 738, 738,
1728 738, 738, 738, 738, 738, 738, 738, 738, 738, 738,
1729 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1730 739, 739, 739, 740, 740, 740, 740, 0, 740, 740,
1731 740, 740, 740, 740, 740, 740, 741, 741, 741, 0,
1732 741, 0, 741, 0, 741, 742, 742, 0, 742, 742,
1733 743, 743, 0, 0, 743, 743, 0, 743, 743, 743,
1734 743, 743, 743, 744, 744, 744, 744, 0, 744, 744,
1735 744, 744, 744, 744, 744, 744, 745, 745, 745, 745,
Lev Walkin4696c742005-08-22 12:23:54 +00001736
Lev Walkin9d542d22006-03-14 16:31:37 +00001737 745, 745, 745, 745, 0, 745, 745, 746, 0, 0,
1738 0, 746, 746, 746, 746, 746, 746, 746, 747, 0,
1739 0, 0, 747, 747, 747, 747, 747, 747, 747, 748,
1740 748, 0, 748, 748, 749, 749, 0, 749, 749, 750,
1741 750, 0, 750, 750, 751, 0, 751, 751, 752, 752,
1742 0, 752, 752, 753, 0, 753, 753, 754, 0, 754,
1743 754, 755, 0, 755, 755, 756, 0, 756, 756, 757,
1744 757, 757, 757, 757, 757, 757, 757, 757, 757, 757,
1745 757, 757, 758, 758, 0, 758, 758, 759, 759, 0,
1746 759, 759, 759, 759, 759, 759, 759, 759, 759, 759,
Lev Walkin4696c742005-08-22 12:23:54 +00001747
Lev Walkin9d542d22006-03-14 16:31:37 +00001748 760, 760, 760, 0, 0, 0, 760, 0, 0, 0,
1749 0, 760, 734, 734, 734, 734, 734, 734, 734, 734,
1750 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1751 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1752 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1753 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1754 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1755 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1756 734, 734, 734, 734, 734, 734, 734, 734, 734, 734,
1757 734, 734, 734, 734, 734
1758
Lev Walkinf15320b2004-06-03 03:38:44 +00001759 } ;
1760
1761extern int yy_flex_debug;
1762int yy_flex_debug = 1;
1763
Lev Walkin9d542d22006-03-14 16:31:37 +00001764static yyconst short int yy_rule_linenum[137] =
Lev Walkinf15320b2004-06-03 03:38:44 +00001765 { 0,
Lev Walkinef625402005-09-05 05:17:57 +00001766 94, 95, 97, 100, 102, 105, 107, 108, 109, 112,
1767 114, 115, 116, 128, 135, 142, 148, 157, 165, 173,
1768 174, 176, 195, 201, 202, 203, 204, 205, 208, 214,
Lev Walkina2fcce42006-03-06 11:28:17 +00001769 221, 228, 235, 242, 243, 244, 252, 253, 254, 255,
1770 256, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1771 270, 271, 280, 281, 282, 283, 284, 285, 286, 287,
1772 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1773 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
1774 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
1775 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
Lev Walkinf15320b2004-06-03 03:38:44 +00001776
Lev Walkina2fcce42006-03-06 11:28:17 +00001777 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
1778 342, 343, 348, 349, 350, 353, 358, 364, 372, 382,
Lev Walkin9d542d22006-03-14 16:31:37 +00001779 387, 389, 390, 394, 399, 404, 410, 411, 413, 419,
1780 432, 435, 460, 504, 506, 517
Lev Walkinf15320b2004-06-03 03:38:44 +00001781 } ;
1782
1783static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
1784static char *yy_full_match;
1785static int yy_lp;
1786#define REJECT \
1787{ \
1788*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
1789yy_cp = yy_full_match; /* restore poss. backed-over text */ \
1790++yy_lp; \
1791goto find_rule; \
1792}
1793#define yymore() yymore_used_but_not_detected
1794#define YY_MORE_ADJ 0
1795#define YY_RESTORE_YY_MORE_OFFSET
1796char *yytext;
1797#line 1 "asn1p_l.l"
1798#define INITIAL 0
1799#line 2 "asn1p_l.l"
1800
1801#include <string.h>
1802#include <errno.h>
1803#include <assert.h>
1804
1805#include "asn1parser.h"
1806#include "asn1p_y.h"
1807
1808int asn1p_lex(void);
1809void asn1p_lexer_hack_push_opaque_state(void); /* Used in .y */
1810void asn1p_lexer_hack_enable_with_syntax(void); /* Used in .y */
Lev Walkinf59d0752004-08-18 04:59:12 +00001811void asn1p_lexer_hack_push_encoding_control(void); /* Used in .y */
Lev Walkinf15320b2004-06-03 03:38:44 +00001812
1813#define YY_FATAL_ERROR(msg) do { \
1814 fprintf(stderr, \
1815 "lexer error at line %d, " \
1816 "text \"%s\"\n", \
1817 yylineno, yytext); \
1818 exit(1); \
1819 } while(0)
1820
1821int asn1p_lexer_pedantic_1990 = 0;
1822int asn1p_lexer_types_year = 0;
1823int asn1p_lexer_constructs_year = 0;
Lev Walkind21c5052004-09-29 13:18:09 +00001824static asn1c_integer_t asn1p_atoi(char *ptr); /* errno is either 0 or ERANGE */
Lev Walkinf15320b2004-06-03 03:38:44 +00001825
Lev Walkin4696c742005-08-22 12:23:54 +00001826int asn1p_as_pointer;
1827
Lev Walkinf15320b2004-06-03 03:38:44 +00001828/*
1829 * Check that the type is defined in the year of the standard choosen.
1830 */
1831#define TYPE_LIFETIME(fyr, lyr) \
1832 (!asn1p_lexer_types_year \
1833 || (fyr && fyr <= asn1p_lexer_types_year) \
1834 || (lyr && lyr > asn1p_lexer_types_year))
1835
1836/*
1837 * Check the the construction (or concept, i.e. CLASS) is defined in
1838 * a given year.
1839 */
1840#define CONSTRUCT_LIFETIME(fyr, lyr) \
1841 (!asn1p_lexer_constructs_year \
1842 || (fyr && fyr <= asn1p_lexer_constructs_year) \
1843 || (lyr && lyr > asn1p_lexer_constructs_year))
1844
1845/*
Lev Walkinf15320b2004-06-03 03:38:44 +00001846 * Append quoted string.
1847 */
1848#define QAPPEND(text, tlen) do { \
1849 char *prev_text = asn1p_lval.tv_opaque.buf; \
1850 int prev_len = asn1p_lval.tv_opaque.len; \
1851 char *p; \
1852 \
1853 p = malloc((tlen) + prev_len + 1); \
1854 if(p == NULL) return -1; \
1855 \
1856 if(prev_text) memcpy(p, prev_text, prev_len); \
1857 memcpy(p + prev_len, text, tlen); \
1858 p[prev_len + (tlen)] = '\0'; \
1859 \
1860 free(asn1p_lval.tv_opaque.buf); \
1861 asn1p_lval.tv_opaque.buf = p; \
1862 asn1p_lval.tv_opaque.len = (tlen) + prev_len; \
1863 } while(0)
1864
1865#define YY_NEVER_INTERACTIVE 1
1866#define YY_NO_INPUT 1
Lev Walkinf15320b2004-06-03 03:38:44 +00001867#define YY_STACK_USED 1
1868/* Performance penalty is OK */
1869/* Controlled from within application */
1870#define dash_comment 1
1871
Lev Walkin2535a692005-07-02 21:42:40 +00001872#define idash_comment 2
Lev Walkinf15320b2004-06-03 03:38:44 +00001873
Lev Walkin2535a692005-07-02 21:42:40 +00001874#define cpp_comment 3
Lev Walkinf15320b2004-06-03 03:38:44 +00001875
Lev Walkin2535a692005-07-02 21:42:40 +00001876#define quoted 4
Lev Walkinf15320b2004-06-03 03:38:44 +00001877
Lev Walkin2535a692005-07-02 21:42:40 +00001878#define opaque 5
Lev Walkinf59d0752004-08-18 04:59:12 +00001879
Lev Walkin2535a692005-07-02 21:42:40 +00001880#define encoding_control 6
1881
1882#define with_syntax 7
Lev Walkinf15320b2004-06-03 03:38:44 +00001883
1884/* Newline */
1885/* White-space */
Lev Walkin9d542d22006-03-14 16:31:37 +00001886#line 1887 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00001887
1888/* Macros after this point can all be overridden by user definitions in
1889 * section 1.
1890 */
1891
1892#ifndef YY_SKIP_YYWRAP
1893#ifdef __cplusplus
1894extern "C" int yywrap YY_PROTO(( void ));
1895#else
1896extern int yywrap YY_PROTO(( void ));
1897#endif
1898#endif
1899
1900#ifndef YY_NO_UNPUT
1901static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1902#endif
1903
1904#ifndef yytext_ptr
1905static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1906#endif
1907
1908#ifdef YY_NEED_STRLEN
1909static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1910#endif
1911
1912#ifndef YY_NO_INPUT
1913#ifdef __cplusplus
1914static int yyinput YY_PROTO(( void ));
1915#else
1916static int input YY_PROTO(( void ));
1917#endif
1918#endif
1919
1920#if YY_STACK_USED
1921static int yy_start_stack_ptr = 0;
1922static int yy_start_stack_depth = 0;
1923static int *yy_start_stack = 0;
1924#ifndef YY_NO_PUSH_STATE
1925static void yy_push_state YY_PROTO(( int new_state ));
1926#endif
1927#ifndef YY_NO_POP_STATE
1928static void yy_pop_state YY_PROTO(( void ));
1929#endif
1930#ifndef YY_NO_TOP_STATE
1931static int yy_top_state YY_PROTO(( void ));
1932#endif
1933
1934#else
1935#define YY_NO_PUSH_STATE 1
1936#define YY_NO_POP_STATE 1
1937#define YY_NO_TOP_STATE 1
1938#endif
1939
1940#ifdef YY_MALLOC_DECL
1941YY_MALLOC_DECL
1942#else
1943#if __STDC__
1944#ifndef __cplusplus
1945#include <stdlib.h>
1946#endif
1947#else
1948/* Just try to get by without declaring the routines. This will fail
1949 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1950 * or sizeof(void*) != sizeof(int).
1951 */
1952#endif
1953#endif
1954
1955/* Amount of stuff to slurp up with each read. */
1956#ifndef YY_READ_BUF_SIZE
1957#define YY_READ_BUF_SIZE 8192
1958#endif
1959
1960/* Copy whatever the last rule matched to the standard output. */
1961
1962#ifndef ECHO
1963/* This used to be an fputs(), but since the string might contain NUL's,
1964 * we now use fwrite().
1965 */
1966#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1967#endif
1968
1969/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1970 * is returned in "result".
1971 */
1972#ifndef YY_INPUT
1973#define YY_INPUT(buf,result,max_size) \
1974 if ( yy_current_buffer->yy_is_interactive ) \
1975 { \
1976 int c = '*', n; \
1977 for ( n = 0; n < max_size && \
1978 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1979 buf[n] = (char) c; \
1980 if ( c == '\n' ) \
1981 buf[n++] = (char) c; \
1982 if ( c == EOF && ferror( yyin ) ) \
1983 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1984 result = n; \
1985 } \
1986 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
1987 && ferror( yyin ) ) \
1988 YY_FATAL_ERROR( "input in flex scanner failed" );
1989#endif
1990
1991/* No semi-colon after return; correct usage is to write "yyterminate();" -
1992 * we don't want an extra ';' after the "return" because that will cause
1993 * some compilers to complain about unreachable statements.
1994 */
1995#ifndef yyterminate
1996#define yyterminate() return YY_NULL
1997#endif
1998
1999/* Number of entries by which start-condition stack grows. */
2000#ifndef YY_START_STACK_INCR
2001#define YY_START_STACK_INCR 25
2002#endif
2003
2004/* Report a fatal error. */
2005#ifndef YY_FATAL_ERROR
2006#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2007#endif
2008
2009/* Default declaration of generated scanner - a define so the user can
2010 * easily add parameters.
2011 */
2012#ifndef YY_DECL
2013#define YY_DECL int yylex YY_PROTO(( void ))
2014#endif
2015
2016/* Code executed at the beginning of each rule, after yytext and yyleng
2017 * have been set up.
2018 */
2019#ifndef YY_USER_ACTION
2020#define YY_USER_ACTION
2021#endif
2022
2023/* Code executed at the end of each rule. */
2024#ifndef YY_BREAK
2025#define YY_BREAK break;
2026#endif
2027
2028#define YY_RULE_SETUP \
2029 YY_USER_ACTION
2030
2031YY_DECL
2032 {
2033 register yy_state_type yy_current_state;
2034 register char *yy_cp, *yy_bp;
2035 register int yy_act;
2036
Lev Walkin4696c742005-08-22 12:23:54 +00002037#line 92 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002038
2039
Lev Walkin9d542d22006-03-14 16:31:37 +00002040#line 2041 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00002041
2042 if ( yy_init )
2043 {
2044 yy_init = 0;
2045
2046#ifdef YY_USER_INIT
2047 YY_USER_INIT;
2048#endif
2049
2050 if ( ! yy_start )
2051 yy_start = 1; /* first start state */
2052
2053 if ( ! yyin )
2054 yyin = stdin;
2055
2056 if ( ! yyout )
2057 yyout = stdout;
2058
2059 if ( ! yy_current_buffer )
2060 yy_current_buffer =
2061 yy_create_buffer( yyin, YY_BUF_SIZE );
2062
2063 yy_load_buffer_state();
2064 }
2065
2066 while ( 1 ) /* loops until end-of-file is reached */
2067 {
2068 yy_cp = yy_c_buf_p;
2069
2070 /* Support of yytext. */
2071 *yy_cp = yy_hold_char;
2072
2073 /* yy_bp points to the position in yy_ch_buf of the start of
2074 * the current run.
2075 */
2076 yy_bp = yy_cp;
2077
2078 yy_current_state = yy_start;
2079 yy_state_ptr = yy_state_buf;
2080 *yy_state_ptr++ = yy_current_state;
2081yy_match:
2082 do
2083 {
2084 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2085 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2086 {
2087 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin9d542d22006-03-14 16:31:37 +00002088 if ( yy_current_state >= 735 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002089 yy_c = yy_meta[(unsigned int) yy_c];
2090 }
2091 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2092 *yy_state_ptr++ = yy_current_state;
2093 ++yy_cp;
2094 }
Lev Walkin9d542d22006-03-14 16:31:37 +00002095 while ( yy_base[yy_current_state] != 4413 );
Lev Walkinf15320b2004-06-03 03:38:44 +00002096
2097yy_find_action:
2098 yy_current_state = *--yy_state_ptr;
2099 yy_lp = yy_accept[yy_current_state];
2100find_rule: /* we branch to this label when backing up */
2101 for ( ; ; ) /* until we find what rule we matched */
2102 {
2103 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
2104 {
2105 yy_act = yy_acclist[yy_lp];
2106 {
2107 yy_full_match = yy_cp;
2108 break;
2109 }
2110 }
2111 --yy_cp;
2112 yy_current_state = *--yy_state_ptr;
2113 yy_lp = yy_accept[yy_current_state];
2114 }
2115
2116 YY_DO_BEFORE_ACTION;
2117
2118 if ( yy_act != YY_END_OF_BUFFER )
2119 {
2120 int yyl;
2121 for ( yyl = 0; yyl < yyleng; ++yyl )
2122 if ( yytext[yyl] == '\n' )
2123 ++yylineno;
2124 }
2125
2126do_action: /* This label is used only to access EOF actions. */
2127
2128 if ( yy_flex_debug )
2129 {
2130 if ( yy_act == 0 )
2131 fprintf( stderr, "--scanner backing up\n" );
Lev Walkin9d542d22006-03-14 16:31:37 +00002132 else if ( yy_act < 137 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002133 fprintf( stderr, "--accepting rule at line %d (\"%s\")\n",
2134 yy_rule_linenum[yy_act], yytext );
Lev Walkin9d542d22006-03-14 16:31:37 +00002135 else if ( yy_act == 137 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002136 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2137 yytext );
Lev Walkin9d542d22006-03-14 16:31:37 +00002138 else if ( yy_act == 138 )
Lev Walkinf15320b2004-06-03 03:38:44 +00002139 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2140 else
2141 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2142 }
2143
2144 switch ( yy_act )
2145 { /* beginning of action switch */
2146case 1:
Lev Walkin2535a692005-07-02 21:42:40 +00002147*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2148yy_c_buf_p = yy_cp -= 1;
2149YY_DO_BEFORE_ACTION; /* set up yytext again */
Lev Walkinf15320b2004-06-03 03:38:44 +00002150YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002151#line 94 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002152/* Immediately terminated long comment */
2153 YY_BREAK
2154case 2:
2155*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2156yy_c_buf_p = yy_cp -= 1;
2157YY_DO_BEFORE_ACTION; /* set up yytext again */
2158YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002159#line 95 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002160yy_push_state(idash_comment); /* Incorrect, but acceptable */
2161 YY_BREAK
2162
2163case 3:
2164YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002165#line 97 "asn1p_l.l"
Lev Walkin2535a692005-07-02 21:42:40 +00002166yy_pop_state(); /* Acceptable end of comment */
2167 YY_BREAK
2168
2169case 4:
2170YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002171#line 100 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002172asn1p_as_pointer = 1;
2173 YY_BREAK
2174case 5:
2175YY_RULE_SETUP
2176#line 102 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002177yy_push_state(dash_comment);
2178 YY_BREAK
2179
Lev Walkin2535a692005-07-02 21:42:40 +00002180case 6:
Lev Walkinf15320b2004-06-03 03:38:44 +00002181YY_RULE_SETUP
Lev Walkin4696c742005-08-22 12:23:54 +00002182#line 105 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002183yy_pop_state();
Lev Walkinf15320b2004-06-03 03:38:44 +00002184 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002185case 7:
Lev Walkinf15320b2004-06-03 03:38:44 +00002186YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002187#line 107 "asn1p_l.l"
2188yy_pop_state(); /* End of comment */
Lev Walkinf15320b2004-06-03 03:38:44 +00002189 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002190case 8:
2191YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002192#line 108 "asn1p_l.l"
2193/* Eat single dash */
Lev Walkin4696c742005-08-22 12:23:54 +00002194 YY_BREAK
2195case 9:
2196YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002197#line 109 "asn1p_l.l"
2198/* Eat */
Lev Walkin4696c742005-08-22 12:23:54 +00002199 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002200
Lev Walkin4696c742005-08-22 12:23:54 +00002201case 10:
2202YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002203#line 112 "asn1p_l.l"
2204yy_push_state(cpp_comment);
Lev Walkin2535a692005-07-02 21:42:40 +00002205 YY_BREAK
2206
Lev Walkin4696c742005-08-22 12:23:54 +00002207case 11:
Lev Walkin2535a692005-07-02 21:42:40 +00002208YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002209#line 114 "asn1p_l.l"
2210/* Eat */
Lev Walkin2535a692005-07-02 21:42:40 +00002211 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002212case 12:
Lev Walkinf15320b2004-06-03 03:38:44 +00002213YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002214#line 115 "asn1p_l.l"
2215yy_pop_state();
Lev Walkin4696c742005-08-22 12:23:54 +00002216 YY_BREAK
2217case 13:
2218YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002219#line 116 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002220/* Eat */
2221 YY_BREAK
2222
2223/*
2224 * This is state is being set from corresponding .y module when
2225 * higher-level data is necessary to make proper parsing of the
2226 * underlying data. Thus, we enter the <opaque> state and save
2227 * everything for later processing.
2228 */
2229
Lev Walkinef625402005-09-05 05:17:57 +00002230case 14:
Lev Walkinf15320b2004-06-03 03:38:44 +00002231YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002232#line 128 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002233{
2234 yy_push_state(opaque);
2235 asn1p_lval.tv_opaque.buf = strdup(yytext);
2236 asn1p_lval.tv_opaque.len = yyleng;
2237 return TOK_opaque;
2238 }
2239 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002240case 15:
Lev Walkinf15320b2004-06-03 03:38:44 +00002241YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002242#line 135 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002243{
2244 yy_pop_state();
2245 asn1p_lval.tv_opaque.buf = strdup(yytext);
2246 asn1p_lval.tv_opaque.len = yyleng;
2247 return TOK_opaque;
2248 }
2249 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002250case 16:
Lev Walkinf15320b2004-06-03 03:38:44 +00002251YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002252#line 142 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002253{
2254 asn1p_lval.tv_opaque.buf = strdup(yytext);
2255 asn1p_lval.tv_opaque.len = yyleng;
2256 return TOK_opaque;
2257 }
2258 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002259case 17:
Lev Walkinf15320b2004-06-03 03:38:44 +00002260YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002261#line 148 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002262{
2263 fprintf(stderr,
2264 "ASN.1 Parser syncronization failure: "
2265 "\"%s\" at line %d must not appear "
2266 "inside value definition\n",
2267 yytext, yylineno);
2268 return -1;
2269 }
2270 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002271case 18:
Lev Walkinf15320b2004-06-03 03:38:44 +00002272YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002273#line 157 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002274{
2275 asn1p_lval.tv_opaque.buf = strdup(yytext);
2276 asn1p_lval.tv_opaque.len = yyleng;
2277 return TOK_opaque;
2278 }
2279 YY_BREAK
2280
Lev Walkinef625402005-09-05 05:17:57 +00002281case 19:
Lev Walkinf15320b2004-06-03 03:38:44 +00002282YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002283#line 165 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002284{
2285 asn1p_lval.tv_opaque.buf = 0;
2286 asn1p_lval.tv_opaque.len = 0;
2287 QAPPEND(yytext+1, yyleng-1);
2288 yy_push_state(quoted);
2289 }
2290 YY_BREAK
2291
Lev Walkinef625402005-09-05 05:17:57 +00002292case 20:
Lev Walkinf15320b2004-06-03 03:38:44 +00002293YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002294#line 173 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002295{ QAPPEND(yytext, yyleng-1); } /* Add a single quote */
2296 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002297case 21:
Lev Walkinf15320b2004-06-03 03:38:44 +00002298YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002299#line 174 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002300{ QAPPEND(yytext, yyleng); }
2301 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002302case 22:
Lev Walkinf15320b2004-06-03 03:38:44 +00002303YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002304#line 176 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002305{
2306 yy_pop_state();
2307 /* Do not append last quote:
2308 // QAPPEND(yytext, yyleng); */
2309
2310 if(asn1p_lexer_pedantic_1990
2311 && strchr(yytext, '\n')) {
2312 fprintf(stderr, "%s: "
2313 "Newlines are prohibited by ASN.1:1990\n",
2314 asn1p_lval.tv_opaque.buf);
2315 return -1;
2316 }
2317
2318 return TOK_cstring;
2319 }
2320 YY_BREAK
2321
Lev Walkinf59d0752004-08-18 04:59:12 +00002322
Lev Walkinef625402005-09-05 05:17:57 +00002323case 23:
Lev Walkinf15320b2004-06-03 03:38:44 +00002324YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002325#line 195 "asn1p_l.l"
Lev Walkinf59d0752004-08-18 04:59:12 +00002326{
2327 const char *s = "ENCODING-CONTROL";
2328 const char *p = s + sizeof("ENCODING-CONTROL") - 2;
2329 for(; p >= s; p--) unput(*p);
2330 yy_pop_state();
2331 }
2332 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002333case 24:
2334YY_RULE_SETUP
2335#line 201 "asn1p_l.l"
2336unput('D'); unput('N'); unput('E'); yy_pop_state();
2337 YY_BREAK
2338case 25:
2339YY_RULE_SETUP
2340#line 202 "asn1p_l.l"
2341
2342 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002343case 26:
2344YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002345#line 203 "asn1p_l.l"
2346
Lev Walkin2535a692005-07-02 21:42:40 +00002347 YY_BREAK
2348case 27:
2349YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002350#line 204 "asn1p_l.l"
2351/* Eat everything else */
Lev Walkin4696c742005-08-22 12:23:54 +00002352 YY_BREAK
2353case 28:
2354YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002355#line 205 "asn1p_l.l"
Lev Walkin4696c742005-08-22 12:23:54 +00002356
2357 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002358
Lev Walkin4696c742005-08-22 12:23:54 +00002359case 29:
2360YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002361#line 208 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002362{
2363 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2364 asn1p_lval.tv_str = yytext;
2365 return TOK_hstring;
2366 }
2367 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002368case 30:
Lev Walkinf15320b2004-06-03 03:38:44 +00002369YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002370#line 214 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002371{
2372 /* " \t\r\n" weren't allowed in ASN.1:1990. */
2373 asn1p_lval.tv_str = strdup(yytext);
2374 return TOK_bstring;
2375 }
2376 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002377case 31:
Lev Walkinf15320b2004-06-03 03:38:44 +00002378YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002379#line 221 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002380{
2381 asn1p_lval.a_int = asn1p_atoi(yytext);
2382 if(errno == ERANGE)
2383 return -1;
2384 return TOK_number_negative;
2385 }
2386 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002387case 32:
2388YY_RULE_SETUP
2389#line 228 "asn1p_l.l"
2390{
2391 asn1p_lval.a_int = asn1p_atoi(yytext);
2392 if(errno == ERANGE)
2393 return -1;
2394 return TOK_number;
2395 }
2396 YY_BREAK
2397case 33:
2398YY_RULE_SETUP
2399#line 235 "asn1p_l.l"
2400{
2401 asn1p_lval.a_int = asn1p_atoi(yytext);
2402 if(errno == ERANGE)
2403 return -1;
2404 return TOK_number;
2405 }
2406 YY_BREAK
Lev Walkin4696c742005-08-22 12:23:54 +00002407case 34:
Lev Walkinf15320b2004-06-03 03:38:44 +00002408YY_RULE_SETUP
Lev Walkinef625402005-09-05 05:17:57 +00002409#line 242 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002410return TOK_ABSENT;
2411 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002412case 35:
Lev Walkinf15320b2004-06-03 03:38:44 +00002413YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002414#line 243 "asn1p_l.l"
Lev Walkin9c974182004-09-15 11:59:51 +00002415return TOK_ALL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002416 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002417case 36:
Lev Walkinf15320b2004-06-03 03:38:44 +00002418YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002419#line 244 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002420{
2421 /* Appeared in 1990, removed in 1997 */
2422 if(TYPE_LIFETIME(1990, 1997))
2423 return TOK_ANY;
2424 fprintf(stderr, "Keyword \"%s\" at line %d "
2425 "is obsolete\n", yytext, yylineno);
2426 REJECT;
2427 }
2428 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002429case 37:
2430YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002431#line 252 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002432return TOK_APPLICATION;
2433 YY_BREAK
2434case 38:
2435YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002436#line 253 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002437return TOK_AUTOMATIC;
2438 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002439case 39:
2440YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002441#line 254 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002442return TOK_BEGIN;
Lev Walkin2535a692005-07-02 21:42:40 +00002443 YY_BREAK
2444case 40:
2445YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002446#line 255 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002447return TOK_BIT;
Lev Walkin4696c742005-08-22 12:23:54 +00002448 YY_BREAK
2449case 41:
2450YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002451#line 256 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002452{
2453 if(TYPE_LIFETIME(1994, 0))
2454 return TOK_BMPString;
2455 REJECT;
2456 }
2457 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002458case 42:
2459YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002460#line 261 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002461return TOK_BOOLEAN;
2462 YY_BREAK
2463case 43:
2464YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002465#line 262 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002466return TOK_BY;
2467 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002468case 44:
2469YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002470#line 263 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002471return TOK_CHARACTER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002472 YY_BREAK
2473case 45:
2474YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002475#line 264 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002476return TOK_CHOICE;
Lev Walkinf59d0752004-08-18 04:59:12 +00002477 YY_BREAK
2478case 46:
2479YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002480#line 265 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002481return TOK_CLASS;
Lev Walkinf59d0752004-08-18 04:59:12 +00002482 YY_BREAK
2483case 47:
2484YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002485#line 266 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002486return TOK_COMPONENT;
Lev Walkinf59d0752004-08-18 04:59:12 +00002487 YY_BREAK
2488case 48:
2489YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002490#line 267 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002491return TOK_COMPONENTS;
Lev Walkin2535a692005-07-02 21:42:40 +00002492 YY_BREAK
2493case 49:
2494YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002495#line 268 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002496return TOK_CONSTRAINED;
Lev Walkin2535a692005-07-02 21:42:40 +00002497 YY_BREAK
2498case 50:
2499YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002500#line 269 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002501return TOK_CONTAINING;
Lev Walkin2535a692005-07-02 21:42:40 +00002502 YY_BREAK
2503case 51:
2504YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002505#line 270 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002506return TOK_DEFAULT;
Lev Walkin4696c742005-08-22 12:23:54 +00002507 YY_BREAK
2508case 52:
2509YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002510#line 271 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002511{
2512 /* Appeared in 1990, removed in 1997 */
2513 if(TYPE_LIFETIME(1990, 1997))
2514 return TOK_DEFINED;
2515 fprintf(stderr, "Keyword \"%s\" at line %d "
2516 "is obsolete\n", yytext, yylineno);
2517 /* Deprecated since */
2518 REJECT;
2519 }
2520 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002521case 53:
2522YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002523#line 280 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002524return TOK_DEFINITIONS;
2525 YY_BREAK
2526case 54:
2527YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002528#line 281 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002529return TOK_EMBEDDED;
2530 YY_BREAK
Lev Walkinf15320b2004-06-03 03:38:44 +00002531case 55:
2532YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002533#line 282 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002534return TOK_ENCODED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002535 YY_BREAK
2536case 56:
2537YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002538#line 283 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002539return TOK_ENCODING_CONTROL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002540 YY_BREAK
2541case 57:
2542YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002543#line 284 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002544return TOK_END;
Lev Walkinf15320b2004-06-03 03:38:44 +00002545 YY_BREAK
2546case 58:
2547YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002548#line 285 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002549return TOK_ENUMERATED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002550 YY_BREAK
2551case 59:
2552YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002553#line 286 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002554return TOK_EXCEPT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002555 YY_BREAK
2556case 60:
2557YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002558#line 287 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002559return TOK_EXPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002560 YY_BREAK
2561case 61:
2562YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002563#line 288 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002564return TOK_EXPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002565 YY_BREAK
2566case 62:
2567YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002568#line 289 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002569return TOK_EXTENSIBILITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002570 YY_BREAK
2571case 63:
2572YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002573#line 290 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002574return TOK_EXTERNAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002575 YY_BREAK
2576case 64:
2577YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002578#line 291 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002579return TOK_FALSE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002580 YY_BREAK
2581case 65:
2582YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002583#line 292 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002584return TOK_FROM;
Lev Walkinf15320b2004-06-03 03:38:44 +00002585 YY_BREAK
2586case 66:
2587YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002588#line 293 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002589return TOK_GeneralizedTime;
Lev Walkinf15320b2004-06-03 03:38:44 +00002590 YY_BREAK
2591case 67:
2592YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002593#line 294 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002594return TOK_GeneralString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002595 YY_BREAK
2596case 68:
2597YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002598#line 295 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002599return TOK_GraphicString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002600 YY_BREAK
2601case 69:
2602YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002603#line 296 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002604return TOK_IA5String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002605 YY_BREAK
2606case 70:
2607YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002608#line 297 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002609return TOK_IDENTIFIER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002610 YY_BREAK
2611case 71:
2612YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002613#line 298 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002614return TOK_IMPLICIT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002615 YY_BREAK
2616case 72:
2617YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002618#line 299 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002619return TOK_IMPLIED;
Lev Walkinf15320b2004-06-03 03:38:44 +00002620 YY_BREAK
2621case 73:
2622YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002623#line 300 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002624return TOK_IMPORTS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002625 YY_BREAK
2626case 74:
2627YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002628#line 301 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002629return TOK_INCLUDES;
Lev Walkinf15320b2004-06-03 03:38:44 +00002630 YY_BREAK
2631case 75:
2632YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002633#line 302 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002634return TOK_INSTANCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002635 YY_BREAK
2636case 76:
2637YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002638#line 303 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002639return TOK_INSTRUCTIONS;
Lev Walkinf15320b2004-06-03 03:38:44 +00002640 YY_BREAK
2641case 77:
2642YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002643#line 304 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002644return TOK_INTEGER;
Lev Walkinf15320b2004-06-03 03:38:44 +00002645 YY_BREAK
2646case 78:
2647YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002648#line 305 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002649return TOK_INTERSECTION;
Lev Walkinf15320b2004-06-03 03:38:44 +00002650 YY_BREAK
2651case 79:
2652YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002653#line 306 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002654return TOK_ISO646String;
Lev Walkinf15320b2004-06-03 03:38:44 +00002655 YY_BREAK
2656case 80:
2657YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002658#line 307 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002659return TOK_MAX;
Lev Walkinf15320b2004-06-03 03:38:44 +00002660 YY_BREAK
2661case 81:
2662YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002663#line 308 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002664return TOK_MIN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002665 YY_BREAK
2666case 82:
2667YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002668#line 309 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002669return TOK_MINUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002670 YY_BREAK
2671case 83:
2672YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002673#line 310 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002674return TOK_NULL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002675 YY_BREAK
2676case 84:
2677YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002678#line 311 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002679return TOK_NumericString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002680 YY_BREAK
2681case 85:
2682YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002683#line 312 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002684return TOK_OBJECT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002685 YY_BREAK
2686case 86:
2687YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002688#line 313 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002689return TOK_ObjectDescriptor;
Lev Walkinf15320b2004-06-03 03:38:44 +00002690 YY_BREAK
2691case 87:
2692YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002693#line 314 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002694return TOK_OCTET;
Lev Walkinf15320b2004-06-03 03:38:44 +00002695 YY_BREAK
2696case 88:
2697YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002698#line 315 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002699return TOK_OF;
Lev Walkinf15320b2004-06-03 03:38:44 +00002700 YY_BREAK
2701case 89:
2702YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002703#line 316 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002704return TOK_OPTIONAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002705 YY_BREAK
2706case 90:
2707YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002708#line 317 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002709return TOK_PATTERN;
Lev Walkinf15320b2004-06-03 03:38:44 +00002710 YY_BREAK
2711case 91:
2712YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002713#line 318 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002714return TOK_PDV;
Lev Walkinf15320b2004-06-03 03:38:44 +00002715 YY_BREAK
2716case 92:
2717YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002718#line 319 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002719return TOK_PLUS_INFINITY;
Lev Walkinf15320b2004-06-03 03:38:44 +00002720 YY_BREAK
2721case 93:
2722YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002723#line 320 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002724return TOK_PRESENT;
Lev Walkinf15320b2004-06-03 03:38:44 +00002725 YY_BREAK
2726case 94:
2727YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002728#line 321 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002729return TOK_PrintableString;
Lev Walkinf15320b2004-06-03 03:38:44 +00002730 YY_BREAK
2731case 95:
2732YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002733#line 322 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002734return TOK_PRIVATE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002735 YY_BREAK
2736case 96:
2737YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002738#line 323 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002739return TOK_REAL;
Lev Walkinf15320b2004-06-03 03:38:44 +00002740 YY_BREAK
2741case 97:
2742YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002743#line 324 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002744return TOK_RELATIVE_OID;
Lev Walkinf15320b2004-06-03 03:38:44 +00002745 YY_BREAK
2746case 98:
2747YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002748#line 325 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002749return TOK_SEQUENCE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002750 YY_BREAK
2751case 99:
2752YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002753#line 326 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002754return TOK_SET;
Lev Walkinf15320b2004-06-03 03:38:44 +00002755 YY_BREAK
2756case 100:
2757YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002758#line 327 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002759return TOK_SIZE;
Lev Walkinf15320b2004-06-03 03:38:44 +00002760 YY_BREAK
2761case 101:
2762YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002763#line 328 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002764return TOK_STRING;
Lev Walkinf15320b2004-06-03 03:38:44 +00002765 YY_BREAK
2766case 102:
2767YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002768#line 329 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002769return TOK_SYNTAX;
Lev Walkinf59d0752004-08-18 04:59:12 +00002770 YY_BREAK
2771case 103:
2772YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002773#line 330 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002774return TOK_T61String;
Lev Walkinf59d0752004-08-18 04:59:12 +00002775 YY_BREAK
2776case 104:
2777YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002778#line 331 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002779return TOK_TAGS;
Lev Walkinf59d0752004-08-18 04:59:12 +00002780 YY_BREAK
2781case 105:
2782YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002783#line 332 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002784return TOK_TeletexString;
Lev Walkinf59d0752004-08-18 04:59:12 +00002785 YY_BREAK
2786case 106:
2787YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002788#line 333 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002789return TOK_TRUE;
Lev Walkinf59d0752004-08-18 04:59:12 +00002790 YY_BREAK
2791case 107:
2792YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002793#line 334 "asn1p_l.l"
2794return TOK_UNION;
Lev Walkin2535a692005-07-02 21:42:40 +00002795 YY_BREAK
2796case 108:
2797YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002798#line 335 "asn1p_l.l"
2799return TOK_UNIQUE;
Lev Walkin2535a692005-07-02 21:42:40 +00002800 YY_BREAK
2801case 109:
2802YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002803#line 336 "asn1p_l.l"
2804return TOK_UNIVERSAL;
Lev Walkin2535a692005-07-02 21:42:40 +00002805 YY_BREAK
2806case 110:
2807YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002808#line 337 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002809{
2810 if(TYPE_LIFETIME(1994, 0))
2811 return TOK_UniversalString;
2812 REJECT;
2813 }
2814 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00002815case 111:
Lev Walkinf15320b2004-06-03 03:38:44 +00002816YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002817#line 342 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002818return TOK_UTCTime;
2819 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00002820case 112:
Lev Walkinf15320b2004-06-03 03:38:44 +00002821YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002822#line 343 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002823{
2824 if(TYPE_LIFETIME(1994, 0))
2825 return TOK_UTF8String;
2826 REJECT;
2827 }
2828 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00002829case 113:
2830YY_RULE_SETUP
2831#line 348 "asn1p_l.l"
2832return TOK_VideotexString;
2833 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002834case 114:
2835YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002836#line 349 "asn1p_l.l"
2837return TOK_VisibleString;
Lev Walkinef625402005-09-05 05:17:57 +00002838 YY_BREAK
2839case 115:
2840YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002841#line 350 "asn1p_l.l"
2842return TOK_WITH;
Lev Walkinef625402005-09-05 05:17:57 +00002843 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002844case 116:
2845YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002846#line 353 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002847{
Lev Walkinf15320b2004-06-03 03:38:44 +00002848 asn1p_lval.tv_str = strdup(yytext);
2849 return TOK_typefieldreference;
2850 }
2851 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00002852case 117:
Lev Walkinf15320b2004-06-03 03:38:44 +00002853YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002854#line 358 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002855{
Lev Walkinf15320b2004-06-03 03:38:44 +00002856 asn1p_lval.tv_str = strdup(yytext);
2857 return TOK_valuefieldreference;
2858 }
2859 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00002860case 118:
Lev Walkinf15320b2004-06-03 03:38:44 +00002861YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002862#line 364 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002863{
Lev Walkinf15320b2004-06-03 03:38:44 +00002864 asn1p_lval.tv_str = strdup(yytext);
2865 return TOK_identifier;
2866 }
2867 YY_BREAK
2868/*
2869 * objectclassreference
2870 */
Lev Walkina2fcce42006-03-06 11:28:17 +00002871case 119:
Lev Walkinf15320b2004-06-03 03:38:44 +00002872YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002873#line 372 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002874{
Lev Walkinf15320b2004-06-03 03:38:44 +00002875 asn1p_lval.tv_str = strdup(yytext);
Lev Walkinf59d0752004-08-18 04:59:12 +00002876 return TOK_capitalreference;
Lev Walkinf15320b2004-06-03 03:38:44 +00002877 }
2878 YY_BREAK
2879/*
2880 * typereference, modulereference
2881 * NOTE: TOK_objectclassreference must be combined
2882 * with this token to produce true typereference.
2883 */
Lev Walkina2fcce42006-03-06 11:28:17 +00002884case 120:
Lev Walkinf15320b2004-06-03 03:38:44 +00002885YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002886#line 382 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00002887{
Lev Walkinf15320b2004-06-03 03:38:44 +00002888 asn1p_lval.tv_str = strdup(yytext);
2889 return TOK_typereference;
2890 }
2891 YY_BREAK
Lev Walkina2fcce42006-03-06 11:28:17 +00002892case 121:
2893YY_RULE_SETUP
2894#line 387 "asn1p_l.l"
2895return TOK_PPEQ;
2896 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002897case 122:
Lev Walkin2535a692005-07-02 21:42:40 +00002898YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002899#line 389 "asn1p_l.l"
2900return TOK_ThreeDots;
Lev Walkinf15320b2004-06-03 03:38:44 +00002901 YY_BREAK
Lev Walkinef625402005-09-05 05:17:57 +00002902case 123:
2903YY_RULE_SETUP
Lev Walkina2fcce42006-03-06 11:28:17 +00002904#line 390 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002905return TOK_TwoDots;
2906 YY_BREAK
2907
Lev Walkina2fcce42006-03-06 11:28:17 +00002908case 124:
2909YY_RULE_SETUP
2910#line 394 "asn1p_l.l"
2911{
Lev Walkin9d542d22006-03-14 16:31:37 +00002912 asn1p_lval.tv_str = strdup(yytext);
2913 return TOK_Literal;
Lev Walkina2fcce42006-03-06 11:28:17 +00002914 }
2915 YY_BREAK
Lev Walkin2535a692005-07-02 21:42:40 +00002916case 125:
Lev Walkinf15320b2004-06-03 03:38:44 +00002917YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00002918#line 399 "asn1p_l.l"
2919{
2920 asn1p_lval.tv_str = strdup(yytext);
2921 return TOK_Literal;
2922 }
2923 YY_BREAK
2924case 126:
2925YY_RULE_SETUP
2926#line 404 "asn1p_l.l"
2927{
2928 yy_push_state(with_syntax);
2929 asn1p_lval.tv_str = strdup(yytext);
2930 return TOK_Literal;
2931 }
2932 YY_BREAK
2933case 127:
2934YY_RULE_SETUP
2935#line 410 "asn1p_l.l"
2936return '[';
2937 YY_BREAK
2938case 128:
2939YY_RULE_SETUP
2940#line 411 "asn1p_l.l"
2941return ']';
2942 YY_BREAK
2943case 129:
2944YY_RULE_SETUP
2945#line 413 "asn1p_l.l"
Lev Walkinef625402005-09-05 05:17:57 +00002946{
2947 asn1p_lval.tv_opaque.buf = strdup(yytext);
2948 asn1p_lval.tv_opaque.len = yyleng;
Lev Walkin57074f12006-03-16 05:11:14 +00002949 return TOK_whitespace;
Lev Walkinef625402005-09-05 05:17:57 +00002950 }
Lev Walkin4696c742005-08-22 12:23:54 +00002951 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00002952case 130:
Lev Walkin4696c742005-08-22 12:23:54 +00002953YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00002954#line 419 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00002955{
2956 yy_pop_state();
Lev Walkin9d542d22006-03-14 16:31:37 +00002957 if(YYSTATE == with_syntax) {
2958 asn1p_lval.tv_str = strdup(yytext);
2959 return TOK_Literal;
2960 } else {
2961 return '}';
2962 }
Lev Walkind9574ae2005-03-24 16:22:35 +00002963 }
2964 YY_BREAK
2965
Lev Walkin9d542d22006-03-14 16:31:37 +00002966case 131:
Lev Walkind9574ae2005-03-24 16:22:35 +00002967YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00002968#line 432 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00002969/* Ignore whitespace */
2970 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00002971case 132:
Lev Walkind9574ae2005-03-24 16:22:35 +00002972YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00002973#line 435 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00002974{
2975 asn1c_integer_t v1 = -1, v2 = -1;
2976 char *p;
2977 for(p = yytext; *p; p++)
2978 if(*p >= '0' && *p <= '9')
2979 { v1 = asn1p_atoi(p); break; }
2980 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
2981 for(; *p; p++) if(*p >= '0' && *p <= '9')
2982 { v2 = asn1p_atoi(p); break; }
2983 if(v1 < 0 || v1 > 7) {
2984 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
2985 "mandates 0..7 range for Tuple's TableColumn\n",
2986 yytext, yylineno);
2987 return -1;
2988 }
2989 if(v2 < 0 || v2 > 15) {
2990 fprintf(stderr, "%s at line %d: X.680:2003, #37.14 "
2991 "mandates 0..15 range for Tuple's TableRow\n",
2992 yytext, yylineno);
2993 return -1;
2994 }
2995 asn1p_lval.a_int = (v1 << 4) + v2;
2996 return TOK_tuple;
2997 }
2998 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00002999case 133:
Lev Walkind9574ae2005-03-24 16:22:35 +00003000YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00003001#line 460 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003002{
3003 asn1c_integer_t v1 = -1, v2 = -1, v3 = -1, v4 = -1;
3004 char *p;
3005 for(p = yytext; *p; p++)
3006 if(*p >= '0' && *p <= '9')
3007 { v1 = asn1p_atoi(p); break; }
3008 while(*p >= '0' && *p <= '9') p++; /* Skip digits */
3009 for(; *p; p++) if(*p >= '0' && *p <= '9')
3010 { v2 = asn1p_atoi(p); break; }
3011 while(*p >= '0' && *p <= '9') p++;
3012 for(; *p; p++) if(*p >= '0' && *p <= '9')
3013 { v3 = asn1p_atoi(p); break; }
3014 while(*p >= '0' && *p <= '9') p++;
3015 for(; *p; p++) if(*p >= '0' && *p <= '9')
3016 { v4 = asn1p_atoi(p); break; }
3017 if(v1 < 0 || v1 > 127) {
3018 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3019 "mandates 0..127 range for Quadruple's Group\n",
3020 yytext, yylineno);
3021 return -1;
3022 }
3023 if(v2 < 0 || v2 > 255) {
3024 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3025 "mandates 0..255 range for Quadruple's Plane\n",
3026 yytext, yylineno);
3027 return -1;
3028 }
3029 if(v3 < 0 || v3 > 255) {
3030 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3031 "mandates 0..255 range for Quadruple's Row\n",
3032 yytext, yylineno);
3033 return -1;
3034 }
3035 if(v4 < 0 || v4 > 255) {
3036 fprintf(stderr, "%s at line %d: X.680:2003, #37.12 "
3037 "mandates 0..255 range for Quadruple's Cell\n",
3038 yytext, yylineno);
3039 return -1;
3040 }
3041 asn1p_lval.a_int = (v1 << 24) | (v2 << 16) | (v3 << 8) | v4;
3042 return TOK_quadruple;
3043 }
3044 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00003045case 134:
Lev Walkind9574ae2005-03-24 16:22:35 +00003046YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00003047#line 504 "asn1p_l.l"
Lev Walkind9574ae2005-03-24 16:22:35 +00003048return yytext[0];
3049 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00003050case 135:
Lev Walkind9574ae2005-03-24 16:22:35 +00003051YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00003052#line 506 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003053{
3054 if(TYPE_LIFETIME(1994, 0))
3055 fprintf(stderr, "ERROR: ");
3056 fprintf(stderr,
3057 "Symbol '%c' at line %d is prohibited "
3058 "by ASN.1:1994 and ASN.1:1997\n",
3059 yytext[0], yylineno);
3060 if(TYPE_LIFETIME(1994, 0))
3061 return -1;
3062 }
3063 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00003064case 136:
Lev Walkinc603f102005-01-23 09:51:44 +00003065YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00003066#line 517 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003067{
3068 fprintf(stderr,
3069 "Unexpected token at line %d: \"%s\"\n",
3070 yylineno, yytext);
3071 while(YYSTATE != INITIAL)
3072 yy_pop_state();
Lev Walkin9c974182004-09-15 11:59:51 +00003073 if(0) {
3074 yy_top_state(); /* Just to use this function. */
3075 yy_fatal_error("Parse error");
3076 }
Lev Walkinf15320b2004-06-03 03:38:44 +00003077 return -1;
3078}
3079 YY_BREAK
3080case YY_STATE_EOF(INITIAL):
3081case YY_STATE_EOF(dash_comment):
Lev Walkin2535a692005-07-02 21:42:40 +00003082case YY_STATE_EOF(idash_comment):
Lev Walkinf15320b2004-06-03 03:38:44 +00003083case YY_STATE_EOF(cpp_comment):
3084case YY_STATE_EOF(quoted):
3085case YY_STATE_EOF(opaque):
Lev Walkinf59d0752004-08-18 04:59:12 +00003086case YY_STATE_EOF(encoding_control):
Lev Walkinf15320b2004-06-03 03:38:44 +00003087case YY_STATE_EOF(with_syntax):
Lev Walkin9d542d22006-03-14 16:31:37 +00003088#line 530 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003089{
3090 while(YYSTATE != INITIAL)
3091 yy_pop_state();
3092 yyterminate();
3093 }
3094 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00003095case 137:
Lev Walkinf15320b2004-06-03 03:38:44 +00003096YY_RULE_SETUP
Lev Walkin9d542d22006-03-14 16:31:37 +00003097#line 537 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003098YY_FATAL_ERROR( "flex scanner jammed" );
3099 YY_BREAK
Lev Walkin9d542d22006-03-14 16:31:37 +00003100#line 3101 "asn1p_l.c"
Lev Walkinf15320b2004-06-03 03:38:44 +00003101
3102 case YY_END_OF_BUFFER:
3103 {
3104 /* Amount of text matched not including the EOB char. */
3105 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
3106
3107 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3108 *yy_cp = yy_hold_char;
3109 YY_RESTORE_YY_MORE_OFFSET
3110
3111 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
3112 {
3113 /* We're scanning a new file or input source. It's
3114 * possible that this happened because the user
3115 * just pointed yyin at a new source and called
3116 * yylex(). If so, then we have to assure
3117 * consistency between yy_current_buffer and our
3118 * globals. Here is the right place to do so, because
3119 * this is the first action (other than possibly a
3120 * back-up) that will match for the new input source.
3121 */
3122 yy_n_chars = yy_current_buffer->yy_n_chars;
3123 yy_current_buffer->yy_input_file = yyin;
3124 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
3125 }
3126
3127 /* Note that here we test for yy_c_buf_p "<=" to the position
3128 * of the first EOB in the buffer, since yy_c_buf_p will
3129 * already have been incremented past the NUL character
3130 * (since all states make transitions on EOB to the
3131 * end-of-buffer state). Contrast this with the test
3132 * in input().
3133 */
3134 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3135 { /* This was really a NUL. */
3136 yy_state_type yy_next_state;
3137
3138 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
3139
3140 yy_current_state = yy_get_previous_state();
3141
3142 /* Okay, we're now positioned to make the NUL
3143 * transition. We couldn't have
3144 * yy_get_previous_state() go ahead and do it
3145 * for us because it doesn't know how to deal
3146 * with the possibility of jamming (and we don't
3147 * want to build jamming into it because then it
3148 * will run more slowly).
3149 */
3150
3151 yy_next_state = yy_try_NUL_trans( yy_current_state );
3152
3153 yy_bp = yytext_ptr + YY_MORE_ADJ;
3154
3155 if ( yy_next_state )
3156 {
3157 /* Consume the NUL. */
3158 yy_cp = ++yy_c_buf_p;
3159 yy_current_state = yy_next_state;
3160 goto yy_match;
3161 }
3162
3163 else
3164 {
3165 yy_cp = yy_c_buf_p;
3166 goto yy_find_action;
3167 }
3168 }
3169
3170 else switch ( yy_get_next_buffer() )
3171 {
3172 case EOB_ACT_END_OF_FILE:
3173 {
3174 yy_did_buffer_switch_on_eof = 0;
3175
3176 if ( yywrap() )
3177 {
3178 /* Note: because we've taken care in
3179 * yy_get_next_buffer() to have set up
3180 * yytext, we can now set up
3181 * yy_c_buf_p so that if some total
3182 * hoser (like flex itself) wants to
3183 * call the scanner after we return the
3184 * YY_NULL, it'll still work - another
3185 * YY_NULL will get returned.
3186 */
3187 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
3188
3189 yy_act = YY_STATE_EOF(YY_START);
3190 goto do_action;
3191 }
3192
3193 else
3194 {
3195 if ( ! yy_did_buffer_switch_on_eof )
3196 YY_NEW_FILE;
3197 }
3198 break;
3199 }
3200
3201 case EOB_ACT_CONTINUE_SCAN:
3202 yy_c_buf_p =
3203 yytext_ptr + yy_amount_of_matched_text;
3204
3205 yy_current_state = yy_get_previous_state();
3206
3207 yy_cp = yy_c_buf_p;
3208 yy_bp = yytext_ptr + YY_MORE_ADJ;
3209 goto yy_match;
3210
3211 case EOB_ACT_LAST_MATCH:
3212 yy_c_buf_p =
3213 &yy_current_buffer->yy_ch_buf[yy_n_chars];
3214
3215 yy_current_state = yy_get_previous_state();
3216
3217 yy_cp = yy_c_buf_p;
3218 yy_bp = yytext_ptr + YY_MORE_ADJ;
3219 goto yy_find_action;
3220 }
3221 break;
3222 }
3223
3224 default:
3225 YY_FATAL_ERROR(
3226 "fatal flex scanner internal error--no action found" );
3227 } /* end of action switch */
3228 } /* end of scanning one token */
3229 } /* end of yylex */
3230
3231
3232/* yy_get_next_buffer - try to read in a new buffer
3233 *
3234 * Returns a code representing an action:
3235 * EOB_ACT_LAST_MATCH -
3236 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3237 * EOB_ACT_END_OF_FILE - end of file
3238 */
3239
3240static int yy_get_next_buffer()
3241 {
3242 register char *dest = yy_current_buffer->yy_ch_buf;
3243 register char *source = yytext_ptr;
3244 register int number_to_move, i;
3245 int ret_val;
3246
3247 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
3248 YY_FATAL_ERROR(
3249 "fatal flex scanner internal error--end of buffer missed" );
3250
3251 if ( yy_current_buffer->yy_fill_buffer == 0 )
3252 { /* Don't try to fill the buffer, so this is an EOF. */
3253 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
3254 {
3255 /* We matched a single character, the EOB, so
3256 * treat this as a final EOF.
3257 */
3258 return EOB_ACT_END_OF_FILE;
3259 }
3260
3261 else
3262 {
3263 /* We matched some text prior to the EOB, first
3264 * process it.
3265 */
3266 return EOB_ACT_LAST_MATCH;
3267 }
3268 }
3269
3270 /* Try to read more data. */
3271
3272 /* First move last chars to start of buffer. */
3273 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
3274
3275 for ( i = 0; i < number_to_move; ++i )
3276 *(dest++) = *(source++);
3277
3278 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3279 /* don't do the read, it's not guaranteed to return an EOF,
3280 * just force an EOF
3281 */
3282 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
3283
3284 else
3285 {
3286 int num_to_read =
3287 yy_current_buffer->yy_buf_size - number_to_move - 1;
3288
3289 while ( num_to_read <= 0 )
3290 { /* Not enough room in the buffer - grow it. */
3291#ifdef YY_USES_REJECT
3292 YY_FATAL_ERROR(
3293"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
3294#else
3295
3296 /* just a shorter name for the current buffer */
3297 YY_BUFFER_STATE b = yy_current_buffer;
3298
3299 int yy_c_buf_p_offset =
3300 (int) (yy_c_buf_p - b->yy_ch_buf);
3301
3302 if ( b->yy_is_our_buffer )
3303 {
3304 int new_size = b->yy_buf_size * 2;
3305
3306 if ( new_size <= 0 )
3307 b->yy_buf_size += b->yy_buf_size / 8;
3308 else
3309 b->yy_buf_size *= 2;
3310
3311 b->yy_ch_buf = (char *)
3312 /* Include room in for 2 EOB chars. */
3313 yy_flex_realloc( (void *) b->yy_ch_buf,
3314 b->yy_buf_size + 2 );
3315 }
3316 else
3317 /* Can't grow it, we don't own it. */
3318 b->yy_ch_buf = 0;
3319
3320 if ( ! b->yy_ch_buf )
3321 YY_FATAL_ERROR(
3322 "fatal error - scanner input buffer overflow" );
3323
3324 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3325
3326 num_to_read = yy_current_buffer->yy_buf_size -
3327 number_to_move - 1;
3328#endif
3329 }
3330
3331 if ( num_to_read > YY_READ_BUF_SIZE )
3332 num_to_read = YY_READ_BUF_SIZE;
3333
3334 /* Read in more data. */
3335 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
3336 yy_n_chars, num_to_read );
3337
3338 yy_current_buffer->yy_n_chars = yy_n_chars;
3339 }
3340
3341 if ( yy_n_chars == 0 )
3342 {
3343 if ( number_to_move == YY_MORE_ADJ )
3344 {
3345 ret_val = EOB_ACT_END_OF_FILE;
3346 yyrestart( yyin );
3347 }
3348
3349 else
3350 {
3351 ret_val = EOB_ACT_LAST_MATCH;
3352 yy_current_buffer->yy_buffer_status =
3353 YY_BUFFER_EOF_PENDING;
3354 }
3355 }
3356
3357 else
3358 ret_val = EOB_ACT_CONTINUE_SCAN;
3359
3360 yy_n_chars += number_to_move;
3361 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3362 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3363
3364 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
3365
3366 return ret_val;
3367 }
3368
3369
3370/* yy_get_previous_state - get the state just before the EOB char was reached */
3371
3372static yy_state_type yy_get_previous_state()
3373 {
3374 register yy_state_type yy_current_state;
3375 register char *yy_cp;
3376
3377 yy_current_state = yy_start;
3378 yy_state_ptr = yy_state_buf;
3379 *yy_state_ptr++ = yy_current_state;
3380
3381 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
3382 {
3383 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3384 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3385 {
3386 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin9d542d22006-03-14 16:31:37 +00003387 if ( yy_current_state >= 735 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003388 yy_c = yy_meta[(unsigned int) yy_c];
3389 }
3390 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3391 *yy_state_ptr++ = yy_current_state;
3392 }
3393
3394 return yy_current_state;
3395 }
3396
3397
3398/* yy_try_NUL_trans - try to make a transition on the NUL character
3399 *
3400 * synopsis
3401 * next_state = yy_try_NUL_trans( current_state );
3402 */
3403
3404#ifdef YY_USE_PROTOS
3405static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
3406#else
3407static yy_state_type yy_try_NUL_trans( yy_current_state )
3408yy_state_type yy_current_state;
3409#endif
3410 {
3411 register int yy_is_jam;
3412
3413 register YY_CHAR yy_c = 1;
3414 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3415 {
3416 yy_current_state = (int) yy_def[yy_current_state];
Lev Walkin9d542d22006-03-14 16:31:37 +00003417 if ( yy_current_state >= 735 )
Lev Walkinf15320b2004-06-03 03:38:44 +00003418 yy_c = yy_meta[(unsigned int) yy_c];
3419 }
3420 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
Lev Walkin9d542d22006-03-14 16:31:37 +00003421 yy_is_jam = (yy_current_state == 734);
Lev Walkinf15320b2004-06-03 03:38:44 +00003422 if ( ! yy_is_jam )
3423 *yy_state_ptr++ = yy_current_state;
3424
3425 return yy_is_jam ? 0 : yy_current_state;
3426 }
3427
3428
3429#ifndef YY_NO_UNPUT
3430#ifdef YY_USE_PROTOS
3431static void yyunput( int c, register char *yy_bp )
3432#else
3433static void yyunput( c, yy_bp )
3434int c;
3435register char *yy_bp;
3436#endif
3437 {
3438 register char *yy_cp = yy_c_buf_p;
3439
3440 /* undo effects of setting up yytext */
3441 *yy_cp = yy_hold_char;
3442
3443 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3444 { /* need to shift things up to make room */
3445 /* +2 for EOB chars. */
3446 register int number_to_move = yy_n_chars + 2;
3447 register char *dest = &yy_current_buffer->yy_ch_buf[
3448 yy_current_buffer->yy_buf_size + 2];
3449 register char *source =
3450 &yy_current_buffer->yy_ch_buf[number_to_move];
3451
3452 while ( source > yy_current_buffer->yy_ch_buf )
3453 *--dest = *--source;
3454
3455 yy_cp += (int) (dest - source);
3456 yy_bp += (int) (dest - source);
3457 yy_current_buffer->yy_n_chars =
3458 yy_n_chars = yy_current_buffer->yy_buf_size;
3459
3460 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
3461 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3462 }
3463
3464 *--yy_cp = (char) c;
3465
3466 if ( c == '\n' )
3467 --yylineno;
3468
3469 yytext_ptr = yy_bp;
3470 yy_hold_char = *yy_cp;
3471 yy_c_buf_p = yy_cp;
3472 }
3473#endif /* ifndef YY_NO_UNPUT */
3474
3475
3476#ifdef __cplusplus
3477static int yyinput()
3478#else
3479static int input()
3480#endif
3481 {
3482 int c;
3483
3484 *yy_c_buf_p = yy_hold_char;
3485
3486 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3487 {
3488 /* yy_c_buf_p now points to the character we want to return.
3489 * If this occurs *before* the EOB characters, then it's a
3490 * valid NUL; if not, then we've hit the end of the buffer.
3491 */
3492 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
3493 /* This was really a NUL. */
3494 *yy_c_buf_p = '\0';
3495
3496 else
3497 { /* need more input */
3498 int offset = yy_c_buf_p - yytext_ptr;
3499 ++yy_c_buf_p;
3500
3501 switch ( yy_get_next_buffer() )
3502 {
3503 case EOB_ACT_LAST_MATCH:
3504 /* This happens because yy_g_n_b()
3505 * sees that we've accumulated a
3506 * token and flags that we need to
3507 * try matching the token before
3508 * proceeding. But for input(),
3509 * there's no matching to consider.
3510 * So convert the EOB_ACT_LAST_MATCH
3511 * to EOB_ACT_END_OF_FILE.
3512 */
3513
3514 /* Reset buffer status. */
3515 yyrestart( yyin );
3516
3517 /* fall through */
3518
3519 case EOB_ACT_END_OF_FILE:
3520 {
3521 if ( yywrap() )
3522 return EOF;
3523
3524 if ( ! yy_did_buffer_switch_on_eof )
3525 YY_NEW_FILE;
3526#ifdef __cplusplus
3527 return yyinput();
3528#else
3529 return input();
3530#endif
3531 }
3532
3533 case EOB_ACT_CONTINUE_SCAN:
3534 yy_c_buf_p = yytext_ptr + offset;
3535 break;
3536 }
3537 }
3538 }
3539
3540 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
3541 *yy_c_buf_p = '\0'; /* preserve yytext */
3542 yy_hold_char = *++yy_c_buf_p;
3543
3544 if ( c == '\n' )
3545 ++yylineno;
3546
3547 return c;
3548 }
3549
3550
3551#ifdef YY_USE_PROTOS
3552void yyrestart( FILE *input_file )
3553#else
3554void yyrestart( input_file )
3555FILE *input_file;
3556#endif
3557 {
3558 if ( ! yy_current_buffer )
3559 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
3560
3561 yy_init_buffer( yy_current_buffer, input_file );
3562 yy_load_buffer_state();
3563 }
3564
3565
3566#ifdef YY_USE_PROTOS
3567void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3568#else
3569void yy_switch_to_buffer( new_buffer )
3570YY_BUFFER_STATE new_buffer;
3571#endif
3572 {
3573 if ( yy_current_buffer == new_buffer )
3574 return;
3575
3576 if ( yy_current_buffer )
3577 {
3578 /* Flush out information for old buffer. */
3579 *yy_c_buf_p = yy_hold_char;
3580 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
3581 yy_current_buffer->yy_n_chars = yy_n_chars;
3582 }
3583
3584 yy_current_buffer = new_buffer;
3585 yy_load_buffer_state();
3586
3587 /* We don't actually know whether we did this switch during
3588 * EOF (yywrap()) processing, but the only time this flag
3589 * is looked at is after yywrap() is called, so it's safe
3590 * to go ahead and always set it.
3591 */
3592 yy_did_buffer_switch_on_eof = 1;
3593 }
3594
3595
3596#ifdef YY_USE_PROTOS
3597void yy_load_buffer_state( void )
3598#else
3599void yy_load_buffer_state()
3600#endif
3601 {
3602 yy_n_chars = yy_current_buffer->yy_n_chars;
3603 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
3604 yyin = yy_current_buffer->yy_input_file;
3605 yy_hold_char = *yy_c_buf_p;
3606 }
3607
3608
3609#ifdef YY_USE_PROTOS
3610YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
3611#else
3612YY_BUFFER_STATE yy_create_buffer( file, size )
3613FILE *file;
3614int size;
3615#endif
3616 {
3617 YY_BUFFER_STATE b;
3618
3619 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3620 if ( ! b )
3621 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3622
3623 b->yy_buf_size = size;
3624
3625 /* yy_ch_buf has to be 2 characters longer than the size given because
3626 * we need to put in 2 end-of-buffer characters.
3627 */
3628 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
3629 if ( ! b->yy_ch_buf )
3630 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3631
3632 b->yy_is_our_buffer = 1;
3633
3634 yy_init_buffer( b, file );
3635
3636 return b;
3637 }
3638
3639
3640#ifdef YY_USE_PROTOS
3641void yy_delete_buffer( YY_BUFFER_STATE b )
3642#else
3643void yy_delete_buffer( b )
3644YY_BUFFER_STATE b;
3645#endif
3646 {
3647 if ( ! b )
3648 return;
3649
3650 if ( b == yy_current_buffer )
3651 yy_current_buffer = (YY_BUFFER_STATE) 0;
3652
3653 if ( b->yy_is_our_buffer )
3654 yy_flex_free( (void *) b->yy_ch_buf );
3655
3656 yy_flex_free( (void *) b );
3657 }
3658
3659
3660#ifndef YY_ALWAYS_INTERACTIVE
3661#ifndef YY_NEVER_INTERACTIVE
3662extern int isatty YY_PROTO(( int ));
3663#endif
3664#endif
3665
3666#ifdef YY_USE_PROTOS
3667void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
3668#else
3669void yy_init_buffer( b, file )
3670YY_BUFFER_STATE b;
3671FILE *file;
3672#endif
3673
3674
3675 {
3676 yy_flush_buffer( b );
3677
3678 b->yy_input_file = file;
3679 b->yy_fill_buffer = 1;
3680
3681#if YY_ALWAYS_INTERACTIVE
3682 b->yy_is_interactive = 1;
3683#else
3684#if YY_NEVER_INTERACTIVE
3685 b->yy_is_interactive = 0;
3686#else
3687 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3688#endif
3689#endif
3690 }
3691
3692
3693#ifdef YY_USE_PROTOS
3694void yy_flush_buffer( YY_BUFFER_STATE b )
3695#else
3696void yy_flush_buffer( b )
3697YY_BUFFER_STATE b;
3698#endif
3699
3700 {
3701 if ( ! b )
3702 return;
3703
3704 b->yy_n_chars = 0;
3705
3706 /* We always need two end-of-buffer characters. The first causes
3707 * a transition to the end-of-buffer state. The second causes
3708 * a jam in that state.
3709 */
3710 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3711 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3712
3713 b->yy_buf_pos = &b->yy_ch_buf[0];
3714
3715 b->yy_at_bol = 1;
3716 b->yy_buffer_status = YY_BUFFER_NEW;
3717
3718 if ( b == yy_current_buffer )
3719 yy_load_buffer_state();
3720 }
3721
3722
3723#ifndef YY_NO_SCAN_BUFFER
3724#ifdef YY_USE_PROTOS
3725YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
3726#else
3727YY_BUFFER_STATE yy_scan_buffer( base, size )
3728char *base;
3729yy_size_t size;
3730#endif
3731 {
3732 YY_BUFFER_STATE b;
3733
3734 if ( size < 2 ||
3735 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3736 base[size-1] != YY_END_OF_BUFFER_CHAR )
3737 /* They forgot to leave room for the EOB's. */
3738 return 0;
3739
3740 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
3741 if ( ! b )
3742 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3743
3744 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3745 b->yy_buf_pos = b->yy_ch_buf = base;
3746 b->yy_is_our_buffer = 0;
3747 b->yy_input_file = 0;
3748 b->yy_n_chars = b->yy_buf_size;
3749 b->yy_is_interactive = 0;
3750 b->yy_at_bol = 1;
3751 b->yy_fill_buffer = 0;
3752 b->yy_buffer_status = YY_BUFFER_NEW;
3753
3754 yy_switch_to_buffer( b );
3755
3756 return b;
3757 }
3758#endif
3759
3760
3761#ifndef YY_NO_SCAN_STRING
3762#ifdef YY_USE_PROTOS
3763YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
3764#else
3765YY_BUFFER_STATE yy_scan_string( yy_str )
3766yyconst char *yy_str;
3767#endif
3768 {
3769 int len;
3770 for ( len = 0; yy_str[len]; ++len )
3771 ;
3772
3773 return yy_scan_bytes( yy_str, len );
3774 }
3775#endif
3776
3777
3778#ifndef YY_NO_SCAN_BYTES
3779#ifdef YY_USE_PROTOS
3780YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
3781#else
3782YY_BUFFER_STATE yy_scan_bytes( bytes, len )
3783yyconst char *bytes;
3784int len;
3785#endif
3786 {
3787 YY_BUFFER_STATE b;
3788 char *buf;
3789 yy_size_t n;
3790 int i;
3791
3792 /* Get memory for full buffer, including space for trailing EOB's. */
3793 n = len + 2;
3794 buf = (char *) yy_flex_alloc( n );
3795 if ( ! buf )
3796 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3797
3798 for ( i = 0; i < len; ++i )
3799 buf[i] = bytes[i];
3800
3801 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3802
3803 b = yy_scan_buffer( buf, n );
3804 if ( ! b )
3805 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3806
3807 /* It's okay to grow etc. this buffer, and we should throw it
3808 * away when we're done.
3809 */
3810 b->yy_is_our_buffer = 1;
3811
3812 return b;
3813 }
3814#endif
3815
3816
3817#ifndef YY_NO_PUSH_STATE
3818#ifdef YY_USE_PROTOS
3819static void yy_push_state( int new_state )
3820#else
3821static void yy_push_state( new_state )
3822int new_state;
3823#endif
3824 {
3825 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3826 {
3827 yy_size_t new_size;
3828
3829 yy_start_stack_depth += YY_START_STACK_INCR;
3830 new_size = yy_start_stack_depth * sizeof( int );
3831
3832 if ( ! yy_start_stack )
3833 yy_start_stack = (int *) yy_flex_alloc( new_size );
3834
3835 else
3836 yy_start_stack = (int *) yy_flex_realloc(
3837 (void *) yy_start_stack, new_size );
3838
3839 if ( ! yy_start_stack )
3840 YY_FATAL_ERROR(
3841 "out of memory expanding start-condition stack" );
3842 }
3843
3844 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3845
3846 BEGIN(new_state);
3847 }
3848#endif
3849
3850
3851#ifndef YY_NO_POP_STATE
3852static void yy_pop_state()
3853 {
3854 if ( --yy_start_stack_ptr < 0 )
3855 YY_FATAL_ERROR( "start-condition stack underflow" );
3856
3857 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3858 }
3859#endif
3860
3861
3862#ifndef YY_NO_TOP_STATE
3863static int yy_top_state()
3864 {
3865 return yy_start_stack[yy_start_stack_ptr - 1];
3866 }
3867#endif
3868
3869#ifndef YY_EXIT_FAILURE
3870#define YY_EXIT_FAILURE 2
3871#endif
3872
3873#ifdef YY_USE_PROTOS
3874static void yy_fatal_error( yyconst char msg[] )
3875#else
3876static void yy_fatal_error( msg )
3877char msg[];
3878#endif
3879 {
3880 (void) fprintf( stderr, "%s\n", msg );
3881 exit( YY_EXIT_FAILURE );
3882 }
3883
3884
3885
3886/* Redefine yyless() so it works in section 3 code. */
3887
3888#undef yyless
3889#define yyless(n) \
3890 do \
3891 { \
3892 /* Undo effects of setting up yytext. */ \
3893 yytext[yyleng] = yy_hold_char; \
3894 yy_c_buf_p = yytext + n; \
3895 yy_hold_char = *yy_c_buf_p; \
3896 *yy_c_buf_p = '\0'; \
3897 yyleng = n; \
3898 } \
3899 while ( 0 )
3900
3901
3902/* Internal utility routines. */
3903
3904#ifndef yytext_ptr
3905#ifdef YY_USE_PROTOS
3906static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3907#else
3908static void yy_flex_strncpy( s1, s2, n )
3909char *s1;
3910yyconst char *s2;
3911int n;
3912#endif
3913 {
3914 register int i;
3915 for ( i = 0; i < n; ++i )
3916 s1[i] = s2[i];
3917 }
3918#endif
3919
3920#ifdef YY_NEED_STRLEN
3921#ifdef YY_USE_PROTOS
3922static int yy_flex_strlen( yyconst char *s )
3923#else
3924static int yy_flex_strlen( s )
3925yyconst char *s;
3926#endif
3927 {
3928 register int n;
3929 for ( n = 0; s[n]; ++n )
3930 ;
3931
3932 return n;
3933 }
3934#endif
3935
3936
3937#ifdef YY_USE_PROTOS
3938static void *yy_flex_alloc( yy_size_t size )
3939#else
3940static void *yy_flex_alloc( size )
3941yy_size_t size;
3942#endif
3943 {
3944 return (void *) malloc( size );
3945 }
3946
3947#ifdef YY_USE_PROTOS
3948static void *yy_flex_realloc( void *ptr, yy_size_t size )
3949#else
3950static void *yy_flex_realloc( ptr, size )
3951void *ptr;
3952yy_size_t size;
3953#endif
3954 {
3955 /* The cast to (char *) in the following accommodates both
3956 * implementations that use char* generic pointers, and those
3957 * that use void* generic pointers. It works with the latter
3958 * because both ANSI C and C++ allow castless assignment from
3959 * any pointer type to void*, and deal with argument conversions
3960 * as though doing an assignment.
3961 */
3962 return (void *) realloc( (char *) ptr, size );
3963 }
3964
3965#ifdef YY_USE_PROTOS
3966static void yy_flex_free( void *ptr )
3967#else
3968static void yy_flex_free( ptr )
3969void *ptr;
3970#endif
3971 {
3972 free( ptr );
3973 }
3974
3975#if YY_MAIN
3976int main()
3977 {
3978 yylex();
3979 return 0;
3980 }
3981#endif
Lev Walkin9d542d22006-03-14 16:31:37 +00003982#line 537 "asn1p_l.l"
Lev Walkinf15320b2004-06-03 03:38:44 +00003983
3984
3985/*
3986 * Very dirty but wonderful hack allowing to rule states from within .y file.
3987 */
Lev Walkinf59d0752004-08-18 04:59:12 +00003988void asn1p_lexer_hack_push_opaque_state() { yy_push_state(opaque); }
Lev Walkinf15320b2004-06-03 03:38:44 +00003989
3990/*
3991 * Another hack which disables recognizing some tokens when inside WITH SYNTAX.
3992 */
Lev Walkinf59d0752004-08-18 04:59:12 +00003993void asn1p_lexer_hack_enable_with_syntax() { yy_push_state(with_syntax); }
3994
3995/* Yet another */
3996void asn1p_lexer_hack_push_encoding_control() {
3997 yy_push_state(encoding_control);
Lev Walkinf15320b2004-06-03 03:38:44 +00003998}
3999
Lev Walkind21c5052004-09-29 13:18:09 +00004000static asn1c_integer_t
Lev Walkinf15320b2004-06-03 03:38:44 +00004001asn1p_atoi(char *ptr) {
Lev Walkind21c5052004-09-29 13:18:09 +00004002 asn1c_integer_t value;
Lev Walkinf15320b2004-06-03 03:38:44 +00004003 errno = 0; /* Clear the error code */
4004
4005 if(sizeof(value) <= sizeof(int)) {
4006 value = strtol(ptr, 0, 10);
4007 } else {
4008#ifdef HAVE_STRTOIMAX
4009 value = strtoimax(ptr, 0, 10);
4010#elif HAVE_STRTOLL
4011 value = strtoll(ptr, 0, 10);
4012#else
4013 value = strtol(ptr, 0, 10);
4014#endif
4015 }
4016
4017 if(errno == ERANGE) {
4018 fprintf(stderr,
4019 "Value \"%s\" at line %d is too large "
Lev Walkin129a79e2005-04-05 08:46:22 +00004020 "for this compiler! Please contact the asn1c author.\n",
Lev Walkinf15320b2004-06-03 03:38:44 +00004021 ptr, yylineno);
4022 errno = ERANGE; /* Restore potentially clobbered errno */
4023 }
4024
4025 return value;
4026}
4027