From 8e6bd3ee6c108eb10dd7307707c1daeb4c7a3e4f Mon Sep 17 00:00:00 2001 From: Razvan Becheriu Date: Thu, 29 Oct 2020 10:51:24 +0200 Subject: [#1405] generated parsers and messages --- src/bin/dhcp4/dhcp4_lexer.cc | 3585 +++++++++++++++++------------------- src/bin/dhcp4/dhcp4_messages.cc | 4 +- src/bin/dhcp4/dhcp4_messages.h | 3 +- src/bin/dhcp4/dhcp4_parser.cc | 3732 ++++++++++++++++++------------------- src/bin/dhcp4/dhcp4_parser.h | 1330 +++++++------- src/bin/dhcp4/location.hh | 3 +- src/bin/dhcp4/position.hh | 3 +- src/bin/dhcp4/stack.hh | 3 +- src/bin/dhcp6/dhcp6_lexer.cc | 3566 +++++++++++++++++------------------- src/bin/dhcp6/dhcp6_messages.cc | 4 +- src/bin/dhcp6/dhcp6_messages.h | 3 +- src/bin/dhcp6/dhcp6_parser.cc | 3868 ++++++++++++++++++++------------------- src/bin/dhcp6/dhcp6_parser.h | 1443 ++++++++------- src/bin/dhcp6/location.hh | 3 +- src/bin/dhcp6/position.hh | 3 +- src/bin/dhcp6/stack.hh | 3 +- 16 files changed, 8668 insertions(+), 8888 deletions(-) diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 02dc3a4b0c..9e53c7ed33 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -1,27 +1,22 @@ -#line 1 "dhcp4_lexer.cc" +#line 2 "dhcp4_lexer.cc" -#line 3 "dhcp4_lexer.cc" +#line 4 "dhcp4_lexer.cc" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ /* %not-for-header */ + /* %if-c-only */ /* %if-not-reentrant */ #define yy_create_buffer parser4__create_buffer #define yy_delete_buffer parser4__delete_buffer -#define yy_scan_buffer parser4__scan_buffer -#define yy_scan_string parser4__scan_string -#define yy_scan_bytes parser4__scan_bytes +#define yy_flex_debug parser4__flex_debug #define yy_init_buffer parser4__init_buffer #define yy_flush_buffer parser4__flush_buffer #define yy_load_buffer_state parser4__load_buffer_state #define yy_switch_to_buffer parser4__switch_to_buffer -#define yypush_buffer_state parser4_push_buffer_state -#define yypop_buffer_state parser4_pop_buffer_state -#define yyensure_buffer_stack parser4_ensure_buffer_stack -#define yy_flex_debug parser4__flex_debug #define yyin parser4_in #define yyleng parser4_leng #define yylex parser4_lex @@ -40,8 +35,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 4 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -50,244 +45,11 @@ /* %endif */ /* %if-c-only */ -#ifdef yy_create_buffer -#define parser4__create_buffer_ALREADY_DEFINED -#else -#define yy_create_buffer parser4__create_buffer -#endif - -#ifdef yy_delete_buffer -#define parser4__delete_buffer_ALREADY_DEFINED -#else -#define yy_delete_buffer parser4__delete_buffer -#endif - -#ifdef yy_scan_buffer -#define parser4__scan_buffer_ALREADY_DEFINED -#else -#define yy_scan_buffer parser4__scan_buffer -#endif - -#ifdef yy_scan_string -#define parser4__scan_string_ALREADY_DEFINED -#else -#define yy_scan_string parser4__scan_string -#endif - -#ifdef yy_scan_bytes -#define parser4__scan_bytes_ALREADY_DEFINED -#else -#define yy_scan_bytes parser4__scan_bytes -#endif - -#ifdef yy_init_buffer -#define parser4__init_buffer_ALREADY_DEFINED -#else -#define yy_init_buffer parser4__init_buffer -#endif - -#ifdef yy_flush_buffer -#define parser4__flush_buffer_ALREADY_DEFINED -#else -#define yy_flush_buffer parser4__flush_buffer -#endif - -#ifdef yy_load_buffer_state -#define parser4__load_buffer_state_ALREADY_DEFINED -#else -#define yy_load_buffer_state parser4__load_buffer_state -#endif - -#ifdef yy_switch_to_buffer -#define parser4__switch_to_buffer_ALREADY_DEFINED -#else -#define yy_switch_to_buffer parser4__switch_to_buffer -#endif - -#ifdef yypush_buffer_state -#define parser4_push_buffer_state_ALREADY_DEFINED -#else -#define yypush_buffer_state parser4_push_buffer_state -#endif - -#ifdef yypop_buffer_state -#define parser4_pop_buffer_state_ALREADY_DEFINED -#else -#define yypop_buffer_state parser4_pop_buffer_state -#endif - -#ifdef yyensure_buffer_stack -#define parser4_ensure_buffer_stack_ALREADY_DEFINED -#else -#define yyensure_buffer_stack parser4_ensure_buffer_stack -#endif - -#ifdef yylex -#define parser4_lex_ALREADY_DEFINED -#else -#define yylex parser4_lex -#endif - -#ifdef yyrestart -#define parser4_restart_ALREADY_DEFINED -#else -#define yyrestart parser4_restart -#endif - -#ifdef yylex_init -#define parser4_lex_init_ALREADY_DEFINED -#else -#define yylex_init parser4_lex_init -#endif - -#ifdef yylex_init_extra -#define parser4_lex_init_extra_ALREADY_DEFINED -#else -#define yylex_init_extra parser4_lex_init_extra -#endif - -#ifdef yylex_destroy -#define parser4_lex_destroy_ALREADY_DEFINED -#else -#define yylex_destroy parser4_lex_destroy -#endif - -#ifdef yyget_debug -#define parser4_get_debug_ALREADY_DEFINED -#else -#define yyget_debug parser4_get_debug -#endif - -#ifdef yyset_debug -#define parser4_set_debug_ALREADY_DEFINED -#else -#define yyset_debug parser4_set_debug -#endif - -#ifdef yyget_extra -#define parser4_get_extra_ALREADY_DEFINED -#else -#define yyget_extra parser4_get_extra -#endif - -#ifdef yyset_extra -#define parser4_set_extra_ALREADY_DEFINED -#else -#define yyset_extra parser4_set_extra -#endif - -#ifdef yyget_in -#define parser4_get_in_ALREADY_DEFINED -#else -#define yyget_in parser4_get_in -#endif - -#ifdef yyset_in -#define parser4_set_in_ALREADY_DEFINED -#else -#define yyset_in parser4_set_in -#endif - -#ifdef yyget_out -#define parser4_get_out_ALREADY_DEFINED -#else -#define yyget_out parser4_get_out -#endif - -#ifdef yyset_out -#define parser4_set_out_ALREADY_DEFINED -#else -#define yyset_out parser4_set_out -#endif - -#ifdef yyget_leng -#define parser4_get_leng_ALREADY_DEFINED -#else -#define yyget_leng parser4_get_leng -#endif - -#ifdef yyget_text -#define parser4_get_text_ALREADY_DEFINED -#else -#define yyget_text parser4_get_text -#endif - -#ifdef yyget_lineno -#define parser4_get_lineno_ALREADY_DEFINED -#else -#define yyget_lineno parser4_get_lineno -#endif - -#ifdef yyset_lineno -#define parser4_set_lineno_ALREADY_DEFINED -#else -#define yyset_lineno parser4_set_lineno -#endif - -#ifdef yywrap -#define parser4_wrap_ALREADY_DEFINED -#else -#define yywrap parser4_wrap -#endif - + /* %endif */ -#ifdef yyalloc -#define parser4_alloc_ALREADY_DEFINED -#else -#define yyalloc parser4_alloc -#endif - -#ifdef yyrealloc -#define parser4_realloc_ALREADY_DEFINED -#else -#define yyrealloc parser4_realloc -#endif - -#ifdef yyfree -#define parser4_free_ALREADY_DEFINED -#else -#define yyfree parser4_free -#endif - /* %if-c-only */ -#ifdef yytext -#define parser4_text_ALREADY_DEFINED -#else -#define yytext parser4_text -#endif - -#ifdef yyleng -#define parser4_leng_ALREADY_DEFINED -#else -#define yyleng parser4_leng -#endif - -#ifdef yyin -#define parser4_in_ALREADY_DEFINED -#else -#define yyin parser4_in -#endif - -#ifdef yyout -#define parser4_out_ALREADY_DEFINED -#else -#define yyout parser4_out -#endif - -#ifdef yy_flex_debug -#define parser4__flex_debug_ALREADY_DEFINED -#else -#define yy_flex_debug parser4__flex_debug -#endif - -#ifdef yylineno -#define parser4_lineno_ALREADY_DEFINED -#else -#define yylineno parser4_lineno -#endif - /* %endif */ /* First, we deal with platform-specific or compiler-specific issues. */ @@ -328,6 +90,7 @@ typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; @@ -335,6 +98,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -365,39 +129,48 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#ifndef SIZE_MAX -#define SIZE_MAX (~(size_t)0) -#endif - -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ /* %endif */ -/* begin standard C++ headers. */ /* %if-c++-only */ /* %endif */ -/* TODO: this is always defined, so inline it */ -#define yyconst const +#ifdef __cplusplus -#if defined(__GNUC__) && __GNUC__ >= 3 -#define yynoreturn __attribute__((__noreturn__)) +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const #else -#define yynoreturn +#define yyconst #endif /* %not-for-header */ + /* Returned upon end-of-file. */ #define YY_NULL 0 /* %ok-for-header */ /* %not-for-header */ -/* Promotes a possibly negative, possibly signed char to an - * integer in range [0..255] for use as an array index. + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. */ -#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* %ok-for-header */ /* %if-reentrant */ @@ -412,29 +185,25 @@ typedef unsigned int flex_uint32_t; * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * + /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START + /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) +#define YY_NEW_FILE parser4_restart(parser4_in ) + #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -452,35 +221,35 @@ typedef size_t yy_size_t; #endif /* %if-not-reentrant */ -extern int yyleng; +extern yy_size_t parser4_leng; /* %endif */ /* %if-c-only */ /* %if-not-reentrant */ -extern FILE *yyin, *yyout; +extern FILE *parser4_in, *parser4_out; /* %endif */ /* %endif */ #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - + #define YY_LESS_LINENO(n) - #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ - /* Undo effects of setting up yytext. */ \ + /* Undo effects of setting up parser4_text. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + YY_DO_BEFORE_ACTION; /* set up parser4_text again */ \ } \ while ( 0 ) + #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -500,12 +269,12 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - int yy_buf_size; + yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -528,7 +297,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -545,8 +314,8 @@ struct yy_buffer_state * possible backing-up. * * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. + * (via parser4_restart()), so that the user can continue scanning by + * just pointing parser4_in at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 @@ -555,12 +324,13 @@ struct yy_buffer_state /* %if-c-only Standard (non-C++) definition */ /* %not-for-header */ + /* %if-not-reentrant */ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* %endif */ /* %ok-for-header */ @@ -575,6 +345,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) + /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ @@ -584,115 +355,118 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* %if-not-reentrant */ /* %not-for-header */ -/* yy_hold_char holds the character lost when yytext is formed. */ + +/* yy_hold_char holds the character lost when parser4_text is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int yyleng; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t parser4_leng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = NULL; +static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... +/* Flag which is used to allow parser4_wrap()'s to do buffer switches + * instead of setting up a fresh parser4_in. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; /* %ok-for-header */ /* %endif */ -void yyrestart ( FILE *input_file ); -void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); -void yy_delete_buffer ( YY_BUFFER_STATE b ); -void yy_flush_buffer ( YY_BUFFER_STATE b ); -void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); -void yypop_buffer_state ( void ); +void parser4_restart (FILE *input_file ); +void parser4__switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE parser4__create_buffer (FILE *file,int size ); +void parser4__delete_buffer (YY_BUFFER_STATE b ); +void parser4__flush_buffer (YY_BUFFER_STATE b ); +void parser4_push_buffer_state (YY_BUFFER_STATE new_buffer ); +void parser4_pop_buffer_state (void ); -static void yyensure_buffer_stack ( void ); -static void yy_load_buffer_state ( void ); -static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); -#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) +static void parser4_ensure_buffer_stack (void ); +static void parser4__load_buffer_state (void ); +static void parser4__init_buffer (YY_BUFFER_STATE b,FILE *file ); -YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); -YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); +#define YY_FLUSH_BUFFER parser4__flush_buffer(YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE parser4__scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE parser4__scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE parser4__scan_bytes (yyconst char *bytes,yy_size_t len ); /* %endif */ -void *yyalloc ( yy_size_t ); -void *yyrealloc ( void *, yy_size_t ); -void yyfree ( void * ); +void *parser4_alloc (yy_size_t ); +void *parser4_realloc (void *,yy_size_t ); +void parser4_free (void * ); + +#define yy_new_buffer parser4__create_buffer -#define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ - yyensure_buffer_stack (); \ + parser4_ensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ + parser4__create_buffer(parser4_in,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } + #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ - yyensure_buffer_stack (); \ + parser4_ensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ + parser4__create_buffer(parser4_in,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } + #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) -/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */ +/* %% [1.0] parser4_text/parser4_in/parser4_out/yy_state_type/parser4_lineno etc. def's & init go here */ /* Begin user sect3 */ -#define parser4_wrap() (/*CONSTCOND*/1) +#define parser4_wrap(n) 1 #define YY_SKIP_YYWRAP #define FLEX_DEBUG -typedef flex_uint8_t YY_CHAR; -FILE *yyin = NULL, *yyout = NULL; +typedef unsigned char YY_CHAR; + +FILE *parser4_in = (FILE *) 0, *parser4_out = (FILE *) 0; typedef int yy_state_type; -extern int yylineno; -int yylineno = 1; +extern int parser4_lineno; -extern char *yytext; -#ifdef yytext_ptr -#undef yytext_ptr -#endif -#define yytext_ptr yytext +int parser4_lineno = 1; -/* %% [1.5] DFA */ +extern char *parser4_text; +#define yytext_ptr parser4_text /* %if-c-only Standard (non-C++) definition */ -static yy_state_type yy_get_previous_state ( void ); -static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); -static int yy_get_next_buffer ( void ); -static void yynoreturn yy_fatal_error ( const char* msg ); +static yy_state_type yy_get_previous_state (void ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +static int yy_get_next_buffer (void ); +static void yy_fatal_error (yyconst char msg[] ); /* %endif */ /* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. + * corresponding action - sets up parser4_text. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ -/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\ - yyleng = (int) (yy_cp - yy_bp); \ +/* %% [2.0] code to fiddle parser4_text and parser4_leng for yymore() goes here \ */\ + parser4_leng = (yy_size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ -/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ +/* %% [3.0] code to copy yytext_ptr to parser4_text[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; + /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 204 -#define YY_END_OF_BUFFER 205 +#define YY_NUM_RULES 206 +#define YY_END_OF_BUFFER 207 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +474,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1898] = +static yyconst flex_int16_t yy_accept[1918] = { 0, - 197, 197, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 203, 10, 11, 203, 1, 197, 194, 197, 197, - 203, 196, 195, 203, 203, 203, 203, 203, 190, 191, - 203, 203, 203, 192, 193, 5, 5, 5, 203, 203, - 203, 10, 11, 0, 0, 186, 0, 0, 0, 0, + 199, 199, 0, 0, 0, 0, 0, 0, 0, 0, + 207, 205, 10, 11, 205, 1, 199, 196, 199, 199, + 205, 198, 197, 205, 205, 205, 205, 205, 192, 193, + 205, 205, 205, 194, 195, 5, 5, 5, 205, 205, + 205, 10, 11, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 197, 197, - 0, 196, 197, 3, 2, 6, 0, 197, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 9, 0, 187, + 0, 0, 0, 0, 0, 0, 0, 1, 199, 199, + 0, 198, 199, 3, 2, 6, 0, 199, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 9, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -724,10 +498,10 @@ static const flex_int16_t yy_accept[1898] = 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, + 0, 0, 189, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -735,185 +509,187 @@ static const flex_int16_t yy_accept[1898] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 202, 200, 0, 199, 198, 0, 0, - 0, 0, 0, 0, 0, 0, 168, 0, 167, 0, - 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, + 0, 0, 0, 204, 202, 0, 201, 200, 0, 0, + 0, 0, 0, 0, 0, 169, 0, 168, 0, 0, + 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, + 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 201, 198, - 0, 0, 0, 0, 0, 0, 0, 169, 0, 171, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 0, 0, 0, 0, 0, 75, - 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 0, 0, 0, 203, 200, 0, + 0, 0, 0, 0, 0, 170, 0, 172, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, + 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 78, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, - 0, 31, 0, 0, 36, 0, 0, 0, 0, 0, - 0, 0, 12, 173, 172, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 113, 0, 31, + 0, 0, 36, 0, 0, 0, 0, 0, 0, 12, + 174, 173, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, - 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 0, 174, 0, 0, 0, 0, 0, + 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, + 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, + 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 131, 100, 0, - 0, 0, 0, 0, 0, 105, 32, 0, 0, 0, + 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 132, 101, 0, 0, + 0, 0, 0, 0, 106, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 107, 40, 0, 0, 0, 0, 0, 0, 0, + 108, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, + 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, + 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, + 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, + 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, + 0, 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 118, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 0, 0, + 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, + 119, 0, 0, 0, 0, 0, 0, 0, 0, 123, + 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 116, 22, 0, 127, 0, 0, 0, + 0, 0, 0, 0, 0, 117, 22, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 130, 34, 0, 149, 0, 0, 0, 0, + 0, 0, 161, 0, 0, 0, 0, 73, 0, 0, + 0, 0, 0, 0, 131, 34, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 59, 0, 0, 0, 0, 0, 96, 97, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, + 0, 0, 0, 59, 0, 0, 0, 0, 0, 97, + 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 182, 0, 73, 90, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, - 0, 0, 0, 157, 0, 0, 155, 0, 146, 145, - 0, 0, 0, 49, 0, 0, 21, 0, 0, 0, - 0, 170, 0, 0, 0, 0, 0, 111, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 139, 0, 0, 148, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, - 15, 0, 41, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, - 57, 0, 0, 123, 0, 0, 0, 0, 114, 0, + 0, 0, 0, 0, 183, 0, 74, 91, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, 158, 0, 0, 156, + 0, 147, 146, 0, 0, 0, 49, 0, 0, 21, + 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, + 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, + 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 129, 0, 15, 0, 41, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, + 0, 0, 0, 0, 57, 0, 0, 124, 0, 0, + 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 0, 177, 0, 0, 182, + 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 0, 176, 0, 0, 181, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, - - 0, 0, 48, 0, 0, 0, 0, 0, 184, 0, - 0, 109, 27, 0, 0, 0, 50, 144, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, - 152, 0, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 0, 24, 0, 158, 0, 0, 0, 52, - 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, - 98, 0, 0, 0, 42, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 129, 0, 0, 0, 26, 0, 0, 180, 0, 0, - 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 47, 0, 0, 0, 0, 0, 20, - 0, 183, 71, 0, 0, 0, 0, 177, 175, 0, - 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 164, 0, 0, 0, 0, - 0, 0, 0, 137, 0, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, - 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 165, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 153, 0, 0, 0, 0, 0, + 0, 14, 0, 0, 0, 0, 0, 48, 0, 0, + 0, 0, 0, 185, 0, 0, 110, 27, 0, 0, + 0, 50, 145, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 180, 0, 153, 0, 0, 0, + 0, 0, 0, 0, 0, 25, 0, 0, 0, 24, + 0, 159, 0, 0, 0, 52, 0, 0, 0, 0, + 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, - 0, 0, 0, 136, 0, 55, 54, 19, 0, 161, + 0, 0, 0, 53, 0, 0, 99, 0, 0, 0, + 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 130, 0, 0, + 0, 26, 0, 0, 181, 0, 0, 0, 0, 0, + 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 47, 0, 0, 0, 0, 0, 20, 0, 184, 72, + 0, 0, 0, 0, 178, 176, 0, 28, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 138, 0, 0, 0, 114, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, + 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, + + 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 166, 13, 0, 0, 0, 0, 0, 0, + 0, 0, 144, 154, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, + 0, 0, 0, 137, 0, 55, 54, 19, 0, 162, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, - 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 135, 0, 0, 0, 51, 0, 0, - 46, 163, 0, 86, 0, 0, 0, 70, 0, 0, - 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, + 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 0, 0, 0, 51, 0, + 0, 46, 164, 0, 87, 0, 0, 0, 71, 0, + 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 0, 0, 67, 0, 0, 141, 0, 0, 0, - 0, 185, 162, 0, 110, 85, 0, 0, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 133, 0, 0, - 138, 0, 65, 58, 0, 0, 0, 0, 84, 0, - 0, 132, 0, 0, 166, 0, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, 0, 0, 94, 61, - 0, 0, 0, 0, 60, 134, 0 - + 0, 0, 0, 29, 0, 0, 67, 0, 0, 0, + 142, 0, 0, 0, 0, 186, 163, 0, 111, 86, + 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, + 0, 0, 134, 0, 0, 139, 0, 65, 0, 58, + 0, 0, 0, 0, 85, 0, 0, 0, 133, 0, + 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, + + 64, 0, 0, 0, 0, 0, 69, 0, 95, 61, + 0, 0, 0, 0, 60, 135, 0 } ; -static const YY_CHAR yy_ec[256] = +static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, @@ -945,260 +721,262 @@ static const YY_CHAR yy_ec[256] = 5, 5, 5, 5, 5 } ; -static const YY_CHAR yy_meta[74] = +static yyconst flex_int32_t yy_meta[74] = { 0, - 1, 1, 2, 3, 3, 4, 3, 3, 3, 3, - 3, 3, 3, 5, 5, 5, 5, 5, 3, 3, - 3, 3, 5, 5, 5, 5, 5, 5, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, - 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3 + 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1 } ; -static const flex_int16_t yy_base[1910] = +static yyconst flex_int16_t yy_base[1926] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2298, 2299, 34, 2294, 145, 0, 207, 2299, 214, 221, - 13, 228, 2299, 2274, 118, 25, 2, 6, 2299, 2299, - 73, 11, 17, 2299, 2299, 2299, 104, 2282, 2235, 0, - 2272, 108, 2289, 24, 262, 2299, 2231, 67, 2237, 84, - 75, 88, 224, 91, 89, 290, 220, 2229, 206, 285, - 206, 204, 212, 60, 232, 2238, 247, 294, 315, 307, - 286, 2221, 230, 325, 354, 328, 2240, 0, 366, 382, - 397, 411, 404, 2299, 0, 2299, 419, 425, 216, 225, - 229, 227, 319, 329, 2299, 2237, 2278, 2299, 300, 2299, - - 438, 2265, 390, 2234, 331, 10, 406, 311, 408, 414, - 420, 2275, 0, 491, 409, 2217, 2214, 2218, 402, 2214, - 2222, 406, 2218, 2207, 2208, 2213, 78, 2223, 2206, 2215, - 2215, 95, 2206, 239, 2207, 2205, 396, 2253, 2257, 2197, - 2250, 2190, 2213, 2210, 2210, 2204, 336, 2197, 2195, 2196, - 2188, 2193, 2187, 413, 2198, 2191, 2182, 2181, 2195, 423, - 2181, 430, 422, 2175, 465, 420, 432, 2196, 2193, 2194, - 423, 2192, 2227, 2226, 423, 2172, 2172, 2173, 462, 2165, - 2182, 2174, 0, 456, 471, 471, 489, 479, 504, 2173, - 2299, 0, 2218, 509, 2167, 494, 501, 507, 2221, 516, - - 2220, 503, 2219, 2299, 553, 2218, 526, 2177, 2169, 2156, - 2167, 2171, 2172, 2169, 2166, 2165, 2156, 500, 2207, 2201, - 2165, 2146, 2143, 2151, 2146, 2160, 2156, 2144, 2156, 2156, - 2147, 2131, 2135, 2148, 2150, 2147, 2139, 2129, 2147, 2299, - 2142, 498, 2127, 2126, 2178, 2125, 2135, 2138, 541, 2134, - 2173, 2118, 2120, 2131, 2169, 2114, 2172, 2107, 2122, 535, - 2112, 2118, 2127, 2108, 2106, 2106, 2112, 2103, 2102, 2109, - 2099, 2158, 2114, 2113, 2107, 488, 2114, 2109, 2101, 2091, - 2106, 2105, 2100, 2104, 166, 2102, 2088, 2094, 2101, 2083, - 2084, 2087, 2084, 2083, 341, 2078, 2092, 2091, 2134, 2093, - - 399, 2084, 523, 2299, 2299, 536, 2299, 2299, 2071, 0, - 520, 515, 2119, 548, 2129, 548, 2299, 2128, 2299, 2122, - 598, 2299, 547, 2062, 2071, 2119, 2079, 2062, 2079, 2060, - 2066, 2118, 2073, 2068, 2071, 2066, 543, 2299, 2068, 2112, - 2106, 2064, 2061, 576, 2067, 2107, 2101, 2054, 2049, 2046, - 2097, 2054, 2043, 2059, 2093, 2039, 621, 2053, 2038, 2051, - 2049, 2037, 2047, 2042, 2049, 2044, 2040, 528, 2038, 2041, - 2036, 2022, 2034, 2030, 2080, 546, 2074, 2299, 2073, 2023, - 2022, 2021, 2014, 2016, 2028, 2019, 2008, 2025, 2020, 586, - 2067, 2020, 2017, 2020, 2299, 2019, 2008, 2008, 2020, 570, - - 1995, 1996, 2017, 580, 1999, 2050, 1995, 2009, 2012, 2007, - 1993, 2005, 2004, 2003, 1998, 2001, 2000, 1999, 1998, 572, - 2041, 2000, 2039, 2299, 1981, 1980, 629, 1993, 2299, 2299, - 1992, 0, 1981, 1973, 573, 2032, 2031, 2299, 2030, 2299, - 604, 672, 603, 2029, 1971, 1982, 2021, 1974, 1976, 1975, - 1963, 2299, 1968, 1974, 1977, 1960, 1975, 1962, 1961, 2299, - 591, 1963, 1960, 607, 1958, 1960, 2299, 1968, 1965, 1950, - 1963, 1958, 653, 1965, 1953, 1946, 1997, 2299, 1944, 1960, - 1994, 1955, 1952, 1953, 1937, 1954, 1988, 1939, 1934, 1933, - 1984, 1928, 560, 1947, 1921, 1928, 1933, 1943, 1977, 1981, - - 2299, 1926, 1922, 1920, 1929, 1923, 1930, 1914, 1914, 1924, - 1912, 1926, 1915, 1911, 1909, 2299, 1966, 2299, 1908, 1919, - 1958, 1903, 1908, 1917, 1911, 1905, 1914, 1956, 1950, 1912, - 1895, 1895, 1890, 1910, 1885, 1891, 1896, 1889, 1897, 1901, - 1884, 1942, 1883, 1935, 1880, 1881, 1880, 1892, 1881, 2299, - 1891, 2299, 1880, 1878, 2299, 1889, 1925, 1885, 0, 1869, - 1886, 1926, 2299, 2299, 2299, 608, 607, 655, 2299, 1877, - 1876, 614, 1883, 1863, 1862, 1915, 1860, 1913, 1858, 1857, - 1856, 1863, 1856, 1868, 1850, 1850, 1865, 1864, 1852, 1862, - 1861, 1861, 1843, 1848, 1889, 1856, 1848, 1893, 1837, 1853, - - 1852, 2299, 1837, 1834, 1892, 1847, 1839, 1845, 1836, 1844, - 1829, 1845, 1827, 1839, 1840, 570, 1822, 1816, 1821, 1836, - 1833, 1834, 1813, 1823, 1829, 1872, 1827, 1819, 1810, 2299, - 1811, 1813, 1822, 1820, 1859, 1858, 1809, 16, 1818, 1855, - 1800, 1801, 1804, 1797, 2299, 1811, 1790, 1794, 1808, 1800, - 1845, 1797, 1804, 1842, 2299, 1787, 1801, 1785, 1799, 1802, - 1783, 1835, 1834, 1833, 1832, 1777, 1830, 1829, 2299, 1774, - 1788, 656, 1789, 1788, 1785, 1785, 1822, 1782, 1765, 1770, - 1772, 2299, 1778, 1768, 2299, 637, 625, 1762, 1760, 1767, - 1777, 1769, 1756, 1750, 1808, 628, 1812, 643, 1806, 1766, - - 1804, 1803, 1755, 1753, 1761, 1764, 1748, 1749, 1758, 1739, - 1794, 1745, 1753, 1754, 1790, 1751, 199, 643, 217, 293, - 351, 309, 353, 2299, 419, 446, 483, 544, 612, 610, - 629, 628, 618, 633, 631, 647, 653, 698, 700, 650, - 642, 653, 700, 658, 708, 2299, 709, 662, 664, 666, - 660, 663, 716, 679, 668, 681, 2299, 671, 682, 671, - 684, 686, 730, 731, 674, 685, 670, 693, 672, 678, - 733, 697, 681, 693, 737, 738, 739, 686, 741, 705, - 700, 707, 703, 688, 700, 701, 708, 694, 2299, 759, - 717, 719, 709, 721, 711, 724, 709, 716, 722, 714, - - 728, 768, 744, 731, 736, 733, 715, 722, 736, 781, - 734, 732, 741, 2299, 731, 746, 743, 729, 736, 735, - 733, 752, 749, 737, 744, 745, 754, 758, 755, 745, - 743, 743, 754, 750, 806, 763, 748, 749, 755, 771, - 761, 2299, 771, 771, 764, 775, 773, 818, 760, 762, - 777, 764, 763, 825, 782, 768, 771, 2299, 2299, 781, - 786, 791, 779, 789, 791, 2299, 2299, 792, 779, 797, - 784, 778, 783, 801, 788, 838, 789, 841, 787, 791, - 849, 2299, 2299, 794, 798, 797, 794, 854, 807, 797, - 798, 794, 807, 818, 802, 820, 815, 816, 818, 811, - - 813, 814, 815, 815, 817, 832, 873, 830, 835, 812, - 835, 819, 2299, 826, 827, 841, 831, 829, 879, 837, - 827, 842, 843, 830, 862, 870, 839, 834, 889, 890, - 852, 892, 2299, 855, 859, 900, 848, 843, 844, 856, - 863, 852, 853, 849, 852, 853, 863, 872, 908, 856, - 865, 861, 919, 876, 877, 868, 2299, 870, 873, 881, - 883, 868, 884, 878, 925, 891, 875, 876, 2299, 892, - 895, 878, 937, 880, 899, 2299, 898, 901, 881, 899, - 939, 897, 893, 890, 943, 944, 906, 892, 910, 909, - 910, 896, 911, 903, 910, 900, 918, 917, 904, 2299, - - 912, 918, 921, 966, 2299, 915, 920, 964, 915, 928, - 922, 926, 924, 922, 924, 934, 979, 923, 928, 924, - 983, 927, 939, 2299, 927, 935, 933, 984, 946, 932, - 933, 942, 954, 942, 940, 945, 955, 956, 961, 1002, - 974, 979, 961, 958, 954, 968, 951, 951, 1011, 954, - 2299, 954, 974, 973, 964, 953, 970, 977, 1020, 981, - 974, 978, 982, 965, 982, 1027, 974, 2299, 1024, 971, - 976, 975, 976, 976, 997, 994, 999, 1000, 986, 994, - 1003, 983, 998, 1005, 1047, 2299, 1048, 1049, 991, 1001, - 1011, 1014, 1002, 998, 1005, 1014, 1002, 1009, 1010, 1022, - - 1063, 1010, 1008, 1010, 1027, 1068, 1018, 1017, 1023, 1021, - 1019, 1014, 1075, 1076, 1072, 1078, 2299, 1035, 1028, 1019, - 1038, 1026, 1036, 1033, 1038, 1034, 1047, 1047, 2299, 1031, - 1033, 1033, 2299, 1035, 1095, 1034, 1053, 1054, 1056, 1047, - 1101, 1102, 1055, 1040, 1054, 1062, 1061, 1045, 1050, 1068, - 2299, 1090, 1081, 1113, 1053, 1075, 1070, 1070, 1074, 2299, - 1061, 1063, 1080, 1075, 1079, 1124, 1072, 1076, 2299, 1068, - 1085, 1065, 1086, 1076, 1127, 2299, 1092, 1093, 1131, 1078, - 1133, 1091, 1097, 1083, 1143, 1086, 1097, 1089, 1095, 1091, - 1109, 1110, 1111, 2299, 2299, 1110, 2299, 1095, 1106, 1097, - - 1116, 1106, 1099, 1111, 1155, 1119, 1108, 1115, 1116, 1122, - 2299, 1115, 1167, 1108, 1169, 2299, 1170, 1112, 1118, 1125, - 1169, 1131, 2299, 2299, 1118, 2299, 1120, 1134, 1139, 1122, - 1181, 1138, 1139, 1140, 1180, 1132, 1137, 1188, 1141, 1137, - 1191, 2299, 1138, 1193, 1194, 1151, 1153, 2299, 2299, 1136, - 1198, 1194, 1158, 1201, 1143, 1155, 1160, 1175, 1206, 2299, - 1163, 1156, 1165, 1156, 1167, 1212, 1159, 1174, 1210, 1162, - 2299, 1158, 1174, 1175, 1176, 1173, 1217, 1180, 1170, 1185, - 1172, 1168, 1228, 1181, 1225, 1231, 1188, 2299, 1190, 1183, - 1192, 1193, 1191, 1181, 1184, 1184, 1189, 1244, 1191, 1246, - - 1189, 1248, 1244, 1185, 1200, 1193, 1196, 1209, 1210, 1209, - 1258, 2299, 1212, 2299, 2299, 1217, 1209, 1219, 1204, 1260, - 1206, 1267, 1211, 1221, 1270, 2299, 1218, 1218, 1220, 1222, - 1275, 1216, 1219, 2299, 1220, 1239, 2299, 1224, 2299, 2299, - 1237, 1239, 1240, 2299, 1227, 1235, 2299, 1287, 1236, 1289, - 1269, 2299, 1291, 1248, 1293, 1244, 1291, 2299, 1239, 1247, - 1241, 1238, 1241, 1244, 1244, 1261, 1300, 1253, 1265, 1268, - 1256, 1251, 1258, 1248, 2299, 1271, 1256, 2299, 1258, 1259, - 1274, 1274, 1277, 1277, 1274, 1318, 1280, 1272, 2299, 1273, - 2299, 1283, 2299, 1280, 1285, 1286, 1283, 1327, 1275, 1290, - - 1291, 1283, 2299, 1280, 1281, 1281, 1287, 1286, 1284, 1298, - 2299, 1339, 1286, 2299, 1287, 1287, 1289, 1295, 2299, 1304, - 1298, 1353, 1295, 1303, 1306, 1317, 1316, 1360, 1313, 1322, - 2299, 1319, 2299, 1316, 1339, 2299, 1366, 2299, 1324, 1309, - 1369, 1370, 1327, 1332, 1314, 1374, 1375, 1371, 1335, 1332, - 1328, 1321, 1376, 1334, 1324, 1329, 1385, 1339, 1387, 1384, - 1347, 1343, 1388, 1336, 1341, 1339, 1398, 1354, 1342, 1401, - 1359, 1403, 1364, 1353, 1347, 1407, 1349, 1350, 1364, 1367, - 1367, 1413, 1355, 1372, 1368, 1372, 1356, 1414, 1415, 1362, - 1417, 1380, 1373, 1372, 1366, 1384, 2299, 1384, 1385, 1372, - - 1371, 1427, 2299, 1368, 1386, 1435, 1393, 1406, 2299, 1438, - 1391, 2299, 2299, 1382, 1393, 1442, 2299, 2299, 1388, 1393, - 1391, 1441, 1399, 1404, 1392, 1396, 1394, 1408, 2299, 1396, - 2299, 1399, 1450, 1394, 1399, 1459, 1407, 1417, 1418, 2299, - 1463, 1416, 1461, 2299, 1467, 2299, 1410, 1425, 1413, 2299, - 1423, 1424, 1473, 1431, 1435, 2299, 1471, 1437, 1413, 1431, - 1440, 1422, 1429, 1483, 1442, 1441, 1432, 1482, 1429, 1489, - 1437, 1491, 1492, 1442, 1446, 1451, 1444, 2299, 1497, 1498, - 2299, 1447, 1500, 1442, 2299, 1445, 1455, 1499, 1447, 1462, - 1449, 1464, 1456, 1456, 1511, 1468, 1456, 1455, 1515, 1468, - - 2299, 1512, 1463, 1460, 2299, 1474, 1461, 2299, 1478, 1523, - 1476, 1473, 1474, 2299, 1527, 1486, 1469, 1471, 1487, 1469, - 1485, 1486, 1495, 2299, 1485, 1537, 1497, 1481, 1535, 2299, - 1499, 2299, 2299, 1483, 1490, 1544, 1540, 2299, 2299, 1502, - 2299, 1542, 1504, 1505, 1490, 1491, 1499, 1553, 1501, 1550, - 1505, 2299, 1517, 1504, 1511, 2299, 1508, 1513, 1511, 1563, - 1564, 1512, 1508, 2299, 1523, 1524, 1525, 2299, 1526, 1516, - 1528, 1573, 1574, 1516, 1524, 1525, 1538, 2299, 1539, 1520, - 1527, 1518, 1578, 1539, 2299, 1543, 1528, 1528, 1543, 1536, - 1535, 1546, 1533, 2299, 1549, 1539, 1595, 1553, 1555, 1546, - - 1555, 1557, 1561, 2299, 2299, 1554, 1603, 1546, 1605, 1606, - 1607, 1565, 1609, 2299, 2299, 1605, 1567, 1568, 1555, 1563, - 1574, 1571, 1617, 1560, 1565, 1556, 1621, 1574, 1575, 1565, - 1582, 1581, 1622, 1566, 1585, 2299, 1582, 1587, 1588, 1633, - 1590, 1593, 1580, 2299, 1637, 2299, 2299, 2299, 1598, 2299, - 1580, 1640, 1641, 1584, 1643, 1591, 1640, 2299, 1606, 1647, - 1606, 2299, 1597, 1587, 1646, 1612, 1605, 1601, 1655, 1599, - 1604, 1600, 1602, 2299, 1607, 1617, 1602, 2299, 1604, 1616, - 2299, 2299, 1621, 2299, 1622, 1612, 1616, 2299, 1618, 1626, - 1671, 1612, 1614, 1611, 1635, 2299, 1628, 1631, 1620, 1674, - - 1621, 1629, 1638, 1639, 1632, 1627, 1627, 1633, 1633, 1645, - 1690, 2299, 1636, 1648, 1693, 1642, 1641, 1696, 1649, 1636, - 1651, 1656, 1701, 1702, 1659, 1704, 1705, 1652, 1656, 1650, - 2299, 1666, 1710, 2299, 1667, 1669, 2299, 1660, 1674, 1670, - 1663, 2299, 2299, 1717, 2299, 2299, 1667, 1675, 1720, 1681, - 2299, 1722, 1723, 1678, 1677, 1678, 1668, 2299, 1728, 1724, - 2299, 1671, 2299, 2299, 1731, 1673, 1689, 1734, 2299, 1695, - 1692, 2299, 1733, 1682, 2299, 1694, 1687, 1742, 1684, 1686, - 1701, 1686, 2299, 1699, 1748, 1749, 1697, 1699, 2299, 2299, - 1693, 1709, 1754, 1755, 2299, 2299, 2299, 1761, 1766, 1771, - - 1776, 1781, 1786, 1791, 1794, 1768, 1773, 1775, 1788 + 2304, 2305, 34, 2300, 145, 0, 207, 2305, 214, 221, + 13, 228, 2305, 2280, 118, 25, 2, 6, 2305, 2305, + 73, 11, 17, 2305, 2305, 2305, 104, 2288, 2241, 0, + 2278, 108, 2295, 24, 262, 2305, 2237, 67, 2243, 84, + 75, 88, 224, 91, 89, 290, 220, 2235, 206, 285, + 206, 204, 212, 60, 232, 2244, 247, 294, 315, 307, + 286, 2227, 230, 325, 354, 328, 2246, 0, 366, 382, + 397, 411, 404, 2305, 0, 2305, 419, 425, 216, 225, + 229, 227, 319, 329, 2305, 2243, 2284, 2305, 300, 2305, + + 438, 2271, 390, 2240, 331, 10, 406, 311, 408, 414, + 420, 2281, 0, 499, 409, 2223, 2220, 2224, 402, 2220, + 2228, 406, 2224, 2213, 2214, 2219, 78, 2229, 2212, 2221, + 2221, 95, 2212, 239, 2213, 2211, 396, 2259, 2263, 2203, + 2256, 2196, 2219, 2216, 2216, 2210, 336, 2203, 2201, 2202, + 2194, 2199, 2193, 413, 2204, 2197, 2188, 2187, 2201, 423, + 2187, 430, 422, 2181, 472, 420, 432, 2202, 2199, 2200, + 416, 2198, 2233, 2232, 423, 2178, 2178, 2179, 435, 2171, + 2188, 2180, 0, 464, 475, 471, 466, 478, 510, 2179, + 2305, 2224, 515, 2173, 475, 508, 514, 2227, 515, 2226, + + 511, 2225, 2305, 2305, 557, 2224, 530, 2183, 2175, 2162, + 2173, 2177, 2178, 2175, 2172, 2171, 2162, 493, 2213, 2207, + 2171, 2152, 2149, 2157, 2152, 2166, 2162, 2150, 2162, 2162, + 2153, 2137, 2141, 2154, 2156, 2153, 2145, 2135, 2153, 2305, + 2148, 505, 2133, 2132, 2184, 2131, 2141, 2144, 499, 2140, + 2179, 2124, 2126, 2137, 2175, 2120, 2178, 2113, 2128, 548, + 2118, 2124, 2133, 2114, 2112, 2112, 2118, 2109, 2108, 2115, + 2105, 2164, 2120, 2119, 2113, 529, 2120, 2115, 2107, 2097, + 2112, 2111, 2106, 2110, 166, 2108, 2094, 2100, 2107, 2089, + 2090, 2093, 2090, 2089, 341, 2084, 2098, 2097, 2140, 2099, + + 551, 2090, 527, 2305, 2305, 528, 2305, 2305, 2077, 515, + 546, 2125, 561, 2135, 555, 2305, 2134, 2305, 2128, 605, + 2305, 555, 2068, 2077, 2125, 2085, 2068, 2085, 2066, 2072, + 2124, 2079, 2074, 2077, 2072, 547, 2305, 2074, 2118, 2112, + 2070, 2067, 580, 2073, 2113, 2107, 2060, 2055, 2052, 2103, + 2060, 2049, 2065, 2099, 2045, 606, 2059, 2044, 2057, 2055, + 2043, 2053, 2048, 2055, 2050, 2046, 445, 2044, 2047, 2042, + 2028, 2040, 2036, 2086, 541, 2080, 2305, 2079, 2029, 2028, + 2027, 2020, 2022, 2034, 2025, 2014, 2031, 2026, 593, 2073, + 2026, 2023, 2026, 2305, 2025, 2014, 2014, 2026, 535, 2001, + + 2002, 2023, 584, 2005, 2056, 2001, 2015, 2018, 2013, 1999, + 2011, 2010, 2009, 2004, 2007, 2006, 2005, 2004, 568, 2047, + 2006, 2045, 2305, 1987, 1986, 629, 1999, 2305, 2305, 1998, + 1987, 1979, 577, 2038, 2037, 2305, 2036, 2305, 605, 657, + 579, 2035, 1977, 1988, 2027, 1980, 1982, 1981, 1969, 2305, + 1974, 1980, 1983, 1966, 1981, 1968, 1967, 2305, 584, 1969, + 1966, 596, 1964, 1966, 2305, 1974, 1971, 1956, 1969, 1964, + 656, 1971, 1959, 1952, 2003, 2305, 1950, 1966, 2000, 1961, + 1958, 1959, 1943, 1960, 1994, 1945, 1940, 1939, 1990, 1934, + 599, 1953, 1927, 1934, 1939, 1949, 1983, 1987, 2305, 1932, + + 1928, 1926, 1935, 1929, 1936, 1920, 1920, 1930, 1918, 1932, + 1921, 1917, 1915, 2305, 1972, 2305, 1914, 1925, 1964, 1909, + 1914, 1923, 1917, 1911, 1920, 1962, 1956, 1918, 1901, 1901, + 1896, 1916, 1891, 1897, 1902, 1895, 1903, 1907, 1890, 1948, + 1889, 1941, 1886, 1887, 1886, 1898, 1887, 2305, 1897, 2305, + 1886, 1884, 2305, 1895, 1931, 1891, 1875, 1892, 1932, 2305, + 2305, 2305, 609, 626, 657, 2305, 1883, 1882, 345, 1889, + 1869, 1868, 1921, 1866, 1919, 1864, 1863, 1862, 1869, 1862, + 1874, 1856, 1856, 1871, 1870, 615, 1869, 1868, 1868, 1850, + 1855, 1896, 1863, 1855, 1900, 1844, 1860, 1859, 2305, 1844, + + 1841, 1899, 1854, 1846, 1852, 1843, 1851, 1836, 1852, 1834, + 1846, 1847, 552, 1829, 1823, 1828, 1843, 1840, 1841, 1820, + 1830, 1836, 1879, 1834, 1826, 1817, 2305, 1818, 1820, 1829, + 1827, 1866, 1865, 1816, 16, 1825, 1862, 1807, 1808, 1811, + 1804, 2305, 1818, 1797, 1801, 1815, 1807, 1852, 1804, 1811, + 1849, 2305, 1794, 1808, 1792, 1806, 1809, 1790, 1842, 1841, + 1840, 1839, 1784, 1837, 1836, 2305, 1781, 1795, 671, 1796, + 1795, 1792, 1792, 1829, 1789, 1772, 1777, 1779, 2305, 1785, + 1775, 2305, 649, 651, 1769, 1767, 1774, 1784, 1776, 1763, + 1757, 1815, 639, 1819, 643, 1813, 1773, 1811, 1810, 1762, + + 1760, 1768, 1771, 1755, 1756, 1765, 1763, 1745, 1800, 1751, + 1759, 1760, 1796, 1753, 199, 651, 217, 293, 351, 309, + 417, 2305, 444, 502, 562, 640, 649, 646, 649, 648, + 636, 650, 649, 664, 661, 706, 709, 659, 652, 662, + 709, 667, 717, 2305, 718, 671, 673, 669, 663, 666, + 719, 682, 671, 684, 2305, 674, 685, 674, 687, 689, + 733, 734, 677, 688, 673, 696, 675, 681, 736, 700, + 684, 696, 740, 741, 742, 689, 744, 708, 703, 710, + 706, 691, 703, 704, 711, 697, 2305, 762, 720, 722, + 712, 724, 714, 727, 712, 719, 725, 717, 731, 771, + + 747, 734, 739, 736, 718, 725, 739, 784, 737, 735, + 744, 2305, 734, 749, 746, 732, 739, 738, 736, 755, + 752, 740, 747, 748, 757, 761, 797, 759, 749, 748, + 747, 758, 754, 810, 767, 752, 753, 759, 775, 765, + 2305, 775, 775, 768, 779, 777, 822, 764, 766, 781, + 768, 767, 829, 786, 772, 775, 2305, 2305, 785, 790, + 795, 783, 793, 795, 2305, 2305, 796, 783, 801, 788, + 782, 787, 805, 792, 842, 793, 845, 791, 795, 853, + 2305, 2305, 798, 802, 801, 798, 858, 811, 801, 802, + 798, 811, 822, 806, 824, 819, 820, 822, 815, 817, + + 818, 819, 819, 821, 836, 877, 834, 839, 816, 839, + 823, 2305, 830, 831, 845, 835, 833, 883, 841, 831, + 846, 847, 834, 866, 874, 843, 838, 893, 894, 856, + 896, 2305, 859, 863, 904, 852, 847, 848, 860, 867, + 856, 857, 853, 856, 857, 867, 876, 912, 860, 878, + 871, 866, 924, 881, 882, 873, 2305, 875, 878, 886, + 888, 873, 889, 883, 930, 896, 880, 881, 2305, 897, + 900, 883, 942, 885, 904, 2305, 903, 906, 886, 904, + 944, 902, 898, 895, 948, 949, 911, 897, 915, 914, + 915, 901, 916, 908, 915, 905, 923, 922, 909, 2305, + + 917, 923, 926, 971, 2305, 920, 925, 969, 920, 933, + 927, 931, 929, 927, 929, 939, 984, 928, 933, 929, + 988, 932, 944, 2305, 932, 940, 938, 989, 951, 937, + 938, 947, 959, 947, 945, 950, 960, 961, 966, 1007, + 979, 984, 966, 963, 959, 973, 956, 956, 1016, 959, + 2305, 959, 979, 978, 969, 958, 975, 982, 1025, 986, + 979, 983, 987, 970, 987, 978, 1033, 980, 2305, 1030, + 979, 982, 981, 982, 982, 1003, 1000, 1005, 1006, 992, + 1000, 1009, 989, 1004, 1011, 1053, 2305, 1054, 1055, 997, + 1007, 1017, 1020, 1008, 1004, 1011, 1020, 1008, 1015, 1016, + + 1028, 1069, 1016, 1014, 1016, 1033, 1074, 1024, 1023, 1029, + 1027, 1025, 1020, 1081, 1082, 1078, 1084, 2305, 1041, 1034, + 1025, 1044, 1032, 1042, 1039, 1044, 1040, 1053, 1053, 2305, + 1037, 1039, 1039, 2305, 1041, 1101, 1040, 1059, 1060, 1062, + 1053, 1107, 1108, 1061, 1046, 1060, 1068, 1067, 1051, 1056, + 1074, 2305, 1096, 1087, 1119, 1059, 1081, 1076, 1076, 1080, + 2305, 1067, 1069, 1086, 1081, 1085, 1130, 1078, 1082, 2305, + 1074, 1091, 1071, 1092, 1082, 1133, 1086, 2305, 1100, 1100, + 1138, 1085, 1140, 1099, 1104, 1090, 1150, 1093, 1104, 1096, + 1102, 1098, 1116, 1117, 1118, 2305, 2305, 1117, 2305, 1102, + + 1113, 1104, 1123, 1113, 1106, 1118, 1162, 1126, 1115, 1122, + 1123, 1129, 2305, 1122, 1174, 1115, 1176, 2305, 1177, 1119, + 1125, 1132, 1176, 1138, 2305, 2305, 1125, 2305, 1127, 1141, + 1146, 1129, 1188, 1145, 1146, 1147, 1187, 1139, 1144, 1195, + 1148, 1144, 1198, 2305, 1145, 1200, 1201, 1158, 1160, 2305, + 2305, 1143, 1205, 1201, 1165, 1208, 1150, 1162, 1167, 1182, + 1213, 2305, 1170, 1163, 1172, 1163, 1174, 1219, 1166, 1181, + 1217, 1169, 2305, 1165, 1181, 1182, 1183, 1180, 1224, 1187, + 1177, 1187, 1193, 1180, 1176, 1236, 1189, 1233, 1239, 1197, + 2305, 1198, 1191, 1200, 1202, 1199, 1189, 1192, 1192, 1197, + + 1252, 1199, 1254, 1197, 1256, 1252, 1193, 1208, 1201, 1204, + 1217, 1219, 1217, 1266, 2305, 1220, 2305, 2305, 1225, 1217, + 1227, 1212, 1268, 1214, 1275, 1219, 1229, 1278, 2305, 1226, + 1226, 1228, 1230, 1283, 1224, 1227, 2305, 1228, 1247, 2305, + 1232, 2305, 2305, 1245, 1247, 1248, 2305, 1235, 1243, 2305, + 1295, 1244, 1297, 1277, 2305, 1299, 1256, 1301, 1252, 1299, + 2305, 1247, 1255, 1249, 1246, 1249, 1252, 1252, 1269, 1308, + 1261, 1273, 1276, 1264, 1267, 1260, 1267, 1258, 2305, 1280, + 1265, 2305, 1267, 1268, 1283, 1283, 1286, 1286, 1283, 1327, + 1289, 1281, 2305, 1282, 2305, 1292, 2305, 1289, 1294, 1295, + + 1292, 1336, 1284, 1299, 1300, 1292, 2305, 1289, 1290, 1290, + 1296, 1295, 1293, 1307, 2305, 1348, 1295, 2305, 1296, 1296, + 1298, 1304, 2305, 1313, 1307, 1362, 1304, 1312, 1315, 1326, + 1325, 1369, 1322, 1331, 2305, 1328, 2305, 1325, 1348, 2305, + 1375, 2305, 1333, 1318, 1378, 1379, 1336, 1341, 1323, 1383, + 1384, 1380, 1344, 1341, 1337, 1330, 1385, 1343, 1344, 1334, + 1339, 1395, 1349, 1398, 1394, 1357, 1354, 1398, 1346, 1351, + 1349, 1408, 1364, 1352, 1411, 1369, 1413, 1374, 1363, 1357, + 1417, 1359, 1360, 1374, 1377, 1377, 1423, 1365, 1382, 1378, + 1382, 1366, 1424, 1425, 1372, 1427, 1390, 1383, 1382, 1376, + + 1394, 2305, 1394, 1395, 1382, 1381, 1437, 2305, 1378, 1396, + 1445, 1403, 1416, 2305, 1448, 1401, 2305, 2305, 1392, 1403, + 1452, 2305, 2305, 1398, 1403, 1401, 1451, 1409, 1414, 1402, + 1418, 1407, 1405, 1419, 2305, 1407, 2305, 1410, 1462, 1405, + 1410, 1470, 1418, 1428, 1429, 2305, 1474, 1428, 1472, 2305, + 1478, 2305, 1421, 1436, 1424, 2305, 1434, 1435, 1484, 1442, + 1446, 2305, 1482, 1448, 1424, 1442, 1451, 1433, 1440, 1494, + 1453, 1452, 1443, 1493, 1440, 1500, 1448, 1502, 1503, 1453, + 1457, 1462, 1455, 2305, 1508, 1509, 2305, 1458, 1511, 1453, + 2305, 1456, 1466, 1510, 1458, 1473, 1460, 1475, 1461, 1468, + + 1468, 1523, 1480, 1468, 1467, 1527, 1480, 2305, 1524, 1475, + 1472, 2305, 1486, 1473, 2305, 1490, 1535, 1488, 1485, 1486, + 2305, 1539, 1498, 1481, 1483, 1499, 1481, 1497, 1498, 1507, + 2305, 1497, 1549, 1509, 1493, 1547, 2305, 1511, 2305, 2305, + 1495, 1502, 1556, 1552, 2305, 2305, 1514, 2305, 1554, 1516, + 1517, 1502, 1503, 1511, 1565, 1513, 1562, 1563, 1518, 2305, + 1530, 1517, 1524, 2305, 1521, 1526, 1524, 1576, 1577, 1525, + 1521, 2305, 1536, 1537, 1538, 2305, 1539, 1529, 1541, 1586, + 1587, 1529, 1537, 1538, 1551, 2305, 1552, 1533, 1540, 1531, + 1591, 1552, 2305, 1556, 1541, 1541, 1556, 1549, 1548, 1559, + + 1546, 2305, 1562, 1550, 1553, 1609, 1567, 1569, 1560, 1569, + 1571, 1575, 2305, 2305, 1568, 1617, 1560, 1619, 1620, 1621, + 1579, 1623, 2305, 2305, 1619, 1581, 1582, 1569, 1577, 1588, + 1585, 1631, 1574, 1579, 1570, 1635, 1588, 1589, 1579, 1596, + 1595, 1636, 1580, 1599, 1600, 2305, 1597, 1602, 1603, 1648, + 1605, 1608, 1595, 2305, 1652, 2305, 2305, 2305, 1613, 2305, + 1595, 1655, 1656, 1599, 1658, 1606, 1655, 2305, 1621, 1662, + 1621, 2305, 1612, 1602, 1661, 1627, 1620, 1616, 1670, 1613, + 1615, 1620, 1616, 1618, 2305, 1623, 1633, 1618, 2305, 1620, + 1632, 2305, 2305, 1637, 2305, 1638, 1628, 1632, 2305, 1634, + + 1642, 1687, 1628, 1630, 1627, 1651, 2305, 1638, 1645, 1648, + 1637, 1691, 1638, 1646, 1655, 1656, 1649, 1644, 1644, 1650, + 1650, 1662, 1707, 2305, 1653, 1665, 1710, 1659, 1661, 1659, + 1714, 1667, 1654, 1669, 1674, 1719, 1720, 1677, 1722, 1723, + 1670, 1674, 1668, 2305, 1684, 1728, 2305, 1685, 1670, 1688, + 2305, 1679, 1693, 1689, 1682, 2305, 2305, 1736, 2305, 2305, + 1686, 1694, 1739, 1700, 2305, 1741, 1683, 1743, 1698, 1697, + 1698, 1688, 2305, 1748, 1744, 2305, 1691, 2305, 1703, 2305, + 1752, 1694, 1710, 1755, 2305, 1716, 1713, 1705, 2305, 1755, + 1704, 2305, 1716, 1709, 1764, 1712, 1707, 1709, 1724, 1709, + + 2305, 1770, 1723, 1772, 1773, 1721, 2305, 1723, 2305, 2305, + 1717, 1733, 1778, 1779, 2305, 2305, 2305, 1785, 1788, 1791, + 1792, 1794, 1797, 1800, 1803 } ; -static const flex_int16_t yy_def[1910] = +static yyconst flex_int16_t yy_def[1926] = { 0, - 1898, 1898, 1899, 1899, 1898, 1898, 1898, 1898, 1898, 1898, - 1897, 1897, 1897, 1897, 1897, 1900, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1901, - 1897, 1897, 1897, 1902, 15, 1897, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1903, 45, 45, 45, 45, + 1918, 1918, 1919, 1919, 1918, 1918, 1918, 1918, 1918, 1918, + 1917, 1917, 1917, 1917, 1917, 1920, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1921, + 1917, 1917, 1917, 1922, 15, 1917, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1923, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1900, 1897, 1897, - 1897, 1897, 1897, 1897, 1904, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1901, 1897, 1902, 1897, + 45, 45, 45, 45, 45, 45, 45, 1920, 1917, 1917, + 1917, 1917, 1917, 1917, 1924, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1921, 1917, 1922, 1917, - 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1905, 45, 1903, 45, 45, 45, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1925, 45, 1923, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1904, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1906, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1924, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1905, 1897, 1903, 45, 45, 45, 45, 45, + 45, 1925, 1917, 1917, 114, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1206,194 +984,196 @@ static const flex_int16_t yy_def[1910] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1907, - 45, 45, 45, 45, 45, 45, 1897, 45, 1897, 45, - 1903, 1897, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, + 45, 45, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 45, + 45, 45, 45, 45, 45, 1917, 45, 1917, 45, 114, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 45, 1897, 1897, - 1897, 1908, 45, 45, 45, 45, 45, 1897, 45, 1897, - 45, 1903, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 45, 45, 45, 45, 45, 45, 45, 1897, - 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1917, 45, 45, 45, 45, 1917, 1917, 1917, + 45, 45, 45, 45, 45, 1917, 45, 1917, 45, 114, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1917, + 45, 45, 45, 45, 45, 45, 45, 1917, 45, 45, + 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, - 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1897, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1917, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, - 45, 1897, 45, 45, 1897, 45, 45, 1897, 1909, 45, - 45, 45, 1897, 1897, 1897, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1917, 45, 1917, + 45, 45, 1917, 45, 45, 1917, 45, 45, 45, 1917, + 1917, 1917, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, - 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, + 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 1897, 45, - 45, 45, 45, 45, 45, 1897, 1897, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1917, 1917, 45, 45, + 45, 45, 45, 45, 1917, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 1897, 45, 45, 45, 45, 45, 45, 45, + 1917, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, + 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1917, - 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, - 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1917, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1917, + 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 45, 45, 45, 45, 45, 45, 45, 1897, - 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 1917, + 45, 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 1897, 45, 1897, 45, 45, 45, + 45, 45, 45, 45, 45, 1917, 1917, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 45, 45, 45, 1897, 45, 45, 45, 45, - 45, 45, 1897, 1897, 45, 1897, 45, 45, 45, 45, + 45, 45, 1917, 45, 45, 45, 45, 1917, 45, 45, + 45, 45, 45, 45, 1917, 1917, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 45, 45, 45, 45, 45, 1897, 1897, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1897, + 45, 45, 45, 1917, 45, 45, 45, 45, 45, 1917, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 45, 1897, 1897, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 1897, 45, 1897, 1897, - 45, 45, 45, 1897, 45, 45, 1897, 45, 45, 45, - 45, 1897, 45, 45, 45, 45, 45, 1897, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1897, 45, 45, 1897, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, - 1897, 45, 1897, 45, 45, 45, 45, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 45, 1897, 45, 45, 45, 45, 1897, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 1897, 45, 45, 1897, 45, 1897, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1917, 45, 1917, 1917, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 1917, + 45, 1917, 1917, 45, 45, 45, 1917, 45, 45, 1917, + 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1917, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1917, 45, 1917, 45, 1917, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, + 45, 45, 45, 45, 1917, 45, 45, 1917, 45, 45, + 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1917, 45, 1917, 45, 45, 1917, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1897, 45, 45, 45, - - 45, 45, 1897, 45, 45, 45, 45, 45, 1897, 45, - 45, 1897, 1897, 45, 45, 45, 1897, 1897, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1897, 45, - 1897, 45, 45, 45, 45, 45, 45, 45, 45, 1897, - 45, 45, 45, 1897, 45, 1897, 45, 45, 45, 1897, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, - 1897, 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 45, 45, 1897, 45, 45, 1897, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 45, 45, 1897, - 45, 1897, 1897, 45, 45, 45, 45, 1897, 1897, 45, - 1897, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 45, 45, 45, 1897, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 1897, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, - 45, 45, 45, 45, 1897, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 1897, 1897, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 1897, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 1917, 45, 45, + 45, 45, 45, 1917, 45, 45, 1917, 1917, 45, 45, + 45, 1917, 1917, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1917, 45, 1917, 45, 45, 45, + 45, 45, 45, 45, 45, 1917, 45, 45, 45, 1917, + 45, 1917, 45, 45, 45, 1917, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 1897, 1897, 1897, 45, 1897, - 45, 45, 45, 45, 45, 45, 45, 1897, 45, 45, - 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1897, 45, 45, 45, 1897, 45, 45, - 1897, 1897, 45, 1897, 45, 45, 45, 1897, 45, 45, - 45, 45, 45, 45, 45, 1897, 45, 45, 45, 45, - + 45, 45, 45, 1917, 45, 45, 1917, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 45, 45, 1917, 45, 45, + 45, 1917, 45, 45, 1917, 45, 45, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1917, 45, 45, 45, 45, 45, 1917, 45, 1917, 1917, + 45, 45, 45, 45, 1917, 1917, 45, 1917, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1917, + 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, + 45, 1917, 45, 45, 45, 1917, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, + 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, + + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1917, 1917, 45, 45, 45, 45, 45, 45, + 45, 45, 1917, 1917, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, + 45, 45, 45, 1917, 45, 1917, 1917, 1917, 45, 1917, + 45, 45, 45, 45, 45, 45, 45, 1917, 45, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1917, 45, 45, 45, 1917, 45, + 45, 1917, 1917, 45, 1917, 45, 45, 45, 1917, 45, + + 45, 45, 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1897, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1897, 45, 45, 1897, 45, 45, 1897, 45, 45, 45, - 45, 1897, 1897, 45, 1897, 1897, 45, 45, 45, 45, - 1897, 45, 45, 45, 45, 45, 45, 1897, 45, 45, - 1897, 45, 1897, 1897, 45, 45, 45, 45, 1897, 45, - 45, 1897, 45, 45, 1897, 45, 45, 45, 45, 45, - 45, 45, 1897, 45, 45, 45, 45, 45, 1897, 1897, - 45, 45, 45, 45, 1897, 1897, 0, 1897, 1897, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897 + 45, 45, 45, 1917, 45, 45, 1917, 45, 45, 45, + 1917, 45, 45, 45, 45, 1917, 1917, 45, 1917, 1917, + 45, 45, 45, 45, 1917, 45, 45, 45, 45, 45, + 45, 45, 1917, 45, 45, 1917, 45, 1917, 45, 1917, + 45, 45, 45, 45, 1917, 45, 45, 45, 1917, 45, + 45, 1917, 45, 45, 45, 45, 45, 45, 45, 45, + + 1917, 45, 45, 45, 45, 45, 1917, 45, 1917, 1917, + 45, 45, 45, 45, 1917, 1917, 0, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917 } ; -static const flex_int16_t yy_nxt[2373] = +static yyconst flex_int16_t yy_nxt[2379] = { 0, - 1897, 13, 14, 13, 1897, 15, 16, 1897, 17, 18, + 1917, 13, 14, 13, 1917, 15, 16, 1917, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 84, 757, 37, 14, 37, 85, 25, 26, 38, 100, - 1897, 27, 37, 14, 37, 42, 28, 42, 38, 90, - 91, 29, 197, 30, 13, 14, 13, 89, 90, 25, + 84, 755, 37, 14, 37, 85, 25, 26, 38, 100, + 1917, 27, 37, 14, 37, 42, 28, 42, 38, 90, + 91, 29, 196, 30, 13, 14, 13, 89, 90, 25, 31, 91, 13, 14, 13, 13, 14, 13, 32, 40, - 758, 13, 14, 13, 33, 40, 101, 90, 91, 197, + 756, 13, 14, 13, 33, 40, 101, 90, 91, 196, 89, 34, 35, 13, 14, 13, 93, 15, 16, 94, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 89, 39, 103, 25, 26, @@ -1410,255 +1190,255 @@ static const flex_int16_t yy_nxt[2373] = 57, 58, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 55, 45, 45, 45, 45, 45, 79, 409, + 76, 77, 55, 45, 45, 45, 45, 45, 79, 408, 80, 80, 80, 80, 80, 79, 105, 82, 82, 82, - 82, 82, 410, 81, 83, 83, 83, 83, 83, 79, + 82, 82, 409, 81, 83, 83, 83, 83, 83, 79, 81, 82, 82, 82, 82, 82, 184, 81, 108, 105, - 103, 119, 836, 131, 81, 185, 81, 184, 109, 120, + 103, 119, 835, 131, 81, 185, 81, 184, 109, 120, 134, 135, 121, 81, 132, 122, 186, 123, 136, 124, - 81, 108, 184, 840, 133, 164, 115, 81, 45, 165, + 81, 108, 184, 839, 133, 164, 115, 81, 45, 165, 139, 185, 116, 187, 45, 117, 109, 45, 232, 45, 140, 45, 141, 45, 186, 113, 143, 144, 45, 45, - 145, 45, 45, 841, 233, 100, 146, 45, 45, 45, + 145, 45, 45, 840, 233, 100, 146, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 125, 160, 45, 126, 127, 161, 45, 128, 129, 147, - 45, 107, 101, 148, 199, 162, 317, 149, 45, 185, - 130, 420, 45, 110, 45, 114, 842, 155, 843, 150, - 152, 196, 153, 151, 154, 156, 186, 157, 173, 174, - 166, 199, 158, 159, 167, 188, 179, 168, 108, 83, - 83, 83, 83, 83, 169, 170, 180, 196, 109, 171, + 45, 107, 101, 148, 198, 162, 316, 149, 45, 185, + 130, 419, 45, 110, 45, 114, 841, 155, 842, 150, + 152, 195, 153, 151, 154, 156, 186, 157, 173, 174, + 166, 198, 158, 159, 167, 188, 179, 168, 108, 83, + 83, 83, 83, 83, 169, 170, 180, 195, 109, 171, 172, 181, 81, 79, 189, 80, 80, 80, 80, 80, - 248, 175, 844, 176, 249, 87, 177, 87, 81, 426, + 248, 175, 688, 176, 249, 87, 177, 87, 81, 689, 88, 88, 88, 88, 88, 81, 109, 83, 83, 83, - 83, 83, 79, 178, 82, 82, 82, 82, 82, 194, + 83, 83, 79, 178, 82, 82, 82, 82, 82, 193, 81, 81, 88, 88, 88, 88, 88, 81, 88, 88, - 88, 88, 88, 99, 198, 200, 202, 201, 194, 211, - 99, 198, 236, 81, 216, 237, 199, 194, 212, 238, - 81, 427, 213, 217, 218, 206, 845, 270, 290, 202, - 262, 271, 198, 200, 201, 273, 207, 282, 283, 198, - 99, 256, 291, 295, 99, 263, 264, 265, 99, 267, - 284, 303, 268, 269, 285, 201, 99, 305, 286, 846, - - 99, 304, 99, 192, 205, 205, 205, 205, 205, 304, - 274, 275, 276, 205, 205, 205, 205, 205, 205, 303, - 305, 277, 299, 278, 303, 279, 280, 304, 281, 314, - 305, 312, 315, 316, 320, 307, 205, 205, 205, 205, - 205, 205, 318, 360, 399, 381, 847, 400, 312, 429, - 334, 368, 306, 308, 312, 435, 316, 314, 335, 315, - 361, 320, 429, 336, 337, 318, 321, 321, 321, 321, - 321, 323, 429, 433, 437, 321, 321, 321, 321, 321, - 321, 382, 439, 434, 435, 430, 464, 435, 457, 492, - 493, 516, 465, 848, 494, 383, 502, 437, 321, 321, - - 321, 321, 321, 321, 369, 458, 503, 370, 562, 622, - 439, 442, 442, 442, 442, 442, 443, 735, 736, 623, - 442, 442, 442, 442, 442, 442, 478, 548, 526, 531, - 549, 479, 527, 532, 555, 566, 562, 567, 562, 556, - 686, 687, 584, 442, 442, 442, 442, 442, 442, 517, - 585, 803, 586, 587, 588, 592, 589, 849, 602, 850, - 685, 789, 566, 603, 567, 688, 568, 686, 593, 687, - 594, 691, 790, 802, 803, 812, 851, 852, 692, 480, - 853, 813, 854, 855, 481, 45, 45, 45, 45, 45, - 815, 816, 856, 817, 45, 45, 45, 45, 45, 45, - - 837, 802, 857, 858, 838, 859, 860, 861, 839, 862, - 864, 865, 863, 866, 867, 868, 869, 45, 45, 45, - 45, 45, 45, 870, 871, 872, 873, 874, 875, 876, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, - 897, 898, 899, 900, 902, 903, 904, 907, 908, 909, - 901, 911, 912, 905, 913, 910, 914, 906, 915, 916, - 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, - 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, - - 947, 948, 949, 950, 951, 952, 953, 926, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 966, 967, 968, 969, 971, 972, 973, 974, 970, 975, - 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, - 986, 987, 988, 989, 990, 991, 992, 994, 995, 996, - 993, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, - 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, - 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, - 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, - 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - - 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, - 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1042, - 1065, 1066, 1041, 1067, 1068, 1069, 1070, 1071, 1072, 1073, - 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, - 1084, 1085, 1086, 1088, 1089, 1090, 1091, 1092, 1093, 1094, - 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, - 1105, 1106, 1107, 1108, 1109, 1110, 1112, 1113, 1114, 1115, - 1116, 1117, 1118, 1119, 1120, 1121, 1111, 1122, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, - 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, - - 1087, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1154, - 1153, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, - 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, - 1174, 1175, 1176, 1177, 1178, 1179, 1152, 1153, 1180, 1181, - 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, - 1192, 1193, 1194, 1195, 1197, 1199, 1200, 1201, 1196, 1202, - 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, - 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, - 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, - 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1198, 1241, - - 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, - 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, - 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1258, - 1281, 1282, 1283, 1284, 1285, 1259, 1286, 1287, 1288, 1289, - 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, - 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, - 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, - 1330, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, - - 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, - 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1360, 1361, - 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, - 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1351, 1380, - 1381, 1382, 1383, 1331, 1384, 1385, 1386, 1387, 1388, 1389, - 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1398, 1399, 1400, - 1401, 1359, 1402, 1403, 1397, 1404, 1405, 1406, 1407, 1408, - 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, - 1419, 1421, 1422, 1423, 1424, 1420, 1425, 1426, 1427, 1428, - 1429, 1430, 1431, 1432, 1433, 1435, 1436, 1437, 1438, 1434, - - 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, - 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1435, 1457, - 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, - 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, - 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, - 1488, 1489, 1490, 1491, 1492, 1493, 1496, 1494, 1497, 1498, - 1499, 1500, 1501, 1495, 1502, 1503, 1504, 1505, 1506, 1507, - 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, - 1518, 1519, 1520, 1522, 1523, 1524, 1525, 1526, 1527, 1528, - 1529, 1530, 1531, 1521, 1532, 1533, 1534, 1508, 1535, 1536, - - 1537, 1538, 1539, 1540, 1542, 1543, 1544, 1545, 1546, 1547, - 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, - 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, - 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, - 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, - 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, - 1598, 1541, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, - 1580, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, - 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, - 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, - - 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, - 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, - 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, - 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, - 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, - 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, - 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, - 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, - 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, - 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, - - 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, - 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, - 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, - 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, - 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, - 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, - 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, - 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, - 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, - 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, - - 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, - 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, - 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, - 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, - 1876, 1878, 1877, 1879, 1880, 1881, 1882, 1883, 1884, 1885, - 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, - 1896, 12, 12, 12, 12, 12, 36, 36, 36, 36, - 36, 78, 310, 78, 78, 78, 97, 432, 97, 559, - 97, 99, 99, 99, 99, 99, 112, 112, 112, 112, - 112, 183, 99, 183, 183, 183, 203, 203, 203, 835, - - 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, - 824, 823, 822, 821, 820, 819, 818, 814, 811, 810, - 809, 808, 807, 806, 805, 804, 801, 800, 799, 798, - 797, 796, 795, 794, 793, 792, 791, 788, 787, 786, - 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, - 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, - 765, 764, 763, 762, 761, 760, 759, 756, 755, 754, - 753, 752, 751, 750, 749, 748, 747, 746, 745, 744, - 743, 742, 741, 740, 739, 738, 737, 734, 733, 732, - 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, - - 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, - 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, - 701, 700, 699, 698, 697, 696, 695, 694, 693, 690, - 689, 685, 684, 683, 682, 681, 680, 679, 678, 677, - 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, - 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, - 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, - 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, - 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, - 626, 625, 624, 621, 620, 619, 618, 617, 616, 615, - - 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, - 604, 601, 600, 599, 598, 597, 596, 595, 591, 590, - 583, 582, 581, 580, 579, 578, 577, 576, 575, 574, - 573, 572, 571, 570, 569, 565, 564, 563, 561, 560, - 558, 557, 554, 553, 552, 551, 550, 547, 546, 545, - 544, 543, 542, 541, 540, 539, 538, 537, 536, 535, - 534, 533, 530, 529, 528, 525, 524, 523, 522, 521, - 520, 519, 518, 515, 514, 513, 512, 511, 510, 509, - 508, 507, 506, 505, 504, 501, 500, 499, 498, 497, - 496, 495, 491, 490, 489, 488, 487, 486, 485, 484, - - 483, 482, 477, 476, 475, 474, 473, 472, 471, 470, - 469, 468, 467, 466, 463, 462, 461, 460, 459, 456, - 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, - 445, 444, 441, 440, 438, 436, 431, 428, 425, 424, - 423, 422, 421, 419, 418, 417, 416, 415, 414, 413, - 412, 411, 408, 407, 406, 405, 404, 403, 402, 401, - 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, - 388, 387, 386, 385, 384, 380, 379, 378, 377, 376, - 375, 374, 373, 372, 371, 367, 366, 365, 364, 363, - 362, 359, 358, 357, 356, 355, 354, 353, 352, 351, - - 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, - 340, 339, 338, 333, 332, 331, 330, 329, 328, 327, - 326, 325, 324, 322, 204, 319, 317, 313, 311, 309, - 302, 301, 300, 298, 297, 296, 294, 293, 292, 289, - 288, 287, 272, 266, 261, 260, 259, 258, 257, 255, - 254, 253, 252, 251, 250, 247, 246, 245, 244, 243, - 242, 241, 240, 239, 235, 234, 231, 228, 227, 226, - 225, 222, 221, 220, 219, 215, 214, 210, 209, 208, - 204, 195, 193, 191, 190, 182, 163, 142, 118, 104, - 102, 43, 98, 96, 95, 86, 43, 1897, 11, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897 + 88, 88, 88, 99, 197, 199, 201, 200, 193, 211, + 99, 197, 236, 81, 216, 237, 198, 193, 212, 238, + 81, 290, 213, 217, 218, 206, 843, 270, 200, 201, + 262, 271, 197, 199, 200, 291, 207, 282, 283, 197, + 99, 256, 273, 295, 99, 263, 264, 265, 99, 267, + 284, 844, 268, 269, 285, 299, 99, 305, 286, 303, + + 99, 303, 99, 99, 204, 304, 490, 491, 304, 367, + 313, 492, 205, 205, 205, 205, 205, 274, 275, 276, + 305, 205, 205, 205, 205, 205, 205, 303, 277, 306, + 278, 304, 279, 280, 307, 281, 305, 311, 313, 314, + 315, 317, 319, 333, 205, 205, 205, 205, 205, 205, + 359, 334, 311, 428, 428, 845, 335, 336, 380, 308, + 311, 425, 368, 315, 317, 369, 314, 360, 431, 319, + 320, 320, 320, 320, 320, 322, 428, 429, 432, 320, + 320, 320, 320, 320, 320, 398, 433, 435, 399, 437, + 462, 500, 455, 524, 381, 433, 463, 525, 514, 733, + + 734, 501, 320, 320, 320, 320, 320, 320, 382, 456, + 435, 476, 559, 426, 559, 433, 477, 437, 440, 440, + 440, 440, 440, 546, 441, 846, 547, 440, 440, 440, + 440, 440, 440, 529, 553, 581, 563, 530, 564, 554, + 559, 683, 565, 582, 589, 583, 584, 585, 619, 586, + 440, 440, 440, 440, 440, 440, 515, 590, 620, 591, + 684, 599, 682, 563, 478, 564, 600, 685, 683, 479, + 45, 45, 45, 45, 45, 706, 787, 801, 707, 45, + 45, 45, 45, 45, 45, 800, 810, 788, 684, 847, + 813, 814, 811, 815, 848, 849, 850, 851, 852, 853, + + 801, 854, 45, 45, 45, 45, 45, 45, 836, 855, + 856, 857, 837, 800, 858, 859, 838, 860, 861, 863, + 864, 862, 865, 866, 867, 868, 869, 870, 871, 872, + 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, + 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, + 893, 894, 895, 896, 897, 898, 899, 901, 902, 903, + 906, 907, 908, 900, 910, 911, 904, 912, 909, 913, + 905, 914, 915, 916, 917, 918, 919, 920, 921, 922, + 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, + 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, + + 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, + 925, 953, 954, 955, 956, 957, 958, 959, 960, 961, + 962, 963, 964, 965, 966, 967, 968, 969, 971, 972, + 973, 974, 970, 975, 976, 977, 978, 979, 980, 981, + 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, + 992, 994, 995, 996, 993, 997, 998, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, + 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, + 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, + 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, + + 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1042, 1065, 1066, 1041, 1067, 1068, 1069, + 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1089, 1090, + 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, + 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, + 1111, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, + 1122, 1112, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, + 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, + + 1141, 1142, 1143, 1144, 1145, 1088, 1146, 1147, 1148, 1149, + 1150, 1151, 1152, 1153, 1155, 1154, 1156, 1157, 1158, 1159, + 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, + 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, + 1180, 1153, 1154, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, + 1199, 1201, 1202, 1203, 1198, 1204, 1205, 1206, 1207, 1208, + 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, + 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, + 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + + 1239, 1240, 1241, 1242, 1200, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, + 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, + 1278, 1279, 1280, 1281, 1282, 1260, 1283, 1284, 1285, 1286, + 1287, 1261, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, + 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, + 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, + 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, + + 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, + 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, + 1357, 1358, 1359, 1360, 1361, 1363, 1364, 1365, 1366, 1367, + 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, + 1378, 1379, 1380, 1381, 1382, 1354, 1383, 1384, 1385, 1386, + 1334, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, + 1396, 1397, 1398, 1399, 1400, 1402, 1403, 1404, 1362, 1405, + 1406, 1407, 1401, 1408, 1409, 1410, 1411, 1412, 1413, 1414, + 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1425, + 1426, 1427, 1428, 1424, 1429, 1430, 1431, 1432, 1433, 1434, + + 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1438, 1443, 1444, + 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, + 1455, 1456, 1457, 1458, 1459, 1460, 1439, 1461, 1462, 1463, + 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, + 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, + 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, + 1494, 1495, 1496, 1497, 1498, 1501, 1499, 1502, 1503, 1504, + 1505, 1506, 1500, 1507, 1508, 1509, 1510, 1511, 1512, 1513, + 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, + 1524, 1525, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, + + 1535, 1536, 1526, 1537, 1538, 1539, 1513, 1540, 1541, 1542, + 1543, 1544, 1545, 1546, 1548, 1549, 1550, 1551, 1552, 1553, + 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, + 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, + 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, + 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, + 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, + 1604, 1547, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, + 1586, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, + 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, + + 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, + 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, + 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, + 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, + 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, + 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, + 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, + 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, + 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, + + 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, + 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, + 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, + 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, + 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, + 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, + 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, + 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, + 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, + 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, + + 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, + 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, + 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, + 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, + 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, + 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, + 1892, 1893, 1895, 1894, 1896, 1897, 1898, 1899, 1900, 1901, + 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, + 1912, 1913, 1914, 1915, 1916, 12, 12, 12, 36, 36, + 36, 78, 97, 78, 99, 99, 99, 112, 112, 112, + + 183, 834, 183, 202, 202, 202, 833, 832, 831, 830, + 829, 828, 827, 826, 825, 824, 823, 822, 821, 820, + 819, 818, 817, 816, 812, 809, 808, 807, 806, 805, + 804, 803, 802, 799, 798, 797, 796, 795, 794, 793, + 792, 791, 790, 789, 786, 785, 784, 783, 782, 781, + 780, 779, 778, 777, 776, 775, 774, 773, 772, 771, + 770, 769, 768, 767, 766, 765, 764, 763, 762, 761, + 760, 759, 758, 757, 754, 753, 752, 751, 750, 749, + 748, 747, 746, 745, 744, 743, 742, 741, 740, 739, + 738, 737, 736, 735, 732, 731, 730, 729, 728, 727, + + 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, + 716, 715, 714, 713, 712, 711, 710, 709, 708, 705, + 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, + 694, 693, 692, 691, 690, 687, 686, 682, 681, 680, + 679, 678, 677, 676, 675, 674, 673, 672, 671, 670, + 669, 668, 667, 666, 665, 664, 663, 662, 661, 660, + 659, 658, 657, 656, 655, 654, 653, 652, 651, 650, + 649, 648, 647, 646, 645, 644, 643, 642, 641, 640, + 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, + 629, 628, 627, 626, 625, 624, 623, 622, 621, 618, + + 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, + 607, 606, 605, 604, 603, 602, 601, 598, 597, 596, + 595, 594, 593, 592, 588, 587, 580, 579, 578, 577, + 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, + 566, 562, 561, 560, 558, 557, 556, 555, 552, 551, + 550, 549, 548, 545, 544, 543, 542, 541, 540, 539, + 538, 537, 536, 535, 534, 533, 532, 531, 528, 527, + 526, 523, 522, 521, 520, 519, 518, 517, 516, 513, + 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, + 502, 499, 498, 497, 496, 495, 494, 493, 489, 488, + + 487, 486, 485, 484, 483, 482, 481, 480, 475, 474, + 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, + 461, 460, 459, 458, 457, 454, 453, 452, 451, 450, + 449, 448, 447, 446, 445, 444, 443, 442, 439, 438, + 436, 434, 430, 427, 424, 423, 422, 421, 420, 418, + 417, 416, 415, 414, 413, 412, 411, 410, 407, 406, + 405, 404, 403, 402, 401, 400, 397, 396, 395, 394, + 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, + 383, 379, 378, 377, 376, 375, 374, 373, 372, 371, + 370, 366, 365, 364, 363, 362, 361, 358, 357, 356, + + 355, 354, 353, 352, 351, 350, 349, 348, 347, 346, + 345, 344, 343, 342, 341, 340, 339, 338, 337, 332, + 331, 330, 329, 328, 327, 326, 325, 324, 323, 321, + 203, 318, 316, 312, 310, 309, 302, 301, 300, 298, + 297, 296, 294, 293, 292, 289, 288, 287, 272, 266, + 261, 260, 259, 258, 257, 255, 254, 253, 252, 251, + 250, 247, 246, 245, 244, 243, 242, 241, 240, 239, + 235, 234, 231, 228, 227, 226, 225, 222, 221, 220, + 219, 215, 214, 210, 209, 208, 203, 194, 192, 191, + 190, 182, 163, 142, 118, 104, 102, 43, 98, 96, + + 95, 86, 43, 1917, 11, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917 } ; -static const flex_int16_t yy_chk[2373] = +static yyconst flex_int16_t yy_chk[2379] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 638, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 635, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 106, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 638, 8, 8, 8, 1, 8, 44, 27, 28, 106, + 635, 8, 8, 8, 1, 8, 44, 27, 28, 106, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 31, 5, 48, 2, 2, @@ -1679,249 +1459,249 @@ static const flex_int16_t yy_chk[2373] = 17, 17, 17, 17, 17, 19, 62, 19, 19, 19, 19, 19, 285, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 89, 20, 53, 62, - 57, 59, 717, 61, 22, 90, 17, 92, 53, 59, + 57, 59, 715, 61, 22, 90, 17, 92, 53, 59, 62, 63, 59, 19, 61, 59, 91, 59, 63, 59, - 20, 53, 89, 719, 61, 73, 57, 22, 45, 73, + 20, 53, 89, 717, 61, 73, 57, 22, 45, 73, 65, 90, 57, 92, 45, 57, 53, 45, 134, 45, 65, 45, 65, 45, 91, 56, 67, 67, 45, 45, - 67, 45, 56, 720, 134, 99, 67, 45, 45, 45, + 67, 45, 56, 718, 134, 99, 67, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 60, 71, 56, 60, 60, 71, 56, 60, 60, 68, 56, 69, 99, 68, 108, 71, 295, 68, 56, 93, - 60, 295, 56, 76, 56, 56, 721, 70, 722, 68, + 60, 295, 56, 76, 56, 56, 719, 70, 720, 68, 69, 105, 69, 68, 69, 70, 94, 70, 75, 75, 74, 108, 70, 70, 74, 93, 76, 74, 75, 79, 79, 79, 79, 79, 74, 74, 76, 105, 75, 74, 74, 76, 79, 80, 94, 80, 80, 80, 80, 80, - 147, 75, 723, 75, 147, 81, 75, 81, 80, 301, + 147, 75, 569, 75, 147, 81, 75, 81, 80, 569, 81, 81, 81, 81, 81, 79, 75, 83, 83, 83, 83, 83, 82, 75, 82, 82, 82, 82, 82, 103, 83, 80, 87, 87, 87, 87, 87, 82, 88, 88, 88, 88, 88, 101, 107, 109, 111, 110, 115, 119, 101, 154, 137, 83, 122, 137, 175, 103, 119, 137, - 82, 301, 119, 122, 122, 115, 725, 163, 171, 111, - 160, 163, 107, 109, 110, 165, 115, 166, 166, 154, - 101, 154, 171, 175, 101, 160, 160, 160, 101, 162, - 167, 184, 162, 162, 167, 179, 101, 186, 167, 726, - - 101, 185, 101, 101, 114, 114, 114, 114, 114, 188, - 165, 165, 165, 114, 114, 114, 114, 114, 114, 184, - 186, 165, 179, 165, 187, 165, 165, 185, 165, 196, - 189, 194, 197, 198, 202, 188, 114, 114, 114, 114, - 114, 114, 200, 242, 276, 260, 727, 276, 207, 303, - 218, 249, 187, 189, 194, 312, 198, 196, 218, 197, - 242, 202, 306, 218, 218, 200, 205, 205, 205, 205, - 205, 207, 303, 311, 314, 205, 205, 205, 205, 205, - 205, 260, 316, 311, 312, 306, 344, 323, 337, 368, - 368, 390, 344, 728, 368, 260, 376, 314, 205, 205, - - 205, 205, 205, 205, 249, 337, 376, 249, 435, 493, - 316, 321, 321, 321, 321, 321, 323, 616, 616, 493, - 321, 321, 321, 321, 321, 321, 357, 420, 400, 404, - 420, 357, 400, 404, 427, 441, 435, 441, 443, 427, - 566, 567, 461, 321, 321, 321, 321, 321, 321, 390, - 461, 687, 461, 461, 461, 464, 461, 729, 473, 730, - 568, 672, 441, 473, 441, 568, 443, 566, 464, 567, - 464, 572, 672, 686, 687, 696, 731, 732, 572, 357, - 733, 696, 734, 735, 357, 442, 442, 442, 442, 442, - 698, 698, 736, 698, 442, 442, 442, 442, 442, 442, - - 718, 686, 737, 738, 718, 739, 740, 741, 718, 742, - 743, 744, 742, 745, 747, 748, 749, 442, 442, 442, - 442, 442, 442, 750, 751, 752, 753, 754, 755, 756, - 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, - 778, 779, 780, 781, 782, 783, 783, 784, 785, 786, - 781, 787, 788, 783, 790, 786, 791, 783, 792, 793, - 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, - 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, - 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, - - 825, 826, 827, 828, 829, 830, 831, 803, 832, 833, - 834, 835, 836, 837, 838, 839, 840, 841, 843, 844, - 845, 846, 847, 848, 849, 850, 851, 852, 848, 853, - 854, 855, 856, 857, 860, 861, 862, 863, 864, 865, - 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, - 874, 878, 879, 880, 881, 884, 885, 886, 887, 888, - 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, - 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, - 909, 910, 911, 912, 914, 915, 916, 917, 918, 919, - 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, - - 930, 931, 932, 934, 935, 936, 937, 938, 939, 940, - 941, 942, 943, 944, 945, 946, 947, 948, 949, 926, - 950, 951, 925, 952, 953, 954, 955, 956, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 968, 970, - 971, 972, 973, 974, 975, 977, 978, 979, 980, 981, - 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, - 992, 993, 994, 995, 996, 997, 998, 999, 1001, 1002, - 1003, 1004, 1006, 1007, 1008, 1009, 997, 1010, 1011, 1012, - 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, - 1023, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, - - 973, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1043, - 1042, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1052, 1053, - 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, - 1064, 1065, 1066, 1067, 1069, 1070, 1041, 1042, 1071, 1072, - 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, - 1083, 1084, 1085, 1087, 1088, 1089, 1090, 1091, 1087, 1092, - 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, - 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, - 1113, 1114, 1115, 1116, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1130, 1131, 1132, 1088, 1134, - - 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, - 1145, 1146, 1147, 1148, 1149, 1150, 1152, 1153, 1154, 1155, - 1156, 1157, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, - 1167, 1168, 1170, 1171, 1172, 1173, 1174, 1175, 1177, 1152, - 1178, 1179, 1180, 1181, 1182, 1153, 1183, 1184, 1185, 1186, - 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1196, 1198, 1199, - 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, - 1210, 1212, 1213, 1214, 1215, 1217, 1218, 1219, 1220, 1221, - 1222, 1225, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, - 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1245, - - 1246, 1247, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, - 1269, 1270, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1258, 1289, - 1290, 1291, 1292, 1235, 1293, 1294, 1295, 1296, 1297, 1298, - 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 1309, 1266, 1310, 1311, 1305, 1313, 1316, 1317, 1318, 1319, - 1320, 1321, 1322, 1323, 1324, 1325, 1327, 1328, 1329, 1330, - 1331, 1332, 1333, 1335, 1336, 1331, 1338, 1341, 1342, 1343, - 1345, 1346, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1350, - - 1356, 1357, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, - 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1351, 1376, - 1377, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, - 1388, 1390, 1392, 1394, 1395, 1396, 1397, 1398, 1399, 1400, - 1401, 1402, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1412, - 1413, 1415, 1416, 1417, 1418, 1420, 1421, 1420, 1422, 1423, - 1424, 1425, 1426, 1420, 1427, 1428, 1429, 1430, 1432, 1434, - 1435, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, - 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, - 1457, 1458, 1459, 1449, 1460, 1461, 1462, 1435, 1463, 1464, - - 1465, 1466, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, - 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, - 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, - 1494, 1495, 1496, 1498, 1499, 1500, 1501, 1502, 1504, 1505, - 1506, 1507, 1508, 1510, 1511, 1514, 1515, 1516, 1519, 1520, - 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1530, 1532, - 1533, 1467, 1534, 1535, 1536, 1537, 1538, 1539, 1541, 1542, - 1508, 1543, 1545, 1547, 1548, 1549, 1551, 1552, 1553, 1554, - 1555, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, - 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, - - 1576, 1577, 1579, 1580, 1582, 1583, 1584, 1586, 1587, 1588, - 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, - 1599, 1600, 1602, 1603, 1604, 1606, 1607, 1609, 1610, 1611, - 1612, 1613, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, - 1623, 1625, 1626, 1627, 1628, 1629, 1631, 1634, 1635, 1636, - 1637, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, - 1650, 1651, 1653, 1654, 1655, 1657, 1658, 1659, 1660, 1661, - 1662, 1663, 1665, 1666, 1667, 1669, 1670, 1671, 1672, 1673, - 1674, 1675, 1676, 1677, 1679, 1680, 1681, 1682, 1683, 1684, - 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1695, 1696, - - 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1706, 1707, 1708, - 1709, 1710, 1711, 1712, 1713, 1716, 1717, 1718, 1719, 1720, - 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, - 1731, 1732, 1733, 1734, 1735, 1737, 1738, 1739, 1740, 1741, - 1742, 1743, 1745, 1749, 1751, 1752, 1753, 1754, 1755, 1756, - 1757, 1759, 1760, 1761, 1763, 1764, 1765, 1766, 1767, 1768, - 1769, 1770, 1771, 1772, 1773, 1775, 1776, 1777, 1779, 1780, - 1783, 1785, 1786, 1787, 1789, 1790, 1791, 1792, 1793, 1794, - 1795, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, - 1806, 1807, 1808, 1809, 1810, 1811, 1813, 1814, 1815, 1816, - - 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, - 1827, 1828, 1829, 1830, 1832, 1833, 1835, 1836, 1838, 1839, - 1840, 1841, 1844, 1847, 1848, 1849, 1850, 1852, 1853, 1854, - 1855, 1856, 1857, 1859, 1860, 1862, 1865, 1866, 1867, 1868, - 1870, 1871, 1870, 1873, 1874, 1876, 1877, 1878, 1879, 1880, - 1881, 1882, 1884, 1885, 1886, 1887, 1888, 1891, 1892, 1893, - 1894, 1898, 1898, 1898, 1898, 1898, 1899, 1899, 1899, 1899, - 1899, 1900, 1906, 1900, 1900, 1900, 1901, 1907, 1901, 1908, - 1901, 1902, 1902, 1902, 1902, 1902, 1903, 1903, 1903, 1903, - 1903, 1904, 1909, 1904, 1904, 1904, 1905, 1905, 1905, 716, - - 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, - 705, 704, 703, 702, 701, 700, 699, 697, 695, 694, - 693, 692, 691, 690, 689, 688, 684, 683, 681, 680, - 679, 678, 677, 676, 675, 674, 673, 671, 670, 668, - 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, - 657, 656, 654, 653, 652, 651, 650, 649, 648, 647, - 646, 644, 643, 642, 641, 640, 639, 637, 636, 635, - 634, 633, 632, 631, 629, 628, 627, 626, 625, 624, - 623, 622, 621, 620, 619, 618, 617, 615, 614, 613, - 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, - - 601, 600, 599, 598, 597, 596, 595, 594, 593, 592, - 591, 590, 589, 588, 587, 586, 585, 584, 583, 582, - 581, 580, 579, 578, 577, 576, 575, 574, 573, 571, - 570, 562, 561, 560, 558, 557, 556, 554, 553, 551, - 549, 548, 547, 546, 545, 544, 543, 542, 541, 540, - 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, - 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, - 519, 517, 515, 514, 513, 512, 511, 510, 509, 508, - 507, 506, 505, 504, 503, 502, 500, 499, 498, 497, - 496, 495, 494, 492, 491, 490, 489, 488, 487, 486, - - 485, 484, 483, 482, 481, 480, 479, 477, 476, 475, - 474, 472, 471, 470, 469, 468, 466, 465, 463, 462, - 459, 458, 457, 456, 455, 454, 453, 451, 450, 449, - 448, 447, 446, 445, 444, 439, 437, 436, 434, 433, - 431, 428, 426, 425, 423, 422, 421, 419, 418, 417, - 416, 415, 414, 413, 412, 411, 410, 409, 408, 407, - 406, 405, 403, 402, 401, 399, 398, 397, 396, 394, - 393, 392, 391, 389, 388, 387, 386, 385, 384, 383, - 382, 381, 380, 379, 377, 375, 374, 373, 372, 371, - 370, 369, 367, 366, 365, 364, 363, 362, 361, 360, - - 359, 358, 356, 355, 354, 353, 352, 351, 350, 349, - 348, 347, 346, 345, 343, 342, 341, 340, 339, 336, - 335, 334, 333, 332, 331, 330, 329, 328, 327, 326, - 325, 324, 320, 318, 315, 313, 309, 302, 300, 299, - 298, 297, 296, 294, 293, 292, 291, 290, 289, 288, - 287, 286, 284, 283, 282, 281, 280, 279, 278, 277, - 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, - 265, 264, 263, 262, 261, 259, 258, 257, 256, 255, - 254, 253, 252, 251, 250, 248, 247, 246, 245, 244, - 243, 241, 239, 238, 237, 236, 235, 234, 233, 232, - - 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, - 221, 220, 219, 217, 216, 215, 214, 213, 212, 211, - 210, 209, 208, 206, 203, 201, 199, 195, 193, 190, - 182, 181, 180, 178, 177, 176, 174, 173, 172, 170, - 169, 168, 164, 161, 159, 158, 157, 156, 155, 153, - 152, 151, 150, 149, 148, 146, 145, 144, 143, 142, - 141, 140, 139, 138, 136, 135, 133, 131, 130, 129, - 128, 126, 125, 124, 123, 121, 120, 118, 117, 116, - 112, 104, 102, 97, 96, 77, 72, 66, 58, 49, - 47, 43, 41, 39, 38, 24, 14, 11, 1897, 1897, - - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, 1897, - 1897, 1897 + 82, 171, 119, 122, 122, 115, 721, 163, 179, 111, + 160, 163, 107, 109, 110, 171, 115, 166, 166, 154, + 101, 154, 165, 175, 101, 160, 160, 160, 101, 162, + 167, 723, 162, 162, 167, 179, 101, 186, 167, 184, + + 101, 187, 101, 101, 114, 185, 367, 367, 188, 249, + 195, 367, 114, 114, 114, 114, 114, 165, 165, 165, + 186, 114, 114, 114, 114, 114, 114, 184, 165, 187, + 165, 185, 165, 165, 188, 165, 189, 193, 195, 196, + 197, 199, 201, 218, 114, 114, 114, 114, 114, 114, + 242, 218, 207, 303, 306, 724, 218, 218, 260, 189, + 193, 301, 249, 197, 199, 249, 196, 242, 310, 201, + 205, 205, 205, 205, 205, 207, 303, 306, 310, 205, + 205, 205, 205, 205, 205, 276, 311, 313, 276, 315, + 343, 375, 336, 399, 260, 322, 343, 399, 389, 613, + + 613, 375, 205, 205, 205, 205, 205, 205, 260, 336, + 313, 356, 433, 301, 441, 311, 356, 315, 320, 320, + 320, 320, 320, 419, 322, 725, 419, 320, 320, 320, + 320, 320, 320, 403, 426, 459, 439, 403, 439, 426, + 433, 563, 441, 459, 462, 459, 459, 459, 491, 459, + 320, 320, 320, 320, 320, 320, 389, 462, 491, 462, + 564, 471, 565, 439, 356, 439, 471, 565, 563, 356, + 440, 440, 440, 440, 440, 586, 669, 684, 586, 440, + 440, 440, 440, 440, 440, 683, 693, 669, 564, 726, + 695, 695, 693, 695, 727, 728, 729, 730, 731, 732, + + 684, 733, 440, 440, 440, 440, 440, 440, 716, 734, + 735, 736, 716, 683, 737, 738, 716, 739, 740, 741, + 742, 740, 743, 745, 746, 747, 748, 749, 750, 751, + 752, 753, 754, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 774, 775, 776, 777, 778, 779, 780, 781, 781, + 782, 783, 784, 779, 785, 786, 781, 788, 784, 789, + 781, 790, 791, 792, 793, 794, 795, 796, 797, 798, + 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, + 809, 810, 811, 813, 814, 815, 816, 817, 818, 819, + + 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, + 801, 830, 831, 832, 833, 834, 835, 836, 837, 838, + 839, 840, 842, 843, 844, 845, 846, 847, 848, 849, + 850, 851, 847, 852, 853, 854, 855, 856, 859, 860, + 861, 862, 863, 864, 867, 868, 869, 870, 871, 872, + 873, 874, 875, 876, 873, 877, 878, 879, 880, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, + 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, + 904, 905, 906, 907, 908, 909, 910, 911, 913, 914, + 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, + + 925, 926, 927, 928, 929, 930, 931, 933, 934, 935, + 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, + 946, 947, 948, 925, 949, 950, 924, 951, 952, 953, + 954, 955, 956, 958, 959, 960, 961, 962, 963, 964, + 965, 966, 967, 968, 970, 971, 972, 973, 974, 975, + 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, + 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, + 997, 998, 999, 1001, 1002, 1003, 1004, 1006, 1007, 1008, + 1009, 997, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, + 1018, 1019, 1020, 1021, 1022, 1023, 1025, 1026, 1027, 1028, + + 1029, 1030, 1031, 1032, 1033, 973, 1034, 1035, 1036, 1037, + 1038, 1039, 1040, 1041, 1043, 1042, 1044, 1045, 1046, 1047, + 1048, 1049, 1050, 1052, 1053, 1054, 1055, 1056, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1070, 1041, 1042, 1071, 1072, 1073, 1074, 1075, 1076, 1077, + 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1088, + 1089, 1090, 1091, 1092, 1088, 1093, 1094, 1095, 1096, 1097, + 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, + 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, + 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, + + 1129, 1131, 1132, 1133, 1089, 1135, 1136, 1137, 1138, 1139, + 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, + 1150, 1151, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, + 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1171, 1172, + 1173, 1174, 1175, 1176, 1177, 1153, 1179, 1180, 1181, 1182, + 1183, 1154, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, + 1192, 1193, 1194, 1195, 1198, 1200, 1201, 1202, 1203, 1204, + 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, + 1216, 1217, 1219, 1220, 1221, 1222, 1223, 1224, 1227, 1229, + 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, + + 1240, 1241, 1242, 1243, 1245, 1246, 1247, 1248, 1249, 1252, + 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1263, + 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1274, + 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 1260, 1290, 1292, 1293, 1294, + 1237, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1268, 1312, + 1313, 1314, 1308, 1316, 1319, 1320, 1321, 1322, 1323, 1324, + 1325, 1326, 1327, 1328, 1330, 1331, 1332, 1333, 1334, 1335, + 1336, 1338, 1339, 1334, 1341, 1344, 1345, 1346, 1348, 1349, + + 1351, 1352, 1353, 1354, 1356, 1357, 1358, 1353, 1359, 1360, + 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, + 1372, 1373, 1374, 1375, 1376, 1377, 1354, 1378, 1380, 1381, + 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, + 1394, 1396, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, + 1406, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1416, 1417, + 1419, 1420, 1421, 1422, 1424, 1425, 1424, 1426, 1427, 1428, + 1429, 1430, 1424, 1431, 1432, 1433, 1434, 1436, 1438, 1439, + 1441, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, + 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, + + 1462, 1463, 1453, 1464, 1465, 1466, 1439, 1467, 1468, 1469, + 1470, 1471, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, + 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, + 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, + 1499, 1500, 1501, 1503, 1504, 1505, 1506, 1507, 1509, 1510, + 1511, 1512, 1513, 1515, 1516, 1519, 1520, 1521, 1524, 1525, + 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1536, + 1538, 1472, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1547, + 1513, 1548, 1549, 1551, 1553, 1554, 1555, 1557, 1558, 1559, + 1560, 1561, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, + + 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, + 1581, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1592, 1593, + 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, + 1604, 1605, 1606, 1607, 1609, 1610, 1611, 1613, 1614, 1616, + 1617, 1618, 1619, 1620, 1622, 1623, 1624, 1625, 1626, 1627, + 1628, 1629, 1630, 1632, 1633, 1634, 1635, 1636, 1638, 1641, + 1642, 1643, 1644, 1647, 1649, 1650, 1651, 1652, 1653, 1654, + 1655, 1656, 1657, 1658, 1659, 1661, 1662, 1663, 1665, 1666, + 1667, 1668, 1669, 1670, 1671, 1673, 1674, 1675, 1677, 1678, + 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1687, 1688, 1689, + + 1690, 1691, 1692, 1694, 1695, 1696, 1697, 1698, 1699, 1700, + 1701, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1725, + 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, + 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, + 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1755, 1759, 1761, + 1762, 1763, 1764, 1765, 1766, 1767, 1769, 1770, 1771, 1773, + 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, + 1784, 1786, 1787, 1788, 1790, 1791, 1794, 1796, 1797, 1798, + 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1808, 1809, 1810, + + 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, + 1821, 1822, 1823, 1825, 1826, 1827, 1828, 1829, 1830, 1831, + 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, + 1842, 1843, 1845, 1846, 1848, 1849, 1850, 1852, 1853, 1854, + 1855, 1858, 1861, 1862, 1863, 1864, 1866, 1867, 1868, 1869, + 1870, 1871, 1872, 1874, 1875, 1877, 1879, 1881, 1882, 1883, + 1884, 1886, 1887, 1886, 1888, 1890, 1891, 1893, 1894, 1895, + 1896, 1897, 1898, 1899, 1900, 1902, 1903, 1904, 1905, 1906, + 1908, 1911, 1912, 1913, 1914, 1918, 1918, 1918, 1919, 1919, + 1919, 1920, 1921, 1920, 1922, 1922, 1922, 1923, 1923, 1923, + + 1924, 714, 1924, 1925, 1925, 1925, 713, 712, 711, 710, + 709, 708, 707, 706, 705, 704, 703, 702, 701, 700, + 699, 698, 697, 696, 694, 692, 691, 690, 689, 688, + 687, 686, 685, 681, 680, 678, 677, 676, 675, 674, + 673, 672, 671, 670, 668, 667, 665, 664, 663, 662, + 661, 660, 659, 658, 657, 656, 655, 654, 653, 651, + 650, 649, 648, 647, 646, 645, 644, 643, 641, 640, + 639, 638, 637, 636, 634, 633, 632, 631, 630, 629, + 628, 626, 625, 624, 623, 622, 621, 620, 619, 618, + 617, 616, 615, 614, 612, 611, 610, 609, 608, 607, + + 606, 605, 604, 603, 602, 601, 600, 598, 597, 596, + 595, 594, 593, 592, 591, 590, 589, 588, 587, 585, + 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, + 574, 573, 572, 571, 570, 568, 567, 559, 558, 557, + 556, 555, 554, 552, 551, 549, 547, 546, 545, 544, + 543, 542, 541, 540, 539, 538, 537, 536, 535, 534, + 533, 532, 531, 530, 529, 528, 527, 526, 525, 524, + 523, 522, 521, 520, 519, 518, 517, 515, 513, 512, + 511, 510, 509, 508, 507, 506, 505, 504, 503, 502, + 501, 500, 498, 497, 496, 495, 494, 493, 492, 490, + + 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, + 479, 478, 477, 475, 474, 473, 472, 470, 469, 468, + 467, 466, 464, 463, 461, 460, 457, 456, 455, 454, + 453, 452, 451, 449, 448, 447, 446, 445, 444, 443, + 442, 437, 435, 434, 432, 431, 430, 427, 425, 424, + 422, 421, 420, 418, 417, 416, 415, 414, 413, 412, + 411, 410, 409, 408, 407, 406, 405, 404, 402, 401, + 400, 398, 397, 396, 395, 393, 392, 391, 390, 388, + 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, + 376, 374, 373, 372, 371, 370, 369, 368, 366, 365, + + 364, 363, 362, 361, 360, 359, 358, 357, 355, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 345, 344, + 342, 341, 340, 339, 338, 335, 334, 333, 332, 331, + 330, 329, 328, 327, 326, 325, 324, 323, 319, 317, + 314, 312, 309, 302, 300, 299, 298, 297, 296, 294, + 293, 292, 291, 290, 289, 288, 287, 286, 284, 283, + 282, 281, 280, 279, 278, 277, 275, 274, 273, 272, + 271, 270, 269, 268, 267, 266, 265, 264, 263, 262, + 261, 259, 258, 257, 256, 255, 254, 253, 252, 251, + 250, 248, 247, 246, 245, 244, 243, 241, 239, 238, + + 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, + 227, 226, 225, 224, 223, 222, 221, 220, 219, 217, + 216, 215, 214, 213, 212, 211, 210, 209, 208, 206, + 202, 200, 198, 194, 192, 190, 182, 181, 180, 178, + 177, 176, 174, 173, 172, 170, 169, 168, 164, 161, + 159, 158, 157, 156, 155, 153, 152, 151, 150, 149, + 148, 146, 145, 144, 143, 142, 141, 140, 139, 138, + 136, 135, 133, 131, 130, 129, 128, 126, 125, 124, + 123, 121, 120, 118, 117, 116, 112, 104, 102, 97, + 96, 77, 72, 66, 58, 49, 47, 43, 41, 39, + + 38, 24, 14, 11, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917, + 1917, 1917, 1917, 1917, 1917, 1917, 1917, 1917 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; -extern int yy_flex_debug; -int yy_flex_debug = 1; +extern int parser4__flex_debug; +int parser4__flex_debug = 1; -static const flex_int16_t yy_rule_linenum[204] = +static yyconst flex_int16_t yy_rule_linenum[206] = { 0, 145, 147, 149, 154, 155, 160, 161, 162, 174, 177, 182, 189, 198, 207, 216, 225, 234, 243, 253, 262, @@ -1929,23 +1709,23 @@ static const flex_int16_t yy_rule_linenum[204] = 361, 373, 382, 391, 400, 409, 420, 431, 442, 453, 464, 475, 486, 497, 508, 519, 530, 541, 552, 563, 574, 585, 594, 605, 616, 627, 638, 649, 658, 667, - 676, 685, 696, 707, 718, 729, 740, 751, 762, 772, - 783, 792, 802, 816, 832, 841, 850, 859, 868, 890, - 912, 921, 931, 940, 951, 962, 973, 984, 993, 1002, - 1011, 1020, 1029, 1039, 1048, 1059, 1070, 1081, 1092, 1104, - - 1113, 1122, 1131, 1140, 1149, 1158, 1167, 1176, 1185, 1195, - 1206, 1218, 1227, 1236, 1246, 1256, 1266, 1276, 1286, 1296, - 1305, 1315, 1324, 1333, 1342, 1351, 1361, 1371, 1380, 1390, - 1399, 1408, 1417, 1426, 1435, 1444, 1453, 1462, 1471, 1480, - 1489, 1498, 1507, 1516, 1525, 1534, 1543, 1552, 1561, 1570, - 1579, 1588, 1597, 1606, 1615, 1624, 1633, 1642, 1651, 1660, - 1669, 1678, 1687, 1696, 1705, 1717, 1729, 1739, 1749, 1759, - 1769, 1779, 1789, 1799, 1809, 1819, 1828, 1837, 1846, 1855, - 1866, 1877, 1890, 1903, 1916, 1925, 2024, 2029, 2034, 2039, - 2040, 2041, 2042, 2043, 2044, 2046, 2064, 2077, 2082, 2086, - - 2088, 2090, 2092 + 676, 685, 696, 707, 718, 729, 740, 751, 762, 773, + 783, 794, 803, 813, 827, 843, 852, 861, 870, 879, + 901, 923, 932, 942, 951, 962, 973, 984, 995, 1004, + 1013, 1022, 1031, 1040, 1050, 1059, 1070, 1081, 1092, 1103, + + 1115, 1124, 1133, 1142, 1151, 1160, 1169, 1178, 1187, 1196, + 1206, 1217, 1229, 1238, 1247, 1257, 1267, 1277, 1287, 1297, + 1307, 1316, 1326, 1335, 1344, 1353, 1362, 1372, 1382, 1391, + 1401, 1410, 1419, 1428, 1437, 1446, 1455, 1464, 1473, 1482, + 1491, 1500, 1509, 1518, 1527, 1536, 1545, 1554, 1563, 1572, + 1581, 1590, 1599, 1608, 1617, 1626, 1635, 1644, 1653, 1662, + 1671, 1680, 1689, 1698, 1707, 1716, 1728, 1740, 1750, 1760, + 1770, 1780, 1790, 1800, 1810, 1820, 1830, 1839, 1848, 1857, + 1866, 1877, 1888, 1901, 1914, 1927, 1936, 2037, 2053, 2102, + 2110, 2125, 2126, 2127, 2128, 2129, 2130, 2132, 2150, 2163, + + 2168, 2172, 2174, 2176, 2178 } ; /* The intent behind this definition is that it'll catch @@ -1955,7 +1735,7 @@ static const flex_int16_t yy_rule_linenum[204] = #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -char *yytext; +char *parser4_text; #line 1 "dhcp4_lexer.ll" /* Copyright (C) 2016-2020 Internet Systems Consortium, Inc. ("ISC") @@ -1967,6 +1747,7 @@ char *yytext; /* Generated files do not make clang static analyser so happy */ #ifndef __clang_analyzer__ +#include #include #include #include @@ -1982,8 +1763,8 @@ char *yytext; 2.5.31 through 2.5.33): it generates code that does not conform to C89. See Debian bug 333231 . */ -# undef yywrap -# define yywrap() 1 +# undef parser4_wrap +# define parser4_wrap() 1 namespace { @@ -1998,10 +1779,9 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 2001 "dhcp4_lexer.cc" /* noyywrap disables automatic rewinding for the next file to parse. Since we always parse only a single string, there's no need to do any wraps. And - using yywrap requires linking with -lfl, which provides the default yywrap + using parser4_wrap requires linking with -lfl, which provides the default parser4_wrap implementation that always returns 1 anyway. */ /* nounput simplifies the lexer, by removing support for putting a character back into the input stream. We never use such capability anyway. */ @@ -2009,23 +1789,23 @@ using namespace isc::dhcp; /* avoid to get static global variables to remain with C++. */ /* in last resort %option reentrant */ /* Enables debug mode. To see the debug messages, one needs to also set - yy_flex_debug to 1, then the debug messages will be printed on stderr. */ + parser4__flex_debug to 1, then the debug messages will be printed on stderr. */ /* I have no idea what this option does, except it was specified in the bison examples and Postgres folks added it to remove gcc 4.3 warnings. Let's be on the safe side and keep it. */ #define YY_NO_INPUT 1 + /* These are not token expressions yet, just convenience expressions that can be used during actual token definitions. Note some can match incorrect inputs (e.g., IP addresses) which must be checked. */ /* for errors */ -#line 94 "dhcp4_lexer.ll" +#line 95 "dhcp4_lexer.ll" /* This code run each time a pattern is matched. It updates the location - by moving it ahead by yyleng bytes. yyleng specifies the length of the + by moving it ahead by parser4_leng bytes. parser4_leng specifies the length of the currently matched token. */ -#define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2027 "dhcp4_lexer.cc" -#line 2028 "dhcp4_lexer.cc" +#define YY_USER_ACTION driver.loc_.columns(parser4_leng); +#line 1809 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2053,7 +1833,7 @@ using namespace isc::dhcp; /* %if-reentrant */ /* %if-c-only */ -static int yy_init_globals ( void ); +static int yy_init_globals (void ); /* %endif */ /* %if-reentrant */ @@ -2063,31 +1843,31 @@ static int yy_init_globals ( void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int yylex_destroy ( void ); +int parser4_lex_destroy (void ); -int yyget_debug ( void ); +int parser4_get_debug (void ); -void yyset_debug ( int debug_flag ); +void parser4_set_debug (int debug_flag ); -YY_EXTRA_TYPE yyget_extra ( void ); +YY_EXTRA_TYPE parser4_get_extra (void ); -void yyset_extra ( YY_EXTRA_TYPE user_defined ); +void parser4_set_extra (YY_EXTRA_TYPE user_defined ); -FILE *yyget_in ( void ); +FILE *parser4_get_in (void ); -void yyset_in ( FILE * _in_str ); +void parser4_set_in (FILE * in_str ); -FILE *yyget_out ( void ); +FILE *parser4_get_out (void ); -void yyset_out ( FILE * _out_str ); +void parser4_set_out (FILE * out_str ); - int yyget_leng ( void ); +yy_size_t parser4_get_leng (void ); -char *yyget_text ( void ); +char *parser4_get_text (void ); -int yyget_lineno ( void ); +int parser4_get_lineno (void ); -void yyset_lineno ( int _line_number ); +void parser4_set_lineno (int line_number ); /* %if-bison-bridge */ /* %endif */ @@ -2098,35 +1878,34 @@ void yyset_lineno ( int _line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap ( void ); +extern "C" int parser4_wrap (void ); #else -extern int yywrap ( void ); +extern int parser4_wrap (void ); #endif #endif /* %not-for-header */ -#ifndef YY_NO_UNPUT - -#endif + /* %ok-for-header */ /* %endif */ #ifndef yytext_ptr -static void yy_flex_strncpy ( char *, const char *, int ); +static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen ( const char * ); +static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT /* %if-c-only Standard (non-C++) definition */ /* %not-for-header */ + #ifdef __cplusplus -static int yyinput ( void ); +static int yyinput (void ); #else -static int input ( void ); +static int input (void ); #endif /* %ok-for-header */ @@ -2139,12 +1918,7 @@ static int input ( void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -2153,7 +1927,7 @@ static int input ( void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( parser4_text, parser4_leng, 1, parser4_out ) /* %endif */ /* %if-c++-only C++ definition */ /* %endif */ @@ -2168,20 +1942,20 @@ static int input ( void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + yy_size_t n; \ for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + (c = getc( parser4_in )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ + if ( c == EOF && ferror( parser4_in ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ - while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ + while ( (result = fread(buf, 1, max_size, parser4_in))==0 && ferror(parser4_in)) \ { \ if( errno != EINTR) \ { \ @@ -2189,7 +1963,7 @@ static int input ( void ); break; \ } \ errno=0; \ - clearerr(yyin); \ + clearerr(parser4_in); \ } \ }\ \ @@ -2222,9 +1996,11 @@ static int input ( void ); /* %if-tables-serialization structures and prototypes */ /* %not-for-header */ + /* %ok-for-header */ /* %not-for-header */ + /* %tables-yydmap generated elements */ /* %endif */ /* end tables serialization structures and prototypes */ @@ -2238,15 +2014,15 @@ static int input ( void ); #define YY_DECL_IS_OURS 1 /* %if-c-only Standard (non-C++) definition */ -extern int yylex (void); +extern int parser4_lex (void); -#define YY_DECL int yylex (void) +#define YY_DECL int parser4_lex (void) /* %endif */ /* %if-c++-only C++ definition */ /* %endif */ #endif /* !YY_DECL */ -/* Code executed at the beginning of each rule, after yytext and yyleng +/* Code executed at the beginning of each rule, after parser4_text and parser4_leng * have been set up. */ #ifndef YY_USER_ACTION @@ -2255,7 +2031,7 @@ extern int yylex (void); /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK /*LINTED*/break; +#define YY_BREAK break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -2263,60 +2039,25 @@ extern int yylex (void); YY_USER_ACTION /* %not-for-header */ + /** The main scanner function which does all the work. */ YY_DECL { - yy_state_type yy_current_state; - char *yy_cp, *yy_bp; - int yy_act; + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; - if ( !(yy_init) ) - { - (yy_init) = 1; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! yyin ) -/* %if-c-only */ - yyin = stdin; -/* %endif */ -/* %if-c++-only */ -/* %endif */ - - if ( ! yyout ) -/* %if-c-only */ - yyout = stdout; -/* %endif */ -/* %if-c++-only */ -/* %endif */ - - if ( ! YY_CURRENT_BUFFER ) { - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); - } - - yy_load_buffer_state( ); - } - - { /* %% [7.0] user's declarations go here */ -#line 100 "dhcp4_lexer.ll" +#line 101 "dhcp4_lexer.ll" -#line 104 "dhcp4_lexer.ll" /* This part of the code is copied over to the verbatim to the top - of the generated yylex function. Explanation: + of the generated parser4_lex function. Explanation: http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ - /* Code run each time yylex is called. */ + /* Code run each time parser4_lex is called. */ driver.loc_.step(); if (start_token_flag) { @@ -2353,14 +2094,48 @@ YY_DECL } -#line 2356 "dhcp4_lexer.cc" +#line 2098 "dhcp4_lexer.cc" + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! parser4_in ) +/* %if-c-only */ + parser4_in = stdin; +/* %endif */ +/* %if-c++-only */ +/* %endif */ + + if ( ! parser4_out ) +/* %if-c-only */ + parser4_out = stdout; +/* %endif */ +/* %if-c++-only */ +/* %endif */ + + if ( ! YY_CURRENT_BUFFER ) { + parser4_ensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + parser4__create_buffer(parser4_in,YY_BUF_SIZE ); + } + + parser4__load_buffer_state( ); + } - while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ + while ( 1 ) /* loops until end-of-file is reached */ { /* %% [8.0] yymore()-related code goes here */ yy_cp = (yy_c_buf_p); - /* Support of yytext. */ + /* Support of parser4_text. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of @@ -2373,7 +2148,7 @@ YY_DECL yy_match: do { - YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2382,13 +2157,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1898 ) - yy_c = yy_meta[yy_c]; + if ( yy_current_state >= 1918 ) + yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 1897 ); + while ( yy_current_state != 1917 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2398,22 +2173,22 @@ yy_find_action: YY_DO_BEFORE_ACTION; -/* %% [11.0] code for yylineno update goes here */ +/* %% [11.0] code for parser4_lineno update goes here */ do_action: /* This label is used only to access EOF actions. */ /* %% [12.0] debug code goes here */ - if ( yy_flex_debug ) + if ( parser4__flex_debug ) { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 204 ) + else if ( yy_act < 206 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", - (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 204 ) + (long)yy_rule_linenum[yy_act], parser4_text ); + else if ( yy_act == 206 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", - yytext ); - else if ( yy_act == 205 ) + parser4_text ); + else if ( yy_act == 207 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -2480,7 +2255,7 @@ YY_RULE_SETUP /* Include directive. */ /* Extract the filename. */ - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); driver.includeFile(tmp); @@ -2513,7 +2288,7 @@ YY_RULE_SETUP #line 182 "dhcp4_lexer.ll" { /* Newline found. Let's update the location and continue. */ - driver.loc_.lines(yyleng); + driver.loc_.lines(parser4_leng); driver.loc_.step(); } YY_BREAK @@ -3264,6 +3039,20 @@ YY_RULE_SETUP case 69: YY_RULE_SETUP #line 762 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::DHCP4: + case isc::dhcp::Parser4Context::SUBNET4: + case isc::dhcp::Parser4Context::SHARED_NETWORK: + return isc::dhcp::Dhcp4Parser::make_DDNS_USE_CONFLICT_RESOLUTION(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_); + } +} + YY_BREAK +case 70: +YY_RULE_SETUP +#line 773 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3274,9 +3063,9 @@ YY_RULE_SETUP } } YY_BREAK -case 70: +case 71: YY_RULE_SETUP -#line 772 "dhcp4_lexer.ll" +#line 783 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3288,9 +3077,9 @@ YY_RULE_SETUP } } YY_BREAK -case 71: +case 72: YY_RULE_SETUP -#line 783 "dhcp4_lexer.ll" +#line 794 "dhcp4_lexer.ll" { switch (driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3300,9 +3089,9 @@ YY_RULE_SETUP } } YY_BREAK -case 72: +case 73: YY_RULE_SETUP -#line 792 "dhcp4_lexer.ll" +#line 803 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3313,9 +3102,9 @@ YY_RULE_SETUP } } YY_BREAK -case 73: +case 74: YY_RULE_SETUP -#line 802 "dhcp4_lexer.ll" +#line 813 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3330,9 +3119,9 @@ YY_RULE_SETUP } } YY_BREAK -case 74: +case 75: YY_RULE_SETUP -#line 816 "dhcp4_lexer.ll" +#line 827 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -3349,9 +3138,9 @@ YY_RULE_SETUP } } YY_BREAK -case 75: +case 76: YY_RULE_SETUP -#line 832 "dhcp4_lexer.ll" +#line 843 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3361,9 +3150,9 @@ YY_RULE_SETUP } } YY_BREAK -case 76: +case 77: YY_RULE_SETUP -#line 841 "dhcp4_lexer.ll" +#line 852 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3373,9 +3162,9 @@ YY_RULE_SETUP } } YY_BREAK -case 77: +case 78: YY_RULE_SETUP -#line 850 "dhcp4_lexer.ll" +#line 861 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3385,9 +3174,9 @@ YY_RULE_SETUP } } YY_BREAK -case 78: +case 79: YY_RULE_SETUP -#line 859 "dhcp4_lexer.ll" +#line 870 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::POOLS: @@ -3397,9 +3186,9 @@ YY_RULE_SETUP } } YY_BREAK -case 79: +case 80: YY_RULE_SETUP -#line 868 "dhcp4_lexer.ll" +#line 879 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3422,9 +3211,9 @@ YY_RULE_SETUP } } YY_BREAK -case 80: +case 81: YY_RULE_SETUP -#line 890 "dhcp4_lexer.ll" +#line 901 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3447,9 +3236,9 @@ YY_RULE_SETUP } } YY_BREAK -case 81: +case 82: YY_RULE_SETUP -#line 912 "dhcp4_lexer.ll" +#line 923 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3459,9 +3248,9 @@ YY_RULE_SETUP } } YY_BREAK -case 82: +case 83: YY_RULE_SETUP -#line 921 "dhcp4_lexer.ll" +#line 932 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3472,9 +3261,9 @@ YY_RULE_SETUP } } YY_BREAK -case 83: +case 84: YY_RULE_SETUP -#line 931 "dhcp4_lexer.ll" +#line 942 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3484,9 +3273,9 @@ YY_RULE_SETUP } } YY_BREAK -case 84: +case 85: YY_RULE_SETUP -#line 940 "dhcp4_lexer.ll" +#line 951 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3498,9 +3287,9 @@ YY_RULE_SETUP } } YY_BREAK -case 85: +case 86: YY_RULE_SETUP -#line 951 "dhcp4_lexer.ll" +#line 962 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3512,9 +3301,9 @@ YY_RULE_SETUP } } YY_BREAK -case 86: +case 87: YY_RULE_SETUP -#line 962 "dhcp4_lexer.ll" +#line 973 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3526,9 +3315,9 @@ YY_RULE_SETUP } } YY_BREAK -case 87: +case 88: YY_RULE_SETUP -#line 973 "dhcp4_lexer.ll" +#line 984 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3540,9 +3329,9 @@ YY_RULE_SETUP } } YY_BREAK -case 88: +case 89: YY_RULE_SETUP -#line 984 "dhcp4_lexer.ll" +#line 995 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3552,9 +3341,9 @@ YY_RULE_SETUP } } YY_BREAK -case 89: +case 90: YY_RULE_SETUP -#line 993 "dhcp4_lexer.ll" +#line 1004 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3564,9 +3353,9 @@ YY_RULE_SETUP } } YY_BREAK -case 90: +case 91: YY_RULE_SETUP -#line 1002 "dhcp4_lexer.ll" +#line 1013 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3576,9 +3365,9 @@ YY_RULE_SETUP } } YY_BREAK -case 91: +case 92: YY_RULE_SETUP -#line 1011 "dhcp4_lexer.ll" +#line 1022 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3588,9 +3377,9 @@ YY_RULE_SETUP } } YY_BREAK -case 92: +case 93: YY_RULE_SETUP -#line 1020 "dhcp4_lexer.ll" +#line 1031 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -3600,9 +3389,9 @@ YY_RULE_SETUP } } YY_BREAK -case 93: +case 94: YY_RULE_SETUP -#line 1029 "dhcp4_lexer.ll" +#line 1040 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3613,9 +3402,9 @@ YY_RULE_SETUP } } YY_BREAK -case 94: +case 95: YY_RULE_SETUP -#line 1039 "dhcp4_lexer.ll" +#line 1050 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3625,9 +3414,9 @@ YY_RULE_SETUP } } YY_BREAK -case 95: +case 96: YY_RULE_SETUP -#line 1048 "dhcp4_lexer.ll" +#line 1059 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3639,9 +3428,9 @@ YY_RULE_SETUP } } YY_BREAK -case 96: +case 97: YY_RULE_SETUP -#line 1059 "dhcp4_lexer.ll" +#line 1070 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3653,9 +3442,9 @@ YY_RULE_SETUP } } YY_BREAK -case 97: +case 98: YY_RULE_SETUP -#line 1070 "dhcp4_lexer.ll" +#line 1081 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3667,9 +3456,9 @@ YY_RULE_SETUP } } YY_BREAK -case 98: +case 99: YY_RULE_SETUP -#line 1081 "dhcp4_lexer.ll" +#line 1092 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3681,9 +3470,9 @@ YY_RULE_SETUP } } YY_BREAK -case 99: +case 100: YY_RULE_SETUP -#line 1092 "dhcp4_lexer.ll" +#line 1103 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3695,9 +3484,9 @@ YY_RULE_SETUP } } YY_BREAK -case 100: +case 101: YY_RULE_SETUP -#line 1104 "dhcp4_lexer.ll" +#line 1115 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3707,9 +3496,9 @@ YY_RULE_SETUP } } YY_BREAK -case 101: +case 102: YY_RULE_SETUP -#line 1113 "dhcp4_lexer.ll" +#line 1124 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -3719,9 +3508,9 @@ YY_RULE_SETUP } } YY_BREAK -case 102: +case 103: YY_RULE_SETUP -#line 1122 "dhcp4_lexer.ll" +#line 1133 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3731,9 +3520,9 @@ YY_RULE_SETUP } } YY_BREAK -case 103: +case 104: YY_RULE_SETUP -#line 1131 "dhcp4_lexer.ll" +#line 1142 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -3743,9 +3532,9 @@ YY_RULE_SETUP } } YY_BREAK -case 104: +case 105: YY_RULE_SETUP -#line 1140 "dhcp4_lexer.ll" +#line 1151 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3755,9 +3544,9 @@ YY_RULE_SETUP } } YY_BREAK -case 105: +case 106: YY_RULE_SETUP -#line 1149 "dhcp4_lexer.ll" +#line 1160 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3767,9 +3556,9 @@ YY_RULE_SETUP } } YY_BREAK -case 106: +case 107: YY_RULE_SETUP -#line 1158 "dhcp4_lexer.ll" +#line 1169 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3779,9 +3568,9 @@ YY_RULE_SETUP } } YY_BREAK -case 107: +case 108: YY_RULE_SETUP -#line 1167 "dhcp4_lexer.ll" +#line 1178 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -3791,9 +3580,9 @@ YY_RULE_SETUP } } YY_BREAK -case 108: +case 109: YY_RULE_SETUP -#line 1176 "dhcp4_lexer.ll" +#line 1187 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -3803,9 +3592,9 @@ YY_RULE_SETUP } } YY_BREAK -case 109: +case 110: YY_RULE_SETUP -#line 1185 "dhcp4_lexer.ll" +#line 1196 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3816,9 +3605,9 @@ YY_RULE_SETUP } } YY_BREAK -case 110: +case 111: YY_RULE_SETUP -#line 1195 "dhcp4_lexer.ll" +#line 1206 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3830,9 +3619,9 @@ YY_RULE_SETUP } } YY_BREAK -case 111: +case 112: YY_RULE_SETUP -#line 1206 "dhcp4_lexer.ll" +#line 1217 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3845,9 +3634,9 @@ YY_RULE_SETUP } } YY_BREAK -case 112: +case 113: YY_RULE_SETUP -#line 1218 "dhcp4_lexer.ll" +#line 1229 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -3857,9 +3646,9 @@ YY_RULE_SETUP } } YY_BREAK -case 113: +case 114: YY_RULE_SETUP -#line 1227 "dhcp4_lexer.ll" +#line 1238 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -3869,9 +3658,9 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 115: YY_RULE_SETUP -#line 1236 "dhcp4_lexer.ll" +#line 1247 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3882,9 +3671,9 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 116: YY_RULE_SETUP -#line 1246 "dhcp4_lexer.ll" +#line 1257 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3895,9 +3684,9 @@ YY_RULE_SETUP } } YY_BREAK -case 116: +case 117: YY_RULE_SETUP -#line 1256 "dhcp4_lexer.ll" +#line 1267 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3908,9 +3697,9 @@ YY_RULE_SETUP } } YY_BREAK -case 117: +case 118: YY_RULE_SETUP -#line 1266 "dhcp4_lexer.ll" +#line 1277 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3921,9 +3710,9 @@ YY_RULE_SETUP } } YY_BREAK -case 118: +case 119: YY_RULE_SETUP -#line 1276 "dhcp4_lexer.ll" +#line 1287 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3934,9 +3723,9 @@ YY_RULE_SETUP } } YY_BREAK -case 119: +case 120: YY_RULE_SETUP -#line 1286 "dhcp4_lexer.ll" +#line 1297 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3947,9 +3736,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 121: YY_RULE_SETUP -#line 1296 "dhcp4_lexer.ll" +#line 1307 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -3959,9 +3748,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 122: YY_RULE_SETUP -#line 1305 "dhcp4_lexer.ll" +#line 1316 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3972,9 +3761,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 123: YY_RULE_SETUP -#line 1315 "dhcp4_lexer.ll" +#line 1326 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3984,9 +3773,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 124: YY_RULE_SETUP -#line 1324 "dhcp4_lexer.ll" +#line 1335 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3996,9 +3785,9 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 125: YY_RULE_SETUP -#line 1333 "dhcp4_lexer.ll" +#line 1344 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4008,9 +3797,9 @@ YY_RULE_SETUP } } YY_BREAK -case 125: +case 126: YY_RULE_SETUP -#line 1342 "dhcp4_lexer.ll" +#line 1353 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4020,9 +3809,9 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 127: YY_RULE_SETUP -#line 1351 "dhcp4_lexer.ll" +#line 1362 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4033,9 +3822,9 @@ YY_RULE_SETUP } } YY_BREAK -case 127: +case 128: YY_RULE_SETUP -#line 1361 "dhcp4_lexer.ll" +#line 1372 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -4046,9 +3835,9 @@ YY_RULE_SETUP } } YY_BREAK -case 128: +case 129: YY_RULE_SETUP -#line 1371 "dhcp4_lexer.ll" +#line 1382 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -4058,9 +3847,9 @@ YY_RULE_SETUP } } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 1380 "dhcp4_lexer.ll" +#line 1391 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4070,9 +3859,9 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 131: YY_RULE_SETUP -#line 1390 "dhcp4_lexer.ll" +#line 1401 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4082,9 +3871,9 @@ YY_RULE_SETUP } } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 1399 "dhcp4_lexer.ll" +#line 1410 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4094,9 +3883,9 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 1408 "dhcp4_lexer.ll" +#line 1419 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4106,9 +3895,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 134: YY_RULE_SETUP -#line 1417 "dhcp4_lexer.ll" +#line 1428 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4118,9 +3907,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 135: YY_RULE_SETUP -#line 1426 "dhcp4_lexer.ll" +#line 1437 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4130,9 +3919,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 136: YY_RULE_SETUP -#line 1435 "dhcp4_lexer.ll" +#line 1446 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4142,9 +3931,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 137: YY_RULE_SETUP -#line 1444 "dhcp4_lexer.ll" +#line 1455 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4154,9 +3943,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 138: YY_RULE_SETUP -#line 1453 "dhcp4_lexer.ll" +#line 1464 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4166,9 +3955,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 139: YY_RULE_SETUP -#line 1462 "dhcp4_lexer.ll" +#line 1473 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4178,9 +3967,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 140: YY_RULE_SETUP -#line 1471 "dhcp4_lexer.ll" +#line 1482 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4190,9 +3979,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 141: YY_RULE_SETUP -#line 1480 "dhcp4_lexer.ll" +#line 1491 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4202,9 +3991,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 142: YY_RULE_SETUP -#line 1489 "dhcp4_lexer.ll" +#line 1500 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4214,9 +4003,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 143: YY_RULE_SETUP -#line 1498 "dhcp4_lexer.ll" +#line 1509 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4226,9 +4015,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 1507 "dhcp4_lexer.ll" +#line 1518 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4238,9 +4027,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 1516 "dhcp4_lexer.ll" +#line 1527 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4250,9 +4039,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 146: YY_RULE_SETUP -#line 1525 "dhcp4_lexer.ll" +#line 1536 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4262,9 +4051,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 147: YY_RULE_SETUP -#line 1534 "dhcp4_lexer.ll" +#line 1545 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4274,9 +4063,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 148: YY_RULE_SETUP -#line 1543 "dhcp4_lexer.ll" +#line 1554 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4286,9 +4075,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 149: YY_RULE_SETUP -#line 1552 "dhcp4_lexer.ll" +#line 1563 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4298,9 +4087,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 150: YY_RULE_SETUP -#line 1561 "dhcp4_lexer.ll" +#line 1572 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4310,9 +4099,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 151: YY_RULE_SETUP -#line 1570 "dhcp4_lexer.ll" +#line 1581 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4322,9 +4111,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 1579 "dhcp4_lexer.ll" +#line 1590 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4334,9 +4123,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 153: YY_RULE_SETUP -#line 1588 "dhcp4_lexer.ll" +#line 1599 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4346,9 +4135,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 154: YY_RULE_SETUP -#line 1597 "dhcp4_lexer.ll" +#line 1608 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4358,9 +4147,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 155: YY_RULE_SETUP -#line 1606 "dhcp4_lexer.ll" +#line 1617 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4370,9 +4159,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 156: YY_RULE_SETUP -#line 1615 "dhcp4_lexer.ll" +#line 1626 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4382,9 +4171,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 157: YY_RULE_SETUP -#line 1624 "dhcp4_lexer.ll" +#line 1635 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4394,9 +4183,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 158: YY_RULE_SETUP -#line 1633 "dhcp4_lexer.ll" +#line 1644 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4406,9 +4195,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 159: YY_RULE_SETUP -#line 1642 "dhcp4_lexer.ll" +#line 1653 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4418,9 +4207,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 160: YY_RULE_SETUP -#line 1651 "dhcp4_lexer.ll" +#line 1662 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4430,9 +4219,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 161: YY_RULE_SETUP -#line 1660 "dhcp4_lexer.ll" +#line 1671 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4442,9 +4231,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 162: YY_RULE_SETUP -#line 1669 "dhcp4_lexer.ll" +#line 1680 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4454,9 +4243,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 163: YY_RULE_SETUP -#line 1678 "dhcp4_lexer.ll" +#line 1689 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4466,9 +4255,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 164: YY_RULE_SETUP -#line 1687 "dhcp4_lexer.ll" +#line 1698 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4478,9 +4267,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 165: YY_RULE_SETUP -#line 1696 "dhcp4_lexer.ll" +#line 1707 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4490,9 +4279,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 166: YY_RULE_SETUP -#line 1705 "dhcp4_lexer.ll" +#line 1716 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4505,9 +4294,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 167: YY_RULE_SETUP -#line 1717 "dhcp4_lexer.ll" +#line 1728 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4520,126 +4309,126 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 168: YY_RULE_SETUP -#line 1729 "dhcp4_lexer.ll" +#line 1740 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { return isc::dhcp::Dhcp4Parser::make_UDP(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 168: +case 169: YY_RULE_SETUP -#line 1739 "dhcp4_lexer.ll" +#line 1750 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { return isc::dhcp::Dhcp4Parser::make_TCP(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 169: +case 170: YY_RULE_SETUP -#line 1749 "dhcp4_lexer.ll" +#line 1760 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) { return isc::dhcp::Dhcp4Parser::make_JSON(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 170: +case 171: YY_RULE_SETUP -#line 1759 "dhcp4_lexer.ll" +#line 1770 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 171: +case 172: YY_RULE_SETUP -#line 1769 "dhcp4_lexer.ll" +#line 1780 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp4Parser::make_WHEN_PRESENT(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 172: +case 173: YY_RULE_SETUP -#line 1779 "dhcp4_lexer.ll" +#line 1790 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp4Parser::make_NEVER(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 173: +case 174: YY_RULE_SETUP -#line 1789 "dhcp4_lexer.ll" +#line 1800 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp4Parser::make_NEVER(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 174: +case 175: YY_RULE_SETUP -#line 1799 "dhcp4_lexer.ll" +#line 1810 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp4Parser::make_ALWAYS(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 175: +case 176: YY_RULE_SETUP -#line 1809 "dhcp4_lexer.ll" +#line 1820 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp4Parser::make_WHEN_NOT_PRESENT(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser4_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 176: +case 177: YY_RULE_SETUP -#line 1819 "dhcp4_lexer.ll" +#line 1830 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4649,9 +4438,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 178: YY_RULE_SETUP -#line 1828 "dhcp4_lexer.ll" +#line 1839 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4661,9 +4450,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 179: YY_RULE_SETUP -#line 1837 "dhcp4_lexer.ll" +#line 1848 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4673,9 +4462,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 180: YY_RULE_SETUP -#line 1846 "dhcp4_lexer.ll" +#line 1857 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4685,9 +4474,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 181: YY_RULE_SETUP -#line 1855 "dhcp4_lexer.ll" +#line 1866 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4699,9 +4488,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 182: YY_RULE_SETUP -#line 1866 "dhcp4_lexer.ll" +#line 1877 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4713,9 +4502,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 183: YY_RULE_SETUP -#line 1877 "dhcp4_lexer.ll" +#line 1888 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4729,9 +4518,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 184: YY_RULE_SETUP -#line 1890 "dhcp4_lexer.ll" +#line 1901 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4745,9 +4534,9 @@ YY_RULE_SETUP } } YY_BREAK -case 184: +case 185: YY_RULE_SETUP -#line 1903 "dhcp4_lexer.ll" +#line 1914 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4761,9 +4550,9 @@ YY_RULE_SETUP } } YY_BREAK -case 185: +case 186: YY_RULE_SETUP -#line 1916 "dhcp4_lexer.ll" +#line 1927 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4773,14 +4562,14 @@ YY_RULE_SETUP } } YY_BREAK -case 186: +case 187: YY_RULE_SETUP -#line 1925 "dhcp4_lexer.ll" +#line 1936 "dhcp4_lexer.ll" { /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. for 'foo' we should get foo */ - std::string raw(yytext+1); + std::string raw(parser4_text+1); size_t len = raw.size() - 1; raw.resize(len); std::string decoded; @@ -4830,7 +4619,9 @@ YY_RULE_SETUP "Overflow unicode escape in \"" + raw + "\""); } if ((raw[pos] != '0') || (raw[pos + 1] != '0')) { - driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); + driver.error(driver.loc_, + "Unsupported unicode escape in \"" + raw + "\"", + pos + 1); } pos += 2; c = raw[pos]; @@ -4875,68 +4666,144 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 187: -/* rule 187 can match eol */ +case 188: +/* rule 188 can match eol */ YY_RULE_SETUP -#line 2024 "dhcp4_lexer.ll" +#line 2037 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ - driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); + std::string raw(parser4_text+1); + size_t len = raw.size() - 1; + size_t pos = 0; + for (; pos < len; ++pos) { + char c = raw[pos]; + if ((c >= 0) && (c < 0x20)) { + break; + } + } + driver.error(driver.loc_, + "Invalid control in " + std::string(parser4_text), + pos + 1); } YY_BREAK -case 188: -/* rule 188 can match eol */ +case 189: +/* rule 189 can match eol */ YY_RULE_SETUP -#line 2029 "dhcp4_lexer.ll" +#line 2053 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ - driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); + std::string raw(parser4_text+1); + size_t len = raw.size() - 1; + size_t pos = 0; + bool found = false; + for (; pos < len; ++pos) { + if (found) { + break; + } + char c = raw[pos]; + if (c == '\\') { + ++pos; + c = raw[pos]; + switch (c) { + case '"': + case '\\': + case '/': + case 'b': + case 'f': + case 'n': + case 'r': + case 't': + break; + case 'u': + if ((pos + 4 > len) || + !std::isxdigit(raw[pos + 1]) || + !std::isxdigit(raw[pos + 2]) || + !std::isxdigit(raw[pos + 3]) || + !std::isxdigit(raw[pos + 4])) { + found = true; + } + break; + default: + found = true; + break; + } + } + } + /* The rule stops on the first " including on \" so add ... in this case */ + std::string trailer = ""; + if (raw[len - 1] == '\\') { + trailer = "..."; + } + driver.error(driver.loc_, + "Bad escape in " + std::string(parser4_text) + trailer, + pos); } YY_BREAK -case 189: +case 190: YY_RULE_SETUP -#line 2034 "dhcp4_lexer.ll" +#line 2102 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ - driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); + std::string raw(parser4_text+1); + driver.error(driver.loc_, + "Overflow escape in " + std::string(parser4_text), + raw.size() + 1); } YY_BREAK -case 190: +case 191: +YY_RULE_SETUP +#line 2110 "dhcp4_lexer.ll" +{ + /* Bad string with an open unicode escape at the end */ + std::string raw(parser4_text+1); + size_t pos = raw.size() - 1; + for (; pos > 0; --pos) { + char c = raw[pos]; + if (c == 'u') { + break; + } + } + driver.error(driver.loc_, + "Overflow unicode escape in " + std::string(parser4_text), + pos + 1); +} + YY_BREAK +case 192: YY_RULE_SETUP -#line 2039 "dhcp4_lexer.ll" +#line 2125 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 191: +case 193: YY_RULE_SETUP -#line 2040 "dhcp4_lexer.ll" +#line 2126 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 192: +case 194: YY_RULE_SETUP -#line 2041 "dhcp4_lexer.ll" +#line 2127 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 193: +case 195: YY_RULE_SETUP -#line 2042 "dhcp4_lexer.ll" +#line 2128 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 194: +case 196: YY_RULE_SETUP -#line 2043 "dhcp4_lexer.ll" +#line 2129 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 195: +case 197: YY_RULE_SETUP -#line 2044 "dhcp4_lexer.ll" +#line 2130 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 196: +case 198: YY_RULE_SETUP -#line 2046 "dhcp4_lexer.ll" +#line 2132 "dhcp4_lexer.ll" { /* An integer was found. */ - std::string tmp(yytext); + std::string tmp(parser4_text); int64_t integer = 0; try { /* In substring we want to use negative values (e.g. -1). @@ -4952,12 +4819,12 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 197: +case 199: YY_RULE_SETUP -#line 2064 "dhcp4_lexer.ll" +#line 2150 "dhcp4_lexer.ll" { /* A floating point was found. */ - std::string tmp(yytext); + std::string tmp(parser4_text); double fp = 0.0; try { fp = boost::lexical_cast(tmp); @@ -4968,43 +4835,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 198: +case 200: YY_RULE_SETUP -#line 2077 "dhcp4_lexer.ll" +#line 2163 "dhcp4_lexer.ll" { - string tmp(yytext); + string tmp(parser4_text); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 199: +case 201: YY_RULE_SETUP -#line 2082 "dhcp4_lexer.ll" +#line 2168 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 200: +case 202: YY_RULE_SETUP -#line 2086 "dhcp4_lexer.ll" +#line 2172 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 201: +case 203: YY_RULE_SETUP -#line 2088 "dhcp4_lexer.ll" +#line 2174 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 202: +case 204: YY_RULE_SETUP -#line 2090 "dhcp4_lexer.ll" +#line 2176 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 203: +case 205: YY_RULE_SETUP -#line 2092 "dhcp4_lexer.ll" -driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); +#line 2178 "dhcp4_lexer.ll" +driver.error (driver.loc_, "Invalid character: " + std::string(parser4_text)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2094 "dhcp4_lexer.ll" +#line 2180 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5028,12 +4895,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 204: +case 206: YY_RULE_SETUP -#line 2117 "dhcp4_lexer.ll" +#line 2203 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5036 "dhcp4_lexer.cc" +#line 4904 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5048,19 +4915,15 @@ ECHO; { /* We're scanning a new file or input source. It's * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure + * just pointed parser4_in at a new source and called + * parser4_lex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; -/* %if-c-only */ - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; -/* %endif */ -/* %if-c++-only */ -/* %endif */ + YY_CURRENT_BUFFER_LVALUE->yy_input_file = parser4_in; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } @@ -5115,11 +4978,11 @@ ECHO; { (yy_did_buffer_switch_on_eof) = 0; - if ( yywrap( ) ) + if ( parser4_wrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up - * yytext, we can now set up + * parser4_text, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the @@ -5168,12 +5031,12 @@ ECHO; "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ - } /* end of user's declarations */ -} /* end of yylex */ +} /* end of parser4_lex */ /* %ok-for-header */ /* %if-c++-only */ /* %not-for-header */ + /* %ok-for-header */ /* %endif */ @@ -5191,9 +5054,9 @@ static int yy_get_next_buffer (void) /* %if-c++-only */ /* %endif */ { - char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - char *source = (yytext_ptr); - int number_to_move, i; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = (yytext_ptr); + register int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -5222,7 +5085,7 @@ static int yy_get_next_buffer (void) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -5235,21 +5098,21 @@ static int yy_get_next_buffer (void) else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -5258,12 +5121,11 @@ static int yy_get_next_buffer (void) b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - yyrealloc( (void *) b->yy_ch_buf, - (yy_size_t) (b->yy_buf_size + 2) ); + parser4_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = NULL; + b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -5291,7 +5153,7 @@ static int yy_get_next_buffer (void) if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); + parser4_restart(parser4_in ); } else @@ -5305,15 +5167,12 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; - if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( - (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) parser4_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - /* "- 2" to take care of EOB's */ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); } (yy_n_chars) += number_to_move; @@ -5329,13 +5188,14 @@ static int yy_get_next_buffer (void) /* %if-c-only */ /* %not-for-header */ + static yy_state_type yy_get_previous_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ { - yy_state_type yy_current_state; - char *yy_cp; + register yy_state_type yy_current_state; + register char *yy_cp; /* %% [15.0] code to get the start state into yy_current_state goes here */ yy_current_state = (yy_start); @@ -5343,7 +5203,7 @@ static int yy_get_next_buffer (void) for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { /* %% [16.0] code to find the next state goes here */ - YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -5352,10 +5212,10 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1898 ) - yy_c = yy_meta[yy_c]; + if ( yy_current_state >= 1918 ) + yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; @@ -5372,11 +5232,11 @@ static int yy_get_next_buffer (void) /* %if-c++-only */ /* %endif */ { - int yy_is_jam; + register int yy_is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - char *yy_cp = (yy_c_buf_p); + register char *yy_cp = (yy_c_buf_p); - YY_CHAR yy_c = 1; + register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -5385,20 +5245,18 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1898 ) - yy_c = yy_meta[yy_c]; + if ( yy_current_state >= 1918 ) + yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1897); + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 1917); - return yy_is_jam ? 0 : yy_current_state; + return yy_is_jam ? 0 : yy_current_state; } -#ifndef YY_NO_UNPUT /* %if-c-only */ /* %endif */ -#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -5428,7 +5286,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -5445,13 +5303,13 @@ static int yy_get_next_buffer (void) */ /* Reset buffer status. */ - yyrestart( yyin ); + parser4_restart(parser4_in ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { - if ( yywrap( ) ) + if ( parser4_wrap( ) ) return 0; if ( ! (yy_did_buffer_switch_on_eof) ) @@ -5471,10 +5329,10 @@ static int yy_get_next_buffer (void) } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ + *(yy_c_buf_p) = '\0'; /* preserve parser4_text */ (yy_hold_char) = *++(yy_c_buf_p); -/* %% [19.0] update BOL and yylineno */ +/* %% [19.0] update BOL and parser4_lineno */ return c; } @@ -5488,31 +5346,28 @@ static int yy_get_next_buffer (void) * @note This function does not reset the start condition to @c INITIAL . */ /* %if-c-only */ - void yyrestart (FILE * input_file ) + void parser4_restart (FILE * input_file ) /* %endif */ /* %if-c++-only */ /* %endif */ { if ( ! YY_CURRENT_BUFFER ){ - yyensure_buffer_stack (); + parser4_ensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); + parser4__create_buffer(parser4_in,YY_BUF_SIZE ); } - yy_init_buffer( YY_CURRENT_BUFFER, input_file ); - yy_load_buffer_state( ); + parser4__init_buffer(YY_CURRENT_BUFFER,input_file ); + parser4__load_buffer_state( ); } -/* %if-c++-only */ -/* %endif */ - /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ /* %if-c-only */ - void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) + void parser4__switch_to_buffer (YY_BUFFER_STATE new_buffer ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5520,10 +5375,10 @@ static int yy_get_next_buffer (void) /* TODO. We should be able to replace this entire function body * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); + * parser4_pop_buffer_state(); + * parser4_push_buffer_state(new_buffer); */ - yyensure_buffer_stack (); + parser4_ensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; @@ -5536,29 +5391,25 @@ static int yy_get_next_buffer (void) } YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_load_buffer_state( ); + parser4__load_buffer_state( ); /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe + * EOF (parser4_wrap()) processing, but the only time this flag + * is looked at is after parser4_wrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } /* %if-c-only */ -static void yy_load_buffer_state (void) +static void parser4__load_buffer_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; -/* %if-c-only */ - yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; -/* %endif */ -/* %if-c++-only */ -/* %endif */ + parser4_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } @@ -5569,42 +5420,39 @@ static void yy_load_buffer_state (void) * @return the allocated buffer state. */ /* %if-c-only */ - YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) + YY_BUFFER_STATE parser4__create_buffer (FILE * file, int size ) /* %endif */ /* %if-c++-only */ /* %endif */ { YY_BUFFER_STATE b; - b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) parser4_alloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser4__create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); + b->yy_ch_buf = (char *) parser4_alloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser4__create_buffer()" ); b->yy_is_our_buffer = 1; - yy_init_buffer( b, file ); + parser4__init_buffer(b,file ); return b; } -/* %if-c++-only */ -/* %endif */ - /** Destroy the buffer. - * @param b a buffer created with yy_create_buffer() + * @param b a buffer created with parser4__create_buffer() * */ /* %if-c-only */ - void yy_delete_buffer (YY_BUFFER_STATE b ) + void parser4__delete_buffer (YY_BUFFER_STATE b ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5617,17 +5465,28 @@ static void yy_load_buffer_state (void) YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - yyfree( (void *) b->yy_ch_buf ); + parser4_free((void *) b->yy_ch_buf ); - yyfree( (void *) b ); + parser4_free((void *) b ); } +/* %if-c-only */ + +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* %endif */ + +/* %if-c++-only */ +/* %endif */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, - * such as during a yyrestart() or at EOF. + * such as during a parser4_restart() or at EOF. */ /* %if-c-only */ - static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + static void parser4__init_buffer (YY_BUFFER_STATE b, FILE * file ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5635,17 +5494,13 @@ static void yy_load_buffer_state (void) { int oerrno = errno; - yy_flush_buffer( b ); + parser4__flush_buffer(b ); -/* %if-c-only */ b->yy_input_file = file; -/* %endif */ -/* %if-c++-only */ -/* %endif */ b->yy_fill_buffer = 1; - /* If b is the current buffer, then yy_init_buffer was _probably_ - * called from yyrestart() or through yy_get_next_buffer. + /* If b is the current buffer, then parser4__init_buffer was _probably_ + * called from parser4_restart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ @@ -5668,7 +5523,7 @@ static void yy_load_buffer_state (void) * */ /* %if-c-only */ - void yy_flush_buffer (YY_BUFFER_STATE b ) + void parser4__flush_buffer (YY_BUFFER_STATE b ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5691,7 +5546,7 @@ static void yy_load_buffer_state (void) b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); + parser4__load_buffer_state( ); } /* %if-c-or-c++ */ @@ -5702,7 +5557,7 @@ static void yy_load_buffer_state (void) * */ /* %if-c-only */ -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +void parser4_push_buffer_state (YY_BUFFER_STATE new_buffer ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5710,9 +5565,9 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) if (new_buffer == NULL) return; - yyensure_buffer_stack(); + parser4_ensure_buffer_stack(); - /* This block is copied from yy_switch_to_buffer. */ + /* This block is copied from parser4__switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ @@ -5726,8 +5581,8 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; - /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); + /* copied from parser4__switch_to_buffer. */ + parser4__load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /* %endif */ @@ -5738,7 +5593,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) * */ /* %if-c-only */ -void yypop_buffer_state (void) +void parser4_pop_buffer_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5746,13 +5601,13 @@ void yypop_buffer_state (void) if (!YY_CURRENT_BUFFER) return; - yy_delete_buffer(YY_CURRENT_BUFFER ); + parser4__delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { - yy_load_buffer_state( ); + parser4__load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } @@ -5763,7 +5618,7 @@ void yypop_buffer_state (void) * Guarantees space for at least one push. */ /* %if-c-only */ -static void yyensure_buffer_stack (void) +static void parser4_ensure_buffer_stack (void) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5776,15 +5631,15 @@ static void yyensure_buffer_stack (void) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ - (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + num_to_alloc = 1; + (yy_buffer_stack) = (struct yy_buffer_state**)parser4_alloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - + YY_FATAL_ERROR( "out of dynamic memory in parser4_ensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; @@ -5793,15 +5648,15 @@ static void yyensure_buffer_stack (void) if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - yy_size_t grow_size = 8 /* arbitrary grow size */; + int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc + (yy_buffer_stack) = (struct yy_buffer_state**)parser4_realloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser4_ensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -5815,9 +5670,9 @@ static void yyensure_buffer_stack (void) * @param base the character buffer * @param size the size in bytes of the character buffer * - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +YY_BUFFER_STATE parser4__scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; @@ -5825,73 +5680,72 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return NULL; + return 0; - b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) parser4_alloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser4__scan_buffer()" ); - b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = NULL; + b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - yy_switch_to_buffer( b ); + parser4__switch_to_buffer(b ); return b; } /* %endif */ /* %if-c-only */ -/** Setup the input buffer state to scan a string. The next call to yylex() will +/** Setup the input buffer state to scan a string. The next call to parser4_lex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use - * yy_scan_bytes() instead. + * parser4__scan_bytes() instead. */ -YY_BUFFER_STATE yy_scan_string (const char * yystr ) +YY_BUFFER_STATE parser4__scan_string (yyconst char * yystr ) { - return yy_scan_bytes( yystr, (int) strlen(yystr) ); + return parser4__scan_bytes(yystr,strlen(yystr) ); } /* %endif */ /* %if-c-only */ -/** Setup the input buffer state to scan the given bytes. The next call to yylex() will +/** Setup the input buffer state to scan the given bytes. The next call to parser4_lex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE parser4__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; - yy_size_t n; - int i; + yy_size_t n, i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = (yy_size_t) (_yybytes_len + 2); - buf = (char *) yyalloc( n ); + n = _yybytes_len + 2; + buf = (char *) parser4_alloc(n ); if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser4__scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - b = yy_scan_buffer( buf, n ); + b = parser4__scan_buffer(buf,n ); if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + YY_FATAL_ERROR( "bad buffer in parser4__scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. @@ -5907,9 +5761,9 @@ YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) #endif /* %if-c-only */ -static void yynoreturn yy_fatal_error (const char* msg ) +static void yy_fatal_error (yyconst char* msg ) { - fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -5922,14 +5776,14 @@ static void yynoreturn yy_fatal_error (const char* msg ) #define yyless(n) \ do \ { \ - /* Undo effects of setting up yytext. */ \ + /* Undo effects of setting up parser4_text. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = (yy_hold_char); \ - (yy_c_buf_p) = yytext + yyless_macro_arg; \ + parser4_text[parser4_leng] = (yy_hold_char); \ + (yy_c_buf_p) = parser4_text + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ - yyleng = yyless_macro_arg; \ + parser4_leng = yyless_macro_arg; \ } \ while ( 0 ) @@ -5942,82 +5796,82 @@ static void yynoreturn yy_fatal_error (const char* msg ) /** Get the current line number. * */ -int yyget_lineno (void) +int parser4_get_lineno (void) { - - return yylineno; + + return parser4_lineno; } /** Get the input stream. * */ -FILE *yyget_in (void) +FILE *parser4_get_in (void) { - return yyin; + return parser4_in; } /** Get the output stream. * */ -FILE *yyget_out (void) +FILE *parser4_get_out (void) { - return yyout; + return parser4_out; } /** Get the length of the current token. * */ -int yyget_leng (void) +yy_size_t parser4_get_leng (void) { - return yyleng; + return parser4_leng; } /** Get the current token. * */ -char *yyget_text (void) +char *parser4_get_text (void) { - return yytext; + return parser4_text; } /* %if-reentrant */ /* %endif */ /** Set the current line number. - * @param _line_number line number + * @param line_number * */ -void yyset_lineno (int _line_number ) +void parser4_set_lineno (int line_number ) { - yylineno = _line_number; + parser4_lineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param _in_str A readable stream. + * @param in_str A readable stream. * - * @see yy_switch_to_buffer + * @see parser4__switch_to_buffer */ -void yyset_in (FILE * _in_str ) +void parser4_set_in (FILE * in_str ) { - yyin = _in_str ; + parser4_in = in_str ; } -void yyset_out (FILE * _out_str ) +void parser4_set_out (FILE * out_str ) { - yyout = _out_str ; + parser4_out = out_str ; } -int yyget_debug (void) +int parser4_get_debug (void) { - return yy_flex_debug; + return parser4__flex_debug; } -void yyset_debug (int _bdebug ) +void parser4_set_debug (int bdebug ) { - yy_flex_debug = _bdebug ; + parser4__flex_debug = bdebug ; } /* %endif */ @@ -6031,50 +5885,50 @@ void yyset_debug (int _bdebug ) static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. - * This function is called from yylex_destroy(), so don't allocate here. + * This function is called from parser4_lex_destroy(), so don't allocate here. */ - (yy_buffer_stack) = NULL; + (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = NULL; + (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; /* Defined in main.c */ #ifdef YY_STDINIT - yyin = stdin; - yyout = stdout; + parser4_in = stdin; + parser4_out = stdout; #else - yyin = NULL; - yyout = NULL; + parser4_in = (FILE *) 0; + parser4_out = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by - * yylex_init() + * parser4_lex_init() */ return 0; } /* %endif */ /* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */ -/* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy (void) +/* parser4_lex_destroy is for both reentrant and non-reentrant scanners. */ +int parser4_lex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ - yy_delete_buffer( YY_CURRENT_BUFFER ); + parser4__delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; - yypop_buffer_state(); + parser4_pop_buffer_state(); } /* Destroy the stack itself. */ - yyfree((yy_buffer_stack) ); + parser4_free((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time - * yylex() is called, initialization will occur. */ + * parser4_lex() is called, initialization will occur. */ yy_init_globals( ); /* %if-reentrant */ @@ -6088,19 +5942,18 @@ int yylex_destroy (void) */ #ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, const char * s2, int n ) +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - - int i; + register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (const char * s ) +static int yy_flex_strlen (yyconst char * s ) { - int n; + register int n; for ( n = 0; s[n]; ++n ) ; @@ -6108,14 +5961,13 @@ static int yy_flex_strlen (const char * s ) } #endif -void *yyalloc (yy_size_t size ) +void *parser4_alloc (yy_size_t size ) { - return malloc(size); + return (void *) malloc( size ); } -void *yyrealloc (void * ptr, yy_size_t size ) +void *parser4_realloc (void * ptr, yy_size_t size ) { - /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -6123,12 +5975,12 @@ void *yyrealloc (void * ptr, yy_size_t size ) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return realloc(ptr, size); + return (void *) realloc( (char *) ptr, size ); } -void yyfree (void * ptr ) +void parser4_free (void * ptr ) { - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ + free( (char *) ptr ); /* see parser4_realloc() for (char *) cast */ } /* %if-tables-serialization definitions */ @@ -6138,7 +5990,8 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2117 "dhcp4_lexer.ll" +#line 2203 "dhcp4_lexer.ll" + using namespace isc::dhcp; @@ -6152,7 +6005,7 @@ Parser4Context::scanStringBegin(const std::string& str, ParserType parser_type) file_ = ""; sfile_ = 0; loc_.initialize(&file_); - yy_flex_debug = trace_scanning_; + parser4__flex_debug = trace_scanning_; YY_BUFFER_STATE buffer; buffer = parser4__scan_bytes(str.c_str(), str.size()); if (!buffer) { @@ -6172,7 +6025,7 @@ Parser4Context::scanFileBegin(FILE * f, file_ = filename; sfile_ = f; loc_.initialize(&file_); - yy_flex_debug = trace_scanning_; + parser4__flex_debug = trace_scanning_; YY_BUFFER_STATE buffer; /* See dhcp4_lexer.cc header for available definitions */ diff --git a/src/bin/dhcp4/dhcp4_messages.cc b/src/bin/dhcp4/dhcp4_messages.cc index 06b906b164..315d2a0719 100644 --- a/src/bin/dhcp4/dhcp4_messages.cc +++ b/src/bin/dhcp4/dhcp4_messages.cc @@ -1,4 +1,4 @@ -// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Fri Oct 23 2020 14:07 +// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Wed Oct 28 2020 14:29 #include #include @@ -52,6 +52,7 @@ extern const isc::log::MessageID DHCP4_DECLINE_LEASE_MISMATCH = "DHCP4_DECLINE_L extern const isc::log::MessageID DHCP4_DECLINE_LEASE_NOT_FOUND = "DHCP4_DECLINE_LEASE_NOT_FOUND"; extern const isc::log::MessageID DHCP4_DEFERRED_OPTION_MISSING = "DHCP4_DEFERRED_OPTION_MISSING"; extern const isc::log::MessageID DHCP4_DEFERRED_OPTION_UNPACK_FAIL = "DHCP4_DEFERRED_OPTION_UNPACK_FAIL"; +extern const isc::log::MessageID DHCP4_DEPRECATED_RESERVATION_MODE = "DHCP4_DEPRECATED_RESERVATION_MODE"; extern const isc::log::MessageID DHCP4_DEVELOPMENT_VERSION = "DHCP4_DEVELOPMENT_VERSION"; extern const isc::log::MessageID DHCP4_DHCP4O6_BAD_PACKET = "DHCP4_DHCP4O6_BAD_PACKET"; extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_RECEIVED = "DHCP4_DHCP4O6_PACKET_RECEIVED"; @@ -204,6 +205,7 @@ const char* values[] = { "DHCP4_DECLINE_LEASE_NOT_FOUND", "Received DHCPDECLINE for addr %1 from client %2, but no such lease found.", "DHCP4_DEFERRED_OPTION_MISSING", "can find deferred option code %1 in the query", "DHCP4_DEFERRED_OPTION_UNPACK_FAIL", "An error unpacking the deferred option %1: %2", + "DHCP4_DEPRECATED_RESERVATION_MODE", "deprecated reservation-mode parameter; use reservations-global, reservations-in-subnet and reservations-out-of-pool instead.", "DHCP4_DEVELOPMENT_VERSION", "This software is a development branch of Kea. It is not recommended for production use.", "DHCP4_DHCP4O6_BAD_PACKET", "received malformed DHCPv4o6 packet: %1", "DHCP4_DHCP4O6_PACKET_RECEIVED", "received DHCPv4o6 packet from DHCPv4 server (type %1) for %2 on interface %3", diff --git a/src/bin/dhcp4/dhcp4_messages.h b/src/bin/dhcp4/dhcp4_messages.h index ca5173fee8..b68d1a0570 100644 --- a/src/bin/dhcp4/dhcp4_messages.h +++ b/src/bin/dhcp4/dhcp4_messages.h @@ -1,4 +1,4 @@ -// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Fri Oct 23 2020 14:07 +// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Wed Oct 28 2020 14:29 #ifndef DHCP4_MESSAGES_H #define DHCP4_MESSAGES_H @@ -53,6 +53,7 @@ extern const isc::log::MessageID DHCP4_DECLINE_LEASE_MISMATCH; extern const isc::log::MessageID DHCP4_DECLINE_LEASE_NOT_FOUND; extern const isc::log::MessageID DHCP4_DEFERRED_OPTION_MISSING; extern const isc::log::MessageID DHCP4_DEFERRED_OPTION_UNPACK_FAIL; +extern const isc::log::MessageID DHCP4_DEPRECATED_RESERVATION_MODE; extern const isc::log::MessageID DHCP4_DEVELOPMENT_VERSION; extern const isc::log::MessageID DHCP4_DHCP4O6_BAD_PACKET; extern const isc::log::MessageID DHCP4_DHCP4O6_PACKET_RECEIVED; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 35133e3556..385e9a7767 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Skeleton implementation for Bison LALR(1) parsers in C++ @@ -398,73 +398,73 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 404 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 410 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 416 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 422 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 428 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 434 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 440 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 446 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 452 "dhcp4_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 458 "dhcp4_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 464 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 275 "dhcp4_parser.yy" +#line 276 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 470 "dhcp4_parser.cc" break; @@ -744,127 +744,127 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 284 "dhcp4_parser.yy" +#line 285 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 750 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 285 "dhcp4_parser.yy" +#line 286 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 756 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 286 "dhcp4_parser.yy" +#line 287 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 762 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 287 "dhcp4_parser.yy" +#line 288 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 768 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 288 "dhcp4_parser.yy" +#line 289 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } #line 774 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 289 "dhcp4_parser.yy" +#line 290 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 780 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 290 "dhcp4_parser.yy" +#line 291 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 786 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 291 "dhcp4_parser.yy" +#line 292 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } #line 792 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 292 "dhcp4_parser.yy" +#line 293 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 798 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 293 "dhcp4_parser.yy" +#line 294 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 804 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 294 "dhcp4_parser.yy" +#line 295 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 810 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 295 "dhcp4_parser.yy" +#line 296 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 816 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 296 "dhcp4_parser.yy" +#line 297 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 822 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 304 "dhcp4_parser.yy" +#line 305 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 828 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 305 "dhcp4_parser.yy" +#line 306 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 834 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 306 "dhcp4_parser.yy" +#line 307 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 840 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 307 "dhcp4_parser.yy" +#line 308 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 846 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 308 "dhcp4_parser.yy" +#line 309 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 852 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 309 "dhcp4_parser.yy" +#line 310 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 858 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 310 "dhcp4_parser.yy" +#line 311 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 864 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 313 "dhcp4_parser.yy" +#line 314 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -873,7 +873,7 @@ namespace isc { namespace dhcp { break; case 36: // $@14: %empty -#line 318 "dhcp4_parser.yy" +#line 319 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -884,7 +884,7 @@ namespace isc { namespace dhcp { break; case 37: // map2: "{" $@14 map_content "}" -#line 323 "dhcp4_parser.yy" +#line 324 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -894,13 +894,13 @@ namespace isc { namespace dhcp { break; case 38: // map_value: map2 -#line 329 "dhcp4_parser.yy" +#line 330 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 900 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 336 "dhcp4_parser.yy" +#line 337 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -910,7 +910,7 @@ namespace isc { namespace dhcp { break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 341 "dhcp4_parser.yy" +#line 342 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -921,7 +921,7 @@ namespace isc { namespace dhcp { break; case 43: // $@15: %empty -#line 349 "dhcp4_parser.yy" +#line 350 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -930,7 +930,7 @@ namespace isc { namespace dhcp { break; case 44: // list_generic: "[" $@15 list_content "]" -#line 352 "dhcp4_parser.yy" +#line 353 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -938,7 +938,7 @@ namespace isc { namespace dhcp { break; case 47: // not_empty_list: value -#line 360 "dhcp4_parser.yy" +#line 361 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -947,7 +947,7 @@ namespace isc { namespace dhcp { break; case 48: // not_empty_list: not_empty_list "," value -#line 364 "dhcp4_parser.yy" +#line 365 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -956,7 +956,7 @@ namespace isc { namespace dhcp { break; case 49: // $@16: %empty -#line 371 "dhcp4_parser.yy" +#line 372 "dhcp4_parser.yy" { // List parsing about to start } @@ -964,7 +964,7 @@ namespace isc { namespace dhcp { break; case 50: // list_strings: "[" $@16 list_strings_content "]" -#line 373 "dhcp4_parser.yy" +#line 374 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -973,7 +973,7 @@ namespace isc { namespace dhcp { break; case 53: // not_empty_list_strings: "constant string" -#line 382 "dhcp4_parser.yy" +#line 383 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -982,7 +982,7 @@ namespace isc { namespace dhcp { break; case 54: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 386 "dhcp4_parser.yy" +#line 387 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -991,7 +991,7 @@ namespace isc { namespace dhcp { break; case 55: // unknown_map_entry: "constant string" ":" -#line 397 "dhcp4_parser.yy" +#line 398 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -1002,7 +1002,7 @@ namespace isc { namespace dhcp { break; case 56: // $@17: %empty -#line 406 "dhcp4_parser.yy" +#line 407 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1013,7 +1013,7 @@ namespace isc { namespace dhcp { break; case 57: // syntax_map: "{" $@17 global_object "}" -#line 411 "dhcp4_parser.yy" +#line 412 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1026,7 +1026,7 @@ namespace isc { namespace dhcp { break; case 58: // $@18: %empty -#line 421 "dhcp4_parser.yy" +#line 422 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1041,7 +1041,7 @@ namespace isc { namespace dhcp { break; case 59: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 430 "dhcp4_parser.yy" +#line 431 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1051,7 +1051,7 @@ namespace isc { namespace dhcp { break; case 60: // $@19: %empty -#line 438 "dhcp4_parser.yy" +#line 439 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1061,7 +1061,7 @@ namespace isc { namespace dhcp { break; case 61: // sub_dhcp4: "{" $@19 global_params "}" -#line 442 "dhcp4_parser.yy" +#line 443 "dhcp4_parser.yy" { // No global parameter is required // parsing completed @@ -1069,8 +1069,8 @@ namespace isc { namespace dhcp { #line 1070 "dhcp4_parser.cc" break; - case 123: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 514 "dhcp4_parser.yy" + case 124: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 516 "dhcp4_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1079,8 +1079,8 @@ namespace isc { namespace dhcp { #line 1080 "dhcp4_parser.cc" break; - case 124: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 520 "dhcp4_parser.yy" + case 125: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 522 "dhcp4_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1089,8 +1089,8 @@ namespace isc { namespace dhcp { #line 1090 "dhcp4_parser.cc" break; - case 125: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 526 "dhcp4_parser.yy" + case 126: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 528 "dhcp4_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1099,8 +1099,8 @@ namespace isc { namespace dhcp { #line 1100 "dhcp4_parser.cc" break; - case 126: // renew_timer: "renew-timer" ":" "integer" -#line 532 "dhcp4_parser.yy" + case 127: // renew_timer: "renew-timer" ":" "integer" +#line 534 "dhcp4_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1109,8 +1109,8 @@ namespace isc { namespace dhcp { #line 1110 "dhcp4_parser.cc" break; - case 127: // rebind_timer: "rebind-timer" ":" "integer" -#line 538 "dhcp4_parser.yy" + case 128: // rebind_timer: "rebind-timer" ":" "integer" +#line 540 "dhcp4_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1119,8 +1119,8 @@ namespace isc { namespace dhcp { #line 1120 "dhcp4_parser.cc" break; - case 128: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 544 "dhcp4_parser.yy" + case 129: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 546 "dhcp4_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1129,8 +1129,8 @@ namespace isc { namespace dhcp { #line 1130 "dhcp4_parser.cc" break; - case 129: // t1_percent: "t1-percent" ":" "floating point" -#line 550 "dhcp4_parser.yy" + case 130: // t1_percent: "t1-percent" ":" "floating point" +#line 552 "dhcp4_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1139,8 +1139,8 @@ namespace isc { namespace dhcp { #line 1140 "dhcp4_parser.cc" break; - case 130: // t2_percent: "t2-percent" ":" "floating point" -#line 556 "dhcp4_parser.yy" + case 131: // t2_percent: "t2-percent" ":" "floating point" +#line 558 "dhcp4_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1149,8 +1149,8 @@ namespace isc { namespace dhcp { #line 1150 "dhcp4_parser.cc" break; - case 131: // cache_threshold: "cache-threshold" ":" "floating point" -#line 562 "dhcp4_parser.yy" + case 132: // cache_threshold: "cache-threshold" ":" "floating point" +#line 564 "dhcp4_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1159,8 +1159,8 @@ namespace isc { namespace dhcp { #line 1160 "dhcp4_parser.cc" break; - case 132: // cache_max_age: "cache-max-age" ":" "integer" -#line 568 "dhcp4_parser.yy" + case 133: // cache_max_age: "cache-max-age" ":" "integer" +#line 570 "dhcp4_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1169,8 +1169,8 @@ namespace isc { namespace dhcp { #line 1170 "dhcp4_parser.cc" break; - case 133: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 574 "dhcp4_parser.yy" + case 134: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 576 "dhcp4_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1179,8 +1179,8 @@ namespace isc { namespace dhcp { #line 1180 "dhcp4_parser.cc" break; - case 134: // $@20: %empty -#line 580 "dhcp4_parser.yy" + case 135: // $@20: %empty +#line 582 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1188,8 +1188,8 @@ namespace isc { namespace dhcp { #line 1189 "dhcp4_parser.cc" break; - case 135: // server_tag: "server-tag" $@20 ":" "constant string" -#line 583 "dhcp4_parser.yy" + case 136: // server_tag: "server-tag" $@20 ":" "constant string" +#line 585 "dhcp4_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); @@ -1198,8 +1198,8 @@ namespace isc { namespace dhcp { #line 1199 "dhcp4_parser.cc" break; - case 136: // echo_client_id: "echo-client-id" ":" "boolean" -#line 589 "dhcp4_parser.yy" + case 137: // echo_client_id: "echo-client-id" ":" "boolean" +#line 591 "dhcp4_parser.yy" { ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1208,8 +1208,8 @@ namespace isc { namespace dhcp { #line 1209 "dhcp4_parser.cc" break; - case 137: // match_client_id: "match-client-id" ":" "boolean" -#line 595 "dhcp4_parser.yy" + case 138: // match_client_id: "match-client-id" ":" "boolean" +#line 597 "dhcp4_parser.yy" { ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1218,8 +1218,8 @@ namespace isc { namespace dhcp { #line 1219 "dhcp4_parser.cc" break; - case 138: // authoritative: "authoritative" ":" "boolean" -#line 601 "dhcp4_parser.yy" + case 139: // authoritative: "authoritative" ":" "boolean" +#line 603 "dhcp4_parser.yy" { ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1228,8 +1228,8 @@ namespace isc { namespace dhcp { #line 1229 "dhcp4_parser.cc" break; - case 139: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 607 "dhcp4_parser.yy" + case 140: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 609 "dhcp4_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1238,8 +1238,8 @@ namespace isc { namespace dhcp { #line 1239 "dhcp4_parser.cc" break; - case 140: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 613 "dhcp4_parser.yy" + case 141: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 615 "dhcp4_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1248,8 +1248,8 @@ namespace isc { namespace dhcp { #line 1249 "dhcp4_parser.cc" break; - case 141: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 619 "dhcp4_parser.yy" + case 142: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 621 "dhcp4_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1258,8 +1258,8 @@ namespace isc { namespace dhcp { #line 1259 "dhcp4_parser.cc" break; - case 142: // $@21: %empty -#line 625 "dhcp4_parser.yy" + case 143: // $@21: %empty +#line 627 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); @@ -1267,8 +1267,8 @@ namespace isc { namespace dhcp { #line 1268 "dhcp4_parser.cc" break; - case 143: // ddns_replace_client_name: "ddns-replace-client-name" $@21 ":" ddns_replace_client_name_value -#line 628 "dhcp4_parser.yy" + case 144: // ddns_replace_client_name: "ddns-replace-client-name" $@21 ":" ddns_replace_client_name_value +#line 630 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1276,40 +1276,40 @@ namespace isc { namespace dhcp { #line 1277 "dhcp4_parser.cc" break; - case 144: // ddns_replace_client_name_value: "when-present" -#line 634 "dhcp4_parser.yy" + case 145: // ddns_replace_client_name_value: "when-present" +#line 636 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } #line 1285 "dhcp4_parser.cc" break; - case 145: // ddns_replace_client_name_value: "never" -#line 637 "dhcp4_parser.yy" + case 146: // ddns_replace_client_name_value: "never" +#line 639 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } #line 1293 "dhcp4_parser.cc" break; - case 146: // ddns_replace_client_name_value: "always" -#line 640 "dhcp4_parser.yy" + case 147: // ddns_replace_client_name_value: "always" +#line 642 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } #line 1301 "dhcp4_parser.cc" break; - case 147: // ddns_replace_client_name_value: "when-not-present" -#line 643 "dhcp4_parser.yy" + case 148: // ddns_replace_client_name_value: "when-not-present" +#line 645 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } #line 1309 "dhcp4_parser.cc" break; - case 148: // ddns_replace_client_name_value: "boolean" -#line 646 "dhcp4_parser.yy" + case 149: // ddns_replace_client_name_value: "boolean" +#line 648 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1317,8 +1317,8 @@ namespace isc { namespace dhcp { #line 1318 "dhcp4_parser.cc" break; - case 149: // $@22: %empty -#line 652 "dhcp4_parser.yy" + case 150: // $@22: %empty +#line 654 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1326,8 +1326,8 @@ namespace isc { namespace dhcp { #line 1327 "dhcp4_parser.cc" break; - case 150: // ddns_generated_prefix: "ddns-generated-prefix" $@22 ":" "constant string" -#line 655 "dhcp4_parser.yy" + case 151: // ddns_generated_prefix: "ddns-generated-prefix" $@22 ":" "constant string" +#line 657 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); @@ -1336,8 +1336,8 @@ namespace isc { namespace dhcp { #line 1337 "dhcp4_parser.cc" break; - case 151: // $@23: %empty -#line 661 "dhcp4_parser.yy" + case 152: // $@23: %empty +#line 663 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1345,8 +1345,8 @@ namespace isc { namespace dhcp { #line 1346 "dhcp4_parser.cc" break; - case 152: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@23 ":" "constant string" -#line 664 "dhcp4_parser.yy" + case 153: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@23 ":" "constant string" +#line 666 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); @@ -1355,8 +1355,8 @@ namespace isc { namespace dhcp { #line 1356 "dhcp4_parser.cc" break; - case 153: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 670 "dhcp4_parser.yy" + case 154: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 672 "dhcp4_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1365,86 +1365,96 @@ namespace isc { namespace dhcp { #line 1366 "dhcp4_parser.cc" break; - case 154: // $@24: %empty -#line 676 "dhcp4_parser.yy" + case 155: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 678 "dhcp4_parser.yy" + { + ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); + ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("ddns-use-conflict-resolution", b); +} +#line 1376 "dhcp4_parser.cc" + break; + + case 156: // $@24: %empty +#line 684 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1375 "dhcp4_parser.cc" +#line 1385 "dhcp4_parser.cc" break; - case 155: // hostname_char_set: "hostname-char-set" $@24 ":" "constant string" -#line 679 "dhcp4_parser.yy" + case 157: // hostname_char_set: "hostname-char-set" $@24 ":" "constant string" +#line 687 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 1385 "dhcp4_parser.cc" +#line 1395 "dhcp4_parser.cc" break; - case 156: // $@25: %empty -#line 685 "dhcp4_parser.yy" + case 158: // $@25: %empty +#line 693 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1394 "dhcp4_parser.cc" +#line 1404 "dhcp4_parser.cc" break; - case 157: // hostname_char_replacement: "hostname-char-replacement" $@25 ":" "constant string" -#line 688 "dhcp4_parser.yy" + case 159: // hostname_char_replacement: "hostname-char-replacement" $@25 ":" "constant string" +#line 696 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 1404 "dhcp4_parser.cc" +#line 1414 "dhcp4_parser.cc" break; - case 158: // store_extended_info: "store-extended-info" ":" "boolean" -#line 694 "dhcp4_parser.yy" + case 160: // store_extended_info: "store-extended-info" ":" "boolean" +#line 702 "dhcp4_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1414 "dhcp4_parser.cc" +#line 1424 "dhcp4_parser.cc" break; - case 159: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 700 "dhcp4_parser.yy" + case 161: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 708 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1424 "dhcp4_parser.cc" +#line 1434 "dhcp4_parser.cc" break; - case 160: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 706 "dhcp4_parser.yy" + case 162: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 714 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1434 "dhcp4_parser.cc" +#line 1444 "dhcp4_parser.cc" break; - case 161: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 712 "dhcp4_parser.yy" + case 163: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 720 "dhcp4_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1444 "dhcp4_parser.cc" +#line 1454 "dhcp4_parser.cc" break; - case 162: // $@26: %empty -#line 718 "dhcp4_parser.yy" + case 164: // $@26: %empty +#line 726 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1452,40 +1462,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1456 "dhcp4_parser.cc" +#line 1466 "dhcp4_parser.cc" break; - case 163: // interfaces_config: "interfaces-config" $@26 ":" "{" interfaces_config_params "}" -#line 724 "dhcp4_parser.yy" + case 165: // interfaces_config: "interfaces-config" $@26 ":" "{" interfaces_config_params "}" +#line 732 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1466 "dhcp4_parser.cc" +#line 1476 "dhcp4_parser.cc" break; - case 173: // $@27: %empty -#line 743 "dhcp4_parser.yy" + case 175: // $@27: %empty +#line 751 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1476 "dhcp4_parser.cc" +#line 1486 "dhcp4_parser.cc" break; - case 174: // sub_interfaces4: "{" $@27 interfaces_config_params "}" -#line 747 "dhcp4_parser.yy" + case 176: // sub_interfaces4: "{" $@27 interfaces_config_params "}" +#line 755 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1485 "dhcp4_parser.cc" +#line 1495 "dhcp4_parser.cc" break; - case 175: // $@28: %empty -#line 752 "dhcp4_parser.yy" + case 177: // $@28: %empty +#line 760 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1493,94 +1503,94 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1497 "dhcp4_parser.cc" +#line 1507 "dhcp4_parser.cc" break; - case 176: // interfaces_list: "interfaces" $@28 ":" list_strings -#line 758 "dhcp4_parser.yy" + case 178: // interfaces_list: "interfaces" $@28 ":" list_strings +#line 766 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1506 "dhcp4_parser.cc" +#line 1516 "dhcp4_parser.cc" break; - case 177: // $@29: %empty -#line 763 "dhcp4_parser.yy" + case 179: // $@29: %empty +#line 771 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); } -#line 1515 "dhcp4_parser.cc" +#line 1525 "dhcp4_parser.cc" break; - case 178: // dhcp_socket_type: "dhcp-socket-type" $@29 ":" socket_type -#line 766 "dhcp4_parser.yy" + case 180: // dhcp_socket_type: "dhcp-socket-type" $@29 ":" socket_type +#line 774 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1524 "dhcp4_parser.cc" +#line 1534 "dhcp4_parser.cc" break; - case 179: // socket_type: "raw" -#line 771 "dhcp4_parser.yy" + case 181: // socket_type: "raw" +#line 779 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } -#line 1530 "dhcp4_parser.cc" +#line 1540 "dhcp4_parser.cc" break; - case 180: // socket_type: "udp" -#line 772 "dhcp4_parser.yy" + case 182: // socket_type: "udp" +#line 780 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } -#line 1536 "dhcp4_parser.cc" +#line 1546 "dhcp4_parser.cc" break; - case 181: // $@30: %empty -#line 775 "dhcp4_parser.yy" + case 183: // $@30: %empty +#line 783 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); } -#line 1545 "dhcp4_parser.cc" +#line 1555 "dhcp4_parser.cc" break; - case 182: // outbound_interface: "outbound-interface" $@30 ":" outbound_interface_value -#line 778 "dhcp4_parser.yy" + case 184: // outbound_interface: "outbound-interface" $@30 ":" outbound_interface_value +#line 786 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1554 "dhcp4_parser.cc" +#line 1564 "dhcp4_parser.cc" break; - case 183: // outbound_interface_value: "same-as-inbound" -#line 783 "dhcp4_parser.yy" + case 185: // outbound_interface_value: "same-as-inbound" +#line 791 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } -#line 1562 "dhcp4_parser.cc" +#line 1572 "dhcp4_parser.cc" break; - case 184: // outbound_interface_value: "use-routing" -#line 785 "dhcp4_parser.yy" + case 186: // outbound_interface_value: "use-routing" +#line 793 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } -#line 1570 "dhcp4_parser.cc" +#line 1580 "dhcp4_parser.cc" break; - case 185: // re_detect: "re-detect" ":" "boolean" -#line 789 "dhcp4_parser.yy" + case 187: // re_detect: "re-detect" ":" "boolean" +#line 797 "dhcp4_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1580 "dhcp4_parser.cc" +#line 1590 "dhcp4_parser.cc" break; - case 186: // $@31: %empty -#line 796 "dhcp4_parser.yy" + case 188: // $@31: %empty +#line 804 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1588,22 +1598,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1592 "dhcp4_parser.cc" +#line 1602 "dhcp4_parser.cc" break; - case 187: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" -#line 802 "dhcp4_parser.yy" + case 189: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" +#line 810 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1603 "dhcp4_parser.cc" +#line 1613 "dhcp4_parser.cc" break; - case 188: // $@32: %empty -#line 809 "dhcp4_parser.yy" + case 190: // $@32: %empty +#line 817 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1611,29 +1621,29 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1615 "dhcp4_parser.cc" +#line 1625 "dhcp4_parser.cc" break; - case 189: // sanity_checks: "sanity-checks" $@32 ":" "{" sanity_checks_params "}" -#line 815 "dhcp4_parser.yy" + case 191: // sanity_checks: "sanity-checks" $@32 ":" "{" sanity_checks_params "}" +#line 823 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1624 "dhcp4_parser.cc" +#line 1634 "dhcp4_parser.cc" break; - case 193: // $@33: %empty -#line 825 "dhcp4_parser.yy" + case 195: // $@33: %empty +#line 833 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1633 "dhcp4_parser.cc" +#line 1643 "dhcp4_parser.cc" break; - case 194: // lease_checks: "lease-checks" $@33 ":" "constant string" -#line 828 "dhcp4_parser.yy" + case 196: // lease_checks: "lease-checks" $@33 ":" "constant string" +#line 836 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1649,11 +1659,11 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1653 "dhcp4_parser.cc" +#line 1663 "dhcp4_parser.cc" break; - case 195: // $@34: %empty -#line 844 "dhcp4_parser.yy" + case 197: // $@34: %empty +#line 852 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1661,22 +1671,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1665 "dhcp4_parser.cc" +#line 1675 "dhcp4_parser.cc" break; - case 196: // hosts_database: "hosts-database" $@34 ":" "{" database_map_params "}" -#line 850 "dhcp4_parser.yy" + case 198: // hosts_database: "hosts-database" $@34 ":" "{" database_map_params "}" +#line 858 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1676 "dhcp4_parser.cc" +#line 1686 "dhcp4_parser.cc" break; - case 197: // $@35: %empty -#line 857 "dhcp4_parser.yy" + case 199: // $@35: %empty +#line 865 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1684,344 +1694,344 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1688 "dhcp4_parser.cc" +#line 1698 "dhcp4_parser.cc" break; - case 198: // hosts_databases: "hosts-databases" $@35 ":" "[" database_list "]" -#line 863 "dhcp4_parser.yy" + case 200: // hosts_databases: "hosts-databases" $@35 ":" "[" database_list "]" +#line 871 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1697 "dhcp4_parser.cc" +#line 1707 "dhcp4_parser.cc" break; - case 203: // $@36: %empty -#line 876 "dhcp4_parser.yy" + case 205: // $@36: %empty +#line 884 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1707 "dhcp4_parser.cc" +#line 1717 "dhcp4_parser.cc" break; - case 204: // database: "{" $@36 database_map_params "}" -#line 880 "dhcp4_parser.yy" + case 206: // database: "{" $@36 database_map_params "}" +#line 888 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1717 "dhcp4_parser.cc" +#line 1727 "dhcp4_parser.cc" break; - case 228: // $@37: %empty -#line 913 "dhcp4_parser.yy" + case 230: // $@37: %empty +#line 921 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 1726 "dhcp4_parser.cc" +#line 1736 "dhcp4_parser.cc" break; - case 229: // database_type: "type" $@37 ":" db_type -#line 916 "dhcp4_parser.yy" + case 231: // database_type: "type" $@37 ":" db_type +#line 924 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1735 "dhcp4_parser.cc" +#line 1745 "dhcp4_parser.cc" break; - case 230: // db_type: "memfile" -#line 921 "dhcp4_parser.yy" + case 232: // db_type: "memfile" +#line 929 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1741 "dhcp4_parser.cc" +#line 1751 "dhcp4_parser.cc" break; - case 231: // db_type: "mysql" -#line 922 "dhcp4_parser.yy" + case 233: // db_type: "mysql" +#line 930 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1747 "dhcp4_parser.cc" +#line 1757 "dhcp4_parser.cc" break; - case 232: // db_type: "postgresql" -#line 923 "dhcp4_parser.yy" + case 234: // db_type: "postgresql" +#line 931 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1753 "dhcp4_parser.cc" +#line 1763 "dhcp4_parser.cc" break; - case 233: // db_type: "cql" -#line 924 "dhcp4_parser.yy" + case 235: // db_type: "cql" +#line 932 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1759 "dhcp4_parser.cc" +#line 1769 "dhcp4_parser.cc" break; - case 234: // $@38: %empty -#line 927 "dhcp4_parser.yy" + case 236: // $@38: %empty +#line 935 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1768 "dhcp4_parser.cc" +#line 1778 "dhcp4_parser.cc" break; - case 235: // user: "user" $@38 ":" "constant string" -#line 930 "dhcp4_parser.yy" + case 237: // user: "user" $@38 ":" "constant string" +#line 938 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1778 "dhcp4_parser.cc" +#line 1788 "dhcp4_parser.cc" break; - case 236: // $@39: %empty -#line 936 "dhcp4_parser.yy" + case 238: // $@39: %empty +#line 944 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1787 "dhcp4_parser.cc" +#line 1797 "dhcp4_parser.cc" break; - case 237: // password: "password" $@39 ":" "constant string" -#line 939 "dhcp4_parser.yy" + case 239: // password: "password" $@39 ":" "constant string" +#line 947 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1797 "dhcp4_parser.cc" +#line 1807 "dhcp4_parser.cc" break; - case 238: // $@40: %empty -#line 945 "dhcp4_parser.yy" + case 240: // $@40: %empty +#line 953 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1806 "dhcp4_parser.cc" +#line 1816 "dhcp4_parser.cc" break; - case 239: // host: "host" $@40 ":" "constant string" -#line 948 "dhcp4_parser.yy" + case 241: // host: "host" $@40 ":" "constant string" +#line 956 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1816 "dhcp4_parser.cc" +#line 1826 "dhcp4_parser.cc" break; - case 240: // port: "port" ":" "integer" -#line 954 "dhcp4_parser.yy" + case 242: // port: "port" ":" "integer" +#line 962 "dhcp4_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1826 "dhcp4_parser.cc" +#line 1836 "dhcp4_parser.cc" break; - case 241: // $@41: %empty -#line 960 "dhcp4_parser.yy" + case 243: // $@41: %empty +#line 968 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1835 "dhcp4_parser.cc" +#line 1845 "dhcp4_parser.cc" break; - case 242: // name: "name" $@41 ":" "constant string" -#line 963 "dhcp4_parser.yy" + case 244: // name: "name" $@41 ":" "constant string" +#line 971 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1845 "dhcp4_parser.cc" +#line 1855 "dhcp4_parser.cc" break; - case 243: // persist: "persist" ":" "boolean" -#line 969 "dhcp4_parser.yy" + case 245: // persist: "persist" ":" "boolean" +#line 977 "dhcp4_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1855 "dhcp4_parser.cc" +#line 1865 "dhcp4_parser.cc" break; - case 244: // lfc_interval: "lfc-interval" ":" "integer" -#line 975 "dhcp4_parser.yy" + case 246: // lfc_interval: "lfc-interval" ":" "integer" +#line 983 "dhcp4_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1865 "dhcp4_parser.cc" +#line 1875 "dhcp4_parser.cc" break; - case 245: // readonly: "readonly" ":" "boolean" -#line 981 "dhcp4_parser.yy" + case 247: // readonly: "readonly" ":" "boolean" +#line 989 "dhcp4_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1875 "dhcp4_parser.cc" +#line 1885 "dhcp4_parser.cc" break; - case 246: // connect_timeout: "connect-timeout" ":" "integer" -#line 987 "dhcp4_parser.yy" + case 248: // connect_timeout: "connect-timeout" ":" "integer" +#line 995 "dhcp4_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1885 "dhcp4_parser.cc" +#line 1895 "dhcp4_parser.cc" break; - case 247: // request_timeout: "request-timeout" ":" "integer" -#line 993 "dhcp4_parser.yy" + case 249: // request_timeout: "request-timeout" ":" "integer" +#line 1001 "dhcp4_parser.yy" { ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } -#line 1895 "dhcp4_parser.cc" +#line 1905 "dhcp4_parser.cc" break; - case 248: // tcp_keepalive: "tcp-keepalive" ":" "integer" -#line 999 "dhcp4_parser.yy" + case 250: // tcp_keepalive: "tcp-keepalive" ":" "integer" +#line 1007 "dhcp4_parser.yy" { ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } -#line 1905 "dhcp4_parser.cc" +#line 1915 "dhcp4_parser.cc" break; - case 249: // tcp_nodelay: "tcp-nodelay" ":" "boolean" -#line 1005 "dhcp4_parser.yy" + case 251: // tcp_nodelay: "tcp-nodelay" ":" "boolean" +#line 1013 "dhcp4_parser.yy" { ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } -#line 1915 "dhcp4_parser.cc" +#line 1925 "dhcp4_parser.cc" break; - case 250: // $@42: %empty -#line 1011 "dhcp4_parser.yy" + case 252: // $@42: %empty +#line 1019 "dhcp4_parser.yy" { ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1924 "dhcp4_parser.cc" +#line 1934 "dhcp4_parser.cc" break; - case 251: // contact_points: "contact-points" $@42 ":" "constant string" -#line 1014 "dhcp4_parser.yy" + case 253: // contact_points: "contact-points" $@42 ":" "constant string" +#line 1022 "dhcp4_parser.yy" { ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); ctx.leave(); } -#line 1934 "dhcp4_parser.cc" +#line 1944 "dhcp4_parser.cc" break; - case 252: // $@43: %empty -#line 1020 "dhcp4_parser.yy" + case 254: // $@43: %empty +#line 1028 "dhcp4_parser.yy" { ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1943 "dhcp4_parser.cc" +#line 1953 "dhcp4_parser.cc" break; - case 253: // keyspace: "keyspace" $@43 ":" "constant string" -#line 1023 "dhcp4_parser.yy" + case 255: // keyspace: "keyspace" $@43 ":" "constant string" +#line 1031 "dhcp4_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 1953 "dhcp4_parser.cc" +#line 1963 "dhcp4_parser.cc" break; - case 254: // $@44: %empty -#line 1029 "dhcp4_parser.yy" + case 256: // $@44: %empty +#line 1037 "dhcp4_parser.yy" { ctx.unique("consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1962 "dhcp4_parser.cc" +#line 1972 "dhcp4_parser.cc" break; - case 255: // consistency: "consistency" $@44 ":" "constant string" -#line 1032 "dhcp4_parser.yy" + case 257: // consistency: "consistency" $@44 ":" "constant string" +#line 1040 "dhcp4_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); ctx.leave(); } -#line 1972 "dhcp4_parser.cc" +#line 1982 "dhcp4_parser.cc" break; - case 256: // $@45: %empty -#line 1038 "dhcp4_parser.yy" + case 258: // $@45: %empty +#line 1046 "dhcp4_parser.yy" { ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1981 "dhcp4_parser.cc" +#line 1991 "dhcp4_parser.cc" break; - case 257: // serial_consistency: "serial-consistency" $@45 ":" "constant string" -#line 1041 "dhcp4_parser.yy" + case 259: // serial_consistency: "serial-consistency" $@45 ":" "constant string" +#line 1049 "dhcp4_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("serial-consistency", c); ctx.leave(); } -#line 1991 "dhcp4_parser.cc" +#line 2001 "dhcp4_parser.cc" break; - case 258: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1047 "dhcp4_parser.yy" + case 260: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1055 "dhcp4_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2001 "dhcp4_parser.cc" +#line 2011 "dhcp4_parser.cc" break; - case 259: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1053 "dhcp4_parser.yy" + case 261: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1061 "dhcp4_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2011 "dhcp4_parser.cc" +#line 2021 "dhcp4_parser.cc" break; - case 260: // max_row_errors: "max-row-errors" ":" "integer" -#line 1059 "dhcp4_parser.yy" + case 262: // max_row_errors: "max-row-errors" ":" "integer" +#line 1067 "dhcp4_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2021 "dhcp4_parser.cc" +#line 2031 "dhcp4_parser.cc" break; - case 261: // $@46: %empty -#line 1066 "dhcp4_parser.yy" + case 263: // $@46: %empty +#line 1074 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2029,65 +2039,65 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2033 "dhcp4_parser.cc" +#line 2043 "dhcp4_parser.cc" break; - case 262: // host_reservation_identifiers: "host-reservation-identifiers" $@46 ":" "[" host_reservation_identifiers_list "]" -#line 1072 "dhcp4_parser.yy" + case 264: // host_reservation_identifiers: "host-reservation-identifiers" $@46 ":" "[" host_reservation_identifiers_list "]" +#line 1080 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2042 "dhcp4_parser.cc" +#line 2052 "dhcp4_parser.cc" break; - case 270: // duid_id: "duid" -#line 1088 "dhcp4_parser.yy" + case 272: // duid_id: "duid" +#line 1096 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2051 "dhcp4_parser.cc" +#line 2061 "dhcp4_parser.cc" break; - case 271: // hw_address_id: "hw-address" -#line 1093 "dhcp4_parser.yy" + case 273: // hw_address_id: "hw-address" +#line 1101 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2060 "dhcp4_parser.cc" +#line 2070 "dhcp4_parser.cc" break; - case 272: // circuit_id: "circuit-id" -#line 1098 "dhcp4_parser.yy" + case 274: // circuit_id: "circuit-id" +#line 1106 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } -#line 2069 "dhcp4_parser.cc" +#line 2079 "dhcp4_parser.cc" break; - case 273: // client_id: "client-id" -#line 1103 "dhcp4_parser.yy" + case 275: // client_id: "client-id" +#line 1111 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } -#line 2078 "dhcp4_parser.cc" +#line 2088 "dhcp4_parser.cc" break; - case 274: // flex_id: "flex-id" -#line 1108 "dhcp4_parser.yy" + case 276: // flex_id: "flex-id" +#line 1116 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2087 "dhcp4_parser.cc" +#line 2097 "dhcp4_parser.cc" break; - case 275: // $@47: %empty -#line 1115 "dhcp4_parser.yy" + case 277: // $@47: %empty +#line 1123 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2095,52 +2105,52 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2099 "dhcp4_parser.cc" +#line 2109 "dhcp4_parser.cc" break; - case 276: // dhcp_multi_threading: "multi-threading" $@47 ":" "{" multi_threading_params "}" -#line 1121 "dhcp4_parser.yy" + case 278: // dhcp_multi_threading: "multi-threading" $@47 ":" "{" multi_threading_params "}" +#line 1129 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2110 "dhcp4_parser.cc" +#line 2120 "dhcp4_parser.cc" break; - case 285: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1140 "dhcp4_parser.yy" + case 287: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1148 "dhcp4_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2120 "dhcp4_parser.cc" +#line 2130 "dhcp4_parser.cc" break; - case 286: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1146 "dhcp4_parser.yy" + case 288: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1154 "dhcp4_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2130 "dhcp4_parser.cc" +#line 2140 "dhcp4_parser.cc" break; - case 287: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1152 "dhcp4_parser.yy" + case 289: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1160 "dhcp4_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2140 "dhcp4_parser.cc" +#line 2150 "dhcp4_parser.cc" break; - case 288: // $@48: %empty -#line 1158 "dhcp4_parser.yy" + case 290: // $@48: %empty +#line 1166 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2148,97 +2158,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2152 "dhcp4_parser.cc" +#line 2162 "dhcp4_parser.cc" break; - case 289: // hooks_libraries: "hooks-libraries" $@48 ":" "[" hooks_libraries_list "]" -#line 1164 "dhcp4_parser.yy" + case 291: // hooks_libraries: "hooks-libraries" $@48 ":" "[" hooks_libraries_list "]" +#line 1172 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2161 "dhcp4_parser.cc" +#line 2171 "dhcp4_parser.cc" break; - case 294: // $@49: %empty -#line 1177 "dhcp4_parser.yy" + case 296: // $@49: %empty +#line 1185 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2171 "dhcp4_parser.cc" +#line 2181 "dhcp4_parser.cc" break; - case 295: // hooks_library: "{" $@49 hooks_params "}" -#line 1181 "dhcp4_parser.yy" + case 297: // hooks_library: "{" $@49 hooks_params "}" +#line 1189 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2181 "dhcp4_parser.cc" +#line 2191 "dhcp4_parser.cc" break; - case 296: // $@50: %empty -#line 1187 "dhcp4_parser.yy" + case 298: // $@50: %empty +#line 1195 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2191 "dhcp4_parser.cc" +#line 2201 "dhcp4_parser.cc" break; - case 297: // sub_hooks_library: "{" $@50 hooks_params "}" -#line 1191 "dhcp4_parser.yy" + case 299: // sub_hooks_library: "{" $@50 hooks_params "}" +#line 1199 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2201 "dhcp4_parser.cc" +#line 2211 "dhcp4_parser.cc" break; - case 303: // $@51: %empty -#line 1206 "dhcp4_parser.yy" + case 305: // $@51: %empty +#line 1214 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2210 "dhcp4_parser.cc" +#line 2220 "dhcp4_parser.cc" break; - case 304: // library: "library" $@51 ":" "constant string" -#line 1209 "dhcp4_parser.yy" + case 306: // library: "library" $@51 ":" "constant string" +#line 1217 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2220 "dhcp4_parser.cc" +#line 2230 "dhcp4_parser.cc" break; - case 305: // $@52: %empty -#line 1215 "dhcp4_parser.yy" + case 307: // $@52: %empty +#line 1223 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2229 "dhcp4_parser.cc" +#line 2239 "dhcp4_parser.cc" break; - case 306: // parameters: "parameters" $@52 ":" map_value -#line 1218 "dhcp4_parser.yy" + case 308: // parameters: "parameters" $@52 ":" map_value +#line 1226 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2238 "dhcp4_parser.cc" +#line 2248 "dhcp4_parser.cc" break; - case 307: // $@53: %empty -#line 1224 "dhcp4_parser.yy" + case 309: // $@53: %empty +#line 1232 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2246,81 +2256,81 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2250 "dhcp4_parser.cc" +#line 2260 "dhcp4_parser.cc" break; - case 308: // expired_leases_processing: "expired-leases-processing" $@53 ":" "{" expired_leases_params "}" -#line 1230 "dhcp4_parser.yy" + case 310: // expired_leases_processing: "expired-leases-processing" $@53 ":" "{" expired_leases_params "}" +#line 1238 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2260 "dhcp4_parser.cc" +#line 2270 "dhcp4_parser.cc" break; - case 317: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1248 "dhcp4_parser.yy" + case 319: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1256 "dhcp4_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2270 "dhcp4_parser.cc" +#line 2280 "dhcp4_parser.cc" break; - case 318: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1254 "dhcp4_parser.yy" + case 320: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1262 "dhcp4_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2280 "dhcp4_parser.cc" +#line 2290 "dhcp4_parser.cc" break; - case 319: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1260 "dhcp4_parser.yy" + case 321: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1268 "dhcp4_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2290 "dhcp4_parser.cc" +#line 2300 "dhcp4_parser.cc" break; - case 320: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1266 "dhcp4_parser.yy" + case 322: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1274 "dhcp4_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2300 "dhcp4_parser.cc" +#line 2310 "dhcp4_parser.cc" break; - case 321: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1272 "dhcp4_parser.yy" + case 323: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1280 "dhcp4_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2310 "dhcp4_parser.cc" +#line 2320 "dhcp4_parser.cc" break; - case 322: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1278 "dhcp4_parser.yy" + case 324: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1286 "dhcp4_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2320 "dhcp4_parser.cc" +#line 2330 "dhcp4_parser.cc" break; - case 323: // $@54: %empty -#line 1287 "dhcp4_parser.yy" + case 325: // $@54: %empty +#line 1295 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2328,30 +2338,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } -#line 2332 "dhcp4_parser.cc" +#line 2342 "dhcp4_parser.cc" break; - case 324: // subnet4_list: "subnet4" $@54 ":" "[" subnet4_list_content "]" -#line 1293 "dhcp4_parser.yy" + case 326: // subnet4_list: "subnet4" $@54 ":" "[" subnet4_list_content "]" +#line 1301 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2341 "dhcp4_parser.cc" +#line 2351 "dhcp4_parser.cc" break; - case 329: // $@55: %empty -#line 1313 "dhcp4_parser.yy" + case 331: // $@55: %empty +#line 1321 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2351 "dhcp4_parser.cc" +#line 2361 "dhcp4_parser.cc" break; - case 330: // subnet4: "{" $@55 subnet4_params "}" -#line 1317 "dhcp4_parser.yy" + case 332: // subnet4: "{" $@55 subnet4_params "}" +#line 1325 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2373,145 +2383,145 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2377 "dhcp4_parser.cc" +#line 2387 "dhcp4_parser.cc" break; - case 331: // $@56: %empty -#line 1339 "dhcp4_parser.yy" + case 333: // $@56: %empty +#line 1347 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2387 "dhcp4_parser.cc" +#line 2397 "dhcp4_parser.cc" break; - case 332: // sub_subnet4: "{" $@56 subnet4_params "}" -#line 1343 "dhcp4_parser.yy" + case 334: // sub_subnet4: "{" $@56 subnet4_params "}" +#line 1351 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2397 "dhcp4_parser.cc" +#line 2407 "dhcp4_parser.cc" break; - case 379: // $@57: %empty -#line 1401 "dhcp4_parser.yy" + case 382: // $@57: %empty +#line 1410 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2406 "dhcp4_parser.cc" +#line 2416 "dhcp4_parser.cc" break; - case 380: // subnet: "subnet" $@57 ":" "constant string" -#line 1404 "dhcp4_parser.yy" + case 383: // subnet: "subnet" $@57 ":" "constant string" +#line 1413 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2416 "dhcp4_parser.cc" +#line 2426 "dhcp4_parser.cc" break; - case 381: // $@58: %empty -#line 1410 "dhcp4_parser.yy" + case 384: // $@58: %empty +#line 1419 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2425 "dhcp4_parser.cc" +#line 2435 "dhcp4_parser.cc" break; - case 382: // subnet_4o6_interface: "4o6-interface" $@58 ":" "constant string" -#line 1413 "dhcp4_parser.yy" + case 385: // subnet_4o6_interface: "4o6-interface" $@58 ":" "constant string" +#line 1422 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); ctx.leave(); } -#line 2435 "dhcp4_parser.cc" +#line 2445 "dhcp4_parser.cc" break; - case 383: // $@59: %empty -#line 1419 "dhcp4_parser.yy" + case 386: // $@59: %empty +#line 1428 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2444 "dhcp4_parser.cc" +#line 2454 "dhcp4_parser.cc" break; - case 384: // subnet_4o6_interface_id: "4o6-interface-id" $@59 ":" "constant string" -#line 1422 "dhcp4_parser.yy" + case 387: // subnet_4o6_interface_id: "4o6-interface-id" $@59 ":" "constant string" +#line 1431 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); ctx.leave(); } -#line 2454 "dhcp4_parser.cc" +#line 2464 "dhcp4_parser.cc" break; - case 385: // $@60: %empty -#line 1428 "dhcp4_parser.yy" + case 388: // $@60: %empty +#line 1437 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2463 "dhcp4_parser.cc" +#line 2473 "dhcp4_parser.cc" break; - case 386: // subnet_4o6_subnet: "4o6-subnet" $@60 ":" "constant string" -#line 1431 "dhcp4_parser.yy" + case 389: // subnet_4o6_subnet: "4o6-subnet" $@60 ":" "constant string" +#line 1440 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); ctx.leave(); } -#line 2473 "dhcp4_parser.cc" +#line 2483 "dhcp4_parser.cc" break; - case 387: // $@61: %empty -#line 1437 "dhcp4_parser.yy" + case 390: // $@61: %empty +#line 1446 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2482 "dhcp4_parser.cc" +#line 2492 "dhcp4_parser.cc" break; - case 388: // interface: "interface" $@61 ":" "constant string" -#line 1440 "dhcp4_parser.yy" + case 391: // interface: "interface" $@61 ":" "constant string" +#line 1449 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2492 "dhcp4_parser.cc" +#line 2502 "dhcp4_parser.cc" break; - case 389: // $@62: %empty -#line 1446 "dhcp4_parser.yy" + case 392: // $@62: %empty +#line 1455 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2501 "dhcp4_parser.cc" +#line 2511 "dhcp4_parser.cc" break; - case 390: // client_class: "client-class" $@62 ":" "constant string" -#line 1449 "dhcp4_parser.yy" + case 393: // client_class: "client-class" $@62 ":" "constant string" +#line 1458 "dhcp4_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2511 "dhcp4_parser.cc" +#line 2521 "dhcp4_parser.cc" break; - case 391: // $@63: %empty -#line 1455 "dhcp4_parser.yy" + case 394: // $@63: %empty +#line 1464 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2519,102 +2529,102 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2523 "dhcp4_parser.cc" +#line 2533 "dhcp4_parser.cc" break; - case 392: // require_client_classes: "require-client-classes" $@63 ":" list_strings -#line 1461 "dhcp4_parser.yy" + case 395: // require_client_classes: "require-client-classes" $@63 ":" list_strings +#line 1470 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2532 "dhcp4_parser.cc" +#line 2542 "dhcp4_parser.cc" break; - case 393: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1466 "dhcp4_parser.yy" + case 396: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1475 "dhcp4_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 2542 "dhcp4_parser.cc" +#line 2552 "dhcp4_parser.cc" break; - case 394: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1472 "dhcp4_parser.yy" + case 397: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1481 "dhcp4_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 2552 "dhcp4_parser.cc" +#line 2562 "dhcp4_parser.cc" break; - case 395: // reservations_global: "reservations-global" ":" "boolean" -#line 1478 "dhcp4_parser.yy" + case 398: // reservations_global: "reservations-global" ":" "boolean" +#line 1487 "dhcp4_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 2562 "dhcp4_parser.cc" +#line 2572 "dhcp4_parser.cc" break; - case 396: // $@64: %empty -#line 1484 "dhcp4_parser.yy" + case 399: // $@64: %empty +#line 1493 "dhcp4_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); } -#line 2571 "dhcp4_parser.cc" +#line 2581 "dhcp4_parser.cc" break; - case 397: // reservation_mode: "reservation-mode" $@64 ":" hr_mode -#line 1487 "dhcp4_parser.yy" + case 400: // reservation_mode: "reservation-mode" $@64 ":" hr_mode +#line 1496 "dhcp4_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2580 "dhcp4_parser.cc" +#line 2590 "dhcp4_parser.cc" break; - case 398: // hr_mode: "disabled" -#line 1492 "dhcp4_parser.yy" + case 401: // hr_mode: "disabled" +#line 1501 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2586 "dhcp4_parser.cc" +#line 2596 "dhcp4_parser.cc" break; - case 399: // hr_mode: "out-of-pool" -#line 1493 "dhcp4_parser.yy" + case 402: // hr_mode: "out-of-pool" +#line 1502 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2592 "dhcp4_parser.cc" +#line 2602 "dhcp4_parser.cc" break; - case 400: // hr_mode: "global" -#line 1494 "dhcp4_parser.yy" + case 403: // hr_mode: "global" +#line 1503 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2598 "dhcp4_parser.cc" +#line 2608 "dhcp4_parser.cc" break; - case 401: // hr_mode: "all" -#line 1495 "dhcp4_parser.yy" + case 404: // hr_mode: "all" +#line 1504 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2604 "dhcp4_parser.cc" +#line 2614 "dhcp4_parser.cc" break; - case 402: // id: "id" ":" "integer" -#line 1498 "dhcp4_parser.yy" + case 405: // id: "id" ":" "integer" +#line 1507 "dhcp4_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 2614 "dhcp4_parser.cc" +#line 2624 "dhcp4_parser.cc" break; - case 403: // $@65: %empty -#line 1506 "dhcp4_parser.yy" + case 406: // $@65: %empty +#line 1515 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2622,38 +2632,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2626 "dhcp4_parser.cc" +#line 2636 "dhcp4_parser.cc" break; - case 404: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" -#line 1512 "dhcp4_parser.yy" + case 407: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" +#line 1521 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2635 "dhcp4_parser.cc" +#line 2645 "dhcp4_parser.cc" break; - case 409: // $@66: %empty -#line 1527 "dhcp4_parser.yy" + case 412: // $@66: %empty +#line 1536 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2645 "dhcp4_parser.cc" +#line 2655 "dhcp4_parser.cc" break; - case 410: // shared_network: "{" $@66 shared_network_params "}" -#line 1531 "dhcp4_parser.yy" + case 413: // shared_network: "{" $@66 shared_network_params "}" +#line 1540 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 2653 "dhcp4_parser.cc" +#line 2663 "dhcp4_parser.cc" break; - case 452: // $@67: %empty -#line 1584 "dhcp4_parser.yy" + case 456: // $@67: %empty +#line 1594 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2661,47 +2671,47 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2665 "dhcp4_parser.cc" +#line 2675 "dhcp4_parser.cc" break; - case 453: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" -#line 1590 "dhcp4_parser.yy" + case 457: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" +#line 1600 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2674 "dhcp4_parser.cc" +#line 2684 "dhcp4_parser.cc" break; - case 454: // $@68: %empty -#line 1598 "dhcp4_parser.yy" + case 458: // $@68: %empty +#line 1608 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2683 "dhcp4_parser.cc" +#line 2693 "dhcp4_parser.cc" break; - case 455: // sub_option_def_list: "{" $@68 option_def_list "}" -#line 1601 "dhcp4_parser.yy" + case 459: // sub_option_def_list: "{" $@68 option_def_list "}" +#line 1611 "dhcp4_parser.yy" { // parsing completed } -#line 2691 "dhcp4_parser.cc" +#line 2701 "dhcp4_parser.cc" break; - case 460: // $@69: %empty -#line 1617 "dhcp4_parser.yy" + case 464: // $@69: %empty +#line 1627 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2701 "dhcp4_parser.cc" +#line 2711 "dhcp4_parser.cc" break; - case 461: // option_def_entry: "{" $@69 option_def_params "}" -#line 1621 "dhcp4_parser.yy" + case 465: // option_def_entry: "{" $@69 option_def_params "}" +#line 1631 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2709,21 +2719,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2713 "dhcp4_parser.cc" +#line 2723 "dhcp4_parser.cc" break; - case 462: // $@70: %empty -#line 1632 "dhcp4_parser.yy" + case 466: // $@70: %empty +#line 1642 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2723 "dhcp4_parser.cc" +#line 2733 "dhcp4_parser.cc" break; - case 463: // sub_option_def: "{" $@70 option_def_params "}" -#line 1636 "dhcp4_parser.yy" + case 467: // sub_option_def: "{" $@70 option_def_params "}" +#line 1646 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2731,107 +2741,107 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2735 "dhcp4_parser.cc" +#line 2745 "dhcp4_parser.cc" break; - case 479: // code: "code" ":" "integer" -#line 1668 "dhcp4_parser.yy" + case 483: // code: "code" ":" "integer" +#line 1678 "dhcp4_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 2745 "dhcp4_parser.cc" +#line 2755 "dhcp4_parser.cc" break; - case 481: // $@71: %empty -#line 1676 "dhcp4_parser.yy" + case 485: // $@71: %empty +#line 1686 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2754 "dhcp4_parser.cc" +#line 2764 "dhcp4_parser.cc" break; - case 482: // option_def_type: "type" $@71 ":" "constant string" -#line 1679 "dhcp4_parser.yy" + case 486: // option_def_type: "type" $@71 ":" "constant string" +#line 1689 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2764 "dhcp4_parser.cc" +#line 2774 "dhcp4_parser.cc" break; - case 483: // $@72: %empty -#line 1685 "dhcp4_parser.yy" + case 487: // $@72: %empty +#line 1695 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2773 "dhcp4_parser.cc" +#line 2783 "dhcp4_parser.cc" break; - case 484: // option_def_record_types: "record-types" $@72 ":" "constant string" -#line 1688 "dhcp4_parser.yy" + case 488: // option_def_record_types: "record-types" $@72 ":" "constant string" +#line 1698 "dhcp4_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 2783 "dhcp4_parser.cc" +#line 2793 "dhcp4_parser.cc" break; - case 485: // $@73: %empty -#line 1694 "dhcp4_parser.yy" + case 489: // $@73: %empty +#line 1704 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2792 "dhcp4_parser.cc" +#line 2802 "dhcp4_parser.cc" break; - case 486: // space: "space" $@73 ":" "constant string" -#line 1697 "dhcp4_parser.yy" + case 490: // space: "space" $@73 ":" "constant string" +#line 1707 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2802 "dhcp4_parser.cc" +#line 2812 "dhcp4_parser.cc" break; - case 488: // $@74: %empty -#line 1705 "dhcp4_parser.yy" + case 492: // $@74: %empty +#line 1715 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2811 "dhcp4_parser.cc" +#line 2821 "dhcp4_parser.cc" break; - case 489: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" -#line 1708 "dhcp4_parser.yy" + case 493: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" +#line 1718 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2821 "dhcp4_parser.cc" +#line 2831 "dhcp4_parser.cc" break; - case 490: // option_def_array: "array" ":" "boolean" -#line 1714 "dhcp4_parser.yy" + case 494: // option_def_array: "array" ":" "boolean" +#line 1724 "dhcp4_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2831 "dhcp4_parser.cc" +#line 2841 "dhcp4_parser.cc" break; - case 491: // $@75: %empty -#line 1724 "dhcp4_parser.yy" + case 495: // $@75: %empty +#line 1734 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2839,97 +2849,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2843 "dhcp4_parser.cc" +#line 2853 "dhcp4_parser.cc" break; - case 492: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" -#line 1730 "dhcp4_parser.yy" + case 496: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" +#line 1740 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2852 "dhcp4_parser.cc" +#line 2862 "dhcp4_parser.cc" break; - case 497: // $@76: %empty -#line 1749 "dhcp4_parser.yy" + case 501: // $@76: %empty +#line 1759 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2862 "dhcp4_parser.cc" +#line 2872 "dhcp4_parser.cc" break; - case 498: // option_data_entry: "{" $@76 option_data_params "}" -#line 1753 "dhcp4_parser.yy" + case 502: // option_data_entry: "{" $@76 option_data_params "}" +#line 1763 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2871 "dhcp4_parser.cc" +#line 2881 "dhcp4_parser.cc" break; - case 499: // $@77: %empty -#line 1761 "dhcp4_parser.yy" + case 503: // $@77: %empty +#line 1771 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2881 "dhcp4_parser.cc" +#line 2891 "dhcp4_parser.cc" break; - case 500: // sub_option_data: "{" $@77 option_data_params "}" -#line 1765 "dhcp4_parser.yy" + case 504: // sub_option_data: "{" $@77 option_data_params "}" +#line 1775 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 2890 "dhcp4_parser.cc" +#line 2900 "dhcp4_parser.cc" break; - case 515: // $@78: %empty -#line 1798 "dhcp4_parser.yy" + case 519: // $@78: %empty +#line 1808 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2899 "dhcp4_parser.cc" +#line 2909 "dhcp4_parser.cc" break; - case 516: // option_data_data: "data" $@78 ":" "constant string" -#line 1801 "dhcp4_parser.yy" + case 520: // option_data_data: "data" $@78 ":" "constant string" +#line 1811 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2909 "dhcp4_parser.cc" +#line 2919 "dhcp4_parser.cc" break; - case 519: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1811 "dhcp4_parser.yy" + case 523: // option_data_csv_format: "csv-format" ":" "boolean" +#line 1821 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2919 "dhcp4_parser.cc" +#line 2929 "dhcp4_parser.cc" break; - case 520: // option_data_always_send: "always-send" ":" "boolean" -#line 1817 "dhcp4_parser.yy" + case 524: // option_data_always_send: "always-send" ":" "boolean" +#line 1827 "dhcp4_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 2929 "dhcp4_parser.cc" +#line 2939 "dhcp4_parser.cc" break; - case 521: // $@79: %empty -#line 1826 "dhcp4_parser.yy" + case 525: // $@79: %empty +#line 1836 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2937,87 +2947,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2941 "dhcp4_parser.cc" +#line 2951 "dhcp4_parser.cc" break; - case 522: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" -#line 1832 "dhcp4_parser.yy" + case 526: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" +#line 1842 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2950 "dhcp4_parser.cc" +#line 2960 "dhcp4_parser.cc" break; - case 527: // $@80: %empty -#line 1847 "dhcp4_parser.yy" + case 531: // $@80: %empty +#line 1857 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2960 "dhcp4_parser.cc" +#line 2970 "dhcp4_parser.cc" break; - case 528: // pool_list_entry: "{" $@80 pool_params "}" -#line 1851 "dhcp4_parser.yy" + case 532: // pool_list_entry: "{" $@80 pool_params "}" +#line 1861 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2970 "dhcp4_parser.cc" +#line 2980 "dhcp4_parser.cc" break; - case 529: // $@81: %empty -#line 1857 "dhcp4_parser.yy" + case 533: // $@81: %empty +#line 1867 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2980 "dhcp4_parser.cc" +#line 2990 "dhcp4_parser.cc" break; - case 530: // sub_pool4: "{" $@81 pool_params "}" -#line 1861 "dhcp4_parser.yy" + case 534: // sub_pool4: "{" $@81 pool_params "}" +#line 1871 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2990 "dhcp4_parser.cc" +#line 3000 "dhcp4_parser.cc" break; - case 540: // $@82: %empty -#line 1880 "dhcp4_parser.yy" + case 544: // $@82: %empty +#line 1890 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2999 "dhcp4_parser.cc" +#line 3009 "dhcp4_parser.cc" break; - case 541: // pool_entry: "pool" $@82 ":" "constant string" -#line 1883 "dhcp4_parser.yy" + case 545: // pool_entry: "pool" $@82 ":" "constant string" +#line 1893 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3009 "dhcp4_parser.cc" +#line 3019 "dhcp4_parser.cc" break; - case 542: // $@83: %empty -#line 1889 "dhcp4_parser.yy" + case 546: // $@83: %empty +#line 1899 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3017 "dhcp4_parser.cc" +#line 3027 "dhcp4_parser.cc" break; - case 543: // user_context: "user-context" $@83 ":" map_value -#line 1891 "dhcp4_parser.yy" + case 547: // user_context: "user-context" $@83 ":" map_value +#line 1901 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3040,19 +3050,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3044 "dhcp4_parser.cc" +#line 3054 "dhcp4_parser.cc" break; - case 544: // $@84: %empty -#line 1914 "dhcp4_parser.yy" + case 548: // $@84: %empty +#line 1924 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3052 "dhcp4_parser.cc" +#line 3062 "dhcp4_parser.cc" break; - case 545: // comment: "comment" $@84 ":" "constant string" -#line 1916 "dhcp4_parser.yy" + case 549: // comment: "comment" $@84 ":" "constant string" +#line 1926 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3077,11 +3087,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3081 "dhcp4_parser.cc" +#line 3091 "dhcp4_parser.cc" break; - case 546: // $@85: %empty -#line 1944 "dhcp4_parser.yy" + case 550: // $@85: %empty +#line 1954 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3089,134 +3099,134 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3093 "dhcp4_parser.cc" +#line 3103 "dhcp4_parser.cc" break; - case 547: // reservations: "reservations" $@85 ":" "[" reservations_list "]" -#line 1950 "dhcp4_parser.yy" + case 551: // reservations: "reservations" $@85 ":" "[" reservations_list "]" +#line 1960 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3102 "dhcp4_parser.cc" +#line 3112 "dhcp4_parser.cc" break; - case 552: // $@86: %empty -#line 1963 "dhcp4_parser.yy" + case 556: // $@86: %empty +#line 1973 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3112 "dhcp4_parser.cc" +#line 3122 "dhcp4_parser.cc" break; - case 553: // reservation: "{" $@86 reservation_params "}" -#line 1967 "dhcp4_parser.yy" + case 557: // reservation: "{" $@86 reservation_params "}" +#line 1977 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3121 "dhcp4_parser.cc" +#line 3131 "dhcp4_parser.cc" break; - case 554: // $@87: %empty -#line 1972 "dhcp4_parser.yy" + case 558: // $@87: %empty +#line 1982 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3131 "dhcp4_parser.cc" +#line 3141 "dhcp4_parser.cc" break; - case 555: // sub_reservation: "{" $@87 reservation_params "}" -#line 1976 "dhcp4_parser.yy" + case 559: // sub_reservation: "{" $@87 reservation_params "}" +#line 1986 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3140 "dhcp4_parser.cc" +#line 3150 "dhcp4_parser.cc" break; - case 575: // $@88: %empty -#line 2007 "dhcp4_parser.yy" + case 579: // $@88: %empty +#line 2017 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3149 "dhcp4_parser.cc" +#line 3159 "dhcp4_parser.cc" break; - case 576: // next_server: "next-server" $@88 ":" "constant string" -#line 2010 "dhcp4_parser.yy" + case 580: // next_server: "next-server" $@88 ":" "constant string" +#line 2020 "dhcp4_parser.yy" { ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); ctx.leave(); } -#line 3159 "dhcp4_parser.cc" +#line 3169 "dhcp4_parser.cc" break; - case 577: // $@89: %empty -#line 2016 "dhcp4_parser.yy" + case 581: // $@89: %empty +#line 2026 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3168 "dhcp4_parser.cc" +#line 3178 "dhcp4_parser.cc" break; - case 578: // server_hostname: "server-hostname" $@89 ":" "constant string" -#line 2019 "dhcp4_parser.yy" + case 582: // server_hostname: "server-hostname" $@89 ":" "constant string" +#line 2029 "dhcp4_parser.yy" { ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); ctx.leave(); } -#line 3178 "dhcp4_parser.cc" +#line 3188 "dhcp4_parser.cc" break; - case 579: // $@90: %empty -#line 2025 "dhcp4_parser.yy" + case 583: // $@90: %empty +#line 2035 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3187 "dhcp4_parser.cc" +#line 3197 "dhcp4_parser.cc" break; - case 580: // boot_file_name: "boot-file-name" $@90 ":" "constant string" -#line 2028 "dhcp4_parser.yy" + case 584: // boot_file_name: "boot-file-name" $@90 ":" "constant string" +#line 2038 "dhcp4_parser.yy" { ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); ctx.leave(); } -#line 3197 "dhcp4_parser.cc" +#line 3207 "dhcp4_parser.cc" break; - case 581: // $@91: %empty -#line 2034 "dhcp4_parser.yy" + case 585: // $@91: %empty +#line 2044 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3206 "dhcp4_parser.cc" +#line 3216 "dhcp4_parser.cc" break; - case 582: // ip_address: "ip-address" $@91 ":" "constant string" -#line 2037 "dhcp4_parser.yy" + case 586: // ip_address: "ip-address" $@91 ":" "constant string" +#line 2047 "dhcp4_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 3216 "dhcp4_parser.cc" +#line 3226 "dhcp4_parser.cc" break; - case 583: // $@92: %empty -#line 2043 "dhcp4_parser.yy" + case 587: // $@92: %empty +#line 2053 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3224,134 +3234,134 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3228 "dhcp4_parser.cc" +#line 3238 "dhcp4_parser.cc" break; - case 584: // ip_addresses: "ip-addresses" $@92 ":" list_strings -#line 2049 "dhcp4_parser.yy" + case 588: // ip_addresses: "ip-addresses" $@92 ":" list_strings +#line 2059 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3237 "dhcp4_parser.cc" +#line 3247 "dhcp4_parser.cc" break; - case 585: // $@93: %empty -#line 2054 "dhcp4_parser.yy" + case 589: // $@93: %empty +#line 2064 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3246 "dhcp4_parser.cc" +#line 3256 "dhcp4_parser.cc" break; - case 586: // duid: "duid" $@93 ":" "constant string" -#line 2057 "dhcp4_parser.yy" + case 590: // duid: "duid" $@93 ":" "constant string" +#line 2067 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3256 "dhcp4_parser.cc" +#line 3266 "dhcp4_parser.cc" break; - case 587: // $@94: %empty -#line 2063 "dhcp4_parser.yy" + case 591: // $@94: %empty +#line 2073 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3265 "dhcp4_parser.cc" +#line 3275 "dhcp4_parser.cc" break; - case 588: // hw_address: "hw-address" $@94 ":" "constant string" -#line 2066 "dhcp4_parser.yy" + case 592: // hw_address: "hw-address" $@94 ":" "constant string" +#line 2076 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3275 "dhcp4_parser.cc" +#line 3285 "dhcp4_parser.cc" break; - case 589: // $@95: %empty -#line 2072 "dhcp4_parser.yy" + case 593: // $@95: %empty +#line 2082 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3284 "dhcp4_parser.cc" +#line 3294 "dhcp4_parser.cc" break; - case 590: // client_id_value: "client-id" $@95 ":" "constant string" -#line 2075 "dhcp4_parser.yy" + case 594: // client_id_value: "client-id" $@95 ":" "constant string" +#line 2085 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); ctx.leave(); } -#line 3294 "dhcp4_parser.cc" +#line 3304 "dhcp4_parser.cc" break; - case 591: // $@96: %empty -#line 2081 "dhcp4_parser.yy" + case 595: // $@96: %empty +#line 2091 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3303 "dhcp4_parser.cc" +#line 3313 "dhcp4_parser.cc" break; - case 592: // circuit_id_value: "circuit-id" $@96 ":" "constant string" -#line 2084 "dhcp4_parser.yy" + case 596: // circuit_id_value: "circuit-id" $@96 ":" "constant string" +#line 2094 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); ctx.leave(); } -#line 3313 "dhcp4_parser.cc" +#line 3323 "dhcp4_parser.cc" break; - case 593: // $@97: %empty -#line 2090 "dhcp4_parser.yy" + case 597: // $@97: %empty +#line 2100 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3322 "dhcp4_parser.cc" +#line 3332 "dhcp4_parser.cc" break; - case 594: // flex_id_value: "flex-id" $@97 ":" "constant string" -#line 2093 "dhcp4_parser.yy" + case 598: // flex_id_value: "flex-id" $@97 ":" "constant string" +#line 2103 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3332 "dhcp4_parser.cc" +#line 3342 "dhcp4_parser.cc" break; - case 595: // $@98: %empty -#line 2099 "dhcp4_parser.yy" + case 599: // $@98: %empty +#line 2109 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3341 "dhcp4_parser.cc" +#line 3351 "dhcp4_parser.cc" break; - case 596: // hostname: "hostname" $@98 ":" "constant string" -#line 2102 "dhcp4_parser.yy" + case 600: // hostname: "hostname" $@98 ":" "constant string" +#line 2112 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3351 "dhcp4_parser.cc" +#line 3361 "dhcp4_parser.cc" break; - case 597: // $@99: %empty -#line 2108 "dhcp4_parser.yy" + case 601: // $@99: %empty +#line 2118 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3359,20 +3369,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3363 "dhcp4_parser.cc" +#line 3373 "dhcp4_parser.cc" break; - case 598: // reservation_client_classes: "client-classes" $@99 ":" list_strings -#line 2114 "dhcp4_parser.yy" + case 602: // reservation_client_classes: "client-classes" $@99 ":" list_strings +#line 2124 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3372 "dhcp4_parser.cc" +#line 3382 "dhcp4_parser.cc" break; - case 599: // $@100: %empty -#line 2122 "dhcp4_parser.yy" + case 603: // $@100: %empty +#line 2132 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3380,20 +3390,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3384 "dhcp4_parser.cc" +#line 3394 "dhcp4_parser.cc" break; - case 600: // relay: "relay" $@100 ":" "{" relay_map "}" -#line 2128 "dhcp4_parser.yy" + case 604: // relay: "relay" $@100 ":" "{" relay_map "}" +#line 2138 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3393 "dhcp4_parser.cc" +#line 3403 "dhcp4_parser.cc" break; - case 603: // $@101: %empty -#line 2140 "dhcp4_parser.yy" + case 607: // $@101: %empty +#line 2150 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3401,79 +3411,79 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3405 "dhcp4_parser.cc" +#line 3415 "dhcp4_parser.cc" break; - case 604: // client_classes: "client-classes" $@101 ":" "[" client_classes_list "]" -#line 2146 "dhcp4_parser.yy" + case 608: // client_classes: "client-classes" $@101 ":" "[" client_classes_list "]" +#line 2156 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3414 "dhcp4_parser.cc" +#line 3424 "dhcp4_parser.cc" break; - case 607: // $@102: %empty -#line 2155 "dhcp4_parser.yy" + case 611: // $@102: %empty +#line 2165 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3424 "dhcp4_parser.cc" +#line 3434 "dhcp4_parser.cc" break; - case 608: // client_class_entry: "{" $@102 client_class_params "}" -#line 2159 "dhcp4_parser.yy" + case 612: // client_class_entry: "{" $@102 client_class_params "}" +#line 2169 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3434 "dhcp4_parser.cc" +#line 3444 "dhcp4_parser.cc" break; - case 625: // $@103: %empty -#line 2188 "dhcp4_parser.yy" + case 629: // $@103: %empty +#line 2198 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3443 "dhcp4_parser.cc" +#line 3453 "dhcp4_parser.cc" break; - case 626: // client_class_test: "test" $@103 ":" "constant string" -#line 2191 "dhcp4_parser.yy" + case 630: // client_class_test: "test" $@103 ":" "constant string" +#line 2201 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3453 "dhcp4_parser.cc" +#line 3463 "dhcp4_parser.cc" break; - case 627: // only_if_required: "only-if-required" ":" "boolean" -#line 2197 "dhcp4_parser.yy" + case 631: // only_if_required: "only-if-required" ":" "boolean" +#line 2207 "dhcp4_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 3463 "dhcp4_parser.cc" +#line 3473 "dhcp4_parser.cc" break; - case 628: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2205 "dhcp4_parser.yy" + case 632: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2215 "dhcp4_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 3473 "dhcp4_parser.cc" +#line 3483 "dhcp4_parser.cc" break; - case 629: // $@104: %empty -#line 2213 "dhcp4_parser.yy" + case 633: // $@104: %empty +#line 2223 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3481,58 +3491,58 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 3485 "dhcp4_parser.cc" +#line 3495 "dhcp4_parser.cc" break; - case 630: // control_socket: "control-socket" $@104 ":" "{" control_socket_params "}" -#line 2219 "dhcp4_parser.yy" + case 634: // control_socket: "control-socket" $@104 ":" "{" control_socket_params "}" +#line 2229 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3494 "dhcp4_parser.cc" +#line 3504 "dhcp4_parser.cc" break; - case 638: // $@105: %empty -#line 2235 "dhcp4_parser.yy" + case 642: // $@105: %empty +#line 2245 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3503 "dhcp4_parser.cc" +#line 3513 "dhcp4_parser.cc" break; - case 639: // control_socket_type: "socket-type" $@105 ":" "constant string" -#line 2238 "dhcp4_parser.yy" + case 643: // control_socket_type: "socket-type" $@105 ":" "constant string" +#line 2248 "dhcp4_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 3513 "dhcp4_parser.cc" +#line 3523 "dhcp4_parser.cc" break; - case 640: // $@106: %empty -#line 2244 "dhcp4_parser.yy" + case 644: // $@106: %empty +#line 2254 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3522 "dhcp4_parser.cc" +#line 3532 "dhcp4_parser.cc" break; - case 641: // control_socket_name: "socket-name" $@106 ":" "constant string" -#line 2247 "dhcp4_parser.yy" + case 645: // control_socket_name: "socket-name" $@106 ":" "constant string" +#line 2257 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 3532 "dhcp4_parser.cc" +#line 3542 "dhcp4_parser.cc" break; - case 642: // $@107: %empty -#line 2256 "dhcp4_parser.yy" + case 646: // $@107: %empty +#line 2266 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3540,79 +3550,79 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 3544 "dhcp4_parser.cc" +#line 3554 "dhcp4_parser.cc" break; - case 643: // dhcp_queue_control: "dhcp-queue-control" $@107 ":" "{" queue_control_params "}" -#line 2262 "dhcp4_parser.yy" + case 647: // dhcp_queue_control: "dhcp-queue-control" $@107 ":" "{" queue_control_params "}" +#line 2272 "dhcp4_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3555 "dhcp4_parser.cc" +#line 3565 "dhcp4_parser.cc" break; - case 652: // enable_queue: "enable-queue" ":" "boolean" -#line 2281 "dhcp4_parser.yy" + case 656: // enable_queue: "enable-queue" ":" "boolean" +#line 2291 "dhcp4_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 3565 "dhcp4_parser.cc" +#line 3575 "dhcp4_parser.cc" break; - case 653: // $@108: %empty -#line 2287 "dhcp4_parser.yy" + case 657: // $@108: %empty +#line 2297 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3574 "dhcp4_parser.cc" +#line 3584 "dhcp4_parser.cc" break; - case 654: // queue_type: "queue-type" $@108 ":" "constant string" -#line 2290 "dhcp4_parser.yy" + case 658: // queue_type: "queue-type" $@108 ":" "constant string" +#line 2300 "dhcp4_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 3584 "dhcp4_parser.cc" +#line 3594 "dhcp4_parser.cc" break; - case 655: // capacity: "capacity" ":" "integer" -#line 2296 "dhcp4_parser.yy" + case 659: // capacity: "capacity" ":" "integer" +#line 2306 "dhcp4_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 3594 "dhcp4_parser.cc" +#line 3604 "dhcp4_parser.cc" break; - case 656: // $@109: %empty -#line 2302 "dhcp4_parser.yy" + case 660: // $@109: %empty +#line 2312 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3603 "dhcp4_parser.cc" +#line 3613 "dhcp4_parser.cc" break; - case 657: // arbitrary_map_entry: "constant string" $@109 ":" value -#line 2305 "dhcp4_parser.yy" + case 661: // arbitrary_map_entry: "constant string" $@109 ":" value +#line 2315 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3612 "dhcp4_parser.cc" +#line 3622 "dhcp4_parser.cc" break; - case 658: // $@110: %empty -#line 2312 "dhcp4_parser.yy" + case 662: // $@110: %empty +#line 2322 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3620,283 +3630,283 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 3624 "dhcp4_parser.cc" +#line 3634 "dhcp4_parser.cc" break; - case 659: // dhcp_ddns: "dhcp-ddns" $@110 ":" "{" dhcp_ddns_params "}" -#line 2318 "dhcp4_parser.yy" + case 663: // dhcp_ddns: "dhcp-ddns" $@110 ":" "{" dhcp_ddns_params "}" +#line 2328 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3635 "dhcp4_parser.cc" +#line 3645 "dhcp4_parser.cc" break; - case 660: // $@111: %empty -#line 2325 "dhcp4_parser.yy" + case 664: // $@111: %empty +#line 2335 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3645 "dhcp4_parser.cc" +#line 3655 "dhcp4_parser.cc" break; - case 661: // sub_dhcp_ddns: "{" $@111 dhcp_ddns_params "}" -#line 2329 "dhcp4_parser.yy" + case 665: // sub_dhcp_ddns: "{" $@111 dhcp_ddns_params "}" +#line 2339 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3655 "dhcp4_parser.cc" +#line 3665 "dhcp4_parser.cc" break; - case 682: // enable_updates: "enable-updates" ":" "boolean" -#line 2359 "dhcp4_parser.yy" + case 686: // enable_updates: "enable-updates" ":" "boolean" +#line 2369 "dhcp4_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 3665 "dhcp4_parser.cc" +#line 3675 "dhcp4_parser.cc" break; - case 683: // $@112: %empty -#line 2365 "dhcp4_parser.yy" + case 687: // $@112: %empty +#line 2375 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3674 "dhcp4_parser.cc" +#line 3684 "dhcp4_parser.cc" break; - case 684: // server_ip: "server-ip" $@112 ":" "constant string" -#line 2368 "dhcp4_parser.yy" + case 688: // server_ip: "server-ip" $@112 ":" "constant string" +#line 2378 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 3684 "dhcp4_parser.cc" +#line 3694 "dhcp4_parser.cc" break; - case 685: // server_port: "server-port" ":" "integer" -#line 2374 "dhcp4_parser.yy" + case 689: // server_port: "server-port" ":" "integer" +#line 2384 "dhcp4_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 3694 "dhcp4_parser.cc" +#line 3704 "dhcp4_parser.cc" break; - case 686: // $@113: %empty -#line 2380 "dhcp4_parser.yy" + case 690: // $@113: %empty +#line 2390 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3703 "dhcp4_parser.cc" +#line 3713 "dhcp4_parser.cc" break; - case 687: // sender_ip: "sender-ip" $@113 ":" "constant string" -#line 2383 "dhcp4_parser.yy" + case 691: // sender_ip: "sender-ip" $@113 ":" "constant string" +#line 2393 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 3713 "dhcp4_parser.cc" +#line 3723 "dhcp4_parser.cc" break; - case 688: // sender_port: "sender-port" ":" "integer" -#line 2389 "dhcp4_parser.yy" + case 692: // sender_port: "sender-port" ":" "integer" +#line 2399 "dhcp4_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 3723 "dhcp4_parser.cc" +#line 3733 "dhcp4_parser.cc" break; - case 689: // max_queue_size: "max-queue-size" ":" "integer" -#line 2395 "dhcp4_parser.yy" + case 693: // max_queue_size: "max-queue-size" ":" "integer" +#line 2405 "dhcp4_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 3733 "dhcp4_parser.cc" +#line 3743 "dhcp4_parser.cc" break; - case 690: // $@114: %empty -#line 2401 "dhcp4_parser.yy" + case 694: // $@114: %empty +#line 2411 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 3742 "dhcp4_parser.cc" +#line 3752 "dhcp4_parser.cc" break; - case 691: // ncr_protocol: "ncr-protocol" $@114 ":" ncr_protocol_value -#line 2404 "dhcp4_parser.yy" + case 695: // ncr_protocol: "ncr-protocol" $@114 ":" ncr_protocol_value +#line 2414 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3751 "dhcp4_parser.cc" +#line 3761 "dhcp4_parser.cc" break; - case 692: // ncr_protocol_value: "udp" -#line 2410 "dhcp4_parser.yy" + case 696: // ncr_protocol_value: "udp" +#line 2420 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 3757 "dhcp4_parser.cc" +#line 3767 "dhcp4_parser.cc" break; - case 693: // ncr_protocol_value: "tcp" -#line 2411 "dhcp4_parser.yy" + case 697: // ncr_protocol_value: "tcp" +#line 2421 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 3763 "dhcp4_parser.cc" +#line 3773 "dhcp4_parser.cc" break; - case 694: // $@115: %empty -#line 2414 "dhcp4_parser.yy" + case 698: // $@115: %empty +#line 2424 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 3772 "dhcp4_parser.cc" +#line 3782 "dhcp4_parser.cc" break; - case 695: // ncr_format: "ncr-format" $@115 ":" "JSON" -#line 2417 "dhcp4_parser.yy" + case 699: // ncr_format: "ncr-format" $@115 ":" "JSON" +#line 2427 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3782 "dhcp4_parser.cc" +#line 3792 "dhcp4_parser.cc" break; - case 696: // $@116: %empty -#line 2424 "dhcp4_parser.yy" + case 700: // $@116: %empty +#line 2434 "dhcp4_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3791 "dhcp4_parser.cc" +#line 3801 "dhcp4_parser.cc" break; - case 697: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" -#line 2427 "dhcp4_parser.yy" + case 701: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" +#line 2437 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 3801 "dhcp4_parser.cc" +#line 3811 "dhcp4_parser.cc" break; - case 698: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2434 "dhcp4_parser.yy" + case 702: // dep_override_no_update: "override-no-update" ":" "boolean" +#line 2444 "dhcp4_parser.yy" { ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 3811 "dhcp4_parser.cc" +#line 3821 "dhcp4_parser.cc" break; - case 699: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2441 "dhcp4_parser.yy" + case 703: // dep_override_client_update: "override-client-update" ":" "boolean" +#line 2451 "dhcp4_parser.yy" { ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 3821 "dhcp4_parser.cc" +#line 3831 "dhcp4_parser.cc" break; - case 700: // $@117: %empty -#line 2448 "dhcp4_parser.yy" + case 704: // $@117: %empty +#line 2458 "dhcp4_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3830 "dhcp4_parser.cc" +#line 3840 "dhcp4_parser.cc" break; - case 701: // dep_replace_client_name: "replace-client-name" $@117 ":" ddns_replace_client_name_value -#line 2451 "dhcp4_parser.yy" + case 705: // dep_replace_client_name: "replace-client-name" $@117 ":" ddns_replace_client_name_value +#line 2461 "dhcp4_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3839 "dhcp4_parser.cc" +#line 3849 "dhcp4_parser.cc" break; - case 702: // $@118: %empty -#line 2457 "dhcp4_parser.yy" + case 706: // $@118: %empty +#line 2467 "dhcp4_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3848 "dhcp4_parser.cc" +#line 3858 "dhcp4_parser.cc" break; - case 703: // dep_generated_prefix: "generated-prefix" $@118 ":" "constant string" -#line 2460 "dhcp4_parser.yy" + case 707: // dep_generated_prefix: "generated-prefix" $@118 ":" "constant string" +#line 2470 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3858 "dhcp4_parser.cc" +#line 3868 "dhcp4_parser.cc" break; - case 704: // $@119: %empty -#line 2467 "dhcp4_parser.yy" + case 708: // $@119: %empty +#line 2477 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3867 "dhcp4_parser.cc" +#line 3877 "dhcp4_parser.cc" break; - case 705: // dep_hostname_char_set: "hostname-char-set" $@119 ":" "constant string" -#line 2470 "dhcp4_parser.yy" + case 709: // dep_hostname_char_set: "hostname-char-set" $@119 ":" "constant string" +#line 2480 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 3877 "dhcp4_parser.cc" +#line 3887 "dhcp4_parser.cc" break; - case 706: // $@120: %empty -#line 2477 "dhcp4_parser.yy" + case 710: // $@120: %empty +#line 2487 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3886 "dhcp4_parser.cc" +#line 3896 "dhcp4_parser.cc" break; - case 707: // dep_hostname_char_replacement: "hostname-char-replacement" $@120 ":" "constant string" -#line 2480 "dhcp4_parser.yy" + case 711: // dep_hostname_char_replacement: "hostname-char-replacement" $@120 ":" "constant string" +#line 2490 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 3896 "dhcp4_parser.cc" +#line 3906 "dhcp4_parser.cc" break; - case 708: // $@121: %empty -#line 2489 "dhcp4_parser.yy" + case 712: // $@121: %empty +#line 2499 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3904,40 +3914,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 3908 "dhcp4_parser.cc" +#line 3918 "dhcp4_parser.cc" break; - case 709: // config_control: "config-control" $@121 ":" "{" config_control_params "}" -#line 2495 "dhcp4_parser.yy" + case 713: // config_control: "config-control" $@121 ":" "{" config_control_params "}" +#line 2505 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 3918 "dhcp4_parser.cc" +#line 3928 "dhcp4_parser.cc" break; - case 710: // $@122: %empty -#line 2501 "dhcp4_parser.yy" + case 714: // $@122: %empty +#line 2511 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3928 "dhcp4_parser.cc" +#line 3938 "dhcp4_parser.cc" break; - case 711: // sub_config_control: "{" $@122 config_control_params "}" -#line 2505 "dhcp4_parser.yy" + case 715: // sub_config_control: "{" $@122 config_control_params "}" +#line 2515 "dhcp4_parser.yy" { // No config_control params are required // parsing completed } -#line 3937 "dhcp4_parser.cc" +#line 3947 "dhcp4_parser.cc" break; - case 716: // $@123: %empty -#line 2520 "dhcp4_parser.yy" + case 720: // $@123: %empty +#line 2530 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3945,30 +3955,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 3949 "dhcp4_parser.cc" +#line 3959 "dhcp4_parser.cc" break; - case 717: // config_databases: "config-databases" $@123 ":" "[" database_list "]" -#line 2526 "dhcp4_parser.yy" + case 721: // config_databases: "config-databases" $@123 ":" "[" database_list "]" +#line 2536 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3958 "dhcp4_parser.cc" +#line 3968 "dhcp4_parser.cc" break; - case 718: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2531 "dhcp4_parser.yy" + case 722: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2541 "dhcp4_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 3968 "dhcp4_parser.cc" +#line 3978 "dhcp4_parser.cc" break; - case 719: // $@124: %empty -#line 2539 "dhcp4_parser.yy" + case 723: // $@124: %empty +#line 2549 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3976,67 +3986,67 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 3980 "dhcp4_parser.cc" +#line 3990 "dhcp4_parser.cc" break; - case 720: // loggers: "loggers" $@124 ":" "[" loggers_entries "]" -#line 2545 "dhcp4_parser.yy" + case 724: // loggers: "loggers" $@124 ":" "[" loggers_entries "]" +#line 2555 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3989 "dhcp4_parser.cc" +#line 3999 "dhcp4_parser.cc" break; - case 723: // $@125: %empty -#line 2557 "dhcp4_parser.yy" + case 727: // $@125: %empty +#line 2567 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 3999 "dhcp4_parser.cc" +#line 4009 "dhcp4_parser.cc" break; - case 724: // logger_entry: "{" $@125 logger_params "}" -#line 2561 "dhcp4_parser.yy" + case 728: // logger_entry: "{" $@125 logger_params "}" +#line 2571 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4007 "dhcp4_parser.cc" +#line 4017 "dhcp4_parser.cc" break; - case 734: // debuglevel: "debuglevel" ":" "integer" -#line 2578 "dhcp4_parser.yy" + case 738: // debuglevel: "debuglevel" ":" "integer" +#line 2588 "dhcp4_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4017 "dhcp4_parser.cc" +#line 4027 "dhcp4_parser.cc" break; - case 735: // $@126: %empty -#line 2584 "dhcp4_parser.yy" + case 739: // $@126: %empty +#line 2594 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4026 "dhcp4_parser.cc" +#line 4036 "dhcp4_parser.cc" break; - case 736: // severity: "severity" $@126 ":" "constant string" -#line 2587 "dhcp4_parser.yy" + case 740: // severity: "severity" $@126 ":" "constant string" +#line 2597 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4036 "dhcp4_parser.cc" +#line 4046 "dhcp4_parser.cc" break; - case 737: // $@127: %empty -#line 2593 "dhcp4_parser.yy" + case 741: // $@127: %empty +#line 2603 "dhcp4_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4044,106 +4054,106 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4048 "dhcp4_parser.cc" +#line 4058 "dhcp4_parser.cc" break; - case 738: // output_options_list: "output_options" $@127 ":" "[" output_options_list_content "]" -#line 2599 "dhcp4_parser.yy" + case 742: // output_options_list: "output_options" $@127 ":" "[" output_options_list_content "]" +#line 2609 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4057 "dhcp4_parser.cc" +#line 4067 "dhcp4_parser.cc" break; - case 741: // $@128: %empty -#line 2608 "dhcp4_parser.yy" + case 745: // $@128: %empty +#line 2618 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4067 "dhcp4_parser.cc" +#line 4077 "dhcp4_parser.cc" break; - case 742: // output_entry: "{" $@128 output_params_list "}" -#line 2612 "dhcp4_parser.yy" + case 746: // output_entry: "{" $@128 output_params_list "}" +#line 2622 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4075 "dhcp4_parser.cc" +#line 4085 "dhcp4_parser.cc" break; - case 750: // $@129: %empty -#line 2627 "dhcp4_parser.yy" + case 754: // $@129: %empty +#line 2637 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4084 "dhcp4_parser.cc" +#line 4094 "dhcp4_parser.cc" break; - case 751: // output: "output" $@129 ":" "constant string" -#line 2630 "dhcp4_parser.yy" + case 755: // output: "output" $@129 ":" "constant string" +#line 2640 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 4094 "dhcp4_parser.cc" +#line 4104 "dhcp4_parser.cc" break; - case 752: // flush: "flush" ":" "boolean" -#line 2636 "dhcp4_parser.yy" + case 756: // flush: "flush" ":" "boolean" +#line 2646 "dhcp4_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4104 "dhcp4_parser.cc" +#line 4114 "dhcp4_parser.cc" break; - case 753: // maxsize: "maxsize" ":" "integer" -#line 2642 "dhcp4_parser.yy" + case 757: // maxsize: "maxsize" ":" "integer" +#line 2652 "dhcp4_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4114 "dhcp4_parser.cc" +#line 4124 "dhcp4_parser.cc" break; - case 754: // maxver: "maxver" ":" "integer" -#line 2648 "dhcp4_parser.yy" + case 758: // maxver: "maxver" ":" "integer" +#line 2658 "dhcp4_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 4124 "dhcp4_parser.cc" +#line 4134 "dhcp4_parser.cc" break; - case 755: // $@130: %empty -#line 2654 "dhcp4_parser.yy" + case 759: // $@130: %empty +#line 2664 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4133 "dhcp4_parser.cc" +#line 4143 "dhcp4_parser.cc" break; - case 756: // pattern: "pattern" $@130 ":" "constant string" -#line 2657 "dhcp4_parser.yy" + case 760: // pattern: "pattern" $@130 ":" "constant string" +#line 2667 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4143 "dhcp4_parser.cc" +#line 4153 "dhcp4_parser.cc" break; -#line 4147 "dhcp4_parser.cc" +#line 4157 "dhcp4_parser.cc" default: break; @@ -4492,135 +4502,135 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -934; + const short Dhcp4Parser::yypact_ninf_ = -930; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 544, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, 28, 41, 57, 74, 80, 100, - 104, 125, 129, 152, 187, 189, 200, 206, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, 41, -160, 27, 114, 67, 240, - 6, 250, -4, 63, 300, -85, 422, 54, -934, 215, - 163, 225, 39, 228, -934, 231, -934, -934, -934, 238, - 241, 257, -934, -934, -934, -934, -934, -934, 259, 267, - 304, 319, 342, 349, 358, 360, 362, 373, 379, -934, - 389, 397, 398, 399, 403, -934, -934, -934, 412, 413, - -934, -934, -934, -934, -934, -934, -934, 415, 416, 420, - -934, -934, -934, -934, -934, 421, -934, -934, -934, -934, - -934, -934, 423, -934, 424, -934, 53, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, 425, - -934, 97, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, 427, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, 107, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - 126, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, 384, 432, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, 418, -934, -934, 434, -934, -934, -934, 435, -934, - -934, 428, 437, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, 445, 448, -934, -934, - -934, -934, 433, 451, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, 130, -934, -934, -934, - 452, -934, -934, 455, -934, 461, 462, -934, -934, 464, - 465, -934, -934, -934, -934, -934, -934, -934, 150, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, 466, 159, -934, -934, - -934, -934, 41, 41, -934, 262, 467, -934, 469, 471, - 472, 283, 284, 285, 478, 483, 485, 487, 490, 491, - 303, 306, 307, 308, 311, 313, 317, 318, 321, 314, - 324, 517, 330, 332, 331, 335, 338, 533, 535, 537, - 353, 354, 538, 541, 547, 548, 580, 581, 582, 391, - 392, 393, 588, 589, 590, 591, 592, 407, 593, 598, - 599, 601, 602, 603, 408, 604, -934, 114, -934, 605, - 606, 607, 417, 67, -934, 610, 613, 614, 615, 616, - 617, 429, 618, 620, 621, 240, -934, 627, 6, -934, - 628, 629, 632, 634, 635, 636, 637, 638, -934, 250, - -934, 639, 640, 453, 641, 642, 644, 458, -934, 63, - 645, 459, 473, -934, 300, 663, 664, -5, -934, 474, - 676, 677, 488, 679, 492, 493, 684, 685, 498, 499, - 692, 695, 697, 702, 422, -934, 704, 515, 54, -934, - -934, -934, 706, 707, 709, 710, 711, -934, -934, -934, - 518, 520, 526, 713, 714, 717, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, 545, -934, -934, - -934, -934, -934, 123, 546, 549, -934, -934, 732, 735, - 736, 738, 737, 552, 186, -934, -934, -934, 741, 742, - 743, 744, 745, -934, 746, 747, 748, 749, 557, 558, - -934, 752, -934, 753, 312, 355, -934, -934, 566, 567, - 568, 757, 570, 571, -934, 753, 572, 759, -934, 574, - -934, 753, 577, 578, 579, 583, 584, 585, 586, -934, - 587, 594, -934, 595, 596, 597, -934, -934, 608, -934, - -934, -934, 609, 737, -934, -934, 611, 612, -934, 619, - -934, -934, 33, 622, -934, -934, 123, 623, 624, 625, - -934, 768, -934, -934, 41, 114, 54, 67, 750, -934, - -934, -934, 514, 514, 774, -934, -934, -934, -934, -934, - -934, -934, -934, -934, 775, 776, 777, 779, -934, -934, - -934, -934, -934, -934, -934, -934, -45, 784, 785, 787, - 70, 135, -58, 212, 422, -934, -934, 788, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, 789, - -934, -934, -934, -934, 208, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, 774, -934, 160, 207, 219, -934, 220, - -934, -934, -934, -934, -934, -934, 771, 793, 794, 795, - 796, -934, -934, -934, -934, 799, 802, 803, 804, 805, - 806, -934, 245, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, 246, -934, 807, 808, -934, -934, - 809, 811, -934, -934, 813, 817, -934, -934, 815, 819, - -934, -934, 818, 820, -934, -934, -934, -934, -934, -934, - 90, -934, -934, -934, -934, -934, -934, -934, 146, -934, - -934, 821, 822, -934, -934, 823, 825, -934, 826, 827, - 828, 829, 830, 831, 249, -934, -934, -934, -934, -934, - -934, -934, 832, 833, 834, -934, 256, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, 269, -934, - -934, -934, 835, -934, 836, -934, -934, -934, 278, -934, - -934, -934, -934, -934, 288, -934, 203, -934, 633, -934, - 837, 838, -934, -934, -934, -934, 839, 840, -934, -934, - -934, 841, 750, -934, 844, 845, 846, 847, 648, 656, - 650, 657, 660, 851, 852, 853, 854, 665, 666, 667, - 668, 669, 670, 514, -934, -934, 514, -934, 774, 240, - -934, 775, 63, -934, 776, 300, -934, 777, 600, -934, - 779, -45, -934, 297, 784, -934, 250, -934, 785, -85, - -934, 787, 672, 673, 674, 675, 680, 682, 70, -934, - 681, 686, 693, 135, -934, 859, 866, -58, -934, 699, - 867, 718, 869, 212, -934, -934, 72, 788, -934, -934, - 890, 897, 6, -934, 789, 912, -934, -934, 724, -934, - 377, 740, 751, 758, -934, -934, -934, -934, -934, 761, - 812, 814, 824, -934, -934, -934, -934, -934, -934, -934, - 328, -934, 346, -934, 921, -934, 922, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - 357, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, 932, -934, -934, -934, -934, -934, -934, -934, - -934, -934, 935, 949, -934, -934, -934, -934, -934, 994, - -934, 370, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, 842, 843, -934, -934, 848, -934, - 41, -934, -934, 1004, -934, -934, -934, -934, -934, 376, - -934, -934, -934, -934, -934, -934, 849, 388, -934, 753, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, 600, -934, 1007, - 816, -934, 297, -934, -934, -934, -934, -934, -934, 1009, - 850, 1010, 72, -934, -934, -934, -934, -934, 856, -934, - -934, 1011, -934, 857, -934, -934, 1008, -934, -934, 235, - -934, -124, 1008, -934, -934, 1014, 1015, 1016, -934, 396, - -934, -934, -934, -934, -934, -934, -934, 1017, 855, 858, - 860, 1018, -124, -934, 862, -934, -934, -934, 863, -934, - -934, -934 + 396, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, 49, 41, 57, 59, 66, 68, + 74, 86, 104, 108, 122, 129, 131, 188, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, 41, -161, 97, 114, 67, 239, + 36, 249, -44, 70, 289, -98, 588, 202, -930, 116, + 158, 39, 69, 201, -930, 215, -930, -930, -930, 235, + 246, 256, -930, -930, -930, -930, -930, -930, 268, 302, + 303, 305, 315, 319, 326, 329, 332, 345, 358, -930, + 362, 369, 398, 399, 413, -930, -930, -930, 414, 415, + 416, -930, -930, -930, -930, -930, -930, -930, 417, 419, + 420, -930, -930, -930, -930, -930, 424, -930, -930, -930, + -930, -930, -930, 427, -930, 428, -930, 34, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, 431, -930, 53, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, 433, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, 64, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, 71, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + 382, 244, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, 385, -930, -930, 435, -930, -930, + -930, 436, -930, -930, 434, 441, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, 443, + 452, -930, -930, -930, -930, 437, 455, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, 82, + -930, -930, -930, 456, -930, -930, 459, -930, 465, 466, + -930, -930, 468, 469, -930, -930, -930, -930, -930, -930, + -930, 84, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, 470, + 94, -930, -930, -930, -930, 41, 41, -930, -147, 471, + -930, 473, 475, 480, 262, 288, 296, 482, 490, 491, + 493, 494, 495, 306, 309, 310, 311, 314, 316, 320, + 321, 324, 317, 327, 519, 330, 333, 334, 338, 341, + 537, 538, 539, 348, 349, 352, 549, 551, 552, 553, + 554, 586, 587, 395, 397, 400, 589, 591, 592, 594, + 595, 405, 597, 598, 600, 603, 604, 606, 412, 607, + -930, 114, -930, 608, 609, 610, 418, 67, -930, 612, + 614, 615, 616, 618, 619, 429, 621, 622, 623, 239, + -930, 624, 36, -930, 625, 626, 632, 633, 634, 637, + 639, 640, -930, 249, -930, 641, 642, 453, 643, 645, + 646, 454, -930, 70, 648, 457, 462, -930, 289, 649, + 656, 93, -930, 476, 668, 670, 497, 671, 498, 499, + 684, 685, 502, 503, 697, 698, 701, 703, 588, -930, + 708, 518, 202, -930, -930, -930, 711, 517, 709, 710, + 712, -930, -930, -930, 526, 528, 529, 717, 718, 721, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, 533, -930, -930, -930, -930, -930, -113, 534, 536, + -930, -930, -930, 726, 727, 728, 729, 730, 541, 291, + -930, -930, -930, 731, 746, 747, 748, 749, -930, 752, + 753, 754, 755, 560, 561, -930, 758, -930, 759, 253, + 260, -930, -930, 571, 572, 573, 763, 575, 576, -930, + 759, 577, 765, -930, 579, -930, 759, 582, 583, 584, + 585, 590, 593, 596, -930, 599, 601, -930, 602, 611, + 613, -930, -930, 617, -930, -930, -930, 620, 730, -930, + -930, 627, 628, -930, 629, -930, -930, 33, 630, -930, + -930, -113, 631, 635, 636, -930, 775, -930, -930, 41, + 114, 202, 67, 757, -930, -930, -930, 520, 520, 776, + -930, -930, -930, -930, -930, -930, -930, -930, -930, 778, + 779, 781, 782, -930, -930, -930, -930, -930, -930, -930, + -930, 87, 784, 785, 790, 157, 134, 286, 259, 588, + -930, -930, 791, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, 793, -930, -930, -930, -930, 169, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, 776, -930, + 100, 102, 115, -930, 145, -930, -930, -930, -930, -930, + -930, 797, 798, 799, 800, 802, -930, -930, -930, -930, + 804, 805, 806, 808, 809, 811, -930, 147, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, 208, + -930, 810, 814, -930, -930, 812, 816, -930, -930, 818, + 817, -930, -930, 820, 824, -930, -930, 822, 828, -930, + -930, -930, -930, -930, -930, 148, -930, -930, -930, -930, + -930, -930, -930, 154, -930, -930, 826, 830, -930, -930, + 829, 831, -930, 832, 833, 834, 835, 836, 837, 226, + -930, -930, -930, -930, -930, -930, -930, 838, 839, 840, + -930, 237, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, 240, -930, -930, -930, 841, -930, 842, + -930, -930, -930, 250, -930, -930, -930, -930, -930, 254, + -930, 164, -930, 653, -930, 843, 845, -930, -930, -930, + -930, 844, 847, -930, -930, -930, 846, 757, -930, 850, + 851, 852, 853, 663, 654, 664, 665, 666, 856, 859, + 860, 861, 672, 673, 674, 675, 669, 676, 520, -930, + -930, 520, -930, 776, 239, -930, 778, 70, -930, 779, + 289, -930, 781, 605, -930, 782, 87, -930, 297, 784, + -930, 249, -930, 785, -98, -930, 790, 677, 678, 679, + 680, 681, 683, 157, -930, 682, 686, 687, 134, -930, + 881, 888, 286, -930, 704, 896, 722, 901, 259, -930, + -930, 156, 791, -930, -930, 915, 919, 36, -930, 793, + 930, -930, -930, 741, -930, 378, 744, 762, 819, -930, + -930, -930, -930, -930, 823, 825, 827, 848, -930, -930, + -930, -930, -930, -930, -930, 279, -930, 343, -930, 933, + -930, 940, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, 356, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, 945, -930, + -930, -930, -930, -930, -930, -930, -930, -930, 949, 956, + -930, -930, -930, -930, -930, 1002, -930, 357, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + 849, 854, -930, -930, 855, -930, 41, -930, -930, 1008, + -930, -930, -930, -930, -930, 383, -930, -930, -930, -930, + -930, -930, 857, 386, -930, 759, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, 605, -930, 1014, 858, -930, 297, -930, + -930, -930, -930, -930, -930, 1016, 862, 1018, 156, -930, + -930, -930, -930, -930, 864, -930, -930, 1019, -930, 865, + -930, -930, 1020, -930, -930, 243, -930, 23, 1020, -930, + -930, 1021, 1022, 1024, -930, 389, -930, -930, -930, -930, + -930, -930, -930, 1025, 863, 866, 867, 1026, 23, -930, + 869, -930, -930, -930, 871, -930, -930, -930 }; const short @@ -4630,676 +4640,679 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 43, 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, - 56, 5, 60, 7, 173, 9, 331, 11, 529, 13, - 554, 15, 454, 17, 462, 19, 499, 21, 296, 23, - 660, 25, 710, 27, 45, 39, 0, 0, 0, 0, - 0, 556, 0, 464, 501, 0, 0, 0, 47, 0, - 46, 0, 0, 40, 58, 0, 708, 162, 188, 0, - 0, 0, 575, 577, 579, 186, 195, 197, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, - 0, 0, 0, 0, 0, 142, 149, 151, 0, 0, - 323, 452, 491, 403, 542, 544, 396, 0, 0, 0, - 261, 603, 546, 288, 307, 0, 275, 629, 642, 658, - 154, 156, 0, 719, 0, 122, 0, 62, 64, 65, - 66, 67, 68, 102, 103, 104, 105, 106, 69, 97, - 86, 87, 88, 110, 111, 112, 113, 114, 115, 116, - 108, 109, 117, 118, 119, 121, 72, 73, 94, 74, - 75, 76, 120, 80, 81, 70, 99, 100, 101, 98, - 71, 78, 79, 92, 93, 95, 89, 90, 91, 77, - 82, 83, 84, 85, 96, 107, 175, 177, 181, 0, - 172, 0, 164, 166, 167, 168, 169, 170, 171, 381, - 383, 385, 521, 379, 387, 0, 391, 389, 599, 378, - 335, 336, 337, 338, 339, 363, 364, 365, 366, 367, - 353, 354, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 0, 333, 342, 358, 359, 360, 343, 345, - 346, 349, 350, 351, 348, 344, 340, 341, 361, 362, - 347, 355, 356, 357, 352, 540, 539, 535, 536, 534, - 0, 531, 533, 537, 538, 597, 585, 587, 591, 589, - 595, 593, 581, 574, 568, 572, 573, 0, 557, 558, - 569, 570, 571, 565, 560, 566, 562, 563, 564, 567, - 561, 0, 481, 241, 0, 485, 483, 488, 0, 477, - 478, 0, 465, 466, 468, 480, 469, 470, 471, 487, - 472, 473, 474, 475, 476, 515, 0, 0, 513, 514, - 517, 518, 0, 502, 503, 505, 506, 507, 508, 509, - 510, 511, 512, 303, 305, 300, 0, 298, 301, 302, - 0, 696, 683, 0, 686, 0, 0, 690, 694, 0, - 0, 700, 702, 704, 706, 681, 679, 680, 0, 662, - 664, 665, 666, 667, 668, 669, 670, 671, 676, 672, - 673, 674, 675, 677, 678, 716, 0, 0, 712, 714, - 715, 44, 0, 0, 37, 0, 0, 57, 0, 0, + 56, 5, 60, 7, 175, 9, 333, 11, 533, 13, + 558, 15, 458, 17, 466, 19, 503, 21, 298, 23, + 664, 25, 714, 27, 45, 39, 0, 0, 0, 0, + 0, 560, 0, 468, 505, 0, 0, 0, 47, 0, + 46, 0, 0, 40, 58, 0, 712, 164, 190, 0, + 0, 0, 579, 581, 583, 188, 197, 199, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, + 0, 0, 0, 0, 0, 143, 150, 152, 0, 0, + 0, 325, 456, 495, 406, 546, 548, 399, 0, 0, + 0, 263, 607, 550, 290, 309, 0, 277, 633, 646, + 662, 156, 158, 0, 723, 0, 123, 0, 62, 64, + 65, 66, 67, 68, 102, 103, 104, 105, 106, 69, + 97, 86, 87, 88, 110, 111, 112, 113, 114, 115, + 116, 117, 108, 109, 118, 119, 120, 122, 72, 73, + 94, 74, 75, 76, 121, 80, 81, 70, 99, 100, + 101, 98, 71, 78, 79, 92, 93, 95, 89, 90, + 91, 77, 82, 83, 84, 85, 96, 107, 177, 179, + 183, 0, 174, 0, 166, 168, 169, 170, 171, 172, + 173, 384, 386, 388, 525, 382, 390, 0, 394, 392, + 603, 381, 337, 338, 339, 340, 341, 365, 366, 367, + 368, 369, 355, 356, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 379, 380, 0, 335, 344, 360, 361, + 362, 345, 347, 348, 351, 352, 353, 350, 346, 342, + 343, 363, 364, 349, 357, 358, 359, 354, 544, 543, + 539, 540, 538, 0, 535, 537, 541, 542, 601, 589, + 591, 595, 593, 599, 597, 585, 578, 572, 576, 577, + 0, 561, 562, 573, 574, 575, 569, 564, 570, 566, + 567, 568, 571, 565, 0, 485, 243, 0, 489, 487, + 492, 0, 481, 482, 0, 469, 470, 472, 484, 473, + 474, 475, 491, 476, 477, 478, 479, 480, 519, 0, + 0, 517, 518, 521, 522, 0, 506, 507, 509, 510, + 511, 512, 513, 514, 515, 516, 305, 307, 302, 0, + 300, 303, 304, 0, 700, 687, 0, 690, 0, 0, + 694, 698, 0, 0, 704, 706, 708, 710, 685, 683, + 684, 0, 666, 668, 669, 670, 671, 672, 673, 674, + 675, 680, 676, 677, 678, 679, 681, 682, 720, 0, + 0, 716, 718, 719, 44, 0, 0, 37, 0, 0, + 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 61, 0, - 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 332, 0, 0, 530, - 0, 0, 0, 0, 0, 0, 0, 0, 555, 0, - 455, 0, 0, 0, 0, 0, 0, 0, 463, 0, - 0, 0, 0, 500, 0, 0, 0, 0, 297, 0, + 55, 0, 61, 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 661, 0, 0, 0, 711, - 48, 41, 0, 0, 0, 0, 0, 136, 137, 138, - 0, 0, 0, 0, 0, 0, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 0, 159, 160, - 139, 140, 141, 0, 0, 0, 153, 158, 0, 0, - 0, 0, 0, 0, 0, 393, 394, 395, 0, 0, - 0, 0, 0, 628, 0, 0, 0, 0, 0, 0, - 161, 0, 63, 0, 0, 0, 185, 165, 0, 0, - 0, 0, 0, 0, 402, 0, 0, 0, 334, 0, - 532, 0, 0, 0, 0, 0, 0, 0, 0, 559, - 0, 0, 479, 0, 0, 0, 490, 467, 0, 519, - 520, 504, 0, 0, 299, 682, 0, 0, 685, 0, - 688, 689, 0, 0, 698, 699, 0, 0, 0, 0, - 663, 0, 718, 713, 0, 0, 0, 0, 0, 576, - 578, 580, 0, 0, 199, 135, 144, 145, 146, 147, - 148, 143, 150, 152, 325, 456, 493, 405, 38, 543, - 545, 398, 399, 400, 401, 397, 0, 0, 548, 290, - 0, 0, 0, 0, 0, 155, 157, 0, 49, 176, - 179, 180, 178, 183, 184, 182, 382, 384, 386, 523, - 380, 388, 392, 390, 0, 541, 598, 586, 588, 592, - 590, 596, 594, 582, 482, 242, 486, 484, 489, 516, - 304, 306, 697, 684, 687, 692, 693, 691, 695, 701, - 703, 705, 707, 199, 42, 0, 0, 0, 193, 0, - 190, 192, 228, 234, 236, 238, 0, 0, 0, 0, - 0, 250, 252, 254, 256, 0, 0, 0, 0, 0, - 0, 227, 0, 205, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 220, 221, 222, 217, 223, 224, - 225, 218, 219, 226, 0, 203, 0, 200, 201, 329, - 0, 326, 327, 460, 0, 457, 458, 497, 0, 494, - 495, 409, 0, 406, 407, 270, 271, 272, 273, 274, - 0, 263, 265, 266, 267, 268, 269, 607, 0, 605, - 552, 0, 549, 550, 294, 0, 291, 292, 0, 0, - 0, 0, 0, 0, 0, 309, 311, 312, 313, 314, - 315, 316, 0, 0, 0, 284, 0, 277, 279, 280, - 281, 282, 283, 638, 640, 637, 635, 636, 0, 631, - 633, 634, 0, 653, 0, 656, 649, 650, 0, 644, - 646, 647, 648, 651, 0, 723, 0, 721, 51, 527, - 0, 524, 525, 583, 601, 602, 0, 0, 59, 709, - 163, 0, 0, 189, 0, 0, 0, 0, 0, 0, + 334, 0, 0, 534, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 0, 459, 0, 0, 0, 0, 0, + 0, 0, 467, 0, 0, 0, 0, 504, 0, 0, + 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, + 0, 0, 0, 715, 48, 41, 0, 0, 0, 0, + 0, 137, 138, 139, 0, 0, 0, 0, 0, 0, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 0, 161, 162, 140, 141, 142, 0, 0, 0, + 154, 155, 160, 0, 0, 0, 0, 0, 0, 0, + 396, 397, 398, 0, 0, 0, 0, 0, 632, 0, + 0, 0, 0, 0, 0, 163, 0, 63, 0, 0, + 0, 187, 167, 0, 0, 0, 0, 0, 0, 405, + 0, 0, 0, 336, 0, 536, 0, 0, 0, 0, + 0, 0, 0, 0, 563, 0, 0, 483, 0, 0, + 0, 494, 471, 0, 523, 524, 508, 0, 0, 301, + 686, 0, 0, 689, 0, 692, 693, 0, 0, 702, + 703, 0, 0, 0, 0, 667, 0, 722, 717, 0, + 0, 0, 0, 0, 580, 582, 584, 0, 0, 201, + 136, 145, 146, 147, 148, 149, 144, 151, 153, 327, + 460, 497, 408, 38, 547, 549, 401, 402, 403, 404, + 400, 0, 0, 552, 292, 0, 0, 0, 0, 0, + 157, 159, 0, 49, 178, 181, 182, 180, 185, 186, + 184, 385, 387, 389, 527, 383, 391, 395, 393, 0, + 545, 602, 590, 592, 596, 594, 600, 598, 586, 486, + 244, 490, 488, 493, 520, 306, 308, 701, 688, 691, + 696, 697, 695, 699, 705, 707, 709, 711, 201, 42, + 0, 0, 0, 195, 0, 192, 194, 230, 236, 238, + 240, 0, 0, 0, 0, 0, 252, 254, 256, 258, + 0, 0, 0, 0, 0, 0, 229, 0, 207, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 222, + 223, 224, 219, 225, 226, 227, 220, 221, 228, 0, + 205, 0, 202, 203, 331, 0, 328, 329, 464, 0, + 461, 462, 501, 0, 498, 499, 412, 0, 409, 410, + 272, 273, 274, 275, 276, 0, 265, 267, 268, 269, + 270, 271, 611, 0, 609, 556, 0, 553, 554, 296, + 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, + 311, 313, 314, 315, 316, 317, 318, 0, 0, 0, + 286, 0, 279, 281, 282, 283, 284, 285, 642, 644, + 641, 639, 640, 0, 635, 637, 638, 0, 657, 0, + 660, 653, 654, 0, 648, 650, 651, 652, 655, 0, + 727, 0, 725, 51, 531, 0, 528, 529, 587, 605, + 606, 0, 0, 59, 713, 165, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 187, 196, 0, 198, 0, 0, - 324, 0, 464, 453, 0, 501, 492, 0, 0, 404, - 0, 0, 262, 609, 0, 604, 556, 547, 0, 0, - 289, 0, 0, 0, 0, 0, 0, 0, 0, 308, - 0, 0, 0, 0, 276, 0, 0, 0, 630, 0, - 0, 0, 0, 0, 643, 659, 0, 0, 720, 53, - 0, 52, 0, 522, 0, 0, 600, 717, 0, 191, - 0, 0, 0, 0, 240, 243, 244, 245, 246, 0, - 0, 0, 0, 258, 259, 247, 248, 249, 260, 206, - 0, 202, 0, 328, 0, 459, 0, 496, 451, 431, - 432, 433, 416, 417, 436, 437, 438, 439, 440, 419, - 420, 441, 442, 443, 444, 445, 446, 447, 448, 449, - 450, 413, 414, 415, 429, 430, 426, 427, 428, 425, - 0, 411, 418, 434, 435, 421, 422, 423, 424, 408, - 264, 625, 0, 623, 624, 616, 617, 621, 622, 618, - 619, 620, 0, 610, 611, 613, 614, 615, 606, 0, - 551, 0, 293, 317, 318, 319, 320, 321, 322, 310, - 285, 286, 287, 278, 0, 0, 632, 652, 0, 655, - 0, 645, 737, 0, 735, 733, 727, 731, 732, 0, - 725, 729, 730, 728, 722, 50, 0, 0, 526, 0, - 194, 230, 231, 232, 233, 229, 235, 237, 239, 251, - 253, 255, 257, 204, 330, 461, 498, 0, 410, 0, - 0, 608, 0, 553, 295, 639, 641, 654, 657, 0, - 0, 0, 0, 724, 54, 528, 584, 412, 0, 627, - 612, 0, 734, 0, 726, 626, 0, 736, 741, 0, - 739, 0, 0, 738, 750, 0, 0, 0, 755, 0, - 743, 745, 746, 747, 748, 749, 740, 0, 0, 0, - 0, 0, 0, 742, 0, 752, 753, 754, 0, 744, - 751, 756 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, + 198, 0, 200, 0, 0, 326, 0, 468, 457, 0, + 505, 496, 0, 0, 407, 0, 0, 264, 613, 0, + 608, 560, 551, 0, 0, 291, 0, 0, 0, 0, + 0, 0, 0, 0, 310, 0, 0, 0, 0, 278, + 0, 0, 0, 634, 0, 0, 0, 0, 0, 647, + 663, 0, 0, 724, 53, 0, 52, 0, 526, 0, + 0, 604, 721, 0, 193, 0, 0, 0, 0, 242, + 245, 246, 247, 248, 0, 0, 0, 0, 260, 261, + 249, 250, 251, 262, 208, 0, 204, 0, 330, 0, + 463, 0, 500, 455, 434, 435, 436, 419, 420, 439, + 440, 441, 442, 443, 422, 423, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 416, 417, 418, + 432, 433, 429, 430, 431, 428, 0, 414, 421, 437, + 438, 424, 425, 426, 427, 411, 266, 629, 0, 627, + 628, 620, 621, 625, 626, 622, 623, 624, 0, 614, + 615, 617, 618, 619, 610, 0, 555, 0, 295, 319, + 320, 321, 322, 323, 324, 312, 287, 288, 289, 280, + 0, 0, 636, 656, 0, 659, 0, 649, 741, 0, + 739, 737, 731, 735, 736, 0, 729, 733, 734, 732, + 726, 50, 0, 0, 530, 0, 196, 232, 233, 234, + 235, 231, 237, 239, 241, 253, 255, 257, 259, 206, + 332, 465, 502, 0, 413, 0, 0, 612, 0, 557, + 297, 643, 645, 658, 661, 0, 0, 0, 0, 728, + 54, 532, 588, 415, 0, 631, 616, 0, 738, 0, + 730, 630, 0, 740, 745, 0, 743, 0, 0, 742, + 754, 0, 0, 0, 759, 0, 747, 749, 750, 751, + 752, 753, 744, 0, 0, 0, 0, 0, 0, 746, + 0, 756, 757, 758, 0, 748, 755, 760 }; const short Dhcp4Parser::yypgoto_[] = { - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -52, -934, -551, -934, 380, - -934, -934, -934, -934, -934, -934, -591, -934, -934, -934, - -67, -934, -934, -934, -934, -934, -934, 359, 559, -40, - -28, -24, -1, 1, 11, 19, 22, 25, 26, -934, - -934, -934, -934, 29, 30, 32, 37, 40, 43, -934, - 369, 44, -934, 45, -934, 47, 48, -934, 50, -934, - 51, -934, -934, -934, -934, -934, 361, 554, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, 117, -934, -934, -934, -934, -934, - -934, 277, -934, 93, -934, -660, 99, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -63, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - 82, -934, -934, -934, -934, -934, -934, -934, -934, 64, - -934, -934, -934, -934, -934, -934, -934, 73, -934, -934, - -934, 79, 522, -934, -934, -934, -934, -934, -934, -934, - 75, -934, -934, -934, -934, -934, -934, -933, -934, -934, - -934, 105, -934, -934, -934, 101, 560, -934, -934, -934, - -934, -934, -934, -934, -934, -927, -934, -65, -934, 56, - -934, 55, 58, 61, 62, -934, -934, -934, -934, -934, - -934, -934, 103, -934, -934, -100, -46, -934, -934, -934, - -934, -934, 113, -934, -934, -934, 118, -934, 550, -934, - -42, -934, -934, -934, -934, -934, -36, -934, -934, -934, - -934, -934, -35, -934, -934, -934, 115, -934, -934, -934, - 116, -934, 551, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, 69, -934, -934, -934, 76, 576, - -934, -934, -51, -934, -11, -934, -25, -934, -934, -934, - 108, -934, -934, -934, 111, -934, 573, -55, -934, 0, - -934, 7, -934, 345, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -921, -934, -934, -934, -934, -934, 119, -934, -934, - -934, -82, -934, -934, -934, -934, -934, -934, -934, -934, - 94, -934, -934, -934, -934, -934, -934, -934, 91, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, 371, - 542, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - -934, -934, -934, -934, -934, -934, -934, -934, -934, -934, - 411, 540, -934, -934, -934, -934, -934, -934, 92, -934, - -934, -81, -934, -934, -934, -934, -934, -934, -99, -934, - -934, -116, -934, -934, -934, -934, -934, -934, -934 + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -52, -930, -548, -930, 375, + -930, -930, -930, -930, -930, -930, -605, -930, -930, -930, + -67, -930, -930, -930, -930, -930, -930, 361, 562, -40, + -28, -24, -1, 1, 11, 19, 22, 25, 26, -930, + -930, -930, -930, 29, 30, 32, 37, 40, 43, -930, + 371, 44, -930, 45, -930, 47, 48, 50, -930, 51, + -930, 55, -930, -930, -930, -930, -930, 363, 557, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, 119, -930, -930, -930, -930, + -930, -930, 280, -930, 96, -930, -665, 99, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -63, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, 85, -930, -930, -930, -930, -930, -930, -930, -930, + 72, -930, -930, -930, -930, -930, -930, -930, 78, -930, + -930, -930, 76, 524, -930, -930, -930, -930, -930, -930, + -930, 73, -930, -930, -930, -930, -930, -930, -929, -930, + -930, -930, 101, -930, -930, -930, 110, 563, -930, -930, + -930, -930, -930, -930, -930, -930, -926, -930, -65, -930, + 56, -930, 58, 61, 62, 63, -930, -930, -930, -930, + -930, -930, -930, 111, -930, -930, -97, -46, -930, -930, + -930, -930, -930, 118, -930, -930, -930, 121, -930, 556, + -930, -42, -930, -930, -930, -930, -930, -36, -930, -930, + -930, -930, -930, -35, -930, -930, -930, 120, -930, -930, + -930, 123, -930, 558, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, 75, -930, -930, -930, 80, + 578, -930, -930, -51, -930, -11, -930, -25, -930, -930, + -930, 112, -930, -930, -930, 117, -930, 568, -55, -930, + 0, -930, 7, -930, 350, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -925, -930, -930, -930, -930, -930, 124, -930, + -930, -930, -78, -930, -930, -930, -930, -930, -930, -930, + -930, 103, -930, -930, -930, -930, -930, -930, -930, 105, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + 372, 544, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, -930, -930, -930, -930, -930, -930, -930, -930, -930, + -930, 421, 542, -930, -930, -930, -930, -930, -930, 95, + -930, -930, -79, -930, -930, -930, -930, -930, -930, -94, + -930, -930, -112, -930, -930, -930, -930, -930, -930, -930 }; const short Dhcp4Parser::yydefgoto_[] = { -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 36, 37, 38, 65, 689, - 82, 83, 39, 64, 79, 80, 709, 898, 990, 991, - 781, 41, 66, 85, 406, 43, 67, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 431, 160, 161, 162, 163, 164, 165, 166, 437, - 681, 167, 438, 168, 439, 169, 170, 462, 171, 463, - 172, 173, 174, 175, 176, 409, 211, 212, 45, 68, - 213, 469, 214, 470, 712, 215, 471, 715, 216, 177, - 417, 178, 410, 759, 760, 761, 911, 179, 418, 180, - 419, 806, 807, 808, 936, 782, 783, 784, 914, 1135, - 785, 915, 786, 916, 787, 917, 788, 789, 502, 790, - 791, 792, 793, 794, 795, 796, 797, 923, 798, 924, - 799, 925, 800, 926, 801, 802, 803, 181, 452, 830, - 831, 832, 833, 834, 835, 836, 182, 458, 866, 867, - 868, 869, 870, 183, 455, 845, 846, 847, 959, 59, - 75, 356, 357, 358, 515, 359, 516, 184, 456, 854, - 855, 856, 857, 858, 859, 860, 861, 185, 442, 810, - 811, 812, 939, 47, 69, 252, 253, 254, 479, 255, - 475, 256, 476, 257, 477, 258, 480, 259, 483, 260, - 482, 186, 187, 188, 189, 448, 695, 265, 190, 445, - 822, 823, 824, 948, 1060, 1061, 191, 443, 53, 72, - 814, 815, 816, 942, 55, 73, 321, 322, 323, 324, - 325, 326, 327, 501, 328, 505, 329, 504, 330, 331, - 506, 332, 192, 444, 818, 819, 820, 945, 57, 74, - 342, 343, 344, 345, 346, 510, 347, 348, 349, 350, - 267, 478, 900, 901, 902, 992, 49, 70, 280, 281, - 282, 487, 193, 446, 194, 447, 195, 454, 841, 842, - 843, 956, 51, 71, 297, 298, 299, 196, 414, 197, - 415, 198, 416, 303, 497, 905, 995, 304, 491, 305, - 492, 306, 494, 307, 493, 308, 496, 309, 495, 310, - 490, 274, 484, 906, 199, 453, 838, 839, 953, 1082, - 1083, 1084, 1085, 1086, 1149, 1087, 200, 201, 459, 878, - 879, 880, 975, 881, 976, 202, 460, 888, 889, 890, - 891, 980, 892, 893, 982, 203, 461, 61, 76, 378, - 379, 380, 381, 521, 382, 383, 523, 384, 385, 386, - 526, 747, 387, 527, 388, 520, 389, 390, 391, 530, - 392, 531, 393, 532, 394, 533, 204, 408, 63, 77, - 397, 398, 399, 536, 400, 205, 465, 896, 897, 986, - 1119, 1120, 1121, 1122, 1161, 1123, 1159, 1179, 1180, 1181, - 1189, 1190, 1191, 1197, 1192, 1193, 1194, 1195, 1201 + 23, 24, 25, 26, 27, 36, 37, 38, 65, 694, + 82, 83, 39, 64, 79, 80, 714, 903, 995, 996, + 786, 41, 66, 85, 409, 43, 67, 147, 148, 149, + 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 434, 161, 162, 163, 164, 165, 166, 167, 440, + 686, 168, 441, 169, 442, 170, 171, 172, 466, 173, + 467, 174, 175, 176, 177, 178, 412, 213, 214, 45, + 68, 215, 473, 216, 474, 717, 217, 475, 720, 218, + 179, 420, 180, 413, 764, 765, 766, 916, 181, 421, + 182, 422, 811, 812, 813, 941, 787, 788, 789, 919, + 1141, 790, 920, 791, 921, 792, 922, 793, 794, 506, + 795, 796, 797, 798, 799, 800, 801, 802, 928, 803, + 929, 804, 930, 805, 931, 806, 807, 808, 183, 456, + 835, 836, 837, 838, 839, 840, 841, 184, 462, 871, + 872, 873, 874, 875, 185, 459, 850, 851, 852, 964, + 59, 75, 359, 360, 361, 519, 362, 520, 186, 460, + 859, 860, 861, 862, 863, 864, 865, 866, 187, 446, + 815, 816, 817, 944, 47, 69, 255, 256, 257, 483, + 258, 479, 259, 480, 260, 481, 261, 484, 262, 487, + 263, 486, 188, 189, 190, 191, 452, 700, 268, 192, + 449, 827, 828, 829, 953, 1066, 1067, 193, 447, 53, + 72, 819, 820, 821, 947, 55, 73, 324, 325, 326, + 327, 328, 329, 330, 505, 331, 509, 332, 508, 333, + 334, 510, 335, 194, 448, 823, 824, 825, 950, 57, + 74, 345, 346, 347, 348, 349, 514, 350, 351, 352, + 353, 270, 482, 905, 906, 907, 997, 49, 70, 283, + 284, 285, 491, 195, 450, 196, 451, 197, 458, 846, + 847, 848, 961, 51, 71, 300, 301, 302, 198, 417, + 199, 418, 200, 419, 306, 501, 910, 1000, 307, 495, + 308, 496, 309, 498, 310, 497, 311, 500, 312, 499, + 313, 494, 277, 488, 911, 201, 457, 843, 844, 958, + 1088, 1089, 1090, 1091, 1092, 1155, 1093, 202, 203, 463, + 883, 884, 885, 980, 886, 981, 204, 464, 893, 894, + 895, 896, 985, 897, 898, 987, 205, 465, 61, 76, + 381, 382, 383, 384, 525, 385, 386, 527, 387, 388, + 389, 530, 752, 390, 531, 391, 524, 392, 393, 394, + 534, 395, 535, 396, 536, 397, 537, 206, 411, 63, + 77, 400, 401, 402, 540, 403, 207, 469, 901, 902, + 991, 1125, 1126, 1127, 1128, 1167, 1129, 1165, 1185, 1186, + 1187, 1195, 1196, 1197, 1203, 1198, 1199, 1200, 1201, 1207 }; const short Dhcp4Parser::yytable_[] = { - 145, 210, 229, 276, 293, 277, 319, 338, 355, 375, - 320, 339, 78, 804, 271, 1052, 300, 217, 268, 283, - 295, 1053, 333, 351, 722, 376, 311, 1068, 28, 230, - 726, 688, 340, 81, 266, 279, 294, 84, 341, 124, - 125, 231, 353, 354, 270, 232, 29, 404, 30, 1184, - 31, 745, 1185, 1186, 1187, 1188, 467, 218, 269, 284, - 296, 468, 334, 352, 40, 377, 395, 396, 233, 272, - 234, 301, 825, 826, 827, 828, 273, 829, 302, 121, - 235, 42, 206, 207, 873, 874, 208, 44, 236, 209, - 122, 237, 688, 951, 238, 239, 952, 312, 240, 241, - 473, 242, 275, 124, 125, 474, 243, 46, 144, 244, - 485, 48, 245, 246, 247, 486, 248, 249, 226, 250, - 251, 227, 353, 354, 261, 86, 278, 262, 87, 488, - 263, 264, 50, 517, 489, 144, 52, 88, 518, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 313, 954, - 314, 315, 955, 534, 316, 317, 318, 313, 535, 54, - 124, 125, 538, 467, 124, 125, 402, 539, 908, 124, - 125, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 146, 212, 231, 279, 296, 280, 322, 341, 358, 378, + 323, 342, 78, 809, 274, 727, 303, 219, 271, 286, + 298, 731, 336, 354, 1058, 379, 314, 1059, 1074, 232, + 356, 357, 343, 81, 269, 282, 297, 471, 344, 693, + 122, 233, 472, 406, 273, 234, 29, 546, 30, 28, + 31, 750, 681, 682, 683, 684, 477, 220, 272, 287, + 299, 478, 337, 355, 40, 380, 42, 489, 235, 275, + 236, 304, 490, 44, 492, 46, 276, 407, 305, 493, + 237, 48, 208, 209, 685, 521, 210, 538, 238, 211, + 522, 239, 539, 50, 240, 241, 145, 542, 242, 243, + 693, 244, 543, 471, 315, 542, 245, 84, 913, 246, + 914, 52, 247, 248, 249, 54, 250, 251, 477, 252, + 253, 123, 404, 915, 254, 86, 281, 264, 87, 56, + 265, 266, 267, 278, 125, 126, 58, 88, 60, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 917, 228, + 938, 956, 229, 918, 957, 939, 316, 959, 317, 318, + 960, 405, 319, 320, 321, 125, 126, 992, 125, 126, + 993, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 56, 746, 58, 121, 122, 144, - 848, 849, 850, 851, 852, 853, 987, 60, 123, 988, - 538, 124, 125, 62, 1052, 909, 126, 127, 128, 129, - 1053, 401, 473, 912, 130, 131, 1068, 910, 913, 403, - 132, 405, 124, 125, 32, 33, 34, 35, 1182, 407, - 133, 1183, 411, 134, 1112, 412, 1113, 1114, 933, 933, - 135, 136, 968, 934, 935, 137, 144, 969, 138, 973, - 144, 413, 139, 420, 974, 144, 90, 91, 92, 93, - 94, 421, 977, 862, 863, 864, 1020, 978, 92, 93, - 94, 983, 140, 141, 142, 143, 984, 676, 677, 678, - 679, 534, 691, 692, 693, 694, 985, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 144, 422, 124, - 125, 112, 113, 114, 115, 116, 117, 118, 119, 680, - 219, 220, 221, 423, 122, 92, 93, 94, 144, 710, - 711, 933, 292, 903, 122, 222, 1143, 124, 125, 223, - 224, 225, 126, 127, 128, 129, 424, 124, 125, 485, - 540, 541, 226, 425, 1144, 227, 132, 882, 883, 884, - 1147, 285, 426, 228, 427, 1148, 428, 286, 287, 288, - 289, 290, 291, 517, 292, 713, 714, 429, 1154, 1162, - 121, 122, 313, 430, 1163, 313, 335, 314, 315, 336, - 337, 488, 498, 432, 124, 125, 1165, 124, 125, 1202, - 145, 433, 434, 435, 1203, 885, 210, 436, 140, 141, - 1071, 1072, 1131, 1132, 1133, 1134, 440, 441, 229, 449, - 450, 276, 217, 277, 451, 457, 500, 464, 466, 472, - 271, 481, 293, 144, 268, 499, 508, 283, 503, 507, - 509, 513, 319, 144, 300, 230, 320, 338, 295, 511, - 266, 339, 512, 279, 514, 542, 519, 231, 333, 522, - 270, 232, 218, 351, 294, 524, 525, 375, 528, 529, - 537, 543, 340, 544, 269, 545, 546, 284, 341, 547, - 548, 549, 550, 376, 233, 272, 234, 551, 296, 552, - 144, 553, 273, 144, 554, 555, 235, 556, 334, 301, - 557, 558, 559, 352, 236, 560, 302, 237, 565, 561, - 238, 239, 562, 563, 240, 241, 564, 242, 566, 124, - 125, 567, 243, 377, 568, 244, 569, 570, 245, 246, - 247, 571, 248, 249, 572, 250, 251, 573, 1166, 574, - 261, 575, 578, 262, 278, 579, 263, 264, 762, 576, - 577, 580, 581, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, - 780, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 582, 583, 584, 585, 586, 587, - 373, 374, 588, 589, 590, 591, 592, 594, 145, 313, - 210, 593, 595, 596, 600, 597, 598, 599, 601, 603, - 604, 605, 754, 606, 608, 144, 217, 609, 610, 611, - 612, 613, 615, 614, 616, 617, 90, 91, 92, 93, - 94, 619, 621, 622, 865, 875, 623, 375, 624, 625, - 626, 627, 628, 630, 631, 633, 634, 632, 635, 638, - 871, 876, 886, 376, 636, 639, 218, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 642, 643, 640, - 645, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 646, 647, 648, 649, 122, 313, 650, 651, 652, 653, - 872, 877, 887, 377, 654, 655, 656, 124, 125, 657, - 224, 658, 126, 127, 128, 129, 659, 144, 661, 662, - 664, 669, 226, 670, 665, 227, 666, 667, 668, 671, - 672, 673, 674, 228, 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 684, 675, 682, - 685, 686, 683, 687, 30, 690, 696, 697, 698, 699, - 705, 706, 700, 701, 702, 703, 704, 707, 708, 716, - 717, 718, 719, 720, 721, 723, 724, 725, 140, 141, - 727, 728, 729, 753, 758, 918, 730, 731, 732, 733, - 734, 805, 809, 813, 817, 748, 821, 735, 736, 737, - 738, 837, 840, 144, 844, 895, 899, 919, 920, 921, - 922, 739, 740, 927, 742, 743, 928, 929, 930, 931, - 932, 938, 744, 937, 941, 940, 750, 751, 752, 943, - 944, 946, 947, 950, 949, 958, 989, 957, 961, 960, - 962, 963, 964, 965, 966, 967, 970, 971, 972, 979, - 981, 994, 1004, 993, 1006, 998, 997, 996, 1000, 1001, - 1002, 1003, 1005, 1007, 1008, 1009, 1010, 1011, 1012, 1013, - 1014, 1015, 1016, 1104, 1018, 1017, 1093, 1094, 1095, 1096, - 1105, 1108, 229, 1110, 1097, 319, 1098, 1100, 338, 320, - 1101, 1028, 339, 1054, 271, 1051, 1073, 1102, 268, 293, - 1074, 333, 355, 1065, 351, 1107, 1125, 1063, 1079, 230, - 1126, 300, 1077, 340, 266, 295, 865, 1075, 1029, 341, - 875, 231, 1109, 1062, 270, 232, 1129, 1130, 1076, 1115, - 1030, 294, 871, 1116, 1031, 276, 876, 277, 269, 1145, - 1146, 334, 886, 1136, 352, 1117, 1150, 1064, 233, 272, - 234, 283, 1078, 1151, 1137, 296, 273, 1032, 1066, 1033, - 235, 1138, 1152, 1080, 1139, 1067, 301, 279, 236, 1034, - 1081, 237, 872, 302, 238, 239, 877, 1035, 240, 241, - 1036, 242, 887, 1037, 1038, 1118, 243, 1039, 1040, 244, - 1041, 284, 245, 246, 247, 1042, 248, 249, 1043, 250, - 251, 1044, 1045, 1046, 261, 1047, 1048, 262, 1049, 1050, - 263, 264, 1153, 1056, 1055, 1140, 1057, 1141, 1160, 1058, - 1059, 1168, 1169, 1171, 1173, 1178, 1176, 1142, 1198, 1199, - 1200, 1204, 1208, 741, 755, 749, 602, 607, 757, 999, - 907, 1021, 1019, 1070, 1092, 1155, 1156, 1103, 1091, 644, - 1022, 1157, 1164, 1099, 1172, 618, 1023, 1167, 278, 1175, - 1177, 1205, 1206, 1069, 1207, 1210, 1211, 1025, 1158, 637, - 1024, 1026, 1027, 1128, 620, 641, 1090, 1089, 1127, 904, - 1170, 1106, 629, 1088, 1111, 894, 660, 756, 663, 1124, - 1028, 1174, 1054, 1196, 1051, 1073, 1209, 0, 0, 1074, - 0, 0, 1065, 0, 0, 1115, 1063, 1079, 0, 1116, - 0, 1077, 0, 0, 0, 0, 1075, 1029, 0, 0, - 0, 1117, 1062, 0, 0, 0, 0, 1076, 0, 1030, - 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0, - 0, 1078, 0, 0, 0, 0, 1032, 1066, 1033, 0, - 0, 1118, 1080, 0, 1067, 0, 0, 0, 1034, 1081, - 0, 0, 0, 0, 0, 0, 1035, 0, 0, 1036, - 0, 0, 1037, 1038, 0, 0, 1039, 1040, 0, 1041, - 0, 0, 0, 0, 1042, 0, 0, 1043, 0, 0, - 1044, 1045, 1046, 0, 1047, 1048, 0, 1049, 1050, 0, - 0, 0, 1056, 1055, 0, 1057, 0, 0, 1058, 1059 + 117, 118, 119, 120, 121, 62, 751, 1190, 122, 123, + 1191, 1192, 1193, 1194, 408, 830, 831, 832, 833, 124, + 834, 938, 125, 126, 398, 399, 940, 127, 128, 129, + 130, 356, 357, 410, 1058, 131, 132, 1059, 1074, 973, + 145, 133, 125, 126, 974, 32, 33, 34, 35, 414, + 978, 134, 316, 982, 135, 979, 1188, 503, 983, 1189, + 415, 136, 137, 988, 125, 126, 138, 538, 989, 139, + 416, 145, 990, 140, 145, 90, 91, 92, 93, 94, + 715, 716, 423, 867, 868, 869, 1025, 92, 93, 94, + 718, 719, 938, 141, 142, 143, 144, 1149, 853, 854, + 855, 856, 857, 858, 295, 908, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 424, 425, 145, 426, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 427, + 221, 222, 223, 428, 123, 92, 93, 94, 145, 1118, + 429, 1119, 1120, 430, 123, 224, 431, 125, 126, 225, + 226, 227, 127, 128, 129, 130, 489, 125, 126, 432, + 145, 1150, 228, 544, 545, 229, 133, 125, 126, 1153, + 521, 288, 433, 230, 1154, 1160, 435, 289, 290, 291, + 292, 293, 294, 436, 295, 316, 338, 317, 318, 339, + 340, 122, 123, 316, 125, 126, 1168, 125, 126, 492, + 502, 1169, 1208, 504, 1171, 125, 126, 1209, 696, 697, + 698, 699, 437, 438, 146, 887, 888, 889, 141, 142, + 212, 1077, 1078, 1137, 1138, 1139, 1140, 439, 443, 444, + 445, 453, 231, 454, 455, 279, 219, 280, 461, 878, + 879, 468, 470, 145, 274, 476, 296, 485, 271, 507, + 511, 286, 512, 145, 513, 517, 322, 515, 303, 232, + 323, 341, 298, 890, 269, 342, 516, 282, 518, 551, + 523, 233, 336, 526, 273, 234, 220, 354, 297, 528, + 529, 378, 532, 533, 541, 547, 343, 548, 272, 549, + 145, 287, 344, 145, 550, 552, 554, 379, 235, 275, + 236, 145, 299, 553, 555, 556, 276, 557, 558, 559, + 237, 560, 337, 304, 561, 562, 563, 355, 238, 564, + 305, 239, 569, 565, 240, 241, 566, 567, 242, 243, + 568, 244, 570, 571, 670, 572, 245, 380, 573, 246, + 1172, 574, 247, 248, 249, 575, 250, 251, 576, 252, + 253, 577, 578, 579, 254, 580, 581, 264, 281, 582, + 265, 266, 267, 583, 767, 584, 585, 586, 587, 768, + 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 785, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 588, 589, 590, 593, 591, 594, 595, 592, 596, 597, + 598, 599, 600, 146, 601, 212, 316, 602, 603, 605, + 604, 606, 608, 609, 610, 611, 613, 759, 614, 615, + 616, 219, 617, 618, 619, 620, 621, 622, 624, 626, + 627, 90, 91, 92, 93, 94, 628, 629, 630, 870, + 880, 631, 378, 632, 633, 635, 636, 638, 637, 639, + 640, 641, 643, 647, 644, 876, 881, 891, 379, 645, + 648, 220, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 651, 650, 652, 654, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 125, 126, 657, 658, + 123, 316, 653, 655, 656, 877, 882, 892, 380, 659, + 660, 661, 662, 125, 126, 663, 226, 664, 127, 128, + 129, 130, 666, 667, 145, 669, 671, 672, 228, 673, + 674, 229, 675, 676, 677, 678, 679, 680, 687, 230, + 688, 689, 690, 691, 692, 695, 701, 30, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 702, 703, 704, 710, 711, 705, 376, 377, 706, + 707, 708, 709, 712, 713, 721, 722, 723, 724, 725, + 726, 728, 729, 730, 141, 142, 732, 733, 734, 735, + 758, 763, 145, 810, 736, 814, 818, 737, 822, 826, + 738, 842, 845, 739, 753, 740, 741, 849, 900, 145, + 904, 923, 924, 925, 926, 742, 927, 743, 932, 933, + 934, 744, 935, 936, 745, 937, 942, 943, 945, 946, + 949, 747, 748, 749, 948, 755, 951, 952, 954, 756, + 757, 955, 962, 963, 966, 965, 967, 968, 969, 970, + 971, 972, 975, 976, 977, 984, 986, 994, 999, 998, + 1003, 1010, 1001, 1002, 1005, 1006, 1007, 1008, 1009, 1011, + 1014, 1013, 1012, 1015, 1016, 1017, 1022, 1018, 1019, 1020, + 1021, 1023, 1099, 1100, 1101, 1102, 1103, 231, 1104, 1106, + 322, 1107, 1108, 341, 323, 1110, 1033, 342, 1060, 274, + 1057, 1079, 1111, 271, 296, 1080, 336, 358, 1071, 354, + 1114, 1113, 1069, 1085, 232, 1116, 303, 1083, 343, 269, + 298, 870, 1081, 1034, 344, 880, 233, 1115, 1068, 273, + 234, 1131, 1132, 1082, 1121, 1035, 297, 876, 1122, 1036, + 279, 881, 280, 272, 1135, 1136, 337, 891, 1142, 355, + 1123, 1151, 1070, 235, 275, 236, 286, 1084, 1152, 1156, + 299, 276, 1037, 1072, 1038, 237, 1143, 1157, 1086, 1158, + 1073, 304, 282, 238, 1039, 1087, 239, 877, 305, 240, + 241, 882, 1040, 242, 243, 1041, 244, 892, 1042, 1043, + 1124, 245, 1044, 1045, 246, 1046, 287, 247, 248, 249, + 1047, 250, 251, 1048, 252, 253, 1049, 1050, 1051, 254, + 1052, 1053, 264, 1054, 1055, 265, 266, 267, 1056, 1061, + 1159, 1062, 1166, 1144, 1063, 1064, 1065, 1145, 1174, 1146, + 1177, 1147, 1179, 746, 1182, 1204, 1205, 1184, 1206, 1210, + 1214, 760, 754, 607, 612, 762, 1004, 1024, 912, 1026, + 1097, 1076, 1148, 1161, 1098, 649, 1105, 1028, 1162, 1163, + 1109, 1170, 623, 281, 1027, 1175, 1173, 1178, 1181, 1183, + 1211, 1212, 1213, 1216, 1164, 1217, 1075, 1030, 1029, 642, + 625, 634, 1032, 1031, 1134, 1096, 646, 1133, 1095, 909, + 1176, 899, 665, 1094, 668, 1112, 1033, 1130, 1060, 1180, + 1057, 1079, 761, 1117, 1202, 1080, 1215, 0, 1071, 0, + 0, 1121, 1069, 1085, 0, 1122, 0, 1083, 0, 0, + 0, 0, 1081, 1034, 0, 0, 0, 1123, 1068, 0, + 0, 0, 0, 1082, 0, 1035, 0, 0, 0, 1036, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1070, 0, 0, 0, 0, 1084, 0, 0, + 0, 0, 1037, 1072, 1038, 0, 0, 1124, 1086, 0, + 1073, 0, 0, 0, 1039, 1087, 0, 0, 0, 0, + 0, 0, 1040, 0, 0, 1041, 0, 0, 1042, 1043, + 0, 0, 1044, 1045, 0, 1046, 0, 0, 0, 0, + 1047, 0, 0, 1048, 0, 0, 1049, 1050, 1051, 0, + 1052, 1053, 0, 1054, 1055, 0, 0, 0, 1056, 1061, + 0, 1062, 0, 0, 1063, 1064, 1065 }; const short Dhcp4Parser::yycheck_[] = { 67, 68, 69, 70, 71, 70, 73, 74, 75, 76, - 73, 74, 64, 673, 69, 948, 71, 68, 69, 70, - 71, 948, 73, 74, 615, 76, 72, 948, 0, 69, - 621, 582, 74, 193, 69, 70, 71, 10, 74, 97, - 98, 69, 127, 128, 69, 69, 5, 8, 7, 173, - 9, 18, 176, 177, 178, 179, 3, 68, 69, 70, - 71, 8, 73, 74, 7, 76, 12, 13, 69, 69, - 69, 71, 117, 118, 119, 120, 69, 122, 71, 83, - 69, 7, 15, 16, 142, 143, 19, 7, 69, 22, - 84, 69, 643, 3, 69, 69, 6, 34, 69, 69, - 3, 69, 96, 97, 98, 8, 69, 7, 193, 69, - 3, 7, 69, 69, 69, 8, 69, 69, 112, 69, - 69, 115, 127, 128, 69, 11, 70, 69, 14, 3, - 69, 69, 7, 3, 8, 193, 7, 23, 8, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 85, 3, - 87, 88, 6, 3, 91, 92, 93, 85, 8, 7, - 97, 98, 3, 3, 97, 98, 3, 8, 8, 97, - 98, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 73, 74, 64, 678, 69, 620, 71, 68, 69, 70, + 71, 626, 73, 74, 953, 76, 72, 953, 953, 69, + 128, 129, 74, 194, 69, 70, 71, 3, 74, 587, + 84, 69, 8, 4, 69, 69, 5, 194, 7, 0, + 9, 18, 165, 166, 167, 168, 3, 68, 69, 70, + 71, 8, 73, 74, 7, 76, 7, 3, 69, 69, + 69, 71, 8, 7, 3, 7, 69, 8, 71, 8, + 69, 7, 15, 16, 197, 3, 19, 3, 69, 22, + 8, 69, 8, 7, 69, 69, 194, 3, 69, 69, + 648, 69, 8, 3, 34, 3, 69, 10, 8, 69, + 8, 7, 69, 69, 69, 7, 69, 69, 3, 69, + 69, 85, 6, 8, 69, 11, 70, 69, 14, 7, + 69, 69, 69, 97, 98, 99, 7, 23, 7, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 3, 113, + 3, 3, 116, 8, 6, 8, 86, 3, 88, 89, + 6, 3, 92, 93, 94, 98, 99, 3, 98, 99, + 6, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 7, 162, 7, 83, 84, 193, - 130, 131, 132, 133, 134, 135, 3, 7, 94, 6, - 3, 97, 98, 7, 1147, 8, 102, 103, 104, 105, - 1147, 6, 3, 3, 110, 111, 1147, 8, 8, 4, - 116, 3, 97, 98, 193, 194, 195, 196, 3, 8, - 126, 6, 4, 129, 172, 4, 174, 175, 3, 3, - 136, 137, 3, 8, 8, 141, 193, 8, 144, 3, - 193, 4, 148, 4, 8, 193, 26, 27, 28, 29, - 30, 4, 3, 138, 139, 140, 936, 8, 28, 29, - 30, 3, 168, 169, 170, 171, 8, 164, 165, 166, - 167, 3, 106, 107, 108, 109, 8, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 193, 4, 97, - 98, 71, 72, 73, 74, 75, 76, 77, 78, 196, - 80, 81, 82, 4, 84, 28, 29, 30, 193, 17, - 18, 3, 124, 125, 84, 95, 8, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 4, 97, 98, 3, - 402, 403, 112, 4, 8, 115, 116, 145, 146, 147, - 3, 111, 4, 123, 4, 8, 4, 117, 118, 119, - 120, 121, 122, 3, 124, 20, 21, 4, 8, 3, - 83, 84, 85, 4, 8, 85, 86, 87, 88, 89, - 90, 3, 8, 4, 97, 98, 8, 97, 98, 3, - 467, 4, 4, 4, 8, 193, 473, 4, 168, 169, - 113, 114, 35, 36, 37, 38, 4, 4, 485, 4, - 4, 488, 473, 488, 4, 4, 8, 4, 4, 4, - 485, 4, 499, 193, 485, 3, 8, 488, 4, 4, - 3, 8, 509, 193, 499, 485, 509, 514, 499, 4, - 485, 514, 4, 488, 3, 193, 4, 485, 509, 4, - 485, 485, 473, 514, 499, 4, 4, 534, 4, 4, - 4, 4, 514, 4, 485, 4, 4, 488, 514, 196, - 196, 196, 4, 534, 485, 485, 485, 4, 499, 4, - 193, 4, 485, 193, 4, 4, 485, 194, 509, 499, - 194, 194, 194, 514, 485, 194, 499, 485, 194, 196, - 485, 485, 195, 195, 485, 485, 195, 485, 194, 97, - 98, 4, 485, 534, 194, 485, 194, 196, 485, 485, - 485, 196, 485, 485, 196, 485, 485, 4, 1129, 4, - 485, 4, 4, 485, 488, 4, 485, 485, 34, 196, - 196, 4, 4, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 4, 4, 4, 196, 196, 196, - 168, 169, 4, 4, 4, 4, 4, 4, 665, 85, - 667, 194, 4, 4, 196, 4, 4, 4, 4, 4, - 4, 4, 664, 196, 4, 193, 667, 4, 4, 4, - 4, 4, 4, 194, 4, 4, 26, 27, 28, 29, - 30, 4, 4, 4, 701, 702, 4, 704, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 194, 4, 4, - 701, 702, 703, 704, 196, 196, 667, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 4, 4, 196, - 196, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 4, 4, 194, 4, 84, 85, 194, 194, 4, 4, - 701, 702, 703, 704, 196, 196, 4, 97, 98, 4, - 100, 4, 102, 103, 104, 105, 4, 193, 4, 194, - 4, 193, 112, 193, 7, 115, 7, 7, 7, 193, - 7, 7, 5, 123, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 5, 193, 193, - 5, 5, 193, 5, 7, 193, 5, 5, 5, 5, - 193, 193, 7, 7, 7, 7, 7, 5, 5, 193, - 193, 193, 5, 193, 193, 193, 7, 193, 168, 169, - 193, 193, 193, 5, 24, 4, 193, 193, 193, 193, - 193, 7, 7, 7, 7, 163, 7, 193, 193, 193, - 193, 7, 7, 193, 7, 7, 7, 4, 4, 4, - 4, 193, 193, 4, 193, 193, 4, 4, 4, 4, - 4, 3, 193, 6, 3, 6, 193, 193, 193, 6, - 3, 6, 3, 3, 6, 3, 193, 6, 3, 6, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 3, 194, 6, 194, 4, 6, 8, 4, 4, - 4, 4, 196, 196, 194, 4, 4, 4, 4, 194, - 194, 194, 194, 4, 194, 196, 194, 194, 194, 194, - 4, 4, 939, 4, 194, 942, 194, 196, 945, 942, - 194, 948, 945, 948, 939, 948, 953, 194, 939, 956, - 953, 942, 959, 948, 945, 196, 6, 948, 953, 939, - 3, 956, 953, 945, 939, 956, 973, 953, 948, 945, - 977, 939, 194, 948, 939, 939, 4, 193, 953, 986, - 948, 956, 973, 986, 948, 992, 977, 992, 939, 8, - 8, 942, 983, 193, 945, 986, 4, 948, 939, 939, - 939, 992, 953, 8, 193, 956, 939, 948, 948, 948, - 939, 193, 3, 953, 193, 948, 956, 992, 939, 948, - 953, 939, 973, 956, 939, 939, 977, 948, 939, 939, - 948, 939, 983, 948, 948, 986, 939, 948, 948, 939, - 948, 992, 939, 939, 939, 948, 939, 939, 948, 939, - 939, 948, 948, 948, 939, 948, 948, 939, 948, 948, - 939, 939, 8, 948, 948, 193, 948, 193, 4, 948, - 948, 4, 196, 4, 4, 7, 5, 193, 4, 4, - 4, 4, 4, 643, 665, 656, 467, 473, 667, 912, - 753, 938, 933, 951, 961, 193, 193, 973, 959, 517, - 939, 193, 193, 968, 194, 485, 941, 1147, 992, 193, - 193, 196, 194, 950, 194, 193, 193, 944, 1110, 509, - 942, 945, 947, 994, 488, 514, 958, 956, 992, 724, - 1152, 977, 499, 954, 983, 704, 534, 666, 538, 987, - 1147, 1162, 1147, 1182, 1147, 1152, 1202, -1, -1, 1152, - -1, -1, 1147, -1, -1, 1162, 1147, 1152, -1, 1162, - -1, 1152, -1, -1, -1, -1, 1152, 1147, -1, -1, - -1, 1162, 1147, -1, -1, -1, -1, 1152, -1, 1147, - -1, -1, -1, 1147, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1147, -1, -1, -1, - -1, 1152, -1, -1, -1, -1, 1147, 1147, 1147, -1, - -1, 1162, 1152, -1, 1147, -1, -1, -1, 1147, 1152, - -1, -1, -1, -1, -1, -1, 1147, -1, -1, 1147, - -1, -1, 1147, 1147, -1, -1, 1147, 1147, -1, 1147, - -1, -1, -1, -1, 1147, -1, -1, 1147, -1, -1, - 1147, 1147, 1147, -1, 1147, 1147, -1, 1147, 1147, -1, - -1, -1, 1147, 1147, -1, 1147, -1, -1, 1147, 1147 + 76, 77, 78, 79, 80, 7, 163, 174, 84, 85, + 177, 178, 179, 180, 3, 118, 119, 120, 121, 95, + 123, 3, 98, 99, 12, 13, 8, 103, 104, 105, + 106, 128, 129, 8, 1153, 111, 112, 1153, 1153, 3, + 194, 117, 98, 99, 8, 194, 195, 196, 197, 4, + 3, 127, 86, 3, 130, 8, 3, 3, 8, 6, + 4, 137, 138, 3, 98, 99, 142, 3, 8, 145, + 4, 194, 8, 149, 194, 26, 27, 28, 29, 30, + 17, 18, 4, 139, 140, 141, 941, 28, 29, 30, + 20, 21, 3, 169, 170, 171, 172, 8, 131, 132, + 133, 134, 135, 136, 125, 126, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 4, 4, 194, 4, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 4, + 81, 82, 83, 4, 85, 28, 29, 30, 194, 173, + 4, 175, 176, 4, 85, 96, 4, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 3, 98, 99, 4, + 194, 8, 113, 405, 406, 116, 117, 98, 99, 3, + 3, 112, 4, 124, 8, 8, 4, 118, 119, 120, + 121, 122, 123, 4, 125, 86, 87, 88, 89, 90, + 91, 84, 85, 86, 98, 99, 3, 98, 99, 3, + 8, 8, 3, 8, 8, 98, 99, 8, 107, 108, + 109, 110, 4, 4, 471, 146, 147, 148, 169, 170, + 477, 114, 115, 35, 36, 37, 38, 4, 4, 4, + 4, 4, 489, 4, 4, 492, 477, 492, 4, 143, + 144, 4, 4, 194, 489, 4, 503, 4, 489, 4, + 4, 492, 8, 194, 3, 8, 513, 4, 503, 489, + 513, 518, 503, 194, 489, 518, 4, 492, 3, 197, + 4, 489, 513, 4, 489, 489, 477, 518, 503, 4, + 4, 538, 4, 4, 4, 4, 518, 4, 489, 4, + 194, 492, 518, 194, 4, 197, 4, 538, 489, 489, + 489, 194, 503, 197, 4, 4, 489, 4, 4, 4, + 489, 195, 513, 503, 195, 195, 195, 518, 489, 195, + 503, 489, 195, 197, 489, 489, 196, 196, 489, 489, + 196, 489, 195, 4, 7, 195, 489, 538, 195, 489, + 1135, 197, 489, 489, 489, 197, 489, 489, 197, 489, + 489, 4, 4, 4, 489, 197, 197, 489, 492, 197, + 489, 489, 489, 4, 34, 4, 4, 4, 4, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 4, 4, 197, 4, 197, 4, 4, 197, 4, 4, + 195, 4, 4, 670, 4, 672, 86, 4, 4, 197, + 4, 4, 4, 4, 4, 197, 4, 669, 4, 4, + 4, 672, 4, 4, 195, 4, 4, 4, 4, 4, + 4, 26, 27, 28, 29, 30, 4, 4, 4, 706, + 707, 4, 709, 4, 4, 4, 4, 4, 195, 4, + 4, 197, 4, 4, 197, 706, 707, 708, 709, 197, + 4, 672, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 4, 197, 4, 4, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 98, 99, 4, 4, + 85, 86, 195, 195, 195, 706, 707, 708, 709, 197, + 197, 4, 4, 98, 99, 4, 101, 4, 103, 104, + 105, 106, 4, 195, 194, 4, 7, 7, 113, 7, + 194, 116, 194, 194, 7, 7, 5, 194, 194, 124, + 194, 5, 5, 5, 5, 194, 5, 7, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 5, 5, 5, 194, 194, 7, 169, 170, 7, + 7, 7, 7, 5, 5, 194, 194, 194, 5, 194, + 194, 194, 7, 194, 169, 170, 194, 194, 194, 194, + 5, 24, 194, 7, 194, 7, 7, 194, 7, 7, + 194, 7, 7, 194, 164, 194, 194, 7, 7, 194, + 7, 4, 4, 4, 4, 194, 4, 194, 4, 4, + 4, 194, 4, 4, 194, 4, 6, 3, 6, 3, + 3, 194, 194, 194, 6, 194, 6, 3, 6, 194, + 194, 3, 6, 3, 3, 6, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 194, 3, 6, + 4, 197, 8, 6, 4, 4, 4, 4, 195, 195, + 4, 195, 197, 4, 4, 4, 197, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 944, 195, 197, + 947, 195, 195, 950, 947, 4, 953, 950, 953, 944, + 953, 958, 4, 944, 961, 958, 947, 964, 953, 950, + 4, 197, 953, 958, 944, 4, 961, 958, 950, 944, + 961, 978, 958, 953, 950, 982, 944, 195, 953, 944, + 944, 6, 3, 958, 991, 953, 961, 978, 991, 953, + 997, 982, 997, 944, 4, 194, 947, 988, 194, 950, + 991, 8, 953, 944, 944, 944, 997, 958, 8, 4, + 961, 944, 953, 953, 953, 944, 194, 8, 958, 3, + 953, 961, 997, 944, 953, 958, 944, 978, 961, 944, + 944, 982, 953, 944, 944, 953, 944, 988, 953, 953, + 991, 944, 953, 953, 944, 953, 997, 944, 944, 944, + 953, 944, 944, 953, 944, 944, 953, 953, 953, 944, + 953, 953, 944, 953, 953, 944, 944, 944, 953, 953, + 8, 953, 4, 194, 953, 953, 953, 194, 4, 194, + 4, 194, 4, 648, 5, 4, 4, 7, 4, 4, + 4, 670, 661, 471, 477, 672, 917, 938, 758, 943, + 964, 956, 194, 194, 966, 521, 973, 946, 194, 194, + 978, 194, 489, 997, 944, 197, 1153, 195, 194, 194, + 197, 195, 195, 194, 1116, 194, 955, 949, 947, 513, + 492, 503, 952, 950, 999, 963, 518, 997, 961, 729, + 1158, 709, 538, 959, 542, 982, 1153, 992, 1153, 1168, + 1153, 1158, 671, 988, 1188, 1158, 1208, -1, 1153, -1, + -1, 1168, 1153, 1158, -1, 1168, -1, 1158, -1, -1, + -1, -1, 1158, 1153, -1, -1, -1, 1168, 1153, -1, + -1, -1, -1, 1158, -1, 1153, -1, -1, -1, 1153, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1153, -1, -1, -1, -1, 1158, -1, -1, + -1, -1, 1153, 1153, 1153, -1, -1, 1168, 1158, -1, + 1153, -1, -1, -1, 1153, 1158, -1, -1, -1, -1, + -1, -1, 1153, -1, -1, 1153, -1, -1, 1153, 1153, + -1, -1, 1153, 1153, -1, 1153, -1, -1, -1, -1, + 1153, -1, -1, 1153, -1, -1, 1153, 1153, 1153, -1, + 1153, 1153, -1, 1153, 1153, -1, -1, -1, 1153, 1153, + -1, 1153, -1, -1, 1153, 1153, 1153 }; const short Dhcp4Parser::yystos_[] = { - 0, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 0, 5, - 7, 9, 193, 194, 195, 196, 212, 213, 214, 219, - 7, 228, 7, 232, 7, 275, 7, 380, 7, 463, - 7, 479, 7, 415, 7, 421, 7, 445, 7, 356, - 7, 544, 7, 575, 220, 215, 229, 233, 276, 381, - 464, 480, 416, 422, 446, 357, 545, 576, 212, 221, - 222, 193, 217, 218, 10, 230, 11, 14, 23, 25, + 0, 181, 182, 183, 184, 185, 186, 187, 188, 189, + 190, 191, 192, 193, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 0, 5, + 7, 9, 194, 195, 196, 197, 213, 214, 215, 220, + 7, 229, 7, 233, 7, 277, 7, 382, 7, 465, + 7, 481, 7, 417, 7, 423, 7, 447, 7, 358, + 7, 546, 7, 577, 221, 216, 230, 234, 278, 383, + 466, 482, 418, 424, 448, 359, 547, 578, 213, 222, + 223, 194, 218, 219, 10, 231, 11, 14, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 83, 84, 94, 97, 98, 102, 103, 104, 105, - 110, 111, 116, 126, 129, 136, 137, 141, 144, 148, - 168, 169, 170, 171, 193, 227, 234, 235, 236, 237, + 79, 80, 84, 85, 95, 98, 99, 103, 104, 105, + 106, 111, 112, 117, 127, 130, 137, 138, 142, 145, + 149, 169, 170, 171, 172, 194, 228, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 249, 250, 251, 252, 253, 254, 255, 258, 260, 262, - 263, 265, 267, 268, 269, 270, 271, 286, 288, 294, - 296, 334, 343, 350, 364, 374, 398, 399, 400, 401, - 405, 413, 439, 469, 471, 473, 484, 486, 488, 511, - 523, 524, 532, 542, 573, 582, 15, 16, 19, 22, - 227, 273, 274, 277, 279, 282, 285, 469, 471, 80, - 81, 82, 95, 99, 100, 101, 112, 115, 123, 227, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 250, 251, 252, 253, 254, 255, 258, 260, 262, 263, - 265, 267, 382, 383, 384, 386, 388, 390, 392, 394, - 396, 398, 399, 400, 401, 404, 439, 457, 469, 471, - 473, 484, 486, 488, 508, 96, 227, 394, 396, 439, - 465, 466, 467, 469, 471, 111, 117, 118, 119, 120, - 121, 122, 124, 227, 439, 469, 471, 481, 482, 483, - 484, 486, 488, 490, 494, 496, 498, 500, 502, 504, - 506, 413, 34, 85, 87, 88, 91, 92, 93, 227, - 314, 423, 424, 425, 426, 427, 428, 429, 431, 433, - 435, 436, 438, 469, 471, 86, 89, 90, 227, 314, - 427, 433, 447, 448, 449, 450, 451, 453, 454, 455, - 456, 469, 471, 127, 128, 227, 358, 359, 360, 362, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 168, 169, 227, 469, 471, 546, 547, - 548, 549, 551, 552, 554, 555, 556, 559, 561, 563, - 564, 565, 567, 569, 571, 12, 13, 577, 578, 579, - 581, 6, 3, 4, 8, 3, 231, 8, 574, 272, - 289, 4, 4, 4, 485, 487, 489, 287, 295, 297, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 248, 4, 4, 4, 4, 4, 256, 259, 261, - 4, 4, 375, 414, 440, 406, 470, 472, 402, 4, - 4, 4, 335, 512, 474, 351, 365, 4, 344, 525, - 533, 543, 264, 266, 4, 583, 4, 3, 8, 278, - 280, 283, 4, 3, 8, 387, 389, 391, 458, 385, - 393, 4, 397, 395, 509, 3, 8, 468, 3, 8, - 507, 495, 497, 501, 499, 505, 503, 491, 8, 3, - 8, 430, 315, 4, 434, 432, 437, 4, 8, 3, - 452, 4, 4, 8, 3, 361, 363, 3, 8, 4, - 562, 550, 4, 553, 4, 4, 557, 560, 4, 4, - 566, 568, 570, 572, 3, 8, 580, 4, 3, 8, - 212, 212, 193, 4, 4, 4, 4, 196, 196, 196, - 4, 4, 4, 4, 4, 4, 194, 194, 194, 194, - 194, 196, 195, 195, 195, 194, 194, 4, 194, 194, - 196, 196, 196, 4, 4, 4, 196, 196, 4, 4, - 4, 4, 4, 4, 4, 196, 196, 196, 4, 4, - 4, 4, 4, 194, 4, 4, 4, 4, 4, 4, - 196, 4, 235, 4, 4, 4, 196, 274, 4, 4, - 4, 4, 4, 4, 194, 4, 4, 4, 383, 4, - 466, 4, 4, 4, 4, 4, 4, 4, 4, 483, - 4, 4, 194, 4, 4, 4, 196, 425, 4, 196, - 196, 449, 4, 4, 359, 196, 4, 4, 194, 4, - 194, 194, 4, 4, 196, 196, 4, 4, 4, 4, - 547, 4, 194, 578, 4, 7, 7, 7, 7, 193, - 193, 193, 7, 7, 5, 193, 164, 165, 166, 167, - 196, 257, 193, 193, 5, 5, 5, 5, 214, 216, - 193, 106, 107, 108, 109, 403, 5, 5, 5, 5, - 7, 7, 7, 7, 7, 193, 193, 5, 5, 223, - 17, 18, 281, 20, 21, 284, 193, 193, 193, 5, - 193, 193, 223, 193, 7, 193, 223, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 216, 193, 193, 193, 18, 162, 558, 163, 257, - 193, 193, 193, 5, 212, 234, 577, 273, 24, 290, - 291, 292, 34, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 227, 302, 303, 304, 307, 309, 311, 313, 314, - 316, 317, 318, 319, 320, 321, 322, 323, 325, 327, - 329, 331, 332, 333, 302, 7, 298, 299, 300, 7, - 376, 377, 378, 7, 417, 418, 419, 7, 441, 442, - 443, 7, 407, 408, 409, 117, 118, 119, 120, 122, - 336, 337, 338, 339, 340, 341, 342, 7, 513, 514, - 7, 475, 476, 477, 7, 352, 353, 354, 130, 131, - 132, 133, 134, 135, 366, 367, 368, 369, 370, 371, - 372, 373, 138, 139, 140, 227, 345, 346, 347, 348, - 349, 469, 471, 142, 143, 227, 469, 471, 526, 527, - 528, 530, 145, 146, 147, 193, 469, 471, 534, 535, - 536, 537, 539, 540, 546, 7, 584, 585, 224, 7, - 459, 460, 461, 125, 490, 492, 510, 298, 8, 8, - 8, 293, 3, 8, 305, 308, 310, 312, 4, 4, - 4, 4, 4, 324, 326, 328, 330, 4, 4, 4, - 4, 4, 4, 3, 8, 8, 301, 6, 3, 379, - 6, 3, 420, 6, 3, 444, 6, 3, 410, 6, - 3, 3, 6, 515, 3, 6, 478, 6, 3, 355, - 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 529, 531, 3, 8, 4, - 538, 4, 541, 3, 8, 8, 586, 3, 6, 193, - 225, 226, 462, 6, 3, 493, 8, 6, 4, 291, - 4, 4, 4, 4, 194, 196, 194, 196, 194, 4, - 4, 4, 4, 194, 194, 194, 194, 196, 194, 303, - 302, 300, 382, 378, 423, 419, 447, 443, 227, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 250, - 251, 252, 253, 254, 255, 258, 260, 262, 263, 265, - 267, 314, 374, 392, 394, 396, 398, 399, 400, 401, - 411, 412, 439, 469, 471, 484, 486, 488, 508, 409, - 337, 113, 114, 227, 314, 413, 439, 469, 471, 484, - 486, 488, 516, 517, 518, 519, 520, 522, 514, 481, - 477, 358, 354, 194, 194, 194, 194, 194, 194, 367, - 196, 194, 194, 346, 4, 4, 527, 196, 4, 194, - 4, 535, 172, 174, 175, 227, 314, 469, 471, 587, - 588, 589, 590, 592, 585, 6, 3, 465, 461, 4, - 193, 35, 36, 37, 38, 306, 193, 193, 193, 193, - 193, 193, 193, 8, 8, 8, 8, 3, 8, 521, - 4, 8, 3, 8, 8, 193, 193, 193, 212, 593, - 4, 591, 3, 8, 193, 8, 223, 412, 4, 196, - 518, 4, 194, 4, 588, 193, 5, 193, 7, 594, - 595, 596, 3, 6, 173, 176, 177, 178, 179, 597, - 598, 599, 601, 602, 603, 604, 595, 600, 4, 4, - 4, 605, 3, 8, 4, 196, 194, 194, 4, 598, - 193, 193 + 248, 250, 251, 252, 253, 254, 255, 256, 259, 261, + 263, 264, 265, 267, 269, 270, 271, 272, 273, 288, + 290, 296, 298, 336, 345, 352, 366, 376, 400, 401, + 402, 403, 407, 415, 441, 471, 473, 475, 486, 488, + 490, 513, 525, 526, 534, 544, 575, 584, 15, 16, + 19, 22, 228, 275, 276, 279, 281, 284, 287, 471, + 473, 81, 82, 83, 96, 100, 101, 102, 113, 116, + 124, 228, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 251, 252, 253, 254, 255, 256, 259, 261, + 263, 264, 265, 267, 269, 384, 385, 386, 388, 390, + 392, 394, 396, 398, 400, 401, 402, 403, 406, 441, + 459, 471, 473, 475, 486, 488, 490, 510, 97, 228, + 396, 398, 441, 467, 468, 469, 471, 473, 112, 118, + 119, 120, 121, 122, 123, 125, 228, 441, 471, 473, + 483, 484, 485, 486, 488, 490, 492, 496, 498, 500, + 502, 504, 506, 508, 415, 34, 86, 88, 89, 92, + 93, 94, 228, 316, 425, 426, 427, 428, 429, 430, + 431, 433, 435, 437, 438, 440, 471, 473, 87, 90, + 91, 228, 316, 429, 435, 449, 450, 451, 452, 453, + 455, 456, 457, 458, 471, 473, 128, 129, 228, 360, + 361, 362, 364, 150, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 169, 170, 228, 471, + 473, 548, 549, 550, 551, 553, 554, 556, 557, 558, + 561, 563, 565, 566, 567, 569, 571, 573, 12, 13, + 579, 580, 581, 583, 6, 3, 4, 8, 3, 232, + 8, 576, 274, 291, 4, 4, 4, 487, 489, 491, + 289, 297, 299, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 249, 4, 4, 4, 4, 4, + 257, 260, 262, 4, 4, 4, 377, 416, 442, 408, + 472, 474, 404, 4, 4, 4, 337, 514, 476, 353, + 367, 4, 346, 527, 535, 545, 266, 268, 4, 585, + 4, 3, 8, 280, 282, 285, 4, 3, 8, 389, + 391, 393, 460, 387, 395, 4, 399, 397, 511, 3, + 8, 470, 3, 8, 509, 497, 499, 503, 501, 507, + 505, 493, 8, 3, 8, 432, 317, 4, 436, 434, + 439, 4, 8, 3, 454, 4, 4, 8, 3, 363, + 365, 3, 8, 4, 564, 552, 4, 555, 4, 4, + 559, 562, 4, 4, 568, 570, 572, 574, 3, 8, + 582, 4, 3, 8, 213, 213, 194, 4, 4, 4, + 4, 197, 197, 197, 4, 4, 4, 4, 4, 4, + 195, 195, 195, 195, 195, 197, 196, 196, 196, 195, + 195, 4, 195, 195, 197, 197, 197, 4, 4, 4, + 197, 197, 197, 4, 4, 4, 4, 4, 4, 4, + 197, 197, 197, 4, 4, 4, 4, 4, 195, 4, + 4, 4, 4, 4, 4, 197, 4, 236, 4, 4, + 4, 197, 276, 4, 4, 4, 4, 4, 4, 195, + 4, 4, 4, 385, 4, 468, 4, 4, 4, 4, + 4, 4, 4, 4, 485, 4, 4, 195, 4, 4, + 4, 197, 427, 4, 197, 197, 451, 4, 4, 361, + 197, 4, 4, 195, 4, 195, 195, 4, 4, 197, + 197, 4, 4, 4, 4, 549, 4, 195, 580, 4, + 7, 7, 7, 7, 194, 194, 194, 7, 7, 5, + 194, 165, 166, 167, 168, 197, 258, 194, 194, 5, + 5, 5, 5, 215, 217, 194, 107, 108, 109, 110, + 405, 5, 5, 5, 5, 7, 7, 7, 7, 7, + 194, 194, 5, 5, 224, 17, 18, 283, 20, 21, + 286, 194, 194, 194, 5, 194, 194, 224, 194, 7, + 194, 224, 194, 194, 194, 194, 194, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 217, 194, 194, 194, + 18, 163, 560, 164, 258, 194, 194, 194, 5, 213, + 235, 579, 275, 24, 292, 293, 294, 34, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 228, 304, 305, 306, + 309, 311, 313, 315, 316, 318, 319, 320, 321, 322, + 323, 324, 325, 327, 329, 331, 333, 334, 335, 304, + 7, 300, 301, 302, 7, 378, 379, 380, 7, 419, + 420, 421, 7, 443, 444, 445, 7, 409, 410, 411, + 118, 119, 120, 121, 123, 338, 339, 340, 341, 342, + 343, 344, 7, 515, 516, 7, 477, 478, 479, 7, + 354, 355, 356, 131, 132, 133, 134, 135, 136, 368, + 369, 370, 371, 372, 373, 374, 375, 139, 140, 141, + 228, 347, 348, 349, 350, 351, 471, 473, 143, 144, + 228, 471, 473, 528, 529, 530, 532, 146, 147, 148, + 194, 471, 473, 536, 537, 538, 539, 541, 542, 548, + 7, 586, 587, 225, 7, 461, 462, 463, 126, 492, + 494, 512, 300, 8, 8, 8, 295, 3, 8, 307, + 310, 312, 314, 4, 4, 4, 4, 4, 326, 328, + 330, 332, 4, 4, 4, 4, 4, 4, 3, 8, + 8, 303, 6, 3, 381, 6, 3, 422, 6, 3, + 446, 6, 3, 412, 6, 3, 3, 6, 517, 3, + 6, 480, 6, 3, 357, 6, 3, 4, 4, 4, + 4, 4, 4, 3, 8, 4, 4, 4, 3, 8, + 531, 533, 3, 8, 4, 540, 4, 543, 3, 8, + 8, 588, 3, 6, 194, 226, 227, 464, 6, 3, + 495, 8, 6, 4, 293, 4, 4, 4, 4, 195, + 197, 195, 197, 195, 4, 4, 4, 4, 195, 195, + 195, 195, 197, 195, 305, 304, 302, 384, 380, 425, + 421, 449, 445, 228, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 251, 252, 253, 254, 255, 256, + 259, 261, 263, 264, 265, 267, 269, 316, 376, 394, + 396, 398, 400, 401, 402, 403, 413, 414, 441, 471, + 473, 486, 488, 490, 510, 411, 339, 114, 115, 228, + 316, 415, 441, 471, 473, 486, 488, 490, 518, 519, + 520, 521, 522, 524, 516, 483, 479, 360, 356, 195, + 195, 195, 195, 195, 195, 369, 197, 195, 195, 348, + 4, 4, 529, 197, 4, 195, 4, 537, 173, 175, + 176, 228, 316, 471, 473, 589, 590, 591, 592, 594, + 587, 6, 3, 467, 463, 4, 194, 35, 36, 37, + 38, 308, 194, 194, 194, 194, 194, 194, 194, 8, + 8, 8, 8, 3, 8, 523, 4, 8, 3, 8, + 8, 194, 194, 194, 213, 595, 4, 593, 3, 8, + 194, 8, 224, 414, 4, 197, 520, 4, 195, 4, + 590, 194, 5, 194, 7, 596, 597, 598, 3, 6, + 174, 177, 178, 179, 180, 599, 600, 601, 603, 604, + 605, 606, 597, 602, 4, 4, 4, 607, 3, 8, + 4, 197, 195, 195, 4, 600, 194, 194 }; const short Dhcp4Parser::yyr1_[] = { - 0, 197, 199, 198, 200, 198, 201, 198, 202, 198, - 203, 198, 204, 198, 205, 198, 206, 198, 207, 198, - 208, 198, 209, 198, 210, 198, 211, 198, 212, 212, - 212, 212, 212, 212, 212, 213, 215, 214, 216, 217, - 217, 218, 218, 220, 219, 221, 221, 222, 222, 224, - 223, 225, 225, 226, 226, 227, 229, 228, 231, 230, - 233, 232, 234, 234, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 248, 247, 249, 250, 251, 252, - 253, 254, 256, 255, 257, 257, 257, 257, 257, 259, - 258, 261, 260, 262, 264, 263, 266, 265, 267, 268, - 269, 270, 272, 271, 273, 273, 274, 274, 274, 274, - 274, 274, 274, 276, 275, 278, 277, 280, 279, 281, - 281, 283, 282, 284, 284, 285, 287, 286, 289, 288, - 290, 290, 291, 293, 292, 295, 294, 297, 296, 298, - 298, 299, 299, 301, 300, 302, 302, 303, 303, 303, - 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, - 303, 303, 303, 303, 303, 303, 303, 303, 305, 304, - 306, 306, 306, 306, 308, 307, 310, 309, 312, 311, - 313, 315, 314, 316, 317, 318, 319, 320, 321, 322, - 324, 323, 326, 325, 328, 327, 330, 329, 331, 332, - 333, 335, 334, 336, 336, 337, 337, 337, 337, 337, - 338, 339, 340, 341, 342, 344, 343, 345, 345, 346, - 346, 346, 346, 346, 346, 347, 348, 349, 351, 350, - 352, 352, 353, 353, 355, 354, 357, 356, 358, 358, - 358, 359, 359, 361, 360, 363, 362, 365, 364, 366, - 366, 367, 367, 367, 367, 367, 367, 368, 369, 370, - 371, 372, 373, 375, 374, 376, 376, 377, 377, 379, - 378, 381, 380, 382, 382, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 385, - 384, 387, 386, 389, 388, 391, 390, 393, 392, 395, - 394, 397, 396, 398, 399, 400, 402, 401, 403, 403, - 403, 403, 404, 406, 405, 407, 407, 408, 408, 410, - 409, 411, 411, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 414, 413, 416, 415, 417, 417, 418, 418, - 420, 419, 422, 421, 423, 423, 424, 424, 425, 425, - 425, 425, 425, 425, 425, 425, 425, 425, 426, 427, - 428, 430, 429, 432, 431, 434, 433, 435, 437, 436, - 438, 440, 439, 441, 441, 442, 442, 444, 443, 446, - 445, 447, 447, 448, 448, 449, 449, 449, 449, 449, - 449, 449, 449, 449, 450, 452, 451, 453, 454, 455, - 456, 458, 457, 459, 459, 460, 460, 462, 461, 464, - 463, 465, 465, 466, 466, 466, 466, 466, 466, 466, - 468, 467, 470, 469, 472, 471, 474, 473, 475, 475, - 476, 476, 478, 477, 480, 479, 481, 481, 482, 482, - 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, - 483, 483, 483, 483, 483, 485, 484, 487, 486, 489, - 488, 491, 490, 493, 492, 495, 494, 497, 496, 499, - 498, 501, 500, 503, 502, 505, 504, 507, 506, 509, - 508, 510, 510, 512, 511, 513, 513, 515, 514, 516, - 516, 517, 517, 518, 518, 518, 518, 518, 518, 518, - 518, 518, 518, 518, 519, 521, 520, 522, 523, 525, - 524, 526, 526, 527, 527, 527, 527, 527, 529, 528, - 531, 530, 533, 532, 534, 534, 535, 535, 535, 535, - 535, 535, 536, 538, 537, 539, 541, 540, 543, 542, - 545, 544, 546, 546, 547, 547, 547, 547, 547, 547, - 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, - 547, 547, 548, 550, 549, 551, 553, 552, 554, 555, - 557, 556, 558, 558, 560, 559, 562, 561, 563, 564, - 566, 565, 568, 567, 570, 569, 572, 571, 574, 573, - 576, 575, 577, 577, 578, 578, 580, 579, 581, 583, - 582, 584, 584, 586, 585, 587, 587, 588, 588, 588, - 588, 588, 588, 588, 589, 591, 590, 593, 592, 594, - 594, 596, 595, 597, 597, 598, 598, 598, 598, 598, - 600, 599, 601, 602, 603, 605, 604 + 0, 198, 200, 199, 201, 199, 202, 199, 203, 199, + 204, 199, 205, 199, 206, 199, 207, 199, 208, 199, + 209, 199, 210, 199, 211, 199, 212, 199, 213, 213, + 213, 213, 213, 213, 213, 214, 216, 215, 217, 218, + 218, 219, 219, 221, 220, 222, 222, 223, 223, 225, + 224, 226, 226, 227, 227, 228, 230, 229, 232, 231, + 234, 233, 235, 235, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, + 236, 236, 236, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 249, 248, 250, 251, 252, + 253, 254, 255, 257, 256, 258, 258, 258, 258, 258, + 260, 259, 262, 261, 263, 264, 266, 265, 268, 267, + 269, 270, 271, 272, 274, 273, 275, 275, 276, 276, + 276, 276, 276, 276, 276, 278, 277, 280, 279, 282, + 281, 283, 283, 285, 284, 286, 286, 287, 289, 288, + 291, 290, 292, 292, 293, 295, 294, 297, 296, 299, + 298, 300, 300, 301, 301, 303, 302, 304, 304, 305, + 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, + 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, + 307, 306, 308, 308, 308, 308, 310, 309, 312, 311, + 314, 313, 315, 317, 316, 318, 319, 320, 321, 322, + 323, 324, 326, 325, 328, 327, 330, 329, 332, 331, + 333, 334, 335, 337, 336, 338, 338, 339, 339, 339, + 339, 339, 340, 341, 342, 343, 344, 346, 345, 347, + 347, 348, 348, 348, 348, 348, 348, 349, 350, 351, + 353, 352, 354, 354, 355, 355, 357, 356, 359, 358, + 360, 360, 360, 361, 361, 363, 362, 365, 364, 367, + 366, 368, 368, 369, 369, 369, 369, 369, 369, 370, + 371, 372, 373, 374, 375, 377, 376, 378, 378, 379, + 379, 381, 380, 383, 382, 384, 384, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 385, 385, 385, 385, 385, 385, 385, 385, 385, 385, + 385, 385, 387, 386, 389, 388, 391, 390, 393, 392, + 395, 394, 397, 396, 399, 398, 400, 401, 402, 404, + 403, 405, 405, 405, 405, 406, 408, 407, 409, 409, + 410, 410, 412, 411, 413, 413, 414, 414, 414, 414, + 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, + 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, + 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, + 414, 414, 414, 414, 414, 414, 416, 415, 418, 417, + 419, 419, 420, 420, 422, 421, 424, 423, 425, 425, + 426, 426, 427, 427, 427, 427, 427, 427, 427, 427, + 427, 427, 428, 429, 430, 432, 431, 434, 433, 436, + 435, 437, 439, 438, 440, 442, 441, 443, 443, 444, + 444, 446, 445, 448, 447, 449, 449, 450, 450, 451, + 451, 451, 451, 451, 451, 451, 451, 451, 452, 454, + 453, 455, 456, 457, 458, 460, 459, 461, 461, 462, + 462, 464, 463, 466, 465, 467, 467, 468, 468, 468, + 468, 468, 468, 468, 470, 469, 472, 471, 474, 473, + 476, 475, 477, 477, 478, 478, 480, 479, 482, 481, + 483, 483, 484, 484, 485, 485, 485, 485, 485, 485, + 485, 485, 485, 485, 485, 485, 485, 485, 485, 487, + 486, 489, 488, 491, 490, 493, 492, 495, 494, 497, + 496, 499, 498, 501, 500, 503, 502, 505, 504, 507, + 506, 509, 508, 511, 510, 512, 512, 514, 513, 515, + 515, 517, 516, 518, 518, 519, 519, 520, 520, 520, + 520, 520, 520, 520, 520, 520, 520, 520, 521, 523, + 522, 524, 525, 527, 526, 528, 528, 529, 529, 529, + 529, 529, 531, 530, 533, 532, 535, 534, 536, 536, + 537, 537, 537, 537, 537, 537, 538, 540, 539, 541, + 543, 542, 545, 544, 547, 546, 548, 548, 549, 549, + 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, + 549, 549, 549, 549, 549, 549, 550, 552, 551, 553, + 555, 554, 556, 557, 559, 558, 560, 560, 562, 561, + 564, 563, 565, 566, 568, 567, 570, 569, 572, 571, + 574, 573, 576, 575, 578, 577, 579, 579, 580, 580, + 582, 581, 583, 585, 584, 586, 586, 588, 587, 589, + 589, 590, 590, 590, 590, 590, 590, 590, 591, 593, + 592, 595, 594, 596, 596, 598, 597, 599, 599, 600, + 600, 600, 600, 600, 602, 601, 603, 604, 605, 607, + 606 }; const signed char @@ -5317,70 +5330,71 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 0, 4, 3, 3, 3, 3, - 3, 3, 0, 4, 1, 1, 1, 1, 1, 0, - 4, 0, 4, 3, 0, 4, 0, 4, 3, 3, - 3, 3, 0, 6, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 0, 4, 0, 4, 1, - 1, 0, 4, 1, 1, 3, 0, 6, 0, 6, - 1, 3, 1, 0, 4, 0, 6, 0, 6, 0, - 1, 1, 3, 0, 4, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 0, 4, 3, 3, 3, + 3, 3, 3, 0, 4, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 3, 3, 0, 4, 0, 4, + 3, 3, 3, 3, 0, 6, 1, 3, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 4, 1, 1, 0, 4, 1, 1, 3, 0, 6, + 0, 6, 1, 3, 1, 0, 4, 0, 6, 0, + 6, 0, 1, 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, - 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, - 3, 0, 4, 3, 3, 3, 3, 3, 3, 3, - 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, - 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 6, 1, 3, 1, - 1, 1, 1, 1, 1, 3, 3, 3, 0, 6, - 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, - 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 1, 1, 1, 1, 0, 4, 0, 4, + 0, 4, 3, 0, 4, 3, 3, 3, 3, 3, + 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, + 3, 3, 3, 0, 6, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 6, 1, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 0, 6, 0, 1, 1, 3, 0, - 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, + 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, + 1, 3, 1, 1, 1, 0, 4, 0, 4, 0, + 6, 1, 3, 1, 1, 1, 1, 1, 1, 3, + 3, 3, 3, 3, 3, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 3, 3, 3, 0, 4, 1, 1, - 1, 1, 3, 0, 6, 0, 1, 1, 3, 0, - 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 3, 3, 3, 0, + 4, 1, 1, 1, 1, 3, 0, 6, 0, 1, + 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 6, 0, 4, 0, 1, 1, 3, - 0, 4, 0, 4, 0, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 0, 4, 0, 4, 0, 4, 1, 0, 4, - 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, - 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 1, 1, 3, - 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, - 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 0, 4, 0, 6, 0, 1, - 1, 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, + 1, 1, 1, 1, 1, 1, 0, 6, 0, 4, + 0, 1, 1, 3, 0, 4, 0, 4, 0, 1, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 3, 1, 0, 4, 0, 4, 0, + 4, 1, 0, 4, 3, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 1, 1, 3, 3, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, + 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, + 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 6, 1, 1, 0, 6, 1, 3, 0, 4, 0, - 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 3, 3, 0, - 6, 1, 3, 1, 1, 1, 1, 1, 0, 4, - 0, 4, 0, 6, 1, 3, 1, 1, 1, 1, - 1, 1, 3, 0, 4, 3, 0, 4, 0, 6, - 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, + 4, 0, 4, 0, 6, 1, 1, 0, 6, 1, + 3, 0, 4, 0, 1, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 3, 3, 0, 6, 1, 3, 1, 1, 1, + 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, + 1, 1, 1, 1, 1, 1, 3, 0, 4, 3, + 0, 4, 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 0, 4, 3, 0, 4, 3, 3, - 0, 4, 1, 1, 0, 4, 0, 4, 3, 3, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 6, - 0, 4, 1, 3, 1, 1, 0, 6, 3, 0, - 6, 1, 3, 0, 4, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 0, 6, 1, - 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, - 0, 4, 3, 3, 3, 0, 4 + 1, 1, 1, 1, 1, 1, 3, 0, 4, 3, + 0, 4, 3, 3, 0, 4, 1, 1, 0, 4, + 0, 4, 3, 3, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 6, 0, 4, 1, 3, 1, 1, + 0, 6, 3, 0, 6, 1, 3, 0, 4, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 3, 0, + 4, 0, 6, 1, 3, 0, 4, 1, 3, 1, + 1, 1, 1, 1, 0, 4, 3, 3, 3, 0, + 4 }; @@ -5415,10 +5429,11 @@ namespace isc { namespace dhcp { "\"ddns-send-updates\"", "\"ddns-override-no-update\"", "\"ddns-override-client-update\"", "\"ddns-replace-client-name\"", "\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"", - "\"ddns-update-on-renew\"", "\"store-extended-info\"", "\"subnet4\"", - "\"4o6-interface\"", "\"4o6-interface-id\"", "\"4o6-subnet\"", - "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", - "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"", + "\"ddns-update-on-renew\"", "\"ddns-use-conflict-resolution\"", + "\"store-extended-info\"", "\"subnet4\"", "\"4o6-interface\"", + "\"4o6-interface-id\"", "\"4o6-subnet\"", "\"option-def\"", + "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", "\"space\"", + "\"csv-format\"", "\"always-send\"", "\"record-types\"", "\"encapsulate\"", "\"array\"", "\"shared-networks\"", "\"pools\"", "\"pool\"", "\"user-context\"", "\"comment\"", "\"subnet\"", "\"interface\"", "\"id\"", "\"reservation-mode\"", @@ -5468,22 +5483,22 @@ namespace isc { namespace dhcp { "ddns_override_client_update", "ddns_replace_client_name", "$@21", "ddns_replace_client_name_value", "ddns_generated_prefix", "$@22", "ddns_qualifying_suffix", "$@23", "ddns_update_on_renew", - "hostname_char_set", "$@24", "hostname_char_replacement", "$@25", - "store_extended_info", "statistic_default_sample_count", - "statistic_default_sample_age", "ip_reservations_unique", - "interfaces_config", "$@26", "interfaces_config_params", - "interfaces_config_param", "sub_interfaces4", "$@27", "interfaces_list", - "$@28", "dhcp_socket_type", "$@29", "socket_type", "outbound_interface", - "$@30", "outbound_interface_value", "re_detect", "lease_database", - "$@31", "sanity_checks", "$@32", "sanity_checks_params", - "sanity_checks_param", "lease_checks", "$@33", "hosts_database", "$@34", - "hosts_databases", "$@35", "database_list", "not_empty_database_list", - "database", "$@36", "database_map_params", "database_map_param", - "database_type", "$@37", "db_type", "user", "$@38", "password", "$@39", - "host", "$@40", "port", "name", "$@41", "persist", "lfc_interval", - "readonly", "connect_timeout", "request_timeout", "tcp_keepalive", - "tcp_nodelay", "contact_points", "$@42", "keyspace", "$@43", - "consistency", "$@44", "serial_consistency", "$@45", + "ddns_use_conflict_resolution", "hostname_char_set", "$@24", + "hostname_char_replacement", "$@25", "store_extended_info", + "statistic_default_sample_count", "statistic_default_sample_age", + "ip_reservations_unique", "interfaces_config", "$@26", + "interfaces_config_params", "interfaces_config_param", "sub_interfaces4", + "$@27", "interfaces_list", "$@28", "dhcp_socket_type", "$@29", + "socket_type", "outbound_interface", "$@30", "outbound_interface_value", + "re_detect", "lease_database", "$@31", "sanity_checks", "$@32", + "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@33", + "hosts_database", "$@34", "hosts_databases", "$@35", "database_list", + "not_empty_database_list", "database", "$@36", "database_map_params", + "database_map_param", "database_type", "$@37", "db_type", "user", "$@38", + "password", "$@39", "host", "$@40", "port", "name", "$@41", "persist", + "lfc_interval", "readonly", "connect_timeout", "request_timeout", + "tcp_keepalive", "tcp_nodelay", "contact_points", "$@42", "keyspace", + "$@43", "consistency", "$@44", "serial_consistency", "$@45", "max_reconnect_tries", "reconnect_wait_time", "max_row_errors", "host_reservation_identifiers", "$@46", "host_reservation_identifiers_list", "host_reservation_identifier", @@ -5562,82 +5577,83 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 284, 284, 284, 285, 285, 286, 286, 287, 287, - 288, 288, 289, 289, 290, 290, 291, 291, 292, 292, - 293, 293, 294, 294, 295, 295, 296, 296, 304, 305, - 306, 307, 308, 309, 310, 313, 318, 318, 329, 332, - 333, 336, 341, 349, 349, 356, 357, 360, 364, 371, - 371, 378, 379, 382, 386, 397, 406, 406, 421, 421, - 438, 438, 447, 448, 453, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 514, 520, 526, 532, 538, 544, 550, - 556, 562, 568, 574, 580, 580, 589, 595, 601, 607, - 613, 619, 625, 625, 634, 637, 640, 643, 646, 652, - 652, 661, 661, 670, 676, 676, 685, 685, 694, 700, - 706, 712, 718, 718, 730, 731, 734, 735, 736, 737, - 738, 739, 740, 743, 743, 752, 752, 763, 763, 771, - 772, 775, 775, 783, 785, 789, 796, 796, 809, 809, - 820, 821, 823, 825, 825, 844, 844, 857, 857, 868, - 869, 872, 873, 876, 876, 886, 887, 890, 891, 892, - 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, - 903, 904, 905, 906, 907, 908, 909, 910, 913, 913, - 921, 922, 923, 924, 927, 927, 936, 936, 945, 945, - 954, 960, 960, 969, 975, 981, 987, 993, 999, 1005, - 1011, 1011, 1020, 1020, 1029, 1029, 1038, 1038, 1047, 1053, - 1059, 1066, 1066, 1077, 1078, 1081, 1082, 1083, 1084, 1085, - 1088, 1093, 1098, 1103, 1108, 1115, 1115, 1128, 1129, 1132, - 1133, 1134, 1135, 1136, 1137, 1140, 1146, 1152, 1158, 1158, - 1169, 1170, 1173, 1174, 1177, 1177, 1187, 1187, 1197, 1198, - 1199, 1202, 1203, 1206, 1206, 1215, 1215, 1224, 1224, 1236, - 1237, 1240, 1241, 1242, 1243, 1244, 1245, 1248, 1254, 1260, - 1266, 1272, 1278, 1287, 1287, 1301, 1302, 1305, 1306, 1313, - 1313, 1339, 1339, 1350, 1351, 1355, 1356, 1357, 1358, 1359, - 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, - 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, - 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, - 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1401, - 1401, 1410, 1410, 1419, 1419, 1428, 1428, 1437, 1437, 1446, - 1446, 1455, 1455, 1466, 1472, 1478, 1484, 1484, 1492, 1493, - 1494, 1495, 1498, 1506, 1506, 1518, 1519, 1523, 1524, 1527, - 1527, 1535, 1536, 1539, 1540, 1541, 1542, 1543, 1544, 1545, - 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, - 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, - 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, - 1576, 1577, 1584, 1584, 1598, 1598, 1607, 1608, 1611, 1612, - 1617, 1617, 1632, 1632, 1646, 1647, 1650, 1651, 1654, 1655, - 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1666, 1668, - 1674, 1676, 1676, 1685, 1685, 1694, 1694, 1703, 1705, 1705, - 1714, 1724, 1724, 1737, 1738, 1743, 1744, 1749, 1749, 1761, - 1761, 1773, 1774, 1779, 1780, 1785, 1786, 1787, 1788, 1789, - 1790, 1791, 1792, 1793, 1796, 1798, 1798, 1807, 1809, 1811, - 1817, 1826, 1826, 1839, 1840, 1843, 1844, 1847, 1847, 1857, - 1857, 1867, 1868, 1871, 1872, 1873, 1874, 1875, 1876, 1877, - 1880, 1880, 1889, 1889, 1914, 1914, 1944, 1944, 1955, 1956, - 1959, 1960, 1963, 1963, 1972, 1972, 1981, 1982, 1985, 1986, - 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2007, 2007, 2016, 2016, 2025, - 2025, 2034, 2034, 2043, 2043, 2054, 2054, 2063, 2063, 2072, - 2072, 2081, 2081, 2090, 2090, 2099, 2099, 2108, 2108, 2122, - 2122, 2133, 2134, 2140, 2140, 2151, 2152, 2155, 2155, 2165, - 2166, 2169, 2170, 2173, 2174, 2175, 2176, 2177, 2178, 2179, - 2180, 2181, 2182, 2183, 2186, 2188, 2188, 2197, 2205, 2213, - 2213, 2224, 2225, 2228, 2229, 2230, 2231, 2232, 2235, 2235, - 2244, 2244, 2256, 2256, 2269, 2270, 2273, 2274, 2275, 2276, - 2277, 2278, 2281, 2287, 2287, 2296, 2302, 2302, 2312, 2312, - 2325, 2325, 2335, 2336, 2339, 2340, 2341, 2342, 2343, 2344, - 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354, - 2355, 2356, 2359, 2365, 2365, 2374, 2380, 2380, 2389, 2395, - 2401, 2401, 2410, 2411, 2414, 2414, 2424, 2424, 2434, 2441, - 2448, 2448, 2457, 2457, 2467, 2467, 2477, 2477, 2489, 2489, - 2501, 2501, 2511, 2512, 2516, 2517, 2520, 2520, 2531, 2539, - 2539, 2552, 2553, 2557, 2557, 2565, 2566, 2569, 2570, 2571, - 2572, 2573, 2574, 2575, 2578, 2584, 2584, 2593, 2593, 2604, - 2605, 2608, 2608, 2616, 2617, 2620, 2621, 2622, 2623, 2624, - 2627, 2627, 2636, 2642, 2648, 2654, 2654 + 0, 285, 285, 285, 286, 286, 287, 287, 288, 288, + 289, 289, 290, 290, 291, 291, 292, 292, 293, 293, + 294, 294, 295, 295, 296, 296, 297, 297, 305, 306, + 307, 308, 309, 310, 311, 314, 319, 319, 330, 333, + 334, 337, 342, 350, 350, 357, 358, 361, 365, 372, + 372, 379, 380, 383, 387, 398, 407, 407, 422, 422, + 439, 439, 448, 449, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, + 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 516, 522, 528, 534, 540, 546, + 552, 558, 564, 570, 576, 582, 582, 591, 597, 603, + 609, 615, 621, 627, 627, 636, 639, 642, 645, 648, + 654, 654, 663, 663, 672, 678, 684, 684, 693, 693, + 702, 708, 714, 720, 726, 726, 738, 739, 742, 743, + 744, 745, 746, 747, 748, 751, 751, 760, 760, 771, + 771, 779, 780, 783, 783, 791, 793, 797, 804, 804, + 817, 817, 828, 829, 831, 833, 833, 852, 852, 865, + 865, 876, 877, 880, 881, 884, 884, 894, 895, 898, + 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, + 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, + 921, 921, 929, 930, 931, 932, 935, 935, 944, 944, + 953, 953, 962, 968, 968, 977, 983, 989, 995, 1001, + 1007, 1013, 1019, 1019, 1028, 1028, 1037, 1037, 1046, 1046, + 1055, 1061, 1067, 1074, 1074, 1085, 1086, 1089, 1090, 1091, + 1092, 1093, 1096, 1101, 1106, 1111, 1116, 1123, 1123, 1136, + 1137, 1140, 1141, 1142, 1143, 1144, 1145, 1148, 1154, 1160, + 1166, 1166, 1177, 1178, 1181, 1182, 1185, 1185, 1195, 1195, + 1205, 1206, 1207, 1210, 1211, 1214, 1214, 1223, 1223, 1232, + 1232, 1244, 1245, 1248, 1249, 1250, 1251, 1252, 1253, 1256, + 1262, 1268, 1274, 1280, 1286, 1295, 1295, 1309, 1310, 1313, + 1314, 1321, 1321, 1347, 1347, 1358, 1359, 1363, 1364, 1365, + 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, + 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, + 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, + 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, + 1406, 1407, 1410, 1410, 1419, 1419, 1428, 1428, 1437, 1437, + 1446, 1446, 1455, 1455, 1464, 1464, 1475, 1481, 1487, 1493, + 1493, 1501, 1502, 1503, 1504, 1507, 1515, 1515, 1527, 1528, + 1532, 1533, 1536, 1536, 1544, 1545, 1548, 1549, 1550, 1551, + 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, + 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, + 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, + 1582, 1583, 1584, 1585, 1586, 1587, 1594, 1594, 1608, 1608, + 1617, 1618, 1621, 1622, 1627, 1627, 1642, 1642, 1656, 1657, + 1660, 1661, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, + 1672, 1673, 1676, 1678, 1684, 1686, 1686, 1695, 1695, 1704, + 1704, 1713, 1715, 1715, 1724, 1734, 1734, 1747, 1748, 1753, + 1754, 1759, 1759, 1771, 1771, 1783, 1784, 1789, 1790, 1795, + 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1806, 1808, + 1808, 1817, 1819, 1821, 1827, 1836, 1836, 1849, 1850, 1853, + 1854, 1857, 1857, 1867, 1867, 1877, 1878, 1881, 1882, 1883, + 1884, 1885, 1886, 1887, 1890, 1890, 1899, 1899, 1924, 1924, + 1954, 1954, 1965, 1966, 1969, 1970, 1973, 1973, 1982, 1982, + 1991, 1992, 1995, 1996, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2017, + 2017, 2026, 2026, 2035, 2035, 2044, 2044, 2053, 2053, 2064, + 2064, 2073, 2073, 2082, 2082, 2091, 2091, 2100, 2100, 2109, + 2109, 2118, 2118, 2132, 2132, 2143, 2144, 2150, 2150, 2161, + 2162, 2165, 2165, 2175, 2176, 2179, 2180, 2183, 2184, 2185, + 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2196, 2198, + 2198, 2207, 2215, 2223, 2223, 2234, 2235, 2238, 2239, 2240, + 2241, 2242, 2245, 2245, 2254, 2254, 2266, 2266, 2279, 2280, + 2283, 2284, 2285, 2286, 2287, 2288, 2291, 2297, 2297, 2306, + 2312, 2312, 2322, 2322, 2335, 2335, 2345, 2346, 2349, 2350, + 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, + 2361, 2362, 2363, 2364, 2365, 2366, 2369, 2375, 2375, 2384, + 2390, 2390, 2399, 2405, 2411, 2411, 2420, 2421, 2424, 2424, + 2434, 2434, 2444, 2451, 2458, 2458, 2467, 2467, 2477, 2477, + 2487, 2487, 2499, 2499, 2511, 2511, 2521, 2522, 2526, 2527, + 2530, 2530, 2541, 2549, 2549, 2562, 2563, 2567, 2567, 2575, + 2576, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2588, 2594, + 2594, 2603, 2603, 2614, 2615, 2618, 2618, 2626, 2627, 2630, + 2631, 2632, 2633, 2634, 2637, 2637, 2646, 2652, 2658, 2664, + 2664 }; void @@ -5670,9 +5686,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5674 "dhcp4_parser.cc" +#line 5690 "dhcp4_parser.cc" -#line 2663 "dhcp4_parser.yy" +#line 2673 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index f91ed90822..10ec46a238 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Skeleton interface for Bison LALR(1) parsers in C++ @@ -561,125 +561,126 @@ namespace isc { namespace dhcp { TOKEN_DDNS_GENERATED_PREFIX = 330, // "ddns-generated-prefix" TOKEN_DDNS_QUALIFYING_SUFFIX = 331, // "ddns-qualifying-suffix" TOKEN_DDNS_UPDATE_ON_RENEW = 332, // "ddns-update-on-renew" - TOKEN_STORE_EXTENDED_INFO = 333, // "store-extended-info" - TOKEN_SUBNET4 = 334, // "subnet4" - TOKEN_SUBNET_4O6_INTERFACE = 335, // "4o6-interface" - TOKEN_SUBNET_4O6_INTERFACE_ID = 336, // "4o6-interface-id" - TOKEN_SUBNET_4O6_SUBNET = 337, // "4o6-subnet" - TOKEN_OPTION_DEF = 338, // "option-def" - TOKEN_OPTION_DATA = 339, // "option-data" - TOKEN_NAME = 340, // "name" - TOKEN_DATA = 341, // "data" - TOKEN_CODE = 342, // "code" - TOKEN_SPACE = 343, // "space" - TOKEN_CSV_FORMAT = 344, // "csv-format" - TOKEN_ALWAYS_SEND = 345, // "always-send" - TOKEN_RECORD_TYPES = 346, // "record-types" - TOKEN_ENCAPSULATE = 347, // "encapsulate" - TOKEN_ARRAY = 348, // "array" - TOKEN_SHARED_NETWORKS = 349, // "shared-networks" - TOKEN_POOLS = 350, // "pools" - TOKEN_POOL = 351, // "pool" - TOKEN_USER_CONTEXT = 352, // "user-context" - TOKEN_COMMENT = 353, // "comment" - TOKEN_SUBNET = 354, // "subnet" - TOKEN_INTERFACE = 355, // "interface" - TOKEN_ID = 356, // "id" - TOKEN_RESERVATION_MODE = 357, // "reservation-mode" - TOKEN_RESERVATIONS_OUT_OF_POOL = 358, // "reservations-out-of-pool" - TOKEN_RESERVATIONS_IN_SUBNET = 359, // "reservations-in-subnet" - TOKEN_RESERVATIONS_GLOBAL = 360, // "reservations-global" - TOKEN_DISABLED = 361, // "disabled" - TOKEN_OUT_OF_POOL = 362, // "out-of-pool" - TOKEN_GLOBAL = 363, // "global" - TOKEN_ALL = 364, // "all" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 365, // "host-reservation-identifiers" - TOKEN_CLIENT_CLASSES = 366, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 367, // "require-client-classes" - TOKEN_TEST = 368, // "test" - TOKEN_ONLY_IF_REQUIRED = 369, // "only-if-required" - TOKEN_CLIENT_CLASS = 370, // "client-class" - TOKEN_RESERVATIONS = 371, // "reservations" - TOKEN_DUID = 372, // "duid" - TOKEN_HW_ADDRESS = 373, // "hw-address" - TOKEN_CIRCUIT_ID = 374, // "circuit-id" - TOKEN_CLIENT_ID = 375, // "client-id" - TOKEN_HOSTNAME = 376, // "hostname" - TOKEN_FLEX_ID = 377, // "flex-id" - TOKEN_RELAY = 378, // "relay" - TOKEN_IP_ADDRESS = 379, // "ip-address" - TOKEN_IP_ADDRESSES = 380, // "ip-addresses" - TOKEN_HOOKS_LIBRARIES = 381, // "hooks-libraries" - TOKEN_LIBRARY = 382, // "library" - TOKEN_PARAMETERS = 383, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 384, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 385, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 386, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 387, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 388, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 389, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 390, // "unwarned-reclaim-cycles" - TOKEN_DHCP4O6_PORT = 391, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 392, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 393, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 394, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 395, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 396, // "control-socket" - TOKEN_SOCKET_TYPE = 397, // "socket-type" - TOKEN_SOCKET_NAME = 398, // "socket-name" - TOKEN_DHCP_QUEUE_CONTROL = 399, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 400, // "enable-queue" - TOKEN_QUEUE_TYPE = 401, // "queue-type" - TOKEN_CAPACITY = 402, // "capacity" - TOKEN_DHCP_DDNS = 403, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 404, // "enable-updates" - TOKEN_QUALIFYING_SUFFIX = 405, // "qualifying-suffix" - TOKEN_SERVER_IP = 406, // "server-ip" - TOKEN_SERVER_PORT = 407, // "server-port" - TOKEN_SENDER_IP = 408, // "sender-ip" - TOKEN_SENDER_PORT = 409, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 410, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 411, // "ncr-protocol" - TOKEN_NCR_FORMAT = 412, // "ncr-format" - TOKEN_OVERRIDE_NO_UPDATE = 413, // "override-no-update" - TOKEN_OVERRIDE_CLIENT_UPDATE = 414, // "override-client-update" - TOKEN_REPLACE_CLIENT_NAME = 415, // "replace-client-name" - TOKEN_GENERATED_PREFIX = 416, // "generated-prefix" - TOKEN_TCP = 417, // "tcp" - TOKEN_JSON = 418, // "JSON" - TOKEN_WHEN_PRESENT = 419, // "when-present" - TOKEN_NEVER = 420, // "never" - TOKEN_ALWAYS = 421, // "always" - TOKEN_WHEN_NOT_PRESENT = 422, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 423, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 424, // "hostname-char-replacement" - TOKEN_IP_RESERVATIONS_UNIQUE = 425, // "ip-reservations-unique" - TOKEN_LOGGERS = 426, // "loggers" - TOKEN_OUTPUT_OPTIONS = 427, // "output_options" - TOKEN_OUTPUT = 428, // "output" - TOKEN_DEBUGLEVEL = 429, // "debuglevel" - TOKEN_SEVERITY = 430, // "severity" - TOKEN_FLUSH = 431, // "flush" - TOKEN_MAXSIZE = 432, // "maxsize" - TOKEN_MAXVER = 433, // "maxver" - TOKEN_PATTERN = 434, // "pattern" - TOKEN_TOPLEVEL_JSON = 435, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 436, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 437, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 438, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 439, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 440, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 441, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 442, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 443, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 444, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 445, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 446, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 447, // SUB_CONFIG_CONTROL - TOKEN_STRING = 448, // "constant string" - TOKEN_INTEGER = 449, // "integer" - TOKEN_FLOAT = 450, // "floating point" - TOKEN_BOOLEAN = 451 // "boolean" + TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 333, // "ddns-use-conflict-resolution" + TOKEN_STORE_EXTENDED_INFO = 334, // "store-extended-info" + TOKEN_SUBNET4 = 335, // "subnet4" + TOKEN_SUBNET_4O6_INTERFACE = 336, // "4o6-interface" + TOKEN_SUBNET_4O6_INTERFACE_ID = 337, // "4o6-interface-id" + TOKEN_SUBNET_4O6_SUBNET = 338, // "4o6-subnet" + TOKEN_OPTION_DEF = 339, // "option-def" + TOKEN_OPTION_DATA = 340, // "option-data" + TOKEN_NAME = 341, // "name" + TOKEN_DATA = 342, // "data" + TOKEN_CODE = 343, // "code" + TOKEN_SPACE = 344, // "space" + TOKEN_CSV_FORMAT = 345, // "csv-format" + TOKEN_ALWAYS_SEND = 346, // "always-send" + TOKEN_RECORD_TYPES = 347, // "record-types" + TOKEN_ENCAPSULATE = 348, // "encapsulate" + TOKEN_ARRAY = 349, // "array" + TOKEN_SHARED_NETWORKS = 350, // "shared-networks" + TOKEN_POOLS = 351, // "pools" + TOKEN_POOL = 352, // "pool" + TOKEN_USER_CONTEXT = 353, // "user-context" + TOKEN_COMMENT = 354, // "comment" + TOKEN_SUBNET = 355, // "subnet" + TOKEN_INTERFACE = 356, // "interface" + TOKEN_ID = 357, // "id" + TOKEN_RESERVATION_MODE = 358, // "reservation-mode" + TOKEN_RESERVATIONS_OUT_OF_POOL = 359, // "reservations-out-of-pool" + TOKEN_RESERVATIONS_IN_SUBNET = 360, // "reservations-in-subnet" + TOKEN_RESERVATIONS_GLOBAL = 361, // "reservations-global" + TOKEN_DISABLED = 362, // "disabled" + TOKEN_OUT_OF_POOL = 363, // "out-of-pool" + TOKEN_GLOBAL = 364, // "global" + TOKEN_ALL = 365, // "all" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 366, // "host-reservation-identifiers" + TOKEN_CLIENT_CLASSES = 367, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 368, // "require-client-classes" + TOKEN_TEST = 369, // "test" + TOKEN_ONLY_IF_REQUIRED = 370, // "only-if-required" + TOKEN_CLIENT_CLASS = 371, // "client-class" + TOKEN_RESERVATIONS = 372, // "reservations" + TOKEN_DUID = 373, // "duid" + TOKEN_HW_ADDRESS = 374, // "hw-address" + TOKEN_CIRCUIT_ID = 375, // "circuit-id" + TOKEN_CLIENT_ID = 376, // "client-id" + TOKEN_HOSTNAME = 377, // "hostname" + TOKEN_FLEX_ID = 378, // "flex-id" + TOKEN_RELAY = 379, // "relay" + TOKEN_IP_ADDRESS = 380, // "ip-address" + TOKEN_IP_ADDRESSES = 381, // "ip-addresses" + TOKEN_HOOKS_LIBRARIES = 382, // "hooks-libraries" + TOKEN_LIBRARY = 383, // "library" + TOKEN_PARAMETERS = 384, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 385, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 386, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 387, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 388, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 389, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 390, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 391, // "unwarned-reclaim-cycles" + TOKEN_DHCP4O6_PORT = 392, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 393, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 394, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 395, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 396, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 397, // "control-socket" + TOKEN_SOCKET_TYPE = 398, // "socket-type" + TOKEN_SOCKET_NAME = 399, // "socket-name" + TOKEN_DHCP_QUEUE_CONTROL = 400, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 401, // "enable-queue" + TOKEN_QUEUE_TYPE = 402, // "queue-type" + TOKEN_CAPACITY = 403, // "capacity" + TOKEN_DHCP_DDNS = 404, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 405, // "enable-updates" + TOKEN_QUALIFYING_SUFFIX = 406, // "qualifying-suffix" + TOKEN_SERVER_IP = 407, // "server-ip" + TOKEN_SERVER_PORT = 408, // "server-port" + TOKEN_SENDER_IP = 409, // "sender-ip" + TOKEN_SENDER_PORT = 410, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 411, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 412, // "ncr-protocol" + TOKEN_NCR_FORMAT = 413, // "ncr-format" + TOKEN_OVERRIDE_NO_UPDATE = 414, // "override-no-update" + TOKEN_OVERRIDE_CLIENT_UPDATE = 415, // "override-client-update" + TOKEN_REPLACE_CLIENT_NAME = 416, // "replace-client-name" + TOKEN_GENERATED_PREFIX = 417, // "generated-prefix" + TOKEN_TCP = 418, // "tcp" + TOKEN_JSON = 419, // "JSON" + TOKEN_WHEN_PRESENT = 420, // "when-present" + TOKEN_NEVER = 421, // "never" + TOKEN_ALWAYS = 422, // "always" + TOKEN_WHEN_NOT_PRESENT = 423, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 424, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 425, // "hostname-char-replacement" + TOKEN_IP_RESERVATIONS_UNIQUE = 426, // "ip-reservations-unique" + TOKEN_LOGGERS = 427, // "loggers" + TOKEN_OUTPUT_OPTIONS = 428, // "output_options" + TOKEN_OUTPUT = 429, // "output" + TOKEN_DEBUGLEVEL = 430, // "debuglevel" + TOKEN_SEVERITY = 431, // "severity" + TOKEN_FLUSH = 432, // "flush" + TOKEN_MAXSIZE = 433, // "maxsize" + TOKEN_MAXVER = 434, // "maxver" + TOKEN_PATTERN = 435, // "pattern" + TOKEN_TOPLEVEL_JSON = 436, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 437, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 438, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 439, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 440, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 441, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 442, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 443, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 444, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 445, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 446, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 447, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 448, // SUB_CONFIG_CONTROL + TOKEN_STRING = 449, // "constant string" + TOKEN_INTEGER = 450, // "integer" + TOKEN_FLOAT = 451, // "floating point" + TOKEN_BOOLEAN = 452 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -696,7 +697,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 197, ///< Number of tokens. + YYNTOKENS = 198, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -776,534 +777,536 @@ namespace isc { namespace dhcp { S_DDNS_GENERATED_PREFIX = 75, // "ddns-generated-prefix" S_DDNS_QUALIFYING_SUFFIX = 76, // "ddns-qualifying-suffix" S_DDNS_UPDATE_ON_RENEW = 77, // "ddns-update-on-renew" - S_STORE_EXTENDED_INFO = 78, // "store-extended-info" - S_SUBNET4 = 79, // "subnet4" - S_SUBNET_4O6_INTERFACE = 80, // "4o6-interface" - S_SUBNET_4O6_INTERFACE_ID = 81, // "4o6-interface-id" - S_SUBNET_4O6_SUBNET = 82, // "4o6-subnet" - S_OPTION_DEF = 83, // "option-def" - S_OPTION_DATA = 84, // "option-data" - S_NAME = 85, // "name" - S_DATA = 86, // "data" - S_CODE = 87, // "code" - S_SPACE = 88, // "space" - S_CSV_FORMAT = 89, // "csv-format" - S_ALWAYS_SEND = 90, // "always-send" - S_RECORD_TYPES = 91, // "record-types" - S_ENCAPSULATE = 92, // "encapsulate" - S_ARRAY = 93, // "array" - S_SHARED_NETWORKS = 94, // "shared-networks" - S_POOLS = 95, // "pools" - S_POOL = 96, // "pool" - S_USER_CONTEXT = 97, // "user-context" - S_COMMENT = 98, // "comment" - S_SUBNET = 99, // "subnet" - S_INTERFACE = 100, // "interface" - S_ID = 101, // "id" - S_RESERVATION_MODE = 102, // "reservation-mode" - S_RESERVATIONS_OUT_OF_POOL = 103, // "reservations-out-of-pool" - S_RESERVATIONS_IN_SUBNET = 104, // "reservations-in-subnet" - S_RESERVATIONS_GLOBAL = 105, // "reservations-global" - S_DISABLED = 106, // "disabled" - S_OUT_OF_POOL = 107, // "out-of-pool" - S_GLOBAL = 108, // "global" - S_ALL = 109, // "all" - S_HOST_RESERVATION_IDENTIFIERS = 110, // "host-reservation-identifiers" - S_CLIENT_CLASSES = 111, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 112, // "require-client-classes" - S_TEST = 113, // "test" - S_ONLY_IF_REQUIRED = 114, // "only-if-required" - S_CLIENT_CLASS = 115, // "client-class" - S_RESERVATIONS = 116, // "reservations" - S_DUID = 117, // "duid" - S_HW_ADDRESS = 118, // "hw-address" - S_CIRCUIT_ID = 119, // "circuit-id" - S_CLIENT_ID = 120, // "client-id" - S_HOSTNAME = 121, // "hostname" - S_FLEX_ID = 122, // "flex-id" - S_RELAY = 123, // "relay" - S_IP_ADDRESS = 124, // "ip-address" - S_IP_ADDRESSES = 125, // "ip-addresses" - S_HOOKS_LIBRARIES = 126, // "hooks-libraries" - S_LIBRARY = 127, // "library" - S_PARAMETERS = 128, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 129, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 130, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 131, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 132, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 133, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 134, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 135, // "unwarned-reclaim-cycles" - S_DHCP4O6_PORT = 136, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 137, // "multi-threading" - S_ENABLE_MULTI_THREADING = 138, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 139, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 140, // "packet-queue-size" - S_CONTROL_SOCKET = 141, // "control-socket" - S_SOCKET_TYPE = 142, // "socket-type" - S_SOCKET_NAME = 143, // "socket-name" - S_DHCP_QUEUE_CONTROL = 144, // "dhcp-queue-control" - S_ENABLE_QUEUE = 145, // "enable-queue" - S_QUEUE_TYPE = 146, // "queue-type" - S_CAPACITY = 147, // "capacity" - S_DHCP_DDNS = 148, // "dhcp-ddns" - S_ENABLE_UPDATES = 149, // "enable-updates" - S_QUALIFYING_SUFFIX = 150, // "qualifying-suffix" - S_SERVER_IP = 151, // "server-ip" - S_SERVER_PORT = 152, // "server-port" - S_SENDER_IP = 153, // "sender-ip" - S_SENDER_PORT = 154, // "sender-port" - S_MAX_QUEUE_SIZE = 155, // "max-queue-size" - S_NCR_PROTOCOL = 156, // "ncr-protocol" - S_NCR_FORMAT = 157, // "ncr-format" - S_OVERRIDE_NO_UPDATE = 158, // "override-no-update" - S_OVERRIDE_CLIENT_UPDATE = 159, // "override-client-update" - S_REPLACE_CLIENT_NAME = 160, // "replace-client-name" - S_GENERATED_PREFIX = 161, // "generated-prefix" - S_TCP = 162, // "tcp" - S_JSON = 163, // "JSON" - S_WHEN_PRESENT = 164, // "when-present" - S_NEVER = 165, // "never" - S_ALWAYS = 166, // "always" - S_WHEN_NOT_PRESENT = 167, // "when-not-present" - S_HOSTNAME_CHAR_SET = 168, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 169, // "hostname-char-replacement" - S_IP_RESERVATIONS_UNIQUE = 170, // "ip-reservations-unique" - S_LOGGERS = 171, // "loggers" - S_OUTPUT_OPTIONS = 172, // "output_options" - S_OUTPUT = 173, // "output" - S_DEBUGLEVEL = 174, // "debuglevel" - S_SEVERITY = 175, // "severity" - S_FLUSH = 176, // "flush" - S_MAXSIZE = 177, // "maxsize" - S_MAXVER = 178, // "maxver" - S_PATTERN = 179, // "pattern" - S_TOPLEVEL_JSON = 180, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 181, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 182, // SUB_DHCP4 - S_SUB_INTERFACES4 = 183, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 184, // SUB_SUBNET4 - S_SUB_POOL4 = 185, // SUB_POOL4 - S_SUB_RESERVATION = 186, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 187, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 188, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 189, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 190, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 191, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 192, // SUB_CONFIG_CONTROL - S_STRING = 193, // "constant string" - S_INTEGER = 194, // "integer" - S_FLOAT = 195, // "floating point" - S_BOOLEAN = 196, // "boolean" - S_YYACCEPT = 197, // $accept - S_start = 198, // start - S_199_1 = 199, // $@1 - S_200_2 = 200, // $@2 - S_201_3 = 201, // $@3 - S_202_4 = 202, // $@4 - S_203_5 = 203, // $@5 - S_204_6 = 204, // $@6 - S_205_7 = 205, // $@7 - S_206_8 = 206, // $@8 - S_207_9 = 207, // $@9 - S_208_10 = 208, // $@10 - S_209_11 = 209, // $@11 - S_210_12 = 210, // $@12 - S_211_13 = 211, // $@13 - S_value = 212, // value - S_sub_json = 213, // sub_json - S_map2 = 214, // map2 - S_215_14 = 215, // $@14 - S_map_value = 216, // map_value - S_map_content = 217, // map_content - S_not_empty_map = 218, // not_empty_map - S_list_generic = 219, // list_generic - S_220_15 = 220, // $@15 - S_list_content = 221, // list_content - S_not_empty_list = 222, // not_empty_list - S_list_strings = 223, // list_strings - S_224_16 = 224, // $@16 - S_list_strings_content = 225, // list_strings_content - S_not_empty_list_strings = 226, // not_empty_list_strings - S_unknown_map_entry = 227, // unknown_map_entry - S_syntax_map = 228, // syntax_map - S_229_17 = 229, // $@17 - S_global_object = 230, // global_object - S_231_18 = 231, // $@18 - S_sub_dhcp4 = 232, // sub_dhcp4 - S_233_19 = 233, // $@19 - S_global_params = 234, // global_params - S_global_param = 235, // global_param - S_valid_lifetime = 236, // valid_lifetime - S_min_valid_lifetime = 237, // min_valid_lifetime - S_max_valid_lifetime = 238, // max_valid_lifetime - S_renew_timer = 239, // renew_timer - S_rebind_timer = 240, // rebind_timer - S_calculate_tee_times = 241, // calculate_tee_times - S_t1_percent = 242, // t1_percent - S_t2_percent = 243, // t2_percent - S_cache_threshold = 244, // cache_threshold - S_cache_max_age = 245, // cache_max_age - S_decline_probation_period = 246, // decline_probation_period - S_server_tag = 247, // server_tag - S_248_20 = 248, // $@20 - S_echo_client_id = 249, // echo_client_id - S_match_client_id = 250, // match_client_id - S_authoritative = 251, // authoritative - S_ddns_send_updates = 252, // ddns_send_updates - S_ddns_override_no_update = 253, // ddns_override_no_update - S_ddns_override_client_update = 254, // ddns_override_client_update - S_ddns_replace_client_name = 255, // ddns_replace_client_name - S_256_21 = 256, // $@21 - S_ddns_replace_client_name_value = 257, // ddns_replace_client_name_value - S_ddns_generated_prefix = 258, // ddns_generated_prefix - S_259_22 = 259, // $@22 - S_ddns_qualifying_suffix = 260, // ddns_qualifying_suffix - S_261_23 = 261, // $@23 - S_ddns_update_on_renew = 262, // ddns_update_on_renew - S_hostname_char_set = 263, // hostname_char_set - S_264_24 = 264, // $@24 - S_hostname_char_replacement = 265, // hostname_char_replacement - S_266_25 = 266, // $@25 - S_store_extended_info = 267, // store_extended_info - S_statistic_default_sample_count = 268, // statistic_default_sample_count - S_statistic_default_sample_age = 269, // statistic_default_sample_age - S_ip_reservations_unique = 270, // ip_reservations_unique - S_interfaces_config = 271, // interfaces_config - S_272_26 = 272, // $@26 - S_interfaces_config_params = 273, // interfaces_config_params - S_interfaces_config_param = 274, // interfaces_config_param - S_sub_interfaces4 = 275, // sub_interfaces4 - S_276_27 = 276, // $@27 - S_interfaces_list = 277, // interfaces_list - S_278_28 = 278, // $@28 - S_dhcp_socket_type = 279, // dhcp_socket_type - S_280_29 = 280, // $@29 - S_socket_type = 281, // socket_type - S_outbound_interface = 282, // outbound_interface - S_283_30 = 283, // $@30 - S_outbound_interface_value = 284, // outbound_interface_value - S_re_detect = 285, // re_detect - S_lease_database = 286, // lease_database - S_287_31 = 287, // $@31 - S_sanity_checks = 288, // sanity_checks - S_289_32 = 289, // $@32 - S_sanity_checks_params = 290, // sanity_checks_params - S_sanity_checks_param = 291, // sanity_checks_param - S_lease_checks = 292, // lease_checks - S_293_33 = 293, // $@33 - S_hosts_database = 294, // hosts_database - S_295_34 = 295, // $@34 - S_hosts_databases = 296, // hosts_databases - S_297_35 = 297, // $@35 - S_database_list = 298, // database_list - S_not_empty_database_list = 299, // not_empty_database_list - S_database = 300, // database - S_301_36 = 301, // $@36 - S_database_map_params = 302, // database_map_params - S_database_map_param = 303, // database_map_param - S_database_type = 304, // database_type - S_305_37 = 305, // $@37 - S_db_type = 306, // db_type - S_user = 307, // user - S_308_38 = 308, // $@38 - S_password = 309, // password - S_310_39 = 310, // $@39 - S_host = 311, // host - S_312_40 = 312, // $@40 - S_port = 313, // port - S_name = 314, // name - S_315_41 = 315, // $@41 - S_persist = 316, // persist - S_lfc_interval = 317, // lfc_interval - S_readonly = 318, // readonly - S_connect_timeout = 319, // connect_timeout - S_request_timeout = 320, // request_timeout - S_tcp_keepalive = 321, // tcp_keepalive - S_tcp_nodelay = 322, // tcp_nodelay - S_contact_points = 323, // contact_points - S_324_42 = 324, // $@42 - S_keyspace = 325, // keyspace - S_326_43 = 326, // $@43 - S_consistency = 327, // consistency - S_328_44 = 328, // $@44 - S_serial_consistency = 329, // serial_consistency - S_330_45 = 330, // $@45 - S_max_reconnect_tries = 331, // max_reconnect_tries - S_reconnect_wait_time = 332, // reconnect_wait_time - S_max_row_errors = 333, // max_row_errors - S_host_reservation_identifiers = 334, // host_reservation_identifiers - S_335_46 = 335, // $@46 - S_host_reservation_identifiers_list = 336, // host_reservation_identifiers_list - S_host_reservation_identifier = 337, // host_reservation_identifier - S_duid_id = 338, // duid_id - S_hw_address_id = 339, // hw_address_id - S_circuit_id = 340, // circuit_id - S_client_id = 341, // client_id - S_flex_id = 342, // flex_id - S_dhcp_multi_threading = 343, // dhcp_multi_threading - S_344_47 = 344, // $@47 - S_multi_threading_params = 345, // multi_threading_params - S_multi_threading_param = 346, // multi_threading_param - S_enable_multi_threading = 347, // enable_multi_threading - S_thread_pool_size = 348, // thread_pool_size - S_packet_queue_size = 349, // packet_queue_size - S_hooks_libraries = 350, // hooks_libraries - S_351_48 = 351, // $@48 - S_hooks_libraries_list = 352, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 353, // not_empty_hooks_libraries_list - S_hooks_library = 354, // hooks_library - S_355_49 = 355, // $@49 - S_sub_hooks_library = 356, // sub_hooks_library - S_357_50 = 357, // $@50 - S_hooks_params = 358, // hooks_params - S_hooks_param = 359, // hooks_param - S_library = 360, // library - S_361_51 = 361, // $@51 - S_parameters = 362, // parameters - S_363_52 = 363, // $@52 - S_expired_leases_processing = 364, // expired_leases_processing - S_365_53 = 365, // $@53 - S_expired_leases_params = 366, // expired_leases_params - S_expired_leases_param = 367, // expired_leases_param - S_reclaim_timer_wait_time = 368, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 369, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 370, // hold_reclaimed_time - S_max_reclaim_leases = 371, // max_reclaim_leases - S_max_reclaim_time = 372, // max_reclaim_time - S_unwarned_reclaim_cycles = 373, // unwarned_reclaim_cycles - S_subnet4_list = 374, // subnet4_list - S_375_54 = 375, // $@54 - S_subnet4_list_content = 376, // subnet4_list_content - S_not_empty_subnet4_list = 377, // not_empty_subnet4_list - S_subnet4 = 378, // subnet4 - S_379_55 = 379, // $@55 - S_sub_subnet4 = 380, // sub_subnet4 - S_381_56 = 381, // $@56 - S_subnet4_params = 382, // subnet4_params - S_subnet4_param = 383, // subnet4_param - S_subnet = 384, // subnet - S_385_57 = 385, // $@57 - S_subnet_4o6_interface = 386, // subnet_4o6_interface - S_387_58 = 387, // $@58 - S_subnet_4o6_interface_id = 388, // subnet_4o6_interface_id - S_389_59 = 389, // $@59 - S_subnet_4o6_subnet = 390, // subnet_4o6_subnet - S_391_60 = 391, // $@60 - S_interface = 392, // interface - S_393_61 = 393, // $@61 - S_client_class = 394, // client_class - S_395_62 = 395, // $@62 - S_require_client_classes = 396, // require_client_classes - S_397_63 = 397, // $@63 - S_reservations_out_of_pool = 398, // reservations_out_of_pool - S_reservations_in_subnet = 399, // reservations_in_subnet - S_reservations_global = 400, // reservations_global - S_reservation_mode = 401, // reservation_mode - S_402_64 = 402, // $@64 - S_hr_mode = 403, // hr_mode - S_id = 404, // id - S_shared_networks = 405, // shared_networks - S_406_65 = 406, // $@65 - S_shared_networks_content = 407, // shared_networks_content - S_shared_networks_list = 408, // shared_networks_list - S_shared_network = 409, // shared_network - S_410_66 = 410, // $@66 - S_shared_network_params = 411, // shared_network_params - S_shared_network_param = 412, // shared_network_param - S_option_def_list = 413, // option_def_list - S_414_67 = 414, // $@67 - S_sub_option_def_list = 415, // sub_option_def_list - S_416_68 = 416, // $@68 - S_option_def_list_content = 417, // option_def_list_content - S_not_empty_option_def_list = 418, // not_empty_option_def_list - S_option_def_entry = 419, // option_def_entry - S_420_69 = 420, // $@69 - S_sub_option_def = 421, // sub_option_def - S_422_70 = 422, // $@70 - S_option_def_params = 423, // option_def_params - S_not_empty_option_def_params = 424, // not_empty_option_def_params - S_option_def_param = 425, // option_def_param - S_option_def_name = 426, // option_def_name - S_code = 427, // code - S_option_def_code = 428, // option_def_code - S_option_def_type = 429, // option_def_type - S_430_71 = 430, // $@71 - S_option_def_record_types = 431, // option_def_record_types - S_432_72 = 432, // $@72 - S_space = 433, // space - S_434_73 = 434, // $@73 - S_option_def_space = 435, // option_def_space - S_option_def_encapsulate = 436, // option_def_encapsulate - S_437_74 = 437, // $@74 - S_option_def_array = 438, // option_def_array - S_option_data_list = 439, // option_data_list - S_440_75 = 440, // $@75 - S_option_data_list_content = 441, // option_data_list_content - S_not_empty_option_data_list = 442, // not_empty_option_data_list - S_option_data_entry = 443, // option_data_entry - S_444_76 = 444, // $@76 - S_sub_option_data = 445, // sub_option_data - S_446_77 = 446, // $@77 - S_option_data_params = 447, // option_data_params - S_not_empty_option_data_params = 448, // not_empty_option_data_params - S_option_data_param = 449, // option_data_param - S_option_data_name = 450, // option_data_name - S_option_data_data = 451, // option_data_data - S_452_78 = 452, // $@78 - S_option_data_code = 453, // option_data_code - S_option_data_space = 454, // option_data_space - S_option_data_csv_format = 455, // option_data_csv_format - S_option_data_always_send = 456, // option_data_always_send - S_pools_list = 457, // pools_list - S_458_79 = 458, // $@79 - S_pools_list_content = 459, // pools_list_content - S_not_empty_pools_list = 460, // not_empty_pools_list - S_pool_list_entry = 461, // pool_list_entry - S_462_80 = 462, // $@80 - S_sub_pool4 = 463, // sub_pool4 - S_464_81 = 464, // $@81 - S_pool_params = 465, // pool_params - S_pool_param = 466, // pool_param - S_pool_entry = 467, // pool_entry - S_468_82 = 468, // $@82 - S_user_context = 469, // user_context - S_470_83 = 470, // $@83 - S_comment = 471, // comment - S_472_84 = 472, // $@84 - S_reservations = 473, // reservations - S_474_85 = 474, // $@85 - S_reservations_list = 475, // reservations_list - S_not_empty_reservations_list = 476, // not_empty_reservations_list - S_reservation = 477, // reservation - S_478_86 = 478, // $@86 - S_sub_reservation = 479, // sub_reservation - S_480_87 = 480, // $@87 - S_reservation_params = 481, // reservation_params - S_not_empty_reservation_params = 482, // not_empty_reservation_params - S_reservation_param = 483, // reservation_param - S_next_server = 484, // next_server - S_485_88 = 485, // $@88 - S_server_hostname = 486, // server_hostname - S_487_89 = 487, // $@89 - S_boot_file_name = 488, // boot_file_name - S_489_90 = 489, // $@90 - S_ip_address = 490, // ip_address - S_491_91 = 491, // $@91 - S_ip_addresses = 492, // ip_addresses - S_493_92 = 493, // $@92 - S_duid = 494, // duid - S_495_93 = 495, // $@93 - S_hw_address = 496, // hw_address - S_497_94 = 497, // $@94 - S_client_id_value = 498, // client_id_value - S_499_95 = 499, // $@95 - S_circuit_id_value = 500, // circuit_id_value - S_501_96 = 501, // $@96 - S_flex_id_value = 502, // flex_id_value - S_503_97 = 503, // $@97 - S_hostname = 504, // hostname - S_505_98 = 505, // $@98 - S_reservation_client_classes = 506, // reservation_client_classes - S_507_99 = 507, // $@99 - S_relay = 508, // relay - S_509_100 = 509, // $@100 - S_relay_map = 510, // relay_map - S_client_classes = 511, // client_classes - S_512_101 = 512, // $@101 - S_client_classes_list = 513, // client_classes_list - S_client_class_entry = 514, // client_class_entry - S_515_102 = 515, // $@102 - S_client_class_params = 516, // client_class_params - S_not_empty_client_class_params = 517, // not_empty_client_class_params - S_client_class_param = 518, // client_class_param - S_client_class_name = 519, // client_class_name - S_client_class_test = 520, // client_class_test - S_521_103 = 521, // $@103 - S_only_if_required = 522, // only_if_required - S_dhcp4o6_port = 523, // dhcp4o6_port - S_control_socket = 524, // control_socket - S_525_104 = 525, // $@104 - S_control_socket_params = 526, // control_socket_params - S_control_socket_param = 527, // control_socket_param - S_control_socket_type = 528, // control_socket_type - S_529_105 = 529, // $@105 - S_control_socket_name = 530, // control_socket_name - S_531_106 = 531, // $@106 - S_dhcp_queue_control = 532, // dhcp_queue_control - S_533_107 = 533, // $@107 - S_queue_control_params = 534, // queue_control_params - S_queue_control_param = 535, // queue_control_param - S_enable_queue = 536, // enable_queue - S_queue_type = 537, // queue_type - S_538_108 = 538, // $@108 - S_capacity = 539, // capacity - S_arbitrary_map_entry = 540, // arbitrary_map_entry - S_541_109 = 541, // $@109 - S_dhcp_ddns = 542, // dhcp_ddns - S_543_110 = 543, // $@110 - S_sub_dhcp_ddns = 544, // sub_dhcp_ddns - S_545_111 = 545, // $@111 - S_dhcp_ddns_params = 546, // dhcp_ddns_params - S_dhcp_ddns_param = 547, // dhcp_ddns_param - S_enable_updates = 548, // enable_updates - S_server_ip = 549, // server_ip - S_550_112 = 550, // $@112 - S_server_port = 551, // server_port - S_sender_ip = 552, // sender_ip - S_553_113 = 553, // $@113 - S_sender_port = 554, // sender_port - S_max_queue_size = 555, // max_queue_size - S_ncr_protocol = 556, // ncr_protocol - S_557_114 = 557, // $@114 - S_ncr_protocol_value = 558, // ncr_protocol_value - S_ncr_format = 559, // ncr_format - S_560_115 = 560, // $@115 - S_dep_qualifying_suffix = 561, // dep_qualifying_suffix - S_562_116 = 562, // $@116 - S_dep_override_no_update = 563, // dep_override_no_update - S_dep_override_client_update = 564, // dep_override_client_update - S_dep_replace_client_name = 565, // dep_replace_client_name - S_566_117 = 566, // $@117 - S_dep_generated_prefix = 567, // dep_generated_prefix - S_568_118 = 568, // $@118 - S_dep_hostname_char_set = 569, // dep_hostname_char_set - S_570_119 = 570, // $@119 - S_dep_hostname_char_replacement = 571, // dep_hostname_char_replacement - S_572_120 = 572, // $@120 - S_config_control = 573, // config_control - S_574_121 = 574, // $@121 - S_sub_config_control = 575, // sub_config_control - S_576_122 = 576, // $@122 - S_config_control_params = 577, // config_control_params - S_config_control_param = 578, // config_control_param - S_config_databases = 579, // config_databases - S_580_123 = 580, // $@123 - S_config_fetch_wait_time = 581, // config_fetch_wait_time - S_loggers = 582, // loggers - S_583_124 = 583, // $@124 - S_loggers_entries = 584, // loggers_entries - S_logger_entry = 585, // logger_entry - S_586_125 = 586, // $@125 - S_logger_params = 587, // logger_params - S_logger_param = 588, // logger_param - S_debuglevel = 589, // debuglevel - S_severity = 590, // severity - S_591_126 = 591, // $@126 - S_output_options_list = 592, // output_options_list - S_593_127 = 593, // $@127 - S_output_options_list_content = 594, // output_options_list_content - S_output_entry = 595, // output_entry - S_596_128 = 596, // $@128 - S_output_params_list = 597, // output_params_list - S_output_params = 598, // output_params - S_output = 599, // output - S_600_129 = 600, // $@129 - S_flush = 601, // flush - S_maxsize = 602, // maxsize - S_maxver = 603, // maxver - S_pattern = 604, // pattern - S_605_130 = 605 // $@130 + S_DDNS_USE_CONFLICT_RESOLUTION = 78, // "ddns-use-conflict-resolution" + S_STORE_EXTENDED_INFO = 79, // "store-extended-info" + S_SUBNET4 = 80, // "subnet4" + S_SUBNET_4O6_INTERFACE = 81, // "4o6-interface" + S_SUBNET_4O6_INTERFACE_ID = 82, // "4o6-interface-id" + S_SUBNET_4O6_SUBNET = 83, // "4o6-subnet" + S_OPTION_DEF = 84, // "option-def" + S_OPTION_DATA = 85, // "option-data" + S_NAME = 86, // "name" + S_DATA = 87, // "data" + S_CODE = 88, // "code" + S_SPACE = 89, // "space" + S_CSV_FORMAT = 90, // "csv-format" + S_ALWAYS_SEND = 91, // "always-send" + S_RECORD_TYPES = 92, // "record-types" + S_ENCAPSULATE = 93, // "encapsulate" + S_ARRAY = 94, // "array" + S_SHARED_NETWORKS = 95, // "shared-networks" + S_POOLS = 96, // "pools" + S_POOL = 97, // "pool" + S_USER_CONTEXT = 98, // "user-context" + S_COMMENT = 99, // "comment" + S_SUBNET = 100, // "subnet" + S_INTERFACE = 101, // "interface" + S_ID = 102, // "id" + S_RESERVATION_MODE = 103, // "reservation-mode" + S_RESERVATIONS_OUT_OF_POOL = 104, // "reservations-out-of-pool" + S_RESERVATIONS_IN_SUBNET = 105, // "reservations-in-subnet" + S_RESERVATIONS_GLOBAL = 106, // "reservations-global" + S_DISABLED = 107, // "disabled" + S_OUT_OF_POOL = 108, // "out-of-pool" + S_GLOBAL = 109, // "global" + S_ALL = 110, // "all" + S_HOST_RESERVATION_IDENTIFIERS = 111, // "host-reservation-identifiers" + S_CLIENT_CLASSES = 112, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 113, // "require-client-classes" + S_TEST = 114, // "test" + S_ONLY_IF_REQUIRED = 115, // "only-if-required" + S_CLIENT_CLASS = 116, // "client-class" + S_RESERVATIONS = 117, // "reservations" + S_DUID = 118, // "duid" + S_HW_ADDRESS = 119, // "hw-address" + S_CIRCUIT_ID = 120, // "circuit-id" + S_CLIENT_ID = 121, // "client-id" + S_HOSTNAME = 122, // "hostname" + S_FLEX_ID = 123, // "flex-id" + S_RELAY = 124, // "relay" + S_IP_ADDRESS = 125, // "ip-address" + S_IP_ADDRESSES = 126, // "ip-addresses" + S_HOOKS_LIBRARIES = 127, // "hooks-libraries" + S_LIBRARY = 128, // "library" + S_PARAMETERS = 129, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 130, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 131, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 132, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 133, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 134, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 135, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 136, // "unwarned-reclaim-cycles" + S_DHCP4O6_PORT = 137, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 138, // "multi-threading" + S_ENABLE_MULTI_THREADING = 139, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 140, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 141, // "packet-queue-size" + S_CONTROL_SOCKET = 142, // "control-socket" + S_SOCKET_TYPE = 143, // "socket-type" + S_SOCKET_NAME = 144, // "socket-name" + S_DHCP_QUEUE_CONTROL = 145, // "dhcp-queue-control" + S_ENABLE_QUEUE = 146, // "enable-queue" + S_QUEUE_TYPE = 147, // "queue-type" + S_CAPACITY = 148, // "capacity" + S_DHCP_DDNS = 149, // "dhcp-ddns" + S_ENABLE_UPDATES = 150, // "enable-updates" + S_QUALIFYING_SUFFIX = 151, // "qualifying-suffix" + S_SERVER_IP = 152, // "server-ip" + S_SERVER_PORT = 153, // "server-port" + S_SENDER_IP = 154, // "sender-ip" + S_SENDER_PORT = 155, // "sender-port" + S_MAX_QUEUE_SIZE = 156, // "max-queue-size" + S_NCR_PROTOCOL = 157, // "ncr-protocol" + S_NCR_FORMAT = 158, // "ncr-format" + S_OVERRIDE_NO_UPDATE = 159, // "override-no-update" + S_OVERRIDE_CLIENT_UPDATE = 160, // "override-client-update" + S_REPLACE_CLIENT_NAME = 161, // "replace-client-name" + S_GENERATED_PREFIX = 162, // "generated-prefix" + S_TCP = 163, // "tcp" + S_JSON = 164, // "JSON" + S_WHEN_PRESENT = 165, // "when-present" + S_NEVER = 166, // "never" + S_ALWAYS = 167, // "always" + S_WHEN_NOT_PRESENT = 168, // "when-not-present" + S_HOSTNAME_CHAR_SET = 169, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 170, // "hostname-char-replacement" + S_IP_RESERVATIONS_UNIQUE = 171, // "ip-reservations-unique" + S_LOGGERS = 172, // "loggers" + S_OUTPUT_OPTIONS = 173, // "output_options" + S_OUTPUT = 174, // "output" + S_DEBUGLEVEL = 175, // "debuglevel" + S_SEVERITY = 176, // "severity" + S_FLUSH = 177, // "flush" + S_MAXSIZE = 178, // "maxsize" + S_MAXVER = 179, // "maxver" + S_PATTERN = 180, // "pattern" + S_TOPLEVEL_JSON = 181, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 182, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 183, // SUB_DHCP4 + S_SUB_INTERFACES4 = 184, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 185, // SUB_SUBNET4 + S_SUB_POOL4 = 186, // SUB_POOL4 + S_SUB_RESERVATION = 187, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 188, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 189, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 190, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 191, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 192, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 193, // SUB_CONFIG_CONTROL + S_STRING = 194, // "constant string" + S_INTEGER = 195, // "integer" + S_FLOAT = 196, // "floating point" + S_BOOLEAN = 197, // "boolean" + S_YYACCEPT = 198, // $accept + S_start = 199, // start + S_200_1 = 200, // $@1 + S_201_2 = 201, // $@2 + S_202_3 = 202, // $@3 + S_203_4 = 203, // $@4 + S_204_5 = 204, // $@5 + S_205_6 = 205, // $@6 + S_206_7 = 206, // $@7 + S_207_8 = 207, // $@8 + S_208_9 = 208, // $@9 + S_209_10 = 209, // $@10 + S_210_11 = 210, // $@11 + S_211_12 = 211, // $@12 + S_212_13 = 212, // $@13 + S_value = 213, // value + S_sub_json = 214, // sub_json + S_map2 = 215, // map2 + S_216_14 = 216, // $@14 + S_map_value = 217, // map_value + S_map_content = 218, // map_content + S_not_empty_map = 219, // not_empty_map + S_list_generic = 220, // list_generic + S_221_15 = 221, // $@15 + S_list_content = 222, // list_content + S_not_empty_list = 223, // not_empty_list + S_list_strings = 224, // list_strings + S_225_16 = 225, // $@16 + S_list_strings_content = 226, // list_strings_content + S_not_empty_list_strings = 227, // not_empty_list_strings + S_unknown_map_entry = 228, // unknown_map_entry + S_syntax_map = 229, // syntax_map + S_230_17 = 230, // $@17 + S_global_object = 231, // global_object + S_232_18 = 232, // $@18 + S_sub_dhcp4 = 233, // sub_dhcp4 + S_234_19 = 234, // $@19 + S_global_params = 235, // global_params + S_global_param = 236, // global_param + S_valid_lifetime = 237, // valid_lifetime + S_min_valid_lifetime = 238, // min_valid_lifetime + S_max_valid_lifetime = 239, // max_valid_lifetime + S_renew_timer = 240, // renew_timer + S_rebind_timer = 241, // rebind_timer + S_calculate_tee_times = 242, // calculate_tee_times + S_t1_percent = 243, // t1_percent + S_t2_percent = 244, // t2_percent + S_cache_threshold = 245, // cache_threshold + S_cache_max_age = 246, // cache_max_age + S_decline_probation_period = 247, // decline_probation_period + S_server_tag = 248, // server_tag + S_249_20 = 249, // $@20 + S_echo_client_id = 250, // echo_client_id + S_match_client_id = 251, // match_client_id + S_authoritative = 252, // authoritative + S_ddns_send_updates = 253, // ddns_send_updates + S_ddns_override_no_update = 254, // ddns_override_no_update + S_ddns_override_client_update = 255, // ddns_override_client_update + S_ddns_replace_client_name = 256, // ddns_replace_client_name + S_257_21 = 257, // $@21 + S_ddns_replace_client_name_value = 258, // ddns_replace_client_name_value + S_ddns_generated_prefix = 259, // ddns_generated_prefix + S_260_22 = 260, // $@22 + S_ddns_qualifying_suffix = 261, // ddns_qualifying_suffix + S_262_23 = 262, // $@23 + S_ddns_update_on_renew = 263, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 264, // ddns_use_conflict_resolution + S_hostname_char_set = 265, // hostname_char_set + S_266_24 = 266, // $@24 + S_hostname_char_replacement = 267, // hostname_char_replacement + S_268_25 = 268, // $@25 + S_store_extended_info = 269, // store_extended_info + S_statistic_default_sample_count = 270, // statistic_default_sample_count + S_statistic_default_sample_age = 271, // statistic_default_sample_age + S_ip_reservations_unique = 272, // ip_reservations_unique + S_interfaces_config = 273, // interfaces_config + S_274_26 = 274, // $@26 + S_interfaces_config_params = 275, // interfaces_config_params + S_interfaces_config_param = 276, // interfaces_config_param + S_sub_interfaces4 = 277, // sub_interfaces4 + S_278_27 = 278, // $@27 + S_interfaces_list = 279, // interfaces_list + S_280_28 = 280, // $@28 + S_dhcp_socket_type = 281, // dhcp_socket_type + S_282_29 = 282, // $@29 + S_socket_type = 283, // socket_type + S_outbound_interface = 284, // outbound_interface + S_285_30 = 285, // $@30 + S_outbound_interface_value = 286, // outbound_interface_value + S_re_detect = 287, // re_detect + S_lease_database = 288, // lease_database + S_289_31 = 289, // $@31 + S_sanity_checks = 290, // sanity_checks + S_291_32 = 291, // $@32 + S_sanity_checks_params = 292, // sanity_checks_params + S_sanity_checks_param = 293, // sanity_checks_param + S_lease_checks = 294, // lease_checks + S_295_33 = 295, // $@33 + S_hosts_database = 296, // hosts_database + S_297_34 = 297, // $@34 + S_hosts_databases = 298, // hosts_databases + S_299_35 = 299, // $@35 + S_database_list = 300, // database_list + S_not_empty_database_list = 301, // not_empty_database_list + S_database = 302, // database + S_303_36 = 303, // $@36 + S_database_map_params = 304, // database_map_params + S_database_map_param = 305, // database_map_param + S_database_type = 306, // database_type + S_307_37 = 307, // $@37 + S_db_type = 308, // db_type + S_user = 309, // user + S_310_38 = 310, // $@38 + S_password = 311, // password + S_312_39 = 312, // $@39 + S_host = 313, // host + S_314_40 = 314, // $@40 + S_port = 315, // port + S_name = 316, // name + S_317_41 = 317, // $@41 + S_persist = 318, // persist + S_lfc_interval = 319, // lfc_interval + S_readonly = 320, // readonly + S_connect_timeout = 321, // connect_timeout + S_request_timeout = 322, // request_timeout + S_tcp_keepalive = 323, // tcp_keepalive + S_tcp_nodelay = 324, // tcp_nodelay + S_contact_points = 325, // contact_points + S_326_42 = 326, // $@42 + S_keyspace = 327, // keyspace + S_328_43 = 328, // $@43 + S_consistency = 329, // consistency + S_330_44 = 330, // $@44 + S_serial_consistency = 331, // serial_consistency + S_332_45 = 332, // $@45 + S_max_reconnect_tries = 333, // max_reconnect_tries + S_reconnect_wait_time = 334, // reconnect_wait_time + S_max_row_errors = 335, // max_row_errors + S_host_reservation_identifiers = 336, // host_reservation_identifiers + S_337_46 = 337, // $@46 + S_host_reservation_identifiers_list = 338, // host_reservation_identifiers_list + S_host_reservation_identifier = 339, // host_reservation_identifier + S_duid_id = 340, // duid_id + S_hw_address_id = 341, // hw_address_id + S_circuit_id = 342, // circuit_id + S_client_id = 343, // client_id + S_flex_id = 344, // flex_id + S_dhcp_multi_threading = 345, // dhcp_multi_threading + S_346_47 = 346, // $@47 + S_multi_threading_params = 347, // multi_threading_params + S_multi_threading_param = 348, // multi_threading_param + S_enable_multi_threading = 349, // enable_multi_threading + S_thread_pool_size = 350, // thread_pool_size + S_packet_queue_size = 351, // packet_queue_size + S_hooks_libraries = 352, // hooks_libraries + S_353_48 = 353, // $@48 + S_hooks_libraries_list = 354, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 355, // not_empty_hooks_libraries_list + S_hooks_library = 356, // hooks_library + S_357_49 = 357, // $@49 + S_sub_hooks_library = 358, // sub_hooks_library + S_359_50 = 359, // $@50 + S_hooks_params = 360, // hooks_params + S_hooks_param = 361, // hooks_param + S_library = 362, // library + S_363_51 = 363, // $@51 + S_parameters = 364, // parameters + S_365_52 = 365, // $@52 + S_expired_leases_processing = 366, // expired_leases_processing + S_367_53 = 367, // $@53 + S_expired_leases_params = 368, // expired_leases_params + S_expired_leases_param = 369, // expired_leases_param + S_reclaim_timer_wait_time = 370, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 371, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 372, // hold_reclaimed_time + S_max_reclaim_leases = 373, // max_reclaim_leases + S_max_reclaim_time = 374, // max_reclaim_time + S_unwarned_reclaim_cycles = 375, // unwarned_reclaim_cycles + S_subnet4_list = 376, // subnet4_list + S_377_54 = 377, // $@54 + S_subnet4_list_content = 378, // subnet4_list_content + S_not_empty_subnet4_list = 379, // not_empty_subnet4_list + S_subnet4 = 380, // subnet4 + S_381_55 = 381, // $@55 + S_sub_subnet4 = 382, // sub_subnet4 + S_383_56 = 383, // $@56 + S_subnet4_params = 384, // subnet4_params + S_subnet4_param = 385, // subnet4_param + S_subnet = 386, // subnet + S_387_57 = 387, // $@57 + S_subnet_4o6_interface = 388, // subnet_4o6_interface + S_389_58 = 389, // $@58 + S_subnet_4o6_interface_id = 390, // subnet_4o6_interface_id + S_391_59 = 391, // $@59 + S_subnet_4o6_subnet = 392, // subnet_4o6_subnet + S_393_60 = 393, // $@60 + S_interface = 394, // interface + S_395_61 = 395, // $@61 + S_client_class = 396, // client_class + S_397_62 = 397, // $@62 + S_require_client_classes = 398, // require_client_classes + S_399_63 = 399, // $@63 + S_reservations_out_of_pool = 400, // reservations_out_of_pool + S_reservations_in_subnet = 401, // reservations_in_subnet + S_reservations_global = 402, // reservations_global + S_reservation_mode = 403, // reservation_mode + S_404_64 = 404, // $@64 + S_hr_mode = 405, // hr_mode + S_id = 406, // id + S_shared_networks = 407, // shared_networks + S_408_65 = 408, // $@65 + S_shared_networks_content = 409, // shared_networks_content + S_shared_networks_list = 410, // shared_networks_list + S_shared_network = 411, // shared_network + S_412_66 = 412, // $@66 + S_shared_network_params = 413, // shared_network_params + S_shared_network_param = 414, // shared_network_param + S_option_def_list = 415, // option_def_list + S_416_67 = 416, // $@67 + S_sub_option_def_list = 417, // sub_option_def_list + S_418_68 = 418, // $@68 + S_option_def_list_content = 419, // option_def_list_content + S_not_empty_option_def_list = 420, // not_empty_option_def_list + S_option_def_entry = 421, // option_def_entry + S_422_69 = 422, // $@69 + S_sub_option_def = 423, // sub_option_def + S_424_70 = 424, // $@70 + S_option_def_params = 425, // option_def_params + S_not_empty_option_def_params = 426, // not_empty_option_def_params + S_option_def_param = 427, // option_def_param + S_option_def_name = 428, // option_def_name + S_code = 429, // code + S_option_def_code = 430, // option_def_code + S_option_def_type = 431, // option_def_type + S_432_71 = 432, // $@71 + S_option_def_record_types = 433, // option_def_record_types + S_434_72 = 434, // $@72 + S_space = 435, // space + S_436_73 = 436, // $@73 + S_option_def_space = 437, // option_def_space + S_option_def_encapsulate = 438, // option_def_encapsulate + S_439_74 = 439, // $@74 + S_option_def_array = 440, // option_def_array + S_option_data_list = 441, // option_data_list + S_442_75 = 442, // $@75 + S_option_data_list_content = 443, // option_data_list_content + S_not_empty_option_data_list = 444, // not_empty_option_data_list + S_option_data_entry = 445, // option_data_entry + S_446_76 = 446, // $@76 + S_sub_option_data = 447, // sub_option_data + S_448_77 = 448, // $@77 + S_option_data_params = 449, // option_data_params + S_not_empty_option_data_params = 450, // not_empty_option_data_params + S_option_data_param = 451, // option_data_param + S_option_data_name = 452, // option_data_name + S_option_data_data = 453, // option_data_data + S_454_78 = 454, // $@78 + S_option_data_code = 455, // option_data_code + S_option_data_space = 456, // option_data_space + S_option_data_csv_format = 457, // option_data_csv_format + S_option_data_always_send = 458, // option_data_always_send + S_pools_list = 459, // pools_list + S_460_79 = 460, // $@79 + S_pools_list_content = 461, // pools_list_content + S_not_empty_pools_list = 462, // not_empty_pools_list + S_pool_list_entry = 463, // pool_list_entry + S_464_80 = 464, // $@80 + S_sub_pool4 = 465, // sub_pool4 + S_466_81 = 466, // $@81 + S_pool_params = 467, // pool_params + S_pool_param = 468, // pool_param + S_pool_entry = 469, // pool_entry + S_470_82 = 470, // $@82 + S_user_context = 471, // user_context + S_472_83 = 472, // $@83 + S_comment = 473, // comment + S_474_84 = 474, // $@84 + S_reservations = 475, // reservations + S_476_85 = 476, // $@85 + S_reservations_list = 477, // reservations_list + S_not_empty_reservations_list = 478, // not_empty_reservations_list + S_reservation = 479, // reservation + S_480_86 = 480, // $@86 + S_sub_reservation = 481, // sub_reservation + S_482_87 = 482, // $@87 + S_reservation_params = 483, // reservation_params + S_not_empty_reservation_params = 484, // not_empty_reservation_params + S_reservation_param = 485, // reservation_param + S_next_server = 486, // next_server + S_487_88 = 487, // $@88 + S_server_hostname = 488, // server_hostname + S_489_89 = 489, // $@89 + S_boot_file_name = 490, // boot_file_name + S_491_90 = 491, // $@90 + S_ip_address = 492, // ip_address + S_493_91 = 493, // $@91 + S_ip_addresses = 494, // ip_addresses + S_495_92 = 495, // $@92 + S_duid = 496, // duid + S_497_93 = 497, // $@93 + S_hw_address = 498, // hw_address + S_499_94 = 499, // $@94 + S_client_id_value = 500, // client_id_value + S_501_95 = 501, // $@95 + S_circuit_id_value = 502, // circuit_id_value + S_503_96 = 503, // $@96 + S_flex_id_value = 504, // flex_id_value + S_505_97 = 505, // $@97 + S_hostname = 506, // hostname + S_507_98 = 507, // $@98 + S_reservation_client_classes = 508, // reservation_client_classes + S_509_99 = 509, // $@99 + S_relay = 510, // relay + S_511_100 = 511, // $@100 + S_relay_map = 512, // relay_map + S_client_classes = 513, // client_classes + S_514_101 = 514, // $@101 + S_client_classes_list = 515, // client_classes_list + S_client_class_entry = 516, // client_class_entry + S_517_102 = 517, // $@102 + S_client_class_params = 518, // client_class_params + S_not_empty_client_class_params = 519, // not_empty_client_class_params + S_client_class_param = 520, // client_class_param + S_client_class_name = 521, // client_class_name + S_client_class_test = 522, // client_class_test + S_523_103 = 523, // $@103 + S_only_if_required = 524, // only_if_required + S_dhcp4o6_port = 525, // dhcp4o6_port + S_control_socket = 526, // control_socket + S_527_104 = 527, // $@104 + S_control_socket_params = 528, // control_socket_params + S_control_socket_param = 529, // control_socket_param + S_control_socket_type = 530, // control_socket_type + S_531_105 = 531, // $@105 + S_control_socket_name = 532, // control_socket_name + S_533_106 = 533, // $@106 + S_dhcp_queue_control = 534, // dhcp_queue_control + S_535_107 = 535, // $@107 + S_queue_control_params = 536, // queue_control_params + S_queue_control_param = 537, // queue_control_param + S_enable_queue = 538, // enable_queue + S_queue_type = 539, // queue_type + S_540_108 = 540, // $@108 + S_capacity = 541, // capacity + S_arbitrary_map_entry = 542, // arbitrary_map_entry + S_543_109 = 543, // $@109 + S_dhcp_ddns = 544, // dhcp_ddns + S_545_110 = 545, // $@110 + S_sub_dhcp_ddns = 546, // sub_dhcp_ddns + S_547_111 = 547, // $@111 + S_dhcp_ddns_params = 548, // dhcp_ddns_params + S_dhcp_ddns_param = 549, // dhcp_ddns_param + S_enable_updates = 550, // enable_updates + S_server_ip = 551, // server_ip + S_552_112 = 552, // $@112 + S_server_port = 553, // server_port + S_sender_ip = 554, // sender_ip + S_555_113 = 555, // $@113 + S_sender_port = 556, // sender_port + S_max_queue_size = 557, // max_queue_size + S_ncr_protocol = 558, // ncr_protocol + S_559_114 = 559, // $@114 + S_ncr_protocol_value = 560, // ncr_protocol_value + S_ncr_format = 561, // ncr_format + S_562_115 = 562, // $@115 + S_dep_qualifying_suffix = 563, // dep_qualifying_suffix + S_564_116 = 564, // $@116 + S_dep_override_no_update = 565, // dep_override_no_update + S_dep_override_client_update = 566, // dep_override_client_update + S_dep_replace_client_name = 567, // dep_replace_client_name + S_568_117 = 568, // $@117 + S_dep_generated_prefix = 569, // dep_generated_prefix + S_570_118 = 570, // $@118 + S_dep_hostname_char_set = 571, // dep_hostname_char_set + S_572_119 = 572, // $@119 + S_dep_hostname_char_replacement = 573, // dep_hostname_char_replacement + S_574_120 = 574, // $@120 + S_config_control = 575, // config_control + S_576_121 = 576, // $@121 + S_sub_config_control = 577, // sub_config_control + S_578_122 = 578, // $@122 + S_config_control_params = 579, // config_control_params + S_config_control_param = 580, // config_control_param + S_config_databases = 581, // config_databases + S_582_123 = 582, // $@123 + S_config_fetch_wait_time = 583, // config_fetch_wait_time + S_loggers = 584, // loggers + S_585_124 = 585, // $@124 + S_loggers_entries = 586, // loggers_entries + S_logger_entry = 587, // logger_entry + S_588_125 = 588, // $@125 + S_logger_params = 589, // logger_params + S_logger_param = 590, // logger_param + S_debuglevel = 591, // debuglevel + S_severity = 592, // severity + S_593_126 = 593, // $@126 + S_output_options_list = 594, // output_options_list + S_595_127 = 595, // $@127 + S_output_options_list_content = 596, // output_options_list_content + S_output_entry = 597, // output_entry + S_598_128 = 598, // $@128 + S_output_params_list = 599, // output_params_list + S_output_params = 600, // output_params + S_output = 601, // output + S_602_129 = 602, // $@129 + S_flush = 603, // flush + S_maxsize = 604, // maxsize + S_maxver = 605, // maxver + S_pattern = 606, // pattern + S_607_130 = 607 // $@130 }; }; @@ -1594,13 +1597,13 @@ switch (yykind) symbol_type (int tok, location_type l) : super_type(token_type (tok), std::move (l)) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #else symbol_type (int tok, const location_type& l) : super_type(token_type (tok), l) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER4_error || tok == token::TOKEN_PARSER4_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP4 || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_DHCP_SOCKET_TYPE || tok == token::TOKEN_RAW || tok == token::TOKEN_UDP || tok == token::TOKEN_OUTBOUND_INTERFACE || tok == token::TOKEN_SAME_AS_INBOUND || tok == token::TOKEN_USE_ROUTING || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_ECHO_CLIENT_ID || tok == token::TOKEN_MATCH_CLIENT_ID || tok == token::TOKEN_AUTHORITATIVE || tok == token::TOKEN_NEXT_SERVER || tok == token::TOKEN_SERVER_HOSTNAME || tok == token::TOKEN_BOOT_FILE_NAME || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET4 || tok == token::TOKEN_SUBNET_4O6_INTERFACE || tok == token::TOKEN_SUBNET_4O6_INTERFACE_ID || tok == token::TOKEN_SUBNET_4O6_SUBNET || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_ID || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_CIRCUIT_ID || tok == token::TOKEN_CLIENT_ID || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP4 || tok == token::TOKEN_SUB_DHCP4 || tok == token::TOKEN_SUB_INTERFACES4 || tok == token::TOKEN_SUB_SUBNET4 || tok == token::TOKEN_SUB_POOL4 || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #endif #if 201103L <= YY_CPLUSPLUS @@ -2873,6 +2876,21 @@ switch (yykind) return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DDNS_USE_CONFLICT_RESOLUTION (location_type l) + { + return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l)); + } +#else + static + symbol_type + make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l) + { + return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -4988,8 +5006,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1209, ///< Last index in yytable_. - yynnts_ = 409, ///< Number of nonterminal symbols. + yylast_ = 1216, ///< Last index in yytable_. + yynnts_ = 410, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5054,10 +5072,10 @@ switch (yykind) 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196 + 195, 196, 197 }; // Last valid token kind. - const int code_max = 451; + const int code_max = 452; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5222,7 +5240,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5226 "dhcp4_parser.h" +#line 5244 "dhcp4_parser.h" diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index c635744019..543b74a32d 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,5 +1,4 @@ -// Generated 202010151708 -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp4/position.hh b/src/bin/dhcp4/position.hh index 5a22e1b354..3494f25595 100644 --- a/src/bin/dhcp4/position.hh +++ b/src/bin/dhcp4/position.hh @@ -1,5 +1,4 @@ -// Generated 202010151708 -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined in "location.hh". diff --git a/src/bin/dhcp4/stack.hh b/src/bin/dhcp4/stack.hh index 7b495979e3..36dff2d821 100644 --- a/src/bin/dhcp4/stack.hh +++ b/src/bin/dhcp4/stack.hh @@ -1,5 +1,4 @@ -// Generated 202010151708 -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined with the parser itself. diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index db528709d9..81f2673333 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -1,27 +1,22 @@ -#line 1 "dhcp6_lexer.cc" +#line 2 "dhcp6_lexer.cc" -#line 3 "dhcp6_lexer.cc" +#line 4 "dhcp6_lexer.cc" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ /* %not-for-header */ + /* %if-c-only */ /* %if-not-reentrant */ #define yy_create_buffer parser6__create_buffer #define yy_delete_buffer parser6__delete_buffer -#define yy_scan_buffer parser6__scan_buffer -#define yy_scan_string parser6__scan_string -#define yy_scan_bytes parser6__scan_bytes +#define yy_flex_debug parser6__flex_debug #define yy_init_buffer parser6__init_buffer #define yy_flush_buffer parser6__flush_buffer #define yy_load_buffer_state parser6__load_buffer_state #define yy_switch_to_buffer parser6__switch_to_buffer -#define yypush_buffer_state parser6_push_buffer_state -#define yypop_buffer_state parser6_pop_buffer_state -#define yyensure_buffer_stack parser6_ensure_buffer_stack -#define yy_flex_debug parser6__flex_debug #define yyin parser6_in #define yyleng parser6_leng #define yylex parser6_lex @@ -40,8 +35,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 6 -#define YY_FLEX_SUBMINOR_VERSION 4 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -50,244 +45,11 @@ /* %endif */ /* %if-c-only */ -#ifdef yy_create_buffer -#define parser6__create_buffer_ALREADY_DEFINED -#else -#define yy_create_buffer parser6__create_buffer -#endif - -#ifdef yy_delete_buffer -#define parser6__delete_buffer_ALREADY_DEFINED -#else -#define yy_delete_buffer parser6__delete_buffer -#endif - -#ifdef yy_scan_buffer -#define parser6__scan_buffer_ALREADY_DEFINED -#else -#define yy_scan_buffer parser6__scan_buffer -#endif - -#ifdef yy_scan_string -#define parser6__scan_string_ALREADY_DEFINED -#else -#define yy_scan_string parser6__scan_string -#endif - -#ifdef yy_scan_bytes -#define parser6__scan_bytes_ALREADY_DEFINED -#else -#define yy_scan_bytes parser6__scan_bytes -#endif - -#ifdef yy_init_buffer -#define parser6__init_buffer_ALREADY_DEFINED -#else -#define yy_init_buffer parser6__init_buffer -#endif - -#ifdef yy_flush_buffer -#define parser6__flush_buffer_ALREADY_DEFINED -#else -#define yy_flush_buffer parser6__flush_buffer -#endif - -#ifdef yy_load_buffer_state -#define parser6__load_buffer_state_ALREADY_DEFINED -#else -#define yy_load_buffer_state parser6__load_buffer_state -#endif - -#ifdef yy_switch_to_buffer -#define parser6__switch_to_buffer_ALREADY_DEFINED -#else -#define yy_switch_to_buffer parser6__switch_to_buffer -#endif - -#ifdef yypush_buffer_state -#define parser6_push_buffer_state_ALREADY_DEFINED -#else -#define yypush_buffer_state parser6_push_buffer_state -#endif - -#ifdef yypop_buffer_state -#define parser6_pop_buffer_state_ALREADY_DEFINED -#else -#define yypop_buffer_state parser6_pop_buffer_state -#endif - -#ifdef yyensure_buffer_stack -#define parser6_ensure_buffer_stack_ALREADY_DEFINED -#else -#define yyensure_buffer_stack parser6_ensure_buffer_stack -#endif - -#ifdef yylex -#define parser6_lex_ALREADY_DEFINED -#else -#define yylex parser6_lex -#endif - -#ifdef yyrestart -#define parser6_restart_ALREADY_DEFINED -#else -#define yyrestart parser6_restart -#endif - -#ifdef yylex_init -#define parser6_lex_init_ALREADY_DEFINED -#else -#define yylex_init parser6_lex_init -#endif - -#ifdef yylex_init_extra -#define parser6_lex_init_extra_ALREADY_DEFINED -#else -#define yylex_init_extra parser6_lex_init_extra -#endif - -#ifdef yylex_destroy -#define parser6_lex_destroy_ALREADY_DEFINED -#else -#define yylex_destroy parser6_lex_destroy -#endif - -#ifdef yyget_debug -#define parser6_get_debug_ALREADY_DEFINED -#else -#define yyget_debug parser6_get_debug -#endif - -#ifdef yyset_debug -#define parser6_set_debug_ALREADY_DEFINED -#else -#define yyset_debug parser6_set_debug -#endif - -#ifdef yyget_extra -#define parser6_get_extra_ALREADY_DEFINED -#else -#define yyget_extra parser6_get_extra -#endif - -#ifdef yyset_extra -#define parser6_set_extra_ALREADY_DEFINED -#else -#define yyset_extra parser6_set_extra -#endif - -#ifdef yyget_in -#define parser6_get_in_ALREADY_DEFINED -#else -#define yyget_in parser6_get_in -#endif - -#ifdef yyset_in -#define parser6_set_in_ALREADY_DEFINED -#else -#define yyset_in parser6_set_in -#endif - -#ifdef yyget_out -#define parser6_get_out_ALREADY_DEFINED -#else -#define yyget_out parser6_get_out -#endif - -#ifdef yyset_out -#define parser6_set_out_ALREADY_DEFINED -#else -#define yyset_out parser6_set_out -#endif - -#ifdef yyget_leng -#define parser6_get_leng_ALREADY_DEFINED -#else -#define yyget_leng parser6_get_leng -#endif - -#ifdef yyget_text -#define parser6_get_text_ALREADY_DEFINED -#else -#define yyget_text parser6_get_text -#endif - -#ifdef yyget_lineno -#define parser6_get_lineno_ALREADY_DEFINED -#else -#define yyget_lineno parser6_get_lineno -#endif - -#ifdef yyset_lineno -#define parser6_set_lineno_ALREADY_DEFINED -#else -#define yyset_lineno parser6_set_lineno -#endif - -#ifdef yywrap -#define parser6_wrap_ALREADY_DEFINED -#else -#define yywrap parser6_wrap -#endif - + /* %endif */ -#ifdef yyalloc -#define parser6_alloc_ALREADY_DEFINED -#else -#define yyalloc parser6_alloc -#endif - -#ifdef yyrealloc -#define parser6_realloc_ALREADY_DEFINED -#else -#define yyrealloc parser6_realloc -#endif - -#ifdef yyfree -#define parser6_free_ALREADY_DEFINED -#else -#define yyfree parser6_free -#endif - /* %if-c-only */ -#ifdef yytext -#define parser6_text_ALREADY_DEFINED -#else -#define yytext parser6_text -#endif - -#ifdef yyleng -#define parser6_leng_ALREADY_DEFINED -#else -#define yyleng parser6_leng -#endif - -#ifdef yyin -#define parser6_in_ALREADY_DEFINED -#else -#define yyin parser6_in -#endif - -#ifdef yyout -#define parser6_out_ALREADY_DEFINED -#else -#define yyout parser6_out -#endif - -#ifdef yy_flex_debug -#define parser6__flex_debug_ALREADY_DEFINED -#else -#define yy_flex_debug parser6__flex_debug -#endif - -#ifdef yylineno -#define parser6_lineno_ALREADY_DEFINED -#else -#define yylineno parser6_lineno -#endif - /* %endif */ /* First, we deal with platform-specific or compiler-specific issues. */ @@ -328,6 +90,7 @@ typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; @@ -335,6 +98,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -365,39 +129,48 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#ifndef SIZE_MAX -#define SIZE_MAX (~(size_t)0) -#endif - -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ /* %endif */ -/* begin standard C++ headers. */ /* %if-c++-only */ /* %endif */ -/* TODO: this is always defined, so inline it */ -#define yyconst const +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) -#if defined(__GNUC__) && __GNUC__ >= 3 -#define yynoreturn __attribute__((__noreturn__)) +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const #else -#define yynoreturn +#define yyconst #endif /* %not-for-header */ + /* Returned upon end-of-file. */ #define YY_NULL 0 /* %ok-for-header */ /* %not-for-header */ -/* Promotes a possibly negative, possibly signed char to an - * integer in range [0..255] for use as an array index. + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. */ -#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* %ok-for-header */ /* %if-reentrant */ @@ -412,29 +185,25 @@ typedef unsigned int flex_uint32_t; * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * + /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START + /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) +#define YY_NEW_FILE parser6_restart(parser6_in ) + #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else #define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -452,35 +221,35 @@ typedef size_t yy_size_t; #endif /* %if-not-reentrant */ -extern int yyleng; +extern yy_size_t parser6_leng; /* %endif */ /* %if-c-only */ /* %if-not-reentrant */ -extern FILE *yyin, *yyout; +extern FILE *parser6_in, *parser6_out; /* %endif */ /* %endif */ #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - + #define YY_LESS_LINENO(n) - #define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ - /* Undo effects of setting up yytext. */ \ + /* Undo effects of setting up parser6_text. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + YY_DO_BEFORE_ACTION; /* set up parser6_text again */ \ } \ while ( 0 ) + #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -500,12 +269,12 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - int yy_buf_size; + yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -528,7 +297,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -545,8 +314,8 @@ struct yy_buffer_state * possible backing-up. * * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. + * (via parser6_restart()), so that the user can continue scanning by + * just pointing parser6_in at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 @@ -555,12 +324,13 @@ struct yy_buffer_state /* %if-c-only Standard (non-C++) definition */ /* %not-for-header */ + /* %if-not-reentrant */ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* %endif */ /* %ok-for-header */ @@ -575,6 +345,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) + /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ @@ -584,115 +355,118 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* %if-not-reentrant */ /* %not-for-header */ -/* yy_hold_char holds the character lost when yytext is formed. */ + +/* yy_hold_char holds the character lost when parser6_text is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int yyleng; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t parser6_leng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = NULL; +static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... +/* Flag which is used to allow parser6_wrap()'s to do buffer switches + * instead of setting up a fresh parser6_in. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; /* %ok-for-header */ /* %endif */ -void yyrestart ( FILE *input_file ); -void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); -void yy_delete_buffer ( YY_BUFFER_STATE b ); -void yy_flush_buffer ( YY_BUFFER_STATE b ); -void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); -void yypop_buffer_state ( void ); +void parser6_restart (FILE *input_file ); +void parser6__switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE parser6__create_buffer (FILE *file,int size ); +void parser6__delete_buffer (YY_BUFFER_STATE b ); +void parser6__flush_buffer (YY_BUFFER_STATE b ); +void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer ); +void parser6_pop_buffer_state (void ); + +static void parser6_ensure_buffer_stack (void ); +static void parser6__load_buffer_state (void ); +static void parser6__init_buffer (YY_BUFFER_STATE b,FILE *file ); -static void yyensure_buffer_stack ( void ); -static void yy_load_buffer_state ( void ); -static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); -#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) +#define YY_FLUSH_BUFFER parser6__flush_buffer(YY_CURRENT_BUFFER ) -YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); -YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); +YY_BUFFER_STATE parser6__scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE parser6__scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE parser6__scan_bytes (yyconst char *bytes,yy_size_t len ); /* %endif */ -void *yyalloc ( yy_size_t ); -void *yyrealloc ( void *, yy_size_t ); -void yyfree ( void * ); +void *parser6_alloc (yy_size_t ); +void *parser6_realloc (void *,yy_size_t ); +void parser6_free (void * ); + +#define yy_new_buffer parser6__create_buffer -#define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ - yyensure_buffer_stack (); \ + parser6_ensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ + parser6__create_buffer(parser6_in,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } + #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ - yyensure_buffer_stack (); \ + parser6_ensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ + parser6__create_buffer(parser6_in,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } + #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) -/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */ +/* %% [1.0] parser6_text/parser6_in/parser6_out/yy_state_type/parser6_lineno etc. def's & init go here */ /* Begin user sect3 */ -#define parser6_wrap() (/*CONSTCOND*/1) +#define parser6_wrap(n) 1 #define YY_SKIP_YYWRAP #define FLEX_DEBUG -typedef flex_uint8_t YY_CHAR; -FILE *yyin = NULL, *yyout = NULL; +typedef unsigned char YY_CHAR; + +FILE *parser6_in = (FILE *) 0, *parser6_out = (FILE *) 0; typedef int yy_state_type; -extern int yylineno; -int yylineno = 1; +extern int parser6_lineno; -extern char *yytext; -#ifdef yytext_ptr -#undef yytext_ptr -#endif -#define yytext_ptr yytext +int parser6_lineno = 1; -/* %% [1.5] DFA */ +extern char *parser6_text; +#define yytext_ptr parser6_text /* %if-c-only Standard (non-C++) definition */ -static yy_state_type yy_get_previous_state ( void ); -static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); -static int yy_get_next_buffer ( void ); -static void yynoreturn yy_fatal_error ( const char* msg ); +static yy_state_type yy_get_previous_state (void ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +static int yy_get_next_buffer (void ); +static void yy_fatal_error (yyconst char msg[] ); /* %endif */ /* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. + * corresponding action - sets up parser6_text. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ -/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\ - yyleng = (int) (yy_cp - yy_bp); \ +/* %% [2.0] code to fiddle parser6_text and parser6_leng for yymore() goes here \ */\ + parser6_leng = (yy_size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ -/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ +/* %% [3.0] code to copy yytext_ptr to parser6_text[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; + /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 211 -#define YY_END_OF_BUFFER 212 +#define YY_NUM_RULES 213 +#define YY_END_OF_BUFFER 214 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,21 +474,21 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1933] = +static yyconst flex_int16_t yy_accept[1953] = { 0, - 204, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 212, 210, 10, 11, 210, 1, 204, 201, 204, 204, - 210, 203, 202, 210, 210, 210, 210, 210, 197, 198, - 210, 210, 210, 199, 200, 5, 5, 5, 210, 210, - 210, 10, 11, 0, 0, 193, 0, 0, 0, 0, + 206, 206, 0, 0, 0, 0, 0, 0, 0, 0, + 214, 212, 10, 11, 212, 1, 206, 203, 206, 206, + 212, 205, 204, 212, 212, 212, 212, 212, 199, 200, + 212, 212, 212, 201, 202, 5, 5, 5, 212, 212, + 212, 10, 11, 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 204, 204, - 0, 203, 204, 3, 2, 6, 0, 204, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 9, 0, 194, + 0, 0, 0, 0, 0, 0, 0, 1, 206, 206, + 0, 205, 206, 3, 2, 6, 0, 206, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 9, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -722,202 +496,204 @@ static const flex_int16_t yy_accept[1933] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 166, 0, 0, 167, 0, 0, + 8, 0, 0, 167, 0, 0, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, + 0, 0, 0, 0, 196, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 209, 207, 0, - 206, 205, 0, 0, 0, 0, 0, 0, 165, 0, - 28, 0, 27, 0, 0, 123, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, + 0, 0, 0, 0, 0, 0, 0, 211, 209, 0, + 208, 207, 0, 0, 0, 0, 0, 166, 0, 28, + 0, 27, 0, 0, 124, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, + 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 208, 205, 0, 0, 0, 0, 0, 29, - 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, - 124, 0, 0, 0, 0, 0, 0, 0, 98, 0, - 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, + 0, 210, 207, 0, 0, 0, 0, 29, 0, 31, + 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, + 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, + 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, + 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 107, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 145, 0, 170, - 51, 0, 56, 0, 0, 0, 0, 0, 37, 34, - 33, 0, 0, 0, 158, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 146, 0, 171, 51, 0, + 56, 0, 0, 0, 0, 37, 34, 33, 0, 0, + 0, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, - 0, 0, 0, 0, 0, 169, 0, 0, 0, 0, + 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, + 0, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, - 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 159, 0, 0, 0, + 0, 0, 0, 0, 0, 53, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 35, 0, 0, 0, 0, 0, 0, + 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, + 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 163, 133, - 0, 0, 0, 0, 0, 0, 0, 137, 52, 0, + 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 164, 134, 0, + 0, 0, 0, 0, 0, 0, 138, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 139, 0, 60, 0, 0, 0, 0, 0, + 0, 140, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, + 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 101, 0, 0, 0, 149, 0, 0, 0, 0, + 57, 102, 0, 0, 0, 150, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 0, 0, 164, 14, 0, + 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 0, 165, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, - 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, + 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 151, 168, 0, 40, 0, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, - 95, 0, 0, 0, 0, 0, 162, 54, 0, 103, - 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, - 0, 0, 0, 129, 130, 0, 0, 0, 0, 0, - 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, - + 0, 0, 0, 0, 0, 0, 0, 152, 169, 0, + 40, 0, 161, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, + 0, 0, 96, 0, 0, 0, 0, 0, 163, 54, + 0, 104, 0, 190, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, + 0, 0, 0, 0, 0, 130, 131, 0, 0, 0, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, - 17, 0, 15, 0, 186, 185, 0, 0, 0, 69, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 144, + + 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 179, 0, 188, + 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 97, 122, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 17, 0, 15, 0, 187, 186, 0, + 0, 0, 69, 0, 0, 0, 0, 0, 30, 0, + 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 112, 0, 148, 0, 43, 0, 61, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, - 0, 0, 0, 0, 0, 0, 114, 80, 0, 0, - 156, 0, 0, 0, 0, 0, 147, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 0, 0, 132, + 0, 180, 0, 189, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 113, 0, 149, 0, 43, + 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, + 115, 80, 0, 0, 157, 0, 0, 0, 0, 0, + 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 109, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, - 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 107, 0, 0, 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 42, 0, 0, 0, 0, 68, 0, 0, 0, - 0, 0, 0, 142, 47, 0, 0, 0, 70, 184, - 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 45, 0, 0, 0, 44, 0, 18, 0, 0, - 0, 72, 0, 0, 0, 0, 0, 134, 0, 0, + 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, + 0, 68, 0, 0, 0, 0, 0, 0, 143, 47, + 0, 0, 0, 70, 185, 38, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, + 0, 44, 0, 18, 0, 0, 0, 72, 0, 0, + 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 76, 0, 132, 0, 0, + + 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 105, 0, 0, 0, 0, 0, 162, + 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, + 0, 95, 0, 0, 0, 0, 36, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, - 0, 131, 0, 0, 0, 62, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, - 0, 0, 161, 0, 0, 0, 46, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 180, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, - 0, 0, 0, 0, 94, 0, 0, 0, 0, 36, - 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, - 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 118, 0, 0, 0, 0, 0, 0, 182, 0, - - 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 39, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, - 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, + 0, 0, 0, 178, 0, 0, 0, 0, 147, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, + + 0, 0, 0, 0, 0, 0, 183, 0, 0, 0, + 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 25, 39, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, + 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 176, 0, 78, 0, 77, 0, 21, + 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 177, 0, 78, 0, 77, 0, 21, 73, 0, 0, 0, 0, 0, 0, 0, 0, 65, - 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 105, 0, 0, 175, 0, 0, 0, + 0, 0, 0, 129, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 0, 66, 0, 23, 0, 117, - 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, - 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 0, 0, 176, 0, 0, + 0, 0, 71, 0, 0, 0, 66, 0, 23, 0, + 118, 0, 0, 0, 94, 0, 0, 0, 0, 0, + 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 49, 0, 0, 90, 0, 0, 181, 0, - 0, 0, 0, 192, 75, 74, 22, 0, 126, 143, - 116, 0, 0, 0, 0, 86, 0, 0, 0, 0, - 0, 0, 173, 0, 0, 178, 0, 88, 81, 0, - - 0, 0, 0, 115, 0, 0, 172, 0, 0, 26, - 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, - 0, 0, 0, 127, 84, 0, 0, 0, 0, 83, - 174, 0 + 0, 0, 0, 0, 0, 49, 0, 0, 90, 0, + 0, 0, 182, 0, 0, 0, 0, 193, 75, 74, + 22, 0, 127, 144, 117, 0, 0, 0, 0, 86, + + 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, + 179, 0, 88, 0, 81, 0, 0, 0, 0, 116, + 0, 0, 0, 173, 0, 0, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, + 0, 92, 0, 128, 84, 0, 0, 0, 0, 83, + 175, 0 } ; -static const YY_CHAR yy_ec[256] = +static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, @@ -949,472 +725,474 @@ static const YY_CHAR yy_ec[256] = 5, 5, 5, 5, 5 } ; -static const YY_CHAR yy_meta[74] = +static yyconst flex_int32_t yy_meta[74] = { 0, - 1, 1, 2, 3, 3, 4, 3, 3, 3, 3, - 3, 3, 3, 5, 5, 5, 5, 5, 3, 3, - 3, 3, 5, 5, 5, 5, 5, 5, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, - 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3 + 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1 } ; -static const flex_int16_t yy_base[1945] = +static yyconst flex_int16_t yy_base[1961] = { 0, 0, 72, 21, 31, 43, 51, 54, 60, 91, 99, - 2334, 2335, 34, 2330, 145, 0, 207, 2335, 214, 221, - 13, 228, 2335, 2310, 118, 25, 2, 6, 2335, 2335, - 73, 11, 17, 2335, 2335, 2335, 104, 2318, 2271, 0, - 2308, 108, 2325, 24, 256, 2335, 67, 2274, 2294, 84, - 75, 2294, 88, 226, 91, 89, 284, 196, 203, 279, - 193, 224, 216, 60, 242, 2274, 286, 288, 314, 300, - 319, 2257, 204, 324, 356, 329, 2276, 0, 380, 400, - 420, 427, 406, 2335, 0, 2335, 385, 443, 238, 241, - 310, 269, 299, 314, 2335, 2273, 2314, 2335, 405, 2335, - - 419, 400, 2271, 2312, 326, 10, 262, 407, 224, 409, - 352, 206, 2311, 0, 472, 412, 2253, 415, 2261, 406, - 2257, 2246, 2247, 2252, 444, 2262, 2245, 2254, 327, 433, - 226, 2248, 2246, 445, 2235, 2293, 399, 2238, 2291, 2231, - 2254, 2251, 2251, 2245, 339, 2238, 2236, 2237, 2229, 2234, - 2228, 412, 2239, 2232, 2223, 2222, 2236, 462, 2274, 2221, - 443, 2233, 421, 2221, 482, 2222, 445, 2234, 2231, 2232, - 293, 2230, 2265, 2264, 477, 2210, 2210, 2214, 2210, 2202, - 2219, 2211, 0, 478, 493, 486, 481, 500, 505, 2210, - 2335, 0, 510, 2205, 2335, 498, 505, 2335, 2259, 508, - - 2258, 513, 2257, 515, 2256, 2335, 561, 2255, 525, 2214, - 2206, 2210, 2211, 2206, 2205, 2196, 501, 2247, 2241, 2205, - 2186, 2183, 2191, 2197, 2185, 2199, 2195, 2196, 2196, 2191, - 2183, 2185, 2169, 2173, 2186, 2188, 2185, 2177, 2167, 2170, - 2184, 2335, 2170, 2178, 80, 2163, 2162, 2214, 2161, 2171, - 2211, 505, 2170, 2209, 2154, 2156, 2167, 2205, 532, 2209, - 2144, 2159, 538, 2149, 2155, 2164, 2145, 2143, 2146, 2142, - 2148, 2139, 2138, 2151, 2144, 2134, 2145, 2149, 2148, 2142, - 220, 2149, 2144, 2136, 2126, 2141, 2136, 2140, 500, 2138, - 2124, 2130, 2137, 2119, 2120, 2123, 2120, 2119, 562, 2114, - - 2128, 2127, 2126, 2129, 2111, 2119, 543, 2335, 2335, 553, - 2335, 2335, 2106, 0, 520, 2153, 554, 2164, 2335, 556, - 2335, 2163, 2335, 2157, 606, 2335, 555, 2097, 2116, 2099, - 2116, 2104, 2156, 2111, 2106, 2109, 2104, 537, 2335, 2106, - 586, 2145, 2103, 2100, 2101, 584, 2105, 2145, 2093, 2088, - 2085, 2081, 2083, 2134, 2091, 2080, 2096, 2130, 2076, 607, - 2089, 2089, 2072, 2073, 2086, 2084, 2072, 2082, 2077, 2084, - 2079, 2064, 574, 2073, 2076, 2071, 577, 2070, 2066, 2116, - 422, 563, 2335, 2110, 2060, 2059, 2052, 2054, 2066, 2057, - 2046, 2063, 2052, 2057, 596, 2104, 2057, 589, 2054, 2057, - - 2057, 2055, 2044, 2044, 2056, 583, 2031, 2032, 2053, 595, - 2035, 2032, 2046, 2049, 2044, 2030, 2042, 2041, 2040, 2035, - 2038, 2037, 2036, 2035, 558, 2078, 2037, 2076, 2075, 2017, - 652, 2030, 2335, 2335, 2029, 0, 604, 2071, 2070, 2335, - 2069, 2335, 616, 664, 629, 2068, 2062, 2015, 2017, 2005, - 2335, 2010, 2016, 2019, 2002, 2017, 2004, 2003, 2335, 2013, - 610, 2004, 2001, 2013, 566, 1998, 2000, 2335, 2006, 1991, - 1993, 2004, 2002, 1997, 653, 2004, 1992, 1985, 2036, 2335, - 1983, 1999, 2033, 2037, 1993, 1987, 1989, 1990, 1974, 1991, - 2025, 1976, 1971, 1970, 1972, 1968, 1964, 556, 1983, 1957, - - 1964, 1969, 1962, 1978, 2012, 2016, 2335, 1961, 1957, 2013, - 1964, 1958, 1965, 1950, 1960, 1948, 1962, 1951, 1947, 1949, - 1944, 2335, 2001, 2335, 1943, 1942, 1935, 1952, 1991, 1990, - 1935, 1940, 1949, 1943, 1937, 1946, 688, 1983, 1945, 1928, - 1928, 1923, 1919, 1925, 1930, 1923, 1931, 1935, 1918, 1976, - 1917, 1969, 1914, 1915, 1914, 1926, 1915, 2335, 1925, 2335, - 2335, 1914, 2335, 1924, 1960, 1920, 0, 1963, 2335, 2335, - 2335, 636, 632, 691, 2335, 640, 1922, 1902, 1955, 1900, - 1953, 1898, 1897, 1896, 1903, 1896, 1904, 1907, 1889, 1889, - 1904, 1903, 1891, 1901, 1900, 1884, 1899, 1881, 1928, 1895, - - 1933, 1877, 1879, 1891, 1891, 1890, 2335, 1875, 1872, 1930, - 1885, 1877, 1883, 1874, 1882, 2335, 1867, 1878, 1882, 1864, - 1876, 1877, 635, 1859, 1853, 1858, 1855, 1870, 1869, 1870, - 1849, 1859, 1865, 1908, 1863, 1862, 1854, 1845, 2335, 1846, - 1848, 2335, 1856, 1895, 1894, 16, 1855, 1892, 1837, 1838, - 1841, 1842, 1833, 2335, 1847, 1833, 695, 1825, 1829, 1845, - 1842, 1834, 1879, 1831, 1838, 1876, 2335, 1822, 1820, 1834, - 1818, 1832, 1835, 1869, 1868, 1867, 1866, 1811, 1864, 1863, - 2335, 1808, 1822, 698, 1823, 1822, 1819, 1819, 1856, 1816, - 1805, 1807, 2335, 2335, 663, 658, 1799, 1816, 1808, 1795, - - 1789, 1810, 1851, 669, 1845, 1805, 1843, 1842, 1794, 1788, - 1791, 1799, 1802, 1786, 1787, 1796, 1777, 1832, 1792, 1782, - 1790, 1828, 1789, 661, 1780, 1782, 92, 209, 269, 294, - 313, 2335, 380, 399, 451, 501, 507, 544, 551, 579, - 597, 588, 611, 633, 657, 657, 703, 715, 659, 673, - 659, 669, 719, 677, 726, 2335, 727, 683, 681, 683, - 679, 673, 728, 691, 680, 2335, 682, 693, 682, 696, - 698, 742, 685, 744, 687, 702, 2335, 696, 690, 701, - 686, 697, 710, 689, 695, 750, 714, 698, 698, 711, - 755, 756, 757, 704, 722, 717, 724, 719, 704, 716, - - 717, 723, 710, 2335, 775, 733, 735, 725, 737, 727, - 740, 731, 737, 781, 757, 744, 726, 733, 747, 792, - 742, 2335, 740, 755, 752, 738, 745, 744, 742, 761, - 758, 759, 747, 754, 755, 764, 768, 765, 755, 768, - 754, 753, 759, 816, 757, 758, 764, 780, 763, 817, - 772, 2335, 782, 782, 775, 786, 784, 829, 771, 773, - 788, 789, 777, 775, 837, 794, 780, 783, 2335, 2335, - 799, 798, 799, 804, 792, 802, 804, 2335, 2335, 804, - 806, 793, 811, 798, 796, 814, 801, 801, 852, 799, - 803, 861, 2335, 862, 2335, 807, 821, 821, 866, 814, - - 813, 817, 811, 871, 824, 814, 815, 811, 821, 825, - 836, 820, 838, 833, 835, 828, 830, 831, 843, 833, - 848, 889, 846, 851, 828, 851, 835, 2335, 842, 843, - 857, 848, 846, 896, 843, 858, 876, 884, 853, 902, - 864, 904, 2335, 870, 858, 853, 854, 866, 873, 862, - 863, 859, 877, 863, 864, 874, 883, 919, 866, 875, - 870, 924, 930, 888, 879, 2335, 883, 891, 893, 878, - 894, 884, 896, 890, 937, 903, 887, 888, 2335, 904, - 907, 890, 892, 950, 893, 912, 2335, 911, 914, 895, - 913, 901, 954, 912, 908, 905, 958, 907, 960, 922, - - 908, 926, 925, 911, 926, 918, 914, 932, 931, 918, - 2335, 2335, 926, 973, 926, 2335, 934, 937, 930, 983, - 2335, 932, 938, 982, 933, 934, 946, 940, 944, 942, - 940, 951, 996, 940, 945, 999, 1000, 944, 956, 2335, - 944, 952, 950, 1001, 963, 950, 951, 960, 972, 959, - 957, 971, 972, 988, 993, 975, 980, 963, 963, 965, - 965, 985, 984, 975, 964, 981, 988, 1031, 973, 993, - 986, 990, 994, 977, 994, 1039, 986, 990, 2335, 1037, - 986, 985, 987, 1008, 1005, 1045, 994, 1012, 1013, 999, - 1007, 1016, 996, 1011, 1018, 1060, 1061, 2335, 1014, 1063, - - 1064, 1006, 1016, 1026, 1029, 1012, 1014, 1014, 1021, 1030, - 1018, 1025, 1020, 1027, 1039, 1080, 1027, 1026, 1043, 1084, - 1034, 1038, 1036, 1034, 1029, 1090, 1091, 1041, 1093, 1089, - 1095, 1048, 2335, 1053, 1046, 1037, 1056, 1050, 1045, 1055, - 1052, 1057, 1053, 1065, 2335, 1050, 1052, 2335, 2335, 1052, - 1112, 1051, 1070, 1071, 1073, 1064, 1118, 1119, 1072, 1057, - 1071, 1079, 1061, 1066, 1105, 1096, 1128, 1083, 1083, 1087, - 1074, 1076, 1093, 1088, 1092, 1137, 1085, 1089, 2335, 1086, - 1082, 1099, 1079, 1100, 1090, 1141, 2335, 1106, 1104, 1108, - 1092, 1104, 1109, 1095, 1156, 1109, 1114, 1101, 1112, 1104, - - 1110, 1106, 1124, 1125, 1126, 2335, 2335, 1124, 2335, 1126, - 2335, 1111, 1122, 1113, 1132, 1122, 1174, 1131, 1128, 1172, - 1136, 1125, 1132, 1137, 1134, 1140, 2335, 1133, 1125, 1186, - 2335, 1187, 1134, 1141, 1185, 1147, 2335, 2335, 1144, 2335, - 1135, 2335, 1135, 1138, 1152, 1157, 1140, 1151, 1200, 1157, - 1158, 1159, 1199, 1155, 1206, 1159, 1208, 2335, 1155, 1210, - 1211, 1168, 1170, 2335, 2335, 1153, 1215, 1211, 1175, 1159, - 1171, 1190, 1221, 2335, 1178, 1169, 1180, 1225, 1172, 1187, - 1223, 1175, 2335, 1171, 1187, 1175, 1189, 1190, 1187, 1231, - 1194, 1184, 1199, 1187, 1187, 1242, 1238, 1244, 1201, 2335, - - 1203, 1202, 1205, 1198, 1207, 1208, 1205, 1195, 1198, 1198, - 1258, 1205, 1260, 1207, 1262, 1205, 1264, 2335, 1222, 1201, - 1216, 1209, 1213, 1226, 1229, 1228, 1226, 1276, 1229, 2335, - 2335, 1225, 1235, 1220, 1276, 1237, 1223, 1284, 1285, 1229, - 1239, 1288, 1245, 2335, 1237, 1237, 1239, 1241, 1294, 1237, - 2335, 1238, 2335, 1240, 2335, 2335, 1253, 1256, 1257, 2335, - 1244, 1252, 1304, 1253, 1285, 2335, 1307, 1257, 1304, 2335, - 1252, 1260, 1254, 1251, 1254, 1257, 1257, 1253, 1275, 1314, - 1267, 1279, 1282, 1270, 1265, 1325, 1273, 2335, 1268, 2335, - 1270, 1330, 1283, 1274, 1289, 1289, 1292, 1292, 1289, 1333, - - 1295, 2335, 1287, 2335, 1288, 2335, 1298, 2335, 1338, 1300, - 1301, 1298, 1342, 1290, 1305, 1345, 1307, 1299, 2335, 1296, - 1296, 1302, 1301, 1299, 1314, 1314, 2335, 2335, 1355, 1302, - 2335, 1319, 1304, 1304, 1306, 1312, 2335, 1321, 1368, 1311, - 1321, 1332, 1330, 1374, 1328, 1337, 2335, 1334, 1353, 2335, - 1337, 1322, 1382, 1383, 1340, 1345, 1327, 1387, 1388, 1389, - 1385, 1349, 1346, 1342, 1335, 1390, 1348, 2335, 1338, 1351, - 1399, 2335, 1337, 1396, 1360, 1356, 1400, 1349, 1354, 1352, - 1411, 1367, 1355, 1414, 1364, 1416, 1377, 1366, 1360, 1420, - 1362, 1371, 1364, 1378, 1381, 1426, 1368, 1385, 1381, 1371, - - 1386, 1370, 1428, 1429, 1430, 1377, 1432, 1395, 1388, 1387, - 1381, 2335, 1398, 1385, 1384, 1440, 2335, 1381, 1399, 1448, - 1418, 1450, 1403, 2335, 2335, 1394, 1405, 1454, 2335, 2335, - 2335, 1400, 1405, 1403, 1453, 1411, 1416, 1404, 1408, 1406, - 1407, 2335, 1465, 1411, 1462, 1405, 1412, 1472, 1420, 1430, - 1431, 2335, 1476, 1430, 1474, 2335, 1432, 2335, 1423, 1438, - 1426, 2335, 1436, 1437, 1438, 1487, 1445, 2335, 1484, 1450, - 1426, 1444, 1445, 1454, 1436, 1442, 1444, 1498, 1457, 1456, - 1447, 1497, 1444, 1451, 1505, 1455, 1459, 1464, 1457, 2335, - 1510, 2335, 1459, 1512, 1454, 2335, 1457, 1467, 1511, 1459, - - 1474, 1461, 1476, 1468, 1468, 1479, 2335, 1473, 1468, 1467, - 1527, 1480, 2335, 1524, 1475, 1472, 2335, 1486, 1473, 1489, - 1491, 1536, 1489, 1486, 1494, 1488, 2335, 1541, 1482, 1484, - 1500, 1493, 1483, 1499, 1500, 1494, 1510, 2335, 1500, 1552, - 1512, 1496, 1550, 1514, 2335, 1498, 1505, 1559, 1555, 2335, - 1517, 2335, 1557, 1519, 1520, 1505, 1506, 1514, 1568, 1516, - 1565, 1520, 1532, 1529, 1520, 1527, 2335, 1524, 1529, 1527, - 1579, 1580, 1528, 1538, 1525, 2335, 1540, 1541, 1542, 1543, - 2335, 1533, 1545, 1590, 1547, 1592, 1534, 1542, 1536, 1544, - 1557, 2335, 1558, 1539, 1546, 1537, 1597, 1558, 2335, 1562, - - 1547, 1547, 1562, 1555, 1554, 1565, 1552, 2335, 1568, 1558, - 1614, 1572, 1563, 1575, 1566, 1575, 1577, 1581, 2335, 2335, - 1574, 1564, 1624, 1567, 1626, 1568, 1628, 1586, 1630, 2335, - 1631, 2335, 1627, 1589, 1586, 1591, 1578, 1586, 1597, 1594, - 1640, 1583, 1588, 1579, 1644, 1597, 1598, 1588, 1605, 1604, - 1645, 1589, 1608, 2335, 1605, 1654, 1611, 1612, 1657, 1614, - 1617, 1604, 1613, 2335, 1662, 2335, 1615, 2335, 1624, 2335, - 2335, 1606, 1666, 1613, 1668, 1611, 1670, 1618, 1667, 2335, - 1633, 1674, 1633, 2335, 1624, 1614, 1673, 1639, 1632, 1628, - 1682, 1626, 1631, 2335, 1627, 1629, 2335, 1634, 1644, 1629, - - 1638, 2335, 1639, 1633, 1645, 2335, 1641, 2335, 1651, 2335, - 1652, 1642, 1646, 2335, 1648, 1656, 1701, 1642, 1644, 1641, - 1665, 2335, 1658, 1661, 1650, 1704, 1651, 1659, 1668, 1669, - 1670, 1671, 1664, 1659, 1660, 1660, 1666, 1666, 1678, 1723, - 2335, 1669, 1681, 1726, 1675, 1674, 1729, 1682, 1669, 1684, - 1689, 1734, 1735, 1736, 1737, 1694, 1739, 1740, 1741, 1688, - 1692, 1686, 2335, 1702, 1746, 2335, 1703, 1705, 2335, 1696, - 1710, 1706, 1699, 2335, 2335, 2335, 2335, 1753, 2335, 2335, - 2335, 1703, 1711, 1756, 1717, 2335, 1758, 1759, 1714, 1713, - 1714, 1704, 2335, 1764, 1760, 2335, 1707, 2335, 2335, 1767, - - 1709, 1725, 1770, 2335, 1731, 1728, 2335, 1769, 1718, 2335, - 1730, 1723, 1778, 1720, 1722, 1737, 1722, 2335, 1735, 1784, - 1785, 1733, 1735, 2335, 2335, 1729, 1745, 1790, 1791, 2335, - 2335, 2335, 1797, 1802, 1807, 1812, 1817, 1822, 1827, 1830, - 1804, 1809, 1811, 1824 + 2340, 2341, 34, 2336, 145, 0, 207, 2341, 214, 221, + 13, 228, 2341, 2316, 118, 25, 2, 6, 2341, 2341, + 73, 11, 17, 2341, 2341, 2341, 104, 2324, 2277, 0, + 2314, 108, 2331, 24, 256, 2341, 67, 2280, 2300, 84, + 75, 2300, 88, 226, 91, 89, 284, 196, 203, 279, + 193, 224, 216, 60, 242, 2280, 286, 288, 314, 300, + 319, 2263, 204, 324, 356, 329, 2282, 0, 380, 400, + 420, 427, 406, 2341, 0, 2341, 385, 443, 238, 241, + 310, 269, 299, 314, 2341, 2279, 2320, 2341, 405, 2341, + + 419, 400, 2277, 2318, 326, 10, 262, 407, 224, 409, + 352, 206, 2317, 0, 480, 412, 2259, 415, 2267, 406, + 2263, 2252, 2253, 2258, 442, 2268, 2251, 2260, 327, 431, + 226, 2254, 2252, 452, 2241, 2299, 399, 2244, 2297, 2237, + 2260, 2257, 2257, 2251, 339, 2244, 2242, 2243, 2235, 2240, + 2234, 414, 2245, 2238, 2229, 2228, 2242, 454, 2280, 2227, + 450, 2239, 421, 2227, 476, 2228, 480, 2240, 2237, 2238, + 293, 2236, 2271, 2270, 439, 2216, 2216, 2220, 2216, 2208, + 2225, 2217, 0, 447, 484, 401, 457, 489, 498, 2216, + 2341, 509, 2211, 2341, 498, 504, 2341, 2265, 515, 2264, + + 517, 2263, 513, 2262, 2341, 2341, 559, 2261, 533, 2220, + 2212, 2216, 2217, 2212, 2211, 2202, 529, 2253, 2247, 2211, + 2192, 2189, 2197, 2203, 2191, 2205, 2201, 2202, 2202, 2197, + 2189, 2191, 2175, 2179, 2192, 2194, 2191, 2183, 2173, 2176, + 2190, 2341, 2176, 2184, 80, 2169, 2168, 2220, 2167, 2177, + 2217, 490, 2176, 2215, 2160, 2162, 2173, 2211, 531, 2215, + 2150, 2165, 538, 2155, 2161, 2170, 2151, 2149, 2152, 2148, + 2154, 2145, 2144, 2157, 2150, 2140, 2151, 2155, 2154, 2148, + 220, 2155, 2150, 2142, 2132, 2147, 2142, 2146, 497, 2144, + 2130, 2136, 2143, 2125, 2126, 2129, 2126, 2125, 555, 2120, + + 2134, 2133, 2132, 2135, 2117, 2125, 541, 2341, 2341, 542, + 2341, 2341, 2112, 519, 2159, 551, 2170, 2341, 535, 2341, + 2169, 2341, 2163, 597, 2341, 530, 2103, 2122, 2105, 2122, + 2110, 2162, 2117, 2112, 2115, 2110, 556, 2341, 2112, 584, + 2151, 2109, 2106, 2107, 542, 2111, 2151, 2099, 2094, 2091, + 2087, 2089, 2140, 2097, 2086, 2102, 2136, 2082, 620, 2095, + 2095, 2078, 2079, 2092, 2090, 2078, 2088, 2083, 2090, 2085, + 2070, 566, 2079, 2082, 2077, 536, 2076, 2072, 2122, 579, + 569, 2341, 2116, 2066, 2065, 2058, 2060, 2072, 2063, 2052, + 2069, 2058, 2063, 590, 2110, 2063, 584, 2060, 2063, 2063, + + 2061, 2050, 2050, 2062, 576, 2037, 2038, 2059, 587, 2041, + 2038, 2052, 2055, 2050, 2036, 2048, 2047, 2046, 2041, 2044, + 2043, 2042, 2041, 432, 2084, 2043, 2082, 2081, 2023, 644, + 2036, 2341, 2341, 2035, 600, 2077, 2076, 2341, 2075, 2341, + 617, 671, 606, 2074, 2068, 2021, 2023, 2011, 2341, 2016, + 2022, 2025, 2008, 2023, 2010, 2009, 2341, 2019, 605, 2010, + 2007, 2019, 604, 2004, 2006, 2341, 2012, 1997, 1999, 2010, + 2008, 2003, 650, 2010, 1998, 1991, 2042, 2341, 1989, 2005, + 2039, 2043, 1999, 1993, 1995, 1996, 1980, 1997, 2031, 1982, + 1977, 1976, 1978, 1974, 1970, 602, 1989, 1963, 1970, 1975, + + 1968, 1984, 2018, 2022, 2341, 1967, 1963, 2019, 1970, 1964, + 1971, 1956, 1966, 1954, 1968, 1957, 1953, 1955, 1950, 2341, + 2007, 2341, 1949, 1948, 1941, 1958, 1997, 1996, 1941, 1946, + 1955, 1949, 1943, 1952, 652, 1989, 1951, 1934, 1934, 1929, + 1925, 1931, 1936, 1929, 1937, 1941, 1924, 1982, 1923, 1975, + 1920, 1921, 1920, 1932, 1921, 2341, 1931, 2341, 2341, 1920, + 2341, 1930, 1966, 1926, 1969, 2341, 2341, 2341, 640, 639, + 666, 2341, 617, 1928, 1908, 1961, 1906, 1959, 1904, 1903, + 1902, 1909, 1902, 1910, 1913, 1895, 1895, 1910, 1909, 619, + 1908, 1907, 1891, 1906, 1888, 1935, 1902, 1940, 1884, 1886, + + 1898, 1898, 1897, 2341, 1882, 1879, 1937, 1892, 1884, 1890, + 1881, 1889, 2341, 1874, 1885, 1889, 1871, 1883, 1884, 568, + 1866, 1860, 1865, 1862, 1877, 1876, 1877, 1856, 1866, 1872, + 1915, 1870, 1869, 1861, 1852, 2341, 1853, 1855, 2341, 1863, + 1902, 1901, 16, 1862, 1899, 1844, 1845, 1848, 1849, 1840, + 2341, 1854, 1840, 695, 1832, 1836, 1852, 1849, 1841, 1886, + 1838, 1845, 1883, 2341, 1829, 1827, 1841, 1825, 1839, 1842, + 1876, 1875, 1874, 1873, 1818, 1871, 1870, 2341, 1815, 1829, + 675, 1830, 1829, 1826, 1826, 1863, 1823, 1812, 1814, 2341, + 2341, 666, 663, 1806, 1823, 1815, 1802, 1796, 1817, 1858, + + 656, 1852, 1812, 1850, 1849, 1801, 1795, 1798, 1806, 1809, + 1793, 1794, 1803, 1801, 1783, 1838, 1798, 1788, 1796, 1834, + 1795, 650, 1786, 1784, 92, 209, 269, 294, 313, 2341, + 502, 498, 554, 609, 614, 641, 638, 661, 660, 648, + 664, 662, 677, 674, 719, 720, 664, 677, 663, 673, + 721, 680, 729, 2341, 730, 686, 684, 686, 682, 676, + 731, 694, 683, 2341, 686, 697, 686, 699, 701, 745, + 688, 747, 690, 705, 2341, 699, 693, 704, 689, 700, + 713, 692, 698, 753, 717, 701, 701, 714, 758, 759, + 760, 707, 725, 720, 727, 722, 707, 719, 720, 726, + + 713, 2341, 778, 736, 738, 728, 740, 730, 743, 734, + 740, 784, 760, 747, 729, 736, 750, 795, 745, 2341, + 743, 758, 755, 741, 748, 747, 745, 764, 761, 762, + 750, 757, 758, 767, 771, 807, 769, 759, 772, 758, + 757, 764, 820, 761, 762, 768, 784, 767, 821, 776, + 2341, 786, 786, 779, 790, 788, 833, 775, 777, 792, + 793, 781, 779, 841, 798, 784, 787, 2341, 2341, 803, + 802, 803, 808, 796, 806, 808, 2341, 2341, 808, 810, + 797, 815, 802, 800, 818, 805, 805, 856, 803, 807, + 865, 2341, 866, 2341, 811, 825, 825, 870, 818, 817, + + 821, 815, 875, 828, 818, 819, 815, 825, 829, 840, + 824, 842, 837, 839, 832, 834, 835, 847, 837, 852, + 893, 850, 855, 832, 855, 839, 2341, 846, 847, 861, + 852, 850, 900, 847, 862, 880, 888, 857, 906, 868, + 908, 2341, 874, 862, 857, 858, 870, 877, 866, 867, + 863, 881, 867, 868, 878, 887, 923, 870, 888, 880, + 876, 929, 936, 893, 884, 2341, 888, 896, 898, 883, + 899, 889, 901, 895, 942, 908, 892, 893, 2341, 909, + 912, 895, 897, 955, 898, 917, 2341, 916, 919, 900, + 918, 906, 959, 917, 913, 910, 963, 912, 965, 927, + + 913, 931, 930, 916, 931, 923, 919, 937, 936, 923, + 2341, 2341, 931, 978, 931, 2341, 939, 942, 935, 988, + 2341, 937, 943, 987, 938, 939, 951, 945, 949, 947, + 945, 956, 1001, 945, 950, 1004, 1005, 949, 961, 2341, + 949, 957, 955, 1006, 968, 955, 956, 965, 977, 964, + 962, 976, 977, 993, 998, 980, 985, 968, 968, 970, + 970, 990, 989, 980, 969, 986, 993, 1036, 978, 998, + 991, 995, 999, 982, 999, 990, 1045, 992, 996, 2341, + 1043, 992, 993, 993, 1014, 1011, 1051, 1000, 1018, 1019, + 1005, 1013, 1022, 1002, 1017, 1024, 1066, 1067, 2341, 1020, + + 1069, 1070, 1012, 1022, 1032, 1035, 1018, 1020, 1020, 1027, + 1036, 1024, 1031, 1026, 1033, 1045, 1086, 1033, 1032, 1049, + 1090, 1040, 1044, 1042, 1040, 1035, 1096, 1097, 1047, 1099, + 1095, 1101, 1054, 2341, 1059, 1052, 1043, 1062, 1056, 1051, + 1061, 1058, 1063, 1059, 1071, 2341, 1056, 1058, 2341, 2341, + 1058, 1118, 1057, 1076, 1077, 1079, 1070, 1124, 1125, 1078, + 1063, 1077, 1085, 1067, 1072, 1111, 1102, 1134, 1089, 1089, + 1093, 1080, 1082, 1099, 1094, 1098, 1143, 1091, 1095, 2341, + 1092, 1088, 1105, 1085, 1106, 1096, 1147, 1100, 2341, 1113, + 1112, 1115, 1099, 1111, 1116, 1103, 1163, 1116, 1121, 1108, + + 1119, 1111, 1117, 1113, 1131, 1132, 1133, 2341, 2341, 1131, + 2341, 1133, 2341, 1118, 1129, 1120, 1139, 1129, 1181, 1138, + 1135, 1179, 1143, 1132, 1139, 1144, 1141, 1147, 2341, 1140, + 1132, 1193, 2341, 1194, 1141, 1148, 1192, 1154, 2341, 2341, + 1151, 2341, 1142, 2341, 1142, 1145, 1159, 1164, 1147, 1158, + 1207, 1164, 1165, 1166, 1206, 1162, 1213, 1166, 1215, 2341, + 1162, 1217, 1218, 1175, 1177, 2341, 2341, 1160, 1222, 1218, + 1182, 1166, 1178, 1197, 1228, 2341, 1185, 1176, 1187, 1232, + 1179, 1194, 1230, 1182, 2341, 1178, 1194, 1182, 1196, 1197, + 1194, 1238, 1201, 1191, 1201, 1207, 1195, 1195, 1250, 1246, + + 1252, 1209, 2341, 1211, 1211, 1213, 1206, 1215, 1216, 1213, + 1203, 1206, 1207, 1266, 1213, 1268, 1215, 1270, 1213, 1272, + 2341, 1230, 1209, 1224, 1218, 1221, 1234, 1237, 1236, 1234, + 1284, 1237, 2341, 2341, 1233, 1243, 1228, 1284, 1245, 1231, + 1292, 1293, 1237, 1247, 1296, 1253, 2341, 1245, 1245, 1247, + 1249, 1302, 1245, 2341, 1246, 2341, 1248, 2341, 2341, 1261, + 1264, 1265, 2341, 1252, 1260, 1312, 1261, 1293, 2341, 1315, + 1265, 1312, 2341, 1260, 1268, 1262, 1259, 1262, 1265, 1265, + 1261, 1283, 1322, 1275, 1287, 1290, 1278, 1281, 1274, 1334, + 1282, 2341, 1277, 2341, 1280, 1339, 1292, 1283, 1298, 1298, + + 1301, 1301, 1298, 1342, 1304, 2341, 1296, 2341, 1297, 2341, + 1307, 2341, 1347, 1309, 1310, 1307, 1351, 1299, 1314, 1354, + 1316, 1308, 2341, 1305, 1305, 1311, 1310, 1308, 1323, 1323, + 2341, 2341, 1364, 1311, 2341, 1328, 1313, 1313, 1315, 1321, + 2341, 1330, 1377, 1320, 1330, 1341, 1339, 1383, 1337, 1346, + 2341, 1343, 1362, 2341, 1346, 1331, 1391, 1392, 1349, 1354, + 1336, 1396, 1397, 1398, 1394, 1358, 1355, 1351, 1344, 1399, + 1357, 1358, 2341, 1348, 1361, 1409, 2341, 1347, 1407, 1370, + 1366, 1411, 1359, 1364, 1362, 1421, 1377, 1365, 1424, 1374, + 1426, 1387, 1376, 1370, 1430, 1372, 1381, 1374, 1388, 1391, + + 1436, 1378, 1395, 1391, 1381, 1396, 1380, 1438, 1439, 1440, + 1387, 1442, 1405, 1398, 1397, 1391, 2341, 1408, 1395, 1394, + 1450, 2341, 1391, 1409, 1458, 1428, 1460, 1413, 2341, 2341, + 1404, 1415, 1464, 2341, 2341, 2341, 1410, 1415, 1413, 1463, + 1421, 1426, 1414, 1430, 1419, 1417, 1418, 2341, 1476, 1422, + 1473, 1417, 1423, 1483, 1431, 1441, 1442, 2341, 1488, 1441, + 1485, 2341, 1443, 2341, 1434, 1449, 1437, 2341, 1447, 1448, + 1449, 1498, 1456, 2341, 1495, 1461, 1437, 1455, 1456, 1465, + 1447, 1453, 1455, 1509, 1468, 1467, 1458, 1508, 1455, 1462, + 1516, 1466, 1470, 1475, 1468, 2341, 1521, 2341, 1470, 1523, + + 1465, 2341, 1468, 1478, 1522, 1470, 1485, 1472, 1487, 1473, + 1480, 1480, 1491, 2341, 1485, 1480, 1479, 1539, 1492, 2341, + 1536, 1487, 1484, 2341, 1498, 1485, 1501, 1503, 1548, 1501, + 1498, 1506, 1500, 2341, 1553, 1494, 1496, 1512, 1505, 1495, + 1511, 1512, 1506, 1522, 2341, 1512, 1564, 1524, 1508, 1562, + 1526, 2341, 1510, 1517, 1571, 1567, 2341, 1529, 2341, 1569, + 1531, 1532, 1517, 1518, 1526, 1580, 1528, 1577, 1578, 1533, + 1545, 1542, 1533, 1540, 2341, 1537, 1542, 1540, 1592, 1593, + 1541, 1551, 1538, 2341, 1553, 1554, 1555, 1556, 2341, 1546, + 1558, 1603, 1560, 1605, 1547, 1555, 1549, 1557, 1570, 2341, + + 1571, 1552, 1559, 1550, 1610, 1571, 2341, 1575, 1560, 1560, + 1575, 1568, 1567, 1578, 1565, 2341, 1581, 1569, 1572, 1628, + 1586, 1577, 1589, 1580, 1589, 1591, 1595, 2341, 2341, 1588, + 1578, 1638, 1581, 1640, 1582, 1642, 1600, 1644, 2341, 1645, + 2341, 1641, 1603, 1600, 1605, 1592, 1600, 1611, 1608, 1654, + 1597, 1602, 1593, 1658, 1611, 1612, 1602, 1619, 1618, 1659, + 1603, 1622, 1623, 2341, 1620, 1669, 1626, 1627, 1672, 1629, + 1632, 1619, 1628, 2341, 1677, 2341, 1630, 2341, 1639, 2341, + 2341, 1621, 1681, 1628, 1683, 1626, 1685, 1633, 1682, 2341, + 1648, 1689, 1648, 2341, 1639, 1629, 1688, 1654, 1647, 1643, + + 1697, 1640, 1642, 1647, 2341, 1643, 1645, 2341, 1650, 1660, + 1645, 1654, 2341, 1655, 1649, 1661, 2341, 1657, 2341, 1667, + 2341, 1668, 1658, 1662, 2341, 1664, 1672, 1717, 1658, 1660, + 1657, 1681, 2341, 1668, 1675, 1678, 1667, 1721, 1668, 1676, + 1685, 1686, 1687, 1688, 1681, 1676, 1677, 1677, 1683, 1683, + 1695, 1740, 2341, 1686, 1698, 1743, 1692, 1694, 1692, 1747, + 1700, 1687, 1702, 1707, 1752, 1753, 1754, 1755, 1712, 1757, + 1758, 1759, 1706, 1710, 1704, 2341, 1720, 1764, 2341, 1721, + 1706, 1724, 2341, 1715, 1729, 1725, 1718, 2341, 2341, 2341, + 2341, 1772, 2341, 2341, 2341, 1722, 1730, 1775, 1736, 2341, + + 1777, 1719, 1779, 1734, 1733, 1734, 1724, 2341, 1784, 1780, + 2341, 1727, 2341, 1739, 2341, 1788, 1730, 1746, 1791, 2341, + 1752, 1749, 1741, 2341, 1791, 1740, 2341, 1752, 1745, 1800, + 1748, 1743, 1745, 1760, 1745, 2341, 1806, 1759, 1808, 1809, + 1757, 2341, 1759, 2341, 2341, 1753, 1769, 1814, 1815, 2341, + 2341, 2341, 1821, 1824, 1827, 1828, 1830, 1833, 1836, 1839 } ; -static const flex_int16_t yy_def[1945] = +static yyconst flex_int16_t yy_def[1961] = { 0, - 1933, 1933, 1934, 1934, 1933, 1933, 1933, 1933, 1933, 1933, - 1932, 1932, 1932, 1932, 1932, 1935, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1936, - 1932, 1932, 1932, 1937, 15, 1932, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1938, 45, 45, 45, + 1953, 1953, 1954, 1954, 1953, 1953, 1953, 1953, 1953, 1953, + 1952, 1952, 1952, 1952, 1952, 1955, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1956, + 1952, 1952, 1952, 1957, 15, 1952, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1958, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1935, 1932, 1932, - 1932, 1932, 1932, 1932, 1939, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1936, 1932, 1937, 1932, + 45, 45, 45, 45, 45, 45, 45, 1955, 1952, 1952, + 1952, 1952, 1952, 1952, 1959, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1956, 1952, 1957, 1952, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1940, 45, 1938, 45, 45, 45, 45, 45, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1960, 45, 1958, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1939, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1941, 45, 45, 1932, 45, 45, 1932, 45, 45, + 45, 45, 1959, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 45, 45, 1952, 45, 45, 1952, 45, 45, 45, - 45, 45, 45, 45, 1940, 1932, 1938, 45, 45, 45, + 45, 45, 45, 1960, 1952, 1952, 115, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1942, 45, 45, 45, 45, 1932, 45, - 1932, 45, 1932, 45, 1938, 1932, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, + 45, 45, 45, 45, 45, 45, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 45, 45, 45, 45, 1952, 45, 1952, + 45, 1952, 45, 115, 1952, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 1932, 1932, 1943, 45, 45, 45, 1932, - 45, 1932, 45, 1938, 45, 45, 45, 45, 45, 45, - 1932, 45, 45, 45, 45, 45, 45, 45, 1932, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, + 45, 1952, 1952, 1952, 45, 45, 45, 1952, 45, 1952, + 45, 115, 45, 45, 45, 45, 45, 45, 1952, 45, + 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 1932, - 1932, 45, 1932, 45, 45, 1932, 1944, 45, 1932, 1932, - 1932, 45, 45, 45, 1932, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 1952, 1952, 45, + 1952, 45, 45, 1952, 45, 1952, 1952, 1952, 45, 45, + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, - 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 1932, 45, 45, 45, 45, 45, 45, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 1932, - 45, 45, 45, 45, 45, 45, 45, 1932, 1932, 45, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1952, 1952, 45, + 45, 45, 45, 45, 45, 45, 1952, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 45, 1932, 45, 45, 45, 45, 45, + 45, 1952, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, + 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1932, 1932, 45, 45, 45, 1932, 45, 45, 45, 45, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, + 1952, 1952, 45, 45, 45, 1952, 45, 45, 45, 45, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1932, 45, 45, 1932, 1932, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 45, 1952, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, + 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1932, 1932, 45, 1932, 45, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, - 1932, 45, 45, 45, 45, 45, 1932, 1932, 45, 1932, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 45, 45, 1932, 1932, 45, 45, 45, 45, 45, - 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, - + 45, 45, 45, 45, 45, 45, 45, 1952, 1952, 45, + 1952, 45, 1952, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, + 45, 45, 1952, 45, 45, 45, 45, 45, 1952, 1952, + 45, 1952, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, + 45, 45, 45, 45, 45, 1952, 1952, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, + 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, - 1932, 45, 1932, 45, 1932, 1932, 45, 45, 45, 1932, - 45, 45, 45, 45, 45, 1932, 45, 45, 45, 1932, + + 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 1932, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1952, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, + 45, 45, 45, 1952, 45, 1952, 45, 1952, 1952, 45, + 45, 45, 1952, 45, 45, 45, 45, 45, 1952, 45, + 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 1932, 45, 1932, 45, 1932, 45, 1932, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 45, - 45, 45, 45, 45, 45, 45, 1932, 1932, 45, 45, - 1932, 45, 45, 45, 45, 45, 1932, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 1932, + 45, 1952, 45, 1952, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 1952, 45, 1952, 45, 1952, + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, + 1952, 1952, 45, 45, 1952, 45, 45, 45, 45, 45, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1952, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1952, 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 1932, 45, 45, 45, - 45, 45, 45, 1932, 1932, 45, 45, 45, 1932, 1932, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 1932, 45, 1932, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 1932, 45, 45, + 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, + 45, 1952, 45, 45, 45, 45, 45, 45, 1952, 1952, + 45, 45, 45, 1952, 1952, 1952, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, + 45, 1952, 45, 1952, 45, 45, 45, 1952, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 1952, 45, 45, + + 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 1952, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, + 45, 1952, 45, 45, 45, 45, 1952, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, - 45, 1932, 45, 45, 45, 1932, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, - 45, 45, 1932, 45, 45, 45, 1932, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 45, 45, 45, 1932, 45, 45, 45, 45, 1932, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1932, 45, 45, 45, - 45, 45, 45, 45, 45, 1932, 45, 45, 45, 45, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 1932, 45, - - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1932, 1932, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1932, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1952, 45, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 1952, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1952, + + 45, 45, 45, 45, 45, 45, 1952, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1952, 1952, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1952, 45, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1932, 45, 1932, 45, 1932, 45, 1932, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 1932, - 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1932, 45, 45, 1932, 45, 45, 45, - - 45, 1932, 45, 45, 45, 1932, 45, 1932, 45, 1932, - 45, 45, 45, 1932, 45, 45, 45, 45, 45, 45, - 45, 1932, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1952, 45, 1952, 45, 1952, 45, 1952, + 1952, 45, 45, 45, 45, 45, 45, 45, 45, 1952, + 45, 45, 45, 1952, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 1952, 45, 45, 1952, 45, 45, + 45, 45, 1952, 45, 45, 45, 1952, 45, 1952, 45, + 1952, 45, 45, 45, 1952, 45, 45, 45, 45, 45, + 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1932, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1952, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1932, 45, 45, 1932, 45, 45, 1932, 45, - 45, 45, 45, 1932, 1932, 1932, 1932, 45, 1932, 1932, - 1932, 45, 45, 45, 45, 1932, 45, 45, 45, 45, - 45, 45, 1932, 45, 45, 1932, 45, 1932, 1932, 45, - - 45, 45, 45, 1932, 45, 45, 1932, 45, 45, 1932, - 45, 45, 45, 45, 45, 45, 45, 1932, 45, 45, - 45, 45, 45, 1932, 1932, 45, 45, 45, 45, 1932, - 1932, 0, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932 + 45, 45, 45, 45, 45, 1952, 45, 45, 1952, 45, + 45, 45, 1952, 45, 45, 45, 45, 1952, 1952, 1952, + 1952, 45, 1952, 1952, 1952, 45, 45, 45, 45, 1952, + + 45, 45, 45, 45, 45, 45, 45, 1952, 45, 45, + 1952, 45, 1952, 45, 1952, 45, 45, 45, 45, 1952, + 45, 45, 45, 1952, 45, 45, 1952, 45, 45, 45, + 45, 45, 45, 45, 45, 1952, 45, 45, 45, 45, + 45, 1952, 45, 1952, 1952, 45, 45, 45, 45, 1952, + 1952, 0, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952 } ; -static const flex_int16_t yy_nxt[2409] = +static yyconst flex_int16_t yy_nxt[2415] = { 0, - 1932, 13, 14, 13, 1932, 15, 16, 1932, 17, 18, + 1952, 13, 14, 13, 1952, 15, 16, 1952, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 84, 766, 37, 14, 37, 85, 25, 26, 38, 100, - 1932, 27, 37, 14, 37, 42, 28, 42, 38, 90, - 91, 29, 197, 30, 13, 14, 13, 89, 90, 25, + 84, 764, 37, 14, 37, 85, 25, 26, 38, 100, + 1952, 27, 37, 14, 37, 42, 28, 42, 38, 90, + 91, 29, 196, 30, 13, 14, 13, 89, 90, 25, 31, 91, 13, 14, 13, 13, 14, 13, 32, 40, - 767, 13, 14, 13, 33, 40, 101, 90, 91, 197, + 765, 13, 14, 13, 33, 40, 101, 90, 91, 196, 89, 34, 35, 13, 14, 13, 93, 15, 16, 94, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, 13, 14, 13, 89, 39, 102, 25, 26, 13, 14, 13, 27, 39, 42, 105, 42, 28, 42, 106, 42, 41, 29, 108, 30, 111, 112, 92, 134, - 41, 25, 31, 102, 135, 365, 87, 136, 87, 105, + 41, 25, 31, 102, 135, 364, 87, 136, 87, 105, 32, 88, 88, 88, 88, 88, 33, 108, 106, 111, - 850, 112, 366, 34, 35, 44, 44, 44, 45, 45, + 849, 112, 365, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, 48, 49, 50, 45, 51, 52, 53, 45, 45, 45, @@ -1422,259 +1200,260 @@ static const flex_int16_t yy_nxt[2409] = 58, 45, 59, 60, 61, 62, 63, 64, 65, 51, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 56, 45, 45, 45, 45, 45, 79, 851, + 76, 77, 56, 45, 45, 45, 45, 45, 79, 850, 80, 80, 80, 80, 80, 79, 102, 82, 82, 82, - 82, 82, 204, 81, 83, 83, 83, 83, 83, 79, + 82, 82, 203, 81, 83, 83, 83, 83, 83, 79, 81, 82, 82, 82, 82, 82, 105, 81, 118, 164, - 109, 129, 116, 165, 81, 204, 81, 201, 117, 119, - 110, 130, 120, 81, 121, 132, 122, 198, 184, 105, - 81, 185, 133, 109, 852, 233, 405, 81, 45, 406, - 131, 45, 45, 45, 201, 45, 45, 45, 110, 114, - 137, 234, 45, 45, 184, 45, 45, 185, 199, 184, + 109, 129, 116, 165, 81, 203, 81, 200, 117, 119, + 110, 130, 120, 81, 121, 132, 122, 197, 184, 105, + 81, 185, 133, 109, 851, 233, 404, 81, 45, 405, + 131, 45, 45, 45, 200, 45, 45, 45, 110, 114, + 137, 234, 45, 45, 184, 45, 45, 185, 198, 184, 138, 45, 139, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 123, 187, 45, 124, 125, 185, 45, 126, 127, 145, 45, 141, 142, 146, 294, 143, - 108, 147, 45, 853, 128, 144, 45, 186, 45, 115, - 153, 186, 295, 148, 111, 188, 196, 149, 154, 150, - 155, 151, 854, 152, 158, 156, 157, 159, 160, 166, + 108, 147, 45, 852, 128, 144, 45, 186, 45, 115, + 153, 186, 295, 148, 111, 188, 195, 149, 154, 150, + 155, 151, 853, 152, 158, 156, 157, 159, 160, 166, 173, 174, 228, 167, 229, 186, 168, 111, 161, 189, - 109, 162, 196, 169, 170, 203, 251, 180, 171, 172, + 109, 162, 195, 169, 170, 202, 251, 180, 171, 172, 110, 230, 181, 83, 83, 83, 83, 83, 88, 88, 88, 88, 88, 175, 242, 176, 81, 252, 177, 178, - 100, 79, 203, 80, 80, 80, 80, 80, 110, 83, - 83, 83, 83, 83, 99, 179, 81, 855, 87, 81, - 87, 99, 81, 88, 88, 88, 88, 88, 79, 193, - 82, 82, 82, 82, 82, 200, 202, 101, 243, 81, - 200, 193, 856, 81, 215, 81, 88, 88, 88, 88, - 88, 99, 211, 216, 217, 99, 275, 193, 208, 99, - 276, 212, 508, 200, 202, 213, 81, 99, 259, 209, - 231, 99, 509, 99, 192, 207, 207, 207, 207, 207, - 222, 223, 278, 232, 207, 207, 207, 207, 207, 207, - - 224, 237, 271, 288, 238, 272, 273, 289, 239, 265, - 201, 290, 309, 307, 857, 373, 307, 207, 207, 207, - 207, 207, 207, 308, 266, 267, 268, 279, 280, 281, - 308, 309, 315, 317, 320, 309, 318, 299, 282, 322, - 283, 307, 284, 285, 310, 286, 324, 315, 386, 308, - 858, 335, 859, 414, 312, 315, 311, 320, 320, 336, - 437, 317, 322, 318, 337, 338, 415, 321, 374, 433, - 327, 375, 425, 324, 325, 325, 325, 325, 325, 433, - 439, 382, 456, 325, 325, 325, 325, 325, 325, 437, - 441, 459, 433, 860, 465, 437, 460, 441, 387, 457, - - 466, 522, 434, 439, 861, 630, 325, 325, 325, 325, - 325, 325, 480, 556, 597, 631, 557, 481, 441, 444, - 444, 444, 444, 444, 445, 510, 862, 598, 444, 444, - 444, 444, 444, 444, 496, 497, 498, 503, 526, 568, - 499, 535, 527, 504, 540, 536, 863, 572, 541, 573, - 864, 444, 444, 444, 444, 444, 444, 563, 607, 523, - 865, 588, 564, 608, 568, 482, 696, 568, 695, 589, - 483, 590, 591, 592, 572, 593, 573, 45, 45, 45, - 45, 45, 744, 745, 815, 866, 45, 45, 45, 45, - 45, 45, 574, 667, 696, 695, 694, 698, 668, 814, - - 777, 697, 867, 804, 699, 778, 868, 815, 869, 45, - 45, 45, 45, 45, 45, 805, 823, 824, 845, 825, - 870, 871, 846, 872, 873, 874, 847, 814, 875, 876, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 889, 890, 779, 891, 892, 893, 894, 895, - 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, - 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, - 916, 918, 919, 922, 923, 924, 926, 917, 927, 920, - 928, 925, 929, 921, 930, 931, 932, 933, 934, 935, - 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, - - 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, - 938, 966, 967, 968, 969, 970, 971, 972, 973, 974, - 975, 976, 977, 978, 979, 981, 982, 983, 984, 980, - 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, - 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, - 1006, 1007, 1008, 1005, 1009, 1010, 1011, 1012, 1013, 1014, - 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, - 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, - 1035, 1036, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, - - 1046, 1047, 1048, 1037, 1049, 1050, 1051, 1052, 1053, 1054, - 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, - 1075, 1076, 1077, 1055, 1078, 1079, 1054, 1080, 1081, 1082, - 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, - 1093, 1094, 1095, 1096, 1097, 1098, 1101, 1102, 1103, 1104, - 1099, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, - 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, - 1124, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, - - 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, - 1154, 1155, 1156, 1100, 1157, 1158, 1159, 1160, 1161, 1162, - 1163, 1164, 1165, 1167, 1166, 1168, 1169, 1170, 1171, 1172, - 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, - 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, - 1165, 1166, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, - 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1211, - 1213, 1214, 1215, 1210, 1216, 1217, 1218, 1219, 1220, 1221, - 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, - 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, - - 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, - 1252, 1253, 1254, 1212, 1255, 1256, 1257, 1258, 1259, 1260, - 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, - 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, - 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, - 1291, 1292, 1293, 1294, 1272, 1295, 1296, 1297, 1298, 1299, - 1273, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, - 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, - 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, - 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, - - 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, - 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, - 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, - 1370, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, - 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, - 1391, 1392, 1393, 1365, 1394, 1395, 1396, 1397, 1398, 1399, - 1400, 1401, 1349, 1402, 1403, 1404, 1405, 1406, 1407, 1408, - 1409, 1410, 1411, 1413, 1371, 1414, 1415, 1416, 1417, 1418, - 1412, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, - 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, - - 1439, 1440, 1441, 1442, 1438, 1443, 1444, 1445, 1446, 1447, - 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, - 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, - 1468, 1469, 1470, 1471, 1449, 1472, 1473, 1474, 1475, 1476, - 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, - 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, - 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, - 1507, 1508, 1509, 1512, 1510, 1513, 1514, 1515, 1516, 1517, - 1511, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, - 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1535, 1536, 1537, - - 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1534, 1545, 1546, - 1547, 1521, 1548, 1549, 1550, 1551, 1552, 1554, 1555, 1556, - 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, - 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, - 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, - 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, - 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, - 1607, 1609, 1610, 1611, 1553, 1608, 1612, 1613, 1614, 1615, - 1616, 1617, 1591, 1618, 1619, 1620, 1621, 1622, 1623, 1624, - 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, - - 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, - 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, - 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, - 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, - 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, - 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, - 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, - 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, - 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, - 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, - - 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, - 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, - 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, - 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, - 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, - 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, - 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, - 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, - 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, - 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, - - 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, - 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, - 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, - 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, - 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, - 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, - 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, - 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1913, 1912, 1914, - 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, - 1925, 1926, 1927, 1928, 1929, 1930, 1931, 12, 12, 12, - - 12, 12, 36, 36, 36, 36, 36, 78, 314, 78, - 78, 78, 97, 436, 97, 567, 97, 99, 99, 99, - 99, 99, 113, 113, 113, 113, 113, 183, 99, 183, - 183, 183, 205, 205, 205, 849, 848, 844, 843, 842, - 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, - 831, 830, 829, 828, 827, 826, 822, 821, 820, 819, - 818, 817, 816, 813, 812, 811, 810, 809, 808, 807, - 806, 803, 802, 801, 800, 799, 798, 797, 796, 795, - 794, 793, 792, 791, 790, 789, 788, 787, 786, 785, - 784, 783, 782, 781, 780, 776, 775, 774, 773, 772, - - 771, 770, 769, 768, 765, 764, 763, 762, 761, 760, - 759, 758, 757, 756, 755, 754, 753, 752, 751, 750, - 749, 748, 747, 746, 743, 742, 741, 740, 739, 738, - 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, - 727, 726, 725, 724, 723, 722, 721, 720, 719, 718, - 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, - 707, 706, 705, 704, 703, 702, 701, 700, 694, 693, - 692, 691, 690, 689, 688, 687, 686, 685, 684, 683, - 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, - 672, 671, 670, 669, 666, 665, 664, 663, 662, 661, - - 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, - 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, - 640, 639, 638, 637, 636, 635, 634, 633, 632, 629, - 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, - 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, - 606, 605, 604, 603, 602, 601, 600, 599, 596, 595, - 594, 587, 586, 585, 584, 583, 582, 581, 580, 579, - 578, 577, 576, 575, 571, 570, 569, 566, 565, 562, - 561, 560, 559, 558, 555, 554, 553, 552, 551, 550, - 549, 548, 547, 546, 545, 544, 543, 542, 539, 538, - - 537, 534, 533, 532, 531, 530, 529, 528, 525, 524, - 521, 520, 519, 518, 517, 516, 515, 514, 513, 512, - 511, 507, 506, 505, 502, 501, 500, 495, 494, 493, - 492, 491, 490, 489, 488, 487, 486, 485, 484, 479, - 478, 477, 476, 475, 474, 473, 472, 471, 470, 469, - 468, 467, 464, 463, 462, 461, 458, 455, 454, 453, - 452, 451, 450, 449, 448, 447, 446, 443, 442, 440, - 438, 435, 432, 431, 430, 429, 428, 427, 426, 424, - 423, 422, 421, 420, 419, 418, 417, 416, 413, 412, - 411, 410, 409, 408, 407, 404, 403, 402, 401, 400, - - 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, - 389, 388, 385, 384, 383, 381, 380, 379, 378, 377, - 376, 372, 371, 370, 369, 368, 367, 364, 363, 362, - 361, 360, 359, 358, 357, 356, 355, 354, 353, 352, - 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, - 341, 340, 339, 334, 333, 332, 331, 330, 329, 328, - 326, 206, 323, 321, 319, 316, 313, 306, 305, 304, - 303, 302, 301, 300, 298, 297, 296, 293, 292, 291, - 287, 277, 274, 270, 269, 264, 263, 262, 261, 260, - 258, 257, 256, 255, 254, 253, 250, 249, 248, 247, - - 246, 245, 244, 241, 240, 236, 235, 227, 226, 225, - 221, 220, 219, 218, 214, 210, 206, 195, 194, 191, - 190, 182, 163, 140, 107, 104, 103, 43, 98, 96, - 95, 86, 43, 1932, 11, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932 + 100, 79, 202, 80, 80, 80, 80, 80, 110, 83, + 83, 83, 83, 83, 99, 179, 81, 309, 87, 81, + 87, 99, 81, 88, 88, 88, 88, 88, 79, 192, + 82, 82, 82, 82, 82, 199, 201, 101, 243, 81, + 309, 192, 199, 81, 215, 81, 88, 88, 88, 88, + 88, 99, 211, 216, 217, 99, 275, 192, 208, 99, + 276, 212, 200, 199, 201, 213, 81, 99, 231, 209, + 259, 99, 307, 99, 99, 206, 278, 554, 222, 223, + 555, 232, 307, 207, 207, 207, 207, 207, 224, 299, + + 372, 265, 207, 207, 207, 207, 207, 207, 237, 271, + 307, 238, 272, 273, 308, 239, 266, 267, 268, 308, + 310, 279, 280, 281, 309, 207, 207, 207, 207, 207, + 207, 314, 282, 316, 283, 317, 284, 285, 288, 286, + 308, 319, 289, 321, 323, 311, 290, 312, 385, 854, + 413, 855, 463, 373, 314, 314, 374, 319, 464, 435, + 320, 316, 317, 414, 319, 424, 321, 432, 432, 439, + 435, 323, 324, 324, 324, 324, 324, 437, 326, 334, + 381, 324, 324, 324, 324, 324, 324, 335, 435, 457, + 432, 433, 336, 337, 458, 520, 501, 439, 386, 443, + + 437, 454, 502, 439, 324, 324, 324, 324, 324, 324, + 442, 442, 442, 442, 442, 742, 743, 856, 455, 442, + 442, 442, 442, 442, 442, 478, 494, 495, 496, 506, + 479, 508, 497, 524, 533, 565, 538, 525, 534, 507, + 539, 565, 442, 442, 442, 442, 442, 442, 569, 561, + 570, 627, 594, 521, 562, 604, 585, 664, 857, 858, + 605, 628, 665, 565, 586, 595, 587, 588, 589, 571, + 590, 691, 692, 693, 695, 569, 694, 570, 480, 713, + 802, 696, 714, 481, 45, 45, 45, 45, 45, 813, + 859, 860, 803, 45, 45, 45, 45, 45, 45, 692, + + 775, 693, 812, 821, 822, 776, 823, 844, 861, 862, + 863, 845, 813, 864, 865, 846, 45, 45, 45, 45, + 45, 45, 866, 867, 868, 869, 870, 871, 872, 873, + 812, 875, 874, 876, 877, 878, 879, 880, 881, 882, + 883, 884, 885, 886, 777, 887, 888, 889, 890, 891, + 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, + 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, + 912, 913, 914, 915, 917, 918, 921, 922, 923, 925, + 916, 926, 919, 927, 924, 928, 920, 929, 930, 931, + 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, + + 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, + 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, + 962, 963, 964, 937, 965, 966, 967, 968, 969, 970, + 971, 972, 973, 974, 975, 976, 977, 978, 979, 981, + 982, 983, 984, 980, 985, 986, 987, 988, 989, 990, + 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, + 1001, 1002, 1003, 1004, 1006, 1007, 1008, 1005, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, + 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, + 1031, 1032, 1033, 1034, 1035, 1036, 1038, 1039, 1040, 1041, + + 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1037, 1049, 1050, + 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, + 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, + 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1055, 1078, 1079, + 1054, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, + 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, + 1099, 1102, 1103, 1104, 1105, 1100, 1106, 1107, 1108, 1109, + 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, + 1120, 1121, 1122, 1123, 1124, 1126, 1127, 1128, 1129, 1130, + 1131, 1132, 1133, 1134, 1135, 1125, 1136, 1137, 1138, 1139, + + 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, + 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1101, 1158, + 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1168, 1167, + 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, + 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, + 1189, 1190, 1191, 1192, 1193, 1166, 1167, 1194, 1195, 1196, + 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, + 1207, 1208, 1209, 1210, 1211, 1213, 1215, 1216, 1217, 1212, + 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, + + 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1214, + 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, + 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1274, 1297, 1298, 1299, 1300, 1301, 1275, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, + 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, + 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, + + 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, + 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1353, 1354, 1355, + 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, + 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1375, 1376, + 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, + 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, + 1368, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1352, + 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, + 1415, 1374, 1417, 1418, 1419, 1420, 1421, 1422, 1416, 1423, + 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, + + 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1443, 1444, + 1445, 1446, 1442, 1447, 1448, 1449, 1450, 1451, 1452, 1453, + 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, + 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, + 1474, 1475, 1453, 1476, 1477, 1478, 1479, 1480, 1481, 1482, + 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, + 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, + 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, + 1513, 1514, 1517, 1515, 1518, 1519, 1520, 1521, 1522, 1516, + 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, + + 1533, 1534, 1535, 1536, 1537, 1538, 1540, 1541, 1542, 1543, + 1544, 1545, 1546, 1547, 1548, 1549, 1539, 1550, 1551, 1552, + 1526, 1553, 1554, 1555, 1556, 1557, 1558, 1560, 1561, 1562, + 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, + 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, + 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, + 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, + 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, + 1613, 1614, 1616, 1617, 1559, 1618, 1615, 1619, 1620, 1621, + 1622, 1623, 1597, 1624, 1625, 1626, 1627, 1628, 1629, 1630, + + 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, + 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, + 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, + 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, + 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, + 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, + 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, + 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, + 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, + 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, + + 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, + 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, + 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, + 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, + 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, + 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, + 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, + 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, + 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, + 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, + + 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, + 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, + 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, + 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, + 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, + 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, + 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, + 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, + 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, + 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1930, 1929, + + 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, + 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, + 1951, 12, 12, 12, 36, 36, 36, 78, 97, 78, + 99, 99, 99, 113, 113, 113, 183, 848, 183, 204, + 204, 204, 847, 843, 842, 841, 840, 839, 838, 837, + 836, 835, 834, 833, 832, 831, 830, 829, 828, 827, + 826, 825, 824, 820, 819, 818, 817, 816, 815, 814, + 811, 810, 809, 808, 807, 806, 805, 804, 801, 800, + 799, 798, 797, 796, 795, 794, 793, 792, 791, 790, + 789, 788, 787, 786, 785, 784, 783, 782, 781, 780, + + 779, 778, 774, 773, 772, 771, 770, 769, 768, 767, + 766, 763, 762, 761, 760, 759, 758, 757, 756, 755, + 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, + 744, 741, 740, 739, 738, 737, 736, 735, 734, 733, + 732, 731, 730, 729, 728, 727, 726, 725, 724, 723, + 722, 721, 720, 719, 718, 717, 716, 715, 712, 711, + 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, + 700, 699, 698, 697, 691, 690, 689, 688, 687, 686, + 685, 684, 683, 682, 681, 680, 679, 678, 677, 676, + 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, + + 663, 662, 661, 660, 659, 658, 657, 656, 655, 654, + 653, 652, 651, 650, 649, 648, 647, 646, 645, 644, + 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, + 633, 632, 631, 630, 629, 626, 625, 624, 623, 622, + 621, 620, 619, 618, 617, 616, 615, 614, 613, 612, + 611, 610, 609, 608, 607, 606, 603, 602, 601, 600, + 599, 598, 597, 596, 593, 592, 591, 584, 583, 582, + 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, + 568, 567, 566, 564, 563, 560, 559, 558, 557, 556, + 553, 552, 551, 550, 549, 548, 547, 546, 545, 544, + + 543, 542, 541, 540, 537, 536, 535, 532, 531, 530, + 529, 528, 527, 526, 523, 522, 519, 518, 517, 516, + 515, 514, 513, 512, 511, 510, 509, 505, 504, 503, + 500, 499, 498, 493, 492, 491, 490, 489, 488, 487, + 486, 485, 484, 483, 482, 477, 476, 475, 474, 473, + 472, 471, 470, 469, 468, 467, 466, 465, 462, 461, + 460, 459, 456, 453, 452, 451, 450, 449, 448, 447, + 446, 445, 444, 441, 440, 438, 436, 434, 431, 430, + 429, 428, 427, 426, 425, 423, 422, 421, 420, 419, + 418, 417, 416, 415, 412, 411, 410, 409, 408, 407, + + 406, 403, 402, 401, 400, 399, 398, 397, 396, 395, + 394, 393, 392, 391, 390, 389, 388, 387, 384, 383, + 382, 380, 379, 378, 377, 376, 375, 371, 370, 369, + 368, 367, 366, 363, 362, 361, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 347, + 346, 345, 344, 343, 342, 341, 340, 339, 338, 333, + 332, 331, 330, 329, 328, 327, 325, 205, 322, 320, + 318, 315, 313, 306, 305, 304, 303, 302, 301, 300, + 298, 297, 296, 293, 292, 291, 287, 277, 274, 270, + 269, 264, 263, 262, 261, 260, 258, 257, 256, 255, + + 254, 253, 250, 249, 248, 247, 246, 245, 244, 241, + 240, 236, 235, 227, 226, 225, 221, 220, 219, 218, + 214, 210, 205, 194, 193, 191, 190, 182, 163, 140, + 107, 104, 103, 43, 98, 96, 95, 86, 43, 1952, + 11, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952 } ; -static const flex_int16_t yy_chk[2409] = +static yyconst flex_int16_t yy_chk[2415] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 646, 3, 3, 3, 21, 1, 1, 3, 44, + 21, 643, 3, 3, 3, 21, 1, 1, 3, 44, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 106, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, - 646, 8, 8, 8, 1, 8, 44, 27, 28, 106, + 643, 8, 8, 8, 1, 8, 44, 27, 28, 106, 26, 1, 1, 2, 2, 2, 32, 2, 2, 33, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 9, 9, 9, 31, 5, 47, 2, 2, @@ -1683,7 +1462,7 @@ static const flex_int16_t yy_chk[2409] = 51, 42, 9, 2, 53, 2, 55, 56, 31, 64, 10, 2, 2, 47, 64, 245, 25, 64, 25, 50, 2, 25, 25, 25, 25, 25, 2, 53, 51, 55, - 727, 56, 245, 2, 2, 15, 15, 15, 15, 15, + 725, 56, 245, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1691,13 +1470,13 @@ static const flex_int16_t yy_chk[2409] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 17, 728, + 15, 15, 15, 15, 15, 15, 15, 15, 17, 726, 17, 17, 17, 17, 17, 19, 58, 19, 19, 19, 19, 19, 112, 17, 20, 20, 20, 20, 20, 22, 19, 22, 22, 22, 22, 22, 62, 20, 59, 73, 54, 61, 58, 73, 22, 112, 17, 109, 58, 59, 54, 61, 59, 19, 59, 63, 59, 107, 89, 62, - 20, 90, 63, 54, 729, 131, 281, 22, 45, 281, + 20, 90, 63, 54, 727, 131, 281, 22, 45, 281, 62, 45, 45, 45, 109, 45, 45, 45, 54, 57, 65, 131, 45, 45, 89, 45, 57, 90, 107, 92, @@ -1705,243 +1484,244 @@ static const flex_int16_t yy_chk[2409] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 60, 92, 57, 60, 60, 93, 57, 60, 60, 68, 57, 67, 67, 68, 171, 67, - 69, 68, 57, 730, 60, 67, 57, 91, 57, 57, + 69, 68, 57, 728, 60, 67, 57, 91, 57, 57, 70, 94, 171, 68, 76, 93, 105, 68, 70, 69, - 70, 69, 731, 69, 71, 70, 70, 71, 71, 74, + 70, 69, 729, 69, 71, 70, 70, 71, 71, 74, 75, 75, 129, 74, 129, 91, 74, 76, 71, 94, 75, 71, 105, 74, 74, 111, 145, 76, 74, 74, 75, 129, 76, 79, 79, 79, 79, 79, 87, 87, 87, 87, 87, 75, 137, 75, 79, 145, 75, 75, 99, 80, 111, 80, 80, 80, 80, 80, 75, 83, - 83, 83, 83, 83, 101, 75, 80, 733, 81, 79, + 83, 83, 83, 83, 101, 75, 80, 186, 81, 79, 81, 101, 83, 81, 81, 81, 81, 81, 82, 102, 82, 82, 82, 82, 82, 108, 110, 99, 137, 80, - 152, 116, 734, 82, 120, 83, 88, 88, 88, 88, + 186, 116, 152, 82, 120, 83, 88, 88, 88, 88, 88, 101, 118, 120, 120, 101, 163, 102, 116, 101, - 163, 118, 381, 108, 110, 118, 82, 101, 152, 116, - 130, 101, 381, 101, 101, 115, 115, 115, 115, 115, - 125, 125, 165, 130, 115, 115, 115, 115, 115, 115, - - 125, 134, 161, 167, 134, 161, 161, 167, 134, 158, - 175, 167, 186, 184, 735, 252, 187, 115, 115, 115, - 115, 115, 115, 185, 158, 158, 158, 165, 165, 165, - 188, 189, 193, 196, 200, 186, 197, 175, 165, 202, - 165, 184, 165, 165, 187, 165, 204, 209, 263, 185, - 736, 217, 737, 289, 189, 193, 188, 200, 259, 217, - 315, 196, 202, 197, 217, 217, 289, 299, 252, 307, - 209, 252, 299, 204, 207, 207, 207, 207, 207, 310, - 317, 259, 338, 207, 207, 207, 207, 207, 207, 315, - 320, 341, 307, 738, 346, 327, 341, 382, 263, 338, - - 346, 395, 310, 317, 739, 498, 207, 207, 207, 207, - 207, 207, 360, 425, 465, 498, 425, 360, 320, 325, - 325, 325, 325, 325, 327, 382, 740, 465, 325, 325, - 325, 325, 325, 325, 373, 373, 373, 377, 398, 437, - 373, 406, 398, 377, 410, 406, 741, 443, 410, 443, - 742, 325, 325, 325, 325, 325, 325, 431, 475, 395, - 743, 461, 431, 475, 445, 360, 573, 437, 572, 461, - 360, 461, 461, 461, 443, 461, 443, 444, 444, 444, - 444, 444, 623, 623, 696, 744, 444, 444, 444, 444, - 444, 444, 445, 537, 573, 572, 574, 576, 537, 695, - - 657, 574, 745, 684, 576, 657, 746, 696, 747, 444, - 444, 444, 444, 444, 444, 684, 704, 704, 724, 704, - 748, 749, 724, 750, 751, 752, 724, 695, 752, 753, - 754, 755, 757, 758, 759, 760, 761, 762, 763, 764, - 765, 767, 768, 769, 657, 770, 771, 772, 773, 774, - 775, 776, 778, 779, 780, 781, 782, 783, 784, 785, - 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, - 796, 797, 798, 799, 800, 801, 802, 796, 803, 798, - 805, 801, 806, 798, 807, 808, 809, 810, 811, 812, - 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, - - 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, - 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, - 815, 844, 845, 846, 847, 848, 849, 850, 851, 853, - 854, 855, 856, 857, 858, 859, 860, 861, 862, 858, - 863, 864, 865, 866, 867, 868, 871, 872, 873, 874, - 875, 876, 877, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 889, 886, 890, 891, 892, 894, 896, 897, - 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, - 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, - 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, - - 929, 930, 931, 919, 932, 933, 934, 935, 936, 937, - 938, 939, 940, 941, 942, 944, 945, 946, 947, 948, - 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, - 959, 960, 961, 938, 962, 963, 937, 964, 965, 967, - 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 980, 981, 982, 983, 984, 985, 986, 988, 989, - 984, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, - 1009, 1010, 1013, 1014, 1015, 1017, 1018, 1019, 1020, 1022, - 1008, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, - - 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1041, 1042, - 1043, 1044, 1045, 984, 1046, 1047, 1048, 1049, 1050, 1051, - 1052, 1053, 1054, 1056, 1055, 1057, 1058, 1059, 1060, 1061, - 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, - 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1080, 1081, 1082, - 1054, 1055, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, - 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1099, 1100, 1101, - 1102, 1103, 1104, 1100, 1105, 1106, 1107, 1108, 1109, 1110, - 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, - 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - - 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, - 1142, 1143, 1144, 1101, 1146, 1147, 1150, 1151, 1152, 1153, - 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, - 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, - 1174, 1175, 1176, 1177, 1178, 1180, 1181, 1182, 1183, 1184, - 1185, 1186, 1188, 1189, 1165, 1190, 1191, 1192, 1193, 1194, - 1166, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, - 1204, 1205, 1208, 1210, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1228, - 1229, 1230, 1232, 1233, 1234, 1235, 1236, 1239, 1241, 1243, - - 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 1259, 1260, 1261, 1262, 1263, 1266, - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1284, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, - 1299, 1301, 1302, 1272, 1303, 1304, 1305, 1306, 1307, 1308, - 1309, 1310, 1253, 1311, 1312, 1313, 1314, 1315, 1316, 1317, - 1319, 1320, 1321, 1322, 1278, 1323, 1324, 1325, 1326, 1327, - 1321, 1328, 1329, 1332, 1333, 1334, 1335, 1336, 1337, 1338, - 1339, 1340, 1341, 1342, 1343, 1345, 1346, 1347, 1348, 1349, - - 1350, 1352, 1354, 1357, 1349, 1358, 1359, 1361, 1362, 1363, - 1364, 1365, 1367, 1368, 1369, 1371, 1372, 1373, 1374, 1375, - 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, - 1386, 1387, 1389, 1391, 1365, 1392, 1393, 1394, 1395, 1396, - 1397, 1398, 1399, 1400, 1401, 1403, 1405, 1407, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1420, 1421, - 1422, 1423, 1424, 1425, 1426, 1429, 1430, 1432, 1433, 1434, - 1435, 1436, 1438, 1439, 1438, 1440, 1441, 1442, 1443, 1444, - 1438, 1445, 1446, 1448, 1449, 1451, 1452, 1453, 1454, 1455, - 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, - - 1466, 1467, 1469, 1470, 1471, 1473, 1474, 1462, 1475, 1476, - 1477, 1449, 1478, 1479, 1480, 1480, 1481, 1482, 1483, 1484, - 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, - 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, - 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1513, 1514, 1515, - 1516, 1518, 1519, 1520, 1521, 1522, 1523, 1526, 1527, 1528, - 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, - 1543, 1544, 1545, 1546, 1481, 1543, 1547, 1548, 1549, 1550, - 1551, 1553, 1521, 1554, 1555, 1557, 1559, 1560, 1561, 1563, - 1564, 1565, 1566, 1567, 1569, 1570, 1571, 1572, 1573, 1574, - - 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, - 1585, 1586, 1587, 1588, 1589, 1591, 1593, 1594, 1595, 1597, - 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1608, - 1609, 1610, 1611, 1612, 1614, 1615, 1616, 1618, 1619, 1620, - 1621, 1622, 1623, 1624, 1625, 1626, 1628, 1629, 1630, 1631, - 1632, 1633, 1634, 1635, 1636, 1637, 1639, 1640, 1641, 1642, - 1643, 1644, 1646, 1647, 1648, 1649, 1651, 1653, 1654, 1655, - 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, - 1666, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1677, - 1678, 1679, 1680, 1682, 1683, 1684, 1685, 1686, 1687, 1688, - - 1689, 1690, 1691, 1693, 1694, 1695, 1696, 1697, 1698, 1700, - 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1709, 1710, 1711, - 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1721, 1722, 1723, - 1724, 1725, 1726, 1727, 1728, 1729, 1731, 1733, 1734, 1735, - 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, - 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1755, 1756, - 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1765, 1767, 1769, - 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1781, 1782, - 1783, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, - 1795, 1796, 1798, 1799, 1800, 1801, 1803, 1804, 1805, 1807, - - 1809, 1811, 1812, 1813, 1815, 1816, 1817, 1818, 1819, 1820, - 1821, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, - 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1842, - 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, - 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, - 1864, 1865, 1867, 1868, 1870, 1871, 1872, 1873, 1878, 1882, - 1883, 1884, 1885, 1887, 1888, 1889, 1890, 1891, 1892, 1894, - 1895, 1897, 1900, 1901, 1902, 1903, 1905, 1906, 1905, 1908, - 1909, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1919, 1920, - 1921, 1922, 1923, 1926, 1927, 1928, 1929, 1933, 1933, 1933, - - 1933, 1933, 1934, 1934, 1934, 1934, 1934, 1935, 1941, 1935, - 1935, 1935, 1936, 1942, 1936, 1943, 1936, 1937, 1937, 1937, - 1937, 1937, 1938, 1938, 1938, 1938, 1938, 1939, 1944, 1939, - 1939, 1939, 1940, 1940, 1940, 726, 725, 723, 722, 721, - 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 703, 702, 701, 700, - 699, 698, 697, 692, 691, 690, 689, 688, 687, 686, - 685, 683, 682, 680, 679, 678, 677, 676, 675, 674, - 673, 672, 671, 670, 669, 668, 666, 665, 664, 663, - 662, 661, 660, 659, 658, 656, 655, 653, 652, 651, - - 650, 649, 648, 647, 645, 644, 643, 641, 640, 638, - 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, - 627, 626, 625, 624, 622, 621, 620, 619, 618, 617, - 615, 614, 613, 612, 611, 610, 609, 608, 606, 605, - 604, 603, 602, 601, 600, 599, 598, 597, 596, 595, - 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, - 584, 583, 582, 581, 580, 579, 578, 577, 568, 566, - 565, 564, 562, 559, 557, 556, 555, 554, 553, 552, - 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, - 541, 540, 539, 538, 536, 535, 534, 533, 532, 531, - - 530, 529, 528, 527, 526, 525, 523, 521, 520, 519, - 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, - 508, 506, 505, 504, 503, 502, 501, 500, 499, 497, - 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, - 486, 485, 484, 483, 482, 481, 479, 478, 477, 476, - 474, 473, 472, 471, 470, 469, 467, 466, 464, 463, - 462, 460, 458, 457, 456, 455, 454, 453, 452, 450, - 449, 448, 447, 446, 441, 439, 438, 435, 432, 430, - 429, 428, 427, 426, 424, 423, 422, 421, 420, 419, - 418, 417, 416, 415, 414, 413, 412, 411, 409, 408, - - 407, 405, 404, 403, 402, 401, 400, 399, 397, 396, - 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, - 384, 380, 379, 378, 376, 375, 374, 372, 371, 370, - 369, 368, 367, 366, 365, 364, 363, 362, 361, 359, - 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, - 348, 347, 345, 344, 343, 342, 340, 337, 336, 335, - 334, 333, 332, 331, 330, 329, 328, 324, 322, 318, - 316, 313, 306, 305, 304, 303, 302, 301, 300, 298, - 297, 296, 295, 294, 293, 292, 291, 290, 288, 287, - 286, 285, 284, 283, 282, 280, 279, 278, 277, 276, - - 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, - 265, 264, 262, 261, 260, 258, 257, 256, 255, 254, - 253, 251, 250, 249, 248, 247, 246, 244, 243, 241, - 240, 239, 238, 237, 236, 235, 234, 233, 232, 231, - 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, - 220, 219, 218, 216, 215, 214, 213, 212, 211, 210, - 208, 205, 203, 201, 199, 194, 190, 182, 181, 180, - 179, 178, 177, 176, 174, 173, 172, 170, 169, 168, - 166, 164, 162, 160, 159, 157, 156, 155, 154, 153, - 151, 150, 149, 148, 147, 146, 144, 143, 142, 141, - - 140, 139, 138, 136, 135, 133, 132, 128, 127, 126, - 124, 123, 122, 121, 119, 117, 113, 104, 103, 97, - 96, 77, 72, 66, 52, 49, 48, 43, 41, 39, - 38, 24, 14, 11, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932, - - 1932, 1932, 1932, 1932, 1932, 1932, 1932, 1932 + 163, 118, 175, 108, 110, 118, 82, 101, 130, 116, + 152, 101, 184, 101, 101, 115, 165, 424, 125, 125, + 424, 130, 187, 115, 115, 115, 115, 115, 125, 175, + + 252, 158, 115, 115, 115, 115, 115, 115, 134, 161, + 184, 134, 161, 161, 185, 134, 158, 158, 158, 188, + 187, 165, 165, 165, 189, 115, 115, 115, 115, 115, + 115, 192, 165, 195, 165, 196, 165, 165, 167, 165, + 185, 199, 167, 201, 203, 188, 167, 189, 263, 731, + 289, 732, 345, 252, 192, 209, 252, 259, 345, 314, + 299, 195, 196, 289, 199, 299, 201, 307, 310, 319, + 326, 203, 207, 207, 207, 207, 207, 316, 209, 217, + 259, 207, 207, 207, 207, 207, 207, 217, 314, 340, + 307, 310, 217, 217, 340, 394, 376, 319, 263, 326, + + 316, 337, 376, 381, 207, 207, 207, 207, 207, 207, + 324, 324, 324, 324, 324, 620, 620, 733, 337, 324, + 324, 324, 324, 324, 324, 359, 372, 372, 372, 380, + 359, 381, 372, 397, 405, 435, 409, 397, 405, 380, + 409, 443, 324, 324, 324, 324, 324, 324, 441, 430, + 441, 496, 463, 394, 430, 473, 459, 535, 734, 735, + 473, 496, 535, 435, 459, 463, 459, 459, 459, 443, + 459, 571, 569, 570, 573, 441, 571, 441, 359, 590, + 681, 573, 590, 359, 442, 442, 442, 442, 442, 693, + 736, 737, 681, 442, 442, 442, 442, 442, 442, 569, + + 654, 570, 692, 701, 701, 654, 701, 722, 738, 739, + 740, 722, 693, 741, 742, 722, 442, 442, 442, 442, + 442, 442, 743, 744, 745, 746, 747, 748, 749, 750, + 692, 751, 750, 752, 753, 755, 756, 757, 758, 759, + 760, 761, 762, 763, 654, 765, 766, 767, 768, 769, + 770, 771, 772, 773, 774, 776, 777, 778, 779, 780, + 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, + 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, + 794, 801, 796, 803, 799, 804, 796, 805, 806, 807, + 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, + + 818, 819, 821, 822, 823, 824, 825, 826, 827, 828, + 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, + 839, 840, 841, 813, 842, 843, 844, 845, 846, 847, + 848, 849, 850, 852, 853, 854, 855, 856, 857, 858, + 859, 860, 861, 857, 862, 863, 864, 865, 866, 867, + 870, 871, 872, 873, 874, 875, 876, 879, 880, 881, + 882, 883, 884, 885, 886, 887, 888, 885, 889, 890, + 891, 893, 895, 896, 897, 898, 899, 900, 901, 902, + 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, + 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, + + 923, 924, 925, 926, 928, 929, 930, 918, 931, 932, + 933, 934, 935, 936, 937, 938, 939, 940, 941, 943, + 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, + 954, 955, 956, 957, 958, 959, 960, 937, 961, 962, + 936, 963, 964, 965, 967, 968, 969, 970, 971, 972, + 973, 974, 975, 976, 977, 978, 980, 981, 982, 983, + 984, 985, 986, 988, 989, 984, 990, 991, 992, 993, + 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, + 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1013, 1014, 1015, + 1017, 1018, 1019, 1020, 1022, 1008, 1023, 1024, 1025, 1026, + + 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, + 1037, 1038, 1039, 1041, 1042, 1043, 1044, 1045, 984, 1046, + 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1056, 1055, + 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, + 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, + 1077, 1078, 1079, 1081, 1082, 1054, 1055, 1083, 1084, 1085, + 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1105, 1101, + 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, + 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, + + 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1102, + 1147, 1148, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, + 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, + 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, + 1179, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1190, + 1166, 1191, 1192, 1193, 1194, 1195, 1167, 1196, 1197, 1198, + 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1210, + 1212, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, + 1223, 1224, 1225, 1226, 1227, 1228, 1230, 1231, 1232, 1234, + + 1235, 1236, 1237, 1238, 1241, 1243, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, + 1259, 1261, 1262, 1263, 1264, 1265, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1277, 1278, 1279, 1280, 1281, 1282, + 1283, 1284, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, + 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1304, + 1274, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1255, + 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1322, 1323, + 1324, 1280, 1325, 1326, 1327, 1328, 1329, 1330, 1324, 1331, + 1332, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, + + 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1352, 1353, 1355, + 1357, 1360, 1352, 1361, 1362, 1364, 1365, 1366, 1367, 1368, + 1370, 1371, 1372, 1374, 1375, 1376, 1377, 1378, 1379, 1380, + 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, + 1391, 1393, 1368, 1395, 1396, 1397, 1398, 1399, 1400, 1401, + 1402, 1403, 1404, 1405, 1407, 1409, 1411, 1413, 1414, 1415, + 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1424, 1425, 1426, + 1427, 1428, 1429, 1430, 1433, 1434, 1436, 1437, 1438, 1439, + 1440, 1442, 1443, 1442, 1444, 1445, 1446, 1447, 1448, 1442, + 1449, 1450, 1452, 1453, 1455, 1456, 1457, 1458, 1459, 1460, + + 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, + 1471, 1472, 1474, 1475, 1476, 1478, 1466, 1479, 1480, 1481, + 1453, 1482, 1483, 1484, 1485, 1485, 1486, 1487, 1488, 1489, + 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, + 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, + 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1518, 1519, 1520, + 1521, 1523, 1524, 1525, 1526, 1527, 1528, 1531, 1532, 1533, + 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, + 1547, 1549, 1550, 1551, 1486, 1552, 1549, 1553, 1554, 1555, + 1556, 1557, 1526, 1559, 1560, 1561, 1563, 1565, 1566, 1567, + + 1569, 1570, 1571, 1572, 1573, 1575, 1576, 1577, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1597, 1599, 1600, 1601, + 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, + 1613, 1615, 1616, 1617, 1618, 1619, 1621, 1622, 1623, 1625, + 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1635, 1636, + 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1646, 1647, + 1648, 1649, 1650, 1651, 1653, 1654, 1655, 1656, 1658, 1660, + 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, + 1671, 1672, 1673, 1674, 1676, 1677, 1678, 1679, 1680, 1681, + + 1682, 1683, 1685, 1686, 1687, 1688, 1690, 1691, 1692, 1693, + 1694, 1695, 1696, 1697, 1698, 1699, 1701, 1702, 1703, 1704, + 1705, 1706, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, + 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, + 1727, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, + 1740, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, + 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, + 1761, 1762, 1763, 1765, 1766, 1767, 1768, 1769, 1770, 1771, + 1772, 1773, 1775, 1777, 1779, 1782, 1783, 1784, 1785, 1786, + 1787, 1788, 1789, 1791, 1792, 1793, 1795, 1796, 1797, 1798, + + 1799, 1800, 1801, 1802, 1803, 1804, 1806, 1807, 1809, 1810, + 1811, 1812, 1814, 1815, 1816, 1818, 1820, 1822, 1823, 1824, + 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1834, 1835, 1836, + 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, + 1847, 1848, 1849, 1850, 1851, 1852, 1854, 1855, 1856, 1857, + 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1867, + 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1877, 1878, + 1880, 1881, 1882, 1884, 1885, 1886, 1887, 1892, 1896, 1897, + 1898, 1899, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1909, + 1910, 1912, 1914, 1916, 1917, 1918, 1919, 1921, 1922, 1921, + + 1923, 1925, 1926, 1928, 1929, 1930, 1931, 1932, 1933, 1934, + 1935, 1937, 1938, 1939, 1940, 1941, 1943, 1946, 1947, 1948, + 1949, 1953, 1953, 1953, 1954, 1954, 1954, 1955, 1956, 1955, + 1957, 1957, 1957, 1958, 1958, 1958, 1959, 724, 1959, 1960, + 1960, 1960, 723, 721, 720, 719, 718, 717, 716, 715, + 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, + 704, 703, 702, 700, 699, 698, 697, 696, 695, 694, + 689, 688, 687, 686, 685, 684, 683, 682, 680, 679, + 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, + 667, 666, 665, 663, 662, 661, 660, 659, 658, 657, + + 656, 655, 653, 652, 650, 649, 648, 647, 646, 645, + 644, 642, 641, 640, 638, 637, 635, 634, 633, 632, + 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, + 621, 619, 618, 617, 616, 615, 614, 612, 611, 610, + 609, 608, 607, 606, 605, 603, 602, 601, 600, 599, + 598, 597, 596, 595, 594, 593, 592, 591, 589, 588, + 587, 586, 585, 584, 583, 582, 581, 580, 579, 578, + 577, 576, 575, 574, 565, 564, 563, 562, 560, 557, + 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, + + 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, + 524, 523, 521, 519, 518, 517, 516, 515, 514, 513, + 512, 511, 510, 509, 508, 507, 506, 504, 503, 502, + 501, 500, 499, 498, 497, 495, 494, 493, 492, 491, + 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, + 480, 479, 477, 476, 475, 474, 472, 471, 470, 469, + 468, 467, 465, 464, 462, 461, 460, 458, 456, 455, + 454, 453, 452, 451, 450, 448, 447, 446, 445, 444, + 439, 437, 436, 434, 431, 429, 428, 427, 426, 425, + 423, 422, 421, 420, 419, 418, 417, 416, 415, 414, + + 413, 412, 411, 410, 408, 407, 406, 404, 403, 402, + 401, 400, 399, 398, 396, 395, 393, 392, 391, 390, + 389, 388, 387, 386, 385, 384, 383, 379, 378, 377, + 375, 374, 373, 371, 370, 369, 368, 367, 366, 365, + 364, 363, 362, 361, 360, 358, 357, 356, 355, 354, + 353, 352, 351, 350, 349, 348, 347, 346, 344, 343, + 342, 341, 339, 336, 335, 334, 333, 332, 331, 330, + 329, 328, 327, 323, 321, 317, 315, 313, 306, 305, + 304, 303, 302, 301, 300, 298, 297, 296, 295, 294, + 293, 292, 291, 290, 288, 287, 286, 285, 284, 283, + + 282, 280, 279, 278, 277, 276, 275, 274, 273, 272, + 271, 270, 269, 268, 267, 266, 265, 264, 262, 261, + 260, 258, 257, 256, 255, 254, 253, 251, 250, 249, + 248, 247, 246, 244, 243, 241, 240, 239, 238, 237, + 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, + 226, 225, 224, 223, 222, 221, 220, 219, 218, 216, + 215, 214, 213, 212, 211, 210, 208, 204, 202, 200, + 198, 193, 190, 182, 181, 180, 179, 178, 177, 176, + 174, 173, 172, 170, 169, 168, 166, 164, 162, 160, + 159, 157, 156, 155, 154, 153, 151, 150, 149, 148, + + 147, 146, 144, 143, 142, 141, 140, 139, 138, 136, + 135, 133, 132, 128, 127, 126, 124, 123, 122, 121, + 119, 117, 113, 104, 103, 97, 96, 77, 72, 66, + 52, 49, 48, 43, 41, 39, 38, 24, 14, 11, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + + 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, 1952, + 1952, 1952, 1952, 1952 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; -extern int yy_flex_debug; -int yy_flex_debug = 1; +extern int parser6__flex_debug; +int parser6__flex_debug = 1; -static const flex_int16_t yy_rule_linenum[211] = +static yyconst flex_int16_t yy_rule_linenum[213] = { 0, 147, 149, 151, 156, 157, 162, 163, 164, 176, 179, 184, 191, 200, 209, 218, 227, 236, 245, 254, 263, @@ -1952,20 +1732,21 @@ static const flex_int16_t yy_rule_linenum[211] = 662, 673, 684, 695, 706, 717, 728, 739, 750, 761, 772, 783, 792, 803, 814, 825, 836, 847, 858, 869, 880, 889, 898, 907, 916, 927, 938, 949, 960, 971, - 982, 993, 1003, 1014, 1023, 1032, 1047, 1063, 1072, 1081, - - 1090, 1099, 1108, 1117, 1126, 1135, 1144, 1153, 1177, 1201, - 1210, 1220, 1230, 1239, 1249, 1260, 1271, 1282, 1293, 1302, - 1311, 1320, 1329, 1338, 1348, 1357, 1366, 1375, 1386, 1397, - 1408, 1419, 1430, 1439, 1448, 1457, 1466, 1475, 1484, 1493, - 1502, 1511, 1521, 1533, 1546, 1555, 1564, 1574, 1584, 1593, - 1604, 1614, 1623, 1633, 1643, 1652, 1661, 1670, 1679, 1689, - 1698, 1707, 1716, 1725, 1734, 1743, 1752, 1761, 1770, 1779, - 1788, 1797, 1806, 1815, 1824, 1833, 1842, 1851, 1860, 1869, - 1878, 1887, 1896, 1905, 1914, 1923, 1932, 1941, 1950, 1959, - 1968, 1977, 1986, 2085, 2090, 2095, 2100, 2101, 2102, 2103, - - 2104, 2105, 2107, 2125, 2138, 2143, 2147, 2149, 2151, 2153 + 982, 993, 1005, 1015, 1026, 1035, 1044, 1059, 1075, 1084, + + 1093, 1102, 1111, 1120, 1129, 1138, 1147, 1156, 1165, 1189, + 1213, 1222, 1232, 1242, 1251, 1261, 1272, 1283, 1294, 1305, + 1314, 1323, 1332, 1341, 1350, 1360, 1369, 1378, 1387, 1398, + 1409, 1420, 1431, 1442, 1451, 1460, 1469, 1478, 1487, 1496, + 1505, 1514, 1523, 1533, 1545, 1558, 1567, 1576, 1586, 1596, + 1605, 1616, 1626, 1635, 1645, 1655, 1664, 1673, 1682, 1691, + 1701, 1710, 1719, 1728, 1737, 1746, 1755, 1764, 1773, 1782, + 1791, 1800, 1809, 1818, 1827, 1836, 1845, 1854, 1863, 1872, + 1881, 1890, 1899, 1908, 1917, 1926, 1935, 1944, 1953, 1962, + 1971, 1980, 1989, 1998, 2099, 2115, 2164, 2172, 2187, 2188, + + 2189, 2190, 2191, 2192, 2194, 2212, 2225, 2230, 2234, 2236, + 2238, 2240 } ; /* The intent behind this definition is that it'll catch @@ -1975,7 +1756,7 @@ static const flex_int16_t yy_rule_linenum[211] = #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -char *yytext; +char *parser6_text; #line 1 "dhcp6_lexer.ll" /* Copyright (C) 2016-2020 Internet Systems Consortium, Inc. ("ISC") @@ -1987,6 +1768,7 @@ char *yytext; /* Generated files do not make clang static analyser so happy */ #ifndef __clang_analyzer__ +#include #include #include #include @@ -2002,8 +1784,8 @@ char *yytext; 2.5.31 through 2.5.33): it generates code that does not conform to C89. See Debian bug 333231 . */ -# undef yywrap -# define yywrap() 1 +# undef parser6_wrap +# define parser6_wrap() 1 namespace { @@ -2018,10 +1800,9 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) -#line 2021 "dhcp6_lexer.cc" /* noyywrap disables automatic rewinding for the next file to parse. Since we always parse only a single string, there's no need to do any wraps. And - using yywrap requires linking with -lfl, which provides the default yywrap + using parser6_wrap requires linking with -lfl, which provides the default parser6_wrap implementation that always returns 1 anyway. */ /* nounput simplifies the lexer, by removing support for putting a character back into the input stream. We never use such capability anyway. */ @@ -2029,23 +1810,23 @@ using namespace isc::dhcp; /* avoid to get static global variables to remain with C++. */ /* in last resort %option reentrant */ /* Enables debug mode. To see the debug messages, one needs to also set - yy_flex_debug to 1, then the debug messages will be printed on stderr. */ + parser6__flex_debug to 1, then the debug messages will be printed on stderr. */ /* I have no idea what this option does, except it was specified in the bison examples and Postgres folks added it to remove gcc 4.3 warnings. Let's be on the safe side and keep it. */ #define YY_NO_INPUT 1 + /* These are not token expressions yet, just convenience expressions that can be used during actual token definitions. Note some can match incorrect inputs (e.g., IP addresses) which must be checked. */ /* for errors */ -#line 94 "dhcp6_lexer.ll" +#line 95 "dhcp6_lexer.ll" /* This code run each time a pattern is matched. It updates the location - by moving it ahead by yyleng bytes. yyleng specifies the length of the + by moving it ahead by parser6_leng bytes. parser6_leng specifies the length of the currently matched token. */ -#define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2047 "dhcp6_lexer.cc" -#line 2048 "dhcp6_lexer.cc" +#define YY_USER_ACTION driver.loc_.columns(parser6_leng); +#line 1830 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2073,7 +1854,7 @@ using namespace isc::dhcp; /* %if-reentrant */ /* %if-c-only */ -static int yy_init_globals ( void ); +static int yy_init_globals (void ); /* %endif */ /* %if-reentrant */ @@ -2083,31 +1864,31 @@ static int yy_init_globals ( void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int yylex_destroy ( void ); +int parser6_lex_destroy (void ); -int yyget_debug ( void ); +int parser6_get_debug (void ); -void yyset_debug ( int debug_flag ); +void parser6_set_debug (int debug_flag ); -YY_EXTRA_TYPE yyget_extra ( void ); +YY_EXTRA_TYPE parser6_get_extra (void ); -void yyset_extra ( YY_EXTRA_TYPE user_defined ); +void parser6_set_extra (YY_EXTRA_TYPE user_defined ); -FILE *yyget_in ( void ); +FILE *parser6_get_in (void ); -void yyset_in ( FILE * _in_str ); +void parser6_set_in (FILE * in_str ); -FILE *yyget_out ( void ); +FILE *parser6_get_out (void ); -void yyset_out ( FILE * _out_str ); +void parser6_set_out (FILE * out_str ); - int yyget_leng ( void ); +yy_size_t parser6_get_leng (void ); -char *yyget_text ( void ); +char *parser6_get_text (void ); -int yyget_lineno ( void ); +int parser6_get_lineno (void ); -void yyset_lineno ( int _line_number ); +void parser6_set_lineno (int line_number ); /* %if-bison-bridge */ /* %endif */ @@ -2118,35 +1899,34 @@ void yyset_lineno ( int _line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap ( void ); +extern "C" int parser6_wrap (void ); #else -extern int yywrap ( void ); +extern int parser6_wrap (void ); #endif #endif /* %not-for-header */ -#ifndef YY_NO_UNPUT - -#endif + /* %ok-for-header */ /* %endif */ #ifndef yytext_ptr -static void yy_flex_strncpy ( char *, const char *, int ); +static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen ( const char * ); +static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT /* %if-c-only Standard (non-C++) definition */ /* %not-for-header */ + #ifdef __cplusplus -static int yyinput ( void ); +static int yyinput (void ); #else -static int input ( void ); +static int input (void ); #endif /* %ok-for-header */ @@ -2159,12 +1939,7 @@ static int input ( void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else #define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -2173,7 +1948,7 @@ static int input ( void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( parser6_text, parser6_leng, 1, parser6_out ) /* %endif */ /* %if-c++-only C++ definition */ /* %endif */ @@ -2188,20 +1963,20 @@ static int input ( void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + yy_size_t n; \ for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + (c = getc( parser6_in )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ + if ( c == EOF && ferror( parser6_in ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ - while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ + while ( (result = fread(buf, 1, max_size, parser6_in))==0 && ferror(parser6_in)) \ { \ if( errno != EINTR) \ { \ @@ -2209,7 +1984,7 @@ static int input ( void ); break; \ } \ errno=0; \ - clearerr(yyin); \ + clearerr(parser6_in); \ } \ }\ \ @@ -2242,9 +2017,11 @@ static int input ( void ); /* %if-tables-serialization structures and prototypes */ /* %not-for-header */ + /* %ok-for-header */ /* %not-for-header */ + /* %tables-yydmap generated elements */ /* %endif */ /* end tables serialization structures and prototypes */ @@ -2258,15 +2035,15 @@ static int input ( void ); #define YY_DECL_IS_OURS 1 /* %if-c-only Standard (non-C++) definition */ -extern int yylex (void); +extern int parser6_lex (void); -#define YY_DECL int yylex (void) +#define YY_DECL int parser6_lex (void) /* %endif */ /* %if-c++-only C++ definition */ /* %endif */ #endif /* !YY_DECL */ -/* Code executed at the beginning of each rule, after yytext and yyleng +/* Code executed at the beginning of each rule, after parser6_text and parser6_leng * have been set up. */ #ifndef YY_USER_ACTION @@ -2275,7 +2052,7 @@ extern int yylex (void); /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK /*LINTED*/break; +#define YY_BREAK break; #endif /* %% [6.0] YY_RULE_SETUP definition goes here */ @@ -2283,60 +2060,25 @@ extern int yylex (void); YY_USER_ACTION /* %not-for-header */ + /** The main scanner function which does all the work. */ YY_DECL { - yy_state_type yy_current_state; - char *yy_cp, *yy_bp; - int yy_act; + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; - if ( !(yy_init) ) - { - (yy_init) = 1; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! yyin ) -/* %if-c-only */ - yyin = stdin; -/* %endif */ -/* %if-c++-only */ -/* %endif */ - - if ( ! yyout ) -/* %if-c-only */ - yyout = stdout; -/* %endif */ -/* %if-c++-only */ -/* %endif */ - - if ( ! YY_CURRENT_BUFFER ) { - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); - } - - yy_load_buffer_state( ); - } - - { /* %% [7.0] user's declarations go here */ -#line 100 "dhcp6_lexer.ll" +#line 101 "dhcp6_lexer.ll" -#line 104 "dhcp6_lexer.ll" /* This part of the code is copied over to the verbatim to the top - of the generated yylex function. Explanation: + of the generated parser6_lex function. Explanation: http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */ - /* Code run each time yylex is called. */ + /* Code run each time parser6_lex is called. */ driver.loc_.step(); if (start_token_flag) { @@ -2375,14 +2117,48 @@ YY_DECL } -#line 2378 "dhcp6_lexer.cc" +#line 2121 "dhcp6_lexer.cc" + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! parser6_in ) +/* %if-c-only */ + parser6_in = stdin; +/* %endif */ +/* %if-c++-only */ +/* %endif */ + + if ( ! parser6_out ) +/* %if-c-only */ + parser6_out = stdout; +/* %endif */ +/* %if-c++-only */ +/* %endif */ + + if ( ! YY_CURRENT_BUFFER ) { + parser6_ensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + parser6__create_buffer(parser6_in,YY_BUF_SIZE ); + } - while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ + parser6__load_buffer_state( ); + } + + while ( 1 ) /* loops until end-of-file is reached */ { /* %% [8.0] yymore()-related code goes here */ yy_cp = (yy_c_buf_p); - /* Support of yytext. */ + /* Support of parser6_text. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of @@ -2395,7 +2171,7 @@ YY_DECL yy_match: do { - YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2404,13 +2180,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1933 ) - yy_c = yy_meta[yy_c]; + if ( yy_current_state >= 1953 ) + yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 1932 ); + while ( yy_current_state != 1952 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2420,22 +2196,22 @@ yy_find_action: YY_DO_BEFORE_ACTION; -/* %% [11.0] code for yylineno update goes here */ +/* %% [11.0] code for parser6_lineno update goes here */ do_action: /* This label is used only to access EOF actions. */ /* %% [12.0] debug code goes here */ - if ( yy_flex_debug ) + if ( parser6__flex_debug ) { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 211 ) + else if ( yy_act < 213 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", - (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 211 ) + (long)yy_rule_linenum[yy_act], parser6_text ); + else if ( yy_act == 213 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", - yytext ); - else if ( yy_act == 212 ) + parser6_text ); + else if ( yy_act == 214 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -2502,7 +2278,7 @@ YY_RULE_SETUP /* Include directive. */ /* Extract the filename. */ - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); driver.includeFile(tmp); @@ -2535,7 +2311,7 @@ YY_RULE_SETUP #line 184 "dhcp6_lexer.ll" { /* Newline found. Let's update the location and continue. */ - driver.loc_.lines(yyleng); + driver.loc_.lines(parser6_leng); driver.loc_.step(); } YY_BREAK @@ -2733,7 +2509,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { return isc::dhcp::Dhcp6Parser::make_UDP(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2746,7 +2522,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) { return isc::dhcp::Dhcp6Parser::make_TCP(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2759,7 +2535,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) { return isc::dhcp::Dhcp6Parser::make_JSON(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2772,7 +2548,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp6Parser::make_WHEN_PRESENT(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2785,7 +2561,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp6Parser::make_WHEN_PRESENT(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2810,7 +2586,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2823,7 +2599,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2836,7 +2612,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp6Parser::make_ALWAYS(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -2849,7 +2625,7 @@ YY_RULE_SETUP if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) { return isc::dhcp::Dhcp6Parser::make_WHEN_NOT_PRESENT(driver.loc_); } - std::string tmp(yytext+1); + std::string tmp(parser6_text+1); tmp.resize(tmp.size() - 1); return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_); } @@ -3584,6 +3360,20 @@ YY_RULE_SETUP case 92: YY_RULE_SETUP #line 993 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::DHCP6: + case isc::dhcp::Parser6Context::SUBNET6: + case isc::dhcp::Parser6Context::SHARED_NETWORK: + return isc::dhcp::Dhcp6Parser::make_DDNS_USE_CONFLICT_RESOLUTION(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_); + } +} + YY_BREAK +case 93: +YY_RULE_SETUP +#line 1005 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3594,9 +3384,9 @@ YY_RULE_SETUP } } YY_BREAK -case 93: +case 94: YY_RULE_SETUP -#line 1003 "dhcp6_lexer.ll" +#line 1015 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3608,9 +3398,9 @@ YY_RULE_SETUP } } YY_BREAK -case 94: +case 95: YY_RULE_SETUP -#line 1014 "dhcp6_lexer.ll" +#line 1026 "dhcp6_lexer.ll" { switch (driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3620,9 +3410,9 @@ YY_RULE_SETUP } } YY_BREAK -case 95: +case 96: YY_RULE_SETUP -#line 1023 "dhcp6_lexer.ll" +#line 1035 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3632,9 +3422,9 @@ YY_RULE_SETUP } } YY_BREAK -case 96: +case 97: YY_RULE_SETUP -#line 1032 "dhcp6_lexer.ll" +#line 1044 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3650,9 +3440,9 @@ YY_RULE_SETUP } } YY_BREAK -case 97: +case 98: YY_RULE_SETUP -#line 1047 "dhcp6_lexer.ll" +#line 1059 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LEASE_DATABASE: @@ -3669,9 +3459,9 @@ YY_RULE_SETUP } } YY_BREAK -case 98: +case 99: YY_RULE_SETUP -#line 1063 "dhcp6_lexer.ll" +#line 1075 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -3681,9 +3471,9 @@ YY_RULE_SETUP } } YY_BREAK -case 99: +case 100: YY_RULE_SETUP -#line 1072 "dhcp6_lexer.ll" +#line 1084 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -3693,9 +3483,9 @@ YY_RULE_SETUP } } YY_BREAK -case 100: +case 101: YY_RULE_SETUP -#line 1081 "dhcp6_lexer.ll" +#line 1093 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3705,9 +3495,9 @@ YY_RULE_SETUP } } YY_BREAK -case 101: +case 102: YY_RULE_SETUP -#line 1090 "dhcp6_lexer.ll" +#line 1102 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3717,9 +3507,9 @@ YY_RULE_SETUP } } YY_BREAK -case 102: +case 103: YY_RULE_SETUP -#line 1099 "dhcp6_lexer.ll" +#line 1111 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3729,9 +3519,9 @@ YY_RULE_SETUP } } YY_BREAK -case 103: +case 104: YY_RULE_SETUP -#line 1108 "dhcp6_lexer.ll" +#line 1120 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3741,9 +3531,9 @@ YY_RULE_SETUP } } YY_BREAK -case 104: +case 105: YY_RULE_SETUP -#line 1117 "dhcp6_lexer.ll" +#line 1129 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3753,9 +3543,9 @@ YY_RULE_SETUP } } YY_BREAK -case 105: +case 106: YY_RULE_SETUP -#line 1126 "dhcp6_lexer.ll" +#line 1138 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3765,9 +3555,9 @@ YY_RULE_SETUP } } YY_BREAK -case 106: +case 107: YY_RULE_SETUP -#line 1135 "dhcp6_lexer.ll" +#line 1147 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::PD_POOLS: @@ -3777,9 +3567,9 @@ YY_RULE_SETUP } } YY_BREAK -case 107: +case 108: YY_RULE_SETUP -#line 1144 "dhcp6_lexer.ll" +#line 1156 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::POOLS: @@ -3789,9 +3579,9 @@ YY_RULE_SETUP } } YY_BREAK -case 108: +case 109: YY_RULE_SETUP -#line 1153 "dhcp6_lexer.ll" +#line 1165 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3816,9 +3606,9 @@ YY_RULE_SETUP } } YY_BREAK -case 109: +case 110: YY_RULE_SETUP -#line 1177 "dhcp6_lexer.ll" +#line 1189 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3843,9 +3633,9 @@ YY_RULE_SETUP } } YY_BREAK -case 110: +case 111: YY_RULE_SETUP -#line 1201 "dhcp6_lexer.ll" +#line 1213 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3855,9 +3645,9 @@ YY_RULE_SETUP } } YY_BREAK -case 111: +case 112: YY_RULE_SETUP -#line 1210 "dhcp6_lexer.ll" +#line 1222 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3868,9 +3658,9 @@ YY_RULE_SETUP } } YY_BREAK -case 112: +case 113: YY_RULE_SETUP -#line 1220 "dhcp6_lexer.ll" +#line 1232 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3881,9 +3671,9 @@ YY_RULE_SETUP } } YY_BREAK -case 113: +case 114: YY_RULE_SETUP -#line 1230 "dhcp6_lexer.ll" +#line 1242 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3893,9 +3683,9 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 115: YY_RULE_SETUP -#line 1239 "dhcp6_lexer.ll" +#line 1251 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3906,9 +3696,9 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 116: YY_RULE_SETUP -#line 1249 "dhcp6_lexer.ll" +#line 1261 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3920,9 +3710,9 @@ YY_RULE_SETUP } } YY_BREAK -case 116: +case 117: YY_RULE_SETUP -#line 1260 "dhcp6_lexer.ll" +#line 1272 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3934,9 +3724,9 @@ YY_RULE_SETUP } } YY_BREAK -case 117: +case 118: YY_RULE_SETUP -#line 1271 "dhcp6_lexer.ll" +#line 1283 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3948,9 +3738,9 @@ YY_RULE_SETUP } } YY_BREAK -case 118: +case 119: YY_RULE_SETUP -#line 1282 "dhcp6_lexer.ll" +#line 1294 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3962,9 +3752,9 @@ YY_RULE_SETUP } } YY_BREAK -case 119: +case 120: YY_RULE_SETUP -#line 1293 "dhcp6_lexer.ll" +#line 1305 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3974,9 +3764,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 121: YY_RULE_SETUP -#line 1302 "dhcp6_lexer.ll" +#line 1314 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3986,9 +3776,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 122: YY_RULE_SETUP -#line 1311 "dhcp6_lexer.ll" +#line 1323 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3998,9 +3788,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 123: YY_RULE_SETUP -#line 1320 "dhcp6_lexer.ll" +#line 1332 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -4010,9 +3800,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 124: YY_RULE_SETUP -#line 1329 "dhcp6_lexer.ll" +#line 1341 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -4022,9 +3812,9 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 125: YY_RULE_SETUP -#line 1338 "dhcp6_lexer.ll" +#line 1350 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4035,9 +3825,9 @@ YY_RULE_SETUP } } YY_BREAK -case 125: +case 126: YY_RULE_SETUP -#line 1348 "dhcp6_lexer.ll" +#line 1360 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4047,9 +3837,9 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 127: YY_RULE_SETUP -#line 1357 "dhcp6_lexer.ll" +#line 1369 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4059,9 +3849,9 @@ YY_RULE_SETUP } } YY_BREAK -case 127: +case 128: YY_RULE_SETUP -#line 1366 "dhcp6_lexer.ll" +#line 1378 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4071,9 +3861,9 @@ YY_RULE_SETUP } } YY_BREAK -case 128: +case 129: YY_RULE_SETUP -#line 1375 "dhcp6_lexer.ll" +#line 1387 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4085,9 +3875,9 @@ YY_RULE_SETUP } } YY_BREAK -case 129: +case 130: YY_RULE_SETUP -#line 1386 "dhcp6_lexer.ll" +#line 1398 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4099,9 +3889,9 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 131: YY_RULE_SETUP -#line 1397 "dhcp6_lexer.ll" +#line 1409 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4113,9 +3903,9 @@ YY_RULE_SETUP } } YY_BREAK -case 131: +case 132: YY_RULE_SETUP -#line 1408 "dhcp6_lexer.ll" +#line 1420 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4127,9 +3917,9 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 133: YY_RULE_SETUP -#line 1419 "dhcp6_lexer.ll" +#line 1431 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4141,9 +3931,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 134: YY_RULE_SETUP -#line 1430 "dhcp6_lexer.ll" +#line 1442 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4153,9 +3943,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 135: YY_RULE_SETUP -#line 1439 "dhcp6_lexer.ll" +#line 1451 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4165,9 +3955,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 136: YY_RULE_SETUP -#line 1448 "dhcp6_lexer.ll" +#line 1460 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4177,9 +3967,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 137: YY_RULE_SETUP -#line 1457 "dhcp6_lexer.ll" +#line 1469 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4189,9 +3979,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 138: YY_RULE_SETUP -#line 1466 "dhcp6_lexer.ll" +#line 1478 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4201,9 +3991,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 139: YY_RULE_SETUP -#line 1475 "dhcp6_lexer.ll" +#line 1487 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4213,9 +4003,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 140: YY_RULE_SETUP -#line 1484 "dhcp6_lexer.ll" +#line 1496 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4225,9 +4015,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 141: YY_RULE_SETUP -#line 1493 "dhcp6_lexer.ll" +#line 1505 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4237,9 +4027,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 142: YY_RULE_SETUP -#line 1502 "dhcp6_lexer.ll" +#line 1514 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4249,9 +4039,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 143: YY_RULE_SETUP -#line 1511 "dhcp6_lexer.ll" +#line 1523 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4262,9 +4052,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 144: YY_RULE_SETUP -#line 1521 "dhcp6_lexer.ll" +#line 1533 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4277,9 +4067,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 145: YY_RULE_SETUP -#line 1533 "dhcp6_lexer.ll" +#line 1545 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4293,9 +4083,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 146: YY_RULE_SETUP -#line 1546 "dhcp6_lexer.ll" +#line 1558 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4305,9 +4095,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 147: YY_RULE_SETUP -#line 1555 "dhcp6_lexer.ll" +#line 1567 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4317,9 +4107,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 148: YY_RULE_SETUP -#line 1564 "dhcp6_lexer.ll" +#line 1576 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4330,9 +4120,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 149: YY_RULE_SETUP -#line 1574 "dhcp6_lexer.ll" +#line 1586 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4343,9 +4133,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 150: YY_RULE_SETUP -#line 1584 "dhcp6_lexer.ll" +#line 1596 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4355,9 +4145,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 151: YY_RULE_SETUP -#line 1593 "dhcp6_lexer.ll" +#line 1605 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -4369,9 +4159,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 152: YY_RULE_SETUP -#line 1604 "dhcp6_lexer.ll" +#line 1616 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4382,9 +4172,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 153: YY_RULE_SETUP -#line 1614 "dhcp6_lexer.ll" +#line 1626 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4394,9 +4184,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 154: YY_RULE_SETUP -#line 1623 "dhcp6_lexer.ll" +#line 1635 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4407,9 +4197,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 155: YY_RULE_SETUP -#line 1633 "dhcp6_lexer.ll" +#line 1645 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4420,9 +4210,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 156: YY_RULE_SETUP -#line 1643 "dhcp6_lexer.ll" +#line 1655 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -4432,9 +4222,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 157: YY_RULE_SETUP -#line 1652 "dhcp6_lexer.ll" +#line 1664 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4444,9 +4234,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 158: YY_RULE_SETUP -#line 1661 "dhcp6_lexer.ll" +#line 1673 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4456,9 +4246,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 159: YY_RULE_SETUP -#line 1670 "dhcp6_lexer.ll" +#line 1682 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4468,9 +4258,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 160: YY_RULE_SETUP -#line 1679 "dhcp6_lexer.ll" +#line 1691 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4481,9 +4271,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 161: YY_RULE_SETUP -#line 1689 "dhcp6_lexer.ll" +#line 1701 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RELAY: @@ -4493,9 +4283,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 162: YY_RULE_SETUP -#line 1698 "dhcp6_lexer.ll" +#line 1710 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4505,9 +4295,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 163: YY_RULE_SETUP -#line 1707 "dhcp6_lexer.ll" +#line 1719 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4517,9 +4307,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 164: YY_RULE_SETUP -#line 1716 "dhcp6_lexer.ll" +#line 1728 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4529,9 +4319,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 165: YY_RULE_SETUP -#line 1725 "dhcp6_lexer.ll" +#line 1737 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4541,9 +4331,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 166: YY_RULE_SETUP -#line 1734 "dhcp6_lexer.ll" +#line 1746 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4553,9 +4343,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 167: YY_RULE_SETUP -#line 1743 "dhcp6_lexer.ll" +#line 1755 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4565,9 +4355,9 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 168: YY_RULE_SETUP -#line 1752 "dhcp6_lexer.ll" +#line 1764 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4577,9 +4367,9 @@ YY_RULE_SETUP } } YY_BREAK -case 168: +case 169: YY_RULE_SETUP -#line 1761 "dhcp6_lexer.ll" +#line 1773 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4589,9 +4379,9 @@ YY_RULE_SETUP } } YY_BREAK -case 169: +case 170: YY_RULE_SETUP -#line 1770 "dhcp6_lexer.ll" +#line 1782 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4601,9 +4391,9 @@ YY_RULE_SETUP } } YY_BREAK -case 170: +case 171: YY_RULE_SETUP -#line 1779 "dhcp6_lexer.ll" +#line 1791 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4613,9 +4403,9 @@ YY_RULE_SETUP } } YY_BREAK -case 171: +case 172: YY_RULE_SETUP -#line 1788 "dhcp6_lexer.ll" +#line 1800 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4625,9 +4415,9 @@ YY_RULE_SETUP } } YY_BREAK -case 172: +case 173: YY_RULE_SETUP -#line 1797 "dhcp6_lexer.ll" +#line 1809 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4637,9 +4427,9 @@ YY_RULE_SETUP } } YY_BREAK -case 173: +case 174: YY_RULE_SETUP -#line 1806 "dhcp6_lexer.ll" +#line 1818 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4649,9 +4439,9 @@ YY_RULE_SETUP } } YY_BREAK -case 174: +case 175: YY_RULE_SETUP -#line 1815 "dhcp6_lexer.ll" +#line 1827 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4661,9 +4451,9 @@ YY_RULE_SETUP } } YY_BREAK -case 175: +case 176: YY_RULE_SETUP -#line 1824 "dhcp6_lexer.ll" +#line 1836 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4673,9 +4463,9 @@ YY_RULE_SETUP } } YY_BREAK -case 176: +case 177: YY_RULE_SETUP -#line 1833 "dhcp6_lexer.ll" +#line 1845 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4685,9 +4475,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 178: YY_RULE_SETUP -#line 1842 "dhcp6_lexer.ll" +#line 1854 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4697,9 +4487,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 179: YY_RULE_SETUP -#line 1851 "dhcp6_lexer.ll" +#line 1863 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -4709,9 +4499,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 180: YY_RULE_SETUP -#line 1860 "dhcp6_lexer.ll" +#line 1872 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4721,9 +4511,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 181: YY_RULE_SETUP -#line 1869 "dhcp6_lexer.ll" +#line 1881 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4733,9 +4523,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 182: YY_RULE_SETUP -#line 1878 "dhcp6_lexer.ll" +#line 1890 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -4745,9 +4535,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 183: YY_RULE_SETUP -#line 1887 "dhcp6_lexer.ll" +#line 1899 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -4757,9 +4547,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 184: YY_RULE_SETUP -#line 1896 "dhcp6_lexer.ll" +#line 1908 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -4769,9 +4559,9 @@ YY_RULE_SETUP } } YY_BREAK -case 184: +case 185: YY_RULE_SETUP -#line 1905 "dhcp6_lexer.ll" +#line 1917 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4781,9 +4571,9 @@ YY_RULE_SETUP } } YY_BREAK -case 185: +case 186: YY_RULE_SETUP -#line 1914 "dhcp6_lexer.ll" +#line 1926 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -4793,9 +4583,9 @@ YY_RULE_SETUP } } YY_BREAK -case 186: +case 187: YY_RULE_SETUP -#line 1923 "dhcp6_lexer.ll" +#line 1935 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -4805,9 +4595,9 @@ YY_RULE_SETUP } } YY_BREAK -case 187: +case 188: YY_RULE_SETUP -#line 1932 "dhcp6_lexer.ll" +#line 1944 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4817,9 +4607,9 @@ YY_RULE_SETUP } } YY_BREAK -case 188: +case 189: YY_RULE_SETUP -#line 1941 "dhcp6_lexer.ll" +#line 1953 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -4829,9 +4619,9 @@ YY_RULE_SETUP } } YY_BREAK -case 189: +case 190: YY_RULE_SETUP -#line 1950 "dhcp6_lexer.ll" +#line 1962 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -4841,9 +4631,9 @@ YY_RULE_SETUP } } YY_BREAK -case 190: +case 191: YY_RULE_SETUP -#line 1959 "dhcp6_lexer.ll" +#line 1971 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -4853,9 +4643,9 @@ YY_RULE_SETUP } } YY_BREAK -case 191: +case 192: YY_RULE_SETUP -#line 1968 "dhcp6_lexer.ll" +#line 1980 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4865,9 +4655,9 @@ YY_RULE_SETUP } } YY_BREAK -case 192: +case 193: YY_RULE_SETUP -#line 1977 "dhcp6_lexer.ll" +#line 1989 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4877,14 +4667,14 @@ YY_RULE_SETUP } } YY_BREAK -case 193: +case 194: YY_RULE_SETUP -#line 1986 "dhcp6_lexer.ll" +#line 1998 "dhcp6_lexer.ll" { /* A string has been matched. It contains the actual string and single quotes. We need to get those quotes out of the way and just use its content, e.g. for 'foo' we should get foo */ - std::string raw(yytext+1); + std::string raw(parser6_text+1); size_t len = raw.size() - 1; raw.resize(len); std::string decoded; @@ -4934,7 +4724,9 @@ YY_RULE_SETUP "Overflow unicode escape in \"" + raw + "\""); } if ((raw[pos] != '0') || (raw[pos + 1] != '0')) { - driver.error(driver.loc_, "Unsupported unicode escape in \"" + raw + "\""); + driver.error(driver.loc_, + "Unsupported unicode escape in \"" + raw + "\"", + pos + 1); } pos += 2; c = raw[pos]; @@ -4979,68 +4771,144 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 194: -/* rule 194 can match eol */ +case 195: +/* rule 195 can match eol */ YY_RULE_SETUP -#line 2085 "dhcp6_lexer.ll" +#line 2099 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ - driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); + std::string raw(parser6_text+1); + size_t len = raw.size() - 1; + size_t pos = 0; + for (; pos < len; ++pos) { + char c = raw[pos]; + if ((c >= 0) && (c < 0x20)) { + break; + } + } + driver.error(driver.loc_, + "Invalid control in " + std::string(parser6_text), + pos + 1); } YY_BREAK -case 195: -/* rule 195 can match eol */ +case 196: +/* rule 196 can match eol */ YY_RULE_SETUP -#line 2090 "dhcp6_lexer.ll" +#line 2115 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ - driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); + std::string raw(parser6_text+1); + size_t len = raw.size() - 1; + size_t pos = 0; + bool found = false; + for (; pos < len; ++pos) { + if (found) { + break; + } + char c = raw[pos]; + if (c == '\\') { + ++pos; + c = raw[pos]; + switch (c) { + case '"': + case '\\': + case '/': + case 'b': + case 'f': + case 'n': + case 'r': + case 't': + break; + case 'u': + if ((pos + 4 > len) || + !std::isxdigit(raw[pos + 1]) || + !std::isxdigit(raw[pos + 2]) || + !std::isxdigit(raw[pos + 3]) || + !std::isxdigit(raw[pos + 4])) { + found = true; + } + break; + default: + found = true; + break; + } + } + } + /* The rule stops on the first " including on \" so add ... in this case */ + std::string trailer = ""; + if (raw[len - 1] == '\\') { + trailer = "..."; + } + driver.error(driver.loc_, + "Bad escape in " + std::string(parser6_text) + trailer, + pos); } YY_BREAK -case 196: +case 197: YY_RULE_SETUP -#line 2095 "dhcp6_lexer.ll" +#line 2164 "dhcp6_lexer.ll" { /* Bad string with an open escape at the end */ - driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); + std::string raw(parser6_text+1); + driver.error(driver.loc_, + "Overflow escape in " + std::string(parser6_text), + raw.size() + 1); } YY_BREAK -case 197: +case 198: +YY_RULE_SETUP +#line 2172 "dhcp6_lexer.ll" +{ + /* Bad string with an open unicode escape at the end */ + std::string raw(parser6_text+1); + size_t pos = raw.size() - 1; + for (; pos > 0; --pos) { + char c = raw[pos]; + if (c == 'u') { + break; + } + } + driver.error(driver.loc_, + "Overflow unicode escape in " + std::string(parser6_text), + pos + 1); +} + YY_BREAK +case 199: YY_RULE_SETUP -#line 2100 "dhcp6_lexer.ll" +#line 2187 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 198: +case 200: YY_RULE_SETUP -#line 2101 "dhcp6_lexer.ll" +#line 2188 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 199: +case 201: YY_RULE_SETUP -#line 2102 "dhcp6_lexer.ll" +#line 2189 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 200: +case 202: YY_RULE_SETUP -#line 2103 "dhcp6_lexer.ll" +#line 2190 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 201: +case 203: YY_RULE_SETUP -#line 2104 "dhcp6_lexer.ll" +#line 2191 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK -case 202: +case 204: YY_RULE_SETUP -#line 2105 "dhcp6_lexer.ll" +#line 2192 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK -case 203: +case 205: YY_RULE_SETUP -#line 2107 "dhcp6_lexer.ll" +#line 2194 "dhcp6_lexer.ll" { /* An integer was found. */ - std::string tmp(yytext); + std::string tmp(parser6_text); int64_t integer = 0; try { /* In substring we want to use negative values (e.g. -1). @@ -5056,12 +4924,12 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 204: +case 206: YY_RULE_SETUP -#line 2125 "dhcp6_lexer.ll" +#line 2212 "dhcp6_lexer.ll" { /* A floating point was found. */ - std::string tmp(yytext); + std::string tmp(parser6_text); double fp = 0.0; try { fp = boost::lexical_cast(tmp); @@ -5072,43 +4940,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 205: +case 207: YY_RULE_SETUP -#line 2138 "dhcp6_lexer.ll" +#line 2225 "dhcp6_lexer.ll" { - string tmp(yytext); + string tmp(parser6_text); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 206: +case 208: YY_RULE_SETUP -#line 2143 "dhcp6_lexer.ll" +#line 2230 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 207: +case 209: YY_RULE_SETUP -#line 2147 "dhcp6_lexer.ll" +#line 2234 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 208: +case 210: YY_RULE_SETUP -#line 2149 "dhcp6_lexer.ll" +#line 2236 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 209: +case 211: YY_RULE_SETUP -#line 2151 "dhcp6_lexer.ll" +#line 2238 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 210: +case 212: YY_RULE_SETUP -#line 2153 "dhcp6_lexer.ll" -driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); +#line 2240 "dhcp6_lexer.ll" +driver.error (driver.loc_, "Invalid character: " + std::string(parser6_text)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2155 "dhcp6_lexer.ll" +#line 2242 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -5132,12 +5000,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 211: +case 213: YY_RULE_SETUP -#line 2178 "dhcp6_lexer.ll" +#line 2265 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 5140 "dhcp6_lexer.cc" +#line 5009 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -5152,19 +5020,15 @@ ECHO; { /* We're scanning a new file or input source. It's * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure + * just pointed parser6_in at a new source and called + * parser6_lex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; -/* %if-c-only */ - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; -/* %endif */ -/* %if-c++-only */ -/* %endif */ + YY_CURRENT_BUFFER_LVALUE->yy_input_file = parser6_in; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } @@ -5219,11 +5083,11 @@ ECHO; { (yy_did_buffer_switch_on_eof) = 0; - if ( yywrap( ) ) + if ( parser6_wrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up - * yytext, we can now set up + * parser6_text, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the @@ -5272,12 +5136,12 @@ ECHO; "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ - } /* end of user's declarations */ -} /* end of yylex */ +} /* end of parser6_lex */ /* %ok-for-header */ /* %if-c++-only */ /* %not-for-header */ + /* %ok-for-header */ /* %endif */ @@ -5295,9 +5159,9 @@ static int yy_get_next_buffer (void) /* %if-c++-only */ /* %endif */ { - char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - char *source = (yytext_ptr); - int number_to_move, i; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = (yytext_ptr); + register int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -5326,7 +5190,7 @@ static int yy_get_next_buffer (void) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -5339,21 +5203,21 @@ static int yy_get_next_buffer (void) else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -5362,12 +5226,11 @@ static int yy_get_next_buffer (void) b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - yyrealloc( (void *) b->yy_ch_buf, - (yy_size_t) (b->yy_buf_size + 2) ); + parser6_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = NULL; + b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -5395,7 +5258,7 @@ static int yy_get_next_buffer (void) if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); + parser6_restart(parser6_in ); } else @@ -5409,15 +5272,12 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; - if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( - (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) parser6_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - /* "- 2" to take care of EOB's */ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); } (yy_n_chars) += number_to_move; @@ -5433,13 +5293,14 @@ static int yy_get_next_buffer (void) /* %if-c-only */ /* %not-for-header */ + static yy_state_type yy_get_previous_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ { - yy_state_type yy_current_state; - char *yy_cp; + register yy_state_type yy_current_state; + register char *yy_cp; /* %% [15.0] code to get the start state into yy_current_state goes here */ yy_current_state = (yy_start); @@ -5447,7 +5308,7 @@ static int yy_get_next_buffer (void) for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { /* %% [16.0] code to find the next state goes here */ - YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -5456,10 +5317,10 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1933 ) - yy_c = yy_meta[yy_c]; + if ( yy_current_state >= 1953 ) + yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; @@ -5476,11 +5337,11 @@ static int yy_get_next_buffer (void) /* %if-c++-only */ /* %endif */ { - int yy_is_jam; + register int yy_is_jam; /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ - char *yy_cp = (yy_c_buf_p); + register char *yy_cp = (yy_c_buf_p); - YY_CHAR yy_c = 1; + register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -5489,20 +5350,18 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1933 ) - yy_c = yy_meta[yy_c]; + if ( yy_current_state >= 1953 ) + yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1932); + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 1952); - return yy_is_jam ? 0 : yy_current_state; + return yy_is_jam ? 0 : yy_current_state; } -#ifndef YY_NO_UNPUT /* %if-c-only */ /* %endif */ -#endif /* %if-c-only */ #ifndef YY_NO_INPUT @@ -5532,7 +5391,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -5549,13 +5408,13 @@ static int yy_get_next_buffer (void) */ /* Reset buffer status. */ - yyrestart( yyin ); + parser6_restart(parser6_in ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { - if ( yywrap( ) ) + if ( parser6_wrap( ) ) return 0; if ( ! (yy_did_buffer_switch_on_eof) ) @@ -5575,10 +5434,10 @@ static int yy_get_next_buffer (void) } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ + *(yy_c_buf_p) = '\0'; /* preserve parser6_text */ (yy_hold_char) = *++(yy_c_buf_p); -/* %% [19.0] update BOL and yylineno */ +/* %% [19.0] update BOL and parser6_lineno */ return c; } @@ -5592,31 +5451,28 @@ static int yy_get_next_buffer (void) * @note This function does not reset the start condition to @c INITIAL . */ /* %if-c-only */ - void yyrestart (FILE * input_file ) + void parser6_restart (FILE * input_file ) /* %endif */ /* %if-c++-only */ /* %endif */ { if ( ! YY_CURRENT_BUFFER ){ - yyensure_buffer_stack (); + parser6_ensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); + parser6__create_buffer(parser6_in,YY_BUF_SIZE ); } - yy_init_buffer( YY_CURRENT_BUFFER, input_file ); - yy_load_buffer_state( ); + parser6__init_buffer(YY_CURRENT_BUFFER,input_file ); + parser6__load_buffer_state( ); } -/* %if-c++-only */ -/* %endif */ - /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ /* %if-c-only */ - void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) + void parser6__switch_to_buffer (YY_BUFFER_STATE new_buffer ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5624,10 +5480,10 @@ static int yy_get_next_buffer (void) /* TODO. We should be able to replace this entire function body * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); + * parser6_pop_buffer_state(); + * parser6_push_buffer_state(new_buffer); */ - yyensure_buffer_stack (); + parser6_ensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; @@ -5640,29 +5496,25 @@ static int yy_get_next_buffer (void) } YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_load_buffer_state( ); + parser6__load_buffer_state( ); /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe + * EOF (parser6_wrap()) processing, but the only time this flag + * is looked at is after parser6_wrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } /* %if-c-only */ -static void yy_load_buffer_state (void) +static void parser6__load_buffer_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; -/* %if-c-only */ - yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; -/* %endif */ -/* %if-c++-only */ -/* %endif */ + parser6_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } @@ -5673,42 +5525,39 @@ static void yy_load_buffer_state (void) * @return the allocated buffer state. */ /* %if-c-only */ - YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) + YY_BUFFER_STATE parser6__create_buffer (FILE * file, int size ) /* %endif */ /* %if-c++-only */ /* %endif */ { YY_BUFFER_STATE b; - b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) parser6_alloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser6__create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); + b->yy_ch_buf = (char *) parser6_alloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser6__create_buffer()" ); b->yy_is_our_buffer = 1; - yy_init_buffer( b, file ); + parser6__init_buffer(b,file ); return b; } -/* %if-c++-only */ -/* %endif */ - /** Destroy the buffer. - * @param b a buffer created with yy_create_buffer() + * @param b a buffer created with parser6__create_buffer() * */ /* %if-c-only */ - void yy_delete_buffer (YY_BUFFER_STATE b ) + void parser6__delete_buffer (YY_BUFFER_STATE b ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5721,17 +5570,28 @@ static void yy_load_buffer_state (void) YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - yyfree( (void *) b->yy_ch_buf ); + parser6_free((void *) b->yy_ch_buf ); - yyfree( (void *) b ); + parser6_free((void *) b ); } +/* %if-c-only */ + +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* %endif */ + +/* %if-c++-only */ +/* %endif */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, - * such as during a yyrestart() or at EOF. + * such as during a parser6_restart() or at EOF. */ /* %if-c-only */ - static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + static void parser6__init_buffer (YY_BUFFER_STATE b, FILE * file ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5739,17 +5599,13 @@ static void yy_load_buffer_state (void) { int oerrno = errno; - yy_flush_buffer( b ); + parser6__flush_buffer(b ); -/* %if-c-only */ b->yy_input_file = file; -/* %endif */ -/* %if-c++-only */ -/* %endif */ b->yy_fill_buffer = 1; - /* If b is the current buffer, then yy_init_buffer was _probably_ - * called from yyrestart() or through yy_get_next_buffer. + /* If b is the current buffer, then parser6__init_buffer was _probably_ + * called from parser6_restart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ @@ -5772,7 +5628,7 @@ static void yy_load_buffer_state (void) * */ /* %if-c-only */ - void yy_flush_buffer (YY_BUFFER_STATE b ) + void parser6__flush_buffer (YY_BUFFER_STATE b ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5795,7 +5651,7 @@ static void yy_load_buffer_state (void) b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); + parser6__load_buffer_state( ); } /* %if-c-or-c++ */ @@ -5806,7 +5662,7 @@ static void yy_load_buffer_state (void) * */ /* %if-c-only */ -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +void parser6_push_buffer_state (YY_BUFFER_STATE new_buffer ) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5814,9 +5670,9 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) if (new_buffer == NULL) return; - yyensure_buffer_stack(); + parser6_ensure_buffer_stack(); - /* This block is copied from yy_switch_to_buffer. */ + /* This block is copied from parser6__switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ @@ -5830,8 +5686,8 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; - /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); + /* copied from parser6__switch_to_buffer. */ + parser6__load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /* %endif */ @@ -5842,7 +5698,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) * */ /* %if-c-only */ -void yypop_buffer_state (void) +void parser6_pop_buffer_state (void) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5850,13 +5706,13 @@ void yypop_buffer_state (void) if (!YY_CURRENT_BUFFER) return; - yy_delete_buffer(YY_CURRENT_BUFFER ); + parser6__delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { - yy_load_buffer_state( ); + parser6__load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } @@ -5867,7 +5723,7 @@ void yypop_buffer_state (void) * Guarantees space for at least one push. */ /* %if-c-only */ -static void yyensure_buffer_stack (void) +static void parser6_ensure_buffer_stack (void) /* %endif */ /* %if-c++-only */ /* %endif */ @@ -5880,15 +5736,15 @@ static void yyensure_buffer_stack (void) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ - (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + num_to_alloc = 1; + (yy_buffer_stack) = (struct yy_buffer_state**)parser6_alloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - + YY_FATAL_ERROR( "out of dynamic memory in parser6_ensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; @@ -5897,15 +5753,15 @@ static void yyensure_buffer_stack (void) if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - yy_size_t grow_size = 8 /* arbitrary grow size */; + int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc + (yy_buffer_stack) = (struct yy_buffer_state**)parser6_realloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser6_ensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -5919,9 +5775,9 @@ static void yyensure_buffer_stack (void) * @param base the character buffer * @param size the size in bytes of the character buffer * - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +YY_BUFFER_STATE parser6__scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; @@ -5929,73 +5785,72 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return NULL; + return 0; - b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) parser6_alloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser6__scan_buffer()" ); - b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = NULL; + b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - yy_switch_to_buffer( b ); + parser6__switch_to_buffer(b ); return b; } /* %endif */ /* %if-c-only */ -/** Setup the input buffer state to scan a string. The next call to yylex() will +/** Setup the input buffer state to scan a string. The next call to parser6_lex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use - * yy_scan_bytes() instead. + * parser6__scan_bytes() instead. */ -YY_BUFFER_STATE yy_scan_string (const char * yystr ) +YY_BUFFER_STATE parser6__scan_string (yyconst char * yystr ) { - return yy_scan_bytes( yystr, (int) strlen(yystr) ); + return parser6__scan_bytes(yystr,strlen(yystr) ); } /* %endif */ /* %if-c-only */ -/** Setup the input buffer state to scan the given bytes. The next call to yylex() will +/** Setup the input buffer state to scan the given bytes. The next call to parser6_lex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE parser6__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; - yy_size_t n; - int i; + yy_size_t n, i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = (yy_size_t) (_yybytes_len + 2); - buf = (char *) yyalloc( n ); + n = _yybytes_len + 2; + buf = (char *) parser6_alloc(n ); if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + YY_FATAL_ERROR( "out of dynamic memory in parser6__scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - b = yy_scan_buffer( buf, n ); + b = parser6__scan_buffer(buf,n ); if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + YY_FATAL_ERROR( "bad buffer in parser6__scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. @@ -6011,9 +5866,9 @@ YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) #endif /* %if-c-only */ -static void yynoreturn yy_fatal_error (const char* msg ) +static void yy_fatal_error (yyconst char* msg ) { - fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* %endif */ @@ -6026,14 +5881,14 @@ static void yynoreturn yy_fatal_error (const char* msg ) #define yyless(n) \ do \ { \ - /* Undo effects of setting up yytext. */ \ + /* Undo effects of setting up parser6_text. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = (yy_hold_char); \ - (yy_c_buf_p) = yytext + yyless_macro_arg; \ + parser6_text[parser6_leng] = (yy_hold_char); \ + (yy_c_buf_p) = parser6_text + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ - yyleng = yyless_macro_arg; \ + parser6_leng = yyless_macro_arg; \ } \ while ( 0 ) @@ -6046,82 +5901,82 @@ static void yynoreturn yy_fatal_error (const char* msg ) /** Get the current line number. * */ -int yyget_lineno (void) +int parser6_get_lineno (void) { - - return yylineno; + + return parser6_lineno; } /** Get the input stream. * */ -FILE *yyget_in (void) +FILE *parser6_get_in (void) { - return yyin; + return parser6_in; } /** Get the output stream. * */ -FILE *yyget_out (void) +FILE *parser6_get_out (void) { - return yyout; + return parser6_out; } /** Get the length of the current token. * */ -int yyget_leng (void) +yy_size_t parser6_get_leng (void) { - return yyleng; + return parser6_leng; } /** Get the current token. * */ -char *yyget_text (void) +char *parser6_get_text (void) { - return yytext; + return parser6_text; } /* %if-reentrant */ /* %endif */ /** Set the current line number. - * @param _line_number line number + * @param line_number * */ -void yyset_lineno (int _line_number ) +void parser6_set_lineno (int line_number ) { - yylineno = _line_number; + parser6_lineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param _in_str A readable stream. + * @param in_str A readable stream. * - * @see yy_switch_to_buffer + * @see parser6__switch_to_buffer */ -void yyset_in (FILE * _in_str ) +void parser6_set_in (FILE * in_str ) { - yyin = _in_str ; + parser6_in = in_str ; } -void yyset_out (FILE * _out_str ) +void parser6_set_out (FILE * out_str ) { - yyout = _out_str ; + parser6_out = out_str ; } -int yyget_debug (void) +int parser6_get_debug (void) { - return yy_flex_debug; + return parser6__flex_debug; } -void yyset_debug (int _bdebug ) +void parser6_set_debug (int bdebug ) { - yy_flex_debug = _bdebug ; + parser6__flex_debug = bdebug ; } /* %endif */ @@ -6135,50 +5990,50 @@ void yyset_debug (int _bdebug ) static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. - * This function is called from yylex_destroy(), so don't allocate here. + * This function is called from parser6_lex_destroy(), so don't allocate here. */ - (yy_buffer_stack) = NULL; + (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = NULL; + (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; /* Defined in main.c */ #ifdef YY_STDINIT - yyin = stdin; - yyout = stdout; + parser6_in = stdin; + parser6_out = stdout; #else - yyin = NULL; - yyout = NULL; + parser6_in = (FILE *) 0; + parser6_out = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by - * yylex_init() + * parser6_lex_init() */ return 0; } /* %endif */ /* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */ -/* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy (void) +/* parser6_lex_destroy is for both reentrant and non-reentrant scanners. */ +int parser6_lex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ - yy_delete_buffer( YY_CURRENT_BUFFER ); + parser6__delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; - yypop_buffer_state(); + parser6_pop_buffer_state(); } /* Destroy the stack itself. */ - yyfree((yy_buffer_stack) ); + parser6_free((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time - * yylex() is called, initialization will occur. */ + * parser6_lex() is called, initialization will occur. */ yy_init_globals( ); /* %if-reentrant */ @@ -6192,19 +6047,18 @@ int yylex_destroy (void) */ #ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, const char * s2, int n ) +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - - int i; + register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (const char * s ) +static int yy_flex_strlen (yyconst char * s ) { - int n; + register int n; for ( n = 0; s[n]; ++n ) ; @@ -6212,14 +6066,13 @@ static int yy_flex_strlen (const char * s ) } #endif -void *yyalloc (yy_size_t size ) +void *parser6_alloc (yy_size_t size ) { - return malloc(size); + return (void *) malloc( size ); } -void *yyrealloc (void * ptr, yy_size_t size ) +void *parser6_realloc (void * ptr, yy_size_t size ) { - /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -6227,12 +6080,12 @@ void *yyrealloc (void * ptr, yy_size_t size ) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return realloc(ptr, size); + return (void *) realloc( (char *) ptr, size ); } -void yyfree (void * ptr ) +void parser6_free (void * ptr ) { - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ + free( (char *) ptr ); /* see parser6_realloc() for (char *) cast */ } /* %if-tables-serialization definitions */ @@ -6242,7 +6095,8 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2178 "dhcp6_lexer.ll" +#line 2265 "dhcp6_lexer.ll" + using namespace isc::dhcp; @@ -6256,7 +6110,7 @@ Parser6Context::scanStringBegin(const std::string& str, ParserType parser_type) file_ = ""; sfile_ = 0; loc_.initialize(&file_); - yy_flex_debug = trace_scanning_; + parser6__flex_debug = trace_scanning_; YY_BUFFER_STATE buffer; buffer = parser6__scan_bytes(str.c_str(), str.size()); if (!buffer) { @@ -6276,7 +6130,7 @@ Parser6Context::scanFileBegin(FILE * f, file_ = filename; sfile_ = f; loc_.initialize(&file_); - yy_flex_debug = trace_scanning_; + parser6__flex_debug = trace_scanning_; YY_BUFFER_STATE buffer; /* See dhcp6_lexer.cc header for available definitions */ diff --git a/src/bin/dhcp6/dhcp6_messages.cc b/src/bin/dhcp6/dhcp6_messages.cc index 9940a6f32f..6f9ff13d15 100644 --- a/src/bin/dhcp6/dhcp6_messages.cc +++ b/src/bin/dhcp6/dhcp6_messages.cc @@ -1,4 +1,4 @@ -// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Fri Oct 23 2020 14:07 +// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Wed Oct 28 2020 14:29 #include #include @@ -53,6 +53,7 @@ extern const isc::log::MessageID DHCP6_DECLINE_FAIL_LEASE_WITHOUT_DUID = "DHCP6_ extern const isc::log::MessageID DHCP6_DECLINE_FAIL_NO_LEASE = "DHCP6_DECLINE_FAIL_NO_LEASE"; extern const isc::log::MessageID DHCP6_DECLINE_LEASE = "DHCP6_DECLINE_LEASE"; extern const isc::log::MessageID DHCP6_DECLINE_PROCESS_IA = "DHCP6_DECLINE_PROCESS_IA"; +extern const isc::log::MessageID DHCP6_DEPRECATED_RESERVATION_MODE = "DHCP6_DEPRECATED_RESERVATION_MODE"; extern const isc::log::MessageID DHCP6_DEVELOPMENT_VERSION = "DHCP6_DEVELOPMENT_VERSION"; extern const isc::log::MessageID DHCP6_DHCP4O6_PACKET_RECEIVED = "DHCP6_DHCP4O6_PACKET_RECEIVED"; extern const isc::log::MessageID DHCP6_DHCP4O6_RECEIVE_FAIL = "DHCP6_DHCP4O6_RECEIVE_FAIL"; @@ -205,6 +206,7 @@ const char* values[] = { "DHCP6_DECLINE_FAIL_NO_LEASE", "Client %1 sent DECLINE for address %2, but there's no lease for it", "DHCP6_DECLINE_LEASE", "Client %1 sent DECLINE for address %2 and the server marked it as declined. The lease will be recovered in %3 seconds.", "DHCP6_DECLINE_PROCESS_IA", "Processing of IA (IAID: %1) from client %2 started.", + "DHCP6_DEPRECATED_RESERVATION_MODE", "deprecated reservation-mode parameter; use reservations-global, reservations-in-subnet and reservations-out-of-pool instead.", "DHCP6_DEVELOPMENT_VERSION", "This software is a development branch of Kea. It is not recommended for production use.", "DHCP6_DHCP4O6_PACKET_RECEIVED", "received DHCPv4o6 packet from DHCPv4 server (type %1) for %2 port %3 on interface %4", "DHCP6_DHCP4O6_RECEIVE_FAIL", "failed to receive DHCPv4o6: %1", diff --git a/src/bin/dhcp6/dhcp6_messages.h b/src/bin/dhcp6/dhcp6_messages.h index 43f12373e7..52582f094c 100644 --- a/src/bin/dhcp6/dhcp6_messages.h +++ b/src/bin/dhcp6/dhcp6_messages.h @@ -1,4 +1,4 @@ -// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Fri Oct 23 2020 14:07 +// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Wed Oct 28 2020 14:29 #ifndef DHCP6_MESSAGES_H #define DHCP6_MESSAGES_H @@ -54,6 +54,7 @@ extern const isc::log::MessageID DHCP6_DECLINE_FAIL_LEASE_WITHOUT_DUID; extern const isc::log::MessageID DHCP6_DECLINE_FAIL_NO_LEASE; extern const isc::log::MessageID DHCP6_DECLINE_LEASE; extern const isc::log::MessageID DHCP6_DECLINE_PROCESS_IA; +extern const isc::log::MessageID DHCP6_DEPRECATED_RESERVATION_MODE; extern const isc::log::MessageID DHCP6_DEVELOPMENT_VERSION; extern const isc::log::MessageID DHCP6_DHCP4O6_PACKET_RECEIVED; extern const isc::log::MessageID DHCP6_DHCP4O6_RECEIVE_FAIL; diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index 7542916aef..cfe0032ee1 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Skeleton implementation for Bison LALR(1) parsers in C++ @@ -394,67 +394,67 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } #line 400 "dhcp6_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } #line 406 "dhcp6_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < double > (); } #line 412 "dhcp6_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < bool > (); } #line 418 "dhcp6_parser.cc" break; case symbol_kind::S_value: // value -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 424 "dhcp6_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 430 "dhcp6_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 436 "dhcp6_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 442 "dhcp6_parser.cc" break; case symbol_kind::S_hr_mode: // hr_mode -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 448 "dhcp6_parser.cc" break; case symbol_kind::S_duid_type: // duid_type -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 454 "dhcp6_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 282 "dhcp6_parser.yy" +#line 283 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } #line 460 "dhcp6_parser.cc" break; @@ -733,133 +733,133 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 291 "dhcp6_parser.yy" +#line 292 "dhcp6_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } #line 739 "dhcp6_parser.cc" break; case 4: // $@2: %empty -#line 292 "dhcp6_parser.yy" +#line 293 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG; } #line 745 "dhcp6_parser.cc" break; case 6: // $@3: %empty -#line 293 "dhcp6_parser.yy" +#line 294 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 751 "dhcp6_parser.cc" break; case 8: // $@4: %empty -#line 294 "dhcp6_parser.yy" +#line 295 "dhcp6_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 757 "dhcp6_parser.cc" break; case 10: // $@5: %empty -#line 295 "dhcp6_parser.yy" +#line 296 "dhcp6_parser.yy" { ctx.ctx_ = ctx.SUBNET6; } #line 763 "dhcp6_parser.cc" break; case 12: // $@6: %empty -#line 296 "dhcp6_parser.yy" +#line 297 "dhcp6_parser.yy" { ctx.ctx_ = ctx.POOLS; } #line 769 "dhcp6_parser.cc" break; case 14: // $@7: %empty -#line 297 "dhcp6_parser.yy" +#line 298 "dhcp6_parser.yy" { ctx.ctx_ = ctx.PD_POOLS; } #line 775 "dhcp6_parser.cc" break; case 16: // $@8: %empty -#line 298 "dhcp6_parser.yy" +#line 299 "dhcp6_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } #line 781 "dhcp6_parser.cc" break; case 18: // $@9: %empty -#line 299 "dhcp6_parser.yy" +#line 300 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } #line 787 "dhcp6_parser.cc" break; case 20: // $@10: %empty -#line 300 "dhcp6_parser.yy" +#line 301 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } #line 793 "dhcp6_parser.cc" break; case 22: // $@11: %empty -#line 301 "dhcp6_parser.yy" +#line 302 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } #line 799 "dhcp6_parser.cc" break; case 24: // $@12: %empty -#line 302 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 805 "dhcp6_parser.cc" break; case 26: // $@13: %empty -#line 303 "dhcp6_parser.yy" +#line 304 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } #line 811 "dhcp6_parser.cc" break; case 28: // $@14: %empty -#line 304 "dhcp6_parser.yy" +#line 305 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } #line 817 "dhcp6_parser.cc" break; case 30: // value: "integer" -#line 312 "dhcp6_parser.yy" +#line 313 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 823 "dhcp6_parser.cc" break; case 31: // value: "floating point" -#line 313 "dhcp6_parser.yy" +#line 314 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } #line 829 "dhcp6_parser.cc" break; case 32: // value: "boolean" -#line 314 "dhcp6_parser.yy" +#line 315 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } #line 835 "dhcp6_parser.cc" break; case 33: // value: "constant string" -#line 315 "dhcp6_parser.yy" +#line 316 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 841 "dhcp6_parser.cc" break; case 34: // value: "null" -#line 316 "dhcp6_parser.yy" +#line 317 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 847 "dhcp6_parser.cc" break; case 35: // value: map2 -#line 317 "dhcp6_parser.yy" +#line 318 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 853 "dhcp6_parser.cc" break; case 36: // value: list_generic -#line 318 "dhcp6_parser.yy" +#line 319 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 859 "dhcp6_parser.cc" break; case 37: // sub_json: value -#line 321 "dhcp6_parser.yy" +#line 322 "dhcp6_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); @@ -868,7 +868,7 @@ namespace isc { namespace dhcp { break; case 38: // $@15: %empty -#line 326 "dhcp6_parser.yy" +#line 327 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -879,7 +879,7 @@ namespace isc { namespace dhcp { break; case 39: // map2: "{" $@15 map_content "}" -#line 331 "dhcp6_parser.yy" +#line 332 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -889,13 +889,13 @@ namespace isc { namespace dhcp { break; case 40: // map_value: map2 -#line 337 "dhcp6_parser.yy" +#line 338 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 895 "dhcp6_parser.cc" break; case 43: // not_empty_map: "constant string" ":" value -#line 344 "dhcp6_parser.yy" +#line 345 "dhcp6_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); @@ -905,7 +905,7 @@ namespace isc { namespace dhcp { break; case 44: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 349 "dhcp6_parser.yy" +#line 350 "dhcp6_parser.yy" { // map consisting of a shorter map followed by // comma and string:value @@ -916,7 +916,7 @@ namespace isc { namespace dhcp { break; case 45: // $@16: %empty -#line 357 "dhcp6_parser.yy" +#line 358 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -925,7 +925,7 @@ namespace isc { namespace dhcp { break; case 46: // list_generic: "[" $@16 list_content "]" -#line 360 "dhcp6_parser.yy" +#line 361 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here } @@ -933,7 +933,7 @@ namespace isc { namespace dhcp { break; case 49: // not_empty_list: value -#line 368 "dhcp6_parser.yy" +#line 369 "dhcp6_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -942,7 +942,7 @@ namespace isc { namespace dhcp { break; case 50: // not_empty_list: not_empty_list "," value -#line 372 "dhcp6_parser.yy" +#line 373 "dhcp6_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); @@ -951,7 +951,7 @@ namespace isc { namespace dhcp { break; case 51: // $@17: %empty -#line 379 "dhcp6_parser.yy" +#line 380 "dhcp6_parser.yy" { // List parsing about to start } @@ -959,7 +959,7 @@ namespace isc { namespace dhcp { break; case 52: // list_strings: "[" $@17 list_strings_content "]" -#line 381 "dhcp6_parser.yy" +#line 382 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -968,7 +968,7 @@ namespace isc { namespace dhcp { break; case 55: // not_empty_list_strings: "constant string" -#line 390 "dhcp6_parser.yy" +#line 391 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -977,7 +977,7 @@ namespace isc { namespace dhcp { break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 394 "dhcp6_parser.yy" +#line 395 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -986,7 +986,7 @@ namespace isc { namespace dhcp { break; case 57: // unknown_map_entry: "constant string" ":" -#line 405 "dhcp6_parser.yy" +#line 406 "dhcp6_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); @@ -997,7 +997,7 @@ namespace isc { namespace dhcp { break; case 58: // $@18: %empty -#line 414 "dhcp6_parser.yy" +#line 415 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1008,7 +1008,7 @@ namespace isc { namespace dhcp { break; case 59: // syntax_map: "{" $@18 global_object "}" -#line 419 "dhcp6_parser.yy" +#line 420 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1021,7 +1021,7 @@ namespace isc { namespace dhcp { break; case 60: // $@19: %empty -#line 429 "dhcp6_parser.yy" +#line 430 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1036,7 +1036,7 @@ namespace isc { namespace dhcp { break; case 61: // global_object: "Dhcp6" $@19 ":" "{" global_params "}" -#line 438 "dhcp6_parser.yy" +#line 439 "dhcp6_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); @@ -1046,7 +1046,7 @@ namespace isc { namespace dhcp { break; case 62: // $@20: %empty -#line 446 "dhcp6_parser.yy" +#line 447 "dhcp6_parser.yy" { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1056,7 +1056,7 @@ namespace isc { namespace dhcp { break; case 63: // sub_dhcp6: "{" $@20 global_params "}" -#line 450 "dhcp6_parser.yy" +#line 451 "dhcp6_parser.yy" { // No global parameter is required // parsing completed @@ -1064,8 +1064,8 @@ namespace isc { namespace dhcp { #line 1065 "dhcp6_parser.cc" break; - case 126: // $@21: %empty -#line 523 "dhcp6_parser.yy" + case 127: // $@21: %empty +#line 525 "dhcp6_parser.yy" { ctx.unique("data-directory", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1073,8 +1073,8 @@ namespace isc { namespace dhcp { #line 1074 "dhcp6_parser.cc" break; - case 127: // data_directory: "data-directory" $@21 ":" "constant string" -#line 526 "dhcp6_parser.yy" + case 128: // data_directory: "data-directory" $@21 ":" "constant string" +#line 528 "dhcp6_parser.yy" { ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data-directory", datadir); @@ -1083,8 +1083,8 @@ namespace isc { namespace dhcp { #line 1084 "dhcp6_parser.cc" break; - case 128: // preferred_lifetime: "preferred-lifetime" ":" "integer" -#line 532 "dhcp6_parser.yy" + case 129: // preferred_lifetime: "preferred-lifetime" ":" "integer" +#line 534 "dhcp6_parser.yy" { ctx.unique("preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1093,8 +1093,8 @@ namespace isc { namespace dhcp { #line 1094 "dhcp6_parser.cc" break; - case 129: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" -#line 538 "dhcp6_parser.yy" + case 130: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" +#line 540 "dhcp6_parser.yy" { ctx.unique("min-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1103,8 +1103,8 @@ namespace isc { namespace dhcp { #line 1104 "dhcp6_parser.cc" break; - case 130: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" -#line 544 "dhcp6_parser.yy" + case 131: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" +#line 546 "dhcp6_parser.yy" { ctx.unique("max-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1113,8 +1113,8 @@ namespace isc { namespace dhcp { #line 1114 "dhcp6_parser.cc" break; - case 131: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 550 "dhcp6_parser.yy" + case 132: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 552 "dhcp6_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1123,8 +1123,8 @@ namespace isc { namespace dhcp { #line 1124 "dhcp6_parser.cc" break; - case 132: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 556 "dhcp6_parser.yy" + case 133: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 558 "dhcp6_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1133,8 +1133,8 @@ namespace isc { namespace dhcp { #line 1134 "dhcp6_parser.cc" break; - case 133: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 562 "dhcp6_parser.yy" + case 134: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 564 "dhcp6_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1143,8 +1143,8 @@ namespace isc { namespace dhcp { #line 1144 "dhcp6_parser.cc" break; - case 134: // renew_timer: "renew-timer" ":" "integer" -#line 568 "dhcp6_parser.yy" + case 135: // renew_timer: "renew-timer" ":" "integer" +#line 570 "dhcp6_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1153,8 +1153,8 @@ namespace isc { namespace dhcp { #line 1154 "dhcp6_parser.cc" break; - case 135: // rebind_timer: "rebind-timer" ":" "integer" -#line 574 "dhcp6_parser.yy" + case 136: // rebind_timer: "rebind-timer" ":" "integer" +#line 576 "dhcp6_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1163,8 +1163,8 @@ namespace isc { namespace dhcp { #line 1164 "dhcp6_parser.cc" break; - case 136: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 580 "dhcp6_parser.yy" + case 137: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 582 "dhcp6_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1173,8 +1173,8 @@ namespace isc { namespace dhcp { #line 1174 "dhcp6_parser.cc" break; - case 137: // t1_percent: "t1-percent" ":" "floating point" -#line 586 "dhcp6_parser.yy" + case 138: // t1_percent: "t1-percent" ":" "floating point" +#line 588 "dhcp6_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1183,8 +1183,8 @@ namespace isc { namespace dhcp { #line 1184 "dhcp6_parser.cc" break; - case 138: // t2_percent: "t2-percent" ":" "floating point" -#line 592 "dhcp6_parser.yy" + case 139: // t2_percent: "t2-percent" ":" "floating point" +#line 594 "dhcp6_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1193,8 +1193,8 @@ namespace isc { namespace dhcp { #line 1194 "dhcp6_parser.cc" break; - case 139: // cache_threshold: "cache-threshold" ":" "floating point" -#line 598 "dhcp6_parser.yy" + case 140: // cache_threshold: "cache-threshold" ":" "floating point" +#line 600 "dhcp6_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); @@ -1203,8 +1203,8 @@ namespace isc { namespace dhcp { #line 1204 "dhcp6_parser.cc" break; - case 140: // cache_max_age: "cache-max-age" ":" "integer" -#line 604 "dhcp6_parser.yy" + case 141: // cache_max_age: "cache-max-age" ":" "integer" +#line 606 "dhcp6_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1213,8 +1213,8 @@ namespace isc { namespace dhcp { #line 1214 "dhcp6_parser.cc" break; - case 141: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 610 "dhcp6_parser.yy" + case 142: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 612 "dhcp6_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); @@ -1223,8 +1223,8 @@ namespace isc { namespace dhcp { #line 1224 "dhcp6_parser.cc" break; - case 142: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 616 "dhcp6_parser.yy" + case 143: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 618 "dhcp6_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1233,8 +1233,8 @@ namespace isc { namespace dhcp { #line 1234 "dhcp6_parser.cc" break; - case 143: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 622 "dhcp6_parser.yy" + case 144: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 624 "dhcp6_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1243,8 +1243,8 @@ namespace isc { namespace dhcp { #line 1244 "dhcp6_parser.cc" break; - case 144: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 628 "dhcp6_parser.yy" + case 145: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 630 "dhcp6_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1253,8 +1253,8 @@ namespace isc { namespace dhcp { #line 1254 "dhcp6_parser.cc" break; - case 145: // $@22: %empty -#line 634 "dhcp6_parser.yy" + case 146: // $@22: %empty +#line 636 "dhcp6_parser.yy" { ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); @@ -1262,8 +1262,8 @@ namespace isc { namespace dhcp { #line 1263 "dhcp6_parser.cc" break; - case 146: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 637 "dhcp6_parser.yy" + case 147: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 639 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); @@ -1271,40 +1271,40 @@ namespace isc { namespace dhcp { #line 1272 "dhcp6_parser.cc" break; - case 147: // ddns_replace_client_name_value: "when-present" -#line 643 "dhcp6_parser.yy" + case 148: // ddns_replace_client_name_value: "when-present" +#line 645 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } #line 1280 "dhcp6_parser.cc" break; - case 148: // ddns_replace_client_name_value: "never" -#line 646 "dhcp6_parser.yy" + case 149: // ddns_replace_client_name_value: "never" +#line 648 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } #line 1288 "dhcp6_parser.cc" break; - case 149: // ddns_replace_client_name_value: "always" -#line 649 "dhcp6_parser.yy" + case 150: // ddns_replace_client_name_value: "always" +#line 651 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } #line 1296 "dhcp6_parser.cc" break; - case 150: // ddns_replace_client_name_value: "when-not-present" -#line 652 "dhcp6_parser.yy" + case 151: // ddns_replace_client_name_value: "when-not-present" +#line 654 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } #line 1304 "dhcp6_parser.cc" break; - case 151: // ddns_replace_client_name_value: "boolean" -#line 655 "dhcp6_parser.yy" + case 152: // ddns_replace_client_name_value: "boolean" +#line 657 "dhcp6_parser.yy" { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); @@ -1312,8 +1312,8 @@ namespace isc { namespace dhcp { #line 1313 "dhcp6_parser.cc" break; - case 152: // $@23: %empty -#line 661 "dhcp6_parser.yy" + case 153: // $@23: %empty +#line 663 "dhcp6_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1321,8 +1321,8 @@ namespace isc { namespace dhcp { #line 1322 "dhcp6_parser.cc" break; - case 153: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 664 "dhcp6_parser.yy" + case 154: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 666 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); @@ -1331,8 +1331,8 @@ namespace isc { namespace dhcp { #line 1332 "dhcp6_parser.cc" break; - case 154: // $@24: %empty -#line 670 "dhcp6_parser.yy" + case 155: // $@24: %empty +#line 672 "dhcp6_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); @@ -1340,8 +1340,8 @@ namespace isc { namespace dhcp { #line 1341 "dhcp6_parser.cc" break; - case 155: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 673 "dhcp6_parser.yy" + case 156: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 675 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); @@ -1350,8 +1350,8 @@ namespace isc { namespace dhcp { #line 1351 "dhcp6_parser.cc" break; - case 156: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 679 "dhcp6_parser.yy" + case 157: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 681 "dhcp6_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1360,105 +1360,115 @@ namespace isc { namespace dhcp { #line 1361 "dhcp6_parser.cc" break; - case 157: // $@25: %empty -#line 685 "dhcp6_parser.yy" + case 158: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 687 "dhcp6_parser.yy" + { + ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); + ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("ddns-use-conflict-resolution", b); +} +#line 1371 "dhcp6_parser.cc" + break; + + case 159: // $@25: %empty +#line 693 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1370 "dhcp6_parser.cc" +#line 1380 "dhcp6_parser.cc" break; - case 158: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" -#line 688 "dhcp6_parser.yy" + case 160: // hostname_char_set: "hostname-char-set" $@25 ":" "constant string" +#line 696 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 1380 "dhcp6_parser.cc" +#line 1390 "dhcp6_parser.cc" break; - case 159: // $@26: %empty -#line 694 "dhcp6_parser.yy" + case 161: // $@26: %empty +#line 702 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1389 "dhcp6_parser.cc" +#line 1399 "dhcp6_parser.cc" break; - case 160: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" -#line 697 "dhcp6_parser.yy" + case 162: // hostname_char_replacement: "hostname-char-replacement" $@26 ":" "constant string" +#line 705 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 1399 "dhcp6_parser.cc" +#line 1409 "dhcp6_parser.cc" break; - case 161: // store_extended_info: "store-extended-info" ":" "boolean" -#line 703 "dhcp6_parser.yy" + case 163: // store_extended_info: "store-extended-info" ":" "boolean" +#line 711 "dhcp6_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1409 "dhcp6_parser.cc" +#line 1419 "dhcp6_parser.cc" break; - case 162: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 709 "dhcp6_parser.yy" + case 164: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 717 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1419 "dhcp6_parser.cc" +#line 1429 "dhcp6_parser.cc" break; - case 163: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 715 "dhcp6_parser.yy" + case 165: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 723 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1429 "dhcp6_parser.cc" +#line 1439 "dhcp6_parser.cc" break; - case 164: // $@27: %empty -#line 721 "dhcp6_parser.yy" + case 166: // $@27: %empty +#line 729 "dhcp6_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1438 "dhcp6_parser.cc" +#line 1448 "dhcp6_parser.cc" break; - case 165: // server_tag: "server-tag" $@27 ":" "constant string" -#line 724 "dhcp6_parser.yy" + case 167: // server_tag: "server-tag" $@27 ":" "constant string" +#line 732 "dhcp6_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); ctx.leave(); } -#line 1448 "dhcp6_parser.cc" +#line 1458 "dhcp6_parser.cc" break; - case 166: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 730 "dhcp6_parser.yy" + case 168: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 738 "dhcp6_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1458 "dhcp6_parser.cc" +#line 1468 "dhcp6_parser.cc" break; - case 167: // $@28: %empty -#line 736 "dhcp6_parser.yy" + case 169: // $@28: %empty +#line 744 "dhcp6_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1466,40 +1476,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1470 "dhcp6_parser.cc" +#line 1480 "dhcp6_parser.cc" break; - case 168: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" -#line 742 "dhcp6_parser.yy" + case 170: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" +#line 750 "dhcp6_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1480 "dhcp6_parser.cc" +#line 1490 "dhcp6_parser.cc" break; - case 169: // $@29: %empty -#line 748 "dhcp6_parser.yy" + case 171: // $@29: %empty +#line 756 "dhcp6_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1490 "dhcp6_parser.cc" +#line 1500 "dhcp6_parser.cc" break; - case 170: // sub_interfaces6: "{" $@29 interfaces_config_params "}" -#line 752 "dhcp6_parser.yy" + case 172: // sub_interfaces6: "{" $@29 interfaces_config_params "}" +#line 760 "dhcp6_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1499 "dhcp6_parser.cc" +#line 1509 "dhcp6_parser.cc" break; - case 178: // $@30: %empty -#line 768 "dhcp6_parser.yy" + case 180: // $@30: %empty +#line 776 "dhcp6_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1507,30 +1517,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1511 "dhcp6_parser.cc" +#line 1521 "dhcp6_parser.cc" break; - case 179: // interfaces_list: "interfaces" $@30 ":" list_strings -#line 774 "dhcp6_parser.yy" + case 181: // interfaces_list: "interfaces" $@30 ":" list_strings +#line 782 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1520 "dhcp6_parser.cc" +#line 1530 "dhcp6_parser.cc" break; - case 180: // re_detect: "re-detect" ":" "boolean" -#line 779 "dhcp6_parser.yy" + case 182: // re_detect: "re-detect" ":" "boolean" +#line 787 "dhcp6_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1530 "dhcp6_parser.cc" +#line 1540 "dhcp6_parser.cc" break; - case 181: // $@31: %empty -#line 785 "dhcp6_parser.yy" + case 183: // $@31: %empty +#line 793 "dhcp6_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1538,22 +1548,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1542 "dhcp6_parser.cc" +#line 1552 "dhcp6_parser.cc" break; - case 182: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" -#line 791 "dhcp6_parser.yy" + case 184: // lease_database: "lease-database" $@31 ":" "{" database_map_params "}" +#line 799 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1553 "dhcp6_parser.cc" +#line 1563 "dhcp6_parser.cc" break; - case 183: // $@32: %empty -#line 798 "dhcp6_parser.yy" + case 185: // $@32: %empty +#line 806 "dhcp6_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1561,22 +1571,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1565 "dhcp6_parser.cc" +#line 1575 "dhcp6_parser.cc" break; - case 184: // hosts_database: "hosts-database" $@32 ":" "{" database_map_params "}" -#line 804 "dhcp6_parser.yy" + case 186: // hosts_database: "hosts-database" $@32 ":" "{" database_map_params "}" +#line 812 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1576 "dhcp6_parser.cc" +#line 1586 "dhcp6_parser.cc" break; - case 185: // $@33: %empty -#line 811 "dhcp6_parser.yy" + case 187: // $@33: %empty +#line 819 "dhcp6_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1584,344 +1594,344 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1588 "dhcp6_parser.cc" +#line 1598 "dhcp6_parser.cc" break; - case 186: // hosts_databases: "hosts-databases" $@33 ":" "[" database_list "]" -#line 817 "dhcp6_parser.yy" + case 188: // hosts_databases: "hosts-databases" $@33 ":" "[" database_list "]" +#line 825 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1597 "dhcp6_parser.cc" +#line 1607 "dhcp6_parser.cc" break; - case 191: // $@34: %empty -#line 830 "dhcp6_parser.yy" + case 193: // $@34: %empty +#line 838 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1607 "dhcp6_parser.cc" +#line 1617 "dhcp6_parser.cc" break; - case 192: // database: "{" $@34 database_map_params "}" -#line 834 "dhcp6_parser.yy" + case 194: // database: "{" $@34 database_map_params "}" +#line 842 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1617 "dhcp6_parser.cc" +#line 1627 "dhcp6_parser.cc" break; - case 216: // $@35: %empty -#line 867 "dhcp6_parser.yy" + case 218: // $@35: %empty +#line 875 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 1626 "dhcp6_parser.cc" +#line 1636 "dhcp6_parser.cc" break; - case 217: // database_type: "type" $@35 ":" db_type -#line 870 "dhcp6_parser.yy" + case 219: // database_type: "type" $@35 ":" db_type +#line 878 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1635 "dhcp6_parser.cc" +#line 1645 "dhcp6_parser.cc" break; - case 218: // db_type: "memfile" -#line 875 "dhcp6_parser.yy" + case 220: // db_type: "memfile" +#line 883 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1641 "dhcp6_parser.cc" +#line 1651 "dhcp6_parser.cc" break; - case 219: // db_type: "mysql" -#line 876 "dhcp6_parser.yy" + case 221: // db_type: "mysql" +#line 884 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1647 "dhcp6_parser.cc" +#line 1657 "dhcp6_parser.cc" break; - case 220: // db_type: "postgresql" -#line 877 "dhcp6_parser.yy" + case 222: // db_type: "postgresql" +#line 885 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1653 "dhcp6_parser.cc" +#line 1663 "dhcp6_parser.cc" break; - case 221: // db_type: "cql" -#line 878 "dhcp6_parser.yy" + case 223: // db_type: "cql" +#line 886 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } -#line 1659 "dhcp6_parser.cc" +#line 1669 "dhcp6_parser.cc" break; - case 222: // $@36: %empty -#line 881 "dhcp6_parser.yy" + case 224: // $@36: %empty +#line 889 "dhcp6_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1668 "dhcp6_parser.cc" +#line 1678 "dhcp6_parser.cc" break; - case 223: // user: "user" $@36 ":" "constant string" -#line 884 "dhcp6_parser.yy" + case 225: // user: "user" $@36 ":" "constant string" +#line 892 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1678 "dhcp6_parser.cc" +#line 1688 "dhcp6_parser.cc" break; - case 224: // $@37: %empty -#line 890 "dhcp6_parser.yy" + case 226: // $@37: %empty +#line 898 "dhcp6_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1687 "dhcp6_parser.cc" +#line 1697 "dhcp6_parser.cc" break; - case 225: // password: "password" $@37 ":" "constant string" -#line 893 "dhcp6_parser.yy" + case 227: // password: "password" $@37 ":" "constant string" +#line 901 "dhcp6_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1697 "dhcp6_parser.cc" +#line 1707 "dhcp6_parser.cc" break; - case 226: // $@38: %empty -#line 899 "dhcp6_parser.yy" + case 228: // $@38: %empty +#line 907 "dhcp6_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1706 "dhcp6_parser.cc" +#line 1716 "dhcp6_parser.cc" break; - case 227: // host: "host" $@38 ":" "constant string" -#line 902 "dhcp6_parser.yy" + case 229: // host: "host" $@38 ":" "constant string" +#line 910 "dhcp6_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1716 "dhcp6_parser.cc" +#line 1726 "dhcp6_parser.cc" break; - case 228: // port: "port" ":" "integer" -#line 908 "dhcp6_parser.yy" + case 230: // port: "port" ":" "integer" +#line 916 "dhcp6_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1726 "dhcp6_parser.cc" +#line 1736 "dhcp6_parser.cc" break; - case 229: // $@39: %empty -#line 914 "dhcp6_parser.yy" + case 231: // $@39: %empty +#line 922 "dhcp6_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1735 "dhcp6_parser.cc" +#line 1745 "dhcp6_parser.cc" break; - case 230: // name: "name" $@39 ":" "constant string" -#line 917 "dhcp6_parser.yy" + case 232: // name: "name" $@39 ":" "constant string" +#line 925 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 1745 "dhcp6_parser.cc" +#line 1755 "dhcp6_parser.cc" break; - case 231: // persist: "persist" ":" "boolean" -#line 923 "dhcp6_parser.yy" + case 233: // persist: "persist" ":" "boolean" +#line 931 "dhcp6_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 1755 "dhcp6_parser.cc" +#line 1765 "dhcp6_parser.cc" break; - case 232: // lfc_interval: "lfc-interval" ":" "integer" -#line 929 "dhcp6_parser.yy" + case 234: // lfc_interval: "lfc-interval" ":" "integer" +#line 937 "dhcp6_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 1765 "dhcp6_parser.cc" +#line 1775 "dhcp6_parser.cc" break; - case 233: // readonly: "readonly" ":" "boolean" -#line 935 "dhcp6_parser.yy" + case 235: // readonly: "readonly" ":" "boolean" +#line 943 "dhcp6_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 1775 "dhcp6_parser.cc" +#line 1785 "dhcp6_parser.cc" break; - case 234: // connect_timeout: "connect-timeout" ":" "integer" -#line 941 "dhcp6_parser.yy" + case 236: // connect_timeout: "connect-timeout" ":" "integer" +#line 949 "dhcp6_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 1785 "dhcp6_parser.cc" +#line 1795 "dhcp6_parser.cc" break; - case 235: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 947 "dhcp6_parser.yy" + case 237: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 955 "dhcp6_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 1795 "dhcp6_parser.cc" +#line 1805 "dhcp6_parser.cc" break; - case 236: // max_row_errors: "max-row-errors" ":" "integer" -#line 953 "dhcp6_parser.yy" + case 238: // max_row_errors: "max-row-errors" ":" "integer" +#line 961 "dhcp6_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 1805 "dhcp6_parser.cc" +#line 1815 "dhcp6_parser.cc" break; - case 237: // request_timeout: "request-timeout" ":" "integer" -#line 959 "dhcp6_parser.yy" + case 239: // request_timeout: "request-timeout" ":" "integer" +#line 967 "dhcp6_parser.yy" { ctx.unique("request-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("request-timeout", n); } -#line 1815 "dhcp6_parser.cc" +#line 1825 "dhcp6_parser.cc" break; - case 238: // tcp_keepalive: "tcp-keepalive" ":" "integer" -#line 965 "dhcp6_parser.yy" + case 240: // tcp_keepalive: "tcp-keepalive" ":" "integer" +#line 973 "dhcp6_parser.yy" { ctx.unique("tcp-keepalive", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-keepalive", n); } -#line 1825 "dhcp6_parser.cc" +#line 1835 "dhcp6_parser.cc" break; - case 239: // tcp_nodelay: "tcp-nodelay" ":" "boolean" -#line 971 "dhcp6_parser.yy" + case 241: // tcp_nodelay: "tcp-nodelay" ":" "boolean" +#line 979 "dhcp6_parser.yy" { ctx.unique("tcp-nodelay", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-nodelay", n); } -#line 1835 "dhcp6_parser.cc" +#line 1845 "dhcp6_parser.cc" break; - case 240: // $@40: %empty -#line 977 "dhcp6_parser.yy" + case 242: // $@40: %empty +#line 985 "dhcp6_parser.yy" { ctx.unique("contact-points", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1844 "dhcp6_parser.cc" +#line 1854 "dhcp6_parser.cc" break; - case 241: // contact_points: "contact-points" $@40 ":" "constant string" -#line 980 "dhcp6_parser.yy" + case 243: // contact_points: "contact-points" $@40 ":" "constant string" +#line 988 "dhcp6_parser.yy" { ElementPtr cp(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); ctx.leave(); } -#line 1854 "dhcp6_parser.cc" +#line 1864 "dhcp6_parser.cc" break; - case 242: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 986 "dhcp6_parser.yy" + case 244: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 994 "dhcp6_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 1864 "dhcp6_parser.cc" +#line 1874 "dhcp6_parser.cc" break; - case 243: // $@41: %empty -#line 992 "dhcp6_parser.yy" + case 245: // $@41: %empty +#line 1000 "dhcp6_parser.yy" { ctx.unique("keyspace", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1873 "dhcp6_parser.cc" +#line 1883 "dhcp6_parser.cc" break; - case 244: // keyspace: "keyspace" $@41 ":" "constant string" -#line 995 "dhcp6_parser.yy" + case 246: // keyspace: "keyspace" $@41 ":" "constant string" +#line 1003 "dhcp6_parser.yy" { ElementPtr ks(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); ctx.leave(); } -#line 1883 "dhcp6_parser.cc" +#line 1893 "dhcp6_parser.cc" break; - case 245: // $@42: %empty -#line 1001 "dhcp6_parser.yy" + case 247: // $@42: %empty +#line 1009 "dhcp6_parser.yy" { ctx.unique("consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1892 "dhcp6_parser.cc" +#line 1902 "dhcp6_parser.cc" break; - case 246: // consistency: "consistency" $@42 ":" "constant string" -#line 1004 "dhcp6_parser.yy" + case 248: // consistency: "consistency" $@42 ":" "constant string" +#line 1012 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("consistency", c); ctx.leave(); } -#line 1902 "dhcp6_parser.cc" +#line 1912 "dhcp6_parser.cc" break; - case 247: // $@43: %empty -#line 1010 "dhcp6_parser.yy" + case 249: // $@43: %empty +#line 1018 "dhcp6_parser.yy" { ctx.unique("serial-consistency", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1911 "dhcp6_parser.cc" +#line 1921 "dhcp6_parser.cc" break; - case 248: // serial_consistency: "serial-consistency" $@43 ":" "constant string" -#line 1013 "dhcp6_parser.yy" + case 250: // serial_consistency: "serial-consistency" $@43 ":" "constant string" +#line 1021 "dhcp6_parser.yy" { ElementPtr c(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("serial-consistency", c); ctx.leave(); } -#line 1921 "dhcp6_parser.cc" +#line 1931 "dhcp6_parser.cc" break; - case 249: // $@44: %empty -#line 1019 "dhcp6_parser.yy" + case 251: // $@44: %empty +#line 1027 "dhcp6_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1929,29 +1939,29 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1933 "dhcp6_parser.cc" +#line 1943 "dhcp6_parser.cc" break; - case 250: // sanity_checks: "sanity-checks" $@44 ":" "{" sanity_checks_params "}" -#line 1025 "dhcp6_parser.yy" + case 252: // sanity_checks: "sanity-checks" $@44 ":" "{" sanity_checks_params "}" +#line 1033 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1942 "dhcp6_parser.cc" +#line 1952 "dhcp6_parser.cc" break; - case 254: // $@45: %empty -#line 1035 "dhcp6_parser.yy" + case 256: // $@45: %empty +#line 1043 "dhcp6_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1951 "dhcp6_parser.cc" +#line 1961 "dhcp6_parser.cc" break; - case 255: // lease_checks: "lease-checks" $@45 ":" "constant string" -#line 1038 "dhcp6_parser.yy" + case 257: // lease_checks: "lease-checks" $@45 ":" "constant string" +#line 1046 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1967,11 +1977,11 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1971 "dhcp6_parser.cc" +#line 1981 "dhcp6_parser.cc" break; - case 256: // $@46: %empty -#line 1054 "dhcp6_parser.yy" + case 258: // $@46: %empty +#line 1062 "dhcp6_parser.yy" { ctx.unique("mac-sources", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1979,38 +1989,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.MAC_SOURCES); } -#line 1983 "dhcp6_parser.cc" +#line 1993 "dhcp6_parser.cc" break; - case 257: // mac_sources: "mac-sources" $@46 ":" "[" mac_sources_list "]" -#line 1060 "dhcp6_parser.yy" + case 259: // mac_sources: "mac-sources" $@46 ":" "[" mac_sources_list "]" +#line 1068 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1992 "dhcp6_parser.cc" +#line 2002 "dhcp6_parser.cc" break; - case 262: // duid_id: "duid" -#line 1073 "dhcp6_parser.yy" + case 264: // duid_id: "duid" +#line 1081 "dhcp6_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2001 "dhcp6_parser.cc" +#line 2011 "dhcp6_parser.cc" break; - case 263: // string_id: "constant string" -#line 1078 "dhcp6_parser.yy" + case 265: // string_id: "constant string" +#line 1086 "dhcp6_parser.yy" { ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2010 "dhcp6_parser.cc" +#line 2020 "dhcp6_parser.cc" break; - case 264: // $@47: %empty -#line 1083 "dhcp6_parser.yy" + case 266: // $@47: %empty +#line 1091 "dhcp6_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2018,38 +2028,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2022 "dhcp6_parser.cc" +#line 2032 "dhcp6_parser.cc" break; - case 265: // host_reservation_identifiers: "host-reservation-identifiers" $@47 ":" "[" host_reservation_identifiers_list "]" -#line 1089 "dhcp6_parser.yy" + case 267: // host_reservation_identifiers: "host-reservation-identifiers" $@47 ":" "[" host_reservation_identifiers_list "]" +#line 1097 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2031 "dhcp6_parser.cc" +#line 2041 "dhcp6_parser.cc" break; - case 271: // hw_address_id: "hw-address" -#line 1103 "dhcp6_parser.yy" + case 273: // hw_address_id: "hw-address" +#line 1111 "dhcp6_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2040 "dhcp6_parser.cc" +#line 2050 "dhcp6_parser.cc" break; - case 272: // flex_id: "flex-id" -#line 1108 "dhcp6_parser.yy" + case 274: // flex_id: "flex-id" +#line 1116 "dhcp6_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2049 "dhcp6_parser.cc" +#line 2059 "dhcp6_parser.cc" break; - case 273: // $@48: %empty -#line 1115 "dhcp6_parser.yy" + case 275: // $@48: %empty +#line 1123 "dhcp6_parser.yy" { ctx.unique("relay-supplied-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2057,20 +2067,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2061 "dhcp6_parser.cc" +#line 2071 "dhcp6_parser.cc" break; - case 274: // relay_supplied_options: "relay-supplied-options" $@48 ":" "[" list_content "]" -#line 1121 "dhcp6_parser.yy" + case 276: // relay_supplied_options: "relay-supplied-options" $@48 ":" "[" list_content "]" +#line 1129 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2070 "dhcp6_parser.cc" +#line 2080 "dhcp6_parser.cc" break; - case 275: // $@49: %empty -#line 1128 "dhcp6_parser.yy" + case 277: // $@49: %empty +#line 1136 "dhcp6_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2078,52 +2088,52 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2082 "dhcp6_parser.cc" +#line 2092 "dhcp6_parser.cc" break; - case 276: // dhcp_multi_threading: "multi-threading" $@49 ":" "{" multi_threading_params "}" -#line 1134 "dhcp6_parser.yy" + case 278: // dhcp_multi_threading: "multi-threading" $@49 ":" "{" multi_threading_params "}" +#line 1142 "dhcp6_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2093 "dhcp6_parser.cc" +#line 2103 "dhcp6_parser.cc" break; - case 285: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1153 "dhcp6_parser.yy" + case 287: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1161 "dhcp6_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2103 "dhcp6_parser.cc" +#line 2113 "dhcp6_parser.cc" break; - case 286: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1159 "dhcp6_parser.yy" + case 288: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1167 "dhcp6_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2113 "dhcp6_parser.cc" +#line 2123 "dhcp6_parser.cc" break; - case 287: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1165 "dhcp6_parser.yy" + case 289: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1173 "dhcp6_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2123 "dhcp6_parser.cc" +#line 2133 "dhcp6_parser.cc" break; - case 288: // $@50: %empty -#line 1171 "dhcp6_parser.yy" + case 290: // $@50: %empty +#line 1179 "dhcp6_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2131,97 +2141,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2135 "dhcp6_parser.cc" +#line 2145 "dhcp6_parser.cc" break; - case 289: // hooks_libraries: "hooks-libraries" $@50 ":" "[" hooks_libraries_list "]" -#line 1177 "dhcp6_parser.yy" + case 291: // hooks_libraries: "hooks-libraries" $@50 ":" "[" hooks_libraries_list "]" +#line 1185 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2144 "dhcp6_parser.cc" +#line 2154 "dhcp6_parser.cc" break; - case 294: // $@51: %empty -#line 1190 "dhcp6_parser.yy" + case 296: // $@51: %empty +#line 1198 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2154 "dhcp6_parser.cc" +#line 2164 "dhcp6_parser.cc" break; - case 295: // hooks_library: "{" $@51 hooks_params "}" -#line 1194 "dhcp6_parser.yy" + case 297: // hooks_library: "{" $@51 hooks_params "}" +#line 1202 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2164 "dhcp6_parser.cc" +#line 2174 "dhcp6_parser.cc" break; - case 296: // $@52: %empty -#line 1200 "dhcp6_parser.yy" + case 298: // $@52: %empty +#line 1208 "dhcp6_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2174 "dhcp6_parser.cc" +#line 2184 "dhcp6_parser.cc" break; - case 297: // sub_hooks_library: "{" $@52 hooks_params "}" -#line 1204 "dhcp6_parser.yy" + case 299: // sub_hooks_library: "{" $@52 hooks_params "}" +#line 1212 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2184 "dhcp6_parser.cc" +#line 2194 "dhcp6_parser.cc" break; - case 303: // $@53: %empty -#line 1219 "dhcp6_parser.yy" + case 305: // $@53: %empty +#line 1227 "dhcp6_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2193 "dhcp6_parser.cc" +#line 2203 "dhcp6_parser.cc" break; - case 304: // library: "library" $@53 ":" "constant string" -#line 1222 "dhcp6_parser.yy" + case 306: // library: "library" $@53 ":" "constant string" +#line 1230 "dhcp6_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2203 "dhcp6_parser.cc" +#line 2213 "dhcp6_parser.cc" break; - case 305: // $@54: %empty -#line 1228 "dhcp6_parser.yy" + case 307: // $@54: %empty +#line 1236 "dhcp6_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2212 "dhcp6_parser.cc" +#line 2222 "dhcp6_parser.cc" break; - case 306: // parameters: "parameters" $@54 ":" map_value -#line 1231 "dhcp6_parser.yy" + case 308: // parameters: "parameters" $@54 ":" map_value +#line 1239 "dhcp6_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2221 "dhcp6_parser.cc" +#line 2231 "dhcp6_parser.cc" break; - case 307: // $@55: %empty -#line 1237 "dhcp6_parser.yy" + case 309: // $@55: %empty +#line 1245 "dhcp6_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2229,81 +2239,81 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2233 "dhcp6_parser.cc" +#line 2243 "dhcp6_parser.cc" break; - case 308: // expired_leases_processing: "expired-leases-processing" $@55 ":" "{" expired_leases_params "}" -#line 1243 "dhcp6_parser.yy" + case 310: // expired_leases_processing: "expired-leases-processing" $@55 ":" "{" expired_leases_params "}" +#line 1251 "dhcp6_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2243 "dhcp6_parser.cc" +#line 2253 "dhcp6_parser.cc" break; - case 317: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1261 "dhcp6_parser.yy" + case 319: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1269 "dhcp6_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2253 "dhcp6_parser.cc" +#line 2263 "dhcp6_parser.cc" break; - case 318: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1267 "dhcp6_parser.yy" + case 320: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1275 "dhcp6_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2263 "dhcp6_parser.cc" +#line 2273 "dhcp6_parser.cc" break; - case 319: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1273 "dhcp6_parser.yy" + case 321: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1281 "dhcp6_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2273 "dhcp6_parser.cc" +#line 2283 "dhcp6_parser.cc" break; - case 320: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1279 "dhcp6_parser.yy" + case 322: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1287 "dhcp6_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2283 "dhcp6_parser.cc" +#line 2293 "dhcp6_parser.cc" break; - case 321: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1285 "dhcp6_parser.yy" + case 323: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1293 "dhcp6_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2293 "dhcp6_parser.cc" +#line 2303 "dhcp6_parser.cc" break; - case 322: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1291 "dhcp6_parser.yy" + case 324: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1299 "dhcp6_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2303 "dhcp6_parser.cc" +#line 2313 "dhcp6_parser.cc" break; - case 323: // $@56: %empty -#line 1300 "dhcp6_parser.yy" + case 325: // $@56: %empty +#line 1308 "dhcp6_parser.yy" { ctx.unique("subnet6", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2311,30 +2321,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET6); } -#line 2315 "dhcp6_parser.cc" +#line 2325 "dhcp6_parser.cc" break; - case 324: // subnet6_list: "subnet6" $@56 ":" "[" subnet6_list_content "]" -#line 1306 "dhcp6_parser.yy" + case 326: // subnet6_list: "subnet6" $@56 ":" "[" subnet6_list_content "]" +#line 1314 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2324 "dhcp6_parser.cc" +#line 2334 "dhcp6_parser.cc" break; - case 329: // $@57: %empty -#line 1326 "dhcp6_parser.yy" + case 331: // $@57: %empty +#line 1334 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2334 "dhcp6_parser.cc" +#line 2344 "dhcp6_parser.cc" break; - case 330: // subnet6: "{" $@57 subnet6_params "}" -#line 1330 "dhcp6_parser.yy" + case 332: // subnet6: "{" $@57 subnet6_params "}" +#line 1338 "dhcp6_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2356,107 +2366,107 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2360 "dhcp6_parser.cc" +#line 2370 "dhcp6_parser.cc" break; - case 331: // $@58: %empty -#line 1352 "dhcp6_parser.yy" + case 333: // $@58: %empty +#line 1360 "dhcp6_parser.yy" { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2370 "dhcp6_parser.cc" +#line 2380 "dhcp6_parser.cc" break; - case 332: // sub_subnet6: "{" $@58 subnet6_params "}" -#line 1356 "dhcp6_parser.yy" + case 334: // sub_subnet6: "{" $@58 subnet6_params "}" +#line 1364 "dhcp6_parser.yy" { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2380 "dhcp6_parser.cc" +#line 2390 "dhcp6_parser.cc" break; - case 377: // $@59: %empty -#line 1412 "dhcp6_parser.yy" + case 380: // $@59: %empty +#line 1421 "dhcp6_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2389 "dhcp6_parser.cc" +#line 2399 "dhcp6_parser.cc" break; - case 378: // subnet: "subnet" $@59 ":" "constant string" -#line 1415 "dhcp6_parser.yy" + case 381: // subnet: "subnet" $@59 ":" "constant string" +#line 1424 "dhcp6_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2399 "dhcp6_parser.cc" +#line 2409 "dhcp6_parser.cc" break; - case 379: // $@60: %empty -#line 1421 "dhcp6_parser.yy" + case 382: // $@60: %empty +#line 1430 "dhcp6_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2408 "dhcp6_parser.cc" +#line 2418 "dhcp6_parser.cc" break; - case 380: // interface: "interface" $@60 ":" "constant string" -#line 1424 "dhcp6_parser.yy" + case 383: // interface: "interface" $@60 ":" "constant string" +#line 1433 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2418 "dhcp6_parser.cc" +#line 2428 "dhcp6_parser.cc" break; - case 381: // $@61: %empty -#line 1430 "dhcp6_parser.yy" + case 384: // $@61: %empty +#line 1439 "dhcp6_parser.yy" { ctx.unique("interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2427 "dhcp6_parser.cc" +#line 2437 "dhcp6_parser.cc" break; - case 382: // interface_id: "interface-id" $@61 ":" "constant string" -#line 1433 "dhcp6_parser.yy" + case 385: // interface_id: "interface-id" $@61 ":" "constant string" +#line 1442 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); ctx.leave(); } -#line 2437 "dhcp6_parser.cc" +#line 2447 "dhcp6_parser.cc" break; - case 383: // $@62: %empty -#line 1439 "dhcp6_parser.yy" + case 386: // $@62: %empty +#line 1448 "dhcp6_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2446 "dhcp6_parser.cc" +#line 2456 "dhcp6_parser.cc" break; - case 384: // client_class: "client-class" $@62 ":" "constant string" -#line 1442 "dhcp6_parser.yy" + case 387: // client_class: "client-class" $@62 ":" "constant string" +#line 1451 "dhcp6_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2456 "dhcp6_parser.cc" +#line 2466 "dhcp6_parser.cc" break; - case 385: // $@63: %empty -#line 1448 "dhcp6_parser.yy" + case 388: // $@63: %empty +#line 1457 "dhcp6_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2464,112 +2474,112 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2468 "dhcp6_parser.cc" +#line 2478 "dhcp6_parser.cc" break; - case 386: // require_client_classes: "require-client-classes" $@63 ":" list_strings -#line 1454 "dhcp6_parser.yy" + case 389: // require_client_classes: "require-client-classes" $@63 ":" list_strings +#line 1463 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2477 "dhcp6_parser.cc" +#line 2487 "dhcp6_parser.cc" break; - case 387: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1459 "dhcp6_parser.yy" + case 390: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1468 "dhcp6_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 2487 "dhcp6_parser.cc" +#line 2497 "dhcp6_parser.cc" break; - case 388: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1465 "dhcp6_parser.yy" + case 391: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1474 "dhcp6_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 2497 "dhcp6_parser.cc" +#line 2507 "dhcp6_parser.cc" break; - case 389: // reservations_global: "reservations-global" ":" "boolean" -#line 1471 "dhcp6_parser.yy" + case 392: // reservations_global: "reservations-global" ":" "boolean" +#line 1480 "dhcp6_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 2507 "dhcp6_parser.cc" +#line 2517 "dhcp6_parser.cc" break; - case 390: // $@64: %empty -#line 1477 "dhcp6_parser.yy" + case 393: // $@64: %empty +#line 1486 "dhcp6_parser.yy" { ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.RESERVATION_MODE); } -#line 2516 "dhcp6_parser.cc" +#line 2526 "dhcp6_parser.cc" break; - case 391: // reservation_mode: "reservation-mode" $@64 ":" hr_mode -#line 1480 "dhcp6_parser.yy" + case 394: // reservation_mode: "reservation-mode" $@64 ":" hr_mode +#line 1489 "dhcp6_parser.yy" { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2525 "dhcp6_parser.cc" +#line 2535 "dhcp6_parser.cc" break; - case 392: // hr_mode: "disabled" -#line 1485 "dhcp6_parser.yy" + case 395: // hr_mode: "disabled" +#line 1494 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2531 "dhcp6_parser.cc" +#line 2541 "dhcp6_parser.cc" break; - case 393: // hr_mode: "out-of-pool" -#line 1486 "dhcp6_parser.yy" + case 396: // hr_mode: "out-of-pool" +#line 1495 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2537 "dhcp6_parser.cc" +#line 2547 "dhcp6_parser.cc" break; - case 394: // hr_mode: "global" -#line 1487 "dhcp6_parser.yy" + case 397: // hr_mode: "global" +#line 1496 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2543 "dhcp6_parser.cc" +#line 2553 "dhcp6_parser.cc" break; - case 395: // hr_mode: "all" -#line 1488 "dhcp6_parser.yy" + case 398: // hr_mode: "all" +#line 1497 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2549 "dhcp6_parser.cc" +#line 2559 "dhcp6_parser.cc" break; - case 396: // id: "id" ":" "integer" -#line 1491 "dhcp6_parser.yy" + case 399: // id: "id" ":" "integer" +#line 1500 "dhcp6_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 2559 "dhcp6_parser.cc" +#line 2569 "dhcp6_parser.cc" break; - case 397: // rapid_commit: "rapid-commit" ":" "boolean" -#line 1497 "dhcp6_parser.yy" + case 400: // rapid_commit: "rapid-commit" ":" "boolean" +#line 1506 "dhcp6_parser.yy" { ctx.unique("rapid-commit", ctx.loc2pos(yystack_[2].location)); ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 2569 "dhcp6_parser.cc" +#line 2579 "dhcp6_parser.cc" break; - case 398: // $@65: %empty -#line 1505 "dhcp6_parser.yy" + case 401: // $@65: %empty +#line 1514 "dhcp6_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2577,38 +2587,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2581 "dhcp6_parser.cc" +#line 2591 "dhcp6_parser.cc" break; - case 399: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" -#line 1511 "dhcp6_parser.yy" + case 402: // shared_networks: "shared-networks" $@65 ":" "[" shared_networks_content "]" +#line 1520 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2590 "dhcp6_parser.cc" +#line 2600 "dhcp6_parser.cc" break; - case 404: // $@66: %empty -#line 1526 "dhcp6_parser.yy" + case 407: // $@66: %empty +#line 1535 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2600 "dhcp6_parser.cc" +#line 2610 "dhcp6_parser.cc" break; - case 405: // shared_network: "{" $@66 shared_network_params "}" -#line 1530 "dhcp6_parser.yy" + case 408: // shared_network: "{" $@66 shared_network_params "}" +#line 1539 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 2608 "dhcp6_parser.cc" +#line 2618 "dhcp6_parser.cc" break; - case 447: // $@67: %empty -#line 1583 "dhcp6_parser.yy" + case 451: // $@67: %empty +#line 1593 "dhcp6_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2616,47 +2626,47 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 2620 "dhcp6_parser.cc" +#line 2630 "dhcp6_parser.cc" break; - case 448: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" -#line 1589 "dhcp6_parser.yy" + case 452: // option_def_list: "option-def" $@67 ":" "[" option_def_list_content "]" +#line 1599 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2629 "dhcp6_parser.cc" +#line 2639 "dhcp6_parser.cc" break; - case 449: // $@68: %empty -#line 1597 "dhcp6_parser.yy" + case 453: // $@68: %empty +#line 1607 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2638 "dhcp6_parser.cc" +#line 2648 "dhcp6_parser.cc" break; - case 450: // sub_option_def_list: "{" $@68 option_def_list "}" -#line 1600 "dhcp6_parser.yy" + case 454: // sub_option_def_list: "{" $@68 option_def_list "}" +#line 1610 "dhcp6_parser.yy" { // parsing completed } -#line 2646 "dhcp6_parser.cc" +#line 2656 "dhcp6_parser.cc" break; - case 455: // $@69: %empty -#line 1616 "dhcp6_parser.yy" + case 459: // $@69: %empty +#line 1626 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2656 "dhcp6_parser.cc" +#line 2666 "dhcp6_parser.cc" break; - case 456: // option_def_entry: "{" $@69 option_def_params "}" -#line 1620 "dhcp6_parser.yy" + case 460: // option_def_entry: "{" $@69 option_def_params "}" +#line 1630 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2664,21 +2674,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2668 "dhcp6_parser.cc" +#line 2678 "dhcp6_parser.cc" break; - case 457: // $@70: %empty -#line 1631 "dhcp6_parser.yy" + case 461: // $@70: %empty +#line 1641 "dhcp6_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2678 "dhcp6_parser.cc" +#line 2688 "dhcp6_parser.cc" break; - case 458: // sub_option_def: "{" $@70 option_def_params "}" -#line 1635 "dhcp6_parser.yy" + case 462: // sub_option_def: "{" $@70 option_def_params "}" +#line 1645 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2686,107 +2696,107 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2690 "dhcp6_parser.cc" +#line 2700 "dhcp6_parser.cc" break; - case 474: // code: "code" ":" "integer" -#line 1667 "dhcp6_parser.yy" + case 478: // code: "code" ":" "integer" +#line 1677 "dhcp6_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 2700 "dhcp6_parser.cc" +#line 2710 "dhcp6_parser.cc" break; - case 476: // $@71: %empty -#line 1675 "dhcp6_parser.yy" + case 480: // $@71: %empty +#line 1685 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2709 "dhcp6_parser.cc" +#line 2719 "dhcp6_parser.cc" break; - case 477: // option_def_type: "type" $@71 ":" "constant string" -#line 1678 "dhcp6_parser.yy" + case 481: // option_def_type: "type" $@71 ":" "constant string" +#line 1688 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2719 "dhcp6_parser.cc" +#line 2729 "dhcp6_parser.cc" break; - case 478: // $@72: %empty -#line 1684 "dhcp6_parser.yy" + case 482: // $@72: %empty +#line 1694 "dhcp6_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2728 "dhcp6_parser.cc" +#line 2738 "dhcp6_parser.cc" break; - case 479: // option_def_record_types: "record-types" $@72 ":" "constant string" -#line 1687 "dhcp6_parser.yy" + case 483: // option_def_record_types: "record-types" $@72 ":" "constant string" +#line 1697 "dhcp6_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 2738 "dhcp6_parser.cc" +#line 2748 "dhcp6_parser.cc" break; - case 480: // $@73: %empty -#line 1693 "dhcp6_parser.yy" + case 484: // $@73: %empty +#line 1703 "dhcp6_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2747 "dhcp6_parser.cc" +#line 2757 "dhcp6_parser.cc" break; - case 481: // space: "space" $@73 ":" "constant string" -#line 1696 "dhcp6_parser.yy" + case 485: // space: "space" $@73 ":" "constant string" +#line 1706 "dhcp6_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2757 "dhcp6_parser.cc" +#line 2767 "dhcp6_parser.cc" break; - case 483: // $@74: %empty -#line 1704 "dhcp6_parser.yy" + case 487: // $@74: %empty +#line 1714 "dhcp6_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2766 "dhcp6_parser.cc" +#line 2776 "dhcp6_parser.cc" break; - case 484: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" -#line 1707 "dhcp6_parser.yy" + case 488: // option_def_encapsulate: "encapsulate" $@74 ":" "constant string" +#line 1717 "dhcp6_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2776 "dhcp6_parser.cc" +#line 2786 "dhcp6_parser.cc" break; - case 485: // option_def_array: "array" ":" "boolean" -#line 1713 "dhcp6_parser.yy" + case 489: // option_def_array: "array" ":" "boolean" +#line 1723 "dhcp6_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2786 "dhcp6_parser.cc" +#line 2796 "dhcp6_parser.cc" break; - case 486: // $@75: %empty -#line 1723 "dhcp6_parser.yy" + case 490: // $@75: %empty +#line 1733 "dhcp6_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2794,97 +2804,97 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2798 "dhcp6_parser.cc" +#line 2808 "dhcp6_parser.cc" break; - case 487: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" -#line 1729 "dhcp6_parser.yy" + case 491: // option_data_list: "option-data" $@75 ":" "[" option_data_list_content "]" +#line 1739 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2807 "dhcp6_parser.cc" +#line 2817 "dhcp6_parser.cc" break; - case 492: // $@76: %empty -#line 1748 "dhcp6_parser.yy" + case 496: // $@76: %empty +#line 1758 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2817 "dhcp6_parser.cc" +#line 2827 "dhcp6_parser.cc" break; - case 493: // option_data_entry: "{" $@76 option_data_params "}" -#line 1752 "dhcp6_parser.yy" + case 497: // option_data_entry: "{" $@76 option_data_params "}" +#line 1762 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2826 "dhcp6_parser.cc" +#line 2836 "dhcp6_parser.cc" break; - case 494: // $@77: %empty -#line 1760 "dhcp6_parser.yy" + case 498: // $@77: %empty +#line 1770 "dhcp6_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2836 "dhcp6_parser.cc" +#line 2846 "dhcp6_parser.cc" break; - case 495: // sub_option_data: "{" $@77 option_data_params "}" -#line 1764 "dhcp6_parser.yy" + case 499: // sub_option_data: "{" $@77 option_data_params "}" +#line 1774 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 2845 "dhcp6_parser.cc" +#line 2855 "dhcp6_parser.cc" break; - case 510: // $@78: %empty -#line 1797 "dhcp6_parser.yy" + case 514: // $@78: %empty +#line 1807 "dhcp6_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2854 "dhcp6_parser.cc" +#line 2864 "dhcp6_parser.cc" break; - case 511: // option_data_data: "data" $@78 ":" "constant string" -#line 1800 "dhcp6_parser.yy" + case 515: // option_data_data: "data" $@78 ":" "constant string" +#line 1810 "dhcp6_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2864 "dhcp6_parser.cc" +#line 2874 "dhcp6_parser.cc" break; - case 514: // option_data_csv_format: "csv-format" ":" "boolean" -#line 1810 "dhcp6_parser.yy" + case 518: // option_data_csv_format: "csv-format" ":" "boolean" +#line 1820 "dhcp6_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr space(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2874 "dhcp6_parser.cc" +#line 2884 "dhcp6_parser.cc" break; - case 515: // option_data_always_send: "always-send" ":" "boolean" -#line 1816 "dhcp6_parser.yy" + case 519: // option_data_always_send: "always-send" ":" "boolean" +#line 1826 "dhcp6_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 2884 "dhcp6_parser.cc" +#line 2894 "dhcp6_parser.cc" break; - case 516: // $@79: %empty -#line 1825 "dhcp6_parser.yy" + case 520: // $@79: %empty +#line 1835 "dhcp6_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2892,87 +2902,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2896 "dhcp6_parser.cc" +#line 2906 "dhcp6_parser.cc" break; - case 517: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" -#line 1831 "dhcp6_parser.yy" + case 521: // pools_list: "pools" $@79 ":" "[" pools_list_content "]" +#line 1841 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2905 "dhcp6_parser.cc" +#line 2915 "dhcp6_parser.cc" break; - case 522: // $@80: %empty -#line 1846 "dhcp6_parser.yy" + case 526: // $@80: %empty +#line 1856 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2915 "dhcp6_parser.cc" +#line 2925 "dhcp6_parser.cc" break; - case 523: // pool_list_entry: "{" $@80 pool_params "}" -#line 1850 "dhcp6_parser.yy" + case 527: // pool_list_entry: "{" $@80 pool_params "}" +#line 1860 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2925 "dhcp6_parser.cc" +#line 2935 "dhcp6_parser.cc" break; - case 524: // $@81: %empty -#line 1856 "dhcp6_parser.yy" + case 528: // $@81: %empty +#line 1866 "dhcp6_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2935 "dhcp6_parser.cc" +#line 2945 "dhcp6_parser.cc" break; - case 525: // sub_pool6: "{" $@81 pool_params "}" -#line 1860 "dhcp6_parser.yy" + case 529: // sub_pool6: "{" $@81 pool_params "}" +#line 1870 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2945 "dhcp6_parser.cc" +#line 2955 "dhcp6_parser.cc" break; - case 535: // $@82: %empty -#line 1879 "dhcp6_parser.yy" + case 539: // $@82: %empty +#line 1889 "dhcp6_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2954 "dhcp6_parser.cc" +#line 2964 "dhcp6_parser.cc" break; - case 536: // pool_entry: "pool" $@82 ":" "constant string" -#line 1882 "dhcp6_parser.yy" + case 540: // pool_entry: "pool" $@82 ":" "constant string" +#line 1892 "dhcp6_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2964 "dhcp6_parser.cc" +#line 2974 "dhcp6_parser.cc" break; - case 537: // $@83: %empty -#line 1888 "dhcp6_parser.yy" + case 541: // $@83: %empty +#line 1898 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 2972 "dhcp6_parser.cc" +#line 2982 "dhcp6_parser.cc" break; - case 538: // user_context: "user-context" $@83 ":" map_value -#line 1890 "dhcp6_parser.yy" + case 542: // user_context: "user-context" $@83 ":" map_value +#line 1900 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -2995,19 +3005,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 2999 "dhcp6_parser.cc" +#line 3009 "dhcp6_parser.cc" break; - case 539: // $@84: %empty -#line 1913 "dhcp6_parser.yy" + case 543: // $@84: %empty +#line 1923 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3007 "dhcp6_parser.cc" +#line 3017 "dhcp6_parser.cc" break; - case 540: // comment: "comment" $@84 ":" "constant string" -#line 1915 "dhcp6_parser.yy" + case 544: // comment: "comment" $@84 ":" "constant string" +#line 1925 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3032,11 +3042,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3036 "dhcp6_parser.cc" +#line 3046 "dhcp6_parser.cc" break; - case 541: // $@85: %empty -#line 1943 "dhcp6_parser.yy" + case 545: // $@85: %empty +#line 1953 "dhcp6_parser.yy" { ctx.unique("pd-pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3044,30 +3054,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 3048 "dhcp6_parser.cc" +#line 3058 "dhcp6_parser.cc" break; - case 542: // pd_pools_list: "pd-pools" $@85 ":" "[" pd_pools_list_content "]" -#line 1949 "dhcp6_parser.yy" + case 546: // pd_pools_list: "pd-pools" $@85 ":" "[" pd_pools_list_content "]" +#line 1959 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3057 "dhcp6_parser.cc" +#line 3067 "dhcp6_parser.cc" break; - case 547: // $@86: %empty -#line 1964 "dhcp6_parser.yy" + case 551: // $@86: %empty +#line 1974 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3067 "dhcp6_parser.cc" +#line 3077 "dhcp6_parser.cc" break; - case 548: // pd_pool_entry: "{" $@86 pd_pool_params "}" -#line 1968 "dhcp6_parser.yy" + case 552: // pd_pool_entry: "{" $@86 pd_pool_params "}" +#line 1978 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3075,21 +3085,21 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3079 "dhcp6_parser.cc" +#line 3089 "dhcp6_parser.cc" break; - case 549: // $@87: %empty -#line 1976 "dhcp6_parser.yy" + case 553: // $@87: %empty +#line 1986 "dhcp6_parser.yy" { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3089 "dhcp6_parser.cc" +#line 3099 "dhcp6_parser.cc" break; - case 550: // sub_pd_pool: "{" $@87 pd_pool_params "}" -#line 1980 "dhcp6_parser.yy" + case 554: // sub_pd_pool: "{" $@87 pd_pool_params "}" +#line 1990 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3097,79 +3107,79 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3101 "dhcp6_parser.cc" +#line 3111 "dhcp6_parser.cc" break; - case 564: // $@88: %empty -#line 2005 "dhcp6_parser.yy" + case 568: // $@88: %empty +#line 2015 "dhcp6_parser.yy" { ctx.unique("prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3110 "dhcp6_parser.cc" +#line 3120 "dhcp6_parser.cc" break; - case 565: // pd_prefix: "prefix" $@88 ":" "constant string" -#line 2008 "dhcp6_parser.yy" + case 569: // pd_prefix: "prefix" $@88 ":" "constant string" +#line 2018 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 3120 "dhcp6_parser.cc" +#line 3130 "dhcp6_parser.cc" break; - case 566: // pd_prefix_len: "prefix-len" ":" "integer" -#line 2014 "dhcp6_parser.yy" + case 570: // pd_prefix_len: "prefix-len" ":" "integer" +#line 2024 "dhcp6_parser.yy" { ctx.unique("prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 3130 "dhcp6_parser.cc" +#line 3140 "dhcp6_parser.cc" break; - case 567: // $@89: %empty -#line 2020 "dhcp6_parser.yy" + case 571: // $@89: %empty +#line 2030 "dhcp6_parser.yy" { ctx.unique("excluded-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3139 "dhcp6_parser.cc" +#line 3149 "dhcp6_parser.cc" break; - case 568: // excluded_prefix: "excluded-prefix" $@89 ":" "constant string" -#line 2023 "dhcp6_parser.yy" + case 572: // excluded_prefix: "excluded-prefix" $@89 ":" "constant string" +#line 2033 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix", prf); ctx.leave(); } -#line 3149 "dhcp6_parser.cc" +#line 3159 "dhcp6_parser.cc" break; - case 569: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" -#line 2029 "dhcp6_parser.yy" + case 573: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" +#line 2039 "dhcp6_parser.yy" { ctx.unique("excluded-prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 3159 "dhcp6_parser.cc" +#line 3169 "dhcp6_parser.cc" break; - case 570: // pd_delegated_len: "delegated-len" ":" "integer" -#line 2035 "dhcp6_parser.yy" + case 574: // pd_delegated_len: "delegated-len" ":" "integer" +#line 2045 "dhcp6_parser.yy" { ctx.unique("delegated-len", ctx.loc2pos(yystack_[2].location)); ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 3169 "dhcp6_parser.cc" +#line 3179 "dhcp6_parser.cc" break; - case 571: // $@90: %empty -#line 2044 "dhcp6_parser.yy" + case 575: // $@90: %empty +#line 2054 "dhcp6_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3177,58 +3187,58 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3181 "dhcp6_parser.cc" +#line 3191 "dhcp6_parser.cc" break; - case 572: // reservations: "reservations" $@90 ":" "[" reservations_list "]" -#line 2050 "dhcp6_parser.yy" + case 576: // reservations: "reservations" $@90 ":" "[" reservations_list "]" +#line 2060 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3190 "dhcp6_parser.cc" +#line 3200 "dhcp6_parser.cc" break; - case 577: // $@91: %empty -#line 2063 "dhcp6_parser.yy" + case 581: // $@91: %empty +#line 2073 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3200 "dhcp6_parser.cc" +#line 3210 "dhcp6_parser.cc" break; - case 578: // reservation: "{" $@91 reservation_params "}" -#line 2067 "dhcp6_parser.yy" + case 582: // reservation: "{" $@91 reservation_params "}" +#line 2077 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3209 "dhcp6_parser.cc" +#line 3219 "dhcp6_parser.cc" break; - case 579: // $@92: %empty -#line 2072 "dhcp6_parser.yy" + case 583: // $@92: %empty +#line 2082 "dhcp6_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3219 "dhcp6_parser.cc" +#line 3229 "dhcp6_parser.cc" break; - case 580: // sub_reservation: "{" $@92 reservation_params "}" -#line 2076 "dhcp6_parser.yy" + case 584: // sub_reservation: "{" $@92 reservation_params "}" +#line 2086 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3228 "dhcp6_parser.cc" +#line 3238 "dhcp6_parser.cc" break; - case 596: // $@93: %empty -#line 2103 "dhcp6_parser.yy" + case 600: // $@93: %empty +#line 2113 "dhcp6_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3236,20 +3246,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3240 "dhcp6_parser.cc" +#line 3250 "dhcp6_parser.cc" break; - case 597: // ip_addresses: "ip-addresses" $@93 ":" list_strings -#line 2109 "dhcp6_parser.yy" + case 601: // ip_addresses: "ip-addresses" $@93 ":" list_strings +#line 2119 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3249 "dhcp6_parser.cc" +#line 3259 "dhcp6_parser.cc" break; - case 598: // $@94: %empty -#line 2114 "dhcp6_parser.yy" + case 602: // $@94: %empty +#line 2124 "dhcp6_parser.yy" { ctx.unique("prefixes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3257,96 +3267,96 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3261 "dhcp6_parser.cc" +#line 3271 "dhcp6_parser.cc" break; - case 599: // prefixes: "prefixes" $@94 ":" list_strings -#line 2120 "dhcp6_parser.yy" + case 603: // prefixes: "prefixes" $@94 ":" list_strings +#line 2130 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3270 "dhcp6_parser.cc" +#line 3280 "dhcp6_parser.cc" break; - case 600: // $@95: %empty -#line 2125 "dhcp6_parser.yy" + case 604: // $@95: %empty +#line 2135 "dhcp6_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3279 "dhcp6_parser.cc" +#line 3289 "dhcp6_parser.cc" break; - case 601: // duid: "duid" $@95 ":" "constant string" -#line 2128 "dhcp6_parser.yy" + case 605: // duid: "duid" $@95 ":" "constant string" +#line 2138 "dhcp6_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3289 "dhcp6_parser.cc" +#line 3299 "dhcp6_parser.cc" break; - case 602: // $@96: %empty -#line 2134 "dhcp6_parser.yy" + case 606: // $@96: %empty +#line 2144 "dhcp6_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3298 "dhcp6_parser.cc" +#line 3308 "dhcp6_parser.cc" break; - case 603: // hw_address: "hw-address" $@96 ":" "constant string" -#line 2137 "dhcp6_parser.yy" + case 607: // hw_address: "hw-address" $@96 ":" "constant string" +#line 2147 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3308 "dhcp6_parser.cc" +#line 3318 "dhcp6_parser.cc" break; - case 604: // $@97: %empty -#line 2143 "dhcp6_parser.yy" + case 608: // $@97: %empty +#line 2153 "dhcp6_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3317 "dhcp6_parser.cc" +#line 3327 "dhcp6_parser.cc" break; - case 605: // hostname: "hostname" $@97 ":" "constant string" -#line 2146 "dhcp6_parser.yy" + case 609: // hostname: "hostname" $@97 ":" "constant string" +#line 2156 "dhcp6_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3327 "dhcp6_parser.cc" +#line 3337 "dhcp6_parser.cc" break; - case 606: // $@98: %empty -#line 2152 "dhcp6_parser.yy" + case 610: // $@98: %empty +#line 2162 "dhcp6_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3336 "dhcp6_parser.cc" +#line 3346 "dhcp6_parser.cc" break; - case 607: // flex_id_value: "flex-id" $@98 ":" "constant string" -#line 2155 "dhcp6_parser.yy" + case 611: // flex_id_value: "flex-id" $@98 ":" "constant string" +#line 2165 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3346 "dhcp6_parser.cc" +#line 3356 "dhcp6_parser.cc" break; - case 608: // $@99: %empty -#line 2161 "dhcp6_parser.yy" + case 612: // $@99: %empty +#line 2171 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3354,20 +3364,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3358 "dhcp6_parser.cc" +#line 3368 "dhcp6_parser.cc" break; - case 609: // reservation_client_classes: "client-classes" $@99 ":" list_strings -#line 2167 "dhcp6_parser.yy" + case 613: // reservation_client_classes: "client-classes" $@99 ":" list_strings +#line 2177 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3367 "dhcp6_parser.cc" +#line 3377 "dhcp6_parser.cc" break; - case 610: // $@100: %empty -#line 2175 "dhcp6_parser.yy" + case 614: // $@100: %empty +#line 2185 "dhcp6_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3375,39 +3385,39 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3379 "dhcp6_parser.cc" +#line 3389 "dhcp6_parser.cc" break; - case 611: // relay: "relay" $@100 ":" "{" relay_map "}" -#line 2181 "dhcp6_parser.yy" + case 615: // relay: "relay" $@100 ":" "{" relay_map "}" +#line 2191 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3388 "dhcp6_parser.cc" +#line 3398 "dhcp6_parser.cc" break; - case 614: // $@101: %empty -#line 2190 "dhcp6_parser.yy" + case 618: // $@101: %empty +#line 2200 "dhcp6_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3397 "dhcp6_parser.cc" +#line 3407 "dhcp6_parser.cc" break; - case 615: // ip_address: "ip-address" $@101 ":" "constant string" -#line 2193 "dhcp6_parser.yy" + case 619: // ip_address: "ip-address" $@101 ":" "constant string" +#line 2203 "dhcp6_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 3407 "dhcp6_parser.cc" +#line 3417 "dhcp6_parser.cc" break; - case 616: // $@102: %empty -#line 2202 "dhcp6_parser.yy" + case 620: // $@102: %empty +#line 2212 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3415,69 +3425,69 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3419 "dhcp6_parser.cc" +#line 3429 "dhcp6_parser.cc" break; - case 617: // client_classes: "client-classes" $@102 ":" "[" client_classes_list "]" -#line 2208 "dhcp6_parser.yy" + case 621: // client_classes: "client-classes" $@102 ":" "[" client_classes_list "]" +#line 2218 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3428 "dhcp6_parser.cc" +#line 3438 "dhcp6_parser.cc" break; - case 620: // $@103: %empty -#line 2217 "dhcp6_parser.yy" + case 624: // $@103: %empty +#line 2227 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3438 "dhcp6_parser.cc" +#line 3448 "dhcp6_parser.cc" break; - case 621: // client_class_entry: "{" $@103 client_class_params "}" -#line 2221 "dhcp6_parser.yy" + case 625: // client_class_entry: "{" $@103 client_class_params "}" +#line 2231 "dhcp6_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3448 "dhcp6_parser.cc" +#line 3458 "dhcp6_parser.cc" break; - case 634: // $@104: %empty -#line 2246 "dhcp6_parser.yy" + case 638: // $@104: %empty +#line 2256 "dhcp6_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3457 "dhcp6_parser.cc" +#line 3467 "dhcp6_parser.cc" break; - case 635: // client_class_test: "test" $@104 ":" "constant string" -#line 2249 "dhcp6_parser.yy" + case 639: // client_class_test: "test" $@104 ":" "constant string" +#line 2259 "dhcp6_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3467 "dhcp6_parser.cc" +#line 3477 "dhcp6_parser.cc" break; - case 636: // only_if_required: "only-if-required" ":" "boolean" -#line 2255 "dhcp6_parser.yy" + case 640: // only_if_required: "only-if-required" ":" "boolean" +#line 2265 "dhcp6_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 3477 "dhcp6_parser.cc" +#line 3487 "dhcp6_parser.cc" break; - case 637: // $@105: %empty -#line 2264 "dhcp6_parser.yy" + case 641: // $@105: %empty +#line 2274 "dhcp6_parser.yy" { ctx.unique("server-id", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3485,117 +3495,117 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 3489 "dhcp6_parser.cc" +#line 3499 "dhcp6_parser.cc" break; - case 638: // server_id: "server-id" $@105 ":" "{" server_id_params "}" -#line 2270 "dhcp6_parser.yy" + case 642: // server_id: "server-id" $@105 ":" "{" server_id_params "}" +#line 2280 "dhcp6_parser.yy" { // The type parameter is required. ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3500 "dhcp6_parser.cc" +#line 3510 "dhcp6_parser.cc" break; - case 650: // $@106: %empty -#line 2292 "dhcp6_parser.yy" + case 654: // $@106: %empty +#line 2302 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DUID_TYPE); } -#line 3509 "dhcp6_parser.cc" +#line 3519 "dhcp6_parser.cc" break; - case 651: // server_id_type: "type" $@106 ":" duid_type -#line 2295 "dhcp6_parser.yy" + case 655: // server_id_type: "type" $@106 ":" duid_type +#line 2305 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3518 "dhcp6_parser.cc" +#line 3528 "dhcp6_parser.cc" break; - case 652: // duid_type: "LLT" -#line 2300 "dhcp6_parser.yy" + case 656: // duid_type: "LLT" +#line 2310 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } -#line 3524 "dhcp6_parser.cc" +#line 3534 "dhcp6_parser.cc" break; - case 653: // duid_type: "EN" -#line 2301 "dhcp6_parser.yy" + case 657: // duid_type: "EN" +#line 2311 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } -#line 3530 "dhcp6_parser.cc" +#line 3540 "dhcp6_parser.cc" break; - case 654: // duid_type: "LL" -#line 2302 "dhcp6_parser.yy" + case 658: // duid_type: "LL" +#line 2312 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } -#line 3536 "dhcp6_parser.cc" +#line 3546 "dhcp6_parser.cc" break; - case 655: // htype: "htype" ":" "integer" -#line 2305 "dhcp6_parser.yy" + case 659: // htype: "htype" ":" "integer" +#line 2315 "dhcp6_parser.yy" { ctx.unique("htype", ctx.loc2pos(yystack_[2].location)); ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 3546 "dhcp6_parser.cc" +#line 3556 "dhcp6_parser.cc" break; - case 656: // $@107: %empty -#line 2311 "dhcp6_parser.yy" + case 660: // $@107: %empty +#line 2321 "dhcp6_parser.yy" { ctx.unique("identifier", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3555 "dhcp6_parser.cc" +#line 3565 "dhcp6_parser.cc" break; - case 657: // identifier: "identifier" $@107 ":" "constant string" -#line 2314 "dhcp6_parser.yy" + case 661: // identifier: "identifier" $@107 ":" "constant string" +#line 2324 "dhcp6_parser.yy" { ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 3565 "dhcp6_parser.cc" +#line 3575 "dhcp6_parser.cc" break; - case 658: // time: "time" ":" "integer" -#line 2320 "dhcp6_parser.yy" + case 662: // time: "time" ":" "integer" +#line 2330 "dhcp6_parser.yy" { ctx.unique("time", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 3575 "dhcp6_parser.cc" +#line 3585 "dhcp6_parser.cc" break; - case 659: // enterprise_id: "enterprise-id" ":" "integer" -#line 2326 "dhcp6_parser.yy" + case 663: // enterprise_id: "enterprise-id" ":" "integer" +#line 2336 "dhcp6_parser.yy" { ctx.unique("enterprise-id", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 3585 "dhcp6_parser.cc" +#line 3595 "dhcp6_parser.cc" break; - case 660: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2334 "dhcp6_parser.yy" + case 664: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2344 "dhcp6_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 3595 "dhcp6_parser.cc" +#line 3605 "dhcp6_parser.cc" break; - case 661: // $@108: %empty -#line 2342 "dhcp6_parser.yy" + case 665: // $@108: %empty +#line 2352 "dhcp6_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3603,58 +3613,58 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 3607 "dhcp6_parser.cc" +#line 3617 "dhcp6_parser.cc" break; - case 662: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}" -#line 2348 "dhcp6_parser.yy" + case 666: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}" +#line 2358 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3616 "dhcp6_parser.cc" +#line 3626 "dhcp6_parser.cc" break; - case 670: // $@109: %empty -#line 2364 "dhcp6_parser.yy" + case 674: // $@109: %empty +#line 2374 "dhcp6_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3625 "dhcp6_parser.cc" +#line 3635 "dhcp6_parser.cc" break; - case 671: // socket_type: "socket-type" $@109 ":" "constant string" -#line 2367 "dhcp6_parser.yy" + case 675: // socket_type: "socket-type" $@109 ":" "constant string" +#line 2377 "dhcp6_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 3635 "dhcp6_parser.cc" +#line 3645 "dhcp6_parser.cc" break; - case 672: // $@110: %empty -#line 2373 "dhcp6_parser.yy" + case 676: // $@110: %empty +#line 2383 "dhcp6_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3644 "dhcp6_parser.cc" +#line 3654 "dhcp6_parser.cc" break; - case 673: // socket_name: "socket-name" $@110 ":" "constant string" -#line 2376 "dhcp6_parser.yy" + case 677: // socket_name: "socket-name" $@110 ":" "constant string" +#line 2386 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 3654 "dhcp6_parser.cc" +#line 3664 "dhcp6_parser.cc" break; - case 674: // $@111: %empty -#line 2385 "dhcp6_parser.yy" + case 678: // $@111: %empty +#line 2395 "dhcp6_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3662,79 +3672,79 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 3666 "dhcp6_parser.cc" +#line 3676 "dhcp6_parser.cc" break; - case 675: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}" -#line 2391 "dhcp6_parser.yy" + case 679: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}" +#line 2401 "dhcp6_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3677 "dhcp6_parser.cc" +#line 3687 "dhcp6_parser.cc" break; - case 684: // enable_queue: "enable-queue" ":" "boolean" -#line 2410 "dhcp6_parser.yy" + case 688: // enable_queue: "enable-queue" ":" "boolean" +#line 2420 "dhcp6_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 3687 "dhcp6_parser.cc" +#line 3697 "dhcp6_parser.cc" break; - case 685: // $@112: %empty -#line 2416 "dhcp6_parser.yy" + case 689: // $@112: %empty +#line 2426 "dhcp6_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3696 "dhcp6_parser.cc" +#line 3706 "dhcp6_parser.cc" break; - case 686: // queue_type: "queue-type" $@112 ":" "constant string" -#line 2419 "dhcp6_parser.yy" + case 690: // queue_type: "queue-type" $@112 ":" "constant string" +#line 2429 "dhcp6_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 3706 "dhcp6_parser.cc" +#line 3716 "dhcp6_parser.cc" break; - case 687: // capacity: "capacity" ":" "integer" -#line 2425 "dhcp6_parser.yy" + case 691: // capacity: "capacity" ":" "integer" +#line 2435 "dhcp6_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 3716 "dhcp6_parser.cc" +#line 3726 "dhcp6_parser.cc" break; - case 688: // $@113: %empty -#line 2431 "dhcp6_parser.yy" + case 692: // $@113: %empty +#line 2441 "dhcp6_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3725 "dhcp6_parser.cc" +#line 3735 "dhcp6_parser.cc" break; - case 689: // arbitrary_map_entry: "constant string" $@113 ":" value -#line 2434 "dhcp6_parser.yy" + case 693: // arbitrary_map_entry: "constant string" $@113 ":" value +#line 2444 "dhcp6_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3734 "dhcp6_parser.cc" +#line 3744 "dhcp6_parser.cc" break; - case 690: // $@114: %empty -#line 2441 "dhcp6_parser.yy" + case 694: // $@114: %empty +#line 2451 "dhcp6_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3742,283 +3752,283 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 3746 "dhcp6_parser.cc" +#line 3756 "dhcp6_parser.cc" break; - case 691: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}" -#line 2447 "dhcp6_parser.yy" + case 695: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}" +#line 2457 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 3757 "dhcp6_parser.cc" +#line 3767 "dhcp6_parser.cc" break; - case 692: // $@115: %empty -#line 2454 "dhcp6_parser.yy" + case 696: // $@115: %empty +#line 2464 "dhcp6_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3767 "dhcp6_parser.cc" +#line 3777 "dhcp6_parser.cc" break; - case 693: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}" -#line 2458 "dhcp6_parser.yy" + case 697: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}" +#line 2468 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3777 "dhcp6_parser.cc" +#line 3787 "dhcp6_parser.cc" break; - case 714: // enable_updates: "enable-updates" ":" "boolean" -#line 2488 "dhcp6_parser.yy" + case 718: // enable_updates: "enable-updates" ":" "boolean" +#line 2498 "dhcp6_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 3787 "dhcp6_parser.cc" +#line 3797 "dhcp6_parser.cc" break; - case 715: // $@116: %empty -#line 2495 "dhcp6_parser.yy" + case 719: // $@116: %empty +#line 2505 "dhcp6_parser.yy" { ctx.unique("qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3796 "dhcp6_parser.cc" +#line 3806 "dhcp6_parser.cc" break; - case 716: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" -#line 2498 "dhcp6_parser.yy" + case 720: // dep_qualifying_suffix: "qualifying-suffix" $@116 ":" "constant string" +#line 2508 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 3806 "dhcp6_parser.cc" +#line 3816 "dhcp6_parser.cc" break; - case 717: // $@117: %empty -#line 2504 "dhcp6_parser.yy" + case 721: // $@117: %empty +#line 2514 "dhcp6_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3815 "dhcp6_parser.cc" +#line 3825 "dhcp6_parser.cc" break; - case 718: // server_ip: "server-ip" $@117 ":" "constant string" -#line 2507 "dhcp6_parser.yy" + case 722: // server_ip: "server-ip" $@117 ":" "constant string" +#line 2517 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 3825 "dhcp6_parser.cc" +#line 3835 "dhcp6_parser.cc" break; - case 719: // server_port: "server-port" ":" "integer" -#line 2513 "dhcp6_parser.yy" + case 723: // server_port: "server-port" ":" "integer" +#line 2523 "dhcp6_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 3835 "dhcp6_parser.cc" +#line 3845 "dhcp6_parser.cc" break; - case 720: // $@118: %empty -#line 2519 "dhcp6_parser.yy" + case 724: // $@118: %empty +#line 2529 "dhcp6_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3844 "dhcp6_parser.cc" +#line 3854 "dhcp6_parser.cc" break; - case 721: // sender_ip: "sender-ip" $@118 ":" "constant string" -#line 2522 "dhcp6_parser.yy" + case 725: // sender_ip: "sender-ip" $@118 ":" "constant string" +#line 2532 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 3854 "dhcp6_parser.cc" +#line 3864 "dhcp6_parser.cc" break; - case 722: // sender_port: "sender-port" ":" "integer" -#line 2528 "dhcp6_parser.yy" + case 726: // sender_port: "sender-port" ":" "integer" +#line 2538 "dhcp6_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 3864 "dhcp6_parser.cc" +#line 3874 "dhcp6_parser.cc" break; - case 723: // max_queue_size: "max-queue-size" ":" "integer" -#line 2534 "dhcp6_parser.yy" + case 727: // max_queue_size: "max-queue-size" ":" "integer" +#line 2544 "dhcp6_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 3874 "dhcp6_parser.cc" +#line 3884 "dhcp6_parser.cc" break; - case 724: // $@119: %empty -#line 2540 "dhcp6_parser.yy" + case 728: // $@119: %empty +#line 2550 "dhcp6_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 3883 "dhcp6_parser.cc" +#line 3893 "dhcp6_parser.cc" break; - case 725: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value -#line 2543 "dhcp6_parser.yy" + case 729: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value +#line 2553 "dhcp6_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3892 "dhcp6_parser.cc" +#line 3902 "dhcp6_parser.cc" break; - case 726: // ncr_protocol_value: "UDP" -#line 2549 "dhcp6_parser.yy" + case 730: // ncr_protocol_value: "UDP" +#line 2559 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 3898 "dhcp6_parser.cc" +#line 3908 "dhcp6_parser.cc" break; - case 727: // ncr_protocol_value: "TCP" -#line 2550 "dhcp6_parser.yy" + case 731: // ncr_protocol_value: "TCP" +#line 2560 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 3904 "dhcp6_parser.cc" +#line 3914 "dhcp6_parser.cc" break; - case 728: // $@120: %empty -#line 2553 "dhcp6_parser.yy" + case 732: // $@120: %empty +#line 2563 "dhcp6_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 3913 "dhcp6_parser.cc" +#line 3923 "dhcp6_parser.cc" break; - case 729: // ncr_format: "ncr-format" $@120 ":" "JSON" -#line 2556 "dhcp6_parser.yy" + case 733: // ncr_format: "ncr-format" $@120 ":" "JSON" +#line 2566 "dhcp6_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 3923 "dhcp6_parser.cc" +#line 3933 "dhcp6_parser.cc" break; - case 730: // dep_override_no_update: "override-no-update" ":" "boolean" -#line 2563 "dhcp6_parser.yy" + case 734: // dep_override_no_update: "override-no-update" ":" "boolean" +#line 2573 "dhcp6_parser.yy" { ctx.unique("override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 3933 "dhcp6_parser.cc" +#line 3943 "dhcp6_parser.cc" break; - case 731: // dep_override_client_update: "override-client-update" ":" "boolean" -#line 2570 "dhcp6_parser.yy" + case 735: // dep_override_client_update: "override-client-update" ":" "boolean" +#line 2580 "dhcp6_parser.yy" { ctx.unique("override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 3943 "dhcp6_parser.cc" +#line 3953 "dhcp6_parser.cc" break; - case 732: // $@121: %empty -#line 2577 "dhcp6_parser.yy" + case 736: // $@121: %empty +#line 2587 "dhcp6_parser.yy" { ctx.unique("replace-client-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 3952 "dhcp6_parser.cc" +#line 3962 "dhcp6_parser.cc" break; - case 733: // dep_replace_client_name: "replace-client-name" $@121 ":" ddns_replace_client_name_value -#line 2580 "dhcp6_parser.yy" + case 737: // dep_replace_client_name: "replace-client-name" $@121 ":" ddns_replace_client_name_value +#line 2590 "dhcp6_parser.yy" { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 3961 "dhcp6_parser.cc" +#line 3971 "dhcp6_parser.cc" break; - case 734: // $@122: %empty -#line 2586 "dhcp6_parser.yy" + case 738: // $@122: %empty +#line 2596 "dhcp6_parser.yy" { ctx.unique("generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3970 "dhcp6_parser.cc" +#line 3980 "dhcp6_parser.cc" break; - case 735: // dep_generated_prefix: "generated-prefix" $@122 ":" "constant string" -#line 2589 "dhcp6_parser.yy" + case 739: // dep_generated_prefix: "generated-prefix" $@122 ":" "constant string" +#line 2599 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3980 "dhcp6_parser.cc" +#line 3990 "dhcp6_parser.cc" break; - case 736: // $@123: %empty -#line 2596 "dhcp6_parser.yy" + case 740: // $@123: %empty +#line 2606 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3989 "dhcp6_parser.cc" +#line 3999 "dhcp6_parser.cc" break; - case 737: // dep_hostname_char_set: "hostname-char-set" $@123 ":" "constant string" -#line 2599 "dhcp6_parser.yy" + case 741: // dep_hostname_char_set: "hostname-char-set" $@123 ":" "constant string" +#line 2609 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 3999 "dhcp6_parser.cc" +#line 4009 "dhcp6_parser.cc" break; - case 738: // $@124: %empty -#line 2606 "dhcp6_parser.yy" + case 742: // $@124: %empty +#line 2616 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4008 "dhcp6_parser.cc" +#line 4018 "dhcp6_parser.cc" break; - case 739: // dep_hostname_char_replacement: "hostname-char-replacement" $@124 ":" "constant string" -#line 2609 "dhcp6_parser.yy" + case 743: // dep_hostname_char_replacement: "hostname-char-replacement" $@124 ":" "constant string" +#line 2619 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 4018 "dhcp6_parser.cc" +#line 4028 "dhcp6_parser.cc" break; - case 740: // $@125: %empty -#line 2618 "dhcp6_parser.yy" + case 744: // $@125: %empty +#line 2628 "dhcp6_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4026,40 +4036,40 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4030 "dhcp6_parser.cc" +#line 4040 "dhcp6_parser.cc" break; - case 741: // config_control: "config-control" $@125 ":" "{" config_control_params "}" -#line 2624 "dhcp6_parser.yy" + case 745: // config_control: "config-control" $@125 ":" "{" config_control_params "}" +#line 2634 "dhcp6_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4040 "dhcp6_parser.cc" +#line 4050 "dhcp6_parser.cc" break; - case 742: // $@126: %empty -#line 2630 "dhcp6_parser.yy" + case 746: // $@126: %empty +#line 2640 "dhcp6_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4050 "dhcp6_parser.cc" +#line 4060 "dhcp6_parser.cc" break; - case 743: // sub_config_control: "{" $@126 config_control_params "}" -#line 2634 "dhcp6_parser.yy" + case 747: // sub_config_control: "{" $@126 config_control_params "}" +#line 2644 "dhcp6_parser.yy" { // No config_control params are required // parsing completed } -#line 4059 "dhcp6_parser.cc" +#line 4069 "dhcp6_parser.cc" break; - case 748: // $@127: %empty -#line 2649 "dhcp6_parser.yy" + case 752: // $@127: %empty +#line 2659 "dhcp6_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4067,30 +4077,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4071 "dhcp6_parser.cc" +#line 4081 "dhcp6_parser.cc" break; - case 749: // config_databases: "config-databases" $@127 ":" "[" database_list "]" -#line 2655 "dhcp6_parser.yy" + case 753: // config_databases: "config-databases" $@127 ":" "[" database_list "]" +#line 2665 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4080 "dhcp6_parser.cc" +#line 4090 "dhcp6_parser.cc" break; - case 750: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2660 "dhcp6_parser.yy" + case 754: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2670 "dhcp6_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 4090 "dhcp6_parser.cc" +#line 4100 "dhcp6_parser.cc" break; - case 751: // $@128: %empty -#line 2668 "dhcp6_parser.yy" + case 755: // $@128: %empty +#line 2678 "dhcp6_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4098,67 +4108,67 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4102 "dhcp6_parser.cc" +#line 4112 "dhcp6_parser.cc" break; - case 752: // loggers: "loggers" $@128 ":" "[" loggers_entries "]" -#line 2674 "dhcp6_parser.yy" + case 756: // loggers: "loggers" $@128 ":" "[" loggers_entries "]" +#line 2684 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4111 "dhcp6_parser.cc" +#line 4121 "dhcp6_parser.cc" break; - case 755: // $@129: %empty -#line 2686 "dhcp6_parser.yy" + case 759: // $@129: %empty +#line 2696 "dhcp6_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4121 "dhcp6_parser.cc" +#line 4131 "dhcp6_parser.cc" break; - case 756: // logger_entry: "{" $@129 logger_params "}" -#line 2690 "dhcp6_parser.yy" + case 760: // logger_entry: "{" $@129 logger_params "}" +#line 2700 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4129 "dhcp6_parser.cc" +#line 4139 "dhcp6_parser.cc" break; - case 766: // debuglevel: "debuglevel" ":" "integer" -#line 2707 "dhcp6_parser.yy" + case 770: // debuglevel: "debuglevel" ":" "integer" +#line 2717 "dhcp6_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4139 "dhcp6_parser.cc" +#line 4149 "dhcp6_parser.cc" break; - case 767: // $@130: %empty -#line 2713 "dhcp6_parser.yy" + case 771: // $@130: %empty +#line 2723 "dhcp6_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4148 "dhcp6_parser.cc" +#line 4158 "dhcp6_parser.cc" break; - case 768: // severity: "severity" $@130 ":" "constant string" -#line 2716 "dhcp6_parser.yy" + case 772: // severity: "severity" $@130 ":" "constant string" +#line 2726 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4158 "dhcp6_parser.cc" +#line 4168 "dhcp6_parser.cc" break; - case 769: // $@131: %empty -#line 2722 "dhcp6_parser.yy" + case 773: // $@131: %empty +#line 2732 "dhcp6_parser.yy" { ctx.unique("output_options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4166,106 +4176,106 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4170 "dhcp6_parser.cc" +#line 4180 "dhcp6_parser.cc" break; - case 770: // output_options_list: "output_options" $@131 ":" "[" output_options_list_content "]" -#line 2728 "dhcp6_parser.yy" + case 774: // output_options_list: "output_options" $@131 ":" "[" output_options_list_content "]" +#line 2738 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4179 "dhcp6_parser.cc" +#line 4189 "dhcp6_parser.cc" break; - case 773: // $@132: %empty -#line 2737 "dhcp6_parser.yy" + case 777: // $@132: %empty +#line 2747 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4189 "dhcp6_parser.cc" +#line 4199 "dhcp6_parser.cc" break; - case 774: // output_entry: "{" $@132 output_params_list "}" -#line 2741 "dhcp6_parser.yy" + case 778: // output_entry: "{" $@132 output_params_list "}" +#line 2751 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4197 "dhcp6_parser.cc" +#line 4207 "dhcp6_parser.cc" break; - case 782: // $@133: %empty -#line 2756 "dhcp6_parser.yy" + case 786: // $@133: %empty +#line 2766 "dhcp6_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4206 "dhcp6_parser.cc" +#line 4216 "dhcp6_parser.cc" break; - case 783: // output: "output" $@133 ":" "constant string" -#line 2759 "dhcp6_parser.yy" + case 787: // output: "output" $@133 ":" "constant string" +#line 2769 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 4216 "dhcp6_parser.cc" +#line 4226 "dhcp6_parser.cc" break; - case 784: // flush: "flush" ":" "boolean" -#line 2765 "dhcp6_parser.yy" + case 788: // flush: "flush" ":" "boolean" +#line 2775 "dhcp6_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4226 "dhcp6_parser.cc" +#line 4236 "dhcp6_parser.cc" break; - case 785: // maxsize: "maxsize" ":" "integer" -#line 2771 "dhcp6_parser.yy" + case 789: // maxsize: "maxsize" ":" "integer" +#line 2781 "dhcp6_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4236 "dhcp6_parser.cc" +#line 4246 "dhcp6_parser.cc" break; - case 786: // maxver: "maxver" ":" "integer" -#line 2777 "dhcp6_parser.yy" + case 790: // maxver: "maxver" ":" "integer" +#line 2787 "dhcp6_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 4246 "dhcp6_parser.cc" +#line 4256 "dhcp6_parser.cc" break; - case 787: // $@134: %empty -#line 2783 "dhcp6_parser.yy" + case 791: // $@134: %empty +#line 2793 "dhcp6_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4255 "dhcp6_parser.cc" +#line 4265 "dhcp6_parser.cc" break; - case 788: // pattern: "pattern" $@134 ":" "constant string" -#line 2786 "dhcp6_parser.yy" + case 792: // pattern: "pattern" $@134 ":" "constant string" +#line 2796 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4265 "dhcp6_parser.cc" +#line 4275 "dhcp6_parser.cc" break; -#line 4269 "dhcp6_parser.cc" +#line 4279 "dhcp6_parser.cc" default: break; @@ -4614,141 +4624,142 @@ namespace isc { namespace dhcp { } - const short Dhcp6Parser::yypact_ninf_ = -959; + const short Dhcp6Parser::yypact_ninf_ = -964; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short Dhcp6Parser::yypact_[] = { - 199, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, 63, 33, 89, 99, 103, - 123, 126, 142, 185, 212, 221, 238, 253, 290, 294, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, 33, -132, - 61, 116, 50, 534, 127, 225, 233, 53, 121, 283, - -72, 633, 219, -959, 110, 154, 295, 234, 302, -959, - 312, -959, -959, -959, -959, -959, -959, 327, 358, 365, - 368, 378, 406, 412, 415, 420, 421, 424, 425, 428, - 429, -959, 431, 434, 438, 440, 441, -959, -959, -959, - 448, 450, -959, -959, -959, -959, -959, -959, -959, 456, - 460, 461, -959, -959, -959, -959, -959, -959, -959, -959, - -959, 464, -959, -959, -959, -959, -959, -959, 465, -959, - 470, -959, 92, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 472, -959, 94, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, 475, 476, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, 96, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, 106, -959, -959, -959, -959, -959, 477, -959, 481, - 484, -959, -959, -959, -959, -959, -959, 109, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, 326, 399, -959, -959, -959, - -959, -959, -959, -959, -959, 363, -959, -959, 486, -959, - -959, -959, 487, -959, -959, 393, 411, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - 488, 489, -959, -959, -959, -959, 492, 491, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - 129, -959, -959, -959, 497, -959, -959, 499, -959, 500, - 501, -959, -959, 502, 503, -959, -959, -959, -959, -959, - -959, -959, 140, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - 504, 144, -959, -959, -959, -959, 33, 33, -959, 309, - 508, -959, 509, 513, 516, 518, 520, 521, 325, 333, - 335, 337, 339, 340, 343, 344, 328, 293, 346, 347, - 345, 349, 549, 354, 355, 356, 357, 359, 554, 558, - 560, 361, 362, 563, 564, 565, 566, 567, 568, 569, - 370, 371, 372, 573, 587, 588, 589, 590, 599, 600, - 602, 603, 407, 604, 606, 607, 608, 609, 610, 417, - 611, -959, 116, -959, 615, 418, 50, -959, 619, 631, - 634, 635, 636, 435, 437, 638, 639, 640, 534, -959, - 642, 127, -959, 643, 449, 646, 457, 458, 225, -959, - 648, 654, 657, 658, 659, 660, 661, -959, 233, -959, - 662, 663, 466, 670, 671, 672, 474, -959, 121, 675, - 478, 479, -959, 283, 676, 677, 146, -959, 480, 681, - 682, 485, 684, 505, 506, 685, 686, 526, 527, 687, - 689, 716, 728, 633, -959, 729, 532, 219, -959, -959, - -959, 732, 730, 537, 735, 738, 744, 745, 734, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, 552, -959, -959, -959, -959, -959, -112, - 553, 555, -959, -959, 750, 752, 753, 754, 755, 559, - 87, -959, -959, -959, 758, 760, 761, 762, 763, 765, - 766, 767, 768, -959, 769, 770, 771, 772, 572, 579, - -959, 776, -959, 777, -959, -959, 778, 779, 584, 585, - 586, -959, -959, 777, 601, 794, -959, 605, -959, 612, - -959, 613, -959, -959, -959, 777, 777, 777, 614, 616, - 617, 618, -959, 620, 621, -959, 622, 623, 626, -959, - -959, 627, -959, -959, -959, 628, 755, -959, -959, 629, - 630, -959, 632, -959, -959, 176, 597, -959, -959, -112, - 637, 641, 644, -959, 798, -959, -959, 33, 116, -959, - 219, 50, 247, 247, 797, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 800, 803, 804, 805, -959, -959, - -959, -959, -959, -959, -959, -959, -77, 33, -70, 696, - 809, 813, 825, 248, 64, 239, 60, -7, 633, -959, - -959, 828, -959, -959, 829, 830, -959, -959, -959, -959, - -959, -79, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, 797, -959, 150, 217, 236, -959, -959, -959, -959, - 835, 836, 837, 839, 840, -959, 842, 843, -959, -959, - -959, 844, 845, 846, 848, -959, 249, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, 259, -959, - 847, 851, -959, -959, 849, 853, -959, -959, 852, 854, - -959, -959, 855, 856, -959, -959, 857, 859, -959, -959, - -959, 62, -959, -959, -959, 858, -959, -959, -959, 75, - -959, -959, -959, -959, 261, -959, -959, -959, 153, -959, - -959, 860, 862, -959, -959, 861, 865, -959, 866, 867, - 868, 869, 870, 871, 292, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 872, 873, 874, -959, -959, -959, - -959, 300, -959, -959, -959, -959, -959, -959, 875, 876, - 877, -959, 324, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 330, -959, -959, -959, 878, -959, - 879, -959, -959, -959, 332, -959, -959, -959, -959, -959, - 334, -959, 250, -959, 668, -959, 880, 881, -959, -959, - 882, 884, -959, -959, -959, 883, -959, 886, -959, -959, - -959, 885, 889, 890, 891, 683, 656, 688, 692, 695, - 894, 697, 698, 897, 898, 899, 702, 704, 703, 707, - 247, -959, -959, 247, -959, 797, 534, -959, 800, 121, - -959, 803, 283, -959, 804, 650, -959, 805, -77, -959, - -959, -70, -959, 906, 696, -959, 235, 809, -959, 233, - -959, 813, -72, -959, 825, 711, 718, 720, 721, 736, - 737, 248, -959, 928, 936, 749, 764, 783, 64, -959, - 756, 786, 789, 239, -959, 950, 975, 60, -959, 788, - 991, 824, 995, -7, -959, -959, 48, 828, -959, -959, - 1001, 1026, 127, -959, 829, 225, -959, 830, 1029, -959, - -959, 398, 834, 838, 841, -959, -959, -959, -959, -959, - 850, -959, -959, 863, 864, 887, -959, -959, -959, -959, - -959, 338, -959, 360, -959, 1030, -959, 1032, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 367, -959, -959, -959, -959, -959, - -959, -959, -959, 893, -959, -959, 1037, -959, -959, -959, - -959, -959, 1036, 1042, -959, -959, -959, -959, -959, 1039, - -959, 397, -959, -959, -959, -959, -959, -959, -959, -959, - 314, 896, -959, -959, -959, -959, -959, -959, -959, -959, - 900, 901, -959, -959, 902, -959, 33, -959, -959, 1044, - -959, -959, -959, -959, -959, 400, -959, -959, -959, -959, - -959, -959, 903, 401, -959, 409, -959, 904, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, 650, -959, -959, 1045, 895, -959, - 235, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, 1046, 888, 1048, 48, -959, -959, -959, -959, - -959, -959, 905, -959, -959, 1049, -959, 907, -959, -959, - 1050, -959, -959, 315, -959, 181, 1050, -959, -959, 1052, - 1055, 1056, -959, 410, -959, -959, -959, -959, -959, -959, - -959, 1057, 908, 909, 911, 1058, 181, -959, 913, -959, - -959, -959, 914, -959, -959, -959 + 553, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, 59, 33, 44, 54, 60, + 95, 105, 131, 139, 192, 212, 213, 226, 233, 235, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, 33, -131, + 86, 116, 52, 278, 308, 296, 454, 39, 41, 119, + -61, 527, 322, -964, 256, 260, 153, 283, 301, -964, + 303, -964, -964, -964, -964, -964, -964, 347, 354, 355, + 362, 377, 391, 393, 394, 408, 424, 426, 428, 429, + 436, -964, 438, 440, 442, 444, 448, -964, -964, -964, + 449, 452, 460, -964, -964, -964, -964, -964, -964, -964, + 464, 465, 468, -964, -964, -964, -964, -964, -964, -964, + -964, -964, 469, -964, -964, -964, -964, -964, -964, 474, + -964, 479, -964, 75, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, 480, -964, 89, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, 481, + 484, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, 92, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, 96, -964, -964, -964, -964, -964, + 485, -964, 488, 496, -964, -964, -964, -964, -964, -964, + 134, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, 305, 386, + -964, -964, -964, -964, -964, -964, -964, -964, 406, -964, + -964, 504, -964, -964, -964, 505, -964, -964, 417, 455, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, 507, 508, -964, -964, -964, -964, 506, + 513, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, 144, -964, -964, -964, 517, -964, -964, + 520, -964, 524, 525, -964, -964, 535, 537, -964, -964, + -964, -964, -964, -964, -964, 150, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, 539, 151, -964, -964, -964, -964, 33, + 33, -964, 315, 545, -964, 546, 547, 549, 555, 557, + 558, 328, 361, 363, 365, 366, 367, 374, 375, 376, + 353, 392, 405, 395, 409, 575, 411, 412, 390, 415, + 416, 576, 593, 609, 418, 422, 423, 612, 613, 620, + 622, 627, 630, 636, 437, 439, 443, 643, 645, 647, + 648, 650, 651, 653, 659, 660, 466, 662, 663, 664, + 666, 667, 668, 475, 669, -964, 116, -964, 675, 476, + 52, -964, 692, 694, 695, 696, 697, 499, 500, 702, + 703, 704, 278, -964, 705, 308, -964, 706, 509, 707, + 510, 514, 296, -964, 712, 714, 715, 716, 717, 718, + 719, -964, 454, -964, 720, 721, 523, 723, 724, 731, + 531, -964, 41, 733, 533, 534, -964, 119, 751, 752, + -73, -964, 552, 754, 755, 559, 756, 560, 561, 757, + 761, 562, 563, 762, 765, 766, 767, 527, -964, 768, + 570, 322, -964, -964, -964, 770, 769, 573, 771, 772, + 773, 774, 777, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, 581, -964, -964, + -964, -964, -964, 56, 582, 583, -964, -964, -964, 781, + 782, 783, 784, 785, 588, 334, -964, -964, -964, 786, + 788, 789, 790, 791, 793, 794, 795, 796, -964, 797, + 798, 799, 800, 598, 599, -964, 803, -964, 804, -964, + -964, 805, 806, 610, 611, 614, -964, -964, 804, 615, + 807, -964, 616, -964, 617, -964, 618, -964, -964, -964, + 804, 804, 804, 619, 621, 623, 624, -964, 625, 626, + -964, 628, 629, 631, -964, -964, 632, -964, -964, -964, + 633, 785, -964, -964, 634, 635, -964, 637, -964, -964, + -121, 606, -964, -964, 56, 638, 639, 640, -964, 810, + -964, -964, 33, 116, -964, 322, 52, 247, 247, 815, + -964, -964, -964, -964, -964, -964, -964, -964, -964, 817, + 822, 825, 831, -964, -964, -964, -964, -964, -964, -964, + -964, -78, 33, 385, 685, 836, 837, 838, 273, 64, + 154, 215, 48, 527, -964, -964, 839, -964, -964, 840, + 841, -964, -964, -964, -964, -964, -80, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, 815, -964, 210, 218, + 231, -964, -964, -964, -964, 845, 846, 847, 848, 849, + -964, 850, 851, -964, -964, -964, 852, 853, 854, 855, + -964, 249, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, 250, -964, 856, 857, -964, -964, 858, + 860, -964, -964, 859, 863, -964, -964, 861, 865, -964, + -964, 864, 866, -964, -964, -964, 57, -964, -964, -964, + 867, -964, -964, -964, 78, -964, -964, -964, -964, 262, + -964, -964, -964, 103, -964, -964, 868, 869, -964, -964, + 870, 872, -964, 873, 874, 875, 876, 877, 878, 300, + -964, -964, -964, -964, -964, -964, -964, -964, -964, 879, + 880, 881, -964, -964, -964, -964, 302, -964, -964, -964, + -964, -964, -964, 882, 883, 884, -964, 309, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, 311, + -964, -964, -964, 885, -964, 886, -964, -964, -964, 345, + -964, -964, -964, -964, -964, 346, -964, 206, -964, 689, + -964, 887, 889, -964, -964, 888, 892, -964, -964, -964, + 890, -964, 891, -964, -964, -964, 895, 896, 897, 898, + 658, 691, 700, 699, 708, 901, 709, 711, 902, 903, + 904, 722, 725, 710, 734, 247, -964, -964, 247, -964, + 815, 278, -964, 817, 41, -964, 822, 119, -964, 825, + 538, -964, 831, -78, -964, -964, 385, -964, 905, 685, + -964, 224, 836, -964, 454, -964, 837, -61, -964, 838, + 740, 741, 742, 753, 787, 801, 273, -964, 914, 923, + 809, 834, 835, 64, -964, 760, 843, 844, 154, -964, + 955, 967, 215, -964, 779, 989, 862, 992, 48, -964, + -964, 463, 839, -964, -964, 991, 997, 308, -964, 840, + 296, -964, 841, 1030, -964, -964, 472, 842, 871, 893, + -964, -964, -964, -964, -964, 894, -964, -964, 906, 907, + 908, -964, -964, -964, -964, -964, 349, -964, 352, -964, + 1035, -964, 1041, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + 359, -964, -964, -964, -964, -964, -964, -964, -964, 909, + -964, -964, 1046, -964, -964, -964, -964, -964, 1044, 1050, + -964, -964, -964, -964, -964, 1047, -964, 388, -964, -964, + -964, -964, -964, -964, -964, -964, 53, 910, -964, -964, + -964, -964, -964, -964, -964, -964, 911, 912, -964, -964, + 913, -964, 33, -964, -964, 1052, -964, -964, -964, -964, + -964, 410, -964, -964, -964, -964, -964, -964, 915, 413, + -964, 419, -964, 916, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + 538, -964, -964, 1053, 899, -964, 224, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, 1054, 900, + 1055, 463, -964, -964, -964, -964, -964, -964, 917, -964, + -964, 1049, -964, 918, -964, -964, 1057, -964, -964, 266, + -964, -36, 1057, -964, -964, 1058, 1062, 1063, -964, 421, + -964, -964, -964, -964, -964, -964, -964, 1064, 919, 920, + 922, 1065, -36, -964, 924, -964, -964, -964, 925, -964, + -964, -964 }; const short @@ -4758,178 +4769,179 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 45, 38, 34, 33, 30, 31, 32, 37, 3, - 35, 36, 58, 5, 62, 7, 169, 9, 331, 11, - 524, 13, 549, 15, 579, 17, 449, 19, 457, 21, - 494, 23, 296, 25, 692, 27, 742, 29, 47, 41, - 0, 0, 0, 0, 0, 0, 581, 0, 459, 496, + 35, 36, 58, 5, 62, 7, 171, 9, 333, 11, + 528, 13, 553, 15, 583, 17, 453, 19, 461, 21, + 498, 23, 298, 25, 696, 27, 746, 29, 47, 41, + 0, 0, 0, 0, 0, 0, 585, 0, 463, 500, 0, 0, 0, 49, 0, 48, 0, 0, 42, 60, - 0, 126, 740, 167, 181, 183, 185, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 164, 0, 0, 0, 0, 0, 145, 152, 154, - 0, 0, 323, 447, 486, 398, 537, 539, 390, 0, - 0, 0, 256, 273, 264, 249, 616, 571, 288, 307, - 637, 0, 275, 661, 674, 690, 157, 159, 0, 751, - 0, 125, 0, 64, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 105, 106, 107, 108, 109, 75, 113, - 114, 115, 116, 117, 118, 119, 111, 112, 120, 121, - 122, 100, 124, 78, 79, 80, 81, 97, 82, 84, - 83, 123, 88, 89, 76, 102, 103, 104, 101, 77, - 86, 87, 95, 96, 98, 85, 90, 91, 92, 93, - 94, 99, 110, 178, 0, 177, 0, 171, 173, 174, - 175, 176, 516, 541, 377, 379, 381, 0, 0, 385, - 383, 610, 376, 335, 336, 337, 338, 339, 340, 341, - 342, 361, 362, 363, 364, 365, 368, 369, 370, 371, - 372, 373, 374, 366, 367, 375, 0, 333, 346, 347, - 348, 351, 352, 355, 356, 357, 354, 349, 350, 343, - 344, 359, 360, 345, 353, 358, 535, 534, 530, 531, - 529, 0, 526, 528, 532, 533, 564, 0, 567, 0, - 0, 563, 557, 558, 556, 561, 562, 0, 551, 553, - 554, 559, 560, 555, 608, 596, 598, 600, 602, 604, - 606, 595, 592, 593, 594, 0, 582, 583, 587, 588, - 585, 589, 590, 591, 586, 0, 476, 229, 0, 480, - 478, 483, 0, 472, 473, 0, 460, 461, 463, 475, - 464, 465, 466, 482, 467, 468, 469, 470, 471, 510, - 0, 0, 508, 509, 512, 513, 0, 497, 498, 500, - 501, 502, 503, 504, 505, 506, 507, 303, 305, 300, - 0, 298, 301, 302, 0, 715, 717, 0, 720, 0, - 0, 724, 728, 0, 0, 732, 734, 736, 738, 713, - 711, 712, 0, 694, 696, 708, 697, 698, 699, 700, - 701, 702, 703, 704, 705, 706, 707, 709, 710, 748, - 0, 0, 744, 746, 747, 46, 0, 0, 39, 0, - 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 744, 169, 183, 185, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 166, 0, 0, 0, 0, 0, 146, 153, 155, + 0, 0, 0, 325, 451, 490, 401, 541, 543, 393, + 0, 0, 0, 258, 275, 266, 251, 620, 575, 290, + 309, 641, 0, 277, 665, 678, 694, 159, 161, 0, + 755, 0, 126, 0, 64, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 105, 106, 107, 108, 109, 75, + 113, 114, 115, 116, 117, 118, 119, 120, 111, 112, + 121, 122, 123, 100, 125, 78, 79, 80, 81, 97, + 82, 84, 83, 124, 88, 89, 76, 102, 103, 104, + 101, 77, 86, 87, 95, 96, 98, 85, 90, 91, + 92, 93, 94, 99, 110, 180, 0, 179, 0, 173, + 175, 176, 177, 178, 520, 545, 380, 382, 384, 0, + 0, 388, 386, 614, 379, 337, 338, 339, 340, 341, + 342, 343, 344, 363, 364, 365, 366, 367, 370, 371, + 372, 373, 374, 375, 376, 377, 368, 369, 378, 0, + 335, 348, 349, 350, 353, 354, 357, 358, 359, 356, + 351, 352, 345, 346, 361, 362, 347, 355, 360, 539, + 538, 534, 535, 533, 0, 530, 532, 536, 537, 568, + 0, 571, 0, 0, 567, 561, 562, 560, 565, 566, + 0, 555, 557, 558, 563, 564, 559, 612, 600, 602, + 604, 606, 608, 610, 599, 596, 597, 598, 0, 586, + 587, 591, 592, 589, 593, 594, 595, 590, 0, 480, + 231, 0, 484, 482, 487, 0, 476, 477, 0, 464, + 465, 467, 479, 468, 469, 470, 486, 471, 472, 473, + 474, 475, 514, 0, 0, 512, 513, 516, 517, 0, + 501, 502, 504, 505, 506, 507, 508, 509, 510, 511, + 305, 307, 302, 0, 300, 303, 304, 0, 719, 721, + 0, 724, 0, 0, 728, 732, 0, 0, 736, 738, + 740, 742, 717, 715, 716, 0, 698, 700, 712, 701, + 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 713, 714, 752, 0, 0, 748, 750, 751, 46, 0, + 0, 39, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 57, 0, 63, 0, 0, 0, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, - 0, 0, 525, 0, 0, 0, 0, 0, 0, 550, - 0, 0, 0, 0, 0, 0, 0, 580, 0, 450, - 0, 0, 0, 0, 0, 0, 0, 458, 0, 0, - 0, 0, 495, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 693, 0, 0, 0, 743, 50, - 43, 0, 0, 0, 0, 0, 0, 0, 0, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 0, 162, 163, 142, 143, 144, 0, - 0, 0, 156, 161, 0, 0, 0, 0, 0, 0, - 0, 387, 388, 389, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 660, 0, 0, 0, 0, 0, 0, - 166, 0, 65, 0, 180, 172, 0, 0, 0, 0, - 0, 396, 397, 0, 0, 0, 334, 0, 527, 0, - 566, 0, 569, 570, 552, 0, 0, 0, 0, 0, - 0, 0, 584, 0, 0, 474, 0, 0, 0, 485, - 462, 0, 514, 515, 499, 0, 0, 299, 714, 0, - 0, 719, 0, 722, 723, 0, 0, 730, 731, 0, - 0, 0, 0, 695, 0, 750, 745, 0, 0, 127, - 0, 0, 0, 0, 187, 165, 147, 148, 149, 150, - 151, 146, 153, 155, 325, 451, 488, 400, 40, 538, - 540, 392, 393, 394, 395, 391, 0, 47, 0, 0, - 0, 573, 290, 0, 0, 0, 0, 0, 0, 158, - 160, 0, 51, 179, 518, 543, 378, 380, 382, 386, - 384, 0, 536, 565, 568, 609, 597, 599, 601, 603, - 605, 607, 477, 230, 481, 479, 484, 511, 304, 306, - 716, 718, 721, 726, 727, 725, 729, 733, 735, 737, - 739, 187, 44, 0, 0, 0, 216, 222, 224, 226, - 0, 0, 0, 0, 0, 240, 0, 0, 243, 245, - 247, 0, 0, 0, 0, 215, 0, 193, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 207, 214, - 208, 209, 210, 205, 206, 211, 212, 213, 0, 191, - 0, 188, 189, 329, 0, 326, 327, 455, 0, 452, - 453, 492, 0, 489, 490, 404, 0, 401, 402, 262, - 263, 0, 258, 260, 261, 0, 271, 272, 268, 0, - 266, 269, 270, 254, 0, 251, 253, 620, 0, 618, - 577, 0, 574, 575, 294, 0, 291, 292, 0, 0, - 0, 0, 0, 0, 0, 309, 311, 312, 313, 314, - 315, 316, 650, 656, 0, 0, 0, 649, 646, 647, - 648, 0, 639, 641, 644, 642, 643, 645, 0, 0, - 0, 284, 0, 277, 279, 280, 281, 282, 283, 670, - 672, 669, 667, 668, 0, 663, 665, 666, 0, 685, - 0, 688, 681, 682, 0, 676, 678, 679, 680, 683, - 0, 755, 0, 753, 53, 522, 0, 519, 520, 547, - 0, 544, 545, 614, 613, 0, 612, 0, 61, 741, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 57, 0, 63, 0, 0, + 0, 172, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 334, 0, 0, 529, 0, 0, 0, + 0, 0, 0, 554, 0, 0, 0, 0, 0, 0, + 0, 584, 0, 454, 0, 0, 0, 0, 0, 0, + 0, 462, 0, 0, 0, 0, 499, 0, 0, 0, + 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 697, 0, + 0, 0, 747, 50, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 0, 164, 165, + 143, 144, 145, 0, 0, 0, 157, 158, 163, 0, + 0, 0, 0, 0, 0, 0, 390, 391, 392, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, + 0, 0, 0, 0, 0, 168, 0, 65, 0, 182, + 174, 0, 0, 0, 0, 0, 399, 400, 0, 0, + 0, 336, 0, 531, 0, 570, 0, 573, 574, 556, + 0, 0, 0, 0, 0, 0, 0, 588, 0, 0, + 478, 0, 0, 0, 489, 466, 0, 518, 519, 503, + 0, 0, 301, 718, 0, 0, 723, 0, 726, 727, + 0, 0, 734, 735, 0, 0, 0, 0, 699, 0, + 754, 749, 0, 0, 128, 0, 0, 0, 0, 189, + 167, 148, 149, 150, 151, 152, 147, 154, 156, 327, + 455, 492, 403, 40, 542, 544, 395, 396, 397, 398, + 394, 0, 47, 0, 0, 0, 577, 292, 0, 0, + 0, 0, 0, 0, 160, 162, 0, 51, 181, 522, + 547, 381, 383, 385, 389, 387, 0, 540, 569, 572, + 613, 601, 603, 605, 607, 609, 611, 481, 232, 485, + 483, 488, 515, 306, 308, 720, 722, 725, 730, 731, + 729, 733, 737, 739, 741, 743, 189, 44, 0, 0, + 0, 218, 224, 226, 228, 0, 0, 0, 0, 0, + 242, 0, 0, 245, 247, 249, 0, 0, 0, 0, + 217, 0, 195, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 209, 216, 210, 211, 212, 207, 208, + 213, 214, 215, 0, 193, 0, 190, 191, 331, 0, + 328, 329, 459, 0, 456, 457, 496, 0, 493, 494, + 407, 0, 404, 405, 264, 265, 0, 260, 262, 263, + 0, 273, 274, 270, 0, 268, 271, 272, 256, 0, + 253, 255, 624, 0, 622, 581, 0, 578, 579, 296, + 0, 293, 294, 0, 0, 0, 0, 0, 0, 0, + 311, 313, 314, 315, 316, 317, 318, 654, 660, 0, + 0, 0, 653, 650, 651, 652, 0, 643, 645, 648, + 646, 647, 649, 0, 0, 0, 286, 0, 279, 281, + 282, 283, 284, 285, 674, 676, 673, 671, 672, 0, + 667, 669, 670, 0, 689, 0, 692, 685, 686, 0, + 680, 682, 683, 684, 687, 0, 759, 0, 757, 53, + 526, 0, 523, 524, 551, 0, 548, 549, 618, 617, + 0, 616, 0, 61, 745, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 182, 184, 0, 186, 0, 0, 324, 0, 459, - 448, 0, 496, 487, 0, 0, 399, 0, 0, 257, - 274, 0, 265, 0, 0, 250, 622, 0, 617, 581, - 572, 0, 0, 289, 0, 0, 0, 0, 0, 0, - 0, 0, 308, 0, 0, 0, 0, 0, 0, 638, - 0, 0, 0, 0, 276, 0, 0, 0, 662, 0, - 0, 0, 0, 0, 675, 691, 0, 0, 752, 55, - 0, 54, 0, 517, 0, 0, 542, 0, 0, 611, - 749, 0, 0, 0, 0, 228, 231, 232, 233, 234, - 0, 242, 235, 0, 0, 0, 237, 238, 239, 236, - 194, 0, 190, 0, 328, 0, 454, 0, 491, 446, - 422, 423, 424, 426, 427, 428, 412, 413, 431, 432, - 433, 434, 435, 438, 439, 440, 441, 442, 443, 444, - 436, 437, 445, 408, 409, 410, 411, 420, 421, 417, - 418, 419, 416, 425, 0, 406, 414, 429, 430, 415, - 403, 259, 267, 0, 252, 634, 0, 632, 633, 629, - 630, 631, 0, 623, 624, 626, 627, 628, 619, 0, - 576, 0, 293, 317, 318, 319, 320, 321, 322, 310, - 0, 0, 655, 658, 659, 640, 285, 286, 287, 278, - 0, 0, 664, 684, 0, 687, 0, 677, 769, 0, - 767, 765, 759, 763, 764, 0, 757, 761, 762, 760, - 754, 52, 0, 0, 521, 0, 546, 0, 218, 219, - 220, 221, 217, 223, 225, 227, 241, 244, 246, 248, - 192, 330, 456, 493, 0, 405, 255, 0, 0, 621, - 0, 578, 295, 652, 653, 654, 651, 657, 671, 673, - 686, 689, 0, 0, 0, 0, 756, 56, 523, 548, - 615, 407, 0, 636, 625, 0, 766, 0, 758, 635, - 0, 768, 773, 0, 771, 0, 0, 770, 782, 0, - 0, 0, 787, 0, 775, 777, 778, 779, 780, 781, - 772, 0, 0, 0, 0, 0, 0, 774, 0, 784, - 785, 786, 0, 776, 783, 788 + 0, 0, 0, 0, 0, 0, 184, 186, 0, 188, + 0, 0, 326, 0, 463, 452, 0, 500, 491, 0, + 0, 402, 0, 0, 259, 276, 0, 267, 0, 0, + 252, 626, 0, 621, 585, 576, 0, 0, 291, 0, + 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, + 0, 0, 0, 0, 642, 0, 0, 0, 0, 278, + 0, 0, 0, 666, 0, 0, 0, 0, 0, 679, + 695, 0, 0, 756, 55, 0, 54, 0, 521, 0, + 0, 546, 0, 0, 615, 753, 0, 0, 0, 0, + 230, 233, 234, 235, 236, 0, 244, 237, 0, 0, + 0, 239, 240, 241, 238, 196, 0, 192, 0, 330, + 0, 458, 0, 495, 450, 425, 426, 427, 429, 430, + 431, 415, 416, 434, 435, 436, 437, 438, 441, 442, + 443, 444, 445, 446, 447, 448, 439, 440, 449, 411, + 412, 413, 414, 423, 424, 420, 421, 422, 419, 428, + 0, 409, 417, 432, 433, 418, 406, 261, 269, 0, + 254, 638, 0, 636, 637, 633, 634, 635, 0, 627, + 628, 630, 631, 632, 623, 0, 580, 0, 295, 319, + 320, 321, 322, 323, 324, 312, 0, 0, 659, 662, + 663, 644, 287, 288, 289, 280, 0, 0, 668, 688, + 0, 691, 0, 681, 773, 0, 771, 769, 763, 767, + 768, 0, 761, 765, 766, 764, 758, 52, 0, 0, + 525, 0, 550, 0, 220, 221, 222, 223, 219, 225, + 227, 229, 243, 246, 248, 250, 194, 332, 460, 497, + 0, 408, 257, 0, 0, 625, 0, 582, 297, 656, + 657, 658, 655, 661, 675, 677, 690, 693, 0, 0, + 0, 0, 760, 56, 527, 552, 619, 410, 0, 640, + 629, 0, 770, 0, 762, 639, 0, 772, 777, 0, + 775, 0, 0, 774, 786, 0, 0, 0, 791, 0, + 779, 781, 782, 783, 784, 785, 776, 0, 0, 0, + 0, 0, 0, 778, 0, 788, 789, 790, 0, 780, + 787, 792 }; const short Dhcp6Parser::yypgoto_[] = { - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -10, -959, -559, -959, - 387, -959, -959, -959, -959, 350, -959, -590, -959, -959, - -959, -71, -959, -959, -959, -959, -959, -959, 375, 591, - -959, -959, -59, -43, -42, -40, -39, -28, -27, -26, - -23, -21, -15, -9, -3, -959, -1, 17, 18, 20, - -959, 389, 25, -959, 28, -959, 30, 32, -959, 35, - -959, 38, -959, -959, -959, -959, -959, -959, -959, -959, - -959, 379, 580, -959, -959, -959, -959, -959, -959, -959, - -959, -959, 298, -959, 97, -959, -671, 101, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -67, -959, - -709, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, 80, -959, -959, -959, -959, -959, 88, -693, -959, - -959, -959, -959, 84, -959, -959, -959, -959, -959, -959, - -959, 54, -959, -959, -959, -959, -959, -959, -959, 74, - -959, -959, -959, 77, 544, -959, -959, -959, -959, -959, - -959, -959, 70, -959, -959, -959, -959, -959, -959, -958, - -959, -959, -959, 104, -959, -959, -959, 107, 593, -959, - -959, -957, -959, -956, -959, 47, -959, 51, -959, 40, - 42, 45, 46, -959, -959, -959, -950, -959, -959, -959, - -959, 98, -959, -959, -120, 1009, -959, -959, -959, -959, - -959, 114, -959, -959, -959, 108, -959, 570, -959, -66, - -959, -959, -959, -959, -959, -47, -959, -959, -959, -959, - -959, 13, -959, -959, -959, 125, -959, -959, -959, 118, - -959, 574, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, 66, -959, -959, -959, 76, 624, -959, - -959, -55, -959, 1, -959, -959, -959, -959, -959, 69, - -959, -959, -959, 72, 645, -959, -959, -959, -959, -959, - -959, -959, -57, -959, -959, -959, 119, -959, -959, -959, - 120, -959, 649, 380, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -949, -959, -959, - -959, -959, -959, -959, -959, 130, -959, -959, -959, -88, - -959, -959, -959, -959, -959, -959, -959, 105, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - 102, -959, -959, -959, -959, -959, -959, -959, 91, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, 402, - 575, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - -959, -959, -959, -959, -959, -959, -959, -959, -959, -959, - 436, 577, -959, -959, -959, -959, -959, -959, 95, -959, - -959, -94, -959, -959, -959, -959, -959, -959, -111, -959, - -959, -130, -959, -959, -959, -959, -959, -959, -959 + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -10, -964, -564, -964, + 200, -964, -964, -964, -964, 339, -964, -595, -964, -964, + -964, -71, -964, -964, -964, -964, -964, -964, 378, 584, + -964, -964, -59, -43, -42, -40, -39, -28, -27, -26, + -23, -21, -15, -9, -3, -964, -1, 17, 18, 20, + -964, 396, 25, -964, 28, -964, 30, 32, 35, -964, + 38, -964, 40, -964, -964, -964, -964, -964, -964, -964, + -964, -964, 379, 586, -964, -964, -964, -964, -964, -964, + -964, -964, -964, 298, -964, 97, -964, -676, 104, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -67, + -964, -714, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, 73, -964, -964, -964, -964, -964, 85, -698, + -964, -964, -964, -964, 87, -964, -964, -964, -964, -964, + -964, -964, 58, -964, -964, -964, -964, -964, -964, -964, + 72, -964, -964, -964, 77, 542, -964, -964, -964, -964, + -964, -964, -964, 69, -964, -964, -964, -964, -964, -964, + -963, -964, -964, -964, 106, -964, -964, -964, 107, 585, + -964, -964, -962, -964, -961, -964, 51, -964, 55, -964, + 42, 45, 46, 50, -964, -964, -964, -955, -964, -964, + -964, -964, 98, -964, -964, -119, 1015, -964, -964, -964, + -964, -964, 108, -964, -964, -964, 109, -964, 565, -964, + -66, -964, -964, -964, -964, -964, -47, -964, -964, -964, + -964, -964, 13, -964, -964, -964, 110, -964, -964, -964, + 113, -964, 569, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, 67, -964, -964, -964, 74, 602, + -964, -964, -55, -964, 1, -964, -964, -964, -964, -964, + 70, -964, -964, -964, 79, 641, -964, -964, -964, -964, + -964, -964, -964, -57, -964, -964, -964, 122, -964, -964, + -964, 126, -964, 644, 387, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -954, -964, + -964, -964, -964, -964, -964, -964, 129, -964, -964, -964, + -84, -964, -964, -964, -964, -964, -964, -964, 111, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, 112, -964, -964, -964, -964, -964, -964, -964, 99, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + 402, 579, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, -964, -964, -964, -964, -964, -964, -964, -964, -964, + -964, 445, 577, -964, -964, -964, -964, -964, -964, 100, + -964, -964, -90, -964, -964, -964, -964, -964, -964, -106, + -964, -964, -125, -964, -964, -964, -964, -964, -964, -964 }; const short @@ -4937,526 +4949,530 @@ namespace isc { namespace dhcp { { -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 83, 39, 40, 69, - 709, 87, 88, 41, 68, 84, 85, 733, 934, 1040, - 1041, 795, 43, 70, 90, 420, 45, 71, 152, 153, - 154, 422, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 448, 701, 173, 449, 174, 450, 175, 176, 477, 177, - 478, 178, 179, 180, 181, 442, 182, 183, 424, 47, - 72, 216, 217, 218, 484, 219, 184, 425, 185, 426, - 186, 427, 820, 821, 822, 973, 796, 797, 798, 951, - 1192, 799, 952, 800, 953, 801, 954, 802, 803, 521, - 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, - 960, 814, 815, 963, 816, 964, 817, 965, 187, 466, - 854, 855, 856, 993, 188, 463, 841, 842, 843, 844, - 189, 465, 849, 850, 851, 852, 190, 464, 191, 473, - 902, 903, 904, 905, 906, 192, 469, 865, 866, 867, - 1002, 63, 80, 370, 371, 372, 534, 373, 535, 193, - 470, 874, 875, 876, 877, 878, 879, 880, 881, 194, - 453, 824, 825, 826, 976, 49, 73, 256, 257, 258, - 490, 259, 491, 260, 492, 261, 496, 262, 495, 195, - 196, 197, 198, 459, 715, 267, 268, 199, 456, 836, - 837, 838, 985, 1114, 1115, 200, 454, 57, 77, 828, - 829, 830, 979, 59, 78, 335, 336, 337, 338, 339, - 340, 341, 520, 342, 524, 343, 523, 344, 345, 525, - 346, 201, 455, 832, 833, 834, 982, 61, 79, 356, - 357, 358, 359, 360, 529, 361, 362, 363, 364, 270, - 488, 936, 937, 938, 1042, 51, 74, 281, 282, 283, - 500, 202, 457, 203, 458, 273, 489, 940, 941, 942, - 1045, 53, 75, 297, 298, 299, 503, 300, 301, 505, - 302, 303, 204, 468, 861, 862, 863, 999, 55, 76, - 315, 316, 317, 318, 511, 319, 512, 320, 513, 321, - 514, 322, 515, 323, 516, 324, 510, 275, 497, 945, - 946, 1048, 205, 467, 858, 859, 996, 1132, 1133, 1134, - 1135, 1136, 1207, 1137, 206, 471, 891, 892, 893, 1013, - 1216, 894, 895, 1014, 896, 897, 207, 208, 474, 914, - 915, 916, 1025, 917, 1026, 209, 475, 924, 925, 926, - 927, 1030, 928, 929, 1032, 210, 476, 65, 81, 392, - 393, 394, 395, 539, 396, 540, 397, 398, 542, 399, - 400, 401, 545, 765, 402, 546, 403, 404, 405, 549, - 406, 550, 407, 551, 408, 552, 211, 423, 67, 82, - 411, 412, 413, 555, 414, 212, 480, 932, 933, 1036, - 1175, 1176, 1177, 1178, 1224, 1179, 1222, 1243, 1244, 1245, - 1253, 1254, 1255, 1261, 1256, 1257, 1258, 1259, 1265 + 714, 87, 88, 41, 68, 84, 85, 738, 939, 1045, + 1046, 800, 43, 70, 90, 423, 45, 71, 153, 154, + 155, 425, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 451, 706, 174, 452, 175, 453, 176, 177, 178, 481, + 179, 482, 180, 181, 182, 183, 445, 184, 185, 427, + 47, 72, 218, 219, 220, 488, 221, 186, 428, 187, + 429, 188, 430, 825, 826, 827, 978, 801, 802, 803, + 956, 1198, 804, 957, 805, 958, 806, 959, 807, 808, + 525, 809, 810, 811, 812, 813, 814, 815, 816, 817, + 818, 965, 819, 820, 968, 821, 969, 822, 970, 189, + 470, 859, 860, 861, 998, 190, 467, 846, 847, 848, + 849, 191, 469, 854, 855, 856, 857, 192, 468, 193, + 477, 907, 908, 909, 910, 911, 194, 473, 870, 871, + 872, 1007, 63, 80, 373, 374, 375, 538, 376, 539, + 195, 474, 879, 880, 881, 882, 883, 884, 885, 886, + 196, 457, 829, 830, 831, 981, 49, 73, 259, 260, + 261, 494, 262, 495, 263, 496, 264, 500, 265, 499, + 197, 198, 199, 200, 463, 720, 270, 271, 201, 460, + 841, 842, 843, 990, 1120, 1121, 202, 458, 57, 77, + 833, 834, 835, 984, 59, 78, 338, 339, 340, 341, + 342, 343, 344, 524, 345, 528, 346, 527, 347, 348, + 529, 349, 203, 459, 837, 838, 839, 987, 61, 79, + 359, 360, 361, 362, 363, 533, 364, 365, 366, 367, + 273, 492, 941, 942, 943, 1047, 51, 74, 284, 285, + 286, 504, 204, 461, 205, 462, 276, 493, 945, 946, + 947, 1050, 53, 75, 300, 301, 302, 507, 303, 304, + 509, 305, 306, 206, 472, 866, 867, 868, 1004, 55, + 76, 318, 319, 320, 321, 515, 322, 516, 323, 517, + 324, 518, 325, 519, 326, 520, 327, 514, 278, 501, + 950, 951, 1053, 207, 471, 863, 864, 1001, 1138, 1139, + 1140, 1141, 1142, 1213, 1143, 208, 475, 896, 897, 898, + 1018, 1222, 899, 900, 1019, 901, 902, 209, 210, 478, + 919, 920, 921, 1030, 922, 1031, 211, 479, 929, 930, + 931, 932, 1035, 933, 934, 1037, 212, 480, 65, 81, + 395, 396, 397, 398, 543, 399, 544, 400, 401, 546, + 402, 403, 404, 549, 770, 405, 550, 406, 407, 408, + 553, 409, 554, 410, 555, 411, 556, 213, 426, 67, + 82, 414, 415, 416, 559, 417, 214, 484, 937, 938, + 1041, 1181, 1182, 1183, 1184, 1230, 1185, 1228, 1249, 1250, + 1251, 1259, 1260, 1261, 1267, 1262, 1263, 1264, 1265, 1271 }; const short Dhcp6Parser::yytable_[] = { - 151, 215, 232, 277, 291, 311, 38, 333, 352, 369, - 389, 334, 353, 354, 233, 888, 274, 220, 271, 284, - 295, 313, 818, 347, 365, 848, 390, 1104, 1105, 1106, - 234, 235, 355, 236, 237, 1113, 1119, 305, 31, 708, - 32, 839, 33, 739, 943, 238, 239, 240, 839, 846, - 241, 847, 242, 367, 368, 745, 746, 747, 243, 696, - 697, 698, 699, 30, 244, 988, 213, 214, 989, 86, - 245, 89, 246, 221, 272, 285, 296, 314, 991, 348, - 366, 992, 391, 126, 127, 882, 269, 280, 294, 312, - 247, 248, 700, 249, 781, 482, 42, 486, 250, 498, - 483, 251, 487, 252, 499, 253, 44, 708, 254, 501, - 46, 255, 508, 263, 502, 264, 415, 509, 265, 266, - 327, 278, 292, 123, 840, 279, 293, 91, 92, 150, - 48, 93, 536, 50, 94, 95, 96, 537, 126, 127, - 126, 127, 326, 553, 918, 919, 920, 557, 554, 52, - 126, 127, 558, 482, 126, 127, 997, 416, 948, 998, + 152, 217, 234, 280, 294, 314, 38, 336, 355, 372, + 392, 337, 356, 357, 235, 893, 277, 222, 274, 287, + 298, 316, 823, 350, 368, 853, 393, 1110, 1111, 1112, + 236, 237, 358, 238, 239, 1119, 1125, 308, 31, 713, + 32, 844, 33, 744, 948, 240, 241, 242, 768, 769, + 243, 42, 244, 370, 371, 750, 751, 752, 245, 30, + 993, 44, 329, 994, 246, 370, 371, 46, 215, 216, + 247, 86, 248, 223, 275, 288, 299, 317, 486, 351, + 369, 996, 394, 487, 997, 887, 272, 283, 297, 315, + 249, 250, 490, 251, 786, 502, 89, 491, 252, 505, + 503, 253, 48, 254, 506, 255, 1002, 713, 256, 1003, + 124, 257, 50, 258, 330, 266, 331, 332, 267, 268, + 333, 334, 335, 269, 845, 281, 295, 91, 92, 282, + 296, 93, 127, 128, 94, 95, 96, 512, 52, 127, + 128, 151, 513, 127, 128, 1254, 54, 540, 1255, 1256, + 1257, 1258, 541, 557, 561, 127, 128, 420, 558, 562, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 711, 712, - 713, 714, 54, 327, 921, 328, 329, 125, 124, 330, - 331, 332, 883, 884, 885, 886, 126, 127, 909, 910, - 276, 126, 127, 128, 129, 130, 131, 126, 127, 56, - 557, 132, 133, 134, 135, 949, 136, 1168, 58, 1169, - 1170, 137, 409, 410, 34, 35, 36, 37, 229, 486, - 138, 230, 418, 139, 950, 60, 1104, 1105, 1106, 150, - 140, 150, 970, 1037, 1113, 1119, 1038, 971, 141, 142, - 62, 150, 970, 143, 994, 150, 144, 972, 776, 995, - 145, 367, 368, 777, 778, 779, 780, 781, 782, 783, - 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, - 794, 146, 147, 148, 149, 1011, 124, 64, 848, 417, - 1012, 66, 1071, 1018, 124, 419, 124, 327, 1019, 888, - 286, 287, 288, 289, 290, 126, 127, 150, 1246, 327, - 421, 1247, 150, 126, 127, 126, 127, 1023, 150, 126, - 127, 428, 1024, 1027, 517, 1033, 229, 553, 1028, 230, - 1034, 970, 1035, 304, 763, 764, 1200, 1125, 1126, 305, - 306, 307, 308, 309, 310, 327, 349, 328, 329, 350, - 351, 1248, 429, 498, 1249, 1250, 1251, 1252, 1201, 430, - 1204, 519, 431, 126, 127, 1205, 868, 869, 870, 871, - 872, 873, 432, 898, 899, 900, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 536, 527, 518, 1225, 501, 1212, 559, 560, 1226, 1228, - 433, 151, 508, 1266, 528, 215, 434, 1229, 1267, 435, - 1188, 1189, 1190, 1191, 436, 437, 150, 232, 438, 439, - 277, 220, 440, 441, 150, 443, 150, 291, 444, 233, - 150, 274, 445, 271, 446, 447, 284, 311, 150, 1213, - 1214, 1215, 451, 295, 452, 234, 235, 333, 236, 237, - 460, 334, 352, 313, 461, 462, 353, 354, 472, 479, - 238, 239, 240, 347, 481, 241, 485, 242, 365, 493, - 494, 504, 389, 243, 150, 506, 355, 221, 507, 244, - 522, 526, 530, 531, 533, 245, 578, 246, 390, 272, - 532, 538, 285, 541, 543, 544, 547, 548, 556, 296, - 561, 269, 562, 563, 280, 247, 248, 564, 249, 314, - 565, 294, 566, 250, 567, 568, 251, 569, 252, 348, - 253, 312, 577, 254, 366, 570, 255, 571, 263, 572, - 264, 573, 574, 265, 266, 575, 576, 581, 278, 579, - 580, 582, 279, 583, 391, 292, 584, 585, 589, 293, - 586, 587, 590, 588, 591, 592, 593, 594, 595, 596, - 597, 598, 599, 600, 601, 602, 603, 604, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 605, 606, 607, 608, 114, 115, 116, 117, 118, - 119, 120, 121, 609, 610, 124, 611, 612, 614, 613, - 615, 616, 617, 618, 619, 621, 222, 151, 223, 623, - 215, 620, 624, 626, 126, 127, 224, 225, 226, 227, - 228, 128, 129, 130, 131, 627, 220, 631, 628, 629, - 630, 632, 633, 634, 635, 229, 637, 639, 230, 137, - 641, 640, 645, 887, 901, 911, 231, 389, 646, 642, - 643, 647, 648, 649, 650, 651, 653, 654, 655, 889, - 907, 912, 922, 390, 656, 657, 658, 772, 659, 661, - 665, 666, 662, 663, 668, 669, 670, 671, 672, 675, - 676, 679, 221, 680, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 673, 674, 146, - 147, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 681, 124, 327, 126, 127, 890, 908, 913, 923, 391, - 677, 678, 682, 684, 685, 150, 687, 688, 689, 694, - 126, 127, 690, 225, 226, 691, 228, 128, 129, 130, - 131, 692, 693, 695, 702, 704, 703, 705, 706, 707, - 710, 229, 32, 716, 230, 717, 718, 766, 720, 719, - 721, 722, 231, 729, 723, 724, 725, 726, 727, 728, - 730, 731, 732, 734, 735, 736, 737, 738, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, 741, 740, 771, 819, 853, 742, 823, 387, 388, - 827, 831, 835, 743, 744, 748, 857, 749, 750, 751, - 860, 752, 753, 754, 755, 146, 147, 756, 757, 758, - 760, 761, 864, 762, 150, 931, 935, 939, 768, 955, - 956, 957, 769, 958, 959, 770, 961, 962, 966, 967, - 968, 150, 969, 974, 975, 977, 978, 981, 980, 984, - 1056, 983, 987, 986, 990, 1001, 1000, 1003, 1004, 1039, - 1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016, 1017, 1020, - 1021, 1022, 1029, 1031, 1044, 1055, 1043, 1047, 1046, 1051, - 1057, 1049, 1050, 1052, 1053, 1054, 1058, 1059, 1060, 1061, - 1062, 1063, 1064, 1065, 1066, 232, 1067, 1068, 333, 1069, - 1123, 352, 334, 1143, 1079, 353, 354, 233, 1103, 274, - 1144, 271, 1145, 1146, 347, 1127, 1080, 365, 311, 1128, - 1117, 369, 1150, 234, 235, 355, 236, 237, 1147, 1148, - 1151, 1130, 1081, 1082, 313, 1083, 1084, 887, 238, 239, - 240, 1152, 901, 241, 1160, 242, 911, 1085, 1086, 1087, - 1156, 243, 1088, 889, 1089, 1171, 1153, 244, 907, 1172, - 1090, 277, 912, 245, 291, 246, 1091, 272, 922, 1161, - 348, 1173, 1092, 366, 1093, 1154, 1118, 284, 1157, 269, - 295, 1158, 1163, 247, 248, 1164, 249, 1131, 1116, 1166, - 314, 250, 1094, 1095, 251, 1096, 252, 1181, 253, 1129, - 1097, 254, 312, 1098, 255, 1099, 263, 1100, 264, 890, - 1101, 265, 266, 1102, 908, 1109, 1165, 1110, 913, 1182, - 1111, 1112, 1107, 1187, 923, 1193, 1108, 1174, 1202, 1194, - 1203, 1208, 1195, 285, 1209, 1210, 296, 1211, 1223, 1232, - 1235, 1196, 1237, 759, 1240, 280, 1262, 1242, 294, 1263, - 1264, 1268, 1272, 773, 1197, 1198, 625, 845, 767, 947, - 775, 1070, 1072, 622, 1124, 1122, 1121, 1159, 1142, 1141, - 667, 1149, 1074, 1073, 1231, 1120, 325, 1075, 1199, 278, - 1236, 636, 292, 279, 1206, 1076, 293, 1217, 660, 1233, - 1077, 1218, 1219, 1220, 1227, 1230, 1239, 664, 1241, 1078, - 1184, 1270, 1269, 1271, 1274, 1275, 1186, 1185, 1183, 1139, - 1140, 944, 1234, 1155, 1167, 638, 774, 1138, 683, 1162, - 930, 1238, 1180, 1079, 686, 1260, 1273, 1103, 0, 1127, - 0, 0, 0, 1128, 0, 1080, 0, 0, 0, 1117, - 0, 0, 0, 644, 1171, 1130, 1221, 0, 1172, 0, - 0, 1081, 1082, 0, 1083, 1084, 0, 652, 0, 0, - 1173, 0, 0, 0, 0, 0, 1085, 1086, 1087, 0, - 0, 1088, 0, 1089, 0, 0, 0, 0, 0, 1090, - 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, - 0, 1092, 0, 1093, 0, 1118, 0, 0, 0, 0, - 0, 1131, 0, 0, 0, 0, 0, 1116, 0, 0, - 0, 1094, 1095, 1129, 1096, 0, 1174, 0, 0, 1097, - 0, 0, 1098, 0, 1099, 0, 1100, 0, 0, 1101, - 0, 0, 1102, 0, 1109, 0, 1110, 0, 0, 1111, - 1112, 1107, 0, 0, 0, 1108 + 117, 118, 119, 120, 121, 122, 123, 124, 125, 1219, + 1220, 1221, 330, 352, 331, 332, 353, 354, 126, 56, + 923, 924, 925, 888, 889, 890, 891, 127, 128, 1042, + 127, 128, 1043, 486, 129, 130, 131, 132, 953, 58, + 60, 561, 133, 134, 135, 136, 954, 137, 701, 702, + 703, 704, 138, 62, 490, 34, 35, 36, 37, 955, + 64, 139, 66, 151, 140, 127, 128, 1110, 1111, 1112, + 926, 141, 975, 975, 151, 1119, 1125, 976, 977, 142, + 143, 705, 418, 419, 144, 999, 151, 145, 781, 1252, + 1000, 146, 1253, 782, 783, 784, 785, 786, 787, 788, + 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, + 799, 421, 147, 148, 149, 150, 125, 330, 853, 903, + 904, 905, 1076, 1016, 422, 1023, 127, 128, 1017, 893, + 1024, 424, 1028, 521, 1032, 127, 128, 1029, 151, 1033, + 330, 151, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 412, 413, 1131, 1132, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 1038, 557, + 125, 431, 975, 1039, 1040, 502, 151, 1206, 432, 433, + 1207, 224, 1210, 225, 914, 915, 434, 1211, 125, 127, + 128, 226, 227, 228, 229, 230, 129, 130, 131, 132, + 125, 435, 289, 290, 291, 292, 293, 127, 128, 522, + 231, 540, 279, 232, 138, 436, 1218, 437, 438, 127, + 128, 233, 873, 874, 875, 876, 877, 878, 231, 563, + 564, 232, 439, 1231, 523, 152, 505, 151, 1232, 217, + 231, 1234, 512, 232, 1272, 531, 151, 1235, 440, 1273, + 441, 234, 442, 443, 280, 222, 716, 717, 718, 719, + 444, 294, 446, 235, 447, 277, 448, 274, 449, 151, + 287, 314, 450, 454, 147, 148, 455, 298, 532, 236, + 237, 336, 238, 239, 456, 337, 355, 316, 464, 465, + 356, 357, 466, 476, 240, 241, 242, 350, 483, 243, + 151, 244, 368, 485, 489, 497, 392, 245, 498, 508, + 358, 223, 510, 246, 1194, 1195, 1196, 1197, 151, 247, + 511, 248, 393, 275, 844, 851, 288, 852, 526, 530, + 151, 534, 535, 299, 536, 272, 537, 565, 283, 249, + 250, 542, 251, 317, 545, 297, 125, 252, 547, 548, + 253, 573, 254, 351, 255, 315, 330, 256, 369, 551, + 257, 552, 258, 560, 266, 127, 128, 267, 268, 566, + 567, 568, 269, 569, 127, 128, 281, 582, 394, 570, + 282, 571, 572, 295, 574, 307, 575, 296, 576, 577, + 578, 308, 309, 310, 311, 312, 313, 579, 580, 587, + 593, 581, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 590, 583, 594, 585, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 584, + 125, 330, 586, 595, 588, 589, 599, 600, 127, 128, + 591, 592, 152, 596, 601, 217, 602, 597, 598, 127, + 128, 603, 227, 228, 604, 230, 129, 130, 131, 132, + 605, 222, 606, 1174, 607, 1175, 1176, 609, 608, 610, + 231, 611, 612, 232, 613, 614, 151, 615, 892, 906, + 916, 233, 392, 616, 617, 151, 619, 620, 621, 618, + 622, 623, 624, 626, 894, 912, 917, 927, 393, 628, + 625, 629, 777, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 631, 223, 632, 633, + 634, 635, 636, 390, 391, 637, 638, 639, 640, 642, + 644, 646, 645, 647, 147, 148, 650, 648, 651, 652, + 653, 654, 655, 656, 658, 659, 660, 661, 662, 151, + 895, 913, 918, 928, 394, 663, 664, 666, 667, 668, + 151, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 670, 671, 673, 674, 675, + 677, 680, 676, 678, 679, 681, 684, 682, 683, 685, + 686, 687, 689, 690, 692, 694, 693, 771, 695, 696, + 697, 698, 699, 700, 707, 708, 709, 710, 711, 712, + 715, 721, 32, 722, 723, 858, 725, 724, 726, 727, + 734, 735, 728, 729, 730, 731, 732, 733, 736, 737, + 739, 740, 741, 742, 746, 776, 743, 745, 747, 748, + 749, 753, 824, 754, 828, 755, 756, 757, 758, 832, + 759, 760, 836, 761, 762, 763, 765, 766, 840, 767, + 773, 774, 775, 862, 865, 869, 936, 940, 944, 960, + 961, 962, 963, 964, 966, 967, 971, 972, 973, 974, + 980, 1060, 979, 983, 982, 985, 986, 988, 989, 992, + 991, 764, 1006, 995, 1005, 1009, 1008, 1010, 1011, 1012, + 1013, 1014, 1015, 1020, 1021, 1022, 1025, 1026, 1027, 1034, + 1036, 1044, 1049, 1048, 1051, 1052, 1061, 1055, 1054, 1056, + 1057, 1058, 1059, 1062, 1063, 1065, 1068, 1069, 1070, 1129, + 234, 1064, 1066, 336, 1067, 1073, 355, 337, 1156, 1084, + 356, 357, 235, 1109, 277, 1071, 274, 1157, 1072, 350, + 1133, 1085, 368, 314, 1134, 1123, 372, 1074, 236, 237, + 358, 238, 239, 1149, 1150, 1151, 1136, 1086, 1087, 316, + 1088, 1089, 892, 240, 241, 242, 1152, 906, 243, 1166, + 244, 916, 1090, 1091, 1092, 1162, 245, 1093, 894, 1094, + 1177, 1167, 246, 912, 1178, 1095, 280, 917, 247, 294, + 248, 1096, 275, 927, 1169, 351, 1179, 1097, 369, 1098, + 1153, 1124, 287, 1170, 272, 298, 1172, 1187, 249, 250, + 1188, 251, 1137, 1122, 1154, 317, 252, 1099, 1100, 253, + 1101, 254, 1158, 255, 1135, 1102, 256, 315, 1103, 257, + 1104, 258, 1105, 266, 895, 1106, 267, 268, 1107, 913, + 1108, 269, 1115, 918, 1193, 1116, 1117, 1159, 1160, 928, + 1118, 1113, 1180, 1208, 1199, 1114, 1163, 1164, 288, 1209, + 1214, 299, 1215, 1216, 1246, 1217, 1229, 1238, 1241, 1243, + 283, 850, 1268, 297, 1248, 1171, 1269, 1270, 1274, 1278, + 627, 778, 1130, 1200, 952, 780, 630, 1077, 1127, 1075, + 772, 1148, 672, 1128, 1147, 1155, 1165, 641, 1078, 1079, + 1126, 1237, 328, 1080, 1081, 1201, 1202, 665, 281, 1083, + 1082, 295, 282, 1242, 1239, 296, 669, 643, 1203, 1204, + 1205, 1212, 1223, 1224, 1225, 1226, 1190, 1233, 1236, 1245, + 1247, 1189, 1192, 1276, 1275, 1277, 1280, 1281, 1146, 1191, + 1145, 1144, 1240, 949, 1161, 935, 688, 1173, 691, 1084, + 779, 1244, 1186, 1109, 1168, 1133, 1266, 1279, 0, 1134, + 0, 1085, 0, 649, 0, 1123, 0, 0, 0, 0, + 1177, 1136, 1227, 0, 1178, 0, 657, 1086, 1087, 0, + 1088, 1089, 0, 0, 0, 0, 1179, 0, 0, 0, + 0, 0, 1090, 1091, 1092, 0, 0, 1093, 0, 1094, + 0, 0, 0, 0, 0, 1095, 0, 0, 0, 0, + 0, 1096, 0, 0, 0, 0, 0, 1097, 0, 1098, + 0, 1124, 0, 0, 0, 0, 0, 1137, 0, 0, + 0, 0, 0, 1122, 0, 0, 0, 1099, 1100, 1135, + 1101, 0, 1180, 0, 0, 1102, 0, 0, 1103, 0, + 1104, 0, 1105, 0, 0, 1106, 0, 0, 1107, 0, + 1108, 0, 1115, 0, 0, 1116, 1117, 0, 0, 0, + 1118, 1113, 0, 0, 0, 1114 }; const short Dhcp6Parser::yycheck_[] = { 71, 72, 73, 74, 75, 76, 16, 78, 79, 80, - 81, 78, 79, 79, 73, 724, 73, 72, 73, 74, - 75, 76, 693, 78, 79, 718, 81, 985, 985, 985, - 73, 73, 79, 73, 73, 985, 985, 116, 5, 598, - 7, 118, 9, 633, 123, 73, 73, 73, 118, 119, - 73, 121, 73, 125, 126, 645, 646, 647, 73, 171, - 172, 173, 174, 0, 73, 3, 16, 17, 6, 201, - 73, 10, 73, 72, 73, 74, 75, 76, 3, 78, - 79, 6, 81, 90, 91, 21, 73, 74, 75, 76, - 73, 73, 204, 73, 30, 3, 7, 3, 73, 3, - 8, 73, 8, 73, 8, 73, 7, 666, 73, 3, - 7, 73, 3, 73, 8, 73, 6, 8, 73, 73, - 72, 74, 75, 70, 201, 74, 75, 11, 12, 201, - 7, 15, 3, 7, 18, 19, 20, 8, 90, 91, - 90, 91, 21, 3, 151, 152, 153, 3, 8, 7, - 90, 91, 8, 3, 90, 91, 3, 3, 8, 6, + 81, 78, 79, 79, 73, 729, 73, 72, 73, 74, + 75, 76, 698, 78, 79, 723, 81, 990, 990, 990, + 73, 73, 79, 73, 73, 990, 990, 117, 5, 603, + 7, 119, 9, 638, 124, 73, 73, 73, 169, 170, + 73, 7, 73, 126, 127, 650, 651, 652, 73, 0, + 3, 7, 21, 6, 73, 126, 127, 7, 16, 17, + 73, 202, 73, 72, 73, 74, 75, 76, 3, 78, + 79, 3, 81, 8, 6, 21, 73, 74, 75, 76, + 73, 73, 3, 73, 30, 3, 10, 8, 73, 3, + 8, 73, 7, 73, 8, 73, 3, 671, 73, 6, + 71, 73, 7, 73, 73, 73, 75, 76, 73, 73, + 79, 80, 81, 73, 202, 74, 75, 11, 12, 74, + 75, 15, 91, 92, 18, 19, 20, 3, 7, 91, + 92, 202, 8, 91, 92, 181, 7, 3, 184, 185, + 186, 187, 8, 3, 3, 91, 92, 4, 8, 8, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 101, 102, - 103, 104, 7, 72, 201, 74, 75, 81, 71, 78, - 79, 80, 138, 139, 140, 141, 90, 91, 148, 149, - 83, 90, 91, 97, 98, 99, 100, 90, 91, 7, - 3, 105, 106, 107, 108, 8, 110, 179, 7, 181, - 182, 115, 13, 14, 201, 202, 203, 204, 111, 3, - 124, 114, 8, 127, 8, 7, 1204, 1204, 1204, 201, - 134, 201, 3, 3, 1204, 1204, 6, 8, 142, 143, - 7, 201, 3, 147, 3, 201, 150, 8, 21, 8, - 154, 125, 126, 26, 27, 28, 29, 30, 31, 32, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 136, + 137, 138, 73, 74, 75, 76, 77, 78, 82, 7, + 152, 153, 154, 139, 140, 141, 142, 91, 92, 3, + 91, 92, 6, 3, 98, 99, 100, 101, 8, 7, + 7, 3, 106, 107, 108, 109, 8, 111, 172, 173, + 174, 175, 116, 7, 3, 202, 203, 204, 205, 8, + 7, 125, 7, 202, 128, 91, 92, 1210, 1210, 1210, + 202, 135, 3, 3, 202, 1210, 1210, 8, 8, 143, + 144, 205, 6, 3, 148, 3, 202, 151, 21, 3, + 8, 155, 6, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 175, 176, 177, 178, 3, 71, 7, 991, 4, - 8, 7, 973, 3, 71, 3, 71, 72, 8, 1018, - 85, 86, 87, 88, 89, 90, 91, 201, 3, 72, - 8, 6, 201, 90, 91, 90, 91, 3, 201, 90, - 91, 4, 8, 3, 8, 3, 111, 3, 8, 114, - 8, 3, 8, 110, 168, 169, 8, 112, 113, 116, - 117, 118, 119, 120, 121, 72, 73, 74, 75, 76, - 77, 180, 4, 3, 183, 184, 185, 186, 8, 4, - 3, 8, 4, 90, 91, 8, 128, 129, 130, 131, - 132, 133, 4, 144, 145, 146, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 3, 8, 3, 3, 3, 8, 416, 417, 8, 8, - 4, 482, 3, 3, 3, 486, 4, 8, 8, 4, - 22, 23, 24, 25, 4, 4, 201, 498, 4, 4, - 501, 486, 4, 4, 201, 4, 201, 508, 4, 498, - 201, 498, 4, 498, 4, 4, 501, 518, 201, 135, - 136, 137, 4, 508, 4, 498, 498, 528, 498, 498, - 4, 528, 533, 518, 4, 4, 533, 533, 4, 4, - 498, 498, 498, 528, 4, 498, 4, 498, 533, 4, - 4, 4, 553, 498, 201, 4, 533, 486, 4, 498, - 4, 4, 4, 4, 3, 498, 203, 498, 553, 498, - 8, 4, 501, 4, 4, 4, 4, 4, 4, 508, - 201, 498, 4, 4, 501, 498, 498, 4, 498, 518, - 4, 508, 4, 498, 4, 4, 498, 202, 498, 528, - 498, 518, 204, 498, 533, 202, 498, 202, 498, 202, - 498, 202, 202, 498, 498, 202, 202, 202, 501, 203, - 203, 202, 501, 4, 553, 508, 202, 202, 4, 508, - 204, 204, 4, 204, 4, 204, 204, 4, 4, 4, - 4, 4, 4, 4, 204, 204, 204, 4, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 4, 4, 4, 4, 61, 62, 63, 64, 65, - 66, 67, 68, 4, 4, 71, 4, 4, 4, 202, - 4, 4, 4, 4, 4, 4, 82, 688, 84, 4, - 691, 204, 204, 4, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 4, 691, 202, 4, 4, - 4, 204, 4, 4, 4, 111, 4, 4, 114, 115, - 4, 202, 4, 724, 725, 726, 122, 728, 4, 202, - 202, 4, 4, 4, 4, 4, 4, 4, 202, 724, - 725, 726, 727, 728, 4, 4, 4, 687, 204, 4, - 4, 4, 204, 204, 204, 4, 4, 202, 4, 4, - 4, 4, 691, 4, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 202, 202, 175, - 176, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 4, 71, 72, 90, 91, 724, 725, 726, 727, 728, - 204, 204, 4, 4, 202, 201, 4, 7, 201, 5, - 90, 91, 7, 93, 94, 7, 96, 97, 98, 99, - 100, 7, 7, 201, 201, 5, 201, 5, 5, 5, - 201, 111, 7, 5, 114, 5, 5, 170, 5, 7, - 5, 5, 122, 201, 7, 7, 7, 7, 7, 7, - 201, 5, 5, 5, 5, 201, 201, 201, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 7, 201, 5, 7, 109, 201, 7, 175, 176, - 7, 7, 7, 201, 201, 201, 7, 201, 201, 201, - 7, 201, 201, 201, 201, 175, 176, 201, 201, 201, - 201, 201, 7, 201, 201, 7, 7, 7, 201, 4, - 4, 4, 201, 4, 4, 201, 4, 4, 4, 4, - 4, 201, 4, 6, 3, 6, 3, 3, 6, 3, - 204, 6, 3, 6, 6, 3, 6, 6, 3, 201, + 43, 8, 176, 177, 178, 179, 72, 73, 996, 145, + 146, 147, 978, 3, 3, 3, 91, 92, 8, 1023, + 8, 8, 3, 8, 3, 91, 92, 8, 202, 8, + 73, 202, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 13, 14, 113, 114, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 3, 3, + 72, 4, 3, 8, 8, 3, 202, 8, 4, 4, + 8, 83, 3, 85, 149, 150, 4, 8, 72, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 72, 4, 86, 87, 88, 89, 90, 91, 92, 3, + 112, 3, 84, 115, 116, 4, 8, 4, 4, 91, + 92, 123, 129, 130, 131, 132, 133, 134, 112, 419, + 420, 115, 4, 3, 8, 486, 3, 202, 8, 490, + 112, 8, 3, 115, 3, 8, 202, 8, 4, 8, + 4, 502, 4, 4, 505, 490, 102, 103, 104, 105, + 4, 512, 4, 502, 4, 502, 4, 502, 4, 202, + 505, 522, 4, 4, 176, 177, 4, 512, 3, 502, + 502, 532, 502, 502, 4, 532, 537, 522, 4, 4, + 537, 537, 4, 4, 502, 502, 502, 532, 4, 502, + 202, 502, 537, 4, 4, 4, 557, 502, 4, 4, + 537, 490, 4, 502, 22, 23, 24, 25, 202, 502, + 4, 502, 557, 502, 119, 120, 505, 122, 4, 4, + 202, 4, 4, 512, 8, 502, 3, 202, 505, 502, + 502, 4, 502, 522, 4, 512, 72, 502, 4, 4, + 502, 203, 502, 532, 502, 522, 73, 502, 537, 4, + 502, 4, 502, 4, 502, 91, 92, 502, 502, 4, + 4, 4, 502, 4, 91, 92, 505, 204, 557, 4, + 505, 4, 4, 512, 203, 111, 203, 512, 203, 203, + 203, 117, 118, 119, 120, 121, 122, 203, 203, 4, + 4, 205, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 205, 204, 4, 203, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 204, + 72, 73, 203, 4, 203, 203, 4, 4, 91, 92, + 205, 205, 693, 205, 4, 696, 4, 205, 205, 91, + 92, 4, 94, 95, 4, 97, 98, 99, 100, 101, + 4, 696, 205, 180, 205, 182, 183, 4, 205, 4, + 112, 4, 4, 115, 4, 4, 202, 4, 729, 730, + 731, 123, 733, 4, 4, 202, 4, 4, 4, 203, + 4, 4, 4, 4, 729, 730, 731, 732, 733, 4, + 205, 205, 692, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 4, 696, 4, 4, + 4, 4, 203, 176, 177, 205, 4, 4, 4, 4, + 4, 4, 203, 203, 176, 177, 4, 203, 4, 4, + 4, 4, 4, 4, 4, 4, 203, 4, 4, 202, + 729, 730, 731, 732, 733, 4, 205, 4, 205, 205, + 202, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 4, 4, 205, 4, 4, + 4, 4, 203, 203, 203, 4, 4, 205, 205, 4, + 4, 4, 4, 203, 4, 202, 7, 171, 7, 7, + 7, 7, 5, 202, 202, 202, 5, 5, 5, 5, + 202, 5, 7, 5, 5, 110, 5, 7, 5, 5, + 202, 202, 7, 7, 7, 7, 7, 7, 5, 5, + 5, 5, 202, 202, 7, 5, 202, 202, 202, 202, + 202, 202, 7, 202, 7, 202, 202, 202, 202, 7, + 202, 202, 7, 202, 202, 202, 202, 202, 7, 202, + 202, 202, 202, 7, 7, 7, 7, 7, 7, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 3, 203, 6, 3, 6, 6, 3, 6, 3, 3, + 6, 671, 3, 6, 6, 3, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 3, 202, 6, 3, 6, 4, - 202, 8, 6, 4, 4, 4, 204, 202, 4, 202, - 202, 4, 4, 4, 202, 976, 202, 204, 979, 202, - 4, 982, 979, 202, 985, 982, 982, 976, 985, 976, - 202, 976, 202, 202, 979, 996, 985, 982, 999, 996, - 985, 1002, 4, 976, 976, 982, 976, 976, 202, 202, - 4, 996, 985, 985, 999, 985, 985, 1018, 976, 976, - 976, 202, 1023, 976, 4, 976, 1027, 985, 985, 985, - 204, 976, 985, 1018, 985, 1036, 202, 976, 1023, 1036, - 985, 1042, 1027, 976, 1045, 976, 985, 976, 1033, 4, - 979, 1036, 985, 982, 985, 202, 985, 1042, 202, 976, - 1045, 202, 204, 976, 976, 4, 976, 996, 985, 4, - 999, 976, 985, 985, 976, 985, 976, 6, 976, 996, - 985, 976, 999, 985, 976, 985, 976, 985, 976, 1018, - 985, 976, 976, 985, 1023, 985, 202, 985, 1027, 3, - 985, 985, 985, 4, 1033, 201, 985, 1036, 8, 201, - 8, 4, 201, 1042, 8, 3, 1045, 8, 4, 4, - 4, 201, 4, 666, 5, 1042, 4, 7, 1045, 4, - 4, 4, 4, 688, 201, 201, 486, 717, 679, 771, - 691, 970, 975, 482, 994, 991, 988, 1023, 1004, 1002, - 536, 1011, 978, 976, 1204, 987, 77, 979, 201, 1042, - 202, 498, 1045, 1042, 201, 981, 1045, 201, 528, 204, - 982, 201, 201, 201, 201, 201, 201, 533, 201, 984, - 1044, 202, 204, 202, 201, 201, 1047, 1045, 1042, 999, - 1001, 741, 1210, 1018, 1033, 501, 690, 997, 553, 1027, - 728, 1225, 1037, 1204, 557, 1246, 1266, 1204, -1, 1210, - -1, -1, -1, 1210, -1, 1204, -1, -1, -1, 1204, - -1, -1, -1, 508, 1225, 1210, 1166, -1, 1225, -1, - -1, 1204, 1204, -1, 1204, 1204, -1, 518, -1, -1, - 1225, -1, -1, -1, -1, -1, 1204, 1204, 1204, -1, - -1, 1204, -1, 1204, -1, -1, -1, -1, -1, 1204, - -1, -1, -1, -1, -1, 1204, -1, -1, -1, -1, - -1, 1204, -1, 1204, -1, 1204, -1, -1, -1, -1, - -1, 1210, -1, -1, -1, -1, -1, 1204, -1, -1, - -1, 1204, 1204, 1210, 1204, -1, 1225, -1, -1, 1204, - -1, -1, 1204, -1, 1204, -1, 1204, -1, -1, 1204, - -1, -1, 1204, -1, 1204, -1, 1204, -1, -1, 1204, - 1204, 1204, -1, -1, -1, 1204 + 4, 202, 3, 6, 6, 3, 205, 6, 8, 4, + 4, 4, 4, 203, 205, 4, 4, 4, 4, 4, + 981, 203, 203, 984, 203, 205, 987, 984, 4, 990, + 987, 987, 981, 990, 981, 203, 981, 4, 203, 984, + 1001, 990, 987, 1004, 1001, 990, 1007, 203, 981, 981, + 987, 981, 981, 203, 203, 203, 1001, 990, 990, 1004, + 990, 990, 1023, 981, 981, 981, 203, 1028, 981, 4, + 981, 1032, 990, 990, 990, 205, 981, 990, 1023, 990, + 1041, 4, 981, 1028, 1041, 990, 1047, 1032, 981, 1050, + 981, 990, 981, 1038, 205, 984, 1041, 990, 987, 990, + 203, 990, 1047, 4, 981, 1050, 4, 6, 981, 981, + 3, 981, 1001, 990, 203, 1004, 981, 990, 990, 981, + 990, 981, 203, 981, 1001, 990, 981, 1004, 990, 981, + 990, 981, 990, 981, 1023, 990, 981, 981, 990, 1028, + 990, 981, 990, 1032, 4, 990, 990, 203, 203, 1038, + 990, 990, 1041, 8, 202, 990, 203, 203, 1047, 8, + 4, 1050, 8, 3, 5, 8, 4, 4, 4, 4, + 1047, 722, 4, 1050, 7, 203, 4, 4, 4, 4, + 486, 693, 999, 202, 776, 696, 490, 980, 993, 975, + 684, 1009, 540, 996, 1007, 1016, 1028, 502, 981, 983, + 992, 1210, 77, 984, 986, 202, 202, 532, 1047, 989, + 987, 1050, 1047, 203, 205, 1050, 537, 505, 202, 202, + 202, 202, 202, 202, 202, 202, 1049, 202, 202, 202, + 202, 1047, 1052, 203, 205, 203, 202, 202, 1006, 1050, + 1004, 1002, 1216, 746, 1023, 733, 557, 1038, 561, 1210, + 695, 1231, 1042, 1210, 1032, 1216, 1252, 1272, -1, 1216, + -1, 1210, -1, 512, -1, 1210, -1, -1, -1, -1, + 1231, 1216, 1172, -1, 1231, -1, 522, 1210, 1210, -1, + 1210, 1210, -1, -1, -1, -1, 1231, -1, -1, -1, + -1, -1, 1210, 1210, 1210, -1, -1, 1210, -1, 1210, + -1, -1, -1, -1, -1, 1210, -1, -1, -1, -1, + -1, 1210, -1, -1, -1, -1, -1, 1210, -1, 1210, + -1, 1210, -1, -1, -1, -1, -1, 1216, -1, -1, + -1, -1, -1, 1210, -1, -1, -1, 1210, 1210, 1216, + 1210, -1, 1231, -1, -1, 1210, -1, -1, 1210, -1, + 1210, -1, 1210, -1, -1, 1210, -1, -1, 1210, -1, + 1210, -1, 1210, -1, -1, 1210, 1210, -1, -1, -1, + 1210, 1210, -1, -1, -1, 1210 }; const short Dhcp6Parser::yystos_[] = { - 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 0, 5, 7, 9, 201, 202, 203, 204, 221, 222, - 223, 228, 7, 237, 7, 241, 7, 284, 7, 390, - 7, 470, 7, 486, 7, 503, 7, 422, 7, 428, - 7, 452, 7, 366, 7, 572, 7, 603, 229, 224, - 238, 242, 285, 391, 471, 487, 504, 423, 429, 453, - 367, 573, 604, 221, 230, 231, 201, 226, 227, 10, - 239, 11, 12, 15, 18, 19, 20, 44, 45, 46, + 0, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 207, 208, 209, 210, 211, + 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, + 0, 5, 7, 9, 202, 203, 204, 205, 222, 223, + 224, 229, 7, 238, 7, 242, 7, 286, 7, 392, + 7, 472, 7, 488, 7, 505, 7, 424, 7, 430, + 7, 454, 7, 368, 7, 574, 7, 605, 230, 225, + 239, 243, 287, 393, 473, 489, 506, 425, 431, 455, + 369, 575, 606, 222, 231, 232, 202, 227, 228, 10, + 240, 11, 12, 15, 18, 19, 20, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 81, 90, 91, 97, 98, - 99, 100, 105, 106, 107, 108, 110, 115, 124, 127, - 134, 142, 143, 147, 150, 154, 175, 176, 177, 178, - 201, 236, 243, 244, 245, 247, 248, 249, 250, 251, + 67, 68, 69, 70, 71, 72, 82, 91, 92, 98, + 99, 100, 101, 106, 107, 108, 109, 111, 116, 125, + 128, 135, 143, 144, 148, 151, 155, 176, 177, 178, + 179, 202, 237, 244, 245, 246, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 267, 269, 271, 272, 274, 276, 277, - 278, 279, 281, 282, 291, 293, 295, 333, 339, 345, - 351, 353, 360, 374, 384, 404, 405, 406, 407, 412, - 420, 446, 476, 478, 497, 527, 539, 551, 552, 560, - 570, 601, 610, 16, 17, 236, 286, 287, 288, 290, - 476, 478, 82, 84, 92, 93, 94, 95, 96, 111, - 114, 122, 236, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 261, 262, 263, 264, - 267, 269, 271, 272, 274, 276, 392, 393, 394, 396, - 398, 400, 402, 404, 405, 406, 407, 410, 411, 446, - 464, 476, 478, 480, 497, 522, 83, 236, 400, 402, - 446, 472, 473, 474, 476, 478, 85, 86, 87, 88, - 89, 236, 400, 402, 446, 476, 478, 488, 489, 490, - 492, 493, 495, 496, 110, 116, 117, 118, 119, 120, - 121, 236, 446, 476, 478, 505, 506, 507, 508, 510, - 512, 514, 516, 518, 520, 420, 21, 72, 74, 75, - 78, 79, 80, 236, 313, 430, 431, 432, 433, 434, - 435, 436, 438, 440, 442, 443, 445, 476, 478, 73, - 76, 77, 236, 313, 434, 440, 454, 455, 456, 457, - 458, 460, 461, 462, 463, 476, 478, 125, 126, 236, - 368, 369, 370, 372, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 175, 176, 236, - 476, 478, 574, 575, 576, 577, 579, 581, 582, 584, - 585, 586, 589, 591, 592, 593, 595, 597, 599, 13, - 14, 605, 606, 607, 609, 6, 3, 4, 8, 3, - 240, 8, 246, 602, 283, 292, 294, 296, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 280, 4, 4, 4, 4, 4, 265, 268, - 270, 4, 4, 385, 421, 447, 413, 477, 479, 408, - 4, 4, 4, 340, 352, 346, 334, 528, 498, 361, - 375, 540, 4, 354, 553, 561, 571, 273, 275, 4, - 611, 4, 3, 8, 289, 4, 3, 8, 465, 481, - 395, 397, 399, 4, 4, 403, 401, 523, 3, 8, - 475, 3, 8, 491, 4, 494, 4, 4, 3, 8, - 521, 509, 511, 513, 515, 517, 519, 8, 3, 8, - 437, 314, 4, 441, 439, 444, 4, 8, 3, 459, - 4, 4, 8, 3, 371, 373, 3, 8, 4, 578, - 580, 4, 583, 4, 4, 587, 590, 4, 4, 594, - 596, 598, 600, 3, 8, 608, 4, 3, 8, 221, - 221, 201, 4, 4, 4, 4, 4, 4, 4, 202, - 202, 202, 202, 202, 202, 202, 202, 204, 203, 203, - 203, 202, 202, 4, 202, 202, 204, 204, 204, 4, - 4, 4, 204, 204, 4, 4, 4, 4, 4, 4, - 4, 204, 204, 204, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 202, 4, 4, 4, 4, 4, 4, - 204, 4, 244, 4, 204, 287, 4, 4, 4, 4, - 4, 202, 204, 4, 4, 4, 393, 4, 473, 4, - 202, 4, 202, 202, 489, 4, 4, 4, 4, 4, - 4, 4, 507, 4, 4, 202, 4, 4, 4, 204, - 432, 4, 204, 204, 456, 4, 4, 369, 204, 4, - 4, 202, 4, 202, 202, 4, 4, 204, 204, 4, - 4, 4, 4, 575, 4, 202, 606, 4, 7, 201, - 7, 7, 7, 7, 5, 201, 171, 172, 173, 174, - 204, 266, 201, 201, 5, 5, 5, 5, 223, 225, - 201, 101, 102, 103, 104, 409, 5, 5, 5, 7, - 5, 5, 5, 7, 7, 7, 7, 7, 7, 201, - 201, 5, 5, 232, 5, 5, 201, 201, 201, 232, - 201, 7, 201, 201, 201, 232, 232, 232, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 225, - 201, 201, 201, 168, 169, 588, 170, 266, 201, 201, - 201, 5, 221, 243, 605, 286, 21, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 236, 301, 302, 303, 306, - 308, 310, 312, 313, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 326, 327, 329, 331, 301, 7, - 297, 298, 299, 7, 386, 387, 388, 7, 424, 425, - 426, 7, 448, 449, 450, 7, 414, 415, 416, 118, - 201, 341, 342, 343, 344, 230, 119, 121, 343, 347, - 348, 349, 350, 109, 335, 336, 337, 7, 529, 530, - 7, 499, 500, 501, 7, 362, 363, 364, 128, 129, - 130, 131, 132, 133, 376, 377, 378, 379, 380, 381, - 382, 383, 21, 138, 139, 140, 141, 236, 315, 476, - 478, 541, 542, 543, 546, 547, 549, 550, 144, 145, - 146, 236, 355, 356, 357, 358, 359, 476, 478, 148, - 149, 236, 476, 478, 554, 555, 556, 558, 151, 152, - 153, 201, 476, 478, 562, 563, 564, 565, 567, 568, - 574, 7, 612, 613, 233, 7, 466, 467, 468, 7, - 482, 483, 484, 123, 508, 524, 525, 297, 8, 8, - 8, 304, 307, 309, 311, 4, 4, 4, 4, 4, - 325, 4, 4, 328, 330, 332, 4, 4, 4, 4, - 3, 8, 8, 300, 6, 3, 389, 6, 3, 427, - 6, 3, 451, 6, 3, 417, 6, 3, 3, 6, - 6, 3, 6, 338, 3, 8, 531, 3, 6, 502, - 6, 3, 365, 6, 3, 4, 4, 4, 4, 4, - 4, 3, 8, 544, 548, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 557, 559, 3, 8, 4, - 566, 4, 569, 3, 8, 8, 614, 3, 6, 201, - 234, 235, 469, 6, 3, 485, 6, 3, 526, 8, - 6, 4, 4, 4, 4, 202, 204, 202, 204, 202, - 4, 202, 202, 4, 4, 4, 202, 202, 204, 202, - 302, 301, 299, 392, 388, 430, 426, 454, 450, 236, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 261, 262, 263, 264, 267, 269, 271, - 272, 274, 276, 313, 384, 396, 398, 400, 402, 404, - 405, 406, 407, 411, 418, 419, 446, 476, 478, 522, - 416, 342, 348, 4, 336, 112, 113, 236, 313, 446, - 476, 478, 532, 533, 534, 535, 536, 538, 530, 505, - 501, 368, 364, 202, 202, 202, 202, 202, 202, 377, - 4, 4, 202, 202, 202, 542, 204, 202, 202, 356, - 4, 4, 555, 204, 4, 202, 4, 563, 179, 181, - 182, 236, 313, 476, 478, 615, 616, 617, 618, 620, - 613, 6, 3, 472, 468, 488, 484, 4, 22, 23, - 24, 25, 305, 201, 201, 201, 201, 201, 201, 201, - 8, 8, 8, 8, 3, 8, 201, 537, 4, 8, - 3, 8, 8, 135, 136, 137, 545, 201, 201, 201, - 201, 221, 621, 4, 619, 3, 8, 201, 8, 8, - 201, 419, 4, 204, 534, 4, 202, 4, 616, 201, - 5, 201, 7, 622, 623, 624, 3, 6, 180, 183, - 184, 185, 186, 625, 626, 627, 629, 630, 631, 632, - 623, 628, 4, 4, 4, 633, 3, 8, 4, 204, - 202, 202, 4, 626, 201, 201 + 262, 263, 264, 265, 268, 270, 272, 273, 274, 276, + 278, 279, 280, 281, 283, 284, 293, 295, 297, 335, + 341, 347, 353, 355, 362, 376, 386, 406, 407, 408, + 409, 414, 422, 448, 478, 480, 499, 529, 541, 553, + 554, 562, 572, 603, 612, 16, 17, 237, 288, 289, + 290, 292, 478, 480, 83, 85, 93, 94, 95, 96, + 97, 112, 115, 123, 237, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 262, 263, + 264, 265, 268, 270, 272, 273, 274, 276, 278, 394, + 395, 396, 398, 400, 402, 404, 406, 407, 408, 409, + 412, 413, 448, 466, 478, 480, 482, 499, 524, 84, + 237, 402, 404, 448, 474, 475, 476, 478, 480, 86, + 87, 88, 89, 90, 237, 402, 404, 448, 478, 480, + 490, 491, 492, 494, 495, 497, 498, 111, 117, 118, + 119, 120, 121, 122, 237, 448, 478, 480, 507, 508, + 509, 510, 512, 514, 516, 518, 520, 522, 422, 21, + 73, 75, 76, 79, 80, 81, 237, 315, 432, 433, + 434, 435, 436, 437, 438, 440, 442, 444, 445, 447, + 478, 480, 74, 77, 78, 237, 315, 436, 442, 456, + 457, 458, 459, 460, 462, 463, 464, 465, 478, 480, + 126, 127, 237, 370, 371, 372, 374, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 176, 177, 237, 478, 480, 576, 577, 578, 579, 581, + 583, 584, 586, 587, 588, 591, 593, 594, 595, 597, + 599, 601, 13, 14, 607, 608, 609, 611, 6, 3, + 4, 8, 3, 241, 8, 247, 604, 285, 294, 296, + 298, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 282, 4, 4, 4, 4, + 4, 266, 269, 271, 4, 4, 4, 387, 423, 449, + 415, 479, 481, 410, 4, 4, 4, 342, 354, 348, + 336, 530, 500, 363, 377, 542, 4, 356, 555, 563, + 573, 275, 277, 4, 613, 4, 3, 8, 291, 4, + 3, 8, 467, 483, 397, 399, 401, 4, 4, 405, + 403, 525, 3, 8, 477, 3, 8, 493, 4, 496, + 4, 4, 3, 8, 523, 511, 513, 515, 517, 519, + 521, 8, 3, 8, 439, 316, 4, 443, 441, 446, + 4, 8, 3, 461, 4, 4, 8, 3, 373, 375, + 3, 8, 4, 580, 582, 4, 585, 4, 4, 589, + 592, 4, 4, 596, 598, 600, 602, 3, 8, 610, + 4, 3, 8, 222, 222, 202, 4, 4, 4, 4, + 4, 4, 4, 203, 203, 203, 203, 203, 203, 203, + 203, 205, 204, 204, 204, 203, 203, 4, 203, 203, + 205, 205, 205, 4, 4, 4, 205, 205, 205, 4, + 4, 4, 4, 4, 4, 4, 205, 205, 205, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 203, 4, + 4, 4, 4, 4, 4, 205, 4, 245, 4, 205, + 289, 4, 4, 4, 4, 4, 203, 205, 4, 4, + 4, 395, 4, 475, 4, 203, 4, 203, 203, 491, + 4, 4, 4, 4, 4, 4, 4, 509, 4, 4, + 203, 4, 4, 4, 205, 434, 4, 205, 205, 458, + 4, 4, 371, 205, 4, 4, 203, 4, 203, 203, + 4, 4, 205, 205, 4, 4, 4, 4, 577, 4, + 203, 608, 4, 7, 202, 7, 7, 7, 7, 5, + 202, 172, 173, 174, 175, 205, 267, 202, 202, 5, + 5, 5, 5, 224, 226, 202, 102, 103, 104, 105, + 411, 5, 5, 5, 7, 5, 5, 5, 7, 7, + 7, 7, 7, 7, 202, 202, 5, 5, 233, 5, + 5, 202, 202, 202, 233, 202, 7, 202, 202, 202, + 233, 233, 233, 202, 202, 202, 202, 202, 202, 202, + 202, 202, 202, 202, 226, 202, 202, 202, 169, 170, + 590, 171, 267, 202, 202, 202, 5, 222, 244, 607, + 288, 21, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 237, 303, 304, 305, 308, 310, 312, 314, 315, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 328, + 329, 331, 333, 303, 7, 299, 300, 301, 7, 388, + 389, 390, 7, 426, 427, 428, 7, 450, 451, 452, + 7, 416, 417, 418, 119, 202, 343, 344, 345, 346, + 231, 120, 122, 345, 349, 350, 351, 352, 110, 337, + 338, 339, 7, 531, 532, 7, 501, 502, 503, 7, + 364, 365, 366, 129, 130, 131, 132, 133, 134, 378, + 379, 380, 381, 382, 383, 384, 385, 21, 139, 140, + 141, 142, 237, 317, 478, 480, 543, 544, 545, 548, + 549, 551, 552, 145, 146, 147, 237, 357, 358, 359, + 360, 361, 478, 480, 149, 150, 237, 478, 480, 556, + 557, 558, 560, 152, 153, 154, 202, 478, 480, 564, + 565, 566, 567, 569, 570, 576, 7, 614, 615, 234, + 7, 468, 469, 470, 7, 484, 485, 486, 124, 510, + 526, 527, 299, 8, 8, 8, 306, 309, 311, 313, + 4, 4, 4, 4, 4, 327, 4, 4, 330, 332, + 334, 4, 4, 4, 4, 3, 8, 8, 302, 6, + 3, 391, 6, 3, 429, 6, 3, 453, 6, 3, + 419, 6, 3, 3, 6, 6, 3, 6, 340, 3, + 8, 533, 3, 6, 504, 6, 3, 367, 6, 3, + 4, 4, 4, 4, 4, 4, 3, 8, 546, 550, + 4, 4, 4, 3, 8, 4, 4, 4, 3, 8, + 559, 561, 3, 8, 4, 568, 4, 571, 3, 8, + 8, 616, 3, 6, 202, 235, 236, 471, 6, 3, + 487, 6, 3, 528, 8, 6, 4, 4, 4, 4, + 203, 205, 203, 205, 203, 4, 203, 203, 4, 4, + 4, 203, 203, 205, 203, 304, 303, 301, 394, 390, + 432, 428, 456, 452, 237, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 262, 263, + 264, 265, 268, 270, 272, 273, 274, 276, 278, 315, + 386, 398, 400, 402, 404, 406, 407, 408, 409, 413, + 420, 421, 448, 478, 480, 524, 418, 344, 350, 4, + 338, 113, 114, 237, 315, 448, 478, 480, 534, 535, + 536, 537, 538, 540, 532, 507, 503, 370, 366, 203, + 203, 203, 203, 203, 203, 379, 4, 4, 203, 203, + 203, 544, 205, 203, 203, 358, 4, 4, 557, 205, + 4, 203, 4, 565, 180, 182, 183, 237, 315, 478, + 480, 617, 618, 619, 620, 622, 615, 6, 3, 474, + 470, 490, 486, 4, 22, 23, 24, 25, 307, 202, + 202, 202, 202, 202, 202, 202, 8, 8, 8, 8, + 3, 8, 202, 539, 4, 8, 3, 8, 8, 136, + 137, 138, 547, 202, 202, 202, 202, 222, 623, 4, + 621, 3, 8, 202, 8, 8, 202, 421, 4, 205, + 536, 4, 203, 4, 618, 202, 5, 202, 7, 624, + 625, 626, 3, 6, 181, 184, 185, 186, 187, 627, + 628, 629, 631, 632, 633, 634, 625, 630, 4, 4, + 4, 635, 3, 8, 4, 205, 203, 203, 4, 628, + 202, 202 }; const short Dhcp6Parser::yyr1_[] = { - 0, 205, 207, 206, 208, 206, 209, 206, 210, 206, - 211, 206, 212, 206, 213, 206, 214, 206, 215, 206, - 216, 206, 217, 206, 218, 206, 219, 206, 220, 206, - 221, 221, 221, 221, 221, 221, 221, 222, 224, 223, - 225, 226, 226, 227, 227, 229, 228, 230, 230, 231, - 231, 233, 232, 234, 234, 235, 235, 236, 238, 237, - 240, 239, 242, 241, 243, 243, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, - 244, 244, 244, 244, 244, 244, 246, 245, 247, 248, + 0, 206, 208, 207, 209, 207, 210, 207, 211, 207, + 212, 207, 213, 207, 214, 207, 215, 207, 216, 207, + 217, 207, 218, 207, 219, 207, 220, 207, 221, 207, + 222, 222, 222, 222, 222, 222, 222, 223, 225, 224, + 226, 227, 227, 228, 228, 230, 229, 231, 231, 232, + 232, 234, 233, 235, 235, 236, 236, 237, 239, 238, + 241, 240, 243, 242, 244, 244, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 247, 246, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 265, 264, 266, 266, 266, - 266, 266, 268, 267, 270, 269, 271, 273, 272, 275, - 274, 276, 277, 278, 280, 279, 281, 283, 282, 285, - 284, 286, 286, 287, 287, 287, 287, 287, 289, 288, - 290, 292, 291, 294, 293, 296, 295, 297, 297, 298, - 298, 300, 299, 301, 301, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, - 302, 302, 302, 302, 302, 302, 304, 303, 305, 305, - 305, 305, 307, 306, 309, 308, 311, 310, 312, 314, - 313, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 325, 324, 326, 328, 327, 330, 329, 332, 331, 334, - 333, 335, 335, 336, 338, 337, 340, 339, 341, 341, - 342, 342, 343, 344, 346, 345, 347, 347, 348, 348, - 348, 349, 350, 352, 351, 354, 353, 355, 355, 356, - 356, 356, 356, 356, 356, 357, 358, 359, 361, 360, - 362, 362, 363, 363, 365, 364, 367, 366, 368, 368, - 368, 369, 369, 371, 370, 373, 372, 375, 374, 376, - 376, 377, 377, 377, 377, 377, 377, 378, 379, 380, - 381, 382, 383, 385, 384, 386, 386, 387, 387, 389, - 388, 391, 390, 392, 392, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 393, 393, 393, - 393, 393, 393, 393, 393, 393, 393, 395, 394, 397, - 396, 399, 398, 401, 400, 403, 402, 404, 405, 406, - 408, 407, 409, 409, 409, 409, 410, 411, 413, 412, - 414, 414, 415, 415, 417, 416, 418, 418, 419, 419, - 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, - 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, - 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, - 419, 419, 419, 419, 419, 419, 419, 421, 420, 423, - 422, 424, 424, 425, 425, 427, 426, 429, 428, 430, - 430, 431, 431, 432, 432, 432, 432, 432, 432, 432, - 432, 432, 432, 433, 434, 435, 437, 436, 439, 438, - 441, 440, 442, 444, 443, 445, 447, 446, 448, 448, - 449, 449, 451, 450, 453, 452, 454, 454, 455, 455, - 456, 456, 456, 456, 456, 456, 456, 456, 456, 457, - 459, 458, 460, 461, 462, 463, 465, 464, 466, 466, - 467, 467, 469, 468, 471, 470, 472, 472, 473, 473, - 473, 473, 473, 473, 473, 475, 474, 477, 476, 479, - 478, 481, 480, 482, 482, 483, 483, 485, 484, 487, - 486, 488, 488, 489, 489, 489, 489, 489, 489, 489, - 489, 489, 489, 489, 491, 490, 492, 494, 493, 495, - 496, 498, 497, 499, 499, 500, 500, 502, 501, 504, - 503, 505, 505, 506, 506, 507, 507, 507, 507, 507, - 507, 507, 507, 507, 507, 507, 509, 508, 511, 510, - 513, 512, 515, 514, 517, 516, 519, 518, 521, 520, - 523, 522, 524, 524, 526, 525, 528, 527, 529, 529, - 531, 530, 532, 532, 533, 533, 534, 534, 534, 534, - 534, 534, 534, 535, 537, 536, 538, 540, 539, 541, - 541, 542, 542, 542, 542, 542, 542, 542, 542, 542, - 544, 543, 545, 545, 545, 546, 548, 547, 549, 550, - 551, 553, 552, 554, 554, 555, 555, 555, 555, 555, - 557, 556, 559, 558, 561, 560, 562, 562, 563, 563, - 563, 563, 563, 563, 564, 566, 565, 567, 569, 568, - 571, 570, 573, 572, 574, 574, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 576, 578, 577, 580, 579, 581, - 583, 582, 584, 585, 587, 586, 588, 588, 590, 589, - 591, 592, 594, 593, 596, 595, 598, 597, 600, 599, - 602, 601, 604, 603, 605, 605, 606, 606, 608, 607, - 609, 611, 610, 612, 612, 614, 613, 615, 615, 616, - 616, 616, 616, 616, 616, 616, 617, 619, 618, 621, - 620, 622, 622, 624, 623, 625, 625, 626, 626, 626, - 626, 626, 628, 627, 629, 630, 631, 633, 632 + 259, 260, 261, 262, 263, 264, 266, 265, 267, 267, + 267, 267, 267, 269, 268, 271, 270, 272, 273, 275, + 274, 277, 276, 278, 279, 280, 282, 281, 283, 285, + 284, 287, 286, 288, 288, 289, 289, 289, 289, 289, + 291, 290, 292, 294, 293, 296, 295, 298, 297, 299, + 299, 300, 300, 302, 301, 303, 303, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 306, 305, + 307, 307, 307, 307, 309, 308, 311, 310, 313, 312, + 314, 316, 315, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 327, 326, 328, 330, 329, 332, 331, 334, + 333, 336, 335, 337, 337, 338, 340, 339, 342, 341, + 343, 343, 344, 344, 345, 346, 348, 347, 349, 349, + 350, 350, 350, 351, 352, 354, 353, 356, 355, 357, + 357, 358, 358, 358, 358, 358, 358, 359, 360, 361, + 363, 362, 364, 364, 365, 365, 367, 366, 369, 368, + 370, 370, 370, 371, 371, 373, 372, 375, 374, 377, + 376, 378, 378, 379, 379, 379, 379, 379, 379, 380, + 381, 382, 383, 384, 385, 387, 386, 388, 388, 389, + 389, 391, 390, 393, 392, 394, 394, 395, 395, 395, + 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, + 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, + 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, + 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, + 397, 396, 399, 398, 401, 400, 403, 402, 405, 404, + 406, 407, 408, 410, 409, 411, 411, 411, 411, 412, + 413, 415, 414, 416, 416, 417, 417, 419, 418, 420, + 420, 421, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 423, 422, 425, 424, 426, 426, 427, 427, 429, + 428, 431, 430, 432, 432, 433, 433, 434, 434, 434, + 434, 434, 434, 434, 434, 434, 434, 435, 436, 437, + 439, 438, 441, 440, 443, 442, 444, 446, 445, 447, + 449, 448, 450, 450, 451, 451, 453, 452, 455, 454, + 456, 456, 457, 457, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 459, 461, 460, 462, 463, 464, 465, + 467, 466, 468, 468, 469, 469, 471, 470, 473, 472, + 474, 474, 475, 475, 475, 475, 475, 475, 475, 477, + 476, 479, 478, 481, 480, 483, 482, 484, 484, 485, + 485, 487, 486, 489, 488, 490, 490, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 493, 492, + 494, 496, 495, 497, 498, 500, 499, 501, 501, 502, + 502, 504, 503, 506, 505, 507, 507, 508, 508, 509, + 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, + 511, 510, 513, 512, 515, 514, 517, 516, 519, 518, + 521, 520, 523, 522, 525, 524, 526, 526, 528, 527, + 530, 529, 531, 531, 533, 532, 534, 534, 535, 535, + 536, 536, 536, 536, 536, 536, 536, 537, 539, 538, + 540, 542, 541, 543, 543, 544, 544, 544, 544, 544, + 544, 544, 544, 544, 546, 545, 547, 547, 547, 548, + 550, 549, 551, 552, 553, 555, 554, 556, 556, 557, + 557, 557, 557, 557, 559, 558, 561, 560, 563, 562, + 564, 564, 565, 565, 565, 565, 565, 565, 566, 568, + 567, 569, 571, 570, 573, 572, 575, 574, 576, 576, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 578, 580, + 579, 582, 581, 583, 585, 584, 586, 587, 589, 588, + 590, 590, 592, 591, 593, 594, 596, 595, 598, 597, + 600, 599, 602, 601, 604, 603, 606, 605, 607, 607, + 608, 608, 610, 609, 611, 613, 612, 614, 614, 616, + 615, 617, 617, 618, 618, 618, 618, 618, 618, 618, + 619, 621, 620, 623, 622, 624, 624, 626, 625, 627, + 627, 628, 628, 628, 628, 628, 630, 629, 631, 632, + 633, 635, 634 }; const signed char @@ -5474,73 +5490,74 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 0, 4, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 3, 0, 4, 0, - 4, 3, 3, 3, 0, 4, 3, 0, 6, 0, - 4, 1, 3, 1, 1, 1, 1, 1, 0, 4, - 3, 0, 6, 0, 6, 0, 6, 0, 1, 1, - 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 0, 4, 1, 1, + 1, 1, 1, 0, 4, 0, 4, 3, 3, 0, + 4, 0, 4, 3, 3, 3, 0, 4, 3, 0, + 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, + 0, 4, 3, 0, 6, 0, 6, 0, 6, 0, + 1, 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 3, 0, - 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 0, 4, 3, 0, 4, 0, 4, 0, 4, 0, - 6, 1, 3, 1, 0, 4, 0, 6, 1, 3, - 1, 1, 1, 1, 0, 6, 1, 3, 1, 1, - 1, 1, 1, 0, 6, 0, 6, 1, 3, 1, - 1, 1, 1, 1, 1, 3, 3, 3, 0, 6, - 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, - 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, + 3, 0, 4, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 0, 4, 3, 0, 4, 0, 4, 0, + 4, 0, 6, 1, 3, 1, 0, 4, 0, 6, + 1, 3, 1, 1, 1, 1, 0, 6, 1, 3, + 1, 1, 1, 1, 1, 0, 6, 0, 6, 1, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 3, 3, 3, 0, 6, 0, 1, 1, 3, 0, - 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, + 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, + 1, 3, 1, 1, 1, 0, 4, 0, 4, 0, + 6, 1, 3, 1, 1, 1, 1, 1, 1, 3, + 3, 3, 3, 3, 3, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 3, 3, 3, - 0, 4, 1, 1, 1, 1, 3, 3, 0, 6, - 0, 1, 1, 3, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, + 3, 3, 3, 0, 4, 1, 1, 1, 1, 3, + 3, 0, 6, 0, 1, 1, 3, 0, 4, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, - 4, 0, 1, 1, 3, 0, 4, 0, 4, 0, - 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 0, 4, 0, 4, - 0, 4, 1, 0, 4, 3, 0, 6, 0, 1, - 1, 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 1, 1, 3, 3, 0, 6, 0, 1, - 1, 3, 0, 4, 0, 4, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, - 4, 0, 6, 0, 1, 1, 3, 0, 4, 0, - 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 3, 0, 4, 3, - 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, - 4, 0, 1, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, + 1, 0, 6, 0, 4, 0, 1, 1, 3, 0, + 4, 0, 4, 0, 1, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, + 0, 4, 0, 4, 0, 4, 1, 0, 4, 3, + 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, + 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 1, 1, 3, 3, + 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 0, + 4, 0, 4, 0, 4, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 3, 0, 4, 3, 3, 0, 6, 0, 1, 1, + 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 6, 1, 1, 0, 4, 0, 6, 1, 3, - 0, 4, 0, 1, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 3, 0, 6, 1, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 1, 1, 1, 3, 0, 4, 3, 3, + 0, 4, 0, 4, 0, 6, 1, 1, 0, 4, + 0, 6, 1, 3, 0, 4, 0, 1, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, 0, 6, 1, 3, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 0, 6, 1, 3, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, - 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 1, 1, 1, 3, + 0, 4, 3, 3, 3, 0, 6, 1, 3, 1, + 1, 1, 1, 1, 0, 4, 0, 4, 0, 6, + 1, 3, 1, 1, 1, 1, 1, 1, 3, 0, + 4, 3, 0, 4, 0, 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 0, 4, 3, - 0, 4, 3, 3, 0, 4, 1, 1, 0, 4, - 3, 3, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 6, 0, 4, 1, 3, 1, 1, 0, 6, - 3, 0, 6, 1, 3, 0, 4, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 3, 0, 4, 0, - 6, 1, 3, 0, 4, 1, 3, 1, 1, 1, - 1, 1, 0, 4, 3, 3, 3, 0, 4 + 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, + 4, 0, 4, 3, 0, 4, 3, 3, 0, 4, + 1, 1, 0, 4, 3, 3, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 6, 0, 4, 1, 3, + 1, 1, 0, 6, 3, 0, 6, 1, 3, 0, + 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 3, 0, 4, 0, 6, 1, 3, 0, 4, 1, + 3, 1, 1, 1, 1, 1, 0, 4, 3, 3, + 3, 0, 4 }; @@ -5571,9 +5588,10 @@ namespace isc { namespace dhcp { "\"ddns-send-updates\"", "\"ddns-override-no-update\"", "\"ddns-override-client-update\"", "\"ddns-replace-client-name\"", "\"ddns-generated-prefix\"", "\"ddns-qualifying-suffix\"", - "\"ddns-update-on-renew\"", "\"store-extended-info\"", "\"subnet6\"", - "\"option-def\"", "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", - "\"space\"", "\"csv-format\"", "\"always-send\"", "\"record-types\"", + "\"ddns-update-on-renew\"", "\"ddns-use-conflict-resolution\"", + "\"store-extended-info\"", "\"subnet6\"", "\"option-def\"", + "\"option-data\"", "\"name\"", "\"data\"", "\"code\"", "\"space\"", + "\"csv-format\"", "\"always-send\"", "\"record-types\"", "\"encapsulate\"", "\"array\"", "\"shared-networks\"", "\"pools\"", "\"pool\"", "\"pd-pools\"", "\"prefix\"", "\"prefix-len\"", "\"excluded-prefix\"", "\"excluded-prefix-len\"", "\"delegated-len\"", @@ -5628,22 +5646,23 @@ namespace isc { namespace dhcp { "ddns_override_client_update", "ddns_replace_client_name", "$@22", "ddns_replace_client_name_value", "ddns_generated_prefix", "$@23", "ddns_qualifying_suffix", "$@24", "ddns_update_on_renew", - "hostname_char_set", "$@25", "hostname_char_replacement", "$@26", - "store_extended_info", "statistic_default_sample_count", - "statistic_default_sample_age", "server_tag", "$@27", - "ip_reservations_unique", "interfaces_config", "$@28", "sub_interfaces6", - "$@29", "interfaces_config_params", "interfaces_config_param", - "interfaces_list", "$@30", "re_detect", "lease_database", "$@31", - "hosts_database", "$@32", "hosts_databases", "$@33", "database_list", - "not_empty_database_list", "database", "$@34", "database_map_params", - "database_map_param", "database_type", "$@35", "db_type", "user", "$@36", - "password", "$@37", "host", "$@38", "port", "name", "$@39", "persist", - "lfc_interval", "readonly", "connect_timeout", "reconnect_wait_time", - "max_row_errors", "request_timeout", "tcp_keepalive", "tcp_nodelay", - "contact_points", "$@40", "max_reconnect_tries", "keyspace", "$@41", - "consistency", "$@42", "serial_consistency", "$@43", "sanity_checks", - "$@44", "sanity_checks_params", "sanity_checks_param", "lease_checks", - "$@45", "mac_sources", "$@46", "mac_sources_list", "mac_sources_value", + "ddns_use_conflict_resolution", "hostname_char_set", "$@25", + "hostname_char_replacement", "$@26", "store_extended_info", + "statistic_default_sample_count", "statistic_default_sample_age", + "server_tag", "$@27", "ip_reservations_unique", "interfaces_config", + "$@28", "sub_interfaces6", "$@29", "interfaces_config_params", + "interfaces_config_param", "interfaces_list", "$@30", "re_detect", + "lease_database", "$@31", "hosts_database", "$@32", "hosts_databases", + "$@33", "database_list", "not_empty_database_list", "database", "$@34", + "database_map_params", "database_map_param", "database_type", "$@35", + "db_type", "user", "$@36", "password", "$@37", "host", "$@38", "port", + "name", "$@39", "persist", "lfc_interval", "readonly", "connect_timeout", + "reconnect_wait_time", "max_row_errors", "request_timeout", + "tcp_keepalive", "tcp_nodelay", "contact_points", "$@40", + "max_reconnect_tries", "keyspace", "$@41", "consistency", "$@42", + "serial_consistency", "$@43", "sanity_checks", "$@44", + "sanity_checks_params", "sanity_checks_param", "lease_checks", "$@45", + "mac_sources", "$@46", "mac_sources_list", "mac_sources_value", "duid_id", "string_id", "host_reservation_identifiers", "$@47", "host_reservation_identifiers_list", "host_reservation_identifier", "hw_address_id", "flex_id", "relay_supplied_options", "$@48", @@ -5726,85 +5745,86 @@ namespace isc { namespace dhcp { const short Dhcp6Parser::yyrline_[] = { - 0, 291, 291, 291, 292, 292, 293, 293, 294, 294, - 295, 295, 296, 296, 297, 297, 298, 298, 299, 299, - 300, 300, 301, 301, 302, 302, 303, 303, 304, 304, - 312, 313, 314, 315, 316, 317, 318, 321, 326, 326, - 337, 340, 341, 344, 349, 357, 357, 364, 365, 368, - 372, 379, 379, 386, 387, 390, 394, 405, 414, 414, - 429, 429, 446, 446, 455, 456, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 523, 523, 532, 538, - 544, 550, 556, 562, 568, 574, 580, 586, 592, 598, - 604, 610, 616, 622, 628, 634, 634, 643, 646, 649, - 652, 655, 661, 661, 670, 670, 679, 685, 685, 694, - 694, 703, 709, 715, 721, 721, 730, 736, 736, 748, - 748, 757, 758, 761, 762, 763, 764, 765, 768, 768, - 779, 785, 785, 798, 798, 811, 811, 822, 823, 826, - 827, 830, 830, 840, 841, 844, 845, 846, 847, 848, - 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, - 859, 860, 861, 862, 863, 864, 867, 867, 875, 876, - 877, 878, 881, 881, 890, 890, 899, 899, 908, 914, - 914, 923, 929, 935, 941, 947, 953, 959, 965, 971, - 977, 977, 986, 992, 992, 1001, 1001, 1010, 1010, 1019, - 1019, 1030, 1031, 1033, 1035, 1035, 1054, 1054, 1065, 1066, - 1069, 1070, 1073, 1078, 1083, 1083, 1094, 1095, 1098, 1099, - 1100, 1103, 1108, 1115, 1115, 1128, 1128, 1141, 1142, 1145, - 1146, 1147, 1148, 1149, 1150, 1153, 1159, 1165, 1171, 1171, - 1182, 1183, 1186, 1187, 1190, 1190, 1200, 1200, 1210, 1211, - 1212, 1215, 1216, 1219, 1219, 1228, 1228, 1237, 1237, 1249, - 1250, 1253, 1254, 1255, 1256, 1257, 1258, 1261, 1267, 1273, - 1279, 1285, 1291, 1300, 1300, 1314, 1315, 1318, 1319, 1326, - 1326, 1352, 1352, 1363, 1364, 1368, 1369, 1370, 1371, 1372, - 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, - 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, - 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, - 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1412, 1412, 1421, - 1421, 1430, 1430, 1439, 1439, 1448, 1448, 1459, 1465, 1471, - 1477, 1477, 1485, 1486, 1487, 1488, 1491, 1497, 1505, 1505, - 1517, 1518, 1522, 1523, 1526, 1526, 1534, 1535, 1538, 1539, - 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, - 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, - 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, - 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1583, 1583, 1597, - 1597, 1606, 1607, 1610, 1611, 1616, 1616, 1631, 1631, 1645, - 1646, 1649, 1650, 1653, 1654, 1655, 1656, 1657, 1658, 1659, - 1660, 1661, 1662, 1665, 1667, 1673, 1675, 1675, 1684, 1684, - 1693, 1693, 1702, 1704, 1704, 1713, 1723, 1723, 1736, 1737, - 1742, 1743, 1748, 1748, 1760, 1760, 1772, 1773, 1778, 1779, - 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1795, - 1797, 1797, 1806, 1808, 1810, 1816, 1825, 1825, 1838, 1839, - 1842, 1843, 1846, 1846, 1856, 1856, 1866, 1867, 1870, 1871, - 1872, 1873, 1874, 1875, 1876, 1879, 1879, 1888, 1888, 1913, - 1913, 1943, 1943, 1956, 1957, 1960, 1961, 1964, 1964, 1976, - 1976, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2005, 2005, 2014, 2020, 2020, 2029, - 2035, 2044, 2044, 2055, 2056, 2059, 2060, 2063, 2063, 2072, - 2072, 2081, 2082, 2085, 2086, 2090, 2091, 2092, 2093, 2094, - 2095, 2096, 2097, 2098, 2099, 2100, 2103, 2103, 2114, 2114, - 2125, 2125, 2134, 2134, 2143, 2143, 2152, 2152, 2161, 2161, - 2175, 2175, 2186, 2187, 2190, 2190, 2202, 2202, 2213, 2214, - 2217, 2217, 2227, 2228, 2231, 2232, 2235, 2236, 2237, 2238, - 2239, 2240, 2241, 2244, 2246, 2246, 2255, 2264, 2264, 2277, - 2278, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, - 2292, 2292, 2300, 2301, 2302, 2305, 2311, 2311, 2320, 2326, - 2334, 2342, 2342, 2353, 2354, 2357, 2358, 2359, 2360, 2361, - 2364, 2364, 2373, 2373, 2385, 2385, 2398, 2399, 2402, 2403, - 2404, 2405, 2406, 2407, 2410, 2416, 2416, 2425, 2431, 2431, - 2441, 2441, 2454, 2454, 2464, 2465, 2468, 2469, 2470, 2471, - 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, - 2482, 2483, 2484, 2485, 2488, 2495, 2495, 2504, 2504, 2513, - 2519, 2519, 2528, 2534, 2540, 2540, 2549, 2550, 2553, 2553, - 2563, 2570, 2577, 2577, 2586, 2586, 2596, 2596, 2606, 2606, - 2618, 2618, 2630, 2630, 2640, 2641, 2645, 2646, 2649, 2649, - 2660, 2668, 2668, 2681, 2682, 2686, 2686, 2694, 2695, 2698, - 2699, 2700, 2701, 2702, 2703, 2704, 2707, 2713, 2713, 2722, - 2722, 2733, 2734, 2737, 2737, 2745, 2746, 2749, 2750, 2751, - 2752, 2753, 2756, 2756, 2765, 2771, 2777, 2783, 2783 + 0, 292, 292, 292, 293, 293, 294, 294, 295, 295, + 296, 296, 297, 297, 298, 298, 299, 299, 300, 300, + 301, 301, 302, 302, 303, 303, 304, 304, 305, 305, + 313, 314, 315, 316, 317, 318, 319, 322, 327, 327, + 338, 341, 342, 345, 350, 358, 358, 365, 366, 369, + 373, 380, 380, 387, 388, 391, 395, 406, 415, 415, + 430, 430, 447, 447, 456, 457, 462, 463, 464, 465, + 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 525, 525, 534, + 540, 546, 552, 558, 564, 570, 576, 582, 588, 594, + 600, 606, 612, 618, 624, 630, 636, 636, 645, 648, + 651, 654, 657, 663, 663, 672, 672, 681, 687, 693, + 693, 702, 702, 711, 717, 723, 729, 729, 738, 744, + 744, 756, 756, 765, 766, 769, 770, 771, 772, 773, + 776, 776, 787, 793, 793, 806, 806, 819, 819, 830, + 831, 834, 835, 838, 838, 848, 849, 852, 853, 854, + 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, + 865, 866, 867, 868, 869, 870, 871, 872, 875, 875, + 883, 884, 885, 886, 889, 889, 898, 898, 907, 907, + 916, 922, 922, 931, 937, 943, 949, 955, 961, 967, + 973, 979, 985, 985, 994, 1000, 1000, 1009, 1009, 1018, + 1018, 1027, 1027, 1038, 1039, 1041, 1043, 1043, 1062, 1062, + 1073, 1074, 1077, 1078, 1081, 1086, 1091, 1091, 1102, 1103, + 1106, 1107, 1108, 1111, 1116, 1123, 1123, 1136, 1136, 1149, + 1150, 1153, 1154, 1155, 1156, 1157, 1158, 1161, 1167, 1173, + 1179, 1179, 1190, 1191, 1194, 1195, 1198, 1198, 1208, 1208, + 1218, 1219, 1220, 1223, 1224, 1227, 1227, 1236, 1236, 1245, + 1245, 1257, 1258, 1261, 1262, 1263, 1264, 1265, 1266, 1269, + 1275, 1281, 1287, 1293, 1299, 1308, 1308, 1322, 1323, 1326, + 1327, 1334, 1334, 1360, 1360, 1371, 1372, 1376, 1377, 1378, + 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, + 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, + 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, + 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, + 1421, 1421, 1430, 1430, 1439, 1439, 1448, 1448, 1457, 1457, + 1468, 1474, 1480, 1486, 1486, 1494, 1495, 1496, 1497, 1500, + 1506, 1514, 1514, 1526, 1527, 1531, 1532, 1535, 1535, 1543, + 1544, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, + 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, + 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, + 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, + 1586, 1593, 1593, 1607, 1607, 1616, 1617, 1620, 1621, 1626, + 1626, 1641, 1641, 1655, 1656, 1659, 1660, 1663, 1664, 1665, + 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1675, 1677, 1683, + 1685, 1685, 1694, 1694, 1703, 1703, 1712, 1714, 1714, 1723, + 1733, 1733, 1746, 1747, 1752, 1753, 1758, 1758, 1770, 1770, + 1782, 1783, 1788, 1789, 1794, 1795, 1796, 1797, 1798, 1799, + 1800, 1801, 1802, 1805, 1807, 1807, 1816, 1818, 1820, 1826, + 1835, 1835, 1848, 1849, 1852, 1853, 1856, 1856, 1866, 1866, + 1876, 1877, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1889, + 1889, 1898, 1898, 1923, 1923, 1953, 1953, 1966, 1967, 1970, + 1971, 1974, 1974, 1986, 1986, 1998, 1999, 2002, 2003, 2004, + 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2015, 2015, + 2024, 2030, 2030, 2039, 2045, 2054, 2054, 2065, 2066, 2069, + 2070, 2073, 2073, 2082, 2082, 2091, 2092, 2095, 2096, 2100, + 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, + 2113, 2113, 2124, 2124, 2135, 2135, 2144, 2144, 2153, 2153, + 2162, 2162, 2171, 2171, 2185, 2185, 2196, 2197, 2200, 2200, + 2212, 2212, 2223, 2224, 2227, 2227, 2237, 2238, 2241, 2242, + 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2254, 2256, 2256, + 2265, 2274, 2274, 2287, 2288, 2291, 2292, 2293, 2294, 2295, + 2296, 2297, 2298, 2299, 2302, 2302, 2310, 2311, 2312, 2315, + 2321, 2321, 2330, 2336, 2344, 2352, 2352, 2363, 2364, 2367, + 2368, 2369, 2370, 2371, 2374, 2374, 2383, 2383, 2395, 2395, + 2408, 2409, 2412, 2413, 2414, 2415, 2416, 2417, 2420, 2426, + 2426, 2435, 2441, 2441, 2451, 2451, 2464, 2464, 2474, 2475, + 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, + 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2498, 2505, + 2505, 2514, 2514, 2523, 2529, 2529, 2538, 2544, 2550, 2550, + 2559, 2560, 2563, 2563, 2573, 2580, 2587, 2587, 2596, 2596, + 2606, 2606, 2616, 2616, 2628, 2628, 2640, 2640, 2650, 2651, + 2655, 2656, 2659, 2659, 2670, 2678, 2678, 2691, 2692, 2696, + 2696, 2704, 2705, 2708, 2709, 2710, 2711, 2712, 2713, 2714, + 2717, 2723, 2723, 2732, 2732, 2743, 2744, 2747, 2747, 2755, + 2756, 2759, 2760, 2761, 2762, 2763, 2766, 2766, 2775, 2781, + 2787, 2793, 2793 }; void @@ -5837,9 +5857,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5841 "dhcp6_parser.cc" +#line 5861 "dhcp6_parser.cc" -#line 2792 "dhcp6_parser.yy" +#line 2802 "dhcp6_parser.yy" void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index c53f3a042f..c916d40dd7 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -1,4 +1,4 @@ -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Skeleton interface for Bison LALR(1) parsers in C++ @@ -550,143 +550,144 @@ namespace isc { namespace dhcp { TOKEN_DDNS_GENERATED_PREFIX = 320, // "ddns-generated-prefix" TOKEN_DDNS_QUALIFYING_SUFFIX = 321, // "ddns-qualifying-suffix" TOKEN_DDNS_UPDATE_ON_RENEW = 322, // "ddns-update-on-renew" - TOKEN_STORE_EXTENDED_INFO = 323, // "store-extended-info" - TOKEN_SUBNET6 = 324, // "subnet6" - TOKEN_OPTION_DEF = 325, // "option-def" - TOKEN_OPTION_DATA = 326, // "option-data" - TOKEN_NAME = 327, // "name" - TOKEN_DATA = 328, // "data" - TOKEN_CODE = 329, // "code" - TOKEN_SPACE = 330, // "space" - TOKEN_CSV_FORMAT = 331, // "csv-format" - TOKEN_ALWAYS_SEND = 332, // "always-send" - TOKEN_RECORD_TYPES = 333, // "record-types" - TOKEN_ENCAPSULATE = 334, // "encapsulate" - TOKEN_ARRAY = 335, // "array" - TOKEN_SHARED_NETWORKS = 336, // "shared-networks" - TOKEN_POOLS = 337, // "pools" - TOKEN_POOL = 338, // "pool" - TOKEN_PD_POOLS = 339, // "pd-pools" - TOKEN_PREFIX = 340, // "prefix" - TOKEN_PREFIX_LEN = 341, // "prefix-len" - TOKEN_EXCLUDED_PREFIX = 342, // "excluded-prefix" - TOKEN_EXCLUDED_PREFIX_LEN = 343, // "excluded-prefix-len" - TOKEN_DELEGATED_LEN = 344, // "delegated-len" - TOKEN_USER_CONTEXT = 345, // "user-context" - TOKEN_COMMENT = 346, // "comment" - TOKEN_SUBNET = 347, // "subnet" - TOKEN_INTERFACE = 348, // "interface" - TOKEN_INTERFACE_ID = 349, // "interface-id" - TOKEN_ID = 350, // "id" - TOKEN_RAPID_COMMIT = 351, // "rapid-commit" - TOKEN_RESERVATION_MODE = 352, // "reservation-mode" - TOKEN_RESERVATIONS_OUT_OF_POOL = 353, // "reservations-out-of-pool" - TOKEN_RESERVATIONS_IN_SUBNET = 354, // "reservations-in-subnet" - TOKEN_RESERVATIONS_GLOBAL = 355, // "reservations-global" - TOKEN_DISABLED = 356, // "disabled" - TOKEN_OUT_OF_POOL = 357, // "out-of-pool" - TOKEN_GLOBAL = 358, // "global" - TOKEN_ALL = 359, // "all" - TOKEN_MAC_SOURCES = 360, // "mac-sources" - TOKEN_RELAY_SUPPLIED_OPTIONS = 361, // "relay-supplied-options" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 362, // "host-reservation-identifiers" - TOKEN_SANITY_CHECKS = 363, // "sanity-checks" - TOKEN_LEASE_CHECKS = 364, // "lease-checks" - TOKEN_CLIENT_CLASSES = 365, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 366, // "require-client-classes" - TOKEN_TEST = 367, // "test" - TOKEN_ONLY_IF_REQUIRED = 368, // "only-if-required" - TOKEN_CLIENT_CLASS = 369, // "client-class" - TOKEN_RESERVATIONS = 370, // "reservations" - TOKEN_IP_ADDRESSES = 371, // "ip-addresses" - TOKEN_PREFIXES = 372, // "prefixes" - TOKEN_DUID = 373, // "duid" - TOKEN_HW_ADDRESS = 374, // "hw-address" - TOKEN_HOSTNAME = 375, // "hostname" - TOKEN_FLEX_ID = 376, // "flex-id" - TOKEN_RELAY = 377, // "relay" - TOKEN_IP_ADDRESS = 378, // "ip-address" - TOKEN_HOOKS_LIBRARIES = 379, // "hooks-libraries" - TOKEN_LIBRARY = 380, // "library" - TOKEN_PARAMETERS = 381, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 382, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 383, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 384, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 385, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 386, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 387, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 388, // "unwarned-reclaim-cycles" - TOKEN_SERVER_ID = 389, // "server-id" - TOKEN_LLT = 390, // "LLT" - TOKEN_EN = 391, // "EN" - TOKEN_LL = 392, // "LL" - TOKEN_IDENTIFIER = 393, // "identifier" - TOKEN_HTYPE = 394, // "htype" - TOKEN_TIME = 395, // "time" - TOKEN_ENTERPRISE_ID = 396, // "enterprise-id" - TOKEN_DHCP4O6_PORT = 397, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 398, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 399, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 400, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 401, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 402, // "control-socket" - TOKEN_SOCKET_TYPE = 403, // "socket-type" - TOKEN_SOCKET_NAME = 404, // "socket-name" - TOKEN_DHCP_QUEUE_CONTROL = 405, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 406, // "enable-queue" - TOKEN_QUEUE_TYPE = 407, // "queue-type" - TOKEN_CAPACITY = 408, // "capacity" - TOKEN_DHCP_DDNS = 409, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 410, // "enable-updates" - TOKEN_QUALIFYING_SUFFIX = 411, // "qualifying-suffix" - TOKEN_SERVER_IP = 412, // "server-ip" - TOKEN_SERVER_PORT = 413, // "server-port" - TOKEN_SENDER_IP = 414, // "sender-ip" - TOKEN_SENDER_PORT = 415, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 416, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 417, // "ncr-protocol" - TOKEN_NCR_FORMAT = 418, // "ncr-format" - TOKEN_OVERRIDE_NO_UPDATE = 419, // "override-no-update" - TOKEN_OVERRIDE_CLIENT_UPDATE = 420, // "override-client-update" - TOKEN_REPLACE_CLIENT_NAME = 421, // "replace-client-name" - TOKEN_GENERATED_PREFIX = 422, // "generated-prefix" - TOKEN_UDP = 423, // "UDP" - TOKEN_TCP = 424, // "TCP" - TOKEN_JSON = 425, // "JSON" - TOKEN_WHEN_PRESENT = 426, // "when-present" - TOKEN_NEVER = 427, // "never" - TOKEN_ALWAYS = 428, // "always" - TOKEN_WHEN_NOT_PRESENT = 429, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 430, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 431, // "hostname-char-replacement" - TOKEN_IP_RESERVATIONS_UNIQUE = 432, // "ip-reservations-unique" - TOKEN_LOGGERS = 433, // "loggers" - TOKEN_OUTPUT_OPTIONS = 434, // "output_options" - TOKEN_OUTPUT = 435, // "output" - TOKEN_DEBUGLEVEL = 436, // "debuglevel" - TOKEN_SEVERITY = 437, // "severity" - TOKEN_FLUSH = 438, // "flush" - TOKEN_MAXSIZE = 439, // "maxsize" - TOKEN_MAXVER = 440, // "maxver" - TOKEN_PATTERN = 441, // "pattern" - TOKEN_TOPLEVEL_JSON = 442, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP6 = 443, // TOPLEVEL_DHCP6 - TOKEN_SUB_DHCP6 = 444, // SUB_DHCP6 - TOKEN_SUB_INTERFACES6 = 445, // SUB_INTERFACES6 - TOKEN_SUB_SUBNET6 = 446, // SUB_SUBNET6 - TOKEN_SUB_POOL6 = 447, // SUB_POOL6 - TOKEN_SUB_PD_POOL = 448, // SUB_PD_POOL - TOKEN_SUB_RESERVATION = 449, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 450, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 451, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 452, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 453, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 454, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 455, // SUB_CONFIG_CONTROL - TOKEN_STRING = 456, // "constant string" - TOKEN_INTEGER = 457, // "integer" - TOKEN_FLOAT = 458, // "floating point" - TOKEN_BOOLEAN = 459 // "boolean" + TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 323, // "ddns-use-conflict-resolution" + TOKEN_STORE_EXTENDED_INFO = 324, // "store-extended-info" + TOKEN_SUBNET6 = 325, // "subnet6" + TOKEN_OPTION_DEF = 326, // "option-def" + TOKEN_OPTION_DATA = 327, // "option-data" + TOKEN_NAME = 328, // "name" + TOKEN_DATA = 329, // "data" + TOKEN_CODE = 330, // "code" + TOKEN_SPACE = 331, // "space" + TOKEN_CSV_FORMAT = 332, // "csv-format" + TOKEN_ALWAYS_SEND = 333, // "always-send" + TOKEN_RECORD_TYPES = 334, // "record-types" + TOKEN_ENCAPSULATE = 335, // "encapsulate" + TOKEN_ARRAY = 336, // "array" + TOKEN_SHARED_NETWORKS = 337, // "shared-networks" + TOKEN_POOLS = 338, // "pools" + TOKEN_POOL = 339, // "pool" + TOKEN_PD_POOLS = 340, // "pd-pools" + TOKEN_PREFIX = 341, // "prefix" + TOKEN_PREFIX_LEN = 342, // "prefix-len" + TOKEN_EXCLUDED_PREFIX = 343, // "excluded-prefix" + TOKEN_EXCLUDED_PREFIX_LEN = 344, // "excluded-prefix-len" + TOKEN_DELEGATED_LEN = 345, // "delegated-len" + TOKEN_USER_CONTEXT = 346, // "user-context" + TOKEN_COMMENT = 347, // "comment" + TOKEN_SUBNET = 348, // "subnet" + TOKEN_INTERFACE = 349, // "interface" + TOKEN_INTERFACE_ID = 350, // "interface-id" + TOKEN_ID = 351, // "id" + TOKEN_RAPID_COMMIT = 352, // "rapid-commit" + TOKEN_RESERVATION_MODE = 353, // "reservation-mode" + TOKEN_RESERVATIONS_OUT_OF_POOL = 354, // "reservations-out-of-pool" + TOKEN_RESERVATIONS_IN_SUBNET = 355, // "reservations-in-subnet" + TOKEN_RESERVATIONS_GLOBAL = 356, // "reservations-global" + TOKEN_DISABLED = 357, // "disabled" + TOKEN_OUT_OF_POOL = 358, // "out-of-pool" + TOKEN_GLOBAL = 359, // "global" + TOKEN_ALL = 360, // "all" + TOKEN_MAC_SOURCES = 361, // "mac-sources" + TOKEN_RELAY_SUPPLIED_OPTIONS = 362, // "relay-supplied-options" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 363, // "host-reservation-identifiers" + TOKEN_SANITY_CHECKS = 364, // "sanity-checks" + TOKEN_LEASE_CHECKS = 365, // "lease-checks" + TOKEN_CLIENT_CLASSES = 366, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 367, // "require-client-classes" + TOKEN_TEST = 368, // "test" + TOKEN_ONLY_IF_REQUIRED = 369, // "only-if-required" + TOKEN_CLIENT_CLASS = 370, // "client-class" + TOKEN_RESERVATIONS = 371, // "reservations" + TOKEN_IP_ADDRESSES = 372, // "ip-addresses" + TOKEN_PREFIXES = 373, // "prefixes" + TOKEN_DUID = 374, // "duid" + TOKEN_HW_ADDRESS = 375, // "hw-address" + TOKEN_HOSTNAME = 376, // "hostname" + TOKEN_FLEX_ID = 377, // "flex-id" + TOKEN_RELAY = 378, // "relay" + TOKEN_IP_ADDRESS = 379, // "ip-address" + TOKEN_HOOKS_LIBRARIES = 380, // "hooks-libraries" + TOKEN_LIBRARY = 381, // "library" + TOKEN_PARAMETERS = 382, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 383, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 384, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 385, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 386, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 387, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 388, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 389, // "unwarned-reclaim-cycles" + TOKEN_SERVER_ID = 390, // "server-id" + TOKEN_LLT = 391, // "LLT" + TOKEN_EN = 392, // "EN" + TOKEN_LL = 393, // "LL" + TOKEN_IDENTIFIER = 394, // "identifier" + TOKEN_HTYPE = 395, // "htype" + TOKEN_TIME = 396, // "time" + TOKEN_ENTERPRISE_ID = 397, // "enterprise-id" + TOKEN_DHCP4O6_PORT = 398, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 399, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 400, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 401, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 402, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 403, // "control-socket" + TOKEN_SOCKET_TYPE = 404, // "socket-type" + TOKEN_SOCKET_NAME = 405, // "socket-name" + TOKEN_DHCP_QUEUE_CONTROL = 406, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 407, // "enable-queue" + TOKEN_QUEUE_TYPE = 408, // "queue-type" + TOKEN_CAPACITY = 409, // "capacity" + TOKEN_DHCP_DDNS = 410, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 411, // "enable-updates" + TOKEN_QUALIFYING_SUFFIX = 412, // "qualifying-suffix" + TOKEN_SERVER_IP = 413, // "server-ip" + TOKEN_SERVER_PORT = 414, // "server-port" + TOKEN_SENDER_IP = 415, // "sender-ip" + TOKEN_SENDER_PORT = 416, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 417, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 418, // "ncr-protocol" + TOKEN_NCR_FORMAT = 419, // "ncr-format" + TOKEN_OVERRIDE_NO_UPDATE = 420, // "override-no-update" + TOKEN_OVERRIDE_CLIENT_UPDATE = 421, // "override-client-update" + TOKEN_REPLACE_CLIENT_NAME = 422, // "replace-client-name" + TOKEN_GENERATED_PREFIX = 423, // "generated-prefix" + TOKEN_UDP = 424, // "UDP" + TOKEN_TCP = 425, // "TCP" + TOKEN_JSON = 426, // "JSON" + TOKEN_WHEN_PRESENT = 427, // "when-present" + TOKEN_NEVER = 428, // "never" + TOKEN_ALWAYS = 429, // "always" + TOKEN_WHEN_NOT_PRESENT = 430, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 431, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 432, // "hostname-char-replacement" + TOKEN_IP_RESERVATIONS_UNIQUE = 433, // "ip-reservations-unique" + TOKEN_LOGGERS = 434, // "loggers" + TOKEN_OUTPUT_OPTIONS = 435, // "output_options" + TOKEN_OUTPUT = 436, // "output" + TOKEN_DEBUGLEVEL = 437, // "debuglevel" + TOKEN_SEVERITY = 438, // "severity" + TOKEN_FLUSH = 439, // "flush" + TOKEN_MAXSIZE = 440, // "maxsize" + TOKEN_MAXVER = 441, // "maxver" + TOKEN_PATTERN = 442, // "pattern" + TOKEN_TOPLEVEL_JSON = 443, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP6 = 444, // TOPLEVEL_DHCP6 + TOKEN_SUB_DHCP6 = 445, // SUB_DHCP6 + TOKEN_SUB_INTERFACES6 = 446, // SUB_INTERFACES6 + TOKEN_SUB_SUBNET6 = 447, // SUB_SUBNET6 + TOKEN_SUB_POOL6 = 448, // SUB_POOL6 + TOKEN_SUB_PD_POOL = 449, // SUB_PD_POOL + TOKEN_SUB_RESERVATION = 450, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 451, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 452, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 453, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 454, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 455, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 456, // SUB_CONFIG_CONTROL + TOKEN_STRING = 457, // "constant string" + TOKEN_INTEGER = 458, // "integer" + TOKEN_FLOAT = 459, // "floating point" + TOKEN_BOOLEAN = 460 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -703,7 +704,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 205, ///< Number of tokens. + YYNTOKENS = 206, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -773,572 +774,574 @@ namespace isc { namespace dhcp { S_DDNS_GENERATED_PREFIX = 65, // "ddns-generated-prefix" S_DDNS_QUALIFYING_SUFFIX = 66, // "ddns-qualifying-suffix" S_DDNS_UPDATE_ON_RENEW = 67, // "ddns-update-on-renew" - S_STORE_EXTENDED_INFO = 68, // "store-extended-info" - S_SUBNET6 = 69, // "subnet6" - S_OPTION_DEF = 70, // "option-def" - S_OPTION_DATA = 71, // "option-data" - S_NAME = 72, // "name" - S_DATA = 73, // "data" - S_CODE = 74, // "code" - S_SPACE = 75, // "space" - S_CSV_FORMAT = 76, // "csv-format" - S_ALWAYS_SEND = 77, // "always-send" - S_RECORD_TYPES = 78, // "record-types" - S_ENCAPSULATE = 79, // "encapsulate" - S_ARRAY = 80, // "array" - S_SHARED_NETWORKS = 81, // "shared-networks" - S_POOLS = 82, // "pools" - S_POOL = 83, // "pool" - S_PD_POOLS = 84, // "pd-pools" - S_PREFIX = 85, // "prefix" - S_PREFIX_LEN = 86, // "prefix-len" - S_EXCLUDED_PREFIX = 87, // "excluded-prefix" - S_EXCLUDED_PREFIX_LEN = 88, // "excluded-prefix-len" - S_DELEGATED_LEN = 89, // "delegated-len" - S_USER_CONTEXT = 90, // "user-context" - S_COMMENT = 91, // "comment" - S_SUBNET = 92, // "subnet" - S_INTERFACE = 93, // "interface" - S_INTERFACE_ID = 94, // "interface-id" - S_ID = 95, // "id" - S_RAPID_COMMIT = 96, // "rapid-commit" - S_RESERVATION_MODE = 97, // "reservation-mode" - S_RESERVATIONS_OUT_OF_POOL = 98, // "reservations-out-of-pool" - S_RESERVATIONS_IN_SUBNET = 99, // "reservations-in-subnet" - S_RESERVATIONS_GLOBAL = 100, // "reservations-global" - S_DISABLED = 101, // "disabled" - S_OUT_OF_POOL = 102, // "out-of-pool" - S_GLOBAL = 103, // "global" - S_ALL = 104, // "all" - S_MAC_SOURCES = 105, // "mac-sources" - S_RELAY_SUPPLIED_OPTIONS = 106, // "relay-supplied-options" - S_HOST_RESERVATION_IDENTIFIERS = 107, // "host-reservation-identifiers" - S_SANITY_CHECKS = 108, // "sanity-checks" - S_LEASE_CHECKS = 109, // "lease-checks" - S_CLIENT_CLASSES = 110, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 111, // "require-client-classes" - S_TEST = 112, // "test" - S_ONLY_IF_REQUIRED = 113, // "only-if-required" - S_CLIENT_CLASS = 114, // "client-class" - S_RESERVATIONS = 115, // "reservations" - S_IP_ADDRESSES = 116, // "ip-addresses" - S_PREFIXES = 117, // "prefixes" - S_DUID = 118, // "duid" - S_HW_ADDRESS = 119, // "hw-address" - S_HOSTNAME = 120, // "hostname" - S_FLEX_ID = 121, // "flex-id" - S_RELAY = 122, // "relay" - S_IP_ADDRESS = 123, // "ip-address" - S_HOOKS_LIBRARIES = 124, // "hooks-libraries" - S_LIBRARY = 125, // "library" - S_PARAMETERS = 126, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 127, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 128, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 129, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 130, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 131, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 132, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 133, // "unwarned-reclaim-cycles" - S_SERVER_ID = 134, // "server-id" - S_LLT = 135, // "LLT" - S_EN = 136, // "EN" - S_LL = 137, // "LL" - S_IDENTIFIER = 138, // "identifier" - S_HTYPE = 139, // "htype" - S_TIME = 140, // "time" - S_ENTERPRISE_ID = 141, // "enterprise-id" - S_DHCP4O6_PORT = 142, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 143, // "multi-threading" - S_ENABLE_MULTI_THREADING = 144, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 145, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 146, // "packet-queue-size" - S_CONTROL_SOCKET = 147, // "control-socket" - S_SOCKET_TYPE = 148, // "socket-type" - S_SOCKET_NAME = 149, // "socket-name" - S_DHCP_QUEUE_CONTROL = 150, // "dhcp-queue-control" - S_ENABLE_QUEUE = 151, // "enable-queue" - S_QUEUE_TYPE = 152, // "queue-type" - S_CAPACITY = 153, // "capacity" - S_DHCP_DDNS = 154, // "dhcp-ddns" - S_ENABLE_UPDATES = 155, // "enable-updates" - S_QUALIFYING_SUFFIX = 156, // "qualifying-suffix" - S_SERVER_IP = 157, // "server-ip" - S_SERVER_PORT = 158, // "server-port" - S_SENDER_IP = 159, // "sender-ip" - S_SENDER_PORT = 160, // "sender-port" - S_MAX_QUEUE_SIZE = 161, // "max-queue-size" - S_NCR_PROTOCOL = 162, // "ncr-protocol" - S_NCR_FORMAT = 163, // "ncr-format" - S_OVERRIDE_NO_UPDATE = 164, // "override-no-update" - S_OVERRIDE_CLIENT_UPDATE = 165, // "override-client-update" - S_REPLACE_CLIENT_NAME = 166, // "replace-client-name" - S_GENERATED_PREFIX = 167, // "generated-prefix" - S_UDP = 168, // "UDP" - S_TCP = 169, // "TCP" - S_JSON = 170, // "JSON" - S_WHEN_PRESENT = 171, // "when-present" - S_NEVER = 172, // "never" - S_ALWAYS = 173, // "always" - S_WHEN_NOT_PRESENT = 174, // "when-not-present" - S_HOSTNAME_CHAR_SET = 175, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 176, // "hostname-char-replacement" - S_IP_RESERVATIONS_UNIQUE = 177, // "ip-reservations-unique" - S_LOGGERS = 178, // "loggers" - S_OUTPUT_OPTIONS = 179, // "output_options" - S_OUTPUT = 180, // "output" - S_DEBUGLEVEL = 181, // "debuglevel" - S_SEVERITY = 182, // "severity" - S_FLUSH = 183, // "flush" - S_MAXSIZE = 184, // "maxsize" - S_MAXVER = 185, // "maxver" - S_PATTERN = 186, // "pattern" - S_TOPLEVEL_JSON = 187, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP6 = 188, // TOPLEVEL_DHCP6 - S_SUB_DHCP6 = 189, // SUB_DHCP6 - S_SUB_INTERFACES6 = 190, // SUB_INTERFACES6 - S_SUB_SUBNET6 = 191, // SUB_SUBNET6 - S_SUB_POOL6 = 192, // SUB_POOL6 - S_SUB_PD_POOL = 193, // SUB_PD_POOL - S_SUB_RESERVATION = 194, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 195, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 196, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 197, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 198, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 199, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 200, // SUB_CONFIG_CONTROL - S_STRING = 201, // "constant string" - S_INTEGER = 202, // "integer" - S_FLOAT = 203, // "floating point" - S_BOOLEAN = 204, // "boolean" - S_YYACCEPT = 205, // $accept - S_start = 206, // start - S_207_1 = 207, // $@1 - S_208_2 = 208, // $@2 - S_209_3 = 209, // $@3 - S_210_4 = 210, // $@4 - S_211_5 = 211, // $@5 - S_212_6 = 212, // $@6 - S_213_7 = 213, // $@7 - S_214_8 = 214, // $@8 - S_215_9 = 215, // $@9 - S_216_10 = 216, // $@10 - S_217_11 = 217, // $@11 - S_218_12 = 218, // $@12 - S_219_13 = 219, // $@13 - S_220_14 = 220, // $@14 - S_value = 221, // value - S_sub_json = 222, // sub_json - S_map2 = 223, // map2 - S_224_15 = 224, // $@15 - S_map_value = 225, // map_value - S_map_content = 226, // map_content - S_not_empty_map = 227, // not_empty_map - S_list_generic = 228, // list_generic - S_229_16 = 229, // $@16 - S_list_content = 230, // list_content - S_not_empty_list = 231, // not_empty_list - S_list_strings = 232, // list_strings - S_233_17 = 233, // $@17 - S_list_strings_content = 234, // list_strings_content - S_not_empty_list_strings = 235, // not_empty_list_strings - S_unknown_map_entry = 236, // unknown_map_entry - S_syntax_map = 237, // syntax_map - S_238_18 = 238, // $@18 - S_global_object = 239, // global_object - S_240_19 = 240, // $@19 - S_sub_dhcp6 = 241, // sub_dhcp6 - S_242_20 = 242, // $@20 - S_global_params = 243, // global_params - S_global_param = 244, // global_param - S_data_directory = 245, // data_directory - S_246_21 = 246, // $@21 - S_preferred_lifetime = 247, // preferred_lifetime - S_min_preferred_lifetime = 248, // min_preferred_lifetime - S_max_preferred_lifetime = 249, // max_preferred_lifetime - S_valid_lifetime = 250, // valid_lifetime - S_min_valid_lifetime = 251, // min_valid_lifetime - S_max_valid_lifetime = 252, // max_valid_lifetime - S_renew_timer = 253, // renew_timer - S_rebind_timer = 254, // rebind_timer - S_calculate_tee_times = 255, // calculate_tee_times - S_t1_percent = 256, // t1_percent - S_t2_percent = 257, // t2_percent - S_cache_threshold = 258, // cache_threshold - S_cache_max_age = 259, // cache_max_age - S_decline_probation_period = 260, // decline_probation_period - S_ddns_send_updates = 261, // ddns_send_updates - S_ddns_override_no_update = 262, // ddns_override_no_update - S_ddns_override_client_update = 263, // ddns_override_client_update - S_ddns_replace_client_name = 264, // ddns_replace_client_name - S_265_22 = 265, // $@22 - S_ddns_replace_client_name_value = 266, // ddns_replace_client_name_value - S_ddns_generated_prefix = 267, // ddns_generated_prefix - S_268_23 = 268, // $@23 - S_ddns_qualifying_suffix = 269, // ddns_qualifying_suffix - S_270_24 = 270, // $@24 - S_ddns_update_on_renew = 271, // ddns_update_on_renew - S_hostname_char_set = 272, // hostname_char_set - S_273_25 = 273, // $@25 - S_hostname_char_replacement = 274, // hostname_char_replacement - S_275_26 = 275, // $@26 - S_store_extended_info = 276, // store_extended_info - S_statistic_default_sample_count = 277, // statistic_default_sample_count - S_statistic_default_sample_age = 278, // statistic_default_sample_age - S_server_tag = 279, // server_tag - S_280_27 = 280, // $@27 - S_ip_reservations_unique = 281, // ip_reservations_unique - S_interfaces_config = 282, // interfaces_config - S_283_28 = 283, // $@28 - S_sub_interfaces6 = 284, // sub_interfaces6 - S_285_29 = 285, // $@29 - S_interfaces_config_params = 286, // interfaces_config_params - S_interfaces_config_param = 287, // interfaces_config_param - S_interfaces_list = 288, // interfaces_list - S_289_30 = 289, // $@30 - S_re_detect = 290, // re_detect - S_lease_database = 291, // lease_database - S_292_31 = 292, // $@31 - S_hosts_database = 293, // hosts_database - S_294_32 = 294, // $@32 - S_hosts_databases = 295, // hosts_databases - S_296_33 = 296, // $@33 - S_database_list = 297, // database_list - S_not_empty_database_list = 298, // not_empty_database_list - S_database = 299, // database - S_300_34 = 300, // $@34 - S_database_map_params = 301, // database_map_params - S_database_map_param = 302, // database_map_param - S_database_type = 303, // database_type - S_304_35 = 304, // $@35 - S_db_type = 305, // db_type - S_user = 306, // user - S_307_36 = 307, // $@36 - S_password = 308, // password - S_309_37 = 309, // $@37 - S_host = 310, // host - S_311_38 = 311, // $@38 - S_port = 312, // port - S_name = 313, // name - S_314_39 = 314, // $@39 - S_persist = 315, // persist - S_lfc_interval = 316, // lfc_interval - S_readonly = 317, // readonly - S_connect_timeout = 318, // connect_timeout - S_reconnect_wait_time = 319, // reconnect_wait_time - S_max_row_errors = 320, // max_row_errors - S_request_timeout = 321, // request_timeout - S_tcp_keepalive = 322, // tcp_keepalive - S_tcp_nodelay = 323, // tcp_nodelay - S_contact_points = 324, // contact_points - S_325_40 = 325, // $@40 - S_max_reconnect_tries = 326, // max_reconnect_tries - S_keyspace = 327, // keyspace - S_328_41 = 328, // $@41 - S_consistency = 329, // consistency - S_330_42 = 330, // $@42 - S_serial_consistency = 331, // serial_consistency - S_332_43 = 332, // $@43 - S_sanity_checks = 333, // sanity_checks - S_334_44 = 334, // $@44 - S_sanity_checks_params = 335, // sanity_checks_params - S_sanity_checks_param = 336, // sanity_checks_param - S_lease_checks = 337, // lease_checks - S_338_45 = 338, // $@45 - S_mac_sources = 339, // mac_sources - S_340_46 = 340, // $@46 - S_mac_sources_list = 341, // mac_sources_list - S_mac_sources_value = 342, // mac_sources_value - S_duid_id = 343, // duid_id - S_string_id = 344, // string_id - S_host_reservation_identifiers = 345, // host_reservation_identifiers - S_346_47 = 346, // $@47 - S_host_reservation_identifiers_list = 347, // host_reservation_identifiers_list - S_host_reservation_identifier = 348, // host_reservation_identifier - S_hw_address_id = 349, // hw_address_id - S_flex_id = 350, // flex_id - S_relay_supplied_options = 351, // relay_supplied_options - S_352_48 = 352, // $@48 - S_dhcp_multi_threading = 353, // dhcp_multi_threading - S_354_49 = 354, // $@49 - S_multi_threading_params = 355, // multi_threading_params - S_multi_threading_param = 356, // multi_threading_param - S_enable_multi_threading = 357, // enable_multi_threading - S_thread_pool_size = 358, // thread_pool_size - S_packet_queue_size = 359, // packet_queue_size - S_hooks_libraries = 360, // hooks_libraries - S_361_50 = 361, // $@50 - S_hooks_libraries_list = 362, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 363, // not_empty_hooks_libraries_list - S_hooks_library = 364, // hooks_library - S_365_51 = 365, // $@51 - S_sub_hooks_library = 366, // sub_hooks_library - S_367_52 = 367, // $@52 - S_hooks_params = 368, // hooks_params - S_hooks_param = 369, // hooks_param - S_library = 370, // library - S_371_53 = 371, // $@53 - S_parameters = 372, // parameters - S_373_54 = 373, // $@54 - S_expired_leases_processing = 374, // expired_leases_processing - S_375_55 = 375, // $@55 - S_expired_leases_params = 376, // expired_leases_params - S_expired_leases_param = 377, // expired_leases_param - S_reclaim_timer_wait_time = 378, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 379, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 380, // hold_reclaimed_time - S_max_reclaim_leases = 381, // max_reclaim_leases - S_max_reclaim_time = 382, // max_reclaim_time - S_unwarned_reclaim_cycles = 383, // unwarned_reclaim_cycles - S_subnet6_list = 384, // subnet6_list - S_385_56 = 385, // $@56 - S_subnet6_list_content = 386, // subnet6_list_content - S_not_empty_subnet6_list = 387, // not_empty_subnet6_list - S_subnet6 = 388, // subnet6 - S_389_57 = 389, // $@57 - S_sub_subnet6 = 390, // sub_subnet6 - S_391_58 = 391, // $@58 - S_subnet6_params = 392, // subnet6_params - S_subnet6_param = 393, // subnet6_param - S_subnet = 394, // subnet - S_395_59 = 395, // $@59 - S_interface = 396, // interface - S_397_60 = 397, // $@60 - S_interface_id = 398, // interface_id - S_399_61 = 399, // $@61 - S_client_class = 400, // client_class - S_401_62 = 401, // $@62 - S_require_client_classes = 402, // require_client_classes - S_403_63 = 403, // $@63 - S_reservations_out_of_pool = 404, // reservations_out_of_pool - S_reservations_in_subnet = 405, // reservations_in_subnet - S_reservations_global = 406, // reservations_global - S_reservation_mode = 407, // reservation_mode - S_408_64 = 408, // $@64 - S_hr_mode = 409, // hr_mode - S_id = 410, // id - S_rapid_commit = 411, // rapid_commit - S_shared_networks = 412, // shared_networks - S_413_65 = 413, // $@65 - S_shared_networks_content = 414, // shared_networks_content - S_shared_networks_list = 415, // shared_networks_list - S_shared_network = 416, // shared_network - S_417_66 = 417, // $@66 - S_shared_network_params = 418, // shared_network_params - S_shared_network_param = 419, // shared_network_param - S_option_def_list = 420, // option_def_list - S_421_67 = 421, // $@67 - S_sub_option_def_list = 422, // sub_option_def_list - S_423_68 = 423, // $@68 - S_option_def_list_content = 424, // option_def_list_content - S_not_empty_option_def_list = 425, // not_empty_option_def_list - S_option_def_entry = 426, // option_def_entry - S_427_69 = 427, // $@69 - S_sub_option_def = 428, // sub_option_def - S_429_70 = 429, // $@70 - S_option_def_params = 430, // option_def_params - S_not_empty_option_def_params = 431, // not_empty_option_def_params - S_option_def_param = 432, // option_def_param - S_option_def_name = 433, // option_def_name - S_code = 434, // code - S_option_def_code = 435, // option_def_code - S_option_def_type = 436, // option_def_type - S_437_71 = 437, // $@71 - S_option_def_record_types = 438, // option_def_record_types - S_439_72 = 439, // $@72 - S_space = 440, // space - S_441_73 = 441, // $@73 - S_option_def_space = 442, // option_def_space - S_option_def_encapsulate = 443, // option_def_encapsulate - S_444_74 = 444, // $@74 - S_option_def_array = 445, // option_def_array - S_option_data_list = 446, // option_data_list - S_447_75 = 447, // $@75 - S_option_data_list_content = 448, // option_data_list_content - S_not_empty_option_data_list = 449, // not_empty_option_data_list - S_option_data_entry = 450, // option_data_entry - S_451_76 = 451, // $@76 - S_sub_option_data = 452, // sub_option_data - S_453_77 = 453, // $@77 - S_option_data_params = 454, // option_data_params - S_not_empty_option_data_params = 455, // not_empty_option_data_params - S_option_data_param = 456, // option_data_param - S_option_data_name = 457, // option_data_name - S_option_data_data = 458, // option_data_data - S_459_78 = 459, // $@78 - S_option_data_code = 460, // option_data_code - S_option_data_space = 461, // option_data_space - S_option_data_csv_format = 462, // option_data_csv_format - S_option_data_always_send = 463, // option_data_always_send - S_pools_list = 464, // pools_list - S_465_79 = 465, // $@79 - S_pools_list_content = 466, // pools_list_content - S_not_empty_pools_list = 467, // not_empty_pools_list - S_pool_list_entry = 468, // pool_list_entry - S_469_80 = 469, // $@80 - S_sub_pool6 = 470, // sub_pool6 - S_471_81 = 471, // $@81 - S_pool_params = 472, // pool_params - S_pool_param = 473, // pool_param - S_pool_entry = 474, // pool_entry - S_475_82 = 475, // $@82 - S_user_context = 476, // user_context - S_477_83 = 477, // $@83 - S_comment = 478, // comment - S_479_84 = 479, // $@84 - S_pd_pools_list = 480, // pd_pools_list - S_481_85 = 481, // $@85 - S_pd_pools_list_content = 482, // pd_pools_list_content - S_not_empty_pd_pools_list = 483, // not_empty_pd_pools_list - S_pd_pool_entry = 484, // pd_pool_entry - S_485_86 = 485, // $@86 - S_sub_pd_pool = 486, // sub_pd_pool - S_487_87 = 487, // $@87 - S_pd_pool_params = 488, // pd_pool_params - S_pd_pool_param = 489, // pd_pool_param - S_pd_prefix = 490, // pd_prefix - S_491_88 = 491, // $@88 - S_pd_prefix_len = 492, // pd_prefix_len - S_excluded_prefix = 493, // excluded_prefix - S_494_89 = 494, // $@89 - S_excluded_prefix_len = 495, // excluded_prefix_len - S_pd_delegated_len = 496, // pd_delegated_len - S_reservations = 497, // reservations - S_498_90 = 498, // $@90 - S_reservations_list = 499, // reservations_list - S_not_empty_reservations_list = 500, // not_empty_reservations_list - S_reservation = 501, // reservation - S_502_91 = 502, // $@91 - S_sub_reservation = 503, // sub_reservation - S_504_92 = 504, // $@92 - S_reservation_params = 505, // reservation_params - S_not_empty_reservation_params = 506, // not_empty_reservation_params - S_reservation_param = 507, // reservation_param - S_ip_addresses = 508, // ip_addresses - S_509_93 = 509, // $@93 - S_prefixes = 510, // prefixes - S_511_94 = 511, // $@94 - S_duid = 512, // duid - S_513_95 = 513, // $@95 - S_hw_address = 514, // hw_address - S_515_96 = 515, // $@96 - S_hostname = 516, // hostname - S_517_97 = 517, // $@97 - S_flex_id_value = 518, // flex_id_value - S_519_98 = 519, // $@98 - S_reservation_client_classes = 520, // reservation_client_classes - S_521_99 = 521, // $@99 - S_relay = 522, // relay - S_523_100 = 523, // $@100 - S_relay_map = 524, // relay_map - S_ip_address = 525, // ip_address - S_526_101 = 526, // $@101 - S_client_classes = 527, // client_classes - S_528_102 = 528, // $@102 - S_client_classes_list = 529, // client_classes_list - S_client_class_entry = 530, // client_class_entry - S_531_103 = 531, // $@103 - S_client_class_params = 532, // client_class_params - S_not_empty_client_class_params = 533, // not_empty_client_class_params - S_client_class_param = 534, // client_class_param - S_client_class_name = 535, // client_class_name - S_client_class_test = 536, // client_class_test - S_537_104 = 537, // $@104 - S_only_if_required = 538, // only_if_required - S_server_id = 539, // server_id - S_540_105 = 540, // $@105 - S_server_id_params = 541, // server_id_params - S_server_id_param = 542, // server_id_param - S_server_id_type = 543, // server_id_type - S_544_106 = 544, // $@106 - S_duid_type = 545, // duid_type - S_htype = 546, // htype - S_identifier = 547, // identifier - S_548_107 = 548, // $@107 - S_time = 549, // time - S_enterprise_id = 550, // enterprise_id - S_dhcp4o6_port = 551, // dhcp4o6_port - S_control_socket = 552, // control_socket - S_553_108 = 553, // $@108 - S_control_socket_params = 554, // control_socket_params - S_control_socket_param = 555, // control_socket_param - S_socket_type = 556, // socket_type - S_557_109 = 557, // $@109 - S_socket_name = 558, // socket_name - S_559_110 = 559, // $@110 - S_dhcp_queue_control = 560, // dhcp_queue_control - S_561_111 = 561, // $@111 - S_queue_control_params = 562, // queue_control_params - S_queue_control_param = 563, // queue_control_param - S_enable_queue = 564, // enable_queue - S_queue_type = 565, // queue_type - S_566_112 = 566, // $@112 - S_capacity = 567, // capacity - S_arbitrary_map_entry = 568, // arbitrary_map_entry - S_569_113 = 569, // $@113 - S_dhcp_ddns = 570, // dhcp_ddns - S_571_114 = 571, // $@114 - S_sub_dhcp_ddns = 572, // sub_dhcp_ddns - S_573_115 = 573, // $@115 - S_dhcp_ddns_params = 574, // dhcp_ddns_params - S_dhcp_ddns_param = 575, // dhcp_ddns_param - S_enable_updates = 576, // enable_updates - S_dep_qualifying_suffix = 577, // dep_qualifying_suffix - S_578_116 = 578, // $@116 - S_server_ip = 579, // server_ip - S_580_117 = 580, // $@117 - S_server_port = 581, // server_port - S_sender_ip = 582, // sender_ip - S_583_118 = 583, // $@118 - S_sender_port = 584, // sender_port - S_max_queue_size = 585, // max_queue_size - S_ncr_protocol = 586, // ncr_protocol - S_587_119 = 587, // $@119 - S_ncr_protocol_value = 588, // ncr_protocol_value - S_ncr_format = 589, // ncr_format - S_590_120 = 590, // $@120 - S_dep_override_no_update = 591, // dep_override_no_update - S_dep_override_client_update = 592, // dep_override_client_update - S_dep_replace_client_name = 593, // dep_replace_client_name - S_594_121 = 594, // $@121 - S_dep_generated_prefix = 595, // dep_generated_prefix - S_596_122 = 596, // $@122 - S_dep_hostname_char_set = 597, // dep_hostname_char_set - S_598_123 = 598, // $@123 - S_dep_hostname_char_replacement = 599, // dep_hostname_char_replacement - S_600_124 = 600, // $@124 - S_config_control = 601, // config_control - S_602_125 = 602, // $@125 - S_sub_config_control = 603, // sub_config_control - S_604_126 = 604, // $@126 - S_config_control_params = 605, // config_control_params - S_config_control_param = 606, // config_control_param - S_config_databases = 607, // config_databases - S_608_127 = 608, // $@127 - S_config_fetch_wait_time = 609, // config_fetch_wait_time - S_loggers = 610, // loggers - S_611_128 = 611, // $@128 - S_loggers_entries = 612, // loggers_entries - S_logger_entry = 613, // logger_entry - S_614_129 = 614, // $@129 - S_logger_params = 615, // logger_params - S_logger_param = 616, // logger_param - S_debuglevel = 617, // debuglevel - S_severity = 618, // severity - S_619_130 = 619, // $@130 - S_output_options_list = 620, // output_options_list - S_621_131 = 621, // $@131 - S_output_options_list_content = 622, // output_options_list_content - S_output_entry = 623, // output_entry - S_624_132 = 624, // $@132 - S_output_params_list = 625, // output_params_list - S_output_params = 626, // output_params - S_output = 627, // output - S_628_133 = 628, // $@133 - S_flush = 629, // flush - S_maxsize = 630, // maxsize - S_maxver = 631, // maxver - S_pattern = 632, // pattern - S_633_134 = 633 // $@134 + S_DDNS_USE_CONFLICT_RESOLUTION = 68, // "ddns-use-conflict-resolution" + S_STORE_EXTENDED_INFO = 69, // "store-extended-info" + S_SUBNET6 = 70, // "subnet6" + S_OPTION_DEF = 71, // "option-def" + S_OPTION_DATA = 72, // "option-data" + S_NAME = 73, // "name" + S_DATA = 74, // "data" + S_CODE = 75, // "code" + S_SPACE = 76, // "space" + S_CSV_FORMAT = 77, // "csv-format" + S_ALWAYS_SEND = 78, // "always-send" + S_RECORD_TYPES = 79, // "record-types" + S_ENCAPSULATE = 80, // "encapsulate" + S_ARRAY = 81, // "array" + S_SHARED_NETWORKS = 82, // "shared-networks" + S_POOLS = 83, // "pools" + S_POOL = 84, // "pool" + S_PD_POOLS = 85, // "pd-pools" + S_PREFIX = 86, // "prefix" + S_PREFIX_LEN = 87, // "prefix-len" + S_EXCLUDED_PREFIX = 88, // "excluded-prefix" + S_EXCLUDED_PREFIX_LEN = 89, // "excluded-prefix-len" + S_DELEGATED_LEN = 90, // "delegated-len" + S_USER_CONTEXT = 91, // "user-context" + S_COMMENT = 92, // "comment" + S_SUBNET = 93, // "subnet" + S_INTERFACE = 94, // "interface" + S_INTERFACE_ID = 95, // "interface-id" + S_ID = 96, // "id" + S_RAPID_COMMIT = 97, // "rapid-commit" + S_RESERVATION_MODE = 98, // "reservation-mode" + S_RESERVATIONS_OUT_OF_POOL = 99, // "reservations-out-of-pool" + S_RESERVATIONS_IN_SUBNET = 100, // "reservations-in-subnet" + S_RESERVATIONS_GLOBAL = 101, // "reservations-global" + S_DISABLED = 102, // "disabled" + S_OUT_OF_POOL = 103, // "out-of-pool" + S_GLOBAL = 104, // "global" + S_ALL = 105, // "all" + S_MAC_SOURCES = 106, // "mac-sources" + S_RELAY_SUPPLIED_OPTIONS = 107, // "relay-supplied-options" + S_HOST_RESERVATION_IDENTIFIERS = 108, // "host-reservation-identifiers" + S_SANITY_CHECKS = 109, // "sanity-checks" + S_LEASE_CHECKS = 110, // "lease-checks" + S_CLIENT_CLASSES = 111, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 112, // "require-client-classes" + S_TEST = 113, // "test" + S_ONLY_IF_REQUIRED = 114, // "only-if-required" + S_CLIENT_CLASS = 115, // "client-class" + S_RESERVATIONS = 116, // "reservations" + S_IP_ADDRESSES = 117, // "ip-addresses" + S_PREFIXES = 118, // "prefixes" + S_DUID = 119, // "duid" + S_HW_ADDRESS = 120, // "hw-address" + S_HOSTNAME = 121, // "hostname" + S_FLEX_ID = 122, // "flex-id" + S_RELAY = 123, // "relay" + S_IP_ADDRESS = 124, // "ip-address" + S_HOOKS_LIBRARIES = 125, // "hooks-libraries" + S_LIBRARY = 126, // "library" + S_PARAMETERS = 127, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 128, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 129, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 130, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 131, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 132, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 133, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 134, // "unwarned-reclaim-cycles" + S_SERVER_ID = 135, // "server-id" + S_LLT = 136, // "LLT" + S_EN = 137, // "EN" + S_LL = 138, // "LL" + S_IDENTIFIER = 139, // "identifier" + S_HTYPE = 140, // "htype" + S_TIME = 141, // "time" + S_ENTERPRISE_ID = 142, // "enterprise-id" + S_DHCP4O6_PORT = 143, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 144, // "multi-threading" + S_ENABLE_MULTI_THREADING = 145, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 146, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 147, // "packet-queue-size" + S_CONTROL_SOCKET = 148, // "control-socket" + S_SOCKET_TYPE = 149, // "socket-type" + S_SOCKET_NAME = 150, // "socket-name" + S_DHCP_QUEUE_CONTROL = 151, // "dhcp-queue-control" + S_ENABLE_QUEUE = 152, // "enable-queue" + S_QUEUE_TYPE = 153, // "queue-type" + S_CAPACITY = 154, // "capacity" + S_DHCP_DDNS = 155, // "dhcp-ddns" + S_ENABLE_UPDATES = 156, // "enable-updates" + S_QUALIFYING_SUFFIX = 157, // "qualifying-suffix" + S_SERVER_IP = 158, // "server-ip" + S_SERVER_PORT = 159, // "server-port" + S_SENDER_IP = 160, // "sender-ip" + S_SENDER_PORT = 161, // "sender-port" + S_MAX_QUEUE_SIZE = 162, // "max-queue-size" + S_NCR_PROTOCOL = 163, // "ncr-protocol" + S_NCR_FORMAT = 164, // "ncr-format" + S_OVERRIDE_NO_UPDATE = 165, // "override-no-update" + S_OVERRIDE_CLIENT_UPDATE = 166, // "override-client-update" + S_REPLACE_CLIENT_NAME = 167, // "replace-client-name" + S_GENERATED_PREFIX = 168, // "generated-prefix" + S_UDP = 169, // "UDP" + S_TCP = 170, // "TCP" + S_JSON = 171, // "JSON" + S_WHEN_PRESENT = 172, // "when-present" + S_NEVER = 173, // "never" + S_ALWAYS = 174, // "always" + S_WHEN_NOT_PRESENT = 175, // "when-not-present" + S_HOSTNAME_CHAR_SET = 176, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 177, // "hostname-char-replacement" + S_IP_RESERVATIONS_UNIQUE = 178, // "ip-reservations-unique" + S_LOGGERS = 179, // "loggers" + S_OUTPUT_OPTIONS = 180, // "output_options" + S_OUTPUT = 181, // "output" + S_DEBUGLEVEL = 182, // "debuglevel" + S_SEVERITY = 183, // "severity" + S_FLUSH = 184, // "flush" + S_MAXSIZE = 185, // "maxsize" + S_MAXVER = 186, // "maxver" + S_PATTERN = 187, // "pattern" + S_TOPLEVEL_JSON = 188, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP6 = 189, // TOPLEVEL_DHCP6 + S_SUB_DHCP6 = 190, // SUB_DHCP6 + S_SUB_INTERFACES6 = 191, // SUB_INTERFACES6 + S_SUB_SUBNET6 = 192, // SUB_SUBNET6 + S_SUB_POOL6 = 193, // SUB_POOL6 + S_SUB_PD_POOL = 194, // SUB_PD_POOL + S_SUB_RESERVATION = 195, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 196, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 197, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 198, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 199, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 200, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 201, // SUB_CONFIG_CONTROL + S_STRING = 202, // "constant string" + S_INTEGER = 203, // "integer" + S_FLOAT = 204, // "floating point" + S_BOOLEAN = 205, // "boolean" + S_YYACCEPT = 206, // $accept + S_start = 207, // start + S_208_1 = 208, // $@1 + S_209_2 = 209, // $@2 + S_210_3 = 210, // $@3 + S_211_4 = 211, // $@4 + S_212_5 = 212, // $@5 + S_213_6 = 213, // $@6 + S_214_7 = 214, // $@7 + S_215_8 = 215, // $@8 + S_216_9 = 216, // $@9 + S_217_10 = 217, // $@10 + S_218_11 = 218, // $@11 + S_219_12 = 219, // $@12 + S_220_13 = 220, // $@13 + S_221_14 = 221, // $@14 + S_value = 222, // value + S_sub_json = 223, // sub_json + S_map2 = 224, // map2 + S_225_15 = 225, // $@15 + S_map_value = 226, // map_value + S_map_content = 227, // map_content + S_not_empty_map = 228, // not_empty_map + S_list_generic = 229, // list_generic + S_230_16 = 230, // $@16 + S_list_content = 231, // list_content + S_not_empty_list = 232, // not_empty_list + S_list_strings = 233, // list_strings + S_234_17 = 234, // $@17 + S_list_strings_content = 235, // list_strings_content + S_not_empty_list_strings = 236, // not_empty_list_strings + S_unknown_map_entry = 237, // unknown_map_entry + S_syntax_map = 238, // syntax_map + S_239_18 = 239, // $@18 + S_global_object = 240, // global_object + S_241_19 = 241, // $@19 + S_sub_dhcp6 = 242, // sub_dhcp6 + S_243_20 = 243, // $@20 + S_global_params = 244, // global_params + S_global_param = 245, // global_param + S_data_directory = 246, // data_directory + S_247_21 = 247, // $@21 + S_preferred_lifetime = 248, // preferred_lifetime + S_min_preferred_lifetime = 249, // min_preferred_lifetime + S_max_preferred_lifetime = 250, // max_preferred_lifetime + S_valid_lifetime = 251, // valid_lifetime + S_min_valid_lifetime = 252, // min_valid_lifetime + S_max_valid_lifetime = 253, // max_valid_lifetime + S_renew_timer = 254, // renew_timer + S_rebind_timer = 255, // rebind_timer + S_calculate_tee_times = 256, // calculate_tee_times + S_t1_percent = 257, // t1_percent + S_t2_percent = 258, // t2_percent + S_cache_threshold = 259, // cache_threshold + S_cache_max_age = 260, // cache_max_age + S_decline_probation_period = 261, // decline_probation_period + S_ddns_send_updates = 262, // ddns_send_updates + S_ddns_override_no_update = 263, // ddns_override_no_update + S_ddns_override_client_update = 264, // ddns_override_client_update + S_ddns_replace_client_name = 265, // ddns_replace_client_name + S_266_22 = 266, // $@22 + S_ddns_replace_client_name_value = 267, // ddns_replace_client_name_value + S_ddns_generated_prefix = 268, // ddns_generated_prefix + S_269_23 = 269, // $@23 + S_ddns_qualifying_suffix = 270, // ddns_qualifying_suffix + S_271_24 = 271, // $@24 + S_ddns_update_on_renew = 272, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 273, // ddns_use_conflict_resolution + S_hostname_char_set = 274, // hostname_char_set + S_275_25 = 275, // $@25 + S_hostname_char_replacement = 276, // hostname_char_replacement + S_277_26 = 277, // $@26 + S_store_extended_info = 278, // store_extended_info + S_statistic_default_sample_count = 279, // statistic_default_sample_count + S_statistic_default_sample_age = 280, // statistic_default_sample_age + S_server_tag = 281, // server_tag + S_282_27 = 282, // $@27 + S_ip_reservations_unique = 283, // ip_reservations_unique + S_interfaces_config = 284, // interfaces_config + S_285_28 = 285, // $@28 + S_sub_interfaces6 = 286, // sub_interfaces6 + S_287_29 = 287, // $@29 + S_interfaces_config_params = 288, // interfaces_config_params + S_interfaces_config_param = 289, // interfaces_config_param + S_interfaces_list = 290, // interfaces_list + S_291_30 = 291, // $@30 + S_re_detect = 292, // re_detect + S_lease_database = 293, // lease_database + S_294_31 = 294, // $@31 + S_hosts_database = 295, // hosts_database + S_296_32 = 296, // $@32 + S_hosts_databases = 297, // hosts_databases + S_298_33 = 298, // $@33 + S_database_list = 299, // database_list + S_not_empty_database_list = 300, // not_empty_database_list + S_database = 301, // database + S_302_34 = 302, // $@34 + S_database_map_params = 303, // database_map_params + S_database_map_param = 304, // database_map_param + S_database_type = 305, // database_type + S_306_35 = 306, // $@35 + S_db_type = 307, // db_type + S_user = 308, // user + S_309_36 = 309, // $@36 + S_password = 310, // password + S_311_37 = 311, // $@37 + S_host = 312, // host + S_313_38 = 313, // $@38 + S_port = 314, // port + S_name = 315, // name + S_316_39 = 316, // $@39 + S_persist = 317, // persist + S_lfc_interval = 318, // lfc_interval + S_readonly = 319, // readonly + S_connect_timeout = 320, // connect_timeout + S_reconnect_wait_time = 321, // reconnect_wait_time + S_max_row_errors = 322, // max_row_errors + S_request_timeout = 323, // request_timeout + S_tcp_keepalive = 324, // tcp_keepalive + S_tcp_nodelay = 325, // tcp_nodelay + S_contact_points = 326, // contact_points + S_327_40 = 327, // $@40 + S_max_reconnect_tries = 328, // max_reconnect_tries + S_keyspace = 329, // keyspace + S_330_41 = 330, // $@41 + S_consistency = 331, // consistency + S_332_42 = 332, // $@42 + S_serial_consistency = 333, // serial_consistency + S_334_43 = 334, // $@43 + S_sanity_checks = 335, // sanity_checks + S_336_44 = 336, // $@44 + S_sanity_checks_params = 337, // sanity_checks_params + S_sanity_checks_param = 338, // sanity_checks_param + S_lease_checks = 339, // lease_checks + S_340_45 = 340, // $@45 + S_mac_sources = 341, // mac_sources + S_342_46 = 342, // $@46 + S_mac_sources_list = 343, // mac_sources_list + S_mac_sources_value = 344, // mac_sources_value + S_duid_id = 345, // duid_id + S_string_id = 346, // string_id + S_host_reservation_identifiers = 347, // host_reservation_identifiers + S_348_47 = 348, // $@47 + S_host_reservation_identifiers_list = 349, // host_reservation_identifiers_list + S_host_reservation_identifier = 350, // host_reservation_identifier + S_hw_address_id = 351, // hw_address_id + S_flex_id = 352, // flex_id + S_relay_supplied_options = 353, // relay_supplied_options + S_354_48 = 354, // $@48 + S_dhcp_multi_threading = 355, // dhcp_multi_threading + S_356_49 = 356, // $@49 + S_multi_threading_params = 357, // multi_threading_params + S_multi_threading_param = 358, // multi_threading_param + S_enable_multi_threading = 359, // enable_multi_threading + S_thread_pool_size = 360, // thread_pool_size + S_packet_queue_size = 361, // packet_queue_size + S_hooks_libraries = 362, // hooks_libraries + S_363_50 = 363, // $@50 + S_hooks_libraries_list = 364, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 365, // not_empty_hooks_libraries_list + S_hooks_library = 366, // hooks_library + S_367_51 = 367, // $@51 + S_sub_hooks_library = 368, // sub_hooks_library + S_369_52 = 369, // $@52 + S_hooks_params = 370, // hooks_params + S_hooks_param = 371, // hooks_param + S_library = 372, // library + S_373_53 = 373, // $@53 + S_parameters = 374, // parameters + S_375_54 = 375, // $@54 + S_expired_leases_processing = 376, // expired_leases_processing + S_377_55 = 377, // $@55 + S_expired_leases_params = 378, // expired_leases_params + S_expired_leases_param = 379, // expired_leases_param + S_reclaim_timer_wait_time = 380, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 381, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 382, // hold_reclaimed_time + S_max_reclaim_leases = 383, // max_reclaim_leases + S_max_reclaim_time = 384, // max_reclaim_time + S_unwarned_reclaim_cycles = 385, // unwarned_reclaim_cycles + S_subnet6_list = 386, // subnet6_list + S_387_56 = 387, // $@56 + S_subnet6_list_content = 388, // subnet6_list_content + S_not_empty_subnet6_list = 389, // not_empty_subnet6_list + S_subnet6 = 390, // subnet6 + S_391_57 = 391, // $@57 + S_sub_subnet6 = 392, // sub_subnet6 + S_393_58 = 393, // $@58 + S_subnet6_params = 394, // subnet6_params + S_subnet6_param = 395, // subnet6_param + S_subnet = 396, // subnet + S_397_59 = 397, // $@59 + S_interface = 398, // interface + S_399_60 = 399, // $@60 + S_interface_id = 400, // interface_id + S_401_61 = 401, // $@61 + S_client_class = 402, // client_class + S_403_62 = 403, // $@62 + S_require_client_classes = 404, // require_client_classes + S_405_63 = 405, // $@63 + S_reservations_out_of_pool = 406, // reservations_out_of_pool + S_reservations_in_subnet = 407, // reservations_in_subnet + S_reservations_global = 408, // reservations_global + S_reservation_mode = 409, // reservation_mode + S_410_64 = 410, // $@64 + S_hr_mode = 411, // hr_mode + S_id = 412, // id + S_rapid_commit = 413, // rapid_commit + S_shared_networks = 414, // shared_networks + S_415_65 = 415, // $@65 + S_shared_networks_content = 416, // shared_networks_content + S_shared_networks_list = 417, // shared_networks_list + S_shared_network = 418, // shared_network + S_419_66 = 419, // $@66 + S_shared_network_params = 420, // shared_network_params + S_shared_network_param = 421, // shared_network_param + S_option_def_list = 422, // option_def_list + S_423_67 = 423, // $@67 + S_sub_option_def_list = 424, // sub_option_def_list + S_425_68 = 425, // $@68 + S_option_def_list_content = 426, // option_def_list_content + S_not_empty_option_def_list = 427, // not_empty_option_def_list + S_option_def_entry = 428, // option_def_entry + S_429_69 = 429, // $@69 + S_sub_option_def = 430, // sub_option_def + S_431_70 = 431, // $@70 + S_option_def_params = 432, // option_def_params + S_not_empty_option_def_params = 433, // not_empty_option_def_params + S_option_def_param = 434, // option_def_param + S_option_def_name = 435, // option_def_name + S_code = 436, // code + S_option_def_code = 437, // option_def_code + S_option_def_type = 438, // option_def_type + S_439_71 = 439, // $@71 + S_option_def_record_types = 440, // option_def_record_types + S_441_72 = 441, // $@72 + S_space = 442, // space + S_443_73 = 443, // $@73 + S_option_def_space = 444, // option_def_space + S_option_def_encapsulate = 445, // option_def_encapsulate + S_446_74 = 446, // $@74 + S_option_def_array = 447, // option_def_array + S_option_data_list = 448, // option_data_list + S_449_75 = 449, // $@75 + S_option_data_list_content = 450, // option_data_list_content + S_not_empty_option_data_list = 451, // not_empty_option_data_list + S_option_data_entry = 452, // option_data_entry + S_453_76 = 453, // $@76 + S_sub_option_data = 454, // sub_option_data + S_455_77 = 455, // $@77 + S_option_data_params = 456, // option_data_params + S_not_empty_option_data_params = 457, // not_empty_option_data_params + S_option_data_param = 458, // option_data_param + S_option_data_name = 459, // option_data_name + S_option_data_data = 460, // option_data_data + S_461_78 = 461, // $@78 + S_option_data_code = 462, // option_data_code + S_option_data_space = 463, // option_data_space + S_option_data_csv_format = 464, // option_data_csv_format + S_option_data_always_send = 465, // option_data_always_send + S_pools_list = 466, // pools_list + S_467_79 = 467, // $@79 + S_pools_list_content = 468, // pools_list_content + S_not_empty_pools_list = 469, // not_empty_pools_list + S_pool_list_entry = 470, // pool_list_entry + S_471_80 = 471, // $@80 + S_sub_pool6 = 472, // sub_pool6 + S_473_81 = 473, // $@81 + S_pool_params = 474, // pool_params + S_pool_param = 475, // pool_param + S_pool_entry = 476, // pool_entry + S_477_82 = 477, // $@82 + S_user_context = 478, // user_context + S_479_83 = 479, // $@83 + S_comment = 480, // comment + S_481_84 = 481, // $@84 + S_pd_pools_list = 482, // pd_pools_list + S_483_85 = 483, // $@85 + S_pd_pools_list_content = 484, // pd_pools_list_content + S_not_empty_pd_pools_list = 485, // not_empty_pd_pools_list + S_pd_pool_entry = 486, // pd_pool_entry + S_487_86 = 487, // $@86 + S_sub_pd_pool = 488, // sub_pd_pool + S_489_87 = 489, // $@87 + S_pd_pool_params = 490, // pd_pool_params + S_pd_pool_param = 491, // pd_pool_param + S_pd_prefix = 492, // pd_prefix + S_493_88 = 493, // $@88 + S_pd_prefix_len = 494, // pd_prefix_len + S_excluded_prefix = 495, // excluded_prefix + S_496_89 = 496, // $@89 + S_excluded_prefix_len = 497, // excluded_prefix_len + S_pd_delegated_len = 498, // pd_delegated_len + S_reservations = 499, // reservations + S_500_90 = 500, // $@90 + S_reservations_list = 501, // reservations_list + S_not_empty_reservations_list = 502, // not_empty_reservations_list + S_reservation = 503, // reservation + S_504_91 = 504, // $@91 + S_sub_reservation = 505, // sub_reservation + S_506_92 = 506, // $@92 + S_reservation_params = 507, // reservation_params + S_not_empty_reservation_params = 508, // not_empty_reservation_params + S_reservation_param = 509, // reservation_param + S_ip_addresses = 510, // ip_addresses + S_511_93 = 511, // $@93 + S_prefixes = 512, // prefixes + S_513_94 = 513, // $@94 + S_duid = 514, // duid + S_515_95 = 515, // $@95 + S_hw_address = 516, // hw_address + S_517_96 = 517, // $@96 + S_hostname = 518, // hostname + S_519_97 = 519, // $@97 + S_flex_id_value = 520, // flex_id_value + S_521_98 = 521, // $@98 + S_reservation_client_classes = 522, // reservation_client_classes + S_523_99 = 523, // $@99 + S_relay = 524, // relay + S_525_100 = 525, // $@100 + S_relay_map = 526, // relay_map + S_ip_address = 527, // ip_address + S_528_101 = 528, // $@101 + S_client_classes = 529, // client_classes + S_530_102 = 530, // $@102 + S_client_classes_list = 531, // client_classes_list + S_client_class_entry = 532, // client_class_entry + S_533_103 = 533, // $@103 + S_client_class_params = 534, // client_class_params + S_not_empty_client_class_params = 535, // not_empty_client_class_params + S_client_class_param = 536, // client_class_param + S_client_class_name = 537, // client_class_name + S_client_class_test = 538, // client_class_test + S_539_104 = 539, // $@104 + S_only_if_required = 540, // only_if_required + S_server_id = 541, // server_id + S_542_105 = 542, // $@105 + S_server_id_params = 543, // server_id_params + S_server_id_param = 544, // server_id_param + S_server_id_type = 545, // server_id_type + S_546_106 = 546, // $@106 + S_duid_type = 547, // duid_type + S_htype = 548, // htype + S_identifier = 549, // identifier + S_550_107 = 550, // $@107 + S_time = 551, // time + S_enterprise_id = 552, // enterprise_id + S_dhcp4o6_port = 553, // dhcp4o6_port + S_control_socket = 554, // control_socket + S_555_108 = 555, // $@108 + S_control_socket_params = 556, // control_socket_params + S_control_socket_param = 557, // control_socket_param + S_socket_type = 558, // socket_type + S_559_109 = 559, // $@109 + S_socket_name = 560, // socket_name + S_561_110 = 561, // $@110 + S_dhcp_queue_control = 562, // dhcp_queue_control + S_563_111 = 563, // $@111 + S_queue_control_params = 564, // queue_control_params + S_queue_control_param = 565, // queue_control_param + S_enable_queue = 566, // enable_queue + S_queue_type = 567, // queue_type + S_568_112 = 568, // $@112 + S_capacity = 569, // capacity + S_arbitrary_map_entry = 570, // arbitrary_map_entry + S_571_113 = 571, // $@113 + S_dhcp_ddns = 572, // dhcp_ddns + S_573_114 = 573, // $@114 + S_sub_dhcp_ddns = 574, // sub_dhcp_ddns + S_575_115 = 575, // $@115 + S_dhcp_ddns_params = 576, // dhcp_ddns_params + S_dhcp_ddns_param = 577, // dhcp_ddns_param + S_enable_updates = 578, // enable_updates + S_dep_qualifying_suffix = 579, // dep_qualifying_suffix + S_580_116 = 580, // $@116 + S_server_ip = 581, // server_ip + S_582_117 = 582, // $@117 + S_server_port = 583, // server_port + S_sender_ip = 584, // sender_ip + S_585_118 = 585, // $@118 + S_sender_port = 586, // sender_port + S_max_queue_size = 587, // max_queue_size + S_ncr_protocol = 588, // ncr_protocol + S_589_119 = 589, // $@119 + S_ncr_protocol_value = 590, // ncr_protocol_value + S_ncr_format = 591, // ncr_format + S_592_120 = 592, // $@120 + S_dep_override_no_update = 593, // dep_override_no_update + S_dep_override_client_update = 594, // dep_override_client_update + S_dep_replace_client_name = 595, // dep_replace_client_name + S_596_121 = 596, // $@121 + S_dep_generated_prefix = 597, // dep_generated_prefix + S_598_122 = 598, // $@122 + S_dep_hostname_char_set = 599, // dep_hostname_char_set + S_600_123 = 600, // $@123 + S_dep_hostname_char_replacement = 601, // dep_hostname_char_replacement + S_602_124 = 602, // $@124 + S_config_control = 603, // config_control + S_604_125 = 604, // $@125 + S_sub_config_control = 605, // sub_config_control + S_606_126 = 606, // $@126 + S_config_control_params = 607, // config_control_params + S_config_control_param = 608, // config_control_param + S_config_databases = 609, // config_databases + S_610_127 = 610, // $@127 + S_config_fetch_wait_time = 611, // config_fetch_wait_time + S_loggers = 612, // loggers + S_613_128 = 613, // $@128 + S_loggers_entries = 614, // loggers_entries + S_logger_entry = 615, // logger_entry + S_616_129 = 616, // $@129 + S_logger_params = 617, // logger_params + S_logger_param = 618, // logger_param + S_debuglevel = 619, // debuglevel + S_severity = 620, // severity + S_621_130 = 621, // $@130 + S_output_options_list = 622, // output_options_list + S_623_131 = 623, // $@131 + S_output_options_list_content = 624, // output_options_list_content + S_output_entry = 625, // output_entry + S_626_132 = 626, // $@132 + S_output_params_list = 627, // output_params_list + S_output_params = 628, // output_params + S_output = 629, // output + S_630_133 = 630, // $@133 + S_flush = 631, // flush + S_maxsize = 632, // maxsize + S_maxver = 633, // maxver + S_pattern = 634, // pattern + S_635_134 = 635 // $@134 }; }; @@ -1627,13 +1630,13 @@ switch (yykind) symbol_type (int tok, location_type l) : super_type(token_type (tok), std::move (l)) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #else symbol_type (int tok, const location_type& l) : super_type(token_type (tok), l) { - YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); + YY_ASSERT (tok == token::TOKEN_END || tok == token::TOKEN_PARSER6_error || tok == token::TOKEN_PARSER6_UNDEF || tok == token::TOKEN_COMMA || tok == token::TOKEN_COLON || tok == token::TOKEN_LSQUARE_BRACKET || tok == token::TOKEN_RSQUARE_BRACKET || tok == token::TOKEN_LCURLY_BRACKET || tok == token::TOKEN_RCURLY_BRACKET || tok == token::TOKEN_NULL_TYPE || tok == token::TOKEN_DHCP6 || tok == token::TOKEN_DATA_DIRECTORY || tok == token::TOKEN_CONFIG_CONTROL || tok == token::TOKEN_CONFIG_DATABASES || tok == token::TOKEN_CONFIG_FETCH_WAIT_TIME || tok == token::TOKEN_INTERFACES_CONFIG || tok == token::TOKEN_INTERFACES || tok == token::TOKEN_RE_DETECT || tok == token::TOKEN_LEASE_DATABASE || tok == token::TOKEN_HOSTS_DATABASE || tok == token::TOKEN_HOSTS_DATABASES || tok == token::TOKEN_TYPE || tok == token::TOKEN_MEMFILE || tok == token::TOKEN_MYSQL || tok == token::TOKEN_POSTGRESQL || tok == token::TOKEN_CQL || tok == token::TOKEN_USER || tok == token::TOKEN_PASSWORD || tok == token::TOKEN_HOST || tok == token::TOKEN_PORT || tok == token::TOKEN_PERSIST || tok == token::TOKEN_LFC_INTERVAL || tok == token::TOKEN_READONLY || tok == token::TOKEN_CONNECT_TIMEOUT || tok == token::TOKEN_CONTACT_POINTS || tok == token::TOKEN_MAX_RECONNECT_TRIES || tok == token::TOKEN_RECONNECT_WAIT_TIME || tok == token::TOKEN_KEYSPACE || tok == token::TOKEN_CONSISTENCY || tok == token::TOKEN_SERIAL_CONSISTENCY || tok == token::TOKEN_REQUEST_TIMEOUT || tok == token::TOKEN_TCP_KEEPALIVE || tok == token::TOKEN_TCP_NODELAY || tok == token::TOKEN_MAX_ROW_ERRORS || tok == token::TOKEN_PREFERRED_LIFETIME || tok == token::TOKEN_MIN_PREFERRED_LIFETIME || tok == token::TOKEN_MAX_PREFERRED_LIFETIME || tok == token::TOKEN_VALID_LIFETIME || tok == token::TOKEN_MIN_VALID_LIFETIME || tok == token::TOKEN_MAX_VALID_LIFETIME || tok == token::TOKEN_RENEW_TIMER || tok == token::TOKEN_REBIND_TIMER || tok == token::TOKEN_CALCULATE_TEE_TIMES || tok == token::TOKEN_T1_PERCENT || tok == token::TOKEN_T2_PERCENT || tok == token::TOKEN_CACHE_THRESHOLD || tok == token::TOKEN_CACHE_MAX_AGE || tok == token::TOKEN_DECLINE_PROBATION_PERIOD || tok == token::TOKEN_SERVER_TAG || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT || tok == token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE || tok == token::TOKEN_DDNS_SEND_UPDATES || tok == token::TOKEN_DDNS_OVERRIDE_NO_UPDATE || tok == token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_DDNS_REPLACE_CLIENT_NAME || tok == token::TOKEN_DDNS_GENERATED_PREFIX || tok == token::TOKEN_DDNS_QUALIFYING_SUFFIX || tok == token::TOKEN_DDNS_UPDATE_ON_RENEW || tok == token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION || tok == token::TOKEN_STORE_EXTENDED_INFO || tok == token::TOKEN_SUBNET6 || tok == token::TOKEN_OPTION_DEF || tok == token::TOKEN_OPTION_DATA || tok == token::TOKEN_NAME || tok == token::TOKEN_DATA || tok == token::TOKEN_CODE || tok == token::TOKEN_SPACE || tok == token::TOKEN_CSV_FORMAT || tok == token::TOKEN_ALWAYS_SEND || tok == token::TOKEN_RECORD_TYPES || tok == token::TOKEN_ENCAPSULATE || tok == token::TOKEN_ARRAY || tok == token::TOKEN_SHARED_NETWORKS || tok == token::TOKEN_POOLS || tok == token::TOKEN_POOL || tok == token::TOKEN_PD_POOLS || tok == token::TOKEN_PREFIX || tok == token::TOKEN_PREFIX_LEN || tok == token::TOKEN_EXCLUDED_PREFIX || tok == token::TOKEN_EXCLUDED_PREFIX_LEN || tok == token::TOKEN_DELEGATED_LEN || tok == token::TOKEN_USER_CONTEXT || tok == token::TOKEN_COMMENT || tok == token::TOKEN_SUBNET || tok == token::TOKEN_INTERFACE || tok == token::TOKEN_INTERFACE_ID || tok == token::TOKEN_ID || tok == token::TOKEN_RAPID_COMMIT || tok == token::TOKEN_RESERVATION_MODE || tok == token::TOKEN_RESERVATIONS_OUT_OF_POOL || tok == token::TOKEN_RESERVATIONS_IN_SUBNET || tok == token::TOKEN_RESERVATIONS_GLOBAL || tok == token::TOKEN_DISABLED || tok == token::TOKEN_OUT_OF_POOL || tok == token::TOKEN_GLOBAL || tok == token::TOKEN_ALL || tok == token::TOKEN_MAC_SOURCES || tok == token::TOKEN_RELAY_SUPPLIED_OPTIONS || tok == token::TOKEN_HOST_RESERVATION_IDENTIFIERS || tok == token::TOKEN_SANITY_CHECKS || tok == token::TOKEN_LEASE_CHECKS || tok == token::TOKEN_CLIENT_CLASSES || tok == token::TOKEN_REQUIRE_CLIENT_CLASSES || tok == token::TOKEN_TEST || tok == token::TOKEN_ONLY_IF_REQUIRED || tok == token::TOKEN_CLIENT_CLASS || tok == token::TOKEN_RESERVATIONS || tok == token::TOKEN_IP_ADDRESSES || tok == token::TOKEN_PREFIXES || tok == token::TOKEN_DUID || tok == token::TOKEN_HW_ADDRESS || tok == token::TOKEN_HOSTNAME || tok == token::TOKEN_FLEX_ID || tok == token::TOKEN_RELAY || tok == token::TOKEN_IP_ADDRESS || tok == token::TOKEN_HOOKS_LIBRARIES || tok == token::TOKEN_LIBRARY || tok == token::TOKEN_PARAMETERS || tok == token::TOKEN_EXPIRED_LEASES_PROCESSING || tok == token::TOKEN_RECLAIM_TIMER_WAIT_TIME || tok == token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME || tok == token::TOKEN_HOLD_RECLAIMED_TIME || tok == token::TOKEN_MAX_RECLAIM_LEASES || tok == token::TOKEN_MAX_RECLAIM_TIME || tok == token::TOKEN_UNWARNED_RECLAIM_CYCLES || tok == token::TOKEN_SERVER_ID || tok == token::TOKEN_LLT || tok == token::TOKEN_EN || tok == token::TOKEN_LL || tok == token::TOKEN_IDENTIFIER || tok == token::TOKEN_HTYPE || tok == token::TOKEN_TIME || tok == token::TOKEN_ENTERPRISE_ID || tok == token::TOKEN_DHCP4O6_PORT || tok == token::TOKEN_DHCP_MULTI_THREADING || tok == token::TOKEN_ENABLE_MULTI_THREADING || tok == token::TOKEN_THREAD_POOL_SIZE || tok == token::TOKEN_PACKET_QUEUE_SIZE || tok == token::TOKEN_CONTROL_SOCKET || tok == token::TOKEN_SOCKET_TYPE || tok == token::TOKEN_SOCKET_NAME || tok == token::TOKEN_DHCP_QUEUE_CONTROL || tok == token::TOKEN_ENABLE_QUEUE || tok == token::TOKEN_QUEUE_TYPE || tok == token::TOKEN_CAPACITY || tok == token::TOKEN_DHCP_DDNS || tok == token::TOKEN_ENABLE_UPDATES || tok == token::TOKEN_QUALIFYING_SUFFIX || tok == token::TOKEN_SERVER_IP || tok == token::TOKEN_SERVER_PORT || tok == token::TOKEN_SENDER_IP || tok == token::TOKEN_SENDER_PORT || tok == token::TOKEN_MAX_QUEUE_SIZE || tok == token::TOKEN_NCR_PROTOCOL || tok == token::TOKEN_NCR_FORMAT || tok == token::TOKEN_OVERRIDE_NO_UPDATE || tok == token::TOKEN_OVERRIDE_CLIENT_UPDATE || tok == token::TOKEN_REPLACE_CLIENT_NAME || tok == token::TOKEN_GENERATED_PREFIX || tok == token::TOKEN_UDP || tok == token::TOKEN_TCP || tok == token::TOKEN_JSON || tok == token::TOKEN_WHEN_PRESENT || tok == token::TOKEN_NEVER || tok == token::TOKEN_ALWAYS || tok == token::TOKEN_WHEN_NOT_PRESENT || tok == token::TOKEN_HOSTNAME_CHAR_SET || tok == token::TOKEN_HOSTNAME_CHAR_REPLACEMENT || tok == token::TOKEN_IP_RESERVATIONS_UNIQUE || tok == token::TOKEN_LOGGERS || tok == token::TOKEN_OUTPUT_OPTIONS || tok == token::TOKEN_OUTPUT || tok == token::TOKEN_DEBUGLEVEL || tok == token::TOKEN_SEVERITY || tok == token::TOKEN_FLUSH || tok == token::TOKEN_MAXSIZE || tok == token::TOKEN_MAXVER || tok == token::TOKEN_PATTERN || tok == token::TOKEN_TOPLEVEL_JSON || tok == token::TOKEN_TOPLEVEL_DHCP6 || tok == token::TOKEN_SUB_DHCP6 || tok == token::TOKEN_SUB_INTERFACES6 || tok == token::TOKEN_SUB_SUBNET6 || tok == token::TOKEN_SUB_POOL6 || tok == token::TOKEN_SUB_PD_POOL || tok == token::TOKEN_SUB_RESERVATION || tok == token::TOKEN_SUB_OPTION_DEFS || tok == token::TOKEN_SUB_OPTION_DEF || tok == token::TOKEN_SUB_OPTION_DATA || tok == token::TOKEN_SUB_HOOKS_LIBRARY || tok == token::TOKEN_SUB_DHCP_DDNS || tok == token::TOKEN_SUB_CONFIG_CONTROL); } #endif #if 201103L <= YY_CPLUSPLUS @@ -2756,6 +2759,21 @@ switch (yykind) return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l); } #endif +#if 201103L <= YY_CPLUSPLUS + static + symbol_type + make_DDNS_USE_CONFLICT_RESOLUTION (location_type l) + { + return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l)); + } +#else + static + symbol_type + make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l) + { + return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l); + } +#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5141,8 +5159,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1255, ///< Last index in yytable_. - yynnts_ = 429, ///< Number of nonterminal symbols. + yylast_ = 1265, ///< Last index in yytable_. + yynnts_ = 430, ///< Number of nonterminal symbols. yyfinal_ = 30 ///< Termination state number. }; @@ -5207,10 +5225,11 @@ switch (yykind) 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204 + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205 }; // Last valid token kind. - const int code_max = 459; + const int code_max = 460; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5373,7 +5392,7 @@ switch (yykind) #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5377 "dhcp6_parser.h" +#line 5396 "dhcp6_parser.h" diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index a0668e03e1..1c1f0344ce 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,5 +1,4 @@ -// Generated 202010151708 -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp6/position.hh b/src/bin/dhcp6/position.hh index 5a22e1b354..3494f25595 100644 --- a/src/bin/dhcp6/position.hh +++ b/src/bin/dhcp6/position.hh @@ -1,5 +1,4 @@ -// Generated 202010151708 -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined in "location.hh". diff --git a/src/bin/dhcp6/stack.hh b/src/bin/dhcp6/stack.hh index 7b495979e3..36dff2d821 100644 --- a/src/bin/dhcp6/stack.hh +++ b/src/bin/dhcp6/stack.hh @@ -1,5 +1,4 @@ -// Generated 202010151708 -// A Bison parser, made by GNU Bison 3.7.2. +// A Bison parser, made by GNU Bison 3.7.3. // Starting with Bison 3.2, this file is useless: the structure it // used to define is now defined with the parser itself. -- cgit v1.2.3