Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Side by Side Diff: third_party/wds/gen/headerscanner.cpp

Issue 1498473010: third_party: Add WDS library (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@wds
Patch Set: Fixed license headers in generated files Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * This file is part of Wireless Display Software for Linux OS
3 *
4 * Copyright (C) 2015 Intel Corporation.
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
19 * 02110-1301 USA
20 */
21
22
23
24 #line 26 "gen/headerscanner.cpp"
25
26 #define YY_INT_ALIGNED short int
27
28 /* A lexical scanner generated by flex */
29
30 #define FLEX_SCANNER
31 #define YY_FLEX_MAJOR_VERSION 2
32 #define YY_FLEX_MINOR_VERSION 5
33 #define YY_FLEX_SUBMINOR_VERSION 35
34 #if YY_FLEX_SUBMINOR_VERSION > 0
35 #define FLEX_BETA
36 #endif
37
38 /* First, we deal with platform-specific or compiler-specific issues. */
39
40 /* begin standard C headers. */
41 #include <stdio.h>
42 #include <string.h>
43 #include <errno.h>
44 #include <stdlib.h>
45
46 /* end standard C headers. */
47
48 /* flex integer type definitions */
49
50 #ifndef FLEXINT_H
51 #define FLEXINT_H
52
53 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
54
55 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
56
57 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
58 * if you want the limit (max/min) macros for int types.
59 */
60 #ifndef __STDC_LIMIT_MACROS
61 #define __STDC_LIMIT_MACROS 1
62 #endif
63
64 #include <inttypes.h>
65 typedef int8_t flex_int8_t;
66 typedef uint8_t flex_uint8_t;
67 typedef int16_t flex_int16_t;
68 typedef uint16_t flex_uint16_t;
69 typedef int32_t flex_int32_t;
70 typedef uint32_t flex_uint32_t;
71 #else
72 typedef signed char flex_int8_t;
73 typedef short int flex_int16_t;
74 typedef int flex_int32_t;
75 typedef unsigned char flex_uint8_t;
76 typedef unsigned short int flex_uint16_t;
77 typedef unsigned int flex_uint32_t;
78
79 /* Limits of integral types. */
80 #ifndef INT8_MIN
81 #define INT8_MIN (-128)
82 #endif
83 #ifndef INT16_MIN
84 #define INT16_MIN (-32767-1)
85 #endif
86 #ifndef INT32_MIN
87 #define INT32_MIN (-2147483647-1)
88 #endif
89 #ifndef INT8_MAX
90 #define INT8_MAX (127)
91 #endif
92 #ifndef INT16_MAX
93 #define INT16_MAX (32767)
94 #endif
95 #ifndef INT32_MAX
96 #define INT32_MAX (2147483647)
97 #endif
98 #ifndef UINT8_MAX
99 #define UINT8_MAX (255U)
100 #endif
101 #ifndef UINT16_MAX
102 #define UINT16_MAX (65535U)
103 #endif
104 #ifndef UINT32_MAX
105 #define UINT32_MAX (4294967295U)
106 #endif
107
108 #endif /* ! C99 */
109
110 #endif /* ! FLEXINT_H */
111
112 #ifdef __cplusplus
113
114 /* The "const" storage-class-modifier is valid. */
115 #define YY_USE_CONST
116
117 #else /* ! __cplusplus */
118
119 /* C99 requires __STDC__ to be defined as 1. */
120 #if defined (__STDC__)
121
122 #define YY_USE_CONST
123
124 #endif /* defined (__STDC__) */
125 #endif /* ! __cplusplus */
126
127 #ifdef YY_USE_CONST
128 #define yyconst const
129 #else
130 #define yyconst
131 #endif
132
133 /* Returned upon end-of-file. */
134 #define YY_NULL 0
135
136 /* Promotes a possibly negative, possibly signed char to an unsigned
137 * integer for use as an array index. If the signed char is negative,
138 * we want to instead treat it as an 8-bit unsigned char, hence the
139 * double cast.
140 */
141 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
142
143 /* An opaque pointer. */
144 #ifndef YY_TYPEDEF_YY_SCANNER_T
145 #define YY_TYPEDEF_YY_SCANNER_T
146 typedef void* yyscan_t;
147 #endif
148
149 /* For convenience, these vars (plus the bison vars far below)
150 are macros in the reentrant scanner. */
151 #define yyin yyg->yyin_r
152 #define yyout yyg->yyout_r
153 #define yyextra yyg->yyextra_r
154 #define yyleng yyg->yyleng_r
155 #define yytext yyg->yytext_r
156 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
157 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
158 #define yy_flex_debug yyg->yy_flex_debug_r
159
160 /* Enter a start condition. This macro really ought to take a parameter,
161 * but we do it the disgusting crufty way forced on us by the ()-less
162 * definition of BEGIN.
163 */
164 #define BEGIN yyg->yy_start = 1 + 2 *
165
166 /* Translate the current start state into a value that can be later handed
167 * to BEGIN to return to the state. The YYSTATE alias is for lex
168 * compatibility.
169 */
170 #define YY_START ((yyg->yy_start - 1) / 2)
171 #define YYSTATE YY_START
172
173 /* Action number for EOF rule of a given start state. */
174 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
175
176 /* Special action meaning "start processing a new file". */
177 #define YY_NEW_FILE header_restart(yyin ,yyscanner )
178
179 #define YY_END_OF_BUFFER_CHAR 0
180
181 /* Size of default input buffer. */
182 #ifndef YY_BUF_SIZE
183 #ifdef __ia64__
184 /* On IA-64, the buffer size is 16k, not 8k.
185 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
186 * Ditto for the __ia64__ case accordingly.
187 */
188 #define YY_BUF_SIZE 32768
189 #else
190 #define YY_BUF_SIZE 16384
191 #endif /* __ia64__ */
192 #endif
193
194 /* The state buf must be large enough to hold one state per character in the mai n buffer.
195 */
196 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
197
198 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
199 #define YY_TYPEDEF_YY_BUFFER_STATE
200 typedef struct yy_buffer_state *YY_BUFFER_STATE;
201 #endif
202
203 #define EOB_ACT_CONTINUE_SCAN 0
204 #define EOB_ACT_END_OF_FILE 1
205 #define EOB_ACT_LAST_MATCH 2
206
207 #define YY_LESS_LINENO(n)
208
209 /* Return all but the first "n" matched characters back to the input stream. */
210 #define yyless(n) \
211 do \
212 { \
213 /* Undo effects of setting up yytext. */ \
214 int yyless_macro_arg = (n); \
215 YY_LESS_LINENO(yyless_macro_arg);\
216 *yy_cp = yyg->yy_hold_char; \
217 YY_RESTORE_YY_MORE_OFFSET \
218 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ ; \
219 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
220 } \
221 while ( 0 )
222
223 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
224
225 #ifndef YY_TYPEDEF_YY_SIZE_T
226 #define YY_TYPEDEF_YY_SIZE_T
227 typedef size_t yy_size_t;
228 #endif
229
230 #ifndef YY_STRUCT_YY_BUFFER_STATE
231 #define YY_STRUCT_YY_BUFFER_STATE
232 struct yy_buffer_state
233 {
234 FILE *yy_input_file;
235
236 char *yy_ch_buf; /* input buffer */
237 char *yy_buf_pos; /* current position in input buffer */
238
239 /* Size of input buffer in bytes, not including room for EOB
240 * characters.
241 */
242 yy_size_t yy_buf_size;
243
244 /* Number of characters read into yy_ch_buf, not including EOB
245 * characters.
246 */
247 int yy_n_chars;
248
249 /* Whether we "own" the buffer - i.e., we know we created it,
250 * and can realloc() it to grow it, and should free() it to
251 * delete it.
252 */
253 int yy_is_our_buffer;
254
255 /* Whether this is an "interactive" input source; if so, and
256 * if we're using stdio for input, then we want to use getc()
257 * instead of fread(), to make sure we stop fetching input after
258 * each newline.
259 */
260 int yy_is_interactive;
261
262 /* Whether we're considered to be at the beginning of a line.
263 * If so, '^' rules will be active on the next match, otherwise
264 * not.
265 */
266 int yy_at_bol;
267
268 int yy_bs_lineno; /**< The line count. */
269 int yy_bs_column; /**< The column count. */
270
271 /* Whether to try to fill the input buffer when we reach the
272 * end of it.
273 */
274 int yy_fill_buffer;
275
276 int yy_buffer_status;
277
278 #define YY_BUFFER_NEW 0
279 #define YY_BUFFER_NORMAL 1
280 /* When an EOF's been seen but there's still some text to process
281 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
282 * shouldn't try reading from the input source any more. We might
283 * still have a bunch of tokens to match, though, because of
284 * possible backing-up.
285 *
286 * When we actually see the EOF, we change the status to "new"
287 * (via header_restart()), so that the user can continue scanning by
288 * just pointing yyin at a new input file.
289 */
290 #define YY_BUFFER_EOF_PENDING 2
291
292 };
293 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
294
295 /* We provide macros for accessing buffer states in case in the
296 * future we want to put the buffer states in a more general
297 * "scanner state".
298 *
299 * Returns the top of the stack, or NULL.
300 */
301 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
302 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
303 : NULL)
304
305 /* Same as previous macro, but useful when we know that the buffer stack is not
306 * NULL or when we need an lvalue. For internal use only.
307 */
308 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
309
310 void header_restart (FILE *input_file ,yyscan_t yyscanner );
311 void header__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
312 YY_BUFFER_STATE header__create_buffer (FILE *file,int size ,yyscan_t yyscanner ) ;
313 void header__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
314 void header__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
315 void header_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
316 void header_pop_buffer_state (yyscan_t yyscanner );
317
318 static void header_ensure_buffer_stack (yyscan_t yyscanner );
319 static void header__load_buffer_state (yyscan_t yyscanner );
320 static void header__init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanne r );
321
322 #define YY_FLUSH_BUFFER header__flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
323
324 YY_BUFFER_STATE header__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscann er );
325 YY_BUFFER_STATE header__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
326 YY_BUFFER_STATE header__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscan ner );
327
328 void *header_alloc (yy_size_t ,yyscan_t yyscanner );
329 void *header_realloc (void *,yy_size_t ,yyscan_t yyscanner );
330 void header_free (void * ,yyscan_t yyscanner );
331
332 #define yy_new_buffer header__create_buffer
333
334 #define yy_set_interactive(is_interactive) \
335 { \
336 if ( ! YY_CURRENT_BUFFER ){ \
337 header_ensure_buffer_stack (yyscanner); \
338 YY_CURRENT_BUFFER_LVALUE = \
339 header__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
340 } \
341 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
342 }
343
344 #define yy_set_bol(at_bol) \
345 { \
346 if ( ! YY_CURRENT_BUFFER ){\
347 header_ensure_buffer_stack (yyscanner); \
348 YY_CURRENT_BUFFER_LVALUE = \
349 header__create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
350 } \
351 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
352 }
353
354 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
355
356 /* Begin user sect3 */
357
358 #define header_wrap(n) 1
359 #define YY_SKIP_YYWRAP
360
361 typedef unsigned char YY_CHAR;
362
363 typedef int yy_state_type;
364
365 #define yytext_ptr yytext_r
366
367 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yy scanner);
369 static int yy_get_next_buffer (yyscan_t yyscanner );
370 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
371
372 /* Done after the current pattern has been matched and before the
373 * corresponding action - sets up yytext.
374 */
375 #define YY_DO_BEFORE_ACTION \
376 yyg->yytext_ptr = yy_bp; \
377 yyleng = (size_t) (yy_cp - yy_bp); \
378 yyg->yy_hold_char = *yy_cp; \
379 *yy_cp = '\0'; \
380 yyg->yy_c_buf_p = yy_cp;
381
382 #define YY_NUM_RULES 47
383 #define YY_END_OF_BUFFER 48
384 /* This struct is not used in this scanner,
385 but its presence is necessary. */
386 struct yy_trans_info
387 {
388 flex_int32_t yy_verify;
389 flex_int32_t yy_nxt;
390 };
391 static yyconst flex_int16_t yy_accept[804] =
392 { 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 48, 46, 10, 2,
395 1, 6, 5, 4, 9, 43, 8, 7, 3, 46,
396 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
397 46, 46, 30, 46, 46, 46, 46, 46, 46, 46,
398 46, 46, 46, 46, 46, 46, 46, 46, 4, 43,
399 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
400 46, 46, 46, 29, 6, 5, 4, 9, 29, 8,
401 3, 29, 29, 29, 29, 29, 29, 29, 29, 29,
402 29, 29, 29, 46, 46, 10, 43, 0, 0, 0,
403
404 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
405 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
409 0, 0, 0, 0, 0, 29, 29, 29, 29, 28,
410 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
411 29, 29, 29, 0, 0, 0, 0, 0, 0, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414
415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
417 0, 0, 0, 0, 0, 0, 0, 29, 29, 29,
418 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
419 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 17, 0, 0, 0, 0, 0, 0, 0, 0,
421 31, 0, 0, 0, 0, 36, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 17, 36, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
424 0, 0, 0, 0, 0, 0, 29, 29, 29, 29,
425
426 29, 29, 17, 29, 29, 29, 29, 29, 29, 29,
427 29, 0, 0, 0, 0, 0, 0, 0, 21, 0,
428 0, 19, 0, 0, 0, 28, 0, 16, 0, 0,
429 0, 0, 0, 0, 38, 35, 0, 0, 0, 0,
430 0, 0, 19, 38, 16, 35, 0, 0, 0, 0,
431 0, 0, 0, 19, 0, 0, 0, 0, 16, 0,
432 0, 29, 29, 29, 21, 29, 29, 19, 29, 29,
433 29, 28, 29, 16, 29, 29, 29, 0, 28, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436
437 0, 0, 0, 0, 0, 0, 42, 0, 0, 0,
438 0, 42, 0, 0, 0, 29, 29, 29, 29, 29,
439 29, 29, 29, 29, 29, 29, 29, 0, 0, 0,
440 0, 0, 0, 0, 13, 22, 0, 0, 0, 0,
441 0, 0, 0, 32, 0, 0, 0, 0, 0, 13,
442 32, 0, 0, 0, 0, 0, 13, 0, 0, 0,
443 0, 29, 29, 29, 29, 13, 22, 29, 29, 29,
444 29, 29, 29, 0, 0, 0, 44, 45, 0, 0,
445 28, 44, 26, 0, 18, 0, 0, 0, 0, 37,
446 0, 0, 0, 0, 18, 37, 0, 18, 0, 29,
447
448 29, 29, 29, 28, 29, 26, 29, 18, 29, 45,
449 0, 11, 0, 0, 0, 0, 20, 0, 0, 0,
450 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
451 29, 29, 29, 29, 45, 45, 45, 45, 0, 0,
452 0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
453 0, 0, 0, 0, 29, 29, 29, 29, 28, 45,
454 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
455 45, 45, 45, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,
457 29, 29, 29, 45, 45, 45, 45, 45, 45, 45,
458
459 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 29, 29, 29, 29,
462 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
463 45, 45, 45, 45, 12, 0, 24, 15, 0, 14,
464 0, 34, 0, 33, 15, 34, 14, 33, 0, 29,
465 24, 15, 14, 45, 45, 45, 45, 45, 45, 45,
466 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
467 0, 0, 0, 39, 0, 29, 45, 45, 45, 45,
468 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
469
470 25, 0, 0, 25, 45, 45, 45, 45, 45, 45,
471 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
472 45, 0, 0, 45, 45, 45, 45, 45, 45, 45,
473 45, 45, 45, 45, 45, 45, 45, 0, 0, 45,
474 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
475 45, 45, 45, 0, 0, 45, 0, 0, 45, 0,
476 0, 45, 0, 0, 45, 0, 0, 45, 23, 0,
477 45, 0, 45, 0, 45, 0, 45, 0, 45, 0,
478 45, 0, 45, 0, 45, 0, 45, 0, 45, 0,
479 40, 41, 0, 0, 0, 0, 0, 0, 0, 0,
480
481 0, 27, 0
482 } ;
483
484 static yyconst flex_int32_t yy_ec[256] =
485 { 0,
486 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
487 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
489 1, 5, 1, 1, 1, 1, 1, 1, 1, 1,
490 1, 6, 1, 7, 8, 9, 10, 11, 12, 13,
491 14, 14, 15, 16, 16, 16, 16, 17, 18, 1,
492 19, 1, 1, 1, 20, 21, 22, 23, 24, 25,
493 26, 27, 28, 29, 29, 30, 31, 32, 33, 34,
494 35, 36, 37, 38, 39, 40, 41, 29, 42, 29,
495 1, 1, 1, 1, 43, 1, 44, 45, 46, 47,
496
497 48, 49, 50, 51, 52, 29, 29, 53, 54, 55,
498 56, 57, 58, 59, 60, 61, 62, 63, 64, 29,
499 65, 29, 1, 1, 1, 1, 1, 1, 1, 1,
500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
507
508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
513 1, 1, 1, 1, 1
514 } ;
515
516 static yyconst flex_int32_t yy_meta[66] =
517 { 0,
518 1, 2, 3, 4, 2, 1, 1, 5, 1, 6,
519 5, 5, 5, 5, 5, 5, 7, 8, 1, 5,
520 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
521 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
522 5, 5, 7, 5, 5, 5, 5, 5, 5, 5,
523 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
524 5, 5, 5, 5, 5
525 } ;
526
527 static yyconst flex_int16_t yy_base[818] =
528 { 0,
529 0, 59, 17, 20, 26, 40, 123, 159, 220, 279,
530 343, 402, 442, 96, 478, 0, 1713, 4003, 26, 4003,
531 4003, 4003, 4003, 4003, 4003, 34, 4003, 106, 4003, 107,
532 1691, 154, 9, 129, 178, 152, 10, 153, 335, 130,
533 145, 0, 230, 124, 213, 343, 126, 127, 347, 460,
534 470, 351, 489, 352, 474, 510, 353, 505, 1668, 370,
535 1666, 459, 355, 533, 464, 534, 535, 563, 571, 574,
536 565, 575, 569, 0, 0, 0, 0, 0, 239, 0,
537 0, 127, 258, 633, 648, 667, 701, 763, 681, 824,
538 716, 735, 783, 210, 583, 30, 377, 170, 443, 433,
539
540 1641, 4003, 504, 598, 169, 240, 466, 182, 592, 525,
541 509, 643, 530, 186, 609, 1653, 735, 533, 564, 570,
542 597, 612, 600, 625, 624, 654, 658, 678, 692, 677,
543 717, 726, 751, 760, 768, 759, 774, 1636, 0, 839,
544 776, 689, 827, 847, 797, 829, 846, 848, 856, 859,
545 869, 870, 883, 894, 905, 0, 920, 721, 944, 0,
546 958, 972, 991, 1005, 1025, 1039, 1056, 1073, 1087, 1147,
547 1108, 1132, 1169, 762, 861, 768, 778, 781, 858, 888,
548 695, 136, 646, 867, 844, 921, 923, 910, 945, 599,
549 886, 1625, 1565, 795, 1561, 879, 929, 933, 950, 845,
550
551 976, 999, 1000, 249, 970, 1001, 1030, 1061, 1059, 1068,
552 1051, 1053, 0, 1071, 1112, 1148, 1043, 1152, 1103, 1150,
553 1180, 1177, 1188, 1191, 1186, 1194, 1192, 968, 1243, 1257,
554 1276, 1290, 1304, 1319, 1333, 1348, 1363, 1382, 1397, 1416,
555 1437, 1066, 1102, 1137, 904, 252, 1195, 1512, 455, 243,
556 743, 1511, 1204, 1237, 800, 1242, 613, 680, 135, 1201,
557 4003, 1183, 1213, 1207, 918, 4003, 1221, 1223, 976, 1267,
558 1299, 1289, 1315, 1255, 1320, 1501, 1491, 1343, 1345, 1361,
559 1377, 1358, 1392, 1074, 1431, 1414, 1420, 1441, 1450, 1454,
560 1458, 1456, 1460, 1466, 1468, 1470, 1127, 1514, 1533, 1547,
561
562 1566, 1581, 1600, 1614, 1628, 1642, 1662, 1676, 1690, 1710,
563 1725, 1164, 1258, 1264, 1275, 1581, 1452, 1395, 4003, 465,
564 647, 1444, 1313, 1349, 1690, 1449, 1357, 1412, 541, 361,
565 1415, 1307, 1321, 1396, 4003, 4003, 1461, 1461, 1478, 1515,
566 1472, 1519, 1411, 1367, 1330, 1329, 1524, 1560, 1528, 1530,
567 1725, 1711, 1622, 1601, 1735, 1713, 1775, 1736, 1645, 1741,
568 1760, 1784, 1307, 1801, 0, 1815, 1830, 1754, 1844, 1858,
569 1858, 1292, 1878, 1895, 1909, 1926, 1941, 1288, 1263, 1460,
570 1463, 1233, 1231, 1499, 739, 779, 1219, 1541, 1218, 1595,
571 809, 1473, 1597, 1490, 1509, 1535, 1566, 1562, 1605, 1653,
572
573 1792, 1821, 1656, 1787, 1742, 1859, 1217, 1903, 1920, 1758,
574 1944, 1206, 1939, 1881, 1945, 1205, 1189, 1990, 2004, 2024,
575 2038, 2053, 1163, 2072, 2086, 2101, 2122, 1161, 1118, 1575,
576 2004, 0, 749, 631, 1126, 4003, 1117, 2053, 1099, 707,
577 1004, 1824, 1596, 4003, 1090, 1640, 1643, 1949, 1959, 1052,
578 1050, 1960, 1964, 1750, 1825, 2066, 1882, 2032, 2102, 2104,
579 2107, 2145, 906, 2162, 2176, 2191, 0, 2205, 2205, 2222,
580 2236, 2251, 2265, 0, 1691, 1020, 4003, 0, 2247, 927,
581 1032, 1130, 4003, 938, 988, 1968, 1824, 1845, 1877, 4003,
582 1890, 1936, 2099, 2120, 986, 957, 2259, 2170, 2271, 0,
583
584 1037, 2332, 2286, 951, 1285, 0, 2309, 2346, 2365, 2365,
585 1939, 4003, 1670, 1985, 1554, 1956, 1391, 1650, 875, 1795,
586 1857, 1998, 2116, 2185, 2230, 2256, 2340, 2326, 2317, 2388,
587 2408, 2422, 2442, 2461, 2470, 2478, 2486, 2494, 1999, 2039,
588 2081, 1016, 2054, 1033, 876, 2087, 2126, 2106, 2187, 2188,
589 2269, 2306, 2494, 2420, 2511, 2535, 2555, 2569, 807, 2569,
590 2585, 2597, 2605, 2613, 2621, 2629, 2637, 2645, 2653, 2661,
591 2669, 2677, 2685, 2114, 2177, 2274, 2082, 2139, 2167, 2140,
592 2211, 796, 2214, 2289, 2387, 2396, 2416, 2505, 2515, 2701,
593 2715, 2735, 2755, 2769, 2777, 2785, 2793, 2801, 2809, 2817,
594
595 2825, 2833, 2841, 2849, 2857, 2865, 2873, 2881, 2889, 2897,
596 755, 2384, 745, 968, 704, 1146, 2169, 2204, 669, 2208,
597 2337, 2383, 2417, 2670, 2530, 2517, 2913, 2927, 2946, 2960,
598 2755, 2972, 2986, 2994, 3002, 3010, 3018, 3026, 3034, 3042,
599 3050, 3058, 3066, 3074, 4003, 2294, 4003, 586, 2284, 545,
600 2301, 4003, 546, 4003, 539, 507, 501, 469, 2921, 3090,
601 0, 3104, 3118, 3131, 3139, 3147, 3155, 3163, 3171, 3179,
602 3187, 3195, 3203, 3211, 3219, 3227, 3235, 3243, 3251, 3259,
603 467, 2361, 463, 4003, 2695, 3275, 2978, 3284, 3292, 3300,
604 3308, 3316, 3324, 3332, 3340, 3348, 3356, 3364, 3372, 3380,
605
606 4003, 2372, 2452, 0, 3388, 3396, 3404, 3412, 3420, 3428,
607 3436, 3444, 3452, 3460, 3468, 3476, 3484, 3492, 3500, 3508,
608 3516, 358, 2384, 3522, 3530, 3538, 3546, 3555, 3563, 3578,
609 3586, 3594, 3602, 3610, 3618, 3626, 3634, 2424, 2489, 3640,
610 3648, 3657, 3665, 3681, 3689, 3697, 3705, 3713, 3721, 3729,
611 3737, 3745, 3753, 2489, 356, 3759, 2506, 2528, 3118, 262,
612 2510, 3772, 264, 2669, 3275, 250, 193, 3780, 4003, 2675,
613 3786, 2685, 3796, 2507, 3802, 2549, 3815, 2595, 3829, 2686,
614 3839, 2692, 3853, 187, 3863, 2601, 3876, 2705, 3569, 2603,
615 3885, 3900, 2647, 2718, 2878, 158, 2883, 2885, 2890, 2889,
616
617 38, 4003, 4003, 3916, 3924, 3932, 3940, 3944, 3951, 3955,
618 3957, 3964, 3971, 4, 3978, 3986, 3994
619 } ;
620
621 static yyconst flex_int16_t yy_def[818] =
622 { 0,
623 804, 803, 805, 805, 804, 804, 804, 2, 806, 803,
624 807, 803, 7, 2, 7, 2, 803, 803, 803, 803,
625 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
626 808, 808, 808, 808, 808, 808, 808, 808, 808, 808,
627 808, 809, 803, 803, 803, 803, 803, 803, 808, 808,
628 808, 808, 808, 808, 808, 808, 808, 808, 810, 810,
629 810, 810, 811, 811, 811, 811, 811, 811, 811, 811,
630 811, 811, 811, 812, 812, 812, 812, 812, 812, 812,
631 812, 812, 813, 813, 813, 813, 813, 813, 813, 813,
632 813, 813, 813, 803, 808, 803, 803, 803, 803, 803,
633
634 808, 803, 808, 808, 808, 808, 808, 808, 808, 808,
635 808, 808, 808, 808, 808, 809, 803, 803, 803, 803,
636 803, 803, 803, 803, 808, 808, 808, 808, 808, 808,
637 808, 808, 808, 808, 808, 808, 808, 810, 814, 810,
638 810, 811, 811, 811, 811, 811, 811, 811, 811, 811,
639 811, 811, 811, 811, 811, 812, 812, 812, 813, 812,
640 813, 813, 813, 813, 813, 813, 813, 813, 813, 813,
641 813, 813, 813, 803, 808, 803, 803, 803, 808, 808,
642 808, 808, 808, 808, 808, 808, 808, 808, 808, 808,
643 808, 803, 803, 803, 803, 803, 803, 803, 803, 808,
644
645 808, 808, 808, 808, 808, 808, 808, 808, 808, 808,
646 808, 808, 814, 810, 811, 811, 811, 811, 811, 811,
647 811, 811, 811, 811, 811, 811, 811, 812, 813, 813,
648 813, 813, 813, 813, 813, 813, 813, 813, 813, 813,
649 813, 803, 808, 803, 803, 803, 808, 808, 808, 808,
650 808, 808, 808, 808, 808, 808, 808, 808, 808, 808,
651 803, 803, 803, 803, 803, 803, 803, 803, 803, 808,
652 808, 808, 808, 808, 808, 808, 808, 808, 808, 808,
653 808, 808, 808, 810, 811, 811, 811, 811, 811, 811,
654 811, 811, 811, 811, 811, 811, 812, 813, 813, 813,
655
656 813, 813, 813, 813, 813, 813, 813, 813, 813, 813,
657 813, 803, 808, 803, 803, 803, 803, 808, 803, 808,
658 808, 808, 808, 808, 803, 803, 808, 808, 808, 808,
659 808, 803, 803, 803, 803, 803, 803, 803, 808, 808,
660 808, 808, 808, 808, 808, 808, 808, 808, 808, 808,
661 814, 811, 811, 811, 811, 811, 814, 811, 811, 811,
662 811, 812, 812, 813, 812, 813, 813, 813, 813, 813,
663 812, 812, 813, 813, 813, 813, 813, 803, 803, 803,
664 803, 803, 803, 808, 808, 808, 808, 808, 803, 808,
665 808, 808, 808, 803, 803, 803, 803, 803, 808, 808,
666
667 808, 808, 808, 808, 808, 808, 814, 811, 811, 811,
668 811, 814, 811, 811, 811, 812, 812, 813, 813, 813,
669 813, 813, 812, 813, 813, 813, 813, 803, 803, 803,
670 803, 815, 808, 808, 808, 803, 808, 803, 808, 808,
671 808, 808, 803, 803, 803, 803, 803, 808, 808, 808,
672 808, 808, 808, 808, 808, 811, 811, 811, 811, 811,
673 811, 812, 816, 813, 813, 813, 812, 813, 812, 813,
674 813, 813, 813, 817, 803, 803, 803, 815, 808, 808,
675 803, 803, 803, 808, 808, 808, 803, 803, 803, 803,
676 808, 808, 808, 808, 808, 808, 811, 811, 811, 812,
677
678 816, 813, 813, 812, 812, 812, 813, 813, 813, 817,
679 803, 803, 808, 808, 808, 803, 803, 808, 808, 803,
680 803, 803, 808, 808, 808, 808, 811, 811, 811, 813,
681 813, 813, 813, 813, 817, 817, 817, 817, 803, 808,
682 808, 808, 803, 808, 803, 803, 803, 803, 808, 808,
683 808, 808, 811, 811, 813, 813, 813, 813, 812, 817,
684 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
685 817, 817, 817, 803, 808, 808, 808, 803, 808, 803,
686 803, 803, 803, 808, 808, 808, 808, 811, 811, 813,
687 813, 813, 813, 817, 817, 817, 817, 817, 817, 817,
688
689 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
690 803, 808, 808, 808, 803, 808, 803, 803, 803, 803,
691 808, 808, 808, 808, 811, 811, 813, 813, 813, 813,
692 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
693 817, 817, 817, 817, 803, 808, 803, 808, 803, 808,
694 803, 803, 803, 803, 808, 808, 808, 808, 811, 813,
695 812, 813, 813, 817, 817, 817, 817, 817, 817, 817,
696 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
697 808, 803, 803, 803, 811, 813, 817, 817, 817, 817,
698 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
699
700 803, 803, 803, 812, 817, 817, 817, 817, 817, 817,
701 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
702 817, 803, 803, 817, 817, 817, 817, 817, 817, 817,
703 817, 817, 817, 817, 817, 817, 817, 803, 803, 817,
704 817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
705 817, 817, 817, 803, 803, 817, 803, 803, 817, 803,
706 803, 817, 803, 803, 817, 803, 803, 817, 803, 803,
707 817, 803, 817, 803, 817, 803, 817, 803, 817, 803,
708 817, 803, 817, 803, 817, 803, 817, 803, 817, 803,
709 817, 817, 803, 803, 803, 803, 803, 803, 803, 803,
710
711 803, 803, 0, 803, 803, 803, 803, 803, 803, 803,
712 803, 803, 803, 803, 803, 803, 803
713 } ;
714
715 static yyconst flex_int16_t yy_nxt[4069] =
716 { 0,
717 803, 19, 20, 21, 19, 22, 23, 24, 213, 25,
718 26, 26, 26, 26, 26, 26, 27, 28, 29, 20,
719 21, 18, 20, 21, 18, 102, 102, 96, 20, 21,
720 96, 96, 105, 112, 96, 30, 43, 43, 43, 43,
721 43, 43, 20, 21, 97, 97, 97, 97, 97, 97,
722 43, 43, 43, 43, 43, 43, 802, 113, 30, 18,
723 19, 20, 21, 19, 22, 23, 24, 18, 25, 26,
724 26, 26, 26, 26, 26, 27, 28, 29, 31, 31,
725 32, 31, 31, 31, 33, 31, 31, 31, 31, 31,
726 31, 34, 35, 31, 36, 37, 38, 31, 31, 31,
727
728 31, 18, 31, 31, 32, 31, 31, 31, 31, 31,
729 31, 31, 31, 31, 31, 39, 31, 36, 40, 41,
730 31, 31, 31, 31, 19, 20, 21, 19, 22, 23,
731 24, 95, 25, 26, 26, 26, 26, 26, 26, 27,
732 28, 29, 98, 99, 100, 102, 102, 118, 44, 123,
733 124, 102, 102, 113, 95, 45, 46, 330, 30, 47,
734 48, 102, 106, 250, 158, 98, 99, 100, 102, 102,
735 102, 118, 44, 123, 124, 110, 114, 113, 45, 46,
736 115, 30, 47, 48, 49, 102, 103, 158, 115, 111,
737 104, 50, 51, 176, 102, 52, 53, 107, 102, 110,
738
739 797, 184, 102, 115, 786, 190, 181, 108, 54, 103,
740 770, 115, 111, 104, 55, 56, 109, 176, 57, 58,
741 18, 19, 20, 21, 19, 22, 23, 59, 18, 25,
742 60, 60, 60, 60, 60, 60, 27, 28, 29, 109,
743 117, 117, 117, 117, 117, 117, 119, 174, 120, 157,
744 157, 157, 157, 157, 157, 62, 102, 264, 156, 102,
745 769, 316, 18, 156, 156, 102, 156, 156, 317, 119,
746 174, 120, 766, 763, 160, 321, 156, 182, 62, 18,
747 19, 20, 21, 19, 22, 23, 59, 18, 25, 60,
748 60, 60, 60, 60, 60, 27, 28, 29, 63, 63,
749
750 64, 63, 63, 63, 65, 63, 63, 63, 63, 63,
751 63, 66, 67, 63, 68, 69, 70, 63, 63, 63,
752 63, 18, 63, 63, 64, 63, 63, 63, 63, 63,
753 63, 63, 63, 63, 63, 71, 63, 68, 72, 73,
754 63, 63, 63, 63, 19, 20, 21, 19, 75, 76,
755 77, 102, 78, 79, 79, 79, 79, 79, 79, 80,
756 28, 81, 121, 102, 139, 758, 738, 102, 102, 102,
757 125, 102, 122, 109, 134, 126, 135, 102, 82, 139,
758 140, 140, 140, 140, 140, 140, 121, 97, 97, 97,
759 97, 97, 97, 392, 126, 122, 109, 101, 135, 126,
760
761 135, 82, 74, 19, 20, 21, 19, 75, 76, 77,
762 74, 78, 79, 79, 79, 79, 79, 79, 80, 28,
763 81, 83, 83, 84, 83, 83, 83, 85, 83, 83,
764 83, 83, 83, 83, 86, 87, 83, 88, 89, 90,
765 83, 83, 83, 83, 74, 83, 83, 84, 83, 83,
766 83, 83, 83, 83, 83, 83, 83, 83, 91, 83,
767 88, 92, 93, 83, 83, 83, 83, 18, 139, 178,
768 177, 102, 703, 139, 18, 18, 102, 94, 18, 18,
769 102, 102, 102, 701, 385, 102, 102, 145, 320, 130,
770 102, 18, 178, 127, 177, 128, 141, 18, 18, 131,
771
772 94, 18, 18, 18, 183, 102, 101, 129, 109, 128,
773 18, 18, 136, 132, 18, 18, 129, 102, 128, 141,
774 102, 102, 133, 102, 115, 102, 102, 18, 137, 132,
775 129, 109, 128, 18, 18, 179, 137, 18, 18, 133,
776 115, 102, 139, 139, 139, 187, 102, 115, 109, 102,
777 102, 102, 137, 132, 147, 102, 684, 102, 179, 186,
778 391, 102, 133, 115, 148, 143, 188, 146, 187, 144,
779 193, 109, 139, 149, 139, 101, 101, 101, 139, 102,
780 139, 102, 186, 139, 139, 102, 150, 102, 143, 188,
781 102, 102, 144, 193, 152, 195, 149, 154, 153, 102,
782
783 151, 194, 102, 149, 155, 101, 110, 101, 102, 155,
784 150, 101, 185, 101, 102, 102, 101, 101, 153, 195,
785 175, 180, 153, 151, 194, 102, 149, 155, 191, 102,
786 110, 197, 155, 156, 259, 196, 185, 198, 156, 156,
787 102, 156, 156, 175, 199, 180, 328, 102, 156, 160,
788 480, 156, 191, 156, 156, 197, 156, 156, 196, 102,
789 198, 200, 102, 102, 160, 161, 156, 156, 199, 162,
790 102, 163, 156, 156, 102, 156, 156, 653, 386, 188,
791 189, 156, 251, 160, 201, 156, 156, 156, 161, 156,
792 156, 201, 162, 102, 102, 202, 102, 160, 139, 156,
793
794 164, 156, 188, 204, 170, 102, 156, 156, 102, 156,
795 156, 102, 649, 329, 201, 205, 156, 160, 203, 156,
796 165, 156, 156, 102, 156, 156, 484, 204, 171, 203,
797 166, 101, 160, 102, 156, 156, 207, 249, 206, 167,
798 156, 156, 102, 156, 156, 117, 117, 117, 117, 117,
799 117, 160, 203, 156, 167, 102, 479, 228, 171, 102,
800 208, 647, 167, 156, 206, 102, 322, 102, 156, 156,
801 208, 156, 156, 645, 434, 102, 102, 167, 211, 160,
802 228, 156, 171, 156, 102, 139, 168, 206, 156, 156,
803 102, 156, 156, 212, 208, 102, 188, 209, 242, 160,
804
805 169, 156, 212, 244, 188, 210, 139, 619, 245, 325,
806 168, 580, 214, 102, 246, 435, 326, 212, 173, 188,
807 210, 242, 263, 169, 156, 102, 244, 188, 210, 156,
808 156, 245, 156, 156, 217, 214, 139, 246, 139, 101,
809 160, 173, 156, 102, 440, 102, 263, 172, 139, 140,
810 140, 140, 140, 140, 140, 139, 139, 139, 215, 173,
811 102, 102, 102, 102, 102, 139, 218, 220, 139, 101,
812 216, 101, 102, 253, 102, 102, 221, 102, 139, 139,
813 580, 215, 173, 102, 219, 102, 102, 270, 101, 101,
814 101, 545, 139, 222, 216, 247, 253, 243, 101, 102,
815
816 221, 101, 102, 139, 102, 223, 224, 225, 252, 478,
817 102, 101, 101, 226, 139, 265, 222, 260, 247, 224,
818 243, 102, 248, 478, 227, 101, 102, 315, 223, 224,
819 157, 157, 157, 157, 157, 157, 101, 102, 265, 102,
820 260, 335, 224, 102, 156, 248, 256, 101, 227, 156,
821 156, 315, 156, 156, 102, 516, 255, 515, 156, 254,
822 160, 102, 156, 156, 156, 335, 156, 156, 518, 256,
823 266, 267, 156, 102, 160, 268, 156, 156, 156, 255,
824 156, 156, 254, 257, 102, 269, 102, 258, 160, 229,
825 156, 156, 102, 266, 267, 230, 156, 156, 338, 156,
826
827 156, 297, 102, 648, 102, 156, 274, 160, 269, 156,
828 156, 156, 229, 156, 156, 102, 102, 102, 271, 230,
829 102, 160, 338, 156, 297, 156, 272, 273, 231, 275,
830 156, 156, 102, 156, 156, 485, 516, 275, 512, 156,
831 478, 160, 232, 156, 156, 156, 102, 156, 156, 102,
832 273, 273, 139, 577, 478, 160, 156, 156, 234, 102,
833 275, 156, 156, 233, 156, 156, 102, 102, 102, 102,
834 579, 276, 160, 156, 156, 102, 235, 102, 156, 156,
835 139, 156, 156, 351, 102, 249, 282, 156, 283, 160,
836 317, 156, 156, 156, 277, 156, 156, 278, 488, 312,
837
838 235, 279, 277, 160, 284, 156, 280, 236, 156, 283,
839 281, 283, 139, 156, 156, 483, 156, 156, 102, 102,
840 280, 139, 312, 237, 160, 277, 156, 284, 102, 280,
841 236, 517, 156, 481, 517, 313, 362, 156, 156, 288,
842 156, 156, 102, 363, 238, 101, 237, 156, 160, 285,
843 156, 240, 156, 156, 101, 156, 156, 139, 313, 139,
844 475, 139, 102, 160, 102, 156, 102, 238, 102, 156,
845 474, 469, 285, 316, 156, 156, 314, 156, 156, 287,
846 378, 650, 286, 238, 239, 160, 139, 156, 241, 139,
847 101, 289, 101, 102, 101, 139, 102, 139, 463, 314,
848
849 139, 139, 102, 139, 102, 286, 238, 102, 102, 290,
850 102, 102, 241, 462, 438, 291, 332, 102, 318, 101,
851 102, 292, 101, 296, 294, 431, 438, 293, 258, 295,
852 101, 323, 290, 101, 101, 436, 101, 331, 291, 332,
853 432, 431, 318, 156, 292, 333, 296, 334, 156, 156,
854 293, 156, 156, 102, 336, 323, 337, 156, 102, 160,
855 331, 156, 156, 156, 324, 156, 156, 325, 333, 327,
856 334, 102, 428, 160, 379, 156, 156, 336, 343, 337,
857 298, 156, 156, 102, 156, 156, 517, 380, 324, 517,
858 156, 299, 160, 327, 156, 156, 156, 428, 156, 156,
859
860 339, 417, 344, 298, 156, 102, 160, 381, 156, 156,
861 156, 380, 156, 156, 299, 102, 417, 301, 300, 156,
862 160, 341, 156, 340, 156, 156, 394, 156, 156, 102,
863 381, 102, 340, 156, 387, 160, 102, 156, 156, 156,
864 302, 156, 156, 344, 342, 102, 102, 342, 156, 160,
865 394, 156, 395, 156, 156, 340, 156, 156, 387, 102,
866 303, 102, 304, 156, 160, 102, 156, 344, 156, 156,
867 342, 156, 156, 102, 102, 395, 345, 102, 347, 160,
868 349, 156, 156, 102, 388, 304, 305, 156, 156, 390,
869 156, 156, 517, 102, 346, 517, 306, 156, 160, 346,
870
871 156, 348, 156, 156, 350, 156, 156, 388, 102, 305,
872 348, 102, 390, 160, 350, 156, 156, 346, 307, 306,
873 396, 156, 156, 139, 156, 156, 384, 102, 102, 139,
874 319, 102, 160, 348, 156, 308, 102, 156, 350, 309,
875 139, 307, 156, 156, 396, 156, 156, 102, 393, 384,
876 139, 310, 353, 160, 352, 156, 101, 102, 383, 139,
877 102, 383, 101, 139, 354, 357, 102, 139, 311, 139,
878 102, 393, 326, 101, 102, 139, 102, 139, 352, 139,
879 397, 355, 102, 101, 102, 356, 102, 358, 102, 102,
880 360, 311, 101, 398, 102, 429, 101, 399, 101, 359,
881
882 101, 430, 101, 401, 397, 355, 361, 102, 101, 356,
883 101, 358, 101, 441, 156, 102, 398, 102, 429, 156,
884 156, 400, 156, 156, 430, 443, 402, 102, 319, 361,
885 160, 102, 156, 156, 400, 102, 433, 364, 156, 156,
886 102, 156, 156, 403, 102, 444, 102, 156, 443, 365,
887 402, 156, 156, 156, 445, 156, 156, 102, 400, 433,
888 405, 364, 406, 160, 437, 156, 156, 404, 444, 264,
889 102, 156, 156, 402, 156, 156, 102, 542, 445, 404,
890 366, 156, 160, 406, 156, 406, 156, 156, 437, 156,
891 156, 382, 382, 382, 382, 382, 382, 160, 367, 156,
892
893 156, 446, 447, 404, 368, 156, 156, 262, 156, 156,
894 139, 102, 476, 102, 156, 487, 160, 102, 156, 156,
895 156, 102, 156, 156, 446, 447, 439, 261, 156, 442,
896 160, 139, 156, 156, 156, 476, 156, 156, 102, 487,
897 448, 369, 156, 101, 160, 139, 156, 156, 156, 439,
898 156, 371, 442, 409, 139, 370, 192, 102, 372, 489,
899 156, 102, 156, 449, 101, 369, 102, 156, 156, 102,
900 156, 156, 102, 544, 490, 139, 156, 139, 160, 370,
901 156, 156, 156, 489, 156, 156, 102, 101, 449, 373,
902 156, 452, 160, 540, 156, 156, 156, 490, 156, 156,
903
904 389, 389, 389, 389, 389, 389, 160, 102, 156, 374,
905 156, 449, 803, 373, 453, 156, 156, 540, 156, 156,
906 139, 803, 139, 375, 511, 156, 160, 102, 156, 102,
907 156, 156, 376, 156, 156, 407, 407, 407, 407, 407,
908 407, 160, 408, 156, 139, 139, 803, 511, 411, 803,
909 139, 102, 102, 101, 156, 101, 410, 102, 102, 156,
910 156, 377, 156, 156, 803, 408, 102, 139, 413, 139,
911 160, 411, 156, 414, 436, 803, 102, 101, 101, 803,
912 410, 495, 454, 101, 377, 412, 412, 412, 412, 412,
913 412, 413, 803, 415, 416, 416, 416, 416, 416, 416,
914
915 101, 156, 101, 102, 496, 455, 156, 156, 102, 156,
916 156, 803, 803, 803, 803, 156, 415, 160, 546, 156,
917 156, 156, 453, 156, 156, 803, 803, 803, 450, 803,
918 156, 160, 418, 156, 419, 156, 156, 102, 156, 156,
919 102, 102, 546, 803, 156, 453, 160, 803, 156, 156,
920 156, 451, 156, 156, 520, 418, 496, 451, 156, 486,
921 160, 420, 156, 156, 156, 421, 156, 156, 423, 423,
922 423, 423, 423, 423, 160, 102, 156, 520, 156, 496,
923 451, 547, 486, 156, 156, 521, 156, 156, 803, 421,
924 139, 139, 803, 422, 160, 156, 156, 102, 102, 455,
925
926 156, 156, 803, 156, 156, 547, 102, 522, 521, 156,
927 424, 160, 139, 156, 156, 156, 422, 156, 156, 102,
928 523, 460, 455, 101, 101, 160, 156, 156, 425, 139,
929 522, 156, 156, 424, 156, 156, 102, 803, 803, 803,
930 456, 156, 160, 524, 156, 101, 156, 156, 139, 156,
931 156, 803, 102, 139, 139, 102, 457, 160, 426, 156,
932 102, 102, 101, 456, 803, 102, 524, 458, 491, 803,
933 459, 539, 803, 803, 427, 102, 102, 461, 492, 493,
934 102, 101, 803, 494, 102, 803, 101, 101, 543, 524,
935 156, 458, 492, 459, 539, 156, 156, 427, 156, 156,
936
937 461, 102, 492, 494, 156, 519, 160, 494, 156, 156,
938 156, 543, 156, 156, 477, 477, 477, 477, 477, 477,
939 160, 548, 156, 803, 156, 803, 541, 464, 519, 156,
940 156, 803, 156, 156, 574, 803, 803, 803, 156, 465,
941 160, 139, 156, 156, 156, 548, 156, 156, 481, 541,
942 464, 803, 803, 156, 467, 102, 156, 574, 156, 156,
943 466, 156, 156, 482, 482, 482, 482, 482, 482, 160,
944 575, 156, 156, 497, 101, 139, 468, 156, 156, 803,
945 156, 156, 102, 803, 803, 803, 156, 803, 160, 578,
946 156, 156, 156, 575, 156, 156, 803, 102, 102, 803,
947
948 468, 156, 160, 470, 156, 614, 156, 156, 101, 156,
949 156, 139, 578, 139, 576, 102, 139, 160, 483, 156,
950 102, 471, 156, 102, 581, 803, 470, 156, 156, 525,
951 156, 156, 102, 803, 803, 498, 102, 576, 160, 549,
952 156, 472, 499, 583, 101, 803, 101, 581, 582, 101,
953 526, 611, 526, 803, 473, 500, 500, 500, 500, 500,
954 500, 803, 156, 550, 615, 499, 583, 156, 156, 502,
955 156, 156, 582, 526, 611, 617, 156, 473, 160, 139,
956 156, 156, 156, 102, 156, 156, 102, 803, 615, 803,
957 616, 156, 160, 102, 156, 503, 156, 156, 617, 156,
958
959 156, 102, 612, 102, 102, 156, 651, 160, 550, 156,
960 156, 156, 101, 156, 156, 505, 505, 505, 505, 505,
961 505, 504, 156, 156, 584, 585, 612, 156, 156, 651,
962 156, 156, 550, 803, 618, 803, 156, 620, 506, 652,
963 156, 156, 156, 654, 156, 156, 102, 585, 585, 803,
964 803, 156, 160, 551, 156, 507, 156, 156, 618, 156,
965 156, 620, 652, 102, 803, 156, 654, 160, 139, 156,
966 156, 156, 102, 156, 156, 102, 513, 552, 803, 552,
967 139, 160, 508, 156, 514, 102, 156, 102, 527, 803,
968 102, 156, 156, 803, 156, 156, 528, 613, 803, 513,
969
970 509, 101, 160, 552, 156, 102, 586, 514, 529, 156,
971 102, 527, 621, 101, 156, 156, 532, 156, 156, 528,
972 681, 613, 102, 509, 682, 160, 139, 156, 803, 587,
973 803, 529, 156, 545, 683, 139, 622, 156, 156, 533,
974 156, 156, 102, 587, 681, 803, 156, 682, 160, 139,
975 156, 156, 156, 102, 156, 156, 102, 683, 803, 101,
976 803, 530, 160, 553, 156, 156, 587, 554, 101, 531,
977 156, 156, 655, 156, 156, 535, 536, 537, 538, 538,
978 538, 160, 101, 156, 530, 702, 803, 553, 156, 803,
979 554, 722, 531, 156, 156, 656, 156, 156, 803, 102,
980
981 102, 803, 534, 102, 160, 803, 156, 803, 156, 702,
982 622, 555, 102, 156, 156, 722, 156, 156, 656, 623,
983 803, 646, 156, 739, 160, 534, 156, 156, 156, 139,
984 156, 156, 102, 102, 622, 555, 102, 803, 160, 624,
985 156, 656, 156, 624, 646, 557, 739, 156, 156, 556,
986 156, 156, 657, 589, 803, 803, 803, 803, 160, 803,
987 156, 156, 101, 624, 754, 558, 156, 156, 803, 156,
988 156, 723, 556, 803, 803, 658, 589, 559, 560, 156,
989 535, 536, 537, 538, 538, 538, 560, 754, 561, 562,
990 563, 564, 564, 564, 560, 723, 565, 566, 567, 568,
991
992 569, 570, 560, 139, 571, 572, 573, 570, 570, 570,
993 102, 156, 803, 757, 139, 803, 156, 156, 803, 156,
994 156, 102, 755, 803, 139, 588, 139, 160, 760, 156,
995 625, 102, 764, 647, 776, 156, 101, 757, 626, 139,
996 156, 156, 590, 156, 156, 755, 102, 101, 588, 803,
997 803, 160, 760, 156, 625, 156, 764, 101, 776, 101,
998 156, 156, 626, 156, 156, 590, 761, 659, 591, 156,
999 778, 160, 101, 156, 156, 156, 803, 156, 156, 594,
1000 595, 596, 597, 597, 597, 160, 803, 156, 803, 761,
1001 659, 591, 592, 560, 778, 571, 572, 573, 570, 570,
1002
1003 570, 803, 803, 803, 803, 560, 593, 598, 599, 600,
1004 601, 601, 601, 560, 780, 602, 603, 604, 605, 606,
1005 607, 560, 788, 608, 609, 610, 607, 607, 607, 560,
1006 793, 571, 572, 573, 570, 570, 570, 560, 780, 598,
1007 599, 600, 601, 601, 601, 560, 788, 602, 603, 604,
1008 605, 606, 607, 560, 793, 608, 609, 610, 607, 607,
1009 607, 560, 803, 608, 609, 610, 607, 607, 570, 560,
1010 794, 571, 572, 573, 570, 570, 570, 560, 803, 535,
1011 536, 537, 538, 538, 538, 560, 102, 561, 562, 563,
1012 564, 564, 564, 560, 794, 565, 566, 567, 568, 569,
1013
1014 570, 156, 767, 803, 139, 658, 156, 156, 803, 156,
1015 156, 701, 803, 772, 803, 156, 774, 160, 803, 156,
1016 156, 156, 782, 156, 156, 767, 627, 803, 658, 784,
1017 803, 160, 803, 156, 790, 156, 772, 101, 628, 774,
1018 156, 156, 803, 156, 156, 782, 803, 803, 803, 795,
1019 627, 160, 784, 156, 803, 156, 803, 790, 629, 803,
1020 156, 156, 628, 156, 156, 664, 665, 666, 667, 667,
1021 667, 160, 795, 156, 803, 803, 803, 631, 630, 535,
1022 536, 537, 538, 538, 538, 631, 803, 632, 633, 634,
1023 635, 635, 635, 631, 803, 636, 637, 638, 639, 640,
1024
1025 641, 631, 803, 642, 643, 644, 641, 641, 641, 560,
1026 803, 571, 572, 573, 570, 570, 570, 560, 803, 598,
1027 599, 600, 601, 601, 601, 560, 803, 602, 603, 604,
1028 605, 606, 607, 560, 803, 608, 609, 610, 607, 607,
1029 607, 560, 803, 571, 572, 573, 570, 570, 570, 560,
1030 803, 598, 599, 600, 601, 601, 601, 560, 803, 602,
1031 603, 604, 605, 606, 607, 560, 803, 608, 609, 610,
1032 607, 607, 607, 560, 803, 608, 609, 610, 607, 607,
1033 570, 560, 803, 571, 572, 573, 570, 570, 570, 560,
1034 803, 535, 536, 537, 538, 538, 538, 560, 803, 561,
1035
1036 562, 563, 564, 564, 564, 560, 803, 565, 566, 567,
1037 568, 569, 570, 156, 803, 796, 798, 799, 156, 156,
1038 803, 156, 156, 803, 803, 800, 801, 156, 803, 160,
1039 139, 156, 156, 156, 803, 156, 156, 102, 796, 798,
1040 799, 803, 803, 661, 803, 156, 156, 685, 800, 801,
1041 660, 156, 156, 803, 156, 156, 803, 803, 803, 803,
1042 156, 803, 160, 101, 156, 156, 156, 803, 156, 156,
1043 803, 685, 803, 660, 803, 803, 160, 803, 156, 803,
1044 631, 662, 642, 643, 644, 641, 641, 641, 705, 706,
1045 707, 708, 708, 708, 631, 663, 668, 669, 670, 671,
1046
1047 671, 671, 631, 803, 672, 673, 674, 675, 676, 677,
1048 631, 803, 678, 679, 680, 677, 677, 677, 631, 803,
1049 642, 643, 644, 641, 641, 641, 631, 803, 668, 669,
1050 670, 671, 671, 671, 631, 803, 672, 673, 674, 675,
1051 676, 677, 631, 803, 678, 679, 680, 677, 677, 677,
1052 631, 803, 678, 679, 680, 677, 677, 570, 631, 803,
1053 571, 572, 573, 570, 570, 570, 631, 803, 535, 536,
1054 537, 538, 538, 538, 631, 803, 561, 562, 563, 564,
1055 564, 564, 631, 803, 565, 566, 567, 568, 569, 570,
1056 156, 803, 803, 803, 803, 156, 156, 803, 156, 156,
1057
1058 803, 803, 803, 803, 156, 803, 160, 803, 156, 156,
1059 156, 803, 156, 156, 803, 803, 686, 803, 156, 803,
1060 160, 803, 156, 156, 156, 803, 156, 156, 535, 762,
1061 537, 538, 538, 538, 160, 803, 156, 803, 803, 687,
1062 686, 535, 536, 537, 538, 538, 538, 687, 803, 688,
1063 689, 690, 691, 691, 691, 687, 803, 692, 693, 694,
1064 695, 696, 697, 687, 803, 698, 699, 700, 697, 697,
1065 697, 631, 803, 571, 572, 573, 570, 570, 570, 631,
1066 803, 598, 599, 600, 601, 601, 601, 631, 803, 602,
1067 603, 604, 605, 606, 607, 631, 803, 608, 609, 610,
1068
1069 607, 607, 607, 631, 803, 571, 572, 573, 570, 570,
1070 570, 631, 803, 598, 599, 600, 601, 601, 601, 631,
1071 803, 602, 603, 604, 605, 606, 607, 631, 803, 608,
1072 609, 610, 607, 607, 607, 631, 803, 608, 609, 610,
1073 607, 607, 570, 631, 803, 571, 572, 573, 570, 570,
1074 570, 631, 803, 535, 536, 537, 538, 538, 538, 631,
1075 803, 561, 562, 563, 564, 564, 564, 631, 803, 565,
1076 566, 567, 568, 569, 570, 156, 803, 803, 803, 803,
1077 156, 156, 803, 156, 156, 768, 595, 596, 597, 597,
1078 597, 704, 687, 156, 698, 699, 700, 697, 697, 697,
1079
1080 687, 803, 709, 710, 711, 712, 712, 712, 687, 803,
1081 713, 714, 715, 716, 717, 718, 687, 803, 719, 720,
1082 721, 718, 718, 718, 687, 803, 698, 699, 700, 697,
1083 697, 697, 687, 803, 709, 710, 711, 712, 712, 712,
1084 687, 803, 713, 714, 715, 716, 717, 718, 687, 803,
1085 719, 720, 721, 718, 718, 718, 687, 803, 719, 720,
1086 721, 718, 718, 570, 687, 803, 571, 572, 573, 570,
1087 570, 570, 687, 803, 535, 536, 537, 538, 538, 538,
1088 687, 803, 561, 562, 563, 564, 564, 564, 687, 803,
1089 565, 566, 567, 568, 569, 570, 687, 724, 535, 536,
1090
1091 537, 538, 538, 538, 687, 724, 725, 726, 727, 728,
1092 728, 728, 687, 724, 729, 730, 731, 732, 733, 734,
1093 687, 724, 735, 736, 737, 734, 734, 734, 687, 803,
1094 571, 572, 573, 570, 570, 570, 687, 803, 598, 599,
1095 600, 601, 601, 601, 687, 803, 602, 603, 604, 605,
1096 606, 607, 687, 803, 608, 609, 610, 607, 607, 607,
1097 687, 803, 571, 572, 573, 570, 570, 570, 687, 803,
1098 598, 599, 600, 601, 601, 601, 687, 803, 602, 603,
1099 604, 605, 606, 607, 687, 803, 608, 609, 610, 607,
1100 607, 607, 687, 803, 608, 609, 610, 607, 607, 570,
1101
1102 687, 803, 571, 572, 573, 570, 570, 570, 687, 803,
1103 535, 536, 537, 538, 538, 538, 687, 803, 561, 562,
1104 563, 564, 564, 564, 687, 803, 565, 566, 567, 568,
1105 569, 570, 535, 536, 537, 538, 538, 538, 687, 724,
1106 735, 736, 737, 734, 734, 734, 687, 724, 741, 742,
1107 743, 744, 744, 744, 687, 724, 745, 746, 747, 748,
1108 749, 750, 740, 687, 724, 751, 752, 753, 750, 750,
1109 750, 687, 724, 735, 736, 737, 734, 734, 734, 791,
1110 792, 537, 538, 538, 538, 740, 687, 724, 741, 742,
1111 743, 744, 744, 744, 687, 724, 745, 746, 747, 748,
1112
1113 749, 750, 687, 724, 751, 752, 753, 750, 750, 750,
1114 687, 724, 751, 752, 753, 750, 750, 570, 687, 724,
1115 571, 572, 573, 570, 570, 570, 687, 724, 535, 536,
1116 537, 538, 538, 538, 687, 724, 561, 562, 563, 564,
1117 564, 564, 687, 724, 565, 566, 567, 568, 569, 570,
1118 535, 536, 537, 538, 538, 538, 687, 724, 571, 572,
1119 573, 570, 570, 570, 756, 687, 724, 598, 599, 600,
1120 601, 601, 601, 687, 724, 602, 603, 604, 605, 606,
1121 607, 803, 803, 803, 803, 803, 803, 803, 756, 687,
1122 724, 608, 609, 610, 607, 607, 607, 687, 724, 571,
1123
1124 572, 573, 570, 570, 570, 687, 724, 598, 599, 600,
1125 601, 601, 601, 687, 724, 602, 603, 604, 605, 606,
1126 607, 687, 724, 608, 609, 610, 607, 607, 607, 687,
1127 724, 608, 609, 610, 607, 607, 570, 687, 724, 571,
1128 572, 573, 570, 570, 570, 687, 724, 535, 536, 537,
1129 538, 538, 538, 687, 724, 561, 562, 563, 564, 564,
1130 564, 687, 724, 565, 566, 567, 568, 569, 570, 535,
1131 536, 537, 538, 538, 538, 803, 803, 803, 803, 803,
1132 765, 759, 561, 562, 563, 564, 564, 564, 631, 771,
1133 535, 536, 537, 538, 538, 538, 535, 536, 537, 538,
1134
1135 538, 538, 803, 803, 803, 759, 535, 536, 537, 538,
1136 538, 538, 535, 536, 537, 538, 538, 538, 803, 803,
1137 803, 803, 773, 803, 803, 535, 536, 537, 538, 538,
1138 538, 803, 803, 775, 803, 803, 803, 777, 779, 535,
1139 536, 537, 538, 538, 538, 773, 803, 803, 781, 535,
1140 536, 537, 538, 538, 538, 803, 775, 803, 803, 803,
1141 777, 803, 779, 535, 536, 537, 538, 538, 538, 783,
1142 803, 803, 781, 535, 536, 537, 538, 538, 538, 803,
1143 785, 803, 803, 803, 803, 787, 535, 536, 537, 538,
1144 538, 538, 783, 560, 789, 535, 536, 537, 538, 538,
1145
1146 538, 803, 803, 803, 785, 803, 803, 803, 560, 787,
1147 561, 562, 563, 564, 564, 564, 18, 18, 18, 18,
1148 18, 18, 18, 18, 42, 42, 42, 42, 42, 42,
1149 42, 42, 61, 61, 61, 61, 61, 61, 61, 61,
1150 74, 74, 74, 74, 74, 74, 74, 74, 101, 803,
1151 101, 116, 116, 803, 803, 116, 116, 116, 116, 138,
1152 138, 142, 142, 142, 156, 803, 803, 803, 156, 156,
1153 156, 159, 803, 803, 803, 159, 159, 159, 478, 803,
1154 803, 478, 478, 478, 478, 478, 501, 803, 803, 501,
1155 501, 501, 501, 501, 510, 803, 803, 510, 510, 510,
1156
1157 510, 510, 17, 803, 803, 803, 803, 803, 803, 803,
1158 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1159 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1160 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1161 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1162 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1163 803, 803, 803, 803, 803, 803, 803, 803
1164 } ;
1165
1166 static yyconst flex_int16_t yy_chk[4069] =
1167 { 0,
1168 0, 1, 1, 1, 1, 1, 1, 1, 814, 1,
1169 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1170 3, 3, 4, 4, 4, 33, 37, 19, 5, 5,
1171 19, 96, 33, 37, 96, 1, 5, 5, 5, 5,
1172 5, 5, 6, 6, 26, 26, 26, 26, 26, 26,
1173 6, 6, 6, 6, 6, 6, 801, 37, 1, 2,
1174 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1175 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1176 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1177 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1178
1179 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1180 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1181 2, 2, 2, 2, 7, 7, 7, 7, 7, 7,
1182 7, 14, 7, 7, 7, 7, 7, 7, 7, 7,
1183 7, 7, 28, 28, 30, 34, 40, 44, 7, 47,
1184 48, 259, 182, 40, 14, 7, 7, 259, 7, 7,
1185 7, 41, 34, 182, 82, 28, 28, 30, 36, 38,
1186 32, 44, 7, 47, 48, 36, 38, 40, 7, 7,
1187 41, 7, 7, 7, 8, 105, 32, 82, 38, 36,
1188 32, 8, 8, 98, 35, 8, 8, 35, 108, 36,
1189
1190 796, 108, 114, 41, 784, 114, 105, 35, 8, 32,
1191 767, 38, 36, 32, 8, 8, 35, 98, 8, 8,
1192 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1193 9, 9, 9, 9, 9, 9, 9, 9, 9, 35,
1194 43, 43, 43, 43, 43, 43, 45, 94, 45, 79,
1195 79, 79, 79, 79, 79, 9, 106, 204, 83, 250,
1196 766, 246, 9, 83, 83, 204, 83, 83, 246, 45,
1197 94, 45, 763, 760, 83, 250, 83, 106, 9, 10,
1198 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1199 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1200
1201 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1202 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1203 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1204 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
1205 10, 10, 10, 10, 11, 11, 11, 11, 11, 11,
1206 11, 39, 11, 11, 11, 11, 11, 11, 11, 11,
1207 11, 11, 46, 49, 63, 755, 722, 52, 54, 57,
1208 49, 63, 46, 39, 52, 54, 57, 330, 11, 60,
1209 60, 60, 60, 60, 60, 60, 46, 97, 97, 97,
1210 97, 97, 97, 330, 49, 46, 39, 63, 52, 54,
1211
1212 57, 11, 12, 12, 12, 12, 12, 12, 12, 12,
1213 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1214 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1215 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1216 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1217 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
1218 12, 12, 12, 12, 12, 12, 12, 13, 62, 100,
1219 99, 249, 683, 65, 13, 13, 50, 13, 13, 13,
1220 65, 320, 107, 681, 320, 658, 51, 65, 249, 51,
1221 55, 13, 100, 50, 99, 50, 62, 13, 13, 51,
1222
1223 13, 13, 13, 15, 107, 53, 65, 55, 51, 55,
1224 15, 15, 53, 51, 15, 15, 50, 657, 50, 62,
1225 103, 58, 51, 656, 53, 111, 56, 15, 58, 56,
1226 55, 51, 55, 15, 15, 103, 53, 15, 15, 56,
1227 58, 110, 64, 66, 67, 111, 113, 53, 56, 64,
1228 66, 67, 58, 56, 67, 655, 653, 329, 103, 110,
1229 329, 650, 56, 58, 67, 64, 113, 66, 111, 64,
1230 118, 56, 68, 67, 71, 64, 66, 67, 73, 68,
1231 69, 71, 110, 70, 72, 73, 68, 69, 64, 113,
1232 70, 72, 64, 118, 69, 120, 67, 70, 72, 95,
1233
1234 68, 119, 648, 71, 73, 68, 95, 71, 109, 70,
1235 68, 73, 109, 69, 104, 190, 70, 72, 69, 120,
1236 95, 104, 72, 68, 119, 115, 71, 73, 115, 257,
1237 95, 122, 70, 84, 190, 121, 109, 123, 84, 84,
1238 125, 84, 84, 95, 124, 104, 257, 434, 85, 84,
1239 434, 84, 115, 85, 85, 122, 85, 85, 121, 112,
1240 123, 125, 183, 321, 85, 84, 85, 86, 124, 84,
1241 126, 85, 86, 86, 127, 86, 86, 619, 321, 112,
1242 112, 89, 183, 86, 125, 86, 89, 89, 84, 89,
1243 89, 126, 84, 130, 128, 127, 258, 89, 142, 89,
1244
1245 86, 87, 112, 128, 89, 142, 87, 87, 129, 87,
1246 87, 181, 615, 258, 126, 130, 91, 87, 127, 87,
1247 87, 91, 91, 440, 91, 91, 440, 128, 89, 129,
1248 87, 142, 91, 131, 91, 92, 131, 181, 130, 87,
1249 92, 92, 132, 92, 92, 117, 117, 117, 117, 117,
1250 117, 92, 129, 92, 91, 385, 433, 158, 92, 251,
1251 131, 613, 87, 88, 132, 433, 251, 133, 88, 88,
1252 133, 88, 88, 611, 385, 136, 134, 91, 136, 88,
1253 158, 88, 92, 93, 135, 141, 88, 132, 93, 93,
1254 137, 93, 93, 137, 133, 386, 134, 134, 174, 93,
1255
1256 88, 93, 136, 176, 135, 135, 145, 582, 177, 255,
1257 88, 559, 141, 145, 178, 386, 255, 137, 93, 134,
1258 134, 174, 194, 88, 90, 391, 176, 135, 135, 90,
1259 90, 177, 90, 90, 145, 141, 143, 178, 146, 145,
1260 90, 93, 90, 143, 391, 146, 194, 90, 140, 140,
1261 140, 140, 140, 140, 140, 147, 144, 148, 143, 90,
1262 185, 200, 147, 144, 148, 149, 146, 148, 150, 143,
1263 144, 146, 149, 185, 179, 150, 149, 175, 151, 152,
1264 545, 143, 90, 184, 147, 151, 152, 200, 147, 144,
1265 148, 519, 153, 150, 144, 179, 185, 175, 149, 153,
1266
1267 149, 150, 191, 154, 180, 151, 152, 152, 184, 463,
1268 154, 151, 152, 154, 155, 196, 150, 191, 179, 153,
1269 175, 155, 180, 463, 155, 153, 188, 245, 151, 152,
1270 157, 157, 157, 157, 157, 157, 154, 186, 196, 187,
1271 191, 265, 153, 480, 159, 180, 188, 155, 155, 159,
1272 159, 245, 159, 159, 484, 504, 187, 480, 161, 186,
1273 159, 189, 159, 161, 161, 265, 161, 161, 484, 188,
1274 197, 198, 162, 496, 161, 198, 161, 162, 162, 187,
1275 162, 162, 186, 189, 614, 199, 205, 189, 162, 161,
1276 162, 163, 201, 197, 198, 162, 163, 163, 269, 163,
1277
1278 163, 228, 495, 614, 485, 164, 205, 163, 199, 163,
1279 164, 164, 161, 164, 164, 202, 203, 206, 201, 162,
1280 441, 164, 269, 164, 228, 165, 202, 203, 163, 205,
1281 165, 165, 542, 165, 165, 441, 481, 206, 476, 166,
1282 501, 165, 164, 165, 166, 166, 207, 166, 166, 544,
1283 202, 203, 217, 542, 501, 166, 167, 166, 166, 217,
1284 206, 167, 167, 165, 167, 167, 451, 211, 450, 212,
1285 544, 207, 167, 168, 167, 209, 167, 208, 168, 168,
1286 214, 168, 168, 284, 210, 217, 211, 169, 212, 168,
1287 284, 168, 169, 169, 207, 169, 169, 209, 445, 242,
1288
1289 167, 209, 208, 169, 214, 169, 210, 168, 171, 211,
1290 210, 212, 219, 171, 171, 439, 171, 171, 243, 219,
1291 209, 215, 242, 169, 171, 208, 171, 214, 215, 210,
1292 168, 482, 172, 437, 482, 243, 297, 172, 172, 219,
1293 172, 172, 435, 297, 171, 219, 169, 170, 172, 215,
1294 172, 172, 170, 170, 215, 170, 170, 216, 243, 220,
1295 429, 218, 616, 170, 216, 170, 220, 171, 218, 173,
1296 428, 423, 215, 312, 173, 173, 244, 173, 173, 218,
1297 312, 616, 216, 170, 170, 173, 222, 173, 173, 221,
1298 216, 220, 220, 222, 218, 225, 221, 223, 417, 244,
1299
1300 224, 227, 225, 226, 223, 216, 170, 224, 227, 221,
1301 226, 247, 173, 416, 412, 222, 262, 260, 247, 222,
1302 253, 223, 221, 227, 225, 407, 389, 224, 225, 226,
1303 223, 253, 221, 224, 227, 387, 226, 260, 222, 262,
1304 383, 382, 247, 229, 223, 263, 227, 264, 229, 229,
1305 224, 229, 229, 254, 267, 253, 268, 230, 256, 229,
1306 260, 229, 230, 230, 254, 230, 230, 313, 263, 256,
1307 264, 274, 379, 230, 313, 230, 231, 267, 274, 268,
1308 229, 231, 231, 270, 231, 231, 505, 314, 254, 505,
1309 232, 230, 231, 256, 231, 232, 232, 378, 232, 232,
1310
1311 270, 372, 274, 229, 233, 272, 232, 315, 232, 233,
1312 233, 314, 233, 233, 230, 271, 363, 232, 231, 234,
1313 233, 272, 233, 270, 234, 234, 332, 234, 234, 323,
1314 315, 273, 271, 235, 323, 234, 275, 234, 235, 235,
1315 233, 235, 235, 275, 272, 346, 345, 273, 236, 235,
1316 332, 235, 333, 236, 236, 271, 236, 236, 323, 278,
1317 234, 279, 235, 237, 236, 324, 236, 275, 237, 237,
1318 273, 237, 237, 327, 282, 333, 278, 280, 279, 237,
1319 282, 237, 238, 344, 324, 235, 236, 238, 238, 327,
1320 238, 238, 517, 281, 280, 517, 237, 239, 238, 278,
1321
1322 238, 279, 239, 239, 282, 239, 239, 324, 283, 236,
1323 281, 318, 327, 239, 283, 239, 240, 280, 238, 237,
1324 334, 240, 240, 286, 240, 240, 318, 343, 328, 287,
1325 286, 331, 240, 281, 240, 239, 287, 241, 283, 239,
1326 285, 238, 241, 241, 334, 241, 241, 285, 331, 318,
1327 288, 240, 287, 241, 285, 241, 286, 288, 326, 289,
1328 322, 317, 287, 290, 288, 292, 289, 291, 241, 293,
1329 290, 331, 292, 285, 291, 294, 293, 295, 285, 296,
1330 337, 290, 294, 288, 295, 291, 296, 293, 341, 392,
1331 295, 241, 289, 338, 339, 380, 290, 339, 292, 294,
1332
1333 291, 381, 293, 341, 337, 290, 296, 277, 294, 291,
1334 295, 293, 296, 392, 298, 384, 338, 276, 380, 298,
1335 298, 339, 298, 298, 381, 394, 341, 252, 248, 296,
1336 298, 340, 298, 299, 340, 342, 384, 298, 299, 299,
1337 347, 299, 299, 347, 349, 395, 350, 300, 394, 299,
1338 342, 299, 300, 300, 396, 300, 300, 388, 340, 384,
1339 349, 298, 350, 300, 388, 300, 301, 347, 395, 195,
1340 515, 301, 301, 342, 301, 301, 348, 515, 396, 348,
1341 300, 302, 301, 349, 301, 350, 302, 302, 388, 302,
1342 302, 316, 316, 316, 316, 316, 316, 302, 301, 302,
1343
1344 303, 397, 398, 348, 302, 303, 303, 193, 303, 303,
1345 354, 390, 430, 393, 304, 443, 303, 354, 303, 304,
1346 304, 399, 304, 304, 397, 398, 390, 192, 305, 393,
1347 304, 353, 304, 305, 305, 430, 305, 305, 353, 443,
1348 399, 304, 306, 354, 305, 138, 305, 306, 306, 390,
1349 306, 306, 393, 353, 359, 305, 116, 101, 306, 446,
1350 306, 359, 307, 399, 353, 304, 518, 307, 307, 400,
1351 307, 307, 403, 518, 447, 61, 308, 59, 307, 305,
1352 307, 308, 308, 446, 308, 308, 513, 359, 400, 307,
1353 309, 403, 308, 513, 308, 309, 309, 447, 309, 309,
1354
1355 325, 325, 325, 325, 325, 325, 309, 31, 309, 308,
1356 310, 400, 17, 307, 403, 310, 310, 513, 310, 310,
1357 352, 0, 356, 309, 475, 311, 310, 352, 310, 356,
1358 311, 311, 310, 311, 311, 351, 351, 351, 351, 351,
1359 351, 311, 352, 311, 355, 358, 0, 475, 356, 0,
1360 360, 355, 358, 352, 368, 356, 355, 360, 405, 368,
1361 368, 311, 368, 368, 0, 352, 454, 410, 358, 361,
1362 368, 356, 368, 360, 410, 0, 361, 355, 358, 0,
1363 355, 454, 405, 360, 311, 357, 357, 357, 357, 357,
1364 357, 358, 0, 361, 362, 362, 362, 362, 362, 362,
1365
1366 410, 364, 361, 404, 454, 405, 364, 364, 401, 364,
1367 364, 0, 0, 0, 0, 366, 361, 364, 520, 364,
1368 366, 366, 404, 366, 366, 0, 0, 0, 401, 0,
1369 367, 366, 364, 366, 366, 367, 367, 402, 367, 367,
1370 442, 455, 520, 0, 369, 404, 367, 0, 367, 369,
1371 369, 401, 369, 369, 487, 364, 455, 402, 370, 442,
1372 369, 367, 369, 370, 370, 369, 370, 370, 371, 371,
1373 371, 371, 371, 371, 370, 406, 370, 487, 373, 455,
1374 402, 521, 442, 373, 373, 488, 373, 373, 0, 369,
1375 414, 457, 0, 370, 373, 374, 373, 414, 457, 406,
1376
1377 374, 374, 0, 374, 374, 521, 491, 489, 488, 375,
1378 373, 374, 408, 374, 375, 375, 370, 375, 375, 408,
1379 491, 414, 406, 414, 457, 375, 376, 375, 375, 409,
1380 489, 376, 376, 373, 376, 376, 409, 0, 0, 0,
1381 408, 377, 376, 491, 376, 408, 377, 377, 413, 377,
1382 377, 0, 492, 411, 415, 413, 409, 377, 376, 377,
1383 411, 415, 409, 408, 0, 448, 492, 411, 448, 0,
1384 413, 511, 0, 0, 377, 449, 452, 415, 449, 452,
1385 453, 413, 0, 453, 486, 0, 411, 415, 516, 492,
1386 418, 411, 448, 413, 511, 418, 418, 377, 418, 418,
1387
1388 415, 514, 449, 452, 419, 486, 418, 453, 418, 419,
1389 419, 516, 419, 419, 431, 431, 431, 431, 431, 431,
1390 419, 522, 419, 0, 420, 0, 514, 418, 486, 420,
1391 420, 0, 420, 420, 539, 0, 0, 0, 421, 419,
1392 420, 458, 420, 421, 421, 522, 421, 421, 458, 514,
1393 418, 0, 0, 422, 421, 540, 421, 539, 422, 422,
1394 420, 422, 422, 438, 438, 438, 438, 438, 438, 422,
1395 540, 422, 424, 456, 458, 456, 422, 424, 424, 0,
1396 424, 424, 456, 0, 0, 0, 425, 0, 424, 543,
1397 424, 425, 425, 540, 425, 425, 0, 541, 577, 0,
1398
1399 422, 426, 425, 424, 425, 577, 426, 426, 456, 426,
1400 426, 459, 543, 460, 541, 493, 461, 426, 459, 426,
1401 460, 425, 427, 461, 546, 0, 424, 427, 427, 493,
1402 427, 427, 523, 0, 0, 460, 494, 541, 427, 523,
1403 427, 426, 461, 548, 459, 0, 460, 546, 547, 461,
1404 494, 574, 493, 0, 427, 462, 462, 462, 462, 462,
1405 462, 0, 464, 523, 578, 461, 548, 464, 464, 464,
1406 464, 464, 547, 494, 574, 580, 465, 427, 464, 498,
1407 464, 465, 465, 579, 465, 465, 498, 0, 578, 0,
1408 579, 466, 465, 575, 465, 465, 466, 466, 580, 466,
1409
1410 466, 524, 575, 549, 550, 468, 617, 466, 524, 466,
1411 468, 468, 498, 468, 468, 469, 469, 469, 469, 469,
1412 469, 468, 470, 468, 549, 550, 575, 470, 470, 617,
1413 470, 470, 524, 0, 581, 0, 471, 583, 470, 618,
1414 470, 471, 471, 620, 471, 471, 525, 549, 550, 0,
1415 0, 472, 471, 525, 471, 471, 472, 472, 581, 472,
1416 472, 583, 618, 479, 0, 473, 620, 472, 497, 472,
1417 473, 473, 526, 473, 473, 497, 479, 525, 0, 526,
1418 499, 473, 472, 473, 479, 551, 503, 499, 497, 0,
1419 576, 503, 503, 0, 503, 503, 497, 576, 0, 479,
1420
1421 473, 497, 503, 526, 503, 584, 551, 479, 499, 507,
1422 646, 497, 584, 499, 507, 507, 503, 507, 507, 497,
1423 646, 576, 552, 473, 649, 507, 529, 507, 0, 551,
1424 0, 499, 502, 529, 651, 528, 584, 502, 502, 507,
1425 502, 502, 528, 552, 646, 0, 508, 649, 502, 527,
1426 502, 508, 508, 621, 508, 508, 527, 651, 0, 529,
1427 0, 502, 508, 527, 508, 509, 552, 528, 528, 502,
1428 509, 509, 621, 509, 509, 510, 510, 510, 510, 510,
1429 510, 509, 527, 509, 502, 682, 0, 527, 530, 0,
1430 528, 702, 502, 530, 530, 621, 530, 530, 0, 622,
1431
1432 612, 0, 509, 585, 530, 0, 530, 0, 531, 682,
1433 585, 530, 586, 531, 531, 702, 531, 531, 622, 586,
1434 0, 612, 532, 723, 531, 509, 531, 532, 532, 554,
1435 532, 532, 587, 623, 585, 530, 554, 0, 532, 587,
1436 532, 622, 533, 586, 612, 532, 723, 533, 533, 531,
1437 533, 533, 623, 554, 0, 0, 0, 0, 533, 0,
1438 533, 534, 554, 587, 738, 533, 534, 534, 0, 534,
1439 534, 703, 531, 0, 0, 623, 554, 534, 535, 534,
1440 535, 535, 535, 535, 535, 535, 536, 738, 536, 536,
1441 536, 536, 536, 536, 537, 703, 537, 537, 537, 537,
1442
1443 537, 537, 538, 553, 538, 538, 538, 538, 538, 538,
1444 553, 555, 0, 754, 588, 0, 555, 555, 0, 555,
1445 555, 588, 739, 0, 589, 553, 626, 555, 757, 555,
1446 588, 589, 761, 626, 774, 556, 553, 754, 589, 625,
1447 556, 556, 555, 556, 556, 739, 625, 588, 553, 0,
1448 0, 556, 757, 556, 588, 557, 761, 589, 774, 626,
1449 557, 557, 589, 557, 557, 555, 758, 625, 556, 558,
1450 776, 557, 625, 557, 558, 558, 0, 558, 558, 560,
1451 560, 560, 560, 560, 560, 558, 0, 558, 0, 758,
1452 625, 556, 557, 561, 776, 561, 561, 561, 561, 561,
1453
1454 561, 0, 0, 0, 0, 562, 558, 562, 562, 562,
1455 562, 562, 562, 563, 778, 563, 563, 563, 563, 563,
1456 563, 564, 786, 564, 564, 564, 564, 564, 564, 565,
1457 790, 565, 565, 565, 565, 565, 565, 566, 778, 566,
1458 566, 566, 566, 566, 566, 567, 786, 567, 567, 567,
1459 567, 567, 567, 568, 790, 568, 568, 568, 568, 568,
1460 568, 569, 0, 569, 569, 569, 569, 569, 569, 570,
1461 793, 570, 570, 570, 570, 570, 570, 571, 0, 571,
1462 571, 571, 571, 571, 571, 572, 624, 572, 572, 572,
1463 572, 572, 572, 573, 793, 573, 573, 573, 573, 573,
1464
1465 573, 590, 764, 0, 685, 624, 590, 590, 0, 590,
1466 590, 685, 0, 770, 0, 591, 772, 590, 0, 590,
1467 591, 591, 780, 591, 591, 764, 590, 0, 624, 782,
1468 0, 591, 0, 591, 788, 592, 770, 685, 591, 772,
1469 592, 592, 0, 592, 592, 780, 0, 0, 0, 794,
1470 590, 592, 782, 592, 0, 593, 0, 788, 592, 0,
1471 593, 593, 591, 593, 593, 631, 631, 631, 631, 631,
1472 631, 593, 794, 593, 0, 0, 0, 594, 593, 594,
1473 594, 594, 594, 594, 594, 595, 0, 595, 595, 595,
1474 595, 595, 595, 596, 0, 596, 596, 596, 596, 596,
1475
1476 596, 597, 0, 597, 597, 597, 597, 597, 597, 598,
1477 0, 598, 598, 598, 598, 598, 598, 599, 0, 599,
1478 599, 599, 599, 599, 599, 600, 0, 600, 600, 600,
1479 600, 600, 600, 601, 0, 601, 601, 601, 601, 601,
1480 601, 602, 0, 602, 602, 602, 602, 602, 602, 603,
1481 0, 603, 603, 603, 603, 603, 603, 604, 0, 604,
1482 604, 604, 604, 604, 604, 605, 0, 605, 605, 605,
1483 605, 605, 605, 606, 0, 606, 606, 606, 606, 606,
1484 606, 607, 0, 607, 607, 607, 607, 607, 607, 608,
1485 0, 608, 608, 608, 608, 608, 608, 609, 0, 609,
1486
1487 609, 609, 609, 609, 609, 610, 0, 610, 610, 610,
1488 610, 610, 610, 627, 0, 795, 797, 798, 627, 627,
1489 0, 627, 627, 0, 0, 799, 800, 628, 0, 627,
1490 659, 627, 628, 628, 0, 628, 628, 659, 795, 797,
1491 798, 0, 0, 628, 0, 628, 629, 659, 799, 800,
1492 627, 629, 629, 0, 629, 629, 0, 0, 0, 0,
1493 630, 0, 629, 659, 629, 630, 630, 0, 630, 630,
1494 0, 659, 0, 627, 0, 0, 630, 0, 630, 0,
1495 632, 629, 632, 632, 632, 632, 632, 632, 687, 687,
1496 687, 687, 687, 687, 633, 630, 633, 633, 633, 633,
1497
1498 633, 633, 634, 0, 634, 634, 634, 634, 634, 634,
1499 635, 0, 635, 635, 635, 635, 635, 635, 636, 0,
1500 636, 636, 636, 636, 636, 636, 637, 0, 637, 637,
1501 637, 637, 637, 637, 638, 0, 638, 638, 638, 638,
1502 638, 638, 639, 0, 639, 639, 639, 639, 639, 639,
1503 640, 0, 640, 640, 640, 640, 640, 640, 641, 0,
1504 641, 641, 641, 641, 641, 641, 642, 0, 642, 642,
1505 642, 642, 642, 642, 643, 0, 643, 643, 643, 643,
1506 643, 643, 644, 0, 644, 644, 644, 644, 644, 644,
1507 660, 0, 0, 0, 0, 660, 660, 0, 660, 660,
1508
1509 0, 0, 0, 0, 662, 0, 660, 0, 660, 662,
1510 662, 0, 662, 662, 0, 0, 660, 0, 663, 0,
1511 662, 0, 662, 663, 663, 0, 663, 663, 759, 759,
1512 759, 759, 759, 759, 663, 0, 663, 0, 0, 664,
1513 660, 664, 664, 664, 664, 664, 664, 665, 0, 665,
1514 665, 665, 665, 665, 665, 666, 0, 666, 666, 666,
1515 666, 666, 666, 667, 0, 667, 667, 667, 667, 667,
1516 667, 668, 0, 668, 668, 668, 668, 668, 668, 669,
1517 0, 669, 669, 669, 669, 669, 669, 670, 0, 670,
1518 670, 670, 670, 670, 670, 671, 0, 671, 671, 671,
1519
1520 671, 671, 671, 672, 0, 672, 672, 672, 672, 672,
1521 672, 673, 0, 673, 673, 673, 673, 673, 673, 674,
1522 0, 674, 674, 674, 674, 674, 674, 675, 0, 675,
1523 675, 675, 675, 675, 675, 676, 0, 676, 676, 676,
1524 676, 676, 676, 677, 0, 677, 677, 677, 677, 677,
1525 677, 678, 0, 678, 678, 678, 678, 678, 678, 679,
1526 0, 679, 679, 679, 679, 679, 679, 680, 0, 680,
1527 680, 680, 680, 680, 680, 686, 0, 0, 0, 0,
1528 686, 686, 0, 686, 686, 765, 765, 765, 765, 765,
1529 765, 686, 688, 686, 688, 688, 688, 688, 688, 688,
1530
1531 689, 0, 689, 689, 689, 689, 689, 689, 690, 0,
1532 690, 690, 690, 690, 690, 690, 691, 0, 691, 691,
1533 691, 691, 691, 691, 692, 0, 692, 692, 692, 692,
1534 692, 692, 693, 0, 693, 693, 693, 693, 693, 693,
1535 694, 0, 694, 694, 694, 694, 694, 694, 695, 0,
1536 695, 695, 695, 695, 695, 695, 696, 0, 696, 696,
1537 696, 696, 696, 696, 697, 0, 697, 697, 697, 697,
1538 697, 697, 698, 0, 698, 698, 698, 698, 698, 698,
1539 699, 0, 699, 699, 699, 699, 699, 699, 700, 0,
1540 700, 700, 700, 700, 700, 700, 705, 705, 705, 705,
1541
1542 705, 705, 705, 705, 706, 706, 706, 706, 706, 706,
1543 706, 706, 707, 707, 707, 707, 707, 707, 707, 707,
1544 708, 708, 708, 708, 708, 708, 708, 708, 709, 0,
1545 709, 709, 709, 709, 709, 709, 710, 0, 710, 710,
1546 710, 710, 710, 710, 711, 0, 711, 711, 711, 711,
1547 711, 711, 712, 0, 712, 712, 712, 712, 712, 712,
1548 713, 0, 713, 713, 713, 713, 713, 713, 714, 0,
1549 714, 714, 714, 714, 714, 714, 715, 0, 715, 715,
1550 715, 715, 715, 715, 716, 0, 716, 716, 716, 716,
1551 716, 716, 717, 0, 717, 717, 717, 717, 717, 717,
1552
1553 718, 0, 718, 718, 718, 718, 718, 718, 719, 0,
1554 719, 719, 719, 719, 719, 719, 720, 0, 720, 720,
1555 720, 720, 720, 720, 721, 0, 721, 721, 721, 721,
1556 721, 721, 724, 724, 724, 724, 724, 724, 725, 725,
1557 725, 725, 725, 725, 725, 725, 726, 726, 726, 726,
1558 726, 726, 726, 726, 727, 727, 727, 727, 727, 727,
1559 727, 727, 724, 728, 728, 728, 728, 728, 728, 728,
1560 728, 729, 729, 729, 729, 729, 729, 729, 729, 789,
1561 789, 789, 789, 789, 789, 724, 730, 730, 730, 730,
1562 730, 730, 730, 730, 731, 731, 731, 731, 731, 731,
1563
1564 731, 731, 732, 732, 732, 732, 732, 732, 732, 732,
1565 733, 733, 733, 733, 733, 733, 733, 733, 734, 734,
1566 734, 734, 734, 734, 734, 734, 735, 735, 735, 735,
1567 735, 735, 735, 735, 736, 736, 736, 736, 736, 736,
1568 736, 736, 737, 737, 737, 737, 737, 737, 737, 737,
1569 740, 740, 740, 740, 740, 740, 741, 741, 741, 741,
1570 741, 741, 741, 741, 740, 742, 742, 742, 742, 742,
1571 742, 742, 742, 743, 743, 743, 743, 743, 743, 743,
1572 743, 0, 0, 0, 0, 0, 0, 0, 740, 744,
1573 744, 744, 744, 744, 744, 744, 744, 745, 745, 745,
1574
1575 745, 745, 745, 745, 745, 746, 746, 746, 746, 746,
1576 746, 746, 746, 747, 747, 747, 747, 747, 747, 747,
1577 747, 748, 748, 748, 748, 748, 748, 748, 748, 749,
1578 749, 749, 749, 749, 749, 749, 749, 750, 750, 750,
1579 750, 750, 750, 750, 750, 751, 751, 751, 751, 751,
1580 751, 751, 751, 752, 752, 752, 752, 752, 752, 752,
1581 752, 753, 753, 753, 753, 753, 753, 753, 753, 756,
1582 756, 756, 756, 756, 756, 0, 0, 0, 0, 0,
1583 762, 756, 762, 762, 762, 762, 762, 762, 768, 768,
1584 768, 768, 768, 768, 768, 768, 771, 771, 771, 771,
1585
1586 771, 771, 0, 0, 0, 756, 773, 773, 773, 773,
1587 773, 773, 775, 775, 775, 775, 775, 775, 0, 0,
1588 0, 0, 771, 0, 0, 777, 777, 777, 777, 777,
1589 777, 0, 0, 773, 0, 0, 0, 775, 777, 779,
1590 779, 779, 779, 779, 779, 771, 0, 0, 779, 781,
1591 781, 781, 781, 781, 781, 0, 773, 0, 0, 0,
1592 775, 0, 777, 783, 783, 783, 783, 783, 783, 781,
1593 0, 0, 779, 785, 785, 785, 785, 785, 785, 0,
1594 783, 0, 0, 0, 0, 785, 787, 787, 787, 787,
1595 787, 787, 781, 791, 787, 791, 791, 791, 791, 791,
1596
1597 791, 0, 0, 0, 783, 0, 0, 0, 792, 785,
1598 792, 792, 792, 792, 792, 792, 804, 804, 804, 804,
1599 804, 804, 804, 804, 805, 805, 805, 805, 805, 805,
1600 805, 805, 806, 806, 806, 806, 806, 806, 806, 806,
1601 807, 807, 807, 807, 807, 807, 807, 807, 808, 0,
1602 808, 809, 809, 0, 0, 809, 809, 809, 809, 810,
1603 810, 811, 811, 811, 812, 0, 0, 0, 812, 812,
1604 812, 813, 0, 0, 0, 813, 813, 813, 815, 0,
1605 0, 815, 815, 815, 815, 815, 816, 0, 0, 816,
1606 816, 816, 816, 816, 817, 0, 0, 817, 817, 817,
1607
1608 817, 817, 803, 803, 803, 803, 803, 803, 803, 803,
1609 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1610 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1611 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1612 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1613 803, 803, 803, 803, 803, 803, 803, 803, 803, 803,
1614 803, 803, 803, 803, 803, 803, 803, 803
1615 } ;
1616
1617 /* The intent behind this definition is that it'll catch
1618 * any uses of REJECT which flex missed.
1619 */
1620 #define REJECT reject_used_but_not_detected
1621 #define yymore() yymore_used_but_not_detected
1622 #define YY_MORE_ADJ 0
1623 #define YY_RESTORE_YY_MORE_OFFSET
1624
1625 #include <string>
1626 #include "parser.h"
1627 #define yyterminate() return(END)
1628
1629 #define INITIAL 0
1630 #define MATCH_STRING_STATE 1
1631 #define MATCH_RESPONSE_CODE_STATE 2
1632 #define SUPPORTED_METHODS_STATE 3
1633 #define CONTENT_TYPE_STATE 4
1634 #define SESSION_STATE 5
1635 #define MATCH_PRESENTATION_URL 6
1636 #define NUM_AS_HEX_MODE 7
1637
1638 #ifndef YY_NO_UNISTD_H
1639 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1640 * down here because we want the user's section 1 to have been scanned first.
1641 * The user has a chance to override it with an option.
1642 */
1643 #include <unistd.h>
1644 #endif
1645
1646 #define YY_EXTRA_TYPE bool
1647
1648 /* Holds the entire state of the reentrant scanner. */
1649 struct yyguts_t
1650 {
1651
1652 /* User-defined. Not touched by flex. */
1653 YY_EXTRA_TYPE yyextra_r;
1654
1655 /* The rest are the same as the globals declared in the non-reentrant scanne r. */
1656 FILE *yyin_r, *yyout_r;
1657 size_t yy_buffer_stack_top; /**< index of top of stack. */
1658 size_t yy_buffer_stack_max; /**< capacity of stack. */
1659 YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1660 char yy_hold_char;
1661 int yy_n_chars;
1662 int yyleng_r;
1663 char *yy_c_buf_p;
1664 int yy_init;
1665 int yy_start;
1666 int yy_did_buffer_switch_on_eof;
1667 int yy_start_stack_ptr;
1668 int yy_start_stack_depth;
1669 int *yy_start_stack;
1670 yy_state_type yy_last_accepting_state;
1671 char* yy_last_accepting_cpos;
1672
1673 int yylineno_r;
1674 int yy_flex_debug_r;
1675
1676 char *yytext_r;
1677 int yy_more_flag;
1678 int yy_more_len;
1679
1680 YYSTYPE * yylval_r;
1681
1682 }; /* end struct yyguts_t */
1683
1684 static int yy_init_globals (yyscan_t yyscanner );
1685
1686 /* This must go here because YYSTYPE and YYLTYPE are included
1687 * from bison output in section 1.*/
1688 # define yylval yyg->yylval_r
1689
1690 int header_lex_init (yyscan_t* scanner);
1691
1692 int header_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
1693
1694 /* Accessor methods to globals.
1695 These are made visible to non-reentrant scanners for convenience. */
1696
1697 int header_lex_destroy (yyscan_t yyscanner );
1698
1699 int header_get_debug (yyscan_t yyscanner );
1700
1701 void header_set_debug (int debug_flag ,yyscan_t yyscanner );
1702
1703 YY_EXTRA_TYPE header_get_extra (yyscan_t yyscanner );
1704
1705 void header_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1706
1707 FILE *header_get_in (yyscan_t yyscanner );
1708
1709 void header_set_in (FILE * in_str ,yyscan_t yyscanner );
1710
1711 FILE *header_get_out (yyscan_t yyscanner );
1712
1713 void header_set_out (FILE * out_str ,yyscan_t yyscanner );
1714
1715 int header_get_leng (yyscan_t yyscanner );
1716
1717 char *header_get_text (yyscan_t yyscanner );
1718
1719 int header_get_lineno (yyscan_t yyscanner );
1720
1721 void header_set_lineno (int line_number ,yyscan_t yyscanner );
1722
1723 YYSTYPE * header_get_lval (yyscan_t yyscanner );
1724
1725 void header_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
1726
1727 /* Macros after this point can all be overridden by user definitions in
1728 * section 1.
1729 */
1730
1731 #ifndef YY_SKIP_YYWRAP
1732 #ifdef __cplusplus
1733 extern "C" int header_wrap (yyscan_t yyscanner );
1734 #else
1735 extern int header_wrap (yyscan_t yyscanner );
1736 #endif
1737 #endif
1738
1739 #ifndef yytext_ptr
1740 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
1741 #endif
1742
1743 #ifdef YY_NEED_STRLEN
1744 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
1745 #endif
1746
1747 #ifndef YY_NO_INPUT
1748
1749 #ifdef __cplusplus
1750 static int yyinput (yyscan_t yyscanner );
1751 #else
1752 static int input (yyscan_t yyscanner );
1753 #endif
1754
1755 #endif
1756
1757 /* Amount of stuff to slurp up with each read. */
1758 #ifndef YY_READ_BUF_SIZE
1759 #ifdef __ia64__
1760 /* On IA-64, the buffer size is 16k, not 8k */
1761 #define YY_READ_BUF_SIZE 16384
1762 #else
1763 #define YY_READ_BUF_SIZE 8192
1764 #endif /* __ia64__ */
1765 #endif
1766
1767 /* Copy whatever the last rule matched to the standard output. */
1768 #ifndef ECHO
1769 /* This used to be an fputs(), but since the string might contain NUL's,
1770 * we now use fwrite().
1771 */
1772 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1773 #endif
1774
1775 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1776 * is returned in "result".
1777 */
1778 #ifndef YY_INPUT
1779 #define YY_INPUT(buf,result,max_size) \
1780 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1781 { \
1782 int c = '*'; \
1783 size_t n; \
1784 for ( n = 0; n < max_size && \
1785 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1786 buf[n] = (char) c; \
1787 if ( c == '\n' ) \
1788 buf[n++] = (char) c; \
1789 if ( c == EOF && ferror( yyin ) ) \
1790 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1791 result = n; \
1792 } \
1793 else \
1794 { \
1795 errno=0; \
1796 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yy in)) \
1797 { \
1798 if( errno != EINTR) \
1799 { \
1800 YY_FATAL_ERROR( "input in flex scanner failed" ) ; \
1801 break; \
1802 } \
1803 errno=0; \
1804 clearerr(yyin); \
1805 } \
1806 }\
1807 \
1808
1809 #endif
1810
1811 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1812 * we don't want an extra ';' after the "return" because that will cause
1813 * some compilers to complain about unreachable statements.
1814 */
1815 #ifndef yyterminate
1816 #define yyterminate() return YY_NULL
1817 #endif
1818
1819 /* Number of entries by which start-condition stack grows. */
1820 #ifndef YY_START_STACK_INCR
1821 #define YY_START_STACK_INCR 25
1822 #endif
1823
1824 /* Report a fatal error. */
1825 #ifndef YY_FATAL_ERROR
1826 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1827 #endif
1828
1829 /* end tables serialization structures and prototypes */
1830
1831 /* Default declaration of generated scanner - a define so the user can
1832 * easily add parameters.
1833 */
1834 #ifndef YY_DECL
1835 #define YY_DECL_IS_OURS 1
1836
1837 extern int header_lex \
1838 (YYSTYPE * yylval_param ,yyscan_t yyscanner);
1839
1840 #define YY_DECL int header_lex \
1841 (YYSTYPE * yylval_param , yyscan_t yyscanner)
1842 #endif /* !YY_DECL */
1843
1844 /* Code executed at the beginning of each rule, after yytext and yyleng
1845 * have been set up.
1846 */
1847 #ifndef YY_USER_ACTION
1848 #define YY_USER_ACTION
1849 #endif
1850
1851 /* Code executed at the end of each rule. */
1852 #ifndef YY_BREAK
1853 #define YY_BREAK break;
1854 #endif
1855
1856 #define YY_RULE_SETUP \
1857 if ( yyleng > 0 ) \
1858 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1859 (yytext[yyleng - 1] == '\n'); \
1860 YY_USER_ACTION
1861
1862 /** The main scanner function which does all the work.
1863 */
1864 YY_DECL
1865 {
1866 register yy_state_type yy_current_state;
1867 register char *yy_cp, *yy_bp;
1868 register int yy_act;
1869 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1870
1871 /* skip these */
1872
1873 yylval = yylval_param;
1874
1875 if ( !yyg->yy_init )
1876 {
1877 yyg->yy_init = 1;
1878
1879 #ifdef YY_USER_INIT
1880 YY_USER_INIT;
1881 #endif
1882
1883 if ( ! yyg->yy_start )
1884 yyg->yy_start = 1; /* first start state */
1885
1886 if ( ! yyin )
1887 yyin = stdin;
1888
1889 if ( ! yyout )
1890 yyout = stdout;
1891
1892 if ( ! YY_CURRENT_BUFFER ) {
1893 header_ensure_buffer_stack (yyscanner);
1894 YY_CURRENT_BUFFER_LVALUE =
1895 header__create_buffer(yyin,YY_BUF_SIZE ,yyscanne r);
1896 }
1897
1898 header__load_buffer_state(yyscanner );
1899 }
1900
1901 while ( 1 ) /* loops until end-of-file is reached */
1902 {
1903 yy_cp = yyg->yy_c_buf_p;
1904
1905 /* Support of yytext. */
1906 *yy_cp = yyg->yy_hold_char;
1907
1908 /* yy_bp points to the position in yy_ch_buf of the start of
1909 * the current run.
1910 */
1911 yy_bp = yy_cp;
1912
1913 yy_current_state = yyg->yy_start;
1914 yy_current_state += YY_AT_BOL();
1915 yy_match:
1916 do
1917 {
1918 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1919 if ( yy_accept[yy_current_state] )
1920 {
1921 yyg->yy_last_accepting_state = yy_current_state;
1922 yyg->yy_last_accepting_cpos = yy_cp;
1923 }
1924 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_c urrent_state )
1925 {
1926 yy_current_state = (int) yy_def[yy_current_state ];
1927 if ( yy_current_state >= 804 )
1928 yy_c = yy_meta[(unsigned int) yy_c];
1929 }
1930 yy_current_state = yy_nxt[yy_base[yy_current_state] + (u nsigned int) yy_c];
1931 ++yy_cp;
1932 }
1933 while ( yy_current_state != 803 );
1934 yy_cp = yyg->yy_last_accepting_cpos;
1935 yy_current_state = yyg->yy_last_accepting_state;
1936
1937 yy_find_action:
1938 yy_act = yy_accept[yy_current_state];
1939
1940 YY_DO_BEFORE_ACTION;
1941
1942 do_action: /* This label is used only to access EOF actions. */
1943
1944 switch ( yy_act )
1945 { /* beginning of action switch */
1946 case 0: /* must back up */
1947 /* undo the effects of YY_DO_BEFORE_ACTION */
1948 *yy_cp = yyg->yy_hold_char;
1949 yy_cp = yyg->yy_last_accepting_cpos;
1950 yy_current_state = yyg->yy_last_accepting_state;
1951 goto yy_find_action;
1952
1953 case 1:
1954 YY_RULE_SETUP
1955 { BEGIN(INITIAL); }
1956 YY_BREAK
1957 case 2:
1958 /* rule 2 can match eol */
1959 YY_RULE_SETUP
1960 { BEGIN(INITIAL); }
1961 YY_BREAK
1962 /* Convert these */
1963 case 3:
1964 YY_RULE_SETUP
1965 { return '='; }
1966 YY_BREAK
1967 case 4:
1968 YY_RULE_SETUP
1969 { return '-'; }
1970 YY_BREAK
1971 case 5:
1972 YY_RULE_SETUP
1973 { return ','; }
1974 YY_BREAK
1975 case 6:
1976 YY_RULE_SETUP
1977 { return '*'; }
1978 YY_BREAK
1979 case 7:
1980 YY_RULE_SETUP
1981 { return ';'; }
1982 YY_BREAK
1983 case 8:
1984 YY_RULE_SETUP
1985 { return ':'; }
1986 YY_BREAK
1987 case 9:
1988 YY_RULE_SETUP
1989 { return '/'; }
1990 YY_BREAK
1991 case 10:
1992 YY_RULE_SETUP
1993 return WFD_SP;
1994 YY_BREAK
1995 case 11:
1996 YY_RULE_SETUP
1997 return WFD_TIMEOUT;
1998 YY_BREAK
1999 case 12:
2000 YY_RULE_SETUP
2001 return WFD_SERVER_PORT;
2002 YY_BREAK
2003 case 13:
2004 YY_RULE_SETUP
2005 {
2006 BEGIN(INITIAL);
2007 return WFD_OPTIONS;
2008 }
2009 YY_BREAK
2010 case 14:
2011 YY_RULE_SETUP
2012 {
2013 BEGIN(INITIAL);
2014 return WFD_SET_PARAMETER;
2015 }
2016 YY_BREAK
2017 case 15:
2018 YY_RULE_SETUP
2019 {
2020 BEGIN(INITIAL);
2021 return WFD_GET_PARAMETER;
2022 }
2023 YY_BREAK
2024 case 16:
2025 YY_RULE_SETUP
2026 {
2027 BEGIN(INITIAL);
2028 return WFD_SETUP;
2029 }
2030 YY_BREAK
2031 case 17:
2032 YY_RULE_SETUP
2033 {
2034 BEGIN(INITIAL);
2035 return WFD_PLAY;
2036 }
2037 YY_BREAK
2038 case 18:
2039 YY_RULE_SETUP
2040 {
2041 BEGIN(INITIAL);
2042 return WFD_TEARDOWN;
2043 }
2044 YY_BREAK
2045 case 19:
2046 YY_RULE_SETUP
2047 {
2048 BEGIN(INITIAL);
2049 return WFD_PAUSE;
2050 }
2051 YY_BREAK
2052 /* RTSP response, get reply code, RTSP/1.0 200 OK */
2053 case 20:
2054 YY_RULE_SETUP
2055 {
2056 BEGIN(MATCH_RESPONSE_CODE_STATE);
2057 return WFD_RESPONSE;
2058 }
2059 YY_BREAK
2060 /* CSeq: i */
2061 case 21:
2062 YY_RULE_SETUP
2063 {
2064 BEGIN(INITIAL);
2065 return WFD_CSEQ;
2066 }
2067 YY_BREAK
2068 case 22:
2069 YY_RULE_SETUP
2070 {
2071 BEGIN(SUPPORTED_METHODS_STATE);
2072 return WFD_RESPONSE_METHODS;
2073 }
2074 YY_BREAK
2075 case 23:
2076 YY_RULE_SETUP
2077 {
2078 return WFD_SUPPORT_CHECK;
2079 }
2080 YY_BREAK
2081 case 24:
2082 YY_RULE_SETUP
2083 {
2084 BEGIN(CONTENT_TYPE_STATE);
2085 return WFD_CONTENT_TYPE;
2086 }
2087 YY_BREAK
2088 case 25:
2089 YY_RULE_SETUP
2090 {
2091 BEGIN(INITIAL);
2092 return WFD_CONTENT_LENGTH;
2093 }
2094 YY_BREAK
2095 case 26:
2096 YY_RULE_SETUP
2097 {
2098 BEGIN(SESSION_STATE);
2099 return WFD_SESSION;
2100 }
2101 YY_BREAK
2102 case 27:
2103 YY_RULE_SETUP
2104 {
2105 return WFD_TRANSPORT;
2106 }
2107 YY_BREAK
2108 case 28:
2109 YY_RULE_SETUP
2110 {
2111 BEGIN(MATCH_STRING_STATE);
2112 yylval->sval = new std::string(yytext, yyleng - 1);
2113 return WFD_HEADER;
2114 }
2115 YY_BREAK
2116 case 29:
2117 YY_RULE_SETUP
2118 {
2119 BEGIN(INITIAL);
2120 yylval->sval = new std::string(yytext, yyleng);
2121 return WFD_SESSION_ID;
2122 }
2123 YY_BREAK
2124 case 30:
2125 YY_RULE_SETUP
2126 {
2127 BEGIN(MATCH_STRING_STATE);
2128 yylval->nval = atoi(yytext);
2129 return WFD_RESPONSE_CODE;
2130 }
2131 YY_BREAK
2132 case 31:
2133 /* rule 31 can match eol */
2134 *yy_cp = yyg->yy_hold_char; /* undo effects of setting up yytext */
2135 yyg->yy_c_buf_p = yy_cp -= 2;
2136 YY_DO_BEFORE_ACTION; /* set up yytext again */
2137 YY_RULE_SETUP
2138 {
2139 BEGIN(INITIAL);
2140 yylval->sval = new std::string(yytext);
2141 return WFD_STRING;
2142 }
2143 YY_BREAK
2144 case 32:
2145 YY_RULE_SETUP
2146 {
2147 return WFD_OPTIONS;
2148 }
2149 YY_BREAK
2150 case 33:
2151 YY_RULE_SETUP
2152 {
2153 return WFD_SET_PARAMETER;
2154 }
2155 YY_BREAK
2156 case 34:
2157 YY_RULE_SETUP
2158 {
2159 return WFD_GET_PARAMETER;
2160 }
2161 YY_BREAK
2162 case 35:
2163 YY_RULE_SETUP
2164 {
2165 return WFD_SETUP;
2166 }
2167 YY_BREAK
2168 case 36:
2169 YY_RULE_SETUP
2170 {
2171 return WFD_PLAY;
2172 }
2173 YY_BREAK
2174 case 37:
2175 YY_RULE_SETUP
2176 {
2177 return WFD_TEARDOWN;
2178 }
2179 YY_BREAK
2180 case 38:
2181 YY_RULE_SETUP
2182 {
2183 return WFD_PAUSE;
2184 }
2185 YY_BREAK
2186 case 39:
2187 YY_RULE_SETUP
2188 {
2189 return WFD_TAG;
2190 }
2191 YY_BREAK
2192 case 40:
2193 YY_RULE_SETUP
2194 {
2195 yylval->sval = new std::string(yytext);
2196 return WFD_PRESENTATION_URL_0;
2197 }
2198 YY_BREAK
2199 case 41:
2200 YY_RULE_SETUP
2201 {
2202 yylval->sval = new std::string(yytext);
2203 return WFD_PRESENTATION_URL_1;
2204 }
2205 YY_BREAK
2206 case 42:
2207 YY_RULE_SETUP
2208 {
2209 BEGIN(INITIAL);
2210 yylval->sval = new std::string(yytext);
2211 return WFD_MIME;
2212 }
2213 YY_BREAK
2214 case 43:
2215 YY_RULE_SETUP
2216 {
2217 std::string str(yytext, yyleng);
2218 str += '\0';
2219 yylval->nval = strtoull(str.c_str(), NULL, 10);
2220 if (errno == ERANGE) {
2221 // todo: handle error
2222 }
2223 return WFD_NUM;
2224 }
2225 YY_BREAK
2226 /* RTSP request rule, e.g., OPTIONS * RTSP/1.0 */
2227 case 44:
2228 YY_RULE_SETUP
2229 {
2230 return WFD_END;
2231 }
2232 YY_BREAK
2233 /* GET_PARAMETER rtsp://localhost/wfd1.0 RTSP/1.0 */
2234 case 45:
2235 YY_RULE_SETUP
2236 {
2237 yylval->sval = new std::string(yytext);
2238 return WFD_REQUEST_URI;
2239 }
2240 YY_BREAK
2241 /* all unmatched */
2242 case 46:
2243 YY_RULE_SETUP
2244 {}
2245 YY_BREAK
2246 case 47:
2247 YY_RULE_SETUP
2248 YY_FATAL_ERROR( "flex scanner jammed" );
2249 YY_BREAK
2250 case YY_STATE_EOF(INITIAL):
2251 case YY_STATE_EOF(MATCH_STRING_STATE):
2252 case YY_STATE_EOF(MATCH_RESPONSE_CODE_STATE):
2253 case YY_STATE_EOF(SUPPORTED_METHODS_STATE):
2254 case YY_STATE_EOF(CONTENT_TYPE_STATE):
2255 case YY_STATE_EOF(SESSION_STATE):
2256 case YY_STATE_EOF(MATCH_PRESENTATION_URL):
2257 case YY_STATE_EOF(NUM_AS_HEX_MODE):
2258 yyterminate();
2259
2260 case YY_END_OF_BUFFER:
2261 {
2262 /* Amount of text matched not including the EOB char. */
2263 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2264
2265 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2266 *yy_cp = yyg->yy_hold_char;
2267 YY_RESTORE_YY_MORE_OFFSET
2268
2269 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2270 {
2271 /* We're scanning a new file or input source. It's
2272 * possible that this happened because the user
2273 * just pointed yyin at a new source and called
2274 * header_lex(). If so, then we have to assure
2275 * consistency between YY_CURRENT_BUFFER and our
2276 * globals. Here is the right place to do so, because
2277 * this is the first action (other than possibly a
2278 * back-up) that will match for the new input source.
2279 */
2280 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2281 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2282 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_N ORMAL;
2283 }
2284
2285 /* Note that here we test for yy_c_buf_p "<=" to the position
2286 * of the first EOB in the buffer, since yy_c_buf_p will
2287 * already have been incremented past the NUL character
2288 * (since all states make transitions on EOB to the
2289 * end-of-buffer state). Contrast this with the test
2290 * in input().
2291 */
2292 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg ->yy_n_chars] )
2293 { /* This was really a NUL. */
2294 yy_state_type yy_next_state;
2295
2296 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched _text;
2297
2298 yy_current_state = yy_get_previous_state( yyscanner );
2299
2300 /* Okay, we're now positioned to make the NUL
2301 * transition. We couldn't have
2302 * yy_get_previous_state() go ahead and do it
2303 * for us because it doesn't know how to deal
2304 * with the possibility of jamming (and we don't
2305 * want to build jamming into it because then it
2306 * will run more slowly).
2307 */
2308
2309 yy_next_state = yy_try_NUL_trans( yy_current_state , yys canner);
2310
2311 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2312
2313 if ( yy_next_state )
2314 {
2315 /* Consume the NUL. */
2316 yy_cp = ++yyg->yy_c_buf_p;
2317 yy_current_state = yy_next_state;
2318 goto yy_match;
2319 }
2320
2321 else
2322 {
2323 yy_cp = yyg->yy_last_accepting_cpos;
2324 yy_current_state = yyg->yy_last_accepting_state;
2325 goto yy_find_action;
2326 }
2327 }
2328
2329 else switch ( yy_get_next_buffer( yyscanner ) )
2330 {
2331 case EOB_ACT_END_OF_FILE:
2332 {
2333 yyg->yy_did_buffer_switch_on_eof = 0;
2334
2335 if ( header_wrap(yyscanner ) )
2336 {
2337 /* Note: because we've taken care in
2338 * yy_get_next_buffer() to have set up
2339 * yytext, we can now set up
2340 * yy_c_buf_p so that if some total
2341 * hoser (like flex itself) wants to
2342 * call the scanner after we return the
2343 * YY_NULL, it'll still work - another
2344 * YY_NULL will get returned.
2345 */
2346 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_M ORE_ADJ;
2347
2348 yy_act = YY_STATE_EOF(YY_START);
2349 goto do_action;
2350 }
2351
2352 else
2353 {
2354 if ( ! yyg->yy_did_buffer_switch_on_eof )
2355 YY_NEW_FILE;
2356 }
2357 break;
2358 }
2359
2360 case EOB_ACT_CONTINUE_SCAN:
2361 yyg->yy_c_buf_p =
2362 yyg->yytext_ptr + yy_amount_of_matched_t ext;
2363
2364 yy_current_state = yy_get_previous_state( yyscan ner );
2365
2366 yy_cp = yyg->yy_c_buf_p;
2367 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2368 goto yy_match;
2369
2370 case EOB_ACT_LAST_MATCH:
2371 yyg->yy_c_buf_p =
2372 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_c hars];
2373
2374 yy_current_state = yy_get_previous_state( yyscan ner );
2375
2376 yy_cp = yyg->yy_c_buf_p;
2377 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2378 goto yy_find_action;
2379 }
2380 break;
2381 }
2382
2383 default:
2384 YY_FATAL_ERROR(
2385 "fatal flex scanner internal error--no action found" );
2386 } /* end of action switch */
2387 } /* end of scanning one token */
2388 } /* end of header_lex */
2389
2390 /* yy_get_next_buffer - try to read in a new buffer
2391 *
2392 * Returns a code representing an action:
2393 * EOB_ACT_LAST_MATCH -
2394 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2395 * EOB_ACT_END_OF_FILE - end of file
2396 */
2397 static int yy_get_next_buffer (yyscan_t yyscanner)
2398 {
2399 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2400 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2401 register char *source = yyg->yytext_ptr;
2402 register int number_to_move, i;
2403 int ret_val;
2404
2405 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_ch ars + 1] )
2406 YY_FATAL_ERROR(
2407 "fatal flex scanner internal error--end of buffer missed" );
2408
2409 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2410 { /* Don't try to fill the buffer, so this is an EOF. */
2411 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2412 {
2413 /* We matched a single character, the EOB, so
2414 * treat this as a final EOF.
2415 */
2416 return EOB_ACT_END_OF_FILE;
2417 }
2418
2419 else
2420 {
2421 /* We matched some text prior to the EOB, first
2422 * process it.
2423 */
2424 return EOB_ACT_LAST_MATCH;
2425 }
2426 }
2427
2428 /* Try to read more data. */
2429
2430 /* First move last chars to start of buffer. */
2431 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
2432
2433 for ( i = 0; i < number_to_move; ++i )
2434 *(dest++) = *(source++);
2435
2436 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2437 /* don't do the read, it's not guaranteed to return an EOF,
2438 * just force an EOF
2439 */
2440 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2441
2442 else
2443 {
2444 int num_to_read =
2445 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2446
2447 while ( num_to_read <= 0 )
2448 { /* Not enough room in the buffer - grow it. */
2449
2450 /* just a shorter name for the current buffer */
2451 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2452
2453 int yy_c_buf_p_offset =
2454 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2455
2456 if ( b->yy_is_our_buffer )
2457 {
2458 int new_size = b->yy_buf_size * 2;
2459
2460 if ( new_size <= 0 )
2461 b->yy_buf_size += b->yy_buf_size / 8;
2462 else
2463 b->yy_buf_size *= 2;
2464
2465 b->yy_ch_buf = (char *)
2466 /* Include room in for 2 EOB chars. */
2467 header_realloc((void *) b->yy_ch_buf,b-> yy_buf_size + 2 ,yyscanner );
2468 }
2469 else
2470 /* Can't grow it, we don't own it. */
2471 b->yy_ch_buf = 0;
2472
2473 if ( ! b->yy_ch_buf )
2474 YY_FATAL_ERROR(
2475 "fatal error - scanner input buffer overflow" );
2476
2477 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2478
2479 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2480 number_to_move - 1;
2481
2482 }
2483
2484 if ( num_to_read > YY_READ_BUF_SIZE )
2485 num_to_read = YY_READ_BUF_SIZE;
2486
2487 /* Read in more data. */
2488 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]) ,
2489 yyg->yy_n_chars, (size_t) num_to_read );
2490
2491 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2492 }
2493
2494 if ( yyg->yy_n_chars == 0 )
2495 {
2496 if ( number_to_move == YY_MORE_ADJ )
2497 {
2498 ret_val = EOB_ACT_END_OF_FILE;
2499 header_restart(yyin ,yyscanner);
2500 }
2501
2502 else
2503 {
2504 ret_val = EOB_ACT_LAST_MATCH;
2505 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2506 YY_BUFFER_EOF_PENDING;
2507 }
2508 }
2509
2510 else
2511 ret_val = EOB_ACT_CONTINUE_SCAN;
2512
2513 if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_L VALUE->yy_buf_size) {
2514 /* Extend the array by 50%, plus the number we really need. */
2515 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy _n_chars >> 1);
2516 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) header_realloc((v oid *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
2517 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2518 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_bu ffer()" );
2519 }
2520
2521 yyg->yy_n_chars += number_to_move;
2522 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_ CHAR;
2523 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUF FER_CHAR;
2524
2525 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2526
2527 return ret_val;
2528 }
2529
2530 /* yy_get_previous_state - get the state just before the EOB char was reached */
2531
2532 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2533 {
2534 register yy_state_type yy_current_state;
2535 register char *yy_cp;
2536 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2537
2538 yy_current_state = yyg->yy_start;
2539 yy_current_state += YY_AT_BOL();
2540
2541 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++ yy_cp )
2542 {
2543 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1 );
2544 if ( yy_accept[yy_current_state] )
2545 {
2546 yyg->yy_last_accepting_state = yy_current_state;
2547 yyg->yy_last_accepting_cpos = yy_cp;
2548 }
2549 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_s tate )
2550 {
2551 yy_current_state = (int) yy_def[yy_current_state];
2552 if ( yy_current_state >= 804 )
2553 yy_c = yy_meta[(unsigned int) yy_c];
2554 }
2555 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2556 }
2557
2558 return yy_current_state;
2559 }
2560
2561 /* yy_try_NUL_trans - try to make a transition on the NUL character
2562 *
2563 * synopsis
2564 * next_state = yy_try_NUL_trans( current_state );
2565 */
2566 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yys can_t yyscanner)
2567 {
2568 register int yy_is_jam;
2569 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unus ed depending upon options. */
2570 register char *yy_cp = yyg->yy_c_buf_p;
2571
2572 register YY_CHAR yy_c = 1;
2573 if ( yy_accept[yy_current_state] )
2574 {
2575 yyg->yy_last_accepting_state = yy_current_state;
2576 yyg->yy_last_accepting_cpos = yy_cp;
2577 }
2578 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2579 {
2580 yy_current_state = (int) yy_def[yy_current_state];
2581 if ( yy_current_state >= 804 )
2582 yy_c = yy_meta[(unsigned int) yy_c];
2583 }
2584 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_ c];
2585 yy_is_jam = (yy_current_state == 803);
2586
2587 return yy_is_jam ? 0 : yy_current_state;
2588 }
2589
2590 #ifndef YY_NO_INPUT
2591 #ifdef __cplusplus
2592 static int yyinput (yyscan_t yyscanner)
2593 #else
2594 static int input (yyscan_t yyscanner)
2595 #endif
2596
2597 {
2598 int c;
2599 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2600
2601 *yyg->yy_c_buf_p = yyg->yy_hold_char;
2602
2603 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2604 {
2605 /* yy_c_buf_p now points to the character we want to return.
2606 * If this occurs *before* the EOB characters, then it's a
2607 * valid NUL; if not, then we've hit the end of the buffer.
2608 */
2609 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg- >yy_n_chars] )
2610 /* This was really a NUL. */
2611 *yyg->yy_c_buf_p = '\0';
2612
2613 else
2614 { /* need more input */
2615 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
2616 ++yyg->yy_c_buf_p;
2617
2618 switch ( yy_get_next_buffer( yyscanner ) )
2619 {
2620 case EOB_ACT_LAST_MATCH:
2621 /* This happens because yy_g_n_b()
2622 * sees that we've accumulated a
2623 * token and flags that we need to
2624 * try matching the token before
2625 * proceeding. But for input(),
2626 * there's no matching to consider.
2627 * So convert the EOB_ACT_LAST_MATCH
2628 * to EOB_ACT_END_OF_FILE.
2629 */
2630
2631 /* Reset buffer status. */
2632 header_restart(yyin ,yyscanner);
2633
2634 /*FALLTHROUGH*/
2635
2636 case EOB_ACT_END_OF_FILE:
2637 {
2638 if ( header_wrap(yyscanner ) )
2639 return EOF;
2640
2641 if ( ! yyg->yy_did_buffer_switch_on_eof )
2642 YY_NEW_FILE;
2643 #ifdef __cplusplus
2644 return yyinput(yyscanner);
2645 #else
2646 return input(yyscanner);
2647 #endif
2648 }
2649
2650 case EOB_ACT_CONTINUE_SCAN:
2651 yyg->yy_c_buf_p = yyg->yytext_ptr + offs et;
2652 break;
2653 }
2654 }
2655 }
2656
2657 c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
2658 *yyg->yy_c_buf_p = '\0'; /* preserve yytext */
2659 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
2660
2661 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2662
2663 return c;
2664 }
2665 #endif /* ifndef YY_NO_INPUT */
2666
2667 /** Immediately switch to a different input stream.
2668 * @param input_file A readable stream.
2669 * @param yyscanner The scanner object.
2670 * @note This function does not reset the start condition to @c INITIAL .
2671 */
2672 void header_restart (FILE * input_file , yyscan_t yyscanner)
2673 {
2674 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2675
2676 if ( ! YY_CURRENT_BUFFER ){
2677 header_ensure_buffer_stack (yyscanner);
2678 YY_CURRENT_BUFFER_LVALUE =
2679 header__create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2680 }
2681
2682 header__init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
2683 header__load_buffer_state(yyscanner );
2684 }
2685
2686 /** Switch to a different input buffer.
2687 * @param new_buffer The new input buffer.
2688 * @param yyscanner The scanner object.
2689 */
2690 void header__switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yysca nner)
2691 {
2692 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2693
2694 /* TODO. We should be able to replace this entire function body
2695 * with
2696 * header_pop_buffer_state();
2697 * header_push_buffer_state(new_buffer);
2698 */
2699 header_ensure_buffer_stack (yyscanner);
2700 if ( YY_CURRENT_BUFFER == new_buffer )
2701 return;
2702
2703 if ( YY_CURRENT_BUFFER )
2704 {
2705 /* Flush out information for old buffer. */
2706 *yyg->yy_c_buf_p = yyg->yy_hold_char;
2707 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2708 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2709 }
2710
2711 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2712 header__load_buffer_state(yyscanner );
2713
2714 /* We don't actually know whether we did this switch during
2715 * EOF (header_wrap()) processing, but the only time this flag
2716 * is looked at is after header_wrap() is called, so it's safe
2717 * to go ahead and always set it.
2718 */
2719 yyg->yy_did_buffer_switch_on_eof = 1;
2720 }
2721
2722 static void header__load_buffer_state (yyscan_t yyscanner)
2723 {
2724 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2725 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2726 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos ;
2727 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2728 yyg->yy_hold_char = *yyg->yy_c_buf_p;
2729 }
2730
2731 /** Allocate and initialize an input buffer state.
2732 * @param file A readable stream.
2733 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_ SIZE.
2734 * @param yyscanner The scanner object.
2735 * @return the allocated buffer state.
2736 */
2737 YY_BUFFER_STATE header__create_buffer (FILE * file, int size , yyscan_t yy scanner)
2738 {
2739 YY_BUFFER_STATE b;
2740
2741 b = (YY_BUFFER_STATE) header_alloc(sizeof( struct yy_buffer_state ) ,yys canner );
2742 if ( ! b )
2743 YY_FATAL_ERROR( "out of dynamic memory in header__create_buffer( )" );
2744
2745 b->yy_buf_size = size;
2746
2747 /* yy_ch_buf has to be 2 characters longer than the size given because
2748 * we need to put in 2 end-of-buffer characters.
2749 */
2750 b->yy_ch_buf = (char *) header_alloc(b->yy_buf_size + 2 ,yyscanner );
2751 if ( ! b->yy_ch_buf )
2752 YY_FATAL_ERROR( "out of dynamic memory in header__create_buffer( )" );
2753
2754 b->yy_is_our_buffer = 1;
2755
2756 header__init_buffer(b,file ,yyscanner);
2757
2758 return b;
2759 }
2760
2761 /** Destroy the buffer.
2762 * @param b a buffer created with header__create_buffer()
2763 * @param yyscanner The scanner object.
2764 */
2765 void header__delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
2766 {
2767 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2768
2769 if ( ! b )
2770 return;
2771
2772 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2773 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2774
2775 if ( b->yy_is_our_buffer )
2776 header_free((void *) b->yy_ch_buf ,yyscanner );
2777
2778 header_free((void *) b ,yyscanner );
2779 }
2780
2781 /* Initializes or reinitializes a buffer.
2782 * This function is sometimes called more than once on the same buffer,
2783 * such as during a header_restart() or at EOF.
2784 */
2785 static void header__init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
2786
2787 {
2788 int oerrno = errno;
2789 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2790
2791 header__flush_buffer(b ,yyscanner);
2792
2793 b->yy_input_file = file;
2794 b->yy_fill_buffer = 1;
2795
2796 /* If b is the current buffer, then header__init_buffer was _probably_
2797 * called from header_restart() or through yy_get_next_buffer.
2798 * In that case, we don't want to reset the lineno or column.
2799 */
2800 if (b != YY_CURRENT_BUFFER){
2801 b->yy_bs_lineno = 1;
2802 b->yy_bs_column = 0;
2803 }
2804
2805 b->yy_is_interactive = 0;
2806
2807 errno = oerrno;
2808 }
2809
2810 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2811 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2812 * @param yyscanner The scanner object.
2813 */
2814 void header__flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
2815 {
2816 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2817 if ( ! b )
2818 return;
2819
2820 b->yy_n_chars = 0;
2821
2822 /* We always need two end-of-buffer characters. The first causes
2823 * a transition to the end-of-buffer state. The second causes
2824 * a jam in that state.
2825 */
2826 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2827 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2828
2829 b->yy_buf_pos = &b->yy_ch_buf[0];
2830
2831 b->yy_at_bol = 1;
2832 b->yy_buffer_status = YY_BUFFER_NEW;
2833
2834 if ( b == YY_CURRENT_BUFFER )
2835 header__load_buffer_state(yyscanner );
2836 }
2837
2838 /** Pushes the new state onto the stack. The new state becomes
2839 * the current state. This function will allocate the stack
2840 * if necessary.
2841 * @param new_buffer The new state.
2842 * @param yyscanner The scanner object.
2843 */
2844 void header_push_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2845 {
2846 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2847 if (new_buffer == NULL)
2848 return;
2849
2850 header_ensure_buffer_stack(yyscanner);
2851
2852 /* This block is copied from header__switch_to_buffer. */
2853 if ( YY_CURRENT_BUFFER )
2854 {
2855 /* Flush out information for old buffer. */
2856 *yyg->yy_c_buf_p = yyg->yy_hold_char;
2857 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2858 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2859 }
2860
2861 /* Only push if top exists. Otherwise, replace top. */
2862 if (YY_CURRENT_BUFFER)
2863 yyg->yy_buffer_stack_top++;
2864 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2865
2866 /* copied from header__switch_to_buffer. */
2867 header__load_buffer_state(yyscanner );
2868 yyg->yy_did_buffer_switch_on_eof = 1;
2869 }
2870
2871 /** Removes and deletes the top of the stack, if present.
2872 * The next element becomes the new top.
2873 * @param yyscanner The scanner object.
2874 */
2875 void header_pop_buffer_state (yyscan_t yyscanner)
2876 {
2877 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2878 if (!YY_CURRENT_BUFFER)
2879 return;
2880
2881 header__delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
2882 YY_CURRENT_BUFFER_LVALUE = NULL;
2883 if (yyg->yy_buffer_stack_top > 0)
2884 --yyg->yy_buffer_stack_top;
2885
2886 if (YY_CURRENT_BUFFER) {
2887 header__load_buffer_state(yyscanner );
2888 yyg->yy_did_buffer_switch_on_eof = 1;
2889 }
2890 }
2891
2892 /* Allocates the stack if it does not exist.
2893 * Guarantees space for at least one push.
2894 */
2895 static void header_ensure_buffer_stack (yyscan_t yyscanner)
2896 {
2897 int num_to_alloc;
2898 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2899
2900 if (!yyg->yy_buffer_stack) {
2901
2902 /* First allocation is just for 2 elements, since we don't know if this
2903 * scanner will even need a stack. We use 2 instead of 1 to avoi d an
2904 * immediate realloc on the next call.
2905 */
2906 num_to_alloc = 1;
2907 yyg->yy_buffer_stack = (struct yy_buffer_state**)header_alloc
2908 (num_to_alloc * sizeof(struct yy_buffer_state*)
2909 , yyscanner);
2910 if ( ! yyg->yy_buffer_stack )
2911 YY_FATAL_ERROR( "out of dynamic memory in header_ensure_ buffer_stack()" );
2912
2913 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_ buffer_state*));
2914
2915 yyg->yy_buffer_stack_max = num_to_alloc;
2916 yyg->yy_buffer_stack_top = 0;
2917 return;
2918 }
2919
2920 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
2921
2922 /* Increase the buffer to prepare for a possible push. */
2923 int grow_size = 8 /* arbitrary grow size */;
2924
2925 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
2926 yyg->yy_buffer_stack = (struct yy_buffer_state**)header_realloc
2927 (yyg->yy_buffer_ stack,
2928 num_to_alloc * s izeof(struct yy_buffer_state*)
2929 , yyscanner);
2930 if ( ! yyg->yy_buffer_stack )
2931 YY_FATAL_ERROR( "out of dynamic memory in header_ensure_ buffer_stack()" );
2932
2933 /* zero only the new slots.*/
2934 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_ size * sizeof(struct yy_buffer_state*));
2935 yyg->yy_buffer_stack_max = num_to_alloc;
2936 }
2937 }
2938
2939 /** Setup the input buffer state to scan directly from a user-specified characte r buffer.
2940 * @param base the character buffer
2941 * @param size the size in bytes of the character buffer
2942 * @param yyscanner The scanner object.
2943 * @return the newly allocated buffer state object.
2944 */
2945 YY_BUFFER_STATE header__scan_buffer (char * base, yy_size_t size , yyscan_t yy scanner)
2946 {
2947 YY_BUFFER_STATE b;
2948
2949 if ( size < 2 ||
2950 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2951 base[size-1] != YY_END_OF_BUFFER_CHAR )
2952 /* They forgot to leave room for the EOB's. */
2953 return 0;
2954
2955 b = (YY_BUFFER_STATE) header_alloc(sizeof( struct yy_buffer_state ) ,yys canner );
2956 if ( ! b )
2957 YY_FATAL_ERROR( "out of dynamic memory in header__scan_buffer()" );
2958
2959 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2960 b->yy_buf_pos = b->yy_ch_buf = base;
2961 b->yy_is_our_buffer = 0;
2962 b->yy_input_file = 0;
2963 b->yy_n_chars = b->yy_buf_size;
2964 b->yy_is_interactive = 0;
2965 b->yy_at_bol = 1;
2966 b->yy_fill_buffer = 0;
2967 b->yy_buffer_status = YY_BUFFER_NEW;
2968
2969 header__switch_to_buffer(b ,yyscanner );
2970
2971 return b;
2972 }
2973
2974 /** Setup the input buffer state to scan a string. The next call to header_lex() will
2975 * scan from a @e copy of @a str.
2976 * @param yystr a NUL-terminated string to scan
2977 * @param yyscanner The scanner object.
2978 * @return the newly allocated buffer state object.
2979 * @note If you want to scan bytes that may contain NUL values, then use
2980 * header__scan_bytes() instead.
2981 */
2982 YY_BUFFER_STATE header__scan_string (yyconst char * yystr , yyscan_t yyscanner)
2983 {
2984
2985 return header__scan_bytes(yystr,strlen(yystr) ,yyscanner);
2986 }
2987
2988 /** Setup the input buffer state to scan the given bytes. The next call to heade r_lex() will
2989 * scan from a @e copy of @a bytes.
2990 * @param yybytes the byte buffer to scan
2991 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2992 * @param yyscanner The scanner object.
2993 * @return the newly allocated buffer state object.
2994 */
2995 YY_BUFFER_STATE header__scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
2996 {
2997 YY_BUFFER_STATE b;
2998 char *buf;
2999 yy_size_t n;
3000 int i;
3001
3002 /* Get memory for full buffer, including space for trailing EOB's. */
3003 n = _yybytes_len + 2;
3004 buf = (char *) header_alloc(n ,yyscanner );
3005 if ( ! buf )
3006 YY_FATAL_ERROR( "out of dynamic memory in header__scan_bytes()" );
3007
3008 for ( i = 0; i < _yybytes_len; ++i )
3009 buf[i] = yybytes[i];
3010
3011 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3012
3013 b = header__scan_buffer(buf,n ,yyscanner);
3014 if ( ! b )
3015 YY_FATAL_ERROR( "bad buffer in header__scan_bytes()" );
3016
3017 /* It's okay to grow etc. this buffer, and we should throw it
3018 * away when we're done.
3019 */
3020 b->yy_is_our_buffer = 1;
3021
3022 return b;
3023 }
3024
3025 #ifndef YY_EXIT_FAILURE
3026 #define YY_EXIT_FAILURE 2
3027 #endif
3028
3029 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
3030 {
3031 (void) fprintf( stderr, "%s\n", msg );
3032 exit( YY_EXIT_FAILURE );
3033 }
3034
3035 /* Redefine yyless() so it works in section 3 code. */
3036
3037 #undef yyless
3038 #define yyless(n) \
3039 do \
3040 { \
3041 /* Undo effects of setting up yytext. */ \
3042 int yyless_macro_arg = (n); \
3043 YY_LESS_LINENO(yyless_macro_arg);\
3044 yytext[yyleng] = yyg->yy_hold_char; \
3045 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
3046 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
3047 *yyg->yy_c_buf_p = '\0'; \
3048 yyleng = yyless_macro_arg; \
3049 } \
3050 while ( 0 )
3051
3052 /* Accessor methods (get/set functions) to struct members. */
3053
3054 /** Get the user-defined data for this scanner.
3055 * @param yyscanner The scanner object.
3056 */
3057 YY_EXTRA_TYPE header_get_extra (yyscan_t yyscanner)
3058 {
3059 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3060 return yyextra;
3061 }
3062
3063 /** Get the current line number.
3064 * @param yyscanner The scanner object.
3065 */
3066 int header_get_lineno (yyscan_t yyscanner)
3067 {
3068 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3069
3070 if (! YY_CURRENT_BUFFER)
3071 return 0;
3072
3073 return yylineno;
3074 }
3075
3076 /** Get the current column number.
3077 * @param yyscanner The scanner object.
3078 */
3079 int header_get_column (yyscan_t yyscanner)
3080 {
3081 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3082
3083 if (! YY_CURRENT_BUFFER)
3084 return 0;
3085
3086 return yycolumn;
3087 }
3088
3089 /** Get the input stream.
3090 * @param yyscanner The scanner object.
3091 */
3092 FILE *header_get_in (yyscan_t yyscanner)
3093 {
3094 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3095 return yyin;
3096 }
3097
3098 /** Get the output stream.
3099 * @param yyscanner The scanner object.
3100 */
3101 FILE *header_get_out (yyscan_t yyscanner)
3102 {
3103 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3104 return yyout;
3105 }
3106
3107 /** Get the length of the current token.
3108 * @param yyscanner The scanner object.
3109 */
3110 int header_get_leng (yyscan_t yyscanner)
3111 {
3112 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3113 return yyleng;
3114 }
3115
3116 /** Get the current token.
3117 * @param yyscanner The scanner object.
3118 */
3119
3120 char *header_get_text (yyscan_t yyscanner)
3121 {
3122 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3123 return yytext;
3124 }
3125
3126 /** Set the user-defined data. This data is never touched by the scanner.
3127 * @param user_defined The data to be associated with this scanner.
3128 * @param yyscanner The scanner object.
3129 */
3130 void header_set_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
3131 {
3132 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3133 yyextra = user_defined ;
3134 }
3135
3136 /** Set the current line number.
3137 * @param line_number
3138 * @param yyscanner The scanner object.
3139 */
3140 void header_set_lineno (int line_number , yyscan_t yyscanner)
3141 {
3142 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3143
3144 /* lineno is only valid if an input buffer exists. */
3145 if (! YY_CURRENT_BUFFER )
3146 yy_fatal_error( "header_set_lineno called with no buffer" , yyscanner );
3147
3148 yylineno = line_number;
3149 }
3150
3151 /** Set the current column.
3152 * @param line_number
3153 * @param yyscanner The scanner object.
3154 */
3155 void header_set_column (int column_no , yyscan_t yyscanner)
3156 {
3157 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3158
3159 /* column is only valid if an input buffer exists. */
3160 if (! YY_CURRENT_BUFFER )
3161 yy_fatal_error( "header_set_column called with no buffer" , yyscanner );
3162
3163 yycolumn = column_no;
3164 }
3165
3166 /** Set the input stream. This does not discard the current
3167 * input buffer.
3168 * @param in_str A readable stream.
3169 * @param yyscanner The scanner object.
3170 * @see header__switch_to_buffer
3171 */
3172 void header_set_in (FILE * in_str , yyscan_t yyscanner)
3173 {
3174 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3175 yyin = in_str ;
3176 }
3177
3178 void header_set_out (FILE * out_str , yyscan_t yyscanner)
3179 {
3180 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3181 yyout = out_str ;
3182 }
3183
3184 int header_get_debug (yyscan_t yyscanner)
3185 {
3186 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3187 return yy_flex_debug;
3188 }
3189
3190 void header_set_debug (int bdebug , yyscan_t yyscanner)
3191 {
3192 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3193 yy_flex_debug = bdebug ;
3194 }
3195
3196 /* Accessor methods for yylval and yylloc */
3197
3198 YYSTYPE * header_get_lval (yyscan_t yyscanner)
3199 {
3200 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3201 return yylval;
3202 }
3203
3204 void header_set_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
3205 {
3206 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3207 yylval = yylval_param;
3208 }
3209
3210 /* User-visible API */
3211
3212 /* header_lex_init is special because it creates the scanner itself, so it is
3213 * the ONLY reentrant function that doesn't take the scanner as the last argumen t.
3214 * That's why we explicitly handle the declaration, instead of using our macros.
3215 */
3216
3217 int header_lex_init(yyscan_t* ptr_yy_globals)
3218
3219 {
3220 if (ptr_yy_globals == NULL){
3221 errno = EINVAL;
3222 return 1;
3223 }
3224
3225 *ptr_yy_globals = (yyscan_t) header_alloc ( sizeof( struct yyguts_t ), NULL );
3226
3227 if (*ptr_yy_globals == NULL){
3228 errno = ENOMEM;
3229 return 1;
3230 }
3231
3232 /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
3233 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3234
3235 return yy_init_globals ( *ptr_yy_globals );
3236 }
3237
3238 /* header_lex_init_extra has the same functionality as header_lex_init, but foll ows the
3239 * convention of taking the scanner as the last argument. Note however, that
3240 * this is a *pointer* to a scanner, as it will be allocated by this call (and
3241 * is the reason, too, why this function also must handle its own declaration).
3242 * The user defined value in the first argument will be available to header_allo c in
3243 * the yyextra field.
3244 */
3245
3246 int header_lex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
3247
3248 {
3249 struct yyguts_t dummy_yyguts;
3250
3251 header_set_extra (yy_user_defined, &dummy_yyguts);
3252
3253 if (ptr_yy_globals == NULL){
3254 errno = EINVAL;
3255 return 1;
3256 }
3257
3258 *ptr_yy_globals = (yyscan_t) header_alloc ( sizeof( struct yyguts_t ), &dumm y_yyguts );
3259
3260 if (*ptr_yy_globals == NULL){
3261 errno = ENOMEM;
3262 return 1;
3263 }
3264
3265 /* By setting to 0xAA, we expose bugs in
3266 yy_init_globals. Leave at 0x00 for releases. */
3267 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3268
3269 header_set_extra (yy_user_defined, *ptr_yy_globals);
3270
3271 return yy_init_globals ( *ptr_yy_globals );
3272 }
3273
3274 static int yy_init_globals (yyscan_t yyscanner)
3275 {
3276 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3277 /* Initialization is the same as for the non-reentrant scanner.
3278 * This function is called from header_lex_destroy(), so don't allocate here .
3279 */
3280
3281 yyg->yy_buffer_stack = 0;
3282 yyg->yy_buffer_stack_top = 0;
3283 yyg->yy_buffer_stack_max = 0;
3284 yyg->yy_c_buf_p = (char *) 0;
3285 yyg->yy_init = 0;
3286 yyg->yy_start = 0;
3287
3288 yyg->yy_start_stack_ptr = 0;
3289 yyg->yy_start_stack_depth = 0;
3290 yyg->yy_start_stack = NULL;
3291
3292 /* Defined in main.c */
3293 #ifdef YY_STDINIT
3294 yyin = stdin;
3295 yyout = stdout;
3296 #else
3297 yyin = (FILE *) 0;
3298 yyout = (FILE *) 0;
3299 #endif
3300
3301 /* For future reference: Set errno on error, since we are called by
3302 * header_lex_init()
3303 */
3304 return 0;
3305 }
3306
3307 /* header_lex_destroy is for both reentrant and non-reentrant scanners. */
3308 int header_lex_destroy (yyscan_t yyscanner)
3309 {
3310 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3311
3312 /* Pop the buffer stack, destroying each element. */
3313 while(YY_CURRENT_BUFFER){
3314 header__delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
3315 YY_CURRENT_BUFFER_LVALUE = NULL;
3316 header_pop_buffer_state(yyscanner);
3317 }
3318
3319 /* Destroy the stack itself. */
3320 header_free(yyg->yy_buffer_stack ,yyscanner);
3321 yyg->yy_buffer_stack = NULL;
3322
3323 /* Destroy the start condition stack. */
3324 header_free(yyg->yy_start_stack ,yyscanner );
3325 yyg->yy_start_stack = NULL;
3326
3327 /* Reset the globals. This is important in a non-reentrant scanner so the ne xt time
3328 * header_lex() is called, initialization will occur. */
3329 yy_init_globals( yyscanner);
3330
3331 /* Destroy the main struct (reentrant only). */
3332 header_free ( yyscanner , yyscanner );
3333 yyscanner = NULL;
3334 return 0;
3335 }
3336
3337 /*
3338 * Internal utility routines.
3339 */
3340
3341 #ifndef yytext_ptr
3342 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca nner)
3343 {
3344 register int i;
3345 for ( i = 0; i < n; ++i )
3346 s1[i] = s2[i];
3347 }
3348 #endif
3349
3350 #ifdef YY_NEED_STRLEN
3351 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
3352 {
3353 register int n;
3354 for ( n = 0; s[n]; ++n )
3355 ;
3356
3357 return n;
3358 }
3359 #endif
3360
3361 void *header_alloc (yy_size_t size , yyscan_t yyscanner)
3362 {
3363 return (void *) malloc( size );
3364 }
3365
3366 void *header_realloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
3367 {
3368 /* The cast to (char *) in the following accommodates both
3369 * implementations that use char* generic pointers, and those
3370 * that use void* generic pointers. It works with the latter
3371 * because both ANSI C and C++ allow castless assignment from
3372 * any pointer type to void*, and deal with argument conversions
3373 * as though doing an assignment.
3374 */
3375 return (void *) realloc( (char *) ptr, size );
3376 }
3377
3378 void header_free (void * ptr , yyscan_t yyscanner)
3379 {
3380 free( (char *) ptr ); /* see header_realloc() for (char *) cast */
3381 }
3382
3383 #define YYTABLES_NAME "yytables"
3384
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698