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